通过引入HCE,不需要安全元件(SE)来模拟卡。因此,没有存储空间来保存模拟卡片的应用程序的敏感信息,如余额,CVV2,PIN等。
我只是想知道android如何解决这个问题?应该存储应用程序的敏感信息? Google电子钱包是否使用此技术?如果是,敏感信息如何保密?
更新1: 网络上的某些链接在使用HCE时会引用基于云的SE(Cloud SE),但我无法理解这个Cloud SE的确实做什么。有关此主题的任何链接,文档或其他材料?
答案 0 :(得分:8)
HCE带来的主要特点是,当NFC设备处于卡仿真模式(CEM)时,来自NFC控制器的所有数据默认路由到设备的CPU(读取Android OS)。事实并非如此 - 当CEM中的默认路由已经转向安全元素(SE)时。在操作系统内存中存储敏感数据会引发严重的安全问题 - 您提出的问题 - 在设备是" rooted"的情况下。有两种方法可以缓解这些安全风险:
A)为敏感数据提供更安全的位置
这个更安全的位置"可信任执行环境(TEE) - CPU的特殊部分,它运行自己独立的操作系统,因此在主操作系统植根时不会受到损害。在安全规模上,TEE提供了比云中的OS和" SE更高的安全性,但是低于SE。如果TEE不够(对于诸如开环支付,身份验证服务 - 身份证,护照等服务的情况),没有人禁止您在提供HCE服务的电话上使用SE。在这种情况下,可以通过使用路由表来防止到CPU(Android OS HCE服务)的默认路由(用于具有特定AID的应用的数据被路由到SE)。
B)实施安全机制以使现有位置更安全
如果您没有使用TEE并且无法使用SE,您可以使用以下技术使事情更加安全:用户验证(用户知道"用于PIN,或者甚至更好(如果可能的话)"用户是" - 生物识别技术),交易限制(低价值交易,一个时间范围内有限数量的交易等),标记化,做Android OS检查事先交易(即用户是否具有root权限)等。
最好是将A和B结合起来。
您需要了解的是HCE不适用于高安全性服务。将 HCE视为更简单但更不安全的解决方案,旨在加速NFC服务的采用。它为SP提供了巨大的附加值,可以接受降低的安全级别,以换取其他因素的改进,例如上市时间,开发成本以及与其他方合作的需要。
您可以在Thom Janssen& Sons撰写的文件中阅读更多相关信息。来自UL-TS(前Collis)的人员Mark Zandstra命名了" HCE安全隐患"。您可以从此处下载:http://www.ul-ts.com/downloads/whitepapers/finish/6-whitepapers/289-hce-security-implications。
答案 1 :(得分:3)
我只是想知道android如何解决这个问题?
简单回答:不。 Google电子钱包将卡相关数据(卡号,有效性信息,动态卡验证码等)存储在手机内存(RAM,部分闪存?)上。请注意,信用卡上没有存储余额信息。 Google电子钱包(它实际上是万事达卡)也不存储CVC2或卡 PIN。
应该存储应用的敏感信息? Google电子钱包是否使用此技术?
应该 ......好吧......它 将(临时)卡数据存储在RAM中,也可能存储在手机的(内部)闪存中。这里通常不涉及安全存储器。
如果是,敏感信息如何保持安全?
这是棘手的部分。这就是基于云的SE 的用武之地.Cloud SE意味着敏感的卡数据存储在云端"而不是(或只是临时)最终用户的设备。在实践中,这可以通过两种方式实现:
云端SE就像普通的智能卡/安全元素一样。在这种情况下,最终用户设备上的HCE应用程序会立即将所有收到的智能卡命令(APDU)重定向到"云"。云SE将处理命令并生成响应。然后,应用程序通过NFC接口(HCE)将此响应发送回支付终端。这种情况的主要缺点是HCE通信需要与“云”的稳定(且相对快速)连接。整个沟通过程。
[这有点像Google电子钱包的工作方式。]云端SE充当令牌服务,可生成临时卡片数据(临时卡号和临时动态验证码),仅对有限数量的交易有效并且在非常有限的时间范围内。每当此临时信息到期时,HCE应用程序就会请求一组新的临时卡数据并将其存储在手机的内存中。当支付终端建立与HCE应用程序(模拟信用卡)的连接时,应用程序与支付卡协议(EMV)通信并将临时信息嵌入到模拟卡数据中。
答案 2 :(得分:2)
我不认为Android"解决了这个问题"或者它甚至打算:它对于应用程序设计者来说更重要。可能的方法是:
答案 3 :(得分:1)
Android OS不提供安全存储来存储HCE事务中使用的敏感数据。
如果是HCE(基于云的SE),移动应用程序不会将敏感数据存储为安全元素。
敏感数据 PAN ,对称卡主密钥等,用于生成支付密码,受以下方式保护: -
保护PAN
EMV的令牌化规范用于使用令牌化PAN替换PAN,其中令牌化PAN被限制在某个域中。
保护对称密钥
Symmetric Card Master Key被限制版的对称密钥替换。
VISA的HCE规范定义了限制使用密钥(LUK),该密钥仅限于在有限的时间段和事务中使用。
MasterCard的HCE规范定义了单次使用密钥(SUK)限制用于单个交易。
其他HCE规范遵循类似的机制。
因此,云存储敏感数据(PAN,Symmetric Key)和移动应用程序存储限制版本的敏感数据。因此,它可以最大限度地降低风险。
移动应用程序使用白盒密码术来阻止数据被VISA,万事达卡和其他人建议窃取。白盒密码学很难破解。
顺便说一下,它被称为基于云的SE ,因为敏感数据存储在云而不是移动应用程序上,这与安全元素的方式不同(在SE / Mobile SE敏感数据存储在SE)。
答案 4 :(得分:0)
将令牌化与云中的" SE结合使用" ...这可以避免电话的依赖性;电话需要在线"。