Table of Contents

Praktyczne wykorzystanie narzędzi szyfrujących

Przygotuj się do laboratorium

Wiedza

1. Podstawowe pojęcia

2. Szyfrowanie z kluczem symetrycznym

Nadawca i odbiorca mają ten sam klucz.

Nadawca:

Odbiorca:

Oprócz szyfrogramu musi być przekazany klucz!

3. Szyfrowanie z kluczem asymetrycznym

Nadawca i Odbiorca mają pary własnych kluczy (Pub/Prv). Wymieniają się publicznymi.

Nadawca:

Odbiorca:

4. Narzędzie mcrypt

Narzędzie mcrypt nie jest dostępne na serwerze spk, ale warto je znać, bo jest podstawowym narzędziem do symetrycznego szyfrowania plików. Można zainstalować je samodzielnie na własnej maszynie (pakiet mcrypt)

# lista dostępnych algorytmów szyfrowania (cbc, cfb i in. to dostępne tryby szyfrów blokowych)
$ 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): stream 
cast-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): stream 
blowfish-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): stream 
rc2 (128): cbc cfb ctr ecb ncfb nofb ofb 
tripledes (24): cbc cfb ctr ecb ncfb nofb ofb
# Szyfrowanie pliku "plik" (powstaje plik.nc; nc = eNCrypted)
$ mcrypt -a des plik 
Wprowadź hasło (maksymalnie 512 znaków)
Proszę użyć kombinacji cyfr i małych i wielkich liter.
Wprowadź hasło: 
Wprowadź hasło: 

File plik was encrypted.
# Deszyfrowanie pliku
$ mdecrypt plik.nc
Wprowadź hasło: 
File plik.nc was decrypted.

5. Wykorzystanie funkcji skrótu

# Wyliczanie funkcji skrótu MD5
$ md5sum plik
0eb376701ee34505840e4b3c47baf894  plik
$ md5sum /bin/bash
557c0271e30cf474e0f46f93721fd1ba  /bin/bash

# Funkcja skrótu ma taką samą długość, mimo że pliki są różnej długości
$ du -h /bin/bash moj_plik
1,1M	/bin/bash
4,0K	plik

6. Podpis elektroniczny

Nadawca i Odbiorca mają pary własnych kluczy (Pub/Prv). Wymieniają się publicznymi.

Nadawca:

Odbiorca:

7. Gnu Privacy Guard

Najważniejsze etapy używania programu (szczegóły we fragmentach kodu poniżej):

8. Uwierzytelnianie SSH

Przebieg:

Uwierzytelnianie przez klucz publiczny SSH:

Konfiguracja:

Ćwiczenia

I. GnuPG

  1. wygenerować swój klucz, gpg -‐gen-key albo gpg –full-generate-key (wszystkie wartości domyślne są w porządku, możemy je zostawić)
  2. NIE należy podpisywać kluczy (-‐sign)
  3. zaszyfrować i rozszyfrować wybrany plik dla siebie,
  4. wymienić się kluczami z drugą osobą, za/rozszyfrować dla siebie pliki, (należy wyeksportować swój klucz publiczny, przekazać drugiej osobie, i zaimportować jej/jego wyeksportowany klucz publiczny):
    • pracując na serwerze SPK można przejść do katalogu /tmp: cd /tmp, do którego wszyscy mamy dostęp = wszystkie pliki (klucze, pliki do zaszyfrowania) można umieścić w tym katalogu i druga osoba będzie miała do nich dostęp (sprawdzić UPRAWNIENIA DOSTĘPU)
    • wyświetlić listę kluczy: gpg -‐list-keys
    • UWAGA: identyfikator klucza, to dowolny fragment linii z napisem (a nie login!)
    • eksport klucza: -‐export
    • import klucza: -‐import
  5. podpisać elektronicznie plik,
  6. podpisać elektronicznie plik i zaszyfrować dla drugiej osoby.

II. SSH

  1. Prześledzić nawiązywanie połączenia z serwerem SSH (logować się dodając opcję -v (ssh -v [konto@]maszyna))
  2. Wygenerować na maszynie A parę kluczy, przenieść publiczny na maszynę B, zalogować się z A na B przy pomocy klucza.
  3. Co należy zrobić, aby w danej sesji (na A) przy kolejnym logowaniu na B nie musieć podawać passfrazy do klucza?

III. Hashe

  1. Wyliczyć przy pomocy md5sum skrót wybranego pliku.
  2. jak wyżej, tylko dla pliku o innej długości, porównać długość hasha.
  3. Zmodyfikować wcześniej używany plik, np. echo a » plik, wyliczyć hash i porównać z wcześniejszym.
  4. Wyliczyć hashe dla podanej grupy plików (przy pomocy jednego wywołania md5sum) i zapisać je do pliku MD5SUMS.

IV. Mcrypt

Narzędzie mcrypt nie jest dostępne na serwerze spk, ale warto je znać, bo jest podstawowym narzędziem do symetrycznego szyfrowania plików. Można zainstalować je samodzielnie na własnej maszynie (pakiet mcrypt)

Przy pomocy wybranego algorytmu symetrycznego za/rozszyfrować plik za pomocą mcrypt.

V. Narzędzia GPG

Pracę z GPG mogą wspomagać: