Generación del token
El token digital se implementará utilizando el algoritmo TOTP (Time based One-Time Password), que usará una semilla gestionada por AWS Cloud HSM. Para el proceso de generación se tiene en cuenta:
Identificador de acceso de la clave
Se usará el User Id que maneja actualmente Spin. Es un tipo de dato UUID, para su transmisión se usará su valor como cadena de texto y para la generación de tokens su valor como arreglo de bytes con longitud de 128 bits
Clave para generar OTP
La clave o semilla para ser usada por el algoritmo debe tener las siguientes características:
Aleatoriedad: Uso de generador de números aleatorios seguros.
Longitud: 256 bits
Unicidad: (Validar) Garantizar que no haya 2 semillas iguales
Secreto: Confidencialidad durante la generación y transmisión
Almacenamiento seguro: La clave se almacenará y procesará en AWS Cloud HSM
Revocabilidad: Implementación de métodos para refrescar o eliminar la clave.
Algoritmo de cifrado para HMAC
La generación del token digital requiere el uso de HMAC (Hash-based Message Authentication Code), por lo que es necesario hacer uso de un algoritmo para generar el digest. Se considera SHA-256 , y se está evaluando el uso de SHA-512. No se considera SHA3 por no estar disponible en AWS Cloud HSM.
Longitud del token
El token generado será un número de 32 bits, aunque sólo se considerarán los 9 dígitos decimales menos significativos.
Autenticación de servicios
Aún no se definen los mecanismos de autenticación entre servicios, aunque debido a que los servicios se desplegarán en clúster independiente donde la comunicación interna se hará usando el protocolo gRPC, se propone el uso de Linkerd como mecanismo de autenticación.
Otros aspectos por evaluar
Necesidad de almacenamiento del token digital
Almacenamiento de token de activación
0 Comments