Internetas. Kompiuteris. Pagalba. Patarimas. Remontas

„Linux“ failų sistemos šifravimas. Disko šifravimas Linux sistemoje. Ryšys paleidžiant

Ne paslaptis, kad šiandien duomenų šifravimas yra bene vienintelis būdas juos kažkaip išsaugoti. Šiandien mes sužinosime, kaip sukurti užšifruotą skaidinį „Linux“ naudojant „Luks“ („Linux Unified Key Setup“) standartą. Kaip pavyzdį pateiksiu ekrano kopijas iš CentOS Linux operacinės sistemos.

Taigi, visų pirma, paruošime skyrių, kurį šifruosime. Sukūriau naują diską savo virtualioje mašinoje, prijungiau jį prie SATA sąsajos ir sistemoje pasirodė /dev/sdb įrenginys

Sukurkime pagrindinį skyrių:

# fdisk /dev/sdb

Sukūrėme 1 skaidinį (sdb1), skyrėme jam visą laisvą vietą.

Puiku, dabar suformatuokime /dev/sdb1 skaidinį naudodami kriptografinę apsaugą naudodami slaptafrazę. Mūsų bus paprašyta įvesti slaptažodį. Pakartokime du kartus, kad nesuklystume.

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1

Numatytasis algoritmas yra 256 bitų AES. Jei reikia, galite pasirinkti kitą algoritmą nurodydami klavišus -c algoritmas -s rakto ilgį

# cryptsetup -c aes -s 1024 --verbose --verify-passphrase luksFormat /dev/sdb1

Tada suaktyviname kriptovaliutų konteinerį pavadinimu seifas:

# cryptsetup luksAtidarykite /dev/sdb1 saugų


Dėl to /dev/mapper/ kataloge sukuriame naują blokinį įrenginį pavadinimu safe.

Sukurkite failų sistemą:

# mkfs.ext3 /dev/mapper/safe


Ką daryti, jei norime, kad mūsų skaidinys būtų aktyvuotas kiekvieną kartą, kai sistema paleidžiama (žinoma, prašoma slaptafrazės)?

Redaguojame /etc/crypttab failą, kuris panašus į /etc/fstab

# vim /etc/crypttab

Pridėkime ten eilutę:

saugus /dev/sdb1 nėra

Ir faile /etc/fstab:

/dev/mapper/safe /safe ext3 numatytieji 0 0

Taip, situacija. Sukūrėme kriptovaliutų skyrių. Mes žinome raktą. Ar galima skyrių padaryti pasiekiamą ne tik mūsų raktu, bet ir kitu? Tai reiškia, kad norime suteikti prieigą prie „Vasya“, kad jis galėtų dirbti vienodai su mumis. Lengvai.

Prie kriptovaliutų konteinerio pridėkime dar vieną raktą.

Iš viso galite sukurti iki 8 raktų, kurių kiekvienas telpa į savo lizdą.


Užimtus laiko tarpsnius galite rodyti taip:

# cryptsetup luksDump /dev/sdb1


Kaip matote, 0 ir 1 lizdai taip pat gali būti naudojami vietoj slaptažodžių.

Kriptokonteinerio būseną galite parodyti taip:

# saugi šifravimo būsena

Praktinis pavyzdys.

Tikslas: apsaugokite savo USB įrenginį nuo smalsių akių.

Prijunkite „flash drive“ prie sistemos:


„Flash“ atmintinė buvo identifikuota kaip SDC įrenginys. Tai reiškia, kad pasirodė /dev/sdc įrenginys. Jei „flash“ diske buvo „fat“ arba „ntfs“ skaidiniai, tada geriau mesti informaciją kur nors, nes užšifravus įrenginį viskas bus prarasta.

Taigi, mes galime skaidyti „flash drive“ naudodami „fdisk“, galime palikti jį tokį, koks yra.

# cryptsetup luksFormat /dev/sdc

Įveskite slaptafrazę.


Dabar prijunkite savo šifruotą įrenginį, kad pažymėtume jį naujai failų sistemai:

# cryptsetup luksAtidarykite /dev/sdc flash

Dabar mūsų bus paprašyta įvesti slaptafrazę, kurią įvedus sistemoje pasirodys naujas įrenginys /dev/mapper/<имя>, mūsų atveju blykstė.

Sukurkime failų sistemą šiame įrenginyje:

# mkfs.ext3 /dev/mapper/flash

Paruošta. Na, laikas sukurti raktus, kurie bus naudojami norint pasiekti įrenginį. Galite paruošti kelis raktus (iš viso iki 8 lizdų, nors 0 lizdas jau užimtas slaptažodžio, bet jį galima ištrinti).

# dd if=/dev/urandom of=~/keyfile.key bs=1 count=256

Taigi mes sukursime 256 baitų failą, užpildytą atsitiktiniais skaičiais. Tai galite patikrinti taip:

# xxd ~/keyfile.key


Tikrai. visiškai atsitiktinai. Dabar belieka pridėti šį raktą prie mūsų „flash drive“.

Kol kas išjunkite kriptovaliutų talpyklą.

# cryptsetup luksUždarykite blykstę

Pridėti raktą:

# cryptsetup luksAddKey /dev/sdc ~/keyfile.key


Būsime paraginti įvesti slaptafrazę, kad įsitikintume, jog turime prieigą prie šios saugyklos.

# cryptsetup luksDump /dev/sdc

Puiku! Dabar išsaugokime raktą saugioje vietoje. Jo prireiks norint pasiekti konteinerį.

1 pavyzdys.

Vartotojas „A“ nori įkelti failą į „flash“ diską, žinodamas slaptafrazę:


Jį atrakinome naudodami slaptažodį, sukurdami „mydisk“ įrenginį, tada sumontavome „mydisk“ pagrindiniame kataloge. Sukurtas tekstinis failas hello.txt su turiniu. Konteineris išjungtas.

2 pavyzdys.


Mes jį atrakinome naudodami rakto failą ir sukūrėme „flashka“ įrenginį. Įdiegėme jį į vartotojo Sergejaus namų katalogą, perskaitėme failą - viskas buvo gerai!

Saugumas ir privatumas yra labai svarbūs tiems, kurie svarbius duomenis saugo kompiuteryje. Jūsų namų kompiuteris yra saugus, tačiau su nešiojamuoju kompiuteriu ar kitais nešiojamaisiais įrenginiais situacija yra labai skirtinga. Jei nešiojate nešiojamąjį kompiuterį su savimi beveik visur ir prie jo gali patekti pašaliniai asmenys, kyla klausimas – kaip apsaugoti savo duomenis nuo kitų žmonių trukdžių. Būtent nuo fizinių atakų, kai kiekvienas gali bandyti gauti duomenis iš USB atmintinės ar nešiojamojo kompiuterio standžiojo disko, tiesiog paimdamas įrenginį arba, nešiojamojo kompiuterio atveju, ištraukdamas standųjį diską ir prijungdamas jį prie kitos operacinės sistemos.

Daugelis įmonių ir net paprastų vartotojų naudoja disko šifravimą sistemoje Linux, kad apsaugotų konfidencialią informaciją, pvz., kliento informaciją, failus, kontaktinę informaciją ir daug daugiau. Linux operacinė sistema palaiko kelis kriptografinius metodus, skirtus apsaugoti skaidinius, atskirus katalogus ar visą standųjį diską. Visi duomenys bet kuriuo iš šių metodų yra automatiškai užšifruojami ir iššifruojami.

Failų sistemos lygio šifravimas:

  • 1.eCryptfs yra Linux kriptografinė failų sistema. Jis saugo kiekvieno failo kriptografinius metaduomenis atskirame faile, kad failus būtų galima kopijuoti iš vieno kompiuterio į kitą. Failas bus sėkmingai iššifruotas, jei turėsite raktą. Šis sprendimas plačiai naudojamas šifruotam namų katalogui įdiegti, pavyzdžiui, Ubuntu. „ChromeOS“ taip pat skaidriai įtraukia šiuos algoritmus, kai naudoja tinklo prijungtus saugojimo (NAS) įrenginius.
  • 2. EncFS- suteikia užšifruotą failų sistemą vartotojo erdvėje. Jis veikia be jokių papildomų privilegijų ir naudoja saugiklių biblioteką bei branduolio modulį, kad pateiktų failų sistemos sąsają. EncFS yra nemokama programinė įranga ir licencijuota pagal GPL.

Įrenginio lygio bloko šifravimas:

  • Loop-AES- greita ir skaidri failų sistema, taip pat paketas, skirtas šifruoti mainų skaidinį Linux sistemoje. Programos šaltinio kodas ilgą laiką nebuvo keičiamas. Jis veikia su 4.x, 3.x, 2.2, 2.0 branduoliais.
  • TrueCrypt yra nemokamas atvirojo kodo sprendimas, skirtas disko šifravimui Windows 7/Vista/XP/Mac OS X operacinėse sistemose, taip pat Linux.
  • dm-crypt+LUKS- dm-crypt yra skaidrus posistemis, skirtas disko šifravimui branduolyje 2.6 ir naujesnėje versijoje. Palaikomas visų diskų, keičiamųjų laikmenų, skaidinių, RAID tomų, programinės įrangos, loginių tomų ir failų šifravimas.

Šioje pamokoje apžvelgsime standžiojo disko šifravimą sistemoje „Linux“, naudojant „Linux Unified Key Setup-on-disk-format“ (LUKS) algoritmą.

Kaip veikia LUKS?

LUKS („Linux Unified Key Setup“ yra blokinio įrenginio šifravimo protokolas. Bet mes šoktelėjome toli į priekį, kad suprastume, kaip tai veikia, turime suprasti kitas šiame metode naudojamas technologijas.

Norint atlikti Linux disko šifravimą, naudojamas dm-crypt branduolio modulis. Šis modulis leidžia sukurti virtualų bloko įrenginį /dev/mapper kataloge su skaidriu šifravimu failų sistemai ir vartotojui. Tiesą sakant, visi duomenys yra užšifruotame fiziniame skaidinyje. Jei vartotojas bando įrašyti duomenis į virtualų įrenginį, jie užšifruojami ir įrašomi į diską nuskaitant iš virtualaus įrenginio, atliekama atvirkštinė operacija – duomenys iššifruojami iš fizinio disko ir persiunčiami aiškiu tekstu; virtualų diską vartotojui. Paprastai AES naudojamas šifravimui, nes dauguma šiuolaikinių procesorių yra tam optimizuoti. Svarbu pažymėti, kad galite užšifruoti ne tik skaidinius ir diskus, bet ir įprastus failus, sukurdami juose failų sistemą ir prijungdami juos kaip kilpos įrenginį.

LUKS algoritmas nustato, kokie veiksmai ir kokia tvarka bus atliekami dirbant su šifruota laikmena. Norėdami dirbti su LUKS ir dm-crypt moduliu, naudokite Cryptsetup įrankį. Mes tai svarstysime toliau.

Cryptsetup įrankis

„Cryptsetup“ programa palengvins „Linux“ skaidinio šifravimą naudojant dm-crypt modulį. Pirmiausia įdiegkime.

Debian arba Ubuntu naudokite šią komandą:

apt-get install cryptsetup

„Red Hat“ pagrindu sukurtuose platinimuose jis atrodys taip:

yum įdiegti cryptsetup-luks

Komandos paleidimo sintaksė yra tokia:

$ cryptsetup options operation options_operations

Pažvelkime į pagrindines operacijas, kurias galima atlikti naudojant šią priemonę:

  • luksFormatas- sukurti šifruotą skaidinį luks linux
  • LuksAtidaryti- prijunkite virtualų įrenginį (reikalingas raktas)
  • luksUždaryti- uždarykite „Luks Linux“ virtualų įrenginį
  • luksAddKey- pridėti šifravimo raktą
  • luksRemoveKey- ištrinti šifravimo raktą
  • luksUUID- rodyti skaidinio UUID
  • luksDump- sukurti atsarginę LUKS antraščių kopiją

Operacijos parametrai priklauso nuo pačios operacijos, dažniausiai tai yra arba fizinis įrenginys, su kuriuo reikia atlikti veiksmą, arba virtualus, arba abu. Dar ne viskas aišku, bet su praktika, manau, išsiaiškinsi.

Linux disko šifravimas

Teorija baigta, visi įrankiai paruošti. Dabar pažvelkime į „Linux“ skaidinio šifravimą. Pereikime prie standžiojo disko nustatymo. Atminkite, kad tai ištrins visus duomenis iš disko ar skaidinio, kurį ruošiatės šifruoti. Taigi, jei ten yra svarbių duomenų, geriau juos nukopijuoti į saugesnę vietą.

Skyriaus kūrimas

Šiame pavyzdyje užšifruosime /dev/sda6 skaidinį, bet vietoj to galite naudoti visą standųjį diską arba tik vieną failą, užpildytą nuliais. Sukurkite šifruotą skaidinį:

cryptsetup -y -v luksFormatas /dev/sda6

ĮSPĖJIMAS!
========
Tai neatšaukiamai perrašys /dev/sda6 esančius duomenis.

Ar tu tuo tikras? (Įrašykite didžiąsias raides taip): TAIP
Įveskite LUKS slaptafrazę:
Patvirtinti slaptafrazę:
Komanda sėkminga.

Ši komanda inicijuos skaidinį ir nustatys inicijavimo raktą bei slaptažodį. Nurodykite slaptažodį, kad vėliau jo nepamirštumėte.

Vykdykite šią komandą, kad atidarytumėte naujai sukurtą skaidinį naudodami dm-crypt modulį /dev/mapper, kad tai padarytumėte, turėsite įvesti slaptažodį, su kuriuo buvo atliktas luks linux šifravimas:

Įveskite /dev/sda6 slaptafrazę

Dabar galite pamatyti naują virtualų įrenginį /dev/mapper/backup2, sukurtą naudojant komandą luksFormat:

ls -l /dev/mapper/backup2

Norėdami peržiūrėti įrenginio būseną, paleiskite:

cryptsetup -v būsenos atsarginė kopija2

/dev/mapper/backup2 aktyvus.
tipas: LUKS1
šifras: aes-cbc-essiv:sha256
rakto dydis: 256 bitai
įrenginys: /dev/sda6
poslinkis: 4096 sektoriai
dydis: 419426304 sektoriai
režimas: skaitymas / rašymas
Komanda sėkminga.

Ir naudodami šią komandą galite pasidaryti atsarginę LUKS antraščių kopiją bet kuriuo atveju:

cryptsetup luksDump /dev/sda6

Na, galime pasakyti, kad skyrius paruoštas. Ir geriausia yra tai, kad dabar galite jį naudoti kaip ir bet kurį kitą įprastą skaidinį /dev kataloge. Galite formatuoti naudodami standartines programas, įrašyti duomenis, keisti ar patikrinti failų sistemą ir tt Negalite pakeisti tik dydžio. Tai yra, viskas yra visiškai skaidru, kaip teigiama straipsnio pradžioje.

Skirsnio formatavimas

Pirmiausia suformatuokime diską. Kad būtų saugu, norėdami ištrinti visus duomenis, kurie anksčiau buvo šioje vietoje, savo šifruotą Linux skaidinį perrašysime nuliais. Tai sumažins šifravimo pažeidimo tikimybę, nes padidės atsitiktinės informacijos kiekis. Norėdami tai padaryti, paleiskite:

dd if=/dev/zero of=/dev/mapper/backup2

Priemonei gali prireikti kelių valandų, kad būtų galima stebėti procesą, naudokite pv:

pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M

Kai procesas bus baigtas, įrenginį galime suformatuoti į bet kurią failų sistemą. Pavyzdžiui, formatuokime jį ext4:

mkfs.ext4 /dev/mapper/backup2

Kaip matote, visos kripto nustatymo komandos taikomos fiziniam skaidiniui, o likusios komandos, skirtos darbui su diskais, taikomos mūsų virtualiajam.

Pertvaros montavimas

Dabar galite prijungti tik sukurtą failų sistemą:

$ mount /dev/mapper/backup2 /backup2

Skyriaus išjungimas

Viskas veikia, bet kaip išjungti įrenginį ir apsaugoti duomenis. Norėdami tai padaryti, paleiskite:

cryptsetup luksUždaryti atsarginę kopiją2

Permontavimas

Kad galėtumėte vėl dirbti su šifruotu skaidiniu naudodami LUKS Linux, turite jį atidaryti dar kartą:

cryptsetup luksAtidarykite /dev/sda6 atsarginę kopiją2

Dabar galime montuoti:

prijungti /dev/mapper/backup2 /backup2

Patikrinkite failų sistemos luksus

Kadangi atidarius skaidinį su luks linux, šį skaidinį sistema apdoroja kaip ir visus kitus, galite tiesiog naudoti fsck įrankį:

sudo umount /backup2

$ fsck -vy /dev/mapper/backup2

$ mount /dev/mapper/backup2 /backu2

Pakeiskite slaptafrazę luks

Linux disko šifravimas atliekamas naudojant konkrečią slaptafrazę, tačiau galite ją pakeisti. Dar geriau, galite sukurti iki aštuonių skirtingų slaptafrazių. Norėdami pakeisti, vykdykite šias komandas. Pirmiausia sukurkime atsargines LUKS antraštes:

cryptsetup luksDump /dev/sda6

Tada sukurkite naują raktą:

cryptsetup luksAddKey /dev/sda6

Įveskite bet kurią slaptafrazę:

Įveskite naują rakto lizdo slaptafrazę:
Patvirtinti slaptafrazę:

Ir ištrinti seną:

cryptsetup luksRemoveKey /dev/sda6

Dabar turėsite įvesti seną slaptažodį.

išvadas

Tai viskas, dabar jūs žinote, kaip užšifruoti skaidinį „Linux“, taip pat suprantate, kaip visa tai veikia. Be to, disko šifravimas Linux sistemoje naudojant LUKS algoritmą atveria plačias galimybes visiškai šifruoti įdiegtą sistemą.

Privalumai:

  • LUKS užšifruoja visą blokinį įrenginį, todėl labai gerai tinka nešiojamų įrenginių, tokių kaip mobilieji telefonai, keičiamos laikmenos ar nešiojamojo kompiuterio kietieji diskai, turiniui apsaugoti.
  • Norėdami apsaugoti atsargines kopijas, serveriuose galite naudoti NAS
  • „Intel“ ir AMD procesoriai su AES-NI (išplėstiniu šifravimo standartu) turi komandų rinkinį, kuris gali pagreitinti „Linux“ branduolio šifravimo dm šifravimo procesą nuo 2.6.32.
  • Taip pat veikia su apsikeitimo skaidiniu, todėl jūsų nešiojamasis kompiuteris gali visiškai saugiai naudoti miego režimą arba užmigdymo funkciją.
Nepamirškite, kad šio darbo autorius kalba apie disko skaidinių šifravimo būdus, kuriuos naudoja pats, su .

Linux

Šis vadovas naudoja Linux dm-crypt (įrenginio žemėlapio sudarytojas) šerdyje 2.6 . Užšifruosime skyrių /dev/sdc1, tai gali būti bet koks skaidinys, diskas, USB arba sukurtas failas pasimetimas. Čia mes naudosime /dev/loop0, žiūrėk. Įrenginio žemėlapių sudarytojasŠiame pavyzdyje skaidiniui identifikuoti naudoja etiketę sdc1, bet tai gali būti bet kuri kita eilutė.

Disko skaidinių šifravimas naudojant LUKS

LUKS Su dm-kripta labai patogu šifruoti disko skaidinius, tai leidžia turėti kelis slaptažodžius vienam skaidiniui ir taip pat lengvai juos pakeisti. Norėdami patikrinti, ar galite naudoti LUKS, surinkite: cryptsetup --help, jei apie LUKS nieko nepasirodė, skaitykite žemiau" dm-kriptas be LUKS Pirma, jei reikia, sukurkite skaidinį fdisk /dev/sdc.

Kaip sukurti šifruotą skaidinį

# dd if=/dev/urandom of=/dev/sdc1 # Neprivaloma. Tik paranoikams# cryptsetup -y luksFormat /dev/sdc1 # Tai sunaikins visus duomenis sdc1 # cryptsetup luksAtidaryti /dev/sdc1 sdc1 # mkfs.ext3 /dev/mapper/sdc1 # Bus sukurta failų sistema ext3 # mount -t ext3 /dev/mapper/sdc1 /mnt # umount /mnt # cryptsetup luksUždaryti sdc1
Montuoti
# cryptsetup luksAtidaryti /dev/sdc1 sdc1 # mount -t ext3 /dev/mapper/sdc1 /mnt
Atjungti
# umount /mnt # cryptsetup luksUždaryti sdc1

dm-kriptas be LUKS

# cryptsetup -y sukurti sdc1 /dev/sdc1 # Arba bet kuris kitas skyrius, pvz /dev/loop0 # dmsetup ls # Patikrinkite, parodys: sdc1 (254, 0) # mkfs.ext3 /dev/mapper/sdc1 # Tik jei tai daroma pirmą kartą!# mount -t ext3 /dev/mapper/sdc1 /mnt # umount /mnt/ # cryptsetup pašalinti sdc1 # Atjunkite šifruotą skaidinį Atlikite tą patį (nesukurdami fs), kad iš naujo prijungtumėte skaidinį. Jei įvesite neteisingą slaptažodį, mount komanda nebus vykdoma. Tokiu atveju tiesiog nuimkite ekraną sdc1 (cryptsetup pašalinti sdc1) ir sukurkite naują.

FreeBSD

Tai yra keletas populiarių disko šifravimo modulių gbde Ir Geli. Geli greičiau, nes naudojamas aparatūros pagreitis. Išsamesnį aprašymą rasite FreeBSD vadovo 18.6 skyriuje. Už darbą, Geli turi būti įkeltas kaip branduolio modulis arba integruotas į jį kompiliavimo metu. GEOM_ELI įrenginio šifravimo parinktys # Arba įkelkite kaip branduolio modulį:# echo "geom_eli_load="TAIP" >> /boot/loader.conf # Arba kldload geom_eli

Naudojant slaptažodį ir raktą

Autorius naudoja šiuos nustatymus tipiškam skaidinio šifravimui, jis naudoja slaptažodį ir šifravimo raktą " Pagrindinis raktas- pagrindinis raktas." Norėdami prijungti šifruotą skaidinį, jums reikės ir slaptažodžio, ir rakto /root/ad1.key. "Pagrindinis raktas“ yra saugomas skaidinio viduje ir yra nematomas. Šis pavyzdys būdingas USB arba failo vaizdui.

Sukurkite šifruotą skaidinį

# dd if=/dev/random of=/root/ad1.key bs=64 count=1 # Šis raktas užšifruoja pagrindinį raktą# geli init -s 4096 -K /root/ad1.key /dev/ad1 # -s 8192 ir OK diskams# geli attach -k /root/ad1.key /dev/ad1 # DO sukuria /root/ad1.key atsargines kopijas# dd if=/dev/random of=/dev/ad1.eli bs=1m # Neprivaloma ir daug laiko reikalaujanti # newfs /dev/ad1.eli # Sukurkite failų sistemą# mount /dev/ad1.eli /mnt # Prijunkite šifruotą skaidinį
Prikabinti
# geli attach -k /root/ad1.key /dev/ad1 # fsck -ny -t ffs /dev/ad1.eli # Jei abejojate, patikrinkite failų sistemą# mount /dev/ad1.eli /mnt
Atsieti
Išmontavimo procedūra atliekama automatiškai išjungus. # umount /mnt # geli detach /dev/ad1.eli
/etc/fstab
Šifruoto skaidinio montavimą galima konfigūruoti per /etc/fstab. Atsisiunčiant bus paprašyta įvesti slaptažodį. # grep geli /etc/rc.conf geli_devices="ad1" geli_ad1_flags="-k /root/ad1.key" # grep geli /etc/fstab /dev/ad1.eli /home/private ufs rw 0 0

Tik slaptažodžiu

Tai tinkamesnis būdas šifruoti „flash drive“ ar vaizdą failais, tik prašant slaptažodžio. Tokiu atveju jums nereikia jaudintis dėl pagrindinių failų. Procedūra yra panaši į aprašytą aukščiau, išskyrus pagrindinių failų kūrimą. Užšifruokime 1 GB vaizdą, sukurtą iš failo /cryptedfile. # dd if=/dev/zero of=/cryptedfile bs=1M count=1000 # Sukurkite 1 GB failą# mdconfig -at vnode -f /cryptedfile # geli init /dev/md0 # Šifruoti tik slaptažodžiu# geli attach /dev/md0 # newfs -U -m 0 /dev/md0.eli # mount /dev/md0.eli /mnt # umount /dev/md0.eli # geli detach md0.eli Dabar šį vaizdą galima prijungti kitame kompiuteryje tiesiog įvesdami slaptažodį. # mdconfig -at vnode -f /cryptedfile # geli attach /dev/md0 # mount /dev/md0.eli /mnt

Šiame straipsnyje pabandysiu palyginti įvairių šifravimo sistemų veikimą Linux sistemoje. Teoriškai, žinoma, žinoma, kuri sistema yra produktyvesnė, ir buvo bandymų apskaičiuoti skirtingų sistemų našumą (). „Truecrypt“ netgi turi įmontuotą etaloną (tačiau tai rodo RAM našumą; jį galima naudoti tik skirtingų šifravimo algoritmų greičiui įvertinti). Padarysiu ką nors šiek tiek kitaip – ​​išmatuosiu įvairiomis priemonėmis užšifruotos failų sistemos greitį procentais, palyginti su įprasta nešifruota failų sistema.


Užšifruosime atskirą skaidinį atskirame HDD, kuriame nėra šakninės failų sistemos, naudodami pagal nutylėjimą kiekvienu konkrečiu atveju naudojamą algoritmą. Aš, kaip paprastas vartotojas, nesuprantu šifravimo standartų niuansų (pavyzdžiui, kuo RIPEMD-160 maiša skiriasi nuo Whirpool, kuris iš šių režimų greitesnis, kas užtikrina didesnę apsaugą), todėl tiesiog pasikliausime tuo, kad kiekvieno programinės įrangos gaminio gamintojai pasirinko pakankamai kriptografinius numatytuosius nustatymus. Tai gali būti ne visai teisinga, nes skirtingų šifravimo algoritmų našumas nėra vienodas. Jei norite, žinoma, galite pakeisti šifravimo tipą, tačiau nesu tikras, kad visi išbandyti produktai turi visiškai identišką algoritmų rinkinį. Mes išbandysime:

3) eCryptfs yra numatytoji sistema, siūloma Ubuntu vartotojams šifruoti namų katalogus, todėl ji įtraukta į šį testą. Veikia ant esamos failų sistemos. Šifruoja kiekvieną failą atskirai, todėl visi gali matyti teises, modifikavimo datas ir užšifruotų failų skaičių; Pagal numatytuosius nustatymus taip pat matomi failų pavadinimai, nors yra galimybė juos užšifruoti. Neveiksmingiausias grupės produktas.

4) EncFS yra apytikslis eCryptfs analogas, tačiau naudoja FUSE.

Taigi testavimui buvo skirtas atskiras gana senyvo amžiaus aparatas tokios konfigūracijos: CPU - Intel Celeron 2000Mhz, RAM - 512 Mb DDR PC2700, sisteminis HDD - WD Caviar SE 5400 RPM 80Gb, bandomasis HDD - WD Caviar SE 7200 RPM 80 Gb.
OS – Ubuntu 12.04 LTS, visos programinės įrangos versijos, skirtos šios OS saugykloms rašymo metu (Truecrypt 7.1a-linux-x86 ne iš saugyklų).

Išbandysime daugumos platinimų numatytąją ext4 failų sistemą. Norėdami patikrinti našumą, naudosime izone3 įrankį ir apvalkalo scenarijų, parašytą „ant kelio“, kad išmatuotume procentinį testų skirtumą.

Scenarijus skaičiavimui. Į kodo grynumą nebuvo atkreiptas ypatingas dėmesys, vienintelis kriterijus rašant buvo teisingo rezultato buvimas.

#!/bin/sh gendiffffile () ( #procedūra sugeneruoja failą, kurį patogu analizuoti. Pirma, #neanalizuojamos eilutės yra sutrumpintos; antra, sutrumpinami pirmieji du skaičiai kiekvienoje eilutėje, nurodant #failo dydį ir įrašo dydis atitinkamai ; |. "(i=3;i<=NF;i++) {print $i}}" done > > $2 ) getline () ( #procedure spausdina failo $1 eilutės numerį $2 head -n $2 "$1" | tail -n 1 ) palyginti () ( #procedure lygina failus $1 ir $2 eilutė po eilutės, apskaičiuojant kiekvienos jų procentinį skirtumą testų pora #tada apskaičiuoja aritmetinį vidurkį, kiek procentų greičiau ar lėčiau #failas, kuriame yra pirmoji testų grupė, nei failas, kuriame yra antroji grupė P=0 MAX=0 L1=`katė "$1" -l` # | testų skaičius faile L2=`cat "$2" |. wc -l` if [ $L1 -ne $L2 ], tada #jei failuose yra skirtingas testų skaičius, tada jų nelyginsime echo error return fi STEP =$(($L1*5/100)) J=0 I `seq 1 $L1` do J=$(($J+1)), jei [ $J -eq $STEP ], tada J= 0 echo "$((100*$I/$ L1))% baigtas ($I iš $L1)" fi A=`getline "$1" $I` B=`getline "$2" $I` if [ `echo $A \> $B|bc -l` - eq 1 ]; tada D=`echo "100-($B*100/$A)"|bc -l` if [ `echo $D \> $MAX| bc -l` -eq "1" ]; MAX=$D miegas 5 fi else D=`echo "100-($A*100/$B)"|bc -l` if [ `echo $D \> $ MAX|. bc -l` -eq "1" ], tada MAX=$D miegas 5 fi D="-$D" #jei reikšmė turi "-" ženklą, tai šis testas buvo atliktas greičiau #antrame faile , ne pirmame fi P=`echo "$P+ $D"| bc -l` padaryta P=`echo $P/$L1| bc -l` #apskaičiuoti aritmetinį vidurkį echo PERCENT=$P MAX_PERCENT=$MAX ) genaverage () ( #analizei paruošto failo generavimo procedūra, kurios kiekviena eilutė yra #visų ataskaitos failų atitinkamų eilučių aritmetinis vidurkis esantis analizuojamame kataloge AVG=` mktemp` F=`ls "$1"|wc -l` #failų su ataskaitomis skaičius nurodytame kataloge #su sąlyga, kad ten saugomi tik tokie failai ir nieko daugiau #netikrinsime šios prielaidos teisingumas, jei [ -d " $1" -o $F -lt 2 ] tada echo error >/dev/stderr #šioje procedūroje mes išvesime visus pranešimus į stderr, nes #stdout pakeičiama kita procedūra rm - f $AVG išeiti fi TMP=` mktemp` suraskite "$1" - tipo f|, kol skaitykite FILE; #sukurkite laikiną failą, paruoštą analizei "$. FILE" "$I" #names rašo visus tokius failus į "TMP" eilutė po eilutės echo "$I">>$TMP done L=`cat \`getline "$TMP" 1\`|wc -l` cat " $TMP"| skaitant LINIJA; atlikti #keli patikrinimai nepakenktų L1=`katei "$LINE"| wc -l` #ar visuose failuose yra tiek pat testų, jei [ $L -ne $L1 ]; tada echo klaida >/dev/stderr išeiti fi atlikta STEP=$(($L*5/100)) J=0 for I `seq 1 $L`; daryti J=$(($J+1)), jei [ $J -eq $STEP ]; tada J=0 aidas "$((100*$I/$L))% baigtas ($I iš $L)" >/dev/stderr fi SUMFILE=`mktemp` #šiuo būdu gaunu kintamojo SUM reikšmę iš įdėtos kilpos SUM=0 cat "$TMP"| skaitant LINIJA; do SUM=$((`getline "$LINE" $I`+$SUM)) echo $SUM > "$SUMFILE" atlikta echo `tail -n 1 "$SUMFILE"`/$F|bc -l >> $ AVG #gauti aritmetinį vidurkį ir įrašyti jį į atitinkamą vietą AVG faile rm -f "$SUMFILE" padaryta katė "$TMP"| skaitant LINIJA; padaryti #ištrinti laikinuosius failus rm -f "$LINE" atlikta rm -f "$TMP" echo $AVG ) printf %b "\\033)

Ar jums patiko straipsnis? Pasidalinkite su draugais!
Ar šis straipsnis buvo naudingas?
Taip
Nr
Ačiū už jūsų atsiliepimus!
Kažkas nutiko ir jūsų balsas nebuvo įskaitytas.
Ačiū. Jūsų žinutė buvo išsiųsta
Radote klaidą tekste?
Pasirinkite jį, spustelėkite Ctrl + Enter ir mes viską sutvarkysime!