SHARE
Mengenal SSL Dan TLS Sebagai Transport Layer
SUmber gambar: www.tls-o-matic.com

SSL (Secure Socket Layer) dan TLS (Transport Layer Security) merupakan protokol yang aman digunakan dalam proses komunikasi antara client-server karena ada proses enkripsi didalamnya jadi third-party tidak dapat menyadapnya.

Protokol SSL dan TLS berjalan pada layer dibawah application protocol seperti HTTP, SMTP, dan NTP dan diatas layer TCP transport protocol, yang juga merupakan bagian dari TCP/IP protocol. Protokol SSL dan TLS menggunakan kriptografi public-key dan sertifikat publik key digunakan untuk memastikan identitas dari pihak yang dimaksud.

SSL (Secure Socket Layer)

SSL menjadi sebuah komponen yang penting pada sistem yang aman. Mekanisme otentikasi dasar seperti kredensial login tidak akan dikirimkan secara plainteks lagi apabila menggunakan SSL. Adapun tujuan utama menggunakan SSL adalah sebagai berikut:

  • Authentication – Memastikan bahwa pesan yang diterima dari sumber yang terpercaya
  • Confidentiality – Adanya enkripsi pada pesan/data yang dikirimkan melalui jaringan
  • Integrity – Melakukan integrity checking untuk memastikan data/pesan yang diterima tidak mengalami perubahan

Proses kerja SSL melalui 4 layer protokol, yaitu Record Layer Protocol, Change Cipher Spec Protocol, Alert Protocol, dan Handshake Protocol. Dari keempat protokol inilah yang mengekapsulasi komunikasi antara client-server sehingga terjalin koneksi yang aman.

Record Layer Protocol – layer ini berfungsi melakukan format pada header pesan yang dikirim terhadap layer lainnya, yaitu Alert, ChangeCipherSpec, Handshake, dan Application Protocol Message. Header ini berisi Protocol Definition (1 byte), Protocol Version (2 bytes), dan Length (2 bytes).

ChangeCipherSpec Protocol – pada layer ini hanya berisi pesan yang memeberi sinyal untuk sebuah awalan dari secure communication antara client dan server. Meskipun protokol ini menggunakan format pada record layer, panjang pesan dari ChangeCipherSpec Protocol ini hanya 1 bytes dan perubahan sinyal pada protokol komunikasi memiliki nilai 1.

Alert Protocol – protokol ini bertugas mengirimkan error atau masalah terkait konekrsi antara client dan server. Layer ini terdiri dari 2 bagian, yaitu severity level dan alert description. Severity level mengirimkan pesan dengan nila “1” (tanda agar client dan server memutuskan session dan membangun koneksi lagi menggunkan handshake), dan pesan dengan niai “2” (adanya kesalahan alert (fatal alert) yang mengharuskan kedua sisi client-server harus memutuskan session). Dan alert description berfungsi untuk mendeskripsikan secara spesifik eror yang menyebabkan alert message muncul.

Handshake Protocol – terjadinya proses pengiriman pesan antara client dan server untuk membangun sebuah komunikasi yang aman (secure communication). Terdapat beberapa tahapan dalam proses handshake ini, seperti gambar berikukt ini:

SSL Handshake
Sumber gambar: http://www.rfwireless-world.com

TLS (Transport Layer Security)

TLS (Transport Layer Security) dirilis pada tahun 1999 dengan tujuan untuk menjadi protokol standar komunikasi yang aman. Protokol ini didesain agar komunikasi antara client dan server tidak dapat di sadap atau diketahui oleh orang lain (tampering, eavesdroping). Adapun tujuan dari dibuatnya TLS ini diantaranya:

  • Criptographic security
  • Interoperability
  • Extensibility
  • Relative Efficiency

Berbeda dengan alur kerja dari SSL diatas, TLS ini hanya menggunakan 2 protokol dalam proses kerjanya.

TLS Record Protocol – Tugas dari TLS Record Protocol ini adalah melakukan negoisasi koneksi antara client dan server. Meskipun protokol ini bisa digunakan tanpa menggunakan enkripsi namun protokol ini tetap menggunakan enkripsi dengan kunci kriptografi simetris untuk memastikan koneksi yang terjalin aman. Pengamanan koneksi ini menggunakan fungsi hash yaitu Message Authentication Code.

TLS Handshake Protocol – Protokol ini akan mengijinkan adanya komunikasi antara client dan server apabila sudah ter-otentikasi. Sebelum adanya pengiriman data ada proses untuk menyamakan algoritma enkripsi dan kunci yang digunakan. Cara kerja dari proses handshake pada TLS ini sama dengan yang terjadi pada SSL.

Identifikasi SSL/TLS Yang Digunakan Oleh Website

Agar lebih memahami lebih lanjut mengenai SSL/TLS, maka perlu dilakukan secara praktek agar dapat melihat prosesnya secara langsung. Untuk pertama adalah dengan membuka website yang sudah menggunakan SSL, disini sebagai contoh adalah https://datacomm.co.id. Pada sat membuka website tersebut kita memerlukan software yang digunakan untuk menangkap paket-paket yang dikirim dan diterima antara client dengan server. Berikut ini adalah hasil capture menggunakan wireshark:

Dari hasil capture diatas diketahui bahwa website tersebut sudah memakai TLSv1.2, yang menurut RFC 5246 versi ini mulai digunakan ada Agustus 2008 yang masih berbasiskan pada TLSv1.1 namun ada sedikit perbedaan dan penambahan.

Pada gambar tersebut terlihat client dengan IP Address 192.168.1.181 meminta informasi ke webserver 27.126.217.40. Dari proses paling atas ke bawah merupakan proses handshaking dari client ke server yang dikirim dari nomor 87 sampai 106. Untuk lebih jelasnya dapat dilihat dari gambar flow-graph dibawah ini:

Pada flow graph diatas dapat dilihat dengan jelas alur dari proses pengiriman data dari client ke server. Proses yang pertama adalah client mengirimkan pesan client Hello sampai terakhir dengan terbentuknya suatu handshaking antara client dengan server ditandai dari gambar diatas adalah terbentuknya session baru antara client dan server.

Referensi:

SSL | SSL dan TLS | SSL/TLS for Beginners | openssl | TLSv1.2

Tinggalkan komentar

Berikan komentar