Let's Encrypt

Let's Encrypt
創立者 電子フロンティア財団
Mozilla Foundation
ミシガン大学
アカマイ・テクノロジーズ
シスコシステムズ
団体種類 非営利団体
設立 2014年(12年前) (2014)
所在地 アメリカ合衆国の旗 アメリカ合衆国
カリフォルニア州サンフランシスコ
York Street 660
北緯37度45分38.9秒 西経122度24分33.5秒 / 北緯37.760806度 西経122.409306度 / 37.760806; -122.409306座標: 北緯37度45分38.9秒 西経122度24分33.5秒 / 北緯37.760806度 西経122.409306度 / 37.760806; -122.409306
活動内容 X.509証明書認証局
親団体 Internet Security Research Group (ISRG)
標語 Encrypt the entire web
ウェブサイト letsencrypt.org
テンプレートを表示

Let's Encrypt(レッツ・エンクリプト)は、非営利団体のInternet Security Research Group(英語版)(ISRG)により運営されている証明書認証局で、TLSのX.509証明書を無料で発行している。世界最大の認証局であり、4億を超えるウェブサイトで使用されている。証明書の有効期間は90日で、期間内のいつでも証明書の再発行を行うことができる。発行はすべて自動化されたプロセスで行われており、安全なウェブサイトを実現するために、証明書の作成、受け入れテスト、署名、インストール、更新を手動で行う必要があった問題を克服するように設計されている。2016年4月に正式に開始された。

概要

Let's Encryptを使用したウェブサイトの例

Let's Encryptは、すべてのWebサーバへの接続を暗号化することを目指したプロジェクトである。支払い、サーバ設定、メールによる確認、証明書の更新といった作業を省略することで、TLS暗号化における設定や保守の複雑さを大幅に削減することを意図している。LinuxのWebサーバーでは、HTTPSの暗号化の設定および証明書の入手・更新がわずか2つのコマンドによって可能である。

このため、Let's EncryptのソフトウェアパッケージはDebianやUbuntuの公式リポジトリに含まれている。MozillaやGoogleなどの主要なブラウザベンダーが現在主導しているHTTPS重視の方針は、Let's Encryptの利用可能性を見込んだものである。このプロジェクトは、ウェブ全体の暗号化接続を達成する可能性のあるものであると認められている。

完全自動化のため、ドメイン認証(Domain Validation、DV)型証明書のみ発行しており、企業認証(Organization Validation、OV)型やEV(Extended Validation)型は提供していない。日本語ドメインなどの国際化ドメイン名には対応する。

Let's Encryptは、できる限り透明化することで信頼性を維持し、攻撃から保護するねらいがある。このため定期的に報告書を発行し、全てのACMEトランザクションを公開し(たとえばCertificate Transparencyなどにより)、できる限りオープン標準と自由ソフトウェアを使用している。

ACME v2とワイルドカード証明書(英語版)のサポートが2018年3月から開始された。

互換性

Let's Encryptの中間証明書はIdenTrust(英語版)のルート証明書によってクロス署名されており、幅広いプラットフォームに対応している。未対応の代表的なものとして一部のフィーチャーフォンやニンテンドー3DSなどがあげられる。

関係団体

Let's EncryptはInternet Security Research Group(英語版)(ISRG)がサービスを提供している。主要なスポンサーは電子フロンティア財団(EFF)、Mozilla Foundation、アカマイ・テクノロジーズ、OVH、シスコシステムズ、Facebook、Google Chrome、Internet Societyである。 その他の関係団体としては認証局のIdenTrust(英語版)、ミシガン大学、スタンフォード・ロー・スクール、Linux Foundationなどがあり、レイセオン/BBNテクノロジーズのStephen Kent(英語版)、CoreOSのAlex Polvなどが関わっている。

技術諮問委員会

技術

2015年6月、Let's Encryptはオフラインにされたハードウェアセキュリティモジュール(英語版)上に秘密鍵の保管されたRSAルート証明書を生成した。ルート証明書はIdenTrust(英語版)認証局によってクロス署名される2つの中間証明書に署名するために使用された。中間証明書のうち一方は発行された証明書に署名するために使用され、他方は一つ目の中間証明書に問題が発生した際のバックアップのためにオフラインで保管されている。IdenTrustの証明書は主要なブラウザにプリインストールされているため、ISRGのルート証明書をトラストアンカー(英語版)として含んでいるブラウザが存在しないにもかかわらずLet's Encryptの証明書は通常何もすることなく有効である。

Let's Encryptの開発者たちはECDSAのルート証明書も同様に2015年内に生成する予定であったが、これは2016年頭へと延期され、2019年へとさらに延期された。

プロトコル

この新しい認証局への登録を自動化するためのチャレンジレスポンス(英語版)プロトコルはAutomated Certificate Management Environment(ACME)と呼ばれている。これには証明書がカバーしているドメイン上のウェブサーバに対する様々なリクエストが含まれている。レスポンス結果が期待されているものと一致しているかに基づき、登録者がドメインの管理を行っているかが確認される(ドメイン認証)。これを実現するため、ACMEクライアントソフトウェアはサーバシステム上にACME認証局サーバからのServer Name Indication(Domain Validation using Server Name Indication、DVSNI)を用いた特殊なリクエストを受けるための特殊なTLSサーバを立ち上げる。

認証プロセスは個別のネットワーク経路を用いて複数回実施される。DNSスプーフィング攻撃が困難になるよう、DNSエントリの確認は地理的に離れた複数の地点から実施される。

ACMEの動作はJSONドキュメントをHTTPS接続上で交換することで実施される。仕様書のドラフト版はGitHub上で入手可能であり、インターネット標準の提案としてInternet Engineering Task Force(IETF)に送付されている。

ソフトウェア実装

ドメイン選択ダイアログ
Let's Encrypt証明書を持つウェブサイトの例

認証局ではACMEプロトコルのサーバ側を実装したBoulderと呼ばれるGoで書かれたソフトウェアが使用される。BoulderはMozilla Public License(MPL)バージョン2に基づいた自由ソフトウェアとしてソースコードとともに公開されており、TLSで暗号化された通信経路からアクセス可能なRESTによるAPIを提供する。

certbot(旧称letsencrypt)と呼ばれるApache Licenseに基づくPythonで書かれた証明書管理プログラムがクライアント側(登録者のウェブサーバ)にインストールされる。これは証明書を要求し、ドメイン認証プロセスを実施し、証明書を導入し、HTTPサーバのHTTPS暗号化を設定し、定期的に証明書を更新するために使用される。インストールと使用許諾への合意を行えば、コマンド1つで有効な証明書を導入することができる。OCSP Stapling(英語版)やHTTP Strict Transport Security(HSTS)のような追加のオプションを有効化することも可能である。自動セットアップはApacheとnginxのみで利用可能である。

Let's Encryptは90日間有効な証明書を発行する。これはこのような証明書により「鍵漏洩と誤発行によるダメージを抑制することができる」ためであり、自動化を奨励するためである。公式のcertbotクライアントと多くのサードパーティによるクライアントが証明書の自動更新に対応する。

コミュニティではいくつかのサードパーティにより、クライアント実装がいくつかの言語で行われている。

沿革

Let's Encryptプロジェクトは2012年に2人のMozilla従業員Josh AasとEric Rescorlaが電子フロンティア財団のPeter Eckersleyとミシガン大学のJ. Alex Halderman(英語版)とともに始めた。Let's Encryptを提供しているInternet Security Research Groupは2013年5月に設立された。

証明書発行数

日付 証明書発行数(累計)
2016年3月8日 100万
2016年4月21日 200万
2016年6月3日 400万
2016年6月22日 500万[*]
2016年9月9日 1000万
2016年11月27日 2000万
2016年12月12日 2400万
2017年6月28日 1億
2018年8月6日 1億1500万
2018年9月14日 3億8000万
2020年2月27日 10億

[*] これらのうち380万通は有効期限が切れておらず、失効もしていない。Let's Encryptの有効な証明書は700万以上のユニークなドメインをカバーしており、これは大きなホスティング業者によるサポートによる部分もある。

参考文献

脚注

  1. ↑ Kerner, Sean Michael (2014年11月18日). “Let's Encrypt Effort Aims to Improve Internet Security”. eWeek.com. Quinstreet Enterprise. 2014年11月19日時点のオリジナルよりアーカイブ。2015年2月27日閲覧。
  2. ↑ Eckersley, Peter (2014年11月18日). “Launching in 2015: A Certificate Authority to Encrypt the Entire Web”. Electronic Frontier Foundation. 2015年2月27日閲覧。
  3. ↑ “2020 ANNUAL REPORT”. Internet Security Research Group. 2024年3月10日閲覧。
  4. ↑ “Let's Encrypt の統計情報”. Internet Security Research Group (ISRG). 2024年3月10日閲覧。
  5. ↑ Kerner, Sean Michael (2014年11月18日). “Let's Encrypt Effort Aims to Improve Internet Security”. eWeek.com. Quinstreet Enterprise. 2014年11月19日時点のオリジナルよりアーカイブ。2015年2月27日閲覧。
  6. ↑ Eckersley, Peter (2014年11月18日). “Launching in 2015: A Certificate Authority to Encrypt the Entire Web”. Electronic Frontier Foundation. 2015年2月27日閲覧。
  7. ↑ Catalin Cimpanu. “Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains”. Softpedia News. 2016年4月12日閲覧。
  8. ↑ “Leaving Beta, New Sponsors”. EFF. 2016年4月12日閲覧。
  9. ↑ “Technology - Let's Encrypt - Free SSL/TLS Certificates”. Let's Encrypt. 2014年11月21日時点のオリジナルよりアーカイブ。2016年1月6日閲覧。
  10. ↑ Liam Tung (ZDNet), November 19, 2014: EFF, Mozilla to launch free one-click website encryption
  11. 1 2 3 4 Fabian Scherschel (heise.de), November 19, 2014: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
  12. ↑ Rob Marvin (SD Times), November 19, 2014: EFF wants to make HTTPS the default protocol
  13. ↑ ITP: letsencrypt – Let's Encrypt client that can update Apache configurations
  14. ↑ https://tracker.debian.org/pkg/python-letsencrypt
  15. ↑ Richard Barnes (Mozilla), April 30, 2015: Deprecating Non-Secure HTTP
  16. ↑ The Chromium Projects – Marking HTTP As Non-Secure
  17. ↑ Glyn Moody, November 25, 2014: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
  18. ↑ Steven J. Vaughan-Nichols (ZDNet), April 9, 2015: the web once and for all: The Let's Encrypt Project
  19. ↑ “Introducing Internationalized Domain Name (IDN) Support”. Let's Encrypt. 2017年6月13日閲覧。
  20. ↑ Zeljka Zorz (Help Net Security), July 6, 2015: Let's Encrypt CA releases transparency report before its first certificate
  21. ↑ Aas, Josh (2018年3月13日). “ACME v2 and Wildcard Certificate Support is Live”. Let's Encrypt. 2019年1月6日閲覧。
  22. ↑ “Certificate Compatibility”. Let's Encrypt (2016年12月5日). 2017年6月13日閲覧。
  23. 1 2 Sean Michael Kerner (eweek.com), April 9, 2015: Let's Encrypt Becomes Linux Foundation Collaborative Project
  24. 1 2 3 4 Aas, Josh (2015年6月4日). “Let's Encrypt Root and Intermediate Certificates”. 2017年6月14日閲覧。
  25. 1 2 Aas, Josh. “Let's Encrypt is Trusted”. 2015年10月19日閲覧。
  26. 1 2 Reiko Kaps (heise.de), June 17, 2015: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
  27. 1 2 Reiko Kaps (heise.de), June 5, 2015: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
  28. ↑ “Certificates”. 2015年12月3日時点のオリジナルよりアーカイブ。2017年6月14日閲覧。
  29. ↑ Aas, Josh (2015年8月13日). “Elliptic Curve Cryptography (ECC) Support”. 2015年12月12日時点のオリジナルよりアーカイブ。2017年6月14日閲覧。
  30. ↑ “Upcoming Features”. Let's Encrypt. 2018年9月27日時点のオリジナルよりアーカイブ。2018年10月13日閲覧。
  31. 1 2 Chris Brook (Threatpost), November 18, 2014: EFF, Others Plan to Make Encrypting the Web Easier in 2015
  32. ↑ “Draft ACME specification”. 2017年6月14日閲覧。
  33. ↑ R. Barnes, P. Eckersley, S. Schoen, A. Halderman, J. Kasten (2015年1月28日). “Automatic Certificate Management Environment (ACME) draft-barnes-acme-01”. 2017年6月14日閲覧。
  34. ↑ letsencrypt. “boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub”. Github.com. 2016年1月6日閲覧。
  35. ↑ letsencrypt (2015年11月23日). “letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub”. Github.com. 2016年1月6日閲覧。
  36. ↑ James Sanders (TechRepublic), November 25, 2014: Let's Encrypt initiative to provide free encryption certificates
  37. ↑ Aas, Josh (2015年11月9日). “Why ninety-day lifetimes for certificates?”. Let's Encrypt. 2016年6月26日閲覧。
  38. ↑ “Let’s Encrypt - Documentation”. 2017年11月9日閲覧。
  39. ↑ Aas, Josh (2014年11月18日). “Let’s Encrypt | Boom Swagger Boom”. Boomswaggerboom.wordpress.com. 2016年1月6日閲覧。
  40. ↑ Joseph Tsidulko (2014年11月18日). “Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode”. crn.com (英語). 2015年8月26日閲覧.
  41. ↑ History for draft-barnes-acme
  42. ↑ Josh Aas (2015年6月16日). “Let's Encrypt Launch Schedule”. letsencrypt.org. Let's Encrypt. 2015年6月19日閲覧。
  43. ↑ “Updated Let's Encrypt Launch Schedule” (2015年8月7日). 2017年6月14日閲覧。
  44. ↑ Michael Mimoso. “First Let’s Encrypt Free Certificate Goes Live”. Threatpost.com, Kaspersky Labs. 2015年9月16日閲覧。
  45. ↑ “Public Beta: December 3, 2015” (2015年11月12日). 2017年6月14日閲覧。
  46. ↑ “Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates”. Let's Encrypt (2015年12月3日). 2016年1月6日閲覧。
  47. ↑ “Let's Encrypt Leaves Beta”. LinuxFoundation.org. 2016年4月17日閲覧。
  48. ↑ Aas, Josh (2016年3月8日). “Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates”. letsencrypt.org. 2016年3月15日閲覧。
  49. ↑ “Let's Encrypt Reaches 2,000,000 Certificates” (2016年4月22日). 2016年9月24日閲覧。
  50. ↑ “Let's Encrypt Stats”. letsencrypt.org (2016年6月5日). 2016年6月5日閲覧。
  51. ↑ “Progress Towards 100% HTTPS, June 2016”. letsencrypt.org (2016年6月22日). 2016年6月24日閲覧。
  52. ↑ Let's Encrypt [@letsencrypt] (2016年9月9日). “We’ve now issued more than 10 million certificates”. X(旧Twitter)より2016年9月24日閲覧.
  53. ↑ Let's Encrypt [@letsencrypt] (2016年11月27日). “We've issued 20M+ certificates!”. X(旧Twitter)より2016年11月27日閲覧.
  54. ↑ Let's Encrypt [@letsencrypt] (2016年12月12日). “Just over 1 year ago, we issued our first cert. Today, 24M+ and climbing!”. X(旧Twitter)より2017年1月18日閲覧.
  55. ↑ “Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates” (英語). letsencrypt.org (2017年6月28日). 2017年7月2日閲覧。
  56. ↑ “Let's Encrypt Root Trusted By All Major Root Programs” (英語). letsencrypt.org (2018年8月6日). 2018年9月11日閲覧。
  57. ↑ “Let's Encrypt on Twitter”. Twitter (英語). 2018年9月16日閲覧.
  58. ↑ “Let's Encrypt Has Issued a Billion Certificates”. Let's Encrypt. 2024年3月10日閲覧。

関連項目

外部リンク