Beveiliging · bijgewerkt op 17 oktober 2026

Zo beveiligt Sifrvault je kluis

Voor wie het precies wil weten, of Sifrvault wil meenemen in een eigen risicoanalyse. Ook waartegen Sifrvault níet beschermt, want dat hoort erbij.

Het uitgangspunt: wij hebben niets

  • Er is geen server van Sifrvault en geen account bij ons. Je kluis staat in de privédatabase van je eigen iCloud (CloudKit).
  • Alles wordt op je apparaat versleuteld voordat het naar iCloud gaat. Apple ziet alleen versleutelde gegevens; wij zien helemaal niets.
  • Geen analytics, advertenties, trackers of crashrapportages van derden, in de app niet en op deze website niet.
  • Wij kunnen je kluis dus niet inzien, niet herstellen en niet afgeven, ook niet als iemand daarom vraagt.

Sleutels

  1. Je hoofdwachtwoord wordt op je apparaat Unicode-genormaliseerd en met PBKDF2-HMAC-SHA256 (600.000 rondes, het advies van OWASP) en een willekeurig zout van 32 bytes omgezet in een sleutel-encryptie-sleutel. Het hoofdwachtwoord zelf wordt nergens bewaard; bij elke wijziging komt er een nieuw zout.
  2. Die sleutel pakt de kluissleutel in: 256 willekeurige bits, gemaakt op je apparaat, die het apparaat alleen ingepakt verlaat.
  3. De kluissleutel versleutelt ieder item en ieder document apart met AES-256-GCM.
  4. De herstelsleutel (120 willekeurige bits, 24 tekens) pakt via HKDF-SHA256 dezelfde kluissleutel in. Alleen het ingepakte resultaat staat in iCloud; de herstelsleutel zelf zie je één keer, op het scherm en in de noodkit.

Het algoritme van de sleutelafleiding staat als versienummer in de kluiskop. Een kluis met oudere instellingen wordt na het ontgrendelen automatisch opgewaardeerd, zodat we later kunnen overstappen op bijvoorbeeld Argon2id. Wat uit iCloud komt wordt begrensd (100.000 tot 10.000.000 rondes, hooguit vijf kluiskoppen), zodat gemanipuleerde gegevens de app niet kunnen laten hangen.

Eisen aan het hoofdwachtwoord

Wie de versleutelde kluis uit iCloud buitmaakt, kan offline wachtwoorden proberen. Daarom weigert Sifrvault zwakke hoofdwachtwoorden. Toegestaan is een zin van minstens 16 tekens (bijvoorbeeld vier woorden), of minstens 12 tekens met minstens drie soorten tekens en geen bekend woord of veelgebruikt wachtwoord.

Versleuteling van de inhoud

  • AES-256-GCM via Apple CryptoKit, met voor iedere versleuteling een nieuwe willekeurige nonce.
  • De authenticatietag wordt altijd gecontroleerd: gewijzigde of beschadigde gegevens worden geweigerd, nooit half gelezen.
  • Elk item is gebonden aan zijn eigen ID en elk document aan zijn eigen ID. Versleutelde blokken kunnen dus niet ongemerkt worden verwisseld.
  • Elk item is één versleuteld blok: naam, websites, gebruikersnamen, wachtwoorden, notities, mappen, 2FA-sleutels, herstelcodes, passkeys, IBAN, pincodes en SSH- en API-sleutels.

Wat staat er leesbaar in iCloud?

Alleen wat nodig is om te synchroniseren: het aantal items, willekeurige ID's, tijdstippen van wijziging, de grootte van documenten, het zout, het aantal rondes, de versie van de sleutelafleiding, een niet-geheime vingerafdruk van de kluissleutel en de datum van de herstelsleutel. Daaruit valt niets af te leiden over de inhoud.

Op je apparaat

  • Face ID en Touch ID: de kluissleutel staat in de sleutelhanger van dit apparaat. Hij gaat nooit naar iCloud, verdwijnt als je de toegangscode van je apparaat uitzet en wordt ongeldig als er een gezicht of vinger wordt toegevoegd.
  • IBAN en pincodes zijn ook in een open kluis verborgen en verschijnen pas na een extra Face ID- of Touch ID-controle.
  • Automatisch vergrendelen na een ingestelde tijd; op de Mac ook bij slaapstand en schermvergrendeling. Op iPhone en iPad is de app afgedekt in de app-wisselaar.
  • Automatisch invullen gebruikt een kopie met alleen versleutelde gegevens en opent die pas na Face ID, Touch ID of je hoofdwachtwoord. Aan het systeem geeft Sifrvault alleen websites en gebruikersnamen door, nooit wachtwoorden.
  • Bekeken documenten staan tijdelijk ontsleuteld in een beveiligde map en worden gewist bij sluiten, vergrendelen en opstarten.

Klembord en scherm

  • Gekopieerde geheimen blijven op het apparaat (niet via Universeel klembord) en worden na de ingestelde tijd gewist, op de Mac ook bij het afsluiten van de app.
  • Op de Mac zijn ze gemarkeerd zodat klembordprogramma's ze niet in hun geschiedenis bewaren.
  • Op de Mac is een venster met een zichtbaar wachtwoord, pincode of IBAN uitgesloten van schermafbeeldingen, schermopnames en schermdelen.

Passkeys

  • Sifrvault maakt passkeys als P-256-sleutelpaar (ES256) met Apple CryptoKit. De geheime sleutel staat in het item en wordt dus versleuteld bewaard en gesynchroniseerd, net als een wachtwoord.
  • Een website krijgt alleen de publieke sleutel. Een handtekening om in te loggen komt er pas na Face ID, Touch ID of je hoofdwachtwoord.
  • Een passkey die je aanmaakt terwijl de app dicht is, wacht versleuteld met je kluissleutel op het apparaat tot Sifrvault hem in je kluis zet. Passkeys komen nooit in de wachtwoordgeschiedenis.

Overzetten tussen apps

  • Overzetten loopt via de functie van iOS en macOS 26 (gebaseerd op de FIDO-standaard voor het uitwisselen van inloggegevens): versleuteld en rechtstreeks van app naar app, zonder bestand en zonder onze tussenkomst.
  • Je hele kluis naar een andere app sturen kan pas na Face ID, Touch ID of de toegangscode van je apparaat.
  • Wat Sifrvault ontvangt, komt pas in je kluis als die open is, en wordt dan versleuteld bewaard zoals al het andere.

Browserextensie (Chrome, Edge, Brave op de Mac)

  • De extensie praat alleen met de Sifrvault-app op dezelfde Mac, via een kleine ondertekende helper. Er gaat niets over het netwerk.
  • De helper werkt alleen als Chrome, Edge of Brave hem start; hij controleert de digitale handtekening van de browser. De app controleert op haar beurt de handtekening van de helper.
  • Een webpagina krijgt alleen logins die bij die website horen, en alleen terwijl je kluis open is.

SSH-agent en sifr (Mac, voor developers)

  • Allebei staan standaard uit. Je zet ze aan in Instellingen › Developer.
  • Met de SSH-agent gebruiken ssh en git de SSH-sleutels uit je kluis. Je privésleutel verlaat de app nooit: ssh krijgt alleen een handtekening.
  • Bij elke ondertekening vraagt Sifrvault om Touch ID of het wachtwoord van je Mac. In het venster staat welke sleutel en welk programma erom vraagt.
  • De agent is alleen bereikbaar voor jouw gebruiker op deze Mac. Zodat ssh ook bij een vergrendelde kluis weet welke sleutels er zijn, onthoudt de Mac de publieke sleutels, zonder namen. Die gaan niet naar iCloud.
  • Met sifr vraag je wachtwoorden, tokens en 2FA-codes op in de terminal. Alleen het sifr-programma in de app, met onze digitale handtekening, mag met de app praten; andere programma’s worden geweigerd. Ook hier vraagt Sifrvault elke keer om Touch ID.

Back-ups en export

Een versleutelde back-up gebruikt AES-256-GCM met een sleutel uit een wachtwoord dat je zelf kiest; zonder dat wachtwoord is het bestand onleesbaar. Een onversleutelde export (JSON) is bedoeld om over te stappen; de app waarschuwt dat het bestand leesbaar is.

Waartegen Sifrvault beschermt

  • Een lek of inbraak bij Apple of in je iCloud-account: de aanvaller krijgt alleen versleutelde gegevens en moet je hoofdwachtwoord raden.
  • Een gestolen of verloren apparaat dat op slot zit.
  • Meelezen via Universeel klembord, klembordprogramma's, schermopnames en schermdelen.
  • Andere programma's op je Mac die zich voordoen als browser om wachtwoorden op te vragen.
  • Vervalste of verwisselde gegevens in iCloud: die worden geweigerd.

Waartegen niet

  • Een apparaat dat al is overgenomen, bijvoorbeeld door malware met beheerdersrechten of een keylogger. Zolang je kluis open is, kan zulke software meekijken.
  • Een zwak of hergebruikt hoofdwachtwoord, gecombineerd met toegang tot je iCloud-gegevens.
  • Iemand met je ontgrendelde apparaat én je gezicht of vinger. Op een vertrouwd apparaat kan Face ID of Touch ID ook een nieuw hoofdwachtwoord instellen; dat is bewust zo.
  • Een noodkit in hetzelfde iCloud-account als je kluis. Print de noodkit liever.
  • Een oudere versie van een item terugzetten door iemand die in je iCloud-account kan schrijven. Vervalste inhoud kan niet; een echte oudere versie wel. Het gevolg is beperkt: een ouder wachtwoord komt terug, dat ook in de geschiedenis staat.

Bekende beperkingen

  • PBKDF2 is niet geheugen-intensief; Argon2id zou raden op grafische kaarten duurder maken. Overstappen kan later zonder bestaande kluizen te breken.
  • Er is nog geen externe audit of pentest, wel een interne review van alle cryptografie en sleutelopslag en geautomatiseerde tests. Een onafhankelijke review staat op de planning.
  • Sifrvault en de maker zijn niet gecertificeerd volgens ISO 27001, NEN 7510 of vergelijkbare normen.
  • Voor organisaties: er is geen centraal beheer, geen auditlog en geen gedeelde kluis, en de kluis staat in een persoonlijke iCloud.

Een kwetsbaarheid melden

Heb je een beveiligingsprobleem gevonden? Mail naar [email protected] met "Beveiliging" in het onderwerp, en beschrijf wat je hebt gevonden en hoe het te herhalen is.

  • Je krijgt binnen vijf werkdagen een reactie.
  • Maak het probleem pas openbaar als er een oplossing is, of na 90 dagen, wat het eerst komt.
  • Test alleen met je eigen kluis en je eigen apparaten. Er is geen server om te testen.
  • Wie een probleem verantwoord meldt, noemen we graag bij de oplossing, als je dat wilt.

Zie ook de privacyverklaring.