Si eres un desarrollador que implementa notificaciones push en tu aplicación y a ti o a tus usuarios les preocupa la privacidad de los datos, entonces es importante que transmitas estos mensajes push de forma segura. Para aquellos de ustedes que ya están en la seguridad de los datos, entonces implementar medidas de cifrado fuertes es una obviedad. Para otros, es una característica difícil de implementar. Firebase Cloud Messaging (FCM) de Google envía mensajes a través de TLS para que puedas enviar tus mensajes de forma segura a través de los servidores de Google, pero al hacerlo no estás cumpliendo con el estándar de oro que es el cifrado de extremo a extremo. Sin el cifrado de extremo a extremo, un tercero teórico podría comprometer los datos; con él, solo el dispositivo del usuario final puede descifrar los datos. Implementar el cifrado E2E puede ser difícil para los nuevos desarrolladores, por eso Google está presentando Project Capillary. Esuna biblioteca de código abiertoque facilita la implementación del cifrado E2E entre los servidores de los desarrolladores y los dispositivos de los clientes.

Con la biblioteca Capillary, el primer paso lo realiza el dispositivo cliente: generar un par de claves. Luego, la clave pública debe registrarse en el servidor del desarrollador. El servidor del desarrollador enviará notificaciones push cifradas con la clave pública a través de un servicio de mensajería push como FCM. Luego, el servicio envía ese mensaje al cliente, que descifra el mensaje utilizando la clave privada.

Capillary es compatible con versiones anteriores de API nivel 19, por lo que se puede utilizar en cualquier dispositivo que ejecute Android KitKat o posterior. La biblioteca también incluye algunas medidas de protección de integridad para evitar la modificación de mensajes y tiene en cuenta las medidas de restablecimiento del dispositivo. Capillary NO está diseñado para implementar cifrado E2E entre dos dispositivos. ¡Esto no te ayudará a crear una aplicación de mensajería segura!

Consulta la biblioteca de código abierto Capillary en el siguiente enlace. Ten en cuenta que, según la arquitectura de tu servidor, es posible que debas realizar algunas adaptaciones manuales. Es un placer que Google facilite la vida a los desarrolladores proporcionándoles las herramientas y bibliotecas necesarias.

Consulta la biblioteca del Proyecto Capillary en GitHub


Fuente: Blog de desarrolladores de Android