PROCESY BEZPIECZEŃSTWA W SIECI I KOMPUTERACH

Teraz, gdy omówiliśmy zasady szyfrowania cyfrowego, możemy przyjrzeć się jednemu lub dwóm standardowym procesom, które wykorzystują je jako sposób świadczenia usług bezpieczeństwa w sieciach komputerowych. Środki bezpieczeństwa muszą uwzględniać fakt, że ataki mogą być przeprowadzane na różnych poziomach w sieciowym systemie komputerowym. Problem z zapewnieniem bezpieczeństwa w aplikacji polega na tym, że utrudnia to zapewnienie, że żadne pułapki na niższych poziomach nie zostały otwarte, a także nakłada odpowiedzialność za bezpieczeństwo na każdego dewelopera aplikacji, co może być nieefektywne, prawdopodobnie niepewne. Zaczynamy na poziomie pakietu.

KRYPTOGRAFICZNE FUNKCJE HASH I PODPISY CYFROWE

Część lub nawet cały tekst dokumentu jest przekazywany do urządzenia  kryptograficznego , generatora skrótu, który jest zagruntowany tajnym kluczem. To urządzenie następnie pobiera podany tekst i konwertuje go na wartość skrótu, która jest zaszyfrowanym podsumowaniem dokumentu. Algorytm używany do haszowania dokumentu został zaprojektowany tak, aby w większości przypadków zmiana oryginału powodowała zmianę funkcji haszującej. Możemy to zrobić na wiele sposobów. Jednym prostym podejściem może być policzenie całkowitej liczby znaków w dokumencie, zaszyfrowanie tej wartości w jakiś sposób i użycie tej zaszyfrowanej wartości jako funkcji skrótu. Większość zmian w dokumencie spowodowałaby różnicę między oryginalną funkcją skrótu a funkcją skrótu obliczoną dla nowego dokumentu. Oczywiście jest to strasznie niepewny przykład; gdyby ktoś dowiedział się, że używasz tego algorytmu mieszającego, może łatwo wygenerować zmiany w dokumencie, które go oszukają. Praktyczne algorytmy haszujące muszą spełniać szereg bardziej rygorystycznych warunków. Niech tekst, który chcemy haszować, będzie x. Niech operacja haszowania będzie h, a wynikiem haszowania x będzie h (x). Zatem dobra funkcja skrótu, h, to taka, która ma następujące właściwości:

1 Obliczalność: powinno być możliwe obliczenie h (x).

2 Opór jednokierunkowy: przy danej wartości skrótu y, generalnie nie można znaleźć wartości x takiej, że h (x) = y.

3 Słaba odporność na zderzenia: przy danych x i h (x) nie można znaleźć x *, gdzie x * nie jest równe x, takie że h (x *) = h (x).

4 Silna odporność na kolizje: niemożliwe jest znalezienie różnych danych wejściowych x i x *, gdzie h (x *) = h (x).

5 Kompresja: niezależnie od długości x, h (x) powinno mieć stałą długość, n.

Warunki 1–4 sugerują, że funkcja skrótu jest jednokierunkowa, ponieważ łatwiej jest ją utworzyć niż wrócić do oryginalnego tekstu. (Zwróć uwagę na podobieństwo do systemów klucza publicznego.) Warunki sugerują również, że funkcja skrótu ma tendencję do utrzymywania „dobrej separacji” między różnymi tekstami: chociaż ogólnie mapuje je na mniejszą liczbę bitów niż w ich oryginalnej formie, stara się znaleźć jak najbardziej odmienne rozwiązanie dla każdego z nich. Załóżmy, że myślimy o każdym bicie oryginalnej wiadomości jako zapisanym w innym „wymiarze” w przestrzeni wiadomości. Wówczas wiadomość o długości M bitów można uznać za punkt w przestrzeni wielowymiarowej. (Na przykład trzybitowa wiadomość ‘1,21,1’ ma współrzędne {1,21,1} w trzech przestrzeniach). wymiarowość n). Dobrze zaprojektowana funkcja mieszająca będzie miała tendencję do rozmieszczania odpowiedzi dla zestawu wszystkich wiadomości, aby były jak najdalej od siebie w ograniczonej przestrzeni wymiarowej. Ma również tę właściwość, że przyjmuje dwie wiadomości, które są bardzo podobne i tworzy wartości skrótów, które na ogół nie są szczególnie blisko siebie, co utrudnia pracę wstecz, a także unika możliwości przypadkowego wygenerowania wykonalnych, podobnych wiadomości, gdy podjęto próbę fałszywego dekodowania. Funkcje skrótu można generować w sposób podobny do metod szyfrowania. Jedna metoda, dyskretna potęga, jest odwrotnością opisanego wcześniej problemu dyskretnego logarytmu. Jest to jednak dość intensywne obliczeniowo i czasami stosuje się inne, szybsze metody. Przykładami są bezpieczny algorytm skrótu (SHA-1), który jest używany jako część amerykańskiego standardu Digital Signature Standard oraz standardu MD5, który jest bardzo powszechny w przypadku aplikacji internetowych. Aby użyć funkcji skrótu do ochrony integralności zestawu danych, nadawca musi udostępnić bezpieczny klucz prywatny odbiorcy. Można to łatwo zrobić, jeśli odbiorca najpierw opublikował klucz publiczny, który może być następnie użyty przez nadawcę do zaszyfrowania uwierzytelniania klucza prywatnego. Oczywiście, oprócz potwierdzenia, że ​​nie doszło do nadużyć w imieniu obu stron umowy, funkcja skrótu może być wykorzystana do ochrony integralności dokumentu „w tranzycie”, np. w celu ochrony przed modyfikacją umowy przez osobę trzecią, być może w celu „oddrobnienia” wartości dodatkowej z transakcji finansowej.

NIEODPOWIEDZIALNOŚĆ

Skrajnym przeciwieństwem wyidealizowanego powyżej scenariusza militarnego jest sytuacja, w której nie można zakładać, że partnerzy transakcji działają w dobrej wierze. A zawiera umowę z B na dostawę towarów pod pewnymi warunkami – a przynajmniej tak myśli B. Handlowali na kontynentach bez fizycznego spotkania i mogą wymieniać umowy tylko drogą elektroniczną. B jest rozczarowany, ponieważ uważa, że ​​A nie spełnił warunków zawartej przez siebie umowy, ale pojawia się zamieszanie, ponieważ A wydaje się mieć inne sformułowanie. Jak można tego uniknąć? Na długo przed wymianą kontraktów elektronicznych, fizyczne kontrakty na papierze zostały celowo rozdarte na dwie części i każda ze stron trzymała jedną z części. Łza była postrzępiona i trudna do podrobienia. Połączenie tych dwóch części dostarczyło dowodu, że był to oryginał uzgodnionej umowy. Nieco inne podejście stosuje się do zabezpieczania wrażliwych dokumentów przed nieautoryzowanym otwarciem – koperty zawierające instrukcje „otwierać tylko w nagłych wypadkach” są czasami podpisane na klapkach i klapach zaklejonych taśmą klejącą, która niszczy podpis przy próbach usunąć to. To są tylko częściowe dowody. Możemy zrobić lepiej elektronicznie. Jeszcze bardziej przekonujący byłby sposób ochrony każdego fragmentu wiadomości przed manipulacją. Załóżmy, że ktoś zmienia 100 USD na 1000 USD, chcemy być w stanie zidentyfikować, że zmiana została dokonana i najlepiej w jakiej formie. Chcemy móc zażądać, aby nadawca dołączył jakąś formę podpisu cyfrowego, który uwierzytelnia dane (i nadawcę).

ZASTOSOWANIA SZYFROWANIA TECHNICZNEGO

Do tej pory mówiliśmy dość ogólnie o technikach szyfrowania, bez jakiejkolwiek rzeczywistej próby kategoryzacji ich aplikacji. Przyjrzeliśmy się poszczególnym aspektom: kryptografii jako sposobu przetwarzania wiadomości w celu uodpornienia ich na nadużycie przez osobę nieuprawnioną oraz tworzeniu certyfikatu cyfrowego przez urząd certyfikacji. Są jednak inne przypadki: być może chcemy podpisać to przesłanie, aby udowodnić, że rzeczywiście pochodzi ono od nas; być może chcemy się upewnić, że nie może zostać celowo skorumpowany przez osobę, która go otrzymała, a następnie przedstawiła w celu uzasadnienia fałszywego roszczenia. W kolejnych sekcjach przyjrzymy się kilku najczęstszym zastosowaniom kryptografii, które można znaleźć w eBiznesie. Najpierw musimy sobie przypomnieć, że model systemu bezpieczeństwa wojskowego nie jest adekwatnym sposobem opisu sytuacji komercyjnej. Nie mamy dwóch bezwarunkowo „dobrych facetów”, w pełni wyszkolonych i zdolnych do walki, po jednym na każdym końcu transakcji, atakowanych przez „złego faceta”. Istnieje wiele innych alternatyw.

TECHNOLOGIE DO ZARZĄDZANIA KLUCZAMI

Przy tworzeniu sieci korporacyjnej prawie nieuniknione będzie zastanowienie się nad różnymi kluczami bezpieczeństwa. Czyniąc to, należy rozważyć, czy będzie to całkowicie zamknięta sieć, w takim przypadku można zastosować rozwiązanie wewnętrzne. Jednak wraz z rozwojem operacji business to business rozsądniej może być rozważenie wyboru szeroko stosowanego systemu. (Nie ma jednego „standardu.) Jedną dobrą ogólną zasadą, którą należy wziąć pod uwagę, jest możliwość zintegrowania kluczowego zadania zarządzania z resztą oprogramowania do planowania zasobów i sterowania procesami, w szczególności korzystanie z korporacyjnego katalogu pracowników jako centrum kontroli praw dostępu i uprawnień.  Powszechną praktyką jest łączenie LDAP ze standardem X.509 dla certyfikatów cyfrowych. Ponieważ X.509 dotyczy przede wszystkim powiązania nazwiska osoby z certyfikatem cyfrowym, widzimy, że sensowne jest połączenie go z naturalnym źródłem nazw firmowych – usługą katalogową.

ORGANY CERTYFIKACYJNE, ZAUFANE I NIEZAUFANE STRONY TRZECIE, PGP

W zasadzie każdy może być urzędem certyfikacji, ale w praktyce wymagany jest bardzo duży stopień wiarygodności (zaufanie, znowu!). Rolę tę mogą przejąć duże, znane i dobrze założone firmy o reputacji firmy zajmującej się bezpieczeństwem (na przykład banki i inne instytucje finansowe), podobnie jak urzędy pocztowe i firmy telekomunikacyjne. Niektóre duże firmy początkowo utworzyły własne urzędy certyfikacji, ale odnotowano tendencję do „wydzielania” urzędów certyfikacji joint venture, które działają pod aurą godną zaufania rodziców. Organy rządowe lub quasi-rządowe (ocena jest subiektywna) również mogą być zaangażowane w certyfikację.

Czasami termin zaufana strona trzecia jest używany jako synonim urzędu certyfikacji. To chyba nie jest dobry pomysł, ponieważ może łączyć ideę uwierzytelnienia czyjejś dobrej wiary i tożsamości z pojęciem dostępu do klucza lub depozytu klucza, co wiąże się z potrzebą walki z przestępczością i wspierania bezpieczeństwa państwa. Rządy, zwłaszcza Stany Zjednoczone i, w mniejszym stopniu, Wielka Brytania, próbują ograniczyć stosowanie silnego szyfrowania do działań, które określają jako uzasadnione. Zdają sobie jednak sprawę, że może to nie być całkowicie wykonalne. Zamiast tego próbują przekonać swoich obywateli, że każdy, kto używa silnych metod szyfrowania, musi przekazać klucz odszyfrowujący zaufanej stronie trzeciej, która w odpowiednich nakazach, przedstawi go władzom. Rządy i inne oficjalne organy skłaniają się do faworyzowania podejścia zaufanej strony trzeciej i/lub urzędu certyfikacji. Niepokoi to niektórych ludzi, którzy widzą w tym potencjalną drogę do wyzysku przez niekoniecznie łagodne państwo. Maher uważa, że ​​takie „podejścia licencyjne, które jawnie ograniczają wolność otwartych rynków” będą destrukcyjne. Lomas i Crispo ostrzegają, że: „… ważne jest, aby pamiętać, że„ zaufane ”i„ godne zaufania ”to nie to samo”. Ale jeśli mamy usunąć oficjalnie sankcjonowaną stronę trzecią, jak mamy być w stanie wygenerować niezbędny poziom zaufania między stronami transakcji? Jedną z opcji jest wykorzystanie sieci zaufania, zdecentralizowanej sieci, polegającej na uwierzytelnianiu innych przez same strony handlowe .

Załóżmy, że chce handlować z B, ale nic nie wie o B. W szczególności A nie wie, czy można ufać, że cyfrowo poświadczona wiadomość od B jest niepodważalna, czy nawet faktycznie od B. Na szczęście A zna C i C, poprzez osobiste kontakty z B może ręczyć za ważność certyfikatów B. (Być może C już wcześniej fizycznie odwiedzał witrynę B i uzyskał dostęp do informacji klucza publicznego B w gwarantowany sposób.) Możliwe jest wówczas, że deklarowane szczegóły B zostaną umieszczone w opakowaniu z C, przy użyciu standardowego na przykład haszowanie szyfrowania, aby A wiedział, że otrzymuje ważne dane certyfikacyjne, których może bezpiecznie używać w handlu z B

W ten sposób sieć zaufania zawsze opiera się na zaufanym pośredniku, a nie na „wyższym autorytecie”. Eliminuje to biurokratyczne komplikacje hierarchicznego drzewa urzędów certyfikacji, a także pozwala odpocząć od wszelkich obaw dotyczących ich uczciwości w użyciu lub niewłaściwego użycia klucza (poważny problem dotyczący praw obywatelskich w niektórych krajach). Z drugiej strony są problemy skalowalności (a raczej jej braku) i możliwości złych praktyk w imieniu zaufanego partnera. Najczęściej stosowanym schematem opartym na sieciach zaufania jest Pretty Good Privacy (PGP)

ORGANY CERTYFIKUJĄCE

Jak już wielokrotnie mówiliśmy, problem rozwiązuje się wokół zaufania i zasad, które sprawiają, że zaufanie to jest uzasadnione. Jedną z przydatnych definicji, która odnosi się do tego, jest certyfikacja: „ocena, czy produkt jest odpowiedni dla danego zastosowania”. Certyfikat w naszym przypadku jest pewnym wiarygodnym dowodem na to, że zidentyfikowana osoba ma prawo do zbioru przywilejów. Certyfikat wydaje urząd certyfikacji. Weźmy prosty przykład, w jaki sposób może to umożliwić transakcję. Załóżmy, że ktoś podający się za „Alicję” publikuje klucz publiczny. Bob chce prowadzić interesy z prawdziwą Alicją. Skąd wie, że ona i „Alice” to rzeczywiście ta sama osoba? To, czego wymaga Bob, to niepodrabialny dokument od publicznie znanego organu, który wiąże klucz publiczny „Alicji” z prawdziwą Alicją. Jak pokazano na rysunku, Alicja zwraca się do urzędu certyfikacji i prosi go o zweryfikowanie jej klucza publicznego

Po przeprowadzeniu należytej staranności, a może nawet spotkania na żywo między Alicją a członkiem władz, ten ostatni zgadza się, że Alicja jest tym, za kogo się podaje. Teraz Alicja musi zaufać: musi założyć, że urząd certyfikacji jest powszechnie znany i monitorowany do tego stopnia, że ​​po opublikowaniu „jego” klucza publicznego ma pewność, że „to” naprawdę. Po wykonaniu tej czynności organ tworzy zaszyfrowaną wiadomość ze swoim kluczem prywatnym, który zawiera klucz publiczny Alicji. Alicja wysyła tę wiadomość, certyfikat, do Boba, zanim przystąpią do negocjacji biznesowych. Wszystko, co Bob musi zrobić, to użyć klucza publicznego certyfikatu do odszyfrowania certyfikatu, a tym samym ustalenia tożsamości „Alicji”. Bob wie, że klucz autorytetu jest prawdziwy i wie, że autorytet zna klucz „Alice”, aby naprawdę pochodzić od Alicji. Wspomnieliśmy o zaufaniu. Fakt, że pierwsza i druga strona transakcji są gotowe zaufać osobie trzeciej (urzędowi certyfikacji), ma kluczowe znaczenie dla procesu. Zaufanie musi działać na dwa sposoby: strony muszą wierzyć, że organ jest tym, za kogo się podaje, a także ufać, że jego procesy są uczciwe i kompetentne. Zapewnienie obu tych warunków jest trudne dla jednego organu. Jest bardzo mało prawdopodobne, aby jedna organizacja mogła przeprowadzić rzetelny audyt wszystkich stron, które chciały zawrzeć duże i małe transakcje na całym kontynencie.

Jednym ze sposobów obejścia tego problemu skalowalności jest stworzenie wielopoziomowej hierarchicznej struktury urzędów certyfikacji [85]. Wyższe, bardziej ogólne władze uwierzytelniałyby klucze publiczne niższych, bardziej wyspecjalizowanych władz. Można nawet wyobrazić sobie sieć zamiast drzewa hierarchii zaufania z kilkoma niezależnymi organami weryfikującymi certyfikat. Certyfikat musi potwierdzać klucz publiczny strony, którą kontrolował, ale może, a nawet powinien, zawierać również inne informacje. Musi określać algorytm szyfrowania, do którego odnosi się klucz publiczny strony uwierzytelnianej, a także zawierać datę wygaśnięcia certyfikatu. Ta ostatnia jest bardzo ważną informacją i musi wynikać z oceny wartości w imieniu urzędu certyfikacji jako  jak długo strona uwierzytelniona może zachować integralność prywatnego klucza. (Zwróć uwagę na zwykły kompromis między bezpieczeństwem a wygodą: im częściej klucz jest ponownie certyfikowany, tym więcej kłopotów, ale bardziej prawdopodobne, że jest ważny). Certyfikat może również zawierać inne informacje istotne dla ogólnych relacji handlowych; na przykład może przechowywać informacje o licencjach na zajmowanie się pewnymi informacjami i przeprowadzanie regulowanych procesów (lekarze, usuwanie niebezpiecznych odpadów itp.). Może również zawierać warunki umowne – limity ubezpieczenia, władze w organizacji (np. „oficer finansowy”) i tak dalej. Niektóre z nich mają szczególne zastosowanie w transakcjach między przedsiębiorstwami i zaczynają rozszerzać rolę certyfikacji organów poza zwykłą certyfikację finansową. Podobieństwa i możliwości integracji tego z organami ratingowymi PICS i P3P powinny być jasne.

PYTANIE DOTYCZĄCE WAŻNOŚCI KLUCZY

Warto pokrótce poruszyć inny aspekt dotyczący kluczy publicznych: skąd wiemy, że klucz jest ważny? Głównym twierdzeniem dla systemów kluczy publicznych nad prywatnymi jest to, że zarządzanie kluczami staje się proste: nie musisz konfigurować bezpiecznego lub ukrytego kanału do przekazywania informacji o kluczach; po prostu je publikujesz lub dostarczasz na żądanie. Prawdziwe. Ale co się stanie, jeśli otrzymam klucz publiczny, który moim zdaniem należy do kogoś, ale w rzeczywistości należy do kogoś innego? Być może wysyłam duże kwoty płatności elektronicznych przez sieć, mając pewność, że nikt nie może ich przechwycić ani przekierować na konto strony trzeciej, ale skąd mam wiedzieć, że dokonuję płatności na właściwy osoby, a nie oszusta? Mogłem nawet zostać złapany w pułapkę użycia fałszywego klucza przestępcy do przesłania danych klucza do systemu klucza prywatnego, na przykład DES, który otwiera całe moje konto bankowe lub system komputerowy mojej firmy. To ponownie podkreśla różnicę między algorytmem bezpieczeństwa, który może być bezpieczny, nawet bezwarunkowo bezpieczny, a implementacją i aplikacją, które mogą prowadzić do poważnych naruszeń. Systemy kluczy publicznych mogły wyeliminować potrzebę bezpiecznego kanału do transportu kluczy; oznacza to, że usunęli potrzebę posiadania poufnego kanału. Ale zastąpili to potrzebą kanału, który może uwierzytelniać zestaw kluczy. Przyjęto różne podejścia, ale podstawowa zasada jest taka sama. W każdym przypadku potrzebna jest jakaś osoba lub organizacja kompetentna i chętna do zagwarantowania, że ​​klucze użyte do podpisania jakiegokolwiek dokumentu są ważne, w sensie przynależności do osoby, która ich żąda, oraz że dołożono wszelkich uzasadnionych starań, aby to zapewnić. gwarancja ma wartość. Co więcej, tej osobie lub organizacji muszą ufać wszystkie strony transakcji. To w jaki sposób rozwija się to zaufanie, powstają różnice. Odnosząc się konkretnie do kwestii, kto gwarantuje autentyczność klucza publicznego, przyjrzymy się teraz dwóm alternatywnym podejściom, które w równym stopniu opierają się na różnych postawach kulturowych, co na podejściu technicznym.

KWESTIE I STATUS KRYPTOGRAFII KLUCZY PUBLICZNYCH

Optymiści i komercyjni oportuniści będą sugerować, że problem szyfrowania został mniej lub bardziej „rozwiązany” dzięki rozwojowi kryptografii klucza publicznego w ciągu ostatniego ćwierćwiecza. Oczywiście nigdy nie osiąga się prawie idealnego bezpieczeństwa, z wyjątkiem najbardziej trywialnych przypadków, ale istnieją pewne specyficzne problemy, które wciąż pozostają i co oznacza, że ​​nie możemy całkowicie zaufać systemom klucza publicznego. Niemniej jednak, proces jest osiągany w opracowaniu konsensusu i zestawu standardów dotyczących użycia klucza publicznego. Jedną z kwestii jest kwestia „silnych liczb pierwszych”, która nie tylko dotyczy technologii kryptograficznej, ale także przypomina o ludzkiej skłonności do zachowań przestępczych. Wcześniej wyjaśniliśmy, w jaki sposób algorytm RSA opierał się na trudnościach rozkładania na czynniki dużych liczb całkowitych, które są iloczynem dwóch liczb pierwszych. Trudność ta nie jest jednolita: niektóre produkty są łatwiejsze do faktoryzacji niż inne. Na przykład, niech p i q będą dwiema liczbami pierwszymi i załóżmy, że p-1 można rozłożyć na czynniki pierwsze, z których r jest największy. Następnie istnieje metoda (metoda Pollarda P – 1) na faktoryzację pq, która zajmie około r kroków. Oczywiście im większe r, tym dłużej to zajmie. Mówi się, że P jest silne, jeśli r jest duże. Wydawałoby się zatem, że silne liczby pierwsze to dobry pomysł; ale późniejsza dyskusja i rozwój alternatywnych metod faktoryzacji poddały w wątpliwość korzyści, jakie można osiągnąć. Jednak w ostatnich latach silne liczby pierwsze odzyskały pewną popularność z interesującego powodu: spekuluje się, że pozbawieni skrupułów użytkownicy mogli celowo używać słabych liczb pierwszych, aby stworzyć sobie lukę w postaci możliwości odrzucenia podpisu cyfrowego. W końcu użytkownik mógł twierdzić: „Nie chciałem wybrać słabej liczby pierwszej; to był po prostu mój pech (a właściwie twój, kumpel), że wybrałem taki, który ktoś inny mógłby złamać, a następnie użyć na moim miejscu ”. Należy zwrócić uwagę na brak wspólnego, długoterminowego punktu widzenia z w odniesieniu do niektórych zagadnień kryptografii klucza publicznego. Pamiętaj, że sprawdzalność jest niezwykle ważna dla akceptowalności każdego algorytmu bezpieczeństwa.

INNE SCHEMATY KLUCZÓW PUBLICZNYCH

Jasne jest, że bezpieczeństwo zapewniane przez schemat klucza publicznego zależy od „odwracalności” procesu od klucza publicznego do klucza prywatnego. Widzieliśmy, że RSA polega na trudności w rozłożeniu dużych liczb na czynniki pierwsze. Inny powszechnie stosowany schemat, opublikowany przez ElGamala, wykorzystuje problem logarytmu dyskretnego, trudności w znalezieniu x, biorąc pod uwagę ostatnią resztę po wielokrotnym dzieleniu ax, gdzie a jest znaną liczbą, przez liczbę pierwszą p. Algorytm ElGamal został wykorzystany do podpisów cyfrowych. Ma niewielką wadę, ponieważ generuje tekst zaszyfrowany, który jest dwa razy dłuższy niż oryginalna wiadomość.