Apple Pay业务流程、MSD支付过程安全与风险分析
2015/4/7 11:52:11

  Apple Pay自2014年10月20日正式登陆美国市场,上线仅3天信用卡激活量就突破100万。Apple Pay在设计上将NFC、Touch ID、Secure Element、PassBook、Token等功能整合在一起,兼顾了易用性、安全性和私密性。但近日,关于ApplePay存在安全漏洞的报道频繁出现在各大门户网站。根据腾讯的一篇报道称,Apple Pay欺诈交易数量约占总交易数量的6%左右。在另外一篇“SpotMe APP让用安卓NFC手机用上Apple Pay”的报道中,安卓手机可以直接使用Apple Pay进行支付,这引发了人们对于Apple Pay存在可能被中间人攻击的讨论。

  根据上述报道,结合目前可以检索到的对于Apple Pay安全设计的相关材料,本文针对Apple Pay有可能存在的风险进行了初步的分析和探讨。

  一、业务流程存在风险

  深层背景:为使用户的支付体验做到极简,苹果希望自己的系统能够简化,让注册程序变得“无缝”,因此除去用户的信用卡基本信息之外,苹果不会要求用户填写更多的信息。而对于拼命希望成为客户Apple Pay默认信用卡的银行们,几乎不会采取自主防御手段或是要求苹果提供更多用户的信息。

  直接原因:根据“iOS Security”中的描述,Apple Pay提供了两种方式绑定信用卡/借记卡,一种是手动添加,另外一种是从iTunes Store中绑定的银行卡选择。无论采用哪种方式,用户仅需要提交姓名、卡号、有效期和CVV等四要素即可由银行作出批准或拒绝的决定。据了解,苹果公司对于银行卡验证提供了两种验证路径:对于活跃用户采用的是简化的验证路径(绿色通道),对于非活跃用户采用的是较为严格的验证路径(黄色通道),对于黄色通道苹果要求银行采取额外的验证要素,例如电话、邮件、短信等。但数据表明,60%的银行卡是通过绿色通道完成绑定的。

  绿色通道的存在给非法分子实施Apple Pay欺诈提供了条件。非法分子往往通过一些非法渠道从商户侧获取到银行卡信息,之后将银行卡直接添加到了其他的iPhone设备中。对于实施欺诈的iPhone来说,指纹确实是本人的,因此可以直接在非接触终端上完成支付。这可能是腾讯报道中关于Apple Pay“欺诈交易数量约占总交易数量的6%左右”的主要原因构成。

  主要结论:由上述可知,Apple Pay在业务流程的设计上的问题在于三个方面,一方面是Apple Pay过分的强调用户体验而忽略了银行卡绑定过程中身份核实验证的重要性,结果被不法分子有机可乘;另外一个是Touch ID中指纹验证仅能证明iPhone用户的身份而不能证明银行卡持卡人的身份,因此使用Touch ID作为CVM(Cardholder Verification Method)来授权交易切断了两者之间的关联关系;第三是iOS的设计中允许用户输入密码来修改指纹信息,这也给不法分子实施欺诈留下了机会。

  如今,苹果已开始向银行提供额外的信息,来帮助制止部分的欺诈交易。而需要为欺诈交易埋单的银行,则加强了客户在Apple Pay上注册的标准。

  二、MSD支付过程存在风险

  深层背景:据了解,美国市场大部分的银行收单机具均未完成EMV改造。因此Apple Pay所使用的非接支付流程均基于EMV非接规范中的Mag-Stripe Mode模式。根据下面的分析,Apple Pay使用Mag-Stripe Mode模式完成非接支付可能是构成Apple Pay容易遭受中间人攻击的主要原因。主要情况可参见链接:报道“SpotMe APP让用安卓NFC手机用上Apple Pay”中所述(http://www.mpaypass.com.cn/news/201503/12165125.html)。

  直接原因:根据Visa非接触芯片卡规范VCPS2.1(VisaContactless Payment Specification 2.1)中规定,Mag-StripeMode模式的交易(MSD)包括两种实现方式,一种是MSD Legacy,主要通过dCVV对交易进行唯一性保护;另外一种是MSD CVN17,提供了类似芯片卡的加密保护方式。这两种方式中,MSD Legacy的安全性较弱,其在dCVV计算中未将终端随机数、交易金额等关键信息包含在内,这为非法分子实施中间人攻击提供了机会。

  根据相关人士提供的Apple Pay指令截取以及对于SpotMe可能存在中间人攻击的分析,Visa的Apple Pay非接触支付流程中使用MSD Legacy方式得到了证实:

  在截取到的Apple Pay指令中显示的终端能力中仅支持MSD Legacy(终端交易属性中“请求联机密文”指示位为零);

  Apple Pay返回的数据为MSD Legacy格式(未包括ARQC);

  主要结论:由上述分析可知,Visa的银行卡在Apple Pay中使用的是MSD Legacy的流程,而该流程中未对终端随机数、交易金额等关键数据进行dCVV的计算,使得交易数据可能被截取并植入其他移动设备中用于各种授权或非授权的非接触支付交易(银行卡卡号未变)。但需要注意的是,由于dCVV生成时交易序列号(ATC)参与了计算,因此该被截取的交易数据(或称之为Token)只能用于一次交易(与该唯一ATC绑定的那笔交易)。发卡行可针对此特点进行授权控制,例如,如果改ATC已被使用过,则使用相同的ATC上送的交易直接拒绝等。

  推荐微信公众号,NFC日报:nfcdaily 移动支付网:mpaypass

本文转载目的在于知识分享,版权归原作者和原刊所有。如有侵权,请及时联系我们删除。

展开全文
相关阅读
资讯查询取消