【Web初心者】HTTPSの仕組みと安全性
本記事では、現在ブラウザなどでWebページにアクセスする際に最も多く使用されている仕組みであるHTTPSの仕組みについて解説していきます。
HTTPSとは
現代では、インターネットの普及とともにWebサイトを通じてAmazonや楽天などのショッピングサイトや旅行の予約、新幹線や飛行機の予約などが全てインターネットでできるようになりました。
しかし、このようにインターネットで料金決済や個人情報をやりとりする場合には、注文番号の改ざんやクレジットカード情報の盗聴、個人情報が盗まれたりするリスクに晒される可能性がございます。
HTTP通信などでのインターネット上の通信内容を暗号化することによって、このようなリスクから大切なデータや個人情報を守る仕組みがHTTPSです。
HTTPSとは、HTTP over SSL/TLSの略であり、SSL(Secure Sockets Layer)やTLS(Transport Layer Security)などの暗号化方式を利用したHTTP通信です。
安全性確保のための3つの仕組み
HTTPSで利用される暗号化方式であるSSL/TLSは、主に3つの仕組みによりインターネットを利用したWebサイト上ので安全性を確保してくれます。
ここからは、その大きな3つの特徴について書いていきます。
改ざん防止
楽天銀行などのネット銀行を利用する際に、振込先情報が書き換えられてしまうなどのデータ改ざんを防ぐ方法としてメッセージダイジェストが利用されることが多くあります。
メッセージダイジェストは、入力されたデータから一意のハッシュ値と呼ばれるデータを生成する、ハッシュ関数とも呼ばれる仕組みのことです。
ハッシュ関数とは、入力されたデータから適当に見える文字列を生成する仕組みです。
生成されたハッシュ値は完全に一意な上、同じデータ入力があった際には全く同じハッシュ値を返却しますが、改ざんなどにより、少しでも異なる入力データを受け取った場合には全く異なるハッシュ値を生成します。
また、このハッシュ値から元の入力データを復元することも到底不可能となっています。

このように、メッセージダイジェストを利用することにより、データの送受信時にハッシュ値の比較を行なってデータの改ざんを検出することができます。
盗聴防止
Webサイトを閲覧する際には、いくつものサーバーを経由することによって目的のWebサイトに到達します。サーバを経由する過程で、第三者は比較的容易に通信内容を傍受することが可能になります。
HTTPSで通信を行うことによって通信データを暗号化して送信することが可能となり、万が一内容を防守ざれてしまっても第三者からの盗聴を防ぐことができます。

暗号化の方法としては、受け取り手がのWebサーバが鍵を発行してクライアントに渡し、クライアント側がその鍵によってデータの暗号化を行なってデータを送信し、Webサーバは受け取ったデータを元々持っていた鍵で復号するという方法などが用いられます。
この場合には、途中でデータを盗んでも盗んだ人は暗号を復号する鍵を持っていないため、盗んだデータの内容が全くわからないという仕組みになっています。
なりすまし防止
なりすまし防止とは、簡単に言うとアクセス先のWebサイトが本当に自分の到達したいサイトであり、Webサイトの運営元が偽物ではなく信頼のおける運営元であるかの確認を行うことです。
Webサイト接続時に、Webサーバに設置されているSSLサーバー証明書という電子証明書を検証することで、利用者は運営元の身元を確認することができます。
SSLサーバー証明書は誰にでも発行することが可能ですが、信頼された認証局以外から発行されたSSLサーバー証明書が利用されている場合には、ブラウザ上やの画面上やリンクの部分などに「保護されていない通信」などの警告が表示されます。
まとめ
現在では、ほとんどのWebサイトとの通信でHTTPSが利用されており、我々の個人情報は守られていますが、Webサイト上でIDやパスワード、口座情報、クレジットカード番号などの情報を扱う際には念のためHTTPSが利用されているか確認することが好ましいでしょう。
大抵は、このページのようにURL表示部分の先頭に鍵のマークがついていたり、URLの先頭が「HTTPS;//」から始まっていることで確認することができます。
他にもWebに関する知識やプログラミングに関する記事も書いていっているので見ていってください!
-
前の記事
【Web初心者】HTTPのステータスコード 2023.01.16
-
次の記事
【Web初心者】ステートレスとステートフルの違い 2023.01.25