3.4数据机密性技术主讲:杨栋realyd@gmail.com安徽财经大学商务学院电子商务系1YoursitehereLOGO防火墙技术只能比较静态地保护网络支付,但不能解决网络支付时的数据机密性问题。如,银行内部用户窃取服务器或数据库中的用户信用卡密码等隐私数据问题,客户在与银行通信过程中相关支付信息在Internet中途被盗问题等。这需要防火墙之外的其他技术或手段来协助解决,如密码技术就是更为有效的方法。即对数据进行有效加密与解密,这样即可保证电子商务中数据的保密性、真实性。安徽财经大学商务学院电子商务系2YoursitehereLOGO加密包括两个元素,加密算法和密钥。加密算法是将普通的文本(或者可以理解的信息)与一串字符串即密钥相结合,产生不可理解的密文的步骤。密钥,英文为Keyword,它是在计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。密钥是借助一种数学算法生成的,它通常是一个随机字符串,是控制明文和密文变换的惟一关键参数。安徽财经大学商务学院电子商务系3YoursitehereLOGO3.4.1私有密钥加密法1.私有密钥加密法的定义与应用原理所谓私有密钥加密(SecretkeyCryptography)就是指在计算机网络甲、乙两用户之间通信时,采用密钥A对信息进行加密而形成密文M并且发送接收方乙,接收方乙用同样的一把密钥A对收到的密文M进行解密,得到明文信息,从而完成密文通信目的的方法。这种信息加密传输方式就称为私有密钥加密法。安徽财经大学商务学院电子商务系4YoursitehereLOGO单钥加密、解密过程安徽财经大学商务学院电子商务系5YoursitehereLOGO密文M在网络传输过程中,如被窃取,若没有没有密钥A或无法破译,也不会泄密。私有密钥加密法中,加密和解密所用的算法是完全公开的,其关键是加密和解密所用的密钥。最大特点是信息发送方与信息接收方采用同样的密钥,具有对称性,所以私有密钥加密也称对称密钥加密。这种加密方式在应用上很方便安徽财经大学商务学院电子商务系6YoursitehereLOGO2、私有密钥加密法的使用过程具体到电子商务的网络支付与结算,很多环节要用到私有密钥加密法,例如,资金流信息的传输与交换。这里以发送方甲银行与接收方乙银行的一次资金信息传输为例,描述应用私有密钥加密法的使用过程。安徽财经大学商务学院电子商务系7YoursitehereLOGO(1)银行甲借助专业私有密钥加密算法生成私有密钥A,并且复制一份密钥A借助一个安全可靠通道(如采用后面的数字信封)秘密传递给银行乙;(2)银行甲在本地利用密钥A把信息明文加密成信息密文;(3)银行甲把信息密文借助网络通道传输给银行乙;(4)银行乙接收信息密文:(5)银行乙在本地利用一样的密钥A把信息密文解密成信息明文。这样银行乙就知道银行甲的资金转账通知单的内容,结束通信。安徽财经大学商务学院电子商务系8YoursitehereLOGO图4—9私有密钥加密法的应用过程示意图安徽财经大学商务学院电子商务系9YoursitehereLOGO3.私有密钥加密法的常用算法对信息的加密、解密使用相同的密钥著名的私有密钥加密算法有DES算法及其各种变形、国际数据加密算法IDEA以及RC4,RC5等。安徽财经大学商务学院电子商务系10YoursitehereLOGO4.私有密钥加密法的优缺点优点:是加密和解密速度快,应用简单。由于加/解密应用同一把密钥,而且应用简单,在专用网络中通信各方相对固定,所以应用效果较好。例如,在金融通信专网与军事通信专网的加密通信中。对于数据量较大的文件等传送,利用私有密钥加密法是比较有效率的。安徽财经大学商务学院电子商务系11YoursitehereLOGO问题:(1)分发:必须使用与传递加密文件不同的途径来传递密钥,即需要一个传递私有密钥的安全通道;由于算法公开,其安全性完全依赖于私有密钥的保护。密钥使用一段时间后就要更换,所以,单独应用私有密钥加密法难于满足开放式计算机网络环境的需求,特别是难于满足在Internet上开展电子商务的安全性方面的要求。安徽财经大学商务学院电子商务系12YoursitehereLOGO(2)管理:在通讯人数较多时,密钥数量庞大。当网络中有n个用户时,将至少需要n(n—1)/2个通信密钥。对于任一用户来讲,至少需要拥有n—1个密钥,才能与网络内其他n—1个用户进行加密通信。这对于Internet这样的大型、公众网络来说,用户群几乎无限,密钥量将是一个无穷数,如进行网络支付业务活动时,密钥的分配和保存就成了大问题,其代价高昂。安徽财经大学商务学院电子商务系13YoursitehereLOGO(3)难以进行用户身份的认定。采用私有密钥加密法实现信息传输,只是解决了数据的机密性问题,不能认证信息发送者的身份。上述不足和电子商务的发展需求,促使公开密钥加密法在网络支付服务中的应用更快速的发展。安徽财经大学商务学院电子商务系14YoursitehereLOGO3.4.2公开密钥加密法1.公开密钥加密法的定义与应用原理所谓公开密钥加密(PublickeyCryptography)是指在计算机网络中,甲、乙两用户之间进行通信时,发送方甲采用密钥A对信息进行加密,形成密文M并且发送给接收方乙,接收方乙用另一把密钥B对收到的密文M进行解密,得到明文信息,完成密文通信目的的方法。安徽财经大学商务学院电子商务系15YoursitehereLOGO与私有(对称)密钥加密法不同,公开密钥加密法的加密和解密所用的密钥是不同的,不对称,所以公开密钥加密法又称为非对称密钥加密法。在密钥A和密钥B这两把密钥中,其中一把为用户私有,另一把对网络上的大众用户是公开的,所以这种信息加密传输方式就称为公开密钥加密法。应用原理是,借助密钥生成程序生成密钥A与密钥B,这两把密钥在数学上相关,被称做密钥对。安徽财经大学商务学院电子商务系16YoursitehereLOGO双钥算法加密、解密过程安徽财经大学商务学院电子商务系17YoursitehereLOGO当用密钥对中其中一个密钥加密时,必须用另一个密钥解密,而同一密钥(加密时用的)不能解密,这就是所说的数学相关关系。在实际应用中,生成的密钥对中之一(如密钥A)由用户自己使用、保存,不与别人共享,叫做私人密钥(PrivateKey),也称私钥;而将另一个密钥(密钥B)通过网络公开散发出去(借助后面讲的数字证书渠道),由任何他人获取、使用,属于公开的共享密钥,叫做公开密钥(PublicKey),也称公钥。安徽财经大学商务学院电子商务系18YoursitehereLOGO两种应用情况1.”定向通信”2.”不可抵消”安徽财经大学商务学院电子商务系19YoursitehereLOGO2.公开密钥加密法的使用过程安徽财经大学商务学院电子商务系20YoursitehereLOGO(2)网络银行乙传送“支付确认”网络银行乙在按照收到的“支付通知”指令完成支付转账服务后,必须回送客户甲“支付确认”,客户甲在收到“支付确认”后,断定只能是网络银行乙发来的,而不是别人假冒的,将来可作支付凭证,从而实现对网络银行业务行为的认证,网络银行不能随意否认或抵赖。应用公开密钥加密法的过程示意图2安徽财经大学商务学院电子商务系21YoursitehereLOGO应用公开密钥加密法的示意图2安徽财经大学商务学院电子商务系22YoursitehereLOGO(1)网络银行乙在按照客户甲的要求完成相关资金转账后,准备一个“支付确认”明文,在本地利用自己的私人密钥A对“支付确认”明文进行加密,形成“支付确认”密文,通过网络将密文传输给客户甲。(2)客户甲收到“支付确认”密文后,只能用获得的网络银行乙的公开密钥B进行解密,形成“支付确认”明文,由于公开密钥B只能解密由私人密钥A加密的密文,而私人密钥A只有网络银行乙所有,因此客户甲断定这个“支付确认”只能是网络银行乙发来的,可做支付完成的凭证。安徽财经大学商务学院电子商务系23YoursitehereLOGO当然,在第一种情况下,为了方便银行确认“支付通知”只能是由客户甲发来的,不是假冒的,客户甲可以在“支付通知”密文的基础上再用自己的私人密钥加密,就可以认证自己的真实身份。思考一下,如何完成这个支付结算过程?由于公开密钥加密法的上述第二种应用用途可以保证信息发送方不可抵赖其发送行为,类似于传统商务中个人的手工签名功能,从而解决了在电子商务网络支付结算中“防抵赖”和“支付行为的认证”等问题,因此,公开密钥加密法是后面要讲的数字签名的支持技术之一。安徽财经大学商务学院电子商务系24YoursitehereLOGO3.公开密钥加密法的常用算法根据所基于的数学难题分类:大整数因子分解系统(代表性的有RSA算法)椭圆曲线离散对数系统(ECC算法)离散对数系统(代表性的有DSA算法)安徽财经大学商务学院电子商务系25YoursitehereLOGO4.公开密钥加密法的优缺点优点:(1)解决身份鉴别、认证。也许你并不认识某个商务实体,但只要你的服务器认为该实体的带公钥的数字证书是可靠的,就可以进行安全通信,这正是Web商务业务所要求的。(2)密钥分配简单、适合密钥分发等公开密钥可以像电话号码一样,告诉每个网络成员与商业伙伴,需要好好保管的只是一个私人密钥。(3)实现数字签名、解决数据的否认与抵赖公开密钥加密法能够很好地支持完成对传输信息的数字签名,解决数据的否认与抵赖问题。安徽财经大学商务学院电子商务系26YoursitehereLOGO缺点:计算量大,不适合信息量大、速度要求快的加密其最大缺陷就在于它的加/解密速度。RSA算法最快的情况也比DES慢两个数量级。一般来说,公开密钥加密法只适用于少量数据加密,如向客户传送信用卡或网络银行的密码。此外,在公开密钥加密法应用中,生成较长密钥的技术属于尖端高科技,美国在这种技术方面一直对中国进行封锁,所以中国暂时还没有比较完善的生成较长密钥的技术。安徽财经大学商务学院电子商务系27YoursitehereLOGO3.4.3私有密钥法和公开密钥法比较1)加密、解密的处理效率DES算法在效率上明显优于RSA算法,即DES算法快得多。因为DES密钥的长度通常只有56b,可以利用软件和硬件实现高速处理;而RSA算法密钥较长,需要进行诸如200b整数的乘幂和求模等多倍字长的处理,处理速度明显慢于DES算法。安徽财经大学商务学院电子商务系28YoursitehereLOGO2)密钥的分发与管理密钥分发与管理上,RSA算法优于DES算法3)安全性只要密钥够长,如112b密钥的DES算法和1024b的RSA算法的安全性就很好,目前还没找到在可预见的时间内破译它们的有效方法。4)数字签名和认证DES算法从原理上不可能实现数字签名和身份认证,但RSA算法能够方便地进行数字签名和身份认证,这对加强电子商务的安全性,特别是加强网络支付的安全性具有重大意义和实际用途。安徽财经大学商务学院电子商务系29YoursitehereLOGO改进的双钥算法安徽财经大学商务学院电子商务系30YoursitehereLOGO3.4.4数字信封1.数字信封的应用原理(1)信息加密与传递:对需要传送的较长信息(如电子合同、支付通知单)的加密采用速度较快的私有密钥加密法,形成信息密文M,即在加密前由发送方随机产生私有密钥P,并对要传送的信息明文进行加密,并传送给接受方。安徽财经大学商务学院电子商务系31YoursitehereLOGO(2)私有密钥P的传送与获取:借用公开密钥加密法利用接收方的公开密钥将刚才生成的较短的私有密钥P进行加密,形成私有密钥P密文,定点发送给接收方。接收方收到发送方传输来的私有密钥P的密文后,用自己的私人密钥解密,取出私有密钥P。(3)信息的获取:接收方把刚才取得