查看: 19872|回复: 20
收起左侧

[讨论] 银行的U盾的工作原理

[复制链接]
milebye
发表于 2011-1-25 11:16:18 | 显示全部楼层 |阅读模式

                                                                              .........    XE的标题党.   



       最近一直在弄U启,所以必然接触U+,量产,UD...
但今天突然想起一个问题。?

U盾到底是怎么工作的。(其实我没用过,只看别人用过)

看他们用U盾的时候总是要导入证书。  这让我想起我以前学过的一个Windows CA服务。
即一种采用非对称密钥加密方法提供安全认证...

这时我XE的YY...
       U盾是不是使用CA这样一种服务,然后把证书(经过一些处理)量产到U盘里,得到一个只可读的U盘?

求真相帝解答...

    
cnseatech
发表于 2011-1-25 15:12:49 | 显示全部楼层
我认为肯定是U盘经过量产,量产时变成只读的了,应该是这样,不过这个芯片肯定有某些加密的地方,以提高安全性
milebye
 楼主| 发表于 2011-1-25 15:39:20 | 显示全部楼层
           终于有人回复了...
简L
发表于 2011-1-25 19:09:57 | 显示全部楼层
就是把证书放到了U盘里而已。
aslprince
发表于 2011-1-25 19:31:35 | 显示全部楼层
U盘是一个SD卡,带数字证书,数字证书用的全是非对称加密。。。。
然后是一个黑盒,将银行发来的一串数据拿到SD卡用私钥加密后,发往服务器端对比
服务器用公钥解密,然后验证你的身份
minimini
发表于 2011-1-25 19:35:12 | 显示全部楼层
看来
U盾养成良好的使用习惯还是安全的
fcerebel
发表于 2011-1-25 22:36:21 | 显示全部楼层
本帖最后由 fcerebel 于 2011-1-26 16:26 编辑

回复 1楼 milebye 的帖子

你的数字证书有一对,一份在U盾里的私钥,一份在银行的公钥(其实两份银行都有)

U盾的原理很类似于双向认证的TLS(SSL)或者其它用到RSA的双向证书验证手段,以下步骤可能和U盾实际执行的有所区别,但本质相同:

--银行先给你一个"冲击",它包含了随机数,以及该随机数HASH,它们都由公钥加密,这样就可以保证只有你能解密这个"冲击"

--你计算该随机数的HASH,并和用私钥解出的HASH,两者相同后,便可确认银行的身份

--接下来,以一个只有你和银行知道的算法,利这个随机数和一些其它信息,生成"响应"和相应的HASH,再用私钥加密后发回银行。(此时银行也以相同的算法计算该"响应")

--银行用公钥解密,并验证HASH正确,接下来银行比较两个"相应"是否相同,相同的话客户的身份也确认了

至于私钥的保密性由U盾来完成。U盾的控制芯片被设计为只能写入证书,不能读取证书,并且所有利用证书进行的运算都在U盾中进行。所以,只能从U盾读出运算结果。


ps:
和平常登录HTTPS网站不一样的是,一般HTTPS在TLS握手时,只要验证服务器身份成功便可完成握手。
接下来以前面的"随机数"导出对称加密算法的密钥,开始加密链接
lovefree007
发表于 2011-1-25 22:43:33 | 显示全部楼层
果然高手多
milebye
 楼主| 发表于 2011-1-26 15:51:04 | 显示全部楼层
回复 7楼 fcerebel 的帖子

原理我知道,类似于邮件的加密和签名。
  U盾的控制芯片被设计为只能写入证书,不能读取证书  ?
       芯片只能写不能读 ?  我认为相反,只能读不能写。
因为打开银行转帐之类的网页,是提示插入U盾的,这时我们需要导入证书才能继续访问,这说明U盾是可以读的。
      导入证书就用来进行数据的加解密.

我想问的是,U盾是不是用普通容量很小的U盘的,加证书放进去,经过他们自己开发一个软件对证书进行处理,让其需要密码才能访问。  最后使用量产把U盘变成一个只可读的U盘即U盾。
      想到这里,我发现一个矛盾点,U盾的密码应该是可修改的,如果是可修改的话,U盘亦非完全不可写,只可读?   不懂,不懂。
fcerebel
发表于 2011-1-26 16:21:23 | 显示全部楼层
本帖最后由 fcerebel 于 2011-1-26 17:10 编辑

回复 9楼 milebye 的帖子

更新:

后来我尝试了一下,在IE中确实可以把U盾储存的公钥导入windows证书库

接下来在certmgr.msc里,可以找到这个证书,并导出
,但是不可以勾上"导出私钥"的选项,提示找不到私钥

也就是说:U盾中的公钥可以导出,私钥不可以导出

捕获.PNG

---------------------------------------
您既然知道原理,就应当明白为什么U盾不需要也不能让私钥被读取

是提示插入U盾的,这时我们需要导入证书才能继续访问,这说明U盾是可以读的。

如果私钥能被拿出来,你的U盾可以岂不是随便让人复制?

具体流程,请看7楼


关于名词:

数字证书是一对一对生成的。所以每一对数字证书都被定义为公共证书和私有证书

公共证书也叫公钥
私有证书也叫私钥

为了保证身份验证的正确性

私有证书不可被分发
同时,任何需要的人都应该可以获得共有证书
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-15 17:18 , Processed in 0.131465 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表