アプリケーションノート 3294

セキュアコプロセッサとしてDS5250を使用することでシステムのセキュリティを強化

筆者: Kevin Self

要約: このアプリケーションノートでは、パスワード、PIN、暗号化キー、およびその他の重要なデータを保護するための、セキュアコプロセッサとして、マキシムDS5250高速セキュアマイクロプロセッサを使用する方法について説明します。DS5250は、トリプルDESのバス暗号化、精巧なタンパーセンサ、およびバッテリバックアップ付きSRAMを利用して、貴重な知的財産を保護するための暗号境界を形成しています。ユーザ設定の可能な外付けのタンパーセンサを使用することで、システム設計者はDS5250のセキュリティ保護を拡張してアプリケーションの周辺も含めることが可能となり、必要に応じてシステムコンポーネントのすべてを保護することができます。

はじめに

多くの組込システムは、汎用コンピュータを使用して構築されています。コンピュータは、実績のある設計と従来コードを用いた標準化アーキテクチャに基づいています。これらの機能は設計者にとって魅力のあるものですが、このようなシステムはデータのセキュリティを考慮して構築されていません。このため、機密となる処理手順や機密情報を取り扱うアプリケーションなどの重要な組込システムの市場には適していません。金融端末、ID認証、さらにパスワードと暗号化キーを保管するシステムなどの組込システムでは、それらのデータを保護するための強力な手段が必要です。また、現金自動預払機(ATM)など、物理的に外部に露出されるアプリケーションは常に危険にさらされています。データのセキュリティと汎用コンピュータの利便性を兼ね備えたシステムが要望されていることは明らかです。

汎用コンピュータにセキュリティを追加する最も一般的な方法は、高価な物理的筐体の中にシステムを収容することです。ただし、侵入不能な物理的な障壁を構築することはほとんどのアプリケーションで非現実的であり、また物理的なセキュリティというものは、時間が与えられればどのようなレベルであっても破られることを想定しておく必要があります。データセキュリティ分野の専門家は、「秘密のデータを真に保護する唯一の方法は暗号化の防壁でデータを取り囲むことである」と断言しています。さらに、システムは物理的タンパーと暗号タンパーのどちらも検出し、タンパー応答としてメモリの内容を即座に消去できることが必要です。タンパー反応型の暗号境界によって、秘密のキー、プログラム、およびデータのための安全な保護シールドが作成されます。

このアプリケーションノートでは、マキシムDS5250高速セキュアマイクロプロセッサなどのセキュアコプロセッサを追加することによって汎用アーキテクチャを保護する方法について説明しています。セキュアコプロセッサを使用すると、システム内のコンピューティング機能をセキュアな機能と非セキュアな機能に分割することができます。セキュアな機能とは、暗号化キー、パスワード、PIN (個人識別番号)、およびその他の知的財産の使用と保護に関連する機能です。セキュリティを必要としないシステム機能は、非セキュアプロセッサに任されます。非セキュアシステムにセキュアコプロセッサを追加すると、アーキテクチャを再設計しなくてもシステムのセキュリティレベルを引き上げることができます。

セキュアコプロセッサとは?

簡単に言えば、セキュアコプロセッサとは、他の主要なコンポーネントを含んだシステムのセキュリティを強化するものです。セキュアコプロセッサは、システム内のセキュリティ関連のタスクを実行する責任を負い、非セキュアなプロセッサがシステムの主要機能を実行できるようになります。このように機能を分離することによって、設計のプロセスが簡素化され、システムのパフォーマンスが向上します。アプリケーションは、以下に示すようなセキュア機能と非セキュア機能に大まかに分割することができます。

非セキュアな機能 セキュアな機能
オペレーティングシステム ネットワークとのセキュアな通信
ディスプレイ タンパーの監視用筐体
キーボードのスキャニング パスワードと暗号化キーの保管
汎用I/O 汎用のデータ暗号化
磁気ストライプリーダー 公開キーによる認証
プリンタ セキュアなプログラム/データのアップロード/ダウンロード

非セキュアなプロセッサとしては、ARM®、SHARC®、PowerPC®など様々な製品がありますが、フラッシュやEPROMなどの不揮発性メモリを使用することができます。通常、非セキュアプロセッサとセキュアプロセッサとの間には、ステータス情報とデータを送信するための専用のシリアル通信チャネルがあります。セキュアプロセッサが、侵害された非セキュアプロセッサによってだまされて、保護された情報を暴露することのないようにシステムを慎重に設計する必要があります。

セキュアコプロセッサの第一の機能は、パスワード、PIN、および秘密キーを保管する場所を提供することです。このようなデバイスは、強力な暗号化機能を取り入れた専用のものでなければなりませんが、同時に様々なシステムレベルのセキュリティ機能をサポートするための柔軟性も必要です。セキュアコプロセッサの最も重要な機能を以下にまとめています。
  • パスワード、PIN、および暗号化キーなどの機密データを保管するための保管室を提供します。このデータを保持するメモリと外部メモリバスは、DESや同様のアルゴリズムなどの強力な暗号技術を使用して暗号化されていなければなりません。このメモリ保護は、セキュアコプロセッサおよびアプリケーション全体のセキュアトランザクションについて、信頼の証拠として機能します。
  • 物理的な侵害(プロービング)および環境的な侵害(電圧や温度の変更)の両方を検出するためのアクティブなタンパー検出を行う必要があります。これは、ケースに侵入するなどの外側からのタンパー攻撃を検出できる必要があります。
  • 一度でも侵害が検出されたならば、アクティブなタンパー反応を示す必要があります。タンパーイベントが検出されたら、セキュアコプロセッサは、即座に重要なデータをゼロ化し(消去し)、敵対者によってデータが復元される可能性を防止する必要があります。この時間内で消去することのできる唯一のメモリ技術は、SRAMです。
  • コードの置換を検出し、また多数のサイドチャネル攻撃を防止する必要があります。検出したならば、デバイスは、タンパー応答を実行しなければなりません。
  • タンパー検出やメモリゼロ化などのセキュリティ機能は、システムの主電源が取り除かれたとしても、実行する必要があります。
  • システムレベルでの暗号化の要求に対応するために、アプリケーションソフトウェアで暗号化ハードウェアを利用できるようにしなければなりません。
以上で、セキュアプロセッサと非セキュアプロセッサの要件が明確になりました。これで組込システムを視覚化することが可能になります。このシステムのブロック図を図1に示します。これは、システムの周辺装置に接続された汎用CPUを示しています。汎用CPUは、専用のプログラムとデータのメモリが備わっていますが、これらには機密情報は含まれていません。セキュアコプロセッサは、セキュアな通信チャネルに接続され、また暗号化処理を実行して汎用プロセッサをサポートします。セキュアコプロセッサの暗号化保護によって暗号境界を形成し、すべての重要データを盗難から保護します。さらに、汎用CPUのために実施されるシステムレベルの暗号計算は、暗号境界の内側で安全に実行することができます。これには、RSAの計算に必要なモジュロ累乗法による演算が含まれます。適正に設計されたシステムでは、暗号境界の外側で秘密もしくは保護された情報を平文として利用することは不可能です。

図1. セキュアな組込システムのブロック図
図1. セキュアな組込システムのブロック図

DS5250のセキュリティ機能

以上の要件を満たすセキュアコプロセッサの1つが、DS5250高速セキュアマイクロコントローラです。これはセキュアマイクロコントローラファミリの1つであり、極めてセキュアな、4クロック/マシンサイクルの8051命令セット互換マイクロプロセッサです。これは、データのセキュリティが最重要となる、PINパッドや金融端末などのアプリケーションの暗号化エンジンとして使用できるように設計されています。デバイスの主要な機能は、ハードウェアベースのシングルまたはトリプル(3) DES (Data Encryption Standard)アルゴリズムを用いてそのプログラムメモリを暗号化することです。これによって、攻撃者は情報や秘密キーを取り出すことがほぼ不可能になります。データメモリについては、オプションのバイト単位の符号化が利用可能です。これによってこのデバイスは、パスワード、個人識別番号、暗号化キー、およびその他の高度な機密情報の保管と転送に理想的なデバイスとなります。

真に頑強なシステムは、受動的な暗号化よりもさらに進歩したものでなければなりません。また、極めて重要な内部データを守るために、進行中のタンパー攻撃を検出して正しく反応できるだけの頭脳が必要です。DS5250は一連のセンサを組み込むことで、物理的にチップを損ねようとする攻撃試みや、環境的な状態のハイ/ロー操作を検出します。オプションとしてプログラムメモリをブロック単位のチェックサムで保護することができます。これは無作為な命令を強いる攻撃を検出するものです。これらの攻撃が検出されると、デバイスはメモリ内容を破壊するリセットを実行します。これによって、内部の暗号化キー、すべてのMOVX SRAM、および、場合によっては外付けの暗号化SRAMも消去されます。内部の暗号化キーが消去されると、外付けの暗号化メモリは理解不能となります。

専用メモリを強力な暗号化によって保護することに加えて、DS5250はアプリケーションが利用できるリソースを備えており、これを使用してシステムレベルのセキュリティを強化することができます。モジュロ算術アクセラレータは、RSA (公開キー/秘密キー)計算の必須部分である、モジュロ累乗法による演算をサポートしています。ユーザがアクセス可能な専用のDESエンジンによって、アプリケーションソフトウェアはカスタマイズされたシングルまたはトリプルDES演算を実行することができます。この結果、アプリケーションソフトウェアは、さまざまなセキュアネットワークに柔軟に接続できるようになります。

フェンスの拡大

暗号化による直接的な防御に加えて、DS5250は、セキュリティの覆いをシステムにまで拡大することができます。DS5250には、自己破壊入力ピンがあり、ユーザ定義の外付けタンパーセンサに接続することができます。このピンがアクティブになると、マイクロコントローラの内部暗号化キーとメモリが消去されます。この方法でセキュアコプロセッサを追加することにより、汎用プロセッサを含めてDS5250のタンパー検出能力を拡張します。汎用プロセッサのアクセスを獲得する攻撃では、システムが動作不能になります。簡単な自己破壊入力を設計することで、アプリケーションの筐体にタンパー検知能力を容易に追加することができます。センサの種類とその用途の一部を以下に示します。複数のセンサを使用すれば保護を追加することが可能です。

接触センサ

接触センサには、単純なリミットスイッチから、筐体を開いたときに導電性インクのトレースを破断するような複雑なセンサまで含まれます。

光センサ

ケース内側の単純な光センサは、ケースが開かれたときに光を検出して、タンパー応答を起動します。

圧力センサ

加圧された筐体の気密が破られると、圧力センサをアクティブにすることができます。

モーション/傾きセンサ

アプリケーションによっては、筐体の動きがタンパー攻撃を示す場合があり、これによってモーションセンサを起動することができます。

セキュアな組込システムの構築

以下に示すアプリケーション例は、DS5250高速セキュアマイクロコントローラを金融端末のセキュアコプロセッサとして利用しています。アプリケーションは、中央処理システムの制御下で、いくつかの外付け周辺機器を駆動します。アプリケーションは、公開キー基盤(PKI)を使用した暗号化された通信チャネル上で、機密情報を通信する必要があります。アプリケーションは、端末の秘密キー、ネットワーク上の他のデバイスの公開キー、およびPINとパスワードを保護することが必要となります。

図2. DS5250を使用したセキュアな組込システム
図2. DS5250を使用したセキュアな組込システム

汎用マイクロコントローラの主要な機能は、高水準のオペレーティングシステムを実行することです。このプロセッサは、高度なグラフィック表示などのシステム機能を駆動し、スキャナ、プリンタ、キーボードなどの外部の周辺装置と通信します。プロセッサは、単純な(RX/TX)非同期UART、SPI™、またはSCIなどの一般的なシリアルプロトコルを使用してセキュアなマイクロコントローラと通信することで、マイクロコントローラのアーキテクチャ間での互換性の問題を最小限にしています。

このアプリケーションでは、DS5250がセキュアコプロセッサです。セキュアコプロセッサは、セキュアな通信を実行するだけでなく、暗号化キー、PIN、およびパスワードなどの重要な情報を盗難から守るという役割があります。この役割を達成するため、バッテリバックアップされたSRAMに3DESで暗号化された重要な情報を保管しています。内部SRAMは、最も強固に保護されているため強力なデータセキュリティをもたらします。暗号化やその他のセキュリティ機能によってマイクロコントローラとそのメモリの周囲に暗号境界を構成しているため、瞬時にデータを破壊することなしに境界を突破することはできません。

DS5250メモリ用の暗号化キーは、DS5250自身の中に含まれているため、プロービングや一連の電圧/プローブ/熱の高性能センサによるその他の物理的な攻撃から保護されます。プログラムやデータの外付けメモリは暗号化されているため、このメモリおよびDS5250の内部SRAMは暗号境界の内側に含まれています。

アプリケーションは、3DESで暗号化された通信を介してネットワークに接続され、ユーザがアクセス可能なDS5250のDESエンジンによって許可されます。これによって、金融トランザクション情報のためのセキュアな通信チャネルを提供します。アプリケーションソフトウェアが通信フォーマットを確定するため、ほとんどすべてのネットワークと自由に接続することができます。

まとめ

非セキュアなアーキテクチャに基づいた設計にセキュリティを追加したいという要望がありますが、物理的なセキュリティは、高価で効果が低いため最適な解決策にはなりません。組込システムを非セキュアとセキュアな機能に区分すれば、既存の設計にセキュアコプロセッサを追加することで、基本アーキテクチャを再設計することなくシステムのセキュリティを強化することができると考えられます。セキュアコプロセッサは、侵入がほぼ不可能な暗号化キー、PIN、およびパスワードなどの重要な情報の保管室として機能します。DS5250高速セキュアマイクロコントローラは、このようなセキュアコプロセッサの1つです。その外付けのプログラムメモリをDESアルゴリズムで暗号化することによって、プロセッサの演算と機密データは盗聴者にとって理解できないものとなります。様々なタンパーセンサによって侵入攻撃を検出し、マイクロコントローラの内部メモリと暗号化キーをすべて消去して、データを使用できないようにします。DS5250は、様々な外付けのタンパーセンサに対応しており、筐体を突破したり、情報にアクセスしようとする攻撃を検出することができます。このようにして、セキュアコプロセッサの耐タンパー機能をアプリケーション全体に拡大することができ、セキュアコプロセッサだけでなく汎用プロセッサも保護することができます。

次のステップ
EE-Mail EE-Mail配信の登録申し込みをして、興味のある分野の最新ドキュメントに関する自動通知を受け取る。
© , Maxim Integrated Products, Inc.
このウェブサイトのコンテンツは米国および各国の著作権法によって保護されています。コンテンツの複製を希望される場合は お問い合わせください。.
APP 3294:
アプリケーションノート 3294,AN3294, AN 3294, APP3294, Appnote3294, Appnote 3294