《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > WiMAX數(shù)據(jù)傳輸加密方案設(shè)計(jì)與實(shí)現(xiàn)
WiMAX數(shù)據(jù)傳輸加密方案設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:通信產(chǎn)業(yè)網(wǎng)
摘要: 在各種通信設(shè)備和終端電子產(chǎn)品設(shè)計(jì)方法中,,為使產(chǎn)品具有更強(qiáng)大的功能,,越來(lái)越多地采用了嵌入式系統(tǒng),WiMAX無(wú)線通信設(shè)備亦是如此。因此設(shè)計(jì)和開(kāi)發(fā)現(xiàn)代網(wǎng)絡(luò)和通信技術(shù)中的安全技術(shù)時(shí),,必須和嵌入式技術(shù)結(jié)合在一起,。本文提出和實(shí)現(xiàn)了一種基于AES-CCM加密算法和ARM+VxWorks嵌入式系統(tǒng)的WiMAX無(wú)線接入設(shè)備加密技術(shù)解決方案,,并給出了算法模塊在設(shè)備中的應(yīng)用方法,。
關(guān)鍵詞: 2.5G|3G WiMAX 數(shù)據(jù)傳輸
Abstract:
Key words :

      在各種通信設(shè)備和終端電子產(chǎn)品設(shè)計(jì)方法中,為使產(chǎn)品具有更強(qiáng)大的功能,,越來(lái)越多地采用了嵌入式系統(tǒng),,WiMAX無(wú)線通信設(shè)備亦是如此。因此設(shè)計(jì)和開(kāi)發(fā)現(xiàn)代網(wǎng)絡(luò)和通信技術(shù)中的安全技術(shù)時(shí),,必須和嵌入式技術(shù)結(jié)合在一起,。本文提出和實(shí)現(xiàn)了一種基于AES-CCM加密算法和ARM+VxWorks嵌入式系統(tǒng)的WiMAX無(wú)線接入設(shè)備加密技術(shù)解決方案,,并給出了算法模塊在設(shè)備中的應(yīng)用方法。


1 算法實(shí)現(xiàn)原理

     AES對(duì)稱密碼已經(jīng)廣泛應(yīng)用于數(shù)據(jù)的保密和數(shù)據(jù)完整性認(rèn)證,。在具體運(yùn)用時(shí),,都會(huì)選擇一種具體的工作模式。目前AES算法已有多種工作模式,,例如:ECB,,CBC,CFB,,OFB,,CRT,CCM,,GCM和AESKW,。其中CCM(Counter with Cipher Block Chaining-Message Authentication Code)模式是一種同時(shí)提供加密和鑒別服務(wù)的全新操作模式。

1.1 CCM模式原理

    使用CCM模式的基本條件包括,,發(fā)送方和接收方定義相同的分組密碼算法Ek()(這里為AES加密算法),、密鑰K、記數(shù)器發(fā)生函數(shù),、格式化函數(shù)F()和鑒別標(biāo)記長(zhǎng)度Tlen,、有效載荷長(zhǎng)度Plen、隨機(jī)值N,。加密算法過(guò)程如下:


    格式化函數(shù)F將N,,A,P整合在一起,,并分組為r個(gè)數(shù)據(jù)塊,。對(duì)數(shù)據(jù)塊加密,得到MAC值T,,加密計(jì)數(shù)器發(fā)生函數(shù)產(chǎn)生的計(jì)數(shù)塊,,加密所得sj和P與T異或得到密文C。解密過(guò)程則相反,。


1.2 AES算法原理

    AES算法加密過(guò)程由4個(gè)不同的處理階段組成,,稱為:字節(jié)代換,、行移位,、列混淆、輪密鑰加,。輸入數(shù)據(jù)數(shù)組state進(jìn)行10輪上述處理后,,得到加密密文。結(jié)構(gòu)如圖1所示,。

                         


2 WiMAX中CCM應(yīng)用規(guī)則改進(jìn)

    在802.16協(xié)議中規(guī)定PDU數(shù)據(jù)包加密后結(jié)構(gòu)如圖2所示,。

     6個(gè)字節(jié)的包頭和4個(gè)字節(jié)的PN不需要經(jīng)過(guò)加密處理,。PN(Packet Number)在協(xié)議中規(guī)定用于防止重放攻擊,如當(dāng)前收到的數(shù)據(jù)包的PN小于前一個(gè)數(shù)據(jù)包的PN時(shí),,當(dāng)前收到的數(shù)據(jù)包將被丟棄,。PN在發(fā)第一個(gè)包時(shí)值為1,以后每發(fā)一個(gè)包則加1,。由于PN和包頭都未經(jīng)加密處理,,當(dāng)竊聽(tīng)者得到一個(gè)PDU時(shí),將得到當(dāng)前PN,,并推導(dǎo)出以后各個(gè)數(shù)據(jù)包的PN值,。因此引進(jìn)CCM模式雖然能提高攻擊者進(jìn)行重放攻擊的難度和成本,但并不能在技術(shù)上徹底防止重放攻擊,。這里采用對(duì)PN進(jìn)行加密處理來(lái)防止由于PN值泄露而遭受可能的重放攻擊,。加密算法選擇AES算法,密鑰為802.16協(xié)議中的密鑰加密密鑰(KEK),。AES,,KEK在系統(tǒng)中是用于對(duì)傳輸加密密鑰(TEK)進(jìn)行加密處理的,本身已經(jīng)存在于系統(tǒng)中,,而且被良好地設(shè)計(jì),,在控制信息交互過(guò)程中,KEK定時(shí)更新,。因此采用該方法不會(huì)給系統(tǒng)帶來(lái)額外的開(kāi)銷,,不需要引入新的加密算法,不需要維護(hù)密鑰,。采用該方法PDU加密后結(jié)構(gòu)如圖3所示,。


    由于對(duì)PN進(jìn)行AES加密處理,因此加密后的PN長(zhǎng)度將為16個(gè)字節(jié),。這降低了傳輸數(shù)據(jù)中有效載荷DATA的百分比,,不過(guò)在實(shí)際應(yīng)用中DATA往往達(dá)到上千或上萬(wàn)個(gè)字節(jié)。因此為提高安全性和抗攻擊性,,犧牲如此少的傳輸效率是值得的,。


3 AES-CCM算法實(shí)現(xiàn)及結(jié)果分析

    算法模塊基于富士通3400 WiMAX開(kāi)發(fā)板ARM+VxWorks平臺(tái)開(kāi)發(fā),采用通用C庫(kù)函數(shù),,可以方便地移植到各種需要安全加密處理的嵌入式產(chǎn)品中,。程序提供兩個(gè)接口,AES算法接口和AES-CCM算法接口,。前者可以用于對(duì)傳輸加密密鑰TEK的加密處理,,后者可以用于對(duì)傳輸數(shù)據(jù)的加密處理,使用者只需簡(jiǎn)單的調(diào)用函數(shù)即可,。程序框圖如圖4所示,。


程序中實(shí)現(xiàn)了802.16 MAC PDU的構(gòu)建,、8 bCRC報(bào)頭校驗(yàn)、32 bC2RC PDU校驗(yàn),、CCM加密模塊,、CCM解密模塊、AES加密模塊,。

3.1 算法關(guān)鍵模塊實(shí)現(xiàn)

3.1.1 CCM加密模塊

    AES-CCM算法中,,加密函數(shù)使用128 b密鑰長(zhǎng)度的AES算法。加密前后WiMAX MAC PDU結(jié)構(gòu)變化如圖5所示,。

    CCM加密模塊流程如圖6,。該模塊輸入為密鑰K和明文P。在計(jì)算MAC T和計(jì)數(shù)塊S時(shí),,調(diào)用AES加密程序,。

                               

3.1.2 密鑰K

    在密鑰生成方法中,采用了隨即函數(shù)rand()和系統(tǒng)時(shí)鐘函數(shù)tickGet(),,可以保證密鑰的惟一性和更高的不可推測(cè)性,。程序如下:

3.1.3 計(jì)數(shù)器發(fā)生函數(shù)

    計(jì)數(shù)器發(fā)生函數(shù)產(chǎn)生的計(jì)數(shù)塊,由PDU報(bào)頭,,PN,,遞增的整數(shù)i構(gòu)造,長(zhǎng)16個(gè)字節(jié)即128 b,。函數(shù)如下:ctr preload為數(shù)組名,,該數(shù)組用于存放生成的計(jì)數(shù)塊;modu為指向PDU數(shù)據(jù)的指針;pn vector為PN;i為遞增的整數(shù),每計(jì)算一次計(jì)數(shù)塊后加1,。

3.2 算法模塊應(yīng)用方法設(shè)計(jì)和實(shí)現(xiàn)

    算法模塊的應(yīng)用方法主要根據(jù)TEK(傳輸加密密鑰)和CID(連接標(biāo)志)的對(duì)應(yīng)關(guān)系設(shè)計(jì),。在802.16協(xié)議中每一個(gè)CID都對(duì)應(yīng)惟一的密鑰資源,因此可以根據(jù)CID找到對(duì)應(yīng)的密鑰,。在系統(tǒng)中創(chuàng)建兩個(gè)表,,一個(gè)是TEK表:用于存放加密密鑰;另一個(gè)是CID表:用于存放CID值和對(duì)應(yīng)密鑰索引。CID表中記錄結(jié)構(gòu)如圖7所示,。Type字段表示使用的加密方法,,O表示DES-CBC,1表示AES-CCM;Key index字段值表示該CID標(biāo)志對(duì)應(yīng)的密鑰信息,,在TEK表中的索引位置;CID字段表示CID標(biāo)志值,。

    發(fā)送端算法模塊調(diào)用流程:在數(shù)據(jù)發(fā)送前,系統(tǒng)檢測(cè)報(bào)頭中加密控制位的值,,如為1則表示該P(yáng)DU需要加密處理,,再根據(jù)報(bào)頭中密鑰索引號(hào)及加密模式選擇位,選擇特定的加密算法和密鑰,,對(duì)數(shù)據(jù)進(jìn)行加密處理,,如加密方法為AES-CCM,則調(diào)用CC2M加密模塊對(duì)數(shù)據(jù)進(jìn)行加密,。


    接收端算法模塊調(diào)用流程:當(dāng)接收到一個(gè)PDU數(shù)據(jù)時(shí),,系統(tǒng)先檢測(cè)報(bào)頭中的CID標(biāo)志值是否存在于本地CID表中,如不存在則丟棄該P(yáng)DU;如存在則找到對(duì)應(yīng)的CID記錄,,從中讀取Type和Key
index的值,,根據(jù)Key index值,從TEK表中讀取解密密鑰,,然后調(diào)用CCM解密模塊對(duì)PDU進(jìn)行解密處理,。

3.3 算法測(cè)試

    測(cè)試密鑰Key和數(shù)據(jù)PDU如下:

                            

    發(fā)送端加密后的密文,一共包含3個(gè)部分,。起始的10個(gè)字節(jié)為6個(gè)字節(jié)的PDU報(bào)頭和4個(gè)字節(jié)的PN;從末尾算起的4個(gè)字節(jié)為32 b的CRC校驗(yàn)碼;其余分別是33個(gè)字節(jié)的凈荷密文和8個(gè)字節(jié)的分組鏈接模式校驗(yàn)碼密文,。

    接收端解密后的PDU起始10個(gè)字節(jié)為報(bào)頭和PN;其后的33個(gè)字節(jié)和明文P的33個(gè)字節(jié)的數(shù)據(jù)凈荷相同;最后的4個(gè)字節(jié)為CRC校驗(yàn)碼,用于接收端的CRC校驗(yàn),。

    第44個(gè)到51個(gè)字節(jié)為解密后的8個(gè)字節(jié)的分組鏈接模式校驗(yàn)碼,。在CCM解密程序中,對(duì)解密后得到的PDU,,計(jì)算分組鏈接模式校驗(yàn)碼,,將計(jì)算結(jié)果和解密所得的分組鏈接模式校驗(yàn)碼相比較,若相同則表示密文在傳輸過(guò)程中沒(méi)有被篡改破壞,,這樣可以校驗(yàn)傳輸數(shù)據(jù)的完整性,。


    上述結(jié)果表明本文設(shè)計(jì)的AES-CCM模塊和模塊應(yīng)用方法,能正常工作,,能滿足WiMAX設(shè)備的實(shí)際需要,。

4 方案比較

    當(dāng)前,WiMAX設(shè)備方案提供商,,對(duì)數(shù)據(jù)加密模塊主要有2種實(shí)現(xiàn)方案:

   (1)采用專門(mén)的硬件算法模塊;

    (2)采用高速DSP芯片,。

    方法(1)的優(yōu)點(diǎn)是速度快,價(jià)格便宜但可擴(kuò)展性和可升級(jí)性不強(qiáng);方法(2)既有速度快的優(yōu)點(diǎn),,也有很好的可擴(kuò)展性和可升級(jí)性,,但成本比較高。在采用這2種方案的設(shè)備中,,通常需要一個(gè)額外的嵌入式系統(tǒng)來(lái)控制通信設(shè)備的運(yùn)行,,因此系統(tǒng)會(huì)比較復(fù)雜,成本較高,。


    本文的設(shè)計(jì)方法,,將算法設(shè)計(jì)成嵌入式系統(tǒng)的一個(gè)軟件模塊,使用時(shí)只需直接調(diào)用即可。優(yōu)點(diǎn)是:使用方便,,而且由于系統(tǒng)沒(méi)有外接獨(dú)立的加密模塊,,可以有效地降低系統(tǒng)的復(fù)雜度和成本。缺點(diǎn)是:加密工作由主控CPU來(lái)完成,,會(huì)占用相當(dāng)一部分系統(tǒng)資源,,因此適用于那些沒(méi)有復(fù)雜功能的通信設(shè)備,例如端口較少的無(wú)線接入設(shè)備或WiMAX網(wǎng)卡等,。


5 結(jié) 語(yǔ)

    目前在IEEE802.16和802.11i協(xié)議中,,都采用AES-CCM算法為數(shù)據(jù)加密算法,并被包含在RFC3610中,。在這種情形下,,本文在對(duì)該算法深入分析后,對(duì)AES算法和CCM模式的隱患給出了改進(jìn),,并給出了嵌入式WiMAX開(kāi)發(fā)板平臺(tái)下的AES-CCM算法實(shí)現(xiàn)和應(yīng)用方法的設(shè)計(jì)及實(shí)現(xiàn),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。