SRAMPUFの基本とIoTセキュリティのためにそれを展開する方法
この記事では、SRAM PUF(物理的なクローン不可能な機能)とは何か、その仕組み、およびあらゆるデバイスのトラストアンカーとしてモノのインターネット(IoT)セキュリティで提供される機能について説明します。
どのような状況でも、セキュリティは信頼から始まります。あなたがあなたの家に警報システムを持っているとき、あなたはあなたが信頼する人々だけにそのピンコードを与える。それが家族の一員であろうとあなたの友好的な隣人であろうと、信頼なしにあなたはあなたの秘密を共有しません。そして、それが本来あるべき姿です!
この信頼の問題は、個人の身元確認にもつながります。ここでの信頼の基盤は、パスポートや出生証明書などの正式な文書にあります。ただし、これらのドキュメントは特定の人に「安全にリンク」する必要があります。これは通常、人間の生体認証で機能します。身分証明書はすべて、それが単なる人物の写真であろうと、現代のパスポートのように指紋による生体認証であろうと、文書を適切な人物に結び付けるものを持っています。したがって、バイオメトリクスは、権限を持つシステム(国境を越えることができますか?)が構築されるセキュリティアンカーです。
このセキュリティアンカーは、単純なドキュメントが許可されていない第三者によってコピーおよび使用されるのを防ぐために必要です。指紋など、コピーや複製が不可能なものにドキュメントが固定されている場合、セキュリティは十分に強力になり、比較的単純なドキュメントを強力な認証ツールに変えることができます。
同様の課題は、モノのインターネット(IoT)にも当てはまります。何十億もの低コストデバイスの安全な接続は、すべてのデバイスが機密データを保護し、通信を保護する機能を備えている場合にのみ可能です。この保護は、前の例のパスポートと同様に、証明書と暗号化キーによって提供されます。ただし、これらのキーと証明書には、本物のデバイスになりすまして不正なデバイスにコピーできないようにするための物理的なセキュリティアンカーも必要です。このセキュリティアンカーを提供するテクノロジーは、物理的なクローン不可能な機能(PUF)です。 PUFは、デバイス固有でクローン化できない暗号化ルートキーが生成される物理構造です。このルートキーは、デバイスのアプリケーションキーと証明書を保護するために使用されます。
PUFにはさまざまな種類がありますが、信頼性、スケーラビリティ、および使いやすさから、SRAMPUFに焦点を当てます。 SRAM PUFは、IoT全体に展開された多くの異なるテクノロジーノードに拡張できる方法で、簡単かつ柔軟に実装できます。また、ソフトウェアをチップにロードするだけで実装できる、現在知られている唯一のPUFタイプです(専用のハードウェアIPブロックを統合する代わりに、これも可能です)。 SRAM PUFは、接続されるデバイスの数が増え続けているため、人気が高まっているハードウェアベースのセキュリティアンカーです。
SRAM PUFとは何ですか?
PUFは、半導体製造中に自然に発生し、各トランジスタにわずかにランダムな電気的特性を与える深いサブミクロンの変動を利用します。これらの固有のプロパティは、チップの固有のアイデンティティの基礎を形成します。
SRAM PUFは、任意のデジタルチップで使用可能な標準のSRAMメモリの動作に基づいています。すべてのSRAMセルには、SRAMに電力が供給されるたびに独自の優先状態があります。これは、トランジスタのしきい値電圧のランダムな違いに起因します。したがって、SRAMメモリに電力を供給する場合、すべてのメモリは0と1の一意でランダムなパターンを生成します。これらのパターンは、それぞれが特定のSRAMに固有であり、したがって特定のチップに固有であるため、チップフィンガープリントのようなものです。
ただし、このいわゆるSRAM PUF応答は「ノイズの多い」フィンガープリントであり、高品質で安全な暗号化キーに変換するには、さらに処理が必要です。いわゆる「FuzzyExtractor」IPを使用することにより、すべての環境環境で毎回まったく同じ暗号化キーを再構築することができます。
SRAMプロパティからキーを導出するこの方法には、不揮発性メモリ(NVM)の従来のキーストレージと比較して、セキュリティ上の大きな利点があります。キーは永続的に保存されないため、デバイスがアクティブでない場合(キーが保存されていない場合)には存在せず、デバイスを開いてそのメモリの内容を危険にさらす攻撃者がキーを見つけることはできません。
SRAM PUFを信頼のルートとしてどのように使用できますか?
デバイス、特にIoTの一部であるデバイスには、データ、IP、および操作を保護するためのキーが必要です。これらのキーの発信元が信頼でき、キーが攻撃から保護するハードウェアに安全に保存されている場合、それらはデバイスのいわゆる「信頼のルート」を形成します。
キーは、デバイスメーカー(OEMとも呼ばれます)自身がデバイスにプロビジョニングすることも、チップベンダーがさらに早い段階でプロビジョニングすることもできます。チップベンダーが事前にプロビジョニングされたチップを提供する場合、これにより、OEMに販売する製品の価値が高まります。 OEMが自分でプロビジョニングを行うことを決定した場合、通常、より安価なチップを購入できます。
暗号化キーのプロビジョニングの責任を2つの当事者のどちらが負うかに関係なく、実行するのは決して簡単な作業ではありません。秘密鍵をチップに注入するには、信頼できる工場が必要です。これにより、製造プロセスにコストと複雑さが加わり、柔軟性が制限されます。この複雑さは、内部乱数ジェネレーター(RNG)またはPUFを使用して、チップ内にキーを作成することで回避できます。
暗号化ルートキーをデバイスに取得することだけが課題ではありません。機密データをデバイスに安全に保存することも簡単ではありません。 NVMはハードウェア攻撃に対して脆弱であるため、秘密鍵をNVMに単純に保存することはできません。攻撃者がNVMコンテンツを読み取ることを可能にするハードウェア攻撃がますます一般的になり、保護されていないキーストレージが実行不可能になっています。したがって、代替の安全なキーストレージが必要です。 1つのアプローチは、デバイスに安全な要素を追加することです。ただし、ハードウェアを追加すると、複雑さとコストも増加します。 SRAM PUFなどのシリコンPUFは、ハードウェアを追加することなく、暗号化キーを安全に保存できます。
次の表は、暗号化キーをプロビジョニングおよび保存するためのテクノロジオプションのセキュリティレベル、サプライチェーンのオーバーヘッド、およびコストをまとめたものです。
SRAMPUFを使用したキーボールトの作成
SRAM PUFからこのルートキーを取得した場合、信頼のルートを作成するための次のステップは何ですか?次のステップは、SRAM PUFキーを利用して、デバイス上のすべての秘密データを保護するための埋め込みキーボールトを作成することです。このボールトによって保護されているキーは、デバイスの高レベルのサービスとアプリケーションに必要です。したがって、キーボールトは、認証、メッセージ暗号化、ソフトウェア/ファームウェア暗号化などのセキュリティアプリケーションを可能にします。
SRAM PUFを使用すると、次のプロパティを持つキーボールトを作成できます。
- プレーンにキーが保存されることはありません。特に最上位または「ルート」キー
- さまざまなアプリケーションが独自のキーを保存して使用できます
- キーボールトの出力は、ハードウェア暗号化エンジンに直接送信できます
SRAM PUFベースのキーボールトは、次の機能を実装します。
- 登録:登録操作は通常、デバイスのライフサイクルで1回実行されます。これは、デバイスの存続期間にわたって再現できるPUFルートキーを確立します。 PUFルートキーがデバイスを離れたり、保存されたりすることはありません。これは、機密データを出力またはラップ/アンラップするために出力または使用できるキーの第2層を導出するために使用されます。さらに、エラー訂正用のヘルパーデータが作成されます。このデータは機密性がなく、PUFルートキーに関する情報を提供しないため、デバイスからアクセス可能なNVMに保存できます。ヘルパーデータは、本質的にノイズの多いPUFを後で読み取ったときに、SRAMPUFから同じルートキーを確実に再構築するためにのみ使用されます。
- 開始:開始操作は、登録中に生成されたヘルパーデータを、新しい「ノイズの多い」SRAM PUF測定と組み合わせて使用して、内部PUFルートキーを再生成します。デバイスで生成されるヘルパーデータは、そのデバイスに固有のものです。開始操作の実行時に別のデバイスからコピーされたヘルパーデータを使用すると、操作が失敗し、適切なエラーが表示されます。
- ラップ:ラップ操作は、外部から提供されたキーを、元のキーの暗号化および認証されたバージョンであるキーコード(KC)に変換します。この保護のため、KCは保護されていない状態でプレーンに保管できます。 KCでは、元のキーに「ラップ」されたデバイスでのみアクセスできます。
- アンラップ:アンラップ操作はラップ操作の逆であるため、信頼性を確認した後、KCをラップされた元のキーに変換し直します。
- 停止:停止操作は、キーボールト操作を実行する必要が差し迫っていない場合にいつでも発行できます。ルートキーを含むすべての機密データを内部レジスタからクリアし、スリープモードに入る前に使用して攻撃対象領域を減らすことができます。
PUFから複数のキーを取得する
セキュリティシステムの実装には、通常、複数の暗号化キーが必要です。これは次の理由によるものです:
- 1つのアプリケーションの特定のキーが侵害されても、同じシステム内の他のアプリケーションが使用するシークレットのセキュリティに影響を与えることはありません。そのため、システム内の異なるアプリケーションが異なるキーを使用する必要があります。
- システム内の異なる暗号化アルゴリズムは、互いに互換性のない異なる長さまたは異なる構造のキーを想定しています。
- アプリケーションごとに有効期間の異なるシークレットが必要です。たとえば、システムの1つのアプリケーションには有効期間の短いキーがいくつか必要ですが、2番目のアプリケーションには有効期間の長いキーが1つ必要です。
- キーは多くの場合IDに関連付けられ、認証目的で使用されます。これは、システムのさまざまなユーザーがさまざまなキーにアクセスできる場合にのみ意味があります。
これらおよびその他の理由から、単一のキーを単一の目的および/または単一のアプリケーションにのみ使用することは、セキュリティ設計において確立されたベストプラクティスです。ただし、多くの実際の状況では、セキュリティシステムの実装は、この場合のように、SRAMPUFから単一のルートシークレットにしかアクセスできません。シングルキーシングルユースの要件を満たすには、その単一のルートシークレットから複数のアプリケーションキーを生成する機能を備えたキー管理コンポーネントを使用する必要があります。
複数の生成されたアプリケーションキーの重要な特性は、それらが暗号的に分離されていることです。つまり、特定の派生キーの開示が他の派生キーのセキュリティ強度に影響を与えないように生成する必要があります。これは、単純な生成方法(たとえば、単純な算術演算の適用やシークレットの重複部分の使用)は問題外であることを意味します。代わりに、暗号化された安全な鍵導出関数(KDF)を使用する必要があります。これは、暗号化プリミティブ(AESやSHA-256など)を使用して、出力間の暗号化を確実に分離します。したがって、適切に実装されたKDFを利用すると、単一のSRAMPUFインスタンスから実質的に無制限の数のキーを取得できるようになります。
ソフトウェアを介したSRAMPUFの実装
まだ対処されていないSRAMPUFの最大の利点の1つは、事実上すべてのチップで利用可能な物理構造、つまりSRAMメモリに基づいていることです。このPUFタイプは標準の「既成の」SRAMを使用するため、シリコン製造時にロードする必要のないIoT製品を保護するための唯一のハードウェアエントロピーソースオプションです。サプライチェーンの後半にインストールでき、展開されたデバイスにリモートで後付けすることもできます。これにより、これまで不可能だったリモートの「ブラウンフィールド」による信頼のハードウェアルートのインストールが可能になり、IoTを数十億のデバイスに拡張するための道が開かれます。
キーボールトを作成し、複数のキーを取得するための前述の機能は、ハードウェアまたはソフトウェアのIPとして実装できます。 PUFを開発するために必要な唯一のハードウェアは、PUF自体の実際の固有の物理構造です。したがって、(初期化されていない)SRAMへのアクセスがPUFアルゴリズムで利用できるデバイスでは、動作するSRAMPUFを実装できます。この特性により、SRAM PUFは、市場に出回っているさまざまなPUFの中でユニークなものになっています。著者の知る限り、SRAM PUFは、ソフトウェアをデバイスにロードするだけでハードウェアに実装できる、現在存在する唯一のタイプのPUFです。
結論
信頼がなければ、セキュリティはありません。すべてのセキュリティソリューションは、対象の身元を証明するものから始まります。対象がIDペーパーを発行される人物であるか、IoTに導入されるチップであるかは、疑いの余地がありません。この記事では、SRAM PUFテクノロジーを、あらゆるIoTデバイスの信頼性が高くスケーラブルで使いやすい信頼のルートとして紹介しました。専用のハードウェアIPブロックとして実装されている場合でも、デバイスにロードされているソフトウェアとして実装されている場合でも、チップのシリコンの小さなデバイス固有のバリエーションから信頼できる暗号化ルートキーを作成します。 SRAM PUFを使用すると、デバイスのルートキーがサプライチェーンの誰にも知られておらず、デバイスが信頼できない手に渡った場合に変更または複製できないことが保証されます。このルートシークレットに加えてセキュリティ機能を拡張することにより、機密データとシークレットキー用の信頼できるボールトを構築し、デバイスに必要なすべての追加キーを取得して保護できます。そのため、SRAM PUFは、システムを地面(またはシリコン)から保護するための優れた方法です。
モノのインターネットテクノロジー
- 2020年のIIoTセキュリティのヒントとトレンド
- IoTが石油とガスのセキュリティ脅威にどのように対処しているか
- ユニバーサルIoTセキュリティ標準の検索
- IoTを使用してAIの準備をする方法
- セキュリティとプライバシーがIoTを妨げていますか?
- ITリスクの評価–方法と理由
- 企業がIoTを活用して大規模なデータ収集と分析を行う方法
- 自動化とIoT:ヘルスケアロジスティクスとセキュリティのために天国で行われた一致
- グローバルIoTセキュリティの3つのステップ
- メンフィスを「スマート」にする:IoTデバイスの可視性、制御、セキュリティ
- IoTプロジェクトが失敗する5つの理由とそれを回避する方法