見出し画像

SSL/TLSが保証する3つの大事な要素!私たちの情報を守る仕組み「SSL/TLS」

はい、こんにちは!松井真也です。

シリーズ「毎日あなたが安全にウェブ利用できるスゴイ仕組み:SSL/TLS」の第2回でございます!

前回は、SSL/TLSの概要を簡単にご紹介しました。主にウェブブラウザとサーバ間の安全な通信に使われているのでした。そういう意味では、非常に身近なセキュリティ技術といえましょう。

さて、今回は、そのSSL/TLSが一体何を保証してくれる仕組みなのか?について解説します。ウェブサイトとユーザー間のデータを暗号化し、安全に情報をやり取りするためのプロトコルですが、具体的に何を守るのでしょうか?SSLとTLSの基本的な役割と機能を3つに分けて解説していきましょう!

1)盗聴防止: 「機密性」の確保

データがインターネットを介して送信される際、「盗聴」は大きな脅威です。ここでいう「盗聴」は、送信されたデータを盗みとり、盗み見ることです。ちなみに英語でも「Eavesdropping」といいます。

SSL/TLSは、送信中のデータを暗号化することで、この問題に対処します。

例えば、オンラインバンキングやショッピングなどで大活躍します。入力された情報は、第三者によって読み取られたら、たまったものではありませんからね。

暗号化されたデータは、鍵を持たない人には解読困難であるため、機密情報が保護されるのです。

2)改ざん防止: 「完全性」の保証

インターネット上で情報が送信される際には、改ざんされるリスクも存在します。

SSL/TLSはハッシュ関数を利用して、データが送信元から送信先に至るまでの間に改竄されていないかをチェックします。

もう少し具体的にプロセスを示します。

SSL/TLSを適用したHTTPS通信では、送信するデータに対してハッシュ関数を用いて「メッセージダイジェスト」(ハッシュ値)と呼ばれる一意の値を生成します。この値は、データと一緒に受信者に送られます。

受信者は受け取ったデータに「同じハッシュ関数」を適用し、送信されたメッセージダイジェストと比較します。もしデータが途中で改ざんされている場合、ハッシュ値が一致しないため、受信者はデータの改ざんを検出できます。

これにより、データの「完全性」(データが書き換わったり損なわれていない性質)が保たれるわけです。

なりすまし防止: 「真正性」の確認

インターネット上では、「誰にデータを送信しているか」を正確に知ることが重要です。でも、どうやって相手が本物かどうか知ることができるのでしょうか?ニセサイトに大事なデータを送信してしまった…という事態は避けたいですね。

キーワードは、「デジタル証明書」です。

SSL/TLSでは、このデジタル証明書を使用して、通信相手の身元を確認します。もう少し詳しく話しましょう。

HTTPS通信を開始する際、サーバはクライアント(通常はウェブブラウザ)に対して自身の「デジタル証明書」を提示します。この証明書にはサーバーの公開鍵、サーバーのドメイン名、証明書の有効期間、証明書を発行した認証局(CA)の署名などが含まれています。

クライアントは受け取った証明書が信頼できる認証局によって発行されたものかどうかを確認します。ブラウザは、あらかじめ信頼された認証局のリストを持っているんですよ。このリストに基づいて証明書の信頼性をチェックします。

認証局が信頼できると判断された場合、クライアントは証明書内の情報を検証します。具体的には、証明書の有効期限が切れていないかとか、証明書のドメイン名が接続先のドメイン名が一致するかなどを確認します。

さらに、クライアントは証明書に含まれる認証局の公開鍵を使って、証明書に付された署名を検証します。この署名が正しいことを確認できれば、証明書が改ざんされていないことが証明されます。

かくして、通信相手であるサーバの真正性が確認できます。いつも思いますが、すごい仕組みだ。

SSL/TLSの限界

以上のように、SSL/TLSの役割を説明してきました。

しかし、どんなセキュリティ技術にも限界は存在します。SSL/TLSも例外ではありません。そこらへんの話は、後日いたしましょう。


はい、本日はここまで!今回は、SSL/TLSが保証する3つの要素についてお話ししました。SSL/TLSの役割について聞かれたら、すぐにこの3つをこたえられるといいですね!

次回はSSL/TLSのバージョンの話をしましょう。では!

この記事が気に入ったらサポートをしてみませんか?