Hoi @
WEBGAMING , @
Ad de Jong en @
CodeCaster ,
(Nogmaals) bedankt voor het doorlezen van de thread en het voor het nemen van de tijd voor de uitgebreide reactie. De post op Stackexchange is erg behulpzaam. De vraag komt daar juist van de andere kant ("Is de encryptie waterdicht", in plaats van "Waar zit het gat in die #@*! encrypty?"), maar het antwoord geeft wel wat duidelijkheid,
(...) newer Android devices almost universally use "file-based encryption", [which] complicates the situation quite a bit, because the idea of FBE is that only certain files get encrypted with secret data (..) and some other tasks–are left unencrypted, or encrypted only with data saved on the device and accessible to Android without user input
In particular, if you're using an SD card with "adoptable storage", the SD card encryption key is available at boot without user interaction. Adoptable storage has been removed from many stock Android ROMs because it renders the SD card usable only on the device where it was formatted (which apparently confuses a lot of users), but is still present as an option in Lineage OS.
Ik weet niet of 'adoptable storage' de officiele term is voor 'gebruik je SD kaart als uitbreiding op het interne geheugen', maar dat zou het maar zo kunnen zijn. "Apparently confuses users" is in ieder geval de spijker op z'n kop.
Het irritante is dat ik er nooit om gevraagd heb de boel de versleutelen, en er (ook voor de gebruiker zelf) geen mogelijkheid is de boel te ontsleutelen of de sleutel over te dragen.
Het uitgebreide antwoord op Stackexchange hint dat het wel mogelijk is om de bestanden te benaderen zolang de telefoon maar unlocked is. De andere thread, op Reddit (waar je de conclusie van aanhaalt,
"full of false promises", dat stukje, schijnt licht op de reden dat ik de bestanden desondanks niet kan vinden.
De post op Stackexchange heeft een nuttige link naar
een andere Reddit-thread, waar geopperd wordt dat de-encryptie van de SD-kaart (in 2015, voor Marssmallow / Android 6...) wel degelijk zonder telefoon te doen is.
Die
post op blogspot vertelt expliciet:
You can safely eject an adopted drive by tapping on it in the Storage screen, and the choosing Eject from the overflow menu. Android will show a persistent notification that prompts you to reinsert the device once it's removed. Alternatively, you also can 'forget' the drive, which removes it from the system, and should presumably delete the associated encryption key
Het screenshot wat daarbij getoond wordt is reuze nuttig! Er wordt gewoon gewaarschuwd dat bij het verwijderen van de sleutel, de data effectief weg is. Die waarschuwing hadden ze wat mij betreft gewoon in stand mogen houden...
For the record (mocht het nog steeds op die manier werken),
"our next step is to look for any similar files in the device's /data partition (you'll need a custom recovery or root access for this). Unsurprisingly, there is a matching file in /data/misc/vold which looks like this:"[/i]
code:
1
2
3
| # od -t x1 expand_8838e738a18746b6e435bb0d04c15ccd.key
0000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
0000020 |
the IV offset is usually zero, and most probably the entire android_expand partition (offset 0) is encrypted, the command we need to map the encrypted partition becomes the following:
code:
1
2
| # dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt \
aes-cbc-essiv:sha256 00010203040506070809010a0b0c0d0e0f 0 /dev/sdb2 0" |
we can now try to mount the mapped device
code:
1
2
3
4
5
6
7
8
| # mount -t ext4 /dev/mapper/crypt1 /mnt/1/
# cd /mnt/1
# find ./ -type d
./
./lost+found
./app
./user
... |
Verderop in de comments is er
verheldering over de opbouw van het resulterende logische bestandssysteem,
External storage is implemented the same way as before, i.e. emulated using FUSE on top of the media/ directory of the 'real' volume. It does look you can only have one 'primary external storage' at a time,
Het blijkt ook mogelijk slechts een deel van de SD-kaart als adopted storage te gebruiken, mocht een lezer dat nodig hebben, het staat verder toegelicht o
p het blog van een van de commenters op de blogspot-post:
First, you need adb working, and your SD card inserted and formatted as portable.
code:
1
2
| $ adb shell sm list-disks adoptable
disk:179,64 |
disk:179,64 is my SD card that can be made adoptable, I want 90% as external SD:
code:
1
| $ adb shell sm partition disk:179,64 mixed 90 |
Note: Your card may be listed with an underscore _ instead of a comma, e.g. disk:179_64 in which case, that is what you type.
This erases the entire SD card, and then gives me 90% as portable storage and the rest as adopted internal storage.
...
aangevuld metFor anyone that is getting the corrupted error on their SD card when creating a mixed partition. Here is the solution.
code:
1
| $> adb shell sm list-volumes all |
Then enter the following replacing 179,3 with whichever disk numbers you are given:
code:
1
2
| $> adb shell sm format private:179,3
$> adb shell sm mount private:179,3 |
De nuttige reacties daar lopen tot 2017 met meldingen van succes, daarna zijn er alleen nog spamposts. Geen uitsluitsel of het op recentere Android-versies nog werkt.
Conclusie tot zover:
- Ik probeer of ik het key-file kan lezen via de filemanager in de bootloader, en of ik de SD-kaart kan decrypten op een desktopmachine;
- Bij succes een backup maken van de inhoud
- De nieuwe kaart plaatsen
- De nieuwe kaart als adopted storage inrichten
- De verdeling tussen adopted en removable aanpassen
- Opnieuw decrypten op de desktop, bestanden terugkopieren
- Kijken of het werkt op de telefoon
Heel binnenkort zal ik niet met resultaat terugkomen, en als er net zoveel tijd in de uitvoering (en tegenslagen onderweg) gaat zitten als in het onderzoek tot nu toe, is het goedkoper een nieuwe telefoon met 256 GB opslag te kopen dan een geheugenkaart van die grootte :-/
(Dan zit je nog steeds met de migratie, maar die is aan een tiener beter te verkopen met een nieuwe telefoon in de hand dan met alleen maar een verwisseling van zo'n stom zwart nageltje :-D )
Nogmaals: hartelijk dank voor jullie tijd en input; mocht je nog iets behulpzaams te binnen schieten, houd ik me zeker aanbevolen!
[
Voor 0% gewijzigd door
wankel op 06-03-2022 16:31
. Reden: [quote]-tag sluiten ]