i.MX6UL3 SODIMM SOMのセキュリティ機能

2016年10月24日 i.MX6UL3 SODIMM SOMのセキュリティ機能

NXPのi.MX6UL3 Cortex A7ベースのCPUは、総合的なセキュリティ機能を備えアクセス制御、e-コマース、モバイルPOSのようなセキュリティ機能が重要なアプリケーションに最適です。

アイウェーブは早くからi.MX6ULを採用した会社の一つであり、Linux BSPを備えたコンパクトでコストエフェクティブな i.MX6UL3 ベースのSOMをサポートしています。
このBSPは改ざん(タンパー)検知、高信頼ブート(HAB)および暗号エンジン(DESアルゴリズムを使った差分電力解析-DPA)等様々なセキュリティ機能が強化されています。

改ざん(タンパー)検知:
i.MX6UL3のセキュア不揮発ストレージ(SNVS)ロジックブロックは、改ざん検知ロジックを組み込んでいます。改ざん検知には外部及び内部の二つのタイプがあります。
外部改ざん検知はデバイスが認可されていない侵入や改ざんに出会った場合チップピン経由で知らせる特殊なメカニズムです。 チップの中では受信した信号を本来の信号レベルと比較し、それが一致しなければ改ざんの事実が見つかる仕組みです。 本来の信号が固定されている場合はパッシブな改ざん、信号が時間とともに切り替わる場合はアクティブな改ざんと呼ばれます。
このチップは最大10個のパッシブ・タンパー検知ピンもしくは5個のアクティブ・タンパー・ピン・ペアをサポートします。
アクティブ・タンパーはオンチップ・ワイヤメッシュの改ざんの検知に使用します。 5個のアクティブ・タンパー出力ポートと10個の外部タンパー入力があります。i.MX6UL3 CPU.の10個のタンパー入力の何れかと如何なるアクティブ・タンパー出力の組み合わせも設定可能です。

内部テンパー検知は電圧、温度、時刻モニター等もサポートします。
電圧モニターはバッテリ電圧範囲外を監視します。 許容されるバッテリ電圧は、2.5V (low-trip point) から3.5V (high-trip point)です。 ヒステリシスは各トリップ点に対し100mVです。
電圧モニターが“電圧範囲外”違反を発するとタンパーが検知されます。
温度モニターは-30°C の低トリップ点スペックから115°C の高トリップ点スペックをもっております。 ヒステリシスは各トリップ点に対し5°Cです。 温度モニターが“温度範囲外”違反を発するとテンパーが検知されます。
システムは外部SRTCクロック状態の自動検知機能があり、エラーが検知されると代替の内部クロック・ソースが機能します。

 クロック・タンパーは以下のタンパーを発するシナリオを検知します::
・ クロック不検出
・ アンダー・クロック・タンパー: クロック(32Khz)がプログラムされた低閾値を下回った場合
・ オーバー・クロック・タンパー: ロックがプログラムされた高閾値を上回った場合
システムは常時電源入り(RTCボタンベンチ電池)状態にしなければなりません。

 もしソフトウエアでタンパー検知エラーが可能であれば、タンパー・コンタクトが開始されます:
・ タンパー検知アラーム・インタラプトがアサートされると同時にシステム電源をONする。
(ソフトウエア・リアクションで)
・ セキュリティ関連のハードウエアを起動 (例 . 自動的かつ即時のマスターキーの消去、アクセス
拒否、セキュアなメモリコンテキストの消去)

高信頼ブート(HAB):
HABとはシステム・ブートROMがサポートする高信頼ブート機能であり、ブートシーケンス中の不正なソフトウエア (マルウエア)を検知し実行を防止します。

HABは不正なソフトウエアを以下の方法で防止します:
・ 正規のソフトウエアを認識するのにデジタルサインを使用。 これによりユーザはデバイスを既知の
初期状態にブートしデバイス製造業者のサインしたソフトウエアをランできる。
・ HAB機能の実装に非対称暗号を採用
・ HAB機能のテストにNXP製のcstツールを使用
・ u-bootレベルでHABの状態をチェック可能
・ クローズ・モード設定ではボードはサインされたブート・イメージのみをブート

HABは以下の機能を組み込んでいます:
・ オンチップのマスクROM経由の強制初期ブート
・ ブート・デバイスからロードされたソフトウエアの認証 (USBダウンロードを含む)
・ RSA 公開キー(1024 bit ~4096 bit)およびSHA-256ハッシュ・アルゴリズムを使った
CMS PKCS#1 サイン認証
・ X.509v3 認証を使った公開キーインフラ(PKI) サポート
・ 製造業者がプログラムできるオンチップ・ヒューズのルート公開キー指紋
・ ヒューズにより取り消し可能な複数の公開キー
・ 他のセキュリティ部位の初期化
・ セキュリティ・エラー時、認証済みのUSBダウンロード
・ 開発目的及び非セキュアプラットフォーム用のオープンなコンフィギュレーション
・ セキュアなプラットフォーム出荷用のクローズなコンフィギュレーション

HAB は以下のようなセキュリティ機能をインテグレートしています:
・ HABはTrust Zone Secure Worldの中で実行します。
・ HABはSNVSセキュリティ・モニター・ステート・マシーンを初期化します。
SNVS が選択するマスター秘密キーを使用ためHABでのセキュアブートの成功が必要です。
・ HABはルート公開キー指紋、リボケーション・マスクおよびOCOTP_CTRLの設定をリードします。.
・ HABはCSUを初期化します。
・ HABはハッシュ演算を加速します。

DESアルゴリズムを使った差分電力解析(DPA):
DPAは秘密キーを使用するための暗号アルゴリズムです。 DESアルゴリズムを使用してテキストを暗号化、復号します。
もしも暗号化、復号されたメッセージ間に違いがあればエラーメッセージを表示します。
ここで説明するベーシックな差分電力解析はDES暗号の2つのプロパティに依存しています。
第1は、個々のDES S-box 出力がターゲット・デバイスの記録した電力情報と相互の関連づけられるセンシティブなデータを生成するということです。
第2は、個々のDES S-box 入力がそのラウンドで使用された48ビットのサブキーの内の6ビットのみを使用することであり、最も強い相互関係を徹底的に調べるのにはこれで十分です。
この解析の目的は最初のラウンドで使用したサブキーを検索することです。 このサブキーで十分であることが決まればDES暗号で使用されるフルキーは徹底的検索メソッドで見つけることができます。