EAL認証の保証範囲と誤解されやすいポイント
CC EAL6+は「絶対にハッキングされない」証明書ではありません。その本当の意味を解説します。
ハードウェアウォレットを比較したことがある方なら、EAL評価がセールスポイントとして使われているのを目にしたことがあるでしょう。EAL6+のセキュアエレメントは、現時点で達成可能な最高水準のセキュリティを示唆します。これらの評価は実際に存在し、認証プロセスは厳格で、ラベルを持つチップは本当に高い基準でテストされています。
しかし、EAL認証はハードウェアウォレットのマーケティングで最も誤解されやすい概念のひとつです。しばしば「絶対的なセキュリティ保証」として紹介され、そう受け取られがちですが、実際は違います。
この記事では、EALフレームワークの基礎から解説し、EAL5+やEAL6+で実際にどのような評価が行われているのか、ハードウェアウォレットで使われている具体的なチップとその認証レベル、そして認証がカバーしない3つの構造的な限界について詳しく説明します。
EAL認証は、チップがどの程度深く、厳格にセキュリティ評価を受けたかを示しますが、「絶対に破られない」ことを保証するものではありません。これらはまったく異なる主張であり、混同すると誤った安心感につながります。
Common Criteria(コモンクライテリア)とは?
Common Criteria(正式名称:Common Criteria for Information Technology Security Evaluation、ISO/IEC 15408)は、IT製品のセキュリティを評価するための国際的な枠組みです。1999年に、各国ごとに分断されていたセキュリティ評価制度を統一するために設立されました。
現在、30カ国以上がCommon Criteria Recognition Arrangement(CCRA)に参加しており、CC認証は独立した評価を受けた製品セキュリティの世界標準となっています。
評価対象(Target of Evaluation)
このフレームワークは「Target of Evaluation(TOE)」というコア概念に基づいて運用されます。TOEとは、評価対象となる特定の製品やコンポーネントのことです。セキュアエレメントの場合、TOEは通常チップ自体であり、ハードウェアアーキテクチャ、組み込みOS、そして実行される暗号ライブラリを含みます。
TOEの製造元は「Security Target(セキュリティターゲット)」という文書を提出します。これは、製品が何を保護するために設計されているか、どのような脅威に耐えるべきか、実装されているセキュリティ機能、その機能が有効となる前提条件などを正式に記載した仕様書です。
認証発行の流れ
認定を受けた独立評価機関が、申請されたEALレベルに応じた深さと厳格さで、製品がこれらの主張を満たしているかテストします。製品がそのレベルでSecurity Targetを満たせば、各国の認証機関から証明書が発行されます。
この仕組みの重要なポイントは、「評価は製造元が自ら定めたSecurity Targetに対して行われる」ということです。控えめな保護機能を主張し、それを実現した製品も、広範な保護機能を主張し実現した製品も、同じEALを取得できます。
EALは「評価の厳しさ」を測る指標であり、セキュリティ設計の野心や網羅性を直接示すものではありません。これにより、CCは幅広い製品に適用できる仕組みとなっています。
EALスケールの概要
Common Criteriaは、EAL1からEAL7まで7段階の「Evaluation Assurance Level(評価保証レベル)」を定義しています。各レベルは、製品設計の文書化・分析・テストの徹底度や、想定される攻撃者の高度さに応じて、より厳しい要件となります。
高いEALレベル=より安全な製品、とは限りません。「より厳しく評価された」ことを意味します。
狭い範囲でも正しく実装されたセキュリティ機能を持ちEAL6で評価された製品が、広範な機能を持ちEAL4で評価された製品より、実際の運用で必ずしも安全とは限りません。何がSecurity Targetでカバーされているかが重要です。
| レベル | 公式名称 | 意味 | 主な用途 | 想定攻撃者 |
|---|---|---|---|---|
| EAL1 | 機能テスト済み | 基本的な動作確認テスト | 重要度の低い製品 | 特に想定なし |
| EAL2 | 構造テスト済み | 開発者テスト+限定的な独立レビュー | 低リスク商用 | 機会的攻撃者 |
| EAL3 | 方法論的テスト済み | 開発ライフサイクル証拠を含む体系的テスト | セキュリティ要求のある商用 | 中程度の技術者 |
| EAL4 | 方法論的設計・テスト・レビュー済み | 設計文書+独立ペネトレーションテスト | 企業向けソフトウェア、OS | 標準ツールを使う熟練者 |
| EAL5 | 半形式的設計・テスト済み | 半形式的設計検証+厳格な独立攻撃テスト | スマートカード、暗号ハードウェア | 高い攻撃能力 |
| EAL6 | 半形式的設計・テスト済み(拡張) | EAL5の厳格さ+拡張脆弱性分析+部分的な形式検証 | セキュアエレメント、パスポート、HSM | 非常に高い攻撃能力 |
| EAL7 | 形式的設計・テスト済み | セキュリティ特性の完全な数学的証明 | 軍事・機密システム専用 | 国家レベルの攻撃者 |
ハードウェアウォレットやセキュアエレメントの場合、EAL5+およびEAL6+が該当レベルです。EAL4はOSやファイアウォールなど企業向けソフトウェアの標準です。EAL7は実際には軍事や機密用途など、非常に限定された範囲でしか使われません。
「+」サフィックスは拡張要件を示します。ベースレベルを超える追加要件が評価に含まれていることを意味します。セキュアエレメントの場合、最も重要な拡張は通常AVA_VAN.5(脆弱性分析の最高レベル)です。これは、非常に高度な攻撃技術を持つ攻撃者を想定し、評価者が最先端の手法で攻撃を試みることを要求します。
EAL5+とEAL6+で求められること
EAL5とEAL6の違いは、設計検証の深さと想定攻撃者の高度さにあります。どちらのレベルでも、独立評価者によるペネトレーションテスト(侵入試験)が必須です。
EAL5+:半形式的設計・テスト済み
EAL5+では、メーカーは半形式的な設計文書を提出する必要があります。これは、下位レベルよりも踏み込んだ、チップのセキュリティアーキテクチャを数学的に記述した文書です。
独立評価者はこれらの設計を分析し、弱点がないか調査し、高度な攻撃能力を持つ攻撃者を想定したペネトレーションテストを実施します。豊富な技術知識・リソース・動機・十分な時間を持つ攻撃者を想定しています。
Ledger Nano Xで使用されているSTMicroelectronics製ST33J2M0セキュアエレメントはEAL5+認証を取得しています。これは銀行アプリケーションや決済端末、多くの接触型スマートカードで使われる標準的なチップです。
EAL6+:半形式的設計・テスト済み(拡張)
EAL6+はEAL5+よりもさらに厳しい要件が加わります。設計検証はより広範囲に及び、チップ内部の多様なモジュールや相互作用までカバーします。
脆弱性分析も拡張され、より多様な攻撃シナリオが想定されます。攻撃者モデルも「非常に高い攻撃能力」を持つ人物となり、最先端技術・長期間の分析・高度な装置(フォールトインジェクションや侵襲的チップ解析など)を用いた攻撃が含まれます。
EAL6+は、政府パスポートのセキュアエレメントや銀行用HSM、セキュリティ重視の民生ハードウェアなど、単一ターゲットに多大なリソースが投入されうる環境向けの標準です。
EAL6+認証チップは、プロレベルの装置を持つ訓練されたセキュリティ研究者による攻撃を受け、その評価範囲内で攻撃が失敗したことが証明されています。
Ledger Nano S Plus、Stax、Flexで使われるST33K1M5、Samsung Semiconductors(特にTangem Walletで採用されているS3D350ファミリー)、NXP SE050/SE051ファミリー、NXP P60/SmartMX2シリーズ、Infineon SLE78/OPTIGAファミリーはすべてEAL6+認証を取得しています。これらがハードウェアウォレットのハイエンドで採用される主要チップです。
ハードウェアウォレットで使われるセキュアエレメント
| メーカー | チップファミリー | EALレベル | 採用例 | 備考 |
|---|---|---|---|---|
| STMicroelectronics | ST33J2M0 | EAL5+ | Ledger Nano X | ARM SC300コア、EMVCo認証 |
| STMicroelectronics | ST33K1M5 | EAL6+ | Ledger Nano S Plus、Ledger Stax、Ledger Flex | ARM SC300コア、EUCC/CC:2022スキーム |
| NXP Semiconductors | SE050 / SE051ファミリー | EAL6+ | IoTセキュリティ、ハードウェアウォレット(CoolWallet) | Java Card OS、PUFサポート |
| NXP Semiconductors | P60 / SmartMX2 | EAL6+ | 銀行、パスポート、IoT | PUF、SecureFetch™、GlueLogic™ |
| Infineon Technologies | SLE78 / OPTIGAファミリー | EAL6+ | ハードウェアウォレット(HASHWallet)、TPMモジュール | |
| Samsung Semiconductors | S3D232A | EAL6+ | ハードウェアウォレット、MRTD(機械可読渡航文書) | Tangem Walletで採用 |
EAL認証の3つの主な限界
EAL認証は、チップが高度な攻撃手法に対して本格的な独立評価を受けたことの最強レベルの証明ですが、構造的に3つの限界があります。
限界1:評価範囲の問題
すべてのEAL評価は、その「Target of Evaluation(TOE)」によって範囲が決まります。多くの場合、評価対象はチップ単体であり、それ以外は明示的に評価から除外されます。これが実際の運用に直結する影響を持ちます。
チップ内であっても、評価されるのは特定のセキュリティ機能のみです。たとえば、RSA鍵操作に対する電力解析耐性で評価されたチップは、その機能についてのみ認証されます。
後から追加されたECDSA署名ルーチンなど、Security Targetで明記されていない暗号処理は、同じ保証を持ちません。
限界2:スナップショット問題
EAL証明書は、特定のバージョン・構成の製品について、ある時点で発行されます。新たな攻撃手法が発見された場合や、評価済み製品に脆弱性が見つかった場合でも、証明書が自動的に失効することはありません。
これにより、証明書発行日とデバイスの現在のセキュリティ状態にギャップが生じることがあります。ケンブリッジ大学のSkorobogatov氏とAnderson氏による2002年の研究では、40ドル以下の機材でセキュアマイコンやスマートカードに対して光学的フォールトインジェクション攻撃が可能であることが示され、業界に大きな衝撃を与え、既存認証チップの対策強化につながりました。
限界3:脅威モデルのギャップ
EAL6+では、「非常に高い攻撃能力を持つ攻撃者」が想定されています。これは、商用セキュリティ基準としては非常に厳格ですが、すべての攻撃者や未知の手法まで自動的にカバーするものではありません。また、機密技術は除外されています。
評価機関は、公開されている攻撃手法のみを使用します。諜報機関などが持つ機密研究による攻撃手法は評価に含まれません。
EAL6+とは、「有資格の独立評価者が、Security Targetで定義されたセキュリティ機能に対し、公開されている最先端手法で攻撃を試みたが破れなかった」ことを意味します。「絶対に破られない」という意味ではありません。
| EAL5+/6+認証で保証されること | EAL5+/6+認証で保証されないこと |
|---|---|
| 認定独立機関による評価を受けている | 絶対に破られないこと |
| 物理・サイドチャネル攻撃を試みても、範囲内で鍵抽出に失敗した | すべての攻撃手法を評価したわけではない |
| チップ設計が認証レベルに応じて正式にレビューされた | ファームウェアやアプリ、サプライチェーンも同等保証とは限らない |
| Security Target文書で、何がどの条件で評価されたか明示されている | 評価構成以外にも認証が適用されるとは限らない |
| 高攻撃能力者への耐性基準を満たしている | 高いEAL=必ずしも現実の安全性が上とは限らない(Security Target次第) |
まとめ
EAL評価は有用な指標のひとつですが、その適用範囲は限定的です。他の指標とあわせて総合的に判断しましょう。
ウォレットを比較する際は、
- CCポータルで正確なチップバージョンを確認
- チップだけでなくデバイス全体が独立監査を受けているか確認
- ファームウェアアーキテクチャを把握(イミュータブルファームウェアは、EAL認証チップがカバーできないアップデート経路の攻撃面を閉じます)
参考文献
- Common Criteria Portal — ISO/IEC 15408
- Common Criteria Part 5: EAL Definitions (PDF)
- Common Criteria Recognition Arrangement(CCRA)
- Skorobogatov, S.P. & Anderson, R.J. (2002). Optical Fault Induction Attacks. CHES 2002, LNCS 2523, Springer. University of Cambridge Computer Laboratory.
- Skorobogatov, S.P. (2005). Semi-Invasive Attacks: A New Approach to Hardware Security Analysis. Technical Report UCAM-CL-TR-630. University of Cambridge Computer Laboratory.
- Fault Attacks on Secure Embedded Software: Threats, Design and Evaluation (arXiv)
- Eurosmart: Common Criteria EAL6+ Certification and the Scope Problem
- What Is the Secure Element and Why Does a Cold Wallet Need One?
- Why the Secure Element Is Not a Single Point of Trust