¿Por qué криптосистемы son poco seguros? P.Semjanov



Pablo Semjanov
e-mail: psw@ssl.stu.neva.ru
web: www.ssl.stu.neva.ru/

En el software moderno (los softwares) криптоалгоритмы se aplican ampliamente no sólo para las tareas de la cifración de los datos, sino también para аутентификации y la comprobación de la integridad. Al día de hoy existen bien conocido y aprobado криптоалгоритмы (como con simétrico, y las llaves asimétricas), криптостойкость que o es demostrada математически, o es fundada en la necesidad de la decisión математически de la tarea difícil (факторизации, discreto логарифмирования y así sucesivamente). A más conocido de ellos относятсяDES, RSA. Así, no pueden ser abiertos de otro modo, que el exceso completo o la decisión de la tarea indicada.

Por otro lado, en informático y околокомпьютерном el mundo todo el tiempo aparece la información sobre las faltas o "los agujeros" en uno u otro programa (incluido que aplica криптоалгоритмы), o sobre lo que era forzada (cracked). Esto crea la desconfianza a los programas concretos, así como a la posibilidad de proteger en general algo криптографичеcкими por los métodos no sólo de los servicios especiales, sino también de los hackers simples.

Por eso el conocimiento de la historia de los ataques y "los agujeros" en криптосистемах, también la comprensión de las causas, por que tenían lugar, es una de las condiciones necesarias de la elaboración de los sistemas protegidos. La dirección perspectiva de las investigaciones en esta esfera es el análisis de los ataques con éxito pasados o las vulnerabilidades reveladas en криптосистемах con el fin de su generalización, la clasificación y la revelación de las causas y las leyes de su aparición y la existencia. Esto será la tarea del artículo dado.

Por la analogía con таксономией de las causas de la infracción de la seguridad ВС [1], distinguiremos las causas siguientes de la falta de solidez de los programas criptográficos (cm. Fig. 1):

    1. La imposibilidad de la aplicación resistente криптоалгоритмов;
    2. Las faltas en la realización криптоалгоритмов;
    3. La aplicación incorrecta криптоалгоритмов;
    4. El factor humano.

Notaremos en seguida que examinado más abajo de la causa cubren solamente dos tipos de las amenazas potencialmente posibles: los descubrimientos y la integridad, dejando a un lado la amenaza de la renuncia en el servicio, que adquiere el significado siempre más grande con el desarrollo distribuido криптосистем.

Fig.1
Fig. 1. Las causas de la falta de solidez криптосистем.

 La imposibilidad de la aplicación resistente криптоалгоритмов



Este grupo de las causas es más difundido por los factores siguientes.

La velocidad pequeña resistente криптоалгоритмов

Es el factor principal que dificulta la aplicación de los algoritmos buenos en, por ejemplo, los sistemas de la cifración "total" o la cifración "al vuelo". En particular, el programa Norton DiskReet, aunque tiene la realización DES, al cambio por el usuario de la llave puede no перешифровывать todo el disco, porque esto ocupará demasido tiempo. Análogamente, el programa de la compresión "al vuelo" Stacker las firmas Stac Electronics tiene la opción del cierre por la consigna компрессируемых de los datos. Sin embargo no tiene la posibilidad física de cifrar por esta consigna el fichero que tiene habitualmente las dimensiones en algún сот el megabyte, por eso se limita por el algoritmo muy débil y guarda la hesh-función de la consigna junto con los datos protegidos. La cantidad криптостойкости1 de esta función era investigada y se encontraba igual 28, e.d. la consigna puede ser abierta es trivial.

Las restricciones de exportación

Es la causa vinculada a la exportación криптоалгоритмов o con la necesidad de adquirir la patente o los derechos a ellos. En particular, de los EEUU es prohibida la exportación криптоалгоритмов con la longitud de la llave más 40 бит2. Es evidente que tal криптостойкость no puede considerarse seguro a las potencias modernas de cómputo y hasta sobre el ordenador personal, habiendo puesto la velocidad del exceso en 50 000 consignas/sek, recibiremos el tiempo del exceso por término medio aproximadamente 4 meses.

Los ejemplos conocidos de los programas sujetos a las restricciones de exportación son las últimas versiones de los browsers (browser) del Internet, en particular Netscape Navigatorфирмы Netscape Communications e Internet Explorer las firmas Microsoft. Conceden la cifración con la llave 128-de bit para los usuarios dentro de los EEUU y con la llave 40-de bit para todo otro.

También en este grupo cae la última versión del archivero ARJ 2.60 conocido el algoritmo débil de la cifración de los archivos. Ahora los usuarios dentro de los EEUU pueden usar криптостойкий el algoritmo el GOST. La vis cómica de la situación en lo que aunque este algoritmo es rusa, hasta los rusos por las leyes de los EEUU no pueden aprovecharse da lo mismo de ello en el programa ARJ.

El uso de propios криптоалгоритмов

La ignorancia o la falta de deseo de usar los algoritmos conocidos - tal situación, como ni es paradójico, tiene lugar también ser, especialmente en los programas como Freeware y Shareware, por ejemplo, los archiveros.

Como se decía ya, el archivero ARJ (hasta la versión 2.60 inclusivamente) usa (por reticencia) el algoritmo muy débil de la cifración - las horas muertas гаммирование. Parecería que en este caso su uso es admisible, porque архивированный el texto debe ser completamente неизбыточен y los métodos estadísticos криптоанализа no se acercan aquí. Sin embargo, después de un estudio más detallado resultó que en архивированном el texto asiste (y esto resulta justo para cualesquiera archiveros) alguna información no casual - por ejemplo, la tabla de Haffmana y alguna otra información de servicio. Por eso, sabiendo exactamente o habiendo predicho con alguna probabilidad el significado de estas variables de servicio, se puede con la misma probabilidad de determinar y los símbolos correspondientes de la consigna.

Más, el uso de los algoritmos débiles lleva a menudo al éxito del ataque según el texto abierto. En caso del archivero ARJ, si al malhechor le es conocido por lo menos un fichero del archivo cifrado, él con la ligereza determinará la consigna del archivo y sacará de allá todos los otros ficheros (¡криптостойкость ARJ en existencia del texto abierto - 20!). Aunque ni un fichero en el tipo no cifrado no existe, da lo mismo las horas muertas гаммирование permite alcanzar la velocidad del exceso en 350000 consignas/segundos en el coche de la clase Pentium.

La situación análoga tiene lugar y en caso de los programas populares de Microsoft Office - la definición de la consigna tiene que saber allí solamente 16 bytes del fichero.doc o.xls, después de que basta de escoger solamente 24 variantes. En Microsoft Office 97 son hechos los mejoramientos considerables de los algoritmos de la cifración, como resultado había una posibilidad solamente el exceso completo, pero... ¡No en todas partes - MS Access 97 usa el algoritmo primitivísimo, y son cifrados no los datos, а la consigna misma por la operación XOR con la constante fijada!

En la SO Novell Netware de red de la firma Novell (la versión 3.х y 4.х) se aplica también propio algoritmo хэширования. A la entrada la hesh-función recibe 32-bajtovoe el significado recibido de la consigna original del usuario por medio de o la compresión de la consigna en la longitud más de 32 símbolos por medio de la operación XOR, o la reproducción de la consigna de la longitud menos de 32 símbolos; а a la salida - 16-bajtovoe el hesh-significado (Hash16). (Para Novell Netware 3.х) está en la base de datos de los ligamentos (bindery) en forma de la propiedad "PASSWORD".

Una de las propiedades básicas криптостойкой las hesh-funciones debe ser lo que no debe permitir la construcción fácil de las colisiones (tal, por ejemplo, es la función crypt (), usado en UNIX, que es fundada en DES). Esta propiedad es violada en la hesh-función aplicada en Novell Netware.

Era construido el procedimiento, que del hesh-significado dado por medio del exceso pequeño (algunos segundos en el coche de la clase 80486DX2-66) recibe 32-bajtovuju la consecuencia, que, claro, no es la consigna verdadera, pero se percibe con todo eso Novell Netware como tal, porque la aplicación a ella del hesh-algoritmo, da con la exactitud el hesh-significado que hay.

El hesh-algoritmo examinado se ha quedado y en 4 versiones Novell Netware.

A su vez, la firma Microsoft tiene también las faltas más serias del hesh-algoritmo básico aplicado en todas las SO, a partir de Windows 3.11, a аутентификации en local (la acta NetBIOS) y global (las actas CIFS y http) las redes, llamado LM (Lan Manager)-hesh [4]. (Además, Microsoft se refiere a lo que él se ha quedado todavía desde los tiempos de OS/2 y que lo elaboraba IBM).

Él es calculado del modo siguiente:

  1. La consigna se convierte en la línea 14-simbólica por medio de o отсечки está enfermo las consignas largas, o el complemento de las consignas cortas de los elementos de cero.
  2. Todos los símbolos del registro inferior son sustituidos por los símbolos del registro superior. Las cifras y los símbolos especiales se quedan sin cambios.
  3. 14-bajtovaja la línea se estrella en dos семибайтовых las mitades.
  4. Usando cada mitad de la línea en el papel de la llave DES, con él es cifrada la constante fijada, recibiendo a la salida dos 8-bajtovye las líneas.
  5. Estas líneas se reúnen para la creación del significado de 16-bits de la hesh-función.

Es evidente que los ataques en Lm-hesh obtienen fácilmente el éxito por las causas siguientes:

  • La transformación de todos los símbolos en el registro superior limita y sin aquel el número pequeño de las combinaciones posibles para cada uno (26+10+32=68).
  • Dos семибайтовых "las mitades" de la consigna хэшируются independientemente uno de otro. Así, dos mitades pueden formarse por el exceso independientemente uno de otro, y las consignas, que longitud supera siete símbolos, no más fuerte, que las consignas con la longitud siete símbolos. Así, la posición garantizada de la consigna tiene que escoger en vez de 940+941 +... 9414 ~4^1027 solamente 2 ^ (680+681 +... +687) ~1^1013 (e.d. casi en 1014 veces es más pequeño) de las combinaciones. Además, aquellas consignas, que longitud no supera siete símbolos, muy simplemente discernir, ya que la segunda mitad хэша será el mismo significado AAD3B435B51404EE, la constante fijada, recibida a la cifración, por medio de la llave de siete ceros.
  • No hay elemento de la casualidad (salt), como esto es hecho en crypt () - dos usuarios con las consignas iguales siempre tendrán los significados iguales de la hesh-función. Así, es posible de antemano componer el diccionario хэшированных de las consignas y realizar la búsqueda de la consigna desconocida en ello.

 La realización incorrecta криптоалгоритмов



A pesar de que se apliquen en este caso криптостойкие o los algoritmos certificados, este grupo de las causas lleva a las infracciones de la seguridad криптосистем por su realización incorrecta.

La reducción криптостойкости a la generación de la llave

Esta causa con los ejemplos muy numerosos, cuando криптосистема o corta la consigna del usuario, o genera de él los datos que tienen la cantidad menor de las palas, que la consigna misma. Los ejemplos:

  1. En muchas versiones UNIX (viejas) la consigna del usuario es cortada hasta 8 bytes ante хэшированием. Es curioso que, por ejemplo, Linux 2.0, exigiendo de los usuarios de la introducción de las consignas que contienen obligatoriamente las letras y las cifras, no comprueba que el comienzo 8-simbólico de la consigna consista también de las letras y las cifras. Por eso el usuario, habiendo dado, por ejemplo, la consigna bastante segura passwordIsgood19, será muy asombrado, habiendo conocido que el hacker ha entrado en el sistema bajo su nombre por medio de la consigna elemental password.
  2. Novell Netware permite a los usuarios tener las consignas hasta 128 bytes que da (incluso las letras latinas sin tomar en cuenta el registro, las cifras y los símbolos especiales) 68128 ~2779 combinaciones. Pero además, en primer lugar, la hesh-función (cm. Más arriba) recibe a la entrada solamente 32-bajtovoe el significado que limita la longitud eficaz de la consigna de la misma cantidad. Además, en segundo lugar, a la salida el hesh-significado tiene la longitud solamente 128 palas que corresponden 2128 combinaciones. Esto baja complementariamente la longitud eficaz hasta
  3. log68 (2^128)=21 символа3, e.d. en 6 veces en comparación con inicial.
  4. Por completo la situación análoga pasa con el archivero RAR de las versiones 1.5x - la elección de la consigna no lleva más de 10 símbolos al crecimiento del tiempo necesario a su apertura.

Si la longitud de la consigna "de arriba" está determinada en este caso por la realización криптоалгоритмов, la restricción de la longitud "de abajo" es vinculada ya a la noción de la unidad de la información o энтропии. En el ejemplo examinado con Novell Netware para la creación del hesh-significado con энтропией 128 palas la longitud de la consigna debe ser no menos 128 * (8/log2 (68))=69 бит4 o no menos 22 символов5. Lo que muchos криптосистемы no limitan la longitud mínima de la consigna, justamente y lleva al éxito de los ataques por el exceso no las llaves, а de las consignas.

La ausencia de la comprobación a las llaves débiles

Algunos криптоалгоритмы (en particular, DES, IDEA) a la cifración con las llaves específicas no pueden abastecer el nivel debido криптостойкости. Tales llaves llaman débil (weak). Para DES es conocido 4 débil y 12 semidébil (semi-weak) de las llaves. Y aunque la probabilidad de caer en ellos equivale 16/2^56~2^10-16, para los sistemas serios criptográficos desatender a ella no es posible.

La potencia de la multitud de llaves IDEA débiles compone no mucho - no poco - 251 (además, porque de todo de las llaves 2128, la probabilidad de caer en él en 3^107 veces menos que a DES).

La seguridad insuficiente de РПС

РПС (el software que destruyen) es unos viruses informáticos, troyano los caballos, las señales de programa y así sucesivamente los programas, capaz de interceptar la clave secreta o los datos mismos no cifrados, también simplemente sustituir el algoritmo en некриптостойкий. En caso de que el programador no prevea los modos suficientes de la defensa de РПС, son fácilmente capaces de violar la seguridad криптосистемы. Especialmente esto es actual para los sistemas de operaciones que no tienen los medios empotrados de la defensa o los medios de la diferenciación el acceso - como MS DOS o Windows 95:

  1. La intercepción de la consigna. Como el ejemplo es posible llevar el modo más viejo del rapto de la consigna, conocido todavía desde los tiempos de los ORDENADORES grandes, cuando el programa - "el fantasma" эмулирует la invitación de la SO, invitando a introducir el nombre del usuario y la consigna, lo recuerda en algún fichero e interrumpe el trabajo con el mensaje "Invalid password". Para MS DOS y Windows hay una multitud de señales para la lectura y la conservación de las consignas tomadas sobre el teclado (a través de la intercepción de la interrupción correspondiente), por ejemplo, en el trabajo de la utilidad v. 6.0.
  2. La sustitución криптоалгоритма. El ejemplo de la realización de este caso es la señal enmascarada bajo el programa - aplicado "el acelerador" como Turbo Krypton. Esta señal sustituye el algoritmo de la cifración el GOST 28147-89, el pago realizado "Krypton-3" (la variante de exposición), otro algoritmo, simple y fácilmente descifrado [1].
  3. El caballo de Troya en el correo electrónico. Al último ejemplo sirve las tentativas, que tenían lugar en junio de 1998, de la penetración del caballo de Troya a través del correo electrónico. En la carta eran impuestas la estampa pornográfica y el EXE-fichero FREECD.EXE, que por aquel tiempo, mientras el usuario se distraiga con la carta, descifraba las consignas a la unión con el proveedor (Dial-Up) y los enviaba a la dirección ispp@usa.net.

La presencia de la dependencia en el tiempo del tratamiento de las llaves

Es un relativamente nuevo aspecto de la realización insuficientemente correcta криптоалгоритмов, examinado en el artículo [2]. Es mostrado Allí que muchos криптосистемы tratan desigualmente rápidamente los datos diferentes de entrada. Esto pasa como por las salas de aparatos (la cantidad diferente de los ritmos a la operación, el impacto en el cache de procesador y así sucesivamente), y las causas de programa (especialmente con la optimización del programa por el tiempo). El tiempo puede depender como de la llave de la cifración, y (las razas) de los datos cifrados.

Por eso el malhechor, poseiendo la información detallada sobre la realización криптоалгоритма, teniendo los datos cifrados, y capaz de cualquier otro modo medir el tiempo del tratamiento de estos datos (por ejemplo, analizando el tiempo del envío de los paquetes con los datos), puede intentar recoger la clave secreta. En el trabajo es descrita detalladamente la táctica de los ataques a los sistemas que realizan los algoritmos RSA, Diffi-Hellmana y DSS, y se puede recibir la llave, precisando las palas por roto, а la cantidad de las medidas necesarias del tiempo directamente proporcional a la longitud de la llave.

Y aunque no consiguió llevar estas investigaciones hasta el resultado concreto (calcular la clave secreta), este ejemplo muestra que la programación de los sistemas del destino crítico (incluido y криптосистем) debe ser especialmente escrupulosa y, probablemente, es necesario aplicar para esto los métodos especiales protectores de la programación y los medios especializados de la elaboración (especialmente los compiladores).

Las faltas en la realización de programa

Claro que mientras los programas se escribirán por las personas, este factor siempre tendrá lugar. El ejemplo bueno - la SO Novell Netware 3.12, donde, a pesar del sistema bastante bien pensado аутентификации, a que, por las declaraciones de la firma Novell, "la consigna no cifrada pasa nunca por la red", consiguió encontrar la falta en el programa v. 3.76, a que la consigna en el tipo abierto cae en un de los paquetes de red. De esto no se observa ni con más temprano, ni con unas versiones más avanzadas de este programa que permite hablar sobre la falta puramente de programadores. Este la falta se manifiesta solamente si супервизор cambia la consigna a alguien (incluso a él). Por lo visto, de cualquier otro modo en el paquete de red cae el portapapeles de teclado.

La presencia de las escotillas

Las causas de la presencia de las escotillas en криптосистемах son evidentes: el elaborador quiere tener el control sobre la información, tratada en sistema su, y deja para la posibilidad de descifrarla, sin saber la llave del usuario. Es posible también que se usan para el ajuste y por una causa no ponen en order del producto final. Es natural que esto tarde o temprano se hace conocido al círculo de personas bastante grande y el valor tal криптосистемы se hace casi de cero. Los ejemplos más conocidos son aquí AWARD BIOS (hasta la versión 4.51PG) con su consigna universal "AWARD_SW" y СУБД Paradox las firmas Borland International, también que tiene "las superconsignas" "jIGGAe"y"nx66ppx".

Muy cerca a la presencia de las escotillas en la realización (es evidente que en este caso usan los algoritmos claramente inestables o guardan la llave junto con los datos) se adhieren los algoritmos que dan a la posibilidad la tercera persona leer al mensaje cifrado, como esto es hecho en el proyecto CLIPPER que ha hecho ruido, donde la tercera persona actúa el estado, siempre que quiere meter la nariz en los misterios de los ciudadanos.

Las faltas del captador de los números casuales (ДСЧ)

Bueno, математически comprobado y correctamente realizado ДСЧ es importante también para криптосистемы, tanto como bueno, математически resistente y correcto криптоалгоритм, de otro modo sus faltas pueden influir en general криптостойкость los sistemas. Además para la modelación ДСЧ en el ORDENADOR aplican habitualmente los captadores de los números seudocasuales (ПСЧ), que caracterizan por los períodos, la dispersión, también la necesidad de su inicialización (seed). La aplicación ПСЧ para криптосистем no es posible en general reconocer la decisión acertada, por eso bueno криптосистемы aplican para estos objetivos físico ДСЧ (el pago especial), o producen, por lo menos, el número para la inicialización ПСЧ por medio de las cantidades físicas (por ejemplo, el tiempo de la presión por las teclas por el usuario).

El período pequeño y la dispersión mala se refieren a las faltas ДСЧ matemáticas y aparecen en caso de que por unas causas sale propio ДСЧ. Con otras palabras, la elección de propio ДСЧ así como es peligrosa, tanto como la elección de propio криптоалгоритма.

En caso del período pequeño (cuando los significados seudocasuales producidos por el captador, menos que los significados posibles de la llave) el malhechor puede reducir el tiempo de la búsqueda de la llave, escogiendo no las llaves mismas, а los significados seudocasuales y generando de ellos las llaves.

A la dispersión mala del captador el malhechor puede reducir también el tiempo medio de la búsqueda, si comienza el exceso de los significados más probables de los números seudocasuales.

Por la falta más difundida que se manifiesta y en caso de buena ПСЧ, es su inicialización incorrecta. En este caso el número usado para la inicialización, tiene o el número menor de las palas de la información, que el captador mismo, o es calculado de los números no casuales y puede ser predicho está u otro grado de la probabilidad.

Tal situación tenía lugar en el programa Netscape Navigator de la versión 1.1. Ella инициализировала ПСЧ, usando el tiempo corriente en los segundos (sec) y los microsegundos (usec), también los identificadores del proceso (pid y ppid). Como han aclarado los investigadores de J.Goldberg y D.Vagner, a tal esquema como el máximo resultaban 47 palas que significan de la información (con tal que este captador se usaba para la recepción 40 o 128 (¡!) - las llaves de bit). Pero, si al malhechor

    1. Había una posibilidad de interceptar los paquetes entregados por la red; y
    2. Era el acceso (account) al ordenador, donde es puesto en marcha el programa,

Esto para él no componía el trabajo con el grado grande de la probabilidad de conocer sec, pid y ppid. Si condición (2) no se contentaba, el malhechor podía intentar da lo mismo establecer el tiempo a través de los demonios de red time, pid podría ser recibido a través del demonio SMTP (habitualmente él entra en el campo de Message-ID), а ppid o no se distingue fuerte de pid, o es igual en general 1.

Los investigadores han escrito el programa unssl, que, escogiendo los microsegundos, encontraba la llave secreta 40-de bit por término medio en un minuto.


 La aplicación incorrecta криптоалгоритмов



Este grupo de las causas lleva a lo que resulta por poco seguros криптостойкие y los algoritmos correctamente realizados.

La longitud pequeña de la llave

Es la causa más evidente. Surge la pregunta: ¿cómo resistente криптоалгоритмы pueden tener la longitud pequeña de la llave? Por lo visto, a consecuencia de dos factores:

  1. Algunos algoritmos pueden trabajar con la longitud variable de la llave, abasteciendo diferente криптостойкость - y la tarea del elaborador de escoger la longitud necesaria, en vista de deseable криптостойкости y la eficiencia. A veces a este deseo son puestas otras circunstancias - tales, como las restricciones de exportación.
  2. Algunos algoritmos eran elaborados muy hace mucho, cuando la longitud de la llave, usada en ellos, se consideraba más de suficiente para la observación del nivel necesario de la defensa.

Con el salto brusco de la productividad de las máquinas calculadoras se ha encontrado primero el algoritmo RSA, que apertura tiene que decidir la tarea факторизации. En marzo 1994 era acabada que duraba durante 8 meses факторизация los números de 129 cifras (428 бит6). Era involucrado Para esto 600 voluntarios y los 1600 coches vinculados por medio del correo electrónico. El tiempo tardado de máquina era aproximadamente 5000 MiPs-let7.

El progreso en la decisión del problema факторизации en mucho es vinculado no sólo al crecimiento de las potencias de cómputo, sino también con la aparición últimamente los nuevos algoritmos eficaces. (En факторизацию del número siguiente de 130 cifras se ha ido solamente 500 MIPS-años). Al día de hoy es real en general факторизовать los números 512-de bit. Si acordarse que tales números todavía recientemente se usaban en el programa PGP, es posible afirmar que es la más esfera que se desarrolla rápidamente de la criptografía y la teoría de los números.

El 29 de enero por 1997 firma RSA Labs era anunciado el oposiciones a la apertura del algoritmo RC5 simétrico. ¡La llave 40-de bit era abierta en 3.¡5 horas después del comienzo de la competición! (No ha sido necesario para esto vincular los ordenadores a través del Internet - ha bastado la red local de 250 coches en la universidad Berklevsky). En 313 horas era abierta la llave 48-de bit. Así, todo se hacía evidente que la longitud de la llave que satisface a las restricciones de exportación, no puede abastecer hasta la seguridad mínima.

Paralelamente con la apertura RC5 era dada la llamada y el pilar de la criptografía americana - el algoritmo DES que tiene la llave en 56 palas. Y él ha caído el 17 de junio de 1997, en 140 días después del comienzo de la competición (era testado además cerca de 25 % de todas las llaves posibles y son gastados aproximadamente 450 MIPS-años). Esto era el logro desctacado sin duda, que significaba la muerte DES real como el estándar de la cifración. En efecto, cuando en los comienzos de 1998 la competición siguiente por la posición de la llave DES ha llevado al éxito de todo en 39 días, el instituto nacional de los estándares de los EEUU (NIST) ha anunciado el oposiciones a la afirmación del nuevo estándar AES (Advanced Encryption Standard). AES debe ser por completo algoritmo abierto simétrico con la llave de la dimensión 128, 192 256 palas, y el bloque de la cifración de la dimensión de 128 palas.

La elección errónea de la clase del algoritmo

Esto también la causa muy difundida, a que el elaborador escoge que y bueno, pero completamente no conveniente a su tarea el algoritmo. Más a menudo es la elección de la cifración en vez de хэширования o la elección del algoritmo simétrico en vez del algoritmo con las llaves abiertas.

De los ejemplos aquí la masa es casi todos los programas, que limitan el acceso al ordenador por la consigna a su inclusión o la carga, por ejemplo, AMI BIOS, que guarda en vez de хэша de la consigna su variante cifrada, que, naturalmente, es descifrada fácilmente.

En todos los procedimientos de red аутентификации es natural aplicar ассиметричную la criptografía, que no permitirá escoger la llave hasta a la intercepción completa del tráfico. Sin embargo tales algoritmos (de red OC) mientras realiza solamente Novell Netware 4.x, otro se contenten (¡en el mejor de los casos!) el esquema estandartizado "la interpelación-repercusión", a que es posible conducir el exceso bastante rápido por los significados interceptados de "la interpelación" y "la repercusión".

La imposición repetida de la escala de la cifra

Ya el ejemplo clásico había una vulnerabilidad en Windows 3.x y las primeras versiones Windows 95, vinculado con la cifración. En este caso los programadores de la firma Microsoft, bien conocido por los conocimientos en el campo de la seguridad, aplicaban el algoritmo RC4 (que representa ni que otro, como la cifración гаммированием), sin cambiar la escala, algunas veces a los datos diferentes - los recursos de red que está en los ficheros del tipo.pwl.

Resultó que un de los juegos de los datos del fichero.pwl presentaba más del texto específico - el nombre 20-simbólico del usuario (en el registro superior) y el juego de los índices a los recursos (cm. Fig. 2). Así, habiendo adivinado ellos al usuario (que en la mayoría de los casos además coincide con el nombre del fichero) se puede calcular por lo menos 20 bytes de la escala. Porque la escala no se cambia a la cifración de otros recursos (en esto consiste la falta básica de la aplicación RC4 en este caso), pueden ser calculados los primeros 20 bytes de todos los recursos, en que entra la longitud cada uno ellos. Habiendo calculado la longitud, se puede encontrar los significados de los índices y por lo tanto añadir aún más decenas del byte a la escala adivinada. Este algoritmo es realizado en el programa conocido glide.



Fig.2

Fig. 2. El formato del fichero.PWL.

El almacenaje de la llave junto con los datos

Esta causa lleva a lo que los datos cifrados con la ayuda криптостойкого y el algoritmo correctamente realizado, pueden ser fácilmente descifrados. Esto es vinculado al carácter específico de la tarea decidida, a que es imposible introducir la llave de afuera y él está en algún sitio adentro en el tipo prácticamente no cifrado. Con otras palabras, aquí más vulnerable habrá un algoritmo de la cifración no por la llave, а de la llave (con la ayuda некоего de la llave secundaria). Pero puesto que (que además de sigue es evidente del carácter específico de la tarea) esta llave secundaria no es posible guardar de afuera, los datos básicos tarde o temprano serán descifrados sin uso de los métodos del exceso.

El ejemplo típico serán aquí todo WWW - ftp - los e-e-clientes. Es que para básico (más a menudo que se encuentra) аутентификации en estas actas la consigna debe pasar el servidor en el tipo abierto. Por eso los programas de clientes son obligados a cifrar (y no хэшировать) la consigna, y con la llave fijada para no importunar al usuario con las preguntas constantes. Debe de aquí que en algún sitio dentro de cualquier browser, postal o el ftp-cliente (como si eso fuera Netscape Communicator, Eudora, Outlook, FAR y así sucesivamente) están todas sus consignas en el tipo prácticamente abierto y que descifrarlos no presenta el trabajo. (Más a menudo, a propósito, la consigna en tales programas no es cifrada, а es codificado por el algoritmo como base-64).


 El factor humano



En cualquier sistema crítico de la falta de la persona-operador son casi más caro y difundido. En el caso криптосистем las acciones no profesionales del usuario reducen a la nada más resistente криптоалгоритм su realización más correcta y la aplicación.

En primer lugar esto es vinculado a la elección de las consignas. Es evidente que las consignas cortas o sensatas quedan en la memoria fácilmente por la persona, pero ellos es mucho más fácil para la apertura. El uso de las consignas largas y absurdas es sin duda mejor del punto de vista криптостойкости, pero la persona no puede recordarlos habitualmente y anota sobre el trozo de papel, que después o se pierde, o cae en manos del malhechor.

En los últimos años mucha atención es concedida al permiso de esta contradicción, pero la recomendación a escoger las consignas buenas salen por los límites de este artículo.

De esto que los usuarios cándidos escogen habitualmente o corto, o las consignas sensatas, existen dos métodos de su apertura: el ataque por el exceso completo y el ataque por el diccionario.

Del enlace con el crecimiento agudo de las potencias de cómputo del ataque por el exceso completo tienen mucho más de posibilidades para éxito, que antes de (cm. También "la longitud pequeña de la llave"). ¡Si para el sistema UNIX la función crypt (), que responde por хэширование de las consignas, era realizada así que se cumplía casi 1 segundo al coche de la clase PDP, en veinte años la velocidad de su cálculo se ha aumentado en 15000 veces (!). Por eso si antes los hackers (y los elaboradores, que han limitado la longitud de la consigna 8 símbolos) y no podían imaginarse el exceso completo, hoy tal ataque llevará por término medio al éxito por 80 дней8. La velocidad del exceso de las consignas para distinto криптосистем es llevada en la tabla 1.

Криптосистема

La velocidad, las consignas/cek.

ARJ 2.50

350 000

RC5 - 56 palas

150 000

Lm-hesh

50 000

Novell Netware 3.x

25 000

MS Office 97

15 000

UNIX - crypt ()

15 000

RAR 2.0

1 000

UNIX-MD5

500

La tabla 1. La velocidad del exceso completo en el ordenador de la clase Pentium/166.

Volveremos sin embargo en hace unos años, cuando la potencia de cómputo para el exceso completo de todas las consignas no bastaba. Con todo eso, los hackers era inventado el método gracioso fundado que la cualidad de la consigna por la persona sale la palabra existente o información cualquiera sobre él o las conocidas (el nombre, la fecha del nacimiento y así sucesivamente.). Y bien, а ya que en cualquier lengua no más 100000 palabras, su exceso ocupará el tiempo muy pequeño, y de 40 hasta 80 % de las consignas existentes puede ser adivinado por medio de tal esquema simple llamado "por el ataque por el diccionario". (¡A propósito, hasta 80 % de estas consignas puede ser adivinado con el uso del diccionario de la dimensión solamente 1000 palabras!). Hasta el virus de Morrisa (¡en 1988!) Aplicaba tal modo, ya que en UNIX "al alcance de la mano" resulta a menudo el fichero-diccionario habitualmente usado por los programas-correctores. En cuanto a "propias" consignas, el fichero/etc/passwd puede dar mucha información sobre usuario: su nombre de entrada, el nombre y el apellido, el catálogo de casa. El virus de Morrisa con el éxito usaba las suposiciones siguientes [3]:

  • En calidad de la consigna se coge de entrada por ello del usuario;
  • La consigna representa la repetición doble del nombre del usuario;
  • Mismo, pero leído de la derecha a la izquierda;
  • El nombre o el apellido del usuario;
  • Mismo, pero en el registro inferior.

Que hoy los usuarios comprenden ya que escoger tales consignas no es posible, pero hasta que con el ordenador trabaje человек9, los expertos por la seguridad informática no esperarán el uso de tales simple y que alegran ahogo las consignas, como 34jXs5U@bTa!6. Por eso hasta el usuario experto хитрит escoge tales consignas, como hope1, user1997, pAsSwOrD, toor, roottoor, parol, gfhjkm, asxz. Se Ve que todos ellos se basan, como regla, en la palabra sensata y alguna regla simple de su transformación: añadir la cifra, añadir el año, traducir a través de la letra en otro registro, anotar la palabra al contrario, añadir la palabra anotada al contrario, anotar la palabra rusa por las letras latinas, tomar la palabra rusa sobre el teclado con la distribución latina, componer la consigna de al lado de teclas, situadas sobre el teclado, y así sucesivamente.

Por eso no es necesario asombrarse, si tal consigna "astuta" es abierta por los hackers - ellos no más tontamente usuarios mismos, y han puesto ya en los programas aquellas reglas, por que puede ir la transformación de las palabras. En los programas más adelantados (John The Ripper, Password Cracking Library) estas reglas pueden ser programado y ser dado por medio de la lengua especial por el hacker mismo.

Daremos el ejemplo de la eficiencia de tal estrategia del exceso. ¡En muchos libros sobre la seguridad es invitado a escoger en calidad de la consigna segura dos palabras comprendidas, dividido por algún signo, por ejemplo "good! password". Calcularemos, por cuánto tiempo serán rotas por término medio tales consignas, si tal regla es incluida en el juego del programa-efractor (que el diccionario de 10000 palabras, los signos divisorios puedan ser 10 cifras y 32 signos de puntuación y el símbolo especial, el coche de la clase Pentium con la velocidad 15000 crypt/sek): ¡(10000 * (10+32) *10000) / (15000*2)=140 000 segundos o menos de 1.¡5 días!


 La conclusión



Del momento del comienzo de la escritura de este artículo en 1996 la posición en la aplicación de los medios de la criptografía en los programas aplicados se cambia indudablemente para bien. Poco a poco los elaboradores reconocen la necesidad de la aplicación de los algoritmos, que han adqurido reputación, se mueven del punto muerto de la posición de algunos países en la pregunta de la exportación криптоалгоритмов, son elaborados los nuevos algoritmos y los estándares con большей a la longitud de la llave y la eficiencia para la realización sobre todos los tipos de los procesadores, de 8-de bit hasta RISC.

Con todo eso, se queda el precipicio enorme entre el nivel de la firmeza y seguridad que existe ahora softwares, que aplica криптоалгоритмы, en que hasta ahora se encuentran los agujeros "infantiles" (el último ejemplo - la realización PPTP de Microsoft [4]) y aquel nivel криптостойкости, que muestran último, independientemente analizado que conducen криптоаналитиками los algoritmos y las actas, donde la vulnerabilidad seria se considera, por ejemplo, aquella que exige 265 bloques del texto cifrado y luego 258 excesos de las variantes o un texto abierto cifrado 233 diferente, pero llaves dependientes uno de otro y luego la complicación del análisis, igual 257 [5].

Apetece esperar que las realizaciones futuras y la aplicación de estos algoritmos conservarán un tan alto grado de su seguridad.


 El currículum vitae



Se puede distinguir 4 básicos los el grupos de las causas de la falta de solidez de los sistemas criptográficos: la aplicación de los algoritmos inestables, la realización incorrecta o la aplicación криптоалгоритмов, también el factor humano. Es visible además la paralela precisa entre ellos y las causas de la infracción de la seguridad de los sistemas informático.

Por las causas descritas había o hay unos problemas en la seguridad todas las clases de los productos informáticos, que usan криптоалгоритмы, como si eso fuera los sistemas de operaciones; криптопротоколы; los clientes y el servidor, sus que apoyan; programas de oficina; las utilidades de usuario de la cifración; los archiveros populares.

Para que es competente realizar propia криптосистему, es necesario no sólo se pondrá al corriente de las faltas de otros y comprender las causas, por que han pasado sino también, probablemente, aplicar las recepciones especiales protectoras de la programación y los medios especializados de la elaboración.


1 Bajo криптостойкостью será comprendida aquí y más allá la cantidad de las variantes para la posición de la llave por el exceso.

2 Esto era hasta hace poco tiempo. Es ahora - 56 palas.

3 [] - la parte entera (próximo entero de abajo).

4] [- próximo entero de arriba.

5 Está claro, así como aquí y en el ejemplo resultan más arriba los mismos números, pero a expensas del redondeo en las partes diferentes resulta la diferencia en 1 símbolo.

6 que corresponde aproximadamente a 56 palas para los algoritmos simétricos.

7 millón de instrucciones por segundo en la corriente del año.

8 Usando los pagos especiales o распараллеливание, se puede reducir este tiempo a algunos órdenes.

9 :-)



 La literatura



1. La teoría y la práctica del mantenimiento de la seguridad informativa. Bajo la redacción de Zegzhdy de art. Д - М, el Yachtsman, 1996.

2. P.Kocher. Temporal el análisis de las realizaciones De Diffi-Hellmana, RSA, DSS y otros sistemas

3. Mark W. Eichin, Jon A. Rochils. With Microscope and Tweezers: An Analysis of the Internet virus of November 1988.

4. B.Shnajer, P.Mjudzh. Криптоанализ de la acta PPTP de Microsoft.

5. Eli Biham, Lars R. Knudsen. Cryptanalysis of the ANSI X9.52 CBCM Mode. Proceedings of Eurocrypt ' 98.



 Las referencias adicionales



Bapichev Sepgej. Kpиптогpафия sin секpетов.

Bruce Schneier. Why Cryptography Is Harder Than It Looks



Яндекс цитирования

Subscribe Subscribe.Ru
The Family Tree of Family