数字签名与身份认证(与“报文”有关的文档共57张)_第1页
数字签名与身份认证(与“报文”有关的文档共57张)_第2页
数字签名与身份认证(与“报文”有关的文档共57张)_第3页
数字签名与身份认证(与“报文”有关的文档共57张)_第4页
数字签名与身份认证(与“报文”有关的文档共57张)_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

数字签名与身份认证第一页,共57页。3.1报文鉴别信息网络平安的威胁来自两个方面:一方面是被动攻击,对手通过侦听和截取等手段获取数据;另一方面是主动攻击,对手通过伪造、重放、篡改、乱序等手段改变数据。报文鉴别的方式主要有:1〕报文加密函数。加密整个报文,以报文的密文作为鉴别。2〕报文鉴别码。依赖公开的函数对报文处理,生成定长的鉴别标签。3〕散列函数。将任意长度的报文变换为定长的报文摘要,并加以鉴别。第二页,共57页。3.1.1报文鉴别概述鉴别是验证通信对象是原定的发送者而不是冒名顶替者的技术。既,通信的接收方能够鉴别验证所收到的报文的真伪。1、报文源的鉴别接收方使用约定的密钥〔由发方决定〕对收到的密文进行解密,并且检验复原的明文是否正确,根据检验结果就可以验证对方的身份。2、报文宿的鉴别只要将报文源的鉴别方法稍作修改,便可使报文的收方〔报文宿〕能够认证自己是否是指定的收方。既在将接收方的某种标识〔如标识符、通行字等〕,参加到报文中。第三页,共57页。3、报文时间性的鉴别报文的时间性即指报文的顺序性。报文时间性的鉴别是指收方在收到一份报文后,需要确认是否保持正确的顺序,有无断漏和重复。4、报文内容的鉴别对报文内容进行鉴别是十分重要的。报文内容的鉴别使收方能够确认报文内容是否真实。第四页,共57页。在1992年[RFC1321]公布了MD报文摘要算法的细节。这是Rivest(即RSA中的第一个人“R〞)提出的第5个版本的MD。此算法可对任意长的报文进行运算,然后得出128bit的MD代码。

第五页,共57页。3.2散列函数散列函数〔Hash〕又称哈希函数,是把任意长度的报文〔消息〕M通过函数H变换为一个固定长度的散列码h,散列函数表示为h=H〔M〕,它生成报文所独有的“指纹〞。散列函数是一种算法,算法输出的内容称为散列码〔值〕或称报文摘要〔也称数字摘要〕。报文摘要就像该报文的数字指纹,唯一地对应原始报文,如果原始报文改变并且再次通过散列函数,它将生成不同的报文摘要,因此,散列函数能用来检测报文的完整性,保证报文从建立开始到收到始终第六页,共57页。没有被改变和破坏。运行相同算法的接收者应该收到相同的报文摘要,否那么报文是不可信的。散列函数是公开的,一般不涉及保密密钥。少量的密钥的散列函数可以作为计算报文的认证码等其他用途,因其有密钥而具有一定的身份鉴别功能。3.2.1单向散列函数对于单列函数h=H〔M〕,函数H是单向函数,即为单向散列函数。单向函数:设函数y=f(x)

如果不存在这样一个函数F(y)=F(f(x))=x

那么f就是一个单项函数第七页,共57页。单向函数是进行数据加密/编码的一种算法

单向函数一般用于产生消息摘要,密钥加密等,常见的有:

MD5〔MessageDigestAlgorithm5〕:是RSA数据平安公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值;

SHA〔SecureHashAlgorithm〕这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值;

MAC〔MessageAuthenticationCode〕:消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC〔用于消息认证的密钥散列法〕就是这种函数的一个例子。

第八页,共57页。CRC〔CyclicRedundancyCheck〕:循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输过失检测的一种很好的手段〔CRC并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类〕。单向散列函数性质:1〕广泛适用性。函数H适用于任何大小的数据分组。2〕码长固定性。函数H产生定长输出,一个短报文的散列与百科全书报文的散列将产生相同长度的散列码。3〕易计算性。对于任何数据M,计算H〔M〕是容易的。4〕单向不可逆性。无法根据散列码倒推报文,这就是单向函数的性质。第九页,共57页。5〕弱单向性。对于任意给定的数据X,要计算出另一个数据Y,使H〔X〕=H〔Y〕,这在计算上是不可行的。6〕强单向性。要寻找任何一对数据(X,Y),使得H(X)=H(Y),这在计算上是不可行的。第十页,共57页。3.3数字签名体制数字签名是通信双方在网上交换信息用公钥密码防止伪造和欺骗的一种身份认证。数字签名(或称电子加密)是公开密钥加密技术的一种应用。其使用方式是:报文的发送方从报文文本中生成一个128位的散列值〔即哈希函数,根据报文文本而产生的固定长度的单向哈希值。有时这个单向值也叫做报文摘要,与报文的数字指纹或标准校验相似〕。发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收第十一页,共57页。到的原始报文中计算出128位的散列值〔或报文摘要〕,接着再用发送方的公用密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别。第十二页,共57页。数字签名机制提供了一种鉴别方法,通常用于银行、电子贸易方面等,以解决如下问题:〔1〕伪造:接收者伪造一份文件,声称是对方发送的;〔2〕抵赖:发送者或接收者事后不成认自己发送或接收过文件;〔3〕冒充:网上的某个用户冒充另一个用户发送或接收文件;〔4〕篡改:接收者对收到的文件进行局部的篡改。数字签名不同于手写签名。数字签名随文本的变化而变化,手写签名反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签名是附加在文本之后的,与文本信息是别离的。第十三页,共57页。数字签名技术应满足的要求消息认证的作用是保护通信双方以防第三方的攻击,但是却不能保护通信双方的一方以防另一方的欺骗或伪造。通信双方之间也可能有多种形式的欺骗,有可能发生以下欺骗:第十四页,共57页。〔1〕B伪造一个消息并使用与A共享的密钥产生该消息的认证码,然后声称该消息来自于A。〔2〕由于B有可能伪造A发来的消息,因此A就可以对自己发过的消息予以否认。这两种欺骗在实际的网络平安中都有可能发生,例如在电子资金传输中,收方增加收到的资金数,并声称这一数目来自发方。又如用户通过电子邮件向证券经纪人发送对某笔业务的指令,以后这笔业务赔钱了,用户就可否认曾发过相应的指令。因此在收发双方未建立起平安的信任关系且存在利害冲突的情况下,单纯的消息认证就显得不够。数字签名技术那么可有效地解决这一问题。第十五页,共57页。1.数字签名应具有的性质〔1〕能够验证签名产生者的身份,以及产生签名的日期和时间;〔2〕能用于证实被签消息的内容;〔3〕数字签名可由第三方验证,从而能够解决通信双方的争议。第十六页,共57页。2.数字签名应满足的要求〔1〕签名的产生必须使用发方独有的一些信息以防伪造和否认;〔2〕签名的产生应较为容易;〔3〕签名的识别和验证应较为容易;〔4〕对的数字签名构造一新的消息或对的消息构造一假冒的数字签名在计算上都是不可行的。目前已有多种数字签名体制,所有这些体制可归结为两类:直接方式的数字签名和具有仲裁方式的数字签名。第十七页,共57页。直接方式的数字签名技术直接方式的数字签名只有通信双方参与,并假定接收一方知道发方的公开密钥。数字签名的形成方式可以用发方的秘钥加密整个消息或加密消息的杂凑值。如果发方用收方的公开密钥〔公钥加密体制〕或收发双方共享的会话密钥〔单钥加密体制〕对整个消息及其签名进一步加密,那么对消息及其签名更加提供了保密性。而此时的外部保密方式〔即数字签名是直接对需要签名的消息生成而不是对已加密的消息生成,否那么称为内部保密方式〕,那么对解决争议十分重要,因为在第三方处理争议时,需要得到明文消息及其签名才行。但如果采用内部保密方式,那么,第三方必须在得到消息的解密密钥后才能得到明文消息。如果采用外部保密方式,那么,接收方就可将明文消息及其数字签名存储下来以备以后万一出现争议时使用。第十八页,共57页。直接方式的数字签名有一弱点,即方案的有效性取决于发方秘钥的平安性。如果发方想对自己已发出的消息予以否认,就可声称自己的秘钥已丧失或被盗,认为自己的签名是他人伪造的。对这一弱点可采取某些行政手段,在某种程度上可减弱这种威胁,例如,要求每一被签的消息都包含有一个时间戳〔日期和时间〕,并要求密钥丧失后立即向管理机构报告。这种方式的数字签名还存在发方的秘钥真的被偷的危险,例如敌方在时刻T偷得发方的秘钥,然后可伪造一消息,用偷得的秘钥为其签名并加上T以前的时刻作为时戳。第十九页,共57页。具有仲裁方式的数字签名技术上述直接方式的数字签名所具有的威胁都可通过使用仲裁者得以解决。和直接方式的数字签名一样,具有仲裁方式的数字签名也有很多实现方案,这些方案都按以下方式运行:发方X对发往收方Y的消息签名后,将消息及其签名先发给仲裁者A,A对消息及其签名验证完后,再连同一个表示已通过验证的指令一起发往收方Y。此时由于A的存在,X无法对自己发出的消息予以否认。在这种方式中,仲裁者起着重要的作用并应取得所有用户的信任。

第二十页,共57页。3.数字证书数字签名很重要的机制是数字证书(DigitalCertificate,或DigitalID),数字证书又称为数字凭证,是用电子手段来证实一个用户的身份和对网络资源访问的权限。在网上的电子交易中,如双方出示了各自的数字凭证,并用它来进行交易操作,那么双方都可不必为对方身份的真伪担忧。数字凭证可用于电子邮件、电子商务、群件、电子基金转移等各种用途。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的数字证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下,数字证书中还包括密钥的有效时间、发证机关(证书授权中心)的名称、证书的序列号等信息,证书的格式遵循ITUTX.509国际标准。第二十一页,共57页。1)X.509数字证书包含的内容(1)证书的版本信息;(2)证书的序列号,每个证书都有一个惟一的证书序列号;(3)证书所使用的签名算法;(4)证书的发行机构名称,命名规那么一般采用X.509格式;(5)证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950~2049;(6)证书所有人的名称,命名规那么一般采用X.509格式;(7)证书所有人的公开密钥;(8)证书发行者对证书的签名。第二十二页,共57页。2)数字证书的三种类型(1)个人凭证(PersonalDigitalID)它仅仅为某一个用户提供凭证,以帮助其个人在网上进行平安交易操作。个人身份的数字凭证通常是安装在客户端的浏览器内的,并通过平安的电子邮件(S/MIME)来进行交易操作。(2)企业(效劳器)凭证(ServerID)它通常为网上的某个Web效劳器提供凭证,拥有Web效劳器的企业就可以用具有凭证的Web站点(WebSite)来进行平安电子交易。有凭证的Web效劳器会自动地将其与客户端Web浏览器通信的信息加密。第二十三页,共57页。(3)软件(开发者)凭证(DeveloperID)它通常为因特网中被下载的软件提供凭证,该凭证用于微软公司的Authenticode技术(合法化软件)中,以使用户在下载软件时能获得所需的信息。上述三类凭证中前两类是常用的凭证,第三类那么用于比较特殊的场合。大局部认证中心提供前两类凭证,能提供各类凭证的认证中心并不普遍。第二十四页,共57页。3.3.5数字签名的开展方向数字签名作为电子商务的应用技术,越来越得到人们的重视,它涉及的关键技术也很多,并且很多新的协议〔如网上交易平安协议SSL、SET协议〕都会设计数字签名。究竟使用哪种算法、哪种Hash函数,以及数字签名管理、在通信实体与可能有的第三方之间使用协议等等问题都可以作为新的课题。第二十五页,共57页。3.4身份认证技术认证〔Authentication〕又称为鉴别、确认,它是证实某人或某物是否名副其实或有效的过程。认证是防止主动攻击的重要技术。实际上,网络中的通信除需要进行消息的认证外,还需要建立一些标准的协议对数据来源的可靠性、通信实体的真实性加以认证,以防止欺骗、伪装等攻击。身份认证是通信双方在实质性数据传输之前进行审查和证实对方身份的操作。第二十六页,共57页。认证中心(CA,CertificateAuthority)在网络通信认证技术中具有特殊的地位。例如,电子商务,认证中心是为了从根本上保障电子商务交易活动顺利进行而设立的,主要是解决电子商务活动中参与各方的身份、资信的认定,维护交易活动的平安。CA是提供身份验证的第三方机构,通常由一个或多个用户信任的组织实体组成。例如,持卡人(客户)要与商家通信,持卡人从公开媒体上获得了商家的公开密钥,但无法确定商家不是冒充的(有信誉),于是请求CA对商家认证。此时,CA对商家进行调查、验证和鉴别后,将包含商家公钥的证书传给持卡人。同样,商家也可对持卡人进行验证,其过程为持卡人→商家;持卡人→CA;CA→商家。证书一般包含拥有者的标识名称和公钥,并且由CA进行数字签名。第二十七页,共57页。CA的功能主要有:接收注册申请、处理、批准/拒绝请求、颁发证书。在实际运作中,CA也可由大家都信任的一方担当,例如,在客户、商家、银行三角关系中,客户使用的是由某个银行发的卡,而商家又与此银行有业务关系(有帐号)。在此情况下,客户和商家都信任该银行,可由该银行担当CA角色,接收和处理客户证书和商家证书的验证请求。又例如,对商家自己发行的购物卡,那么可由商家自己担当CA角色。第二十八页,共57页。3.2.1相互认证技术A、B两个用户在建立共享密钥时需要考虑的核心问题是保密性和实时性,为了防止会话密钥的伪造或泄露,会话密钥在通信双方之间交换时应以密文形式出现,所以通信双方事先就应有密钥或公开密钥。第二个问题实时性那么对防止消息的重放攻击极为重要,实现实时性的一种方法是对交换的每一条消息都加上一个序列号,一个新消息仅当它有正确的序列号时才被接收。但这种方法的困难性是要求每个用户分别记录与其他每一用户交换的消息的序列号,这样做,增加了用户的负担,所以序列号方法一般不用于认证和密钥交换。保证信息的实时性常用以下两种方法:第二十九页,共57页。(1)时间戳如果A收到的消息包括一时间戳,且在A看来这一时间戳充分接近自己的当前时刻,A才认为收到的消息是新的并接收之。这种方案要求所有各方的时钟是同步的。第三十页,共57页。(2)询问—应答用户A向B发出一个一次性随机数作为询问,如果收到B发来的消息〔应答〕也包含一正确的一次性随机数,A就认为B发来的消息是新的并接收之。其中时间戳法不能用于面向连接的应用过程,这是由于时间戳法在实现时有它的困难性。首先是需要在不同的处理器时钟之间保持同步,那么所用的协议必须是容错的以处理网络错误,并且是平安的以对付恶意攻击。第二,如果协议中任一方的时钟出现错误而暂时地失去了同步,那么将使敌方攻击成功的可能性增加。最后还由于网络本身存在着延迟,因此不能期望协议的各方能保持精确的同步。所以任何基于时间戳的处理过程,协议等都必须允许同步有一个误差范围。考虑到网络本身的延迟,误差范围应足够大,考虑到可能存在的攻击,误差范围又应足够小。第三十一页,共57页。而询问—应答方式那么不适合于无连接的应用过程,这是因为在无连接传输以前需经询问—应答这一额外的握手过程,与无连接应用过程的本质特性不符。对无连接的应用程序来说,利用某种平安的时间效劳器保持各方时钟同步是防止重放攻击的最好的方法。通信双方建立共享密钥时可采用单钥加密体制和公钥加密体制。第三十二页,共57页。3.4.2单向认证技术电子邮件等网络应用有一个最大的优点就是不要求收发双方同时在线,发方将邮件发往收方的信箱,邮件在信箱中存着,直到收方阅读时才翻开。邮件消息的报头必须是明文形式以使简单邮件传输协议(SMTP,SimpleMailTransferProtocol〕或X.400等存储—转发协议能够处理。然而通常都不希望邮件处理协议要求邮件的消息本身是明文形式,否那么就要求用户对邮件处理机制的信任。所以用户在进行保密通信时,需对邮件消息进行加密以使包括邮件处理系统在内的任何第三者都不能读取邮件的内容。再者邮件接收者还希望对邮件的来源即发方的身份进行认证,以防他人的假冒。第三十三页,共57页。3.4.3身份验证技术1.身份验证概念身份识别(Identification)是指用户向系统出示自己的身份证明过程。身份认证(Authentication)是系统核查用户的身份证明的过程,实质上是查明用户是否具有他所请求资源的存储和使用权。人们常把身份识别和身份认证这两项工作统称为身份验证〔或身份鉴别〕,它是判明和确认通信双方真实身份的两个重要环节。身份认证必须做到准确无二义地将对方识别出来,同时还应该提供双向的认证,即相互证明自己的身份。第三十四页,共57页。2.单机状态下的身份认证1)根据人的生理特征进行身份认证这是较早使用的一种方法,它根据人的生理特征,如指纹、视网膜、声音等来判别身份。目前同时采用几种生理特征来验证身份。当然,这种方法实现起来难度很大。2)根据约定的口令等进行身份认证双方共同享有某个秘密,如联络暗号、UserID和Password等,根据对方是否知道这个秘密来判断对方的身份。这种方法最常用且简单,但平安性不高,因为秘密一旦泄漏,任何人都可以冒充。此外,目前的操作系统在身份认证方面还存在另一个弊端,被称为“有志者事‘尽’成〞系统,操作者可以反复地试猜。第三十五页,共57页。3)用硬件设备进行身份认证效劳器方通过采用硬件设备如编码器,随机产生一些数据并要求客户输入这些数据,经过编码发生器变换后产生的结果,与效劳器拥有的编码发生器产生的结果比较,判断是否正确。这种方法也成为一次性口令/密码,只有对方获得该硬件才可能进行假冒。目前使用较多的“智能加密卡〞是制造商为用户提供的数字证明卡,它显示的号码是由时日、密码、加密算法3项确定,作为用户向系统出示的身份证明。这种方法可以持续较长的时间,具有使用灵活、存储信息多等特点。智能加密卡简称智能卡,是一种嵌有CPU处理器如信用卡大小的塑料卡,它与通信网络结合,可执行多种功能。实际上,第三十六页,共57页。它是密钥的一种载体,由授权用户持有,用户赋予它一个口令或密码。该密码与网络效劳器上注册的密码相同。综上,目前,在计算机及网络系统中常用的身份认证方式主要有:口令核对IC卡认证动态口令生物特征认证USBKey认证身份的零知识证明第三十七页,共57页。

3.网络环境下的身份认证网络环境下的身份认证较为复杂,主要是考虑靠验证身份的双方一般都是通过网络而非直接交互,想根据指纹等手段就无法实现。同时,大量的黑客随时随地都可以尝试向网络渗透,截获合法用户口令冒名顶替以合法身份入网。所以,目前一般采用的是基于对称密钥加密或公开密钥加密的方法,采用高强度的密码技术来进行身份认证。对TCP/IP网络计算机系统的攻击常常是监听网络信息,获得登陆用的帐号和口令。被俘获的帐号和口令用于以后对系统的攻击。S/Key是一个一次性口令系统,用来对付这种攻击。使用S/Key系统时,传送的口令只使用一次后即无效。用户使用的源口令不会在网络上传输,包括登陆或其他需要口令(如SU等)的时候。第三十八页,共57页。在使用S/Key系统时有两方面的操作。在客户方,必须有手段产生正确的一次性口令。在效劳主机方,必须能够验证该一次性口令的有效性,并能够让用户平安地修改源口令。一般的S/Key系统是基于一些不可逆算法的(如MD4和MD5),也就是说这一类算法如果拥有源数据,正向计算出结果速度很快。但如果没有源数据而试图反向计算出源数据,目前来看那么根本上是不可能的。第三十九页,共57页。3.2.4身份认证系统实例——Kerberos系统1.Kerberos系统介绍Kerberos系统是美国麻省理工学院为Athena工程而设计的,为分布式计算环境提供一种对用户双方进行验证的认证方法,它是基于对称密钥的身份认证系统。在该环境中,机器属于不同的组织,用户对机器拥有完全的控制权。因此,用户对于每一个他所希望的效劳,必须提供身份证明。同时,效劳器也必须证明自己的身份,故网络上其它的机器可以伪装成效劳器而骗取用户信息。第四十页,共57页。2.Kerberos系统组成Kerberos系统提供的认证效劳由三个重要部件组成:中心数据库、平安效劳器和Ticket分配器〔TGS〕。这三个部件都安装在网络中相对平安的主机上。其中,中心数据库是平安效劳的关键局部,在库中存有平安系统的平安信息,包括用户注册名及相关口令、网上所有工作站和效劳器的网络地址、效劳器密钥及存取控制表等。第四十一页,共57页。1)中心数据库中心数据库由KDC〔密钥分发中心〕进行维护。该数据库中包括有内部网络系统中每个用户的帐户信息。这一信息是由企业的平安管理员录入到数据库中的,它包括用户的帐号(即登录帐号)和密码。所有内部网络中的效劳器和用户在平安数据库中均有帐户。第四十二页,共57页。2)平安效劳器即认证效劳器当一个用户登录到企业内部网络中并且请求访问内部网络效劳器时,认证效劳器根据中心数据库中存储的用户密码生成一个DES加密密钥来对一个Ticket(凭证或入场券)进行加密。这个Ticket包含有用户将要对传送给应用效劳器的信息进行加密所使用的新的DES加密密钥。Ticket中同时也包括了基于应用效劳器产生的阶段性加密密钥,客户方使用这个Ticket来向应用效劳器证实自己的身份。第四十三页,共57页。3)Ticket分配效劳器〔TGS〕当用户进程欲访问某个效劳器时,TGS通过查找数据库中的存取表,来确认该用户已被授权使用该效劳器,这时TGS将会把与该效劳器相连的密钥和加密后的Ticket分给该用户和效劳器。用户假设要访问采用Kerberos身份认证效劳的内部网络中的应用效劳器,那么必须在KDC中进行登记;一旦用户进行了登记,KDC可以为用户向整个企业网络中的任何应用效劳器提供身份验证效劳。用户只需要登录一次就可以平安地访问网络中所有平安信息。这种登录的过程提供了在用户和应用效劳之间相互认证,双方都可能确认对方的身份。第四十四页,共57页。3.Kerberos系统的认证过程有人曾把Kerberos的工作过程形象地比喻为到售票处购置入场券以及到电影院看电影的过程。作为一个观众,如果希望看某一场电影,那么先要到售票处购置入场券,在购置入场券时,观众需要说明所希望的场次。在得到希望的入场券后,观众需要到检票口检票。检票口人员在证实入场券合法后,观众就可以入场欣赏电影了。Kerberos系统和看电影的过程不一样的地方是,只是事先在Kerberos系统中登录的客户才可以申请效劳,并且Kerberos要求申请到入场券的客户就是到TGS去要求得到最终效劳的客户。另外,在客户和效劳器间通信时,需要进行数据的加密,从而需要为客户和效劳器的对话产生一个临时的密钥。第四十五页,共57页。3.5数字签名标准及数字签名算法3.5.1数字签名算法DSS首先将DSS与RSA的签名方式作一比较。RSA算法既能用于加密和签名,又能用于密钥交换。与此不同,DSS使用的算法只能提供数字签名功能。采用RSA签名时,将消息输入到一个散列函数以产生一个固定长度的平安散列值,再用发方的秘钥加密散列值就形成了对消息的签名。消息及其签名被一起发给收方,收方得到消息后再产生出消息的散列值,且使用发方的公钥对收到的签名解密。这样收方就得到了两个散列值,如果两个散列值是一样的,那么认为收到的签名是有效的。第四十六页,共57页。DSS签名也利用一散列函数产生消息的一个散列值,散列值连同一随机数k一起作为签名函数〔Sig〕的输入,签名函数还需使用发方的秘钥SkA和供所有用户使用的一族参数,称这一族参数为全局公钥PkG。签名函数的两个输出s和r就构成了消息的签名〔s,r〕。接收方收到消息后再产生出消息的散列值,将散列值与收到的签名一起输入到验证函数(Ver),验证函数还需输入全局公钥PkG和发方的公钥PkA。验证函数的输出结果与收到的签名成分r相等,那么验证了签名是有效的。第四十七页,共57页。3.5.2数字签名算法DSADSA是在EIGamal和Schnorr两个签名方案的根底上设计的,其平安性基于求离散对数的困难性。算法描述如下:〔1〕全局公钥。p:满足2L-1<p<2L的大素数,其中512≤L≤1024,且L是64的倍数;q:p-1的素因子,满足2159<q<2160,即q长为160bit。g:g=h(p-1)/qmodp,其中h是满足1<h<p-1,且使得h(p-1)/qmodp>1的任一整数。第四十八页,共57页。〔2〕用户秘密x是满足0<x<q的随机数或伪随机数。〔3〕用户的公钥y=gxmodp。〔4〕用户为待签消息选取的秘密数k是满足0<k<q的随机数或伪随机数。〔5〕签名过程。用户对消息m的签名为〔r,s〕,其中r=(gkmodp)modq,s=[k-1(H(m+xr)]modq

H(m)是由SHA求出的散列值。第四十九页,共57页。3.5.3数字签名算法HASHHASH函数与加密函数类似。事实上有些HASH函数就是稍加修改的加密函数。大多数函数的做法是每次取一个数据块,对数据块的每一位用一个简单的编码函数进行编码。HASH算法的工作方式类似通信协议中的校验和〔checksum〕,即发信方将一个数据包的所有字节加起来,将和添加在包上。收信方执行同样的运算并比较两个和,以决定是否被正确地传输。第五十页,共57页。校验

温馨提示

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

评论

0/150

提交评论