电子商务安全第3章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子商务安全第3章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子商务 安全 课件
- 资源描述:
-
1、第3章 电子商务签名技术 3.1 数字签名概念3.2 RSA数字签名3.3 DSS签名3.4 哈希签名3.5 几种特殊数字签名方法本章要点本章要点 数字签名是与伴随信息一起发送或与信息有一定逻辑关联的数据项,用来确定信息的发送源,确认信息自签名后未被修改过。数字签名的方法包括基于RSA的方法、Hash签名、美国数字签名标准DSS以及椭圆曲线数字签名算法(ECDSA)。此外,还介绍了在电子商务领域一些被广泛应用的特殊数字签名方法,如盲签名、双联签名、团体签名、不可争辩签名、数字时间戳等。3.1数字签名概念 3.1.1 数字签名概念3.1.2 数字签名使用模式3.1.3 数字签名的技术保障3.1.
2、4 数字签名方案分类3.1.5 数字签名使用原理3.1.1 数字签名概念 数字签名与书面文件签名有相同之处,采用数字签名,也能确认以下两点:第一,信息是由签名者发送的;第二,信息自签发后到收到为止未曾作过任何修改。这样数字签名就可用来防止电子信息因易被修改而有人作伪,或冒用别人名义发送信息。或发出(收到)信件后又加以否认等情况发生。3.1.1 数字签名概念 在电子商务安全保密系统中,数字签名技术有着特别重要的地位,在电子商务安全服务中的源鉴别、完整性服务、不可否认服务中,都要用到数字签名技术。在电子商务中,完善的数字签名应具备签字方不能抵赖、他人不能伪造、在公证人面前能够验证真伪的能力。数字签
3、名机制提供了一种鉴别方法,普遍用于银行、电子贸易等,以解决如下问题:3.1.1 数字签名概念(1)身份认证。收方通过发方的电子签名才能够确认发方的确切身份,但无法伪造。(2)保密。双方的通信内容高度保密,第三方无从知晓。(3)完整性。通信的内容无法被篡改。(4)不可抵赖。发方一旦将电子签字的信息发出,就不能再否认。3.1.1 数字签名概念 电子交易的安全依赖于技术上采用适当的安全措施,如电子签名技术,以确认使用人的身份,确保信息保密及完整无缺,和保障已进行的交易不被推翻。但是,数字签名技术在法律上的地位却不明确。数字签名就需要人们对它的“签名”功能赋予合法的法律地位。联合国电子商务示范法对电子
4、记录的法律问题提出了一系列解决方案,分别就数据电文的法律承认、书面性、签名、原件、证据性、留存等做出了原则性的规定。3.1.2数字签名使用模式目前使用的电子签名主要有三种模式:(1)智慧卡式。(2)密码式。(3)生物测定式。3.1.3 数字签名的技术保障 普遍使用的电子签名技术是基于PKI的数字签名技术,PKI技术的详细介绍请参看本教材第8章,数字签名的基础保障主要有以下四个方面:1认证机构认证机构CA2数字证书数字证书3公钥密码技术公钥密码技术4数字摘要数字摘要3.1.4 数字签名方案分类 应用广泛的数字签名方法主要有三种,即:RSA签名、DSS签名和Hash签名。此外,也有使用对称密码算法
5、实现数字签名。这四种算法可单独使用,也可综合在一起使用。数字签名是通过密码算法对数据进行加、解密变换实现的,用DES算去、RSA算法都可实现数字签名。但三种技术或多或少都有缺陷,或者没有成熟的标准。1RSA签名签名 2DSS签名签名 3Hash签名签名 4对称密码算法签名对称密码算法签名3.1.4 数字签名方案分类安全的数字签名使接收方可以得到保证:文件确实来自声称的发送方。鉴于签名私钥只有发送方自己保存,他人无法做一样的数字签名,因此他不能否认他参与了交易。数字签名的加密解密过程和私有密钥的加密解密过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加
6、密,接收方用发送方的公开密钥进行解密。这是一个一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性,而私有密钥的加密解密则使用的是接收方的密钥对,这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。在实用过程中,通常一个用户拥有两个密钥对,另一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。这种方式提供了更高的安全性。在实际运用中,直接用公开密码的私钥对文件进行签字并不完全可行,如果需要对相当长的文件进行签名认证速度就太慢。通常的解决办法是引入可公开的密码。3.1.4 数字签名使用原理3.
7、2 RSA数字签名 RSA方法的加密算法和解密算法互为逆变换,所以可用于数字签名系统。RSA是最流行的数字签名方法,许多产品内核中都有RSA的软件和类库。RSA算法在第2章已有详细介绍。3.2 RSA数字签名 RSA算法中数字签名技术实际上是通过一个哈希函数来实现的。数字签名的特点是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的哈希函数是把文件的二进制码相累加,取最后的若干位。哈希函数对发送数据的双方都是公开的。用RSA或其它公开密钥密码算法的最大方便是没有密钥分配问题(网络越复杂、网络用户越多,其优点越明显)。因为公开密钥加密使用
8、两个不同的密钥,其中有一个是公开的,另一个是保密的。公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页(商业电话)上或公告牌里,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的,由用户本身持有,它可以对由公开密钥加密信息进行解密。3.2 RSA数字签名 RSA方法的加密算法和解密算法互为逆变换,所以可用于数字签名系统。假定用户的公开钥是(nA,eA),秘密钥是dA,加密和解密变换分别为EA和DA,则A发送的签名后的消息是MDA(M)MdA(mod nA)。收到M后的B,可以用A的公开变换EA恢复M:EAEA(M)M (dAeA)(mod nA)因为只有A知道dA,所以签名不可
9、能伪造,并且A与B之间的任何争议都可以通过仲裁加以解决。在具体环境中,RSA算法中数字签名技术实际上是通过一个哈希函数来实现的,其原理如图31所示。3.2 RSA数字签名dAeA图3-1 RSA 签名原理3.2 RSA数字签名其操作步骤如下:使用散列编码将发送文件加密产生固定长的数字摘要;发送方用自己的专用密钥对摘要再加密,形成数字签名;将原文和加密的摘要同时传给对方;接收方用发送方的公共密钥对摘要解密,同时对收到的文件用散列编码加密产生同一摘要;将解密后的摘要和收到的文件在接受方重新加密产生的摘要相互对比,如果两者一致,则说明在传送过程中信息没有破坏和篡改。否则,则说明信息已经失去安全性和保
10、密性。一个最简单的哈希函数是把文件的二进制码相累加,取最后的若干位。哈希函数对发送数据的双方都是公开的。3.3 DSS签名 美国国家标准技术研究所已经公布了联邦信息处理标准FIPS PUB 186,即所谓的数字签名标准(Digital Signature Standard,DSS)。DSS利用了安全散列算法(Secure Hash Algrithm,SHA)并提出了一种新的数字签名技术,即数字签名算法(Digital Signature Algrithm,DSA)。DSS最早发表于1991年,并根据公众对该体制安全性担心的反应在1993年进行了修改。1996年由进行了更进一步的小修改。3.3.
11、1 DSS基本原理基本原理 DSA算法设计用来提供唯一的数字签名函数,不像RSA还可用作加密和密钥交换。DSS方法也利用了一个散列函数。散列码和一个用作这个特殊签名的随机数K作为签名函数的输入。签名函数还依赖于发方的私有密钥(KRa)和一个对许多通信原则来说是知名的参数集。我们可以认为这个集合组成一个全局公开密钥(KUG)。结果是签名由两个分量组成,记为s和r。在接收端,将计算所收到报文的散列码,该散列码和签名将作为验证函数的输入。验证函数还依赖于全局公开密钥和与发方私有密钥配对的发方公开密钥。如果签名是有效的,验证函数的输出值就等于签名分量r。签名函数就是这样的:只有发方用掌握的私有密钥才能
12、产生有效的签名。3.3.1 DSS基本原理基本原理 图3-2 DSS原理 DSA签名和RSA签名一样不存在哈希签名的局限性,因为他们都采用了公钥算法,即每个人都有两个密钥,其中一个产生签名,并秘密保存,另一个公开,用来验证签名。3.3.2数字签名算法数字签名算法 数字签名算法DSA是Schnorr和ElGamal签名算法的变种,DSA是基于离散对数的难度。1DSA算法参数说明算法参数说明 DSA算法中应用了下述参数:p:L bits长的素数。L是64的倍数,范围是512到1024;q:p-1的160bits的素因子;g:g=hp-1 mod p,h满足h 1;x:1x q,x为私钥;y:y=g
13、x mod p,(p,q,g,y)为公钥;H(x):单向Hash函数。在DSS中选用安全散列算法(Secure Hash Algorithm,SHA)。p,q,g:可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。3.3.2数字签名算法数字签名算法 2签名及验证协议签名及验证协议 签名及验证协议如下:(1)P产生随机数k,k q;(2)P计算r=(gk mod p)mod q和s=(k-1(H(m)+xr)mod q 签名结果是(m,r,s)。(3)验证时 计算w=s-1mod q 计算u1=(H(m)w)mod q 计算u2=(rw)mod q 计算v=(gu1yu2)mo
14、d p)mod q 若v=r,则认为签名有效。3.3.2数字签名算法数字签名算法 DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,也能确认它们是否是随机产生的。而RSA算法却作不到。图3-3描述了DSS的签名和验证函数。3.4 哈希签名 Hash签名是利用哈希函数(Hash function,也叫摘要函数,散列函数)进行数字签名的一种方法。Hash签名是当前最主要的数字签名方法之一,也称之为数字摘要法(Digital Digest)或数字指纹法。它与RSA数字签名是单独的签名不同,该数字签名方法是
15、将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。3.4 哈希签名 Hash函数与加密函数类似。事实上有些Hash函数就是稍加修改的加密函数。大多数函数的作法是每次取一个数据块,对数据块的每一位用一个简单的编码函数进行编码。Hash算法的工作方式类似通信协议中的校验和;发信方将一个数据包的所有字节加起来,将和添加在包上;收信方执行同样的运算并比较两个和,以决定是否被正确地传输。校验算法的主要作用是根据报文内容通过单向的Hash算法计算出一个校验来,如果报文被改动或增减,无法根据同样的算法算出相
16、同的校验来。一般在实际应用中,对于只有数据完整性要求的数据只对其校验进行加密就可以了,这样能够大大减少数据加密的工作量。一个Hash函数满足:H可以作用于一个任意长度的数据块;H产生一个固定长度的输出;H(x)对任意给定的x计算相对容易,无论是软件还是硬件实现;对任意给定码h,找到x满足H(x)=h具有计算不可行性;对任意给定的数据块x,找到满足H(y)=H(x)的yx具有计算不可行性;找到任意数据对(x,y),满足H(x)=H(y)是计算不可行的。3.4 哈希签名 单向Hash函数是在一个方向上工作的Hash函数,从预映射的值很容易计算其Hash值,但要产生一个预映射的值使其Hash值等于一
展开阅读全文