[闲聊] 汇丰加密小精灵的原理?

楼主: tnchangc ( )   2014-07-15 16:14:22
用了一次整合帐户的加密小精灵觉得好神奇~
现在要登入汇丰网银(手机和电脑版亦同),
打完帐号和密码,接着会要求输入认证码,
于是拿加密小精灵打入另外一组自设密码(打错三次就会锁住),
这个时候就会跑出一串数字,
再把这串数字打到汇丰网银登入的认证码,就可以成功登入了
我不能理解的地方在于加密小精灵没有任何传输界面
(难道里面有类似SIM卡概念的远端接口?)
但是为什么可以同时让网银知道手上这台没啥质感的认证码?
有版友知道原理吗?
作者: alex1973 (alex1973)   2014-07-15 16:18:00
时间想了解原理的可以看这个 wiki: http://goo.gl/q0Fvx9简单说就是靠时间以及不让人知道的算法, 以及每个加密精灵里面唯一的一个内码, 算出一个会随时间一直变动的码,server 有纪录每个使用者加密精灵的内码, 再用一样的算法以及时间值, 去检查看你输入的码, 是不是符合该加密精灵产生出来的值, 确认你是不是真的持有该加密精灵这东西其实很多银行都有采用, 我手上就有国泰世华, HSBCAdv, Citibank SG 三个这类型 OTP, 长的都一模一样, 只是颜色不一样, 操作流程也有一点小差别, 但是背后原理都是一样是采用时间当算法的其中一个输入.
作者: biocim (放手是好的)   2014-07-15 17:52:00
其实不一定要随身带这台呀 你可以先产生十组 抄下来若要用时 一组一组用掉就可以了 其实就是符合机码的数字没什么特别的原理 不然还真的随时带一台计算机 多麻烦呀就一次先产生几组 抄在皮夹里 有需要时拿来都可以用以前的渣打也有个小黑碟 我也是一次抄个几组 不随身带那台
作者: alex1973 (alex1973)   2014-07-15 18:00:00
给楼上的: 用时间当输入的机种你这方法行不通, 密码是随时间变化的. 你亲自用过就知道了.
作者: biocim (放手是好的)   2014-07-15 18:01:00
所以抄下来后 过好几天都可以用 所以根一楼说的"时间"无关是google那种验证密码app 才跟时间有关系请楼上自己试过就知道了 我渣打那时候就一次产生多组 可以用好几天了
作者: alex1973 (alex1973)   2014-07-15 18:03:00
现在在说汇丰, 你在说以前的渣打 !?
作者: biocim (放手是好的)   2014-07-15 18:04:00
甚至用好几个礼拜 所以跟 时间 一点关系也没有 楼上可试试汇丰我是还没试 但原理应该是一样的 不会扯上时间的因为我的三次按错被锁住了 要等重寄来 没办法试其实要验证就先产生密码 过一段时间 再用该密码登入如果可以登入 就是跟时间一点关系也没有google的密码验证app 才是跟时间有关 每30秒都换一组密码超过30秒该密码就无用 要重新产生 那个才是跟 时间 有关因为小精灵跟手机不同 电源一不足 时间就会走慢 就完全不准所以不可能用 跟任何 时间 有关的 当做原理的
楼主: tnchangc ( )   2014-07-15 19:32:00
楼上biocim的原理被我推翻掉了...刚刚我产生五组认证码网银登入网页开着 一直重复按加密小精灵 大约每隔20秒就会产生一组新的认证码 然后我开始逐一测试1~5组认证码通通都登入失败 接着再马上用加密小精灵产生最新验证码这下才可以成功登入进去 所以有可能新版的不适用这招二来也推翻掉alex1973大所说的时间验证 ...如果真的以时间验证..不可能为了每个人一直在生成认证码?
作者: alex1973 (alex1973)   2014-07-15 19:49:00
事实上他就是用时间当验证码运算的其中一个输入, 你做的实验不就已经验证了, 你可以产生一组密码, 试看看等多久以后去用就会失效, 一般是设定成一分钟换一组, 但是为了怕 OTP device 跑久了时间跟 server 不同步, 这种算法一般允许前后一组的密码也会通过验证.另外关于时间同步问题, 有些这类型的验证机制还会在侦测到 OTP device 时间跟 server 差太多以后, 会在网银认证画面跳出不同的视窗, 要求拿着 OTP device 连续输入很多组密码, 全都验证过以后, server 就会认可这个 OTP 没问题, 并记录下新的时间误差值, 以后就不会再要求校正时间误差.
作者: wispehly (天堂与地狱的分界)   2014-07-15 20:32:00
跟时间无关~我觉得两位大大理论都是错的~是密码组合问题因为我把小精灵带去美国~时间差了十二小时~一样可登入呀!所以也推翻掉a大大所说的时间验证
作者: alex1973 (alex1973)   2014-07-15 20:42:00
Wispehly: 你这推论有问题吧, 在美国虽然跟台湾有时差,但是 server 跟 device 又没有连线, OTP device 是照着内部 RTC 不断的推进时间, 所以无论你去到哪里时差多少, 时间理论上都是大致上同步的.
作者: now99 (陈在天)   2014-07-15 20:44:00
这台 vasco的
作者: alex1973 (alex1973)   2014-07-15 20:45:00
我的回答到此为止, 不会再跟各位解释. 不相信的人, 就尽量抄下一堆密码, 然后看会发生什么事.
作者: now99 (陈在天)   2014-07-15 20:46:00
楼上很专业相信很懂 OTP
作者: pobynb (皮小邱)   2014-07-15 20:53:00
原则上alex说得没错啊
作者: gottsuan (ごっつぁんです)   2014-07-15 22:03:00
动态密码 汇丰的是time based时间是以UTC为基准 所以没有时差问题 系会自己修正时差想了解自己去找RFC文件看
作者: krishuang (五柳先生)   2014-07-15 22:27:00
推alex大
作者: louis561   2014-07-15 22:28:00
Alex是对的
作者: EthanBBS (90%时间idle)   2014-07-15 22:44:00
有两种一种是时间的像汇丰..一种是里面有密码表,按下去照顺序跑出来...像兆丰..这种就可以先记下来..但是通常银行会跟你讲不要一直按..因为如果超过密码表的范围太多的话是会认证失败的..这时就要跟银行同步密码表的顺序..
作者: now99 (陈在天)   2014-07-15 22:48:00
time based 和 event basedOATH HOTP TOTP OCRA
作者: diabloevagto (wi)   2014-07-15 23:21:00
alex 说的是对得,上面说推翻的太瞎了根本不管你现在人在那边,他对应的时间是 server跟你卡片的时间两边透过同样的时间透过算法,正常来说两边要一样
作者: gottsuan (ごっつぁんです)   2014-07-15 23:45:00
所谓的时间是和1970/1/1基准时间算到目前的timestep所以时差问题不会存在 TOTP标准 RFC6238以前新竹企银用的是event based的 这个OTP产生和时间无关所以可以先产生记下 只要是还没用过的都有效 当然产生太多 还是会发生和server端不同步问题 server上设有宽容差time based则是太久不用 token上的时间可能和server端有差异而发生不同步 精密手表一年都会差几秒了 便宜的token用的料没那么好 一年可能会差到好几十分钟大家手上的芯片金融卡也有OTP功能 只要搭配二代读卡机也可以产生OTP 这是event based的
作者: royhsia (转档真是大哉问)   2014-07-16 00:24:00
看推文长知识 XDDD永丰的 Display Card 应该也是差不多算法吧
作者: alex1973 (alex1973)   2014-07-16 09:07:00
永丰的 display card 是 event based (跟以前渣打的一样)不是 time based. 所以 display card 也可以抄很多组下来以后慢慢用.
作者: kedy (不要浪费每一刻)   2014-07-16 11:00:00
alex1973是正确的,我渣打,汇丰,永丰都用过,如alex所述 :)
作者: crazyghost ( )   2014-07-16 12:11:00
这篇钓出真多强者!! m起来~
楼主: tnchangc ( )   2014-07-16 13:52:00
小弟才学疏浅m(_ _)m 大推alex1973的专业!长知识了!
作者: Go2 (勾兔)   2014-07-16 13:55:00
推推 这篇厉害!!!
作者: cppwu (肩膀酸痛 ..)   2014-07-16 19:27:00
http://tinyurl.com/ocs598k 生产商都跟你讲内建 RTC 了 ..
作者: now99 (陈在天)   2014-07-16 20:53:00
emv cap 都是 event based 没错
作者: wtl (比特)   2014-07-17 22:14:00
最近玩event based密码心得 event based每产生一组密码里面有一个计数器会加1 网站是你输入密码 网站的计数器也会加1 产生密码 输入到网站 两边一起加1 两边同步 但是只要网站输入错误密码 网站会加1 但是小精灵不会加1 两边就会不同步 看系统设定两边计数器的值能差多少 比如说10 就代表你只能输入10次错误密码的机会 超过之后小精灵就不能用了
作者: barbeilt (亨利)   2014-07-20 02:02:00
魔兽世界也是用类似的东西才能登入
作者: readonly (唯读)   2014-07-21 23:16:00
有听过 hash function 吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com