Cifrado asimétrico en la práctica.

¡Te saludo, habravchane!

Los problemas de seguridad son un punto débil para la mayoría de nosotros. Es desagradable para todos nosotros chocar, mucho menos perder algo valioso debido a un clic accidental del mouse. Y es por eso que decidí compartir los materiales que encontré con ustedes.

En un esfuerzo por disipar la pregunta más frecuente: ¿por qué me atacarán? A quien necesito - Comenzaremos el artículo con él.

Ten en cuenta que no solo los humanos pueden atacarte. Esto lo puede hacer, por ejemplo, un bot.
Cada uno de nosotros está conectado al proveedor de Internet. Y sobre él, muy probablemente, los ataques tienen lugar literalmente todos los días. ¿Has notado la sección de spam en tu correo? Cada uno de estos correos electrónicos potencialmente tiene un ataque de phishing. Este ataque no es personal para ti. Este es un ataque a gran escala dirigido a una amplia gama de caras. Somos las posibles víctimas.

La mayoría de las veces, su objetivo es el dinero. ¿Cómo pueden conseguirlos?

Por ejemplo, use su computadora como un servidor web, robe su contenido, realice ataques de correo electrónico, actividad de botnet, robo de cuentas y ataques de extorsión. Sí, y una cuenta de correo electrónico es algo potencialmente importante, porque todos usamos la misma contraseña en varios servicios.

El tiempo es costoso y queremos dedicar el menor tiempo posible a cuestiones relacionadas con la seguridad.

Entonces, lo primero que debe hacer es responder algunas preguntas por sí mismo:

  • ¿Qué archivos almacenan los datos más importantes?
  • ¿Qué cuentas en las redes sociales no puedes perder?
  • ¿Qué podría ser más dañino?
  • ¿Y qué podría afectar tu reputación?

Bueno, por ejemplo, robo de laptop. Sí, duele y está triste. Pero, ¿cómo puede esto amenazarte?
Esto puede ser la pérdida de datos para ingresar a la red social. Esta puede ser información confidencial obtenida durante el trabajo. O tal vez son fotos personales.

Bien, decidimos lo que necesitamos proteger. El siguiente paso es elegir un método de protección.

Sí, por supuesto, hay muchos ataques en el mundo y es simplemente imposible defenderse de todos.
Por lo tanto, consideraremos una de las herramientas más efectivas: el cifrado.

¿Qué es el cifrado?


Para tomar la decisión correcta en el campo de la seguridad, debe comprender qué es el cifrado. No es necesario saber matemática hardcore. Suficiente para entender a un nivel básico. Esta es una de las mejores herramientas indispensables en nuestro arsenal.

El cifrado es un método para convertir datos que una persona puede leer en un formulario que una persona no puede leer. Debido a esto, los datos permanecen confidenciales y privados.

El descifrado es la operación inversa. Convierta datos ilegibles en legibles.

OK, ¿dónde se aplica esto? En realidad en muchos lugares. Por ejemplo, ¿prestó atención al protocolo https? Es debido a él que su tercera persona no puede interceptar sus datos durante su escalada en Internet. Explicaré con más detalle. Usted va al sitio " www.google.com ", realiza cualquier solicitud. Al mismo tiempo, todos los datos necesarios para mostrar los resultados se transmiten utilizando el protocolo https. Entonces, si alguna persona decide mirar los datos sobre su tráfico (ataque Man In the Middle), solo verá que usted ha iniciado sesión en Google. Además, recibirá muchos paquetes encriptados. Es decir, podemos decir que no recibirá nada.

Pero volvamos a la teoría básica. El proceso de encriptación involucra 2 componentes principales: el algoritmo y la clave.

Un algoritmo es, en cierto sentido, un bloqueo que le permite mantener sus datos en secreto. Debido a esto, el texto se convierte.

La clave es, perdón por la tautología, la clave de la cerradura. Una pieza de datos únicos que convierte texto

Hm, esta bien. Vamos más lejos Aumente ligeramente el voltaje.

Tipos de cifrado


¿De qué otra manera podemos usar el cifrado para nuestros propios fines egoístas? Para facilitar la comprensión, consideraremos el cifrado de archivos. Al archivar, muchos archivadores tienen la capacidad de establecer una contraseña. En este caso, el archivador usa algún tipo de algoritmo para el cifrado. Y la mayoría de las veces es un algoritmo simétrico.

Cifrado simétrico


Algoritmo de cifrado simétrico: un algoritmo en el que se usa la misma clave para el cifrado y descifrado. Un ejemplo sorprendente y, al mismo tiempo simple, será el código de César.

Todo el trabajo de este algoritmo es cambiar el personaje a otro con un cierto paso.

Por ejemplo, con un desplazamiento de 5 caracteres, el carácter que se encuentra en la primera posición se reemplaza por un carácter en la posición 6 y así sucesivamente.

El más robusto en este momento se considera el algoritmo AES (Estándar de cifrado avanzado).
Otro punto que vale la pena mencionar es el poder de la contraseña. La seguridad de la contraseña se mide en bits. Una de las soluciones más comunes es de 128 o 256 bits. Este es el número de bits que se asignarán a la contraseña. Este número también significa la cantidad de contraseñas que puede obtener con este algoritmo de cifrado. Pero cuanto más larga sea la longitud de la clave, más lento será el proceso de cifrado o descifrado.

Pero el cifrado asimétrico se usa más comúnmente.


Entonces, encriptamos la carta, pero ¿cómo enviársela a nuestro amigo? Enviar a redes sociales redes o mensajes de texto no es una buena idea. Como hablar con él por teléfono.

Y esto nos lleva a un nuevo tipo de cifrado.

En el cifrado asimétrico, se utilizan 2 claves: pública y privada (secreto).
La clave pública es para cifrar, la clave privada es para descifrar.

¿Qué algoritmos permiten usar esta tecnología?

Aquí hay una lista:

  • Rivest - Shamir - Adleman (RSA) (más común)
  • Criptosistema de curva elíptica (ECC)
  • Diffie - Hellman (DH)
  • El gamal

Ventajas de los algoritmos asimétricos:

  • Puede compartir libremente la clave pública y cualquiera puede enviarle un mensaje secreto.

Contras:

  • velocidad de cifrado / descifrado.

Para avanzado
Dado que tengo un núcleo de programador en mí, así como un amor por las matemáticas, no puedo evitar decir cómo funciona todo "bajo el capó"

Considere el ejemplo del algoritmo RSA.

Lo primero que debemos hacer es generar las claves públicas y privadas. La secuencia de acciones es aproximadamente la siguiente:

1) Elegimos dos primos. Es recomendable que estén lo suficientemente cerca.

p = 19
s = 13

2) Calculamos su producto, así como la función de Euler

n = p * s
f = (p - 1) * (s - 1)

3) Ahora, la parte que consume más tiempo es la elección del exponente y un coeficiente arbitrario.

El hecho es que con los coeficientes seleccionados el valor de "d" debe ser entero. "D" es un componente necesario del algoritmo

e = 5
k = 9
d = (k * f + 1) / e

Ahora nuestra clave pública (para cifrar el mensaje) consiste en los valores de las variables "e" y "n", y la clave privada (para descifrar) de los valores "d" y "n".
Es decir, en nuestro caso ...

Luego, el mensaje se cifra utilizando la fórmula: crypt = m ^ e% n.
Y descifrado: descifrar = cripta ^ d% n.

Bueno, desde el punto de vista del programador, podemos usar esta información de la siguiente manera:

  1. Cree una matriz de coincidencias con un personaje y su código (por ejemplo, código ASCII)
  2. Aplica un algoritmo para cada personaje, creando una matriz de valores convertidos
  3. Convierta la matriz resultante nuevamente en forma de cadena
  4. Beneficio!

¿Cómo se puede usar el cifrado asimétrico para mis propósitos?

Ahora, conociendo la teoría, los pros y los contras del algoritmo, y también por qué necesita usarlo, podemos hablar sobre la aplicación práctica.

Entre todos los programas encontrados, gpg4usb me pareció más conveniente.

Este programa usa encriptación PGP. ¿Por qué recomiendo usarlo?

Todo es simple Este tipo de cifrado aún no se ha descifrado. A nadie Así que úsalo.

Usar el programa es bastante simple. Solo necesita saber dónde hacer clic.
Y eso es exactamente lo que se discutirá ahora.

Lo primero que debe hacer es descargar el programa. Puedes hacerlo desde el enlace:
El enlace .

Diré de inmediato: este programa es multiplataforma. Es decir, puede usarlo tanto en Windows como en Linux.

El segundo es crear un par de claves de cifrado.

Esto se puede hacer siguiendo estos pasos:

1) Vaya a la sección "Administrador de claves"

2) Seleccione "Clave" en el panel superior, luego "Generar clave"

Debería verse más o menos así:



3) Complete los campos requeridos. Te avisaré de inmediato: es mejor escribir la contraseña (o recordarla) en algún lugar, porque será necesario más adelante para descifrar el mensaje.

Ahora se crea la clave y podemos proceder directamente al cifrado.

Hay un campo de texto en la pantalla principal: este es nuestro trampolín para crear mensajes. En la barra lateral derecha, marca la tecla.



Una vez que haya ingresado el mensaje en el campo, audazmente haga clic en "Cifrar" en el panel superior.

Felicitaciones, puedes encriptar mensajes.



El descifrado se lleva a cabo de la misma manera, excepto que en lugar de "Cifrar" se usa el botón "Descifrar".

Y ahora, el momento en que el cerebro me llevó media hora: ¿cómo pasarle la llave a un amigo?
Sí, configuramos un sistema de cifrado, y funciona, sí, podemos darle una clave pública a un amigo y no tener miedo de que el mensaje sea leído. ¿Pero dónde conseguirlo?

Al final resultó que, todo es bastante simple. En la ventana en la que creamos las claves para el cifrado, marcamos la clave deseada y seleccionamos "Exportar a archivo" en el panel superior. Obtuvimos la clave pública y podemos pasarla a cualquiera para que reciba mensajes cifrados que solo nosotros podemos leer.



Entonces, ahora quiero obtener la clave privada (¿qué pasa si estoy trabajando desde otra computadora? Después de todo, las claves se almacenan localmente).

Para resolver este problema, volvemos nuevamente a la pantalla principal, en el panel lateral derecho, hacemos clic con el botón derecho en la tecla deseada y seleccionamos "Mostrar propiedades de la tecla". Y en la ventana que se abre, seleccione "Exportar clave privada".



Hecho, ahora tiene claves de cifrado públicas y privadas "públicas", que puede usar a su discreción.

Bueno, al final del artículo quiero compartir una técnica útil: modelado de amenazas y evaluación de riesgos.

Lo primero que debe entender es que no puede garantizar el 100% de seguridad, así como reducir todos los riesgos a cero. No puedes obtener el 100% de anonimato. No puede obtener el 100% de seguridad (a menos que use un teléfono y una PC).

Al usar Internet, de alguna manera aceptamos los riesgos. Nos da la oportunidad de ampliar nuestras capacidades, pero existe el riesgo de perder nuestros datos. Por lo tanto, la seguridad es un acto de equilibrio entre conveniencia, expansión de conocimiento, comodidad y preservación de datos importantes ya definidos para nosotros.

Debemos utilizar un enfoque basado en el riesgo.

Riesgo = Vulnerabilidad * Amenazas * Consecuencias


Por ejemplo, robo de laptop. Que podemos hacer Cifre todo el disco, agregue pasos de autorización adicionales.

Para garantizar una protección de calidad, debe pasar por varias etapas:

  1. Elegir
  2. Personalizar
  3. Estimación Verifique que la unidad esté completamente encriptada
  4. Nosotros controlamos Buscar actualizaciones de seguridad

Source: https://habr.com/ru/post/449552/


All Articles