最大のIoTセキュリティのための手頃なRoTを選択する方法

ソースノード: 1442950
組み込みIoTセキュリティ
イラスト:©IoT For All

エッジデバイスは毎年展開される最も一般的なIoTデバイスですが、各エッジデバイスはハッカーの潜在的なアクセスポイントを追加します。 これらのエッジデバイスは通常、温度や場所などのデータを収集し、ローカルネットワークに接続してデータをクラウドサービスまたは内部サーバーに送信するセンサーです。 膨大な数のエッジデバイスとそれらがネットワークに提供するアクセスにより、 彼らのセキュリティの重要性は過小評価することはできません.

IoTデバイスのセキュリティはマイクロコントローラーから始まります。 安全な不変のブートや耐タンパー性など、マイクロコントローラーに統合する必要のある多くの保護手段があります。 接続されたデバイスと安全に通信するためのもうXNUMXつの重要な要件は、デバイス認証、つまりIDの証明です。 このIDは一意である必要があります。 IDが確立されて証明されると、安全な通信リンクを構築できます。 リンクは暗号化キーを使用して暗号化されます。 デバイスのIDとその暗号化キーはどちらも、「シード」と呼ばれる乱数から取得されます。 安全なマイクロコントローラー、一意のID、および暗号化キーが一緒になって、信頼のルート(RoT)を形成します。 RoTは、IoTネットワーク内のセキュリティの基盤です。

RoTが半導体チップにどのように組み込まれるか

マイクロコントローラ内でRoTを作成するには、XNUMXつの基本的な方法があります。 最も一般的なのは、ハードウェアセキュリティモジュール(HSM)と呼ばれる外部コンピューターを使用することです。 これは、乱数と暗号化キーの生成、およびそれらのキーの管理に特化したコンピューターです。 キーはマイクロコントローラーの外部で生成され、プログラミングインターフェイスを使用してマイクロコントローラーにプログラムされます(「キーインジェクション」と呼ばれるプロセス)。 通常、キーインジェクションにはセキュリティ上の問題があり、インターフェイスを暗号化できないことがよくあります。

もうXNUMXつの方法は、チップ自体が一意の値を生成し、それらを暗号化キーに変換する方法です。 通常、マイクロコントローラは、製造プロセス中に発生するランダムな物理的変動を使用して、ランダムシードを生成する場合があります。 これらのプロセスのバリエーションは、Physical UnclonableFunctionsまたはPUFと呼ばれます。 PUFはランダムシードを生成します。シードは、マイクロコントローラーにすでに統合されている周辺回路機能であるキー生成アクセラレーターによってIDと暗号化キーに変換できます。

キーインジェクションの詳細

キーインジェクションは、専門のプログラミング機器が必要なため、比較的高価になる可能性があります。 通常、これは、HSMと密接にリンクされたプログラマーを使用する専門のプログラミング会社によって提供されます。 サードパーティと取引しているため、これはセキュリティリスクをもたらし、方法論は、サードパーティの関与を回避することによってセキュリティに対してゼロトラストアプローチを採用するというセキュリティ専門家の最新の推奨事項に反します。

挿入されたキーは、デバイス内のメモリに保存する必要があります。 これらは通常、不揮発性メモリに保存され、マイクロコントローラ内のハードウェアセキュリティテクノロジによって保護されます。 たとえば、ArmのTrustZoneテクノロジは、実行環境を安全なメモリと安全でないメモリ、周辺機器、および機能に分割します。 このような対策を講じたとしても、キーはデバイスの標準のフラッシュメモリに保存されているだけなので、悪意のある個人がキーを読み取る可能性があります。 さらなる脆弱性は、キーが暗号化されていないリンクを介してデバイスに転送されることが多く、攻撃にさらされる可能性があることです。

PUFがセキュリティリスクの一部を排除する方法

PUFについて詳しく見ていきましょう。 SRAM PUFは、第XNUMX世代のPUFテクノロジの良い例です。 SRAMは、ほとんどのマイクロコントローラーとマイクロプロセッサーに組み込まれています。 これらのチップの電源を入れると、SRAMセルはそれぞれXNUMXまたはXNUMXの状態になります。 それらがどの状態に落ち着くかは、シリコンウェーハの小さな物理的変化に依存します。 バリエーションはランダムであり、暗号化キーの生成に使用できるシードを作成するために使用されます。 デバイスのSRAMは、そのマイクロコントローラーのフィンガープリントになり、一意のIDを提供します。 SRAM PUFは、すでにマイクロコントローラーに搭載されているメモリテクノロジーを使用しているため、PUFを駆動するために必要なソフトウェアがいくつかあります。

フラッシュメモリは別のタイプのPUFです。 フラッシュメモリは、ほとんどのマイクロコントローラですでに利用可能です。 フラッシュセルは、各メモリセル内のトランジスタのゲートの酸化ケイ素絶縁層で何らかの破壊が発生するポイントまで過度にストレスをかけることによって「プログラム」されます。 各フラッシュセルを構成するXNUMXつのトランジスタ間の不一致のため、XNUMXまたはXNUMXのいずれかが得られます。 このタイプの技術ではゲート酸化物の破裂を誘発するために高電圧が必要であるため、最初のプログラミング段階がありますが、プログラムが完了すると、そのフラッシュセルにランダムなデータが取得され、それを読み取ることができます。 これにはある程度の準備が必要ですが、マイクロコントローラーまたはマイクロプロセッサーにすでに搭載されているテクノロジーを利用します。

これらの第XNUMX世代PUFテクノロジーの長所と短所

まず、SRAMバリアントを見てみましょう。 主な利点は、マイクロコントローラーにキーを挿入する必要がないことです。 キーを生成するためのシードは、すでにチップにあるSRAM自体によって作成されます。 キーはメモリに保存されませんが、SRAMセルの物理的な構成に保存されます。 これにより、チップのハッキングが困難になります。

SRAM PUFテクノロジーは、Intel、Microsemi、NXP、ザイリンクスなど、いくつかの半導体メーカーで使用されています。 ただし、このテクノロジーには制限があります。そのXNUMXつは、一般にシードがXNUMXつしか生成されない傾向があることです。 複数の暗号化キーが必要な場合は、この共通シードからそれらを生成する必要があります。つまり、それらは数学的に相関しており、その関係が存在しない場合よりも本質的に安全性が低くなります。

さらなる妥協点は、セルが常に同じ優先状態で起動するとは限らないことです。 これは、セルから作成するシードが安定していて再現可能であることを確認するために、エラー訂正が必要であることを意味します。 再現性の程度は特定のメモリメーカーに依存し、SRAMベースのPUFのエントロピーまたはランダム性の程度が不十分な場合があります。 攻撃に対する疑わしい抵抗があります。 IDはSRAMセル内にあるため、電流が流れていることがわかります。したがって、セルはサイドチャネル攻撃を受けやすく、電流の測定やその他の電気的現象を使用して各セルの状態を読み取ることができます。 また、SRAM PUFは、電源投入時のセットアップ時間が比較的長いため、マイクロコントローラーとそれが駆動するIoTデバイスが残り、この期間中に攻撃を受けやすくなります。

次に、フラッシュメモリのPUFについて考えてみましょう。 繰り返しになりますが、デバイスにキーを挿入する必要はなく、シードはすでにマイクロコントローラーにあるフラッシュメモリに作成されます。 シードがメモリにプログラムされたら、単純な読み取りを使用して低レイテンシでシードを抽出できます。 フラッシュセルがプログラムされた後、その状態は変化しないため、プロセスはエラー訂正を必要としません。

もちろん、シードをメモリに保存すると、攻撃を受けやすくなります。フラッシュメモリPUFのさらなる欠点は、プロセスに高電圧を導入するために必要なチャージポンプが必要なため、シリコン領域のオーバーヘッドが増えることです。半導体の酸化物層を破裂させます。 SRAM PUFと同様に、フラッシュメモリPUFは、自己完結型の専用セキュリティ回路ブロックに基づいていません。 フラッシュメモリは再利用されているため、他の機能には使用できません。 酸化物層を破裂させるようにメモリをプログラムする必要があるため、セットアップ時間も比較的長くなります。

第XNUMX世代のPUFがIoTセキュリティをどのように改善するか

第64世代のPUFは、セキュリティ用に特別に設計され、標準のCMOSプロセス用に最適化されたシリコンIPブロックです。 それらは通常、指紋が抽出される各デバイスのCMOSプロセスに組み込まれた64 xXNUMXセルアレイで構成されます。 そのフィンガープリントのランダムな性質は、アレイ内のCMOSトランジスタの酸化シリコン層の原子位置とナノ構造の欠陥に基づいています。 IP内の回路は、各トランジスタペアの酸化物層を横切る量子トンネル電流を測定します。 トンネル電流の確率的でランダムな性質により、フィンガープリントのXNUMXとXNUMXが生成されます。 測定された電流は、フェムトアンペアのオーダーです。 これらの電流の変動により、一意で不変でクローン化できないチップIDを生成するために使用される乱数が生成され、そこから暗号化キーをオンデマンドで作成することもできます。

これらの第64世代PUFは、可能な限り最高のセキュリティを提供します。 まず、それらは高いエントロピーまたはランダム性を示します。 確率的な量子効果を測定しているため、これは保証されています。 これらは64x XNUMXセル配列内に複数の無相関キーを生成し、キーはオンデマンドで生成されるため、リークの影響を受けやすいメモリに保存する必要はありません。

テクノロジーの独立したテストは、それがすべての既知の攻撃方法に対して安全であり、EALレベル4セキュリティ認証をサポートできることを示しています。 XNUMXつのバージョンは、PSAレベルXNUMX対応としてPSA認定も受けています。 もちろん、対応するSRAMやフラッシュメモリと同様に、第XNUMX世代のPUFは、キーインジェクションの必要性とそのプロセスに伴うセキュリティリスクを排除します。 IPのシリコンフットプリントは小さく、コストを最小限に抑え、エラー率を低く抑えます。これは、プロセッサのオーバーヘッドを最小限に抑える小さなエラー訂正アルゴリズムで簡単に補正できます。 実績のあるテストチップが現在入手可能であり、主要な半導体企業は、今後数か月以内に、この第XNUMX世代PUFをRoot-of-Trustテクノロジーとして採用することを発表します。

作者は、Root-of-Trustについて詳しく説明するビデオを作成しました。これは、次の場所で見ることができます。

出典:https://www.iotforall.com/how-to-choose-an-affordable-rot-for-maximum-iot-security

タイムスタンプ:

より多くの すべての人のためのIOT