web-dev-qa-db-ja.com

Diffie HellmanグループマッチングとIPSec暗号化アルゴリズム

特定のIPSec IKEおよびESP暗号化アルゴリズム用の許容可能なDiffie Hellman(DH)グループを決定するのに役立つ情報を探しています。目的は、使用されるキーに適切な保護を提供するDHグループを選択することです一致が不十分なDHグループからの不要なオーバーヘッドを回避しながら、選択された暗号化アルゴリズム(追加のセキュリティ上の利点のない遅いDHグループ?)。

私が選択できる特定の暗号化アルゴリズムには、AES-CBCおよびAES-GCMさまざまなキーの長さ(128、256など)。

Diffie Hellman Groups includeから選択できます

  • 14 = 2048ビットMODPグループ
  • 19 = 256ビットのランダムECPグループ
  • 20 = 384ビットのランダムECPグループ
  • 21 = 521ビットのランダムECPグループ
  • 24 = 256ビットのPrime Orderサブグループを含む2048ビットのMODPグループ

私がNetwork Securityベンダーのドキュメントから読んでいる情報のいくつかは、他のグループよりも19、20、21のようなDH Elliptic Curve(EC)グループの使用を提案しています

  • Cisco "可能な場合、... ... ... ECDHグループを使用します"
  • チェックポイント
    • "楕円曲線Diffie-Hellmanグループ...パフォーマンスが向上します"
    • "RFC 5114(グループ24 ...)に記載されているグループは使用をお勧めしません"
  • [〜#〜] ibm [〜#〜] "ガイドライン:128ビットキーで暗号化または認証アルゴリズムを使用している場合は、Diffie-Hellmanグループ5を使用します14、19、20、または24。キー長が256ビット以上の暗号化または認証アルゴリズムを使用している場合は、Diffie-Hellmanグループ21を使用します。 "

特にグループ14と24をいつ使用するかについて混乱しています。 24は21より強いですか? DHグループ番号24(グループID番号のみ)が大きいにもかかわらず、21の方が強いと思います。また、グループ19は14よりも強いと考えています。数値が高いためではなく、ECアルゴリズムが強力なためですか?私の読書のいくつかに基づいて、強度の高い順に並べられたグループは、14、24、19、20、21のようなものになるようです-つまり、利用可能な場合、ECPグループは 19、20、21は14と24の両方よりも優先されますか?

これらの暗号の議論は簡単に高度な数学につながる可能性があり、私はそれをできるだけ避けたいと思っています-最も基本的な説明または可能な限り単純な数学を使用してください。

7
Mister_Tom

2017年10月21日更新。セクション4「セキュリティに関する考慮事項」の RFC 5114 に役立つ情報が見つかりました。この推奨事項に基づいて、DHグループ14および24は弱すぎてAES 128対称キーを保護できないと見なすことができます-これにより、AESを生成するための最小許容Diffie HellmanグループとしてDHグループ19から21 ECPが残ります対称キー(128ビット以上)。

適切なサイズの秘密鍵が使用される場合、各Diffie-Hellmanグループの強度の近似が以下の表に示されます。各グループのテーブルには、ほぼ同等のレベルのセキュリティを提供するRSAキーサイズと対称キーサイズが含まれています。このデータは、[NIST80057]の推奨に基づいています。

GROUP                                      |  SYMMETRIC |   RSA
-------------------------------------------+------------+-------
1024-bit MODP with 160-bit Prime Subgroup  |        80  |   1024
2048-bit MODP with 224-bit Prime Subgroup  |       112  |   2048
2048-bit MODP with 256-bit Prime Subgroup  |       112  |   2048
192-bit Random ECP Group                   |        80  |   1024
224-bit Random ECP Group                   |       112  |   2048
256-bit Random ECP Group                   |       128  |   3072
384-bit Random ECP Group                   |       192  |   7680
521-bit Random ECP Group                   |       256  |  15360

RFC 5114 "IKE"セクション のDHアルゴリズム名にマップされたグループ番号。

NAME                                                    | NUMBER
--------------------------------------------------------+---------
1024-bit MODP Group with 160-bit Prime Order Subgroup   |   22
2048-bit MODP Group with 224-bit Prime Order Subgroup   |   23
2048-bit MODP Group with 256-bit Prime Order Subgroup   |   24
192-bit Random ECP Group                                |   25
224-bit Random ECP Group                                |   26
256-bit Random ECP Group                                |   19
384-bit Random ECP Group                                |   20
521-bit Random ECP Group                                |   21

strongSwan Security Recommendations document の「Cipher Selection」という見出しの下で、いくつかのペアリングの提案を見つけることができました。

  • "aes128-sha256-modp3072(AES-CBC-128SHA-256 HMACおよび3072ビットのキー長のDHキー交換) "DH-Group-15として(私のデバイスでは利用できません)
  • "aes128gcm16-prfsha256-ecp256(AES-GCM-128AEAD、SHA- 256はPRFおよびECDH鍵交換として256ビットの鍵長) "DH-Group-19
  • "aes256gcm16-prfsha384-ecp384(AES-GCM-256AEAD、SHA- PRFおよび384ビットキー長のECDHキー交換としての384)DH-Group-20

ペアリングの推奨は、ベルギーのBlueKrypt keylength.com サイトにリストされているアルゴリズム強度分析に大まかに基づいているようです。

これは、diffie-hellmanアルゴリズムのペアリングに関する推奨事項に最も近いものです。 IPSec暗号化で使用するためによく一致したdiffie-hellmanグループを選択するための信頼できるソースが他にある場合は、投稿してください。

6
Mister_Tom

DH 22、23、24は使用しないでください。 https://tools.ietf.org/html/rfc8247#section-2.4 を参照してください

グループ22、23、および24は、安全な素数ではない素数順序サブグループを持つMODPグループです。これらのグループのシードは公開されていないため、これらのグループへの信頼が低下しています。これらのグループは、グループ2と14の代替として提案されましたが、幅広い展開は見られませんでした。 1024ビットMODPのグループ22は弱すぎ、学界にはこのサイズで悪意のある値を生成するリソースがあることが示されています。これにより、グループ22は降格してはいけません。グループ23および24は降格されるべきではなく、降格されるべきであり、近い将来さらに降格されてはならない(MUST NOT)。グループ23と24には小さなサブグループがあるため、「インターネットキーエクスチェンジプロトコルバージョン2(IKEv2)の追加Diffie-Hellmanテスト」のセクション2.2の最初の箇条書きで指定されているチェックは、これらのグループを使用するときに実行する必要があります。 。

1
Paul Wouters