私はクライアント/サーバアプリケーションで暗号化にAESを使用しています。AES暗号化キーをC++で安全に保存する方法は?
現在のところ、クライアントとサーバーの両方でハードコードされた静的な対称キーを定義しました。
実行可能ファイルを逆/逆アセンブルすることでキーを取得するのが難しくないので、これは本当に安全ではないと感じています。
一方、Diffie-Hellmanのような鍵交換がどのように問題を解決するのかは分かりません。鍵はクライアント上のメモリに格納され、何らかの方法で(おそらく)抽出できるためです。
鍵の暗号化や難読化を含むすべてが安全でないところはどこからでも読んでいます。しかし、それはどうやって安全に行われますか?
非対称暗号化アルゴリズムを使用します。これは、各部分が他の部分の秘密鍵を知らないことを意味します。それは純粋な数学です。 – jweyrich
@jweyrichこれは逆アセンブルによる重要な発見を防ぐつもりはありませんか? –
@jweyrichこれは、ネットワーク上の人がキーを見つけ出すのを妨げるだけですが、マシンにアクセスできる人は見つけられません。 – user66875