SSL/TLS暗号化の目的(何を守るのか)
SSL/TLSは、主に次の3点をまとめて満たすための仕組みです。①通信内容を第三者に読まれにくくする(機密性)、②途中で書き換えられにくくし、書き換えを検知する(完全性)、③正しい相手と通信しているかを確かめる(真正性)。
仕組みの全体像:ハンドシェイク→暗号化通信
TLSは「最初に打ち合わせ(ハンドシェイク)を行い、その後に暗号化したデータを送る」という流れです。ハンドシェイクでは、どの暗号方式を使うかを決め、相手の身元確認に関わる情報を用い、最終的に以後の通信で使う“セッション用の鍵”を安全に合意します。その合意が終わると、以降のデータはその鍵で暗号化され、必要に応じて改ざん検知も行われます。
重要な要素:証明書・公開鍵・セッション鍵
TLSでよく出てくる登場人物は、証明書、公開鍵、セッション鍵です。サーバー側は証明書を提示し、その内容と署名により「そのサーバーが主張する身元が正しいか」を手がかりにします。クライアント側は、その証明書が信頼できる手続きに基づくものかを確認し、サーバーの公開鍵の情報を使って鍵の合意に進みます。
セッション鍵は、毎回の接続(セッション)ごとに使うため、通信の期間に限定される考え方になります。どの方式でセッション鍵を作るかは構成や実装に依存しますが、狙いは「盗聴しても鍵そのものを推測しにくくする」ことです。
例外や注意点:必ず万能ではない
TLSは改ざん検知や暗号化を支えますが、過信は禁物です。たとえば、ブラウザが警告する証明書のケースでは、身元確認がうまくいっていない可能性があります。また、TLSが“有効”になっていても、接続先の選び方やアプリ側の扱いによっては、別の形のリスク(悪意あるページへの誘導など)が残ることがあります。
