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