martes, 18 de noviembre de 2008

El impresionante funcionamiento de SSL para la encriptación...


Secure Socket Layer (SSL)


El protocolo SSL es un sistema diseñado y propuesto por Netscape Communications Corporation. Se encuentra en la pila OSI entre los niveles de TCP/IP y de los protocolos HTTP, FTP, SMTP, etc. Proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico, típicamente el RC4 o IDEA, y cifrando la clave de sesión de RC4 o IDEA mediante un algoritmo de cifrado de clave pública, típicamente el RSA. La clave de sesión es la que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera una clave de sesión distinta para cada transacción, lo cual permite que aunque sea reventada por un atacante en una transacción dada, no sirva para descifrar futuras transacciones. MD5 se usa como algoritmo de hash.

Proporciona cifrado de datos, autenticación de servidores, integridad de mensajes y, opcionalmente, autenticación de cliente para conexiones TCP/IP.

Cuando el cliente pide al servidor seguro una comunicación segura, el servidor abre un puerto cifrado, gestionado por un software llamado Protocolo SSL Record, situado encima de TCP. Será el software de alto nivel, Protocolo SSL Handshake, quien utilice el Protocolo SSL Record y el puerto abierto para comunicarse de forma segura con el cliente.
El Protocolo SSL Handshake

Durante el protocolo SSL Handshake, el cliente y el servidor intercambian una serie de mensajes para negociar las mejoras de seguridad. Este protocolo sigue las siguientes seis fases (de manera muy resumida):

* La fase Hola, usada para ponerse de acuerdo sobre el conjunto de algoritmos para mantener la intimidad y para la autenticación.
* La fase de intercambio de claves, en la que intercambia información sobre las claves, de modo que al final ambas partes comparten una clave maestra.
* La fase de producción de clave de sesión, que será la usada para cifrar los datos intercambiados.
* La fase de verificación del servidor, presente sólo cuando se usa RSA como algoritmo de intercambio de claves, y sirve para que el cliente autentique al servidor.
* La fase de autenticación del cliente, en la que el servidor solicita al cliente un certificado X.509 (si es necesaria la autenticación de cliente).
* Por último, la fase de fin, que indica que ya se puede comenzar la sesión segura.

El Protocolo SSL Record

El Protocolo SSL Record especifica la forma de encapsular los datos transmitidos y recibidos. La porción de datos del protocolo tiene tres componentes:

* MAC-DATA, el código de autenticación del mensaje.
* ACTUAL-DATA, los datos de aplicación a transmitir.
* PADDING-DATA, los datos requeridos para rellenar el mensaje cuando se usa cifrado en bloque.

Fuente: http://www.iec.csic.es/criptonomicon/ssl.html

viernes, 10 de octubre de 2008

Hola a todos

Hola, mucho gusto, me llamo Roberto y soy conocido como Yobo. Bueno, aunque ando un poquito perdido, esta es mi primera experiencia de creación de un blog.

Yo considero que mis fuertes siempre han sido el inglés y la computación, con ésta última, he sido autodidacta por 5 años y medio. He aprendido varias cosas, sencillas y un poco complejas y aunque me faltan comprender todavía algunos aspectos, me creo capaz de ofrecerle ayuda a cualquier interesado. He tenido la dicha de que mis padres me han apoyado un poco y también que he sido un poco necio por aprender y sacarle el máximo provecho a la tecnología.

Bueno, mis expectativas son ayudar a quién lo necesite y crear un ambiente amigable en donde todos nos podamos colaborar entre sí, recordemos que aunque alguien sea experto, en la vida jamás se deja de aprender de los demás.

El lema que me gustaría compartirles es: "Querer es poder".