当前位置:网站首页>Ultra simple integration of Huawei system integrity testing, complete equipment security protection
Ultra simple integration of Huawei system integrity testing, complete equipment security protection
2020-11-09 16:56:00 【Huawei Developer Forum】
In unsafe devices , If root Or unlock the phone , Running an application is usually accompanied by a certain security risk , For example, it is used by malicious virus or Trojan software root Permission to implant virus 、 Tamper with user equipment information and destroy the system . therefore , How to do a good job in the application of security protection 、 Avoid safety risks in the environment of unsafe equipment , Has become a factor that developers must consider . Regarding this , Huawei opens security detection service , Provide system integrity check (SysIntegrity API), It can be used to detect whether the equipment environment in which the application is running is safe , If the device is root、 Being unlocked, etc .
One 、 The service is introduced
Huawei system integrity testing includes the following features :
- Based on trusted execution environment TEE Provide system integrity test results : When the device starts safely , stay TEE To evaluate the integrity of the detection system , High credibility , And dynamically evaluate the integrity of the system .
- The system integrity test results are safe and reliable : The system integrity test results are signed by digital certificate , The test results cannot be tampered with .
The business flow chart is shown in the figure below :

(1). Your application integration HMS Core SDK call Safety Detect service. (2). request TSMS(Trusted Security Management Service) Server signature detection results Server. (3). Your app requests its own service test results . ---- end
Two 、 Scene case introduction
Now there is finance 、 entertainment 、 Convenient life 、 News reading and many other fields App Integrated with Huawei system integrity detection : Financial application integration Huawei SysIntegrity, It can effectively improve transaction security . for example , You can enter the credit card security code in the user (CVC) when , Make sure the system environment of the mobile phone is safe . If the mobile phone device fails to pass the system integrity test verification , You are not allowed to use the app , In order to protect the transaction security :


life 、 News reading class application , Integrate SysIntegrity Can effectively prevent hacker attacks , Ensure the security of in app payment and other activities :

Video entertainment application integration SysIntegrity, Can help protect content copyright ; When a user registers 、 When watching and downloading offline video , You can ensure that users are on content provider approved devices , Complete streaming and video playback :

3、 ... and 、 Developing code
1 stay AppGallery Connect Configuration information in
Before developing applications , Need to be in AppGallery Connect Configuration information in . Specific operation steps :https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/config-agc-0000001050416303-V5
2 To configure HMS Core SDK Of Maven Warehouse address
2.1 open Android Studio Project level “build.gradle" file

2.2 add to HUAWEI agcp Plugins and Maven The code base stay allprojects-> repositories It's equipped with HMS Core SDK Of Maven Warehouse address .
1. allprojects {
2. repositories {
3. google()
4. jcenter()
5. maven {url 'https://developer.huawei.com/repo/'}
6. }
7. }
stay buildscript->repositories It's equipped with HMS Core SDK Of Maven Warehouse address .
1. buildscript {
2. repositories {
3. google()
4. jcenter()
5. maven {url 'https://developer.huawei.com/repo/'}
6. }
7. }
stay buildscript ->dependencies Add configuration to it .
1. buildscript{
2. dependencies {
3. classpath 'com.huawei.agconnect:agcp:1.3.1.300'
4. }
5. }
3 establish SafetyDetectClient And generate nonce value
1. // establish SafetyDetectClient
2. SafetyDetectClient mClient = SafetyDetect.getClient(MainActivity.this);
3. // Generate nonce value
4. byte[] nonce = new byte[24];
5. try {
6. SecureRandom random;
7. if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
8. random = SecureRandom.getInstanceStrong();
9. } else {
10. random = SecureRandom.getInstance("SHA1PRNG");
11. }
12. random.nextBytes(nonce);
13. } catch (NoSuchAlgorithmException e) {
14. Log.e(TAG, e.getMessage());
15. }
4 Create a test result monitor
1. // Realization OnSuccessListener Interface , And from onSuccess Get test results
2. protected class SysIntegrityOnSuccessListener implements OnSuccessListener<SysIntegrityResp> {
3.
4. // Get system integrity test results
5. @Override
6. public void onSuccess(SysIntegrityResp sysIntegrityResp) {
7.
8. }
9.
10. }
11. // Realization OnFailureListener Interface , And from onFailure Exception details
12. protected class SysIntegrityOnFailureListener implements OnFailureListener {
13. // Get exception error code, exception details
14. @Override
15. public void onFailure(Exception e) {
16.
17. }
18. }
5 Call system integrity check
1. // Call the system integrity detection interface ,******** Pass in appid
2. Task task = mClient.sysIntegrity(nonce,"********");
3. task.addOnSuccessListener(new SysIntegrityOnSuccessListener()).addOnFailureListener(new SysIntegrityOnFailureListener());
6 The results verify that
Server to verify the integrity of the system detection results can refer to the developer alliance official website .
DEMO demonstration

If you're interested in implementation , You can refer to Github Source link :https://github.com/HMS-Core/hms-safetydetect-demo-android
More detailed development guidelines , Please refer to the official website of Huawei developer alliance : Huawei developer Alliance :https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dysintegritydevelopment-0000001050156331
Get development guidance document : https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050156325ha_source=hms1
download demo And sample code go to Github:https://github.com/HMS-Core
To solve the integration problem, please go to Stack Overflow: https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest
Link to the original text :https://developer.huawei.com/consumer/cn/forum/topic/0201393882637910006?fid=18
The original author : Eat anything at night
版权声明
本文为[Huawei Developer Forum]所创,转载请带上原文链接,感谢
边栏推荐
- Source code analysis of serilog -- implementation of sink
- SEO solution development, how to break away from the shadow of the bow?
- QML Repeater
- 手势切换背景,让直播带货更加身临其境
- 校准服务的六个轴心
- 同事笔记-小程序入坑点
- 【运维思考】如何做好云上运维服务?
- 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.11
- 第三阶段 Day16 用户模块跳转 SSO单点登录 JSONP/cors跨域方式 用户登录校检
- 零基础小白python入门——深入Python中的文件操作
猜你喜欢

Introduction to zero base little white Python

5分钟GET我使用Github 5 年总结的这些骚操作!

Which industries are suitable for enterprises to develop wechat applet?

轻松构建高颜值应用界面,这些内置图标多重要!

Solution to the failure of closing windows in Chrome browser JS

How to choose the development of Biao fan interactive interpretation program?

设置背景图片的两种方式,并解决手机端背景图片高度自适应问题

Ultra simple integration of Huawei system integrity testing, complete equipment security protection

How to implement a simple student management system with C + +

会展云技术解读 | 面对突发事故,APP 如何做好崩溃分析与性能监控?
随机推荐
It's so easy to replace the video background with the sound and shadow
【运维思考】如何做好云上运维服务?
Ubuntu18.04 NAT模式下配置静态IP地址 -2020.11.09
On agile development concept and iterative development scheme
Implement printf function by yourself
零基础小白python入门——深入Python中的文件操作
SEO solution development, how to break away from the shadow of the bow?
深入分析商淘多用户商城系统如何从搜索着手打造盈利点
校准服务的六个轴心
Solution to the failure of closing windows in Chrome browser JS
Share tips on editing letters and mathematical formulas with MathType
菜鸟福音,28本书籍循序渐进让你成为大牛!(附学习大纲一份)
缓存的数据一致性
设置背景图片的两种方式,并解决手机端背景图片高度自适应问题
Equivalent judgment between floating point numbers
用会声会影替换视频背景原来这么简单
程序模拟感知机算法(梯度下降法、sklearn.linear_model中perception方法)
js对象数组去重
同事笔记-小程序入坑点
轻松构建高颜值应用界面,这些内置图标多重要!