VeraCrypt ve LUKS birimlerinin veri bozulmasına karşı ne kadar dayanıklı?


19

Soru kısmen cevaplandı, ancak tam olarak aradığım şey bu değil. Güncelleme 1 aşağıya bakın

VeraCrypt ve LUKS ile bazı dosya sistemlerini şifrelemeyi planlıyorum, ama korkularım tek bir sorun olursa, bölümleri tekrar bağlayamayacaksınız, böylece içinde saklanan tüm verileri kaybediyordum. (hasarlı sektörler / bloklar, yazma işlemi sırasında elektrik kesintisi, dosya sistemi hataları vb. nedeniyle)

Ayrıca, VeraCrypt TrueCrypt'in onarım araçlarını çatallamış olabilir, ancak buna güvenmiyorum ve gerçek durumlar hakkında daha fazla şey arıyorum.

RAID'i ve yedeklemeleri / kasaları da biliyorum, ama aradığım şey bu değil.

Yani soru şudur: Şifreli bölümler VeraCrypt ve LUKS ile ne kadar dayanıklıdır?

Güncelleme 1 :

Sorum, ana anahtarı, meta verileri veya başlıkları kaydetmek yerine şifrelenmiş bölümün ve verilerinin esnekliği hakkında. Sorun katı bir 7zip arşivine benziyor: ortada tek bir bit hasar görürse, tüm arşivi kaybedersiniz.

Şifreli bölümler bu kadar savunmasız mı olacak? (ana anahtar, meta veriler ve başlıklar hariç)

PS: Üzgünüm hemen cevap vermezsem, bu yazıyı ilgili hale getirerek çalışıyorum ve dünyayı dolaşıyorum ve sık sık zaman sıkıcı işlerle karşılaşıyorum. Ama, kesinlikle geri cevap vereceğim.

Yanıtlar:


13

Uygulamada, ana anahtarı ve meta verileri düzgün bir şekilde yedeklediğiniz sürece, şifrelemeyle neredeyse aynı derecede dayanıklıdır .

Meta veriler dışında, bozulma sadece bozuk bitin bloğunu, çoğu durumda sadece 16 baytını etkiler.

Veri bozulması durumlarının çoğu için, anahtar ve araçlarla (parolanız ve Veracrypt / LUKS gibi), normalde şifreli bir diskin günlük kullanımında yaptığınız gibi şifrelenmemiş bir diskle aynı erişime sahip olursunuz. Şifreleme, normalden daha fazla ek bir adım ekler (şifrelenmiş bir bölüm açar). Bu durumda, şifrelenmemiş veriler gibi davranır.

Veracrypt veya Luks ile, ana anahtarı şifrenizle şifrelenmiş olan diskte saklamanız gerekir. Bu sektör (ler) in zarar görmesi, kalıcı verilerin kaybedilmesine neden olacaktır. Bu, ana anahtar yedeklemesi (birkaç kilobayt boyutunda) ile kolayca çözülebilir, her iki yazılımla da kolay bir şeydir ve herkes için şiddetle tavsiye edilir.

Meta olmayan verilerle ilgili ayrıntılar

Hem Veracrypt hem de Luks bugün XTS kullanıyor. Bu modda, her blok için bir anahtar hesaplanır. Basitleştirmede, bloğu şifrelemek iiçin Ana Anahtarlar ve blok numarası ile oluşturulan bir anahtarı kullanırsınız. Yani, bir bloğun diğerinden bağımsız olarak şifrelenmesi. Bazı bilgileri bozarsanız, bu blokla sınırlandırılır.

XTS'de, bloğu alt bloklarda (genellikle 16 bayttan) ayırır ve bir anahtar oluşturur ve bu alt bloğu onunla şifreler. Bu, biraz değiştirirsek, sadece bu 16 baytın etkileneceği anlamına gelir.

Test olarak, bir Luks birimindeki tek bir biti değiştirerek, orijinal dosyanın 16 baytını anlamsız hale getirir, ancak diğerleri 496 hareketsiz kalır. Bir 7zip dosyasında, tüm baytların zincirlendiği bir akış yöntemi kullanır, böylece bir bayt değişikliği kalanların tümünü etkiler - burada durum böyle değil.

Bazıları bunu bir sorun olarak görür, çünkü düz bir metni değiştirdiğinizde ve nerede değiştirdiğinizi 16 baytlık hassasiyetle bilirsiniz, sadece şifrelenmiş verileri karşılaştırırsınız.

Bununla ilgili daha ilginç bilgiler şu bağlantılarda bulunabilir:

/crypto/6185/what-is-a-tweakable-block-cipher

/security/39306/how-secure-is-ubuntus-default-full-disk-encryption

https://en.wikipedia.org/wiki/Disk_encryption_theory

Ana Anahtar hakkında ayrıntılar

LÜKS

LUKS, bölümün (veya diskin) başlangıcında, şifreleme yöntemlerini, diğer parametreleri ve 8 anahtar yuvayı depolayan meta veriler içeren birkaç sektöre sahiptir. Diski şifrelemek ve şifresini çözmek için, LUKS kapsayıcısı oluştururken oluşturulan büyük bir rasgele sayı olan bir Ana Anahtar kullanır . Saklamak için, şifre üzerinde birçok kez bir şifreleme karma işlevi yineleyerek ve o yuva için belirli bir anahtar oluşturarak Ana Anahtarı şifrenizle şifreler. Aynı disk için her biri ana anahtarı bir yuvada farklı bir parolayla şifreleyen 8 farklı parolanız olabilir. Parolayı değiştirdiğinizde, Ana Anahtarı şifrelemek kadar basittir ve tüm bölümü değiştirmez.

Bu nedenle, bu yuvalar ve meta veriler bozulduğunda, gerçekten deşifre etmek için kullanılan ana anahtarı kurtaramaz ve diskteki tüm verileri kaybedemezsiniz. Bu, tüm verilerinizi hızlı bir şekilde yok etmenin kolay bir yoludur. Ancak Birim Başlığı'nın bir yedeği varsa, onu kurtarmak oldukça kolaydır.

Https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentAskedQuestions#6-backup-and-data-recovery adresinden çıkarılan yedekleme hakkında LUKS SSS'nin bir kopyası aşağıdadır

6.2 LUKS üstbilgisini nasıl yedeklerim?

LUKS bölümünün başlangıcından uygun sayıda bayt kopyalayabilseniz de, en iyi yol cryptsetup komutunun "luksHeaderBackup" komutunu kullanmaktır. Bu, LUKS bölüm oluşturmada standart olmayan parametreler kullanıldığında da hatalara karşı koruma sağlar. Misal:

cryptsetup luksHeaderBackup --header-backup-file <file> <device>

Geri yüklemek için ters komutu kullanın, örn.

cryptsetup luksHeaderRestore --header-backup-file <file> <device>

Geri yüklenecek bir üstbilgiden emin değilseniz, önce geçerli olanın bir yedeğini alın! Üstbilgi dosyasını aşağıdaki gibi ayrılmış bir üstbilgi için --header seçeneğini kullanarak geri yüklemeden de test edebilirsiniz:

cryptsetup --header <file> luksOpen <device> </dev/mapper/ -name>

Eğer anahtarların kilidini açarsan, iyisin. Cihazı tekrar kapatmayı unutmayın.

Bazı durumlarda (hasarlı başlık) bu başarısız olur. Ardından aşağıdaki adımları kullanın:

İlk önce ana anahtar boyutunu belirleyin:

cryptsetup luksDump <device>

formun bir satırını verir

MK bits:        <bits>

bitler eski varsayılanlar için 256 ve yeni varsayılanlar için 512'ye eşittir. 256 bit, toplam 1'052'672 Bayt büyüklüğüne ve 512 bit, 2MiB'den birine eşittir. (Ayrıca bkz. Madde 6.12) luksDump başarısız olursa, 2MiB olduğunu varsayın, ancak geri yüklerseniz dosya sisteminin ilk 1M'sini de geri yükleyebileceğinizi unutmayın. Başlık boyutunu belirleyemediyseniz dosya sistemini değiştirmeyin! Bununla, çok büyük bir başlık yedeklemesini geri yüklemek hala güvenlidir.

İkinci olarak, başlığı dosyaya dökün. Bunu yapmanın birçok yolu var, aşağıdakileri tercih ederim:

head -c 1052672 <device>  >  header_backup.dmp

veya

head -c 2M <device>  >  header_backup.dmp

2MiB üstbilgisi için. Emin olmak için döküm dosyasının boyutunu doğrulayın. Böyle bir yedeği geri yüklemek için luksHeaderRestore'u deneyebilir veya daha basit bir işlem yapabilirsiniz

cat header_backup.dmp  >  <device>

Veracrypt

Veracrypt, LUKS'a benzer. Truecrypt ile olduğu gibi kullanmıyorum, ama genel fikir geçerli.

Veracrypt'in sadece bir anahtar yuvası var, bu yüzden aynı anda birden fazla parolanız olamaz. Ancak gizli bir birime sahip olabilirsiniz: meta verileri bölümün (veya disk veya dosyanın) sonuna depolar. Gizli birimin farklı bir Ana Anahtarı vardır ve bölümün sonunu örtüşen alan olarak kullanır. Yedeklemeniz gerektiği fikri aynı. Bu Tools -> Backup Volume Headerve ile yapılabilir Tools -> Restore Volume Header. Sistem şifrelemesinde, Truecrypt yükleyiciyi ve herhangi bir hasar meydana geldiğinde anahtarları kurtaran anahtar yedeklemeli önyüklenebilir bir disk oluşturmak için kullanılır. Bir şeyi şifrelemeden önce yapılır ve bildiğim kadarıyla Veracrypt de aynı şekilde devam eder.

Daha fazla ayrıntı için bu bağlantıya bakın https://veracrypt.codeplex.com/wikipage?title=Program%20Menu

Yedek Anahtarlar Hakkında Güvenlik Konuları

Örneğin, sızdırılmış bir parolanız varsa ve birim parolasını yeni, güçlü ve güvenli bir parolayla değiştirirseniz, yedeklemeye erişimi olan biri eski parolayla dosyaların şifresini çözebilir. Yedekleme temel olarak (eski) şifreyle şifrelenmiş Ana Anahtardır. Bu nedenle, şifreleri değiştirirken, yeni bir yedekleme yapmak ve eskilerini yok etmek de gerekir. Verileri kalıcı olarak yok etmek çok hileli olabilir.

Bu parola ile sahip olduğunuz her yedekleme için, bu parola ile verilerin şifresini çözmenin olası bir yoludur. Bu, Veracrypt'te örneğin bir "Evrensel Parola" (şirkette olduğu gibi) kullanılarak yedeklenebilir ve başka bir parola için kullanılabilir. Böylece BT departmanı. birisi şifreyi kaybetse bile bu birime erişimi kurtarabilir (Ana Şifre olarak düşünün, ancak daha önce Ana Anahtar ile karıştırmayın).

Nihai Düşünceler (TL; DR)

Belirli bir sektöre ana anahtarla zarar verme olasılığı, tam bir disk arızasından daha az olasıdır. Bu nedenle bu veriler önemliyse, yalnızca birim üstbilgileri (Ana Anahtar) yerine bir yedeğiniz olmalıdır.

Ve verilerin bozulması çok az yayılıyor (16 bayt), bu da çoğu kullanım için kabul edilebilir.

Bu nedenle bölümün veya diskin ortasındaki bozuk bir blok yalnızca o bloğu etkiler. Ve bir sektördeki birkaç bit hatası o sektörle sınırlıdır ve hatta 512 baytlık bir sektörü bile etkilemez.

Güncelleme (23/01/2017): OP yorumlarına dayanarak daha fazla bilgi ekleyin.


1
Vay canına, bu çok kapsamlı ve bilgilendirici bir cevaptı, çok teşekkürler! Ancak, sorum daha çok ana anahtar ve meta verilerden ziyade şifrelenmiş bölümün ve verilerin kendisinin esnekliği hakkında. Sorun katı bir 7zip arşivine benziyor: ortada tek bir bit hasar görürse, tüm arşivi kaybedersiniz. Şifrelenmiş bölümler aynı davranacak mı? (ana anahtar ve meta veriler hariç)
X.LINK

4

VeraCrypt / TrueCrypt konteynırlarının esnekliği hakkında bazı bilgileri aşağıda derledim.

Gönderen Veracrypt veri bozulması :

TC / VC, ses düzeyi başlığını iki yerde saklar: sesin başında ve sonunda. Başlangıçta ana olan, sondaki ise yedekleme içindir. Bu mekanizma genellikle, sürücünün bir kısmı hasar gördüğünde veya bozulduğunda erişimi etkinleştirmek için yeterlidir, çünkü hasar genellikle yereldir. sürücünün hem başlangıcında hem de sonunda hasar meydana gelirse, sürücü neredeyse kesinlikle ölmüştür.

Hasarlı veya bozuk bir sürücü olması durumunda, şifreleme kullanmadığınız zamanki veri kaybına sahip olacağınızı lütfen unutmayın. Bu, birimi bağlayabilseniz bile, okunan verilerin bozulmuş olabileceği anlamına gelir. Bu nedenle, şifreleme veri bozulmasından korunmadığından her zaman veri yedeklemeyi düşünün.

Gönderen VeraCrypt SSS :

VeraCrypt biriminin bir kısmı bozulduğunda ne olur?

Şifrelenmiş verilerde, bir bozuk bit genellikle içinde oluştuğu tüm şifreleme metni bloğunu bozar. VeraCrypt tarafından kullanılan şifreli metin bloğu boyutu 16 bayttır (yani 128 bit). VeraCrypt tarafından kullanılan çalışma şekli, bir blok içinde veri bozulması olursa, kalan blokların etkilenmemesini sağlar.

VeraCrypt birimimdeki şifreli dosya sistemi bozulduğunda ne yapmalıyım?

VeraCrypt birimindeki dosya sistemi, herhangi bir normal şifrelenmemiş dosya sistemiyle aynı şekilde bozulabilir. Bu durumda, düzeltmek için işletim sisteminizle birlikte verilen dosya sistemi onarım araçlarını kullanabilirsiniz. Windows'da, 'chkdsk' aracıdır. VeraCrypt, bu aracı VeraCrypt biriminde kullanmanın kolay bir yolunu sunar: Ana VeraCrypt penceresinde (sürücü listesinde) takılı birimi sağ tıklatın ve içerik menüsünden 'Dosya Sistemini Onar'ı seçin.

Bu durumda küçük veri bozulması yalnızca yerel etkiye sahip olmalı ve tüm kapsayıcıyı yok etmemelidir. Bununla birlikte, kurtarma işlemi daha karmaşık olabileceğinden, tüm birimi / bölümü ve özellikle sistem sürücüsünü şifrelemeye karşı öneriyorum. Özellikle birim başlığı için iyi yedeklemeler alın. Ayrıca, gerçek bir disk veya klasörde olduğu gibi, disk / dosya başlıklarındaki bozulmanın veri toplanmasını zorlaştırabileceğini ve gelişmiş yardımcı programlar gerektirebileceğini unutmayın.

LUKS'un diskte ikinci bir başlığı olmadığına inanıyorum, bu yüzden yedek tutmaya daha da dikkat etmelisiniz.


Bunları okudum ama bu hala biraz kafa karıştırıcı. Kapların üstbilgileri ve kapların içindeki dosya sistemleri aracılığıyla yapılan kurtarma işlemlerinin yanı sıra, bir kabın tam ortasındaki kötü bir sektörün onu tamamen ölü ve montajını imkansız hale getirmeyeceği anlamına mı geliyor? Doğru anlayabileceğim gibi, bir ciphertext bloğu tam olarak katı olmayan bir 7-zip arşivi / şifrelenmemiş ext3'ün içinde hala çalışıyor gibi fiziksel kötü sektörlere sahip mi?
X.LINK

Şifrelenmiş birimler için konuşamam, ancak şifreli bir şifre metninde tek bir bitin değiştirilmesi sadece tüm blok için çöp tükürecek. Blok boyutu 128 bayt veya 256 bayt veya 4kb olabilir. Diğer metinlerin şifresinin çözülmesini engellemez. Şifreleme algoritmasının çöpün kötü olduğunu bilmesinin bir yolu yoktur. Kontrol toplamı falan yoktur (AES-CBC için). Bu blok bir metin dosyasının içindeyse, Not Defteri'nde çöp gibi görünür. Dizin yapısının bir parçasıysa, dosya sistemi bozuk ve gerekli görünecektir chkdsk.
Chloe

@ X.LINK: Kötü bir kısım, 16 baytlık tüm "sektörünü" bozar. Sektörün bulunduğu yere bağlı olarak, sonuç kullanılmayan bir alana düşerse veya dosyadaki o noktada çöp veya en kötü durumda kurtarma yardımcı programlarının kullanılmasını gerektiren kötü dizin yapısı olmadığında hiçbir şey olmayabilir. Bu, kullanılmayan sektörlerin, dosya verilerinin ve disk tablolarının bulunduğu fiziksel diske çok benzer ve yedeklemeniz benzer yönergelere uymalıdır.
harrymc

0

İnsanların verdiği tüm cevaplar sayesinde kesin cevap% 100 tamamlandı.

Bu günlerde fazla vaktim yok, bu yüzden daha sonra "kendi" cevabımı düzenleyeceğim. İnsanların burada verdiği tüm cevaplar tamamen faydalı olduğundan, bu sadece söylediklerinin bir özeti ve bulgularım olacak.

Her neyse, burada tanıştığım birçok karışıklığı ortadan kaldıracak bulgularımdan biri ve çoğunlukla endişeliydi ... blok ne anlama geliyor, çünkü aşırı ve yanlışlıkla kullanılan bir terim:

https://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/

Ayrıca, burada şeyler hakkında konuşmak için "standart" bir yol bulacaksınız ve 'blok' karışıklığından kaçının:

/superuser/1176839/what-are-every-possible-names-of-hard-drives-structure-parts

Kısaca, "400" kelimesini içeren şifreli bir bloğu "800" olarak değiştirebilirsiniz. Bu, "normal bir dosya sistemi gibi davranacağına" (yani Veracrypt SSS) inanmak yerine, şifrelenmiş blok düzeyinde katmanın tamamen katı olmadığı anlamına gelir.

Ayrıca, iki ay önce bu bağlantıyı tökezlemeliydim:

/unix/321488/full-image-of-internal-hdd-drive-dd-dd-rescue-with-truecrypt-bad-sectors/

VeraCrypt bir TrueCrypt çatalı olduğundan kesinlikle aynı şekilde çalışır.

Not:

Herhangi bir ek cevap hala kabul edilir ve benim "kendi" yanıtıma eklenecektir.

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.