Allt fler migrerar från HTTP till HTTPS. Har du koll på hur säker anslutningen mellan er webbplats och era användare är? I det här blogginlägget får du reda på vad som döljer sig bakom s:et i HTTPS. Jag förklarar också skillnaden mellan olika SSL-certifikat, tekniken bakom SSL, hur den skiljer sig från TLS och varför du bör testa ditt certifikat.
Ökad säkerhet i förbindelsen mellan användare och sajt
HTTPS står för Hypertext Transfer Protocol Secure och är ett protokoll för krypterad transport av data för HTTP-protokollet (det kommunikationsprotokoll som används för att överföra webbsidor på Internet). Det innebär att när du surfar in på en sajt med HTTPS ansluter du via en krypterad förbindelse med hjälp av ett SSL-certifikat.
Det betyder att:
-
Förbindelsen är konfidentiell. Ingen annan än du och sajten kan se vad du gör.
-
Förbindelsen håller hög integritet. Innehållet har inte ändrats på vägen till eller från server och dig.
-
Förbindelsen skyddar din identitet. Ingen kan sitta emellan och följa din identitet (exempelvis myndigheter, internetleverantör, mobiloperatör eller de som delar samma nätverk)
-
Google rankar din sida högre. En sajt med HTTPS hamnar längre upp i Googles sökresultat då förbindelsen mellan användare och sajt garanteras vara säker.
-
Bättre SEO och analys. Länkar från HTTPS till HTTP saknar hänvisning (vilket är dåligt ur SEO-synpunkt), medan hänvisningen för länkar från HTTPS till HTTPS är synliga (vilket är bra ur SEO-synpunkt).
HTTPS Everywhere
Flera stora aktörer börjar prata om HTTPS Everywhere. Google och New York Times är två som har uppmärksammat och agerat på detta. Till sommaren 2015 har en ISRG (Internet Security Research Group) förklarat att de vill göra det enklare att skapa och hantera certifikat. ISRG har skapat ett initiativ som heter ”Let’s Encrypt” som skall vara gratis, automatiserat och öppet. Det lär väl skaka om marknaden och accelerera.
Välj SSL-certifikat baserat på er sajts säkerhetskrav och behov
Vilken typ av SSL-certifikat ni behöver beror på hur säkerhetskraven för er sajt ser ut och vilka behov ert företag har. Det finns en uppsjö utgivare som utfärdar en mängd olika certifikat. För att ge en bild av detta beskriver jag nedan fyra olika varianter.
SSL123
Välj det här certifikatet när du har en domän som du vill ha HTTPS på. Utgivaren har dock inte lagt ner särskilt stor möda på att verkligen verifiera vilken organisation som köpt SSL 123certifikatet (vilket kan tänkas skada ägaren till sajten).
SSL Wildcard
Välj den här certifikattypen när du har en domän med många subdomäner eller okänt antal framtida subdomäner och du vill ha flexibilitet. Certifikatet svarar på alla huvuddomäner och alla URL-adresser som är subdomäner till huvuddomäner. Däremot svarar certifikatet inte på URL-adresser som är subdomäner av subdomäner. Låt mig exemplifiera med Tripnets webbplats:
tripnet.se – funkar inte då URL-adressen saknar en subdomän.
www.tripnet.se ‐ funkar då URL-adressen är en subdomän.
www.demo.tripnet.se ‐ funkar inte då URL-adressen är en subdomän av en subdomän.
SSL SAN (Subject Alternative Name)
Välj det här alternativet om du har olika domäner och/eller subdomäner på subdomäner. I ett SAN-certifikat kan du ange upp till cirka 25 domännamn (beroende på utgivare) och skriva alla dina domäner du vill skydda (såsom tripnet.se, tripnet.net, www.tripnet.se, demo.tripnet.se och www.tripnet.net.)
EV SSL (Extended Validation)
Välj detta alternativ när du verkligen vill visa att du menar allvar med besökarens trygghet. Här syns det tydligt att domänen är skyddad. Stor möda är lagd på att verkligen verifiera organisationen som har köpt EV SSL‐certifikatet. Utgivaren står som garant för att det är en korrekt organisation. Certifikatet ger tydligare status i de flesta browsers genom ett stort grönt fält. Dessutom passar en del browsers på att verifiera att certifikatet inte är utgånget med OCSP eller CRL (dock inte alla).
Exempel på EV certifikat:
Exempel på ICKE EV certifikat:
Tekniken bakom SSL
Utgivaren köper certifikatplats hos browserutvecklare eller utvecklare av operativsystem. Utgivarens publika del finns med i browsern/operativsystemet och användaren kan därmed ansluta till en webbserver som har ett certifikat från utgivaren. Först sker en handskakning mellan klient och server. Där bestäms vilken krypteringsmetod som ska användas samt kopplas ihop med de publika delarna av certifikaten. Handskakningen är resurskrävande, en modern server klarar kanske ett par hundra sådana per sekund.
Därefter krypteras kommunikationen med ett valt krypto. Det gäller att klient och server kan komma överens. Tillfällen då det inte sker, kan vara till exempel om klienten är en gammal Windows XP med Internet Explorer eller en för gammal version av Java som försöker ansluta till en modern server.
Skillnaden mellan SSL och TLS
SSL är ett proprietärt protokoll som utvecklades av Netscape i mitten av 90‐talet. SSL kom upp i version 3, men anses nu vara helt ute då Google nyligen släppt information om en sårbarhet i SSL (Poodle). TLS (Transport Layer Security) är utvecklat av IETF (Internet Engineering Task Force) och baserat på SSL-specifikationer. Därför spelar det egentligen inte så stor roll om man säger SSL eller TLS när man pratar om förbindelsen (även om det ju är två olika protokollversioner).
Därför bör du testa ditt SSL-certifikat
SSL Labs har ett onlineanalysverktyg där du kan testa kvaliteten på ditt SSL-certifikat (algoritmer, protokollstöd, nyckellängder, revokeringsstatus, sårbarheter). Det finns flera anledningar till att utföra testet:
-
Du vill att ditt certifikat (och din certifikatskedja) ska vara SHA‐2. Enligt Google kommer SHA1 baserade certifikat ses som opålitliga från och med 2017.
-
Du vill uppnå TLS1.2 eller senare version.
-
Du vill köra moderna krypton (ciphers) såsom ECDHE, DHE, AES eller GCM.
-
Du vill köra DiffieHellman eller forward secrecy. Nycklarna skapar unika sessioner. Skulle någon ha spelat in en konversation och fem år senare hitta servern med certifikatsnyckeln i, så går det inte att återspegla sessionen (vilket hade varit möjligt annars)
-
Du vill gärna ha SPDY, vilket ger snabbare hämtning av sidan, speciellt när det är långt avstånd.
-
Du vill slå på HSTS (Strict Transport Security). Man talar om för browsern att sidan alltid ska visas över HTTPS. Detta för att motverka en Man-in-the-middle-attack där man strippar bort s:et innan det når browsern.
-
Du vill stänga av alla ciphers med RC4 och MD5.
Tripnet hjälper dig välja rätt SSL-certifikat och hantera er sajts säkerhetsbehov
I bland är det svårt att veta vilket certifikat man ska välja och hur man hanterar allt runt omkring. Vi har stor kunskap kring HTTPS och SSL-certifikat. Vi hjälper er optimera er server för att nå så hög poäng som möjligt (med din serverversion) hos SSL Labs. Med hjälp av vår lastbalanseringstjänst avlastar vi er server. I stället för att utföra SSL-handskakningar får den ägna sig åt det en server är till för nämligen leverera innehåll.
Jonas Lindqvist, Systemingenjör.
För mer info, tveka inte att kontakta mig, jag svarar gärna på dina frågor! Vill du läsa fler bloggartiklar från Tripnet, följ oss även på Facebook där vi lägger upp alla artiklar och håller dig uppdaterad om andra nyheter och händelser!