Technology

セキュアブート:デジタルセキュリティの鍵

23/05/2024 - Johann Philipp Thiers

システムセキュリティの基盤

デジタルセキュリティにおいて、ブートプロセス(起動プロセス)を保護することは非常に重要で、システムを安全に起動させる機能がセキュアブートです。この機能は、SSD、USBドライブ、SDカードなど、デバイスに保存されたデータやコードの完全性と機密性を維持する上で欠かすことができません。このセキュリティメカニズムは、デバイスの起動時に、正しく認証され且つ変更が加えられていないファームウェアやソフトウェアのみが実行されることを保証します。これによって、攻撃者による不正なアクセスや制御を防ぎ、信頼できる環境を確立することができます。

セキュアブートの仕組み

セキュアブートの本質的な機能は、ブートプロセス中にデバイスに組み込まれたファームウェアのデジタル署名を検証し、悪意のあるコードの実行を阻止することです。この仕組みには秘密鍵暗号と共通鍵暗号が利用されます。暗号鍵はファームウェアイメージの署名に用い、これに対応する公開キーは署名の検証に用いるためデバイスに安全に保存されます。もしファームウェアが改ざんされている場合、署名が一致しないためブートプロセスは停止し、潜在的なセキュリティ侵害が防止されます。

図1:セキュアブートとメジャード(計測)ブートのプロセス。メジャードブートは安全なシステム状態にするのではなく、システムの状態を把握し、その情報を保存するセキュリティ機能です。多くの場合、セキュアブートと組み合わせて実装されます。

信頼の連鎖を構築

セキュアブートは、Root of Trust(RoT、信頼の基点)から始まるChain of Trust(CoT、信頼の連鎖)を形成する上で重要な役割を果たします。RoTは、NANDフラッシュコントローラ内の変更不可能なデータ格納領域の構成により、データの信頼性を保証します。

セキュアブートのプロセスは、各コンポーネントを実行する前にその信頼性を確保することで、システムのソフトウェアコンポーネント全体にこの信頼性を拡げます。この連鎖はマルウェアに対するセキュリティを強化するだけでなく、万一システムが攻撃された場合でも長時間のアクセスを防ぐことができます。

図2:信頼の連鎖(CoT)は、信頼の基点(RoT)から始まる信頼性を検証します。

 

セキュアブートの意義

セキュアブートは、デバイスの起動が許可されたソフトウェアによって実行されることを保証し、これによってエコシステムの完全性を維持し、さまざまな業界のコンプライアンス要件を満たす上で不可欠な機能です。セキュアブートは、多層セキュリティ戦略における重要な防御線として機能し、機密データやシステムを不正アクセスや改ざんから保護します。

NANDフラッシュストレージにおけるセキュアブートの実装

スイスビットのNANDフラッシュデバイスにHyperstoneコントローラ技術を用いて実装されたセキュアブート・メソッドは、コントローラのファームウェアだけでなく、アプリケーション固有のファームウェアも保護します。このアプローチによって、産業グレードのストレージデバイスにセキュアブート機能が組み込まれ、スペースやコストを犠牲にすることなく堅牢なセキュリティが提供されます。

信頼の連鎖を拡大

動作状態で確立されたストレージデバイスの信頼性は、そのソフトウェアの信頼性を検証することで、ホストデバイスにまで拡大することができます。これによって、部品を追加することなく、今後予定されているEUのサイバーレジリエンス法(Cyber Resilience Act、CRA)の要件を満たすことができます。たとえば、当社スイスビットのSecurity Upgrade Kit は、Raspberry Piのブートローダーの検証にご利用いただけます。

結論

セキュアブートはデジタルデバイスのセキュリティを確保する上で基本的な機能であり、不正アクセスからの保護や業界標準への準拠を保証する上で信頼性の高い方法です。Chain of Trustの確立におけるその役割とさまざまな実装レベルは、今日のデジタルセキュリティ環境においてますます重要性が高まっています。