信息安全概论信息认证技术ppt课件
《信息安全概论信息认证技术ppt课件》由会员分享,可在线阅读,更多相关《信息安全概论信息认证技术ppt课件(195页珍藏版)》请在装配图网上搜索。
信息认证技术,第三章,1,第三章 信息认证技术,3.1 Hash函数和消息完整性 3.2 数字签名技术 3.3 身份识别技术 3.4 认证的具体实现,2,认证的目的,认证的目的有两个方面: 一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别; 二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。,3,3.1 Hash函数和消息完整性,本节提示: 3.1.1基本概念 3.1.2常见的Hash函数 3.1.3消息认证码,4,3.1.1 基本概念,Hash函数也称为杂凑函数或散列函数,其输入为一可变长度x,返回一固定长度串,该串被称为输入x的Hash值(消息摘要),还有形象的说法是数字指纹。 因为Hash函数是多对一的函数,所以一定将某些不同的输入变化成相同的输出。这就要求给定一个Hash值,求其逆是比较难的,但给定的输入计算Hash值必须是很容易的,因此也称Hash函数为单向Hash函数。,5,基本概念(续),Hash函数一般满足以下几个基本需求: (1)输入x可以为任意长度; (2)输出数据长度固定; (3)容易计算,给定任何x,容易计算出x的Hash值H(x); (4)单向函数:即给出一个Hash值,很难反向计算出原始输入; (5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。,6,Hash函数的其他性质,Hash值的长度由算法的类型决定,与输入的消息大小无关,一般为128或者160位。常用的单向Hash算法有MDS、SHA-l等。 Hash函数的一个主要功能就是为了实现数据完整性的安全需要。 Hash函数可以按照其是否有密钥控制分为两类:一类有密钥控制,以表示,为密码Hash函数;另一类无密钥控制,为一般Hash函数。 关于Hash函数的安全性设计的理论主要有两点:一个是函数的单向性,二是函数影射的随机性。,7,攻击Hash函数的典型方法,生日攻击的基本观点来自于生日问题:在一个教室里最少有多少学生时,可使得在这个教室里至少有两个学生的生日在同一天的概率不小于50%?这个问题的答案是23。这种攻击不涉及Hash算法的结构,可用于攻击任何Hash算法。目前为止,能抗击生日攻击的Hash值至少要达到128bit。 中途相遇攻击这是一种选择明文/密文的攻击,主要是针对迭代和级连的分组密码体制设计的Hash算法。,8,3.1.2常见的Hash函数,MD4算法 MD5算法 SHA算法,9,MD-4算法,MR-4是Ron Rivest设计的单向散列函数, MD表示消息摘要(Message Digest),对输入消息,算法产生128-位散列值,10,MD-4算法设计目标,安全性。找到两个具有相同散列值的消息在计算上不可行,不存在比穷举攻击更有效的攻击。 直接安全性。MD-4的安全性不基于任何假设,如因子分解的难度。 速度。MD-4适用于软件实现,基于32位操作数的一些简单位操作。 简单性和紧凑性。MD-4尽可能简单,没有大的数据结构和复杂的程序。 有利的Little-Endian结构。MD-4最适合微处理器结构,更大型、速度更快的计算机要作必要的转化。,11,MD-5算法(一个512bit分组的处理示意图 ),12,MD-5算法的步骤,(1)首先填充消息使长度恰好为一个比512bit的倍数仅少64bit的数。填充的方法是附一个1在消息的后面,后接所要求的多个0,然后在其后附上64位的填充前的消息长度。这样可对明文输入按512bit分组,得 。其中,每个为512bit,即16个长为32 bit的字。 (2)128bit的输出可用下述四个32bit字:A,B,C,D表示。其初始存数以十六进制表示为:A=01234567,B=89ABCDEF,C=FEDCBA98,D=76543210。 (3)算法的主循环次数为消息中按512bit进行分组的分组数,每次对512bit(16-字)组进行运算, 表示输入的第 组512bit数据,在各轮中参加运算。 为64个元素表,分四组参与不同轮的计算。 的整数部分是 ,是弧度。 可用32bit二元数表示, 是32bit的随机数源。,13,MD-5的基本运算,14,MD-5的基本运算(续),MD-5是四轮运算,每轮输出为128bit,每轮又要进行16步迭代运算,四轮共需64步完成。 即缓存中的四个字,按特定次序变化。 是基本逻辑函数 中之一,算法中每一轮用其中之一。 ( 是异或, 是与, 是或, 是反。),15,MD-5的基本运算(续),CLSs是32bit的移位寄存器,存数循环左移位。 第一轮=7,12,17,22 第二轮=5,9,14,20 第三轮=4,11,16,23 第四轮=6,10,15,21 为消息的第 (512bit)组中的第 个字(32bit)。 每次将A,B,C,D分别加上a,b,c,d,然后用下一分组数据继续运行算法,最后输出是A,B,C,D的级联。,16,其他算法,SHA(Security Hash Algorithm)算法是美国的NIST和NSA设计的一种标准Hash算法,SHA用于数字签名的标准算法DSS中,也是安全性很高的一个Hash算法。该算法的输入消息长度小于bit,最终的输出结果值为160bit。SHA与MD-4相比较而言,主要是增加了扩展变换,将前一轮的输出加到下一轮的,这样增加了雪崩效应。而且由于其160 bit的输出,对穷举攻击更有抵抗力。 GOST算法,SNEFRU算法等。另外可将标准分组算法通过级连、迭代也能构造出优秀的Hash算法。,17,3.1.3消息认证码,消息认证码(MAC,Messages Authentica-tion Codes),是与密钥相关的的单向Hash函数,也称为消息鉴别码或是消息校验和。MAC与单向Hash函数一样,但是还包括一个密钥。 将单向Hash函数变成MAC的一个简单的办法是用对称算法加密Hash值。相反将MAC变成单向Hash函数则只需将密钥公开。,18,消息认证码的实现示意图,19,3.2 数字签名技术,本节提示: 3.2.1数字签名的基本概念 3.2.2常用的数字签名体制 3.2.3盲签名和群签名,20,3.2.1 数字签名技术,数字签名在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证及电子商务系统中具有重要作用。数字签名是实现认证的重要工具。,21,什么是数字签名,通过单向哈希函数实现的数字签名 通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串,该字母数字串被成为该消息的消息鉴别码或消息摘要。,22,签名是可信的:任何人都可以方便地验证签名的有效性。 签名是不可伪造的:除了合法的签名者之外,任何其他人伪造其签名是困难的。这种困难性指实现时计算上是不可行的。 签名是不可复制的:对一个消息的签名不能通过复制变为另一个消息的签名。如果一个消息的签名是从别处复制的,则任何人都可以发现消息与签名之间的不一致性,从而可以拒绝签名的消息。,数字签名的特性( 1/2 ),23,数字签名的特性(2/2),签名的消息是不可改变的:经签名的消息不能被篡改。一旦签名的消息被篡改,则任何人都可以发现消息与签名之间的不一致性。 签名是不可抵赖的:签名者不能否认自己的签名。,24,数字签名技术的功能,数字签名可以解决否认、伪造、篡改及冒充等问题,具体要求为: 发送者事后不能否认发送的报文签名 接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改 网络中的某一用户不能冒充另一用户作为发送者或接收者。,25,数字签名分类,以方式分 direct digital signature arbitrated digital signature 以安全性分 无条件安全的数字签名 计算上安全的数字签名 以可签名次数分 一次性的数字签名 多次性的数字签名,26,数字签名原理,27,数字签名的实现方法,用对称加密算法进行数字签名 用非对称加密算法进行数字签名,28,用对称加密算法进行数字签名(Hash签名 ),该签名不属于强计算密集型算法,应用较广泛 使用这种较快Hash算法,可以降低服务器资源的消耗,减轻中央服务器的负荷 Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能,29,用非对称加密算法进行数字签名和验证,1 发送方首先用公开的单向函数对报文进行一次变换,得到数字签名,然后利用私有密钥对数字签名进行加密后附在报文之后一同发出。 2 接收方用发送方的公开密钥对数字签名进行解密变换,得到一个数字签名的明文。发送方的公钥是由一个可信赖的技术管理机构即验证机构(CA: Certification Authority)发布的。 3 接收方将得到的明文通过单向函数进行计算,同样得到一个数字签名,再将两个数字签名进行对比,如果相同,则证明签名有效,否则无效。,30,公钥加密,使用公钥算法进行数字签名的最大方便是没有密钥分配问题,因为公钥加密算法使用两个不同的密钥,其中有一个是公开的,另一个是保密的。公钥一般由一个可信赖的认证机构(CA: Certification Authority)发布的,网上的任何用户都可获得公钥。而私钥是用户专用的,由用户本身持有,它可以对由公钥加密的信息进行解密。,31,3.2.2常用的数字签名体制,用非对称加密算法实现的数字签名技术最常用的是DSS和RSA签名,下面分别做简单介绍: 1.RSA签名 2.DSS签名,32,RSA签名,RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库 。下面详细介绍该签名体制的内容: (1)参数 令 , 和 是大素数,令 选并计算出 使 ,公开 和 ,将 , 和 保密。,33,(2)签字过程 对消息 ,定义 为对 签字 (3)验证过程 对给定的 可按下式验证:,34,(4)安全性分析 显然,由于只有签名者知道 d,由RSA体制知道,其他人不能伪造签名,但可易于证实所给任意对,其是否为消息和相应签名构成的合法对。RSA签名过程下图3.1。,35,DSS签名(next),Digital Signature Algorithm(DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(Digital SignatureStandard)数字签名标准。 DSS是由美国国家标准化研究院和国家安全局共同开发的。由于它是由美国政府颁布实施的,主要用于与美国政府做生意的公司,其他公司则较少使用,它只是一个签名系统,而且美国政府不提倡使用任何削弱政府窃听能力的加密软件,认为这才符合美国的国家利益 。,36,算法中应用的参数,p: Lbits长的素数。L是64的倍数,范围是从512到1024; q: p-1的素因子,且 即q为160bits长p-1的素因子; g: ,h 满足 1 h p-1, 并且,37,x:用户秘密钥, x为0xq的随机或拟随机正整数; y: 为用户公钥; k:随机数,且 H(x):单向Hash函数。 DSS中选用SHA( Secure Hash Algorithm )。 p,q,g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。,38,签名过程,对消息 ,产生随机数k,0kq,计算 签名结果是(M,r,s),39,验证过程,计算 若v=r,则认为签名有效。,40,其中用到的单项函数H(x)可选择标准算法SHA或MD-5等安全散列算法。DSS签名过程如下图3.2,41,DSS安全性分析(1/2),DSA算法也是一个“非确定性的”数字签名算法,对于一个报文M,它的签名依赖于随机数r,这样相同的报文就可能会具有不同的签名。 另外,值得注意的是:当模数p选用512比特的素数时,ElGamal签名的长度为1024比特,而DSA算法通过160比特的素数q可将签名的长度降为320比特,这样就大大减少了存储空间和传输带宽。,42,DSS安全性分析(2/2),DSS的安全性依赖于计算模数的离散对数的难度,鉴于有限域上计算离散对数问题的进展,一般认为512比特的DSA算法无法提供长期的安全性,而1024 比特的安全性则值得依赖。 另外,关于DSA算法,还有其他一些技术上的批评意见 DSA不能用于加密或密钥分配(但这一点似乎不能成为反对DSS的意见,毕竟DSA是一个数字签名标准而不是公开密钥加密标准)。 在使用相同的模数时,DSA比RSA更慢(两者产生签名的速度相同,但验证签名时DSA比RSA慢10到40倍)。,43,3.2.3 盲签名和群签名,这一部分介绍两种特殊的签名方法: 一、盲签名 二、群签名,44,1.盲签名,一般的数字签名中,总是要先知道了文件内容后才签署,但有时需要对一个文件签字,而且不想让签名者知道文件的内容,称这样的签名为盲签名(Blind Signature)。 利用盲变换可以实现盲签名,45,盲签名过程图示,46,盲签名(1)完全盲签名,现在假设B担任仲裁人的角色,A要求B签署一个文件,但并不想让他知道文件的内容,而且B也没必要知道文件的内容,他只需要确保在需要时能进行公正的仲裁。,47,完全盲签名的具体过程,1)盲变换 A对要进行签名的文件和一个随机数相乘,该随机数称为盲因子。这实际完成了原文件的隐藏。隐藏完的文件被称为盲文件。 2) A将该盲文件送给B. 3)签名. B对该盲文件签名。 4)解盲变换 A对签过字的盲文件除以用到的盲因子,就得到B对原文件的签名.,48,算法说明,只有当签名算法和乘法是可交换的,则上述的协议就可以真正实现,否则就要考虑用其他方法对原文件进行盲变换。 为保证B不能进行欺诈活动 ,要求盲因子是真正的随机因子,这样B不能对任何人证明对原文件的签名,而只是知道对其签过名,并能验证该签名。这就是一个完全盲签名的过程。,49,完全盲签名的特点,首先B对文件的签名是合法的,和传统的签名具有相同的属性。 B不能将所签文件与实际文件联系起来,即使他保存所有曾签过的文件,也不能获得所签文件的真实内容。,50,盲签名(2)盲签名,完全盲签名可以使A令B签任何内容的文件,这对B显然是很危险的. 为了避免恶意的使用,采用“分割选择”技术 B能知道所签为何物,但他因为协议规定的限制条件,无法进行对他有利的欺诈,或者说进行欺诈所需代价超过其获利。,51,盲签名示例一,要确定对于进出关口的人是不是毒贩,海关不可能对每个人进行检查。一般用概率方法,例如对入关者抽取1/10进行检查。那么毒贩在大多情况下可逃脱,但有1/10的机会被抓获。而为了有效惩治犯罪,一旦抓获,其罚金将大于其它9次的的获利。所以通过适当地调节检查概率,就可以有效控制贩毒活动。,52,盲签名示例二(1/4),反间谍组织的成员身份必须保密,甚至连反间谍机构也不知道他是谁。机构的头要给每个成员一个签名文件,文件上可能会注明:持此签署文件的人将享有充分的外交豁免权,并在其中写入该成员的化名。每个成员有自己的不止一个的化名名单,使反间谍机构不能仅仅提供出签名文件。还要能验证提供签署文件的人是不是真正的合法组织成员。,53,盲签名示例二(2/4),特工们不想把他们的化名名单送给所属机构,因为敌方可能已经破坏了该机构的计算机。另一方面,反间谍机构也不会对盲目地对特工送来的文件都进行签名。一个聪明的特工可能会送来这样的文件:“该成员已退休,每年发给100万退休金。签名:总统先生”。那不是就出麻烦了吗。,54,盲签名示例二(3/4),现在假定每个成员可有10个化名,他们可以自行选用,别人是不知道的。假定成员并不关心在那个化名下得到了豁免权,并假定机构的计算机为C,看下面的协议能有什么效果: 1)每个成员准备10份文件,各用不同的化名,以得到豁免权; 2)成员以不同的盲因子盲化每个文件; 3)成员将10个文件送给计算机C; 4)C随机选9个并询问成员每个文件的盲因子;,55,盲签名示例二(4/4),5) 成员将适当的盲因子送给C; 6)C从9个文件中移区盲因子,确信其正确性; 7) C将所签署的10个文件送给成员; 8)成员移去盲因子,并读出他的新的化名Bob。这可能不是他用以欺诈的那个化名。只有1/10的概率恰好是。,56,盲签名示例说明,通常人们把盲变换看作是信封,盲化文件就是对文件加个信封。而去掉盲因子的过程就是打开信封。 文件在信封中时无人能读它,而在盲文件上签名相当于在复写纸信封上签名,从而得到了对真文件(信封内)的签名。,57,盲签名(3)盲签名算法,D.Chaum于1985年提出一个盲签名算法,采用的是RSA算法,令B的公钥为,私钥为,模为。 1)A要对消息m进行盲签名,选1km,作 2) B对t签名 3) A计算 的得 这是B对m按RSA体制签名。,58,2. 群签名,群体密码学 群体密码学是研究面向一个团体的所有成员需要的密码体制。 在群体密码中,有一个公用的公钥,群体外面的人可以用它向群体发送加密消息,密文收到后要由群体内部成员的子集共同进行解密。,59,群签名特点,群签名(Group Signature)是面向群体密码学中的一个课题分支,于1991年由Chaum和Van Heyst提出。群签名有以下几个特点: 1)只有群体中的成员能代表群体签名; 2)接收到签名的人可以用公钥验证群签名,但不可能知道由群体中哪个成员所签; 3)发生争议时可由群体中的成员或可信赖机构识别群签名的签名者. 这类签名可用于投标商务活动中。,60,3.3 身份识别技术,基本概念 几种常见的身份识别系统 通行字(口令)认证系统 个人特征的身份证明 基于零知识证明的识别技术 智能卡在个人身份证明中的作用,61,3.3身份识别技术,本节提示: 3.3.1基本概念 3.3.2身份认证系统的分类 3.3.3 常见的身份认证技术,62,3.3.1基本概念,身份认证是指定用户向系统出示自己身份的证明过程,通常是获得系统服务所必需的第一道关卡。现在竞争激烈的现实社会中,为了获得非法利益,各种身份欺诈活动很频繁,因此在很多情况下我们需要证明个人的身份。通信和数据系统的安全性也取决于能否验证用户或终端的个人身份。,63,三种方式判定,一是根据你所知道的信息来证明你的身份(what you know); 二是根据你所拥有的东西来证明你的身份 (what you have) ; 三是直接根据你独一无二的身体特征来证明你的身份(who you are) 。,64,常用身份识别技术,一类是基于密码技术的各种电子ID身份识别技术; 基于这种技术的数字证书和密码都存在被人盗窃、拷贝、监听获取的可能性 解决办法:数字证书的载体可以采用特殊的、不易获取或复制的物理载体,如指纹、虹膜等。 另一类是基于生物特征识别的识别技术。,65,电子ID身份识别技术的常用方式,一种是使用通行字的方式 通行字是使时最广泛的一种身份识别方式,比如中国古代调兵用的虎符和现代通信网的拔入协议等。 另一种是使用持证的方式 持证(token)是一种个人持有物,它的作用类似于钥匙,用于启动电子设备。,66,通行字技术,通行字是广泛的一种身份识别方式,比如中国古代调兵用的虎符和现代通信网的拔入协议等。通行字一般由数字、字母、特殊字符、控制字符等组成的长为5-8的字符串。 其选择规则为:易记,难于被别人猜中或发现,抗分析能力强,还需要考虑它的选择方法、使用期、长度、分配、存储和管理等。 在网络环境下通行字方式识别的办法是:识别者A先输入他的通行字,然后计算机确认它的正确性。,67,持证(token),一种嵌有磁条的塑料卡,磁条上记录有用于机器识别的个人信息。 这类卡通常和个人识别号(PIN) 一起使用 这类卡易于制造,而且磁条上记录的数据也易于转录,因此要设法防止仿制。 为了提高磁卡的安全性,人们建议使用一种被称作“智能卡”的磁卡来代替普通的磁卡,智能卡与普通的磁卡的主要区别在于智能卡带有智能化的微处理器和存储器。,68,安全的身份识别协议要求,一个安全的身份识别协议至少应满足以 下两个条件: 识别者A能向验证者B证明他的确是A。 在识别者A向验证者B证明他的身份后,验证者B没有获得任何有用的信息,B不能模仿A向第三方证明他是A。,69,缺点,鉴于基于密码技术的各种电子ID身份识别技术如数字证书和密码都存在被人盗窃、拷贝、监听获取的可能性,一种有效的解决办法是:数字证书的载体可以采用特殊的、不易获取或复制的物理载体,用指纹、虹膜等安全性很高的生物特征取代安全性较差的口令。虽然有不少学者试图使用电子化生物唯一识别信息(如指纹、掌纹、声纹、视网膜、脸形等),但也存在着代价高、准确性低、存储空间要求高和传输效率低等缺点。,70,3.3.2 身份认证系统的分类,可以按以下方式对身份认证系统进行分类: 1. 条件安全认证系统与无条件安全认证系统 2. 有保密功能的认证系统与无保密功能的认证系统 3. 有仲裁人认证系统与无仲裁人认证系统,71,条件安全认证系统与无条件安全认证系统,无条件安全性又称理论安全性,它与敌方的计算能力和拥有的资源无关,即敌方破译认证系统所作的任何努力都不会比随机选择碰运气更优。 条件安全性又称实际安全性,即认证系统的安全性是根据破译该系统所需的计算量来评价的,如果破译一个系统在理论上是可行的,但依赖现有的计算工具和计算资源不可能完成所要求的计算量,称之为在计算上是安全的。 如果能够证明破译某个体制的困难性等价于解决某个数学难题,称为是可证明安全的。比如:RSA数字签名体制。,72,有保密功能的认证系统与无保密功能的认证系统,有保密功能的认证系统能够同时提供认证和保密两种功能,一般采用多种加密技术,而且也涉及多种密钥。 无保密功能的认证系统只是纯粹的认证系统,不提供数据加密传输功能。,73,有仲裁人认证系统与无仲裁人认证系统,常常遇到的情形是通信双方并不互相信任,比如,发送方发送了一个消息后,否认曾发送过该消息;或者接收方接收到发送方发送的消息后,否认曾接收到该消息或宣称接收到了自己伪造的不同于接收到的消息的另一个消息。一旦这种情况发生,就需要一个仲裁方来解决争端。这就是有仲裁人认证系统的含义。有仲裁人认证系统又可分为单个仲裁人认证系统和多仲裁人认证系统。,74,3.3.3 常见的身份认证技术,1基于口令的认证技术 2. 双因子身份认证技术 3. 生物特征认证技术 4.基于零知识证明的识别技术,75,1. 基于口令的认证技术,较早的认证技术主要采用基于口令的认证方法。 当被认证对象要求访问提供服务的系统时,提供服务的认证方要求被认证对象提交口令信息,认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认被认证对象是否为合法访问者。这种认证方式叫做PAP(Password Authentication Protocol)认证。 PAP协议仅在连接建立阶段进行,在数据传输阶段不进行PAP认证。 这种认证方法的优点在于:一般的系统如Unix、Windows NT、NetWare等都提供了对口令认证的支持,对于封闭的小型系统来说不失为一种简单可行的方法。,76,基于口令的认证方法的不足, 以明文方式输入口令,很容易被内存中运行的黑客软件记录下来而泄密; 口令在传输过程中可能被截获; 窃取口令者可以使用字典穷举口令或者直接猜测口令; 攻击者可以利用服务系统中存在的漏洞获取用户口令; 口令的发放和修改过程都涉及到很多安全性问题; 低安全级别系统口令很容易被攻击者获得,从而用来对高安全级别系统进行攻击; 只能进行单向认证,即系统可以认证用户,而用户无法对系统进行认证。,77,对PAP的改进,对PAP的改进产生了挑战握手认证协议(CHAP,Challenge Handshake Authentication Protocol),它采用“挑战应答”(ChallengeResponse)的方式,通过三次握手对被认证对象的身份进行周期性的认证。CHAP加入不确定因素,通过不断地改变认证标识符和随机的挑战消息来防止重放攻击;CHAP的认证过程为: 当被认证对象要求访问提供服务的系统时,认证方向被认证对象发送递增改变的标识符和一个挑战消息,即一段随机的数据; 被认证对象向认证方发回一个响应,该响应数据由单向散列函数计算得出,单向散列函数的输入参数由本次认证的标识符、密钥和挑战消息构成; 认证方将收到的响应与自己根据认证标识符、密钥和挑战消息计算出的散列函数值进行比较。若相符则认证通过,向被认证对象发送“成功”消息;否则发送“失败”消息,切断服务连接。,78,2. 双因子身份认证技术,现在较为先进的身份认证系统都溶入了双因子等先进技术,即用户知道什么和用户拥有什么。 双因子认证(two-factor authentication) 一个因子是只有用户本身知道的密码,它可以是个默记的个人认证号(PIN)或口令; 另一个因子是只有该用户拥有的外部物理实体智能安全存储介质。,79,双因子身份认证技术优点,存储的信息无法复制; 具有双重口令保护机制和完备的文件系统管理功能; 另外,某些智能安全存储介质还允许设置PIN猜测的最大值,以防止口令攻击。如果使用USB Token作为信息载体,则无须专门的读卡器,使用简单方便,而且非常轻巧,容易携带。 双因子认证比基于口令的认证方法增加了一个认证要素,攻击者仅仅获取了用户口令或者仅仅拿到了用户的令牌访问设备,都无法通过系统的认证。因此,这种方法比基于口令的认证方法具有更好的安全性,在一定程度上解决了口令认证方法中的很多问题。,80,3. 生物特征认证技术,传统的身份鉴别方法是将身份认证问题转化为鉴别一些标识个人身份的事物,如“用户名口令”,如果在身份认证中加入这些生物特征的鉴别技术作为第三道认证因子,则形成了三因子认证。 这种认证方式以人体惟一的、可靠的、稳定的生物特征为依据,采用计算机的强大功能和网络技术进行图像处理和模式识别,具有更好的安全性、可靠性和有效性。,81,用于身份认证的生物识别技术,(1)手写签名识别技术 (2)指纹识别技术 (3)语音识别技术 (4)视网膜图样识别技术 (5)虹膜图样识别技术 (6)脸型识别,82,(1)手写签名识别技术(1/3),传统的协议和契约等都以手写签名生效。发生争执时则由法庭判决,一般都要经过专家鉴定。由于签名动作和字迹具有强烈的个性而可作为身份验证的可靠依据。,83,(1)手写签名识别技术(2/3),机器自动识别手写签名成为模式识别中的重要研究之一。 进行机器识别要做到: 一签名的机器含义, 二手写的字迹风格(对于身份验证尤为重要) 可能的伪造签名有两种情况: 一是不知道真迹,按得到的信息随手签名; 二是已知真迹时模仿签名或影描签名。,84,(1)手写签名识别技术(3/3),自动的签名系统作为接入控制设备的组成部分时,应先让用户书写几个签名进行分析,提取适当参数存档备用。,85,(2)指纹识别技术,指纹作为身份验证的准确而可靠的手段 指纹相同的概率不到 形状不随时间变化 提取方便 将指纹作为接入控制的手段大大提高了其安全性和可靠性。 缺憾 通常和犯罪联系在一起,人们一般都不愿接受这种方式 机器识别指纹成本很高。,86,(3)语音识别技术,每个人说话的声音都有自己的特点,人对语音的识别能力是特别强的。 在商业和军事等安全性要求较高的系统中,常常靠人的语音来实现个人身份的验证。 机器识别语音的系统可提高系统安全,并在个人的身份验证方面有广泛的应用。 现在美国、德国等已经开发出了基于语音的识别系统,在用于防止黑客进入语音函件和电话服务系统。,87,(4)视网膜图样识别技术,人的视网膜血管的图样具有良好的个人特征。 基本方法 用光学和电子仪器将视网膜血管图样纪录下来,一个视网膜血管的图样可压缩为小于35字节的数字信息。 可根据对图样的节点和分支的检测结果进行分类识别。 要求被识别人要合作允许进行视网膜特征的采样。 验证效果相当好,但成本较高,只是在军事或者银行系统中被采用 。,88,(5)虹膜图样识别技术,虹膜是巩膜的延长部分,是眼球角膜和晶体之间的环形薄膜,其图样具有个人特征,可以提供比指纹更为细致的信息。 可以在35到40厘米的距离采样,比采集视网膜图样要方便,易为人所接受。 存储一个虹膜图样需要256个字节,所需的计算时间为100毫秒。 开发出基于虹膜的识别系统可用于安全入口、接入控制、信用卡、POS、ATM等应用系统中,能有效进行身份识别。,89,(6)脸型识别,首先有Harmon等人设计了一个从照片识别人脸轮廓的验证系统。但是这种技术出现差错的几率比较大。 现在从事脸型自动验证新产品的研制和开发的公司有好多家了,在金融、接入控制、电话会议、安全监视、等系统中得到一定的应用。,90,现行技术,目前人体特征识别技术市场上占有率最高的是指纹机和手形机,这两种识别方式也是目前技术发展中最成熟的。 相比传统的身份鉴别方法,基于生物特征识别的身份认证技术具有这些优点: 不易遗忘或丢失; 防伪性能好,不易伪造或被盗; “随身携带”,随时随地可用。,91,生物特征认证系统结构图,92,4. 基于零知识证明的识别技术,零知识证明的基本思想 你向别人证明你知道某种事物或具有某种东西,而且别人并不能通过你的证明知道这个事物或这个东西,也就是不泄露你掌握的这些信息。 零知识证明问题 最小泄露证明(Minimum Disclosure proof) 零知识证明(Zero Knowledge proof)。,93,最小泄露知识证明应该满足条件,现在假设用P表示示证者,V表示验证者 。 (1)示证者几乎不可能欺骗验证者,若P知道证明,则可使V几乎确信P知道证明;若P不知道证明,则他使V相信他知道证明的概率几近于零。 (2)验证者几乎不可能得到证明的信息,特别是他不可能向其他人出示此证明。 (3)而零知识证明除了以上两个条件外,还要满足:验证者从示证者那里得不到任何有关证明的知识。,94,零知识证明的基本协议,Quisquater等人给出了一个解释零知识证明的通俗例子,即零知识洞穴。,95,零知识证明的基本协议,设P知道咒语,可打开C和D之间的密门,不知道者都将走向死胡同。 下面的协议就是P向V证明他知道这个秘密,但又不让V知道这个秘密。,96,协议1,1、V站在A点; 2、P进入洞中任一点C或D; 3、P进入洞之后,V走到B点; 4、V叫P:(a)从左边出来或(b)从右边出来; 5、P按照V的要求实现(因为P知道该咒语); 6、P和V重复执行上面的过程次。,97,协议分析,P的确可以使V确信他知道该咒语,但V在这个证明过程中的确没有获得任何关于咒语的信息。该协议是一个完全的零知识证明。 这个协议相当于下面要介绍的分割和选择协议(Cut and Choose),是公平分享东西时的经典协议。,98,协议2,1、P将东西切成两半 2、V选其中之一 3、P拿剩下的一般。,99,协议分析,P为了自己的利益在切的时候要力求公平分割,因接下来是由V先选择要哪部分。 如果将关于零知识洞穴的协议中P掌握的咒语换为一个数学难题,而P知道如何解这个难题,就可以设计实用的零知识证明协议。,100,著名体制,基于零知识证明的密码体制,比较著名的有由U.Feige, A.Fiat,和A.Shamir提出的Feige-Fiat-Shamir体制;由Guillon 和Quisquater提出的 GQ识别体制;由Schnorr提出的Fiat-Shamir识别体制是GQ体制的一种变型,其安全性基于离散对数的困难性,可以预测计算量来降低实时计算量,所需传送的数据量亦减少许多,特别适合计算能力有限的情况。,101,3.4 认证的具体实现,本节提示: 3.4.1认证的具体实现原理 3.4.2认证方式的实际应用,102,3.4.1 认证的具体实现原理,1.使用验证者与共同知道的信息方式 : 用户与口令方式 用户名与口令是最简单的认证方式 明文口令是最简洁的数据传输,保护口令不被泄密可以在用户和认证系统之间进行加密。,103,3.4.1 认证的具体实现原理,单一加密形式下的用户名与口令传输方式适合的应用环境 (a)用户终端可以直接连接认证系 (b)认证数据库不为非法用户所获得。 认证数据库通常情况下不会直接存放用户的口令,可以存放口令的hash值或是加密值。,104,用户名与口令的认证实现方式,用户将口令使用认证系统的公钥加密后传输给认证系统,认证系统对加密数据解密后得到口令,对此数据做hash(或是加密),将这一结果与数据库中的值做比较,若数据匹配,则是合法用户,否则不是。,105,用户名与口令的认证实现方式,106,口令数据库的加密存储,107,挑战/应答式(质询/响应式)口令(1/2),挑战/应答式(质询/响应式)口令 是目前口令认证机制的基础。 其原理适用于令牌与智能卡的认证。 认证一个用户可以等同地证明这个用户拥有某个私钥,由于认证系统知道用户的公钥,因此可以选取一个随机数字发送给用户,用户收到后使用自己的私钥进行加密,然后传递给认证系统,认证者使用用户的公钥进行解密,然后比较解密结果是否等于随机数字。,108,挑战/应答式(质询/响应式)口令(2/2),109,口令认证机制存在的弊端,(1)口令的更新 (2)口令的记忆 (3)口令的概率分布 人们使用的口令并非均匀随机地分布在可能的密钥空间。多数人出于方便的考虑,类似于A6KX853H这样随机、安全的密码总是很难进入到我们的数字生活中。,110,口令认证机制存在的弊端,假设非法者能够破译系统或是通过其他途径获得口令数据库,虽然口令数据库是口令的hash值,不能够逆向计算求得。 但是,Mallory完全可以利用现有的口令字典计算那些现有口令的hash值,然后对二者进行比较,从而找到合适的匹配值。,111,抵抗字典式攻击的办法,在口令的后面添加由计算机产生的随机字符串,记为salt,然后把计算得到的hash值和salt值同时存储到数据中。 如果随机数字salt取的符合一定要求,比如随机性能、长度等,能在一定程度上限制上述攻击。,112,补充说明一,安全的实现是有代价的。 多数服务器在进行认证时只是存放用于进行用户识别的用户ID和口令特征的静态认证列表。 这种方式的优点是配置简洁方便,缺点是破解者能够花费较小的代价获得口令列表。,113,补充说明二,ISP服务商通常会将远程访问服务器的共享认证列表放在较为安全的服务器商,达到使用外部认证或共享认证。 此种认证的优点是只需考虑一台服务器的安全配置就可以了,因此在配置更方便的同时,认证的安全性能提高了。 直接导致了专用认证服务器的产生,Kerberos认证服务也是这样一种方式。认证服务器对用户进行认证时会对整个认证过程加密,从而避免Hacker截取用户的ID与口令。,114,2.利用认证者所具有的物品进行认证,利用硬件实现的认证方式 安全令牌 智能卡,115,安全性要求较高的场合使用硬件来实现认证,如安全令牌。 安全令牌通常是每隔固定间隔产生一个脉冲序列的同步序列发生器。,安全令牌,116,示例,比如在一个有严格安全等级的实验室,就可以使用安全令牌来实现; 当用户UserA使用控制器的时候,需要系统对他的使用行为进行认证,但是,如果UserA暂时离开或是有其他等级不同的用户到来的时候,都必须从新进行认证或是更改认证权限。,117,示例,完全通过人为的管理是不现实的,所以对每隔用户配置一个令牌。 每隔一个固定的时间间隔,认证系统都和用户所携带的令牌进行认证 当用户离开(或是其他用户)的时候,认证系统就自动把访问控制禁止,这样就会避免敏感信息的泄漏。,118,概念解释-令牌,令牌实际上是一个可以为每一次认证产生不同的认证值的小型电子设备,其易于携带。 认证令牌的实现有两种具体的方式 时间令牌 挑战/应答式令牌。,119,概念解释时间令牌,时间令牌 令牌和认证服务器共同拥有一个相同的随机种子,认证时双方将当前时间和随机种子做加密或是hash运算,然后有认证服务器对这一结果进行校验比较。 时间令牌的实现非常复杂,产生这个问题的原因在于要对时间进行校验,必须保证令牌与认证服务器的时间同步。,120,概念解释挑战应答令牌,挑战应答令牌 由认证系统产生一个随机数,令牌和认证系统使用同样的密钥对这个数字进行加密或是hash变换,然后进行校验。,121,智能卡,智能卡 卡中存储有用户的私钥、登录信息和用于不同目的的公钥证书,如数字签名证书和数据加密证书等 提供了抗修改能力,用于保护其中的用户证书和私钥。在这种方式下,智能卡提供了一种非常安全的方式以进行用户认证、交互式登录、代码签名和安全e-mail传送等。,122,使用智能卡比使用口令进行认证具有更高的安全性,智能卡方式下需要使用物理对象(卡)来认证用户 智能卡的使用必须提供一个个人标识号PIN(PersonalIdentificationNumber),这样可以保证只有经过授权的人才能使用该智能卡 没有智能卡,攻击者不能存取和使用经过卡保护的信息资源,也就没有口令或任何可重用信息的传输 在存取和使用资源之前,智能卡通过要求用户提供物理对象(卡)和卡使用信息(如卡的PIN)的方式来增强纯软件认证方案的安全性,这种认证方式称为双要素认证,,123,与口令认证方式的不同之处,用户把卡插入连接到计算机的读写器中,并输入卡的PIN,Windows就可以使用卡中存储的私钥和证书来向Windows2000域控制器的KDC认证用户。 认证完用户以后,KDC将返回一个许可票据。,124,说明,硬件器件实现的安全问题的最大隐患在于其本身有可能丢失,因此,一般通过口令对其加以保护。,125,双要素认证,我们进行验证时考虑使用验证者的某个属性或是共知信息,如果单独使用某个方面无法体现安全的要求,就考虑使用验证者的多个信息来实现。 比如我们在使用钥匙开门锁的时候,如果进入的地方比较机密,而又当心钥匙有可能丢失,就同时配置一个密码锁加以保证。 这种方式我们称为双要素认证。对于有口令的令牌和智能卡的实现都属于这种方式。,126,双向认证,单向认证,默认通信方A对B的检验 在通信中,需要确定和你进行通信对话的人是Alice而不是Bob,有必要也对对方进行验证,双方互相进行验证的这种方式我们称为双向认证,127,3.4.2认证方式的实际应用,目前实用的认证方式有 Skey 防止窃听和窃取,但实现有困难 Kerberos Radius Kerberos和Radius认证方式都是在服务器和客户机都支持相应的认证方式的条件下才能使用,因而需要复杂的设置。,128,1. Skey认证方式,通过监听TCPIP网络中信息,可以获得用户登录用的帐号和口令,被截获的用户帐号和口令有助于发动对系统的攻击。 Skey是一个一次性口令系统,可以用来对付这种类型的攻击行为。,129,Skey认证方式的特点,使用Skey系统时,网络中传送的帐户和口令只使用一次后就销毁。 用户使用的源口令永远也不会在网络上传输,包括登录时或其它需要口令的情形,这样就可以保护用户的帐户和口令不会因此而被窃取。 Skey系统的机制保护的是进行身份鉴别时的安全性,并不保证信息在传送过程中的保密性和完整性。,130,使用Skey类系统两方面的操作,在客户方,必须有方法产生正确的一次性口令。 在服务主机方必须能够验证该一次性口令的有效性,并能够让用户安全地修改源口令。,131,Skey认证方式说明,一般的Skey系统是基于一些不可逆算法的(如MD4和MD5),也就是说这一类算法如果拥有源数据,正向计算出结果速度很快。 但如果没有源数据而试图反向计算出源数据,则目前来看基本上是不可能的。,132,用户如何使用Skey系统(一),用户在使用Skey系统时,在计算机上对其口令进行初始化,由计算机保存将该源口令按照选定的算法计算N次的结果。用户自己在客户端必须有能够进行计算的程序或工具。,133,用户如何使用Skey系统(二),计算N1次后形成本次口令,当本次口令送给计算机时,计算机将所得的口令通过该算法计算一次,并将结果与计算机保存的上一个结果比较,若相同,则身份验证通过,而且将本次用户的输入保留,作为下一次用于比较的值。 用户在下一次计算口令时,自动将计算次数减1(第二次计算N2次)。,134,用户如何使用Skey系统(三),监听者也无法从所监听到的口令中得到用户的源口令,同时他所监听到的信息也不能作为登录用信息。 在计算机内部也不保存用户的源口令,达到进一步的口令安全。,135,Skey系统的优缺点,优点 实现原理简单 缺点 会给使用带来一点麻烦(如口令使用一定次数后就需重新初始化)。 依赖于某种算法的不可逆性的,算法也是公开的,当有关于这种算法可逆计算研究有了新进展时,系统将被迫重新选用其它更安全的算法。,136,三种不同的密码形式,第一种是通常使用的Unix风格或Kerberos密码,称为Unix password; 第二种是由Skey程序产生,然后被keyinit程序和登陆命令接受的一次性密码;称为one-time password; 第三种密码是由专门的密码生成程序生成的秘密密码,称为secret password。秘密密码与unix password毫无关系;他们也可能是一样的,但并不推荐使用。,137,Skey和秘密密码特点,Skey和秘密密码不象Unix password需要限制在8位以内,它们可能会更长。一般都使用6到7位的长度。 另外,Skey系统操作完全独立于unix password系统。,138,Skey两个重要数据,一个是以seed或key出名,包含两个字母和五个数字。 其他的被叫做iteration count,在1到100之间。,139,Skey 密码生成,Skey通过连接“种子”(seed)和秘密密码来生成一次性密码,然后通过反复计算多次应用MD4hash,再把结果变成六个英文字。这六个英文字就是你的一次性密码。 如果用户提供的密码的hash值与先前的密码相一致,那用户就通过了认证;每个成功的登陆确保用户和登陆程序保持同步之后,计算的次数就不断减少。当反复计算的降到1时,Skey必须被重新初始化,140,Skey系统中的四个程序,有四个程序被包含在Skey系统中。 密码程序接受一个反复计算数,一个种子,和一个秘密密码,然后产生一个一次性密码。 Keyinit程序被用来初始化Skey,然后改变密码,反复计算数或种子;它不是接受一个秘密密码,就是一个反复计算数,种子和一次性密码。 Keyinfo程序会检查文件,然后打印出被调用的当前反复计算数和种子。 最后,login和su程序包含了用于认证Skey一次性密码的必需的逻辑性。login程序也可以不使用unix密码。,141,2 Kerberos认证系统,(1)概述 (2) Kerberos的认证原理 (3) Kerberos的技术特点 (4) 利用windos的安全技术配置kerboros认证 (5) Unix(FreeBSD)中的 Kerberos 设置,142,(1)概述,Kerberos认证的核心算法为密码学中的DES,鉴别模型为CBC模式; Kerberos协议是Needham-Schroeder协议的变型,目前通用版本为k5,是1994年公布的; Kerberos认证起源于非法收集用户口令的恶意攻击,系统按照用户名与口令对用户进行识别; Kerberos采用的是客户机/服务器模型(以下简称C/S)。,143,(2) Kerberos的认证原理,144,145,kerberos的实现过程,1、请求票据许可票据:客户c向Kerberos认证中心(KDC)申请可以访问票据中心TGS 2、票据票据许可 3、请求服务器票据 4、服务器票据 5、请求服务,146,(3) Kerberos的技术特点,Kerberos是分布式认证服务,允许代表合法者的进程或客户在不通过网络发送敏感消息的情况下来向验证者(应用服务器)证实自己的身份,这样可以保证C/S之间传输数据的完整性和保密性。,147,Kerberos的技术特点,Kerberos 时间戳(timestamp,减少基本认证所需要发送消息的数目)、 票据许可(ticket-granting,为后续认证做准备) 交叉认证(不同服务器见的认证),148,Kerberos的安全性能分析(1/3),1、Kerberos在C/S间产生的通信会话是动态的。 按照时间戳的加入的可能性分析,这样,C/S间会话的通信数据,从一定程度上讲是经过加密的,也就是安全的。在一次会话结束时,则销毁该秘密密钥。,149,Kerberos的安全性能分析(2/3),2、可以使用Strand域分析法分析Neuman-Stubblebine协议类中如同Kerberos的密钥,但是结果表明,分布中心产生的类Kerberos密钥匙和用户申请的票据服务是有缺陷的。,150,Kerberos的安全性能分析(3/3),3、Web快速增长的现状迫使管理计算机有能力每日处理大量的用户姓名和密码数据。执行多Kerberos服务的环境模型就有新的特性与变化,这种变化是由于受到密码技术或网络因素的影响,自然会降低C/S的执行效率。 Kerberos可以建立在PKI基础之上,但需要客户服务器端执行一定操作。这样在intranet的环境上,由于http cookies的建立,会有安全隐患存在。,151,Kerberos的前景分析,Kerberos的一个重要应用领域是电子商务。电子商务所能提供的必须是基于开放的分布式计算机环境的安全上的服务,它对于公平的认证信任要求是苛刻的。 Kerberos的广泛应用价值不仅体现在网络上,Kerberos同时可以在无线的地方性区域网络 (WLANs)的不同的环境上提供相异的安全需求。,152,Kerberos的前景分析,硬件的安全性能是计算机系统安全的前提,通常认为操作系统的安全建立在硬件的安全基础上并以此为发展。Kerberos的另一个应用是可以将Kerberos与智能卡、操作系统整合,这种方案可以较好的指标与实现。 Kerberos 同样适用于小型动态系统的认证,可以利用其进行轻量级的远程智能化控制,尤其是家庭舒适的遥控操作。,153,(4) 利用windos的安全技术配置kerboros认证,Kerberos认证协议定义了客户端和称为密钥分配中心KDC(Key Distribution Center)的认证服务之间的安全交互过程。 Windows 2000在每一个域控制器中应用KDC认证服务,其域同Kerberos中的realm功能类似,具体可参考RFC 1510协议 。,154,Windows 2000中采用对Kerberos协议的支持的措施,Kerberos客户端使用基于SSPI的Windows 2000安全提供者,初始Kerberos认证同WinLogon的单次登录进行了集成 Kerberos KDC也同运行在域控制器中的安全服务进行了集成,并使用活动目录作为用户和组的账号数据库。,155,利用windos的安全技术配置kerboros认证,用户和KDC都知道用户的口令,或从口令中单向产生的密钥,并定义了一套客户端、KDC和服务器之间获取和使用Kerberos票据的交换协议。 当用户初始化Windows登录时,Kerberos SSP利用基于用户口令的加密散列获取一个初始Kerberos- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 概论 认证 技术 ppt 课件
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文