Microsoft Windows プラットフォーム固有の暗号化アプリケーション プログラミング インターフェイス( CryptoAPI、Microsoft Cryptography API、MS-CAPI 、または単にCAPIとも呼ばれる) は、Microsoft Windowsオペレーティング システムに含まれるアプリケーション プログラミング インターフェイスであり、開発者が暗号化を使用して Windows ベースのアプリケーションを保護できるようにするサービスを提供します。これは、データを暗号化するために使用されるコードからプログラマーを分離する抽象化レイヤーを提供する、動的にリンクされたライブラリのセットです。Crypto API は、Windows NT 4.0 [1]で初めて導入され、その後のバージョンで強化されました。
概要
CryptoAPI は対称鍵アルゴリズムと公開鍵暗号化の両方をサポートしていますが、永続的な対称鍵はサポートされていません。データの暗号化と復号化、およびデジタル証明書を使用した認証の機能が含まれています。また、暗号的に安全な疑似乱数生成関数CryptGenRandomも含まれています。[引用が必要]
CryptoAPI は、マシンにインストールされている多数の CSP (暗号化サービス プロバイダー) と連携して動作します。CSPは、暗号化機能を実行してデータのエンコードとデコードの実際の作業を行うモジュールです。HSM ベンダーは、自社のハードウェアで動作する CSP を提供する場合があります。
暗号化API: 次世代
Windows Vista には、 Crypto API のアップデートであるCryptography API: Next Generation ( CNG ) が搭載されています。API ファクタリングが改善され、同じ関数をさまざまな暗号化アルゴリズムで使用できるようになり、米国国家安全保障局(NSA) Suite Bの一部である新しいアルゴリズムが多数含まれています。[2]また、柔軟性も高く、カスタム暗号化 API を CNG ランタイムにプラグインするサポートも備えています。ただし、CNG キー ストレージ プロバイダーは対称キーをまだサポートしていません。[3] CNG はユーザーモードとカーネル モードの両方で動作し、CryptoAPI のすべてのアルゴリズムもサポートしています。[4] CNG を実装する Microsoft プロバイダーは Bcrypt.dll に格納されています。
CNGは楕円曲線暗号もサポートしており、これは同じレベルのセキュリティを保証するために短い鍵を使用するため、RSAよりも効率的です。[5] CNG APIは、スマートカードAPIをカプセル化するベーススマートカード暗号化サービスプロバイダー(ベースCSP)モジュールを含めることで、スマートカードサブシステムと統合されます。スマートカードメーカーは、ゼロからソリューションを提供するのではなく、デバイスをこれと互換性のあるものにするだけで済みます。
CNGはDual_EC_DRBG [6]のサポートも追加しました。これはNIST SP 800-90Aで定義されている疑似乱数生成器で、盗聴バックドアが含まれているため、開発者が別の暗号的に安全な疑似乱数生成器または真の乱数生成器で新しいベースポイントを生成し、生成されたシードを公開してNSAバックドアを削除することを覚えておかない限り、国家安全保障局による盗聴の危険にさらされる可能性があります。また、非常に低速です。[7]明示的に呼び出された場合にのみ使用されます。
CNGは、デフォルトのPRNGを、ブロック暗号としてAESを使用するCTR_DRBGに置き換えます。これは、現在置き換えられたFIPS 186-2で定義されている以前のRNGがDESまたはSHA-1に基づいており、どちらも破られているためです。[8] CTR_DRBGは、NIST SP 800-90でシュナイアーが承認した2つのアルゴリズムの1つであり、もう1つはHash_DRBGです。[7]
参照
参考文献
- ^ ボンネットの下を探る: プログラマーから見た Windows NT 4.0
- ^ Suite B 2009-02-07 にWayback Machineでアーカイブ
- ^ キーの保存と取得、Microsoft
- ^ 「暗号通貨とは何か?」2024年10月24日閲覧。
- ^ 楕円曲線暗号のケース、NSA
- ^ Schneier, Bruce (2007 年 12 月 17 日)。「Dual_EC_DRBG が Windows Vista に追加されました」。Schneier on Security。2010年1 月 13 日閲覧。
- ^ ab Schneier, Bruce (2007 年 11 月 15 日)。「Dual_EC_DRBG の奇妙な物語」。Schneier on Security。2010年1 月 12 日閲覧。
- ^ 「FIPS PUB 186-2」(PDF)。連邦情報処理標準。米国国立標準技術研究所。2000 年 1 月 27 日。2010年1 月 13 日閲覧。
外部リンク
- CryptoDox の Microsoft CAPI
- MSDN の暗号化リファレンス
