Comprende los conceptos clave de Tink

Cuando comienzas a trabajar con Tink por primera vez, hay algunos conceptos clave que debes comprender antes de iniciar tu recorrido. Estos se describen en las siguientes secciones.

Primitivos

Tink usa primitivas como componentes básicos criptográficos que administran un algoritmo subyacente para que los usuarios puedan realizar tareas criptográficas de forma segura. Una primitiva define los detalles de un algoritmo criptográfico y el tipo de clave.

Tipos de claves

Un tipo de clave implementa un elemento primitivo específico. La mayoría de los elementos primitivos tienen varios tipos de claves para elegir según tus requisitos de seguridad, tiempo de ejecución y espacio. Por ejemplo, AES128_GCM es un AEAD que es rápido y eficaz para la mayoría de las necesidades. Obtén más información en Tipos de claves compatibles por idioma.

Juegos de llaves y manijas para juegos de llaves

Tink usa conjuntos de claves para administrar claves. Un conjunto de claves es, básicamente, un conjunto de claves que facilitan la rotación de claves. Las propiedades destacadas de un conjunto de claves son las siguientes:

  • Cada clave de un conjunto de claves tiene un ID único, que es único dentro del conjunto de claves. Por lo general, este ID se agrega como prefijo a cada texto cifrado, firma o etiqueta producidos para indicar qué clave se usó (consulta cómo Tink etiqueta los textos cifrados para obtener más información).
  • Solo una clave a la vez en un conjunto de claves es primaria. Una clave principal en un conjunto de claves es la clave "en uso" en el momento.
  • Todas las claves de un conjunto de claves deben ser implementaciones del mismo primitivo (como AEAD), pero pueden tener diferentes tipos de claves (por ejemplo, una clave AES-GCM y XCHACHA20-POLY1305).

Cada implementación de Tink proporciona APIs para crear o editar conjuntos de claves. Sin embargo, te recomendamos que uses Tinkey, nuestra herramienta de CLI.

Los usuarios operan sobre un conjunto de claves con identificadores de conjunto de claves. Un identificador de conjunto de claves limita la exposición del material de la clave sensible real. También abstrae un conjunto de claves, lo que permite a los usuarios obtener una primitiva que "encapsula" todo el conjunto de claves. Por ejemplo, puedes obtener una primitiva AEAD de un conjunto de claves con claves N. La encriptación y la desencriptación con la primitiva obtenida usan la clave principal del conjunto de claves.

Para obtener más información, consulta diseño de conjunto de claves.