Apple Pay 进入中国了,又给大家找了一个合适的理由去剁手了,为了体验美帝的先进产品,花点钱也是值得的:)
Apple Pay 的本质就是把手机变成了一张特殊的银行卡,使用普通银行卡消费是刷卡+密码,使用Apple Pay 消费是刷手机+指纹,结果都一样,授权 POS 机可以我的账户上扣掉一笔钱,具体的资金流动都是由银行来处理。Apple Pay 给我们带来的不同,就是刷卡时更快更爽的体验了。那么让你更爽的体验背后用了什么黑科技呢?先来了解一些概念,如果你都听说过,那么请直接跳过~近场通讯 NFC是一种短距离的高频无线通讯技术,允许电子设备之间进行非接触式点对点数据传输,在十厘米(3.9 英寸)内交换数据。
安全单元 Secure Element是一块独立的电子芯片,它有自己的微处理器、存储和加密硬件,与手机操作系统和硬件是隔离开来的,只有授权的应用可以访问安全单元内的数据。
Touch ID是 iOS 的指纹识别服务,它通过指纹传感器,可以将单个指纹转化成一组数学表达式,可用于解锁一些机密信息,而且最重要的是,它只会对活体指纹进行处理,砍下来的手指是没用的。
Secure Enclave是在 Apple A7 及后续版本的 CPU 中集成的一个安全执行环境,用来处理一些敏感信息,需要从 Secure Enclave 中传入传出的数据都是用特殊密钥进行加密传输的。
我们先从绑卡流程说起,当你扫银行卡或者输入银行卡相关信息后,Apple 并不会存储你的银行卡信息,而是先将这些数据加密,传输给银行。银行会先鉴定你输入的信息是否正确,如果正确,则以银行卡和绑定的 iOS 设备为一个组合生成一个唯一的设备 ID 和交易动态码密钥,然后系统会将其存储在安全单元,这样只有 Apple Pay 可以读取这个设备ID 和交易动态码密钥。
然后就是支付流程了,在支付时,Apple Pay 通过NFC与 POS 机通信,将收款商家信息及金额传入iOS 设备,这时将 iOS 设备激活并请求用户使用Touch ID扫指纹授权。当用户将手指放在TouchID 上,会根据当前用户的指纹计算出一个数学表达式,传入Secure Enclave ,在Secure Enclave 中对比已存储的指纹数据,如果一致,则认为是同一个用户,授权通过。授权通过后,Secure Enclave会通知安全单元生成一个只对当前这一笔交易有效的 Token,然后再通过NFC将设备 ID 和交易 Token 发送给 POS 机,简单的说就是将一组一次性的账号密码发送给了 POS 机,
POS 机再将这组数据传输给银行。银行在收到交易信息后,通过设备 ID 能过查询到最初绑定到银行卡号,再对比 Token 的有效性,如果鉴定是一个有效 Token,则认为这笔交易可以执行,然后进行资金处理,并通知 POS 机交易成功。
我们可以看到,在整个 Apple Pay 使用过程中,只有首次绑卡时,输入了你的银行卡信息,在随后的交易中,始终都是以设备 ID 作为银行卡的标识,所以即便你的 iOS 设备遗失或者遭到破解,也不能反向破解出你的银行卡信息。如果在交易中,有人窃听了 Apple Pay 与 POS 机的通信内容,试图复制这份内容伪装成用户再次交易,这也是不可行的,因为每次交易都有一个特定的 Token,这个 Token 使用过一次之后,就不可以再次使用了,即便是重放一次复制的通信,也最终会被银行拒绝。
感叹一下,Apple 在交易的每个环节真的是下了大功夫来保证交易安全,用 Apple Pay 可以放心的买买买了,可是还有一个比较大的问题在阻止我使用Apple Pay,那就是银行卡里没钱了...