RSASSA-PSS 署名のサポート

System SSL は、RSASSA-PSS 署名アルゴリズムをサポートするために ICSF 呼び出し可能サービスを使用します。詳しくは、z/OS Cryptographic Services ICSF System Programmer's Guideを参照してください。さらに、アプリケーションのユーザー ID は、明示的に、または総称リソース・プロファイルを使って、RACF CSFSERV クラス内の適切なリソースに対して許可されている必要があります。RSASSA-PSS デジタル署名機能のサポートに必要な CSFSERV リソースについては、表 2 を参照してください。

ICSF 開始タスクが必要に応じて実行されていない場合、RSASSA-PSS 署名操作または RSASSA-PSS 検証操作が必要になると、System SSL は失敗します。このような場合には、戻りコードまたは状況コードと System SSL トレース出力による通知が使用可能になります。

System SSL は、以下の状態でのみ RSASSA-PSS 署名および RSASSA-PSS 検証をサポートします。
  1. 鍵アルゴリズム・タイプ x509_alg_rsaEncryption {1.2.840.113549.1.1.1}
  2. 鍵サイズ 2048 から 4096
  3. ダイジェスト・アルゴリズム
    1. x509_alg_sha256Digest {2.16.840.1.101.3.4.2.1}
    2. x509_alg_sha384Digest {2.16.840.1.101.3.4.2.2}
    3. x509_alg_sha512Digest {2.16.840.1.101.3.4.2.3}
  4. マスク生成関数アルゴリズム
    1. x509_alg_rsaMgf1 {1.2.840.113549.1.1.8}
  5. Salt 長
    1. x509_alg_sha256Digest (32)
    2. x509_alg_sha384Digest (48)
    3. x509_alg_sha512Digest (64)
表 1. RSASSA-PSS 鍵アルゴリズムに関する推奨
鍵アルゴリズム 鍵サイズ 推奨されるダイジェスト・アルゴリズム 推奨されるマスク生成関数アルゴリズム
x509_alg_rsaEncryption >=2048 かつ <3072 x509_alg_sha256Digest x509_alg_rsaMgf1
x509_alg_rsaEncryption >=3072 かつ <4096 x509_alg_sha384Digest x509_alg_rsaMgf1
x509_alg_rsaEncryption 4096 x509_alg_sha512Digest x509_alg_rsaMgf1

System SSL gskkyman ユーティリティーを使用して RSASSA-PSS ベースの署名で新規証明書 (自己署名および署名付きの両方) を作成する場合、RSA 鍵サイズのオプションは 2048 および 4096 の 2 つのみです。自己署名証明書の作成時に使用する署名ダイジェスト・アルゴリズムは、選択された鍵サイズに対して推奨されるダイジェストです。署名付き証明書を作成する場合、(表 1 に指定されている) 署名 RSA 秘密鍵サイズに基づいて推奨されるダイジェスト・アルゴリズムが使用されます。

System SSL CMS API を使用して自己署名証明書および署名付き証明書を作成する場合、呼び出し元は、署名アルゴリズムと鍵サイズの両方を選択します。2048 から 4096 までの RSA 鍵サイズはすべて、x509_alg_mgf1Sha256WithRsaSsaPss、x509_alg_mgf1Sha384WithRsaSsaPss、および x509_alg_mgf1Sha512WithRsaSsaPss の使用と互換性があります。

PKDS に格納されているセキュア秘密鍵を使用して署名処理を実行するには、以下のハードウェアが必要です。
  • IBM z13、z13s、z14、または z14 ZR1。
  • Crypto Express5 コプロセッサー・カードを使用する場合、2016 年 10 月以降のライセンス内部コード (LIC) が必要です。

RSASSA-PSS 操作の暗号化ハードウェア・サポートについて詳しくは、「z/OS Cryptographic Services ICSF Application Programmer's Guide」を参照してください。

PKDS に格納されている RSA 秘密鍵を使用する既存の証明書で RSASSA-PSS 署名サポートを使用しようとすると、鍵が作成時に ECC マスター鍵で保護されていないために失敗します。