Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encryption and secure (website security testing) identification of the server. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems. HTTPS should not be confused with Secure HTTP (S-HTTP) specified in RFC 2660
The main idea of HTTPS is to create a secure channel over an insecure network. 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.
The trust inherent in HTTPS is based on major certificate authorities which come pre-installed in browser software (this is equivalent to saying “I trust certificate authority (e.g. VeriSign/Microsoft/etc.) to tell me who I should trust”). Therefore an HTTPS connection to a website can be trusted if and only if all of the following are true:
1. The user trusts the certificate authority to vouch only for legitimate websites without misleading names.
2. The website provides a valid certificate (an invalid certificate shows a warning in most browsers), which means it was signed by a trusted authority.
3. The certificate correctly identifies the website (e.g. visiting https://example and receiving a certificate for “Example Inc.” and not anything else ).
4. Either the intervening hops on the Internet are trustworthy, or the user trusts the protocol’s encryption layer (TLS or SSL) is unbreakable by an eavesdropper.
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.
[ad#s-hr-strip]