BAB 2 Pengantar VoIP Voice over Internet Protocol (VoIP) merupakan teknologi transmisi data untuk melakukan komunikasi suara melalui jaringan TCP/IP seperti Internet ataupun jaringan packet-switched lainnya [1]. Dikenal juga sebagai IP telephony, Internet Telephony, Broadband Telephony, ataupun Voice over BroadBand (VoBB), walau yang paling sering digunakan saat ini adalah Voice over IP (VoIP). Teknologi ini berbeda dengan telepon konvensional (PSTN) dimana data media percakapan ditransmisikan sebagai data digital. Layanan VoIP umumnya melibatkan sejumlah protokol, yang dapat dibagi ke dalam kelompok protokol pensinyalan dan protokol transport media. Beberapa standar protokol pensinyalan yang umum digunakan adalah H.323, Session Initiation Protocol (SIP), dan Skinny Client Control Protocol (SCCP). Sementara standar protokol transport media yang paling umum digunakan adalah Real-time Tranport Protocol (RTP). Diawal bab ini akan diberikan prinsip kerja dari VoIP. Selanjutnya akan dibahas protokol SIP, termasuk didalamnya adalah elemen-elemen jaringan, jenisjenis pesan protokol, serta gambaran umum operasi protokol SIP. Akan diberikan pula aspek-aspek keamanan dari protokol SIP serta mekanisme pengamanannya. Diakhir bab akan diberikan beberapa implementasi VoIP yang telah tersedia secara umum II-1
2.1 Prinsip Kerja VoIP Prinsip kerja VoIP secara umum ditampilkan pada Gambar 2.1. Gambar 2.1 Prinsip kerja panggilan VoIP Untuk dapat melakukan panggilan melalui VoIP dibutuhkan perangkat komunikasi yang telah mendukung teknologi VoIP. Perangkat-perangkat ini dapat berupa telepon IP, komputer PC, ataupun telepon konvensional dengan bantuan Analog Telephone Adapter (ATA). Contoh dari setiap jenis perangkat VoIP ini ditampilkan pada Gambar 2.1. Telepon IP adalah sebuah perangkat telepon yang khusus dirancang untuk layanan VoIP (a). Beberapa diantaranya bahkan telah dilengkapi dengan teknologi wireless sehingga dapat digunakan pada komunikasi (a) (b) (c) Gambar 2.2 Perangkat VoIP yang umum ditemukan; (a) telepon IP, (b)komputer PC, (c) analog telephone adapter (ATA) II-2
bergerak. Sementara panggilan melalui komputer PC membutuhkan sebuah perangkat lunak khusus yang disebut softphone (b). Beberapa perangkat lunak softphone yang tersedia dan cukup populer saat ini diantaranya adalah Skype, Ekiga, NetMeeting, dan Cisco Communicator. Terdapat sedikitnya dua peserta dalam sebuah panggilan VoIP, walaupun dapat pula terdiri dari banyak pelaku dalam kasus panggilan conference. Panggilan yang berlangsung berasal dari pemanggil (caller) melalui sebuah perangkat VoIP dan ditujukan kepada terpanggil (callee) melalui sebuah perangkat VoIP lainnya yang saling terhubung dalam sebuah jaringan IP. Setiap perangkat yang terdapat dalam jaringan VoIP ini disebut juga sebagai node. panggilan: Berikut adalah proses yang terjadi mulai dari pembentukan hingga penutupan 1. pemanggil memasukkan alamat (nomor) tujuan panggilan pada perangkat miliknya 2. perangkat VoIP milik pemanggil akan mencari dan menghubungi perangkat VoIP milik terpanggil melalui jaringan 3. perangkat VoIP milik terpanggil akan memberi tahu terpanggil bahwa ada panggilan masuk (biasanya dalam bentuk nada dering) 4. terpanggil menerima panggilan melalui perangkat miliknya 5. percakapan berlangsung diantara kedua pelaku II-3
6. salah satu dari dari pelaku panggilan dapat setiap saat menutup panggilan melalui perangkat miliknya 7. perangkat milik pelaku lainnya akan mengetahui panggilan telah ditutup dan memberi tahu pemiliknya bahwa panggilan telah ditutup. Alamat tujuan panggilan yang diberikan dapat berupa nomor telepon konvensional (contoh:555-12345678) atau berupa Uniform Resource Locator/Indicator (contoh:alice@example.net). Dalam menghubungi perangkat terpanggil, data informasi panggilan mungkin akan melalui sejumlah perangkat jaringan seperti hub/switch, router, atau proxy. Berbeda dengan sistem telepon konvensional, pada sistem VoIP media suara akan dikirimkan sebagai data digital. Perangkat VoIP akan menangkap gelombang suara (audio) dari pengguna melalui microphone sebagai sebuah sinyal analog. Sinyal analog ini kemudian akan dikonversi menjadi data digital dan dikirimkan melalui jaringan sebagai aliran data (data stream). Perangkat VoIP penerima selanjutnya akan mengkonversi aliran data ini kembali menjadi sinyal analog sebelum diregenerasi kembali menjadi gelombang suara (audio) menggunakan loudspeaker. Gelombang suara yang dihasilkan oleh loudspeaker dari perangkat penerima ini akan menyerupai gelombang suara yang diterima oleh microphone dari perangkat pengirim. II-4
2.2 Protokol SIP Protokol SIP (Session Initiation Protocol) merupakan standar protokol kontrol dan pensinyalan untuk memulai (inisiasi), memodifikasi, dan mengakhiri sesi multimedia dengan satu atau lebih peserta. Sesi multimedia yang dimaksud disini termasuk panggilan VoIP, distribusi multimedia, dan konferensi multimedia 1. Protokol SIP termasuk dalam protokol lapis aplikasi sehingga penerapannya tidak terikat pada protokol lapis transport tertentu. Protokol SIP pertama kali dikembangkan oleh Henning Schulzrinne dan Mark Handley pada tahun 1996 dibawah naungan IETF (Internet Engineering Task Force), dan spesifikasi terakhir protokol ini dapat diperoleh dari dokumen RFC 3261. Protokol SIP tidak dirancang sebagai sebuah sistem komunikasi yang terintegrasi secara vertikal, melainkan sebagai sebuah komponen protokol yang digunakan bersama dengan protokol-protokol lain untuk menyediakan layanan yang lengkap kepada pengguna. Inisiasi panggilan pada protokol SIP akan memuat deskripsi sesi, umumnya berupa pesan SDP (Session Description Protocol), yang memungkinkan peserta sesi untuk menyepakati sekumpulan tipe media yang sesuai. Sesi yang dibangun kemudian akan menerapkan protokol transfer media, umumnya menggunakan standar protokol RTP (Realtime Transport Protocol), untuk pengiriman data multimedia. Protokol SIP merupakan protokol yang bersifat transaksional, dimana interaksi antar komponen berlangsung dalam serangkaian pertukaran pesan yang 1 Penggunaan istilah multimedia dalam Tugas Akhir ini selanjutnya akan disingkat menjadi media II-5
independen. Setiap transaksi pada protokol SIP akan melibatkan satu pesan permintaan yang dikirimkan client kepada server, serta beberapa pesan balasan yang dikirimkan server kepada client sebagai tanggapan atas suatu permintaan. 2.2.1 Elemen-elemen Jaringan Terdapat sejumlah elemen jaringan yang dapat diimplementasikan protokol SIP, yaitu sebagai berikut : User Agent Network Server, terdiri dari : Proxy Server Redirect Server Registrar Server Susunan elemen-elemen jaringan tersebut dalam arsitektur jaringan ditampilkan pada Gambar 2.3. Gambar 2.3 Arsitektur jaringan yang mengimplementasikan protokol SIP II-6
User agent merupakan entitas logika yang dapat memulai sebuah permintaan (request) baru serta memberikan balasan (response) terhadap permintaan tertentu. Balasan yang diberikan dapat berupa penerimaan (accept), penolakan (reject), ataupun pengalihan (redirect) permintaan. Dalam sebuah transaksi SIP, user agent yang memulai permintaan (request) disebut juga sebagai user agent client, sedangkan user agent yang memberikan balasan (response) disebut juga sebagai user agent server. Selanjutnya penggunaan istilah user agent client akan disingkat menjadi UAC dan user agent server menjadi UAS. Proxy server merupakan entitas perantara (intermediary) yang bertindak baik sebagai server yang menerima request dari UAC maupun sebagai client dengan meneruskan request tersebut kepada UAS tujuan ataupun proxy server lainnya yang lebih dekat kepada UAS. Proxy server umumnya digunakan untuk perutean (routing) dan kebijakan keamanan [4]. Redirect server merupakan UAS khusus yang mengarahkan client kepada server yang dituju pada panggilan dalam domain yang berbeda [4]. Beberapa perulangan dapat terjadi sebelum client menemukan server tujuan akhir. Registrar server merupakan server khusus yang menerima pesan pendaftaran (REGISTER) dari user agent untuk didaftarkan pada domain tertentu. Informasi user agent kemudian akan disimpan pada suatu location service server menggunakan protokol non-sip. Dalam sebuah sistem SIP, biasanya registrar server dijalankan pada perangkat yang sama dengan proxy server. II-7
2.2.2 Gambaran Umum Operasi Protokol SIP Pertukaran informasi pada protokol SIP dilakukan melalui pertukaran pesan (message), yang dibedakan menjadi pesan permintaan (request message) dan pesan balasan (respons message). Request message merupakan pesan yang dikirimkan oleh client kepada server untuk menjalankan fungsi/operasi tertentu. Sedangkan response message merupakan pesan yang dikirimkan oleh server kepada client sebagai tanggapan atas request message yang diterima 2. Setiap operasi protokol SIP seperti inisiasi panggilan akan melibatkan sejumlah pesan SIP. Untuk membantu pemahaman mengenai proses pembentukan panggilan pada protokol SIP, pada Gambar 2.4 diberikan sebuah contoh kasus panggilan menggunakan protokol SIP secara langsung tanpa melalui proxy server. Dalam contoh kasus ini kita asumsikan Bob ingin menghubungi Alice. Gambar 2.4 Panggilan SIP langsung tanpa melalui proxy 2 Pembahasan lebih lanjut mengenai struktur pesan protokol SIP terdapat pada Lampiran A II-8
Inisiasi panggilan SIP akan diawali dengan pengiriman pesan request INVITE dari Bob kepada Alice. Pada pesan request ini juga ikut disertakan pesan protokol SDP yang mengandung parameter-parameter sesi media yang ditawarkan (offer). Ketika pesan request INVITE ini sampai, Alice akan membalas dengan mengirimkan pesan response Trying untuk menandakan bahwa pesan request telah diterima dan sedang diproses, serta pesan respons Ringing untuk mengindikasikan pengguna (Alice) telah diberitahu mengenai adanya panggilan, biasanya dengan memutar nada dering (ringtone). Apabila kemudian Alice memutuskan untuk menerima panggilan tersebut, sebuah pesan response OK akan dikirimkan kepada Bob untuk mengindikasikan panggilan telah diterima. Pada pesan response ini juga ikut disertakan pesan protokol SDP yang mengandung parameter-parameter sesi media jawaban (answer). Dua fase pertukaran pesan SDP ini (pertama pada pesan request INVITE dari Bob kepada Alice dan kedua pada pesan response OK dari Alice ke Bob) menghasilkan kemampuan negosiasi dasar pada protokol SIP yang berbasis pada model pertukaran pesan offer/answer dari protokol SDP. Setelah menerima pesan response OK, selanjutnya Bob akan mengkonfirmasi penerimaan panggilan dengan mengirimkan pesan ACK, sekaligus membuka sesi media menggunakan parameter sesi yang telah disepakati. Sesi media sendiri akan berlangsung menggunakan protokol RTP. Untuk mengakhiri sambungan, salah satu pengguna (dalam contoh ini Alice) dapat mengirimkan pesan request BYE, yang akan dijawab oleh pengguna lain II-9
(dalam contoh ini Bob) dengan mengirimkan pesan response OK. Berbeda dengan inisiasi panggilan, penutupan panggilan tidak membutuhkan pengiriman pesan konfirmasi ACK. 2.2.3 Aspek Keamanan Protokol SIP Protokol SIP yang berbasis teks rentan terhadap serangan dan gangguan, terutama ketika menggunakan media jaringan yang digunakan bersama seperti Internet [3]. Untuk itu dibutuhkan solusi-solusi keamanan yang dapat diterapkan pada protokol SIP tanpa mengurangi fungsinya sebagai protokol kontrol dan pensinyalan dalam lingkungan penggunaan yang luas. Bagian ini akan diawali dengan pengenalan beberapa model serangan dan gangguan yang umum terjadi pada protokol SIP. Berdasarkan model-model serangan tersebut akan dirumuskan sejumlah layanan keamanan yang dibutuhkan oleh protokol SIP, dan selanjutnya akan diberikan sejumlah mekanisme proteksi yang dapat diterapkan sebagai solusi atas kebutuhan tersebut. 2.2.3.1 Model Serangan dan Gangguan Terdapat berbagai model serangan dan gangguan yang umum terjadi pada protokol SIP, beberapa diantaranya ditampilkan pada Gambar 2.5. Pada model serangan pertama sebagaimana diilustasikan pada Gambar 2.5 (a), penyerang mencoba mencuri informasi yang dikirimkan oleh pengguna ketika akan mendaftar pada sebuah registrar server. Penyerang kemudian dapat menggunakan informasi ini II-10
(a) (b) (c) (d) Gambar 2.5 Model-model serangan terhadap protokol SIP II-11
untuk mendaftarkan dirinya sendiri dan mengalihkan seluruh trafik yang menuju pengguna sebenarnya. Model serangan ini dikenal sebagai Registration Hijacking. Sementara pada Gambar 2.5 (b), penyerang mencoba melakukan modifikasi terhadap sesi yang sedang berlangsung dengan mengirimkan sebuah pesan palsu. Sebagai contoh, penyerang dapat mengirimkan pesan BYE untuk memutuskan sesi, atau mengirimkan pesan re-invite untuk memodifikasi deskripsi sesi sehingga dapat mengalihkan aliran data media menuju suatu titik tertentu. Model serangan ini dikenal sebagai Tearing Down Sessions. Pada model serangan lainnya penyerang dapat pula bertindak seakan-akan sebagai server dan mengirimkan pesan respons tertentu kepada pengguna. Melalui pesan respons ini penyerang dapat mengalihkan pengguna menuju sumber daya yang tidak aman, atau setidaknya menggagalkan request yang dikirim oleh pengguna. Model serangan ini dikenal sebagai Impersonating a Server, dan diilustrasikan pada Gambar 2.6 (c) Model serangan lain yang juga umum adalah dengan memodifikasi isi pesan SIP yang dikirimkan pengguna. Sebagai contoh, dalam beberapa kasus kunci enkripsi untuk sesi media ditampung pada badan pesan SIP. Dengan mengubah parameter kunci ini penyerang akan mampu mendekripsi sesi media yang berlangsung. Penyerang juga mungkin ingin mengubah pesan SDP pada badan pesan SIP untuk mengalihkan sesi. Jenis serangan ini. Model serangan ini dikenal sebagai Tampering the Message Bodies, dan diilustrasikan pada gambar 2.5 (d) II-12
2.2.3.2 Mekanisme Proteksi Protokol SIP Berdasarkan model-model serangan yang telah dijelaskan pada bagian sebelumnya, dapat dirumuskan layanan keamanan dasar yang dibutuhkan oleh protokol SIP, yaitu sebagai berikut : 1. Kerahasiaan (confidentiality) dan integritas (integrity) pesan 2. Otentikasi (authentication) peserta sesi Layanan kerahasiaan (confidentiality) akan menjamin pesan yang dikirimkan tidak dapat dibaca oleh pihak yang tidak berhak. Layanan integritas (integritas) akan menjamin pesan yang diterima tidak diubah oleh pihak yang tidak berhak dalam perjalanannya dari pengirim hingga ke penerima. Sementara layanan otentikasi (authentication) akan menjamin keaslian identitas pelaku komunikasi. Terdapat beberapa mekanisme yang umum digunakan untuk menyediakan layanan keamanan pada protokol SIP, beberapa diantaranya adalah menggunakan IPSec, TLS, HTTP authentication, serta S/MIME [1]. IPSec adalah set protokol lapis Network yang aman dan dapat digunakan secara kolektif oleh seluruh pengguna sebagai pengganti protokol IP tradisional yang tidak aman. Proteksi IPSec banyak digunakan pada arsitektur jaringan VoIP dimana seluruh host dan domain administratif telah memiliki hubungan kepercayaan satu sama lainnya. IPSec umumnya diimplementasikan pada level sistem operasi dari setiap host, sehingga tidak memiliki hubungan secara langsung dengan aplikasi SIP. Pembahasan mengenai proteksi dengan IPSec berada diluar cakupan Tugas Akhir ini. II-13
Mekanisme proteksi menggunakan TLS bekerja pada lapis Transport dari struktur jaringan TCP/IP, menggunakan dasar protokol connection-oriented seperti TCP. Proteksi TLS cocok digunakan pada arsitektur jaringan VoIP dimana dibutuhkan kemanan hop-by-hop antara kedua peserta (host) yang tidak memiliki hubungan kepercayaan satu sama lain secara langsung, tetapi memiliki hubungan kepercayaan pada setiap hop. Gambar 2.6 menampilkan contoh arsitektur jaringan VoIP dengan hubungan kepercayaan hop-by-hop. Gambar 2.6 Arsitektur jaringan dengan hubungan kepercayaan hop-by-hop Dalam contoh ini, Alice mungkin tidak percaya kepada Bob, demikian pula sebaliknya. Tetapi Alice mungkin percaya kepada proxy server medan.net, yang juga percaya kepada proxy server jakarta.net, yang dipercaya oleh Bob. Dengan rangkaian kepercayaan tersebut, Alice dan Bob dapat melakukan komunikasi secara aman walaupun mereka tidak memiliki hubungan kepercayaan sebelumnya. Penjelasan lengkap mengenai protokol keamanan TLS dan proteksi protokol SIP menggunakan TLS akan diberikan pada bab-bab selanjutnya dari Tugas Akhir ini. II-14
2.3 Implementasi VoIP Saat ini teknologi VoIP terutama banyak digunakan pada perusahaanperusahaan sebagai pengganti sistem PABX yang telah kuno. Namun pada segmen konsumen perseorangan juga telah muncul beberapa penyedia layanan telekomunikasi yang secara penuh menggunakan teknologi VoIP. Contoh paling menonjol dalam hal ini adalah Skype. Perusahaan penyedia layanan telepon Internet yang didirikan pada 2003 ini hingga kuartal ketiga 2009 lalu tercatat memiliki sedikitnya 521 juta pengguna dari seluruh penjuru dunia [3]. Tingkat perkembangan dan penetrasi layanan VoIP yang cepat tentu tidak terlepas dari kelebihan-kelebihan yang dimilikinya yang tidak terdapat pada sistem telepon tradisional berbasis PSTN. Beberapa diantara kelebihan tersebut adalah biaya yang relatif lebih murah karena dapat menggunakan jaringan data yang telah tersedia, bersama dengan layanan-layanan lainnya seperti internet dan video. Penggunaan jaringan bersama ini juga mengurangi biaya serta kerumitan perawatan dan perbaikan karena dapat secara signifikan mengurangi jumlah jaringan yang harus dibangun. Selain itu teknologi VoIP juga lebih fleksibel untuk dikembangkan karena dapat diintegrasikan dengan layanan-layanan berbasis jaringan Internet lainnya [4]. II-15
Table of Contents PENGANTAR VOIP...1 2.1 Prinsip Kerja VoIP...2 2.2Protokol SIP...5 2.2.1Elemen-elemen Jaringan...6 2.2.2Gambaran Umum Operasi Protokol SIP...8 2.2.3Aspek Keamanan Protokol SIP...10 2.2.3.1Model Serangan dan Gangguan...10 2.2.3.2Mekanisme Proteksi Protokol SIP...13 2.3Implementasi VoIP...15 II-16