Random Post

Recent Post
Home » , , » Perancangan dan Implementasi Modifikasi Algoritma VEA (Video Encryption Algorithm) untuk Video Streaming

Perancangan dan Implementasi Modifikasi Algoritma VEA (Video Encryption Algorithm) untuk Video Streaming

ABSTRAK
         Makalah ini akan membahas model enkripsi video streaming yang dibangun dengan tujuan mengamankan data video yang akan dikirim melalui jaringan komputer dengan metode streaming. Enkripsi data akan dilakukan di sisi transmitter, yaitu sisi pengirim video, dan kemudian data tersebut dikirim ke sisi receiver sebagai penerima video. Sebelum dapat dijalankan, data video yang dikirim harus didekripsi terlebih dahulu oleh sisi receiver. Kunci yang digunakan pada sisi transmitter dan receiver harus sama. Jika kunci yang digunakan tidak sama, maka receiver tidak dapat mendekripsi data tersebut dimana pada akhirnya video tidak dapat ditampilkan. Algoritma enkripsi video yang dipilih untuk diimplementasikan pada video streaming adalah VEA (Video Encryption Algorithm). Algoritma VEA umum digunakan untuk keperluan enkripsi video karena  kemudahannya dalam implementasi, terutama karena algoritma ini mengenkripsi video bit per bit. Algoritma VEA selanjutnya dimodifikasi sedemikian rupa agar cocok diimplementasikan terhadap model enkripsi video streaming. Modifikasi dilakukan dengan menambahkan algoritma kriptografi kunci rahasia DES dan fungsi hash MD5. Selain itu juga, operasi yang akan dilakukan oleh modifikasi algoritma VEA bukan lagi bit per bit namun per paket-paket data yang akan dikirim transmitter. Paket-paket data ini akan dienkripsi menggunakan DES, dimana masukan kunci untuk DES di-hash terlebih dahulu menggunakan MD5. Model enkripsi video streaming ini dibangun dengan menggunakan bahasa pemrograman Java dan memanfaatkan kakas Java Media Framework (JMF).

Kata kunci: video streaming, enkripsi, DES, MD5, JMF.

1. PENDAHULUAN

          Keamanan data multimedia sangat penting dalam bisnis komersil maupun tradisional saat ini. Contohnya, pada aplikasi video on demand, hanya orang yang membayar yang dapat menonton video tersebut. Selain itu juga pada aplikasi video conferencing, hanya orang yang berkepentingan saja yang dapat ikut serta dalam konferensi tersebut dan mendapatkan datanya. 
            Salah satu cara untuk mengamankan aplikasi distributed multimedia seperti pada contoh-contoh di atas adalah dengan mengenkripsinya menggunakan algoritma kriptografi seperti DES (Data Encryption Standard) atau IDEA (International Data Encryption Algorithm) [2]. Masalahnya, algoritma kriptografi tersebut memiliki komputasi yang rumit. Implementasi dari algoritma kriptografi ini tidak cukup cepat untuk memproses sejumlah besar data yang dihasilkan oleh aplikasi multimedia. [3] 
            
            Dua hal yang dapat diperhatikan dari enkripsi data multimedia adalah: pertama, ukuran data multimedia biasanya sangat besar. Sebagai contoh, ukuran data dari video MPEG-1 berdurasi dua jam kira-kira 1 GB. Kedua, data multimedia harus diproses real-time. Memproses sejumlah besar data saat real-time dengan algoritma kriptografi yang rumit akan memperberat kinerja komputer serta jaringannya, dan juga tidak nyaman bagi orang yang menonton video tersebut secara real-time karena hal tersebut dapat berpengaruh juga pada delay video yang sedang ditontonnya. 
             Untuk beberapa jenis aplikasi video komersil, seperti program pay-per-view, informasi yang terdapat sangat banyak, tetapi nilai dari informasi tersebut sangat rendah. Serangan terhadap data ini sangat mahal tetapi tidak menguntungkan karena untuk memecahkan kode enkripsi video tersebut jauh lebih mahal dibandingkan membeli program untuk menonton video tersebut [3]. Walaupun begitu, algoritma enkripsi yang ringan yang dapat menghasilkan tingkat keamanan yang cukup memuaskan dan memiliki komputasi yang ringan sangat dibutuhkan pada aplikasi video. 
            Banyak algoritma enkripsi video yang telah dibangun sampai saat ini, tetapi algoritma yang umum digunakan terutama untuk aplikasi video streaming adalah algoritma Video Encryption, atau sering disebut juga VEA (Video Encryption Algorithm). Alasan banyaknya penggunaan algoritma ini adalah karena tingkat keamanannya yang cukup memuaskan, komputasi yang ringan, dan cocok diimplementasikan di lingkungan video streaming karena algoritmanya yang 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, terutama apabila Video Encryption ini dapat dikombinasikan dengan algoritma kriptografi kunci rahasia seperti DES atau AES yang sudah cukup terkenal tingkat keamanannya. Sebelum enkripsi video dapat diterapkan pada video streaming, akan lebih baik jika model dari penerapan enkripsi video pada video streaming dirancang terlebih dahulu, agar enkripsi video dapat berjalan dengan baik.

2. VEA
              Sama dengan enkripsi pada data teks, enkripsi video juga memiliki algoritma sendiri. Umumnya video dapat dienkripsi langsung dengan menggunakan algoritma enkripsi kunci rahasia yang telah banyak beredar saat ini, seperti DES, AES, dan lain-lain, tetapi enkripsi seperti itu membutuhkan waktu yang cukup lama, karena ukuran video yang cukup besar. Algoritma enkripsi video yang umum digunakan adalah VEA (Video Encryption Algorithm). Algoritma ini memiliki berbagai macam modifikasi yang disesuaikan berdasarkan kebutuhan, karena kemudahannya dalam implementasi. Salah satu tipe modifikasinya diberi nama MVEA (Modified VEA). 
Berikut adalah skema global dari algoritma VEA:
  1. Buka file MPEG.
  2. Baca frame file MPEG, baca tipe frame-nya.
  3. Baca stream bit dari frame tersebut.
  4. Jika frame dari stream bit bukan frame I, maka
  5. stream bit langsung ditulis ke file tujuan.
  6. Jika stream bit tersebut merupakan stream bit dari frame I, maka bit-bit tersebut di-XOR-kan dengan kunci.
  7. Tulis hasil enkripsi ke file tujuan.
  8. Baca frame selanjutnya, kembali ke langkah
  9. nomor 2 sampai End-of-File.
Diagram alir dari algoritma VEA dapat dilihat di Gambar 1.

             VEA (Video Encryption Algorithm) merupakan sebuah algoritma enkripsi video yang berbasis pada cipher aliran (stream cipher). Kunci rahasia VEA, k, di-generate secara random dalam bentuk bitstream dengan panjang m, yang dapat ditulis sebagai k = b1b2...bm. Bitstream dari video dapat direpresentasikan dengan:
S = ...s1...s2...sm...sm+1...sm+2...s2m..  (1)

yang dalam hal ini si (i = 1,2,...) adalah seluruh bit-bit dari video. Fungsi enkripsi VEA, Ek, dapat ditulis dengan:
Ek(S) = ...(b1 ⊕ s1) ... (bm ⊕ sm+1) ... (bm ⊕ s2m) ... (2)
yang dalam hal ini ⊕ adalah operasi XOR.

Gambar 1. Diagram Alir Algoritma VEA untuk video MPEG
Detail algoritma Video Encryption (VEA) dalam bentuk algoritma umumnya adalah sebagai berikut:

Algoritma VEA(
          int   m,                             /*key length*/
          bit   key[m],                    /*secret key*/
          char *mpeg_video,         /*input file*/
          char *vea_mpeg_video) /*output file*/
{
          int n; /*buffer size*/
          bit video[n]; /*input buffer*/
          file in; /*for input*/
          file out; /*for output*/
          int k,l,i = 0;
          in = open(mpeg_video,“r“);
          out = open(vea_mpeg_video,“w“);
          while(!eof(in)){
                  l = read(video,n,in);
             /*read l bits*/
          for(k=0,k<l;k++){
          switch(video[k]){
           case(beginning of a GOP):
           i=0;
            /*resynchronization*/
             break;
             case():
             video[k] = video[k] xor
             key[i];
             i = ++i mod m;
} /*end switch*/
} /*end for*/
             write(video,l,out);
} /*end while*/
              close(in);
             close(out);
}
/*end procedure*/
Share this article :

0 komentar:

Posting Komentar

Other Post

Other Post
 
Support : Your Link | Your Link | Your Link
Copyright © 2013. Gommbang - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger