當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要 針對(duì)面向工業(yè)用、商用以及民用電子設(shè)備加密串行通信需求,通過(guò)基于SMS4的加密通信SOPC軟硬件架構(gòu)、SMSd加密通信控制器IP技術(shù)、SMS4加密通信軟件技術(shù)等內(nèi)容的研究,實(shí)現(xiàn)了基于SMS4加密算法的串行通信技術(shù),并在

摘要 針對(duì)面向工業(yè)用、商用以及民用電子設(shè)備加密串行通信需求,通過(guò)基于SMS4的加密通信SOPC軟硬件架構(gòu)、SMSd加密通信控制器IP技術(shù)、SMS4加密通信軟件技術(shù)等內(nèi)容的研究,實(shí)現(xiàn)了基于SMS4加密算法的串行通信技術(shù),并在非128位明文的加密傳輸數(shù)據(jù)控制和基于8位異步模式的128位數(shù)據(jù)串行收發(fā)上效率明顯提升?;赟MS4的加密通信SOPC提高了系統(tǒng)的加密通信功能可定制能力,且使加密通信核心算法自主可控。

關(guān)鍵詞 串行通信;SMS4;加密通信;片上系統(tǒng)

串行通信是商用、民用及工業(yè)控制用電子系統(tǒng)廣泛使用的一種通信方式,多種電子系統(tǒng)通過(guò)串行通信接口傳輸敏感數(shù)據(jù),如無(wú)線電通信設(shè)備、IC卡刷卡機(jī)等,為保證數(shù)據(jù)傳輸安全,對(duì)串行通信數(shù)據(jù)加密是必要的技術(shù)手段。SOPC技術(shù)是百萬(wàn)門級(jí)大規(guī)模FPGA出現(xiàn)后新興的電子系統(tǒng)設(shè)計(jì)技術(shù),實(shí)現(xiàn)的電子系統(tǒng)具備集成度高、功能可配置、性能可伸縮和資源可重構(gòu)的特點(diǎn)。因此,采用SOPC技術(shù)設(shè)計(jì)加密通信系統(tǒng)具備良好的應(yīng)用推廣價(jià)值。

分組密碼算法是大量數(shù)據(jù)加密存儲(chǔ)與傳輸?shù)闹饕艽a算法,SMS4算法是我國(guó)官方公布的第一個(gè)商用分組對(duì)稱密碼算法,為發(fā)展自主可控的信息安全技術(shù),應(yīng)該將SMS4算法作為串行通信核心密碼算法的重要選擇。由于SMS4算法提出較晚,目前尚未有采用SMS4算法進(jìn)行加密通信SOPC設(shè)計(jì)的成果出現(xiàn)。為使信息安全技術(shù)自主可控,優(yōu)化加密通信系統(tǒng)設(shè)計(jì),提高系統(tǒng)的加密通信功能可定制能力,因此有必要開(kāi)展基于SMS4的加密通信SOPC研究與設(shè)計(jì)。

分組密碼算法具有速度快、易于標(biāo)準(zhǔn)化和便于軟硬件實(shí)現(xiàn)等特點(diǎn),通常是信息網(wǎng)絡(luò)安全中實(shí)現(xiàn)數(shù)據(jù)加解密的核心體制,其在計(jì)算機(jī)通信和信息系統(tǒng)安全領(lǐng)域有著廣泛的應(yīng)用,如國(guó)外發(fā)布的DES算法、AES算法、NESSIE算法等。2006年1月,我國(guó)國(guó)家商用密碼管理辦公室公布了SMS4分組密碼算法標(biāo)準(zhǔn),用于保護(hù)無(wú)線局域網(wǎng)產(chǎn)品的數(shù)據(jù)安全,并被WAPI標(biāo)準(zhǔn)采納作為其中的分組密碼算法。2007年12月,在國(guó)家密碼管理局公布的《可信計(jì)算密碼支撐平臺(tái)功能與接口規(guī)范》中,SMS4算法被規(guī)定為可信密碼模塊(TCM)中要求實(shí)現(xiàn)的對(duì)稱密碼算法。

SMS4是一個(gè)分組對(duì)稱密碼算法,分組長(zhǎng)度和密鑰長(zhǎng)度為128 bit。加密算法與密鑰擴(kuò)展算法均采用32輪非線性迭代結(jié)構(gòu)。其中非線性變換所使用的S盒是一個(gè)具有很好密碼學(xué)特性的、由8 bit輸入產(chǎn)生8 bit輸出的置換。但不存在永遠(yuǎn)安全的密碼算法。SMS4設(shè)計(jì)靈活,其中所采用的S盒可靈活地被替換,以應(yīng)對(duì)突發(fā)性的安全威脅。

1 基于SMS4的加密通信原理

SMS4密碼算法是一種128位數(shù)據(jù)輸入輸出的加解密算法,輸入數(shù)據(jù)需經(jīng)過(guò)32輪的函數(shù)運(yùn)算才能得到輸出結(jié)果,存在較大的首個(gè)數(shù)據(jù)輸出潛伏延遲,而一旦進(jìn)入連續(xù)輸出,通過(guò)硬件流水線設(shè)計(jì)可達(dá)到較高的吞吐率。串行通信控制器是一種典型的中低速通信設(shè)備,由于受到串/并轉(zhuǎn)換、波特率除數(shù)分頻、16分頻收發(fā)等設(shè)計(jì)的影響,串行通信速率不可能有較大提升。因此,SMS4算法和串行通信之間存在明顯的吞吐量不匹配問(wèn)題。

通過(guò)研究SMS4密碼算法32輪迭代運(yùn)算、輪密鑰運(yùn)算的運(yùn)算特點(diǎn),并分析全流水、全循環(huán)、循環(huán)與流水結(jié)合、單引擎、多引擎等硬件運(yùn)算結(jié)構(gòu),提出合適的運(yùn)算結(jié)構(gòu)作為算法的基礎(chǔ)實(shí)現(xiàn)結(jié)構(gòu),以輪函數(shù)內(nèi)部分級(jí)流水、節(jié)拍同步作為進(jìn)一步優(yōu)化的手段,突破面向串行通信的SMS4算法硬件實(shí)現(xiàn)優(yōu)化技術(shù),使該算法邏輯占用較少的FPGA內(nèi)部資源,并使其算法的運(yùn)算速度能盡量接近串行通信速率,最終達(dá)到資源占用與運(yùn)

算性能的平衡。該算法硬件實(shí)現(xiàn)的功能組成如圖1所示。

串行通信過(guò)程中,最小的數(shù)據(jù)收發(fā)單元為8位數(shù)據(jù),即1 Byte。對(duì)128位SMS4加密運(yùn)算而言,輸入的明文數(shù)據(jù)可能不是128位數(shù)據(jù),而是1~7 Byte,無(wú)法直接完成明文的SMS4加密運(yùn)算。在128位密文發(fā)送過(guò)程中,若對(duì)應(yīng)明文不是128位的,還需嵌入字節(jié)計(jì)數(shù)值來(lái)標(biāo)識(shí)有效數(shù)據(jù)長(zhǎng)度,而字節(jié)計(jì)數(shù)值和有效數(shù)據(jù)難以區(qū)分。在密文接收與SMS4解密過(guò)程中,也存在得到字節(jié)計(jì)數(shù)值與有效明文提取的問(wèn)題。如圖2所示。數(shù)據(jù)包具備16 Byte的數(shù)據(jù)段和1 Byte的有效字節(jié)計(jì)數(shù)值,通過(guò)有效字節(jié)計(jì)數(shù)值識(shí)別數(shù)據(jù)段中的有效數(shù)據(jù),而其他數(shù)據(jù)則為填充數(shù)據(jù)。

通過(guò)分析處理器訪問(wèn)8位通信控制器的特點(diǎn),采取有效硬件邏輯設(shè)計(jì)延長(zhǎng)8位明文連續(xù)寫入等待時(shí)間,盡可能具備128位明文輸入。通過(guò)字節(jié)自動(dòng)填充將非128位明文輸入補(bǔ)滿到128位,實(shí)現(xiàn)明文的128位SMS4加密運(yùn)算。將有效數(shù)據(jù)/字節(jié)計(jì)數(shù)值混合編碼,實(shí)現(xiàn)非128位明文對(duì)應(yīng)密文的發(fā)送、接收、解密與填充字節(jié)去除。通過(guò)以上技術(shù)手段,突破非128位明文的加密傳輸數(shù)據(jù)控制技術(shù),使處理器始終按8位明文數(shù)據(jù)訪問(wèn)SMS4加密通信控制器,屏蔽128位加解密過(guò)程,具備非128位明文的加密傳輸數(shù)據(jù)控制過(guò)程對(duì)處理器透明、兼容通用串行傳輸協(xié)議、處理器加密通信負(fù)載小等特點(diǎn)。

一般的串行通信控制器以8位數(shù)據(jù)進(jìn)行收發(fā),當(dāng)進(jìn)行128位密文傳輸時(shí),存在數(shù)據(jù)發(fā)送接口、數(shù)據(jù)接收接口、接收線狀態(tài)接口設(shè)計(jì)的位寬不匹配問(wèn)題。通過(guò)設(shè)計(jì)128位寬發(fā)送數(shù)據(jù)FIFO、128位寬接收數(shù)據(jù)FIFO、128位區(qū)間接收線狀態(tài)FIFO,緩沖128位密文數(shù)據(jù)和相應(yīng)的接收線狀態(tài);通過(guò)128位/8位收發(fā)匹配邏輯,實(shí)現(xiàn)發(fā)送數(shù)據(jù)的128位/8位轉(zhuǎn)換、接收數(shù)據(jù)的8位/128位轉(zhuǎn)換、連續(xù)16 Byte的接收線狀態(tài)組合譯碼;通過(guò)以上技術(shù)手段,突破基于8位異步模式的128位數(shù)據(jù)串行收發(fā)技術(shù),使128位密文串行收發(fā)無(wú)需軟件干預(yù),故進(jìn)一步降低了處理器的通信接口處理負(fù)載。

2 基于SMS4的加密通信實(shí)現(xiàn)

2.1 SMS4加密通信控制器IP技術(shù)

SMS4加密通信控制器IP功能組成如圖3所示,分為8位串行收發(fā)功能邏輯、128位收發(fā)邏輯、面向串行通信的SMS4算法邏輯、非128位明文的加密傳輸數(shù)據(jù)控制邏輯和處理器訪問(wèn)接口邏輯。SMS4加密通信控制器IP對(duì)外提供8位數(shù)據(jù)位寬的處理器訪問(wèn)接口和8位串行收發(fā)數(shù)據(jù)接口,并兼容通用串行傳輸協(xié)議,將128位SMS4密碼運(yùn)算隱藏在IP內(nèi)部。

8位串行收發(fā)功能邏輯提供8位數(shù)據(jù)收發(fā)、接收線狀態(tài)檢測(cè)、MODEM線控制與線狀態(tài)檢測(cè)功能。128位收發(fā)邏輯使128位SMS4密文和8位串行收發(fā)數(shù)據(jù)之間的傳輸能夠平滑、順暢地進(jìn)行。面向串行通信的SMS4算法邏輯在完成128位SMS4加解密運(yùn)算的同時(shí),還具備FPGA資源利用少、加解密吞吐量與串行通信吞吐量匹配的特點(diǎn)。非128位明文的加密傳輸數(shù)據(jù)控制邏輯重點(diǎn)解決非128位明文的加解密運(yùn)算和串行傳輸問(wèn)題。處理器訪問(wèn)接口邏輯為處理器提供8位數(shù)據(jù)位寬的訪問(wèn)接口,使處理器對(duì)SMS4加密通信控制器IP的訪問(wèn)方式盡可能地接近于一般的8位串行通信控制器。

2.2 加密通信IP核仿真驗(yàn)證

本文設(shè)計(jì)了SMS4加密通信控制器IP核完成加密通信,圖4為SMS4加密通信控制器IP的原理框圖。

采用Altera公司的Quartus II FPGA開(kāi)發(fā)工具完成SMS4加密通信控制器IP的HDL代碼編譯。

使用ISim仿真器進(jìn)行SMS4加密通信控制器數(shù)據(jù)接收與發(fā)送仿真,得到仿真波形,如圖5和圖6所示。SMS4加密通信控制器IP對(duì)加密算法、數(shù)據(jù)收發(fā)、數(shù)據(jù)緩沖、接收線狀態(tài)等功能進(jìn)行了模塊化設(shè)計(jì),各個(gè)模塊既相對(duì)獨(dú)立又有機(jī)組合,可完成各自功能,不同模塊之間進(jìn)行數(shù)據(jù)和信號(hào)的交換實(shí)現(xiàn)時(shí)序控制、信息交互,從仿真結(jié)果可看出,SMS4加密通信控制器IP在不影響通信吞吐量的情況下,實(shí)現(xiàn)了數(shù)據(jù)的SMS4的加解密處理。

如圖5所示,SMS4加密通信控制器IP接收數(shù)據(jù)通過(guò)信號(hào)wb_cyc_i作為計(jì)數(shù)器,每接收一個(gè)有效數(shù)據(jù),產(chǎn)生一次脈沖。we_sel_i表示接收控制器片選信號(hào),在接收期間保持為高;wb_adr_i表示數(shù)據(jù)地址,wb_dat_i則表示接收數(shù)據(jù)值。

如圖6所示,SMS4加密通信控制器IP接收數(shù)據(jù)通過(guò)信號(hào)wb_cyc_i作為計(jì)數(shù)器,每接收一個(gè)有效數(shù)據(jù),產(chǎn)生一次脈沖;we_sel_is表示發(fā)送控制器片選信號(hào),在發(fā)送數(shù)據(jù)期間保持為低。wb_adr_i表示數(shù)據(jù)地址,wb_dat_i表示接收數(shù)據(jù)值。

面向串行通信的SMS4算法邏輯設(shè)計(jì),并已集成到SMS4加密通信控制器IP中。使用ISim仿真器對(duì)SMS4算法邏輯的Verilog代碼進(jìn)行波形仿真,輸入128bit數(shù)據(jù),進(jìn)行加解密,其仿真波形如圖7所示。

從圖中可看出,SMS4加密IP利用points計(jì)算通信量,圖7的通信量為1 024bit,data_in表示輸入加密數(shù)據(jù),addr_wr表示加密過(guò)程中的地址轉(zhuǎn)換;data表示輸出解密后的密文。

2.3 基于SMS4的加密通信SOPC軟硬件架構(gòu)

基于SMS4的加密通信SOPC軟硬件架構(gòu)如圖8所示,分為SOPC硬件層和SOPC軟件層。SOPC硬件層由電源、復(fù)位、時(shí)鐘、JTAG接口、FPGA、配置器件、存儲(chǔ)器、串行數(shù)據(jù)收發(fā)器等電路組成,其中FPGA是核心器件,內(nèi)部集成了處理器IP、存儲(chǔ)器及橋IP、SMS4加密通信控制器IP等。 SOPC軟件層主要南嵌入式操作系統(tǒng)內(nèi)核、SMS4加密通信控制器驅(qū)動(dòng)程序、SMS4加密通信應(yīng)用程序等部分組成。

SOPC硬件功能方面,電源電路、復(fù)位電路、時(shí)鐘發(fā)生器為SOPC提供必須的電源供應(yīng)、上電和硬件復(fù)位信號(hào)、時(shí)鐘同步信號(hào)。JTAG接口電路用于調(diào)試SOPC的硬件邏輯和軟件程序,同時(shí)也用于在線下載FPGA配置文件。FPGA配置器件存儲(chǔ)FPGA靜態(tài)配置,在上電時(shí)自動(dòng)對(duì)FPGA進(jìn)行配置;由于FPGA內(nèi)部存儲(chǔ)資源有限,需外擴(kuò)RAM、Flash等片外存儲(chǔ)器。串行數(shù)據(jù)收發(fā)器實(shí)現(xiàn)TTL電氣接口信號(hào)與RS-232/422電氣接口信號(hào)的轉(zhuǎn)換,使串行數(shù)據(jù)收發(fā)信號(hào)能適應(yīng)遠(yuǎn)距離傳輸環(huán)境。

SOPC軟件功能方面,嵌入式操作系統(tǒng)內(nèi)核提供基本的存儲(chǔ)管理、設(shè)備管理、中斷管理及任務(wù)調(diào)度等功能。SMS4加密通信控制器驅(qū)動(dòng)程序?qū)MS4加密通信控制器抽象成一個(gè)以文件方式訪問(wèn)的設(shè)備,供應(yīng)用程序調(diào)用。SMS4加密通信應(yīng)用程序?qū)崿F(xiàn)明文數(shù)據(jù)的收發(fā),由于SMS4加密通信控制器IP可屏蔽密文傳輸過(guò)程,應(yīng)用程序中無(wú)需進(jìn)行加解密處理。

基于SMS4的加密通信SOPC硬件集成,需軟件集成及性能分析。SMS4加密通信SOPC主要依靠專用串行接口擴(kuò)展模塊的FPGA芯片進(jìn)行硬件集成,圖9為運(yùn)行于Altera公司SOPC Builder開(kāi)發(fā)環(huán)境的SMS4加密通信SOPC硬件集成界面。如圖所示,SMS4加密通信SOPC集成有NiosII處理器IP、SMS4加密通信控制器IP、SRAM和Flash的存儲(chǔ)器控制IP等IP核,需為各IP核指定Avalon總線互連拓?fù)潢P(guān)系、時(shí)鐘路徑、數(shù)據(jù)訪問(wèn)空間及中斷路由等。

3 結(jié)束語(yǔ)

面向串行通信優(yōu)化SMS4算法的硬件實(shí)現(xiàn),通過(guò)基于8位異步模式的128位數(shù)據(jù)串行收發(fā)技術(shù)實(shí)現(xiàn)SMS4加解密和串行通信的深度整合,通過(guò)非128位明文的加密傳輸數(shù)據(jù)控制技術(shù)實(shí)現(xiàn)SMS4加解密運(yùn)算與處理器無(wú)關(guān),設(shè)計(jì)的SMS4加密通信控制器IP具備FPGA邏輯資源用量小、加解密與串行通信吞吐量匹配、處理器加密通信處理負(fù)載小等特點(diǎn)。

通過(guò)SMS4加密通信控制器IP封裝與IP復(fù)用、硬件抽象層驅(qū)動(dòng)軟件設(shè)計(jì)、基于SOPC開(kāi)發(fā)環(huán)境集成處理器IP及配套IP,采用軟硬件協(xié)同設(shè)計(jì)方式實(shí)現(xiàn)了基于SMS4的加密通信SOPC,使電子系統(tǒng)的SMS4加密通信功能具備較強(qiáng)的可定制能力。

文中研究了基于硬件實(shí)現(xiàn)加密串行通信功能,防破解能力強(qiáng)、處理器負(fù)載輕,進(jìn)而提高了應(yīng)用系統(tǒng)串行通信的安全性,有較好的推廣應(yīng)用價(jià)值。其中,核心算法采用SMS4算法,有力支撐了密碼學(xué)研究成果的本土化,為滿足國(guó)內(nèi)信息安全技術(shù)的自主可控需求作出了一定貢獻(xiàn)。另外,文中設(shè)計(jì)的可定制SOPC,也可較好滿足各種應(yīng)用的加密串行通信定制需求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉