(Translated by https://www.hiragana.jp/)
LibreSSL - Wikipedia コンテンツにスキップ

LibreSSL

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
LibreSSL
開発元かいはつもと The OpenBSD Project
最新さいしんばん 3.9.2[1] ウィキデータを編集 - 12 5がつ 2024 [±]
リポジトリ ウィキデータを編集
プログラミング
言語げんご
C言語げんごアセンブリ言語げんご
対応たいおうOS OpenBSD, FreeBSD, NetBSD, Linux, HP-UX, Solaris, macOS, Microsoft Windows
種別しゅべつ ライブラリ
ライセンス Apache License 1.0、4条項じょうこうBSDライセンス, ISCライセンスパブリックドメイン
公式こうしきサイト www.libressl.org
テンプレートを表示ひょうじ

LibreSSLは、TLS/SSLプロトコルのオープンソースによる実装じっそうである。TLSの実装じっそうOpenSSL利用りようしていたOpenBSD開発かいはつしゃが、2014ねん4がつあきらかとなったOpenSSLのハートブリード脆弱ぜいじゃくせいけて独自どくじフォークしたものである[2][3][4][5][6]。OpenSSLのコードを見直みなおし、よりセキュアな実装じっそうとすることを目的もくてきとしている[7]

LibreSSLはOpenSSL 1.0.1ブランチからフォークしたものであり、OpenBSDプロジェクトの標準ひょうじゅんTLSライブラリとして利用りようされている[8]

歴史れきし

[編集へんしゅう]

OpenSSLのハートブリード脆弱ぜいじゃくせいあきらかとなったのち、OpenBSDプロジェクトではOpenSSLのソースコードの監査かんさあらたにった。その結果けっか、OpenSSLをフォークし、OpenBSDプロジェクト自身じしんによって管理かんりする必要ひつようがあると判断はんだんした[2]。libressl.orgドメインの取得しゅとくは2014ねん4がつ11にち、プロジェクトめい発表はっぴょう同月どうげつ22にちであった。

コードの見直みなおしの最初さいしょいち週間しゅうかんで、C言語げんごによるコードのうち90,000ぎょう以上いじょう削減さくげんされた[7][9]削減さくげんされたのは、ふる使つかわれていないコードや、ふるかったり現在げんざいとなってはほとんど使つかわれていないシステムのサポートのためのコードである。当初とうしょLibreSSLはOpenBSD 5.6においてOpenSSLをえることを目的もくてきとしていたが、安定あんていばんのプラットフォームけにもバックポートして公開こうかいすることとした[10][11]。2014ねん4がつ現在げんざい、LibreSSLプロジェクトでは外部がいぶからの継続けいぞくてき経済けいざいてき支援しえんもとめている[9]

6月5にち、いくつかのOpenSSLのバグが公開こうかいされた。いくつかのプロジェクトにはあらかじめバグの詳細しょうさいつたえられていた[12]が、LibreSSLにはつたえられていなかった。OpenBSDプロジェクトのテオ・デ・ラートは、OpenSSLの開発かいはつしゃがこの情報じょうほう意図いとてきにOpenBSDおよびLibreSSLプロジェクトにつたえなかったとして非難ひなんしている[13]

6がつ20日はつか、GoogleによってOpenSSLのあらたなフォークとしてBoringSSL発表はっぴょうされた。Googleは、バグ修正しゅうせいかんする情報じょうほうをLibreSSLと相互そうごにやりりすることを表明ひょうめいしている[14][15]ほか、LibreSSLがわ要請ようせいおうじてGoogle自身じしんによるコミットを従来じゅうらいのライセンスだけでなくISCライセンスさいライセンスしている[14][16]。6月21にち、テオ・デ・ラートはBoringSSLを歓迎かんげいするむね表明ひょうめいし、プラットフォームけのLibreSSL Portableの概要がいよう発表はっぴょうした[17]。6月20にちにはLinuxけの、7がつ8にちにはOS XおよびSolarisけのポートの準備じゅんび開始かいしされた[18][19]

7がつ11にち、ポータブルばんのLibreSSL 2.0.0が公開こうかいされた[20][21]。また、2.1.4以降いこうはWindowsにも対応たいおうしている[22]macOS High Sierra以降いこう現行げんこうmacOS VenturaではOpenSSLにえLibreSSLが標準ひょうじゅんインストールされている[23]

OpenSSLからの変更へんこうてん

[編集へんしゅう]

メモリ関係かんけい

[編集へんしゅう]

LibreSSLでは、メモリしがOpenSSLでもちいられていた独自どくじのものから標準ひょうじゅんライブラリによるもの( strlcpycallocasprintfreallocarray など)に変更へんこうされている[24][25]。これにより、詳細しょうさいメモリデバッガもちいたり、ASLRNXビットスタックカナリアによってプログラムのクラッシュを観察かんさつすることでバッファオーバーフロー検出けんしゅつすることが可能かのうとなる。

CVSログからは、潜在せんざいてきじゅう解放かいほう可能かのうせい修正しゅうせいされていることもわかる[26]

積極せっきょくてき対策たいさく

[編集へんしゅう]

潜在せんざいてき問題もんだい早期そうき修正しゅうせいできるよう、安全あんぜんのために設計せっけいされたコンパイルオプションやフラグ (-Wall, -Werror, -Wextra, -Wuninitialized) が既定きてい有効ゆうこうされている。コードの可読かどくせい向上こうじょう(Kernel Normal Form、スペースによる整形せいけい改行かいぎょう)や不要ふようなラッパーやマクロの除去じょきょにより、プログラムの正当せいとうせい検証けんしょうやセキュリティ監査かんさ容易よういとなっている。

2038ねん問題もんだいにも対応たいおうみである。

暗号あんごう

[編集へんしゅう]

擬似ぎじ乱数らんすう生成せいせいによる乱数らんすうのシード生成せいせいも、より安全あんぜんとなるよう改良かいりょうされている[27][28]

また、あたらしい暗号あんごうアルゴリズム(ストリーム暗号あんごうであるChaChaメッセージ認証にんしょうコードであるPoly1305)、楕円だえん曲線きょくせん暗号あんごう(512ビットまでのbrainpool[29])にも対応たいおうしている。

脆弱ぜいじゃくなプロトコルの無効むこう

[編集へんしゅう]

SSL 3.0における脆弱ぜいじゃくせいであるPOODLE報告ほうこくをうけて、10月16にちリリースのバージョン2.1.1よりSSL 3.0を既定きてい無効むこうした[30]

コード除去じょきょ

[編集へんしゅう]

ハートブリードへの対応たいおうとしてLibreSSLから除去じょきょされた最初さいしょ機能きのうは、Heartbeat拡張かくちょうそのものであった[31]。また、オペレーティングシステムハードウェアアーキテクチャのサポート(バージョン9までの「クラシックな」Mac OSNetWareOS/2OpenVMS、16-bitのWindowsなど)、不要ふようあるいは安全あんぜんではないとかんがえられるプリプロセッサマクロ、アセンブリ言語げんごC言語げんごPerlのためのふるいデモ・ドキュメントファイルも除去じょきょされている。

NSAによるバックドア存在そんざいするとうたがわれている[32]Dual_EC_DRBG英語えいごばんは、これを必要ひつようとするFIPS 140-2英語えいごばん標準ひょうじゅんともにサポートが廃止はいしされた。

MD2SSL 2.0ケルベロス認証にんしょうPassword Authenticated Key Exchange by Juggling英語えいごばん (J-PAKE)、Secure Remote Password protocol英語えいごばん (SRP)といった使つかわれていないプロトコル、安全あんぜんではないアルゴリズムのサポートも廃止はいしされている。

その

[編集へんしゅう]

OpenSSLにたいする批判ひはんひとつに、報告ほうこくされているにもかかわらず長年ながねん修正しゅうせいされずに放置ほうちされているバグのかずげられる。LibreSSLではこれらのバグの修正しゅうせいおこなっている[33]

脚注きゃくちゅう

[編集へんしゅう]
  1. ^ LibreSSL 3.9.2 Released” (英語えいご) (12 5がつ 2024). 12 5がつ 2024閲覧えつらん
  2. ^ a b Unangst, Ted (22 April 2014). “Origins of libressl”. flak. 2014ねん8がつ4にち閲覧えつらん
  3. ^ Kemer, Sean Michael (22 April 2014). “After Heartbleed, OpenSSL Is Forked Into LibreSSL”. eWeek. 2014ねん8がつ4にち閲覧えつらん
  4. ^ Not Just a Cleanup Any More: LibreSSL Project Announced”. Slashdot (April 22, 2014). 2014ねん8がつ4にち閲覧えつらん
  5. ^ Beck, Bob (17 May 2014). “LibreSSL: The first 30 days, and what the Future Holds Slides”. 2014ねん8がつ4にち閲覧えつらん
  6. ^ M, Constantine (17 May 2014). Soulskill: “30-Day Status Update On LibreSSL”. Slashdot. 2014ねん8がつ4にち閲覧えつらん
  7. ^ a b Seltzer, Larry (21 April 2014). “OpenBSD forks, prunes, fixes OpenSSL”. Zero Day. ZDNet. 2014ねん8がつ4にち閲覧えつらん
  8. ^ Hessler, Peter (15 April 2014). “OpenBSD has started a massive strip-down and cleanup of OpenSSL”. OpenBSD Journal. 2014ねん8がつ4にち閲覧えつらん
  9. ^ a b Brodkin, Jon (22 April 2014). “OpenSSL code beyond repair, claims creator of "LibreSSL" fork”. Ars Technica. 2014ねん8がつ4にち閲覧えつらん
  10. ^ McCallion, Jane (22 April 2014). “Heartbleed: LibreSSL scrubs "irresponsible" OpenSSL code”. PC Pro. 2014ねん8がつ4にち閲覧えつらん
  11. ^ Larabel, Michael (9 May 2014). “OpenBSD Affirms That LibreSSL Will Be Portable”. Phoronix. 2014ねん8がつ4にち閲覧えつらん
  12. ^ oss-sec: Re: OpenSSL seven security fixes”. Seclists.org. 2014ねん8がつ4にち閲覧えつらん
  13. ^ 'Re: new OpenSSL flaws' - MARC”. Marc.info (2014ねん6がつ5にち). 2014ねん8がつ4にち閲覧えつらん
  14. ^ a b Langley, Adam (20 June 2014). “BoringSSL (20 Jun 2014)”. ImperialViolet. 2014ねん8がつ4にち閲覧えつらん
  15. ^ Goodin, Dan (20 June 2014). “Google unveils independent “fork” of OpenSSL called “BoringSSL””. Ars Technica. 2014ねん8がつ4にち閲覧えつらん
  16. ^ Sing, Joel (21 June 2014). “OpenBSD — lib/libssl/src/crypto/evp evp_aead.c e_chacha20poly1305.c”. 2014ねん8がつ4にち閲覧えつらん
  17. ^ Raadt, Theo de (21 June 2014). "Boringssl and such" (Mailing list). 2014ねん8がつ4にち閲覧えつらん
  18. ^ Beck, Bob (20 June 2014). “OpenBSD — lib/libcrypto/crypto getentropy_linux.c”. 2014ねん8がつ4にち閲覧えつらん
  19. ^ Beck, Bob (8 July 2014). “OpenBSD - lib/libcrypto/crypto getentropy_osx.c getentropy_solaris.c”. 2014ねん8がつ4にち閲覧えつらん
  20. ^ Index of /pub/OpenBSD/LibreSSL” (11 July 2014). 2014ねん8がつ4にち閲覧えつらん
  21. ^ Beck, Bob (11 July 2014). “First release of LibreSSL portable is available”. Marc.info. 2014ねん8がつ4にち閲覧えつらん
  22. ^ LibreSSL 2.1.4 released” (2015ねん3がつ4にち). 2015ねん3がつ4にち閲覧えつらん
  23. ^ openssl version で LibreSSL x.x.xとかえされる。macOS Ventura 13.0では3.3.6である。
  24. ^ Orr, William (23 April 2014). “A quick recap over the last week”. OpenSSL Valhalla Rampage. 2014ねん8がつ4にち閲覧えつらん
  25. ^ OpenBSD LibreSSL CVS Calloc Commits”. 2014ねん8がつ4にち閲覧えつらん
  26. ^ OpenBSD LibreSSL CVS Double Free Commits”. 2014ねん8がつ4にち閲覧えつらん
  27. ^ OpenBSD LibreSSL CVS Insecure Seeding”. 2014ねん8がつ4にち閲覧えつらん
  28. ^ OpenBSD LibreSSL CVS Kernel Seeding”. 2014ねん8がつ4にち閲覧えつらん
  29. ^ RFC 5639
  30. ^ LibreSSL 2.1.1 released.”. LibreSSL (2014ねん10がつ16にち). 2014ねん10がつ21にち閲覧えつらん
  31. ^ OpenBSD LibreSSL CVS OPENSSL_NO_HEARTBEAT”. 2014ねん8がつ4にち閲覧えつらん
  32. ^ Perlroth, Nicole (September 10, 2013). “Government Announces Steps to Restore Confidence on Encryption Standards”. The New York Times. http://bits.blogs.nytimes.com/2013/09/10/government-announces-steps-to-restore-confidence-on-encryption-standards/ 2014ねん8がつ4にち閲覧えつらん 
  33. ^ OpenBSD LibreSSL CVS Buffer Release (#2167 bugfix) Commit” (10 April 2014). 2014ねん8がつ4にち閲覧えつらん

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]