说到谷歌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天线与传输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~~~图片来自网路,侵删;转载请注明来源谢谢。