Google Android, maar dan veilig(er)
Met GrapheneOS kan je met een gerust(er) hart gebruik maken van Android. Vergt wel een Pixel telefoon.
Ruim drie jaren geleden schreef ik een blog over het ‘ont-Googlen en terughoudendheid met de cloud‘ en één van de zaken die daarin kort aan bod kwam is een veiliger alternatief voor het Android besturingssysteem dat immers óók van Google is. Daar zag ik toen nogal tegenop, maar inmiddels ben ik daadwerkelijk overgestapt: ik ruilde (met pijn in het hart) mijn OnePlus in tegen een Pixel en verruilde OxygenOS voor GrapheneOS. Lees er meer over in deze (tech)blog!
Het bleef maar knagen…
De gedwongen winkelnering is een lastig punt. Probeer maar eens zonder of zo min mogelijk met de (meestal) geweldige hard- en software van Apple, Google en Microsoft te werken. Eenmaal in een bepaald ecosysteem wordt je gestimuleerd steeds meer daarbinnen onder te brengen omdat het, toegeven, gewoon zeer goed integreert en uitstekend werkt. Veel software is (bijna) gratis, maar gratis is nooit echt gratis natuurlijk. Je betaalt dan alleen met je (persoons)gegevens. Evenmin bieden de grote betaalde producten en diensten mij de zekerheid op het gebied van privacy en security die ik wens – al is het doorgaans wel een heel stuk beter.
Qua laptop gebruik ik volop Microsoft producten: Windows (met ShutUp) als besturingssysteem en Office 365 voor kantoorautomatisering. Als beheerder van mijn ‘tenant‘ kan ik binnen die laatstgenoemde veel zelf configureren, maar zakelijke e-mail, agenda en documenten staan niettemin allemaal bij Microsoft in de cloud. En zij hebben de sleutels die nodig zijn bij het ontsleutelen van dit alles. Gezien het intensieve gebruik van mijn laptop en daarmee van de Microsoft producten besloot ik dit nog even te laten voor wat het is (al jeukt het wel).
Qua telefoon stapte ik jaren terug over het HTC naar OnePlus en dat is mij erg goed bevallen. Wel werden de telefoons door de jaren heen fors duurder en ik was niet meer bereid zo diep in de buidel te tasten. Maar de overstap naar een Pixel (ook niet goedkoop) durfde ik nog niet aan. Dus kocht ik ruim een jaar geleden eerst een goedkopere Pixel 6A voor erbij om te kijken of een overstap van Android met OnePlus ‘schil’ OxygenOS naar een vanilla Android Pixel telefoon met GrapheneOS een haalbare kaart zou zijn. Dat bleek wel degelijk het geval. Lees hier alvast meer over GrapheneOS.
Wat werd wat?
In mijn vorige blog over dit onderwerp kan je lezen dat ik al afscheid heb genomen van een aantal (cloud)diensten. De meest bekende zijn die van Google: Startpage ipv Google Search, Proton Mail ipv Gmail/Outlook mail en Firefox ipv Chrome/Edge. De TransIP Stack ruilde ik intussen in voor Proton Drive. Foto’s worden automatisch geüpload naar mijn eigen NAS (Synology Moments). Mijn internetprovider is inmiddels daadwerkelijk Freedom Internet en Twitter werd Mastodon. Lastpass werd al spoedig na mijn vorige blog BitWarden en inmiddels test ik Proton Pass. MFA codes staan in Aegis ipv Google Authenticator of Authy. En uiteraard gebruik ik ook veelvuldig VPN verbindingen m.b.v. Proton VPN.
Maar mijn contacten staan nog stééds niet bij Proton omdat Proton Contacts alleen werkt als onderdeel van Proton Mail. En van een eigen CardDAV server op de NAS kwam het vooralsnog niet: je moet er toch weer een poort voor open zetten omdat 24/7 toegang essentieel is. Voor mijn (privé) agenda stapte ik wel over omdat alleen lokale toegang daar wel acceptabel is. Mijn nieuwe IP-camera slaat inmiddels mbv ONVIF camerabeelden op de NAS op en dat werkt allemaal prima. Alle automatiseringen lopen via Home Assistant dat draait op een Raspberry Pi 4: Zigbee verlichting, zonnepanelen, airco, warmtepomp en laadpaal. Tot slot integreer ik WhatsApp en Signal in Element One.
O ja, ik ben fan van de Fossify fork van SimpleMobileTools; gebruik meerdere van deze apps. En OpenBoard als toetsenbord kan ik aanraden boven Gboard- wel eerst even F-Droid installeren (een appstore voor gratis, open-source apps). Maar dit alles voelde in zekere zin onzinnig op een Android telefoon. Juist Android zelf is de olifant in de kamer. Althans, de standaard variant daarvan.
Aan de slag met GrapheneOS
En dat is veel makkelijker dan je denkt
Jaren terug installeerde ik al andere besturingssystemen op mijn HTC telefoons mbv XDA (CyanogenMod!). Dat was toen vooral omdat ik daarmee allerlei nieuwe functionaliteiten tot mijn beschikking kreeg. En het had ook een gehalte van ‘omdat het kan’ en ‘kijken of het lukt’. Precies de reden dat ik vroeger ook mijn console liet ‘ombouwen’ zodat ik gekopieerde spellen kon spelen. Bij dit alles accepteerde je impliciet dat niet alles altijd direct werkt of blijft werken. Door de jaren heen kreeg Android alsnog (bijna) alle functionaliteiten waarmee de aanleiding tot een alternatief besturingssysteem op mijn mobiele telefoon verdween. En ik had ook geen zin er tijd in te steken als een update weer eens alles overhoop trok. En ik kreeg om wat meer geld te besteden zodat een spel voor een console gewoon in de winkel te kopen was.
De aanleiding om nu opnieuw te kijken naar andere implementaties van het Android Open Source Project is nu dus gelegen in security & privacy. Let wel: AOSP is de basis van een Android besturingssysteem (Operating System = OS) maar op zichzelf niet compleet genoeg om als zodanig te kunnen functioneren. AOSP is, zoals de naam al doet vermoeden, open-source al overziet Google het hele ‘project’ wel nadrukkelijk. Iedereen kan een besturingssysteem bouwen op basis van AOSP en dat gebeurt dan ook veelvuldig: Android ziet er op een Samsung telefoon anders uit dan op een OnePlus of Motorola. En zo is GrapheneOS ook een implementatie van AOSP al zijn de wijzigingen en toevoegingen aan AOSP veel ingrijpender in dit geval.
In 4 stappen klaar (+ een 5e voor de weg terug)
Toegeven, het is even spannend om een splinternieuwe telefoon vanuit de doos direct aan je laptop te hangen en te voorzien van een compleet nieuw OS. Daar moet je even overheen. Ik kan je verzekeren dat GrapheneOS feilloos werkt op een Pixel telefoon. Ze hebben juist gekozen voor ondersteuning op Pixel telefoons omdat de hard- en software zo optimaal samenwerkt. Google maakt de Pixels telefoons immers zelf. In Nederland zijn ze doorgaans het best geprijsd bij Belsimpel. Een stappenplan voor installatie vind je op de GrapheneOS website en een wat uitgebreidere variant vind je hier. Het komt eigenlijk hier op neer:
- Om een alternatief besturingssysteem te kunnen installeren met je de bootloader ontgrendelen. Die is standaard vergrendelt om te voorkomen dat dit zomaar kan – gelukkig maar. Het ontgrendelen van een bootloader heeft automatisch tot gevolg dat de gehele telefoon wordt gewist (nogmaals: gelukkig maar). Dat maakt bij een nieuwe telefoon niet uit: je had er immers nog niets op geïnstalleerd. Dit unlocken werkt super eenvoudig vanuit een webbrowser (zolang je maar geen Firefox gebruikt, o ironie).
- Nu de bootloader ontgrendeld is, kan je een alternatief OS installeren (‘flashen’). Kies de gemakkelijke route via de ‘web installer’ die automatisch de juiste versie vindt op basis van je via USB aangesloten Pixel telefoon of kijk hier. Je kan het zien als je telefoon volledig terugbrengen naar de fabrieksinstellingen en weer te beginnen bij ‘start’. Onder stap 1 was je telefoon immers al geheel gewist. De bootloader merkt weliswaar nog op dat je een ander OS probeert te starten, maar staat dat wel toe. Tijdens de installatie van GrapheneOS zal de telefoon meerdere keren opnieuw opstarten omdat het OS in meerdere stappen wordt geïnstalleerd.
- Nadat GrapheneOS geïnstalleerd is moet je eerst weer de bootloader vergrendelen. Ook GrapheneOS wil zeker weten dat er niet wordt geknoeid met het apparaat en zal dus anders niet werken. Indien je niet bent opgegroeid met MS-DOS ziet het er allemaal wat spannend uit. Je weet wel: onbegrijpelijke commando’s in witte letters tegen een zwarte achtergrond. Maar weet dat je hier eigenlijk niets bijzonders doet, als in: dit is gewoon ondersteunde functionaliteit die onderdeel uitmaakt van AOSP.
- Hierna is je telefoon gereed voor gebruik en zal die opstarten alsof het een nieuwe telefoon is. Je doet er goed aan de mogelijkheid tot het unlocken van de bootloader weer dicht te zetten. Om er zeker van te zijn dat alles goed is gegaan doe je er ook goed aan de hashes te controleren. Je vindt ze op deze pagina (en op het scherm van je telefoon). Je kan nog een stap verder gaan door de hele telefoon door de ‘Auditor’ app heen te trekken m.b.v. een andere telefoon. Waarom je dat zou doen en hoe dat werkt lees je hier.
- Wees gerust: op dezelfde manier vervang je GrapheneOS weer voor de standaard versie van Android die erop stond toen je de telefoon kocht. Wel zo handig wanneer je de telefoon weer verkoopt. Zo download je Android 14 gewoon hier rechtstreeks bij Google. Kwestie van bootloader unlock weer inschakelen > bootloader ontgrendelen > standaard Android installeren (ook wel: ‘flashen’) > bootloader vergrendelen > bootloader unlock weer uitschakelen. Je gebruikt hiervoor alleen niet de GrapheneOS web installer, maar de Android Flash Tool.
Nu kan ik het nog zo ‘makkelijk’ proberen te verkopen, maar in de praktijk is het belang van onze telefoon vaak te groot. Wat als het niet lukt? Dan heb ik (even) helemaal geen telefoon meer. Of ik ‘brick‘ mijn telefoon. Ik koos dus voor een relatief goedkope Pixel 6A om vertrouwen te krijgen in mijn eigen vaardigheden, GrapheneOS en een Pixel telefoon. Vooral in de combinatie van die drie. Mocht je nu juist erg thuis zijn in de Command Line Interface (CLI) dan kan je ook deze guide volgen. Het mag duidelijk zijn dat de uitkomst van mijn experiment positief was 🙂
Oké, nu heb ik GrapheneOS op een Pixel telefoon
Tijdens het lezen van deze blog heeft zich ongetwijfeld de vraag aangediend: maar waarom zou je? En terecht natuurlijk. Dé reden over te stappen naar GrapheneOS is een rits aan verbeterde security & privacy features. Een compleet overzicht vind je hier, maar hieronder licht ik er een aantal uit die voor mij van belang zijn.
- Verhoogde bescherming tegen 0 days
- Snellere patches voor kwetsbaarheden
- Reductie van het aanvalsvector
- Sandboxing, sandboxing, sandboxing (incl. Google Play apps!)
- Meer controle over het gebruik van netwerken en sensoren
- Het scopen van toegang tot opslag en contacten
- MAC-adres randomiseren per verbinding
- Geen directe verbinding met Google servers
- Auto-reboot
- Verified boot and Over-The-Air (OTA) OS updates
Wanneer je je verdiept in alle aanpassingen die zijn gemaakt in GrapheneOS t.o.v. Google AOSP kan je weinig anders dan concluderen dat alles security- en privacy-by-design ademt. Dat kan zeker niet gezegd worden van AOSP (een vergelijking vind je hier). Niet voor niets noemt de (uitstekende) site Privacy Guides GrapheneOS als hét OS wanneer het gaat om security en privacy. Uiteraard blijft er altijd wat te wensen over. Voor mij is dat mobiel kunnen betalen via NFC. Mijn bank ASN is gestopt met haar eigen app en leunt nu volledig op Google Wallet (Pay). En dat kan alleen geïnstalleerd worden op door Googlle gecertificeerde OS’en en tja, dat is GrapheneOS (nog?) niet… Geen showstopper, maar toch.
Dus, wie durft? Ik hoop dat deze blog je in ieder geval meer informatie heeft gegeven over het hoe en waarom van GrapheneOS. En misschien ga je wel een poging wagen (is dat geval ben ik erg benieuwd naar je ervaringen).