Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 12403|Svare: 1

[Kunnskap om nettsidebygging] HTTPS De tingene (1) HTTPS-prinsippet (Reprint)

[Kopier lenke]
Publisert på 24.12.2015 10:56:18 | | |
Kile
Ryktet Crusher slapp for noen dager siden: «Vil Internett-tilgang med offentlig WiFi true sikkerheten til bankkontoene? Artikkelen introduserer noen situasjoner knyttet til bruk av HTTPS for nettverkskryptert overføring, og ut fra svaret er det fortsatt tvister. Etter hvert som Internett blir mer og mer populært, blir applikasjonen stadig mer utbredt, og noen nettverkssikkerhetsproblemer vil også tiltrekke seg mer og mer oppmerksomhet fra nettbrukere. Her skal vi snakke om TLS/SSL, som vi ofte kaller HTTPS, fra prinsippet til selve applikasjonen for å se hva det er, og hvilke problemer man bør være oppmerksom på når man bruker HTTPS og relaterte sikkerhetsteknikker.
Cybersikkerhet er en helhetlig hendelse som involverer sikkerheten til personlige datamaskiner, protokoller, dataoverføring og programvareutviklingsselskaper og nettsteder. Jeg håper at ved å forklare sikkerhetsrelaterte spørsmål litt etter litt i fremtiden, kan flere forstå nettverkssikkerhet, slik at de kan bruke nettverket tryggere.
Artikkelen vil bli lang, og det er planlagt å deles den i tre deler foreløpig:
Den første delen beskriver hovedsakelig prinsippet for HTTPS; Den andre delen beskriver hovedsakelig prosessen med SSL-sertifikatverifisering og noen forholdsregler for bruk. Den tredje delen presenterer noen eksempler på HTTPS-angrep.
1. Hva er HTTPS?
Før vi snakker om HTTPS, la oss snakke om hva HTTP er, som er en protokoll vi vanligvis bruker når vi surfer på nettet. Dataene som overføres av HTTP-protokollen er ukrypterte, altså i klartekst, så det er svært usikkert å overføre privat informasjon ved bruk av HTTP-protokollen. For å sikre at disse private dataene kan krypteres og overføres, designet Netscape SSL-protokollen (Secure Sockets Layer) for å kryptere dataene som sendes via HTTP-protokollen, og ga dermed opphav til HTTPS. Den nåværende versjonen av SSL er 3.0, som er definert i RFC 6101 av IETF (Internet Engineering Task Force), og deretter oppgraderte IETF SSL 3.0, noe som resulterte i TLS (Transport Layer Security) 1.0, definert i RFC 2246. Faktisk er vår nåværende HTTPS TLS-protokollen, men fordi SSL dukket opp relativt tidlig, og fortsatt støttes av dagens nettlesere, er SSL fortsatt synonymt med HTTPS, men enten det er TLS eller SSL er noe fra forrige århundre, den siste versjonen av SSL er 3.0, og TLS vil fortsette å tilby krypteringstjenester for oss i fremtiden. Den nåværende versjonen av TLS er 1.2, definert i RFC 5246, og er ennå ikke mye brukt.
For de som er interessert i historie, kan du se http://en.wikipedia.org/wiki/Transport_Layer_Security, som har en detaljert beskrivelse av TLS/SSL.
2. Er HTTPS sikkert?
Svaret er ja, det er trygt. I ukene som kommer vil Google aktivere HTTPS for alle lokale domener i verden, brukere trenger bare å logge inn med sin Google-konto før de søker, og alle søkeoperasjoner vil bli kryptert med TLS-protokollen, se: http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Hvordan HTTPS fungerer
HTTPS krever et håndtrykk mellom klienten (nettleseren) og serveren (nettstedet) før data kan overføres, og passordinformasjonen til begge parter vil bli etablert under håndtrykksprosessen. TLS/SSL-protokollen er ikke bare et sett med krypterte overføringsprotokoller, men også et kunstverk nøye designet av kunstnere, ved bruk av asymmetrisk kryptering, symmetrisk kryptering og HASH-algoritmer. En enkel beskrivelse av håndtrykkprosessen er som følger:

  • Nettleseren sender et sett med krypteringsregler som den støtter til nettstedet.
  • Nettstedet velger et sett med krypteringsalgoritmer og HASH-algoritmer fra dem og sender identitetsinformasjonen tilbake til nettleseren i form av et sertifikat. Sertifikatet inneholder informasjon som nettsideadresse, krypteringsnøkkel og sertifikatets utsteder.
  • Etter å ha fått et nettstedsertifikat, gjør nettleseren følgende:
  • Verifiser legitimiteten til sertifikatet (om myndigheten som utsteder sertifikatet er legitim, om nettsideadressen i sertifikatet er den samme som adressen som besøkes, osv.), hvis sertifikatet er betrodd, vil en liten lås vises i nettleserlinjen, ellers vil det bli gitt en melding om at sertifikatet ikke er betrodd.
  • Hvis sertifikatet er betrodd, eller hvis brukeren aksepterer et ikke-pålitelig sertifikat, genererer nettleseren et tilfeldig antall passord og krypterer dem med den offentlige nøkkelen som er oppgitt i sertifikatet.
  • Handshake-meldingen beregnes ved hjelp av den avtalte HASH-en, og meldingen krypteres med det genererte tilfeldige tallet, og til slutt sendes all tidligere generert informasjon til nettstedet.
   4. Etter å ha mottatt dataene fra nettleseren, gjør nettstedet følgende:
  • Bruk din egen private nøkkel til å dekryptere passordet, bruk passordet til å dekryptere håndtrykksmeldingen sendt av nettleseren, og verifiser at HASH-en er den samme som den som sendes av nettleseren.
  • En håndtrykksmelding krypteres med et passord og sendes til nettleseren.
   5. Nettleseren dekrypterer og beregner HASH-en til håndtrykksmeldingen; hvis den er konsistent med HASH-en sendt av serveren, avsluttes håndtrykksprosessen, og all kommunikasjonsdata vil bli kryptert med det tilfeldige passordet generert av forrige nettleser og ved bruk av den symmetriske krypteringsalgoritmen.

Her sender nettleseren og nettstedet en kryptert håndtrykksmelding til hverandre og verifiserer, for å sikre at begge parter har fått samme passord, kan kryptere og dekryptere dataene normalt, samt utføre en test for påfølgende overføring av ekte data. I tillegg er krypterings- og HASH-algoritmene som vanligvis brukes av HTTPS som følger:
  • Asymmetriske krypteringsalgoritmer: RSA, DSA/DSS
  • Symmetriske krypteringsalgoritmer: AES, RC4, 3DES
  • HASH-algoritme: MD5, SHA1, SHA256
Blant disse brukes den asymmetriske krypteringsalgoritmen til å kryptere det genererte passordet under håndtrykkprosessen, den symmetriske krypteringsalgoritmen brukes til å kryptere de reelle overførte dataene, og HASH-algoritmen brukes til å verifisere integriteten til dataene. Siden passordet som genereres av nettleseren er nøkkelen til kryptering av hele dataen, krypteres det ved hjelp av en asymmetrisk krypteringsalgoritme under overføringen. Den asymmetriske krypteringsalgoritmen vil generere offentlige og private nøkler, offentlige nøkler kan kun brukes til å kryptere data, slik at de kan overføres når som helst, og nettstedets private nøkler brukes til å dekryptere dataene, så nettstedet vil holde sin private nøkkel svært nøye for å forhindre lekkasje.
Enhver feil under TLS-håndtrykksprosessen kan bryte den krypterte forbindelsen og hindre overføring av privat informasjon. Det er nettopp fordi HTTPS er svært sikkert at angripere ikke finner et sted å starte, så de bruker falske sertifikater for å lure klienter til å få klartekstinformasjon, men disse metodene kan identifiseres, noe jeg vil snakke om i en senere artikkel. I 2010 oppdaget imidlertid sikkerhetseksperter en sårbarhet i håndteringen av TLS 1.0-protokollen: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ ble faktisk denne angrepsmetoden kalt BEAST oppdaget av sikkerhetseksperter allerede i 2002, men den ble ikke offentliggjort. Microsoft og Google har fikset denne sårbarheten. Se: http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Den forenklede versjonen av HTTPS fungerer også i symmetrisk kryptering vs. asymmetrisk kryptering.




Foregående:Steg-for-steg-konfigurasjon for ASP.NET webapper som bruker HTTPS
Neste:En veldig vakker meldingsboks for varsler SweetAlert
 Vert| Publisert på 19.04.2018 11:09:21 |
Detaljert forklaring av ulike parametere i HTTP-protokollen
http://www.itsvse.com/thread-3704-1-1.html
(Kilde: Architect_Programmer)
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com