PuTTY Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje on szyfrowanie AES, 3DES, Blowfish oraz DES. PuTTY został jest rozpowszechniany jest na licencji MIT. Inne interesujące programy pakietu PuTTY program do generacji kluczy (RSA, DSA) Pageant agent autentykacji dla PuTTY oraz PSCP PSCP wierszowy klient protokołu bezpiecznego kopiowania plików Kryptografia symetryczna Kryptografia symetryczna to taki rodzaj szyfrowania, w którym tekst jawny ulega przekształceniu na tekst zaszyfrowany za pomocą pewnego klucza, a do odszyfrowania jest niezbędna znajomość tego samego klucza. Kryptografia symetryczna udostępnia jedynie szyfrowanie, wszystkie bardziej zaawansowane funkcje kryptografii takie jak podpisy cyfrowe, uwierzytelnianie, itd. są dostępne tylko w kryptografii asymetrycznej. Popularne szyfry symetryczne to m.in.: AES, IDEA, Blowfish, DES i jego odmiany 3DES, DESX Kryptografia asymetryczna to rodzaj kryptografii, w którym uŝywa się zestawów dwu lub więcej powiązanych ze sobą kluczy Zakłada się istnienie 2 kluczy prywatnego i publicznego, przy czym klucza prywatnego nie da się łatwo odtworzyć na podstawie publicznego. Algorytmy wykorzystują operacje, które da się łatwo przeprowadzić w jedną stronę a bardzo trudno w drugą np. mnoŝenie jest łatwe, a faktoryzacja trudna RSA RSA to pierwszy i obecnie jeden z dwóch najpopularniejszych (obok ElGamala) algorytmów kryptografii asymetrycznej. Stworzony w roku 1978 przez zespół: Ronald Rivest, Adi Shamir, Leonard Adleman. RSA opiera się na trudności faktoryzacji duŝych liczb znalezienie szybkiej metody faktoryzacji doprowadziłoby do złamania RSA, aczkolwiek nie ma dowodu, Ŝe nie da się złamać RSA w inny sposób. 1
DSA DSA (Digital Signature Algorithm) amerykański narodowy standard dla podpisów cyfrowych. DSA to algorytm asymetryczny. Algorytm DSA do podpisu dokumentu wykorzystuje wartość jednokierunkowej funkcji skrótu SHA-1. Długość kluczy uŝywanych w tym algorytmie jest zmienna w zakresie 512-1024 bitów. Szyfrowanie klucz publiczny uŝywany jest do zaszyfrowania informacji, klucz prywatny do jej odczytu. PoniewaŜ klucz prywatny jest w wyłącznym posiadaniu adresata informacji, tylko on moŝe odczytać informację. Natomiast klucz publiczny jest udostępniony kaŝdemu kto zechce zaszyfrować wiadomość. Wady kryptografii asymetrycznej kryptografia asymetryczna jest o wiele wolniejsza od symetrycznej ze względu na złoŝoność obliczeniową samego procesu. więc prawie nigdy nie szyfruje się samej wiadomości za pomocą kryptosystemów asymetrycznych. Zamiast tego szyfruje się jedynie klucz jakiegoś szyfru symetrycznego, takiego jak np. AES. Widok programu do generowania kluczy prywatnych i publicznych dla OpenSSH oraz pakietu PuTTY. Rodzaje kluczy: DSA RSA Generowanie klucza następuje na podstawie losowych danych ruchu myszki uŝytkownika po oknie programu. Wygenerowny klucz OpenSSH Odcisk palca klucza Nasz komentarz do klucza hasło do klucza 2
Koniecznie wpisujemy hasło aby zabezpieczyć dostęp do klucza!!! W przeciwnym przypadku nieautoryzowana kopia pliku klucza prywatnego moŝe spowodować nieautoryzowany dostęp do wszystkich naszych systemów z wgranym odpowiednim kluczem publicznym. Zachowujemy klucz publiczny, miejsce zachowania klucza nie musi być chronione. Klucz moŝe np.. być opublikowany na stronie www. Klucz publiczny ---- BEGIN SSH2 PUBLIC KEY -- --Comment: "rsa-key- 20061209"AAAAB3NzaC1yc2EAAAAB JQAAAIBPfHAz9a2bDsvorcuvfl5MC GxjPHH9OQzwxoqsnJJuRDDIToFGq1 Zso2uVGFltwDrbMXhWUTayINpusgi RJN/w4cNUQRSNcf4qkGJzSrbGg9gZ Yid1aJB0bs0eImuWwcgs1PQFe9f6w 8tGWRSVVXPle8UVmrCWT2dWZJR37m pwoq==---- END SSH2 PUBLIC KEY ---- Zachowujemy klucz prywatny w pliku z rozszerzeniem *.ppk na chronionym przed nieautoryzowanym dostępem nośniku. Klucz prywatny W katalogu domowym tworzymy katalog o nazwie.ssh 3
Kopiujemy klucz publiczny w formacie OpenSSH do schowka celem przeniesienia na serwer. W katalogu.ssh tworzymy plik o nazwie authorized_keys w którym umieszczamy zawartość klucza publicznego pageant czyli agent Uruchamiamy agenta, który będzie przechowywał nasze klucze w pamięci operacyjnej pageant Agent bez kluczy Dodajemy klucz prywatny z pliku, w razie potrzeby wpisujemy hasło do pliku. pageant Dodajemy klucz prywatny z pliku, wpisujemy hasło do pliku. 4
pageant Wracamy do PuTTY Przykład dodanego klucza do pamięci agenta Wywołujemy sesję ssh w zwykły sposób Podajemy tylko nazwę uŝytkownika logujemy się na serwer bez hasła bo autoryzacja następuje za pomocą przesłanego na serwer klucza WinSCP WinSCP aplikacja do bezpiecznego kopiowania plików na/z serwerów unixowych/linuxowych Do wyboru interfejs wzorowany na Eksploratorze Windows lub Norton Commanderze WinSCP Program integruje się z pageant Ale gdy nie ma pageant to do programu moŝna dodać teŝ bezpośrednio ścieŝkę do pliku z kluczem prywatnym WinSCP przykład Szyfrowanie 5