当前网上银行最常用的安全防护工具就是USB Key,其安全性已经得到大家的公认。但深入思考的话,会发现USB Key其实还是存在一些潜在安全威胁的。
1、只要数字证书和私钥存放在电脑介质中,或者可能被读入内存,那么都是不安全的。例如某银行的硬盘版数字证书就是不安全的。因为其私钥和数字证书都有被程序盗用的可能。
2、USB Key的安全性在于私钥不能被导出,加密解密运算用Key内的CPU完成,需要PIN码验证。
3、一个最基本的认证系统应该包括:客户端(使用USB Key)、端、数字认证中心(CA)三部分,如果不用CA的话,也可以客户端的Key申请认证,服务器产生随机数,进行冲击/响应认证。
USB Key安全漏洞
然而,USB Key目前来说并不是绝对安全的,当前广泛应用的USB Key实际存在两大安全漏洞:
1、交互操作存在漏洞。可以远程控制,冒用客户的USB Key进行身份认证,而客户无法知晓。
这种漏洞的解决方式是在USB Key上增加一个确认键,用户按USB Key上的确认键后才能进行一次认证。
2、无法防止数据被篡改。客户的一笔交易在送入USB Key加密前,可能会被黑客拦截屏篡改为另外一笔交易,这样可以在用户不知情的情况下篡改交易而认证通过。
这种漏洞的解决也需要变更USB Key的硬件,在USB Key上增加一个显示屏,能够显示交易信息和数字。
这实际和我以前想象的一样,我曾经想到过将USB Key和动态密码锁合二为一,就能产生出一个更安全的USB Key,不过这样的话,成本就会翻一翻了,这也是鱼和熊掌不可兼得。