TLS Handshake: Cara Kerja Keamanan HTTPS

TLS Handshake

Salah satu teknologi yang paling banyak digunakan untuk melindungi komunikasi web adalah HTTPS (Hypertext Transfer Protocol Secure). HTTPS bekerja dengan memanfaatkan protokol TLS (Transport Layer Security) untuk mengenkripsi data yang dikirimkan antara client dan server. Dengan adanya enkripsi ini, pihak ketiga tidak dapat membaca atau memodifikasi data yang sedang dikirimkan melalui jaringan.

Namun sebelum komunikasi terenkripsi dapat dimulai, client dan server harus terlebih dahulu melakukan proses yang disebut TLS Handshake. Proses ini berfungsi untuk membangun koneksi yang aman dengan cara melakukan autentikasi server, menentukan algoritma enkripsi yang akan digunakan, serta menghasilkan kunci enkripsi bersama. Tanpa proses handshake ini, komunikasi HTTPS tidak akan memiliki mekanisme keamanan yang dapat dipercaya.

Artikel ini akan membahas secara lengkap mengenai TLS Handshake, mulai dari pengertian, tahapan proses, komponen yang terlibat, hingga mekanisme enkripsi yang digunakan dalam protokol TLS.

Apa Itu TLS Handshake?

TLS Handshake adalah proses awal yang terjadi ketika sebuah client dan server ingin membangun koneksi yang aman menggunakan protokol Transport Layer Security (TLS). Proses ini memungkinkan kedua pihak untuk saling mengenali, melakukan autentikasi, serta menyepakati parameter keamanan yang akan digunakan selama komunikasi berlangsung.

Dalam konteks komunikasi HTTPS, TLS Handshake terjadi sebelum data aplikasi seperti halaman web atau API dikirimkan. Ketika sebuah browser mencoba mengakses website yang menggunakan HTTPS, browser akan memulai koneksi dengan server melalui proses handshake. Tujuannya adalah untuk memastikan bahwa server yang dihubungi benar-benar valid serta menentukan metode enkripsi yang akan digunakan untuk melindungi data.

Proses handshake melibatkan beberapa pertukaran pesan antara client dan server. Dalam pertukaran ini, kedua pihak akan menyepakati beberapa parameter penting seperti versi TLS yang digunakan, algoritma enkripsi (cipher suite), serta metode pertukaran kunci kriptografi. Setelah semua parameter berhasil disepakati, client dan server akan menghasilkan session key yang digunakan untuk mengenkripsi data selama sesi komunikasi berlangsung.

Baca Juga: TLS (Transport Layer Security): Pengertian dan Cara Kerja

Tahapan Proses TLS Handshake

Proses TLS Handshake terdiri dari beberapa tahapan yang memungkinkan client dan server membangun koneksi yang aman sebelum mulai bertukar data. Setiap tahapan memiliki peran penting dalam memastikan keamanan komunikasi.

1. Client Hello

Proses handshake dimulai ketika client mengirimkan pesan Client Hello kepada server. Pesan ini berisi informasi seperti versi TLS yang didukung, daftar cipher suite yang dapat digunakan, serta angka acak yang disebut client random.

2. Server Hello

Server kemudian merespons dengan pesan Server Hello yang berisi versi TLS yang dipilih, cipher suite yang akan digunakan, serta angka acak lain yang disebut server random.

3. Pengiriman Sertifikat Server

Setelah memilih parameter keamanan, server mengirimkan sertifikat digital kepada client. Sertifikat ini berisi informasi identitas server serta public key yang akan digunakan dalam proses pertukaran kunci.

4. Verifikasi Sertifikat oleh Client

Client kemudian memverifikasi sertifikat server menggunakan Certificate Authority (CA) yang terpercaya. Jika sertifikat valid, proses handshake dapat dilanjutkan.

5. Pertukaran Kunci Enkripsi

Client dan server kemudian melakukan proses pertukaran kunci menggunakan metode kriptografi asimetris seperti RSA atau Diffie-Hellman.

6. Pembentukan Session Key

Berdasarkan informasi yang dipertukarkan, kedua pihak menghasilkan session key yang sama. Session key ini akan digunakan untuk mengenkripsi komunikasi selanjutnya.

7. Koneksi Aman Dimulai

Setelah session key berhasil dibuat, proses handshake selesai dan komunikasi data dapat dimulai dengan menggunakan enkripsi simetris yang lebih cepat dan efisien.

Baca Juga: SSL Inspection: Cara Kerja dan Fungsi di Keamanan Jaringan

Cara Kerja Enkripsi dalam TLS Handshake

Salah satu aspek menarik dari TLS Handshake adalah penggunaan dua metode kriptografi yang berbeda dalam satu sistem keamanan. Protokol TLS menggabungkan kriptografi asimetris dan kriptografi simetris untuk mencapai keseimbangan antara keamanan dan efisiensi performa.

Pada tahap awal handshake, TLS menggunakan kriptografi asimetris untuk melakukan proses autentikasi dan pertukaran kunci. Metode ini menggunakan dua kunci yang berbeda, yaitu public key dan private key. Public key dibagikan kepada client melalui sertifikat digital, sedangkan private key hanya dimiliki oleh server. Dengan metode ini, client dapat mengirimkan informasi sensitif secara aman tanpa harus mengetahui private key server.

Namun kriptografi asimetris memiliki kelemahan yaitu membutuhkan proses komputasi yang cukup berat. Jika metode ini digunakan untuk mengenkripsi seluruh komunikasi, performa koneksi akan menjadi sangat lambat. Oleh karena itu, TLS hanya menggunakan kriptografi asimetris pada tahap awal untuk membuat kunci sesi.

Setelah proses pertukaran kunci selesai, TLS beralih menggunakan kriptografi simetris untuk mengenkripsi data selama sesi komunikasi berlangsung. Pada metode ini, client dan server menggunakan session key yang sama untuk mengenkripsi dan mendekripsi data.

Baca Juga: Kriptografi Asimetris: Pengertian, Cara Kerja dan Contoh

Perbedaan TLS Handshake pada TLS 1.2 dan TLS 1.3

Berikut perbandingan utama antara TLS 1.2 dan TLS 1.3:

AspekTLS 1.2TLS 1.3
Jumlah langkah handshakeLebih banyak langkahLebih sedikit langkah
Kecepatan koneksiRelatif lebih lambatLebih cepat
Algoritma enkripsiMendukung banyak cipher lamaHanya cipher modern
KeamananBaik namun masih mendukung algoritma lamaLebih kuat dan aman
Forward secrecyOpsionalWajib digunakan

Salah satu peningkatan terbesar pada TLS 1.3 adalah pengurangan jumlah round trip komunikasi selama proses handshake. Jika pada TLS 1.2 handshake memerlukan beberapa pertukaran pesan antara client dan server, pada TLS 1.3 proses ini dapat dilakukan dengan lebih sedikit langkah.

Baca Juga: SSL (Secure Sockets Layer): Pengertian, Cara Kerja dan Jenis

Kelebihan TLS Handshake dalam Keamanan Internet

Kelebihan TLS Handshake dalam Keamanan Internet

  1. Melindungi data sensitif
    TLS Handshake memungkinkan proses enkripsi sehingga data penting seperti password, token autentikasi, dan informasi pribadi tidak dapat dibaca oleh pihak yang menyadap jaringan.
  2. Autentikasi server
    Melalui sertifikat digital, client dapat memverifikasi identitas server sehingga pengguna benar-benar terhubung dengan server yang sah.
  3. Mencegah serangan Man-in-the-Middle
    Mekanisme enkripsi dan autentikasi dalam TLS membuat penyerang jauh lebih sulit menyusup atau memodifikasi komunikasi antara client dan server.
  4. Mendukung forward secrecy
    TLS modern menggunakan teknik forward secrecy sehingga meskipun kunci enkripsi bocor di masa depan, data komunikasi sebelumnya tetap aman.

Baca Juga: Pharming Adalah: Pengertian, Cara Kerja dan Cara Mengatasi

Kekurangan dan Tantangan TLS Handshake

Kekurangan dan Tantangan TLS Handshake

  1. Menambah latency koneksi
    Proses pertukaran pesan saat handshake membuat waktu awal koneksi sedikit lebih lama dibandingkan koneksi tanpa enkripsi.
  2. Beban komputasi pada server
    Proses kriptografi dalam TLS membutuhkan sumber daya komputasi, terutama pada server dengan jumlah koneksi yang sangat besar.
  3. Manajemen sertifikat yang kompleks
    Server harus menggunakan sertifikat digital yang valid. Jika sertifikat kedaluwarsa atau tidak valid, browser akan menampilkan peringatan keamanan.
  4. Masalah kompatibilitas versi TLS
    Beberapa sistem lama mungkin masih menggunakan versi TLS atau cipher suite yang sudah tidak direkomendasikan sehingga dapat menyebabkan kegagalan koneksi.

Baca Juga: Latency Jaringan: Penyebab, Dampak, dan Cara Optimasi

Kesimpulan

Pada pembahasan kita di atas dapat kita simpulkan bahwa TLS Handshake merupakan proses fundamental dalam membangun koneksi HTTPS yang aman di internet. Melalui mekanisme ini, client dan server dapat melakukan autentikasi, menyepakati algoritma enkripsi, serta menghasilkan kunci sesi yang digunakan untuk melindungi komunikasi data. Tanpa proses handshake, sistem keamanan TLS tidak akan mampu menyediakan komunikasi yang rahasia dan terpercaya.

Proses handshake melibatkan beberapa tahapan penting seperti pertukaran pesan Client Hello dan Server Hello, verifikasi sertifikat digital, hingga pembentukan session key. Selama proses ini, TLS memanfaatkan kombinasi antara kriptografi asimetris dan kriptografi simetris untuk memastikan keamanan sekaligus menjaga efisiensi performa.

Artikel ini merupakan bagian dari seri Jaringan KantinIT.com. Jika artikel ini bermanfaat, jangan lupa bagikan ke media sosial atau ke teman kamu.

Subscribe to our Newsletter

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨