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