开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人脸识别

    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接入文档