APLIKASI PENGAMANAN DATA DAN INFORMASI DENGAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI TRIPLEDES MENGGUNAKAN BAHASA PEMROGRAMAN C#
NASKAH PUBLIKASI
diajukan oleh : Alfian Abdul Jalid 09.11.3256
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
DATA AND INFORMATION SECURITY APPLICATION WITH LSB STEGANOGRAPHY METHOD AND TRIPLEDES CRYPTOGRAPHY ALGORITHM USING C# PROGRAMMING LANGUAGE APLIKASI PENGAMANAN DATA DAN INFORMASI DENGAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI TRIPLEDES MENGGUNAKAN BAHASA PEMROGRAMAN C# Alfian Abdul Jalid Ema Utami Jurusan Teknik informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Information is now a part that cannot be separated from human life. Almost all of the information has been stored in data file format into digital media such as computers, external hard disk, mobile phone, etc. The information stored in digital media has several advantages such as easy to store, reducing the use of paper, more resilient, etc. But besides that it has some weakness such as authenticity is easy to change, easy to duplicate, etc.. Some of the information is considered important such as state or companies documents require more security to ensure it confidentiality. Many ways to secure the information stored in digital media. One way of securing the information is encryption. Encryption is the art of changing the information called plain text into unreadable format called cipher text. But the cipher text generated from the encryption invite suspicion. To hide the encrypted information can be used steganography. Steganography is a method of hiding information into another file to make it invisible. Application of combining encryption with steganography method will provide better security to information security. As well as a challenge for people who want to know the information in digital media storage. People who want to know the secret data needs to work harder to decrypt the information. Keywords : information security, cryptography, steganography
1.
Pendahuluan Informasi saat ini sudah menjadi bagian yang tidak bisa dipisahkan dari
kehidupan manusia. Hampir semua informasi telah disimpan dalam format file data ke dalam media digital seperti komputer, harddisk eksternal, mobile phone, dll. Informasi yang disimpan dalam media digital memiliki beberapa keuntungan diantaranya mudah disimpan, mengurangi penggunaan kertas, lebih tahan, dll. Namun disamping itu memiliki beberapa kelemahan diantaranya keasliannya mudah diubah, mudah untuk diduplikasi, dll. Beberapa informasi yang dinilai penting seperti dokumen negara atau perusahaan memerlukan pengamanan lebih untuk menjamin kerahasiaannya. Banyak cara untuk mengamankan informasi yang disimpan dalam media digital. Salah satu cara pengamanan informasi adalah enkripsi. Enkripsi adalah seni mengubah informasi biasa yang disebut plain text menjadi format yang tidak terbaca yang disebut cipher text. Namun cipher text yang dihasilkan dari enkripsi mengundang kecurigaan. Untuk menyembunyikan informasi yang telah dienkripsi dapat digunakan steganografi. Steganografi adalah metode menyembunyikan informasi ke dalam file lain untuk membuatnya tidak terlihat. Penerapan metode enkripsi dengan menggabungkan steganografi akan memberikan pengamanan lebih baik terhadap keamanan informasi. Serta menjadi tantangan bagi orang-orang yang ingin mengetahui informasi dalam penyimpanan media digital. Orang-orang yang ingin mengetahui data rahasia perlu bekerja lebih keras untuk mendekripsikan informasi tersebut. 2.
Landasan Teori
2.1
Steganografi
2.1.1 Terminologi Steganografi Steganografi berasal dari bahasa Yunani yang terdiri dari dua kata, yaitu steganos dan Graphia. Steganos berarti tersembunyi dan Graphia artinya tulisan. Dengan 1
demikian, steganografi adalah ilmu atau seni untuk menyembunyikan pesan . Pesan tersebut disembunyikan dengan tujuan agar tidak diketahui oleh orang lain. Yang mengetahuinya adalah dirinya sendiri dan orang lain yang dikehendaki. Steganografi membahas cara untuk menyamarkan dan menyembunyikan pesan.
1
Happy Chandraleka, Mengamankan Data Pribadi ala Agen Rahasia, Elex Media Komputindo, Jakarta, 2009, hal 3.
2.1.2 Sejarah Steganografi Steganografi telah digunakan sejak lama. Pertama kali steganografi digunakan pada masa pemerintahan Yunani kuno dan Persia, Caesar menulis pesan dengan menggunakan papan, dan setelah papan tersebut ditulis, kemudian dilapisi dengan lilin, sehingga pesan tidak bisa dibaca. Pada masa itu teknik ini hanya diketahui oleh orang2
orang yang mempunyai jabatan di dalam istana . 2.1.3 Steganografi Modern Teknik steganografi terus berkembang sejalan dengan perkembangan zaman dan teknologi yang ada. Di antara contohnya adalah penggunaan watermarking (tanda air). Steganografi di masa sekarang ini telah melibatkan pula teknologi komputer. Dalam teknologi komputer pengamanan data dengan steganografi dapat dilakukan dengan dua 3
cara . Cara pertama melibatkan satu file saja sebagai file media atau file carrier. Dan cara kedua dengan cara melibatkan dua file, yaitu file yang memuat data rahasia yang akan disembunyikan dan file lain adalah file media atau carrier. Pada cara pertama, sebuah pesan rahasia yang hanya berupa kata atau kalimat akan disisipkan ke dalam sebuah file media atau file carrier. File media atau file carrier yang digunakan adalah file dengan sembarang format. Biasanya adalah file yang berukuran besar, seperti bitmap. Pesan rahasia tersebut disisipkan ke dalam bit-bit yang tidak penting dari file media atau file carrier. Bit-bit yang tidak penting ini dikenal dengan 4
nama Least Significant Bit (LSB) .
2
Dony Ariyus, Kriptografi Keamanan Data dan Komunikasi, Graha Ilmu, Yogyakarta, 2006, hal 151. 3 4
Chandraleka, Op.cit., hal 5. Ibid.
Gambar 2.1 Steganografi Cara Pertama Dalam steganografi cara kedua, melibatkan dua file. File pertama adalah file yang memuat data rahasia yang akan disembunyikan dan file kedua adalah file yang digunakan sebagai media atau carrier atau cover. File yang digunakan sebagai media haruslah file yang berukuran jauh lebih besar dari file yang akan disembunyikan. Karena 5
file yang besar akan mampu menampung file lain untuk disisipkan ke dalamnya .
Gambar 2.2 Steganografi Cara Kedua File yang dihasilkan dari steganografi, baik dengan cara pertama atau cara kedua, ukuran filenya relatif sama. Tidak ada perubahan, karena pada proses steganografi, bagian yang kosong (LSB) inilah yang digunakan sebagai tempat menyembunyikan file rahasia. Dengan demikian, file gambar yang dihasilkan dari steganografi tidak akan berubah tampilannya. 5
Ibid.
2.2
Kriptografi
2.2.1 Terminolog Kriptografi Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan Graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari satu tempat 6
ketempat lain . 2.2.2 TripleDES TripleDES sederhananya adalah enkripsi tiga kali menggunakan algoritma DES. TripleDES meningkatkan ukuran kunci dari algoritma DES dengan faktor 3, menjadi 168 bit. Algoritma ini menggunakan tiga langkah enkripsi data yang bersumber dari DES, 7
yang dikenal dengan mode Encrypt Decrypt Encrypt (EDE) . Tiga kunci unik 56 bit digunakan dalam algoritma ini, kunci pertama untuk enkripsi, kunci kedua untuk deskripsi, kunci ketiga untuk enkripsi lagi. Dianggap sebagai penggunaan paling kuat dan paling efektif sistem tiga kunci oleh NIST. Meskipun implementasinya tiga kali lebih lambat dari metode DES, namun TripleDES menawarkan keamanan yang lebih besar. Mode Cipher Block Chaining (CBC) adalah teks-asli yang sama akan dienkripsi ke dalam bentuk kode yang berbeda, hal ini disebabkan blok kode yang satu tidak 8
berhubungan dengan blok kode lain, melainkan tergantung pada kode sebelumnya . Blok teks-asli pertama menggunakan vektor awal (Initialization Vector). Pada TripleDES mode CBC memerlukan Initialization Vector (IV) 64 bit menggunakan ukuran blok yang sama. IV harus memiliki nilai random untuk mencegah teks-kode diidentifikasi. IV di-XOR-kan dengan blok teks asli pertama sebelum enkripsi atas blok-blok yang yang lain dilakukan. Ada dua kemungkinan mode enkripsi TripleDES, 9
yaitu inner CBC dan outer CBC .
6
Dony Ariyus, Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi, ANDI Offset, Yogyakarta, 2008, hal 13. 7
Ibid. hal 144.
8
Ibid. hal 101
9
Ibid. hal 146
Gambar 2.3 TripleDES Inner CBC
10
Mode Inner CBC memerlukan tiga IV yang berbeda, proses dari Inner CBC dapat dilihat pada gambar diatas. Sedangkan pada Outer CBC hanya memerlukan satu IV.
10
Ibid.
Gambar 2.4 TripleDES Outer CBC
2.3
11
Bahasa Pemrograman C# (C Sharp) C# (C Sharp) adalah sebuah bahasa pemrograman berbasis objek yang
didukung oleh Microsoft .Net Framework. Microsoft .Net Framework adalah perantara agar aplikasi dengan bahasa pemrograman yang didukung dapat berkomunikasi dengan sistem operasi yang digunakan. .Net Framework juga memungkinkan C# untuk berkomunikasi dengan bahasa pemrograman lainnya yang juga didukung oleh .Net Framework seperti VB .NET, F#, atau C++. Aplikasi C# dapat digunakan dalam berbagai macam sistem operasi baik Windows menggunakan .Net Framework, Mac OS, Linux, serta sistem operasi berbasis UNIX lainnya menggunakan Mono Framework. Bahasa pemrograman C# juga banyak digunakan untuk membangun berbagai macam aplikasi seperti aplikasi Wet, aplikasi
11
Ibid.
desktop, aplikasi Zune, aplikasi permainan (desktop dan XBOX), dan jenis aplikasi 12
lainnya . 3.
Analisis dan Perancangan
3.1
Analisis Sistem Analisis sistem adalah teknik pemecahan masalah dengan menguraikan bagian-
bagian komponen dan mempelajari seberapa bagus bagian-bagian komponen tersebut dapat bekerja dan berinteraksi. Analisis sistem merupakan salah satu tahapan awal dalam pengembangan sistem yang akan dibangun.
13
3.1.1 Identifikasi Masalah Pada era informasi sekarang ini, data dan informasi sudah menjadi aset berharga bagi setiap kalangan. Hampir semua informasi telah disimpan dalam format file data ke dalam media digital seperti komputer, harddisk eksternal, mobile phone, dll. Namun data dan informasi berharga tersebut tidak aman kerahasiaannya, dibutuhkan usaha lebih untuk mengamankan data dan informasi tersebut. Untuk mengatasi permasalahan di atas penulis memutuskan untuk membangun aplikasi pengamanan data dan informasi. Aplikasi pengamanan ini akan menggunakan algoritma
kriptografi
dan
steganografi.
Dengan
aplikasi
ini
diharapkan
dapat
mengamankan data dan informasi sehingga rahasianya tetap terjaga. 3.2
Analisis Kebutuhan Sistem Dalam proses pembuatan aplikasi pengaman data dan informasi ini, hal harus
dilakukan terlebih dahulu adalah perancangan sistem. Hal ini dimaksudkan untuk mempermudah proses pembuatan perangkat lunak yang lebih restruktur. Dalam perancangan sistem penulis mendefinisikan kebutuhan sistem dan proses apa saja yang akan dilakukan oleh sistem. Kebutuhan sistem terbagi menjadi dua jenis, kebutuhan 14
fungsional dan kebutuhan nonfungsional .
12
Erico Darmawan H. & Laurentius Risal, Pemrograman Berorientasi Objek C# Yang Susah jadi Mudah, Informatika, Bandung, 2011, hal 10. 13
Hanif Al Fatta, Analisis & Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan & Organisasi Modern, ANDI Offset, Yogyakarta, 2007, hal 44. 14
Ibid. hal 63.
3.3
Perancangan Sistem Perancangan sistem merupakan proses pemodelan sistem atau aplikasi yang akan
dibuat. Perancangan sistem ini dilakukan untuk memberikan gambaran umum tentang aplikasi yang akan dibangun. 3.3.1 Use Case Diagram
Gambar 3.1 Use Case Diagram
3.3.2 Class Diagram
Gambar 3.2 Class Diagram
4.
Implementasi dan Pembahasan
4.1
Implementasi Tahap
Implementasi
merupakan
tahap
meletakkan
aplikasi
yang
baru
dikembangkan supaya nantinya aplikasi tersebut siap untuk dioperasikan sesuai dengan yang diharapkan. Tujuan dari implementasi adalah menyiapkan semua kegiatan penerapan aplikasi sesuai dengan rancangan yang telah ditentukan. Dalam proses ini, penulis menggunakan Microsoft Visual Studio 2008 sebagai alat
pengembangan
untuk
menerapkan
kriptografi
dan
steganografi
dengan
menggunakan C # sebagai bahasa pemrograman. Proses ini akan menerapkan coding fungsi dan mengintegrasikan fungsi ke dalam GUI (Graphical User interface).
4.1.1 Implementasi Rancangan Interface
Gambar4.1 Tampilan Menu Utama
Gambar4.2 Tampilan Enkripsi
Gambar4.4 Tampilan Dekripsi
Gambar4.3 Tampilan Insersi
Gambar4.5 Tampilan Ekstraksi
4.2
Pengujian Aplikasi Setelah aplikasi ini melewati proses tahap coding, maka tahap selanjutnya
adalah tahap pengujian. Pengujian terhadap aplikasi ini dilakukan dengan tujuan untuk mengetahui apakah aplikasi berjalan dan berfungsi sesuai dengan rancangan yang telah ditentukan. 4.2.1 BlackBox Testing Metode pengujian Black Box adalah metode pengujian yang hanya memberikan input pada aplikasi. Input tersebut lalu diproses dan akan menghasilkan output yang akan menentukan kesesuaian program dengan spesifikasi rancangan dan kebutuhan fungsional yang diinginkan pengguna. Perbaikan pada aplikasi dilakukan jika aplikasi menghasilkan output yang tidak sesuai dengan spesifikasi rancangan dan kebutuhan fungsional. 4.2.2 Pengujian Enkripsi Pada pengujian ini dilakukan proses enkripsi TripleDES dengan tujuan mengetahui tingkat keberhasilan dan kecepatan proses enkripsi. Tabel4.1 Tabel Pengujian Enkripsi File Awal
File Hasil
No Ukuran File (byte)
Jenis File
Ukuran File (byte)
Jenis File
Waktu (ms)
1
118
.txt
8.200
.txt
4,9458
2
46.080
.doc
53.256
.doc
14,335
3
74.240
.xls
81.928
.xls
20,5138
4
23.423
.pdf
28.680
.pdf
9,2456
5
107.749
.mp3
114.696
.mp3
23,672
6
128.650
.wav
135.176
.wav
31,8094
7
15.742
.bmp
20.488
.bmp
7,3187
8
33.075
.jpg
40.968
.jpg
11,863
9
43.249
.gif
49.160
.gif
13,4516
10
108.476
.png
114.696
.png
27,4156
11
201.728
.exe
208.904
.exe
36,2355
Dari tabel di atas dapat dibuat grafik sebagai berikut: 40 35 30 25 20 15 10 5 0 0
50000
100000
150000
200000
250000
Gambar4.6 Grafik Kecepatan Enkripsi Berdasarkan tabel dan grafik enkripsi di atas, semakin besar ukuran file maka waktu yang diperlukan untuk proses enkripsi semakin lama. 4.2.3 Pengujian Dekripsi Pada pengujian ini dilakukan proses dekripsi TripleDES dengan tujuan mengetahui tingkat keberhasilan dan kecepatan proses dekripsi. Hasil Pengujian Dekripsi bisa dilihat pada tabel berikut : Tabel4.2 Tabel Pengujian Dekripsi File Awal
File Hasil
No Ukuran File (byte)
Jenis File
Ukuran File (byte)
Jenis File
Waktu (ms)
1
8.200
.txt
8.192
.txt
5,0446
2
53.256
.doc
53.248
.doc
14,5096
3
81.928
.xls
81.920
.xls
20,6943
4
28.680
.pdf
28.672
.pdf
9,8831
5
114.696
.mp3
114.688
.mp3
27,5653
6
135.176
.wav
135.168
.wav
32,0164
7
20.488
.bmp
20.480
.bmp
8,3343
8
40.968
.jpg
40.960
.jpg
12,5784
9
49.160
.gif
49.152
.gif
14,0114
10
114.696
.png
114.688
.png
27,6594
11
208.904
.exe
208.896
.exe
39,3266
Dari tabel di atas dapat dibuat grafik sebagai berikut: 45 40 35 30 25 20 15 10 5 0 0
50,000
100,000
150,000
200,000
250,000
Gambar4.7 Grafik Kecepatan Dekripsi Berdasarkan tabel dan grafik Dekripsi di atas, semakin besar ukuran file maka waktu yang diperlukan untuk proses dekripsi juga semakin lama. Dan tipe file hampir tidak mempengaruhi waktu yang diperlukan untuk proses dekripsi. 4.2.4 Pengujian Insersi Pada pengujian ini dilakukan proses insersi Steganografi dengan tujuan mengetahui tingkatan noise pada file steganografi hasil proses insersi. Proses insersi steganografi menggunakan file gambar berformat bitmat (.bmp) sebagai media penyisipan file.
4.2.5 Pengujian Ekstraksi Pada pengujian ini dilakukan proses ekstraksi Steganografi dengan tujuan mengetahui tingkat keberhasilan proses ekstraksi dan perubahan yang terjadi pada file hasil ekstraksi. Hasil Pengujian Ekstraksi bisa dilihat pada tabel berikut : Tabel4.3 Tabel Pengujian Ekstraksi Ukuran File yang disisipi (byte)
Ukuran file cover (byte)
Ukuran file Stegano (byte)
1
528.128
786.486
713.452
528.128
Tidak Berubah
2
79.876
786.486
420.472
79.876
Tidak Berubah
3
103.934
203.454
219.334
103.934
Tidak Berubah
4
528.128
131.162
576.230
528.128
Tidak Berubah
No
Ukuran File hasil ekstraksi (byte)
Perubahan
Berdasarkan tabel pengujian ekstraksi di atas, file yang disisipkan pada gambar tidak mengalami perubahan. 4.3
Pembahasan
4.3.1 Kelebihan Aplikasi Berdasarkan implementasi dan pengujian aplikasi diketahui kelebihan yang terdapat pada aplikasi ini, yaitu: 1.
Aplikasi dapat digunakan dalam berbagai macam sistem operasi baik Windows, Mac OS, Linux, serta sistem operasi berbasis UNIX lainnya. Dengan syarat telah terinstal .Net Framework (Windows) dan Mono Framework (Mac OS, Linux, UNIX).
2.
Aplikasi yang dihasilkan mampu mengamankan beberapa tipe file diantaranya dokumen (.txt, .doc, .xls, .pdf), musik (.mp3, .wav), gambar (.bmp, .jpg, .gif, .png), dan aplikasi (.exe).
3.
Ukuran file hasil proses enkripsi dan dekripsi pada aplikasi ini berbeda dengan file aslinya. Sedangkan pada proses insersi dan ekstraksi, file yang disisipkan tidak mengalami perubahan. Meskipun ukuran file hasil proses
enkripsi dan dekripsi berbeda dengan file aslinya. Namun, tidak ada perubahan yang signifikan terjadi pada isi maupun fungsi dari file tersebut 4.
Penggunaan password pada proses enkripsi dan dekripsi pada aplikasi ini meningkatkan keamanan file.
4.3.2 Kekurangan Aplikasi Berdasarkan implementasi dan pengujian aplikasi diketahui kekurangan yang terdapat pada aplikasi ini, yaitu: 1. Aplikasi ini tidak dapat melakukan proses Enkripsi TripleDES dan Steganografi secara bersamaan. Namun, dapat dikombinasikan secara terpisah. 2. Pada proses dekripsi, pengguna harus menentukan tipe file asli dengan benar agar proses dekripsi berjalan baik. 3. Aplikasi ini hanya mendukung file bitmap (.bmp) sebagai media penyisipan file. 4. Pada proses steganografi belum menggunakan password. 5.
Penutup
5.1
Kesimpulan Berdasarkan hasil penelitian dan pembahasan dapat disimpulkan beberapa hal
sebagai berikut : 1. Pengamanan data dan informasi dapat dilakukan dengan proses Kriptografi dan Steganografi. Proses Kriptografi berguna untuk mengubah data dan informasi menjadi tidak terbaca, sedangkan Steganografi berguna untuk menyembunyikan
hasil
kriptografi
pada
media
gambar
dengan
memanfaatkan LSB pada gambar sehingga tidak mengundang kecurigaan. 2. Dengan menggunakan bahasa pemrograman C# telah dihasilkan aplikasi pengamanan data dan informasi dengan algoritma Kriptografi TripleDES dan metode Steganografi LSB yang dapat dijalankan pada beberapa sistem operasi komputer.
5.2
Saran Untuk lebih menyempurnakan aplikasi ini penulis memberikan beberapa saran
yang dapat digunakan untuk penelitian-penelitian berikutnya, diantaranya : 1. Penambahan fitur password pada proses Steganografi sehingga lebih meningkatkan keamanan. 2. Mengkombinasikan proses enkripsi kriptografi dan steganografi pada aplikasi ini. 3. Menambah algoritma kriptografi dan metode steganografi lain pada aplikasi ini sehingga memperbanyak pilihan pada proses pengamanan. 4. Menambah tipe file lain yang digunakan sebagai cover atau media penyisipan pada proses steganografi.
DAFTAR PUSTAKA Al Fatta, H. 2007. Analisis & Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan & Organisasi Modern. Yogyakarta: ANDI Offset. Ariyus, D. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta: Graha Ilmu. Ariyus, D. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: ANDI Offset. Chandraleka, H. 2007. Mengamankan Data Pribadi ala Agen Rahasia. Jakarta: Elex Media Komputindo. Cyr,
M. 2009. Font Color Steganography, http://www.stcyrsecurity.com/scripts/Font_Color_Steganography.pdf, diakses pada tanggal 2 Maret 2013.
Handoyo, E D. dan Risal, L. 2011. Pemrograman Berorientasi Objek C# Yang Susah jadi Mudah. Bandung: Informatika. James.
2012. How to implement Triple DES in C# (complete example), http://stackoverflow.com/questions/11413576/how-to-implement-triple-des-in-csharp-complete-example, diakses pada tanggal 2 Maret 2013.
Jebran,
A. 2007. Images' Steganography, http://www.codeproject.com/Articles/18791/Images-Steganography, diakses pada tanggal 2 Maret 2013.
John, C. 2004. Steganography - Hiding messages in the Noise of a Picture, http://www.codeproject.com/Articles/4877/Steganography-Hiding-messages-inthe-Noise-of-a-Pi, diakses pada tanggal 2 Maret 2013. Medvedev, I. 2003. Simple encrypting and decrypting data in C#, http://www.codeproject.com/Articles/5719/Simple-encrypting-and-decryptingdata-in-C, diakses pada tanggal 2 Maret 2013. Orebaugh, A D. Steganalysis: A Steganography Intrusion Detection System, http://securityknox.com/Steg_project.pdf, diakses pada tanggal 2 Maret 2013. Yasin, V. 2012. Rekayasa Perangkat Lunak Berorientasi Objek Pemodelan, Arsitektur dan Perancangan (Modelling, Architecture and Design). Jakarta: Mitrawacanamedia.