中国网上银行系统安全性分析(转)

前言:本文是对于一般性质的网上银行系统安全性的技术分析文章,对于目前中国国内具体银行的安全性不具有评测功能,也不对任何第三方评测数据负责。以下是正文。

  网络银行是一个比较新的概念,中国的网络银行大多是对现有银行专用网的延伸和对银行传统业务方式的补充,银行增加一些软、硬件设备,使得用户可以通过家用电脑连接银行系统,进行各种普通的银行业务,以弥补传统银行业务中营业网点少和营业时间短的不足。

  中国的网上银行起步比较早的是深圳招商银行,他们开发过第一个面向最终用户的网银系统。招行的网络银行有大众版和专业版之分。随着网络的大规模普及,中国各个银行也都逐步开启自己的网银系统,有些银行的系统仅局限在账户信息查询方面,有些则包含转账付款等功能,还有的已经涉及贷款、投资等方面的内容。随着网银的普及,网银的安全性成为整个系统中最为至关重要的部分了。

  今年以来,大量的关于网上银行发生骗盗的报道不断见诸报端。不法分子通过窃取用户的卡号和密码,大量盗窃资金和冒用消费,因此虽然网银对于银行和用户都有不少好处,但是发生这些情况使得银行在推广网银面临非常巨大的风险,提高网银的安全性也是刻不容缓。

  根据一般的报道分析,不法分子窃取用户信息主要通过木马程序来进行,比如,黑客首先在用户电脑系统注入木马程序后,驻留在中招电脑系统里的监控系统就可以截取、监控系统及用户上网时打开的网银密码窗口。也就是说当用户在网银程序里输入卡号或密码时计算机就会自动将相关信息的编码发送给黑客,他们再据此进行反读取以破译,钱便被黑走了。

  目前的网银系统的主要问题是,用户安全性过于依赖用户本身的素质,对于安全观念较差的用户,其密码很容易被盗取,因此这种“信任用户”的安全模式设计是很不合理的。用户的电脑可能安装木马程序,用户的一举一动都可能被监听和窃取,安全的网银系统应该设计成为这样的:假设网银的管理员是黑客,并在最终用户电脑安装木马并且可以监听用户的一切键盘鼠标操作,网银的管理员还可以进行系统管理和操作,但是网银的管理员依旧无法通过网银系统来窃取最终用户的资金。如果能做到这一点,那么这个网银系统就算是比较安全了。

  明天,我将继续介绍,这样的网银系统安全性是如何实现,从那些方面可以保证系统的安全性,以及这样的系统存在什么样的漏洞。

 

前文已经提出了一个安全网上银行系统的大致描述,今天我们将论述一下如何构造这种安全的网银系统。

  要想知道什么样的网银系统是安全的,首先要知道哪些网银系统是不安全的。

  我的观点是,所有不带有身份认证令牌硬件设备的网银系统都是不安全的

  这些系统包括各种“大众版”网银,以及一些所谓的数字证书“专业版”,因为他们从本质上来讲,所有的运行代码都是在电脑内存中运行的,用户所有的操作都有可能被木马所截获。理论上讲,黑客完全可以伪造用户进行系统登录。只有脱离用户的电脑系统,使用独立的身份认证硬件设备,才能构造出安全的网银系统。

  目前有两种流行的身份认证硬件产品可以实现较为安全的网银系统登录。

  第一种身份认证产品名叫“动态密码锁”。

  动态密码(Dynamic Password)也称一次性密码,它指用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次。动态密码采用一种称之为动态令牌的专用硬件,内置电源、密码生成芯片和显示屏。下图是这种产品的外观,其中数字键用于输入用户PIN码,显示屏用于显示一次性密码。每次输入正确的PIN码,都可以得到一个当前可用的一次性动态密码。

 

 

  这种产品的密码生成芯片运行专门的密码算法,根据当前时间以及使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证通过,系统就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份,因为下一次登录必须使用另外一个动态密码。

  动态密码锁系统需要两个密码要素,一个要素是静态PIN码,由用户自行设置、保管。另一个要素是动态密码,由密码令牌动态生成,不可预测,并且与后台服务器的接入控制保持同步,由后台服务器进行检验。因此,用户必需输入正确的静态PIN码和动态密码,才能通过身份认证。

  动态密码锁本身需要输入PIN码才能使用,静态PIN码的安全要素在于,这个PIN码不是在电脑上输入的,而是在密码锁上输入的,这样,所有的黑客木马程序从理论上讲都全部失效,因为这些木马根本不可能在另外一个硬件密码锁上运行。

  黑客要想破解用户密码,首先要从物理上获得用户的动态密码锁,其次还要获得用户的PIN码,这样,黑客必须潜入用户家中(电脑黑客还需要学习普通窃贼的技术),偷取了动态密码锁,然后再破解PIN码。没有用户PIN码依旧无法使用,而通常情况下动态密码锁本身具有一定安全保护功能,录入PIN码错误10 次就会自动锁死而无法使用。这也保证了动态密码锁物理上的安全性。

  动态密码技术可以完美解决客户端用户的安全性问题,因为黑客无论使用什么方法,也无法方便的窃取用户的密码,即使黑客窃取了一次密码也无法登录使用。

  从技术上将,动态密码技术是比较完美的方案,然而可惜的是,动态密码锁的成本过高,大部分成本都高于100元,不太利于大规模使用。中国目前有一些银行图便宜,使用一种文字卡片类型的所谓的“动态密码卡”,也是用来实现较为原始的动态密码技术。实际上,这种低成本的卡片具有的缺陷是非常明显的,卡片内容极易被复制,且没有保护PIN码,别人偷盗或者复制这张卡片即可冒名登录,其安全性远不及真正的动态密码锁身份认证系统。

  虽然动态密码锁的安全性的确不错,然而,动态密码技术也有一个安全隐患,就是服务器端的安全性。动态密码的本质是单钥加密,密钥只有一个。在服务器端的认证系统里,可以计算出所有动态密码,因此黑客如果将精力放在破解银行认证服务器系统,那么还是有可能对银行系统造成一定安全威胁,另外这个系统也依赖于网银的管理员,网银的管理员可以在服务器端修改动态密码锁的规则,也具有一定的安全隐患。

  下一回,我们将介绍另外一种低成本的身份认证硬件产品,可以通过双钥加密的技术实现安全的认证,并可以弥补动态密码锁的某些安全性的隐患。

 

 

前文已经提到一种身份认证产品名叫“动态密码锁”,今天我们将介绍另外一种广泛应用的身份认证产品:USB Key

  和单钥的动态密码锁不同的是,USB Key采用双钥(公钥)加密的认证模式,USB Key是一种USB接口的硬件设备,外形如下图所示。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。

  USB Key产品最早是由加密锁厂商提出来的,原先的USB加密锁主要用于防止软件破解和复制,保护软件不被盗版,而USB Key的目的不同,USB Key主要用于网络认证,锁内主要保存数字证书和用户私钥。

  USB Key的硬件和PIN码构成了可以使用证书的两个必要因素。如果用户PIN码被泄漏,只要USB Key本身不被盗用即安全。黑客如果想要通过破解加密狗的方法破解USB Key,那么需要先偷到用户USB Key的物理硬件,没有哪个用户会愚蠢到将自己的Key拱手奉献给黑客。

  USB Key的一个最重要的优点就是成本低廉。一些单片机芯片USB Key的成本可以低于10元,很利于大规模普及应用,不过单片机芯片USB Key虽然成本低廉,但是芯片容易被黑客硬件复制。而智能卡芯片的USB Key就不容易被硬件复制,不过带来的是较高的成本,一般智能卡芯片的USB Key的价格都要高于30元。

  USB Key目前在网上银行应用十分广泛,大家看到一些银行的U盾、优KEY等都是这种产品,不过奇怪的是,这些产品的收费似乎要高于其实际价格。

  USB Key的使用方法是,当登录网银系统的时候,在电脑上插入USB Key,然后输入PIN码,如果验证通过,则可以进行相关交易。这种加密方式使用了双钥加密,私钥安全地保存在Key中,在网络应用的环境下,可以更安全,弥补了动态密码锁单钥加密的一些缺陷。

  然而可惜的是,USB Key虽然在一些地方优于动态密码技术,但是实际使用中却有一些动态密码所没有的安全性问题,这个安全问题主要在于客户端而不是服务器,由于PIN码是在用户电脑上输入的,因此黑客依然可以通过程序截获用户PIN码,如果用户不及时取走USB Key,那么黑客可以通过截获的PIN码来取得虚假认证,仍然存在安全隐患。而动态密码锁使用随机的一次性密码,不存在这样的问题。

  解决方法有几种,一种是改造现有的USB Key,增加输入键,使其PIN码可以在USB Key上输入,这样就不会被电脑上的木马拦截。

  还有一种更理想的安全模式,是将这两种加密方式结合在一起,USB Key的PIN码使用动态密码生成,这样两种加密锁结合在一起,服务器端和客户端的安全性就都得到了保障。黑客截取的PIN码是一次性的,而网银管理员无法获得USB Key的用户密码进行身份验证。这样的网银,其安全性就比较高了。

  然而目前实施这种方案的问题也是明显的:成本。每个加密锁都需要几十元的成本,两个锁的总共成本就可能超过一百元,大规模使用的话,这个成本由银行出肯定不可能,用户自己也未必愿意出这样的成本,因此这种方案真正实施起来,还是不太现实的。

  总而言之,对于当前中国网上银行系统,加强网银用户的身份认证管理,防止用户资料的泄露,是消除网上银行安全隐患的有效措施。如果没有完善的双向身份认证机制,那么这个网上银行的安全性就是没有任何保障的。当前世界上绝大部分银行的网上银行系统都是基于公开密钥体系(PKI)和数字证书建立起来的。

  目前我所提到的动态密码锁和USB Key都是不错的安全产品,但是如果要基于PKI体系的话,使用USB Key更容易搭建遵循PKI标准的密钥管理平台,这也是USB Key应用更为广泛的原因之一。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值