54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
---
|
|
marp: true
|
|
theme: gaia
|
|
backgroundColor: #fff
|
|
backgroundImage: url('img/hero-background.svg')
|
|
|
|
---
|
|
# </br></br></br>:shield: Certyfikaty TLS :shield:
|
|
|
|
---
|
|
|
|
# HTTPS - HyperText Transfer Protocol Secure
|
|
- [HTTPS](https://en.wikipedia.org/wiki/HTTPS) - wersja protokołu HTTP wykorzystująca szyfrowanie
|
|
- wykorzystuje protokół [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) - Transport Layer Security
|
|
- wymaga certyfikatu TLS oraz klucza prywatnego
|
|
- certyfikat może być wystawiony przez [CA](https://en.wikipedia.org/wiki/Certificate_authority) - Certificate Authority lub samodzielnie
|
|
- wykorzystuje szyfrowanie symetryczne oraz asymetryczne
|
|
- zabezpiecza przez atakami typu *Man in The Middle*
|
|
|
|
|
|
---
|
|
# TLS - Transport Layer Security
|
|
- na początku połączenia odbywa się proces [TLS Handshake](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake)
|
|
- w trakcie procesu następuje:
|
|
- weryfikacja certyfikatu
|
|
- ustalenie algorytmów szyfrowania
|
|
- wymiana kluczy
|
|
- podczas wymiany danych, pakiety TCP są zaszyfrowane
|
|
|
|
---
|
|
|
|
# Certyfikat TLS
|
|
- certyfikat zawiera:
|
|
- klucz publiczny
|
|
- dane o właścicielu
|
|
- dane o CA
|
|
- datę ważności
|
|
- można go uzyskać samodzielnie lub za pośrednictwem CA
|
|
- może być pozyskany za darmo lub za opłatą
|
|
- opcja bezpłatna: [Let's Encrypt](https://letsencrypt.org/)
|
|
|
|
---
|
|
|
|
# Let's Encrypt
|
|
- [Let's Encrypt](https://letsencrypt.org/) - organizacja non-profit wystawiająca bezpłatnie certyfikaty TLS
|
|
- certyfikaty ważne są przez 90 dni
|
|
- aby pozyskać lub odnowić certyfikat, należy udowodnić, że jesteśmy właścicielem domeny, poprzez:
|
|
- dodanie określonego pliku do serwera
|
|
- dodanie rekordu DNS
|
|
- proces pozyskania oraz odnowienia certyfikatu może być zautomatyzowany poprzez narzędzie [Certbot](https://certbot.eff.org/)
|
|
|
|
|
|
|