Let's Encrypt (レッツ・エンクリプト)は、非営利団体 のInternet Security Research Group (英語版 ) (ISRG)により運営されている証明書認証局 で、TLS のX.509 証明書 を無料で発行している[ 1] [ 2] 。世界最大の認証局であり[ 3] 、4億を超えるウェブサイトで使用されている[ 4] 。証明書の有効期間は90日で、期間内のいつでも証明書の再発行を行うことができる。発行はすべて自動化されたプロセスで行われており、安全なウェブサイトを実現するために、証明書の作成、受け入れテスト 、署名 、インストール、更新を手動で行う必要があった問題を克服するように設計されている[ 5] [ 6] 。2016年 4月に正式に開始された[ 7] [ 8] 。
概要
Let's Encryptを使用したウェブサイトの例
Let's Encryptは、すべてのWebサーバ への接続を暗号化することを目指したプロジェクトである[ 9] 。支払い、サーバ設定、メールによる確認、証明書の更新といった作業を省略することで、TLS暗号化における設定や保守の複雑さを大幅に削減することを意図している[ 10] 。Linux のWebサーバーでは、HTTPS の暗号化の設定および証明書の入手・更新がわずか2つのコマンドによって可能である[ 11] [ 12] 。
このため、Let's EncryptのソフトウェアパッケージはDebian やUbuntu の公式リポジトリに含まれている[ 13] [ 14] 。Mozilla やGoogle などの主要なブラウザベンダーが現在主導しているHTTPS 重視の方針は、Let's Encryptの利用可能性を見込んだものである[ 15] [ 16] 。このプロジェクトは、ウェブ全体の暗号化接続を達成する可能性のあるものであると認められている[ 17] 。
完全自動化のため、ドメイン認証(Domain Validation、DV)型証明書のみ発行しており、企業認証(Organization Validation、OV)型やEV(Extended Validation)型は提供していない[ 18] 。日本語ドメインなどの国際化ドメイン名 には対応する[ 19] 。
Let's Encryptは、できる限り透明化することで信頼性を維持し、攻撃から保護するねらいがある。このため定期的に報告書を発行し[ 20] 、全てのACME トランザクションを公開し(たとえばCertificate Transparencyなどにより)、できる限りオープン標準と自由ソフトウェア を使用している[ 11] 。
ACME v2とワイルドカード証明書 (英語版 ) のサポートが2018年3月から開始された[ 21] 。
互換性
Let's Encryptの中間証明書はIdenTrust (英語版 ) のルート証明書 によってクロス署名されており、幅広いプラットフォームに対応している。未対応の代表的なものとして一部のフィーチャーフォン やニンテンドー3DS などがあげられる[ 22] 。
関係団体
Let's EncryptはInternet Security Research Group (英語版 ) (ISRG)がサービスを提供している。主要なスポンサーは電子フロンティア財団 (EFF)、Mozilla Foundation 、アカマイ・テクノロジーズ 、OVH 、シスコシステムズ 、Facebook 、Google Chrome 、Internet Society である。 その他の関係団体としては認証局のIdenTrust (英語版 ) 、ミシガン大学 、スタンフォード・ロー・スクール 、Linux Foundation [ 23] などがあり、レイセオン /BBNテクノロジーズ のStephen Kent (英語版 ) 、CoreOS のAlex Polvなどが関わっている[ 11] 。
技術諮問委員会
技術
2015年6月、Let's Encryptはオフラインにされたハードウェアセキュリティモジュール (英語版 ) 上に秘密鍵の保管されたRSA ルート証明書を生成した[ 24] 。ルート証明書はIdenTrust (英語版 ) 認証局によってクロス署名される2つの中間証明書に署名するために使用された[ 24] [ 25] [ 26] 。中間証明書のうち一方は発行された証明書に署名するために使用され、他方は一つ目の中間証明書に問題が発生した際のバックアップのためにオフラインで保管されている[ 24] 。IdenTrustの証明書は主要なブラウザにプリインストールされているため、ISRGのルート証明書をトラストアンカー (英語版 ) として含んでいるブラウザが存在しないにもかかわらずLet's Encryptの証明書は通常何もすることなく有効である[ 27] 。
Let's Encryptの開発者たちはECDSA のルート証明書も同様に2015年内に生成する予定であったが[ 24] 、これは2016年頭へと延期され[ 28] [ 29] 、2019年へとさらに延期された[ 30] 。
プロトコル
この新しい認証局への登録を自動化するためのチャレンジレスポンス (英語版 ) プロトコルはAutomated Certificate Management Environment (ACME)と呼ばれている。これには証明書がカバーしているドメイン上のウェブサーバに対する様々なリクエストが含まれている。レスポンス結果が期待されているものと一致しているかに基づき、登録者がドメインの管理を行っているかが確認される(ドメイン認証)。これを実現するため、ACMEクライアントソフトウェアはサーバシステム上にACME認証局サーバからのServer Name Indication (Domain Validation using Server Name Indication、DVSNI)を用いた特殊なリクエストを受けるための特殊なTLSサーバを立ち上げる。
認証プロセスは個別のネットワーク経路を用いて複数回実施される。DNSスプーフィング 攻撃が困難になるよう、DNS エントリの確認は地理的に離れた複数の地点から実施される。
ACMEの動作はJSON ドキュメントをHTTPS接続上で交換することで実施される[ 31] 。仕様書のドラフト版はGitHub 上で入手可能であり[ 32] 、インターネット標準の提案 としてInternet Engineering Task Force (IETF)に送付されている[ 33] 。
ソフトウェア実装
ドメイン選択ダイアログ
Let's Encrypt証明書を持つウェブサイトの例
認証局ではACMEプロトコルのサーバ側を実装したBoulderと呼ばれるGo で書かれたソフトウェアが使用される。BoulderはMozilla Public License (MPL)バージョン2に基づいた自由ソフトウェア としてソースコード とともに公開されており[ 34] 、TLSで暗号化された通信経路からアクセス可能なREST によるAPI を提供する。
certbot
(旧称letsencrypt
)と呼ばれるApache License に基づくPython で書かれた証明書管理プログラムがクライアント側(登録者のウェブサーバ)にインストールされる[ 35] 。これは証明書を要求し、ドメイン認証プロセスを実施し、証明書を導入し、HTTPサーバのHTTPS暗号化を設定し、定期的に証明書を更新するために使用される[ 11] [ 36] 。インストールと使用許諾への合意を行えば、コマンド1つで有効な証明書を導入することができる。OCSP Stapling (英語版 ) やHTTP Strict Transport Security (HSTS)のような追加のオプションを有効化することも可能である[ 31] 。自動セットアップはApache とnginx のみで利用可能である。
Let's Encryptは90日間有効な証明書を発行する。これはこのような証明書により「鍵漏洩と誤発行によるダメージを抑制することができる」ためであり、自動化を奨励するためである[ 37] 。公式のcertbot
クライアントと多くのサードパーティによるクライアントが証明書の自動更新に対応する。
コミュニティではいくつかのサードパーティにより、クライアント実装がいくつかの言語で行われている[ 38] 。
沿革
Let's Encryptプロジェクトは2012年に2人のMozilla従業員Josh AasとEric Rescorlaが電子フロンティア財団のPeter Eckersleyとミシガン大学のJ. Alex Halderman (英語版 ) とともに始めた。Let's Encryptを提供しているInternet Security Research Groupは2013年5月に設立された[ 39] 。
2014年11月18日 Let's Encryptが公表された[ 40] 。
2015年1月28日 ACMEプロトコルが正式な標準化のためにIETFに提出された[ 41] 。
2015年4月9日 ISRGとLinux Foundation のコラボレーションが宣言された[ 23] 。
ルート証明書と中間証明書は6月の初めに生成された[ 27] 。
2015年6月16日 最終的なサービス立ち上げのスケジュールが公表された。併せて2015年7月27日の週のどこかで最初の証明書が発行される予定であり、セキュリティとスケーラビリティの検証のため発行期間が選定的になることが告知された。当初、サービスが一般に利用可能になるのは2015年9月14日の週のどこかの予定であった[ 42] 。IdenTrustによるクロス署名がLet's Encrypt一般サービス開始時に開始される計画となった[ 26] 。
2015年8月7日 サービスの立ち上げスケジュールがシステムのセキュリティと安定性向上のため変更され、最初の証明書の発行予定が2015年9月7日に、サービスが一般に利用可能になるのは2015年11月16日の週となった[ 43] 。
2015年9月14日 ドメイン「helloworld.letsencrypt.org」のために、最初の証明書を発行。同日、ISRGは、Mozilla、マイクロソフト 、グーグル とApple にそのルート・プログラム・アプリケーションを提出した[ 44] 。
2015年10月19日 中間証明書に、クロス署名としてIdenTrustを選定したことにより、Letsencryptによって発行されたすべての証明書、すべての主要なブラウザによって信頼されるようになった[ 25] 。
2015年11月12日 最初のパブリックベータ開始日を2015年12月3日である発表した[ 45] 。
2015年12月3日 パブリックベータの開始を発表した[ 46] 。
2016年4月12日 ベータ期間が終了した[ 47] 。
証明書発行数
日付
証明書発行数(累計)
2016年3月8日
100万[ 48]
2016年4月21日
200万[ 49]
2016年6月3日
400万[ 50]
2016年6月22日
500万[*] [ 51]
2016年9月9日
1000万[ 52]
2016年11月27日
2000万[ 53]
2016年12月12日
2400万[ 54]
2017年6月28日
1億[ 55]
2018年8月6日
1億1500万[ 56]
2018年9月14日
3億8000万[ 57]
2020年2月27日
10億[ 58]
[*] これらのうち380万通は有効期限が切れておらず、失効もしていない。Let's Encryptの有効な証明書は700万以上のユニークなドメインをカバーしており、これは大きなホスティング業者によるサポートによる部分もある。
参考文献
脚注
^ Kerner, Sean Michael (2014年11月18日). “Let's Encrypt Effort Aims to Improve Internet Security ”. eWeek.com . Quinstreet Enterprise. 2015年2月27日閲覧。
^ Eckersley, Peter (2014年11月18日). “Launching in 2015: A Certificate Authority to Encrypt the Entire Web ”. Electronic Frontier Foundation . 2015年2月27日閲覧。
^ “2020 ANNUAL REPORT ”. Internet Security Research Group. 2024年3月10日閲覧。
^ “Let's Encrypt の統計情報 ”. Internet Security Research Group (ISRG). 2024年3月10日閲覧。
^ Kerner, Sean Michael (2014年11月18日). “Let's Encrypt Effort Aims to Improve Internet Security ”. eWeek.com . Quinstreet Enterprise. 2015年2月27日閲覧。
^ Eckersley, Peter (2014年11月18日). “Launching in 2015: A Certificate Authority to Encrypt the Entire Web ”. Electronic Frontier Foundation . 2015年2月27日閲覧。
^ Catalin Cimpanu. “Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains ”. Softpedia News. 2016年4月12日閲覧。
^ “Leaving Beta, New Sponsors ”. EFF. 2016年4月12日閲覧。
^ “Technology - Let's Encrypt - Free SSL/TLS Certificates ”. Let's Encrypt. 2016年1月6日閲覧。
^
Liam Tung (ZDNet), November 19, 2014: EFF, Mozilla to launch free one-click website encryption
^ a b c d
Fabian Scherschel (heise.de), November 19, 2014: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
^ Rob Marvin (SD Times), November 19, 2014: EFF wants to make HTTPS the default protocol
^ ITP: letsencrypt – Let's Encrypt client that can update Apache configurations
^ https://tracker.debian.org/pkg/python-letsencrypt
^ Richard Barnes (Mozilla), April 30, 2015: Deprecating Non-Secure HTTP
^ The Chromium Projects – Marking HTTP As Non-Secure
^
Glyn Moody, November 25, 2014: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
^
Steven J. Vaughan-Nichols (ZDNet), April 9, 2015: the web once and for all: The Let's Encrypt Project
^ “Introducing Internationalized Domain Name (IDN) Support ”. Let's Encrypt. 2017年6月13日閲覧。
^
Zeljka Zorz (Help Net Security), July 6, 2015: Let's Encrypt CA releases transparency report before its first certificate
^ Aas, Josh (2018年3月13日). “ACME v2 and Wildcard Certificate Support is Live ”. Let's Encrypt . 2019年1月6日閲覧。
^ “Certificate Compatibility ”. Let's Encrypt (2016年12月5日). 2017年6月13日閲覧。
^ a b
Sean Michael Kerner (eweek.com), April 9, 2015: Let's Encrypt Becomes Linux Foundation Collaborative Project
^ a b c d Aas, Josh (2015年6月4日). “Let's Encrypt Root and Intermediate Certificates ”. 2017年6月14日閲覧。
^ a b Aas, Josh. “Let's Encrypt is Trusted ”. 2015年10月19日閲覧。
^ a b
Reiko Kaps (heise.de), June 17, 2015: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
^ a b
Reiko Kaps (heise.de), June 5, 2015: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
^ “Certificates ”. 2015年12月3日時点のオリジナル よりアーカイブ。2017年6月14日閲覧。
^ Aas, Josh (2015年8月13日). “Elliptic Curve Cryptography (ECC) Support ”. 2015年12月12日時点のオリジナル よりアーカイブ。2017年6月14日閲覧。
^ “Upcoming Features ”. Let's Encrypt . 2018年9月27日時点のオリジナル よりアーカイブ。2018年10月13日閲覧。
^ a b Chris Brook (Threatpost), November 18, 2014: EFF, Others Plan to Make Encrypting the Web Easier in 2015
^ “Draft ACME specification ”. 2017年6月14日閲覧。
^ 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日閲覧。
^ letsencrypt. “boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub ”. Github.com. 2016年1月6日閲覧。
^ letsencrypt (2015年11月23日). “letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub ”. Github.com. 2016年1月6日閲覧。
^
James Sanders (TechRepublic), November 25, 2014: Let's Encrypt initiative to provide free encryption certificates
^ Aas, Josh (2015年11月9日). “Why ninety-day lifetimes for certificates? ”. Let's Encrypt . 2016年6月26日閲覧。
^ “Let’s Encrypt - Documentation ”. 2017年11月9日閲覧。
^ Aas, Josh (2014年11月18日). “Let’s Encrypt | Boom Swagger Boom ”. Boomswaggerboom.wordpress.com. 2016年1月6日閲覧。
^ Joseph Tsidulko (18 November 2014). “Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode” . crn.com (英語). 2015年8月26日閲覧 .
^ History for draft-barnes-acme
^ Josh Aas (2015年6月16日). “Let's Encrypt Launch Schedule ”. letsencrypt.org . Let's Encrypt. 2015年6月19日閲覧。
^ “Updated Let's Encrypt Launch Schedule ” (2015年8月7日). 2017年6月14日閲覧。
^ Michael Mimoso. “First Let’s Encrypt Free Certificate Goes Live ”. Threatpost.com, Kaspersky Labs. 2015年9月16日閲覧。
^ “Public Beta: December 3, 2015 ” (2015年11月12日). 2017年6月14日閲覧。
^ “Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates ”. Let's Encrypt (2015年12月3日). 2016年1月6日閲覧。
^ “Let's Encrypt Leaves Beta ”. LinuxFoundation.org . 2016年4月17日閲覧。
^ Aas, Josh (2016年3月8日). “Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates ”. letsencrypt.org . 2016年3月15日閲覧。
^ “Let's Encrypt Reaches 2,000,000 Certificates ” (2016年4月22日). 2016年9月24日閲覧。
^ “Let's Encrypt Stats ”. letsencrypt.org (2016年6月5日). 2016年6月5日閲覧。
^ “Progress Towards 100% HTTPS, June 2016 ”. letsencrypt.org (2016年6月22日). 2016年6月24日閲覧。
^ Let's Encrypt [@letsencrypt] (9 September 2016). “We’ve now issued more than 10 million certificates” . X(旧Twitter) より2016年9月24日 閲覧.
^ Let's Encrypt [@letsencrypt] (27 November 2016). “We've issued 20M+ certificates!” . X(旧Twitter)より2016年11月27日 閲覧.
^ Let's Encrypt [@letsencrypt] (12 December 2016). “Just over 1 year ago, we issued our first cert. Today, 24M+ and climbing!” . X(旧Twitter)より2017年1月18日 閲覧.
^ “Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates ” (英語). letsencrypt.org (2017年6月28日). 2017年7月2日閲覧。
^ “Let's Encrypt Root Trusted By All Major Root Programs ” (英語). letsencrypt.org (2018年8月6日). 2018年9月11日閲覧。
^ “Let's Encrypt on Twitter” (英語). Twitter . https://twitter.com/letsencrypt/status/1040650167647559680 2018年9月16日閲覧。
^ “Let's Encrypt Has Issued a Billion Certificates ”. Let's Encrypt. 2024年3月10日閲覧。
関連項目
外部リンク