月光博客 » 互联网络 » 中国网银安全分析:USB Key

中国网银安全分析:USB Key

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

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

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. 1
    xiaocainiao   说道:
     USB Key目前在网上银行应用十分广泛,大家看到一些银行的U盾、优KEY等都是这种产品,不过奇怪的是,这些产品的收费似乎要高于其实际价格。
    ===================================一点都不奇怪,因为银行也要挣钱啊,银行把CFCA数字证书的费用也转加在用户身上,银行也不傻啊
    支持(17反对(7回复
  1. 2
    xiat   说道:
    现在最多的不是黑客用木马去盗你号,而是用社会工程学。做一些钓鱼的页面骗用户。
    网络是安全的,但是人是网络中最不安全的因素。提高自己的一些识别力才是事情的本质。像用qq,mail等等群发一些诈骗信息。
    支持(9反对(4回复
  1. 3
    larryli   说道:
    11F 要破解密钥从私钥入手远比公钥简单。
    因为私钥是存放在特殊的硬件载体里面,需要做的破解工作就是把这个私钥从 USB Key 里面读出来。

    下面是一个 SSH-2 RSA 256 位的公钥(实际中一般会使用 RSA 或 DSA 1024 位以上的密钥):
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAACEA1W5UQabfki1HHbglyUh8hNcs6IyWpF//8Vt5CyTvqgs= rsa-key-20070112
    要想解密这串公钥不是短时间能做到的。

    然后要解密这个公钥对应私钥就要简单的多。这个私钥只是使用了密码保护。对于 USB Key 是采用 PIN 密码保护。
    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4,ENCRYPTED
    DEK-Info: DES-EDE3-CBC,23776CD511CE7052

    7vHIpZ/uJJRJN7NMq+VGuq3++lLzQHRO61nwARXQu7/22nvuni9r3iMPozNdnzin
    yPAHgG/euS973b1ta/uo1/93qmyQk5OHRRi0/vq9rpUxivzqGFCN1vx561wpMJ6j
    NzJfZDBQXDsM+60C+kTh1A4fJ+AF809/6DbDXrztVqXw38XpHNAz+NGCTRCqkGIo
    0cuI1enh7wk8fIxppDe2Vcqw+xJBKjPnqu+Ubhce7KY=
    -----END RSA PRIVATE KEY-----
    支持(7反对(3回复
  1. 4
    ytw   说道:
    既然说到网银系统中USB KEY的安全性,索性再说开一些。

    1、软证书的安全性就不用说了,其安全性可以忽略不计。
    2、动态密码的安全性也不是银行和用户想象的好,多数的现行动态密码方案都可以破解。而且还有诸多问题:成本增加、后台系统复杂、易用性不好。
    3、网银的安全不能只考虑黑客借漏洞来牟取经济利益,想想破坏性病毒软件,它们基本上不是为其主人牟利,而是满足制作者的成就感和破坏欲望。仅此带来的恐慌都是很显著的。
    4、恶意黑客假如在控制了很多网银帐号后,仅仅就是要做一下均贫富呢,银行还能开网银吗?这样就没人还敢说可以通过报案来恐吓恶意黑客了吧?
    5、还有一种情况,也可以导致网银的信任危机。目前网银所用的USB KEY都可以很容易地被失效,熟悉智能卡技术的人都能办到。用户需要反复地跑营业点解决KEY不能用的问题,那还用什么网银呢?

    综上所述,唉,现在的网银啊,只能说亟待解决其可用性了。
    支持(8反对(4回复
  1. 5
    bus   说道:
    不是不准确,是google服务器在更新吧.百度还是0呢.更新完了就好了.
    支持(7反对(4回复
  1. 6
    williamlong   说道:
    对于USB Key来说,破解私钥首先要从物理上获得硬件Key,并且似乎只有单片机的USB Key才可能通过破解来读取,最新的智能卡USB Key应该不是那么好破解的。
    支持(9反对(6回复
  1. 7
    guzimazida   说道:
    其实加个手机短信确认就可以了.
    支持(8反对(5回复
  1. 8
    搜索引擎研究博客   说道:
    USB锁破解的很严重啊

    银行是不断的变着法子收钱了,取消了跨行查,又增加企业的账户管理费,更狠的是20块一个月了。
    支持(7反对(5回复
  1. 9
    还是有点效果的   说道:
    刚QQ游戏里面的装备被盗,被弄成了个裸体人损失惨重!很郁闷....如果用了这个密保卡,肯定是有效果的! 虽然它不能100%的保证,比起传统的认证还是有进步的,真希望有天能够,"天下无贼"---想当贼都没那机会就好了,那就好了
    支持(9反对(7回复
  1. 10
    kuber   说道:
    现在输入pin可以用软键盘了
    支持(10反对(8回复
  1. 11
    googlefans   说道:
    我的电脑没有USB口。
    支持(6反对(5回复
  1. 12
    无影无踪   说道:
    我来帮楼主解释一下12f的问题,
    恶意黑客可以在网关进行数据截取和数据伪造!
    譬如当用户进行转账时,我们就可以直接伪造转账的号码。
    虽然用户信息是进行加密的,但是我们可以用我们事先截取的加密的部分替代他的那部分。这样他转账的信息就会转到我们那里!
    请注意现有的身份认证和加密协议都会做hash运算的,所以替换加密信息这种做法是不可取,因为只要消息内容改变了,那么hash值肯定会改变,那就不能通过完整性认证了。
    支持(7反对(6回复
  1. 13
    RocheChild   说道:
    很多人根本不了解usb-key的原理和使用方法,就在这边发表见解,蛮可笑的... 建议想写论文的个么,把当前一些流行的并在实际应用中常见的加密和常用破解方法 研究透了就差不多了,别研究什么 绝对的安全了...
    支持(9反对(8回复
  1. 14
    jjj111   说道:
    USB Key 原始本能,只能骗自己,可以钩出信息去认证。
    支持(6反对(5回复
  1. 15
    无双   说道:
    里面有两个错字,用户自己也未必原因出这样的成本?本意应该是愿意吧:)
    看来博主是用拼音打字的:P

    我不喜欢银行的做法,感觉跟收保护费一样,有一种被抢的感觉,一个破U盾,啥功能没有,抢偶100块,×××,现在免费领了张密码卡在用,用完了就不用网银了,垃圾,等外国银行来收拾他们。
    支持(7反对(7回复
  1. 16
    首佳   说道:
    恭喜月光博客涨到5了,可是我的主页还是0,下面有三个页面是1,看了这么多网站的PR分配都是顺着来的,只有我的是倒着来。绝大多数外链都是指向主页的。http://www.whsjsoft.com/index.asp文件里面这样写的:
    <%
    Response.Redirect "Chinese/index.asp"
    %>
    这样算不算犯规啊?谢谢了
    支持(5反对(5回复
  1. 17
    czlelva   说道:
    1.2F说的都是一些虚的东西,没有提出解决问题的方法,个人觉得网银现在比较安全的还是动态密码(手机短信通知)
    支持(3反对(4回复
  1. 18
    孟庆川   说道:
    总之,只要网银通过windows和互联网支付,再怎么安全也是可以远程破解的,只是时间问题,这是先天性缺陷!
    而我们又不能不通过互联网支付
    USBkey是可以通过增加技术含量而达到足够安全性
    但成本太高!
    生物识别技术成本也太高!
    目前最佳的办法就是:
    在通过互联网支付的同时,再增加一条互联网之外的低成本途径!
    我在综合比较现有各种方案之后
    已经设计出一种研发容易,低成本的方案
    并申请发明专利
    鉴于商业方面的考虑,暂时不便公开
    各位见谅
    有合作诚意的朋友可以一起探讨:stone.juniper@163.com
    支持(9反对(10回复
  1. 19
    三脚猫   说道:
    软键盘更是稻草人。
    支持(4反对(5回复
  1. 20
    Melon   说道:
    一切小心,不要以为有了Key就放心大胆,那肯定是不行的。有时,自己就是最好的Key了。
    支持(3反对(5回复
  1. 21
    ytw   说道:
    只要使用一点简单的技术,现有的网银系统就会溃不成军。楼主提到的USB KEY上输入PIN的想法不错,可以更深入点讨论。
    1、小小的USB key上如何设置输入PIN的按键,0~9都不够地方。请注意,PIN还可能是字母。
    2、假设PIN不能被黑客获取,那么远程控制是被防住了。但是,
    2.1 木马程序在发现用户做转帐交易时,篡改目标帐号和金额,用户无法察觉。而且再加上一点SSL过滤的办法,事后用户即使通过网银查询交易明细也不知道被篡改了交易。
    2.2 木马程序还可以事先准备好黑客想要的交易HASH,在用户输入PIN后,即停止用户对KEY的操作,先给自己的HASH签名,然后再让用户继续对USB KEY的使用。这个过程用户也很难发觉,木马把签名数据发给黑客,黑客就可以在HASH对应的交易时间做交易了。

    其实,以上的漏洞都可以堵住,按照楼主的想法再严密一些,以及考虑硬件的因素,就可以使网银的安全性能提高几个数量级。我们已经有很成熟的产品,但鉴于商业机密,不能透露详情。很可能在今年网银用户就可以使用相当安全的USB KEY,这个相当安全指的是到目前没有任何通用方法可以破解,包括我们自己也不能破解,除非你偷到用户的USB KEY和PIN。
    支持(6反对(8回复
  1. 22
    xiaocainiao   说道:
    USB Key产品最早是由加密锁厂商提出来的
    ===================================这句话严重错误,是老外提出的标准,老外最先做出来的,你说的这句话只争对飞天哈,那张图片就是飞天ePass的图片不要误导大家。
    支持(7反对(9回复
  1. 23
    williamlong   说道:
    如果使用动态密码技术或者USB Key,即使一些钓鱼网站可以偷到用户PIN码,没有硬件设备一样无法进行登录的。
    支持(7反对(10回复
  1. 24
    EVOL   说道:
    恩!!我正要写一篇关于提高网上银行安全性的毕业论文。但似乎没有绝对安全的方法。正所谓道高一尺魔高一丈。银行是否在用户进行网络交易时能自动记下IP地址,虽然IP地址也有可能伪造,但在下次登录时,必须要求用户输入自己的上次登录时的IP地址。不知是否能提高一些安全性
    支持(8反对(11回复
  1. 25
    YellowOne   说道:
    想问一下,你首页摘要是怎么把图片和文字放在一起的?
    支持(8反对(12回复
  1. 26
    首佳科技   说道:
    Google开始更新PR了,不知道大伙有没有发现,我看到不少网站更新了。还看到不少网站变成0了,原来是google工具栏不准确。希望有我的份。
    支持(8反对(12回复
  1. 27
    eric   说道:
    “黑客如果想要通过破解加密狗的方法破解USB Key,那么需要先偷到用户USB Key的物理硬件”
    不好意思,这句话不太懂。具体“破解加密狗的方法”是指哪种破解方法呢,我不能和那三种方法对上号。
    支持(4反对(8回复
  1. 28
    larryli   说道:
    12F 如果使用的是密钥传输,就是基本的 https 在网关都无法“短时间”内截取和伪造信息的。
    公钥只能加密,私钥只能解密。只要被加密的内容中含有很简单的口令信息,中间传输过程中无法解密信息也就无法加密虚假内容伪装了。
    支持(5反对(9回复
  1. 29
    qingzhu   说道:
    如果要是成本的话,即使是1万块的硬件设备,我也会用,看你的业务量了,现在有这样的设备吗,100%保证安全,只能抛弃windows
    支持(3反对(7回复
  1. 30
    陈少举   说道:
    同意一楼的意见。
    支持(3反对(8回复
  1. 31
    生物识别技术   说道:
    个人认为在身份识别上可以应用某些生物识别技术,如目前应用较多的指纹识别技术.在某种程度上应该可以提高安全性.
    支持(8反对(13回复
  1. 32
    Monyer   说道:
    我认为以上问题依然不一定能解决问题!
    恶意黑客可以在网关进行数据截取和数据伪造!
    譬如当用户进行转账时,我们就可以直接伪造转账的号码。
    虽然用户信息是进行加密的,但是我们可以用我们事先截取的加密的部分替代他的那部分。这样他转账的信息就会转到我们那里!

    另外目前的木马都是可以屏幕操作的,当发现对方正在登录网银,就让该木马通知恶意黑客,然后只要该黑客屏蔽用户的鼠标键盘,并保留屏幕,而直接进行屏幕操作转账就可以了。

    也就是说你的方法很不错,但是只能防小偷,防不了强盗。而事实上不管恶意黑客做小偷还是强盗,银行都会有记录的。并且是在异地,即使报警,恶意黑客亦有充足时间进行款项的提取!

    所以我的观点是:硬件设施依然治标不治本!
    支持(4反对(10回复

发表留言