- 印刷する
- PDF
Key Management Service とは
- 印刷する
- PDF
Classic/VPC環境で利用できます。
データ暗号化
暗号化とは、任意のキーを使用して平文データを解釈不可能な暗号文に変換し、データに機密性を付与することを指します。ユーザーは暗号文に適したキーを使用して復号化の過程を経て、元の平文データを取得できます。この時、最も重要な要素は「キー」です。キーを安全に保護すれば、平文が露出することはほとんどありません。データを送受信する送受信側が安全に共有されたキーを知っていれば、キーを使って暗号化/復号化通信を行うことでデータの機密性を確保できます。送受信間でキーを安全に共有してデータを暗号化/復号化する方法にはいくつかありますが、一般的に広く知られている方法は SSL/TLSプロトコルを使用することです。暗号化は、データを送受信する場合だけでなく、安全に保存する場合にも使用できます。もしデータをデータベースなどの保存場所に暗号化して保存する必要がある場合は、暗号化キーが外部に露出されないよう安全に管理することが重要です。
キーのライフサイクル
データ暗号化に使用される暗号化キーは、生成から消滅までの一連のライフサイクルを持ちます。ライフサイクルによって、キーは使用可能、使用停止、削除リクエスト、削除のステータスに分けられます。キーのステータスは、当該キーのすべてのバージョンに継承されます。例えば、3つのバージョンを持つキーが使用停止のステータスになると、そのキーのすべてのバージョンも使用停止のステータスになります。もしキーが再び有効になり使用可能のステータスに変更された場合、各バージョンは以前持っていたステータスに自動的に復元されます。
Key Management Serviceでは、キーごとに最大100のバージョンを作成して管理でき、キーのステータスは当該キーのすべてのバージョンに継承されます。例えば、3つのバージョンを持つキーのステータスが使用停止になると、3つのバージョンがすべて使用停止のステータスになります。キーが再び有効になり使用可能のステータスに変更されると、各バージョンは自動的に以前のステータスに復元されます。ライフサイクルの各ステータスの説明は、次の通りです。
作成
キー作成をリクエストすると、キー管理推奨による手順に従って安全に作成され、固有 IDが付与されます。作成されたキーは暗号化された保存場所に安全に保存され、有事の際に備えたバックアップ地点も共に作成されます。使用可能
すべての暗号化/復号化リクエストに使用できるキーです。作成されたキーは自動的に有効化され使用可能のステータスになり、いつでも無効化できます。使用可能ステータスのキーは管理費用が発生します。使用停止
無効化されたキーで、必要に応じていつでも有効にして使用可能のステータスに切り替えられます。使用停止ステータスのキーもローテーション周期に従い、次のローテーション日に合わせて新しいバージョンに更新されます。使用停止ステータスのキーは、暗号化/復号化リクエストには使用できず、管理費用が発生します。削除リクエスト
使用されなくなったため、誤用防止と不要なメンテナンス/管理を減らすために、ユーザーが削除をリクエストしたキーです。削除リクエストステータスのキーは、のキー削除リクエストが発生した72時間後に完全に削除されます。ユーザーのリクエストにより削除されたキーは復旧できないので、削除リクエストの際には使用しているキーがないか慎重に確認する必要があります。最終削除前まで削除リクエストはキャンセルでき、キャンセルされたキーは直ちに使用停止ステータスに切り替えられます。削除リクエストステータスのキーもローテーション周期に従い、管理課金の対象となります。ユーザーがいない場合は、 即時削除 ボタンをクリックしてすぐに削除処理することもできます。削除
最終的に完全削除されたキーであり、実際の暗号化キーのビットデータである生キー(Raw key)は直ちに削除処理されます。キー値以外の管理情報は、当該月の精算処理後にすべて削除されます。最終的に削除されたキーは、いかなる場合にも復旧できません。
エンベロープ暗号化
キーを使用してデータを暗号化する方法にはいくつかあります。その中でもエンベロープ暗号化(Envelope Encryption)は、キーの階層的な管理を通じてデータの機密性と管理権の両方を満足させるために推奨されます。本ドキュメントでは、エンベロープ暗号化の概念を紹介し、Key Management Serviceを利用してエンベロープ暗号化を使用する際に知っておくべきキーの階層構造とポリシーについて説明します。
キーの階層的管理
通常、データを保護するために暗号化を使用しますが、暗号化だけでデータが完全に保護されるわけではありません。データ保護レベルは単に暗号化有無ではなく、暗号化キーをどのように管理するかにかかっています。キー管理には複雑な要素が多いため、安全なキー管理ソリューションを使用することが最も望ましいです。このとき重要な要素は、データ管理権の確保です。データ管理権とは、必要な時にデータにアクセスできるだけでなく、許可されていないアクセスをブロックするアクセス制御の原則を遵守することを意味します。キーを外部に委託して保管すると、データ復号化が可能な外部接点が増え、管理権に対する脅威が高まる可能性があります。
最もよく知られている安全なキー管理方法のうち1つは、キーを階層的に管理する方法です。つまり、データを暗号化するキーを別の上位キーで暗号化して保護する方式です。キーシーリング(Sealing)またはキーラッピング(Wrapping)と呼ばれるこの方式は、リモート暗号化キー管理ソリューションを使用する際、データ管理権をある程度確保することができます。データを暗号化するキーを保護する上位キーを通常マスターキーといいます。マスターキーを内部または外部のキー管理ソリューションで管理することで、データ管理権に対する脅威を減らすことができます。このようなキーの階層的な管理方式を エンベロープ暗号化(Envelope Encryption) と呼び、データを直接暗号化するのではなく、データを暗号化するキーを保護してデータの機密性と管理権を同時に満足させる方式です。
エンベロープ暗号化において、実際のデータを暗号化/復号化するキーはデータキーです。Key Management Serviceを利用してエンベロープ暗号化方式を適用することで、データキーを封印して安全に管理することができます。ただし、実際にデータを暗号化/復号化する際には、封印解除されたデータキーを使用します。Key Management Serviceを通じて封印解除されたキーを受け取った後は、そのキーの管理責任はユーザーにあります。したがって、データを暗号化/復号化した後はそのキーを直ちに削除し、封印された形のデータキーのみを保管することをお勧めします。
NAVERクラウドプラットフォームとユーザーのクラウド責任共有モデルに関する説明は、NAVERクラウドプラットフォームポータルのセキュリティセンターをご参照ください。
キー管理ポリシー
Key Management Serviceでは、キーを階層的な構造で管理するため、階層別の主キーの概念とロールを理解する必要があります。
データ暗号化キー(Data Encryption Key)
データ暗号化/復号化に使用されるキーは、ユーザー管理領域で安全に保管する必要があります。Key Management Serviceを利用してデータ暗号化キーを保護することで、管理的な負担を軽減できます。データ暗号化キーを保護する方法には、ユーザーが直接キーを作成し、ユーザー管理キーで暗号化して「封印」する方法と、Key Management Serviceのカスタムキー作成 APIである Create User Custom Key
を利用する方法があります。APIを使用すると、安全に作成されたランダムキーとこれをユーザー管理キーで暗号化した形式を一度に取得できるため、非常に便利です。
ユーザー管理キー(User Managed Key)
ユーザーが Key Management Serviceで作成したキーは、作成、ローテーション、削除などすべての過程がユーザーの管理下で運用されます。Key Management Serviceの管理者や特定のキーに対する権限を持つキーマネージャは、NAVERクラウドプラットフォームコンソールを通じて便利にキーを管理できます。ユーザー管理キーがデータ暗号化キーを保護するために使用される場合、これをキー暗号化キー(Key Encryption Key、KEK)またはマスターキーと呼びます。ユーザー管理キーは、KMSシステムの最上位キーであるルートキーで暗号化され、Key Management Serviceの最も核心部に構成されたセキュリティストレージに保存されます。
ルートキー(Root Key)
ルートキーは安全な手順で作成され、その後ユーザー管理キーと同じ管理ポリシーに従って運用されます。例えば、ルートキーも1年周期でローテーションして更新され、厳格なキーアクセス権管理が行われます。ユーザー管理キーとの唯一の違いは、キーの保存と管理が HSMを通じて行われること、キー有効化手順がオフラインで行われるという点です。ルートキーは紛失や管理者の悪意のある行為に備えて Hardware Security Module(HSM)に保存され、FIPS 140-3 Level 3保護レベルが保証されます。また、HSMのアクセス履歴はすべて記録されます。