Let’s Encryptの概要
無料のSSLサーバー証明書(以下、SSL証明書)であるLet’s Encryptは、米国の非営利団体であるISRG(Internet Security Research Group)により運営されています。全てのWebサイトを暗号化することを目指したプロジェクトであり、2019年6月現在では世界で1億枚以上の有効な証明書を発行しています。
非営利団体ということで財務基盤に不安を覚える方もいるかもしれませんが、現在ではFacebookやシスコシステムズ、Akamai Technologies、Verizonといった数多くの大手企業に支えられています。当社さくらインターネットも、2017年よりシルバースポンサーとして資金提供を行っています。
Let's Encryptの発行するSSL証明書
Let’s Encryptでは、90日間有効なDV(Domain Validation)SSL証明書を2つの認証方式(ドメイン認証、DNS認証)で提供しています。SSL証明書は無料で提供されていますが、暗号強度などは一般的に販売されているSSL証明書と違いはありません。無料証明書と有料証明書の違いについて知りたい方は、こちらの『無料証明書と有料証明書の違い』をご覧ください。
Let’s EncryptのSSL証明書発行システムの大きな特徴は、ACME(Automated Certificate Management Environment)プロトコルと呼ばれるSSL証明書を自動発行する仕組みを利用している点です。他の認証局とは異なり、認証してから数秒でSSL証明書が発行され、すぐにサーバーへデプロイできるという非常に高度なSSL証明書発行インフラを運用しています。
管理者(root)権限のあるサーバーでLet's Encryptを利用する場合は、一般的にcertbotなどのアプリケーションが利用されています。事前にスクリプトが定期的に実行されるように設定しておけば、レンタルサーバーの無料SSL機能と同様の自動更新が比較的簡単に実現できます。以下のようなコマンドを入力して、質問(Webサイトのドキュメントルートディレクトリなど)に答えるだけで簡単にSSL証明書が発行されます。現在、多くのサーバーOSで利用できるようになっていますので、管理者権限のあるサーバーをお持ちの方は、ぜひ試してみてはいかがでしょうか。
certbot certonly -d example.com
最初にも言いましたが、Let’s Encrypt の発行するSSL証明書の有効期間は90日間です。一般的な認証局の発行するSSL証明書は最大2年なので、それに比べると非常に短い期間しか利用できません。しかし、さくらのレンタルサーバを始め、多くのレンタルサーバーではLet’s Encryptが発行するSSL証明書の自動更新に対応しているため、エンドユーザーが更新の手間を考える必要はありません。”無料”というメリットだけでなく、”更新の手間が掛からない”というメリットもあることを覚えておきましょう。
実際にcertbotを利用してLet’s EncryptのSSL証明書を発行してみると、本当に一瞬でSSL証明書が発行されるので驚く方も多いと思います。この一瞬の間にドメイン認証を行い、CT(Certificate Transparency)ログの署名を行ってSSL証明書を発行するのは、とても高度に管理されたインフラだからこそできることだと想像できます。
レンタルサーバーなどでは、ユーザーが発行ボタンを押す度にAPIリクエストをするとLet’s Encryptへの大量アクセスが発生してしまうため、一定時間ごとにまとめてリクエストをする仕組みになっています。そのため、先程のように一瞬で発行されることはありませんが、さくらのレンタルサーバでは概ね1時間以内に発行が完了します。
Let’s Encryptの利用するルート証明書
Let's Encryptでもルート証明書を発行していますが、現段階では多くのルート証明書ストアに採用されていないため、実際にはIden Trustというルート認証局が運用する「DST Root CA X3」というルート証明書でクロス署名された中間証明書を利用しています。Iden TrustはISRGのスポンサーでもあります。
Let's Encryptのルート証明書「ISRG Root X1」は、モダンなブラウザやOSでは既に利用可能となっており、今後は(Iden Trustから)独自のルート証明書へ移行していくことが発表されています。しかし、古いOSやスマートフォンなどには、このルート証明書が搭載されていないため、現在は「DST Root CA X3」が利用されています。
- ※「DST Root X3」は古いOSや端末にも搭載されています。
なお、クロス署名された「DST Root X3」もフィーチャーフォンやニンテンドー3DSなどには搭載されていないため、これらの端末ではLet's EncryptのSSL証明書を利用しているサイトは閲覧できません。
無料SSL証明書はLet's Encryptだけなのか?
無料SSL証明書=Let’s Encryptと思われがちですが、決してそうではありません。例えば、レンタルサーバーでcPanelを利用している場合は、cPanel独自のSSL証明書を利用した無料SSL機能が提供されています。このSSL証明書は中間証明書がcPanel Inc.であり、ルート証明書はSectigo(旧コモド)となっています。このように有料証明書を発行している認証局でも、中間の会社(レンタルサーバー会社やコントロールパネルの提供会社)がコストを負担することで、エンドユーザーには無償で提供されていることがあります。
海外のホスティング会社では、レンタルサーバーを契約したりドメインを購入したりするとSSL証明書が1枚無料になることがあります。このような場合、自社でホスティングも認証局も運営していて、ルート証明書にSectigoを利用しているケースなどがあります。日本国内ではセコムトラストシステムズのルート証明書を利用して、SSL証明書を無料で提供しているケースもあります。無料SSL証明書=Let’s Encryptとは限らないことを覚えておきましょう。
Let’s Encryptへの寄付
正式な運用が始まって3年が経過したLet's Encryptですが、現在では億単位で大量のSSL証明書が発行されており、今後もWebサイトのSSL化において非常に重要な役割を担っていくと考えられます。しかし、非営利団体のため、運用の継続を不安視する方もいるのではないでしょうか。Let's Encryptへの寄付は個人でも行えますし、企業の方は直接連絡することで当社のように年間スポンサーになることもできます。
Donate – Let’s Encrypt - Free SSL/TLS Certificates
大規模システムでLet’s Encryptを利用している方は、自社のビジネス継続のためにも寄付を検討してみてはいかがでしょうか。個人の方でもPaypalで気軽に送金できるようになっているので、ぜひ検討してみてください。