
¿Por qué sobre criptografía? Yo mismo tengo conocimientos bastante superficiales sobre el tema. Sí, he leído la obra clásica , pero fue hace mucho tiempo; sí, comprendo la diferencia entre cifrado simétrico y asimétrico, entiendo qué son las curvas elípticas, pero eso es todo. Además, las bibliotecas criptográficas existentes, con su agradable costumbre de incluir el nombre completo del algoritmo en el nombre de cada función y un montón de inicializadores visibles, me causan un gran malestar como programador.
Entonces, ¿por qué? Probablemente porque al leer la actual avalancha de publicaciones sobre la protección de datos, información confidencial, etc., tengo la sensación de que estamos cavando en el lugar equivocado, o más concretamente, tratando de resolver problemas esencialmente sociales con medios técnicos (criptografía). Hablemos de esto, no prometo descubrimientos épicos ni propuestas concretas, son solo pensamientos ociosos.
Un poco de historia, solo una pizca
En 1976, en EE. UU. se adoptó un estándar federal para algoritmos de cifrado simétrico: DES. Este fue el primer algoritmo criptográfico público y estandarizado, creado en respuesta a la creciente demanda empresarial de protección de datos.
Una curiosidad antigua
El algoritmo fue publicado por error. Se optimizó para implementación de hardware y se consideró demasiado complejo e ineficiente para software. Sin embargo, la Ley de Moore rápidamente puso todo en su lugar.
Parecería — fin de la historia, toma, cifra, descifra, y si es necesario, aumenta la longitud de la clave. Es posible que sepa con certeza que los estadounidenses dejaron fallos en él, entonces para usted existe un análogo ruso — , al cual, sin embargo, probablemente confía aún menos. Entonces, use ambos, uno sobre el otro. Si cree que el FBI y el FSB se unieron y compartieron sus fallos por su causa, tengo buenas noticias para usted: no es un paranoico, tiene una simple megalomanía.
¿Cómo funciona el cifrado simétrico? Ambos participantes conocen la misma clave, que también es la contraseña, lo que ha sido cifrado puede ser descifrado con la misma clave. Este esquema funciona perfectamente para espías, pero no es adecuado para la internet moderna, ya que esta clave debe ser transmitida previamente a cada uno de los interlocutores. Durante un tiempo, mientras las empresas relativamente pocas protegían sus datos al comunicarse con un socio conocido, se solucionaba el problema mediante mensajeros y correo seguro, pero luego internet se volvió masiva y surgió
la criptografía asimétrica
donde participan dos claves: una pública, que no se mantiene en secreto y se comunica a cualquiera que lo desee; y una privada, que solo conoce su propietario. Lo que se cifra con la clave pública, solo puede ser descifrado con la clave privada, y viceversa. Así, cualquier persona puede conocer la clave pública del destinatario y enviarle un mensaje, que solo podrá leer el destinatario. ¿Parece que el problema está resuelto?
Pero El internet no funciona así, y surge el problema de autenticación y, especialmente, la autenticación inicial, además de otro problema que se presenta en cierto sentido como el opuesto a ella, la anonimidad. En resumen, ¿cómo puedo estar seguro de que la persona con la que hablo, es realmente la que quería hablar? Y la clave pública que utilizo, ¿realmente pertenece a la persona con la que quería hablar? Especialmente, si estoy comunicándome con él por primera vez. ¿Y cómo puedo inspirar confianza en mi socio mientras mantengo mi anonimato? Aquí, si se observa bien, se puede notar una contradicción interna.
Veamos en términos generales qué esquemas de interacción entre los participantes existen y se aplican en la práctica:
- servidor — servidor (o empresa — empresa, en este contexto es lo mismo): este es el esquema clásico más simple, para el cual es suficiente con la criptografía simétrica, los participantes conocen todo sobre el otro, incluyendo contactos fuera de la red. Sin embargo, cabe señalar que aquí ni siquiera se habla de anonimato, y el número de participantes está estrictamente limitado a dos. Es decir, este es un esquema casi ideal para un número extremadamente limitado de comunicaciones y, en general, es evidentemente poco aplicable.
- servidor — anónimo (o negocio — cliente): aquí hay cierta asimetría, que se gestiona exitosamente con criptografía asimétrica. El punto clave aquí es la falta de autenticación del cliente, al servidor no le importa con quién intercambia datos; si de repente se requiere, el servidor lleva a cabo una autenticación secundaria mediante una contraseña acordada de antemano, y entonces todo se reduce al caso anterior. Por otro lado, al cliente le importa extrema autenticación del servidor, quiere estar seguro de que sus datos van exactamente a donde él los envió, este lado se basa en un sistema de certificados en la práctica. En general, este esquema está bastante cómodamente y transparentemente cubierto por el protocolo https://, sin embargo, surgen un par de puntos interesantes en la intersección de la criptografía y la sociología.
- confianza en el servidor: incluso si he transmitido cierta información al norte de una manera absolutamente segura, técnicamente, personas externas tienen acceso a ella. Este problema está completamente fuera de la responsabilidad de la encriptación, pero pido que se recuerde este punto, aparecerá más adelante.
- confianza en el certificado del servidor: la jerarquía de certificados se basa en que existe un certificado raíz digno de confianza absoluta. Técnicamente, un atacante lo suficientemente influyente [, por favor considere la palabra atacante como un término técnico, y no como una difamación o insulto a la autoridad existente] puede sustituir el certificado de cualquier nivel inferior, sin embargo, se supone que el sistema de certificación es necesario para todos por igual, es decir, este certificador será inmediatamente objeto de ostracismo y todos sus certificados serán revocados. Así es, pero aun así, noten que el sistema no se basa en medios técnicos, sino en un contrato social. Por cierto, sobre lo urgente En el contexto del esperado apocalipsis del cierre del Runet, ¿alguien ha analizado la posible clausura del certificado raíz ruso y sus consecuencias? Si alguien ha leído/o ha escrito sobre este tema, envíenme enlaces, los incluiré, me parece que es un tema interesante.En el contexto del esperado fin del internet ruso, ¿alguien ha analizado la posible transformación del certificado raíz ruso y sus consecuencias? Si alguien ha leído/escrito sobre este tema, por favor envíen enlaces, creo que es un tema interesante.
- la deanonimización indirecta en el servidor: también es un tema complicado, incluso si el servidor no tiene registro/autenticación formal, hay muchas formas de recopilar información sobre el cliente y, en última instancia, identificarlo. Creo que la raíz del problema radica en el protocolo http:// existente y similares, que previsiblemente no podrían haber anticipado tales desmanes; y sería bastante posible crear un protocolo paralelo sin estas fallas. Sin embargo, esto va en contra de todas las prácticas de monetización existentes y por lo tanto es poco probable. Aún así, es interesante, ¿alguien lo ha intentado?
- anónimo — anónimo: dos personas se encuentran en línea, (opción — se acaban de encontrar), (opción — no son dos sino dos mil), y quieren hablar de lo suyo, pero así que Gran Hermano no escuche (opción — mamá no supo, cada uno tiene sus prioridades). Tal vez escuches ironía en mi voz, bueno, es porque realmente la hay. Apliquemos al problema el postulado de Schneier (cualquier algoritmo puede ser hackeado si se invierte suficiente recurso, es decir, dinero y tiempo). Desde ese punto de vista, infiltrarse en tal grupo mediante métodos sociales no representa ninguna dificultad, sin mencionar el dinero, es decir, la resistencia criptográfica del algoritmo cero con los métodos de cifrado más sofisticados.
Sin embargo, para este caso tenemos un segundo bastión — la anonimato, y sobre él ponemos todas nuestras esperanzas, que todos nos conozcan, pero nadie pueda encontrarnos. Sin embargo, con los métodos técnicos de protección más modernos, ¿realmente crees que tienes una oportunidad? Recuerda que ahora solo hablo de la anonimización, con la protección de datos parece que ya hemos llegado a una conclusión convincente. Para ser precisos, acordemos que si se conoce tu nombre o dirección de casa o dirección IP, el fracaso está completo.
Hablando de IP, aquí se presenta de manera prominente lo mencionado anteriormente la confianza en el servidor, él conoce su IP sin duda. Y aquí todo juega en su contra: desde la simple curiosidad humana y la vanidad, hasta las políticas corporativas y la monetización. Solo tenga en cuenta que VPS y VPN también son servidores, a los teóricos de la criptografía estas abreviaturas les importan un comino; además, la jurisdicción del servidor, en una necesidad considerable, no juega un papel. Aquí también entra el cifrado de extremo a extremo: suena bonito y sólido, pero al servidor debe creerse a ciegas.
¿Cuál es, en realidad, el papel del servidor en un mensajero así? En primer lugar, es como un cartero trivial, si el destinatario no está en casa, debe regresar más tarde. Pero, y esto es mucho más significativo, es un punto de encuentro, no puede enviar una carta directamente al destinatario, la envía al servidor para su posterior entrega. Y lo más importante, el servidor realiza la autenticación necesaria, asegurándose para todos de que usted es usted, y para usted de que su interlocutor es realmente quien necesita. Y lo hace usando su teléfono.
¿No le parece que su mensajero sabe demasiado de usted? No, no, por supuesto que le creemos (y, por cierto, también a su teléfono, hmmm), pero los criptógrafos aseguran que es un error, que no se puede confiar en nadie en absoluto.
¿No le convencí? Y qué decir de la ingeniería social, si tiene a cien interlocutores en su grupo, debe asumir que el 50% de ellos son enemigos, el 49% son vanidosos, tontos o simplemente imprudentes. Y el restante uno por ciento, por muy bueno que sea en métodos de protección de la información, probablemente no podrá resistir a un buen psicólogo en el chat.
La única estrategia defensiva parece ser esconderse entre millones de grupos similares, pero eso no nos concierne, es otra historia sobre espías-terroristas, para quienes la fama en la red y la monetización no significan nada.
Bueno, creo que he justificado (no, no lo he probado, solo lo he fundamentado) mis duras reflexiones sobre la protección de datos en el modelo moderno de la sociedad. Las conclusiones son simples pero tristes: no debemos esperar ayuda de la encriptación de datos más allá de lo que ya tenemos; la criptografía ha hecho todo lo que podía y lo ha hecho bien, pero nuestro modelo de internet contradice completamente nuestro deseo de privacidad y anula todos nuestros esfuerzos. En realidad, no soy pesimista y me gustaría decir algo positivo ahora, pero no sé qué decir.
Intenta mirar la siguiente sección, pero te advierto: son fantasías no científicas y bastante optimistas, aunque pueden dar esperanza a algunos y al menos divertir a otros.
¿Se puede hacer algo al respecto?
Bueno, por ejemplo, reflexionar sobre este tema, preferiblemente liberando la mente y desechando prejuicios. Por ejemplo, vamos a dejar de lado completamente la anonimidad, por horrible que suene. Que a cada persona se le otorgue al nacer una clave pública única y correspondiente a su clave privada, por supuesto. No me griten ni golpeen el suelo, en un mundo ideal esto es extremadamente conveniente: aquí están el pasaporte, el NIF y hasta el número de teléfono en un solo paquete. Además, si se añade un certificado individual, se obtiene un autenticador/login universal; y además, un notario portátil con la posibilidad de certificar cualquier documento. Se puede hacer un sistema multifacético: solo la clave pública y el certificado estarán disponibles al público, para amigos (a quienes se les proporciona una lista de claves aquí mismo) se puede acceder al teléfono y a lo que se confía a amigos, puede haber niveles aún más profundos, pero eso ya implica una confianza innecesaria en el servidor.
Con un esquema así, la privacidad de la información enviada se logra automáticamente (aunque, por otro lado, ¿para qué, en un mundo ideal?), Alice escribe algo a Bob, pero nadie nunca lo leerá excepto Bob. Todos los mensajeros obtienen automáticamente cifrado de extremo a extremo, su papel se reduce a ser buzones y no puede haber reclamos sobre el contenido en principio. Además, los mismos servidores se vuelven intercambiables; puedes enviar a través de uno, a través de otro, o incluso a través de una cadena de servidores, como el correo electrónico. También se puede enviar directamente al destinatario, si se conoce su IP, sin relacionarse con ningún intermediario en absoluto. ¿No es genial? Lástima que no nos tocará vivir en esta hermosa época — ni a mí, ni a ti© Bueno, aquí estoy de nuevo hablando de lo triste.
Entonces, ¿dónde almacenar todo esto? Bueno, a primera vista, hacer un sistema jerárquico abierto, algo así como el DNS actual, solo que más potente y extenso. Para no sobrecargar a los administradores de DNS raíz con adiciones o modificaciones, se podría hacer un registro libre, la única verificación necesaria sería la de la unicidad. Algo así >> " Hola, somos cinco personas, la familia Ivanov. Aquí están nuestros nombres/nicks, aquí están las claves públicas. Si alguien pregunta, por favor envíenlos a nosotros. Y aquí hay una lista de quinientas abuelas de nuestro barrio con sus claves, si las preguntan, también envíenlas a nosotros.«
Solo hay que hacer que la instalación y configuración de un servidor doméstico sea extremadamente simple y conveniente, para que cualquiera pueda entenderlo si lo desea; de nuevo, nadie sobrecargará los servidores estatales oficiales innecesariamente.
¡Alto!, ¿y qué tiene que ver el estado aquí entonces?
Ahora se puede restaurar la anonimidad con cautela. Si cualquiera puede generar su propia clave personal, confirmarla con un certificado individual y establecer un servidor CA de nivel inferior, o pedirle a un vecino que lo haga, o utilizar un servidor público, ¿para qué todo este formalismo? Además, no hay necesidad de vincularse a un personaje real; esto garantiza privacidad, seguridad y anonimato. Es suficiente que al principio de la jerarquía haya alguien digno de confianza, como TM o Let's Encrypt, y los DNS públicos conocidos aún no han fallado. Desde el lado burocrático, tampoco deberían haber quejas, es decir, reclamarán, claro, pero ¿a qué viene eso?
Tal vez algún día se cree un sistema así o algo similar. Y, por supuesto, no podemos contar con nadie más que con nosotros mismos; ningún estado conocido construirá tal sistema. Afortunadamente, ya existen Telegram, i2p, Tor, y seguramente se me ha olvidado alguno, que demuestran que nada es realmente imposible. Esta es nuestra red, y debemos organizarla si no estamos satisfechos con la situación actual.
Brrr, terminé accidentalmente en una nota pomposa. En realidad, no me gusta esto; me resulta más cercano el sarcasmo.
PS: todo esto, por supuesto, son sueños de primavera y fantasías de una niña
PPS: pero si alguien se anima a probar, reserve un apodo para mí por favor, me he acostumbrado a él
PPPS: y la implementación parece bastante simple, por cierto
Fuente: habr.com
