

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Payment Cryptography の開始方法
<a name="getting-started"></a>

 AWS Payment Cryptography の使用を開始するには、まずキーを作成してから、さまざまな暗号化オペレーションでキーを使用します。以下のチュートリアルでは、CVV2 値の生成/検証に使用するキーを生成する簡単な使用例を紹介しています。他の例を試したり、AWS 内のデプロイパターンを調べるには、次の [AWS Payment Cryptography Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/b85843d4-a5e4-40fc-9a96-de0a99312a4b/en-US)を試すか、[GitHub](https://github.com/aws-samples/samples-for-payment-cryptography-service) で利用可能なサンプルプロジェクトを試してください。

このチュートリアルでは、1 つのキーを作成し、そのキーを使用して暗号化オペレーションを実行する手順について説明します。その後、不要になったキーを削除すると、キーのライフサイクルは完了します。

**警告**  
 このユーザーガイドの例では、サンプル値を使用する場合があります。キーシリアル番号などの本番環境では、サンプル値を使用しないことを*強くお勧めします*。

**Topics**
+ [前提条件](#getting-started-prerequisites)
+ [ステップ 1: キーを作成する](#getting-started-step1)
+ [ステップ 2: キーを使用して CVV2 値を生成する](#getting-started-step2)
+ [ステップ 3: 手順 2 で生成された値を確認する](#getting-started-step3)
+ [ステップ 4: ネガティブテストを実行する](#getting-started-step4)
+ [ステップ 5: (オプション) クリーンアップする](#getting-started-cleanup)

## 前提条件
<a name="getting-started-prerequisites"></a>

開始する前に、以下を確認してください。
+ サービスにアクセスする許可を得ていること。詳細については、「[IAM ポリシー](security_iam_service-with-iam.md)」を参照してください。
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) がインストールされていること。[AWS SDKs](https://aws.amazon.com/developer/tools/) または [AWS APIs](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/Welcome.html) を使用して AWS Payment Cryptography にアクセスすることもできますが、このチュートリアルの手順では を使用します AWS CLI。

## ステップ 1: キーを作成する
<a name="getting-started-step1"></a>

最初のステップは、キー を作成することです。このチュートリアルでは、CVV/CVV2 値を生成および検証するための [CVK](terminology.md#terms.cvk) 倍長 3DES (2KEY TDES) キーを作成します。

```
$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}'
```

レスポンスには、後続の呼び出し用の ARN やキーチェック値 (KCV) などのリクエストパラメータがエコーバックされます。

```
{
    "Key": {
        "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
        "KeyAttributes": {
            "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY",
            "KeyClass": "SYMMETRIC_KEY",
            "KeyAlgorithm": "TDES_2KEY",
            "KeyModesOfUse": {
                "Encrypt": false,
                "Decrypt": false,
                "Wrap": false,
                "Unwrap": false,
                "Generate": true,
                "Sign": false,
                "Verify": true,
                "DeriveKey": false,
                "NoRestrictions": false
            }
        },
        "KeyCheckValue": "CADDA1",
        "KeyCheckValueAlgorithm": "ANSI_X9_24",
        "Enabled": true,
        "Exportable": true,
        "KeyState": "CREATE_COMPLETE",
        "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY",
        "CreateTimestamp": "2023-06-05T06:41:46.648000-07:00",
        "UsageStartTimestamp": "2023-06-05T06:41:46.626000-07:00"
    }
}
```

キーを表す `KeyArn` を書き留めてください（例えば、arn: aws: payment-crypto: us-east-2:111122223333:key/tqv5yij6wtxx64pi）。これは次のステップで行います。

## ステップ 2: キーを使用して CVV2 値を生成する
<a name="getting-started-step2"></a>

このステップでは、手順 1 のキーを使用して、所定の `PAN` と有効期限を表す CVV2 を生成します。

```
$  aws payment-cryptography-data generate-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --generation-attributes CardVerificationValue2={CardExpiryDate=0123}
```

```
{
    "CardDataGenerationKeyCheckValue": "CADDA1",
    "CardDataGenerationKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "CardDataType": "CARD_VERIFICATION_VALUE_2",
    "CardDataValue": "144"
}
```

`cardDataValue` を書き留めておきます（この場合は 3 桁の数字 144）。これは次のステップで行います。

## ステップ 3: 手順 2 で生成された値を確認する
<a name="getting-started-step3"></a>

この例では、ステップ 1 で作成したキーを使用して、ステップ 2 の CVV2 を検証します。

以下のコマンドを実行して CVV2 を検証します。

```
$  aws payment-cryptography-data  verify-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \
    --validation-data 144
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "CADDA1"
}
```

このサービスは、CVV2 を検証したことを示す 200 の HTTP 応答を返します。

## ステップ 4: ネガティブテストを実行する
<a name="getting-started-step4"></a>

このステップでは、CVV2 が正しくなく、検証もされないネガティブテストを作成します。ステップ 1 で作成したキーを使用して、誤った CVV2 を検証しようとします。これは予想されるオペレーションであり、例えば、カード所有者がチェックアウト時に間違った CVV2 を入力した場合などです。

```
$  aws payment-cryptography-data  verify-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \
    --validation-data 999
```

```
Card validation data verification failed.
```

このサービスは、「カード検証データの検証に失敗しました」というメッセージと 「INVALID\$1VALIDATION\$1DATA」という理由を含む 400 の HTTP レスポンスを返します。

## ステップ 5: (オプション) クリーンアップする
<a name="getting-started-cleanup"></a>

これで、手順 1 で作成したキーを削除できます。回復不可能な変更を最小限に抑えるため、デフォルトのキー削除期間は 7 日間です。

```
$ aws payment-cryptography delete-key \
    --key-identifier=arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi
```

```
{
    "Key": {
        "CreateTimestamp": "2022-10-27T08:27:51.795000-07:00",
        "DeletePendingTimestamp": "2022-11-03T13:37:12.114000-07:00",
        "Enabled": true,
        "Exportable": true,
        "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
        "KeyAttributes": {
            "KeyAlgorithm": "TDES_3KEY",
            "KeyClass": "SYMMETRIC_KEY",
            "KeyModesOfUse": {
                "Decrypt": true,
                "DeriveKey": false,
                "Encrypt": true,
                "Generate": false,
                "NoRestrictions": false,
                "Sign": false,
                "Unwrap": true,
                "Verify": false,
                "Wrap": true
            },
            "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY"
        },
        "KeyCheckValue": "CADDA1",
        "KeyCheckValueAlgorithm": "ANSI_X9_24",
        "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY",
        "KeyState": "DELETE_PENDING",
        "UsageStartTimestamp": "2022-10-27T08:27:51.753000-07:00"
    }
}
```

出力の 2 つのフィールドを書き留めておきます。`deletePendingTimestamp` は、デフォルトで 7 日後に設定されています。キーステートは `DELETE_PENDING` に設定されています。この削除は、予定されている削除時刻より前であればいつでも [https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/restore-key.html](https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/restore-key.html) を呼び出してキャンセルできます。