Sigurnost bezicnih racunalnih mreza

Download Report

Transcript Sigurnost bezicnih racunalnih mreza

Kriptografija i mrežna sigurnost
Mario Čagalj
[email protected]
FESB
4/3/2014.
Administrativne informacije
o O predavačima
o izv. prof. dr. sc. Mario Čagalj
o Doktorirao na EPFL, Švicarska (2006.)
o Više informacija na http://www.fesb.hr/~mcagalj
o Web stranica http://www.fesb.hr/~mcagalj/CNS
o
o
o
o
Prezentacije sa predavanja
Opis kolegija, lab. vježbi, literatura
Linkovi na “on-line” knjige i druge zanimljive reference
Razne obavijesti (uz e-learning portal)
o Konzultacije
o Po dogovoru, obavezno me kontaktirajte putem e-maila
o E-mail: [email protected]
::2::
Vaše zadaće i ocjenjivanje
o Zadaci u sklopu predmeta
o
o
Laboratorijske vježbe (“hands-on”, pismeni izvještaji)
Prisustvo na nastavi (vježbama - moguća ispitna pitanja)
•
•
Vježbe: obavezne, 100%-tno prisustvo
Predvanja: ovisno o prisustvu manje ili više privilegija kod zaključivanja
konačne ocjene
o Ocjenjivanje
A - Prisustvo na predavanjima i lab. vježbama................5%
B - Pismeni izvještaj sa lab. vježbi...................................15%
C - 1. kolokvij.........................................................................30%
D - 2. kolokvij (cijelo gradivo)...........................................50%
Ukupna ocjena = (0.05*A + 0.15*B + 0.30*C + 0.50*D)
NAPOMENA: Svi oblici provjere znanja su “closed-book” tipa.
::3::
Format predavanja
o Interaktivan
o Slobodno postavljajte pitanja
o Ako vam se učini da sam napisao ili rekao nešto netočno ili
pogrešno, možda i jesam (slobodno me upozorite)
o Slide-ove sa predavanja ću postavljati različitom
dinamikom na web stranice predmeta
o Uoči ili nakon predavanja
o Nastavni tekst može biti na hrvatskom i engleskom jeziku
::4::
Literatura
o
Osnovna literatura
o
Vezane knjige dostupne “on-line”
o
o
o
o
“Cryptography and Network Security, 4th Edition”. William Stallings
“Network Security: Private Communication in a Public World, 2nd
Edition”. Charlie Kaufman, Radia Perlman and Mike Speciner
“Handbook of Applied Cryptography”. Alfred J. Menezes, Paul C. van
Oorschot and Scott A. Vanstone
o
http://www.cacr.math.uwaterloo.ca/hac
o
http://www.cl.cam.ac.uk/~rja14/book.html
o
http://www.wilyhacker.com/1e
o
“Security Engineering”. Ross Anderson
o
“Firewalls and Internet Security:Repelling the Wily Hacker, 1st
Edition”. William R. Cheswick and Steven M. Bellovin
Znanstveni radovi (seminari)
o
Lista zanimljivih radova biti će dostupna na web stranici predmeta
::5::
Neke teme koje pokriva predmet
o Uvod u kriptografiju i kriptografske primitive
o Hash functions, Diffie-Hellman, public key cryptography,
signatures, etc.
o Kriptografija tajnog i javnog ključa
o Side-channel timing attacks
o Autentikacija (izvora informacije i osoba)
o Password, Certificates, Public keys
o Network security
o IPsec, SSL, Secure E-mail (PEM), Kerberos, firewalls
o Web security
o Web autentikacija
o Cookies, https, e-banking...
o Wireless security
o WLAN
::6::
Kriptografski sustav
Plaintext
Encryption
Ke
Key
Channel
Ciphertext
Message
Channel
Decryption
Plaintext
Kd
Key
Generation
o
o
Kriptografija simetricnog (tajnog) kljuca: Ke = Kd
Kriptografija javnog (asimetricnog) kljuca: Ke != Kd
::7::
Block vs. Stream Cipher
o
“Stream cipher” (slijedna sifra) procesira poruku jedan po jedan bit
(byte)
pseudo-random
bit stream generator
...
o
plaintext
+
...
seed
ciphertext
“Block cipher” (blok sifra) procesira (enkriptira i dekriptira) “cistu”
poruku u blokovima
plaintext
padding
ciphertext
block
cipher
key
::8::
RSA u praksi
o
TLS/SSL
::9::
Diffie-Hellman algoritam
Dijeljeni javni elementi
p
prosti broj
g
g < p; g je primitivni korijen broja p
Korisnik A generira kljuceve
Odaberi privatan kljuc XA
Izracunaj javni kljuc YA
XA < p
YA = g XA mod p
Korisnik B generira kljuceve
Odaberi privatan kljuc XB
Izracunaj javni kljuc YB
XB < p
YB = g XB mod p
Korisnik A generira tajni (simetricni) kljuc
KAB = (YB) XA mod p
Korisnik B generira tajni (simetricni) kljuc
KBA = (YA) XB mod p
::10::
Definicija MAC funkcije*
o
o
o
Funkcija koja uzima dvije ulazne vrijednosti: poruku i tajni kljuc
Vrijednost funkcije je (kriptografski) autentikactor fiksne duljine (npr.
n bitova) -> MAC
Prakticno, funkcija treba biti takva da netko tko ne poznaje tajni kljuc
ne moze izracunati vrijednost MAC-a za danu poruku
... poruka m proizvoljne duljine ...
MAC
function
tajni kljuc K
MAC fiksne duljine
o
Notacija
o
o
o
o
m = ulazna poruka
C = MAC funkcija
K = dijeljeni tajni kljuc
MAC = message authentication code; MAC = C(K, m)
*Nemojte zamjeniti sa Media Access Control (MAC) funkcijom iz podrucja mreznih komunikacija.
::11::
Definicija hash funkcije
o
Slicna MAC funkciji, s razlikom da hash funkcija uzima samo jednu
ulaznu vrijednost: poruku proizvoljne duljine
... poruka m proizvoljne duljine ...
Hash
function
hash vrijednost/hash code/message digest
(fiksne duljine)
o
Notacija
o
o
o
o
m = ulazna poruka, h = message digest/hash value, H = hash funkcija
h = H(m)
Surjekcija (many-to-one mapping) -> kolizije izmedju dvije i vise
razlicitih ulaznih poruka neizbjezne
Otkrivanje kolizija je tezak problem -> hash vrijednost neke poruke sluzi
kao kompaktna slika (prikaz) te poruke (slicno otisku prsta – fingerprint)
::12::
“Hash and sign” paradigma
generation
Motivacija: operacije koje koriste javni/privatni kljuc su spore
Pristup: izracunaj hash vrijednost poruke, te primjeni operacije
javnog/privatnog kljuca na izracunatu hash vrijednost
verification
o
o
private key
of sender
message
message
H
H
hash
hash
Compare
yes/no
Enc
signature
Dec
signature
public key
of sender
::13::
IPsec
IPsec je obavezna komponenta IPv6 protokola (128 bitna
adresa) i definira sljedeće sigurnosne mehanizme:
• AH, ESP, IKE, ...
::14::
Osnovne kombinacije SAs (1/4)
o
o
IPsec standard specificira 4 primjera kombinacija SAs koje mora
podrzavati svaki IPsec uredjaj (racunalo, gateway, firewall, router)
Slucaj 1:
o
o
Sigurnost izmedju krajnjih tocaka (host-to-host); end-hosts moraju dijeliti
zajednicke tajne kljuceve da bi mogli komunicirati preko SA
Moguce kombinacije: (a) AH + transport mode, (b) ESP + transport mode, (c)
ESP SA unutar AH SA, (d) a,b,c unutar AH ili ESP tunela
one or more transport SAs
local
intranet
Internet
local
intranet
::15::
Osnovne kombinacije SAs (2/4)
o
Slucaj 2:
o
o
Sigurnost izmedju gateway-a (routers, firewalls, etc.); nijedan host ne
implementira IPsec
VPN (virtual private network) sa tunel SA
tunnel SAs in both direction
local
intranet
Internet
local
intranet
::16::
TLS/SSL: Sigurnosne usluge
o Confidentiality (privatnost podataka i identiteta)
o Npr., kod placanja kreditnom karticom preko Interneta, zelite
osigurati da samo autenticiran server dobije broj vase kartice
o Data integrity
o Autentikacija servera
o Npr., kod placanja kreditnom karticom preko Interneta, zelite
osigurati da broj vase kartice saljete npr. amazon.com-u a ne
amaz0n.com-u
o Autentikacija klijenta – opcionalno
SSL tunnel
HTTP
Klijent
Server
HTTPS = “HTTP over TLS/SSL”
::17::
WiFi Security: EAP-TTLS
o
Tunneled TLS over Extensible Authentication Protocol (EAP-TTLS)
o
o
Provides protection for initial authentication messages (plaintext passwords,
e.g. PAP used by FESB) transmitted over public wireless channel
Initial authentication messages are exchanged through the SSL/TLS tunnel
<-----------certificate---------->
<--no trust-->
Mobilni klijent (M)
<--trust-->
Pristupna točka (AP)
<--trust-->
TTLS server
Autentikacijski
server (AS)
Establishing an authentication TLS tunnel
TLS protected authentication
Authentication
WLAN master
session key
Data traffic
on secured link
::18::
IEEE 802.11 standard
o
o
Definiran za bežične LAN (WLAN)
Gdje se nalazi u OSI modelu?
o
o
Fizička razina
Podatkovna razina (Media Access Control - MAC, sigurnost)
terminal
mobilno računalo
Ethernet mreža
pristupna točka
aplikacija
aplikacija
TCP
TCP
IP
IP
802.11 MAC
802.11 MAC
802.3 MAC
802.3 MAC
802.11 PHY
802.11 PHY
802.3 PHY
802.3 PHY
::19::
Wired Equivalent Privacy (WEP)
o
WEP algoritam - slijedna šifra (stream chiper) zasnovana na RC4
enkripcijskom algoritmu (Ron Rivest, RSA)
o
Tajnost podataka, integritet podataka, kontrola pristupa
inicijalizacijski vektor v
tajni ključ k
802.11 hdr
802.11 hdr
Podaci
v
Dodaj CRC = CRC32(Podaci)
802.11 hdr
Podaci

802.11 hdr
v
Podaci
CRC: Cyclic Redundancy Check
Podaci

CRC
RC4(k,v)
CRC
802.11 hdr
Podaci
CRC
RC4(k,v)
CRC
Provjeri CRC = CRC32(Podaci)
802.11 hdr
Podaci
::20::
Distributed DoS (DDoS)
o
o
o
High flooding rate attacks (many stations involved)
An attacker coordinates multiple “zombie” machines to simultaneously
flood a target machine or the network uplink
Attacker
Direct DDoS
o
o
o
o
o
o
The army of the attacker consists of
“master zombies” and “slave zombies”
Both classes are compromised machines
(infected by malicious code)
The attacker coordinates masters
The masters trigger and coordinate
slave zombies
Zombies flood the victim’s
system (e.g., SYN flood)
Masters
Slaves
In DDoS, spoofed source IP addresses
are used
o
o
Attacker wants to hide the ID of the zombies
so that the victim cannot trace the attack back
to them
Attacker wants to discourage any attempt of
the victim to filter out the malicious traffic
Victim
::21::
Tri-homed Gateway
::22::
Slef-study: CrypTool
o
http://www.cryptool.org
::23::
Hands-on (Laboratory) Exercises
o
Lab 1: Network traffic sniffing, ARP spoofing, MITM
o
Lab 2: Symmetric crypto, DES, 3DES, CBC
o
Lab 3: Public crypto, RSA, Diffie-Hellman
o
Lab 4: Authentication functions (hash, MAC, CBC-MAC)
o
Lab 5: Certificates, digital signatures, SSL/TLS
o
Lab 6: IP Security Protocol (transport and tunnel mode)
o
Lab 7: WiFi in/security
A significant part of lab exercises involve short and not so short
programming tasks in Java programming language.
::24::
Why crypto mattars?
o
Have you heard of Bitcoins?
o
Have you ever written an Android app?
o
How about https protocol?
o
Ever connected to a WiFi network?
o
Ever peeked into a .torrent file?
o
Ever had to store other users’ passwords/secrets?
o
How about m-banking and e-banking services (and m-tokens)?
o
Can you name a few examples?
::25::