クラウドでデータを守る新しい解決策
クラウド環境でデータセキュリティを強化するために、分散型キーバリューストアを導入する。
― 1 分で読む
目次
分散データストアは、ビジネスのための重要なデータを保存するためのシステムだよ。安全かつ効率的に動作する必要があるアプリケーションには欠かせないんだ。よく知られた分散データストアの例としてetcがあって、Kubernetes、つまりコンテナ内のアプリを管理するプラットフォームでよく使われてる。Kubernetesはetcを使って、管理してるアプリのすべての状態や設定を追跡してるんだ。
Kubernetesの設定では、設定や秘密情報を含むすべての重要なデータが1つのetcクラスターに保存されてる。もし攻撃者がこのクラスターにアクセスできたら、リソースを操作できちゃって、Kubernetes内で問題を引き起こす可能性がある。だから、etcが正しく、信頼性高く、迅速に機能することが重要なんだ。特に、もっと多くのデータストアがクラウドでホストされるようになってきてるしね。残念ながら、クラウドにデータをホストすることは、暗号化や他のセキュリティ対策を使っても、データが露出するリスクがあるんだ。
クラウドデータストアのセキュリティ問題
ますます多くのビジネスがデータをクラウドに移すにつれて、セキュリティが大きな懸念事項になってきてる。データの送信や保存中の暗号化があるとしても、データは脆弱になり得るんだ。特に、クラウドプロバイダが自分たちのセキュリティ問題に直面している場合はそうなんだ。例えば、攻撃者がクラウドマシンに特権アクセスを得たら、顧客が配置したセキュリティ対策を無視して、直接データを抽出する可能性がある。
これらのセキュリティ問題に対処するために、いくつかのテクノロジーがTrusted Execution Environments(TEE)を導入してる。Intel SGX、Intel TDX、AMD SEV-SNP、Arm TrustZoneのようなTEEは、機密コンピューティングをサポートするハードウェアを提供している。このタイプのコンピューティングは、データが処理されている間に安全を保つのを手助けして、特権アクセスでもデータが危険にさらされないようにするんだ。
機密コンピューティングって何?
機密コンピューティングは、データやコードが使用中に敏感なものを保護することに焦点を当ててる。TEEを使うことで、情報がメモリ内で安全に保たれて、無許可のアクセスや変更を防いでる。これは、機密情報や敏感な取引を扱うビジネスにとって重要なんだ。
TEEはまた、安全な環境で完全な仮想マシンを実行することを可能にする。これにより、企業はアプリケーションを運営したり、敏感なデータを扱ったりする方法に柔軟性を持てる。でも、既存のアプリをTEE環境に移行するだけじゃダメで、開発者は新しい環境に伴う特定のセキュリティ脅威に対処するためにアプリを調整しなきゃならないんだ。
アプリをTEEに適応させる際の課題
既存のアプリをTEEで安全に動作させるための移行は複雑なんだ。信頼は慎重に管理しなきゃいけないし、ホストオペレーティングシステムを引き続き信頼することは機密性の保証を壊しちゃうかもしれない。だから、TEE向けに設計された新しいシステムを構築するのは簡単なことじゃない。
アプリをTEEで実行する課題に対処するための努力もあるんだけど、それには、信頼できないホストの時間やセキュアなストレージソリューションに焦点を当てた研究が含まれてる。でも、これらの要素を効果的なシステムに組み合わせるのは難しいんだ。さらに、アプリ自体も複雑で、正しく動作するための仕組みが必要なんだ。
たとえアプリがTEEに移行しても、新しいセキュリティ脅威に対処するための適応が不足しているかもしれない。例えば、クライアントに中間サーバーのアクションを検証する方法を提供しないと、クライアントは確認なしにこれらのサーバーを信頼せざるを得なくなるんだ。
新しいソリューションの紹介
この仕事は、クラウドでの敏感なデータを守ることを目的とした新しい分散キー-バリューデータストアを提案してる。それは既存のetcの構造を基にして、互換性を保ちながら新しいセキュリティニーズに適応しているんだ。このシステムは信頼できない中間者の問題に対処し、安全なデータストレージへの段階的な移行を提供してる。
この新しいデータストアは、etcに似たなじみのあるAPIを提供しつつ、その脅威モデルに対応する機能を追加してる。安全な取引を扱う信頼できない中間サーバーをサポートしていて、クライアントが安全な環境にスムーズに移行できるようにしてるんだ。
特徴と利点
この新しいシステムは、etcに似たキー-バリューAPIを通じて機密性を高めるんだ。範囲クエリ、トランザクション、リース、ウォッチなどの重要な機能をサポートしてる。これは、敏感なデータに依存するシステムの信頼構築のための強固な基盤となるんだ。
この新しいシステムの貢献としては:
- 既存のデータストアが安全な環境への簡単な移行に適さない理由のモチベーション。
- システムを移動するだけではないデータ機密性を達成するための道筋。
- 楽観的なリクエストの処理を待つための新しい機能や、中間サービスに対するクライアントの信頼構築を可能にする機能。
- さまざまなワークロードに応じた、etcと同等のパフォーマンス。
etcを理解する
etcは、多くの分散システムの基本となる信頼性の高いキー-バリューストアだよ。主にgRPCを通じてアクセスされる包括的なAPIを提供している。etcは、トランザクション、リース、分散ロックなどの高レベル機能を処理できる基本モデルをサポートしてる。データの一貫性と耐久性を確保するためにRaftコンセンサスプロトコルを使用してる。
etcは信頼性が高く、メンテナンスのオーバーヘッドが少ないため、プロダクションシステムで広く実装されてる。さらに、クラウドとオンプレミスの両方の設定で動作できるから、さまざまなアプリケーションに柔軟に対応できる。
データを守るために、etcはTLSを使用してデータ転送の暗号化を実装してる。でも、メモリが暗号化されてないから、特にクラウド環境ではetcのデプロイがリスクにさらされることになる。メモリに保存された暗号化キーが、攻撃者がシステムにアクセスすると脆弱性につながる可能性があるんだ。
現在のetcの実装の課題
etcを完全に信頼していないクライアントは、自分たちのデータを送る前に暗号化できる。でも、これだとセキュリティとキー管理の責任がクライアントに移って、余計な複雑さが生じるんだ。
セキュアな仮想マシン内でetcを実行するのは、実行中のデータを保護する一つの方法だよ。これでいくらかのセキュリティが提供されるけど、etcのコア信頼モデルはまだホストオペレーティングシステムに大きく依存してる。もしホストが侵害されると、データの信頼性を損なうようなロールバック攻撃が発生するかもしれない。
さらに、新しい脅威モデルに適応できてないシステムはデータを信頼できないAPIサーバーにさらすことになるかも。もし攻撃者がAPIサーバーをコントロールしたら、クライアントのリクエストを操作しても、クライアントは気づかない可能性があるんだ。
新しいキー-バリューストア: 概要
この新しい分散キー-バリューストアは、クラウドでの敏感なデータを守ることを目指してる。それはConfidential Consortium Framework(CCF)を基に構築されていて、etcとの互換性を提供しつつそのセキュリティ課題に対処してる。このシステムでは、TLS接続を終了できる信頼できない中間者を許可して、安全なクラウドデータストアへの移行を段階的に行えるようになってる。
CCFフレームワークは、保存されているデータの整合性を保証する。状態を管理するためのキー-バリュー マップの機能や、リクエストを扱うためのREST APIモデルが含まれてる。データの整合性を確保するためにMerkleツリーを生成することで、新しいシステムは異なるノード間で安全に更新が処理されることを保証できるんだ。
データモデルとAPI機能
この新しいソリューションはetcのAPIを模倣していて、ワイヤ互換性を目指しつつ、レスポンスヘッダーに新しいフィールドを追加して、レシートエンドポイントを導入してる。クライアントはHTTPとgRPCの両方でリクエストを送ることができて、アプリケーションがデータストアに接続する方法に柔軟性を持てるようになってる。
更新された値は、履歴変更を追跡するために改訂カウンターでバージョン管理されてる。クライアントは、クライアントの生存に関連付けられたリースを確立できることで、分散システム間の調整がスムーズに行える。
値は、クライアントがデータストアを常にポーリングすることなく監視できるようになってる。クライアントは、最新の改訂からのウォッチリクエストを開始して更新を受け取ったり、以前の履歴の改訂からキャッチアップしたりできるんだ。
クライアントに送られるレスポンスヘッダーには、クラスターID、メンバーID、最新の改訂などの重要な情報が含まれていて、クライアントがデータストアとのやり取りを効果的に追跡できるようにしてる。
セキュリティと信頼に対処する
この新しいシステムは、演者を3つのカテゴリに分類してる:信頼できないオペレーター、信頼できるガバナー、信頼できないクライアント。オペレーターは、通常クラウドオペレーターで、アプリケーションインスタンスを管理して、実行環境を完全に制御してる。
ガバナーは、定義された憲法に基づいてサービス運営を管理してる。彼らは共同で信頼されているが、個々の行動は注意深く監視されている。
クライアントは、アプリケーションのエンドポイントを使用できるけど、敏感なデータを露出させずに、全体として信頼できないとみなされている。彼らは、フル機能にアクセスするために有効なクライアント証明書を提供する必要があるだけだよ。
一貫性と障害管理
このシステムは、線形書き込みとシリアル化読み取りを提供している。クライアントは、値が確認されてコミットされるまで待つことが許可されていて、これによってアプリケーション内で一貫したデータを受け取ることを確保できるんだ。
障害が発生した場合、このシステムは標準的な障害回復のために、クラスターのノードの過半数が稼働している必要がある。TEE内のコード構造は、ホスト環境での悪意のある行動に関連する問題を防ぐ手助けをして、適切なデータ整合性を確保してる。
セキュアなシステムへの移行での柔軟性
この新しいキー-バリューストアは、安全な原則の段階的な採用をサポートしていて、既存のデータベースが新しいフレームワークに移行する方法に柔軟性を提供してる。これにより、オペレーターはプライベートデータセンターでシステムのパフォーマンスや安定性をテストできるし、その後、信頼できない可能性のあるパブリッククラウドデプロイに進める。
書き込みレシートを導入することで、クライアントは自分の操作の確認をリクエストできるようになってる。これにより、データの書き込みが確認されて、クライアントが中間サーバーから扱われるデータの悪意のある活動を防ぐことができるんだ。
実装の詳細
この新しいデータストアの実装は、効率性とセキュリティを最大限に高めるように構成されてる。コア機能にはC++プログラミング言語を活用しつつ、CCFとの統合も行ってる。コードアーキテクチャは、機能を効果的に分離し、スムーズな操作を可能にしてる。
システムに送信されるリクエストは、効率的にルーティング&実行され、結果は安全な台帳に記録される。コミットされたトランザクションは追跡されて、簡単に参照できる歴史的インデックスに保存されてる。
パフォーマンス評価
この新しいデータストアの有効性を評価するために、さまざまなワークロードにわたってetcとの比較が行われたよ。目的は、レイテンシ、スループット、スケーラビリティにおけるパフォーマンスを測定することだった。
結果は、この新しいデータストアが競争力のあるパフォーマンスを維持している一方で、提供する追加のセキュリティ機能による若干のオーバーヘッドを経験していることを示したんだ。楽観的一貫性モデルは、トランザクションの処理を強化し、クライアントが自分のリクエストについて情報を受け取ることを助ける。
さらに、このシステムは水平的にも垂直的にも強いスケーラビリティを示してる。追加のノードが加わってもパフォーマンスが一貫していて、より多くのワーカースレッドを追加することで全体のスループットが最適化されるんだ。
結論
この新しい分散キー-バリューデータストアは、クラウドで敏感なデータを管理するための安全な基盤を提供するよ。既存のテクノロジーを基にしつつ、その制限に対処することで、組織が機密コンピューティング環境に移行する手助けをしてる。
信頼できない中間者をサポートし、安全な原則を採用する柔軟なアプローチを持つことで、データを守りたいビジネスにとって魅力的な選択肢を提供するんだ。このシステムは競争力のあるパフォーマンスと堅牢な機能によって、さまざまな業界で信頼できるアプリケーションの開発を可能にすると思うよ。
タイトル: LSKV: A Confidential Distributed Datastore to Protect Critical Data in the Cloud
概要: Software services are increasingly migrating to the cloud, requiring trust in actors with direct access to the hardware, software and data comprising the service. A distributed datastore storing critical data sits at the core of many services; a prime example being etcd in Kubernetes. Trusted execution environments can secure this data from cloud providers during execution, but it is complex to build trustworthy data storage systems using such mechanisms. We present the design and evaluation of the Ledger-backed Secure Key-Value datastore (LSKV), a distributed datastore that provides an etcd-like API but can use trusted execution mechanisms to keep cloud providers outside the trust boundary. LSKV provides a path to transition traditional systems towards confidential execution, provides competitive performance compared to etcd, and helps clients to gain trust in intermediary services. LSKV forms a foundational core, lowering the barriers to building more trustworthy systems.
著者: Andrew Jeffery, Julien Maffre, Heidi Howard, Richard Mortier
最終更新: 2024-07-17 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2407.12623
ソースPDF: https://arxiv.org/pdf/2407.12623
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。