Protocolli / servizi IM basati su cloud che salvano i messaggi crittografati sul server che è decifrabile solo dall'utente? [chiuso]

1

Sto cercando un protocollo o un servizio IM sicuro basato sul cloud (ossia non end-to-end). Il primo mi viene in mente è telegramma. Ecco una citazione dalla informativa sulla privacy del telegramma:

Cloud Chats

Telegram is a cloud service. We store messages, photos, videos and documents from your cloud chats on our servers, so that you can access your data from any of your devices anytime and use our instant server search to quickly access your messages from waaay back. All data is stored heavily encrypted and the encryption keys in each case are stored in several other DCs in different jurisdictions. This way local engineers or physical intruders cannot get access to user data.

La mia comprensione di questa affermazione è che, sebbene i messaggi siano crittografati, se l'amministratore / azienda del server vuole leggere i tuoi messaggi, può farlo, perché entrambe le chiavi e i messaggi sono archiviati sul loro server, sebbene non sullo stesso server. Quindi, non è abbastanza sicuro? La mia comprensione è corretta?

Se il protocollo di cui sopra non è sicuro, il seguente protocollo (approssimativo) è abbastanza sicuro, presumendo che i miei dispositivi non siano compromessi, ma ogni persona (ISP, server runner ...) su Internet sono ladri di privacy? Questa è solo una semplice crittografia asimmetrica con solo le parti in grassetto speciali.

Registrazione :

  1. Il programma client genera una coppia di chiave pubblica-privata.
  2. Il programma client invia la chiave pubblica (solo per la crittografia) al server.

Stabilire una sessione di chat :

  1. A vuole iniziare una sessione parlando con B . A invia la richiesta al server.
  2. Il server invia la richiesta e la chiave pubblica di A a B .
  3. Server invia la chiave pubblica di B a A .

Chat :

  1. A invia il messaggio crittografato con la chiave pubblica A e B RESPECTIVELY al server. (ad esempio, invia lo stesso messaggio due volte, crittografato con chiavi diverse)
  2. Il server salva i messaggi crittografati e invia il messaggio crittografato con la chiave pubblica B a B .
  3. Il programma client di B utilizza la chiave privata di B per decrittografare il messaggio

Accesso da un nuovo dispositivo :

  1. A utilizza un metodo sicuro (ad es. chiavetta USB, scheda SD, ecc.) per copiare le chiavi dal dispositivo originale.
  2. Il programma client di A riceve la cronologia chat non presente sul dispositivo dal server che è crittografato con la chiave pubblica A
  3. Il programma client di A utilizza la chiave privata di A per decrittografare i messaggi

Penso che questo cosiddetto protocollo sia davvero semplice e possa anche essere un lavoro scolastico (perché funziona semplicemente) ... Ma non riesco a trovare un servizio di messaggistica istantanea che lo faccia. Mi manca qualcosa, o questo protocollo non è affatto sicuro?

    
posta qpalz 30.06.2015 - 08:03
fonte

1 risposta

0

Questa parte mi preoccupa:

  1. Server send the public key of B to A.

Chatting:

  1. A send the message encrypted with A and B's public key RESPECTIVELY to the server. (i.e. send the same message twice, encrypted with different keys)

Questo mi dice che A a un punto ha ricevuto la chiave pubblica B e che per inviare un messaggio il client deve avere entrambe le chiavi pubbliche. Se A ha la chiave pubblica di B questo potrebbe consentire un attacco di rappresentazione dove A stabilisce una sessione di chat con C .

Sono abbastanza fiducioso sul fatto che il servizio abbia più livelli di sicurezza, ma da questo estratto che hai postato qui sarebbe una preoccupazione per me.

    
risposta data 30.06.2015 - 09:36
fonte

Leggi altre domande sui tag