HTTPS | |
---|---|
namn | HyperText Transfer Protocol Secure |
Nivå (enligt OSI-modellen ) | Applicerad |
Familj | TCP/IP |
Skapad i | 2000 |
Port/ID | 443/ TCP |
Syftet med protokollet | Säker anslutning till servern |
Specifikation | RFC 2818 |
Huvudsakliga implementeringar (klienter) | webbläsare |
Kärnimplementationer ( servrar ) | Apache , nginx , IIS |
Mediafiler på Wikimedia Commons |
HTTPS (förkortning från engelska HyperText Transfer Protocol Secure ) är en förlängning av HTTP-protokollet för att stödja kryptering för att öka säkerheten. Data i HTTPS-protokollet överförs över de kryptografiska protokollen TLS eller SSL som förlades 2015 [1] . Till skillnad från HTTP med TCP- port 80 har HTTPS som standard TCP-port 443 [2] .
Protokollet utvecklades av Netscape Communications för webbläsaren Netscape Navigator 1994 [3] .
HTTPS är inte ett separat protokoll. Detta är vanlig HTTP som körs över de krypterade transportmekanismerna SSL och TLS [4] . Det ger skydd mot snifferattacker och man-in-the-middle-attacker , förutsatt att krypteringsverktyg används och servercertifikatet är validerat och pålitligt [5] .
Som standard använder HTTPS URL TCP- port 443 (för osäkrad HTTP - 80) [ 2] . För att förbereda en webbserver för att hantera https-anslutningar måste en administratör skaffa och installera ett offentligt och privat nyckelcertifikat för den webbservern på systemet. TLS använder både ett asymmetriskt krypteringsschema (för att generera en delad hemlig nyckel) och ett symmetriskt krypteringsschema (för att utbyta data krypterad med en delad nyckel). Det offentliga nyckelcertifikatet bekräftar att den givna offentliga nyckeln tillhör ägaren av webbplatsen. Det publika nyckelcertifikatet och den publika nyckeln i sig skickas till klienten när en anslutning upprättas; den privata nyckeln används för att dekryptera meddelanden från klienten [6] .
Det är möjligt att skapa ett sådant certifikat utan att kontakta en certifikatutfärdare . Sådana certifikat är signerade av samma certifikat och kallas självsignerade ( självsignerade ). Utan att verifiera certifikatet på något annat sätt (som att ringa ägaren och kontrollera certifikatets kontrollsumma), är denna användning av HTTPS mottaglig för en man-i- mitten-attack [7] .
Detta system kan också användas för klientautentisering för att säkerställa att endast behöriga användare kan komma åt servern . För att göra detta skapar administratören vanligtvis certifikat för varje användare och laddar upp dem till varje användares webbläsare. Alla certifikat signerade av organisationer som servern litar på kommer också att accepteras. Ett sådant certifikat innehåller vanligtvis namnet och e-postadressen till den auktoriserade användaren, som kontrolleras på varje anslutning för att verifiera användarens identitet utan att ange ett lösenord [8] .
HTTPS använder en nyckellängd på 40, 56, 128 eller 256 bitar för kryptering. Vissa äldre versioner av webbläsare använder en 40-bitars nyckellängd (ett exempel på detta är IE - versioner före 4.0), på grund av exportrestriktioner i USA. En nyckellängd på 40 bitar är inte säker. Många moderna webbplatser kräver användning av nya versioner av webbläsare som stöder 128-bitars kryptering för att ge en tillräcklig säkerhetsnivå. Kryptering med en nyckellängd på 128 bitar gör det mycket svårare att gissa lösenord och komma åt personlig information [6] .
Traditionellt kan bara en HTTPS-webbplats köras på en IP-adress. Flera HTTPS-webbplatser med olika certifikat använder en TLS-tillägg som kallas Server Name Indication (SNI) [9] .
Den 17 juli 2017 använder 22,67 % av Alexas topp 1 000 000 webbplatser HTTPS som standard [10] . HTTPS används av 4,04 % av det totala antalet registrerade ryska domäner [11] .
HTTP/ TLS -förfrågningar genereras genom avreferensering av URI :n så att värdnamnet är känt för klienten. I början av kommunikationen skickar servern sitt certifikat till klienten så att klienten kan identifiera det. Detta förhindrar en man-i-mitten-attack. Certifikatet anger serverns URI. Förhandlingen av värdnamnet och de data som anges i certifikatet sker i enlighet med protokollet RFC2459 [12] .
Om servernamnet inte stämmer överens med det som anges i certifikatet, rapporterar användarprogram, såsom webbläsare, detta till användaren. I grund och botten ger webbläsare användaren valet att fortsätta med en osäker anslutning eller avsluta den [13] .
Servern har vanligtvis inte tillräcklig information om klienten för att identifiera den. För att ge ökad säkerhet för anslutningen används dock den så kallade tvåvägsautentiseringen. I det här fallet begär servern, efter att ha bekräftat sitt certifikat av klienten, också ett certifikat. Således liknar klientautentiseringsschemat serverautentisering [14] .
När webbplatser använder blandade funktioner av HTTP och HTTPS kan detta leda till ett informationshot mot användaren. Till exempel, om huvudsidorna på en webbplats laddas med HTTPS, och CSS och JavaScript laddas över HTTP, kan en angripare vid tidpunkten för inläsning av den senare ladda sin kod och hämta HTML-sidans data. Många webbplatser, trots sådana sårbarheter, laddar ner innehåll via tredjepartstjänster som inte stöder HTTPS. HSTS - mekanismen förhindrar sådana sårbarheter genom att tvinga fram en HTTPS-anslutning även där HTTP används som standard [15] .
Sårbarheter relaterade till trafikanalys har upptäckts i HTTPS. En trafiksniffrattack är en typ av attack som härleder egenskaperna hos en kanals säkra data genom att mäta storleken på trafiken och den tid det tar att skicka meddelanden. Trafikanalys är möjlig eftersom SSL/TLS-kryptering ändrar innehållet i trafiken, men har minimal inverkan på trafikens storlek och transittid. I maj 2010 upptäckte forskare vid Microsoft Research och Indiana University att detaljerad, känslig användardata kunde härledas från sekundära data såsom paketstorlekar. Trafikanalysatorn kunde få tag på användarens sjukdomshistoria, mediciner som använts och transaktioner utförda av användaren, familjeinkomstdata etc. Allt detta gjordes trots användningen av HTTPS i flera moderna webbapplikationer inom området sjukvård, beskattning och andra [16] .
En "man-in-the-middle-attack" utnyttjar att HTTPS-servern skickar ett offentligt nyckelcertifikat till webbläsaren . Om detta certifikat inte är tillförlitligt kommer överföringskanalen att vara sårbar för attacker från en angripare. Denna attack ersätter det ursprungliga certifikatet som autentiserar HTTPS-servern med ett modifierat certifikat. Attacken lyckas om användaren försummar att dubbelkolla certifikatet när webbläsaren skickar varningen. Detta är särskilt vanligt bland användare, som ofta stöter på självsignerade certifikat vid åtkomst till webbplatser inom en privat organisations nätverk [17] .
På fig. 1 visar en situation där en angripare är en gateway mellan en klient som utför en säker transaktion och en server. Således passerar all klienttrafik genom angriparen och han kan omdirigera den efter eget gottfinnande. Följande steg tas här:
Som ett resultat av en sådan attack tror klienten och servern att de gör en säker anslutning, men angriparen har nu även den privata nyckeln och kan dekryptera vilket meddelande som helst i kanalen [17] .
![]() |
---|
URI- scheman | |
---|---|
Officiell | |
inofficiell |
TCP / IP-protokoll efter lager av OSI-modellen | Grundläggande|
---|---|
Fysisk | |
kanaliserad | |
nätverk | |
Transport | |
session | |
Representation | |
Applicerad | |
Annat ansökt | |
Lista över TCP- och UDP-portar |
http | |
---|---|
Allmänna begrepp |
|
Metoder | |
Titlar |
|
Statuskoder |