CyanogenMod 12.1 çalıştıran cihazınızı nasıl şifrelersiniz?


9

CyanogenMod 12 ve 12.1 'Telefonu şifrele' ayarı bozuk ve bir süredir kullanılıyor. Telefonu başka bir şekilde şifrelemenin bir yolu var mı? CM, şifreli / veri dizini olan bir telefona yandan yüklenebilir mi? Verilerinizi güvenli ve sağlam tutmanın başka yolları var mı? Üzerinde çalıştığım cihaz bir Verizon LG G3.

Yanıtlar:


6

Kullanıcı veri bölümünüzü şifrelemek için bir kabukta kullanılabilecek düşük (er) düzeyli komutlar vardır. Sorumluluk Reddi / Uyarı: aşağıdaki talimatlar verilerinizi siler, gerekirse bir yedekleme yaptığınızdan emin olun.

Bu adımları ardından, gerektiği veri bölümü silebilecekler ve daha sonradan (fabrika reset benzer) şifreli var:

  1. Telefonunuzu normal şekilde başlatın (kurtarma artık çalışmıyor veya farklı bir sorunla karşılaştım).
  2. USB hata ayıklama modunun (adb) ve ADB için Kök erişiminin etkinleştirildiğinden emin olun .
  3. adb rootArdından bir kök kabuk girin adb shell.
  4. İsteğe bağlı: adb logcatBaşka bir kabukta çağırarak günlükleri izleyin .
  5. Bu komutu girin, şifrenizi yazın ve Enter tuşuna basın. Bu aslında şifrenizi ayarlayacaktır. Bu komut bir girdi ( head -1) satırını okur , sondaki yeni satırı Enter ( tr -d '\n') öğesinden ayırır ve onu onaltılık bir temsile ( hexdump ...) dönüştürür . Korkutucu görünüyorsa veya bu komutun ne yaptığından emin değilseniz, aşağıya bakın.

    vdc cryptfs enablecrypto wipe password $(head -1 | tr -d '\n' | hexdump -ve '1/1 "%.2x"')
    
  6. Her şey yolunda giderse, cihazınız anahtarları ayarlayacak ve şifrelemeyi tamamlamak için yeniden başlatacaktır.

(Volume Daemon) vdcile iletişim kuran yukarıdaki komutun ("Volume Daemon Client") şifreleme voldgibi bazı alt komutları vardır cryptfs. Alt enablecryptokomutun iki modu vardır: wipe( /datatamamen temizle ) ve inplace(orijinalinizi /datakabın içine kopyalarken şifreleme uygulayarak ).

Ardından, Android 5.0'dan başlayarak dört seçenek kullanılabilir, bunlardan biri passwordanahtar olarak tek bir onaltılık diziyi kabul eder. Şifreniz ne nedenle olursa foo, o zaman onaltılık temsilidir 666f6f( folduğu 66, hex oedilir 6f, bakınız http://www.asciitable.com/ ). Bunun komutu:

vdc cryptfs enablecrypto wipe password 666f6f

Bu, meta verileri depolamak için ayrı bir bölüme sahip bir Nexus 5 (kod adı çekiç kafası, çalışan cm-12.1-20150814) üzerinde test edildi. Kullanıcı verileri bölümünün işaret kümesi ve ardından bir bölüm yolu veya özel dize olması önemlidir . Dosyamdaki (kısaltılmış) bir satır :encryptablefooter/fstab.hammerhead

/dev/block/platform/msm_sdcc.1/by-name/userdata / data ext4 ..., çek, şifrelenebilir = /dev/block/platform/msm_sdcc.1/by-name/metadata

Özel dize footer( encryptable=footer) mevcut olduğunda, veri bölümünün sonundaki 16 KiB, şifreleme meta verilerini depolamak için kullanılır.

Daha fazla okuma için bakınız:


Ek: şifreleme komutunu tamamladığım ve yeniden başlatılıncaya kadar (sonunda ilgisiz grafik mesajlarını atlayan) logcat alıntısı. Bu Nexus 5'in donanım hızlandırmalı kripto (QSEECom) olduğunu unutmayın.

--------- beginning of main
08-16 12:57:15.459 W/DrmManagerClientImpl(Native)( 2108): DrmManager server died!
08-16 12:57:15.459 I/ServiceManager(  184): service 'drm.drmManager' died
08-16 12:57:15.467 D/Cryptfs (  186): Just asked init to shut down class main
08-16 12:57:15.470 D/Cryptfs (  186): unmounting /mnt/shell/emulated succeeded
08-16 12:57:15.599 I/ServiceManager(  184): service 'media.audio_flinger' died
08-16 12:57:15.599 I/ServiceManager(  184): service 'media.player' died
08-16 12:57:15.599 I/ServiceManager(  184): service 'media.camera' died
...
08-16 12:57:16.695 D/Cryptfs (  186): unmounting /data succeeded
08-16 12:57:16.695 D/QSEECOMAPI: (  186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:16.696 D/QSEECOMAPI: (  186): App is already loaded QSEE and app id = 2
08-16 12:57:16.697 I/Cryptfs (  186): keymaster version is 3
08-16 12:57:16.697 D/QSEECOMAPI: (  186): QSEECom_dealloc_memory 
08-16 12:57:16.697 D/QSEECOMAPI: (  186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:16.697 D/QSEECOMAPI: (  186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:16.697 D/QSEECOMAPI: (  186): App is already loaded QSEE and app id = 2
08-16 12:57:18.058 D/QSEECOMAPI: (  186): QSEECom_dealloc_memory 
08-16 12:57:18.058 D/QSEECOMAPI: (  186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:18.058 I/Cryptfs (  186): Using scrypt with keymaster for cryptfs KDF
08-16 12:57:18.208 D/BootAnimation( 2683): Use save memory method, maybe small fps in actual.
08-16 12:57:18.208 E/QCOM PowerHAL( 2683): Failed to acquire lock.
08-16 12:57:18.691 D/QSEECOMAPI: (  186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:18.691 D/QSEECOMAPI: (  186): App is already loaded QSEE and app id = 2
08-16 12:57:18.692 I/Cryptfs (  186): Signing safely-padded object
08-16 12:57:18.797 D/QSEECOMAPI: (  186): QSEECom_dealloc_memory 
08-16 12:57:18.797 D/QSEECOMAPI: (  186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:20.056 I/Cryptfs (  186): Using scrypt with keymaster for cryptfs KDF
08-16 12:57:20.690 D/QSEECOMAPI: (  186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:20.691 D/QSEECOMAPI: (  186): App is already loaded QSEE and app id = 2
08-16 12:57:20.691 I/Cryptfs (  186): Signing safely-padded object
08-16 12:57:20.796 D/QSEECOMAPI: (  186): QSEECom_dealloc_memory 
08-16 12:57:20.796 D/QSEECOMAPI: (  186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:21.429 I/Cryptfs (  186): Enabling support for allow_discards in dmcrypt.
08-16 12:57:21.429 I/Cryptfs (  186): load_crypto_mapping_table: target_type = crypt
08-16 12:57:21.429 I/Cryptfs (  186): load_crypto_mapping_table: real_blk_name = /dev/block/platform/msm_sdcc.1/by-name/userdata, extra_params = 1 allow_discards
08-16 12:57:21.431 I/Cryptfs (  186): Making empty filesystem with command /system/bin/make_ext4fs -a /data -l 13725837312 /dev/block/dm-0
08-16 12:57:21.447 I/make_ext4fs(  186): SELinux: Loaded file_contexts from /file_contexts
08-16 12:57:21.447 I/make_ext4fs(  186): Creating filesystem with parameters:
08-16 12:57:21.447 I/make_ext4fs(  186):     Size: 13725835264
08-16 12:57:21.448 I/make_ext4fs(  186):     Block size: 4096
08-16 12:57:21.448 I/make_ext4fs(  186):     Blocks per group: 32768
08-16 12:57:21.448 I/make_ext4fs(  186):     Inodes per group: 8144
08-16 12:57:21.448 I/make_ext4fs(  186):     Inode size: 256
08-16 12:57:21.448 I/make_ext4fs(  186):     Journal blocks: 32768
08-16 12:57:21.449 I/make_ext4fs(  186):     Label: 
08-16 12:57:21.449 I/make_ext4fs(  186):     Transparent compression: none
08-16 12:57:21.449 I/make_ext4fs(  186):     Blocks: 3351034
08-16 12:57:21.449 I/make_ext4fs(  186):     Block groups: 103
08-16 12:57:21.459 I/make_ext4fs(  186):     Reserved block group size: 823
08-16 12:57:21.465 I/make_ext4fs(  186): Created filesystem with 11/838832 inodes and 93654/3351034 blocks
08-16 12:57:21.465 I/make_ext4fs(  186):     Total files: 0
08-16 12:57:21.465 I/make_ext4fs(  186):     Total bytes: 0
08-16 12:57:42.926 D/Cryptfs (  186): Successfully created filesystem on /dev/block/dm-0

Wow @Lekensteyn bunu yazmak için zaman ayırdığınız için teşekkür ederiz. Bu haftasonu bunu ayarlamaya çalışmak için biraz zaman harcamak zorundayım. Efektif olursa, TWRP'den her şeyi silip tekrar deneyebilirim, değil mi?
Zlatty

1
Evet, sadece veri bölümü. Deneme yaparken kasıtlı olarak birkaç kez sildim.
Lekensteyn

2
LPT: 6.0 (Marshmallow) itibarıyla vdc, parametre olarak şifrelenmemiş ascii (= cleartext) parolasını kullanır. Bu şeyi öğrendikten sonra ASCII tablosu ile pratik yapmak çok güzeldi - parolam om boot girmem istendi. Benim hata lol nedeniyle ASCII şifremi koymak zorunda kaldı
Denys Vitali

4

Benim için orijinal cevap beklendiği gibi çalışmadı. Başarılı bir şekilde şifrelenmiş gibi görünüyordu, ancak kullanıcı arayüzü çok hızlı bir şekilde geri döndü ve "Şifreleme" ayarı, cihazların şifreli olduğunu göstermedi. Daha sonra güncellemede verilen komutları uyguladım , ancak yine de çalışmadı. Daha sonra veri bölümünün boyutunu küçülttüm ve başarıyla şifreledim. yani

mount | grep dataveri bölümünün gerçek blok cihazını bulmak için. Diyelim ki öyle /dev/block/mmcblk0p26.

umount /data ext-aletlerinin çalışması için.

e2fsck -f -p /dev/block/mmcblk0p26 yaklaşan yeniden boyutlandırma için sorun yaşamamak.

tune2fs -l /dev/block/mmcblk0p26 Blok sayısını elde etmek için. Diyelim ki öyle 3057395.

resize2fs /dev/block/mmcblk0p26 3057375örn., orijinal blok sayımından 20 gibi yeterli bir miktarı özetleyin.

e2fsck -f -p /dev/block/mmcblk0p26 benim için yanlış yerleştirilmiş bir inode buldum.

Ben de /systemalmak için bölümü monte etmek gerekiyordu resize2fs. Sistemimde, bu ikili 64c libc sürümüne bağlandı, ancak kullanılan TWRP bunu sağladı gibi görünmüyordu. Bu yüzden komutları önek olarak eklemem gerekiyordu env LD_LIBRARY_PATH=/system/lib64.



2

İtibariyle CM12.1 2015/10/15 cevap Lekensteyn tarafından artık çalışır.

Görünüşe mkfs.f2fs dosya sistemi oluşturmak için gerekli olan, taşındı /system/bin/için/sbin/

Ayrıca SELINUX ile mücadele etmek zorundayız. Bu, birkaç ek adım gerçekleştirmemiz gerektiği anlamına gelir:

  1. adb kökü
  2. adb kabuğu
  3. setenforce 0
  4. mount -oremount, rw / sistem
  5. ln -s /sbin/mkfs.f2fs /system/bin/mkfs.f2fs
  6. vdc cryptfs etkin kripto parolasını sil 666f6f

2

Nubia Z7 Max, NX505J telefonu kullanan başka bir güncelleme - CM13 9 Ocak 2016 derlemesi

ln -s /sbin/mkfs.f2fs /system/bin/mkfs.f2fsDosya tekrar burada yaşadığı için bu command ( ) artık gerekli değildir. Sembolik bir bağlantı oluşturmaya gerek yoktur.

Bu komutun artık HEX'te olması gerekmez ve hex girerseniz PW'niz hex olur.
cryptfs enablecrypto wipe password 666f6f- Bu anlamıyla benim için bir şifre yarattı 666f6fdeğilfoo

Meta veri için gereken ekstra blokları aştığım için hala bu sorunu araştırıyorum. Şimdi aslında GUI ve her iki şifrelemek için manuel komutları geçmiş almak gerekir sadece bir önyükleme döngüsü ile geçerli şifreleme sonuçlanır. Başarılı bir şifreleme yaptığımda rapor vereceğim.

Şu anda şifreliyorum ve iyi çalışıyor ve ilk kez önyükleme yapıyorum ve telefonun şifreli olduğunu söylüyor. TWRP kullanarak onaylayabilirim / veriler şifrelenir, ancak TWRP'de denediğim HEX ve ASCI şifrelerinin ikisi de çalışmaz. Bir sonraki yeniden başlatmada Android işletim sistemi CM13'ü tamamen önyükleyemez. Doğru şifreleme parolasına sahip olduğumu onaylıyor ve sonra yalnızca 1 şifreli önyükleme alıyorum. İlk başarılı şifreli başlatmadan sonra, önyükleme döngüsünün animasyon aşamasında kilitlenir. En iyi güvenlik uygulamaları artık AES256 telefon şifrelemesini önerir.


CM13'teki AES256 telefon şifrelemesinde sistem ne kadar güvenilir? Burada bir konu açtım android.stackexchange.com/q/134981/9897
Léo Léopold Hertz

2

Cyanogenmod 12.1'i çalıştıran bir Moto X 2013'e sahip olmanın da şifrelenmesini sağlayamadım. Sonunda şu adımları izledim:

  1. Telefondaki Geliştirici Ayarları'nda root özelliğini etkinleştirin ve bir kabuk açın (Terminal uygulaması, Geliştirici Ayarları'ndan da etkinleştirilebilir)
  2. suKök erişimini girin ve onaylayın
  3. Giriş setenforce 0
  4. Şimdi Ayarlar'ı açın , Güvenlik'e gidin ve Telefonu Şifrele'yi seçin . Android daha sonra yeniden başlatılacak ve telefonu şifrelemeye başlayacaktır.

Bu çözüme Art'ın cevabını ve bu forum dizisini birleştirerek geldim .


Benim için çalışmadı. Btw, bundan sonra SELinux durumunu 1 olarak ayarlayabilir misiniz?
Marc.2377

1

6 saatlik zihinsel ağrı ve terden sonra benim için işe yarayan bir çözüme rastladım. Ve bu da bir kazaydı. Bunu Samsung S4 Mini için CyanogenMod 13.0 ve Android 6.0.1 ile yaptım. Burada önemli anahtar faktör, temiz bir telefondan (taze bellenim ve köksüz) başlattığım, çünkü telefon daha önce rootlandığında, telefon hiç çalışmak istemedi.

Soruna Firelord ve Lekensteyn'in çözümünü kullandım, ama komutlardan bir satır unutmayı başardım.

İşte nasıl yaptım:

  1. Ben açık Android ayıklama ve Kök erişimi için sadece ADB içinde Geliştirici Seçenekleri .

  2. ADB Komut İstemi'nde adb rootve adb shellkomutunu kullandım. Bundan sonra başka bir ADB Komut İstemi açtım ve adb logcatkomutu kullandım .

  3. İlk ADB kabuğunda, setenforce 0bundan sonra ve sonra ileri gittim vdc cryptfs enablecrypto wipe password YOUR-PASSWORD.

ÖNEMLİ UYARI: Parola komutu, kullandığınız Android sürümünden farklı olabilir. Eğer kullanıyorsanız Android 5.X , sen gerekir kullanmak onaltılık sistemini (Chr doğrultusunda onaltılık değer Hx hattı üzerinde Şifrenizde sembolüdür). Android 6.X kullanıyorsanız , ŞİFRENİZ oraya girdiğiniz parola olacaktır.

Fark ettiğin gibi mount -oremount,rw /systemkomutu kullanmayı unuttum . Bundan sonra ekran kararır. Gördüğümde, loglu ADB kabuğu durdu ve bitti, sonra telefonu yeniden başlattım. Ancak herkes için sorun, CyanogenMod'un yüklenmeyeceğidir. Ve bunu kolayca düzeltmeyi başardım:

  1. TWRP açılıncaya kadar Vol Up & Home & Power tuşlarını basılı tutun . Şifreleme parolanızı soracaktır.
  2. Do CyanogenMod yüklemek ek Google Apps (kılavuzun ikinci bölümü) ile parçasını.
  3. Tamamlandıktan sonra cihazı yeniden başlatın. Açıldığında, biraz zaman alacaktır. İlk önce telefonu başlatacak, daha sonra şifreleme şifresini soracak ve sonra açılıncaya kadar biraz zaman alacak.

İşte böyle, işe yaramalı. İlk başta, telefon kurulumu geldiğinde, bir dakika bekletin. Çok hızlı bir şekilde acele ederseniz Kurulum Sihirbazı için küçük bir çökme olabilir, ancak çöktüğünde otomatik olarak yeniden başlatılır.

CyanogenMod ve Android Şifreleme'nin nasıl çalıştığına dair çok küçük bilgimde, format sırasında bazı önemli Cyanogen veya Android dosyalarını silmeyi öneriyor.


1

Şifreleme telefonumda çalışmadı (SGS5; CM13, TWRP 3.0.2-2) - Her zaman siyah bir ekranım var.

Kabuk komutlarını kullanmak istemedim, bu yüzden başka bir yol buldum:

SuperSU'yu yükledim, App'den kaldırdım ve sonra SU- Remover'ı yanıp söndüm .

Bundan sonra menüden şifrelemeyi kullanabildim.

Uyarı:

  • Şifreleme tüm Veri ve Uygulamalarımı sildi (dahili SD'deki Dosyalar dahil), bu yüzden önce bir yedek alın !
  • Şifrelemeden sonra, sadece 2 GB dahili Boşluk bıraktım (normalde 11 GB) - Tam bir silme yapmak zorunda kaldım (ayrıca Cyanogenmod'un kendisini de kaldırarak), Cyanogenmod'u ve Alanımı geri almak için başka bir şifreleme girişimini yeniden kurmak zorunda kaldım.
  • Ayrıca kökü yeniden etkinleştirmelisiniz, bunun için BETA-SuperSU-v2.68-20160228150503 kullandım (twrp ile flaş).
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.