MAC 検査 2 (CSNBMVR2、 CSNBMVR3、 CSNEMVR2、および CSNEMVR3)
MAC 検査 2 呼び出し可能サービスは、入力として指定されるメッセージ・テキストの、 鍵を使用するハッシュ・メッセージ認証コード (HMAC) または暗号化メッセージ認証コード (CMAC) を検証する場合に使用します。 MAC を検証するには、検証に使用できる鍵用途の MAC 鍵が必要です。
MAC 検査鍵は、可変長 HMAC 鍵トークン (HMAC の場合) および AES MAC トークン (CMAC の場合) に含まれていなければなりません。
AMODE(64) の呼び出し可能サービス名は CSNEMVR2 と CSNEMVR3 です。
CSNBMVR2 および CSNBMVR3 からの選択
- CSNBMVR2 では、アプリケーション指定のテキストは呼び出し側の 1 次アドレス・スペースに入っていなければなりません。
- CSNBMVR3 では、アプリケーション指定のテキストは呼び出し側の 1 次アドレス・スペースに入れることも、 データ・スペースに入れることもできます。 これにより、1 回の呼び出しで、より多くのデータを処理できるようになります。 CSNBMVR3 の場合、text_id_in は、アプリケーション指定のテキストが含まれる データ・スペースのアクセス・リスト項目トークン (ALET) パラメーターです。
形式
CALL CSNBMVR2(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
key_identifier_length,
key_identifier,
text_length,
text,
chaining_vector_length,
chaining_vector,
mac_length,
mac)
CALL CSNBMVR3(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
key_identifier_length,
key_identifier,
text_length,
text,
chaining_vector_length,
chaining_vector,
mac_length,
mac,
text_id_in)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードがあります。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワードの数。 値は 1、2、または 3 でなければなりません。
- rule_array
-
方向 タイプ 入力 ストリング rule_array には、制御情報をこの呼び出し可能サービスに提供するキーワードが含まれます。 キーワードは、連続するストレージ内になければならず、各キーワードはその 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。
表 1. MAC 検査 2 制御情報のキーワード キーワード 意味 トークン・アルゴリズム (いずれかが必須) AES これは、MAC を生成する AES CMAC アルゴリズムの使用を指定します。 HMAC これは、MAC を生成する HMAC アルゴリズムの使用を指定します。 ハッシュ方式 (HMAC の場合にのみいずれかが必須) SHA-1 これは、SHA-1 ハッシュ方式の使用を指定します。 SHA-224 これは、SHA-224 ハッシュ方式の使用を指定します。 SHA-256 これは、SHA-256 ハッシュ方式の使用を指定します。 SHA-384 これは、SHA-384 ハッシュ方式の使用を指定します。 SHA-512 これは、SHA-512 ハッシュ方式の使用を指定します。 セグメント化制御 (オプションで 1 つのみ指定可能) FIRST 最初の呼び出し。 これはアプリケーション・プログラムのデータの最初のセグメントです。 LAST 最後の呼び出し。 これは最後のデータ・セグメントです。 MIDDLE 中間呼び出し。 これは中間データ・セグメントです。 ONLY 呼び出しのみ。 アプリケーション・プログラムでセグメント化は使用されません。 これがデフォルト値です。 - key_identifier_length
-
方向 タイプ 入力 整数 key_identifier_length は、key_identifier パラメーターの 長さ (バイト) を指定します。 key_identifier パラメーターにラベルが含まれている場合、この値は 64 でなければなりません。 それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。
- key_identifier
-
方向 タイプ 入出力 ストリング MAC を検査する鍵の ID。 この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。
HMAC アルゴリズムの場合、鍵アルゴリズムは HMAC でなければならず、 鍵用途フィールドが GENERATE または VERIFY を示していて、ハッシュ方式が選択されていなければなりません。 AES アルゴリズムの場合、鍵アルゴリズムは AES でなければならず、 鍵タイプは MAC でなければならず、鍵用途フィールドは GENERATE または VERIFY を示していて、さらに CMAC を示していなければなりません。
指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。
- text_length
-
方向 タイプ 入力 整数 text パラメーターで指定されたテキストの長さ。 text の最大長は 214783647 バイトです。 FIRST 呼び出しおよび MIDDLE 呼び出しに関しては、text_length は以下のようになっていなければなりません。- SHA-1、SHA-224、および SHA-256 ハッシュ方式の場合は 64 の倍数。
- SHA-384 および SHA-512 ハッシュ方式の場合は 128 の倍数。
- AES CMAC 方式の場合は 16 の倍数。
- text
-
方向 タイプ 入力 ストリング MAC が生成されるときの対象となるアプリケーション指定のテキスト。
- chaining_vector_length
-
方向 タイプ 入出力 整数 chaining_vector_length は、chaining_vector パラメーターの 長さ (バイト) を指定します。 値は 128 でなければなりません。
- chaining_vector
-
方向 タイプ 入出力 ストリング ICSF がシステム作業域として使用する 128 バイトのストリング。 ご使用のアプリケーション・プログラムで、このストリングに含まれるデータを変更してはなりません。 チェーニング・ベクトルにより、呼び出し間でデータをチェーニングできます。
最初の呼び出しで、このパラメーターを 2 進ゼロとして初期化します。
- mac_length
-
方向 タイプ 入力 整数 mac パラメーターの長さ (バイト)。 HMAC の場合、最大値は 64 です。 AES の場合、値は 16 でなければなりません。
- mac
-
方向 タイプ 入力 ストリング 検証される MAC 値が含まれるフィールド。
- text_id_in
-
方向 タイプ 入力 整数 CSNBMVR3 に関してのみ、MAC が検証されるときの対象となるテキストの ALET。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
アクセス制御点
次の表は、ドメイン役割におけるアクセス制御点をリストしたものです。 これらのアクセス制御点では、このサービスの機能が制御されます。
ハッシュ方式 | アクセス制御点 |
---|---|
CMAC | MAC Verify2 - AES CMAC |
SHA-1 | HMAC の検査 - SHA-1 |
SHA-224 | HMAC の検査 - SHA-224 |
SHA-256 | HMAC の検査 - SHA-256 |
SHA-384 | HMAC の検査 - SHA-384 |
SHA-512 | HMAC の検査 - SHA-512 |
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
このサービスはサポートされていません。 | |
IBM System z9 EC |
このサービスはサポートされていません。 | |
IBM System z10 EC |
このサービスはサポートされていません。 | |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | これには、2014 年 3 月以降のライセンス内部コード (LIC) が必要です。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
これには、2014 年 3 月以降のライセンス内部コード (LIC) が必要です。 |
IBM z13 | Crypto Express5 CCA コプロセッサー |