Cara Kerja Sertifikat SSL pada TLS 1.2

Cara Kerja Sertifikat SSL pada TLS 1.2

Saat ini masih banyak yang bertanya pada team SSL Indonesia tentang cara kerja sertifikat SSL secara real. Pada bahasan Tentang Sertifikat SSL, team SSL Indonesia sudah menyinggung tentang cara kerja sertifikat SSL secara sederhana. Dimana sertifikat SSL bekerja melewati 3 tahap yakni Handshake, Record, dan Alert. Kali ini team SSL Indonesia akan membahas tentang Handshake (proses jabat tangan, kriptografi) sertifikat SSL.

Karena proses ini menjadi hal utama yang sangat menentukan keberhasilan kinerja sertifikat SSL. Seperti yang kita pahami bahwa Sertifikat SSL digunakan untuk keamanan situs web yang diberi tanda situs HTTPS. Beberapa tahun terakhir penggunaan sertifikat SSL dalam industri Internet semakin meningkat pesat, karena sudah memikirkan keamanan pengguna.

Dimana sertifikat SSL bekerja melewati 3 tahap yakni Handshake, Record, dan Alert. Kali ini team SSL Indonesia akan membahas tentang Handshake (proses jabat tangan, kriptografi) sertifikat SSL. Karena proses ini menjadi hal utama yang sangat menentukan keberhasilan kinerja sertifikat SSL.

3 Tahapan Bekerjanya Sertifikat SSL

Seperti yang kita pahami bahwa Sertifikat SSL digunakan untuk keamanan situs web yang diberi tanda situs HTTPS. Beberapa tahun terakhir penggunaan sertifikat SSL dalam industri Internet semakin meningkat pesat, karena sudah memikirkan keamanan pengguna.

Karena proses ini menjadi hal utama yang sangat menentukan keberhasilan kinerja sertifikat SSL. Seperti yang kita pahami bahwa Sertifikat SSL digunakan untuk keamanan situs web yang diberi tanda situs HTTPS. Beberapa tahun terakhir penggunaan sertifikat SSL dalam industri Internet semakin meningkat pesat, karena sudah memikirkan keamanan pengguna.

Dimana sertifikat SSL bekerja melewati 3 tahap yakni Handshake, Record, dan Alert. Kali ini team SSL Indonesia akan membahas tentang Handshake (proses jabat tangan, kriptografi) sertifikat SSL. Karena proses ini menjadi hal utama yang sangat menentukan keberhasilan kinerja sertifikat SSL. Seperti yang kita pahami bahwa Sertifikat SSL digunakan untuk keamanan situs web yang diberi tanda situs HTTPS. Beberapa tahun terakhir penggunaan sertifikat SSL dalam industri Internet semakin meningkat pesat, karena sudah memikirkan keamanan pengguna.

Salah satu poin utama yang harus diperhatikan dalam proses kerja sertifikat SSL adalah handshake (jabat tangan). Proses Handshake ini merupakan tempat dimana setiap koneksi dimulai dan dasar teknis sertifikat SSL dibuat. Proses handshake SSL merupakan nama teknis dari proses pembangunan koneksi HTTPS.

Sebagaian besar proses enkripsi serta kriptografi yang terlibat dalam protocol SSL dilakukan pada tahap ini. Ada dua pembagian proses handshake pada sertifikat SSL berdasarkan TLS yang digunakan saat instalasi SSL yakni handshake untuk TLS 1.2 dan TLS 1.3. Team SSL Indonesia akan memberikan penjelasan detail terkait keduanya.

Ada 3 poin penting yang akan dibahas yakni : Tahap kemampuan melakukan enkripsi dan otentikasi sertifikat SSL. Kedua, Tahap menghasilkan kunci. Ketiga, kesalahan proses handshake pada sertifikat SSL.

Proses handshake sertifikat SSL koneksi HTTPS melibatkan dua pihak, yakni klien dan server. Klien merupakan orang lain yang melakukan akses situs web, atau yang memulai koneksi. Kedua pihak ini akan melakukan proses Handshake (jabat tangan), yang bertujuan untuk melakukan tugas kriptografi yang diperlukan untuk memiliki koneksi yang aman. Ini termasuk aktivitas otentikasi sertifikat SSL yang digunakan dan akan menghasilkan kunci enkripsi.

Negotiating Cipher Suites

Sebelum menjelaskan proses negosiasi Cipher Suites kita harus paham apa itu Cipher Suites. Chiper Suites atau suite sandi merupakan seperangkat algoritma kriptografi. Implementasi Cipher Suites (SSP Schannel) dari protocol SSL menggunakan algoritma cipher suite untuk membuat kunci dan mengenkripsi informasi.

Pada proses negosiasi cipher suite akan menentukan besaran algoritma yang dibutuhkan untuk melakukan keamamanan pada situs.  Negosiasi cipher suites setiap perangkat lunak berbeda. Browser web adalah klien yang paling umum dan fitur dapat bervariasi diantara browser popular seperti Google chrome, Mozilla Firefox dan Microsoft Internet Explorer.

Demikian juga dari sisi server, sistem operasi seperti windows server, apache, dan NGINX semua memiliki fitur yang sangat berbeda. Masing-masing perangkat tersebut memiliki kerumitan tersendiri ketika ditambahkan konfigurasi khusus.

Langkah pertama proses handshake SSL membutuhkan klien dan server untuk berbagi sehingga mampu menemukan fitur kriptografi yang saling mendukung. Setelah klien dan server  menyetujui metode enkripsi yang tepat untuk digunakan maka disinilah terjadi negosiasi cipher suites.

Langkah pertama proses handshake SSL membutuhkan klien dan server untuk berbagi sehingga mampu menemukan fitur kriptografi yang saling mendukung. Setelah klien dan server  menyetujui metode enkripsi yang tepat untuk digunakan maka disinilah terjadi negosiasi cipher suites.

Otentikasi

Setelah melakukan negosiasi cipher suites dan diterima, maka klien akan memeriksa dan memastikan bahwa sertifikat SSL yang digunakan oleh situs web adalah asli. Ini merupakan tahap yang sangat penting untuk memastikan bahwa koneksi yang terjadi sudah aman.

Sertifikat SSL memberikan otentikasi bahwa sertifikat SSL yang digunakan merupakan asli, namun otentikasi yang disediakan tergantung pada suite sandi yang digunakan. Sertifikat SSL yang terpercaya merupakan hasil terbitan Certificate Authority (CA). CA merupakan perusahaan yang telah disetujui dan legal untuk menerbitkan sertifikat digital. Perusahaan ini harus mengikuti panduan yang sangat ketat untuk melakukan penerbitan dan validasi.

wHal tersebut dilakukan untuk menjaga kepercayaan masyarakat terhadap sertifikat SSL yang dikeluarkan. Sertifikat SSL legal ataupun asli hanya bisa dikeluarkan oleh penyedia otoritas sertifikat SSL CA. Tanda tangan dari CA menandakan legalitas identitas pemilik sertifikat. Dengan kata lain bahwa sertifikat SSL yang terpercaya berasal dari CA yang terpercaya untuk menerbitkan sertifikat.

Selama tahap otentikasi, klien juga akan memverifikasi bahwa server memiliki kunci pribadi (private key) yang terkait dengan sertifikat Seluruh sertifikat SSL berisi pasangan kunci yang terdiri dari kunci public (public key) dan private key. Public key digunakan untuk mengenkripsi data, sedangkan private key digunakan untuk mendekripsi. Hal tersebut dikenal sebagai enkripsi public key asimetris, dimana dua fungsi enkripsi dan dekripsi menggunakan kunci yang berbeda.

Key Exchange (Pertukaran Kunci)

Proses pertukaran kunci merupakan tahap akhir pada proses Handshake SSL. Tahap ini melibatkan pembuatan session key / kunci sesi yang digunakan untuk komunikasi aman. Sifat kunci sesi ini adalah simetris. Simetris berarti kunci yang digunakan untuk aktivitas enkripsi dan dekripsi sama baik public key atau private key. Enkripsi ini dapat mencapai tingkat enkripsi yang jauh lebih efisien daripada sifat kunci asimetris. Sifat simetris ini sangat sesuai dalam proses mengirim data secara dua arah dalam Cara Kerja Sertifikat SSL pada TLS 1.2.

Metode yang digunakan untuk menghasilkan kunci sangat bervariasi, tergantung cipher suites yang dipilih dengan dua skema yang paling umum yakni RSA dan Diffie-Hellman. Proses akhir pada tahap Handshake yakni melakukan koreksi kembali untuk memastikan bahwa aktivitas konkesi yang terjadi jauh dari gangguan atau korupsi data yang dapat merusak aktivitas pengunjungan website.

Proses handshake ini tidak terlihat serumit proses yang telah dijelaskan, karena berlangsung hanya dalam hitungan detik dan terjadi dibelakang layar antara sertifikat SSL dan server. Proses handshake ini adalah proses utama yang terjadi dalam koneksi HTTPS sebelum pemuatan web. Setelah proses handshake, koneksi HTTPS yang dienkripsi dan dikonfirmasi dimulai maka semua data yang dikirim dan diterima antara klien dan server yang dilindungi.  

TLS 1.2 Handshake (Jabat Tangan TLS 1.2)

Proses Handshake SSL melibatkan serangkaian langkah yang menyelesaikan tiga tugas utama. Bertukar kemampuan enkripsi. Mengotentikasi sertifikat SSL, dan menghasilkan kunci sesi. Bagi Anda yang ingin memahami proses yang tepat handshake SSL pada TLS 1.2, team SSL Indonesia akan menjelaskan secara detail.

Pada tahapan ini, akan diberikan ilustrasi dari sisi klien dan server seperti pada gambar

  1. Pada tahap pertama disebut dengan “Client Hello”.
    Pesan ini mencantumkan kemampuan klien, sehingga server dapat memilih paket sandi yang akan digunakan oleh klien dan server untuk berkomunikasi. Ini merupakan hasil acak berbentuka angka yang disebut “klien acak”
  2. Tahap kedua, server akan merespon pesan yang telah diterima “Server Hello”. Dalam pesan ini, klien akan memberitahu parameter koneksi apa yang telah dipilih dari daftar yang telah disediakan dan akan mengembalikan ke klien secara acak yang disebut dengan “Server acak”. Pada tahap ini, ketika klien dan server tidak berbagi kemampuan yang sama, maka koneksi akan berakhir dan tidak berhasil.
  3. Tahap ketiga akan mengirimkan pesan sertifikat. Server akan mengirimkan rantai sertifikat SSL yang mencakup intermediate certificate ke klien, lalu mengirimkan otentikasi sertifikat SSL yang telah ditandatangani oleh CA. Setalh dilakukan otentikasi, klien akan memverifikasi bahwa sertifikat SSL yang digunakan sah. Setelah diterima, klien akan melakukan beberapa pemriksaan seperti pemeriksaan tanda tangan digital, memverifikasi rantai sertifikat, dan memeriksa kemungkinan masalah lain yang terjadi pada sertifikat seperti sertifikat telah kadaluarsa, domain yang salah dan lain sebagainya. Klien juga akan memastikan bahwa server memiliki private key sertifikat. Tahap ini dilakukan selama proses pertukaran antar kunci (private key and public key).
  4. Tahap keempat berupa opsional, tahap ini hanya diperlukan untuk metode pertukaran kunci tertentu (Diffie-Hellman) yang mengharuskan server menyediakan data tambahan.
  5. Tahap kelima, server akan mengirimkan pesan “Server Hello Done”. Tahap ini memberitahu klien bahwa server telah mengirim semua pesan.
  6. Tahap keenam, klien akan memberikan kontribusi saat proses menghasilkan kunci sesi. Spesifikasi tahap ini tergantung pada metode pertukaran kunci yang telah diputuskan dalam pesan “Hello” awal. Dalam contoh ini kita sedang melihat RSA, sehingga klien akan menghasilkan string byte acak yang disebut rahasia pra-master, kemudian mengenkripsinya dengan kunci publik server dan mengirimkannya.
  7. Tahap ketujuh, server akan mengirim pesan “Change Cipher Spec”. Hal tersebut membuat pihak lain tahu bahwa itu telah menghasilkan kunci sesi dan akan beralih ke komunikasi terenkripsi.
  8. Tahap kedelapan, akan dikirmkan pesan “selesai” dimana tahap ini menunjukkan bahwa proses handshake SSL telah selesai dari sisi klien. Dalam tahap ini transaksi antara klien dan server sudah terenkripsi dengan menggunakan kunci sesi dan aman.
  9. Tahap kesembilan, Server akan melakukan dekripsi rahasia pra master atau data klien dan menghitung kunci sesi. Kemudian ia mengirim pesan “Change Cipher Spec” untuk menunjukkan bahwa ia beralih ke komunikasi terenkripsi.
  10. Server akan mengirimkan pesan “selesai” menggunakan kunci sesi yang bersifat simetris, serta melakukan pemeriksaan jumlah untuk memverifikasi integritas proses Handshake SSL.

Setelah melewati kesepuluh langkah tersebut maka proses Handshake SSL selesai. Klien dan server masing-masing memiliki kunci sesi dan akan mulai berkomunikasi dengan koneksi terenkripsi dan terotentikasi.

Share this post