Postupy: Práce s nastavením šifrování

Důležité

Verze sady MICROSOFT Rights Management Service SDK vydané před březnem 2020 jsou zastaralé; aplikace používající starší verze musí být aktualizovány tak, aby používaly verzi z března 2020. Úplné podrobnosti najdete v oznámení o vyřazení.

Pro sadu MICROSOFT Rights Management Service SDK se neplánují žádná další vylepšení. Důrazně doporučujeme přijmout sadu Microsoft Information Protection SDK pro klasifikaci, označování a služby ochrany.

Toto téma vás seznámí s našimi balíčky pro šifrování a poskytne několik výstřižků kódu k jejich použití.

Podpora pro AES 256, nový výchozí

Žádný další kód není nutný pro použití šifrování na základě AES 256, protože se jedná o nový výchozí program. Předpokladem je použití aktualizace RMS SDK 2.1. z března 2015, nebo aktualizace novější. Doporučujeme vám, abyste zvážili aktualizaci svých aplikací v tomto vydání, s cílem získat další bezpečnostní výhody AES 256.

Důležité

Podpora pro užívání chráněných souborů AES 256 existuje již od vydání z října 2014. Pokud používáte aplikace sestavené s verzí sady SDK před říjnem 2014, vaše aplikace bude touto aktualizací přerušena. Ujistěte se prosím o tom, že zákazníci aplikací, které vytváříte, buď používají aktualizované SDK, nebo že jsou ochotni okamžitě aktualizovat nejnovější verzi aplikace.

 

Podpora rozhraní API šifrování

Počínaje aktualizovanou verzí z března 2015 přidáváme tři následující příznaky do našich API rozhraní a do jejich přidružených šifrovacích balíčků:

  • IPC_ENCRYPTION_PACKAGE_AES256_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_ECB (označované také jako zastaralé algoritmy)

Příznaky šifrovacího balíčku, viz upřednostňované šifrování, lze použít ve spojení s příznakem licenční vlastnosti – IPC_LI_PREFERRED_ENCRYPTION_PACKAGE.

Nyní nabízíme některé fragmenty jednoduchých kódů, které ukazují způsoby použití vlastností nové licence.

Nepoužívané algoritmy

V našem rozhraní API už nezobrazujeme příznak IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS . To znamená, že budoucí aplikace nebudou nadále kompilovány, pokud budou obsahovat tento příznak. Avšak takové aplikace, jež jsou již sestaveny s tímto příznakem, budou fungovat, protože tento příznak bude dál dostupný ve skrytém kódu rozhraní API.

Pokud chcete dál používat staré šifrovací algoritmy, budete muset jeden příznak změnit. Jako příklad uvádíme následující fragmenty kódu.

Ochrana souborů s AES 256 CBC4K

Není potřebná žádná změna kódu, AES 256 CBC4K je výchozím prostředím.

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

Ochrana souborů s AES-128 CBC4K

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

DWORD dwEncryptionMode = IPC_ENCRYPTION_PACKAGE_AES128_CBC4K;

hr = IpcSetLicenseProperty(pLicenseHandle,
                        false,
                        IPC_LI_PREFERRED_ENCRYPTION_PACKAGE,
                        &dwEncryptionMode);

Ochrana souborů s AES-128 ECB (nepoužívané algoritmy)

Tento příklad také ukazuje nový způsob podpory nepoužívaných algoritmů.

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

DWORD dwEncryptionMode = IPC_ENCRYPTION_PACKAGE_AES128_ECB;

hr = IpcSetLicenseProperty(pLicenseHandle,
                        false,
                        IPC_LI_PREFERRED_ENCRYPTION_PACKAGE,
                        &dwEncryptionMode);