web-dev-qa-db-ja.com

OpenVPNに選択するAESキーの長さは?

小さな組み込みマシンであるクライアントデバイスでOpenVPNを使用する予定なので、速度とセキュリティのバランスを取る必要があります。

OpenVPNのドキュメントには、「1024ビットのキーではもはや十分ではないというのは一般的な知識である」と書かれています。これは、鍵交換に使用される非対称鍵を指します。

暗号化方式を選択する必要があります。私の最初の考えはAES-128を取ることですが、これが(「一般的な知識」の意味で)今後10年間十分に安全であるかどうかはわかりません。

この点についてコンセンサスはありますか?

特にOpenVPNの場合:AESキーサイズよりも他のセキュリティの関連性が高いですか?

4
Philipp

AESキーサイズとRSAキーサイズは同じものには関係しません。

RSA、DSA、Diffie-Hellman ...は、鍵交換の最初のステップに含まれるアルゴリズムであり、それらは 非対称暗号 から派生します。その目標を達成します。その構造は、それらをまったく実行させるものですが、それを利用して破壊することができるため、弱点でもあります。これを回避するために、これらのアルゴリズムは非常に大きな整数(従来は1024ビット以上)を使用する必要があります。コンピュータが時間の経過とともに高速になるため、1024ビットではもはや十分ではないと考える人もいます。

AESは 対称暗号 であり、概念的には単純です。暗号化と復号化には同じキーが使用されます。ここには数学的構造はなく、ビットの束だけがあります。攻撃者には影響力がありません。可能な限りすべてのキーを試すことが攻撃者の唯一の手段です(これは「ブルートフォース」と呼ばれます)。 128ビットは、総当たり攻撃に打ち勝つには十分すぎるほどです。

類推すると、RSAキーは砂でできた壁であり、AESキーは鋼でできています。どちらも、入ってくるロケットをブロックするのに十分な強度を持つことができますが、砂の場合は、より多くのものを必要とします。

AESは3つの鍵サイズ(128、192、256ビット)を受け入れます。 3つとも問題ありません。実際、AES-128はAES-192やAES-256よりもわずかに高速であるため、128ビットはわずかに優れています

6
Tom Leek
The attacker has no leverage, and his only recourse is to try all possible keys (that's called "brute force").

それは完全な暗号、つまり弱めることができないものを想定しています。これは危険な考え方であり、健全なセキュリティマージンを失うことになります。

  • OpenVPNの次のバージョンが出たら、ECDHEに切り替えます。
  • CPUサイクルが安価であるため、AES-256を使用します。
  • DSAではなくRSAを使用します。
  • 2048ビット以上のRSA鍵サイズを使用してください。
  • 大きなキーサイズを選択すると、初期接続時間が遅くなります。 4096ビットですが、待機はハードウェアに依存します。
2
Steven R.