2 月 20 日凌晨,Apple Pay 正式登陆中国,笔者马上就绑了自己的银行卡,虽然中途的绑定验证颇为曲折,但明眼人一看就明白,这和苹果没多大关系,关键的认证步骤是银联的服务器撑不太住。到了中午,笔者去麦当劳体验了 Apple Pay,第一次用有点生涩,不过感觉用户习惯后的体验肯定是秒杀各种支付应用的。于是晚上,各路人士肯定是要对 Apple Pay 品评的,我们也不能免俗来说两句。
首先,笔者发现很多人拿 Apple Pay 和微信、支付宝等支付应用程序去对标,什么微信支付宝向左银联 Apple Pay 向右 ,这么对标显然是愚蠢的,两个东西完全不在一个维度。简单来说,Apple Pay 可以不用联网进行支付,从这一点出发,我就不要把 Apple Pay 当成一个支付应用,因为它有其他支付应用没有的能力,它其实就是一张高科技银行卡。
从银行卡这个思路我们去分析安全会更容易理解,早期传统的银行卡是磁条卡,磁条卡并没有太多的安全认证,导致读取到磁条中的数据就可以复制成一张新的银行卡,于是我们经常可以看见盗刷复制银行卡的新闻,不法分子一般都是经由非法磁条卡读写设备复制银行卡。
于是银行开始推更安全的芯片卡,芯片可以储存密钥、数位证书、指纹等讯息。笔者对这个领域并不熟悉,不过还是加劲解释一下,芯片卡能透过非对称加密的方式,和 POS 机进行双向公私钥验证,通俗说就是银行卡认设备了,非法设备已经无法复制银行卡了。
回到 Apple Pay 上,Apple Pay 能够做到离线支付,那是不是银行卡被复制到了苹果手机中呢?并没有,Apple Pay 的绑定银行卡过程,不是把银行卡芯片中的密钥和数据直接复制到手机上,实际上是把卡号和相关的密码或者信用卡的 CVV 输入到手机应用程序里,然后 Apple Pay 和银联的服务器做一次设备认证绑定。这个设备认证的过程 Apple Pay 会生成一个唯一的设备账号与之对应,设备认证绑定后,以后要和 POS 机进行安全认证的数据 Token 等储存在 iPhone 安全芯片中。
目前这类安全支付的安全攻防的落点都在硬件安全体系上,苹果是以 Secure Boot Chain、Secure Element、Secure Enclave、Touch ID、NFC Controller 为支柱的硬件安全体系,Android 阵营则是以 ARM的 TrustZone 技术为安全标准,这些安全标准一般人都太难以理解,这里我们不深入解释,笔者在这个领域不太熟悉,凭自己的经验和认识来来谈谈 Apple Pay 和安全相关多个攻击面:
第一个攻击面,Apple Pay 的 NFC 近场通讯是否有安全隐忧,比如说通讯协议的重放,我是不是可以脱离手机装置无限制地重复支付同一个交易,这个肯定想都不用想,在架构设计上苹果肯定会杜绝这种低级错误。
不过 NFC 攻击可是千变万化,比如 2013 年 DEFCON-20 上曾有一个“NFC Hacking:The Easy Way ”的议题,提到了 NFC 跳板攻击,议题放出过一个概念性的攻击例子,利用两个 NFC 手机做跳板,钓鱼欺骗你的银行卡支付远端的一个 POS 机,其中的攻击原理把这张银行卡换成 Apple Pay 手机,应该也一样能攻击成功,不过笔者觉得在小额度支付的场景,实施这样的钓鱼攻击成本太高,骇客始终还是无法无限制地盗刷支付。
第二个攻击面,来自 Apple Pay 业务层次的安全,现在苹果手机已经变成银行卡了,而这个银行卡的密码不再是银行密码了,而是你的锁屏密码和指纹。
所以如果手机丢失了,你来不及锁定注销 Apple Pay,那不法分子使用你的锁屏密码或指纹可能刷爆你的卡。这里的锁屏密码也能支付估计很多人都没体验到,只需要使用错误的指纹几次就会进入锁屏密码支付流程。当然这也是一个伪命题,前几天 FBI 还在求助库克给 iPhone 的锁屏密码开个后门,因为苹果的 Touch ID 与密码中有一项安全选项,连续输入 10 次错误密码就抹掉手机的所有数据!当然这一功能明显不适用于普通消费者,如果你的手机落在亲戚小孩手上,情况可想而知。
第三个,Apple Pay 软硬件层次的攻防。
这部分乌云的文章:《Apple Pay 来了,但是它安全吗?》已经做了很详细的科普,现在骇客攻防的落点是挑战硬件安全体系,去年已经有骇客攻破了部分 Android 手机厂商的 TrustZone 安全支付方案,苹果的 Apple Pay 至今还没有人攻破。试想骇客如果能够做到破解苹果安全芯片的加密数据,将 Apple Pay 的设备复制,在世界的另外一个角落盗刷你的银行卡,我觉得这会是本年度最轰动的安全事件。
(本文由 雷锋网 授权转载)