アプリとサーバはインターネットを使って通信することが多いでしょう。その間の通信はセキュアに保たなければなりません。公衆無線LANなどを使っていると、傍受されて情報を盗み見られる可能性があります。
通信をセキュアにするために使われるのがSSL/TLSです。今回は安く(できれば無料で)導入できるSSL/TLSサービスを紹介します。
- Let's Encrypt - Free SSL/TLS Certificates
- GitHub Pages
- Cloudflare
- CAcert.org
- Free SSL Certificate for Open Source Projects
- Free SSL Certificates from No 1 Trust Provider
- Amazon CloudFront
- 番外編:.app
- まとめ
Let's Encrypt - Free SSL/TLS Certificates
Let's Encryptは最も有名な無料SSL/TLS証明書配布サイトです。サーバに自分で設置するタイプの証明書で、期間は90日と短いものです。ただし、コマンドが充実しており、証明書の発行から設置までほぼ自動化できます。
コマンドが使えるとあって、Webサービスなどでカスタムドメインをサポートしているケース(下記GitHub Pagesなど)でも利用されています。
Let's Encrypt - Free SSL/TLS Certificates
GitHub Pages
もしWebサイトが静的なもので十分であったり、ブログなどで利用するのであればGitHub Pagesを使うと無料でホスティングが実現できます。カスタムドメインが使えますが、5月からHTTPSが利用できるようになりました(まだすべてのリポジトリが対象ではないようです)。
HTTPSはLet's Encryptを用いています。
Cloudflare
Cloudflareはプロキシ型の無料HTTPSサービスを提供しています。証明書はCloudflare側にある、つまり証明書の更新が不要で使えます。プロキシではありますが、速度はほとんど気になりません。
Cloudflare - The Web Performance & Security Company | Cloudflare
CAcert.org
昔からある証明書発行サイトですが、ルート証明書が対応していないため、Webブラウザ側でインストールする必要があります。一回インストールしてしまえばCAcert.orgで発行された証明書すべてに対応できるようになりますが、一般的とは言いがたいでしょう。
Free SSL Certificate for Open Source Projects
オープンソース・プロジェクト向けに無料のSSL証明書を発行しています。制限はありますが、オープンソース・プロジェクト向けであれば採用しても良さそうです。
Free SSL Certificate for Open Source Projects
Free SSL Certificates from No 1 Trust Provider
90日間使える無料のSSL/TLS証明書を発行します。90日後については特に書かれておらず、無料で更新できるのかは不明です。
Free SSL Certificates from No 1 Trust Provider
Amazon CloudFront
Amazon CloudFrontはCDNですが、無料の独自ドメイン証明書もついています。Amazon S3と組み合わせることで、HTTPS対応サイトを立ち上げられます。ただし、転送量やリクエスト数に応じた課金が発生します。
Amazon CloudFront(高速コンテンツ配信ネットワーク - CDN) | AWS
番外編:.app
Googleが新しく登録した .app ドメインはHTTPS接続が強制されるドメインとなっています。証明書を提供してくれる訳ではありませんが、HTTPS接続が強制されるドメインとあって、アプリ(に限らず)のセキュリティを向上するのに役立っていくことでしょう。
まとめ
現在、完全に無料で使おうと思うとLet's Encryptがベストな選択と言えるでしょう。ただし、これらの証明書は無料で使える簡易的なものであり、存在証明などが伴うものではありません。クライアントとサーバ間の通信をセキュアにする以上の機能は持ちませんので注意してください(フィッシングサイトなどでも使われているケースがあります)。
WebサイトのPWA対応、Googleのクローリング判定の一つに入れられるなどHTTPSは外せない技術になっています。企業であれば有料のものを採用しても良いですが、個人などでHTTPを使うくらいであれば、これらのサービスを利用して通信をセキュアにするのが良いでしょう。