Let's Encrypt

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Jump to navigation Jump to search
Let's Encrypt
創立者 電子フロンティア財団
Mozilla Foundation
ミシガン大学
アカマイ・テクノロジーズ
シスコシステムズ
団体種類 非営利団体
設立 2014年(4年前) (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]。自動化された発行プロセスにより、TLSX.509証明書の発行を無料で行っている[2][3]

概要[編集]

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

このため、Let's EncryptのソフトウェアパッケージはDebianUbuntuの公式リポジトリに含まれている[8][9]MozillaGoogleなどの主要なブラウザベンダーが現在主導している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]

技術諮問委員会[編集]

技術[編集]

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]。自動セットアップはApachenginxのみで利用可能である。

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日 ドメイン「helloworld.letsencrypt.org」のために、最初の証明書を発行。同日、ISRGは、Mozilla、マイクロソフトグーグルアップルにそのルート・プログラム・アプリケーションを提出。[41]
  • 2015年10月19日 中間証明書に、クロス署名としてIdenTrustを選定したことにより、Letsencryptによって発行されたすべての証明書、すべての主要なブラウザによって信頼されるようになった。[21]
  • 2015年11月12日 最初のパブリックベータ開始日を2015年12月3日と発表[42]
  • 2015年12月3日 パブリックベータの開始を発表。[43]
  • 2016年3月8日 登場から7か月間にして100万通目証明書を発行した[44]
  • 2016年4月12日 ベータ期間が終了した[45]
  • 2016年4月21日 100万通目の証明書発行から44日後、 200万通目の証明書を発行した[46]
  • 2016年6月3日 400万通以上の証明書を発行した[47]
  • 2016年6月22日 500万通以上の証明書を発行した。これらのうち380万通は有効期限が切れておらず、失効もしていない。Let's Encryptの有効な証明書は700万以上のユニークなドメインをカバーしており、これは大きなホスティング業者によるサポートによる部分もある[48]
  • 2016年9月9日 1000万通以上の証明書を発行した[49]
  • 2016年11月27日 2000万通以上の証明書を発行した[50]
  • 2016年12月12日 開始から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)

脚注[編集]

  1. ^ Catalin Cimpanu. “Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains”. Softpedia News. 2016年4月12日閲覧。
  2. ^ Kerner, Sean Michael (2014年11月18日). “Let's Encrypt Effort Aims to Improve Internet Security”. eWeek.com. Quinstreet Enterprise. 2015年2月27日閲覧。
  3. ^ Eckersley, Peter (2014年11月18日). “Launching in 2015: A Certificate Authority to Encrypt the Entire Web”. Electronic Frontier Foundation. 2015年2月27日閲覧。
  4. ^ Technology - Let's Encrypt - Free SSL/TLS Certificates”. Let's Encrypt. 2016年1月6日閲覧。
  5. ^ Liam Tung (ZDNet), November 19, 2014: EFF, Mozilla to launch free one-click website encryption
  6. ^ a b c d Fabian Scherschel (heise.de), November 19, 2014: Let's Encrypt: Mozilla und die EFF mischen den CA-Markt auf
  7. ^ Rob Marvin (SD Times), November 19, 2014: EFF wants to make HTTPS the default protocol
  8. ^ ITP: letsencrypt – Let's Encrypt client that can update Apache configurations
  9. ^ https://tracker.debian.org/pkg/python-letsencrypt
  10. ^ Richard Barnes (Mozilla), April 30, 2015: Deprecating Non-Secure HTTP
  11. ^ The Chromium Projects – Marking HTTP As Non-Secure
  12. ^ Glyn Moody, November 25, 2014: The Coming War on Encryption, Tor, and VPNs – Time to stand up for your right to online privacy
  13. ^ Steven J. Vaughan-Nichols (ZDNet), April 9, 2015: the web once and for all: The Let's Encrypt Project
  14. ^ Introducing Internationalized Domain Name (IDN) Support”. Let's Encrypt. 2017年6月13日閲覧。
  15. ^ Zeljka Zorz (Help Net Security), July 6, 2015: Let's Encrypt CA releases transparency report before its first certificate
  16. ^ Frequently Asked Questions (FAQ) - Documentation - Let's Encrypt Community Support”. Let's Encrypt (2015年8月13日). 2016年1月6日閲覧。
  17. ^ Let's Encrypt、ワイルドカード証明書を2018年1月より無料提供”. INTERNET Watch. インプレス (2017年7月7日). 2017年7月7日閲覧。
  18. ^ Certificate Compatibility”. Let's Encrypt (2016年12月5日). 2017年6月13日閲覧。
  19. ^ a b Sean Michael Kerner (eweek.com), April 9, 2015: Let's Encrypt Becomes Linux Foundation Collaborative Project
  20. ^ a b c d Aas, Josh (2015年6月4日). “Let's Encrypt Root and Intermediate Certificates”. 2017年6月14日閲覧。
  21. ^ a b Aas, Josh. “Let's Encrypt is Trusted”. 2015年10月19日閲覧。
  22. ^ a b Reiko Kaps (heise.de), June 17, 2015: SSL-Zertifizierungsstelle Lets Encrypt will Mitte September 2015 öffnen
  23. ^ a b Reiko Kaps (heise.de), June 5, 2015: Let's Encrypt: Meilenstein zu kostenlosen SSL-Zertifikaten für alle
  24. ^ Certificates”. 2015年12月3日時点のオリジナルよりアーカイブ。2017年6月14日閲覧。
  25. ^ Aas, Josh (2015年8月13日). “Elliptic Curve Cryptography (ECC) Support”. 2015年12月12日時点のオリジナルよりアーカイブ。2017年6月14日閲覧。
  26. ^ Certificates”. Let's Encrypt. 2017年11月9日閲覧。
  27. ^ a b Chris Brook (Threatpost), November 18, 2014: EFF, Others Plan to Make Encrypting the Web Easier in 2015
  28. ^ Draft ACME specification”. 2017年6月14日閲覧。
  29. ^ 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日閲覧。
  30. ^ letsencrypt. “boulder/LICENSE.txt at master · letsencrypt/boulder · GitHub”. Github.com. 2016年1月6日閲覧。
  31. ^ letsencrypt (2015年11月23日). “letsencrypt/LICENSE.txt at master · letsencrypt/letsencrypt · GitHub”. Github.com. 2016年1月6日閲覧。
  32. ^ James Sanders (TechRepublic), November 25, 2014: Let's Encrypt initiative to provide free encryption certificates
  33. ^ Aas, Josh (2015年11月9日). “Why ninety-day lifetimes for certificates?”. Let's Encrypt. 2016年6月26日閲覧。
  34. ^ Let’s Encrypt - Documentation”. 2017年11月9日閲覧。
  35. ^ http://www.infoworld.com/article/3019926/security/cyber-criminals-abusing-free-lets-encrypt-certificates.html
  36. ^ Aas, Josh (2014年11月18日). “Let’s Encrypt | Boom Swagger Boom”. Boomswaggerboom.wordpress.com. 2016年1月6日閲覧。
  37. ^ 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)
  38. ^ History for draft-barnes-acme
  39. ^ Josh Aas (2015年6月16日). “Let's Encrypt Launch Schedule”. letsencrypt.org. Let's Encrypt. 2015年6月19日閲覧。
  40. ^ Updated Let's Encrypt Launch Schedule” (2015年8月7日). 2017年6月14日閲覧。
  41. ^ Michael Mimoso. “First Let’s Encrypt Free Certificate Goes Live”. Threatpost.com, Kaspersky Labs. 2015年9月16日閲覧。
  42. ^ Public Beta: December 3, 2015” (2015年11月12日). 2017年6月14日閲覧。
  43. ^ Entering Public Beta - Let's Encrypt - Free SSL/TLS Certificates”. Let's Encrypt (2015年12月3日). 2016年1月6日閲覧。
  44. ^ Aas, Josh (2016年3月8日). “Our Millionth Certificate - Let's Encrypt - Free SSL/TLS Certificates”. letsencrypt.org. 2016年3月15日閲覧。
  45. ^ Let's Encrypt Leaves Beta”. LinuxFoundation.org. 2016年4月17日閲覧。
  46. ^ Let's Encrypt Reaches 2,000,000 Certificates” (2016年4月22日). 2016年9月24日閲覧。
  47. ^ Let's Encrypt Stats”. letsencrypt.org (2016年6月5日). 2016年6月5日閲覧。
  48. ^ Progress Towards 100% HTTPS, June 2016”. letsencrypt.org (2016年6月24日). 2016年6月22日閲覧。
  49. ^ Let's Encrypt [@letsencrypt] (September 9, 2016). "We’ve now issued more than 10 million certificates." (ツイート). 2016年9月24日閲覧Twitterより. 
  50. ^ Let's Encrypt [@letsencrypt] (November 27, 2016). "We've issued 20M+ certificates!" (ツイート). 2016年11月27日閲覧 – Twitterより. 
  51. ^ 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より. 
  52. ^ Milestone: 100 Million Certificates Issued - Let's Encrypt - Free SSL/TLS Certificates” (英語). letsencrypt.org. 2017年7月2日閲覧。

外部リンク[編集]