このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
RSA 公開指数がセキュリティで保護されていません
キー生成で使用されるコンテキストが低い指数値に関連付けられている
説明
この欠陥は、低い公開指数に関連付けられたコンテキスト オブジェクトを使用して、RSA キー生成を試みた場合に発生します。
たとえば、コンテキスト オブジェクトの公開指数を 3 に設定してから、そのコンテキスト オブジェクトをキー生成に使用します。
/* Set public exponent */ ret = BN_dec2bn(&pubexp, "3"); /* Initialize context */ ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL); pkey = EVP_PKEY_new(); ret = EVP_PKEY_keygen_init(kctx); /* Set public exponent in context */ ret = EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp); /* Generate key */ ret = EVP_PKEY_keygen(kctx, &pkey);
リスク
低い RSA 公開指数では、特に、脆弱なパディング スキームが使用されているかパディングがまったく使用されていない場合に、特定の種類の攻撃による被害が大きくなります。
修正方法
公開指数には 65537 を使用することが推奨されます。高い公開指数を使用するほど演算が低速になる可能性があります。
例
結果情報
グループ: 暗号化 |
言語: C | C++ |
既定値: オフ |
コマンド ライン構文: CRYPTO_RSA_LOW_EXPONENT |
影響度: Medium |
バージョン履歴
R2018a で導入