Supponiamo di essere costantemente minacciato da hacker e agenzie di alto profilo che tentano di intercettare i messaggi inviati tra te e un amico.
La domanda è: qual è il modo più sicuro per inviare messaggi a lui senza che nessun utente o agenzia malevolo sia in grado di:
- Intercetta e decrittografa i tuoi o i messaggi dei tuoi amici.
- Interrompi la comunicazione tramite MiTM o DDoS. I server cloud ospitati in diverse parti del mondo aiutano a scaricare il traffico DDoS e rendono difficile spegnere i server? Che dire di più proxy senza alcuna informazione ragionevole inoltrata nelle intestazioni, in modo che il tuo provider internet non sappia del server che stai contattando nel caso qualcuno riesca a sequestrare i log di navigazione in Internet?
- Qualsiasi altro attacco come attacco di ripetizione , Meet-in-the-Middle-Attack e così via che in poche parole potrebbe finalmente derivare il contenuto del messaggio o portare alla rappresentazione.
Supponiamo anche che tu sia uno studente e non possa permettersi un laptop potente per scricchiolare grandi numeri , quindi un algoritmo crittograficamente lento deve essere escluso per cominciare.
Questa è la situazione in cui ci troviamo:
C B
---------------- ------------------
A | | | |
------- | Server |'''''| Friend |
| You |''''''''''| | | |
------- ---------------- ------------------
| |
| D |
---------------------------------------
| |
| |
| Malicious user or agency |
| |
| |
---------------------------------------
A dovrebbe essere in grado di inviare qualsiasi elemento a B fino a C senza D in grado di interagire .
Si sta scambiando la chiave con RSA e usandola come crittografia / decifrazione dicendo AES128 abbastanza? Che ne pensi di utilizzare sia RSA che PGP in modo che dopo aver decrittato con la chiave RSA devi decodificare anche con PGP? O è superfluo?
Ho pensato ad una sorta di schema 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
Lanciamo un diagramma lì dentro ancora una volta per comprenderlo meglio:
Mittente
------------- ---------------
| | | |
| Message |--+--| RSA pub key |
| | | |
------------- ---------------
\ /
\ /
\ D /
\ /
\ /
\/
------------- ----------------- -----------
| | | | | |
| AES128 |--+--| PGP pub key |--+--| Nonce |
| | | | | |
------------- ----------------- -----------
Ricevente
\ /
------------- ----------------- ----\--/---
| | | | | \/ |
| AES128 |--+--| PGP pub key |--+--| No/\ce |
| | | | | / \ |
------------- ----------------- ---/----\--
/ \ / / \
/ \ +
/ \ /
--------------- ----------- + -----------------
| | | | \ | |
| RSA pubkey |--+--| Message | \ | PGP priv key | <----- Symmetric
| | | | \| |
--------------- ----------- -----------------
\
+
\
----------------
| |
| RSA priv key | <---- Asymmetric. Only the receiver knows this key.
| |
----------------
\
\
-------------
| |
| Message |
| |
-------------
Accoppiando questo con (Perfetto) Inoltrare la segretezza vorrebbe renderlo ancora più sicuro?
Il risultato dovrebbe essere uno e solo uno: infrangibilità o molto -slow breakability (che richiederebbe cento anni anche per un supercomputer) da parte dell'utente malintenzionato.
Se possibile, aggiungi fatti, riferimenti, competenze specifiche o qualsiasi altra cosa che non renda basata l'opinione della tua risposta.