看了,好像你前面指的是這段吧:Banks like Fortis and Dexia in Belgium combine a smart card with an unconnected card reader to avoid this problem. The customer enters a challenge received from the bank's website, a PIN and the transaction amount into the reader, The reader returns an 8-digit signature. This signature is manually entered into the personal computer and verified by the bank, preventing malware from changing the transaction amount.這樣確實比較安全!我以前也納悶工商銀行的U盾,就交易前輸入密碼確認下,哪裡安全了⋯⋯
分享一点我了解的情况:
- 据我所知,飞天诚信是国内网银u盾供货商中比较敬业的一家。我曾经找过几家供货商的联系方式,有的网站做的不好很难找到联系方式,有的发了邮件没有回复,有的回复比较冷淡。
但是,飞天诚信的网站提供了(付费)下载u盾驱动开发包的途径。
所谓付费,其实是这样的:写一封邮件给飞天诚信,然后通过银行卡将押金汇给他们,然后把汇款单和申请表等传真给他们,之后他们会寄来u盾的硬件样本和开发套件。根据不同的u盾,分别配有不同的开发套件,有的型号同时有Linux,Mac和Win的驱动与开发套件。
飞天公司还给了我华南区技术支持人员的联系方式。
但是,根据飞天诚信公司所说的,银行采用的u盾,其实是定制过的芯片,驱动也定制过,因此他们给我的样品跟世面上的网银u盾是不完全一样的。而如果没有银行的授权,u盾公司是没有权限将定制版芯片的信息和驱动提供给第三方的。
从我手上拥有的几款飞天诚信的u盾样品的pid和vid来看,似乎没有哪个型号是跟我所知道的世面上的网银u盾型号完全一样的。
希望能更深入地跟大家讨论这个问题。
这个wiki一直没有时间整理,欢迎各位朋友一起来改进:
http://code.google.com/p/online-banking-with-wine/wiki/draft_usbkey
2012/1/7 Shell Xu <shell...@gmail.com>:
> 刚刚仔细看了一下,浦发采用的是飞天诚信的U盾,农商也是。
> 工作的时候,首先要在管理器里面输入password,然后会显示出一张证书。个人理解,证书其实是保存在U盾上的,虽然不是以U盘方式,而是USB
> HID方式。在输入密码后就从U盾上解密出来,等用完了直接消失。
>
> 理论上说,这么做不是很不安全?工具里面就有把证书复制出来的选项。虽然概率很低,但是在不安全的系统上,有可能在证书完成解密使用的时候被导出证书,从而导致风险。
>
> 我还以为U盾应该是smartcard同类产品呢,使用现场输入的password和challenge来生成response码。这样好歹在模式上比较安全啊。
>
> 现在我手里两个U盾同时失效了,不知道是不是因为浦发和农商使用了不同版本的驱动导致的冲突。如果有人的证书还可以用的话,是否可以帮忙尝试如下事情?从U盾中使用导出证书功能导出证书,然后直接在linux中使用这个证书作为客户端证书访问服务器url。如果这样使得你可以直接使用网银,那就说明整个工作原理是非安全的。
--
Regards,
Qian Hong
-
Sent from Ubuntu
http://www.ubuntu.com/
他们给的开发包就有管理程序的部分源码,不过我可能不能把我收到的发给你。不如你也申请一份?押金不贵,具体忘了,200以内,忘了是2个还是4个u盾了。等你用完了,愿意把u盾样品退回去,可以收回押金。
同意,我觉得开发包提供的接口可以让逆向更方便些,应该跟你说的大概知道从哪里入手是一个意思。
另外,开发包里有比较详细的文档。
检测u盾是否兼容CCID的方法:
http://pcsclite.alioth.debian.org/ccid.html#CCID_compliant
非常感谢!
2012/1/7 Shell Xu <shell...@gmail.com>:
--
希望早上能在Linux上登录国内大多数的银行.
目前工商银行可以在Linux上这样登录: Chrome for Win + ActiveX for Chrome + Wine
招商银行可以这样: Chrome for Win + ActiveX for Chrome + UserAgent Swithcer + Wine
中国银联可以这样: Firefox for Win + Wine
招商银行的,参见: A guide to sign in China Merchants Bank (CMBChina) on Linux:
Wine Chrome + ActiveX for Chrome + User Agent Switcher [1]
ActiveX for Chrome 的作者Qiu Chuan发现中信银行有安全漏洞,密码能够以明文的方式被获取,提醒各位朋友要注意.参见 [2]
其他网银我有空会继续测试,目前我大概有7,8个网银帐号和u盾.不过u盾短期内是用不上了.
目前Linux native Chrome还不能加载太复杂的win32 plugin,不过加载一些简单的win32 plugin还是可以的.
欢迎各位朋友一起参与Linux网银的测试和hack工作.
[1] A guide to sign in China Merchants Bank (CMBChina) on Linux: Wine
Chrome + ActiveX for Chrome + User Agent Switcher
https://groups.google.com/group/non-ie-online-banking/browse_thread/thread/1287444ea16b718d
[2] ActiveX for Chrome update&progress report
https://groups.google.com/group/non-ie-online-banking/browse_thread/thread/5ee2b09553b12081
估计招商银行和工商银行已经开始开发和内部测试非IE的网银插件,不过我不确定是否有计划支持Linux,希望有需要的朋友都可以向银行投诉一下.
招商银行个人网银大众版开始对浏览器useragent进行判断,如果是IE,则加载ActiveX控件,如果是非IE,则会试图加载npapi插件:
<object id="DebitCardQueryPwd_Ctrl" type="application/x-cmbedit"
codebase="https://site.cmbchina.com/download/CMBEdit.cab#version=1,2,0,1"
width="100px" height="20px"><span>安全控件载入失败,请参考<a class="Login1"
target="_blank"
href="http://www.cmbchina.com/personal+business/netbank/hb/dzbqa.htm">常见问题解答</a>。</span></object>
但是目前插件并没有发布出来,估计是内测期.
工商银行也类似:
if(pebankBrowserCompatible.isSafari()){
if(typeof(navigator.mimeTypes['application/x-npsubmit-plugin'])=="undefined"){
...
如果有朋友发现其他银行也有测试非IE插件的迹象不妨分享一下 :)
npapi只定义了浏览器跟插件如何交互,没有规定插件跟操作系统如何交互. npapi插件是平台相关的 (与下一代的ppapi不同), 因此,
npapi插件能不能访问usb设备,取决于该平台有没有相应的usb驱动.
具体在Win32平台上来说,可以理解为,ActiveX能做到的,npapi都能做到.
Qiu Chuan 开发的 ActiveX for Chrome
插件,就是win32平台上的一个npapi插件,这个插件为ActiveX提供一个wrapper,让Chrome可以通过它调用ActiveX.
在Win上, 通过ActiveX for Chrome可以正常使用工行u盾.
台湾的一些银行,同时提供了ActiveX版本的插件和npapi版本的插件 [1]. 其中的npapi插件一样能访问usb设备.
有的银行提供了Linux版本的usb驱动,因此Linux下的firefox也可以使用.
台湾的网银早年也不支持非IE,都是用户长期坚持投诉争取才引发重视的,我觉得我们也值得去争取.
[1] 台灣朋友們在Linux下如何使用網銀?
https://groups.google.com/forum/#!topic/ezgo-tw/Kkr19kXPh38
(注:他们使用的"网络ATM"跟u盾不是同一类型的东西.)