Kategorie | Bezpieczeństwo, Linux, Poradniki

  

OpenSSL: sztuczki kryptograficzne

Opublikowano 22 lutego 2009 przez Franek

Base64: kodowanie i dekodowanie:
Base64 służy do kodowania ciągu bajtów przy pomocy ciągu znaków. Kodowanie to przypisuje 64 wybranym znakom wartości od 0 do 63. Kodowanie to jest bardzo proste do rozszyfrowania, istnieją nawet szyfratory/deszyfratory działające online.

Przykład: Tajna wiadomość zakodowana w Base64.
Zaszyfrowana wiadomość: VGFqbmEgd2lhZG9tbyYjMzQ3OyYjMjYzOyB6YWtvZG93YW5hIHcgQmFzZTY0Lg==

openssl enc -base64 -in foto.jpg -out zaszyfrowane_foto.b64 openssl enc -d -base64 -in zaszyfrowane_foto.b64 -out rozszyfrowane_foto.jpg

Symetryczne szyfrowanie i deszyfrowanie:
Jest to taki rodzaj szyfrowania, w którym dane ulegają zaszyfrowaniu za pomocą pewnego klucza. Do rozszyfrowania danych potrzebna jest znajomość tego samego klucza.
CAST5:
Algorytm ten jest szeroko stosowany w niektórych wersjach PGP i GPG.
openssl enc -e -a -salt -cast5-cbc -in foto.jpg -out zaszyfrowane_foto.cast5openssl enc -d -a -cast5-cbc -in zaszyfrowane_foto.cast5 -out rozszyfrowane_foto.jpg

Blowfish:
Algorytm ten operuje na 64-bitowych blokach i używa kluczy od 32 do 448 bitów. Atak brute-force na 64 bitowy Blowfish zajmuje mniej więcej tyle samo czasu co na 73 bitowy bardziej tradycyjny szyfr.
openssl enc -e -a -salt -bf -in foto.jpg -out zaszyfrowane_foto.blowfishpenssl enc -d -a -bf -in zaszyfrowanye_foto.blowfish -out rozszyfrowane_foto.jpg

DES:
Data Encryption Standard, jest to szeroko używany algorytm kryptograficzny. Został stworzony przez IBM na podstawie szyfru Lucifer, został zmodyfikowany przez NSA. Algorytm ten został zaakceptowany jako amerykański standard w roku 1977. Szacunkowy średni czas łamania wiadomości zaszyfrowanej za pomocą DES, przy wykorzystaniu sprzętu o wartości 1 miliona USD, wynosił ok. 35 minut w 2004 roku.
openssl enc -e -a -salt -des3 -in foto.jpg -out zaszyfrowane_foto.des3 openssl enc -d -a -des3 -in zaszyfrowane_foto.des3 -out rozszyfrowane_foto.jpg

Funkcje haszujące:

Funkcje haszujące pozwalają na ustalenie krótkich i łatwych do sprawdzenia sum kontrolnych dla dowolnie dużych zbiorów danych. Sumy kontrolne chronią przez przypadkowymi lub celowo dokonanymi modyfikacjami danych. Właśnie te sumy (MD5) należy sprawdzić i porównać z wzorcem, po pobraniu obrazu ISO naszej ulubionej dystrybucji.
SHA-1:
Secure Hash Algorithm, powoli zapominany, został złamany w 2004 roku. National Institute of Standards and Technology ogłosił, że do 2010 roku zaprzestanie stosowanie tego algorytmu.
openssl dgst -sha1 -c plik_do_sprawdzenia.jpg

RIPE-MD160

RACE Integrity Primitives Evaluation, ze względu na mniejszą popularność tego algorytmu w porównaniu z np. MD5, algorytm ten jest mniej zbadany.
openssl dgst -ripemd160 -c plik_do_sprawdzenia.jpg

MD5:
Message-Digest algorithm, czyli algorytm skrótów wiadomości. Chociaż znane są już metody generowania kolizji, co obniża bezpieczeństwo MD5, jest to powszechnie stosowana metoda podpisywania plików.
openssl dgst -md5 -c plik_do_sprawdzenia.jpg

Klucze:
Generujemy silny klucz prywatny CSR:
openssl req -new -nodes -newkey rsa:2048 -out kluczyk.crt -keyout kluczyk.key

Wyświetlamy informację o kluczu:
openssl asn1parse -in kluczyk.crt

Sprawdzamy klucz:
openssl rsa -in kluczyk.key -modulus -noout | openssl md5
openssl x509 -in kluczyk.crt -modulus -noout | openssl md5

Konwersja klucza PEM do DER:
openssl rsa -inform PEM -in kluczyk.pem -outform DER -out kluczyk.der

Konwersja klucza DER do PEM:
openssl rsa -inform DER -in kluczyk.der -outform PEM -out kluczyk.pem

Sprawdzamy certyfikat zdalnego serwera:
openssl s_client -connect help.ubuntu.com:443

  

1 Comments For This Post

  1. Daniel Says:

    Małe sprostowanie. Base64 to nie jest szyfrowanie, a kodowanie pozwalające wysłać dane binarne przez protokoły tekstowe. np. załączniki w emailach. Całkiem popularne :)

Leave a Reply

Polityka komentarzy

     
     
Green Dog Says

MiniBlog