De ce sunt generate chei diferite pentru inițiator și răspuns pentru criptare?
Ei bine, unii algoritmi de criptare (de exemplu, GCM și ChaCha/Poly1305) sunt nesiguri dacă mai mulți criptatori pot folosi aceleași chei. Acest lucru ar putea fi gestionat (în exemplele de mai sus, asigurându-vă că cele două părți folosesc nonce diferite, de exemplu, inițiatorul folosește întotdeauna nonce par și respondentul folosește întotdeauna nonce impar), totuși ar fi necesară o metodă diferită pentru fiecare astfel de algoritm de criptare. Este considerabil mai ușor și mai sigur să aveți chei separate pentru direcțiile separate.
Care sunt utilizarea explicită a diferitelor chei derivate din SKEYSEED în IKE?
SKd - acea cheie este folosită atunci când derivă „SA-uri copil”, adică asociații de securitate care sunt create ca urmare a acesteia. Acestea pot fi atât SA IKE, cât și SA IPsec.
SKe - acestea sunt cheile folosite pentru a cripta mesajele IKE
SKa - acestea sunt cheile folosite pentru a adăuga protecție a integrității mesajelor IKE (presupunând că o transformare explicită de integritate, cum ar fi HMAC sau CMAC, este negociată; dacă se folosește un mod combinat, cum ar fi GCM, acesta este neutilizat și are lungime zero) .
SKp - acestea sunt utilizate ca parte a formulei utilizate pentru a calcula/verifica sarcina utilă AUTH, care are ca scop verificarea identității celeilalte părți (spre deosebire de cheile SKa, care vizează verificarea faptului că mesajul trimis de cealaltă parte partea este mesajul care a fost primit).