42
BAB 3
ANALISIS DAN PERANCANGAN
3.1. Analisis
3.1.1. Analisis
Permasalahan
Kebutuhan terhadap adanya metode pengamanan data yang reliable dan mudah diimplementasikan semakin meningkat seiring dengan bertambah kritisnya peran data dalam dunia bisnis. Seiring dengan meningkatnya kebutuhan tersebut maka metode – metode pengamanan data yang baru pun terus bermunculan dan berkembang, namun perkembangan metode pengamanan data tersebut umumnya hanya ke arah pencegahan data untuk ditafsirkan dengan mudah oleh pihak yang tak berwenang. Oleh karena arah pengembangan keamanan data tersebut umumnya sudah diketahui oleh khalayak ramai, maka pelaku pencurian data pun sudah mulai dapat beradaptasi dengan perkembangan metode pengamanan data tersebut dalam kecepatan yang terus meningkat, data yang diamankan dengan menggunkan metode enkripsi umumnya tidak dapat bertahan lama oleh karena data tersebut setelah diproses dengan metode enkripsi biasanya menjadi
unusable sehingga menjadi mencurigakan.
3.1.2.
Analisis Audio Steganography
Untuk mengatasi masalah tersebut, sebuah metode kuno pengamanan data yang kemudian dikenal dengan Steganography dapat diaplikasikan. Prinsip utama dari metode ini adalah mengamankan data dengan menyamarkan keberadaan data dengan
audio dan file video. Hal ini dapat dicapai dengan memanfaatkan kelemahan indera penglihatan dan pendengaran manusia.
3.2. Perancangan
3.2.1.
Perancangan Struktur Menu
Program hasil dari penelitian ini untuk selanjutnya akan disebut dengan StegAMP. Struktur menu utama dari program steganography stegAMP ini (Gambar 3.1) terdiri dari menu Conceal dan Reveal. Menu Conceal memiliki sub menu Carrier, Data
To Hide, Passphrase, Save To, dan Exit. Menu Reveal memiliki 2 sub menu yaitu Carrier Extract to, Passphrase dan Exit.
3.2.2. Perancangan
Layar
3.2.2.1. Perancangan Layar Menu Utama
Pada perancangan layar menu utama (Gambar 3-2), terdapat 2 pilihan menu yang terdiri dari menu-menu sebagai berikut :
1. Menu “Conceal” (Gambar 3. 2), dengan sub menu : Carrier, Data To Hide, Save
To, Passphrase dan Exit.
2. Menu “Reveal (Gambar 3.3)”, dengan sub menu : Carrier, Extract To,
Passphrase, dan Exit.
Gambar 3-3 Rancangan layar menu Reveal
Selain itu, juga terdapat layar yang berisi informasi mengenai file MP3 yang akan dijadikan medium, seperti lokasi audio header pertama , bitrate, frekuensi sample, durasi lagu (dalam detik), jumlah frame, dan ukuran maksimal file yang dapat disisipkan ke lagu, hal - hal ini berfungsi untuk memberi user petunjuk mengenai lagu yang akan dijadikan medium, dan mempertimbangkan kapasitas lagu tersebut serta tingkat degradasi kualitas yang diharapkan (contoh: semakin besar bitrate maka semakin kecil degradasi kualitas yang akan diperoleh dengan menyisipkan pesan rahasia yang sama) dan dapat menghitung besar ideal dari file yang akan disisipkan, dan sebaliknya.
3.2.2.2. Perancangan layar menu Carrier
Pada perancangan layar Carrier(Gambar 3.4), terdapat tempat untuk memasukkan nama file MP3 dan lokasi dimana lagu yang ingin dijadikan steganography
medium.
Gambar 3-4 Rancangan layar menu Carrier
File MP3 yang dapat digunakan sebagai input dalam proses steganography ini adalah file MP3 tanpa bit reservoir. Bila user berusaha memilih file MP3 yang menggunakan
bit reservoir, maka akan timbul pesan informasi.
3.2.2.3. Perancangan layar menu Data To Hide
Bila file MP3 yang ditentukan sebagai Carrier telah memenuhi syarat, maka user dapat memilih data yang akan disembunyikan dengan sub menu Data To Hide (Gambar 3.5). Besar file data yang dapat disembunyikan harus sesuai dengan kapasitas maksimum dari file MP3 yang dipilih sebagai Carrier.
Gambar 3-5 Rancangan layar menu Data To Hide
Pada perancangan layar Data To Hide (Gambar 3.5), terdapat tempat untuk memasukkan lokasi dimana file data yang ingin disembunyikan tersebut berada, serta nama file dan tipe file data. Pada menu ini terdapat juga dropdown listbox yang dapat memudahkan user untuk menuju ke lokasi yang diinginkannya.
3.2.2.4. Perancangan layar menu Save To
Setelah file MP3 Carrier dan file data yang akan disimpan telah ditentukan dan telah memenuhi syarat, maka user dapat menentukan lokasi penyimpanan file hasil steganography dengan sub menu Save To (Gambar 3.6).
Gambar 3-6 Rancangan layar menu Save To
Pada perancangan layar Save To(Gambar 3.6), terdapat tempat untuk memasukkan lokasi dimana file yang sudah di steganography ingin disimpan, serta nama file dan tipe
file yang harus MP3. Pada menu ini terdapat juga dropdown listbox yang dapat
memudahkan user untuk menuju ke lokasi yang diinginkannya.
Seperti dengan inputnya, file MP3 yang akan dihasilkan oleh program stegAMP ini akan berupa file MP3 tanpa bit reservoir juga.
3.2.2.5. Perancangan Layar Menu Passphrase
Pada perancangan layar menu Passphrase (Gambar 3.7), terdapat text box yang berguna untuk memasukkan PassPhrase yang ingin dibuat, dapat berbentuk kombinasi dari angka atau huruf. PassPhrase yang dapat dimasukkan disini harus berupa karakter dengan jumlah minimal 4 buah.
Gambar 3-7 Perancangan layar PassPhrase
Passphrase disini akan di gunakan untuk menghasilkan sebuah kombinasi angka acak. Angka acak hasil passphrase dsini akan menentukan urutan lokasi penyimpanan data pada medium, jadi harus diingat baik baik.
Setelah proses pengisian PassPhrase selesai, maka akan muncul progress indicator, yang menandakan sudah seberapa jauh proses steganography dikerjakan.
3.2.2.6. Perancangan layar menu Carrier
Pada perancangan layar sub menu Carrier pada menu Reveal(Gambar 3.8), terdapat tempat untuk memasukkan nama lagu dan lokasi dimana lagu medium yang telah mengalami proses steganography dan ingin diextract datanya. Disini terdapat tombol tombol dan dropdown listbox yang akan memudahkan navigasi system oleh user.
Gambar 3-8 Rancangan layar menu Carrier
3.2.2.7. Perancangan layar menu Extract To
Pada perancangan layar sub menu Extract To (Gambar 3.9) terdapat tempat untuk memasukkan nama file dan lokasi penampungan file yang akan diextract. Disini user juga perlu memasukkan extension dari file yang akan di extract. Disini terdapat tombol tombol dan dropdown listbox yang akan memudahkan navigasi system oleh user.
Gambar 3-9 Rancangan layar menu Extract To
3.2.2.8. Perancangan layar Pesan Error
Layar ini (Gambar 3.10) akan muncul jika terdapat error dalam pengeksekusian program.
Error X
OK Messages
Gambar 3-10 Rancangan layar Pesan Error
3.2.2.9. Perancangan Layar Pesan Informasi
Layar pesan informasi ini (Gambar 3.11) akan muncul pada saat user berusaha melakukan tindakan yang menyalahi prosedur, seperti memasukkan PassPhrase dan pada saat proses yang dikerjakan user telah selesai. Kegunaan layer ini
Gambar 3-11 Rancangan layar Pesan Informasi
3.2.2.10. Perancangan Layar Pesan Konfirmasi
Layar ini (Gambar 3.12) akan muncul pada saat program meminta konfirmasi dari user, seperti pada saat overwrite dan sebelum pengeksekusian steganography pada sebuah file MP3, dll.
Confirm X
Yes
Messages No
Gambar 3-12 Rancangan layar Konfirmasi
3.2.3. Perancangan
Flowchart
3.2.3.1. Flowchart Modul Menu Carrier
Jika user ingin menyembunyikan suatu file data kedalam sebuah file audio dengan format MP3, maka terlebih dahulu user harus memilih file MP3 yang akan dijadikan medium. Hal ini dimaksudkan agar file MP3 tersebut dapat terlebih dahulu dianalisa kapasitas penyimpanan datanya serta faktor faktor yang mempengaruhi kualitas audio dari file tersebut setelah disisipkan data. Informasi mengenai file MP3 (bitrate, frekuensi, dan lain lain) tersebut dan hasil analisanya ditampilkan dalam textarea dibawah main menu dengan tujuan agar user dapat mempertimbangkan dan
adalah file MP3 tanpa bit reservoir. Bila user berusaha memilih file MP3 yang menggunakan bit reservoir, maka akan timbul pesan informasi.
Gambar 3-13 Flowchart modul menu Carrier
3.2.3.2. Flowchart Modul Menu Data To Hide
Setelah menentukan file audio yang akan dijadikan Carrier, maka user dapat menentukan file data yang akan disembunyikan kedalamnya. Ukuran data yang dapat
disisipkan dalam sebuah file MP3 menggunakan teknik steganography ini terbatas menurut spesifikasi file MP3, jadi user harus menyesuaikan dahulu lagu yang akan dipilih menjadi medium demikian juga sebaliknya. Apabila user berusaha menyembunyikan file dengan ukuran yang lebih besar dari kapasitas penyimpanan file MP3 yang dipilih maka akan tampil pesan error.
File data yang dapat ditangani oleh StegAMP ini hanya terbatas pada ukuran, jadi StegAMP dapat menangani semua tipe file asal ukurannya memenuhi syarat.
stegAMP ini akan berupa file MP3 tanpa bit reservoir juga.
Gambar 3-15 Flowchart modul menu Save To
3.2.3.4. Flowchart Modul Menu Passphrase
Jika user ingin menyembunyikan data kedalam sebuah file MP3, maka user harus memasukkan passphrase. Passphrase ini berguna untuk menghasilkan sebuah seed menggunakan metode hashing yang akan dipakai dalam menghasilkan bilangan acak yang menentukan urutan lokasi penyimpanan data di dalam file MP3. Bilangan bilangan acak yang dihasilkan akan digunakan untuk menentukan urutan penulisan data pada
frame frame audio di file MP3 menggunakan metode hashing, sehingga user harus memasukkan PassPhrase yang sama baik dalam proses Conceal (penyembunyian) maupun Reveal (pengekstrakan) data. Kesalahan dalam proses pemasukkan PassPhrase akan berakibat pada kesalahan dalam proses ekstrak data.
Menu PassPhrase akan secara otomatis muncul pada saat user memulai proses steganography atau pengekstrakan data dan file Carrier, data yang akan disembunyikan, serta lokasi penyimpanan telah ditentukan.
PassPhrase yang dapat dimasukkan user harus terdiri dari 4 karakter atau lebih. Hal ini disebabkan metode hashing yang digunakan untuk menghasilkan sebuah bilangan hanya dapat bekerja pada 4 karakter atau lebih. Apabila user memasukkan kurang dari 4 karakter ke dalam PassPhrase, maka akan timbul pesan error yang memberi tahu user
Setelah file Carrier, serta lokasi penyimpanan file hasil ekstrak telah ditentukan maka user dapat langsung menjalankan proses pengekstrakan dan memasukkan passphrase.
3.2.4.
Perancangan Spesifikasi Proses
3.2.4.1. Perancangan Spesifikasi Proses Modul Hide Data
Hide Module
Check All Files Needed For Hiding Process are Specified Call “Load MP3” Module
Call “Passphrase” Module Key = Hash Phrase
Set Seed Based on Key Encrypt Target Hidden Call “Hide Data” Module End Module
Load MP3 Module
Open MP3 File as Binary Count Frames
Load Frame Length End Module
Get Passphrase Module Get Phrase Input
Hash Phrase
End Module
Hide Data Module
Initialize Buffer For Hidden File
Create Target File Based on Copy of Carrier File (MP3) Generate Random Number
Calculate Number of Passes Open Target File (MP3) as Binary
Save Hidden File Length into First Frame For Counter = 1 to Npass
While (Count per Pass < Frame Count) AND (Total Count < File Size) Do
Random Address
While Address Not Occupied
Goto Address
Insert Data at Address Increment Count per Pass Increment Total Count
Pada Hide Module ini terdapat fungsi enkripsi data agar lebih meningkatkan pengamanan data. Untuk fungsi enkripsi ini digunakan algoritma blowfish.
Untuk memproses passphrase untuk menjadi seed dari random number generator digunakan metode hashing RS terhadap passphrase tersebut. Sedangkan untuk menghasilkan bilangan acak digunakan algoritma mother of all.
Metode penyisipan data kedalam lagu ini menggunakan slot, dimana slot adalah bagian dari frame yang dapat dimasukkan oleh data, dimana 1 slot berarti 1 byte / frame. Pada proses penyisipan data kedalam file MP3, data terlebih dahulu ditampung dalam file encrypt.tmp, dienkripsi menggunakan algoritma blowfish, setelah itu data baru dimasukkan kedalam slot yang ditentukan pada tiap frame audio.
3.2.4.2. Perancangan Spesifikasi Proses Modul Reveal
Reveal Module
Check All Files Needed For Revealing Process are Specified Call “Load MP3” Module
Call “Passphrase” Module Key = Hash Phrase
Set Seed Based on Key Call “Reveal Data” Module Decrypt Buffer
Save Buffer as Target File (MP3) End Module
Reveal Data Module
Open MP3 File (Carrier) as Binary
Load Hidden File Length From First Frame Initialize Buffer For Hidden File
Generate Random Number Calculate Number of Passes For Counter = 1 to Npass
While (Count per Pass < Frame Count) AND (Total Count < File Size) Do
Random Address
While Address Not Extracted
Goto Address
Load Data from Address to Buffer Increment Count per Pass
Increment Total Count End While
End For End Module