【端云结合】实人认证 - SDK接入 (安卓、IOS、鸿蒙、H5)
易顺达实人认证解决方案
接入类型 | 接入方式 | 用户认证流程 | 接入方传入材料 | 输出主要内容 |
App(SDK)接入 | SDK + 服务端API接入 |
| 姓名、身份证号码 |
|
1. 产品简介
什么是【端云结合】实人认证
【端云结合】实人认证 产品基于计算机视觉、大数据分析和人工智能技术,配合公安权威数据源验证,可快速校验自然人的真实身份。
产品内置活体检测功能,创新的炫彩活体检测和动作活体检测,能够有效防御AI换脸和深度伪造等新型攻击和传统的呈现式攻击及注入式攻击,为用户和机构提供安全便捷的人脸识别和活体检测服务。
什么是端云结合模式
用户在客户端完成客户端刷脸活体检测,并将采集到的人脸图片加密送到服务端完成风控检测、服务端活体检测和权威数据源验证,然后向客户返回认证结果以及采集的最佳人脸图片或人脸视频。
产品优势
安全等级高
- 全链路加密:敏感信息加密传输,采用动态口令“一图一密”机制。
- 全链路风险实时对抗:风险决策引擎对用户设备、运行环境和用户操作行为等特征进行实时监控,及时发现异常情况有效防御恶意操作行为,保障高安全水位。
- 多维度活体检测技术:创新的炫彩检测、动作检测、静默检测等活体检测方法, 可有效抵御AI换脸、深度伪造、照片修改、面具、遮挡以及屏幕翻拍等攻击手段。
- 灵活的检测模式:支持对活体检测模式进行灵活组合,例如指定多动作活体+炫彩活体的联合检测方式,同时多动作活体中支持自定义动作、个数、顺序。
算法性能强
- 活体检测算法,速度快、体验好、通过率高。
- 人脸识别算法,准确率高、速度快,在比对万分之一阈值下通过率大于99%。
灵活易用
- 可根据客户实际业务需求,快速对解决方案进行定制化开发,满足客户需求。
- 接入方式全覆盖,支持 Android、IOS、鸿蒙、微信小程序、微信 H5、PC等主流客户端。
- 服务端兼容多种平台,支持本地化部署,兼容主流 Linux 操作系统和国产信创系统;
应用场景
活体检测产品的主要应用场景如下
远程身份认证
在银行远程开户、保险理赔、转账交易、在线开户、电子政务、交通出行等环节,通过移动端采集人脸信息,判断是否为活体并结合人脸比对产品或权威信息源判断是否是本人,保证交易安全和账户安全,提升远程业务办理效率。
人脸图像采集与检测
在银行、政务等场景中,使用移动端采集用户人脸图像进行留底,并且可以结合产品中的多人脸检测、闭眼检测等能力检查采集的图像是否满足要求,为用户提供人脸采集解决方案。
产品效果图
/image1.png)
2. 产品使用介绍
接入准备
购买实人认证产品套餐包(免费试用20次),购买地址。
计费方式
接口名 | 是否计费 | 计费说明 |
获取token | 不计费 | - |
执行实人认证 | 计费 | 响应报文 code 字段返回 200 时计一次费。 |
获取实人认证结果 | 不计费 | - |
说明:
成功执行一次实人认证,并获取到认证结果,计一次费。
实人认证异常、用户不执行实人认证、用户中断实人认证流程不计费。
认证流程
/image2.png)
整体交互流程
sequenceDiagram
autonumber
actor 用户 #yellow
participant 应用方APP #green
participant 活体检测SDK #orange
participant 应用方服务器 #green
participant 阿里云网关 #orange
rect rgb(240, 248, 255)
%% 阶段一:初始化
note over 用户, 阿里云网关: 阶段一:初始化流程
用户 ->> 应用方APP: 触发核验流程(如点击认证按钮),填写身份证号、姓名
应用方APP ->> 活体检测SDK: 调用SDK 「verifyInit」接口
活体检测SDK -->> 应用方APP: 返回 authInit
应用方APP ->> 应用方服务器: 告知需发起人脸核身, 传入 authInit、身份证号、姓名
应用方服务器 ->> 阿里云网关: 调用阿里云网关「获取TOKEN」接口,传入 authInit、身份证号、姓名
阿里云网关 -->> 应用方服务器: 返回 token
应用方服务器 ->> 应用方服务器: 保存 token (可用于执行人脸核身/查询人脸核身结果)
应用方服务器 -->> 应用方APP: 返回 token
end
rect rgb(240, 255, 240)
%% 阶段二:执行认证
note over 用户, 阿里云网关: 阶段二:认证流程
应用方APP ->> 活体检测SDK: 调用SDK「startLivingDetect」接口, 传入token
活体检测SDK ->> 活体检测SDK: 拉起前端活体检测页面
用户 ->> 活体检测SDK: 根据页面提示完成前端活体检测(动作活体、炫彩活体等)
活体检测SDK ->> 应用方APP: 前端活体检测完成后,SDK「startLivingDetect」接口返回 authVerify
end
rect rgb(255, 248, 240)
%% 阶段三:结果处理
note over 用户, 阿里云网关: 阶段三:结果处理
应用方APP ->> 应用方服务器: 告知用户已完成前端活体,传入 authVerify
应用方服务器 ->> 阿里云网关: 调用「执行人脸核身」接口,传入 authVerify
阿里云网关 ->> 应用方服务器: 返回人脸核身结果,处理后续业务
应用方服务器 -->> 应用方APP: 返回人脸核身结果,处理后续业务
应用方服务器 -->> 阿里云网关: 调用阿里云网关「获取人脸核身结果」接口,传入token, 获取人脸核身结果(可选,补充验证)
阿里云网关 ->> 应用方服务器: 返回人脸核身结果
end |
阶段一
- 用户端业务触发核验流程。
- 应用方APP 发送请求到 活体检测SDK,获得 authInit。
- 应用方APP 发送请求到 应用方服务器,传入 authInit 、身份证号、姓名告知 应用方服务器 需要发起一次核验流程。
- 应用方服务器 传入相关参数调用 阿里云网关 获取token 接口,传入 authInit、身份证号、姓名获取 token。(接口文档请参见下文《服务端集成》)。
- 应用方服务器 将获取到的 token 进行保存,并将 token 下发给 应用方APP。
阶段二
- 应用方APP 调用 活体检测SDK startLivingDetection 接口,传入 token,活体检测SDK 会拉起 活体检测页面。
- 用户在 活体检测页面 上根据页面提示进行前端活体检测流程(动作活体、炫彩活体等)。
- 前端活体检测完成后,活体检测SDK 返回 authVerify 给 应用方APP。
阶段三
- 应用方APP 告知 应用方服务器 用户已完成前端活体检测,传入 authVerify。
- 应用方服务器调用 阿里云网关 执行实人认证 接口,传入 authVerify 获取 实人认证结果,执行后续业务。
- 应用方服务器 传入 token 调用 阿里云网关 获取实人认证结果 接口,主动获取实人认证结果。(可选,正常情况上一步应用方已经可以获取到实人认证结果了,此步骤作为补充)
3. 服务端集成
阿里云API网关调用规则
购买API商品成功后,如何调用API,请阅读《如何使用阿里云API类商品》。
重要
使用简单认证方式时,建议通过应用方服务器和API网关通信。
因为简单认证方式免去了复杂的签名过程,但是把AppCode作为明文暴露网络中传输,会带来一些安全隐患,请务必重视。
API 文档
获取token
全局接入地址:https://esdrp.market.alicloudapi.com/getToken(IPv4)
请求方法:POST
传输协议:HTTPS
Content-Type: application/x-www-form-urlencoded
接口说明:每次开始认证前通过本接口获取 orderId,用来串联认证请求中的各个接口。
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
authInit | String | 是 | 活体检测初始化信息 | 略 |
certNo | String | 是 | 身份证号 | 略 |
certName | String | 是 | 姓名 | 略 |
返回数据
名称 | 类型 | 描述 | 示例值 |
code | String | 返回码:200 为成功,其他为失败。 | 200 |
msg | String | 请求参数的响应信息。 | 成功 |
logId | String | 日志Id | dl747f5a11c40a5aa***** |
data.token | String | 认证token。 | 略 |
返回code和msg说明
code | msg | 描述 |
200 | success | 成功。 |
400 | 参数不能为空 | 参数不能为空。 |
401 | 非法参数 | 非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。 |
412 | 欠费中 | 产品欠费中,请充值后操作。 |
414 | 设备类型不支持 | 当前移动设备不支持刷脸认证,请更换设备后操作。 |
415 | SDK版本不支持 | 当前认证SDK版本不支持刷脸认证,请升级SDK后操作。 |
416 | 系统版本不支持 | 当前操作系统版本不支持刷脸认证,请升级系统或更换设备操作。 |
500 | 系统错误 | 系统内部错误,请反馈工程师排查。 |
特别说明:
出参示例
{
"msg": "success",
"code": "200",
"logId":"略",
"data": {
"token": "略"
}
} |
执行实人认证
全局接入地址:https://esdrp.market.alicloudapi.com/verify(IPv4)
请求方法:POST
传输协议:HTTPS
Content-Type: application/x-www-form-urlencoded
接口说明:当用户完成前端活体检测后,可以在服务端通过该接口获取活体检测结果(服务端会执行后端活体检测、风险检测和权威源身份信息核验)。
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
token | String | 是 | 认证token | 略 |
authVerify | String | 是 | 活体检测认证数据 | 略 |
返回数据
名称 | 类型 | 描述 | 示例值 |
code | String | 返回码:200 为成功,其他为失败。 | 200 |
msg | String | 请求参数的响应信息。 | 成功 |
logId | String | 日志Id | dl747f5a11c40a5aa***** |
data.passed | String | 认证结果,取值:T:通过F: | T |
data.resultCode | String | 认证结果描述。 | 200 |
data.bestImgUrl | String | 活体检测采集的人脸照片oss下载链接,有效期12小时。 | 略 |
data.certName | String | 姓名 | 略 |
data.certNo | String | 身份证号 | 略 |
返回code和msg说明
code | msg | 描述 |
200 | success | 成功。 |
201 | 查询不到认证结果 | 可能是用户中断了认证流程或用户未开始认证。 |
400 | 参数不能为空 | 参数不能为空。 |
401 | 非法参数 | 非法参数。传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母等特殊字符。 |
412 | 欠费中 | 产品欠费中,请充值后操作。 |
414 | 设备类型不支持 | 当前移动设备不支持刷脸认证,请更换设备后操作。 |
415 | SDK版本不支持 | 当前认证SDK版本不支持刷脸认证,请升级SDK后操作。 |
416 | 系统版本不支持 | 当前操作系统版本不支持刷脸认证,请升级系统或更换设备操作。 |
500 | 系统错误 | 系统内部错误,请反馈工程师排查。 |
说明:
响应报文 code 字段返回 200 时计一次费。
resultCode说明
resultCode | msg | 描述 |
200 | 认证通过 | 调用成功。 |
201 | 活体检测不通过 | 实人认证产品,活体检测不通过时会返回此状态码。 |
202 | 姓名、身份证和人脸不一致 | 可能是用户的信息有误或用户的信息为假信息,建议用户确认后重新操作。 |
203 | 查询不到身份信息 | 可能是用户户口迁移等特殊状态导致,建议预留人工审核入口,进行人工审核。 |
204 | 业务策略限制,风控系统判定该笔认证安全等级为高危风险。 | 为了保证认证的安全性,系统风险决策引擎会对认证的设备、人脸、行为等环境进行安全检测。 |
出参示例
{
"msg": "success",
"code": "200",
"data": {
"passed": "T",
"resultCode": "200",
"bestImgUrl": "略",
"certName": "略",
"certNo": "略"
}
} |
获取实人认证结果
全局接入地址:https://esdrp.market.alicloudapi.com/getResult(IPv4)
请求方法:POST
传输协议:HTTPS
Content-Type: application/x-www-form-urlencoded
接口说明:当用户完成前端活体检测后,可以在服务端通过该接口获取活体检测结果。
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
token | String | 是 | 认证token | 略 |
返回数据
该接口作为补充,用户可以自行选择是否调用。接口返回的数据内容和上文《执行活体检测》一致。
客户端SDK集成
根据不同平台系统,具体操作步骤,请参见:
Q&&A
SDK采集的照片尺寸说明
- 默认尺寸:640×480
- 特殊情况:部分机型不支持上述默认分辨率,SDK 将自动适配该机型支持的其他分辨率(具体尺寸不固定,以机型实际能力为准)。
联系方式
商务手机:13728636697
商务微信:13728636697
商务钉钉:eshunda
商务邮箱:eshundaface@163.com
商务QQ:1394734377
技术支持:
/image11.png)