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 | 
                                 
                                  |