prezentacja
Transkrypt
prezentacja
Wykorzystanie protokołu T=CL w systemach kontroli dostępu Agenda • • • • • • • • Obecne systemy kontroli dostępu Technologia MIFARE® Tożsamość cyfrowa i PKI Protokół T=CL w systemach KD Aplikacje PKI w KD Wykorzystanie innych aplikacji Dyskusja Podsumowanie 2/35 Co to jest system KD? • System kontroli dostępu – system sprzętowo programowy mający na celu identyfikację podmiotu i udzielenie dostępu do zasobów: – ważne pomieszczenia (magazyn, serwerownia) – wszystkie pomieszczenia – zasoby sprzętowe (dostęp do dysku, podsieci komputerowej) – zasoby programowe (dostęp do aplikacji) • Metody realizacji KD do pomieszczeń: – offline – online 3/35 Poziomy bezpieczeństwa • Poziomy zabezpieczeń: – niski (pamięć) • kod numeryczny – średni (klucz) • • • • kod kreskowy karta magnetyczna karta chipowa karta zbliżeniowa – wysoki (biometryka) • • • • • • • odcisk palca geometria dłoni układ naczyń krwionośnych tęczówka oka siatkówka oka Głos Większość systemów KD wykorzystuje technologie zbliżeniowe. 4/35 Technologia MIFARE® • Standardowa karta MIFARE® ma pojemność 1024 lub 4096 bajtów i jest podzielona na 16 sektorów. Sektor składa się z 4 bloków, z których każdy ma wielkość 16 bajtów Sektor 0 Blok 0 pamięć = 16 sektorów Sektor 1 Sektor 2 … Sektor 14 sektor = 4 bloki Blok 1 Blok 2 Sektor 15 Blok 3 blok = 16 bajtów • W pierwszym bloku pierwszego sektora pamiętany jest unikalny numer seryjny (nadany na etapie produkcji chipa karty) 5/35 Technologia MIFARE® • Pozostały obszar pamięci dostępny jest dla aplikacji • Dostępne są proste operacje pozwalające na: – – – – 6/35 Zarządzanie prawami dostępu dla poszczególnych bloków Zarządzanie i autentykację kluczami (key A, key B) Zapisywanie i odczytywanie danych z poszczególnych bloków danych Obsługę bloków licznikowych (value block), zapis, odczyt, atomowe zwiększanie, zmniejszanie wartości Technologia MIFARE® w KD • Najpopularniejsze wykorzystanie technologii MIFARE® w systemach kontroli dostępu: – Wykorzystują numer seryjny do identyfikacji użytkownika – Wykorzystują dodatkowe dane przechowywane na karcie w celu zwiększenia bezpieczeństwa • Wprowadzane dodatkowe dane na kartę zwykle nie są związane z użytkownikiem • Sektory mogą być zajęte • Systemy KD zwykle nie udostępniają API, a często potrzebna jest integracja z innymi systemami 7/35 Wykorzystanie kart • • • • • Bankowość – karty płatnicze Telekomunikacja – karty telefoniczne, SIM Komunikacja – KOMkarta Identyfikatory – legitymacje studenckie Kontrola dostępu – do pomieszczeń i do zasobów… 8/35 Tożsamość cyfrowa • Coraz większa popularność kart „aplikacyjnych” (głównie z maszyną wirtualną Java) • Często na karcie przechowywane są informacje związane z tożsamością użytkownika • Istnieją rozbudowane systemy zarządzania tymi informacjami (CMS) • Zamiast korzystać z odrębnego obszaru pamięci MIFARE®, można by wykorzystać te informacje oraz funkcjonalność aplikacji z nimi związanych • Możliwość napisania własnej aplikacji posiadającej większe możliwości niż MIFARE®. 9/35 Rodzaje kryptografii • Symetryczna: – jeden klucz służący do szyfrowania i deszyfrowania, – wydajne algorytmy Æ szyfrowanie dużej ilości danych, – problem z przekazywaniem klucza. • Asymetryczna: – para kluczy powiązanych ze sobą, – jednym kluczem szyfrujemy, drugim odszyfrowujemy, – jeden z kluczy nazywamy prywatnym, drugi publicznym, – nie ma problemów z przekazywaniem klucza, – mało wydajne algorytmy. 10/35 Standardy oparte o PKI 11/35 Bezpieczny Internet Bezpieczna poczta SSL (Secure Socket Layer) TSL (Transport Layer Security) S/MIME (Secure Multipurpose Internet Mail Extensions) Bezpieczny dostęp Inne aplikacje VPN (Virtual Private Network) protokoły IPsec SET (Secure Electronic Transactions) Algorytmy PKI • Opierają się o matematyczną trudność rozkładu dużych liczb na czynniki. • Łatwo dla małych liczb: 21 = 3 x 7 125 = 53 • Trudniej dla dużych liczb: 43857348753487543543 = X x Y 3248243789234723847 = XY 12/35 Funkcja mieszająca • Funkcja mieszająca to przekształcenie, które dla dowolnych danych wejściowych generuje unikalny ciąg znaków o stałej długości. H(m) = h • Wymagania dla kryptografii: – łatwość obliczeń dla dowolnych danych wejściowych – niodwracalność (znając h niemożna wyznaczyć m) – bezkolizyjność (różne dane – różne wartości funkcji) 13/35 Przykłady algorytmów • Funkcje mieszające (hashujące): MD5 wyjście 128 bitów SHA1 wyjście 160 bitów RIPEMD-160 wyjście 160 bitów • Kryptografia asymetryczna: RSA Dffie-Hellman Merkle-Hellman 14/35 Generowanie kluczy • Wygenerowana para kluczy zawsze zawiera klucz prywatny i klucz publiczny • Klucze mogą być generowane przez: – kartę inteligentną (SmartCard), – HSM (Hardware Security Module), – komputer. • Miejsce generowania kluczy jest często zdeterminowane sposobem ich użycia: – podpis, niezaprzeczalność Æ SmartCard, – szyfrowanie, pufność Æ HSM. 15/35 Zastosowanie kluczy • Co Małgosia może zrobić z kluczami? klucze publiczne Jasia i Małgosi klucz prywatny Jasia klucz prywatny Małgosi Podpisać wiadomość do Jasia, używając klucza prywatnego Małgosi. Chronić swoje dane (pliki), używając klucza publicznego Małgosi. Zaszyfrować wiadomość do Jasia, używając klucza publicznego Jasia. 16/35 Certyfikat • Certyfikat wiąże w bezpieczny sposób: – klucz publiczny, – właściciela (posiadacza klucza prywatnego), – czas ważności, – użycie klucza (tylko podpis, tylko szyfrowanie,...), – inne informacje. • Certyfikat jest podpisywany przez zaufane centrum certyfikacji. 17/35 Typy certyfikatów • Obecnie używany: X.509 v3 • Informacje o X.509 v3 – IETF (Internet Engineering Task Force) – PKIX (Public Key Infrastructure X.509 Working Group) – RFC 2459 • Inne typy certyfikatów: – – – – 18/35 Poprzednie wersje X.509: v1, v2 SPKI (Simple Public Key Infrastructure) PGP (Pretty Good Privacy) Attribute Certificates Struktura X.509 v3 Wersja Numer seryjny Podpis Podpisany przez urząd certyfikacji (wystawcę) Unikalna liczba całkowita ID alg. użytego do podpisania cert. Wystawca Unikalna nazwa wystawcy cert. Ważność Daty: nie przed / nie po Podmiot Unikalna nazwa właściciela cert. Klucz publiczny Klucz publiczny właściciela cert. ID wystawcy Nieobow. unikalny ID centrum cert. ID podmiotu Nieobow. unikalny ID podmiotu Rozszerzenia 19/35 Wersja certyfikatu Nieobow. rozszerzenia Wystawianie certyfikatu Wystawianie certyfikatu Policzony skrót certyfikatu Przygotowanie danych Klucz prywatny urzędu certyfikacji Weryfikacja certyfikatu Klucz publiczny urzędu certyfikacji Podpisany skrót certyfikatu Urząd certyfikacji 20/35 Odszyfrowany skrót certyfikatu ?=? Policzony skrót certyfikatu Użytkownik Podpisywanie Małgosia pisze list do Jasia. Tworzony jest skrót wiadomości. e-mail e-mail skrót wiadomości Skrót jest szyfrowany kluczem prywatnym Małgosi. e-mail Wiadomość jest wysyłana do Jasia. 21/35 A67D875E… e-mail Do wiadomości dołączany jest certyfikat Małgosi. A67D875E… Weryfikowanie podpisu Przychodzi list od Małgosi. Weryfikacja certyfikatu e-mail A67D875E… Liczony jest skrót wiadomości. Obliczony skrót wiadomości 22/35 ?=? Skróty są porównywane. Skrót wiadomości jest odszyfrowywany kluczem publicznym Małgosi, pobranym z certyfikatu. Odszyfrowany skrót wiadomości Szyfrowanie Małgosia pisze list do Jasia. e-mail Wiadomość jest szyfrowana symetrycznym kluczem sesji Wiadomość jest wysyłana do Jasia. 23/35 6A7EF82 6D67A… A67D875E… Symetryczny klucz sesji jest szyfrowany kluczem publicznym Jasia. A67D875E… Zaszyfrowany klucz sesji jest dołączany do wiadomości. Odszyfrowywanie Przychodzi list od Małgosi 6A7EF82 6D67A… A67D875E… Wiadomość jest odszyfrowywana symetrycznym kluczem sesji e-mail 24/35 Z wiadomości pobierany jest zaszyfrowany symetryczny klucz sesji. A67D875E… Symetryczny klucz sesji jest odszyfrowywany kluczem prywatnym Jasia Logowanie Podpisane dane Weryfikacja podpisu Jeżeli dane są podpisane prawidłowo to znaczy, że: posiadasz klucz prywatny związany z certyfikatem, a to znaczy, że: jesteś tym, za kogo się podajesz o ile ufam CA, które wystawiło Ci certyfikat. 25/35 Zastosowanie kluczy • Co Małgosia może zrobić z kluczami? klucze publiczne Jasia i Małgosi klucz prywatny Jasia klucz prywatny Małgosi Podpisać wiadomość do Jasia, używając klucza prywatnego Małgosi. Chronić swoje dane (pliki), używając klucza publicznego Małgosi. Zaszyfrować wiadomość do Jasia, używając klucza publicznego Jasia. 26/35 Wykorzystanie T=CL • Zwykle aplikacje dostępne są poprzez interfejs stykowy karty • Interfejs bezstykowy udostępnia MIFARE® • Nowoczesne karty posiadające interfejs dualny pozwalają na dostęp do aplikacji poprzez interfejs bezstykowy • Możliwość wykorzystania w systemach KD 27/35 Wykorzystanie T=CL • Brak ograniczenia technologii MIFARE® • Dostęp do większego obszaru pamięci • Dostęp do bardziej zaawansowanych operacji • Wykorzystanie danych użytkownika związanych z jego tożsamością cyfrową (głównie PKI) 28/35 Wykorzystanie PKI w KD • Identyfikowanie użytkownika: Wygeneruj losowyciąg znaków (challenge) Weryfikacja podpisu i identyfikacja podmiotu Udzielenie dostępu lub odmowa dostępu do zasobu 29/35 losowe dane podpisane dane + certyfikat . sygnał sterujący Wykorzystanie PKI w KD Zarządzanie KD • • 30/35 Zarządzanie cyfrową tożsamością Wykorzystanie wspólnych danych związanych z użytkownikiem Wykorzystanie istniejących systemów zarządzania (CMSy) Interfejs karty • Obecne protokoły T=0, T=1, T=CL • Protokoły (T=0/1, T=CL, USB …) są protokołami na poziomie komunikacji/warstwy fizycznej, korzystając z nich w warstwie aplikacyjnej zwykle używamy komend o strukturze APDU. • Komendy uzależnione są od aplikacji znajdującej się na karcie (profil karty) • Przykład: wybór aplikacji po AID (karta java`owa, aplikacja – aplet IDOne): -> 00 A4 04 0C 10 A0 00 00 00 77 01 03 03 00 00 00 F1 00 00 00 02 <- 90 00 31/35 Wykorzystanie PKI z T=CL • Odczyt certyfikatu z karty: … reader.TransmitCommand( reader.TransmitCommand( reader.TransmitCommand( reader.TransmitCommand( byte[] certificateBytes … new SelectIdOneAppletCommad() ); new SelectFileCommad(0x3F, 0x00)); new SelectFileCommad(0x50, 0x11)); new SelectFileCommad(0x90, 0x01)); = readBinaryFile(reader, 0x20, 0x00); 00 A4 04 0C 10 A0 00 00 00 77 01 03 03 00 00 00 F1 00 00 00 02 -> 90 00 00 A4 00 0C 02 3F 00 -> 90 00 00 A4 00 0C 02 50 11 -> 90 00 00 A4 00 0C 02 90 01 -> 90 00 00 A4 00 0C 02 20 00 -> 90 00 00 A4 00 00 02 20 00 -> 90 00 6F 16 80 02 02 D6 82 02 01 01 83 02 20 00 86 08 00 00 00 FF FF… 00 B0 00 00 FF -> 90 00 30 82 02… 32/35 Dedykowane aplikacje KD • Możliwość stworzenia dedykowanej aplikacji dla systemu kontroli dostępu. • Przeniesienie części logiki systemu KD na kartę: – informacje nt. dostępu do pomieszczeń – liczniki • Możliwość oddzielenia funkcjonalności ładowania kredytów od zarządzania kontrolą dostępu. 33/35 Pytania 34/35 Dziękujemy za uwagę