Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Tink: Una nueva biblioteca de programación para hacer seguro tu código

Google ha liberado una biblioteca de criptografía multiplataforma llamada Tink. La idea es que el software sea más difícil de corromper y por ende, más seguro.

Tink es una biblioteca de código abierto, construido sobre bibliotecas ya existentes como BoringSSL y JCA (Java Cryptographic Architecture). Sin embargo, los desarrolladores han mejorado los algoritmos para tratar los problemas hallados por los programadores de Google que trabajan en el proyecto Wycheproof, el cual es un sistema para probar las bibliotecas criptográficas contra ataques conocidos. Fue desarrollado por miembros del equipo de seguridad de Google pero no es un producto oficial de la empresa. Wycheproof provee pruebas paras la mayoría de los algoritmos criptográficos, incluyendo RSA, cripto curvas elípticas y encripción autentificada. En breve: los desarrolladores han trabajado en esta biblioteca, Tink, para ayudar a los programadores a evitar los problemas de seguridad potenciales de su código.

Esta es la nueva función de WhatsApp para Android que vas a amar u odiar

Hay que reconocer que Tink trabaja aislando el API para las operaciones potencialmente peligrosas, haciendo posible a los desarrolladores descubrir y restringir el mal uso de sus sistemas. Un caso simple sería cuando el código es modificado sin autorización a nivel binario, lo cual nos hace hablar de sistemas que podrían tener problemas de seguridad no contemplados originalmente.

Tink soporta las siguientes primitivas:

  • AEAD (Authenticated Encryption with Associated Date)
  • MAC (Message Authentication Codes)
  • Firmas digitales
  • Encripción híbrida

Una primitiva es una interfaz que especifica qué operaciones son ofrecidas por la primitiva per se. Puede tener múltiples implementaciones y el usuario elige qué implementación usará para especificar una llave del tipo correspondiente. La estructura de la llave es un buffer con protocolo que contiene todos los materiales y parámetros necesarios para que la primitiva trabaje.

Pero más allá de las características criptográficas, Tink puede ser usado para la administración de llaves y para el soporte de sistemas de manejo de llaves (key management system – KMS). La versión actual soporta la nube KMS de Google, Amazon KMS y Android Keystore. Se planea ya soporte para Keychain de iOS de Apple.

Tink puede ser usado en Java, C++ y Objective C. El soporte para C#, Go y Javascript/Node se ha planeado para la siguiente versión.

Comentarios