网络信息安全综合实验系统v35(原理篇)_第1页
网络信息安全综合实验系统v35(原理篇)_第2页
网络信息安全综合实验系统v35(原理篇)_第3页
网络信息安全综合实验系统v35(原理篇)_第4页
网络信息安全综合实验系统v35(原理篇)_第5页
已阅读5页,还剩551页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验2Wi-Fi安全方案无线局域网在方便的同时,安全也是用户非常关心的问题。WLAN局域网常见的无线安全方案的设置有SSID、MAC过滤、WEP、WPA等。练习一WEP安全模式一.IEEE802.11WEP工作原理IEEE802.11产生的前五年只为其安全定义了一种方案。这种方案称为有线等效私密性(WEP,WiredEquivalentPrivacy)(常被人们误解为无线有效私密或其他的名字)。2000年,Wi-Fi局域网的普及引起了安全加密界的关注,很快他们就在WEP方案中发现了缺陷。到2001年底,在因特网上已经可以得到相应的工具,只有很短时间就能攻破WEP。对于许多人来说,在IEEE802.11标准的新安全方案确定前,WEP是唯一的选择。即使WEP有缺点,而且你也知道WEP有哪些潜在的缺点,但WEP还是比没有采用任何安全措施强。它至少能够给攻击者带来一些障碍。大多数攻击都是领先搜集传输数据的合理样本来实现的,因此对于家庭用户而言,如果传递数据包的数量足够少,WEP仍然是相当安全的选择。1.WEP设计目标(1)适度的坚固算法提供的安全性依赖于通过强力攻击发现密钥的难度。而这又与密钥的长度和更换密钥的频率有关。WEP允许更换密钥K以及频繁更换初始矢量IV。(2)自同步WEP为每个消息自同步。这一特性对于数据链路层加密算法是必需的,因为数据链路层约定的是“尽力而为”,所以数据包丢失率可能很高。不会由于丢失一个数据包就导致后面的所有数据包都译不出来。(3)高效WEP算法是高效的,而且软硬件均可实现。(4)可选WEP的实现和使用是IEEE802.11的一个可选项。IEEE802.11(1999)定义了两种安全级别:开放系统和共享密钥。开放系统确实意味着毫无安全可言。使用它,就像是说“我去上班了,我家前门还开着。”多数人断定,这对他们家可不是个好的安全措施,而对Wi-Fi局域网也许会有同样的感觉。共享密钥意味着无线连接的两端都知道具有匹配值的密钥。这个密钥必须只由相互信任的两端秘密共享才能用到。WEP安全措施包括两部分:先是认证阶段,然后是加密阶段。2.WEP认证认证的大意如下:当一个新的移动设备想加入接入点,它必须首先证明自己的身份。理想情况下,移动设备也希望接入点同样证明它自己的身份。这一阶段被认为是相互认证身份。认证的目的就是双方证明自己就是所宣称的那一个。在局域网环境中,每个设备至少有一个唯一的数字,称为MAC地址。局域网上任一设备发出的每个信息都含有该设备的MAC地址,因此能够检查出发送者的身份。但你怎么知道不会有人用假MAC地址伪造信息呢?解决的办法是,当设备第一次加入局域网时就认证设备,商定一个密码用以保护以后的每条消息。因为只有真的设备和接入点知道这个密码,这样每条收到的消息才可能被确认为有效。这就是认证的目的。在WEP的认证阶段里,新的设备要证明自己是小组里可信任的成员。接入点的逻辑是,如果设备能证明自己可信,那么它就理所当然地相信设备的MAC地址是真实的。基于这一信任,它将让该新设备加入。但不幸的是,在WEP中,鉴权时没有交换任何秘密标记。因此没有办法知道此消息究竟是来自被信任的设备,还是来自冒牌货。这种认证其实不过是一个令人难堪的、毫无意义的演习。而且事实上,虽然IEEE802.11标准中有此认证过程,但在Wi-Fi规范里已完全被删除了。打个比方,设想你听见有人敲门,开门后发现是一个来你家修理坏了的用具的人,这个人穿着用具公司的制服,只露出两只眼睛。你要求他出示身份证明,他递给你公司的证章。你甚至打电话到用具公司,确认他的确是按公司安排而来的。这个人进了屋,然后说他需要出门,去他的车上一会儿。30秒后,一个家伙穿着同样的制服,戴着面具,走进你家。问题是:你怎么知道这是同一个人呢?你不能确定。因此,如果不是每次进来时你都能很肯定地把他辨认出来,那么第一步中什么才是检验的关键呢?现在你能明白面具在比喻里的重要性了:真实生活中,我们通过识别人的脸来进行身份认证。但是在Wi-Fi局域网中,没有固定的办法这样做(在IEEE803.11i中有一种新的安全方案可以提供这种保证)。认证阶段使用管理帧。对于开放认证,移动设备发送一个消息请求认证,接入点回应一个成功消息。对于基于WEP的认证,要交换4个消息。首先移动设备请求认证,然后接入点发出质询消息。移动设备响应质询,证明自己知道密钥,如果证据被接受,接入点发送成功消息。图2-1-1开放认证图2-1-1WEP认证原则上,如果接入点处于开放模式,它总会接受认证请求,然后发回认证成功的消息。这就是开放系统工作的定义。但实际上,很多系统提供所在权过滤的方法,最流行的是建立MAC地址表。接入点有一个允许接入的MAC地址列表。这个列表由管理员制作并编入程序。除非移动设备的MAC地址在列表中,否则认证将被拒绝。这不能抵制MAC地址伪造者,但它提供了基本的保护,可以抑制简单攻击,甚至可以防止意外地连到错误的网络或别人的系统上。WEP认证规定要向合法接入点证明移动设备知道密钥。当移动设备请求认证,接入点发出一个随机数,叫做质询文本。这是一个任意的128位数(最好是随机数)。移动设备用WEP把该数字与密钥加密,发回接入点。因为接入点存储了先前发出的随机数,它可以检查发回的结果是不是用正确的密钥加密的;而移动设备要想加密成功就必须知道密钥。注意,这并没有向移动设备证明接入点知道密钥。同时注意,如果有攻击者在监听,你正好给他们发去了匹配样本,用这个样本他们就可以开始工作了,因为质询里含有明文而应答里含有密文。这就是为什么Wi-Fi联盟完全删除了这一交换过程(多数Wi-Fi系统使用开放认证)。3.私密性WEP激活后,数据消息被加密,监听的攻击者就不能理解数据内容。要解密消息,必须要知道密钥。多数Wi-Fi系统使用开放认证,接入后使用加密。虽然不受质询也能进入网络,但没有加密用的密钥,也不能收发任何数据。WEP密钥管理是混乱的。在这里我们假设接入点和移动设备都知道密钥,而且移动设备已成功接入(无论有没有经过认证)。(1)使用RC4算法安全系统可基于字节流加密或块加密。字节流加密输入普通的数据序列(明文),产生已加密的数据序列(密文)。块加密(分组加密)一次只处理一块数据,而对于数据,需要形成固定长度(8、16、32、64、128位)的数据块。每块进入加密算法,生成长度相同而内容完全不同的数据块。字节流加密和块加密的一个重要区别是:字节流加密的内在状态随着数据的产生而不断更新,而块加密的状态在每块处理之间要预选设置。WEP使用一种叫RC4的字节流加密法来加密数据包。从顶层上看,RC4是一个黑盒子,它每次从字节流读入一个字节,生成一个相应但不同的字节给输出字节流,如图2-1-2所示。对于所有加密字节流,无论输入怎样,输出都像是一个随机数字序列。解密是加密的逆过程,使用相同的密钥(因此称其为对称算法)。

图2-1-2字节流加密RC4的使用有两个主要阶段:第一阶段,初始化,基于密钥值建立内部数据表;第二阶段,数据运行通过并加密。对于WEP,每个数据包都有初始化阶段和加密阶段。就是说,每个包都像新的字节流一样对待,这样可以保证如果一个包丢失,后面的包仍然可以解密。这既是一个长处,也是缺陷的一个根源。(2)初始化矢量IVWEP密钥有两类密钥方案,一类是64位密钥方案(40位密钥),另一类是128位密钥方案(104位密钥)。多出来的24位是怎么回事?在使用固定的密钥值时有一个问题。虽然密钥可以时常更新(不是每次通信都更新),但相对于通过系统的数据包流,它仍然是固定的。所有的数据包用相同的密钥值加密效率比较高。假设用你的密钥初始化RC4算法,然后输入“qwertyuiop”进去。假设你得到的加密结果是“b%fP*aF$!Y”。这看起来很好,破译不了。但是,如果密钥是固定的,每次初始化后输入同样的文本“qwertyuiop”,你将得到同样的结果,这非常糟,因为它为攻击者提供了信息。如果在特定状态下攻击者识别出了相同的加密字节,那么他就知道正在重复原先的明文。这种识别重复文本的能力有什么用呢?举个例子,IP地址总是位于数据包的同一位置。因此如果在那个位置看见同样的加密字节,你就知道消息来自同一个IP地址,你正在向攻击者提供信息。解决这个问题的办法就是初始化矢量(IV)。这是一个很简单的概念。把密钥与一个24位数组合在一起,代替固定密钥,这样就能改变每个数据包的输出。这个额外的数字就叫IV,它把104位密钥变成了128位。在我们看来,称为128位安全不过是个小骗局,因为IV的值根本不保密,它是放在加密帧里公开传送的。为了避免在加密中使用固定密钥,用于初始化RC4算法的实际上是密钥与IV的组合,如图2-1-3所示。

图2-1-3使用IV因为IV值总是在改变,用于加密的实际密钥就随着每个数据包进行有效的改变,因此,即使输入数据(明文)是一样的,加密后的数据(密文)总是不同。初始化矢量是不保密的。事实是,作为传输信息的一部分,它是公开传送的。这样,接收者才知道解密应该用哪个IV值。任何攻击者也都可以读到IV。理论上,如果不知道密钥的保密部分,知道IV也没有用。对于某一个密钥,同一个IV值应该永远都不能被使用两次,这样才有效。因为攻击者可以读IV值,他就能得到已用IV值的记录,当有IV值被重复使用的时候,就会被发现。这就是攻击的基础。(3)WEP密钥两种WEP密钥:缺省密钥(共享密钥)和映射密钥(个人密钥)。WEP密钥有以下特征:固定长度,通常为40bit或104bit。静态,除非重构,否则密钥值不改变。共享,接入点和移动设备都有相同密钥的拷贝值。对称,加密和解密信息使用相同密钥。密钥是静态的,而且移动设备和接入点都必须有一个备份值。这样问题出现了,怎样配置密钥才能使密钥不被别人发现。IEEE802.11标准用下面的话轻松绕过了这个问题:“假设所需密钥,经由独立于IEEE802.11的安全信道,已传送给参与通信的工作站。”这不是一个合理的办法,因为安装密钥的方法必定会随设备类型不同而改变。例如,通过键入或使用软盘,可以把密钥装在笔记本电脑上。WEP下有两种不同的方法使用密钥。第一种情况下,所有移动设备和某接入点使用一套密钥。这种密钥叫缺省密钥(所有的设备只需要知道一个密钥)。第二种情况下,每个移动设备有一个独特的密钥。换句话说,每个移动设备与接入点之间的密钥用于专门的连接,其他的移动设备不知道。这种密钥叫映射密钥(一个移动设备知道一个密钥,但接入点要有全部密钥的列表)。在无线环境中,由于任何人都能接收到,所以无线电传输显然是共享的。共享局域网内,有三种消息工作:单播消息,发给单个目标;组播消息,同时发给几个目标;广播消息,发给所有的人。后两种合在一起叫做多播消息。所有多播通信都用缺省密钥发送,这个缺省密钥为全部移动设备共享。只有单播消息用专属于接收者的映射密钥发送,所以,需要给每个移动设备定稿至少两个密钥。二.WEP加密机理1.分段如果网络含有Wi-Fi局域网连接,来自操作系统或驱动器的数据需要穿过IEEE802.11MAC服务器。换句话说,有一个数据包到达Wi-Fi局域网,带有把它发送出去的指令。这个数据包叫做MSDU(MAC服务数据单元)。如果一切顺利,这个MSDU将最终从目标设备的MAC服务层弹出,送到操作系统或驱动器,传给目标应用程序。但是,在它变为电磁波进行辐射以前,MSDU可能会被分成几个更小的块,这个过程叫做分段。每个分段单独用WEP加密处理,前面加上MAC头,后面加上校验字。你可以看到,原来的MSDU现在可能要通过几个小消息传输,并且有了更多的附加字节——更不用说将被加密了。每个小消息叫做一个MPDU(MAC协议数据单元)。下面将介绍如何对MPDU进行加密处理。这一过程把数据当作未格式化的字节块对待;其大小取决于原始MSDU的内容和分段设置。典型的范围是10~1500字节。加密的第一步是添加一些字节,叫做完整性校验值(ICV)。2.完整性校验值(ICV)ICV背后的思想是要防止任何人在消息传输过程中进行篡改。在加密和解密消息中,校验码用于检查是否有任何位在传输中被破坏。消息中全部字节合成一个结果,叫CRC(循环冗余校验码)。这个4字节的数值被加到即将进行传输预处理的帧的尾部(加密后计算并添加)。即使消息中只有一位被破坏,接收设备也会注意到CRC值不匹配,然后丢弃这个消息。这种检查偶尔会出错,同时它也不能防止有意图的错误,因为攻击者改变消息之后,可以重新计算CRC值,使它与消息重新匹配。ICV与CRC相似,但它是在加密前计算并添加的。传统CRC是在加密后添加。理论上,由于ICV被加密了,攻击者在试图修改消息时不能重新计算它。因此,消息具备了防篡改性能。当然,这只是在理论上,正如我们看到的,立即就有聪明人发现了漏洞。眼下,我们先假设它会像期望的那样工作。ICV是通过组合全部数据字节,生成一个四位校验码而计算得到的。然后把它加在末尾,如图2-1-4所示。图2-1-4添加ICV3.RC4加密算法RC4是WEP使用的加密算法的名称(RonRivest设计的第四个加密算法,就是RSA排在首位的那个牛人设计的第四个加密算法)。RC4非常容易实现,而且如果正确地使用,它也是很坚固的。以后我们会看到WEP所有的缺陷,这些缺陷不是由RC4的毛病引起的,而是由WEP中RC4的使用方法不当造成的。RC4是一种专有的字节流加密算法,设计于1987年。RC4加密的基本思想是,生成一个叫密钥流的伪随机序列字节流,然后与数据相异或(XOR)。这里的“随机”是指在攻击者看来是随机的,而连接的两端都能够生成相同的“随机”值处理每个字节。因此它被称为伪随机而且是由RC4算法生成的。加密:明文XOR随机数=密文解密:密文XOR随机数=明文关于更多的RC4理论讲解,见密码学及应用|实验2|练习四。4.帧的传输预处理添加ICV后,帧就准备加密了。首先,系统必须选一个IV值,添加到保密的WEP密钥上。其次,初始化RC4加密机。最后,数据和ICV的组合块中的每个字节都被投入加密机。随着每个字节进入,加密后的字节逐步生成,直到处理完所有字节。这就是一个字节流加密。为了让接收者知道如何解密消息,IV值和密钥ID必须放在消息前面。这样还要添加四个字节,前三个字节包含24位IV值,后一字节包含密钥ID即KeyID数(0、1、2或3),如图2-1-5所示。图2-1-5帧的传输预处理最后,附上MAC头,CRC值在末尾检查传输错误。MAC头里有一位表示该帧经过了WEP加密,这样,接收者就知道该怎样处理了。接收过程也顺序处理。接收者注意到WEP位被设置了,所以读出并存储IV值。然后读KeyID位,这样才能选择正确的WEP密钥,附上IV值后,初始化RC4加密机。注意,RC4的加密过程和解密过程没有区别。如果你运行数据进行两次加密处理,你将得到原始数据——换句话说,第二次加密抵消了第一次。因此,你只需要一个机器用于加密和解密。加密机初始化后,数据运行通过,原始消息逐字节地展示出来。最后一步计算ICV,判断是否与收到的消息匹配。如果一切正常,数据通过,等待进一步处理。三.WEP加密流程1.加密过程图2-1-6示意了WEP数据加密过程:首先将明文按固定大小分割成若干MPDU,计算出每个分片的ICV并追加至分片末尾形成ICV数据单元。接下来应用RC4加密算法对ICV数据单元进行流加密(在进行加密之前,应先生成随机数IV,IV+原始密钥即为RC4加密所使用的密钥),形成RC4密文。最后将随机数IV与协商后的密钥ID追加至RC4密文的前面。图2-1-6WEP加密过程2.解密过程图2-1-7示意了WEP数据解密过程:首先从传输单元的首部提取出随机数IV、密钥ID与RC4密文。应用RC4算法对RC4密文解密得到ICV数据单元,对分片的ICV进行验证,分离出MPDU。最后重组MPDU形成明文。图2-1-7WEP解密过程第8部分身份验证生物特征识别被评为21世纪十大高科技之一,它是通过计算机利用人类自身的生理(如面部、指纹、虹膜等)或行为特征(如语音)进行身份认定的一种技术。现有的基于智能卡、身份号和密码的身份识别系统是远远不够的,生物特征识别技术将在未来提供解决方案方面占据重要的地位。实验1面部识别面部识别技术就是教会计算机怎样利用人脸进行身份判别的一项身份认证技术。这项技术因具有安全度高、不易复制、不易伪造等特点,为世界各国所关注。面部识别技术融合了计算机图像处理技术与生物统计学原理于一体。通过面部识别可确定被测者是否有进行某种系统操作的权限。练习一面部识别检测面部识别包括人脸的检测和识别。简单来说,所谓人脸的检测,就是在照片(静态图像)或视频(动态图像)中标出人脸所在的位置,把人脸选取出来。而人脸的识别就是把选取出来的人脸与数据库中已有的人脸进行比较,找出匹配的档案来。有的文献把人面的定位和识别统称为人脸识别,定位和识别则是个主要的步骤。完整的人脸识别系统涉及到视频中有无人脸,并计数,定位,定出大小,然后根据库识别出个人,可能的话还要识别表情,以及根据脸的图像做出描述(瓜子脸,丹凤眼等等就是日常生活中“描述”的例子),或者反过来根据挑选匹配的人脸图像。人脸检测的目的是为了在一副图像上将人脸准确的分割出来。人脸检测的基本思想是用统计或知识的方法对人脸进行建模,比较所有可能的待检测区域和人脸模型的匹配度,得到可能存在的人脸。其方法大致可以分为基于统计的方法和基于知识的方法两类,前者将人脸图像作为一个高维矢量,使人脸检测转化为高维空间中分布信号的检测问题;后者人脸子图的空间分布知识建立若干规则,将人脸检测问题转化为假设、验证问题。1.人脸检测的方法(1)神经网络方法神经网络具有记忆功能,当训练样本比较全面时,神经网络可以处理比较复杂的检测问题,所以许多检测算法采用神经网络方法。人脸模式、眼睛模式和嘴巴模式等都有比较明显的特点,因此可以采用神经网络的识别方法。神经网络方法能够适应较为复杂的人脸检测,准确性也比较高,所以使用神经网络进行人脸检测的算法比较多。但是,由于人脸属于高维矢量,导致网络中训练节点众多,算法往往需要大量的训练样本,因此,神经网络方法的研究着重于系统的优化训练。(2)相关性模板法相关性模板方法计算人脸模板与局部图像的相关程度,如果超过设定的门限,就认为检测到了人脸。其中,椭圆型模板是最常见的人脸检测模板,它适用于检测人脸的轮廓。Kwon和Lobo首先使用“snakelets”模板来寻找候选边缘,然后用最优方法从这些模板中选出与人脸最为相似的椭圆,而人脸的定位中心就是椭圆中心。(3)子空间法子空间法假设所有人脸模式集都在一个小的带参子空间上,这个子空间可以用数据集及其主分量求得。如果某个图像模式与该某个类的距离小于给定的门限,则可以判断该模式是人脸模式,否则不是人脸模式。(4)基于知识的人脸检测基于知识的人脸检测涉及图像空间分布规律、人脸器官分步规律、运动规律和对称性规律。图像空间分布规律利用人脸模式的图像不变性,即共有的独特空间图像分布的相互关系,人脸上的亮度分布有一定的顺序结构,图像中灰度分布最符合这种不变性的部分就是人脸部分。Akamatsu等人用彩色图像的色彩信息定位眼睛和嘴巴。这种分割是在变换后的色彩坐标系如HSV和YIQ中进行的。根据人脸模式灰度分布的特点,嘴唇比周围皮肤有更高的Q分量值,皮肤区域在I和H分量图像的直方图上有清晰的峰。将过些信息与眼睛和嘴巴在人脸上分布的相对位置关系结合,就能够检测到眼睛和嘴巴。YingDai等人用SGLD矩阵(灰度级相关矩阵)实现了在复杂背景中的人脸定位。同族人的肤色在颜色空间中的分布相对比较集中,颜色信息在一定程度上可以将人脸同大部分背景区分开来。Lee等设计了肤色模型表征人脸颜色,利用感光模型进行复杂背景下人脸及器官的检测与分割。人脸器官分布规律人脸器官分布比较规律,适用于证件照上头部位置比较固定的情况,最常见的是眼睛定位,常用的方法是对于边缘图像作垂直和水平方向的“积分投影”并结合五官分布的先验知识。Stringa利用眼睛部位水平边缘线丰富的特点定位出眼睛在垂直文献上的大致位置。Brunelli等人用垂直方向边缘图像的积分投影检测脸的两侧和鼻子,水平方向边缘积分投影用于定位眼睛、嘴巴和鼻子。Yang和Huang提出了一种分层的基于知识的系统,用同一张图在不同分辨率下构成相应分辨率下的马赛克图,从中实现从复杂背景中定位一眼睛、口和鼻子的位置。运动规律人相对背景就是在运行的,可以利用运行信息简单有效地从任意复杂的背景中分割出人脸。对称性规律人脸具有一定的轴对称性,器官也具有一定的对称性,比如人的左右眼睛是对称的等。Intrator利用广义对称变换理论和边缘图像确定人脸对称轴,然后根据人脸五官分布的约束条件及在对称轴上对称值最大的地方定位眼睛和嘴巴。Zabrodsbhy提出连续对称性检测方法,检测一个圆形区域的对称性,利用人脸的五特性,从而确定是否为人脸。2.人脸识别的方法——几何特征法几何特性方法采用的特征包括人脸五官如眼睛、鼻子和嘴巴等的局部形状特征,脸型特征及五官在脸上分布的几何结构特征。提取特征时往往要用到脸部图谱结构的一些先验知识,早期采用从侧面轮廓线提取特征的方法比较多;以后的工作则较多的采用人脸下面的特征,因为证件照大多是正面照,而且正面的特征信息比侧面的更丰富,特征的抗干扰能力也比较强。几何特征法用几何特征矢量表示人脸,用层次聚类的思想设计分类器达到识别目的。几何特征矢量是以人脸器官的形状和几何关系为基础的特征矢量,分量通常包括人脸指定两点间的欧氏距离、曲率和角度等。几何特征矢量必须具有一定独特性,能够反映不同人脸之间的差别,同时必须具有一定的弹性,消除时间跨度、光照等因素的影响。图像上边缘点的积分投影曲线常被用于对眼睛、鼻子和嘴巴等进行定位。一维的“积分投影”曲线包含图像在某一方向的结构信息,它是提取人脸特征的基本手段。用于提取嘴角和眼角等特征需要原灰度图像光照均匀,层次分明,能提取到准确的边缘。Ham等人使用Sobel算子提取图像边缘,并使用形态学滤波中的“膨胀”运算将断续的边缘连接起来。然后结合人脸五官分布的先验知识提取到眼睛、鼻子和嘴巴的外切矩形。3.相关性匹配方法(1)模板匹配法模板匹配法通常采用“归一化互相关”,直接计算两幅灰度图像之间的匹配程度,模板匹配法要求两幅图像上的目标具有相同的尺度、取向和光照,所以必须进行尺度归一、灰度归一的图像预处理。Buhr的方法使用眼睛模板定位眼睛,然后用双眼之间的距离进行尺度归一。匹配首先在低分辨率的图像中进行,对相关性大的图像进行五官的局部模板相关匹配,当四分之三的局部模板具有很大的相似度,认为待识别图像与库中图像属于同一人。Brunelli等首先提取特征点,然后根据特征点分出归一化后的眼睛、嘴巴、鼻子和脸的模板,进行相关性匹配识别。(2)等强度线法等强度线利用灰度图像的多级灰度值的等强度线作为特征进行两幅人脸图像的匹配识别。等强度曲线反映了人脸的凸凹信息。这些等强度线法必须在背景与头发均为黑色,表面光照均匀的前提下才能求出符合人脸真实的等强度线。等强度线只有在所有的图像在相同的背景和光照条件下才有效,所以该方法限制比较大,实用意义不大。面部检测我们采用的方法主要是和模板匹配相似的方法。下面介绍模板匹配方法。如何在一幅图象中找到已知的物体,比如抓拍到了一张射门的照片,如何在该照片中找到足球的位置。这时就可以采用模板匹配的方法。所谓模板匹配,其实想法很简单:拿已知的模板(在本例中为足球的图象),和原图象中同样大小的一块区域去对。最开始时,模板的左上角点和图象的左上角点是重合的,拿模板和原图象中同样大小的一块区域去对,然后平移到下一个像素,仍然进行同样的操作……所有的位置都对完后,差别最小的那块就是我们要找的物体。我们用平方误差之和来衡量原图中的块和模板之间的差别。假设模板的大小为m*n(宽*高);图象的大小为Width*Height。模板中的某点坐标为(x0,y0),该点的灰度为U(x0,y0);与之重合的图象中的点坐标为(X0-x0,Y0-y0),该点的灰度为V(X0-x0,Y0-y0),如图1-1-1所示:图1-1-1模板匹配的示意图则一次匹配的结果如图1-1-2所示。图1-1-2模板匹配的公式全部图象都匹配后,找到最小的即为结果。可以看到模板匹配的运算量是惊人的,每一次匹配都要做m*n次减法,m*n次平方,m*n-1次加法,整个图象要匹配(Width-m+1)*(Height-n+1)次。原图:匹配模板:匹配结果:模板匹配之前,先粗定位人脸,主要根据肤色定位,求出大致区域。不然模板匹配计算量大耗费时间。匹配计算之前要把真彩色图片转换成灰度图片。转换公式:转换后,首先要量化灰度图,所谓量化,就是把图像灰度范围拉深,如原先灰度范围为50-200,现在变换到0-255,公式:量化完就可以进行模板匹配,其中匹配是否成功,主要看相似度、对称性。4.投影法生成特征数据投影法特征数据生成过程如下:(1)把识别出来人脸区域尺度变换和人脸模板一样大,人脸模板如下。(2)进行正规化处理。(3)把人脸数据看成一维数组用人脸灰度数据减人脸模板数据生成特征数组。人脸数据f(x)=x0,x1,x2,x3,x4,x5…模板数据g(x)=y0,y1,y2,y3,y4,y5…生成数据t(x)=x0-y0,x1-y1,x2-y2,x3-y3,x4-y4,x5-y5…(4)映射到特征空间,算法如下。其中“PCSpaceDim”表示空间维度,“inFea”表示步骤(3)生成的特征数据,“inPCSpace”表示投影空间向量,“outFea”表示生成的特征数据。(5)计算向量夹角余弦(距离)。其中“length”特征数据的长度,“inFea1”表示输入图片的特征数据,“inFea2”表示要匹配图片的特征数据,feature表示相似度百分比,如果feature大于某个阀值则表示匹配成功,如0.88。练习二面部识别登录系统一.Winlogon组件模型Windows2000/NT/XP/2003操作系统中提供了Winlogon组件以提供交互登录支持,Winlogon组件是基于由三部分组成的交互登录模型构成:Winlogon可执行程序,一个图形界面的识别和验证动态链接库(Gina),以及一定数量的网络服务提供程序,如图1-2-1所示。图1-2-1Winlogon组件模型其中,GinaDll是可替换的,用户可以设计自己的GinaDll,目前非民用领域有一些使用如智能卡、视网膜、指纹或其他一些认证机制的软件就是通过替换GinaDll来实现的。二.制作自己的登录程序制作自己的登录程序需要导入以下函数。表1-2-1需要的函数函数说明WlxNegotiate使ginadll确认是否支持当前版本Winlogon.exeWlxInitialize初始化,winlogon.exe向ginadll传递需要版本的接口函数分配表WlxActivateUserShell用户登录成功后,Winlogon.exe调用该函数启动用户外壳程序WlxDisplayLockedNotice当系统处于锁定状态时,Winlogon.exe调用该函数,显示一些信息,如锁定者、锁定时间等WlxDisplaySASNotice当没有任何用户登录时,Winlogon.exe调用该函数显示一些提示信息,可以根据用户的动作模拟SAS事件的发送WlxDisplayStatusMessage当ginadll要显示一些信息时,Winlogon.exe调用该函数,直接返回TRUE表示信息已经显示WlxGetStatusMessageWinlogon.exe调用该函数得到ginadll显示的状态信息,直接返回TRUE表示信息已经接收WlxIsLockOk在试图锁定工作站之前Winlogon.exe调用该函数,判断是否可以锁定WlxIsLogoffOk在试图注销时Winlogon.exe调用该函数,判断能否注销,直接返回FALSE表示不能注销WlxLoggedOnSAS当系统处于登录成功,没有锁定的状态下,Winlogon接收到SAS事件,于是调用该函数实现屏蔽所有事件,直接返回WlxLoggedOutSAS在没有任何一个用户登录的情况下,Winlogon.exe接收到SAS事件调用该函数我们主要修改此函数实现登录验证WlxLogoffWinlogon.exe调用该函数,通知ginadll用户注销操作,允许ginadll做出相应的处理WlxNetworkProviderLoadWinlogon.exe调用该函数收集有效的认证信息,返回TRUE表示用户被识别WlxRemoveStatusMessageWinlogon.exe调用该函数,告诉ginadll停止显示状态信息,直接返回TRUE表示信息已经删除WlxScreenSaverNotify在屏保程序启动前一瞬Winlogon.exe调用该函数,允许ginadll同屏保程序交互返回FALSE表示屏保程序不能启动WlxShutdown在系统关闭之前,Winlogon.exe调用该函数。允许ginadll处理一些系统关闭前的处理WlxStartApplication当系统要求在用户上下文中启动程序,Winlogon.exe调用该函数这种情况发生在:浏览器非正常关闭需要重启或需要启动扩展的任务管理器该接口ginadll可以选择性实现WlxWkstaLockedSAS在锁定状态下,Winlogon.exe接收到SAS事件调用该函数详细函数声明察看<WinWlx.h>大部分只需要调用系统的就可以,可选择性实现。本程序通过替换mygina.dll,修改注册表项实现登录。实验2动态令牌应用身份认证是在计算机网络中确认操作者身份的过程。身份认证可分为用户与主机间的认证和主机与主机之间的认证,用户与主机之间的认证可以基于如下一个或几个因素:用户所知道的东西:例如口令、密码等,用户拥有的东西,例如印章、智能卡(如信用卡等);用户所具有的生物特征:例如指纹、声音、视网膜、签字、笔迹等。一.认证系统体系结构认证系统主要由认证服务器、令牌中心、动态密码令牌三个基本部分组成。1.认证服务器是系统的核心部分,与业务系统服务器通过局域网相连接。该认证服务器控制所有上网用户对网络的访问,提供严格的身份认证,上网用户根据业务系统的授权来访问系统资源。2.令牌中心包括管理客户端、授权模块、管理模块三部分,其中管理客户端包括负责与操作员进行交互,通过管理客户端操作员可以完成认证中心授权,令牌制作,令牌信息导出等功能。认证中心由加密卡完成授权功能,授权模块负责把某个认证中心的数据库加密密钥些如加密卡存储空间,而动态密码生成算法和数据库安全算法在加密卡中;管理模块负责完成令牌的制作,令牌信息导出功能。3.动态密码令牌可以确认用户的合法身份,从而在合法身份登录的基础上保障了业务访问的安全性。该令牌是以硬件的形式向用户提供的。令牌内置了加密运算芯片和可以显示6-8位数字的LCD窗口,并且每隔一分钟都会结合内置的唯一160为种子与当前时间,使用安全算法生成一组随机动态数字(动态令牌密码),显示在令牌的LCD窗口上。二.令牌简介1.硬件令牌从技术角度分析:硬件令牌从技术角度分析包括以下三种形式:基于时间同步/基于事件同步/挑战/应答方式。当前最主流的是基于时间同步的硬件令牌,它每60秒变换一次动态口令,动态口令一次有效,它产生6位/8位动态数字。硬件令牌已经被市场接受,且有很多厂商使用,85%的500强企业内部采用硬件令牌。硬件令牌的优点不仅非常安全,而且使用非常方便。动态口令又称一次性密码,每60秒随机更新一次,其优点在于一个口令在认证过程中只使用一次,下次认证时则更换使用另一个口令,使得不法分子难以仿冒合法用户的身份,用户也不需要去记忆密码。动态口令牌的使用十分简单,无需安装驱动,6位动态密码以数字显示,一目了然。用户只要根据网上银行系统的提示,输入动态口令牌当前显示的动态口令即可。2.手机令牌手机令牌是用来生成动态口令的手机客户端软件,在生成动态口令的过程中,不会产生任何通信及费用,不存在通信信道中被截取的可能性,手机作为动态口令生成的载体,欠费和无信号对其不产生任何影响,由于其在具有高安全性、0成本、无需携带、获取以及无物流等优势,相比硬件令牌其更符合互联网的精神,由于以上优势,手机令牌可能会成为3G时代动态密码身份认证令牌的主流形式。三.令牌说明1.红色令牌(1)令牌中界面●显示屏:一屏可显示8个数字。液晶屏会显示用户操作提示,方便用户使用。●电源键:开关设备电源●登录密码键:按此键可生成时间型动态密码。●交易卡号键:按此键会要求用户输入交易卡号,利用交易卡号作为挑战因子生成动态密码。●交易金额键:按此键会要求用户输入交易金额,利用交易金额作为挑战因子生成动态密码。●0-9数字键:用于用户输入内容。●退格/删除键:用于删除用户输入的内容。●确定功能键:用于确认用户输入内容,并进入下一步操作。(2)操作说明时间型模式●按电源键,液晶屏会显示输入:“开机码”(开机码设置见备注),如图:●用数字键输入“8位”开机码,如图:●开机码验证成功后,液晶屏会直接显示登录密码,在机器未关闭前不再需要输入开机码,如图:●开机码验证错误后,液晶屏会显示“ERROR”字样,如图:挑战型模式●在令牌未关闭状态下,按“交易卡号”键会进到时间挑战模式,出现“交易卡号”界面,如图:●用数字键输入8位挑战码,如图:●显示动态6位动态密码,如图:●按“交易金额”键会进到时间挑战模式,出现“交易金额”界面,如图:●用数字键输入8位挑战码,如图:●显示动态6位动态密码,如图:修改开机码●当令牌处于时间挑战模式待机状态时,如图:●先按住数字键“9”再同时按住“登入密码”键,会要求输入开机码,如图:●开机码验证成功后,提示第一次输入新密码,输入后按“确定”键确认,如图:●提示第2次输入新密码,输入后按“确定”键确认,如图:●2次开机码输入一致后,出现下图显示模式,表示修改开机码成功,如图:2.灰色令牌●显示屏:一屏可显示12个数字。液晶屏会显示用户操作提示,方便用户使用。●电源键:开关设备电源。●时间键:按此键可生成时间型动态密码。●挑战键:按此键会要求用户输入挑战码,利用挑战码作为挑战因子生成动态密码。●0~9数字键:用于用户输入内容。●删除键:用于删除用户输入的内容。●确定键:用于确认用户输入内容,并进入下一步操作。●左/右移键:按此键会进入编辑模式,用于用户移动到正确位置,修改挑战码。普通用户操作流程如下:●按“开机”键,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论