1、电子商务安全技术:数字信封、数字签名、数字证书 目录|CONTENTSDES RSA 01数字信封TEAM数字签名PROFESSION02数字证书COURSE03CHARAACTERISTIC0401数字信封 在实际的应用,对于加密量大的应用,通常由对称密钥对数据加密,公开密钥用于对对称加密的密钥的加密,这种方式叫(数字信封)。1、数字信封公钥算法应用加密模式Hi BobAliceHi BobAliceHi BobAliceHi BobAlice 组合对称密钥和公开密钥产生一个对称密钥产生一个对称密钥会话密钥会话密钥用会话密钥加密信息用会话密钥加密信息最后用接收者的公钥加密会话密钥最后用接收者
2、的公钥加密会话密钥因为它很短因为它很短Hi BobAliceHi BobAliceHi BobAlice会话密钥加密加密1.信息X2c67afGkz78会话密钥xaF4m78dKm解密解密4.信息加密加密2.会话密钥02数字签名 2 2、数字签名 数字签名也称电子签名,是指使用密码算法,对待发的数据进行加密处理,生成一段数据摘要信息附在原文上一起发送,这段信息类似于现实中的签名或印章,接收方收到签名后,进行验证,判定原文的真伪(是否由真实发送方发送)。数字签名应该具有以下的功能:(1)签名者事后不可否认自己的签名;(2)任何其他人不能伪造签名;(3)若当事双方出现争执,可以由公正的第三方通过验
3、证确认签名真伪。如果A要发送一篇需要数字签名的文件给B,只需以下的几个步骤:(1)A用其私钥对要进行签名的数据加密,这就是签名;(2)将信息传送给B;(3)B从公钥库中得到A的公钥,用公钥将A发来的信息解密,若可读且符合一定要求B便可根据此确认该信息由A发出,并有效。用公钥算法实现数字签名用公钥算法实现数字签名图 6 9整体信息的数字签名原文原文原文数字数字签名签名加密算法解解密密算算法法数字数字签名签名发方私钥发方私钥发方公钥发方公钥原文原文比较比较发方发方收方收方对摘要信息(也称压缩信息)进行签名的方法:先对原文信息进行加密压缩形成数据摘要,然后再对数据摘要用发方私钥加密形成签名,发送给接
4、收方,接收方收到信息后,对签名信息解密,同时使用发方压缩摘要的算法对收到的原文进行重新压缩,将压缩结果与签名解密的结果对比,若一致则可证明该发送方的身份和数据可靠性。压缩算法常用hash单向函数,生成128位的散列值(也称报文摘要)。对摘要信息的签名对摘要信息的签名信息摘要生产与传送 Hash算法 原文 摘要 摘要 对比?原文 摘要 Internet Hash 算法 发送方 接收方 图 信息摘要过程图 对摘要信息签名发方发方收方收方比较比较解密解密算法算法发方公钥发方公钥数数字字签签名名数数据据摘摘要要数数字字签签名名加密加密算法算法发方私钥发方私钥数数据据摘摘要要压缩压缩算法算法原文原文原文
5、原文压缩压缩算法算法数数据据摘摘要要原原文文原原文文将数字摘要和数字签名结合将数字摘要和数字签名结合明文明文AliceBobA的私钥的私钥Hi BobAliceA的公钥的公钥 摘要摘要哈希函数哈希函数gJ39vzamp4xOurjj9rRr%9$数字签名数字签名Hi BobAlice明文明文Ourjj9rRr%9$数字签名数字签名Hi BobAlice明文明文gJ39vzamp4x 新新摘要摘要哈希函数哈希函数gJ39vzamp4x=?相同相同1、没有篡改、没有篡改2、是、是Alice发送的发送的1234567信息摘要数字签名 Hash 算法 原文 摘要 摘要 对比?原文 摘要 Interne
6、t 发送方 接收方 Hash算法 数字 签名 发送者 私钥加密 数字 签名 发送者 公钥解密 图 数字签名过程 03数字证书与CA认证 3、数字证书 数字证书(数字证书(Digital Certificate 或或Digital ID)数字证书又称数字凭证,是用电子手段来证实一个实体的身份及其公钥的合法性,并将实体身份与公钥绑定。它是一个数字标识,可以实现身份的鉴别认证、完整性、保密性和不可抵赖等安全要求,也是公钥的管理媒介,公钥的分发、传送等都是靠数字证书来完成的。目前,数字证书的格式一般采用X.509国际标准。数字证书(数字证书(Digital Certificate 或或Digital
7、ID)数字证书采用公钥密码体制,每个用户拥有一把仅为本人所掌握的私钥,用它进行信息解密和数字签名;同时拥有一把公钥,并可以对外公开,用于信息加密和签名验证。数字证书可用于:发送安全电子邮件、访问安全站点、网上证券交易、网上采购招标、网上办公、网上保险、网上税务、网上签约和网上银行等安全电子事务处理和安全电子交易活动。数字证书包括以下内容如图所示:l l 证书拥有者的姓名;l l 证书拥有者的公钥;l l 公钥的有限期;l l 颁发数字证书的单位;l l 颁发数字证书单位的数字签名;l l 数字证书的序列号等。数字证书的内容图3-30 查看证书内容(1)图3-31 查看证书内容(2)图3-32
8、查看证书内容(3)数字证书主要有以下类型:(1)个人数字证书)个人数字证书(2)单位()单位(工商企业工商企业)证书)证书(3)软件(代码)数字证书)软件(代码)数字证书(4)设备数字证书设备数字证书数字证书的类型CA也称认证中心是数字证书的签发机构,是电子商务体系中的核心环节,是电子交易中信赖的基础。认证中心作为一个电子商务交易中受信任和具有权威性的第三方,需要承担网络上安全电子交易的认证服务,负责产生、分发和管理用户的数字证书。为每个使用公开密钥的客户发放数字证书,检验公钥体系中公钥的合法性。它参与每次通信过程,但是不涉及具体的通信内容。数字证书的签发机构:认证中心CA(Certifica
9、te Authority)(1)认证中心主要要完成证书的登记、审批、产生、发放、撤销、查询、管理等功能.(2)CA树形的层次结构结构(如图所示)CA认证中心功能图 SET CA体系结构第一层根第一层根CA第二层品牌第二层品牌CA第三层终端第三层终端CARoot CABrandBrand CAEnd userEnd user CA支付网关证书支付网关证书持卡人证书持卡人证书商家证书商家证书PCAMCACCA国内常见的CA有 中国商务在线l中国数字认证网(),数字认证,数字签名,CA认证,CA证书,数字证书,安全电子商务。l北京数字证书认证中心(),为网上电子政务和电子商务活动提供数字证书服务。l
10、浙江数字证书认证中心 国内CA中心简介(1)下载并安装根证书)下载并安装根证书(如图3-343-38所示)(2)申请证书)申请证书(如图3-393-41所示)(3)将个人身份信息连同证书序列号一并邮寄到)将个人身份信息连同证书序列号一并邮寄到中国数字认证网中国数字认证网数字证书的申请下 载 根C A图3-34 下载根证书(1)图3-35 下载根证书(2)图3-36 安装根证书(1)图3-37 安装根证书(2)图3-38 查看根证书 图3-39 申请个人免费证书 图3-40 下载个人证书 图3-41 查看个人证书 公开密钥体制的应用老张小李的公开密匙小李老张密文小李小李的私有密匙老张的私有密匙老
11、张的公开密匙密文鉴别保密用RSA鉴别,只有老张能发出该信息用RSA保密,只有小李能解开该信息(四)移动数字签名(四)移动数字签名移动签名技术可以实现移动支付业务所要移动签名技术可以实现移动支付业务所要求的身份认证、数据完整性、不可否认性,求的身份认证、数据完整性、不可否认性,是移动支付业务最重要安全保证。是移动支付业务最重要安全保证。移动签名涉及到手机端私钥及数字证书的移动签名涉及到手机端私钥及数字证书的生成过程、身份认证过程、签名过程和加生成过程、身份认证过程、签名过程和加密解密过程。密解密过程。1.1.手机端私钥、公钥以及证书的生成过程手机端私钥、公钥以及证书的生成过程手机端数字证书和公钥
12、私钥对的生成过程手机端数字证书和公钥私钥对的生成过程(1 1)用户向)用户向CACA服务器发送携带个人信息(如手机号码)的认证请求;服务器发送携带个人信息(如手机号码)的认证请求;(2 2)CACA服务器通过运营商的服务器通过运营商的BOSSBOSS系统对用户身份进行认证;(系统对用户身份进行认证;(BOSSBOSS(Business&Operation Support SystemBusiness&Operation Support System)指的是业务运营支撑系)指的是业务运营支撑系统;通常统;通常BOSSBOSS分为四个部分:计费及结算系统、营业与账务系统、客分为四个部分:计费及结算
13、系统、营业与账务系统、客户服务系统和决策支持系统)户服务系统和决策支持系统)(3 3)认证通过用户向用户手机返回确认。)认证通过用户向用户手机返回确认。(4 4)手机端的密钥生成模块生成一对公钥、私钥对()手机端的密钥生成模块生成一对公钥、私钥对(SK,PK)SK,PK)。(5 5)手机端将生成的公钥)手机端将生成的公钥PKPK及用户信息用及用户信息用CACA的公钥加密发送给的公钥加密发送给CACA服服务器。请求生成数字证书。务器。请求生成数字证书。(6 6)CACA服务器收到请求以后,生成用户的数字证书,并将生成的证服务器收到请求以后,生成用户的数字证书,并将生成的证书发送给手机端,证书中包
14、含书发送给手机端,证书中包含CACA的数字签名。的数字签名。(7 7)手机端收到证书以后,用)手机端收到证书以后,用CACA服务器的公钥验证服务器的公钥验证CACA的签名,如果的签名,如果验证通过,说明生成的数字证书成功有效,并将其保存。验证通过,说明生成的数字证书成功有效,并将其保存。2.2.身份认证过程身份认证过程用户在每次登陆移动支付的业务系统之前,需要对用户进用户在每次登陆移动支付的业务系统之前,需要对用户进行身份认证行身份认证(1 1)手机端发送用户接入请求,请求中包含用户信息。)手机端发送用户接入请求,请求中包含用户信息。(2 2)支付系统生成随机数)支付系统生成随机数R,R,并用
15、该用户的公钥加密并用该用户的公钥加密ER=Enc(R,PK),ER=Enc(R,PK),将将ERER发送给手机端。发送给手机端。(3 3)用户手机端收到)用户手机端收到ERER以后,使用用户自己的私钥以后,使用用户自己的私钥SKSK对对ERER进行解密获得进行解密获得R R,R=Dec(ER,SK)R=Dec(ER,SK)。并将解密以后的随机数。并将解密以后的随机数R R用支用支付系统的公钥加密付系统的公钥加密DER=Enc(R,PK),DER=Enc(R,PK),返回给支付系统。返回给支付系统。(4 4)支付系统收到)支付系统收到DERDER以后,用自己的私钥以后,用自己的私钥SKSK解密获
16、得随解密获得随机数机数R1R1,R1=Dec(DER,SK)R1=Dec(DER,SK)验证获得随机数验证获得随机数R1R1与是否等于与是否等于R R,如,如果正确则通过用户的身份认证。果正确则通过用户的身份认证。3.3.移动签名过程移动签名过程用户身份认证通过以后就可以进行数字签名的移动支付。用户身份认证通过以后就可以进行数字签名的移动支付。(1 1)用户用私钥对)用户用私钥对SKSK对购买的指令对购买的指令TXTTXT进行签名进行签名 SignedTXT=Sign(TXT,SK)SignedTXT=Sign(TXT,SK),将其发送给支付系统,将其发送给支付系统,同时发生的还包含用户的基本
17、信息同时发生的还包含用户的基本信息,如用户,如用户IDID和手和手机号等。机号等。(2 2)支付系统根据用户的信息找到用户的证书,)支付系统根据用户的信息找到用户的证书,验证证书的有效期等信息。同时,用证书的公钥验证证书的有效期等信息。同时,用证书的公钥PKPK对对SignedTXTSignedTXT进行解密,进行解密,TXT1=Dec(SignedTXT,PK),TXT1=Dec(SignedTXT,PK),验证用户的签名是否正确验证用户的签名是否正确(比较比较 TXT1 TXT1 与与TXT)TXT)。(3 3)验证通过,可以进行后续的支付操作。)验证通过,可以进行后续的支付操作。4.4.
18、加密与解密加密与解密(数字信封的应用)数字信封的应用)(1)(1)支付系统服务器产生的随机数支付系统服务器产生的随机数R R作为手机端与服务作为手机端与服务器之间进行加解密的会话密钥,同时用用户的公钥器之间进行加解密的会话密钥,同时用用户的公钥PKPK对对R R进行加密进行加密,ER=Enc(R,PK),ER=Enc(R,PK)。(2)(2)支付系统服务器同时用支付系统服务器同时用R R加密需要的加密的会话内加密需要的加密的会话内容容TXT:CyberTXT=Enc(TXT,R)TXT:CyberTXT=Enc(TXT,R)。(对称加密)(对称加密)(3)(3)支付系统服务器将支付系统服务器将
19、ERER与与CyberTXT CyberTXT 发送给手机。发送给手机。(4)(4)手机端收到以后用私钥手机端收到以后用私钥SKSK解密解密ERER获得会话密钥获得会话密钥R:R:R=Dec(ER,SK)R=Dec(ER,SK)。(5)(5)手机端再用手机端再用R R解密解密CyberTXT CyberTXT 获得获得TXT1TXT1,TXT1=Dec(CyberTXT,R)TXT1=Dec(CyberTXT,R)。5.5.手机数字签名系统手机数字签名系统 三、业务无关的移动签名三、业务无关的移动签名将用户私钥保存在用户的手机(将用户私钥保存在用户的手机(SIMSIM卡)卡)中,将待签名数据通过一个平台发送到用中,将待签名数据通过一个平台发送到用户手机中,用户只需比对手机中看到的信户手机中,用户只需比对手机中看到的信息与业务终端看到的信息一致,就可在手息与业务终端看到的信息一致,就可在手机上进行确认,从而实现对数据的签名。机上进行确认,从而实现对数据的签名。签名结果返回到业务服务器,业务服务器签名结果返回到业务服务器,业务服务器验证通过后,则认为当前交易得到了用户验证通过后,则认为当前交易得到了用户的合法授权。的合法授权。ENDTHANKS