OpenSSL

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
OpenSSL
開発元 The OpenSSL Project
最新版

1.0.1g - 2014年04月7日(9日前) (2014-04-07[1]
1.0.0l - 2014年01月6日(3か月前) (2014-01-06[1]

0.9.8y - 2013年02月5日(14か月前) (2013-02-05[1][±]
最新評価版 1.0.2 Beta 1 - 2014年02月24日(51日前) (2014-02-24[1][±]
対応OS マルチプラットフォーム
種別 セキュリティライブラリ
ライセンス Apache License 1.0形式
四条項BSDライセンス形式
公式サイト www.openssl.org
テンプレートを表示

OpenSSLは、SSLプロトコル・TLSプロトコルのオープンソースな実装である。中心となっているライブラリC言語で書かれている)は基本的な暗号化関数と様々なユーティリティ関数を実装している。様々なコンピュータ言語でOpenSSLライブラリを利用できるようにするラッパーもある。OpenSSLはEric A. YoungとTim HudsonによるSSLeay1998年12月に開発者がRSA Securityに異動したため開発は終了されている)を基にしている。

OpenSSLが利用可能なプラットフォームは、ほぼ全てのUnix系SolarisLinuxMac OS XBSDを含む)、OpenVMS、そしてWindowsである。IBMによってSystem i (iSeries/AS400) に移植されたバージョンもある。

メジャーバージョンアップ履歴[編集]

暗号化アルゴリズム[編集]

OpenSSLは以下の暗号化アルゴリズムをサポートする。

暗号方式
BlowfishCamelliaDESRC2RC4RC5SEEDIDEAAES
ハッシュ関数方式
MD5MD2SHA-1SHA-2MDC-2英語版
公開鍵暗号方式
RSA暗号DSADiffie-Hellman鍵共有

FIPS 140-2の承認[編集]

OpenSSLは、アメリカ国立標準技術研究所Cryptographic Module Validation Program英語版によるコンピュータセキュリティ標準であるFIPS 140-2において承認された初めてのオープンソースプログラムである。最初の承認は2006年1月に行われた。同年7月には「承認されたモジュールによる外部のプログラムとの相互作用に関し疑問が提示された」[2]ため、いったんは撤回されたものの、翌2007年に再び承認が行われた[3][4]

ライセンス[編集]

OpenSSLは"OpenSSL License"と"SSLeay License"のデュアルライセンス下で公開されている[5]。OpenSSL LicenseはApache License, Version 1.0であり、SSLeay Licenseは宣伝条項付きの四条項BSDライセンスである。一般にデュアルライセンスではユーザーは2つのライセンスのうち片方を選択できるが、OpenSSLの説明書きによると、両方のライセンスが適用されることを意味している。

OpenSSL Licenseは、Apache License Version 2.0ではなくApache License Version 1.0であるため、「この製品はOpenSSLツールキットを利用するためにOpenSSLプロジェクトによって開発されたソフトウェアを含む。(This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit[6])」という一文を再頒布の際に含めなければならないという規定が含まれ、GNU General Public License (GPL) と非互換である[7]。ただしThe OpenSSL Projectの見解では、多くのLinuxBSDディストリビューションにおいて、OpenSSLはオペレーティングシステムの一部をなしているためGPLの制限は適用されないとしている[8]。中には、"OpenSSL exception"を追加してシステムで動かせるようにしているプロジェクトもある。GNU Wgetclimm英語版プロジェクトがそのような例である[9][10]

バグによる脆弱性[編集]

Debianの弱い鍵[編集]

ValgrindをOpenSSLに対しても適用可能とするために、Debianディストリビューションに含まれるOpenSSLにパッチを適用したが、この際に誤って擬似乱数生成器が正しく動作しなくなり、生成される暗号鍵が予測可能なものとなってしまった[11]

このバグは2006年9月17日にリリースされたDebian (OpenSSL 0.9.8c-1) から含まれており、バグが判明してDebianから発表されたのは2008年5月13日であった[12]。Debian系以外のシステムを含め、問題となったDebian上で生成した鍵を使用している場合は、脆弱性のないOpenSSLで鍵を再生成する必要がある[11]

このバグは、Debian 4.0 (etch) ではOpenSSLの0.9.8c-4etch3以降で、Debian 5.0 (lenny) では0.9.8g-9で修正されている[12]

Heartbleed[編集]

Heartbleedバグのロゴ

2014年4月7日に、OpenSSLの1.0.2-betaや1.0.1系列で、TLSのheartbeat拡張[13]について、メモリの扱いにバグがあると発表された[14] 。このバグを利用することで、ハートビート1回ごとに64キロバイトのメモリを読み取ることが可能となる[15]。この問題のCVE番号はCVE-2014-0160である[16]

この脆弱性は2011年12月31日から存在し、OpenSSL 1.0.1がリリースされた2012年3月14日以降、脆弱性のあるOpenSSLが広く使われている[17][18]。サーバ側のメモリを読むことで、機密情報にアクセスが可能となり、場合によっては秘密鍵を盗まれて[17]暗号化が無力となり、中間者攻撃を仕掛けることが可能となる。

ユーザーに関する非公開の情報、たとえばセッションクッキーやパスワードも漏れうるため、他者になりすますことも可能となってしまう[19]。脆弱性が判明した段階で、認証局から証明を受けたHTTPSサーバのうち、ざっと17%から半分程度が影響するものと見られている[20]

名称に関する注意[編集]

OpenSSHとの名称や分野(どちらもセキュリティ関係)類似性から、OpenSSHと同じくOpenBSDとの関連を誤解されることがあるが、両者に関連はない。

脚注[編集]

  1. ^ a b c d OpenSSL: News, Project Newsflash”. 2014年4月9日閲覧。
  2. ^ NIST recertifies open source encryption module
  3. ^ Validated FIPS 140-1 and FIPS 140-2 Cryptographic Modules 2007”. アメリカ国立標準技術研究所 (2007年). 2013年6月24日閲覧。
  4. ^ FIPS 140-2 Validation Certificate (PDF)”. アメリカ国立標準技術研究所 (2007年). 2013年6月24日閲覧。
  5. ^ OpenSSL: Source, License
  6. ^ http://www.openssl.org
  7. ^ Licenses - Free Software Foundation
  8. ^ OpenSSL: Support, Frequently Asked Questions
  9. ^ WGET 1.10.2 for Windows (win32)
  10. ^ climm - Download!
  11. ^ a b DebianのOpenSSLに脆弱性、「弱い鍵」が破られる恐れ @IT、2008年5月20日(2014年4月12日閲覧)。
  12. ^ a b DSA-1571-1 openssl – predictable random number generator”. Debian (2008年5月13日). 2012年12月3日閲覧。
  13. ^ Seggelmann, R. et al. (2012年2月). “Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension”. RFC 6520. Internet Engineering Task Force (IETF). 2014年4月8日閲覧。
  14. ^ OpenSSL.org (2014年4月7日). “OpenSSL Security Advisory [07 Apr 2014]”. 2014年4月9日閲覧。
  15. ^ OpenSSL (2014年4月7日). “TLS heartbeat read overrun (CVE-2014-0160)”. 2014年4月8日閲覧。
  16. ^ [1]
  17. ^ a b Codenomicon Ltd (2014年4月8日). “Heartbleed Bug”. 2014年4月8日閲覧。
  18. ^ Goodin, Dan (2014年4月8日). “Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping”. Ars Technica. 2014年4月8日閲覧。
  19. ^ Why Heartbleed is dangerous? Exploiting CVE-2014-0160”. IPSec.pl (2014年). 2014年4月8日閲覧。
  20. ^ Mutton, Paul (2014年4月8日). “Half a million widely trusted websites vulnerable to Heartbleed bug”. Netcraft Ltd.. 2014年4月8日閲覧。

関連項目[編集]

外部リンク[編集]