SHARE THE PERSPECTIVE
Vergelijk wie bij de leesbare gegevens kan en updates kan beïnvloeden, niet alleen de namen van de versleutelingsalgoritmen.

Een versleutelde webmessenger is niet automatisch onveilig, en een native Android-app is niet automatisch veilig. Beide kunnen end-to-endversleuteling toepassen; beide moeten leesbare, onversleutelde gegevens op het apparaat van de gebruiker verwerken. De zinvolle vergelijking gaat over wie de client kan beïnvloeden, de weergegeven inhoud kan lezen of toegang tot de sleutels kan krijgen.

Het gebruik van algoritmen met dezelfde naam bewijst niet dat twee clients identieke implementaties of dezelfde beveiliging hebben. Voor Livara beschrijft de gepubliceerde beveiligingsarchitectuur de beoogde bescherming. Dit artikel vergelijkt vertrouwensgrenzen van platforms, niet de uitkomst van een onafhankelijke audit van een van beide clients.

De verschillen die het controleren waard zijn

Aanvalsoppervlak Webclient Android-client
Levering van code Sitecode, afhankelijkheden, browsercache en updategedrag Geïnstalleerd pakket en het bijbehorende updatekanaal
Extra software Extensies met relevante machtigingen, geïnjecteerde sitecode Toegankelijkheidsdiensten, toetsenborden en andere software met uitgebreide rechten
Opslag Browserprofiel en opslag die tot de oorsprong is beperkt Appopslag, controles van het besturingssysteem en back-upconfiguratie
Fysieke toegang Ontgrendelde browsersessie en gedeelde computer Ontgrendelde telefoon en actieve appsessie
Integriteitscontroles Vertrouwen in de levering van de site en de browserbeveiliging Pakkethandtekeningen en, waar beschikbaar, vertrouwde hashes van uitgaven

Dit zijn verschillende aanvalsoppervlakken, geen universele ranglijst. Een goed onderhouden, speciaal daarvoor gebruikte browser kan een betere keuze zijn dan een verouderde telefoon waarop schadelijke software is geïnstalleerd.

Kunnen extensies versleutelde chatberichten lezen?

Een extensie met de juiste sitetoegang kan via een contentscript pagina-inhoud lezen of wijzigen. De documentatie van Chrome over contentscripts legt uit dat deze scripts met het DOM van de pagina werken. Als een bericht daar als leesbare tekst wordt weergegeven, kan een script met de juiste machtiging er mogelijk bij zonder de berichtversleuteling te kraken.

Extensies hebben doorgaans een geïsoleerde JavaScript-omgeving, maar dat schermt het zichtbare DOM van de pagina niet voor hen af. Omgekeerd is het onjuist om te zeggen dat elke willekeurige andere website in hetzelfde browserprofiel automatisch de chat van een andere site kan lezen. De oorsprongsgrenzen van de browser blijven van belang; om die te overschrijden is een toegestane interactie, een kwetsbaarheid of andere toegang nodig.

Controleer de sitetoegang van extensies en verwijder onnodige extensies. Een apart profiel met zo weinig mogelijk extensies kan de blootstelling verminderen, maar verhelpt geen gecompromitteerd besturingssysteem of onveilige sitecode.

Onscherpe close-up van een browserwerkbalk in paars licht.

Wat WebCrypto wel en niet biedt

De Web Cryptography-specificatie van het W3C stelt cryptografische bewerkingen beschikbaar aan webapplicaties. Ze certificeert niet het protocol dat daarmee is opgebouwd en maakt schadelijke scripts niet onschadelijk.

Een niet-exporteerbare sleutel beperkt de gewone export van sleutelmateriaal via de API. Code met de juiste toegang kan die sleutel nog steeds gebruiken voor toegestane bewerkingen of de resulterende leesbare gegevens lezen. Niet-exporteerbaarheid is daarom geen volledige verdediging tegen een gecompromitteerde applicatieomgeving. Welke algoritmen beschikbaar zijn, hangt ook af van de browserimplementatie; ondersteuning moet worden gecontroleerd en niet worden aangenomen op basis van de naam van een specificatie.

Voor gebruikers zijn de praktische vragen of de browser en het besturingssysteem zijn bijgewerkt, of de oorsprong klopt, welke extensies toegang tot de site hebben en hoe de app omgaat met blijvend opgeslagen sleutels en uitloggen.

Betekent nieuwe webcode altijd de nieuwste oplossing?

Nee. Via het web kunnen updates snel worden verspreid, maar caching, serviceworkers en lang geopende tabbladen kunnen invloed hebben op welke code wordt uitgevoerd. Ook moet je daarbij vertrouwen op het proces waarmee de site code levert. Een geïnstalleerde app heeft eigen risico's: vertraagde updates, gecompromitteerde ondertekening of distributie en niet langer ondersteunde versies van het besturingssysteem.

Houd beide soorten clients bijgewerkt via hun officiële kanalen. Ga er niet van uit dat het opnieuw laden van een pagina bewijst dat een beveiligingspatch is toegepast, of dat een pakkethandtekening bewijst dat de applicatie geen kwetsbaarheden heeft.

Hoe je een Android-download controleert

De pakkethandtekeningen van Android en een gepubliceerde bestandshash beantwoorden verschillende vragen. De officiële documentatie van apksigner beschrijft de verificatie van handtekeningen. Een SHA-256-vergelijking kan aangeven of een gedownload bestand overeenkomt met een bepaalde referentie, maar die referentie moet zelf betrouwbaar zijn.

Als een aanvaller zowel het APK-bestand als de weergegeven controlesom beheert, bewijst een overeenkomst niet dat het bestand authentiek is. Een bestand hashen bewijst ook niet dat de build reproduceerbaar is, dat schadelijk gedrag ontbreekt of dat de cryptografie correct is. Het dreigingsmodel van Livara erkent deze beperking rond de betrouwbaarheid van de referentie.

Installeer niet zomaar een vervangende app buiten het officiële distributiekanaal omdat een blog native apps veiliger noemt. Controleer de officiële distributieroute en de exacte versie die je wilt installeren.

Een checklist om een platform te kiezen

  • Gedeelde computer? Laat geen privéchatsessie openstaan; controleer opgeslagen sessies en het uitloggedrag.
  • Veel extensies? Beperk de sitetoegang of gebruik een schoon profiel voor gevoelige activiteiten.
  • Beheerd apparaat? Zorg dat je het beheer- en monitoringbeleid van de organisatie begrijpt voordat je persoonlijke accounts gebruikt.
  • Onbetrouwbare Android-diensten? Controleer de toegang voor toegankelijkheidsdiensten, meldingen, toetsenborden en ondersteuning op afstand, zonder lukraak benodigde hulpmiddelen uit te schakelen.
  • Lang bewaarde geschiedenis? Begrijp hoe sleutels en back-ups het wissen van browseropslag of het opnieuw installeren van de app overleven voordat je iets verwijdert.
  • Gesprek met een hoog risico? Verifieer de contactpersoon via een onafhankelijk, vertrouwd kanaal en houd rekening met de beveiliging van de apparaten van beide deelnemers.

Gebruik voor de bredere afweging de checklist voor veilige berichtenapps. Geen van beide platformkeuzes voorkomt dat ontvangers inhoud kopiëren, dat toegang via een gecompromitteerd apparaat mogelijk is of dat een dienst metadata bewaart.

Veelgestelde vragen

Moet een browserextensie de versleuteling kraken?

Niet als ze toegang heeft tot leesbare gegevens die al op de pagina worden weergegeven. Relevante machtigingen en de beveiliging van de browser bepalen die toegang.

Is de Android-app altijd de veiligere keuze?

Nee. De toestand van het apparaat, ondersteuning voor updates, de installatiebron en software met uitgebreide rechten zijn van belang. Vergelijk de omgeving die je daadwerkelijk hebt.

Bewijst een overeenkomende controlesom dat een build veilig is?

Ze bewijst gelijkheid met de referentiehash onder de aannames van de hashfunctie. Ze toont niet aan of de referentie authentiek is of de code veilig is.

Bronnen

Verifieer zelf het APK-bestand van Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗