8 Jipher参照情報
サポートされているアルゴリズム文字列
次の表に、Jipherでサポートされているアルゴリズム文字列とその別名を示します。 これらの文字列は、関連するエンジン・クラス別にグループ化されます。
表8-1 Jipherでサポートされるアルゴリズム文字列
エンジン | サポートされているアルゴリズム文字列とその別名 | ノート |
---|---|---|
SecureRandom |
DRBG (SHA1PRNG , CTRDRBG , CTRDRBG128 , NativePRNG , NativePRNGNonBlocking )
|
すべての別名は、OpenSSLと同じ基礎となるDRBGアルゴリズムを使用 |
MessageDigest |
SHA-1 (SHA , SHA1 , 1.3.14.3.2.26 , OID.1.3.14.3.2.26 )
|
- |
|
- | |
|
- | |
Cipher |
|
- |
|
- | |
|
- | |
|
RFC 3394 | |
|
RFC 5649 | |
|
PBES2パスワード・ベースの暗号 | |
|
PKCS #12パスワード・ベースの暗号化。
このアルゴリズムに使用されるキー導出関数は、FIPS 140許可アルゴリズムではありません。 このアルゴリズムは、Jipherの将来のリリースで削除されます。 「サポートされる非FIPS 140許可アルゴリズム」を参照してください。 |
|
|
- | |
|
- | |
KeyFactory |
|
- |
Signature |
|
PKCS1を使用したRSA |
|
- | |
|
- | |
|
- | |
Mac |
|
- |
|
PKCS #12パスワード・ベースの暗号化HMACアルゴリズム
これらのアルゴリズムに使用されるキー導出関数は、FIPS 140許可アルゴリズムではありません。 これらのアルゴリズムは、Jipherの将来のリリースで削除されます。 「サポートされる非FIPS 140許可アルゴリズム」を参照してください。 |
|
KeyGenerator |
|
- |
|
- | |
|
これらの非標準のKeyGeneratorアルゴリズムは、TLSv1.2をサポートするためにSunJSSEプロバイダが必要とする暗号化を提供するために必要です。 | |
AlgorithmParameters |
|
- |
|
- | |
|
PBEWithSHA1AndDESedeアルゴリズムに使用されるキー導出関数は、FIPS 140許可アルゴリズムではありません。 PBEWithSHA1AndDESedeアルゴリズムは、Jipherの将来のリリースで削除されます。 「サポートされる非FIPS 140許可アルゴリズム」を参照してください。 | |
|
- | |
KeyPairGenerator |
|
- |
AlgorithmParameterGenerator |
|
- |
SecretKeyFactory |
|
- |
|
- | |
|
- | |
|
このアルゴリズムに使用されるキー導出関数は、FIPS 140許可アルゴリズムではありません。 このアルゴリズムは、Jipherの将来のリリースで削除されます。 「サポートされる非FIPS 140許可アルゴリズム」を参照してください。 | |
KeyAgreement |
|
- |
サポートされる非FIPS 140許可アルゴリズム
ノート:
PKCS #12 KDFアルゴリズムのサポートは、将来のJipherリリースで削除されます。 JipherがPKCS #12 KDFアルゴリズムをサポートしなくなると、次のアルゴリズム(および別名)はサポートされなくなります:- AlgorithmParameters
- PBEWithSHA1AndDESede (OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3)
- Cipher
- PBEWithSHA1AndDESede (OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3)
- SecretKeyFactory
- PBEWithSHA1AndDESede (OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3)
- Mac
- HmacPBESHA1
- HmacPBESHA224
- HmacPBESHA256
- HmacPBESHA384
- HmacPBESHA512
Jipherは、「RFC 7292 - PKCS #12: 個人情報交換の構文v1.1」の「付録B .パスワードおよびソルトからのキーおよびIVの導出」で説明されているように、PKCS #12キー導出関数(KDF)アルゴリズムをサポートします。 このアルゴリズムはFIPS 140では許可されません。 このアルゴリズムは、特に次のものをサポートするために、相互運用性の理由でサポートされています:
- パスワード整合性モード: 整合性は、シークレット整合性パスワードから導出されたメッセージ認証コード(MAC)によって保証されます。 PKCS #12 KDFアルゴリズムは、
Mac
アルゴリズムHmacPBESHA1、HmacPBESHA224、HmacPBESHA256、HmacPBESHA384およびHmacPBESHA512でこのモードのMACキーを導出するために使用されます。 - パスワード・プライバシ・モード: 個人情報は、ユーザー名およびプライバシ・パスワードから導出された対称キーで暗号化されます。 PKCS #12 KDFアルゴリズムは、
Cipher
アルゴリズムPBEWithSHA1AndDESedeでこのモードの復号化キーを導出するために使用されます。 PKCS #12 KDFアルゴリズムのこの使用は非推奨です。
キー・サイズの制限
Jipherでは、次のデフォルトのキー・サイズ(ビット単位)が使用され、KeyGenerator、KeyPairGeneratorおよびAlgorithmParameterGeneratorに対して次の制限が適用されます。
KeyGenerator
Jipherは、システム・プロパティjdk.security.defaultKeySize
を使用します。これにより、ユーザーはKeyGeneratorで使用されるデフォルトのキー・サイズを構成できます。 このプロパティの値は、コンマで区切られたエントリのリストです。 各エントリは、大/小文字を区別しないアルゴリズム名と、コロンで区切られた対応するデフォルトのキー・サイズ(10進数)で構成されます。
表8-2 KeyGeneratorアルゴリズムとデフォルトのキー・サイズ
アルゴリズム名 | デフォルトのキー・サイズ | 制限およびコメント |
---|---|---|
AES | 暗号化ポリシーで許可されている場合は256(「暗号化アルゴリズムの輸入制限」を参照)、それ以外の場合は128 | キー・サイズは、128、192または256と等しいサイズである必要があります。 |
AES_128/<mode>/<padding> | 128 | キー・サイズは、128と等しいサイズである必要があります。 |
AES_192/<mode>/<padding> | 192 | キー・サイズは、192と等しいサイズである必要があります。 |
AES_256/<mode>/<padding> | 256 | キー・サイズは、256と等しいサイズである必要があります。 |
DESede (トリプルDES) | 192 | キー・サイズは168または192である必要があります。 |
HmacSHA1 | 160 |
キー・サイズは40ビット以上である必要があります。 8の倍数ではないキー・サイズは、次の8の倍数に増加します。 |
HmacSHA224 | 224 |
キー・サイズは40ビット以上である必要があります。 8の倍数ではないキー・サイズは、次の8の倍数に増加します。 |
HmacSHA256 | 256 |
キー・サイズは40ビット以上である必要があります。 8の倍数ではないキー・サイズは、次の8の倍数に増加します。 |
HmacSHA384 | 384 |
キー・サイズは40ビット以上である必要があります。 8の倍数ではないキー・サイズは、次の8の倍数に増加します。 |
HmacSHA512 | 512 |
キー・サイズは40ビット以上である必要があります。 8の倍数ではないキー・サイズは、次の8の倍数に増加します。 |
KeyPairGenerator
Jipherは、システム・プロパティjdk.security.defaultKeySize
を使用します。これにより、ユーザーはKeyPairGeneratorで使用されるデフォルトのキー・サイズを構成できます。 このプロパティの値は、コンマで区切られたエントリのリストです。 各エントリは、大/小文字を区別しないアルゴリズム名と、コロンで区切られた対応するデフォルトのキー・サイズ(10進数)で構成されます。
表8-3 KeyPairGeneratorアルゴリズムとデフォルトのキー・サイズ
アルゴリズム名 | デフォルトのキー・サイズ | 制限およびコメント |
---|---|---|
DiffieHellman | 3072 |
キー・サイズは、2048、3072または4096と等しくする必要があります。 アルゴリズム・パラメータの指定では、「SP 800-56Aリビジョン3」の付録D で定義されている承認済FFCセーフ・プライム・グループを指定する必要があります: 承認されたECC曲線とFFCセーフ・プライム・グループ」。 |
DSA | 2048 |
キーのサイズは2048または3072に等しくなければなりません。 アルゴリズム・パラメータの指定では、ドメイン・パラメータ・サイズ・ペア・リング(2048、224)、(2048、256)または(3072、256)のいずれかを指定する必要があります。 |
EC | 256 |
キー・サイズは、224、256、384、521と等しくする必要があります。 アルゴリズム・パラメータ指定では、「承認済ECC指定曲線」および「SP 800-56Aリビジョン3」の付録D にリストされている4つの承認済ECC名前付きカーブを指定する必要があります: 「RFC 8422: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)バージョン1.2以前」で定義されている承認済ECCカーブおよびFFCセーフ・プライム・グループ。 |
RSAおよびRSASSA-PSS | 3072 |
キー・サイズは2,048から15,360ビットの間である必要があります。 公開指数の長さは16ビットを超える必要があり、256ビットを超えることはできません。 キー・サイズが3072を超えると、公開指数の長さは64ビットを超えることはできません。 |
承認済ECC指定曲線
効率的な暗号化グループ(SECG)名の標準 | NIST | OID |
---|---|---|
secp224r1 | P-224 | 1.3.132.0.33 |
secp256r1 | P-256 | 1.2.840.10045.3.1.7 |
secp384r1 | P-384 | 1.3.132.0.34 |
secp521r1 | P-521 | 1.3.132.0.35 |
サポートされる楕円曲線名
Jipherは、名前付き(公開済)楕円曲線の固定セットのみをサポートします。 これらは、プライム・フィールドに基づくNIST推奨カーブです。
次の表に、Jipherによって提供される楕円曲線を示します。
表8-5 サポートされる楕円曲線名
Elliptic Curve | オブジェクト識別子と別名 | 別名 |
---|---|---|
secp224r1 | 1.3.132.0.33 |
P-224 , P224 |
secp256r1 | 1.2.840.10045.3.1.7 |
P-256 , P256 , prime256v1 |
secp384r1 | 1.3.132.0.34 |
P-384 , P384 |
secp521r1 | 1.3.132.0.35 |
P-521 , P521 |
デフォルトのDiffie-Hellmanパラメータ
Diffie-Hellman (DH)キー・ペアを生成する場合、キー・サイズに基づいてデフォルトのDHパラメータが選択されます。 サポートされているキー・サイズは、2048、3072および4096です。
デフォルトのパラメータは、「RFC 7919: 輸送層のセキュリティのための交渉された有限界フィールドのDiffie-HellmanのEphemeral変数」です。
表8-6 デフォルトのDHパラメータ
キー・サイズ | デフォルト・パラメータ |
---|---|
2048 | ffdhe2048 |
3072 | ffdhe3072 |
4096 | ffdhe4096 |
デフォルトのデジタル・シグネチャ・アルゴリズム・パラメータ
デフォルトのデジタル・シグネチャ・アルゴリズム(DSA)キー・ペアを生成する場合、デフォルトのDSAパラメータはキー・サイズに基づいて選択されます。 サポートされるキー・サイズは2048および3072です。
デフォルトのパラメータは、FIPS 186-4アルゴリズムを使用して検証できます。 わかりやすくするために、PおよびGの値に改行が追加されました。
表8-7 キー・サイズ2048のデフォルトDSAパラメータ
パラメータ名 | デフォルト・パラメータ値 |
---|---|
Qlen |
|
Digest |
|
P |
|
Q |
|
G |
|
seed |
|
j |
|
counter |
|
表8-8 キー・サイズ3072のデフォルトDSAパラメータ
パラメータ名 | デフォルト・パラメータ値 |
---|---|
Qlen |
|
Digest |
|
P |
|
Q |
|
G |
|
seed |
|
j |
|
counter |
|