sysop uprawnienia


Instytut Informatyki Politechniki Łódzkiej w Łodzi mgr inż. Bartosz Lis Wykład nt. Podstawy systemów operacyjnych dla potrzeb Studium Podyplomowego "Inżynierskie Zastosowania Informatyki" Poprzedni | Spis treści | Następny Rozdział 5: Zagadnienia bezpieczeństwa W języku angielskim wyróżnia się dwa terminy, którym odpowiada jedno polskie określenie - bezpieczeństwo: safety - bezpieczeństwo użytkownika (i jego danych) przed niezgodnym ze specyfikacją (awaryjnym) działaniem systemu i security - bezpieczeństwo systemu przez destrukcyjnymi działaniami użytkownika. Są to dwie strony tego samego medalu. System nie będący bezpiecznym w jednym z powyższych znaczeń, przestaje być bezpieczny w drugim. Autentykacja na przykładzie haseł wielokrotnych Autentykacja jest to proces, w którym komunikujący się partnerzy potwierdzają swoją tożsamość. Najczęściej autentykacja ogranicza się jedynie do potwierdzenia tożsamości użytkownika. Zakłada się tutaj, że użytkownik pracuje w otoczeniu zaufanych komputerów. Jednak zdarzają się przypadki podszywania się "wrogich" komputerów pod "przyjazne" serwery, aby np. przechwycić hasła nieświadomych użytkowników. Wskazanie sposobów rozwiązania tego problemu znajduje się w punkcie poświęconym kryptografii. Tutaj omówiony będzie najprostszy przypadek, gdy komputery sieci lokalnej są dostatecznie dobrze chronione przed podszywaniem by każdy użytkownik mógł ufać, że każdy komputer jest tym za którego się podaje. Użytkownik przystępując do pracy (lub łącząc się z kolejnym komputerem), proszony jest to podanie identyfikatora (konta lub profilu). Identyfikator jest jawny. Pozwala on innym użytkownikom i oprogramowaniu powoływać się na danego użytkownika. Identyfikator ten jest ciągiem znaków, najczęściej małych liter. Zaleca się, aby miał jakiś związek z imieniem, nazwiskiem lub wydziałem, w którym pracuje użytkownik. Teraz użytkownik musi potwierdzić swoje prawo do posługiwania się identyfikatorem. Najczęściej proszony jest o podanie znanego tylko jemu hasła. Hasło nie pojawia się na ekranie. Oczywiście, istnieją inne bardziej wyrafinowane sposoby potwierdzania tożsamości użytkownika oparte o biometrię, karty magnetyczne lub procesorowe, czy hasła jednorazowe, ale ich omówienie wykracza poza ramy tego wykładu. Zaletą haseł wielokrotnych jest "prostota obsługi" i brak konieczności instalowania specjalizowanego sprzętu. Wady są rozliczne: Użytkownicy wybierają hasła, które łatwo jest odgadnąć. Bywa, że hasło jest zapisane w dostępnym dla postronnych miejscu, lub jest gubione. Hasła są przechowywane w niektórych komputerach, lub przesyłane siecią w postaci jawnej (niezaszyfrowanej), co pozwala na ich przechwytywanie. Użytkownicy posługują się tymi samymi hasłami w odniesieniu do kont na różnych komputerach. Nieuczciwy administrator, lub włamywacz, przeglądając pliki z hasłami na jednym komputerze wchodzi w posiadanie haseł na innych komputerach. Wad tych nie można w całości wyeliminować, ale można zrobić wiele aby je zmniejszyć: Aby utrudnić odgadnięcie hasła: W żadnym wypadku nie należy ustawiać sobie jako hasła, słowa, które łatwo jest skojarzyć z własną osobą, tj: nazwy konta, imienia, nazwiska (własnego, członka rodziny, znajomego lub zwierzęcia domowego), numeru telefonu, rejestracji samochodu, adresu, daty urodzin itp. Hasło powinno mieć przynajmniej 6 znaków, czym dłuższe tym lepsze. Niektórzy włamywacze próbują różnych haseł pochodzących ze specjalnie sporządzonych słowników zawierających popularne słowa z danego języka, nazwy geograficzne, słownictwo fachowe, imiona bohaterów powieści, filmów itp. Jeśli zatem stosuje się hasło, które jest popularnym słowem, należy wpleść w nie cyfrę lub znak nieliterowy, lub jeśli pozwala na to oprogramowanie, część znaków wpisać dużymi, a część małymi literami. Dobre hasła uzyskuje się biorąc pierwsze litery z wybranego zdania. Przez pewien czas zalecano by haseł nie zapisywać, lecz pamiętać je. Obecnie zaleca się zapisywanie haseł, ale przechowywać należy je w miejscach dla innych niedostępnych, np. w portfelu. Dobrze jest też zamaskować hasło wplatając je w inne napisy. Należy unikać łączenia się przez niepewne sieci z usługami wymagającymi haseł. Np. z domu przez publiczny modem telekomunikacji i dalej przez Internet do pracy (należy dzwonić bezpośrednio na firmowy modem, jeśli takowy jest). Jeśli tylko można, należy skorzystać z oprogramowania kryptograficznego. Dobrze jest posiadać inne hasło do każdego z kont. Czasem jest to uciążliwe, dlatego można ograniczyć się do posiadania jednego hasła do komputerów w pracy i drugiego do usług w Internecie. W żadnym razie nie należy zakładać sobie takiego samego hasła w jakiejkolwiek usłudze internetowej, jakie ma się w pracy. Autoryzaja czyli o uprawnieniach Autoryzacja, oznacza udzielanie dostępu danemu użytkownikowi (reprezentowanemu przez zautentykowany identyfikator) do tych zasobów, które są dla niego przeznaczone. W tym celu system operacyjny danego komputera utrzymuje bazę danych zawierającą informacje o tym które zasoby (pliki, katalogi, urządzenia itp.) mogą być udostępniane poszczególnym użytkownikom i na jakich prawach. Baza ta zawiera następujące informacje: Obiekty podlegające ochronie. Najczęściej są to pliki i katalogi, w ogólności są to zasoby danego komputera. Podmioty uzyskujące prawa dostępu. Podmiotami tymi są użytkownicy. Aby ułatwić zarządzanie prawami dużych zbiorowości użytkownków wprowadza się grupy użytkowników, które są również podmiotami uzyskującymi uprawnienia. Użytkownicy są przypisywani do grup. Dany użytkownik może należeć do wielu grup. Przez fakt przynależności do danej grupy użytkownik zyskuje lub traci takie uprawnienia jakie zostały przypisane grupie. Uprawnienia. We wszystkich systemach operacyjnych powtarzają się prawa do zapisu i odczytu plików. Wiele systemów rozszerzaja te podstawowe uprawnienia o prawo do uruchamiania programów, prawo do kasowania lub tworzenia plików w katalogu, prawo do powoływania się na katalogi itp. Na poziomie systemu operacyjnego wyróżnić można kilka klas systemów autoryzacji, dokładną klasyfikację daje "Pomarańczowa księga" Ministerstwa Obrony USA, na potrzeby tego opracowania ograniczę się do krótkiej listy: Brak autoryzacji. Takie systemy nadają się dla pojedyńczego użytkownika, lub tam gdzie autoryzacja nie jest wymagana. Np. MS DOS. Profile użytkownika. Komputer rozpoznaje użytkowników, każdemu daje spersonalizowane środowisko pracy, jednak nie zabezpiecza danych jednego użytkownika przed innym użytkownikiem. W praktyce takie systemy są więc równoważne poprzedniej klasie. Nadają się dla niewielkiej grupy zaufanych użytkowników. Np. MS Windows 9x. Wspólne hasła. System nie wyróżnia użytkowników, wyróżnia natomiast zasoby mające przypisane hasła. Każdy użytkownik, który poda hasło do zasobu, otrzymuje do niego dostęp. Utrzymanie bezpieczeństwa takich systemów jest możliwe tylko w niewielkich grupach zaufanych użytkowników. Np. Microsoft Networks w wersji peer-to-peer tj. bez serwerów Netware i NT. Klasyczne systemy wieloużytkownikowe. Wyróżniają użytkowników i grupy. Autentykacja użytkownika następuje w momencie rozpoczynania sesji pracy z systemem. Z każdym obiektem związana jest ograniczona liczba podmiotów jakie uzyskują do niego uprawnienia. Np. w standardowym uniksie każdy plik ma dokładnie jednego właściciela-użytkownika, któremu przypisane są pewne uprawnienia, dokładnie jednego właściciela-grupę mającą uprawnienia, oraz uprawnienia stosowane do pozostałych. Podobnie jest w VMSie. Wiele takich systemów jest zgodnych z klasą bezpieczeństwa C2 w sensie "Pomarańczowej księgi". W oparciu o takie systemy uprawnień działa spora część serwerów w internecie. Pewną wadą tego systemu jest to, że jedynie administrator ma swobodę nadawania uprawnień. Zwykły użytkownik ma ograniczone możliwości określania uprawnień dla innych podmiotów do swoich zasobów. Systemy z ACL (Access Control List - lista kontroli dostępu). Systemy te różnią się tym od klasycznych, że z każdym obiektem można związać dowolnie lub wystarczająco długą (np 32 elementową w Netware) listę podmiotów mających uprawnienia do danego zasobu. Użytkownik może bez pomocy administratora nadawać uprawnienia innym podmiotom do swoich zasobów (z oczywistym ograniczeniem, że nie może nadać większych niż sam ma). Do tej klasy należą takie systemy jak Novel Netware, Windows NT i niektóre uniksy np. Solaris. Są one wystarczające do większości zastosowań cywilnych. Systemy z określeniem klas poufności. Oprócz istnienia grup i ACL użytkownicy i zasoby komputera są przydzieleni do klas poufności. Żaden użytkownik nie może udzielić uprawnień do zasobów danej klasy poufności innemu użytkownkowi należącemu do klasy gorszej. Utrudnia to przypadkowe przecieki informacji tajnych i z tego powodu jest stosowane w instytucjach o podobnym do wojskowego sposobie zarządzania dostępem do informacji poufnych. Wiele aplikacji, w szczególności bazy danych ma własne mechanizmy autentykacji i autoryzacji, gdzie wyróżnia się przywileje przypisywane użytkownikom do wykonywania pewnych charakterystycznych dla tych aplikacji operacji (np. nie każdy może dokonać sprzedaży). Wiele serwerów sieciowych rozszerza podstawowe systemy uprawnień dostarczane przez system operacyjny, aby ograniczyć dostęp z zenątrz do charakterystycznych dla tych serwerów usług, np. serwer WWW Apache określa w których katalogach można umieszczać skrypty CGI, programy umieszczone poza tymi katalogami nie będą uruchamiane przez serwer. Oprócz uprawnień do pojedyńczych zasobów mogą istnieć w systemie tzw, kwoty (ang. quota) tj. ograniczenia ilości jednocześnie wykorzystywanych zasobów danej klasy. Kwoty zabezpieczają system przed wyczerpaniem zasobów przez zachłannych użytkowników. Np. kwota dyskowa określa jak duży obszar dysku może być jednocześnie zajęty przez pliki danego użytkownika. Kwoty mogą też dotyczyć procentu czasu pracy procesora na rzecz danego użytkownika w jednostce czasu, ilości uruchomionych procesów itp. W wielu systemach istnieją mechanizmy do ograniczania użytkownikowi dostępu do wydzielonych stanowisk lub określonych godzin pracy. Wśród użytkowników wyróżnia się administratorów i operatorów, czyli takich, do których zadań należy troska o poprawne działanie systemu. Mają w związku z tym znacznie szersze prawa. W rozbudowanych systemach można wyróżnić kilka klas administratorów: główny administrator (w uniksie zwany tradycyjnie root, w innych systemach admin, sysadmin itp.), ma maksymalne prawa do systemu operacyjnego, może w szczególności nadawać prawa innym, w związku z czym jego hasło nie powinno być jego prywatną tajemnicą, lecz tajmnicą firmy, operatorzy poszczególnych usług i aplikacji, przykładowo: operatorzy backupu - mają prawo nadzorować wykonanie kopii bezpieczeństwa systemu, administratorzy baz danych - odpowiadają za integralność bazy danych i poprawne działanie jej oprogramowania, webmasterzy odpowiedzialni za poprawną pracę serwisu WWW, operatorzy drukarek - odpowidają za poprawną pracę drukarek, mogą m.in. wstrymywać i usuwać z kolejek wyduku zadania innych użytkowników. Osobnym zagadnieniem są prawa głównego administratora. Można tu wyróżnić dwa podejścia: Administrator jest osobą, która doskonale zna system, która go zainstalowała na komputerze oraz ma pełne prawa zapisu i odczytu dysków i pamięci operacyjnej, więc nie ma sensu bronić użytkowników przed nieuczciwym administratorem, ponieważ może on wszystkie mechanizmy obejść lub wyłączyć. Takie podejście prezentuje większość uniksów. Włamywacz, który przejmie prawa administratora może nie zostawić śladów swej działalności. Twórcy systemu operacyjnego utajniają pewne informacje (m. in. projekt i kod źródłowy) dotyczące systemu operacyjnego, a w szczególności systemu plików, dzięki czemu administrator nie może wykonać z systemem wszystkiego w szczególności usunąć śladów swoich działań. Takie podejście zastosowano w Windows NT. (Np. jeśli administrator przejmie uprawnienia do jakiegoś pliku, to nie może się potem tego wyprzeć. Niestety tajemnice bywają wykradane jak to się stało z kodem źródłowym tego systemu i kwestią czasu jest pojawienie się oprogramowania usuwającego ślady działania administratora w wystarczająco popularnym systemie.) Audyt Audyt oznacza śledzenie działania systemu i poczynań użytkowników. Pozwala ustalić przyczyny awarii oraz momenty i sprawców naruszeń bezpieczeństwa. Użytkownicy komputerów powinni sobie zdawać sprawę, że ich prywatność jest w każdej chwili naruszana przez audyt. Jest to zło konieczne, z którego administratorzy nie zgodzą się zrezygnować. Dostęp do dzienników systemowych powinien być ściśle limitowany. Kopie bezpieczeństwa Awarii systemu kończących się utratą danych nigdy nie da się wykluczyć. Posiadanie starych wersji dokumentów, które przestały być użyteczne i zostały normalną drogą usunięte z systemu też może być niekiedy cenne. Niekiedy archiwizacja wymuszana jest osobnymi przepisami, np. bazy danych księgowości. Stąd jednym z zadań administratora jest rutynowe wykonywanie kopii bezpieczeństwa plików. Systemy operacyjne i oprogramowanie narzędziowe niezależnych producentów dostarcza mu niezbędnego wsparcia. Istnieją wyspecjalizowane firmy zajmujące się kompleksowo archiwizacją danych komputerowych i tworzeniem elektronicznych baz dokumentów papierowych. Narzędzia Do tworzenia kopii bezpieczeństwa służy specjalizowany sprzęt i oprogramowanie. Ze sprzętu należy wymienić przede wszystkim napędy i nośniki o dużej pojemności (rozmiary nośników podane są orintacyjnie): Do przeszłości odchodzą dyskietki, stosowane do archiwizacji drobnych plików. Przeciętne pojemności są rzędu 1MB. Obecnie popularność zdobywają nośniki magnetooptyczne. Dostępne technologie pozwalają zmieścić powyżej 100MB na jednym nośniku. W niedługiej przyszłości pojemności tych nośników mają wzrosnąć do rzędu 10GB i więcej. Nośniki te charakteryzują się dostępem swobodnym i możliwością wielokrotnego zapisu. Najpopularniejszymi nośnikami kopii zapasowych są streamery, będące kasetami z tśmą magnetyczną. Pojemności streamerów wahają się od 100MB do 30GB, zapewne będą jeszcze rosły. Kasety są wielokrotnie zapisywalne. Dostęp do nich jest sekwencyjny, co przy robieniu całościowych zrzutów nie ma znaczenia. Nośniki te są najmniej wrażliwe na awarie napędu w trakcie odczytu/zapisu. Dyski optyczne jednokrotnego zapisu. Niemożność wymazania raz zapisanych danych w tym zastosowaniu może być ich zaletą. Najbardziej rozpowszechnione są dyski CD-ROM o pojemności 650MB, powoli standaryzuje się technologia DVD o pojemności rzędu 10GB. Wadą tych nośników jest to, że w czasie procesu zapisu komputer musi dostarczać w odpowiednim tempie strumień danych, co powoduje, że w czasie zapisu komputer nie może wykonywać innych czynności. Niektórzy zalecają wybierać takie nośniki, by zmieścił się na nich w całości zrzut dysku bez robienia kompresji. Napędy backupujące można: wmontować na stałe po jednym do każdego komputera, przyłączać na czas robienia zrzutu przez magistralę SCSI lub w inny sposób, lub umieścić na wydzielonym komputerze, który będzie ściągał zrzuty z innych komputerów siecią. Wśród oprogramowania należy wyróżnić: programy dokonujące zrzutów i odtworzeń całości dysku bez kompresji: tar, cpio, dump/restore, backup/restore, programy kompresujące/dekompresujące: zip, gzip, pkzip, arj, lharc i in., narzędzia kryptograficzne, narzędzia do weryfikacji kopii bezpieczeństwa, złożone programy rozwiązujące problem kompleksowo, w tym pozwalające planować zakres zrzutów oraz ich automatyczne wykonanie np. sysadmsh w SCO Uniksie, Microsoft Backup i in. Do robienia kopii zapasowych należy wybierać narzędzia, które będą dostępne wiele lat po zrobieniu kopii. Torzenie kopii bezpieczeństwa Istnieją różne poziomy kopii bezpieczeństwa: zerowy - pełna kopia - obejmuje cały dysk lub drzewo katalogów, kopie różnicowe lub przyrostowe - obejmują tyko pliki, które zmieniły się od ostatniej kopii, może tu istnieć wiele poziomów (pierwszy, drugi, ...), dany poziom obejmuje te pliki, które zmieniły się od czasu ostatniej kopii poziomu niższego. System operacyjny wspiera tworzenie przyrostowych kopii bezpieczeństwa utrzymując informacje o datach modyfikacji plików lub flagi niezbędności archiwizacji. Przyjmuje się, że kopie poziomu zerowego powinno się robić nie rzadziej niż raz na kwartał a zaleca się raz na miesiąc. Kopie takie powinno się przechowywać przez czas nieokreślony, dobrze sprawdzają się tutaj streamery i CD-ROMy. Kopie wyższych poziomów powinno sporządzać się w połowie okresów wykonywania kopii poziomów niższych, należy je przechowywać przynajmniej przez dwukrotność okresu jej sporządzania. Po upływie czasu przechowywania kopii, nośnik można wykorzystać powtórnie. Dobrze sprawdzają się tutaj takie nośniki jak streamery i dyski magnetooptyczne. Nie wszystkie dane w komputerze są równie narażone na możliwośc utraty, można je podzielić pod tym wględem na kilka grup: Pliki tymczasowe. W zasadzie nie wymagają archiwizacji. Oprogramowanie systemowe i inne oprogramowanie niededykowane. W razie utraty można je powtórnie zainstalować z nośników instalacyjnych. Pod warunkiem zapewnienia ochrony nośnikom instalacyjnym nie wymagają archiwizacji. Dzienniki systemu (logi). Zawierają cenne informacje dla administratora, jednak ich utrata zazwyczaj nie uniemożliwia bieżącego działania systemu. Warto archiwizować. Konfiguracja oprogramowania. Często łatwa do odtworzenia, zwłaszcza, gdy została udokumentowana na papierze, jednak w złożonych programach odtworzenie może wymagać wielu godzin żmudnej pracy. Zaleca się archiwizować. Oprogramowanie dedykowane i jego konfiguracja. Powtórna instalacja oprogramowania dedykowanego, takiego jak programy bankowe, oprogramowanie linii technologicznej itp. może wymagać obecności przedstawicieli producenta a sam proces zazwyczaj jest długotrwały. Należy liczyć się z tym, że producent może nie dysponować plikami instalacyjnymi pewnych modułów oprogramowania, jeśli były robione dla potrzeb specyficznego klienta. Należy archiwizować. Dane przedsiębiorstwa, własna twórczość użytkownika itp. Są bezcenne. Bezwzględnie archiwizować. Do różnego stopnia wrażliwości i zmienności danych można dostosować częstość robienia kopii zapasowych. I tak, przyrostowe kopie firmowych danych można robić codziennie, a kopie oprogramowania raz na kwartał oraz po większych instalacjach lub uaktualnieniach. Proste narzędzia wymagają uwagi operatora przy tworzeniu kopii, złożone (np. sysadmsh dla SCO Uniksa) potrafią włączać kopiowanie automatycznie w środku nocy w/g przygotowanego wcześniej przez administratora planu. Po wykonaniu kopii bezpieczeństwa należy ją zweryfikować. Należy sprawdzać także kopie przechowywanez dłuższy czas w archiwum przez losowe odtwarzanie zawartych w nich plików. Kopie bezpieczeństwa, przynajmniej te poziomu zerowego należy robić w kilku egzemplażach, z których jeden powinien być przechowywany w miejscu możliwie odległym od tego, w którym pracują objęte kopią komputery. Kryptografia Techniki kryptograficzne pozwalają chronić poufność i autentyczność informacji. Poufność oznacza, że informacja może być poprawnie odczytana jedynie przez upoważnione osoby (lub programy). Autentyczność oznacza, że informacja może (mogła) być wygenerowana jedynie przez upoważnione osoby w sposób dający się później poprawnie odczytać. Nieco słabszą cechą jest integralność oznaczająca że informacja nie uległą zmianie w czasie przekazu, nie gwarantuje się natomiast autentyczności jej nadawcy. Kryptografia nie chroni przed nieupoważnioną modyfikacją danych (jest to zadanie autoryzacji) a jedynie pozwala odbiorcy wykryć i odrzucić nieautentyczne wiadomości (przez co może być wykorzystywana jako jeden z elementów algorytmów autoryzacji). Aby móc chronić informację wykonuje się na niej przekształcenie zwane szyfrowaniem. Operacja odwrotna zwana jest deszyfrowaniem. Wiadomość początkową nazywamy tekstem jawnym lub otwartym, po zaszyfrowaniu - tekstem zaszyfrowanym lub kryptogramem. Przekształcenie szyfrujące i deszyfrujące zależą od tzw. kluczy kryptograficznych. Podając niewłaściwy klucz przy deszyfrowaniu nie możemy poprawnie odszyfrować wiadomości. Nie znając klucza szyfrowania nie możemy zaszyfrować tekstu tworząc dający się potem poprawnie odszyfrować właściwym kluczem kryptogram. W zastosowaniach cywilnych należy stosować jedynie te przekształcenia szyfrujące, które nie pozwalają na systematyczne odgadywanie tekstu jawnego i klucza kryptograficznego osobom, które znają algorytm przekształcenia i dowolną ilość tekstu zaszyfrowanego. Zaleca się stosowanie szyfrów spełniających silniejszy warnek: nie powinno być możliwe systematyczne odgadywanie klucza przez osoby, które mogą wygenerować z dowolnego tekstu jawnego kryptogramy i znają algorytm przekształcenia. W żadnym razie bezpieczeństwo szyfru nie powinno się opierać na utajnieniu algorytmu. Wszystkie szyfry z wyjątkiem niemożliwego do zastosowania w praktyce szyfru z jednorazowym kluczem są teoretycznie przełamywalne, to znaczy, że w skończonym czasie można odgadnąć klucz (i w konsekwencji tekst jawny). W praktyce stosuje się zazwyczaj szyfry dla których czas potrzebny na przełamanie zależy w sposób wykładniczy od długości klucza. W przypadku wzrostu mocy obliczeniowych komputerów będących w ekonomicznym zasięgu potencjalnego przeciwnika należy wymienić klucze na dłuższe. Amerykańskie regulacje dotyczące eksportu broni zabraniają wywozu oprogramowania kryptograficznego posługującego się kluczami dłuższymi niż 40 bitowe. Beneficjentem tego ograniczenia miał być wywiad USA dysponujący superkomputerami, jednak obecnie szyfry takie można łamać na PCtach. Powszechnie uważa się, że ograniczenie to poważnie utrudnia powstawanie oprogramowania kryptograficznego dla potrzeb cywilnych i naraża na straty również gospodarkę USA. Wyróżnia się dwa systemy szyfrowania: Szyfrowanie z kluczem prywatnym (symetryczne, klasyczne). Szyfrowanie z kluczem publicznym (asymetryczne). Szyfrowanie symetryczne Zarówno do szyfrowania, jak i deszyfrowania wiadomości stosuje się ten sam klucz, lub też klucze można łatwo przekształcić jeden w drugi. W tym systemie nie da się rozdzielić ochrony poufności i autentyczności. Dla prowadzenia korespondencji między n podmiotami potrzeba razem n*(n-1)/2 kluczy (każdy podmiot potrzebuje innego klucza dla każdego ze swych n-1 partnerów - innymi słowy każda para potrzebuje osobnego klucza). Przykłady historyczne: szyfr Cezara, Tablica Vigenere'a i Enigma oraz obecnie powszechnie stosowane: DES i IDEA. Szyfrowanie asymetryczne Podstawy teoretyczne opracowano dopiero w latach '70 tego stulecia. Metody te opierają się na parze kluczy. Jeden z nich zwany jest kluczem publicznym, drugi - prywatnym. Wyznaczenie klucza publicznego na podstawie klucza prywatnego jest na ogół obliczeniowo łatwe. Wykonanie operacji w drugą stronę (wyznaczenie klucza prywatnego na podstawie publicznego) w rozsądnym czasie, przy odpowiedniej długości klucza może być poza zasięgiem technicznym. Jeśli jednego z kluczy użyto do szyfrowania to kryptogram daje się odszyfrować tylko drugim. I na odwrót, jeśli kryptogram daje się odszyfrować pierwszym, to do szyfrowania mógł być użyty tylko drugi. W tym systemie można chronić osobno poufność, osobno autentyczność lub obie te cechy na raz. Tekst zaszyfrowany kluczem publicznym może być poprawnie odszyfrowany tylko kluczem prywatnym znanym jednej konkretnej osobie. Tak chroni się poufność. Kryptogram dający się poprawnie odszyfrować kluczem publicznym mógł być sporządzony tylko przy użyciu klucza prywatnego będącego w dyspozycji tylko jednej konkretnej osoby. Tak zapewnia się autentyczność. Klucze publiczne można swobodnie rozpowszechniać bez obawy ujawnienia kluczy prywatnych. Do prowadzenia komunikacji między n podmiotami potrzeba razem n par kluczy (po parze kluczy prywatny/publiczny na podmiot). Każdy podmiot pamięta swój klucz prywatny i klucze publiczne swoich partnerów. Dzięki szyfrowaniu asymetrycznemu możliwe stało się sporządzanie podpisów (sygnatur) cyfrowych. Autor wiadomości sporządza jej skrót znanym algorytmem haszującym i szyfruje ten skrót swoim kluczem prywatnym. Każdy (kto zna klucz publiczny) może sporządzić skrót wiadomości oraz odszyfrować podpis i sprawdzić czy wynikowe ciągi znaków są identyczne. Jednocześnie, jeśli ktoś zmodyfikuje wiadomość, to nie będzie mógł doprowadzić do sytuacji, że będzie ona zgodna z dotychczasową sygnaturą, ani sporządzić sygnatury, która po odszyfrowaniu kluczem publicznym oryginalnego autora byłaby zgodna ze zmodyfikowaną wiadomością. Dokument opatrzony podpisem cyfrowym nazywamy certyfikatem cyfrowym. Opracowano pewnym mechanizmy pozwalające rozpowszechniać klucze publiczne przez podatne na atak media przy zapewnieniu autentyczności samych kluczy. Oznacza to, każdy podmiot ma możliwość sprawdzenia, czy klucze publiczne które posiada odpowiadają kluczom prywatnym jego partnerów i nie zostały mu podstawione przez przeciwnika. Odciski palaca kluczy (fingerprints). Są to krótkie ciągi znaków, będące skrótem całego (długiego) klucza, które można np. przedyktować przez telefon i w ten sposób potwierdzić autentyczność klucza przekazanego inną drogą. Certyfikaty kluczy. Jeżeli jeden z użytkowników, nazwijmy ją Alą, chce przekazać innemu użytkownikowi, nazwijmy go Bolkiem, swój klucz publiczny przez kanał, który nie gwarantuje autentyczności przekazu, może poprosić wspólnego znajomego, nazwijmy go Cześkiem o udzielenie certyfikatu jej kluczowi publicznemu. Sytuacja jest taka: Czesiek zna klucz publiczny Ali, Bolek zna klucz publiczny Cześka ale nie zna klucza Ali i chciałby go otrzymać w sposób nie budzący wątpliwości co do autentyczności tego klucza. Czesiek podpisuje klucz publiczny Ali swoim kluczem prywatnym i taki certyfikat wysyła do Ali. Ala może teraz wysłać go do Bolka. Bolek mając klucz publiczny Cześka, sprawdzi, że certyfikat został podpisany jego kluczem prywatnym. Z certyfikatu odczyta klucz publiczny i informację, że jest to klucz Ali. Nieprzyjazny im wszystkim Darek może na pewnym etapie przechwycić certyfikat i zmodyfikować go, jednakże Bolek odrzuci taki zmodyfikowany certyfikat, gdyż Darek nie będzie mógł sporządzić podpisu Cześka. Gdy Ala będzie chciała przekazać swój klucz publiczny Ewie nie będzie musiała po raz drugi prosić o pomoc Cześka, gdyż już ma jego certyfikat na swój klucz. Najsłabszym ogniwem jest tu wymiana kluczy publicznych z Cześkiem. Czesiek musi być zatem wystarczająco szeroko znanym i potężnym indywiduum by podszycie się pod niego było niemożliwe. Można sobie wyobrazić, że w roli Ali występuje bank emitent kart kredytowych, w roli Bolka i Ewy - sprzedawcy przyjmujący plastikowe pieniądze, a w roli Cześka - ogólnokrajowa instytucja certyfikacyjna, jaką może być konsorcjum dużych instytucji finansowych lub bank narodowy. W chwili pisania niniejszego opracowania, taki system w odniesieniu do powszechnego obrotu finansowego pozostawał w sferze wyobraźni. Przykłady: RSA (oparte na trudności rozkładu dużych liczb na czynniki pierwsze), szyfry oparte na problemie plecakowym, El-Gamal. Szyfry asymetryczne są najczęściej powolne, dlatego stosuje się techniki hybrydowe - przy pomocy szyfru asymetrycznego partnerzy uzgadniają klucz sesji służacy następnie do szyfrowania szybkim algorytmem symetrycznym. Klucze sesyjne są jednorazowego użytku. Funkcje jednokierunkowe W niektórych przypadkach do ochrony autentyczności lub poufności nie jest potrzebne lub wskazane szyfrowanie wiadomości (dające możliwość deszyfrowania). Stosuje się wówczas funkcje jednokierunkowe. Funkcja jednokierunkowa jest to takie przekształcenie, które daje się obliczać szybko w jedną stronę, ale dla którego wyznaczenie przekształcenia odwrotnego jest bardzo złożone obliczeniowo. Zmiana pojedyńczego bitu argumentu powoduje zmiany wielu bitów wyniku według złożonego schematu. Odgadywanie argumentu dla którego fukcjia przyjmuje zadaną wartość najczęściej polega na przeszukaniu całej dziedziny argumentów funcji. Funkcje jednokierunkowe służą m.in. do przechowywania haseł, oraz do tworzenia streszczeń wiadomości dla potwierdzania ich integralności i autentyczności (patrz wcześniej - podpisy cyfrowe). Inne zagadnienia Inne zagadnienia mające wpływ na bezpieczeństwo komputerów to między innymi pielęgnacja, konserwacja i właściwe przechowywanie sprzętu i oprogramowania, dobór wykwalifikowanego i odpowiedzialnego personelu, szkolenia oraz tworzenie polityki bezpieczeństwa systemu informatycznego. Poprzedni | Spis treści | Następny Wszelkie uwagi i komentarze: bartoszl@stud.ics.p.lodz.pl

Wyszukiwarka