暗号化と証明書の管理

Cryptography

暗号化では、コードを使用してデータを変換し、特定の受信者のみがキーを使用して読み取ることができるようにします。 暗号化では、目的の受信者を除くすべてのユーザーがデータを読み取らないようにするためのプライバシー、データが改ざんされないようにするための整合性、および通信がセキュリティで保護されていることを確認する ID を検証する認証が適用されます。 Windows の暗号化スタックは、チップからクラウドまで拡張され、Windows、アプリケーション、およびサービスによってシステムシークレットとユーザー シークレットが保護されます。

Windows の暗号化は、連邦情報処理標準 (FIPS) 140 認定です。 FIPS 140 認定では、米国政府が承認したアルゴリズム (署名用の RSA、キー アグリーメントの NIST 曲線を含む ECDH、対称暗号化用の AES、ハッシュ用の SHA2) が確実に使用されていることを確認し、モジュールの整合性をテストして改ざんが発生しなかったことを証明し、エントロピ ソースのランダム性を証明します。

Windows 暗号化モジュールは、次のような低レベルのプリミティブを提供します。

  • 乱数ジェネレーター (RNG)
  • 対称暗号化と非対称暗号化 (NIST 標準素曲線 P-256、P-384、P-521 に対する 64 ビット増分と ECDSA での AES 128/256 および RSA 512 から 16384 のサポート)
  • ハッシュ (SHA-256、SHA-384、SHA-512、SHA-3*のサポート)
  • 署名と検証 (OAEP、PSS、PKCS1 の埋め込みサポート)
  • キー アグリーメントとキー派生 (NIST 標準素曲線 P-256、P-384、P-521、HKDF 上の ECDH のサポート)

これらのモジュールは、Microsoft のオープンソース暗号化ライブラリ SymCrypt を利用する Crypto API (CAPI) と暗号化次世代 API (CNG) を介して Windows でネイティブに公開されます。 アプリケーション開発者は、これらの API を使用して、低レベルの暗号化操作 (BCrypt)、キー ストレージ操作 (NCrypt)、静的データ (DPAPI) の保護、シークレット (DPAPI-NG) の安全な共有を実行できます。

*このリリースでは、SHA-3 ファミリのハッシュ関数と SHA-3 派生関数 (SHAKE、cSHAKE、KMAC) のサポートが追加されました。 これらは、国立標準技術研究所 (NIST) による最新の標準化されたハッシュ関数であり、Windows CNG ライブラリを通じて利用できます。 サポートされている SHA-3 関数の一覧を次に示します。

サポートされている SHA-3 ハッシュ関数: SHA3-256、SHA3-384、SHA3-512 (SHA3-224 はサポートされていません) サポートされている SHA-3 HMAC アルゴリズム: HMAC-SHA3-256、 HMAC-SHA3-384、HMAC-SHA3-512 サポートされている SHA-3 派生アルゴリズム: 拡張出力関数 (XOF) (SHAKE128、SHAKE256)、カスタマイズ可能な XOF (cSHAKE128、cSHAKE256)、KMAC (KMAC128、KMAC256、KMACXOF128、KMACXOF256)。

証明書の管理

Windows には、証明書を操作および管理するためのいくつかの API が用意されています。 証明書は、情報を保護および認証するための手段を提供するため、公開キー インフラストラクチャ (PKI) にとって重要です。 証明書は、公開キーの所有権を要求するために使用される電子ドキュメントです。 公開キーは、サーバーとクライアントの ID を証明し、コードの整合性を検証し、セキュリティで保護された電子メールで使用します。 Windows では、証明書の有効期限切れや構成ミスによる潜在的な停止のリスクを軽減するために、グループ ポリシーを使用して Active Directory で証明書を自動登録および更新する機能がユーザーに提供されます。 Windows では、証明書信頼リスト (CTL) を毎日ダウンロードする自動更新メカニズムを使用して証明書を検証します。 信頼できるルート証明書は、信頼できる PKI 階層とデジタル証明書の参照としてアプリケーションによって使用されます。 信頼された証明書と信頼されていない証明書の一覧は CTL に格納され、管理者が更新できます。 証明書失効の場合、証明書は CTL の信頼されていない証明書として追加され、ユーザー デバイス間でグローバルにすぐに失効します。

また、Windows では、ユーザーが内部ドメイン名を不要な証明書にチェーンしないように保護できるようにすることで、中間者攻撃を減らすのに役立つエンタープライズ証明書のピン留めも提供されています。 Web アプリケーションのサーバー認証証明書チェーンがチェックされ、制限された証明書セットと一致することが確認されます。 名前の不一致をトリガーする Web アプリケーションは、イベント ログを開始し、Microsoft Edge からのユーザー アクセスを防止します。