数字签名与认证.ppt

上传人:小飞机 文档编号:6364785 上传时间:2023-10-21 格式:PPT 页数:54 大小:841KB
返回 下载 相关 举报
数字签名与认证.ppt_第1页
第1页 / 共54页
数字签名与认证.ppt_第2页
第2页 / 共54页
数字签名与认证.ppt_第3页
第3页 / 共54页
数字签名与认证.ppt_第4页
第4页 / 共54页
数字签名与认证.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《数字签名与认证.ppt》由会员分享,可在线阅读,更多相关《数字签名与认证.ppt(54页珍藏版)》请在三一办公上搜索。

1、第三章 数字签名与认证,Outline,数字签名概述单向散列函数认证技术,1、数字签名概述,在网络通信和电子商务中很容易发生如下问题:1)否认,发送信息的一方不承认自己发送过某一信息。2)伪造,接收方伪造一份文件,并声称它来自某发送方的。3)冒充,网络上的某个用户冒充另一个用户接收或发送信息。4)篡改,信息在网络传输过程中已被篡改,或接收方对收到的信息进行篡改。,第三章 数字签名与认证,1、数字签名概述,用数字签名(Digital Signature)可以有效地解决这些问题。数字签名就是主要用于对数字信息进行的签名,以防止信息被伪造或篡改等。,第三章 数字签名与认证,1、数字签名概述,1)签名

2、:手写签名是被签文件的物理组成部分,而数字签名不是被签消息的物理部分,因而需要将签名连接到被签消息上。,2)验证:手写签名是通过将它与其它真实的签名进行比较来验证而数字签名是利用已经公开的验证算法来验证。,数字签名与传统的手写签名有如下不同:,数字消息的复制品与其本身是一样的,而手写签名纸质文件的复制品与原品是不同的。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,公开密钥体制可以用来设计数字签名方案。设用户Alice发送一个签了名的明文M给用户Bob的数字签名一般过程如下:1)Alice用信息摘要函数Hash从M抽取信息摘要M;2)Alice用自己的私人密钥对M加密,得到签名文

3、本S,即Alice在M上签了名;3)Alice用Bob的公开密钥对S加密得到S;4)Alice将S和M发送给Bob;5)Bob收到S和M后,用自己的私人密钥对S解密,还原出S;6)Bob用Alice的公开密钥对S解密,还原出信息摘要M;,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,7)Bob用相同信息摘要函数从M抽取信息摘要M”;8)Bob比较M与M”,当M与M”相同时,可以断定Alice在M上签名。由于Bob使用Alice的公开密钥才能解密M,可以肯定Alice使用了自己的私人密钥对M进行了加密,所以Bob确信收到的M是Alice发送的,并且M是发送给Bob的。有关hash函

4、数的作用将在下一节介绍。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,目前已经提出了许多数字签名体制,但可以分成两类:直接数字签名和需仲裁的数字签名,a)直接数字签名,直接数字签名仅涉及通信方,它假定收方知道发方的公开密钥数字签名,通过使用发方的私有密钥对整个消息进行加密或使用发方的私有密钥对消息的散列码进行加密来产生。,至今所有的直接数字签名体制都有一个共同的弱点,方案的有效性依赖于发方私有密钥的安全性。如果发方随后想否认发送过某个签名消息,发方可以声称签名的私钥丢失或被盗用并伪造了他的签名。,第三章 数字签名与认证,1、数字签名概述,1)数字签名原理,b)需仲裁的数字签名,

5、发方A对发给收方B 的消息签名后将附有签名的消息发给仲裁者C;,C对其验证后连同一个通过验证的证明发送给收方B。,在这个方案中A无法对自己发出的消息予以否认,但仲裁者必须是得到所有用户信任的负责任者。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,美国国家标准技术研究所(NIST)于1991年颁布了数字签名标准(DSS:Digital Signature Standard),该标准使用的签名算法简称为DSA(Digital Signature Algorithm)。,第三章 数字签名与认证,2)DSS数字签名机制,消息M,Hash,连接,签名,M,s,r,Hash,验证,公

6、用参数,私钥,随机数k,公用参数,发送方公钥,比较,真假,发送签名方,验证签名方,DSS数字签名体制,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,算法描述:DSA算法作为ElGamal和Schnorr签名算法的变形,显然其安全性也是基于求离散对数的困难上。,构造参数:1)全局参数p:是一个大的素数,2L-112)用户私钥x:选取一个随机数,要求0 xq3)用户公钥y:可以通过计算求得y,y=gx mod p,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,签名过程:1)生成随机数k,0kq;2)计算r:r=(gk mod p)mod q;3)算s:s=(

7、k-1(H(M)+xr)mod q,到此,消息M的签字结果就是(r,s)。4)发送消息和签名结果(M,r,s)。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,签名过程:,f2,消息M,Hash,f1,随机数k,r,s,q,x,q,g,p,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,认证过程:接收者在收到(M,r,s)之后,如下步骤:1)取得发送者的公钥y;2)计算w:w=s-1mod q;3)计算u1:u1=(H(M)w)mod q;4)计算u2:u2=(rw)mod q;5)计算v:v=(gu1yu2)mod p)mod q;6)比较r、v,如果r

8、=v,表示签名有效,否则签名非法。,第三章 数字签名与认证,1、数字签名概述,2)DSS数字签名机制,认证过程:,M,s,r,Hash,f4,f3,比较,q,w,g,q,y,v,真假,第三章 数字签名与认证,Outline,数字签名概述单向散列函数认证技术,2、单向散列函数,H(M):输入为任意长度的消息M;输出为一个固定长度的散列值,称为消息摘要(Message Digest)H(M)是消息M的所有位的函数并提供错误检测能力:消息中的任何一位或多位的变化都将导致该散列值的变化H(M)又称为:哈希函数、数字指纹(Digital finger print)、压缩(Compression)函数、数

9、据鉴别码(Data authentication code)等,第三章 数字签名与认证,2、单向散列函数,H能用于任意大小的分组H能产生定长的输出对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能对任何给定的码h,寻找x使得H(x)=h在计算上是不可行的,即单向性对任何给定的分组x,寻找不等于x的y,使得H(x)=H(y)在计算上是不可行的,即弱抗冲突性寻找任何的(x,y)使得H(x)=H(y)在计算上是不可行的,即强抗冲突性,函数设计要求,第三章 数字签名与认证,2、单向散列函数,用Hash函数进行报文鉴别的实例,如果Alice发送了信息给Bob,Bob收到信息后需要证实

10、:1Bob收到的明文是否肯定由Alice发送的。2Bob收到的明文是否被篡改。,第三章 数字签名与认证,2、单向散列函数,鉴别过程,1Alice用单向散列函数h 从明文M中抽取信息文摘X,并利用RSA算法和Alice的私人密钥sk对X加密,得到密文E(X)。2Alice将M、E(X)发送给Bob 3Bob收到M、E(X)后,用Alice的公开密钥pk对E(X)解密,即:D(E(X)X,还原出X 4Bob用相同的单向散列函数h从收到的明文M中抽取信息文摘X1 5Bob比较X1和X,如果X1=X时,则证实:M是Alice发送的,并且明文在传输过程中没有被篡改;否则,证实:M不是Alice发送的,或

11、者明文在传输过程中已经被篡改。,第三章 数字签名与认证,2、单向散列函数,MD5算法,Merkle于1989年提出hash function模型Ron Rivest于1990年提出MD41992年,Ron Rivest 完成MD5(RFC 1321)在最近数年之前,MD5是最主要的hash算法现行美国标准SHA-1以MD5的前身MD4为基础输入:任意长度的消息输出:128位消息摘要处理:以512位输入数据块为单位,第三章 数字签名与认证,2、单向散列函数,1数据填充与分组(1)将输入信息M按顺序每512位长度为一组进行分组,即:M=M1,M2,Mn-1,Mn(2)将信息M的Mn长度填充为448

12、位,即填充后的信息M的长度恰好是一个比512的倍数小64位的数。(3)将填充前信息M的长度L转化为64位二进制数(最后64位)。(4)将该64位二进制数增加到填充后的信息M的Mn的后面,使最后的信息M的长度位512的整数倍。,第三章 数字签名与认证,MD5的算法步骤,2、单向散列函数,2初始化散列值 在MD5算法中要用到4个变量,分别为A、B、C、D,均为32位长。初始化值为:A=0 x01234567 B=0 x89abcdef C=0 xfedcba98 D=0 x76543210 在MD5算法过程中,这四个32位变量被称为链接变量(chaining variable),它们始终参与运算并

13、形成最终的散列值。,第三章 数字签名与认证,MD5的算法步骤,2、单向散列函数,3计算散列值(1)将填充后的信息按每512位分为一块(Block),每块按32位为一组划分成16个分组,即 Mi=Mi0,Mi2,Mi15,i=1 n。(2)分别对每一块信息进行4轮计算(即主循环),每轮计算基本相同。每一轮定义一个非线性函数,它们分别是:F(X,Y,Z)=(X&Y)|(X)&Z)G(X,Y,Z)=(X&Z)|(Z&(Z)H(X,Y,Z)=X Y Z I(X,Y,Z)=Y(X|(Z)其中:函数中的X、Y、Z均为32位二进制数。,第三章 数字签名与认证,MD5的算法步骤,2、单向散列函数,3计算散列值

14、(3)将A、B、C、D这四个变量分别复制到变量a、b、c、d中。(4)每一轮又进行16次操作,每次操作对a、b、c、d中的三个变量作一次非线性函数运算,然后将所得的结果与第四个变量、信息的一个分组Mj和一个常数ti相加。再将所得的结果循环左移一个不定数s,并加上a、b、c、d中的一个变量。一个具体运算函数可表示如下:,第三章 数字签名与认证,MD5的算法步骤,FF(a,b,c,d,Mj,s,ti)表示 a=b+(a+F(b,c,d)+Mj+ti)s),2、单向散列函数,3计算散列值 这样就得到4轮共64步操作 第一轮 FF(a,b,c,d,M0,7,0 xD76AA478)FF(d,a,b,c

15、,M1,12,0 xE8C7B756),第三章 数字签名与认证,MD5的算法步骤,2、单向散列函数,第三章 数字签名与认证,MD5主循环,2、单向散列函数,MD5的安全性,国内山东大学王小云副教授破解了MD5;Dobbertin的攻击技术:使MD5的压缩函数产生冲突,即寻找 MD5被认为是易受攻击的,逐渐被SHA-1和RIPEMD-160替代,第三章 数字签名与认证,Outline,数字签名概述单向散列函数认证技术,3、认证技术,认证的定义,认证:(Authentication)在计算机安全性中,对用户身份或用户访问对象的资格的验证。它不同于授权,授权是指根据用户身份提供相应的操作权限。,Au

16、thentication merely ensures that the individual is who he or she claims to be,but says nothing about the access rights of the individual.,第三章 数字签名与认证,3、认证技术,为什么需要安全认证?,互联网困境,用户身份的不可预知性、资源赋予使用者的权限约束性决定了在计算机安全领域中要实现认证。,第三章 数字签名与认证,3、认证技术,如何实现安全认证?,基本方法和工具是密码学原理:特别是对称密码体制和公钥密码体制在有关数字签名、信息完整性、抗否认性等方面的应用

17、。,第三章 数字签名与认证,3、认证技术,基本的身份认证方法,主体特征认证视网膜扫描、声音验证、指纹识别器。口令机制口令是约定的代码,假设只有用户和系统知道。智能卡访问不但需要口令,也需要使用物理智能卡。一次性口令用户每次使用不同的口令,需要口令发生器设备。PAP 协议(Password Authentication Protocol)用于 PPP(点对点)协议的身份认证协议,明文口令传输。CHAP 协议(Challenge Handshake Authentication Protocol)不在网络上传送口令信息,比 PAP 具有更强的安全性。,第三章 数字签名与认证,3、认证技术,指纹识别

18、,第三章 数字签名与认证,3、认证技术,虹膜识别,第三章 数字签名与认证,3、认证技术,1)Kerberos身份验证,Kerberos是一种网络身份验证协议,Kerberos要解决的问题是:在一个开放的分布式网络环境中,如果工作站上的用户希望访问分布在网络中服务器上的服务和数据时,我们希望服务器能对服务请求进行鉴别,并限制非授权用户的访问。,第三章 数字签名与认证,3、认证技术,1)Kerberos身份验证,第三章 数字签名与认证,整个Kerberos系统由认证服务器AS、票据许可服务器TGS、客户机和应用服务器四部分组成。,3、认证技术,1)Kerberos身份验证,第三章 数字签名与认证,

19、基本思路:使用一个(或一组)独立的认证服务器(AS Authentication Server),来为网络中的客户提供身份认证服务;认证服务器(AS),用户口令由 AS 保存在数据库中;AS 与每个服务器共享一个惟一保密密钥(已被安全分发)。,1)Kerberos身份验证,第三章 数字签名与认证,两种票据票据许可票据(Ticket granting ticket)客户访问 TGS 服务器需要提供的票据,目的是为了申请某一个应用服务器的“服务许可票据”;票据许可票据由 AS 发放;用 Tickettgs 表示访问 TGS 服务器的票据;Tickettgs 在用户登录时向 AS 申请一次,可多次重

20、复使用;服务许可票据(Service granting ticket)是客户访问服务业务时需要提供的票据;用 TicketV 表示访问应用服务器 V 的票据。,3、认证技术,1)Kerberos身份验证,第三章 数字签名与认证,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,PKI就是通过使用公开密钥技术和数字证书来提供网络信息安全服务的基础设施,是在统一的安全认证标准和规范基础上提供在线身份认证、证书认证CA(Certificate Authority)、数字证书、数字签名等服务。,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,a)数字证书,数字证书(D

21、igital Certificate)是由权威机构CA发行的一种权威性的电子文档,是网络环境中的一种身份证,用于证明某一用户的身份以及其公开密钥的合法性。数字证书原理是基于公开密钥体制。,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,a)数字证书,证书与出租车司机的执照类似,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,a)数字证书,从最终使用者来看,数字证书可分为系统证书和用户证书。1)系统证书 2)用户证书 从证书的用途来看,数字证书可分为签名证书和加密证书。1)签名证书 2)加密证书,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证

22、,a)X.509证书,版本1、2、3 序列号 在CA内部唯一 签名算法标识符 指该证书中的签名算法 签发人名字 CA的名字 有效时间 起始和终止时间 个体名字,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,b)PKI基本组成,认证机构CA 数字证书库 密钥备份及恢复系统 证书作废处理系统 密钥和证书的更新 证书历史档案 PKI应用接口系统,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,b)PKI基本组成,PKI构件与证书生命周期,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,c)认证过程,发送方A,接收方B,出示证书,用CA公钥验证身份,私钥加密一段随机数,使用用户公钥解密验证,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,d)交叉认证的3种模式,树状模式,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,d)交叉认证的3种模式,网状模式,3、认证技术,2)公开密钥基础设施PKI,第三章 数字签名与认证,d)交叉认证的3种模式,混合模式,Thanks you!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号