Hoja de ruta de Tink

(Última actualización: julio de 2023)

En esta página, se detallan los objetivos de alto nivel del equipo de Tink. Se actualizará periódicamente a medida que se alcancen o cambien los objetivos.

Varios repositorios de GitHub

Dividimos el proyecto en varios repositorios de GitHub, separados por el lenguaje. Esto proporciona los siguientes beneficios:

  • versiones separadas para cada lenguaje (es decir, un problema en C++ no impide, por ejemplo, realizar una versión para Java)
  • lanzamientos más frecuentes
  • un conjunto reducido de dependencias para descargar para cada biblioteca (por ejemplo, SDKs para varios proveedores de servicios en la nube)

Mejoras de la documentación

Estamos haciendo un esfuerzo para mejorar la documentación de Tink. Esto implica consolidar las fuentes de documentación de Tink (hacer que este sitio sea la fuente de confianza de la documentación de Tink), proporcionar ejemplos actualizados y fáciles de seguir y llenar cualquier brecha de documentación que pueda existir. Agradecemos cualquier sugerencia de mejora de la documentación. Usa la encuesta que se encuentra vinculada a continuación o informa un error o envía una solicitud de función como se describe en la página Contibuciones.

Rediseño del conjunto de claves y del registro

Queremos ofrecerles a los usuarios una mejor manera de administrar claves dentro de un conjunto de claves. Esto facilitará la implementación de sistemas de administración de claves y habilitará una compatibilidad más completa para importar y exportar claves a diferentes formatos, como PEM o JWK (a la vez que garantiza que la API evite errores comunes que podrían generar vulnerabilidades de seguridad). Este trabajo está en curso.

También estamos trabajando para permitir varios registros en Tink. Esto facilitará el desarrollo de bibliotecas basadas en Tink, y también facilitará la eliminación y baja de algoritmos no seguros. Obtén más información en la página del Registro.

Asistencia para la supervisión

Agregamos hooks de supervisión a Tink. Los usuarios pueden emplear estos hooks para recopilar y analizar datos no sensibles sobre sus operaciones criptográficas, como qué tipos de claves están en uso o la cantidad de llamadas de encriptación realizadas con una clave específica.

Este tipo de información es útil para garantizar una rotación adecuada de claves o crear una lista de claves que pueden ser vulnerables a las computadoras cuánticas. Proporcionaremos un instructivo sobre cómo usar estos hooks a su debido tiempo.

Criptografía poscuántica (PQC)

Estamos trabajando activamente en implementaciones de bajo nivel de los algoritmos de PQC seleccionados por el NIST. Entre estos, se incluyen mecanismos de encapsulamiento de claves (KEM), específicamente Kyber/ML-KEM, y firmas digitales, como Dilithium/ML-DSA y SPHINCS+/SLH-DSA. Una vez que todo esté listo, proporcionaremos APIs oficiales para estos algoritmos poscuánticos en Tink. Para cualquier persona interesada en comenzar con PQC, Tink ya proporciona algoritmos de PQC experimentales en C++, que abarcan las firmas digitales seleccionadas por el NIST y el KEM de NTRU-HRSS (un candidato del KEM del NIST que, en última instancia, no se seleccionó).

Rendimiento

Tenemos la intención de perfeccionar las mediciones de rendimiento de Tink y proporcionar comparativas de rendimiento adecuadas para nuestros usuarios. También estamos comenzando a investigar posibles mejoras en el rendimiento de Tink.

¡Danos tu opinión!

Nos encantaría saber cómo usas Tink o qué funciones serían más útiles para tu implementación. Responde nuestra encuesta para informarnos al respecto.