comprobar token sin conocer la clave

Iniciado por patilanz, 12 Febrero 2018, 02:33 AM

0 Miembros y 1 Visitante están viendo este tema.

patilanz

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

engel lex

Cita de: 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

esa es la teoría de la firma digital y es segura... si quieres firmarlo para eso sirve... cifrarlo es un lio diferente
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

patilanz

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

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

patilanz

#4
Cita de: 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

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

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

patilanz

Cita de: 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

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

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.