眠いのでクラウドストレージの暗号化について妄想した

以下、妄想かつ、ベースが不勉強なので、誰の参考にもなりません(kiri!!
データは暗号化されても、ファイル名がそれっぽかったらダメだよな。
ならば、暗号化ストレージをファイルベースのシステム上に構築ってのはどうか。こういうのをクラウドで運用すればいいかもな。
鍵はメモリ上に置く。配布は、、、SSLのwebサービスで(汗
暗号化鍵配布にmsecのオーダーで時間がかかる!とか思うけど、ディスク上のデータならどうせmsecのオーダーなんだから。パフォーマンスはシステムのキャッシュに依存する。そう、システムのキャッシュのメモリ状態をダンプされたらどっちみちダメなのだ。というわけで、守れるのは電源offしてとりはずされたディスクだけ。ちうか、そこの点はアプリケーションをいじることになるが、それって普通の企業じゃできないでしょ。
うーん。
そーか、DBがSSLで通信するなら、それを丸投げすればいい、というWebサーバーもありかもだから、

  • ファイルシステムSSLをしゃべる
  • クライアント認証はする
  • 通信データは復号せずにストレージする
  • リクエストされたら復号して(通信経路上ではまた暗号化するわけだが)返す

ファイルシステム側の鍵はメモリ上にしか置かなければいい。その鍵配布のところをwebサービスのOAuthをなぞれば...(expireとかrevokeとか、、を有効にするための工夫はclockの同期を前提とかoperation countとか、オブジェクト毎に鍵を変えるとか、細かい工夫が一杯あるが、大抵は余所で実現されてる(もしくはうまくいってないw)話だ。

以上、妄想終了。穴はいくらでもあるだろう。でも楽しかったからいい。

つか、S3のAPIってそいうもんにできるじゃないんだっけか>俺((2010/11/9追記: ここから確認してみようAmazon S3 (クラウドストレージサービス Amazon Simple Storage Service) | アマゾン ウェブ サービス(AWS 日本語)

追記:つーわけでOpenSSL本を読むmotivation高まった

よかった。図書館から衝動借りしてきてやや後悔していたのだ。