格尔网上银行安全方案.docx
- 文档编号:3545208
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:24
- 大小:129.21KB
格尔网上银行安全方案.docx
《格尔网上银行安全方案.docx》由会员分享,可在线阅读,更多相关《格尔网上银行安全方案.docx(24页珍藏版)》请在冰豆网上搜索。
格尔网上银行安全方案
KOALSoftware安全白皮书
格尔网上银行安全方案
版本:
2.0
日期:
1999/12/21
上海格尔软件有限公司
格尔网上银行安全方案
目录
1概述1
2网上银行安全需求分析2
2.1网上银行的业务安全分析2
2.1.1公共信息发布2
2.1.2网上帐户查询6
2.1.3网上支付和转账9
3格尔网上银行解决方案12
1.1高加密位数SSL代理12
3.1.1SSL介绍12
3.1.2SSL工作流程12
3.1.3SSL代理的工作原理14
3.1.4SSL代理的特性16
3.2格尔PKI加密模块17
3.2.1加密模块17
3.2.2格尔PKI加密模块17
3.3格尔证书认证系统20
3.3.1证书认证系统20
3.3.2工作流程21
4格尔网上银行解决方案特性分析24
附录25
参考站点25
名词术语25
单钥密码体制和公钥密码体制25
数字签名和数字信封26
数字证书27
1概述
从第一家网络银行(InternetBank)——SecurityFirstNetworkBank(SFNB)1995年10月在网络上开业至今四年多。
开业后的短短几个月,即有近千万人次上网浏览,给金融界带来极大震撼。
于是更有若干银行立即紧跟其后在网络上开设银行,随即此风潮逐渐蔓延全世界,网络银行走进了人们的生活。
由于Internet无所不在,客户只要拥有帐号和密码便能在世界各地与Internet联网,处理个人交易。
这不仅方便客户,银行本身也可因此加强与客户的亲和性。
随着金融环境竞争加剧,银行不得不重新审视自身的服务方式。
在我国,已经有许多商业银行纷纷推出了网上银行服务。
网上银行系统在蕴藏着无限商机的同时,也带来了风险,对于开设网上银行服务的提供者来说,当务之急就是要解决安全问题。
为此,上海格尔软件公司在本文中介绍了一种网上银行系统安全方案。
在本文中所指的网上银行,包括了个人银行和企业银行两个概念,个人银行是指通过网络为个人银行业务提供服务,企业银行则是指通过网络为企业用户提供服务。
两者相比,个人银行业务应该具有较简便的操作界面,而企业银行更注重整个环节的安全性。
从广义来讲,安全的概念可以包括数据安全,系统安全和信息安全三个方面,数据安全是指通过采用系统备份,磁盘镜像等安全手段以防止数据丢失;系统安全是指通过系统加固,边界防御,入侵检测等手段以防止黑客攻击系统破坏数据;而信息安全则主要是指通过加密技术防止信息和数据在公开网络传输上被窃听、篡改和顶替。
信息安全包括四个功能:
数据保密,身份认证,数据完整性和防止抵赖。
本文并没有涉及到有关数据安全方面的概念,对系统安全作了一定的介绍,而对信息安全技术的实施则作了比较详细的方案设计。
本方案是基于上海格尔软件公司电子商务部开发的以下三个安全软件产品:
PKI加密模块,SSL代理和EnterpriseCA。
这三个产品为解决网上银行系统中数据加密,身份认证,数据完整性和防止抵赖等信息安全问题提供了完整的解决方案。
2
网上银行安全需求分析
2.1网上银行的业务安全分析
从功能划分,网上银行的业务可分为三类:
2.1.1公共信息发布
公共信息发布用于介绍网上银行的业务范围流程,金融公共信息等。
这类业务由于面向公众发布,不需要保证信息只能被特定团体或个人访问,需要的是保护信息不会被非法篡改。
目前在Internet上比较多的黑客事件都是篡改公共Web站点的内容,制造虚假信息或涂改页面。
如美国NASA和国防部站点被“黑”事件就是这类事件。
对于银行来说,公共金融信息虽然是公开的,但是如果被篡改某些敏感数据,如银行利率等,很可能会造成不必要的麻烦,对银行的名誉也会造成不利的影响。
因此,对这些内容的保护也是不能够忽视的。
Web站点内容被黑客篡改,是这些黑客通过主动攻击实现的。
例如,黑客通过密码字典猜测信息系统的特权口令,在获得特权口令之后,登录进入系统,篡改发布内容,制造不良影响。
对于这种情况,我们可以通过改进系统配置、增加防火墙防护、配置入侵检测模块和完善安全管理策略来实现安全保护,避免站点被非法篡改。
完善安全管理策略
黑客一般是通过分析网络管理上的漏洞以达到其攻击目的。
很难定义怎样的系统管理才是完善的,因为完善的系统管理是各方面的总和,例如对路由器以及其他主机定期更改密码,采用不规则密码,关闭不必要的服务,关闭防火墙任何不使用的端口等。
对于一个Unix系统,安全管理主要可分为四个方面:
1.防止未授权存取
权限控制是系统安全的基本问题,即防止未被授权的用户进入系统。
良好的用户意识,良好的口令管理(由系统管理员和用户双方配合),登录活动记录和报告,用户和网络活动的周期检查是防止未授权存取的关键。
2.防止泄密
数据保密也是系统安全的一个重要问题。
防止已授权或未授权的用户相互存取对方的重要信息,经常性的文件系统查帐,su登录和报告以及良好的用户保密意识都是防止泄密的手段。
3.防止用户滥用系统资源
一个系统不应被一个有意试图使用过多资源的用户损害,因为在高负载的情况下系统的安全性能往往会降低。
例如黑客通过占用整个磁盘空间来防止日志生成,不幸的是很多商业UNIX不能很好地限制用户对资源的使用。
因此系统管理员必须通过一些系统命令如PS命令,记帐程序df和du周期地检查系统.查出过多占用CUP的进程和大量占用磁盘的文件。
同时安装某些监控软件也是有效的手段之一。
4.维护系统的完整性
大多数情况下,维护系统完整是系统管理员的责任,例如:
周期地备份文件系统,系统崩溃后运行磁盘扫描检查,修复文件系统,检测用户是否正在使用可能导致系统崩溃的软件。
良好的安全管理策略对系统的安全水平起着至关重要的作用。
因此系统管理员可以将以下几个方面作为维护的重点:
系统配置 仔细研究最新的系统维护文档,完善系统各方面的安全配置,降低安全风险。
同时,周期性的维护系统,包括备份和安装补丁程序、订阅安全电子新闻。
系统隔离 将内网和外网进行隔离,确保银行业务前置机、业务主机和数据库服务器只处于内网中,内网和外网通过防火墙相连。
切断共享 Web服务器上的系统配置尽可能地保证安全。
关闭所有不必要的文件共享。
停止所有与业务无关的服务器进程,如Telnet、SMTP和FTP等服务器守护进程。
日志记录 打开日志记录功能,保存系统的访问日志记录,对其进行分析,可以有助于发现有问题的访问情况。
如有必要,使用专门的入侵检测模块。
口令策略 制定完善的口令策略,限制口令的最小长度和最长有效期,检查口令的质量。
专人专权 由专人负责系统安全和系统维护,减少不必要的用户管理权限,严格控制非系统管理员的权限和系统管理员的数量。
以下是一个简化的虚拟网上银行网络结构图:
图1网上银行网络结构图
从图中可以看到整个网络体系分为:
Internet,非军事区(DMZ),Intranet以及银行内部网四部分。
其安全等级从前往后逐次递增。
这些网段由两个网关连为一体。
首先防火墙将Internet和Intranet以及非军事区分离。
非军事区是所有用户可以访问的区域,而Intranet则只有特定用户才能访问,通过对防火墙的合理配置可以避免内部服务器被攻击,可以采用多级防火墙配置(如在非军事区和Internet之间用防火墙隔离)以提供更强的网络安全保护。
Intranet与网上内部网络由前置机相连,为了保证银行业务主机的运行安全,网上银行系统不直接连接业务主机,而是由特定的前置机来代理其请求,前置机只响应特定服务请求,然后将请求转换为特定消息格式发送给业务主机,收到应答后再将数据返回给请求者。
通过这种隔离进一步增强了系统的安全保证。
增加防火墙防护
在网络系统中,防火墙是一种装置,可使内部网络不受公共部分(整个Internet)的影响。
它能同时连接受到保护的网络和Internet两端,但受到保护的网络无法直接接到Internet,Internet也无法直接接到受到保护的网络。
如果要从受到保护的网络内部接到Internet,首先需要连接到防火墙,然后从防火墙接入Internet。
最简单的防火墙是双主机系统(具有两个网络连接的系统)。
防火墙有两种:
1.IP过滤防火墙
IP过滤防火墙在数据包一层工作。
它依据起点、终点、端口号和每一数据包中所含的数据包种类信息控制数据包的流动。
这种防火墙非常安全。
它阻挡别人进入内部网络。
过滤防火墙是绝对性的过滤系统。
即使要让外界的一些人进入防火墙之内,也无法让每一个人进入服务器。
2.代理服务器
代理服务器允许通过防火墙间接进入Internet。
最好的例子是先连接到防火墙,然后从该处再连接到另一个系统。
在有代理服务器的系统中,这项工作是完全自动的。
利用客户端软件连接代理服务器后,代理服务器启动它的客户端软件(代理),然后传回数据。
只要配置正确,代理服务器就绝对安全,它阻挡任何人进入内部网络,因为没有直接的IP通路。
在网上银行系统中,由于Web服务器需要连接到Internet,因此,我们建议在Web服务器和Internet之间架设一个IP过滤防火墙。
配置入侵检测模块
除了防火墙之外,配置入侵检测模块也是一个重要的安全措施。
例如,对于银行帐户和密码,入侵者可能尝试枚举攻击,由于密码长度有限且均为数字,密码空间比较小。
如果入侵者知道帐户号码,很容易通过枚举攻击猜测出帐户密码。
入侵攻击的特点是在一个攻击源同时发出密集攻击数据。
自然,这些攻击数据对于查询系统来说,可能是合法的查询参数,它的特点是在同一个攻击源同时发出大批量查询请求。
普通情况下,一个用户连接后不会非常频繁的查询数据(每分钟最多不超过5次查询),而且查询的帐户号码也有限(每分钟最多不超过10个帐户)。
相反,入侵者为了猜测密码,会大批量、长时间、从同一地点发出攻击信息。
这种攻击模式是能够被检测到的。
检测到异常情况之后,检测模块能够自动予以记录和预警。
自动预警甚至可以通过寻呼机通知系统管理员。
2.1.2网上帐户查询
网上账户查询是指网上银行通过Internet进行帐户实时查询功能,企业银行的查询功能包括:
●余额查询
●交易历史查询
●汇款查询
●公司对公账户查询
个人银行的查询功能包括:
●公积金账户查询
●交易明细查询
●定期到期查询
●消费积分查询
网上账户查询的安全需求比公共信息发布要更高,因此网上账户对系统安全也有同样的需求,而且,除此之外,网上账户查询的还需要解决用户的私有信息(口令,账户数据)在Internet这个公开网络上传输的安全问题。
而这些属于信息安全范畴。
网上账户查询的信息安全功能应包括两个方面:
身份认证和数据保密。
身份验证
传统银行业务的身份验证方案主要是通过口令或PIN来实现的,它具有以下两个特点:
1.PIN一般为4-8个数字,范围比较窄。
2.银行主机记录用户输错PIN的次数,一旦超过一定数量,就自动关闭该账户的服务功能。
在网上银行业务中,仅通过这样的方式来进行身份验证,存在很大的不足:
1.由于网上银行业务的通信信道是公开网络,所以口令明文传输容易被截获。
2.在网络上,口令猜测是黑客使用最多的攻击手段,即使使用蛮力攻击法,攻破8位的数字口令也只需很短的时间。
3.在网上提供服务,很难对错误PIN输入进行限制。
网络的信道故障或者人为的恶意行为都很容易使输错口令次数达到限制。
错误次数限制会给合法的用户带来了很大的不便。
因此,传统的口令验证难以成为网上银行业务的唯一身份认证技术。
在网络应用中,目前采用较多的方法是动态口令(例如Kerberos),令牌卡和数字证书认证技术。
这些技术配合口令机制,就称为双因子身份认证技术。
SSL协议是采用最为广泛的数字证书身份认证技术。
它不但可以解决身份认证,也解决了数据保密问题,所以目前大部分网上应用,包括网上银行都采用SSL技术来实现身份认证。
关于SSL技术的具体介绍参见本文第三章。
简单地说,SSL就是在传输数据前,服务器和客户双方通过数字证书进行“握手”,验证对方的数字证书是否合法,并且约定一个临时的会话密钥,对接下来要传输的数据进行加密。
SSLV2.0不支持客户证书,客户可以通过验证服务器的证书来判断服务器的合法性,服务器则无法验证客户的证书,通常服务器仍然通过口令验证客户的身份,由于口令在传输时已经被加密,所以安全性有了很大的提高。
SSLV3.0对V2.0进行了扩展,支持客户证书,这时服务器就可以验证客户的证书,只有那些拥有合法证书的用户才能继续保持与服务器的连接,如果配合口令验证,就成为双因子身份认证。
采用数字证书的安全体现在私钥的安全,只要私钥不被窃取,数字证书就是安全的,而通过蛮力攻击法攻破私钥的可能性是不存在的。
下表是数字证书同传统口令模式的身份验证在性能上的比较:
口令方式
数字证书方式
用户登录时口令在公开网络上传输,有可能泄密
私钥由用户保存,只需公布其公钥。
私钥永远不会在公开网络上传输,而且从公钥无法推导出私钥
口令一旦泄密,所有安全机制即失效
用户私钥可以存放在IC卡中并有口令保护,安全性更高
服务器需要维护庞大的用户口令列表并负责口令保存的安全
服务器使用数字证书验证用户身份,不保存用户的私钥,所以用户私钥不可能在服务器端泄露
与传统方法一致,易于理解
技术较新,普通用户理解略有难度
对于企业银行,由于数据安全性要求较高,所以应该采用数字证书身份认证加上口令认证的双因子身份认证技术。
每个企业用户应该申请一张数字证书,当企业用户上网进行账户查询时,通过SSL建立安全连接。
网上银行系统首先验证该用户的数字证书是否为合法证书。
然后将查询请求和口令一起发送给业务前置机,由银行业务主机对口令再次进行认证。
企业用户的身份验证过程和CA不可分割。
当服务器通过SSL获得用户证书后,服务器应用程序还要到CA服务器检索该证书是否在废止证书列表之中。
图2显示了企业用户身份验证的完整过程。
图2是网上银行企业用户的口令验证方式。
对于个人用户,考虑到使用的方便性更为重要,可以采用SSLv2.0方式对口令加密进行身份验证,因此用户不需要申请证书,只需要记住口令就行。
数据加密
Web应用数据加密的方案除了SSL以外,并没有太多可供选择的方案。
除了采用数字证书身份认证方案以外,SSL的另一个优点是在建立握手以后,对客户和服务器之间的所有数据均采用对称算法进行加密,对称算法的加密效率比较高,所以对性能不会造成很大的影响。
另外SSL采用了会话密钥的机制,每次握手时约定一个会话密钥,会话结束,密钥立刻失效,最大程度上保证了数据的保密性。
由于采用了SSL技术,Web应用的开发也大为简化,Web服务器应用程序可以把与查询状态有关的信息都保存在Cookie中,而不必担心Cookie的安全问题。
图2企业用户身份验证示意图
2.1.3网上支付和转账
网上支付和转账在查询的基础上进一步给用户提供了方便,用户可以在网上进行支付、转账从而达到交易的目的,就目前而言,国内很多网上银行系统已经开通了如下支付和转账业务:
●定期账户转活期
●活期账户转定期
●活期账户转活期
●信用卡账户转信用卡账户
●公用事业费代缴
●企业转账
●证券资金账户转账
●特约商户网上支付
和查询相比,支付和帐户转帐的安全需求更高,除了必须具备查询所需要的安全性之外,还需要应该提供数据完整性和不可否认性。
数据完整性
所谓数据完整性就是指用户在支付指令和转账指令中所填写的数据必须保持完整,不能在公开网络上被其他用户无意或恶意地修改。
SSL由于对整个数据链路进行了加密,所以在一定程度上能够保证完整性,但是公开网络上的数据加密对完整性的保护只是局部的,一旦数据被解密后依然存在着被更改的可能。
所以正确的方案应该采用数字签名机制,由用户使用自己的数字证书对支付指令或转账指令进行签名,同时签名数据被永久保存,只有这样才能真正避免数据完整性被破坏,签名是对用户私钥对数据摘要(又称指纹)的加密,数据发生变化时,数据摘要也必定发生变化。
如果将原先的数字签名解密,就很容易发现两段数据摘要不符。
不可否认性
不可否认性是指指令发出者不能在事后否认曾经发出该指令。
这对于规范业务,避免法律纠纷起着很大的作用。
传统地,不可否认性是通过手工签名完成的,在网上银行,不可否认性是由数字签名机制实现的。
由于私钥很难攻击,其他人(包括银行)不可能得到私有密钥。
所以用私钥对交易指令的摘要签名后,就保证了该用户确实是发出了该指令。
将签名数据作为业务数据的凭证,在业务成功后就开始保障不可否认性。
不可否认性可以保证每个帐户用户的转帐过程具有法律效力。
另外,对于企业级的帐户。
对于个人银行业务来说,转账金额比较小,风险相对较低,所以在双方都认可的情况下,没有数字签名的支付和转账的指令也是可以接受的。
但是对于企业用户和进行证券转账的个人用户来说,转账金额大,风险大,指令必须附带签名数据,在签名数据验证通过以后才能真正进行支付或转账。
有四种方案可以实现用户签名:
1.专用客户端软件:
例如电子钱包,这类软件通常是一个浏览器的插件(PlugIn),在用户填好支付指令或转账指令并发送给服务器以后,服务器用某种协议规范化该指令,并作为唤醒消息的参数返回给用户,这时插件被激活,用户的指令在插件程序中再次被显示,此时用户可以对这段指令进行数字签名。
许多SET应用的实现采用了这种方案,这种方案的主要缺点是效率比较低,同一段数据需要被来回传送两次。
另外不同的应用可能需要开发不同的插件,对用户和系统开发者来说都增加了额外的负担。
2.表单签名技术:
Netscape公司发明的一种技术,在其浏览器中已经支持,通过调用Java脚本实现对表单域内容的签名,这种方案虽然没有方案1的缺点,但是其实现与浏览器相关。
而且签名数据形式比较固定,不利于开发新的应用,所以很少采用。
3.Java方式:
这种方式是采用客户端脚本的一类方式,用户在填好支付指令或转账指令时,点击“发送”按钮,浏览器脚本或Applet开始运行,调用系统的加密模块对表单中的数据进行签名,并把签名结果一起发送给服务器应用程序。
这种方案克服了第一种方案的缺点,但是需要浏览器支持对应的脚本语言。
因为Java具有较大的代表性,所以称为Java方式。
另外用户必须安装具有COM接口的加密模块。
4.XMLSignature方式:
这时目前最有希望的一种技术,IETF组织正在准备将这项技术确立为标准。
它通过在网页中嵌入一段XML,浏览器或其他客户端程序在处理XML时自动将数据签名。
由于XML在保存和传输数据标准化方面的优越性,这项技术正在成为微软和SUN公司竞争的焦点。
从以上方案比较可以看出,方案3和方案4与前两种相比,机制灵活,应用开发方便,具有较大的优势。
因此上海格尔软件公司的加密模块和SSL代理产品对这两种用户签名方式提供了支持。
3格尔网上银行解决方案
3.1高加密位数SSL代理
3.1.1 SSL介绍
SSL是一种在Web服务协议(HTTP)和TCP/IP之间提供数据连接安全性的协议。
这种安全性协议被称为安全套接字层-SecuritySocketLayer(SSL),它为TCP/IP连接提供数据加密、服务器身份验证和消息完整性验证。
SSL被视为Internet上Web浏览器和服务器的安全标准。
SSL提供了用于启动TCP/IP安全连接的“信号交换”机制。
信号交换机制协调客户和服务器使用的安全性级别,并履行连接的身份验证。
此后,SSL的作用是加密和解密要使用的应用程序协议的字节流(例如HTTP数据包)。
这意味着HTTP请求和HTTP响应中的所有信息将完全被加密,包括客户请求的URL地址,表单提交内容(例如信用卡号)、HTTP访问身份验证信息以及从服务器返回到客户的所有信息。
SSL协议保证了在Internet上交换信息双方的信息安全性和可靠性。
服务器证书用来在Internet上标识一台服务器的身份,服务器证书是Web服务器SSL安全功能的基础。
来自第三方身份认证机构的服务器证书提供用户验证Web站点的方法。
利用SSL,Web服务器还可以通过检查客户证书的内容来验证用户。
典型的客户证书包含用户和证书发行机构的详细标识信息。
综合使用客户证书标识和SSL,能够实现身份认证功能和防止信息篡改。
3.1.2 SSL工作流程
利用SSL,服务器和用户Web浏览器首先参与处理交换–需要证书和密钥对–以决定安全通讯需要的加密等级。
此交换要求Web服务器和用户浏览器都具有兼容的加密和解密能力。
交换的最后结果是创建(通常由Web浏览器)会话密钥。
服务器和Web浏览器都使用会话密钥加密和解密传输的信息。
此会话密钥的加密度,或强度,用位来表示。
构成会话密钥的位数越大或越长,加密和安全的等级就越高。
Web服务器的会话密钥一般为40位长,但实际上可以更长。
Web服务器使用本质上相同的加密方法来维护与用户的通讯链接的安全。
建立安全链接后,Web服务器和用户Web浏览器都使用指定的会话密钥来加密和解密信息。
例如,当经认证的用户企图从要求安全通道的Web站点下载文件时,Web服务器使用会话密钥加密此文件和相关的HTTP标题。
接收到加密文件后,Web浏览器将使用相同会话密钥的副本还原此文件。
这种加密方法尽管安全,但有先天不足:
在创建安全链接过程期间,会话密钥的副本可能会在不安全的网络上传输。
这意味着要危害链接的计算机破坏者只需要截取和偷窃此会话密钥就可以了。
要防止这种可能性,Web服务器可使用其他加密方法。
Web服务器的安全套接字层(SSL)安全功能使用了一种称为公共密钥的加密技术来屏蔽此密钥以防在传输期间被截取。
使用了两个附加密钥:
私人和公共密钥。
公共密钥加密的工作方式如下:
●用户Web浏览器建立与Web服务器的安全(HTTPS)通讯链接。
●Web服务器向用户发送服务器证书和公共密钥。
(此证书使用户能够确认服务器的真实性和Web内容的完整性。
)
●用户的Web浏览器和服务器参与商议交换,以确定用于安全通讯的加密度。
●Web浏览器生成会话密钥,再用服务器的公共密钥加密它。
然后浏览器把加密的会话密钥发送给Web服务器。
●服务器用私人密钥解密会话密钥,并建立安全通道。
●Web服务器和浏览器都用会话密钥加密和解密传输的数据。
会话密钥的复杂度,或强度,是和组成会话密钥文件的二进制位数成正比的。
这意味着会话密钥的位数越大,安全度就越大,解密就越困难。
用户要建立与Web服务器的安全通讯通道时,用户浏览器必须确认能用于该通道安全通讯的最高级加密或最高会话密钥强度。
这意味着Web服务器和用户浏览器都必须具有兼容的会话密钥加密和解密能力。
例如,如果将服务器配置为要求最小128位加密强度的会话密钥,则若要使连接安全,用户必须使Web浏览器有能力处理具有128位会话密钥的信息。
目前,在国内使用的浏览器主要是微软公司开发的InternetExplore和网景公司开发的Navigator或Communicator。
这两种浏览器都具备SSL连接的功能。
但是,使用浏览器缺省的SSL功能,存在着许多缺点:
1.由于国内浏览器受到美国出口限制,加密位数无法达到128位。
虽然美国国会已经批准了56位密码产品出口,但是简体中文版的浏览器还是仍然只支持40位加密强度。
而40位加密强度远达不到在电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上银行 安全 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)