Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Aplikasi Steganografi pada Berkas Audio Menggunakan Borland Delphi Raka Yusuf1, Agus Setiawan2 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana Jl. Raya Meruya Selatan, Kembangan, Jakarta, 11650 E-mail:
[email protected],
[email protected] Abstrak -- Perkembangan teknonologi di dunia saat ini amat penting dalam pertukaran informasi secara cepat dan akurat. Karena itu keamanan data menjadi penting. Sejauh ini kita lebih sering mendengar teknik keamanan data menggunakan kriptografi. Ada beberapa pendekatan lain seperti steganografi dan watermarking. Steganografi lebih kepada menyembunyikan data dengan cara menyisipkannya ke dalam data lain yg lebih besar uskurannya. File WAV merupakan salah satu tipe file yang dapat digunakan untuk menyembunyikan data. Metoda yang digunakan di sini menggunakan 2 bit LSB untuk menembunyikan data. Hasilnya seperti yg ditunjukkan pada seksi pengujian memperlihatkan data teks dapat disembunyikan sementara file WAV dapat tetap dimainkan tanpa merubah kualitas suara secara kasat telinga. Besar file WAV yang dibutuhkan tergantung pada besar teks yang akan disembunyikan. Kata kunci: Keamanan data, penyembunyian data, steganografi, low bit encoding. I. PENDAHULUAN Perkembangan dunia teknologi saat ini sangat penting dalam pertukaran informasi yang cepat dan akurat, maka banyak orang menggunakan Internet untuk melakukan proses pertukaran informasi sehingga keamanan data sangat penting. Pengiriman data banyak dilakukan dengan media elektronik seperti misalnya pada Internet melalui e-mail, dan sebagainya karena data yang dikirim melalui Internet lebih cepat sampainya, sehinga lebih menghemat waktu. Namun yang menjadi masalahnya saat ini adalah mengenai keamanan datanya yang dikirim melalui media elektronik [1]. Salah satu cara dalam menjaga keamanan data yang dikirim melalui media elektronik yaitu dengan cara menyembunyikan data pada suatu media sebagai pembawa (carrier), agar data tidak terlihat oleh mata telanjang dan steganografi merupakan teknik penyembunyian data tersebut. Steganografi sebagi suatu seni menyembunyikan pesan di dalam pesan lainya. Media file audio merupakan salah satu bentuk media yg digunakan untuk menyembunyikan data [2]. Dengan metode steganografi, penyembunyian data di dalam media audio dapat dilakukan, sehingga keamanan data lebih terjamin kerahasiaan dan keaslianya.
Steganografi sudah berkembang sangat pesat dan mempunyai banyak metode yang dapat dilakukan untuk menyembunyikan data pada suatu media. Pada tugas akhir ini akan membahas mengenai ”Aplikasi Steganography pada file audio” sebagai suatu sarana akan pengamanan data. II. LANDASAN TEORI A. Kriptografi Kriptografi adalah sebuah ilmu untuk mengamankan data. Kriptografi sudah digunakan 4000 tahun yang lalu yang diperkenalkan oleh orang-orang Mesir menggunakan hieroglyph [3]. Kriptografi memiliki latar belakang sejarah yang panjang. Juga diungkap bahwa latar belakang sejarah yang panjang itu sangat menentukan perkembangan ilmu kriptografi itu sendiri baik dari segi teoretik maupun aplikasinya. Kriptografi berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kata kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan [4]. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [5]. Lihat Gambar 1.
Gambar 1 Encryption and Decryption (sumber: Schneier, 1996:13) B. Steganografi Istilah steganogafi berasal dari Bahasa Yunani yaitu Steganós yang berarti penyamaran atau penyembunyian dan Graphein yang berarti tulisan sehingga secara keseluruhan diartikan sebagai seni menyamarkan atau menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang dituju, orang lain tidak akan menyadari keberadaan dari pesan rahasia tersebut [3]. Gambar 2 memperlihatkan diagram penyisipan dan ekstrasi pesan pada steganografi.
391
Gambar 2 Diagram penyisipan dan Ekstrasi Pesan (Sumber: Munir, 2006:307)
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Sejarah steganografi cukup panjang. Awalnya penggunaan hieroglyphic oleh bangsa mesir, yakni menulis dalam karakter-karakter dalam bentuk gambar. Mesir merupakan bangsa yang pertama kali menggunakan kriptografi di dunia ini. Hieroglyphic dibaca sebagai gambar atau simbol. Di kota Mente Khufu, 4000 tahun yang lalu, ahli tulis menggunakan tulisan Mesir kuno yang menceritakan kehidupan majikannya. Tulisan Mesir kuno tersebut menjadi ide untuk membuat pesan rahasia saat ini. Oleh karena itu, tulisan Mesir kuno yang menggunakan gambar dianggap sebagai steganogafi pertama di dunia [3]. Ada tujuh teknik yang digunakan dalam steganografi antara lain [3]: 1. Teknik Injection (Injection technique) 2. Teknik Substitusi (Substitusion technique) 3. Teknik Transform Domain (transform domain technique) 4. Teknik Spread Spectrum (Spread Spectrum technique). 5. Teknik Statistik ( Statistical technique) 6. Teknik Distortion ( Distortion technique) 7. Teknik Cover Generation (Cover Generation technique) Dari ketujuh teknik diatas, cara yang lazim digunakan dalam steganografi audio, antara lain dengan mengganti atau menambahkan bit. Berikut beberapa metode yang digunakan: 1. Metode pertama yaitu dengan Penggantian Low Bit Encoding Cara ini lazim digunankan dalam teknik digital steganografi. Cara kerjanya sama seperti LSB (Least Significant Bit), yakni dengan cara memasukkan tiap bit dari pesan yang ingin disembunyikan kedalam akhir dari 1 byte pada data audio. 2. Metode kedua yaitu dengan merekayasa fase dari sinyal masukan Teori yang digunakan adalah mensubtitusi awal fase dari tiap awal segment dengan fase yang telah dibuat sedemikian rupa dan merepresentasikan pesan yang telah disembunyikan. 3. Metode ketiga yaitu dengan Spread Spectrum Encoding Definisi spread spectrum adalah modulator bentuk gelombang untuk menyebarkan energi sinyal dalam sebuah jalur komunikasi (bandwidth) yang lebih besar dari pada sinyal jalur komunikasi informasi Metode spread spectrum dalam steganografi diilhami dari skema komunikasi spread spectrum, yang mentransmisikan sebuah sinyal pita sempit ke dalam sebuah kanal pita lebar dengan penyebaran frekuensi [8]. 4. Metode keempat dengan menyembunyikan pesan melalui teknik-echo Teknik menyamarkan pesan ke dalam sinyal yang membentuk echo. Kemudian pesan disembunyikan dengan menvariasikan tiga parameter dalam echo
yaitu besar amplitudo awal, tingkat penurunan atenuasi, dan offset [3]. Keempat metode di atas meiliki kesamaan, yaitu dengan menggunakan kelemahan dari sistem pendengaran manusia C. File Audio Audio file digunakan menjadi cover informasi yang akan disembunyikan. Jenis-jenis audi file cukup banyak, seperti WAVE, MP3, MIDI, dan sebagainya. 1. WAVE WAV adalah singkatan dari istilah dalam bahasa Inggris waveform audio format, merupakan standar format berkas audio yang dikembangkan oleh Microsoft dan IBM. WAV merupakan varian dari format bitstream RIFF dan mirip dengan format IFF dan AIFF yang digunakan komputer Amiga dan Macintosh. Walaupun WAV dapat menampung audio dalam bentuk terkompresi, umumnya format WAV merupakan audio yang tidak terkompres. Di antara semua audio file, file WAVE merupakan format yang paling umum dan dapat diputar pada hampir semua pemutar multimedia. Oleh karenanya, penulis memilih berkas suara dengan format WAV sebagai plainteks. 2. MP3 MPEG (Moving Picture Expert Group)-1 audiolayer III atau yang lebih dikenal dengan Sejarah mp3 dimulai dari tahun 1991 saat proposal dari Phillips (Belanda), CCET (Perancis), dan Institut für Rundfunktechnik (Jerman) memenangkan proyek untuk DAB (Digital Audio Broadcast). Pada umumnya, format MP3 kini mengunakan 128kbits/s dan 192 kbits/s sehingga hasil yang diperoleh cukup baik. 3. MIDI Musical Instrument Digital Interface (MIDI) adalah sebuah standar hardware dan software internasional untuk saling bertukar data (seperti kode musik dan MIDI Event). Standarr MIDI File (SMF) bisa menyimpan informasi untuk beberapa patter dan trak sehingga setiap sekuenser yang berbeda bisa mendukung struktur itu ketika membuka berkas tersebut. Format ini didesain secara generic agar setiap data penting bisa dibaca oleh sekuencer. D. Rekayasa Perangkat Lunak Model pertama yang diterbitkan untuk proses perangkat lunak diambil dari proses rekayasa lain. “model air terjun” (Waterfall Model), sebagai metodologi penyelesaian masalah secara sistematis dan sekuensial dimulai dari tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan [7]. Penjelasan dalam model air terjun adalah sebagai berikut [6]:
392
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
1. Tahapan Rekayasa Sistem. Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem dengan menentukan konsep sistem beserta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem. 2. Tahapan Analisis. Pada tahap ini dilakukan pengumpulan kebutuhan elemen-elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain-domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak. 3. Tahapan Perancangan. Pada tahap perancangan, kebutuhan-kebutuhan perangkat lunak, yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan. 4. Tahapan Pemrograman. Tahap ini melakukan penerapan hasil rancangan ke dalam baris-baris kode program yang dapat dimengerti oleh computer 5. Tahapan Pengujian. Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat lunak yang memfokuskan pada masalah-masalah logika internal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan. 6. Tahapan Pengoperasian dan Pemeliharaan. Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangnya. Dengan demikian, kedua factor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu-kewaktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak.
B. Perancangan Sistem Pada rancangan sistem ini terdapat rancangan diagram blok berupa gambaran sistem penerapan Metode LSB (Least Significant Bit) secar garis besar. Algoritma program yang akan dijelaskan dengan menggunakan pseudocode, Flowchart yang menggambarkan prosedur dari sebuah aplikasi, dan struktur menu yang merupakan struktur hirarki menu dan rancangan tampilan aplikasi. Berikut merupakan diagram blok yang menggambarkan sistem Steganografi secara garis besar, lihat Gambar 3.
Gambar 3 Diagram Blok Steganografi Algoritma adalah langkah-langkah logis tertentu untuk menyelesaikan suatu masalah atau sebagai suatu jembatan untuk mempermudah pemahaman alur kerja suatu proses. Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Masukan (Input) dan keluaran (output) data yang terjadi dalam sistem steganografi, penulis sajikan datanya dalam beberapa flowchart dibawah ini yang merupakan prosedur dari program enkripsi/dekripsi yaitu flowchart layar utama, layar proses hide/enkripsi, dan layar unhide/deskripsi. Untuk lebih jelas dapat dilihat seperti penjelasan di bawah ini. Pada tampilan layar utama ini, pengguna dapat memilih salah satu proses yang diinginkan yaitu memilih proses sembunyi data, dan proses ambil data. Untuk lebih jelasnya lihat Gambar 4.
III. ANALISIS DAN PERANCANGAN A. Analisis Masalah yang akan didefinisikan dalam aplikasi ini yaitu bagaimana membuat aplikasi penyisipan dan pengambilan data dari file carier yang digunakan untuk mengamankan data penting, agar data tidak jatuh ketangan orang yang tidak berkepentingan seperti stegoanalis.Melihat masalah tersebut, maka penulis mencoba memberikan alternatif yaitu dengan suatu aplikasi steganografi menggunakan metode LSB. Cara kerja metode ini dengan memasukkan tiap bit dari pesan yang ingin disembunyikan ke dalam akhir dari 1byte pada data audio.
393
Gambar 4 Flowchart menu utama.
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Flowchart sembunyikan data merupakan proses untuk menyembunyikan data ke dalam media audio Wave. Berikut flowchart proses sembunyikan data pada Gambar 5.
1. Pengisian data-data yang diminta oleh sistem. 2. Jika proses dijalankan maka sistem akan memeriksa kelengkapan data jika sudah lengkap sistem akan mengecek carrier file lalu mengambil bit-bit LSB sebanyak ukuran data . Bit yang diambil disusun dan dituliskan kembali kedalam bit pesan yang kemudian disimpan ditempat yang telah ditentukan dan proses ambil data selesai. IV. IMPLEMENTASI DAN PENGUJIAN A. Implementasi Setelah tahapan analisis dan desain sistem selesai dilakukan maka tahapan selanjutnya adalah implementasi dan pengujian. Kode program diperlukan agar rancangan dapat diterjemahkan ke dalam bahasa mesin, agar program yang dibuat dapat dimengerti dan dijalankan oleh mesin. Pada tahapan ini dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan pada bab sebelumnya. Implementasi dari aplikasi ini terdapat lima halaman yaitu, halaman menu utama, halaman menu Hide message, halaman menu Unhide message, halaman menu media player, dan menu about. From halaman menu utama merupakan tampilan utama dalam aplikasi steganografi yang didalamnya memiliki sub menu media player dan About serta tiga buah button untuk proses sisip data (hide), ambil data (unhide), dan button keluar. . Tampilan halaman menu utama dapat dilihat pada Gambar 7.
Gambar 5 Proses sembunyikan data. Berikut flowchart proses ambil data pada Gambar 6.
Gambar 7 Halaman utama. B. Pengujian Dalam perancangan sistem perlu dilakukan pengujian sistem sebagai verifikasi atas sistem yang telah dirancang. Pengujian terhadap aplikasi WaveStego dilakukan dengan menggunakan metode pengujian Black Box. Tahapan pengujian ini meliputi skenario pengujian, hasil pengujian, dan analisis hasil pengujian, yang akan dijelaskan pada sub bab berikut. Untuk menguji aplikasi WaveStego yang telah dibuat, di perlukan sekenario pengujian untuk mengetahui apakah proses-proses yang ada dapat berfungsi dengan baik atau tidak. Selanjutnya pengujian dilakukan ketika proses hide maupun Unhide message di jalankan. Lihat Tabel 4.3. Dari skenario pengujian terhadap aplikasi system yang telah dibuat akan dijelaskan hasil pengujian dari skenario pengujian di atas sebangai berikut, lihat Tabel 4.4.
Gambar 6 Flowchart ambil data. Adapun penjelasan dari flowchart ambil data pada gambar 5 diatas sebagai berikut :
394
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
2. 3.
4.
Pengujian black box berusaha menemukan kesalahan dalam kategori : 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses data base eksternal. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi Dari hasil pengujian yang telah dilakukan dapat diberikan analisis sebagai berikut: 1. Keterkaitan antara halaman satu dengan halaman lainnya pada program telah terpenuhi, karena jika pengguna mengklik salah satu dari menu yang diinginkan maka akan menampilkan halaman yang diingkan tersebut ini membuktikan bahwa
keterkaitan antara halaman satu dengan halaman yang lainnya telah terpenuhi. Selama pengujian tombol-tombol yang ada pada program berjalan dengan normal untuk melakukan proses masing-masing. Proses penyisipan file teks (Hide message) file teks ini berhasil sesuai dengan tujuan program, dengan berhasilnya proses Hide message ini, dapat memberikan kemudahan untuk mengamankan suatu file agar tersamarkan keberadaannya dan terjaga kerahasiannya. Proses untuk mengembalikan atau mengambil file telah berhasil dijalankan dengan proses UnHide message.
V. PENUTUP Berdasarkan hasil pembahasan-pembahasan dan pengujian pada bab-bab sebelumnya dalam hal pembuatan aplikasi yang dilakukan oleh penulis, maka dapat disimpulkan: 1. Pada aplikasi steganography ini hanya dapat menyisipkan teks ke dalam format audio wave saja dan keberadaan teks tidak bisa terlihat oleh indrawi. 2. Hasil dari aplikasi ini berupa Stegofile yang dapat diputar kembali dengan media player. 3. Secar garis besar waktu proses yang diperlukan tergantung pada besar kapasitas dari file yang akan disisipkan. Di samping kesimpulan, penulis juga memiliki beberapa saran yang mengarah pada pengembangan aplikasi yang dibuat, yaitu sebagai berikut:
395
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
1. Penelitian terhadap media lain yang dapat digunakan untuk menyembunyikan data, misalnya: pada media audio yang lain, media movie,media gambar atau media-media lain yang memungkinkan untuk penyembunyian data.. 2. Penelitian mengabungkan metode kompresi, Kriptografi, dan steganografi untuk lebih meningkatkan efisiensi dan keamanan data. VI. DAFTAR PUSTAKA [1] Kurniawan, Yusuf. 2004. Kriptografi Kemanan Internet dan Jaringan Komunikasi. Bandung: Informatika. [2] Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika. [3] Ariyus, Dony. 2009. Keamanan Multimedia Konsep dan Aplikasi. Yogyakarta: Penerbit Andi. [4] Chandralake, Happy. 2009. Mengamankan Data Pribadi Ala Agen Rahasia. Jakarta: PT. Elek Media Komputindo. [5] Schneier, Bruce. 1996. Applied Cryptography Second Edition. Publishing: John Wiley & Sons, Inc. [6] Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Buku 1. Yogyakarta: Penerbit Andi. [7] Kristanto, Andri. 2004. Rekayasa Perangkat Lunak (Konsep Dasar). Yogyakarta: Gava Media. [8] Masaleno, andino. 2006. Pengantar Steganografi.
396