「暗号技術入門 秘密の国のアリス」 (12) 第14章 SSL/TLS

暗号技術入門 第3版

暗号技術入門 第3版

「暗号技術入門 秘密の国のアリス」 (12) 第14章 SSL/TLS

SSL/TLSはインターネット上などでもっとも広く使われている暗号通信の方式。TLSがSSLの後継規格である。

SSL/TLSとは何か

SSL/TLSは暗号通信を行うプロトコルで、その上にHTTPなどの通信プロトコルをのせることができる。

SSL/TLSは通信に

  • 機密性: 第三者に通信を盗聴されない
  • 正真性: 第三者に通信を改ざんされない
  • 認証: 通信相手が本物の自分が通信したい相手なのか保証される

という3つの性質をもたせる。

それぞれに対応する道具は

  • メッセージを対称暗号で暗号化(鍵の配送には公開鍵もしくはDiffie-Hellman鍵交換)
  • 一方向ハッシュ関数によるメッセージ認証コード
  • 公開鍵へのデジタル署名

なお、現在はSSLではなくTLS1.2以降を使うことが推奨されている。

SSL/TLSを使った通信

TLSは階層化されたプロトコルである。

下位にメッセージの暗号化を担うTLSレコードプロトコルがあり、上位に暗号化機能以外をになうTLSハンドシェイクプロトコルがある。上位のTLSハンドシェイクプロトコルはさらに4つのサブプロトコルにわかれる。

TLSハンドシェイクプロトコルのうち、ハンドシェイクプロトコルは暗号化のアルゴリズムと共有鍵の認識合わせ・証明書による認証を行う。暗号使用変更プロトコルは暗号方法を切り替える合図をつたえる。警告プロトコルはエラーが発生した場合にそれを相手に伝える。アプリケーションデータプロトコルはTLSの上にのっているプロトコルを相手に教える。

https://www.ibm.com/support/knowledgecenter/ja/SSFKSJ_7.1.0/com.ibm.mq.doc/sy10660a.gif

SSL/TLSに対する攻撃

SSL/TLSはいくつもの暗号技術の組み合わせでできているので、個別の技術に対する攻撃はそのままSSL/TLSへのk攻撃となりうる。また、SSL/TLSの実装に脆弱性が見つかることもある。(POODLEなど)

そしてなにより、SSL/TLSによって保たれるのは通信経路の安全だけであり、通信の相手が信頼できる相手なのかどうかに関しては無関係であることに注意。