RSS订阅信息安全技术跟踪与研究:技术、平台、会议、论文、产业
你现在的位置:首页 / 技术积累 / 正文

[转]HCE技术:主机卡模拟

0 技术积累 | 2015年8月17日
转载申明:本站原创,欢迎转载。但转载时请保留原文地址。
原文地址:http://www.vonwei.com/post/HCEIntro.html

什么是主机卡模拟

  主机卡模拟即基于主机的卡模拟。在一部配备NFC功能的手机实现卡模拟,目前有两种方式:一种是基于硬件的,称为虚拟卡模式(Virtual Card Mode);一种是基于软件的,被称为主机卡模式(Host Card Mode)。

  在虚拟卡模式下,需要提供安全模块SE(Secure Elemen),SE提供对敏感信息的安全存储和对交易事务提供一个安全的执行环境。NFC芯片作为非接触通讯前端,将从外部读写器接收到的命令转发到SE,然后由SE处理,并通过NFC控制器回复。

  而在主机卡模式下,不需要提供SE,而是由在手机中运行的一个应用或云端服务器完成SE的功能,此时NFC芯片接收到的数据由操作系统或发送至手机中的应用,或通过移动网络发送至云端的服务器来完成交互。两种方式的特点都是绕过了手机内置的SE的限制。

  2013年10月31日,Google发布了最新的Android4.4系统,其中提到了一个NFC的新技术,即HCE(Host Card Emulation),即手机可以不需要安全模块的情况下实现移动支付NFC读卡器将通过NFC控制器直接与系统上的应用交互从而完成支付过程。NFC-SWP方案就是将SE安全元件嵌入在SIM卡中。而通过HCE功能,SIM中无需嵌入SE安全元件,HCE以虚拟SE的方式完成NFC业务的安全保障,从形式上告诉NFC读卡器是有SE支持的。作为NFC的一种手机,HCE的最大优势就是便捷性,它不需要用户更新SIM卡,这无疑给NFC应用的快速发展提供了契机。如果HCE的方式推广开来,对运营商来说,无疑是一个大的挑战。SIM卡是运营商在NFC产业链条中占据重要位置的筹码,如果绕开了SIM卡,等于运营商也被绕开。

  随着HCE的出现,支付行业的安全性向前迈进了一大步。在HCE诞生前,只存在两种可能:一种是将证书存储在手机中特制的SE安全芯片上。这便可以形成一个手机钱包,由SE提供与EMV卡类似的安全数据传输功能。另外一种可能是使用云端的Card On Fire证书——其本质是将基本的支付信息存储在线上。

  HCE只需要通过软件就可以模拟支付卡,这样一来,就再也无需将完整的支付卡信息存储在物理芯片上,因此不再需要使用SE芯片。这便终结了SE芯片所有权归属这一关键斗争,从而降低了该市场的进入门槛。

主机卡模拟的安全性

  HCE技术只是实现了将NFC读卡器的数据送至操作系统的HCE服务或者将回复数据返回给NFC读卡器,而对于数据的处理和敏感信息的存储则没有具体实现细,所以说到底HCE技术是模拟NFC和SE通信的协议和实现。但是HCE并没有实现SE,只是用NFC与SE通信的方式告诉NFC读卡器后面有SE的支持,从而以虚拟SE的方式完成NFC业务的安全保证。既然没有SE,那么HCE用什么来充当SE呢,解决方案要么是本地软件的模拟,要么是云端服务器的模拟。

  对于本地软件模拟SE的方案,用户敏感信息及交易数据存放在本地。交易过程和数据存储由操作系统管理,这提供了一种基本的安全保障机制(如操作系统可以将每个程序运行在一个沙箱(sand box)里,这样可以防止一个应用程序访问其他应用的数据)。但是Android系统的安全性本来就很差,所以这种安全保证是非常脆弱的。当一部Android手机被Root之后,用户可以取得系统的最高权限,这样基本上就可以为所欲为了。

  相较于传统的基于SE的NFC方案,HCE技术可能面临以下的风险

  1.用户可以对终端进行Root操作,通过Root用户可以取得所有储存在应用中的信息,包括类似于支付凭证之类的敏感数据,这些都是服务提供商所不愿看到的,因为这也给了恶意软件获取敏感信息的可乘之机。从统计数量上来说,只有很少一部分的安卓终端进行了Root操作,但是这仍然意味着数百万级别的终端数量。

  2.恶意软件可以自行Root操作系统。对于前期安卓系统来说,由于存在着一些漏洞,导致不少的恶意软件可以直接Root系统。虽然这些漏洞看起来影响范围不是特别的大(比如如果用户不安装未知来源的安卓软件就不会有这个问题),但是这仍然是一个需要考虑的问题。安卓系统的一个已知漏洞的弥补是很难的,这是因为安卓系统冗长的更新过程,需要花费很长的时间才能使得市面上的大部分终端都更新到最新的系统版本。如果在支持HCE的系统版本中也出现了缺陷,也需要花费足够长的时间去解决现有终端上的缺陷问题。

  3.如果手机丢失或者被盗取,一个恶意用户可以Root终端或者通过其它方式访问终端的存储系统,并且获取各种存储于应用中的信息。这可能带来致命的问题,比如恶意用户可以使用这些敏感数据去完成一些伪卡的交易。

  由此可见Android系统提供的安全保障机制非常有限,一旦被Root这种机制就荡然无存。提高HCE技术的安全性可以从两个方面来考虑,一个是提供一个更安全的存储敏感信息的位置,另外一个就是提供更安全的机制来保证这个位置的信息的安全性。

主机卡模拟的技术展望

  不可否认的一点是,HCE技术提供了一种安全性稍差但是部署起来非常方便的NFC服务解决方案。HCE技术对服务提供商而言至关重要,无需SE,剪除了不少NFC支付利益方纠葛,因此他们会是HCE技术的坚决支持者。据最新的消息,万事达卡(Master Card)已正式宣布将推出适用于HCE技术的NFC规范,而Visa则将在Visa Ready Program中加入HCE支付应用的支持特色。而NFC论坛也表态力挺HCE技术,其旗下多种标准已支持HCE技术,包括NFC控制器介面(NCI)规范,该标准结合国际标准组织(ISO)14443及日本工业标准(JIS)X6319-4等。NFC论坛指出,现在多个产业团体陆续启动NFC服务,而HCE技术将十分有希望成为加速整体NFC市场成长的潜在因素,因此NFC论坛将持续追踪HCE技术新的开发动态并持续透过标准开发工作回应市场需求。Google公司也是大力推动HCE技术的重要角色,在其最新的Nexus5智能手机当中,已经应用HCE技术到谷歌钱包中,搭配安卓4.4系统,无需SE安全元件就可以进行Pay Pass交易。

  HCE技术面临的最大难题还是其安全性问题。无论是本地软件还是云端SE的方案,都没有硬件级别的安全性高。对于金融级别的移动支付,HCE技术最可行的解决方案还是基于云端SE的方法,将支付数据存储在云端并且采用一些技术(如Token或者非对称密钥等)确保从HCE Host到云端服务器的数据传输通道是安全的,HCE的安全性是可以得到提高和增强的。所以在金融业务方面,HCE技术能否登堂入室,首先要看Visa、Master、银联金融机构是否能够解决本地软件、远程云端SE的安全问题。目前,国内有个别运营商和银行在小规模试用类似HCE的技术手段,希望推动移动支付的发展,但是否能够成为标准,形成规模,还需要时间考验。

  虽然在金融级别的移动支付方面前景还不太明朗,但是对于像会员卡、优惠券、电子票等低价值的闭环支付方面HCE技术还是有很大的发挥余地的。这些类型的NFC应用安全要求不像账户中有大量资金的银行类支付业务,虽然需要对用户身份、凭证的安全性做出确认,避免假冒和伪造,但还未上升到金融业务的高度,因此如何在安全、便利和业务发展之间寻求平衡十分重要。谷歌HCE的出现为这些非金融支付类的O2O业务打开了一扇门,在一定程度上提供安全的模拟手段,经济的解决SE的问题,为业务的蓬勃发展大有助力。服务供应商须评估、决定储存安全凭据最好的方式,并清楚在不同的使用情境下不同的解决方案将各有优缺点,安全风险(Security Risk)与便利性间须有所取舍。

  总之,HCE技术带来的是一次变革,为NFC的发展和普及带来了价值,同样也带来了一定的安全风险。移动支付中的安全问题至关重要,解决这个问题需要金融服务提供商、通信运营商和谷歌等方面建立起完备的安全机制。另外HCE的出现,对于传统的卡厂、运营商来说都产生了一定的威胁和挑战,能否实现产业的共赢,亦是产业各方需要去权衡和考虑的。

来源:http://wiki.mbalib.com/wiki/%E5%8D%A1%E6%A8%A1%E6%8B%9F%E6%A8%A1%E5%BC%8F


  • ------------------分隔线----------------

  • 如果感兴趣,欢迎关注本站微信号,跟踪最新博文信息,手机微信扫一扫下面的二维码,即可关注!
  • 微月信公众号
  • 推荐您阅读更多有关于“ HCE  主机卡模拟   ”的文章

    请填写你的在线分享代码
    上一篇:[转]PDB文件:每个开发者必须知道的下一篇:Win7下三种自启动方式

    猜你喜欢

    评论列表:

    发表评论

    必填

    选填

    选填

    必填,不填不让过哦,嘻嘻。

    记住我,下次回复时不用重新输入个人信息

    本站介绍
    最近发表
    本年最热文章
    本月最热文章
    网站分类
    文章归档