1. 产品简介

什么是【端云结合】活体检测

【端云结合】活体检测 产品基于计算机视觉、大数据分析和人工智能技术,提供人脸检测活体检测功能,能够有效防御多种呈现式攻击及注入式攻击,为用户和机构提供安全便捷的人脸识别和活体检测服务。

在接入方式上,产品采用高效便捷的设计,仅需向用户提供一个认证 URL,即可完成活体检测流程。

什么是端云结合模式

端云结合模式需要在客户的App或网页中集成活体检测SDK,用户在客户端完成刷脸,并将采集到的人脸图片加密送到服务端完成活体检测,然后向客户返回检测结果以及采集的最佳人脸图片。

  • 通过活体检测判断人脸图像是否为真实人脸,可有效抵御照片修改、面具、遮挡以及屏幕翻拍等常见的攻击手段。
  • 支持多种活体检测模式,包括多动作活体检测、炫彩活体检测等。
  • 支持对活体检测模式进行灵活组合,例如指定多动作活体+炫彩活体的联合检测方式,同时多动作活体中支持自定义动作、个数、顺序。

产品优势

安全等级高

  • 全链路加密:敏感信息加密传输,动态口令一图一密。

  • 全链路风险策略对抗:风险决策引擎对用户设备、运行环境和用户操作行为等特征进行实时监控,及时发现异常情况有效防御恶意操作行为,保障高安全水位。

  • 创新的炫彩检测、动作检测、静默检测等活体检测方法,有效抵御多种攻击手段。 

算法性能强

  • 活体检测算法,速度快、体验好、通过率高。 

  • 人脸识别算法,准确率高、速度快,在比对十万分之一阈值下通过率大于99%。 

灵活易用

  • 可根据客户实际业务需求,快速对解决方案进行定制化开发,满足客户需求。

  • 接入方式全覆盖,支持 Android、IOS、鸿蒙、微信小程序、微信公众号、微信 H5、PC等主流客户端。

  • 服务端兼容多种平台,支持本地化部署,兼容主流 Linux 操作系统和国产信创系统;

应用场景

活体检测产品的主要应用场景如下

远程身份认证

在银行远程开户、保险理赔、转账交易、在线开户、电子政务、交通出行等环节,通过移动端采集人脸信息,判断是否为活体并结合人脸比对产品或权威信息源判断是否是本人,保证交易安全和账户安全,提升远程业务办理效率。

人脸图像采集与检测

在银行、政务等场景中,使用移动端采集用户人脸图像进行留底,并且可以结合产品中的多人脸检测、闭眼检测等能力检查采集的图像是否满足要求,为用户提供人脸采集解决方案。

产品效果图

  1. 产品使用介绍

接入准备

购买H5活体检测产品套餐包(免费试用100次),购买地址

计费方式

接口名

是否计费

计费说明

发起认证请求

不计费

-

查询认证结果

计费

响应报文 code 字段返回 200 时计一次费。

说明:

成功执行一次活体检测,并获取到认证结果,计一次费。

活体检测异常、用户不执行活体检测、用户中断活体检测流程不计费。

活体检测流程

整体交互流程

阶段一

  1. 用户端业务触发核验流程。

  2. 应用方页面 发送请求到 应用方服务器,告知 应用方服务器 需要发起一次核验流程。

  3. 应用方服务器 传入相关参数调用 阿里云网关 发起认证请求 接口,获取 verifyUrl 和 orderNo.(接口文档请参见下文《服务端集成》)。

  4. 应用方服务器 将获取到的 orderNo 进行保存,并将 verifyUrl 下发给 应用方页面

阶段二

  1. 应用方页面 跳转到 verifyUrl,打开 活体检测页面

  2. 用户在 活体检测页面 上根据页面提示进行认证流程。

  3. 认证完成后,应用方服务器 将 orderNo 发送给应用方的 notifyUrl 地址。(可选,notifyUrl 不为空才会发起请求)

  4. 认证完成后,应用方服务器 将认证结果下发给 活体检测页面活体检测页面 会携带 orderNo 请求应用方的returnUrl 地址。

阶段三

  1. 应用方服务器 传入 orderNo 调用 阿里云网关 获取认证结果 接口获取认证结果,进行后续业务流程。

  1. 服务端集成

阿里云API网关调用规则

购买API商品成功后,如何调用API,请阅读《如何使用阿里云API类商品》。

重要 

使用简单认证方式时,建议通过应用方服务器和API网关通信。

因为简单认证方式免去了复杂的签名过程,但是把AppCode作为明文暴露网络中传输,会带来一些安全隐患,请务必重视。

API 文档

发起认证请求

接口名:getVerifyUrl

全局接入地址:livenessh5.eshunda.cn(IPv4)

请求方法:POST

传输协议:HTTPS

Content-Type: application/x-www-form-urlencoded

接口说明:每次开始认证前通过本接口获取 orderId,用来串联认证请求中的各个接口。

请求参数

表格 还在加载中,请等待加载完成后再尝试复制

返回数据

表格 还在加载中,请等待加载完成后再尝试复制

返回code和msg说明

表格 还在加载中,请等待加载完成后再尝试复制

出参示例
{
    "msg": "success",
    "code": "200",
    "data": {
        "orderNo": "202505191116193330KFGGaBmHh9uY5i",
        "verifyUrl": "略"
    }
}
查询认证结果

接口名:getResult

全局接入地址:livenessh5.eshunda.cn(IPv4)

请求方法:POST

传输协议:HTTPS

Content-Type: application/x-www-form-urlencoded

接口说明:当您收到回调通知之后,可以在服务端通过该接口获取认证结果。(服务端会执行后端活体检测和风险检测)。

请求参数

表格 还在加载中,请等待加载完成后再尝试复制

返回数据

表格 还在加载中,请等待加载完成后再尝试复制

返回code和msg说明

表格 还在加载中,请等待加载完成后再尝试复制

特别说明:

响应报文 code 字段返回 200 时计一次费。

resultCode说明

表格 还在加载中,请等待加载完成后再尝试复制

出参示例
{
    "msg": "success",
    "code": "200",
    "data": {
        "passed": "T",
        "resultCode": "200",
        "bestImgUrl": "略"
    }
}

Q&&A

returnUrl推送规则
推送内容

表格 还在加载中,请等待加载完成后再尝试复制

特别说明:

当SDK出现异常时,直接跳转到 returnUrl,不会执行后端认证流程。

参数code返回内容如下:

表格 还在加载中,请等待加载完成后再尝试复制

推送方式
  1. post请求

  2. GET:

    1. window.location.replace

    2. wx.miniProgram.navigateTo

您需要通过在 returnUrl 前添加特定前缀来选择重定向方式,默认使用POST方式。

示例值:

returnUrl = "https://example.com/default" // 默认方式,form表单,post请求

returnUrl = "post:https://example.com/callback" // form表单,post请求

returnUrl = "get:https://example.com/result" // window.location.replace

returnUrl = "miniprogram:https://example.com/page" // wx.miniProgram.navigateTo 

   returnUrl = "miniprogram:/page" // wx.miniProgram.navigateTo 

returnUrl 接收认证结果和验签示例
POST方式
@RequestMapping("/return-demo")
public void returnUrlDemo(@RequestBody String result) {
    JSONObject jsonObject = JSON.parseObject(result);
    String code = jsonObject.getString("code");
    String code = jsonObject.getString("msg");
    String code = jsonObject.getString("logId");
    String code = jsonObject.getString("orderNo");
}
GET方式
@GetMapping("/return-demo")
public void returnUrlDemo(String code, String msg, String logId, String orderNo, Model model, HttpServletRequest request) {
    log.info("code:{}", code);
    log.info("msg:{}", msg);
    log.info("logId:{}", logId);
    log.info("orderNo:{}", orderNo);
}
notifyUrl推送规则
推送内容
推送内容

表格 还在加载中,请等待加载完成后再尝试复制

推送方式

请求方法:POST

Content-Type:application/json;charset=utf-8

请求体格式:JSON字符串

notifyUrl 接收认证结果
@PostMapping ("/notify-demo")
public void notifyUrlDemo(@RequestBody String result) {
   log.info("notify-demo接收到的原始数据: {}", result);
}
兼容性说明

因 Web 实时音视频技术对浏览器和手机系统存在兼容性要求,实时音视频技术的兼容性情况如下:

表格 还在加载中,请等待加载完成后再尝试复制

注意:

由于 H.264 版权限制,华为系统的 Chrome 浏览器和以 Chrome WebView 为内核的浏览器,均不支持实时音视频技术的正常运行。

SDK采集的照片尺寸说明
  • 默认尺寸:640×480

  • 特殊情况:部分机型不支持上述默认分辨率,SDK 将自动适配该机型支持的其他分辨率(具体尺寸不固定,以机型实际能力为准)。

联系方式

商务钉钉:eshunda

商务邮箱:eshundaface@163.com

商务QQ:1394734377

demo地址

https://gitee.com/eshunda/h5-demo

https://github.com/eshunda2012/h5_demo

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐