快捷支付各种绑卡鉴权方式

1.背景

互联网金融平台账户进行开户或者支付业务时,绑卡鉴权环节是必经之路。
那么什么是绑卡鉴权?绑卡是将用户银行卡信息提供给金融平台,以后金融平台就用这个信息去银行完成支付。绑卡实际上是一个授权,让用户允许商家自动从他的账户上扣除资金,所以绑卡也叫签约,用户和银行,商家的三方签订的支付合约。 但我们知道,绑卡对用户和商户来说都存在巨大风险:一方面需要向电商暴露个人信息,一旦被窃取,资金就容易被盗走。还有在手机上执行支付,一旦手机丢失,窃取者就可以轻而易举的使用或者转移资金。

2.绑卡场景

怎么绑卡?我们知道对接银行有两种途径,直接对接银行接口和通过银联来间接对接。这两种情况下绑卡处理也不同。
绑卡场景
以支付宝、招行网银、直销app绑卡流程为例,我们可以体验下:


支付宝绑卡


招行一网通




招行掌上生活


这里有如下要点:

(1)只能绑自己的卡,这主要从安全角度考虑。

(2)需要用户在银行侧预留的手机号进行短信验证。但不是所有银行都需要。这个时候,为了统一处理,可以考虑自己发验证短信。

绑卡流程

这里面涉及两种类型的绑卡流程:首次绑卡和非首次绑卡

“首次绑卡”

承担着验证用户身份的功能,填写敏感信息的步骤一般需要后置,虽然有用户填错信息需要重新输入的情况,但为保证信息安全,牺牲部分体验是必要的。

“再次绑卡”

针对的用户主要是高级用户,并且这一操作不再承担验证身份的目的, 如果用户已经登录,密码输入这一步可直接过掉。

先介绍比较简单的银联直联绑卡。为了保证卡的安全,绑卡有这些前置需求:

1.用户必须已经绑定了手机号。该手机号用于修改支付密码。
2.用户需设置了支付密码。支付密码不同于登录密码。

针对用户不同状态,绑卡流程上有区别。当然,绑卡是安全操作,要求用户必须登录到系统中。为了避免和服务器端的交互被劫持,所有操作必须在安全链接中进行,即使用https。当用户开始绑卡时,执行如下流程:

1.手机号

检查用户是否有手机号。没有则进入设置手机号流程。

2.支付密码

检查用户是否设置支付密码。如果已经设置,则需要用户输入密码。确认后开始绑卡。否则,也是先进去绑卡后设置密码。

3.银行卡号信息

用户输入卡号,系统根据卡号判断卡的发卡行,并显示给用户。

4.银行预留手机号

用户输入银行预留手机。对于没有绑过卡的用户,需要用户提供真实姓名和身份证号(即首次绑卡)。对于信用卡,还需要输入cv码和有效期。这一步,卡的信息都收集全了。

5.调用银行绑卡验证接口进行绑卡。

这里有一个四要素验证的概念。由于国内要求实名制,所有银行卡都是实名办理的,所以银行可以验证姓名,身份证号,银行卡号和手机号是不是一致的,如果没问题,则会发短信到手机上。

实名认证

绑卡操作有个不错的副产品,就是实名认证。常说的二要素,三要素,四要素认证,可以通过这个操作完成。 二要素指姓名和身份证号,三要素加上银行卡号,四要素则加上手机号。看起来,似乎银行都应该支持四要素验证,但大部分银行接口仅支持三要素,毕竟手机号还是非常容易变。 当然,实名认证,也就是二要素认证,是应用最多的认证了。国内唯一的库是在公安部这,由NCIIC负责对外提供接口。可以提供如下功能:

简项核查:返回“一致”“不一致”“库中无此号”
返照核查:返回“一致+网纹照片”“不一致”“库中无此号”
人像核查:返回“同一人”“不同人”“库中无此号”

短信和身份验证

一般绑卡操作第五步需要银行下发短信验证码。 短信验证的接口,不同银行还不一样。有些银行是短信和身份验证一起做了;有些银行是可以配置身份验证是否同时发短信。还有些比较奇葩的机构,比如某联,接口中让你传身份信息,但实际上没传也是可以的,也不验证身份信息到底对不对。

此类接口一般包含如下内容:
版本号:当前接口的版本号;
编码方式: 默认都是UTF-8,指传输的内容的编码方式;
签名和签名方法: 生成报文的签名。 不是所有的字段都需要放到签名中,文档中会说明哪些字段需要签名;
签名算法:生成签名的算法,RSA, RSA128, MD5等。
商户代码:在渠道侧注册的商户号。
商户订单号:即发送给渠道的订单号;
发送时间:该请求送出的时间。
账号和账号类型: 银行卡、存折、IC卡等支持的账号类型以及对应的账号;
卡的加密信息:如信用卡的CVN2,有效期等。
开户行信息:开户行所在地以及名称;大部分是不需要的。
身份证件类型和身份证号: 可以用于实名验证的证件,指 身份证、军官证、护照、回乡证、台胞证、警官证、士兵证等。不同银行可以支持的证件类型不一样,这也不是问题。大部分就是身份证了。
姓名:真实姓名,必须和身份证一致;
手机号:在所在银行注册的手机号。

系统会返回上述数据的验证结果。如果验证通过,则会发短信。但这不是所有的渠道都是这样。哪些字段会参与验证、需不需要发短信,需要注意看接口文档。

6.绑卡签约流程

用户输入短信验证码并确认绑卡,服务器端将用户实名信息以及短信验证码组合形成报文,发送给银行,执行签约操作。银行侧签约成功后,返回签约号给商户。

绑卡接口

绑卡接口和发短信接口类似,还需要将用户的卡号,身份证等信息传递过去。在绑卡成功后,会返回一个签约号。这个签约号是后续调用支付,解约等接口所必须的。 这里有个问题,已经绑卡的用户,再绑一次,会出现什么情况?目前银行都会返回已绑卡的信息,也就是不支持重复绑卡。

3.互联网金融平台常见绑卡鉴权方式

好了,科普到此结束,回归我们今天的重点,目前从市场上来看,不同的平台封装出了不同的快捷支付鉴权方式,这些鉴权方式各有优劣,我们收集了部分常见的鉴权方式,一起来看看各自有什么特点,下面将从绑卡鉴权方式,鉴权要素,安全系数三个维度进行分析常见的绑卡鉴权对比

3.1全渠道鉴权
  • 特点:

我们较常见且较方便的鉴权方式为全渠道鉴权,即银行卡四要素鉴权,提供姓名、身份证号、银行卡号、手机号四要素绑卡成功之后,后续只需要在商户输入交易密码(短信验证码)即可进行支付。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号
  • 安全性:1

目前最快捷的绑卡方式,最早应用于支付宝等第三方支付平台的银行卡鉴权,经多年验证,安全级别较高。但这种绑卡方式依赖于用户的银行预留手机号的短信验证码,因此对短信运营商的安全措施和用户的手机信息安全要求都很高。
但是事实证明,短信验证码很容易泄露。此前有过骗子通过移动运营商的“短信保管箱”业务盗取用户验证码进行盗刷的情况;同时骗子还可以通过伪基站、病毒链接、病毒二维码等植入手机木马拦截短信,以及通过社交工具伪装熟人骗取短信验证码。

3.2第三方支付平台鉴权
  • 特点:

第三方支付平台鉴权,即开户时需要对接第三方支付进行鉴权,例如易宝支付、快钱等,有些对用户无感知的,有些是用户可感知的,无感知的即不会跳转到第三方支付平台,后台帮用户隐形开户,有感知的是跳转到第三方平台页面,让用户自己提供信息进行开户,鉴权绑卡成功之后同样是只需要输入交易密码(短信验证码)即可进行支付。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号
  • 安全性:1
3.3人行小额鉴权
  • 特点:

人行小额鉴权和全渠道鉴权相比多了一个银行卡类型的判断(注:银行账户分为Ⅰ类户、Ⅱ类户、Ⅲ类户),这个参数在一些场景还是比较有用的,例如绑卡的时候用来识别卡为一类户还是二类户,对防范薅羊毛等相关行为有一定作用,其他的和全渠道没什么区别。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号、卡类型
  • 安全性:2
3.4银联消费鉴权
  • 特点:

银联是个比较特殊的第三方支付平台,可进行类似全渠道银行卡四要素鉴权,也可进行四要素+取款密码的方式,这由发卡行决定。与全渠道鉴权和第三方支付平台鉴权相比,不同的点在于银联鉴权允许用户在其网关页面输入银行卡的交易密码进行验证,如下两图所示,两个不同的发卡行需要的鉴权要素不一致,这由发行卡决定。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号、密码(可选)
  • 安全性:3
3.5银联网关鉴权
  • 特点:

银联网关鉴权,在提供了绑卡四要素以外还需要跳转到发卡行(或者银联)的网关页面输入银行卡的取款密码进行校验,校验通过后才能绑卡成功。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号、密码
  • 安全性:3

在验证了四要素信息及银行预留手机号验证码后,附加银行卡取款密码。这也是目前银联等推行的更安全的验证方式。但是让用户在互联网平台上输入银行卡取款密码需要很强的信任感,同时取款密码的输入也依赖各类插件或者SDK等,对平台的集成难度加大,也影响平台体验的统一,因此目前使用此类方式绑卡的平台不多。同时这种绑卡方式也不是无限可击,虽然多了一层密码保护,增加了骗子盗取的难度,但是目前密码泄露非常严重,更何况很多人的密码其实和他们的个人信息相关。因此这种绑卡方式虽然安全性有所提高,但是使用率也不高。

3.6小额打款验证鉴权
  • 特点:

一种相对简陋的绑卡方式,平台通过用户帐户、姓名给用户打入一笔小金额,用户正确提交入账金额给平台,由此确定用户对卡的所有权,完成绑卡。但是由于在银行的安全体系里,账户的查询权限比支付权限要低很多,渠道相对便捷,诈骗团伙通过简化版网银或通过银行客服电话等查询余额,完成银行卡所有权的认证之后,就可以将卡的查询权限提升为支付权限,隐患很大。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号
  • 安全性:2
3.7小额转账验证鉴权
  • 特点:

商户会进行姓名、身份证号、银行卡号三要素鉴权,三要素通过之后商户还会要求用户使用将要绑定的银行卡向商户的对公户转入指定金额,用户需要登录网银向商户的对公账号转入对应金额,商户会校验金额是否正确,核对账户名称、银行账号是否一致,验证成功后绑定银行卡。

  • 鉴权要素:姓名、身份证号、银行卡号、手机号、密码
  • 安全性:3

与小额打款绑卡类似,把平台转账给用户变成了用户转账给平台,因此需要用户拥有银行卡的转账权限。由于能够最大限度保证持卡人的账户安全,因此,虽然操作转账相对麻烦导致用户体验上会打折扣,这种方式在互联网金融平台中接受度较高。但是,由于目前银行在做各种体验升级,每个银行的安全级别不尽相同,有些银行做创新业务尝试,很可能小金额的转账需要的授权级别比较低,如果被骗子突破用于绑卡,即可在平台实现大金额的投资交易。

以上为比较常见的鉴权方式,当然还存在其他的封装模式,不一一列举,那么上面的几种方式安全性以及用户体验孰优孰劣相信大家已经有个大概了。

4.互联网金融平台绑卡潜在漏洞及应对措施

短信验证码容易泄漏

虽然说这些鉴权方式都是比较安全的,但是盗开、盗刷、薅羊毛等因为鉴权导致的安全事件还是频繁出现,说明鉴权的风险还是存在的,主要因为上述中前几类鉴权都是提供银行卡四要素,这对于现在大数据时代(或者说黑灰产)来说,唯一相对保密的就是手机动态验证码,然而这并不能难倒黑灰产人员,黑灰产人员可以对普通用户发送钓鱼短信,短信中包含恶意链接,点击则会安装恶意APP,从而导致手机短信验证码被盗取,造成盗开盗刷等安全事件。我们对曾经捕获的恶意APP样本进行分析,进入木马收件箱可看见大量被盗取的手机验证码。

互联网金融平台该如何应对
1.同卡进出

即资金与银行卡完全绑定,确保从哪里投资回哪里去,实现资金的闭环,典型的案例如券商的银证账户。

同卡进出可以最大限度保障资金安全,即使发生盗刷,资金最终还是只能在同一张银行卡内流转,骗子无法取走。因此,当前券商、基金、保险的用户资金几乎都是同卡进出,互联网金融平台也越来越多的采用同卡进出的方案,这是平台确保客户资金安全的一把金锁。

2.提醒和教育用户

虽然平台可以通过“同卡进出”掐断提现,但是骗子的骗术层出不穷,总能找到突破口。平台还是有提醒和教育用户的责任和义务。比如可以提醒用户注意防范骗子伪装成熟人、警察,不要相信所谓“安全账户”、不要泄露短信验证码、不要点击陌生链接、不要随意输入银行卡密码等个人信息等。

3.远期风控措施

远期来看,互联网金融平台还可以尝试一些更有效更有力的风控措施,增加验证手段,提高信息盗取的难度,例如将四要素认证升级为卡密认证,以及增加视频认证等,大大增加诈骗行为的实施难度。
  与此同时,互联网金融平台可以利用行业内的风险数据的黑名单库,通过接入一些第三方平台可以进行匹配查询,进而识别风险用户。
  此外,还可以加强行为分析风控。通过行为分析、关系网分析等对风险行为进行识别,进而及时制止。还可以通过机器学习逐步建立和完善风险识别模型。





引言

快捷支付从出现到如今和日常息息相关,无论线下线上都已深深的融入我们的生活,小到零食饮料,大到理财都可以使用快捷支付完成,快捷支付方便快捷的特点让其应用越来越广泛。但是,站在一个互联网金融安全工作者的角度来看,快捷支付已经成为盗刷、薅羊毛等恶意攻击的重要手段之一,那么今天我们用3000多字一起来简单讨论下快捷支付的鉴权及其潜在的风险。

快捷支付

首先我们来看下快捷支付是什么,百度百科上的定义为:

“快捷支付指用户购买商品时,不需开通网银,只需提供银行卡卡号、户名、手机号码等信息,银行验证手机号码正确性后,第三方支付发送手机动态口令到用户手机号上,用户输入正确的手机动态口令,即可完成支付。”

提到快捷支付我们再看看和它很相似的另一种支付方式,那就是代扣,银行代扣接口是银行开放给第三方机构的接口,用户只要一次性签约,第三方机构就可以将资金从用户的签约银行账户里划走,对于接银行代扣接口的第三方机构的资质要求是非常高的,必须具备非常高的信用。一般这种接口会开放给水电公司,用于用户缴纳每个月的水费,电费,家庭网费等。

快捷支付和代扣实际上并不存在特别大的差异,要说差异就是对接的商户类型有差异,实际上都是客户、商户、银行三方的签约,签约成功之后商户可以从客户签约的银行中将钱划走。代扣是一次授权+免授权支付,快捷支付是一次授权+次次授权,这里的次次授权怎么理解呢?举个例子,用户在第三方支付平台绑定了某张银行卡,这是一次鉴权。进行支付时用户还是需要输入银行预留手机号(注意这里的手机号并非在第三方支付平台的注册手机号)收到的短信验证码,但是不需要输入个人以及银行卡信息,因为第三方支付平台后台已有用户相关信息,待第三方支付平台短信验证码验证通过之后,会将四要素上送到发卡行进行鉴权,鉴权通过之后进行支付,这是次次鉴权,用户无感知。

绑卡鉴权

好了,科普到此结束,回归我们今天的重点,至于上述科普是否正确,我们不要在意这些细节,我们只需要关注怎样才能发起快捷支付,完成快捷支付的鉴权方式具体风险有哪些就OK,从上述一段文字我们可以发现发起快捷支付只需提供银行卡卡号、姓名、身份证号、手机号、手机短信验证码即可。那么站在用户侧,我们用户体验的快捷支付是怎样的呢,我们拿一个常用的第三方支付产品来体验,看下发起快捷支付对于用户来说需要做什么。

如下图:

这里写图片描述

图解:

1)在商户平台注册成为会员; 
2)提供个人和银行卡信息进行绑卡(姓名、身份证号、银行卡卡号、银行预留手机号); 
3)输入手机号收到的动态码然后绑卡成功; 
4)设置交易密码; 
5)付款页面输入交易密码进行支付。

通过上述5步之后即可在第三方支付平台进行快捷支付,整个流程中最重要的是第二步即绑定银行卡,需要提供的信息为常说的鉴权四要素,提供了四要素即可进行绑卡,然后完成支付,站在用户的角度看确实方便快捷。

我们先不讨论银行卡四要素鉴权的风险如何,毕竟被应用这么广泛,说明其在用户体验与安全性之间已经做到了一个较好的平衡,我们这里只讨论是否还有其他可行并且更安全的鉴权方式。目前从市场上来看,不同的平台封装出了不同的快捷支付鉴权方式,这些鉴权方式各有优劣,我们收集了部分常见的鉴权方式,一起来看看各自有什么特点,并且大胆的对这些鉴权方式的相对安全性做了个排名,数字越大安全性越高。

排名如下图:

这里写图片描述

我们依次来大致了解下各种鉴权方式的验证要素,共六种。

第一种是我们较常见且较方便的鉴权方式为全渠道鉴权,即银行卡四要素鉴权,提供姓名、身份证号、银行卡号、手机号四要素绑卡成功之后,后续只需要在商户输入交易密码(短信验证码)即可进行支付。

如下图:

这里写图片描述

第二种是人行小额鉴权和全渠道鉴权相比多了一个银行卡类型的判断(注:银行账户分为Ⅰ类户、Ⅱ类户、Ⅲ类户),这个参数在一些场景还是比较有用的,例如绑卡的时候用来识别卡为一类户还是二类户,对防范薅羊毛等相关行为有一定作用,其他的和全渠道没什么区别。

第三种为第三方支付平台鉴权,即开户时需要对接第三方支付进行鉴权,例如易宝支付、快钱等,有些对用户无感知的,有些是用户可感知的,无感知的即不会跳转到第三方支付平台,后台帮用户隐形开户,有感知的是跳转到第三方平台页面,让用户自己提供信息进行开户,鉴权绑卡成功之后同样是只需要输入交易密码(短信验证码)即可进行支付。

第四种为银联消费鉴权,银联是个比较特殊的第三方支付平台,可进行类似全渠道银行卡四要素鉴权,也可进行四要素+取款密码的方式,这由发卡行决定。与全渠道鉴权和第三方支付平台鉴权相比,不同的点在于银联鉴权允许用户在其网关页面输入银行卡的交易密码进行验证,如下两图所示,两个不同的发卡行需要的鉴权要素不一致,这由发行卡决定。

如下图:

这里写图片描述

第五种为银联网关鉴权,在提供了绑卡四要素以外还需要跳转到发卡行(或者银联)的网关页面输入银行卡的取款密码进行校验,校验通过后才能绑卡成功。

如下图:

这里写图片描述

第六种为来账验证鉴权,商户会进行姓名、身份证号、银行卡号三要素鉴权,三要素通过之后商户还会要求用户使用将要绑定的银行卡向商户的对公户转入指定金额,用户需要登录网银向商户的对公账号转入对应金额,商户会校验金额是否正确,核对账户名称、银行账号是否一致,验证成功后绑定银行卡。

如下图:

这里写图片描述

以上为比较常见的几种快捷支付封装之后的鉴权方式,当然还存在其他的封装模式,由于篇幅有限我们不一一列举,那么上面的几种方式安全性以及用户体验孰优孰劣相信大家已经有个大概了。

虽然说这些鉴权方式都是比较安全的,但是盗开、盗刷、薅羊毛等因为鉴权导致的安全事件还是频繁出现,说明鉴权的风险还是存在的,主要因为上述中前几类鉴权都是提供银行卡四要素,这对于现在“大数据”时代(或者说黑灰产)来说,唯一相对保密的就是手机动态验证码,然而这并不能难倒黑灰产人员,黑灰产人员可以对普通用户发送钓鱼短信,短信中包含恶意链接,点击则会安装恶意APP,从而导致手机短信验证码被盗取,造成盗开盗刷等安全事件。我们对曾经捕获的恶意APP样本进行分析,进入木马收件箱可看见大量被盗取的手机验证码。

如下图所示:

这里写图片描述

具体的流程我列了两种方式,分别如下:

方式一:

这里写图片描述

方式二:

这里写图片描述

除了针对个人用户的攻击,还有针对企业的攻击,例如羊毛党的行为已屡见不鲜,我们这里看一个由于鉴权不当导致的薅羊毛流程。

流程图如下:

这里写图片描述

现在很多银行都开通了直销银行,一些直销银行为了获客会降低开户门槛,例如只验证手机号和身份证号即可开户成功,但是身份证数据市场上早已售卖泛滥,另外加上一些手机验证码平台即可进行全自动注册。有了这些低门槛银行Ⅱ类户,可以做的事情很多,例如可以到一些互联网平台注册账户绑定该Ⅱ类户赚取新手福利,到网贷平台绑定该Ⅱ类户提高信用额度等。通过此方法能薅羊毛是因为这些互联网平台的鉴权方式无法鉴别绑定的银行卡是Ⅱ类户还是Ⅰ类户,如果能鉴别银行账户类型并且限制只能绑Ⅰ类户可大大减小相关的风险,如使用人行小额鉴权可识别卡类型,或者自己收集卡bin进行校验。

小建议

快捷支付的鉴权方式风险还是存在的,但是其在兼顾用户体验的情况下已经相当不错,不过我们这里还是给些小建议。

1)针对普通用户,如果担心自己的快捷支付出问题,那么可以到网银、手机银行中关闭快捷支付,一般在支付管理或者安全中心里有相关开关,并且可以在里面查看自己银行卡已经签约过的商户有哪些,如不想继续使用可进行针对性的关闭。

这里写图片描述

2)另外不要随意点击陌生连接,特别是点击连接之后立马提示某app需要更新进行安装的,千万不能点击确定,如需安装app,请到正规的应用商店下载安装。

3)针对企业,这需要根据企业实际情况来考虑,对于企业来说安全性肯定不会仅仅只有银行卡鉴权,还会有风控等一系列安全体系,但是并不是每一家企业的安全体系都做得那么优秀,并且由于获客等等因素,从而不得不降低安全措施用来提高用户体验,那么对于安全体系没有达到一定高度的企业建议可以考虑选择安全性相对较好的鉴权方式,等到安全体系建设达到足够高度时再换为更方便快捷的方式。 


本文转自:

http://blog.csdn.net/baize_security/article/details/60762670

https://www.jianshu.com/p/4e725f982b34



  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值