睿诚科技协会

HCE Token技术原理是什么?

什么是 HCE?它解决了什么问题?

HCE 的全称是 主机卡模拟,它是一种让智能手机能够模拟一张实体智能卡(如银行卡、交通卡、门禁卡)的技术,从而实现 NFC 支付、门禁等功能。

HCE Token技术原理是什么?-图1
(图片来源网络,侵删)

在 HCE 出现之前,NFC 支付的困境:

传统的 NFC 支付方案(如早期的 SIM-UIM 卡方案)需要将银行卡信息、加密密钥等安全数据存储在手机的 SIM/UIM 卡 中,支付时,手机通过 NFC 芯片将 SIM 卡模拟成一张银行卡。

这种方式存在几个致命问题:

  1. 运营商依赖性强:银行和支付机构必须与各大运营商合作,将银行应用写入 SIM 卡,这导致流程复杂、周期长,且运营商在其中扮演了“守门人”的角色,阻碍了创新。
  2. 用户体验差:用户需要去营业厅更换带有银行应用的 SIM 卡,非常不便。
  3. 技术灵活性差:SIM 卡的存储和处理能力有限,难以支持复杂的动态安全策略和快速的应用更新。

HCE 的诞生就是为了解决这些问题。 它的核心思想是:把“模拟智能卡”这个任务从 SIM 卡转移到手机的操作系统中完成。

HCE Token技术原理是什么?-图2
(图片来源网络,侵删)

HCE 的核心技术原理

HCE 的实现依赖于 Android 系统提供的几个关键组件和机制,我们可以把它想象成一个“软件智能卡”。

核心组件

  1. 安全元件 的软件替代

    • 物理 SE:在传统方案中,SE 是一个独立的、安全的芯片(可以集成在 SIM 卡、SD 卡或主板上),它拥有自己的处理器和 secure memory,用于存储和处理敏感数据(如密钥、密码)。
    • HCE 的软件实现:HCE 通过 Android 系统的 安全框架 来模拟 SE 的功能,敏感数据(如支付应用的密钥)被加密后,存储在手机的 受保护的存储区域 中(Android Keystore 系统),这个区域由操作系统内核保护,普通应用无法直接访问,从而保证了数据的安全性。
  2. Android Beam 和 NFC 服务

    • 这是 HCE 的“执行者”,当手机靠近 NFC 读卡器时,Android 系统的 NFC 服务会检测到外部请求。
    • 如果请求的是一个由 HCE 模拟的支付应用,NFC 服务就会启动该应用,并将 NFC 通信通道的控制权交给它。
  3. Tokenization (令牌化)

    HCE Token技术原理是什么?-图3
    (图片来源网络,侵删)
    • 这是 HCE 能够安全工作的 基石,它从根本上改变了支付信息交换的方式。
    • 传统方式:支付时,手机直接发送银行卡号、有效期、CVV 等敏感信息给 POS 机,这些信息一旦泄露,风险极高。
    • Token 方式
      • 在用户开通手机支付时,银行或支付机构会生成一个唯一的、一次性的或可重复使用的 支付令牌
      • 这个令牌与用户的真实银行卡号在后台系统中进行绑定,但令牌本身不具备银行卡的原始信息。
      • 手机支付时,HCE 应用发送的不是银行卡号,而是这个 支付令牌
      • POS 机收到令牌后,将其发送给银行的后台系统,系统通过查找令牌与银行卡号的映射关系,完成扣款,然后返回结果。

    Token 的好处

    • 安全性高:即使令牌在交易过程中被截获,攻击者也无法直接用于盗刷,因为它不是真实的银行卡号。
    • 可撤销:如果令牌泄露,银行可以立即在后台撤销该令牌,而无需更换用户的实体银行卡。
    • 场景化:可以为不同的商户或交易场景生成不同的令牌,便于风控和追溯。

工作流程(以 NFC 支付为例)

让我们用一个完整的流程来理解 HCE 是如何工作的:

  1. 用户准备

    • 用户在手机上安装一个支持 HCE 的银行 App(如支付宝、Apple Pay/Google Pay 的银行卡功能)。
    • 用户通过该 App 绑定银行卡,银行后台会为这张卡生成一个支付令牌,并将其与用户的手机设备绑定。
    • 银行 App 将用于加密和签名的密钥,安全地存储在 Android Keystore 中。
  2. 发起交易

    用户点亮屏幕,解锁手机,并将手机背面靠近商家的 NFC POS 机。

  3. NFI 检测与路由

    • 手机的 NFC 控制器检测到一个外部 NFC 读卡器(POS 机)的请求。
    • NFC 服务分析这个请求,发现它是一个针对“非接触式支付”标准(如 EMVCo)的请求。
    • NFC 服务根据 Android 系统的 AID (Application Identifier) 路由规则,将这个请求发送给对应的 HCE 应用(即用户绑定的那个银行 App)。
  4. HCE 应用响应

    • 银行 App 接收到 NFC 服务传递过来的通信数据。
    • App 内部执行以下关键操作:
      • 动态生成数据:根据 POS 机发来的请求(如交易金额、订单号等),结合存储在 Keystore 中的密钥,生成一个动态的、一次性的 加密签名
      • 组装支付报文:将支付令牌、交易信息、动态签名等打包成一个符合 EMVCo 标准的支付报文。
  5. 数据传输

    银行 App 将这个支付报文通过 NFC 通道发送给 POS 机。

  6. 后台验证与完成交易

    • POS 机将收到的支付报文发送到银行的后台清算系统。
    • 银行系统验证支付令牌的有效性、签名的合法性以及交易金额等。
    • 验证通过后,完成扣款,并将“成功”或“失败”的结果返回给 POS 机。
    • POS 机显示支付结果,用户的手机 App 也会收到通知,提示交易成功。

HCE 的安全机制

HCE 的安全性是其能否被广泛采用的关键,它通过多层防护来保障交易安全:

  1. 设备绑定

    • 支付令牌是与用户的 特定手机设备 绑定的,如果用户换了一部手机,旧的令牌就会失效,需要重新绑定,这防止了攻击者盗取了支付数据后,在其他设备上使用。
  2. 应用认证

    • HCE 应用必须经过严格的 数字签名,确保它是由官方发布且未被篡改的,Android 系统在启动 HCE 应用前会验证其签名。
  3. 安全存储

    敏感的密钥和令牌被存储在 Android Keystore 或 TEE (Trusted Execution Environment,可信执行环境) 中,这些区域是硬件隔离的,操作系统本身也无法直接读取明文数据,只能通过预定义的、安全的 API 调用。

  4. 用户认证

    • 在交易前,手机会要求用户进行身份验证,如 指纹、面容识别、PIN 码或图案解锁,这确保了只有手机的所有者才能发起支付。
  5. 动态数据认证

    每次交易都使用动态签名,而不是一个固定的密码,这使得截获的交易数据无法被重放攻击。


HCE 与其他方案的对比

特性 HCE (主机卡模拟) eSE (嵌入式安全元件) SIM-UIM 卡方案
实现位置 手机操作系统 手机主板上独立的芯片 SIM/UIM 卡中
数据存储 Android Keystore / TEE eSE 芯片的 secure memory SIM/UIM 卡
控制方 手机厂商 / App 开发者 手机厂商 / 合作方 运营商
部署灵活性 ,App 可随时下载安装 ,需硬件集成,与手机厂商合作 极低,需换卡或运营商远程推送
安全性 ,通过软件和硬件结合实现 最高,硬件级隔离 ,硬件级隔离
代表方案 Google Pay, Samsung Pay, 银行 App Apple Pay (部分), Huawei Pay 早期中国移动/联通 NFC 支付

HCE 的技术原理可以概括为:

利用 Android 系统的安全框架,在软件层面模拟传统智能卡的安全功能,通过将敏感密钥存储在受保护的区域(如 Keystore),并结合 Tokenization (令牌化) 技术,实现了安全、灵活、去中心化的 NFC 支付方案,它彻底摆脱了对运营商和物理安全元件的依赖,让银行和开发者能够直接为用户提供便捷的移动支付服务,是现代移动支付得以普及的核心技术之一。

分享:
扫描分享到社交APP
上一篇
下一篇