2022 年 01 月 13 日
FIPS140-3 暗号モジュールの安全性
IoT デバイスは 2022 年度 348.3 億台が市場流通 することが予測されており、これらは医療や自動車といった日常的かつ機微な情報を多く取り扱う。これらの、トラフィックやストレージ上のデータは悪意のある第三者から常に脅威に晒されている。
これらの情報を守る手段は多様で、ファイアウォールやアクセスコントロールの実施といった、情報セキュリティ対策を実施し多層防御の採用も考慮されている。
直接的に情報保護を行うという視点でフォーカスすると、「暗号化」というのが一つのキーワードとして浮かびあがる。データの暗号化は、従来オンプレミスに閉じられていたデータを活用するにあたり、当然実施されるべきソリューションとなっている。
暗号は多くの領域で使用され、この BLOG の閲覧にも、HTTPS(TLS v1.3) プロトコルを使用しているし、閲覧に使用されるデバイスによっては、デバイスの正当性を使用する目的で、電子証明書がインストールされているかも知れない。
もはや意識されないほど、データの暗号化は標準的な情報セキュリティ対策と言って過言ではなく、暗号モジュール(例 :HSM)に脆弱性があった場合、その影響は計り知れないだろう。これらの暗号モジュールに関するセキュリティの仕様の代表として、FIPS 140(Federal Information Processing Standardization 140) が規定されている。
安全であることの証明
1994 年 1 月 11 日に発行された長い歴史を持つ規格であり、対象はハードウェア、及びソフトウェアコンポーネントの両方に適用され、鍵の生成から利用、廃棄まで、米国連邦政府省庁・行政機関が求むる、暗号モジュールのあり方について定められている。
以下のように 「暗号モジュールの仕様」「ソフトウェア・ファームウェアセキュリティ 」「自己テスト」「物理セキュリティ」 といった、暗号モジュールを保護するうえで必要となる要素が含まれ、セキュリティレベル(Lv.1-4)により順守すべき水準を定めている。
- 暗号モジュールの仕様
- 暗号モジュールのインタフェース
- 役割、サービス及び認証
- ソフトウェア・ファームウェアセキュリティ
- 動作環境
- 物理セキュリティ
- 物理セキュリティ(非破壊)
- Security Sensitive Parameter 管理
- 自己テスト
- ライフサイクル保証
- その他の攻撃への対処
FIPS 140-2 においては、その要求事項を「ISO/IEC 19790:2012 暗号モジュールに対するセキュリティ要件」及び「ISO/IEC 24759:2017 暗号モジュールに対する検証要件」といったグローバルスタンダードにフィードバックを行い、それを参照するように改訂された。
執筆時点 (2021/9) の最新バージョンは FIPS 140-3 となっており、2019 年 3 月に米国商務長官に承認されている。
エビデンスと試験
本規格は、認証プログラムであり、 暗号モジュール認証プログラム (Cryptographic Module Validation Program) が、米国国立標準技術研究所 (National Institute of Standards and Technology)、及びカナダ通信セキュリティ機関 (Communications Security Establishment) により運用される。
このテストは、CAVP(Cryptographic Algorithm Validation Program) により行われており、「デジタルシグネチャー」や「セキュアハッシング」といった要素に対し、アルゴリズムの仕様、テスト要求、テストベクターが提供され、CMVP のすべての試験は、NVLAP(National Voluntary Laboratory Accreditation Program)によって暗号モジュール試験所として認定された第三者機関によって行われている。
本邦においても、「 暗号モジュール試験及び認証制度 (JCMVP)」により、電子政府推奨暗号リストに記載されている暗号化機能、ハッシュ機能、署名機能等の承認されたセキュリティ機能を実装したハードウェア、ソフトウェア等から構成される暗号モジュールが、その内部に格納するセキュリティ機能並びに暗号鍵及びパスワード等の重要情報を適切に保護していることを第三者による試験及び認証を組織的に実施し、承認されたサービスが存在する。
表 1 試験
文書・ソースコードレビュー | 開発証拠資料(機能仕様書・ソースコード 等)のレビュー |
---|---|
物理セキュリティ試験の実施 | 筐体開封時における重要情報(暗号鍵)削除 等 |
乱数の試験 | 十分な乱雑さを有しているかを確認 |
暗号アルゴリズム実装試験 | 暗号が正確に実装されているかを確認 |
動作試験の実施 | 動作の確実性を確認 |
サイドチャネル攻撃の耐性試験 | 消費電流・漏洩電磁波から、暗号処理内容に依存する変化が一定値未満であることを確認 |
このように第三者機関がエビデンスをもって、認証された暗号モジュールを使用することは、少なくともその時点の技術水準において、暗号モジュールが安全である事を明確にすることである。リスクが 0 になることはないが、少なくとも、容易に情報漏洩が発生するリスクは軽減するであろう。
認証局と FIPS 140
弊社のような認証局は、秘密鍵暗号モジュール(以下、「HSM」という。)を製造・販売するわけではなく、ハードベンダーから調達し、セキュアに運用している。
例えば、書面の電子化や電子契約で求められる電子文書の長期間に渡る真正性を確保する長期署名に対応したクラウドサービス「iTrust リモート署名サービス 」においては、利用者の秘密鍵は電子認証センター設備内の FIPS 140-2 Level 3 に準拠した HSM で安全に保護され、本人のみが電子署名のために利用できるよう厳格に管理されている。さらに iTrust の運用では「iTrust 電子署名用認証局 Certification Practice Statement」に沿った厳格な運用を行なっている。なぜならば、情報セキュリティ対策として FIPS 140 は必要条件であるが十分条件とはなりえないからである。
量子コンピューティングの劇的な進展に伴う解析技術の向上といった、日進月歩の世界である。つまり暗号モジュールは時が経れば確実に危殆化する。2004 年 8 月には、MD5 のコリジョンを求めることができたと、 CRYPTO において報告があり、CRYPTREC(Cryptography Research and Evaluation Committees)にあっては、MD5 を政府推奨暗号リストから外すといった事も過去にはあった。
「 政府機関等の対策基準策定のためのガイドライン 」においても「情報システムの設計段階からの考慮する必要がある」とされている。従って、情報セキュリティ対策の定期的な見直しのプロセスに含め、情報セキュリティを行う組織が確実に監査を行う、その運用からは避けて通れない。
危殆化からデバイスを守る
Web サーバーにおける「SSL/TLS サーバー証明書」が好例であり、SSL/TLS サーバー証明書の満了日は発行日の 13 ヶ月後の前日(過去には、5 年間の有効期限という事もあった)となっており、有効期限が切れる度にサーバー管理者が入れ替え作業を行っている。元々、攻撃機会の多いデバイスだけあって、体系化仕組み作りがされているといえる。
一方の IoT デバイス にあっては、オフラインで稼働する前提のセンサーやデバイスで、そもそも証明書を使用できないデバイス、ユーザー操作を嫌う傾向から期限の長い証明書が採用されることも数多あるのは現実なのである。Web サーバーのようなリッチなシステムを導入しないまでも、OTA(Over-The-Air)を行う、プラットフォームを導入するといった、暗号モジュール自体が危殆化した場合の被害軽減を図る措置を検討し、サービス全体が脆弱性を有する期間を軽減することで、情報セキュリティ対策としての投資コストを削減することが望ましい。