Cara Kerja SSL
SSL(Secure Socket Layer) merupakan protokol untuk membangun suatu jalur yang terenkripsi dan terotentikasi antar jaringan komputer. Tujuannya adalah untuk memastikan lalu lintas pertukaran data antar server dan client berjalan dengan aman. SSL menawarkan 3 lapis pengamanan yaitu authentication, encryption, dan integrity.
Saat ini SSL sudah menjadi syarat wajib bagi suatu website, bahkan browser Chrome sejak release versi 68 website yang belum menerapkan SSL akan ditandai "not secure". Terdapat versi terbaru dari SSL yaitu TLS(Transfer Layer Security) yang sebenarnya lebih aman dari SSL. Namun saat ini SSL versi 3.0 lebih banyak digunakan karena support sebagian besar web server maupun web browser.
SSL Handshake Protocol
Secara garis besar cara SSL/TLS mengamankan lalu lintas data antara client dan server adalah dengan menggunakan Encryption. Singkatnya informasi apapun yang dikirim akan dikonversi menjadi unreadable string/encrypted sehingga pihak ketiga tidak bisa memahami isi sesungguhnya dari informasi tersebut.
Proses membangun jaringan yang aman mengacu pada protokol SSL Handshake. Proses ini berlangsung dengan sangat cepat, bahkan sampai hitungan permilisecond.
-
Dimulai dari browser(client) mengirimkan "pesan" yang berisikan informasi seperti:
- Versi SSL/TLS
- List algoritma enkripsi (yang disupport)
- Data compression methods (yang disuppport)
-
Server respon dengan mengirimkan "pesan" yang berisikan informasi:
- Algoritma enkripsi yang disetujui
- SSL Certificate
- Server
public key
- Browser akan menghubungi Certificate Authority(CA) untuk menverifikasi sertifikat SSL dari server tersebut. Jika valid, browser akan generate
session key
kemudian di-enkripsi menggunakan serverpublic key
untuk dikirim ke server. - Server menerima dan dilakukan proses dekripsi menggunakan
private key
milik server. Pada tahap ini, proses enkripsi-dekripsi menggunakan Asymmetric Encryption. - Sekarang baik server maupun browser sudah memegang
session key
yang sama.session key
ini akan digunakan untuk meng-engkripsi tiap pesan yang dikirim baik dari browser maupun dari server menggunakan algoritma Symmetric Encryption.
Website yang sudah menerapkan dan mendukung protokol SSL, domainnya akan diawali dengan https
yang menunjukkan bahwa komunikasi data anda dengan server berjalan di network yang aman dan terpercaya.
ref: