BAB II LANDASAN TEORI 2.1
VoIP (Voice over Internet Protocol) VoIP
(Voice
over
Internet
Protocol)
menurut
Winarno
(2007)
didefinisikan sebagai suatu sistem yang menggunakan jaringan internet untuk mengirimkan paket data suara dari suatu tempat ke tempat lainnya menggunakan perantara protokol IP. VoIP mentransmisikan sinyal suara dengan mengubahnya ke dalam bentuk digital, dan dikelompokkan menjadi paket–paket data yang dikirim dengan menggunakan platform IP (Internet Protocol). 2.1.1 Sejarah VoIP Sejarah Perkembangan teknologi VoIP dimulai dari penemuan telepon pada tahun 1876 oleh Alexander Graham Bell. Kemudian dikembangkan lagi teknologi PSTN (Public Switched Telephone Network) yang sudah berkembang sampai sekarang. Beberapa tahun kemudian mulai berkembang teknologi yang baru, pembuatan PC (Personal Computer) secara massal, sistem komunikasi telepon selular dan yang terakhir sistem berdasarkan jaringan internet yang memberikan layanan e-mail, Chat dan lain-lain. Teknologi VoIP diperkenalkan setelah Internet mulai berkembang sekitar tahun 1995. Pada mulanya kemampuan mengirimkan suara melalui Internet hanya merupakan percobaan dari beberapa orang atau perusahaan kecil. Ini dimulai dengan perusahaan seperti Vocaltech dan kemudian pada akhirnya diikuti oleh Microsoft dengan program Netmeeting-nya. Pada saat itu jaringan komputer internet masih sangat lambat. Di rumah-rumah (khususnya di Amerika) masih menggunakan dial-up dengan kecepatan 36,6 Kbyte, Backbone Internet pun masih kecil. Aplikasi yang bersifat menghabiskan bandwidth, seperti misalnya suara atau video, masih sangat terbatas penggunaannya di pusat penelitian yang memiliki bandwidth besar. Untuk di Indonesia komunitas pengguna /pengembang VoIP di masyarakat berkembang di tahun 2000. Komunitas awal pengguna /pengembang VoIP adalah "VoIP Merdeka" yang dicetuskan oleh pakar Internet Indonesia, Onno W. Purbo Teknologi yang digunakan adalah H.323 yang merupakan teknologi awal VoIP.
5 http://digilib.mercubuana.ac.id/
6
Sentral VoIP Merdeka di hosting di IIX (Indonesia Internet Exchange) atas dukungan beberapa ISP dan Asossiasi Penyelenggara Jaringan Internet (APJII). Di tahun 2005, Anton Raharja dan tim dari ICT Center Jakarta mulai mengembangkan VoIP jenis baru berbasis Session Initiation Protocol (SIP). Teknologi SIP merupakan teknologi pengganti H.323 yang sulit menembus proxy server. Dan di tahun 2006, infrastruktur VoIP SIP di kenal sebagai VoIP Rakyat. (www.Voiprakyat.or.id) . 2.1.2 Konsep Dasar VoIP Teknologi dasar VoIP (Voice over Internet Protocol) adalah teknologi yang memungkinkan kemampuan melakukan percakapan telepon dengan menggunakan jalur kemunikasi data pada suatu jaringan, yang memungkinkan komunikasi suara menggunakan jaringan berbasis IP (Internet Protocol). Teknologi ini bekerja dengan merubah suara menjadi format digital tertentu yang dapat dikirimkan melalui jaringan IP, (Taufiq, 2008:8). 2.2
Protokol VoIP Protokol merupakan aturan-aturan yang berfungsi untuk menyelaraskan
hubungan komunikasi data di dalam jaringan komputer Ada beberapa protokol yang menjadi penunjang jaringan VoIP, antara lain : 2.2.1 Protokol TCP Dalam mentransmisikan data pada layer transport ada dua protokol yang berperan yaitu TCP dan UDP. TCP merupakan protokol yang connection-oriented yang artinya menjaga reliabilitas hubungan komunikadasi end-to-end. Konsep dasar cara kerja TCP adalah mengirim dan menerima segment–segment informasi dengan panjang data bervariasi pada suatu datagram Internet. TCP menjamin realibilitas hubungan komunikasi karena melakukan perbaikan terhadap data yang rusak, hilang atau kesalahan kirim. Hal ini dilakukan dengan memberikan nomor urut pada setiap oktet yang dikirimkan dan membutuhkan sinyal jawaban positif dari penerima berupa sinyal ACK (acknoledgment). Jika sinyal ACK ini tidak diterima pada interval pada waktu tertentu, maka data akan dikirimkan kembali. Pada sisi penerima, nomor urut tadi berguna untuk mencegah kesalahan urutan data dan duplikasi data. TCP juga memiliki mekanisme flow control dengan cara
http://digilib.mercubuana.ac.id/
7
mencantumkan informasi dalam sinyal ACK mengenai batas jumlah oktet data yang masih boleh ditransmisikan pada setiap segment yang diterima dengan sukses. Dalam hubungan VoIP, TCP digunakan pada saat signaling, TCP digunakan untuk menjamin setup suatu call pada sesi signaling. TCP tidak digunakan dalam pengiriman data suara pada VoIP karena pada suatu komunikasi data VoIP penanganan data yang mengalami keterlambatan lebih penting dari pada penanganan paket yang hilang. 2.2.2 User Datagram Protocol (UDP) UDP yang merupakan salah satu protokol utama diatas IP merupakan transport protokol yang lebih sederhana dibandingkan dengan TCP. UDP digunakan untuk situasi yang tidak mementingkan mekanisme reliabilitas. Header UDP hanya berisi empat field yaitu source port, destination port, length dan UDP checksum dimana fungsinya hampir sama dengan TCP, namun fasilitas checksum pada UDP bersifat opsional. UDP pada VoIP digunakan untuk mengirimkan audio stream yang dikrimkan secara terus menerus. UDP digunakan pada VoIP karena pada pengiriman audio streaming yang berlangsung terus menerus lebih mementingkan kecepatan pengiriman data agar tiba ditujuan tanpa memperhatikan adanya paket yang hilang walaupun mencapai 50% dari jumlah paket yang dikirimkan. Karena UDP mampu mengirimkan data streaming dengan cepat, maka dalam teknologi VoIP UDP merupakan salah satu protokol penting yang digunakan sebagai header pada pengiriman data selain RTP dan IP. Untuk mengurangi jumlah paket yang hilang saat pengiriman data (karena tidak terdapat mekanisme pengiriman ulang) maka pada teknolgi VoIP pengiriman data banyak dilakukan pada private network. 2.2.3 Internet Protocol (IP) Internet Protocol didesain untuk interkoneksi sistem komunikasi komputer pada jaringan packet-switched. Pada jaringan TCP/IP, sebuah komputer diidentifikasi dengan alamat IP. Tiap-tiap komputer memiliki alamat IP yang unik, masing-masing berbeda satu sama lainnya. Hal ini dilakukan untuk
http://digilib.mercubuana.ac.id/
8
mencegah kesalahan pada transfer data. Terakhir, protokol data akses berhubungan langsung dengan media fisik. Secara umum protokol ini bertugas untuk menangani pendeteksian kesalahan pada saat transfer data. Untuk komunikasi datanya, Internet Protokol mengimplementasikan dua fungsi dasar yaitu pengalamatan dan fragmentasi. Salah satu hal penting dalam IP dalam pengiriman informasi adalah metode pengalamatan pengirim dan penerima. Saat ini terdapat standar pengalamatan yang sudah digunakan yaitu IPv4 dengan alamat terdiri dari 32 bit. Jumlah alamat yang diciptakan dengan IPv4 diperkirakan tidak dapat mencukupi kebutuhan pengalamatan IP sehingga dalam beberapa tahun mendatang akan diimplementasikan sistim pengalamatan yang baru yaitu IPv6 yang menggunakan sistem pengalamatan 128 bit. 2.2.4 Real – time Transport Protocol (RTP) RTP merupakan protokol standar internet yang digunakan untuk transportasi data-data real-time seperti suara pada VoIP. RTP digunakan untuk mengirim paket waktu nyata (real-time), seperti audio dan video, melalui jaringan paket switch. Protokol ini digunakan oleh kedua protokol SIP dan H.323. protokol menyediakan informasi waktu kepada penerima sehingga dapat memberbaiki delay karena jitter. RTP juga memungkinkan penerima untuk mendeteksi paket yang hilang. Header dari RTP berisikan informasi yang membantu penerima agar dapat merekonstruksi ulang paket dan juga informasi mengenai bagaimana bit–bit dibagi menjadi paket oleh codec. RTP menyediakan informasi
yang cukup
kepada penerima sehingga dapat dipulihkan kembali bahkan jika terjadi kehilangan paket atau jitter.
http://digilib.mercubuana.ac.id/
9
Gambar 2.1 Susunan Protokol RTP
2.2.5 Real-time Control Protocol (RTCP) RTCP adalah suatu protokol kontrol yang bekerja berhubungan dengan RTP. Dalam sebuah sesi RTP, terminal akhir (endpoint) secara periodik mengirimkan paket RTCP untuk menyebarkan informasi yang bermanfaat mengenai QoS. Terminal akhir ini dapat mengetahui ukuran yang tepat untuk mengirimkan paket dengan lebih efisien melalui sesi RTP. Secara umum fungsi dari RTCP adalah untuk menyediakan feedback QoS, kontrol sesi, identifikasi user/ pengguna, dan sinkronisasi inter media, yaitu mensinkronkan antara audio dan video seperti mensinkronkan antara gerakan bibir pada video dengan suara yang keluar pada audio. 2.2.6 Real–Time Streaming Protocol (RTSP) IETF telah mendefinisikan RTSP sebagai protokol klien/server yang menyediakan kendali atas pengiriman aliran data waktu nyata (real-time). Fungsi dari RTSP diantara media server dan kliennya adalah membangun dan mengendalikan hubungan aliran data antara audio dan video. 2.2.7 Compressed RTP cRTP (Compressed Real Time Protocol) adalah varian dari RTP. Compressed RTP banyak menghilangkan paket header. Dengan menghilangkan overhead, paket menjadi lebih efisien. Sistem dengan cRTP dapat melakukan panggilan 2 kali lebih banyak di bandingkan standar RTP.
http://digilib.mercubuana.ac.id/
10
2.2.8 Session Initiation Protokol (SIP) SIP (Session Initiation Protocol) adalah protokol pada layer aplikasi yang mendefinisikan proses awal, pengubahan, dan pengakhiran (pemutusan) sesi multimedia yang melibatkan satu atau beberapa user. Sesi kamunikasi ini termasuk hubungan multimedia, distance learning, dan aplikasi lainnya, (Taufiq, 2005:16). SIP (RFC 2543) di ajukan pada tahun 1999. Pencipta standar ini adalah Henning Schulzrinne. SIP merupakan protokol layer aplikasi yang digunakan untuk manajemen pengaturan panggilan dan pemutusan panggilan. SIP digunakan bersamaan dengan protokol IETF lain seperti SAP,SDP,MGCP (MEGACO) untuk menyediakan layanan VoIP yang lebih luas. Arsitektur SIP mirip dengan arsitektur HTTP (protocol client/ server). Arsitekturnya terdiri dari request yang dikirim dari user SIP ke server SIP. Server itu memproses request yang masuk dan memberikan respon kepada klien. Request itu, bersama dengan komponen respon pesan yang lain membuat suatu komunikasi SIP. Arsitektur SIP terdiri dari dua buah komponen seperti yang tertera dibawah ini. A. User Agent SIP User Agent merupakan akhir dari sistem (terminal akhir) yang bertindak berdasarkan kehendak dari pemakai. Terdiri dari dua bagian yaitu: a.
UAC (User Agent Client) : bagian ini terdapat pada pemakai (client), yang digunakan untuk melakukan inisiasi request dari server SIP ke UAS
b.
UAS (User Agent Server) : bagian ini berfungsi untuk mendengar dan respon terhadap request SIP
B. SIP Server Arsietektur SIP sendiri menjelaskan jenis – jenis server pada jaringan untuk membantu layanan dan pengaturan panggilan SIP. a.
Registration Server : server ini menerima request registrasi dari user SIP dan melakukan update terhadap lokasi user dengan server ini.
http://digilib.mercubuana.ac.id/
11
b.
Proxy Server : server ini menerima request SIP dan meneruskan ke server yang dituju yang memiliki informasi tentang user yang dipanggil
c.
Redirect Server : server ini setelah menerima request SIP , menentukan
server
yang
dituju
selanjutnya
dan
mengembalikan alamat server yang dituju selanjutnya kepada kliem daripada meneruskan request ke server yang dituju tersebut. SIP menggabungkan beberapa macam protokol baik dari standar yang dikeluarkan oleh IETF maupun ITU–T 1.
SDP (Session Description Protocol) yang mendefinisikan suatu metode standar dalam menggambarkan karakteristik dari suatu sesi multimedia.
2.
SAP (Session Announcement Protocol) yang berjalan setiap periode waktu tertentu untuk mengumumkan parameter dari suatu sesi konferensi.
3.
RTP (Realtime Transport Protocol) dan RTCP (Realtime Transport Control Protocol) yang menyediakan informasi tentang manajemen transport dan session.
4.
Algoritma pengkodean. Yang direkomendasikan ITU-T seperti G.723.1, G.729, G728.
2.3
Codec (Coder Decoder) Codec bisa diartikan sebagai alat dengan seperangkat aturan yang
mengatur bagaimana sinyal suara analog diubah menjadi data digital. Alat yang dimaksudkan dapat diimplementasikan dalam bentuk hardware maupun software, dan aturan-aturan itu dapat berupa seperti, seberapa besar sinyal-sinyal suara analog itu di-buffer dalam sebuah frame, seberapa lama di-buffer, kemudian diproses dengan perhitungan matematis. Codec mempengaruhi kebutuhan bandwidth untuk VoIP, semakin kecil bit rate sinyal digital yang dihasilkan codec, maka semakin baik codec tersebut. Namun perhitungan matematis yang dilakukannya menjadi semakin rumit dan ini mempengaruhi kualitas suara setelah di-decode. Kualitas suara biasanya dihitung
http://digilib.mercubuana.ac.id/
12
dengan metode Most Opinion Score (MOS). Metode ini memberi nilai rata-rata kualitas suara antara 1 sampai 5 dimana 1 artinya buruk dan 5 artinya baik. Codec meng-converter isyarat analog menjadi digital untuk pemancaran melalui rangkaian data. Berikut adalah beberapa codec yang tersedia, antara lain: a.
DoD CELP-4.8 Kbps
b.
GIPS-13.3 Kbps and up
c.
GSM-13 Kbps (full rate), 20 ms frame size
d.
iLBC-15 Kbps, 20 ms frame size; 13.3 Kbps, 30 ms frame size
e.
ITU G.711-64 Kbps, sample-based (alaw/ulaw)
f.
ITU G.722-48/56/64 Kbps
g.
ITU G.723.1-5.3/6.3 Kbps, 30 ms frame size
h.
ITU G.726-16/24/32/40 Kbps
i.
ITU G.728-16 Kbps
j.
ITU G.729-8 Kbps, 10 ms frame size
k.
LPC10-2.5 Kbps
l.
Speex-2.15 to 44.2 Kbps
2.3.1 G. 711 G.711 adalah standar ITU-T untuk Companding audio. Hal ini terutama digunakan dalam telepon. Standar ini dirilis untuk penggunaan pada tahun 1972. nama resmi adalah kode Pulse modulasi (PCM) frekuensi suara. Hal ini diperlukan standar di banyak teknologi, misalnya di spesifikasi H.320 dan H.323. Hal ini dapat juga digunakan dalam salah satu metode untuk komunikasi fax melalui jaringan IP (sebagaimana didefinisikan dalam spesifikasi T.38). G.711 merupakan logaritmik pulsa-kode modulasi (PCM) sampel untuk sinyal frekuensi suara, sampel sebesar 8000 sampel / detik. G.711.0 (G.711 LLC). Kompresi Lossless dari G.711 modulasi kode pulsa telah disetujui oleh ITU-T pada September 2009. 2.4
Parameter QoS (Quality of Service) VoIP merupakan salah satu jenis layanan waktu nyata (real-time) yang
membutuhkan QoS (Quality of Service). Maka ada beberapa faktor yang mempengaruhi kualitas dari VoIP seperti yang akan dijelaskan di bawah ini.
http://digilib.mercubuana.ac.id/
13
2.4.1 Delay Merupakan akumulasi berbagai waktu tunda dari ujung ke ujung pada jaringan Internet. Delay mempengaruhi kualitas layanan (QoS) karena waktu tunda menyebabkan suatu paket lebih lama mencapai tujuan. ITU-T G.114 merekomendasikan Delay tidak lebih besar dari 150 ms untuk berbagai aplikasi, dengan batas 400 ms untuk komunikasi multimedia yang masih dapat diterima. Sementara itu untuk aplikasi Voice seperti VoIP dan Conference Call batasan delay maksimal adalah 300 ms. Penghitungan delay menggunakan persamaan berikut.
Tabel 2.1 standar Delay berdasarkan ITU G.114 Delay (ms) 0-150 150-400 > 400
Kualitas Baik Cukup, masih dapat diterima Buruk
2.4.2 Packet Loss Merupakan penyebab utama pelemahan audio dan video streaming, VoIP dan Conference Call. Packet Loss dapat disebabkan oleh pembuangan paket di jaringan (network loss) atau pembuangan paket di gateway/ terminal sampai kedatangan terakhir (late loss). Network loss secara normal disebabkan kemacetan (router buffer overflow), perubahan rute secara seketika, kegagalan link dan lossy link seperti saluran nirkabel. Kemacetan atau kongesti pada jaringan merupakan penyebab utama dari packet loss. Berikut persamaan perhitungan packet loss.
(
)
Tabel berikut menunjukkan standar nilai packet loss yang mempengaruhi kualitas layanan (QoS).
http://digilib.mercubuana.ac.id/
14
Tabel 2.2 Standar packet loss berdasarkan ITU G.114 Packet Loss (%) 0-1% 1-5% > 10%
Kualitas Baik Dapat diterima Tidak dapat diterima
2.4.3 Jitter Merupakan perbedaan selang waktu kedatangan antar paket di terminal tujuan. jitter dapat disebabkan oleh terjadinya kongesti, kurangnya kapasitas jaringan, variasi ukuran paket, serta ketidakurutan paket. Tabel di bawah ini menunjukkan standar nilai jitter yang mempengaruhi kualitas layanan multimedia. Jitter dapat dihitung menggunakan persamaan di bawah ini.
Tabel 2.3 Standar nilai jitter berdasarkan ITU G.114 Jitter (ms) 0-20 20-50 > 50
2.5
Kualitas Baik Dapat diterima Tidak dapat diterima
Kelemahan VoIP Sistem VoIP memiliki banyak informasi yang harus diamankan.
Percakapan itu sendiri, voice mail, rekaman aktivitas telepon, dan nomer telepon adalah beberapa contoh dari informasi yang harus dapat dirahasiakan. Dalam sistem VoIP, data suara dikirimkan dari pengirim ke penerima menggunakan protokol RTP. Header dari paket RTP memiliki standar format, semua orang tahu bagaimana payload dapat di encoding dengan hanya melihat isi dari RTP payload. Paket RTP dapat ditangkap kemudian dimainkan ulang. Mungkin area dari keamanan VoIP dan internet yang paling kurang diperhatikan adalah bahwa faktanya para penyerang melakukan berbagai cara untuk merusak sistem yang kita miliki dengan berbagai cara antara lain:
http://digilib.mercubuana.ac.id/
15
2.5.1 Denying service DoS (Denial of Service) biasanya merupakan request ke suatu server dalam jumlah besar baik dari satu komputer atau beberapa buah komputer secara bersamaan. Hal ini dapat menyebabkan server akan kesusahan untuk menangani request yang masuk. Jika server tidak dapat lagi menangani request maka server akan crash/ down dan servis yang dijalankan tidak akan dapat digunakan lagi. Contoh dari DoS itu adalah penyerang menyerang server call-processing dengan banyak sekali sesi inisiasi yang tidak valid atau dengan menggunakan permintaan call-request. Sehingga trafik akan penuh dengan paket-paket DoS dan server akan sibuk menangani request. 2.5.2 Call Hijacking Call Hijacking yaitu seseorang mengatur sistem yang memungkinkan pelaku untuk dapat memanipulasi layanan tersebut. Dalam layanan VoIP hal ini dapat menyebabkan celah keamanan yang cukup beresiko. 2.6
Perangkat Lunak
Perangkat lunak yang dibutuhkan dalam membangun server VoIP adalah libSRTP, TLS, Wireshark, Asterisk dan beberapa softphone.
2.6.1 Secure Real-time Transprot Protocol (SRTP) SRTP (Secure Real transport Protocol) adalah sebuah standar mekanisme untuk melindungi media real-time (suara dan video) dalam aplikasi multimedia. SRTP mendeskripsi profil protokol RTP (Real Time Protocol) untuk menyediakan confidentiality, integrity, dan autentikasi media streaming yang didefinisikan di RFC 3711. SRTP juga melindungi pesan dari RTCP (Real Time Transport Control Protocol) yang memberikan feedback QoS pada VoIP. Hal ini karena RTP dan RTCP sama-sama digunakan dalam multimedia session meskipun port yang digunakan berbeda, (Thermos, 2007: 218). 1.
Proses SRTP Proses SRTP dimulai saat aplikasi men-capture input dari device (contohnya microphone atau kamera). Input tersebut di-encode sinyal menggunakan codec standar atau negosiasi (G.711, G.729, H.261, H.264) dan
http://digilib.mercubuana.ac.id/
16
menghasilkan payload paket RTP. Kemudian paket RTP dienkripsi dengan algoritma enkripsi yang dinegosiasikan, (Thermos, 2007: 219). SRTP menggunakan dua mode dalam prosesnya. Mode Counter menggunakan kriptografi AES dengan panjang kunci 128 bit dan saltkey (bit random untuk kunci) 112 bit. Mode AES-F8 digunakan dalam jaringan mobile 3G dengan mengenkripsi data UMTS (Unified Mobile Telecommunication System) dengan panjang kunci yang sama dengan mode counter. SRTP juga mampu meniadakan enkripsi dengan menggunakan null cipher (hasil streaming kunci berupa 0 saja). Untuk menambah enkripsi data, SRTP menunjang autentikasi dan integritas paket RTP. Secara default, SRTP menggunakan algoritma SHA-1 dengan panjang kunci 160 bit. Sebuah MAC (Message Authentication Code) dibuat dari hasil hash keseluruhan paket RTP, termasuk RTP header dan payload yang terenkripsi dan meletakkan hasil perhitungannya ke authentication tag header. Penggunaan authentication tag ini penting untuk melindungi dari serangan message-replay. Serangan ini memodifikasi pesanpesan audio/ video menjadi corrupt dan kacau. Atau dapat juga dengan mengirim pesan tiruan sehingga device mengalihkan sumberdaya untuk memproses pesan tersebut. 2.
Kelebihan dan kekurangan SRTP SRTP
menyediakan
beberapa
properti
untuk
mengamankan
streaming media dalam komunikasi multimedia. Karena itu ada beberapa hal yang perlu diperhatikan dalam menerapkan SRTP pada jaringan. Kelebihan dari SRTP antara lain : a. Menyediakan kepercayaan (confidentiality), integritas dan autentikasi dari isi pesan. b. Menyediakan perlindungan terhadap replay attack terhadap RTP dan RTCP. c. Karena SRTP menunjang AES, SRTP menyediakan perlindungan terhadap DoS attack yang bertujuan merusak isi pesan.
http://digilib.mercubuana.ac.id/
17
d. Algoritma kunci (AES dan hash) membantu melindungi dari serangan cryptanalytic tertentu dan menyediakan kerahasiaan penerusan pesan. Pengembangan SRTP masih menyisakan beberapa kekurangan yang harus dioptimalkan. Kekurangan SRTP antara lain: a. Jika diatur null cipher, maka membiarkan terjadinya analisa trafik pada paket data. b. Belum dapat menjamin integritas dan autentikasi pesan dari jaringan IP ke PSTN. c. Penyegaran
kunci
(refresh)
dan
manajemen
kunci
berpengaruh terhadap konsumsi sumberdaya dalam jaringan multicast yang besar. Hal ini kurang cocok dengan peralatan mobile dengan sumber daya terbatas. 3.
AES di Secured Real-time Transfer Protocol Transformasi Enkripsi yang didefinisikan di SRTP memetakan paket indeks
dan mengubah kunci rahasia menjadi keystream segment SRTP. Setiap keystream segment mengenkripsi sebuah RTP. Proses untuk mengenkripsi sebuah paket terdiri dari: a. Menghasilkan keystream segment sesuai dengan paket. b. Bitwise keystream segment XOR dengan payload dari paket RTP untuk menghasilkan bagian yang terenkripsi dari paket SRTP.
Gambar 2.2 Rancangan Umum AES pada SRTP
http://digilib.mercubuana.ac.id/
18
4.
AES dalam mode Segmented Integer Untuk memulai memahami kita mulai dengan dengan plainteks M, kunci K,
dan sebuah counter ctr,dimana ctr adalah n bit string. C adalah hasil XOR dari M dan bit pertama M akan di padukan sehingga EK(ctr) || EK(ctr + 1) || EK(ctr + 2)||.. Sedangkan untuk mendekripsi dilakukan hal yang sama dengan enkripsi tetapi M dan C diubah urutannya. Untuk skenario yang penggunaanya dianjurkan nonce akan diawali dengan 0 dan menghasilkan string ctr sebanyak 128 bit yang encode number nonce
(atau nonce dianggap sebagai 64 bit binary number) Number
dari nonce diincrement setiap enkripsi. Biasanya nilau C juga ditransmit bersama string yang mengencode nonce. Secara konsepsual, Counter Mode terdiri atas mengenkripsi successive integers. Setiap paket dienkripsi dengan keystream segment yang berbeda, yang dapat dihitung dengan cara berikut ini Inklusi dari SSRC memperbolehkan kita untuk menggunakan sebuah kunci yang sama untuk melindungi distinct SRTP streams di dalam RTP session yang sama. Untuk SRTCP , SSRC dari setiap header pertama dari compound packet harus di gunakan, 31 bit I akan menjadi SRTCP index dan K_e , k_s akan digantikan dengan SRTCP Encryption key dan salt. 5.
AES CTR Mode Ketika menggunakan AES-CTR mode akan menghasilkan kerahasiaan yang
tinggi. Tetapi sangat mudah untuk salah mempergunakan counter mode. Ketika counter block values digunakan dari satu paket dengan kunci yang sama, key stream yang sama akan digunakan untuk mengenkripsi
kedua paket, maka
jaminan kerahasiaan terhindar. Ketika dua plainteks yang berbeda dienkripsi dengan satu keystream yang sama dan ketika hal tersebut terjadi serangan. (P1 XOR K1) XOR (Q1 XOR K1) = P1 XOR Q1 (P2 XOR K2) XOR (Q2 XOR K2) = P2 XOR Q2 (P3 XOR K3) XOR (Q3 XOR K3) = P3 XOR Q3
http://digilib.mercubuana.ac.id/
19
Ketika seseorang yang ingin mendengarkan pembicaraan tersebut mendapatkan kedua plaintext tersebut di xor yang sama, maka akan dengan mudah dapat dipecah dan mendapatkan plaintextnya. Jadi menggunakan sebuah keystream untuk mengenkripsi dua buah plainteks akan memperlihatkan plainteks tersebut. Maka jangan menggunakan AES CTR dengan kunci yang static. Selain itu juga membutuhkan perhatian yang khusus untuk pencegahan penggunaan
kembali
counter
block
value
dengan
static
key
selama
penggunaannya. Agar aman, implementasi ESP harus menggunakan kunci yang baru untuk digunakan dalam AES CTR. Internet Key Exchange protocol (IKE) dapat dipergunakan untuk mendapatkan kunci yang baru. IKE juga dapat dipergunakan untuk mendapatkan nonce yang ada di bagian pertama dari security association. Implementasi
ESP
yang
memperbolehkan penggunaan sebuah
kunci yang sama untuk enkripsi outbound traffic dan dekripsi incoming traffic dengan peer yang sama harus bisa memastikan bahwa nilai nonce keduanya berbeda 6.
AES f8-mode AES mode ini dipergunakkan untuk mengenkripsi UMTS (Universal Mobile
Telecommunication System). Untuk High Level, F8-Mode merupakan variasi dari Ouput Feedback Mode dengan elaborasi dari inisialisasi dan feedback function. Jika pada normal OFB, intinya terdiri dari block cipher Berikut adalah gambar struktur AES dalam mode F8:
http://digilib.mercubuana.ac.id/
20
Gambar 2.3 AES F8 Mode
Dari gambar di atas kita dapat melihat keseluruhan kerja dari AES dalam fungsi f8. 7.
Penghasilan Keystream
Untuk Key stream S(0) ||... || S(L-1) sebagai N- bit pesan akan didefinisikan dengan IV’ = E(k_e XOR m,IV) Dan j = 0, 1, …..L-1. Dimana L = N/ n_b (difloorkan keatas). Perhatikan bahwa kita tidak menggunakan langsung IV Kita menyerahkannya ke E dengan kunci lain untuk menghasilkan nilai yang tersamarkan untuk mencegah Eavesdropper untuk mengetahui input dan output pairs Peran internal counter j adalah untuk menghindari siklus short keystream. Hasil kunci yang tersamarkan m sebagai berikut m = k_s || 0x555..5, sender tidak perlu menghasilkan
block, yang mana cukup untuk menghasilkan
block.
http://digilib.mercubuana.ac.id/
21
2.6.2 Transport Layer Security (TLS) TLS
(Transport
Layer
menyediakan
komunikasi
berkomunikasi
melalui
Security)
privasi jaringan.
dan TLS
adalah keamanan
sebuah
protokol
antara
mengenkripsi
dua
yang
aplikasi
komunikasi
dan
memungkinkan klien untuk mengotentikasi server dan, opsional, server untuk mengotentikasi klien. TLS adalah versi lebih aman dari protokol SSL (Secure Sockets Layer). TLS (Transport Layer Security) dirilis ke Internet sebagai respon dari permintaan pengguna internet untuk sebuah protokol yang terstandarisasi. Protokol ini dirilis pada tahun 1999 dengan tujuan untuk membuat standar komunikasi privat. Protokol ini mengijinkan aplikasi pada klien/ server untuk saling berkomunikasi pada sebuah jalur yang didesain agar tidak bisa didengarkan/ diketahui orang lain (eavesdropping, tampering, message forgery). Tujuan utama dari TLS ini adalah cryptographic security, interoperability, extensibility, dan relative efficiency. Untuk mencapainya, TLS menerapkan level protokol pada kinerjanya yaitu : 1.
Alert Salah satu komponen terpenting dari SSL adalah sistem penanganan errornya.
Error pada SSL disebut dengan alert dan merupakan presentasi dari kemungkinan serangan-serangan. Alert adalah pesan-pesan yang dikirim melalui saluran komunikasi SSL, dan kadang juga dienkripsi. Spesifikasi SSL menjelaskan secara mendetil tentang 20 alert yang berbeda dan memberikan petunjuk bagaimana menanganinya ketika alert tersebut diterima, serta kapan waktu yang tepat untuk membangkitkan dan mengirimkannya. 2.
Handshake Komunikasi SSL diadakan pada sebuah SSL session. SSL ini dibangun
menggunakan sebuah proses handshake yang mirip dengan TCP 3-way handshake. Keseluruhan proses handshake, termasuk pembangunan soket TCP/IP, dapat dilihat pada gambar
http://digilib.mercubuana.ac.id/
22
Gambar 2.4 Proses SSL Handshake
Seperti yang dapat dilihat pada gambar, koneksi TCP/IP dibangun terlebih dahulu, kemudian proses handshake SSL dimulai. Session SSL dimulai ketika client dan server
berkomunikasi
menggunakan
parameter
dan
cipher
yang
telah
dinegosiasikan. Session SSL diakhiri ketika kedua pihak selesai mentransmisikan data aplikasi dan memberitahu mesin lainnya bahwa pengiriman data telah selesai. 3.
Client Hello dan Operasi Kunci publik Semua session pada SSL dimulai dengan sebuah pesan Client Hello. Pesan ini
dikirim oleh client kepada server yang ingin dituju untuk berkomunikasi. Pesan ini berisi versi SSL dari client, sebuah bilangan acak yang akan digunakan selanjutnya pada penurunan kunci, dan juga sebuah kumpulan ciphersuite offer. Offer ini merupakan penanda yang menunjukkan cipher dan algoritma hash yang
http://digilib.mercubuana.ac.id/
23
ingin digunakan oleh client. Pada saat membangun koneksi inisial, server memilih sebuah offer yang ingin digunakan, dan menyampaikan kembali offer tersebut kepada client bersama dengan certificate dan sebuah bilangan acak yang dimilikinya. Client kemudian melakukan verifikasi server menggunakan sertifikat dan mengekstraksi kunci publik server. Dengan menggunakan kunci publik, client mengenkripsi rahasia premaster, sebuah nilai acak yang akan digunakan untuk membangkitkan kunci simetri, dan mengirim pesan terenkripsi tersebut kepada server, yang kemudian mendekripsi pesan menggunakan kunci privatenya. 4.
Penurunan Kunci simetri Setelah server menerima rahasia premaster dari client, server dan client sama-
sama membangkitkan kunci simetri yang sama menggunakan rahasia premaster dan juga membangkitkan bilangan acak yang telah dipertukarkan sebelumnya menggunakan TLS pseudorandomfunction (PRF), yang mengekspansi rahasia dan beberapa data menjadi sebuah blok dengan panjang tertentu. Dengan cara ini, yang hanya mengenkripsi rahasia premaster kecil menggunakan kriptografi kunci publik, membatasi kemungkinan mahalnya operasi pada performansi. 5.
Finish Handshake Segera setelah kunci dibangkitkan, client dan server bertukar pesan-pesan
“change cipher spec” untuk mengindikasikan bahwa mereka telah memiliki kunci simetri dan komunikasi selanjutnya dapat dilaksanakan menggunakan algoritma simetri yang dipilih pada tahap inisial proses handshake. Pada tahap ini, server dan client menggunakan semua pesan-pesan handshake yang diterima dan dikirim, dan membangkitkan sebuah blok data yang digunakan untuk melakukan verifikasi bahwa handshake tidak terganggu. Data ini, yang dibangkitkan menggunakan TLS PRF, dikirimkan pada pesan handshake terakhir disebut Finish. Jika data pada pesan finish yang dibangkitkan tidak cocok dengan data finish yang dibangkitkan secara lokal, maka koneksi akan diterminasi oleh pihak manapun yang gagal melakukan tes verifikasi.
http://digilib.mercubuana.ac.id/
24
6.
SSL Session Ketika sebuah proses handshake selesai, client
dan server
mulai
berkomunikasi dengan menggunakan saluran komunikasi aman yang baru. Setiap pesan di-hash, dienkripsi dan kemudian dikirim. Setiap kali ada kegagalan, baik itu pada proses dekripsi, enkripsi, hash, verifikasi, atau komunikasi, SSL alert akan dikirimkan (menggunakan enkripsi kunci simetri) oleh entitas yang mengalami kegagalan. Kebanyakan alert bersifat fatal, dan menyebabkan komunikasi harus dihentikan sesegera mungkin. 7.
Mengakhiri SSL Session Ketika client atau server selesai berkomunikasi, sebuah alert khusus,
close_notify, dikirimkan untuk memastikan semua komunikasi telah dihentikan dan koneksi dapat ditutup. Alert ini digunakan untuk mencegah pihak yang tidak bertanggung jawab melakukan sebuah serangan pemotongan, yang akan menipu server atau client agar berpikir bahwa semua data yang ingin dipertukarkan telah berhasil terkirim, padahal sebenarnya masih ada data yang masih belum terkirim (hal ini dapat menjadi masalah pada situasi seperti transaksi perbankan, di mana semua informasi harus terkirim). 2.6.3 Wireshark Perangkat lunak open source penganalisa protokol jaringan secara waktu nyata (realtime) yang dapat membaca dan menganalisa paket data yang berjalan di Ethernet maupun serial. Wireshark dikembangkan para ahli jaringan, dan berjalan di windows, Linux, Solaris, Unix dan platform lainnya. Wireshark memiliki fitur yang sangat powerful untuk pemecahan masalah pada jaringan dan mampu menangkap paket-paket data yang ada dalam jaringan. 2.6.4 Asterisk Asterisk adalah aplikasi open source PBX (Private Branche eXchange) yang memungkinkan komunikasi antar pengguna telepon regular maupun telepon berbasis sip (sip phones). Dalam sebuah PBX setiap telepon umumnya di konfigurasi sebagai sebuah ekstensi, namun menggunakan fitur yang disediakan Asterisk, setiap ekstensi tidak harus terkait dengan pesawat dengan lokasi fisik tertentu. Dengan demikian pengguna dapat memiliki ekstensi atau pesawat
http://digilib.mercubuana.ac.id/
25
dimana saja di permukaan bumi asalkan tersambung ke internet, dan selama ia memiliki data yang terkonfigurasi baik di salah satu server tersambung Internet. Asterisk merupakan open source software yang digunakan untuk membangun suatu sistem layanan komunikasi. Asterisk juga dapat dikatakan sebagai PBX (Private Branch Exchange) dan menyediakan semua fitur seperti PBX. Kelebihan menggunakan Asterisk adalah dapat berjalan dibanyak platform Sistem Operasi, antara lain Linux, Windows, BSD, dan OS X. Fitur yang disediakan Asterisk antara lain voicemail, call conferencing, Interactive Voice Response, Call Queuing, Three Way Calling, Caller ID Service, Analog Display Service Interface, Protokol VoIP SIP, H323 (sebagai client dan gateway), IAX, MGCP (hanya menyediakan fungsi call manager), SCCP/Skinny, dan masih banyak lagi fitur yang disediakan Asterisk. Pada Asterisk sendiri terdapat komponen penting seperti halnya PBX, yaitu: 1.
Extension adalah label dari extension, dapat berupa sebuah string (angka, huruf dan simbol yang diijinkan) atau pola yang harus dievaluasi secara dinamik untuk mencocokan dengan banyak kemungkinan nomor telepon. Setiap command line yang menjadi bagian dari extension tertentu harus mempunyai label yang sama.
2.
Dial Plan berfungsi sebagai routing panggilan antar ekstensi, baik yang berada dalam satu IP-PBX (lokal) maupun antar IP-PBX, atau biasa disebut dial trunk. Dalam Asterisk, Dial Plan diprogram dalam satu file yang bernama extensions.conf. Secara umum, setiap ekstensi dalam Asterisk merujuk pada user tertentu yang ter-register ke Asterisk tersebut sehingga biasanya nomor ekstensi sama dengan id user.
2.6.5 VoIP softphone VoIP Softphone merupakan telephone yang berbentuk software yang biasa digunakan dalam VoIP. Saat ini banyak Softphone yang disebarkan dengan lisensi gratis sekaligus layanan jaringan VoIP-nya. Softphone merupakan aplikasi client VoIP yang mampu mendigitalisasi data suara ke dalam paket-paket data untuk ditransmisikan melalui berbagai konektifitas jaringan tertentu. Disini penulis
http://digilib.mercubuana.ac.id/
26
menggunakan softphone CSipSimple untuk android, Blink dan Xlite untuk Windows. 1.
Blink Blink merupakan softphone VoIP yang berbasis open source. Perangkat
lunak ini dibuat menggunakan bahasa pemrograman python untuk cocoa. Dan akhirnya dibuat untuk windows dan GNU/ Linux platform. fitur yang ada pada Blink softphone: a. Wideband audio (Opus codec) b. HD Video (H.264 codec) c. Chat and File Transfer (MSRP protocol) d. Encryption (SDES & TLS) e. Screen sharing (VNC protocol) f. Presence (SIP Simple) g. Multi-party conferencing
Gambar 2.5 Tampilan Blink softphone
http://digilib.mercubuana.ac.id/
27
2.
CSipSimple CSipSimple adalah mobile softphone untuk android yang berlisensi open
source. CSipSimple dibangun dengan menggunakan sebuah SIP stack. Berikut fitur yang dimiliki CSipSimple : a. VoIP, video call, dan text messaging b. Wideband c. Encryption (TLS dan SRTP/ZRTP)
Gambar 2.6 Tampilan CSipSimple softphone
3.
X-lite X-lite merupakan perangkat lunak yang dikembangkan oleh CounterPath
Solutions Inc., yang diaplikasikan untuk komunikasi VoIP berbasis protokol SIP. Perangkat lunak ini diibaratkan dapat mentransformasikan PC menjadi telepon. Xlite memberikan manfaat yang sama seperti telepon biasa untuk melakukan dan menerima panggilan PC. Dengan menggunakan koneksi broadband internet dan teknik audio kompresi (codec), Quality of Service (QoS) yang dihasilkan hampir sama dengan telepon tradisional. Fitur pada x-lite: a. Standard-definition voice and video calling b. Instant messaging and presence (SIP SIMPLE) c. voicemail
http://digilib.mercubuana.ac.id/
28
Gambar 2.7 Tampilan X-Lite softphone
2.7
NDLC NDLC (Network Development Life Cycle) merupakan suatu metode yang
digunakan dalam mengembangkan atau merancang jaringan infrastruktur yang memungkinkan terjadinya pemantauan jaringan untuk mengetahui statistik dan kinerja jaringan. dengan tahapan-tahapan yaitu : Analisis, Design, System, Simulasi, Implementasi, Manajemen dan monitoring (James E.Goldman :2001)
http://digilib.mercubuana.ac.id/
29
Gambar 2.8 NDLC
Penjelasan tahapan pada NDLC (Network Development Life Cycle) adalah sebagai berikut: 1. Tahap Analysis Tahap awal ini dilakukan analisa kebutuhan, analisa permasalahan yang muncul, analisa keinginan user, dan analisa topologi atau jaringan yang sudah ada saat ini. 2. Tahap Design Tahap desain ini akan membuat gambar desain topologi jaringan yang akan dibangun. Desain bisa berupa design struktur topologi, desain akses data, desain tata layout perkabelan, dan sebagainya yang akan memberikan gambaran jelas tentang proyek yang akan dibangun. 3. Tahap Simulasi Prototype Pada tahap ini beberapa network engineer akan membuat dalam bentuk simulasi dengan bantuan tools khusus di bidang network seperti BOSON, Packet Tracer, NETSIM, dan sebagainya. 4. Tahap Implementasi Dalam tahap implementasi network engineer akan menerapkan semua yang telah direncanakan dan didesain sebelumnya.
http://digilib.mercubuana.ac.id/
30
5. Tahap Monitoring Tahapan monitoring merupakan tahapan yang penting agar jaringan dapat berjalan sesuai dengan keinginan dan tujuan dari user pada tahap awal analisis 6. Tahap Manajemen Pada tahap ini suatu kebijakan perlu dibuat untuk membuat atau mengatur agar sisem yang telah dibangun dapat berjalan dengan baik dan dapat berlangsung lama.
http://digilib.mercubuana.ac.id/