計算機硬件技術在不斷進步,,例如CPU的運行速度由初期的2"16MHz,到如今的1GHz以上,,內存由原來的1Mbit到現(xiàn)在的256"512Mbit,,這些都給軟件運行提供了良好的環(huán)境,,同時也帶動了計算機軟件行業(yè)的大力發(fā)展。
隨著軟件產品的廣泛應用,,對軟件的知識產權保護" title="知識產權保護">知識產權保護也開始重要。軟件產品通過系列號碼加密,,每一個軟件均有唯一的產品系列號碼,。軟件產品配置加密電路板" title="加密電路板">加密電路板后,軟件產品和該產品軟件加密板同時售出,,用戶在使用時一套軟件要配備一塊加密板,,通過控制加密板,就可以保證軟件產品安全,。
計算機訪問外部設備地址
計算機系統(tǒng)是通過主板上的I/O接口地址來實現(xiàn)訪問外部設備的。例如,,讀取硬盤中的數(shù)據是通過直接訪問1F0"1F7H的接口地址,,也就實現(xiàn)了訪問硬盤的操作。當鼠標器連接到串行口COM2時,,計算機在上電復位時自動啟動鼠標的串行通訊功能,。其中并行接口LPT1和LPT2為專用打印機使用,地址分別是278"27FH,、378"37FH,。計算機接口被不斷的開發(fā),并行接口已經有了更多的用途,。
基于ISA總線的加密電路
利用計算機ISA總線設計一個密碼電路,,可以實現(xiàn)加密的目的。ISA總線加密電路利用Xilinx等公司可編程邏輯器件(CPLD" title="CPLD">CPLD)可以設計一組加密電路,。在電路中,,IC1 是Xilinx公司的可編程邏輯器件XC9572,有84個引腳,,其中可作為I/O的有68個引腳,,內部有1600個邏輯門,72個宏單元,,響應速度7"15ns,。P1是ISA總線引腳。D0"D7是計算機訪問外部設備的8位數(shù)據總線,,a0"a19是訪問外部設備的20條地址總線,,ior是讀外部設備數(shù)據信息的讀選通線,iow是向外部設備發(fā)送信息或命令的寫選通線,,rst是計算機的復位線,,在復位時,,加密卡與計算機同時復位。
將ISA總線的地址a(19,0),、ior,、iow和aen經過譯碼作為片選、時鐘,,對一組觸發(fā)器電路進行操作,,就能夠讀取密碼數(shù)據。在選擇地址時,,a(10)"a(19)為空,,既隨機狀態(tài)。加密電路地址可以選擇打印機接口地址278H,、279H,、27AH。例如選擇278H,,在加密電路中,,通過地址278H讀取一組低8位數(shù)據D(7,0),就能夠作為軟件運行的密碼,,控制軟件是工作還是退出,。在圖中,利用Xilinx公司的Project Navigator軟件設計了一組只讀八-D觸發(fā)器電路,,并將觸發(fā)器的輸入端A1,、A2、A4,、A5,、A8設置為“1”電平,把A3,、A6,、A7設置為“0”電平,當讀取觸發(fā)器時有恒定數(shù)據9BH,,此數(shù)據即為密碼,。
其中ISA總線的選通278H地址的邏輯公式是:
G1 = "a" * "a" * "a" * "a" * /"a" * /"a" * /"a" * /"a" * /"a" * /"a" */aen */ ior (1)
基于PCI總線的加密電路
計算機的PCI總線被普遍應用,一些速度快,、內存容量大的新型計算機主板已經以PCI總線為主,。PCI總線的特點是體積小,速度快,。設計計算機的板卡利用PCI總線是大勢所趨,。利用PCI總線設計加密電路,電路中利用了華邦(Winband)公司生產的計算機PCI總線接口電路W89C940,,最大運行速度是10MS,。PCI總線與ISA總線在工作原理上有所區(qū)別,。PCI總線卡必須擁有驅動程序,不同功能的計算機卡的驅動程序也不相同,,因此計算機所有的PCI總線電路都必須配備一只串行EEPOAM ,,例如AT93C46,用來存放驅動碼,。
對加密電路進行設計時,,同樣利用Xilinx公司的Project Navigator軟件設計一組可以寫數(shù)據、再讀數(shù)據的八-D觸發(fā)器電路,。電路的數(shù)據D[7:0]經過輸入緩沖器BUFE8輸入到八-D觸發(fā)器,其控制選通端是IN,,當IN信號為“1”時,,數(shù)據D[7:0]輸入到觸發(fā)器,并且鎖存數(shù)據,;當輸出選通信號OUT為“1”時,,輸出數(shù)據Q[7:0]傳輸?shù)紻[7:0],即讀取八-D觸發(fā)器的數(shù)據,。計算機軟件在運行時,,通過寫、讀數(shù)據就起到加密的作用,。
并行接口的加密電路
并行加密電路的設計都是選用計算機的并行打印機接口,。計算機的打印機接口LPT1,數(shù)據傳輸形式,、連接器插座等在IEEE1284中有明確的規(guī)定,。其主要特性是,數(shù)據傳送總線DB7"DB0,,打印機工作忙時,,pin1是數(shù)據鎖存信號,pin10是打印機接收數(shù)據,。Atmel公司的EEPROM器件AT93C46,,具有比較低的工作電流,所以將其正電源VCC連接到ERR端,。其工作方式是首先輸入控制字,,讀取數(shù)據就寫入讀控制字,寫器件就寫入寫控制字,,之后才能讀或寫16位(16bit)數(shù)據,。讀操作過程是,寫入讀控制字,,寫入7位(7bit)地址,,接下來就可以在輸出端接收數(shù)據,,每當輸入一個時鐘,就有一位(1bit)輸出,,輸出16位后自動結束,。打印機接口的加密電路可以設計許多種方式,例如,;時間電路,,寫入電路的數(shù)據與讀出數(shù)據的時間相關。
結語
經過實際設計證明,,基于計算機總線設計加密電路的方法,,方便實用。這種方法的結構簡單,,利用CPLD設計加密電路方便可行,,能夠比較好地實現(xiàn)加密功能。計算機加密電路的設計有多種方法,,各種方法具有不同的優(yōu)缺點,。實際上,在電路的設計過程中,,可以增加一些邏輯功能用來實現(xiàn)功能加密,、工作狀態(tài)加密、實時數(shù)據加密等電路,,這樣能夠更好地起到真正加密的作用,。