Googleのインフラストラクチャは,情報のライフサイクル全体を通じて安全性を確保できるように設計されている。セキュリティはインフラストラクチャの複数の層にわたっており,サービスのデプロイメントやデータストレージ,プロセス間および外部との通信といったものから,オペレーション上の問題にまで関わっている。
物理層
物理層では,次のような方法でセキュリティが確保されている。
- データセンタへの入退出の制限と厳密な管理。
- コンポーネント提供者に対する入念な審査と,提供されるコンポーネントのセキュリティ属性の監査。
- Googleのデバイスを識別するために,サーバおよび周辺機器にカスタムチップを使用。
- 起動およびアップデート毎にBIOS,ブートローダ,カーネル,基本OSイメージの暗号署名を検証。
サービスのデプロイメント
サービスレベルにおいてGoogleは,同一インフラストラクチャ上で動作するサービス間の一切の信頼関係を前提としていない。このことはサービス識別や認証,データプライバシ,整合性など,多くの面で重要な意味を持っている。例えば,
- 各サービスは暗号化された識別子を持ち,RPC(Remote Procedure Call)実行時に使用する。
- 特定のレビュー,チェックイン,テスト,承認を受けたコードからサービスがビルドされるような構成が可能である。これにより,侵入者によってソースコードが改ざんされる可能性を低減できる。
- サンドボックスやハードウェア仮想化など,複数のアイソレーション技術を使用して,サービスを同一マシン上で動作するサービスから保護している。特に重要なサービスについては,複数のアイソレーション技術を併用したり,専用マシン上でサービスを実行するように要求する場合もある。
- APIアクセスは,ホワイトリストや集中管理のACL,グループデータベースなどを使用して,サービスおよびエンジニアレベルで制限されている。
- すべてのRPC通信に暗号化が使用されている。
- Gmailから連絡先サービスというように,サービスからサービスへのユーザレベルの要求は,ユーザのセッショントークンを一時的なトークンとしてRPCレベルで使用した,ID認証プロセスを通過しなくてはならない。
データストレージ
Googleは,アプリケーションレベルとドライブレベルの両方で暗号化を使用している。実際のデータは,ディスクに保存される前に,監査ログや自動キーローテーションなどの機能を備えた中央キー管理サービスを使用して暗号化される。さらに,ハードドライブとSSDでもハードウェア暗号化を使用するとともに,再利用時には多段階の徹底した消去プロセスが実施される。
インターネット通信
Googleのインフラストラクチャはインターネットから隔離されており,一部のマシンのみが外部トラフィックと接続している。Googleのアプローチの基盤となっているのはGoogle Frond End(GFE)で,インターネット上で利用可能なすべての内部サービスに対して登録および公開サービスを提供している。GFEはTLS終端の適切な処理を保証し,ベストプラクティスを実施するとともに,リバースプロキシとして動作することによるサービス拒否(DOS)保護を提供する。DOS保護は,すべての着信要求のロードバランサレベルでの監視と,攻撃トラフィックを制限および排除する能力を持った,専用の集中サービスによって効果的に実行される。
インターネット通信の安全性を確保する上で非常に重要なステップが,Googleのログインページを通じて提示され,中央のアイデンティティサービスによって支えられているユーザ認証である。広く知られているように,Googleの認証はユーザ名とパスワードにのみ依存するのではなく,使用されているデバイスや場所といった追加的な情報が,ログイン試行毎に確認される。セキュリティを強化するため,2要素認証もサポートされている。
Googleインフラストラクチャのセキュリティに関するもうひとつの側面が,運用上のセキュリティである。これは,従業員のマシンと資格情報の保護によってソフトウェア開発過程の安全性を確保するとともに,インサイダおよび部外者の活動による脅威からの保護を目的とする。
特定の領域について詳説した資料の一覧を含む詳しい情報は,GoogleのWebサイトで見ることができる。
この記事を評価
- 編集者評
- 編集長アクション