采用滚动数码鼠标概念的防窥视密码键盘设计
扫描二维码
随时随地手机看文章
随着信息技术的发展,各种交易卡、身份卡也越来越多地进入到人们的日常生活。在这些活动中,经常需要输入几位数码的口令或密码即个人身份码(Personal Identify Number/PIN)以确认身份。
本文介绍一种在鼠标概念基础上研究开发的密码输入方法,或者称为密码鼠标。这种密码鼠标采用滚动的数码输入方式,只有3~4个键,其输出编码结构、数码传输方法和传输率等与现行密码键盘完全相同,最大的不同是它可以完全防止输入密码时被他人窥视。
1 键盘的整体结构和工作原理
从外部看本键盘包括两部分:一部分是选码与操作部分;另一部分是数码显示部分,图1(a)、(b)分别给出了这种键盘的两种外型图。
图1 两种外型图
选码与操作部分包括功能电路和若干个操作键,除了有与原来键盘相同的功能键外,还有一个选码键(或选码转轮),用该键取代原来键盘的0~9 10个数字,通过“+”或“-”的方式滚动选定0~9其中之一,然后再选定输入。图2是其结构框图。
图2 结构框图
显示部分是一个一位的数码显示管,该部分即时显示选码键(或选码转轮)选中的数码。显示部分利用光学原理和光学材料限制数码显示视角。
上述两部分组合,完成密码的输入过程。工作原理如下:开始时键盘的显示部分会显示一个0~9之间的随机数。通过转动转轮改变BCD可逆计数器的数值,当转轮正向转动时,计数器正向计数,即按0-1-2-3-4-5-6-7-8-9-0的规律计数;转轮逆向转动时,计数器逆向计数,即按0-9-8-7-6-5-4-3-2-1-0的规律计数。在该BCD码计数器计数的同时,显示部分即时显示该计数器的数值。当选中要输入的数字时,按动“选定”键,该BCD码并行地存储到锁存器中,然后该BCD码按设定的传输率输出。按顺序全部输入完若干位密码后,按“确认”键。通过加入其它的声光提示信息还可以提高键盘的操作灵活性。
2 键盘的实现电路和关键技术
2.1 硬件构成
实现上述功能可以采用分立电子元件也可以用单片机实现,还可以用可编程逻辑器件实现。根据现在的技术条件,采用单片机实现上述功能比较方便。利用8051单片机的紧凑结构芯片AT89C2051可以在很小的面积上布线,并完成图2的功能。由于AT89C2051的外部输入/输出引线有限,利用软件译码会占用7条输入/输出线,所以在 AT89C2051和7段LED数码管之间接一个BCD码到7段显示码译码器CD4056。
从外部看,用P1.0、P1.1、P1.2、P1.3和P3.7作为五个热键(鼠标式的只用三个)的输入3.2、P3.3作为选码转轮的输入接口;由P1.4、P1.5、P1.6、P1.7共4位即时传送BCD码到CD4056;CD4056的输出直接驱动7段LED数码管。P3.5为串行通信口,用于传送经确定后的BCD码。 [!--empirenews.page--]
2.2 选码转轮和可逆计数器
选码转轮是一个在内径成环形均匀布有12小孔的圆形转轮,在PCB板上设有一个红外发光管和两个红外接收管。转轮转动会切割红外光线,通过光电二极管和转轮上的光孔形成信号,经过整形后利用两个信号输入的先后顺序识别转轮的正反转。
2.3 随机数发生器
为了防止他人从输入的动作和规律看出所输密码,键盘的每次启动或每输入一位码后再输入新一位码时,键盘总是在0~9之间随机显示一个数,在此数的基础上再进行加/减计数。这个随机数的产生用单片机一个内部寄存器完成。该寄存器不断进行BCD不带进位的高速加计数,当需要产生随机数时,从该寄存器即时取出当时的计数值。由于取数是操作人员按动“确认”键后进行,是一个随机时刻,所以取出的数也是一个0~9之间的随机数。
3 视角限制方法
在显示器的前面放置一层内部平面经过凹凸处理的透光材料。该层材料使与显示器平面法线方向平行的光线不失真射出,使偏离中心的光线发生散射,从而限制显示器在垂直方向的视角,即只允许交易者个人看到显示器的内容。调节显示器的电流使显示器的亮度为一个合适的值。通过调节显示器表面与透光材料的距离h也能达到限制显示器在垂直方向的视角,如图3。
图3 显示器部分剖面图
图4是根据上述原理制作的鼠标结构密码键盘图。首先从功能上进行对比实验,对比键盘是深圳某公司出品的码位固定的明码键盘,当输入一个0~9之间的数字时,该键盘串行传送一个8位的二进制码3X,X是要传送的数字。制作的键盘采用相同的编码和传输率,接收端是一台计算机。经过100多次输入6位密码,两者性能完全相同。
设计的显示器视角为15°,即使在操作人员旁边站立,也很难从密码键盘输入端看到应输入的密码。输入速度在开始时较慢,经过简单熟悉后,设计制作的鼠标式密码键盘的输入速度与码位固定的明码键盘相同。