新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 智能安全键盘软硬件完整方案

智能安全键盘软硬件完整方案

作者:时间:2014-11-23来源:网络收藏

  BP算法的学习过程如下:

本文引用地址:http://www.eepw.com.cn/article/265780.htm

  

 

  ①正向传播:输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元的状态只影响下一层神经元的状态(如下图所示)。

  ②反向传播:如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使误差信号最小。

  BP算法的主要步骤如下:

  ①置所有权值为较小的随机数;

  ②提供训练集,给定输入向量X=(x1,x2,……,xm)和期望的目标输出向量D=(d1,d2,……,dn);

  ③前向计算,计算实际输出,计算隐含层,输出层各神经元的输出:

;

 

  ④对输出层计算&;:

;

 

  ⑤从后向前计算各隐层&;:

;

 

  ⑥计算并保存各权值修正量:

;

 

  ⑦修正权值:

;

 

  ⑧判断是否收敛,如果收敛则结束,不收敛则转至(3)重复计算,直到误差Ep满足要求。

  本系统实现设计的BP网络考虑到用户的口令长度通常为8~16个,对应生成的特征的维数为23-47维,因此网络的输入节点数定为20~50,可依据口令长度选择。隐含层节点数需要在实现过程中不断模拟训练进行确定,以使判别效果达到最佳。

  ⑵密码处理模块

  设混沌序列为

,其中,

 

  

 

  

 

  考虑到这四个值在PS/2总线上传输带来的安全性的问题,我们决定让其在密码处理模块和PC机端分别生成,生成函数如下:

  

 

  

 

  (三)硬件框图

  

 

  在硬件框图中,信号包括按键时间长短、按键时间间隔和密码明文三个信号,该信号通过RS232总线传送至FPGA。由于FPGA的ADC对电压的范围有要求,压力信号先通过AMP进行放大处理后,再通过ADC转换成数字信号后再传送至FPGA。在FPGA上,信号处理模块运用神经网络算法对采集的信号样本进行处理,对于通过神经网络的信号样本,通过密码处理模块的混沌算法对密码进行加密后,再通过RS232总线送至PC。在PC端,密码实际上为密码原文经混沌加密以后的密文。

  三、设计与实现的功能

  1.安全性。以应用为基础,以神经网络为核心,以混沌算法辅助完成基于有限学习正例集合的正反例识别。通过采集用户击键习惯相关系数,采用BP神经网络算法动态学习、判别合法用户特征,再通过混沌算法对密码进行加密处理,实现高效、高用户辨别能力的身份认证。

  2.多用户支持。利用FPGA的大量数据处理能力,可以方便地实现采样数据与相关数据库中大量数据的迅速比对。

  3.力感识别。通过对相关资料的学习,我们发现目前关于用户特征信息采样的研究工作都是基于击键时间长短和时间间隔的,我们通过力度传感设备将用户击键力度数字化之后,作为用户特征信息的一个方面,进行比对验证和学习。

  4.密码与普通的切换。单用户应用环境中,可以通过硬件开关屏蔽传感器不进行相应数据处理而实现密码键盘与普通键盘的切换。

  5.成本低廉。对用户的眼底图像、指纹、头像等的识别均需要特殊的硬件设备,且有些设备价格相当昂贵,不利于系统的实施和推广。而除了力感识别所需的压力传感器以外,了解用户的击键节奏不需要添加其他硬件,是各种生物特征用户认证技术中代价较小的一种,易于为用户所接受。

  四、性能指标

  在系统检测方面,我们将分别模拟单用户和多用户应用环境,采集相关数据,通过以下两个评价指标,检测系统的性能:

  1.检测率(Detection Rate,DR):被检测到的假冒样本的数量和测试集中总的假冒样本的数量的比率;

  2.虚警率(False Positive Rate,FPR):正常样本数据被误检为假冒样本的数量和测试集中总的正常样本的数量的比率。

  五、系统特色

  本系统最大的特色在于采用了神经网络算法,智能地对用户击键特征进行学习和识别。

  人工神经网络模型主要考虑网络连接的拓扑结构、神经元的特征、学习规则等。目前,已有近40种神经网络模型,其中有反传网络、感知器、自组织映射、Hopfield网络、波耳兹曼机、适应谐振理论等。根据连接的拓扑结构,神经网络模型可以分为:(1)前向网络 网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,可以用一个有向无环路图表示。这种网络实现信号从输入空间到输出空间的变换,它的信息处理能力来自于简单非线性函数的多次复合。网络结构简单,易于实现。反传网络是一种典型的前向网络。(2)反馈网络 网络内神经元间有反馈,可以用一个无向的完备图表示。这种神经网络的信息处理是状态的变换,可以用动力学系统理论处理。系统的稳定性与联想记忆功能有密切关系。Hopfield网络、波耳兹曼机均属于这种类型。

  学习是神经网络研究的一个重要内容,它的适应性是通过学习实现的。根据环境的变化,对权值进行调整,改善系统的行为。由Hebb提出的Hebb学习规则为神经网络的学习算法奠定了基础。Hebb规则认为学习过程最终发生在神经元之间的突触部位,突触的联系强度随着突触前后神经元的活动而变化。在此基础上,人们提出了各种学习规则和算法,以适应不同网络模型的需要。有效的学习算法,使得神经网络能够通过连接权值的调整,构造客观世界的内在表示,形成具有特色的信息处理方法,信息存储和处理体现在网络的连接中。

  本系统采用的神经网络算法的学习方式为监督学习。我们将训练样本的数据加到网络输入端,同时将相应的期望输出与网络输出相比较,得到误差信号,以此控制权值连接强度的调整,经多次训练后收敛到一个确定的权值。当样本情况发生变化时,经学习可以修改权值以适应新的环境。

  人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。人工神经网络与其它传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。将信息几何应用于人工神经网络的研究,为人工神经网络的理论研究开辟了新的途径。神经计算机的研究发展很快,已有产品进入市场。光电结合的神经计算机为人工神经网络的发展提供了良好条件。

  神经网络在这个领域中有很多优点,使得它越来越流行。它在类型分类/识别方面非常出色。神经网络可以处理例外及不正常的输入数据,这对于很多系统都很重要(例如雷达及声波定位系统)。很多神经网络都是模仿生物神经网络的,即是他们仿照大脑的运作方式工作。神经网络也得助于神经系统科学的发展,使它可以像人类一样准确地辨别物件而有电脑的速度!

  基于软件实现的神经网络也有些不好的地方。这通常都是因为缺乏足够强大的硬件。神经网络的力量源自于以并行方式处理资讯,即是同时处理多项数据。因此,要一个串行的机器模拟并行处理是非常耗时的。但是,我们将该算法转移到硬件板上来实现,避免了这一缺陷。

  本系统的另一个特色点在于对密码的混沌加密。

  混沌理论是一种迅速发展的新科学,致力于研究复杂的、非线性的、动态的系统。混沌理论不是关于无序的理论,虽然从字面上看起来是这样。相反,它可以看作是一种更好地理解秩序的方法。

  混沌系统具有三个关键要素:一是对初始条件的敏感依赖性;二是临界水平,这里是非线性事件的发生点;三是分形维,它表明有序和无序的统一。混沌系统经常是自反馈系统,出来的东西会回去经过变换再出来,循环往复,没完没了,任何初始值的微小差别都会按指数放大,因此导致系统内在地不可长期预测。

  混沌是一个难以精确定义的数学概念。一般而言,“混沌”是指由确定性方程描述的动力学系统中表现出的非确定性行为,或称之为确定的随机性。“确定性”是因为它由内在的原因而不是外来的噪声或干扰所产生,而“随机性”是指其不规则的、不能预测的行为,只可能用统计的方法描述。混沌动力学系统的主要特征是其状态对初始条件的灵敏依赖性,混沌反映其内在的随机性。混沌理论是指描述具有混沌行为的非线性动力学系统的基本理论、概念、方法,它把动力学系统的复杂行为理解为其自身与其在同外界进行物质、能量和信息交换过程中内在的有结构的行为,而不是外来的和偶然的行为,混沌状态是一种定态。混沌动力学系统的定态包括:静止、平稳量、周期性、准同期性和混沌解。混沌轨线是整体上稳定与局部不稳定相结合的结果,称之为奇异吸引子。一个奇异吸引子有如下一些特征:(1)奇异吸引子是一个吸引子,但它既不是不动点,也不是周期解;(2)奇异吸引子是不可分割的,即不能分为两个以及两个以上的吸引子;(3)它对初始值十分敏感,不同的初始值会导致极不相同的行为。

  我们正是利用混沌算法的以上特性,结合基于用户按键特征的混沌初值,生成相应的混沌序列对密文进行处理,从而极大地加强了本系统的安全性。

  六、系统测试

  (一)测试方案

  取10人,每两人一组,共5组。10个用户使用同一台电脑和键盘,要求他们根据自身的输入习惯使用,不要刻意模仿,依次进行如下实验。

  实验一:10个用户分别按自己正常的输入习惯输入自己设定的6位密码8次,各个用户分别形成自己的训练样本。经过神经网络学习后,各用户再分别输入自己预定的6位密码,测试本系统的虚警率。

  实验二:各用户按自己的正常输入习惯分别输入错误的6位密码,测试本系统的检测率。

  实验三:每组用户分别用该组另一用户的6位密码尝试登录本系统,测试本系统的检测率。

DIY机械键盘相关社区:机械键盘DIY



上一页 1 2 3 下一页

关键词: 键盘 TLU delta

评论


相关推荐

技术专区

关闭