Asymmetriska och symmetriska krypteringar är typerna av kryptering används inom kryptografi. Det finns bara en nyckel involverad i symmetrisk kryptering, som används för både kryptering och dekryptering. Nyckeln måste delas mellan de inblandade parterna som vill kryptera och dekryptera data. I jämförelse använder asymmetrisk kryptering två separata nycklar som är matematiskt relaterade till varandra. Nycklarna kallas privata nycklar och publika nycklar. Generellt sett är ett certifikat associerat med en publik nyckel, som innehåller information om ägaren av den publika nyckeln.
Certifikatet innehåller information som namn, organisationsnamn, algoritmer som används etc. Även om symmetrisk och asymmetrisk kryptering verkar lika, är symmetrisk kryptering jämförbart snabbare än asymmetrisk kryptering; prestandamässigt är asymmetrisk kryptering därför långsammare, vilket är anledningen till att symmetrisk kryptering ofta används i samband med asymmetrisk kryptering. Vi kommer att utforska mer om detta i de användningsfall som diskuteras nedan.
Symmetrisk kryptering
Som diskuterats ovan använder symmetrisk kryptering samma nyckel för kryptering och dekryptering, så avsändaren skulle på något sätt skicka nyckeln till mottagaren för att dekryptera den krypterade informationen. Nyckeln måste skyddas och överföras säkert. Om nyckeln förloras kan informationen inte dekrypteras, och om nyckeln komprometteras kommer det att äventyra krypteringen.
Således överförs symmetriska nycklar mellan parter med hjälp av asymmetrisk kryptering, vilket säkerställer att den symmetriska nyckeln förblir krypterad. Två olika nycklar är nu involverade i kryptering och dekryptering av informationen.
Symmetrisk kryptering är jämförelsevis mycket snabbare än asymmetrisk kryptering, vilket är anledningen till att den fortfarande används massivt idag.
Asymmetrisk kryptering
Asymmetrisk kryptering använder två separata nycklar som matematiskt är kopplade till varandra. Den första nyckeln kallas den privata nyckeln. Den privata nyckeln är den som är starkt skyddad. Ofta förblir denna nyckel i en HSM eller en dator med luftgap för att säkerställa skyddet av den privata nyckeln. Den publika nyckeln härleds från den privata nyckeln och kan distribueras. Ett certifikat skapas ofta med en publik nyckel som innehåller information om nyckelns ägare och några detaljer om själva nyckeln.
Nyckelparet använder primtal med utökad längd. De publika och privata nycklarna beräknas samtidigt med samma matematiska operation, nämligen fallucksfunktioner. Det mest karakteristiska för fallucksfunktioner är att de är enkla att beräkna i en riktning; ändå är de svåra att beräkna i omvänd ordning. Med en privat nyckel kan vi hitta den publika nyckeln, men den privata nyckeln kan inte erhållas med den publika nyckeln.
Även om asymmetrisk kryptering ger mer skydd för nycklarna, är de jämförelsevis långsammare än symmetrisk kryptering. Av denna anledning används asymmetrisk kryptering ofta för att utbyta den hemliga nyckeln, vilket kan användas för att etablera symmetrisk kryptering för snabbare dataöverföring och göra kryptering och dekryptering av data snabbare.
Use Cases
Symmetrisk kryptering
Symmetrisk kryptering använder en nyckel för kryptering och dekryptering, vilket är anledningen till att den bäst används för att kryptera och dekryptera lokala data. Några användningsfall som involverar symmetrisk kryptering kan vara:
- Data i vila: Vilande data avser data som lagras på en fysisk hårddisk och överförs inte mellan enheter. Denna data kan lagras på hårddiskar, SSD-diskar, flash-enheter etc. Vilande data innefattar ofta data som kan vara värdefull för angripare eftersom den vanligtvis innehåller kundinformation, anställdsinformation, affärshemligheter, immateriella rättigheter etc. För att kunna skydda denna data på ett adekvat sätt använder organisationer symmetrisk kryptering.
Ett effektivt sätt att kryptera all data på en fysisk enhet är att kryptera själva enheten. Detta kallas heldisk- eller fullständig diskkryptering, vilket har färre fördelar än partiell eller mappkryptering. Många filer (som Word-filer) skapar en tillfällig fil medan den öppnas. Denna tillfälliga fil kan förbli okrypterad. Många Linux-distributioner tillhandahåller fullständig diskkryptering vid installation av operativsystemet, och Microsoft levererar BitLocker-diskkryptering för Windows. Fullständig diskkryptering lämnar startvolymen okrypterad för att operativsystemet ska kunna starta, men alla andra volymer, inklusive växlingsutrymme och tillfälliga filer, förblir krypterade. - Bank- och betalningsbranschen: Bank- och betalningsbranschen är en av de säkraste branscherna, och det finns många efterlevnadskrav för att hålla den säker. Ändå är det också en av de mest hektiska branscherna, vilket kräver att de är snabba. Symmetrisk kryptering ger snabb kryptering och dekryptering av en stor mängd data, inklusive transaktioner. Den kan ofta innehålla personligt identifierbar information (PII), som måste skyddas för att vara kompatibel med PCI DSS och förhindra identitetsstöld. De måste också snabbt säkerställa användarens identitet och transaktionernas äkthet. Detta är en av anledningarna till att bankbranschen använder symmetrisk kryptering.
Asymmetrisk kryptering
Asymmetrisk kryptering är långsammare än symmetrisk kryptering, så den används för små mängder data, till exempel utbyte av hemliga nycklar eller tillhandahållande av digitala identiteter.
I takt med att organisationer går över till den digitala tidsåldern blir digitala signaturer avgörande för att identifiera autentiska data och säkerställa någons identitet. Digitala signaturer säkerställer att de inblandade uppgifterna inte har ändrats och att uppgifterna (som kan inkludera PDF-filer, applikationer etc.) är autentiska. Mottagaren av signerade data använder en digital signatur för att visa för en tredje part att den påstådda individen genererade signaturen. Detta kallas ofta oförnekelse eftersom individen inte bara kan förneka signaturen vid ett senare tillfälle.
Följande steg förklarar hur en digital signatur används för att utbyta information mellan en avsändare och en mottagare:
- Först hashas den data som skulle överföras med hjälp av hashalgoritmer som SHA-256. Hashning är en envägsfunktion och producerar ett unikt värde för en unik inmatning. Originaldata kan inte erhållas med hjälp av hashvärdet. Detta säkerställer dataintegritet, eftersom om data ändras kommer motsvarande hashvärde också att ändras.
- Hashen krypteras sedan med avsändarens privata nyckel. Detta skapar en digital signatur.
- Den digitala signaturen skulle nu bifogas och skickas till avsändaren.
- Efter att data och den digitala signaturen mottagits dekrypteras signaturen med hjälp av avsändarens offentliga nyckel, som ger det hashvärde som genereras i det första steget.
- Mottagaren hashar sedan den erhållna informationen.
- Om hashvärdet som erhålls i steg 5 är lika med hashvärdet som mottagaren fick i steg 4, säkerställer det dataintegriteten. Om hashvärdena däremot inte matchar, har informationen modifierats.
Digitala signaturer är avsedda att användas i e-postmeddelanden, överföring av data, distribution av programvara och andra applikationer, vilket kräver dataintegritet och säkerställer dataursprungets äkthet.
Användningsfall för asymmetrisk och symmetrisk kryptering
Asymmetriska och symmetriska krypteringar används ofta i kombination med varandra för att upprätthålla en balans mellan prestanda, säker överföring, identifiering etc. En enda kryptering kanske inte kan uppnås på egen hand.
Användningsfall 1: Meddelandeapplikationer
Många meddelandeapplikationer, som WhatsApp, Telegram och Signal, erbjuder end-to-end-kryptering för att skydda användarnas integritet och autentisera användare för att kommunicera säkert med varandra.
Vid end-to-end-kryptering krypteras meddelanden och samtal så att ingen annan än användarna får tillgång till klartextinformation. Endast data krypteras, men rubriker, trailers och routinginformation för meddelandena förblir okrypterade.
En av de bästa funktionerna är att även om nyckeln på något sätt komprometteras från användarens fysiska enhet, kan den nyckeln inte användas för att dekryptera tidigare krypterad text.
För att kunna uppnå detta används både symmetriska och asymmetriska krypteringar. Asymmetrisk kryptering används för att initiera konversationen mellan användarna, vilket innebär att hemliga nycklar utbyts mot symmetrisk kryptering. Efter att kommunikationen har upprättats och en hemlig nyckel har utbytts används symmetrisk kryptering under hela kommunikationens varaktighet.
Först, när applikationen installeras på användarens sida, skapas nyckelparet. Användarens publika nyckel registreras och lagras på applikationsservern, men den privata nyckeln finns kvar på användarens enhet. Användaren som vill initiera konversationen får mottagarens publika nyckel från applikationsservern. Med hjälp av den publika nyckeln skickar avsändaren ett krypterat meddelande till mottagaren. Det krypterade meddelandet innehåller parametrar för att upprätta en symmetrisk session mellan de inblandade parterna.
Mottagaren skulle använda sin privata nyckel för att dekryptera meddelandet och utveckla symmetrisk kryptering mellan avsändaren och mottagaren. När sessionen har upprättats utbyter klienter meddelanden som skyddas med en meddelandenyckel med AES256 i CBC-läge för kryptering och HMAC-SHA256 för autentisering. Den krypterade sessionen skulle återskapas endast när applikationen installeras om eller enheten byts ut.
Användningsfall 2: HTTPS
HTTPS (Hypertext Transfer Protocol Secure) är en säker version av HTTP-protokollet som använder SSL/TLS-protokollet för kryptering och autentisering. HTTPS specificeras av RFC 2818 (maj 2000) och använder port 443 som standard istället för HTTP:s port 80.
HTTPS-protokollet gör det möjligt för webbplatsanvändare att säkert överföra känslig information som kreditkortsnummer, bankinformation och inloggningsuppgifter över internet. Av denna anledning är HTTPS avgörande för att säkra onlineaktiviteter som shopping, bankärenden och distansarbete. HTTPS är nu standardprotokollet för alla webbplatser, oavsett om de utbyter känslig information med användare.
En HTTPS-anslutning mellan en klient och en server använder både symmetrisk och asymmetrisk kryptering. Liksom den föregående används asymmetrisk kryptering först för att upprätta kommunikation och utbyta hemligheter, och sedan används symmetrisk kryptering för resten av kommunikationen. Nyckeln som används för symmetrisk kryptering kallas en sessionsnyckel. Sessionsnycklar genereras slumpmässigt när en session skapas och används endast för den specifika sessionen. Stegen som ingår i HTTPS är:
- När klienten försöker ansluta till servern skickar servern först ett TLS-certifikat. Respektive certifikatutfärdare verifierar certifikatet för att säkerställa certifikatets och den inblandade serverns äkthet.
- Certifikatet innehåller även krypteringssviter och den maximala TLS-versionen som stöds.
- När certifikatet har verifierats och algoritmerna och TLS-versionerna är inställda på maximalt antal mellan klienten och servern genererar klienten en sessionsnyckel. Sessionsnyckeln krypteras med serverns publika nyckel och skickas till servern.
- Servern dekrypterar sessionsnyckeln med sin privata nyckel.
- Sessionsnyckeln används sedan för symmetrisk kryptering, och data utbyts mellan servern och klienten med hjälp av sessionsnyckeln.
- Sessionen fortsätter med endast symmetrisk kryptering.
Slutsats
Symmetrisk kryptering är verkligen en av de snabbaste krypteringsteknikerna, men den hemliga nyckeln måste utväxlas säkert för att vara effektiv. Asymmetrisk kryptering används således för att utbyta den involverade nyckeln mot symmetrisk kryptering. I båda användningsfallen används asymmetrisk kryptering kort för att utbyta parametrar och etablera symmetrisk kryptering för resten av kommunikationen. Eftersom asymmetrisk kryptering är långsam och resurskrävande används den endast för att täcka bristerna hos symmetrisk kryptering. Således används båda tillsammans för att uppnå idealisk säker kommunikation, upprätthålla integritet, uppnå autenticitet, dataintegritet och korrekt autentisering.
