Šifravimo algoritmai

Download Report

Transcript Šifravimo algoritmai

Šifravimo algoritmai
II dalis
S. Kareiva
• SSL sertifikatai
• HTTPS protokolas
• Simetriniai raktai
• crypt() algoritmas ir druska
Sertifikatas
Sertifikatas (išdavimas)
Priv
key
Pub
key
CA
OK
Server:
www.vu.lt
Org: VU
City:
Vilnius
Issuer: VU
Valid: 365
Priv
key
Pub
key
Sertifikatas (naudojimas)
CERT OK
CERT
HTTPS protokolas
• HTTP Secure (bet ne Secure HTTP)
• 443
• Sparčiam duomenų perdavimui naudojamas
asimetrinis raktas
• Raktas parenkamas TLS protokolu
(Transport Layer Security)
HTTPS protokolas
HTTPS protokolas
• openssl s_client -connect klevas.vu.lt:443
– GET / HTTP/1.1
–…
arba, jei turite savo sertifikatą…
• openssl s_server -accept 443 -cert mycert.pem -WWW
HTTPS protokolas
• Serveris priima pirmą tinkamą kliento
pasiūlytą simetrinio rakto algoritmą
• Cipher suite:
– TLS_RSA_WITH_3DES_EDE_CBC_SHA
• Reikšmė:
– Simetrinis raktas šifruojamas RSA
– Simetrinio rakto algoritmas – 3DES
– Integralumo patikrinimas – SHA1
TLS visada yra…
• Saugus handshake, užmegztas asimetriniu raktu
(public/private kombinacija)
• Asimetriškai šifruojamu kanalu saugiai
perduodamas simetrinis raktas tolimesniam
pranešimų kodavimui
• Tikrinamas kiekvieno pranešimo checksum arba
MAC (message auth code)
– kad nepainioti, dar vadinamas MIC – message
integrity code
SSL
HTTPS
protokolas
• Įprastai palaikomi simetrinio rakto algoritmai
–
–
–
–
–
–
–
–
–
DES
3DES
ARCFOUR
AES
Camellia
RC2
IDEA
SEED
NULL
Simetrinis šifravimas
Simetrinis – asimetrinis šifravimas
• Tai toks šifravimas, kai abi komunikuojančios
pusės naudoja vienodą (arba panašų) raktą
– tas pats raktas arba jo transformacija naudojama
kodavimui ir atkodavimui
• Šifravimas, kai naudojami skirtingi (privatūs ir
vieši) raktai vadinamas asimetriniu
– vienas raktas yra skirtas tik užkoduoti / patikrinti
parašą
– kitas raktas skirtas tik atkoduoti / pasirašyti
Simetrinis šifravimas
• DES – data encryption standard
• 3DES – tris kartus DES…
• DES naudoja 64 bitų raktą,
kas 8 bitas – checksum
• 3DES – kelių bitų raktas?
Pailsim iki 13:00
AES
• Keitimo-permutacinis simetrinio šifravimo
algoritmas
• Privalumai:
– skirtingo dydžio raktai (128, 192, 256 bitai)
– greitai veikia tiek software tiek hardware
• JAV šiuo algoritmu šifruojama:
– 128 bitais: SECRET informacija
– 192 arba 256 bitais: TOP SECRET informacija
crypt(1) algoritmas - istorija
• Kriptografinis UNIX įrankis
• Originaliai paremtas šiuo aparatu ->
• Taip ir žinomas: crypt, enigma
• very simple file encryption
crypt(3)
• UNIX biblioteka, implementuojanti DES (ir kt.)
• It is based on a one way hashing encryption
algorithm with variations intended (among
other things) to frustrate use of hardware
implementations of a key search.
• Naudoja druskos (salt) funkcionalumą … ->
Druska (salt)
• Atsitiktinis priedas prie slaptažodžio
• hash = md5 ( password + salt ) + salt
• Kiekvienas druskos bitas laipsniškai didina
slaptažodžio saugumą
• Gali būti ir statinis, tuomet nereikia saugoti
kartu su slaptažodžio digest’u
Druska (pvz)
Password
nutmeg
ellen1
Sharon
norahs
norahs
Salt
Mi
ri
./
am
7a
Encrypted Password
MiqkFWCm1fNJI
ri79KNd7V6.Sk
./2aN7ysff3qM
amfIADT2iqjAf
7azfT5tIdyh0I
salt is a two-character string chosen from the set [a-zA-Z0-9./]; this string is
used to perturb the hashing algorithm in one of 4096 different ways, after
which the password is used as the key to encrypt repeatedly a constant string.
Druska (gudrybės)
• Klausimai atakuotojui:
– Kokio dydžio yra salt reikšmė?
– Kurie hash’o bitai yra salt?
Druska (salt)
Kiti įdomūs pasiskaitymai
• PGP (GnuPG) – el. pašto privatumui
• S/MIME - Secure/Multipurpose Internet Mail
Extensions
• IPsec tuneliai
Informacija
• Dėstytojas out-of-office kovo 5-7 d.
Pirmo paskaitų ciklo pabaiga