SSLv3 | TLSv1 | |||||||||||
Errores de Alerta | Durante la ejecución del HandShake
Protocol, el servidor deberà esperar por la respuesta
del cliente. Si el servidor ha enviado un mensaje de
requirimiento de certificado, el cliente debe enviar en
su lugar el mensaje certificado o un alerta
no_certificate, la cual se describe como sigue: no_certificate: Un mensaje de alerta no_certificate puede ser enviado en respuesta al requerimiento de certificado si no es apropiado el certificado disponible. |
Una vez que el server ha enviado un mensaje de pedido de certificado el cliente deberà enviar el mensaje certificado | ||||||||||
En la computación criptográfica, se calcula distinto el master secret | Antes de una encriptación o
verificación de integridad sobre los registros, el
cliente y el servidor necesitan generar información
secreta compartida conocida sólo por ellos. Este valor
de 48 bytes es llamado master_secret y es usado para
generar claves y secretos para la encriptación y
computación del MAC. Algunos algoritmos como por ejemplo
FORTEZZA, tienen sus propios procedimientos para generar
las claves de encriptación, así el master_secret es
usado sólo para la computación del MAC. El master_secret es calculado como :
Además, en SSL, el key_block se genera de la siguiente manera:
|
Se utiliza la función PRF para generar
el master_secret:
Recordemos que la función PRF se obtiene como:
Además, en TLS al generar el key_block se utiliza la función PRF como se muestra a continuación:
|
||||||||||
Algoritmos de Intercambio de Claves | En SSL se tienen como algoritmos de
intercambio de claves RSA,
Diffie Hellman
y Fortezza Kea. A nivel de protocolo, el FORTEZZA es similar al Diffie-Hellman, con valores públicos fijos,contenidos en los certificados. El resultado del proceso de intercambio de claves es el TEK (token encryption key), el cual es utilizado para proteger los datos de las claves encriptadas,la clave de escritura del cliente, la clave de escritura del servidor, y la clave de encriptación del master secret. Las claves de encriptación de datos no derivan del pre_master_secret porque claves no protegidas no son accesibles desde fuera del token. El pre_master_secret encriptado es mandado al server en un mensaje de intercambio de claves por el cliente. |
TLS no soporta el algoritmo de intercambio de claves Fortezza Kea. | ||||||||||
el MAC se calcula diferente | En SSL, en el cálculo del MAC no se ingresa ni el SSLCompressed.ContentType ni el SSLCompressed.ProtocolVersion, por lo tanto estos campos no estan protegidos contra ataques contra la integridad. (ver [8]) | Se protegen también los campos TLSCompressed.ContentType y TLSCompressed.ProtocolVersion, incluyendolos en el cálculo del MAC. |