1、网络银行安全网络银行安全一、风险分析:一、风险分析:网络银行的安全并非仅仅由一两个安全网络银行的安全并非仅仅由一两个安全要素构成的,而是由一系列紧密相关的安要素构成的,而是由一系列紧密相关的安全要素组合而成的。这些要素是什么?为全要素组合而成的。这些要素是什么?为什么需要它们?也就是说,在我们探讨网什么需要它们?也就是说,在我们探讨网络银行如何实现安全(怎么实现安全要素)络银行如何实现安全(怎么实现安全要素)之前,我们必须清楚的了解网络银行到底之前,我们必须清楚的了解网络银行到底需要哪些方面的安全保障以及为什么需要需要哪些方面的安全保障以及为什么需要他们(涉及哪些安全要素以及这些安全要他们(涉
2、及哪些安全要素以及这些安全要素的作用)。素的作用)。第1页,共122页。确定研究思路:确定研究思路:研究网络银行的安全实现,必须研究网络银行的安全实现,必须先知道网络银行究竟需要哪些方面的先知道网络银行究竟需要哪些方面的安全要素、这些安全要素可以实现什安全要素、这些安全要素可以实现什么功能(或者说需要他们的原因)、么功能(或者说需要他们的原因)、然后才是去分析具体如何实现这些安然后才是去分析具体如何实现这些安全要素。全要素。因此,风险分析将作为网络银行因此,风险分析将作为网络银行安全研究的切入点,是后续网络银行安全研究的切入点,是后续网络银行安全技术分析的基础。安全技术分析的基础。第2页,共1
3、22页。一是网络风险:一是网络风险:网络银行是以互联网网络银行是以互联网为载体的业务平台,而互联网的一个重要为载体的业务平台,而互联网的一个重要特性就是开放性,网络银行系统不仅需要特性就是开放性,网络银行系统不仅需要具备处理正常业务请求的能力,还必须具具备处理正常业务请求的能力,还必须具备防范恶性备防范恶性数据攻击数据攻击或或服务攻击服务攻击的能力。的能力。二是数据风险:二是数据风险:这主要包括:数据在这主要包括:数据在传输之前通信双方需要确认双方身份的真实传输之前通信双方需要确认双方身份的真实性、数据传输过程中数据不被篡改、不被窃性、数据传输过程中数据不被篡改、不被窃听;听;三是道德风险:三
4、是道德风险:道德风险主要是指由网络道德风险主要是指由网络银行交易双方中的任何一方因抵赖引发的风险,银行交易双方中的任何一方因抵赖引发的风险,如某方在交易结束后拒绝承认交易请求的情况;如某方在交易结束后拒绝承认交易请求的情况;第3页,共122页。四是系统风险四是系统风险:这主要是指网络银行业务这主要是指网络银行业务系统本身由于在设计开发过程中存在某种程度系统本身由于在设计开发过程中存在某种程度的漏洞而造成的风险,网络银行系统本质上是的漏洞而造成的风险,网络银行系统本质上是为取代柜员手工操作而开发的自助操作系统,为取代柜员手工操作而开发的自助操作系统,而这种由手工到自助的过程需要运用程序对操而这种
5、由手工到自助的过程需要运用程序对操作逻辑进行大量的抽象,而对操作逻辑的抽象作逻辑进行大量的抽象,而对操作逻辑的抽象往往不仅限于对正常操作逻辑的抽象,还包括往往不仅限于对正常操作逻辑的抽象,还包括对异常操作逻辑的抽象。但是,由于引发异常对异常操作逻辑的抽象。但是,由于引发异常的原因可能是多种多样的,不可能在程序设计的原因可能是多种多样的,不可能在程序设计的初始阶段就预见到所有可能的异常。的初始阶段就预见到所有可能的异常。第4页,共122页。因此,网络银行系统的开发过程是一因此,网络银行系统的开发过程是一个逐步完善的过程,这就导致在不同阶个逐步完善的过程,这就导致在不同阶段可能存在不同的系统异常从
6、而引发系段可能存在不同的系统异常从而引发系统风险;统风险;五是用户风险:五是用户风险:由于网络银行系统在由于网络银行系统在银行一侧的运算与操作是由程序逻辑来银行一侧的运算与操作是由程序逻辑来完成的,因此,用户风险主要体现在使完成的,因此,用户风险主要体现在使用网银服务的用户由于对自己私有信息用网银服务的用户由于对自己私有信息管理不当造成私密信息丢失或被盗,从管理不当造成私密信息丢失或被盗,从而引发伪交易风险。而引发伪交易风险。第5页,共122页。对于上述风险,最后两个方面存在一定对于上述风险,最后两个方面存在一定的不可控性,因此不作为本章的重点,而的不可控性,因此不作为本章的重点,而对于其他风
7、险,我们一般通过如下过程进对于其他风险,我们一般通过如下过程进行安全风险控制,例如:行安全风险控制,例如:通过通过防火墙防火墙等网络安全机制来控制恶性等网络安全机制来控制恶性数据攻击和服务攻击;通过数据攻击和服务攻击;通过身份认证身份认证机制机制来实现数据通信双方的真实性、通过来实现数据通信双方的真实性、通过加密加密机制来防止数据传输被窃听、通过机制来防止数据传输被窃听、通过数字数字摘要摘要机制来防止数据在传输过程中被篡改;机制来防止数据在传输过程中被篡改;通过通过数字签名数字签名机制来实现抗否认性,从而机制来实现抗否认性,从而避免交易抵赖。避免交易抵赖。第6页,共122页。对于网络银行的安全
8、风险防范,还有对于网络银行的安全风险防范,还有两个必不可少的因素,它们是数字证书两个必不可少的因素,它们是数字证书与与CACA。数字证书的作用:数字证书的作用:首先是身份认证,在电子商务领域目前首先是身份认证,在电子商务领域目前大多采用证书认证方式,因此,数字证书大多采用证书认证方式,因此,数字证书是实现身份认证的必要因素;是实现身份认证的必要因素;第7页,共122页。其次,由于数字签名只能证明签名方确其次,由于数字签名只能证明签名方确实是使用某一私钥进行签名的,而必须通实是使用某一私钥进行签名的,而必须通过数字证书来将私钥和用户身份进行绑定,过数字证书来将私钥和用户身份进行绑定,防范用户否认
9、使用过该私钥,从而保证用防范用户否认使用过该私钥,从而保证用户无法抵赖。因此,数字证书也是实现抗户无法抵赖。因此,数字证书也是实现抗否认性的必要要素之一。否认性的必要要素之一。CA的作用:的作用:数字证书的签发方是数字证书的签发方是CACA,即认证中心,即认证中心,CACA是产生、审核、管理证书的机构,是是产生、审核、管理证书的机构,是整个网路银行安全实现中必不可少的一整个网路银行安全实现中必不可少的一个安全要素个安全要素 第8页,共122页。在真实的网络应用中,尤其是基于在真实的网络应用中,尤其是基于InternetInternet的网络应用中,上述安全要素不的网络应用中,上述安全要素不是孤
10、立存在的,而是采用结合使用的方式是孤立存在的,而是采用结合使用的方式来从多个方面保证电子商务交易的有效性。来从多个方面保证电子商务交易的有效性。例如:交易双方会先进行身份认证与例如:交易双方会先进行身份认证与密钥交换,然后再进行加密、签名等操作。密钥交换,然后再进行加密、签名等操作。由于认证、加密、签名等可以对应多种组由于认证、加密、签名等可以对应多种组合机制,而每种机制中涉及的技术又有不合机制,而每种机制中涉及的技术又有不同的算法。同的算法。第9页,共122页。因此,如何在交易双方统一机制与算因此,如何在交易双方统一机制与算法就成了一个需要规范的问题。而由此法就成了一个需要规范的问题。而由此
11、就产生了相应的网络安全协议,如就产生了相应的网络安全协议,如SSLSSL与与SETSET。安全协议是交易双方。安全协议是交易双方协商协商和和实现实现安安全控制机制的规范,是我们在现实中综合应全控制机制的规范,是我们在现实中综合应用上述安全机制的具体方式。用上述安全机制的具体方式。至此,我们分析了网络银行的各种安至此,我们分析了网络银行的各种安全风险,并概括的介绍了解决这些安全全风险,并概括的介绍了解决这些安全风险的安全要素,如加密、认证、摘要、风险的安全要素,如加密、认证、摘要、签名等。签名等。第10页,共122页。还介绍了实现相关技术所依赖的辅助还介绍了实现相关技术所依赖的辅助实体,如实体,
12、如CA,CA,以及辅助工具和辅助协议,以及辅助工具和辅助协议,如证书和如证书和SSLSSL。需要明确指出的是:上述各种安全要需要明确指出的是:上述各种安全要素之间本身存在着一定的关系。理清这素之间本身存在着一定的关系。理清这些关系有利于我们把握某些具体的技术些关系有利于我们把握某些具体的技术方法在整个安全体系中的地位和作用,方法在整个安全体系中的地位和作用,而理解了一个安全要素的地位和作用无而理解了一个安全要素的地位和作用无疑将有助于我们把握学习的目的与意义疑将有助于我们把握学习的目的与意义第11页,共122页。首先最底层是防火墙技术,它用首先最底层是防火墙技术,它用来防范网络攻击方面的安全风
13、险;来防范网络攻击方面的安全风险;第12页,共122页。其次是身份认证与密钥交换,任何安全其次是身份认证与密钥交换,任何安全通信必须以身份认证为起始点,在身份认通信必须以身份认证为起始点,在身份认证的基础上双方交换密钥信息,并按照交证的基础上双方交换密钥信息,并按照交换的密钥来进行加密和解密操作;换的密钥来进行加密和解密操作;与加与加/解密平行的是数字摘要技术,它解密平行的是数字摘要技术,它用来保证数据传输过程中不被篡改,即保用来保证数据传输过程中不被篡改,即保证数据的完整性,这两个要素共同实现了证数据的完整性,这两个要素共同实现了与数据风险相关的控制能力。与数据风险相关的控制能力。第13页,
14、共122页。再上层是数字签名机制、数字证书与再上层是数字签名机制、数字证书与CA,他们主要作用是实现数字签名来进行抗否认他们主要作用是实现数字签名来进行抗否认性控制,防范道德风险;性控制,防范道德风险;最后是最后是SSL协议与协议与SET协议,它们是离用协议,它们是离用户最近的应用访问点,应用程序通过提供用户最近的应用访问点,应用程序通过提供用户接口来使用户可以通过应用程序来调用它户接口来使用户可以通过应用程序来调用它们,从而使用由它们实现的安全机制并实现们,从而使用由它们实现的安全机制并实现通信双方的安全控制能力。通信双方的安全控制能力。第14页,共122页。二、防火墙技术:二、防火墙技术:
15、1 1、认识防火墙:、认识防火墙:防火墙是采用综合的网络技术设置在被防火墙是采用综合的网络技术设置在被保护网络和外部网络之间的一道屏障,用以保护网络和外部网络之间的一道屏障,用以分隔被保护网络与外部网络系统,防止发生分隔被保护网络与外部网络系统,防止发生不可预测的、潜在破坏性的侵入。不可预测的、潜在破坏性的侵入。防火墙是防火墙是不同网络不同网络或或网络安全域之间网络安全域之间信息信息的唯一出入口,仿佛是两个网络之间的一道关卡。的唯一出入口,仿佛是两个网络之间的一道关卡。第15页,共122页。(2)防火墙的功能:)防火墙的功能:根据企业的安全策略根据企业的安全策略(例如可以设置(例如可以设置一个
16、策略来规定哪些内部服务允许外部一个策略来规定哪些内部服务允许外部访问,哪些外部人员被许可访问所允许访问,哪些外部人员被许可访问所允许的内部服务,哪些外部服务可允许内部的内部服务,哪些外部服务可允许内部人员访问)人员访问)控制控制(通过分析、限制)(通过分析、限制)出、出、入入网络的信息流,防止非法信息流入及非网络的信息流,防止非法信息流入及非授权信息流出,并抵御授权信息流出,并抵御(通过分析、过滤)(通过分析、过滤)恶性攻击恶性攻击。第16页,共122页。防火墙还可以提供一些附加功能,例如为防火墙还可以提供一些附加功能,例如为网络管理提供网络管理提供安全参考安全参考、为整个网络的安全、为整个网
17、络的安全运行提供运行提供完善的状态监控机制完善的状态监控机制,例如它可以为网络管理人员提供如下信例如它可以为网络管理人员提供如下信息息:(1)(1)谁在使用网络谁在使用网络(访问者的源访问者的源IP)?(2)(2)他们在网上做什么他们在网上做什么(所访问的服务类型所访问的服务类型)?(3)(3)他们什么时间使用过网络他们什么时间使用过网络(访问时间访问时间)?)?(4)(4)他们在哪个网络节点得到了服务他们在哪个网络节点得到了服务(所访问的目所访问的目的地址的地址)?)?(5)(5)哪些流入或流出地数据请求没有发送成功哪些流入或流出地数据请求没有发送成功(过滤以过滤以后的日志记录后的日志记录)
18、?)?第17页,共122页。(3 3)防火墙的分类:)防火墙的分类:A.A.包过滤型包过滤型 包过滤型产品是防火墙的初级产品包过滤型产品是防火墙的初级产品,其其技术依据是网络中的分组传输技术。技术依据是网络中的分组传输技术。网络上的数据都是以网络上的数据都是以“包包”为单位为单位进行传输的进行传输的,数据被分割成为一定大小的数据被分割成为一定大小的数据包数据包,每一个数据包中都会包含一些特定每一个数据包中都会包含一些特定信息信息,如数据的源如数据的源/目标地址、目标地址、TCP/UDP 源源/目标端口等。目标端口等。第18页,共122页。防火墙通过读取数据包中的地址信息来判防火墙通过读取数据包
19、中的地址信息来判断这些断这些“包包”是否来自可信任的站点是否来自可信任的站点,一旦一旦发现来自危险站点的数据包发现来自危险站点的数据包,防火墙便会将防火墙便会将这些数据拒之门外。系统管理员也可以根据这些数据拒之门外。系统管理员也可以根据实际情况灵活制订判断规则从而动态调整对实际情况灵活制订判断规则从而动态调整对数据包的过滤方式。数据包的过滤方式。包过滤技术的优点是简单实用包过滤技术的优点是简单实用,实现成本实现成本低低,在应用环境比较简单的情况下在应用环境比较简单的情况下,能够以较能够以较小的代价在一定程度上保证系统安全。但包小的代价在一定程度上保证系统安全。但包过滤技术的缺陷也是明显的过滤技
20、术的缺陷也是明显的:第19页,共122页。包过滤技术是一种完全基于网络层的安全技术包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络只能根据数据包的来源、目标和端口等网络信息进行判断,不对数据字段本身的内容进信息进行判断,不对数据字段本身的内容进行分析和判断,它只对头部信息,就是关系行分析和判断,它只对头部信息,就是关系信息的信息进行判断,从而无法识别基于应信息的信息进行判断,从而无法识别基于应用的恶意侵入(因为应用数据内容是在数据用的恶意侵入(因为应用数据内容是在数据字段中的,而不是在头部字段中的)字段中的,而不是在头部字段中的),如恶如恶意的意的JavaJav
21、a小程序以及电子邮件中附带的病毒。小程序以及电子邮件中附带的病毒。有经验的黑客很容易伪造有经验的黑客很容易伪造IPIP地址地址,骗过包过滤骗过包过滤型防火墙型防火墙。第20页,共122页。B.B.代理型代理型 代理型防火墙也被称为代理服务器代理型防火墙也被称为代理服务器,它它的安全性要高于包过滤型产品的安全性要高于包过滤型产品,并已经开并已经开始向应用层发展。代理服务器位于客户机始向应用层发展。代理服务器位于客户机与服务器之间与服务器之间,完全阻挡了二者间的数据完全阻挡了二者间的数据交流。从客户机来看交流。从客户机来看,代理服务器相当于代理服务器相当于一台真正的服务器一台真正的服务器;而从服务
22、器来看而从服务器来看,代理代理服务器又是一台真正的客户机。服务器又是一台真正的客户机。第21页,共122页。当客户机需要使用服务器上的数据时当客户机需要使用服务器上的数据时,首首先将数据请求发给代理服务器(这个过程的先将数据请求发给代理服务器(这个过程的实现需要事先配置客户机上的应用程序,以实现需要事先配置客户机上的应用程序,以便应用程序知道代理服务器的存在,并将请便应用程序知道代理服务器的存在,并将请求数据流发送给代理服务器而不是最终接收求数据流发送给代理服务器而不是最终接收并处理服务请求的目标服务器)。代理服务并处理服务请求的目标服务器)。代理服务器在接收到由客户机传递来的数据包后,会器在
23、接收到由客户机传递来的数据包后,会继续向上解封装,并最终得到应用层数据流。继续向上解封装,并最终得到应用层数据流。第22页,共122页。代理服务器侦测、扫描及分析这一代理服务器侦测、扫描及分析这一数据流,如果该数据流符合事先定义数据流,如果该数据流符合事先定义的数据特征,如满足某病毒数据特征的数据特征,如满足某病毒数据特征或者某应用协议数据特征,那么代理或者某应用协议数据特征,那么代理服务器会过滤掉这一数据流(病毒过服务器会过滤掉这一数据流(病毒过滤)或进行协议过滤(如过滤掉滤)或进行协议过滤(如过滤掉FTPFTP协协议中的议中的PUTPUT命令而只允许命令而只允许GETGET命令),命令),
24、否则它会分析并查询相关处理这一数否则它会分析并查询相关处理这一数据流的目标服务器信息,从而向目标据流的目标服务器信息,从而向目标服务器进行数据封装和数据发送。服务器进行数据封装和数据发送。第23页,共122页。当请求经过处理被返回到代理服务器当请求经过处理被返回到代理服务器时,再由代理服务器将数据传输给客户机。时,再由代理服务器将数据传输给客户机。由于外部服务器与内部客户机之间没有直由于外部服务器与内部客户机之间没有直接的数据通道接的数据通道,外部的恶意侵害也就很难外部的恶意侵害也就很难伤害到企业内部网络系统。伤害到企业内部网络系统。代理型防火墙的优点是安全性较高,代理型防火墙的优点是安全性较
25、高,由于不同的安全风险可能有不同的数据由于不同的安全风险可能有不同的数据特征体现,而有些数据特征必须是通过特征体现,而有些数据特征必须是通过较长的数据内容才能分析到的,而代理较长的数据内容才能分析到的,而代理服务器可以针对服务器可以针对应用层数据流应用层数据流进行侦测和进行侦测和扫描。扫描。第24页,共122页。这些侦侧和扫描可以为安全分析提供较多这些侦侧和扫描可以为安全分析提供较多的的数据内容数据内容,从而提供了更多的,从而提供了更多的特征分析特征分析的入口的入口,而不仅仅局限于端口、地址等网络,而不仅仅局限于端口、地址等网络层信息来进行分析,这对基于应用层的数据层信息来进行分析,这对基于应
26、用层的数据入侵和病毒传播提供了有效的控制机制。入侵和病毒传播提供了有效的控制机制。代理型防火墙的缺点主要有两个,一是对代理型防火墙的缺点主要有两个,一是对系统的整体性能有较大的影响,主要体现在系统的整体性能有较大的影响,主要体现在数据分析数据分析和和服务映射服务映射上。上。第25页,共122页。所谓服务映射是代理服务器建立的一个映所谓服务映射是代理服务器建立的一个映射表,当处理结果返回后,它可以知道返回射表,当处理结果返回后,它可以知道返回到某一端口的数据需要发送给哪个内网的主到某一端口的数据需要发送给哪个内网的主机及该主机的哪个端口。机及该主机的哪个端口。缺点二:代理服务器是以应用为单位实现
27、缺点二:代理服务器是以应用为单位实现的,客户端每需要增加一个被代理的服务类的,客户端每需要增加一个被代理的服务类型,就需要在代理服务器上多配置一项代理型,就需要在代理服务器上多配置一项代理服务,以便响应代理请求,而这样作大大增服务,以便响应代理请求,而这样作大大增加了系统管理的复杂性,不仅仅与此,为了加了系统管理的复杂性,不仅仅与此,为了实现代理服务器的功能,在每个客户机上都实现代理服务器的功能,在每个客户机上都需要针对不同应用设置相应的代理服务器信需要针对不同应用设置相应的代理服务器信息。息。第26页,共122页。C.C.监测型监测型 监测型防火墙是新一代的产品监测型防火墙是新一代的产品,它
28、能它能够对各层的数据进行主动的、实时的监够对各层的数据进行主动的、实时的监测测,在对这些数据加以分析的基础上在对这些数据加以分析的基础上,监监测型防火墙能够有效地判断出各层中的测型防火墙能够有效地判断出各层中的非法侵入。非法侵入。监测型防火墙一般带有分布式探测器监测型防火墙一般带有分布式探测器,这些探测器安置在各种应用服务器和其这些探测器安置在各种应用服务器和其他网络的节点之中他网络的节点之中,不仅能够检测来自网不仅能够检测来自网络外部的攻击络外部的攻击,同时对来自内部的恶意破同时对来自内部的恶意破坏也有极强的防范作用。坏也有极强的防范作用。第27页,共122页。据权威机构统计据权威机构统计,
29、在针对网络系统的在针对网络系统的攻击中攻击中,有相当比例的攻击来自网络内有相当比例的攻击来自网络内部。因此部。因此,监测型防火墙不仅超越了传监测型防火墙不仅超越了传统防火墙的定义统防火墙的定义,而且在安全性上也超而且在安全性上也超越了前两代产品。越了前两代产品。但是,由于监测型防火墙技术的实现但是,由于监测型防火墙技术的实现成本较高成本较高,也不易管理也不易管理,所以目前在实用所以目前在实用中的防火墙产品仍然以第二代代理型产中的防火墙产品仍然以第二代代理型产品为主品为主,基于对系统成本与安全技术成基于对系统成本与安全技术成本的综合考虑本的综合考虑,用户可以选择性地使用用户可以选择性地使用某些监
30、测型技术。某些监测型技术。第28页,共122页。三、密钥交换、身份认证与加密三、密钥交换、身份认证与加密 理解密钥交换必须先了解密码学的一些理解密钥交换必须先了解密码学的一些基本知识,如对称加密与非对称加密的原基本知识,如对称加密与非对称加密的原理,因为密钥交换在这两种密码体制下存理,因为密钥交换在这两种密码体制下存在不同的处理方式。例如:在不同的处理方式。例如:密钥交换可能被用于产生预共享密钥,密钥交换可能被用于产生预共享密钥,也可能被用于产生会话密钥。也可能被用于产生会话密钥。而单钥机制下通信双方需要交换预共享而单钥机制下通信双方需要交换预共享密钥,这时最常用的密钥交换方式是密钥,这时最常
31、用的密钥交换方式是DHDH密密钥交换,而公钥机制下通信双方不需要交钥交换,而公钥机制下通信双方不需要交换预共享密钥;换预共享密钥;第29页,共122页。同时,无论单钥还是公钥机制都会交同时,无论单钥还是公钥机制都会交换会话密钥(保证一次一密),而单钥换会话密钥(保证一次一密),而单钥下交换会话密钥采用的密钥交换方式一下交换会话密钥采用的密钥交换方式一般为预共享密钥交换方式,即通过已经般为预共享密钥交换方式,即通过已经预先共享的密钥加密会话密钥,而公钥预先共享的密钥加密会话密钥,而公钥机制下交换会话密钥多采用机制下交换会话密钥多采用RSARSA密钥交换密钥交换方式,即采用对方公钥加密会话密钥。方
32、式,即采用对方公钥加密会话密钥。第30页,共122页。从上面的举例分析中,我们可以看到,密从上面的举例分析中,我们可以看到,密钥交换是与密码学紧密相关的,因此介绍密钥交换是与密码学紧密相关的,因此介绍密钥交换之前,我们先介绍关于加密的一些基钥交换之前,我们先介绍关于加密的一些基本知识。本知识。同时,由于身份认证是通过加密机制来同时,由于身份认证是通过加密机制来实现的(无论单钥还是公钥系统),所以实现的(无论单钥还是公钥系统),所以加密技术也是身份认证的基础。加密技术也是身份认证的基础。因此,我们可以通过分析加密过程与加因此,我们可以通过分析加密过程与加密机制来了解与其相关的密钥交换和身份密机制
33、来了解与其相关的密钥交换和身份认证过程。认证过程。第31页,共122页。1 1、什么是加密:、什么是加密:加密技术就是在数据的发送方对数据以一加密技术就是在数据的发送方对数据以一定的算法进行运算,从而把原有的数据明文定的算法进行运算,从而把原有的数据明文转化为不可识别的密文的技术。加密技术分转化为不可识别的密文的技术。加密技术分为两类:即对称加密和非对称加密。为两类:即对称加密和非对称加密。(1 1)对称加密)对称加密 在对称加密技术中,对信息的加密和解在对称加密技术中,对信息的加密和解密都使用相同的密钥,也就是说一把钥匙密都使用相同的密钥,也就是说一把钥匙开一把锁。这种加密方法可简化加密处理
34、开一把锁。这种加密方法可简化加密处理过程,对称加密算法的信息交换过程如下过程,对称加密算法的信息交换过程如下所示:所示:第32页,共122页。A A和和B B协商加密算法协商加密算法 A A和和B B协商密钥协商密钥 A A用加密算法和选取的密钥加密明文信用加密算法和选取的密钥加密明文信息,得到密文息,得到密文 A A发送密文信息给发送密文信息给B BBB用同样的算法和密钥解密密文,得到原用同样的算法和密钥解密密文,得到原始明文。始明文。对称加密模型采用特定的加密算法,其中对称加密模型采用特定的加密算法,其中最常用的是:最常用的是:DESDES(3DES3DES)和)和IDEAIDEA 第33
35、页,共122页。DES(DES(简单数据加密标准简单数据加密标准):6464位分组,实位分组,实际有效密钥长度为际有效密钥长度为5656位。位。IDEAIDEA(国际数据加密算法):(国际数据加密算法):6464位分位分组,组,128128位密钥长度位密钥长度 三重三重DESDES:在:在DESDES基础上,收发双方用基础上,收发双方用三把密钥进行连续加三把密钥进行连续加/解密,这种方法大解密,这种方法大大提升了密码的安全性,但是也要花更大提升了密码的安全性,但是也要花更多的时间来完成加密处理和对每个密层多的时间来完成加密处理和对每个密层进行解密。由于双发都必须拥有进行解密。由于双发都必须拥有
36、3 3个密钥,个密钥,不能丢失其中任何一个,这样也造成了不能丢失其中任何一个,这样也造成了密钥管理上的困难,因此在现实中很少密钥管理上的困难,因此在现实中很少应用应用3DES3DES。第34页,共122页。对称加密模型的不足(讨论思考)对称加密模型的不足(讨论思考)a.a.抗否认性缺陷抗否认性缺陷:伪身份认证问题伪身份认证问题 基于对称加密方式的数据通信本身并不能基于对称加密方式的数据通信本身并不能实现抗否认性,这是由于双方共享一个密钥,实现抗否认性,这是由于双方共享一个密钥,任何一方都有可能伪装成另一方,但却没有任何一方都有可能伪装成另一方,但却没有一种方式来鉴别伪装。一种方式来鉴别伪装。也
37、就是说当一方否认进行交易请求的时候,也就是说当一方否认进行交易请求的时候,没有一种机制来确定到底是它抵赖,还是交没有一种机制来确定到底是它抵赖,还是交易的另一方在伪造交易。(事实上,在特定易的另一方在伪造交易。(事实上,在特定条件下通过对称密钥机制也可以实现签名)条件下通过对称密钥机制也可以实现签名)第35页,共122页。b.b.密钥管理的难度密钥管理的难度:如果每对用户使用不同如果每对用户使用不同的密钥,那么的密钥,那么N N个用户的网络就需要个用户的网络就需要N N(N-N-1 1)/2/2个密钥;个密钥;c.c.密钥交换的难度密钥交换的难度:没有一个绝对安全的没有一个绝对安全的途径来分配
38、密钥途径来分配密钥 关于对称加密中的密钥交换:关于对称加密中的密钥交换:对称加密的通信双方需要对预共享密钥进对称加密的通信双方需要对预共享密钥进行密钥交换(第二步),由于通信双方在无行密钥交换(第二步),由于通信双方在无共享密钥的前提下无法实现安全的网络传输,共享密钥的前提下无法实现安全的网络传输,因此,需要一种在公开环境下安全交换密钥因此,需要一种在公开环境下安全交换密钥的方式的方式第36页,共122页。Diffie-Hellman Diffie-Hellman算法是第一个公开密码算算法是第一个公开密码算法,其安全性基于有限域上计算离散对数法,其安全性基于有限域上计算离散对数的困难性。的困难
39、性。首先首先A A和和B B协商一个大素数协商一个大素数n n和和g g,这两个,这两个素数不必是秘密的;素数不必是秘密的;A A选取一个大随机数选取一个大随机数x x并且发送给并且发送给B B:X=gX=gx xmodnmodn;B B也选取一个大随机数也选取一个大随机数y y,并发送给,并发送给A A:Y=gY=gy ymodnmodn;A计算计算K=Yxmodn=(gymodn)x modn B计算计算K=Xymodn=(gxmodn)ymodn 第37页,共122页。对于模运算,存在公式:对于模运算,存在公式:(ramodq)bmodq=(rab)modq 因此因此K=K=gxymod
40、n,所以双方可以获,所以双方可以获得一个共享的密钥,当窃听者获得得一个共享的密钥,当窃听者获得Y和和X时,时,由于很难得到相应的由于很难得到相应的x,y,所以并不能获得,所以并不能获得K,从而保证了双方密钥的安全交换。从而保证了双方密钥的安全交换。第38页,共122页。关于对称加密条件下的身份认证:关于对称加密条件下的身份认证:对于对称加密而言,由于通信双方共对于对称加密而言,由于通信双方共享一个密钥,因此,如果一方可以正确享一个密钥,因此,如果一方可以正确解密得到的密文,那么就说明发送方确解密得到的密文,那么就说明发送方确实是采用了共享密钥进行加密,而共享实是采用了共享密钥进行加密,而共享密
41、钥只有合法的发送方有,所以证明当密钥只有合法的发送方有,所以证明当前发送方身份是合法的。前发送方身份是合法的。第39页,共122页。(2 2)非对称加密)非对称加密/公开密钥加密公开密钥加密 产生背景:产生背景:在对称密钥体制中,加密运算与解密运算使在对称密钥体制中,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较用同样的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译也有一定困难。简便高效,密钥简短,破译也有一定困难。但是,在公开的计算机网络上安全的传送和但是,在公开的计算机网络上安全的传送和保管密钥是一个严峻的问题。首先,它要求保管密钥是一个严峻的问题。首先,它要求提供一条
42、安全的渠道使通信双方在首次通信提供一条安全的渠道使通信双方在首次通信时协商一个共同的密钥。时协商一个共同的密钥。第40页,共122页。(2 2)非对称加密)非对称加密/公开密钥加密公开密钥加密 产生背景:产生背景:直接面对面协商是不现实的,所以双方直接面对面协商是不现实的,所以双方可能会通过非安全的手段来进行协商。一可能会通过非安全的手段来进行协商。一旦被第三方用非法手段获取密钥,其后果旦被第三方用非法手段获取密钥,其后果可想而知。可想而知。再者,密钥的数目将快速增长以至于难再者,密钥的数目将快速增长以至于难于管理,所以很难适应开放环境下的巨量于管理,所以很难适应开放环境下的巨量处理。为了解决
43、信息公开传送和密钥管理处理。为了解决信息公开传送和密钥管理问题,非对称加密模型应运而生。问题,非对称加密模型应运而生。第41页,共122页。(2 2)非对称加密)非对称加密/公开密钥加密公开密钥加密 定义:定义:非对称密钥模型也称为公钥模型,它使用非对称密钥模型也称为公钥模型,它使用两个不同的密钥:一个用来加密信息,另两个不同的密钥:一个用来加密信息,另一个用来解密信息。用户把其中一个密钥一个用来解密信息。用户把其中一个密钥公开,该密钥称为公开密钥,简称公钥。公开,该密钥称为公开密钥,简称公钥。另一个密钥保密,该密钥也称私钥,公钥另一个密钥保密,该密钥也称私钥,公钥与私钥是数学相关的。根据应用
44、的需要,与私钥是数学相关的。根据应用的需要,发送方可以使用发送方的私钥、接受方的发送方可以使用发送方的私钥、接受方的公钥,或者两者都使用,以完成某种类型公钥,或者两者都使用,以完成某种类型的功能。的功能。第42页,共122页。(2 2)非对称加密)非对称加密/公开密钥加密公开密钥加密 应用应用身份认证与加密:身份认证与加密:通常,可以将非对称密钥系统的应用分通常,可以将非对称密钥系统的应用分为三类:为三类:加密加密/解密:发送方用接收方的公钥加密解密:发送方用接收方的公钥加密报文。报文。认证:发送方用自己的私钥加密报文。认证:发送方用自己的私钥加密报文。加密与认证:发送方私钥加密然后接收方加密
45、与认证:发送方私钥加密然后接收方公钥加密公钥加密幻 灯 演 示:幻 灯 演 示:非 对 称 加 密 与 认 证非 对 称 加 密 与 认 证第43页,共122页。关于预共享密钥交换关于预共享密钥交换从上面的应用分析中,我们可以看出,从上面的应用分析中,我们可以看出,非对称加密方式可以使通信双方无须事非对称加密方式可以使通信双方无须事先交换密钥就可以建立安全通信,它不先交换密钥就可以建立安全通信,它不同于对称加密模型,通信双方需要预先同于对称加密模型,通信双方需要预先建立一个预共享密钥,因此非对称加密建立一个预共享密钥,因此非对称加密模型不需要通过某种密钥交换方式(如模型不需要通过某种密钥交换方
46、式(如DHDH)来进行预共享密钥交)来进行预共享密钥交。第44页,共122页。算法:算法:RSARSA算法是非对称加密领域内最著名的算法。算法是非对称加密领域内最著名的算法。RSARSA公开密钥系统是由公开密钥系统是由R.Rivest R.Rivest、A.Shamir A.Shamir、L.AdlemanL.Adleman三个人于三个人于19771977年提出的。年提出的。RSARSA的取的取名就是由三个人的名字而来。名就是由三个人的名字而来。RSARSA的安全性依的安全性依赖于作为公钥的大数赖于作为公钥的大数N N的位数长度。为保证足的位数长度。为保证足够的安全性,一般认为,个人应用需要用
47、够的安全性,一般认为,个人应用需要用512512位或位或768768位的位的N N,公司应用需要用,公司应用需要用10241024位的位的N N,极其重要的场合应用极其重要的场合应用20482048位的位的N N。第45页,共122页。RSA RSA算法产生密钥对的过程如下:算法产生密钥对的过程如下:选择两个大素数,选择两个大素数,p p 和和q q。计算:。计算:n=n=p p*q q 然后随机选择加密密钥然后随机选择加密密钥e e,要求,要求e e和和(p-(p-1)1)*(q-1)(q-1)互质。互质。最后,利用最后,利用EuclidEuclid算法计算解密密钥算法计算解密密钥d d,满
48、足,满足e e*d=1(mod(p-1)d=1(mod(p-1)*(q-1)(q-1)其中其中n n和和d d也要互质。也要互质。数数e e和和n n是公钥,是公钥,d d是私钥。两个素数是私钥。两个素数p p和和q q不再需要,应该丢弃。不再需要,应该丢弃。第46页,共122页。对于如何运用公钥加密以及运用私钥解对于如何运用公钥加密以及运用私钥解密(即加密和解密的具体运算方式),以密(即加密和解密的具体运算方式),以及对加解密等数学运算的验证过程在这里及对加解密等数学运算的验证过程在这里我们就不作过多的介绍了,详细内容感兴我们就不作过多的介绍了,详细内容感兴趣的同学可以参考:趣的同学可以参考
49、:公钥基础设施公钥基础设施PKIPKI与认证机构与认证机构CACA 主编:关振胜,主编:关振胜,P43P43页。页。CFCA CFCA金融系统技术培训丛书。金融系统技术培训丛书。密码学与网络安全技术基础密码学与网络安全技术基础 主编:汤惟主编:汤惟,P50,P50页。页。普通高等教育规划教材。普通高等教育规划教材。第47页,共122页。四、数字摘要与报文鉴别码四、数字摘要与报文鉴别码MACMAC前面简单介绍了一下加密与认证的过前面简单介绍了一下加密与认证的过程,我们说加密与认证能够实现身份鉴别程,我们说加密与认证能够实现身份鉴别和私密控制,但是如果密文在数据传输过和私密控制,但是如果密文在数据
50、传输过程中发生错误,如被第三方篡改,这种情程中发生错误,如被第三方篡改,这种情况下,接受方是无法得知错误发生的(传况下,接受方是无法得知错误发生的(传输层与数据链路层用于检错的参数也会被输层与数据链路层用于检错的参数也会被第三方更改。)第三方更改。)假设第三方无法破译密文假设第三方无法破译密文,他可以对截获的密文直接进行篡改,然他可以对截获的密文直接进行篡改,然后在传输层产生新数据段并生成头部校后在传输层产生新数据段并生成头部校验字段验字段第48页,共122页。然后在数据链路层基于新的内容产生然后在数据链路层基于新的内容产生冗余校验码,再生成比特流发送给接收冗余校验码,再生成比特流发送给接收方