C and C++


BADMACRO.WEAK_CRYPTO : 弱い暗号アルゴリズムの使用

要旨

以下の暗号アルゴリズムが使用されています: CALG_3DES, CALG_3DES_112, CALG_DES, CALG_DESX, CALG_MD2, CALG_MD4, CALG_MD5, CALG_HUGHES_MD5, CALG_RC2, CALG_RC4, CALG_RC5.

これらのマクロは、現代の標準では弱いと考えられている暗号アルゴリズムを識別します。 他の暗号アルゴリズムの使用が推奨されます。

プロパティ

クラス名 Use of Weak Cryptographic Algorithm
日本語クラス名 弱い暗号アルゴリズムの使用
クラス分類 セキュリティ (security)
ニーモニック BADMACRO.WEAK_CRYPTO
カテゴリー
CWE CWE:327 Use of a Broken or Risky Cryptographic Algorithm
CERT-C CERT-C:MSC25-C Do not use insecure or weak cryptographic algorithms
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Use of Weak Cryptographic Algorithm"

#include <windows.h>
#include <wincrypt.h>

BOOL badmacro_weakcrypto(HCRYPTPROV hProv,
                         HCRYPTHASH hBaseData,
                         DWORD      dwFlags,
                         HCRYPTKEY  *phKey){
                    
    return CryptDeriveKey( hProv, CALG_MD5, hBaseData, dwFlags, phKey ); /* 'Use of Weak Cryptographic Algorithm'
                                                                          * warning issued here
                                                                          */  
}

関連のある設定ファイルパラメータ

このクラスは一般テンプレート設定ファイルで BAD_MACRO_* ルールセットによって実装されています。

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。