HTTP Secure
From Wikipedia, the free encyclopedia
| HTTP |
| Persistence · Compression · HTTP Secure |
| Headers |
| ETag · Cookie · Referrer · Location |
| Status codes |
| 301 Moved permanently |
| 302 Found |
| 303 See Other |
| 403 Forbidden |
| 404 Not Found |
Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol and a cryptographic protocol. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems.
HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at a lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arrival.
As opposed to HTTP URLs which begin with "http://" and use port 80 by default, HTTPS URLs begin with "https://" and use port 443 by default.
Netscape Communications created HTTPS in 1994 for its Netscape Navigator web browser.[1] Originally, HTTPS was only used with SSL encryption, but this has been made obsolete by Transport Layer Security. HTTPS was adopted as a web standard with the publication of RFC 2818 in May 2000.[2]
Contents |
[edit] Function
Strictly speaking, HTTPS is not a separate protocol, but refers to use of ordinary HTTP over an encrypted Secure Sockets Layer (SSL) or Transport Layer Security (TLS) connection. This ensures reasonable protection from eavesdroppers and man-in-the-middle attacks, provided that adequate cipher suites are used and that the server certificate is verified and trusted.
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. The authority certifies that the certificate holder is indeed the entity it claims to be. Web browsers are generally distributed with the signing certificates of major certificate authorities so that they can verify certificates signed by them.
Authoritatively signed certificates may be free[3] or cost between US$13[4] and $1,500[5] per year. Organizations may also run their own certificate authority, particularly if they are responsible for setting up browsers to access their own sites (for example, sites on a company intranet). They can easily add copies of their own signing certificate to the trusted certificates distributed with the browser.
A certificate may be revoked before it expires, for example because the secrecy of the private key has been compromised. Newer browsers such as Firefox,[6] Opera,[7] and Internet Explorer on Windows Vista[8] 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 and the authority responds, telling the browser whether or not the certificate is still valid.[9]
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, a certificate that is loaded into his/her browser. Normally, that contains the name and e-mail address of the authorized user and is automatically checked by the server on each reconnect to verify the user's identity, potentially without even entering a password.
[edit] Browser integration
When connecting to a site with an invalid certificate, older browsers would present the user with a dialog box asking if 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 certificates turn the address bar green in newer browsers. Most browsers also pop up a warning to the user when visiting a site that contains a mixture of encrypted and unencrypted content.
|
Most[citation needed] web browsers use the address bar to tell the user that their connection is secure.
|
[edit] Limitations
The level of protection depends on the correctness of the implementation of the web browser and the server software and the actual cryptographic algorithms supported.
Also, HTTPS is vulnerable when applied to publicly-available static content. The entire site can be indexed using a web crawler, and the URI of the encrypted resource can be inferred by knowing only the intercepted request/response size.[10] This allows an attacker to have access to the plaintext (the publicly-available static content), and the encrypted text (the encrypted version of the static content).
Because SSL operates below HTTP and has no knowledge of higher-level protocols, SSL servers can only strictly present one certificate for a particular IP/port combination.[11] This means that, in most cases, it is not feasible to use 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 older browsers don't support this extension. Support for SNI is available since Firefox 2, Opera 8, and Internet Explorer 7 on Windows Vista.[12][13][14]
[edit] See also
[edit] References
- ^ Walls, Colin (2005). Embedded software. pp. 344. http://books.google.com/books?id=FLvsis4_QhEC&pg=PA344.
- ^ Rescorla, E (May 2000). "HTTP Over TLS". Internet Engineering Task Force. http://tools.ietf.org/html/rfc2818. Retrieved on 6 May 2009.
- ^ "StartSSL™ Free certificates". StartSSL. http://www.startssl.com/?app=1. Retrieved on 20 May 2009.
- ^ "SSL Certificate Services". Go Daddy. http://www.godaddy.com/gdshop/compare/gdcompare_ssl.asp?isc=sslqgo002b. Retrieved on 6 May 2009.
- ^ "Secure Site Pro with EV". VeriSign. http://www.verisign.com/ssl/buy-ssl-certificates/extended-validation-pro-ssl-certificates/index.html. Retrieved on 6 May 2009.
- ^ "Mozilla Firefox Privacy Policy". Mozilla Foundation. 27 April 2009. http://www.mozilla.com/en-US/legal/privacy/firefox-en.html. Retrieved on 13 May 2009.
- ^ "Opera 8 launched on FTP". Softpedia. 19 April 2005. http://news.softpedia.com/news/Opera-8-launched-on-FTP-1330.shtml. Retrieved on 13 May 2009.
- ^ Lawrence, Eric (31 January 2006). "HTTPS Security Improvements in Internet Explorer 7". MSDN. http://msdn.microsoft.com/en-us/library/bb250503.aspx. Retrieved on 13 May 2009.
- ^ Myers, M; Ankney, R; Malpani, A; Galperin, S; Adams, C (June 1999). "Online Certificate Status Protocol - OCSP". Internet Engineering Task Force. http://tools.ietf.org/html/rfc2560. Retrieved on 13 May 2009.
- ^ Pusep, Stanislaw (31 July 2008). "The Pirate Bay un-SSL". http://sysd.org/stas/node/220. Retrieved on 6 March 2009.
- ^ Apache FAQ: Why can't I use SSL with name-based/non-IP-based virtual hosts?
- ^ Lawrence, Eric (22 October 2005). "Upcoming HTTPS Improvements in Internet Explorer 7 Beta 2". Microsoft. http://blogs.msdn.com/ie/archive/2005/10/22/483795.aspx. Retrieved on 12 May 2009.
- ^ Server Name Indication (SNI)
- ^ Mozilla 1.8
[edit] External links
- RFC 2818: HTTP Over TLS
- SSL 3.0 Specification (IETF)
- Apache-SSL homepage (No longer actively developed)
- Apache 2.2 mod_ssl documentation
- HTTPS Protocol in Internet Explorer Development - MSDN
- Manually Configuring Windows Communication Foundation (WCF) when using HTTP and HTTPS - MSDN
- HTTPS Security Improvements in Internet Explorer 7 & its Compatibility Impact - MSDN
|
|||||||||||

