Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Wat is volledige schijfversleuteling in Android-lolly?

Inhoudsopgave:

Anonim

Er is veel informatie beschikbaar over de "standaard" volledige schijfversleuteling (FDE) van Android 5.0 Lollipop. Een deel ervan is goede informatie, een deel is slechte informatie, en veel ervan zijn slechts herhaalde stukjes speculatie. Hoewel dit zorgt voor een goed gesprek - en FDE is iets dat het waard is om over te praten - wilden we de fijnere punten opsplitsen in een gemakkelijk te lezen discussie.

Dit is niet bedoeld als het ultieme document voor Android-codering. Google heeft die al gepost. We gaan de consumentgerichte vragen aanpakken die we blijven horen. Gebruik zoals altijd de opmerkingen voor discussie, zodat we allemaal iets kunnen leren.

Wat is encryptie?

Versleuteling is het proces van het beschermen van gegevens met behulp van een versleutelingssleutel. Beschouw een wachtwoord als een sleutel en de codering is een zeer veilig slot. Je hebt de sleutel nodig om iets te doen. En hoewel instappen zonder de juiste sleutel mogelijk is, is het niet erg waarschijnlijk. (Ja, elk coderingssysteem kan - theoretisch, tenminste - worden verslagen door geduldige en sluwe personen.)

Op onze Androids kunnen alle gebruikersgegevens op een apparaat (sinds Android 3.0) worden gecodeerd. De gegevens worden eigenlijk meteen gecodeerd, voordat ze ooit naar schijf worden geschreven. Op hun beurt worden de gegevens gedecodeerd voordat ze worden teruggestuurd naar een programma dat erom vraagt. Het enige dat u nodig heeft, is de juiste sleutel, die op een wachtwoord is gebaseerd met behulp van het apparaatwachtwoord.

Veranderingen in Lollipop

Hoewel FDE beschikbaar is in Android sinds de noodlottige Android 3.x Honeycomb, brengt Android 5.0 behoorlijk wat grote veranderingen en verbeteringen in hoe het allemaal werkt.

In Lollipop wordt FDE gedaan met een kernelfunctie die rechtstreeks op de bloklaag van de opslag werkt. Dit betekent dat codering kan werken op flash-apparaten zoals eMMC-opslag - die geen native coderingsfuncties hebben - omdat ze zich aan de kernel presenteren als een standaardblokapparaat. Versleuteling is niet mogelijk met bestandssystemen die rechtstreeks met de opslag communiceren (zoals YAFFS). De mensen die uw telefoon of tablet hebben gemaakt, hebben misschien een methode opgenomen om externe opslag te coderen (zoals de SD-kaart), maar de Android AOSP houdt zich voornamelijk bezig met interne opslag. Het gebruikte algoritme is 128-bits AES met CBC en een gecodeerde initialisatievector voor de zoutsector met behulp van de SHA256-hashfunctie. De hoofdsleutel gebruikt ook oproepen naar de OpenSSL-bibliotheek.

Met andere woorden, het is verdomd veilig.

Bij de eerste keer opstarten in Android maakt uw apparaat een willekeurige 128-bits hoofdsleutel, hashes deze en slaat deze op in de crypto-metagegevens. Deze gegevens worden ontgrendeld door uw gebruikerswachtwoord. (En vergeet niet, mensen, gebruik geen zwakke wachtwoorden.) De resulterende hash wordt ook ondertekend door hardware-back-up, zoals TEE-gebaseerde (dat is Trusted Execution Environment) functies zoals TrustZone. Voorafgaand aan Android 5.0 werd de hoofdsleutel alleen gecodeerd op basis van het wachtwoord van de gebruiker, wat kwetsbaar kan zijn voor off-box aanvallen via ADB.

Interessant is dat Google de Qualcomm-hardwarecryptografische engine niet gebruikt in AOSP of voor de Nexus 6. Dit is inefficiƫnt omdat het CPU-gebaseerde codering en decodering tijdens schijf-I / O (waarschijnlijk om de 512 bytes) afdwingt versus het gebruik van de hardware-gebaseerde Qualcomm prestatiekenmerken. We gaan niet in twijfel trekken waarom dit wordt gedaan, maar weten dat OEM's het kunnen implementeren zoals ze willen. We hopen dat ze dat zullen doen.

Google heeft veel gedaan om volledige schijfversleuteling op Android veilig te maken. Al met al hebben ze het behoorlijk goed gedaan.

Prestatieproblemen

U hebt waarschijnlijk gehoord van slechte prestaties bij het lezen en schrijven van schijven op Nexus-apparaten met ingeschakelde codering. Het is waar - wanneer u onmiddellijk moet coderen en decoderen, gaat de I / O-snelheid van de schijf achteruit. Zoals hierboven vermeld, gebruikt Google de hardwaregebaseerde kernelfuncties van Qualcomm op de Nexus 6 niet, waardoor het zelfs nog meer lijdt. Maar hoe erg is het?

Disk I / O in Lollipop is meerdere keren sneller dan in KitKat en eerdere versies van Android. Software-optimalisatie en apparaatspecifieke code betekent dat Android sneller dan ooit uit de opslag kan lezen en schrijven. Dit is een zeer goede zaak die meestal wordt tenietgedaan door tragere I / O-tijden als gevolg van codering.

Als u FDE moet gebruiken (of gedwongen bent om het te gebruiken omdat u een nieuwe Nexus hebt gekocht en geen aangepaste firmware wilt installeren), zullen uw prestaties nog steeds beter zijn (op papier) dan op KitKat. Het is gewoon niet zo goed als het zou kunnen zijn zonder codering. In real-world gebruik merken de meeste gebruikers met wie we hebben gesproken geen apparaatvertraging vanwege trage I / O. Je ervaring kan anders zijn.

Als u FDE wilt of nodig hebt, is de afweging waarschijnlijk de moeite waard.

Versleuteling is niet verplicht (en heb je het toch nodig?)

Iedereen met een telefoon die al over de Lollipop-update beschikt, kan je vertellen dat Lollipop je niet dwingt om codering te gebruiken. Terwijl de Nexus 6 en Nexus 9 (en mogelijk alle toekomstige Nexus-apparaten) worden geleverd met ingeschakeld en geen gemakkelijke manier om het uit te schakelen, hebben telefoons die zijn bijgewerkt naar Lollipop - zoals de Galaxy Note 4 - niet automatisch volledige schijfcodering ingeschakeld.

Hetzelfde geldt voor nieuwe apparaten die worden geleverd met Android 5.x zoals de LG G Flex 2. De optie is er als je het wilt inschakelen, maar standaard is volledige codering uitgeschakeld. Dit brengt ons bij de keuze - hebben we volledige schijfversleuteling nodig?

Velen van ons zullen volledige schijfversleuteling nuttig vinden. Als je gevoelige informatie hebt die je nooit in verkeerde handen op je telefoon wilt krijgen, is FDE een uitkomst. Als iemand in uw gegevens wil komen, moet deze het wachtwoord van uw apparaat kennen. Geen enkele hoeveelheid gedoe over een draad laat ze inbreken, en op voorwaarde dat u een sterk wachtwoord gebruikt, zijn uw gegevens veilig omdat na een handvol verkeerde gissingen alles vastloopt.

Voor anderen volstaat alleen de standaardbeveiliging van het vergrendelscherm. Als we een telefoon kwijtraken, kunnen we deze op afstand wissen via Android-apparaatbeheer of een ander hulpprogramma, en als iemand offline kan gaan voordat we kunnen vegen, dan het geluk hebben om ons wachtwoord voor het vergrendelscherm te omzeilen (het kan gebeuren), alles wat ze doen krijgen is een paar foto's en Google-accounttoegang waarop we snel een wachtwoord kunnen wijzigen.

Er is ook de hele overheid snuffing kwestie om over na te denken. Hoewel de meesten van ons geen reden hebben om te vrezen voor de gevolgen voor wat we op onze telefoons hebben opgeslagen, verdienen we toch een beetje privacy en bescherming als het gaat om onze persoonlijke gegevens. Volledige schijfversleuteling brengt ons dichter bij het beveiligen van onze gegevens tegen overheidsinstanties die denken dat ze het moeten zien.

Alleen jij weet of je volledige apparaatversleuteling nodig hebt.