68user's page 掲示板

Prev< No. 3877〜3882> Next  [最新発言に戻る] [過去ログ一覧]
No. 3877 # ニッタン 2004/07/19 (月) 12:23:11
ありがとうございます。
色々と勉強したので、私には理解できますが、
今後、初心者が読んだ場合に理解できるかはどうかは、
この掲示板にでも書き込んでくれる事を期待して、
この話題は一旦終了しましょう。

>最初のサンプルプログラムがこれではわかりづらすぎるかなぁ。

結局、/dev/randomがない環境では、種を作らないとエラーになるので
仕方ないと思います。
一応、/dev/randomがある環境では必要ないと補足してありますし。

今までありがとうございました。今後も参考にさせて頂きます。

No. 3878 # jeiu 2004/07/20 (火) 15:56:20
>> または、Open SSL等で自力でSLLを実装するような場合は、対応できる暗号方式が
>> 特定される(できる?)のであれば、それだけでは決まらないような気もしますが...。
>これは意味がわかりませんでした。

わけのわからない質問をしてすみません。
聞きたかったのは、クライアントが決める暗号化方式はどこで定義するのか?
とういうことでした。
あるHPでは、「暗号化に関する特許などが絡んでいるため、わけのわからないものは
コンパイルオプションを使って使用しないほうがよいでしょう」と書かれていたり、
ちょっと混乱状態です。
も少し勉強が必要かなと思います。

No. 3879 # jeiu 2004/07/21 (水) 14:07:32
68user殿

No.3874の
>OpenSSL であれば SSL_CTX_set_cipher_list(ctx,ciphers) を使って好きな暗号
>スイートをセットすればよいでしょう。
のciphersには具体的にはどのような設定をすればよいのでしょうか?

いずれにしても、どの暗号化方式を利用するかは上記のようにプログラミング依存
ということになるんでしょうか?(とすると、No.3878にも書かせていただきましたが
「コンパイルオプションを使って...」は何を意味するのでしょう。ご存知でしたら教
えてください)。

No. 3880 # 68user 2004/07/21 (水) 16:09:13
>>3879 jeiu
> ciphersには具体的にはどのような設定をすればよいのでしょうか?
概念は 3874で書いたとおり
> 例えば 3DES と RC4 はいいけどDES は暗号強度が気に入らないから使わない
などです。

ソースでどう書くかという意味なら
      SSL_CTX_set_cipher_list(ctx, "3DES:RC4");

      SSL_CTX_set_cipher_list(ctx, "ALL:-DES");
などです。書き方は OpenSSL のマニュアル ciphers(1) に載っています。

> 「コンパイルオプションを使って...」は何を意味するのでしょう。
「あるHPでは」などと曖昧なことを書かずに
    http://www.ryouto.jp/linux/linux_22.html
とはっきり書いてください (上記の URL であってるかはわかりませんが)。
文脈を無視して一文を切り出されても、答える方は推測しなければ
いけないのでつらいです。たとえば上記の web であれば config で
      no-rc5 no-idea
と指定しているので、このページの作者は RC5 と IDEA の特許について
危惧しているのだなということがわかるわけです。クイズじゃないんです
から、はっきり質問したいことを書きましょう。

IDEA については SSL/TLS 上で使えますし、普通に OpenSSL をコンパイル
した場合は有効になっています。ただし FreeBSD の OpenSSL では IDEA が
使用できないようにコンパイルされていました。他の厳しめの OS (Debian
とか) でも同様かと思われます。SSL/TLS で使用できるようになっているか
どうかは
      % openssl ciphers
でわかります。

RC5 は SSL/TLS で使用できる暗号スイートに入っていないので、
問題ないでしょう。

SSL/TLS ではなく、共通鍵暗号方式として IDEA や RC5 を使いたくない
(openssl enc -e idea や openssl enc -e rc5 とできないようにしたい)
ということであれば、上記のページのようにコンパイルオプションを
設定すればよいでしょう。使用中の OpenSSL で使えるかどうかを知りたい
なら
      % openssl enc -h
で表示される Cipher Types を見ればよいです。

なお、サーバ側で制御したいのであれば、Apache などの設定ファイルで
      http://httpd.apache.org/docs-2.0/mod/mod_ssl.html#sslciphersuite
を設定してください。


今後質問される場合は、質問の背景と、何が知りたいのかを明確にする
ことをお勧めします。

例:
    - SSL/TLS クライアントを作っている
    - 〜というページに〜という記述があり、特許を侵害してしまわないか心配だ。
    - クライアント側で特定の暗号を使用しないように制御する方法はあるか?

No. 3881 # Goldwasser [URL] 2004/07/21 (水) 18:33:58
RSAもいいけど楕円曲線暗号もね。
というわけで、Rubyで素数位数の群をもつ楕円曲線を生成するスクリプトを組んでみました。

No. 3882 # ニッタン 2004/07/21 (水) 19:28:10
まだまだSSLを思考錯誤中です。

「SSL/TLS でアクセスしてみよう (2)」に記載されているサンプルについて
注意して頂きたい事があります。
HTTPSに接続後のサーバ証明書のsubjectとissuerを出力する部分で、
メモリーリークが発生する様です。

具体的には、
132: str = X509_NAME_oneline(X509_get_subject_name(server_cert), 0, 0);

135: str = X509_NAME_oneline(X509_get_issuer_name(server_cert), 0, 0);
の返り値strそれぞれを
OPENSSL_free( str )すればメモリーリークは直りました。
OpenSSLのバージョンは0.9.7aです。

OpenSSLドキュメントを見ても該当関数の事が記載されていなかったので
内部でアロケートしているかどうかソースを追っかけないと判りませんでした。

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