コラム

HTTP, HTTPS, SSLについて

HTTPはHypertext Transer Protocolの略で最も広く使用されていたプロトコルです。

最近ではHTTPSが主流になっています。というより、HTTPを使うのが非推奨です。

HTTPの用途・特徴

HTTPはインターネット上のWebページを表示するために使用されます。

ブラウザからgoogle.comなどのwebアドレスを入力すると、webアドレスの先頭にHTTPSが自動的に付与されていることに気づきます。
※HTTPSはHTTPをよりセキュアにしたもの

HTTPを使用して、このwebページを取得していることを示しています。HTTPの場合は平文でやりとりされるので注意が必要です。

つまり、クライアントとwebサーバー間で交換される全ての情報は、パブリックインターネットを介して転送されてます。

そのため、簡単に傍受できてしまうため脆弱性が問題視されます。

通常のwebサイトを閲覧しているだけで、パスワードやクレジットカード情報などの機密データが使用されていない場合、クライアント側ではそこまで深刻になることはないかもしれません。

それでも情報は抜き取られているわけですが・・・

名前・住所・電話番号などの個人情報を入力する場合、そのデータはクライアントから送信されパブリックインターネットを経由してwebサーバーにアクセスする必要があります。

第三者はデータの転送中に傍受して情報を盗む可能性があるためデータが脆弱になります。

これらの理由により、HTTPSが開発されました。

HTTPSの特徴

HTTPSはSecure Hypertext Transer Protocolの略で、セキュリティ機能を備えたHTTPです。

HTTPSはHTTPによって取得されるデータを暗号化アルゴリズムを用いて暗号化します。

これにより、インターネットを介してコンピュータとサーバー間で転送される全てのデータの安全性が確保され、 データの読み取りが不可能になります。

入力した内容を含む全てのデータが平文で送信されなくなり、第三者が傍受しても暗号化されているため無意味なデータを大量に取得することになります。

安全なHTTPは2つのプロトコルのいずれかを使用してデータを保護するようになりました。

SSL

1つ目は、SSL(Secure Sockets Layer)です。インターネットのセキュリティを確保するために使用されるプロトコルです。

公開鍵暗号化を使用してデータを保護します。これがSSLの仕組みです。

  • コンピュータがSSLを使用しているWebサイトに接続すると、ブラウザはWebサイトに自身を識別するように要求します。
  • 次にWebサーバーはコンピュータにSSL証明書のコピーを送信します。
  • 確認がとれると、コンピューターからWebサーバーにメッセージを送信します。Webサーバーが応答した後、SSLセッションを続行できます。
  • これらの手順が完了すると、暗号化されたデータをコンピュータとWebサーバー間で交換できるようになります。

※SSL証明書はWebサイトの身元を証明するために使用される小型のデジタル証明書です。
基本的には、アクセスしているWebサイトが信頼できることをコンピューターに通知するために使用されます。

TLS

2つ目は、TLS(Transport Layer Security)です。これは新しい暗号化プロトコルです。

言ってしまえば、SSLの後継にあたります。ただ、仕様はSSLと同じものを用いています。

特徴としては、機密データが交換されるかどうかに関係なくデフォルトで安全なHTTPを使用していることを指摘します。

まとめ

普通にインターネットを使用している分には気づきませんが、裏側ではこのようなやり取りが発生しています。

googleはHTTPSを用いていないサイトは非推奨としているので、HTTPSはデフォルトで使用するものとなっています。

SSL証明書を試してみるには、ドメインなどが必要になってきます。制約はありますが全て無料で試すこともできるので気になった方は調べてみてください。