サイバーセキュリティはソフトウェア分野で豊富に存在し、主にウイルス、マルウェア、機密データの漏洩、その他のサイバー脅威から オンライン システムを保護する のに役立ちます。しかし、ハードウェアはどうでしょうか?私たちは現在、ますます多くのハードウェアデバイスがワイヤレスで接続されるようになったIoT中心の世界に住んでいます。また、アプリケーションによっては、これらのデバイスの多くに、銀行口座の詳細、病歴などの機密情報や、名前、生年月日、年齢、性別、住所などの個人情報が保存されている場合があります。
一般的に、ソフトウェアはデジタル攻撃に対する第一の防御線ですが、ハードウェア レベルで最後の防御線を設けることで、盗難や機密情報の漏洩のリスクを大幅に軽減できます。
ソフトウェアとハードウェアのサイバーセキュリティ
組み込みセキュリティ アプリケーションの具体的な例に入る前に、ファームウェア ベースのセキュリティとソフトウェア ベースのセキュリティの類似点と相違点について簡単に説明します。この比較では、ソフトウェアには通常、リアルタイム オペレーティング システムで実行されるプログラムと、1 GHz以上で実行される高度な処理 (32ビット/64ビット) を備えたPCまたはコンピュータ システムで実行されるプログラムが含まれていると想定する必要があります。ファームウェアは、8ビットから32ビットまでの低レベルの プロセッサ または マイクロコントローラ 用にコンパイルされたコードであり、よりハードウェア中心でクロック レートがはるかに低い組み込みデバイス上で実行されます。ファームウェアを搭載した周辺機器は、ソフトウェアを実行しているシステムに接続して追加の防御レベルを組み込むことも、スタンドアロン構成で使用しても高いレベルのセキュリティを維持することもできます。
ソフトウェア セキュリティには、ファイアウォールやその他のネットワーク監視システムから、マルウェア、ウイルス、キーロギング プログラムなどの悪意のあるソフトウェアを撃退する侵入防止プログラムまで、さまざまな形態と規模があります。
まず、一般的なファイアウォール プログラム ( 図1 を参照) から始めましょう。ファイアウォール プログラムは、ローカル ドメインに出入りするネットワーク トラフィックのあらゆる部分を監視するように設計されています。ほとんどのファイアウォールはソフトウェア ベースですが、コンピューター、サーバー、またはその他のオンライン システムの外部に実装してネットワーク ゲートウェイとして機能する高度なハードウェア システムもいくつかあります。ソフトウェア ファイアウォールは、IPスプーフィング、ソース ルーティング (パケットを別のアドレスにリダイレクトする)、その他のIPおよび経路の脅威を防ぐのに役立つ静的または動的パケット フィルターなど、いくつかの異なるタイプで構成されています。
追加の一般的なファイアウォール保護はアプリケーション ゲートウェイで構成されます。アプリケーション ゲートウェイでは、エンド ユーザーと閲覧している可能性のあるWebサイトを分離し、リクエストの処理、Webフィルタリング、プライバシーと一意のIPアドレスの提供を行う中間ハブとしてプロキシ サーバーが作成されます。

図1: 典型的なファイアウォールプログラムの図
ファイアウォールは侵入に対する優れた防御手段ですが、すべてを捕捉できるわけではありません。スパイウェア対策プログラムやウイルス対策プログラムなどの補助ソフトウェアは、機密性の高いシステムにとって非常に重要になる場合があります。スパイウェアは巧妙で、多くの場合キーロギングの形をとりますが、これはパスワードと認証管理のため、通常のシステムの動作に不可欠な部分となる場合があります。スパイウェアやウイルスは、通常の動作を妨害しようとするため検出が難しく、これらを検出するには、コア プログラムと外部プログラムとみなされるプログラムとの詳細な比較が必要になることがよくあります。キーロガーやウイルスに対抗するためのその他の対策としては、ワンタイムパスワード、オンスクリーンキーボード、機密情報の自動フォーム入力機能、さらにはキーロガーによる情報の転記を困難にするためにランダムなキーストロークを生成するソフトウェアなどがあります。
ソフトウェアのサイバーセキュリティは通常、外部ネットワークからの接続によって侵入する有害なプログラムから保護しますが、ハードウェア上の組み込みデバイス セキュリティの技術は、もう少し「難解」で、デバイスの中心的 (またはローカル) なものになります。ほとんどのハードウェア セキュリティには、PCやサーバー システムが備えているような処理リソースがないため、暗号化という形をとることが多く、8ビット マイクロコントローラーのような単純なものにも実装できます。
マイクロコントローラの暗号化を使用した組み込みシステムのセキュリティの向上
MCUを搭載した組み込みデバイスにはさまざまな種類の暗号化プロトコルがあり、その一部は主要なCPUに見られるものと非常によく似ています。MCUに十分なプログラムメモリがあれば、 ラム、処理速度が優れているため、データ暗号化標準 (DES) やトリプルDES (3DES) などのフルサイズの暗号化アルゴリズムを実行できます。DESアルゴリズムは50年近く前から存在していますが、安全性が低いため最近ではあまり使われていません。しかし、他の多くの暗号アルゴリズムに見られる暗号特性の基礎を実証しています。 暗号化 アプリケーション。DESを理解すると、他のほとんどの暗号化方法がどのように機能するかを理解するのに役立ちますので、詳しく見ていきましょう。
DES暗号化では、56ビット長のキー、キー ブロック暗号、暗号化および復号化プロセスを使用する「テキスト データ」アプローチを採用しています。暗号化中、プレーンテキストとキーはそれぞれ64ビットのバイナリ ビット データ ブロックに変換されます。これらのデータ ブロックは、初期順列 (IP) テーブルに基づいてランダム化され、8ビットごとに削除され (56ビットに削減)、順列テーブル (PC-1) に送信され、2つの28ビット データ ブロックに分割されます。その後、各半分は、循環左シフトの複数のラウンド (合計16ラウンド) を経て、さらに別の順列テーブル (PC-2) を通過します。各ラウンドの総合結果は、 入力 元の64ビットのプレーン テキストとともに、暗号化アルゴリズム (48ビットの暗号化キー) に追加されます。これまで、キーを生成し、いくつかのデータを暗号化してきましたが、これはプロセスの最初の部分にすぎません。次に必要なのは、さらに複雑なキー ブロック暗号です。
これ以上混乱しないように、 図2これは、48ビットのキーが暗号化プロセスの一部としてどのように使用されるか、およびキー ブロック暗号 (点線内の領域) (別名「F」または「Feistel関数」) を使用して暗号テキスト (LiおよびRi) を生成する方法を示しています。復号化では、暗号テキストとサブキーは逆の順序で同じように使用されます。

図2: 標準DESアルゴリズムのフローチャート
トリプルDESはいくつかの異なる方法で実行できますが、基本的にはDESプロセスと同じです。ただし、56ビットのキーが1つではなく2つまたは3つ使用されます。DESおよび3DES暗号化は、RFIDやATMマシンなどの認証ハードウェアでよく使用されます。
もう1つの主要なフルサイズの暗号アルゴリズムはAdvanced Encryption Standard (AES) です。DESアルゴリズム (その前身) とは異なり、128ビットの固定ブロック サイズと128、192、または256ビットの3つのキー サイズ バリアントを使用し、Feistel関数を使用せずに動作します。AESには、初期ラウンド、メイン ラウンド、最終ラウンドの3つのフェーズがあります ( 図3 を参照)。ラウンド キーとプレーン テキスト データが排他的論理和 (XOR) される最初のラウンドの後、メイン ラウンドごとに、SubBytes、ShiftRows、MixColumns、および最初のキーから (選択されたキー バリアントに基づいて) 複数のラウンド キーを生成するAESキー スケジュールなど、いくつかの混合および分割操作が実行されます。最終ラウンドは、MixColumns操作を除いてメインラウンドと同じです。

図3: AES暗号化と復号化の構造
標準的なデータ暗号化方法以外にも、認証暗号化、ブロック暗号、ストリーム暗号、ハッシュ アルゴリズム、公開鍵アルゴリズム、乱数生成など、マイクロコントローラを介して組み込みデバイスのセキュリティを向上させるために使用できる、より軽量な暗号化形式が多数あります。こうした種類のアルゴリズムのライブラリはWeb上に散在しており、一般的にプロセッサ間で移植可能ですが、必要なメモリ量と速度はそれぞれ異なります。
また、MCUと連携してデータを送信または受信/保存する前に保護するスタンドアロンの暗号化/復号化集積回路 (IC) もあります。たとえば、ATECC608A (Microchip) は、キーと乱数生成を必要とするアルゴリズムに対して、安全なハードウェア ベースのキー ストレージを提供します。NXP は、接続アプリケーションに認証、暗号化、キーストレージを提供することでIoT分野に役立つA71CH「Plug and Trust」チップ ファミリなどの認証ICも提供しています。
そして最後に、多くの高度なプロセッサには通常、暗号化アクセラレーション (高度な計算暗号化の速度/メモリ最適化に役立ちます)、安全なストレージ、一意のキーとアドレスによるデバイスID、ネットワーク セキュリティとインターフェイスのサポート、IP保護、起動/プログラミング認証などのセキュリティ機能が含まれています。この例としては、 Texas Instruments社の 「Sitara」プロセッサ、 STMicroelectronics社の 「ST31/ST33」セキュリティ専用プロセッサ、 Analog Devices社の「SHARC+」デュアルコア プロセッサ ファミリが挙げられます。
組み込みシステム向けサイバーセキュリティの将来
機密データの保存や転送を伴う組み込みシステムのセキュリティ アプリケーションでは、ポータブルで軽量な暗号化アルゴリズムから、複数のセキュリティ機能を備えた専用の暗号化ICまで、あらゆるものを使用することで、強力な保護を実現できます。では、10年後、20年後の組み込みサイバーセキュリティの世界はどうなるのでしょうか?プロセッサがメモリと速度の限界を押し広げるにつれ、サイバーセキュリティもそれに追随する可能性が高いでしょう。