Primero Veamos por qué no es posible (todavía) montar la partición de datos de usuario cifrada desde TWRP, especialmente en los dispositivos Samung.
El cifrado está respaldado por hardware en TEE y, por tanto, es específico del proveedor. Además...
... algunos vendedores como Samsung utilizan sus propias técnicas de encriptación. Sin una deconstrucción/descompilación pesada de los blobs de las bibliotecas personalizadas, y los puertos exitosos por un mantenedor activo, esto nunca se puede hacer.
El descifrado implica el firmware subyacente. Requiere montar varias particiones y ejecutar bibliotecas para la comunicación con (TEE) Trusted Execution Environment.
Para los dispositivos Qualcomm es necesario ejecutar qseecomd
(para los dispositivos Exynos el demonio Trustonic Kinibi). En este ejemplo el modem
la partición se monta con mounttodecrypt
bandera (qualcomm)
/firmware vfat /dev/block/bootdevice/by-name/modem flags=slotselect;display="Firmware";mounttodecrypt;fsflags=ro
Como podemos ver en esta lista de bibliotecas también el vendor
se monta la partición. Esto también es contenido específico del OEM utilizado por LineageOS y no se incluye en TWRP por defecto
/firmware/image/cmnlib.b00
/firmware/image/cmnlib.b01
/firmware/image/cmnlib.b02
/firmware/image/cmnlib.b03
/firmware/image/cmnlib.mdt
/firmware/image/keymaste.b00
/firmware/image/keymaste.b01
/firmware/image/keymaste.b02
/firmware/image/keymaste.b03
/firmware/image/keymaste.mdt
/system/bin/linker64
/system/bin/qseecomd
/system/lib64/hw/keystore.qcom.so
/system/lib64/libbacktrace.so
/system/lib64/libbinder.so
/system/lib64/libcnefeatureconfig.so
/system/lib64/libc.so
/system/lib64/libcutils.so
/system/lib64/libEGL.so
/system/lib64/libgccdemangle.so
/system/lib64/libGLES_trace.so
/system/lib64/libGLESv2.so
/system/lib64/libgui.so
/system/lib64/libhardware.so
/system/lib64/liblog.so
/system/lib64/libm.so
/system/lib64/libnetd_client.so
/system/lib64/libsigchain.so
/system/lib64/libstdc++.so
/system/lib64/libstlport.so
/system/lib64/libsync.so
/system/lib64/libui.so
/system/lib64/libunwind-ptrace.so
/system/lib64/libunwind.so
/system/lib64/libutils.so
/system/vendor/lib64/libdiag.so
/system/vendor/lib64/libdrmfs.so
/system/vendor/lib64/libdrmtime.so
/system/vendor/lib64/libNimsWrap.so
/system/vendor/lib64/libQSEEComAPI.so
/system/vendor/lib64/librpmb.so
/system/vendor/lib64/lib-sec-disp.so
/system/vendor/lib64/libsecureui.so
/system/vendor/lib64/libsecureui_svcsock.so
/system/vendor/lib64/libssd.so
/system/vendor/lib64/libStDrvInt.so
/system/vendor/lib64/libtime_genoff.so
/system/vendor/lib64/libvendorconn.so
Ahora Como sabemos, hay una gran cantidad de investigación para hacer que el descifrado funcione, es obvio que los mantenedores de TWRP están desesperados por proporcionar soporte de cifrado para todos los dispositivos. Por lo tanto, el descifrado es siempre sólo un bien, dependiendo en gran medida de los conocimientos y el compromiso de los mantenedores.
Esa podría ser una de las razones por las que la escena de modding de Android prefiere ejecutar ROMs personalizadas sin encriptar
Codificación es forzado desde Android 5.0 con forceencrypt=
en fstab (FDE) o fileencryption=
(FBE)
Las banderas encryptable=
forceencrypt=
y forcefdeorfbe=
siempre apuntan al pie de página de las criptomonedas. Por lo tanto, son intercambiables.
Para desactivar el cifrado forzado (FDE) utilizar la primera bandera. Edite su entrada fstab para userdata
partición y reemplazar forceencrypt=
con encryptable=
/dev/block/platform/11120000.ufs/by-name/USERDATA /data ext4 noatime,nosuid,nodev,discard,errors=panic wait,check,encryptable=footer,length=-20480,reservedsize=128M
Esto se puede hacer desde TWRP instalando no-verity-opt-encrypt-6.1.zip
El beneficio de tener el cifrado forzado desactivado mientras se mantiene la disponibilidad para el cifrado está en la naturaleza de Arranque directo vs Inicio seguro . Al arrancar por primera vez, el dispositivo crea una clave maestra de 128 bits generada aleatoriamente y, a continuación, la cruza con una contraseña y una sal almacenada. El hash resultante también se firma a través de TEE (como TrustZone), que utiliza el hash de la firma para cifrar la clave maestra. Hay cuatro tipos de estados de cifrado:
- por defecto
- PIN
- contraseña
- patrón
En Arranque directo el primero es forzado con "default_password De hecho, así es como la mayoría de los dispositivos Android siguen encriptados. (TWRP siempre sondea contra "default_password y sólo pide la contraseña si falla el descifrado).
Si eliges Inicio seguro desde el menú de seguridad, la contraseña del almacén de claves se vuelve a crear utilizando sus credenciales actuales de la pantalla de bloqueo. la desventaja de este estado de cifrado es que Android no arrancará hasta que se introduzca la frase de contraseña correcta.
Para superar esto, los beneficios de Inicio seguro con Arranque directo se fusionó con (FBE) File-Based Encryption, que se introdujo con Android 7.0 y se aplicó a los dispositivos que se enviaron con Android 10+
Esté atento no hay forma de desactivar la aplicación de (FBE) Cifrado basado en archivos . Por lo tanto, el único método que queda es desactivar el cifrado por completo borrando el fileencryption=
de fstab (sin reemplazo adecuado). De hecho, así es como Magisk hace actualmente cuando se flashea desde TWRP.
Universal DM-Verity ForceEncrypt Disabler Disk Quota deshabilitará el cifrado por completo
0 votos
Por favor, especifique exactamente de qué modelo de dispositivo está hablando. Ha seguido las instrucciones de instalación en la página específica del dispositivo en la página web de LineageOS?
0 votos
El cifrado de Samsung generalmente no es compatible con TWRP forum.xda-developers.com/t/sm-g935-exynos-cf-auto-Root.3337354/
0 votos
Modelo S9+ Exynos (internacional). Sí, siguió las instrucciones de instalación, experimentó . El cifrado de Samsung no está involucrado, esto es pura cosa LineageOS.
0 votos
Al parecer está relacionado con que Android 10 exige que los datos se cifren si el dispositivo está a la altura. Así que LineageOS 17.1 lo hace, y no ofrece una opción al respecto, no hay opción de "saltar". Pero no ofrece una opción posterior, para poner una contraseña, o desactivar el cifrado, deja el dispositivo con un cifrado forzado de datos y sin contraseña que me diga, lo que impide cualquier copia de seguridad o uso del terminal, en TWRP. Obviamente se supone que debo saber la contraseña ya que es mi dispositivo. De ahí la pregunta.
0 votos
¿Responde esto a su pregunta? Cryptfs : Valor inesperado para la ubicación de la clave criptográfica
0 votos
@alecxs - editar manualmente /vendor/etc/fstab* fue perfecto. ¿Quieres escribir tus comentarios como respuesta? Estoy un poco aturdido de que LOS insista en cifrar una partición en un escenario donde el usuario nunca se da (o puede establecer) la clave, si se configura la pantalla de bloqueo de alguna manera.