Integración ultra simple de detección de integridad del sistema Huawei, protección de seguridad completa del equipo

En dispositivos inseguros, como teléfonos móviles rooteados o desbloqueados, la ejecución de aplicaciones suele ir acompañada de ciertos riesgos de seguridad, como virus maliciosos o software *** que utiliza privilegios de root para implantar virus, manipular la información del dispositivo del usuario y destruir el sistema. Por tanto, cómo hacer un buen trabajo en la protección de la seguridad de las aplicaciones y evitar los riesgos de seguridad en el entorno de los dispositivos inseguros se ha convertido en un factor que sus desarrolladores deben considerar. En este sentido , Huawei ha abierto servicios de pruebas de seguridad, proporcionando pruebas de integridad del sistema (API SysIntegrity), que pueden detectar si el entorno del dispositivo donde se ejecuta la aplicación es seguro, como si el dispositivo está rooteado o desbloqueado.

1. Introducción al servicio

La inspección de la integridad del sistema de Huawei incluye las siguientes características:

  1. Basado en el entorno de ejecución confiable TEE, se proporciona el resultado de detección de integridad del sistema: cuando el dispositivo se inicia de forma segura, la integridad del sistema se evalúa en el TEE, con alta credibilidad, y la integridad del sistema se evalúa dinámicamente.

  2. El resultado de la prueba de integridad del sistema es seguro y confiable: el resultado de la prueba de integridad del sistema está firmado por un certificado digital y el resultado de la prueba no se puede alterar.

Su diagrama de flujo comercial se muestra a continuación:

Inserte la descripción de la imagen aquí

(1) Su aplicación integra HMS Core SDK para llamar al servicio Safety Detect.

(2) Solicitar servidor TSMS (Trusted Security Management Service) servidor de resultados de detección de firmas.

(3) Su aplicación solicita sus propios resultados de prueba de servicio.

---- Fin

Dos, introducción al caso de la escena

En la actualidad, existen aplicaciones en muchos campos, como finanzas, entretenimiento, vida conveniente, lectura de noticias, etc., que integran la detección de integridad del sistema Huawei:

Las aplicaciones financieras integran Huawei SysIntegrity, que puede mejorar efectivamente la seguridad de las transacciones. Por ejemplo, cuando el usuario ingresa un código de seguridad de la tarjeta de crédito (CVC), puede confirmar si el entorno del sistema del teléfono móvil es seguro. Si el dispositivo móvil no pasa la verificación y verificación de la integridad del sistema, no se permite que la aplicación se use para proteger la seguridad de la transacción:

Inserte la descripción de la imagen aquí

Las aplicaciones de lectura de vida y noticias, integradas con SysIntegrity, pueden prevenir de manera efectiva ****** y garantizar la seguridad del pago en la aplicación y otras actividades:

Inserte la descripción de la imagen aquí

Las aplicaciones de entretenimiento de video integran SysIntegrity, que puede ayudar a proteger los derechos de autor del contenido; cuando los usuarios se registran, miran y descargan videos de reproducción sin conexión, pueden garantizar que los usuarios completen la transmisión y la reproducción de video en dispositivos aprobados por el proveedor de contenido:

Inserte la descripción de la imagen aquí

Tres, desarrollar código

1 Configure la información relacionada en AppGallery Connect

Antes de desarrollar una aplicación, debe configurar la información relevante en AppGallery Connect.

Pasos específicos:https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides-V5/config-agc-0000001050416303-V5

2 Configure la dirección del almacén de Maven del HMS Core SDK

2.1 Abra el archivo "build.gradle" de nivel de proyecto de Android Studio

Inserte la descripción de la imagen aquí

2.2 Agregue el complemento HUAWEI agcp y la base de código Maven
  • Configure la dirección del repositorio de Maven del HMS Core SDK en todos los proyectos-> repositorios.
1.  allprojects {  
2.      repositories {  
3.          google()  
4.          jcenter()  
5.          maven {url 'https://developer.huawei.com/repo/'}  
6.      }  
7.   }    
  • Configure la dirección del repositorio de Maven del HMS Core SDK en buildscript-> repositories.
1.  buildscript {  
2.     repositories {  
3.         google()  
4.         jcenter()  
5.         maven {url 'https://developer.huawei.com/repo/'}  
6.     }  
7.  }  
  • Agregue la configuración en buildscript -> dependencias.
1.  buildscript{  
2.      dependencies {  
3.           classpath 'com.huawei.agconnect:agcp:1.3.1.300'  
4.     }  
5.   }  

3 Cree SafetyDetectClient y genere valor nonce

1.  // 创建SafetyDetectClient  
2.  SafetyDetectClient mClient = SafetyDetect.getClient(MainActivity.this);  
3.  // 生成 nonce值  
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 Cree un monitor de resultados de prueba

1.  // 实现OnSuccessListener接口,并从 onSuccess获取检测结果  
2.  protected class SysIntegrityOnSuccessListener implements OnSuccessListener<SysIntegrityResp> {  
3.    
4.      // 获取系统完整性检测结果 
5.      @Override  
6.      public void onSuccess(SysIntegrityResp sysIntegrityResp) {  
7.    
8.      }  
9.    
10 }  
11. // 实现OnFailureListener接口,并从 onFailure异常详情  
12. protected class SysIntegrityOnFailureListener implements OnFailureListener {  
13.     // 获取异常错误码已经异常详情  
14.     @Override  
15.     public void onFailure(Exception e) {  
16.   
17.     }  
18. } 

5 Comprobación de la integridad del sistema de llamadas

1.  // 调用系统完整性检测接口,********传入appid  
2.  Task task = mClient.sysIntegrity(nonce,"********");  
3.  task.addOnSuccessListener(new SysIntegrityOnSuccessListener()).addOnFailureListener(new SysIntegrityOnFailureListener());  

6 Verificación de resultados

Puede consultar el sitio web oficial de Developer Alliance para conocer los resultados de la prueba de integridad del sistema de verificación en el servidor.

Si está interesado en la implementación, puede consultar el enlace fuente de Github:https://github.com/HMS-Core/hms-safetydetect-demo-android

Para obtener pautas de desarrollo más detalladas, consulte el sitio web oficial de Huawei Developer Alliance:

Alianza de desarrolladores de Huawei:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/dysintegritydevelopment-0000001050156331

Obtenga documentos de orientación de desarrollo:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/introduction-0000001050156325ha_source=hms1

Para descargar la demostración y el código de muestra, vaya a Github:https://github.com/HMS-Core

Para resolver problemas de integración, vaya a Stack Overflow:

https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


Enlace original:
https://developer.huawei.com/consumer/cn/forum/topic/0201393882637910006?fid=18
Autor: come cualquier cosa por la noche

Supongo que te gusta

Origin blog.51cto.com/14772288/2546818
Recomendado
Clasificación