摘? 要: 隨著工業(yè)信息技術(shù)的飛速發(fā)展,工業(yè)上傳輸數(shù)據(jù)的安全性越來(lái)越差,而數(shù)據(jù)加密" title="數(shù)據(jù)加密">數(shù)據(jù)加密是保證信息安全的一種有效手段,。探討了采用DES和RSA混合加密方式實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)通信中的信息安全的方案,。?
關(guān)鍵詞: 實(shí)時(shí); DES; RSA; 混合加密?
?
信息加密" title="信息加密">信息加密技術(shù)主要應(yīng)用于以PC機(jī)或工作站為基礎(chǔ)的軟件領(lǐng)域,只作為大多數(shù)信息加密系統(tǒng)的一個(gè)軟件插件,運(yùn)行時(shí)不能與計(jì)算機(jī)并行工作,且需要占用大量的CPU時(shí)間和資源,使得系統(tǒng)加密速度,、安全性等方面的需求得不到很好的滿足[1],。此外,由于目前大多常用的操作系統(tǒng)和系統(tǒng)軟件均是國(guó)外研制和開(kāi)發(fā)的,國(guó)內(nèi)重要機(jī)構(gòu)或企業(yè)使用這些系統(tǒng)是否真正安全還有待商榷,采用軟件實(shí)現(xiàn)的加密系統(tǒng)很可能會(huì)留下被竊取機(jī)密信息的機(jī)會(huì),所以采用硬件系統(tǒng)" title="硬件系統(tǒng)">硬件系統(tǒng)實(shí)現(xiàn)重要信息的保密工作是十分必要的,。如果把數(shù)字簽名技術(shù)直接應(yīng)用于嵌入式實(shí)時(shí)數(shù)據(jù)系統(tǒng)中,以經(jīng)過(guò)特殊設(shè)計(jì)的硬件系統(tǒng)進(jìn)行加密,其應(yīng)用范圍將會(huì)更廣、安全系數(shù)更高、加密速度也會(huì)更快。?
1 硬件電路?
1.1 信息加密系統(tǒng)原理?
該信息加密系統(tǒng)的工作原理是:首先將被測(cè)信號(hào)經(jīng)A/D(TLV2544)轉(zhuǎn)換器進(jìn)行數(shù)模轉(zhuǎn)換后,在DMA控制下,將輸出數(shù)據(jù)通過(guò)TMS320VC5402 DSP[2]的McBSP口傳輸?shù)絻?nèi)存中對(duì)原始數(shù)據(jù)進(jìn)行DES加密,然后再對(duì)DES密鑰進(jìn)行RSA加密,。在加密后,將處理好的數(shù)據(jù)存儲(chǔ)到指定內(nèi)存中,然后在PCI2040控制下,將密文數(shù)據(jù)通過(guò)DSP的HPI口,經(jīng)PCI總線傳輸?shù)街鳈C(jī)上。其具體硬件框圖如圖1所示,。?
?
?
1.2 數(shù)據(jù)采集與傳送模塊?
該系統(tǒng)利用DSP的多通道緩沖串口McBSP和DMA功能相結(jié)合完成目標(biāo)信號(hào)的采集和傳輸,。在該電路中,由DSP的McBSP0口來(lái)控制A/D轉(zhuǎn)換電路的工作,首先由內(nèi)部時(shí)鐘發(fā)生器對(duì)DSP工作時(shí)鐘進(jìn)行分頻產(chǎn)生所需的發(fā)送時(shí)鐘信號(hào)CLKX0,再由幀同步發(fā)生器將CLKX0信號(hào)分頻產(chǎn)生發(fā)送幀同步信號(hào)FSX0。信號(hào)的接收和發(fā)送時(shí)序相同,所以接收時(shí)鐘信號(hào)CLKR0和接收幀同步信號(hào)FSR0可以直接使用CLKX0信號(hào)和FSX0信號(hào),。McBSP通過(guò)其數(shù)據(jù)輸出口DX0發(fā)送控制字" title="控制字">控制字到TLV2544的SDI口,該控制字為16位,如果TLV2544接收到的前4位是1010,則接下來(lái)的12位就會(huì)被當(dāng)作控制字譯碼;而如果前4位接收到的是1110,則TLV2544將繼續(xù)輸出FIFO的內(nèi)容到SDO中,。當(dāng)TLV2544按DSP發(fā)出的控制字轉(zhuǎn)換到某一狀態(tài)(如FIFO堆棧滿)時(shí),則發(fā)出EOC/INT信號(hào)通知DSP接收,DSP接收到轉(zhuǎn)換結(jié)束信號(hào)后,經(jīng)DR0口讀入TLV2544已轉(zhuǎn)換好的串行數(shù)據(jù)。其電路連接圖如圖2所示,。
?
?
1.3 主機(jī)接口模塊設(shè)計(jì)?
本系統(tǒng)利用 PCI[3] 總線通過(guò) DSP 的 HPI 口把加密后的數(shù)據(jù)傳送到主機(jī)設(shè)備或服務(wù)器,。首先,由串行EEPROM AT24C01A作為PCI配置寄存器,通過(guò)串行數(shù)據(jù)(SDA)、串行時(shí)鐘(SCL)引腳與PCI2040連接,并將GPIO0,、GPIO1經(jīng)上拉電阻與VCC相連,。當(dāng)系統(tǒng)上電復(fù)位后,檢測(cè)到GPIO0和GPIO1為高,此時(shí)表明存在串行ROM,可自動(dòng)完成PCI2040的配置,接著就可以進(jìn)行PC和DSP的數(shù)據(jù)傳輸了。兩者之間的傳輸通過(guò)HPI接口實(shí)現(xiàn),其傳輸過(guò)程如下:?
(1) 軟件清除HPI復(fù)位寄存器,。?
(2) 解碼從PCI總線來(lái)的地址,如果在32KB的控制空間中,則響應(yīng)PCI周期,并給出片選信號(hào)及HCNTL[1~0]訪問(wèn)相應(yīng)的HPI寄存器。?
(3) 主機(jī)初始化HPI控制寄存器的BOB位,選擇正確的字節(jié)定位方式,。?
(4) 主機(jī)在HPI地址寄存器中設(shè)定正確的HPI空間地址,通過(guò)裝載HPI的地址寄存器,使DSP完成一次HPI存儲(chǔ)器訪問(wèn),此時(shí)數(shù)據(jù)就被放到了HPI數(shù)據(jù)寄存器中,。?
(5) 主機(jī)從HPI數(shù)據(jù)寄存器中讀/寫(xiě)數(shù)據(jù)。?
讀周期,HWIL信號(hào)為低時(shí),HAD[7~0]引腳上出現(xiàn)的是第一個(gè)字節(jié),為高時(shí)就是第二個(gè)字節(jié),。讀HPI的存儲(chǔ)器時(shí),給定地址的內(nèi)容傳送到二個(gè)8位的鎖存器,按照先低后高的順序依次鎖存,接著讀取HPI存儲(chǔ)器給定地址指向的2個(gè)字的內(nèi)容,。為使主機(jī)高效訪問(wèn)HPI存儲(chǔ)器的連續(xù)數(shù)據(jù)塊,采用地址自動(dòng)增加的方式(設(shè)置HCNTL0和HCNTL1為01),地址自動(dòng)加1,存儲(chǔ)器的下一個(gè)數(shù)據(jù)鎖存到鎖存器,主機(jī)再讀HPID,重復(fù)即可完成數(shù)據(jù)的讀操作。其原理圖如圖3所示,。
?
?
2 系統(tǒng)軟件算法的實(shí)現(xiàn)?
DES[4]算法和RSA算法是數(shù)據(jù)加密中久經(jīng)考驗(yàn)的比較優(yōu)秀的算法,DES算法具有密碼使用簡(jiǎn)便及處理速度快等優(yōu)點(diǎn),RSA算法則不需要秘密分配密鑰并且密鑰的安全管理也很容易,。但兩種算法仍在處理效率、密鑰管理等方面存在著不足,。為了充分利用DES和RSA兩種算法的優(yōu)點(diǎn), 而同時(shí)避免它們的缺點(diǎn),該系統(tǒng)選擇了RSA算法與DES算法綜合使用加密體制的方法,利用DES算法保密強(qiáng)度高,、計(jì)算開(kāi)銷(xiāo)小、處理速度快的優(yōu)點(diǎn),對(duì)采集的原始數(shù)據(jù)加密,保存好對(duì)稱(chēng)加密密鑰及密文;再利用RSA算法便于密鑰管理和分發(fā),、便于數(shù)字簽名的特點(diǎn),對(duì)DES算法加密所用的密鑰再加密,。這樣就如同設(shè)計(jì)了一個(gè)數(shù)字信封,用戶只有在得到了對(duì)原始數(shù)據(jù)做DES加密后的密文1、DES加密時(shí)所用密鑰經(jīng)RSA加密后的密文2及RSA加密所用公鑰相對(duì)應(yīng)的私鑰這三種技術(shù)后才能解出原始數(shù)據(jù),。解密流程是加密流程的逆過(guò)程,即:用RSA私鑰對(duì)密文2進(jìn)行RSA解密操作,解出DES加密所用的密鑰,再用此密鑰對(duì)密文1進(jìn)行DES解密操作,從而得到所需的原始數(shù)據(jù),。其加密主程序" title="主程序">主程序流程圖和解密主程序流程圖分別如圖4、如圖5所示。?
?
?
?
該信息加密系統(tǒng)強(qiáng)調(diào)對(duì)數(shù)據(jù)的實(shí)時(shí)加密,在得到原始數(shù)據(jù)后,要求第一時(shí)間進(jìn)行加密保護(hù)并存儲(chǔ),至于接下來(lái)對(duì)密文的處理,可以在本地計(jì)算機(jī)上或通過(guò)網(wǎng)絡(luò)傳遞到任意遠(yuǎn)的終端計(jì)算機(jī)上,利用其解密程序及密鑰來(lái)復(fù)原先前采集的現(xiàn)場(chǎng)數(shù)據(jù)或資料,。所以,該系統(tǒng)采用加密主程序與解密主程序分開(kāi)運(yùn)行的策略,其中,加密子系統(tǒng)主程序用硬件實(shí)現(xiàn),即在本系統(tǒng)所設(shè)計(jì)的 DSP硬件系統(tǒng)上運(yùn)行;解密子系統(tǒng)主程序可以安裝到任意一臺(tái)日常用計(jì)算機(jī)上,只要取得與DSP硬件系統(tǒng)所用加密密鑰對(duì)應(yīng)的解密密鑰,就可以方便地解出密文數(shù)據(jù),。?
本文提出了一種把數(shù)字簽名核心算法應(yīng)用于以TMS320VC5402 DSP芯片為內(nèi)核的單板硬件環(huán)境中。在增加一定硬件開(kāi)銷(xiāo)的前提下,使加密算法的運(yùn)算速度明顯提高,可靠性也大大加強(qiáng),。同時(shí)在該硬件環(huán)境下,提出了DES和RSA的混合加密方法,使信息傳輸?shù)陌踩禂?shù)大大提高,。該信息加密系統(tǒng)不但能起到傳統(tǒng)數(shù)據(jù)加密的作用,而且由于其體積小、攜帶方便,可廣泛應(yīng)用于重要數(shù)據(jù)的現(xiàn)場(chǎng)加密或其他一些需要第一手加密數(shù)據(jù)的場(chǎng)合,。?
參考文獻(xiàn)?
[1] 孫立新,王慕坤. 基于RSA算法的數(shù)據(jù)加密卡的設(shè)計(jì)[J]. 哈爾濱理工大學(xué)學(xué)報(bào), 2003,8(5):112-114.?
[2] 張勇.C/C++語(yǔ)言硬件程序設(shè)計(jì)-基于TMS320C5000系列DSP[M]. 西安:西安電子科技大學(xué)出版社, 2003.?
[3] 馬磊.PCI2040在DSP與PCI總線接口中的應(yīng)用[J].電子技術(shù), 2001,(1):53-55.?
[4] 周克儉,左孝凌.基于DES和RSA的網(wǎng)絡(luò)數(shù)據(jù)安全系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,1998,(9):5.