您现在的位置:首页 > 技术资料 | 上载库存 |
手写输入防止密码被盗 现在,只要是ATM机、刷卡机都需要输入密码。在输入密码的时候都不希望密码被别人看到;电影上根据指纹盗取密码的片断已经司空见惯。另一方面,手写输入技术现在已经被广泛使用在PDA, Mobile Phone等产品中,不过用于输入密码还很少见。常见的密码盗取方式大概有下面两种: 1.扫描经常使用的按键盗取密码。通过键盘输入密码后,通常会在按键表面留下指纹,进而在按键表面产生机械磨损。密码盗取者能拍下键盘表面的图像,通过图像分析,他有极大的可能获取你的密码。 2.在键盘表面涂透明的特殊材料盗取密码。输入密码后,通过特殊的光线扫描键盘表面的这些特殊材料(见图1),密码盗取者就可以区分出哪些按键曾被触摸过(手指表面有微量的油脂和灰尘),从而获取密码。 Cypress公司使用PSOC系列芯片实现了一种手写输入密码的参考设计:使用一片Cypress公司的CapSense系列芯片(例如CY8C20434)和一块廉价的X-Y Key Matrix (通过一块双面PCB直接实现,无需任何其他器件), 配合通用的银行卡读卡器来实现。把手伸入一个固定在读卡器上的黑匣子,手写输入密码数字,每输入一个数字将点亮一个指示灯,密码输入完成后,按下外部的确认键就完成了整个输入过程;CapSense芯片将触发读卡器的一个中断,并通过I2C总线将加密过的数字点阵信息传送给读卡器(见图2)。 这种设计的优点: 1. 使用一个黑匣子使你的密码输入过程无法被偷窥。在这种新方式中,只需要手写密码数字,没有必要看见X-Y Key Matrix本身。而在键盘输入方式中,需要盯着键盘键入每个数字,以免输入错误。 2. CapSense仅传送加密过的数字点阵信息 ,即便遭遇黑客入侵也使解密出原始密码数字成为不可能。原始密码数字由许多点阵信息组成,读卡器与CapSense可以约定动态变化的信息组合格式以加强安全性。 3. 读卡器能够动态的,不定期的改变加密密钥,使被加密的原始密码数字本质上安全。 4. 所有密码数字都手写在X-Y Key Matrix的同样区域内,使输入密码后遗留的痕迹无法通过图像分析得出原始密码。X-Y Key Matrix表面的每个地方存在同样的机械磨损,每次新的书写都会覆盖上一次的书写。 5. X-Y Key Matrix位于固定在读卡器上的黑匣子的内部,很难在其表面涂上特殊材料后进行光线扫描以得出原始密码。这里使用的X-Y Key Matrix是廉价的双面电路板,集成了CapSense芯片后可以小到40mm * 36mm大小;Cypress公司的CapSense芯片感应外部的电容变化,如手指的接触,并将其转化为数字量输入;CapSense Matrix方式(见图3)可以极大的降低系统的设计复杂性和成本。 完成该设计的关键之处在于为了加强安全性而需要实现的以下两点: 1. CapSense仅传送加密过的数字点阵信息 ,即便遭遇黑客入侵也不太可能解密出原始密码数字。原始密码数字由许多点阵信息组成,读卡器与CapSense可以约定动态变化的信息组合格式以加强安全性。 2. 读卡器能够动态的,不定期的改变加密密钥,使被加密的原始密码数字本质上安全。需要和开发ATM / 银行卡读卡机的企业商定“动态变化的信息组合格式”, 以及“动态的,不定期的改变加密密钥”的间隔时间、加密密钥的格式、加/解密算法的选择等。 成功完成这个产品设计(见图4~5)的经验主要有: 1. X-Y Key Matrix (双面PCB)的布线需要遵循CapSense硬件设计规则,这可以降低RF noise对系统的影响,也更容易通过EMC和EMI测试。 2. CapSense芯片和Host通过I2C通信的格式可以双方商定,如果Host端工作量大,可以将某些数据让CapSense芯片处理后(需要加密)提交给Host;如果CapSense芯片端工作量大,可以直接报告某些未处理的数据(还是需要加密)给Host,由后者完成这部分工作。
|