![]() |
|
|
Home
> Inginerie > Calculatoare
> Ghid retele > Securitatea retelei9. Securitatea reţeleiSecuritatea
reţelei Securitatea reţelei
Intrusul poate
Aspecte importante:
Securitatea în reţelele de calculatoareResurse utilizator:
Resurse reţea:
Atenţionări:
Încriptarea
Text în clar: mesaj necriptat. Text cifrat: forma încriptată a mesajului Intrusul poate
Un algoritm simplu de încriptareCifru de substituţie: abcdefghijklmnopqrstuvwxyz poiuytrewqasdfghjklmnbvczx
plaintext: Charlotte, my love ciphertext: iepksgmmy, dz sgby
DES: Standard de încriptare a datelor (Data Encryption Standard)Încriptează datele în trunchiuri de câte 64-bit. Algoritmul de încriptare/decriptare este un standard publicat.
Cifrul de subtituţie are pentru trunchiurile de 64 bit: cheia de 56 bit determină care din cele 56! cifruri de substituţie va fi folosit
Problema distribuţiei cheiiProblemă: cum cad comunicanţii de acord asupra cheii simetrice?
Distribuţia agentului de încredere:
Criptografia prin chei publiceChei de încriptare/decriptare separate
Pentru a transmite către destinatarul B, se încriptează mesajul M folosind cheia lui B accesibilă public, EB
Pentru a decripta, B aplică cheia sa privată de decriptare DB la primirea mesajului.
Cunoaşterea cheii de încriptare nu ajută la decriptareŞ decriptarea nu este un proces invers al âncriptării. Numai destinatarul poate decripta mesajul. RSA: încriptarea/decriptarea prin chei publiceRSA: un algoritm de încriptare/decriptare folosind chei publice. Entităţile care doresc să primească mesaje încriptate:
numărul întreg din( (ed) / ((p-1)(q-1)) ) = 1, respectiv, ed = k(p-1)(q-1) +1
Pentru încriptare:
Pentru decriptare:
pentru a sparge RSA
RSA Exemplu
Expeditor:
Destinatar:
Alte observaţii privind RSADe ce funcţionează RSA?
(b**e)**d = b**(ed) = b**(k(p-1)(q-1)+1) for some k = b b**(p-1)(q-1) b**(p-1)(q-1) ... b**(p-1)(q-1) = b 1 1 ... 1 = b
Cum se sparge RSA?Prin forţa brută: se obţine cheia publică a lui B
Intermediarul: interceptează cheile, spoofează identitatea:
Autentificarea
Întrebare: cum ştie un destinatar că entitatea cu care comunică la distanţă este cine spune că este? Abordarea 1: autentificarea pe bază de cheie peer-peer
A către B: msg = encrypt("I am A") B procesează: if decrypt(msg)=="I am A" then A is verified else A is fradulent Autentificarea folosind Noncespentru a demonstra că A este în legătură, B trimite un număr "doar - o - dată - în - viaţă" (nonce) lui A, pe care A îl încodează şi îl returnează lui B A către B: msg = encrypt("I am A") B procesează: if decrypt(msg)=="I am A" then A is OK so far B către A: once-in-a-lifetime value, n A către B: msg2 = encrypt(n) B procesează: if decrypt(msg2)==n then A is verified else A is fradulent Autentificarea folosind chei publiceB doreşte să autentifice pe A A a realizat o cheie proprie de încriptare cunoscută EA Doar A cunoaşte DA Simetrie: DA( EA(n) ) = EA ( DA(n) ) A către B: msg = "I am A" B către A: once-in-a-lifetime value, n A către B: msg2 = DA(n) B procesează: if EA (DA(n))== n then A is verified else A is fradulent Semnături digitale folosind chei publiceScopul semnăturii digitale:
Să presupunem că A solicită ca B să "semneze" mesajul M B transmite DA(M) lui A A procesează dacă EA ( DA(M)) == M atunci A a semnat M |
|
|
|