Jump to content

Edit filter log

Details for log entry 33162352

15:03, 12 August 2022: 201.175.210.168 (talk) triggered filter 957, performing the action "edit" on HTTPS. Actions taken: Disallow; Filter description: Removal of article lead (examine)

Changes made in edit

{{pp-pc1}}
{{short description|Extension of the HTTP communications protocol to support TLS encryption}}
{{pp-pc}}
{{Use dmy dates|date=November 2021}}
{{IPstack}}
{{HTTP}}

'''Hypertext Transfer Protocol Secure''' ('''HTTPS''') is an extension of the [[Hypertext Transfer Protocol]] (HTTP). It is used for [[Secure communications|secure communication]] over a [[computer network]], and is widely used on the Internet.<ref>{{cite web |url=https://support.google.com/webmasters/answer/6073543?hl=en |publisher=Google Inc. |work=Google Support |access-date=20 October 2018 |title=Secure your site with HTTPS |archive-url=https://web.archive.org/web/20150301023624/https://support.google.com/webmasters/answer/6073543?hl=en |archive-date=1 March 2015 |url-status=live }}</ref><ref>{{cite web |url=https://www.instantssl.com/ssl-certificate-products/https.html |publisher=[[Comodo Group|Comodo CA Limited]] |quote=Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP [...] |access-date=20 October 2018 |title=What is HTTPS? |archive-url=https://web.archive.org/web/20150212105201/https://www.instantssl.com/ssl-certificate-products/https.html |archive-date=12 February 2015 |url-status=live }}</ref> In HTTPS, the [[communication protocol]] is encrypted using [[Transport Layer Security]] (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as '''HTTP over TLS''',<ref>{{cite web |url=https://tools.ietf.org/html/rfc2818 |title=HTTP Over TLS |publisher=The Internet Engineering Task Force |date=May 2000 |access-date=20 October 2018 |author=Network Working Group |archive-url=https://web.archive.org/web/20181031095731/https://tools.ietf.org/html/rfc2818 |archive-date=31 October 2018 |url-status=live }}</ref> or '''HTTP over SSL'''.

The principal motivations for HTTPS are [[authentication]] of the accessed [[website]], and protection of the [[Information privacy|privacy]] and [[Data integrity|integrity]] of the exchanged data while in transit. It protects against [[man-in-the-middle attack]]s, and the bidirectional [[Block cipher mode of operation|encryption]] of communications between a client and server protects the communications against [[eavesdropping]] and [[Tamper-evident#Tampering|tampering]].<ref name=httpse>{{cite web |url=https://www.eff.org/https-everywhere/faq |title=HTTPS Everywhere FAQ |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181114011956/https://www.eff.org/https-everywhere/faq/ |archive-date=14 November 2018 |url-status=live |date=8 November 2016}}</ref><ref>{{Cite web|url=https://w3techs.com/technologies/details/ce-httpsdefault/all/all|title=Usage Statistics of Default protocol https for Websites, July 2019|website=w3techs.com|access-date=20 July 2019|archive-url=https://web.archive.org/web/20190801134536/https://w3techs.com/technologies/details/ce-httpsdefault/all/all|archive-date=1 August 2019|url-status=live}}</ref> The authentication aspect of HTTPS requires a trusted third party to sign server-side [[Public_key_certificate|digital certificates]]. This was historically an expensive operation, which meant fully authenticated HTTPS connections were usually found only on secured payment transaction services and other secured corporate information systems on the [[World Wide Web]]. In 2016, a campaign by the [[Electronic Frontier Foundation]] with the support of [[web browser]] developers led to the protocol becoming more prevalent.<ref>{{cite web |title=Encrypting the Web |url=https://www.eff.org/encrypt-the-web |website=Electronic Frontier Foundation |access-date=19 November 2019 |archive-url=https://web.archive.org/web/20191118094200/https://www.eff.org/encrypt-the-web |archive-date=18 November 2019 |url-status=live }}</ref> HTTPS is now used more often by web users than the original non-secure HTTP, primarily to protect page authenticity on all types of websites; secure accounts; and to keep user communications, identity, and web browsing private.

==Overview==
==Overview==
{{Details|topic=|Transport Layer Security|||category=}}
{{Details|topic=|Transport Layer Security|||category=}}

Action parameters

VariableValue
Edit count of the user (user_editcount)
null
Name of the user account (user_name)
'201.175.210.168'
Age of the user account (user_age)
0
Groups (including implicit) the user is in (user_groups)
[ 0 => '*' ]
Rights that the user has (user_rights)
[ 0 => 'createaccount', 1 => 'read', 2 => 'edit', 3 => 'createtalk', 4 => 'writeapi', 5 => 'viewmywatchlist', 6 => 'editmywatchlist', 7 => 'viewmyprivateinfo', 8 => 'editmyprivateinfo', 9 => 'editmyoptions', 10 => 'abusefilter-log-detail', 11 => 'urlshortener-create-url', 12 => 'centralauth-merge', 13 => 'abusefilter-view', 14 => 'abusefilter-log', 15 => 'vipsscaler-test' ]
Whether the user is editing from mobile app (user_app)
false
Whether or not a user is editing through the mobile interface (user_mobile)
true
Page ID (page_id)
13586
Page namespace (page_namespace)
0
Page title without namespace (page_title)
'HTTPS'
Full page title (page_prefixedtitle)
'HTTPS'
Edit protection level of the page (page_restrictions_edit)
[]
Last ten users to contribute to the page (page_recent_contributors)
[ 0 => 'Bruce1ee', 1 => '156.38.51.44', 2 => 'Glenn', 3 => 'Cannolis', 4 => '151.236.189.222', 5 => 'Jip Orlando', 6 => '114.125.235.106', 7 => 'Techie3', 8 => '2402:800:6347:E4ED:7C20:C29E:98F8:8C2', 9 => 'Rodw' ]
Page age in seconds (page_age)
664137027
Action (action)
'edit'
Edit summary/reason (summary)
''
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'{{pp-pc1}} {{short description|Extension of the HTTP communications protocol to support TLS encryption}} {{pp-pc}} {{Use dmy dates|date=November 2021}} {{IPstack}} {{HTTP}} '''Hypertext Transfer Protocol Secure''' ('''HTTPS''') is an extension of the [[Hypertext Transfer Protocol]] (HTTP). It is used for [[Secure communications|secure communication]] over a [[computer network]], and is widely used on the Internet.<ref>{{cite web |url=https://support.google.com/webmasters/answer/6073543?hl=en |publisher=Google Inc. |work=Google Support |access-date=20 October 2018 |title=Secure your site with HTTPS |archive-url=https://web.archive.org/web/20150301023624/https://support.google.com/webmasters/answer/6073543?hl=en |archive-date=1 March 2015 |url-status=live }}</ref><ref>{{cite web |url=https://www.instantssl.com/ssl-certificate-products/https.html |publisher=[[Comodo Group|Comodo CA Limited]] |quote=Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP [...] |access-date=20 October 2018 |title=What is HTTPS? |archive-url=https://web.archive.org/web/20150212105201/https://www.instantssl.com/ssl-certificate-products/https.html |archive-date=12 February 2015 |url-status=live }}</ref> In HTTPS, the [[communication protocol]] is encrypted using [[Transport Layer Security]] (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as '''HTTP over TLS''',<ref>{{cite web |url=https://tools.ietf.org/html/rfc2818 |title=HTTP Over TLS |publisher=The Internet Engineering Task Force |date=May 2000 |access-date=20 October 2018 |author=Network Working Group |archive-url=https://web.archive.org/web/20181031095731/https://tools.ietf.org/html/rfc2818 |archive-date=31 October 2018 |url-status=live }}</ref> or '''HTTP over SSL'''. The principal motivations for HTTPS are [[authentication]] of the accessed [[website]], and protection of the [[Information privacy|privacy]] and [[Data integrity|integrity]] of the exchanged data while in transit. It protects against [[man-in-the-middle attack]]s, and the bidirectional [[Block cipher mode of operation|encryption]] of communications between a client and server protects the communications against [[eavesdropping]] and [[Tamper-evident#Tampering|tampering]].<ref name=httpse>{{cite web |url=https://www.eff.org/https-everywhere/faq |title=HTTPS Everywhere FAQ |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181114011956/https://www.eff.org/https-everywhere/faq/ |archive-date=14 November 2018 |url-status=live |date=8 November 2016}}</ref><ref>{{Cite web|url=https://w3techs.com/technologies/details/ce-httpsdefault/all/all|title=Usage Statistics of Default protocol https for Websites, July 2019|website=w3techs.com|access-date=20 July 2019|archive-url=https://web.archive.org/web/20190801134536/https://w3techs.com/technologies/details/ce-httpsdefault/all/all|archive-date=1 August 2019|url-status=live}}</ref> The authentication aspect of HTTPS requires a trusted third party to sign server-side [[Public_key_certificate|digital certificates]]. This was historically an expensive operation, which meant fully authenticated HTTPS connections were usually found only on secured payment transaction services and other secured corporate information systems on the [[World Wide Web]]. In 2016, a campaign by the [[Electronic Frontier Foundation]] with the support of [[web browser]] developers led to the protocol becoming more prevalent.<ref>{{cite web |title=Encrypting the Web |url=https://www.eff.org/encrypt-the-web |website=Electronic Frontier Foundation |access-date=19 November 2019 |archive-url=https://web.archive.org/web/20191118094200/https://www.eff.org/encrypt-the-web |archive-date=18 November 2019 |url-status=live }}</ref> HTTPS is now used more often by web users than the original non-secure HTTP, primarily to protect page authenticity on all types of websites; secure accounts; and to keep user communications, identity, and web browsing private. ==Overview== {{Details|topic=|Transport Layer Security|||category=}} [[File:Internet2.jpg|thumb|[[URL]] beginning with the HTTPS scheme and the [[World Wide Web|WWW]] domain name label]] The [[Uniform Resource Identifier]] (URI) scheme ''HTTPS'' has identical usage syntax to the HTTP scheme. However, HTTPS signals the browser to use an added encryption layer of SSL/TLS to protect the traffic. SSL/TLS is especially suited for HTTP, since it can provide some protection even if only one side of the communication is [[authentication|authenticated]]. This is the case with HTTP transactions over the Internet, where typically only the [[Web server|server]] is authenticated (by the client examining the server's [[public key certificate|certificate]]). HTTPS creates a secure channel over an insecure network. This ensures reasonable protection from [[eavesdropping|eavesdroppers]] and [[man-in-the-middle attack]]s, provided that adequate [[cipher suite]]s are used and that the server certificate is verified and trusted. Because HTTPS piggybacks HTTP entirely on top of TLS, the entirety of the underlying HTTP protocol can be encrypted. This includes the request's [[URL]], query parameters, headers, and cookies (which often contain identifying information about the user). However, because website addresses and [[Port (computer networking)|port]] numbers are necessarily part of the underlying [[TCP/IP]] protocols, HTTPS cannot protect their disclosure. In practice this means that even on a correctly configured web server, eavesdroppers can infer the IP address and port number of the web server, and sometimes even the domain name (e.g. www.example.org, but not the rest of the URL) that a user is communicating with, along with the amount of data transferred and the duration of the communication, though not the content of the communication.<ref name=httpse/> Web browsers know how to trust HTTPS websites based on [[Certificate authority|certificate authorities]] that come pre-installed in their software. Certificate authorities are in this way being trusted by web browser creators to provide valid certificates. Therefore, a user should trust an HTTPS connection to a website [[if and only if]] all of the following are true: * The user trusts that the device hosting the browser and the method to get the browser itself, is not compromised (i.e., a [[supply chain attack]]) * The user trusts that the browser software correctly implements HTTPS with correctly pre-installed certificate authorities. * The user trusts the certificate authority to vouch only for legitimate websites. (i.e., the certificate authority is not compromised and there is no mis-issuance of certificates.) * The website provides a valid certificate, which means it was signed by a trusted authority. * The certificate correctly identifies the website (e.g., when the browser visits "https://example.com", the received certificate is properly for "example.com" and not some other entity). * The user trusts that the protocol's encryption layer (SSL/TLS) is sufficiently secure against eavesdroppers. HTTPS is especially important over insecure networks and networks that may be subject to tampering. Insecure networks, such as public [[Wi-Fi]] access points, allow anyone on the same local network to [[packet analyzer|packet-sniff]] and discover sensitive information not protected by HTTPS. Additionally, some free-to-use and paid [[wireless LAN|WLAN]] networks have been observed tampering with webpages by engaging in [[packet injection]] in order to serve their own ads on other websites. This practice can be exploited maliciously in many ways, such as by injecting [[malware]] onto webpages and stealing users' private information.<ref>{{cite web |title=Hotel Wifi JavaScript Injection |url=https://justinsomnia.org/2012/04/hotel-wifi-javascript-injection/ |date=3 April 2012 |work=JustInsomnia |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181118154608/https://justinsomnia.org/2012/04/hotel-wifi-javascript-injection/ |archive-date=18 November 2018 |url-status=live }}</ref> HTTPS is also important for connections over the [[Tor (network)|Tor network]], as malicious Tor nodes could otherwise damage or alter the contents passing through them in an insecure fashion and inject malware into the connection. This is one reason why the [[Electronic Frontier Foundation]] and [[the Tor Project]] started the development of [[HTTPS Everywhere]],<ref name=httpse/> which is included in Tor Browser.<ref>{{cite web |url=https://www.torproject.org/projects/torbrowser.html.en |title=What is Tor Browser? |author=The Tor Project, Inc. |work=TorProject.org |access-date=30 May 2012 |archive-url=https://archive.today/20130717222709/https://www.torproject.org/projects/torbrowser.html.en |archive-date=17 July 2013 |url-status=live }}</ref> As more information is revealed about global [[mass surveillance]] and criminals stealing personal information, the use of HTTPS security on all websites is becoming increasingly important regardless of the type of Internet connection being used.<ref>{{cite web |url=https://open.blogs.nytimes.com/2014/11/13/embracing-https/ |title=Embracing HTTPS |work=The New York Times |date=13 November 2014 |access-date=20 October 2018 |last1=Konigsburg |first1=Eitan |last2=Pant |first2=Rajiv |last3=Kvochko |first3=Elena |archive-url=https://web.archive.org/web/20190108190000/https://open.blogs.nytimes.com/2014/11/13/embracing-https/ |archive-date=8 January 2019 |url-status=live }}</ref><ref>{{cite web |url=https://freedom.press/news-advocacy/fifteen-months-after-the-nsa-revelations-why-arenat-more-news-organizations-using-https/ |title=Fifteen Months After the NSA Revelations, Why Aren't More News Organizations Using HTTPS? |publisher=Freedom of the Press Foundation |date=12 September 2014 |access-date=20 October 2018 |last=Gallagher |first=Kevin |archive-url=https://web.archive.org/web/20180810204919/https://freedom.press/news-advocacy/fifteen-months-after-the-nsa-revelations-why-arenat-more-news-organizations-using-https/ |archive-date=10 August 2018 |url-status=live }}</ref> Even though [[metadata]] about individual pages that a user visits might not be considered sensitive, when aggregated it can reveal a lot about the user and compromise the user's privacy.<ref>{{cite web |url=https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html |title=HTTPS as a ranking signal |date=6 August 2014 |publisher=Google Inc. |quote=You can make your site secure with HTTPS (Hypertext Transfer Protocol Secure) [...] |work=Google Webmaster Central Blog |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181017052432/https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html |archive-date=17 October 2018 |url-status=live }}</ref><ref>{{cite web |url=https://www.youtube.com/watch?v=cBhZ6S0PFCY |title=Google I/O 2014 - HTTPS Everywhere |publisher=Google Developers |date=26 June 2014 |access-date=20 October 2018 |last1=Grigorik |first1=Ilya |last2=Far |first2=Pierre |archive-url=https://web.archive.org/web/20181120144918/https://www.youtube.com/watch?v=cBhZ6S0PFCY |archive-date=20 November 2018 |url-status=live }}</ref><ref name=deployhttpscorrectly/> Deploying HTTPS also allows the use of [[HTTP/2]] (or its predecessor, the now-deprecated protocol [[SPDY]]), which is a new generation of HTTP designed to reduce page load times, size, and latency. It is recommended to use [[HTTP Strict Transport Security]] (HSTS) with HTTPS to protect users from man-in-the-middle attacks, especially [[Moxie Marlinspike#SSL stripping|SSL stripping]].<ref name=deployhttpscorrectly>{{cite web |title=How to Deploy HTTPS Correctly |url=https://www.eff.org/https-everywhere/deploying-https |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181010233702/https://www.eff.org/https-everywhere/deploying-https |archive-date=10 October 2018 |url-status=live |date=15 November 2010 }}</ref><ref>{{cite web |url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |title=HTTP Strict Transport Security |work=Mozilla Developer Network |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019171534/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |archive-date=19 October 2018 |url-status=live }}</ref> HTTPS should not be confused with the seldom-used [[Secure Hypertext Transfer Protocol|Secure HTTP]] (S-HTTP) specified in RFC 2660. ===Usage in websites=== {{As of|2018|04}}, 33.2%<!-- percentages not show; calculated from 331889 sites stated--> of Alexa top 1,000,000 websites use HTTPS as default,<ref>{{cite web |url=https://statoperator.com/research/https-usage-statistics-on-top-websites/ |title=HTTPS usage statistics on top 1M websites |website=StatOperator.com |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055130/https://statoperator.com/research/https-usage-statistics-on-top-websites/ |archive-date=9 February 2019 |url-status=live }}</ref> 57.1% of the Internet's 137,971 most popular websites have a secure implementation of HTTPS,<ref>{{cite web |url=https://www.ssllabs.com/ssl-pulse/ |title=Qualys SSL Labs - SSL Pulse |website=www.ssllabs.com |date=3 April 2018 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20171202155646/https://www.ssllabs.com/ssl-pulse/ |archive-date=2 December 2017 |url-status=live }}</ref> and 70%<!-- 78.68% for the US only--> of page loads (measured by Firefox Telemetry) use HTTPS.<ref>{{cite web |url=https://letsencrypt.org/stats/ |title=Let's Encrypt Stats |website=LetsEncrypt.org |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019221028/https://letsencrypt.org/stats/ |archive-date=19 October 2018 |url-status=live }}</ref> However despite TLS 1.3’s release, adoption has been slow, with many still remain on the older TLS 1.2 protocol.<ref>{{Cite web |date=2020-04-06 |title=TLS 1.3: Slow adoption of stronger web encryption is empowering the bad guys |url=https://www.helpnetsecurity.com/2020/04/06/tls-1-3-adoption/ |access-date=2022-05-23 |website=Help Net Security |language=en-US}}</ref> ===Browser integration=== Most [[Web browser|browsers]] display a warning if they receive an invalid certificate. Older browsers, when connecting to a site with an invalid certificate, would present the user with a [[dialog box]] asking whether they wanted to continue. Newer browsers display a warning across the entire window. Newer browsers also prominently display the site's security information in the [[address bar]]. [[Extended validation certificate]]s show the legal entity on the certificate information. Most browsers also display a warning to the user when visiting a site that contains a mixture of encrypted and unencrypted content. Additionally, many [[Content-control software|web filters]] return a security warning when visiting prohibited websites. {{gallery |title=Comparison between different kinds of [[Transport Layer Security|SSL/TLS]] certificates<br><small>(Using [[Firefox]] as an example)</small> |height=170 |width=300 |lines=3 |align=center |File:Extended Validation on Firefox 89 screenshot.png|Many web browsers, including Firefox (shown here), use the [[address bar]] to tell the user that their connection is secure, an [[Extended Validation Certificate]] should identify the legal entity for the certificate. |File:HTTPS on Firefox 89 screenshot.png|When accessing a site only with a common certificate, on the address bar of [[Firefox]] and other [[Web browser|browser]]s, a "lock" sign appears. |File:Self-signed certificate warning on Firefox 89 screenshot.png|Most web browsers alert the user when visiting sites that have invalid security certificates. }} The [[Electronic Frontier Foundation]], opining that "In an ideal world, every web request could be defaulted to HTTPS", has provided an add-on called HTTPS Everywhere for [[Mozilla Firefox]], [[Google Chrome]], [[Chromium (web browser)|Chromium]], and [[Android (operating system)|Android]], that enables HTTPS by default for hundreds of frequently used websites.<ref>{{cite web |first=Peter |last=Eckersley |url=https://www.eff.org/deeplinks/2010/06/encrypt-web-https-everywhere-firefox-extension |title=Encrypt the Web with the HTTPS Everywhere Firefox Extension |work=EFF blog |date=17 June 2010 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181125102636/https://www.eff.org/deeplinks/2010/06/encrypt-web-https-everywhere-firefox-extension |archive-date=25 November 2018 |url-status=live }}</ref><ref>{{cite web |url=https://www.eff.org/https-everywhere |title=HTTPS Everywhere. |work=EFF projects |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20110605022218/https://www.eff.org/https-everywhere |archive-date=5 June 2011 |url-status=live |date=7 October 2011 }}</ref> Forcing a web browser to load only HTTPS content has been supported in Firefox starting in version 83.<ref>{{Cite web|title=HTTPS-Only Mode in Firefox|url=https://support.mozilla.org/en-US/kb/https-only-prefs|url-status=live|access-date=12 November 2021}}</ref> Starting in version 94, Google Chrome is able to "always use secure connections" if toggled in the browser's settings.<ref>{{Cite web |title=Manage Chrome safety and security - Android - Google Chrome Help |url=https://support.google.com/chrome/answer/10468685?hl=en&co=GENIE.Platform=Android |access-date=2022-03-07 |website=support.google.com}}</ref><ref>{{Cite web |date=2021-07-19 |title=Hands on Chrome's HTTPS-First Mode |url=https://techdows.com/2021/07/hands-on-chromes-https-first-mode.html |access-date=2022-03-07 |website=Techdows |language=en-US}}</ref> ==Security== {{Main|Transport Layer Security#Security}} The security of HTTPS is that of the underlying TLS, which typically uses long-term [[Public-key cryptography|public]] and private keys to generate a short-term [[session key]], which is then used to encrypt the data flow between the client and the server. [[X.509]] certificates are used to authenticate the server (and sometimes the client as well). As a consequence, [[certificate authority|certificate authorities]] and [[public key certificate]]s are necessary to verify the relation between the certificate and its owner, as well as to generate, sign, and administer the validity of certificates. While this can be more beneficial than verifying the identities via a [[web of trust]], the [[2013 mass surveillance disclosures]] drew attention to certificate authorities as a potential weak point allowing [[man-in-the-middle attack]]s.<ref>{{cite magazine |url=https://www.wired.com/2010/03/packet-forensics/ |title=Law Enforcement Appliance Subverts SSL |magazine=Wired |date=24 March 2010 |first=Ryan |last=Singel |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190117142906/https://www.wired.com/2010/03/packet-forensics/ |archive-date=17 January 2019 |url-status=live }}</ref><ref>{{cite web |url=https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl |title=New Research Suggests That Governments May Fake SSL Certificates |first=Seth |last=Schoen |work=EFF |date=24 March 2010 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20160104234608/https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl |archive-date=4 January 2016 |url-status=live }}</ref> An important property in this context is [[forward secrecy]], which ensures that encrypted communications recorded in the past cannot be retrieved and decrypted should long-term secret keys or passwords be compromised in the future. Not all web servers provide forward secrecy.<ref name=ecdhe>{{cite web |url=https://news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html |title=SSL: Intercepted today, decrypted tomorrow |work=Netcraft |date=25 June 2013 |first=Robert |last=Duncan |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181006021916/https://news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html |archive-date=6 October 2018 |url-status=live }}</ref>{{Update inline|reason=Does this still hold in 2015?|date=February 2015}} For HTTPS to be effective, a site must be completely hosted over HTTPS. If some of the site's contents are loaded over HTTP (scripts or images, for example), or if only a certain page that contains sensitive information, such as a log-in page, is loaded over HTTPS while the rest of the site is loaded over plain HTTP, the user will be vulnerable to attacks and surveillance. Additionally, [[HTTP cookie|cookies]] on a site served through HTTPS must have the [[secure cookie|secure attribute]] enabled. On a site that has sensitive information on it, the user and the session will get exposed every time that site is accessed with HTTP instead of HTTPS.<ref name=deployhttpscorrectly/> ==Technical== ===Difference from HTTP=== HTTPS [[URL]]s begin with "https://" and use [[List of TCP and UDP port numbers|port]] 443 by default, whereas, [[HTTP]] URLs begin with "http://" and use port 80 by default. HTTP is not encrypted and thus is vulnerable to [[man-in-the-middle]] and [[eavesdropping attack]]s, which can let attackers gain access to website accounts and sensitive information, and modify webpages to inject [[malware]] or advertisements. HTTPS is designed to withstand such attacks and is considered secure against them (with the exception of HTTPS implementations that use deprecated versions of SSL). ===Network layers=== HTTP operates at the highest layer of the [[TCP/IP model]]—the [[application layer]]; as does the [[Transport Layer Security|TLS]] security protocol (operating as a lower sublayer of the same layer), which encrypts an HTTP message prior to transmission and decrypts a message upon arrival. Strictly speaking, HTTPS is not a separate protocol, but refers to the use of ordinary [[HTTP]] over an [[encryption|encrypted]] SSL/TLS connection. HTTPS encrypts all message contents, including the HTTP headers and the request/response data. With the exception of the possible [[Chosen-ciphertext attack|CCA]] cryptographic attack described in the [[#Limitations|limitations]] section below, an attacker should at most be able to discover that a connection is taking place between two parties, along with their domain names and IP addresses. ===Server setup=== To prepare a web server to accept HTTPS connections, the administrator must create a [[public key certificate]] for the web server. This certificate must be signed by a trusted [[certificate authority]] for the web browser to accept it without warning. The authority certifies that the certificate holder is the operator of the web server that presents it. Web browsers are generally distributed with a list of [[root certificate|signing certificates of major certificate authorities]] so that they can verify certificates signed by them. ====Acquiring certificates==== A number of commercial [[Certificate authority|certificate authorities]] exist, offering paid-for SSL/TLS certificates of a number of types, including [[Extended Validation Certificate]]s. [[Let's Encrypt]], launched in April 2016,<ref name="softpedia-launch">{{cite web |url=https://news.softpedia.com/news/let-s-encrypt-launched-today-currently-protects-3-8-million-domains-502857.shtml |title=Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains |publisher=Softpedia News |first=Catalin |last=Cimpanu |date=12 April 2016 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055129/https://news.softpedia.com/news/let-s-encrypt-launched-today-currently-protects-3-8-million-domains-502857.shtml |archive-date=9 February 2019 |url-status=live }}</ref> provides free and automated service that delivers basic SSL/TLS certificates to websites.<ref>{{cite web |url=http://www.eweek.com/security/let-s-encrypt-effort-aims-to-improve-internet-security |title=Let's Encrypt Effort Aims to Improve Internet Security |publisher=Quinstreet Enterprise |website=eWeek.com |date=18 November 2014 |access-date=20 October 2018 |last=Kerner |first=Sean Michael}}</ref> According to the [[Electronic Frontier Foundation]], Let's Encrypt will make switching from HTTP to HTTPS "as easy as issuing one command, or clicking one button."<ref>{{cite web |url=https://www.eff.org/deeplinks/2014/11/certificate-authority-encrypt-entire-web |title=Launching in 2015: A Certificate Authority to Encrypt the Entire Web |publisher=[[Electronic Frontier Foundation]] |date=18 November 2014 |access-date=20 October 2018 |last=Eckersley |first=Peter |archive-url=https://web.archive.org/web/20181118160126/https://www.eff.org/deeplinks/2014/11/certificate-authority-encrypt-entire-web |archive-date=18 November 2018 |url-status=live }}</ref> The majority of web hosts and cloud providers now leverage Let's Encrypt, providing free certificates to their customers. ====Use as access control==== The system can also be used for client [[authentication]] in order to limit access to a web server to authorized users. To do this, the site administrator typically creates a certificate for each user, which the user loads into their browser. Normally, the certificate contains the name and e-mail address of the authorized user and is automatically checked by the server on each connection to verify the user's identity, potentially without even requiring a password. ====In case of compromised secret (private) key==== An important property in this context is [[forward secrecy|perfect forward secrecy]] (PFS). Possessing one of the long-term asymmetric secret keys used to establish an HTTPS session should not make it easier to derive the short-term session key to then decrypt the conversation, even at a later time. [[Diffie–Hellman key exchange]] (DHE) and [[Elliptic curve Diffie–Hellman]] key exchange (ECDHE) are in 2013 the only schemes known to have that property. In 2013, only 30% of Firefox, Opera, and Chromium Browser sessions used it, and nearly 0% of Apple's [[Safari (web browser)|Safari]] and [[Internet Explorer|Microsoft Internet Explorer]] sessions.<ref name=ecdhe/> TLS 1.3, published in August 2018, dropped support for ciphers without forward secrecy. {{As of|2020|02|df=}}, 96.6% of web servers surveyed support some form of forward secrecy, and 52.1% will use forward secrecy with most browsers.<ref>{{cite web |author1=Qualys SSL Labs |title=SSL Pulse |url=https://www.ssllabs.com/ssl-pulse/ |access-date=25 February 2019 |archive-url=https://web.archive.org/web/20190215213454/https://www.ssllabs.com/ssl-pulse/ |archive-date=15 February 2019 |format=3 February 2019|author1-link=Qualys }}</ref> =====Certificate revocation===== A certificate may be revoked before it expires, for example because the secrecy of the private key has been compromised. Newer versions of popular browsers such as [[Firefox]],<ref>{{cite web |url=https://www.mozilla.org/en-US/privacy/ |title=Mozilla Firefox Privacy Policy |publisher=[[Mozilla Foundation]] |date=27 April 2009 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181018063732/https://www.mozilla.org/en-US/privacy/ |archive-date=18 October 2018 |url-status=live }}</ref> [[Opera (web browser)|Opera]],<ref>{{cite news |url=https://news.softpedia.com/news/Opera-8-launched-on-FTP-1330.shtml |title=Opera 8 launched on FTP |publisher=[[Softpedia]] |date=19 April 2005 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055128/https://news.softpedia.com/news/Opera-8-launched-on-FTP-1330.shtml |archive-date=9 February 2019 |url-status=live }}</ref> and [[Internet Explorer]] on [[Windows Vista]]<ref>{{cite web |last=Lawrence |first=Eric |date=31 January 2006 |url=https://docs.microsoft.com/en-us/previous-versions/aa980989(v=msdn.10) |title=HTTPS Security Improvements in Internet Explorer 7 |website=[[Microsoft Docs]] |access-date=24 October 2021}}</ref> implement the [[Online Certificate Status Protocol]] (OCSP) to verify that this is not the case. The browser sends the certificate's serial number to the certificate authority or its delegate via OCSP (Online Certificate Status Protocol) and the authority responds, telling the browser whether the certificate is still valid or not.<ref>{{cite web |url=https://tools.ietf.org/html/rfc2560 |title=Online Certificate Status Protocol – OCSP |publisher=[[Internet Engineering Task Force]] |date=20 June 1999 |last1=Myers |first1=Michael |last2=Ankney |first2=Rich |last3=Malpani |first3=Ambarish |last4=Galperin |first4=Slava |last5=Adams |first5=Carlisle |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20110825095059/http://tools.ietf.org/html/rfc2560 |archive-date=25 August 2011 |url-status=live }}</ref> The CA may also issue a [[Certificate revocation list | CRL]] to tell people that these certificates are revoked. CRLs are no longer required by the CA/Browser forum,<ref>{{cite web |url=https://cabforum.org/baseline-requirements-documents/ |title=Baseline Requirements |publisher=CAB Forum |access-date=1 November 2021 |url-status=live }}</ref> nevertheless, they are still widely used by the CAs. Most revocation statuses on the Internet disappear soon after the expiration of the certificates.<ref>{{cite book|author1=Korzhitskii, Nikita|author2=Carlsson, Niklas|title=Revocation Statuses on the Internet|work=In proceedings of 2021 Passive and Active Measurement Conference (PAM 2021).|year=2021|arxiv=2102.04288|url=https://arxiv.org/abs/2102.04288|url-status=live}}</ref> ===Limitations=== SSL (Secure Sockets Layer) and TLS (Transport Layer Security) encryption can be configured in two modes: ''simple'' and ''mutual''. In simple mode, authentication is only performed by the server. The mutual version requires the user to install a personal [[client certificate]] in the web browser for user authentication.<ref>{{cite web |url=https://support.google.com/chrome/a/answer/6080885?hl=en |title=Manage client certificates on Chrome devices – Chrome for business and education Help |website=support.google.com |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055127/https://support.google.com/chrome/a/answer/6080885?hl=en |archive-date=9 February 2019 |url-status=live }}</ref> In either case, the level of protection depends on the correctness of the [[implementation]] of the software and the [[cipher|cryptographic algorithms]] in use. SSL/TLS does not prevent the indexing of the site by a [[web crawler]], and in some cases the [[Uniform resource identifier|URI]] of the encrypted resource can be inferred by knowing only the intercepted request/response size.<ref>{{cite web |url=https://www.exploit-db.com/docs/english/13026-the-pirate-bay-un-ssl.pdf |title=The Pirate Bay un-SSL |last=Pusep |first=Stanislaw |date=31 July 2008 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180620001518/https://www.exploit-db.com/docs/english/13026-the-pirate-bay-un-ssl.pdf |archive-date=20 June 2018 |url-status=live }}</ref> This allows an attacker to have access to the [[plaintext]] (the publicly available static content), and the [[ciphertext|encrypted text]] (the encrypted version of the static content), permitting a [[Chosen-ciphertext attack|cryptographic attack]]. Because [[Transport Layer Security|TLS]] operates at a protocol level below that of HTTP and has no knowledge of the higher-level protocols, TLS servers can only strictly present one certificate for a particular address and port combination.<ref>{{cite web |url=https://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts |title=SSL/TLS Strong Encryption: FAQ |work=apache.org |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019105423/http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts |archive-date=19 October 2018 |url-status=live }}</ref> In the past, this meant that it was not feasible to use [[Virtual hosting#Name-based|name-based virtual hosting]] with HTTPS. A solution called [[Server Name Indication]] (SNI) exists, which sends the hostname to the server before encrypting the connection, although many old browsers do not support this extension. Support for SNI is available since [[Firefox]] 2, [[Opera (web browser)|Opera]] 8, [[Safari (web browser)|Apple Safari]] 2.1, [[Google Chrome]] 6, and [[Internet Explorer 7]] on [[Windows Vista]].<ref>{{cite web |url=https://blogs.msdn.microsoft.com/ie/2005/10/22/upcoming-https-improvements-in-internet-explorer-7-beta-2/ |title=Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2 |last=Lawrence |first=Eric |publisher=[[Microsoft]] |date=22 October 2005 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180920113838/https://blogs.msdn.microsoft.com/ie/2005/10/22/upcoming-https-improvements-in-internet-explorer-7-beta-2/ |archive-date=20 September 2018 |url-status=live }}</ref><ref>{{cite web |url=https://blog.ebrahim.org/2006/02/21/server-name-indication-sni/ |title=Server Name Indication (SNI) |work=inside aebrahim's head |date=21 February 2006 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180810173628/https://blog.ebrahim.org/2006/02/21/server-name-indication-sni/ |archive-date=10 August 2018 |url-status=live }}</ref><ref>{{cite web |url=https://bugzilla.mozilla.org/show_bug.cgi?id=116169 |title=Browser support for TLS server name indication |access-date=20 October 2018 |last=Pierre |first=Julien |date=19 December 2001 |work=Bugzilla |publisher=Mozilla Foundation |archive-url=https://web.archive.org/web/20181008070112/https://bugzilla.mozilla.org/show_bug.cgi?id=116169 |archive-date=8 October 2018 |url-status=live }}</ref> From an architectural point of view: * An SSL/TLS connection is managed by the first front machine that initiates the TLS connection. If, for any reasons (routing, traffic optimization, etc.), this front machine is not the application server and it has to decipher data, solutions have to be found to propagate user authentication information or certificate to the application server, which needs to know who is going to be connected. * For SSL/TLS with mutual authentication, the SSL/TLS session is managed by the first server that initiates the connection. In situations where encryption has to be propagated along chained servers, session timeout management becomes extremely tricky to implement. * Security is maximal with mutual SSL/TLS, but on the client-side there is no way to properly end the SSL/TLS connection and disconnect the user except by waiting for the server session to expire or by closing all related client applications. A sophisticated type of [[man-in-the-middle attack]] called SSL stripping was presented at the 2009 [[Black Hat Briefings|Blackhat Conference]]. This type of attack defeats the security provided by HTTPS by changing the {{code|https:}} link into an {{code|http:}} link, taking advantage of the fact that few Internet users actually type "https" into their browser interface: they get to a secure site by clicking on a link, and thus are fooled into thinking that they are using HTTPS when in fact they are using HTTP. The attacker then communicates in clear with the client.<ref>{{cite web |url=https://moxie.org/software/sslstrip/index.html |title=sslstrip 0.9 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180620042059/https://moxie.org/software/sslstrip/index.html |archive-date=20 June 2018 |url-status=live }}</ref> This prompted the development of a countermeasure in HTTP called [[HTTP Strict Transport Security]]. HTTPS has been shown to be vulnerable to a range of [[traffic analysis]] attacks. Traffic analysis attacks are a type of [[side-channel attack]] that relies on variations in the timing and size of traffic in order to infer properties about the encrypted traffic itself. Traffic analysis is possible because SSL/TLS encryption changes the contents of traffic, but has minimal impact on the size and timing of traffic. In May 2010, a research paper by researchers from [[Microsoft Research]] and [[Indiana University Bloomington|Indiana University]] discovered that detailed sensitive user data can be inferred from side channels such as packet sizes. The researchers found that, despite HTTPS protection in several high-profile, top-of-the-line web applications in healthcare, taxation, investment, and web search, an eavesdropper could infer the illnesses/medications/surgeries of the user, his/her family income, and investment secrets.<ref>{{cite journal |url=https://www.microsoft.com/en-us/research/publication/side-channel-leaks-in-web-applications-a-reality-today-a-challenge-tomorrow/ |title=Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow |journal=Microsoft Research |publisher=[[Institute of Electrical and Electronics Engineers|IEEE]] Symposium on Security & Privacy 2010 |date=20 May 2010 |author1=Shuo Chen |author2=Rui Wang |author3=XiaoFeng Wang |author4=Kehuan Zhang |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180722120329/https://www.microsoft.com/en-us/research/publication/side-channel-leaks-in-web-applications-a-reality-today-a-challenge-tomorrow/ |archive-date=22 July 2018 |url-status=live }}</ref> Although this work demonstrated the vulnerability of HTTPS to traffic analysis, the approach presented by the authors required manual analysis and focused specifically on web applications protected by HTTPS. The fact that most modern websites, including Google, Yahoo!, and Amazon, use HTTPS causes problems for many users trying to access public Wi-Fi hot spots, because a Wi-Fi hot spot login page fails to load if the user tries to open an HTTPS resource.<ref>{{cite web |first=Matthew |last=Guaay |url=https://zapier.com/blog/open-wifi-login-page/ |title=How to Force a Public Wi-Fi Network Login Page to Open |date=21 September 2017 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180810143254/https://zapier.com/blog/open-wifi-login-page/ |archive-date=10 August 2018 |url-status=live }}</ref> Several websites, such as [http://neverssl.com/ neverssl.com], guarantee that they will always remain accessible by HTTP.<ref>{{cite web |url=http://neverssl.com/ |title=NeverSSL |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180901224536/http://neverssl.com/ |archive-date=1 September 2018 |url-status=live }}</ref> ==History== [[Netscape Communications]] created HTTPS in 1994 for its [[Netscape Navigator]] web browser.<ref>{{cite book |url=https://books.google.com/books?id=FLvsis4_QhEC&pg=PA344 |title=Embedded Software: The Works |last=Walls |first=Colin |year=2005 |pages=344 |isbn=0-7506-7954-9 |publisher=Newnes |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055124/https://books.google.com/books?id=FLvsis4_QhEC&pg=PA344 |archive-date=9 February 2019 |url-status=live }}</ref> Originally, HTTPS was used with the [[Secure Sockets Layer|SSL]] protocol. As SSL evolved into [[Transport Layer Security]] (TLS), HTTPS was formally specified by RFC 2818 in May 2000. Google announced in February 2018 that its Chrome browser would mark HTTP sites as "Not Secure" after July 2018.<ref>{{Cite web|url=https://blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html|title=A secure web is here to stay|website=Chromium Blog|archive-url=https://web.archive.org/web/20190424215132/https://blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html|archive-date=24 April 2019|access-date=22 April 2019|url-status=live}}</ref> This move was to encourage website owners to implement HTTPS, as an effort to make the [[World Wide Web]] more secure. ==See also== * [[InterPlanetary File System]] - can replace https * [[Bullrun (decryption program)]]{{snd}} a secret anti-encryption program run by the US [[National Security Agency]] * [[Computer security]] * [[HTTP Strict Transport Security|HSTS]] * [[Opportunistic encryption]] * [[Stunnel]] ==References== {{reflist}} ==External links== {{commons category}} *[https://tools.ietf.org/html/rfc2818 RFC 2818: HTTP Over TLS] *[https://tools.ietf.org/html/rfc5246 RFC 5246: The Transport Layer Security Protocol 1.2] *[https://tools.ietf.org/html/rfc6101 RFC 6101: The Secure Sockets Layer (SSL) Protocol Version 3.0] *[https://howhttps.works: How HTTPS works ...in a comic!] *[https://istlsfastyet.com/ Is TLS fast yet?] {{Web interfaces}} {{Web browsers|fsp}} {{URI scheme}} {{SSL/TLS}} {{Internet censorship circumvention technologies}} [[Category:Hypertext Transfer Protocol]] [[Category:Cryptographic protocols]] [[Category:Secure communication]] [[Category:URI schemes]] [[Category:Transport Layer Security]] [[Category:Computer-related introductions in 1994]] [[Category:Network booting]]'
New page wikitext, after the edit (new_wikitext)
'==Overview== {{Details|topic=|Transport Layer Security|||category=}} [[File:Internet2.jpg|thumb|[[URL]] beginning with the HTTPS scheme and the [[World Wide Web|WWW]] domain name label]] The [[Uniform Resource Identifier]] (URI) scheme ''HTTPS'' has identical usage syntax to the HTTP scheme. However, HTTPS signals the browser to use an added encryption layer of SSL/TLS to protect the traffic. SSL/TLS is especially suited for HTTP, since it can provide some protection even if only one side of the communication is [[authentication|authenticated]]. This is the case with HTTP transactions over the Internet, where typically only the [[Web server|server]] is authenticated (by the client examining the server's [[public key certificate|certificate]]). HTTPS creates a secure channel over an insecure network. This ensures reasonable protection from [[eavesdropping|eavesdroppers]] and [[man-in-the-middle attack]]s, provided that adequate [[cipher suite]]s are used and that the server certificate is verified and trusted. Because HTTPS piggybacks HTTP entirely on top of TLS, the entirety of the underlying HTTP protocol can be encrypted. This includes the request's [[URL]], query parameters, headers, and cookies (which often contain identifying information about the user). However, because website addresses and [[Port (computer networking)|port]] numbers are necessarily part of the underlying [[TCP/IP]] protocols, HTTPS cannot protect their disclosure. In practice this means that even on a correctly configured web server, eavesdroppers can infer the IP address and port number of the web server, and sometimes even the domain name (e.g. www.example.org, but not the rest of the URL) that a user is communicating with, along with the amount of data transferred and the duration of the communication, though not the content of the communication.<ref name=httpse/> Web browsers know how to trust HTTPS websites based on [[Certificate authority|certificate authorities]] that come pre-installed in their software. Certificate authorities are in this way being trusted by web browser creators to provide valid certificates. Therefore, a user should trust an HTTPS connection to a website [[if and only if]] all of the following are true: * The user trusts that the device hosting the browser and the method to get the browser itself, is not compromised (i.e., a [[supply chain attack]]) * The user trusts that the browser software correctly implements HTTPS with correctly pre-installed certificate authorities. * The user trusts the certificate authority to vouch only for legitimate websites. (i.e., the certificate authority is not compromised and there is no mis-issuance of certificates.) * The website provides a valid certificate, which means it was signed by a trusted authority. * The certificate correctly identifies the website (e.g., when the browser visits "https://example.com", the received certificate is properly for "example.com" and not some other entity). * The user trusts that the protocol's encryption layer (SSL/TLS) is sufficiently secure against eavesdroppers. HTTPS is especially important over insecure networks and networks that may be subject to tampering. Insecure networks, such as public [[Wi-Fi]] access points, allow anyone on the same local network to [[packet analyzer|packet-sniff]] and discover sensitive information not protected by HTTPS. Additionally, some free-to-use and paid [[wireless LAN|WLAN]] networks have been observed tampering with webpages by engaging in [[packet injection]] in order to serve their own ads on other websites. This practice can be exploited maliciously in many ways, such as by injecting [[malware]] onto webpages and stealing users' private information.<ref>{{cite web |title=Hotel Wifi JavaScript Injection |url=https://justinsomnia.org/2012/04/hotel-wifi-javascript-injection/ |date=3 April 2012 |work=JustInsomnia |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181118154608/https://justinsomnia.org/2012/04/hotel-wifi-javascript-injection/ |archive-date=18 November 2018 |url-status=live }}</ref> HTTPS is also important for connections over the [[Tor (network)|Tor network]], as malicious Tor nodes could otherwise damage or alter the contents passing through them in an insecure fashion and inject malware into the connection. This is one reason why the [[Electronic Frontier Foundation]] and [[the Tor Project]] started the development of [[HTTPS Everywhere]],<ref name=httpse/> which is included in Tor Browser.<ref>{{cite web |url=https://www.torproject.org/projects/torbrowser.html.en |title=What is Tor Browser? |author=The Tor Project, Inc. |work=TorProject.org |access-date=30 May 2012 |archive-url=https://archive.today/20130717222709/https://www.torproject.org/projects/torbrowser.html.en |archive-date=17 July 2013 |url-status=live }}</ref> As more information is revealed about global [[mass surveillance]] and criminals stealing personal information, the use of HTTPS security on all websites is becoming increasingly important regardless of the type of Internet connection being used.<ref>{{cite web |url=https://open.blogs.nytimes.com/2014/11/13/embracing-https/ |title=Embracing HTTPS |work=The New York Times |date=13 November 2014 |access-date=20 October 2018 |last1=Konigsburg |first1=Eitan |last2=Pant |first2=Rajiv |last3=Kvochko |first3=Elena |archive-url=https://web.archive.org/web/20190108190000/https://open.blogs.nytimes.com/2014/11/13/embracing-https/ |archive-date=8 January 2019 |url-status=live }}</ref><ref>{{cite web |url=https://freedom.press/news-advocacy/fifteen-months-after-the-nsa-revelations-why-arenat-more-news-organizations-using-https/ |title=Fifteen Months After the NSA Revelations, Why Aren't More News Organizations Using HTTPS? |publisher=Freedom of the Press Foundation |date=12 September 2014 |access-date=20 October 2018 |last=Gallagher |first=Kevin |archive-url=https://web.archive.org/web/20180810204919/https://freedom.press/news-advocacy/fifteen-months-after-the-nsa-revelations-why-arenat-more-news-organizations-using-https/ |archive-date=10 August 2018 |url-status=live }}</ref> Even though [[metadata]] about individual pages that a user visits might not be considered sensitive, when aggregated it can reveal a lot about the user and compromise the user's privacy.<ref>{{cite web |url=https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html |title=HTTPS as a ranking signal |date=6 August 2014 |publisher=Google Inc. |quote=You can make your site secure with HTTPS (Hypertext Transfer Protocol Secure) [...] |work=Google Webmaster Central Blog |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181017052432/https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html |archive-date=17 October 2018 |url-status=live }}</ref><ref>{{cite web |url=https://www.youtube.com/watch?v=cBhZ6S0PFCY |title=Google I/O 2014 - HTTPS Everywhere |publisher=Google Developers |date=26 June 2014 |access-date=20 October 2018 |last1=Grigorik |first1=Ilya |last2=Far |first2=Pierre |archive-url=https://web.archive.org/web/20181120144918/https://www.youtube.com/watch?v=cBhZ6S0PFCY |archive-date=20 November 2018 |url-status=live }}</ref><ref name=deployhttpscorrectly/> Deploying HTTPS also allows the use of [[HTTP/2]] (or its predecessor, the now-deprecated protocol [[SPDY]]), which is a new generation of HTTP designed to reduce page load times, size, and latency. It is recommended to use [[HTTP Strict Transport Security]] (HSTS) with HTTPS to protect users from man-in-the-middle attacks, especially [[Moxie Marlinspike#SSL stripping|SSL stripping]].<ref name=deployhttpscorrectly>{{cite web |title=How to Deploy HTTPS Correctly |url=https://www.eff.org/https-everywhere/deploying-https |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181010233702/https://www.eff.org/https-everywhere/deploying-https |archive-date=10 October 2018 |url-status=live |date=15 November 2010 }}</ref><ref>{{cite web |url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |title=HTTP Strict Transport Security |work=Mozilla Developer Network |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019171534/https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security |archive-date=19 October 2018 |url-status=live }}</ref> HTTPS should not be confused with the seldom-used [[Secure Hypertext Transfer Protocol|Secure HTTP]] (S-HTTP) specified in RFC 2660. ===Usage in websites=== {{As of|2018|04}}, 33.2%<!-- percentages not show; calculated from 331889 sites stated--> of Alexa top 1,000,000 websites use HTTPS as default,<ref>{{cite web |url=https://statoperator.com/research/https-usage-statistics-on-top-websites/ |title=HTTPS usage statistics on top 1M websites |website=StatOperator.com |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055130/https://statoperator.com/research/https-usage-statistics-on-top-websites/ |archive-date=9 February 2019 |url-status=live }}</ref> 57.1% of the Internet's 137,971 most popular websites have a secure implementation of HTTPS,<ref>{{cite web |url=https://www.ssllabs.com/ssl-pulse/ |title=Qualys SSL Labs - SSL Pulse |website=www.ssllabs.com |date=3 April 2018 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20171202155646/https://www.ssllabs.com/ssl-pulse/ |archive-date=2 December 2017 |url-status=live }}</ref> and 70%<!-- 78.68% for the US only--> of page loads (measured by Firefox Telemetry) use HTTPS.<ref>{{cite web |url=https://letsencrypt.org/stats/ |title=Let's Encrypt Stats |website=LetsEncrypt.org |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019221028/https://letsencrypt.org/stats/ |archive-date=19 October 2018 |url-status=live }}</ref> However despite TLS 1.3’s release, adoption has been slow, with many still remain on the older TLS 1.2 protocol.<ref>{{Cite web |date=2020-04-06 |title=TLS 1.3: Slow adoption of stronger web encryption is empowering the bad guys |url=https://www.helpnetsecurity.com/2020/04/06/tls-1-3-adoption/ |access-date=2022-05-23 |website=Help Net Security |language=en-US}}</ref> ===Browser integration=== Most [[Web browser|browsers]] display a warning if they receive an invalid certificate. Older browsers, when connecting to a site with an invalid certificate, would present the user with a [[dialog box]] asking whether they wanted to continue. Newer browsers display a warning across the entire window. Newer browsers also prominently display the site's security information in the [[address bar]]. [[Extended validation certificate]]s show the legal entity on the certificate information. Most browsers also display a warning to the user when visiting a site that contains a mixture of encrypted and unencrypted content. Additionally, many [[Content-control software|web filters]] return a security warning when visiting prohibited websites. {{gallery |title=Comparison between different kinds of [[Transport Layer Security|SSL/TLS]] certificates<br><small>(Using [[Firefox]] as an example)</small> |height=170 |width=300 |lines=3 |align=center |File:Extended Validation on Firefox 89 screenshot.png|Many web browsers, including Firefox (shown here), use the [[address bar]] to tell the user that their connection is secure, an [[Extended Validation Certificate]] should identify the legal entity for the certificate. |File:HTTPS on Firefox 89 screenshot.png|When accessing a site only with a common certificate, on the address bar of [[Firefox]] and other [[Web browser|browser]]s, a "lock" sign appears. |File:Self-signed certificate warning on Firefox 89 screenshot.png|Most web browsers alert the user when visiting sites that have invalid security certificates. }} The [[Electronic Frontier Foundation]], opining that "In an ideal world, every web request could be defaulted to HTTPS", has provided an add-on called HTTPS Everywhere for [[Mozilla Firefox]], [[Google Chrome]], [[Chromium (web browser)|Chromium]], and [[Android (operating system)|Android]], that enables HTTPS by default for hundreds of frequently used websites.<ref>{{cite web |first=Peter |last=Eckersley |url=https://www.eff.org/deeplinks/2010/06/encrypt-web-https-everywhere-firefox-extension |title=Encrypt the Web with the HTTPS Everywhere Firefox Extension |work=EFF blog |date=17 June 2010 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181125102636/https://www.eff.org/deeplinks/2010/06/encrypt-web-https-everywhere-firefox-extension |archive-date=25 November 2018 |url-status=live }}</ref><ref>{{cite web |url=https://www.eff.org/https-everywhere |title=HTTPS Everywhere. |work=EFF projects |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20110605022218/https://www.eff.org/https-everywhere |archive-date=5 June 2011 |url-status=live |date=7 October 2011 }}</ref> Forcing a web browser to load only HTTPS content has been supported in Firefox starting in version 83.<ref>{{Cite web|title=HTTPS-Only Mode in Firefox|url=https://support.mozilla.org/en-US/kb/https-only-prefs|url-status=live|access-date=12 November 2021}}</ref> Starting in version 94, Google Chrome is able to "always use secure connections" if toggled in the browser's settings.<ref>{{Cite web |title=Manage Chrome safety and security - Android - Google Chrome Help |url=https://support.google.com/chrome/answer/10468685?hl=en&co=GENIE.Platform=Android |access-date=2022-03-07 |website=support.google.com}}</ref><ref>{{Cite web |date=2021-07-19 |title=Hands on Chrome's HTTPS-First Mode |url=https://techdows.com/2021/07/hands-on-chromes-https-first-mode.html |access-date=2022-03-07 |website=Techdows |language=en-US}}</ref> ==Security== {{Main|Transport Layer Security#Security}} The security of HTTPS is that of the underlying TLS, which typically uses long-term [[Public-key cryptography|public]] and private keys to generate a short-term [[session key]], which is then used to encrypt the data flow between the client and the server. [[X.509]] certificates are used to authenticate the server (and sometimes the client as well). As a consequence, [[certificate authority|certificate authorities]] and [[public key certificate]]s are necessary to verify the relation between the certificate and its owner, as well as to generate, sign, and administer the validity of certificates. While this can be more beneficial than verifying the identities via a [[web of trust]], the [[2013 mass surveillance disclosures]] drew attention to certificate authorities as a potential weak point allowing [[man-in-the-middle attack]]s.<ref>{{cite magazine |url=https://www.wired.com/2010/03/packet-forensics/ |title=Law Enforcement Appliance Subverts SSL |magazine=Wired |date=24 March 2010 |first=Ryan |last=Singel |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190117142906/https://www.wired.com/2010/03/packet-forensics/ |archive-date=17 January 2019 |url-status=live }}</ref><ref>{{cite web |url=https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl |title=New Research Suggests That Governments May Fake SSL Certificates |first=Seth |last=Schoen |work=EFF |date=24 March 2010 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20160104234608/https://www.eff.org/deeplinks/2010/03/researchers-reveal-likelihood-governments-fake-ssl |archive-date=4 January 2016 |url-status=live }}</ref> An important property in this context is [[forward secrecy]], which ensures that encrypted communications recorded in the past cannot be retrieved and decrypted should long-term secret keys or passwords be compromised in the future. Not all web servers provide forward secrecy.<ref name=ecdhe>{{cite web |url=https://news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html |title=SSL: Intercepted today, decrypted tomorrow |work=Netcraft |date=25 June 2013 |first=Robert |last=Duncan |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181006021916/https://news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html |archive-date=6 October 2018 |url-status=live }}</ref>{{Update inline|reason=Does this still hold in 2015?|date=February 2015}} For HTTPS to be effective, a site must be completely hosted over HTTPS. If some of the site's contents are loaded over HTTP (scripts or images, for example), or if only a certain page that contains sensitive information, such as a log-in page, is loaded over HTTPS while the rest of the site is loaded over plain HTTP, the user will be vulnerable to attacks and surveillance. Additionally, [[HTTP cookie|cookies]] on a site served through HTTPS must have the [[secure cookie|secure attribute]] enabled. On a site that has sensitive information on it, the user and the session will get exposed every time that site is accessed with HTTP instead of HTTPS.<ref name=deployhttpscorrectly/> ==Technical== ===Difference from HTTP=== HTTPS [[URL]]s begin with "https://" and use [[List of TCP and UDP port numbers|port]] 443 by default, whereas, [[HTTP]] URLs begin with "http://" and use port 80 by default. HTTP is not encrypted and thus is vulnerable to [[man-in-the-middle]] and [[eavesdropping attack]]s, which can let attackers gain access to website accounts and sensitive information, and modify webpages to inject [[malware]] or advertisements. HTTPS is designed to withstand such attacks and is considered secure against them (with the exception of HTTPS implementations that use deprecated versions of SSL). ===Network layers=== HTTP operates at the highest layer of the [[TCP/IP model]]—the [[application layer]]; as does the [[Transport Layer Security|TLS]] security protocol (operating as a lower sublayer of the same layer), which encrypts an HTTP message prior to transmission and decrypts a message upon arrival. Strictly speaking, HTTPS is not a separate protocol, but refers to the use of ordinary [[HTTP]] over an [[encryption|encrypted]] SSL/TLS connection. HTTPS encrypts all message contents, including the HTTP headers and the request/response data. With the exception of the possible [[Chosen-ciphertext attack|CCA]] cryptographic attack described in the [[#Limitations|limitations]] section below, an attacker should at most be able to discover that a connection is taking place between two parties, along with their domain names and IP addresses. ===Server setup=== To prepare a web server to accept HTTPS connections, the administrator must create a [[public key certificate]] for the web server. This certificate must be signed by a trusted [[certificate authority]] for the web browser to accept it without warning. The authority certifies that the certificate holder is the operator of the web server that presents it. Web browsers are generally distributed with a list of [[root certificate|signing certificates of major certificate authorities]] so that they can verify certificates signed by them. ====Acquiring certificates==== A number of commercial [[Certificate authority|certificate authorities]] exist, offering paid-for SSL/TLS certificates of a number of types, including [[Extended Validation Certificate]]s. [[Let's Encrypt]], launched in April 2016,<ref name="softpedia-launch">{{cite web |url=https://news.softpedia.com/news/let-s-encrypt-launched-today-currently-protects-3-8-million-domains-502857.shtml |title=Let's Encrypt Launched Today, Currently Protects 3.8 Million Domains |publisher=Softpedia News |first=Catalin |last=Cimpanu |date=12 April 2016 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055129/https://news.softpedia.com/news/let-s-encrypt-launched-today-currently-protects-3-8-million-domains-502857.shtml |archive-date=9 February 2019 |url-status=live }}</ref> provides free and automated service that delivers basic SSL/TLS certificates to websites.<ref>{{cite web |url=http://www.eweek.com/security/let-s-encrypt-effort-aims-to-improve-internet-security |title=Let's Encrypt Effort Aims to Improve Internet Security |publisher=Quinstreet Enterprise |website=eWeek.com |date=18 November 2014 |access-date=20 October 2018 |last=Kerner |first=Sean Michael}}</ref> According to the [[Electronic Frontier Foundation]], Let's Encrypt will make switching from HTTP to HTTPS "as easy as issuing one command, or clicking one button."<ref>{{cite web |url=https://www.eff.org/deeplinks/2014/11/certificate-authority-encrypt-entire-web |title=Launching in 2015: A Certificate Authority to Encrypt the Entire Web |publisher=[[Electronic Frontier Foundation]] |date=18 November 2014 |access-date=20 October 2018 |last=Eckersley |first=Peter |archive-url=https://web.archive.org/web/20181118160126/https://www.eff.org/deeplinks/2014/11/certificate-authority-encrypt-entire-web |archive-date=18 November 2018 |url-status=live }}</ref> The majority of web hosts and cloud providers now leverage Let's Encrypt, providing free certificates to their customers. ====Use as access control==== The system can also be used for client [[authentication]] in order to limit access to a web server to authorized users. To do this, the site administrator typically creates a certificate for each user, which the user loads into their browser. Normally, the certificate contains the name and e-mail address of the authorized user and is automatically checked by the server on each connection to verify the user's identity, potentially without even requiring a password. ====In case of compromised secret (private) key==== An important property in this context is [[forward secrecy|perfect forward secrecy]] (PFS). Possessing one of the long-term asymmetric secret keys used to establish an HTTPS session should not make it easier to derive the short-term session key to then decrypt the conversation, even at a later time. [[Diffie–Hellman key exchange]] (DHE) and [[Elliptic curve Diffie–Hellman]] key exchange (ECDHE) are in 2013 the only schemes known to have that property. In 2013, only 30% of Firefox, Opera, and Chromium Browser sessions used it, and nearly 0% of Apple's [[Safari (web browser)|Safari]] and [[Internet Explorer|Microsoft Internet Explorer]] sessions.<ref name=ecdhe/> TLS 1.3, published in August 2018, dropped support for ciphers without forward secrecy. {{As of|2020|02|df=}}, 96.6% of web servers surveyed support some form of forward secrecy, and 52.1% will use forward secrecy with most browsers.<ref>{{cite web |author1=Qualys SSL Labs |title=SSL Pulse |url=https://www.ssllabs.com/ssl-pulse/ |access-date=25 February 2019 |archive-url=https://web.archive.org/web/20190215213454/https://www.ssllabs.com/ssl-pulse/ |archive-date=15 February 2019 |format=3 February 2019|author1-link=Qualys }}</ref> =====Certificate revocation===== A certificate may be revoked before it expires, for example because the secrecy of the private key has been compromised. Newer versions of popular browsers such as [[Firefox]],<ref>{{cite web |url=https://www.mozilla.org/en-US/privacy/ |title=Mozilla Firefox Privacy Policy |publisher=[[Mozilla Foundation]] |date=27 April 2009 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181018063732/https://www.mozilla.org/en-US/privacy/ |archive-date=18 October 2018 |url-status=live }}</ref> [[Opera (web browser)|Opera]],<ref>{{cite news |url=https://news.softpedia.com/news/Opera-8-launched-on-FTP-1330.shtml |title=Opera 8 launched on FTP |publisher=[[Softpedia]] |date=19 April 2005 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055128/https://news.softpedia.com/news/Opera-8-launched-on-FTP-1330.shtml |archive-date=9 February 2019 |url-status=live }}</ref> and [[Internet Explorer]] on [[Windows Vista]]<ref>{{cite web |last=Lawrence |first=Eric |date=31 January 2006 |url=https://docs.microsoft.com/en-us/previous-versions/aa980989(v=msdn.10) |title=HTTPS Security Improvements in Internet Explorer 7 |website=[[Microsoft Docs]] |access-date=24 October 2021}}</ref> implement the [[Online Certificate Status Protocol]] (OCSP) to verify that this is not the case. The browser sends the certificate's serial number to the certificate authority or its delegate via OCSP (Online Certificate Status Protocol) and the authority responds, telling the browser whether the certificate is still valid or not.<ref>{{cite web |url=https://tools.ietf.org/html/rfc2560 |title=Online Certificate Status Protocol – OCSP |publisher=[[Internet Engineering Task Force]] |date=20 June 1999 |last1=Myers |first1=Michael |last2=Ankney |first2=Rich |last3=Malpani |first3=Ambarish |last4=Galperin |first4=Slava |last5=Adams |first5=Carlisle |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20110825095059/http://tools.ietf.org/html/rfc2560 |archive-date=25 August 2011 |url-status=live }}</ref> The CA may also issue a [[Certificate revocation list | CRL]] to tell people that these certificates are revoked. CRLs are no longer required by the CA/Browser forum,<ref>{{cite web |url=https://cabforum.org/baseline-requirements-documents/ |title=Baseline Requirements |publisher=CAB Forum |access-date=1 November 2021 |url-status=live }}</ref> nevertheless, they are still widely used by the CAs. Most revocation statuses on the Internet disappear soon after the expiration of the certificates.<ref>{{cite book|author1=Korzhitskii, Nikita|author2=Carlsson, Niklas|title=Revocation Statuses on the Internet|work=In proceedings of 2021 Passive and Active Measurement Conference (PAM 2021).|year=2021|arxiv=2102.04288|url=https://arxiv.org/abs/2102.04288|url-status=live}}</ref> ===Limitations=== SSL (Secure Sockets Layer) and TLS (Transport Layer Security) encryption can be configured in two modes: ''simple'' and ''mutual''. In simple mode, authentication is only performed by the server. The mutual version requires the user to install a personal [[client certificate]] in the web browser for user authentication.<ref>{{cite web |url=https://support.google.com/chrome/a/answer/6080885?hl=en |title=Manage client certificates on Chrome devices – Chrome for business and education Help |website=support.google.com |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055127/https://support.google.com/chrome/a/answer/6080885?hl=en |archive-date=9 February 2019 |url-status=live }}</ref> In either case, the level of protection depends on the correctness of the [[implementation]] of the software and the [[cipher|cryptographic algorithms]] in use. SSL/TLS does not prevent the indexing of the site by a [[web crawler]], and in some cases the [[Uniform resource identifier|URI]] of the encrypted resource can be inferred by knowing only the intercepted request/response size.<ref>{{cite web |url=https://www.exploit-db.com/docs/english/13026-the-pirate-bay-un-ssl.pdf |title=The Pirate Bay un-SSL |last=Pusep |first=Stanislaw |date=31 July 2008 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180620001518/https://www.exploit-db.com/docs/english/13026-the-pirate-bay-un-ssl.pdf |archive-date=20 June 2018 |url-status=live }}</ref> This allows an attacker to have access to the [[plaintext]] (the publicly available static content), and the [[ciphertext|encrypted text]] (the encrypted version of the static content), permitting a [[Chosen-ciphertext attack|cryptographic attack]]. Because [[Transport Layer Security|TLS]] operates at a protocol level below that of HTTP and has no knowledge of the higher-level protocols, TLS servers can only strictly present one certificate for a particular address and port combination.<ref>{{cite web |url=https://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts |title=SSL/TLS Strong Encryption: FAQ |work=apache.org |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181019105423/http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts |archive-date=19 October 2018 |url-status=live }}</ref> In the past, this meant that it was not feasible to use [[Virtual hosting#Name-based|name-based virtual hosting]] with HTTPS. A solution called [[Server Name Indication]] (SNI) exists, which sends the hostname to the server before encrypting the connection, although many old browsers do not support this extension. Support for SNI is available since [[Firefox]] 2, [[Opera (web browser)|Opera]] 8, [[Safari (web browser)|Apple Safari]] 2.1, [[Google Chrome]] 6, and [[Internet Explorer 7]] on [[Windows Vista]].<ref>{{cite web |url=https://blogs.msdn.microsoft.com/ie/2005/10/22/upcoming-https-improvements-in-internet-explorer-7-beta-2/ |title=Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2 |last=Lawrence |first=Eric |publisher=[[Microsoft]] |date=22 October 2005 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180920113838/https://blogs.msdn.microsoft.com/ie/2005/10/22/upcoming-https-improvements-in-internet-explorer-7-beta-2/ |archive-date=20 September 2018 |url-status=live }}</ref><ref>{{cite web |url=https://blog.ebrahim.org/2006/02/21/server-name-indication-sni/ |title=Server Name Indication (SNI) |work=inside aebrahim's head |date=21 February 2006 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180810173628/https://blog.ebrahim.org/2006/02/21/server-name-indication-sni/ |archive-date=10 August 2018 |url-status=live }}</ref><ref>{{cite web |url=https://bugzilla.mozilla.org/show_bug.cgi?id=116169 |title=Browser support for TLS server name indication |access-date=20 October 2018 |last=Pierre |first=Julien |date=19 December 2001 |work=Bugzilla |publisher=Mozilla Foundation |archive-url=https://web.archive.org/web/20181008070112/https://bugzilla.mozilla.org/show_bug.cgi?id=116169 |archive-date=8 October 2018 |url-status=live }}</ref> From an architectural point of view: * An SSL/TLS connection is managed by the first front machine that initiates the TLS connection. If, for any reasons (routing, traffic optimization, etc.), this front machine is not the application server and it has to decipher data, solutions have to be found to propagate user authentication information or certificate to the application server, which needs to know who is going to be connected. * For SSL/TLS with mutual authentication, the SSL/TLS session is managed by the first server that initiates the connection. In situations where encryption has to be propagated along chained servers, session timeout management becomes extremely tricky to implement. * Security is maximal with mutual SSL/TLS, but on the client-side there is no way to properly end the SSL/TLS connection and disconnect the user except by waiting for the server session to expire or by closing all related client applications. A sophisticated type of [[man-in-the-middle attack]] called SSL stripping was presented at the 2009 [[Black Hat Briefings|Blackhat Conference]]. This type of attack defeats the security provided by HTTPS by changing the {{code|https:}} link into an {{code|http:}} link, taking advantage of the fact that few Internet users actually type "https" into their browser interface: they get to a secure site by clicking on a link, and thus are fooled into thinking that they are using HTTPS when in fact they are using HTTP. The attacker then communicates in clear with the client.<ref>{{cite web |url=https://moxie.org/software/sslstrip/index.html |title=sslstrip 0.9 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180620042059/https://moxie.org/software/sslstrip/index.html |archive-date=20 June 2018 |url-status=live }}</ref> This prompted the development of a countermeasure in HTTP called [[HTTP Strict Transport Security]]. HTTPS has been shown to be vulnerable to a range of [[traffic analysis]] attacks. Traffic analysis attacks are a type of [[side-channel attack]] that relies on variations in the timing and size of traffic in order to infer properties about the encrypted traffic itself. Traffic analysis is possible because SSL/TLS encryption changes the contents of traffic, but has minimal impact on the size and timing of traffic. In May 2010, a research paper by researchers from [[Microsoft Research]] and [[Indiana University Bloomington|Indiana University]] discovered that detailed sensitive user data can be inferred from side channels such as packet sizes. The researchers found that, despite HTTPS protection in several high-profile, top-of-the-line web applications in healthcare, taxation, investment, and web search, an eavesdropper could infer the illnesses/medications/surgeries of the user, his/her family income, and investment secrets.<ref>{{cite journal |url=https://www.microsoft.com/en-us/research/publication/side-channel-leaks-in-web-applications-a-reality-today-a-challenge-tomorrow/ |title=Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow |journal=Microsoft Research |publisher=[[Institute of Electrical and Electronics Engineers|IEEE]] Symposium on Security & Privacy 2010 |date=20 May 2010 |author1=Shuo Chen |author2=Rui Wang |author3=XiaoFeng Wang |author4=Kehuan Zhang |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180722120329/https://www.microsoft.com/en-us/research/publication/side-channel-leaks-in-web-applications-a-reality-today-a-challenge-tomorrow/ |archive-date=22 July 2018 |url-status=live }}</ref> Although this work demonstrated the vulnerability of HTTPS to traffic analysis, the approach presented by the authors required manual analysis and focused specifically on web applications protected by HTTPS. The fact that most modern websites, including Google, Yahoo!, and Amazon, use HTTPS causes problems for many users trying to access public Wi-Fi hot spots, because a Wi-Fi hot spot login page fails to load if the user tries to open an HTTPS resource.<ref>{{cite web |first=Matthew |last=Guaay |url=https://zapier.com/blog/open-wifi-login-page/ |title=How to Force a Public Wi-Fi Network Login Page to Open |date=21 September 2017 |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180810143254/https://zapier.com/blog/open-wifi-login-page/ |archive-date=10 August 2018 |url-status=live }}</ref> Several websites, such as [http://neverssl.com/ neverssl.com], guarantee that they will always remain accessible by HTTP.<ref>{{cite web |url=http://neverssl.com/ |title=NeverSSL |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20180901224536/http://neverssl.com/ |archive-date=1 September 2018 |url-status=live }}</ref> ==History== [[Netscape Communications]] created HTTPS in 1994 for its [[Netscape Navigator]] web browser.<ref>{{cite book |url=https://books.google.com/books?id=FLvsis4_QhEC&pg=PA344 |title=Embedded Software: The Works |last=Walls |first=Colin |year=2005 |pages=344 |isbn=0-7506-7954-9 |publisher=Newnes |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20190209055124/https://books.google.com/books?id=FLvsis4_QhEC&pg=PA344 |archive-date=9 February 2019 |url-status=live }}</ref> Originally, HTTPS was used with the [[Secure Sockets Layer|SSL]] protocol. As SSL evolved into [[Transport Layer Security]] (TLS), HTTPS was formally specified by RFC 2818 in May 2000. Google announced in February 2018 that its Chrome browser would mark HTTP sites as "Not Secure" after July 2018.<ref>{{Cite web|url=https://blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html|title=A secure web is here to stay|website=Chromium Blog|archive-url=https://web.archive.org/web/20190424215132/https://blog.chromium.org/2018/02/a-secure-web-is-here-to-stay.html|archive-date=24 April 2019|access-date=22 April 2019|url-status=live}}</ref> This move was to encourage website owners to implement HTTPS, as an effort to make the [[World Wide Web]] more secure. ==See also== * [[InterPlanetary File System]] - can replace https * [[Bullrun (decryption program)]]{{snd}} a secret anti-encryption program run by the US [[National Security Agency]] * [[Computer security]] * [[HTTP Strict Transport Security|HSTS]] * [[Opportunistic encryption]] * [[Stunnel]] ==References== {{reflist}} ==External links== {{commons category}} *[https://tools.ietf.org/html/rfc2818 RFC 2818: HTTP Over TLS] *[https://tools.ietf.org/html/rfc5246 RFC 5246: The Transport Layer Security Protocol 1.2] *[https://tools.ietf.org/html/rfc6101 RFC 6101: The Secure Sockets Layer (SSL) Protocol Version 3.0] *[https://howhttps.works: How HTTPS works ...in a comic!] *[https://istlsfastyet.com/ Is TLS fast yet?] {{Web interfaces}} {{Web browsers|fsp}} {{URI scheme}} {{SSL/TLS}} {{Internet censorship circumvention technologies}} [[Category:Hypertext Transfer Protocol]] [[Category:Cryptographic protocols]] [[Category:Secure communication]] [[Category:URI schemes]] [[Category:Transport Layer Security]] [[Category:Computer-related introductions in 1994]] [[Category:Network booting]]'
Unified diff of changes made by edit (edit_diff)
'@@ -1,13 +1,2 @@ -{{pp-pc1}} -{{short description|Extension of the HTTP communications protocol to support TLS encryption}} -{{pp-pc}} -{{Use dmy dates|date=November 2021}} -{{IPstack}} -{{HTTP}} - -'''Hypertext Transfer Protocol Secure''' ('''HTTPS''') is an extension of the [[Hypertext Transfer Protocol]] (HTTP). It is used for [[Secure communications|secure communication]] over a [[computer network]], and is widely used on the Internet.<ref>{{cite web |url=https://support.google.com/webmasters/answer/6073543?hl=en |publisher=Google Inc. |work=Google Support |access-date=20 October 2018 |title=Secure your site with HTTPS |archive-url=https://web.archive.org/web/20150301023624/https://support.google.com/webmasters/answer/6073543?hl=en |archive-date=1 March 2015 |url-status=live }}</ref><ref>{{cite web |url=https://www.instantssl.com/ssl-certificate-products/https.html |publisher=[[Comodo Group|Comodo CA Limited]] |quote=Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP [...] |access-date=20 October 2018 |title=What is HTTPS? |archive-url=https://web.archive.org/web/20150212105201/https://www.instantssl.com/ssl-certificate-products/https.html |archive-date=12 February 2015 |url-status=live }}</ref> In HTTPS, the [[communication protocol]] is encrypted using [[Transport Layer Security]] (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as '''HTTP over TLS''',<ref>{{cite web |url=https://tools.ietf.org/html/rfc2818 |title=HTTP Over TLS |publisher=The Internet Engineering Task Force |date=May 2000 |access-date=20 October 2018 |author=Network Working Group |archive-url=https://web.archive.org/web/20181031095731/https://tools.ietf.org/html/rfc2818 |archive-date=31 October 2018 |url-status=live }}</ref> or '''HTTP over SSL'''. - -The principal motivations for HTTPS are [[authentication]] of the accessed [[website]], and protection of the [[Information privacy|privacy]] and [[Data integrity|integrity]] of the exchanged data while in transit. It protects against [[man-in-the-middle attack]]s, and the bidirectional [[Block cipher mode of operation|encryption]] of communications between a client and server protects the communications against [[eavesdropping]] and [[Tamper-evident#Tampering|tampering]].<ref name=httpse>{{cite web |url=https://www.eff.org/https-everywhere/faq |title=HTTPS Everywhere FAQ |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181114011956/https://www.eff.org/https-everywhere/faq/ |archive-date=14 November 2018 |url-status=live |date=8 November 2016}}</ref><ref>{{Cite web|url=https://w3techs.com/technologies/details/ce-httpsdefault/all/all|title=Usage Statistics of Default protocol https for Websites, July 2019|website=w3techs.com|access-date=20 July 2019|archive-url=https://web.archive.org/web/20190801134536/https://w3techs.com/technologies/details/ce-httpsdefault/all/all|archive-date=1 August 2019|url-status=live}}</ref> The authentication aspect of HTTPS requires a trusted third party to sign server-side [[Public_key_certificate|digital certificates]]. This was historically an expensive operation, which meant fully authenticated HTTPS connections were usually found only on secured payment transaction services and other secured corporate information systems on the [[World Wide Web]]. In 2016, a campaign by the [[Electronic Frontier Foundation]] with the support of [[web browser]] developers led to the protocol becoming more prevalent.<ref>{{cite web |title=Encrypting the Web |url=https://www.eff.org/encrypt-the-web |website=Electronic Frontier Foundation |access-date=19 November 2019 |archive-url=https://web.archive.org/web/20191118094200/https://www.eff.org/encrypt-the-web |archive-date=18 November 2019 |url-status=live }}</ref> HTTPS is now used more often by web users than the original non-secure HTTP, primarily to protect page authenticity on all types of websites; secure accounts; and to keep user communications, identity, and web browsing private. - ==Overview== {{Details|topic=|Transport Layer Security|||category=}} '
New page size (new_size)
36973
Old page size (old_size)
40976
Size change in edit (edit_delta)
-4003
Lines added in edit (added_lines)
[]
Lines removed in edit (removed_lines)
[ 0 => '{{pp-pc1}}', 1 => '{{short description|Extension of the HTTP communications protocol to support TLS encryption}}', 2 => '{{pp-pc}}', 3 => '{{Use dmy dates|date=November 2021}}', 4 => '{{IPstack}}', 5 => '{{HTTP}}', 6 => '', 7 => ''''Hypertext Transfer Protocol Secure''' ('''HTTPS''') is an extension of the [[Hypertext Transfer Protocol]] (HTTP). It is used for [[Secure communications|secure communication]] over a [[computer network]], and is widely used on the Internet.<ref>{{cite web |url=https://support.google.com/webmasters/answer/6073543?hl=en |publisher=Google Inc. |work=Google Support |access-date=20 October 2018 |title=Secure your site with HTTPS |archive-url=https://web.archive.org/web/20150301023624/https://support.google.com/webmasters/answer/6073543?hl=en |archive-date=1 March 2015 |url-status=live }}</ref><ref>{{cite web |url=https://www.instantssl.com/ssl-certificate-products/https.html |publisher=[[Comodo Group|Comodo CA Limited]] |quote=Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP [...] |access-date=20 October 2018 |title=What is HTTPS? |archive-url=https://web.archive.org/web/20150212105201/https://www.instantssl.com/ssl-certificate-products/https.html |archive-date=12 February 2015 |url-status=live }}</ref> In HTTPS, the [[communication protocol]] is encrypted using [[Transport Layer Security]] (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as '''HTTP over TLS''',<ref>{{cite web |url=https://tools.ietf.org/html/rfc2818 |title=HTTP Over TLS |publisher=The Internet Engineering Task Force |date=May 2000 |access-date=20 October 2018 |author=Network Working Group |archive-url=https://web.archive.org/web/20181031095731/https://tools.ietf.org/html/rfc2818 |archive-date=31 October 2018 |url-status=live }}</ref> or '''HTTP over SSL'''.', 8 => '', 9 => 'The principal motivations for HTTPS are [[authentication]] of the accessed [[website]], and protection of the [[Information privacy|privacy]] and [[Data integrity|integrity]] of the exchanged data while in transit. It protects against [[man-in-the-middle attack]]s, and the bidirectional [[Block cipher mode of operation|encryption]] of communications between a client and server protects the communications against [[eavesdropping]] and [[Tamper-evident#Tampering|tampering]].<ref name=httpse>{{cite web |url=https://www.eff.org/https-everywhere/faq |title=HTTPS Everywhere FAQ |access-date=20 October 2018 |archive-url=https://web.archive.org/web/20181114011956/https://www.eff.org/https-everywhere/faq/ |archive-date=14 November 2018 |url-status=live |date=8 November 2016}}</ref><ref>{{Cite web|url=https://w3techs.com/technologies/details/ce-httpsdefault/all/all|title=Usage Statistics of Default protocol https for Websites, July 2019|website=w3techs.com|access-date=20 July 2019|archive-url=https://web.archive.org/web/20190801134536/https://w3techs.com/technologies/details/ce-httpsdefault/all/all|archive-date=1 August 2019|url-status=live}}</ref> The authentication aspect of HTTPS requires a trusted third party to sign server-side [[Public_key_certificate|digital certificates]]. This was historically an expensive operation, which meant fully authenticated HTTPS connections were usually found only on secured payment transaction services and other secured corporate information systems on the [[World Wide Web]]. In 2016, a campaign by the [[Electronic Frontier Foundation]] with the support of [[web browser]] developers led to the protocol becoming more prevalent.<ref>{{cite web |title=Encrypting the Web |url=https://www.eff.org/encrypt-the-web |website=Electronic Frontier Foundation |access-date=19 November 2019 |archive-url=https://web.archive.org/web/20191118094200/https://www.eff.org/encrypt-the-web |archive-date=18 November 2019 |url-status=live }}</ref> HTTPS is now used more often by web users than the original non-secure HTTP, primarily to protect page authenticity on all types of websites; secure accounts; and to keep user communications, identity, and web browsing private.', 10 => '' ]
Whether or not the change was made through a Tor exit node (tor_exit_node)
false
Unix timestamp of change (timestamp)
'1660316636'