建立細緻安全機制 針對個別連線訂定不同安全參數

IEEE802.16-2004主要做為回程網路應用,用戶台並不會隨便移動,因此主要認證對象是用戶台本身。在此架構下,主要的安全議題便是用戶台與基地台間的空中介面安全。另外,在維護上還包括管理面的憑證供應,以及各種密鑰的生命週期參數設定等,構成整個WiMAX空中介面安全機制。與WiFi相較,WiMAX在QoS與安全性更加細緻,可根據需求,針對不同連線訂定不同參數。
IEEE802.16-2004主要做為回程網路應用,用戶台並不會隨便移動,因此主要認證對象是用戶台本身。在此架構下,主要的安全議題便是用戶台與基地台間的空中介面安全。另外,在維護上還包括管理面的憑證供應,以及各種密鑰的生命週期參數設定等,構成整個WiMAX空中介面安全機制。與WiFi相較,WiMAX在QoS與安全性更加細緻,可根據需求,針對不同連線訂定不同參數。  

近年來無線通訊技術蓬勃發展,開啟了各項新式行動應用。我國政府也透過M-Taiwan計畫,推動行動商務、娛樂,以及公共服務等應用。根據IEEE802.16標準發展的WiMAX技術,毋須架設線路,即可達50~60公里以上的無線傳輸,是適合布建於都會區的寬頻無線接取技術,將可為M-Taiwan計畫提供重要的基礎建設。  

然而,由於無線網路的數據傳送是利用無線電波在空中輻射,數據傳輸的範圍不若有線網路有明顯的接入點,對於行動商務等重視安全議題的應用,在安全機制的設計上,必須嚴謹要求。在前兩期細說WiMAX技術專欄中,已大致介紹MAC架構。接下來兩期,將剖析WiMAX無線網路安全技術。本文先承續之前對MAC收斂子層(Convergence Sublayer)與通用子層(Common Part Sublayer)的介紹,進一步解說IEEE802.16-2004 MAC的保密子層(Privacy Sublayer),完成對WiMAX MAC三個子層的說明。下期再介紹IEEE802.16e-2005與WiMAX論壇定義的系統安全架構。  

802.16-2004安全議題以空中介面為主  

802.16-2004定義了一個點對多(Point-to-Multi-Point, PMP)無線網路,主要處理固接無線接取架構,可做為最後一哩解決方案。由於802.16-2004主要做為回程網路(Backhaul)應用,用戶台(Subscriber Station, SS)並不會隨便移動,因此802.16-2004主要認證的對象為用戶台本身,有別於公眾無線網路(Public WLAN)或802.16e-2005的架構,必須認證來來去去的使用者(使用者未必每次均使用同一裝置,故認證裝置本身意義不大);又由於用戶台不似行動用戶台(Mobile Station, MS)具備行動功能,封包從用戶台在連接上基地台(Base Station, BS)後便直接上網際網路,或透過基地台連至營運商的配送網路(Distribution Network)而連上網際網路)。  

因此,在此架構下,主要的安全議題便局限在用戶台與基地台間的空中介面安全(Air-interface Security)。基地台後端之後,還有一大部分是類似電信網路架構,其中的安全架構也有探討空間。IEEE定義的MAC安全機制包含控制面(Control Plane)的認證、密鑰管理,以及資料面(Data Plane)的訊框加解密。另外,在維護上還包括管理面(Management Plane)的憑證供應,以及各種密鑰的生命週期參數設定等,構成整個WiMAX空中介面安全機制。  

WiMAX是連線導向的架構。每一連線均為單向,並各配有一個連線識別碼(Connection ID, CID),由基地台管理。與WiFi相較,其設計在QoS與安全性上更加細緻,因為它可以根據需求,對不同連線訂定不同QoS與安全性參數。如同前期介紹每一連線建立時會對應一服務流識別碼(Service Flow ID, SFID)一般,它也會對應一個安全組合識別碼(Security Association ID, SAID)。SFID對應於QoS參數;而SAID便對應於一組安全組合(SA),SA代表一組密碼學方法與相關加密資料,在資料傳輸時將作用於連線中的封包。使用愈強的密碼學方法,該連線的安全性愈高。由於WiMAX的連線均為單向,上鏈(UL)與下鏈(DL)可配以相同或不同的SA。在處理多重播送(Multicast)時,則多個連線均配以相同SA。  

WiMAX當初的設計主要參考纜線數據服務介面規範(Data over Cable Service Interface Specification, DOCSIS),安全架構也不例外,依據DOCSIS基線保密介面(Baseline Privacy Interface, BPI)規範的私鑰管理(Privacy Key Management, PKM),調適成適用IEEE802.16 MAC的協定。  

PKM架構在公鑰密碼系統(Public Key Cryptography)之上,使用元件包括X.509憑證、PKM交換的三種金鑰:授權金鑰(AK)、金鑰加密金鑰(Key Encryption Key, KEK)與流量加密金鑰(Traffic Encryption Key, TEK),與認證PKM訊息的雜湊訊息身分認證代碼(HMAC)。其中AK在傳輸前會用用戶台憑證中的公鑰來加密,而KEK由解密後的AK來導出,之後用來對訊框加解密的TEK再經由KEK加密後由基地台傳輸給用戶台,三種金鑰彼此層層相關。本文討論個別元件時,再加以詳述。  

網路進入程序建立三個管理通道  

WiMAX用戶台在開機後即執行網路進入(Network Entry)程序,當掃描並完成初始測距(Initial Ranging)後,用戶台基本上便不再移動。接下來便開始安全認證程序,完成後即可開始資料傳輸。  

在網路進入程序中會建立三個管理通道(Management Connection),分別稱為基本管理通道、主要管理通道與次要管理通道。而傳輸通道(Transport Connection)則可視需要而動態建立或取消。WiMAX只保護次要管理通道與傳輸通道。換句話說,基本管理通道與主要管理通道是不加密的,也不會配以SAID。在控制面中,與安全機制有關的主要是主要管理通道,因為用戶台與基地台間加解密能力的協商、憑證認證與密鑰交換都透過它來進行。整個網路進入程序步驟(與安全認證有關的是步驟3)如下:  

1.用戶台開機後掃描周圍環境,搜尋基地台的下鏈訊號,由此取得上鏈等通道相關參數。  

2.藉由取得的參數,來發出測距請求訊號並同步。而後建立基本管理通道與主要管理通道。  

3.進行IEEE802.16規範的PKM協定,讓用戶台取得授權連接到基地台。  

4.用戶台完成註冊。基地台則分配一個CID以建立次要管理通道(這一連線用於IP層以上與管理相關協定,如DHCP、TFTP、SNMP)。  

在網路進入程序完成後,用戶台與基地台便可透過DSA-REQ來動態建立一個或數個傳輸通道做資料的交換。  

DSA-REQ會載明要使用的SAID。在取得TEK後,便進入資料面的範圍。在WiMAX交換的資料訊框中,標頭(Frame Header)是不加密的,只有MAC服務資料單元(Service Data Unit, SDU)會被TEK加密,之後再交由實體層傳送。WiMAC MAC協定資料單元(Protocol Data Unit, PDU)如圖1所示。  

安全架構元件  

X.509憑證  

每個用戶台都會包括由設備業者或是系統業者所提供的X.509憑證,在公鑰密碼系統架構下用於驗證通訊的兩造。憑證包含以下資訊:  

1.憑證格式版號(Certificate Format Version)  

2.憑證序號(Certificate Serial Number)  

3.憑證發行單位(Certificate Issuers Name)  

4.憑證合法期(Certificate Validity Period)  

5.憑證持有者的身分(Certificate Subject Identity)  

6.憑證持有者的公開金鑰(Certificate Subject Public Key)  

7.簽章演算法(Signature Algorithm)  

8.憑證發行者的簽章(Signature of the Issuer)  

其中,簽章演算法用的是RSA加密與SHA1雜湊演算法(Hashing)。一個用戶台持有兩張憑證,一張是用戶台製造商的憑證,另一張是用戶台本身的憑證。用戶台本身憑證的X.509格式中,憑證持有者的身分即是用戶台的MAC位址。一般而言,用戶台本身的憑證是由製造商出廠時設定,並以製造商的私鑰簽署。用戶台憑證產生的同時,會配以一組公鑰與私鑰。其公鑰載於憑證上,而私鑰則存放在用戶台的存儲器中,在PKM的協定運作時,用來解開基地台傳來的AK。值得注意的是,WiMAX只做單方面驗證,即由基地台驗證用戶台,這是安全漏洞。  

私鑰管理協定  

私鑰管理協定包含授權訊息交換,與金鑰訊息交換兩部分,分別由授權狀態機與TEK狀態機兩個狀態機(State Machine)來控制,兩者間有主從關係。一來,須授權成功後才有資料交換,故TEK狀態機由授權狀態機來啟動;二來,運作上只會有一個授權狀態機,但它卻會對應一個或多個TEK狀態機。此外,當授權狀態機更換AK時,即使TEK轄下的密鑰尚未過期,亦受影響而必須更換。  

設計上,因AK較不常更換,其生命週期設定最短為一天,最長為七十天,而預設值則為七天;TEK則直接對資料加密,為避免被破解,須時常更換。其生命週期設定最短為30分鐘,最長為七天,預設值則為半天。  

WiMAX規格解釋這兩個狀態機時,將用戶台與基地台的動作一起說明,因為這是兩者的交互作用。實際上,主要是由用戶台來運作,而基地台做回應。基地台參與的部分,則是在基地台端,須對每一用戶台的每一連線設定資料結構,來儲存對應的SA參數。  

授權訊息交換  

授權訊息交換包含以下三個步驟,在主要管理通道上進行:  

步驟1. SS→BS 製造商憑證  

步驟2. SS→BS 用戶台憑證 | 加密能力 | SAID  

步驟3. BS→SS RSA編碼(用戶台公鑰、AK) | AK生命週期 | 4位元序號 | SAID串列  

因為在網路進入程序中,是由用戶台請求加入網路,且是單項認證,故在步驟1與步驟2,首先由用戶台送出認證資訊。其中包括製造商憑證與用戶台憑證、用戶台所支援的加密能力與主要SAID。步驟1僅單純提供資訊,因為基地台在收到製造商憑證後,主要是要取得製造商的公鑰來驗證步驟2的用戶台憑證。但如果基地台與用戶台都是由同一營運商布建,合法的公鑰其實可透過管理面的供應機制預存在基地台端。  

用戶台支援的加密能力目前最多只有五種。由於數目不多,實做上可用一個陣列來儲存(表1),規格中分列三個表,但代碼相同。其中0x020103在D5版之前為0x02000,D5後是唯一提供資料認證的。傳輸時是以類型長度值(Type-length-value, TLV)的格式傳送相關密碼組串列(Cryptographic-Suite-List)。其TLV可以是巢狀,實做時在資料結構的處理上有點繁瑣。  

步驟2中的SAID乍看之下也許讓人覺得奇怪,因為加密能力尚未協商,如何已經選定SA呢?這裡的SAID值,即是在初始測距時從信標訊號中取得的基本CID值。基地台收到後,依據用戶台的加密能力選定一組SA,並將其SAID值設為此CID。  

若基地台確認用戶台無誤後,基地台便在其資料結構中儲存授權SA相關資料,其中包含AK。AK的產生在WiMAX標準中並未規範,在本文的實做中,是用亂數產生。標準中提到基地台一次產生兩把AK後啟動計時器,計算AK的生命週期,實做時亦可等到收到授權狀態機從用戶台再送出授權請求時,再產生第二把AK並啟動其計時器即可。  

在步驟3中,基地台取得用戶台憑證所包含的公鑰,經由RSA演算法對AK加密,再配上AK的生命週期、序號,及一串基地台同意用戶台採用的加密認證技術(包括對應的SAID)傳回給用戶台。至此,授權訊息交換便告一段落,除非網路連線中斷,再重覆一次網路進入程序,否則憑證不需重新交換。  

圖2顯示AK的生命週期(Lifetime)。用戶台須考量系統延遲,自行計算一段寬限期(Grace Time),在有效AK快過期時,就向基地台發出授權請求,以取得新的AK。在授權回覆中的AK生命週期是前一個AK剩餘的生命週期加上一個AK原本應有的生命週期。  

金鑰訊息交換  

金鑰訊息交換則是接著建立用戶台與基地台間的資料SA。標準中提到,在上述步驟3完成後,用戶台會從基地台回傳的SAID串列中,每一個支援的SA,將啟動一個TEK狀態機。其作用在依據其對應的SA,產生TEK並定時取得新的TEK。含以下兩個步驟,也是在主要管理通道上進行:  

步驟4. SS→BS AK序號 | SAID | 上鏈HMAC  

步驟5. BS→SS AK序號 | SAID | TEK-old | TEK-new | 下鏈HMAC  

在步驟4之前,用戶台已透過儲存器中的私鑰,經由RSA演算法解回步驟3中基地台傳來的AK值。接下來步驟4便是所謂的金鑰請求;而步驟5則是基地台的金鑰回覆。可以發現步驟4與步驟5都含有一個HMAC,這是為滿足密碼學中資料交換的完整性所計算的特徵值(Digest)。這回基地台不能像之前步驟3在實做上只產生一把AK,而必須一次產生兩把TEK回傳給用戶台。  

訊息的傳輸也是透過TLV格式,如步驟5中TEK-old還包含TEK的初始向量(Initial Vector, IV)、生命週期、2位元TEK序號;TEK-new中包含的資訊與TEK-old相同,但序號則比TEK-old大1號(Modulo 4)。兩把TEK都已由KEK加密。由於KEK是由AK導出,而AK相當於用戶台與基地台間的共用密鑰(Shared Key),用戶台收到時可由AK導出KEK再解回TEK。基地台端TEK的產生與AK相同,標準中亦未規範,在本實做中,仍以亂數產生。  

HMAC-Digest有160位元,是經由SHA演算法對整個訊息封包做計算SHA(Padding | AK),如此基地台與用戶台可確認目前連線兩端是否擁有正確的AK值。在此補充,上鏈HMAC的補白(Padding)是64個含0x5C值的位元組;下鏈HMAC的補白是64個含0x3A值的位元組。  

KEK則有128位元,也是經由SHA演算法從AK算出SHA後,去除右邊4個位元組截短為128位元,補白則為64個含0x53值的位元組。TEK的加密方式,依據表1,有3-DES、RSA與AES ECB模式三種。在3-DES下,是取KEK左右各64個位元,經由3-DES演算法而得,公式如下:  

加密:Cipher-text = Ek1[Dk2[Ek1[Plain-Text]]]  

解密:Plain-text = Dk1[EK2[Dk1[Cipher-Text]]]  

k1為KEK左邊64個位元;k2為KEK右邊64個位元;E[ ]為56位元DES EBC加密;D[ ]為56位元DES EBC解密。在AES ECB模式下,則直接以128位元KEK經由AES演算法而得,公式如下:  

加密: Cipher-text = Ek[Plain-Text]  

解密: Plain-text = Dk[Cipher-Text]  

k為128位元KEK;E[ ]為128位元AES ECB模式加密;D[ ]為128位元AES EBC解密。對於每一個SA,用戶台都要執行以上兩個步驟,來進入TEK狀態機的運作狀態(Operational State)。如果基地台中途因某種原因,欲修改SA或提前更換TEK,則基地台可主動對用戶台發出  

BS --> SS AK序號 | SAID-new | 下鏈HMAC  

用戶台在收到後,便會再回頭執行一次步驟4。如果上述訊息的SAID-new與上次執行步驟4時的SAID一樣,便達到更換TEK的目的;如果不同,則步驟4必須使用SAID-new。這時,用戶台與基地台便一起連SA也更換。  

圖3顯示TEK的生命週期。如同AK的生命週期,TEK的生命週期也是重疊的。而用戶台必須主動請求換TEK,也同樣應用寬限期。基地台用舊的TEK來加密下鏈資料,而上鏈收到的資料的解密,則端視用戶台是用新或舊的TEK;用戶台則剛好相反,用新TEK加密上鏈資料,而用舊或新的TEK來解密下鏈資料。  

TEK 狀態機與授權狀態機看起來差不多。但多了一個Op Re-Auth Wait狀態,主要因應兩個狀態機同時須要換金鑰。當TEK狀態機運行到須發出金鑰請求(用戶台的TEK快過期)的同時,授權狀態機正好要做重新授權(Reauthorization),更換AK。這時TEK狀態機須先進入此一狀態,待授權狀態機完成重新授權後,其自會發出一個授權完成(Authorization Completed)的事件,來啟動TEK狀態機回到Op Wait的狀態。此時金鑰回覆便會用新的KEK來加密TEK。  

至此,私鑰管理的介紹告一段落。實做上,控制面一般在處理器上進行,即包括AK的產生與RAS加密、KEK與HMAC的推導、TEK的加密等;資料面則是對傳輸通道上傳輸資料的加密,一般由晶片提供。用戶台在取得TEK後,便呼叫相應的硬體應用程式介面(API)設定金鑰。MAC通用子層在傳輸或接收資料時,若該連線的封包是必須經過加解密的,經過安全子層的資料面傳上來,硬體便已完成加解密,交給通用子層做後續處理。  

資料加密只針對MAC服務資料單元(MSDU),而MAC協定資料單元(MAC Protocol Data Unit, MPDU)前面的6個位元組標頭(Generic MAC Header, GMH)與末尾的4個位元組循環冗餘檢查(CRC)是不加密的。TEK資料加密技術共有三種,如表1最左邊一欄所示,其中最常用的是複雜度較低的DES-CBC模式,如圖4所示。  

邏輯上,加密完GMH會設定使用的TEK,而CRC也會重新計算。實做上,往往是先設定GMH中的TEK,再交給晶片由硬體API據以算出密文(Cyphertext)與CRC。  

WiMAX的私鑰管理不僅使用憑證,又使用AK、KEK、TEK三種金鑰,以及特徵值等,可見規格設計者的用心。目前最大的問題,可能還在於缺乏用戶台與基地台間的相互認證(Mutual Authentication)機制。單方面認證的結果,任何在步驟1與步驟2攔截到用戶台憑證者,都有可能可以假冒合法基地台,發送AK以及後續的TEK給用戶台。  

SA安全組合  

如同前述,一組SA代表以一某套密碼學作用於一個連線的安全參數與相關加密資料。以下介紹WiMAX兩類安全組合:授權安全組合(Authorization SA)與資料安全組合(Data SA)的內容,實做時須以資料結構來儲存:  

授權安全組合  

授權安全組合有一組,包括:  

‧用戶台的X.509憑證  

‧AK  

‧AK序號  

‧AK生命週期(以秒為單位)  

‧KEK  

‧下鏈HMAC  

‧上鏈HMAC  

‧所屬的資料安全組合(可以用鏈結串列或陣列來實現)  

資料安全組合  

資料安全組合有多組,呼應動態產生的傳輸通道,包括:  

‧SAID  

‧資料加解密演算法(表1)  

‧TEK-old與其序號  

‧TEK-new與其序號  

‧TEK-old的初始向量  

‧TEK-new的初始向量  

‧TEK-old的生命週期  

‧TEK-new的生命週期  

由先前對私鑰管理協定中兩個狀態機的描述,可知資料安全組合的產生是架構於授權安全組合上。如果AK過期而用戶台未能即時取得新的AK,則實做程式需走過授權安全組合的鏈結串列或陣列,將其所屬的一串資料安全組合清除。  

本文涵蓋802.16主要的安全元件和認證與加密流程。WiMAX與其他無線網路相較之下已較進階與安全,但還有許多部分須要加強。WiMAX以其高頻寬與高覆蓋的特性,極有可能成為促成固網行動融合(FMC)的重要傳輸服務技術,其安全性的強化不可忽視。WiMAX行動性的安全定義在802.16e-2005與WiMAX論壇系統架構,新加入了處理客戶端在基地台間移動的安全考量,預計在下期繼續介紹。  

(本文作者任職於資策會WiMAX技術中心)  

(詳細圖表請見新通訊64期7月號)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!