sábado, 26 de febrero de 2011

HTG explica: Que es el cifrado y como funciona?

Este lo había leído hace ya algún tiempo y no me había decidido a hacerlo. Pues aquí lo tienen, los enlaces del final están por revisar pero es muy probable que salga mas de uno de ahí. El original de este lo pueden encontrar aquí, y es de HTG. Antes hemos tocado el tema del cifrado para encriptar particiones en windows, pueden revisarlo si no lo hicieron ya, les brindará una manera muy segura de proteger sus datos.  De nuevo, revisaré los enlaces del final a ver si traemos algo de lo que enlazan, si les interesa alguno en particular, por favor, háganos saber en sus comentarios. Así pues, aquí les va, provecho

HTG explica: Que es el cifrado y como funciona?
El cifrado tiene una larga historia que data de cuando los antiguos griegos y romanos enviaban mensajes secretos mediante la sustitución de las letras sólo descifrables con una clave secreta. Únase a nosotros en una rápida lección de historia y aprenda más acerca de cómo funciona el cifrado.

En la edición de hoy de HTG explica, haremos una breve historia del cifrado o criptografía, cómo funciona, y algunos ejemplos de diferentes tipos de cifrados - asegúrese de echar un vistazo a la edición anterior, en el que explicamos por qué tantos geeks odian el Internet Explorer.

Los primeros días del cifrado.















Los antiguos griegos utilizaron una herramienta llamada Scytale para ayudar a cifrar sus mensajes con mayor rapidez usando un cifrado por transposición, solo envolvían la tira de pergamino alrededor del cilindro, escribían el mensaje, y luego, una vez desenrollado no tendría sentido.
Este método de cifrado puede ser bastante fácil de romper, por supuesto, pero es uno de los primeros ejemplos de cifrado que se utilizan actualmente en el mundo real.
Julio César utilizó un método algo similar durante su tiempo al cambiar cada letra del alfabeto a la derecha o a la izquierda en una serie de posiciones - una técnica de codificación conocido como cifrado César. Por ejemplo, utilizando el algoritmo de cifrado de ejemplo de abajo se escribiría "geek" como "JHHN".

Plano: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC

Dado que sólo el destinatario del mensaje conocía la cifra, sería difícil para la siguiente persona decodificar el mensaje, que aparece como un galimatías, pero la persona que tenía la cifra podría fácilmente descifrarlo y leerlo.

Otros sistemas de cifrado simple como el cuadrado de Polibio utiliza un cifrado polialfabético que lista cada letra con las posiciones numéricas correspondientes en la parte superior y lateral que indican su posición.


Utilizando una tabla como la anterior ud escribiría la letra "G" como "23", o "geek" como "23 31 31 43".

La maquina Enigma.

Durante la Segunda Guerra Mundial, los alemanes utilizaron la máquina Enigma para pasar transmisiones cifradas de ida y vuelta, y pasaron años antes de que los polacos fueran capaces de descifrar los mensajes, y dar la solución a las fuerzas aliadas, lo que jugó un papel decisivo para la victoria.


La historia de los cifrados modernos.
Admitámoslo: las técnicas modernas de cifrado pueden ser un tema muy aburrido, así que en vez de simplemente explicarlo con palabras, hemos creado un cómic que habla sobre la historia de la codificación, inspirados por la guía de figuras de palo de Jeff Moser sobre el cifrado AES.  Nota: es evidente que no podemos transmitir todo sobre la historia de cifrado en una tira cómica.
En aquellos días, la gente no tenía un método de cifrado para asegurar sus comunicaciones electrónicas.


Lucifer era el nombre dado a varios de los primeros sistemas civiles de cifrado de bloques, desarrollado por Horst Feistel y sus colegas en IBM.


El cifrado de datos estándar (DES Data Encryption Standard) es un cifrado de bloques (una forma de cifrado compartido secreto) que fue seleccionado por la Instituto Nacional de Normas y Tecnologías como Norma de Procesamiento de Información Federal Oficial (FIPS Federal Information Processing Standard) de los Estados Unidos en 1976 y que posteriormente ha disfrutado de un amplio uso a nivel internacional.


Las preocupaciones sobre la seguridad y la operación relativamente lenta de DES en softwares, motivó a los investigadores a proponer una gran variedad de alternativas de diseños de cifrado de bloques, que comenzaron a aparecer a finales de 1980 y principios de 1990: los ejemplos incluyen RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 y FEAL


El algoritmo de cifrado Rijndael fue adoptado por el Gobierno de los EE.UU. como estándar de cifrado de clave simétrica, o AES (Advanced Encryption Standard). AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST National Institute of Standards and Technology) como FIPS PUB 197 de EEUU (FIPS 197) el 26 de noviembre de 2001 luego de un proceso de normalización de 5 años en los que quince diseños de la competencia fueron presentados y evaluados antes de que Rijndael fuera seleccionado como el algoritmo de cifrado mas adecuado.

Rendimiento de los algoritmos de cifrado.
Existen muchos algoritmos de cifrado, y cada uno es adecuado para diferentes propósitos - las dos principales características que identifican y diferencian un algoritmo de cifrado de otro son, su capacidad para asegurar los datos protegidos contra los ataques y su velocidad y eficiencia al hacerlo.
Como un buen ejemplo de la diferencia de velocidades entre distintos tipos de cifrado, puede utilizar la utilidad incorporada para evaluación comparativa del asistente de creación de volúmenes de TrueCrypt - como podrá ver, AES es de lejos el tipo de cifrado fuerte mas rápido.

Hay métodos de cifrado más lentos y más rápidos, y todos ellos son adecuados para diferentes propósitos. Si usted está simplemente tratando de descifrar una pequeña cantidad de datos cada cierto tiempo, puede darse el lujo de utilizar el cifrado más potente posible, e incluso cifrar dos veces con diferentes tipos de cifrado. Si necesita velocidad, probablemente quiera ir con AES.
Para más información sobre evaluación comparativa de los diferentes tipos de cifrado, eche un vistazo a un informe de la Universidad Washington de St. Louis, donde hicieron un montón de ensayos con diferentes rutinas, y lo explicaron todo en una redacción muy geek.

Tipos de cifrado modernos.
Todo los algoritmos de cifrado de lujo de los que hemos hablado antes se utilizan sobre todo para los dos tipos de cifrado:
  • Los algoritmos de clave simétrica utilizan claves relacionadas o idénticas para el cifrado y descifrado.
  • Los algoritmos de clave asimétrica utilizan diferentes claves para el cifrado y descifrado, esto es generalmente conocido como criptografía de clave pública.

Cifrado de clave simétrica.
Para explicar este concepto, vamos a utilizar la metáfora del servicio postal que describe la Wikipedia para entender cómo funcionan los algoritmos de clave simétrica.
Alice pone su mensaje secreto en una caja, y cierra la caja con un candado del que tiene una llave. A continuación, envía la caja a Bob a través de correo ordinario. Cuando Bob recibe la caja, utiliza una copia idéntica de la llave de Alice (que de alguna manera ha obtenido con anterioridad, tal vez en una reunión cara a cara) para abrir la caja, y leer el mensaje. Bob puede usar el mismo candado para enviar su respuesta secreta.
Los algoritmos de clave simétrica se pueden dividir en sistemas de cifrado de flujo (stream) y sistemas de cifrado de bloques. los cifrados de flujo cifran los bits del mensaje uno a la vez, y los cifrados de bloque toman una serie de bits, a menudo en bloques de 64 bits de una vez, y los cifran como una sola unidad. Hay un montón de algoritmos diferentes que puede elegir, los algoritmos simétricos más populares y respetados incluyen Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES, e IDEA.

Cifrado asimétrico.
En un sistema de clave asimétrica, Bob y Alice tienen candados diferentes, en lugar de solo un candado con varias llaves del ejemplo de cifrado simétrico. Nota: esto es, por supuesto, un ejemplo muy simplificado de cómo funciona realmente, que es mucho más complicado, pero le dará una idea general.
En primer lugar, Alice le pide a Bob que le envíe su candado abierto a través de correo regular, manteniendo la llave para sí mismo. Cuando Alicia lo recibe lo utiliza para bloquear una caja que contiene su mensaje, y envía la caja cerrada a Bob. Bob puede abrir la caja con su llave y leer el mensaje de Alice. Para responder, Bob, de manera similar, debe obtener el candado abierto de Alice para cerrar la caja antes de enviarla de nuevo.
La ventaja fundamental de un sistema de clave asimétrica es que Bob y Alice nunca necesitan enviar una copia de sus llaves el uno al otro. Esto evita que un tercero (tal vez, en el ejemplo, un empleado de correos corrupto) copie la llave mientras está en tránsito, permitiendo que dicho tercero pueda espiar todos los futuros mensajes enviados entre Alice y Bob. Además, si Bob fuera descuidado y permite que alguien más copie su llave, los mensajes de Alice a Bob estarían en peligro, pero los mensajes de Alice a otras personas se mantendrían en secreto, ya que las otras personas proporcionarían diferentes candados para uso de Alice.

El cifrado asimétrico utiliza diferentes claves para el cifrado y el descifrado. El destinatario del mensaje crea una clave privada y una clave pública. La clave pública se distribuye entre los remitentes de mensajes, que utilizan la clave pública para cifrar el mensaje. El destinatario usa su clave privada para abrir los mensajes que han sido cifrados con su clave pública.

Hay un beneficio importante para hacer el cifrado de esta manera en comparación con el cifrado simétrico. No necesitamos enviar nunca ningún secreto (como nuestra clave de cifrado o la contraseña) sobre un canal inseguro. La clave pública está disponible para todo el mundo - no es secreta y no tiene por qué serlo. Su clave privada puede permanecer cómoda en su ordenador personal, donde se genera - y nunca tiene que ser enviada por correo electrónico a cualquier lugar, o ser leída por los atacantes.

¿Cómo asegura el cifrado las comunicaciones en la Web.
Durante muchos años, el protocolo SSL (Secure Sockets Layer) ha asegurado las transacciones web, mediante el cifrado entre el navegador y un servidor web, que le protege de que cualquier persona que pueda husmear en medio.
SSL en sí es conceptualmente muy simple. Comienza cuando el navegador solicita una página segura (por lo general a una dirección https: / /)
El servidor web envía su clave pública con su certificado.
El navegador verifica que el certificado haya sido emitido por una parte de confianza (generalmente una Autoridad de Certificación (CA Certificate Authority) raíz de confianza), que el certificado sigue siendo válido y que esté relacionado con el sitio de contacto.
El navegador utiliza entonces la clave pública para cifrar una clave de cifrado simétrica aleatoria y la envía al servidor con la URL requerida cifrada, así como otros datos HTTP cifrados.
El servidor web, descifra la clave de cifrado simétrico utilizando su clave privada y utiliza la clave simétrica del navegador para descifrar su dirección y datos http.
El servidor web devuelve el documento solicitado HTML y los datos HTTP cifrados con clave simétrica del navegador. El explorador descifra los datos HTTP y el documento HTML usando la clave simétrica y muestra la información.
Y ahora puede comprar con seguridad ese artículo de eBay que realmente no necesitaba.

¿Aprendiste algo?
Si ha llegado hasta aquí, estamos en el final de nuestro largo viaje hacia la comprensión de cifrado y cómo funciona, desde los primeros días de cifrado con los griegos y los romanos, el ascenso de Lucifer, y finalmente cómo SSL utiliza el cifrado asimétrico y simétrico para ayudarle a comprar ese conejo rosa suave y esponjoso en eBay.

Somos grandes fans del cifrado aquí en How-To Geek, y hemos cubierto un montón de maneras diferentes de hacer las cosas como:


Por supuesto que el cifrado es un tema demasiado complicado para explicarlo todo. ¿Hemos omitido algo importante? Siéntase libre de dejar un poco de su conocimiento para los demás lectores en los comentarios.