Websites maken voornamelijk gebruik van TLS/SSL (Transport Layer Security/Secure Sockets Layer) om de communicatie tussen de browser van de gebruiker en de server van de website te coderen. Dit is wat het hangslotpictogram in de adresbalk van uw browser aangeeft.
TLS/SSL maakt gebruik van asymmetrische en symmetrische versleuteling in combinatie:
* Asymmetrische codering: Dit wordt in eerste instantie gebruikt om een beveiligde verbinding tot stand te brengen. De website presenteert een publieke sleutel. De browser gebruikt deze publieke sleutel om een symmetrische sleutel te versleutelen (een geheime sleutel die wordt gebruikt voor snellere versleuteling). Alleen de bijbehorende privésleutel van de website kan deze symmetrische sleutel ontsleutelen.
* Symmetrische codering: Zodra de symmetrische sleutel veilig is uitgewisseld, wordt deze gebruikt om alle daaropvolgende communicatie tussen de browser en de server te versleutelen, waardoor het proces aanzienlijk wordt versneld in vergelijking met alleen asymmetrische versleuteling. Dit komt omdat symmetrische encryptie rekenkundig veel sneller is.
De specifieke coderingssuites (combinatie van encryptie-algoritmen, hash-algoritmen en methoden voor sleuteluitwisseling) die binnen TLS/SSL worden gebruikt, kunnen variëren, afhankelijk van de server en de mogelijkheden van de browser. Moderne implementaties gebruiken echter over het algemeen sterke algoritmen zoals AES (Advanced Encryption Standard) voor symmetrische codering en RSA of ECC (Elliptic Curve Cryptography) voor asymmetrische codering. |