Tehnologija

Enkripcija fajlova u Linux-u

linux pingvin, fajl i katanac - ilustracija za blog na temu enkripcija fajlova u linux-u

Postoji veliki broj komandi pomoću kojih se radi enkripcija fajlova u Linux-u. U ovom tekstu ćemo predstaviti nekoliko jednostavnih primera i pokazati vam kako to da uradite.

Verovatno već znate da svaka enkripcija fajlova znači da su oni izmenjeni na način da je nemoguće pročitati ih bez da ih prethodno dekriptujete. Enkripcija uglavnom neće automatski uticati na veličinu fajla, osim ukoliko ne primenite neku kompresiju. U nekim slučajevima će čak fajl biti i nešto veći od originalne verzije, zbog samog procesa enkripcije. Ipak, neke komande će podrazumevano kompresovati fajl, dok neke druge neće.

enkripcija i dekripcija

Pre svega je bitno da pre same enkripcije znate sledeće:

a) za koju namenu će biti korišćen enkriptovan fajl (da li je u pitanju bekap fajl, fajl koji želite da pošaljete nekome preko javne mreže ili direktno na neki drugi računar…)

b) na koji način i gde čuvate ključeve koji su vam potrebni za dekripciju

c) da li će originalni fajl (onaj koji nije kriptovan) biti čuvan negde na sigurnom mestu, ili će postojati samo njegova enkriptovana verzija.

Sve je ovo bitno da razmotrite pre nego uopšte započnete proces enkripcije.

Napomena: Neke Linux comande za enkripciju fajlova mogu biti korišćene sa javnim/privatnim ključevima, ili sa lozinkom koja se definiše prilikom procesa enkripcije. U ovom tekstu ćemo predstaviti samo načine koji podrazumevaju korišćenje lozinke.

GPG

GPG je jedan od najpoznatijih i najčešće korišćenih alata pomoću kojih se radi enkripcija fajlova u Linux-u. Istovremeno može da obezbedi digitalnu enkripciju i potpisivanje, ali ćemo se mi u ovom tekstu baviti samo enkripcijom uz korišćenje lozinke. Za razliku od nekih drugih alata, GPG ujedno radi i kompresiju pre započinjanja procesa enkripcije.

Ukoliko ukucate komandu kao ovu prikazanu ispod, sadržaj fajla će biti enkriptovan korišćenjem simetričnog ključa. To znači da će ista reč / fraza biti korišćena i za enkripciju i za dekripciju. Enkripcija javnim / privatnim ključem se može obaviti i korišćenjem opcije -e

$ gpg -c NekiFajl

Nakon ovoga ćete biti upitani da dva puta unesete lozinku i originalni fajl će ostati netaknut, kako je prikazano u ovom primeru:

$ ls -l NekiFajl*

-rw-rw-r-- 1 shs shs 107740386 Aug 30 13:21 NekiFajl

-rw-rw-r-- 1 shs shs  32359452 Aug 31 11:00 NekiFajl.gpg

Pored toga možete primetiti da je novi enkriptovani fajl manji od originalnog.

Važno je da napomenemo da GPG radi samo sa jednim po jednim fajlom.

ZIP

ZIP komanda se prevashodno koristi za kompresiju fajlova i njihovo spremanje u arhivu radi lakše organizacije i transporta fajlova. Pored toga, komanda takođe podržava i enkripciju. Potrebno je samo da dodate — encrypt opciju.

$ zip --encrypt NekiFajl.zip NekiFajl

Kao i GPG i ZIP istovremeno enkriptuje i kompresuje fajl, pa će finalni rezultat biti značajno manji fajl koji je pritom i enkriptovan.

$ ls -l NekiFajl*

-rw-rw-r-- 1 shs shs 107740386 Aug 30 13:21 NekiFajl

-rw-rw-r-- 1 shs shs  27587355 Aug 31 14:40 NekiFajl.zip

S obzirom da je ZIP prevashodno namenjen kreiranju arhiva, možete da dodate više fajlova istovremeno, dodajući ih kroz komandnu liniju:

$ zip --encrypt fajlovi.zip fajl1 fajl2Enter password:Verify password:  adding: fajl1 (deflated 4%)  adding: fajl2 (deflated 10%)$ ls -l fajlovi*

-rw-rw-r-- 1 shs shs 468 Aug 31 09:04 fajlovi.zip

7z

Radi veoma slično kao ZIP, s tim što omogućava bolju kompresiju. Kao i ZIP može da sadrži više fajlova u enkriptovanoj arhivi. Da biste pokrenuli enkripciju, ukucajte i lozinku za enkripciju u komandnu liniju sa prefiksom –p ispred lozinke.

$ 7z a NekiFajl.7z NekiFajl -pNekaLozinka

$ ls -l NekiFajl*

-rw-rw-r-- 1 shs shs 107740386 Aug 30 13:21 NekiFajl

-rw-rw-r-- 1 shs shs     27674 Aug 31 12:37 NekiFajl.7z

ccrypt

Smatra se jednim od alata koji obezbeđuje veoma jaku enkripciju, a kao i sve ostale nabrojane komande jednostavno se pokreće iz komandne linije.

Pre nego inicirate enkripciju uz pomoć ccrypt-a imajte u vidu da on enkriptuje originalni fajl i ujedno uklanja njegovu originalnu verziju. Za razliku od ZIP-a i 7z-a ne menja značajno veličinu fajla.

$ ccrypt -e NekiFajl$ ls -l NekiFajl*

-rw-rw-r-- 1 shs shs 107740418 Aug 29 10:09 NekiFajl.cpt

ccrypt komanda može da enkriptuje više fajlova jednom komandom, ali ih enkriptuje odvojeno.

mcrypt

Za razliku od ccrypt-a, ova komanda zahteva dvostruki unos lozinke, ostavlja originalni fajl netaknutim i menja pristupna prava fajlu, tako da prava izmene ima samo vlasnik fajla. Takođe nudi dosta opcija u odabiru algoritma za enkripciju i nudi opciju kompresije fajla pre samog procesa enkripcije. Kao i ccrypt može da enkriptuje više fajlova jednom komandom, ali ih enkriptuje odvojeno.

Ukoliko koristite -- list opciju, mcrypt će vam izlistati sve dostupne algoritme za enkripciju:

$ mcrypt --list

cast-128 (16): cbc cfb ctr ecb ncfb nofb ofb

gost (32): cbc cfb ctr ecb ncfb nofb ofb

rijndael-128 (32): cbc cfb ctr ecb ncfb nofb ofb

twofish (32): cbc cfb ctr ecb ncfb nofb ofb

arcfour (256): streamcast-256 (32): cbc cfb ctr ecb ncfb nofb ofb

loki97 (32): cbc cfb ctr ecb ncfb nofb ofb

rijndael-192 (32): cbc cfb ctr ecb ncfb nofb ofb

saferplus (32): cbc cfb ctr ecb ncfb nofb ofb

wake (32): streamblowfish-compat (56): cbc cfb ctr ecb ncfb nofb ofb

des (8): cbc cfb ctr ecb ncfb nofb ofb

rijndael-256 (32): cbc cfb ctr ecb ncfb nofb ofb

serpent (32): cbc cfb ctr ecb ncfb nofb ofb

xtea (16): cbc cfb ctr ecb ncfb nofb ofb

blowfish (56): cbc cfb ctr ecb ncfb nofb ofb

enigma (13): streamrc2 (128): cbc cfb ctr ecb ncfb nofb ofb

tripledes (24): cbc cfb ctr ecb ncfb nofb ofb

Važno je napomenuti da mcrypt za enkripciju podrazumevano koristi rijndael-128 algoritam. Da biste proverili koji je algoritam korišćen ukucajte sledeću komandu:

$ file NekiFajl.bz2.ncNekiFajl.bz2.nc: mcrypt 2.5 encrypted data, algorithm: rijndael-128, keysize: 32 bytes, mode: cbc,

Koje Linux alate / komande za enkripciju vi koristite u svom svakodnevnom radu? Da li je možda u pitanju neki od alata koje nismo pomenuli u ovom tekstu. Možda možete da preporučite čitaocima neke alate koji nisu često u upotrebi. Ukoliko želite da podelite sa nama vaša iskustva, pišite nam u komentare.

Ostavi komentar

Vaša adresa neće biti objavljena