Ryszard Tanaśzon8.physd.amu.edu.pl/~tanas/krypt11.pdf · 16 Zarządzanie kluczami 16.1 Generowanie...

57
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wyklad 11

Transcript of Ryszard Tanaśzon8.physd.amu.edu.pl/~tanas/krypt11.pdf · 16 Zarządzanie kluczami 16.1 Generowanie...

  • Kryptografiaz elementami kryptografii kwantowej

    Ryszard Tanaś

    http://zon8.physd.amu.edu.pl/~tanas

    Wykład 11

    http://zon8.physd.amu.edu.pl/~tanas

  • Spis treści

    16 Zarządzanie kluczami 316.1 Generowanie kluczy . . . . . . . . . . . . . . . . . 316.2 Przesyłanie kluczy . . . . . . . . . . . . . . . . . 416.3 Przechowywanie kluczy . . . . . . . . . . . . . . . 5

    17 Uzgadnianie kluczy 817.1 Algorytm Diffiego-Hellmana . . . . . . . . . . . . 817.2 Algorytm ElGamala . . . . . . . . . . . . . . . . . 917.3 Station-to Station protocol (STS) . . . . . . . . . 1017.4 Uzgadnianie klucza z szyfrowaniem . . . . . . . . . 1217.5 ssh (secure shell) . . . . . . . . . . . . . . . . . . 15

  • 16 Zarządzanie kluczami

    16.1 Generowanie kluczy

    • Do generowania kluczy najlepiej nadają się generatory ciągówlosowych.

    • Przykład: standard ANSI X9.17(Financial Institution Key Management)Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczamiK1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a Tznacznikiem czasu, wtedy klucz losowy Ri generuje się wnastępujący sposób:Ri = EDEK1,K2(EDEK1,K2(Ti)⊕ Vi)Vi+1 = EDEK1,K2(EDEK1,K2(Ti)⊕Ri)

  • 16 Zarządzanie kluczami

    16.1 Generowanie kluczy

    • Do generowania kluczy najlepiej nadają się generatory ciągówlosowych.

    • Przykład: standard ANSI X9.17(Financial Institution Key Management)Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczamiK1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a Tznacznikiem czasu, wtedy klucz losowy Ri generuje się wnastępujący sposób:Ri = EDEK1,K2(EDEK1,K2(Ti)⊕ Vi)Vi+1 = EDEK1,K2(EDEK1,K2(Ti)⊕Ri)

  • 16 Zarządzanie kluczami

    16.1 Generowanie kluczy

    • Do generowania kluczy najlepiej nadają się generatory ciągówlosowych.

    • Przykład: standard ANSI X9.17(Financial Institution Key Management)Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczamiK1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a Tznacznikiem czasu, wtedy klucz losowy Ri generuje się wnastępujący sposób:Ri = EDEK1,K2(EDEK1,K2(Ti)⊕ Vi)Vi+1 = EDEK1,K2(EDEK1,K2(Ti)⊕Ri)

  • 16.2 Przesyłanie kluczy

    • Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznymalgorytmem kryptograficznym, to potrzebują tego samego klucza.

    • Alicja może wygenerować taki klucz używając generatora ciągówlosowych, ale pozostaje problem jak w bezpieczny sposób przekazaćten klucz Bolkowi.

  • 16.2 Przesyłanie kluczy

    • Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznymalgorytmem kryptograficznym, to potrzebują tego samego klucza.

    • Alicja może wygenerować taki klucz używając generatora ciągówlosowych, ale pozostaje problem jak w bezpieczny sposób przekazaćten klucz Bolkowi.

  • 16.2 Przesyłanie kluczy

    • Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznymalgorytmem kryptograficznym, to potrzebują tego samego klucza.

    • Alicja może wygenerować taki klucz używając generatora ciągówlosowych, ale pozostaje problem jak w bezpieczny sposób przekazaćten klucz Bolkowi.

  • 16.3 Przechowywanie kluczy

    • Najbezpieczniejszym sposobem przechowywania klucza jestzapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, żeAlicja może zapomnieć taki klucz.

    • Klucze mogą być przechowywane w pamięci ROM. Klucz taki możebyć rozdzielony na połowy, z których jedna jest przechowywana wterminalu a druga w pamięci ROM.

    • W wielu sytuacjach istnieje konieczność przechowywania kopiizapasowych klucza. Do tego celu wykorzystuje się np. kartyinteligentne.

    • Klucze na ogół mają strukturę hierarchiczną

  • 16.3 Przechowywanie kluczy

    • Najbezpieczniejszym sposobem przechowywania klucza jestzapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, żeAlicja może zapomnieć taki klucz.

    • Klucze mogą być przechowywane w pamięci ROM. Klucz taki możebyć rozdzielony na połowy, z których jedna jest przechowywana wterminalu a druga w pamięci ROM.

    • W wielu sytuacjach istnieje konieczność przechowywania kopiizapasowych klucza. Do tego celu wykorzystuje się np. kartyinteligentne.

    • Klucze na ogół mają strukturę hierarchiczną

  • 16.3 Przechowywanie kluczy

    • Najbezpieczniejszym sposobem przechowywania klucza jestzapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, żeAlicja może zapomnieć taki klucz.

    • Klucze mogą być przechowywane w pamięci ROM. Klucz taki możebyć rozdzielony na połowy, z których jedna jest przechowywana wterminalu a druga w pamięci ROM.

    • W wielu sytuacjach istnieje konieczność przechowywania kopiizapasowych klucza. Do tego celu wykorzystuje się np. kartyinteligentne.

    • Klucze na ogół mają strukturę hierarchiczną

  • 16.3 Przechowywanie kluczy

    • Najbezpieczniejszym sposobem przechowywania klucza jestzapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, żeAlicja może zapomnieć taki klucz.

    • Klucze mogą być przechowywane w pamięci ROM. Klucz taki możebyć rozdzielony na połowy, z których jedna jest przechowywana wterminalu a druga w pamięci ROM.

    • W wielu sytuacjach istnieje konieczność przechowywania kopiizapasowych klucza. Do tego celu wykorzystuje się np. kartyinteligentne.

    • Klucze na ogół mają strukturę hierarchiczną

  • 16.3 Przechowywanie kluczy

    • Najbezpieczniejszym sposobem przechowywania klucza jestzapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, żeAlicja może zapomnieć taki klucz.

    • Klucze mogą być przechowywane w pamięci ROM. Klucz taki możebyć rozdzielony na połowy, z których jedna jest przechowywana wterminalu a druga w pamięci ROM.

    • W wielu sytuacjach istnieje konieczność przechowywania kopiizapasowych klucza. Do tego celu wykorzystuje się np. kartyinteligentne.

    • Klucze na ogół mają strukturę hierarchiczną

  • • master keysklucze znajdujące się najwyżej w hierarchii, takie klucze nigdy nie sązmieniane. Taki klucz jest zwykle tylko zapamiętywany przezużytkownika lub zapisany w urządzeniu kryptograficznym. Może onbyć częściowo zapisany na kartach inteligentnych a częściowozapamiętywany przez użytkownika. Master key służy dozabezpieczania innych kluczy.

    • klucze do szyfrowania kluczy (keys-encrypting keys)klucze wykorzystywane w protokołach do uzgadniania (przesyłania)kluczy.

  • • master keysklucze znajdujące się najwyżej w hierarchii, takie klucze nigdy nie sązmieniane. Taki klucz jest zwykle tylko zapamiętywany przezużytkownika lub zapisany w urządzeniu kryptograficznym. Może onbyć częściowo zapisany na kartach inteligentnych a częściowozapamiętywany przez użytkownika. Master key służy dozabezpieczania innych kluczy.

    • klucze do szyfrowania kluczy (keys-encrypting keys)klucze wykorzystywane w protokołach do uzgadniania (przesyłania)kluczy.

  • • klucze do szyfrowania danych (data keys)są to zwykle klucze o krótkim czasie ważności (np. klucze sesyjne)służące do szyfrowania danych

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17 Uzgadnianie kluczy

    17.1 Algorytm Diffiego-Hellmana

    • Alicja i Bolek uzgadniają dwie liczby: dużą liczbę pierwszą p orazliczbę g, która jest generatorem Zp

    • Alicja wybiera losowo dużą liczbę całkowitą a < p− 1 i przesyłaBolkowi x = ga (mod p)

    • Bolek wybiera losowo dużą liczbę całkowitą b < p− 1 i wysyła Alicjiy = gb (mod p)

    • Alicja oblicza K = ya (mod p)

    • Bolek oblicza K = xb (mod p)

    • Uzasadnienie:K = ya = (gb)a = gab (mod p)

    K = xb = (ga)b = gab (mod p)

  • 17.2 Algorytm ElGamala

    • Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następniewybiera losowo liczbę 0 < b < p− 1, oblicza gb (mod p) orazogłasza swój klucz publiczny {p, g, gb}

    • Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę0 < a < p− 1 i wysyła Bolkowiga (mod p)

    obliczając jednocześnie klucz K = (gb)a (mod p)

    • Bolek oblicza ten sam klucz K = (ga)b (mod p)

  • 17.2 Algorytm ElGamala

    • Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następniewybiera losowo liczbę 0 < b < p− 1, oblicza gb (mod p) orazogłasza swój klucz publiczny {p, g, gb}

    • Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę0 < a < p− 1 i wysyła Bolkowiga (mod p)

    obliczając jednocześnie klucz K = (gb)a (mod p)

    • Bolek oblicza ten sam klucz K = (ga)b (mod p)

  • 17.2 Algorytm ElGamala

    • Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następniewybiera losowo liczbę 0 < b < p− 1, oblicza gb (mod p) orazogłasza swój klucz publiczny {p, g, gb}

    • Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę0 < a < p− 1 i wysyła Bolkowiga (mod p)

    obliczając jednocześnie klucz K = (gb)a (mod p)

    • Bolek oblicza ten sam klucz K = (ga)b (mod p)

  • 17.2 Algorytm ElGamala

    • Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następniewybiera losowo liczbę 0 < b < p− 1, oblicza gb (mod p) orazogłasza swój klucz publiczny {p, g, gb}

    • Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę0 < a < p− 1 i wysyła Bolkowiga (mod p)

    obliczając jednocześnie klucz K = (gb)a (mod p)

    • Bolek oblicza ten sam klucz K = (ga)b (mod p)

  • 17.3 Station-to Station protocol (STS)• W tym protokole przyjmuje się, że Alicja ma certyfikat klucza

    publicznego Bolka i na odwrót Bolek ma certyfikat kluczapublicznego Alicji.

    • Niech E oznacza symetryczny algorytm szyfrujący, SA(M) oznaczapodpis Alicji pod wiadomością M : SA(M) = (H(M))dA

    (mod nA) (RSA na wartości funkcji hashującej). Każda ze stronwybiera odpowiednią liczbę pierwszą p oraz generator g w Zp.Każda ze stron wybiera klucze RSA do podpisu.

    • Alicja wybiera losowo liczbę a i wysyła Bolkowiga (mod p)

    • Bolek wybiera losowo liczbę b i oblicza klucz K = (ga)b (mod p)

  • 17.3 Station-to Station protocol (STS)• W tym protokole przyjmuje się, że Alicja ma certyfikat klucza

    publicznego Bolka i na odwrót Bolek ma certyfikat kluczapublicznego Alicji.

    • Niech E oznacza symetryczny algorytm szyfrujący, SA(M) oznaczapodpis Alicji pod wiadomością M : SA(M) = (H(M))dA

    (mod nA) (RSA na wartości funkcji hashującej). Każda ze stronwybiera odpowiednią liczbę pierwszą p oraz generator g w Zp.Każda ze stron wybiera klucze RSA do podpisu.

    • Alicja wybiera losowo liczbę a i wysyła Bolkowiga (mod p)

    • Bolek wybiera losowo liczbę b i oblicza klucz K = (ga)b (mod p)

  • 17.3 Station-to Station protocol (STS)• W tym protokole przyjmuje się, że Alicja ma certyfikat klucza

    publicznego Bolka i na odwrót Bolek ma certyfikat kluczapublicznego Alicji.

    • Niech E oznacza symetryczny algorytm szyfrujący, SA(M) oznaczapodpis Alicji pod wiadomością M : SA(M) = (H(M))dA

    (mod nA) (RSA na wartości funkcji hashującej). Każda ze stronwybiera odpowiednią liczbę pierwszą p oraz generator g w Zp.Każda ze stron wybiera klucze RSA do podpisu.

    • Alicja wybiera losowo liczbę a i wysyła Bolkowiga (mod p)

    • Bolek wybiera losowo liczbę b i oblicza klucz K = (ga)b (mod p)

  • 17.3 Station-to Station protocol (STS)• W tym protokole przyjmuje się, że Alicja ma certyfikat klucza

    publicznego Bolka i na odwrót Bolek ma certyfikat kluczapublicznego Alicji.

    • Niech E oznacza symetryczny algorytm szyfrujący, SA(M) oznaczapodpis Alicji pod wiadomością M : SA(M) = (H(M))dA

    (mod nA) (RSA na wartości funkcji hashującej). Każda ze stronwybiera odpowiednią liczbę pierwszą p oraz generator g w Zp.Każda ze stron wybiera klucze RSA do podpisu.

    • Alicja wybiera losowo liczbę a i wysyła Bolkowiga (mod p)

    • Bolek wybiera losowo liczbę b i oblicza klucz K = (ga)b (mod p)

  • 17.3 Station-to Station protocol (STS)• W tym protokole przyjmuje się, że Alicja ma certyfikat klucza

    publicznego Bolka i na odwrót Bolek ma certyfikat kluczapublicznego Alicji.

    • Niech E oznacza symetryczny algorytm szyfrujący, SA(M) oznaczapodpis Alicji pod wiadomością M : SA(M) = (H(M))dA

    (mod nA) (RSA na wartości funkcji hashującej). Każda ze stronwybiera odpowiednią liczbę pierwszą p oraz generator g w Zp.Każda ze stron wybiera klucze RSA do podpisu.

    • Alicja wybiera losowo liczbę a i wysyła Bolkowiga (mod p)

    • Bolek wybiera losowo liczbę b i oblicza klucz K = (ga)b (mod p)

  • • Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K iwysyła Alicjigb (mod p) oraz EK(SB(gb, ga))

    • Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane daneoraz używa klucza publicznego Bolka do sprawdzenia podpisu podwartością funkcji hashującej z konkatenacji obu eksponensów. Jeśliwartość funkcji hashującej zgadza się z otrzymaną przez niąwartością, Alicja akceptuje klucz K i wysyła BolkowiEK(SA(ga, gb))

    • Bolek deszyfruje otrzymaną wiadomość, weryfikuje podpis Alicji ijeśli wynik jest pozytywny, akceptuje klucz K

  • • Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K iwysyła Alicjigb (mod p) oraz EK(SB(gb, ga))

    • Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane daneoraz używa klucza publicznego Bolka do sprawdzenia podpisu podwartością funkcji hashującej z konkatenacji obu eksponensów. Jeśliwartość funkcji hashującej zgadza się z otrzymaną przez niąwartością, Alicja akceptuje klucz K i wysyła BolkowiEK(SA(ga, gb))

    • Bolek deszyfruje otrzymaną wiadomość, weryfikuje podpis Alicji ijeśli wynik jest pozytywny, akceptuje klucz K

  • • Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K iwysyła Alicjigb (mod p) oraz EK(SB(gb, ga))

    • Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane daneoraz używa klucza publicznego Bolka do sprawdzenia podpisu podwartością funkcji hashującej z konkatenacji obu eksponensów. Jeśliwartość funkcji hashującej zgadza się z otrzymaną przez niąwartością, Alicja akceptuje klucz K i wysyła BolkowiEK(SA(ga, gb))

    • Bolek deszyfruje otrzymaną wiadomość, weryfikuje podpis Alicji ijeśli wynik jest pozytywny, akceptuje klucz K

  • 17.4 Uzgadnianie klucza z szyfrowaniem

    • Zakładamy, że Alicja i Bolek (użytkownik i komputer) znająhasło P .

    • Alicja generuje losowo parę kluczy (publiczny i prywatny), szyfrujeklucz publiczny K ′ używając algorytmu symetrycznegowykorzystującego hasło P jako klucz i wysyła do BolkaEP (K ′)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując kluczK ′, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczempublicznym K ′ oraz kluczem P i wysyła AlicjiEP (EK′(K))

  • 17.4 Uzgadnianie klucza z szyfrowaniem

    • Zakładamy, że Alicja i Bolek (użytkownik i komputer) znająhasło P .

    • Alicja generuje losowo parę kluczy (publiczny i prywatny), szyfrujeklucz publiczny K ′ używając algorytmu symetrycznegowykorzystującego hasło P jako klucz i wysyła do BolkaEP (K ′)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując kluczK ′, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczempublicznym K ′ oraz kluczem P i wysyła AlicjiEP (EK′(K))

  • 17.4 Uzgadnianie klucza z szyfrowaniem

    • Zakładamy, że Alicja i Bolek (użytkownik i komputer) znająhasło P .

    • Alicja generuje losowo parę kluczy (publiczny i prywatny), szyfrujeklucz publiczny K ′ używając algorytmu symetrycznegowykorzystującego hasło P jako klucz i wysyła do BolkaEP (K ′)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując kluczK ′, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczempublicznym K ′ oraz kluczem P i wysyła AlicjiEP (EK′(K))

  • 17.4 Uzgadnianie klucza z szyfrowaniem

    • Zakładamy, że Alicja i Bolek (użytkownik i komputer) znająhasło P .

    • Alicja generuje losowo parę kluczy (publiczny i prywatny), szyfrujeklucz publiczny K ′ używając algorytmu symetrycznegowykorzystującego hasło P jako klucz i wysyła do BolkaEP (K ′)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując kluczK ′, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczempublicznym K ′ oraz kluczem P i wysyła AlicjiEP (EK′(K))

  • • Alicja deszyfruje wiadomość otrzymaną od Bolka uzyskując klucz K.Następnie generuje ciąg losowy rA, szyfruje go kluczem K i wysyłado BolkaEK(rA)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując ciąg rA,generuje własny ciąg losowy rB , szyfruje obydwa ciągi kluczem K iwysyła AlicjiEK(rA, rB)

    • Alicja deszyfruje wiadomość uzyskując rA i rB . Jeśli rA jestprawidłowe, szyfruje rB i wysyła do BolkaEK(rB)

    • Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz Kzostaje zaakceptowany jako klucz sesyjny.

  • • Alicja deszyfruje wiadomość otrzymaną od Bolka uzyskując klucz K.Następnie generuje ciąg losowy rA, szyfruje go kluczem K i wysyłado BolkaEK(rA)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując ciąg rA,generuje własny ciąg losowy rB , szyfruje obydwa ciągi kluczem K iwysyła AlicjiEK(rA, rB)

    • Alicja deszyfruje wiadomość uzyskując rA i rB . Jeśli rA jestprawidłowe, szyfruje rB i wysyła do BolkaEK(rB)

    • Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz Kzostaje zaakceptowany jako klucz sesyjny.

  • • Alicja deszyfruje wiadomość otrzymaną od Bolka uzyskując klucz K.Następnie generuje ciąg losowy rA, szyfruje go kluczem K i wysyłado BolkaEK(rA)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując ciąg rA,generuje własny ciąg losowy rB , szyfruje obydwa ciągi kluczem K iwysyła AlicjiEK(rA, rB)

    • Alicja deszyfruje wiadomość uzyskując rA i rB . Jeśli rA jestprawidłowe, szyfruje rB i wysyła do BolkaEK(rB)

    • Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz Kzostaje zaakceptowany jako klucz sesyjny.

  • • Alicja deszyfruje wiadomość otrzymaną od Bolka uzyskując klucz K.Następnie generuje ciąg losowy rA, szyfruje go kluczem K i wysyłado BolkaEK(rA)

    • Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując ciąg rA,generuje własny ciąg losowy rB , szyfruje obydwa ciągi kluczem K iwysyła AlicjiEK(rA, rB)

    • Alicja deszyfruje wiadomość uzyskując rA i rB . Jeśli rA jestprawidłowe, szyfruje rB i wysyła do BolkaEK(rB)

    • Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz Kzostaje zaakceptowany jako klucz sesyjny.

  • • Istnieją różne implementacje tego protokołu, z wykorzystaniemalgorytmu RSA czy ElGamala. Protokół ten wzmacniabezpieczeństwo przy uzgadnianiu klucza sesyjnego.

  • • Istnieją różne implementacje tego protokołu, z wykorzystaniemalgorytmu RSA czy ElGamala. Protokół ten wzmacniabezpieczeństwo przy uzgadnianiu klucza sesyjnego.

  • 17.5 ssh (secure shell)

    • Protokół umożliwiający bezpieczne logowanie się do komputerów wsieci stworzony przez Tatu Ylönena, który skutecznie zapobiegatakim metodom ataku jak IP Spoofing i DNS Spoofing, czy teżpodsłuchiwaniu haseł lub transmitowanych danych.

    • Obecnie rozwijana jest wersja OpenSSH, na licencji GNU.

  • 17.5 ssh (secure shell)

    • Protokół umożliwiający bezpieczne logowanie się do komputerów wsieci stworzony przez Tatu Ylönena, który skutecznie zapobiegatakim metodom ataku jak IP Spoofing i DNS Spoofing, czy teżpodsłuchiwaniu haseł lub transmitowanych danych.

    • Obecnie rozwijana jest wersja OpenSSH, na licencji GNU.

  • 17.5 ssh (secure shell)

    • Protokół umożliwiający bezpieczne logowanie się do komputerów wsieci stworzony przez Tatu Ylönena, który skutecznie zapobiegatakim metodom ataku jak IP Spoofing i DNS Spoofing, czy teżpodsłuchiwaniu haseł lub transmitowanych danych.

    • Obecnie rozwijana jest wersja OpenSSH, na licencji GNU.

  • • przy instalacji programu generowana jest para kluczy algorytmuasymetrycznego przynależna danemu komputerowi — kluczpubliczny komputera— host key

    • przy uruchomieniu demona sshd generowana jest następna parakluczy — server keys. Publiczny jest dostępny do czytania, aprywatny jest przechowywany w pamięci komputera (nie jestzapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

    • każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), któresłużą do uwierzytelniania użytkownika. Klucz prywatny jestszyfrowany.

  • • przy instalacji programu generowana jest para kluczy algorytmuasymetrycznego przynależna danemu komputerowi — kluczpubliczny komputera— host key

    • przy uruchomieniu demona sshd generowana jest następna parakluczy — server keys. Publiczny jest dostępny do czytania, aprywatny jest przechowywany w pamięci komputera (nie jestzapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

    • każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), któresłużą do uwierzytelniania użytkownika. Klucz prywatny jestszyfrowany.

  • • przy instalacji programu generowana jest para kluczy algorytmuasymetrycznego przynależna danemu komputerowi — kluczpubliczny komputera— host key

    • przy uruchomieniu demona sshd generowana jest następna parakluczy — server keys. Publiczny jest dostępny do czytania, aprywatny jest przechowywany w pamięci komputera (nie jestzapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

    • każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), któresłużą do uwierzytelniania użytkownika. Klucz prywatny jestszyfrowany.

  • • przy instalacji programu generowana jest para kluczy algorytmuasymetrycznego przynależna danemu komputerowi — kluczpubliczny komputera— host key

    • przy uruchomieniu demona sshd generowana jest następna parakluczy — server keys. Publiczny jest dostępny do czytania, aprywatny jest przechowywany w pamięci komputera (nie jestzapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

    • każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), któresłużą do uwierzytelniania użytkownika. Klucz prywatny jestszyfrowany.

  • • Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputerten wysyła jej swoje dwa klucze publiczne host key i server key.Komputer Alicji sprawdza czy host key zgadza się z kluczemzapisanym w lokalnym pliku known-hosts.

    • Jeśli wszystko się zgadza to Alicja generuje losowy klucz sesji iszyfruje go po kolei obydwoma kluczami publicznymi komputeraBolka i tak uzyskany kryptogram przesyła do Bolka.

    • Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania kluczasesyjnego

    • Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczempublicznym Alicji.

  • • Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputerten wysyła jej swoje dwa klucze publiczne host key i server key.Komputer Alicji sprawdza czy host key zgadza się z kluczemzapisanym w lokalnym pliku known-hosts.

    • Jeśli wszystko się zgadza to Alicja generuje losowy klucz sesji iszyfruje go po kolei obydwoma kluczami publicznymi komputeraBolka i tak uzyskany kryptogram przesyła do Bolka.

    • Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania kluczasesyjnego

    • Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczempublicznym Alicji.

  • • Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputerten wysyła jej swoje dwa klucze publiczne host key i server key.Komputer Alicji sprawdza czy host key zgadza się z kluczemzapisanym w lokalnym pliku known-hosts.

    • Jeśli wszystko się zgadza to Alicja generuje losowy klucz sesji iszyfruje go po kolei obydwoma kluczami publicznymi komputeraBolka i tak uzyskany kryptogram przesyła do Bolka.

    • Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania kluczasesyjnego

    • Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczempublicznym Alicji.

  • • Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputerten wysyła jej swoje dwa klucze publiczne host key i server key.Komputer Alicji sprawdza czy host key zgadza się z kluczemzapisanym w lokalnym pliku known-hosts.

    • Jeśli wszystko się zgadza to Alicja generuje losowy klucz sesji iszyfruje go po kolei obydwoma kluczami publicznymi komputeraBolka i tak uzyskany kryptogram przesyła do Bolka.

    • Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania kluczasesyjnego

    • Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczempublicznym Alicji.

  • • Alicja deszyfruje otrzymany kryptogram i odsyła Bolkowi H(rB)udowadniając mu swoją tożsamość.W ten sposób zostaje ustanowiony bezpieczny kanał komunikacyjny.

    Zarzadzanie kluczamiGenerowanie kluczyPrzesylanie kluczyPrzechowywanie kluczy

    Uzgadnianie kluczyAlgorytm Diffiego-HellmanaAlgorytm ElGamalaStation-to Station protocol (STS)Uzgadnianie klucza z szyfrowaniemssh (emcolor=tmp@TPemcolor=emcoloraltemcolor=altemcolortmp@TPsecure shell)