CloudHSM CLI で ECDSA メカニズムを使用して署名された署名を検証する - AWS CloudHSM

CloudHSM CLI で ECDSA メカニズムを使用して署名された署名を検証する

CloudHSM CLI の crypto verify ecdsa コマンドを使用して、次のオペレーションを完了します。

  • 指定されたパブリックキーによって HSM でファイルが署名されていることを確認します。

  • ECDSA 署名メカニズムを使用して署名が生成されたことを検証します。

  • 署名されたファイルをソースファイルと比較し、両者が指定された ecdsa パブリックキーと署名メカニズムに基づいて暗号的に関連するかどうかを判断します。

crypto verify ecdsa コマンドを使用するには、まず AWS CloudHSM クラスターに EC パブリックキーが必要です。verify 属性を true に設定して CloudHSM CLI で PEM 形式キーをインポートする コマンドを使用して、EC パブリックキーをインポートできます。

注記

CloudHSM CLI の CloudHSM CLI の暗号化署名カテゴリ サブコマンドを使用して署名を生成できます。

ユーザーのタイプ

このコマンドは、次のタイプのユーザーが実行できます。

  • Crypto User (CU)

要件

  • このコマンドを実行するには、CU としてログインする必要があります。

Syntax

aws-cloudhsm > help crypto verify ecdsa Verify with the ECDSA mechanism Usage: crypto verify ecdsa --key-filter [<KEY_FILTER>...] --hash-function <HASH_FUNCTION> <--data-path <DATA_PATH>|--data <DATA>> <--signature-path <SIGNATURE_PATH>|--signature <SIGNATURE>> Options: --cluster-id <CLUSTER_ID> Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --key-filter [<KEY_FILTER>...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a matching key --hash-function <HASH_FUNCTION> [possible values: sha1, sha224, sha256, sha384, sha512] --data-path <DATA_PATH> The path to the file containing the data to be verified --data <DATA> Base64 encoded data to be verified --signature-path <SIGNATURE_PATH> The path to where the signature is located --signature <SIGNATURE> Base64 encoded signature to be verified -h, --help Print help

これらの例は、crypto verify ecdsa を使用して、ECDSA 署名メカニズムと SHA256 ハッシュ関数を使用して生成された署名を検証する方法を示しています。このコマンドは HSM でパブリックキーを使用します。

例: Base64 でエンコードされた署名を Base64 でエンコードされたデータで検証する
aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data YWJjMTIz --signature 4zki+FzjhP7Z/KqoQvh4ueMAxQQVp7FQguZ2wOS3Q5bzk+Hc5irV5iTkuxQbropPttVFZ8V6FgR2fz+sPegwCw== { "error_code": 0, "data": { "message": "Signature verified successfully" } }
例: データファイルを使用して署名ファイルを検証する
aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data-path data.txt --signature-path signature-file { "error_code": 0, "data": { "message": "Signature verified successfully" } }
例: 偽の署名関係を証明する

このコマンドは、/home/data にあるデータが、ラベル ecdsa-public 付きのパブリックキーによって、/home/signature にある署名を生成する ECDSA 署名メカニズムを使用して署名されたかどうかを検証します。指定の引数が真の署名関係を構成していないため、コマンドは、エラーメッセージを返します。

aws-cloudhsm > crypto verify ecdsa --hash-function sha256 --key-filter attr.label=ec-public --data aW52YWxpZA== --signature +ogk7M7S3iTqFg3SndJfd91dZFr5Qo6YixJl8JwcvqqVgsVuO6o+VKvTRjz0/V05kf3JJbBLr87Q+wLWcMAJfA== { "error_code": 1, "data": "Signature verification failed" }

引数

<CLUSTER_ID>

このオペレーションを実行するクラスターの ID。

必須: 複数のクラスターが設定されている場合。

<DATA>

署名対象の Base64 でエンコードされたデータ。

必須: はい (データパスを通じて提供される場合を除く)

<DATA_PATH>

署名するデータの場所を指定します。

必須: はい (データパスを通じて提供される場合を除く)

<HASH_FUNCTION>

ハッシュ関数を指定します。

有効な値:

  • sha1

  • sha224

  • sha256

  • sha384

  • sha512

必須: はい

<KEY_FILTER>

キーリファレンス (例: key-reference=0xabc) または attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE 形式のキー属性のスペース区切りリスト。これに一致するキーを選択します。

サポートされている CloudHSM CLI キー属性のリストについては、「CloudHSM CLI のキー属性」を参照してください

必須: はい

<SIGNATURE>

Base64 でエンコードされた署名。

必須: はい (署名パスを通じて提供される場合を除く)

<SIGNATURE_PATH>

署名の場所を指定します。

必須: はい (署名パスを通じて提供される場合を除く)

関連トピック