新闻中心

EEPW首页>嵌入式系统>设计应用> 防信息泄漏键盘的设计与实现

防信息泄漏键盘的设计与实现

作者: 时间:2013-10-09 来源:网络 收藏


当按不同的键时,频谱仪接收到的谱线发生频移。按信息的相关原理证明,所得的谱线与按键信息相关,说明其中含有键盘的扫描码信息。该信息为键盘编码,并将其定义为红信号。

下面具体分析一下键盘产生的红信号走过的路径。图2是普通键盘的电路图,是用8051单片机实现的。

图2 普通键盘电路

图2中键阵列部分的引脚(P0、P2和P1的一部分)流过的是高低变换的电平,用以判断哪个键按下了,哪个键抬起了。这些信号即使被截获也是没有意义的,因此,将它们定义为黑信号。此外复位电平、晶振等也为黑信号。

键盘有2根信号线与主机相连,即时钟线(KBDCLK)和数据线(KBCDATA)。时钟线提供键盘与主机通信时的时钟信号,由键盘发出,下降沿有效。也就是说在每个时钟的下降沿,主机将键盘准备好的数据读入累加器“ACC”中,读到有效的“停止位”后送CPU处理。但对于同一种键盘来说,时钟的周期、频率、电平高低都是一样的;对于不同键盘会略有不同。在同一个键盘中,发出的所有数据的时钟都是相同的。所以这一信号与按键信息无关,也是黑信号。键盘有不同的键,它们被依此选通后,将通过数据线发出相应的键码数据传送给主机,所以,图2中只有数据线上走的是红信号。

下面再分析一下在芯片内部的红信号的通路情况。图3为8051的内部框图。

图3 8051框图

图3中以空心箭头表示红信号的路径。在8051内部,这一部分发出列扫描电平,读入行扫描电平,键按下后ALU通过计算将放在累加器ACC中。ACC再一位一位地送到P3的某个引脚上。在芯片内部,这一红信号是串行二进制码数据,其波特率为12.5 Kbps,脉冲宽度为80μs,转换时间为 1.4μs,奇校验。具体波形如图4所示。

图4 键盘发“H”的扫描码波形

通过上述试验可知,键盘中红信号的路径是从微处理器中的累加器开始,经一个数据引脚至主机数据口止的一段电路上。

键盘扫描周期谐波的RF辐射有两种主要的威胁:其一为攻击键盘电缆在其响应频率谐波的辐射;其次是攻击被非线性交叉效应调制的返回信号中被检波的扫描码。

3 红黑分离式键盘

3.1 设计

为了预防键盘泄密,我们研制了红黑分离式键盘。这种键盘使用光信号传输数据,键盘与主机间用塑料光缆连接,键盘以电池供电,使其最大限度地减小电磁辐射。

所设计的低电压电路,用2节5号电池供电。使用低电压的8051单片机作主芯片,实现键选扫并发送数据。为了省电,设计中采用一种技术,即在没有键按下时单片机处于休眠状态。

普通键盘的编码是固定的标准值,如表1所列。这种明码如果防御不当,一旦被截获将可被复现,造成严重后果。

这里的防御技术包括可编程的键盘微控制器。由于扫描周期是随机的,在它们传送给PC机前加密扫描码。当按键时,在周期内键扫描次数将是随机的,并且改变了值,而不是原来的常数。这样,当用户打印图案或所有情况下使用时,即使由攻击者截获到该值,但给他们的不是该按键值的信息。


评论


相关推荐

技术专区

关闭