2025年 4月5日(土) 05:58 JST

OpenSSL + Rubyでの共通鍵の実装

  • 2010年 2月1日(月) 17:50 JST
  • 投稿者:
  • 表示回数 122
pkcs5_keyivgenの方法も、現在では推奨されていない。 私は別にRubyの実装が悪いと責めているつもりはありません。
低レベルな方法も用意されているので、問題ではないと思います。

ただ、マニュアルの記載内容(以下)は直した方がいいのではと思います。
(以下、マニュアルから引用)
 encrypt(key, iv) 暗号化の準備をする。iv は initialization vector、
 必要なら使用される。このAPIに引数を渡すのは推奨しない。パスワードから
 鍵を生成する場合は、 pkcs5_keyivgenを使用すること。

http://www.ruby-lang.org/ja/man/html/...ipher.html

この説明だけ見ると、初心者はpkcs5_keyivgenを利用すればいいと判断して、
詳しく調べることに行き着かないのでは?「pkcs5_keyivgenの方法も、現在
では推奨されていない。Ruby 1.9/1.8.7のOpenSSL::PKCS5.pbkdf2_hmac_sha1
を使用すること。また、OpenSSL の将来のバージョンでは、OpenSSL::PKCS5.
pbkdf2_hmacでsha256を利用することを推奨する(○年○月現在)。」
などと記載した方がいいと思います。
セキュリティに関することなので、日付を入れたらどうですか?

Rubyは少ない記述で楽しく書けるのがウリだと思うので、「知識をつけて
低レベルから書かないから悪い」という考え方は嫌ですね。

ただ、人手も足りなくて、他にもやることがあるでしょうから、この部分を
標準で対応しないのは、仕方ないと思います。