Wstęp do systemów wielozadaniowych laboratorium 21 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-01-23
Cel Cel Cel zajęć szyfrowanie danych wymiana zaszyfrowanych wiadomości uwierzytelnienie (czy wiadomość faktycznie pochodzi od danego użytkownika)
Cel Cel Narzędzia Linux / UNIX: GnuPG http://www.gnupg.org/ Windows: gpg4win http://gpg4win.org/ Manual: http://www.gnupg.org/gph/en/manual.html
Ćwiczenia Klucze są przechowywane na katalogu $HOME/.gnupg Na czas ćwiczeń proszę wykonać jego kopię (jeżeli istnieje)! l s l a /.gnupg gpg list keys
Ćwiczenia Generowanie pary kluczy $HOME/.gnupg gpg gen key Listujemy ponownie: gpg list keys
Klucze publiczne Ćwiczenia Klucz prywatny (sec) służy do odszyfrowywania wiadomości i nikt poza właścicielem nie powinien mieć do niego dostępu Klucz publiczny (pub) służy do szyfrowania wiadomości, które może odszyfrować właściciel klucza prywatnego Jeżeli chcemy wysłać wiadomość zaszyfrowaną do innego użytkownika X, to najpierw musimy od X otrzymać jego klucz publiczny
Eksportowanie klucza publicznego Eksportowanie klucza publicznego gpg armor output n a z w a p l i k u. a s c \ export I d e n t y f i k a t o r K l u c z a plik nazwa pliku.asc należy przekazać osobie X która chce wysłać do nas wiadomość można udostępnić na stronie www lub dopisać do.plan (w trakcie zajęć również wysłać pocztą)
Importowanie klucza Ćwiczenia X uzyskał plik z kluczem publicznym osoby Y: plik z kluczem Y.asc X importuje klucz: gpg armor import p l i k z k l u c z e m Y. a s c X sprawdza listę kluczy gpg list keys
Podpisanie klucza Ćwiczenia X po upewnieniu się, że klucz faktycznie pochodzi od Y, X podpisuje zaimportowany klucz gpg edit key i d e n t y f i k a t o r Y gpg edit key y@adres.y X podpisuje klucz poleceniem sign UWAGA! X podpisuje klucz, tylko gdy ma absolutną pewność, że należy on do Y. UWAGA! Stwierdzenie czy klucz od Y faktycznie pochodzi od Y jest najsłabszym punktem systemu
Scenariusz A: na własne potrzeby X chce zaszyfrować własne dane, aby chronić je przed niepowołanym dostępem X szyfruje plik i usuwa oryginał gpg output z a s z y f r o w a n y P l i k \ symmetric o r y g i n a l n y P l i k gdy plik jest potrzebny, X go odszyfrowuje: gpg output o r y g i n a l n y P l i k \ decrypt zaszyfrowanyplik
Scenariusz B: korespondencji X chce wysłać zaszyfrowaną wiadomość do Y X redaguje wiadomość w postaci pliku wiadomoscdoy.txt X szyfruje plik kluczem publicznym Y-a gpg output zaszyfrowanawiadomoscdoy encrypt \ recipient Y wiadomoscdoy.txt X wysyła zaszyfrowany plik jako załącznik
Scenariusz B: korespondencji c.d. Y otrzymał plik zaszyfrowanawiadomoscodx Y odszyfrowuje wiadomość własnym kluczem prywatnym gpg output wiadomoscodx \ decript zaszyfrowanawiadomoscodx Y czyta wiadomość
/ autentyzacja X chce potwierdzić, że to właśnie on jest nadawcą i wiadomość nie została po drodze zmodyfikowana X redaguje wiadomoscdoy i podpisuje ją własnym kluczem prywatnym gpg output podpisanawiadomoscdoy \ sign wiadomoscdoy lub gpg output podpisanawiadomoscdoy \ clearsign wiadomoscdoy X wysyła wiadomość
/ autentyzacja Y otrzymał podpisaną wiadomość wiadomoscodx Y sprawdza podpis kluczem publicznym X gpg verify podpisanawiadomoscdoy Y czyta wiadomość
/ autentyzacja uży-szkodnik Z przechwycił podpisaną wiadomość wiadomoscodx i zmodyfikował jej treść i / lub sygnaturę Z-owi wydaje się, że bez ciężkiej aparatury jest w stanie sfałszować wiadomość tak aby Y nie zauważył Y sprawdza podpis zmodyfikowanej wiadomości gpg verify podpisanawiadomoscdoy otrzymuje: gpg : Signature made pon, 21 sty 2013, 12: 56: 02 CET using RSA key ID A16C0C47 gpg : BAD s i g n a t u r e from I k s I k s i n s k i (X, X) <x@x. domena. pl> Y usuwa wiadomość bez czytania i podejmuje środki zwiększające bezpieczeństwo (zmiana haseł, generowanie nowych kluczy)
Zadanie Dla zainteresowanych Zadanie domowe Wygeneruj parę kluczy, eksportuj klucz publiczny i umieść na własnej stronie www / pliku.plan lub na forum na moodle Z moodle pobierz i zaimportuj klucz publiczny prowadzącego Wyślij do prowadzącego zaszyfrowaną wiadomość / z zaszyfrowanym załącznikiem Wyślij do prowadzącego podpisaną wiadomość / z podpisanym załącznikiem treścią wiadomości może być na plik z rozwiązaniem któregoś z wcześniejszych zadań domowych Punktacja: 0.5p. za zaszyfrowanie + 0.5p za podpisanie + 1p za wiadomość (załącznik) zaszyfrowaną i podpisaną jednocześnie.
Zadanie Dla zainteresowanych Dalsze stosowanie: Projekt implementujący bezpieczeństwo w warstwie sieci (ssl) na licencji gnu http://www.openssl.org/ Dokumentacja do interfejsu tworzenia certyfikatów http://www.openssl.org/docs/apps/ca.pl.html Plugin szyfrujący/autoryzujący do Thunderbirda https://addons.mozilla.org/pl/thunderbird/addon/enigmail/