Métodos de protección con contraseña, organización de la protección con contraseña, contraseñas de un solo uso. Proteger la información con una contraseña

Protección de contraseña

El papel de la protección con contraseña para garantizar la seguridad AIS. Los métodos criptográficos, en particular el cifrado, proporcionan una buena protección de la información (confidencialidad, integridad, autenticidad, etc.) frente a un intruso externo. Un intruso de este tipo podría posiblemente interceptar mensajes transmitidos a través de un canal de comunicación y, en algunos casos, modificarlos e incluso insertar sus propios mensajes en la sesión de comunicación (a menudo intentando hacerlos pasar como mensajes de otra fuente). Sin embargo, la información en el canal de comunicación primero se somete a transformaciones criptográficas y se transmite de acuerdo con protocolos criptográficos diseñados específicamente para evitar que un atacante implemente amenazas a la seguridad. Para violar la seguridad de la información que circula en el sistema, necesita encontrar una vulnerabilidad en el sistema de seguridad o en los algoritmos criptográficos utilizados en él. Surgen dificultades similares tanto para un atacante que ha obtenido acceso a un AIS protegido como para un usuario que no tiene los privilegios necesarios para acceder a los datos que le interesan.

Sin embargo, la situación cambia si el atacante obtiene acceso al sistema en nombre de un usuario autorizado para realizar operaciones con los datos que le interesan (por ejemplo, copiar archivos confidenciales, destruir datos críticos, etc.). En este caso, toda protección criptográfica es inútil. Por tanto, el punto más vulnerable de un sistema de información automatizado son sus puntos de acceso. Estos puntos de acceso están protegidos por protocolos de autenticación (autenticación de usuario). Y la forma de autenticación más fácil de usar y más utilizada es protección de contraseña.

Hay una serie de técnicas estándar utilizadas por los atacantes para eludir la protección con contraseña. Para cada una de estas técnicas, se ha desarrollado una contramedida.

Técnicas para eludir la protección con contraseña y métodos para contrarrestarlas.

1. Búsqueda completa (método de fuerza bruta).

El ataque más simple (desde un punto de vista técnico) a una contraseña es probar todas las combinaciones de caracteres válidos (comenzando por contraseñas de un solo carácter). La potencia informática moderna permite probar todas las contraseñas de hasta cinco o seis caracteres en unos pocos segundos.

Algunos sistemas no permiten la implementación de ataques de fuerza bruta porque responden a varios intentos de contraseña incorrectos seguidos.

Sin embargo, existen muchos sistemas que permiten una búsqueda infinita. Por ejemplo, para un archivo protegido con contraseña (archivo rar o zip, documento de Microsoft Office, etc.), puede probar diferentes contraseñas sin cesar. Existen muchos programas que le permiten automatizar este procedimiento: Recuperación avanzada de contraseña RAR, Recuperación avanzada de contraseña PDF, Recuperación avanzada de contraseña de Office XP. Además, muchos programas almacenan el hash de la contraseña en un archivo accesible. Por ejemplo, así es como un cliente de correo electrónico (que se ejecuta en una computadora pública) puede almacenar contraseñas de usuario. Hay formas de robar un archivo que contiene hashes de contraseñas del sistema operativo. Después de esto, puede seleccionar contraseñas sin pasar por el sistema mediante programas especiales.

Una característica importante de una contraseña que dificulta la fuerza bruta es su longitud. Una contraseña moderna debe tener al menos 12 caracteres.

Dos caracteres adicionales en una contraseña aumentan el tiempo de búsqueda 40.000 veces y cuatro caracteres, 1.600.000.000 veces. Sin embargo, la potencia informática de las computadoras crece constantemente (hace unos años, una contraseña de 8 caracteres se consideraba segura).

2. Exceso en un rango limitado.

Se sabe que muchos usuarios, al redactar una contraseña, utilizan caracteres que se encuentran dentro de un rango determinado. Por ejemplo, una contraseña que consta únicamente de letras rusas, o únicamente de letras latinas, o únicamente de números. Esta contraseña es mucho más fácil de recordar, pero la tarea del enemigo que realiza la búsqueda se simplifica increíblemente.

Sea n = 70 el número de caracteres que pueden componerse de una contraseña, de los cuales 10 son números, 30 son letras de un idioma y 30 son letras de otro idioma. Creemos una contraseña de longitud m = 4 caracteres.

Si la contraseña se crea de forma completamente aleatoria, entonces el número de combinaciones posibles (que deben probarse) es 704 = 24010000. Sin embargo, el enemigo puede suponer que la contraseña consta de caracteres del mismo rango (incluso si son desconocidos). cuál). Hay un total de 104 + 304 + 304 = 10000 + 810000 + 810000 = 163000. Si tenía razón, entonces el número de combinaciones (y por tanto el tiempo necesario para buscar) disminuyó 147 veces. Este número aumenta drásticamente a medida que aumenta la longitud de la contraseña y el número de rangos de caracteres a partir de los cuales se puede componer.

Como consecuencia, una contraseña segura debe contener caracteres de diferentes rangos. Se recomienda utilizar ruso e inglés, letras mayúsculas y minúsculas, números y otros símbolos (signos de puntuación, guiones bajos, etc.).

3. Ataque de diccionario

Muy a menudo se elige una palabra como contraseña. Un programa de búsqueda automática de contraseñas comprueba las palabras contenidas en un archivo de diccionario determinado (hay una gran cantidad de diccionarios de este tipo disponibles para diferentes idiomas). Un programa de este tipo comprueba un diccionario de doscientas mil palabras en unos pocos segundos.

Muchos usuarios creen que si aplica alguna transformación simple a la palabra deseada, por ejemplo, la escribe al revés o en letras rusas en el diseño en inglés, o comete un error deliberadamente, esto garantizará la seguridad. De hecho, en comparación con adivinar una contraseña aleatoria, adivinar una contraseña usando un diccionario usando varias transformaciones (poner en mayúscula la primera letra, poner en mayúscula todas las letras, combinar dos palabras, etc.) hace que una tarea imposible sea completamente posible.

Una contraseña segura no debe basarse en palabras en lenguaje natural.

4. Ataque de diccionario personal

Si un ataque de diccionario y contraseñas de fuerza bruta cortas o compuestas por caracteres del mismo grupo no ayudan, un atacante puede aprovechar el hecho de que, para que sea más fácil de recordar, muchos usuarios eligen datos personales como contraseña. (número de teléfono celular, fecha de nacimiento escrita al revés, nombre del perro, etc.).

Si el objetivo del atacante es eludir la protección con contraseña de este usuario en particular, puede crear un diccionario personal de datos personales para él y luego utilizar un programa automático de adivinación de contraseñas que generará contraseñas basadas en este diccionario.

Una contraseña segura no debería tener ningún significado.

5. Colección de contraseñas almacenadas en lugares públicos.

En muchas organizaciones, las contraseñas las crea y distribuye el administrador del sistema, que utiliza las reglas anteriores. Los usuarios deben utilizar la contraseña que se les ha asignado. Sin embargo, dado que esta contraseña es difícil de recordar, a menudo se mantiene a mano en forma escrita. A menudo hay casos en los que la contraseña está escrita en una nota adhesiva y pegada al monitor, o está contenida en una libreta.

Los usuarios a menudo no se toman en serio la seguridad de su contraseña de servicio. Mientras tanto, entrar en las instalaciones de una organización y realizar una inspección visual es una tarea bastante sencilla para un atacante.

La contraseña no debe almacenarse en un lugar de acceso público. La opción ideal es recordarlo y no guardarlo en ningún lado. Si la contraseña está contenida en un cuaderno, no debe dejarse desatendido y, al ingresar la contraseña, no deben estar presentes extraños que puedan mirar el libro por encima del hombro.

6. Ingeniería social

La ingeniería social es la manipulación de personas para penetrar los sistemas protegidos de un usuario u organización. Si no puede adivinar o robar una contraseña, puede intentar engañar al usuario para que le dé la contraseña. Una táctica clásica de ingeniería social es realizar una llamada telefónica a la víctima en nombre de alguien que tiene derecho a conocer la información solicitada. Por ejemplo, un atacante puede hacerse pasar por administrador del sistema y solicitar una contraseña (u otra información) con un pretexto convincente. Persuadir a un usuario para que abra un enlace o archivo adjunto que no debería abrir o atraerlo a un sitio falso también se consideran métodos de ingeniería social.

Debes recordar la regla: nunca debes revelar tu contraseña a extraños. Incluso si estas personas tienen derecho a conocerlo. La única excepción puede ser si un tribunal o una agencia policial le exige que proporcione la contraseña bajo pena de responsabilidad por negarse a testificar. Pero incluso en este caso, es necesario asegurarse de que los agentes del orden sean exactamente quienes dicen ser.

7. Phishing

Suplantación de identidad Se trata de un procedimiento para “pescar” contraseñas de usuarios aleatorios de Internet. Normalmente, esto implica la creación de sitios "ficticios" que engañan al usuario para que introduzca su contraseña.

Por ejemplo, para obtener una contraseña para una cuenta bancaria se puede crear un sitio web con un diseño idéntico al sitio web de un determinado banco. La dirección de este sitio, por supuesto, será diferente, pero la mayoría de las veces el atacante registra un nombre de dominio que difiere del nombre del banco en un carácter. Como resultado, el usuario, habiendo cometido un error tipográfico, llegará a un sitio falso y no se dará cuenta de su error. Para atraer a los usuarios, a los clientes del banco también se les pueden enviar correos electrónicos con contenido como "revise su cuenta" o "consulte nuevas promociones", y el correo electrónico contiene un enlace que conduce a un sitio web falso.

Cuando los clientes del banco acceden al sitio web del atacante, se les pide (como en el sitio web real) que introduzcan un nombre de usuario y una contraseña para acceder a la cuenta. Esta información se almacena en la base de datos del atacante, tras lo cual el cliente es redirigido a la página principal del sitio web real. El usuario ve que ingresar la contraseña "no funcionó" y piensa que cometió un error o que el sitio simplemente tiene "errores". Intenta ingresar la contraseña nuevamente y esta vez inicia sesión exitosamente. Esto disipa sus sospechas. Mientras tanto, la contraseña ya se ha filtrado...

Otro tipo de phishing se basa en que muchos usuarios utilizan la misma contraseña para diferentes recursos. Como resultado, al llevar a cabo un ataque exitoso a un recurso menos protegido, se puede obtener acceso a uno más protegido.

Por ejemplo, se crea un sitio web que es potencialmente interesante para un determinado círculo de usuarios. Si el objetivo del ataque es una persona específica, primero se estudian sus intereses y pasatiempos. La información sobre este sitio se comunica a las víctimas potenciales. Al usuario que visita el sitio se le solicita que se registre, en particular, que obtenga una contraseña. Ahora solo queda ver si la contraseña ingresada es adecuada para otros recursos de este usuario (por ejemplo, la dirección de correo electrónico cuya dirección se especificó durante el registro).

Para combatir la amenaza del phishing, debe verificar cuidadosamente la dirección del sitio web antes de ingresar una contraseña importante. Es mejor colocar esta dirección en los marcadores de su navegador y utilizar estos marcadores exclusivamente, nunca haciendo clic en enlaces de correos electrónicos. Debe utilizar diferentes contraseñas para acceder a diferentes servicios.

Seguir las siete recomendaciones anteriores es bastante difícil. Es difícil recordar varias contraseñas seguras (largas y sin sentido), y es más probable que la olvides que que te pirateen. Sin embargo, existen una serie de herramientas que facilitan esta tarea, en particular, programas para almacenar contraseñas.

en un programa KeePass portátil Todas las contraseñas se almacenan en un archivo cifrado, para acceder al cual deberás introducir una contraseña (la única que tendrás que recordar verdaderamente). Sin embargo, el programa no muestra estas contraseñas explícitamente en la pantalla. Para ingresar una contraseña para acceder a un recurso (por ejemplo, un sitio web o correo electrónico específico), debe seleccionar el recurso de la lista y seleccionar el comando en el menú contextual. Copiar contraseña al portapapeles. La contraseña se colocará en el portapapeles. Incluso monitoreando cuidadosamente las acciones del usuario, el enemigo no verá una contraseña que no esté escrita en el teclado y que no aparezca explícitamente en la pantalla. A continuación, solo necesita ir a la ventana del programa que requiere una contraseña y colocarla desde el portapapeles en el campo de entrada (presionando Ctrl + V o el comando Insertar Menú de contexto). La contraseña se mostrará inmediatamente como asteriscos. Después de unos segundos, se eliminará automáticamente del búfer. El programa también le permite generar contraseñas aleatorias de una longitud determinada, y es posible que el usuario ni siquiera sepa qué contraseña creó el programa para él; es importante que proporcione esta contraseña cada vez que necesite iniciar sesión. Finalmente, KeePass Portable no requiere instalación en el sistema: el programa se puede transferir a una unidad flash y ejecutar directamente desde ella.

Atrás

CAPÍTULO IV

TECNOLOGÍAS DE HACKING DE PROTECCIONES DE SOFTWARE

Evitar la difusión de información sobre ataques crea una peligrosa ilusión de seguridad...

Chris Kaspersky. Técnica y filosofía de los ataques hacker.

Un programador que domine los métodos técnicos de seguridad sin duda debe conocer las tecnologías para piratear la seguridad para, en primer lugar, no repetir los errores de los sistemas existentes y, en segundo lugar, crear mecanismos más eficientes y confiables. El autor de la protección también debe conocer bien las herramientas de los crackers modernos y tener en cuenta las capacidades de las herramientas de investigación de programas existentes (depuradores, desensambladores, visores) al diseñar mecanismos y sistemas de protección de software.

En este capítulo, veremos las ideas, técnicas, algoritmos y tecnologías básicas que le permiten eliminar, eludir o piratear la protección del software. También daremos algunas recomendaciones para mejorar los mecanismos de protección.

Los experimentos para piratear el famoso estándar criptográfico estadounidense son ampliamente conocidos: Algoritmo DES (Estándar de cifrado de datos). Clave DES de 56 bits -El algoritmo fue inquebrantable durante unos veinte años. “... cayó el 17 de junio de 1997, 140 días después del inicio de la competencia (al mismo tiempo, se probaron y gastaron alrededor del 25% de todas las claves posibles). 450 MIPS -años " . En 1998, se informó de un hackeo. DES -algoritmo en 56 horas.

El algoritmo RSA encontró por primera vez un fuerte salto en el rendimiento informático; para resolverlo, es necesario resolver el problema de factorización. En marzo de 1994 se completó la factorización de un número de 129 dígitos (428 bits6), que duró 8 meses. Para ello participaron 600 voluntarios y 1.600 máquinas conectadas por correo electrónico. El tiempo empleado por la máquina fue equivalente a aproximadamente 5.000 años MIPS.

El 29 de enero de 1997, RSA Labs anunció un concurso para abrir el algoritmo simétrico RC5. ¡La clave de 40 bits se reveló 3,5 horas después del inicio de la competición! (Esto ni siquiera requirió conectar computadoras a través de Internet; una red local de 250 máquinas en la Universidad de Berkeley fue suficiente). Después de 313 horas, también se abrió la clave de 48 bits [24].

Incluso un programador novato puede escribir un programa que construya todas las secuencias posibles de símbolos a partir de un conjunto secuencial enumerable dado. Evidentemente, el autor del cálculo de la defensa debería basarse en el hecho de que una búsqueda completa llevaría un período de tiempo superior al razonable. Y lo primero que utilizan los desarrolladores para esto es aumentar la longitud de la clave (contraseña). A su manera tienen razón. Pero

En primer lugar, como ya se señaló, la potencia de las computadoras está creciendo, y si una búsqueda completa ayer requirió un largo período de tiempo, lo más probable es que el tiempo que la computadora necesitará mañana sea aceptable para eliminar la protección.

Debido al espectacular aumento de la potencia informática, los ataques de fuerza bruta tienen muchas más posibilidades de éxito que antes. Si para el sistema UNIX la función crypt(), responsable del hash de contraseñas, se implementó de tal manera que tardó casi 1 segundo en ejecutarse en una máquina de clase PDP, entonces en veinte años la velocidad de su cálculo ha aumentado en 10.000 veces (!). Por lo tanto, si antes los piratas informáticos (y los desarrolladores que limitaban la longitud de la contraseña a 8 caracteres) ni siquiera podían imaginar una búsqueda completa, hoy un ataque de este tipo tendrá éxito en promedio en 125 días.

En segundo lugar, para aumentar la velocidad de enumeración, ya se han propuesto algoritmos efectivos que pueden mejorarse (generalmente basados ​​​​en lógica formal y utilizando la teoría de conjuntos, la teoría de la probabilidad y otras áreas de las matemáticas). Además, también se utilizan algoritmos de búsqueda rápida. (Por ejemplo, para atacar RSA y se proponen sistemas similares para utilizar la búsqueda de tablas autoorganizadas).

Además, ya se ha creado un equipo especial que realiza funciones de búsqueda.

Es importante tener en cuenta que almacenar una función hash de contraseña no elimina la posibilidad de un ataque de fuerza bruta, sino que sólo cambia el tiempo necesario para descifrarla. De hecho, ahora el programa que busca contraseñas debe complementarse calculando la función hash de cada opción y comparando el resultado con el estándar hash.

Prestemos atención a otra circunstancia relacionada con la protección basada en hash de contraseñas. Algunas funciones hash pueden devolver el mismo resultado que el original para una contraseña incorrecta. Para eliminar la protección en este caso, basta con encontrar cualquier contraseña adecuada, lo que obviamente debilita la protección y reduce el coste del hackeo. (Las funciones hash tienen esta propiedad, dando un resultado comparable en longitud (en bits) a una contraseña).

Detengámonos en otro tipo de técnica de búsqueda de contraseñas por fuerza bruta: la llamada Ataque de diccionario . Este es un método que se puede utilizar para descifrar una contraseña significativa. El método se basa en el hecho de que el usuario, para memorizar más fácilmente, selecciona una palabra (del diccionario) que existe en un determinado idioma. Teniendo en cuenta que no hay más de 100.000 palabras en cualquier idioma, es obvio que se realizará una búsqueda completa de palabras en el diccionario en un corto período de tiempo.

Hoy en día están muy extendidos los programas que seleccionan contraseñas basándose en palabras del diccionario. Ahora sólo un usuario irresponsable o perezoso puede decidirse por una contraseña significativa. Recordemos que, además de consultar el diccionario, estos programas “pueden” cambiar los casos de los caracteres, “conocer” los signos de puntuación, “adivinar” que el usuario puede invertir una palabra, unir dos palabras mediante un signo de puntuación o un número, etc. transformaciones.

Cabe destacar que los modernos medios de protección contra el acceso no autorizado, que permiten al usuario elegir de forma independiente una contraseña de acceso, están equipados con módulos que verifican que la contraseña seleccionada pertenezca a dichos diccionarios y, en este caso, no permiten el uso de la contraseña. .

Los programas que realizan ataques de diccionario funcionan con bastante rapidez, ya que implementan algoritmos de búsqueda y comparación eficientes. Por ejemplo, no utilizan una comparación lenta de cadenas, sino una comparación de sumas de comprobación, etc. Muchos de ellos ni siquiera contienen una base de datos de palabras, sino que utilizan diccionarios integrados en editores de texto comunes.

_____________________________

* La protección con contraseña debe usarse en los casos en que un ataque de fuerza bruta sea ineficaz o que el atacante no tenga acceso a herramientas informáticas suficientemente potentes para llevar a cabo un ataque de fuerza bruta (no debemos olvidarnos de la posibilidad de utilizar tecnologías de red). ).

* Para fortalecer la protección con contraseña, debe utilizar técnicas originales que reduzcan la velocidad de búsqueda de contraseñas.

* Puede fortalecer ligeramente la protección de la contraseña realizando dos comprobaciones (dependientes) en el programa: tanto la contraseña como el resultado de la función hash de la contraseña, mientras "oculta" el mecanismo de protección en el nivel adecuado o, como mínimo, rechazando la protección directa. comparación. En este caso, es aconsejable seleccionar específicamente una función hash que produzca una gran cantidad de contraseñas que coincidan con el estándar hash. Con esta implementación del mecanismo de defensa, el atacante necesitará atacar dos parámetros.

* La protección funciona aún más eficazmente si la contraseña (o mejor aún, la función de contraseña) sirve como clave de cifrado para alguna parte del código del programa. En este caso, el cracker, después de probar todas las contraseñas posibles (lo que da un resultado hash determinado), tendrá que descifrar el código.

Tenga en cuenta que en este tipo de protección, es decir, cuando se verifican varios parámetros simultáneamente, una función hash que proporciona el resultado requerido para una gran cantidad de contraseñas complica significativamente el descifrado.

___________________________________________________________

Más detalles

1. Ejemplos de ataques a mecanismos de seguridad: Chris Kaspersky "Técnica y filosofía de los ataques de piratas informáticos".

2. Generación de secuencias de números pseudoaleatorios - Yu.S. Kharin, V.I. Bernik, G.V. Matveev “Fundamentos matemáticos de la criptología”, págs. 153-188; V. Zhelnikov "Criptografía del papiro a la computadora", págs. 181-207.

La gran mayoría de los sistemas operativos utilizan un nombre y una contraseña para identificar y autenticar a los usuarios. Para identificarse, el usuario debe ingresar su nombre y, para autenticarse, ingresar una contraseña, una cadena de texto que solo él conoce. El nombre de usuario normalmente se lo asigna el administrador del sistema.

El procedimiento de identificación y autenticación mediante nombre y contraseña es sumamente sencillo. El usuario ingresa un nombre y una contraseña desde el teclado, el sistema operativo busca en la lista de usuarios una entrada relacionada con ese usuario y compara la contraseña almacenada en la lista de usuarios con la contraseña ingresada por el usuario. Si una entrada para un usuario que ha iniciado sesión está presente en la lista de usuarios y la contraseña contenida en esa entrada coincide con la ingresada, la identificación y autenticación se consideran exitosas y comienza la autorización del usuario. De lo contrario, al usuario se le niega el acceso y no puede utilizar el sistema operativo hasta que se identifique y autentique correctamente. Si la identificación y autenticación del usuario se produce cuando el usuario inicia sesión en un servidor remoto, el nombre y la contraseña del usuario se envían a través de la red (normalmente en forma cifrada).

Para garantizar una protección confiable del sistema operativo, la contraseña de cada usuario debe ser conocida sólo por ese usuario y nadie más, incluidos los administradores del sistema. A primera vista, el hecho de que el administrador conozca la contraseña de un determinado usuario no afecta negativamente la seguridad del sistema, ya que el administrador, al iniciar sesión en el sistema como usuario normal, recibe derechos menores que los que recibiría. iniciando sesión en el sistema como él mismo. Sin embargo, al iniciar sesión en el sistema en nombre de otro usuario, el administrador puede eludir el sistema de auditoría, así como realizar acciones que comprometan a este usuario, lo cual es inaceptable en un sistema seguro.

De lo anterior se deduce que las contraseñas de los usuarios no deben almacenarse en texto claro en el sistema operativo. Dado que el administrador del sistema debe tener acceso a la lista de usuarios para realizar sus funciones (esto es necesario, por ejemplo, para registrar nuevos usuarios), si las contraseñas se almacenan allí abiertamente, el administrador tiene acceso a ellas. Esto le da al administrador la posibilidad de iniciar sesión en el sistema en nombre de cualquier usuario registrado.

Normalmente, para cifrar contraseñas en una lista de usuarios, se utiliza una de las funciones hash criptográficamente fuertes conocidas: una función f fácilmente computable, para la cual la función f1 (posiblemente ambigua) no se puede calcular en un tiempo aceptable. La lista de usuarios no almacena la contraseña en sí, sino una imagen de la contraseña, que es el resultado de aplicar una función hash a la contraseña. El carácter unidireccional de la función hash no permite recuperar una contraseña utilizando una imagen de la contraseña, pero sí permite, mediante el cálculo de la función hash, obtener una imagen de la contraseña ingresada por el usuario y así verificar la exactitud de la contraseña ingresada. En el caso más simple, el resultado de cifrar alguna constante en la contraseña se utiliza como función hash.



La función hash utilizada para generar imágenes de contraseñas debe ser criptográficamente segura. El hecho es que es casi imposible garantizar que las imágenes de las contraseñas se mantengan en secreto para todos los usuarios del sistema. Un administrador de sistema operativo, utilizando sus privilegios, puede leer fácilmente imágenes de contraseñas del archivo o base de datos en el que están almacenadas. Durante la autenticación de red de un usuario en un servidor, se transmite una imagen de contraseña a través de canales de comunicación abiertos y puede ser interceptada por cualquier monitor de red. Si un atacante, conociendo el valor de la función hash (la imagen de la contraseña del usuario), puede, en un tiempo razonable, seleccionar un argumento de función correspondiente a este valor (la contraseña del usuario o una contraseña equivalente), no se puede hablar de cualquier protección de la información en el sistema operativo. Esto no significa que las imágenes de contraseñas deban estar disponibles públicamente. Almacenar imágenes de contraseñas en un archivo o base de datos a la que solo pueden acceder los procesos del sistema crea una capa adicional de protección.

Debe participar en el procedimiento de generación de la imagen de la contraseña. marcado– un número o cadena generado aleatoriamente y almacenado en texto claro junto con la imagen de la contraseña. Esto es necesario para que diferentes imágenes coincidan con las mismas contraseñas. De lo contrario, un atacante puede llevar a cabo una serie de ataques al sistema operativo, el más peligroso de los cuales es el siguiente.

Un atacante toma un diccionario electrónico y, para cada palabra de este diccionario, genera exactamente la misma función hash que se utiliza para generar una imagen de contraseña. Las palabras y sus correspondientes funciones hash se almacenan en la base de datos. Tras interceptar la imagen de la contraseña de un determinado usuario, el atacante busca en esta base de datos una palabra correspondiente a la imagen de la contraseña interceptada. Esta es la contraseña requerida (o una contraseña equivalente a la requerida). La probabilidad de obtener con éxito una contraseña a partir de una imagen puede ser tan alta como se desee; para ello sólo necesita tener un diccionario suficientemente grande. Además, para reponer el diccionario, un atacante no necesariamente tiene acceso al sistema operativo atacado. Además, un atacante puede almacenar el diccionario fuera del sistema atacado, por ejemplo en el ordenador de su casa. Este ataque sólo se puede implementar si las mismas contraseñas coinciden con las mismas imágenes de contraseña. Si se utiliza un marcador al generar una imagen de contraseña, este ataque es imposible.

Si un usuario inicia sesión en un sistema e ingresa su nombre de usuario o contraseña incorrectamente, el sistema operativo debería mostrarle un mensaje de error sin indicar qué información es incorrecta. De lo contrario, la selección de la contraseña se simplifica enormemente.

Cuando se utilizan contraseñas para autenticar a los usuarios, existen dos amenazas principales para el subsistema de autenticación del sistema operativo: el robo de contraseñas y la adivinación de contraseñas.

Para garantizar una protección confiable contra el robo de contraseñas, el subsistema de seguridad del sistema operativo debe cumplir los siguientes requisitos:

La contraseña ingresada por el usuario no se muestra en la pantalla de la computadora;

No se permite ingresar una contraseña desde la línea de comando.

Además, se debe indicar a los usuarios del sistema operativo que:

La necesidad de mantener la contraseña en secreto para otros usuarios, incluidos los administradores del sistema operativo;

La necesidad de cambiar inmediatamente la contraseña después de que se haya visto comprometida;

La necesidad de cambiar su contraseña periódicamente;

Es inadmisible escribir la contraseña en papel o en un archivo.

En cuanto a la adivinación de contraseñas, antes de pasar a describir los medios de protección contra esta amenaza, deberías considerar los métodos de adivinación de contraseñas con más detalle.

3.2.1. Métodos para adivinar contraseñas

Existen los siguientes métodos para adivinar las contraseñas de los usuarios.

1. Exceso total. En este caso, el atacante probará secuencialmente todas las opciones de contraseña posibles. Si la contraseña tiene más de cuatro a seis caracteres, este método es completamente ineficaz.

2. Búsqueda total, optimizada en base a estadísticas de aparición de símbolos. Aparecen diferentes caracteres en las contraseñas de los usuarios con diferentes probabilidades. Por ejemplo, la probabilidad de que aparezca la letra "a" en la contraseña de un usuario es mucho mayor que la probabilidad de que aparezca el carácter "A" en la contraseña. Según varios estudios, las estadísticas de aparición de caracteres en el alfabeto de contraseñas se aproximan a las estadísticas de aparición de caracteres en el lenguaje natural.

En la aplicación práctica de este método, un atacante primero prueba contraseñas compuestas por los caracteres que aparecen con más frecuencia, por lo que el tiempo de fuerza bruta se reduce significativamente. A veces, al seleccionar contraseñas, no solo se utilizan estadísticas sobre la aparición de símbolos, sino también estadísticas sobre la aparición de bigramas y trigramas, combinaciones de dos y tres caracteres consecutivos, respectivamente.

Para seleccionar contraseñas utilizando este método, se han escrito muchos programas en diferentes momentos. Algunos de ellos envían alternativamente diferentes opciones de contraseña a la entrada del subsistema de autenticación del sistema operativo, otros prueban opciones de contraseña generando una función hash y luego comparándola con una imagen de contraseña conocida. En el primer caso, la velocidad de adivinación de la contraseña está determinada por el rendimiento del sistema operativo. En el segundo caso, el tiempo medio para seleccionar una contraseña de 6 a 8 caracteres, que no incluye números ni signos de puntuación, varía desde varias decenas de segundos hasta varias horas, dependiendo de la potencia informática de la computadora y la eficiencia de la implementación del algoritmo de generación de función hash en el programa que selecciona contraseñas.

3. Búsqueda total, optimizada mediante diccionarios. En la mayoría de los casos, las contraseñas de los usuarios son palabras en inglés o ruso. Dado que es mucho más fácil para un usuario recordar una palabra significativa que una secuencia de caracteres sin sentido, los usuarios prefieren utilizar palabras significativas como contraseñas. Al mismo tiempo, se reduce drásticamente el número de opciones de contraseña posibles. De hecho, el idioma inglés contiene sólo unas 100.000 palabras (sin contar los términos científicos, técnicos, médicos y de otro tipo), lo que es 6,5 veces menos que el número de todas las combinaciones de cuatro letras inglesas.

Al utilizar este método de adivinación de contraseñas, un atacante primero probará como contraseñas todas las palabras del diccionario que contengan las contraseñas más probables. Un atacante puede crear dicho diccionario él mismo o tomarlo, por ejemplo, de Internet, donde hay una gran cantidad de diccionarios similares adaptados para diferentes países del mundo. Si la contraseña seleccionada no está en el diccionario, el atacante intentará varias combinaciones de palabras del diccionario, palabras del diccionario con una o más letras, números y signos de puntuación añadidos al principio y/o al final, etc.

Normalmente este método se utiliza en combinación con el anterior.

4. Adivinar contraseña utilizando el conocimiento del usuario. Ya se mencionó anteriormente que los usuarios intentan utilizar contraseñas fáciles de recordar. Muchos usuarios, para no olvidar la contraseña, eligen como contraseña su nombre, apellido, fecha de nacimiento, número de teléfono, número de coche, etc. En este caso, si el atacante conoce bien al usuario, normalmente le basta con realizar entre 10 y 20 pruebas.

5. Seleccionar una imagen de contraseña. Si el subsistema de autenticación del sistema operativo está diseñado de tal manera que la imagen de la contraseña es significativamente más corta que la contraseña misma, un atacante no puede adivinar la contraseña, sino su imagen. Sin embargo, en este caso, un atacante, después de seleccionar una imagen de contraseña, debe obtener la contraseña correspondiente a la imagen seleccionada, y esto solo es posible si la función hash utilizada en el sistema no es lo suficientemente segura.

3.2.2. Protección contra compromiso de contraseña

Diremos que una contraseña ha sido comprometida si algún otro usuario conoce la contraseña del usuario. El riesgo puede ocurrir como resultado del descuido del usuario, del robo de la contraseña o de la adivinación por parte de un atacante. Existen varios métodos que pueden reducir en cierta medida la amenaza de comprometer las contraseñas de los usuarios, algunos de los cuales veremos a continuación.

1. Limitar la fecha de vencimiento de la contraseña. Al utilizar este método, cada usuario del sistema operativo debe cambiar la contraseña en ciertos intervalos. Es aconsejable limitar el período máximo de validez de la contraseña a 30-60 días. Restricciones menos estrictas no tienen el efecto deseado y el uso de restricciones más estrictas aumenta considerablemente la probabilidad de que el usuario olvide su contraseña. Una vez que la contraseña ha caducado, el usuario debe cambiarla dentro de un período de tiempo (generalmente de 1 a 2 días) después de iniciar sesión por primera vez después de la fecha de vencimiento. Si el usuario no ha cambiado la contraseña dentro del tiempo asignado, el sistema operativo le impide iniciar sesión hasta que el administrador del sistema lo permita explícitamente.

La fecha de vencimiento de la contraseña debe limitarse no solo desde arriba sino también desde abajo. De lo contrario, el usuario, después de haber cambiado la contraseña, puede volver inmediatamente a la contraseña anterior cambiándola nuevamente.

También es recomendable comprobar la unicidad de la nueva contraseña cada vez que la cambie. Para hacer esto, el sistema operativo debe almacenar no solo una imagen de la contraseña actual del usuario, sino también imágenes de las últimas 5 a 10 contraseñas utilizadas por él.

2. Restricciones sobre el contenido de la contraseña. Este método consiste en que el usuario no puede elegir una cadena arbitraria de caracteres como contraseña, sino solo una cadena que cumpla ciertas condiciones. Las siguientes condiciones se utilizan comúnmente:

– la longitud de la contraseña no debe ser inferior a un determinado número de caracteres; En la literatura sobre seguridad informática y en la documentación sobre sistemas operativos, generalmente se recomienda prohibir el uso de contraseñas de menos de 6 a 8 caracteres, pero teniendo en cuenta el rápido progreso de la tecnología informática, ahora es aconsejable limitar la longitud de contraseñas de 10 a 14 caracteres;

– la contraseña debe contener al menos 5-7 caracteres diferentes;

– la contraseña debe incluir letras minúsculas y mayúsculas;

– la contraseña del usuario no debe coincidir con su nombre;

– la contraseña no debe estar presente en la lista de contraseñas "malas" almacenadas en el sistema.

Como regla general, los administradores del sistema operativo pueden variar estas restricciones tanto dentro del sistema operativo completo como para usuarios individuales. Por ejemplo, si se utiliza un determinado nombre de usuario para los inicios de sesión de invitados, no resulta práctico establecer restricciones en la contraseña utilizada.

Al elegir restricciones de contraseña, tenga en cuenta que si las restricciones de contraseña son demasiado estrictas, los usuarios tendrán dificultades para recordarlas.

3. Bloqueo del terminal. Con este método, si el usuario ingresa el nombre de usuario y la contraseña incorrectamente varias veces seguidas, el terminal desde el cual el usuario inicia sesión se bloquea y el usuario no puede continuar iniciando sesión. Los parámetros de este método son:

– el número máximo permitido de intentos fallidos de inicio de sesión desde un terminal;

– intervalo de tiempo tras el cual se pone a cero el contador de intentos fallidos de inicio de sesión;

– duración del bloqueo de terminales (puede hacerse ilimitada; en este caso, solo el administrador del sistema puede eliminar el bloqueo de terminales).

4. Bloqueo de usuarios. Este método se diferencia del anterior únicamente en que no se bloquea el terminal desde el que el usuario inicia sesión, sino la cuenta del usuario.

5. Generación de contraseña por parte del sistema operativo. En este caso, los usuarios no pueden crear sus propias contraseñas; el sistema operativo lo hace por ellos. Cuando el usuario necesita cambiar la contraseña, ingresa el comando apropiado y recibe una nueva contraseña del sistema operativo. Si el usuario no queda satisfecho con la opción de contraseña propuesta, podrá solicitar otra opción al sistema operativo. La principal ventaja de este método es que el sistema operativo genera contraseñas de forma aleatoria y es casi imposible adivinarlas. Por otro lado, este tipo de contraseñas suelen ser difíciles de recordar, lo que obliga a los usuarios a escribirlas en un papel. Si esto no supone una amenaza para la seguridad del sistema (por ejemplo, si el usuario inicia sesión sólo a través de Internet desde el ordenador de su casa), este modelo de autenticación es casi ideal. De lo contrario, no es apropiado utilizarlo.

6. Contraseña y revisión. Con este esquema de autenticación, cuando un usuario inicia sesión, el sistema operativo le proporciona un número aleatorio o una cadena a la que el usuario debe proporcionar comentarios correctos. De hecho, la contraseña son los parámetros del algoritmo para convertir una solicitud del sistema operativo en una respuesta correcta del usuario. Estos parámetros son seleccionados aleatoriamente por el sistema operativo para cada usuario, lo que esencialmente reduce este esquema de autenticación al anterior.

7. Contraseña de un solo uso. En este caso, la contraseña del usuario se cambia automáticamente después de cada inicio de sesión exitoso. Este esquema de autenticación protege de manera confiable contra la adivinación de contraseñas, ya que incluso si un atacante adivina una determinada contraseña, solo puede usarla una vez. Además, un usuario cuya contraseña esté comprometida no podrá iniciar sesión la próxima vez porque intentará ingresar la contraseña anterior que ya usó el atacante. La desventaja de este esquema es que es casi imposible recordar muchas contraseñas que cambian constantemente. Además, los usuarios suelen “perder la cuenta” al intentar introducir una contraseña al iniciar sesión que ya está desactualizada o aún no ha entrado en vigor. Debido a estas y otras deficiencias, este esquema prácticamente no se utiliza en la práctica.

Algunos de los métodos enumerados se pueden utilizar en combinación.

Cuando se utiliza el primer método, a cada usuario se le asigna una contraseña bastante larga, y cada vez no se utiliza la contraseña completa para la identificación, sino solo una parte de ella. Durante el proceso de autenticación, el sistema solicita al usuario un grupo de caracteres utilizando números de secuencia específicos. El número de caracteres y sus números de secuencia para la solicitud se determinan mediante un sensor de números pseudoaleatorios.

Con el uso único de contraseñas, a cada usuario se le asigna una lista de contraseñas. Durante el proceso de solicitud, el número de contraseña a ingresar se selecciona secuencialmente de una lista o según un esquema de muestreo aleatorio.

Una desventaja de los métodos simples de modificación del esquema de contraseñas es que los usuarios deben recordar contraseñas largas o listas de ellas. Escribir contraseñas en papel o en cuadernos conlleva el riesgo de pérdida o robo de los soportes de almacenamiento que contienen las contraseñas escritas.

1.3.2. Método de solicitud-respuesta

Cuando se utiliza el método “solicitud-respuesta” en las Fuerzas Armadas, se crea de antemano y especialmente protegido un conjunto de preguntas, incluyendo tanto preguntas de carácter general como preguntas personales relacionadas con un usuario específico, por ejemplo, preguntas relacionadas con casos de su vida es conocida sólo por el usuario.

Para confirmar la autenticidad del usuario, el sistema le plantea secuencialmente una serie de preguntas seleccionadas al azar a las que deberá responder. La identificación se considera positiva si el usuario responde correctamente a todas las preguntas.

El principal requisito para las preguntas en este método de autenticación es la unicidad, lo que significa que solo los usuarios a quienes están destinadas estas preguntas conocen las respuestas correctas.

1.3.3. Métodos funcionales

Entre los métodos funcionales, los más comunes son el método de conversión de contraseña funcional y el método de protocolo de enlace.

El método de transformación funcional se basa en el uso de una determinada función F, que debe cumplir los siguientes requisitos:

Para un número o palabra X dado, es fácil calcular Y=F(X);

Conociendo X e Y, es difícil o imposible determinar la función Y=F(X).

Una condición necesaria para cumplir estos requisitos es la presencia en la función F(X) de parámetros que cambian dinámicamente, por ejemplo, la fecha, hora actual, número del día de la semana o la edad del usuario.

Se informa al usuario:

La contraseña inicial es una palabra o número X, por ejemplo el número 31:

Función F(X), por ejemplo, Y=(X mod 100) * D + WJ, donde (X mod 100) es la operación de tomar el resto de una división entera de X entre 100, D es el número actual del día de la semana y W es el número actual de la semana del mes actual;

Frecuencia de cambios de contraseña, por ejemplo, cada día, cada tres días o cada semana.

Las contraseñas de usuario para la secuencia de períodos de validez especificados de una contraseña serán X, F(X), F(F(X)), F(F(F(X))), etc., respectivamente, es decir. para el primer período de validez de una contraseña, la contraseña de usuario será F""1(X). Por lo tanto, para calcular la siguiente contraseña después del período de validez de la contraseña utilizada, el usuario no necesita recordar la contraseña inicial (original), solo es importante no olvidar la función de conversión de contraseña y la contraseña utilizada hasta ahora.

Para lograr un alto nivel de seguridad, la función de conversión de contraseña configurada para cada usuario debe cambiarse periódicamente, por ejemplo, cada mes. Al sustituir una función, es recomendable establecer una nueva contraseña inicial.

Según el método de protocolo de enlace, existe una función F que sólo conocen el usuario y el BC. Esta función debe satisfacer los mismos requisitos que los definidos para la función utilizada en el método de transformación funcional.

Cuando un usuario ingresa a la aeronave, el sistema de seguridad genera un número aleatorio o una secuencia aleatoria de caracteres X y calcula la función F(X) especificada para este usuario (ver Fig. 1.2). A continuación, X se envía al usuario, quien debe calcular F(X) e ingresar el valor resultante en el sistema. El sistema compara los valores de F(X) y F(X) y, si coinciden, el usuario accede a la aeronave.

Arroz. 1.2. Esquema de autenticación de protocolo de enlace

Por ejemplo, en BC se genera y se entrega al usuario un número aleatorio que consta de siete dígitos. Para confundir a un atacante, se puede insertar un punto decimal en cualquier lugar del número. La función F se toma como Y = (<сумма 1-й, 2-й и 5-й цифр числа>)2 - <сумма 3-й, 4-й, 6-й и 7-й цифр числа> + <сумма цифр текущего времени в часах>.

Para mayor seguridad, es recomendable cambiar la función de protocolo de enlace cíclicamente en ciertos intervalos, por ejemplo, instalar diferentes funciones para los días pares e impares del mes.

La ventaja del método de "apretón de manos" es que no se transfiere información confidencial entre el usuario y la aeronave. Por este motivo, la eficacia de este método es especialmente grande cuando se utiliza en redes informáticas para confirmar la autenticidad de los usuarios que intentan acceder a servidores o ordenadores centrales.

En algunos casos, puede ser necesario que el usuario verifique la autenticidad de la aeronave a la que desea acceder. La necesidad de verificación mutua también puede ser necesaria cuando dos usuarios de aeronaves quieran comunicarse entre sí a través de una línea de comunicación. Los métodos de contraseña simples, así como los métodos para modificar esquemas de contraseña simples, no son adecuados en este caso. El método más adecuado aquí es el “apretón de manos”. Al usarlo, ninguno de los participantes en la sesión de comunicación recibirá información secreta.

2 SOLUCIONES ESTÁNDAR EN LA ORGANIZACIÓN DE SISTEMAS CLAVE

Consideremos las estructuras de datos y los algoritmos de identificación y autenticación basados ​​en información clave, así como la jerarquía de almacenamiento de claves.

Dado que se espera que se realicen procedimientos de identificación y autenticación, supongamos que el i-ésimo objeto de autenticación (i-ésimo portador de claves) contiene dos campos de información: IDi: el identificador inmutable del i-ésimo usuario, que es un análogo del nombre y se utiliza para identificar al usuario, y K, - información de autenticación del usuario, que se puede cambiar y se utiliza para la autenticación.

De hecho, IDi puede corresponder a diferentes usuarios; por ejemplo, un medio de memoria táctil contiene 8 bytes de un identificador de medio inmutable, pero la TM se puede transferir a diferentes usuarios.

Llamaremos a la información agregada en el medio clave la información de autenticación primaria del usuario i-ro. La estructura descrita corresponde a casi cualquier medio clave utilizado para identificar al usuario. Por ejemplo, una TM tiene 8 bytes de un número de serie no renovable y no repetitivo que caracteriza de forma única una TM específica, y una cierta cantidad de memoria regrabable correspondiente a la información de autenticación Kj. De manera similar, para medios como tarjetas de plástico, se asigna información inmutable IDi de la personalización principal del usuario y un objeto en la estructura de archivos de la tarjeta que contiene Ki.

Los métodos de autenticación de contraseña dinámica brindan mayor seguridad porque la frecuencia de los cambios de contraseña es máxima: la contraseña de cada usuario cambia diariamente o cada pocos días. En este caso, cada contraseña posterior en relación con la anterior cambia según reglas según el método de autenticación utilizado.

Existen los siguientes métodos de protección con contraseña basados ​​en el uso de una contraseña que cambia dinámicamente:

Métodos para modificar el esquema de contraseña simple;

Métodos para identificar y establecer la autenticidad de sujetos y objetos diversos;

Método de solicitud-respuesta;

Métodos funcionales.

Los más efectivos de estos métodos son funcionales.

Métodos para modificar un esquema de contraseña simple. Los métodos para modificar el esquema de contraseña simple incluyen la aleatorización de los caracteres de la contraseña y el uso de contraseñas una sola vez.

Cuando se utiliza el primer método, a cada usuario se le asigna una contraseña bastante larga, y cada vez no se utiliza la contraseña completa para la identificación, sino solo una parte de ella. Durante el proceso de autenticación, el sistema solicita al usuario un grupo de caracteres bajo un número de secuencia determinado. El número de caracteres y sus números de secuencia para la solicitud se determinan mediante un sensor de números pseudoaleatorios.

Con el uso único de contraseñas, a cada usuario se le asigna una lista de contraseñas. Durante el proceso de solicitud, el número de contraseña a ingresar se selecciona secuencialmente de una lista o según un esquema de muestreo aleatorio.

Una desventaja de los métodos simples de modificación del esquema de contraseñas es que los usuarios deben recordar contraseñas largas o listas de ellas. Escribir contraseñas en papel crea un riesgo de pérdida o robo de los medios de almacenamiento que contienen contraseñas escritas.

Métodos de identificación y autenticación de sujetos y objetos diversos.

Al intercambiar información, se recomienda en cualquier caso prever la verificación mutua de la autenticidad de la autoridad del objeto o sujeto. Si se intercambia información a través de una red, entonces se debe seguir el procedimiento. Esto requiere que a cada uno de los objetos y sujetos se le dé un nombre único. Cada uno de los objetos (sujetos) debe almacenar en su memoria (inaccesible a personas no autorizadas) una lista que contenga los nombres de los objetos (sujetos) con los que se realizarán los procesos de intercambio de datos protegidos.

Método de solicitud-respuesta. Cuando se utiliza el método “solicitud-respuesta” en un sistema de información, se crea de antemano y especialmente protegida una serie de preguntas, incluidas preguntas de carácter general y preguntas personales relacionadas con un usuario específico, por ejemplo, preguntas relacionadas con casos de su vida es conocida sólo por el usuario.

Para confirmar la autenticidad del usuario, el sistema le plantea secuencialmente una serie de preguntas seleccionadas al azar a las que deberá responder. La identificación se considera positiva si el usuario responde correctamente a todas las preguntas.

El principal requisito para las preguntas en este método de autenticación es la unicidad, lo que significa que solo los usuarios a quienes están destinadas estas preguntas conocen las respuestas correctas.

Métodos funcionales. Entre los métodos funcionales, los más comunes son el método de conversión de contraseña funcional y el método de protocolo de enlace.

El método de transformación funcional se basa en el uso de una determinada función. F, el cual debe cumplir con los siguientes requisitos:

· para un número o palabra determinada X fácil de calcular Y=F(X),

· sabiendo X Y Y, es difícil o imposible definir la función Y=F(X).

Una condición necesaria para cumplir estos requisitos es la presencia en la función. F(X) parámetros que cambian dinámicamente, como la fecha actual, la hora, el día de la semana o la edad del usuario.

Se informa al usuario:

· contraseña inicial - palabra o número X, por ejemplo el número 31;

· función F(X), Por ejemplo, Y= (X modificación 100) D+W, Dónde (X modificación 100) - la operación de tomar el resto de una división entera X por 100, D- número del día actual de la semana, un W- número de la semana actual en el mes actual;

· frecuencia de los cambios de contraseña, por ejemplo cada día, cada tres días o cada semana.

Las contraseñas de usuario para la secuencia de períodos de validez especificados de una contraseña serán respectivamente X, F(X), F(F(X)), F(F(F(X))) etc., es decir, para i- del período de validez de una contraseña, la contraseña del usuario será Fi-1(X). Por lo tanto, para calcular la siguiente contraseña después del período de validez de la contraseña en uso, el usuario no necesita recordar la contraseña inicial (original), solo es importante no olvidar la función de conversión de contraseña y la contraseña utilizada hasta ahora. .

Para lograr un alto nivel de seguridad, la función de conversión de contraseña configurada para cada usuario debe cambiarse periódicamente, por ejemplo, cada mes. Al sustituir una función, es recomendable establecer una nueva contraseña inicial.

Según el método del "apretón de manos", existe una función F, conocido sólo por el usuario y el sistema de información. Esta función debe satisfacer los mismos requisitos que los definidos para la función utilizada en el método de transformación funcional.

Cuando un usuario inicia sesión en el sistema de información, el sistema de seguridad genera un número aleatorio o una secuencia aleatoria de caracteres. X, y se calcula la función F(X), especificado para este usuario.

Más X salida al usuario que debe calcular F"(X) e ingrese el valor resultante en el sistema. Valores F(X), F"(X) son comparados por el sistema, y ​​si coinciden, el usuario obtiene acceso.

Por ejemplo, en un sistema de información se genera y se entrega al usuario un número aleatorio que consta de siete dígitos. Para confundir a un atacante, se puede insertar un punto decimal en cualquier lugar del número. Como una función F aceptado:

Y=(<сумма 1th, 2th y 5ésimo dígito del número>)2 -<сумма 3th, 4th, 6th y 7º dígito del número > +<сумма цифр текущего времени в часах>.

Para mayor seguridad, es recomendable cambiar la función de protocolo de enlace cíclicamente en ciertos intervalos, por ejemplo, instalar diferentes funciones para los días pares e impares del mes.

La ventaja del método de protocolo de enlace es que no se transfiere información confidencial entre el usuario y el sistema de información. Por este motivo, la eficacia de este método es especialmente grande cuando se utiliza en redes para confirmar la autenticidad de los usuarios que intentan acceder a servidores o ordenadores centrales.

En algunos casos, el usuario podrá necesitar verificar la autenticidad del sistema de información al que desea acceder. La necesidad de verificación mutua también puede surgir cuando dos usuarios del sistema desean comunicarse entre sí a través de una línea de comunicación. Los métodos de contraseña simples, así como los métodos para modificar esquemas de contraseña simples, no son adecuados en este caso. El método más adecuado aquí es el “apretón de manos”. Al usarlo, ninguno de los participantes en la sesión de comunicación recibirá información secreta.




Arriba