Seguridad moderna en Android (Parte 6) de Dinorah Tovar | Conoce Android | Octubre de 2020

Una guía rápida de seguridad

Esta publicación está relacionada con mi última entrevista. «Seguridad avanzada para desarrolladores de Android».

Aquí hay una lista de blogs de esta serie:

Seguridad moderna para desarrolladores de Android

Esta es la última parte de la serie y probablemente la parte introductoria de mi segunda serie. «Una red útil para desarrolladores de Android» que estará disponible después de este artículo.
En el mundo móvil, es bien sabido que es posible que necesite varios servicios de red para que su aplicación funcione, generalmente asumimos que nuestros servicios estarán bien si nuestra conexión es https, pero en realidad esto no es del todo cierto, algunas herramientas pueden asegúrese de que su solicitud sea accesible y audible desde Charles o Wireshark.

Transport Layer Security (TLS) es el protocolo sucesor de SSL. TLS es una versión mejorada de SSL. Funciona casi como SSL y el cifrado protege los datos y la información. Los dos términos a menudo se confunden en la industria, aunque SSL todavía se usa ampliamente. Para que su aplicación sea segura, necesita un certificado SSL, generalmente su servidor debe tener una clave privada y una clave pública, su aplicación y su servidor se comunicarán, el servidor utilizará la clave privada del certificado que se firmó de acuerdo con criptografía de clave pública.

El apretón de manos no prueba nada en absoluto, todos pueden crear uno para cualquier sitio web, por lo que necesita una autoridad de certificación.

Una autoridad de certificación es una organización o empresa que se autentica como una identidad, si trabajas para FakeCompany, puedes crearlo como un sitio web, correo electrónico o incluso una persona, este certificado digital es una clave criptográfica, nos da una forma de verificarnos usando algunas credenciales para verificar nosotros y cifrar nuestros datos de comunicación a través de redes inseguras, lo que nos ayudará a garantizar que ningún rastreador pueda cambiar nada durante la transferencia de datos, el certificado creará las dos claves que necesitamos, privada y pública, pero agregará una CSR, que es un archivo que contiene información sobre la autoridad. Podemos tener dos tipos de CSR, uno es CER y PFX

Cuando un certificado está firmado por una autoridad de certificación confiable o verificado por otros medios, alguien que tenga el certificado puede confiar en la clave pública que contiene para establecer una comunicación segura con otras partes o para verificar documentos que hayan sido firmados por esa autoridad.

CER: SSL de uso común para identificar servidores web
PFX: Contiene datos criptográficos de autoridad, cadenas de certificados y claves privadas.

Ambos están protegidos por contraseña criptográficamente para mantener la privacidad de las claves privadas y mantener la integridad del certificado. Simplemente pídale un certificado a su desarrollador de DevOps (si no tiene este tipo de equipo, pregúntele a la persona que está configurando el servidor)

Puede agregar un certificado a su llamada HttpClient de una manera muy simple, hagamos esto:

  1. Puede mantener el certificado en la carpeta Raw si y solo si la contraseña no está almacenada en texto sin formato en el código.
  2. Una vez que haga esto, puede crear una instancia del almacén de claves, recuerde que queremos mantener esto seguro, por lo que este certificado debe ocurrir en un entorno de ejecución confiable, dependiendo del tipo de su certificado que necesita para crear la instancia predeterminada de tipo o PKCS12,
    PKCS12 define un archivo que almacena muchos objetos criptográficos como un solo archivo AKA PFX.
  3. También necesitamos la integración de KeyManagerFactory para X509
    X.509
    es un estándar que define un formato de clave pública que contiene una clave pública y una identidad (nombre de host u organización o individuo) y está firmado por una autoridad de certificación o autofirmado.
  4. Una vez que tengamos esta KeyManagerFactory y nuestro almacén de claves de certificado, podemos crear una instancia SSL con TLS

Dependiendo de lo que use, puede agregar esta integración SSL a su HttpClient, en este ejemplo es OkHttpClient, agregando una línea de fábrica al socket SSL

De esta manera, se asegura de que su apretón de manos sea seguro e inaccesible para terceros y que su transferencia de datos sea segura.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *