AN-3675: セキュアな対称認証によるR&D 投資の保護

要約

ID の盗難や偽造ID が横行する時代において、確実な識別を行うことは極めて重要です。これは人物に限らず、電子製品にも当てはまります。ほぼすべての種類の機器メーカーは、アフターマーケット企業がOEM サプライ・チェーンで売り出そうとする偽造コンポーネントから、自社製品を保護する必要があります。セキュア認証は、この脅威に対処する強力な電子的ソリューションであると同時に、最終製品に役立つ機能も追加します。

このアプリケーション・ノートでは、認証の概念について説明します。中でも、知的財産保護、組み込みHW/SW のライセンス管理、セキュアなソフト機能およびステータス設定、タンパ・プルーフのデータ・ストレージといったアプリケーション要件を満たすアナログ・デバイセズのセキュア認証用IC によるソリューションに焦点を当てています。

はじめに

従来の非セキュアなペリフェラルや消耗品に認証機能を追加することが、システム上の必須要件として広く認識されつつあります。システム駆動の代表的な認証には、セキュア・ストレージ、証明書ベースの認証、ペリフェラル、アクセサリ、消耗品に対するチャレンジ/レスポンス方式やOEM 認証などがあります。認証は、信頼性と品質を確保します。認証がなければ、低品質なクローン製品によって損なわれる可能性があります。

認証とは?

認証とは、2 つ以上のエンティティ間でID の証明を確立することを目的とした処理です。1 方向認証では、一方が他方に対して自身のIDを証明します。双方向認証では、双方が互いにID を証明します。最も一般的な認証方法はパスワードです。ただし、パスワードの主な問題は、使用時に露出するため、不正閲覧に脆弱である点です。

フランドルの言語学者Auguste Kerckhoffs は、暗号の歴史的な使用法を調査した後、1883 年に軍用暗号に関する革新的な論文を発表しました。Kerckhoffs は、セキュリティは隠ぺいに依存するのではなく鍵の強度に依るべきであると主張しました。侵害が発生した場合でも、システム全体ではなく、鍵のみを交換すれば済むためです。

実績のある対称鍵ベースの認証方式は、図1 に示すように動作します。秘密鍵と認証対象データ(「メッセージ」)を入力として受け取り、メッセージ認証コード(MAC)が計算されます。MAC はメッセージに付加され、要求に応じて送信されます。メッセージの受信側も同じ計算を行い、自身が生成したMAC と、メッセージと共に受信したMAC を比較します。両方のMAC が一致すれば、そのメッセージは真正です。しかし、この基本的なモデルには弱点があります。傍受された固定的なメッセージとMAC が、後に(または続けて)非真正な送信者によって再送され、真正なものとして誤認される可能性がある点です。

図1. MAC 計算モデル
図1. MAC 計算モデル

MACの発行元(例えばシステム・アクセサリ)の真正性を証明するために、受信側(アクセサリが接続されているホスト・システム)は乱数を発生し、それをチャレンジとして発行元に送信します。次に、MACの発行元は秘密情報、メッセージ、チャレンジに基づいて新しいMAC を計算し、それを受信側に送り返す必要があります。発行元が任意のチャレンジに対して有効なMAC を生成できることを示せば、秘密情報を知っていることが確実となり、その発行元は真正とみなすことができます。図2 に、チャレンジ/レスポンス認証のフローおよび関連するデータ要素を示します。

図2. チャレンジ/レスポンス認証のデータ・フロー
図2. チャレンジ/レスポンス認証のデータ・フロー

暗号学では、メッセージから固定長のメッセージ認証コードを生成するアルゴリズムを1 方向ハッシュ関数と呼びます。「1 方向」とは、固定長出力のMAC から、通常はそれより長い入力メッセージ(秘密鍵を含む)を逆算するのが数学的に実行不可能であることを意味します。

徹底的に検証され、国際的に認証された1 方向ハッシュ・アルゴリズムとして、米国国立標準技術研究所(NIST)が開発したFIPS SHA-2とSHA-3 があります。これらのアルゴリズムの背後にある数学的基盤は、NIST のウェブサイトで公開されています。これらのアルゴリズムには、以下の特徴があります。1)不可逆性 - MAC から元の入力を求めることは計算上不可能です。2)衝突耐性 - 同じMAC を生成する複数の入力メッセージを見つけることは事実上不可能です。3)アバランシェ効果 - 入力にわずかな変化があっても、MAC の結果には大幅な変化が生じます。これらの理由と、アルゴリズムが国際的に精査されていることから、アナログ・デバイセズはセキュア認証用IC のチャレンジ/レスポンス認証にSHA-2 およびSHA-3 を採用しました。

低コストのセキュア認証 - システム実装

1-Wire®インターフェースを利用することで、マイクロコントローラ(μC)などデジタル処理機能を備えた任意のシステムに、DS28E16などのセキュア認証用IC を容易に追加できます。図3 に示す最も単純な例では、必要なのは1-Wire ライン用の1 つの予備マイクロコントローラ・ポート・ピンとプルアップ抵抗のみです。ただし、この方式にはリスクがあり、非セキュアなマイクロコントローラを使用すると、攻撃者に解析されてセキュリティが把握され、侵害される可能性があります。

代わりに、図4 に示すように、1-Wire コントローラ・インターフェースを内蔵したDS2477 SHA-256 コプロセッサなどのIC を使用して、DS28E16 の操作と制御を行うことができます。DS28E16 はマイクロコントローラ単体でも動作可能ですが、DS2477 を使用することで以下の利点が得られます。1) SHA-256 計算をホストμC からオフロードできます。2)システムのSHA-256 秘密情報を高いセキュリティで保存できます。3) 1-Wire 波形の生成がホストμC からオフロードできます。

図3. 基本的なアプリケーション例
図3. 基本的なアプリケーション例
図4. コプロセッサの使用によるセキュリティ強化
図4. コプロセッサの使用によるセキュリティ強化

偽造防止

交換式のセンサー、ペリフェラル、モジュール、消耗品を備えたシステムは、しばしば非正規のアフターマーケット企業の標的となります。こうした偽造品は、安全性の問題を引き起こし、アプリケーションの品質を低下させ、OEMソリューション全体に悪影響を及ぼす可能性があります。ソリューションにセキュア認証を取り入れることで、ホスト・システムはセンサーやモジュールの真正性をテストし、偽造が検出された場合にはアプリケーション固有の対応を取ることができます。図5 に示すように、真正性を確認するため、システムと接続されたペリフェラルとの間でチャレンジ/レスポンス・シーケンスが実行されます。

図5. チャレンジ/レスポンス・シーケンスによる真正性のテスト
図5. チャレンジ/レスポンス・シーケンスによる真正性のテスト

組み込みHW/SW のライセンス管理

リファレンス・デザインは、その後にライセンス供与されてサードパーティによって製造されるため、知的財産の不正使用を防ぐための仕組みが必要です。また、収益面の観点から、リファレンスの使用回数の追跡と確認も必要です。DS28E25 のような事前プログラム済みのSHA-256 認証用IC(サードパーティ・メーカーに納品する前に秘密情報、ユーザ・メモリ、設定がインストールされているもの)を用いることで、これらの要件やその他の多くの要件を容易に満たすことができます。また、起動時のセルフチェックとして、リファレンス(図6)はDS28E25 との認証シーケンスを実行します。ライセンス供与企業とリファレンス機器のみが知っている有効な秘密情報を備えたDS28E25 のみが、有効なMAC で正常に応答できます。無効なMAC が検出された場合、リファレンス・プロセッサはアプリケーション固有の適切な対応を実行します。この方式のもう1 つの利点は、セキュアなDS28E25 メモリに保存された設定を利用して、リファレンス機能や特長のライセンス供与と有効化を選択的に行えることです(この概念の詳細については、ソフト機能管理のセクションを参照)。

有効な秘密情報を備えたDS28E25 またはその他のセキュア認証用IC は、1)リファレンスをライセンス供与する企業が事前にプログラムして供給するか、2)ライセンス供与企業の指示に従ってアナログ・デバイセズが事前にプログラムした後にサードパーティ・メーカーに納品するかのいずれかのセキュアな方法で、ライセンス取得企業またはサードパーティ・メーカーに供給されます。どちらの場合も、送付されるデバイスの数は把握されており、ライセンス料金の検証に利用できます。

図6. リファレンス・デザインの認証
図6. リファレンス・デザインの認証

ハードウェアの真正性の検証

ハードウェアの真正性を検証する場合は、以下の2 つのケースを考慮する必要があります(図7)。

  1. μC のファームウェアまたはFPGA の構成を正確にコピーしたクローン回路基板
  2. 図7 に示すSHA-3 ベースのDS28E50 のようなクローン・システム・ホスト
図7. ハードウェア認証の例
図7. ハードウェア認証の例

最初のケースでは、ファームウェアまたはFPGA がクローン回路基板を認証しようとします。これを成功させるには、クローン・メーカーが秘密情報をセキュア認証用IC にロードして、ユーザのEEPROM にデータを書き込む必要があります。これによってデータはいかにも正しいように見えますが、その秘密情報はシステム内で有効ではありません。ファームウェアやFPGA の変更には複雑な作業が必要であり、更にホストとの互換性を維持する必要があるため、ファームウェアやFPGA 構成はオリジナルの正確なコピーでなければなりません。起動フェーズ中にボードがDS28E50 とのチャレンジ/レスポンス認証を実行すると、DS28E50 が生成するMAC は、ファームウェアやFPGA が計算するMAC とは一致しません。このMAC の不一致は、ボードが真正でないことを示す強力な証拠となります。システムがボードとの間でチャレンジ/レスポンス・シーケンスを実行することでこれを検出し、その後はアプリケーション固有の対応が取られます。

第2 のケースでは、回路基板がホスト・システムを認証します。ボードは以下の手順でホストの真正性を検証できます。

  1. まずチャレンジを生成し、DS28E50 に渡してチャレンジ/レスポンス認証MAC を計算させます。
  2. 同じMAC 計算用の入力データ(もちろん秘密情報は除く)をネットワーク・ホストに送信します。ホストはそのデータと自分の秘密情報からチャレンジ/レスポンス認証MAC を計算し、その結果を返します。

両方のMAC が一致すれば、ボードはホストが真正であると判断できます。

ソフト機能管理

電子システムは、ハンドヘルド製品からラック数台分を占めるユニットまで多岐にわたります。ユニットのサイズが大きいほど、開発コストも高くなります。コストを抑えるために、限られた種類の小型サブシステム(ボード)を組み合わせて大型システムを構築したいというニーズがあります。多くの場合、アプリケーションでサブシステムのすべての機能が必要とされるわけではありません。これらの機能を削除するのではなく、ボードはそのままにして制御ソフトウェアで不要な機能を無効化するほうが、コスト効率に優れています。ところが、これによって新たな問題が生じます。全機能を備えたシステムを複数必要とする購入者が知恵を働かせ、全機能搭載のユニットを1 台と、機能制限されたユニットを数台購入する可能性があるのです。ソフトウェアをコピーすると、機能制限されたユニットが全機能搭載のユニットと同様に、しかも低価格で動作するようになり、システム・ベンダへの正当な支払いを不当に減らすことにつながります。

DS28E25 セキュア認証用IC などのアナログ・デバイセズのSHA-256 デバイスを各サブシステムのボードに実装することで、この種の不正手段からシステム・ベンダを保護することができます。チャレンジ/レスポンス認証の役割に加え、同じDS28E25 が個別の構成設定をユーザEEPROMに保存できます。データ・セキュリティのセクションで説明するように、このデータは不正な変更から保護されており、システム・ベンダが完全に制御できます。構成設定は、システム設計者の判断により、ビットマップまたはコード・ワードの形式で保存できます。

セキュア認証デバイスの概要

全般的なデバイス・アーキテクチャ

デバイスに内蔵されているSHA エンジンは、実行する処理に応じて3 通りの方法で動作します。いずれの場合も、エンジンは入力データを受け取り、MAC の結果を計算します。動作のタイプごとに、MAC の結果の用途に応じてSHA エンジンの入力データは異なります。いずれのSHA 動作でも、対称鍵ベースのセキュア・システムにおける基本要件として、ホストは認証対象のアクセサリ・デバイスに保存されている秘密を知っているか、または計算できる必要があります。

注:セキュアかつアプリケーション依存性の高いセキュア認証製品の性質上、このアプリケーション・ノートではデバイスの詳細は省略しています。これらの情報については、秘密保持契約(NDA)の締結後に提供される個々のデバイスの完全版データシートに記載されています。

チャレンジ/レスポンス認証MAC

SHA-2 またはSHA-3 セキュア認証用IC の主な目的は、チャレンジ/レスポンス認証です。ホストはランダムなチャレンジを送信し、そのチャレンジ、秘密情報、ユーザ・メモリ、更にその他のデータを組み合わせて「メッセージ」を構成し、そこからMAC 応答を計算するようアクセサリ・デバイスに指示します(図8)。

図8. チャレンジ/レスポンス認証MAC のデータ・フロー
図8. チャレンジ/レスポンス認証MAC のデータ・フロー

計算が完了すると、アクセサリ・デバイスは検証のためにそのMAC をホストに送信します。次にホストは、有効な秘密情報と、アクセサリが使用したのと同じメッセージ・データを使用してMAC を再計算します。真正のアクセサリのみがチャレンジ/レスポンス・シーケンスに正しく応答できるため、アクセサリから受信したMAC と一致することでデバイスの真正性が確認されます。チャレンジはランダムなデータに基づいていることが非常に重要です。チャレンジが固定されていると、真正のアクセサリが即座に計算したMAC の代わりに、有効な固定MAC を記録して再利用するリプレー攻撃が可能になってしまいます。

データ・セキュリティ

真正性の証明に加え、アクセサリ・デバイスに保存されるデータが信頼できることを保証することが強く求められます。このため、セキュア認証用IC のEEPROMへの書込みアクセスは厳格に制限されています。

入力バッファからEEPROMまたは制御レジスタにデータをコピーする前に、アクセサリ・デバイスは要求元ホストに対し、有効な書込みアクセス認証MAC を提示して真正性を証明するよう求めます。図9 に示すように、アクセサリ・デバイスは入力バッファ・メモリ内の新しいデータ、自分の秘密情報、およびその他のデータからこのMAC を計算します。

真正なホストは、秘密情報を知っているか、あるいはそれを計算できるため、有効な書込みアクセスMAC を生成できます。アクセサリは、コピー・コマンドの実行中にホストからMAC を受信すると、それを自身の計算結果と比較します。両方のMAC が一致した場合にのみ、データは入力バッファからEEPROM 内の宛先に転送されます。もちろん、書込み保護されたメモリ・ページは、たとえMAC が正しくても変更できません。

図9. 書込みアクセス認証MAC のデータ・フロー
図9. 書込みアクセス認証MAC のデータ・フロー

秘密情報の保護

アナログ・デバイセズのセキュア認証用IC のアーキテクチャでは、秘密情報をデバイスに直接ロードできます。秘密情報の保護は、読出し保護と必要に応じて書込み保護の両方によって実現され、書込み保護は秘密情報を永久に変更できないようにします。機器製造施設での初期インストール時に秘密情報へのアクセスが安全かつ適切に制御されている限り、このレベルの保護は有効です。

秘密情報の安全性は、以下のように様々な方法で強化できます。

  1. アクセサリ・デバイスに秘密情報を計算させる。
  2. 異なる施設で実行される複数の段階に分けて、アクセサリに秘密情報を計算させる。
  3. 固有のデバイスID 番号を秘密情報の計算に組込み、デバイス固有の秘密情報を作成する。
  4. 方法2 と3 を組み合わせる。

個々のセキュア認証用IC がそれぞれ秘密情報を計算する場合、秘密情報の成分のみが知られることになり、秘密情報自体は決して公開されません。異なる施設を用いて複数の段階で秘密情報を計算する場合は、その施設ごとにローカルな成分のみが知られるため、「最終的な」秘密情報の知識を制御する手段となります。秘密情報がデバイス固有の場合は、ホストに追加の計算ステップが必要になりますが、たとえデバイスの秘密情報が漏洩しても、潜在的な損害は最小限に抑えられます。秘密情報を複数段階で計算し、更にデバイス固有にすることで、可能な限り最高度の秘匿性が実現します。しかし、システムの秘匿性を侵害から守るためには、アクセサリと同様にホストも異なる施設でセットアップする必要があります。

秘密情報の計算を指示された場合、セキュア認証用IC はSHA エンジンを使用し、図10 に示すようにデバイス固有のデータ項目を使ってMAC を計算します。次に、そのMAC の結果を用いて新しい秘密情報を導き出します。

図10. 新たな秘密情報を計算するためのデータ・フロー
図10. 新たな秘密情報を計算するためのデータ・フロー

まとめ

アナログ・デバイセズのセキュア認証ソリューションにより、システム開発者は避けられないアクセサリやサブシステムの偽造の試みを防御できます。更に、タンパ・プルーフのユーザ・メモリは、機能設定が可能なシステムにおいて機能を有効化/無効化するための安全な手段を提供します。小型ながら強力なシリコンチップが、最終的に大きな差を生み出します。

参考資料

[1]G. F. O. f. I. S. (BSI), "A Study on Hardware Attacks against Microcontrollers," 17 03 2023.[オンライン]使用可:
https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/Studies/Hardware-Attacks/Hardware-Attacks-Microcontroller.html. [2024年5 月28 日アクセス]

[2]S. S. a. C. W. Franck Courbon, "Reverse Engineering Flash EEPROM Memories Using Scanning Electron Microscopy," CARDIS 2016: Smart Card Research and Advanced Applications, 2016.

[3] Limited Results, "Nuvoton M2351 MKROM," 12 January 2020.[オンライン]使用可:
https://limitedresults.com/2020/01/nuvoton-m2351-mkrom-armv8-m-trustzone/. [2024 年5 月31 日アクセス]

[4] K. H. P. B. Jean-Fran¸cois Lalande, "Software countermeasures for control flow integrity of smart card C codes," in 19th European Symposium on Research in Computer Security, Wroclaw Poland, 2014.

[5] J. Fruhlinger, "Threat modeling explained: A process for anticipating cyber attacks," CSO, April 2020.[ オンライン]Available:
https://www.csoonline.com/article/569225/threat-modeling-explained-a-process-for-anticipating-cyber-attacks.html. [2024 年7 月25 日アクセス]