欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種無(wú)線局域網(wǎng)wapi和ccmp加解密的方法

文檔序號(hào):7928257閱讀:277來(lái)源:國(guó)知局
專利名稱:一種無(wú)線局域網(wǎng)wapi和ccmp加解密的方法
技術(shù)領(lǐng)域
本發(fā)明涉及無(wú)線局域網(wǎng)領(lǐng)域安全通信的硬件加解密實(shí)現(xiàn)方法,即WAPI和CCMP加 解密算法在硬件實(shí)現(xiàn)中的共存,以及算法實(shí)現(xiàn)時(shí)的數(shù)據(jù)加解密和完整性校驗(yàn)串行處理的方 法。
背景技術(shù)
在無(wú)線局域網(wǎng)中,數(shù)據(jù)通信安全是一個(gè)非常重要的話題。IEEE802. 11協(xié)議族在不 斷發(fā)展的過(guò)程中,發(fā)布了關(guān)于數(shù)據(jù)安全通信的IEEE802. lli協(xié)議,該協(xié)議給出了無(wú)線局域 網(wǎng)安全通信的最終解決方案,即CCMP加解密算法。在IEEE802. lli提出的同時(shí),我國(guó)為了 通信安全需要,提出了我們具有自主知識(shí)產(chǎn)權(quán)的無(wú)線局域網(wǎng)安全協(xié)議——WAPI,該協(xié)議也 可以很好地解決無(wú)線局域網(wǎng)的安全通信問(wèn)題。 目前,支持同時(shí)CCMP和WAPI協(xié)議的無(wú)線局域網(wǎng)芯片已經(jīng)非常普遍,但如何把這兩 種加解密協(xié)議統(tǒng)一起來(lái),低成本實(shí)現(xiàn)硬件設(shè)計(jì),仍是無(wú)線局域網(wǎng)芯片設(shè)計(jì)需要解決的關(guān)鍵 問(wèn)題之一。

發(fā)明內(nèi)容
本發(fā)明提供了一種無(wú)線局域網(wǎng)WAPI和CCMP加解密算法共存的方法,以及硬件 實(shí)現(xiàn)加解密算法內(nèi)部串行處理的方法,在最大限度上降低了硬件實(shí)現(xiàn)的電路規(guī)模,有利于 WAPI和CCMP兩種加解密協(xié)議在無(wú)線局域網(wǎng)芯片中的共存。 本發(fā)明的具體方案分為兩個(gè)部分一個(gè)為WAPI和CCMP加解密算法硬件實(shí)現(xiàn)共存 結(jié)構(gòu),另一個(gè)為硬件實(shí)現(xiàn)的加解密算法內(nèi)部串行處理的方法。 WAPI和CCMP加解密算法硬件共存的特征是兩種加解密的核心算法SMS4和AES 公用一套外圍數(shù)據(jù)通路,從而達(dá)到節(jié)約外圍電路的目的。通過(guò)加解密類型選擇,啟動(dòng)相應(yīng)的 WAPI或者CCMP加解密,數(shù)據(jù)流圍繞SMS4或者AES的外圍流動(dòng),完成協(xié)議要求的加解密過(guò) 程。WAPI和CCMP公用了主要的數(shù)據(jù)通路,只有在數(shù)據(jù)初始化運(yùn)算時(shí),有部分各自獨(dú)立的數(shù) 據(jù)通路。通過(guò)公用,本方法節(jié)約了相當(dāng)于WAPI或者CCMP其中一個(gè)算法的外圍電路。
為了進(jìn)一步降低成本,在滿足芯片吞吐率的情況下,WAPI和CCMP算法在硬件實(shí)現(xiàn) 時(shí)采取了串行運(yùn)算,即數(shù)據(jù)加解密和數(shù)據(jù)完整性校驗(yàn)這兩個(gè)運(yùn)算不同時(shí)運(yùn)算,而是使二者 的運(yùn)算在時(shí)間上錯(cuò)開(kāi),從而可以用l個(gè)加密核即可完成協(xié)議的加密算法。本方法相比并行 算法,可以節(jié)約1個(gè)SMS4和1個(gè)AES加密核,從而降低了電路規(guī)模。


圖1是WAPI和CCMP加解密數(shù)據(jù)通路。其中EZ2線路表示由WAPI數(shù)據(jù)流獨(dú)享, EHSI3線路由CCMP數(shù)據(jù)流獨(dú)享,^]線路由WAPI和CCMP數(shù)據(jù)流共享。
圖2是WAPI和CCMP加解密控制狀態(tài)機(jī)。 圖3是加解密算法內(nèi)部實(shí)現(xiàn)數(shù)據(jù)加解密和完整性校驗(yàn)流程圖。
具體實(shí)施例方式
以下結(jié)合附圖,具體說(shuō)明本發(fā)明。 如圖1所示為WAPI和CCMP加解密算法共存的硬件數(shù)據(jù)通路,該通路在圖2的狀 態(tài)機(jī)控制下運(yùn)算,完成相應(yīng)的運(yùn)算。狀態(tài)機(jī)共分為兩路一路為WAPI運(yùn)算通路, 一路為CCMP 運(yùn)算通路。從CCMP_WPI_IDLE開(kāi)始,兩種運(yùn)算都要通過(guò)初始化運(yùn)算的階段,如CCMP要經(jīng)過(guò) CCMP_IV、CCMP_AAD1 、CCMP_AAD2 (WAPI相應(yīng)從WPI_IV WPI_AAD3),然后進(jìn)入數(shù)據(jù)加密運(yùn)算 狀態(tài)(CCMPJXM或WPIJ)FB)和數(shù)據(jù)完整性校驗(yàn)(CCMP—CBC或WPI—CBC)狀態(tài),當(dāng)運(yùn)算完成, 依次跳轉(zhuǎn)到CCMP_WPI_D0NE或CCMP_WPI_IDLE狀態(tài),完成加解密運(yùn)算。在各個(gè)狀態(tài)跳轉(zhuǎn)過(guò)程 中會(huì)產(chǎn)生相應(yīng)的控制信號(hào)控制圖1中數(shù)據(jù)的流向。核心算法為圖1中間的AES和SMS4加 密核,通過(guò)外圍數(shù)據(jù)通路與這兩加密核搭建成了 WAPI和CCMP共存的數(shù)據(jù)通路。中間的加 密核在WAPI起作用時(shí)采用SMS4, CCMP起作用時(shí)采用AES。在CCMP模式下,CBC和CCM采用 的密鑰相同,采用key 1 ,在WAPI模式下,CBC和0FB密鑰不同,需要key 1和key2交替輸入。 加密核的輸出需要由寄存器鎖存,即CBC的輸出以及CCM/OFB的輸出都要鎖存。在WAPI模 式下,OFB最后的輸出需要特殊處理,即最后加密MIC的密鑰流需要采用移位并和前一次未 用的密鑰流組合成真正的128bit的密鑰流對(duì)MIC進(jìn)行加密,這也是增加ccm/ofb reg寄存 器的主要原因。128bit位寬的compare模塊主要是用來(lái)在解密時(shí),對(duì)MIC進(jìn)行校驗(yàn),判斷接 收到的MIC是否正確。輸入端m模塊表示解密模式下,密文被解密后送入CBC運(yùn)算事需要 根據(jù)情況做變換即最后一個(gè)mpdu片段不足128bit時(shí),不足部分補(bǔ)零。
圖3中CBC(Cipher Block Chain) —行指的是計(jì)算CCMP和WAPI的完整性校驗(yàn) 算法,CCM (Counter Mode-CBC MAC)指的是CCMP中計(jì)算密鑰流的算法,OFB (Output Feed Back)指的是WAPI計(jì)算密鑰流的算法,rd指的是圖2狀態(tài)機(jī)發(fā)出的讀數(shù)據(jù)命令,wr指的是 圖2狀態(tài)機(jī)發(fā)出的寫(xiě)數(shù)據(jù)命令,其中MPDU1、MPDU2….MPDUn為數(shù)據(jù)完整性校驗(yàn)運(yùn)算階段,1st key、2nd key Nth key為生成加密或解密所需密鑰的運(yùn)算階段,mic key為生成加密完整性 校驗(yàn)碼MIC的密鑰過(guò)程。 CCMP和WAPI加解密的具體步驟如下 (1)當(dāng)CCMP/WAPI加密開(kāi)始后,在開(kāi)始的初始化運(yùn)算中,由狀態(tài)機(jī)控制,ccmp—cbc— iv/wpi_cbc_iv、 ccmp_aadl/wpi_aadl、 ccmp_aad2/wpi_aad2分別依次進(jìn)入數(shù)據(jù)通路,結(jié)合 AES/SMS4算法核、以及AES/SMS4的輸出一同參與CBC運(yùn)算;解密情況下,CCMP/WAPI算法初 始化運(yùn)算與上述加密相同; (2)當(dāng)CCMP開(kāi)始數(shù)據(jù)加密運(yùn)算時(shí),采用ccm模式對(duì)輸入的數(shù)據(jù)進(jìn)行加密。ccm作為 AES加密核的輸入,啟動(dòng)AES加密核、AES運(yùn)算完成后,輸出鎖存到128bit寄存器ccm ofb reg中,與明文plaintext進(jìn)行異或運(yùn)算,得到加密后的數(shù)據(jù)dat_o,然后根據(jù)狀態(tài)機(jī)的命令 把數(shù)據(jù)寫(xiě)到對(duì)應(yīng)的存儲(chǔ)空間,寫(xiě)操作與步驟(3)的完整性校驗(yàn)運(yùn)算并行執(zhí)行;WAPI數(shù)據(jù)加 密方法采用ofb模式對(duì)數(shù)據(jù)進(jìn)行加密。數(shù)據(jù)加密運(yùn)算開(kāi)始時(shí),第一次迭代輸入SMS4的參數(shù) 為數(shù)據(jù)幀的PN,其后的迭代采用上次用來(lái)加密數(shù)據(jù)的SMS4的輸出結(jié)果,該結(jié)果為128bit寄 存器ccm ofb reg反饋值wpi—ofb—out。 WAPI加密也是采用寄存器ccm ofb reg的值和明 文plaintext進(jìn)行異或運(yùn)算得到加密后的數(shù)據(jù)dat_o,然后根據(jù)狀態(tài)機(jī)命令寫(xiě)回到相應(yīng)存 儲(chǔ)空間;在解密情況下,兩種算法的運(yùn)算流程和加密相同;如果本運(yùn)算生成的密鑰流不是用來(lái)加密步驟(3)CBC輸出結(jié)果,則運(yùn)算完成后跳轉(zhuǎn)到步驟(3),否則跳轉(zhuǎn)到步驟(4)。
(3)當(dāng)CCMP/WAPI完成數(shù)據(jù)加密,進(jìn)行完整性校驗(yàn)運(yùn)算,把初始化運(yùn)算或者CBC運(yùn) 算的結(jié)果cbc_out與明文wpi_ccmp_cbc異或運(yùn)算后輸入AES/SMS4加密運(yùn)算核,當(dāng)運(yùn)算完 成后,鎖存到cbc reg寄存器中;如果是解密情況下的數(shù)據(jù)完整性校驗(yàn),與cbc_0Ut異或的 明文wpi_cCmp_Cbc是通過(guò)步驟(2)解密后的dat_o得到的,dat_o如果不足128bit,則需 要經(jīng)過(guò)一個(gè)補(bǔ)零操作;本步驟執(zhí)行完畢繼續(xù)執(zhí)行步驟(2); (4)在CCMP/WAPI加密模式下,步驟(2)生成的密鑰流ccm_ofb_out和步驟(3)中 CBC運(yùn)算生成的MIC進(jìn)行異或操作,即得到加密后的MIC,然后寫(xiě)回外部存儲(chǔ)器,加密完成; 在解密模式下,兩種算法動(dòng)作相同,也要執(zhí)行和加密MIC—樣的動(dòng)作,但加密MIC不寫(xiě)回,而 是與讀入的MIC進(jìn)行比較,以確定MIC校驗(yàn)是否正確,進(jìn)行比較運(yùn)算的為一個(gè)128bit位寬 的比較器,當(dāng)比較完成,解密結(jié)束。 需要說(shuō)明的是,步驟(1)中WAPI加解密情況下,如果所處理的數(shù)據(jù)幀包含Qos質(zhì) 量控制域,則初始化運(yùn)算在完成對(duì)wpi—aad2的運(yùn)算后,還需要多運(yùn)算一次,即wpi_aad3接 著輸入SMS4進(jìn)行CBC運(yùn)算,然后才能跳轉(zhuǎn)到步驟(2)。 本發(fā)明提供了一種無(wú)線局域網(wǎng)WAPI和CCMP加解密算法共存的方法,降低了無(wú) 線局域網(wǎng)設(shè)備的雙模化帶來(lái)的成本,提高了其通用性,可以使無(wú)線局域網(wǎng)設(shè)備在WAPI和 IEEE802. lli安全網(wǎng)絡(luò)中兼容,實(shí)現(xiàn)很好的通用性,同時(shí)非常有利于實(shí)現(xiàn)低成本快速的支持 加解密的無(wú)線局域網(wǎng)設(shè)備。 以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明的保護(hù)范圍并不局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的方法,其特征在于,WAPI和CCMP兩種加解密的核心算法SMS4和AES公用一套外圍數(shù)據(jù)通路,從而達(dá)到節(jié)約外圍電路的目的,通過(guò)加解密類型選擇,在狀態(tài)機(jī)控制下啟動(dòng)相應(yīng)的WAPI或者CCMP加解密,數(shù)據(jù)流圍繞SMS4或者AES的外圍流動(dòng),完成協(xié)議要求的加解密過(guò)程,實(shí)現(xiàn)鎖存SMS4和AES輸出結(jié)果的寄存器的復(fù)用、輸入數(shù)據(jù)通路以及校驗(yàn)MIC時(shí)的比較器的復(fù)用。
2. 如權(quán)利要求1所述的一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的方法,其特征在于WAPI 和CCMP加解密的過(guò)程在各個(gè)狀態(tài)跳轉(zhuǎn)過(guò)程中會(huì)產(chǎn)生相應(yīng)的控制信號(hào)控制數(shù)據(jù)的流向,控 制信號(hào)通過(guò)外圍數(shù)據(jù)通路與WAPI和CCMP加密核搭建成了兩者共存的數(shù)據(jù)通路,步驟如 下(1) 當(dāng)CCMP/WAPI加密開(kāi)始后,在開(kāi)始的初始化運(yùn)算中,由狀態(tài)機(jī)控制,CCmp_CbC_iv/ wpi_cbc_iv、 ccmp_aadl/wpi_aadl、 ccmp_aad2/wpi_aad2分別依次進(jìn)入數(shù)據(jù)通路,結(jié)合 AES/SMS4算法核、以及AES/SMS4的輸出一同參與CBC運(yùn)算;解密情況下,CCMP/WAPI算法初 始化運(yùn)算與上述加密相同;(2) 當(dāng)CCMP開(kāi)始數(shù)據(jù)加密運(yùn)算時(shí),ccm作為AES加密核的輸入,啟動(dòng)AES加密核、運(yùn)算 完成后AES的輸出鎖存到128bit寄存器ccm ofb reg中,然后與明文plaintext進(jìn)行異或 運(yùn)算,得到加密后的數(shù)據(jù)dat—o,根據(jù)狀態(tài)機(jī)的命令把數(shù)據(jù)寫(xiě)到對(duì)應(yīng)的存儲(chǔ)空間,寫(xiě)操作與 步驟(3)的完整性校驗(yàn)運(yùn)算并行執(zhí)行;WAPI數(shù)據(jù)加密方法采用SMS4加密核,數(shù)據(jù)加密運(yùn)算 第一次迭代采用的輸入為數(shù)據(jù)幀的PN,其后的迭代采用上次用來(lái)加密數(shù)據(jù)的SMS4的輸出 結(jié)果,該結(jié)果為128bit寄存器ccm ofb reg反饋值wpi—ofb—out,同理,WAPI加密也是采用 寄存器ccm ofb reg的值和明文plaintext進(jìn)行異或運(yùn)算得到加密后的數(shù)據(jù)dat—o,然后根 據(jù)狀態(tài)機(jī)命令寫(xiě)回到相應(yīng)存儲(chǔ)空間;在解密情況下,兩種算法的運(yùn)算流程和加密相同;(3) 當(dāng)CCMP/WAPI完成數(shù)據(jù)加密,進(jìn)行完整性校驗(yàn)運(yùn)算,把初始化運(yùn)算或者CBC運(yùn)算的 結(jié)果cbc_out與明文wpi_ccmp_cbc異或運(yùn)算后輸入AES/SMS4加密運(yùn)算核,當(dāng)運(yùn)算完成后, 鎖存到cbc reg寄存器中;如果是解密情況下的數(shù)據(jù)完整性校驗(yàn),與cbC_out異或的明文 wpi_CCmp_Cbc是通過(guò)步驟(2)解密后的dat_o得到的,dat_o如果不足128bit,則需要經(jīng) 過(guò)一個(gè)補(bǔ)零操作;本步驟執(zhí)行完畢繼續(xù)執(zhí)行步驟(2);(4) 在CCMP/WAPI加密模式下,步驟(2)生成的密鑰流ccm—ofb—out和步驟(3)中生 成的MIC進(jìn)行異或操作,即得到加密后的MIC,然后寫(xiě)回外部存儲(chǔ)器,加密完成;在解密模式 下,兩種算法動(dòng)作相同,也要執(zhí)行和加密MIC —樣的動(dòng)作,但加密MIC不寫(xiě)回,而是與讀入的 MIC進(jìn)行比較,以確定MIC校驗(yàn)是否正確,進(jìn)行比較運(yùn)算的為一個(gè)128bit位寬的比較器,當(dāng) 比較完成,解密結(jié)束。
3. 如權(quán)利要求1或2所述的一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的方法,其特征在于 所述步驟(1)中如果數(shù)據(jù)幀中存在qos質(zhì)量控制域,則WAPI初始化運(yùn)算還需要多做一次, 即輸入wpi_aad3進(jìn)行CBC運(yùn)算。
4. 如權(quán)利要求1或2所述的一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的方法,其特征在于 所述步驟(2)中如果當(dāng)前運(yùn)算為生成加密MIC所需密鑰流的過(guò)程,則當(dāng)前運(yùn)算完成后跳轉(zhuǎn) 到步驟(4),否則跳轉(zhuǎn)到步驟(3)。
5. 如權(quán)利要求1所述的一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的方法,其特征在于,WAPI 和CCMP加解密算法在運(yùn)算時(shí),實(shí)現(xiàn)了對(duì)數(shù)據(jù)加解密以及數(shù)據(jù)完整性校驗(yàn)兩個(gè)步驟,這兩個(gè)步驟采用串行處理方式,即在每一種加解密運(yùn)算模式中,數(shù)據(jù)加解密和數(shù)據(jù)完整性校驗(yàn)運(yùn) 算在時(shí)間上都是交替執(zhí)行,從而達(dá)到復(fù)用加密核的效果。
全文摘要
本發(fā)明提供一種無(wú)線局域網(wǎng)WAPI和CCMP加解密的設(shè)計(jì)方法。結(jié)合WAPI和CCMP算法特點(diǎn),使二者在硬件實(shí)現(xiàn)上糅為一體,用一套外圍電路實(shí)現(xiàn)了兩種協(xié)議的加解密。這兩種電路的數(shù)據(jù)加解密和數(shù)據(jù)完整性校驗(yàn)運(yùn)算采用串行運(yùn)算,節(jié)約了加密算法核。
文檔編號(hào)H04L9/06GK101753290SQ20081022798
公開(kāi)日2010年6月23日 申請(qǐng)日期2008年12月4日 優(yōu)先權(quán)日2008年12月4日
發(fā)明者趙彥光 申請(qǐng)人:北京中電華大電子設(shè)計(jì)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南涧| 临桂县| 日土县| 贵州省| 双牌县| 浪卡子县| 栾川县| 黑河市| 泽普县| 河间市| 辽源市| 贵州省| 莲花县| 青海省| 宣城市| 广饶县| 扎赉特旗| 义乌市| 贵州省| 东兴市| 铜鼓县| 双鸭山市| 承德县| 习水县| 阳城县| 英吉沙县| 丹东市| 南川市| 井陉县| 子洲县| 琼中| 阿荣旗| 玉环县| 汶上县| 寿光市| 江华| 沂源县| 白银市| 广德县| 中牟县| 渭南市|