智能安全键盘软硬件完整方案
一、系统方案
随着计算机及其网络应用的日益普及,尤其是互联网应用的迅猛发展,计算机及其网络系统的安全管理问题日显突出,各种非法的计算机及网络入侵事件频频发生。据统计,网络入侵的70%~80%来自于网络内部,因此加强对计算机使用者身份的监督和管理,防止合法用户的越权和恶意访问以及非法用户的非法访问都显得十分重要。
那么,我们怎样加强对计算机使用者身份的监督和管理呢?
首先,传统的密码技术是最常用的用户访问控制手段,但密码又比较容易遗失或被破解。
于是,人们提出了多个基于各种生物特征的用户身份认证方法,是的身份认证智能化。这些生物特征包括:指纹、虹膜、面部、声音、掌形(纹)等。但基于这些生物特征的用户身份认证方法均需要额外价格不菲的硬件设备(其价格从数百美元到数万美元不等),这也就使得基于这些生物特征的用户身份认证方法无法得到广泛的应用。
为利用现有普通电脑硬件,完成基于生物特征的用户身份认证,人们提出了基于用户击键特征来进行用户身份认证的方法,该方法利用用户输入口令时的击键压力、击键节奏等所构成的用户生物特征,来进行用户身份的认证工作。用户由于不同的生理特点和习惯,在使用键盘时存在击键力度、键盘熟练程度等明显差异(类似于笔迹、指纹)。
受智能密码的启发,即不同用户的键盘使用习惯、特征存在差异,我们提出一种将用户键盘使用特征和神经网络技术相结合的用户身份监督、管理方法。本系统就是利用这种差异提取特征量, 建立模型, 实现对用户身份的辨别和监控。
目前,国内外有关的基于用户击键生物特征进行身份认证研究的公开报道并不多:Dunn认为击键时延符合正态分布并使用了距离分类法;Monrose 和Rubin提出了一种基于K近邻聚类方法的算法;Kacholia和Pandit提出了一种基于启发式聚类的算法,但并没有给出聚类算法的细节;Ru 和Eloff及Tapiador 和Sigüenza尝试了模糊数学的方法;朱明等人也提出了基于示例学习的方法对用户身份的真伪进行判断,曲维光和宋如顺等人则利用对神经网络进行训练来区分不同的用户,Monrose 等人将这一技术用于强化用户身份验证。但是,他们的研究都是基于软件层面的,而且采样数据也很有限。
我们提出的智能安全键盘将压力传感器加入传统键盘中,旨在利用已有的用户名和密码,通过用户特定的击键特征,即按键时间长短、时间间隔和压力三个参数,来判定某一击键序列是否为某特定用户的行为,进而对用户身份的真伪进行判断识别,以此来强化身份验证的效果,防止密码被他人非法使用,加强对计算机使用者身份的监督和管理,使键盘操作更安全,从而达到信息安全的目的。
二、实现方案
(一)理论基础
根据一个简化的统计,人脑由百亿条神经组成,每条神经平均连结到其它几千条神经。通过这种连结方式,神经可以收发不同数量的能量。神经的一个非常重要的功能是,它们对能量的接受并不是立即作出响应,而是将它们累加起来,当这个累加的总和达到某个临界阈值时,将自己的那部分能量发送给其它的神经。大脑通过调节这些连结的数目和强度进行学习。尽管这是个生物行为的简化描述。但同样可以充分有力地被看作是神经网络的模型。
阈值逻辑单元(Threshold Logic Unit,TLU)
理解神经网络的第一步是从对抽象生物神经开始,并把重点放在阈值逻辑单元(TLU)这一特征上。一个TLU是一个对象,它可以输入一组加权系数的量,对它们进行求和,如果这个和达到或者超过了某个阈值,则输出一个量。用符号标注这些功能,首先,输入值以及它们的权系数分别记为X1,X2,...,Xn和W1,W2,...,Wn。接着,求和计算出的Xi*Wi,产生了激发层a,换一种方法表示:
a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn)
阈值称为theta。最后,输出结果y。当a>=theta时y=1,反之y=0。输出可以是连续的,因为它也可以由一个squash函数s(或 sigma)判定,该函数的自变量是a,函数值在0和1之间,y=s(a)。
![](../img/eep/emb/emb-47976rnvslqvgedp.jpg)
阈值逻辑单元,带有 sigma 函数(顶部)和 cutoff 函数(底部)
TLU 会分类,假设一个TLU有两个输入值,它们的权系数等于1,theta值等于1.5。当这个 TLU 输入<0,0>、<0,1>、<1,0>和<1,1>时,它的输出分别为0、0、0、1。TLU将这些输入分为两组:0组和1组。
TLU 的学习原理
神经网络的学习机制是模仿大脑调节神经连结的原理。TLU通过改变它的权系数和阈值来学习。当SUM(Xi*Wi)>=theta时TLU在临界点时输出的是1而不是0,临界点是出现在SUM(Xi*Wi)+(-1*theta)>=0的时候。所以,
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于嵌入式 Linux的键盘驱动设计(12-01)
- 基于ADSP-BF561的嵌入式键盘设计(05-08)
- 基于Linux和QT/E的软键盘设计(05-18)
- 使用MAX II CPLD 作为模拟键盘编码器(06-06)
- CPLD在无功补偿控制仪键盘中的设计应用(06-05)