2018年11月12日月曜日

Google クラウドにデータってどのように保存されてるのだろう?

Google サービスを使っていると、そのデータが Google のどこかのデータセンターにあるサーバーに暗号化されて保存されているだろうというイメージまでは理解できますが、実際にどのような手法で保存されているかまでは分からないと思います。そのため、たとえばサーバーからデータが盗まれたり、見られたりすると漏洩するんじゃないかと不安に思う場合もあるかもしれません。

その疑問について、10月23日に開催された Google Cloud Summit '18 in 大阪 の展示ブースのや実際に説明を聞きました。そのことを紹介してみたいと思います。

2024年6月19日追加
下記にデータ保存に関するドキュメント詳細が書かれていました。
デフォルトの保存データの暗号化  |  Documentation  |  Google Cloud

たとえハードディスクを Google データセンターから盗み出しても意味がない


ファイルは、複数拠点・複数サーバーにランダムに分散保存されるので、1つのデータセンターのデータをまるごと盗んだとしても、目的にファイルを元の形にすることは不可能に近い。さらにデータセンターもGoogle社員だとしても、ごく少数の人しかアクセスできない堅牢なものにしているでしょうから、Google クラウドに保存されたデータを元の形として盗み出すのはほぼ不可能だと思いました。


上記が全体像のようですが、いまいちイメージがわかないと思います。
展示ブースのデモを順を追ってみてみましょう。

Step 1. 暗号化された通信を使ってデータを Googleクラウドに保存



Step 2. 複数ファイルに分割し、分割データを鍵付で暗号化



いきなりファイルを分割した上で、分割した各ファイルを別々に暗号化して、暗号鍵でロックしてしまうわけですね。

Step 3. 暗号鍵自体を、別の暗号鍵でさらに暗号化





暗号鍵自体を、別の暗号鍵で暗号化すると。つまり分割の際にアクセスを防ぐためのかけた暗号鍵を盗まれたとしても、暗号鍵自体を暗号した別の暗号鍵も一緒に得ることができないかぎり、1つの分割ファイルさえ復号化できないという念の入れようですね。

 Step 4. 分割した暗号ファイルは、それぞれ別の場所に保存


データセンター内の物理的なディスクを盗まれても、データの復元は不可能。どこの場所に保存されてるかはランダムであり、すべてを手探りで探し出すことは不可能とのこと。

また、データセンターの1つが完全破損しても、データセンター間で分割した暗号ファイル単位で相互バックアップしているので、他のデータセンターから瞬時に補完し、問題なくファイルを復元できる。

とまぁ、念には念をいれて拠点もサーバーやディスクの保存場所もランダムで複数箇所に保存されているなら、それら全部を探し出すのはちょっと不可能じゃない?と思っちゃいますね。

 Step 5. ファイルが更新された場合には?


 

ファイルを更新した場合には、別鍵で暗号化しなおし。

このあたりは使い回しをせずに鍵は毎回作り直しというのがいいですね。

疑問点:複数箇所に分散保存されたデータを高速復元可能なのは何故?


ここまで見ると、たった1つのファイルに対して世界中に散らばっているデータセンターに分散保存しているなら、そのファイルへのアクセスが遅くなるよね?だってアクセスするにはネットワーク越しに分割ファイルを集めてきて、これを復号化して元のファイルに戻すことが必要。そのためには、分割ファイルをネットワーク越しに集めてこないといけない。それってネットワークの速度にかなり依存しちゃうよね?そのあたりは大丈夫なの?という疑問が出てきます。

これについては、Google は海底ケーブルも含めて「自社」で光ファイバーを直接世界中に張り巡らせているため、自社内LANが、世界規模で構築できる出来るものすごいことをしているとのことでした。そのため、データセンターが世界中に散らばっていても、そのネットワークは Google社内 LAN になるため、高速通信できちゃうってことなのですよね。

つまりインターネット接続なしに、互いに接続できちゃうわけですので、他の影響を受けずに高速通信ができると、、それならたしかに速いでしょうね、規模が巨大すぎますけど。。。

Googleクラウドに保存されるデータは、すべて上記の対応がされている


Gmailは、添付ファイルも別途分散保存されている
動画も写真もデータもすべて分散保存されている

というから、すごいですね。

オンプレミスサーバーより、クラウドのほうが安全


これは筆者の見解です。

データは海外にある、物理ディスクを盗まれてもデータ漏洩しない仕組みとなっている。

オンプレミスでもクラウドでも、データ漏えいはユーザーの意識(アカウントの不正利用など)に起因することがほとんど

Googleアカウントは、ログイン自動不正アクセス防止機能(いつもと異なる場所、端末からアクセスすると自動的に一時ブロックする機能)、2段階認証やセキュリティキーなどによる強固な不正利用防止機能がある。

何よりオンプレミスサーバーのセキュリティ脆弱性対応には膨大なコストがかかる上に、その頻度は必ずしも高くない場合もある。またサービスの質もクラウドサービスと張り合うのはかなり辛い。結局利便性を求めてついつい無料のクラウドサービスを使ってしまう場合もあり、管理が難しい

以上から、オンプレミスサーバーで構築しないといけないケースや出来る規模もあると思いますが、クラウドサービスだからデータが盗まれるんじゃないかという点については、間違った理解かなと思います。

もちろん、クラウドサービスの提供元自体が信用できないと判断する場合はあると思います。また日本の法律が適用されないケースもあるでしょう。とはいえ、これだけクラウドサービスが身近に利用されている以上、それらと向き合わずに禁止したとしても、それを使いたい側からみたら抜け穴を探して使おうとするはず。そうではなくて、利用されることを前提として、どうしたら共存できるのかを考えたほうがいいかなと思います。

2018年11月12日 @kimipooh

0 件のコメント:

コメントを投稿