Podpis cyfrowy id 365636 Nieznany

background image

INŻYNIERIA BEZPIECZEŃSTWA –

LABORATORIUM

PODPIS CYFROWY


1. Podpis cyfrowy

Podpis cyfrowy jest to elektroniczny odpowiednik tradycyjnego podpisu odręcznego. W
odróżnieniu od tradycyjnego podpisu odręcznego na podpis cyfrowy składa się ciąg bitów
dołączony do wiadomości, który odzwierciedla indywidualną cechę użytkownika oraz
autentyczność przesyłanych informacji.

Algorytmy podpisu cyfrowego projektuje się w oparciu o wybrany szyfr. Obecnie najbardziej
rozpowszechnioną metodą stosowaną w podpisie elektronicznym jest schemat podpisu
dokumentów cyfrowych w systemach kryptograficznych z kluczem publicznym i
jednokierunkową funkcją skrótu. W systemie tym do każdego użytkownika zostaje przypisana
para kluczy: klucz do podpisywania wiadomości (prywatny) oraz klucz do weryfikacji
podpisu (publiczny).

Klucz prywatny jest tajny i służy do zaszyfrowania skrótu informacji tworząc w ten sposób
podpis cyfrowy. Przy pomocy klucza publicznego, który jest ogólno dostępny (dostęp może
być ograniczony do grupy osób w danej instytucji czy firmie), odbiorca informacji deszyfruje
skrót wiadomości i na jej podstawie weryfikuje tożsamość nadawcy.

Do funkcji podpisu elektronicznego należą:

uwierzytelnianie,

niezaprzeczalność,

integralność,

identyfikacja,

poufność.



Uwierzytelnianie – polega na sprawdzeniu czy dana wiadomość została podpisana przez
domniemanego użytkownika poprzez deszyfracje ogólnodostępnym kluczem publicznym
skrótu wiadomości. Jeżeli sumy kontrolne się zgadzają oznacza to, że dany dokument został
podpisany przez domniemanego użytkownika jego kluczem prywatnym.

Niezaprzeczalność – jest to funkcja powiązana z funkcją uwierzytelniającą. Jeżeli nadawca
dokumentu (np. zamówienia) będzie zaprzeczał nadania dokumentu a odbiorca pomyślnie
zidentyfikuje nadawcę przy pomocy jego klucza publicznego to odbiorca jest w stanie
udowodnić nadanie dokumentu przez określonego użytkownika.

Integralność – zapewnia ochronę dokumentu przed wprowadzaniem do niej zmian przez
osoby trzecie. Ponieważ podpis cyfrowy jest tworzony poprzez szyfrowanie skrótu

background image

wiadomości przy pomocy klucza prywatnego nadawcy to każda najmniejsza zmiana
wiadomości sprawia, że suma kontrolna nie będzie się zgadzała.

Identyfikacja – poprzez organy certyfikujące, które wydały parę kluczy (prywatny oraz
publiczny) i przekazały je osobą zainteresowanym jest możliwość zidentyfikowanie
osoby/właściciela klucza prywatnego.

Poufność – istnieje możliwość szyfrowania nie tylko samego skrótu wiadomości lecz także
całej informacji. W tym celu wiadomość szyfruje się kluczem publicznym adresata (nie
nadawcy) a adresat wiadomości może ją odszyfrować swoim kluczem prywatnym.

2. Zasada działania podpisu cyfrowego

Rys. 1. Diagram tworzenia i weryfikacji podpisu elektronicznego


Pierwszym elementem wymaganym do złożenia/stworzenia podpisu elektronicznego jest
sama wiadomość ponieważ nie da się uzyskać podpisu cyfrowego na „pustej stronie”. Kiedy
posiadamy już odpowiednią wiadomość, na której chcemy złożyć podpis oraz zakładamy, że
użytkownik posiada już swój klucz prywatny oraz publiczny możemy przejść do kolejnych
etapów zaprezentowanych na rys. 1.

W pierwszym kroku nadawca posługując się specjalnym programem tworzy skrót
wiadomości, który jest szyfrowany algorytmem SHA-1 (ang.

Secure Hash Algorithm-1

) lub

MD5 (ang.

Massage Digest 5

). Tak powstałe streszczenie będzie miało stałą długość

(najczęściej 128 lub 160 bitów).

W kolejnym kroku następuje szyfrowanie skrótu wiadomości kluczem prywatnym nadawcy.
Tak zaszyfrowany skrót staje się podpisem elektronicznym.

W momencie kiedy nadawca utworzył podpis cyfrowy może przesłać wiadomość za pomocą
mediów elektronicznych na dwa sposoby. W pierwszym może przesłać wiadomość oraz

background image

podpis w jednym np. mailu albo też może przesłać je odrębnie w różnych przedziałach
czasowych.

Odbiorca po otrzymaniu wiadomości z tekstem oraz podpisem przystępuje do weryfikacji
dokumentu. W tym celu podobnie jak nadawca tym samym algorytmem tworzy skrót
wiadomości a następnie przechodzi do etapu deszyfrowania podpisu elektronicznego przy
pomocy klucza publicznego nadawcy. Jeżeli skróty wiadomości są sobie równe oznacza to, że
nadawca został uwierzytelniony oraz tekst wiadomości nie został modyfikowany przez osoby
trzecie.

3.

Rola certyfikatów w podpisie cyfrowym


Aby zweryfikować czy dany dokument faktycznie został przesłany przez nadawcę
deszyfrujemy jego podpis elektroniczny kluczem publicznym i porównujemy w ten sposób
powstały skrót informacji ze skrótem wygenerowanym przez nas samych. I tu pojawia się
pytanie czy jeżeli oba skróty są sobie równe czy mamy 100% pewność, że dany klucz
publiczny odpowiada naszemu nadawcy.

Klucz publiczny składa się z ciągu bitów i nie posiada sam w sobie informacji o swoim
właścicielu takich jak np. imię, nazwisko czy adres. W takim razie w jaki sposób możemy
zidentyfikować tożsamość nadawcy?

Jednym ze sposobów identyfikacji właściciela klucza jest sprawdzenie tzw. odcisku klucza
publicznego. Aby tego dokonać należy wyświetlić za pomocą programu szyfrującego odcisk
klucza publicznego (ang.

fingerprint

). W efekcie otrzymamy ciąg kilkunastu cyfr będących

skrótem kryptograficznym klucza publicznego. Kiedy już posiadamy odcisk danego klucza
możemy skontaktować się np. telefonicznie z przypuszczalnym właścicielem klucza i
poprosić go o podyktowanie odcisku jego klucza. Jeżeli oba odciski są sobie równe oznacza
to, że dany klucz publiczny należy do spodziewanego nadawcy. Wadą tej metody jest
potrzeba bezpośredniego kontaktu z nadawcą wiadomości. Czas weryfikacji może się
wydłużyć jeżeli nie będziemy wstanie skontaktować się z nadawcą wiadomości.

Aby wyeliminować potrzebę nawiązywania bezpośredniego kontaktu została wprowadzona
metoda certyfikacji kluczy. Certyfikacja kluczy polega na dodaniu do niego informacji o
właścicielu oraz podpisanie go jego kluczem prywatnym przez zaufany urząd certyfikujący
tzw. CA (ang.

Certification Authority

). Do takich urzędów można zaliczyć państwowe urzędy

oraz komercyjne firmy, których wiarygodność została potwierdzona.

Struktura takiego certyfikatu, zasady jego unieważniania oraz ich atrybutów została
znormalizowana poprze standard X.509, który został zaproponowany w 1978 roku przez
Lorena Kohnfeldra a jego pierwsza wersja została opublikowana w 1988 roku.

Certyfikat taki zgodny ze standardem X.509 powinien zawierać następujące informacje:

numer wersji – zawiera informację o wersji certyfikatu;

numer seryjny – unikalny numer certyfikatu przydzielony użytkownikowi;

identyfikator algorytmu – rodzaj algorytmu użyty do podpisania certyfikatu i jego

parametry;

wystawca – nazwa organu wydającego certyfikat;

okres ważności certyfikatu – zawiera datę startu oraz końca ważności certyfikatu;

background image

dane właściciela – zawiera informację o właścicielu klucza/certyfikatu;

klucz publiczny – zawiera klucz publiczny oraz informację o typie i parametrach

algorytmu zastosowanego do jego utworzenia;

podpis organu certyfikującego – podpis urzędu wystawiającego certyfikat utworzony
za pomocą klucza prywatnego tego urzędu;





4. Demonstracja generowania kluczy i składanie podpisu cyfrowego

przy użyciu programu CrypTool


a) Pobieramy i instalujemy program CrypTool w wersji 1.4.30 ze strony:

http://www.cryptool.org/index.php/pl/download-topmenu-63.html

.


b) Uruchamiamy program CrypTool w wersji 1.4.30 i przystępujemy do wygenerowania
klucza prywatnego i publicznego oraz certyfikatu.

W tym celu przechodzimy do menu „Podpis cyfrowy” i wybieramy opcję
PKI→Generowanie/Import Klucza”. W efekcie zostanie wywołane okno przedstawione na
rys. 2.

Rys. 2. Generowanie kluczy oraz certyfikatu.


W części „Algorytm” służącej do wyboru algorytmu szyfrującego klucze zaznacz opcję „RSA
i ustaw długość klucza na 1024 bitów.

background image

Następnie w części „Dane użytkownika” wypełnij pola swoimi danymi i podaj „PIN”. PIN
jest o tyle ważny, że zabezpiecza hasłem nasz klucz prywatny w celu jego ochrony przed
niepożądanym użyciem.

Kiedy wszystkie pola są uzupełnione przechodzimy do etapu generowania kluczy. W tym
celu wybieramy przycisk „Wygeneruj nową parę kluczy…”.

Po pomyślnym wygenerowaniu kluczy możemy je obejrzeć poprzez opcję „Pokaz pary
kluczy…
”, w której możliwe jest wyświetlenie parametrów kluczy oraz podgląd certyfikatu.

c) Kiedy mamy utworzone nasze klucze oraz certyfikat przechodzimy do etapu podpisywania
dokumentów.

Postępujemy następująco:

tworzymy przy pomocy notatnika plik tekstowy, w którym zamieszczamy dowolną
treść np. streszczenie jakiegoś artykułu z dowolnego portalu internetowego,

z menu CrypToola wybieramy opcję „Plik→Nowy”,

z menu CrypToola wybieramy opcję „Podpis cyfrowy→Demonstracja Podpisu”,

posługując się kolejnymi elementami diagramu importujemy nasz plik tekstowy
(„Otwórz dokument”) i postępujemy dalej zgodnie z kolejnymi blokami pamiętając
aby jako klucz prywatny służący do podpisu dokumentu wybrać wygenerowany w
punkcie c) klucz używając bloku zaznaczonego zielonym okręgiem (blok „Stwórz
klucz
” pomijamy) na rys. 3.

Rys. 3. Generowanie podpisu krok po kroku.



Na etapie bloku „Dostarcz certyfikat” wybieramy przycisk „Importuj certyfikat i klucz” a
następnie zaznaczamy wygenerowany klucz/certyfikat z listy podając nasz sekretny PIN
zabezpieczający przed niepożądanym użyciem klucza prywatnego.

Etap tworzenia podpisu cyfrowego kończymy poprzez przycisk „Zachowaj podpis”. W
efekcie otrzymujemy podpis elektroniczny.

Utworzony przez nas podpis zapisujemy poprzez „Plik→Zapisz jako”.

background image


4) Weryfikacja podpisu cyfrowego.

W tym celu wybieramy z menu „Podpis cyfrowy→Zweryfikuj podpis”. W efekcie zostanie
wywołane okno z wyborem klucza, w którym wybieramy klucz publiczny utworzony przez
nas w punkcie b) oraz zaznaczamy opcję „Wyświetl wyniki pośrednie”. Przystępujemy do
weryfikacji podpisu poprzez przycisk „Zweryfikuj podpis”.

W nowo otwartym oknie rozpocznij weryfikacje poprzez przycisk „Weryfikuj” i porównaj
wartości skrótu dokumentu zawarte w dwóch przedostatnich polach. Czy wartości są takie
same? Jeżeli tak to co to oznacza?

5. Zadania do samodzielnego wykonania

a) Utwórz nowy klucz w programie CrypTool (zgodnie z punktem 4. podpunkt b) a

następnie dokonaj weryfikacji podpisu cyfrowego utworzonego w punkcie 4.
podpunkt c. Czy wartości w dwóch przedostatnich polach są takie same? Jeżeli nie to
co to oznacza?

b) Korzystając

z

menu

programu

CrypTool

Podpis cyfrowy→PKI→Wyświetlenie/Eksport klucza” wyeksportuj klucz użyty do
stworzenia podpisu cyfrowego z punktu 4. podpunkt c. Następnie wymień się z
sąsiadem podpisami elektronicznymi i kluczami. Zaimportuj klucz sąsiada korzystając
z opcji „Podpis cyfrowy→PKI→Generowanie/Import klucza”. Dokonaj weryfikacji
podpisu sąsiada korzystając z opcji „Podpis cyfrowy→Wyodrębnij podpis”. Zwróć
uwagę na pole „Podpisujący” . Czy weryfikacja przebiegła pomyślnie? Jeżeli tak to co
to oznacza?

c) Zmodyfikuj jeden znak podpisu cyfrowego utworzonego w punkcie 4. podpunkt c za

pomocą notatnika Windows. Zapisz zmiany a następnie otwórz podpis cyfrowy w
programie CrypTool. Przeprowadź weryfikacje podpisu elektronicznego używając
klucza publicznego za pomocą, którego został stworzony podpis. Czy weryfikacja
przebiegła pomyślnie? Jeżeli nie to jakie nasuwają się wnioski?



LITERATURA

1. „Podstawy kryptografii. Wydanie II”, Marcin Karbowski, 12/2007 Helion
2. Wikipedia
3. Strona producenta programu Crypttool:

http://www.cryptool.org/


Wyszukiwarka

Podobne podstrony:
Bikony cyfrowe id 85673 Nieznany (2)
Automatyka nkf cyfrowe id 62906 Nieznany (2)
Cw 24 Uklady cyfrowe id 122415 Nieznany
O PODPISIE ELEKTRONICZNYM id 32 Nieznany
filtry cyfrowe id 171064 Nieznany
instrukcja uklad cyfrowy id 217 Nieznany
Bikony cyfrowe id 85673 Nieznany (2)
Cw 22 Przerzutniki cyfrowe id 1 Nieznany
Cyfrowa ciemnia id 126256 Nieznany
4 multimetr cyfrowy cw4 id 608 Nieznany
cw9 Uklady cyfrowe CMOS id 1238 Nieznany
4 kanalowy termometr cyfrowy id Nieznany (2)
Cw 22 Przerzutniki cyfrowe id 1 Nieznany
Cyfrowa ciemnia id 126256 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany

więcej podobnych podstron