• Nie Znaleziono Wyników

krypt11.pdf ,

N/A
N/A
Protected

Academic year: 2021

Share "krypt11.pdf ,"

Copied!
57
0
0

Pełen tekst

(1)

Kryptografia

z elementami kryptografii kwantowej

Ryszard Tanaś

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

(2)

Spis treści

16 Zarządzanie kluczami

3

16.1 Generowanie kluczy

. . . .

3

16.2 Przesyłanie kluczy

. . . .

4

16.3 Przechowywanie kluczy

. . . .

5

17 Uzgadnianie kluczy

8

17.1 Algorytm Diffiego-Hellmana

. . . .

8

17.2 Algorytm ElGamala

. . . .

9

17.3 Station-to Station protocol (STS)

. . . .

10

17.4 Uzgadnianie klucza z szyfrowaniem

. . . .

12

(3)

16 Zarządzanie kluczami

16.1 Generowanie kluczy

Do generowania kluczy najlepiej nadają się generatory ciągów losowych.

Przykład: standard ANSI X9.17

(Financial Institution Key Management)

Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczami

K1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a T znacznikiem czasu, wtedy klucz losowy Ri generuje się w

następujący sposób:

Ri = EDEK1,K2(EDEK1,K2(Ti) ⊕ Vi)

(4)

16 Zarządzanie kluczami

16.1 Generowanie kluczy

Do generowania kluczy najlepiej nadają się generatory ciągów losowych.

Przykład: standard ANSI X9.17

(Financial Institution Key Management)

Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczami

K1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a T znacznikiem czasu, wtedy klucz losowy Ri generuje się w

następujący sposób:

Ri = EDEK1,K2(EDEK1,K2(Ti) ⊕ Vi)

(5)

16 Zarządzanie kluczami

16.1 Generowanie kluczy

Do generowania kluczy najlepiej nadają się generatory ciągów losowych.

Przykład: standard ANSI X9.17

(Financial Institution Key Management)

Niech EDEK1,K2(X) oznacza szyfrowanie 3-DES z kluczami K1, K2 liczby X. Niech V0 będzie tajną liczbą 64 bitową, a T znacznikiem czasu, wtedy klucz losowy Ri generuje się w

następujący sposób:

Ri = EDEK1,K2(EDEK1,K2(Ti) ⊕ Vi) Vi+1 = EDEK1,K2(EDEK1,K2(Ti) ⊕ Ri)

(6)

16.2 Przesyłanie kluczy

Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznym

algorytmem kryptograficznym, to potrzebują tego samego klucza.

Alicja może wygenerować taki klucz używając generatora ciągów

losowych, ale pozostaje problem jak w bezpieczny sposób przekazać ten klucz Bolkowi.

(7)

16.2 Przesyłanie kluczy

Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznym

algorytmem kryptograficznym, to potrzebują tego samego klucza.

Alicja może wygenerować taki klucz używając generatora ciągów

losowych, ale pozostaje problem jak w bezpieczny sposób przekazać ten klucz Bolkowi.

(8)

16.2 Przesyłanie kluczy

Jeśli Alicja i Bolek zamierzają posługiwać się symetrycznym

algorytmem kryptograficznym, to potrzebują tego samego klucza.

Alicja może wygenerować taki klucz używając generatora ciągów

losowych, ale pozostaje problem jak w bezpieczny sposób przekazać ten klucz Bolkowi.

(9)

16.3 Przechowywanie kluczy

Najbezpieczniejszym sposobem przechowywania klucza jest

zapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, że Alicja może zapomnieć taki klucz.

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

W wielu sytuacjach istnieje konieczność przechowywania kopii zapasowych klucza. Do tego celu wykorzystuje się np. karty inteligentne.

(10)

16.3 Przechowywanie kluczy

Najbezpieczniejszym sposobem przechowywania klucza jest

zapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, że Alicja może zapomnieć taki klucz.

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

W wielu sytuacjach istnieje konieczność przechowywania kopii zapasowych klucza. Do tego celu wykorzystuje się np. karty inteligentne.

(11)

16.3 Przechowywanie kluczy

Najbezpieczniejszym sposobem przechowywania klucza jest

zapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, że Alicja może zapomnieć taki klucz.

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

W wielu sytuacjach istnieje konieczność przechowywania kopii zapasowych klucza. Do tego celu wykorzystuje się np. karty inteligentne.

(12)

16.3 Przechowywanie kluczy

Najbezpieczniejszym sposobem przechowywania klucza jest

zapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, że Alicja może zapomnieć taki klucz.

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

W wielu sytuacjach istnieje konieczność przechowywania kopii zapasowych klucza. Do tego celu wykorzystuje się np. karty inteligentne.

(13)

16.3 Przechowywanie kluczy

Najbezpieczniejszym sposobem przechowywania klucza jest

zapamiętanie go przez Alicję. Niestety sposób ten ma tę wadę, że Alicja może zapomnieć taki klucz.

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

W wielu sytuacjach istnieje konieczność przechowywania kopii zapasowych klucza. Do tego celu wykorzystuje się np. karty inteligentne.

(14)

master keys

klucze znajdujące się najwyżej w hierarchii, takie klucze nigdy nie są zmieniane. Taki klucz jest zwykle tylko zapamiętywany przez

użytkownika lub zapisany w urządzeniu kryptograficznym. Może on być częściowo zapisany na kartach inteligentnych a częściowo

zapamiętywany przez użytkownika. Master key służy do zabezpieczania innych kluczy.

klucze do szyfrowania kluczy

(keys-encrypting keys)

klucze wykorzystywane w protokołach do uzgadniania (przesyłania) kluczy.

(15)

master keys

klucze znajdujące się najwyżej w hierarchii, takie klucze nigdy nie są zmieniane. Taki klucz jest zwykle tylko zapamiętywany przez

użytkownika lub zapisany w urządzeniu kryptograficznym. Może on być częściowo zapisany na kartach inteligentnych a częściowo

zapamiętywany przez użytkownika. Master key służy do zabezpieczania innych kluczy.

klucze do szyfrowania kluczy

(

keys-encrypting keys

)

klucze wykorzystywane w protokołach do uzgadniania (przesyłania) kluczy.

(16)

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)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(18)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(19)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(20)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji y = 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)

(21)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(22)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(23)

17 Uzgadnianie kluczy

17.1 Algorytm Diffiego-Hellmana

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

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

Bolek wybiera losowo dużą liczbę całkowitą b < p − 1 i wysyła Alicji

y = 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)

(24)

17.2 Algorytm ElGamala

Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następnie wybiera losowo liczbę 0 < b < p − 1, oblicza gb (mod p) oraz

ogłasza swój klucz publiczny {p, g, gb}

Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę

0 < a < p − 1 i wysyła Bolkowi

ga (mod p)

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

(25)

17.2 Algorytm ElGamala

Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następnie wybiera losowo liczbę 0 < b < p − 1, oblicza gb (mod p) oraz

ogłasza swój klucz publiczny {p, g, gb}

Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę

0 < a < p − 1 i wysyła Bolkowi

ga (mod p)

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

(26)

17.2 Algorytm ElGamala

Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następnie wybiera losowo liczbę 0 < b < p − 1, oblicza gb (mod p) oraz

ogłasza swój klucz publiczny {p, g, gb}

Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę 0 < a < p − 1 i wysyła Bolkowi

ga (mod p)

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

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

(27)

17.2 Algorytm ElGamala

Bolek wybiera liczbę pierwszą p oraz generator g w Zp, a następnie wybiera losowo liczbę 0 < b < p − 1, oblicza gb (mod p) oraz

ogłasza swój klucz publiczny {p, g, gb}

Alicja pobiera klucz publiczny Bolka, wybiera losowo liczbę

0 < a < p − 1 i wysyła Bolkowi

ga (mod p)

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

(28)

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 klucza

publicznego Alicji.

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

(mod nA) (RSA na wartości funkcji hashującej). Każda ze stron wybiera 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 Bolkowi

ga (mod p)

(29)

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 klucza

publicznego Alicji.

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

(mod nA) (RSA na wartości funkcji hashującej). Każda ze stron wybiera 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 Bolkowi

ga (mod p)

(30)

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 klucza

publicznego Alicji.

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

(mod nA) (RSA na wartości funkcji hashującej). Każda ze stron wybiera 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 Bolkowi

ga (mod p)

(31)

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 klucza

publicznego Alicji.

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

(mod nA) (RSA na wartości funkcji hashującej). Każda ze stron wybiera 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 Bolkowi ga (mod p)

(32)

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 klucza

publicznego Alicji.

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

(mod nA) (RSA na wartości funkcji hashującej). Każda ze stron wybiera 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 Bolkowi

ga (mod p)

(33)

Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K i wysyła Alicji

gb (mod p) oraz EK(SB(gb, ga))

Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane dane oraz używa klucza publicznego Bolka do sprawdzenia podpisu pod wartością funkcji hashującej z konkatenacji obu eksponensów. Jeśli wartość funkcji hashującej zgadza się z otrzymaną przez nią

wartością, Alicja akceptuje klucz K i wysyła Bolkowi

EK(SA(ga, gb))

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

(34)

Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K i wysyła Alicji

gb (mod p) oraz EK(SB(gb, ga))

Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane dane oraz używa klucza publicznego Bolka do sprawdzenia podpisu pod wartością funkcji hashującej z konkatenacji obu eksponensów. Jeśli wartość funkcji hashującej zgadza się z otrzymaną przez nią

wartością, Alicja akceptuje klucz K i wysyła Bolkowi EK(SA(ga, gb))

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

(35)

Bolek podpisuje konkatenację gb, ga, szyfruje podpis kluczem K i wysyła Alicji

gb (mod p) oraz EK(SB(gb, ga))

Alicja oblicza klucz K = (gb)a (mod p), deszyfruje otrzymane dane oraz używa klucza publicznego Bolka do sprawdzenia podpisu pod wartością funkcji hashującej z konkatenacji obu eksponensów. Jeśli wartość funkcji hashującej zgadza się z otrzymaną przez nią

wartością, Alicja akceptuje klucz K i wysyła Bolkowi

EK(SA(ga, gb))

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

(36)

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), szyfruje klucz publiczny K0 używając algorytmu symetrycznego

wykorzystującego hasło P jako klucz i wysyła do Bolka

EP (K0)

Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując klucz

K0, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczem publicznym K0 oraz kluczem P i wysyła Alicji

(37)

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), szyfruje klucz publiczny K0 używając algorytmu symetrycznego

wykorzystującego hasło P jako klucz i wysyła do Bolka

EP (K0)

Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując klucz

K0, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczem publicznym K0 oraz kluczem P i wysyła Alicji

(38)

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), szyfruje klucz publiczny K0 używając algorytmu symetrycznego

wykorzystującego hasło P jako klucz i wysyła do Bolka EP (K0)

Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując klucz

K0, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczem publicznym K0 oraz kluczem P i wysyła Alicji

(39)

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), szyfruje klucz publiczny K0 używając algorytmu symetrycznego

wykorzystującego hasło P jako klucz i wysyła do Bolka

EP (K0)

Bolek deszyfruje wiadomość otrzymaną od Alicji otrzymując klucz K0, następnie generuje klucz sesyjny K, szyfruje ten klucz kluczem publicznym K0 oraz kluczem P i wysyła Alicji

(40)

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

EK(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 i wysyła Alicji

EK(rA, rB)

Alicja deszyfruje wiadomość uzyskując rA i rB. Jeśli rA jest prawidłowe, szyfruje rB i wysyła do Bolka

EK(rB)

Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz K

(41)

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

EK(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 i wysyła Alicji

EK(rA, rB)

Alicja deszyfruje wiadomość uzyskując rA i rB. Jeśli rA jest prawidłowe, szyfruje rB i wysyła do Bolka

EK(rB)

Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz K

(42)

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

EK(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 i wysyła Alicji

EK(rA, rB)

Alicja deszyfruje wiadomość uzyskując rA i rB. Jeśli rA jest prawidłowe, szyfruje rB i wysyła do Bolka

EK(rB)

Bolek deszyfruje wiadomość i jeśli rB jest prawidłowe klucz K

(43)

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

EK(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 i wysyła Alicji

EK(rA, rB)

Alicja deszyfruje wiadomość uzyskując rA i rB. Jeśli rA jest prawidłowe, szyfruje rB i wysyła do Bolka

EK(rB)

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

(44)

Istnieją różne implementacje tego protokołu, z wykorzystaniem algorytmu RSA czy ElGamala. Protokół ten wzmacnia

(45)

Istnieją różne implementacje tego protokołu, z wykorzystaniem algorytmu RSA czy ElGamala. Protokół ten wzmacnia

(46)

17.5 ssh (

secure shell

)

Protokół umożliwiający bezpieczne logowanie się do komputerów w sieci stworzony przez Tatu Ylönena, który skutecznie zapobiega

takim metodom ataku jak IP Spoofing i DNS Spoofing, czy też podsłuchiwaniu haseł lub transmitowanych danych.

(47)

17.5 ssh (

secure shell

)

Protokół umożliwiający bezpieczne logowanie się do komputerów w sieci stworzony przez Tatu Ylönena, który skutecznie zapobiega

takim metodom ataku jak IP Spoofing i DNS Spoofing, czy też podsłuchiwaniu haseł lub transmitowanych danych.

(48)

17.5 ssh (

secure shell

)

Protokół umożliwiający bezpieczne logowanie się do komputerów w sieci stworzony przez Tatu Ylönena, który skutecznie zapobiega

takim metodom ataku jak IP Spoofing i DNS Spoofing, czy też podsłuchiwaniu haseł lub transmitowanych danych.

(49)

przy instalacji programu generowana jest para kluczy algorytmu asymetrycznego przynależna danemu komputerowi — klucz

publiczny komputera — host key

przy uruchomieniu demona sshd generowana jest następna para kluczy — server keys. Publiczny jest dostępny do czytania, a prywatny jest przechowywany w pamięci komputera (nie jest

zapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), które

służą do uwierzytelniania użytkownika. Klucz prywatny jest szyfrowany.

(50)

przy instalacji programu generowana jest para kluczy algorytmu asymetrycznego przynależna danemu komputerowi — klucz

publiczny komputera — host key

przy uruchomieniu demona sshd generowana jest następna para kluczy — server keys. Publiczny jest dostępny do czytania, a prywatny jest przechowywany w pamięci komputera (nie jest

zapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), które

służą do uwierzytelniania użytkownika. Klucz prywatny jest szyfrowany.

(51)

przy instalacji programu generowana jest para kluczy algorytmu asymetrycznego przynależna danemu komputerowi — klucz

publiczny komputera — host key

przy uruchomieniu demona sshd generowana jest następna para kluczy — server keys. Publiczny jest dostępny do czytania, a prywatny jest przechowywany w pamięci komputera (nie jest

zapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

każdy użytkownik generuje kolejną parę kluczy (ssh-keygen), które

służą do uwierzytelniania użytkownika. Klucz prywatny jest szyfrowany.

(52)

przy instalacji programu generowana jest para kluczy algorytmu asymetrycznego przynależna danemu komputerowi — klucz

publiczny komputera — host key

przy uruchomieniu demona sshd generowana jest następna para kluczy — server keys. Publiczny jest dostępny do czytania, a prywatny jest przechowywany w pamięci komputera (nie jest

zapisywany na dysku). Co godzinę para tych kluczy jest zmieniana.

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

(53)

Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputer ten wysyła jej swoje dwa klucze publiczne host key i server key.

Komputer Alicji sprawdza czy host key zgadza się z kluczem zapisanym w lokalnym pliku known-hosts.

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

Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania klucza sesyjnego

Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczem publicznym Alicji.

(54)

Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputer ten wysyła jej swoje dwa klucze publiczne host key i server key.

Komputer Alicji sprawdza czy host key zgadza się z kluczem zapisanym w lokalnym pliku known-hosts.

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

Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania klucza sesyjnego

Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczem publicznym Alicji.

(55)

Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputer ten wysyła jej swoje dwa klucze publiczne host key i server key.

Komputer Alicji sprawdza czy host key zgadza się z kluczem zapisanym w lokalnym pliku known-hosts.

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

Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania klucza sesyjnego

Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczem publicznym Alicji.

(56)

Kiedy Alicja próbuje zalogować się na komputer Bolka, to komputer ten wysyła jej swoje dwa klucze publiczne host key i server key.

Komputer Alicji sprawdza czy host key zgadza się z kluczem zapisanym w lokalnym pliku known-hosts.

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

Bolek potrzebuje dwóch kluczy prywatnych do odszyfrowania klucza sesyjnego

Bolek przesyła Alicji liczbę losową rB zaszyfrowaną kluczem publicznym Alicji.

(57)

Alicja deszyfruje otrzymany kryptogram i odsyła Bolkowi H(rB) udowadniając mu swoją tożsamość.

Cytaty

Powiązane dokumenty

Wybrano formułę stanowiska prezydium komisji stomato- logicznej WIL.Aby jednak nie zawracać sobie głowy zwoływaniem prezydium, ryzykiem, że się nie zbierze albo, nie daj Boże,

Najlepiej jest wtedy stosować się do pewnego schematu i po uważnym przeczytaniu treści pokonywać kolejne etapy rozwiązywania zadania:.. Ustal niewiadomą w zadaniu, oznacz

Wskazani uczniowie, gdy wykonają zadania, muszą niezwłocznie przesłać wyniki przez komunikator na e-dzienniku, lub mailem na adres:.. matematyka2LOpm@gmail.com skan

Wskazani uczniowi, gdy wykonają zadania, muszą niezwłocznie przesłać wyniki przez komunikator na e-dzienniku, lub mailem na adres:!. matematyka2LOpm@gmail.com skan

Zrób zrzut ekranu zawartości twojego folderu (Print Screen) i wklej zawartość do dokumentu.. Ustaw w programie Winiar, aby dowolny plik podczas kompresji był dzielony na bloki po 100

Jak jsem naznačil výše, skutečnost, že opolský kníže zavrhl dceru polské královny ve prospěch Hedviky z hornoslezského rodu Běsů, vyvolala u Jana Dlugosze

Ponad- to informacje o nim podaje również Josef Tříška w swoim słowniku biogra- ficznym uniwersytetu praskiego w okresie przedhusyckim (żadnego z Bolków również nie wymienia)

Ab.1 przesyła klucz jawny K’ zaszyfrowany symetrycznie do Ab.2. Ab.2 wytwarza klucz sesyjny szyfruje do tajnym i śle do Ab.1. Ab.1 deszyfruje a następnie przesyła ciąg losowy