OpenSSL kullanılarak bir belgenin şifrelenmesi ve çözülmesi

OpenSSL, DES, AES gibi şifreleme algoritmalarını destekleyen açık kaynak kodlu bir şifreleme çözümüdür. OpenSSL 128-256 bitlik anahtarlar kullanarak güçlü şifreleme sağlayabilir. 256 bitlik bir şifreleme anahtarının kırılması imkansız olmasa da oldukça zaman alacak bir işlem olduğundan güvenli olduğu söylenebilir. Tabi karşımızda bir Quantum bilgisayar yoksa!

Başlığımız “OpenSSL ile bir belgenin şifrelenmesi.” olsa da aslında biz şifreleme işlemini OpenSSL aracılığı ile bir şifreleme algoritması kullanarak yapacağız. Kullanacağımız algoritma ise DES3 algoritması olacak. Kısaca bahsedecek olursak DES3, IBM tarafından 1978 yılında geliştirilmiş bir algoritmadır. Brute force saldırılarına karşı yetersiz kalan DES (Data Encryption Standard-Veri Şifreleme Standardı) ‘i temel alır ancak DES’e göre çok daha güvenlidir.

DES3 çift yönlü çalışan bir algoritmadır. Şifreleme ve şifrenin çözülmesi sırasında aynı anahtar(parola) kullanılır. DES şifrelemesinin peş peşe 3 kez yinelenmesini esas alır. Bu nedenle DES’e göre 3 kat daha yavaş olduğu söylenebilir. Şifreleme anahtarı 24 bayt ve her byte için tek bir eşlik bit bulunur. Bu nedenle de anahtarın uzunluğu 168 bittir. Veri, 3DES anahtarının ilk 8 baytı ile şifrelenir. Sonra veri anahtarın ortadaki 8 baytı ile çözülür. Son olarak anahtarın son 8 baytı ile şifrelenerek 8 bayt bir blok elde edilir.

Avantaj ve dezavantajlarından bahsedecek olursak;

Algoritma çift yönlü olarak çalıştığı için şifrelenen veri istenildiği zaman çeğrılarak çözülebilir ve örneğin VPN ile kullanıldığında donanım açıklıklarının giderilmesini sağlar.

Ancak güvenliğin tamamen kullanılan anahtara dayanması bir dezavantajdır. Bunun yanında diğer bir dezavantajı ise daha güvenli bir algoritma olan AES (Advanced Encryption Standard-Gelişmiş Şifreleme Standardı)’na nazaran yaklaşık 6 kat daha yavaş çalışmasıdır.

Bankacılık & ödeme sistemleri ve bazı güvenlik uygulamarı DES3 kullanmaktadır. Ancan değindiğimiz dezavantajları nedeniyle DES3 yerini yavaş yavaş daha güvenli olan AES’e bırakmaktadır.

Önce işlemi gerçekleştireceğimiz dizine geçerek bir klasör oluşturalım ve klasöre giriş yapalım.

cd /home/omer/
mkdir test
cd test

 

“belge” isimli bir .txt belgesi oluşturalım ve içine yine test amaçlı olarak kayıt girelim.

nano belge.txt

Şifrelenmiş metin: OpenSSL, DES, AES gibi şifreleme algoritmalarını destekleyen açık kaynak kodlu bir şifreleme çözümüdür.

Şimdi aşağıdaki kısayol ve devamında “enter” ile belgeyi kaydedelim.

CTRL + O

Ve belgeyi kapatalım.

CTRL + X

Aşağıdaki komuttan sonra şifrelenecek belge için parola yani anahtar girmemiz ve ardından doğrulamak için anahtar parolayı tekrar girmemiz istenecek.

openssl des3 -in belge.txt -out sifrelenmis.txt

“ls” komutuyla klasör içeriğini listelediğinizde sifrelenmis.txt isimli bir belgenin oluştuğunu göreceksiniz. Şifrelenmiş verimiz bu belgenin içinde.

Yaptığımız işin mantığı gereği şifrelenmemiş belgeyi silelim. Bu sayede gizlemek istediğimiz veriye kimse ulaşamasın.

rm belge.txt

Şimdi sifrelenmis.txt gerçekten şifrelenmiş mi bir bakalım. Belgeyi açtığınızda aşağıdaki gibi anlamsız karakterlerle karşılaşmış olmalısınız.

Şifrelediğimiz belgeyi yine şifreleme sırasında kullandığımız anahtar parola ile açabiliriz. Şimdi bunu nasıl yapacağımıza bir bakalım.

openssl des3 -d -in sifrelenmis.txt -out cozulmus.txt

Şimdi anahtar yani parolamızı girelim. Cozulmus.txt isimli bir belgenin aynı dizin içinde oluştuğunu göreceksiniz.

Şimdi bakalım herşey yerli yerinde duruyor mu.

Hepsi bu kadar!

Paylaş

Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir