image

Nieuwe Android-app versleutelt chatberichten

woensdag 29 mei 2013, 13:23 door Redactie, 4 reacties

Een app waarmee gebruikers versleuteld kunnen chatten is nu ook voor Android-smartphones beschikbaar. Threema is een 'mobile messaging app' die volgens de makers veiligheid op de eerste plek zet. De software gebruikt end-to-end encryptie, waardoor alleen de afzender en ontvanger de berichten kunnen lezen. De ontwikkelaars zeggen dan ook geen toegang tot de inhoud te hebben.

Om dit te bereiken genereert de app een sleutelpaar die uit privé en publieke sleutels bestaat. De berichten worden versleuteld met de publieke sleutel van de ontvanger, die vervolgens het bericht met zijn privésleutel kan ontsleutelen. Voor het uitwisselen van de sleutels geeft Threema een QR-code weer, die de andere partij met de camera op zijn smartphone scant.

Zwitserland
Ook is het mogelijk om sleutels over het web uit te wisselen, maar dit levert een lager vertrouwensniveau op dan bij het gebruik van de QR-code. Threema is ontwikkeld in Zwitserland, waar ook de servers zich bevinden. Volgens de ontwikkelaars is dit voor "maximale privacy" gedaan.

De Android-app kost 1,60 euro en werkt alleen nog met Android-smartphones, hoewel een tablet-versie binnenkort volgt. De iOS-versie, die alleen op de iPhone werkt, kost 1,79 euro.

Reacties (4)
29-05-2013, 14:12 door Whacko
Ook is het mogelijk om sleutels over het web uit te wisselen, maar dit levert een lager vertrouwensniveau op dan bij het gebruik van de QR-code.

is toch een kwestie van diffie-helman key exchange? hoe zou dat minder vertrouwen hebben? (behalve psychologsich gezien).
http://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange
29-05-2013, 15:02 door Anoniem
Diffie-Hellman key exchange kan worden gemanipuleerd, tenzij je de gekozen waardes op de een of andere manier authenticeert. Als je beiden de public key van de ander kent, kun je de waarde die je kiest digitaal ondertekenen: dit heet authenticated Diffie-Hellman key exchange. Publieke sleutels uitwisselen is echter een hoop gedoe, en je hebt ook niet zoveel bits entropie nodig. Het blijkt dat je met een gekozen kleine sleutel van 40 bits al de gekozen waarde kunt authenticeren - maar dan wel met andere methoden. Dan moet die kleine sleutel wel authentiek over zijn gekomen. Die kleine sleutel wissel je hier uit met de QR-code. Dat uitwisselen kan natuurlijk niet met volledige zekerheid over het internet gebeuren, omdat je nog geen beveiligd kanaal hebt opgebouwd.

Je kunt een en ander natuurlijk ook ophangen aan certificate authorities, maar dit systeem omzeilt het risico dat je CA gehackt wordt - en kan dus in die zin meer vertrouwen bieden.
29-05-2013, 16:20 door lucb1e
Door Whacko:
Ook is het mogelijk om sleutels over het web uit te wisselen, maar dit levert een lager vertrouwensniveau op dan bij het gebruik van de QR-code.

is toch een kwestie van diffie-helman key exchange? hoe zou dat minder vertrouwen hebben? (behalve psychologsich gezien).
http://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange
De pagina die je linkt is niet echt relevant. Het beschrijft een methode om data uit te wisselen, maar als ik een andere key in het netwerkverkeer injecteer kan ik het encrypted verkeer lezen. Je bedoelt dus waarschijnlijk waarom het niet zoals bij https gebeurt.

Het probleem bij het https schema is dat je dan een trust root nodig hebt, zoals bijvoorbeeld Verisign of GeoTrust. Het is theoretisch mogelijk dat de FBI een private key van VeriSign opvraagt middels een National Security Letter en daarmee communicatie aftapt. Behoorlijk vergezocht, maar er zit wel een zwak punt in deze manier van asymmetrische encryptie. Daarnaast lijkt het me ook onpraktisch om iedereen te gaan laten verifiëren bij een derde partij (de trust root) alvorens je de app kan gebruiken.

Wat deze app blijkbaar doet is de key direct uitwisselen. Alsof je naar de rabobank gaat met een telefoon (of USB-stick) en daar hun public key op laat zetten voor het internetbankieren. Op deze manier creëer je andere zwakke punten zoals beveiligingscamera's die de QR-code ook zien, maar daar kun je jezelf vrij makkelijk tegen beschermen.

Nog even over die wiki pagina, zie met name het voorbeeld: "Alice and Bob agree to use a prime number p=23 and base g=5." Er moet dus sowieso een secret worden uitgewisseld, en de QR code kan hiervoor zorgen. Als je dit over het web doet is er geen enkele manier om de ontvangen key te authenticeren zonder een derde partij te vertrouwen.
29-05-2013, 21:35 door johanw
@lucb1e: die camera's mogen die publieke codes best zien, dat is geen probleem. Zolang de ontvanger er maar zeker van kan zijn dat die sleutel ook echt van de verzender is en er geen man in the middle tussenzit.

Overigens bestaan er wel meer van dit soort tools.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.