Technologie zapewniające bezpieczeństwo w systemach operacyjnych. |
to technika, w której ten sam klucz jest używany przez nadawcę do zakodowania i przez odbiorcę do odkodowania komunikatu. Zapewnia to w pewnym stopniu uwierzytelnianie, ponieważ informacja zakodowana jednym kluczem nie może być odkodowana żadnym innym. Nie zapewnia jednak do końca bezpieczeństwa, gdyż obie strony są w posiadaniu takiego uniwersalnego klucza.
to technika oparta na algorytmie RSA. Tutaj dwie strony używają różnych kluczy - do zakodowania służy klucz publiczny, dostępny dla wszystkich, natomiast tylko jedna osoba jest w stanie odkodować tę informację za pomocą klucza prywatnego. Ta technika wymaga więcej pamięci i więcej obliczeń, dlatego nie jest używana do przesyłania dużych ilości informacji, ale np. do kodowania kluczy symetrycznych, którymi się później odkodowuje właściwą informację.
Możliwy jest też schemat odwrotny - kodowanie za pomocą klucza prywatnego i odkodowanie za pomocą publicznego. Taki scenariusz występuje przy podpisach elektronicznych - po odkodowaniu podpisu konkretnym kluczem publicznym można go jednoznacznie przypisać danej osobie, posiadającej odpowiedni klucz prywatny.
Im dłuższy klucz tym większa siła kodowania - np. 128-bitowy klucz symetryczny jest 3*1026 razy silniejszy niż 40-bitowy. Jednocześnie różne algorytmy kodowania wymagają kluczy różnych długości do osiągnięcia tej samej siły kodowania - w RSA używa się jedynie liczb pierwszych do generowania kluczy i dlatego dopiero 512-bitowy klucz można uznać za silny, podczas gdy w algorytmie z kluczem symetrycznym, gdzie wykorzystuje się wszystkie liczby, za bezpieczny można uznać klucz długości 64-bitów.
rozwiązuje problem modyfikacji przesyłanej informacji. Wartość funkcji haszującej dla przesłanej informacji jest dołączana do podpisu elektronicznego i odbiorca może porównać wynik jaki dała ta funkcja dla otrzymanej informacji. Zapewnia to zatem integralność przesyłanych danych.
Certyfikat to elektroniczny dokument używany do identyfikacji jednostki (serwera, firmy, konkretnej osoby) i powiązania jej z określonym kluczem publicznym.
CA (certificate authorities) to jednostki, które wydają takie certyfikaty. Mogą to być niezależne organizacje czy firmy (np. Netscape Certificate Server) wydające certyfikaty na potrzeby własnego oprogramowania. Zatem metody tworzenia certyfikatów i ich identyfikacji różnią się w zależności od potrzeb danej jednostki.
Uwierzytelnianie w sieci to identyfikacja dwóch stron komunikacji przez siebie nawzajem, np. ropoznawanie klienta danego serwera lub/i zapewnienie, że klient łączy się z właściwym serwerem. Opócz powszechnego uwierzytelniania na podstawie loginu i hasła, w sieci uwierzytelnia się też na podstawie certyfikatu. W trakcie sesji, dana jednostka wysyła razem z właściwym komunikatem swój podpis elektroniczny razem z certyfikatem i na ich podstawie odbiorca uwierzytelnia nadawcę.
Przykładowy certyfikat:
Certificate: Data: Version: v3 (0x2) Serial Number: 3 (0x3) Signature Algorithm: PKCS #1 MD5 With RSA Encryption Issuer: OU=Ace Certificate Authority, O=Ace Industry, C=US Validity: Not Before: Fri Oct 17 18:36:25 1997 Not After: Sun Oct 17 18:36:25 1999 Subject: CN=Jane Doe, OU=Finance, O=Ace Industry, C=US Subject Public Key Info: Algorithm: PKCS #1 RSA Encryption Public Key: Modulus: 00:ca:fa:79:98:8f:19:f8:d7:de:e4:49:80:48:e6:2a:2a:86: ed:27:40:4d:86:b3:05:c0:01:bb:50:15:c9:de:dc:85:19:22: 43:7d:45:6d:71:4e:17:3d:f0:36:4b:5b:7f:a8:51:a3:a1:00: 98:ce:7f:47:50:2c:93:36:7c:01:6e:cb:89:06:41:72:b5:e9: 73:49:38:76:ef:b6:8f:ac:49:bb:63:0f:9b:ff:16:2a:e3:0e: 9d:3b:af:ce:9a:3e:48:65:de:96:61:d5:0a:11:2a:a2:80:b0: 7d:d8:99:cb:0c:99:34:c9:ab:25:06:a8:31:ad:8c:4b:aa:54: 91:f4:15 Public Exponent: 65537 (0x10001) Extensions: Identifier: Certificate Type Critical: no Certified Usage: SSL Client Identifier: Authority Key Identifier Critical: no Key Identifier: f2:f2:06:59:90:18:47:51:f5:89:33:5a:31:7a:e6:5c:fb:36: 26:c9 Signature: Algorithm: PKCS #1 MD5 With RSA Encryption Signature: 6d:23:af:f3:d3:b6:7a:df:90:df:cd:7e:18:6c:01:69:8e:54:65:fc:06: 30:43:34:d1:63:1f:06:7d:c3:40:a8:2a:82:c1:a4:83:2a:fb:2e:8f:fb: f0:6d:ff:75:a3:78:f7:52:47:46:62:97:1d:d9:c6:11:0a:02:a2:e0:cc: 2a:75:6c:8b:b6:9b:87:00:7d:7c:84:76:79:ba:f8:b4:d2:62:58:c3:c5: b6:c1:43:ac:63:44:42:fd:af:c8:0f:2f:38:85:6d:d6:59:e8:41:42:a5: 4a:e5:26:38:ff:32:78:a1:38:f1:ed:dc:0d:31:d1:b0:6d:67:e9:46:a8: dd:c4
DN (distinguished name) to unikatowe parametry związane z kluczem publicznym:
uid=doe,e=doe@netscape.com,cn=John Doe,o=Netscape Communications Corp.,c=US
Validity to okres ważności certyfikatu
Issuer to CA, które wydało ten certyfikat,
Signature to podpis elektroniczny wydawcy certyfikatu.
Ten sam certyfikat w formie zakodowanej:
-----BEGIN CERTIFICATE----- MIICKzCCAZSgAwIBAgIBAzANBgkqhkiG9w0BAQQFADA3MQswCQYDVQQGEwJVUzER MA8GA1UEChMITmV0c2NhcGUxFTATBgNVBAsTDFN1cHJpeWEncyBDQTAeFw05NzEw MTgwMTM2MjVaFw05OTEwMTgwMTM2MjVaMEgxCzAJBgNVBAYTAlVTMREwDwYDVQQK EwhOZXRzY2FwZTENMAsGA1UECxMEUHViczEXMBUGA1UEAxMOU3Vwcml5YSBTaGV0 dHkwgZ8wDQYJKoZIhvcNAQEFBQADgY0AMIGJAoGBAMr6eZiPGfjX3uRJgEjmKiqG 7SdATYazBcABu1AVyd7chRkiQ31FbXFOGD3wNktbf6hRo6EAmM5/R1AskzZ8AW7L iQZBcrXpc0k4du+2Q6xJu2MPm/8WKuMOnTuvzpo+SGXelmHVChEqooCwfdiZywyZ NMmrJgaoMa2MS6pUkfQVAgMBAAGjNjA0MBEGCWCGSAGG+EIBAQQEAwIAgDAfBgNV HSMEGDAWgBTy8gZZkBhHUfWJM1oxeuZc+zYmyTANBgkqhkiG9w0BAQQFAAOBgQBt I6/z07Z635DfzX4XbAFpjlRl/AYwQzTSYx8GfcNAqCqCwaSDKvsuj/vwbf91o3j3 UkdGYpcd2cYRCgKi4MwqdWyLtpuHAH18hHZ5uvi00mJYw8W2wUOsY0RC/a/IDy84 hW3WWehBUqVK5SY4/zJ4oTjx7dwNMdGwbWfpRqjd1A== -----END CERTIFICATE----- |
Każdy klient lub serwer trzyma u siebie listę certyfikatów zaufanych CA. Jest to lista tych autorytetów wydających certyfikaty, które dana jednostka ma za wiarygodne. CA łączą się w hierarchie (te na wyższym poziomie podpisują certyfikaty niższych). Ponieważ na każdym certyfikacie znajduje się podpis i identyfikator jego wydawcy, weryfikacja danego certyfikatu przechodzi przez łańcuch CA. W momencie znalezienia w łańcuchu CA takiego certyfikatu, którego wydawca jest znany (zaufany) jednostce dokonującej uwierzytelnienia, jednostka ta weryfikuje podpis elektroniczny wydawcy certyfikatu za pomocą jego klucza publicznego (który ta jednostka ma u siebie). Dopiero wtedy właściciel certyfikatu, który jest sprawdzany zostaje uwierzytelniony.
LDAP to protokół, narzędzie ułatwiające zarządzanie certyfikatami - bezpieczne przechowywanie, odtwarzanie kluczy, odnawianie i odwoływanie certyfikatów.