BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Windows Azureにおけるデータセキュリティのためのアドバイス

Windows Azureにおけるデータセキュリティのためのアドバイス

原文(投稿日:2010/01/15)へのリンク

Windows Azureでの暗号化サービスとデータのセキュリティという最近のMSDNの記事で、Jonathan Wiggs氏がWindows Azureでセキュアなデータの保存や処理についてアドバイスしている。InfoQでは、アプリケーションをクラウドに配置することによる、セキュリティ上のいくつかの悪影響を理解するため、このトピックについてより詳細に調査した。

Wiggs氏は、Windows Azureでは、Cryptographic Service Providers(CSP)が提供する、基本的な暗号化を利用することを勧めている。

一貫したアドバイスは、自分で暗号化アルゴリズムを作ったり、独自の暗号化アルゴリズムを使わないことです。...
.NET CSPが提供するアルゴリズムは、十分にテストされています。

彼は、乱数の生成にRNGCryptoServiceProviderクラスを使うことも提案している。なぜなら、このクラスは推測されにくい、非常に無秩序な乱数を生成するからだ。

CSPはデータの暗号化やメッセージの署名をサポートするが、それには暗号化キー(基本的には文字列)が必要であり、これらのキーを適切に保存・保護することは、データのセキュリティを保障する上での最優先事項である。Wiggs氏によれば、Windows Azureはデフォルトでデータを暗号化せず、SQL Azureはまだ暗号化を提供していないという。セキュリティキーを使う第一のルールは

アプリケーションでは暗号化キーとして、例えばストレージサービスのキーのような、Windows Azureから提供されたキーを使うべきではありません。これらのキーはセキュリティ目的で簡単にローテーションできるように構成されているか、それらは何らかの理由で危険にさらされています。要するに、これらは将来そこになくなり、広く分布しているでしょう。

Wiggs氏はセキュリティ保護を得るために、キーの保存にAzure Storageサービスを使うことを提案している。暗号化キーはBlobサービスAPIを通じてテキストファイルに保存することができる。

CSPキーコンテナにキーを保存してください。これは、サーバへの物理的アクセスなしに取得するのが困難な公開キーを保存するのに、優れた選択肢です。アプリケーションとデータの場所が抽象化されているWindows Azureでは、この方法で保存された公開キーを検索したり、取得するのは非常に困難です。

しかしながら、この記事では、ストレージキーの保護方法については言及されていない。これについては問題が残ってしまった格好だ。暗号化キーを保護するために、Wiggs氏はいくつかの解決策を提案している。

  • キーを置き換える。
  • キーへのアクセスが必要な人だけに、アクセス許可を与える。
  • 関連するリスクを評価し、リスクに対応する方法を決定できるように、データがどうやって、そして誰に使われるのかを明確にするためのデータフロー図を作る。

SQL Server 2008で、データベースに送られたデータを即座に暗号化/複合化するTransparent Data Encryption(TDE)が導入されたが、SQL Azureはデータベースレベルの暗号化をサポートしていない。結果的に、まだそれに頼るべきではない、とWiggs氏は言う。しかし、SQL Azureには別のセキュリティツール、ファイアウォールがある。

それは、特定のIPアドレスやIPアドレスの範囲も含めた、様々な接続元からの接続を許可/拒否します。SQL AzureファイアウォールはSQL Azureポータルを使ったり、sp_set_firewall_ruleやsp_delete_firewall_ruleといったストアドプロシージャで、直接マスタデータベースを操作することで管理されます。

慎重に保護すべきデータに関するアドバイスとして、文字列のような不変データ型の使用を避けることが述べられている。このようなオブジェクトは、作成後に長時間メモリ上に留まる。そして、このメモリの一部が、何か価値があるものをメモリから探し出そうとするような、別のユーザのアプリケーションに割り当てられる可能性がある。Wiggs氏は、暗号化キーやその他の慎重に取り扱うべきデータはバイト配列に格納し、使い終わったらすぐに0で上書きすることを提案している。

クラウドコンピューティングは、コンピュータに新たなチャンスをもたらす。その一方で、データを盗み出そうとする者達にも新たな可能性をもたらすため、新しいセキュリティ問題を引き起こす。クラウド企業はおそらく最優先でデータセキュリティについて考慮し、ベストな方法でそれを提供するだろう。一方、ユーザはデータが盗まれる可能性を低下させるために、アプリケーションとデータをよりセキュアにする必要がある。

この記事に星をつける

おすすめ度
スタイル

BT