基于DS5002PF单片机的密码键盘设计与研究--控制网



基于DS5002PF单片机的密码键盘设计与研究
企业:控制网 日期:2005-08-31
领域:人机界面 点击数:1718



0 引言

    在金融行业的计算机系统中,密码键盘主要用来进行口令密码认证,用户口令通过密码键盘输入计算机后与银行数据库内的用户口令比对,通过后才允许对用户数据库进行存取款的操作。口令密码的使用极大地保护了用户和银行的利益,得到了广泛推广,因此密码键盘[1]的应用也非常普遍。

    早期的银行业务中,由于金融电子化程度较低,密码的校验工作是通过顾客将密码写在取款单上,由柜员来进行核对确认。这种方式首先要求银行网点上的柜员是安全可信的,而其最不安全之处就在于密码写在了取款单上,容易被别人看到而造成密码的泄漏[5]。随着金融电子化程度的提高,终端进入了金融行业的业务操作,终端的辅口上可以联接一个串口设备如密码小键盘。于是,密码小键盘开始用于银行业务中的密码校验。Unix主机下发命令打开终端的辅口,用户就可在密码小键盘上输入密码到主机上和数据库中的密码进行核对。这种方式大大提高了密码校验的工作效率,同时具有较好的安全性,密码上传到主机时回显到终端屏幕上的不是密码,而是*号,这样也避免了柜台人员知道顾客的密码,造成不必要的麻烦。

1硬件部分
    密码键盘作为POS系统的一个输入输出设备,需要输入PIN,显示金额,保存重要数据(密钥),与主机通讯, IC卡读写[6][7]等功能,所有通讯数据及保存数据必须加密,是安全性要求较高的外设。其硬件结构图见图1。


图1 硬件结构框图

DS5002FP
    兼容MCS-51系列单片机,在使用外存的情况下仍然可以使用4个PO作为数据I/O,带外设的能力较强。在发现入侵时迅速擦除存储器内存。该安全微处理器芯片提供强大的软件加密算法,该算法包含DES加密原理。它可以允许64位的密钥。密钥仅能通过产生的随机数被装载,因此真正的密钥值是用户无法知道的。任何篡改密码的企图都将导致密码被擦除,而使得RAM加密的内容无法使用。


图2  DS5002FP引脚图

存储器
    SRAM(静态随机存取存储器)是一种只要在供电条件下便能够存储数据的存储器件,而且是大多数高性能系统的一个关键部分。SRAM的速度非常快,在快速读取和刷新时能够保持数据完整性。

    用DS5002FP扩展512K来实现保存程序和数据。为了实现程序空间和数据空间的切换,需要使用148编码器。

磁条卡(MSR)接口
    磁条阅读器应能够准确阅读在磁性标准正常范围内的磁道信息,并可同时读取磁条卡的二、三磁道数据。凡符合GB/T14916、GB/Y15120、GB/T15694-1、ISO7812-2、GB/T17552
标准的磁条卡都能读取。刷卡方向可采用单向或双向,刷卡速度范围为10毫米/秒-100毫米/秒,磁条读卡器寿命应达到400,000次以上。

    用DS5002FP的数据总线经74HC245挂接到74HC595芯片数据总线上,磁条卡插入信号由P1.7检测,数据读取由外部中断1控制,由P2.6经74HC4066控制分配使用,磁条卡的串行信号转变成并行信号上传给DS5002FP是由一片74HC393分频控制,利用另一片74HC393分频控制产生外部中断1的中断信号,P1.6检测二磁道的读取信号,磁条卡的解码芯片用F2F2000。

KEYPAD接口设计
    在读取键值时,分为是否在安全模式下获取键值:在非PIN的按键获取时,不需要进入安全模式,按键的键值以键值代码明文的方式传递;在获取PIN时,必须进入安全模式,即此时的按键返回全部为一个固定值。

    用DS5002FP的P0口及P2.0、P2.1共十根I/O线(KP0、KP1、KP2、KP3、KP4、KP5、KP6、KP7、KP8、KP9)经74HC4066构成5*5的矩形扫描键盘,用P2.5控制74HC4066方向的转换。

LCD接口设计
    可同时显示汉字和字符,密码输入时可选择明文或保密方式,方便用户对交易信息的确认。其中输入的PIN不能显示在屏幕上。用一串无意义的符号例如"*"星号来显示接受的字符数。 

    用DS5002FP的P0口及P2.0、P2.1、P2.2、P2.3、P2.4共十三根I/O线经LCD驱动电路构成LCD显示电路,P0口作为数据线,P2.0、P2.1、P2.2、P2.3、P2.4作为控制线。设计兼容128×64与122×32两种模式LCD显示。

通讯接口
    备有两种方式:USB通讯方式和RS232通讯方式。

    USB通讯方式:USB就是设备插架的一种规范,支持主系统与不同外设间的数据传输,是电脑系统连接外围设备[4]的输入/输出接口标准。特点很突出:速度快、兼容性好、不占中断、可以串接、支持热拔插等等。

    用DS5002FP的数据总线挂接到USB接口控制芯片SL811ST的数据总线上, DS5002FP的R/W接到SL811ST的nRD上,R/W与nWR连接,R/W和PE4与/WR相连,nR/W和PE4经74HC32相与后与/RD相连,SL811ST的nRST与DS5002FP的P1.3相连, SL811ST的中断控制信号与DS5002FP的INT0相连,SL811ST的输出线为DATA+、DATA-。

    RS232通讯方式:RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能电气特性都作了明确规定。由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此它作为一种标准,目前已在微机通信接口中广泛采用。 

    用DS5002FP的RXD、TXD挂接到串口接口控制芯片MAX232的R1OUT、T2IN上,DS5002FP的/PROG经电阻接到SL811ST的R2OUT上, SL811ST与POS机的连线为R1IN、R2IN、T2OUT。

SDI
    SDI(self-destruct input),该引脚是DS5002PF中一个不可忽视的引脚。高电平触发,无论VCC引脚是否有工作电压,它都可以工作,不用时该引脚接地。当外部有篡改探测内部电路行为时,SDI引脚都有安全锁闭功能:即立即擦除密码和48字节RAM空间。

系统软件设计
    控制软件流程,协调各模块之间的时序关系,全局变量的定义,函数初始化、命令标志的判断、中间数据的处理、中断的控制等功能。

    其中主控模块的处理请求示意图如图3所示。


图3  处理请求示意图

    磁条卡接口功能流程图如图4所示。


图4 磁条卡接口功能流程图

    其它部分在此就不一一介绍。

3密钥管理
    密钥管理包括:密钥的生成、分配、保管和销毁等。对传输的信息进行加密,以防被窃取、更改,从而避免造成损失。对存储的信息进行加密保护,使得只有掌握密钥的人才能读取信息。为了安全防护,一般采取以下组织管理措施:对持卡人、卡和接口设备的合法性的相互检验;重要数据加密后传送;卡和接口设备中设置安全区,在安全区中包含有逻辑电路或外部不可读的存储区,任何有害的不合规范的操作,将自动禁止对卡的进一步操作。

    加密算法采用DES系统[2],该系统是至今为止应用最广泛、最安全的加密系统。在DES算法设计中采用了基本的隐蔽信息的技术:散布和混乱,构成算法的基本单元是简单的置换、移位和模2加运算,可在任何普通的计算机上实现。DES 密码算法可满足以下要求:提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;DES密码体制的安全性不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;实现经济,运行有效。

4结论
    综上所述,该密码键盘是多功能一体化终端,支持各种安全需求。读卡灵敏度高,一致性好,具有灵活方便的模块组合,用户界面好。数据传送可用明文或密文形式,软件实现DES加密算法,一旦发现受到篡改,密码键盘将立即破坏所有密钥和其他敏感数据,安全可靠,加密功能具有硬件保护,拆机自毁功能。背光液晶显示,可同时显示汉字和ASCⅡ字符,方便用户对交易性质和金额的确认以及查询信息的确认。RS232标准串行接口,方便与多种设备相联。驱动简单,方便编程,它的设计和开发具有很好的实用价值和较广阔的应用前景。

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: