Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 6 Next »

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 don de la comunicación interna se hará usando el protocolo gRPC, se propone el uso de Linkerd como mecanismo de autenticación.

Acceso a los servicios

El acceso a los servicios se hará a través del servicio de agregación, que expondrá los métodos mediante gRPC y REST. El clúster deberá estar en la misma VPN de los servicios consumidores.

Algoritmos y librerías utilizadas para la generación, aprovisionamiento y seguridad del token

Para la generación de la semilla, se implementó el paquete Java Security. En este proceso, se recurrió a la clase MessageDigest, que se nutrió del algoritmo SHA-256, permitiendo de esta forma la creación efectiva del digest.

Cuando se trata de almacenar la semilla en CloudHSM, empleamos la clase KeyGenerator. Esta facilita la tarea de cifrar la semilla utilizando el algoritmo AES, lo que nos permite su posterior almacenamiento seguro en CloudHSM.

Cuando se necesita retornar la semilla al cliente, esta se cifra utilizando una llave pública suministrada por el propio cliente. Para este proceso, hacemos uso del algoritmo RSA, lo que fortalece la seguridad y protección de la información del cliente.

Aprobación y consideraciones para subir código a respositorios de SPIN

Otros aspectos por evaluar

  • Necesidad de almacenamiento del token digital

  • Almacenamiento de token de activación

  • Que cifrado de datos sensibles usan y si tienen algún servicio para esto ¿Cuál es? ¿Cómo lo implementan del lado del cliente?

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.