1.1、1.2に対応[185][186]課題[編集]バーチャルホスト[編集]TLSは、TCP/IPネットワークでホスト名ベースのバーチャルホストを構成する際に問題となる。TCP/IPでは通信を開始する前にホスト名を解決し、実際にはIPアドレスとポート番号で接続先を識別している。このためTLSのネゴシエーションの時点では、バーチャルホストのうちどのホスト名を期待しているのか判断できず、ホスト名ごとに異なるサーバー証明書を使い分けることができない。用例としては、HTTPの最新バージョンであるHTTP/2においてTLSを利用する際はSNIの利用が必須とされている。証明書を使い分けず、1つの証明書を複数のバーチャルホストで使い回す方式も広く利用されている。X.509証明書のフォーマットについて記述したRFC5280では、発行先ホスト名を保持するsubjectAltNameはひとつの証明書に複数のエントリを作成できると規定している。これを利用して、ホストに収容されたすべてのバーチャルホストに対応したsubjectAltNameを保持する証明書をクライアントに提示すれば良い。発行先ホスト名にワイルドカードを使う方法も考えられる。2818は、ワイルドカードの適用について記述している。バーチャルホストの対象が、ひとつのドメイン名の中のホストであれば、この方法で対応できる場合もある。どの方法も実装によって対応状況にバラつきがあり、環境によっては使えない可能性がある。IPアドレスベースのバーチャルホストであれば、ネゴシエーションの時点で確実にどのバーチャルホストを期待しているか判断できるので、問題なく証明書を使い分けることができる。TLS/SSLの既知の脆弱性[編集]TLS/SSLに対する攻撃のうち主なものを以下に挙げる。7457がIETFから公開されている。1.2ではすでに危殆化したRC4、MD5、SHA1が選択可能であり、この事が脆弱性の原因となっている。Collision[188]が見つかっており安全ではない。7465が公開された。MozillaおよびマイクロソフトではRC4を無効化することを推奨している[189][190][191][192]。Suiteについては、その脆弱性に対処されており安全であると考えられていた。2011年には、ブロック暗号のCBCモードの取り扱いに関する脆弱性であったBEAST攻撃への対応策の一つとして、ストリーム暗号であるためその影響を受けないRC4に切り替えることが推奨されていた[193]。2013年にTLS/SSLでのRC4への効果的な攻撃が報告され、BEASTへの対応としてRC4を用いることは好ましくないとされた[194]。RC4に対する攻撃は、AlFardan、Bernstein、Paterson、Poettering、Schuldtによって報告された。新たに発見されたRC4の鍵テーブルにおける統計的な偏り[195]を利用し、平文の一部を回復可能であるというものである[196][197]。220の暗号文を用いることで128ビットのRC4が解読可能であることが示され、2013年のUSENIXセキュリティシンポジウムにおいて「実現可能」と評された[198][199]。2013年現在では、NSAのような機関であればTLS/SSLを利用したとしてもRC4を解読可能であるとの疑惑がある[200]。1.0以前においてもCBCモードを用いることがより良い選択肢となっている[201]。Logjam[編集]詳細は「FREAK」を参照かつてアメリカ合衆国からの暗号の輸出規制が厳しかった時期に、規制を回避するために一時的に512ビットのRSA鍵を生成して、そちらで通信を行うというような手法が存在した[202]。Keys)[204]として問題が再浮上している。対策としては、すでに脆弱となっている輸出対応暗号の無効化、クライアント側では規格書通り、輸出暗号以外で一時的RSA鍵を使わないようにする[205]、ということが挙げられる。2015年5月、Logjamと呼ばれる脆弱性が発見された。これも、FREAKと同様に輸出用の512ビットの一時鍵を受け入れてしまうものである[206]。FREAKとは異なり、LogjamはTLSプロトコル自体の脆弱性である。発見時点において、主要なブラウザのすべてがLogjamに対して脆弱である。Suiteの一覧を改竄し、より低い暗号強度やより弱い暗号化アルゴリズム・鍵交換アルゴリズムを使用するよう仕向けること[210]が可能であると報告されている。コンピュータセキュリティカンファレンスで報告された[211]。1.0におけるブロック暗号のCBCモードの取り扱いに関する脆弱性のコンセプトをJavaアプレットの同一生成元ポリシー違反によって実証した[213][214]。Rogawayによって発見されていた[215]が、2011年の発表までは実用的なエクスプロイトは報告されていなかった。1.1への対応はクライアント、サーバの双方でほとんど進んでいなかった。1.0以前で有効な対応策を2011年に施した。Chromeなど他のブラウザでも用いられているライブラリである。1.1以降を既定で利用可能となったのは2014年のバージョン27である。MS12-006を発表し、Windowsで用いられているライブラリであるSChannelに対して修正を加えた[218]。1.1以降が利用可能である。1.0以前におけるBEAST脆弱性への対応のいずれも行われていない。1.0以前におけるBEAST脆弱性への対応は行われていない。1.0以前におけるBEAST脆弱性への対応が行われた。パディング攻撃[編集]TLSの初期のバージョンはパディングオラクル攻撃に対して脆弱であることが2002年に報告された。Thirteen攻撃(英語版)と呼ばれる新たなパディング攻撃が報告されている。Thirteen攻撃に対して対応済みである。(CVE-2014-3566)。平均してわずか256回のリクエストで暗号文の1バイトの解読が可能となる[39][220]。IDはCVE-2014-3566である。3.0での接続にダウングレードする。3.0での接続を行わせることでこの脆弱性を利用可能となる[39][220]。3.0を無効化することである。3.0を無効化できない場合がある。そこで、POODLEの発見者は、TLS_FALLBACK_SCSV[221]の実装を推奨している。3.0へのフォールバックが抑止されるが[39][220]、これはクライアント側だけでなくサーバ側の対応も必要である。3.0のサポートを除去する予定である[220]。3.0そのものを既定で無効化している。splitting"と呼ばれる異なる対策を実装した[222]。35においてTLS_FALLBACK_SCSVをサポートした[223]。3.0を既定で無効化する方針を表明した[225]。3.0へのフォールバックを既定で無効化した[226]。3.0自体を既定で無効化した[227]。suiteを無効化した[228][229]。3.0においてCBCモードを無効化したことで、脆弱性が指摘されているRC4しか利用できなくなるという問題が生じている。3.0を既定で無効化する予定である[232]。OpenSSLは、10月15日リリースのバージョン1.0.1j、1.0.0、0.9.8zcでTLS_FALLBACK_SCSVに対応した[233]。3.0を既定で無効化した[234]。1.0から1.2に対して有効なPOODLE攻撃の変法が報告された。3.0を無効にしていたとしてもPOODLE攻撃が可能となるというものである[235]。1.0以降に対するものは不適切な実装による脆弱性である。Pulseでは、公開前の時点でHTTPS対応のサーバのうちおよそ10%がこの変法に対して脆弱であるとしている[236]。IDはCVE-2014-8730である。3.0に対するPOODLE攻撃よりも実行が容易であるとされる[237]。圧縮サイドチャネル攻撃[編集]TLS1.2では平文を圧縮した後に暗号化を施す。圧縮後の平文のビット長さは圧縮前の平文に依存し、しかも暗号文のビット長は暗号化する文書=圧縮後の平文のビット長に依存するので、暗号文長から平文の情報が攻撃者に漏れてしまう。この事実を利用した攻撃を圧縮サイドチャネル攻撃という。TLS1.2には以下の様な圧縮サイドチャネル攻撃が知られている。英語版)が報告された[238][239]。ウェブサイトでのユーザ認証に使われているCookieの内容を回復されることで、セッションハイジャックが可能となる。ChromeにおいてCRIMEへの対応が実施された。ExplorerはCRIMEの影響を受けない。CRIMEの報告者によって、CRIMEがTLS以外にもデータ圧縮を利用するSPDYやHTTPといったプロトコルにも広く適用可能であることが示されていたにもかかわらず、クライアント、サーバのいずれにおいてもTLSやSPDYに対する修正しか行われず、HTTPに対する修正は行われなかった。英語版)と呼ばれるCRIME攻撃の変法が報告された。BREACH攻撃では、ログイントークン、メールアドレスなどの個人情報をわずか30秒で取得可能であり、不正なリンクを訪れさせたり、正当なウェブページに不正なコンテンツを挿入することも可能であった[240]。Suiteを問わず、すべてのバージョンのTLS/SSLに対してBREACH攻撃は適用可能である[241]。TLSでのデータ圧縮やSPDYでのヘッダ圧縮を無効とすることで容易に回避可能であったCRIMEとは異なり、BREACHを回避するためにはHTTPでのデータ圧縮を無効にする必要があるが、通信速度の向上のためにほぼすべてのサーバがHTTPデータ圧縮を有効としている現状では、これを無効化することは現実的ではない[240]。3.0以降の再ネゴシエーション機能を利用して、クライアントからのリクエストの先頭に中間者が任意のデータを挿入できるという脆弱性が報告された[242][243]。プロトコル自体の脆弱性であり、すべての実装が影響を受ける。この脆弱性への簡単な対策は、サーバにおいて再ネゴシエーションを禁止することである。5746として提案されている。5746に対応しない限りクライアントは再ネゴシエーションが発生したことを検出できないので、クライアント側のみで対応することは不可能である。切り詰め攻撃[編集]TLSでの切り詰め攻撃では、ユーザがウェブサービスからログアウトすることを妨害し、意図せずログインしたままとすることが可能である。FINメッセージ(これ以上データを送信しない)を平文で挿入する。このメッセージを受けたサーバでは、ユーザから送られたログアウト要求を受け取らないため、ユーザの意図とは異なりログイン状態が維持される[244]。2013年の報告[245]では、この攻撃への対応として、GmailやHotmailなどのウェブサービスでは、ログアウトが正常に完了した旨のページを表示するようになった。これにより、ログアウトしたか否かをユーザが確認することが可能となり、攻撃者によってログイン状態のアカウントを悪用される危険性が軽減される。この攻撃では目標のコンピュータにマルウェアなどを導入する必要はないが、攻撃者が目標とサーバの間の回線に割り込むことが可能であること[244]と、目標のコンピュータに物理的にアクセス可能であることが求められる。Heartbleed)は、2014年に発覚したOpenSSLライブラリのバージョン1.0.1から1.0.1fの間で発見された深刻なセキュリティ脆弱性である。この脆弱性を利用することで、TLS/SSLによって保護されているはずの情報を盗むことが可能である。このバグでは、インターネット上の誰もが、脆弱性のあるOpenSSLを利用しているシステムのメモリにアクセスすることが可能となり、サービスプロバイダの認証やデータの暗号化に用いられている秘密鍵、ユーザのアカウントおよびパスワード、実際にやり取りされたデータなどを取得できる。これにより、メッセンジャーサービス、電子メールの盗聴、データの盗難、なりすましなどが可能となる。Movementは、TLS/SSLに対する攻撃に対して脆弱なウェブサイトの統計を発表している。2016年6月における統計は以下の通りである[37]。オーム社、2003年11月28日、第1版第1刷。4-274-06542-1。SSLと、通常のTCPポートにSMTP接続後にSTARTTLSコマンドによってセキュアな接続に切り替えるSTARTTLSという異なる接続方式があり、名称を使い分けることがある。詳しくは#アプリケーション層プロトコルへの適用の項目を参照されたい。2015年1月10日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。ハンドシェイク関連プロトコル」、IPA。レコードプロトコル」、IPA。2018年5月12日閲覧。2018年5月12日閲覧。JAPANのウェブサービスが順次ご利用いただけなくなります。2018年5月23日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2010年1月3日閲覧。2018年5月12日閲覧。2018年5月12日閲覧。2019年11月12日閲覧。2015年9月19日閲覧。2014年7月3日閲覧。2013年11月19日閲覧。2018年9月10日閲覧。2018年9月10日閲覧。2014年10月15日閲覧。2014年7月29日閲覧。2015年6月15日閲覧。2015年6月13日閲覧。2015年3月8日閲覧。2015年3月8日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2015年9月5日閲覧。2015年2月1日閲覧。2014年7月2日閲覧。2014年10月18日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2013年9月19日閲覧。2013年10月3日閲覧。2014年10月29日閲覧。2014年11月4日閲覧。2014年11月14日閲覧。2014年11月14日閲覧。2014年11月14日閲覧。2015年1月22日閲覧。2015年5月22日閲覧。2015年4月19日閲覧。2015年5月29日閲覧。2015年12月21日閲覧。2015年12月21日閲覧。2015年3月11日閲覧。2015年6月15日閲覧。2015年12月17日閲覧。2015年3月11日閲覧。2014年7月2日閲覧。2015年2月1日閲覧。2014年7月2日閲覧。2014年7月13日閲覧。2014年7月13日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年10月29日閲覧。2015年4月4日閲覧。2014年11月6日閲覧。2014年10月29日閲覧。2015年5月29日閲覧。2014年11月4日閲覧。2015年7月3日閲覧。2015年9月5日閲覧。2015年10月19日閲覧。2015年11月2日閲覧。2016年3月9日閲覧。2016年6月24日閲覧。2012年10月18日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月29日閲覧。2015年3月11日閲覧。2015年5月23日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年11月14日閲覧。2014年7月2日閲覧。2015年2月11日閲覧。2015年2月11日閲覧。2015年4月15日閲覧。2014年11月4日閲覧。2014年11月4日閲覧。2014年11月7日閲覧。2014年11月7日閲覧。2014年9月20日閲覧。2014年9月20日閲覧。2014年9月20日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2012年1月18日時点のオリジナルよりアーカイブ。2014年9月21日閲覧。2014年10月28日閲覧。2015年6月11日閲覧。2014年11月14日閲覧。2013年11月12日時点のオリジナルよりアーカイブ。2014年11月17日閲覧。2016年2月17日閲覧。2014年9月23日閲覧。2014年9月23日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2015年3月10日閲覧。2014年7月2日閲覧。2015年3月7日閲覧。2015年7月3日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2009年4月3日時点のオリジナルよりアーカイブ。2014年9月21日閲覧。2014年7月2日閲覧。2015年3月7日閲覧。2015年3月10日閲覧。2015年7月3日閲覧。2015年1月17日閲覧。2015年4月16日閲覧。2015年1月22日閲覧。2015年1月20日閲覧。2015年9月24日閲覧。2014年11月9日閲覧。2015年7月14日閲覧。2016年6月19日閲覧。2015年5月6日閲覧。2014年7月2日閲覧。2014年7月2日閲覧。2016年2月11日閲覧。2015年1月20日閲覧。2015年1月22日閲覧。2017年6月8日閲覧。2014年7月2日閲覧。2015年8月25日閲覧。2015年1月3日閲覧。2013年12月13日閲覧。2013年12月13日閲覧。2013年7月30日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2013年12月13日閲覧。2014年6月24日閲覧。NEXT、2015年3月5日閲覧。2015年5月22日閲覧。2014年6月24日閲覧。2010年10月7日時点のオリジナルよりアーカイブ。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2012年6月30日時点のオリジナルよりアーカイブ。2014年6月24日閲覧。2015年2月1日閲覧。2015年2月1日閲覧。2014年6月24日閲覧。2014年10月16日閲覧。2014年10月15日閲覧。2014年10月18日閲覧。2014年10月15日閲覧。2014年10月15日閲覧。2014年10月30日閲覧。2015年2月12日閲覧。2015年4月16日閲覧。2014年10月20日閲覧。2014年10月27日閲覧。2014年10月27日閲覧。2014年10月20日閲覧。2014年10月20日閲覧。2014年12月10日閲覧。201-12-10閲覧。2014年12月10日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。2010年2月13日閲覧。2010年2月13日閲覧。2014年6月24日閲覧。2014年6月24日閲覧。関連項目[編集]ウィクショナリーにSSLの項目があります。2013年7月31日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。