WiFi の新たなセキュリティ規格 WPA3 登場


■WiFi の新たなセキュリティ規格 WPA3 登場

発表からもう随分と経ってしまったが、

WiFi の新しいセキュリティ規格である、

WPA3

について、WiFi Alliance が記者発表を行った。

Wi-Fi新セキュリティ規格「WPA3」で何が変わる?業界団体が説明
http://ascii.jp/elem/000/001/702/1702227/

記事によれば、今回大きく変わったのは、以下の点の模様。

  1. パスワード推測に対する対策
  2. パスワードが弱い場合の対策
  3. パスワード漏洩に対する対策

つまり、

・そもそもパスワードが漏れないようにする
1. パスワード推測自体を難しくする
2. 弱いパスワードであっても推測しずらくする
・パスワードが漏れても影響を最小限化する

という方針のようだ。

また、その他にも、

  1. IoT 機器向けの新たな接続設定方法

などがあるらしい。

以下、各々について推測などを書いてみる。



パスワード推測に対する対策

パスワード推測に対する対策としては、

SAE(Simultaneous Authentication of Equals)

を追加したとのこと。

なんじゃそりゃ?と思っていたが、

オフライン辞書攻撃などを防止できる認証・鍵確立プロトコルらしい。

現在の WPA2 では、WiFi AP(アクセスポイント)と

接続したい機器の両方に、共通のパスワードを設定する。

で、実際に接続する際には、

1. WiFi AP が乱数(nonce_ap)を送る
2. 機器側でパスワードをハッシュにかける等して鍵生成
3. 機器側で生成した鍵を利用し、nonce_ap を暗号化
4. 暗号化された nonce_ap を WiFi AP に送信
5. WiFi AP 側で暗号化された nonce_ap を復号
6. 元々送った nonce_ap と一致すれば接続側の機器認証完了
7. 同じことを機器が WiFi AP に対して実施して,WiFi AP を認証

という形で相互認証している。

毎回異なる値である nonce をパスワードベースの鍵で暗号化して

相手に送り,相手側でも持っているはずのパスワードベースの鍵で

復号した結果が一致することで、

・相手は正しいパスワードを持っている(= 正しい機器だ)

ということを確認している。

しかしながらこの場合、このやり取りを盗聴しておけば、

利用されているパスワードに対して、

辞書攻撃や総当たり攻撃が可能となる。

具体的には、攻撃の際、

・1 で送られる nonce_ap を取得
・4 で返される暗号化された nonce_ap を取得

ということをしておけば,あとは攻撃者の手元で

辞書攻撃や総当たりにより,パスワード推測攻撃が実行できる。

つまり、いったん online で電波を取得しておけば、

あとは offline で(=電波が届かない所でも)攻撃が可能となる、

ということだ。

実際、これを実現するツールとして、aircrack-ng などが存在する。

流れる情報を取られた所で、即座にパスワードがわかるわけではないが、

オフライン辞書攻撃や総当たり攻撃が可能となるため、

よっぽど強いパスワードなどを設定しておかない限り、

パスワードがばれてしまう恐れがある。

で、今回はこれに対して対策を打った、ということらしい。

どうやってやってるんだろう、と思ってちょっと見てみたが、

記事からは詳細な内容を読み取ることができなかった。

SAE の仕組みをちゃんと調べればよいのだが、

結構時間かかりそうなのでちょっと断念。

ただ、どうも

ゼロ知識証明

そのものか同じような原理を実現していると思われる。

ゼロ知識証明というのは、超簡単に言ってしまえば、

秘密を持っているということを秘密を明かさずに相手に示す

ということを実現する方法。

こちらに関しては、WiKi の記事における

洞窟の問題
https://ja.wikipedia.org/wiki/%E3%82%BC%E3%83%AD%E7%9F%A5%E8%AD%98%E8%A8%BC%E6%98%8E

がわかりやすかったので、よければ見ていただきたい。

確かにこれだと、オフライン辞書攻撃などは不可能のはず。

私が知っていた時代にはなかなか実用先もなく、

理論的な話だったのだが、実用的に使われるようになったのだなぁ。
*すでにいろんなところで使われていたのかもしれないが…。



パスワードが弱い場合の対策

こちらはおそらく鍵導出関数や salt を使って対応したのだと思う。

salt を使うことで辞書攻撃に対しての強度はあがるし、

鍵導出関数を使うことで、総当たりに対する耐性が上がる。

具体的には、パスワードから鍵を導出する際、

疑似的にランダムな値とすることで、

鍵として使う値のランダム性を上げる(推測しても当たりにくくする)ことができる。

また、元のパスワードから鍵を作るときの処理をあえて重くすることで、

・正しいパスワードを知っている人ならば、重い処理一回で済む
・知らない攻撃者は、パスワードを推測するために重い処理が何回も必要

ということになり、推測にかかる時間を大幅に増やせる。

このあたりは最近よく使われる技術でもあるので、

まぁそれを普通に採用した、ということなのだろう。

パスワード漏洩に対する対策

これは具体的にどうやっているのだろう?

通信(セッション)毎に異なる鍵(セッション鍵)を使う、

なんてことは今までもやっていたはずで、

特に目新しいことに思えないのだが、

何か新しい技術をつかっているのだろうな。

でも、具体的にどんな技術を使っているのかがわからない。

しかもパスワードが漏れちゃったら、

結局マスターシークレットがばれるのだから、

過去のセッションもわかるような気がするのだが…。

やっぱりちゃんと仕様を読まないとわからないんだろうな。



IoT 機器向けの新たな接続設定方法

こういった各種の技術的セキュリティ向上策に加え、

今回は接続方法としても新たな方法を策定した模様。

具体的には、ディスプレイ等の表示機器を持たない

IoT 機器などに対して、スマホなどを使って

QR コードベースで接続ができる、という、

Easy-Connect

というものらしい。

これってどうなんだろう?便利なんだろうか?

利便性という意味であれば、WPS のほうがよっぽど便利そうだが…。

そもそも IoT デバイスに QR コードを貼っておく必要があるし、

QR コードなので誰でも読み取れてしまうし、

さらには

QR コードの脆弱性

で紹介したようなアタックもあり得るし、

ということを考えると、なんか危険なにおいを感じてしまう。

ちゃんと調べれば意外と安全、ってな話になるのかもしれないが、

これが新たな脆弱性になってしまわないか、今のところちょっと心配。



と、ここまでざっくりと概要を見てきたが、

印象としては、

・今までの経緯を踏まえてやれることはやっておこう

という感じを受けた。

これまでは、

・まぁ最低でもこれぐらいはやっておこうか

ぐらいのレベルだと感じていたが、

今回は結構まじめに考えているように思える。

じゃぁ実際にはどれぐらい強度があがっているのか、

については、やっぱりちゃんと仕様みないとわからない。

が、だれかわかりやすい解説記事書いてくれないかなー。

あと気になるところとしては、

aircrack-ng

のような、WiFi の hacking tool が

いつ、どのような形で対応してくるのか、というところ。

少なくとも脆弱性指摘がでるまでは、

こういったツールでも対応はできないと思われるが、

今後の動向についても注視していこうと思う。




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ブログ タグ: , パーマリンク