第四讲电子商务安全主讲人:苟清龙单位:中国科学技术大学信息管理与决策科学系Email:tslg@ustc.edu.cn2019/8/12目录电子商务安全概述信息加密技术信息认证技术数字证书与CA认证中心SSL协议其他电子商务安全2019/8/13第一节电子商务安全概述电子商务的安全威胁信息在网络的传输过程中被截获传输的文件可能被篡改伪造电子邮件假冒他人身份不承认已经做过的交易,抵赖2019/8/14电子商务的主要安全要素有效性机密性完整性可靠性/不可抵赖性/鉴别审查能力2019/8/15主要安全技术及其标准规范加密技术密钥管理技术数字签名Internet电子邮件安全协议安全电子交易规范(SET)……2019/8/16第二节信息加密技术这些小人在跳舞吗?2019/8/172019/8/182019/8/19这样的数字毫无意义么?2019/8/110加密的基本概念加密与解密所谓加密就是通过密码算术对数据(明文)进行转化,使之成为没有正确密钥任何人都无法读懂的报文。而这些以无法读懂的形式出现的数据一般被称为密文。解密是加密的逆过程。2019/8/111算法和密钥算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来控制对数据进行编码和解码方法的参数。2019/8/112加密的类型不考虑解密问题对称加密非对称加密2019/8/113密码体制的要求从截获的密文或明文-密文对,要确定密钥或任意明文在计算机上是不可行的。系统的保密性只依赖于密钥而不依赖于对加密体制的保密,换句话说加密体制可以对外公开而不影响系统的保密性。加密和解密算法适用于所有密钥空间中的元素。系统易于实现而且使用方便。2019/8/114对称密钥加密对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。2019/8/115DES密码体制最有名的密码算法第一个被公开的现代密码由IBM于1971年至1972年研制成功分组长度:64比特密钥长度:56比特目前DES已被视为不安全,普遍使用的是变种tripleDES,即对64比特分组加密三次,每次用不同的密钥,密钥长度总共168比特。2019/8/116比较著名的对称加密算法算法注释Blowfish块加密;布鲁斯·施奈尔(BruceSchneier)提出DES块加密;70年代提出IDEA块加密(被认为是现有最好的算法)RC2RC4RC5RC6块加密;RSA公司提出流加密块加密块加密TripleDES使用三个密钥的加密、解密、加密序列2019/8/117非对称加密体制非对称加密体制又称为双钥密钥体制或公开密钥体制。在该体制中,加密密钥(又称公开密钥)PK是对外公开的,加密算法E和解密算法D也是公开的,但解密密钥(又称秘密密钥)SK是保密的。虽然SK是由PK决定的,但却不能根据PK计算出SK。2019/8/118公开密钥算法具有以下特点用加密密钥PK对明文X加密后,再用解密密钥SK解密即得明文,即DSK(EPK(X))=X;加密密钥不能用来解密,即DPK(EPK(X)≠X;在计算机上可以容易地产生成对的PK和SK,但从已知的PK不可能推导出SK。2019/8/1192019/8/120RSA体制RSA算法是由Rivest,Shamir和Adleman于1978年提出的,曾被ISO/TC97的数据加密委员会SC20推荐为公开数据加密标准。RSA体制是根据寻求两个大素数容易,而将他们的乘积分解开则极其困难这一原理来设计的。2019/8/121RSA中的密钥是十分困难的。求出想从者满足一定关系,但破译而且是公开的,保密的只有该体制中,为两个大素数)。其中,私钥:公钥:dNeNdedNeqpqpNNdSKNePK,,,,,,(),(),(2019/8/122RSA中的加密与解密NYXNXYNYXYXdemod·mod·,:解密:加密:则为整数)密文。(:明文;令2019/8/123RSA中密钥中参数的选择。,即下式的,并计算出满足,作为公开的加密指数互素的数中选择一个与,第三步:用户从的欧拉数第二步:计算出公开;将计算出和两个大素数第一步:用户秘密选择)(mod)(mod1,)(1)(0·);1)(1()(·,,·)1))(((NedNeddeNNqpNNNqpNqpN2019/8/124RSA密码体制算例。解密:加密:取1755mod18mod;18·;1855mod17mod;17·;2740mod3)(mod;16)40())((,3·;40104)1)(1()(·;55115,11,5·273116)1))(((NYXYNXYXNedNeqpNNqpdeN2019/8/125RSA算法的安全性RSA安全性取决于对模n因数分解的困难性。1999年8月,荷兰国家数学与计算机科学研究所家们的一组科学家成功分解了512bit的整数,大约300台高速工作站与PC机并行运行,整个工作花了7个月。2019/8/1261999年9月,以色列密码学家AdiShamir设计了一种名叫“TWINKLE”的因数分解设备,可以在几天内攻破512bit的RSA密钥。(但要做到这一点,需要300-400台设备,每台设备价值5000美圆)。现有的RSA密码体制支持的密钥长度有512、1024、2048、4096等。2019/8/127两种密钥体制的优缺点比较对称加密体制的编码效率高对称密码体制在密钥分发与管理上存在困难,而非对称密码体制可以很好的解决这个问题2019/8/128比较著名的非对称加密算法算法注释ECCLUCRSA块加密;RSA公司提出2019/8/129两种密钥一起使用2019/8/130数字信封数字信封的工作流程数字信封的生成2019/8/1312019/8/132第三节信息认证技术攻击密码系统的两种方式被动攻击敌手只是对截获的密文进行分析而已。主动攻击敌手通过采取删除、增添、重放、伪造等手段主动向系统注入假消息。2019/8/133信息认证的目的验证信息的发送者是真正的而不是假冒的;验证信息的完整性,即验证信息在传送或存储中未被篡改、重放或延迟。2019/8/134对认证体制的要求意定的接受者能够检验和证实消息的合法性、真实性和完整性。消息的发送者不能够对所发的消息不能够抵赖,有时也要求消息的接受者不能否认所收到的消息。除了合法的消息发送者外,其他人不能伪造合法的消息。2019/8/135与信息认证相关的技术数字摘要数字签名技术数字信封数字时间戳2019/8/136数字摘要数字摘要简要地描述了一份较长的信息或文件,它可以被看作一份长文件的“数字指纹”。信息摘要用于创建数字签名,对于特定的文件而言,信息摘要是唯一的。信息摘要可以被公开,它不会透露相应文件的任何内容。2019/8/137摘要函数又称杂凑函数、杂凑算法或哈希函数,就是把任意长度的输入串变化成固定长度的输出串的一种函数。2019/8/138摘要函数的安全性输入长度是任意的;输出长度是固定的,根据目前的计算技术至少取128比特长,以便抵抗生日攻击;对每一个给定的输入,计算输出即杂凑值是很容易的;(a)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值在计算上是不可行的,或(b)给定杂凑憾事的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得他们杂凑到同一个值在计算上是不可行的。2019/8/139数字摘要的作用用于验证信息的完整性。2019/8/140比较著名的摘要算法算法注释MD2目前已放弃;RSA公司提出MD4目前已不安全;128位散列值;RSA公司提出MD5能提供较好的保密;128位散列值;RSA公司提出SHA1SHA的替代算法;160位散列值2019/8/141数字签名什么是数字签名数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。2019/8/142数字签名数字签名的作用保证信息完整信息发送者身份的验证2019/8/143数字签名工作流程(a)生成数字签名流程2019/8/144(b)验证数字签名流程2019/8/1452019/8/146数字时间戳什么是数字时间戳?数字时戳服务(DTS)采用强加密措施颁发时戳,该时戳将一个具体的日期和时间与数字文件关联在一起。数字时戳可以在以后的某个日期里用于证明在时戳所著的时间确实有这么一个电子文件存在。2019/8/1472019/8/148第四节数字证书与CA认证体系数字证书什么是数字证书?DigitalID也称数字证书,把身份与电子密钥对绑定,该密钥对可以对信息进行加密和签名。数字证书可以用于鉴别某人是否有权使用某个指定的密钥,也可以防止人们使用假冒的密钥来冒充他人。数字证书与密码术一起提供更为完整的安全性。数字证书由CA颁发,并利用CA的私钥签名。2019/8/149数字证书的内容数字证书一般包含以下内容:用户的公钥用户名公钥的有效期CA颁发者(颁发数字证书的CA)数字证书的序列号颁发者的数字签名2019/8/150数字证书的作用在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,它能够保证:信息除发送方和接受方外不被其他人窃取;信息在传输过程中不被篡改;接收方能够通过数字证书来确认发送方的身份;发送方对于自己发送的信息不能抵赖。2019/8/151数字证书的类型客户证书商家证书网关证书CA证书2019/8/152认证中心(CA)什么是认证中心?认证中心是进行网上安全电子交易认证服务、签发数字证书、确认用户身份的服务机构。认证中心的工作就是受理数字证书的申请、签发数字证书以及对数字证书进行管理。在电子商务交易中,需要有这样具有权威性和公正性的第三方来完成认证工作,使电子商务交易能够正常进行。例子:广东省电子商务认证中心2019/8/153CA认证体系的功能模型RS-接收用户证书申请的证书受理者RA-证书发放的审核部门CP-证书发放的操作部门CRL-记录作废证书的证书作废表2019/8/154CA认证体系结构2019/8/155第五节SSL协议SSL协议SSL(SecureSocketsLayer,安全套接层)协议最初由Netscape公司设计开发的,主要用于提高应用程序之间的数据安全系数。2019/8/156SSL协议规范SSL记录协议在SSL协议中,所有的传输数据都封装在记录中。SSL握手协议用于建立私密通信信道和客户认证。记录头记录数据2019/8/157SSL协议的工作流程2019/8/158SSL两种加密方式在建立连接过程中采用公开密钥;在会话过程中采用了专有密钥。2019/8/159SSL协议提供的服务用户和服务器的合法性认证;加密数据以隐藏被传输的数据;维护数据完整性2019/8/160第六节其他电子商务安全客户机面临的安全威胁活动内容活动内容是指在页面上嵌入的对用户透明的程序,它可完成一些动作。活动页面可显示动态图像、下载和播放音乐或实现基于WWW的电子表格程序。电子商务中使用的活动内容涉及将你选中的商品放入购物车并计算发票总额(包括销售税和送货费)。2019/8/161常见的活动内容形式Java小应用程序ActiveX控件JavaScriptVBscript2019/8/162Java小应用程序Java是Sun微系统公司开发的一种高级程序设计语言。Java是一种真正的面向对象的语言,这是一个很有用的特点,因为它支持代码重用。Java与平台无关,可在任何