格尔网上银行解决方案探析(doc32页)_第1页
格尔网上银行解决方案探析(doc32页)_第2页
格尔网上银行解决方案探析(doc32页)_第3页
格尔网上银行解决方案探析(doc32页)_第4页
格尔网上银行解决方案探析(doc32页)_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、KOAL Software 安全白皮书格尔网上银行安全方案版本: 2.0上海格尔软件有限公司日期: 1999/12/21格尔网上银行安全方案目录1概述 .12网上银行安全需求分析 .22.1 网上银行的业务安全分析 .22.1.1公共信息发布 .22.1.2网上帐户查询 .62.1.3网上支付和转账 .93格尔网上银行解决方案 .121.1 高加密位数 SSL 代理 .123.1.1SSL 介绍 .123.1.2SSL 工作流程 .123.1.3SSL 代理的工作原理 .143.1.4SSL 代理的特性 .163.2 格尔 PKI 加密模块 .173.2.1加密模块 .173.2.2格尔 PK

2、I 加密模块 .173.3 格尔证书认证系统 .203.3.1证书认证系统 .203.3.2工作流程 .214格尔网上银行解决方案特性分析 .24附录.25参考站点 .25名词术语25单钥密码体制和公钥密码体制25数字签名和数字信封26数字证书271 概述从 第 一 家 网 络 银 行 (Internet Bank) Security First Network Bank(SFNB)1995 年 10 月在网络上开业至今四年多。开业后的短短几个月,即有近千万人次上网浏览, 给金融界带来极大震撼。 于是更有若干银行立即紧跟其后在网络上开设银行, 随即此风潮逐渐蔓延全世界, 网络银行走进了人们的生

3、活。由于 Internet 无所不在,客户只要拥有帐号和密码便能在世界各地与Internet联网,处理个人交易。这不仅方便客户, 银行本身也可因此加强与客户的亲和性。随着金融环境竞争加剧,银行不得不重新审视自身的服务方式。在我国, 已经有许多商业银行纷纷推出了网上银行服务。网上银行系统在蕴藏着无限商机的同时,也带来了风险,对于开设网上银行服务的提供者来说,当务之急就是要解决安全问题。为此,上海格尔软件公司在本文中介绍了一种网上银行系统安全方案。在本文中所指的网上银行,包括了个人银行和企业银行两个概念,个人银行是指通过网络为个人银行业务提供服务, 企业银行则是指通过网络为企业用户提供服务。两者相

4、比, 个人银行业务应该具有较简便的操作界面, 而企业银行更注重整个环节的安全性。从广义来讲,安全的概念可以包括数据安全, 系统安全和信息安全三个方面,数据安全是指通过采用系统备份, 磁盘镜像等安全手段以防止数据丢失; 系统安全是指通过系统加固, 边界防御,入侵检测等手段以防止黑客攻击系统破坏数据;而信息安全则主要是指通过加密技术防止信息和数据在公开网络传输上被窃听、篡改和顶替。信息安全包括四个功能:数据保密,身份认证,数据完整性和防止抵赖。本文并没有涉及到有关数据安全方面的概念, 对系统安全作了一定的介绍,而对信息安全技术的实施则作了比较详细的方案设计。本方案是基于上海格尔软件公司电子商务部开

5、发的以下三个安全软件产品: PKI 加密模块, SSL 代理和 Enterprise CA 。这三个产品为解决网上银行系统中数据加密,身份认证,数据完整性和防止抵赖等信息安全问题提供了完整的解决方案。2 网上银行安全需求分析2.1 网上银行的业务安全分析从功能划分,网上银行的业务可分为三类:2.1.1 公共信息发布公共信息发布用于介绍网上银行的业务范围流程,金融公共信息等。这类业务由于面向公众发布, 不需要保证信息只能被特定团体或个人访问,需要的是保护信息不会被非法篡改。 目前在 Internet 上比较多的黑客事件都是篡改公共Web站点的内容,制造虚假信息或涂改页面。如美国 NASA 和国防

6、部站点被“黑”事件就是这类事件。对于银行来说, 公共金融信息虽然是公开的, 但是如果被篡改某些敏感数据,如银行利率等, 很可能会造成不必要的麻烦, 对银行的名誉也会造成不利的影响。因此,对这些内容的保护也是不能够忽视的。Web 站点内容被黑客篡改, 是这些黑客通过主动攻击实现的。例如,黑客通过密码字典猜测信息系统的特权口令,在获得特权口令之后,登录进入系统,篡改发布内容,制造不良影响。对于这种情况,我们可以通过改进系统配置、增加防火墙防护、 配置入侵检测模块和完善安全管理策略来实现安全保护,避免站点被非法篡改。完善安全管理策略黑客一般是通过分析网络管理上的漏洞以达到其攻击目的。很难定义怎样的系

7、统管理才是完善的, 因为完善的系统管理是各方面的总和,例如对路由器以及其他主机定期更改密码,采用不规则密码,关闭不必要的服务, 关闭防火墙任何不使用的端口等。对于一个 Unix 系统,安全管理主要可分为四个方面:1. 防止未授权存取权限控制是系统安全的基本问题,即防止未被授权的用户进入系统。良好的用户意识,良好的口令管理(由系统管理员和用户双方配合),登录活动记录和报告,用户和网络活动的周期检查是防止未授权存取的关键。2. 防止泄密数据保密也是系统安全的一个重要问题。防止已授权或未授权的用户相互存取对方的重要信息,经常性的文件系统查帐,su 登录和报告以及良好的用户保密意识都是防止泄密的手段。

8、3. 防止用户滥用系统资源一个系统不应被一个有意试图使用过多资源的用户损害,因为在高负载的情况下系统的安全性能往往会降低。 例如黑客通过占用整个磁盘空间来防止日志生成,不幸的是很多商业 UNIX 不能很好地限制用户对资源的使用。 因此系统管理员必须通过一些系统命令如 PS 命令,记帐程序 df 和 du 周期地检查系统 .查出过多占用 CUP 的进程和大量占用磁盘的文件。同时安装某些监控软件也是有效的手段之一。4. 维护系统的完整性大多数情况下,维护系统完整是系统管理员的责任,例如:周期地备份文件系统,系统崩溃后运行磁盘扫描检查, 修复文件系统, 检测用户是否正在使用可能导致系统崩溃的软件。良

9、好的安全管理策略对系统的安全水平起着至关重要的作用。因此系统管理员可以将以下几个方面作为维护的重点:系统配置仔细研究最新的系统维护文档,完善系统各方面的安全配置,降低安全风险。同时,周期性的维护系统,包括备份和安装补丁程序、订阅安全电子新闻。系统隔离将内网和外网进行隔离,确保银行业务前置机、业务主机和数据库服务器只处于内网中,内网和外网通过防火墙相连。切断共享Web 服务器上的系统配置尽可能地保证安全。关闭所有不必要的文件共享。停止所有与业务无关的服务器进程,如Telnet、SMTP 和 FTP 等服务器守护进程。日志记录打开日志记录功能,保存系统的访问日志记录,对其进行分析,可以有助于发现有

10、问题的访问情况。如有必要,使用专门的入侵检测模块。口令策略制定完善的口令策略,限制口令的最小长度和最长有效期,检查口令的质量。专人专权由专人负责系统安全和系统维护,减少不必要的用户管理权限,严格控制非系统管理员的权限和系统管理员的数量。以下是一个简化的虚拟网上银行网络结构图:图 1 网上银行网络结构图从图中可以看到整个网络体系分为:Internet ,非军事区( DMZ ),Intranet以及银行内部网四部分。 其安全等级从前往后逐次递增。这些网段由两个网关连为一体。首先防火墙将Internet 和 Intranet 以及非军事区分离。非军事区是所有用户可以访问的区域, 而 Intranet

11、 则只有特定用户才能访问, 通过对防火墙的合理配置可以避免内部服务器被攻击,可以采用多级防火墙配置 (如在非军事区和Internet 之间用防火墙隔离)以提供更强的网络安全保护。Intranet 与网上内部网络由前置机相连, 为了保证银行业务主机的运行安全,网上银行系统不直接连接业务主机,而是由特定的前置机来代理其请求,前置机只响应特定服务请求, 然后将请求转换为特定消息格式发送给业务主机,收到应答后再将数据返回给请求者。通过这种隔离进一步增强了系统的安全保证。增加防火墙防护在网络系统中,防火墙是一种装置,可使内部网络不受公共部分(整个Internet )的影响。它能同时连接受到保护的网络和

12、Internet 两端,但受到保护的网络无法直接接到 Internet ,Internet 也无法直接接到受到保护的网络。如果要从受到保护的网络内部接到 Internet ,首先需要连接到防火墙,然后从防火墙接入 Internet 。最简单的防火墙是双主机系统(具有两个网络连接的系统) 。防火墙有两种:1.IP 过滤防火墙IP 过滤防火墙在数据包一层工作。它依据起点、终点、端口号和每一数据包中所含的数据包种类信息控制数据包的流动。 这种防火墙非常安全。 它阻挡别人进入内部网络。 过滤防火墙是绝对性的过滤系统。 即使要让外界的一些人进入防火墙之内,也无法让每一个人进入服务器。2.代理服务器代理服

13、务器允许通过防火墙间接进入Internet 。最好的例子是先连接到防火墙,然后从该处再连接到另一个系统。 在有代理服务器的系统中, 这项工作是完全自动的。利用客户端软件连接代理服务器后, 代理服务器启动它的客户端软件(代理),然后传回数据。只要配置正确,代理服务器就绝对安全,它阻挡任何人进入内部网络,因为没有直接的 IP 通路。在网上银行系统中,由于 Web 服务器需要连接到 Internet ,因此,我们建议在 Web 服务器和 Internet 之间架设一个 IP 过滤防火墙。配置入侵检测模块除了防火墙之外,配置入侵检测模块也是一个重要的安全措施。例如,对于银行帐户和密码,入侵者可能尝试枚

14、举攻击, 由于密码长度有限且均为数字, 密码空间比较小。如果入侵者知道帐户号码, 很容易通过枚举攻击猜测出帐户密码。入侵攻击的特点是在一个攻击源同时发出密集攻击数据。自然,这些攻击数据对于查询系统来说, 可能是合法的查询参数, 它的特点是在同一个攻击源同时发出大批量查询请求。 普通情况下,一个用户连接后不会非常频繁的查询数据 (每分钟最多不超过 5 次查询),而且查询的帐户号码也有限 (每分钟最多不超过 10 个帐户)。相反,入侵者为了猜测密码,会大批量、长时间、从同一地点发出攻击信息。这种攻击模式是能够被检测到的。 检测到异常情况之后, 检测模块能够自动予以记录和预警。自动预警甚至可以通过寻

15、呼机通知系统管理员。2.1.2 网上帐户查询网上账户查询是指网上银行通过 Internet 进行帐户实时查询功能,企业银行的查询功能包括:余额查询交易历史查询汇款查询公司对公账户查询个人银行的查询功能包括:公积金账户查询交易明细查询定期到期查询消费积分查询网上账户查询的安全需求比公共信息发布要更高, 因此网上账户对系统安全也有同样的需求,而且, 除此之外, 网上账户查询的还需要解决用户的私有信息(口令,账户数据)在 Internet 这个公开网络上传输的安全问题。而这些属于信息安全范畴。网上账户查询的信息安全功能应包括两个方面:身份认证和数据保密。身份验证传统银行业务的身份验证方案主要是通过口

16、令或PIN 来实现的,它具有以下两个特点:1 PIN 一般为 4-8 个数字,范围比较窄。2 银行主机记录用户输错 PIN 的次数,一旦超过一定数量,就自动关闭该账户的服务功能。在网上银行业务中,仅通过这样的方式来进行身份验证,存在很大的不足:1 由于网上银行业务的通信信道是公开网络,所以口令明文传输容易被截获。2 在网络上,口令猜测是黑客使用最多的攻击手段,即使使用蛮力攻击法,攻破 8 位的数字口令也只需很短的时间。3 在网上提供服务,很难对错误 PIN 输入进行限制。网络的信道故障或者人为的恶意行为都很容易使输错口令次数达到限制。错误次数限制会给合法的用户带来了很大的不便。因此,传统的口令

17、验证难以成为网上银行业务的唯一身份认证技术。在网络应用中,目前采用较多的方法是动态口令(例如Kerberos ),令牌卡和数字证书认证技术。这些技术配合口令机制,就称为双因子身份认证技术。SSL 协议是采用最为广泛的数字证书身份认证技术。它不但可以解决身份认证,也解决了数据保密问题,所以目前大部分网上应用,包括网上银行都采用 SSL 技术来实现身份认证。关于 SSL 技术的具体介绍参见本文第三章。简单地说,SSL 就是在传输数据前,服务器和客户双方通过数字证书进行 “握手”,验证对方的数字证书是否合法,并且约定一个临时的会话密钥,对接下来要传输的数据进行加密。 SSL V2.0 不支持客户证书

18、,客户可以通过验证服务器的证书来判断服务器的合法性, 服务器则无法验证客户的证书, 通常服务器仍然通过口令验证客户的身份, 由于口令在传输时已经被加密, 所以安全性有了很大的提高。 SSL V3.0 对 V2.0 进行了扩展, 支持客户证书, 这时服务器就可以验证客户的证书, 只有那些拥有合法证书的用户才能继续保持与服务器的连接, 如果配合口令验证,就成为双因子身份认证。 采用数字证书的安全体现在私钥的安全,只要私钥不被窃取, 数字证书就是安全的, 而通过蛮力攻击法攻破私钥的可能性是不存在的。下表是数字证书同传统口令模式的身份验证在性能上的比较:口令方式数字证书方式用户登录时口令在公开网络上传

19、输,私钥由用户保存,只需公布其公钥。私有可能泄密钥永远不会在公开网络上传输,而且从公钥无法推导出私钥口令一旦泄密,所有安全机制即失效用户私钥可以存放在 IC 卡中并有口令保护,安全性更高服务器需要维护庞大的用户口令列表服务器使用数字证书验证用户身份,不并负责口令保存的安全保存用户的私钥,所以用户私钥不可能在服务器端泄露与传统方法一致,易于理解技术较新,普通用户理解略有难度对于企业银行,由于数据安全性要求较高,所以应该采用数字证书身份认证加上口令认证的双因子身份认证技术。每个企业用户应该申请一张数字证书,当企业用户上网进行账户查询时,通过SSL 建立安全连接。网上银行系统首先验证该用户的数字证书

20、是否为合法证书。 然后将查询请求和口令一起发送给业务前置机,由银行业务主机对口令再次进行认证。企业用户的身份验证过程和 CA 不可分割。当服务器通过 SSL 获得用户证书后,服务器应用程序还要到 CA 服务器检索该证书是否在废止证书列表之中。图2 显示了企业用户身份验证的完整过程。 图 2 是网上银行企业用户的口令验证方式。对于个人用户,考虑到使用的方便性更为重要, 可以采用 SSLv2.0 方式对口令加密进行身份验证,因此用户不需要申请证书,只需要记住口令就行。数据加密Web 应用数据加密的方案除了SSL 以外,并没有太多可供选择的方案。除了采用数字证书身份认证方案以外,SSL 的另一个优点

21、是在建立握手以后,对客户和服务器之间的所有数据均采用对称算法进行加密,对称算法的加密效率比较高,所以对性能不会造成很大的影响。另外SSL 采用了会话密钥的机制,每次握手时约定一个会话密钥,会话结束,密钥立刻失效,最大程度上保证了数据的保密性。由于采用了SSL技术,Web应用的开发也大为简化,Web服务器应用程序可以把与查询状态有关的信息都保存在Cookie中,而不必担心Cookie的安全问题。银行业务主机CA 服务器3 。银行业务主机2。证书提交 CA 服务器,检验是否已再 对 口 令 进 行 验经作废证Web 服务器1 SSL 服务器代建立 SSL 握手理 验 证 用 户 证 书本身的合法性

22、表单 递交口令用户图 2 企业用户身份验证示意图2.1.3 网上支付和转账网上支付和转账在查询的基础上进一步给用户提供了方便,用户可以在网上进行支付、转账从而达到交易的目的,就目前而言,国内很多网上银行系统已经开通了如下支付和转账业务:定期账户转活期活期账户转定期活期账户转活期信用卡账户转信用卡账户公用事业费代缴企业转账证券资金账户转账特约商户网上支付和查询相比,支付和帐户转帐的安全需求更高,除了必须具备查询所需要的安全性之外,还需要应该提供数据完整性和不可否认性。数据完整性所谓数据完整性就是指用户在支付指令和转账指令中所填写的数据必须保持完整,不能在公开网络上被其他用户无意或恶意地修改。SS

23、L 由于对整个数据链路进行了加密, 所以在一定程度上能够保证完整性,但是公开网络上的数据加密对完整性的保护只是局部的,一旦数据被解密后依然存在着被更改的可能。所以正确的方案应该采用数字签名机制,由用户使用自己的数字证书对支付指令或转账指令进行签名, 同时签名数据被永久保存, 只有这样才能真正避免数据完整性被破坏,签名是对用户私钥对数据摘要(又称指纹)的加密,数据发生变化时,数据摘要也必定发生变化。如果将原先的数字签名解密,就很容易发现两段数据摘要不符。不可否认性不可否认性是指指令发出者不能在事后否认曾经发出该指令。这对于规范业务,避免法律纠纷起着很大的作用。 传统地,不可否认性是通过手工签名完

24、成的,在网上银行,不可否认性是由数字签名机制实现的。由于私钥很难攻击,其他人(包括银行)不可能得到私有密钥。所以用私钥对交易指令的摘要签名后, 就保证了该用户确实是发出了该指令。将签名数据作为业务数据的凭证,在业务成功后就开始保障不可否认性。不可否认性可以保证每个帐户用户的转帐过程具有法律效力。另外,对于企业级的帐户。对于个人银行业务来说,转账金额比较小,风险相对较低,所以在双方都认可的情况下,没有数字签名的支付和转账的指令也是可以接受的。但是对于企业用户和进行证券转账的个人用户来说,转账金额大,风险大,指令必须附带签名数据,在签名数据验证通过以后才能真正进行支付或转账。有四种方案可以实现用户

25、签名:1专用客户端软件:例如电子钱包,这类软件通常是一个浏览器的插件( PlugIn ),在用户填好支付指令或转账指令并发送给服务器以后,服务器用某种协议规范化该指令,并作为唤醒消息的参数返回给用户,这时插件被激活,用户的指令在插件程序中再次被显示,此时用户可以对这段指令进行数字签名。许多 SET 应用的实现采用了这种方案,这种方案的主要缺点是效率比较低,同一段数据需要被来回传送两次。另外不同的应用可能需要开发不同的插件,对用户和系统开发者来说都增加了额外的负担。2表单签名技术: Netscape 公司发明的一种技术, 在其浏览器中已经支持,通过调用 Java 脚本实现对表单域内容的签名,这种

26、方案虽然没有方案 1 的缺点,但是其实现与浏览器相关。而且签名数据形式比较固定,不利于开发新的应用,所以很少采用。3 Java 方式:这种方式是采用客户端脚本的一类方式,用户在填好支付指令或转账指令时,点击“发送”按钮,浏览器脚本或Applet 开始运行,调用系统的加密模块对表单中的数据进行签名,并把签名结果一起发送给服务器应用程序。这种方案克服了第一种方案的缺点,但是需要浏览器支持对应的脚本语言。因为Java 具有较大的代表性,所以称为Java方式。另外用户必须安装具有COM 接口的加密模块。4 XML Signature方式:这时目前最有希望的一种技术,IETF 组织正在准备将这项技术确立

27、为标准。它通过在网页中嵌入一段XML ,浏览器或其他客户端程序在处理XML 时自动将数据签名。由于XML 在保存和传输数据标准化方面的优越性, 这项技术正在成为微软和SUN 公司竞争的焦点。从以上方案比较可以看出,方案3 和方案 4 与前两种相比,机制灵活,应用开发方便,具有较大的优势。因此上海格尔软件公司的加密模块和SSL 代理产品对这两种用户签名方式提供了支持。3 格尔网上银行解决方案3.1 高加密位数 SSL 代理3.1.1SSL介绍SSL 是一种在Web服务协议(HTTP)和TCP/IP之间提供数据连接安全性的协议。这种安全性协议被称为安全套接字层Security Socket Lay

28、er (SSL),它为TCP/IP连接提供数据加密、服务器身份验证和消息完整性验证。SSL被视为Internet上Web浏览器和服务器的安全标准。SSL提供了用于启动TCP/IP安全连接的“信号交换”机制。信号交换机制协调客户和服务器使用的安全性级别,并履行连接的身份验证。此后, SSL 的作用是加密和解密要使用的应用程序协议的字节流 (例如 HTTP 数据包)。这意味着 HTTP 请求和 HTTP 响应中的所有信息将完全被加密, 包括客户请求的 URL 地址,表单提交内容(例如信用卡号)、 HTTP 访问身份验证信息以及从服务器返回到客户的所有信息。 SSL 协议保证了在 Internet

29、上交换信息双方的信息安全性和可靠性。服务器证书用来在 Internet 上标识一台服务器的身份,服务器证书是 Web 服务器 SSL 安全功能的基础。 来自第三方身份认证机构的服务器证书提供用户验证 Web 站点的方法。利用 SSL , Web 服务器还可以通过检查客户证书的内容来验证用户。典型的客户证书包含用户和证书发行机构的详细标识信息。 综合使用客户证书标识和 SSL ,能够实现身份认证功能和防止信息篡改。3.1.2SSL 工作流程利用 SSL ,服务器和用户Web 浏览器首先参与处理交换 需要证书和密钥对 以决定安全通讯需要的加密等级。此交换要求 Web 服务器和用户浏览器都具有兼容的

30、加密和解密能力。 交换的最后结果是创建 (通常由 Web 浏览器)会话密钥。服务器和 Web 浏览器都使用会话密钥加密和解密传输的信息。 此会话密钥的加密度,或强度,用位来表示。构成会话密钥的位数越大或越长,加密和安全的等级就越高。 Web 服务器的会话密钥一般为40 位长,但实际上可以更长。Web 服务器使用本质上相同的加密方法来维护与用户的通讯链接的安全。建立安全链接后, Web 服务器和用户Web 浏览器都使用指定的会话密钥来加密和解密信息。 例如,当经认证的用户企图从要求安全通道的Web站点下载文件时,Web服务器使用会话密钥加密此文件和相关的HTTP标题。接收到加密文件后, Web

31、浏览器将使用相同会话密钥的副本还原此文件。这种加密方法尽管安全,但有先天不足:在创建安全链接过程期间,会话密钥的副本可能会在不安全的网络上传输。这意味着要危害链接的计算机破坏者只需要截取和偷窃此会话密钥就可以了。要防止这种可能性,Web服务器可使用其他加密方法。Web 服务器的安全套接字层 (SSL) 安全功能使用了一种称为公共密钥的加密技术来屏蔽此密钥以防在传输期间被截取。 使用了两个附加密钥: 私人和公共密钥。公共密钥加密的工作方式如下:用户 Web 浏览器建立与 Web 服务器的安全 (HTTPS) 通讯链接。 Web 服务器向用户发送服务器证书和公共密钥。 (此证书使用户能够确认服务器

32、的真实性和 Web 内容的完整性。)用户的 Web 浏览器和服务器参与商议交换,以确定用于安全通讯的加密度。Web 浏览器生成会话密钥, 再用服务器的公共密钥加密它。 然后浏览器把加密的会话密钥发送给 Web 服务器。服务器用私人密钥解密会话密钥,并建立安全通道。Web 服务器和浏览器都用会话密钥加密和解密传输的数据。会话密钥的复杂度, 或强度,是和组成会话密钥文件的二进制位数成正比的。这意味着会话密钥的位数越大,安全度就越大,解密就越困难。用户要建立与Web 服务器的安全通讯通道时,用户浏览器必须确认能用于该通道安全通讯的最高级加密或最高会话密钥强度。这意味着Web 服务器和用户浏览器都必须

33、具有兼容的会话密钥加密和解密能力。例如,如果将服务器配置为要求最小128 位加密强度的会话密钥, 则若要使连接安全, 用户必须使Web浏览器有能力处理具有128 位会话密钥的信息。目前,在国内使用的浏览器主要是微软公司开发的InternetExplore 和网景公司开发的 Navigator 或 Communicator 。这两种浏览器都具备SSL 连接的功能。但是,使用浏览器缺省的SSL 功能,存在着许多缺点:1 由于国内浏览器受到美国出口限制,加密位数无法达到128 位。虽然美国国会已经批准了56 位密码产品出口, 但是简体中文版的浏览器还是仍然只支持 40 位加密强度。而40 位加密强度

34、远达不到在电子商务中应用的安全需求。2 Internet Explore SSL 模块的加密部分实际上是由操作系统加密内核 CSP 提供的,而 Navigator 和 Communicator 浏览器的加密模块采用的是网景公司开发的 PKCS11 模块,这两个模块之间不能够交换私钥,所以用户申请证书时用的是何种浏览器,以后就必须使用这个浏览器,这给用户带来了不便。3 由于 CSP 和 PKCS11 的接口不同,所以要兼顾两个浏览器的用户,应用系统必须开发两套网页,增加了应用系统的开发工作量。4 缺省的 CSP 和 PKCS11 模块都不能支持IC 卡,给用户保存和管理密钥增加了难度,也降低了安

35、全性能。5 客户的证书和私钥保存在 CSP 或 PKCS11 模块中,给用户签名和其他电子商务应用扩展带来了很大的不便。 以 SET 应用为例,目前大部分 SET 系统的客户端电子钱包都是采用自己开发的加密模块,也就是说,用户必须再申请一张 SET 数字证书,不同的应用采用自己的加密模块,给用户造成了极大的不便。所以国内采用比较多的就是 SSL 代理的做法,SSL 代理通过截获 HTTPS 请求响应对,在客户请求受保护的 URL 时建立 SSL 连接。SSL 代理产品完全符合 SSL 标准,因此和浏览器, Web 服务器内置的 SSL 功能都能完全兼容。3.1.3SSL 代理的工作原理SSL

36、代理分为两个部分: 代理客户端和代理服务器。代理客户端运行在用户的 PC 机上,与浏览器同在一台机器上, 代理客户端通过修改浏览器的代理设置,从而捕获浏览器发出的安全连接。当用户需要用浏览器的 SSL 与服务器(代理服务器或 Web Server 本身)进行连接时,该请求被代理服务器捕获后,代理客户端先与服务器建立高位数加密强度(高于 128 位)的握手,再和浏览器之间生成低位数的 SSL 握手,浏览器发出的 http 请求通过 40 位 SSL 到达代理客户端,代理客户端首先将数据解密,然后用与服务器端之间建立的128 位 SSL 连接加密,发送给服务器,类似地,服务器将http 响应发送给

37、代理客户端,代理客户端先将数据解密, 然后通过与浏览器之间建立的40 位 SSL 连接将数据发送给浏览器。在服务器端,代理服务器端则与低位数的web server 运行在同一台主机上,代理 web server 的高位数加密连接,其工作过程与代理客户端十分类似。SSL代理的工作原理见图 3。由于代理客户端和浏览器安装在同一台机器上,具有相同的IP地址,所以数据仅到达数据链路层,不可能在任何网络上出现,两者之间即便只有40 位的加密强度,也是足够安全的。代理服务器和web server 之间亦是如此。SSL 代理除了提高了传输密钥的位数,同时也提高了证书非对称密钥的位数,根据美国的出口限制,非对

38、称密钥位数不能超过512 位。和 40位对称密钥一样,攻破 512位非对称密钥已经成为可能。http 应用数据内置 40 位 SSL代理客户端代理服务器端http 应用数据40 位连接128 位连接浏览器代理客户端代理服务器web 服务器图 3SSL 代理工作原理示意图无论是代理客户端还是代理服务器,都只需要代理本机上的对应产品,而不是代理两者之间的连接,因此,在没有对方的情况下, 代理客户端或代理服务器均能正常工作,如果浏览器具有128 位加密强度,则即使没有代理客户端,也能与配备代理服务器的40 位 web 服务器建立 128 位的加密强度,同样地,具有128 位加密强度的 web ser

39、ver ,在没有代理服务器的情况下,也能与128 位加密位数的浏览器建立128 位连接。这一点,无论是对于面向国际的国内web 站点,还是对于希望能够与国外的web 站点建立 128 位连接的用户来说,都是至关重要的。对于用户来说,代理客户端能够真正提高浏览器建立SSL 连接的安全强度,不需要任何配置工作, 就象安装浏览器的补丁程序一样,丝毫感觉不到其对某个网站有特殊的功能或限制。上海格尔软件公司开发的SSL 代理,通过上海格尔软件公司开发的PKCS加密模块保存和管理个人证书和私有密钥。用户可以在同一个应用的不同层次使用相同的证书,进一步降低了用户使用该产品的开销。3.1.4SSL 代理的特性

40、上海格尔软件公司开发的SSL 代理具有以下特性:1) SSL 代理通过格尔 PKI 加密模块提供加密和密钥管理的能力, 因此基于该模块开发的应用系统都可以尽可能地共用同一张用户证书,为用户节约了证书管理费,简化了管理复杂度。关于 PKCS 加密模块详见下一节。2) KOAL PKCS 加密模块是一个专业化的加密模块, 具有更高的安全强度,使用更方便,支持 IC 卡保存密钥,也支持用 PK 卡代替软件加密,私钥终身不离开 IC 卡,增强其安全性。3) 代理服务器可对加密算法进行配置, 在不同的应用提高或降低加密强度。4) SSL 代理具有良好的兼容性, 支持 Windows 和 Unix 平台。

41、 SSL 客户端代理可以和所有符合 SSL 协议的 SSL 服务器产品兼容, SSL 服务器端也可以和 Internet Explore 与网景公司的浏览器兼容。5) SSL 代理采用 Cache 技术保存以前客户服务器之间的安全连接, 从而减少了握手的次数,在性能上尽可能地降低了影响。6)SSL 服务器代理可以将解析后的证书内容添加到用户Http 请求中,不需要应用系统自己解码证书。7) 即将推出的 SSL 代理客户端具备 XML 处理能力,可以实现用 XML 方式进行各种加密,签名操作。3.2 格尔 PKI 加密模块3.2.1 加密模块加密模块的主要功能是进行密钥运算和密钥管理,大部分密码

42、产品都是在某个加密模块的基础上开发的,例如微软公司和网景公司的浏览器和Web 服务器都是基于加密模块开发的。微软公司的加密模块是Windows操作系统内置的CSP 模块,网景公司则是自己开发的PKCS11 模块。类似地,格尔 PKI 加密模块是格尔Enterprise CA 和 SSL 代理产品的基础,Enterprise CA和 SSL代理产品的加密运算和密钥管理功能都是由PKI 加密模块提供的。除此之外,格尔PKI加密模块向二次开发提供了接口和SDK ,基于此,网上银行应用系统的开发就不必再考虑加密运算和密钥管理的设计了。PKI 加密模块不仅支持RSA ,3DES ,MC5 等常用标准加密

43、算法,而且支持由上海格尔软件公司自行研制的元胞加密算法,该算法是一种流加密算法, 用作对称加密或者计算摘要,具有很高的强度和运算速度。用户也可以通过PlugIn的方式插入其他算法。这比完全定制Token 要方便的多。对于加密模块来说,除了加密功能以外,密钥的管理机制十分重要,例如密钥是保存在磁盘文件中,MemoryIC 卡还是 IC 卡,是否终生保存在IC 卡中,密钥的备份机制如何等等。3.2.2 格尔 PKI 加密模块PKCS11 是 RSA 公司提出的基于公钥体制的加密模块标准,该标准定义了一个提供保存加密信息和执行加解密操作的标准应用程序接口(API )(称为Cryptoki )。加密运

44、算和密钥管理的功能实际上是由Token 完成的。 Token 是一种逻辑设备,可以替换或“插拔” ,以实现用不同的物理设备保存密钥和进行加密运算。格尔 PKI (Public Key Infrastructure )加密模块是参照 PKCS11 规范设计的加密模块。但是对 PKCS11 规范作了功能上的扩展,增加了 ASN 编码和解码的功能,以及一些协议的处理,例如 OCSP ,IPSec 协议等。其原理可参见图 4。图 4 PKI 加密模块示意图格尔 PKI 加密模块为上层应用提供了加密、证书管理、密钥管理和黑名单管理的基本功能,因此是 PKI 应用的基础。除了应用在 PKI 系统外,该加密模块也包括了符合 PBOC 规范的密钥分散等 IC 卡

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论