V6 保存された暗号検証の要件
Last-modified: 2020-08-10 (月) 14:06:58
Top/V6 保存された暗号検証の要件
管理目標 †
検証されたアプリケーションが以下の高レベルの要件を満たしていることを確認します。
- すべての暗号モジュールが安全な方法で失敗し、エラーが正しく処理されること
- 適切な乱数発生器が使用されていること
- 鍵へのアクセスが安全に管理されていること
V6.1 データ分類 †
最も重要な資産は、アプリケーションによって処理、保存、または送信されたデータです。保存されているデータのデータ保護の必要性を正しく分類するために、常にプライバシー影響評価を実施してください。
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
6.1.1 | 個人を特定できる情報(PII)、センシティブな個人情報、またはEUのGDPRの対象となる可能性が高いと判断されたデータなど、規制対象の非公開データが暗号化されて保管されている。 | ✓ | ✓ | 311 | 機密データの暗号化の欠如 | ソフトウェアは、保存や送信の前に、機密情報や重要な情報を暗号化していません。 | |
6.1.2 | 医療記録、医療機器の詳細、匿名化されていない調査記録など、規制対象の医療データが暗号化されて保存されている。 | ✓ | ✓ | 311 | 機密データの暗号化の欠如 | ソフトウェアは、保存や送信の前に、機密情報や重要な情報を暗号化していません。 | |
6.1.3 | 金融口座、債務不履行やクレジットの履歴、税務記録、支払い履歴、受益者、匿名化されていない市場や調査記録など、規制対象の財務データが暗号化されて保管されている。 | ✓ | ✓ | 311 | 機密データの暗号化の欠如 | ソフトウェアは、保存や送信の前に、機密情報や重要な情報を暗号化していません。 |
V6.2 アルゴリズム †
最近の暗号技術の進歩は、以前は安全だったアルゴリズムや鍵の長さが、データを保護するためにはもはや安全でも十分でもないことを意味しています。したがって、アルゴリズムを変更することは必要です。 このセクションはペネトレーションテストが難しく、ほとんどの項目でL1が含まれていませんが、開発者はこのセクション全体を必須項目と考えてください。
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
6.2.1 | すべての暗号化モジュールにおいて、処理に失敗した場合の安全対策が施されており、オラクルパディング攻撃を許さない方法でエラーが処理される。 | ✓ | ✓ | ✓ | 310 | カテゴリ:暗号問題 | このカテゴリの弱点は、データの機密性と整合性の設計と実装に関連しています。多くの場合、これらはエンコード技術、暗号化ライブラリ、およびハッシュアルゴリズムの使用を扱います。このカテゴリの弱点は、対処されない場合、品質データの低下につながる可能性があります。 |
6.2.2 | 独自実装された暗号化方式ではなく、業界で実績のある、または政府が承認した暗号化アルゴリズム、モード、およびライブラリが使用されている。 (C8) | ✓ | ✓ | 327 | 壊れた暗号アルゴリズムやリスクの高い暗号アルゴリズムの使用 | 壊れた暗号アルゴリズムやリスクの高い暗号アルゴリズムを使用することは、機密情報の漏洩につながる不必要なリスクである。 | |
6.2.3 | 最新の勧告を使用して、暗号初期化ベクトル、暗号設定およびブロックモードが安全に構成されている。 | ✓ | ✓ | 326 | 不十分な暗号化強度 | ソフトウェアは、理論的には健全な暗号化スキームを使用して機密データを保存または送信していますが、必要な保護レベルには十分な強度を持っていません。 | |
6.2.4 | 暗号の破壊から保護するため、乱数、暗号化またはハッシュアルゴリズム、鍵の長さ、ラウンド、暗号方式またはモードが、いつでも再構成やアップグレードもしくは入れ替えられる。 (C8) | ✓ | ✓ | 326 | 不十分な暗号化強度 | ソフトウェアは、理論的には健全な暗号化スキームを使用して機密データを保存または送信していますが、必要な保護レベルには十分な強度を持っていません。 | |
6.2.5 | 既知の安全でないブロックモード(ECBなど)、パディングモード(PKCS#1 v1.5など)、ブロックサイズが小さい暗号(Triple-DES、Blowfishなど)、および弱いハッシュアルゴリズム(MD5、SHA1など)が、下位互換のために要求されない限り使用されていない。 | ✓ | ✓ | 326 | 不十分な暗号化強度 | ソフトウェアは、理論的には健全な暗号化スキームを使用して機密データを保存または送信していますが、必要な保護レベルには十分な強度を持っていません。 | |
6.2.6 | ノンス、初期化ベクトル、およびその他の使い捨ての数字が、特定の暗号化鍵で複数回使いまわしされていない。生成方法は、使用しているアルゴリズムに適切となっている。 | ✓ | ✓ | 326 | 不十分な暗号化強度 | ソフトウェアは、理論的には健全な暗号化スキームを使用して機密データを保存または送信していますが、必要な保護レベルには十分な強度を持っていません。 | |
6.2.7 | 暗号化されたデータが署名、認証された暗号モード、または HMAC によって認証され、暗号文が権限のない者によって変更されない。 | ✓ | 326 | 不十分な暗号化強度 | ソフトウェアは、理論的には健全な暗号化スキームを使用して機密データを保存または送信していますが、必要な保護レベルには十分な強度を持っていません。 | ||
6.2.8 | 情報の漏洩を防ぐために、すべての暗号化操作が、比較や計算または返戻の際にショートカット操作がなく、一定時間となっている。 | ✓ | 385 | 秘密のタイミングチャネル | 秘密のタイミングチャネルは、情報を受け取るプログラムがシステムの動作を観察し、保護された情報を推論できるように、システムの動作のいくつかの側面を時間の経過とともに変調させることで情報を伝える。 |
V6.3 乱数値 †
真の疑似乱数生成(PRNG)を正しく行うことは非常に困難です。一般的にシステム内のエントロピーの良いソースは使い過ぎるとすぐに枯渇してしまいますが、ランダム性の少ないソースは予測可能な鍵や秘密情報につながる可能性があります。
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
6.3.1 | すべての乱数、ランダムなファイル名、ランダムなGUID、ランダムな文字列は、攻撃者が推測できないことを意図している場合、暗号化モジュールが許可する乱数生成器を用いて生成する。 | ✓ | ✓ | 338 | 暗号的に弱い疑似乱数発生器(PRNG)を使用している | この製品は、セキュリティの観点から疑似乱数発生器(PRNG)を使用していますが、PRNGのアルゴリズムは暗号的には強力ではありません。 | |
6.3.2 | ランダムなGUIDがGUID v4アルゴリズムと暗号的に安全な疑似乱数ジェネレータ(CSPRNG)を使用して作成されている。他の疑似乱数ジェネレータを使用して作成されたGUIDは予測可能な場合がある。 | ✓ | ✓ | 338 | 暗号的に弱い疑似乱数発生器(PRNG)を使用している | この製品は、セキュリティの観点から疑似乱数発生器(PRNG)を使用していますが、PRNGのアルゴリズムは暗号的には強力ではありません。 | |
6.3.3 | アプリケーションの負荷が高い状態であっても、乱数が適切なエントロピーを使って生成される、あるいはアプリケーションがそのような環境で適切にデグレードする。 | ✓ | 338 | 暗号的に弱い疑似乱数発生器(PRNG)を使用している | この製品は、セキュリティの観点から疑似乱数発生器(PRNG)を使用していますが、PRNGのアルゴリズムは暗号的には強力ではありません。 |
V6.4 シークレット管理 †
このセクションはペネトレーションテストが難しく、ほとんどの項目でL1が含まれていませんが、開発者はこのセクション全体を必須項目と考えてください。
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
6.4.1 | 鍵保管庫のような秘密情報管理ソリューションを、秘密情報の作成、保存、アクセス制御および秘密情報の破壊に使用している。 (C8) | ✓ | ✓ | 798 | 過剰なデータのロギング | ソフトウェアはあまりにも多くの情報をログに記録するため、ログファイルの処理が困難になり、攻撃後の復旧作業やフォレンジック分析の妨げになる可能性があります。 | |
6.4.2 | 鍵マテリアルがアプリケーションに公開されていない。代わりに暗号化操作用の金庫のように隔離されたセキュリティモジュールを使用している。 (C8) | ✓ | ✓ | 320 | カテゴリ:鍵管理エラー | このカテゴリの弱点は、暗号化キーの管理のエラーに関連しています。 |
参考情報 †
詳しくは以下の情報を参照してください。
- OWASP Testing Guide 4.0: Testing for weak Cryptography : https://www.owasp.org/index.php/Testing_for_weak_Cryptography
- OWASP Cheat Sheet: Cryptographic Storage : https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet
- FIPS 140-2 : https://csrc.nist.gov/publications/detail/fips/140/2/final