elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
07 Septiembre 2008, 05:19  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía
| | | |-+  SSL 128, mitos y realidades de su fortaleza.
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Imprimir
Autor Tema: SSL 128, mitos y realidades de su fortaleza.  (Leído 5724 veces)
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
SSL 128, mitos y realidades de su fortaleza.
« en: 11 Enero 2005, 09:36 »

Buenas,
Me gustaría empezar un hilo explicativo sobre el protocolo SSL y a la vez dejar varios puntos en el aire para que podamos participar todos.

Empezaré haciendo un resumen sin entrar mucho en detalles del protocolo SSL (Secure Socket Layer) para la gente que quiera participar y no lo tenga del todo claro.

SSL.
Secure Socket Layer es un sistema de protocolos de caracter general diseñado por Nestcape Communcations, con el propósito de conseguir un canal seguro de comunicación a través de Internet. Está basado en la aplicación conjunta de Criptografía Simétrica (por su rapidez, para el cifrado de datos), Criptografía Asimétrica (de llave pública, para el intercambio de la clave simétrica), certificados digitales y firmas digitales.

La identidad del servidor web seguro (y a veces también del usuario cliente) se consigue mediante el Certificado Digital correspondiente, comprobando su validez, y de la integridad de los datos intercambiados se encarga la Firma Digital mediante funciones hash y su comprobación.

Estableciendo la comunicación.

Lo primero es que el cliente y el servidor realicen un proceso de reconocimiento mutuo y de petición de conexión, conocido como Handshake.
El protocolo comienza con el saludo del cliente al servidor, Client Hello, por el que se informa al servidor de que se deséa establecer una comunicación segura con él.
Junto con este saludo inicial, el cliente envía al servidor información de la versión de SSL que tiene implementada, de los algoritmos de cifrado que soporta, las longitudes de clave máximas que admite para cada uno de ellos y las funciones hash que puede utilizar. También se le solicita al servidor el envío de su Certificado Digital X.509, con objeto de verificar el cliente la identidad del mismo y recoger su clave pública. En este momento se asigna un identificador a la sesión y se hace constar la hora y fecha de la misma.
A continuación, el servidor SSL responde al cliente, Server Hello, enviándole su Certificado Digital (con su llave pública) e informándole de su versión de SSL, de los algoritmos y longitudes de clave que soporta. Generalmente se obtiene el conjunto de algoritmos, longitudes de clave y funciones hash soportados por ambos, eligiéndose entonces los más fuertes. Si no hay acuerdo con los algoritmos a usar se envía un mensaje de error.
Como medida adicional de seguridad, el cliente genera una clave aleatoria temporal y se la envía al servidor, que debe devolvérsela cifrada con su clave privada. El cliente la descifra con la llave pública y comprueba la coincidencia, con lo que está totalmente seguro de que el servidor es quién dice ser.
Si todo está correcto el cliente genera un número aleatorio que va a servir para calcular una clave de sesión correspondiente al algoritmo de cifrado simétrico negociado antes, conocida con el nombre de clave maestra, que es enviada al servidor de forma segura cifrándola asimétricamente con la llave pública de su Certificado Digital. Esta clave maestra se usará para generar todas las claves y números secretos utilizados en SSL. Con esto servidor y cliente se han identificado y tienen en su poder todos los componentes necesarios para empezar a transmitir información cifrada simétricamente.
Así y todo, para que empiecen las transmisiones de datos protegidos se requiere otra verificación previa, denominada Finished, consistente en que cliente y servidor se envían uno al otro una copia de todas las transacciones llevadas a cabo hasta el momento, cifrándola con la llave simétrica común. Al recibir esta copia, cada host la descifra y la compara con el registro propio de las transacciones. Si las transacciones de los dos host coinciden significa que los datos enviados y recibidos durante todo el proceso no han sido modificados por un tercero. Se termina entonces la fase Handshake.

Luego vienen otras operaciones como determinar el modo de encapsulamiento de los datos en las que no me voy a meter, y ya por fín se establece la comunicación.

Ataque a SSL.
Como vemos, toda la información que capturemos está cifrada. Si todo está en orden y usamos algoritmos de cifrado simétrico sin errores de implementación, lo único que nos queda es la fuerza bruta (no consideraremos inyecciones SQL, ni robos de cookies, etc, porque no sería un ataque contra SSL).

Aquí es dónde empezaremos la disertación e intentaremos concretar mitos y realidades.

Pero primero apunto dos consideraciones a tener en cuenta.
1.- Cifrar al doble de 64 bits no es cifrar a 128, es cifrar a 65.
2^64 * 2^1 = 2^(64+1) = 2^65.
Por esta razón, si miramos en www.distributed.net, comprenderemos porque para romper un RC5 de 56 bits tardaron 250 días y para la de 64 casi tres años. Con la de 72 lleván ya un par y lo que les queda.

1.- Tiempo de ruptura de cifrado a 128 bits.
Vamos a poner todo a favor del atacante al cifrado asíéndo suposiciones inverosímiles, para simplificar cálculos.
* Supongamos que tenemos un Earth Simulator/5120 Nec con una potencia teórica (nunca a llegado a tanto) de 40.960 billones de operaciones por segundo.
* Supongamos que en cada operación es capaz de áplicar un número al algoritmo de cifrado y ver si es el bueno (serían cientos de operaciones).
Cifrando solo a 128 bits, que es el cifrado máximo de SSL existen:
2^128 = 340.282.366.920.938.592.532.472.206.020.233.786.982 claves posibles.

 340.282.366.920.938.592.532.472.206.020.233.786.982 / 40.960.000.000.000.000 =    8.307.674.973.655.724.205.649 Segundos.
 8.307.674.973.655.724.205.649 /60 = 138.461.249.560.928.736.761 Minutos
 138.461.249.560.928.736.761 / 60 = 2.307.687.492.682.145.612 Horas
 2.307.687.492.682.145.612 / 24 = 96.153.645.528.422.734 Días
 96.153.645.528.422.734 / 365 = 263.434.645.283.350 Años.

Ahora que ya sabemos un poco de la teoría, me gustaría abrir un debate sobre los cientos de noticias que podemos leer en cualquier sitio, del estilo, por ejemplo, esta: http://www.galeon.com/maty/nautopia_old/nautopiaX.htm

"Hablando de cifrado, recordemos la debilidad intrínseca del sistema implementado por MICROSOFT en sus productos (IE sin ir más lejos).
En su día aumentaron de 56 -cifrado débil- a 128 bits ¿cifrado fuerte?. Pues no, ya que realmente utiliza 80 y pocos bits. Y con los restantes, la NSA y otras agencias norteamericanas pueden romperlo fácilmente."

Pregunta:
Antes de leer este post, daríais como buena esta afirmación?
Y después de leerlo?
No digo que no sea cierto, vete a saber las diabluras que pueden hacer estos americanos, y el potencial tanto en recursos como en conocimiento que tienen, pero a mí así sin pensarlo mucho se me ocurre que:
Esos "y pocos" cuántos son? como hemos visto cada bit adicional de esos "y pocos" está duplicándo el tiempo de ruptura del cifrado.
Con 80 y pocos bits de cifrado, qué quieren decir cuando dicen "facilmente".?
La información que se supone que se guarda en los bits restantes hasta el 128, cual es? como acceden a ella estando solo en el cliente y en el servidor (el intercambio se realiza con el cifrado asimétrico)?

Si os he hecho dudar, algo hemos avanzado. De cualquier forma, espero que alguien exponga su opinión y posibles formas de hacer lo que en la noticia dicen.

Salu2.
En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #1 en: 11 Enero 2005, 10:53 »

Antes de nada, como ya imaginas, soy de los mas veteranos del foro, y salvo aportaciones de nuestras otras dos makinas, Adikto y Mordor, pocos post habia visto asi.

Chapo y chinchetazo (ahora cuando termine de escribir).

Basicamente, yo conocia por encima el protocolo SSL, pero no sabia la ultima comprobacion, esta:

Citar
para que empiecen las transmisiones de datos protegidos se requiere otra verificación previa, denominada Finished, consistente en que cliente y servidor se envían uno al otro una copia de todas las transacciones llevadas a cabo hasta el momento, cifrándola con la llave simétrica común. Al recibir esta copia, cada host la descifra y la compara con el registro propio de las transacciones. Si las transacciones de los dos host coinciden significa que los datos enviados y recibidos durante todo el proceso no han sido modificados por un tercero

Simplemente, que no tenia ni idea de ese tipo de comprobacion, y la verdad es que deja poquisimo margen de "ataque", salvo el que ya comentas, el brute force (y que es completamente inviable).

Entonces, los cifrados PGP-GnuPG de 1024 y 2048 bits son "teoricamente", irrompibles no? Se que depende del algoritmo/s utilizados en la creacion de las claves, pero aun asi, usando el mas "basico" seria completamente irrompible (por fuerza bruta).

Lo que me keda de duda, viendo que eres un experto, es que si se ha llegado a tal nivel de seguridad (al menos, en lo referente al sistema brute force, como tu bien dices no entramos en otros sistemas ajenos al propio sistema de cifrado), para que seguir "innovando"?

Aunque pasen 10 años, posiblemente los algoritmos de 1024 y 2048 bits seguiran siendo "teoricamente" irrompibles.

No se si se me entiende..... (sera que llevo ya casi 24 horas sin dormir xD)

Un saludo (y chinchetazo al post)
En línea
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #2 en: 11 Enero 2005, 11:40 »

En los cifrados asimétricos (clave pública/privada) la seguridad que da el número de bits usados para la generación de las claves no es equivalente al de los simétricos. En un simétrico 128 bits es suficiente, pero en uno asimétrico 128 bits no es nada.

La fuerza bruta en asimétrico no consiste en probar y probar hasta encontrar la privada, (calculad los tiempos para 1024 bits), sino en factorizar el producto de los dos números primos implicados en su creación.

Eso es debido a que en estos algoritmos una de las claves es conocida, así que su fuerza radica en la imposibilidad de factorizar números primos grandes para sacar la otra clave. Pero para que te hagas una idea, la longitud de clave más grande que se ha roto en un cifrado asimétrico es de 512 bits.

Ya expondré otro hilo entrando en detalle en PKI, algoritmos de generación de números primos, generación de claves, etc.


Sí, aunque pasen 10 años, o 10 mill. de años, esos algoritmos son "teóricamente" irrompìbles. Llevan mas de 30 años funcionando, y se han tragado a miles de criptógrafos de la ex unión soviética intentando romperlos para conseguir un trabajo en EEUU. Son resistentes a todo tipo de ataques de análisis de frecuencias o lo que quieras, es más, te cuesta lo mismo descifrar parte del mensaje que todo.

De hecho, prácticamente toda la legislación internacional los acepta como seguros, de una manera tan tajante, que admiten sus procedimientos (firma digital) con la creación de leyes específicas.

Pero los ordenadores cada vez son más potentes, y los sistemas de factorización tb. Hace un par de años unos de Israel desarrollaron un método mucho más rápido.
Pero bueno, que cae 1024, se pone el mínimo en 2048, que cae 2048, se pone a 4096, etc. (Como los ordenadores son cada vez mas rápidos para todos :) )

A ver si tengo un ratito y me curro un post completito de lo que es PKI, como funciona, porqué funciona y todo absolutamente en detalle. A ver si me gano otra chincheta ;)

Salu2.
En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
guillamon

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #3 en: 17 Enero 2005, 02:24 »

perdon por la respuesta de un ignorante.

al ser casi imposible descifrar el aarchivo ¿no seria mas facil descifrar desde la maquina original (que origino el mensaje) o receptora (que contiene la clave) el algorigmo necesario para conocer el codigo?

por ello aunque nos sentimos seguros por el nivel de cifrado, en el momento en el que nosotros simples humanos nos conectamos a internet y mandamos un archivo cifrado, en esse momento nos pueden robar la codificacion necesaria para descifrarlo ¿no es asi?

la seguridad sera alta, pero esisten caminos paralelos para no tener que descifrar el mensaje si no descifrar solo el algorigmo de cifrado que nuestras maquinas producen.

les recuerdo que todo tiene una puerta trasera, y nadie nos permitiria usarlo si no fuera por que ya la tienen para controlarlo de forma rapida.
En línea
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #4 en: 17 Enero 2005, 09:25 »

Hola Guillamón.

Citar
perdon por la respuesta de un ignorante.
Nada de perdón, todo lo contrario, gracias a tí por molestarte en leer el post, en interesarte por el tema, y por tener la valentía de preguntar. Nadie nace sabiéndo.
Y te animo a que preguntes las dudas que tengas, que en definitiva son las que tiene todo el mundo, pero se callan para no quedar como ignorantes.



Citar
al ser casi imposible descifrar el aarchivo ¿no seria mas facil descifrar desde la maquina original (que origino el mensaje) o receptora (que contiene la clave) el algorigmo necesario para conocer el codigo?

Normalmente los algoritmos son conocidos y públicos, y puedes verlos en cualquier sitio. En el caso de SSL es así.
La fuerza del cifrado no recae en el desconocimiento del algoritmo, sino en el de sus claves.

Citar
por ello aunque nos sentimos seguros por el nivel de cifrado, en el momento en el que nosotros simples humanos nos conectamos a internet y mandamos un archivo cifrado, en esse momento nos pueden robar la codificacion necesaria para descifrarlo ¿no es asi?
Depende. Si implementas un cifrado y transmites junto a él la clave de cifrado, pues sí. Pero eso a nadie se le ocurre. En caso del SSL, la clave de cifrado se transmite también cifrada, con lo cuál no pueden capturártela. Lee el post con tranquilidad.

Citar
la seguridad sera alta, pero esisten caminos paralelos para no tener que descifrar el mensaje si no descifrar solo el algorigmo de cifrado que nuestras maquinas producen.
No tienes muy claro el sistema, como ya dije antes el algoritmo es conocido.
Lo que si se hace es buscar "atajos" dentro de los algoritmos. Mecanismos que te permitan descifrar los contenidos de forma más rápida que probando todas las combinaciones. Por eso los algoritmos van cayendo (RC4) y se van mejorando(RC5).

Citar
les recuerdo que todo tiene una puerta trasera, y nadie nos permitiria usarlo si no fuera por que ya la tienen para controlarlo de forma rapida.
Sí, lo sé. También cuando te pita un oído es porque un satélite de la NASA te está espiando, cuando nos parece haber vivido ya algo es porque nos han abducido, los sistemas windows tienen una historia oculta que cuando Bill quiera dejan de funcionar, etc.

Es cierto que hay cosas impresionantes. Te recomiendo que busques información sobre los escáneres Tempest en internet, es para sentir miedo, pero hay que evaluar las cosas en su justa medida. Si montas un OpenSSL puedes ver todo su código fuente, y su tránsito de información, y si hubiera puertas traseras las verías.

Si en los windows hubieran mecanismos ocultos que hicieran todas esas cosas que dicen, ya lo sabríamos, están todos desensamblados. Es más, si esto fuera cierto, y se hiciera público, lo primero que pasaría sería un hundimiento generalizado de las bolsas y de la economía mundial.

Estudiaté en el post el funcionamiento del SSL, y en internet con más profundidad, y luego ponte a pensar dónde meterías una puerta trasera (como lo que dice la noticia esa de los 80 bits o dónde se te ocurriera) , y me lo mandas por privado. Yo intentaré (o sea, intentaré) rebatirte todas las posibilidades. Si alguna no pudiera rebatirla, lo estudiaré en profundidad para cerciorarme, serás el primero en publicarlo, y la noticia correrá como la pólvora :)
« Última modificación: 17 Enero 2005, 09:33 por unravel » En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
juandiex

Desconectado Desconectado

Mensajes: 46


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #5 en: 12 Febrero 2005, 07:38 »

No se si han oido la carrera por construir las computadoras cuanticas, segun tengo entendido, el primero en desarrollar una de estas máquinas podría descifrar cualquier clave en segundos.  Claro que esto aun esta más en el lado de la ciencia ficción, peo bueno, se que estan tratando de construirlas por algun lado.
En línea
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #6 en: 12 Febrero 2005, 10:12 »

Bueno, vamos a intentar explicar un poco qué es esto que constantemente oimos de los ordenadores cuánticos y la supuesta caída del cifrado PK.

Actualmente,
Para almacenar un bit o un conjunto de ellos hemos usado diferentes estados físicos de algún tipo de material. El progreso ha hecho que pasemos de la perforación física de tarjetas a memorias ultrarrápidas basadas en transistores o condensadores. Pero a fin de cuentas la idea es la misma, en un computador normal se hace uso de estos valores discretos para representar información.

Estas ideas valen cuando estamos tratando partículas relativamente grandes, macroscópicas en lenguaje técnico, pero si descendemos al mundo microscópico las leyes cambian y se complican.

La mecánica cuántica,
el principio de incertidumbre de Heisenberg, la idea de discontinuidad y las leyes de probabilidad hacen que cambien nuestra manera de afrontar el problema, ya que la partícula que utilicemos para almacenar la información puede estar en los dos estados a la vez, en un estado borroso, entre el 0 y el 1. Esto plantea una analogía con la lógica difusa (fuzzy logic).

Q-bits
En contraposición a los bits condicionales que almacenan únicamente dos estados (típicamente 0 ó 1), la tecnología de computación cuántica se apoya en un concepto nuevo, el q-bit o quantum bit.

Así, en un ordenador cuántico tenemos 1s y 0s (que representa mediante partículas giratorias) que están en superposición cuántica, denominándose bits cuánticos o “qubits”. Si, por ejemplo, fuera posible la superposición apropiada con 250 partículas, un ordenador cuántico podría realizar 10^75 computaciones en un segundo.

Teóricamente la partícula puede hallarse en uno de los infinitos estados que van del 0 al 1, es lo que se denomina superposición. Como consecuencia de esto, la capacidad de cada una de estas partículas ya no es un único bit, sino un q-bit, con una capacidad representacional inmensamente mayor que la de un bit o biestable.

Si a este hecho se le suma un fenómeno complejo de la mecánica cuántica denominado "entanglement" (enmarañamiento, enredo) por el cual dos partículas generadas en el mismo proceso quedan irremediablemente relacionadas entre sí formando subsistemas interdependientes.
Anna Sanperal lo explica de la siguiente manera: "son como hermanos gemelos, aunque uno esté en Japón y el otro en Argentina, sabemos que si al primero le ha crecido el pelo de color negro, al otro también, aunque no lo veamos. De hecho, no adquiere este carácter hasta que no hacemos una medición sobre él.
Esta propiedad permite poner a trabajar a los "q-bits" como ordenadores masivamente en paralelo, aumentando así su capacidad computacional hasta límites que serían impensables con los ordenadores actuales."

Dada la característica cuántica de los q-bits que forman un ordenador cuántico, tratar de leer o escribir información en ellos podría alterar su estado cuántico de una manera no determinada, dependiendo de un cálculo de probabilidades.

Esto presenta un problema crítico, provocado por el colapso o pérdida de coherencia entre el mundo microscópico y macroscópico.

Pero mediante técnicas de resonancia magnética nuclear, utilizada para estudiar la estructura de las moléculas y la medición de campos magnéticos, se pretende salvar este problema. Además, "para construir un computador cuántico que sea útil tenemos que tener muchos q-bits, es decir, nos tenemos que acercar al límite en donde se encuentran estas teorías" (macroscópica y microscópica).

Algoritmos cuánticos.
Esto abre la puerta a nuevos algoritmos de ordenación, búsqueda, etc.

El algoritmo de Peter Shor es un ejemplo importante de mencionar. El algoritmo de Shor permite la factorización, en un tiempo razonable, de números muy grandes. En contraste, se cree que la factorización de números muy grandes en computadoras clásicas es un problema que no puede ser resuelto en tiempos razonables.

Las estimaciones están en que podría factorizar un número un millón de veces mayor que los que se utilizan en la actualidad en una millonésima de tiempo. Desgraciadamente, Shor no podía demostrar su programa de factorización, porque todavía no existe nada parecido a un ordenador cuántico que se conozca (aunque creo que IBM ya lo tiene).

Criptografía cuántica.
Para muchos la solución reside en la criptografia cuántica. Esta nueva criptografía se considera el milagro tecnológico, un sistema de cifrado imposible de romper, incluso con un ordenador cuántico.

La idea es sencilla: para que Eva descifre un mensaje cifrado entre Alicia y Benito, primero debe interceptarlo, lo que significa que de alguna manera “debe percibir con exactitud el contenido de la transmisión”.
Qué sucedería si un mensaje cifrado fuera representado y transmitido mediante una serie de fotones polarizados. En teoría, parecía que Eva no podría leer con exactitud el mensaje cifrado y si no podía leer el mensaje cifrado, entonces no podría descifrarlo.

La gracia de esta arquitectura no es que nos permita cifrar nuestros datos, sino que habilita procedimientos para que los datos comunicantes acuerden claves aleatorias de N bits, las cuales pueden utilizar para aplicar un cifrado Vernam, el unico algoritmo criptografico seguro desde el punto de vista de la teoria de la información.

La criptografía cuántica ya ha dejado de ser futuro, para ser el presente.


Caída de la seguridad por cifrado.
La prensa tiene cierta parte de culpa en la imagen fantástica que rodea al ordenador cuántico. Rolf Tarrach, de la Universitat de Barcelona,  critica que se lancen las campanas al vuelo y afirma "que hay que saber distinguir siempre entre fantasía y realidad".

Todas las capacidades que se le presuponen a la computación cuántica suponen una seria amenaza a los métodos criptográficos actuales.

El algoritmo RSA (Rivest Shamir Adleman), en el que se basan muchos de los sistemas de protección de datos, se basa en la factorización en números primos de un número muy grande (para aplicaciones militares, de 1024 bits). La actual capacidad de los ordenadores hace que hallar estos números primos en base a divisiones sea una empresa casi imposible. Peter Shor, estima que para factorizar un número de 1024 bits sería preciso un tiempo equivalente a la edad del Universo, con la tecnología actual.

Esto hace que el algoritmo RSA sea una opción válida hoy, pero la computación cuántica podría cambiar el panorama criptográfico de manera radical. Ese tiempo se reduciría drásticamente y haría inseguro dicho algoritmo.

Es por ello que los principales usuarios de este sistema, como bancos y grandes compañías, financian la investigación en computación cuántica. No hay mejor manera de saber hasta qué punto son inseguros sus sistemas, que participando activamente en su estudio.

Si la computación cuántica se convierte en una realidad, no supondrá una amenaza a todos los sistemas criptográficos, ya que si un intruso trata de leer la información, la naturaleza cuántica de la misma hará que ésta se destruya, y quede delatado. La pérdida de esta información podría solventarse por métodos  de códigos de corrección de errores (QEC). En concreto, se están estudiando QEC basados en la adaptación de códigos clásicos de Hamming, que corrigen un error una vez producido, mediante circuitos de recuperación sujetos, también, a error.


Resumiendo,
Las capacidades propias de la tecnología cuántica permitirán romper los sistemas de cifrado tradicionales, pero a la vez permitirán crear nuesvos sistemas de cifrado mucho más potentes.
El problema es el de siempre, que la NSA, NASA, FBI, etc dispondrán de esta tecnología antes que nosotros los pobres mortales.

Espero haber aclarado algo, de cualquier forma, ya documentaré bien este borrador a ver si sale un artículo chulos.

Salu2.
En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
hakais
Colaborador

Desconectado Desconectado

Mensajes: 898


:-P


Ver Perfil WWW
Algo que no entiendo...
« Respuesta #7 en: 13 Abril 2005, 22:35 »

Buenas.

Soy un simple curioso, no soy ningun experto en el tema ni en ningun campo de la informática, pero disfruto mucho con este mundo y hay unas questiones sobre este tema que hace tiempo que me rondan por la cabeza.

He leido todo el post, y me he informado algo mas sobre SSL. Los cálculos que haces para determinar el tiempo que tardaria un ordenador como el ES de 40 TFlops si no recuerdo mal, yo también me los habia planteado. Me hice migas porque observé que una encriptación de 128bit a fuerza bruta es literalmente "imposible" con la tecnología de hoy en dia (descartando la computación cuántica que desconozco por completo), y uno de 1024 ya ni te cuento....
Me se planteó entonces la duda que creo suponer se le presenta a guillamon. Envez de intentar romper la encriptación a fuerza bruta, porque no intentamos conseguir el algorritmo de encriptación? Pues todas las claves que se utilizan en una conexión SSL circulan por la red...
Voi a intentar resumir un poco lo que yo he entendido sobre todo el proceso:

- Se hacen las presentaciónes y todo el rollo de la identificación...
- El cliente envia su calve publica al servidor.
- El cliente genera una clave aleatoria temporal y la envia al servidor cifrada con la calve publica del cliente.
- El servidor envia esa misma clave cifrada con la clave publica del cliente para comprovar su coincidencia.
- El cliente genera una clave aleatoria que sera la clave maestra la que es enviada al servidor cifrada con la llave publica del cliente.
- Empiezan las transacciones todas cifradas con esa llave maestra.

No se si es del todo correcto, agradeceria que me corriguiesais si no lo es.
Bueno, visto esto, yo pregunto, porque no se intentan capturar las conexiones desde un principio con un sniffer?, teniendo en cuenta que estamos actuando en una ethernet sin switch ni router por lo que el broadcast esta vigente en toda la red, por lo que recibiríamos en nuestra tarjeta de red todos los mensajes que circulan por esta. Si cojemos la clave publica del cliente, la que creo creer que no esta cifrada podemos ir desencriptando todas las conexiones progresivamente hasta llegar a la maestra.... no es asi?

Probablemente estaré equivocado ya que soy un ignorante en este tema.... pero me gustaría que me concretarais donde....

Gracias.
En línea

El hacker es el filósofo de la actualidad
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #8 en: 17 Abril 2005, 05:49 »

Citar
porque no intentamos conseguir el algorritmo de encriptación?
Ya los tienes, son públicos. Intercambio de clave simétrica con un RSA de longitud de clave la del certificado, y el algoritmo simétrico un RC4.

Dependiendo del algoritmo es mejor utilizar fuerza bruta, coo en el caso de un DES, o criptoanálisis diferenciales o lineales o cualquier método por inventar, como en RC4.

Pero estos métodos requieren que tengas muchos paquetes cifrados, muchos paquetes en plano con sus correspondientes cifrados, etc, y en el caso del SSL, como la clave de sesión va cambiando cada rato, es muy dificil conseguir estos datos.

Lo normal es que no tengas los sfientes y tengas que recurrir a fuerza bruta.

Citar
una encriptación de 128bit a fuerza bruta es literalmente "imposible" con la tecnología de hoy en dia (descartando la computación cuántica que desconozco por completo
El tema de la computación cuántica es para rompre el RSA, el cifrado de clave pública/privada.
No es porque ganemos potencia de cálculo, es porque un tal Peter Shor que se aburría mucho, un día creó un algoritmo cuántico que rompe de un plumazo el RSA.
Si rompes el RSA ya tienes la clave de sesión, pero no es lo mismo que obtenerla por fuerza bruta u otro medio.


Citar
Se hacen las presentaciónes y todo el rollo de la identificación...
- El cliente envia su calve publica al servidor.
- El cliente genera una clave aleatoria temporal y la envia al servidor cifrada con la calve publica del cliente.
- El servidor envia esa misma clave cifrada con la clave publica del cliente para comprovar su coincidencia.
- El cliente genera una clave aleatoria que sera la clave maestra la que es enviada al servidor cifrada con la llave publica del cliente.
- Empiezan las transacciones todas cifradas con esa llave maestra.

No es así, si el cliente le envia algo cifrado al servidor con la clave publica del cliente, el servidor no puede descifrarla (se descifraría con la clave privada del cliente, y solo la tiene el).
Te has liado con las claves del handshake.
Básicamente sin entrar en detalle es así.

- El cliente hace un petición de información al servidor. (Cuando pones la URL en el navegador para que te muestre tal web)
- El servidor le envia su clave publica al cliente.
- El cliente genera la clave de sesión aleatoria, la cifra con la clave pública del servidor, y se la envia.
- El servidor la descifrada con su privada.

Citar
Pues todas las claves que se utilizan en una conexión SSL circulan por la red...


De esta forma, ambos tienen la clave de sesion sin que esta pase en plano en la comunicación.

Citar
yo pregunto, porque no se intentan capturar las conexiones desde un principio con un sniffer?,


El cifrado/descifrado se hace en el navegador, a la tarjeta de red ya le viene todo cifrado. Sería muy fácil no? :)
En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
Perezosso

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #9 en: 07 Enero 2006, 01:45 »

perdonar que abra este hilo despues de tantos meses pero es que me he quedado atonito despues de leer a Unravel...como no ha puesto las fuentes de donde ha sacado la informacion, suponemos que lo ha escrito a pelo...y si ha sido asi  :rolleyes: flipo

despues de leer algunas de las preguntas que han hecho los compañeros quiero deciros que si alguien consigue el algoritmo de clave simetrica de verising...no duraria mucho vivo. y descubrir la clave privada(Algoritmo asimetrico) de un host es imposible ya que lo bueno de las claves asimetricas es que bajo un complejo computo se puede crear un cifrado, pero llevaria millones de años descifrarlo, ademas ese computo permite que se pueda mandar la clave publica para cifrar mientras que la clave privada nunca se puede sniffar, por que nunca saldra del equipo del que se encuentra.

lo que no entiendo de las claves publicas es que significado tienen, cuando se dicen que son de 1024 bit o 2048? ya que en su computo aparecen muchos terminos.
En línea
Unravel
BlueHack Team

Desconectado Desconectado

Mensajes: 1.016



Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #10 en: 09 Enero 2006, 01:11 »

Citar
como no ha puesto las fuentes de donde ha sacado la informacion,

El handshake del SSL viene descrito en los papers de MicroSoft. No puedo decirte las fuentes porque realmente lo escribí a pelo. Me ayudñe de algún documento pero solo para certificar algún dato, y no me preguntes cuál era porque ni me acuerdo.

Lo de la longitud de la clave se refiere a la longitud del módulo n. El módulo n es el resultado de multiplicar dos número primos, llamados p y q, y las claves del RSA salen de ese p y q, los cuales no conoces, solo conoces n.

Por eso para saber una clave a partir de la otra necesitas factorizar n para sacar p y q. Cuanto más grnade más dificil.

Mirate el hilo de RSAS para no iniciados que viene una explicación a nivel básico.
En línea

"La verdad es un ácido corrosivo que salpica casi siempre al que la maneja". Santiago Ramón y Cajal.
Perezosso

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #11 en: 09 Enero 2006, 13:58 »

hola unravel  ;)
ya me habia leido de arriba abajo tu guia de Rsa para no iniciados, pero siguo sin entender el concepto de codificacion.
si hablamos de una clave asimetrica cuya clave tiene 2048 bits se entiende que
p*q = n <= 2Potencia->256 (2048bits)=1,1579208923731619542357098500869e+77

¿significa esto realmente?


gracias
En línea
APOKLIPTICO

Desconectado Desconectado

Mensajes: 552


Don't talk to me if you ain't got the answer


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #12 en: 06 Marzo 2006, 02:55 »

Lamento defraudarlos a todos, pero cuando logren hacer microprocesadores cuanticos, http://www.laflecha.net/canales/ciencia/200408035/, entonces, calcule muy inexactamente cuantos procesamientos x segundo se pueden obtener. Algo asi como 1 * 10 ^ 50, ya que un atomo es muuuuucho mas pequeño que los transistores de silicio actuales, y creo q no se van a usar atomos sino algunas particulas subatomicas mas pequeñas. entonces:

3,4 * 10 ^ 38 / 1 * 10 ^ 50 = 3,4 * 10 ^ -12.

Esto significa una fraccion infima de segundos, incluso cifrados de 2048 bits serian vulnerables ya que serian descifrados en un par de segundos. Necesitaria una supercalculadora ahora... son demasiados numeros. Habra que usar cifrados de x lo menos 1 megabit, que va a ser mas que posible en esos tiempos. No piensen que falta mucho, nosotros los llegaremos a ver. Saludos.

PD: tambien tendrian que avanzar los sistemas de almacenamiento. Otra cosa, se fijaron en esto:
Citar
ya que también provee una solución que podría ser prácticamente imposible de violar por los hackers.

Que ignorantes...
En línea

DE VIAJE DESDE EL 6/9 HASTA 16/9!!

Y = (100/(100+(x-Pi/2)^8)) * (2-sin(7*x)-cos(30*x)/2)

Aprendiendo:
RFI: 10%
XSS: 70%
Exploits: 60%
Hack Wireless: 10%
Troyanos y Virus: 70%
Encriptacion y Cifrados: 40%
Windows: 90%
Linux: 40%
VB: 70%
C++: 20%
ASM: 5%
Batch: 90%
Java: 15%
Perl: 10%
Redes: 30%
Software: 70%
Hardware y OC: 50%
Guitarra: 20%
Aberroncho
Colaborador

Desconectado Desconectado

Mensajes: 1.307


Daría todo lo que sé por la mitad de lo que ignoro


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #13 en: 29 Marzo 2006, 11:50 »

Estoy leyendo una noticia de Hispasec acerca de nuevos troyanos para atacar cuentas bancarias. En él se habla de un nuevo gusano y se dice literalmente:

Citar
Este ejemplar utiliza un sistema sencillo man-in-the-middle, pero que si es convenientemente explotado, puede ser sumamente eficiente: interceptando la comunicación HTTPS con las entidades afectadas (en este caso dos bancos alemanes: Postbank y Deutsche Bank), captura el TAN que envía el usuario y seguidamente muestra un mensaje de error a la víctima. Mientras ésta se pregunta que demonios ha pasado, llega para el atacante el momento de hacer rápido uso de dicho TAN para poder acceder a la cuenta de la víctima, dado el periodo de vida limitado que tiene dicho código de transacciones.

El TAN es un código de un único uso que el usuario debe teclear en la web para autentificarse.

Lo que no veo es como mediante man-in-the-middle se puede capturar el TAN. Toda la comunicación SSL se produce cifrada con una cifra simétrica cuya clave se ha intercambiado con cifrado asimétrico. O yo me he perdido algo o el proceso de intercambio de claves es lo bastante seguro como para que un equipo que se situe en medio a sniffar la transmisión solo pueda hacerse con una versión cifrada de la clave simétrica que se utilizará para cifrar toda la transmisión ¿así que como puede hacer la captura del TAN?¿Donde está el resquicio en SSL que permite a un equipo sniffar y descifrar toda la comunicación?
En línea

Un perdedor no es quien llega el último sino aquél que se sienta y mira y nunca ha intentado correr
torkan

Desconectado Desconectado

Mensajes: 85


Ver Perfil
Re: SSL 128, mitos y realidades de su fortaleza.
« Respuesta #14 en: 17 Mayo 2007, 14:58 »

esto es lo k y o llamo abrir un post k lleva meses ya sin respuestas jajaja. He estado mirando intensamente este post, y me parece MUY bueno, se ve k el cifrado RSA es bien jodido de romper... eso esta claro ya k lo tenemos de 1024 bits. 
Bueno quiero hacerle unas preguntas a Unravel (k espero me coneste a pesar de tantos meses despues  :rolleyes: ):

Si todo está correcto el cliente genera un número aleatorio que va a servir para calcular una clave de sesión correspondiente al algoritmo de cifrado simétrico negociado antes, conocida con el nombre de clave maestra, que es enviada al servidor de forma segura cifrándola asimétricamente con la llave pública de su Certificado Digital. Esta clave maestra se usará para generar todas las claves y números secretos utilizados en SSL. Con esto servidor y cliente se han identificado y tienen en su poder todos los componentes necesarios para empezar a transmitir información cifrada simétricamente.
Bueno a la vista de esto que mencionas, entiendo que la clave de sesion es encriptada con la clave publica RSA de Xbits no?, si me estoy ekivokando dimelo, soy un poco novato pero kreo saber de lo k hablo  ;D. Bueno entonces si esto es asi, y suponiendo que tenemos la clave publica RSA de XBits(k figura en el certificado que manda el servidor SSL) no existiria ningun problema en obtener esta clave de sesion no? Esto se podria hacer de forma inmediata?, no me refiero a obtener la RSA k esta claro k no es imediato precisamente, almenos por fuerza bruta jeje,sino a desencriptar la clave de sesion con la RSA "supuestamente" ya obtenida. Y con esta clave maestra obtendriamos la desencriptacion de los paquetes de datos que envia una maquina a un servicio SSL?

Bueno esto es mi pregunta, es posible k tenga algunas mas dependiendo de cual sea la respuesta  :)
Gracias y un saludo.
« Última modificación: 17 Mayo 2007, 15:03 por torkan » En línea
Páginas: [1] 2 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC