暗号キーがありません
暗号化または復号化に使用されるコンテキストが NULL キーに関連付けられているか、キーと関連付けられていない
説明
この欠陥は、NULL 暗号化キーまたは NULL 復号化キーを使用して暗号化または復号化した場合に発生します。
メモ
暗号コンテキストは NULL キーを使用して初期化できます。ただし、データを暗号化または復号化する前には、暗号コンテキストに非 NULL のキーを関連付けなければなりません。
リスク
NULL キーを使用して暗号化または復号化を行うと、ランタイム エラーが発生するか、少なくとも安全でない暗号文になる可能性があります。
修正方法
暗号化または復号化のステップの前
ret = EVP_EncryptUpdate(&ctx, out_buf, &out_len, src, len)
ctx
に非 NULL のキーを関連付けます。ret = EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv)
暗号コンテキストの初期化に非 NULL のキーを使用する場合もあります。
ret = EVP_EncryptInit_ex(&ctx, cipher_algo_1, NULL, key, iv)
ret = EVP_EncryptInit_ex(&ctx, cipher_algo_2, NULL, NULL, NULL)
例
結果情報
グループ: 暗号化 |
言語: C | C++ |
既定値: オフ |
コマンド ライン構文: CRYPTO_CIPHER_NO_KEY |
影響度: Medium |
バージョン履歴
R2017a で導入