Om du vill skicka mig elektronisk post så går det bra.
Och om du vill tillbaks till huvudsidan ska det nog också gå för sig.


2011-08-30 22:05 SSL-certifikat är svåra saker

Jag vet, livet är för kort för att oroa sig över kryptografisk säkerhet på internet. Men livet är för kort för en massa saker jag gör.

Jag kan nog inte kortfattat förklara hur SSL fungerar för eventuella läsare som inte vet det, men jag ska försöka med en förenklad version av vad det ska vara bra för iaf. När du ansluter till en website (t.ex. denna eminenta blogg) så har du ingen aning om ifall någon av alla dom datorer som ligger på vägen mellan dig och siten har ändrat på innehållet. Med kryptografi och mycket besvärlighet kan detta problem avhjälpas. Och det är detta SSL gör. (Eller ska göra, i praktiken är det inte så användbart som det kunde ha varit, även av andra anledningar än mina klagomål nedan.)

Nu ska jag ljuga lite om asymmetriska nycklar, i hopp om att göra det enkelt.

Ett problem med att verifiera att ingen ändrar på datan under transport är att det måste finnas något som både du och den som skickar datan vet, men som ingen på vägen vet. Lyckligvis kan en sådan hemlighet skapas förutsatt att det finns något bara den skickande vet ("privat nyckel"), och alla vet en del relaterade saker till denna hemlighet ("publik nyckel"). (Det måste naturligtvis inte vara alla, det går bra med bara du, men poängen är att den bit du vet inte behöver vara hemlig.)

Om det fanns väldigt få ställen som behövde skicka krypterad data skulle detta kanske ha räckt, din browser kunde veta allt den behövde. Men nu har vi ett extra lager. Din browser känner till ett antal certifikatauktoriteters publika nycklar, och dessa används sedan för att signera publika nycklar från alla som vill kunna använda SSL på sin website.

Och det är ungefär här skon börjar klämma. Vem är det som har bestämt att dessa "auktoriteter" är att lita på? Inte är det jag iaf. Och inte är det egentligen den som gjort min browser heller. Det är faktiskt förvånansvärt oklart vad det egentligen är som gör att vi förväntas lita på dessa organisationer. Och detta innan man ens tittar på hur dom beter sig.

Tyvärr tittar jag även där. Och då fungerar det som så att om du säger "jag vill ha ett certifikat till min domän google.com" så ska dom säga "bevisa att du äger domänen", men dom väljer att fortsätta den meningen med "genom att betala oss pengar". Ungefär. Det är skrämmande lätt att få certifikat till lite mindre välkända domäner man inte äger. I just google-fallet är det oftast lite svårare. Men det har just framkommit att någon Iransk myndighet har ett eget certifikat för just google.com, så helt omöjligt är det inte.

Detta certifikat kommer från DigiNotar, en certifikatauktoritet jag inte känner mig jätteintresserad av att lita på. Så jag öppnade inställningarna i min browser (Opera) och tittade efter om dom fanns i min lista på auktoriteter. Det gjorde dom inte, så det fanns inget att sluta lita på. Men sen besökte jag deras site (med SSL), och sen fanns dom minsann i listan.

Jahaja. Jag trodde fram tills nu att denna lista talade om vilka jag kunde vänta mig att min browser litade på, och om jag tog bort något från den listan så litade jag inte på det. Jag trodde tydligen helt fel, det är en lista över en cache i min browser. Vansinnigt mycket mindre intressant. Jag kan när ett cert ligger på denna lista välja att inte lita på det. Men hur vet jag vad för dumheter som kommer uppstå på den i framtiden? Det har jag nog ingen kontroll över, verkar det som. Och jag som så gärna vill tycka om Opera, det vore så fint om det fanns en browser jag inte hatade.


Föregående    Nästa