首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 防信息泄漏键盘的设计与实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
防信息泄漏键盘的设计与实现
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-6-30 17:13
|
只看该作者
防信息泄漏键盘的设计与实现
工作原理
,
计算机
,
数据线
,
显示器
,
分系统
1 键盘工作原理概述
键盘是计算机中最通用的设备,也是除显示器外信息最容易被截获并被复现的设备。按照红黑分离式防信息泄漏原理,我们成功地开发了红黑分离式防信息泄漏键盘。
首先分析一下键盘的工作原理。现在的键盘主芯片只有1个。1个键盘由专用芯片、按键和接口3部分组成。其中专用芯片提供主机接口、行线、列线及键盘分系统控制微程序;按键被安排在行列线的交叉点上;主机接口共4根线:电源、地、时钟、数据。工作原理如下。
① 时钟和数据线在主机方和键盘方的引脚都是OC门,正常时电平为高。主机和键盘任何一方都可以把这两根线上的电平拉低。当两根线都为高时,键盘可以发数据;当时钟为低时,禁止键盘发送数据;当时钟为高、数据为低时,表示主机要发送命令,键盘要准备接收。
② 加电后键盘开始自检,如自检正常,则向主机发出AAH,并开始扫描按键。
③ 判断出有键按下后向主机发这一键的扫描码并开始计时,然后继续扫描。若0.5 s后,这个键仍未抬起,且没有新键按下的话,就要连续发这一键的扫描码:每秒30个。最多支持3个键同时按下。在0.5 s内若有新键按下的话,就为新键计时。
④ 待有键抬起时发这一键的结束码。
⑤ 收到主机发来的命令码后,键盘发FAH以应答,并开始执行这一命令。
键盘与主机通信的数据规则是:每组数据由11位组成:1位启始位(逻辑0)、8位数据位(低位在前)、1位校验位(奇校验)、1位停止位(逻辑1)。 其数据位的数据格式为:
时钟是键盘分系统发出的方波,周期约为80μs下降沿有效,只在发码的时候才有时钟。每个键有1个扫描码。主机还会发一些命令。表1给出了每个键的扫描码。
表1 键盘扫描
这是一个开放式的工业标准,PC机的键盘都是这样的。其与主机的通信必须按上述标准执行。这为零配件的生产、维修、使用提供了极大的方便,但同时也使键盘按键造成信息泄漏成为了可能。
2 键盘信息泄漏的分析
为了验证键盘信息泄漏的电磁场的特性,进行如下试验:当键盘连续保持按下“H”键时,用频谱仪测量键盘与主机连接的信号线的传导发射特性,结果如图1所示。
图1 键盘的传导发射特性
当按不同的键时,频谱仪接收到的谱线发生频移。按信息的相关原理证明,所得的谱线与按键信息相关,说明其中含有键盘的扫描码信息。该信息为键盘编码,并将其定义为红信号。
下面具体分析一下键盘产生的红信号走过的路径。图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机前加密扫描码。当按键时,在周期内键扫描次数将是随机的,并且改变了值,而不是原来的常数。这样,当用户打印图案或所有情况下使用时,即使由攻击者截获到该值,但给他们的不是该按键值的信息。
为此需要修改系统,自己设置密码。我们改变了键盘微控制器的程序,即使对方能够探测到键盘在工作中的电磁泄漏信息,对于截获的信息也是没有意义的。因为键盘产生并发出的光信号不是通用的扫描码,如图3中的红信号通路中传输的不再是通用扫描码,而是密码,到主机方有一个相应的单片机接收密码,并转换成键盘标准码送往主机。主机方的这一机构密封在屏蔽机箱的内部,电磁波不会泄漏出来。加密编码还有一个好处,就是可以经常更换编码方式,这一点对于机要部门很有用。
这里只涉及PC 机的设备驱动程序,并将其固化在键盘微控制器中。
下面主要讨论键盘的设备驱动程序或者称为键盘微控制器程序算法。
① 实现的功能与第1节中描述的普通键盘的功能完全相同。
② 键盘要连续扫描每一个键,遇到一个键按下了就要发出数据说明并开始记时。若在0.5 s之后这个键还没有松开,就连续发这一键,每秒30个。
③ 在记时过程和连续发码过程中,还不停顿地监视其它键。
④ 在连续发一个键时,若有其它键按下就停止发这个键,发新按下去的那个键并开始为其记时。
⑤ 若有键抬起,要发一个结束码给主机,告之这个键已抬起。
⑥ 在RAM中的位寻址区中固定104位,每一位为一个键提供标志。扫描到某个键时,先查看相应的位。这个键以前按下了,设这一位是1;这个键以前没按下,设这一位是0。然后再看现在按下没有,现在刚按下发扫描码,现在没按下就去处理下一个键,现在抬起来了就发结束码。
⑦ 这104个键要轮流扫描,同时要计时。如有键一直按着没抬起来,要在0.5 s之后连续发,每秒发30个。同时按下的键达到4个时,就不再记新的了。
根据上述算法键盘微控制程序编程流程如图5所示。
图5 键盘程序流程
3.2 实现
红黑分离式防信息泄漏键盘中,单片机选择了低电压芯片,光缆选择了直径1 mm的塑料光缆。在键盘结构上按红黑分离规则进行了结构和电路两部分设计,做成了样机,并进行了小批量生产。图6是我们研制出的红黑分离式防信息泄漏键盘。
图6 TEMPEST-111型键盘
红黑分离式防信息泄漏键盘可靠性很高,信息安全测试技术指标可达A型机标准。用频谱仪测试该红黑分离式防信息泄漏键盘时,结果如图7所示。由测试结果可以看出已没有电磁辐射了。
图7 TEMPEST键盘发“H”时的频谱
结束语
通过红黑分离式防信息泄漏键盘的设计使我们体会到,要设计一种防信息泄漏设备,必须先进行电路分析,找出红信号的泄漏路径。通过分析和论证,才能开始进行电路的红黑分离工作和软件编码的加密工作。在对电路红信号线的屏蔽、吸收、隔离和接地的设计中,一定要避免红信号被非线性交叉效应调制,这是本设计成功的经验之一。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议