少し前に気がついたのですが、Android 5.1.1からAndroid6.0にアップデートした際に、大学内のWi-Fiへの接続でトラブルがありました。今回はMarshmallowにおけるPEAP 802.1x EAPに繋がらない問題の対処方法について説明します。
では内容に入ります。
対処方法ですが、簡潔に言ってしまうと、TLS(Transport Layer Security) 1.2を無効にします。これによりPEAP 802.1x EAPでの接続を可能にします。
しかし、問題もあります。TLSはインターネット等でデータをやりとりする際に暗号化して送受信するプロトコルで、現在はTLS 1.0/1.1/1.2/(1.3は本記事投稿時では草稿の段階)があります。これのどれを利用するかはWebブラウザとWebサーバーがそれぞれサポートしている規格の中から「認証」と「使用する暗号アルゴリズムの決定」を目的とするネゴシエーションによって決定されます。しかし、TLS 1.0とTLS 1.1にはプロトコルや実装上の脆弱性が明らかになっており[link]、セキュリティ上の危険性が高いです。そのため、本記事はあくまで対症療法的解決案であり、原因療法的解決案ではないことをご理解お願いします。
ここまで長々と説明してきましたが、ご了解いただけた方のみ引き続きお読みください。
必要なもの
- Android 6.x(Marshmallow)の搭載されたroot化済みのAndroid端末
- システム領域への書き込みを行えるファイルマネージャー(説明ではSolid Explorerを使用します)
手順
全体の流れは以下のようになっています。- ファイルマネージャで/data/misc/wifiにアクセスする。
- wpa_supplicant.confを編集する。
- 端末を再起動する。
1. ファイルマネージャで/data/misc/wifiにアクセスする。
Launcher等からファイルマネージャーを開き、/data/misc/wifiにアクセスしてください。2. wpa_supplicant.confを編集する。
まず、端末のWi-FiをOFFにしてください。また、システム領域を編集するため、バックアップなどはとってあることを前提とします。wpa_supplicant.confを開いたらnetwork={
ssid="接続したいSSID名"
の行を探してください。そこを
network={
ssid="hoge"
key_mgmt=WPA-EAP IEEE8021X
eap=PEAP
identity="user_name"
password="password"
phase1="tls_disable_tlsv1_2=1"
phase2="auth=MSCHAPV2"
priority=8
proactive_key_caching=1
}
のように変更します。追加するのは太字で書いてあるphase1="tls_disable_tlsv1_2=1"の部分です。赤字の部分は各自異なります。
編集後、ファイルの属性(パーミッション)を変更します。ファイルマネージャーによって表示は異なると思いますが以下のようにしてください。
所有者とグループの属性を変更することを忘れないように注意してください。
0 コメント:
コメントを投稿