概要
Microsoft Azure に触れる機会が増え、ふと Azure Cosmos DB や Blob に保存したデータなどの暗号化などはどうなっているかと思い、調査してみた。
調査結果
- Azure ストレージ(Blob 含む) では、データが保存されるときに自動的に暗号化されるとのこと。
- 暗号化方法は 256 ビット AES 暗号化が使用される。
- 暗号化はすべてのストレージで有効になり、暗号化を無効にすることはできない。
- Azure ストレージ暗号化機能を使用するために必要な処理はない。
暗号化キーの管理について
- 規定では Microsoft マネージドキーで暗号化されている。
- 独自のキーで管理する方法もあり、その際のオプションは以下の 2 つ。
- BLOB ストレージ(と Azure Files)のデータの暗号化と復号化に使用する "カスタマーマネージドキー" を独自に指定することが可能(詳細は Azure Storage 暗号化へのカスタマーマネージドキーの使用 を参照)。
- BLOB ストレージへのアクセス時、要求別・操作別に暗号化キーを指定する "カスタマー指定のキー" を独自に指定することが可能で、BLOB データの暗号化と暗号化解除の方法を細かく制御することが可能となる(詳細は BLOB ストレージに対する要求で暗号化キーを指定する を参照)。
- Microsoft マネージドキーは、コンプライアンス要件に応じて適切に交換されるため、安全とのこと。ただし、特定のキー交換の要件がある場合は、独自にキーを管理・監視可能な "カスタマーマネージドキー" に移行することが推奨されている。
なお、以下の表は Azure Storage 暗号化のキー管理オプションの責任範囲を示す。
キー管理パラメーター | Microsoft のマネージド キー | カスタマー マネージド キー | カスタマー指定のキー |
---|---|---|---|
暗号化/暗号化解除の操作 | Azure | Azure | Azure |
サポートされている Azure Storage サービス | All | BLOB ストレージ(と Azure Files) | BLOB ストレージ |
キー記憶域 | Microsoft キー ストア | Azure Key Vault または Key Vault HSM | カスタマーのキー ストア |
キーのローテーションの責任 | Microsoft | カスタマー | カスタマー |
キー コントロール | Microsoft | カスタマー | カスタマー |
インフラストラクチャーの暗号化を使用したデータの二重暗号化について
- データのセキュリティについてより高いレベルの保証が必要な場合、Azure ストレージのインフラストラクチャレベルで 256 ビットの AES 暗号化を有効化することも可能とのこと。
- その場合、2 つの異なる暗号化アルゴリズムと 2 つの異なるキーを使用して、2 回暗号化される(インフラストラクチャレベルで 1 回、ストレージサービスレベルで 1 回)。
- ストレージサービスレベルでの暗号では、Microsoft マネージドキーまたはカスタマーマネージドキーの使用がサポートされている。
- インフラストラクチャレベルでの暗号では、Microsoft マネージドキーに依存し、常に別のキーが使用されている。
- インフラストラクチャの暗号化を有効にするストレージアカウントを作成する方法の詳細は、「データの二重暗号化のためにインフラストラクチャ暗号化を有効にしてストレージアカウントを作成する」を参照とのこと。