/blog/*

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.

SSL Handshake

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 server public 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: