わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

ダウングレード

SSL/TLSで暗号化通信をするにあたり,『暗号スイート』を選ぶ必要があります.これは,使用する暗号技術の『おすすめセット』です.
暗号スイートの1つの例は,スクリーンに出していますように,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256です.英字は大文字限定,それと数字も使用可能,ところどころに下線記号…というと,C言語のマクロみたいですね.まあ,これが1つの識別子なのです.
中身をよく見てみますと,TLSは本日の授業のメインテーマですし,RSA,AES,GCM,SHA-256は,過去の授業で取り上げたものばかりです.ECDHEだけ,見慣れませんが,中のDHは,Diffie-Hellman鍵交換のことです.ECはElliptic Curveの頭文字で楕円曲線暗号を表しまして,最後のEはEphemeralの頭文字で『一時的な・短命の』という意味です.
そんなふうに暗号スイートを1つ取ったとき,中まで細かく,意味が定まっています.
さて,ここからは暗号スイートの集まり(コレクション)に目を向けます.たとえば,httpsの通信をしようとしたとき,クライアントとサーバのそれぞれで,使用可能な暗号スイートは一般に複数あります.
初期段階の,通信が暗号化されていない状況で,クライアント側から,利用できる暗号スイートをいくつか送りまして,どれを使うか,サーバに問い合わせます.
サーバ側は,送られてきたリストと,手持ちのリストを照合すると,おそらく適合するのは複数あり,あとは安全性の優先順位をもとに,これにしようと一つ決めて,クライアント側に返すわけです.
この一連のやりとりにおいて,攻撃が成功してしまう可能性があります.
というのはクライアント側から,暗号スイートをいくつか送るときにですね,悪意のある攻撃者が,そのメッセージを改ざんするのです.
サーバ側で,受け取った暗号スイートのリストを見たときに,『どれもこれもダメだ』となったら,クライアント側にそのことを返事します.
クライアント側は,『え〜そんなぁ』とも言いたくなりますが,あっと,人間じゃなくてブラウザの内部事情ですけどね,なんとしても暗号化通信の上でWebのサービスを受けたいブラウザ(クライアント)の側は,暗号スイートのリストを変更します.
たとえば,TLSから始まるのではなく,SSLから始まる暗号スイートを持ち出します.そんな再送*1において,攻撃者は見て見ぬ振りをします.
サーバ側から,TLSではなくSSLなんですね,じゃあ,これにしましょうか,と,これまた,おっしゃってるわけではないにしても,暗号スイートの取り決めがなされ,選ばれたのが攻撃者にとって,解読可能な方式であれば,『作戦成功!』であります.
現在はそういった攻撃を検知し,対策もとられています.それを使うためには,Webのサーバもクライアントも,安全なものにバージョンアップをしておかないといけません.
ちなみに『バージョンアップ』というのは和製英語だそうですね.英語では,version upgrade,または単にupgradeといいます.
この対義語は,バージョンダウン,ではもちろんなくて,downgradeです.
最新の安全なものではなく,古くて弱いものを使わせよう,というのに基づくアタックは,ダウングレード攻撃と呼ばれます.
ダウングレード(downgrade)は,耳慣れない言葉かもしれませんが,予算が5千円しかなくて6千円のコース料理ではなく4千円のを選ぶのを,『グレードを落とす』というのは,日常会話として問題ないのではないかと思います」

わんもあ

「本日はいつもよりも10分くらい早く,教室に来ました.
前々回は恥ずかしながら,スライド表示用のノートPCが,授業中に,Windows 8.1から10にアップグレードしてしまいました.
前回は,Windows 10になったこのノートPCを使ってみたところ,モニタとの接続で不具合が生じました.具体的には,解像度をどう変えても,スクリーン表示の角っこが切れて表示されるのでした.そこでPowerPointでスライドショーを使わないことで,対処しました.
今日わはなんですが,授業の前にあれこれ,設定変更を試みることで,1280x1024という画面サイズにすれば,四隅まですべて,表示してくれることが分かりました.
このノートPCの解像度は,最大で,1920x1080です.
これを1280x1024に変えることで,うまくいったというのも,一種のダウングレードと言っていいでしょうね.攻撃ではないですが,こちらとしては無用な手間です」

(リリース:2016-06-18 早朝)

*1:攻撃者が暗号スイートを改ざんして,TLSから始まるものを取り除き,SSLから始まる(攻撃者にとって都合の良い)ものに置き換える,というのでは,サーバからの返信を受け取ったクライアントが「おかしいぞ?」と気づきやすくなります.クライアントが主体的に「これの中から選んでもらえますか?」として送るよう,仕向けるため,失敗させているのです.