Beskriva kryptering och hashning
Ett sätt att minimera vanliga cybersäkerhetshot är att kryptera känsliga eller värdefulla data. Kryptering är en process där data görs oläsliga och oanvändbara för oauktoriserade personer. Om du vill använda eller läsa krypterade data måste dekrypteras, vilket kräver användning av en hemlig nyckel.
Det finns två överordnade typer av kryptering: symmetrisk och asymmetrisk. Vid symmetrisk kryptering används samma nyckel för att kryptera och dekryptera data. Vid asymmetrisk kryptering används ett nyckelpar med en offentlig nyckel och en privat nyckel. Båda nycklarna kan kryptera data, men nyckeln som används för att kryptera kan inte användas för att dekryptera krypterade data. För att dekryptera behöver du en parkopplad nyckel. Om den offentliga nyckeln till exempel används för att kryptera kan endast motsvarande privata nyckel användas för att dekryptera. Asymmetrisk kryptering används för sådant som åtkomst till webbplatser på Internet med hjälp av HTTPS-protokollet och lösningar för elektronisk datasignering. Kryptering kan skydda vilande data eller under överföring. Mer information om begreppen kryptografi finns i Beskriva begreppen kryptografi
Kryptering för vilande data
Vilande data är de data som lagras på en fysisk enhet, till exempel en server. Det kan lagras i en databas eller ett lagringskonto, men oavsett var de lagras säkerställer kryptering av vilande data att data inte kan läsas utan de nycklar och hemligheter som behövs för att dekryptera dem.
Om en angripare fick en hårddisk med krypterade data och inte hade åtkomst till krypteringsnycklarna skulle de inte kunna läsa data.
Kryptering för data under överföring
Data under överföring är data som flyttas från en plats till en annan, till exempel via Internet eller via ett privat nätverk. Säker överföring kan hanteras av flera olika lager. Det kan göras genom att kryptera data på programlagret innan de skickas via ett nätverk. HTTPS är ett exempel på kryptering under överföring.
Kryptering av data under överföring skyddar dem från externa observatörer och tillhandahåller en mekanism för att överföra data samtidigt som risken för exponering begränsas.
Kryptering av data som används
Ett vanligt användningsfall för kryptering av data som används är att skydda data i icke-existerande lagring, till exempel RAM-minne eller CPU-cacheminnen. Detta kan uppnås genom tekniker som skapar en enklav (tänk på detta som en säker låsbox) som skyddar data och håller data krypterade medan processorn bearbetar data.
Hashing
Hashing använder en algoritm för att konvertera text till ett unikt värde med fast längd som kallas hash. Varje gång samma text hashas med samma algoritm skapas samma hash-värde. Denna hash kan sedan användas som en unik identifierare för dess associerade data.
Hashing skiljer sig från kryptering eftersom den inte använder nycklar, och det hashade värdet dekrypteras inte senare tillbaka till originalet.
Hashing används ofta för att lagra lösenord. När en användare anger sitt lösenord skapar samma algoritm som skapade den lagrade hashen en hash för det angivna lösenordet. Detta jämförs med den lagrade hash-versionen av lösenordet. Om de matchar har användaren angett sitt lösenord korrekt. Detta är säkrare än att lagra lösenord för oformaterad text, men hash-algoritmer är också kända för hackare. Eftersom hash-funktioner är deterministiska (samma indata ger samma utdata) kan hackare använda brute-force-ordlisteattacker genom att hasha lösenorden. För varje matchad hash känner de till det faktiska lösenordet. För att minska den här risken är lösenord ofta "saltade". Detta syftar på att lägga till ett slumpmässigt värde med fast längd till indata för hash-funktioner för att skapa unika hashvärden för samma indata.