秘密キーをそのまま、またはプレーン テキストでローカル コンピュータに保存すべきではないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/995379

  •  13-09-2019
  •  | 
  •  

質問

私はこれを読んでいました:

http://msdn.microsoft.com/en-us/library/tswxhw92(VS.80).aspx

最初の文には次のように書かれています。「非対称秘密鍵は、ローカル コンピュータにそのまま、またはプレーン テキストで保存してはなりません。」

これの何が問題なのでしょうか?そして、キーコンテナはそれをどのように解決するのでしょうか。

私が尋ねている理由は、非対称キーのペアを生成したいためです。私が書いているアプリケーションは、私に送り返す情報を公開鍵で暗号化します。公開キーと秘密キーのペアをソース管理システムに保存してバックアップすることを考えていました。そうすべきではないでしょうか?そうでない場合、確実にバックアップできるように秘密キーをどのように保存すればよいですか?

ありがとう。-スコット

アップデート: 引用文の「決して」は本当に決してないという意味ですか?それとも、ハッカーがソース管理システムまたはソース管理システムから取得したバックアップからキーを取得できる可能性があるというリスクを負う準備ができていない限り、ソース管理にキーを保存すべきではないという意味ですか。

役に立ちましたか?

解決

はい、引用文の「決して」は実際には次のような意味です 一度もない.

キーが平文で保存されている場合、そのファイルにアクセスできる人は誰でもキーを読み取るか複製し、それを使用してユーザーになりすますことができます。何らかの理由 (キーを調べる、間違ったファイルを開く、ファイル内の他の情報を編集するなど) でそのファイルを画面上に表示すると、通り過ぎる人は誰でもそのファイルを見ることができ、そのファイルを記憶し、なりすましに使用できる可能性があります。あなた。

秘密暗号キーは非共有秘密です。非共有かつ秘密にしておかないと、その機能を適切に実行できません。

他のヒント

一般的な解決策は、キーチェーン内の秘密キーを暗号化することです。パスワードベースの暗号化スキームを使用することによって。

秘密キーは、公開キーで暗号化されたビットを復号化するために必要であり、その逆も同様です。公開キーは定義上公開されているため、対応する秘密キーは秘密にしておく必要があります。

特にデジタル署名に公開キー暗号を使用する場合、秘密キーを秘密にしておくことが重要です。公開鍵で検証できるデジタル署名を作成できるということは、本質的に、署名を作成した人が秘密鍵にアクセスできることを証明することになります。

あなたまたはあなたが信頼するソフトウェア以外の誰もコンピュータ上のファイルにアクセスできないことを保証できる場合は、秘密キーを暗号化する必要はありません。しかし、これらは難しい仮定です。

悪意のあるユーザーがファイルを入手すると、キーを読み取ることができるからです。キーコンテナが何をするのかは分かりませんが、キーをファイルに書き込む前に暗号化するのではないかと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top