24 oktober 2026
2Secret 1.9.4: een beveiligingsdoorlichting, bekende sleutels en Touch ID op de Mac
We hebben de versleuteling van 2Secret doorgelicht tegen een gestolen serverdatabase, een gestolen apparaat en een kwaadwillende server. Het ontwerp houdt stand; 1.9.4 dicht wat we vonden: de apps onthouden de sleutels van de mensen met wie je deelt, weigeren kluissleutels die alleen van een server kunnen komen, en de Touch ID-sleutel op de Mac en het bewijs van deel-links zijn beter beschermd.
Versie 1.9.4 van 2Secret is er voor elk platform: de apps voor Mac, Windows en Linux, de opdrachtregel, de webkluis, de browserextensie en de synchronisatieserver. Het is een beveiligingsupdate; aan het gebruik van 2Secret verandert niets.
Wat we hebben gecontroleerd
We zijn de versleuteling van 2Secret doorgelopen met drie situaties voor ogen: iemand steelt een kopie van de database van de synchronisatieserver, iemand steelt een apparaat of een back-up ervan, en iemand heeft een tijdlang een synchronisatieserver in handen.
Het ontwerp houdt stand. Alles wat telt op de server (items, kluisnamen, sleutels, het synchronisatietoken) is versleuteld met sleutels die de server nooit heeft, en het hoofdwachtwoord is niet uit de database te raden, omdat elk account ook een geheime sleutel van 130 willekeurige bits heeft die je apparaten nooit verlaat. Van de inlogsleutel en van sessietokens bewaart de server alleen een hash. De zwakke plekken die we wél vonden, zijn in 1.9.4 gedicht.
Bekende sleutels
Deel je een kluis met iemand, of vertrouw je iemand als noodcontact, dan versleutelt 2Secret de sleutel van de kluis naar hun publieke sleutels, die de server opgeeft. Tot nu toe kon een kwaadwillende server zijn eigen sleutels in de plaats van die van iemand zetten. Bij een noodcontact gebeurde dat zelfs zonder dat je iets deed, bij de volgende synchronisatie.
Vanaf 1.9.4 onthoudt elk apparaat de publieke sleutels van iedereen aan wie het een kluissleutel heeft gestuurd. Geeft de server later andere sleutels voor die persoon op, dan wordt er niets naar hen gestuurd. De app toont beide vingerafdrukken, zodat je de nieuwe via een ander kanaal (bellen, in persoon) met die persoon kunt vergelijken en vertrouwen als hij klopt. Op de opdrachtregel: 2secret account trust-keys.
Vervangen kluissleutels
Een beheerder kan een gedeelde kluis een nieuwe sleutel geven, bijvoorbeeld na het verwijderen van een lid. Een nieuwe sleutel die de server aanbiedt voor een kluis zonder andere leden, maar die niet van je eigen apparaten komt, wordt nu geweigerd: alleen je eigen apparaten kunnen die gemaakt hebben. Na elke synchronisatie meldt de app welke kluizen een nieuwe sleutel van een ander lid kregen, en welke sleutels hij heeft geweigerd.
Touch ID op de Mac
De sleutel die 2Secret met Touch ID ontgrendelt, stond in de inlog-sleutelhanger van de Mac, die zelf geen Touch ID-bescherming heeft. Met een kopie van de schijf van de Mac en het inlogwachtwoord was de kluis te openen zonder hoofdwachtwoord en zonder geheime sleutel. De sleutel is nu een item in de sleutelhanger dat de Secure Enclave alleen vrijgeeft na Touch ID met de ingestelde vingers, op die Mac, zoals op de iPhone. De app verhuist de sleutel de eerste keer dat je na de update ontgrendelt.
Deel-links
De server bewaart nu alleen een hash van wat een deel-link opent, zodat een kopie van zijn database een link niet kan openen en niet kan opmaken. Eerder gemaakte links blijven werken. Geef een link een sterk wachtwoord als je hem verstuurt via een kanaal dat anderen kunnen lezen: wie zowel de link als een kopie van de serverdatabase heeft, kan onbeperkt wachtwoorden proberen.
Wat nog op de lijst staat
Twee punten blijven over; beide staan in de whitepaper over beveiliging. De eerste keer dat een apparaat iemand een kluissleutel stuurt, neemt het diens publieke sleutels zoals de server ze opgeeft; vergelijk dan de vingerafdruk. En een vervangen sleutel van een kluis met andere leden wordt aangenomen zoals hij komt, omdat vervangingen nog niet ondertekend zijn. Ondertekende sleutelvervangingen staan gepland voor een latere versie.
Bijwerken
- Mac, Windows en Linux: apps met automatische updates aan bieden 1.9.4 zelf aan. Anders haal je hem van de downloadpagina.
- iPhone en iPad: de App Store-versie staat in de wachtrij voor beoordeling bij Apple en volgt in de App Store.
- Je eigen server: werk die ook bij, zie zelf hosten. Het gehashte bewijs van deel-links heeft de nieuwe server nodig.
Versie 1.9.3, een dag eerder uitgebracht, bracht het nieuwe uiterlijk op telefoons: een zwevende menubalk van glas, menu's na lang drukken, meerdere items tegelijk selecteren, en website-icoontjes die sneller en vaker worden gevonden. Alles wat veranderde staat in de changelog.