资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

iOS

本文档针对已接入线上增强级采集SDK、需升级到安全版本的客户提供升级指导。

安全增强级采集SDK是目前线上增强级采集SDK的安全加固版本,针对ROM注入、相机劫持、视频流替换等攻击方式进行安全升级,符合国家网信办安全标准,安全升级点如下:

  • 代码保护: 保护人脸识别过程中,图像数据不被Hook替换
  • 图像保护: 对图像本身增加多重加密及签名验证
  • 网络保护:增强⻛险网络环境检测能力,避免中间人攻击
  • 逻辑保护:避免人脸识别业务流程逻辑被攻击
  • ⻛险环境扫描:提升Root检测、重打包、云手机、生物探针等设备⻛险检测能力

升级方式请参考以下步骤

1、将 IDLFaceSDK.framework 从索引中删除,如下图所示,选择moveToTrash;

image.png

2、将安全增强级SDK的 FaceSSDKLib 头文件文件夹和libFaceSSDKLib.a 拖入刚才的BDFaceSDK文件夹索引中,如下图所示:

image.png

3、添加依赖库 libz.tbd 和 libc++.tbd ,如下图所示:

image.png

4、在工程中全局搜索#import "IDLFaceSDK"或#import<<IDLFaceSDK,并将引入字符串全部替换为#import "SSFaceSDK.h",如下图所示:

image.png

5、将所有 IDLFace 开头的类,替换为 SSFace 开头

安全增强级SDK将所有的类名称做了修改,原类名以IDLFace开头,安全增强级为做区分改为以SSFace开头,如原类名 [IDLFaceDetectionManager sharedInstance] 替换为 [SSFaceDetectionManager sharedInstance]

部分接口没有了,注释掉即可,如:

[[IDLFaceDetectionManager sharedInstance] startInitial];

[[IDLFaceDetectionManager sharedInstance] reset];

6、重要差异总结

(1) idl-key.face-ios 文件不一致了,需要重新改文件;

(2) 回调差异:原SDK中, - (void)faceProcesss:(UIImage *)image 为识别离线采集识别完成的回调函数,包括了识别中途的各种姿态错误的回调和最终采集是否成功的回调,但是新的SDK中,该方法的逻辑分成了两个回调

一个是活体检测状态的回调函数 - (void)livenessActionDidFinishWithCode:(LivenessRemindCode)code; 一个是人脸流程回调函数 - (void)faceSessionCompletionWithStatus:(BDFaceCompletionStatus)status result:(NSDictionary *)result;

因为差异比较大,这里只对容易出错的 BDFaceCompletionStatus 的状态问题作出解释:

BDFaceCompletionStatusSuccess = 1,
 
BDFaceCompletionStatusNoRisk = 2, 

BDFaceCompletionStatusImagesSuccess = 3,

上面三个,都是采集流程正常的回调,BDFaceCompletionStatusNoRisk 表示设备没有风险;BDFaceCompletionStatusSuccess 代表着整个流程的走通,表示人脸离线检测和最终人证核验流程的结束;BDFaceCompletionStatusImagesSuccess代表了动作采集流程完成,但最终的人证核验检测还没有跑完。

(3) 在调用如下函数进行人脸识别之前,需先调用 initCollect 方法进行安全增强级SDK的初始化。 [[SSFaceSDKManager sharedInstance] livenesswithList:livenessArray order:order numberOfLiveness:numberOfLiveness];

(4)clientId和clientSecret分别对应的未升级版本中的face_api_key 和face_secret_key,仅更改名称

其余问题可参考 安全加固采集SDK接入文档

上一篇
Android
下一篇
安全加固采集SDK接入文档