IEEE802.16e即是行動式WiMAX,然而當WiMAX跨進行動式領域,便直接與傳統蜂巢式電信網路產生商業競爭,也使得網路架構變得複雜。無線網路安全必須防止非法用戶端接入、防止非法用戶接入,並確保空中介面資料傳輸安全。802.16e補強了802.16d的部分安全缺失,包括單向認證、加密強度不高,以及金鑰漏洞等。
IEEE802.16e即是行動式WiMAX,然而當WiMAX跨進行動式領域,便直接與傳統蜂巢式電信網路產生商業競爭,也使得網路架構變得複雜。無線網路安全必須防止非法用戶端接入、防止非法用戶接入,並確保空中介面資料傳輸安全。802.16e補強了802.16d的部分安全缺失,包括單向認證、加密強度不高,以及金鑰漏洞等。
在上一期本專欄對IEEE802.16d-2004 MAC(以下簡稱802.16d)的保密子層(Privacy Sublayer)做了說明,本期針對IEEE802.16e-2005(簡稱802.16e)與WiMAX論壇定義的網路架構在安全系統方面的規範做一介紹。
802.16e其實是對802.16d的改進與修正。換句話說802.16e是802.16d的超集合(Superset),等於在原來802.16d之上再加上新功能,而包含原來802.16d定義的部分。一般熟知的是802.16e增加對行動式(Mobility)議題的處理,而原先802.16d處理的固接式(Fixed)與遊牧式(Nomadic)應用情境還是包括在802.16e的規範裡。
事實上,如果不考慮價格,以802.16e基地台(BS)來支援固接式與遊牧式的應用情境,較諸802.16d還來得更有效率,主因就在於16e提供了差異模式(Diversity Mode)與繼續模式(Continuous Mode),前者可隨機分配頻率與時槽;後者則可區段性的分配頻率與時槽。
然而當WiMAX跨進行動式領域,便直接與傳統蜂巢式電信網路產生商業競爭,也使得整個網路架構變得相當複雜。由於IEEE規範一向只著重於MAC層與PHY層,在安全架構上支援全球漫遊或與其他網路(如公眾WLAN或蜂巢式電信網路)介接的議題,便由WiMAX論壇來制定,其相關規範目前仍在演化當中。
802.16e規範將原先16d的安全認證機制命名為PKMv1,並略作補強,另又新增PKMv2。由於行動式技術主要應用於公眾網路,因此除原先802.16d對裝置(Device)的認證外,亦須增加對使用者(Subscriber)的認證,因此也牽涉到後端使用者認證伺服器(AAA Server)的運作。本文僅概略說明802.16e與WiMAX論壇新增的安全規範。
服務營運商扮演要角
首先必須簡單介紹WiMAX論壇定義的網路系統架構,因為在這架構中的邏輯功能元件(Functional Entities)與介面關聯點(Reference Points)都是網路安全的參與模組。
其中,功能元件藉由介面來達成互動式溝通,分為用戶台/行動台(SS/MS)、接取服務網路(Access Service Network, ASN)與連線服務網路(Connectivity Service Network, CSN)。
由於服務營運商在WiMAX論壇中扮演重要角色,圖1的架構主要是參照目前電信產業現況,其中ASN主要由網路接取供應商(Network Access Provider, NAP)營運,CSN則由網路服務供應商(Network Service Provider, NSP)營運。
CSN再連結至網際網路或應用服務供應商(ASP)網路,來提供各種加值服務。NAP與NSP,甚或ASP可以是同一個營運商。如果是同一個營運商,ASN與CSN邏輯上雖屬兩個不同的功能元件,依據其營運規模不同,可放在同一個或不同的實體元件上。
為了與傳統蜂巢式無線網路競爭,全球漫遊便成為不可或缺的功能,這在安全架構上便涉及不同營運商之間認證、授權與計費(Authentication, Authorization and Accounting, AAA)訊息的交換。在圖1可看到受訪網路服務供應商(Visited NSP)的CSN與原屬網路服務供應商(Home NSP)的CSN5之間是透過R5介面連結,而認證伺服器便存在於CSN中。
圖1中,ASN再繼續分解,則包含至少一個基地台(BS)與至少一個ASN閘道器。如圖2所示,一個BS可連結至一或多個ASN閘道器,而一個ASN閘道器也可與一或多個BS相連,兩者間的介面為R6。兩個ASN閘道器之間則存在R4介面,對移動管理提供支援。而兩個BS之間亦可直接或邏輯上透過R8介面相連。如MS由一BS移動到同一ASN領域內的另一BS,兩個BS間可透過R8介面做安全金鑰的交換或共享。
上述功能架構圖看似簡單,實際上分解到細部,可有許多種彈性的組合。主要是牽涉到多個NAP與多個NSP間多樣化的組合。這邊會特別強調「多個」,實導因於「漫遊」的需求。因為MS有可能面對不同類型的營運商組合,而全球各個不同的營運商採取的安全政策各不相同。WiMAX論壇建議MS要因應不同類型的營運模式採取不同認證方法。
三種認證/授權/計費布建模式
首先介紹WiMAX網路下使用的AAA架構。AAA是基於IETF通訊協定下的架構,主要規範如何對使用者認證、授權與計費。IETF RFC2904中提出了代理人(Agent)、拉取(Pull)與推播(Push)等三種AAA布建模式。它們之間主要差別在於認證請求者(Supplicant)與認證伺服器之間溝通的模式與相關裝置設定控制訊息(如金鑰等參數)方式的不同。
WiMAX論壇建議採用拉取模式來布建,而不論採用何種模式,AAA架構都必須支援三方架構,即以MS當認證請求者,ASN做為認證者(Authenticator)而搭配後端CSN的認證伺服器,如圖3所示。
其中認證者大半只扮演中繼者(Relay)的角色,將認證請求者送來的請求轉交給認證伺服器,並將認證伺服器的回覆轉交給認證請求者。其運作步驟如下:
WiMAX的AAA架構採用EAP認證程序,EAP是一個通用性(Generic)的認證載具,雖然WiMAX論壇沒有規範使用何種機制來搭配EAP,但列舉了AKA、PSK、TLS、TTLS、MD5、SIM/USIM、UICC、RUIM等,並建議最好儘可能加以支援,以因應MS漫遊於不同營運商網路的需求。除此之外,AAA架構也必須能支援對Mobile IPv4與Mobile IPv6的安全群組(Security Association, SA)管理。
802.16e MAC安全子層新訂了PKM-REQ與PKM-RSP來傳送EAP訊息(步驟1、4);在ASN之後則透過RADIUS協定,與後端認證伺服器進行使用者身分認證(步驟2、3)。圖3中若營運商的CSN有其既存的專有計費授權架構,為能與ASN間透過RADIUS協定交換訊息,必須在CSN端架設協定轉換器將RADIUS協定訊息加以轉換。下一節將進一步介紹PKMv2的認證交換程序細節。
另外,當MS漫遊到另一營運商的網路時,如同蜂巢式電信網路的認證計費機制中須由VLR向HLR送出認證請求一般,在WiMAX模式下,受訪NSP的CSN也會將相關認證訊息送給原屬NSP的CSN。
如圖4所示,其架構與運作程序與圖3大致相同,前述步驟2拆為2a與2b;步驟3拆為3a與3b。2b與3a代表的便是將相關認證資料送回原屬NSP的認證伺服器去做認證與其認證結果的回覆。由於兩個NSP的CSN未必直接相連,中間便可透過所謂的認證代理人(AAA Proxy/Broker)協助做訊息交換。認證代理人本身也可成為一項獨立的商業業務,並可有階層性,如同銀行票據交換中心一般,由區域性與全國性的中心組合而成。
由於AAA認證架構與公眾WLAN使用的一致,對於一個同時擁有WiFi與WiMAX的無線網路服務商(WISP)而言,還可以共用認證伺服器以降低營運成本。
802.16e認證方式較具彈性
802.16e支援PKMv1與PKMv2。PKMv1是對SS裝置做認證,可僅在BS中支援,符合向前相容的原則。但802.16e加進了移動與漫遊功能,這時搭配EAP與AAA的PKMv2,便提供了一個更為彈性的架構,可對裝置做認證,亦可對使用者做認證,或對兩者同時做認證,以適用於不同的商業模式需求。
MS與ASN中的BS透過PKMv2傳輸EAP訊息,認證者在ASN中可位於BS,也可位於ASN閘道器。如果是位於ASN閘道器的話,則BS在收到EAP請求時,便透過R6介面將請求轉給ASN閘道器。否則,則由BS處理。
當只須對使用者做認證或只須對裝置做認證時,須使用標準的EAP,即單層EAP;但當兩者都要做認證,且分別用不同的認證伺服器時(如兩個認證伺服器分別位於不同的CSN),就要用到雙層EAP(Double EAP),即Authenticated-EAP-after-EAP機制。而對使用者做認證的EAP與對裝置做認證的EAP都須個別產生主階段金鑰(Master Session Key, MSK)。至於要採用何種認證政策,則由CSN營運商自行決定。
當然,這樣的彈性在MS漫遊時,必定增加系統複雜度。比如,MS的原屬NSP並不要求進行裝置認證,但受訪NSP的政策卻要求須對裝置做認證,此時MS須配合受訪NSP的要求,使用與其EAP搭配的機制(如X.509憑證或MAC_address@NSP_domain)來做裝置認證。
WiMAX網路中的ASN雖不須理會CSN的認證政策,但由於ASN可與採用不同認證政策的CSN介接,故要求必須具備PKMv2雙層EAP的能力。
一般營運商採取的政策是在使用者開機時,對兩者均做認證,但後續的週期性重新認證則只針對使用者認證。當裝置與使用者都須認證時,必須先對裝置認證。由於802.16e的彈性設計,亦允許在ASN就可決定裝置認證是否過關,不必後傳到CSN。就如同802.16d一般,在BS端就判定MS送來的裝置X.509憑證是否有效,只是這回MS傳送憑證時是包在EAP中(如EAP-TLS)。
但是對於使用者的認證,還是必須送往認證伺服器。故ASN在成功認證裝置後告知MS,MS才會繼續傳送使用者認證資料給ASN中的認證者,ASN中的認證者接著再轉給CSN的認證伺服器,如此省掉傳送裝置認證資料給CSN的認證伺服器所耗的時間與頻寬。
當然,如果ASN不具備相關裝置認證能力,要全部交給後端CSN處理亦可。附帶一提的是,如果營運商的營運模式是只認裝置不認人的話,則使用標準的單層EAP即可,其ASN如果具備相關裝置認證能力也可以就自行決定裝置認證是否過關。若是過關了,雖已完成認證,不需認證伺服器再認證一次,但還是須依RADIUS協定,將裝置的相關資料(如MAC位址)通知CSN的認證伺服器以便計費作帳。
PKMv2認證授權步驟較多
在上一期介紹802.16d的網路進入步驟時,提及安全認證程序是網路進入的最後一個步驟,這個程序完成後,便可完成SS的註冊而開始傳輸資料。在802.16e也相似,只是AAA架構的介入,除MS與BS外,又多了ASN、認證代理人,以及CSN等許多角色,也自然多了許多步驟。
在MS開機後,做完初始測距並建立基本管理通道與主要管理通道後,MS與BS間憑證認證與金鑰交換就透過主要管理通道來進行。在網路進入步驟中,與安全認證有關的步驟,如圖5所示。其中,認證者若位於ASN閘道器,則BS可將MS送來的EAP封包透過R6介面轉給ASN閘道器;若是位於BS,則圖中的BS-ASN以及Authenticator-ASN兩者可合而為一,相關步驟說明如下。
步驟一:MS與ASN間透過SBC請求與回覆來協商使用PKMv1或PKMv2、認證政策,以及PKMv2中是使用單層或雙層EAP。接下來MS的認證請求者單元便發出PKMv2_EAP-start訊息,BS收到後,透過R6介面傳給ASN閘道器中的認證者單元,而進入EAP交換程序。
步驟二:認證者透過BS回覆EAP Request/Identity封包給認證請求者。BS會將EAP封包載在802.16 MAC Management PDU中傳給MS,MS收到後解開PDU中的EAP封包,交由認證請求者單元處理。認證請求者產生EAP Response/Identity後,封裝在802.16 MAC Management PDU再回傳BS,解開後交由認證者處理。此時認證者扮演中繼者的角色,將EAP封包包在RADIUS中後傳給認證伺服器。
如之前所解釋,中間或會經過一或多個認證代理人。如此認證請求者與認證伺服器間來回交換訊息數趟(依據EAP配的機制,如EAP-AKA EAP-TLS的不同,所須交換的訊息多寡亦不同)。最後,認證伺服器發出Radius-Access-Accept給認證者,認證者再發出EAP-Success給認證請求者。
步驟三:MS與認證伺服器各自從EAP交換的訊息中,產出相同的主階段金鑰(MSK),做為將來產出其他金鑰的基礎。由於之前認證者都只扮演中繼者的角色,並未檢查EAP封包的內容,故須依賴認證伺服器將產出的MSK傳送給它。MS與認證者再各自由MSK來產生成對主金鑰(Pair-wise Master Key, PMK)。
步驟四:至此,認證部分便告一段落。接下來便要為進入資料交換階段做暖身,也就是要產生資料交換時所需的相關金鑰。首先認證者與MS要產生的便是授權金鑰(Authorization Key, AK)。802.16e中有許多類型的金鑰,AK以及其他金鑰產生方式,在PKMv2金鑰階層一節中會詳加介紹。讀者將會發現802.16e各式金鑰主從關係與組合,較諸802.16d要複雜許多。
步驟五:如果認證者不在BS,而位於ASN閘道器的話,ASN閘道器便將認證者方才產出的AK與相關資訊傳給BS。此後MS與BS之間封包在空中交換所需的加解密相關金鑰,便由BS從AK與相關資訊來產出。
步驟六:走完以上步驟,才剛完成相當於802.16d的X.509認證與AK交換的過程,而MS與BS兩者間的安全群組都尚未交換。因此,接下來便是要透過三方交握(3-way Handshaking),來協商出MS與BS兩者共同支援的一群SA與其對應的SAID。
步驟七:在協商交換完SA後,如同802.16d一樣,MS會從BS回傳的SAID列表中每一個它將支援的SA,啟動一個TEK狀態機。同樣的,每個TEK狀態機也是同時持著兩把TEK。其更新模式與802.16d相似。
步驟八:做完這些準備工作後,最後便可透過DSX(REQ/RSP/ACK)封包交換來建立服務資料流,並對每一服務資料流配以一SAID與對應的TEK,來對傳輸資料做加解密。
四種PKMv2產生金鑰流程
在802.16e MAC安全子層的作用是保護資料在空中傳輸時不被第三者擷取,而使用更強的加解密演算法。但如果沒有搭配完善的金鑰產出與交換機制,也會因為金鑰被偷取或破解而導致資料被解密。
因此PKMv2金鑰階層(Key Hierarchy)架構上定義金鑰可由許多不同方式產生,系統中金鑰產生的模式主要有兩種:一種是基於RSA;另外一種是基於EAP。除此之外,這兩種金鑰產生流程還可互相結合。EAP產生方式可以分一階段或是兩階段交換,所以產生AK方式可有以下四種流程,包括以RSA方式產生、RSA+EAP方式產生、基於EAP一階段產生,以及基於EAP兩階段產生(圖6~9)。
前文介紹PKMv2會使用到許多種金鑰,然而這些金鑰主要的都是要產生AK,表1列舉產生AK所需的素材。
金鑰加密金鑰與訊息驗證碼之產生
金鑰加密金鑰(Key Encryption Key, KEK)與訊息驗證碼(Message Authentication Code, MAC)有兩種產生方式,第一種方式可用於產出KEK,而第二種方式只用於產出上傳(UL)與下傳(DL)的CMAC與HMAC,分述如下。
以AK來產出CMAC_KEY、HMAC_KEY、KEK的方式,如圖10所示。由於AK產生的KEK主要目的是為了加密之後用來傳輸的金鑰TEK,因此還可分為上傳與下載使用的金鑰驗證,但加密的金鑰只有一把。以EAP完整金鑰(EIK)來產出CMAC_KEY、HMAC_KEY的方式如圖11所示。EIK產出的驗證金鑰可依據演算法而有不同長度,但驗證金鑰也分為上傳與下載兩把。
802.16e增訂多媒體服務安全考量
此外,前述的金鑰都是用於單點廣播傳輸方式,在802.16e中也考慮到一些應用例如IPTV、多媒體串流等,因此在MAC層中需要加入多媒體廣播服務(MBS)的對應訊息,就安全性來說,此類服務因採無線傳輸,若無加密將使任何接收端都可接收到內容。在802.16e的安全規範中對於多點廣播封包的作法是提供群體安全群組(Group Security Association, GSA),讓客戶端分享相同金鑰,其內容會包含群體金鑰加密金鑰(GKEK)與群體流量加密金鑰(GTEK)。GKEK使用範圍是在一個GSA中共用一個SA KEK時,GTEK使用範圍則是在一個GSA中共用一個SA TEK時。另外,多媒體廣播服務其中安全加密也有MBS流量金鑰(MTK)這把金鑰,其計算方式為:MTK<=Dot16KDF (MAK,MGTEK |“MTK”, 128),但是產生與傳輸MAK(MBS AK)是超出802.16e標準定義範圍之外,所以必須在其他層(Layer)中實作此金鑰。圖12說明如何得知MBS,配合多層級的訊息交換後,將得到如圖13的傳輸範例。
行動與漫遊功能使系統複雜化
無線網路安全至少須解決防止非法用戶端接入、防止非法用戶接入,以及空中介面資料傳輸安全等問題。802.16e補強了802.16d的部分安全缺失,包括單向認證、加密強度不高,以及金鑰漏洞等,但其複雜度主要是肇因於行動與漫遊的功能需求。另外,雖然目前尚未涉及群組交握協定(Group Key Handshake Protocol)的相關規範,但在PKMv2新增了對廣播和群播服務的支持。WiMAX系統的安全考量還在不斷發展,目前WiMAX論壇的規範也尚未定稿,許多規範都是參考現行有線網路系統與3GPP架構。隨著WiMAX系統的實驗布建與不同終端應用情境的出現,相信安全規範會越來越完善。