Läser du den här artikeln på vår blogg, så gör du det över en krypterad förbindelse. Oavsett du uttryckligen har bett om det eller ej. Vi anser nämligen att det helt enkelt är god etikett att erbjuda samtliga besökare på vår webbplats insynsskydd, även om vi inte tillhandahåller någon känslig information. Att vara konsekvent med att erbjuda krypterade förbindelser är en god vana att lägga sig till med, så att det sitter i ryggmärgen den dag man faktiskt måste handskas med känslig information. Att konfigurera en webbserver för kryptering är egentligen inte svårt alls, men det finns en hake.
För att kryptera trafiken mellan webbserver och -läsare används nämligen protokollet Transport Layer Security (TLS, tidigare känt som SSL). För att på ett säkert sätt kunna utbyta krypteringsnycklar mellan server och läsare använder TLS sig av digitala certifikat. Dessa är datafiler som knyts till webbadresser och vars äkthet kontrolleras genom att de signerats digitalt av en betrodd tredje part, kallad Certifikatutfärdare (CA, efter engelskans Certification Authority).
Det är just genom att anlita dessa oberoende, betrodda tredje parter som vi kan etablera förtroende på webben. De genomgår nämligen återkommande, djupgående revisioner för att säkerställa att de sköter sitt uppdrag på ett fullgott sätt. Det är först efter att en CA genomgått en sådan revision som den anses säker att lägga med i listan över betrodda CA:s i operativsystem och webbläsare. Det är sedan från denna lista som webbserverns ägare väljer en CA till att utfärda serverns certifikat.
Och det är det här som är haken - för att utfärda certifikat tar CA:s normalt betalt. Att etablera och driva en CA som klarar revisionskraven blir lätt en dyr historia, och de kostnaderna måste täckas på något sätt. Fram tills alldeles nyligen arbetade i stort sett alla CA:s med samma affärsmodell: efter en första, djupgående kontroll för att säkerställa att beställaren verkligen är den han utger sig för att vara utfärdas ett certifikat med relativt kort giltighet (1-3 år). När certifikatet sedan måste förnyas efter denna period erbjuds ett förenklat kontrollförfarande, vilket i sin tur möjliggör ett rabatterat pris för att på så sätt försöka maximera antalet återvändande kunder.
Årskostnaden för ett certifikat ligger i normala fall någonstans mellan $50 och $300, och gäller då för en webbadress. Behöver man certifikat för flera webbadresser, exempelvis om man erbjuder flera webbtjänster, får man antingen köpa flera certifikat, eller så ett dyrare sorts certifikat som gäller för flera adresser samtidigt. Det finns även en kategori certifikat som kallas Extended Validation (EV). Dessa kräver en mycket mer noggrann kontroll av beställaren, och kostar följaktligen mycket mer, men de går vi inte närmare in på här. Ett EV-certifikat kostar grov räknat runt fem gånger mer än ett ”vanligt” certifikat.
Marknaden för certifikat har egentligen inte förändrats alls sedan webbläsaren Netscape först införde stöd för krypterad webbtrafik, och i och med det en efterfrågan på certifikat, år 1995. Ett par nya spelare har tillkommit, och ett par gamla har ätits upp i företagsförvärv, men så i början av december 2015 lanserar det kaliforniska allmännyttiga företaget Internet Security Research Group tjänsten Let’s Encrypt i en fullt funktionell öppen beta.
Let’s Encrypt är en gratis och helt automatiserad CA, med både klient- och serverprogramvara som öppen källkod. Klienten har inbyggt stöd för webbservrarna Apache och nginx, och det finns redan en handfull insticksprogram som skrivits för andra webbservrar. Det fokus som Let’s Encrypt har lagt på automatisering av arbetsflöden erbjuder en väldigt angenäm användarupplevelse gentemot konkurrenterna, där faxen fram tills bedrövande nyligen utgjorde den främsta kommunikationskanalen. Plötsligt finns det alltså ett fullgott, gratis alternativ till att köpa certifikat från en kommersiell CA, och egentligen skulle hela den här bloggposten handlat om Let’s Encrypt och dess förmodade inverkan på certifikatmarknaden, men så hann Amazon komma emellan med en egen lansering.
Amazon har nämligen gjort något liknande själva. I juni 2015 påbörjade de arbetet med att bli tillagda som betrodd CA i operativsystem och webbläsare, och nu i januari 2016 lanserade de AWS Certificate Manager. AWS Certificate Manager är precis som Let’s Encrypt en gratis och helt automatiserad CA, med förbehållet att certifikaten enbart utfärdas för användning i Amazons egna molntjänster. Certifikaten som ges ut konfigureras i Amazons lastbalanserare eller CDN (Content Delivery Network) och hanteras sedan automatiskt av AWS Certificate Manager utan extra kostnad.
Amazon väljer i och med detta att göra certifikat och kryptering till gratis mervärdestjänster ovanpå deras befintliga molntjänster, vilket är en väldigt välkommen attityd. Andra leverantörer har nämligen anammat inställningen att eftersom deras kunder är beredda att betala tredje parter för certifikat så borde de också ha råd att betala dem en extra premie för att få använda dessa. Detta har gjort krypterade webbtjänster i molnet ännu lite dyrare och omständligare att sätta upp än på egna servrar, vilket på senare tid uppmärksammats av webbsäkerhetsexperter som ett av huvudproblemen med att införa kryptering av webbtrafik på bred front.
Vi får med andra ord verkligen hoppas att övriga molnleverantörer hänger på Amazon här, inte minst därför att kryptering i praktiken kommer att krävas för HTTP/2, som är den senaste versionen av det protokoll som används på webben. Protokollet finns visserligen definierat i både krypterad och icke krypterad form, efter en stormig avslutning på standardiseringsprocessen, men eftersom både Chrome och Firefox har uttalat att de inte har för avsikt att lägga till stöd för den icke krypterade varianten går vi tveklöst mot en framtid där webbtrafik i allt större utsträckning krypteras. Då duger helt enkelt inte inställningen att säkerhet är något slags tillval som ska behöva kosta extra.
Sammanfattningsvis har Let’s Encrypt och AWS Certificate Manager tillsammans gjort den här vintern väldigt intressant ur webbsäkerhetssynpunkt. Först dyker Let’s Encrypt upp och slår ut marknaden för enklare servercertifikat. De Certifikatutfärdare som inte redan erbjuder premiumtjänster som exempelvis Extended Validation eller höga garantibelopp kommer att få det mycket svårt att motivera sina priser gentemot denna gratis uppstickare. Sen väljer Amazon att förvandla kryptering från betald premiumtjänst till en gratis mervärdestjänst för sina molnkunder. Denna förändring behövs den med för att vi på ett enkelt och billigt sätt ska kunna erbjuda krypterade molntjänster. Att tvingas betala en extra premie för ”privilegiet” att skydda sina användare kommer annars att fortsätta hålla tillbaka utrullningen av säkerhet på webben.
Faktum är ju att Amazon i och med denna förändring underlättar inte bara för sina kunder, utan även för sig själva. Nu blir det genast betydligt enklare för dem att uppgradera den egna infrastrukturen till HTTP/2, eftersom alla deras kunder nu får kostnadsfri tillgång till de certifikat som krävs. För de molnleverantörer som fortsatt envisas med att ta extra betalt för kryptering kommer det bli betydligt svårare att få acceptans för samma uppgradering, vilket med stor sannolikhet kommer leda till en lång svans av eftersläntrare som dröjer kvar i den gamla infrastrukturen, med ökade underhållskostnader som följd. Vi får väl helt enkelt vänta och se hur mycket längre till snålheten tillåts bedra visheten.