主题
人脸识别防攻击活体检测(云之盾)
接口描述
通过API调用验证人脸识别过程是否被攻击,主用于活体检测的防攻击,在有效防范各类人脸活体攻击,如纸张、面具、视频、扣洞和裁剪类面具、高仿真3D面具、头模等的基础上,增加了深伪图分析、图像内容欺诈分析、数据安全分析和多模态分析,可进一步防范视频合成、摄像头劫持、数据劫持等新型攻击.
请求说明
HTTP 方法:
POST
请求 URL:
/ai-cloud-face/antispoof/action
Header如下:
参数名称 | 值 |
---|---|
Content-Type | application/json;charset=UTF-8 |
Body中放置请求参数,参数详情如下:
请求参数:
参数名称 | 必填 | 数据类型 | 长度 | 参数描述 |
---|---|---|---|---|
param | 是 | String | 1-200k | SDK获取的人脸识别安全字符串 |
thresholds | 否 | String | 0-32 | 阈值文件名称 不传则使用默认的medium.txt,非必填 |
deviceType | 否 | String | 0-1 | 设备信息代码 0、未知; 1、android; 2、ios; 3、windows |
filterType | 否 | String | 0-4 | 图片质量过滤掩码(打开多个过滤功能,filterType为各过滤数值相加,如打开口罩、遮挡和墨镜过滤,filterType=2+4+8=14) 2:戴口罩过滤 4:遮挡过滤 8:墨镜过滤 64:质量分过滤 |
busFlowId | 否 | String | 0-64 | 业务流水号,业务系统唯一序列号(对账用,建议传入) |
请求示例:
{
"param":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQ......"
}
返回说明
返回参数:
返回值名称 | 数据类型 | 长度 | 描述 |
---|---|---|---|
code | int | 1-8 | 返回结果,0表示成功 |
message | String | 1-255 | 返回码描述 |
data | Object | - | 返回的数据 |
-code | int | 4 | 防攻击判断结果,详见防攻击码表 |
-image | String | 1-200k | 最佳人脸图片base64 |
-busFlowId | String | 1-64 | 业务流水号,业务系统唯一序列号 |
-flowId | String | 1-64 | 交易流水ID(建议保存) |
-details | Object | - | 反欺诈结果详细json对象 |
--deepfakescore | float | 2,6 | 后端深伪合成分析分数 |
--injectionscore | float | 2,6 | 疑似视频注入分数 |
--devicesecurityscore | float | 2,6 | 设备安全性分数 |
--historycheck | float | 2,6 | 历史相似度 |
--uuid | String | 1-32 | 前端回传UUID |
--timestamp | String | 1-13 | 前端回传最佳人脸时间戳 |
--frontdevice | String | 1-32 | 前端设备类型 |
--frontversion | String | 1-32 | 前端版本号 |
--mode | String | 1-8 | 是否包含光线活体light 包含光线活体 action只有动作活体 |
--actionstagelist | String[] | 0-8 | 动作阶段序列 P准备阶段M代表张嘴、E眨眼、L左转、R右转 C炫彩 |
--actionstageresult | int[] | 0-8 | 动作阶段结果,详见动作阶段码表 |
--actionstageretimecost | int[] | 0-8 | 对应每个阶段的耗时 |
--actionstagetime | int[] | 0-8 | 动作阶段开始时间戳 |
--fingerprint | String[] | 0-8 | 特征向量 |
返回示例:
{
"message": "success",
"code": 0,
"success": true,
"data": {
"image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABALDA4MChAODQ4SERAT...",
"code": 1,
"details": {
"deepfakescore": 0.130599,
"injectionscore": -1.0,
"devicesecurityscore": 0.0,
"historycheck": 0.0,
"uuid": "7t6QHZCwZeuhP0Rrv92LHMdEI5ITha",
"timestamp": "1664246187993",
"actionstagelist": [
"P",
"L",
"E"
],
"actionstageresult": [
1,
1,
1
],
"actionstageretimecost": [
1956,
1960,
894
],
"actionstagetime": [
1664246183141,
1664246185097,
1664246187057
],
"frontdevice": "Android",
"frontversion": "v7.5.0.20220519",
"mode": "action"
}
}
}
防攻击码表:
(注:相同攻击类型不同错误码是为了区分算法模型以便后续算法分析)
攻击码 | 描述 |
---|---|
0 | 无法判断 |
1 | 活体 |
2 | 疑似扣眼攻击 |
3 | 疑似扣嘴攻击 |
4 | 疑似半张脸攻击 |
5 | 疑似视频回放攻击 |
6 | 疑似黑白图片 |
7 | 疑似纸面攻击 |
8 | 疑似边框(包括纸面、手机等边框) |
9 | 疑似摩尔纹攻击 |
10 | 疑似脸优攻击 |
11 | 疑似纸面攻击(光流) |
12 | 疑似面具攻击 |
13 | 疑似证卡攻击 |
14 | 疑似3D面具攻击 |
16 | 动作活体未检测到动作 |
20 | 疑似不满足人行人脸识别图片质量要求 |
21 | 疑似戴口罩/遮挡或者墨镜 |
22 | 疑似未检测到人脸 |
23 | 人脸检测或质量分或活体分模块运行异常 |
30 | 动作活体判定为换人,提示请不要剧烈晃动屏幕 |
31 | 动作活体判定为环境光太暗,提示增加环境光 |
32 | 动作活体判定为环境光太亮,提示降低环境光 |
33 | 动作活体判定没有正对屏幕,提示需要正对屏幕 |
34 | 动作活体判定清晰度不够,提示确保光线自然,无晃动屏幕 |
35 | 动作活体未检测到动作 |
50 | 疑似合成图像攻击 |
51 | 疑似合成图像攻击 |
52 | 判疑似黑产软件攻击 |
53 | 疑似T型面具攻击 |
54 | 疑似黑白照片 |
55 | 疑似模糊图片 |
56 | 疑似深伪图像攻击 |
57 | 疑似深伪图像攻击 |
58 | 疑似高清屏幕攻击 |
59 | 疑似3D面具攻击 |
60 | 光线校验失败 |
61 | 环境光太亮导致光线校验失败 |
62 | 疑似设备存在风险 |
63 | 疑似注入攻击 |
64 | 疑似注入攻击 |
65 | 疑似注入攻击 |
66 | 疑似时间戳间隔小于预设值 |
67 | 疑似篡改攻击 |
68 | 疑似合成攻击 |
69 | 前端没有通过的报文 |
动作阶段码表:
动作码 | 描述 |
---|---|
0 | 等待 |
1 | 通过 |
2 | 人脸太远 |
3 | 人脸太近 |
4 | 人脸角度没有正对屏幕(准备阶段) |
5 | 人脸晃动(准备阶段) |
6 | 人脸太暗(准备阶段) |
7 | 人脸太亮(准备阶段) |
8 | 人脸不在屏幕中间(准备、张嘴、眨眼) |
9 | |
10 | 人脸被遮挡(准备、张嘴、眨眼) |
-7 | 换人攻击 |
-9 | 检测到劫持的可能性 |
-20 | 光线阶段人脸太远 |
-21 | 光线阶段人脸没有正对屏幕 |
-22 | 光线阶段人脸不居中 |
-100 | 动作不一致做出张嘴动作 |
-101 | 动作不一致做出左转动作 |
-102 | 动作不一致做出右转动作 |
是否仍需要帮助? 请保持联络!