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:
- Intercepte y descifre los mensajes de usted o de sus amigos.
- 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?
- 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.