Post on 15-Feb-2021
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)