Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: patilanz en 12 Febrero 2018, 02:33 am



Título: comprobar token sin conocer la clave
Publicado por: patilanz en 12 Febrero 2018, 02:33 am
Buenas,
necesito poder firmar un token con una clave privada pero luego comprobarlo con otra clave.

Pensé en clave privada y publica, pero es la publica que cifra y la privada que descifra, y con la privada se puede obtener la publica así que no me sirve.

Un saludo


Título: Re: comprobar token sin conocer la clave
Publicado por: engel lex en 12 Febrero 2018, 02:40 am
Buenas,
necesito poder firmar un token con una clave privada pero luego comprobarlo con otra clave.

Pensé en clave privada y publica, pero es la publica que cifra y la privada que descifra, y con la privada se puede obtener la publica así que no me sirve.

Un saludo

esa es la teoría de la firma digital y es segura... si quieres firmarlo para eso sirve... cifrarlo es un lio diferente


Título: Re: comprobar token sin conocer la clave
Publicado por: patilanz en 12 Febrero 2018, 18:29 pm
Tengo 3 programas A,B y C

A genera el token y se lo pasa al B
B se lo pasa a C sin comprobar nada
C comprueba si el token ha sido emitido por A

A puede crear y comprobar tokens
C solo puede comprobarlos

El token no hace falta cifrarlo pero si validarlo
Se puede hacer mediante un certificado digital autofirmado que no esté conectado con ninguna organización?

Un saludo


Título: Re: comprobar token sin conocer la clave
Publicado por: engel lex en 12 Febrero 2018, 19:01 pm
si,  de eso va todo el asunto, C debe conocer la clave publica de A y listo... tambien puedes hacer tipo rsa y con la clave publica de ambos y la clave privada tuya


Título: Re: comprobar token sin conocer la clave
Publicado por: patilanz en 13 Febrero 2018, 00:32 am
si,  de eso va todo el asunto, C debe conocer la clave publica de A y listo... tambien puedes hacer tipo rsa y con la clave publica de ambos y la clave privada tuya

Me lo puedes aclarar un poco mas ?

Usando esto:
Citar
# Create the CA Key and Certificate for signing Client Certs
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt

# Create the Server Key, CSR, and Certificate
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr

# We're self signing our own server cert here.  This is a no-no in production.
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

# Create the Client Key and CSR
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr

# Sign the client certificate with our CA cert.  Unlike signing our own server cert, this is what we want to do.
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

http://blog.nategood.com/client-side-certificate-authentication-in-ngi

Que parte a que programa(A,B o C) se corresponde? Que certificado sirve como token y como compruebo su origen? No lo tengo muy claro

Muchas gracias


Título: Re: comprobar token sin conocer la clave
Publicado por: engel lex en 13 Febrero 2018, 00:53 am
https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html (https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html)

si es por comandos allí la info...



Título: Re: comprobar token sin conocer la clave
Publicado por: patilanz en 13 Febrero 2018, 14:58 pm
https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html (https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html)

si es por comandos allí la info...

Ya funciona, firmo un archivo con clave privada y la compruebo con la publica, el archivo contiene los datos del token. Me puedes dar consejos de seguridad como por ejemplo en los hash el uso del salt y el hmac.

Un saludo


Título: Re: comprobar token sin conocer la clave
Publicado por: engel lex en 13 Febrero 2018, 17:42 pm
hmac ya es un sistema de "autofirmado" simetrico con un clave y contraseña, ya con el firmado que tienes, debe ser bastante, aunque si quieres asegurar, puedes usarlo, pero sería mejor transferir sobre ssl