Zastosowania
kryptografii
Sebastian Łopieński
seb@conowego.pl
Systemy Rozproszone,
12 kwietnia 2001
O czym będę
mówić
co można przy pomocy
kryptografii
jak wyglądają istniejące
rozwiązania
jakie problemy są
nierozwiązane
co nas jako użytkowników
komputerów czeka
Plan referatu
Wstęp
Technologie
Zastosowania
Podsumowanie
Zadania,
problemy
poufność i integralność danych
autentykacja i autoryzacja
podpis cyfrowy
elektroniczne pieniądze
głosowanie przez sieć
elektroniczne zabezpieczanie
własności intelektualnej
Technologie
Szyfrowanie symetryczne
Szyfrowanie z kluczem
publicznym
Inne algorytmy kryptograficzne
Protokoły sieciowe
Autentykacja przy użyciu tokenów
Algorytmy
szyfrujące z
kluczem
symetrycznym
DES, TripleDES
RC4, RC6 (strumieniowe)
IDEA - dobry, ale komercyjny
Blowfish, Twofish
(counterpane.com)
Rijndael - darmowy
(AES ustanowiony przez NIST)
Szyfrowanie z
kluczem
publicznym
dwa klucze: publiczny i
prywatny
algorytmy
DH (Diffie-Hellman)
RSA (Rivest, Shamir, Adleman)
DSA - do podpisów
PKI (Public Key Infrastructure)
Inne algorytmy
kryptograficzne
funkcje hashujące
(skrótu, message digest)
funkcja nieodwracalna
MD5 (RFC1321), MD2, MD4 - 16b
SHA - 20b
PRNG (pseudorandom number
generator)
kluczowe dla bezpieczeństwa
innych algorytmów (np.
szyfrujących)
Yarrow
Protokoły
sieciowe
SSL (https i inne)
TLS (Transport Layer Security)
WTLS (Wireless TLS)
SSH i SCP
PGP (Pretty Good Privacy)
typowa PKI (serwery z
kluczami)
szyfrowanie oraz podpisywanie
poczta, pliki
GnuPG (GNU Privacy Guard)
Autentykacja
tokenami
hardware’owe i software’owe
synchroniczne i asynchroniczne
(challenge-response)
Vasco: DigiPass 300, 500, 700
TripleDES, serwer zna klucze
RSA Security: SecurID
hardware (token, smartcard)
software (np. do Nokii Comunicator)
ActivCard
czyta challenge z ekranu
Autentykacja
tokenami
plusy i minusy
plusy
rozwiązanie kryptograficznie
mocne
coś mam i coś wiem - dobry
pomysł
wymiary
minusy
koszt tokenów (przy małej ilości)
oraz oprogramowania serwera
bank i praca - dwa tokeny
niewymienna bateria
Zastosowania
Podpis cyfrowy
Certyfikaty
Elektroniczne pieniądze
Głosowanie przez sieć
Inne
Podpis cyfrowy
podpisywanie
sprawdzanie
standard DSS: DSA + SHA-1
problem człowiek - software
ustawy (Czechy, Polska) nie
określają konkretnej technologii
Certyfikaty
identyfikowanie ludzi,
komputerów, oprogramowania
używane np. w SSL
zawartość
właściciel
kto wystawił
dane teleadresowe
czas ważności
klucz publiczny
fingerprint (podpis certyfikatu)
Ścieżki
certyfikatów
architektura X.509
hierarchiczne zaufanie
Certificate Authorities
Thawte (Cape Town, RPA)
Verisign (USA)
Centrum Certyfikacji (Szczecin)
Elektroniczne
pieniądze
rodzaje i problemy
rodzaje
nieanonimowe (elektronic money)
anonimowe (digital cash)
sposoby weryfikacji
online (w trakcie transakcji)
offline (przy zwracaniu do banku)
problemy
anonimowość
double-spending
Elektroniczne
pieniądze
rozwiązania
banknot ma numer seryjny
bank stosuje ślepe podpisy na
banknotach od klienta
klient przekazuje „worek”
banknotów
przy weryfikacji offline
double-spender traci anonimowość
zaufanie do oprogramowania
NetCash (online), DigiCach (offline)
Głosowanie przez
sieć
warunki
demokracja
głosują tylko uprawnieni
tylko jeden głos na osobę
prywatność
nie wiadomo, jak ktoś głosował
nie można pokazać swojego głosu
zapewnienie poprawność
głosu nie można zmienić ani
pominąć
zliczane są tylko poprawne głosy
możliwość sprawdzenia zliczania
zliczanie po zakończeniu głosowania
Głosowanie przez
sieć
rozwiązania
analogie do digital cash
protokół
zaciemniony i zaszyfrowany głos
jest podpisywany przez
weryfikatora
głos z podpisem bez zaciemnienia
przesyłany jest do liczącego
liczący publikuje otrzymane głosy
głosujący przysyłają klucze
ponownie problem zaufania
optymiści i pesymiści
Inne
zastosowania
ochrona własności intelektualnej
DVD
książki
zwykłe pliki
Podsumowanie
Wnioski
Uwagi
Źródła
Pytania
Wnioski
(prawie) wszystkie problemy są do
rozwiązania kryptograficznie
prawdziwy problem często leży
poza możliwościami kryptografii
tworzenie bezpiecznych systemów
rozproszonych jest trudne
część z omówionych mechanizmów
jest prosta i można je stosować we
własnych aplikacjach
metoda „kilka zamków w drzwiach”
Uwagi
narzędzia kryptograficzne są mocne, ale
trzeba umieć korzystać
klucz dłuższy <> lepszy
bezpieczeństwo powinno opierać się na
tajemnicy kluczy, nie technologii
chronić 1024 bitowy klucz
PINem 4-cyfrowym - bez sensu
używać funkcji jednokierunkowych
(hasła w Linux i Apache’u)
problem zaufania do oprogramowania
Źródła
Bruce Schneier „Applied
Cryptography”
www.counterpane.com
biuletyn Crypto-gram
www.cryptography.com
www.securityfocus.com
www.digicash.com
www.notablesoftware/evote.html
Pytania
Koniec
Sebastian
Łopieński
seb@conowego.pl