TUGAS AKHIR
Implementasi Protokol Keamanan TLS pada Aplikasi Layanan Komunikasi Suara Melalui Jaringan TCP/IP (VoIP)
Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro
Oleh RICKY HARIADY NIM : 05 0402 070
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2011
Universitas Sumatera Utara
Implementasi Protokol Keamanan TLS pada Aplikasi Layanan Komunikasi Suara Melalui Jaringan TCP/IP (VoIP)
Oleh : Ricky Hariady 05 0402 070 Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar Sarjana Teknik Elektro
Disetujui oleh : Dosen Pembimbing,
Ir. Pernantin Tarigan M.Sc NIP: 19480816 197304 1 001
Diketahui oleh : Ketua Departemen Teknik Elektro FT USU,
Ir. Surya Tarmizi Kasim, M.Si NIP:19540531 19860110 02 DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2011
Universitas Sumatera Utara
ABSTRAK Saat ini layanan komunikasi suara melalui jaringan TCP/IP atau yang lebih dikenal dengan VoIP (Voice over IP) telah semakin banyak digunakan, namun teknologi VoIP yang ada saat ini masih rentan terhadap penyadapan ataupun pencurian data. Sementara protokol kriptografi TLS (Transport Layer Security) telah teruji dan banyak digunakan untuk mengamankan komunikasi melalui internet seperti pada layanan email dan web. Dengan mengimplementasikan protokol TLS pada sebuah aplikasi VoIP diharapkan dapat mengatasi masalah keamanan pada layanan VoIP yang ada saat ini sehingga dapat mencegah upaya penyadapan ataupun pencurian data oleh pihak-pihak yang tidak berhak.
i
Universitas Sumatera Utara
KATA PENGANTAR Segala puji syukur penulis haturkan kehadirat Allah S.W.T yang telah memberikan kemampuan dan ketabahan dalam menghadapi segala cobaan, halangan, dan rintangan dalam menyelesaikan Tugas Akhir ini, serta shalawat beriring salam penulis hadiahkan kepada junjungan Nabi Muhammad S.A.W. Tugas Akhir ini penulis persembahkan kepada yaitu ayahanda Herman dan ibunda Sri Weni, serta abang Yuda dan adik-adik Gegem dan Rani yang merupakan bagian dari hidup penulis yang senantiasa mendukung dan mendoakan dari sejak penulis lahir hingga sekarang. Serta tak lupa kepada yang teristimewa Risa Riani yang telah begitu banyak memberi dorongan dan motivasi sehingga penulis dapat menyelesaikan Tugas Akhir ini. Selama penulis menjalani pendidikan di kampus hingga diselesaikannya Tugas Akhir ini, penulis banyak menerima bantuan, bimbingan, dan dukungan dari berbagai pihak. Untuk itu dalam kesempatan ini penulis ingin mengucapkan terima kasih kepada: 1.
Bapak Ir. Pernantin Tarigan, M.Sc selaku dosen Pembimbing Tugas Akhir, atas nasehat, bimbingan, dan motivasi dalam menyelesaikan Tugas Akhir ini.
2.
Bapak Ir. Ahri Bariun, M.Sc selaku Penasehat Akademis penulis, atas bimbingan dan arahannya dalam menyelesaikan perkuliahan selama ini.
ii
Universitas Sumatera Utara
3.
Bapak Ir. Surya Tarmizi Kasim, M.Si dan Bapak Rachmad Fauzi ST, MT selaku Ketua dan Sekretaris Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
4.
Seluruh staf pengajar yang telah memberi bekal ilmu kepada penulis dan seluruh pegawai Departemen Teknik Elektro, Fakultas Teknik, Universitas Sumatera Utara atas segala bantuannya.
5.
Seluruh keluarga di Medan : Mamak, kak Nana, bang Roni, bang Andi, Kak Wiwid, kak Isup, Aji, Imam, dan Tia.
6.
Sahabat-sahabat terbaik di Elektro: Muti, Taci, Nisa, Apri, Yona, Ami, Dewi, Diana, Chici, Lutfi, Dedi.M, Gie, Rudi, Sujek, Suib, Arie, Putra, Kira, Prindi, Harpen, Megi, Irpan, dan seluruh Gemboenx 2005, semoga silaturahmi kita terus terjaga.
7.
Semua pihak yang tidak sempat penulis sebutkan satu per satu. Penulis menyadari bahwa Tugas Akhir ini masih banyak kekurangan baik
dari segi materi maupun penyajiannya. Oleh karena itu saran dan kritik dengan tujuan menyempurnakan dan mengembangkan kajian dalam bidang ini sangat penulis harapkan. Akhir kata penulis berserah diri pada Allah SWT, semoga Tugas Akhir ini bermanfaat bagi pembaca sekalian terutama bagi penulis sendiri. Medan, Mei 2011 Penulis
iii
Universitas Sumatera Utara
Daftar Isi ABSTRAK................................................................................................................i KATA PENGANTAR...............................................................................................ii DAFTAR ISI...........................................................................................................iv BAB 1 PENDAHULUAN.......................................................................................1 1.1 Latar Belakang...............................................................................................1 1.2 Tujuan Tugas Akhir.......................................................................................2 1.3 Rumusan Masalah.........................................................................................2 1.4 Batasan Masalah............................................................................................2 1.5 Metodologi Penelitian...................................................................................3 1.6 Sistematika Penulisan Tugas Akhir...............................................................3 BAB 2 PENGANTAR VOIP...................................................................................4 2.1 Prinsip Kerja VoIP.........................................................................................5 2.2 Protokol SIP...................................................................................................8 2.2.1 Elemen-elemen Jaringan..........................................................................9 2.2.2 Gambaran Umum Operasi Protokol SIP................................................11 2.2.3 Aspek Keamanan Protokol SIP.............................................................13 2.2.3.1 Model Serangan dan Gangguan......................................................13 2.2.3.2 Mekanisme Proteksi Protokol SIP..................................................16 2.3 Implementasi VoIP.......................................................................................18 BAB 3 PUSTAKA OPAL......................................................................................19 3.1 Gambaran Umum Pustaka OPAL................................................................20 3.2 Model Pengembangan Aplikasi Softphone Menggunakan OPAL...............21 BAB 4 PROTOKOL TLS.....................................................................................27 4.1 Gambaran Umum Operasi Protokol TLS.....................................................29 4.2 Arsitektur Protokol TLS...............................................................................35 4.2.1 Protokol TLS Handshake.......................................................................35 4.2.2 Protokol TLS ChangeCipherSpec.........................................................37 4.2.3 Protokol TLS Alert................................................................................37 4.2.4 Protokol Data Aplikasi..........................................................................39 4.2.5 Protokol TLS Record.............................................................................39 4.3 Otentikasi Identitas Server...........................................................................45 4.4 Implementasi Protokol TLS menggunakan OpenSSL.................................47 4.4.1 Menggunakan pustaka OpenSSL pada Aplikasi....................................48 4.4.2 Pembuatan Sertifikat Digital menggunakan OpenSSL..........................49
BAB 5 Implementasi Protokol Keamanan TLS pada Pustaka OPAL ..........................53 5.1 Model Implementasi.....................................................................................54 iv
Universitas Sumatera Utara
5.2 Perancangan TLS Channel...........................................................................57 5.2.1 Konstruktor TLSChannel.......................................................................59 5.2.2 Destruktor ~TLSChannel.......................................................................61 5.2.3 Metode Connect.....................................................................................61 5.2.4 Metode Read..........................................................................................64 5.2.5 Metode Write..........................................................................................64 5.2.6 Metode Close..........................................................................................65 5.3 Perancangan TLS transport..........................................................................65 5.3.1 Metode Connect.....................................................................................66 5.3.2 Metode OnOpen.....................................................................................67 5.3.3 Metode isCompatibleTransport.............................................................68 5.3.4 Metode GetProtoPrefix..........................................................................68 5.4 Memperkenalkan OpalTransportTLS kepada OPAL...................................68 BAB 6 Pengujian ..................................................................................................70 6.1 Pengujian Tanpa Implementasi TLS............................................................71 6.1.1 Analisis Pengujian Tanpa Implementasi TLS.........................................73 6.2 Pengujian Dengan Implementasi TLS..........................................................78 6.2.1 Konstruktor TLSChannel.......................................................................79 BAB 7 KESIMPULAN DAN SARAN.................................................................83 6.1 Kesimpulan..................................................................................................83 6.2 Saran.............................................................................................................84 DAFTAR PUSTAKA.............................................................................................85 LAMPIRAN A Struktur Pesan Protokol SIP.........................................................87 LAMPIRAN B Struktur Kelas Pustaka OPAL......................................................94 LAMPIRAN C Metode Pertukaran Kunci Protokol TLS....................................100 LAMPIRAN D Mekanisme Perhitungan Kunci Protokol TLS...........................104 LAMPIRAN E Menggunakan OpenSSLAPI.......................................................108 LAMPIRAN F Referensi Kelas PindirectChannel dari Pustaka PTLIB..............113 LAMPIRAN G Referensi Kelas OpalTransport dari Pustaka OPAL...................120 LAMPIRAN H Listing Kode Sumber Program...................................................127
v
Universitas Sumatera Utara
BAB 1
Pendahuluan 1.1
Latar Belakang Saat ini layanan komunikasi suara melalui jaringan TCP/IP atau yang lebih
dikenal dengan VoIP (Voice over IP) telah semakin banyak digunakan. Hal ini tidak terlepas dari kelebihan-kelebihan teknologi VoIP yang relatif lebih murah serta memiliki fleksibilitas yang tinggi. Namun di samping kelebihan tersebut masih terdapat beberapa kekurangan, terutama dalam aspek keamanan dimana teknologi VoIP yang ada saat ini masih rentan terhadap penyadapan ataupun pencurian data. TLS (Transport Layer Security) merupakan protokol kriptografi yang telah teruji dan banyak digunakan untuk mengamankan komunikasi melalui internet seperti pada layanan email dan web. Dengan mengimplementasikan protokol TLS pada sebuah aplikasi VoIP diharapkan dapat mengatasi masalah keamanan pada layanan VoIP yang ada saat ini sehingga dapat mencegah upaya penyadapan ataupun pencurian data oleh pihak-pihak yang tidak berhak. Pembahasan implementasi ini dibuat menjadi tugas akhir yang diberi judul “Implementasi Protokol Keamanan TLS Pada Aplikasi Layanan Komunikasi Suara Melalui Jaringan TCP/IP (VoIP)”.
I-1
Universitas Sumatera Utara
1.2
Maksud & Tujuan Tugas Akhir Tugas akhir ini bertujuan mengimplementasi protokol kemanan TLS pada
pustaka pemrograman OPAL, sehingga dapat digunakan untuk membangun aplikasi VoIP yang aman dan dapat digunakan secara umum. 1.3
Rumusan Masalah Tugas akhir ini akan membahas bagaimana mengimplementasikan protokol
keamanan TLS pada pustaka pemrograman OPAL. Implementasi protokol TLS sendiri dilakukan menggunakan pustaka OpenSSL. Implementasi TLS akan disisipkan pada jalur pengiriman data dari pustaka OPAL ke jaringan. Sebagai pengantaraan dengan implementasi ini, akan dilakukan beberapa perubahan ke dalam pustaka OPAL. Untuk dapat bekerja, protokol TLS membutuhkan sertifikat digital untuk otentikasi pelaku. Sertifikat ini akan dibuat menggunakan tool yang telah tersedia pada pustaka OPAL. 1.4
Batasan Masalah Agar pembahasan pada Tugas Akhir ini tidak meluas maka perlu ditetapkan
pembatasan masalah antara lain sebagai berikut : • Protokol VoIP hanya akan dibahas seperlunya, dan terbatas pada protokol SIP. • Pustaka OPAL tidak akan dibahas secara mendalam, terbatas pada penggunannya dan model pengiriman data-data pesan ke jaringan.
I-2
Universitas Sumatera Utara
• Pustaka OpenSSL tidak dibahas secara mendalam, terbatas pada penggunaanya untuk mengamankan pengiriman data pada aplikasi. 1.5
Metodologi Penelitian Dalam tugas akhir akan digunakan metode-metode sebagai berikut : •
Implementasi dilakukan dengan menyisipkan protokol TLS pada jalur pengiriman data pustaka OPAL.
•
Implementasi ini akan diperkenalkan kepada OPAL dengan menggunakan sejumlah pengantaraan dan perubahan pada pustaka OPAL.
•
Sertifikat
digital
menggunakan
format
X.509
dihasilkan
menggunakan tool yang telah disediakan pustaka OpenSSL. 1.6
Sistematika Penulisan Tugas Akhir Penulisan tugas akhir ini akan dibagi menjadi 6 bab. Pada Bab I akan
diberikan latar belakang, maksud dan tujuan penelitian, perumusan masalah, penetapan batasan, metode-metode yang akan digunakan, serta hasil yang diperoleh setelah penelitian. Kemudian pada bab II akan dibahas dasar-dasar teori mengenai teknologi VoIP beserta protokol SIP. Penjelasan mengenai protokol keamanan TLS beserta pustaka OpenSSL akan diberikan pada Bab 4. Pada Bab 5 akan dijelaskan mengenai implementasi protokol TLS menggunakan OpenSSL pada pustaka OPAL. Terakhir pada BAB 6 akan diberikan kesimpulan yang diperoleh setelah pelaksanaan penelitian, serta saran untuk penelitian-penelitian selanjutnya yang dapat dikembangkan dari tugas akhir ini. I-3
Universitas Sumatera Utara
Table of Contents PENDAHULUAN...............................................................1 1.1Latar Belakang.......................................................................1 1.2Maksud & Tujuan Tugas Akhir..................................................2 1.3Rumusan Masalah...................................................................2 1.4Batasan Masalah....................................................................2 1.5Metodologi Penelitian.............................................................3 1.6Sistematika Penulisan Tugas Akhir..........................................3
I-4
Universitas Sumatera Utara