DDSセキュリティハード(ウェア)ウェイ-SGXパート3:強化されたDDSサービス
これは6つのパート3です。 -このトピックに関するブログシリーズ。このシリーズを初めて使用する場合は、以前のブログをお読みください ここ。
このシリーズのパート2では、RTI Connext DDS Micro + Security、SCONE、およびIntelSGXを使用して強化されたエンドポイントを作成する方法について説明しました。興味深いことですが、組み込みのSGXを使用した実用的なソリューションについてはまだ検討していません。パート1では、DDS + SGXは、従来の産業用モノのインターネット(IIoT)エンドポイントとしてではなく、サーバールームに表示される可能性が高いことを示唆しました。今回の記事では、DDSサービスのレンズを通してSGXで強化されたDDSアプリケーションのより実用的なソリューションを見ていきます。
多くのDDSサービスは、セキュリティ強化の主要なターゲットです。多くの場合、より多くのトピックをサブスクライブするため、DDSの安全なソリューションでは、エフェメラルキーへのアクセスが多くなります。これらのキーは、必要に応じてアプリケーションメモリに保存されます。スキルと決意を持って、特権ユーザーまたは攻撃者はそれらを抽出するか、おそらくより効果的に、DDS保護が削除された直後、または保護が追加される直前にデータを変更する可能性があります。結局のところ、データがすでにプレーンテキストになっているのに、なぜ暗号化に悩むのでしょうか?
図1:DDS環境での攻撃対象領域
このシリーズを続けている方は、パート1で、DDS保護が解除される前に、DDSで保護されたパケットがネットワークに到着し、SGXで保護されたスペースに渡されるアーキテクチャを紹介したことを思い出してください。アプリケーション内に入ると、SGXはデータを保護し、DDS保護は削除される可能性があります。 CPUはデータをプレーンテキストで表示できるため、暗号化されたデータに対してエキゾチックな操作を行う必要はありません。これは、準同型暗号化などの他の保護方法に比べて明確な利点を提供します。
この設計により、アプリケーションは暗号化されたデータを有線で取得し、暗号化を削除する前に保護されたスペースに移動し、データを操作して有線保護を追加できます。これらのアプリケーションの1つを構築できれば、多くのアプリケーションを構築できます。さらに、DDSはネットワーク上で保護を提供しているため、SGX以外のアプリケーションがSGXアプリケーションと通信できる場合は、異種ネットワークを使用できます。それらのアプリケーションのいくつかはDDSサービスである可能性があります。
これを説明するために、RTIルーティングサービスを見てみましょう。 ObjectManagementGroup®(OMG®)DDSセキュリティ仕様では、ルーティングサービスアプリケーションコードが、一時的であっても、データを平文で操作する必要があります。さらに、ルーティングサービスは、通信元のすべてのエンドポイントからのすべてのエフェメラルキーを所有しています。一部のアーキテクチャでは、ルーティングサービスをネットワークのエッジに表示する必要があるため、攻撃のリスクが高まります。そのため、悪意のあるユーザーにとって価値の高いターゲットです。
図2:RTIルーティングサービスは、SGX環境で実行されているアプリケーションに保護されたスペースを提供します
まだ調査していませんが、SCONEには、暗号化されたファイルストアとアテステーションに対する組み込みの透過的なサポートがあります。組み込みのファイルストアを使用すると、アプリケーションの機能を拡張できます。ルーティングサービスの例では、IDに使用される秘密鍵を、アプリケーションのみが使用できる保護されたスペースに保存できるようになりました。 root +ユーザーはそれらにアクセスできません。
さらにアイデアを進めるために、保護された方法で任意のデータをディスクに保存できるようになりました。
図3:DDSおよびRTIルーティングサービスはSCONE環境で保護されています
たとえば、許可された再生のためにDDS通信を保存できます。 SCONEは、SQLiteなどの他の承認されたSCONEコンテナとのネイティブ(および透過的)TLS通信をサポートします。
これらのツールを使用すると、悪意のあるシステム管理者や攻撃者からでも、すべてのデータを常に保護するインフラストラクチャを構築できます。もちろん、アプリケーションは、ストアやネットワーク接続などの信頼できるサービスにアクセスするために信頼できるようになる前に、信頼できる方法で自身を測定する必要があります。これが認証サービスの役割です。
アテステーションサービスは、一言で言えば、アプリケーションが変更されておらず、本物であり、本物のSGXCPUで実行されていることを確認するリモートメソッドです。基本的に、アテステーションサービスは信頼性の高いシステムであり、信頼性の低いシステムに信頼性の高いアプリケーションがあり、安全に実行できることを確認します。当初、このサービスはIntelによって独占的に提供されていましたが、状況は変化しています。
リモートアテステーションは、特にアテステーションがIntelによって提供されている場合、多くのクローズドシステムにとって問題のように見える場合があります。ただし、アプリケーションのアテステーションは1回だけ実行する必要があり、アテステーションは再起動後も存続するため、想像するほど難しくはありません。このプロセスは、暗号の整合性が保証されているISA命令を介してCPUとアプリケーションを検証します。これらの値はディスクに封印され、必要に応じて再利用できます。この再利用には、CPUに変更されていないことを証明するアプリケーション、リモートシステムに本物であることを証明するCPU、または別のアプリケーションに変更されていないことを証明するアプリケーションを含めることができます。これらの機能は、特定のアプリケーションのリモートパートナーアプリケーションが信頼できることを保証するために、分散システムで特に役立ちます。
SGXフレームワークとしてSCONEを使用しているので、SCONEが認証サービスを提供していることを指摘しておくと便利です。 SCONE Enterpriseのライセンス所有者であれば、このサービスをシステムに対してローカルで管理できます。 SCONEには、企業以外のユーザー向けのグローバルアテステーションサービスがあります。このグローバルサービスを使用したアテステーションについては、シリーズの後半で説明します。
次のブログでは、DDS-SGX環境のセキュリティのコストについて説明します。
モノのインターネットテクノロジー