Cifrado César
Este código de cifrado es uno de los más antiguos ya que su uso se
remonta a Julio César. El principio de cifrado se basa en la adición de
un valor constante a todos los caracteres de un mensaje o, más
precisamente, a su código ASCII (American National Standard Code for
Information Interchange).
Simplemente es cuestión de cambiar todos los valores de los caracteres de un mensaje en un determinado número de posiciones, es decir, sustituir cada letra por otra. Por ejemplo, si cambiamos 3 posiciones del mensaje "COMMENT CA MARCHE", obtenemos "FRPPHQW FD PDUFKH". Cuando el valor agregado da una letra posterior a la Z, podemos simplemente continuar empezando por la A. Esto quiere decir que aplicamos un módulo 26.
Como, por ejemplo, en la película 2001: Una Odisea al Espacio, el ordenador se llamó HAL. Este nombre es, en realidad, IBM desplazado una posición hacia abajo...
El carácter que corresponde al valor que se agregó al mensaje para el cifrado se llama clave. En este caso, la clave es C, ya que es la 3º letra del alfabeto.
Este sistema de cifrado es, en verdad, muy fácil de implementar, pero su desventaja es que es totalmente asimétrico, ya que se puede realizar una simple sustracción para averiguar el mensaje inicial. Un método básico consiste en una simple sustracción de los números 1 al 26 para ver si alguno de estos números nos da un mensaje inteligible.
Simplemente es cuestión de cambiar todos los valores de los caracteres de un mensaje en un determinado número de posiciones, es decir, sustituir cada letra por otra. Por ejemplo, si cambiamos 3 posiciones del mensaje "COMMENT CA MARCHE", obtenemos "FRPPHQW FD PDUFKH". Cuando el valor agregado da una letra posterior a la Z, podemos simplemente continuar empezando por la A. Esto quiere decir que aplicamos un módulo 26.
Como, por ejemplo, en la película 2001: Una Odisea al Espacio, el ordenador se llamó HAL. Este nombre es, en realidad, IBM desplazado una posición hacia abajo...
El carácter que corresponde al valor que se agregó al mensaje para el cifrado se llama clave. En este caso, la clave es C, ya que es la 3º letra del alfabeto.
Este sistema de cifrado es, en verdad, muy fácil de implementar, pero su desventaja es que es totalmente asimétrico, ya que se puede realizar una simple sustracción para averiguar el mensaje inicial. Un método básico consiste en una simple sustracción de los números 1 al 26 para ver si alguno de estos números nos da un mensaje inteligible.
Un método más avanzado consiste en calcular la frecuencia con que aparecen las letras en el mensaje codificado (esto se hace cada vez más fácil a medida que el mensaje es más largo). Según el idioma, algunas
letras se usan con más frecuencia que otras (por ejemplo, en francés la
letra E es la más usada). De esta forma, la letra que aparece con más
frecuencia en el texto cifrado mediante el cifrado César será la que
corresponda a la letra E y una simple sustracción nos da la clave de
cifrado.
Protocolos seguros
Secure Sockets Layers (SSL)

El sistema SSL es independiente del protocolo utilizado; esto significa que puede asegurar transacciones realizadas en la Web a través del protocolo HTTP y también conexiones a través de los protocolos FTP, POP e IMAP. SSL actúa como una capa adicional que permite garantizar la seguridad de los datos y que se ubica entre la capa de la aplicación y la capa de transporte ( por ejemplo, el protocolo TCP).
De esta forma, SSL es transparente para el usuario (es decir, el usuario puede no conocer que está usando SSL).
Actualmente, casi todos los navegadores soportan el protocolo SSL.
A mediados de 2001, la patente SSL ,que hasta ese momento había pertenecido a Netscape, fue adquirida por IETF (Internet Engineering Task Force) y adoptó el nombre de TLS (Transport Layer Security).
* Primero, el cliente se conecta al servidor comercial protegido por SSL y pide la autenticación. El cliente también envía la lista de los criptosistemas que soporta, clasificada en orden descendente por la longitud de la clave.
* El servidor que recibe la solicitud envía un certificado al cliente que contiene la clave pública del servidor firmado por una entidad de certificación (CA), y también el nombre del criptosistema que está más alto en la lista de compatibilidades (la longitud de la clave de cifrado - 40 o 128 bits - será la del criptosistema compartido que tiene el tamaño de clave de mayor longitud).
* El cliente verifica la validez del certificado (y por consiguiente, la autenticidad del vendedor), luego crea una clave secreta al azar (más precisamente un supuesto bloque aleatorio), cifra esta clave con la clave pública del servidor y envía el resultado del servidor (clave de sesión).
* El servidor es capaz de descifrar la clave de sesión con su clave privada. De esta manera, hay dos entidades que comparten una clave que sólo ellos conocen. Las transacciones restantes pueden realizarse utilizando la clave de sesión, garantizando la integridad y la confidencialidad de los datos que se intercambian.
SSH
Ya que es imposible controlar todas las infraestructuras físicas ubicadas entre el usuario y el equipo remoto (al ser Internet una red abierta por definición), la única solución es confiar en la seguridad a un nivel lógico (al nivel de los datos).
El protocolo SSH (Secure Shell) es la respuesta a este problema ya que posibilita a sus usuarios (o servicios TCP/IP) acceder a un equipo a través de una comunicación cifrada (llamada túnel).
Es un protocolo que hace posible que un cliente (un usuario o incluso un equipo) abra una sesión interactiva en una máquina remota (servidor) para enviar comandos o archivos a través de un canal seguro.
* Los datos que circulan entre el cliente y el servidor están cifrados y esto garantiza su confidencialidad (nadie más que el servidor y el cliente pueden leer la información que se envía a través de la red). Como resultado, no es posible controlar la red con un rastreador.
* El cliente y el servidor se autentifican uno a otro para asegurarse que las dos máquinas que se comunican son, de hecho, aquellas que las partes creen que son. El hacker ya no puede adoptar la identidad del cliente o de su servidor (falsificación).
SSH es un protocolo, es decir, un método estándar que permite a los equipos establecer una conexión segura. Como tal, existe una variedad de implementaciones de clientes y servidores SSH. Algunas requieren el pago de una cuota, en tanto que otras son gratuitas o de código abierto: puede encontrar algunos clientes SSH en la sección de descargas de commentcamarche.
Una conexión SSH se establece en varias fases:
* En primera instancia, se determina la identidad entre el servidor y el cliente para establecer un canal seguro (capa segura de transporte).
* En segunda instancia, el cliente inicia sesión en el servidor.
El establecimiento de una capa segura de transporte comienza con la fase de negociación entre el cliente y el servidor para ponerse de acuerdo en los métodos de cifrado que quieren utilizar.
Después, para establecer una conexión segura, el servidor envía al cliente su clave de host. El cliente genera una clave de sesión de 256 bits que cifra con la clave pública del servidor y luego la envía al servidor junto con el algoritmo utilizado. El servidor descifra la clave de sesión con su clave privada y envía al cliente un mensaje de confirmación cifrado con la clave se sesión. Después de esto, las comunicaciones restantes se cifran gracias a un algoritmo de cifrado simétrico, mediante la clave de sesión compartida entre el cliente y el servidor.
HTTP Seguro

A diferencia de SSL (Secure Socket Layer) que funciona transportando capas, SHTTP garantiza la seguridad del mensaje mediante el protocolo HTTP, que marca individualmente los documentos HTML con certificados. En tanto que SSL es independiente de la aplicación utilizada y puede cifrar todo tipo de comunicación, SHTTP está íntimamente relacionado con el protocolo HTTP y cifra mensajes de forma individual.
Los mensajes SHTTP se basan en tres componentes:
* el mensaje HTTP
* las preferencias criptográficas del remitente
* las preferencias del destinatario
Así, para descifrar un mensaje SHTTP, el destinatario analiza los encabezados del mensaje para determinar el tipo de método que se utilizó para cifrar el mensaje. Luego, basándose en sus preferencias criptográficas presentes y pasadas, y en las preferencias criptográficas pasadas del remitente, el destinatario puede descifrar el mensaje.
Cuando SSL y SHTTP competían, muchas personas se dieron entonces cuenta de que estos dos protocolos de seguridad eran complementarios, ya que no trabajaban en el mismo nivel. El SSL garantiza una conexión segura a Internet, mientras que el SHTTP garantiza intercambios HTTP seguros.
Como resultado, la compañía Terisa Systems, especializada en protección de red y formada por RSA Data Security y EIT, desarrolló un kit de programación que permitió a los administradores desarrollar servidores Web implementando los protocolos SSL y SHTTP (SecureWeb Server Toolkit) así como clientes Web capaces de soportar estos protocolos (SecureWeb Client Toolkit).
SET se basa en el uso de una firma electrónica del comprador y una transacción que involucra, no sólo al comprador y al vendedor, sino también a sus respectivos bancos.
Cuando se realiza una transacción segura por medio de SET, los datos del cliente son enviados al servidor del vendedor, pero dicho vendedor sólo recibe la orden. Los números de la tarjeta del banco se envían directamente al banco del vendedor, quien podrá leer los detalles de la cuenta bancaria del comprador y contactar con el banco para verificarlos en tiempo real.
No hay comentarios:
Publicar un comentario