暗号鍵の物理的セキュリティに取り組む

暗号鍵の物理的セキュリティに取り組む

著者の連絡先情報

要約

特にセキュア無線など、ポータブルアプリケーションにおける暗号化鍵の物理的安全性は、軍事用アプリケーションにおいて最も重要な事項です。しかし、特別に設計された部品を用いることによって、適用法令を遵守すると同時に一層の保護を追加することが可能です。これらの部品は、電気的および物理的設計技術を使用し、ディジタル暗号鍵の安全な生成と保存を行います。

このアーティクルはマキシムの「エンジニアリングジャーナルvol. 62」(PDF、1MB)にも掲載されています。

セキュアな通信の基本は暗号鍵の保護にあります。大規模な暗号鍵はコンピュータによって力ずくで行うコードハッキングに対する防御として一定の効果を持ちますが、このような方法には、同程度に重要である物理的セキュリティについての対処が含まれていません。適切な物理的セキュリティを得るためには、いくつかの問題を考慮する必要があります。たとえば、ランダムな鍵を生成する物理的メカニズム、許可された主体間でやりとりされる鍵を電子的にのぞき見するのを物理的に防止する設計、不正な物理的プローブや機械的プローブから鍵を守る安全な保管方法などを検討しなければなりません。

マキシムのセキュア監視回路DS36xxファミリは、パッケージデザインから外部センサインタフェース、内部回路のアーキテクチャまでさまざまな機能を有しており、軍用電子機器設計者にこうした保護機能すべてを提供します。これらのデバイスは、ポータブルな軍用コンピュータや情報通信システムの分野において、昔から使われている製品も今後登場する製品の両方について、セキュリティ要件への対応を容易にし、図1に示すように非常に幅広い多様なアプリケーションをカバーします。

Figure 1. The DS36xx devices are suited for a wide range of present and future military and homeland security communications functions, including secure communications and client authentication.
図1. DS36xxデバイスは、セキュア通信やクライアント認証など、現在および未来の軍用・国土安全保障用セキュリティコミュニケーション機能を幅広くカバーしています。

電子データのセキュリティ要件

暗号モジュールには、機密扱いされていなくてもデリケートな情報については遵守しなければならないとする米国政府の要求に、米国連邦情報処理規格(FIPS)という規格があります。発行はNIST (National Institute of Standards and Technology)です。FIPS 140-2には、4段階のベーシックレベルが定められています。

  • セキュリティレベル1:物理的セキュリティ機能は不要(NIST規格に従った暗号アルゴリズムが実装されていればよい)
  • セキュリティレベル2:タンパーが検出できる物理的セキュリティが必要
  • セキュリティレベル3:耐タンパー性を持つ物理的セキュリティが必要
  • セキュリティレベル4:保護エンベロープとなる物理的セキュリティが必要
高度なセキュリティが要求される軍用通信アプリケーションでは、米国国家安全保障局(NSA)のタイプ1認証規格も満足する必要があります。NSAの認証を受けた機器だけが、米国政府の暗号化された極秘情報を取り扱うことができるとされ、その認証を得るためには以下のようなテスト項目や分析項目を含む厳格な手続きをパスする必要があります。
  • 暗号セキュリティ
  • 機能的セキュリティ
  • 耐タンパー性
  • エミッションセキュリティ
  • 製品の製造と流通におけるセキュリティ
このようなガイドラインの遵守が求められるアプリケーションとしては、まず、戦闘機用戦術通信プロトコルのWIN-T (Warfighter Information Network-Tactical)で使用する通信機器が挙げられます。WIN-Tはデータ、音声、および動画まで、幅広い種類の通信をサポートします。広帯域で信頼性の高いモバイル通信を利用することによって、どのような場所からでも戦闘機はネットワークに接続された状態を維持することができます。WIN-Tでは、無線LAN (WLAN)、VoIP (Voice over Internetプロトコル)、第三世代携帯電話/衛星技術など、一般的な通信技術が利用されます。WIN-Tは、戦術地上ユニット内に位置する戦闘機をDoD (Department of Defense:米国国防総省)の世界的ネットワーク経由で指揮官と結びます。

軍用アプリケーションでは当然のことですが、WIN-Tにおいても情報セキュリティが非常に重要です。WIN-Tでは、正規のユーザがネットワークへ自由にアクセスできるようにするとともに、不正な攻撃は検出し拒否されるようにアーキテクチャを構築しなければなりません。そのために、WIN-Tのセキュリティは、あとから追加するのではなく、最初から内蔵しておく必要があります。そのようなアプローチであれば、音声通信やディジタルデータのネットワーク経由での安全なやりとりが可能となります。

従来、システム開発は、短時間での配備を主眼とした設計となっており、多くの場合、セキュリティ機能はフィールドでのアップグレードという形で実装されていました。この背景には、セキュリティ機能を内蔵すると大幅なコストアップになるとともにスケジュール遅延の原因にもなるという考え方がありました。しかし最近は、高い相互運用性と接続性、そして、FIPS 140-2、NSA、およびWIN-Tといった規格準拠への対応を確保するために、すべての軍用通信アプリケーションに最初から高いレベルのセキュリティが求められるようになりました。セキュリティと侵入防止は、他の軍用アプリケーションでも従来以上に重視されるようになりました。たとえば、General Dynamics®はSecure Computing®とともに、戦闘車両で使用するMESHnet Firewallの開発を行いました。

結果的に、すべての該当規格を満足していない状態で新しい軍用情報通信システムやそのコンポーネントがリリースされることはなくなりました。現在の軍用通信アプリケーションは、少なくとも、FIPS 140-2のセキュリティレベル3と4を満足しなければなりません。さらに高レベルのアプリケーションにおいては、設計時に、NSAのタイプ1要件と新しいWIN-T要件のいずれか、あるいは両方に準拠する必要があります。通常、軍用アプリケーションに対しては、FIPS 140-2のセキュリティレベル3以上の認証が求められます。

セキュリティ要件に適合

米国政府が規定するセキュリティ要件に対応しようとすると、システム設計者は複雑なタスクをこなす必要があります。セキュリティ関連の規格というものは、規格の策定時に想定した脅威に変化があるたびに変更される可能性がある(変更されるべき)ものであり、基本的には時間の経過とともに厳しくなっていくものです。

このように変化し続けるセキュリティ規格に対応してゆくのは、設計にかなりの問題をもたらすことになります。設計プロセスは、要求されるセキュリティレベルと設計するセキュア製品の最終的な目的に応じて決まるからです。たとえば暗号化された鍵を読み取る手法が高度なものとなっているため、単純に鍵を再暗号化してもセキュリティが大幅に向上することはありません。そのため、そのような手法から暗号鍵を保護するためには、物理的セキュリティの強化を含むさまざまな対策を組み合わせる必要があります。

FIPS 140-2 (セキュリティレベル3あるいは4)、NSAタイプ1、あるいはWIN-Tを満足するセキュアな軍用システムを設計する場合、主電源がない状態でも包括的なタンパー防止機能を提供するコンポーネントを組みこむことが重要です。図2に示すDS3600など、マキシムのDS36xxファミリの製品は、バッテリ駆動時にも(主電源が停止すると自動的にバッテリ駆動に切り替わる)タンパー行為をアクティブに検出し、暗号鍵と重要データの両方について安全を確保する高集積ソリューションとなります。電源モニタとバッテリスイッチがオンチップで用意されており、電源の状態にかかわらずタンパー検出メカニズムが停止することはありません。主電源は常にモニタリングされており、ロースレッショルドよりも下がると、その瞬間、バックアップバッテリへ自動的に切り替わり、内部と外部の保護回路の両方が動作し続けられるようにします。そのため、主電源が失われてもタンパー検出機能が停止することはありません。

Figure 2. The DS3600 secure supervisor uses a combination of features and mechanisms to detect tampering and protect the contents of battery-backed volatile memory, such as internally stored encryption keys, or other sensitive data stored in an external SRAM.
図2. DS3600セキュア監視回路は、さまざまな機能とメカニズムの組合せによって、タンパーを検出し、内部メモリに記憶されている暗号鍵や外部SRAMに記憶されている重要データなど、バッテリーバックアップされた揮発性メモリの内容を保護します。

FIPS 140-2 (セキュリティレベル3と4)や、NSAタイプ1およびWIN-Tの要件を満足するためには、タンパー検出用コンポーネントに外部センサを接続し、保護すべきデータが記録されているデバイスの回りにセキュリティ境界となる保護エンベロープを形成する必要があります。DS36xxシリーズの場合、外部センサを組み合わせることによって、ユニークかつ柔軟なやり方で複層のセキュリティを追加し、政府機関が定めるさまざまな要件を満足することができます。

これらの各種政府規制の準拠に対して、セキュア監視回路のDS36xxシリーズであれば、アナログ電源電圧、ディジタル信号、および抵抗メッシュ型保護センサグリッドを簡単かつ同時にすべて監視することができます。また、DS36xxデバイスはいずれもチップスケールボールグリッドアレイ(CSBGA)パッケージとなっています(図3参照)。これらのパッケージは、マウント後、端子へのアクセスを厳格に制限することによって、制御信号やデータ信号を保護する追加のパッシブな物理的セキュリティとして機能します。

Figure 3. The CSBGA package of the DS36xx family provides a layer of passive protection by limiting access to I/O signals when the device is installed on a circuit board.
図3. DS36xxファミリのCSBGAパッケージは、デバイスを回路基板に取りつけるとI/O信号へのアクセスを制限し、パッシブな保護機能として働きます。

内蔵セキュリティ機能

DS36xxシリーズは、さらなる保護レイヤとしてタンパー検出メカニズムも内蔵しています。これらの内部メカニズムは、カスタマイズされた外部タンパー検出センサとのインタフェースの役割になります。内蔵のタンパー検出メカニズムは、オンチップ温度センサ、ケーススイッチモニタ、電源モニタ、バッテリモニタ、およびオシレータモニタがあり、タンパーの有無を連続的に監視することができます。また、この監視機能は、バッテリ電源動作中も含め、常にアクティブに保たれます。

外部メカニズムと同様に、内蔵メカニズムも、ユーザが定義したスレッショルドか、出荷時に設定されたスレッショルドを越えるとトリガがかかります。たとえば、NSAなどの認証団体やFIPSやWIN-T規格の認証団体が定める必要条件を満足しようとするとき、内蔵温度センサでサブストレートの温度を監視するというやり方が考えられます。温度が上限を超えたり下限を下回ると、デバイスが耐タンパー機能を起動します。

DS36xxデバイスには、瞬時的な温度を計測する以外に、別の温度監視機能があります。これは変化率検出器と呼ばれ、サブストレート温度の変化速度を監視します。温度が急上昇あるいは急降下するとデバイスのタンパー応答機能を起動し、高度な手法によるデータリカバリ技術に対して保護を提供します。

文献には、保護されたSRAMからデータを回復する方法として、電源遮断前にデバイスに液体窒素をかける方法が紹介されています。こうすると、ミリ秒単位で、電源のない状態でSRAMセルのデータ保持が延長されます。しかし、DS36xxファミリ製品は、この行為をタンパーイベントとして解釈し、極低温によるメモリ保持効果が現れる前にメモリ内容を消去します。メモリは物理的配線によって高速クリアが可能となっており、メモリ配列全体の完全リセットを100ns以下で行います。この機能は、インターロックブリーチなど、他のタンパーイベントからトリガしたり、デバイスのI²C/SPI™対応インタフェースへ直接コマンドを送信することによってトリガ可能です。

DS36xxシリーズのデバイスには、ノンインプリンティング鍵メモリと呼ばれる独自の機能も搭載されています。ノンインプリンティング鍵メモリは、SRAMメモリセルを構成するデバイスの酸化膜層に電荷が蓄積されたり欠乏したりする(保存内容によるが)特性によって生じるセキュリティリスクに対処します。このような従来のメモリセルに長期間データを記憶させておくと、酸化膜層にストレスがかかり、最終的にはそこに記憶されていたデータの痕跡が残ってしまいます。こうなると、セルをクリアしても記憶されていたデータの読取りが可能になります。

この酸化膜ストレスの現象を取り除くために設計し、開発されたのがノンインプリンティング鍵メモリ技術です。デバイスに搭載されているのはごく普通のバッテリバックアップされたSRAMメモリですが、これを継続的に補完し、完全な状態に保ちます。そのため、タンパーイベントが検出されたり、直接コマンドによってメモリがクリアされると、全メモリがクリアされ、そこに存在したデータの痕跡は一切なくなります。この機能を活用することによって、軍隊や政府関連機関向けの製品を設計するにあたり、厳重な保護が必要な暗号鍵を安全に保存することができます。

タンパーイベントに対する応答

DS36xxデバイスは、ここまで述べてきたすべてのタンパー入力とタンパーイベントを継続的に監視します。内部あるいは外部のメカニズムでタンパーイベントを検出すると、すぐにタンパー応答が発生します。タンパーイベントがあると、まず、タンパーのソースの特定を行います。タンパーイベントの原因となっている状態が解消されるまで、タンパーラッチは凍結されます。原因が解消されると、リセットされます。DS36xxデバイスがタンパー応答として行う一連の動作の概要を表1に示します。

表1. タンパーイベント検出後にDS36xxデバイスが取る一連の動作

Step Action
1 The internal encryption key is immediately, completely, and actively erased (if applicable).
2 The external RAM is erased (if applicable).
3 The tamper-latch registers record the state of the tamper input sources.
4 The tamper output asserts to alert the system processor.
5 The tamper-event time-stamp register records the time of the tamper event.

セキュアな軍用アプリケーションの構築

物理的セキュリティは記録されている暗号鍵の保護に必要とされるだけでなく、暗号鍵の生成時にも必要です。つまり、同じ機器によって、あるいはそっくりの複製品によって鍵の不正コピーが作成されないようにディジタル暗号鍵は生成されなければならないのです(同じ機器で不正コピーを作られてしまうと、DS36xxファミリによってデータ記録をセキュアとしても意味がなくなってしまいます)。

DS36xxデバイスに内蔵されている乱数発生器(RNG)機能は確定的な擬似ランダムアルゴリズムで、シードには、オンチップで生成される2つの自然乱数を用いています。この機能から連続的に出力されるビットストリームをホストCPUで処理することによって、認定ソフトウェアRNG機能のシードとすることができます。また、各DS36xxのセキュア監視回路は、出荷時に固有のシリコンシリアル番号が書き込まれており、I/Oポートから読み出すことができます。シリアル番号がシリコン自体に書き込まれているため、これを読み出せば、最終製品を識別することができます。

最新のDS36xxデバイスには、発生したタンパーイベントに応じて特定のメモリセルを消去する機能も内蔵されています。これは消去階層と呼ばれる機能で(そのデバイスは表2を参照)、機器の完全性が保たれているようなアプリケーションに便利です。すべての機能が使えるわけではない場合もありますが、タンパー発生後も機器は使い続けることができるためです。このような例としては、軍用セキュア無線機をはじめとする通信機器など、タンパーイベント後もある程度使えないと困るものが挙げられます。

表2. DS36xxの各デバイスと主な特長

Part I/O No. of Analog Voltages Monitored No. of Digital Inputs Monitored Operating Temperature Range (°C) Internal Key Memory (Bytes) External Memory Control Random Number Generator Overvoltage Monitor Battery Monitor Erasure Hierarchy
DS3600 3-wire 4 1 -40 to +85 64    
DS3605 I²C 4 1 -40 to +85 N/A    
DS3640 I²C 5 3 -40 to +85 1k    
DS3641 4-wire 5 3 -40 to +85 1k    
DS3644 I²C 12 4 -55 to +95 1k 2 levels
DS3645 I²C 12 4 -55 to +95 4k  
DS3650 4-wire 2 N/A -40 to +85 N/A      
DS3655 I²C N/A 4 -40 to +85 64          
DS3665* SPI 12 4 -55 to +95 8k 4 levels

防御用アプリケーションは高レベルのデータセキュリティを提供するだけでなく、運用時にも保管時にも大きな温度変化にも耐えられる必要があります。DS36xxの各デバイスは基本的に一般的な動作環境で高いセキュリティを実現することを念頭に設計されていますが、最近の製品の中には軍用温度範囲にかなり近いレベルの動作温度をサポートしたものもあります(フルの軍用温度範囲が-55℃~+125℃であるのに対し、一部DS36xx製品は-55℃~+95℃に対応しています)。

まとめ

表2に示すように、セキュア監視回路のDS36xxファミリは機能が豊富で、暗号鍵の生成と保管、タンパーイベントの監視、タンパーイベント検出時のアクティブかつ完全な鍵破壊などを行うシステムを構築することができます。外部入力も用意されているため、セキュリティレイヤを追加してFIPS、NSA、およびWIN-Tで規定された要件を満足することができます。

*開発中の製品。入手性についてはお問い合わせください。