セキュアな組み込みシステムを求めて「信頼」を掘り下げる:SYSTEM DESIGN JOURNAL(1/5 ページ)
組み込みシステムは誤動作せず、高い信頼性を持たなくてはなりません。ですが、「信頼」はどこまで求めることができるのでしょうか。できる限りの掘り下げを行ってみましょう。
多くのエンベデッドデザインは誤りなく完全に動作する必要があります。誤動作は、人々や財産に許容できない害を与えることがあります。最近まで、この要求事項は注意深い設計とハードウェアの信頼性によって対処されてきました。つまり、ソフトウェアとロジックに誤りがなく、ハードウェアに故障がなければシステムは問題なく動作するということです。
しかし、私たちは今日、宣戦布告なしのサイバー戦争の時代に生きています。システムを正しく動作させようとするならば、時間を持て余したハッカーから犯罪組織、有り余る資金援助を受けた研究所まで、あらゆる相手からの攻撃を想定しなければなりません。システムを守るには、何を、最終的には誰を、信頼できるかを判断しなければなりません。これを求めることは容易ではありません。不可能と言う人さえいます。しかし、必要ならば、そうせざるを得ません。
ヒエラルキーを定義する
「自分のシステムを信じられるかどうか」を見極めることは非常に困難です。
見極めるにはこの根本的な大きな1つの疑問を、小さく多数の難しい“だけ”の疑問に分割する必要があります。よく使用する切り分けは、アプリケーションソフトウェア、オペレーティングシステム/ブートコード/ファームウェア、ハードウェアです。
一般にそれらの間のインタフェースを定義し、各レベルが行うと信じていることを定義することが可能であり、デザインの各レベルを個別に信じることが可能であれば、システムを信じることができます(図 1)。
信頼は包括的なものにならざるを得ません。オブジェクトソフトウェアが完璧であるならば、OSがそのアプリケーションプログラムインタフェースに正しく応答し、コードを破壊しないことを信頼しなければなりません。それには、OSを破壊するおそれのある悪質なコードがブートローダに存在しないこと、システムを乗っ取るおそれのあるトロイの木馬がハードウェアに存在しないことを信頼しなければなりません。
アーキテクトの中には、この再帰的な質問が信頼のルーツを見つけることであると表現する人がいます。しかし、この例えは楽観的に過ぎるでしょう。2015年6月のDesign Automation Conference(DAC)のセキュアシステムに関するパネルディスカッションで、米インテルの上級主席エンジニアである Vincent Zimmer(ビンセント・ジマー)氏は、ある人の「地球は亀の甲羅の上にある円盤である」という真偽の怪しい説を引き合いにしました。亀は何の上に立っていたかと尋ねられたその人は、「上から下まで亀なのです」と答えました。
最終的にどこかで再帰を終える必要があるならば、デザインでも方法でもなく特定のエンジニアのグループ、つまり人間を信頼して終えます。少なくとも何人かの専門家はそのように主張します。
信頼の源
このように「人はどのようにして自身のデザインした特定レイヤーを信頼するようになるのか」という明らかな疑問が生じます。「信頼のルーツ」という言葉は、いずれかの信頼できる究極のレイヤーまで掘り進んでやっと安全になることを示唆します。しかし、一般にハードウェアでもソフトウェアでも、デザインのレイヤーを信頼するには、わずかな方法しかありません。
- 信頼度の点で選択したソースからデザインを取得します。
- 信頼できるソースからデザインを正式に引き出します。
- 冗長性を与え(2つの異なるデザインの機能が、それをコミットする前に一致しなければならないとするなど)、1つのデザインが他の出力の信頼性をテストするようにできます。
- 機能の範囲を制限し、保護する必要がある対象に影響を及ぼすことが物理的にできないようにできます。
そしてもちろん、デザイン内の自分のレイヤーを信頼したならば、それより低いレイヤーを信頼する段階に進みます。そのレイヤーから、それよりも下のデザインの動作を変更することは物理的に可能です。これは、このプロセスをさらに詳細にレイヤーごとに調査するのに役立ちます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 畳み込みニューラルネットワークの使い方、分かりますか?
畳み込みニューラルネットワークとは何でしょうか。学問の世界から現実の世界に登場しつつあるこれは、さまざまな組み込みシステムに利用される可能性が高く、大いに関心を持つべきです。 - 組み込みにおけるコンピュータビジョンを整理する
画像認識(コンピュータビジョン、マシンビジョン)の需要は高まっており、その方法はさまざまです。画像による入力を有用なものとする実装方法について分類と整理を試みます。 - モノのインターネットを再考する
IoTがその現実性について語られるようになった2015年、その基本概念を再考する機運が高まっています。「センサー」「仮想化」「フォグ」などの観点から、IoTを再考してみましょう。 - コンピュータ・アーキテクトのためのモーター制御
「モーターを制御する」。一見すると簡単な課題に思えますが、その原理や課題、現状を再確認すると、リアルタイムシステムアーキテクチャの今後の方向性を示していることが分かります。 - あのロボットが私のハードウェア予算を食っている!
ロボットを止めるにはもう遅すぎる――これはハードウェア予算やシステムデザインの話ですが、影響を軽減することは可能です。「あるロボットに未知の地形を滑らかに歩かせる」を例に、エンベデッドシステム化するロボットについて考えてみましょう。