Internet: Kryptering och offentliga nycklar
Hej jag heter Mia Gil-Epner, jag studerar
datavetenskap på UC Berkeley och arbetar
hos försvarsdepartementet med
att hålla information säker. Internet är
ett öppet och offentligt system. Alla
skickar och tar emot data med gemensamma
anslutningar. Men även om det är ett öppet
system utbyter vi ändå en hel del privata
data. Saker som kreditkortsnummer,
bankuppgifter, lösenord och e-post. Så
hur håller vi privata uppgifter hemliga?
Alla uppgifter kan hållas hemliga med
en process som kallas kryptering, som
ändrar meddelandet för att dölja original-
texten. Dekryptering processen som gör
meddelandet läsbart. Det är
en enkel idé, och människor har gjort det
i århundraden. En av de första välkända
metoderna är Caesarchiffer, döpt efter
romerska generalen Julius Caesar
som krypterade sina militärkommandon
för att se till att avlyssnade meddelanden
inte skulle kunna läsas av fiender.
Caesar Cipher är en algoritm som ersätter
bokstäverna i det ursprungliga meddelandet
med en bokstav ett visst antal steg bort i
alfabetet. Om antalet bara är känt av
sändaren och mottagaren kallas det för
nyckeln. Den gör att läsaren kan låsa upp
det hemliga meddelandet. T.ex. om original
texten är "HEJ" och krypteras med Caesar
Chiffer-algoritmen med en nyckel på 5
skulle det vara så här. För att dekryptera
meddelandet använder mottagaren nyckeln.
Men det stora problemet med Caesar Chiffer
är att vem som helst kan knäcka
det krypterade meddelandet genom att pröva
alla nycklar i det engelska alfabetet,
det finns bara 26 bokstäver, vilket gör
att det krävs högst 26 försök för att
dekryptera meddelandet. Det är inte svårt
att pröva 26 nycklar, det skulle ta högst
en timme eller två. Vi gör det svårare och
förskjuter inte varje bokstav lika, vi
förskjuter varje bokstav med olika antal
steg. Här visar en tiosiffrig nyckel
hur många steg varje bokstav kommer att
förskjutas för att kryptera et meddelande.
Det skulle vara svårt att gissa. Tio
siffror har 10 miljarder möjliga lösningar
Självklart är det för svårt för att lösa,
det skulle ta en människa flera hundra år.
Det skulle ta en modern dator bara
sekunder att pröva 10 miljarder nycklar.
Så i en modern värld där brottslingar är
beväpnade med datorer istället för pennor,
hur kan meddelanden krypteras så att de är
för svåra att knäcka? För svåra innebär
att det finns för många möjligheter
att beräkna inom rimlig tid. Dagens säkra
kommunikation är krypterad med 256-bitars
nycklar. Det innebär att en dator som
stöter på ditt meddelande måste pröva
så många möjliga alternativ för att hitta
nyckeln och knäcka meddelandet. Även om du
hade 100 000 superdatorer och samtliga
kunde pröva en miljon miljarder nycklar i
sekunden skulle det ta biljoners biljoner
år att att knäcka ett enda meddelande
krypterat med 256 bitar.
Nu blir ju datorchips dubbelt så snabba
och hälften så stora drygt varje år. Om
utvecklingen fortsätter i den takten
kommer dagens omöjliga problem kunna lösas
om bara några hundra år och 256 bitar
kommer inte att räcka till. Faktum är att
vi redan varit tvungna att utöka standard-
nyckeln för att inte halka efter datorerna
Den goda nyheten att en längre nyckel inte
gör krypteringen svårare men att det
exponentiellt ökar antalet försök det tar
för att knäcka ett chiffer. När
avsändaren och mottagaren delar samma
nyckel för att kryptera och avkryptera,
heter det symmetrisk kryptering. som med
Caesar Chiffer måste den hemliga nyckeln
enas om i privat mellan två personer i
förväg. Det går bra för människor, men
då internet är öppet så det är omöjligt
för två datorer för att "träffas" privat.
Istället använder datorer asymmetrisk
kryptering, en offentlig nyckel som kan
ges till med vem som helst och en privat
nyckel. Den offentliga nyckeln krypterar
data och vem som helst kan använda
men hemligheten kan bara dekrypteras
med en dator som har tillgång till den
privata nyckeln. Det fungerar matematiskt,
men vi tar inte det just nu. Föreställ dig
att du har en personlig brevlåda,
där vem som helst kan lägga i post med
rätt nyckel. Du kan göra många kopior
av insättningsnyckeln och skicka till
någon eller även göra den offentlig. Vem
som helst kan använda den offentliga
nyckeln för att öppna brevinkastet och
lägga i meddelanden, men bara du kan öppna
brevlådan med din privata nyckel för att
se dina hemliga meddelanden. Du kan även
svara med ett säkert meddelande
genom att använda någon annans offentliga
insättningsnyckel och skicka meddelanden
utan att någonsin behöva enas om en privat
nyckel. Offentliga nycklar är grunden
till all säker kommunikation på det öppna
internet med säkerhetsprotokollen
SSL och TLS, som skyddar oss när vi
surfar på webben. Din dator använder det
när ser det lilla låset eller bokstäverna
https på din webbläsares adressrad
Det innebär att datorn använder sig av
offentliga nycklar för säkert datautbyte
med webbplatsen du är på. Ju fler
internetanvändare, desto fler privata
data kommer att överföras och behovet att
säkra dessa data blir allt viktigare.
Och när datorer blir snabbare och snabbare
måste vi utveckla nya sätt att kryptera
på sätt som inte datorer kan knäcka. Det
här är mitt jobb och det förändras snabbt.