给产品经理讲技术丨Apple Pay来了,苹果用了什么黑科技?
【文章摘要】Apple Pay进入中国了,又给大家找了一个合适的理由去剁手了,为了体验美帝的先进产品,花点钱也是值得的:)
【相关推荐】
给产品经理讲技术丨乱码导致的悲剧告白
给产品经理讲技术丨把URL五马分尸
给产品经理讲技术丨没线,并不可怕?
给产品经理讲技术丨提需求的正确姿势是什么
给产品经理讲技术丨产品后悔药来了,讲讲热补丁技术
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」扫描指纹授权。当用户将手指放在「Touch ID」上,会根据当前用户的指纹计算出一个数学表达式,传入「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,那就是银行卡里没钱了…
欢迎添加微信公众号:给讲技术