Hoppa till innehåll

Webinar: Registrera dig för vårt kommande webbinarium

Registrera nu

Vad är RSA? Hur fungerar ett RSA?

Vad-är-RSA_-Hur-fungerar-en-RSA

Beskrivning

Rivest-Shamir-Adleman (RSA) krypteringsalgoritm är en asymmetrisk kryptering algoritm som används flitigt i många produkter och tjänster. Asymmetrisk kryptering använder ett nyckelpar som är matematiskt kopplat till encrypt och Avkryptera data. En privat och en offentlig nyckel skapas, där den offentliga nyckeln är tillgänglig för alla och den privata nyckeln är en hemlighet som endast är känd för nyckelparets skapare. Med RSA kan antingen den privata eller offentliga nyckeln kryptera informationen, medan den andra nyckeln dekrypterar den. Detta är en av anledningarna till att RSA är den mest använda asymmetriska krypteringsalgoritmen.

Hur fungerar RSA?

Möjligheten att kryptera med antingen den privata eller den publika nyckeln ger en mängd tjänster till RSA-användare. Om den publika nyckeln används för kryptering måste den privata nyckeln användas för att dekryptera informationen. Detta är perfekt för att skicka känslig information över ett nätverk eller en internetanslutning, där mottagaren av informationen skickar sin publika nyckel till avsändaren. Avsändaren av informationen krypterar sedan den känsliga informationen med den publika nyckeln och skickar den till mottagaren. Eftersom den publika nyckeln krypterade informationen kan endast ägaren av den privata nyckeln dekryptera den känsliga informationen. Således kan endast den avsedda mottagaren av informationen dekryptera den, även om informationen togs med under överföring.

RSA-arbete

Den andra metoden för asymmetrisk kryptering med RSA är att kryptera ett meddelande med en privat nyckel. I det här exemplet krypterar avsändaren av data informationen med sin privata nyckel och skickar krypterad data och sin publika nyckel vidare till mottagaren av data. Mottagaren av data kan sedan dekryptera informationen med avsändarens publika nyckel och därmed verifiera att avsändaren är den de utger sig för att vara. Med den här metoden kan informationen bli stulen och läsas under överföring, men det verkliga syftet med denna typ av kryptering är att bevisa avsändarens identitet. Om informationen stals och ändras under överföring skulle den publika nyckeln inte kunna dekryptera det nya meddelandet, och mottagaren skulle därför veta att informationen hade ändrats under överföring.

De tekniska detaljerna i RSA bygger på idén att det är enkelt att generera ett tal genom att multiplicera två tillräckligt stora primtal, men att faktorisera det talet tillbaka till de ursprungliga primtalen är extremt svårt. Den publika och privata nyckeln skapas med två tal, varav ett är en produkt av två stora primtal. Båda använder samma två primtal för att beräkna sitt värde. RSA-nycklar tenderar att vara 1024 eller 2048 bitar långa, vilket gör dem extremt svåra att faktorisera, även om 1024-bitarsnycklar tros vara förstörbara snart.

Vem använder RSA-kryptering?

Som tidigare beskrivits har RSA-kryptering ett antal olika uppgifter som den används för. En av dessa är digital signering för kod och certifikatCertifikat kan användas för att verifiera vem en offentlig nyckel tillhör genom att signera den med nyckelparets ägares privata nyckel. Detta autentiserar nyckelparets ägare som en betrodd informationskälla. Kodsignering görs också med RSA-algoritmen. För att säkerställa att ägaren inte skickar farlig eller felaktig kod till en köpare signeras koden med kodskaparens privata nyckel. Detta verifierar att koden inte har redigerats skadligt under överföringen och att kodskaparen verifierar att koden gör vad den har sagt att den gör.

RSA användes med Transport Layer Security (TLS) för att säkra kommunikationen mellan två individer. Andra välkända produkter och algoritmer, som Pretty Good Privacy-algoritmen, använder RSA antingen för närvarande eller tidigare. Virtuella privata nätverk (VPN), e-posttjänster, webbläsare och andra kommunikationskanaler har också använt RSA. VPN använder TLS för att implementera en handskakning mellan de två parterna i informationsutbytet. TLS-handskakningen använder RSA som krypteringsalgoritm för att verifiera att båda parter är de de utger sig för att vara.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

RSA-sårbarheter

Även om det är genomförbart under många omständigheter finns det fortfarande ett antal sårbarheter i RSA som kan utnyttjas av angripare. En av dessa sårbarheter är implementeringen av en lång nyckel i krypteringsalgoritmen. Algoritmer som AES är okrossbara, medan RSA förlitar sig på storleken på sin nyckel för att vara svår att knäcka. Ju längre en RSA-nyckel är, desto säkrare är den. Med hjälp av primtalsfaktorisering lyckades forskare knäcka en 768-bitars RSA-algoritm för nyckelnyckel, men det tog dem 2 år, tusentals arbetstimmar och en absurd mängd datorkraft, så de nuvarande nyckellängderna i RSA är fortfarande säkra. Nationella institutet för vetenskap och teknik (NIST) rekommenderar nu en minsta nyckellängd på 2048 bitar, men många organisationer har använt nycklar med en längd på 4096 bitar. Andra sätt som RSA är sårbart är:

  • Svag slumptalsgenerator

    När organisationer använder svaga slumptalsgeneratorer är primtalen som skapas av dem mycket enklare att faktorisera, vilket ger angripare enklare tid att knäcka algoritmen.

  • Svag nyckelgenerering

    RSA-nycklar har vissa krav gällande hur de genereras. Om primtalen är för nära varandra, eller om ett av talen som utgör den privata nyckeln är för litet, kan nyckeln lösas mycket enklare.

  • Sidokanalattacker

    Sidokanalattacker är en angreppsmetod som utnyttjar systemet som kör krypteringsalgoritmen, i motsats till själva algoritmen. Angripare kan analysera den effekt som används, använda branch prediction analysis eller använda timingattacker för att hitta sätt att fastställa nyckeln som används i algoritmen, och därmed kompromettera data.