月光博客 » 互联网络 » 中国网银安全分析:动态密码锁

中国网银安全分析:动态密码锁

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

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

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

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

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

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

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

动态密码锁

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

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

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

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

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

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

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

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

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    zh332621   说道:
    退一万步讲,即便盗贼真的成功操控了户主的账户,至少户主能在第一时间收到警报——也就是那条确认码的短信。
    另外,那些相对安全级别较高的模式——比如第三方认证模式、交互认证模式或者采用所谓USB密匙系统等等——都是有很大漏洞或缺陷的。目前解决身份确认的通行办法是建立可靠的第三方CA认证。CA认证的技术基础是各种足够可靠的加密算法。但是,不管多么复杂的加密算法,只要其信息流路径是基于开放的互联网络的,从理论上讲就必然会被破解。在这个体系下,加密者与解密者就处于一种基于技术发展水平的道高一尺魔高一丈的循环怪圈。所以说,CA认证并不是最根本的解决方案。同时,USB密匙相对于手机来说,其管理性是很差的——首先,USB密匙因为不常用而容易丢。第二,手机丢了的话机主很快就能知道,而USB密匙丢了就不一定。第三,最重要的是USB密匙用过以后本身不会留下痕迹,而手机则具有可追溯性。
    因此,使用双网路模式,则困扰电子商务的身份确认和交易支付的安全问题将迎刃而解。同样,这种模式也适合于电子合同的身份认证。
    除了交易安全问题之外,双网路模式还可以完全满足电子商务过程所要求的可鉴别性、保密性、可控性、不可否认性、不可伪造性和便利性等要求。
    支持(16反对(8回复
  1. 2
    王胜胜   说道:
    给我一个动态密码
    支持(13反对(5回复
  1. 3
    C.Y.   说道:
    中国目前有一些银行图便宜,使用一种文字卡片类型的所谓的“动态密码卡”

    说的不就是工行嘛……

    还强制推行U盾

    收费抢最前 服务跑最后
    支持(7反对(2回复
  1. 4
    漫游神   说道:
    总之尽力保证自己电脑的安全,一般我用来交易的卡余额不会超过1000的。
    支持(8反对(5回复
  1. 5
    williamlong   说道:
    首先MD5不是加密算法,而是散列算法,其算法的确有一些缺陷,但离被破解还远,美国大多使用SHA1散列算法而不是MD5。目前正统的AES和ECC(椭圆曲线)加密算法是极难被解密的。
    支持(9反对(6回复
  1. 6
    xiaocainiao   说道:
    动态口令,RSA是老大哈
    支持(5反对(2回复
  1. 7
    一亿度   说道:
    如果银行内部人员监守自盗,动态密码锁也就不安全了,最好还是存国外银行,哈哈
    支持(6反对(3回复
  1. 8
    狗宝宝的妈   说道:
    我是个新手,就是担心网银的安全不敢在网上进行大规模交易.其实如果每个客户端都用指纹机来确认应该是万无一失的啦.只是可能这个指纹机挺贵的,不划算,呵呵,完全门外汉啊,不知对不对?
    支持(9反对(7回复
  1. 9
    21楼的朋友请看   说道:
    为了提高安全性,一些银行通过“动态密码”或“动态口令”验证网银用户的身份,如发给客户一张印有一组数字或字母的卡片,使用时按照一定的规则输入其中一组,下次使用再输入另一组。此外,让客户购买专门传发密码的电子器件,每按一次按钮就可以生成一个密码,或者将一次性密码通过手机短信的方式发给客户等方式,在应用中也比较常见。

      “动态密码”使用方便,但它只适用于金额小的交易,对于金额大、使用频繁的用户,其安全性并不理想。目前“动态密码”隐患主要有两类,一是以病毒等为主的系统安全风险,目前还未形成规模;二是身份风险,目前大多数案件都来源于此。身份风险又分为银行方面的身份风险和用户方面的身份风险,如“网上钓鱼”案件,是银行的身份被仿制,用盗窃的账户密码进行盗窃,是因为个人的身份被仿制。

      据有关专家介绍,遭遇病毒和黑客的攻击时,一旦用户输入“动态密码”并通过网络传送,位于用户与网银服务器通信通道间的黑客便可通过键盘监听、内存读取等方式将其截获,使用户无法完成登录,并造成网络连接断开、连接超时等假象;另一方面黑客利用截获的“动态密码”假冒用户登录到网银,肆意作案,使用户蒙受损失。

      此外,通过“动态密码”登录的用户没有电子签名,这样也就没有具有法律效力的认证材料,一旦出现纠纷,用户的合法权利将不受保护,同时也给银行带来一定的风险。
    支持(9反对(7回复
  1. 10
    GeorgeWang   说道:
    黑客要想破解用户密码,首先要从物理上获得用户的动态密码锁,其次还要获得用户的PIN码,这样,黑客必须潜入用户家中(电脑黑客还需要学习普通窃贼的技术),偷取了动态密码锁,然后再破解PIN码。

    这段比较高明,其实要是被人绑架什么的,以堑手指相威胁,不管几个密码估计都破了,所以任何安全系统都是防不了暴力破解的。
    支持(10反对(8回复
  1. 11
    hiafs   说道:
    现在登录网上银行总有些顾虑……
    支持(6反对(5回复
  1. 12
    1852   说道:
    专门的密码算法?比MD5高档?免拉吧,现在连MD5都被破解了,还有什么安全不安全的.
    实在的说,你这东西除非是自己用,不然用的人多拉,迟早都要被解的.这只是时间问题罢拉.
    还是那句老话,安全只是相对的,危险无处不在.
    支持(7反对(6回复
  1. 13
    googlefans   说道:
    一直用工行的口令卡,如果说口令卡不安全,那口袋里的钱也是不安全。
    支持(6反对(5回复
  1. 14
    xx   说道:
    最好的方法还是自己去银行存取款,呵呵,又怕被打劫
    支持(6反对(5回复
  1. 15
    sunshao1501   说道:
    谈一下这种方式的两个弱点:
    1, 易于遭受钓鱼网站的攻击。如果一个钓鱼网站要求你输入口令/密码,然后他拿着这个口令密码去登录真正的网站,就可以获得你的身份认证。
    2, 管理和维护成本比较大。依靠时间同步本身就会有时间失步的危险,这样就要求管理员重置。如果单纯依靠算法本身,那么用户的错误操作也会导致失步。也会需要管理员重置。
    支持(9反对(8回复
  1. 16
    椰子啊椰子   说道:
    今天碰到个FIREFOX插件 好像叫PASSWORDMAKER

    没装 8知道能否用在网络银行上

    支持(7反对(7回复
  1. 17
    枫林   说道:
    登录网上银行总有点怕怕
    支持(5反对(5回复
  1. 18
    thewalker   说道:
    凡是技术性的东西都有被破解的可能,最安全的办法是不要在网银帐户上保留太多的钱。
    支持(8反对(8回复
  1. 19
    涛tall   说道:
    浦发行的动态密码是动态发给客户绑定的手机的,还算好用吧。当然手机也可能会丢。
    支持(6反对(6回复
  1. 20
    zay5679   说道:
    你的观点——所有不带有身份认证令牌硬件设备的网银系统都是不安全的。太绝对了!软件形式中安全的登录设计是你未能突破现有框框而以,借用一句名言:
    未经发明的事,大家都认为不可能;而一经公布,又觉得太简单。努力吧!学无
    止境,已成形的东西,你就摸不着边吗?
    支持(7反对(7回复
  1. 21
    ytw   说道:
    非常不赞同19楼的说法,只在用户PC上使用纯软件的方式怎么可能安全呢?
    1、你必须假设恶意黑客经过ASM2C后,对所有的模块的解读都能象在读C程序代码一样清楚。
    2、网银客户端软件无法知道自己是被用户调用还是被远程控制。
    支持(5反对(5回复
  1. 22
    zh332621   说道:
    1、 身份的可鉴别性
    这是由SIM卡的专属性和唯一性所决定的。
    为什么当前使用的电话银行和互联网支付难以解决身份认证问题,而手机能?答案是:电话终端和互联网终端都不具备可鉴别的专属性,而手机SIM卡是专属且是唯一的——这就是问题的核心。
    2、 可控并可管理
    由于互联网的开放性和庞大流量特性,其信息流是不可控的,更是难以管理的。而移动通信网络则是封闭而受控的,这一点对金融交易来说是至关重要。
    3、 不可否认性、不可伪造性
    现有的通信技术完全可以并已经做到,特定的手机发出的信息是不可否认、不可伪造的。只是这一点还需从法律上得到支持,用户必须对他所发出的认证信息责。
    4、 广泛便利性
    正如以上所述,手机是一个随身携带的专属工具。其用户数已远远大于电脑和固定电话。从技术上讲,手机SIM卡完全可以担当起身份卡的功能。还有重要而必须的一点是手机的随身性,这一点标志着我们随时随地可以进行网络交易活动。
    5、 现实可行性
    以现有的两个网络的规模和技术条件,手机身份认证是能够轻易实现的。只要各银行与移动通信运营商通力合作,就能轻易实现。其实,实现双网路认证过程是一个管理问题而非技术问题
    一旦通过手机认证的双网路电子模式得以确立,电子商务必将呈现爆炸式的发展!

    张文广
    于2006年5月15日 修改补充于2007年3月20日
    电话:13357692360 0576-5132611
    13526520560
    E-mai:zh332621@163.com
    支持(7反对(7回复
  1. 23
    tangyouwei   说道:
    SHA256和512应经开始使用了吧,碰撞攻击目前尚未发现。
    AES和ECC也不是宝贝,如果真那么安全美国某局某院会把它发布吗?
    支持(7反对(7回复
  1. 24
    人非草木   说道:
    中国目前有一些银行图便宜,我觉得很实际,对于大多数人来说够用了。
    支持(6反对(6回复
  1. 25
    S0no   说道:
    使用手机验证码, 验证码为中文...哈哈
    支持(9反对(9回复
  1. 26
    以魔女之名   说道:
    请问还有哪些家厂商做动态密码卡???
    支持(7反对(7回复
  1. 27
    hanze   说道:
    中行事件已经让动态口令的弱点暴露无疑
    支持(8反对(8回复
  1. 28
    秋月白   说道:
    是个不错的解决方案。这么想来,网易的密保采用了某些类似的方法,随机产生数的算法,而没有pin码什么的。
    支持(6反对(7回复
  1. 29
    williamlong   说道:
    黑客的确可以截获动态密码,但是这个密码是在这个用户的这次登录操作过程中产生的,如果黑客控制用户鼠标键盘进行其他操作,用户必然会察觉,通过断网或关机方式阻止黑客继续,如果黑客想在另外一个进程中执行,那么截获的这个动态密码是无法进行下一次登录的。除非黑客使用钓鱼网站,让用户去一个假冒的网站登录动态密码,然后用这个偷取的密码再去真实的网站登录,那的确可以成功。
    支持(8反对(9回复
  1. 30
    土木坛子   说道:
    其实浦发银行的动态密码就是通过手机发的,每次的都 不一样,我觉得就挺安全的,盗贼除非能把你 的密码和手机号码还有卡号都弄到手,否则他是没有办法把你的钱偷走的。
    支持(6反对(7回复
  1. 31
    ncowboy   说道:
    对,日本银行在使用动态密码(Dynamic Password)。上海CITI的内部系统也使用这个来登录主机。
    支持(4反对(5回复
  1. 32
    fuguyz   说道:
    银行系统直接把页面设置为用户退出立刻自动清除cookies,临时文件夹等等信息,应该很容易做到,银行要努力做好系统安全和人性化,系统开发者要多用心钻研需求,用户提高安全意识,这样才能保障大家的利益,避免损失,抵制犯罪。
    支持(5反对(6回复
  1. 33
    smilefish   说道:
    还是有问题的,不错,利用外部硬件生成的一次性密钥,生成的时候确实是安全的,但是,在月光你的假设前提下(就是用户电脑本身已经被黑客完全掌控,当然外部口令硬件没有被掌控),那么用户在电脑上输入动态密钥的时候,就完全可以被黑客所截获,黑客可以返回一个假登陆界面或者黑客直接利用该动态密钥和服务器进行通讯,并且进行致命性的操作。
    所以我觉得我们讨论的前提,还是应该是用户电脑本身是安全的,但是网络链接是不安全的情况,而且用户电脑必须要有办法直接访问一些受信任的网址(比如DNS),如果这点不能保证,那么用户电脑即便在直接访问ip地址的时候也有可能被恶意的网络设备路由到恶意的地址。
    支持(5反对(7回复
  1. 34
    zh332621   说道:
    电子商务身份认证的根本之道——无线印鉴认证
    ——双网路模式是电子商务的终极模式
    张文广
    首先说明一下什么是双网路模式:就是通过两个互不透明的网路来传递同一事件的不同信息段——比如互联网和移动通信网就构成一个很好的双网路系统,这种模式可以从根本上解决身份认证和各种信息安全问题。
    拿网上银行的例子来说明。用户在开立网上银行账户时,必须将此账户与其手机号码捆绑。完成一次支付或转账的过程是:用户以账号和密码登录银行网站,在要发生支付或转账事件时,银行服务器随机生成一条一次性并具有时效性的身份确认码,该确认码通过移动通信网络以短信的方式发送到用户手机上,用户将此确认码输认确认后,交易才能继续进行。此条确认码也就完成使命而消亡了。
    3月10日,网上银行发生了一件大事——上海市民蔡先生的网上银行账户16万余资金被人转走。其实在现有模式下,这种事情是必然要发生的,以前有过!今后还会有!!!其实蔡先生的安全保障就是两串数字而已(账号和密码),而要确保这两串数字的私密性是何艰难啊!网上有黑客,有木马病毒,还有钓鱼网站等等。就是记在笔记本上还有可能被人窥视或丢失呢——又有多少人认为自己脑力好不需要记笔记的?
    如果是通过双网路模式构建的网上银行系统,根本就不会发生这样的事!在这种模式下,盗贼获得了账号和密码也没有用,因为他几乎不可能同时获得身份确认码。第一,盗贼没有获取确认码的工具,手机在户主手上呢。当然了,不排除户主把手机和记着账号密码的本子一块丢掉的可能性——那是他活该。第二,盗贼没有获取确认码的途径,除非他具备截获大量移动通信信息的能力,并同时能准确从中提取他想要的那一条。第三,盗贼不可能将来自于两个互不透明的网络的数据进行整合。也就是说盗贼不可能将互联网上获得的账号和密码与移动通信网上的确认码进行一一对应。
    支持(3反对(5回复
  1. 35
    shine   说道:
    现在动态密码已经遭遇安全挑战
    支持(4反对(6回复
  1. 36
    risc   说道:
    别人偷盗或者复制这张卡片即可冒名登录,还要搞定登陆密码,干脆绑架省事。
    支持(4反对(6回复
  1. 37
    williamlong   说道:
    这种动态密码可能是通过单钥加密或者散列函数实现,理论上讲,从密文反推出密钥或者明文几乎是不可能的。
    支持(5反对(8回复
  1. 38
    权简一   说道:
    现在的密码只有6-8位数,如果改成数字方阵(如:5的立方有125位数,把这125位数重新排列,使其长.宽.高上任一直线上的5位数相加的和都相等.)也许这种方法更保险.(1936-6937637)权简一
    支持(4反对(7回复
  1. 39
    bus   说道:
    = =||| ..已经留言不能更改的啊.
    还有一个疑问的,关于这个
    动态密码锁本身需要输入PIN码才能使用,静态PIN码的安全要素在于,这个PIN码不是在电脑上输入的,而是在密码锁上输入的,这样,所有的黑客木马程序从理论上讲都全部失效,因为这些木马根本不可能在另外一个硬件密码锁上运行

    这里的动态是指什么样的动态呢,是否有规律的?
    如果有规律,别人记录下你每次输入的动态PIN码,这样最后这种方法还是没用啊.
    支持(4反对(8回复
  1. 40
    游客   说道:
    本人在东京,常用日本的japannetbank。
    它就是从“文字卡片类型的动态密码卡”转换到“数码的动态密码钥”。
    它显示的7位数验证码,每分钟自动变动不同数字。
    所以月光解释得非常正确,佩服。
    支持(3反对(8回复
  1. 41
    量子公民   说道:
    接下来会介绍现在应用最广泛的USB Key吗?
    支持(2反对(7回复
  1. 42
    bus   说道:
    支付宝有下载一个密钥的功能,就是只有自己这台电脑才能登陆这个帐号.
    这也是一种方法吧,或者可以锁定登陆IP,不过电脑还是有可能被劫持.
    感觉是越繁锁的方法越安全吧.
    支持(2反对(12回复

发表留言