專利名稱:基于apb總線的硬件加密uart裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式系統(tǒng)安全通信領(lǐng)域,具體來說是ー個掛載在APB總線上的帶有硬件加密功能的UART裝置。
背景技術(shù):
UART是目前廣泛使用的ー種通用串行數(shù)據(jù)接ロ,應(yīng)用范圍極其廣泛,例如計算機外設(shè)、エ業(yè)控制等場合。UART的作用是,它既可以接收外圍設(shè)備的串行數(shù)據(jù)輸入,并轉(zhuǎn)換成計算機內(nèi)部所需的并行數(shù)據(jù),也可以把計算機內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并發(fā)送給外圍設(shè)備。對于串行數(shù)據(jù)傳輸速率要求不高的設(shè)備,使用UART進(jìn)行串行通信是ー種性價比 較高的設(shè)計方案。傳統(tǒng)普通UART—般由總線接ロ部分、控制部分、接收器、發(fā)送器和波特率發(fā)生器組成,其中接收器和發(fā)送器部分可以是雙緩沖結(jié)構(gòu),總線接ロ部分可以為APB總線從機結(jié)構(gòu),例如附圖I所示結(jié)構(gòu)。在ー些嵌入式系統(tǒng)通信領(lǐng)域,如信息安全卡,軍事領(lǐng)域,通信安全非常重要,傳統(tǒng)UART只能明文傳輸數(shù)據(jù),不能達(dá)到安全通信的使用要求。對此有一種解決方法是先用軟件加密數(shù)據(jù),然后再將加密后的數(shù)據(jù)通過UART發(fā)送,接收方接收數(shù)據(jù)后也需要用相應(yīng)軟件對數(shù)據(jù)進(jìn)行解密得到明文,這就對軟件編程提出了要求,加大了軟件開發(fā)難度。
發(fā)明內(nèi)容
為了克服已有UART裝置的安全性較差、卡發(fā)難度較大、實用性較差的不足,本發(fā)明提供ー種硬件資源簡單、具有良好的安全性和易用性的基于APB總線的硬件加密UART裝置。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種基于APB總線的硬件加密UART裝置,所述硬件加密UART裝置包括APB總線接ロ模塊,包括一根中斷申請信號以及AMBAAPB總線定義的所有信號線,負(fù)責(zé)與APB主機通信,將APB總線上傳來的要發(fā)送的明文數(shù)據(jù)交給硬件加密模塊,負(fù)責(zé)將硬件解密模塊傳來的接收到的數(shù)據(jù)打包傳到APB總線上。UART總線接ロ模塊,包括用以接收RXD與發(fā)送TXD兩根信號線,支持與其他UART主機通信;每幀數(shù)據(jù)有起始位、5到8位的數(shù)據(jù)位和可選擇的奇偶校驗位以及f 2位的停止位,其中,起始位為低電平,停止位為高電平;硬件加密模塊,用以接收來自APB總線接ロ模塊的明文數(shù)據(jù)與加密密鑰,明文寬度為8位,根據(jù)密鑰與明文輸出8位加密數(shù)據(jù);解密模塊,根據(jù)8位加密數(shù)據(jù)與APB總線接ロ模塊送來的密鑰生成8位明文數(shù)據(jù);硬件加密模塊與解密模塊在APB總線接ロ模塊與UART總線接ロ模塊之間。進(jìn)ー步,所述加密模塊配合ー個8位2選I多路選擇器,如果使能加密模塊,則由控制信號控制選通發(fā)送密文數(shù)據(jù)到UART總線接ロ模,如果不使能加密模塊,則密鑰無效,由控制信號控制選通發(fā)送明文數(shù)據(jù)到UART總線接ロ模塊;所述解密模塊配合ー個8位2選I多路選擇器,如果使能解密模塊,則由控制信號控制選通解密后數(shù)據(jù)到APB總線接ロ模塊,如果不使能解密模,則密鑰無效,由控制信號選通直接接收到的數(shù)據(jù)到APB總線接ロ模塊。本發(fā)明的有益效果主要表現(xiàn)在硬件資源簡單、具有良好的安全性和易用性。
圖I為基于APB總線的傳統(tǒng)UART裝置模塊圖。圖2為基于APB總線的硬件加密UART裝置的模塊圖。圖3為APB總線寫數(shù)據(jù)時序圖
圖4為APB總線讀數(shù)據(jù)時序5為UART傳輸數(shù)據(jù)幀格式的示意圖。圖6為UART采樣接收數(shù)據(jù)的時序圖。圖7為ー種硬件加密模塊設(shè)計的原理圖。圖8為ー種硬件解密模塊設(shè)計的原理圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明作進(jìn)ー步描述。參照圖2 圖8,一種基于APB總線的硬件加密UART裝置,包含APB總線模塊1,UART總線模塊2,硬件加密模塊3,硬件解密模塊4,控制模塊5,加密模塊8位2選I多路選擇器6,解密模塊8位2選I多路選擇器7。APB總線接ロ模塊I擁有ー根中斷申請信號以及AMBAAPB總線定義的所有信號線,負(fù)責(zé)與APB主機通信,將APB總線上傳來的控制命令與要發(fā)送的明文數(shù)據(jù)交給UART控制模塊5和硬件加密模塊3,負(fù)責(zé)將控制模塊5的狀態(tài)信號與硬件解密模塊4傳來的接收到的數(shù)據(jù)打包傳到APB總線上。中斷申請信號在沒有中斷請求時保持低電平,當(dāng)發(fā)生中斷請求時保持高電平。下面結(jié)合圖3、圖4簡要描述APB總線讀寫具體工作原理,具體可參見ARM公司AMBA總線規(guī)范??臻e時選通信號(PSEL)與使能信號(PENABLE)均為低,數(shù)據(jù)(PDATA)與地址(PADDR)無效。發(fā)生一次APB寫操作時,如圖3,在準(zhǔn)備周期主機將數(shù)據(jù)(PDATA),地址(PADDR)準(zhǔn)備好,同時置位選通信號(PSEL),在使能周期置位使能信號(PENABLE)。這些信號必須保持到使能周期末的上升沿,在此上升沿,數(shù)據(jù)將根據(jù)地址寫入相應(yīng)寄存器。發(fā)生一次APB讀操作時,如圖4,在準(zhǔn)備周期主機將地址(PADDR)準(zhǔn)備好,同時置位選通信號(PSEL),在使能周期置位使能信號(PENABLE),同時APB接ロ模塊根據(jù)地址將數(shù)據(jù)(PRDATA)準(zhǔn)備好。這些信號必須保持到使能周期末的上升沿,在此上升沿,主機將讀走數(shù)據(jù)。UART總線接ロ模塊2擁有接收RXD與發(fā)送TXD兩根信號線,支持與其他UART主機通信。具體通信格式如圖5所示,每幀數(shù)據(jù)有起始位、5到8位的數(shù)據(jù)位和可選擇的奇偶校驗位以及f 2位的停止位,其中起始位為低電平,停止位為高電平。具體實現(xiàn)時可采用以下方案發(fā)送數(shù)據(jù)時,將由波特率發(fā)生器產(chǎn)生發(fā)送時鐘,發(fā)送模塊根據(jù)發(fā)送時鐘,數(shù)據(jù)幀控制信息,將5-8位并行數(shù)據(jù)以上文所述通信格式從TXD發(fā)送數(shù)據(jù)線上串行發(fā)送出去。接收數(shù)據(jù)吋,由波特率發(fā)生器產(chǎn)生接收時鐘,在接收數(shù)據(jù)線RXD監(jiān)測到低電平起始位后,每16個接收時鐘周期采樣一次接收數(shù)據(jù)線RXD,如圖6所示。完成數(shù)據(jù)位、奇偶校驗位與停止位采樣后將5-8位并行數(shù)據(jù)放到接收緩存中。硬件加密模塊3與解密模塊4在APB總線接ロ模塊I與UART總線接ロ模塊2之間。APB總線接ロ I將要發(fā)送的明文數(shù)據(jù)與加密密鑰送到硬件加密模塊3。明文寬度為8位,加密模塊根據(jù)密鑰與明文輸出8位加密數(shù)據(jù)。加密模塊配合ー個8位2選I多路 選擇器6,如果使能加密模塊3,則由控制信號控制選通發(fā)送密文數(shù)據(jù)到UART總線接ロ模2,如果不使能加密模塊3,則密鑰無效,由控制信號控制選通發(fā)送明文數(shù)據(jù)到UART總線接ロ模2。當(dāng)UART總線接ロ模塊2接收到加密數(shù)據(jù)后將8位加密數(shù)據(jù)送到解密模塊4,解密模塊4根據(jù)8位加密數(shù)據(jù)與APB接ロ模塊I送來的密鑰生成8位明文數(shù)據(jù),解密模塊配合ー個8位2選I多路選擇器7。如果使能解密模塊4,則由控制信號控制選通解密后數(shù)據(jù)到APB總線接ロ模塊1,如果不使能解密模4,則密鑰無效,由控制信號選通直接接收到的數(shù)據(jù)到APB總線接ロ模塊I。密鑰寬度可以為32位,也可使用64位、128位、256位,下面進(jìn)行加密解密模塊3設(shè)計舉例,該例子為硬件比特流加密法原理圖,僅表示模塊的可實現(xiàn)性,在具體實現(xiàn)時并不限于這ー種方式。附圖7為8位數(shù)據(jù)其中I位的加密原理圖。當(dāng)密鑰為32位時η為4,4個SR寄存器初始化值為密鑰中的4位(數(shù)據(jù)第I位對應(yīng)密鑰1-4位,數(shù)據(jù)第2位對應(yīng)密鑰5-8位,以此類推);當(dāng)密鑰為64位時η為8,8個SR寄存器初始化值為密鑰中的8位(數(shù)據(jù)第I位對應(yīng)密鑰1-8位,數(shù)據(jù)第2位對應(yīng)密鑰9-16位,以此類推);當(dāng)密鑰為128位時η為16,16個SR寄存器初始化值為密鑰中的16位(數(shù)據(jù)第I位對應(yīng)密鑰1-16位,數(shù)據(jù)第2位對應(yīng)密鑰17-32位,以此類推);當(dāng)密鑰為256位時η為32,32個SR寄存器初始化值為密鑰中的32位(數(shù)據(jù)第I位對應(yīng)密鑰1-32位,數(shù)據(jù)第2位對應(yīng)密鑰33-64位,以此類推);加密時,輸出密文Y=X+SR0,并寫回SRn-I。,SRn_2=SRn_l+Y,其余SR0 SRn-3均為SRi-I=SRi (i取I至n-2)。8組該電路一起一個時鐘周期完成一次ー個8位數(shù)據(jù)的加密。附圖8為8位數(shù)據(jù)其中I位的解密原理圖。當(dāng)密鑰為32位時η為4,4個DSR寄存器初始化值為密鑰中的4位(數(shù)據(jù)第I位對應(yīng)密鑰1-4位,數(shù)據(jù)第2位對應(yīng)密鑰5-8位,以此類推);當(dāng)密鑰為64位時η為8,8個DSR寄存器初始化值為密鑰中的8位(數(shù)據(jù)第I位對應(yīng)密鑰1-8位,數(shù)據(jù)第2位對應(yīng)密鑰9-16位,以此類推);當(dāng)密鑰為128位時η為16,16個DSR寄存器初始化值為密鑰中的16位(數(shù)據(jù)第I位對應(yīng)密鑰1-16位,數(shù)據(jù)第2位對應(yīng)密鑰17-32位,以此類推);當(dāng)密鑰為256位時η為32,32個DSR寄存器初始化值為密鑰中的32位(數(shù)據(jù)第I位對應(yīng)密鑰1-32位,數(shù)據(jù)第2位對應(yīng)密鑰33-64位,以此類推);解密時,輸出明文Y=X+DSR0,同時 X 寫入 DSRn-1,DSRn-2=DSRn_l+X,其余DSR0 DSRn-3均為DSRi_l=DSRi( i取I至n_2)。8組該電路一起一個時鐘周期完成一次一個8位數(shù)據(jù)的解密?!?br>
權(quán)利要求
1.一種基于APB總線的硬件加密UART裝置,其特征在于所述硬件加密UART裝置包括 APB總線接口模塊,包括一根中斷申請信號以及AMBAAPB總線定義的所有信號線,負(fù)責(zé)與APB主機通信,將APB總線上傳來的要發(fā)送的明文數(shù)據(jù)交給硬件加密模塊,負(fù)責(zé)將硬件解密模塊傳來的接收到的數(shù)據(jù)打包傳到APB總線上; UART總線接口模塊,包括用以接收RXD與發(fā)送TXD兩根信號線,支持與其他UART主機通信;每幀數(shù)據(jù)有起始位、5到8位的數(shù)據(jù)位和可選擇的奇偶校驗位以及f 2位的停止位,其中,起始位為低電平,停止位為高電平; 硬件加密模塊,用以接收來自APB總線接口模塊的明文數(shù)據(jù)與加密密鑰,明文寬度為8 位,根據(jù)密鑰與明文輸出8位加密數(shù)據(jù); 解密模塊,根據(jù)8位加密數(shù)據(jù)與APB總線接口模塊送來的密鑰生成8位明文數(shù)據(jù); 硬件加密模塊與解密模塊在APB總線接口模塊與UART總線接口模塊之間。
2.如權(quán)利要求I所述的基于APB總線的硬件加密UART裝置,其特征在于所述加密模塊配合一個8位2選I多路選擇器,如果使能加密模塊,則由控制信號控制選通發(fā)送密文數(shù)據(jù)到UART總線接口模,如果不使能加密模塊,則密鑰無效,由控制信號控制選通發(fā)送明文數(shù)據(jù)到UART總線接口模塊; 所述解密模塊配合一個8位2選I多路選擇器,如果使能解密模塊,則由控制信號控制選通解密后數(shù)據(jù)到APB總線接口模塊,如果不使能解密模,則密鑰無效,由控制信號選通直接接收到的數(shù)據(jù)到APB總線接口模塊。
全文摘要
一種基于APB總線的硬件加密UART裝置,包括APB總線接口模塊,包括一根中斷申請信號以及AMBAAPB總線定義的所有信號線,負(fù)責(zé)與APB主機通信;UART總線接口模塊,包括用以接收RXD與發(fā)送TXD兩根信號線,支持與其他UART主機通信;硬件加密模塊,用以接收來自APB總線接口模塊的明文數(shù)據(jù)與加密密鑰,明文寬度為8位,根據(jù)密鑰與明文輸出8位加密數(shù)據(jù);解密模塊,根據(jù)8位加密數(shù)據(jù)與APB總線接口模塊送來的密鑰生成8位明文數(shù)據(jù);硬件加密模塊與解密模塊在APB總線接口模塊與UART總線接口模塊之間。本發(fā)明硬件資源簡單、具有良好的安全性和易用性。
文檔編號H04L9/06GK102739393SQ20121016738
公開日2012年10月17日 申請日期2012年5月23日 優(yōu)先權(quán)日2012年5月23日
發(fā)明者嚴(yán)曉浪, 孟建熠, 高錦煒 申請人:浙江大學(xué)