「LibreSSL」の版間の差分
提供: セキュリティ
(→関連項目) |
(→関連項目) |
||
行78: | 行78: | ||
* [[OpenSSL]] | * [[OpenSSL]] | ||
* [[LibreSSLをFreeBSDでビルドする方法]] | * [[LibreSSLをFreeBSDでビルドする方法]] | ||
+ | * [[OpenSSLとLibreSSLのパフォーマンス比較]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2015年11月14日 (土) 22:57時点における最新版
LibreSSL とは、TLS/SSLのオープンソースによる実装です。OpenSSLのCVE-2014-0160 OpenSSL Heartbleedの脆弱性の発見したことを受けて、OpenSSLからフォークし、よりセキュアな実装を目指しています。
読み方
- LibreSSL
- りぶれ えすえすえる
概要
LibreSSLは、OpenSSLからフォークしたSSL/TLSプロトコルのフリーの実装です。 http://www.libressl.org/
- OpenSSLの古いコードを削除し、コードを書き直しています。
- 最初の1週間で90,000行以上のC言語のコードが削除されました。
- LibreSSLでは、古いコンパイラ、休止期のOSのサポートを排除します。
- OpenSSHがポータビリティのために採用したアプローチと同様に、プラットフォーム依存コードは、プラットフォーム対応層にカプセル化します。
- OpenSSLのカスタムメモリコール(malloc, calloc, realloc, snprintf, strlcat など)は、すべて標準ライブラリの呼び出しに置き換えています。
- バックドアの存在が疑われる Dual_EC_DRBGを廃止しました。
OpenSSLとの互換性
OpenSSLとのAPIレベルの互換性を維持されます。
OpenSSLの問題
- OpenSSLは、処理速度を上げるために、独自実装のmallocを使用しているが、独自実装のmallocがセキュリティの問題を抱えていました。
- コードベースがひどく、新しい参加者の敷居になっていました。
- たくさんのプラットフォームをサポートするためにソースコードが ifdef が深く、わかりにくいです。
- ソースコードのスタイルが独自形式でわかりにくいです。
インストール
FreeBSDにインストールする場合
pkgコマンドでインストールする場合
sudo pkg install libressl
使い方
$ openssl version OpenSSL 1.0.1e-freebsd 11 Feb 2013
Standard commands asn1parse ca ciphers cms crl crl2pkcs7 dgst dh dhparam dsa dsaparam ec ecparam enc engine errstr gendh gendsa genpkey genrsa nseq ocsp passwd pkcs12 pkcs7 pkcs8 pkey pkeyparam pkeyutl prime rand req rsa rsautl s_client s_server s_time sess_id smime speed spkac srp ts verify version x509 Message Digest commands (see the `dgst' command for more details) md4 md5 mdc2 rmd160 sha sha1 Cipher commands (see the `enc' command for more details) aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb base64 bf bf-cbc bf-cfb bf-ecb bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb camellia-256-cbc camellia-256-ecb cast cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx idea idea-cbc idea-cfb idea-ecb idea-ofb rc2 rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 rc4-40 rc5 rc5-cbc rc5-cfb rc5-ecb rc5-ofb seed seed-cbc seed-cfb seed-ecb seed-ofb
LibreSSL 2.0.5
OpenSSL 1.0.1.i のリリースを受けて、2014/8/8に LibreSSL 2.0.5がリリースされました。