すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:概要

最終更新日:Jan 20, 2025

対称鍵とは異なり、非対称鍵は、信頼レベルが異なるシステム間でデジタル署名を検証したり、機密情報を暗号化したりするために使用されます。

非対称鍵ペアは、互いに暗号的に関連する公開鍵と秘密鍵とからなる。 公開鍵はすべて使用できますが、秘密鍵は安全に保たれ、信頼できるユーザーのみが使用する必要があります。 Alibaba Cloudは、一般的な非対称鍵アルゴリズムをサポートし、暗号化されたデータとデジタル署名のセキュリティを確保するのに十分なセキュリティ強度を提供します。

キー管理サービス (KMS) は、非対称顧客マスターキー (CMK) の証明書署名要求 (CSR) ファイルを生成します。 証明書申請者は、CSRファイルを証明機関 (CA) に提出する。 次に、CAは、CAの秘密鍵を使用することによって署名されたデジタル証明書を返信する。 デジタル証明書は、電子メール、端末、コード署名、信頼できるWebサイトサービス、およびID認証管理システムのセキュリティを確保するために使用できます。

非対称キーの種類

次の表に、KMSがサポートする非対称キーの種類を示します。
アルゴリズムキータイプ説明目的
RSA
  • RSA_2048
  • RSA_3072
RSA非対称暗号システム
  • データを暗号化または復号化します。
  • デジタル署名を生成します。
ECC
  • EC_P256: 国立標準技術研究所 (NIST) の推奨楕円曲線P-256
  • EC_P256K: SECG (Efficient Cryptography Group) 楕円曲線の規格secp256k1
楕円曲線暗号 (ECC)デジタル署名を生成します。
SM2EC_SM2GB/T 32918によって定義されたECC
  • データを暗号化または復号化します。
  • デジタル署名を生成します。

データ暗号化

非対称キーは機密情報を送信する場合に使用されます。 以下の操作は、典型的なシナリオを説明します。
  1. 情報受信機は、公開鍵を送信機に配布する。
  2. 送信機は公開鍵を使用して機密情報を暗号化する。
  3. 送信機は、機密情報から生成された暗号文を情報受信機に送信する。
  4. 情報受信者は、秘密鍵を用いて暗号文を復号する。

秘密鍵は、情報受信者のみが使用することができる。 これにより、機密情報の平文が送信中に権限のない当事者によって傍受および復号されないことが保証される。 この暗号化方式は、鍵の交換に広く使用されています。 例えば、セッション鍵は、Transport Layer Security (TLS) ハンドシェイクで交換され、暗号化鍵は、異なるハードウェアセキュリティモジュール (HSM) 間でエクスポートおよびインポートされる。

詳細については、「非対称CMKを使用したデータの暗号化と復号化」をご参照ください。

デジタル署名

非対称鍵は、デジタル署名を生成するためにも使用される。 秘密鍵は、メッセージまたは情報への署名に使用できます。 秘密鍵は厳密に保護されており、信頼できるユーザーのみが署名を生成するために使用できます。 署名が生成された後、対応する公開鍵を使用して署名を検証し、次の目的を達成できます。
  • データの整合性を確認します。 データがその署名と一致しない場合、データは改ざんされ得る。
  • メッセージの信頼性を確認します。 メッセージがその署名と一致しない場合、メッセージ送信機は秘密鍵を保持しない。
  • 署名の否認防止を提供します。 データがその署名と一致する場合、署名者はこの署名を拒否できません。
以下の操作では、一般的な署名検証シナリオについて説明します。
  1. 署名者が公開鍵を受信者に送信します。
  2. 署名者は、公開鍵と一致する秘密鍵を使用してデータに署名します。
  3. 署名者は、データおよび署名をメッセージ受信者に送信する。
  4. データおよび署名が受信された後、受信者は、署名を検証するために公開鍵を使用する。

デジタル署名は、データの改ざんを防ぎ、身元を認証するために広く使用されています。

  • ケース1: デジタル署名を使用して、バイナリコードの整合性を保護し、コードが操作されていないことを確認できます。 これは、信頼できる実行環境を提供するのに役立つ。
  • ケース2: デジタル署名は、デジタル証明書システムでも使用できます。 このようなシステムでは、CAは、エンティティ情報、公開鍵および秘密鍵情報、鍵の目的、有効期限、および発行者を証明するために、デジタル証明書に署名を提供する。 証明書の秘密鍵保有者は、秘密鍵を使用してメッセージに署名する。 メッセージ受信者は、証明書に含まれる公開鍵を使用してメッセージ署名を検証し、証明書発行者の公開鍵を使用して証明書を検証する。

詳細については、「非対称CMKを使用したデジタル署名の生成と検証」をご参照ください。

キーバージョン

KMSは、公開鍵と秘密鍵の制限により、非対称CMKの自動ローテーションをサポートしていません。 CreateKeyVersion操作を呼び出して、特定のCMKでキーバージョンを作成し、公開キーと秘密キーの新しいペアを生成できます。 新しいキーバージョンを使用してデジタル署名を生成したり、データを暗号化したりする場合は、新しいバージョンの公開キーも配布する必要があります。

さらに、対称CMKとは異なり、非対称CMKには主キーバージョンがありません。 したがって、KMSで非対称CMKに関連する操作を呼び出す必要がある場合は、対応するCMK IDまたはCMKエイリアスとキーバージョンを指定する必要があります。

公開キー操作

ほとんどの場合、GetPublicKey操作を呼び出して公開鍵を取得し、暗号化または検証のためにユーザーに配布できます。 次に、OpenSSLやJava Cryptography Extension (JCE) などの暗号ライブラリを使用して、ビジネスシステムで計算を実行できます。

AsymmetricEncryptまたはAsymmetricVerify操作を呼び出して、公開キー操作を実行することもできます。 KMSは呼び出しのログを記録し、RAM (Resource Access Management) を使用して公開キーの使用を制限できるようにします。 ビジネスシステムでの計算と比較して、KMSはニーズにより適した柔軟な機能を提供します。

秘密鍵操作

秘密鍵を使用してデータを復号化したり、デジタル署名を生成したりするには、AsymmetricDecryptまたはAsymmetricSign操作のみを呼び出すことができます。