当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 干货推荐:关于网络安全技术的专业术语,你知道多少?
- Experts' interpretation of four hot industries in 2020 China telecom terminal technology and Standards Forum
- Implement printf function by yourself
- Help enterprises to get rid of difficulties, famous enterprises return home Engineers: success depends on it!
- 缓存的数据一致性
- 详解Git
- 帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!
- 5 minutes get I use GitHub's 5-year summary of these operations!
- 【邀你投票】谁是2020年这些开源大事件背后的关键推动者?
- 如何设计并实现存储QoS?
猜你喜欢
第三阶段 Day16 用户模块跳转 SSO单点登录 JSONP/cors跨域方式 用户登录校检
谷粒商城学习笔记,第五天:ES全文检索
(3)ASP.NET Core3.1 Ocelot认证
How to use Camtasia to make dynamic animation scene?
OpenOCD-JTAG调试
H264Nalu头部解析
Full stack technology experience tells you: how much does it cost to develop a mall small program?
浮点数之间的等值判断
帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!
最新版PyCharm 2020.3 :可实现结对编程,智能文本校对等|附下载体验
随机推荐
Explore cache configuration of Android gradle plug-in
你以为学编程很简单吗,其实它很难!你以为学编程很难吗,其实它很简单!
磁阻式随机存储器MRAM基本原理
树莓派内网穿透建站与维护,使用内网穿透无需服务器
解决微信小程序使用switchTab跳转后页面不刷新的问题
手势切换背景,让直播带货更加身临其境
【邀你投票】谁是2020年这些开源大事件背后的关键推动者?
Service registration and discovery of go micro integration Nacos
Experts' interpretation of four hot industries in 2020 China telecom terminal technology and Standards Forum
The basic principle of MRAM
In the third stage, day16 user module jumps to SSO single sign on jsonp / CORS cross domain user login verification
Kubernetes V1.19.3 kubeadm 部署笔记(中)
How to implement a simple student management system with C + +
EasyExcel根据筛选列导出(中间不空列,顺序可调整)
5分钟GET我使用Github 5 年总结的这些骚操作!
Data consistency of cache
How the API gateway carries the API economic ecological chain
Centos7下基于Pseudo-Distributed的Hadoop环境搭建
How to choose the development of Biao fan interactive interpretation program?
(3)ASP.NET Core3.1 Ocelot认证