68user's page 掲示板

Prev< No. 3884〜3887> Next  [最新発言に戻る] [過去ログ一覧]
No. 3884 # jeiu 2004/07/22 (木) 12:56:35
ごもっとなご意見です。いろいろ推測させてしまったようです。
すみませんでした。
68userさんの推測とおり、
・SSL対応のWebクライアントを作っています。
・(Open)SSLの実装では特定の暗号化ロジックを使わないようしたい。
    公開鍵の暗号化としてRSAを使いたいが有効鍵ビットは512としたい
    共有鍵の暗号化としてRC4を使いたいが有効鍵ビットは40としたい


これまでに以下の情報をご提供いただきました。
1.使用したい暗号化ロジックは SSL_CTX_set_cipher_list()で指定
2.暗号化方式として特定のロジックを使用禁止にしたいのであれば
    コンパイルオプションを設定すればよい
について、有効鍵ビットを意識した設定は可能なのでしょか
いろんなサンプルを見ましたが、方式の設定はあっても鍵長まで意識
したものが見つかりませんでした。
また、SSL_CTX_set_cipher_list()での設定は必須になるのでしょうか。

なかなかイメージがわきません。よろしくお願いします。

No. 3885 # 68user 2004/07/22 (木) 22:18:35
>>3884 jeiu
> 公開鍵の暗号化としてRSAを使いたいが有効鍵ビットは512としたい
> 共有鍵の暗号化としてRC4を使いたいが有効鍵ビットは40としたい
では
    http://www21.ocn.ne.jp/~k-west/SSLandTLS/rfc2246-Ja.txt
の RSA_EXPORT_WITH_RC4_40_MD5 で決まりでしょう。RSA かつ
RC4 の 40bit となればこれしか選択肢がありません。

「RSA の鍵長 512bit 以下」という要件についてですが、これは
上記 RFC の
      7.4.3. ServerKeyExchangeメッセージ

          ServerKeyExchangeメッセージは (略) 以下の鍵交換方式で使用される。
                RSA_EXPORT (サーバ証明書の公開鍵が512ビットより長いとき)
          (略)
       注: 現在の米国輸出法では、米国から輸出したソフトウェアにおいては、512
         ビットより長いRSAのモジュラスを鍵交換において使用してはならない
         ことになっている。このメッセージを送信した場合、証明書内に含まれ
         ている512ビットより長いRSA鍵は、RSA_EXPORT鍵交換方式用の、512ビット
         以下の長さを持つ一時的RSA鍵に署名するのに使用される。
で自然とクリアできます。

結局、ciphers(1) に
      SSL_RSA_EXPORT_WITH_RC4_40_MD5 EXP-RC4-MD5
とあるので SSL_connect() の前に
      if ( SSL_CTX_set_cipher_list(ctx, "EXP-RC4-MD5") == 0 ){
            /* error */
      }
という処理を入れればよいでしょう。

No. 3886 # kawa 2004/07/23 (金) 12:16:04
68userさんのサイトで勉強させてもらってます。

http://x68000.q-e-d.net/~68user/net/rfc.html
こちらのページの、POPの「日本語訳」のところがリンクが失敗してる
ようですので、お知らせしておきます。

No. 3887 # 68user 2004/07/24 (土) 00:51:15
>>3886 kawa
> http://x68000.q-e-d.net/~68user/net/rfc.html
> こちらのページの、POPの「日本語訳」のところがリンクが失敗してる
> ようですので、お知らせしておきます。
修正しました。ご連絡ありがとうございました。

Prev< No. 3884〜3887> Next  [最新発言に戻る] [過去ログ一覧]