無料SSL/TLSサーバー証明書「Let’s Encrypt」とはどんなサービスなのか?

公開日: 2018/02/22
カテゴリー: サーバ・ネットワーク
  • このエントリーをはてなブックマークに追加

Chrome 68から全HTTPサイトで警告表示がされWebサイトでのSSL導入は必須にで述べたように、Webサイトの常時SSL化が必須となってきましたが、コスト面はインフラ面、導入や更新作業の面でなかなか導入に踏み切れない方もおられると思います。

これに対して、無料のSSL/TLSサーバー証明書 Let’s Encrypt を使うという選択肢があります。

Let's Encrypt

Let’s Encrypt

公式サイト:Let’s Encrypt(英語)

Let’s Encryptとは?

今まで、WebサイトをSSL化するためには、証明書を購入する必要があり、購入コストで年間数千円~数十万円がかかるのは普通でした。

ところが、2014年11月にElectronic Frontier Foundation(EFF)の他、MozillaやCisco Systems、ミシガン大学などが協同で「Let’s Encrypt」と呼ばれる無料SSLプロジェクトを立ち上げ、非営利団体のISRG(Internet Security Research Group)を設立して、無料で使えるSSL/TLSサーバー証明書 Let’s Encrypt の配布をはじめました。

こちらのLet’s Encrypt:Current Sponsors and Donorsを見ると、MozilaやAkamai、Cisco、Chrome、facebookといった大手企業が支援しており、他にもWordPressの開発を行なっているAutomatticや、日本からはさくらインターネットがSilverスポンサーに入ってます。

Let’s Encryptと有償SSLとの違い

SSLを無料で利用できるのは大変便利で、お金を払って使えるSSLと比較して、暗号化強度の違いもありません。

しかし、有償SSLと全く同じではなく、以下の3つの違いがあります。

ドメイン認証のSSL/TLS証明書のみ対応

SSLなどで使われる証明書の種類としてはドメイン認証、企業認証、EV認証の3つがあります。

ドメイン認証は、ドメイン名の所有権のみを確認し、企業認証は、ドメインの所有権と申請した組織の実在性を確認し、EV認証では、登記簿謄本や第三者機関のデータベース等により法的・物理的に組織の実在性を確認します。

つまり、ドメイン認証から企業認証、EV認証に行くに従って、運営主体が本当に存在するのかを証明するために、提出書類が厳格化を行なっている、という事です。

ちなみに、3つの証明書では暗号強度などの技術的な面において違いはないので、信頼性担保の手続きだけが違いとなっています。

Let’s Encrypt は、この中で一番簡易なドメイン認証のみの対応となります。

そのため、Let’s Encryptでは、このドメインの所有者である事の証明は出来ますが、運営主体が本当に実在しているかの証明は出来ません。

有効期限が90日間

Let’s Encryptは、有効期限が90日と有償のSSLが通常1年以上となっているものが多いのと比較すると、かなり短くなっています。

これについて、Why ninety-day lifetimes for certificates?に理由が書かれています。

  • They limit damage from key compromise and mis-issuance. Stolen keys and mis-issued certificates are valid for a shorter period of time.
  • They encourage automation, which is absolutely essential for ease-of-use. If we’re going to move the entire Web to HTTPS, we can’t continue to expect system administrators to manually handle renewals. Once issuance and renewal are automated, shorter lifetimes won’t be any less convenient than longer ones.

For these reasons, we do not offer certificates with lifetimes longer than ninety days.

つまり、誤発行や盗まれた秘密鍵によって発行された証明書であっても、短い期間しか利用できない事で被害を限定的にできる、という事であり、発行と更新を自動化する事で、有効期間が短くてもデメリットはない、という事です。

また、更新は60日が推奨されています。

We recommend that subscribers renew every sixty days.

2月27日まではワイルドカード証明書に対応していない

現時点では、サブドメイン毎に別々の証明書を取得することは可能ですが、まだワイルドカード証明書に対応していないため、複数のサブドメインに同じ証明書を使用ができませんでした。

しかし、Wildcard Certificates Coming January 2018で発表されたように、2018年1月4日
からACME v2プロトコルおよびワイルドカードサポート用の公開テストAPIエンドポイントが導入されました。

We introduced a public test API endpoint for the ACME v2 protocol and wildcard support on January 4, 2018.

また、Staging endpoint for ACME v2で発表されたように、2月27日からCertBotがサポートされるようになりますので、ACME v2 APIエンドポイント経由でワイルドカードの利用ができるようになります。

Certbot is not yet ACME v2 compatible. We expect Certbot to support ACME v2 by February 27.

Let’s Encryptが利用できるサーバ出て来ている

Let’s Encrypt は無料で利用できるとはいえ、実際に自分で設定をするためには、詳細な設定ができるサーバと設定するための知識が必要となります。

しかし、さくらインターネット株式会社のさくらのレンタルサーバエックスサーバー、GMOペパボ株式会社のロリポップ!といった会社のサービスを使えば、管理画面から設定するだけで Let’s Encrypt の利用ができます。

SSL/TLS サーバー証明書の導入を検討する際には、 Let’s Encrypt も検討してみてはいかがでしょうか?

タグ: , , , , , , ,