近年、デジタル化された製品やスマートガジェットに移行するユーザが増え、IoTは着実に人気を集めています。IoT機器のオンライン化が進むにつれて、セキュリティが確保されていない多くのアイテムが、リモートソフトウェア攻撃に対して脆弱になることが予想されます。不十分なセキュリティは、ハッカーにデバイスを操作不可能にして乗っ取り、ボットネットが構築できるような機会を与えます。このようなマルウェアネットワークは、不正なコードを導入したり、データを盗んだり、何らかの手段でホストを搾取したりします。デバイスメーカが自社の評判を守るためにも、IoTデバイスはセキュアでなければなりません。さらに多くの法律、規制、標準が制定される中、セキュリティを後回しにすることは許されません。そこで、ハードウェアのRoot of Trust (RoT: 信頼の基点)の出番となるわけです。
ハードウェアのRoot of Trustとは何か?
Root of Trust (RoT: 信頼の基点)は、デバイス上で使用されるソフトウェアとハードウェアを検証するために使用される、Chain of Trustと呼ばれるセキュアなプロセス起動チェーンを確立します。最初のコードの一部を実装するために使用される認証情報が検証されると、実行されるコードの各連続部分の信頼性が確保されます。強力なRoTは、デバイスのハードウェアに根ざしたアイデンティティと暗号鍵で構成されています。これにより、ネットワーク上のデバイスを認証するための、固有で不変かつクローン化不可能なIDが確立されます。暗号操作のための鍵を使用したセキュアな起動プロセスが可能になり、OS (オペレーティングシステム)がロードされるまでのファームウェアとソフトウェアの信頼性を確保します。
ハードウェアのRoot of Trustはどのように実装されるのか?
ハードウェアのRoot of Trust (RoT)は、主にプリブートとポストブートに分けられるさまざまなセキュリティ問題を解決することができます。プリブートでは、TPM (Trusted Platform Module: トラステッド・プラットフォーム・モジュール)と呼ばれるコンピュータチップを使用して、整合性を検証/測定し、低レベルのマルウェアからブートプロセスを保護することができます。TPMは、認証のためのRoTなど、ポストブート時のさまざまな活動を支援します。ハードウェアのRoTを導入したシステムでは、UEFI (Unified Extensible Firmware Interface: ユニファイド・エクステンシブル・ファームウェア・インターフェイス)が使用され、マルウェアからの攻撃や感染を防ぐための「セキュアなブート」などのオプションが提供されます。
Root of Trustのプロセスはプロセッサ内部でどのように開始されるのか?
基本的には、秘密鍵をバッテリで保管する方法と、PUF (Physical Unclonable Function: 物理複製困難関数)の2つがあります。PUFは、FPGAやASICプロセッサの業界標準として広く普及しています。PUFは、物理的な微細構造から始まります。この微細構造は、発泡スチロール、プラスチック、またはシリコンなど、何らかの物質のランダムな刻印であることがあります。プロセッサは、チャレンジレスポンス認証を使用して、このランダムな構造を測定します(チャレンジレスポンス認証は、ユーザ名とパスワードを要求され、ユーザ名を入力するものであることは、ほとんどの人が知っています)。これらのランダムな測定も同じように機能します。プロセッサは微細構造内の何かを測定し、微細構造は測定され検証されるのです。クローン化、またはプロセスをクローン化できないようにすることの問題は、製造プロセスが微細構造を複製できないようにすることです。
ハードウェアのRoot of Trustの他のフェーズにはどのようなものがあるのか?
通常、ソリューションはImmutable Boot Loader (PUFを使用することもある)から始まり、BIOS (Basic input/output System)またはUEFI検証プロセスが開始されます。フェーズ1プロセスでは、RSAまたはECC 秘密鍵暗号化を使用し、RSAおよびECC暗号スイートで必要な鍵を構築するためにTPMを使用する場合もあります。OSが使用されている場合、ローダも同じ秘密鍵暗号化方式で検証され、最後にOSとアプリケーション(使用されている場合)が検証されます。
ハードウェアのRoot of Trustに必要な他のハードウェアは何ですか?
起動速度が設計の重要な要素である場合、SSLアクセラレータは、通常メインプロセッサによって行なわれるアルゴリズムの馬力の一部を解放することができます。現在では、この特別な目的のために作られたチップセットがあります。PUFもある程度は使用できますが、適切なランダム鍵生成を実現するためにエントロピー生成ハードウェアを使用することができます。
ハードウェアのRoot of Trustをもう少し詳しく知りたい方は、TechTalkをご覧ください。信頼性が高くセキュアな産業用デバイス通信を実現する方法についてもっと知りたい場合は、Anybus Embedded Indexをご覧ください。