CNG DPAPI
Microsoft は、Windows でデータ保護アプリケーション プログラミング インターフェイス (DPAPI) を導入しました。 この API は、CryptProtectDataと CryptUnprotectDataの 2 つの関数で構成されます。 DPAPI は CryptoAPI の一部であり、暗号化の使用についてほとんど知らなかった開発者を対象としていました。 2 つの関数を使用して、1 台のコンピューター上の静的データを暗号化および復号化できます。
ただし、クラウド コンピューティングでは、多くの場合、あるコンピューターで暗号化されたコンテンツを別のコンピューターで暗号化解除する必要があります。 そのため、Windows 8 以降、Microsoft は比較的単純な API を使用してクラウド シナリオを網羅するという考えを拡張しました。 DPAPI-NG と呼ばれるこの新しい API を使用すると、シークレット (キー、パスワード、キーマテリアル) とメッセージを、適切な認証と承認後に別のコンピューターで保護を解除するために使用できる一連のプリンシパルに保護することで、安全に共有できます。 現在、次のプリンシパルがサポートされています。
- Active Directory フォレスト内のグループ。
- Web 資格情報。
詳細については、次のトピックを参照してください。
DPAPI-NG は、Cryptography Next Generation (CNG) の上に構築され、次の機能が含まれています。
- NCryptCreateProtectionDescriptor
- NCryptCloseProtectionDescriptor
- NCryptProtectSecretをする
- NCryptQueryProtectionDescriptorName
- NCryptRegisterProtectionDescriptorName
- NCryptStreamClose
- NCryptStreamOpenToProtect
- NCryptStreamOpenToUnprotect
- NCryptStreamUpdateをする
- NCryptUnprotectSecretをする