SEMINAR TUGAS AKHIR PERIODE JULI 2011
dengan menggunakan stream cipher dan block
IMPLEMENTASI VIDEO PENGAMAT DAN PENGAMANAN VIDEO cipher. BanyakENKRIPSI algoritma enkripsi yang telah MENGGUNAKAN ALGORITMA VIDEO (VEA)
saat M.kom. ini, tetapi algortima yang umum Mochamad Khilmi, Wahyu Suadidibangun S.kom., MM., digunakan terutama untuk aplikasi video streaming Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember adalah algoritma video enkripsi, atau yang sering Email :
[email protected]
Abstrak - Teknologi Informasi yang semakin berkembang mempermudah pekerjaan seseorang. Salah satunya adalah pekerjaan seseorang dalam menjaga keamanan suatu tempat. Para petugas keamanan sering kali tidak dapat menjaga semua sudut ruangan, terutama sudut-sudut ruangan yang sulit dijangkau dan rawan terjadi tindak kriminal. Aplikasi ini menyajikan fitur-fitur yang dapat digunakan sebagai sebuah kamera pengaman. Fungsi utama dari aplikasi ini adalah mengirim video secara Real-Time sesuai dengan hasil dari pengambilan kamera. Aplikasi ini juga dilengkapi dengan enkripsi data video, agar data yang dikirim aman dari pencurian data atau paket sniffing. Enkripsi yang dilakukan pada data video ini adalah algoritma enkripsi Data Encryption Standard (DES).Algoritma ini mengenkripsi data video per-blok data sehingga walaupun data video berhasil di sniffing / dicuri, data akan tetap tidak dapat dibaca oleh penyerang. Uji coba aplikasi ini dilakukan melalui beberapa skenario, yang berfungsi untuk menguji kinerja dan fungsionalitas sistem. Uji coba ini berhasil mewujudkan sebuah implementasi nyata aplikasi video streaming yang memiliki enkripsi video DES menggunakan Java Media Framework. Kata kunci: Enkripsi, Java Media Framework, DES, Video Streaming Pendahuluan Perkembangan teknologi berbasis video streaming saat ini semakin maju. Pemanfaatan penggunaan teknologi tersebut juga sangat beragam. Salah satu contohnya pemanfaatan teknologi berbasis video adalah pada video surveillance atau video pengintai yang sering disebut juga CCTV (Closed-CircuitTelevison). Keamanan lalu lintas data pada video surveillance atau video pengintai tersebut juga baik. Karena video tersebut adalah video yang bersifat rahasia dan hanya orang yang berkepentingan saja yang dapat melihat video tersebut. Salah satu cara untuk mengamankan aplikasi distributed multimedia tersebut adalah dengan melakukan enkripsi data. Enkripsi data pada media video streaming ada 2 cara, yaitu
disebut dengan Video Encryption Algorithm. Algoritma ini sering dipilih karena memiliki tingkat keamanan yang cukup, komputasi yang ringan, dan cocok diimplementasikan pada video streaming karena algoritma tersebut dapat berbasis stream cipher maupun block cipher, tergantung kebutuhan saat streaming video tersebut.Implementasi dari algoritma ini diharapkan dapat memenuhi kebutuhan keamanan dalam video streaming. Dalam perkembangan lebih lanjut tingkat keamanan dalam video streaming ini dapat ditingkatkan dengan menggunakan algoritma kunci rahasia seperti DES. Penulis menerapkan metode DES karena metode tersebut yang cocok diterapkan untuk algoritma berbasis block cipher dan telah terkenal akan tingkat keamanannya. Sebelum algoritma enkripsi diterapkan pada video streaming, terlebih dahulu merancang model video streaming yang akan dibuat. Makalah ini terdiri dari beberapa bab yang dijelaskan sebagai berikut. 1.
BAB 1, Pendahuluan, menjelaskan latar belakang masalah, tujuan dan manfaat pembuatan tugas akhir, permasalahan, batasan masalah, metodologi yang digunakan, dan sistematika penyusunan tugas akhir. BAB 2, Tinjauan Pustaka, memaparkan beberapa teori penunjang yang berhubungan dengan pokok pembahasan dan mendasari pembuatan tugas akhir ini. BAB 3, Perancangan Perangkat Lunak, Pada tahap ini dilakukan analisa awal dan pendefinisian untuk mengetahui masalah yang sedang dihadapi, kemudian dilakukan perancangan arsitektur aplikasi, interface, dan fitur-fitur yang akan dibuat sesuai dengan informasi yang diperoleh. BAB 4, Implementasi, Pada tahap ini merupakan tahap untuk pembuatan perangkat lunak dari rancangan yang telah dibuat sebelumnya. BAB 5, Uji Coba dan Evaluasi, Pada tahap ini dilakukan uji coba terhadap sistem yang telah dibuat berdasarkan tujuan pembuatan program, dan mengidentifikasi masalahmasalah yang mungkin muncul.Pada tahap ini juga dilakukan perbaikan apabila sistem dinilai kurang sesuai dengan tujuan awal pembuatan program. BAB 6, Penutup, berisi tentang kesimpulan yang didapat dari proses pembuatan tugas
2.
3.
1.
4.
5.
6.
1
Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
akhir, beserta saran-saran pengembangan selanjutnya. 2.
untuk
Dasar Teori
2.1
Java Media Framework Java Media Framework atau JMF adalah sebuah application programming interface (API) yang berjalan pada platform java. Framework ini berfungsi sebagai penyedia layanan media pada bahasa pemrograman java. JMF didesain agar dapat digunakan pada sebagian besar standard format video, antara lain AIFF, AU, AVI, GSM, MIDI, MPEG, QuickTime, RMF dan RAW. JMF mempermudah pengguna maupun pengembang perangkat lunak untuk mempresentasikan, mengambil gambar atau video, memanipulasi, dan melakukan penyimpanan media. Arsitektur JMF dipaparkan pada Gambar 2.1
Gambar 2.2 RTP Header
Penjelasan tentang RTP header adalah sebagai berikut : 1.
Version (V) adalah versi dari protokol tersebut. RTP memiliki versi 2. Version memiliki besar 2 bit. 2. Padding (P) adalah jika terdapat byte padding pada paket RTP. Padding memiliki besar 1bit. 3. Extension (X) merepresentasikan sebuah ekstensi header antara header yang standar dengan playload data. 4. CSRC Count (CC) berisi tentang identifikasi dari CSRC yang mengikuti header yang benar. CSRC Count memiliki besar 4 bit. 5. Marker (M) digunakan pada layer application . jika nilai dari Marker berisi 1, maka data yang dikirim memiliki relevansi yang special dengan aplikasi sebelumnya. Marker memiliki besar 1 bit. 6. Playload Type (PT) menindikasikan format dari playload dan interpretasi dari aplikasi tersebut. Playload Type ditentukan dari profile RTP. Playload Type memilki besar 7 bit. 7. Sequence Number (SN) adalah angka berurutan yang akan bertambah satu untuk setiap data paket yang dikirimkan oleh RTP yang digunakan. Fungsinya adalah untuk mendeteksi paket loss dan mengembalikan urutan paket. RTP tidak mengambil tindakan apapun ketika terjadi paket loss tapi Sequence Number memungkinkan untuk mendeteksi paket mana yang hilang. Sequence Number memiliki besar 16 bit. 8. Timestamp digunakan untuk memungkinkan penerima dapat memutar kembali sampel yang diterima pada interval yang tepat. 9. Synchronization Source (SSRC) identifier digunakan untuk mensinkronkan data RTP yang diterima dengan data yang telah dikirim dari source. 10. Contributing source (CSRC) identifier digunakan untuk menghitung sumbersumber untuk aliran yang dihasilkan dari berbagai sumber.
Gambar 2.1 Arsitektur JMF
2.2 Real-Time Transport Protocol (RTP) Teknologi yang digunakan dalam media streaming adalah RTP atau Real Time Transport Protocol. RTP menyediakan layanan pengiriman jaringan untuk transmisi data real time. RTP adalah jaringan dan protokol transport-independen, meskipun sering digunakan di atas UDP. RTP dapat digunakan pada layanan jaringan unicast dan multicast. Melalui layanan unicast, salinan data yang dipisahkan dikirimkan dari sumber ke tujuan, dan jika pada layanan multicast, data dikirimkan dari sumber hanya sekali dan jaringanlah yang bertanggung jawab untuk mentransmisikan data ke berbagai lokasi. Maka dari itu layanan multicast lebih efisien untuk berbagai aplikasi multi media, seperti video conferences. 2.3 RTP Header Dalam sebuah paket RTP terdapat 2 bagian. Yaitu RTP Header dan data yang hendak dikirim. Data yang hendak kita kita melalui RTP memiliki header sebagai pengenal bahwa data tersebut adalah data RTP.Gambar 2.2 adalah gambar dari header dari sebuah paket data RTP.
2
Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
2.4 RTP Control (RTPC) RTPC berfungsi untuk menyediakan statistic out-of-band dan sebagai informasi kontrol untuk RTP. RTPC adalah penunjang RTP dalam penyampaian data multimedia. Biasanya RTP akan dikirim pada port UDP genap, sedangkan RTP Control dikirim pada port yang ganjil. Fungsi utama dari RTPC adalah untuk memberikan laporan tentang kualitas layanan (QoS) dalam media distribusi dengan secara berkala mengirimkan informasi statistik kepada peserta dalam sesi multimedia streaming.
Gambar 2.3 Skema Enkripsi Block Cipher
RTPC membedakan beberapa jenis paket yaitu sender report, receiver report, source description, dan bye. Selain itu terdapat pula laporan lanjutan jika terdapat paket applicationspecific RTPC. 2.5 Kriptografi Algoritma kriptografi berisi aturan-aturan untuk mengenkripsi dan mendekripsi pesan dengan fungsi matematika.Misalkan P adalah plaintext, C adalah Ciphertext, E adalah fungsi enkripsi, dan D adalah fungsi dekrpsi. Maka dapat dirumusukan sebagai berikut : @ E(P) = C
Data Encryption Standard (DES) Data Encryption Standard adalah sebuah algoritma cipher yang termasuk dalam blockcipher dan menggunakan kunci simetri.Algortima ini pertama kali diperkenalkan pada tahun 1972 oleh National Institute of Standards and Technology (NIST).DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit. Secara matematis, satu putaran DES dinyatakan pada Gambar 2.4.
2.1)
Dan fungsi dekripsinya : D(C) = P
(2.2)
Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal. Maka persamaan berikut harus benar. D(E(P)) = P
(2.3)
Block Cipher Blockcipher atau cipherblok adalah sebuah cipher yang memiliki kunci simetri yang beroperasi pada kelompok-kelompok bit yang memiliki panjang yang tetap. Kelompok-kelompok bit tersebut yang kita namakan blok. Misalkan sebuah algortima block cipher menggunakan 128bit plaintext sebagai inputnya, maka output yang dikeluarkan algoritma tersebut adalah 128-bit ciphertext.Begitu juga saat dekripsi input text berupa ciphertext 128-bit maka output yang dihasilkan adalah sebuah text yang memiliki besar 128-bit. Skema enkripsi dengan block cipher dapat digambarkan pada Gambar 2.3.
Gambar 2.4 Skema Algoritma DES
Algoritma Message Digest 5 (MD5) MD5 atau Message Digest versi 5 adalah sebuah algoritma enkripsi yang memanfaatkan fungsi hash yang memiliki value 128-bit. MD5 telah dimanfaatkan secara luas pada aplikasi keamanan dan digunakan sebagai pengujian integritas sebuah file. MD5 memproses variasi panjang pesan kedalam keluaran 128-bit dengan panjang yang tetap. Pesan masukan dipecah menjadi dua kelompok blok 512-bit, pesan ditata sehingga panjang pesan dapat dibagi 512. Penataan bekerja sebagai berikut: bit tunggal pertama, 1, 3
Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
diletakkan pada akhir pedan. Proses ini diikuti dengan serangkaian nol (0) yang diperlukan agar panjang pesan lebih dari 64-bit dan kurang dari kelipatan 512. Bit-bit sisa diisi dengan 64-bit integer untuk menunjukkan panjang pesan yang asli. Sebuah pesan selalu ditata setidaknya dengan 1-bit tunggal, seperti jika panjang pesan adalah kelipatan 512 dikurangi 64-bit untuk informasi panjang (panjang mod(512) = 448), sebuah blok baru dari 512-bit ditambahkan dengan 1-bit diikuti dengan 447 bit-bit nol (0) diikuti dengan panjang 64-bit.
yang menggunakan Video Cassette Recorder (VCR). MPEG-1 menggunakan kompresi Interframe yang bertujuan untuk mengurangi informasi yang berulang pada frame, dan kompresi di dalam satu frame-nyasendiri menggunakan kompresi yang sama dengan JPEG. Tiga buah frame hasil algoritma kompresi MPEG adalah frame I, frame P, dan frame B.
Gambar 2.7 menunjukan susunan frameframe pada MPEG.
Gambar 2.7 Susunan Frame dalam MPEG
2.7 Video Streaming
Gambar 2.5 Operasi MD5
2.6 Video Codec Standard MJEPG MJPEG atau Motion JPEG adalah sebuah video format yang disetiap video framenya terdiri atas beberapa gambar JPEG yang telah disusun.MJPEG sering digunakan untuk device-device yang portable dan dapat digunakan sebagai alat pengambilan video, seperti kamera digital dan telepon seluler. Gambar 2.6adalah contoh sebuah gambar JPEG yang berhubungan
Streaming media adalah sebuah teknologi multimedia yang secara konstan menerima dan merepresentasikan kepada end-user apapun yang dikirimkan oleh pengirim.Video streaming adalah pemanfaatan teknologi streaming dengan menggunakan video sebagai data yang dikirim. Video streaming menggunakan teknologi kompresi video dan juga protocol jaringan yang dibuat khusus untuk real-time media streaming. Keuntungan dari streaming video adalah dapat memutar video lebih cepat dan tidak membutuhkan banyak tempat untuk menyimpan file video tersebut. Pada Gambar 2.8 terdapat dua buah buffer yaitu pada sisi video server dan client yang berfungsi sebagai tempat penampung sementara data-data yang dikirim.
Gambar 2.6 Sequence JPEG
MPEG-1 MPEG-1 merupakan generasi pertama video codec yang diusulkan oleh Motion Pictures Expert Group sebagai sebuah standar video coding untuk Digital Media Storage (DSM) seperti CD, DAT, Winchester Disc, Optical Drive. Pengembangan standar ini mendapat respons positif dari dunia industri, yang membutuhkan cara efisien dalam penyimpanan informasi visual pada sebuah media penyimpanan (storage media). Hal ini berbeda dengan cara konvensional sebelumnya
Gambar 2.8 Skema Streaming Data
3.
Perancangan Perangkat Lunak
3.1 Algoritma Enkripsi Video Algoritma Enkripsi Video atau Video Encryption Algortihm dapat dijelaskan pada langkah-langkah berikut : 1. 2.
4
Membuka file video atau mengambil video dengan camera webcam. Membaca stream bit dari file video tersebut. Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
3. 4. 5.
6. 7.
Membaca tipe frame dari file video tersebut. Jika frame bukan frame I, maka stream bit akan lansung ditulis ke file tujuan Jika frame adalah frame I maka akan dilakukan operasi XOR pada bit-bit tersebut dengan kunci Menulis file ke tujuan Membaca frame berikutnya, dan mengulangi langkah nomor 2 sampai EndOf-File.
3.2 Modifikasi Algoritma Enkripsi Video Secara garis besar modifikasi algoritma enkripsi video dalam Tugas Akhir ini adalah sebagai berikut. 1. Algoritma ini memodifikasi algoritma cipher aliran menjadi cipher blok. Yang berarti tiaptiap data bukan lagi dienkripsi sebagai bit-bit, akan tetapi dienkripsi sebagai blok-blok 2. Algoritma ini mengubah operasi XOR pada Algoritma Enkripsi Video menjadi operasi DES 3. Tidak terdapat pembacaan video secara frame ke frame karena tidak lagi menggunakan cipher aliran. Akan tetapi, menggunakan pembacaan dengan mengubah file video menjadi byte-byte kemudian dibaca dan dienkripsi. 4. Modifikasi juga dilakukan pada waktu pengiriman data. Pada algoritma enkrispsi video standar, enkripsi dilakukan pada saat video selesai diambil dari data file. Pada tugas akhir ini, enkripsi dilakukan setelah file video dibungkus dengan protokol RTP. Data file atau Data Capture dari kamera
Pembacaan ByteByte Data
Mengubah ByteByte Data Menjadi Paket-Paket Data RTP
Tidak
Enkripsi DES
Fungsi Hash MD5
Kunci
Mengirim Data Kepada Receiver
Selesai
Ya
Selesai
Gambar 3.1 Modifikasi algoritma Video Enkripsi
Penjelasan tentang Gambar 3.1 adalah sebagai berikut:
1. 2. 3.
4. 5.
6.
7.
Mengambil data video atau mengambil video menggunakan camera. Membaca file video tersebut, kemudian mengubahnya menjadi byte-byte data Byte-byte data tersebut kemudian diproses data RTP Socket Adapter menjadi paket data RTP Paket-paket data RTP tersebut kemudian dienkripsi menggunakan metode DES. Kunci yang akan digunakan untuk metode DES tersebut menggunakan kunci yang telah diproses menggunakan fungsi hash MD5. Kemudian setelah enkripsi DES dan kunci tersebut sudah dilakukan, data hasil enkripsi dapat dikirimkan kepada penerima Data-data yang dikirimkan tersebut oleh penerima akan didekripsi terlebih dahulu sebelum dapat dibaca sebagai video.
3.3 Gambaran Arsitektur Sistem
Gambar 3.2 Gambaran Arsitektur Sistem
Gambar 3.2Gambar 3.2 menunjukan proses dari aliran data video dari pengirim ke penerima. Pengirim mengambil data dari kamera video atau file video, kemudian dilakukan proses enkapsulasi data video dengan header RTP, langkah berikutnya adalah mengenkripsi data video tersebut menggunakan algoritma enkrispi DES. Setelah pengenkripsian tersebut, data hasil enkripsi tadi dikirimkan menggunakan soket kepada penerima. Penerima akan menerima data enkripsi tersebut kemudian mendekripsikannya kembali menjadi data video yang dapat diputar dan menampilkannya kepada pengguna. 4.
Uji Coba Uji coba ini dilakukan dalam dua bagian. Pertama, untuk menguji proses fungsionalitas aplikasi, dan kedua adalah pengujian mengenai performansi yang menguji tentang perofomansi sistem dengan beberapa skenario, beberapa file input yang dikirimkan, dan beberapa panjang kata kunci. Pada pengujian performansi, sistem juga di uji dengan keadaan data video yang dikirim dengan enkripsi dan tanpa enkripsi.
5
Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
4.1 Uji Coba Fungsionalitas Uji coba fungsionalitas dilakukan untuk melihat fungsi-fungsi dasar dapat berjalan. Uji coba fungsionalitas meliputi uji coba fungsionalitas pada pengirim dan penerima. Pada uji coba ini data yang diuji-cobakan ada dua, yaitu data yang berupa file MPEG dan data yang diambil dari capture device. Gambar 4.1dan Gambar 4.2menunjukkan hasil dari uji coba fungsionalitas.
Tabel 4.1 Uji Coba Performa Algoritma Enkripsi
No
1 2
Uji Coba
Dengan Enkripsi Tanpa Enkripsi
Waktu Delay
Dari Pengirim 1 1.0089 detik 1.0087 detik
Dari Pengirim 2 1.0018 detik 1.0012 detik
Tabel 4.2 Uji Coba Performa Beberapa Skenario
Gambar 4.1 Tampilan Hasil Video Streaming Menggunakan File
No
Skenario
1 2 3 4
Skenario 1 Skenario 2 Skenario 3 Skenario 4
Waktu delay Dari Dari Pengirim 1 Pengirim 2 1.0012 detik 1.0718 detik 1.0089 detik 0.5342 detik 0.5998 detik 0.7006 detik
Tabel 4.3 Uji Coba Performa Untuk File Video Berbeda
No
File Video
AVI MPEG-1 MOV RAW
1 2 3 4
Waktu Delay Dari Dari Pengirim 1 Pengirim 2 2.0908 detik 2.0809 detik 2.5603 detik 2.5089 detik 1.5561 detik 1.5206 detik 1.0089 detik 1.0002 detik
Tabel 4.4 Uji Coba Performa Untuk Panjang Kata Kunci yang Berbeda
Gambar 4.2 Tampilan Hasil Video Streaming Menggunakan Capture Device
4.2 Uji Coba Performansi Uji coba performansi dilakukan untuk menguji performa dari sistem. Terdapat empat buah percobaan sistem yaitu, 1. Pengujian performa algoritma enkripsi 2. Pengujian performa untuk beberapa skenario 3. Pengujian performa untuk file video yang berbeda 4. Pengujian performa untuk kata kunci yang memilii panjang yang berbeda. Hasil uji coba ini dapat dilihat pada tabel, tabel, tabel, tabel.
No
Panjang Password
1 2 3 4
7 Karakter 8 Karakter 10 Karakter 100 Karakter
5.
Waktu Delay Dari Dari Pengirim 1 Pengirim 2 1.0089 detik 1.0018 detik 1.0076 detik 1.0118 detik 0.9798 detik 1.0098 detik 0.9108 detik 1.0456 detik
Kesimpulan
Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, penulis mengambil kesimpulan sebagai berikut : 1.
6
Penggunaan algoritma enkripsi DES dan MD5 tidak memperngaruhi kinerja dari video streaming itu sendiri. Oleh karena algoritma enkripsi DES dan MD5 cocok untuk diterapkan pada video streaming, walaupun algoritma DES adalah algoritma blok cipher. Mochamad Khilmi - 5107100025
SEMINAR TUGAS AKHIR PERIODE JULI 2011
2.
3.
6. [1] [2]
[3]
[4]
[5]
[6]
[7]
Pemilihan penggunaan file video untuk pengiriman video pada JMF memiliki pengaruh terhadap performasi video streaming itu sendiri. Ini terbukti dalam uji coba bahwa penggunaan tipe file video yang berbeda mempengaruhi parameter uji coba. Framework JMF cocok digunakan untuk video streaming yang mengutamakan video yang berbasis real-time. Dalam uji coba yang dilakukan JMF dapat mengirim video ke penerima dengan delay waktu kurang dari 1 detik, tergantung bandwidth jaringan.
Daftar Pustaka Stallings, William. 2005. “Cryptography and Network Security, 4th edition”. Intania Savitri, Dian. 2008. “Perancangan dan Implementasi Modifikasi Algoritma VEA (Video Encryption Algorithm) untuk Video Streaming”. Singh, Gurmeet. 2006. “Secure Video Conferencing for Web Based Security Surveillance System”. Letivina Anggraini, Erina. 2008. “Secure Broadcast Distribution Menggunakan Java Media Framework (Jmf) Plug-Ins Untuk Pendistribusian Video”. http://en.pudn.com/ tentang contoh implementasi pengiriman paket data RTP, diakses tanggal 16 april 2011 http://www.koders.com/ tentang contoh implemntasi algoritma DES, diakses tanggal 5 april 2011. http://id.wikipedia.org/wiki/DES tentang penjelasan dan pengertian DES beserta cara kerja, tanggal 18 mei 2011.
7
Mochamad Khilmi - 5107100025