Kan iemand mij uitleggen hoe mobiele encryptie écht werkt?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • dec0de
  • Registratie: Oktober 2017
  • Niet online
Ik zat even te koekeloeren door een leuke thread op een nieuws artikel (nieuws: Forbes: FBI haalde data van vergrendelde iPhone 11 Pro Max)
En daar word veel gezegd over mobiele encryptie. Nu heb ik op mijn pc gewoon een lange alfanumerike code, met Full Disk Encryption. Waarom? Geen idee, maar dat weet ik hoe FDE werkt tegen de tijd dat het nodig word weet ik hoe het werkt.

Anyway, dit is hoe ik denk dat het op een PC (linux, cryptsetup) werkt:
Je hebt een algoritme, bijv AES, aan de hand van wat de key is, worden bitjes gewisseld. Als je de juiste key hebt, krijg je output waar je wat mee kan. Om te verifiëren, word er een tag of sample data meegleverd (en geëncrypt), en als met de decryptie key de tag / sample data juist is, gaan ze verder. De key is 100% gelijk aan wat er origineel is ingevoerd, misschien met salt, maar dat is het, gewoon door SHA-3 halen en klaar. Die key duw je door een AES decryptor. Redelijk simpel, maar bij telefoons gaat het blijkbaar anders, dir is wat ik daarvan dénk te snappen:

Je hebt een 6 cijferige code. Aan de hand allerlei entropy (camera, gyroscoop, microfoon, accelerometer) en dergelijke word er een andere key gegenereerd. Deze key is anders voor alle bestanden op de telefoon.

Maar nu stopt mijn kennis. Want als jij de code veranderd van je telefoon, worden niet alle bestanden opnieuw geëncrypted en decrypted. De key is dus niet 100% gelinkt aan de code! Hoe kan dat nou? De encryptie key kun je alleen aanpassen door de bestanden de decrypten, en dan op een andere manier te encrypten. Slaan ze ergens een key, die eigenlijk de master key is voor alles?

Ik hoop dat alles een beetjes duidelijk is. Alle fouten die ik maak hoor ik graag! Ook fouten in hoe ik denk dat desktop encryptie werkt. Ik leer graag wat extra. Uitleg kan niet geavanceerd genoeg, simpele uitleg mag natuurlijk ook! Ik weet bijv hoe het AES algoritme onder de motorkap werkt, als dat helpt.

Acties:
  • +4 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Wilde gok (!) mijnerzijds: versleutel alles met lange key (edit: dus aangemaakt obv entropie etc). Versleutel -die- key met je password. Bij nieuw password: ont- & versleutel alleen de key opnieuw.

[ Voor 11% gewijzigd door F_J_K op 19-05-2020 17:07 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Dat ^^^ is toch ook hoe LUKS op Linux werkt? Daar heb je 8 key slots (LUKS2 zelfs 32) om dezelfde disk te decrypten. Als ik dat tenminste goed begrepen heb. Ik ben daar ook zeker geen expert in. O-)

[ Voor 26% gewijzigd door Room42 op 19-05-2020 17:14 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • +1 Henk 'm!

  • DiedX
  • Registratie: December 2000
  • Laatst online: 06:42
Je code wordt gebruikt om de Secure Enclave te ontsluiten. In de Secure Enclave staan de échte sleutels (ik zie je geen 128-bits intikken op je mobiel ;))

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Acties:
  • +1 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
Key wrapping als je geen HSM hebt, en als je wel een HSM hebt (secure enclave bijvoorbeeld) gebruik je authenticatie tegen de HSM om aan sleutels te komen.

Acties:
  • +7 Henk 'm!

  • StM
  • Registratie: Februari 2005
  • Laatst online: 18:17

StM

Hoe dit precies werkt is behoorlijk verschillend tussen Apple en Android, tussen verschillende versies en zelfs tussen verschillende manufacturers.

Voor de meest recente Android versies die FBE hebben (file based encryption), heb je simpel gezegd een file specifieke key die van een master key komt. De master key komt van een hardware secret die uniek is voor elke telefoon gecombineerd met je pincode en wat informatie die op je telefoon is opgeslagen.

Ik heb er een paar maanden terug een presentatie over gegeven op OffensiveCon over hoe je state-of-the-art Android telefoons kan decrypten door de hardware secrets er uit te halen.

Hier is een opname van mijn presentatie die ook de verschillende key flows in meer details bevat: YouTube: OffensiveCon20 - Martijn Bogaard - Grab those keyz and learn somebod...

Het is een redelijk complex mechanisme :)

Acties:
  • 0 Henk 'm!

  • dec0de
  • Registratie: Oktober 2017
  • Niet online
F_J_K schreef op dinsdag 19 mei 2020 @ 17:06:
Wilde gok (!) mijnerzijds: versleutel alles met lange key (edit: dus aangemaakt obv entropie etc). Versleutel -die- key met je password. Bij nieuw password: ont- & versleutel alleen de key opnieuw.
Dit klinkt verdraaid logisch! De Master key word dan gemaakt bij het setup proces. Dan salt voor elk individueel bestand zodat je geen patronen gaat herkennen.

En @StM @Room42 @DiedX en @johnkeates, bedankt voor de info, ik heb even wat leer en leesvoer!

[ Voor 10% gewijzigd door dec0de op 19-05-2020 17:36 ]


Acties:
  • 0 Henk 'm!

  • DiedX
  • Registratie: December 2000
  • Laatst online: 06:42
StM schreef op dinsdag 19 mei 2020 @ 17:33:
Hoe dit precies werkt is behoorlijk verschillend tussen Apple en Android, tussen verschillende versies en zelfs tussen verschillende manufacturers.
volledig OT: Ben jij ook degene in de presentatie, of heb jij bij Riscure gewerkt?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


Acties:
  • 0 Henk 'm!

  • jurroen
  • Registratie: Mei 2012
  • Laatst online: 07:30

jurroen

Security en privacy geek

Heel basaal: je data wordt versleuteld met een key. De key is vervolgens weer versleuteld met jouw wachtwoord of pincode. Op het moment dat je je wachtwoord of pincode veranderd, hoeft alleen de key dus opnieuw versleuteld te worden.

De technische werking verder is afhankelijk van jouw telefoon, zaken zoals een secure enclave, hardware backed keystores maken een verschil. En of het FDE is of FBE. Daarnaast kan de cipher (versleuteling) per OS verschillen, zelfs per versie - en fabrikanten (zoals bij Android) kunnen daar ook aanpassingen aan maken.

Ongevraagde verzoeken per DM beantwoord ik niet, sorry

Pagina: 1