「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のオープンソースによる実装です。OpenSSLCVE-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がリリースされました。

関連項目