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 34 Next »

A continuación, describimos los endpoints que contiene cada servicio desarrollado para Token Digital:

Detalle de endpoints

El detalle que se muestra es el camino deseado (happy path) de los endpoints desarrollados.

El código esperado es un 200 + un body, en estos casos

Ejemplo de body - EnableToken (POST /tokens/key):

Body - Request

{

    "deviceId": "15703c1c-352a-11ee-be56-0242ac120002",

    "keyId": "05616256-352a-11ee-be56-0242ac120002",

    "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR9+qdg/HrRLzgkbphCnQpN+NscOEY8vQO/M+/U4erX3ZK9IcV9MulLyY4faIBV2LeJpeUDzemFygjz/e+as6gKjbrJ7jHldl0stpfyUv6Se5iwC2wunevURLjnyk31Af9QtJr5KGsNrtyVzNYis92LGUY64tHEVNoL6DmrD/JJwIDAQAB",

    "publicKeyAlgorithm": "RSA"

}

Body - Response

{

"seed": "PGh9l4M6kfEWQPSAlB2ELD9p1GTMZ/lQSzkBg2n/lhTOsZtNh2lvhoRkCCBnsGuZgjBGPIfHFye3yi/b5YUKl+2CA673Fg66WruKTU58ywk/rZYUKXOku2NI8PliZG9P9/nrgrZ75D5SxsuUv0DIj8A0WfdYu16PLFnH4MGhD6A="

}

Token-service

Gestiona la generación y validación del token digital

EnableToken (POST /tokens/key)

Descripción

Habilita la autenticación de toquen digital basada en TOTP. Internamente el servicio genera y almacena una semilla usando HSM, la vincula al usuario y la retorna al cliente.

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

seed: Semilla generada cifrada con la llave publica suministrada

DisableToken (DELETE /tokens/key)

Descripción

Deshabilita la autenticación de token digital en caso de eliminación de cuenta o deseo del usuario mediante la eliminación del registro asociado al usuario en HSM.

Request

keyId: Clave de consulta de la cuenta

Response

result: Resultado de la operación

RefreshToken (PUT /tokens/key)

Descripción

Actualiza la semilla asociada a la cuenta del usuario generando una nueva y retornándola

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

seed: Semilla generada cifrada con la llave publica suministrada

GenerateToken (GET /tokens/key/totp/)

Descripción

Genera token digital basado en TOTP

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

Response

totp: token generado para ser enviado al cliente

ValidateToken (POST /tokens/key/totp/)

Descripción

Valida token digital generado por el usuario en el tiempo definido para ello, verificando que corresponde a la misma semilla almacenada en HSM.

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

totp: Token generado por el cliente

timeWindow: ventana de tiempo para validar totp

Response

result: Resultado de la operación

VerifyAccount (POST /tokens/account)

Descripción

Verifica que la cuenta asociada a la calve de usuario se encuentre registrada en la base de datos de token digital.

Request

keyId: Clave de consulta de la cuenta

Response

result: Resultado de la operación

VerifyDevice (POST /tokens/device)

Descripción

Valida el dispositivo enviado por el cliente para identificar si está registrado en la base de datos de token digital.

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

Response

result: Resultado de la operación

PALO-37 - Getting issue details... STATUS


Token-activation-service

El servicio de activación genera un token para verificar el dispositivo y lo verifica posteriormente

GenerateActivationKey (GET /activations/activation-keys)

Descripción

Genera el token de activación

Request

keyId: Clave de consulta de la cuenta

Response

activationToken: Token para ser enviado al dispositivo

Enroll (POST /activations/enrollment)

Descripción

Verifica el token de activación y si es válido

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

activationToken: Token para ser enviado al dispositivo

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

seed: Semilla generada cifrada con la llave publica suministrada


HSM-adapter

 Encapsula comportamiento de AWS Cloud HSM

createKey (POST /hsm-adapter/keys)

Descripción

Genera una clave criptográfica usando el módulo HSM, la almacena y la retorna

Request

keyId: Identificador de la clave *

algorithm: Algoritmo a usar para generar calve

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

clientKey: Clave generada cifrada con la llave publica suministrada

serverKey: Clave cifrada en AES256 para ser almacenada en la base de datos

validateTotp (GET /hsm/keys/totp)

Descripción

Verifica si se ha registrado una clave con el identificador suministrado

Request

serverKey: Semilla cifrada en AES256

totp: TOTP a validar

timeWindow: ventana de tiempo para validar TOTP

Response

result: Resultado de la operación

GenerateTotp (POST /hsm/keys/totp/)

Descripción

Genera un TOTP para la semilla suministrada

Request

serverKey: Semilla cifrada en AES256

Response

totp: Time based one time password


Secuencia de servicios

Orden de despliegue

Aunque no hay dependencia entre servicios, es recomendable desplegarlos en el siguiente orden para realizar las pruebas de cada uno:​