ログインまたはコンソールをアクセス

OK

Key Management Service

暗号化キー管理サービス

今すぐ利用開始

キー管理サービス

Key Management Service(KMS) は、データの保護に使用する暗号鍵の作成、制御および安全な保管ができる使いやすいサービスです。

KMS を使用すると、暗号鍵の機密性、整合性、可用性を保ちながら、コストも節約できます。ApsaraDB for RDS や Object Storage Service など、他の Alibaba Cloud サービスと KMS を統合することで、これらのサービスに格納されている証明書やキーなどの重要な情報を暗号化することができます。ユーザは、暗号鍵の管理作業から解放され、本来のプログラム開発に専念することができます。

ユーザ別利用パターン

ユーザタイプ課題ソリューション
アプリケーション/Web サイト開発者暗号鍵による暗号処理と、証明書による署名処理を含むプログラムを開発しています。暗号鍵と証明書を安全に管理したいという課題があります。かつ、プログラム内であれば安全に暗号鍵を使用できる仕組みが必要です。当然ながら、暗号カギを平文のままで保持する方法は危険すぎるので、使用することができません。エンベロープ暗号化手法を使用すると、KMS に Customer Master Key (CMK) を作成し、CMK で暗号化された暗号鍵のみをデプロイできます。また、KMS を呼び出して、使用する必要がある場合にのみ暗号鍵を復号化できます。
SaaS サービス提供者暗号鍵の管理は、SaaS サービス提供者としては堅実は仕組みを提供しつつ、責任分担としてはユーザーの範囲としたく考えています。KMS を使用すれば、ユーザーの暗号鍵のセキュリテイ性を簡単に高めることができます。CMK に RAM で権限を設定しておくことで、CMK を KMS 内で安全に格納し、またユーザーが暗号鍵の安全性をユーザ自身で管理できるようになります。このようにすることで、SaaSサービス提供側は暗号鍵漏れのリスクを軽減でき、本来のサービス開発作業に集中できるようになります。
最高セキュリティ責任者 (CSO)自社内における暗号鍵の管理運用が、コンプライアンス要件を満たしている必要があります。暗号鍵の権限設定と、暗号鍵の使用履歴の監査が可能であることも必要です。KMS を RAM と関連付けて、統合された権限管理を行うことができます。

利点

フルマネージド

  • Customer Master Key (CMK) より暗号鍵を暗号化すると、鍵の管理がシンプルになります。

  • 高可用性、高セキュリティ、メンテナンスフリーのサービスインフラです。

セキュリティ

  • トランスポート層セキュリティ (TLS) を介したデータ転送でデータのセキュリティを確保します。

使いやすさ

  • Customer Master Key (CMK) より暗号鍵を暗号化すると、鍵の管理がシンプルになります。

  • 高可用性、高セキュリティ、メンテナンスフリーのサービスインフラです。

マルチリージョンのサポート

  • 日本、中国はもちろん、世界中のリージョンで使用でき、また、使用量はリージョンごと、およびユーザーごとでカウントされます。

優れたコスト効率

  • オンプレで同等機能を用意した場合と比較すると、コストを節約できます。

  • ビジネス要件に応じて必要なリソースにコストを集中させることができます。

プロダクトの詳細

Key Management Service(KMS) は、データの保護に使用する暗号鍵の作成、制御および安全な保管ができる使いやすいサービスです。API、SDK またはコンソールを使用して、Customer Master Key (CMK) の生成およびそれを用いたユーザーの暗号鍵の管理ができます。

暗号化/復号化の際、少量のデータをローカルで暗号化/復号化する場合は API を使用し、それ以上に大きなのデータの場合はエンベロープ暗号化手法を使用します。

また、CMK の使用ポリシーを RAM で定義することもでき、 さまざまな Alibaba Cloud ストレージサービスと連携して、格納データの機密性を向上することができます。


特徴

機能

  • CMK の作成、表示、有効化、無効化ができます。データの暗号化に使用するデータキー(DK)の作成、CMKよる暗号化および復号化が可能です。

  • 他サービスと連携している CMK のリストを表示できます。

セキュリティ

  • HTTPS プロトコルのみ KMS にアクセスできるため、通信のセキュリティを確保できます。

  • HMAC-SHA1 署名方式をサポートしています。

  • データの暗号化に使用される暗号鍵そのものの機密性、整合性、可用性は KMS が保証します。

複数の場所のサポート

場所場所 IDパブリックネットワークアドレスプライベートネットワークアドレス
中国東部 1 (杭州)cn-hangzhoukms.cn-hangzhou.aliyuncs.comkms-vpc.cn-hangzhou.aliyuncs.com
シンガポールap-southeast-1kms.ap-southeast-1.aliyuncs.comkms-vpc.ap-southeast-1.aliyuncs.com
中国東部 2 (上海)cn-shanghaikms.cn-shanghai.aliyuncs.comkms-vpc.cn-shanghai.aliyuncs.com
中国北部 2 (北京)cn-beijingkms.cn-beijing.aliyuncs.comkms-vpc.cn-beijing.aliyuncs.com
中国南部 1 (深セン)cn-shenzhenkms.cn-shenzhen.aliyuncs.comkms-vpc.cn-shenzhen.aliyuncs.com
日本ap-northeast-1kms.ap-northeast-1.aliyuncs.comkms-vpc.ap-northeast-1.aliyuncs.com
ドバイme-east-1kms.me-east-1.aliyuncs.comkms-vpc.me-east-1.aliyuncs.com
シドニーap-southeast-2kms.ap-southeast-2.aliyuncs.comkms-vpc.ap-southeast-2.aliyuncs.com
香港cn-hongkongkms.cn-hongkong.aliyuncs.comkms-vpc.cn-hongkong.aliyuncs.com
中国北部 3 (張家口)cn-zhangjiakoukms.cn-zhangjiakou.aliyuncs.comkms-vpc.cn-zhangjilou.aliyuncs.com
中国北部 1 (青島)cn-qingdaokms.cn-qingdao.aliyuncs.comkms-vpc.cn-qingdao.aliyuncs.com
マレーシアap-southeast-3kms.ap-southeast-3.aliyuncs.comkms-vpc.ap-southeast-3.aliyuncs.com
中国北部 5 (フフホト)cn-huhehaotekms.cn-huhehaote.aliyuncs.comkms-vpc.cn-huhehaote.aliyuncs.com

エンベロープ暗号化技術

  • CMK で暗号化したデータキー(DK)をカプセル化し、暗号化されたデータを保存、転送、使用することができます。KMS に CMK だけを格納します。

  • ユーザが必要なときにのみ KMS を呼び出し、データキーを復号化できます。

耐久性

  • 暗号化した CMK の複数コピーを格納して、高い耐久性と可用性を確保します。

  • リージョン内の複数のアベイラビリティゾーンにデプロイして、暗号鍵の高可用性を確保することができます。

利用イメージ

一般的な KMS 利用イメージをいくつか次に示します。

1. KMS を使用して小さなデータ (4 KB 未満) を直接暗号化/復号化

KMS API を呼び出し、任意の Customer Master Key (CMK) を指定してデータの暗号化と復号化を行うことができます。この利用イメージは、小さなデータ (4 KB 未満) の暗号化と復号化に適用されます。データの暗号化および復号化の処理はサーバで実施され、サーバとの通信は安全なチャネルを使用します。

HTTPS 証明書暗号化の手順:

手順:

  • Customer Master Key (CMK) の作成

  • KMS の暗号化インターフェイスを呼び出して、平文の証明書を送信し、暗号化します。

  • 暗号化された証明書をサーバにデプロイします。

  • 証明書を使用する際は、KMS の復号化インターフェイスを呼び出して暗号化された証明書を平文の証明書に復号化します。

2. エンベロープ暗号化を使用して大容量データをローカルで暗号化/復号化

CMK で暗号化したデータキーをカプセル化し、暗号化されたデータを保存、転送、使用することができます。KMS に CMK だけを格納します。この方法は、大容量のデータの暗号化および復号化に適しています。

KMS API を呼び出し、任意の Customer Master Key (CMK) を指定してローカルデータの暗号化および復号化を実施します。大量のデータをネットワーク経由で送信する必要がないため、ネットワーク通信のコストを削減できます。

その結果、盗聴やフィッシングなど、様々なセキュリティリスクが大幅に軽減されます。

ローカルファイルの復号化の手順:

暗号化の手順:

  • CMK を作成します。

  • KMS の GenerateDataKey インターフェイスを呼び出してデータキーを生成し、平文データキーと暗号化データキーを取得します。

  • 平文データキーを使用してファイルを暗号化し、暗号文ファイルを生成します。

  • 暗号化データキーと暗号文ファイルをストレージデバイスまたはサービスに保存します。

ローカルファイルの復号化の手順:

復号化の手順:

  • ストレージデバイスまたはサービスから暗号化されたデータキーとファイルを読み込みます。

  • KMS の復号化インターフェイスを呼び出して暗号化されたデータキーを復号化し、平文のデータキーを取得します。

  • 平文のデータキーを使用して、ファイルを復号化します。

はじめに

コンソールからの KMS の使用

コンソールは、簡単な Web ベースのユーザーインターフェイスで CMK の作成、記述、有効化、無効化を行うことができます。

KMS API リファレンス

データキーの暗号化と復号化は KMS API をお使いください。KMS API のドキュメントについてはこちらをクリックしてください。

コンソールからKMS の管理または操作する方法については、クイックスタートガイドをご参照ください。

KMS SDK リファレンス

KMS SDK では4 つの言語 (Java、Python、PHP、C#) をサポートします。

Java SDK サンプルコードをご参照ください。

リソース

ドキュメント、API,SDK へのリンク、およびその他の関連リンクを次に示します。

開発者向けリソース

よくある質問

1. Customer Master Key (CMK) とは何ですか。

CMK とは、Key Management Service(KMS) において、データキーを暗号化する際に使用する暗号鍵です。また、小さなデータ (4KB 未満) の暗号化に際には、CMK をそのまま使用することもできます。

2. エンベロープ暗号化技術とは何ですか。

エンベロープ暗号化は、デジタルエンベロープ手法に似た暗号化メカニズムです。CMK を使用して直接データを暗号化/復号化するのではなく、データキー (DK) をエンベロープにカプセル化することで、データの格納や転送が安全に実施することができます。

3. KMS の API エンドポイントは HTTP でアクセスできますか。

いいえ。データのセキュリティを確保するため、KMS は の API および SDK でのアクセスは、HTTPS プロトコルのみをサポートします。

4. 復号化する際に "Forbidden.KeyNotFound" というエラーが発生するのはなぜですか。

このエラーは、CMK を格納したリージョン以外で復号しようとした場合に、発生します。KMS は各リージョンで完全に独立しています。データを暗号化した CMK と同じリージョンでデータを復号化する必要があります。

5. ユーザが用意した暗号鍵を KMS で管理するにはどうすればよいですか。

エンベロープ暗号化手法と KMS のオープン API に基づいて、データキーを CMK で暗号化および復号化をすることができます。平文暗号鍵をストレージデバイスに直接格納することは推奨しません。

6. 1 リージョンに 1 ユーザーが作成できる CMK の最大数はいくつですか。

デフォルトでは、200 個です。それを超える場合は、サポートセンターへチケットをあげリクエストをしてください。

7. 暗号化/復号化 API パラメータ の Encryption context とは何ですか。

Encryption context とは、データの整合性を保護するために、Encrypt、GenerateDataKey、Decrypt を含む KMS API で使用できる String : String 形式の JSON 文字列です。