Web教材一覧情報倫理・セキュリティ

SSL/TLS

キーワード

SSL、TLS、HTTPS、常時SSL、EV SSL、SET、フォールバック、SSLアクセラレータ、SFTP、S/MIME


SSL/TLS

SSL(Secure Socket Layer)は、ネットスケープ社が開発した暗号通信プロトコルです。TLS(Transport Layer Security)はSSLの後継規格で、IETF(インターネット技術特別調査委員会)が策定しました。現在はTLS1.3が最新規格です。
 しかし、SSLの用語が定着しているので、現在、実際にはTLSでもSSL/TLSとかSSLといっています。本章でもSSLといいます。

SSLは、暗号化通信の「仕組み」に関するプロトコルです。デジタル署名、デジタル証明書、TCPでのSSL接続などを定めたものです。同様なものにPKI(Public Key Infrastructure、公開鍵暗号基盤)がありますが、PKIはインフラに関する総合的な概念であり、SSLはPKIの一部を実装するためのプロトコルの一つだといえます。PKIの示す制度など(認証局の認証)などには直接の関係はありません。

SSLそのものが暗号化通信を実装するのではありません。HTMLやSMTPなどのプロトコルがSSL対応したセキュリティ機能を加えて、HTTPSやSMTPSなどになり暗号化通信を実現しています。また、固有の暗号化プロトコルを持つのではなく、AES、RSA、EIGamalなどがSSL対応した仕様をSSLが採用するようにしています。多くのブラウザやメールソフト、サーバソフトなどがSSL対応機能をもっています。


HTTPS(HTTP Secure、HTTP over SSL/TLS)通信の概要

HTTPに、SSL機能を取り込み、ブラウザとサーバ間で暗号化通信を行うプロトコルです。SSLを用いているWebページは、「http://~」ではなく、「https://~」でアクセスします。

このページを公開するには、サーバ管理者は前もって認証局に申請してデジタル証明書(SSLサーバ証明書)を取得しておく必要があります。このページを開くとURL欄に鍵マークが表示され、それをクリックすると証明書が表示されます。証明書には申請サブジェクト(サイト運営者のURL)、有効期間、公開鍵、暗号アルゴリズム、認証者などが記されており、利用者に、信用できるページで安心して暗号化通信ができると伝えられます。逆に、従来のHTTPでアクセスするWebページには「保護されていない通信」のような表示がされます。

HTTPSでアクセスしたとき、利用者には見えませんが、ブラウザとサーバの間で、いくつかのやり取りがあり、
 ・最初の通信での暗号化アルゴリズムの確認
 ・証明書からサーバの公開鍵を得て(利用者の署名をして)サーバに送る。サーバはWebページ閲覧者だと確認する。
 ・このセッションで用いる一時的な共通鍵(セッション鍵)が生成される などが行われます。
 その後の通信は、公開鍵での暗号化通信になるので復号効率がよくなります。また、セッションが開いている間の一時的な鍵なので、第三者漏洩のリスクが低くなります。

常時SSL

WebページのHTTPS化は、ページ単位、ディレクトリ単位でもできますが、Webサイト全体をHTTPS化する(常時SSL)のが一般になってきました。サーバ側には、HTTPS化は、セキュリティ対策以外にもメリットがあるからです。


SSL関連プロトコル

EV SSL(Extended Validation SSL)

Extended Validationとは「拡張認証」の意味です。
 認証局がSSLサーバ証明書を発行するときは、利用者を審査しますが、その審査内容は認証局に異なり、審査が甘い場合には虚偽の証明書を取得できます。虚偽の証明書によるSSL表示を用いて利用者を安心させ、フィッシングや中間者攻撃(注)を行うケースが増大してきました。
 それに対処するために、審査基準を統一して、SSLより厳格な審査をするのがEV SSLです。
従来のSSLでは、ドメイン名使用権の確認だけでよく、厳しいものでも組織の法的実在の確認程度でしたが、EV SSLでは、申請責任者の権限の認証、政府または第三者機関における組織の実在性の検証などが必要になりました。
 EV SSL対応のブラウザで、EV SSL取得サイトのアクセスすると、アドレスバーが緑色になり、SSLでの鍵マーク横にサイト運営組織名と、認証局名が表示されます。信頼できない証明書の場合、アドレスバーを赤色に表示するブラウザもあります。

(注)中間者攻撃(man-in-the-middle attack)
 暗号通信を行なうAとBの間に、不正者Xが割り込んで、虚偽の電子署名・認証を用いて、Aに対してはBを装い、Bに対してはAを装うことにより、情報を不正入手する手口です。AにBからのWebページをコピーしてXの証明書をつけて安心させ、Aが入力した暗号情報を解読します。そして、改ざんした暗号情報をAになりすましてBへ送信します。すべてAとBの公開鍵で暗号化(署名)しているので、AもBも盗聴され改ざんされたことに気付かないのです。認証局の本人審査が甘いと、このような手口が行われます。EV SSLやTLSでは、その対策を強化しています。

SET(Secure Electronic Transactions)

SSLでは,購買者のクレジット番号を店舗が知ることになり,悪用される危険があります。それに対してSETは,クレジット決済用のプロトコルで、クレジット番号などを暗号化して店舗に送信し,店舗が決済金額を添えてクレジットカード会社に決済承認を行うようにしているので,店舗側にもクレジット番号を知られないようにすることができます。

フォールバック機能

セキュリティ強度が高い暗号化アルゴリズムを使うことが求められますが、サーバやブラウザの仕様が古いと、強度の高い暗号化アルゴリズムでの通信を確立できなくなることがあります。それを避けるために、普及率の高い旧版(強度の低い)のアルゴリズムで自動的に再接続を試みる方法がとられます。これをフォールバックといいます。
 これを悪用されると、ブラウザを常に古く脆弱なアルゴリズムを利用するように設定される危険性があります。2014年には、脆弱性のある旧版のSSLを使っていたブラウザに対してPOODLE(Padding Oracle On Downgraded Legacy Encryption)攻撃が猛威を振るいました。その対策として、フォールバック機能の自動化設定を外したり、脆弱性のある旧アルゴリズムでの通信を行わなくする手段がとられました。

SSLアクセラレータ

SSL/TLSの暗号化や復号は、通常はWebブラウザにその機能がありますが、大規模なサーバでは、処理効率の向上のために、SSLアクセラレータという専用のハードウェアやソフトウェアを設置します。独立したサーバ(アプライアンスサーバ)から拡張カードなど多様な製品があります。

SSLメールのキャッシュ

SSLのメールも相手先のパソコンにキャッシュされています。そこから漏洩しないように、送信者がHTTPヘッダにキャッシュしないように設定することができます。また、受信側のブラウザでキャッシュしないように設定することができます。

SSL-VPN

SSLの暗号技術を用いて、インターネット内に外部と遮断した閉域網(VPN)をSSL-VPNといいます。→参照:SSL-VPN


電子メールでのSSL/TLS

SSL/TLSによる暗号化通信は、電子メールにも利用できます。しかし、SSL/TLSはあくまでも端末とサーバの間での通信を対象にしているのに対して、電子メールでは、
  発信者端末 - 発信者メールサーバ - 受信者メールサーバ - 受信者端末
の全経路を対象にしなければなりません。
 平文での電子メールでは、発信者端末から受信者メールサーバまではSMTP、受信者メールサーバと受信者端末の間はPOP3プロトコルが使われます。それらにSSL/TLS機能を付加したものを、
  SMTPS(SMTP over SSL/TLS)
  POP3S(POP3 over SSL/TLS)
といいます。

発信者メールサーバと受信者メールサーバは、SSL/TLS、SMTPS、POP3Sに対応しています。発信者端末がSMTPSで送信すれば、受信者メールサーバまで暗号化した電文が送られます。
 受信者端末がPOP3Sを持ち、受信者メールサーバに接続されているならば、受信者端末まで暗号化通信が行われます。ところが、受信者端末がPOP3Sを持たない場合は、平文通信になります。
 受信者メールサーバは受信者がPOP3Sでアクセスすることを知っている(設定してある)ならば、受信者メールサーバは暗号化されたままで保持しますが、そうでないときは受信者メールサーバ内で平文に復号します。

すなわち、SSL/TLSでの電子メールは、特別の設定がなければ、受信者メールサーバの内部と受信者端末との間で平文が存在していることになり、S/MIMEよりも安全性が低いことになります。