Diterbitkeun Shufflecake, toolkit pikeun nyieun partisi disk énkripsi disumputkeun

Perusahaan Inok Kaamanan Kudelski Security parantos nyebarkeun alat anu disebut Shufflecake anu ngamungkinkeun anjeun nyiptakeun sistem file disumputkeun anu sumebar dina rohangan bébas anu sayogi dina partisi anu tos aya sareng teu tiasa dibédakeun tina data residual acak. Partisi didamel ku cara anu tanpa terang konci aksés, sesah ngabuktikeun ayana sanajan ngalaksanakeun analisa forensik. Kodeu utilitas (shufflecake-userland) sareng modul kernel Linux (dm-sflc) ditulis dina C sareng disebarkeun dina lisénsi GPLv3, anu ngajantenkeun teu mungkin ngalebetkeun modul kernel anu diterbitkeun dina kernel Linux utama kusabab teu cocog sareng. lisénsi GPLv2 nu kernel disadiakeun.

Proyék ieu diposisikan salaku solusi anu langkung maju tibatan Truecrypt sareng Veracrypt pikeun nyumputkeun data anu meryogikeun panyalindungan, anu ngagaduhan dukungan asli pikeun platform Linux sareng ngamungkinkeun anjeun nempatkeun dugi ka 15 partisi anu disumputkeun dina alat, dipasang di jero masing-masing pikeun ngabingungkeun parsing. tina ayana maranéhanana. Lamun pamakéan Shufflecake sorangan teu rusiah, sakumaha bisa judged, contona, ku ayana utiliti pakait dina sistem, jumlah total partitions disumputkeun dijieun teu bisa ditangtukeun. Partisi disumputkeun anu diciptakeun tiasa diformat dina kawijaksanaan pangguna pikeun nampung sistem file naon waé, contona, ext4, xfs atanapi btrfs. Unggal partisi diperlakukeun salaku alat blok virtual anu misah sareng konci konci sorangan.

Pikeun ngabingungkeun ngambah, éta diusulkeun ngagunakeun modél kabiasaan "deniability masuk akal", intina nyaéta yén data berharga disumputkeun salaku lapisan tambahan dina bagian énkripsi kalawan data kirang berharga, ngabentuk jenis hirarki disumputkeun tina bagian. Dina hal tekanan, nu boga alat bisa nembongkeun konci partisi énkripsi, tapi partisi séjén (nepi ka 15 tingkat nested) bisa disumputkeun dina partisi ieu, sarta nangtukeun ayana maranéhanana sarta ngabuktikeun ayana masalah.

Nyumput dihontal ku ngawangun unggal partisi salaku sakumpulan irisan énkripsi disimpen dina posisi acak dina alat panyimpen. Unggal nyiksikan dijieun dinamis lamun spasi gudang tambahan diperlukeun dina partisi nu. Pikeun nyieun analisis leuwih hese, keureut tina bagian béda anu alternated, i.e. bagian shufflecake teu numbu ka wewengkon contiguous sarta keureut ti sakabéh bagian dicampurkeun. Inpormasi ngeunaan irisan anu dianggo sareng gratis disimpen dina peta lokasi anu aya hubunganana sareng unggal partisi, anu dirujuk ku header énkripsi. Kartu sareng lulugu énkripsi sareng, tanpa terang konci aksés, teu tiasa dibédakeun tina data acak.

lulugu dibagi kana slot, nu masing-masing ngahartikeun bagian sorangan jeung keureut pakait. Slot dina header ditumpuk sareng dihubungkeun sacara rekursif - slot ayeuna ngandung konci pikeun ngadekrip parameter tina bagian saméméhna dina hirarki (anu kirang disumputkeun), ngamungkinkeun hiji kecap akses dianggo pikeun ngadekrip sadaya bagian anu kirang disumputkeun pakait sareng. bagian nu dipilih. Unggal partisi anu kirang disumputkeun ngarawat potongan partisi nested gratis.

Sacara standar, sadaya subbagian Shufflecake gaduh ukuran anu katingali sami sareng bagian tingkat luhur. Salaku conto, upami aya tilu partisi dina alat 1 GB, masing-masing bakal katingali ku sistem salaku partisi 1 GB sareng total rohangan disk anu sayogi bakal dibagi diantara sadaya partisi - upami ukuran total data anu disimpen ngaleuwihan. ukuran sabenerna alat, eta bakal ngamimitian I / O kasalahan dialungkeun.

bagian Nested nu teu kabuka teu ilubiung dina alokasi spasi, i.e. usaha pikeun ngeusian partisi tingkat luhur bakal nyababkeun data abon dina partisi nested, tapi moal ngamungkinkeun pikeun nembongkeun ayana ngaliwatan analisis ukuran data nu bisa disimpen dina partisi saméméh kasalahan dimimitian (eta dianggap yén partitions luhur ngandung data immutable ngaganggu perhatian sarta pernah misah teu dipaké, sarta gawé biasa salawasna dilaksanakeun kalawan bagian nested panganyarna, skéma sorangan ngakibatkeun yen eta leuwih penting pikeun ngajaga rusiah ayana. data ti leungit data ieu).

Kanyataanna, 15 partisi Shufflecake sok dijieun - sandi pamaké napel partitions dipaké, sarta partitions henteu kapake disadiakeun kalawan sandi dihasilkeun acak (teu mungkin ngartos sabaraha partitions sabenerna dipaké). Nalika partisi Shufflecake diinisialisasi, disk, partisi, atanapi alat blok virtual anu dialokasikeun pikeun panempatanna ngeusi data acak, anu matak teu mungkin pikeun ngaidentipikasi metadata sareng data Shufflecake ngalawan latar tukang umum.

Palaksanaan Shufflecake boga kinerja anu cukup luhur, tapi alatan ayana overhead, éta kurang leuwih dua kali leuwih slow dina throughput dibandingkeun enkripsi disk dumasar kana subsistem LUKS. Ngagunakeun Shufflecake ogé ngakibatkeun waragad tambahan pikeun RAM na spasi disk pikeun nyimpen data jasa. Konsumsi mémori diperkirakeun 60 MB per partisi, sareng rohangan disk 1% tina ukuran total. Pikeun babandingan, téhnik WORAM, sarupa dina Tujuan, ngabalukarkeun slowdown 5 nepi ka 200 kali kalawan leungitna 75% spasi disk usable.

Toolkit sareng modul kernel ngan ukur diuji dina Debian sareng Ubuntu kalayan kernels 5.13 sareng 5.15 (didukung dina Ubuntu 22.04). Perhatikeun yén proyék éta masih kedah dianggap salaku prototipe kerja, anu henteu kedah dianggo pikeun nyimpen data penting. Dina mangsa nu bakal datang, urang rencanana nyieun optimizations tambahan pikeun kinerja, reliabilitas jeung kaamanan, kitu ogé nyadiakeun kamampuhan pikeun boot ti partisi Shufflecake.

sumber: opennet.ru

Tambahkeun komentar