Wind River Blog Network 翻訳版
本サイトでは、Wind River Blog Networkの一部を翻訳し公開しております。

November 16, 2017

サイバーセキュリティ:VxWorksで保存中のデータを保護することの重要性


Ka Kay Achacoso 著

数か月前、Equifaxでデータ漏えいが発生し、その結果、氏名、社会保障番号、クレジットカード番号、免許証番号、その他の重要個人情報がハッカーの手に渡りました。フォレンジック調査の結果、このサイバーセキュリティ侵害の被害は、1億4550万人分に及ぶことが判明しました。被害に遭った可能性がある企業や消費者からは激しい抗議の声が上がり、機密データが悪人の手に渡ってしまうと非常に深刻な影響があることを強く物語っています。今回のEquifaxのインシデントや、増加するデータ漏えいインシデントから、データ盗難が続いていること、そしてより巧妙化していることが分かります。
VxWorksリアルタイムオペレーティングシステム(RTOS)が稼働しているデバイスでデータ漏えいが発生した場合、より大規模なシステムに侵入するためのパスワードも漏えいしてしまいます。あるいは通信コードの鍵を奪われたり、知的財産が開示されて競合他社がデバイスの設計を模倣できる事態を招いてしまいます。デバイス上にあるデータの保護の重要性は、1台のデバイスのセキュリティに留まるものではありません。デバイスデータの安全性を確保することは、デバイスが属しているより大規模なシステムの完全性の観点からも重要なのです。

データ漏えいの主な攻撃ポイントは、データがネットワーク上を移動しているところ(移動中のデータ)、またはデータの物理的な保存場所(保存中のデータ)です。いずれも重要なので保護する必要があります。このブログでは、VxWorksで保存中のデータをどのように保護するかについて説明します。

VxWorks Disk Encryptionを使ったデータセキュリティ

VxWorksはディスク暗号化と、ハードウェアクリプトプロセッサによるパスコード暗号化によるバックアップで、保存中のデータを保護します。ハードウェアに基づくこのセキュリティシステムにより、ハードウェアで暗号化したバイトとしてデバイス上にパスコードを保護することができます。パスコードファイルからディスクの復号化キーを取得できるのは、まったく同じ物理ハードウェアデバイスのみです。

ハッカーがディスク内のバイトを複製する、またはディスクの物理メモリーを入手するといった方法で機密情報が保存されているディスクのコンテンツを入手した場合でも、コンテンツはランダムなバイトの羅列なので、理解することができません。パスコードから導き出した復号化キーがなければ、ディスクを解読可能な状態には復元できないのです。ハッカーが何らかの方法でパスコード情報が含まれたファイルも入手したとしても意味はありません。パスコード情報はオリジナルのハードウェア以外では復号化できないからです。パスコード情報を入力したメーカーですら、オリジナルのハードウェアがなければファイルの復号化はできません。

図1は ディスクの暗号化とハードウェアに基づく機密レポジトリの仕組みを簡単に示したものです。ハードウェアクリプトプロセッサには、ハードウェア内に隠された暗号化/復号化キーが保存されています。プロセッサは短いデータブロックを暗号化することができます。一旦暗号化されたデータは、同一のハードウェアクリプトプロセッサを使用しなければ復号化することができません。

Final

セットアップ中に、パスコードから導き出したキーを使用してディスク全体を暗号化します。ハードウェアクリプトプロセッサを使用してパスコードが暗号化されます。その後、オリジナルの暗号化キーとオリジナルのパスコードは削除されます。デバイスにはハードウェアで暗号化されたパスコードだけが保存されます。

実行時、アプリケーションから正しい識別コードを入手したら、ハードウェアクリプトプロセッサがパスコードを元の形式に復号化します。次にVxWorksが、パスコードから導き出したキーを使用して、復号化済みのファイルシステムとしてディスクをマウントします。アプリケーションが作成、削除、読み書きなどの通常の操作のためにファイルにアクセスしても、ディスクは暗号化された状態を維持します。

クリプトプロセッサのハードウェアサポートを使用したデータセキュリティ

Intel Architectureプラットフォームでは、VxWorksはTrusted Platform Module(TPM)技術をハードウェアクリプトプロセッサとしてサポートしています。VxWorksはIntelが提供しているソフトウェアパッケージ、tpm2-tssを使用しますが、このパッケージはTrusted Computing Group Software Stack(TSS)仕様を実装してTPMとのインタラクションを行います。TPMサポートに関する詳細は、TPMを使用したデータのシール方法に関する過去のブログ:http://blogs.windriver.com/wind_river_blog/2016/05/sealing-data-with-tpm-on-vxworks.htmlをご覧ください。TPMデータのシーリングに関するこのブログでは、TSSによる個別ファイルの保護についても説明しています。VxWorksのディスク暗号化と、TSS APIの使用によるデータ保護では、TPMによってデータを直接保護します。VxWorksでのディスク暗号化を使用する利点は、ファイル操作の実行時に、アプリケーションから暗号化プロセスを確認できるという点です。
NXP Power Architecture®プラットフォームでは、VxWorksはSEC 5.xモジュール上のNXPセキュリティエンジンに内蔵されたblobプロトコルをサポートしています。この種のセキュリティモジュールは、NXP T1020やNXP T2040といった特定のマイクロコントローラ上にあります。blobプロトコルは起動するたびに異なるキーでデータを暗号化します。キー自体はセキュリティエンジン内の秘密鍵暗号化キーで暗号化されます。

ハードコーディングされたマスターキーのパスワードを使用したデータ保護

ハードウェアセキュリティモジュールがないプラットフォームの場合、VxWorksはハードコーディングされたマスターキーのパスワードを使用できます。これはデバイス上に難読化された状態で保存されています。この場合、データセキュリティは、メーカーによるパスワードの機密保持というセキュリティプロセスに大きく依存しています。難読化されたマスターキーパスワードは、攻撃者がディスク暗号化パスコードに簡単にアクセスできないようにするものです。このようなソフトウェアのみのソリューションは低レベルのセキュリティ要件には対応しますが、高度なセキュリティについては、ハードウェアによる信頼性確保をお勧めします。
VxWorksはKey-Encrypting Password(KEP)プロバイダフレームワークによって、カスタムハードウェアエンジンを使用できるようにしています。したがって、ご使用のハードウェアのクリプトプロセッサがサポート対象リストに含まれていない場合、カスタムKEPプロバイダフレームワークを使用して、ハードウェアのディスク暗号化の基盤確立を検討するとよいでしょう。

機密レポジトリ

ハードウェアで暗号化されたディスク暗号化パスコードを保存しているのと同一のレポジトリに、他の機密情報も保存することができます。アプリケーションは機密レポジトリに、他のシステムのログインパスワード、または他の暗号化キーのパスコードを保存できます。機密レポジトリによって、デバイスの外に持ち出された機密データは解読できないようにします。

ハードウェアクリプトプロセッサ使用の注意点は、秘密鍵のマスターキーを消去してしまうと、データが永久に失われてしまうという点です。オリジナルのパスコードや、暗号化されたディスクのコンテンツは誰にも復旧できません。悪人の手に渡るよりは、データがなくなるほうがましだということもあります。それでも、企業や組織は、デバイスのクリプトプロセッサ消去についての強力なポリシーを設けておかねばならないでしょう。

Wind Riverは、IoT(モノのインターネット)ソリューションのセキュリティ技術に対する投資を継続して参ります。VxWorks Security Profileの詳細は、https://www.windriver.com/products/vxworks/technology-profiles/#securityをご覧ください。