网络银行基本知识安全空间课件

上传人:大米 文档编号:579195591 上传时间:2024-08-26 格式:PPT 页数:121 大小:190KB
返回 下载 相关 举报
网络银行基本知识安全空间课件_第1页
第1页 / 共121页
网络银行基本知识安全空间课件_第2页
第2页 / 共121页
网络银行基本知识安全空间课件_第3页
第3页 / 共121页
网络银行基本知识安全空间课件_第4页
第4页 / 共121页
网络银行基本知识安全空间课件_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《网络银行基本知识安全空间课件》由会员分享,可在线阅读,更多相关《网络银行基本知识安全空间课件(121页珍藏版)》请在金锄头文库上搜索。

1、网络银行安全网络银行安全一、风险分析:一、风险分析: 网络银行的安全并非仅仅由一两个安网络银行的安全并非仅仅由一两个安全要素构成的,而是由一系列紧密相关全要素构成的,而是由一系列紧密相关的安全要素组合而成的。这些要素是什的安全要素组合而成的。这些要素是什么?为什么需要它们?也就是说,在我么?为什么需要它们?也就是说,在我们探讨网络银行如何实现安全(怎么实们探讨网络银行如何实现安全(怎么实现安全要素)之前,我们必须清楚的了现安全要素)之前,我们必须清楚的了解网络银行到底需要哪些方面的安全保解网络银行到底需要哪些方面的安全保障以及为什么需要他们(涉及哪些安全障以及为什么需要他们(涉及哪些安全要素以

2、及这些安全要素的作用)。要素以及这些安全要素的作用)。 1网络银行基本知识安全空间确定研究思路:确定研究思路: 研究网络银行的安全实现,必须研究网络银行的安全实现,必须先知道网络银行究竟需要哪些方面的先知道网络银行究竟需要哪些方面的安全要素、这些安全要素可以实现什安全要素、这些安全要素可以实现什么功能(或者说需要他们的原因)、么功能(或者说需要他们的原因)、然后才是去分析具体如何实现这些安然后才是去分析具体如何实现这些安全要素。全要素。 因此,风险分析将作为网络银行因此,风险分析将作为网络银行安全研究的切入点,是后续网络银行安全研究的切入点,是后续网络银行安全技术分析的基础。安全技术分析的基础

3、。 2网络银行基本知识安全空间 一是网络风险:一是网络风险:网络银行是以互联网网络银行是以互联网为载体的业务平台,而互联网的一个重要为载体的业务平台,而互联网的一个重要特性就是开放性,网络银行系统不仅需要特性就是开放性,网络银行系统不仅需要具备处理正常业务请求的能力,还必须具具备处理正常业务请求的能力,还必须具备防范恶性备防范恶性数据攻击数据攻击或或服务攻击服务攻击的能力。的能力。 二是数据风险:二是数据风险:这主要包括:数据这主要包括:数据在传输之前通信双方需要确认双方身份的在传输之前通信双方需要确认双方身份的真实性、数据传输过程中数据不被篡改、真实性、数据传输过程中数据不被篡改、不被窃听;

4、不被窃听; 三是道德风险:三是道德风险:道德风险主要是指道德风险主要是指由网络银行交易双方中的任何一方因抵赖由网络银行交易双方中的任何一方因抵赖引发的风险,如某方在交易结束后拒绝承引发的风险,如某方在交易结束后拒绝承认交易请求的情况;认交易请求的情况;3网络银行基本知识安全空间 四是系统风险四是系统风险:这主要是指网络银行这主要是指网络银行业务系统本身由于在设计开发过程中存在业务系统本身由于在设计开发过程中存在某种程度的漏洞而造成的风险,网络银行某种程度的漏洞而造成的风险,网络银行系统本质上是为取代柜员手工操作而开发系统本质上是为取代柜员手工操作而开发的自助操作系统,而这种由手工到自助的的自助

5、操作系统,而这种由手工到自助的过程需要运用程序对操作逻辑进行大量的过程需要运用程序对操作逻辑进行大量的抽象,而对操作逻辑的抽象往往不仅限于抽象,而对操作逻辑的抽象往往不仅限于对正常操作逻辑的抽象,还包括对异常操对正常操作逻辑的抽象,还包括对异常操作逻辑的抽象。但是,由于引发异常的原作逻辑的抽象。但是,由于引发异常的原因可能是多种多样的,不可能在程序设计因可能是多种多样的,不可能在程序设计的初始阶段就预见到所有可能的异常。的初始阶段就预见到所有可能的异常。4网络银行基本知识安全空间 因此,网络银行系统的开发过程是一因此,网络银行系统的开发过程是一个逐步完善的过程,这就导致在不同阶个逐步完善的过程

6、,这就导致在不同阶段可能存在不同的系统异常从而引发系段可能存在不同的系统异常从而引发系统风险;统风险; 五是用户风险:五是用户风险:由于网络银行系统由于网络银行系统在银行一侧的运算与操作是由程序逻辑在银行一侧的运算与操作是由程序逻辑来完成的,因此,用户风险主要体现在来完成的,因此,用户风险主要体现在使用网银服务的用户由于对自己私有信使用网银服务的用户由于对自己私有信息管理不当造成私密信息丢失或被盗,息管理不当造成私密信息丢失或被盗,从而引发伪交易风险。从而引发伪交易风险。5网络银行基本知识安全空间 对于上述风险,最后两个方面存在一对于上述风险,最后两个方面存在一定的不可控性,因此不作为本章的重

7、点,定的不可控性,因此不作为本章的重点,而对于其他风险,我们一般通过如下过而对于其他风险,我们一般通过如下过程进行安全风险控制,例如:程进行安全风险控制,例如: 通过通过防火墙防火墙等网络安全机制来控制恶等网络安全机制来控制恶性数据攻击和服务攻击;通过性数据攻击和服务攻击;通过身份认证身份认证机制来实现数据通信双方的真实性、通机制来实现数据通信双方的真实性、通过过加密加密机制来防止数据传输被窃听、通机制来防止数据传输被窃听、通过过数字摘要数字摘要机制来防止数据在传输过程机制来防止数据在传输过程中被篡改;通过中被篡改;通过数字签名数字签名机制来实现抗机制来实现抗否认性,从而避免交易抵赖。否认性,

8、从而避免交易抵赖。6网络银行基本知识安全空间对于网络银行的安全风险防范,还对于网络银行的安全风险防范,还有两个必不可少的因素,它们是数字有两个必不可少的因素,它们是数字证书与证书与CACA。 数字证书的作用:数字证书的作用:首先是身份认证,在电子商务领域首先是身份认证,在电子商务领域目前大多采用证书认证方式,因此,目前大多采用证书认证方式,因此,数字证书是实现身份认证的必要因素;数字证书是实现身份认证的必要因素;7网络银行基本知识安全空间其次,由于数字签名只能证明签名方其次,由于数字签名只能证明签名方确实是使用某一私钥进行签名的,而必确实是使用某一私钥进行签名的,而必须通过数字证书来将私钥和用

9、户身份进须通过数字证书来将私钥和用户身份进行绑定,防范用户否认使用过该私钥,行绑定,防范用户否认使用过该私钥,从而保证用户无法抵赖。因此,数字证从而保证用户无法抵赖。因此,数字证书也是实现抗否认性的必要要素之一。书也是实现抗否认性的必要要素之一。CA的作用:的作用:数字证书的签发方是数字证书的签发方是CACA,即认证中心,即认证中心,CACA是产生、审核、管理证书的机构,是是产生、审核、管理证书的机构,是整个网路银行安全实现中必不可少的一整个网路银行安全实现中必不可少的一个安全要素个安全要素 8网络银行基本知识安全空间 在真实的网络应用中,尤其是基于在真实的网络应用中,尤其是基于Interne

10、tInternet的网络应用中,上述安全要素的网络应用中,上述安全要素不是孤立存在的,而是采用结合使用的不是孤立存在的,而是采用结合使用的方式来从多个方面保证电子商务交易的方式来从多个方面保证电子商务交易的有效性。有效性。 例如:交易双方会先进行身份认证例如:交易双方会先进行身份认证与密钥交换,然后再进行加密、签名等与密钥交换,然后再进行加密、签名等操作。由于认证、加密、签名等可以对操作。由于认证、加密、签名等可以对应多种组合机制,而每种机制中涉及的应多种组合机制,而每种机制中涉及的技术又有不同的算法。技术又有不同的算法。9网络银行基本知识安全空间 因此,如何在交易双方统一机制与算因此,如何在

11、交易双方统一机制与算法就成了一个需要规范的问题。而由此法就成了一个需要规范的问题。而由此就产生了相应的网络安全协议,如就产生了相应的网络安全协议,如SSLSSL与与SETSET。安全协议是交易双方。安全协议是交易双方协商协商和和实现实现安安全控制机制的规范,是我们在现实中综全控制机制的规范,是我们在现实中综合应用上述安全机制的具体方式。合应用上述安全机制的具体方式。 至此,我们分析了网络银行的各种安至此,我们分析了网络银行的各种安全风险,并概括的介绍了解决这些安全全风险,并概括的介绍了解决这些安全风险的安全要素,如加密、认证、摘要、风险的安全要素,如加密、认证、摘要、签名等。签名等。10网络银

12、行基本知识安全空间 还介绍了实现相关技术所依赖的辅助还介绍了实现相关技术所依赖的辅助实体,如实体,如CA,CA,以及辅助工具和辅助协议,以及辅助工具和辅助协议,如证书和如证书和SSLSSL。 需要明确指出的是:上述各种安全要需要明确指出的是:上述各种安全要素之间本身存在着一定的关系。理清这素之间本身存在着一定的关系。理清这些关系有利于我们把握某些具体的技术些关系有利于我们把握某些具体的技术方法在整个安全体系中的地位和作用,方法在整个安全体系中的地位和作用,而理解了一个安全要素的地位和作用无而理解了一个安全要素的地位和作用无疑将有助于我们把握学习的目的与意义疑将有助于我们把握学习的目的与意义11

13、网络银行基本知识安全空间首先最底层是防火墙技术,它用首先最底层是防火墙技术,它用来防范网络攻击方面的安全风险;来防范网络攻击方面的安全风险;12网络银行基本知识安全空间其次是身份认证与密钥交换,任何其次是身份认证与密钥交换,任何安全通信必须以身份认证为起始点,安全通信必须以身份认证为起始点,在身份认证的基础上双方交换密钥信在身份认证的基础上双方交换密钥信息,并按照交换的密钥来进行加密和息,并按照交换的密钥来进行加密和解密操作;解密操作;与加与加/解密平行的是数字摘要技术,解密平行的是数字摘要技术,它用来保证数据传输过程中不被篡改,它用来保证数据传输过程中不被篡改,即保证数据的完整性,这两个要素

14、共即保证数据的完整性,这两个要素共同实现了与数据风险相关的控制能力。同实现了与数据风险相关的控制能力。13网络银行基本知识安全空间再上层是数字签名机制、数字证书与再上层是数字签名机制、数字证书与CA,他们主要作用是实现数字签名来,他们主要作用是实现数字签名来进行抗否认性控制,防范道德风险;进行抗否认性控制,防范道德风险;最后是最后是SSL协议与协议与SET协议,它们是协议,它们是离用户最近的应用访问点,应用程序通离用户最近的应用访问点,应用程序通过提供用户接口来使用户可以通过应用过提供用户接口来使用户可以通过应用程序来调用它们,从而使用由它们实现程序来调用它们,从而使用由它们实现的安全机制并实

15、现通信双方的安全控制的安全机制并实现通信双方的安全控制能力。能力。14网络银行基本知识安全空间二、防火墙技术:二、防火墙技术: 1 1、认识防火墙:、认识防火墙: 防火墙是采用综合的网络技术设置在防火墙是采用综合的网络技术设置在被保护网络和外部网络之间的一道屏障,被保护网络和外部网络之间的一道屏障,用以分隔被保护网络与外部网络系统,防用以分隔被保护网络与外部网络系统,防止发生不可预测的、潜在破坏性的侵入。止发生不可预测的、潜在破坏性的侵入。防火墙是防火墙是不同网络不同网络或或网络安全域之间网络安全域之间信息的唯一出入口,仿佛是两个网络之间信息的唯一出入口,仿佛是两个网络之间的一道关卡。的一道关

16、卡。15网络银行基本知识安全空间(2)防火墙的功能:)防火墙的功能:根据企业的安全策略根据企业的安全策略(例如可以设(例如可以设置一个策略来规定哪些内部服务允许外置一个策略来规定哪些内部服务允许外部访问,哪些外部人员被许可访问所允部访问,哪些外部人员被许可访问所允许的内部服务,哪些外部服务可允许内许的内部服务,哪些外部服务可允许内部人员访问)部人员访问)控制控制(通过分析、限制)(通过分析、限制)出、入出、入网络的信息流,防止非法信息流网络的信息流,防止非法信息流入及非授权信息流出,并抵御入及非授权信息流出,并抵御(通过分(通过分析、过滤)析、过滤)恶性攻击恶性攻击。16网络银行基本知识安全空

17、间 防火墙还可以提供一些附加功能,例防火墙还可以提供一些附加功能,例如为网络管理提供如为网络管理提供安全参考安全参考、为整个网、为整个网络的安全运行提供络的安全运行提供完善的状态监控机制完善的状态监控机制, 例如它可以为网络管理人员提供如下例如它可以为网络管理人员提供如下信息信息:(1)(1)谁在使用网络谁在使用网络(访问者的源访问者的源IP)?(2)(2)他们在网上做什么他们在网上做什么(所访问的服务类型所访问的服务类型)?(3)(3)他们什么时间使用过网络他们什么时间使用过网络( (访问时间访问时间)?)?(4)(4)他他们们在在哪哪个个网网络络节节点点得得到到了了服服务务( (所所访访问

18、问的的目目的地址的地址)?)?(5)(5)哪哪些些流流入入或或流流出出地地数数据据请请求求没没有有发发送送成成功功( (过过滤以后的日志记录滤以后的日志记录)?)?17网络银行基本知识安全空间(3 3)防火墙的分类:)防火墙的分类: A.A.包过滤型包过滤型 包过滤型产品是防火墙的初级产品包过滤型产品是防火墙的初级产品,其技术依据是网络中的分组传输技术。其技术依据是网络中的分组传输技术。 网络上的数据都是以网络上的数据都是以“包包”为单位为单位进行传输的进行传输的,数据被分割成为一定大数据被分割成为一定大小的数据包小的数据包,每一个数据包中都会包每一个数据包中都会包含一些特定信息含一些特定信息

19、,如数据的源如数据的源/ /目标地目标地址、址、TCP/UDP源源/ /目标端口等。目标端口等。18网络银行基本知识安全空间 防火墙通过读取数据包中的地址信息防火墙通过读取数据包中的地址信息来判断这些来判断这些“包包”是否来自可信任的站是否来自可信任的站点点, ,一旦发现来自危险站点的数据包一旦发现来自危险站点的数据包, ,防防火墙便会将这些数据拒之门外。系统管火墙便会将这些数据拒之门外。系统管理员也可以根据实际情况灵活制订判断理员也可以根据实际情况灵活制订判断规则从而动态调整对数据包的过滤方式。规则从而动态调整对数据包的过滤方式。 包过滤技术的优点是简单实用包过滤技术的优点是简单实用, ,实

20、现成实现成本低本低, ,在应用环境比较简单的情况下在应用环境比较简单的情况下, ,能能够以较小的代价在一定程度上保证系统够以较小的代价在一定程度上保证系统安全。但包过滤技术的缺陷也是明显的安全。但包过滤技术的缺陷也是明显的: :19网络银行基本知识安全空间 包包过过滤滤技技术术是是一一种种完完全全基基于于网网络络层层的的安安全全技技术术, ,只只能能根根据据数数据据包包的的来来源源、目目标标和和端端口口等等网网络络信信息息进进行行判判断断,不不对对数数据据字字段段本本身身的的内内容容进进行行分分析析和和判判断断,它它只只对对头头部部信信息息,就就是是关关系系信信息息的的信信息息进进行行判判断断

21、,从从而而无无法法识识别别基基于于应应用用的的恶恶意意侵侵入入(因因为为应应用用数数据据内内容容是是在在数数据据字字段段中中的的,而而不不是是在在头头部部字字段段中中的的), ,如如恶恶意意的的JavaJava小小程程序序以以及及电电子子邮邮件件中中附附带带的的病病毒毒。有有经经验验的的黑黑客客很很容容易易伪伪造造IPIP地地址址, ,骗骗过过包包过过滤滤型型防防火火墙墙。20网络银行基本知识安全空间B.B.代理型代理型 代理型防火墙也被称为代理服务器代理型防火墙也被称为代理服务器,它的安全性要高于包过滤型产品它的安全性要高于包过滤型产品,并已并已经开始向应用层发展。代理服务器位经开始向应用层

22、发展。代理服务器位于客户机与服务器之间于客户机与服务器之间,完全阻挡了二完全阻挡了二者间的数据交流。从客户机来看者间的数据交流。从客户机来看,代理代理服务器相当于一台真正的服务器服务器相当于一台真正的服务器;而从而从服务器来看服务器来看,代理服务器又是一台真正代理服务器又是一台真正的客户机。的客户机。21网络银行基本知识安全空间 当客户机需要使用服务器上的数据时当客户机需要使用服务器上的数据时, ,首先将数据请求发给代理服务器(这个首先将数据请求发给代理服务器(这个过程的实现需要事先配置客户机上的应过程的实现需要事先配置客户机上的应用程序,以便应用程序知道代理服务器用程序,以便应用程序知道代理

23、服务器的存在,并将请求数据流发送给代理服的存在,并将请求数据流发送给代理服务器而不是最终接收并处理服务请求的务器而不是最终接收并处理服务请求的目标服务器)。代理服务器在接收到由目标服务器)。代理服务器在接收到由客户机传递来的数据包后,会继续向上客户机传递来的数据包后,会继续向上解封装,并最终得到应用层数据流。解封装,并最终得到应用层数据流。22网络银行基本知识安全空间 代理服务器侦测、扫描及分析这一代理服务器侦测、扫描及分析这一数据流,如果该数据流符合事先定义数据流,如果该数据流符合事先定义的数据特征,如满足某病毒数据特征的数据特征,如满足某病毒数据特征或者某应用协议数据特征,那么代理或者某应

24、用协议数据特征,那么代理服务器会过滤掉这一数据流(病毒过服务器会过滤掉这一数据流(病毒过滤)或进行协议过滤(如过滤掉滤)或进行协议过滤(如过滤掉FTPFTP协议中的协议中的PUTPUT命令而只允许命令而只允许GETGET命令),命令),否则它会分析并查询相关处理这一数否则它会分析并查询相关处理这一数据流的目标服务器信息,从而向目标据流的目标服务器信息,从而向目标服务器进行数据封装和数据发送。服务器进行数据封装和数据发送。 23网络银行基本知识安全空间 当请求经过处理被返回到代理服务当请求经过处理被返回到代理服务器时,再由代理服务器将数据传输给客器时,再由代理服务器将数据传输给客户机。由于外部服

25、务器与内部客户机之户机。由于外部服务器与内部客户机之间没有直接的数据通道间没有直接的数据通道, ,外部的恶意侵害外部的恶意侵害也就很难伤害到企业内部网络系统。也就很难伤害到企业内部网络系统。 代理型防火墙的优点是安全性较高,代理型防火墙的优点是安全性较高,由于不同的安全风险可能有不同的数据由于不同的安全风险可能有不同的数据特征体现,而有些数据特征必须是通过特征体现,而有些数据特征必须是通过较长的数据内容才能分析到的,而代理较长的数据内容才能分析到的,而代理服务器可以针对服务器可以针对应用层数据流应用层数据流进行侦测进行侦测和扫描。和扫描。24网络银行基本知识安全空间 这些侦侧和扫描可以为安全分

26、析提供这些侦侧和扫描可以为安全分析提供较多的较多的数据内容数据内容,从而提供了更多的,从而提供了更多的特特征分析的入口征分析的入口,而不仅仅局限于端口、,而不仅仅局限于端口、地址等网络层信息来进行分析,这对基地址等网络层信息来进行分析,这对基于应用层的数据入侵和病毒传播提供了于应用层的数据入侵和病毒传播提供了有效的控制机制。有效的控制机制。 代理型防火墙的缺点主要有两个,一代理型防火墙的缺点主要有两个,一是对系统的整体性能有较大的影响,主是对系统的整体性能有较大的影响,主要体现在要体现在数据分析数据分析和和服务映射服务映射上。上。25网络银行基本知识安全空间 所谓服务映射是代理服务器建立的一所

27、谓服务映射是代理服务器建立的一个映射表,当处理结果返回后,它可以个映射表,当处理结果返回后,它可以知道返回到某一端口的数据需要发送给知道返回到某一端口的数据需要发送给哪个内网的主机及该主机的哪个端口。哪个内网的主机及该主机的哪个端口。 缺点二:代理服务器是以应用为单位缺点二:代理服务器是以应用为单位实现的,客户端每需要增加一个被代理实现的,客户端每需要增加一个被代理的服务类型,就需要在代理服务器上多的服务类型,就需要在代理服务器上多配置一项代理服务,以便响应代理请求,配置一项代理服务,以便响应代理请求,而这样作大大增加了系统管理的复杂性,而这样作大大增加了系统管理的复杂性,不仅仅与此,为了实现

28、代理服务器的功不仅仅与此,为了实现代理服务器的功能,在每个客户机上都需要针对不同应能,在每个客户机上都需要针对不同应用设置相应的代理服务器信息。用设置相应的代理服务器信息。26网络银行基本知识安全空间 C. C.监测型监测型 监测型防火墙是新一代的产品监测型防火墙是新一代的产品, , 它它能够对各层的数据进行主动的、实时能够对各层的数据进行主动的、实时的监测的监测, ,在对这些数据加以分析的基础在对这些数据加以分析的基础上上, ,监测型防火墙能够有效地判断出各监测型防火墙能够有效地判断出各层中的非法侵入。层中的非法侵入。 监测型防火墙一般带有分布式探测监测型防火墙一般带有分布式探测器器, ,这

29、些探测器安置在各种应用服务器这些探测器安置在各种应用服务器和其他网络的节点之中和其他网络的节点之中, ,不仅能够检测不仅能够检测来自网络外部的攻击来自网络外部的攻击, ,同时对来自内部同时对来自内部的恶意破坏也有极强的防范作用。的恶意破坏也有极强的防范作用。27网络银行基本知识安全空间 据权威机构统计据权威机构统计, ,在针对网络系统在针对网络系统的攻击中的攻击中, ,有相当比例的攻击来自网有相当比例的攻击来自网络内部。因此络内部。因此, ,监测型防火墙不仅超监测型防火墙不仅超越了传统防火墙的定义越了传统防火墙的定义, ,而且在安全而且在安全性上也超越了前两代产品。性上也超越了前两代产品。 但

30、是,由于监测型防火墙技术的实但是,由于监测型防火墙技术的实现成本较高现成本较高, ,也不易管理也不易管理, ,所以目前在所以目前在实用中的防火墙产品仍然以第二代代实用中的防火墙产品仍然以第二代代理型产品为主理型产品为主, ,基于对系统成本与安基于对系统成本与安全技术成本的综合考虑全技术成本的综合考虑, ,用户可以选用户可以选择性地使用某些监测型技术。择性地使用某些监测型技术。28网络银行基本知识安全空间 三、密钥交换、身份认证与加密三、密钥交换、身份认证与加密 理解密钥交换必须先了解密码学的理解密钥交换必须先了解密码学的一些基本知识,如对称加密与非对称一些基本知识,如对称加密与非对称加密的原理

31、,因为密钥交换在这两种加密的原理,因为密钥交换在这两种密码体制下存在不同的处理方式。例密码体制下存在不同的处理方式。例如:如: 密钥交换可能被用于产生预共享密密钥交换可能被用于产生预共享密钥,也可能被用于产生会话密钥。钥,也可能被用于产生会话密钥。 而单钥机制下通信双方需要交换预而单钥机制下通信双方需要交换预共享密钥,这时最常用的密钥交换方共享密钥,这时最常用的密钥交换方式是式是DHDH密钥交换,而公钥机制下通信密钥交换,而公钥机制下通信双方不需要交换预共享密钥;双方不需要交换预共享密钥;29网络银行基本知识安全空间 同时,无论单钥还是公钥机制都会同时,无论单钥还是公钥机制都会交换会话密钥(保

32、证一次一密),而交换会话密钥(保证一次一密),而单钥下交换会话密钥采用的密钥交换单钥下交换会话密钥采用的密钥交换方式一般为预共享密钥交换方式,即方式一般为预共享密钥交换方式,即通过已经预先共享的密钥加密会话密通过已经预先共享的密钥加密会话密钥,而公钥机制下交换会话密钥多采钥,而公钥机制下交换会话密钥多采用用RSARSA密钥交换方式,即采用对方公密钥交换方式,即采用对方公钥加密会话密钥。钥加密会话密钥。30网络银行基本知识安全空间 从上面的举例分析中,我们可以看到,从上面的举例分析中,我们可以看到,密钥交换是与密码学紧密相关的,因此密钥交换是与密码学紧密相关的,因此介绍密钥交换之前,我们先介绍关

33、于加介绍密钥交换之前,我们先介绍关于加密的一些基本知识。密的一些基本知识。 同时,由于身份认证是通过加密机制同时,由于身份认证是通过加密机制来实现的(无论单钥还是公钥系统),来实现的(无论单钥还是公钥系统),所以加密技术也是身份认证的基础。所以加密技术也是身份认证的基础。 因此,我们可以通过分析加密过程与因此,我们可以通过分析加密过程与加密机制来了解与其相关的密钥交换和加密机制来了解与其相关的密钥交换和身份认证过程。身份认证过程。31网络银行基本知识安全空间1 1、什么是加密:、什么是加密: 加密技术就是在数据的发送方对数据加密技术就是在数据的发送方对数据以一定的算法进行运算,从而把原有的以一

34、定的算法进行运算,从而把原有的数据明文转化为不可识别的密文的技术。数据明文转化为不可识别的密文的技术。加密技术分为两类:即对称加密和非对加密技术分为两类:即对称加密和非对称加密。称加密。 (1 1)对称加密)对称加密 在对称加密技术中,对信息的加密和在对称加密技术中,对信息的加密和解密都使用相同的密钥,也就是说一把解密都使用相同的密钥,也就是说一把钥匙开一把锁。这种加密方法可简化加钥匙开一把锁。这种加密方法可简化加密处理过程,对称加密算法的信息交换密处理过程,对称加密算法的信息交换过程如下所示:过程如下所示: 32网络银行基本知识安全空间 A A和和B B协商加密算法协商加密算法 A A和和B

35、 B协商密钥协商密钥 A A用加密算法和选取的密钥加密明用加密算法和选取的密钥加密明文信息,得到密文文信息,得到密文 A A发送密文信息给发送密文信息给B BBB用同样的算法和密钥解密密文,用同样的算法和密钥解密密文,得到原始明文。得到原始明文。 对称加密模型采用特定的加密算法,对称加密模型采用特定的加密算法,其中最常用的是:其中最常用的是:DESDES(3DES3DES)和)和IDEAIDEA 33网络银行基本知识安全空间 DES( DES(简单数据加密标准简单数据加密标准) ):6464位分组,位分组,实际有效密钥长度为实际有效密钥长度为5656位。位。 IDEAIDEA(国际数据加密算法

36、):(国际数据加密算法):6464位位分组,分组,128128位密钥长度位密钥长度 三重三重DESDES:在:在DESDES基础上,收发双方基础上,收发双方用三把密钥进行连续加用三把密钥进行连续加/ /解密,这种方解密,这种方法大大提升了密码的安全性,但是也法大大提升了密码的安全性,但是也要花更多的时间来完成加密处理和对要花更多的时间来完成加密处理和对每个密层进行解密。由于双发都必须每个密层进行解密。由于双发都必须拥有拥有3 3个密钥,不能丢失其中任何一个,个密钥,不能丢失其中任何一个,这样也造成了密钥管理上的困难,因这样也造成了密钥管理上的困难,因此在现实中很少应用此在现实中很少应用3DES

37、3DES。34网络银行基本知识安全空间对称加密模型的不足(讨论思考)对称加密模型的不足(讨论思考) a.a.抗否认性缺陷抗否认性缺陷: :伪身份认证问题伪身份认证问题 基于对称加密方式的数据通信本身并基于对称加密方式的数据通信本身并不能实现抗否认性,这是由于双方共享不能实现抗否认性,这是由于双方共享一个密钥,任何一方都有可能伪装成另一个密钥,任何一方都有可能伪装成另一方,但却没有一种方式来鉴别伪装。一方,但却没有一种方式来鉴别伪装。 也就是说当一方否认进行交易请求的也就是说当一方否认进行交易请求的时候,没有一种机制来确定到底是它抵时候,没有一种机制来确定到底是它抵赖,还是交易的另一方在伪造交易

38、。赖,还是交易的另一方在伪造交易。(事实上,在特定条件下通过对称密钥(事实上,在特定条件下通过对称密钥机制也可以实现签名)机制也可以实现签名)35网络银行基本知识安全空间b.b.密钥管理的难度密钥管理的难度: :如果每对用户使用不如果每对用户使用不同的密钥,那么同的密钥,那么N N个用户的网络就需要个用户的网络就需要N N(N-1N-1)/2/2个密钥;个密钥; c. c.密钥交换的难度密钥交换的难度: :没有一个绝对安全没有一个绝对安全的途径来分配密钥的途径来分配密钥 关于对称加密中的密钥交换:关于对称加密中的密钥交换: 对称加密的通信双方需要对预共享密对称加密的通信双方需要对预共享密钥进行

39、密钥交换(第二步),由于通信钥进行密钥交换(第二步),由于通信双方在无共享密钥的前提下无法实现安双方在无共享密钥的前提下无法实现安全的网络传输,因此,需要一种在公开全的网络传输,因此,需要一种在公开环境下安全交换密钥的方式环境下安全交换密钥的方式36网络银行基本知识安全空间 Diffie-Hellman Diffie-Hellman算法是第一个公开密算法是第一个公开密码算法,其安全性基于有限域上计算离码算法,其安全性基于有限域上计算离散对数的困难性。散对数的困难性。 首先首先A A和和B B协商一个大素数协商一个大素数n n和和g g,这两,这两个素数不必是秘密的;个素数不必是秘密的; A A

40、选取一个大随机数选取一个大随机数x x并且发送给并且发送给B B:X=gX=gx xmodnmodn; B B也选取一个大随机数也选取一个大随机数y y,并发送给,并发送给A A:Y=gY=gy ymodnmodn;A计算计算K=Yxmodn=(gymodn)xmodnB计算计算K=Xymodn=(gxmodn)ymodn37网络银行基本知识安全空间对于模运算,存在公式:对于模运算,存在公式:(ramodq)bmodq=(rab)modq因此因此K=K=gxymodn,所以双方可以,所以双方可以获得一个共享的密钥,当窃听者获得获得一个共享的密钥,当窃听者获得Y和和X时,由于很难得到相应的时,由

41、于很难得到相应的x,y,所以,所以并不能获得并不能获得K,从而保证了双方密钥的,从而保证了双方密钥的安全交换。安全交换。 38网络银行基本知识安全空间关于对称加密条件下的身份认证:关于对称加密条件下的身份认证: 对于对称加密而言,由于通信双方对于对称加密而言,由于通信双方共享一个密钥,因此,如果一方可以共享一个密钥,因此,如果一方可以正确解密得到的密文,那么就说明发正确解密得到的密文,那么就说明发送方确实是采用了共享密钥进行加密,送方确实是采用了共享密钥进行加密,而共享密钥只有合法的发送方有,所而共享密钥只有合法的发送方有,所以证明当前发送方身份是合法的。以证明当前发送方身份是合法的。39网络

42、银行基本知识安全空间(2 2)非对称加密)非对称加密/ /公开密钥加密公开密钥加密 产生背景:产生背景:在在对对称称密密钥钥体体制制中中,加加密密运运算算与与解解密密运运算算使使用用同同样样的的密密钥钥。通通常常,使使用用的的加加密密算算法法比比较较简简便便高高效效,密密钥钥简简短短,破破译译也也有有一一定定困困难难。但但是是,在在公公开开的的计计算算机机网网络络上上安安全全的的传传送送和和保保管管密密钥钥是是一一个个严严峻峻的的问问题题。首首先先,它它要要求求提提供供一一条条安安全全的的渠渠道道使使通通信信双双方方在在首首次次通通信信时时协协商商一一个个共同的密钥。共同的密钥。40网络银行基

43、本知识安全空间(2 2)非对称加密)非对称加密/ /公开密钥加密公开密钥加密 产生背景:产生背景: 直接面对面协商是不现实的,所以双直接面对面协商是不现实的,所以双方可能会通过非安全的手段来进行协商。方可能会通过非安全的手段来进行协商。一旦被第三方用非法手段获取密钥,其一旦被第三方用非法手段获取密钥,其后果可想而知。后果可想而知。 再者,密钥的数目将快速增长以至于再者,密钥的数目将快速增长以至于难于管理,所以很难适应开放环境下的难于管理,所以很难适应开放环境下的巨量处理。为了解决信息公开传送和密巨量处理。为了解决信息公开传送和密钥管理问题,非对称加密模型应运而生。钥管理问题,非对称加密模型应运

44、而生。41网络银行基本知识安全空间(2 2)非对称加密)非对称加密/ /公开密钥加密公开密钥加密 定义:定义: 非非对对称称密密钥钥模模型型也也称称为为公公钥钥模模型型,它它使使用用两两个个不不同同的的密密钥钥:一一个个用用来来加加密密信信息息,另另一一个个用用来来解解密密信信息息。用用户户把把其其中中一一个个密密钥钥公公开开,该该密密钥钥称称为为公公开开密密钥钥,简简称称公公钥钥。另另一一个个密密钥钥保保密密,该该密密钥钥也也称称私私钥钥,公公钥钥与与私私钥钥是是数数学学相相关关的的。根根据据应应用用的的需需要要,发发送送方方可可以以使使用用发发送送方方的的私私钥钥、接接受受方方的的公公钥钥

45、,或或者者两两者者都都使使用用,以完成某种类型的功能。以完成某种类型的功能。42网络银行基本知识安全空间(2 2)非对称加密)非对称加密/ /公开密钥加密公开密钥加密 应用应用身份认证与加密:身份认证与加密:通通常常,可可以以将将非非对对称称密密钥钥系系统统的的应应用用分为三类:分为三类:加加密密/ /解解密密:发发送送方方用用接接收收方方的的公公钥钥加加密报文。密报文。认证:发送方用自己的私钥加密报文。认证:发送方用自己的私钥加密报文。加加密密与与认认证证:发发送送方方私私钥钥加加密密然然后后接接收方公钥加密收方公钥加密幻幻 灯灯 演演 示示 : 非非 对对 称称 加加 密密 与与 认认 证

46、证43网络银行基本知识安全空间关于预共享密钥交换关于预共享密钥交换从上面的应用分析中,我们可以看出,从上面的应用分析中,我们可以看出,非对称加密方式可以使通信双方无须非对称加密方式可以使通信双方无须事先交换密钥就可以建立安全通信,事先交换密钥就可以建立安全通信,它不同于对称加密模型,通信双方需它不同于对称加密模型,通信双方需要预先建立一个预共享密钥,因此非要预先建立一个预共享密钥,因此非对称加密模型不需要通过某种密钥交对称加密模型不需要通过某种密钥交换方式(如换方式(如DHDH)来进行预共享密钥交)来进行预共享密钥交。 44网络银行基本知识安全空间算法:算法: RSARSA算法是非对称加密领域

47、内最著名的算法是非对称加密领域内最著名的算法。算法。RSARSA公开密钥系统是由公开密钥系统是由R.Rivest R.Rivest 、A.Shamir A.Shamir 、L.AdlemanL.Adleman三个人于三个人于19771977年提出的。年提出的。RSARSA的取名就是由三个人的名的取名就是由三个人的名字而来。字而来。RSARSA的安全性依赖于作为公钥的的安全性依赖于作为公钥的大数大数N N的位数长度。为保证足够的安全性,的位数长度。为保证足够的安全性,一般认为,个人应用需要用一般认为,个人应用需要用512512位或位或768768位的位的N N,公司应用需要用,公司应用需要用10

48、241024位的位的N N,极,极其重要的场合应用其重要的场合应用20482048位的位的N N。45网络银行基本知识安全空间 RSA RSA算法产生密钥对的过程如下:算法产生密钥对的过程如下: 选择两个大素数,选择两个大素数,p p 和和q q 。计算:。计算:n n = p * q= p * q 然后随机选择加密密钥然后随机选择加密密钥e e,要求,要求e e和和(p-1)*(q-1)(p-1)*(q-1)互质。互质。 最后,利用最后,利用EuclidEuclid算法计算解密密算法计算解密密钥钥d d,满足,满足e * d=1(mod(p-1)*(q-1)e * d=1(mod(p-1)*

49、(q-1)其中其中n n和和d d也要互质。也要互质。 数数e e和和n n是公钥,是公钥,d d是私钥。两个素数是私钥。两个素数p p和和q q不再需要,应该丢弃。不再需要,应该丢弃。46网络银行基本知识安全空间 对于如何运用公钥加密以及运用私钥对于如何运用公钥加密以及运用私钥解密(即加密和解密的具体运算方式),解密(即加密和解密的具体运算方式),以及对加解密等数学运算的验证过程在以及对加解密等数学运算的验证过程在这里我们就不作过多的介绍了,详细内这里我们就不作过多的介绍了,详细内容感兴趣的同学可以参考:容感兴趣的同学可以参考:公钥基础设施公钥基础设施PKIPKI与认证机构与认证机构CACA

50、 主编:关振胜,主编:关振胜,P43P43页。页。 CFCA CFCA金融系统技术培训丛书。金融系统技术培训丛书。密码学与网络安全技术基础密码学与网络安全技术基础 主编:汤惟主编:汤惟,P50,P50页。页。 普通高等教育规划教材。普通高等教育规划教材。 47网络银行基本知识安全空间 四、数字摘要与报文鉴别码四、数字摘要与报文鉴别码MACMAC前面简单介绍了一下加密与认证前面简单介绍了一下加密与认证的过程,我们说加密与认证能够实现的过程,我们说加密与认证能够实现身份鉴别和私密控制,但是如果密文身份鉴别和私密控制,但是如果密文在数据传输过程中发生错误,如被第在数据传输过程中发生错误,如被第三方篡

51、改,这种情况下,接受方是无三方篡改,这种情况下,接受方是无法得知错误发生的(传输层与数据链法得知错误发生的(传输层与数据链路层用于检错的参数也会被第三方更路层用于检错的参数也会被第三方更改。)改。)假设第三方无法破译密文假设第三方无法破译密文,他,他可以对截获的密文直接进行篡改,然可以对截获的密文直接进行篡改,然后在传输层产生新数据段并生成头部后在传输层产生新数据段并生成头部校验字段校验字段48网络银行基本知识安全空间 然后在数据链路层基于新的内容产生然后在数据链路层基于新的内容产生冗余校验码,再生成比特流发送给接收冗余校验码,再生成比特流发送给接收方。这样接受方由于不能通过传输层与方。这样接

52、受方由于不能通过传输层与数据链路层的检错机制来发现错误,所数据链路层的检错机制来发现错误,所以不会知道这是被篡改的密文,而会像以不会知道这是被篡改的密文,而会像接收正常密文一样对其进行解密处理,接收正常密文一样对其进行解密处理,根据错误程度不同,错误处理可能导致根据错误程度不同,错误处理可能导致双方正常通信失败,也有可能导致一定双方正常通信失败,也有可能导致一定的经济损失。的经济损失。49网络银行基本知识安全空间 为了解决上述问题,人们采用数字摘为了解决上述问题,人们采用数字摘要来作为防范措施。要来作为防范措施。 什么是数字摘要呢?什么是数字摘要呢? 数字摘要一般由散列函数产生,散列数字摘要一

53、般由散列函数产生,散列函数是单向函数是单向HashHash函数的一个变种,单向函数的一个变种,单向HashHash函数是现代密码学中心。函数是现代密码学中心。 Hash Hash函数保证从预映射的值很容易产函数保证从预映射的值很容易产生生H H值,但要产生一个预映射的值使其值,但要产生一个预映射的值使其H H值等于特使值却很困难。好的值等于特使值却很困难。好的H H函数是无函数是无冲突的:难于产生两个预映射值,使它冲突的:难于产生两个预映射值,使它们的们的H H值相同。值相同。50网络银行基本知识安全空间 单向单向HashHash函数一般在运算时需要添加函数一般在运算时需要添加参数来对报文内容

54、进行分散,但散列函参数来对报文内容进行分散,但散列函数不需要添加参数,只要有相同的算法数不需要添加参数,只要有相同的算法即可。它以一个不定长的报文作为输入,即可。它以一个不定长的报文作为输入,产生一个定长的数字摘要作为输出。数产生一个定长的数字摘要作为输出。数字摘要是报文中所有比特的函数值,任字摘要是报文中所有比特的函数值,任意比特的变化都会使数字摘要改变。意比特的变化都会使数字摘要改变。 数字摘要算法:数字摘要算法:(1 1)MD5MD5(Message Digest v5)(Message Digest v5)51网络银行基本知识安全空间 MD5 MD5数字摘要算法于数字摘要算法于1991

55、1991年发表,它年发表,它采用散列函数将需加密的明文按采用散列函数将需加密的明文按512512比比特进行分组,分组摘要成长度为特进行分组,分组摘要成长度为128128比比特的密文,数字摘要有固定的长度,不特的密文,数字摘要有固定的长度,不同的明文摘要成密文,其结果总是不同同的明文摘要成密文,其结果总是不同的,而同样的明文摘要必定一致。的,而同样的明文摘要必定一致。 随着密码分析技术的发展,随着密码分析技术的发展,MD5MD5可能可能受到强行攻击。因此需要具有更长的散受到强行攻击。因此需要具有更长的散列值和更强的抗密码分析攻击的散列函列值和更强的抗密码分析攻击的散列函数来代替数来代替MD5MD

56、5算法,由此产生了算法,由此产生了SHA-1SHA-1。52网络银行基本知识安全空间(2 2)安全散列算法()安全散列算法(SHA-1SHA-1,Secure Hash Secure Hash AlgorithmAlgorithm) 由由ANSIANSI和美国国家安全局共同设计。和美国国家安全局共同设计。SHA-1SHA-1将输入报文以将输入报文以512512比特为分组进行比特为分组进行处理,输出处理,输出160160比特的数字摘要。比特的数字摘要。 报文的总体处理过程和报文的总体处理过程和MD5MD5的结构相同的结构相同,但,但SHA-1SHA-1和和MD5MD5的最大区别在于其比的最大区别

57、在于其比MD5MD5摘要长摘要长3232比特。这使得比特。这使得SHA-1SHA-1对强行对强行攻击的强度更大。但由于攻击的强度更大。但由于SHA-1SHA-1的循环步的循环步骤比骤比MD5MD5多且要处理的缓存大,所以多且要处理的缓存大,所以SHA-1SHA-1运行的速度比运行的速度比MD5MD5慢。慢。53网络银行基本知识安全空间 采用报文采用报文+ +摘要的方式可以防止中间摘要的方式可以防止中间截取报文的第三方随意篡改报文。但是,截取报文的第三方随意篡改报文。但是,如果截取方可以解密报文,那么他便可如果截取方可以解密报文,那么他便可以得到明文与摘要的一个组合,进而很以得到明文与摘要的一个

58、组合,进而很容易分析明文部分和摘要部分,并对明容易分析明文部分和摘要部分,并对明文加以篡改,然后对篡改后的明文重新文加以篡改,然后对篡改后的明文重新进行摘要运算,最后再将这些信息进行进行摘要运算,最后再将这些信息进行组合并通过加密发送给接收方,接收方组合并通过加密发送给接收方,接收方根本不会知道第三方对数据进行了篡改。根本不会知道第三方对数据进行了篡改。54网络银行基本知识安全空间 对于上述问题,人们发现,如果能有对于上述问题,人们发现,如果能有一种方法使第三方无法产生正确的摘要,一种方法使第三方无法产生正确的摘要,那么即使第三方破译了密文,改变了明那么即使第三方破译了密文,改变了明文,由于他

59、进行摘要运算的结果始终不文,由于他进行摘要运算的结果始终不会与接收方进行摘要运算的结果相同的会与接收方进行摘要运算的结果相同的话,那么他的篡改也会被接受方识别为话,那么他的篡改也会被接受方识别为无效数据,从而防止篡改成功。为此,无效数据,从而防止篡改成功。为此,人们设计了报文鉴别码(人们设计了报文鉴别码(MACMAC)。)。 什么是报文鉴别码(什么是报文鉴别码(MACMAC)? ? MAC MAC是是报文报文和和密钥密钥的函数。的函数。55网络银行基本知识安全空间 它假设它假设通信双方通信双方A A和和B B共享一个密钥共享一个密钥K K(即(即MACMAC密钥,注意密钥,注意MACMAC密钥

60、与加密密密钥与加密密钥并不相同,关于他如何产生如何共享钥并不相同,关于他如何产生如何共享我们在下一个主题中会进行补充说明)。我们在下一个主题中会进行补充说明)。 当当A A要发送报文到要发送报文到B B时,先计算时,先计算MACMAC,然后将报文加上然后将报文加上MACMAC后发给后发给B B。B B用相同用相同的密钥对报文进行相同的计算可以得到的密钥对报文进行相同的计算可以得到一个一个MACMAC,并与收到的,并与收到的MACMAC比较,从而判比较,从而判断对方身份的合法性。断对方身份的合法性。 由于由于MACMAC在发送方和接收方的运算完在发送方和接收方的运算完全相同,它采用不可逆函数,从

61、而保证全相同,它采用不可逆函数,从而保证比加密函数更难破解。比加密函数更难破解。56网络银行基本知识安全空间 当报文被第三方截获的后,虽然他可当报文被第三方截获的后,虽然他可以破译加密的密文,得到明文与以破译加密的密文,得到明文与MACMAC,但若想更改明文,则必须对新产生的明但若想更改明文,则必须对新产生的明文重新计算文重新计算MACMAC,然后替换掉原,然后替换掉原MACMAC,由,由于于MACMAC的计算过程不同于摘要过程,仅的计算过程不同于摘要过程,仅仅以报文作为输入参数,还需要双方共仅以报文作为输入参数,还需要双方共享的享的MACMAC密钥作为输入参数来计算密钥作为输入参数来计算MA

62、CMAC值值,而截取方由于很难通过单向,而截取方由于很难通过单向HASHHASH函数函数(不可逆函数)来得到(不可逆函数)来得到MACMAC密钥,因此密钥,因此他无法生成新的他无法生成新的MACMAC值,从而无法对截值,从而无法对截获的报文进行有效伪造。获的报文进行有效伪造。57网络银行基本知识安全空间 通过在报文传输过程中加入报文鉴通过在报文传输过程中加入报文鉴别码而不是简单加入摘要可以实现通信别码而不是简单加入摘要可以实现通信双方在加密密钥被破解的条件下,其通双方在加密密钥被破解的条件下,其通信数据也不会被第三方伪造,但是,由信数据也不会被第三方伪造,但是,由于加密密钥的破解,第三方可以对

63、通信于加密密钥的破解,第三方可以对通信进行窃听。进行窃听。58网络银行基本知识安全空间 五、关于密钥交换的补充五、关于密钥交换的补充 前面我们说了,密钥交换适用于两个前面我们说了,密钥交换适用于两个场合,一是用于分配预共享密钥,这主场合,一是用于分配预共享密钥,这主要用在对称密钥系统下;二是用于交换要用在对称密钥系统下;二是用于交换会话密钥,在对称和非对称密钥系统下会话密钥,在对称和非对称密钥系统下都需要使用。都需要使用。 对于预共享密钥的密钥交换方式,我对于预共享密钥的密钥交换方式,我们在前面已经介绍了相关的们在前面已经介绍了相关的DHDH密钥交换密钥交换方式,下面我们主要介绍一下对会话密方

64、式,下面我们主要介绍一下对会话密钥进行密钥交换。钥进行密钥交换。59网络银行基本知识安全空间 什么是会话密钥呢?什么是会话密钥呢? 无论是单钥体系还是公钥体系对信息无论是单钥体系还是公钥体系对信息的直接加密都存在一个安全缺陷,那就的直接加密都存在一个安全缺陷,那就是存在分析漏洞,原因在于每次加密采是存在分析漏洞,原因在于每次加密采用的均是同一个密钥(共享密钥用的均是同一个密钥(共享密钥/ /对方公对方公钥),如果存在中间人攻击,只要不断钥),如果存在中间人攻击,只要不断采用明文测试、密文截取的方式就可以采用明文测试、密文截取的方式就可以破解密码系统,获得密钥。所以采用一破解密码系统,获得密钥。

65、所以采用一次一密的方式,在每次会话时生成不同次一密的方式,在每次会话时生成不同的会话密钥,是避免上述攻击的一个有的会话密钥,是避免上述攻击的一个有效方法。效方法。60网络银行基本知识安全空间 但是,这需要在每次会话初始化的时但是,这需要在每次会话初始化的时在通信双方进行实时的密钥分配工作,在通信双方进行实时的密钥分配工作,即会话密钥交换。即会话密钥交换。 而如何产生和交换会话密钥正是密钥而如何产生和交换会话密钥正是密钥交换需要解决的问题之一。交换需要解决的问题之一。 密钥交换方式:密钥交换方式: 对于对程加密模型,最常用的会话密对于对程加密模型,最常用的会话密钥交换方式是采用预共享密钥来进行密

66、钥交换方式是采用预共享密钥来进行密钥交换;而对于非对称加密模型则主要钥交换;而对于非对称加密模型则主要采用采用RSARSA方式来进行会话密钥交换。方式来进行会话密钥交换。61网络银行基本知识安全空间 两者的过程都很简单:两者的过程都很简单: 对于前者,通县双方由于已经预先分对于前者,通县双方由于已经预先分配了一个预共享密钥,那么双方中的任配了一个预共享密钥,那么双方中的任何一方可以随机产生一个密钥(会话密何一方可以随机产生一个密钥(会话密钥),然后用预共享密钥对会话密钥加钥),然后用预共享密钥对会话密钥加密,然后发送给另一方。密,然后发送给另一方。 对于后者,首先通过任一方来随机产对于后者,首

67、先通过任一方来随机产生一个会话密钥,产生方用接受方的公生一个会话密钥,产生方用接受方的公钥加密这个会话密钥,然后发送给对方。钥加密这个会话密钥,然后发送给对方。62网络银行基本知识安全空间 会话密钥的处理会话密钥的处理 通过密钥交换,通信双方可以对某一通过密钥交换,通信双方可以对某一次通信会话产生专用的会话密钥,而产次通信会话产生专用的会话密钥,而产生的这个会话密钥在实际应用过程中会生的这个会话密钥在实际应用过程中会通过伪随机函数进行随机处理,消除这通过伪随机函数进行随机处理,消除这个会话密钥与预共享密钥(对应通过单个会话密钥与预共享密钥(对应通过单钥机制生成会话密钥的场合)或者与私钥机制生成

68、会话密钥的场合)或者与私钥(对应通过公钥机制生成会话密钥的钥(对应通过公钥机制生成会话密钥的场合)之间可能存在的相关性。场合)之间可能存在的相关性。 运算后得到的新的会话密钥叫主密钥。运算后得到的新的会话密钥叫主密钥。63网络银行基本知识安全空间 生成主密钥后,生成主密钥后,主密钥会再通过一个主密钥会再通过一个特殊的函数运算得到一个密钥组,密钥特殊的函数运算得到一个密钥组,密钥组中会包括本次会话的加密密钥、组中会包括本次会话的加密密钥、MACMAC密钥等内容密钥等内容,而这些加密密钥和,而这些加密密钥和MACMAC密密钥才是真正在通信过程进行加密运算和钥才是真正在通信过程进行加密运算和MACM

69、AC运算时使用的密钥。运算时使用的密钥。64网络银行基本知识安全空间六、数字签名六、数字签名(1 1)什么是数字签名)什么是数字签名 数字签名是信息发送者用其私钥对传数字签名是信息发送者用其私钥对传输报文的特征数据(数字摘要)进行输报文的特征数据(数字摘要)进行“运算运算”(如(如RSARSA签名采用加密操作而签名采用加密操作而DSADSA签名采用其他性质的函数操作)操作,签名采用其他性质的函数操作)操作,并将结果与报文一起经过正常的加密过并将结果与报文一起经过正常的加密过程发送到接收方;在接受方,接收者会程发送到接收方;在接受方,接收者会通过正常的身份认证和解密过程得到报通过正常的身份认证和

70、解密过程得到报文及文及”运算运算”结果。接受方通过计算得结果。接受方通过计算得到报文摘要,并结合发送方的公钥来验到报文摘要,并结合发送方的公钥来验证发送方的签名的过程。证发送方的签名的过程。 65网络银行基本知识安全空间 (2 2)数字签名的作用:)数字签名的作用: A.A.保证信息是由签名者自己签名发保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;送的,签名者不能否认或难以否认; B. B.保证信息自签发后到收到为止未保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实的,曾作过任何修改,签发的文件是真实的,完整的。完整的。 (3)(3)数字签名的方式数字签名的方式 常用

71、的签名方式是常用的签名方式是RSARSA数字签名和数字签名和DSADSA数字签名,我们先来介绍一下数字签名,我们先来介绍一下RSARSA数字数字签名的过程,然后再来看签名的过程,然后再来看DSADSA数字签名。数字签名。66网络银行基本知识安全空间 RSARSA数字签名过程:数字签名过程: (1) (1) 发送方首先用散列函数从原文得发送方首先用散列函数从原文得到数字摘要,然后采用公开密钥体系用到数字摘要,然后采用公开密钥体系用发送方的私钥对数字摘要进行加密,形发送方的私钥对数字摘要进行加密,形成了数字签名,然后将其附在要发送原成了数字签名,然后将其附在要发送原文的后面。文的后面。 (2) (

72、2) 发送方选择一个秘密密钥对组合发送方选择一个秘密密钥对组合体加密,并经过网络传送密文到接收方。体加密,并经过网络传送密文到接收方。 (3) (3) 发送方用接收方的公开密钥对秘发送方用接收方的公开密钥对秘密密钥加密(密密钥加密(RSARSA密钥分配),并通过密钥分配),并通过网络把加密后的秘密密钥传送给接收方。网络把加密后的秘密密钥传送给接收方。67网络银行基本知识安全空间 (4) (4) 接收方使用自己私钥对秘密密钥接收方使用自己私钥对秘密密钥进行解密,并得到秘密密钥的明文。进行解密,并得到秘密密钥的明文。 (5) (5) 接收方用秘密密钥对文件进行解接收方用秘密密钥对文件进行解密,得到

73、报文和数字签名。密,得到报文和数字签名。 (6) (6) 接受方用得到的明文和散列函数接受方用得到的明文和散列函数重新计算数字摘要,并用发送方公开密重新计算数字摘要,并用发送方公开密钥对数字签名解密,得到发送方计算的钥对数字签名解密,得到发送方计算的数字摘要,比较两个数字摘要,若相同,数字摘要,比较两个数字摘要,若相同,说明文件在传输过程中没有被破坏。说明文件在传输过程中没有被破坏。68网络银行基本知识安全空间 DSADSA签名过程签名过程 Digital Signature Digital Signature AlgorithmAlgorithm(DSADSA)签名和)签名和RSARSA签名

74、在处理签名在处理过程上基本一致,只是在签名方法上有过程上基本一致,只是在签名方法上有所不同,所不同,RSARSA只是用发送方的私钥对摘要只是用发送方的私钥对摘要进行加密就形成了签名,而验证签名也进行加密就形成了签名,而验证签名也只是通过公钥对其解密,然后与接受方只是通过公钥对其解密,然后与接受方自己计算的摘要进行比较来验证。但是自己计算的摘要进行比较来验证。但是DSADSA签名并不是通过加密的方式来形成签签名并不是通过加密的方式来形成签名,名,DSADSA签名的具体算法如下所示:签名的具体算法如下所示:69网络银行基本知识安全空间 算法中应用了下述参数,其中算法中应用了下述参数,其中x x(x

75、 qx q)为发)为发送方的私钥,而送方的私钥,而( p, q, g, y )( p, q, g, y )为公钥,其中为公钥,其中, p p:L L比特长的素数,比特长的素数,L L为为6464倍数且倍数且512512LL10241024; q q:p - 1p - 1的的160bits160bits的素因子;的素因子; g g:g = h(p-1)/q) mod pg = h(p-1)/q) mod p; y y:y = gx mod p y = gx mod p ; H( x ) H( x ):为单向:为单向HASHHASH函数,采用的算法为函数,采用的算法为SHASHA。 签名及验证协议

76、如下:签名及验证协议如下: 1. 1. 发送方产生随机数发送方产生随机数k k,k qk q; 2. 2. 发送方计算发送方计算 r = ( gk mod p ) mod q r = ( gk mod p ) mod q s = ( k(-1) (H(m) + xr) mod q s = ( k(-1) (H(m) + xr) mod q 签名结果是签名结果是( m, r, s )( m, r, s )。70网络银行基本知识安全空间3. 3. 接收方验证时计算接收方验证时计算 w = s(-1)mod q w = s(-1)mod q u1 = ( H( m ) * w ) mod q u1

77、= ( H( m ) * w ) mod q u2 = ( r * w ) mod q u2 = ( r * w ) mod q v = ( gu1 * yu2 ) mod p ) mod q v = ( gu1 * yu2 ) mod p ) mod q 若若v = rv = r,则认为签名有效。,则认为签名有效。 对于签名和验证的数学论证我们在这里对于签名和验证的数学论证我们在这里就不作过多的引述了,有兴趣的同许可以就不作过多的引述了,有兴趣的同许可以参考相应的密码学书籍。参考相应的密码学书籍。 71网络银行基本知识安全空间 (4 4)数字签名的功能分析)数字签名的功能分析 前面我们说了,

78、数字签名可以实现:前面我们说了,数字签名可以实现:(1 1)保证信息是由签名者自己签名发送的,)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;签名者不能否认或难以否认;(2 2)保证信息自签发后到收到为止未曾被)保证信息自签发后到收到为止未曾被篡改,签发的文件是真实的,完整的。篡改,签发的文件是真实的,完整的。 下面我们结合下面我们结合RSARSA签名来分析上述功能:签名来分析上述功能: 对于第一点:对于第一点:由于由于RSARSA签名是用私钥对摘签名是用私钥对摘要加密,而私钥只有合法的拥有者才有,要加密,而私钥只有合法的拥有者才有,任何第三方不会知道这个私钥,因此,如任何第三方

79、不会知道这个私钥,因此,如果接受方可以通过公钥解密,则说明对方果接受方可以通过公钥解密,则说明对方持有的私钥是正确的,即为法定的拥有者,持有的私钥是正确的,即为法定的拥有者,无法抵赖。无法抵赖。72网络银行基本知识安全空间 对于第二点:对于第二点:由于被私钥加密的内容由于被私钥加密的内容是用于证明完整性的摘要,因此任何第是用于证明完整性的摘要,因此任何第三方在篡改报文后,尽管可以生成新的三方在篡改报文后,尽管可以生成新的摘要信息,但是由于它无法获知原发送摘要信息,但是由于它无法获知原发送方的私钥,所以就无法用其私钥对新的方的私钥,所以就无法用其私钥对新的摘要进行加密,即无法伪造签名。摘要进行加

80、密,即无法伪造签名。 只有用原发送方私钥对新摘要加密的只有用原发送方私钥对新摘要加密的结果才会在接收方被还原(用公钥)为结果才会在接收方被还原(用公钥)为摘要信息并得到验证,因此任何人对报摘要信息并得到验证,因此任何人对报文的篡改由于无法伪造签名最终都会被文的篡改由于无法伪造签名最终都会被接收方识别,这就实现了报文的完整性。接收方识别,这就实现了报文的完整性。73网络银行基本知识安全空间 七、数字证书七、数字证书 (1 1)数字证书产生的原因?)数字证书产生的原因? 对数字签名和公开密钥技术来说,都对数字签名和公开密钥技术来说,都会面临一个公开密钥分发的问题,即如会面临一个公开密钥分发的问题,

81、即如何把一个用户的公钥以一种安全可靠的何把一个用户的公钥以一种安全可靠的方式发送给需要的另一方。这就要求管方式发送给需要的另一方。这就要求管理这些公钥的系统必须是值得信赖的。理这些公钥的系统必须是值得信赖的。在系统中,如果在系统中,如果A A想要给想要给B B发送一些加密发送一些加密数据,数据,A A需要知道需要知道B B的公开密钥;如果的公开密钥;如果B B想要检验想要检验A A发送来的文档的数字签名,发送来的文档的数字签名,B B需要知道需要知道A A的公开密钥。的公开密钥。74网络银行基本知识安全空间 所以必须有一项技术解决公钥与合法所以必须有一项技术解决公钥与合法拥有者身份绑定的问题。

82、拥有者身份绑定的问题。 假设有一个人自称某一个公钥是自己假设有一个人自称某一个公钥是自己的,必须有一定措施和技术来对其进行的,必须有一定措施和技术来对其进行验证。数字证书是解决这一问题的有效验证。数字证书是解决这一问题的有效方法。方法。 (2 2)数字证书的定义)数字证书的定义 数字证书简单地说就是网络通信中,数字证书简单地说就是网络通信中,标志通信各方身分信息的一系列数据。标志通信各方身分信息的一系列数据。其作用类似于现实生活中的身份证。其作用类似于现实生活中的身份证。75网络银行基本知识安全空间 它是用电子的手段证实用户的身份和它是用电子的手段证实用户的身份和对网络资源访问的权限。对网络资

83、源访问的权限。 证书通常是一个签名文档,标记特定证书通常是一个签名文档,标记特定对象的公开密钥。对象的公开密钥。 数字证书由认证中心数字证书由认证中心CACA签发,认证中签发,认证中心类似于现实生活中公证人的角色,它心类似于现实生活中公证人的角色,它具有权威性,是一个普遍可信的第三方。具有权威性,是一个普遍可信的第三方。当通信双方都信任同一个当通信双方都信任同一个CACA时,两者就时,两者就可以得到对方的公开密钥,从而实现加可以得到对方的公开密钥,从而实现加密验证及签名验证等相关安全操作。密验证及签名验证等相关安全操作。76网络银行基本知识安全空间(3 3)数字证书的作用:)数字证书的作用:

84、数字证书本身是一种身份标识。由于数字证书本身是一种身份标识。由于数字签名需要通过数字证书中绑定的公数字签名需要通过数字证书中绑定的公钥来签名验证,因此数字证书是实现抗钥来签名验证,因此数字证书是实现抗否认性和检验数据完整性的安全要素。否认性和检验数据完整性的安全要素。 同时,由于在公钥密码体制下,身份同时,由于在公钥密码体制下,身份验证是通过公钥来验证的,因此身份认验证是通过公钥来验证的,因此身份认证的过程也依赖于证书机制。证书也是证的过程也依赖于证书机制。证书也是实现身份认证的安全要素。实现身份认证的安全要素。77网络银行基本知识安全空间 所以,数字证书的作用可以概括为:所以,数字证书的作用

85、可以概括为: 配合实现身份认证;配合实现身份认证; 配合实现抗否认性;配合实现抗否认性; 配合实现完整性校验。配合实现完整性校验。 (4 4)数字证书的类型)数字证书的类型 A.A.个人证书:为个人用户提供凭证,个人证书:为个人用户提供凭证,以帮助其个人在网上进行安全交易操作。以帮助其个人在网上进行安全交易操作。通常它是安装在客户端的浏览器里。通常它是安装在客户端的浏览器里。 78网络银行基本知识安全空间 B. B.企业证书:它通常为网上的某个企业证书:它通常为网上的某个WEBWEB服务器提供凭证,企业可以应用具有数字服务器提供凭证,企业可以应用具有数字证书的站点来进行安全电子交易。证书的站点

86、来进行安全电子交易。 服务器会向客户端服务器会向客户端WEBWEB浏览器提供证书浏览器提供证书认证并提供基于公钥密码系统的加密及数认证并提供基于公钥密码系统的加密及数据完整性。据完整性。 后面我们会以实验的方式让大家具体了后面我们会以实验的方式让大家具体了解如何为网络银行的解如何为网络银行的WebWeb服务器申请证书,服务器申请证书,发放证书、安装证书等,并演示客户端如发放证书、安装证书等,并演示客户端如何与服务器建立安全的信息通道。何与服务器建立安全的信息通道。79网络银行基本知识安全空间 C. C.软件证书:它通常为软件证书:它通常为InternetInternet中被下中被下载的软件提供

87、凭证,该证书用于与微软公载的软件提供凭证,该证书用于与微软公司司AuthenticodeAuthenticode技术结合的软件,以使用技术结合的软件,以使用户在下载软件时获得所需信息。户在下载软件时获得所需信息。 80网络银行基本知识安全空间八、八、CACA认证中心认证中心 (1 1)什么是)什么是CACA CACA又称为证书授证又称为证书授证(Certificate (Certificate Authority)Authority)中心,作为电子商务交易中受中心,作为电子商务交易中受信任和具有权威性的第三方,承担公钥体信任和具有权威性的第三方,承担公钥体系中公钥的合法性检验的责任。系中公钥的

88、合法性检验的责任。 CACA为每个使用公开密钥的客户发放数字为每个使用公开密钥的客户发放数字证书,数字证书的作用是证明客户合法拥证书,数字证书的作用是证明客户合法拥有证书中列出的公开密钥。有证书中列出的公开密钥。 CACA的数字签名使得第三者不能伪造和篡的数字签名使得第三者不能伪造和篡改证书。改证书。81网络银行基本知识安全空间 它负责产生、分配并管理所有参与网它负责产生、分配并管理所有参与网上信息交换各方所需的数字证书,因此上信息交换各方所需的数字证书,因此是安全电子信息交换的核心。是安全电子信息交换的核心。(2 2)CACA的作用的作用 证书的颁发:证书的颁发:认证中心接收、验证用认证中心

89、接收、验证用户的数字证书申请,将申请的内容户的数字证书申请,将申请的内容 进行进行备案。备案。 证书的更新:证书的更新:CACA定期更新所有用户的定期更新所有用户的证书,或根据用户请求来更新用户证书。证书,或根据用户请求来更新用户证书。82网络银行基本知识安全空间证书的查询证书的查询: : 1 1)证书申请的查询:根据用户的查询)证书申请的查询:根据用户的查询请求返回当前用户证书申请的处理过程。请求返回当前用户证书申请的处理过程。 2 2)用户证书的查询:由目录服务器完)用户证书的查询:由目录服务器完成,根据用户请求返回适当的证书。成,根据用户请求返回适当的证书。 证书的作废证书的作废:认证中

90、心通过维护证书作:认证中心通过维护证书作废列表来完成证书作废操作。废列表来完成证书作废操作。 证书的归档:证书的归档:作废的证书不能简单的丢作废的证书不能简单的丢弃,因为有时可能需要验证以前的某个交弃,因为有时可能需要验证以前的某个交易过程中产生的数字签名,这时就需要查易过程中产生的数字签名,这时就需要查询作废的证书。询作废的证书。 所以所以CACA应具备管理作废应具备管理作废证书和作废私钥的功能。证书和作废私钥的功能。83网络银行基本知识安全空间(3 3)CACA的机构设置的机构设置 CA CA主要包括两大只能部门:主要包括两大只能部门: 一是审核授权部门(一是审核授权部门(RARA),RA

91、RA是数字证是数字证书的申请注册、证书签发和管理机构。直书的申请注册、证书签发和管理机构。直接面向用户,负责用户身份申请审核,并接面向用户,负责用户身份申请审核,并向向CACA申请为用户转发证书。申请为用户转发证书。 另一个是证书操作部门(另一个是证书操作部门(CPCP),它负责,它负责承担证书签发、审批、废止、查询、证书承担证书签发、审批、废止、查询、证书/ /黑名单发布、密钥恢复与管理、证书认黑名单发布、密钥恢复与管理、证书认定和政策制定,为已授权的申请人制作、定和政策制定,为已授权的申请人制作、发放和管理证书,并承担因操作运营错误发放和管理证书,并承担因操作运营错误所产生的一切后果。所产

92、生的一切后果。 84网络银行基本知识安全空间 (4 4)实验演示:)实验演示: A. A.建立建立CACA服务器;服务器; B. B.为企业用户生成证书申请;为企业用户生成证书申请; C. C.在在CACA上处理申请并发放证书;上处理申请并发放证书; D. D.企业安装证书;企业安装证书; E.Web E.Web服务器激活证书认证及加密通道服务器激活证书认证及加密通道 幻灯演示:幻灯演示:CACA的建立及证书操作的建立及证书操作85网络银行基本知识安全空间九、九、SSLSSL协议协议 复习什么是套接字?复习什么是套接字? 在前面介绍网络的部分我们给大家介绍在前面介绍网络的部分我们给大家介绍了什

93、么是了什么是socketsocket,简单的说,简单的说socketsocket就是网就是网络驱动层提供给应用程序的编程接口,应络驱动层提供给应用程序的编程接口,应用程序将一段信息写入用程序将一段信息写入SocketSocket中,然后网中,然后网络驱动程序将读取络驱动程序将读取SocketSocket中的信息并将这中的信息并将这段信息通过网卡发送到下一跳的网络设备,段信息通过网卡发送到下一跳的网络设备,最终经过路由交换过程这个段信息会被发最终经过路由交换过程这个段信息会被发送到目的主机的网卡。送到目的主机的网卡。86网络银行基本知识安全空间然后再由目的端的网络驱动程序将数据读然后再由目的端的

94、网络驱动程序将数据读取到一个已经注册取到一个已经注册的的socketsocket中,该中,该socketsocket绑定的端口号和绑定的端口号和IPIP地址与接收到的数据地址与接收到的数据包中的目的包中的目的IPIP和端口号一致,目的端的和端口号一致,目的端的应用程序会监听它宣告的应用程序会监听它宣告的socketsocket,从而,从而读取数据并进行应用处理。关于应用程读取数据并进行应用处理。关于应用程序、序、socketsocket、网络驱动、网络设备之间、网络驱动、网络设备之间的关系和节点间数据交换的过程可以用的关系和节点间数据交换的过程可以用下图来表示:下图来表示: 87网络银行基本知

95、识安全空间图图中中,Host Host A A上上的的程程序序A A将将一一段段信信息息写写入入SocketSocket中中,SocketSocket的的内内容容被被Host Host A A的的网网络络管管理理软软件件访访问问,并并将将这这段段信信息息通通过过Host Host A A的的网网络络接接口口卡卡发发送送到到Host Host B B,Host Host B B的的网网络络接接口口卡卡接接收收到到这这段段信信息息后后,传传送送给给Host Host B B的的网网络络管管理理软软件件,网网络络管管理理软软件件将将这这段段信信息息保保存存在在Host Host B B的的Socke

96、tSocket中,然后程序中,然后程序B B才能在才能在SocketSocket中阅读。中阅读。88网络银行基本知识安全空间 套接字的建立与使用:套接字的建立与使用: 应用程序如何建立套接字、如何从套接应用程序如何建立套接字、如何从套接字中读取及向套接字传递数据呢?字中读取及向套接字传递数据呢? 应用程序对套接字的调用和控制是通过应用程序对套接字的调用和控制是通过编程语言提供的套接字对象实现的。编程语言提供的套接字对象实现的。 当客户程序需要与服务器程序通讯的时当客户程序需要与服务器程序通讯的时候,客户程序会创建一个候,客户程序会创建一个socketsocket对象,对象,SocketSock

97、et类有几个构造函数。两个常用的构类有几个构造函数。两个常用的构造函数是造函数是Socket(InetAddress addr, int port) Socket(InetAddress addr, int port) Socket(String host, int port)Socket(String host, int port)89网络银行基本知识安全空间 在创建了在创建了SocketSocket对象后,就可以通过调对象后,就可以通过调用用SocketSocket的的getInputStream()getInputStream()方法获得一方法获得一个输入流用来接收从服务程序传送来的信个

98、输入流用来接收从服务程序传送来的信息,也可调用息,也可调用SocketSocket的的getOutputStream()getOutputStream()方法获得输出流来发送消息。方法获得输出流来发送消息。 在读写活动完成之后,客户程序调用在读写活动完成之后,客户程序调用closeclose()()方法关闭流和套接字。方法关闭流和套接字。 下面是一个在服务器程序中创建下面是一个在服务器程序中创建SocketSocket对象的例子,其中服务程序主机地址为对象的例子,其中服务程序主机地址为198.163.227.6198.163.227.6,端口号,端口号1313,服务程序创建,服务程序创建完完S

99、ocketSocket对象后还通过对象后还通过getInputStream()getInputStream()方法创建了一个输入流对象,最后关闭该方法创建了一个输入流对象,最后关闭该输入流及输入流及SocketSocket。 90网络银行基本知识安全空间Socket s=new Socket (“198.163.227.6”, Socket s=new Socket (“198.163.227.6”, 13);13);InputStream is=s.getInputStream ();InputStream is=s.getInputStream ();/ Read from the str

100、eam./ Read from the stream.is.close ();is.close ();s.close ();s.close (); 什么是安全套接字什么是安全套接字 套接字是应用程序和通信硬件的一个套接字是应用程序和通信硬件的一个接口,应用程序和网络驱动层之间的数据接口,应用程序和网络驱动层之间的数据交换都需要通过套接字来实现。交换都需要通过套接字来实现。 91网络银行基本知识安全空间 早期的早期的InternetInternet没有就数据安全传输做没有就数据安全传输做特殊设计,导致它具有非安全(无加密、特殊设计,导致它具有非安全(无加密、无认证)特性。于是人们开始考虑通过套无

101、认证)特性。于是人们开始考虑通过套接字来弥补接字来弥补InternetInternet在安全上的不足。在安全上的不足。 因为套接字是应用之间建立通信的必经因为套接字是应用之间建立通信的必经之路,因此可以将它作为控制应用安全的之路,因此可以将它作为控制应用安全的起点和终点,普通的套接字并没有定义任起点和终点,普通的套接字并没有定义任何的安全机制,所以人们为网络驱动层开何的安全机制,所以人们为网络驱动层开发了能够提供安全机制并实现安全控制的发了能够提供安全机制并实现安全控制的安全套接字安全套接字。92网络银行基本知识安全空间 相应的,各种编程语言也就提供了相应的,各种编程语言也就提供了与之相对应的

102、安全套接字对象。与之相对应的安全套接字对象。 这些安全套接字对象提供的方法可这些安全套接字对象提供的方法可以实现数据在进行通信传输前的加密、以实现数据在进行通信传输前的加密、认证工作,从而赋予了认证工作,从而赋予了TCP/IPTCP/IP网络未网络未有的安全特性。有的安全特性。93网络银行基本知识安全空间 什么是什么是SSLSSL协议协议 安全套接字对象的方法(如加密、验安全套接字对象的方法(如加密、验证、签名等方法)的实现需要在程序运证、签名等方法)的实现需要在程序运行时动态协商加密算法,密钥交换方法,行时动态协商加密算法,密钥交换方法,校验方法安全选项。为了在通信双方实校验方法安全选项。为

103、了在通信双方实现上述内容的安全的协商,通信双方需现上述内容的安全的协商,通信双方需要采用一个特定的协议来规范这一协商要采用一个特定的协议来规范这一协商过程,而这个协议就是过程,而这个协议就是SSLSSL。SSLSSL向基于向基于TCP/IPTCP/IP的客户的客户/ /服务器应用程序提供客服务器应用程序提供客户端和服务器端的关于加密、认证、完户端和服务器端的关于加密、认证、完整性等方面的安全参数的协商服务。整性等方面的安全参数的协商服务。94网络银行基本知识安全空间 应用程序通过应用程序通过SSLSSL协议来协商出一些协议来协商出一些安全参数以供程序中的安全套接字对象安全参数以供程序中的安全套

104、接字对象使用,从而实现安全的应用会话。使用,从而实现安全的应用会话。 SSLSSL协议的基本构成协议的基本构成SSLSSL的的体体系系结结构构包包括括两两个个子子层层:高高层层是是SSLSSL握手协议层;底层握手协议层;底层SSLSSL记录协议层。记录协议层。SSLSSL记记录录协协议议层层由由SSLSSL记记录录协协议议构构成成,它它的的作作用用是是为为高高层层协协议议提提供供基基本本的的安安全全服服务。务。95网络银行基本知识安全空间 SSL SSL握手协议层由握手协议层由SSLSSL握手协议、握手协议、SSLSSL密密钥更新协议、钥更新协议、SSLSSL报警协议组成,它们报警协议组成,它

105、们用来管理和控制用来管理和控制SSLSSL的安全会话,其中的安全会话,其中最主要的是最主要的是SSLSSL握手协议。握手协议。 下面我们简单介绍一下下面我们简单介绍一下SSLSSL握手协议握手协议与与SSLSSL记录协议的功能。记录协议的功能。 握手协议与记录协议握手协议与记录协议SSLSSL握手协议用于在通信两端协商安握手协议用于在通信两端协商安全会话方式,想理解全会话方式,想理解SSLSSL提供的安全会提供的安全会话方式,首先需要理解话方式,首先需要理解SSLSSL能够实现哪能够实现哪些安全机制,因为安全会话方式实际上些安全机制,因为安全会话方式实际上就是这些安全机制的组合。就是这些安全机

106、制的组合。96网络银行基本知识安全空间那么那么SSLSSL可以实现哪些方面的安全控可以实现哪些方面的安全控制呢?或者说它提供对上述哪些安全要制呢?或者说它提供对上述哪些安全要素的支持能力呢?素的支持能力呢?SSL协议的设计目的是在通信两端建协议的设计目的是在通信两端建立立加密的、有完整性保障的、有身份认加密的、有完整性保障的、有身份认证能力证能力的安全会话。因此它可以支持加的安全会话。因此它可以支持加密、完整性检验、身份认证等安全要素。密、完整性检验、身份认证等安全要素。由于各安全要素涉及的算法或方式有很由于各安全要素涉及的算法或方式有很多,同时对于加密来说,还会涉及对用多,同时对于加密来说,

107、还会涉及对用于建立会话密钥的密钥交换方式的选择。于建立会话密钥的密钥交换方式的选择。97网络银行基本知识安全空间 因此,在因此,在SSL会话通信的初始点,通会话通信的初始点,通信双方必须就一些安全选项达成一致。信双方必须就一些安全选项达成一致。 因此,握手协议所作的第一件事就是因此,握手协议所作的第一件事就是协商算法和及密钥交换方式,并协商是协商算法和及密钥交换方式,并协商是否进行身份认证。如果采用身份认证的否进行身份认证。如果采用身份认证的话,通信的双方或者任一方还会传递证话,通信的双方或者任一方还会传递证书。在这一步中,通信双方的行为可以书。在这一步中,通信双方的行为可以近似的理解为以下过

108、程:近似的理解为以下过程:98网络银行基本知识安全空间 A A说说:“:“我想和你安全通话,我这里支我想和你安全通话,我这里支持的对称加密算法有持的对称加密算法有DESDES,RC5,RC5,密钥交密钥交换算法有换算法有RSARSA,EC-DHEC-DH,摘要算法有,摘要算法有MD5MD5和和SHASHA,我要求证书认证,我要求证书认证” B B说说:“我我们们用用DESDES、RSARSA、SHASHA这对组这对组合好了,合好了,这这里是我的里是我的证书证书,里面有我的,里面有我的名字和公名字和公钥钥,你可以用来,你可以用来验证验证我身份。我身份。” 接下来第二步,握手接下来第二步,握手协议

109、协议会会让让通信双通信双方按照方按照协协商的密商的密钥钥交交换换方式建立一个方式建立一个预预主密主密钥钥。99网络银行基本知识安全空间 例如在上面的例如在上面的协协商中,双方商中,双方选择选择的密的密钥钥交交换换方式方式为为RSARSA,那么第二步中,通信,那么第二步中,通信双方的行双方的行为为可以近似的理解可以近似的理解为为以下以下过过程:程: A A检查检查B B的证书无误后,产生一个预主的证书无误后,产生一个预主密钥,然后用密钥,然后用B B的公钥加密(的公钥加密(RSARSA密钥交密钥交换),封装成换),封装成client key exchangeclient key exchange

110、消息,消息,发送给发送给B B。 B B接收到消息,并用自己的私钥解密,接收到消息,并用自己的私钥解密,得到用于会话的预主密钥。得到用于会话的预主密钥。100网络银行基本知识安全空间 接下来握手接下来握手协议协议就要求通信双方就要求通信双方对对预预主密主密钥钥进进行随机化行随机化处处理(通理(通过伪过伪随机函随机函数),从而使通信双方都数),从而使通信双方都计计算出一个算出一个主主密密钥钥。 当握手当握手协议结协议结束束时时,握手,握手协议协议中生成中生成的主密的主密钥钥,选择选择的密的密码码算法等信息均被算法等信息均被传给传给SSLSSL的的记录协议记录协议。 由由记录协议记录协议生成加密算

111、法所需要的加生成加密算法所需要的加密密密密钥钥以及以及MACMAC算法所需要的算法所需要的MACMAC密密钥钥;而而这这些密些密码码参数参数则则是由主密是由主密钥钥、客、客户户随随机数和服机数和服务务器随机数等通器随机数等通过伪过伪随机函数随机函数PRFPRF产产生的,即生的,即: 101网络银行基本知识安全空间K_bk=PRF(master_secret,expansion_label,K_bk=PRF(master_secret,expansion_label, seq_num+server_random+client_random) seq_num+server_random+clien

112、t_random) 式中式中K_bkK_bk是指是指Key_blockKey_block,即密,即密钥组钥组,它它包括加密算法的加密密包括加密算法的加密密钥钥, MAC MAC密密钥钥和和初始矢量。初始矢量。 最后,通信双方会按照最后,通信双方会按照协协商的加密算商的加密算法和得到的加密密法和得到的加密密钥钥、按照、按照协协商的商的MACMAC算算法和法和MACMAC密密钥对报钥对报文文进进行行处处理,从而理,从而实现实现数据数据传输传输的私密性和完整性。的私密性和完整性。 SSLSSL协议的应用实例:协议的应用实例: 以以下下是是一一个个通通过过应应用用SSLSSL协协议议进进行行交交易易过

113、程:过程: 102网络银行基本知识安全空间用户甲希望在网上购买用户甲希望在网上购买IBMIBM公司的公司的WebSphere应用服务器软件,他来到了应用服务器软件,他来到了IBMIBM网上直销网上直销的店铺,首先将通过网页链接来到该网站的店铺,首先将通过网页链接来到该网站中启用了中启用了SSLSSL服务的安全网页,对于这个服务的安全网页,对于这个页面,页面,URLURL的协议部分是的协议部分是“HTTPS”“HTTPS”而不是而不是“HTTP”“HTTP”,浏览器与服务器接下来将进行,浏览器与服务器接下来将进行握手协议,握手的第一阶段是客户机与服握手协议,握手的第一阶段是客户机与服务器进行安全

114、协商及身份认证,在这个阶务器进行安全协商及身份认证,在这个阶段甲得到段甲得到IBMIBM公司的证书,该证书是经第公司的证书,该证书是经第三方权威机构签名的,证书中的内容主要三方权威机构签名的,证书中的内容主要是是IBMIBM的公钥,由于客户的浏览器能知道的公钥,由于客户的浏览器能知道CACA的公钥,从而看到第三方的数字签名,的公钥,从而看到第三方的数字签名,相应地就验证了相应地就验证了IBMIBM为一家合法公司;为一家合法公司;103网络银行基本知识安全空间 第二第二阶阶段,段,浏览浏览器中的器中的SSLSSL软软件按照双件按照双方在上一步中方在上一步中协协商的密商的密钥钥交交换换方式将随机方

115、式将随机产产生的会生的会话话密密钥发钥发送送给给服服务务器,如果前面器,如果前面双方双方协协商的密商的密钥钥交交换为换为RSARSA交交换换方式,那方式,那么用么用户户甲将用从甲将用从证书证书中中获获得的得的IBMIBM的公的公钥钥对这对这一会一会话话密密钥钥加密,并加密,并传给传给IBMIBM的网站的网站服服务务器,由于会器,由于会话话密密钥钥只能由只能由IBMIBM公司的公司的私私钥钥解密,解密,这这就就证实证实了服了服务务器是属于器是属于IBMIBM的。的。104网络银行基本知识安全空间 在进行了实际的身份验证之后及密钥在进行了实际的身份验证之后及密钥交换后,交换后,SSLSSL协议软件

116、会将第二步中产生协议软件会将第二步中产生的会话密钥传递进行处理并产生用于加的会话密钥传递进行处理并产生用于加密的密钥和用于校验完整性的密钥,并密的密钥和用于校验完整性的密钥,并分别采用这两个密钥配合第一步协商好分别采用这两个密钥配合第一步协商好的加密算法和完整性算法来对数据报文的加密算法和完整性算法来对数据报文进行操作并发送给另一方。进行操作并发送给另一方。从而实现通从而实现通信的私密性和完整性。信的私密性和完整性。105网络银行基本知识安全空间以上过程说明了三个问题:以上过程说明了三个问题: 1 1、确有一家叫确有一家叫IBMIBM的合法公司,并且与的合法公司,并且与客户交互的客户交互的WE

117、BWEB服务器确实属于服务器确实属于IBMIBM公司。公司。 2 2、客户与客户与IBMIBM公司之间的交易通信是有公司之间的交易通信是有加密保护的加密保护的 3 3、客户与客户与IBMIBM公司之间的交易通信是有公司之间的交易通信是有完整性检测保护的完整性检测保护的 但是,上述过程也存在三个方面的漏洞:但是,上述过程也存在三个方面的漏洞: 1 1、用户无法得知、用户无法得知IBMIBM公司接收信用卡支公司接收信用卡支付是否得到授权。付是否得到授权。106网络银行基本知识安全空间 2 2、在接受到信用卡帐号等机密信息并结、在接受到信用卡帐号等机密信息并结束交易后,通过什么方式处理这些机密信束交

118、易后,通过什么方式处理这些机密信息,因为息,因为SSLSSL除了为传输过程提供保证外,除了为传输过程提供保证外,对交易结束后的处理无任何约束(已经发对交易结束后的处理无任何约束(已经发现大量现大量“黑客黑客”通过商家服务器窃取拥护通过商家服务器窃取拥护信用卡帐号及密码)对于这个问题,信用卡帐号及密码)对于这个问题,SSLSSL本身解决不了,但我们将发现,这个问题本身解决不了,但我们将发现,这个问题最终在最终在SETSET协议中得到解决。协议中得到解决。107网络银行基本知识安全空间 3 3、SSLSSL协议没有数字签名功能,即没协议没有数字签名功能,即没有抗否认服务。若要增加数字签名功能,有抗

119、否认服务。若要增加数字签名功能,需要在协议中打需要在协议中打“补丁补丁”。这样做,使。这样做,使用于加密的密钥又同时用于数字签名,用于加密的密钥又同时用于数字签名,这在安全上存在漏洞。当然后来的这在安全上存在漏洞。当然后来的PKIPKI(Public Key InfrastructurePublic Key Infrastructure,公,公钥基础设施)体系完善了这些措施,即钥基础设施)体系完善了这些措施,即双密钥机制,将加密和数字签名密钥二双密钥机制,将加密和数字签名密钥二者分开,成为双证书机制,形成了者分开,成为双证书机制,形成了PKIPKI完完整的安全服务体系。整的安全服务体系。108

120、网络银行基本知识安全空间 十、十、SETSET协议协议 SETSET协议的产生协议的产生 SETSET(安全电子交易)协议是由(安全电子交易)协议是由VisaVisa和和MasterCardMasterCard公司联合世界上技术领先的公公司联合世界上技术领先的公司司19961996年年2 2月设计的应用层协议,它实现了月设计的应用层协议,它实现了通过通过InternetInternet进行安全支付卡交易方式,进行安全支付卡交易方式,它主要通过使用密码技术和数字证书方式它主要通过使用密码技术和数字证书方式来保证信息的机密性和安全性,并成为现来保证信息的机密性和安全性,并成为现代电子商务代电子商务

121、B2CB2C模式的主要技术实现基础。模式的主要技术实现基础。109网络银行基本知识安全空间SETSET协议的参与者协议的参与者 SET SET电子商务系统主要由持卡人的客户电子商务系统主要由持卡人的客户端系统、商家或虚拟电子商城系统、银端系统、商家或虚拟电子商城系统、银行方面的支付网关系统以及发卡行的传行方面的支付网关系统以及发卡行的传统银行信用卡业务系统组成。如图所示统银行信用卡业务系统组成。如图所示110网络银行基本知识安全空间 SETSET协议特征协议特征(1 1)SETSET可以加密特定种类的与支付卡相可以加密特定种类的与支付卡相关的信息。不能够像关的信息。不能够像SSLSSL那样来加

122、密任意数那样来加密任意数据。(比如文本和图象)据。(比如文本和图象)(2 2)SETSET协议涉及了电子商务的三方:消协议涉及了电子商务的三方:消费者、商家和商业银行。所有在这三方之费者、商家和商业银行。所有在这三方之间传送的敏感数据都进行加密。间传送的敏感数据都进行加密。(3 3)SETSET协议定义了每一方证书的法律含协议定义了每一方证书的法律含义及同交易相联系的责任协议。义及同交易相联系的责任协议。 111网络银行基本知识安全空间(4 4)SETSET协议需要三方都有证书。协议需要三方都有证书。消费者和商户的证书是由他们的银行签消费者和商户的证书是由他们的银行签发的,因此保证了这两方允许

123、进行和接受发的,因此保证了这两方允许进行和接受支付卡买卖。支付卡买卖。消费者的证书向商户保证了交易不会被消费者的证书向商户保证了交易不会被欺骗。它是消费者支付卡的电子表示。它欺骗。它是消费者支付卡的电子表示。它包含帐号信息、签发金融机构和其他加密包含帐号信息、签发金融机构和其他加密信息。信息。商户的证书向消费者保证了商户授权接商户的证书向消费者保证了商户授权接受支付卡买卖。它包含商人的信息、商业受支付卡买卖。它包含商人的信息、商业银行信息和签发证书的金融机构。银行信息和签发证书的金融机构。112网络银行基本知识安全空间(5 5)在)在SETSET交易中,消费者的支付卡号码交易中,消费者的支付卡

124、号码被传送到商业银行,而商人看不到卡号。被传送到商业银行,而商人看不到卡号。这个特征防止了欺骗偷窃或者粗心商人泄这个特征防止了欺骗偷窃或者粗心商人泄露支付卡号码。露支付卡号码。 SETSET协议操作流程协议操作流程SETSET最主要的使用对象在消费者与商店,最主要的使用对象在消费者与商店,商店与收单银行(付款行)之间。其运作商店与收单银行(付款行)之间。其运作方式简述如下:方式简述如下: 113网络银行基本知识安全空间(1 1)在消费者和特约商店之间,持卡人消)在消费者和特约商店之间,持卡人消费前先确认商店合法性,由商店出示它的费前先确认商店合法性,由商店出示它的证书。证书。(2 2)持卡人确

125、认后即可下订单,其订单经)持卡人确认后即可下订单,其订单经消费者以数字签名的方式确认,并用消费者以数字签名的方式确认,并用商户商户的公钥的公钥加密订单与确认信息,同时发送给加密订单与确认信息,同时发送给商户(还包括用户的证书)。而消费者用商户(还包括用户的证书)。而消费者用于支付的信用卡资料则采用于支付的信用卡资料则采用收单银行的公收单银行的公钥钥进行加密,也发送给商户。这里,特约进行加密,也发送给商户。这里,特约商店会收到两个加密过的资料,其中一个商店会收到两个加密过的资料,其中一个是订单资料,另一个是关于支付的资料,是订单资料,另一个是关于支付的资料,特约商店可以解密前者,但无法解密后者。

126、特约商店可以解密前者,但无法解密后者。114网络银行基本知识安全空间(3 3)特约商店将客户的资料连同自己的)特约商店将客户的资料连同自己的SETSET证书给收单银行,向收单银行请求交易证书给收单银行,向收单银行请求交易授权与授权回复。授权与授权回复。 (4 4)收单银行会同时检查两个证书来确)收单银行会同时检查两个证书来确定他们是否为合法的持卡人及特约商店。定他们是否为合法的持卡人及特约商店。所以收单银行会由支付系统网关来解密,所以收单银行会由支付系统网关来解密,核对资料无误后,在连接到传统的网络核对资料无误后,在连接到传统的网络(如(如VisaVisa或或MastercardMasterc

127、ard)进行交易授权及)进行交易授权及清算。清算。 (5 5)授权确认后由特约商店向消费者进)授权确认后由特约商店向消费者进行订单确认,交易完成。行订单确认,交易完成。115网络银行基本知识安全空间(6 6)至于特约商店和收单银行间,则基于)至于特约商店和收单银行间,则基于该授权提出清款要求,并由银行付款。该授权提出清款要求,并由银行付款。 具体流程如下图所示具体流程如下图所示 116网络银行基本知识安全空间SETSET应用举例应用举例 假设用户甲想通过假设用户甲想通过InternetInternet使用使用SETSET从从IBMIBM公司购买商品。公司购买商品。(1 1)用户甲向)用户甲向I

128、BMIBM表明他对进行信用卡购表明他对进行信用卡购买感兴趣。买感兴趣。(2 2)IBMIBM向用户甲发送清单和唯一的交易向用户甲发送清单和唯一的交易标识符。标识符。(3 3)IBMIBM向用户甲发送商业证书,其中包向用户甲发送商业证书,其中包括商人的公有密钥。括商人的公有密钥。IBMIBM也发送她的银行的也发送她的银行的证书,包含银行的公共密钥。证书,包含银行的公共密钥。117网络银行基本知识安全空间(4 4)用户甲产生两个信息:订单信息)用户甲产生两个信息:订单信息(OIOI)包和购买指令包和购买指令(PIPI)包。包。OIOI是给是给IBMIBM的,其中的,其中包含交易标识符和使用的卡的种

129、类,用户会包含交易标识符和使用的卡的种类,用户会用私钥对用私钥对OIOI进行签名,并将进行签名,并将OIOI与签名结合在与签名结合在一起,再经商户公钥加密发送给商户,一起一起,再经商户公钥加密发送给商户,一起发送给商户的还包括用户的证书。发送给商户的还包括用户的证书。PIPI是用户是用户给给IBMIBM的银行的,包含交易标识符、卡号和的银行的,包含交易标识符、卡号和以及交易数量,以及交易数量,PIPI是用是用IBMIBM银行的公钥加密银行的公钥加密的。用户甲将加密的的。用户甲将加密的OIOI和和PIPI都发送给都发送给IBMIBM。118网络银行基本知识安全空间(5 5)IBMIBM为受到为受

130、到OIOI后,用私钥解密,得到交易后,用私钥解密,得到交易标识和用户的签名,标识和用户的签名,IBMIBM通过用户证书验证签通过用户证书验证签名。从而保证用户不能抵赖。然后名。从而保证用户不能抵赖。然后IBMIBM将按照将按照用户的支付请求生成对银行的交易授权请求,用户的支付请求生成对银行的交易授权请求,其中包括交易标识符。其中包括交易标识符。 (6 6)IBMIBM将用银行的公钥加密一个消息组并将用银行的公钥加密一个消息组并发送给银行。这个消息组包括授权请求、来自发送给银行。这个消息组包括授权请求、来自用户甲的用户甲的PIPI包和包和IBMIBM的证书、用户证书。的证书、用户证书。 (7 7

131、)IBMIBM的银行接到这个消息并拆解。银行的银行接到这个消息并拆解。银行检查其完整性。它也确定在授权请求中的交易检查其完整性。它也确定在授权请求中的交易标识符和用户甲的标识符和用户甲的PIPI包中的相同,同时检测包中的相同,同时检测IBMIBM证书和用户证书是否有效,即是否都为合证书和用户证书是否有效,即是否都为合法的持卡人。法的持卡人。119网络银行基本知识安全空间(9 9)IBMIBM的银行通过传统的银行卡通道向的银行通过传统的银行卡通道向用户甲的支付卡银行发送支付授权请求。用户甲的支付卡银行发送支付授权请求。 (1010)一旦用户甲的银行授权了这笔支)一旦用户甲的银行授权了这笔支付,付

132、,IBMIBM的银行向的银行向IBMIBM发送响应。这个响应发送响应。这个响应当然是加密的。这个响应包含交易标识符。当然是加密的。这个响应包含交易标识符。 (1111)如果这笔交易通过了,)如果这笔交易通过了,IBMIBM向用户向用户甲发送她的响应消息。这个消息是一个收甲发送她的响应消息。这个消息是一个收条,通知用户甲支付被接收了,商品将被条,通知用户甲支付被接收了,商品将被递送。递送。120网络银行基本知识安全空间以上是通过以上是通过SETSET协议进行支付的全过程,协议进行支付的全过程, SETSET的特点是:的特点是: 一、提供了用户签名,从而实现一、提供了用户签名,从而实现SSLSSL实实现步了的抗否认功能;现步了的抗否认功能; 二、由于商户并不会获知用户卡信息,二、由于商户并不会获知用户卡信息,从而保证了用户的卡信息不会在支付后被从而保证了用户的卡信息不会在支付后被商户泄漏。商户泄漏。 121网络银行基本知识安全空间

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号