XII Konerenca PLOUG Zakopane Paźdzernk 006 Neuronowy układ szyruący - analza bezpeczeństwa Potr Kotlarz Kazmerz Welk Unversty, ydgoszcz potrk@ukw.edu.pl Zbgnew Kotulsk Insttute o Fundamental Technologcal Research, PS and Insttute o Telecommuncatons, WUT Streszczene W pracy te, która est kontynuacą klku wcześneszych, podemuemy rozważana na temat układu szyruącego wykorzystuącego seć neuronową. Nasze prace zmerzaą do tego aby skonstruować seć neuronową, która byłaby w stane realzować różne algorytmy szyruące. Zmana realzowanego algorytmu ma następować po przeprowadzonym w określonych warunkach procese uczena. W naszych wcześneszych pracach [4],[5],[6], przedstawlśmy koncepcę realzac permutac oraz podstawena (s-box) za pomocą sec neuronowe, oparte na neurone McCulloch-Pttsa [] oraz regule Hebba. W te pracy skupmy sę na sec oparte na neurone logcznym []. Główne rozważana na tym etape pracy dotyczyć będą realzac permutac oraz oceny bezpeczeństwa przebegu procesu uczena sec neuronowe.
Neuronowy układ szyruący - analza bezpeczeństwa 9. Wprowadzene W ostatnm czase poawły sę prace na temat wykorzystana układów programowalnych do realzac algorytmów kryptogracznych. Dla mplementac sprzętowych ma to szczególne znaczne, poneważ zmana algorytmu realzowanego sprzętowo est szczególne kłopotlwa kosztowna. Jedną z perwszych prac była [7] gdze zaproponowano realzacę szyrowana w oparcu o technologę układów programowalnych ako modułu akceleratora kryptogracznego. Wykorzystuąc rekongurowany procesor RpeRench [8] zrealzowano mędzy nnym take algorytmy ak CRYPTON [9],[0], czy RC6 []. W te pracy proponuemy wykorzystane boolowskch sec neuronowych do realzac algorytmów szyruących.. daptacyne sec logczne wprowadzene W latach sedemdzesątych XX w. poawła sę koncepca adaptacynych sec logcznych, realzuących unkce boolowske []. Sec take składaą sę z bnarnych neuronów operuących na danych postac bnarne. Weśca, wyśce oraz wag takego neuronu mogą przymować wartośc 0 lub. Rys.. [3] Model neuron logcznego Powyższy rysunek przedstawa neuron bnarny, tego typu neuron posada zawsze tylko dwa weśca a blok realzue unkcę [3]:, y = 0, dla dla ( w ( w + ) x + ) x + ( w + ( w + ) x + ) x W sytuac, gdy wartośc wag weść neonu mogą przymować edyne wartośc 0 lub neuron będze realzował przy dane kombnac stanów wag (W) edną z czterech unkc boolowskch: ND, LEFT, RIGHT lub OR. Sec konstruowane z takch neuronów to zwykle sec welowarstwowe posadaące edno wyśce. W secach boolowskch każde weśce zwykłe (x ) est podwaane przez weśce negowane ( x ). Wykorzystane sec zbudowane z takch neuronów rozpoczyna sę od ncalzac, poprzez losowane wartośc wag poszczególnych neuronów. W procese ncalzac sec, eszcze przed ustalanem wartośc wag, następue losowe łączene każdego neuronu warstwy wstępne z ednym weścem prostym ednym negowanym. Proces uczena (adaptac) take sec prowadzony może być według trzech różnych metod: modykac poddawane są wag neuronów, rozmar sec est redukowany przy nadmarowośc ncalzowane sec lub następue rozbudowa struktury sec poprzez dodawane poedynczych neuronów lub małych podsec. Węce na ten temat można znaleźć w lteraturze [],[3]. Wytrenowana seć boolowska, ma tę zaletę, że łatwo mplementue sę tego rodzau struktury, równeż za pomocą rozwązań sprzętowych. W naszych rozważanach, o których mowa w dalszych rozdzałach, wykorzystuemy neuron logczny, ednak odchodzmy neco od koncepc sec boolowske z tylko ednym wyścem oraz z weścam negowanym. 3. Realzaca permutac za pomocą boolowske sec neuronowe W naszych wcześneszych pracach przedstawlśmy propozycę realzac permutac z wykorzystanem sec neuronowe oparte na neurone posadaącym wag o wartoścach rzeczywstych < ()
30 Potr Kotlarz oraz z progową unkcą aktywac. W te pracy zamerzamy zaprezentować pomysł na realzacę elementarnego przekształcena szyruącego, akm est permutaca z wykorzystanem neuronowe sec boolowske. Zastosowane sec boolowske stwarza neco nne warunk co do konstrukc układu permutuącego. Mowa tu główne o tym, ż neurony logczne posadaą zawsze tylko dwa weśca edno wyśce. Zasadę dzałana sec logczne przedstawlśmy w wcześneszym rozdzale. Zakładamy, że skonstruuemy pewną pulę neuronowych bloków szyruących, każdy z nch będze dawał możlwość realzac określone permutac na dane lczbe btów. Posadaąc take blok elementarne (sec neuronowe) będze można ch używać do budowy wększych sec, realzuących permutace dla bloku o określonym rozmarze tekstu awnego. 3.. Permutaca dwóch btów Założene est take: skonstruować blok, który będze realzował dowolną permutacę na dwóch btach tekstu awnego. W celu konstrukc takego bloku należy zbudować seć neuronową, która będze posadała dwa weśca dwa wyśca. Seć ma umożlwć realzacę następuących permutac: σ x = y x = y ), x x (3) σ = = y y σ, σ - to permutaca, x,y odpowedno: weśce, wyśce układu permutuącego. Posługuąc sę odpowedno skonstruowanym zborem uczącym chcemy meć możlwość decydowana o tym czy seć będze realzowała permutace σ czy σ. Na ponższym rysunku przedstawona est seć zbudowana z dwóch neuronów boolowskch, realzuąca permutacę dwóch btów. Rys.. Seć realzuąca permutacę dwóch btów. Seć składa sę dwóch takch samych neuronów, których dzałane opsane est przez wzór (). Zmana realzowane permutac, pomędzy σ σ dokonywana est z wykorzystane zborów uczących : permutaca σ : σ : x x y y 0 0 0 0 0 0 0 0 0 0 x x y y 0 0 0 0 0 0, permutaca W wynku przeprowadzonego procesu uczena zmane ulegaą wartośc wag dla: σ opsane wzorem () wag sec: w = ; w (4) =
Neuronowy układ szyruący - analza bezpeczeństwa 3 σ opsane wzorem (3) wag sec: w = ; w = ; w 0 (5) = Proces uczena przebega według zależnośc: d różnca pomędzy dopowedzą wzorcową seć a rzeczywstą y w - odpowedź wzorcowa sec y odpowedź rzeczywsta sec nr weśca neuronu, nr neuronu x weśce neuronu w waga neuronu, (n+) cykl uczący beżący a (n) poprzedn d = y w y w ( n + ) = w ( n) + d * X Zmana realzowane permutac odbywa sę poprzez przeprowadzene uczena sec z wykorzystanem odpowednego zboru uczącego. 3.. Permutaca czterech btów W naszych pracach [4], [6], gdze wykorzystywalśmy sec neuronowe oparte na neuronach McCulloch-Pttsa [] oraz regule Hebba, przedstawlśmy koncepcę realzac bloku dokonuącego permutac trzech btów. W przypadku sec wykorzystuące neurony logczne, które mogą posadać tylko dwa wyśca, ako drug proponuemy neuronowy blok permutac czterech btów. Ponże przedstawona est neuronowa seć boolowska, realzuąca permutacę czterech btów: W W 7 W 7 W W W 5 W 5 W 8 W 8 W 3 W 3 W 6 W 6 W 9 W 9 W 4 W 4 W 0 W 0 W X X X3 X4 Y Y Y3 Y 4 Rys. 3. Seć realzuąca permutacę czterech btów Z powodów ogranczeń obętoścowych te pracy, przedstawamy tu tylko ako przykład zbór uczący dla edne permutac na czterech btach.
3 Potr Kotlarz x x x3 x4 3 4 σ = = (7) y y y3 y4 3 4 Po przeprowadzonym procese uczena, zborem zapsanym powyże, seć przyme wartośc wag dla permutac σ opsane wzorem (7) : 6 w w 6 = ; w = ; w 7 = ; w 7 3 = ; w 8 3 = ; w 8 = ; w 4 9 = ; w 4 9 5 = ; w 0 = ; w 5 = ; w Seć neuronowa przedstawona na rys.3, opera swoe dzałane na tych samych neuronach ake wykorzystano w sec dla dwóch btów, (rys. zwór ()). 4. ezpeczne zmany realzowanego algorytmu przez seć neuronową Zmana algorytmu szyru realzowanego przez seć dokonue sę poprzez prowadzony w określonych warunkach proces uczena. Dla uproszczena, w wszystkch kolenych rozważanach, zakładamy, że układ szyruący realzue edyne permutacę btów, tak ak zostało to opsane powyże. Przymuąc założene, że skonstruowaną odpowedno seć traktuemy ako czarną skrzynkę umeszczoną na przykład gdześ na odległym serwerze, koneczna est możlwość zdalnego wpływana na realzowane przez ną przekształcene. Przymuąc założene, że rozważany układ pracue w układze klent serwer. Rolę klenta będze pełnł właśccel czarne skrzynk, który będze chcał decydować, o tym, ake przekształcene szyruące ma realzować owa czarna skrzynka. 4.. Uczene po strone serwera Decyduąc sę na przeprowadzene procesu uczena przez serwer (S), nezbędne est dostarczene zboru uczącego skonstruowanego po strone klenta (K) do aplkac odpowedzalne za przeprowadzene procesu uczena. Na rys 4. przedstawony est schematyczne, wspomnany wcześne układ K-S. Układ S może pracować w dwóch trybach. Uczena (tryb T) oraz (T), czyl szyrowane tekstu awnego. Poprzez kanał otwarty rozumemy seć, która ne est chronona np. Internet. K Kanał otwarty Zbór uczący Szyrogram T T Tekst awny S lack box, aplkaca ucząca Rys. 4. Uczene po strone serwera W celu spowodowana zmany algorytmu realzowanego przez seć neuronową zbór uczący mus zostać dostarczony do aplkac serwera obsługuące proces uczena sec. Jeśl przesłany zostane kompletny zbór uczący to ntruz na podstawe ego analzy będze w stane ustalć real- = 0; 0 = 0. (8)
Neuronowy układ szyruący - analza bezpeczeństwa 33 zowaną permutacę, pod warunkem znaomośc struktury sec. Ne est to, węc nalepsze rozwązane. 4. Uczene po strone klenta przesyłane wartośc wag (unkca XOR) lternatywą dla tego rozwązana est przeprowadzene procesu uczena po strone klenta. Do serwerów natomast przesyłane są nowe parametry sec. Jeśl przymemy, że poawene sę w otwartym kanale wymany normac nowych wartośc wag est równeż problematyczne z punktu wdzena bezpeczeństwa to można utrudnć całą operacę potencalnemu ntruzow. Zmuszaąc go do prowadzena nasłuchu cągłego gromadzena przechwyconych normac. Przed wysłanem nowych wartośc wag do serwera poddaemy e dzałanu unkc XOR z wartoścam poprzednm wag. w (k) wartośc wysyłane do serwera (n+) nowa wartość wag, (n)wartość poprzedna pozostałe oznaczena ak we wzorze (6) w ( n + ) w ( n) w ( k) (9) = w ( n + ) = w ( k) w ( n) (0) K aplkaca ucząca Kanał otwarty w (k) Szyrogram T T Tekst awny S lack box Rys. 5. Uczene po strone serwera Tak węc na rysunku nr 5 pokazane est, że w otwartym kanale wymany normac poawa sę edyne wynk operac XOR na wartoścach poprzednch wag oraz nowych (9). Po strone (S) przeprowadzona est operaca odwrotna (0). Na podstawe wykonan unkc XOR na obecnych wartoścach wag oraz otrzymanym cągu btów w (k) otrzymuemy nowe parametry sec. Tak, węc osoba podsłuchuąca transmsę będze musała posadać wedzę na temat stanu początkowego. Ponadto koneczne est w takm wypadku prowadzene nasłuchu cągłego w celu gromadzena normac na temat kolenych stanów sec. Jeżel założymy, że stan początkowy sec, ustalany będze w taemncy pomędzy stroną klenta serwera, to utrzymane w taemncy struktury sec ne będze uż warunkem konecznym. 5. Podsumowane Praca ta to rozważana na temat potencalnych możlwych zastnena trudnośc zagrożeń dla przeprowadzena w bezpeczny sposób procesu zmany realzowanego szyry przez seć neuronową. Ogranczylśmy sę tuta edyne do realzac operac permutac z wykorzystane sec neuronowe boolowske. Jak zostało to przedstawone w powyższych rozdzałach przesyłane kanałem otwartym zboru uczącego ne est rozwązanem nalepszym. Rozwązane zaproponowane w rozdzale 4. wydae sę lepszym z punktu wdzena bezpeczeństwa. Kolenym etapem prac, będze przeprowadzene, rzeczywstych ataków, dla różnych kongurac sec neuronowe. blograa [] pw.s.mc Culloch and W.Ptts, " Logcal Calculus o the Ideas Immanent n Nervous ctvty", ulletn o Mathematcal ophyscs, No 5, 943 [] W.rmstrong and J.Gecse, "daptaton lgorthms or nary Tree Networks", IEEE Trans. on Systems, Man and Cybernetcs, Vol. 9, pp. 76-85, 979.
34 Potr Kotlarz [3] P.S.Szczepanak, Oblczena ntelgentne szybke przekształcena klasykatory, kademcka Ocyna Wydawncza EXIT, Warszawa 004. [4] P.Kotlarz, Z.Kotulsk, "pplcaton o neural networks or mplementaton o cryptographc unctons", "Multmeda w bznese edukac", Częstochowa 005 [5] P.Kotlarz, Z.Kotulsk, On applcaton o neural networks or S-boxes desgn, Lecture Notes n rtcal Intellgence, LNCS 358, pp. 43-48, erln 005. [6] P.Kotlarz, Z.Kotulsk, Metody sztuczne ntelgenc we współczesne kryptogra, Materały konerencyne Ploug 05, Zakopane paźdzernk 005. [7] Emeka Mosanya, Chrsto Teuscher, Recongurable and Modular Cryptographc Coprocessor, Lecture Notes n Computer Scence, erln 999 [8] S.Goldsten, Hgh-Peromance Flexble rchtecture or Cryptography, Proceedngs o the Workshop on Cryptographc Hardware, ugust 999 [9] Lm C.H, CRYPTON: New 8-bt lock Cpher, Proceedngs o the Frst dvanced Encrypton Standard Canddate Conerence, Calorna, ugust 998 [0] W.Laskowsk, Układy programowalne ako narzędza wspomagaące kryptograczną ochronę danych, Przegląd telekomunkacyny, nr 3/00 [] Lars R. Knudsen Department o Inormatcs, Unversty o ergen, N-500 ergen : Correlatons n RC6, July 9, 999