¿Cuál es la forma más segura de transmitir un mensaje a otro cliente a través de un servidor oculto para usuarios malintencionados de alto nivel? [cerrado]

11

Supongamos que los piratas informáticos de alto perfil y las agencias que intentan interceptar los mensajes enviados entre usted y un amigo lo amenazan constantemente.

La pregunta es: ¿cuál es la forma más segura de enviarle mensajes sin que un usuario o agencia malintencionada pueda:

  1. Intercepte y descifre los mensajes de usted o de sus amigos.
  2. Interrumpa su comunicación mediante MiTM o DDoS. ¿Los servidores en la nube alojados en diferentes partes del mundo ayudan a descargar el tráfico DDoS y dificultan el cierre de los servidores? ¿Qué pasa con los múltiples proxies sin ninguna información sensible reenviada en los encabezados, de modo que su proveedor de Internet no conozca el servidor con el que se está contactando en caso de que alguien logre aprovechar los registros de navegación de Internet?
  3. Cualquier otro ataque como ataque de repetición , Meet-in-the-Middle-Attack y así sucesivamente eso en definitiva derivaría el contenido del mensaje o conduciría a la personificación.

También suponga que es un estudiante y no puede permitirse una computadora portátil poderosa para aplastar grandes números , por lo que un algoritmo criptográficamente lento es excluir para comenzar.

Esta es la situación en la que estamos:

                              C                     B
                       ----------------     ------------------
         A             |              |     |                |
      -------          |    Server    |'''''|     Friend     |
      | You |''''''''''|              |     |                | 
      -------          ----------------     ------------------
                 |                              |
               |                D                 |
             ---------------------------------------
             |                                     |
             |                                     |
             |      Malicious user or agency       |
             |                                     |
             |                                     |
             ---------------------------------------

A debería poder enviar cualquier cosa a B a través de C sin que D pueda interactuar .

¿Está intercambiando la clave a través de RSA y la está utilizando como cifrado / descifrado con suficiente AES128? ¿Qué pasa con el uso de RSA y PGP para que después de descifrar con la clave RSA también tenga que descifrar con PGP? ¿O es superfluo?

He pensado en una especie de MAC-then-encrypt-and-encrypt-again : AES128(Message + RSA pub key) + (PGP pub key + nonce) <-> server <-> ((AES128(Message + RSA pub key) + (PGP pub key + nonce)) - nonce) == PGP priv key == RSA priv key | stop

Lanzemos un diagrama una vez más para entenderlo mejor:

Sender

             -------------     ---------------    
             |           |     |             |
             |  Message  |--+--| RSA pub key |
             |           |     |             |
             -------------     ---------------           
                      \          /    
                       \        /
                        \   D  /
                         \    /
                          \  /
                           \/
                      -------------     -----------------     -----------
                      |           |     |               |     |         |
                      |  AES128   |--+--|  PGP pub key  |--+--|  Nonce  |
                      |           |     |               |     |         |
                      -------------     -----------------     -----------

Receptor

                                                                 \    /
                      -------------     -----------------     ----\--/---
                      |           |     |               |     |    \/   |
                      |  AES128   |--+--|  PGP pub key  |--+--|  No/\ce |
                      |           |     |               |     |   /  \  |
                      -------------     -----------------     ---/----\--
                           /       \                /           /      \
                          /         \              +                    
                         /           \            /             
  ---------------     -----------     +   -----------------            
  |             |     |         |      \  |               |
  |  RSA pubkey |--+--| Message |       \ |  PGP priv key | <----- Symmetric
  |             |     |         |        \|               |
  ---------------     -----------         -----------------   
          \
           +
            \
         ----------------
         |              |
         | RSA priv key | <---- Asymmetric. Only the receiver knows this key.
         |              |
         ----------------
                    \
                     \
                 -------------
                 |           |
                 |  Message  |
                 |           |
                 -------------

Combinando esto con (Perfecto) Secreto hacia adelante ¿ lo haría aún más seguro?

El resultado debe ser uno y solo uno: irrompible o muy : capacidad de interrupción lenta (que llevaría cien años incluso para una supercomputadora) por parte del usuario malintencionado.

Si es posible, agregue datos, referencias, experiencia específica o cualquier otra cosa que no haga que su respuesta esté basada en la opinión.

    
pregunta Alper Turan 05.04.2015 - 15:17
fuente

7 respuestas

21

¿Realmente crees que podrías detectar si tu computadora fue manipulada de una manera que uno podría oler los datos simples directamente en la computadora o que el software de encriptación fue cambiado de una manera para hacer que sea más fácil oler? ¿Realmente crees que tu padre también podría hacer esto? Si descargó el software de cifrado: ¿cómo sabe que hace lo que dice y solo eso? Si usted mismo escribió el software de encriptación: ¿comprendió realmente todos los algoritmos involucrados y se aseguró de que su implementación no solo sea correcta sino que también utilice un RNG adecuado y seguro, no filtre información en los ataques de tiempo, etc. La criptografía en sí ya es difícil, pero solo resuelve una parte del problema, no todo el problema. No olvides enlace .

    
respondido por el Steffen Ullrich 05.04.2015 - 17:00
fuente
6

Tu primer problema será determinar de qué es capaz la NSA. Por ejemplo, ¿su computadora portátil tiene un keylogger instalado? ¿Está la BIOS comprometida? ¿Está comprometido el firmware del disco duro?

Además, como desea utilizar un servidor intermediario, debe saber de alguna manera que el operador de ese servidor no está siendo chantajeado con una Carta de seguridad nacional o similar, o tendrá que encontrar un mecanismo que lo proteja. ante un intermediario no confiable.

Con todas estas situaciones, se acabaría el juego.

En segundo lugar, si está razonablemente seguro de que el hardware no está comprometido, esto es lo que vería:

  • Obtenga una nueva memoria USB de una tienda minorista del mercado masivo (no por pedido por correo) y pague en efectivo por ella.
  • Descargar Tails.
  • Desconéctate de Internet.
  • Instale Tails en la memoria USB.
  • Quite el disco duro (que lo protegería contra el mal firmware de HD, aunque no contra un BIOS defectuoso en su computadora).

Por supuesto, tu padre tendría que tomar las mismas precauciones.

A continuación, define lo que quieres ocultar:

  • ¿Quieres ocultar el contenido de tu mensaje?
  • ¿Desea ocultar el destinatario de su mensaje?
  • ¿Desea ocultar el hecho de que se comunicó?

Si simplemente desea ocultar el contenido de su mensaje, PGP lo es. Sin embargo, la línea de asunto y el destinatario estarán en texto plano. De tu pregunta, eso es todo.

Si desea ocultar al destinatario de su mensaje, puede usar SSH para iniciar sesión en una computadora de terceros (conocida no comprometida) y dejar un mensaje allí como un archivo de texto. Tu padre también usaría SSH en la misma computadora para recuperar el mensaje.

Si desea ocultar el hecho de la comunicación, deberá conectarse a través de la red TOR.

La pregunta final es qué algoritmo usar para el cifrado. En primer lugar, no utilice SHA256. No es un algoritmo de cifrado, sino un algoritmo de hash. Si lo usara, se sorprendería de lo rápido que podría transferir incluso archivos de tamaño gigabyte en segundos, incluso a través de una línea de acceso telefónico. Y te sorprendería saber por qué tu padre no pudo recuperar el archivo que enviaste. SHA256 genera básicamente una suma de comprobación de unas pocas docenas de bytes, y deja el mensaje original intacto.

Su idea de un intercambio de claves separado con cifrado de clave pública, seguida de una fase de transferencia de datos con cifrado simétrico, es muy buena para la comunicación directa.

Para la selección de cifrado, vería qué ofrece TLS 1.2. RSA para la clave pública es buena. AES128 para el cifrado simétrico también es una buena opción.

Por supuesto, ya que estás usando un intermediario (tu servidor C), estarás limitado por lo que ofrezca ese servidor.

    
respondido por el Kevin Keane 05.04.2015 - 19:02
fuente
6

Almohadilla de uso único

Cualquier uso de las matemáticas más allá de las almohadillas de uso del tiempo es una oportunidad para que la "NSA" rompa su algoritmo. En el instante en que use un algoritmo con nombre, debe aceptar la posibilidad de que NSA haya roto ese algoritmo en particular. A falta de información sobre qué algoritmos han roto, el único algoritmo "a prueba de NSA" es el teclado de uso único.

¡Y es mejor que confíes en tus generadores de números aleatorios y en tu intercambio de claves! (Edit: y con eso me refiero a reales Generadores de números aleatorios. ¡Ninguno de esos generadores de números pseudo aleatorios de mariquita que se ejecutan en esas nuevas cosas de "computadora"!)     

respondido por el Cort Ammon 05.04.2015 - 21:21
fuente
3

Sube a un avión y ve a visitar a tu padre. Una vez que esté en un lugar donde estén solo ustedes dos, susurre sus secretos al oído de su padre. Si insiste en la parte "a través de un servidor", escriba su mensaje en un papel colóquelo en el estuche del servidor y luego pídale a papá Edwin que lo saque de nuevo.

Ni usted ni yo sabemos de qué es capaz la NSA. Pueden comprometer no solo sus descargas de software, sino también las de todos. Es posible que tengan errores de hardware en el BIOS de su placa base, el teclado, el enrutador, el disco duro y el teléfono celular. Es posible que tengan exploits para los elementos que no han molestado. Es posible que tengan cámaras, micrófonos y otros detectores en su casa, en su automóvil y en su persona (teléfono inteligente).

Ah, y tienen presupuesto casi ilimitado y acceso a sus registros anteriores. Tienen psicólogos y científicos del comportamiento para perfilarte. Tienen influencia sobre los medios de comunicación y el entretenimiento, lo que influye en la opinión pública y los valores.

El único movimiento ganador es no jugar.

    
respondido por el dotancohen 06.04.2015 - 12:26
fuente
1

Déjame ponerlo de esta manera. Sus problemas reales son acceso físico y US Mail . En esta situación hipotética, la NSA lo está monitoreando. Si bien esto puede evitarse mediante el uso suficiente de la criptografía en la medida en que no sea efectivo, primero debe comunicarse con un cifrado de teclado único o una clave para la mayoría de las soluciones. No hay nada que impida a la NSA simplemente buscar en su correo. Podrían interceptar un enrutador e instalar una conexión telefónica, o instalar el software en una computadora portátil que obtenga. La mejor manera de hacer que la NSA te ignore es siendo tan aburrido que no tiene sentido mirarte. En 2038, es probable que la NSA tenga suficiente poder de cómputo para descifrar cualquier cosa que la mayoría de nosotros esté usando hoy. Utilice, digamos, el RSA de 4096 bits para las claves y la Serpiente de 256 bits para cifrarlas, si algún algoritmo tiene un ataque estadístico ideado por la NSA contra él, será AES. En segundo lugar, ser aburrido. Ex. Mensaje, clave encriptada por RSA 4096 bits, serpiente de tres capas de 256 bits (que previene el ataque del hombre en el medio) Cifre "Hola, papá. Tengo una nueva novia. La tía Ruth acaba de divorciarse del tío Jake, y la abuela Snowden está mejor con su quimioterapia. Espero que pueda volver a los Estados Unidos pronto, mi novia quiere conocerlo. - (Hijo hipotético de Edward Snowden) Viaja a través de servidores centrales no asegurados Recogido por la NSA Recibido por Edward Snowden La NSA, después de descifrar meses de mensajes como ese y usar vastas cantidades de poder de computadora, probablemente lo ignorará y hará otra cosa.

Nunca subestimes el poder de la psicología en la seguridad. La NSA solo se molestará en mirar cosas que parecen sospechosas.

    
respondido por el Kevin Donaldson 06.04.2015 - 16:39
fuente
1

Muchas respuestas, pero ninguna muy factible para su promedio de personas, a.k.a Snowden Jr. Esta respuesta está escrita desde un escenario actual. Muchas cosas pueden suceder o cambiar en unos pocos años, por lo que contemplar una situación más de dos décadas después no es muy valioso, especialmente en lo que respecta a la tecnología de la información.

Solución recortada

Construya / use una computadora que no tenga sistemas de comunicación inalámbricos, lo que significa que ningún H / W puede transmitir o recibir datos de forma inalámbrica. No Bluetooth, Wi-Fi u otra capacidad de comunicación inalámbrica. También deshabilite cualquier capacidad de conexión a Internet o Ethernet. Nunca conecte esta computadora a Internet, incluso al instalar un sistema operativo . Por supuesto, el sistema operativo recién instalado debe ser de código abierto y probado extensivamente solo para estar seguro. Cifre todo el disco duro utilizando software de código abierto como VeraCrypt utilizando Encriptación denegable . Dentro de su partición del sistema operativo "oculto", cree sus claves PGP. Cifre la clave privada utilizando el estándar de cifrado simétrico AES-256. Use una nueva unidad flash comprada al azar y móntela en un dispositivo / PC secundario de manera similar, configure y borre, vuelva a particionar y formatee de forma segura. Siempre realice este paso antes de conectarlo a nuestra PC principal donde realmente tenemos nuestras claves PGP.

Una vez que hayamos escrito y cifrado nuestro mensaje en la PC principal, conecte la unidad flash "recién formateada" y copie nuestro mensaje en ella.

Este mensaje cifrado ahora se puede enviar a través de cualquier PC segura (tan segura como una PC normal conectada a Internet), conectada a Internet mediante cualquier servicio de correo seguro como ProtonMail .

    
respondido por el Joseph 06.04.2015 - 17:06
fuente
-1

Tan pronto como leí el título, pensé en One Time Pad y me alegro de que Cort Ammon lo publicó :) Sin embargo, no fue para mi satisfacción y mi publicación puede ser un poco larga, así que no quise para agregarlo en los comentarios para el suyo en caso de que fuera enterrado.

También vi que el cómic xkcd relevante también se publicó :) Randall Munroe seguramente obtuvo un gran kilometraje de ese en particular :)

Entonces, lo que tengo para ti es un enfoque de múltiples niveles basado en la configuración del problema que describiste.

¡Creo que tu mejor apuesta para la comunicación sería un rebote de luna! También conocido como un EME. Porque la NSA siempre podría desconectarte de internet.

enlace

Ahora de vuelta al One Time Pad. Para dejar en claro el motivo por el que desea que la OTP sobre otro algoritmo de cifrado es porque la OTP es un tipo de cifrado simétrico, donde los estándares que se usan en la red hoy en día (RSA, PGP, etc.) son asimétricos, lo que significa que en su núcleo, utilizan un tipo de problema matemático que es computacionalmente costoso hacer en la dirección hacia atrás y fácil de hacer en la dirección hacia adelante (obviamente lo configura a su favor).

En mi enfoque para esto, usted dijo que hipotéticamente se llevaría a cabo en el año 2038 y que no tiene mucho dinero y es el Hijo de Edward Snowden y desea comunicarse con sus papás. El problema con OTP tal como lo señaló cpast en la publicación de Cort Ammons se encuentra en el envío del Pad porque terminas teniendo que usar un cifrado asimétrico para transferir tus datos haciendo que la OTP sea nula (teóricamente), pero el giro que tengo es que ¡Tanto usted como Edward Snowden ya tienen la OTP!

El esquema es que tendrías tu ADN secuenciado (debería ser más barato para 2038) y aproximadamente la mitad de eso debería coincidir con el ADN de Edward Snowden, que también tendría que secuenciar. Ahora, escogiendo 2 humanos al azar, deberías ver que el 99.5% de su ADN es el mismo. Entonces, de esa diferencia de .5%, solo tendrías la mitad, así que .25% de Edward Snowden y cada humano tiene aproximadamente 3.3 billones de pares de bases, lo que significa 8.250.000 pares de datos de base que puedes usar para tu One Time Pad.

El problema es que, a menos que Edward Snowden también tenga acceso al ADN de tu madre, la transmisión será muy ineficiente. Porque tendrá que seguir enviando el mensaje devorando los 2 ^ 22 (4194304) a 2 ^ 23 (8388608) bits de datos que tiene. Realmente no conozco las matemáticas sobre la probabilidad de que un mensaje sea comprendido en el otro lado cuando solo la mitad de tu OTP coincide, pero quizás puedas preguntar que en el lado matemático del foro, supongo que debería ser suficiente para enviar algunos mensajes y podría aumentarse si, por parte de Edward Snowden, pudo obtener algunos algoritmos y computadoras pesadas para analizarlos y hacer un mensaje legible.

Debe tener en cuenta que enviar el mismo mensaje de forma redundante no es una debilidad que permite descifrar el mensaje, sin embargo, el uso repetido de la misma información OTP para múltiples mensajes es una debilidad y le permitirá a alguien descifrar sus mensajes.

Ahora puede que te preguntes cómo es que Edward Snowden sabría cómo secuenciar su ADN y conseguir una configuración de rebote de luna y todo lo demás. Hay dos respuestas a esto. O ambos son Superracionales (verifique wikipedia para Superracionalidad) o Edward Snowden será como la mayoría de las personas con Internet que intentan encontrar la solución a un problema y luego Google para ver si puede encontrar una manera de comunicarse con su hijo en 2038. Publica y dándote cuenta de que debería hacer todas esas cosas de ADN y Radio :)

Desafortunadamente para ambos, que al publicar esto, la NSA también estará al tanto e intentará robarte muestras de ADN para frustrar tus planes en la comunicación, por lo que es posible que tengas que usar un traje y una máscara realmente divertidos todo el tiempo para Evita dejar el ADN en cualquier lugar.

También es de destacar que Edward Snowden en el curso de su comunicación no podrá saber si ha sido comprometido por la NSA, por lo que no podrá enviar información "de misión crítica", solo una conversación informal.

La última forma en que esto podría ser posible es con algún tipo de esquema de comunicación cuántica aún por inventar completamente inalámbrico y más fácilmente disponible. Puede leer sobre los conceptos básicos de un esquema de comunicación cuántica alámbrico aquí:

enlace

También puedes convertirte en el Presidente y luego disolver la NSA para que no tengas que preocuparte por ser espiado, pero en ese momento los paparazzi y los agentes de gobiernos extranjeros podrían estar espiándote.

Espero que esto haya sido útil :)

    
respondido por el Neil 06.04.2015 - 12:54
fuente

Lea otras preguntas en las etiquetas