¿Cómo evita SRP los ataques de intermediarios?

6

SRP está diseñado para resistir ataques tanto pasivos como activos, ¿cómo hace el SRP para evitar la modificación de paquetes en el hombre? ataques?

    
pregunta user236501 16.02.2013 - 09:19
fuente

1 respuesta

4

SRP es un Intercambio de claves autenticado por contraseña . Una manera defectuosa pero simple de verlo es que el cliente y el servidor comparten un secreto, sobre el cual se expande el algoritmo; un atacante que intente un ataque del hombre en el medio no conoce el secreto y no puede suplantar con éxito el cliente o el servidor (o ambos, en un MitM verdadero).

Lo que describo anteriormente es "solo" usar la contraseña como una clave (precompartida). Los algoritmos PAKE van un poco más lejos, con un montón de matemáticas, para poder tolerar un secreto compartido de baja entropía (es decir, la contraseña): un atacante que observa el intercambio, o incluso intenta hacerse pasar por un personaje. El cliente o el servidor no aprenden nada que le permita "probar contraseñas en casa" (es decir, no saca del algoritmo un hash de la contraseña), algo que se llama un ataque de diccionario sin conexión . Esto se hace con un baile sutil con un intercambio de claves clásico y un compromiso.

Lo más fácil de entender es Intercambio de claves cifradas en el que el intercambio es normal Diffie-Hellman , pero el cliente y el servidor "cifran" lo que envían con la contraseña. El algoritmo de "encriptación" debe ser tal que el descifrado con la contraseña incorrecta todavía produzca algo que se parece a un mensaje normal de DH (otro elemento del grupo). Un atacante que quiera ejecutar un ataque de diccionario sin conexión querrá "reorientar" un intercambio dado, haciendo algo que equivale a "imaginemos que para este intercambio anterior, usé la contraseña P ". Con EKE, cualquier "redireccionamiento" con otra contraseña que no sea la que realmente usó deja al atacante fuera del intercambio de claves DH, lo que le impide obtener la clave de sesión DH y prueba la hipótesis de su contraseña.

(Dije "lo más fácil de entender", no "simple". A los criptógrafos les lleva algo de tiempo comprender lo que realmente sucede en los algoritmos PAKE, que un amigo mío describió una vez como "un pequeño milagro". )

De todos modos , un algoritmo PAKE es un intercambio de claves y resulta en una clave compartida K . Todavía depende del cliente y el servidor utilizar K para cifrar y proteger los paquetes de datos posteriores, utilizando la parafernalia habitual del cifrado simétrico y MAC. Esta es la razón por la que SRP se utiliza mejor como parte de SSL / TLS , que proporciona los mecanismos para canalizar largas corrientes de datos.

    
respondido por el Thomas Pornin 16.02.2013 - 14:46
fuente

Lea otras preguntas en las etiquetas