【コラム】 まだ有料SSL認証書を使用中のあなたに今、必要なのは?

このコラムは、ペンタセキュリティからIT情報サイトであるキーマンズネットで連載しているコラムです。
主に情報セキュリティ・データ暗号化・Webセキュリティに関するものを解説いたします。

キーマンズネットに寄稿しているペンタセキュリティの他のコラムは、こちらより閲覧できます。

ウェブを利用したサービスが多様になり、情報のやり取りが簡単になっただけに、ハッキング攻撃にさらされる危険性も高まっており、暗号化通信は不可欠な要素になった。暗号化通信は、HTTPSプロトコルを使用することにより、実現できるが、HTTPSプロトコルを使用するためには、認証機関(CA:Certificate Authority)からSSL認証書の発行をしなければならない。しかし、費用に対する負担と複雑な認証プロセスなどによって、発行率は低いのが現実である。
日本のWebソリューション会社であるAtlas21が2016年5月に東京証券取引所市場第1部に上場した主要企業を対象に実施した調査によると、Webサイトの全ページに暗号化通信を適用するHTTPS完全対応率は1%で、世界の主要企業が約17%であることに比べ、かなり低い数値を記録した。
つまり、ほとんどのWebサイトがSSL/TLSが適用されず、セキュリティの最も基本である暗号化通信も保障できていない状況ということだ。

[ 世界及び日本の主要企業WebサイトのSSL対応現況 ]
(参考:世界主要企業サイトの約4割が常時SSLに対応–あとらす二十一調査(ZDNet Japan)

 

Let’s Encryptの登場

SSL認証書の発行には認証機関によって少しずつ差があるが、年間約$80~$400の費用を支払わなければならない。EV、Wildcardなどのオプションを追加することになれば、費用はさらに上がる。コスト的な負担以外にも、複雑なドメイン認証作業がSSL認証書の発行率が低い理由の一つである。該当ドメインに対して、認証機関から認証を受けるためにはメール認証、DNSレコードの追加などの作業が必要になる。また、認証作業が終わった後、SSL認証書を発行してもらったら、直接ウェブサーバにアップロードしなければならず、認証書を更新するたびに同じ作業が必要だ。
それで、SSL使用の参入障壁になるこのような問題を解決し、誰もが安全な暗号化通信を使えるような環境を作るために、Mozilla、Cisco、Akamai、Electronic Frontier Foundation(EFF)、IdenTrust、などの様々なグローバルの主要IT企業がISRG(Internet Security Research Group)という認証機関を作り、Let’s Encryptというプロジェクトを開始するようになった。

Let’s Encryptの特徴

Let’s Encryptの登場により、SSL認証書を無料、手軽に、自動的に発行することができるようになったが、この内容について少し詳しく調べてみよう。

  • 1.無料発行
    SSL認証書発行の際、費用が発生しない。ルートドメイン当たりに発行数に制限はあるが、最大2000個/1週なので、無制限と見ても過言ではない。
  • 2.簡単なドメイン認証
    Cert botというソフトウェアをウェブサーバに設置すれば、認証作業が自動的に行われる。メール認証、DNSレコードの追加などの作業が必要ない。
  • 3.自動認証書発行/更新
    ドメインが認証されると、Let’s Encryptから自動的に認証書が発行され、ウェブサーバに保存され、90日単位で自動更新される。認証書の発行、更新のための作業が必要ない。

無料SSL認証書のセキュリティ

無料で使うことができるし、認証作業も簡単で、更新も自動的に行われるから便利だが、何より重要なのはセキュリティが保障されるかどうかであろう。

Let’s Encryptは安全なのか。
結論から言えば、安全だ。

Let’s EncryptはGlobal Sign、GeoTrustなどのルート認証機関で発行する商用SSL認証書と同じレベルのセキュリティを確保する。
SSL認証書は、各OSやウェブブラウザから信頼されたルート認証機関だけが発行できる。信頼できるルート認証機関と言えば、Internet Explorerの場合は、[設定→インターネットオプション→内容→認証書]から確認することができる。

[Internet Explorerの信頼できるルート認証機関]

Let’s Encryptの場合は、どうやって発行されるのだろうか。

Let’s Encryptは、ウェブブラウザから信頼されたルート認証機関であるIdenTrust(DST Root CA X3)が相互認証(Cross-Sign)する形でSSL認証書を発行する。

下の例から見られるようにLet’s EncryptのSSL認証書も商用SSL認証書のように信頼されたルート認証機関から同一の段階を経て発行される。

[上:商用SSL認証書の例 /下:Let’s Encrypt SSL認証書の例]
[商用SSL認証書とLet’s Encrypt SSL認証書のルート認証機関]

したがって、Let’s Encryptの無料SSL認証書は、商用SSL認証書と同様なレベルのセキュリティを確保すると言えるだろう。

Let’s Encryptの使い方

従来の商用SSL認証書の場合、メール認証、DNSレコードの追加などの方法を通じてドメインを認証するが、Let’s Encryptは、cert botというソフトウェアを通じて自でドメインを認証するため、使用のためには、当該ソフトウェアをインストールする必要がない。設置方法は、設置環境のOSによって違うが、一般的には、以下の手順による。

  • 1. git packageの設置

Let’s Encryptは、基本的にgitを通じてソフトウェアを配布するため、ソフトウェアをダウンロードするためには、まずgit packageを設置する必要がある。gitは、様々な人々がプログラミングをする時、ソースコードなどの変更履歴を記録、追跡するバージョン管理ツールで、gitのホームページからWindows、Macなどの設置環境のOSによってダウンロードする。Linux系のOSの場合には、gitホームページの案内に従って、コマンド入力をし、設置することができる。

  • 2. ソフトウェア(Cert bot)の設置および

Electronic Frontier Foundation(EFF)のCer tbotのホームページ(https://certbot.eff.org)で使用中のWebserverおよびOSを指定した後、表示されるマニュアルに従ってCert botを設置、実行する。設置および実行方法は、Let’s Encrypt総合ポータルサイトの「Let’s Encryptの使い方」で確認できる。

[cert botホームページの使用中のWebserverおよびOS指定画面]
[Debian 8を使用するApacheウェブサーバのマニュアルの例]
  • 3. ドメインの入力

Cert botの実行後、表示されるウィンドウでYESを押すと、Server Nameを設定する画面が表示される。当該画面にHTTPSを適用するドメインを入力する。

[Cert botの実行後、表示画面]
[HTTPSを適用させるドメインの入力画面]
  • 4. SSL認証書の発行確認

入力したドメインに対する認証が完了されたら、自動的にLet’s Encrypt CAと通信し、SSL認証書が発行される。発行された認証書は、etc/letsencryptディレクトリに自動保存され、下記のようなメッセージが表示される。「example.jp」には、HTTPSを適用したドメイン名が、「YYYY-MM-DD」には、SSL認証書の有効期間が表示される。

[SSL認証書発行の完了画面]

上記の全てのプロセスをユーザーが直接しなければならないが、誰でも簡単にできることではない。ウェブサーバーの種類及び設置環境のOSによって、事前作業や追加設定作業が要求されるなど、Let’s Encryptを導入するためには、ITに対する知識やある程度の技術力が要求されることが実情である。

Let’s Encryptを簡単に適用する方法

しかし、ITに対する知識がなかったり、生活が忙しい現代人がいるため、さらに簡単にLet’s Encryptを導入させるサービスが登場した。Free Website Security Serviceのクラウドブリック(Cloudbric)に加入すれば、git packageを設置する必要も、cert botソフトウェアをダウンロードする必要も、コマンドを入力する必要もない。ユーザーは、Cloudbric加入後、HTTPSを適用するウェブサイトだけ登録すれば終わり。 (さらに簡単にこの3つのステップを確認したいなら、クリックしてください。)

無料で追加的なWebセキュリティサービスも利用することができて、企業のWebサービス担当者、オンラインショッピングモールの運営者や個人ホームページ運営者にとっては、なかなか良い機会ではないかと思う。

 

まだお金を払って、SSL認証書を使っているなら、今からは、クラウドブリックで無料でSSL認証書を使うのはどうだろう。