《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于DSP的PC加密卡

基于DSP的PC加密卡

2009-06-03
作者:蘇 江 郭寶安 李武軍

  摘 要: 對基于DSP技術的PC加密卡進行了綜述,對目前軟件和硬件實現網絡與信息安全的方法作了比較,并提出了一種采用TMS320C54x和PCI接口芯片實現高速加密卡的設計方案。
  關鍵詞: 數字信號處理器DSP 數據安全 PCI總線 可編程器件


  隨著Internet/Intranet的高速發展和普及,如何保證網絡上信息的安全逐漸成為人們關注的焦點,個人和普通公司、企業對安全的需求也日益迫切。密碼技術作為解決安全問題的有效手段,在各種安全解決方案中得到了越來越廣泛地應用。將網絡上傳輸的信息和系統內存儲的信息進行加密可以極大地提高網絡與信息的安全性。但一般作為個人或低成本辦公使用的PC計算機不可能都配備價格高昂的加密機,而使用軟件來實現加密解密雖然價格上可以承受,升級也比較方便,但系統性能會因此受到很大影響,此外在安全強度上與經過特殊設計的硬件加密也無法相比,例如應用于安全領域的軟件屢屢被黑客通過各種手段攻破,又無很好的對付手段就是證明。因此對需要經常在廣域網或Internet上進行大量保密數據通信的用戶而言,期待著有一種低成本且性能較高的加解密解決方案。本文闡述的基于TI公司高性能DSP的PC加密卡正是適應這種要求的產品。
  作為網絡安全問題一種較好的解決方案,加密卡通常需要具備下列功能:
  ·使用密碼算法對數據進行加密解密,密碼算法應可更換、升級、克服硬件改動困難的缺點,保護用戶投資;
  ·存放密鑰、證書及其他必需的數據,主密鑰和重要的密鑰應受到保護,而且這種保護應該比通常的軟件能達到的強度更高;
  ·與主機、外圍設備和系統軟件有良好接口,方便用戶開發相應的高層軟件。
  上述要求決定了PC加密卡的設計目標以及基本結構。
1 PC加密卡的基本結構
  PC加密卡主要由主CPU、計算機總線接口、板上RAM/ROM、隨機數生成模塊和外部設備接口等組成。TI公司新推出的TMS320C6x系列DSP功能強,速度也非???,但目前價格仍然太高,不適合一般加解密使用。而TMS320C54x系列具有性能適中,價格低廉,產品成熟等特點,是較好的選擇。本文所介紹的PC加密卡以TMS320C54x DSP為其主CPU。TMS320C54x系列DSP的部分產品具有HPI接口,設計為容易與ISA總線相連。但基于ISA總線的產品已經處于逐漸落伍的狀態,PCI總線是當前和今后一段時間PC適配卡的主要開發平臺,因此需要在PCI總線平臺上開發加密卡產品。
  使用通用的PCI接口芯片能夠減少開發時間和成本,并獲得較好的數據傳輸性能。在眾多通用的PCI接口芯片中,AMCC公司的S5920、PLX公司的PCI9050/52等芯片是從ISA到PCI總線平臺平滑過渡的最佳選擇,這些芯片實現了PCI目標設備的功能,提供了與ISA總線信號兼容或時序相似的本地總線信號。但從DSP和適配卡的發展方向來說,3.3V低電壓的信號環境是更主流的選擇,因此加密卡采用的是PLX公司的PCI9054與TI公司的TMS320LC(VC)54x的,外圍信號都是3.3V電平。圖1是整個加密卡的基本結構框圖。


2 PC加密卡的設計
  雖然PC機的CPU的速度越來越快,但是在加解密等大量科學計算面前,還是有些力不從心。而且由于加解密要占用CPU大量的時間,在加解密運算時,使計算機系統性能降低,其他工作的處理大大放慢。加密卡由于專為加解密目的設計,采用適用于科學計算的DSP芯片,因此能夠減輕CPU的計算負擔,提高加解密速度和整個PC的性能。目前C54x系列的DSP芯片主頻已高達100MHz以上,運算能力亦能達到200MIPS的水平,并且隨著工藝水平的進步,將進一步提高,C54x系列DSP采用同一套指令系統,具有極好的向下兼容特性,推出系列硬件產品可以減少軟件開發的成本。
  由于除C541、C542等少數芯片之外,其他C54x系列芯片的標稱電壓均為3.3V以下。而目前多數PCI接口芯片為5V標稱電壓(其中PCI9054可工作于雙電壓,可用于設計通用卡),因此兩種芯片之間還需要信號電平的轉換芯片,常用的芯片有74LVC4245等雙電壓驅動芯片、SN74CBTD3384等總線開關??删幊踢壿嬓酒?、Flash ROM及A/D芯片等則均有5V和3.3V的產品,選擇范圍較廣。采用PCI接口芯片而不是使用FPGA、CPLD等芯片來實現部分的PCI接口邏輯,主要是因為PCI接口芯片功能全而強大(例如FIFO速度快、容量大,可支持DMA方式等),而且可以減少設計失誤,縮短開發周期,降低總體開發成本。
  考慮到DSP中的片上RAM已經能夠滿足大部分程序的容量要求,而因為算法可升級,對外部存儲器的寫入頻度較小但不可缺,所以將卡上的RAM和ROM合二為一,采用適合此項功能的閃存(Flash) ROM。選擇該類型芯片可以簡化設計,具體使用的是AMD公司512KB容量的29F040(5V)或29LV040(3.3V),選取該容量主要依據卡上的算法代碼的大小以及所需存放密鑰、證書的數量而定,這樣Flash ROM除存儲程序之外,還可存放數千個1024比特的公鑰和同等數量的私鑰,可以滿足大多數安全通信系統的需要。
3 模塊的功能描述
  本PC加密卡所實現的主要功能有:
  ·數據加密解密功能:這是PC加密卡所具有的最基本的功能。PC加密卡目前封裝了DES、IDEA、TUC等對稱加密算法,以及RSA等公鑰算法。DES作為傳統的加密算法具有應用廣、速度快的優點。IDEA是已公開的可用算法中速度快且安全性強的分組密碼算法,具有良好的應用前景。而公鑰加密算法RSA則具有較高的安全性和密鑰管理方便的特點,通常用來對會話密鑰加以保護。
  ·數字簽名與認證功能:數字簽名在當前的商業和金融業中已經有了廣泛的應用,為滿足多方面的要求,在卡中實現了簽名和認證功能,主要利用RSA算法模塊來實現。
  ·密鑰管理功能:為維護PC加密卡的正常運行,密鑰的產生、保存、分配與管理功能是必不可少的。由于私鑰等重要密鑰在卡中保存,這一功能由加密卡的配套軟件與加密卡本身協同實現。卡上內置的軟件設計為可自動生成RSA的一對密鑰,外界軟件和系統只能得到其中的公鑰,而無法得到私鑰的任何信息,保證密鑰的安全。
  上述功能的實現依賴于加密卡各模塊間的協調工作,下面是各主要模塊的具體功能描述:
  DSP與Flash ROM構成密碼算法運算和重要數據存儲的平臺。系統啟動時,DSP從Flash ROM調入自舉和主控程序,接收主機送來的指令和數據,調入相應的算法程序,對數據進行加密或解密處理后,由主機通過PCI接口芯片讀出(見圖2)。


  在這里可編程邏輯芯片主要實現Flash ROM的讀寫信號和C54x外部等待狀態的生成。因為目前多數Flash ROM的讀寫速度跟不上DSP芯片的速度,除了DSP芯片的內部等待狀態(最多7個DSP時鐘周期)之外,還要加上外部等待狀態。下面就是一個生成8時鐘周期等待狀態的模塊(不使用MSC#信號),修改Q寄存器的數目和計數器的計數值,可以任意添加或減少等待狀態至最佳狀態。
  START node istype 'reg_d';
  Q0,Q1,Q2,Q3 node istype 'reg_d';
  COUNT=[Q3,Q2,Q1,Q0];
  START.D=1;
  START.CLK=!OE#!WE;
  START.AR=Q3;
  COUNT:=(COUNT+1)&START#COUNT&!START;
  COUNT.AR=!START*Q3;
  COUNT.CLK=CLK;
  READY=!START;
  PCI接口芯片、串行EEPROM與可編程邏輯芯片構成與主機的接口模塊,使主機與DSP之間可以透明的交換指令和數據。另外,PCI接口模塊提供了PCI配置功能,支持Windows平臺的即插即用,最大程度的方便用戶的安裝與使用。
  PCI9054同步的Local總線與C54x異步的HPI接口之間需要信號邏輯轉換,該功能由可編程邏輯芯片方便地實現。圖3是PCI9054與3.3V的LC54x芯片HPI口的連接示意框圖,其中的PCI9054工作在32位Local總線,非突發的目標設備讀寫模式。
  LHOLDA由LHOLD延遲一個Local總線時鐘周期得到,并在反相后接到DSP的HCS腳。其他主要信號的基本時序關系見圖4。

?


  根據芯片的時序數據,在保證PCI9054的工作時序與LC54x的HPI口的時序滿足要求的條件下,Local總線可以工作在40MHz以上。
  隨機數生成模塊的功能是產生真正意義上的隨機數,而不是由軟件通常所產生的偽隨機數。真隨機數在密碼技術中的用途有:產生工作密鑰和會話密鑰,為公鑰算法提供生成素數所需的隨機數,某些公鑰算法和協議(例如密鑰交換協議等)直接需要一個或多個隨機數參與運算等。模塊生成隨機數的機理源于大自然中永恒的噪聲,將元器件(例如雪崩二極管)所固有的噪聲加以放大,再通過A/D芯片采樣轉換,便得到了真正意義上的隨機數。本文設計的PC加密卡該模塊使用的器件較少,而且采用的A/D芯片MAX152的轉換精度僅為8位,因此成本很低,而所產生的隨機數足以滿足一般對隨機數性能的要求。僅采用D0即LSB作為所生成的隨機數,其產生速率亦可達100Kbit/s以上。圖5是一個簡易而實用的隨機數生成電路的示意圖。


  總之,本文描述了一種低成本、高性能的數據加解密硬件解決方案——PC加密卡。該卡采用性能價格比較高的DSP芯片實現加密算法的運算,利用PCI接口芯片、可編程邏輯芯片及Flash ROM等優化接口及邏輯設計。典型的分組密碼加解密速度達Mbit/s,RSA加解密在數十Kbit/s以上。由于其通用、高速及價廉的特點,具有很好的實際應用前景,尤其適用于構建在廣域網或Internet上的中小規模網絡各主機間的信息交換與傳輸。
參考文獻
1 TMSC320C54x DSP Reference Set.Texas Instruments,1996
2 PCI 9054 Data Book.PLX Technology,1999
3 馬衛國,何佩琨.通用高速PCI總線目標模塊的設計.電子技術應用,1999;25(1)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 天天久| 韩国午夜理伦三级在线观看仙踪林 | 日韩在线观看视频黄 | 欧美在线a | 免费色网站 | 黄色在线观看视频免费 | 亚洲精品在线观看91 | 波多野结衣久久 | 天天夜天干天天爽 | 免费羞羞网站 | 三级网站国产 | 欧美亚洲日本在线 | 日本欧美一二三区色视频 | 男女性刺激爽爽免费视频 | 高清色惰www日本午夜 | 一区二区三区在线 | 欧 | 妞干网中文字幕 | 亚洲 欧美 日韩 在线 | 国产凹凸在线观看一区二区 | 免费一区二区三区视频狠狠 | 精品x8x8视频| 麻豆小说 | 特级一级毛片免费看 | 国产亚洲成在线播放va | 日韩精品免费一区二区三区 | 丁香激情综合 | 午夜日本理论 | 成人网免费观看 | 日韩成人精品视频 | 亚洲国产欧美在线不卡中文 | 国产三级黄色毛片 | 国产精品视频在这里有精品 | 99在线精品日韩一区免费国产 | 毛茸茸free牲交 | 久草手机在线视频 | 三级纯黄| www.黄网 | 国产成人免费手机在线观看视频 | 日韩在线欧美在线 | 欧美日韩一级二级三级 | 91精品成人免费国产片 |