A Hyper Text Transfer Protocol Secure (HTTPS) a HTTP biztonságos verziója. A HTTPS internetes kommunikációra használható, például az online tranzakciók és a közösségi médiában való üzenetváltások során.
A HTTPS egy olyan internetes protokoll, amelyiket SSL/TLS kézfogási munkamenet során hoztak létre. A webböngészők, például az Internet Explorer, Firefox vagy a Chrome, a lakat ikont jelenítik meg a címsávban annak jelzésére, hogy egy HTTPS-kapcsolat aktív.
Az SSL (Secure Sockets Layer) / TLS (Transport Layer Security) egy szabványos technológia, mellyel garantálható a HTTP-kapcsolat biztonsága. Titkosítási algoritmusok segítségével akadályozza meg azt, hogy illetéktelen személyek vagy rendszerek olvashassák, illetve módosíthassák az adatokat. A hitelesítési algoritmusok (az SSL/TLS részei) biztosítják a végpont identitását. A TLS az SSL egy frissített, biztonságosabb verziója. Manapság a TLS az internetes forgalom biztonságának garantálására. Az SSL kifejezést ugyanakkor a HTTPS-munkamenetek biztonsági technológiájának leírására is használjuk.
Ebben a kézikönyvben az SSL/TLS az SSL technológiára utal.
Ahhoz, hogy HTTPS-kapcsolatot hozzon létre egy kliens és egy kiszolgáló között, szükség van legalább a kiszolgáló identitástanúsítványára a hitelesítés érdekében.
Az SSL/TLS kézfogás munkamenet az első lépés egy HTTPS-kapcsolat kialakításához. Az SSL/TLS kézfogás során a kiszolgáló és a kliens végrehajtják a hitelesítési és kommunikációs folyamatokat. A kommunikáció tárgya a TLS verziója, a kulcscsere algoritmusa és az adatcsere titkosításának algoritmusa. A titkosítási algoritmusok készletét rejtjelkészleteknek is nevezzük.
Példa:
Az alábbiakban egy olyan sémát láthat, amely bemutatja az SSL/TLS kézfogás főbb lépéseit egy webkiszolgáló és egy böngésző között.
A böngésző HTTPS kapcsolatot kér.
A webkiszolgáló elküld egy példányt az identitástanúsítványából, amely a nyilvános kulcsába van ágyazva.
A böngésző ellenőrzi az identitástanúsítványt és a nyilvános kulcsot.
A böngésző és a webkiszolgáló megosztott titkosítási kulcsot használnak.
A böngésző és a webkiszolgáló ugyanazt a megosztott kulcsot használják, hogy a normál szöveget titkosírássá alakítsák át, illetve a titkosított szöveget visszaalakítsák normál szöveggé.
A kapcsolat biztonságának garantálása érdekében minden egyes új munkamenetnél új megosztott kulcs készül el.