250 likes | 566 Views
Šifravimo algoritmai. II dalis S. Kareiva. SSL sertifikatai HTTPS protokolas Simetriniai raktai crypt () algoritmas ir druska. Sertifikatas. Sertifikatas (išdavimas). Priv key. Pub key. Server: www.vu.lt Org: VU City: Vilnius Issuer: VU Valid: 365. Priv key. CA OK. Pub key.
E N D
Šifravimo algoritmai II dalis S. Kareiva
SSL sertifikatai • HTTPS protokolas • Simetriniai raktai • crypt() algoritmas ir druska
Sertifikatas (išdavimas) Priv key Pub key Server: www.vu.lt Org: VU City: Vilnius Issuer: VU Valid: 365 Priv key CA OK Pub key
Sertifikatas (naudojimas) CERT OK connect 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 • 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
HTTPS protokolas SSL • Įprastai palaikomi simetrinio rakto algoritmai • DES • 3DES • ARCFOUR • AES • Camellia • RC2 • IDEA • SEED • NULL
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?
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 Salt Encrypted Password nutmeg Mi MiqkFWCm1fNJI ellen1 ri ri79KNd7V6.Sk Sharon ./ ./2aN7ysff3qM norahs am amfIADT2iqjAf norahs 7a 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?
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.