〇SSLとTLSは通信を暗号化する仕組み
SSL(Secure Sockets Layer)とTLS(Transport Layer Security)は、 ウェブサーバーとウェブブラウザ間の通信を暗号化する仕組みです。
インターネット上では、
- アカウントやパスワードのような認証情報
- ECサイトで決済に利用するクレジットカード情報
- 氏名や住所、電話番号のような個人情報
等の機密性の高い情報をやり取りすることも多いですが、情報を盗んだり、改ざんしようと、悪意のある第三者に狙われています。
SSL/TLS暗号化通信の3つの機能は、
- 盗聴
- なりすまし、フィッシング詐欺
- 改ざん
の被害を防ぐのに役立ちます。
〇SSL/TLS暗号化通信の3つの機能
SSL暗号化通信は、ウェブサーバーとウェブブラウザ間の暗号化通信、通信相手の認証、通信内容の改ざん検知の機能の3つの機能を有しています。
・ 通信の暗号化で盗聴対策
通信経路上で通信を傍受・盗聴されてしまうと、情報が暗号化されていない平文のままでは、内容が判読できるので、悪用されてしまう危険性があります。
SSL証明書を利用したSSL/TLS暗号化通信では、通信内容は判読が困難な乱数に変換・暗号化されます。
暗号化された通信内容は、SSL証明書所有者のみが所持する秘密鍵がないと復号化できません。
そのためSSL証明書所有者以外の第三者では、復号化できないので、内容を判読できません。
情報を悪用することもできないので、盗聴対策に役立ちます。
・ 通信相手の認証
一目では判別が難しい程、本物のウェブサイトに似せて作成したフィッシングサイトにより、情報を盗まれる被害が増えています。
本物のサイトとフィッシングサイトの見た目に違いが見当たらない場合、URLが本物のサイトと同じかをチェックすることで、回避できることもありますが、URLまで良く似せたフィッシングサイトもあり、確認は容易ではありません。
SSL/TLSの暗号化通信の場合は、ウェブサーバーにインストールされているSSL証明書をウェブサイトの真正性の確認に、利用することができます。
ウェブブラウザに信頼されている認証局から発行されたSSL証明書が導入されているウェブサイトへ「https」でアクセスした場合、アドレスバーに鍵マークが表示されます。
この鍵マークをクリックして操作を進めることで、SSL証明書の所有者情報が記載されているサブジェクトを確認することができます。
サブジェクトには、SSL証明書を発行した認証局の確認・審査済みの情報が記載されているので、ウェブサイトが本物であるか否かの確認に役立てることができます。
企業認証タイプ(OV)やEV認証タイプ(EV)のSSL証明書では、組織の実在性が認証局の審査・確認内容に含まれるので、サブジェクトでSSL証明書の所有者の組織名と所在地の確認ができます。
とくにEV認証タイプ(EV)のSSL証明書では、対応したブラウザであれば、アドレスバーに組織名が表示されたり、組織名の文字やアドレスバーが緑色に表示変化するので、一目でEV認証タイプ(EV)のSSL証明書が導入されていることがわかります。
一方ドメイン認証(DV)は、ドメインの所有権の確認までしか行われないので、サブジェクトを確認しても、SSL証明書の所有者の組織名や所在地を確認することができません。
また、無料のドメイン認証(DV)のSSL証明書は、取得が容易なため、フィッシングサイトでの利用が数多く確認されています。
そのため、無料のドメイン認証(DV)のSSL証明書が導入されていても、フィッシングサイトではないとは言い切れませんので、注意が必要です。
・ 通信内容の改ざん検知
SSL暗号化通信では、送信側のデータと受信側のデータが同一であり、改ざんされていないことを確認するために、送信側は送信データとともに一方向ハッシュ関数をもちいて作成した確認用のハッシュ値とよばれるテキストデータを送ります。
受信側は、受信したデータからハッシュ値を作成し、受信したハッシュ値と作成したハッシュ値を比較して、データが同一か改ざんされていないかといった、真正性を確認します。
一方向ハッシュ関数とは、データ本文を、ハッシュ値、またはフィンガープリント(拇印)と呼ばれるテキストデータに変換するアルゴリズムです。
同一のデータは必ず同じハッシュ値へ変換され、データに差異がある場合は、必ず異なるハッシュ値へ変換されますが、差異が微小であっても、大きく異なるハッシュ値へ変換されるように設計されているので、データ本文の正真性を容易に確実に確認できます。
また、データのサイズに関わらず、同じ長さのテキストデータに変換されるので、データ本文が膨大なサイズのデータであっても、簡単なテキストデータであっても、同じ時間で確認が行えます。
ハッシュ値から変換前のデータを復元するのは計算上不可能とされているので、ハッシュ値からデータ内容を読み解かれる心配もありません。