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