一種可以重用于使用ahb總線(xiàn)系統(tǒng)的從機(jī)結(jié)構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及傳感器網(wǎng)絡(luò)電路領(lǐng)域,尤其涉及一種用于傳感器網(wǎng)絡(luò)電路領(lǐng)域的可以重用于使用AHB總線(xiàn)系統(tǒng)的從機(jī)結(jié)構(gòu)。
【背景技術(shù)】
[0002]隨著移動(dòng)設(shè)備的小型化和普適計(jì)算的快速發(fā)展,以無(wú)線(xiàn)傳感技術(shù)為依托的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)正成為研宄熱點(diǎn)??紤]到無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的通信信道,使用環(huán)境的開(kāi)放性,其安全性成為研宄中面臨的重大問(wèn)題。IEEE802.15.4協(xié)議已經(jīng)成為無(wú)線(xiàn)傳感器網(wǎng)絡(luò)事實(shí)上的應(yīng)用標(biāo)準(zhǔn),該協(xié)議采用基于高級(jí)加密算法AES (Advanced Encrypt1n Standard)的聯(lián)合加密認(rèn)證模式CCM(CTR and CBC-MAC)。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的軟硬件資源非常有限,并且往往是通過(guò)電池供電,其成本和能耗是設(shè)計(jì)時(shí)所必須考慮的關(guān)鍵因素。因此,為無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)獨(dú)立的低能耗、小面積的安全協(xié)處理器成為一大挑戰(zhàn)。
[0003]如今傳感器節(jié)點(diǎn)的適用環(huán)境根據(jù)復(fù)雜,需要面對(duì)更多的應(yīng)用環(huán)境。高性能的微控制器(MCU)是將來(lái)的一種選擇,在這種情況下,設(shè)計(jì)需要適應(yīng)于特定的總線(xiàn)結(jié)構(gòu),并且提高重用性。
[0004]IEEE 802.15.4中的安全套件稱(chēng)為AES-CCM*,它規(guī)定了基于AES加密算法的多種安全模式,包括CTR、CBC-MAC和CCM,可以分別實(shí)現(xiàn)幀的加密、認(rèn)證以及加密與認(rèn)證聯(lián)合模式,從而實(shí)現(xiàn)不同的安全級(jí)別。2000年10月,美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研宄所(NIST)通過(guò)公開(kāi)招標(biāo)選定了新的加密算法Rijndael作為其高級(jí)加密標(biāo)準(zhǔn)(AES)。AES算法是一種分組加密算法,802.15.4指定的分組長(zhǎng)度為128bit,采用128bit的密鑰。在這一參數(shù)下,算法中輪循環(huán)的次數(shù)為10次。AES算法到目前為止在算法層面上可以視為絕對(duì)安全。
[0005]雖然傳感網(wǎng)安全中的加密問(wèn)題已經(jīng)得到了廣泛研宄,但是多數(shù)研宄是針對(duì)AES核進(jìn)行分析、優(yōu)化,所得到的結(jié)果與真實(shí)的系統(tǒng)應(yīng)用還有一定的差距?;贏ES的安全模式的優(yōu)化設(shè)計(jì)研宄較少,發(fā)表的設(shè)計(jì)的思路也不具備可重用性。同時(shí),由于傳感網(wǎng)節(jié)點(diǎn)可能會(huì)被應(yīng)用于更加復(fù)雜與智能的環(huán)境,因此傳感網(wǎng)節(jié)點(diǎn)上的MCU將會(huì)比以往更加強(qiáng)大,除了低端的8051之外,適用于如ARM在內(nèi)的控制芯片的AES安全模塊的設(shè)計(jì)還沒(méi)有被推出。
[0006]因此希望設(shè)計(jì)一種可重用的,適用于AHB總線(xiàn)的安全模塊,并需要集成協(xié)議所規(guī)定的基于AES的多種安全操作
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供了一種可以解決上述問(wèn)題的安全模塊從機(jī)結(jié)構(gòu),該結(jié)構(gòu)包括的特征為:所述從機(jī)結(jié)構(gòu)以AES-CCM*為核心,所述AES-CCM*的特征是包含一個(gè)AES核。
[0008]與現(xiàn)有技術(shù)相比,采用本發(fā)明提供的技術(shù)方案具有如下優(yōu)點(diǎn):通過(guò)對(duì)AES核進(jìn)行結(jié)構(gòu)優(yōu)化,極大的降低功耗,減少資源。并提出了對(duì)一個(gè)AES核進(jìn)行復(fù)用,完成AES-CCM*中三種安全操作的結(jié)構(gòu),有效的降低功耗,節(jié)省面積。最后將AES-CCM*設(shè)計(jì)為滿(mǎn)足AHB標(biāo)準(zhǔn)的從機(jī),實(shí)現(xiàn)了復(fù)用性與標(biāo)準(zhǔn)化的安全模塊。
【附圖說(shuō)明】
[0009]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯。
[0010]圖1為根據(jù)本發(fā)明的實(shí)施例的從機(jī)設(shè)計(jì)結(jié)構(gòu)圖;
[0011 ] 圖2為AES的算法流程圖;
[0012]圖3為根據(jù)本發(fā)明的實(shí)施例的AES的設(shè)計(jì)結(jié)構(gòu)圖
[0013]圖4為CTR加密模式的示意圖;
[0014]圖5為CBC-MAC模式的示意圖;
[0015]圖6為根據(jù)本發(fā)明的實(shí)施例的AES核復(fù)用結(jié)構(gòu)的結(jié)構(gòu)圖和狀態(tài)轉(zhuǎn)移圖。
【具體實(shí)施方式】
[0016]下面詳細(xì)描述本發(fā)明的實(shí)施例。
[0017]所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。下文的公開(kāi)提供了許多不同的實(shí)施例或例子用來(lái)實(shí)現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡(jiǎn)化本發(fā)明的公開(kāi),下文中對(duì)特定例子的部件和設(shè)置進(jìn)行描述。當(dāng)然,它們僅僅為示例,并且目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡(jiǎn)化和清楚的目的,其本身不指示所討論各種實(shí)施例和/或設(shè)置之間的關(guān)系
[0018]根據(jù)本發(fā)明的一個(gè)方面,提供了一種安全模塊從機(jī)結(jié)構(gòu)。下面,將結(jié)合圖2至圖6通過(guò)本發(fā)明的一個(gè)實(shí)施例對(duì)圖1從機(jī)設(shè)計(jì)結(jié)構(gòu)圖進(jìn)行具體描述。如圖1所示,本發(fā)明所提供的從機(jī)設(shè)計(jì)結(jié)構(gòu)的特征為:
[0019]所述從機(jī)結(jié)構(gòu)以AES-CCM*為核心,所述AES-CCM*的特征是包含一個(gè)AES核。
[0020]下面按照自底向上方式,依次介紹基于本發(fā)明的實(shí)施例的AES核、基于AES核的AES-CCM*設(shè)計(jì)以及從機(jī)設(shè)計(jì)的技術(shù)方案。
[0021]AES核是是整個(gè)從機(jī)模塊的核心,它的功耗與資源影響著整個(gè)從機(jī)模塊,AES的算法流程如圖2所示。其加密包含初始加密以及十輪操作,每輪操作包含4步算法,其中最后一輪操作與之前9輪不同,不包含列混合運(yùn)算。
[0022]根據(jù)本發(fā)明的一個(gè)實(shí)施例,AES的數(shù)據(jù)路徑寬度為8bit,因?yàn)閭鹘y(tǒng)的AES是以128bit為一個(gè)分組,如圖2左半部分所示,將128bit數(shù)據(jù)表示成16個(gè)字節(jié),記為4x4的狀態(tài)矩陣。在傳統(tǒng)的AES模塊中的數(shù)據(jù)路徑寬度設(shè)計(jì)為128bit,如此可以在一個(gè)周期內(nèi)完成每一輪操作中16字節(jié)的所有操作,這樣設(shè)計(jì)可以獲得上Gbps的吞吐率,但這需要16個(gè)Sbox,外加4個(gè)用于完成輪密鑰產(chǎn)生的Sbox,這么多的Sbox會(huì)占據(jù)AES中大部分資源。在本發(fā)明的實(shí)施例中將數(shù)據(jù)路徑寬度降低至SbitjPA只需要I個(gè)Sbox,外加一個(gè)Sbox完成輪密鑰的產(chǎn)生。采用這種方法可以有效降低資源的消耗量,并且在32MHz的時(shí)鐘下,獲得超過(guò)20Mbps的吞吐率。超過(guò)了 802.15.4中所規(guī)定的256kbps的數(shù)據(jù)率。
[0023]另一方面,本發(fā)明還重新設(shè)計(jì)了 Sbox功能模塊。SBox是一個(gè)對(duì)應(yīng)于字節(jié)操作的非線(xiàn)性映射表,最簡(jiǎn)單的實(shí)現(xiàn)方法是利用查找表或者ROM等方法實(shí)現(xiàn),但是這樣實(shí)現(xiàn)的Sbox所占資源過(guò)多。本發(fā)明中,將Sbox利用有限域變化的方式,采用組合邏輯進(jìn)行實(shí)現(xiàn),有效地節(jié)省了資源,降低了功耗。
[0024]因?yàn)楸景l(fā)明采用了 Sbit數(shù)據(jù)寬度的設(shè)計(jì)方式,因此傳統(tǒng)AES核中許多操作的結(jié)構(gòu)需要重新設(shè)計(jì),特別是列混合運(yùn)算(MixColumn)。在列混合運(yùn)算中的每一列中不同字節(jié)位置的輸出計(jì)算結(jié)構(gòu)是一致的,不同的只是輸入的字節(jié)順序。因此,本發(fā)明采用循環(huán)移位寄存器將某一列的4個(gè)字節(jié)載入,每個(gè)周期按照不同的次序輸入到列混合運(yùn)算的組合邏輯電路中。整個(gè)AES的設(shè)計(jì)結(jié)構(gòu)圖如圖3所示。
[0025]在所述優(yōu)化的AES核的基礎(chǔ)上,本發(fā)明設(shè)計(jì)了基于AES核復(fù)用結(jié)構(gòu)的AES-CCM*。802.15.4規(guī)定的安全模式稱(chēng)為AES-CCM*,它包含了 3種基于AES的安全操作,分別是計(jì)數(shù)器加密模式CTR、鏈?zhǔn)郊用苷J(rèn)證模式CBC-MAC和聯(lián)合加密認(rèn)證模式CCM。其中CCM模式是CTR模式與CBC-MAC模式的結(jié)合,CTR模式和CBC-MAC模式的描述分別如圖4和圖5所示。
[0026]CCM是CTR和CBC的聯(lián)合模式。基于CTR和CBC-MAC模式的工作基礎(chǔ),本發(fā)明提出了一種AES核復(fù)用結(jié)構(gòu),利用一個(gè)AES核,通過(guò)對(duì)數(shù)據(jù)路徑的控制,用最少的資源實(shí)現(xiàn)三種模式。結(jié)構(gòu)圖與狀態(tài)轉(zhuǎn)移圖如圖6所示。數(shù)據(jù)通路O用于CTR模式以及CBC-MAC模式的首輪輸入,數(shù)據(jù)通路I用于CBC-MAC模式。兩條路徑共