2017-12-16 45 views
0

Bouncy Castle FIPS Java API guide、バージョンによると:0.1セクション4.2の下構成弾む城パディング機構

、いくつかのパディング機構は公開鍵アルゴリズム(ELGAMAL/RSA)で使用するように指定されている。

OAEPwithSHA1andMGF1Padding、 OAEPPadding:別名 -
  • OAEPwithSHA1andMGF1PaddingをNoPadding
    • OAEPwithSHA224andMGF1Padding - 別名:OAEPwithSHA224andMGF1Padding
    • OAEPwithSHA256andMGF1Padding - 別名:OAEPwithSHA256andMGF1Padding
    • OAEPwithSHA384andMGF1Padding - 別名:OAEPwithSHA384andMGF1Padding
    • OAEPwithSHA512andMGF1Padding - 別名:OAEPwithSHA512andMGF1Padding
    • PKCS1Padding

    パブリックキーアルゴリズムでどのパディングメカニズムを使用するかはどのように設定できますか?両方のクライアントのための&サーバー通信。

    特に、RSAがTLSの鍵交換メカニズムとして使用されている場合に興味があります。

  • 答えて

    0

    RSAがTLSプレーン-RSAキーエクスチェンジのキートランスポートに使用される場合、RSAは常にPKCS1-v1_5パディングを使用します。 rfc5246 4.77.4.7.1または対応する以前のバージョン(OAEPがまだ存在しなかったため単にブロックタイプ2と呼ばれていた場合)を参照してください。他のものを設定することはできません。他のものは相互運用できません。

    RSAがTLSのサーバー認証またはクライアント認証に使用される場合、1.0および1.1のDHE_RSAおよびECDHE_RSAのようなキー交換の一部として、署名アルゴリズムは次のようになります。 PKCS1-v1_5(連結MD5およびSHA1ハッシュを使用し、ASN.1 DigestInfoを使用しない)の修正として修正されました。 rfc4346 4.7またはrfc2246を参照してください。 1.2では、(クライアントのCertReqフィールドで、サーバーのClientHello拡張で)ピアによって提供されるアルゴリズムから選択されますが、MD5 SHA-1またはSHA-2の標準PKCS1-v1_5のみがRSAオプションですハッシュ、およびすべてではないにしても多くの実装(最近のJavaの更新を含む)ではMD5が禁止されています。 AFAICT許可されたハッシュの中からJSSEに選択する設定はありません。 (PKCS1-v1_5署名が証明書のみに許可されている場合、1.3のプロトコルでPSSに変更することを提案します)

    米国政府機関向けのFIPS-140への準拠については、TLS KDFs承認のSP800-135を参照してください。TIPSのみで使用される場合はですが、FIPS-140では一般的に承認されていません。また、暗号プリミティブ以外のTLSの他の部分については、SP800-52に広範な必須ガイダンスがあることにも注意してください。

    関連する問題