文档介绍:网银USB Key 安全不靠谱
USB Key是一种USB接口的硬件存储设备。USB Key的模样跟普通的U盘差不多,不同的是它里面存放了单片机或智能卡芯片,USB Key有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法可以实现对用户身份的认证。目前USB Key被广泛应用于国内的网上银行领域,是公认的较为安全的身份认证技术。
    USB Key在网上银行中,被用作客户数字证书和私有密钥的载体,在网络上鉴别用户身份处于极其关键的地位。而网上银行首要的关键问题就是安全,安全是所有一切的基础,没有安全的网银还不如没有网银。一些新闻报道的国内某某银行几十万资金通过网银被盗,都给网上银行带来巨大的负面影响,让人对于USB Key的网上银行认证的安全性产生怀疑和顾虑。
    本文将从技术的角度出发,详细论述一下目前中国网上银行使用的USB Key的安全性以及可能存在的风险和漏洞。当然,一个网银系统的安全,涉及到的理论知识非常多,不仅仅要懂得大学课程《密码学》的全面知识,还要知道最新加密锁和USB Key的产品动态,进行全面的网银评测并不是那么简单的事情。本文也仅仅起个抛砖引玉的作用,欢迎各方高手继续补充和讨论。
    行业安全专家基本都公认USB Key是安全可靠的,那么USB Key为什么是安全的呢?目前有几个重要的性能指标能够说明USB Key的安全性。
    1、硬件PIN码保护
    黑客需要同时取得用户的USB Key硬件以及用户的PIN码,才可以登录系统。即使用户的PIN码被泄漏,只要用户持有的USB Key不被盗取,合法用户的身份就不会被仿冒;如果用户的USB Key遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
    2、安全的存储介质
    USB Key的密钥存储于安全的介质之中,外部用户无法直接读取,对密钥文件的读写和修改都必须由USB Key内的程序调用。从USB Key接口的外面,没有任何一条命令能够对密钥区的内容进行读出、修改、更新和删除。
    3、公钥密码体制
    公钥密码体制和数字证书从密码学的角度上保证了USB Key的安全性,在USB Key初始化的时候,先将密码算法程序烧制在ROM中,然后通过产生公私密钥对的程序生成一对公私密钥,公私密钥产生后,公钥可以导出到USB Key外,而私钥则存储于密钥区,不允许外部访问。进行数字签名时以及非对称解密运算时,有私钥参与的密码运算只在芯片内部即可完成,全过程中私钥可以不出USB Key介质,以此来保证以USB Key为存储介质的数字证书认证在安全上无懈可击。
    4、硬件实现加密算法
    USB Key内置CPU或智能卡芯片,可以实现数据摘要、数据加解密和签名的各种算法,加解密运算在USB Key内进行,保证了用户密钥不会出现在计算机内存中。
    以上几点是USB Key在理论上安全性的技术保证,但是从技术角度分析,这些安全性能指标往往也存在一些容易被忽视的漏洞。
    1、硬件PIN码就绝对安全吗?
    目前的大多数银行使用的USB Key的PIN吗都是从电脑上输入的,因此黑客可以通过木马程序直接拦截到USB Key的PIN码,这也是目前大多数USB Key存在