Zarządzanie Serwerami Sieciowymi – cz. II

Transkrypt

Zarządzanie Serwerami Sieciowymi – cz. II
Zarządzanie Serwerami Sieciowymi –
cz. II
Sieci komputerowe - konfiguracja i administracja
Studium podyplomowe KIS (PŁ)
mgr inŜ. Adam Sobczyk
e-mail: [email protected]
Zarządzanie Serwerami Sieciowymi
Terminarz zajęć 28-29.03.2008
Sobota, 28.03. 2009:
Niedziela, 29.03. 2009:
8.15-12.00 – Wykład / Laboratorium,
14.00-17.45 – Wykład / Laboratorium,
8.15-13.45 – Wykład / Laboratorium,
14.45-17.00 – Wykład / Laboratorium.
Wszystkie zajęcia odbywają się w salach:
E109,
E309,
E311.
Zarządzanie Serwerami Sieciowymi
Cel kursu i wymagania wstępne
Cel kursu - nabycie wiedzy teoretycznej i praktycznej z dziedziny
konfiguracji usług i aplikacji serwerowych:
konfiguracja filtru pakietów ‘netfilter’ z uŜyciem tablic ‘iptables’ –
narzędzie do realizacji funkcji routingu oraz firewall’a,
usługa DNS z uŜyciem programu ‘bind’ – mechanizmy i protokoły,
Usługa samba w GNU/Linux jako darmowy odpowiednik SMB
(„Otoczenie sieciowe”) w systemach Windows. Nawiązanie współpracy,
Usługi HTTP i FTP z uŜyciem aplikacji ‘Apache’ w środowisku
izolowanym za pomocą ‘chroot’,
Usługa e-mail na przykładzie oprogramowania ‘postfix’,
połączenia szyfrowane i sieci VPN, realizowane z uŜyciem protokołów
IPSec.
Wymagania wstępne - wiedza na temat aspektów funkcjonowania
sieci komputerowej:
warstw otwartego modelu ISO/OSI,
stosów protokołów TCP/IP oraz UDP/IP,
połączenia i podstawowa obsługa w systemach operacyjnych MS
Windows oraz GNU/Linux,
podstawy funkcjonowania urządzeń sieciowych, teorii informacji oraz
kryptografii.
Zarządzanie Serwerami Sieciowymi
Zakres wykładu i ćwiczeń laboratoryjnych
1.
2.
3.
4.
5.
6.
7.
8.
9.
Konfiguracja połączenia sieciowego w systemie GNU/LINUX.
Routing statyczny,
Usługa DNS - konfiguracja serwera ‘bind’,
Zasada działania protokołu HTTP. Konfiguracja serwera ‘apache’,
Zasada działania protokołów FTP. Konfiguracja serwera
‘vsftpd’,
Samba jako serwer plików w 'Otoczeniu sieciowym' MS
Windows,
Kryptografia symetryczna i asymetryczna, certyfikaty,
podpis elektroniczny. Infrastruktura klucza publicznego PKI
System pocztowy na przykładzie ‘Postfix’,
Szyfrowanie połączenia przy wykorzystaniu IPSec.
Filtracja i modyfikacja pakietów za pomocą ‘iptables’. Mechanizm
NAT - konfiguracja zaawansowana.
Usługa serwera FTP.
Konfiguracja serwera FTP ‘vsftpd’
FTP, ‘vsftpd’ – co to takiego?
Instalacja serwera ‘vsftpd’
Konfiguracja serwera ‘vsftpd’
Zarządzanie Serwerami Sieciowymi
FTP – co to takiego?
FTP (File Transfer Protocol) - protokół sieci IP typu klient-serwer, umoŜliwia
przesyłanie plików z/do serwera przez sieć TCP/IP. Zdefiniowany przez IETF w RFC
959.
Do komunikacji wykorzystywane są dwa połączenia TCP:
połączenie kontrolne, m.in. do przesyłania polecenia dla serwera,
połączenie robocze do transmisji danych (payload).
FTP moŜe działać w dwóch trybach: aktywnym i pasywnym, w zaleŜności od
tego, w jakim jest trybie, uŜywa innych portów do komunikacji (20 i 21):
w trybie aktywnym uŜywa portu 21 dla poleceń (połączenie zestawiane przez
klienta) oraz 20 do przesyłu danych (połączenie nawiązywane przez serwer),
w trybie pasywnym wykorzystuje port 21 do poleceń i port 1024 do transmisji
danych (obydwa połączenia zestawiane przez klienta).
W sieciach ukrytych za firewallem (FW) komunikacja z aktywnymi serwerami
FTP jest moŜliwa pod warunkiem, Ŝe odpowiednie porty na FW nie są zablokowane
ani uŜywane do innych celów. MoŜliwe jest uŜywanie wielu serwerów FTP za jednym
FW pod warunkiem wydzielenia portów dla kaŜdego serwera.
Serwer FTP moŜe pozwalać na dostęp bez podawania hasła (user:
'anonymous' lub własny adres e-mail). Nazwa uŜytkownika jest zwykle logowana w
historii działania serwera FTP razem z IP klienta.
Klient FTP - program komputerowy korzystający z protokołu FTP do łączenia się z
serwerem FTP w celu przesyłania plików. Najprostsze klienty FTP są dostarczane z
systemami operacyjnymi. Dzisiejsze przeglądarki takŜe internetowe mają
wbudowane funkcje klienta FTP.
Zarządzanie Serwerami Sieciowymi
‘vsftpd’ – co to takiego?
‘vsftpd’ ("Very Secure FTP Daemon") to serwer FTP dla systemów UNIX i
GNU/Linux (udostępniany na zasadach licencji GPL). Uchodzi za prawdopodobnie
najbezpieczniejszy i najszybszy serwer FTP w swojej kategorii.
Właściwości ‘vsftpd’ (wg autorytatywnych wypowiedzi jego twórców oraz
opinii licznych uŜytkowników):
Wirtualne konfiguracje IP,
Wirtualni uŜytkownicy,
Konfiguracja samodzielna (‘standalone’) lub wywoływana przez daemon’a
‘inetd’,
Bogata konfiguracja w odniesieniu do poszczególnych uŜytkowników,
MoŜliwość limitowania pasma przydzielanego poszczególnym uŜytkownikom,
Dedykowane konfiguracje dla poszczególnych IP,
Osobne limity transferu dla poszczególnych IP,
Implementacja protokołu IPv6,
Szyfrowanie całej sesji z zastosowaniem zintegrowanego protokołu SSL.
Więcej informacji na ten temat: http://vsftpd.beasts.org/
Zarządzanie Serwerami Sieciowymi
Instalacja serwera ‘vsftpd’
•
Instalacja pakietu ‘vsftpd’:
aptitude install vsftpd
•
Alternatywne (i zalecane)
rozwiązanie, to uŜycie
„MenedŜera instalacji i
aktualizacji aplikacji” czyli
‘Synaptic’ ->
•
Prekonfigurowany skrypt servera
‘vsftpd’ zaczyna działać w
systemie zaraz po instalacji.
•
Przy kaŜdej zmianie konfiguracji
‘vsftpd’ (przy aktywnym działaniu
serwera FTP) uŜywamy polecenia:
/etc/init.d/vsftpd reload
•
Zastosowanie parametru
‘reload’ do restartu nie ingeruje
w istniejące połączenia.
Zarządzanie Serwerami Sieciowymi
Konfiguracja serwera ‘vsftpd’ (1)
Oprogramowanie ‘vsftpd’ moŜe uruchamiać się w dwóch trybach:
Normal mode – vsftpd jest wywoływany przez demon ‘xinetd’ – oprogramowanie, za
pomocą którego uruchamiane jest wiele procesów tak jakby grupuje uruchomiane
procesy pod swoją nazwą zarządzając nimi. Demon ‘xinetd’ będzie przywoływał vsftpd za
kaŜdym razem kiedy klient będzie próbował się łączyć. Jest to domyślny tryb.
Stand-alone – w tym trybie vsftpd uruchamia się jako demon bezpośrednio utrzymując
połączenia klientów. Działając w tym trybie moŜemy uŜywać skryptu inicjacyjnego:
/etc/init.d/vasftpd start |stop | reload | restart
Tryb uruchamiania vsftpd deklarujemy w pliku konfiguracyjnym:
/etc/vsftpd.conf ustawiając parametr: Listen=Yes
FTP wykorzystuje dwa połączenia. Pierwsze to połączenie kontrolne ustanawiane
przez usera w chwili połączenia z serwerem (port 20). Drugie do transferu
danych - Server ftp ustanawia je jeśli uŜytkownik o to zapyta (port 21).
Zarządzanie Serwerami Sieciowymi
Konfiguracja serwera ‘vsftpd’ (2)
Po instalacji zostaje stworzony katalog /home/ftp. Jeśli logujemy się jako
‘anonymous’, to zostaniemy połączeni właśnie z tym katalogiem. Podstawowa
konfiguracja zezwala jedynie na zalogowanie się i oglądanie zasobów katalogu
/home/ftp.
Sprawdzamy domyślną konfigurację poprzez zalogowanie się na konto
‘anonymous’ za pomocą dowolnego klienta FTP lub wpisując z linii komend:
ftp localhost
Próbujemy sprawdzić, czy mamy prawa do zapisu i edycji plików w katalogu:
/home/ftp
Jeśli mamy problemy z dostępem do katalogu /home/ftp, sprawdzamy czy jego
uprawnienia są ustawione na ‘755’ i czy ich uŜytkownikiem jest ‘root’ (lub
ekwiwalentny uŜytkownik) za pomocą komendy:
ls –ld /home/ftp
Kolejny katalog np.: /home/ftp/upload moŜe mieć jako właściciela konkretnego
uŜytkownika serwera FTP.
Zarządzanie Serwerami Sieciowymi
Konfiguracja serwera ‘vsftpd’ (3)
Plik konfiguracyjny znajduje się w kat.: /etc/vsftpd.conf. Dla porządku warto
stworzyć dedykowany folder: /etc/vsftpd, w którym będą przechowywane pliki
konfiguracyjne, odnoszące się do głównego pliku konfiguracyjnego: vsftpd.conf.
Struktura głównego pliku konfiguracyjnego:
listen=YES # działanie w trybie standalone
background=YES #jeśli opcja listen=YES, to działanie w tle
listen_port=21 #port, na którym nasłuchuje ftp
banner_file=/etc/vsftpd/vsftpd.banner #deklaracja pliku z bannerem powitalnym
max_clients=100 #maksymalna liczba połączonych uŜytkowników; 0 oznacza
nielimitowany dostęp
max_per_ip=2 #maksymalna liczba połączonych osób z tego samego adresu IP
userlist_enable=YES #deklaracja listy dostępu uŜytkowników; jeśli parametr jest na
YES to rozpoczyna rozpatrywanie parametru userlist_deny
userlist_deny=YES #parametr jeśli jest na YES, to zabrania się dostępu
uŜytkownikom zadeklarowanym w liście vsftpd.users
userlist_file=/etc/vsftpd/vsftpd.users #deklaracja listy uŜytkowników
local_enable=YES #umoŜliwienie logowanie lokalnemu uŜytkownikowi
anonymous_enable=YES #zezwolenie na logowanie się jako ‘anonymous’
no_anon_password=YES #brak pytania o hasło dla 'anonymous’
anon_mkdir_write_enable=YES #pozwolenie na tworzenie katalogów przez ‘anonymous’
anon_upload_enable=YES #zezwolenie na upload plików przez ‘anonymous’ do katalogu
/home/ftp
Zarządzanie Serwerami Sieciowymi
Konfiguracja serwera ‘vsftpd’ (4)
Domyślnie uŜytkownik ‘anonymous’ jest schroot’owany po instalacji servera vsftpd
– inaczej niŜ lokalni uŜytkownicy,
Wszyscy nowo dodani uŜytkownicy vsftpd są domyślnie chroot’owani i nie będą
mogli wychodzić poza własne katalogi domowe.
chroot_local_user=YES #chrootowanie lokalnego usera
chroot_list_enable=YES #ścieŜka do listy pozostałych chroot’owanych uŜytkowników:
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
write_enable=YES #pozwolenie na do uploadowania plików przez lokalnego usera
local_umask=022 #maska 022 pozwala na ściąganie zasobów stworzonych przez innych
userów
ftp_username=ftp #nazwa dla uŜytkownika ‘anonymous’
accept_timeout=30 #parametry połączenia
dual_log_enable=YES
log_ftp_protocol=YES
pam_service_name=vsftpd #parametry szyfrowania
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
xferlog_enable=YES #logowanie
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
Aby połączyć się z serwerem ftp w konsoli poleceń wpisujemy:
ftp adres_servera_ftp
Oprogramowanie serwera vsftpd uruchamia się przy starcie systemu.
Samba jako serwer plików w
otoczeniu sieciowym Windows
Charakterystyka ogólna
cechy funkcjonalne
zakres stosowalności
Zadania:
Instalacja serwera Samba
Udostępnianie zasobów systemom Windows
Samba
Cechy funkcjonalne i zakres stosowalności (1)
Oprogramowanie dla serwera plików i drukarek, współpracujące takŜe z
platformą Windows.
Przeznaczone dla platformy Linux/Unix i rozpowszechniane na licencji
GNU.
Protokół transmisji wykorzystywany przez Sambę i systemy Microsoftu
to SMB (ang. Server Message Block).
Jako protokół transportowy niŜszej warstwy uŜywany jest TCP/IP (w
Windows protokołem transportowym moŜe być równieŜ NetBEUI i IPX,
ale w nowszych wersjach TCP/IP jest domyślną opcją).
Pozwala na tworzenie heterogenicznego (mieszanego) środowiska, w
którym nie tylko w ramach jednej sieci lokalnej mogą działać obok
siebie komputery z systemem operacyjnym Unix i Linux oraz Windows,
ale takŜe mogą wzajemnie korzystać ze swoich zasobów – plików i
drukarek.
Samba
Cechy funkcjonalne i zakres stosowalności (2)
Serwer Samby moŜe udostępniać systemom Windows drukarkę
LINUX’ową lub systemom UNIX dawać dostęp do plików środowiska
Windows NT / Server. Serwer Samby moŜe być wykorzystany takŜe
jako darmowy odpowiednik serwera Windows NT / Windows Server.
Samba jest dziełem Andrew Tridgella, który obecnie kieruje grupą
programistów Samby ze swojego domu w Canberrze w Australii.
Projekt ruszył w 1991 roku, kiedy na potrzeby swojej lokalnej sieci
Tridgell napisał program serwera plików, który obsługiwał protokół DEC
firmy Digital Pathworks. Choć wówczas nie był tego świadom, protokół
ten okazał się później protokołem SMB.
Po kilku latach Tridgell rozwinął swój serwer SMB i zaczął
dystrybuować go w Internecie pod nazwą SMB Server. Nazwę tę
trzeba było zmienić – nosił ją produkt innej firmy. I tak właśnie
powstała 'Samba' :).
Samba
Cechy funkcjonalne i zakres stosowalności (3)
Po nawiązaniu połączenia SMB dostarcza czterech podstawowych typów
funkcji:
Obsługi sesji – negocjowanie i nawiązywanie połączeń sieciowych
między systemami oraz uwierzytelniania i weryfikowania uprawnień
dostępu do usług dla kaŜdej ze stron
Obsługi plików – otwieranie, odczyt i zapis zdalnych plików oraz
współdzielonych katalogów
Drukowania – aplikacje przesyłają Ŝądania wydruków do zdalnych
urządzeń
Wymiany komunikatów – aplikacje przesyłają komunikaty o
charakterze kontrolnym, statusowym lub informacyjnym.
Samba zawiera zarówno oprogramowanie klienckie jak i serwerowe.
W nowszych wersjach systemów Windows wprowadzono udoskonalony
protokół SMB o nazwie CIFS (ang. Common Internet File System).
CIFS został przyjęty jako standard, który rozszerza moŜliwości SMB o
wymianę zasobów z uŜyciem HTTP (URL) czy DNS.
Więcej inf. ogólnych: http://pl.wikipedia.org/wiki/Samba_(program).
Samba
Instalacja serwera 'Samba'
Instalujemy pakiety:
aptitude install samba samba-common smbaclient system-config-samba
gdzie:
Serwer SAMBA składa się z dwóch deamonów:
smbd – obsługuję udostępnianie plików i usług drukowania dla klientów Windows,
nmbd – odwzorowuje nazwy systemu Windows na adresy IP uŜywane przez systemy
Linux.
Pliki konfiguracyjne znajdują się w folderze: /etc/samba/smb.conf. Sambę
moŜna skonfigurować na trzy sposoby:
system-config-samba – prosty program do współdzielenia zasobów i dodawania
userów,
samba – oprogramowanie serwera samba,
samba-common – zbiór oprogramowania pomocniczego,
smbclient – klient serwera samby.
ręcznie – modyfikując plik konfiguracyjny smb.conf (preferowane),
korzystając z pakietu SWAT (pakiet ten działa jedynie z pakietem ‘xinetd’, który musi
być zainstalowany) i konfigurując plik smb.conf poprzez www. W przeglądarce
wpisujemy: http://localhost:901 (do tego wymagane są paczki ‘swat’ i ‘xinetd’),
Z uŜyciem graficznego oprogramowania system-config-samba lub gadmin-samba.
Po kaŜdej ręcznej zmianie w pliku smb.conf restartujemy Sambę poleceniem:
sudo /etc/init.d/samba restart
Samba
Konfiguracja serwera 'Samba' (1)
Plik konfiguracyjny moŜe być podzielony na wiele sekcji identyfikowanych nazwami w
nawiasach kwadratowych. Są to między innymi: [global], [home], [printers],
[nasz_katalog].
Sekcja [global] zawiera całościowe informacje konfiguracyjne jak ustawienie sieci,
uwierzytelnianie, drukarki (przykład poniŜej):
netbios name = TWOJA_NAZWA
server string =NAZWA_SERWERA_WYSWIETLANA_W_OTOCZENIU_WINDOWS
workgroup = TWOJA_GRUPA_ROBOCZA_SIECI
security = share
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
name resolve order = lmhosts host wins bcast
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
hosts allow = 127.0.0.1 192.168.0.0/24
max connections = 10
username map = /etc/samba/smbusers
printcap name =/etc/printcap
load printers = yes
printing =lprn
log file = /var/log/samba/samba.log
max log size = 1000
Samba
Konfiguracja serwera 'Samba' (2)
security - definiuje typ zabezpieczeń uŜytkownika (hasło i nazwa - domyślnie z pliku /etc/passwd)
encrypt passwords - wprowadza szyfrowanie haseł
smb passwd file - połoŜenie pliku ‘smbpasswd’ zawierającego zaszyfrowane hasła do Samby
name resolve order - określa kolejność rozwiązywania nazw:
lmhost – lokalna konfiguracja,
host – sprawdzanie pliku ‘/etc/host’,
wins – sprawdzanie bazy WINS bądź DNS (zaleŜnie od konfiguracji),
bcast – wysyła Ŝądania na adres rozgłoszeniowy.
socket options - słuŜy do dostrajania wydajności (opcja), w przykładzie ustala bufory TX/RX na 8 KB
hosts allow - lista komputerów (adresy IP lub nazwy) z informacją o dostępie do usługi
max connections - limit liczby maksymalnych połączeń do zasobów
username map - mapowanie uŜytkowników Windows-Linux (stosowany w starszych implementacjach)
printcap name - identyfikuje plik z nazwami drukarek, które mogą być współdzielone
load printers - określa czy drukarki wymienione w pliku ‘/etc/printcap’ mogą być udostępnione
printing - określa system wydruku uŜywany przez serwer
log file - definiuje połoŜenie pliku dziennika
max log size - maksymalny rozmiar pliku dziennika w kilobajtach. Po przekroczeniu tej wartości
‘smbd’ zamyka dziennik i nadaje rozszerzenie ‘.old’
Samba
Konfiguracja serwera 'Samba' (3)
Sekcja [home] - specjalny udział serwera samby pozwalający na zdalne logowanie do zasobów
danego uŜytkownika po uprzednim uwierzytelnieniu (do zasobu ma prawa tylko i wyłącznie
zalogowany uŜytkownik). Zawartość tej sekcji nie jest widoczna w otoczeniu sieciowym – w celu
dostania się do katalogu domowego trzeba posiadać konto do serwera Samby. Jeśli konto
uŜytkownika było dodane wcześniej niŜ serwer samby został zainstalowany to wykonujemy:
sudo smbpasswd –a nazwa_usera
// -a – add
SMB password – hasło naleŜy do konta samby i zostało zapisane w pliku
/etc/samba/smbpasswd
a następnie zmapować uŜytkownika linuxowego oraz windowsowego (wyłącznie w przypadku, gdy
nazwa konta windowsowego róŜni się od nazwy konta na Linuksie). W pliku:
/etc/samba/smbusers
dodajemy wpisy:
uŜytkownik_linux = uŜytkownik_windows
MoŜna dopisać kilku ‘windows_user’ do pojedynczej nazwy ‘linux_user’ np.:
linux_user=windows1_user windows2_user
win3_user
Jeśli uŜytkownik nie posiada konta w systemie Linux, dodajemy go tak samo, jak do systemu np.
uŜywając narzędzia:
users-admin (System → Administracja → UŜytkownicy i grupy)
a następnie nadajemy mu hasło do Samby:
smbpasswd
nazwa_usera
Samba
Konfiguracja serwera 'Samba' (4)
Za udostępnianie drukarek odpowiadają sekcje [printers] i [print$]
Sekcja [printers] – określa sposób, w który Samba ma obsługiwać Ŝądania
identyfikacji drukarek oraz Ŝądań wydruku od klientów Windows
Sekcja[printer$] - definiuje zasób systemu Windows, który słuŜy do
udostępniania sterowników drukarek klientom systemu Windows
[printers]
Comment = drukarki
Browseable = no
Path = /tmp
//katalog buforujący wydruk
Printable = yes
Public = no
[printer$]
//udostępnia sterowniki klientom windows
Comment = sterowniki
Path = /var/lib/samba/printers
Browseable = yes
Read Only = yes
Samba
Konfiguracja serwera 'Samba' (5)
Współdzielenie katalogów wymaga utworzenia sekcji w katalogu konfiguracyjnym
‘smb.conf’ (w przykładzie udostępniamy folder ‘/home/host1’)
[host1]
Comment = dokumentacja
path = /home/host1
browseable =YES
public = YES
create mask = 0775
directory mask = 0775
Browseable - widoczność udziału na liście przeglądania
Public - dostęp publiczny
create mask - Określa z jakimi prawami są tworzone pliki
directory mask - Określa z jakimi prawami są tworzone katalogi
Aby dodać udostępniony folder moŜemy:
Skorzystać z programów (przez ‘sudo’) ‘shares-admin’ lub ‘system-config-samba’,
Dodać ręcznie wpisy - korzystając z opcji: klikamy prawy przycisk myszy na folderze, który
chcemy udostępnić i wybieramy opcję współdzielenia (folder powinien pojawić się
automatycznie w otoczeniu sieciowym Windows).
Kryptografia symetryczna i asymetryczna,
certyfikaty, podpis elektroniczny.
Infrastruktura klucza publicznego PKI
Kryptografia symetryczna – wady i
zalety
Kryptografia asymetryczna,
certyfikaty, podpis elektroniczny
Infrastruktura i zastosowania PKI
Kryptografia, PKI
Kryptografia symetryczna – wady i zalety (1)
Kryptografia symetryczna jest odmianą szyfrowania, w której
informacja wejściowa (jawna) ulega przekształceniu na
zaszyfrowaną za pomocą takiego samego klucza, który zostanie
uŜyty do odszyfrowania.
Bezpieczeństwo tej koncepcji szyfrowania zaleŜy przede
wszystkim od:
długości klucza N, przekładającej się zwykle wprost na ilość
dostępnych róŜnych kluczy M w postępie wykładniczym:
M=2^N
odporności na ataki typu ‘brute force’, oparte o systematyczne próby
zastosowania kolejnych dostępnych kluczy. Jest ona oczywiście tym
większa, im większa jest liczba dostępnych kluczy M oraz bardziej
czasochłonne procedury szyfrowania i deszyfracji,
odporności na inne rodzaje ataków (np. metody słownikowe, oparte
zwykle o tzw. ‘rainbow tables’).
Kryptografia, PKI
Kryptografia symetryczna – wady i zalety (2)
Tradycyjnie stosowane szyfry (np.. historyczny juŜ ‘szyfr
Cezara’) mają charakter symetryczny. Wynika to z faktu, Ŝe
szyfrowanie asymetryczne, wynalezione i wdroŜone w II poł.
XXw., wymaga zastosowania złoŜonego aparatu matematycznego
i znacznej mocy obliczeniowej komputerów.
Szyfry symetryczne dzielą się na szyfry:
blokowe – operujące na blokach danych o stałej, z góry zdefiniowanej
długości, zwykle będącej całkowitą wielokrotnością jednego bajtu
(k*8b),
strumieniowe, przetwarzające szyfrowany ciąg danych wejściowych w
sposób ciągły (bez dzielenia na bloki danych).
Druga z tych metod szyfrowania jest trudniejsza do
rozszyfrowania z uwagi na brak moŜliwości prostej ekstrakcji
wyróŜnionych bloków danych.
Do popularnych szyfrów symetrycznych naleŜą m.in.: AES,
Blowfish, DES i jego odmiany 3DES, DESX oraz IDEA. Wszystkie
one są wciąŜ z powodzeniem współcześnie stosowane.
Kryptografia, PKI
Kryptografia symetryczna – wady i zalety (3)
Do głównych zalet kryptografii symetrycznej naleŜą:
względna prostota implementacji (deszyfracja jest prostą odwrotnością
szyfrowania),
proste zarządzanie kluczami (obie strony wykorzystują ten sam klucz).
Przykład:
proste szyfrowanie ciągów binarnych za pomocą sumowania modulo 2 (operacja
XOR) z wybranym kluczem binarnym (tu: 11001010):
Dane wejściowe: 11100010 10001010 00101101 …
Ciąg kluczy:
11001010 11001010 11001010 …
Zaszyfrowane:
00101000 01000000 11100111 …
Odszyfrowane:
11100010 10001010 00101101 …
Zdecydowane wady szyfrowania symetrycznego wynikają wprost z jego
zalet (w zaleŜności od warunków zastosowania):
prostota implementacji – ułatwia złamanie szyfru,
obie strony wykorzystują ten sam klucz – prawdopodobieństwo jego utraty
rośnie dwukrotnie,
dodatkowo, wejście w posiadanie jednego jedynego klucza umoŜliwia zarówno
odczytywanie cudzych komunikatów jak i fałszowanie nowych wiadomości
(podszywanie się). Tych wad nie posiada szyfrowanie asymetryczne!!!
Kryptografia, PKI
Kryptografia asymetryczna, certyfikaty, podpis elektroniczny (1)
Kryptografia, PKI
Infrastruktura i zastosowania PKI (1)

Podobne dokumenty