银行卡和u盾给别人用有什么风险 银行卡和U盾可以借给朋友吗( 二 )


U盾的原理很类似于双向认证的TLS(SSL)或者其它用到RSA的双向证书验证手段,以下步骤可能和U盾实际执行的有所区别 , 但本质相同:
–银行先给你一个”冲击”,它包含了随机数,以及该随机数HASH,它们都由公钥加密,这样就可以保证只有你能解密这个”冲击”
–你计算该随机数的HASH,并和用私钥解出的HASH , 两者相同后,便可确认银行的身份
–接下来,以一个只有你和银行知道的算法 , 利这个随机数和一些其它信息 , 生成”响应”和相应的HASH,再用私钥加密后发回银行 。(此时银行也以相同的算法计算该”响应”)
–银行用公钥解密,并验证HASH正确,接下来银行比较两个”相应”是否相同 , 相同的话客户的身份也确认了,至于私钥的保密性由U盾来完成 。U盾的控制芯片被设计为只能写入证书,不能读取证书 , 并且所有利用证书进行的运算都在U盾中进行 。所以,只能从U盾读出运算结果 。
ps:
和平常登录HTTPS网站不一样的是,一般HTTPS在TLS握手时,只要验证服务器身份成功便可完成握手 。
接下来以前面的”随机数”导出对称加密算法的密钥,开始加密链接
(一)U盾的安全措施
1.硬件PIN码保护
U 盾采用了使用以物理介质为基础的个人客户证书,建立基于公钥PKI技术的个人证书认证体系(PIN码) 。黑客需要同时取得用户的U盾硬件以及用户的 PIN码 , 才可以登录系统 。即使用户的PIN码泄露,U盾没有丢失,合法用户的身份就不会被仿冒 , 如果用户U盾丢失,其他人不知道用户的PIN码,这也是 无法假冒合法用户的身份 。
2.安全的密钥存放
U盾的密钥存储于内部的智能芯片中,用户无法从外部直接读取,对密钥文件的读写和修改都必须由U盾内部的CPU调用相应的程序文件执行,从而U盾接口的外面 , 没有任何一条指令能对密钥区的内容进行读取、修改、更新和删除,这样可以保证黑客无法利用非法程序修改密钥 。
3.双密钥密码体制
为 了提高交易的安全,U盾采用了双钥密码体制保证安全性 , 在U盾初始化的时候,先将密码算法程序烧制在ROM中,然后通过产生公私密钥对的程序生成一对公私密钥,公私密钥产生后,密钥可以导出到U盾外,而私钥则存储于密钥区,不允许外部访问 。进行数字签名时以及非对称解密运算时,凡是有私参与的密码运算只 在芯片内部即可完成,全程私钥可以不出U盾介质,从而来保证以U盾为存储介质的数字证书认证在安全上无懈可击 。
4.硬件实现加密算法
U盾内置CPU或智能卡芯片,可以实现数据摘要、数据加解密和签名的各种算法,加解密运算在U盾内进行,保证了用户密钥不会出现在计算机内存中 。
(二) U盾进行银行和客户身份的双向认证
1、基于冲击-响应认证模式
USB Key内置单向散列算法(RSA),预先在USB Key和服务器中存储一个证明用户身份的密钥 , 当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求 。服务器接到此请求后生成一个随机数回 传给客户端PC上插着的USB Key,此为“冲击” 。USB Key使用该随机数与存储在USB Key中的密钥进行RSA运算得到一个运算结果作为认证证据传送给服务器 , 此为“响应” 。与此同时,服务器使用该随机数与存储在服务器数据库中的该客户密 钥进行RSA运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户 。

推荐阅读