YWxhIG1hIGtvdGE=
Certyfikat self-signed jest słaby z tego względu że każdy będący MITM może go ad-hoc wygenerować.
- HSTS (HTTP Strict-Transport-Security) - mówi przeglądarce że przez X sekund ma łączyć się tylko po HTTPS
- PFS/FS - (Perfect) Forward Secrecy - wyciek klucza prywatnego dowolnej ze stron nie daje możliwości odszyfrowania komunikacji z przeszłości, w praktyce Diffie-Hellman w kółko.
- ALPN (Application-Layer Protocol Negotiation) - w trakcie handshake TLS ustalany strony uzganiają protokół warstwy aplikacji (np. wersję HTTP)
- NPN (Next Protocol Negotiation) - stare ALPN
- CAA (Certificate Authority Autorization) - rekord DNS który mówi które CA mogą wystawić certyfikat
- OSCP (Online Certificate Status Protocol) - sprawdzanie unieważnienia certyfikatu u CA, możliwy stapling - dołączanie świeżej odpowiedzi przez serwer żeby klient nie musiał pytać CA
- HPKP (HTTP Public Key Pinning) - przypinanie kluczy publicznych w przeglądarce, przeglądarka nie zaakceptuje wtedy innego prawidłowego klucza dla tej domeny
- CSP (Content Security Policy) - nagłówek mówiący skąd strona może pobierać zasoby takie jak skrypty, obrazki itd.
- XSS (Cross-Site Scripting) - umieszczamy w jakiś sposób (słaba sanityzacja wejścia) złośliwy JS na stronie, a użytkownik go wykona, może wykonać przez to jakąś operację np. zmienić hasło.