Protocol SSL Record Protocol SSL Handshake

dapat meyakinkan pihak pihak yang berkomunikasi bahwa lawan bicara mereka dapat dipercaya melalui penggunaan sertifikat digital. SSL memberikan tiga keamanan diantaranya : 1. Menjadikan saluran kanal sebagai saluran private. Enkripsi digunakan terhadap seluruh data setelah handshaking protokol pembuka sebelum terjadi pertukaran data. Jadi, data data yang dikirim melalui internet ke tempat tujuan akan terjamin keamanannya. 2. karnel diotentikasi, server selalu diotentikasi dan klien diotentikasi untuk menjaga keamanan data yang akan dikirimkan melalui jaringan. 3. kernel yang andal, dimana setiap data yang disadap dan dimodifikasi saat data dikirim oleh pihak yang tidak bertanggung jawab dapat diketahui oleh pihak yang sedang berkirim data dengan menggunakan message integrity check.

2.5.1 Protocol SSL Record

Digunakan untuk membungkus data yang dikirim dan diterima setelah protokol handshake digunakan untuk membangun parameter keamanan waktu terjadi pertukaran data. Protokol SSL record membagi data yang ada kebentuk blok blok dan melakukan kompresi dengan cara ceksum MAC. Gambar 2.20 Format SSL Record

2.5.2 Protocol SSL Handshake

Berfungsi membangun parameter keamanan sebelum terjadinya pertukaran data antara dua sistem. Berikut tipe tipe pesan yang dikirimkan antara klien dan server : Gambar 2.21 Handshake Protocol Sumber : http:www.cisco.comwebaboutac123ac147archived_issuesipj_1- 1ssl.html 1. Client Hello Message Untuk memulai komunikasi antara klien dan server, sisi klien terlebih dahulu harus mengirimkan pesan client hello ke server. Isi dari pesan ini akan memberitahukan versi, nilai acak, ID sesi, cipher yang didukung dan metode kompresi data yang dapat digunakandiproses oleh klien. Sebuah pesan client hello berisikan informasi berikut: a. Client_version. Bagian ini menginformasikan versi SSL paling tinggi yang dapat dimengerti oleh klien. b. Random. Bagian ini berisi rangkaiankombinasi acak yang dihasilkan oleh klien, dimana kombinasi ini nantinya akan digunakan untuk proses komputasi kriptografi pada protokol SSL. Keseluruhan 32- byte struktur bagian ini sebenarnya tidak sepenuhnya acak. Melainkan, 4-byte diambil dari informasi tanggalwaktu yang berguna untuk menghindari replay attacks. c. Session_id. Bagian ini berisikan identifier suatu sesi SSL. Bagian ini seharusnya tidak memiliki nilai atau kosong apabila klien ingin menghasilkan parameter keamanan yang baru. Apabila terdapat identifier suatu sesi, maka nilai dari bagian ini seharusnya berisi informasi dari sesi sebelumnya. d. Cipher_suites. Bagian ini berisi daftar kombinasi algoritma kriptografi yang didukung oleh klien. Hal ini memberikan kemudahan pada sisi klien, tetapi sisi server tetap menjadi penentu akan algoritma kriptografi yang akan digunakan. Apabila server tidak menemukan suatu pilihan dari daftar kombinasi yang diberikan oleh klien, maka server akan memberikan respons berupa pesan handshake failure alert dan kemudian mengakhiri koneksi tersebut. e. Compression_methods. Sama seperti bagian cipher_suites, bagian ini berisikan daftar kombinasi metode kompresi yang didukung oleh klien. Daftar ini disusun menurut kebutuhankonfigurasi dari klien, tetapi sisi server yang akan memutuskan metode kompresi yang akan digunakan. Bagian jarang digunakan pada SSLv3 dan merupakan fitur pengembangan untuk TLSv1. 2. Server Hello Message Setelah server menerima dan memroses pesan client hello, maka server memiliki dua pilihan pesan yang dapat dikirim ke klien, yaitu pesan handshake failure alert dan server hello. Isi dari pesan server hello kurang lebih sama dengan pesan client hello. Perbedaannya adalah pada pesan client hello berisikan daftar dukungan protokol pada sisi klien, sedangkan pesan server hello memutuskanmemberitahukan protokol yang akan digunakan kepada klien. Adapun isi dari pesan server hello, yaitu: a. Server_version. Bagian ini berisi versi protokol yang dipilih oleh server, dimana versi ini akan digunakan seterusnya untuk komunikasi dengan klien. Server memutuskan hal ini berdasarkan dukungan tertinggi pada kedua pihak. Sebagai contoh, apabila klien mendukung hingga versi SSLv3 dan server mendukung hingga versi TLSv1, maka server akan memilih SSLv3. b. Random. Bagian ini sama seperti yang terdapat pada sisi klien, yang berfungsi untuk proses komputasi kriptografi pada SSL. Nilai dari bagian ini harus bersifat independen dan berbeda dari apa yang dihasilkan pada sisi klien. c. Session_id. Bagian ini menyediakan informasi pengenalidentitas dari sesi yang sedang berjalan. Jika nilai dari session identifier adalah tidak kosong, maka server akan memeriksa dan mencocokan dengan yang terdapat pada session cache. Jika ditemukan nilai yang sama, maka server dapat membentuk sebuah koneksi baru dan melanjutkan status dari sesi yang dimaksud. d. Cipher_suite. Bagian ini mengindikasikan sebuah cipher suite yang dipilih oleh server berdasarkan daftar yang diberikan oleh klien. e. Compression_method. Sama seperti bagian cipher suite, bagian ini mengindikasikan sebuah metode kompresi yang dipilih oleh server berdasarkan daftar dukungan yang diberikan oleh klien 3. Server Certivicate Message Bersamaan dengan pengiriman pesan server hello, server juga mengirimkan sertifikat untuk proses otentikasi. Jenis sertifikat yang umum digunakan adalah x.509v3. sertfikat ini juga digunakan sebagai peertukaran kunci. Algoritma enkripsi yang digunakan berasal dari pemilihan cipher dari client. Nantinya pesan ini yang akan digunakan sebagai public key oleh client saat untuk mengencrypt pesan ke server. 4. Server Key Exchange Pesan ini berisi efek dari pendistribusian kunci server dan algoritma enkripsi yang akan digunakan antara server dan client. 5. Certificate Request Message Pesan ini bertujuan untuk meminta sertifikat dari pihak client. Pengiriman pesan ini menandakan dua indicator : 1. mengindikasikan tipe algoritma yang digunakan pada sertifikat. 2. sertifikat yang diterima adalah sertifikat yang telah diakui oleh Certivicate Authority CA. 6. Server Hello Done Message Pesan ini menandakan bahwa pesan server hello telah dikirim ke pihak client. Dan server menunggu respon dari client 7. Client Certificate Message Pesan ini adalah pesan pertama yang dikirimkan oleh client setelah server hello done message diterima client. Dalam pesan ini client mengirimakn sertifikat client ke server. Jika client tidak dapat mengirimkan sertifikat yang diminta server makan server akan memutuskan komunikasi dengan client. 8. Client Key Exchange Pesan ini membawa kunci untuk server. Tipe algoritma kunci yang digunakan dapat berupa RSA, atau yang lainnya. 9. Certificate Verify Message Pesan ini dikirimkan oleh client bertujuan agar server dapat melakukan verifikasi sertifikat client. 10. Finished Message Pada fase selanjutnya client mengirimkan pesan yang berisi perubahan spesifikasi cipher dibarengi dengan pengiriman pesan finished message. Apabila server menerima pesan finished message dari client. Server mengirimkan change cipher spec message dan mengirimkan finished message. Pada fase ini handshake protocol telah sempurna dan jalur ini selanjutnya dapat digunakan untuk transfer pesan atau data secara aman. Steve Burnett at all, 2004.

2.5.3 Protocol SSL Alert