1、主讲人:计算机与信息科学学院 楼英浩,第8章 鉴别与认证,8.1 鉴别与认证问题的提出,因特网上,数据信息的安全性体现在四个方面 保密性 真实性 完整性 不可否认性,加密技术与防火墙技术,报文的鉴别,数字签名,8.2 鉴别函数,鉴别函数用于产生可以鉴别一个报文的值的鉴别符,有三类 报文加密 报文鉴别码 单向Hash函数,8.2.1 报文加密,常规的对称密钥系统提供的加密和一定程度的鉴别功能在数据安全性方面的体现。 非对称密钥加密,系统用于鉴别的两种情况。 第一种情况:A使用自己的私钥加密报文,而B收到报文后,用A的公钥解密。 第二种情况:A首先用自己的私钥加密报文以提供鉴别,然后再用B的公钥加
2、密来提供保密性。,8.2.2 报文鉴别码与单向Hash函数,报文鉴别码(MAC):用于确定来自A的报文是否被修改。 用单向Hash函数 使用MAC的过程只提供了鉴别,保密性需要在使用MAC算法之前或之后另外采用加密算法来实现。,8.2.3 散列函数,单向Hash函数报文鉴别码的一个变种,它不需要双方共享密钥,只要有相同的算法即可。,散列函数,不定长报文,定长散列码,散列函数的性质 能用于任何长度的数据分组 能产生定长的分组 对任何给定的分组,散列值容易计算 单向性 防止弱抗冲突 防止强抗冲突,MD5简介,1991年发表,曾是使用最为广泛的安全散列算法。 密文的定长长度为128比特,亦称为“数字
3、指纹” MD5算法不做要求,SHA-1简介,安全散列算法(SHA) 1992年公布 是MD4的一种变形 密文定长长度为160比特,MD5与SHA-1的比较,8.3 数字签名,通信双方同样存在信任问题。数字签名产生的原因 签名的特点:1、2、3、4、5 数字签名所存在的问题: 易于伪造 被签名文档易于修改 数字签名的性质: 唯一性 签名之前必须能鉴别报文的内容 第三方的认证,采用非对称密钥技术实现数字签名 数字签名可以按照下列方式进行分类 按照数学难题来分 基于离散对数问题 基于素因子分解问题 按照签名用户分 单个用户签名和多个用户签名 按数字签名的特性分 消息自动恢复特性 按数字签名的实现分
4、直接的和需仲裁的,8.3.1 直接数字签名,签名只涉及通信的双方 发送方用自己的私钥加密整个报文 执行签名之后,再次执行外部加密函数 存在的隐患,8.3.2 需仲裁的数字签名,需要第三方仲裁者以保证签名的不可否认性。,1、 对称加密技术实现需仲裁的数字签名,方案一:A与T共享密钥Kat,B与T共享密钥Kbt 特点: T提供一个报文的中转 T能看到报文的内容 发生争执的时候,由T来解决报文的认证问题,方案二:同样采用方案一的传递方式,但是传递的是经过A加密过后的密文和A的ID还有签名。 两种方案的前提是总裁一定是安全和可靠的。,2、非对称密钥技术实现需仲裁的数字签名,通信前,各方没有共享任何信息
5、,从而防止发生联合欺骗。,8.4 数字签名算法,主要介绍两种使用非对称密钥技术的数字签名算法: 基于素因子分解难度的RSA 基于离散对数难度的DSA,8.4.1 RSA签名算法,最流行的一种加密标准 RSA签名算法的工作原理为: 被发送文件用散列函数产生报文摘要 发送方用自己的私钥对摘要再加密,形成数字签名 将原文和数字签名同时传给对方 对方用发送方的公钥对签名解密,恢复出报文摘要,并对收到的文件用同一散列函数计算出摘要 接收方将解密的摘要和重新计算的摘要相互对比。如两者一致,则说明信息安全。,RSA的缺点主要有: 产生密钥的算法复杂 受素数产生技术的限制,难以做到一次一密 分组太长,运算代价
6、高 速度慢 不利于数据格式的标准化,8.4.2 DSS/DSA算法,只能用于提供数字签名,不能用来加密数据或进行密钥交换 基于整数有限域离散对数难题 特点是两个素数公开,8.5 专用数字签名方案,常规的数字签名方案的特点 签名者知道所签署的报文的内容 任何人只要知道签名者的公开密钥,就可以在任何时间验证签名的真实性,不需要签名者“同意” 具有基于某种单向函数运算的安全性,8.5.1 带有时间戳的签名方案,将不可篡改的时间信息纳入数字签名方案 在计算机中要改变时间标记是一件轻易而举的事情 带有时间 戳的签名方案应该带有下列三条性质: 数据本身必须有时间标记,而不用考虑它所用的物理媒介 不存在改变
7、文件的一个比特而文件没有明显的变化 不可能用不同于当前日期和时间的日期和时间来标记文件,由第三方仲裁T来产生和提供可靠的时间标记服务。 为了避免A与T合谋产生任意的时间戳,可以加上时间戳的先后链接,以便查询。,8.5.2 盲签名方案,盲签名方案的意思:A有报文m需要B签署,但不能让B知道关于报文m的任何一点信息。 盲签名方案的工作过程 盲签名方案的应用,8.5.3 代理签名,不泄露私钥的情况之下请人代理签名 代理的特性 可区分 不可伪造 可检测的有效性 可验证性 可识别性 不可否认性,8.5.4 团体签名,小组中的任何成员都可以签署文件 使用仲裁者生成的团体签名方案 (1)(2)(3)(4)(
8、5),8.5.5 不可否认签名方案,在签名和验证之外添加“抵赖协议”,仅在得到签名者的许可号后才能进行验证。 控制谁可以验证签名是保护个人私隐的一种方法。最好的解决方案是数字签名能够被证明是有效的,但没有签名者的同意,接受者不能把它给第三方看。,不可否认签名的基本思想是: A向B出示一个签名 B产生一个随机数并送给A A利用随机数和其私钥进行计算,将计算结果送给B。A能计算该签名是否是自己的有效签名。 B确认这个结果,8.5.6 指定的确认者签名,由某个指定的人员自行验证签名的真实性,其他任何人除非得到该指定人员或签名者的帮助,不能验证签名。 是标准数字签名和不可抵赖签名的折衷。 公证人形式,公开密钥,版权事务所,政府机构代理等等。,