您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > 电子商务安全导论3-4
2020/7/10第3章密码技术的应用2020/7/103.1数据的完整性和安全性1•3.1.1数据完整性和安全性概念1•数据完整性或称真确性:是指数据处于“一种未受损的状态”和“保护完整或未被分割的品质或状态”。•证实数据完整性是认证消息、检验数据是否被篡改的技术,在电子商务系统中的信息安全上有重要作用。散列函数是实现数据完整性的主要手段。实际中也常常借助于纠错检错技术来保证消息的完整性。•1,数据完整性被破坏的严重后果•(1)造成直接的经济损失。如价格、订单数量等被改变•(2)影响一个供应链上许多厂商的经济活动。•(3)可能造成过不了“关”。•(4)会牵涉到经济案件中。•(5)造成电子商务经营的混乱与不信任。3.1数据的完整性和安全性2•3.1.1数据完整性和安全性概念2•2,散列函数的概念•散列函数有很多名字:哈希函数、杂凑函数、压缩函数、收缩函数、消息摘要、数字指纹等。散列函数是现代信息密码学的核心之一。•散列函数:是指将一个长度不确定的输入串转换成一个长度确定的输出串——称为散列值。也叫哈希值、杂凑值和消息摘要。这个输出串要比输入串短。但要根据散列值推导出输入串却很难。而且一个好的散列函数还有“无冲突性”,即应很难找到两个不同的输入串,而他们的散列值相同,或者说这种概率是很小的。•所以一个好的散列函数h=H(M)其中H为散列函数;M为长度不确定的输入串;h为散列值,长度是确定的。•散列函数H应该具有如下特性:•(1)给定M,很容易计算h;•(2)给定h,不能计算M;•(3)给定M,要找到另一个输入串M’并满足H(M’)=H(M)很难。•散列函数的算法是公开的,其安全性完全在于它的单向性和无冲突性。•现在,在信息摘要上应用较多的散列函数有MD-4、MD-5和SHA等。•3,散列函数应用于数据的完整性•4,数字签名使用双钥密码加密和散列函数2020/7/103.1数据的完整性和安全性3•3.1.2常用散列函数1•1,MD-4和MD-5散列算法•RonRivest于1990年提出MD-4散列算法,特别适合于软、硬件快速实现。输入消息可为任意长,按512比特分组,最后的分组长度不足,用数0填充,使其成为512比特的整倍数。•MD-5是4轮运算,各轮逻辑函数不同。每轮又要进行16步迭代运算,4轮共需56步完成。压缩后输出为128比例。MD-5是MD-4的改进形式。•MD5的算法:•(1)附加填充比特:在消息的后面加上一个比特的1和适当数量比特的0,使填充后的消息长度比512的整数倍少64。•(2)附加长度:将原消息长度的64比特表示附加到填充后的消息后面。这时,消息的总长度是512的倍数,能被16整除。•(3)初始化缓冲区:一个用于消息摘要的128比特缓冲区。这个缓冲区可以由4个32比特的寄存器A、B、C、D表示。初始值为:•A:01234567•B:89abcdef•C:fedcba98•D:76543210•(4)按每块16个字(512字节)对数据进行4轮规定算法处理。•(5)输出:由A、B、C、D四个寄存器按低位字节在前的格式排列得到128位的输出。2020/7/103.1数据的完整性和安全性4•3.1.2常用散列函数2•2.安全散列算法(SHA)•美国NIST和NSA设计的一种标准算法——安全散列算法(SHA),用于数字签名标准算法DSS,亦可用于其他需要散列算法的场合,具有较高的安全性。•3.其他散列算法•如俄罗斯国家标准GOST散列算法;•Merkle设计的Snefu散列算法;•欧共体RIPE计划的RIPE-MD散列算法;•由Zheng等提出的MD-5的改进——HAVAL散列算法;•Preneel提出的被欧共体RIPE采用的RIPEMAC散列算法等。2020/7/103.2数字签名1•3.2.1数字签名的基本概念•数字签名:是利用数字技术实现在网络传送文件时,附加个人标记,完成传统上手书签名盖章的作用,以表示确认、负责、经手等。•数字签名与消息的真实性认证是不同的。消息认证是使接收方能验证消息发送者及所发信息内容是否被篡改过。当接收者和发送者之间有利害冲突时,消息认证无法解决此纠纷。•3.2.2数字签名的必要性•数字签名可做到高效而快速的响应,任一时刻,在地球任何地方——只要有Internet,就可完成签署工作。•数字签名除了可用于电子商务中的签署外,还可用于电子办公、电子转账及电子邮递等系统。•3.2.3数字签名的原理•数字签名的实际使用原理:消息M用散列函数H得到消息摘要h1=H(M),然后发送方A用自己的双钥密码体制的私KSA对这个散列值进行加密得EKSA(h1),来形成发送方A的数字签名。然后,这个数字签名将作为消息M的附件和消息M一起发送给消息接收方B。消息的接收方B首先把接收到的原始消息分成M’和EKSA(h1)。从M’中计算出散列值h2=H(M’),接着再用发送方的双钥密码体制的公钥KPA来对消息的数字签名进行解密DKPA(EKSA(h1))得h1。如果散列值h1=h2,那么接收方就能确认该数字签名是发送方A的,而且还可以确定此消息没有被修改进。2020/7/103.2数字签名2•3.2.4数字签名的要求•类似于手书签名,数字签名也应满足以下要求:•(1)接收方B能够确认或证实发送方A的签名,但不能由B或第三方C伪造;•(2)发送方A发出签名的消息给接收方B后,A就不能再否认自己所签发的消息;•(3)接收方B对已收到的签名消息不能否认,即有收报认证;•(4)第三者C可以确认收发双方之间的消息传送,但不能伪造这一过程。•数字签名与手书签名的区别:手写签名(包括盖章)是模拟的,因人而异,容易伪造。•数字签名是0和1的数字串,极难伪造,对不同的信息摘要,即使是同一人,其数字签名也是不同的。实现了文件与签署的最紧密的“捆绑”。•数字签名分:确定性数字签名和随机化式数字签名。•确定性数字签名,其明文和密文一一时应,它对一特定消息的签名不变化,如RSA,Rabin等签名;•随机式(概率式)数字签名,根据签名算法中的随机参数值,对同一消息的签名也有对应的变化。这样一个明文可能有多个合法数字签名,如ELGamal等签名。2020/7/103.2数字签名3•3.2.5数字签名的作用•数字签名可以证明:•(1)如果他人可以用公钥正确地解开数字签名,则表示数字签名的确是由签名者产生的。•(2)如果消息M是用散列函数H得到的消息摘要H(M),和消息的接收方从接收到的消息M’计算出散列值H(M'),这两种信息摘要相同表示文件具有完整性。•数字签名机制提供了一种数字鉴别方法,普遍用于银行、电子商务、电子办公等。•数字签名可以解决下述安全鉴别问题:•(1)接收方伪造:接收方伪造一份文件,并声称这是发送方发送的;•(2)发送者或接收者否认:发送者或接收者事后不承认是自己曾经发送或接收过文件;•(3)第三方冒充:网上的第三方用户冒充发送或接收文件;•(4)接收方篡改:接收方对收到的文件进行改动。2020/7/103.2数字签名4•3.2.6单独数字签名的安全问题•单独数字签名的机制有一个潜在的安全问题:如果有人(G)产生一对公钥系统的密钥,对外称是A所有,则他可以假冒A的名义进行欺骗活动。因为单独数字签名的机制中一对密钥没有与拥有者的真实身份有唯一的联系。•3.2.7RSA签名体制•RSA签名体制:是利用双钥密码体制的RSA加密算法实现数字签名。ISO/IEC9796和ANSIX9.30-199X已将RSA作为建议数字签名的标准算法。•3.2.8ELGamal签名体制•该体制由T.ELGamal在1985年提出。•经过修正后,美国NIST把它作为数字签名标准DSS,是Rabin体制的一种变型。•ANSIX9.30-199X已将ELGamal签名体制作为签名标准算法。•3.2.9无可争辩签名•无可争辩签名:是在没有签名者自己的合作下不可能验证签名的签名。•无可争辩签名是为了防止所签文件被复制,有利于产权拥有者控制产品的散发。•适用于:电子出版系统,以利于对知识产权的保护。•在签名人合作下才能验证签名,又会给签名者一种机会,在不利于他时可拒绝合作,因而不具有“不可否认性”。•无可争辩签名除了一般签名体制中的签名算法和验证算法(或协议)外,还需要第三个组成部分,即否认协议:签名者利用无可争辩签名可向法庭或公众证明一个伪造的签名的确是假的;但如果签名者拒绝参与执行否认协议,就表明签名真的由他签署。2020/7/103.2数字签名5•3.2.10盲签名•不想让某人知道文件的内容,称为盲签名。•完全盲签名:当前对所签署的文件内容不关心、不知道,只是以后需要时,可以作证进行仲裁。•Chaum利用盲变换实现盲签名的基本原理如下:•(1)A取一文件并以一随机值乘之,称此随机值为盲因子;•(2)A将此盲文件发送给B;•(3)B对盲文件签名;•(4)A以盲因子除之,得到B对原文件的签名。•3.2.11双联签名•在一次电子商务活动过程中可能同时有两个有联系的消息M1或M2,要对它们同时进行数字签名。2020/7/103.3数字信封•发送方用一个随机产生的DES密钥加密消息,然后用接受方的公钥加密DES密钥,称为消息的“数字信封”,将数字信封与DES加密后的消息一起发给接受方。接受者收到消息后,先用其私钥打开数字信封,得到发送方的DES密钥,再用此密钥去解密消息。只有用接受方的RSA私钥才能够打开此数字信封,确保了接受者的身份。•用表达式表示可为:•发送方:•C1=EKDES(M)•C2=EKPB(KDES)•接受方:•KDES=DKSB(C2)•M=DKDES(C1)•数字信封既克服了两种加密体制的缺点,发挥了两种加密体制的优点,又妥善地解决了密钥传送的安全问题。在这里KDES在一次传送中只使用一次,产生时是随机的,使用后即废弃,不用管理,这可以称为“一次一密”。2020/7/103.4混合加密系统•实际上,在一次信息传送过程中,可以综合利用消息加密、数字信封、散列函数和数字签名实现安全性、完整性、可鉴别和不可否认。具体过程如下:•1,发送方A•(1)求明文消息的消息散列值:hA=H’(M);•(2)发送方用自己的私钥KSA对散列值进行数字签名:h’=EKSA(hA);•(3)将明文M和数字签名h’合并为M’,M’=【Mh’】;•(4)随机产生一个DES密钥KDES;•(5)用DES密钥KDES加密M’,C1=EKDES(M’);•(6)用接受方B的公钥加密DES密钥,C2=EKPB(KDES)。•2,接受方B•接受方B收到消息后:•(1)B用其私钥打开数字信封,得到发送方的DES密钥,KDES=DKSB(C2);•(2)再用此密钥去解密消息C1,M’=DKDES(C1);•(3)从M’中分离出M和h’;•(4)求明文消息的消息散列值,hB=H(M);•(5)对A的数字签名h’进行身份验证,hA=DKPA(h’);•(6)比较hA和hB,如hA=hB,则说明M确是A发送的消息,如hA≠hB,则收到的M是不可信的。这就是数字完整性检验。•以上步骤已经成为目前信息安全传送的标准模式,一般把它叫作“混合加密系统”,被广泛采用。2020/7/103.5数字时间戳•数字时戳应当保证:•(1)数字文件加盖的时戳与存储数字的物理媒体无关。•(2)对已加盖时戳的文件不可能做丝毫改动(即使文件仅1比特)。•(3)要想对某个文件加盖与当前日期和时间不同时戳是不可能的。•1.仲裁方案•利用单向杂凑函数和数字签名协议实现:•(1)A产生文件的单向杂凑函数值。•(2)A将杂凑函数值传送给B。•(3)B在收到杂凑函数值的后面附加上日期和时间,并对它进行数字签名。•(4)B将签名的杂凑函数值和时戳一起送还给A。•A不用担心他的文件内容会泄露出去,因为杂凑函数是单向函数,而且具有足够的安全性。此外,B也不用存储文件的拷贝,无需大容量存储器。•2,链接协议•如果A*表示A的身份,A想要对杂凑函数值Hn加盖时戳,并且前一个时戳为Tn-1,那么协议如下:•(1)A将Hn和A*发
本文标题:电子商务安全导论3-4
链接地址:https://www.777doc.com/doc-6418610 .html