NIE IDEALNE, ALE PRAKTYCZNE

Oczywiście potrzebujemy bardziej praktycznego rozwiązania. Osiąga się to poprzez poświęcenie doskonałego bezpieczeństwa na rzecz znacznie krótszego klucza i bardziej złożonego krypto. Istnieje wiele sposobów na osiągnięcie tego. Niektóre opierają się na zasadzie generowania liczb, które wydają się losowe, które są następnie używane zasadniczo w taki sam sposób, jak klawisze jednorazowego bloku. Inne tasują (permutują) dane w wiadomości w kolejności opartej na pozornie losowym kluczu. Bardzo prostym przykładem tego pierwszego (który jest bardzo ubogi pod względem kryptograficznym) jest rejestr przesuwny z liniowym sprzężeniem zwrotnym. Rejestr przesuwny umożliwia sekwencyjne przesuwanie wzorców bitowych od lewej do prawej. W pokazanym urządzeniu niektóre z tych bitów są również odczepiane i przekazywane przez zamknięte przełączniki (2, 5 i n) do urządzenia funkcyjnego „LUB”. Funkcja LUB wykonuje serię operacji dodawania połowy (0 + 0 = 1 , 0 + 1 = 1 , 1 + 1 = 0) na danych, tak że parzysta liczba jedynek da odpowiedź 0, a nieparzysta number da 1. Odpowiedź brzmi ‘OR’d’ z pierwszym bitem tekstu jawnego, tym samym szyfrując go. Odpowiedź jest również „sprzężenie zwrotne” do lewej komórki rejestru przesuwnego po tym, jak wszystkie inne bity w niej przesunęły się o jedno miejsce w prawo. To jest przykład szyfru strumieniowego: strumień pseudolosowych bitów jest generowany przez krypto i dodawany bit po bicie do kolejnych bitów zwykłego tekstu. Możliwe jest wykazanie, że prawowici odbiorcy danych mogą je odszyfrować za pomocą podobnego urządzenia, pod warunkiem, że wiedzą, które przełączniki są zamknięte i sekwencję startową (w tym przypadku 110100). „Krypto” składa się z przesunięcia rejestru i generatora funkcji (w tym przypadku funkcja OR). Należy założyć, że atakujący może mieć przynajmniej pewną wiedzę na temat liczby stopni w rejestrze przesuwnym i natury generatora funkcji. Jedynym zabezpieczeniem, jakie można założyć, jest zabezpieczenie zawarte w kluczu. W tym urządzeniu klucz składa się z dwóch elementów: sekwencji startowej i ustawień przełącznika. Muszą one być wymieniane między nadawcą a odbiorcą za pomocą bezpiecznego kanału (na przykład zaufanego posłańca) i utrzymywane w tajemnicy, dopóki nie będzie można użyć nowego zestawu. Praktyczne systemy wykorzystują funkcje inne niż pojedynczy rejestr przesuwny ze sprzężeniem zwrotnym i prostą funkcją OR. Podczas gdy pojedynczy rejestr przesuwny zapewnia pewne bezpieczeństwo, gdy atakujący nie ma wiedzy o treści wiadomości, jest bardzo słaby, gdy część tekstu jest znana lub można ją odgadnąć. (Na przykład wiele liter zaczyna się „Szanowny Panie”, zawiera datę lub kończy się równie konwencjonalnie.) W tym przypadku można wykazać, że system zawsze może zostać uszkodzony, mając mniej niż 10N kolejnych bitów tekstu jawnego, gdzie N to liczba etapów w  rejestrze przesuwnym. Należy z tego wyciągnąć dwa ważne punkty: po pierwsze, systemy kryptograficzne muszą brać pod uwagę zarówno praktyczność, jak i teorię, a w szczególności możliwość, że atakujący zaczyna mieć więcej niż zerową wiedzę. Po drugie, krytycznym czynnikiem projektowym jest stosunek wysiłku atakującego do wymaganego przez uprawnionych użytkowników. To, co musimy osiągnąć, to przedstawienie atakującemu stopnia trudności, który rośnie szybciej niż jakikolwiek wzrost złożoności krypto. Nie jest to prawdą w przypadku rejestru przesuwnego, gdzie złożoność systemu i jego podatność na ataki rosną „liniowo”, to znaczy z N. Chcielibyśmy, aby system, którego złożoność można było zwiększyć o N, z wynikający z tego wzrost trudności ataku o (przynajmniej) NM, gdzie M jest pewną dużą liczbą. Niektóre praktyczne alternatywy oferujące lepsze zabezpieczenia obejmują kaskady rejestrów przesuwnych, których tryby działania oddziałują na siebie. Na przykład możemy wykorzystać wyjście jednego rejestru do sterowania zegarem sterującym następnym; to znaczy sprawić, by poruszał się na więcej niż jednej zmianie na raz.

SZYFRY „DOSKONAŁE”

pierwszy rygorystycznie przeanalizowany podczas ostatniej wojny, w szczególności przez Claude’a Shannona z Bell Laboratories. Kiedy spotykamy się z tymi badaniami po raz pierwszy, może nas zaskoczyć, że nie były one skoncentrowane na tworzeniu coraz silniejszych szyfrów. W rzeczywistości głównym postępem, jaki dokonał Shannon, było udowodnienie, że chociaż istniał „doskonały” szyfr (w tym sensie, że nie można go złamać, pod warunkiem, że był wspierany przez silną implementację), w większości przypadków to wdrożenie byłoby niewykonalne. Ten doskonały szyfr znany jest pod różnymi nazwami, ale najczęściej jako jednorazowy pad. Według okazjonalnych doniesień publicznych, znajduje co najmniej jedno praktyczne zastosowanie – jako środek komunikacji między szpiegami a ich kontrolerami. Oto, koncepcyjnie, jak to jest używane:

Litery wiadomości (tekst jawny) są najpierw zamieniane na liczby: A = 1, B = 2 i tak dalej.

Więc; Sekretariat

staje się 19 5 3 18 5 20

Agent szyfrujący posiada zestaw stron zawierających listy liczb z zakresu od 1 do 26, które zostały wygenerowane losowo: 21, 3, 13, 19, 5, 7 itd. Te z kolei są dodawane do liczb odpowiadających do tekstu jawnego. Jeśli suma przekracza 26, odejmuje się 26. Daje to zaszyfrowany tekst:

19 5 3 18 5 20

plus 21 3 13 19 5 7 daje

szyfrogram =14 8 16 11 10 27

Jeśli liczby zostały naprawdę wygenerowane losowo, nie ma możliwości, aby urządzenie przechwytujące mogło wrócić do tekstu jawnego. Jeśli jednak prawowity odbiorca ma kopię liczb losowych i wie, gdzie się zaczynają, łatwo jest je odjąć od zaszyfrowanego tekstu (a następnie dodać 26, jeśli wynik jest ujemny), aby wrócić do tekstu jawnego:

szyfrogram 14 8 16 11 10 27

minus 21 3 13 19 5 7 daje

tekst jawny 19 5 3 18 5 20

czyli SE C R E T

„Klucz” metody składa się z określonych liczb na podkładce; „krypto” to po prostu operacja dodania klucza do wiadomości. Chociaż jest to najbezpieczniejszy z możliwych system, jednorazowy pad ma poważny problem: rozmiar pada musi być taki sam, jak całkowita liczba znaków we wszystkich wiadomościach, które chcesz wysłać. Nie jest dobrym pomysłem ponowne użycie zestawu liczb: atakujący może połączyć inteligentne zgadywanie z dość prostymi statystykami, aby skutecznie złamać szyfr. To może nie być problem, gdy wiadomości, które chcemy wysłać, są krótkie i rzadkie. Kontroler i szpieg mogą prawdopodobnie umawiać się na wystarczająco częste spotkania, aby przekazać nowe jednorazowe podkładki. Jeśli jednak chcemy zapewnić wygodny mechanizm płatności międzybankowych, obejmujący miliony transakcji tygodniowo, trudno wyobrazić sobie wysyłanie kurierów po całym świecie z ryzami jednorazowych bloczków. Albo rozważmy przypadek próby zaszyfrowania programu telewizyjnego, aby mogli go oglądać tylko opłaceni widzowie: potrzebowalibyśmy jednorazowych padów zapewniających każdemu abonentowi telewizyjnemu kilka megabitów na sekundę.

PODSTAWOWE ZASADY KRYPTOGRAFII W e-BIZNESIE

Ochrona dostępu i wyjścia z prywatnych systemów komputerowych na rozległy obszar to tylko jeden aspekt bezpieczeństwa systemu. Dane muszą być również jak najbardziej odporne na korupcję. Zwykłym sposobem na to jest stworzenie procesu bezpieczeństwa, który opiera się na algorytmach szyfrowania. Ponownie zwracamy uwagę, ponieważ nie można tego robić zbyt często, że musimy dokonać rozróżnienia między implementacjami a algorytmami. Algorytm szyfrowania to wyrażenie matematyczne opisujące, na przykład, w jaki sposób ma zostać zaszyfrowana część danych (i odszyfrowana, jeśli metoda jest inna). Wdrożenie dotyczy tego, jak ma się to odbywać w rzeczywistości. Może to odbywać się za pomocą oprogramowania, sprzętu lub ręcznie i obejmuje rozważenie sieci lub innego systemu używanego do przesyłania tajnych kluczy i sposobu organizacji umów między użytkownikami. Należy zauważyć, że bezpieczeństwo zależy zarówno od algorytmu, jak i implementacji. Na rysunku przedstawiamy podstawowe elementy procesu szyfrowania i leżące u jego podstaw algorytmy, które są wspólne dla większości aplikacji, niezależnie od tego, czy służą one do utrzymywania tajemnic, przesyłania pieniędzy, udowadniania, że ​​jesteś tym, za kogo się podajesz, itp.

System jest napędzany przez algorytm, który w pewien sposób chroni transakcję poprzez zastosowanie pewnej uprzywilejowanej wiedzy, posiadanej przez jedną lub obie strony transakcji. Ta wiedza może być tajnym hasłem lub może po prostu oznaczać, że obie strony znają się nawzajem z widzenia i dlatego mogą prowadzić swoją działalność za pośrednictwem łącza wideo. Zawsze istnieją pewne elementy sprzętowe i/lub programowe sprzętu zabezpieczającego, które przechowują i obsługują algorytmy zapewniające bezpieczeństwo – w przytoczonym przykładzie kamery wideo, monitory i łącza transmisyjne. Częściej pojawią się maszyny kryptograficzne, które będą kodować wiadomości, aby zapobiec podsłuchiwaniu lub manipulacji. W tym przypadku są one konwencjonalnie nazywane kryptowalutami. Ostatnim elementem systemu jest bezpieczny kanał. Obejmuje to pewien zestaw procesów i technologii, które umożliwiają pełną i niezawodną wymianę informacji uprzywilejowanych między obiema stronami. Prostym przykładem może być wymiana kluczy używanych do konfiguracji algorytmów szyfrowania i deszyfrowania w celu bezpiecznej transmisji wiadomości. Może to być nawet wymiana zdjęć legalnych uczestników w naszym przykładzie konferencji. Nawiasem mówiąc, czasami twierdzi się, że systemy bezpieczeństwa, takie jak szyfrowanie kluczem publicznym, sprawiają, że nie jest już konieczne zapewnienie bezpiecznego kanału. O tym, czy jest to dokładnie poprawne, omówimy później.

OCHRONA WIRTUALNYCH SIECI PRYWATNYCH Z WYKORZYSTANIEM TUNELI ZAPORA OGNIOWYCH

W przypadku operacji typu business-to-business sytuacja może być czasami inna: obie strony mogą sobie ufać i chcieć robić interesy przez Internet, zachowując jednak między sobą bezpieczny kanał. W takim przypadku zapory można skonfigurować tak, aby zapewniały wirtualną sieć prywatną przy użyciu techniki znanej jako tunelowanie. Tunel zapewnia bezpieczny kanał między wewnętrznie prywatnymi sieciami każdej firmy

Wykorzystuje to jeden z ograniczonej liczby bezpiecznych protokołów tunelowania, takich jak protokół IPSec, który umożliwia hermetyzację pakietu IP w bezpiecznej otoczce. Zostanie to omówione później, po rozważeniu niektórych technik szyfrowania, które są używane w jego implementacji.

BEZPIECZEŃSTWO PRZEZ SERWER PROXY („HOST BASTION”)

Zamiast zezwalać zewnętrznym, potencjalnie złośliwym komputerom klienckim na bezpośrednią komunikację z serwerami i klientami w sieci firmowej, czasami lepiej jest skierować je do innego serwera proxy lub hosta bastionu. Host bastionu (rysunek 2.9) to po prostu standardowy komputer, niekoniecznie szczególnie wydajny (na przykład 486-DX66 z zaledwie 16 MB pamięci), który działa jako bariera między światem zewnętrznym a bezpieczną siecią wewnętrzną

Posiada dwie karty sieciowe i dwa adresy IP. Serwer otrzymuje żądania ze świata zewnętrznego, ale musi następnie poprosić klienta o zweryfikowanie przekazania żądania do bezpiecznej aplikacji. Żadne pakiety IP nie przechodzą bezpośrednio. Prawidłowo skonfigurowany zapewnia wysoki stopień bezpieczeństwa. Można go również skonfigurować do przechowywania rejestru przechodzących wiadomości, ustanawiając w ten sposób pełną ścieżkę audytu do monitorowania bezpieczeństwa online lub offline. Bastiony są szczególnie dobre do implementacji bram aplikacji, ponieważ możliwe jest przeprowadzanie złożonych kontroli zawartości wiadomości, które przez nie przechodzą, na przykład w celu uniknięcia wirusów e-mail. Jedno podejście, SOCKS, opracowane przez Internet Engineering Task Force (IETF), zapewnia standardowy sposób zezwalania bezpiecznym aplikacjom na działanie przez zaporę. Każda taka aplikacja wymaga poddania się procesowi skarpetkowania. Pierwotnie oznaczało to, że aplikacja musiała zostać ponownie skompilowana i połączona z zestawem funkcji bibliotecznych SOCKS. Było to skomplikowane i czasochłonne. Ostatnio, biblioteki dołączane dynamicznie, które działają w czasie wykonywania, usunęły ten problem, przynajmniej w przypadku aplikacji Windows. Wciąż jednak toczy się debata na temat tego, czy SOCKS są konieczne i/lub pożądane w dłuższej perspektywie.

FILTRY PAKIETOWE

Możemy mieć dowolną liczbę i tak złożonych sieci wewnętrznych, jak tylko chcemy, ale wszystkie łączą się ze światem zewnętrznym za pomocą jednej pary filtrów, jednego do sprawdzania pakietów wychodzących i jednego do sprawdzania pakietów przychodzących. Filtry są konwencjonalnymi routerami wzbogaconymi o możliwość sprawdzenia adresów każdego pojedynczego pakietu. Administrator systemu (który musi być kimś, komu można ufać – problem sam w sobie) tworzy tabelę dla każdego filtra, z którą ma się sprawdzać, aby zobaczyć, czy przekazanie pakietu jest w porządku. Jeśli pojawią się zabronione adresy, są one odrzucane, a administracja powiadamiana. Za pomocą bramy usługowej można również przeprowadzić filtrowanie, nie tylko na poziomie pakietów, ale także według określonej zawartości i celów przesyłanych danych .

Na przykład można ustawić bezpłatny tranzyt poczty e-mail między siecią firmową a światem zewnętrznym, ale zablokować każdą inną usługę. Jedną z najczęstszych filtracji selektywnych jest przepuszczanie pakietów zawierających żądanie HTTP (tj. do pobrania strony internetowej), ale nie pakietów FTP (które żądają dostępu do plików). Jednak, jak widzieliśmy wcześniej, samo wprowadzenie filtra pakietów niekoniecznie jest wystarczające do zapewnienia bezpieczeństwa. W każdym razie istnieją pewne problemy operacyjne z zaporami filtrującymi pakiety: po pierwsze, ponieważ po prostu używa się routera, który jest skonfigurowany do odrzucania pakietów, które nie są zgodne z jego akceptowalną listą, często nie ma możliwości zbierania dzienników na tym, co dotarło do routera. Oznacza to, że może być trudno uświadomić sobie, że ktoś został zaatakowany; podobnie, nie jest łatwo wykryć odrzucenie ludzi, którym wolałbyś przepuścić. Trudne jest również skonfigurowanie uprawnień dla specjalnych użytkowników, aby umożliwić przesyłanie ich wiadomości e-mail lub dla techników terenowych z bezpiecznie zidentyfikowanymi terminalami, aby mogli zdalnie wchodzić do systemu plików.

ZAPORY

Planując obronę przed atakiem, najlepszą rzeczą do zrobienia jest poleganie na wypróbowanej i przetestowanej zasadzie bezpieczeństwa polegającej na zmniejszeniu liczby punktów dostępu, a następnie rygorystycznym patrolowaniu tych punktów. To jest zasada „firewalla”. Każde wejście do wewnętrznej sieci korporacyjnej z domeny publicznej (w praktyce najczęściej połączenie z Internetem) odbywa się przez firewall, który sprawdza ruch w celu określenia, czy i na jakich warunkach należy go zezwolić. Zasadniczo istnieją dwa różne typy firewalli: te, które działają jako filtry pakietów i te, które są serwerami proxy lub hostami bastionowymi, jak są również nazywane. Mogą być używane osobno lub razem. Mogą pobierać dane na podstawowym poziomie pakietów lub działać jako filtry aplikacji, odmawiając przekazywania danych przeznaczonych dla konkretnych aplikacji lub usług.

TECHNOLOGIE WSPIERAJĄCE POLITYKI BEZPIECZEŃSTWA

W celu zrozumienia zagadnień bezpieczeństwa w eBiznesie wprowadziliśmy standardowy, trzypoziomowy model polityki, procesu i technologii. Uznaliśmy, że najlepiej zacząć od kilku przykładów tego, jak może to zostać naruszone w sytuacjach, w których brakuje środków bezpieczeństwa lub nie ma ich wcale. Aby zobaczyć, jak takie środki mogą poprawić sytuację, musimy teraz przyjrzeć się podstawowym technologiom, a następnie zobaczyć, w jaki sposób można je wbudować w standardowe procesy do pracy na dużym obszarze.

ATAKI BAZY DANYCH

Potencjalne współdzielenie krytycznych danych między różnymi częściami przedsiębiorstwa, zwykle w ekstranecie przedsiębiorstwa, jest postrzegane jako jeden z głównych postępów w zachowaniu biznesowym. Oczywiście ma to zalety, ale jest też ryzyko. Oprócz wariantów wspomnianych powyżej ataków, które umożliwiają atakującym dostęp lub sabotowanie plików, do których nie mają uzasadnionych praw, istnieją operacje zbierania danych wywiadowczych, które mogą być przeprowadzane „legalnie” przez każdego, kto ma nawet ograniczony dostęp do bazy danych. Jednym z takich działań jest wnioskowanie z zapytań statystycznych. Rozważ tabelę .

Reprezentuje (poufną) wartość kontraktów wygranych przez Twoją firmę na zaopatrzenie wielu różnych rodzajów firm w różnych częściach Stanów Zjednoczonych. Aby chronić szczegółową wiedzę zawartą w tabeli, ale aby umożliwić (rozsądnie) zaufanym innym osobom dostęp do niektórych danych, ograniczasz ich do wykonywania tylko określonego zestawu zapytań statystycznych. Mogą na przykład wysłać zapytanie SQL, które zwraca średnią wartość zamówienia dla bazy danych. Mogą również poprosić o łączną liczbę firm w dowolnej lokalizacji, dla której masz dane typu produktu.

To, czego nie chcesz, aby zadawali, to pytania dotyczące tego, ile pieniędzy zabrałeś z pojedynczej firmy. Załóżmy, że pozwalasz im poprosić o średnią wartość dostarczonych zamówień do firm programistycznych w Seattle? (= 3 miliony dolarów). Załóżmy teraz, że pozwolisz im również zapytać o całkowitą liczbę firm w Seattle, które dostarczają oprogramowanie? (= 1). Ups! Chociaż nie pozwoliliśmy na bezpośredni dostęp do zapytań typu „ile pieniędzy pobraliśmy od Tiny”, widzimy, że para zapytań zebranych razem, z powodzeniem znalazła dokładnie taką liczbę. Generalnie okazuje się, że zatrzymanie zestawu uśrednionych statystycznie zapytań dających konkretną odpowiedź jest praktycznie niemożliwe. Jedną z części obrony jest zachowanie ścieżki audytu zapytań i obliczenia wstecz, aby ocenić, co robili użytkownicy. Ale nie ma łatwej całkowitej obrony przed wydarzeniem.

NIEZAAWANSOWANE ATAKI

Nie trzeba nawet nieumyślnie instalować na serwerze podatnego na ataki oprogramowania. Czasami sprzedawcy sami zostawiają otwarte drzwi. Pojawiły się doniesienia, że ​​jeden popularny serwer UNIX ma prawie 30 możliwości nielegalnego wejścia, chyba że zostaną one indywidualnie wyłączone. Inny bardzo popularny system operacyjny ma ponad 45 domyślnych haseł. Jeśli nie zostaną usunięte, każdy z nich może umożliwić nieautoryzowany dostęp. Jednym z przykładów cytowanych przez organ doradczy US NIPC w 1999 r. (o nazwie kodowej 99-027) jest zdalny atak bazy danych na dobrze znany internetowy serwer informacyjny. O ile domyślna opcja pozostawienia tzw. stron przykładowych RDS nie została nadpisana, umożliwia to przeglądarce internetowej wysyłanie i odbieranie zapytań SQL do bazy danych oraz zmianę wpisów. Twierdzi się nawet, że istnieje narzędzie atakujące, które może automatycznie wykryć tę lukę. Inny przykład, od innego dostawcy, jest jeszcze prostszy. Zakładając, że po adresie URL serwera zostanie wpisana dość duża liczba symboli ///, uzyskuje się dostęp do katalogu głównego. Podano liczbę 211 ukośników, ale różni się ona w zależności od wersji serwera. Większość z tych gotowych do użycia luk zostało pozostawionych, aby ułatwić administratorom systemów konfigurowanie i konfigurowanie nowych systemów. Sprzedawcy twierdzą, a sądy jak dotąd nie poświadczają inaczej, że obowiązkiem nabywców jest podjęcie niezbędnych środków ostrożności w celu usunięcia tych luk w zabezpieczeniach. Biorąc pod uwagę kompetentną, a może lepiej „doskonałą” administrację systemami, to nie stanowią one problemów bezpieczeństwa, ale kto jest doskonały?