当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- ABBYY FineReader 15新增编辑页面布局功能
- [operation and maintenance thinking] how to do a good job in cloud operation and maintenance services?
- 函数计算进阶-IP查询工具开发
- 【分享】接口测试如何在post请求中传递文件
- Solve the problem that the page does not refresh after the wechat applet uses switchtab to jump
- 使用基于GAN的过采样技术提高非平衡COVID-19死亡率预测的模型准确性
- Configure static IP address in ubuntu18.04 NAT mode -2020.11.09
- 用会声会影替换视频背景原来这么简单
- 腾讯云AMD云服务器怎么样好不好?
- 自己实现printf函数
猜你喜欢

自定义室内地图在线工具

Data consistency of cache

标梵互动解说小程序开发该如何选择?

数据库执行truncate table CM_CHECK_ITEM_HIS怎么恢复

高性能库DPDK精简理解

Full stack technology experience tells you: how much does it cost to develop a mall small program?

In depth analysis of the multi-user shopping mall system from search to create a profit point

Solve the problem that the page does not refresh after the wechat applet uses switchtab to jump

超简单集成华为系统完整性检测,搞定设备安全防护

Set two ways of background image, and solve the mobile phone background image highly adaptive problem
随机推荐
解决微信小程序使用switchTab跳转后页面不刷新的问题
单链表反转
标梵互动解说小程序开发该如何选择?
全栈技术实践经历告诉你:开发一个商城小程序要多少钱?
Mit6.824 distributed system course translation & learning notes (3) GFS
Introduction to zero base little white Python
Gesture switch background, let live with goods more immersive
Centos7下基于Pseudo-Distributed的Hadoop环境搭建
用微信表情翻译表白,程序员的小浪漫,赶紧Get起来!
数据库执行truncate table CM_CHECK_ITEM_HIS怎么恢复
Solution to the failure of closing windows in Chrome browser JS
Exhibition cloud technology interpretation | in the face of emergencies, how does app do a good job in crash analysis and performance monitoring?
轻松构建高颜值应用界面,这些内置图标多重要!
CentOS查看CPU核心数及cpuinfo解析
It's so easy to replace the video background with the sound and shadow
[operation and maintenance thinking] how to do a good job in cloud operation and maintenance services?
浮点数之间的等值判断
同事笔记-小程序入坑点
Looking for a small immutable dictionary with better performance
我在传统行业做数字化转型(1)预告篇