第05章消息认证与数字签名_第1页
第05章消息认证与数字签名_第2页
第05章消息认证与数字签名_第3页
第05章消息认证与数字签名_第4页
第05章消息认证与数字签名_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

主要内容数字信封数字指纹数字证书数字签名数字水印密码管理第五章

消息认证与数字签名

1一、密码学通常的作用公钥密码(双钥密码、非对称密码),是1976年由Diffie和Hellman在其“密码学新方向”一文中提出的单向陷门函数是满足下列条件的函数f:(1)给定x,计算y=f(x)是容易的;(2)给定y,计算x使y=f(x)是非常困难的,无实际意义。(3)存在δ,已知δ时,对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的。注:1*.仅满足(1)、(2)两条的称为单向函数;第(3)条称为陷门性,δ称为陷门信息。第五章

消息认证与数字签名2一、密码学通常的作用

2*.当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密钥。此时加密密钥便称为公开密钥,记为Pk。f函数的设计者将δ保密,用作解密密钥,此时δ称为秘密钥匙,记为Sk。由于加密函数是公开的,任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1(y)。3*.单向陷门函数的第(2)条性质表明窃听者由截获的密文y=f(x)推测x是不可行的。第五章

消息认证与数字签名3Diffie-Hellman密钥交换算法

Diffie和Hellman并没有给出公钥密码实例,也既没能找出一个真正带陷门的单向函数。然而,他们给出单向函数的实例,并且基于此提出D-H密钥交换算法。这个算法是基于有限域中计算离散对数的困难性问题之上的:对任意正整数x,计算gx是容易的;但是已知g和y求x使y=gx,是计算上几乎不可能的。这称为有限域上的离散对数问题。公钥密码学中使用最广泛的有限域为素域FP。D-H密钥交换算法拥有美国和加拿大的专利。第五章

消息认证与数字签名4D-H密钥交换协议:A和B协商一个大素数p和大整数g,1<g<p,g最好是FP中的本原元,即gx

modp可生成1~p-1中的各整数,例:2是11的本原元。p和g公开。当A和B按如下步骤进行保密通信:(1)A取大的随机数x,并计算X=gx

(modP)(2)B选取大的随机数y,并计算Y=gy

(modP)(3)A将X传送给B;B将Y传送给A。(4)A计算K=YX(modP);B计算K=Xy

(modP),易见,K=K=gxy

(modP)。A和B已获得了相同的秘密值K。双方以K作为加解密钥以传统对称密钥算法进行保密通信。第五章

消息认证与数字签名5公开密钥算法的主要特点如下:1)用加密密钥PK对明文A加密后得到密文,再用解密密钥SK对密文解密,即可恢复出明文A。DSK(EPK(A))=A2)加密密钥不能用来解密,即:DPK(EPK(A))≠A;DSK(ESK(A))≠A3)用SK加密的信息只能用PK解密;用PK加密的信息只能用SK解密。4)从已知的PK不可能推导出SK。

5)加密和解密的运算可对调:EPK(DSK(A))=A

第五章

消息认证与数字签名6一、密码学通常的作用维持机密性加密,让别人看不懂传输中的公共信道和存储的计算机系统非常脆弱,系统容易受到被动攻击(截取、偷窃、拷贝信息),主动攻击(删除、更改、插入等操作)。用于鉴别 由于网上的通信双方互不见面,必须在相互通信时(交换敏感信息时)确认对方的真实身份。即消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。第五章

消息认证与数字签名7一、密码学通常的作用保证完整性消息的接收者能够验证在传送过程中消息是否被篡改;入侵者不可能用假消息代替合法消息。用于抗抵赖 在网上开展业务的各方在进行数据传输时,必须带有自身特有的、无法被别人复制的信息,以保证发生纠纷时有所对证。发送者事后不可能否认他发送的消息。第五章

消息认证与数字签名8数字信封数字信封(DIGITALENVELOPE):对数据进行加密的密钥必须经常更换。数字信封解决两个难题:取长补短单钥体制:密钥分发困难;高效;数据的加密公钥体制:加解密时间长;灵活;密钥的加密目的:利用数据接收者的公钥来封装保护加密数据的密钥。第五章

消息认证与数字签名9数字信封发方:

A1:生成对称密钥,用该密钥对报文加密;A2:用收方的公钥加密上述对称密钥;A3:将A1、A2步骤的结果传给收方;收方:B1:用自己的私钥解密对称密钥;B2:用得到的对称密钥解密报文。第五章

消息认证与数字签名10数字信封第五章

消息认证与数字签名11密钥管理极其重要。包括密钥的产生、分配、存储、验证和使用等。1由密钥分发中心(KDC)为用户A和B分别分发公钥PkA、PKB和私钥SkA、SKB作为用户A、B的主密钥。2当A要向B发信时,由A随机产生一个大数作为A、B之间通信的工作密钥。3A用SkA和PKB对工作密钥进行加密并传送给B。4B用SKB和PkA进行解密,得到工作密钥5A、B双方用此工作密钥进行保密通信。第五章

消息认证与数字签名12数字证书

数字证书:标志通讯各方身份的数据。数字标识数字凭证“电子身份证”数字证书是一种安全分发公钥的方式。过去采用通行字,安全性差,现在一般采用交互式询问回答,在询问和回答过程中采用密码加密。特别是采用密码技术的带CPU的智能卡,安全性好。在电子商务系统中,所有参与活动的实体都需要用数字证书来表明自己的身份。

第五章

消息认证与数字签名13密钥管理中心负责密钥的发放、注销及验证。RSA公钥体制就是采用这种方式进行密钥管理的。密钥管理中心又称为证书授权中心(CA)

。CA为每个申请公开密钥的用户发放一个证书,证明该用户拥有证书中列出的公钥。数字证书内容:持证人的个人信息(姓名、性别、地址、E-mail);持证人的公钥;证书过期时间;证书序列号CA的名称;CA的数字签名;CA的数字签名保证不能伪造和篡改该证书,因此,数字证书既能分配公钥,又实现了身份认证。第五章

消息认证与数字签名14身份认证第五章

消息认证与数字签名用户A用户B1用户A的标识符2y1=EPA(RB);y2=DSB(y1)3y3=EPB(RB)y1?EPB(y2)相等则确认BRB?

DSB

(y3)相等则确认A15身份认证首先,A将自己的身份传送给B,但B不能确定此信息是来自A还是窃密者T;B产生一很大的随机数RB,用PA加密RB得到EPA(RB)传送给A,并用SB做DSB(EPA(RB))运算,将结果传送给A。A对y1解密得到DSA(EPA(RB))=RB,由于只有A知道SA,因此只有A才可求得RB,然后A用PB将y2加密,得到EPA(RB),由于只有合法的B才拥有SB,因此可以通过将计算结果与EPA(RB)比较,A就可以确认通信对方是B;合法者A将求得的RB用PB加密传送给B,因为只有合法的A可以求得RB从而可以得到正确的EPB(RB);B只需用SB解密y3即可得到DSB(EPB(RB))=RB,将此RB与原来的RB对比就可确认对方是A。第五章

消息认证与数字签名16二、数字指纹在数字签名中有重要作用的“报文摘要”算法,即生成报文“数字指纹”的方法,近年来倍受关注,构成了现代密码学的一个重要侧面。为防止传输和存储的消息被有意或无意地篡改,采用哈希函数对消息进行运算生成消息摘要,附在消息之后发出或与信息一起存储。它在票据防伪中具有重要应用(如税务的金税系统和银行的支付密码器)。

第五章

消息认证与数字签名17二、数字指纹数字指纹是通过一类特殊的散列函数(HASH函数)生成的,对这类HASH函数的特殊要求是:1.输入报文的长度没有限制;

2.对输入任何报文,能生成固定长度的摘要(数字指纹);

3.从报文能方便地算出摘要;

4.极难从指定的摘要生成一个报文,而由该报文又反推算出该指定的摘要;

5.两个不同的报文极难生成相同的摘要。第五章

消息认证与数字签名18二、数字指纹哈希函数的安全因素:一致性:相同的输入产生相同的输出。随机性:消息摘要外观是随机的,以防被猜出源消息。唯一性:几乎不可能找到两个消息产生相同的消息摘要。单向性:即如果给出输出,则很难确定出输入消息。第五章

消息认证与数字签名19二、数字指纹基本过程是:1.发送者写一消息,并作为单向哈希函数的输入。2.消息摘要连消息一齐发送3.接受者分离消息和消息摘要,并利用消息生成消息摘要。4.比较两消息摘要,如果相同,则消息在传送期间没被更改。第五章

消息认证与数字签名20二、数字指纹可以使用公开密钥技术对消息摘要加密,防止同时更改消息和消息摘要。消息摘要算法中两种流行的方式是:MD2和MD5。一个消息摘要是一个加密校验和,不像CRC是一个算术校验和。常用的哈希函数有:消息摘要4(MD4)算法消息摘要5(MD5)算法安全哈希函数(SHA)第五章

消息认证与数字签名21三、MD5算法MD5报文摘要算法RFC1321由Rivest于1992年提出。可对任意长的报文进行运算,得出128位的MD代码。MD5算法是对杂凑压缩信息块按512位进行处理的,首先它对杂凑信息进行填充,使信息的长度等于512的倍数。从八十年代末到九十年代,Rivest开发了好几种RSA公司专有的报文摘要算法,包括MD、MD2、MD5等。据称,可以花费一千万美元去制造一台专门的机器,针对MD5搜索两个不同的报文具有相同的摘要,即"碰撞"现象,平均用24天才能找到一个碰撞。,MD5被认为仍是一个安全的。

第五章

消息认证与数字签名22四、数字签名鉴别文件或书信真伪的传统做法亲笔签名或盖章。签名起到认证,核准,生效的作用。电子商务、政务要求对电子文档进行辨认和验证,因而产生数字签名。数字签名的作用:保证信息完整性;提供信息发送者的身份认证。与传统签名的区别:需要将签名与消息绑定在一起。通常任何人都可验证。要考虑防止签名的复制、重用。第五章

消息认证与数字签名23四、数字签名数字签名(DigitalSignature)信息发送者使用公开密钥算法技术,产生别人无法伪造的一段数字串。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁,同时也是对发送者发送的信息的真实性的一个证明。发送者对所发信息不能抵赖。

第五章

消息认证与数字签名24四、数字签名数字签名的过程:假设A要发送一个电子文件给B。

1.系统初始化:选择签名所需的算法、参数2.产生签名:A用其私钥加密文件并发送给B;3.签名验证:B用A的公钥解开A送来的文件

签名体制的构成:签名算法;验证算法第五章

消息认证与数字签名25四、数字签名数字签名必须保证:可验证:签字是可以被确认的防抵赖:发送者事后不承认发送报文并签名;防假冒:攻击者冒充发送者向收方发送文件;防篡改:收方对收到的文件进行篡改;防伪造:收方伪造对报文的签名。签名对安全、防伪、速度要求比加密更高。

第五章

消息认证与数字签名26消息认证与数字签名的区别:前者能验证消息来源及完整性,防范第三者;后者在收发双方产生利害冲突时,解决纠纷。数字签名需要解决的一些问题1.签字后的文件可能被B重复使用。如果签字后的文件是一张支票,B很容易多次用该电子支票兑换现金,为此A需要在文件中加上一些该支票的特有的凭证,如timestamp等,以防止上述情况发生。

第五章

消息认证与数字签名27四、数字签名2.公钥算法效率很低,不易用于长文件的加密。一般采用Hash函数,将原文件单向映射为H=Hash(P),H只有几百bit,并且由P可以很快生成H,但由于H几乎不可能生成P。

将公钥算法作用在H上生成“签名”S,记为Ek1(H)=S,k1为A的私钥,A将(P,S)传给B,B收到(P,S)后,要验证S是A的签字。若Dk2(S)=Hash(P),则S就是A的签字。第五章

消息认证与数字签名28四、数字签名第五章

消息认证与数字签名29四、数字签名第五章

消息认证与数字签名1)发方A用单向散列函数对信息生成摘要。2)A用自己的私钥签名信息摘要。3)A把信息本身和已签名的信息摘要一起发送出去。4)收方B通过使用同一个单向散列函数对接收的信息生成新摘要,再用A的公钥对数字签名解密,并与新生成的信息摘要比较,以确认发方的身份和信息是否被修改过。30第五章

消息认证与数字签名加密和数字签名相结合。设SKA和SKB分别为A和B的秘密密钥,而PKA和PKB分别为A和B的公开密钥。A用SKA对报文M进行解密运算,得到DSKA(M),再用B的公钥PKB加密得到EPKB(DSKA(M)),然后传送给B;B用私钥SKB解密得到DSKA(M),再用A的公钥PKA加密恢复出明文EPKA(DSKA(M))=M。除A外没有别人能产生密文DSKA(M),这样,报文M就被签名了。若A要抵赖曾发送报文给B,B可将M及DSKA(M)出示给公证机关,公证机关很容易用PKA去证实A确实发送消息M给B。反之,如果B将M伪造成M′,则B不能在第三者面前出示DSKA(M′),这样就证明B伪造了报文。

31第五章

消息认证与数字签名可仲裁的数字签名直接数字签名的缺陷:签名者声称私钥被盗,签名是他人假冒。为此引入第三方作仲裁者。签名过程:发方X收方Y仲裁A消息MXA:M||EkXA[IDx||H(M)]AY:EkAY[IDx||M||EkXA[IDx||H(M)]||T]说明:E:单钥加密,kXA,kAY分别为X和A、A和Y的共享密钥。T:时戳(不是旧消息的重放)Idx:x的身份H(M):M的杂凑值32第五章

消息认证与数字签名可仲裁数字签名Y对收到的内容保存,以备争议时使用。前提:双方都信任仲裁者由于Y不知kXA,不能直接验证X的签名,而是依靠仲裁者。因此,仲裁者必须做到:X相信A不会泄漏kXA,不会伪造X的签名;Y相信A确实收到X的签名并验证无误后发送;X和Y都相信A可以公正地解决争议。33上述方法缺陷:若A不公正,与X共谋否认签名,或与Y串通伪造签名。新签名方案:XA:IDx||EskX[IDx||Epky[Eskx(M)]]AY:(A先用X的公钥解密得IDx||Epky[Eskx(M)])

EskA[IDx||Epky[EskX(M)]||T]说明:skX和skA为X、A的私钥,pky为Y的公钥。优点:无共享密钥,防共谋;

X发给Y的信息对第三方保密(包括A);

只要A的私钥不泄漏,则消息不能重放。第五章

消息认证与数字签名34四、数字签名第五章

消息认证与数字签名不可否认的数字签名没有签名者的合作,接收者无法验证签名,在某种程度上保护了签名者的利益。如果签名者不希望接收者未经他许可就向别人出示签名并证明其真实性,则可用此方法。例如:软件开发商利用此法保护其软件,只对购买产品的客户验证签名,并对产品负责。35四、数字签名第五章

消息认证与数字签名群数字签名允许群中各成员以群的名义匿名地签发消息。只有群的成员能代表这个群签名;签名接收者能验证它是这个群的合法签名,但不知具体是哪个成员;在发生争端时,借助群成员或可信机构能识别出那个签名者。用途:投标36四、数字签名第五章

消息认证与数字签名盲数字签名消息M的拥有者A,想让B对M签名,但又不希望B知道M的内容,而只是让B以证人身份证实在某一时刻存在文件M。签名步骤:A将M乘以一个随机数(盲因子)得M’并发送给B;B在M’上签名得SIG(M’),并发送给A;A通过去除盲因子,由SIG(M’)得到SIG(M)。37四、数字签名第五章

消息认证与数字签名盲数字签名直观的说明:所谓盲签名,就是将要隐藏的文件放进信封里,而除去盲因子就是打开信封。当文件在信封时,任何人都不能读它。对文件的签名就是通过在信封里放一张复写纸,当签名者在信封上签名时,他的签名便透过复写纸签到了文件上。38四、数字签名第五章

消息认证与数

温馨提示

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

评论

0/150

提交评论