Let's Encrypt
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/11/19 15:38 UTC 版)
創立者 | 電子フロンティア財団 Mozilla Foundation ミシガン大学 アカマイ・テクノロジーズ シスコシステムズ |
---|---|
団体種類 | 非営利団体 |
設立 | 2014年 |
所在地 | ![]() カリフォルニア州サンフランシスコ York Street 660 北緯37度45分38.9秒西経122度24分33.5秒座標: 北緯37度45分38.9秒 西経122度24分33.5秒 |
活動内容 | X.509証明書認証局 |
親団体 | Internet Security Research Group (ISRG) |
標語 | Encrypt the entire web |
ウェブサイト | letsencrypt.org |
Let's Encrypt (レッツ・エンクリプト)は、2016年4月に正式に開始された認証局である[1]。自動化された発行プロセスにより、TLSのX.509証明書の発行を無料で行っている[2][3]。
目次
概要
Let's Encryptは、すべてのWebサーバへの接続を暗号化することを目指したプロジェクトである[4]。支払い、サーバ設定、メールによる確認、証明書の更新といった作業を省略することで、TLS暗号化における設定や保守の複雑さを大幅に削減することを意図している[5]。LinuxのWebサーバーでは、HTTPSの暗号化の設定および証明書の入手・更新がわずか2つのコマンドによって可能である[6][7]。
このため、Let's EncryptのソフトウェアパッケージはDebianやUbuntuの公式リポジトリに含まれている[8][9]。MozillaやGoogleなどの主要なブラウザベンダーが現在主導しているHTTPS重視の方針は、Let's Encryptの利用可能性を見込んだものである[10][11]。このプロジェクトは、ウェブ全体の暗号化接続を達成する可能性のあるものであると認められている[12]。
完全自動化のため、ドメイン認証 (Domain Validation: DV) 型証明書のみ発行しており、企業認証 (Organization Validation: OV) 型やEV (Extended Validation) 型は提供していない[13]。日本語ドメインなどの国際化ドメイン名には対応する[14]。
Let's Encryptは、できる限り透明化することで信頼性を維持し、攻撃から保護するねらいがある。このため定期的に報告書を発行し[15]、全てのACMEトランザクションを公開し(たとえば Certificate Transparency などにより)、できる限りオープン標準とフリーソフトウェアを使用している[6]。
ワイルドカード証明書については、サポートの予定はないとしていたが[16]、2018年1月より提供を開始することが発表された[17]。
互換性
Let's Encryptの中間証明書はIdenTrustのルート証明書によってクロス署名されており、幅広いプラットフォームに対応している。ただし、フィーチャーフォンやニンテンドー3DSなど一部の端末は対応していない[18]。
関係団体
Let's EncryptはInternet Security Research Group(ISRG)がサービスを提供している。主要なスポンサーは電子フロンティア財団 (EFF)、Mozilla Foundation、アカマイ・テクノロジーズ、シスコシステムズである。 その他の関係団体としては認証局のIdenTrust、ミシガン大学、スタンフォード・ロー・スクール、Linux Foundation[19]などがあり、レイセオン/BBNテクノロジーズのStephen Kent、CoreOSのAlex Polvなどが関わっている[6]。
技術諮問委員会
- Rich Salz (アカマイ・テクノロジーズ)
- Joe Hildebrand (シスコシステムズ)
- Jacob Hoffman-Andrews (電子フロンティア財団)
- J. C. Jones (Mozilla Foundation)
- Russ Housley (Independent)
- Ryan Hurst (Google)
- Stephen Kent (Independent)
- Karen O'Donoghue (インターネットソサエティ)
技術
2015年6月、Let's Encryptはオフラインにされたハードウェアセキュリティモジュール上に秘密鍵の保管されたRSAルート証明書を生成した[20]。ルート証明書はIdenTrust認証局によってクロス署名される2つの中間証明書に署名するために使用された[20][21][22]。中間証明書のうち一方は発行された証明書に署名するために使用され、他方は一つ目の中間証明書に問題が発生した際のバックアップためにオフラインで保管されている[20]。IdenTrustの証明書は主要なブラウザにプリインストールされているため、ISRGのルート証明書をトラストアンカーとして含んでいるブラウザが存在しないにもかかわらずLet's Encryptの証明書は通常何もすることなく有効である[23]。
Let's Encryptの開発者たちはECDSAのルート証明書も同様に2015年内に生成する予定であったが[20]、これは2016年頭へと延期され[24][25]、2018年へとされに延期された[26]。
プロトコル
この新しい認証局への登録を自動化するためのチャレンジレスポンスプロトコルはAutomated Certificate Management Environment (ACME)と呼ばれている。これには証明書がカバーしているドメイン上のウェブサーバに対する様々なリクエストが含まれている。レスポンス結果が期待されているものと一致しているかに基づき、登録者がドメインの管理を行っているかが確認される(ドメイン認証)。これを実現するため、ACMEクライアントソフトウェアはサーバシステム上にACME認証局サーバからのServer Name Indication (Domain Validation using Server Name Indication, DVSNI)を用いた特殊なリクエストを受けるための特殊なTLSサーバを立ち上げる。
認証プロセスは個別のネットワーク経路を用いて複数回実施される。DNSスプーフィング攻撃が困難になるよう、DNSエントリの確認は地理的に離れた複数の地点から実施される。
ACMEの動作はJSONドキュメントをHTTPS接続上で交換することで実施される[27]。仕様書のドラフト版はGitHub上で入手可能であり[28]、インターネット標準の提案としてInternet Engineering Task Force (IETF)送付されている[29]。
ソフトウェア実装
認証局ではACMEプロトコルのサーバ側を実装したBoulderと呼ばれるGoで書かれたソフトウェアが使用される。BoulderはMozilla Public License (MPL)バージョン2に基づいたフリーソフトウェアとしてソースコードとともに公開されており[30]、TLSで暗号化された通信経路からアクセス可能なRESTによるAPIを提供する。
certbot(旧称letsencrypt)と呼ばれるApache Licenseに基づくPythonで書かれた証明書管理プログラムがクライアント側(登録者のウェブサーバ)にインストールされる[31]。これは証明書を要求し、ドメイン認証プロセスを実施し、証明書を導入し、HTTPサーバのHTTPS暗号化を設定し、定期的に証明書を更新ために使用される[6][32]。インストールと使用許諾への合意を行えば、コマンド1つで有効な証明書を導入することができる。OCSP StaplingやHTTP Strict Transport Security (HSTS)のような追加のオプションを有効化することも可能である[27]。自動セットアップはApacheとnginxのみで利用可能である。
Let's Encryptは90日間有効な証明書を発行する。これはこのような証明書により「鍵漏洩と誤発行によるダメージを抑制することができる」ためであり、自動化を奨励するためである[33]。公式のcertbotクライアントと多くのサードパーティによるクライアントが証明書の自動更新に対応する。
コミュニティではいくつかのサードパーティにより、クライアント実装がいくつかの言語で行われている[34]。
事件
不正使用
2015年12月下旬に発生したアフィリエイトを介した不正広告攻撃にLet's Encryptで発行した証明書が使われていることをトレンドマイクロによって確認された。[35]
沿革と今後の予定
Let's Encryptプロジェクトは2012年に2人のMozilla従業員Josh AasとEric Rescorlaが電子フロンティア財団のPeter Eckersleyとミシガン大学のJ. Alex Haldermanとともに始めた。Let's Encryptを提供しているInternet Security Research Groupは2013年5月に設立された[36]。
- 2014年11月18日 公表[37]
- 2015年1月28日 ACMEプロトコルが正式な標準化のためにIETFに提出。[38]
- 2015年4月9日 ISRG と Linux Foundation は共同化の宣言[19]
- ルート証明書と中間証明書は6月の初めに生成[23]
- 2015年6月16日 最終的なサービス立ち上げのスケジュールが公表された。併せて2015年7月27日の週のどこかで最初の証明書が発行される予定であり、セキュリティとスケーラビリティの検証のため発行期間が選定的になることが告知された。当初、サービスが一般に利用可能になるのは2015年9月14日の週のどこかの予定であった[39]。IdenTrustによるクロス署名がLet's Encrypt一般サービス開始時に開始される計画となった[22]。
- 2015年8月7日 サービスの立ち上げスケジュールがシステムのセキュリティと安定性向上のため変更され、最初の証明書の発行予定が2015年9月7日に、サービスが一般に利用可能になるのは2015年11月16日の週となった[40]。
- 2015年9月14日 Let's Encryptは、ドメイン「helloworld.letsencrypt.org」のために、最初の証明書を発行。同日、ISRGは、Mozilla、マイクロソフト、グーグルとアップルにそのルート・プログラム・アプリケーションを提出。[41]
- 2015年10月19日 中間証明書に、クロス署名としてIdenTrustを選定したことにより、Letsencryptによって発行されたすべての証明書、すべての主要なブラウザによって信頼されるようになった。[21]
- 2015年11月12日 Let's Encryptが 最初のパブリックベータ開始日を2015年12月3日と発表[42]
- 2015年12月3日 Let's encryptがパブリックベータの開始を発表。[43]
- 2016年3月8日 Let's Encryptは登場から7か月間にして100万通目証明書を発行した[44]。
- 2016年4月12日 Let's Encryptはベータ期間を終了した[45]。
- 2016年4月21日 100万通目の証明書発行から44日後、 Let's Encryptは200万通目の証明書を発行した[46]。
- 2016年6月3日 Let's Encryptは400万通以上の証明書を発行した[47]。
- 2016年6月22日 Let's Encryptは500万通以上の証明書を発行した。これらのうち380万通は有効期限が切れておらず、失効もしていない。Let's Encryptの有効な証明書は700万以上のユニークなドメインをカバーしており、これは大きなホスティング業者によるサポートによる部分もある[48]。
- 2016年9月9日 Let's Encryptは1000万通以上の証明書を発行した[49]。
- 2016年11月27日 Let's Encryptは2000万通以上の証明書を発行した[50]。
- 2016年12月12日 Let's Encryptは開始から1年間で2400万通以上の証明書を発行したと発表した[51]。
- 2017年6月28日 1億通目の証明書が発行されたことが発表された[52]。
参考文献
- Richard Barnes, Jacob Hoffman-Andrews, James Kasten: Automatic Certificate Management Environment (ACME). In: IETF (Hrsg.): Active Internet-Drafts. 21. Juli 2015 (https://tools.ietf.org/html/draft-barnes-acme). (latest standardisation draft of the ACME specification)
脚注
- ^ Catalin Cimpanu. “Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains”. Softpedia News. 2016年4月12日閲覧。
- ^ 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日閲覧。
- ^ “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
- ^ “Frequently Asked Questions (FAQ) - Documentation - Let's Encrypt Community Support”. Let's Encrypt (2015年8月13日). 2016年1月6日閲覧。
- ^ “Let's Encrypt、ワイルドカード証明書を2018年1月より無料提供”. INTERNET Watch. インプレス (2017年7月7日). 2017年7月7日閲覧。
- ^ “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日閲覧。
- ^ “Certificates”. 2017年11月9日閲覧。
- ^ 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?”. 2016年6月26日閲覧。
- ^ “Let’s Encrypt - Documentation”. 2017年11月9日閲覧。
- ^ http://www.infoworld.com/article/3019926/security/cyber-criminals-abusing-free-lets-encrypt-certificates.html
- ^ Aas, Josh (2014年11月18日). “Let’s Encrypt | Boom Swagger Boom”. Boomswaggerboom.wordpress.com. 2016年1月6日閲覧。
- ^ Joseph Tsidulko: Let's Encrypt, A Free And Automated Certificate Authority, Comes Out Of Stealth Mode. In: crn.com. 2014-11-18. Abgerufen am 2015-08-26. (en)
- ^ History for draft-barnes-acme
- ^ Josh Aas (2015年6月16日). “Let's Encrypt Launch Schedule”. 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日閲覧。
- ^ Aas, Josh (2016年3月8日). “Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates”. 2016年3月15日閲覧。
- ^ “Let's Encrypt Leaves Beta”. 2016年4月17日閲覧。
- ^ “Let's Encrypt Reaches 2,000,000 Certificates” (2016年4月22日). 2016年9月24日閲覧。
- ^ “Let's Encrypt Stats” (2016年6月5日). 2016年6月5日閲覧。
- ^ “Progress Towards 100% HTTPS, June 2016” (2016年6月24日). 2016年6月22日閲覧。
- ^ Let's Encrypt [letsencrypt] (September 9, 2016). "We’ve now issued more than 10 million certificates." (ツイート). 2016年9月24日閲覧 – Twitterより.
- ^ Let's Encrypt [letsencrypt] (November 27, 2016). "We've issued 20M+ certificates!" (ツイート). 2016年11月27日閲覧 – Twitterより.
- ^ Let's Encrypt [letsencrypt] (December 12, 2016). "Just over 1 year ago, we issued our first cert. Today, 24M+ and climbing!" (ツイート). 2017年1月18日閲覧 – Twitterより.
- ^ “Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates” (en). 2017年7月2日閲覧。
外部リンク
- 公式サイト (英語)
- コードリポジトリ (Github) (英語)
- [1] (英語)
- [2] (英語)
- [3] (英語)
- Let's Encryptによって発行された証明書リスト (英語)
「Let's Encrypt」の例文・使い方・用例・文例
- Let's Encryptのページへのリンク