• 沒有找到結果。

PSK 推導 PIN Code 之設計流程

第三章 無線家庭網路安全認證與存取控制機制

3.3 PSK 推導 PIN Code 之設計流程

目前 WPS 授權機制主要的動作是由 Enrollee(客戶端)產生八碼的 PIN Code,然後 Registrar(AP) 輸入由 Enrollee 所產生之 PIN Code 進行 WPS 驗證。在家庭網路中,如何讓 Registrar 輸入 PIN Code,是需要進入無線基地台中設定,但如果每次要進入目前無線家庭網路,都需要進入無線網 路基地台是很麻煩的。本研究利用橢圓曲線的 Diffie-Hellman (Elliptic Curve Diffie-Hellman, ECDH) 金鑰交換法,透過 ECDH 與 PSK 產生新的一組 PIN Code 直接進入 WPS 進行授權。透過 PSK 在 無線基地台的設定,只需要定義一次使用的金鑰,並且因為 PSK 與金鑰交換之密鑰所產生之 PIN Code 為唯一,在 WPS 授權機制如果雙方所計算之 PIN Code 若不相同,將會在 WPS 授權機制 過程中失敗。此外,考量 ECDH 的安全性,如果想要破解 ECDH 機制,攻擊者必須在給定 G 以 及 kG 的情況下求出 k,基於橢圓曲線離散對術的困難度亦是非常困難破解地。為結合 ECDH 與 WPS 的金鑰交換設計流程的說明,並以傳遞雙方的角色設定為家庭用戶端設備與無線網路基地台 (AP/Registrar),當無線網路基地台允許新增一個家庭用戶端進行網路連線的流程。首先我們定義 了新的 WPS Data Elements 為橢圓曲線參數 Eq(a,b)之 Q、a、b,與橢圓曲線公開金鑰 EDCH Public Key。並在無線基地台所發出的 Beacon 封包增加新的 WPS Data Element,包含:ECDH Q、ECDH a、

ECDH b 此三個公開的金鑰交換值,然後在 Enrollee 端(無線網卡)的 Probe Request 中加入新的 WPS IE 的 Data Element EDCH Public Key 以及 Registrar 端(無線基地台端)加入新的 WPS IE 的 Data Element EDCH Public Key,這樣可以不增加任何無線網路的封包與 WPS 行為中完成橢圓曲 線金鑰交換的步驟,而且對於 Registrar 端來說可以每隔一段時間就可以簡單的更換目前所使用的 任何參數,來降低透過大量的封包監聽與側錄破解雙方所使用的密鑰。此設計建立一個具 ECDH 的加密通道在 Registrar 與 Enrollee 兩端進行 User 帳號/密碼以及時戳(Timestamp)等,產生 PIN Code 的參數資訊。下圖 7 為家庭網路使用者別之 PSK 推導出可結合於 WPS 的 PIN Code 之設計流程:

圖 7: PSK 推導 PIN Code 金鑰交換設計流程

使用者別之 PSK 推導出 PIN Code 金鑰交換流程可分為產生共同金鑰(Session Key),與金鑰 交換兩個部分。以下將依序對各連線步驟進行詳細介紹:

STEP1: 欲 進 WPS 連 線 的 User/Enrollee 端 會 自 動 搜 尋 無 線 網 路 中 , 相 互 匹 配 的 無 線 網 路 (AP/Registrar 端)的 Beacon 訊號。

STEP2~3:User/Enrollee與AP/Registrar兩端進行ECDH機制產生一把Session key,ECDH方法如下:

橢圓曲線公式: y2=x3+ax+b,其中a、b係數必須先被指定,且係數a、b 是屬於GF(P)的質數,

GF為一有限體,而P是基準點相當於Diffe-Hellman的產生器。

1. 尋找雙方同意之系統橢圓曲線與基點G(橢圓上座標)作為系統公開金鑰,且所有使用者均 可用相同且公開的橢圓曲線參數與基點G,G的級數n要夠大(例如大於2160) 。

2. User/Enrollee 端選擇秘密金鑰正整數x,1 < x < n,且計算G x = x․G,爾後G x送給AP。

G x為User/Enrollee秘密金鑰x對應的公開金鑰。

3. AP/Registrar端選擇祕密金鑰正整數y,1 < y < n,且計算G y = y․G,爾後將G y送給 User/Enrollee。G y為AP的祕密金鑰y對應的公開金鑰。

4. User/Enrollee利用自己的祕密金鑰整數x與收到的G y,計算出公式:

KAB = x․G y = x․ (y․G)

5. AP利用自己的祕密金鑰整數y與收到的G x,計算出公式:

KAB = y․G x = y․ (x․G)

6. 雙方擁有共通的橢圓曲線點(x․y)․G。此點的x座標便可當作雙方的共通的Session Key,KAB

圖8: ECDH金鑰交換

STEP4:User/Enrollee端將家庭使用者之帳號與密碼進行SHA-256計算,並利用共有的Session Key 加密,把結果傳給AP/Registrar端。

STEP5:AP/Registrar端將收到的Nonce用同一把Session Key解密,並與原先記錄的PSK比對,可 檢視使用者的身分與權限,此步驟的Nonce產生方式如下:

1. 使用者帳號+密碼+Timestamp利用SHA-256產生出的雜湊值,Timestamp可由AP發送並以 該Timestamp做為運算基準。Timestamp可用來確保每筆金鑰交換的安全性。

2. 取mod 10的結果成為PIN Code的前7碼,第8碼為檢驗碼,即組成為PIN Code。

3. User/Enrollee與AP/Registrar兩邊皆會進行PIN Code的運算,檢驗是否相同。

執行完此步驟,User/Enrollee與AP/Registrar兩端即可產生兩組相同的PIN Code以進行後續第 二部份:金鑰交換的流程。

STEP6~8: 此時User/Enrollee端開始準備啟動與AP/Registrar端之間的M1~M8交換過程,並由 AP/Registrar端發放加入WLAN 的網路證書(網路名稱(SSID)及安全密鑰(PSK))。在此各種資訊及 網路證書將通過擴展認證協定(EAP)上傳輸資料,該協議是WPA2 使用的認證協定之一。所有的 資料都是先經過加密再傳送到無線網路中,User/Enrollee與AP/Registrar兩端個別收到資料後,再 轉換成可接收的內容,安全性較佳。

STEP9~18:User/Enrollee與AP/Registrar兩端開始進行M1~M8的金鑰交換,兩端將完成相互認證,

User/Enrollee端通過此金鑰交換流程即將被連入網路。AP/Register端則通過傳輸網路名稱(SSID) 及WPA2預共用密鑰(PSK)啟動安全機制,由於網路名稱及PSK 由系統自動分發,故此M1~M8 金鑰交換過程幾乎不需用戶干預,減少錯誤與麻煩。M1~M8的詳細訊息傳遞參數,請參閱文獻探 討中2.4。

STEP19:當M1~M8的金鑰交換成功進行後,AP/Registrar端將會進行Access Control機制,將User 帳號密碼與自身的資料庫做比對,查驗正在進行連線的使用者是否可以在這個時候使用網路。通 過帳密驗證的User/Enrollee端才可以連線上網,反之AP/Registrar端將會拒絕正在要求連線的 User/Enrollee端。此外,當User/Enrollee端中斷連線或是重新連線時,將重新進行STEP2~18以取 得新的連線安全ECDH Session Key。

本研究所提出之產生推導的PIN Code界接使用者行為與無線網路連線的安全管理。即透過使 用者自定的帳號密碼可以達成身分存取權限的控制,並結合ECDH的金鑰交換出可運行於WPS的 一組PIN Code,達成無線家庭網路使用者方便、安全的連線管理。其方便性來自於,無線家庭網 路使用者只需簡單記憶個人之帳號密碼資料,不必輸入長度過長的金鑰,並在WPS的協定下即擁 有WPA2等級的安全性。

相關文件