借着Apple Pay上线,说说刷手机的黑历史 篇二:Android HCE篇

作者:Wasam 说到谷歌HCE要从它的前世说起:没错,就是11年9月份时候Google 推出的Google Wallet服务。集合团购,NFC支付,APP内购买API,转账(这个是这几年才有, 初期并不支持)预付卡等等;Google在移动支付的布局可谓相当丰满,可是当时服务推出初期,略显惨淡,只有在自家亲儿子Nexus S上才能使用,而且仅仅支持万事达卡不支持Vis或美国运通,和寥寥数家几家银行,媒体反映有也是

说到谷歌HCE要从它的前世说起:没错,就是11年9月份时候Google 推出的Google Wallet服务。集合团购,NFC支付,APP内购买API,转账(这个是这几年才有, 初期并不支持)预付卡等等;Google在移动支付的布局可谓相当丰满,可是当时服务推出初期,略显惨淡,只有在自家亲儿子Nexus S上才能使用,而且仅仅支持万事达卡不支持Vis或美国运通,和寥寥数家几家银行,媒体反映有也是平平。最后更加是推出了Google Wallet Master PrepayCard这样的实体卡片,不禁让人扼腕。金融这样一个基础类服务,互联网巨头自然不会轻易放过。

虽然当时Google Wallet服务不温不火,但是Nexus S上的支付中传达体现出了现代基于NFC电子支付技术的一些要点,比如:基于CPU硬件的SE隔离等等,不能抛开卡组织的技术,NFC,token技术等等;有了Google Wallet的经验背书,谷哥哥更是不甘心,自然要在android平台这个自家金宝宝上大放猛料。于是便有了现在的HCE框架。

————————————————————————————————————

由于各家开通的方式流程都不一样,这里给个银联的链接,怎么用就看银行官网吧,

银联的羊毛都在 “银联钱包”,各家发卡行的自己看官网吧:

名词解释:

eSE=电子安全元件 electron Secure Element=基于软件实现的保险箱

SE=安全元件Secure Element=基于硬件里面内置的保险箱

MST=磁力安全传输技术Magnetic Secure Transmission=三星黑科技

NFC=近场通信 Near FieldCommunication=啪啪啪

Token=令牌=一次性的秘钥

HCE=基于主机的卡模拟HostCard Emulation(host-based cardemulation)=安卓系统专用的软件模拟射频卡

云闪付=银联卡+移动支付(手表,手机,手环,手镯or脚环)=银联的移动支付方案,不管你是苹果,Samsung,香蕉悉尼

Quick Pass=闪付

RFID=Radio Frequency Identification=无线射频识别射频识别

TSM=可信任管理平台

——————————————————————————————————

说说原理吧:

和上一篇说的Apple Pay一样:HCE云闪付一样是基于Token技术的支付手段。银行将一组(或更多组)十个Token下发到本地手机的eSE中,支付时候通过手机NFC天线与POS机传输Token,收单行收到Token以后和发卡行清算请款。这里的Token取代了传统磁条卡的磁条信息,而且相对于磁条卡Token具有随机,唯一性,不可预测性等等重要的安全特性。就比如网上银行的短信验证码一样,每一次都不一样而且随机你也猜不到下次一次是什么;而传统磁条卡就相当于登录网银的登录密码一样,静态,而且有些缺心眼的家伙设置成名字加生日神马的,一猜就猜到(我还真遇到过);

还有一个比较重点的东西叫TSM:可信任安全管理平台。大家都知道Android相对iOS恶意软件比较多,光是各种全家桶也是够喝一壶的得了,为保证Token这个VIP人物顺利在手机上驻扎下来,就需要一票的保镖秘书等阻挡八卦小报,间谍组织可能对Token的嗅探截取等等破话活动,那么这一票保镖就是叫TSM!检测机器是否Root也是它们的功能,而且实在有必要的时候销毁全部已经获得的Token玉石俱焚!!!!为了安全嘛

——————————————————————————————————硬干货时间

① 开放,多用途

Android是一个开放的平台,所以HCE也是开放一个大框架,并不是某一个厂商专有。任何卡组织银联也好Visa万事达美运等等,银行,信用卡公司,甚至个人都可以用这个技术在支持NFC功能的Android4.4手机上模拟一张RFID卡,这个RFID卡可以是银行卡(云闪付,威士Paywave,万事达Paypass等等),门禁卡,公交卡等等;应用前景比闭塞的Wallet广阔多了! (PS:不要以为我故意话多骗金币)

② 安全,软环境下SE

HCE还有一个黑科技的地方就是:能够实现软件环境下的SE模块!!!“你说什么,我听不懂?“好吧,还记得我说过之前iPhone上的“A系列”处理器在里面建个小黑屋来存放卡片支付金钥数据吗?人家谷哥哥不要挖小黑屋也能安全存放金钥啊!!!不用啊!!!!省去了对CPU和SIM卡等等的硬件依赖,模糊硬件差异。

我还是大概讲一下这个是什么意思:Android 4.4以后可以将一般系统数据和HCE中的金钥数据隔离开来,分开处理;打比方就像同一个小区里互不相连两间房,同一个小区单从没见过面,简直就是两个世界的人(实际上也是);只要不把小区拆了(不Root系统)两家人还是相安无事。黑客在没有Root的情况下盗不走,也嗅探不到金钥数据,相当于压根没有一样。没有复制出金钥,没法做成伪卡,没有伪卡就没有盗刷。为了安全其实国内银行的APP也会检测这个手机有root了,不予开通;开通以后root的,销毁本机全部金钥并且拒绝交易,为了手机安全大家还是少root的好。

③ 模糊硬件差异,降低因为硬件不同造成的兼容性。

大家都是知道Android阵营里面硬件碎片化,碎的一地了简直,和Apple超高度统一成为鲜明对比。Google也正在通过很多方面克服,像这次的HCE就是一个很好的例子。银联SD卡,运营商SIM卡,或者手机厂商的CPU等等,全部秒杀,用软件方式就能够实现安全可靠的SE。或者NXP,Sony,博通等等的芯片,NFC频段(一般用于13.56MHz)还有速率的区别,不同厂商的API;等等都不再是考虑因素,通刷!Visa万事达还没有机会去试,但是起码咱们银联云闪付是这样,试过了小米2A三星i9500国行版,Sony Z3国行,统统都没问题,这当然也有银联在背后的努力。

总结一句话:只要是Android4.4以上系统,支持NFC功能的手机,而且没有Root过,也能用银联云闪付,也能愉快的拿手机啪啪啪(当然也要有钱)。而且也很安全(安全都没有绝对的)

① 可以离线交易,但是次数有限制,不统一,几次就取决于发卡行了,艺高人胆大嘛

② 基于软件方式实现SE的都叫HCE③ 不要root!!!不要Root!!!不要ROOT!!!

④ 不要贪图小便宜下使用类似抢红包插件,不要用!!不要用!!这类插件都有很彪悍的Hook,鬼知道它们还做了什么手脚。

而且目前绝大多数银行和银联的云闪付活动,不管你是Apple Pay 还是Android HCE都能参加。什么双倍积分啦,满减啦,1元吃炸鸡啦~~~幅度也不小,羊毛撸个够,这点银联比“敬业福”有诚意多了。

说说HCE的优劣吧

优点:

① 开放;银联卡,Visa和万事达(限海外)都可以用,甚至与公交卡,

② 模糊硬件差异;手机厂牌,SE模块等等都不再是制约条件,

③ 安全;只要不Root,不乱装插件天下太平,

劣势:

① 体验碎片化,每个银行有自己的客户端,操作方式都不一样,要用户一定的学习适应成本,

② 场景缺乏;只能在商店内刷卡购买,APP内购买没能实现,

③ 适用卡少;有些银行能用借记卡但有些又不能,大部分择只能有信用卡,

最后在碎碎念一下;谷哥哥大招一出马虽然一定程度上缓解了Android阵营里面的不同终端用户硬件的碎片化带来的技术鸿沟,但是软件体验上的割裂也是更要命,还记得大明湖畔HTC的三下巴吗;看看现在银行各家APP(此处省略五万字吐槽~~~),再想想以后国内各种手机厂商的各种所谓的“黑科技”Pay;But Whatever羊毛总是我们的!对不对?

文风这次改进过后希望大家能看懂,有所帮助吧,谢谢。mua~~~图片来自网路,侵删;转载请注明来源谢谢。