3.1 数据密码卡的组成
数据密码卡实际上就是一个基于计算机PCI总线的板卡。它区别于普通板卡的地方主要是这块板卡中包含了大量的加密后的机密数据,这些数据存于板卡的 FLASH存储器中。在军交系统中,这些数据代表了车辆的编组调度等信息,军交管理软件直接应用解密后的数据来对车辆实施调度,但这些解密后的数据对操作人员来说是透明的。为了防止不法分子蓄意破解数据,上级主管部门会不定期的将原始数据重新加密,然后写入FLASH存储器中,再将重新加密过的FLASH 存储器下发给各个部门。采取多种加密策略的目的主要是为了防止数据密码卡被盗,或者其中的FLASH存储器被盗而使密码被破译。
数据密码卡的组成框图如图2所示。
3.2 CPLD设计
CPLD的设计是本数据密码卡的核心。设计选用LATTICE公司生产的LATYICE1032。它所包含的模块主要有三块。其一是数据密码卡访问合法性确认和数据解密模块;其二是地址译码模块;三是ROM地址产生器模块。其顶层设计图如图3所示。
4 各模块核心部分的ABEL语言实现
4.1 ROM地址产生模块
下面是产生ROM地址的程序代码:
addrl:=addrl+1:
when addr1==^hlff then c0=1
else c0=0;
when e0 then addr2:=addr2+1
else addS:=addr2;
从上述程序中可以看出,ROM中的数据不是按照地址顺序排放的,也就是说,即使是得到了这片ROM,用编程器把数据读出,读出的数据也是无法破解的。
4.2 访问合法性确认和数据解密模块
访问合法性确认和数据解密程序代码如下:
该操作的保密措施主要是两点:一是在当访问者所输入的权限密码正确后,才能使 pass0~pass4信号有效,从而使OE信号有效来读取ROM中的数据;二是从ROM中读到的数据,还必须经过解密后才能得到真正的数据,解密的措施是ROM中读到的数据与某一数据进行异或处理。
5 结束语
基于CH365设计的PCI总线数据密码卡与PCI总线的接口比较简单,数据保密性强,操作简单。目前此卡已成功用于铁路调度系统之中。