歴史
NSAKEY
コンピューターのセキュリティと暗号化において、 _NSAKEYは、Cryptonym CorporationのAndrew D. Fernandesによって1999年8月にWindows NT 4 Service Pack 5(シンボリックデバッグデータを取り除いてリリースされた)で発見された変数名でした。その変数には1024ビットの公開キーが含まれていました。
概要
マイクロソフトのオペレーティングシステムでは、オペレーティングシステムと連携するすべての暗号化スイートにデジタル署名が必要です。 Windowsのコンポーネントとしてインストールまたは使用できるのはMicrosoftが承認した暗号スイートのみであるため、このオペレーティングシステム(およびWindowsがインストールされている製品)のエクスポートコピーを、施行されている輸出管理規則(EAR)に準拠させることができます。米国商務省安全保障局(BIS)による。
マイクロソフトがプライマリキーとスペアキーの2つのキーを使用し、どちらのキーも有効な署名を作成できることがすでにわかっていました。 Microsoftは、Windows NT 4.0のService Pack 5をリリースしたときに、セキュリティおよび暗号化ドライバーであるADVAPI32.DLLのデバッグシンボルを削除できませんでした。Cryptonymの主任科学者Andrew Fernandesは、変数_KEYと2番目のキーには_NSAKEYというラベルが付けられました。フェルナンデスは、2番目のキーが米国国家安全保障局(NSA)によって所有され、intelligence報機関がWindowsユーザーのセキュリティを破壊する可能性を含む、一連の憶測と陰謀の理論に触れて、彼の発見を発表しました。
Computers、Freedom and Privacy 2000(CFP2000)カンファレンスでのプレゼンテーションで、電子プライバシー情報センター(EPIC)の上級研究員であるダンカンキャンベルは、_NSAKEY論争をセキュリティと監視に関連する顕著な問題の例として言及しました。
さらに、Dr。Nicko van SomerenはWindows 2000で3番目のキーを見つけましたが、これには正当な目的があるのではないかと疑い、「もっと怪しげに見える」と宣言しました。
マイクロソフトの反応
Microsoftは_NSAKEYの推測を否定しました。 「このレポートは不正確で根拠がありません。問題のキーはMicrosoftキーです。Microsoftによって維持および保護されており、このキーをNSAまたは他の関係者と共有していません。」 Microsoftは、NSAが米国の輸出規制の技術審査機関であり、キーが米国の輸出法の遵守を保証するため、キーのシンボルは「_NSAKEY」であると述べました。
マイクロソフトの企業プライバシーディレクターであるリチャードパーセルは、プレゼンテーションの後、キャンベルに近づき、_NSAKEYについての混乱と疑念を解消したいという希望を表明しました。会議の直後、マイクロソフトセキュリティレスポンスセンターのスコットカルプはキャンベルに連絡し、質問に答えるように申し出ました。彼らの通信は心から始まったが、すぐに緊張した。キャンベルはどうやらカルプが回避されていると感じ、カルプはキャンベルがすでに答えた質問を敵対的に繰り返していると思われたようです。 2000年4月28日、カルプは「我々は間違いなくこの議論の終わりに達しました...陰謀論の領域に急速にスパイラルが巻き込まれている」と述べ、キャンベルのそれ以上の質問は答えられませんでした。
Microsoftは、3番目のキーはWindows 2000のベータビルドにのみあり、その目的は暗号化サービスプロバイダーに署名することであると主張しました。
http://web.archive.org/web/19990422142445/http://www.mozilla.org:80/crypto-faq.htmlは、「特定の状況下では、ソフトウェアを呼び出すための輸出ライセンスを取得することが実際に可能ですAPIを介した暗号化機能:たとえば、MicrosoftのMicrosoft Cryptographic API(CryptoAPI)仕様の実装は、米国外のサードパーティを含むサードパーティが個別のモジュールを追加できるAPIを実装しているにもかかわらず、米国からの輸出が承認されました(「暗号化サービスプロバイダ」またはCSP)暗号化機能を実装します。この輸出承認は、a)CryptoAPI実装では、サードパーティCSPがMicrosoftによってデジタル署名される必要があり、それほど署名されていないCSPを呼び出す試行を拒否するため、おそらく可能になりました。署名プロセスマイクロソフトは、関連する米国輸出管理規制への準拠を保証できます(たとえば、強力な暗号化を実装する米国外で開発されたCSPに署名しないと思われます)。 c)MicrosoftのCryptoAPI実装は実行可能な形式でのみ利用可能であるため、CSPデジタル署名チェックを無効にするためのユーザーの改ざんに対して合理的な耐性があると推定されます。
他のソースからの説明
ソフトウェア業界の一部は、BXAのEARにバックアップキーに関する特定の要件があるかどうかを疑問視しています。ただし、そのドキュメントを正式に議論するために必要な法的または技術的な専門知識を主張するものはありません。以下の理論が提示されています。
マイクロソフトは、2番目のキーはプライマリシークレットキーを失う可能性を防ぐためのバックアップとして存在すると述べました。フェルナンデスはこの説明を疑い、秘密鍵の紛失を防ぐ一般的に受け入れられている方法は秘密分割であり、鍵をいくつかの異なる部分に分割し、上級管理職全体に配布することを指摘しています。彼は、これは2つのキーを使用するよりもはるかに堅牢になると述べました。 2番目のキーも失われた場合、Microsoftは世界中のWindowsのすべてのコピーと、これまでに署名したすべての暗号化モジュールにパッチを当てるか、アップグレードする必要があります。
一方、Microsoftがキーの紛失の結果について考えず、秘密の分割を使用せずに最初のキーを作成しなかった場合(およびキー生成後に保護を弱めることができない安全なハードウェアで行った場合)、NSAは指摘しましたレビュープロセスの一環としてこの問題を解決すると、Microsoftが2番目のキーでスキームを弱めた理由と、新しいものが_NSAKEYと呼ばれた理由を説明できるかもしれません。 (2番目のキーは、秘密の分割を使用してバックアップされる可能性があるため、両方のキーを紛失しても問題はありません。)
もう1つの可能性は、MicrosoftがBXAのEARに準拠しながら、米国外で暗号化モジュールに署名できるようにする2番目のキーを含めたことです。暗号化モジュールが複数の場所で署名される場合、複数のキーを使用するのが合理的なアプローチです。ただし、_NSAKEYによって署名された暗号化モジュールは発見されておらず、Microsoftは他の認証機関が存在することを否定しています。
Microsoftは、NSAが_NSAKEYシークレットキーにアクセスできることを拒否しました。
次を使用して2番目の_NSAKEYを削除することができました(これは1999年のWindowsソフトウェア用でした)。
しかし、悪い人には良い知らせがあります。 「crypto_verify」関数の実装方法に欠陥があることがわかりました。暗号検証の方法により、ユーザーは、Microsoftの元のコンポーネントを変更せずに、オペレーティングシステムからNSAキーを簡単に削除または交換できます。 NSAキーは簡単に交換できるため、米国外の企業はMicrosoftまたはNSAの承認なしに「強力な」暗号化サービスをWindowsに自由にインストールできます。したがって、NSAはWindowsから「強力な」暗号のエクスポート制御を効果的に削除しました。 NSAキーを置き換えるデモプログラムは、CryptonymのWebサイトにあります。
PGPキーとしてのCAPI署名公開キー
1999年9月、匿名の研究者が主キーと_NSAKEYの両方をリバースエンジニアリングしてPGP互換形式にし、キーサーバーに公開しました。