格尔网上银行安全方案_第1页
格尔网上银行安全方案_第2页
格尔网上银行安全方案_第3页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

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.1 SSL 介绍 123.1.2 SSL 工作流程 123.1.3 SSL 代理的工作原理 143.1.4 SSL 代理的特性 163.2 格尔 PKI 加密模块 173.2.1加密模块 173.2.2 格尔 PKI 加密模块

2、 173.3 格尔证书认证系统 203.3.1证书认证系统 203.3.2 工作流程 214 格尔网上银行解决方案特性分析 242525附录矣.卄+卜JH参考站点名词术语 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 站点的内容,制造

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

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

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

9、,系统崩溃后运行磁盘扫描检查, 修复文件系统, 检测用户是否正在使用可 能导致系统崩溃的软件。良好的安全管理策略对系统的安全水平起着至关重要的作用。因此系统管理 员可以将以下几个方面作为维护的重点:系统配置 仔细研究最新的系统维护文档,完善系统各方面的安全配置,降 低安全风险。同时,周期性的维护系统,包括备份和安装补丁程序、订阅安全电 子新闻。系统隔离 将内网和外网进行隔离,确保银行业务前置机、业务主机和数据 库服务器只处于内网中,内网和外网通过防火墙相连。切断共享 Web 服务器上的系统配置尽可能地保证安全。 关闭所有不必要的 文件共享。停止所有与业务无关的服务器进程,如 Telnet、SM

10、TP 和 FTP 等服 务器守护进程。日志记录 打开日志记录功能,保存系统的访问日志记录,对其进行分析,可以有助于发现有问题的访问情况。如有必要,使用专门的入侵检测模块。口令策略 制定完善的口令策略,限制口令的最小长度和最长有效期,检查 口令的质量。专人专权 由专人负责系统安全和系统维护,减少不必要的用户管理权限, 严格控制非系统管理员的权限和系统管理员的数量。以下是一个简化的虚拟网上银行网络结构图:餵行业务主机银行肉部网业务前置机管理员工作站网上报行主机 帼顽务is夏柚服务器33Wr anet菲军爭IZ图1网上银行网络结构图从图中可以看到整个网络体系分为:In ternet,非军事区(DMZ

11、),I ntranet 以及银行内部网四部分。其安全等级从前往后逐次递增。 这些网段由两个网关连 为一体。首先防火墙将In ternet和Intranet以及非军事区分离。非军事区是所有 用户可以访问的区域,而Intranet则只有特定用户才能访问,通过对防火墙的合 理配置可以避免内部服务器被攻击,可以采用多级防火墙配置(如在非军事区和In ternet之间用防火墙隔离)以提供更强的网络安全保护。Intranet 与网上内部网络由前置机相连, 为了保证银行业务主机的运行安全, 网上银行系统不直接连接业务主机, 而是由特定的前置机来代理其请求, 前置机 只响应特定服务请求, 然后将请求转换为特定

12、消息格式发送给业务主机, 收到应 答后再将数据返回给请求者。通过这种隔离进一步增强了系统的安全保证。增加防火墙防护在网络系统中,防火墙是一种装置,可使内部网络不受公共部分(整个 Internet )的影响。它能同时连接受到保护的网络和 Internet 两端,但受到保护 的网络无法直接接到 Internet ,Internet 也无法直接接到受到保护的网络。如果 要从受到保护的网络内部接到 Internet ,首先需要连接到防火墙,然后从防火墙 接入 Internet 。最简单的防火墙是双主机系统(具有两个网络连接的系统) 。防火墙有两种:1. IP 过滤防火墙IP 过滤防火墙在数据包一层工作

13、。它依据起点、终点、端口号和每一数据包 中所含的数据包种类信息控制数据包的流动。 这种防火墙非常安全。 它阻挡别人 进入内部网络。 过滤防火墙是绝对性的过滤系统。 即使要让外界的一些人进入防 火墙之内,也无法让每一个人进入服务器。2. 代理服务器代理服务器允许通过防火墙间接进入 Internet 。最好的例子是先连接到防火 墙,然后从该处再连接到另一个系统。 在有代理服务器的系统中, 这项工作是完 全自动的。 利用客户端软件连接代理服务器后, 代理服务器启动它的客户端软件 (代理),然后传回数据。只要配置正确,代理服务器就绝对安全,它阻挡任何 人进入内部网络,因为没有直接的 IP 通路。在网上

14、银行系统中,由于 Web 服务器需要连接到 Internet ,因此,我们建议 在 Web 服务器和 Internet 之间架设一个 IP 过滤防火墙。配置入侵检测模块除了防火墙之外,配置入侵检测模块也是一个重要的安全措施。例如,对于 银行帐户和密码,入侵者可能尝试枚举攻击,由于密码长度有限且均为数字,密 码空间比较小。如果入侵者知道帐户号码, 很容易通过枚举攻击猜测出帐户密码。入侵攻击的特点是在一个攻击源同时发出密集攻击数据。自然,这些攻击数 据对于查询系统来说, 可能是合法的查询参数, 它的特点是在同一个攻击源同时 发出大批量查询请求。 普通情况下,一个用户连接后不会非常频繁的查询数据 (

15、每 分钟最多不超过 5 次查询),而且查询的帐户号码也有限 (每分钟最多不超过 10 个帐户)。相反,入侵者为了猜测密码,会大批量、长时间、从同一地点发出攻 击信息。 这种攻击模式是能够被检测到的。 检测到异常情况之后, 检测模块能够 自动予以记录和预警。自动预警甚至可以通过寻呼机通知系统管理员。2.1.2 网 上帐户查询网上账户查询是指网上银行通过 Internet 进行帐户实时查询功能,企业 银行的查询功能包括:余额查询交易历史查询汇款查询公司对公账户查询个人银行的查询功能包括:公积金账户查询交易明细查询定期到期查询消费积分查询网上账户查询的安全需求比公共信息发布要更高, 因此网上账户对系

16、统安全 也有同样的需求,而且, 除此之外, 网上账户查询的还需要解决用户的私有信息 (口令,账户数据)在 Internet 这个公开网络上传输的安全问题。而这些属于信 息安全范畴。网上账户查询的信息安全功能应包括两个方面:身份认证和数据保密。身份验证传统银行业务的身份验证方案主要是通过口令或 PIN 来实现的,它具有以下 两个特点:1 PIN 一般为 4-8 个数字,范围比较窄。2 银行主机记录用户输错 PIN 的次数,一旦超过一定数量,就自动关闭该 账户的服务功能。在网上银行业务中,仅通过这样的方式来进行身份验证,存在很大的不足: 1 由于网上银行业务的通信信道是公开网络,所以口令明文传输容

17、易被截 获。2 在网络上, 口令猜测是黑客使用最多的攻击手段, 即使使用蛮力攻击法, 攻破 8 位的数字口令也只需很短的时间。3 在网上提供服务,很难对错误 PIN 输入进行限制。网络的信道故障或者 人为的恶意行为都很容易使输错口令次数达到限制。错误次数限制会给 合法的用户带来了很大的不便。因此,传统的口令验证难以成为网上银行业务的唯一身份认证技术。在网络 应用中,目前采用较多的方法是动态口令(例如 Kerberos ),令牌卡和数字证书 认证技术。这些技术配合口令机制,就称为双因子身份认证技术。SSL 协议是采用最为广泛的数字证书身份认证技术。 它不但可以解决身份认 证,也解决了数据保密问题

18、,所以目前大部分网上应用,包括网上银行都采用 SSL 技术来实现身份认证。关于 SSL 技术的具体介绍参见本文第三章。简单地说,SSL就是在传输数据前,服务器和客户双方通过数字证书进行“握 手”,验证对方的数字证书是否合法,并且约定一个临时的会话密钥,对接下来 要传输的数据进行加密。 SSL V2.0 不支持客户证书,客户可以通过验证服务器 的证书来判断服务器的合法性, 服务器则无法验证客户的证书, 通常服务器仍然 通过口令验证客户的身份, 由于口令在传输时已经被加密, 所以安全性有了很大 的提高。 SS L V3.0 对 V2.0 进行了扩展, 支持客户证书, 这时服务器就可以验证 客户的证

19、书, 只有那些拥有合法证书的用户才能继续保持与服务器的连接, 如果 配合口令验证,就成为双因子身份认证。 采用数字证书的安全体现在私钥的安全, 只要私钥不被窃取, 数字证书就是安全的, 而通过蛮力攻击法攻破私钥的可能性是不存在的下表是数字证书同传统口令模式的身份验证在性能上的比较:口令方式数字证书方式用户登录时口令在公开网络上传输, 有可能泄密私钥由用户保存,只需公布其公钥。私 钥永远不会在公开网络上传输,而且从 公钥无法推导出私钥口令一旦泄密,所有安全机制即失效用户私钥可以存放在IC卡中并有口令 保护,安全性更咼服务器需要维护庞大的用户口令列表并负责口令保存的安全服务器使用数字证书验证用户身

20、份,不 保存用户的私钥,所以用户私钥不可能 在服务器端泄露与传统方法一致,易于理解技术较新,普通用户理解略有难度对于企业银行,由于数据安全性要求较高,所以应该采用数字证书身份认证 加上口令认证的双因子身份认证技术。 每个企业用户应该申请一张数字证书, 当 企业用户上网进行账户查询时,通过 SSL建立安全连接。网上银行系统首先验 证该用户的数字证书是否为合法证书。 然后将查询请求和口令一起发送给业务前 置机,由银行业务主机对口令再次进行认证。企业用户的身份验证过程和CA不可分割。当服务器通过SSL获得用户证书 后,服务器应用程序还要到CA服务器检索该证书是否在废止证书列表之中。图2显示了企业用户

21、身份验证的完整过程。 图2是网上银行企业用户的口令验证方 式。对于个人用户,考虑到使用的方便性更为重要, 可以采用SSLV2.0方式对口 令加密进行身份验证,因此用户不需要申请证书,只需要记住口令就行。数据加密Web应用数据加密的方案除了 SSL以外,并没有太多可供选择的方案。 除了采用数字证书身份认证方案以外,SSL的另一个优点是在建立握手以后,对客户和服务器之间的所有数据均采用对称算法进行加密,对称算法的加密效率比较高,所以对性能不会造成很大的影响。另外SSL采用了会话密钥的机制,每次握手时约定一个会话密钥,会话结束,密钥立刻失效,最大程度上保证 了数据的保密性。由于采用了 SSL技术,W

22、eb应用的开发也大为简化,Web服 务器应用程序可以把与查询状态有关的信息都保存在Cookie中,而不必担心Cookie的安全问题1. SSL服务器代 理验证用户证书 本身的合法性CA服务器2。证书提交CA服 务器,检验是否已经作废用户图2企业用户身份验证示意图2.1.3网上支付和转账网上支付和转账在查询的基础上进一步给用户提供了方便,用户可以在 网上进行支付、转账从而达到交易的目的,就目前而言,国内很多网上银行 系统已经开通了如下支付和转账业务:定期账户转活期活期账户转定期活期账户转活期信用卡账户转信用卡账户公用事业费代缴企业转账证券资金账户转账 特约商户网上支付 和查询相比,支付和帐户转帐

23、的安全需求更高,除了必须具备查询所需要的 安全性之外,还需要应该提供数据完整性和不可否认性。数据完整性所谓数据完整性就是指用户在支付指令和转账指令中所填写的数据必须保 持完整,不能在公开网络上被其他用户无意或恶意地修改。 SSL 由于对整个数 据链路进行了加密, 所以在一定程度上能够保证完整性, 但是公开网络上的数据 加密对完整性的保护只是局部的,一旦数据被解密后依然存在着被更改的可能。 所以正确的方案应该采用数字签名机制, 由用户使用自己的数字证书对支付指令 或转账指令进行签名, 同时签名数据被永久保存, 只有这样才能真正避免数据完 整性被破坏,签名是对用户私钥对数据摘要(又称指纹)的加密,

24、数据发生变化 时,数据摘要也必定发生变化。 如果将原先的数字签名解密, 就很容易发现两段 数据摘要不符。不可否认性不可否认性是指指令发出者不能在事后否认曾经发出该指令。这对于规范业 务,避免法律纠纷起着很大的作用。 传统地,不可否认性是通过手工签名完成的, 在网上银行,不可否认性是由数字签名机制实现的。由于私钥很难攻击,其他人(包括银行)不可能得到私有密钥。所以用私钥 对交易指令的摘要签名后, 就保证了该用户确实是发出了该指令。 将签名数据作 为业务数据的凭证,在业务成功后就开始保障不可否认性。不可否认性可以保证每个帐户用户的转帐过程具有法律效力。另外,对于企 业级的帐户。对于个人银行业务来说

25、,转账金额比较小,风险相对较低,所以在双方都认 可的情况下,没有数字签名的支付和转账的指令也是可以接受的。但是对于企业用户和进行证券转账的个人用户来说,转账金额大,风险大,指令必须附带签名数据,在签名数据验证通过以后才能真正进行支付或转账。有四种方案可以实现用户签名:1专用客户端软件:例如电子钱包,这类软件通常是一个浏览器的插件(PlugIn ),在用户填好支付指令或转账指令并发送给服务器以后,服务 器用某种协议规范化该指令,并作为唤醒消息的参数返回给用户,这时 插件被激活,用户的指令在插件程序中再次被显示,此时用户可以对这 段指令进行数字签名。许多 SET 应用的实现采用了这种方案,这种方案

26、 的主要缺点是效率比较低,同一段数据需要被来回传送两次。另外不同 的应用可能需要开发不同的插件,对用户和系统开发者来说都增加了额 外的负担。2表单签名技术: Netscape 公司发明的一种技术, 在其浏览器中已经支持,通过调用 Java 脚本实现对表单域内容的签名,这种方案虽然没有方案 1 的缺点,但是其实现与浏览器相关。而且签名数据形式比较固定,不利 于开发新的应用,所以很少采用。3 Java 方式:这种方式是采用客户端脚本的一类方式,用户在填好支付指 令或转账指令时,点击“发送”按钮,浏览器脚本或 Applet 开始运行, 调用系统的加密模块对表单中的数据进行签名,并把签名结果一起发送

27、给服务器应用程序。这种方案克服了第一种方案的缺点,但是需要浏览 器支持对应的脚本语言。因为 Java 具有较大的代表性,所以称为 Java 方式。另外用户必须安装具有 COM 接口的加密模块。4XML Signature 方式:这时目前最有希望的一种技术, IETF 组织正在准 备将这项技术确立为标准。它通过在网页中嵌入一段 XML ,浏览器或其 他客户端程序在处理 XML 时自动将数据签名。由于 XML 在保存和传输 数据标准化方面的优越性, 这项技术正在成为微软和 SUN 公司竞争的焦点八、从以上方案比较可以看出,方案 3 和方案 4 与前两种相比,机制灵活,应用 开发方便,具有较大的优势

28、。因此上海格尔软件公司的加密模块和 SSL 代理产 品对这两种用户签名方式提供了支持。3 格尔网上银行解决方案3.1 高加密位数 SSL 代理3.1.1 SSL 介绍SSL 是一种在 Web 服务协议 (HTTP) 和 TCP/IP 之间提供数据连接安全性 的协议。这种安全性协议被称为安全套接字层 Security Socket Layer (SSL) , 它为 TCP/IP 连接提供数据加密、服务器身份验证和消息完整性验证。 SSL 被 视为 Internet 上 Web 浏览器和服务器的安全标准。 SSL 提供了用于启动 TCP/IP 安全连接的“信号交换”机制。信号交换机制协调客户和服务

29、器使用的 安全性级别,并履行连接的身份验证。此后, SSL 的作用是加密和解密要使用 的应用程序协议的字节流 (例如 HTTP 数据包)。这意味着 HTTP 请求和 HTTP 响应中的所有信息将完全被加密, 包括客户请求的 URL 地址,表单提交内容(例 如信用卡号)、 HTTP 访问身份验证信息以及从服务器返回到客户的所有信息。 SSL 协议保证了在 Internet 上交换信息双方的信息安全性和可靠性。服务器证书用来在 Internet 上标识一台服务器的身份,服务器证书是 Web 服务器 SSL 安全功能的基础。 来自第三方身份认证机构的服务器证书提供用户 验证 Web 站点的方法。利用

30、 SSL ,Web 服务器还可以通过检查客户证书的内容来验证用户。典型 的客户证书包含用户和证书发行机构的详细标识信息。 综合使用客户证书标识和 SSL ,能够实现身份认证功能和防止信息篡改。3.1.2 SSL 工作流程利用SSL,服务器和用户 Web浏览器首先参与处理交换 -需要证书和密 钥对-以决定安全通讯需要的加密等级。此交换要求Web服务器和用户浏览器都具有兼容的加密和解密能力。 交换的最后结果是创建 (通常由 Web 浏览器) 会话密钥。 服务器和 Web 浏览器都使用会话密钥加密和解密传输的信息。 此会 话密钥的加密度,或强度,用位来表示。构成会话密钥的位数越大或越长,加密 和安全

31、的等级就越高。 Web 服务器的会话密钥一般为 40 位长,但实际上可以 更长。Web 服务器使用本质上相同的加密方法来维护与用户的通讯链接的安全。 建立安全链接后, Web 服务器和用户 Web 浏览器都使用指定的会话密钥来加 密和解密信息。 例如,当经认证的用户企图从要求安全通道的 Web 站点下载文 件时,Web服务器使用会话密钥加密此文件和相关的 HTTP标题。接收到加密 文件后, Web 浏览器将使用相同会话密钥的副本还原此文件。这种加密方法尽管安全,但有先天不足:在创建安全链接过程期间,会话密 钥的副本可能会在不安全的网络上传输。 这意味着要危害链接的计算机破坏者只 需要截取和偷窃

32、此会话密钥就可以了。要防止这种可能性, Web 服务器可使用 其他加密方法。Web 服务器的安全套接字层 (SSL) 安全功能使用了一种称为公共密钥的 加密技术来屏蔽此密钥以防在传输期间被截取。 使用了两个附加密钥: 私人和公 共密钥。公共密钥加密的工作方式如下:用户 Web 浏览器建立与 Web 服务器的安全 (HTTPS) 通讯链接。 Web 服务器向用户发送服务器证书和公共密钥。 (此证书使用户能够确 认服务器的真实性和 Web 内容的完整性。)用户的 Web 浏览器和服务器参与商议交换,以确定用于安全通讯的加 密度。Web 浏览器生成会话密钥, 再用服务器的公共密钥加密它。 然后浏览器

33、 把加密的会话密钥发送给 Web 服务器。服务器用私人密钥解密会话密钥,并建立安全通道。Web 服务器和浏览器都用会话密钥加密和解密传输的数据会话密钥的复杂度, 或强度,是和组成会话密钥文件的二进制位数成正比的。 这意味着会话密钥的位数越大,安全度就越大,解密就越困难。用户要建立与 Web 服务器的安全通讯通道时, 用户浏览器必须确认能用于 该通道安全通讯的最高级加密或最高会话密钥强度。 这意味着 Web 服务器和用 户浏览器都必须具有兼容的会话密钥加密和解密能力。 例如,如果将服务器配置 为要求最小 128 位加密强度的会话密钥, 则若要使连接安全, 用户必须使 Web 浏览器有能力处理具有

34、 128 位会话密钥的信息。目前,在国内使用的浏览器主要是微软公司开发的 Internet Explore 和网景 公司开发的 Navigator 或 Communicator 。这两种浏览器都具备 SSL 连接的功能。 但是,使用浏览器缺省的 SSL 功能,存在着许多缺点:1 由于国内浏览器受到美国出口限制,加密位数无法达到 128 位。虽然美 国国会已经批准了 56 位密码产品出口, 但是简体中文版的浏览器还是仍 然只支持 40 位加密强度。而 40 位加密强度远达不到在电子商务中应用 的安全需求。2 Internet Explore SSL 模块的加密部分实际上是由操作系统加密内核 CS

35、P 提供的,而 Navigator 和 Communicator 浏览器的加密模块采用的 是网景公司开发的 PKCS11 模块,这两个模块之间不能够交换私钥,所 以用户申请证书时用的是何种浏览器,以后就必须使用这个浏览器,这 给用户带来了不便。3 由于 CSP 和 PKCS11 的接口不同,所以要兼顾两个浏览器的用户,应 用系统必须开发两套网页,增加了应用系统的开发工作量。4 缺省的 CSP 和 PKCS11 模块都不能支持 IC 卡,给用户保存和管理密钥 增加了难度,也降低了安全性能。5 客户的证书和私钥保存在 CSP 或 PKCS11 模块中,给用户签名和其他 电子商务应用扩展带来了很大的

36、不便。 以 SET 应用为例,目前大部分 SET 系统的客户端电子钱包都是采用自己开发的加密模块,也就是说,用户 必须再申请一张 SET 数字证书,不同的应用采用自己的加密模块,给用 户造成了极大的不便。所以国内采用比较多的就是 SSL代理的做法,SSL代理通过截获HTTPS请 求响应对,在客户请求受保护的URL时建立SSL连接。SSL代理产品完全符合 SSL 标准,因此和浏览器, Web 服务器内置的 SSL 功能都能完全兼容。3.1.3 SSL 代理的工作原理SSL 代理分为两个部分: 代理客户端和代理服务器。 代理客户端运行在用户的PC机上,与浏览器同在一台机器上,代理客户端通过修改浏览

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

38、运行在同一台主机上, 代理web server的高位数加密连接,其工作过程与代理客户端十分类似。SSL代理的工作原理见图3。由于代理客户端和浏览器安装在同一台机器上,具有相同的 IP地址,所以 数据仅到达数据链路层,不可能在任何网络上出现,两者之间即便只有 40位的 加密强度,也是足够安全的。代理服务器和 web server之间亦是如此。SSL代理除了提高了传输密钥的位数,同时也提高了证书非对称密钥的位数,根据美国的出口限制,非对称密钥位数不能超过512位。和40位对称密钥一样,攻破512位非对称密钥已经成为可能。图3SSL代理工作原理示意图无论是代理客户端还是代理服务器,都只需要代理本机上

39、的对应产品,而不 是代理两者之间的连接,因此,在没有对方的情况下,代理客户端或代理服务器 均能正常工作,如果浏览器具有128位加密强度,则即使没有代理客户端,也能与配备代理服务器的40位web服务器建立128位的加密强度,同样地,具有 128位加密强度的web server,在没有代理服务器的情况下,也能与 128位加 密位数的浏览器建立 128 位连接。这一点,无论是对于面向国际的国内 web 站 点,还是对于希望能够与国外的 web 站点建立 128 位连接的用户来说,都是至 关重要的。对于用户来说,代理客户端能够真正提高浏览器建立 SSL 连接的安全强度, 不需要任何配置工作, 就象安装

40、浏览器的补丁程序一样, 丝毫感觉不到其对某个 网站有特殊的功能或限制。上海格尔软件公司开发的 SSL 代理,通过上海格尔软件公司开发的 PKCS 加密模块保存和管理个人证书和私有密钥。 用户可以在同一个应用的不同层次使 用相同的证书,进一步降低了用户使用该产品的开销。3.1.4 SSL 代理的特性上海格尔软件公司开发的 SSL 代理具有以下特性:1) SSL 代理通过格尔 PKI 加密模块提供加密和密钥管理的能力, 因此基于 该模块开发的应用系统都可以尽可能地共用同一张用户证书,为用户节约 了证书管理费,简化了管理复杂度。关于 PKCS 加密模块详见下一节。2) KOAL PKCS 加密模块是

41、一个专业化的加密模块, 具有更高的安全强度, 使用更方便,支持 IC 卡保存密钥,也支持用 PK 卡代替软件加密,私钥终 身不离开 IC 卡,增强其安全性。3) 代理服务器可对加密算法进行配置, 在不同的应用提高或降低加密强度。4) SSL 代理具有良好的兼容性, 支持 Windows 和 Unix 平台。 SSL 客户端 代理可以和所有符合 SSL 协议的 SSL 服务器产品兼容, SSL 服务器端也 可以和 Internet Explore 与网景公司的浏览器兼容。5) SSL 代理采用 Cache 技术保存以前客户服务器之间的安全连接, 从而减 少了握手的次数,在性能上尽可能地降低了影响

42、。6) SSL 服务器代理可以将解析后的证书内容添加到用户 Http 请求中,不需 要应用系统自己解码证书。7) 即将推出的 SSL 代理客户端具备 XML 处理能力,可以实现用 XML 方式 进行各种加密,签名操作。3.2 格尔 PKI 加密模块3.2.1 加 密模块加密模块的主要功能是进行密钥运算和密钥管理,大部分密码产品都是在某 个加密模块的基础上开发的,例如微软公司和网景公司的浏览器和 Web 服务器 都是基于加密模块开发的。微软公司的加密模块是 Windows 操作系统内置的 CSP 模块,网景公司则是自己开发的 PKCS11 模块。类似地,格尔 PKI 加密模块是格尔 Enterp

43、rise CA 和 SSL 代理产品的基础, Enterprise CA和SSL代理产品的加密运算和密钥管理功能都是由PKI加密模块提供的。除此之外,格尔 PKI 加密模块向二次开发提供了接口和 SDK ,基于此, 网上银行应用系统的开发就不必再考虑加密运算和密钥管理的设计了。PKI 加密模块不仅支持 RSA,3DES,MC5 等常用标准加密算法,而且支持 由上海格尔软件公司自行研制的元胞加密算法, 该算法是一种流加密算法, 用作 对称加密或者计算摘要,具有很高的强度和运算速度。用户也可以通过 PlugIn 的方式插入其他算法。这比完全定制 Token 要方便的多。对于加密模块来说,除了加密功

44、能以外,密钥的管理机制十分重要,例如密 钥是保存在磁盘文件中, Memory IC 卡还是 IC 卡,是否终生保存在 IC 卡中, 密钥的备份机制如何等等。3.2.2 格 尔 PKI 加密模块PKCS11 是 RSA 公司提出的基于公钥体制的加密模块标准,该标准定义了 一个提供保存加密信息和执行加解密操作的标准应用程序接口(AP I )(称为Cryptoki )。加密运算和密钥管理的功能实际上是由 Token 完成的。 Token 是一 种逻辑设备,可以替换或“插拔” ,以实现用不同的物理设备保存密钥和进行加 密运算。格尔 PKI (Public Key Infrastructure )加密模

45、块是参照 PKCS11 规范设计的 加密模块。但是对 PKCS11 规范作了功能上的扩展,增加了 ASN 编码和解码的 功能,以及一些协议的处理,例如 OCSP,IPSec 协议等。其原理可参见图 4。图4 PKI加密模块示意图格尔PKI加密模块为上层应用提供了加密、证书管理、密钥管理和黑名单管 理的基本功能,因此是 PKI应用的基础。除了应用在 PKI系统外,该加密模块 也包括了符合PBOC规范的密钥分散等IC卡加密机制。以便IC卡网上交易系 统的开发。格尔PKI加密模块的Token是一个多介质的Token,它支持用IC卡或磁盘 保存密钥,也支持用带有非对称运算能力的IC卡(PK卡)来实现运

46、算。另外用 户可以自己实现 Token,例如基于硬件加密机的 Token等。Token以PlugIn的 方式插入到加密模块中。格尔加密模块还提供了 COM接口的封装,应用系统的开发者甚至可以用 Java Applet,ASP,PHP等脚本语言调用加密功能。在Windows平台,格尔加密模块还提供了证书,密钥和黑名单等对象管理 图形界面工具。格尔加密模块具有很好的伸缩性,作为客户端使用时,仅支持少量的功能和 部分加密算法,从而缩小程序的大小,便于用户下载。加密模块提供了比较好的便携性能,证书和密钥很容易从一台PC的加密模块移到另一台上。这对某些应用提供了便利。KOAL PKI加密模块支持多用户权

47、限控制,即多个用户可以共用同一个加密 模块,但一个用户不能存取或利用其他用户的密钥进行运算。硬件实现方案由格尔加密模块来管理用户的私钥和证书,执行数据的签名,加密和解密操 作。一方面,我们可以实现用户私钥的硬件方式保存,将用户的私钥保存在 IC 卡上,并采用有效的手段保护用户的私钥。另一方面,我们可以实现使用硬件进行加密解密操作。 为了保证私有密钥的安全,存放私有密钥必须符合以下几条策略: 在任何时刻,私有密钥都不以明文的形式存放在固定存储介质里。 如果 RAM 里产生了私有密钥的明文后,用完后立刻销毁。 私有密钥分块存放在多个固定存储介质里。对分块存放的密码块最好也要加密,这个加密密钥不保存

48、在任何存储介 质里,只是存在人的脑子里。格尔加密模块使用智能 IC 卡技术来存放用户的私钥,存放过程如下: 系统产生 RSA 密钥对后,用 DES 密钥对私有密钥进行加密后,得到密钥信 息。系统把密钥信息分为 N 个密钥信息块,每一块的长度不定,是随机决定的。 保密钥信息块和块长度被不同的个人应用密钥加密后,存入一张 IC 卡的不同文 件中保存。对于硬件加密则采用硬件加密机来实现。硬件加密机就如同一个黑盒子一 样,能够产生、保存私有密钥,并且可以加密输入数据流。它的内部配置必须高 性能的加密处理器以进行 RSA 加密运算,能支持密钥长度为 1024 位、2048 位 的 RSA 加密运算以及安

49、全哈什、块加密等运算,加密的速度能够满足应用的要 求:一次密钥长度为 1024 位的 RSA 加密运算时间不多于 200ms 。IC 卡实现方案如果IC卡不具有非对称运算功能(非 PK卡),我们利用它来保存用户的私 有密钥。有时候也把用户的证书放在IC卡里。IC卡具有非常好的安全性,首先, IC 卡的 COS 有着很好的安全性设计,这种安全性超过了任何一种按 ABCD 分 级的操作系统。 其次 IC 卡本身具有一定的攻击防范能力, 存放在 IC 卡中的数据 很难通过非常规的物理方法读取, 数据也很难被复制。 因此,对于个人用户来说, IC 卡是一个很好的密钥保存介质。PKCS11 的实现与密钥

50、的存放媒质无关,上海格尔公司开发的 PKCS11 模 块,在客户端可以支持用 IC 卡存放密钥和证书。这提高了用户交易环境的安全 等级,用户可以方便地携带自己的私钥。 而不需担心其他人通过攻击 PC 的硬盘 来获取自己的密钥。3.3 格尔证书认证系统格尔证书认证系统是数字证书的签发者。 数字证书是用于验证信息传输各方 身份的有效证明,同时也用于加密数据, 防止抵赖和篡改。 它通过证书验证和授 权机构对证书持有人及其公开密钥的签名有效地将两者相关联。 最新的数字证书 标准是 X.509v3 ,证书验证和授权机构用一个唯一名( Distinguished Name )标 识一个用户,并向其签发数字

51、证书,该证书包含了该用户的唯一名和公钥。3.3.1 证 书认证系统证书认证系统包括证书认证服务器、管理员接口、 RA 接口和用户接口,提 供多种用途数字证书的发行功能和管理功能。它可以根据策略模块进行自动发 证,也可以手工发证和管理。 所发行的数字证书能够用来验证客户身份和服务器 身份,从而达到对某些敏感信息的保护。上海格尔软件有限公司开发的企业证书认证系统是一个基于 Internet/Intranet 的数字证书发行、管理系统。用户可以通过 Internet 用浏览器 来申请和管理自己的数字证书, 系统管理员同样通过浏览器对系统进行管理。 可 发行的数字证书包括个人数字证书和服务器数字证书。

52、与 CA 中心相比,网上银行系统维护自己的 CA 服务器成本更低,而且实时 性更好,一般来说, CA 中心不主动发放 CRL (证书废止列表),应用程序必须 自己下载并维护 CRL ,而且查询 CRL 的方式往往实时性比较差,处理 CRL 比 较好的办法是通过 OCSP (实时证书状态验证协议)直接向 CA 查询,但是 CA 中心处理 OCSP 请求的性能往往较低。实际上,大多数情况下CA中心的方案并不是十分有意义,只有当某个用户 持有某家银行的证书并且需要查询另一家银行的账户时才有意义,但目前看来这种情形并不太可能发生。332工作流程个人数字证书用于 Web浏览器。用户的浏览器产生密钥对并将

53、公钥发送到 身份认证服务器,身份认证经过发行策略检查后,同意用户的请求, 对用户的个 人信息以及公钥进行签名,产生数字证书。随后发送给用户,用户的浏览器接受 到证书以后会在自己的密钥库中对证书中的公钥进行匹配,如果找到匹配的私 钥,浏览器便将证书与私钥合并成完整的密钥环,整个证书申请过程完成。证书申请以后,在私钥受到攻击的时候,用户还需要废除或更新自己的证书。 图4给出了用户证书操作的流程。图5证书申请流程示意图证书认证系统界面包括用户界面和管理员界面两部分。用户界面包括基本服务、用户信息管理、个人数字证书和服务器数字证书四 部分。身份认证基本服务包括根证书下载和身份认证服务器证书下载。用户对

54、个人 数字证书和服务器数字证书的信任是基于对根证书的信任, 所以身份认证服务器 需要提供根证书下载和每种证书类型的身份认证服务器证书下载功能。用户信息管理包括用户注册和注册信息修改。用户申请数字证书之前首先必 须注册,用户必须将必要的身份信息提交给身份认证服务器, 用户提供的信息将 作为数字证书的一部分被身份认证服务器签名来产生用户的数字证书。 如果有必 要用户还可以修改部分注册信息。 用户信息管理并不是独立与证书申请之外的过 程,事实上,作为证书申请流程的首要条件, 用户信息管理同证书申请是互相融 合的。个人证书发行包括申请个人数字证书,个人数字管理以及查询个人数字证书 等功能。 具体工作流

55、程是: 首先用户必须进行注册, 已注册用户可以直接申请数 字证书。用户将提供其姓名,电子邮件地址等信息。当注册被确认后,会以电子 邮件或提示等方式通知用户,其中包含有该用户的PIN (Personal IdentifyNumber )该号码唯一标识了该用户,用户也可以自己查询,检查自己当前的状 态,然后用户就可以用这个号码来申请数字证书。在用户的申请被接受以后, 用 户可以安装证书。此外,用户还能够撤消原有的证书或更新已撤消或过期的证书。对于网上银行系统,个人数字证书的使用对用户来说只需要在第一次使用时 进行一些操作。在以后的使用时是隐含的。 所以, 个人证书的发行将采用帐户号 码作为 PIN

56、 ,帐户密码作为证书口令,或者由用户重新选择自己的证书口令。发 行也是自动发行的,这样才能够满足大量帐户用户的自动发行要求。个人数字证书申请将产生用户的个人数字证书,身份认证系统收到用户的证 书请求后, 可以自动或由管理员手工生成一张用户个人数字证书, 并将这些信息 存放到数据库和目录服务器中以备查询。个人数字证书管理包括证书下载和安装、证书废除和证书更新等服务。个人 数字证书管理界面维护注册用户所有个人数字证书列表, 用户可以下载和安装这 些数字证书,也可以废除某张证书,被废除的数字证书将自动写入证书黑名单, 并从目录服务器中删除,用户还可以对过期或已废除的证书进行更新。查询个人数字证书提供

57、对其他用户的数字证书的检索,用户可以查询身份认 证的数据库, 也可以查询目录服务器。 个人数字证书查询提供对数字证书的下载 功能,其功能类似于电话号码黄页。管理员界面主要包括数字证书管理、管理员帐号管理、系统配置管理和日志 管理四部分组成。如图 6。管理员界面是基于浏览器的,需要对连接的用户进行身份识别,这一点必须 通过WWW服务器的安全机制来实现。对于支持客户数字证书的服务器如 Netscape Enterprise Server和微软IIS,身份认证系统通过获取用户的个人数字 证书来进行身份验证,对于不支持客户数字证书的服务器, 则通过其自身的用户 口令机制来进行身份验证。个人数字证书管理包括个人注册信息管理和个人数字证书管理两部分。个人注册信息管理可以查询一段时期内的用户注册情况,并能够产生用户注 册信息报表。个人数字证书管理负责对用户的个人数字证书申请进行手工确认或废除工 作,同时还能对一段时间内的用户申请进行统计。管理员帐号管理包括对管理员用户的帐号增加,删除,权限和口令的设置。这部分设置是针对于通过SSL3协议访问管理员界面的情况的,系统管理员通过 SSL3协议访问系统时必须提供个人数字证书,服务器验证其个人

温馨提示

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

评论

0/150

提交评论