Certyfikaty
Certyfikat klucza podpisu powinien zawierać:
nazwisko (nazwę) właściciela klucza podpisu;
przypisany publiczny klucz weryfikacji podpisu;
algorytm (tj. szyfr), z którym powinien być używany jawny klucz publiczny i klucz tajny przy wykonywaniu i weryfikacji podpisu;
określony zakres stosowania klucza podpisu;
data początkowa i końcowa ważności certyfikatu;
numer certyfikatu;
nazwisko (nazwa) wydającego certyfikat;
algorytm, z którym jest stosowany publiczny klucz wydającego certyfikat, bo podpis wystawcy musi także podlegać weryfikacji.
Problem wystawcy certyfikatu (urzędu wystawiającego) w RFN
Czynności wystawcy certyfikatu są wykonywane na podstawie licencji. Na wystawcy certyfikatu spoczywa obowiązek jednoznacznego zidentyfikowania osoby ubiegającej się o certyfikat. Ma on obowiązek poinstruowania ubiegającego się o certyfikat o zasadach tworzenia bezpiecznych podpisów elektronicznych i ich weryfikacji. Wystawca certyfikatu powinien podjąć środki uniemożliwiające falsyfikację danych zawartych w certyfikacie. Na wystawcy certyfikatu leży także obowiązek udokumentowania środków bezpieczeństwa podjętych w odniesieniu do wydanych certyfikatów, tak, aby dane mogły być w każdej chwili zweryfikowane.
Urzędy certyfikujące w RFN, a także instytucje odpowiedzialne za certyfikację komponentów technicznych:
urzędy stałe - policja informatyczna;
urzędy tymczasowe - 3 firmy prywatne (stan z lutego 1998);
Za pomocą podpisu cyfrowego możemy uwierzytelnić wiadomość. Innymi metodami uwierzytelniania są:
metody słabe - pin, hasło;
metody mocne - protokoły uwierzytelniania
Cechy protokołów uwierzytelniania:
wzajemność uwierzytelniania;
skuteczność obliczeniowa (czas liczony w liczbie operacji)
skuteczność komunikacyjne (liczba kroków wymagana do wymiany informacji pomiędzy dwoma stronami)
czy wymagany jest udział strony trzeciej - dwie strategie: bez udziału (protokół typu punkt -punkt) i z udziałem;
natura zaufania:
czy ufamy stronie trzeciej;
czy ufamy kluczowi;
bezpieczeństwo protokołu (czy jest bezpieczny ?);
natura gwarancji bezpieczeństwa - jak przebiega proces uwierzytelniania;
metody (sposoby) przechowywania sekretów - jak są przechowywane wiadomości tajne;
Podział mechanizmów uwierzytelniania:
techniki symetryczne - wg normy ISO/IEC 9798 - 2;
techniki asymetryczne - wg normy ISO/IEC 9798 - 3;
Techniki symetryczne
W tym przypadku wykorzystuje się:
klucz tajny k AB pomiędzy dwoma użytkownikami A i B;
A i B - unikalne identyfikatory użytkowników A i B;
liczby losowe: RA lub RB
stempel czasowy TA lub TB;
liczba sekwencyjna NA lub NB;
Przesyłanie wiadomości polega na stworzeniu elektrycznych znaczników (token)
protokół jednokrokowy typu punkt - punkt;
protokół dwukrokowy typu punkt - punkt
Protokół trzykrokowy typu punkt - punkt
Protokół uwierzytelniania dwustronnego z wykorzystaniem zaufanej strony trzeciej
Protokół uwierzytelniania jednostronnego z wykorzystaniem zaufanej strony trzeciej
Jeżeli w protokole z punktu d) pominiemy krok 5, to otrzymamy protokół z uwierzytelnianiem jednostronnym.
Techniki asymetryczne
W tym przypadku oprócz oznaczeń wprowadzonych powyżej, wprowadza się dodatkowe:
CertX - certyfikat użytkownika;
S X(m) - podpis użytkownika pod wiadomością m, stosowany zamiast klucza k AB;
protokół jednokrokowy typu punkt - punkt
protokół dwukrokowy typu „punkt - punkt” - uwierzytelnianie jednostronne
protokół dwukrokowy typu „punkt - punkt” - uwierzytelnianie wzajemne
Dowody wiedzy zerowej - protokoły
Nie jest możliwe przekazanie całej informacji, a jedynie jej 1 bit. Złożoność problemu jest wielomianowa, a prawdopodobieństwo trafienia, na podstawie 1 bitu informacji wynosi 1 - 1/ 2t.
Zasada działania jest następująca: najpierw generowane są warunki początkowe, a następnie n - kroków protokołu. W każdym z tych kroków przesyłane są wiadomości. Najczęściej są to protokoły 3 - krokowe:
A → B : świadectwo;
B → A : wyzwanie;
A → B: odpowiedź;
protokół Fiata - Shamira
Inicjacja:
Założenia: system asymetryczny, wybieramy p i q (liczby tajne) i generujemy n =pq.
∀ A generuje tajny sekret sec względnie pierwszy z n, 1≤ sec ≤n;
oblicza v = sec2 mod n;
rejestruje v u zaufanej osoby trzeciej (TTP) jako klucz publiczny.
W każdej z t rund protokołu przesyłane są 3 wiadomości:
A → B : x = R2 mod n;
B → A : b ∈ {0,1};
A → B: z = R * sec b mod n;
Następujące kroki są wykonywane t - krotnie (sekwencyjnie i niezależnie). B akceptuje dowód, jeżeli każda z t - rund zakończy się sukcesem.
A wybiera losowo liczbę R, 1≤ R <n i wysyła do B świadectwo x = R2 mod n;
B wybiera losowo bit b∈ {0, 1} i wysyła do A
A wylicza i wysyła do B odpowiedź:
B odrzuca dowód, jeśli z =0, a w przeciwnym przypadku akceptuje go po weryfikacji warunku:
protokół FFS (Feigl - Fiat - Shamir)
Wybór parametrów
TTP publikuje moduł n =pq, będący liczbą Bluma, a liczby t oraz r są parametrami bezpieczeństwa;
Wybór sekretów
Wybierz losowo r liczb całkowitych sec1, sec2, ..., secr ,0 < seci < n i r losowych bitów b1, b2, ... br, gdzie bi ∈{0, 1}, NWD (seci,n) = 1;
Oblicz:
I wykonaj to dla 0 < i ≤ r;
Za pomocą poza kryptograficznych środków (np. fotografii) A przedstawia się zaufanej stronie trzeciej, która w konsekwencji realizuje klucz publiczny (v1, v2, ... , vr; n) użytkownika A; Tylko A zna swój klucz prywatny, który jest równy (sec1, sec2, ..., secr; n).
W każdej z t rund protokołu przesyłane są 3 wiadomości:
A → B : x =± R2 mod n;
B → A : (b1, b2, ..., br), bi ∈ {0,1};
A → B :
Przebieg protokołu w t - krokach
A wybiera losowo
Liczbę R, 1≤ R ≤n;
Bit b∈ {0, 1}
i oblicza = (-1)b R2 mod n i wysyła do B;
B → A : losowy wektor (b1, b2, ..., br);
A → B wysyła odpowiedź:
B oblicza:
i sprawdza, czy w = ±x oraz w ≠ 0;
Dowód
Podstawienia
wstawiamy do powyższego wzoru:
Podsumowanie
Mechanizmy kryptograficzne - certyfikaty
1
6