monoの開発ブログ

HTTPSへの片道切符

Googleがシグナルとして採用したとか、SPDYやHTTP/2のためとか、意識の高まりとかで、従来HTTPSが必要とされていなかったようなWebサイトにおいてもHTTPSを導入する機運が高まっています。そんなHTTPSを求める動きからか、CloudFlareのUniversal SSLは無料でWebサイトをHTTPSおよびSPDY対応にできると謳っていますし (試してみたところ、CloudFlareの持つ証明書のSubject Alternative Nameにサービス利用者のドメインを追加するようです)、今年始まる予定のLet's Encryptでは証明書を無料で発行できると言われています。

こういったサービスによって、WebサイトをHTTPS対応にするコストは劇的に下がるものと思われます。WebサイトのpermalinkをHTTPからHTTPSに寄せてしまうのも、リダイレクトするなりHSTSを活用するなりすることで、(中間者攻撃のリスクが残るのは置いておて) 簡単に実現できます。

しかし、逆のHTTPSからHTTPへpermalinkを維持したまま移行するのは容易ではありません。そんなことがあり得るのかというと何とも言えませんが、無料のサービスに頼ってHTTPSを実現していた場合、サービスのゆくえによってそのようなことも考えられると思います (証明書にお金を掛けている銀行などでHTTPに移行することはないと思いますが)。 HTTPSでリクエストしてきたクライアントに対してHTTPへリダイレクトするためには、HTTPSでレスポンスを返せる必要あります。それをするためには証明書が必要で、証明書があるのであればそもそもHTTPに誘導する必要はありません。

ドメインを変更する場合と同様に、ある程度の移行期間を設けることで問題を緩和できると考えられますが、無料の証明書が今後どうなるか見えないので、個人的にはもう少し様子を見たいと思います。