当記事はSSL/TLSの技術の概要についてご紹介します。
SSL/TLSとは、インターネットなどのコンピュータネットワークにおいてデータを暗号化して送受信する技術です。私たちが普段利用しているショッピングサイトなどもこの技術を使うことで安全に利用できるようになっています。
SSL/TLSの技術を使用しているWEBサイトの特徴としては、URLが「https://~」で始まり、サイトのアドレスバーの部分に南京錠のマークがついています。
HTTPSとは、HTTP over SSL/TLSの略です。
私たちがWEBサイトを閲覧する際には、HTTPという技術を使用しています。私たちが使うクライアントコンピュータからWEBサーバというコンピュータへWEBサイトのページ情報を要求することで、サーバから情報を取得してサイトを閲覧できるようになっています。しかし、HTTPでは通信内容を暗号化してやり取りしないため、サイトで登録した個人情報などが盗聴されてしまい危険です。そこで、HTTPにSSL/TLSの技術を使用することで安全にインターネットサービスを利用できるようにしています。
SSL(Secure Sockets Layer)とTLS(Transport Layer Security)は、どちらも暗号化通信の技術ですが、開発された経緯が違います。
初めに開発されたのがSSLでしたが、その後バージョンアップの過程でSSLを元に作られたTLSに置き換わりました。しかし、SSLが広く普及していたことからTLSを使用していても名称をSSL/TLSのように表記しています。
現在、SSLはセキュリティ上の問題から使用を禁止されています。
次に、SSL/TLSの提供する機能を紹介します。
SSL/TLSでは、通信内容の暗号化だけでなく、接続するサーバの認証やデータの改ざん検出といった機能があります。
通信内容の暗号化
データを暗号化して送信することで、安全にコンピュータ間の通信が可能になります。
例えば、ショッピングサイトなどで買い物をする際には、個人情報やクレジットカードなどの支払い情報をコンピュータ間でやり取りします。このような内容の通信が暗号化されないまま盗聴・傍受されてしまうと、悪用されてしまう危険性があります。
SSL/TLSでは、このような情報を第三者が解読困難な情報に暗号化することで盗聴対策に役立てられます。
サーバの認証
私たちがWEBサイトへアクセスする際、そのサイトが正当なサイトかどうかを見た目だけで判断するのは困難です。実際に、正当なWEBサイトに見た目やアドレス情報を似せた偽のサイトに誘導し、個人情報を引き出すフィッシング詐欺などの行為も増加しています。
このような行為への対策として、サイト情報を提供するサーバ側では自身の正当性を示す証明書を用意しておく必要があります。これをSSLサーバ証明書と言います。
この証明書は、認証局(証明書を発行するサーバ)から承認を得ることで取得することができます。自社組織内のみで使用されるサーバの証明書であれば、自社組織で用意した認証サーバで発行することもできますが、銀行など公共のサービスを提供するようなサイトでは、信頼できる第三者機関に申請して証明書を発行してもらいます。外部機関の厳しい監査を受けることで、自社のサーバの正当性を証明してもらうことができるのです。
承認を受けた証明書の情報はWEBブラウザからでも確認ができます。
また、これは私たちが役所で印鑑登録をする処理に似ています。私たちは自身の身元を証明するために印鑑を国や役所に登録し証明してもらいますが、コンピュータでは身元の証明をしてもらうのがサーバであり、正当性を証明するのが認証局(サーバ)になるのです。
通信内容の改ざん検知
通信内容の改ざんとは、データの送信者と受信者との間で第三者が内容を書き換えてしまうことです。例えば、WEBページの情報が改ざんされることで、そのページを閲覧する側に被害が及ぶだけでなく、サイトを運営する企業などが加害者にもなってしまいます。
SSL通信では、送信側のデータと受信側のデータが同一であり、改ざんされていないことを確認するため、送信側は送信データとともにハッシュ値とよばれるテキストデータを送ります。
ハッシュ値とは、ハッシュ関数を用いてファイルを一方向に暗号化した、一定の長さの文字列です。ハッシュ関数は一方向への暗号化であり、ハッシュ値から元のデータを復元することはできません。
ハッシュ値の計算は、同じ内容のデータに対して行ったときに同じ値が出力されるという特徴があります。つまり、オリジナルのファイルと中身が同一であれば、ハッシュ値も同じになります。
このようなデータを送ることで、例え改ざんされてもそれを検出し対処することができます。
SSL/TLS通信は、安全なWEB通信をする上で必要不可欠となっています。WEBサイトなどを閲覧する際には、是非SSL/TLSが使用されているか意識してみてください。