当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Using GaN based oversampling technique to improve the accuracy of model for mortality prediction of unbalanced covid-19
- 揭秘在召唤师峡谷中移动路径选择逻辑?
- 解决微信小程序使用switchTab跳转后页面不刷新的问题
- 浅谈API网关(API Gateway)如何承载API经济生态链
- The selection of wire displacement encoder needs the guidance of precise electronics
- 脑机接口先驱炮轰马斯克:“他走的是一条死胡同,说的话我一个字都不同意”
- From next year, about 30% of the web pages will be inaccessible to older Android devices
- Source code analysis of serilog -- implementation of sink
- 5分钟GET我使用Github 5 年总结的这些骚操作!
- 解析:C++如何实现简单的学生管理系统(源码分享)
猜你喜欢
5 minutes get I use GitHub's 5-year summary of these operations!
5分钟GET我使用Github 5 年总结的这些骚操作!
5分钟GET我使用Github 5 年总结的这些骚操作!
揭秘在召唤师峡谷中移动路径选择逻辑?
用微信表情翻译表白,程序员的小浪漫,赶紧Get起来!
echart 设置柱子之间的间距
5 minutes get I use GitHub's five-year summary of these complaints!
电商/直播速看!双11跑赢李佳琦就看这款单品了!
谷粒商城学习笔记,第五天:ES全文检索
数据库执行truncate table CM_CHECK_ITEM_HIS怎么恢复
随机推荐
设置背景图片的两种方式,并解决手机端背景图片高度自适应问题
Function calculation advanced IP query tool development
知识图谱描边1.1——从NER上手
Kubernetes V1.19.3 kubeadm 部署笔记(中)
Avoid pitfall guide for cloud integration - Android push
Which industries are suitable for enterprises to develop wechat applet?
【分享】接口测试如何在post请求中传递文件
[share] interface tests how to transfer files in post request
EasyExcel根据筛选列导出(中间不空列,顺序可调整)
iOS下带小数点的数字键盘
会展云技术解读 | 面对突发事故,APP 如何做好崩溃分析与性能监控?
自定义室内地图在线工具
Revealing the logic of moving path selection in Summoner Canyon?
On agile development concept and iterative development scheme
Custom indoor map online tool
In the third stage, the day20 Shopping Cart module is added, the interceptor is added, the user authority is checked, and the order module is realized
The basic principle of MRAM
Git + -- Code hosting in the history of version management
5 minutes get I use GitHub's 5-year summary of these operations!
Kubernetes权限管理之RBAC (一)