Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12403|Svar: 1

[Kunskap om webbplatsbyggande] HTTPS De där sakerna (1) HTTPS-principen (Återutgivning)

[Kopiera länk]
Publicerad på 2015-12-24 10:56:18 | | |
Kil
Ryktet Crusher släppte för några dagar sedan: "Kommer internetåtkomst med offentligt WiFi att äventyra säkerheten för bankkonton? Artikeln introducerar några situationer i användningen av HTTPS för nätverkskrypterad överföring, och utifrån svaret finns det fortfarande tvister. I takt med att internet blir allt mer populärt blir applikationen alltmer utbredd, och vissa nätverkssäkerhetsfrågor kommer också att dra till sig allt mer uppmärksamhet från nätanvändare, här kommer vi att prata om TLS/SSL, som vi ofta kallar HTTPS, från principen till själva applikationen för att se vad det är, och vilka problem man bör uppmärksamma när man använder HTTPS och relaterade säkerhetstekniker.
Cybersäkerhet är en helhetshändelse som involverar säkerheten för persondatorer, protokoll, dataöverföring samt mjukvaruutvecklingsföretag och webbplatser. Jag hoppas att genom att förklara säkerhetsrelaterade frågor steg för steg i framtiden kan fler människor förstå nätverkssäkerhet, så att de kan använda nätverket säkrare.
Artikeln kommer att bli lång och planeras att delas upp i tre delar för tillfället:
Den första delen beskriver främst principen för HTTPS; Den andra delen beskriver främst processen för SSL-certifikatverifiering och vissa försiktighetsåtgärder för användning. Den tredje delen presenterar några exempel på HTTPS-attacker.
1. Vad är HTTPS?
Innan vi pratar om HTTPS, låt oss prata om vad HTTP är, vilket är ett protokoll vi vanligtvis använder när vi surfar på webben. Data som överförs av HTTP-protokollet är okrypterad, det vill säga i klartext, så det är mycket osäkert att överföra privat information med HTTP-protokollet. För att säkerställa att dessa privata data kan krypteras och överföras designade Netscape SSL-protokollet (Secure Sockets Layer) för att kryptera data som sänds via HTTP-protokollet, vilket gav upphov till HTTPS. Den nuvarande versionen av SSL är 3.0, som definieras i RFC 6101 av IETF (Internet Engineering Task Force), och därefter uppgraderade IETF SSL 3.0, vilket resulterade i TLS (Transport Layer Security) 1.0, definierad i RFC 2246. Faktum är att vårt nuvarande HTTPS är TLS-protokollet, men eftersom SSL dök upp relativt tidigt och fortfarande stöds av nuvarande webbläsare, är SSL fortfarande synonymt med HTTPS, men oavsett om det är TLS eller SSL är något från förra seklet, den sista versionen av SSL är 3.0, och TLS kommer att fortsätta erbjuda krypteringstjänster för oss i framtiden. Den nuvarande versionen av TLS är 1.2, definierad i RFC 5246, och används ännu inte i stor utsträckning.
För den som är intresserad av historia kan du se http://en.wikipedia.org/wiki/Transport_Layer_Security, som har en detaljerad beskrivning av TLS/SSL.
2. Är HTTPS säkert?
Svaret är ja, det är säkert. Under de kommande veckorna kommer Google att aktivera HTTPS för alla lokala domäner runt om i världen, användare behöver bara logga in med sitt Google-konto innan de söker, och alla sökoperationer kommer att krypteras med TLS-protokollet, se: http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Hur HTTPS fungerar
HTTPS kräver ett handslag mellan klienten (webbläsaren) och servern (webbplatsen) innan data kan överföras, och lösenordsinformationen för båda parter fastställs under handskakningsprocessen. TLS/SSL-protokollet är inte bara en uppsättning krypterade överföringsprotokoll, utan också ett konstverk noggrant designat av konstnärer, med hjälp av asymmetrisk kryptering, symmetrisk kryptering och HASH-algoritmer. En enkel beskrivning av handskakningsprocessen är följande:

  • Webbläsaren skickar en uppsättning krypteringsregler som den stödjer till webbplatsen.
  • Webbplatsen väljer en uppsättning krypteringsalgoritmer och HASH-algoritmer från dem och skickar tillbaka sin identitetsinformation till webbläsaren i form av ett certifikat. Certifikatet innehåller information såsom webbplatsadress, krypteringsnyckeln och certifikatets utfärdare.
  • Efter att ha erhållit ett webbplatscertifikat gör webbläsaren följande:
  • Verifiera certifikatets legitimitet (om myndigheten som utfärdar certifikatet är legitim, om webbplatsadressen i certifikatet är densamma som adressen som besöks, etc.), om certifikatet är betrodd visas ett litet lås i webbläsarfältet, annars ges en prompt om att certifikatet inte är betrodd.
  • Om certifikatet är betrodd, eller om användaren accepterar ett icke-betrodd certifikat, genererar webbläsaren ett slumpmässigt antal lösenord och krypterar dem med den publika nyckeln som finns i certifikatet.
  • Handshake-meddelandet beräknas med den överenskomna HASH:en, och meddelandet krypteras med det genererade slumpmässiga numret, och slutligen skickas all tidigare genererad information till webbplatsen.
   4. Efter att ha mottagit data från webbläsaren gör webbplatsen följande:
  • Använd din egen privata nyckel för att dekryptera lösenordet, använd lösenordet för att dekryptera handshake-meddelandet som skickas av webbläsaren, och verifiera att HASH:en är densamma som den som skickas av webbläsaren.
  • Ett handskakningsmeddelande krypteras med ett lösenord och skickas till webbläsaren.
   5. Webbläsaren dekrypterar och beräknar HASHEN för handskakningsmeddelandet, om den är förenlig med den HASH som skickats av servern avslutas handskakningsprocessen, och all kommunikationsdata krypteras med det slumpmässiga lösenord som genererats av föregående webbläsare och med hjälp av den symmetriska krypteringsalgoritmen.

Här skickar webbläsaren och webbplatsen ett krypterat handskakningsmeddelande till varandra och verifierar, för att säkerställa att båda parter har fått samma lösenord, kan kryptera och dekryptera data normalt samt göra ett test för den efterföljande överföringen av verklig data. Dessutom är krypterings- och HASH-algoritmerna som vanligtvis används av HTTPS följande:
  • Asymmetriska krypteringsalgoritmer: RSA, DSA/DSS
  • Symmetriska krypteringsalgoritmer: AES, RC4, 3DES
  • HASH-algoritm: MD5, SHA1, SHA256
Bland dessa används den asymmetriska krypteringsalgoritmen för att kryptera det genererade lösenordet under handskakningsprocessen, den symmetriska krypteringsalgoritmen används för att kryptera den verkliga överförda datan, och HASH-algoritmen används för att verifiera datans integritet. Eftersom lösenordet som genereras av webbläsaren är nyckeln till krypteringen av hela datan, krypteras det med en asymmetrisk krypteringsalgoritm under överföringen. Den asymmetriska krypteringsalgoritmen genererar publika och privata nycklar, publika nycklar kan bara användas för att kryptera data, så de kan överföras när de vill, och webbplatsens privata nycklar används för att dekryptera datan, så webbplatsen kommer att spara sin privata nyckel mycket noggrant för att förhindra läckage.
Varje fel under TLS-handskakningsprocessen kan bryta den krypterade anslutningen och förhindra överföring av privat information. Det är just för att HTTPS är mycket säkert som angripare inte kan hitta någon utgångspunkt, så de använder falska certifikat för att vilseleda klienter och få klartextinformation, men dessa metoder kan identifieras, vilket jag kommer att ta upp i en senare artikel. Men 2010 upptäckte säkerhetsexperter en sårbarhet i hanteringen av TLS 1.0-protokollet: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ denna attackmetod kallad BEAST upptäcktes av säkerhetsexperter redan 2002, men den offentliggjordes inte. Microsoft och Google har åtgärdat denna sårbarhet. Se: http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Den förenklade versionen av HTTPS fungerar också i symmetrisk kryptering kontra asymmetrisk kryptering.




Föregående:Steg-för-steg-konfiguration för ASP.NET webbappar som använder HTTPS
Nästa:En mycket vacker meddelanderuta för varningar SweetAlert
 Hyresvärd| Publicerad på 2018-04-19 11:09:21 |
Detaljerad förklaring av olika parametrar i HTTP-protokollet
http://www.itsvse.com/thread-3704-1-1.html
(Källa: Architect_Programmer)
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com