Android
更新时间:2021-07-09
本文档针对已接入线上增强级采集SDK、需升级到安全版本的客户提供升级指导。
安全增强级采集SDK是目前线上增强级采集SDK的安全加固版本,针对ROM注入、相机劫持、视频流替换等攻击方式进行安全升级,符合国家网信办安全标准,安全升级点如下:
- 代码保护: 保护人脸识别过程中,图像数据不被Hook替换
- 图像保护: 对图像本身增加多重加密及签名验证
- 网络保护:增强⻛险网络环境检测能力,避免中间人攻击
- 逻辑保护:避免人脸识别业务流程逻辑被攻击
- ⻛险环境扫描:提升Root检测、重打包、云手机、生物探针等设备⻛险检测能力
升级方式请参考以下步骤
1.删除项目的对faceplatform 和faceplatform-ui的依赖
根目录下settings.gradle 文件 删除依赖
Java
1include ':faceplatform-ui'
2include ':faceplatform'
app module 下build.gradle文件注释掉如下依赖,第三步后重新打开
Java
1 compile project(path: ':faceplatform-ui')
重新进行sync操作,如下图所示
2.导入第一步下载安全SDKDemo里面的faceplatform-ui 及 lib-liantian module
点击file ->new ->import module 点击finish
3.打开app module 下build.gradle文件添加如下依赖并重新build
Java
1 compile project(path: ':faceplatform-ui')
此时 setting.gradle包含如下module
Java
1include ':faceplatform-ui'
2include ':lib-liantian'
4.app 目录下AndroidManifest.xml 文件,升级了安全SDK后,将之前的liantian类删除掉,如下都可以删除
XML
1<!--安全设备指纹接入 start-->
2 <activity
3 android:name="com.baidu.liantian.LiantianActivity"
4 android:exported="true"
5 android:theme="@android:style/Theme.Translucent"
6 android:excludeFromRecents="true"
7 android:launchMode="standard">
8 <intent-filter>
9 <action android:name="com.baidu.action.Liantian.VIEW" />
10 <category android:name="com.baidu.category.liantian"/>
11 <category android:name="android.intent.category.DEFAULT"/>
12 </intent-filter>
13 </activity>
14
15 <receiver android:name="com.baidu.liantian.LiantianReceiver" android:exported="false">
16 <intent-filter>
17 <action android:name="com.baidu.action.Liantian.VIEW" />
18 <category android:name="com.baidu.category.liantian"/>
19 <category android:name="android.intent.category.DEFAULT"/>
20 </intent-filter>
21 <intent-filter android:priority="2147483647">
22 <action android:name="android.intent.action.BOOT_COMPLETED"/>
23 </intent-filter>
24 </receiver>
25
26 <!--将com.baidu.idl.face.demo替换成您工程的包名-->
27 <provider android:authorities="com.baidu.idl.face.demo.liantian.ac.provider" android:name="com.baidu.liantian.LiantianProvider" android:exported="true"/>
28
29 <service
30 android:name="com.baidu.liantian.LiantianService"
31 android:exported="false">
32 <intent-filter>
33 <action android:name="com.baidu.action.Liantian.VIEW" />
34 <category android:name="com.baidu.category.liantian"/>
35 <category android:name="android.intent.category.DEFAULT"/>
36 </intent-filter>
37 </service>
5.FaceLivenessExpActivity onLivenessCompletion 接口修改为 onCollectCompletion
6.在Application里初始化 LH安全类,填写自己的apiKey及secretKey
Java
1 public void onCreate() {
2 super.onCreate();
3 LH.setAgreePolicy(getApplicationContext(), true);
4 LH.init(getApplicationContext(), "vis-var-license-face-android",
5 "xYBW9IAzPR6YVy1qsve8SPfc",
6 "ZxA7mMPc9Xvn2S4tRZKbjWSQNun4PSjd");
7
8 }
如有其他问题可参考 安全加固采集SDK接入文档