W poprzednim poście, w którym opisywałem moją wycieczkę do Narodowego Muzeum Kryptologii NSA wspomniałem, iż temat tego jak zabezpieczone są głowice nuklearne jest dla mnie niezwykle interesujący, więc tym razem przyjrzymy się tej dziedzinie bezpieczeństwa. Trudno jest mi sobie wyobrazić sytuacje bądź środowisko, w którym niedoskonałości systemów (zarówno wywołujące fałszywie pozytywne jak i fałszywie negatywne rezultaty) mogłyby mieć bardziej poważne konsekwencje niż kiedy podjęta zostaje decyzja o użyciu lub nie broni atomowej. Zabezpieczenia muszą więc zarówno uwierzytelniać prawdziwość i źródło rozkazów jak i nie pozostawiać pola do błędów lub niepewności wyników.
Przyjrzyjmy się zatem systemom zabezpieczającym amerykańskie głowice nuklearne – tutaj bowiem znajdziemy najbogatszą dokumentację i najdłuższą historię rozwoju. Geneza współczesnych systemów zabezpieczeń związana jest z memorandum prezydenta Johna Kennedy’ego z 1962 roku. Arsenał nuklearny USA znajdował się wtedy w różnych częściach globu, w tym państwach o skomplikowanych relacjach jak Grecja i Turcja, a głowic broniły raczej symboliczne siły amerykańskie. Dodatkowo napięcie zimnej wojny budziło obawę o samowolę dowódców mogących samodzielnie zdecydować o ataku nuklearnym, będąc przeświadczonym, iż sytuacja jest na tyle krytyczna, iż nie można czekać na kontakt z Waszyngtonem. Mając na uwadze potencjalnie katastrofalne skutki, Kennedy polecił aby głowice rozmieszczone w Europie zostały zabezpieczone urządzeniami zezwalającymi na użycie (permissive link).
Mechanizmy zabezpieczeń miały gwarantować spełnienie trzech warunków:
- uwierzytelnienia – decyzja o użyciu broni musiała zostać podjęta przez uprawniony do tego organ (national command authority, które to stało się medialnym tematem w czasie prezydentury Donalda Trumpa).
- środowiska – broń powinna być możliwa do detonacji tylko w określonych warunkach środowiskowych – jak wysokość i przyspieszanie w przypadku bomb lotniczych czy głowic przenoszonych przez pociski międzykontynentalne.
- zamiar – dowódca odpowiedzialny za użycie broni musi jednoznacznie potwierdzić wolę jej wykorzystania.
Komponenty PAL umieszczone są głęboko w strukturze samej głowicy i połączone z szeregiem sensorów tak, aby ograniczyć możliwośći poznania mechanizmu działania systemów czy manipulować nimi bez uszkodzenia całości urządzenia. Z tą koncepcją związane są również silne i słabe połączenia (strong/weak link) i strefa wyłączenia (exclusion zone). Strefa wyłączenia zawiera komponenty konieczne do detonacji głowicy i chroni ją przed zewnętrznymi czynnikami. Silne połączenia mają za zadanie sprawić, iż tylko ściśle określony sygnał może przedostać się do strefy wykluczenia i spowodować detonację. o ile ochrona strefy wykluczenia i silne połączenia zawiodą np.: na skutek czynników zewnętrznych takich jak bardzo wysoka temperatura, to detonacja powinna być niemożliwa, gdyż słabe połączenia są zaprojektowane tak, aby zostały przerwane na długo przed silnymi połączeniami. Przykładem mogą być kondensatory, które muszą zostać naładowane przed detonacją i celowo zaprojektowane tak aby zostały uszkodzone na skutek wysokich temperatur. Współdziałanie mechanizmów obrazowo przedstawia schemat z opracowania o mechanizmach zabezpieczających detonacje głowic autorstwa Sandia National Laboratories:
Słabe połączenie jest przedstawione jako lód na patyku. W przypadku uszkodzenia warstwy ochrony termicznej choćby posiadanie kodu lub klucza do silnego łącza (kłódka), które pozostanie sprawne, nie wystarczy do uruchomienia głowicy. Silne połączenia to z kolei właśnie „kłódki” i „zamki”, i tak jak w przypadku kłódki tylko jeden unikalny klucz powinien być w stanie ją otworzyć, tak silne łącza mają za zadanie umożliwić detonacje tylko w przypadku otrzymania poprawnego, unikalnego sygnału. Unikalność sygnału jest wymogiem ze względu na konieczność wykluczenia możliwości przypadkowej detonacji przez losowe czynniki (niejako moglibyśmy powiedzieć przez fuzzing ). Co interesujące, wzór sygnału i opis zapewnienia unikalności były opisane w publicznie dostępnych dokumentach. Silne łącze powinno więc być jedynym „miejscem” gdzie zapada analiza danych wejściowych i podjęcie decyzji – wszelkie inne elementy mają za zadanie albo przesłać dalej sygnał albo uniemożliwić działanie w przypadku prób naruszenia integralności głowicy,
Jaką formę przybierają same zabezpieczenia, które umożliwiają operatorom uzbrojenie głowic? Pierwsze PAL były zamkami z 3 lub 4 cyfrowym kodem. Wersje czterocyfrowe umożliwiały podzielenie klucza między dwie osoby, tak aby wyegzekwować zasadę zgodności dwóch osób co do uruchomienia głowicy. Zamki blokowały dostęp do części głowicy gdzie musiały zostać umieszczone zapalniki, układy elektryczne, lub mechanizmy zapalnika. Dalej wykorzystywane były systemy o oznaczeniach CAT A – CAT F:
- CAT A – urządzenia wykorzystywane w pociskach rakietowych z czterocyfrowym kodem, do uzbrojenia wymagały zewnętrznego moduły podłączanego przez załogę.
- CAT B – podobne do CAT A, ale stosowane w bombach. Posiadały również funkcje sprawdzenia bez uzbrojenia i zmiany kodu.
- CAT C – zabezpieczone sześciocyfrowym kodem, zbyt wiele błędnych prób trwale wyłączało głowicę.
- CAT D – zabezpieczone sześciocyfrowym kodem i przyjmujące więcej niż jeden kod. W ten sposób jednym kodem można było uzbroić wiele głowic, a także stosować kody do wykorzystania podczas ćwiczeń, do rozbrojenia głowic, bądź umożliwiające wybór mocy głowicy.
- CAT F – podobne do CAT D, ale stosujące dwunastocyfrowy kod.
Naturalnie aby PAL spełniały swoją rolę i skutecznie uwierzytelniały otrzymane kody, to muszą być dość złożonymi urządzeniami. Co interesujące, według relacji byłych kryptologów Jima Frazera i Gusa Simmonsa to właśnie Memorandum Kennedy’ego i wynikające z niego potrzeby poskutkowały stworzeniem przez NSA kryptografii klucza publicznego. Zdaniem Steve’a Bellovin oraz bazując na publicznych informacjach o tym jak działają PAL, teoria ta nie znajduje potwierdzenia, a oficjalna wersja łącząca powstanie tego rodzaju kryptografii z pracownikami GCHQ jest dużo lepiej udokumentowana. Tego jak jest/było naprawdę nie stwierdzimy, ale na pewno PAL zawierają komponenty kryptograficzne choćby ze względu na konieczność uwierzytelnienia sygnału. Dodatkowo PAL musi zabezpieczać głowicę choćby w sytuacji gdy nieuprawniona osoba ma fizyczny dostęp do urządzenia, a więc może korzystać z wszelkich technik obrazowania i analizy w celu uzyskania informacji o działaniu systemu. Wzmianki o stosowaniu asymetrycznej kryptografii znajdziemy w dokumencie z 1984 PAL Control Of Theater Nuclear Weapons. Opisany tam ACP (Asymmetric Crypto PAL) miałby w tamtym czasie być w fazie badań i pierwszych prototypów. Zgodnie z opisem, zaletami w stosunku do CAP (Code Activated PAL) byłaby lepsza ochrona kodów zapisanych w urządzeniu w przypadku prób fizycznej analizy systemu i jego pamięci, co moglibyśmy łączyć właśnie z korzystaniem z pary prywatnego i publicznego klucza.
Pomimo, iż dokument ten został znacznie ocenzurowany przed publikacją to możemy w nim znaleźć kilka (niskiej jakości) ilustracji przedstawiających elementy PAL:
Szczegóły techniczne działania PAL nie są oczywiście znane, jednak pojawiały się hipotezy co do głównych założeń urządzenia. Steve Bellowin i Phil Karn zakładali, iż PAL działa na zasadzie odszyfrowania z klucza szczegółowej sekwencji czasowej, w ten sposób, iż tylko odpowiednia sekwencja detonacji ładunków doprowadzi do eksplozji nuklearnej. Kolejną opcją byłyby pomieszane przewody przesyłające sygnał z mechanizmem rotorów podobnym do stosowanego w Enigmie. Wprowadzenie adekwatnego kodu powodowałoby takie ustawienie mechanicznych elementów, iż byłoby możliwe przesłanie sygnału do detonatora. We wcześniej wspomnianych dokumentach dotyczących generowania unikalnych sygnałów znajdziemy również adnotacje, iż wprowadzenie kodu poprzez klawiaturę nie spełnia wymaganych standardów pewności i łatwości użytkowania. W związku z tym operatorzy prawdopodobnie korzystają z jakiegoś rodzaju zewnętrznej pamięci podłączanej do PAL.
Dodatkowo w 2002 roku Sandia National Laboratories poinformowało o zakończeniu projektu unowocześnienia systemu zarządzania kodami CMS (Code Management System). W publikacji możemy przeczytać, iż na nowy system składa się dziewięć elementów softwarowych i pięć sprzętowych i umożliwia on kompleksową obsługę broni nuklearnej z uwzględnieniem przechowywania, testowania, audytu, i zmiany kodów. Dodatkowo, moduł kryptograficzny zawiera trzy układy kryptograficzne i jest wielkości dużego laptopa. CMS wspiera szyfrowanie end-to-end tak, aby zapobiec możliwości przechwycenia kodów w trakcie ich przesyłania podczas procedury zmiany kodu. Informacja ujawnia również złożoność oprogramowania, które rzekomo składa się z 160 000 linii kodu, nie wliczając komentarzy.
Twierdzenie, iż stworzenie zabezpieczeń chroniących głowice nuklearne jest trudnym zadaniem to truizm. Poza oczywistą złożonością problemu należy jednak pamiętać, iż systemy muszą zapewniać nie tylko bezpieczeństwo ale i niezawodność gwarantującą nuklearne odstraszanie. W takim też kontekście należy odczytywać informacje, które w innych warunkach byłyby bardzo zaskakujące. Przykładowo, iż Siły Powietrzne USA dopiero w 2019 roku odeszły od stosowania ośmiocalowych dyskietek w komputerach kontrolujących międzykontynentalne pociski balistyczne. Problemy wynikające z konieczności pogodzenia bezpieczeństwa, niezawodności, i prostoty obsługi sprawiają, iż bezpieczeństwo broni atomowej jest zagadnieniem godnym uwagi każdego zainteresowanego inżynierią bezpieczeństwa.