一篇通读信贷产品的身份核验设计
本文主要介绍信贷产品设计中基于实名信息、身份证上传、人脸识别三者进行身份核验的产品流程设计。
一、实名认证
信贷产品开展的第一步基本都是实名认证,后续所有的行为都是围绕客户身份信息识别和资料验证等来展开,是建立客户档案的第一步。在信贷产品做实名认证的操作设计通常有三种方法:
1.1 实名二要素认证
顾名思义,由用户主动输入姓名和身份证号提交,然后调用第三方的数据接口,验证是否是有效的实名信息,如图所示,这是支付宝的实名二要素操作认证
实名认证
目前实名认证的验证终端的底层接口数据都是来自公安部下辖的事业单位全国公民身份证号码查询服务中心提供的的“全国人口信息社会应用平台”,
公民个人在进行社会和经济活动(例如到电信、银行办理相关业务)时,向有关机构主动出示居民身份证件,有关机构工作人员(称为“认证人”或“用户”)获得公民(称为“被认证人”)授权后,将被认证人的“公民身份号码”、“姓名”等数据通过电信运营商的网络通道传送至公安部“全国人口信息社会应用平台”进行比对,返回“一致”或“不一致”的比对结果。
但一般的平台无法直接进行对接,仅有少部分平台直接同该平台直接进行接口对接,然后对外提供封装的接口。因此绝大多数都是对接的第三方提供的聚合接口进行校验,如调用第三方支付公司的二要素认证接口。
1.2 OCR身份证识别认证
本质上也属于实名二要素认证,只是不需要用户手动输入姓名身份证信息,而是需要用户上传身份证正反面图片,根据OCR识别信息进行认证,本质上是将实名认证和身份证上传两个步骤合二为一,目前绝大多数信贷产品的实名认证采用的是这类方式。
OCR实名认证
关于OCR,百度百科的定义是OCR (Optical Character Recognition,光学字符识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程“。简单点来说就是图片输入后,输出图片上文章的加工处理过程。OCR的处理流程一般为,以身份证上传说明:
- 身份证图片输入。用户调用手机的相机权限或者相册权限,将身份证图片进行上传;
- 图片预处理。主要是针对身份证图片进行二值化、图像降噪处理。二值化的大概意思就是将彩色图片分为黑色前景和白色背景信息,以提高识别处理的效率和准确度。[注:二值化和降噪是百科说的,我也不太懂],整体而言是对图片拍摄质量进行判断,是否曝光过度或者图片反光无法正确识别信息];
- 倾斜矫正。拍摄身份证时每个用户上传的图片方向可能有差异,因此需要对图形方向进行矫正;
- 文字特征抽取和识别。识别身份证上的字段信息,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限;
- 对比识别和人工校正。OCR识别的准确率无法达到百分百,尤其是某些生僻字类型,可能在识别的算法过程中会存在偏差,因此还需要由人工在根据OCR识别的信息来判断实名信息是否准确。
目前针对身份证OCR识别的服务已经比较成熟,如百度、依图、商汤等都有提供这类产品,目前的OCR身份证识别除了简化实名操作以外,一般还可以进行一定的图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题,对于欺诈判断有比较重要的意义,。感兴趣的可以扩展阅读下百度身份证OCR接口文档了解下:百度身份证识别接口文档
1.3 实名绑卡认证
有的产品在设计过程中,可能直接使用银行卡三要素或者四要素同时进行实名认证和银行卡鉴权认证。如金融类产品的开户可能会采用这类设计。一般适合需要绑卡强场景的环节,非讲优点的话可以降低数据调用成本。不过现阶段的金融产品应该很少在此用该种设计方式,可人认为主要有以下几点原因,不一定准确,大家可以自己思考下为什么
-
当认证异常时,难以准确返回错误原因引导用户进行相应修改,一般可能第三方支付渠道返回的结果是身份信息不正确或卡号不正确,对用户的错误引导是不清晰的;
-
身份证号和卡号一般用户是不太记得住的,如果需要全部一个页面完成,整体的产品流失率也会比较高。基于产品转化和召回的考虑,实名会比绑卡的优先级更高,当用户完成实名后,可以结合运营手段等去召回用户进行绑卡操作;
-
另外目前的主流产品设计在绑卡环节会默认代入用户的实名要素,让用户无法编辑,通常在于引导用户需要&仅能绑定用户自己本人的储蓄卡,目前基于反洗钱等的规定,要求各类证券账户的出入金需要用户本人所绑定的借记卡
实名绑卡认证
1.4 实名认证的作用
实名认证成功后,除了第一步进行客户身份的建立以外,还具有如下作用:
- 建立客户的基本身份,并作为后续资料核身的基础。例如判断用户的绑定银行卡是否本人所有,用户提交的相关材料是否是本人所有;
- 基于身份证号码识别生成衍生字段。国家质量技术监督局发布的《公民身份号码》中对身份证号码的编码规则做了明确的规定,因此可以基于编码规则得出不少字段信息。公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
- 根据地址码我们可以得到用户的常住户口所在地,银行的一些风控可能会对特定地区的户口所在地的申请人进行限制等;
- 根据出生日期码可以计算得出用户的年龄信息;
- 根据顺序码可以识别用户的性别,第十七位奇数则为男性,偶数则为女性。
- 实名信息基本上是调用一切第三方数据的基础,一般常见的贷超类API合作对接的撞库、黑名单库判断等,基本都是以实名信息进行入参查询;
二、信贷产品的身份证上传
一般而言,银行开户、办理信用卡或者证券卡户等,都需要进行身份信息核验,上传身份证影像资料。衍生到互联网金融领域场景,也会发现线上信贷场景也都需要做身份证上传的操作。网上查询了下资料,主要是2007年6月,人行、证监、保监、银监等部门基于发洗钱法的规定联合发布了《金融机构客户身份识别和客户身份资料及交易记录保存管理办法》,对用户身份识别、客户身份和交易资料的保存行为进行了规范。
第十六条 金融资产管理公司、财务公司、金融租赁公司、汽车金融公司、货币经纪公司、保险资产管理公司以及中国人民银行确定的其他金融机构在与客户签订金融业务合同时,应当核对客户的有效身份证件或者其他身份证明文件,登记客户身份基本信息,并留存有效身份证件或者其他身份证明文件的复印件或者影印件。
如上所示,虽然目前的网贷业务开展暂时不属于规定的相关金融业务,但目前线上信贷的资金来源尤其是头部消费信贷平台,其资金来源主要以银行资金、消费金融资金、网络小贷等金融资金为主。因而,这些金融机构在开展金融业务(实质的放贷业务)需要按照办法规定,等级客户的身份基本信息同时留存相关的影响资料。这就是为什么现在的消费信贷产品都需要进行身份证上传的原因。另外采集身份证影像资料,还有另外的作用,下面会提及。
身份证上传一般可以结合实名认证一起进行,也可以单独作为一个流程,具体是否合并或拆分取决于各自产品的实际情况。如授信环节需要查询征信的产品流程设计,则通常可以使用OCR身份认证,不过一般基于OCR实名可能会导致初始转化下降。产品层面关于身份证上传流程示意,大致分为三层,具体可见如下图的业务流程示意
- 判断层:即当前用户是否需要上传身份证
- 操作层:即用户进行身份证上传及识别
-
校验层:进行身份ocr识别校验以及是否本人证件的规则校验
身份证上传流程
- 身份证上传的判断层主要是判断用户当前是否需要上传身份证,一般两种情况下需要进行上传:a)用户尚未上传身份证;b)用户的身份证已过期。
- 如果用户需要进行身份证上传,则需要判断当前是否已具有相机权限(或者相册权限),如果没有相应的权限需要提示用户进行开启;
-
上传身份证可以接入第三方的OCR识别SDK,也可以仅进行API的识别接口对接。但是一般客户端SDK组件可以提供身份证图片质量的检测以及包括额外的身份证风险类型的识别,如图所示的几种异常身份证
身份证识别五类-From:百度AI开放平台身份核验接口文档
如下所示:
- 是否清晰度合适、是否反光,确保身份证图像质量
- 是否包含占比合适的身份证,确保避免过于倾斜、非身份证
- 身份证中的关键字段是否清晰、反光,确保字段内容清晰
- 身份证国徽、人像部分是否位置匹配,确保检测位置准确,正反面正确
- 连续输入算法的两帧是否差异过大,确保避免镜头或证件晃动
- 身份证是否占比过小,确保镜头远近合适
- OCR上传识别成功后,与用户的实名信息进行比对,校验OCR识别信息是否准确。
三、人脸识别
目前人脸识别已经被广泛应用于各类生活场景,比如手机的人脸解锁、线下支付宝推出的人脸支付、机场和火车站的人脸识别等。另外目前在金融信贷场景也会采用人脸识别来作为反欺诈、申贷身份的核验。
基于信贷场景而言,完整的人脸识别一般是包含如下几个过程:活体检测、人脸采集、比对三个过程,而其目的一般在于确保申贷人为【真人】操作,避免黑产等通过机器批量操作等模式攻击,另外在于确认为【本人】操作,防止中介代办、身份冒用等情况。
一般现在人脸识别都是使用的专门的第三方提供的SDK集成服务,集成SDK后,通过客户端本地离线活体检测和人脸采集,然后调用第三方API服务接口进行身份核验判断。具体示意可参考如下流程
人脸识别SDK流程-From:百度AI开放平台接口文档
3.1 活体检测
活体检测是验证当前操作的人是一个活物,主要防止静态活体(如照片)的攻击,打个简单的比方来说比如人脸考勤,直接拿照片可能也可以完成打卡。
目前活体检测大致有如下几种方法:(声明,这部分描述是来自基于百度SDK文档概述)
- 有动作交互活体检测:通过要求用户配合做出一些面部动作,验证是否为身份伪造攻击,此方式往往结合静默图片活体检测一起使用。
- 静默图片活体检测:通过提交图片,检测图片中的屏幕边框、反光、摩尔纹、成像畸变等线索,来区分是否为二次翻拍攻击(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节);
- H5视频活体检测:通过上传一段视频,进行视频随机抽帧分析,对随机图片进行静默图片活体检测,得出综合攻击情况分析结果。为确保视频唯一性,可以结合语音校验码接口使用;
目前主流信贷产品绝大多数都采用的是基于Native app的人脸识别SDK,一般会内置动作交互活体检测功能。但如果信贷场景是通过第三方H5实现,且需要人脸识别的话,一般需要考虑H5视频活体检测。
3.2 人脸采集
在活体检测的同时,会进行人脸图片的获取和采集,可以根据需要定制需要采集存储的活体底照数量。基于人脸采集后的人证比对分析的准确性,对于采集的图像质量有很高的要求。百度将人脸的质量检测概括为五方面,一般如果集成了第三方人脸识别SDK,都会内置这部分质量检测,不符合时可以中断操作,提示用户重新进行人脸识别。
- 遮挡:指人脸各部位的遮挡比例;
- 模糊度:指人脸的清晰程度;
- 光照:指人脸的光照强度;
- 完整性:指图片中的人脸是否完整;
- 姿态:指人脸在三维空间的角度分布;
3. 身份核验
人脸识别的最后一步是进行身份核验,也就是判断是否是用户本人操作,是否允许用户完成该行为。一般被应用于应用异常操作风险安全拦截,如设备异常登录或银行卡交易操作异常等。类似目前手机移动支付的人脸验证也可以归属为人脸比对的过程。身份核验的常规核验流程是使用用户当前采集的人脸同注册人脸进行比对。所谓的注册人脸是用户首次进行识别输入存储的图片或者其他方式存储的用于作为基准对比的图片。人脸比对是将两张照片进行比对,得到一个比对分数结果,根据设定的阈值分数,判断是否通过。
另外关于身份核验一般有3种对比场景:
- 活体vs活体
即刚所说的当前采集的人脸同注册人脸进行比对。主要用于判断当前操作人是否为本人进行操作; - 活体vs身份证芯片照
将采集到的人脸及用户身份证影响件的图片照片进行比对,判断是否人证一致; - 活体vs公安部网纹照
将采集到的活体同公安部网纹照进行比对,公安部网纹照对接是公安部身份系统,调用比对的花费成本较高,但一般被认为是最可靠的核验方式。
综上,基于以上三点的描述,我们基本可以知道信贷产品针对借款人的身份核验及欺诈判断基本上是结合用户的实名信息(姓名+身份证号)、身份证照片、活体照片(或公安部网纹照)等进行相互验证和识别。不过这无法完全杜绝团伙欺诈骗贷的防范,比如花几千块全额雇人进行操作。
敲黑板,划重点
- 信贷产品流程中实名、身份证、银行卡是核心要素,不论流程如何设计,最终一定是包含了这三者;
- 信贷产品基于反欺诈的风险防范要求,一般需要进行完整的身份核验,通过实名+身份证照+活体等联动来进行判断,可以杜绝大多数的欺诈骗贷情况;
- 身份证OCR除了基本的OCR信息识别,一般还可以进行图片质量检测和风险检测,识别上传的身份证件是否有效证件
- 人脸识别的完整一般包含活体检测、人脸采集、人脸比对三个方面,活体检测主要是通过动作式活体检测随机采集底照根据算法对图片是否活体进行判断,人脸采集则是采集人像的一个过程,人脸比对则是通过当前活体底照和其他来源存储照片进行比对,判断是否为同一个人;
作者 :可飞,公众号(ID:abckefei)