PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI
SHELVIE NIDYA NEYMAN
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis Perancanga n Protokol Penyembunyian Informasi Terotentikasi adalah karya saya sendiri dan belum diajukan dalam bentuk apapun kepada penguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, Pebruari 2007
Shelvie Nidya Neyman NRP. G651024014
ABSTRAK
SHELVIE NIDYA NEYMAN. Perancangan Protokol Penyembunyian Informasi Terotentikasi. Dibimbing oleh PRAPTO TRI SUPRIYO dan SUGI GURITMAN. Protokol
penyembunyian
informasi
terotentikasi
didesain
untuk
memberikan layanan keamanan kerahasiaan dan integritas. Layanan kerahasiaan bertujuan untuk memberikan jaminan bahwa informasi yang dirahasiakan hanya diketahui oleh pihak penerima yang berhak dan tidak dapat diketahui oleh pihak lain yang
tidak berhak. Sedangkan, aspek integritas pada protokol ini
memberikan jaminan bahwa informasi yang dikirim dan diterima
tidak
mengalami perubaha n. Pada setiap sesi protokol terdapat dua peranan, yakni pihak pengirim (pemulai protokol) dan penerima (pemberi respon), dan tidak melibatkan pihak ketiga sebagai arbitrator atau penengah. Komunikasi dalam protokokol bersifat bi-directional atau dua arah dan dilakukan pada jaringan unsecure dan publik tapi dengan asumsi secara fisik dalam kondisi ideal atau tidak terdapat noise. Protokol dalam penelitian ini akan didesain berupa framework, dimana metode yang terlibat didalamnya tidak spesifik mengacu pada algoritma tertentu. Spesifikasi atau metode yang digunakan protokol dalam menyajikan keamanan diantaranya adalah (1) otentikasi dan verifikasi untuk melakukan layanan
integritas yang
dilengkapi dengan metode penyisipan data untuk layanan kerahasiaan; (2) kompresi dan dekompresi; (3) Operasi XOR termodifikasi dan (4) Concatenate (gabung) dan split (pisah). Berdasarkan hasil percobaan pada aplikasi hasil implementasi protokol didapatkan kesimpulan bahwa protokol dapat menyembunyikan informasi dengan baik dan dari sisi kinerja protokol secara signifikan dipengaruhi oleh proses otentikasi, yang secara tidak langsung bergantung pada kekuatan fungsi hash yang digunakan dalam proses otentikasi tersebut dan membutuhkan waktu eksekusi yang
hampir
sama
antara
protokol
sisi
pengirim
dan
penerima.
PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI
SHELVIE NIDYA NEYMAN
Tesis sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Departemen Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007
Judul tesis
: Perancangan Protokol Penyembunyian Informasi Terotentikasi
Nama
: Shelvie Nidya Neyman
NRP
: G651024014
Disetujui
Komisi Pembimbing
Drs. Prapto Tri Supriyo, M.Komp
Dr. Sugi Guritman
Ketua
Anggota
Mengetahui
Ketua Program Studi Ilmu Komputer
Dr. Sugi Guritman
Tanggal Ujian :
Dekan sekolah pascasarjana
Dr.Ir. Khairil Anwar Notodiputro, M.Sc.
Tanggal Lulus :
PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karuniaNya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian
ini
ialah
Perancangan
Protokol
Penyembunyian
Informasi
Terotentikasi. Terima kasih penulis kepada Bapak Drs. Prapto Tri Supriyo, M.Komp dan Dr. Sugi Guritman selaku pembimbing. Disamping itu, penghargaan penulis sampaikan kepada Departemen Ilmu Komputer FMIPA IPB yang telah memberikan kesempatan dan bantuan dana bagi penulis untuk melanjutkan studi dan melakukan penelitian ini. Secara khusus saya mengucapkan terima kasih kepada Bapak Ir. Agus Buono, M.Si, M.Komp dan Ibu Dr. Sri Nurdiati, M.Sc beserta rekan-rekan staf pengajar dan penunjang Departemen Ilmu Komputer FMIPA IPB yang telah banyak mendukung studi penulis. Ungkapan terima kasih juga disampaikan kepada seluruh keluarga atas sega la doa dan kasih sayangnya Semoga karya ilmiah ini bermanfaat.
Bogor, Pebruari 2007
Shelvie Nidya Neyman
RIWAYAT HIDUP Penulis dilahirkan di Demak pada tanggal 6 Pebruari 1977 dari ayah Michael Albert Neyman dan ibu Niniek Sri Wahyuningsih. Penulis merupakan putri pertama dari dua bersaudara. Tahun 1995 penulis lulus dari SMA Negeri 1 Demak dan pada tahun yang sama lulus seleksi masuk IPB melalui jalur Undangan Seleksi Masuk IPB. Penulis memilih Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam dan lulus sarjana pada tahun 2000. Selepas lulus sarjana, penulis bekerja sebagai staf pengajar di Departemen Ilmu Komputer IPB sampai sekarang.
DAFTAR ISI
Halaman DAFTAR GAMBAR ...............................................................................................x DAFTAR TABEL...................................................................................................xi PENDAHULUAN ....................................................................................................1 Latar Belakang .....................................................................................................1 Intisari Penelitian Sebelumnya .............................................................................2 Tujuan Penelitian..................................................................................................3 Manfaat Penelitian................................................................................................3 Ruang Lingkup Penelitian...................................................................................4 TINJAUAN PUSTAKA...........................................................................................5 Keamanan Komputer (Computer Security) ..........................................................5 Aspek keamanan komputer ..............................................................................5 Ancaman (Threat) ............................................................................................6 Kebijakan (Policy) dan Mekanisme .................................................................7 Kriptografi ............................................................................................................8 Otentikasi .............................................................................................................9 Fungsi Hash........................................................................................................11 Hash Message Authentication Code (HMAC)...................................................12 Secure Hash Algorithm (SHA) ..........................................................................13 Penyembunyian Informasi (Information Hiding)...............................................14 Steganografi .......................................................................................................16 Least Significant Bit (LSB)................................................................................20 Protokol..............................................................................................................21 Protokol Steganografi.....................................................................................22 Kompresi Data....................................................................................................26 Pengkodean Huffman.....................................................................................27 Algoritma ...........................................................................................................29 METODE PENELITIAN .......................................................................................31 HASIL DAN PEMBAHASAN ..............................................................................34 Deskirpsi Protokol Penyembunyian Informasi Terotentikasi ............................34
viii
Ancaman.........................................................................................................34 Kebijakan (Policy) ..........................................................................................34 Spesifikasi ......................................................................................................35 Desain.............................................................................................................36 Implementasi..................................................................................................42 Analisis Kinerja Protokol...................................................................................43 Analisis Desain Protokol....................................................................................45 Analisis Keamanan Protokol..............................................................................47 SIMPULAN ...........................................................................................................50 DAFTAR PUSTAKA ............................................................................................52
ix
DAFTAR GAMBAR
Halaman 1 Skema sistem kriptografi.....................................................................................9 2 Skema klasifikasi teknik penyembunyian informasi. ........................................15 3 Cara kerja steganografi. .....................................................................................16 4 Ilustrasi Prisoner’s Problem (Craver 1997).......................................................18 5 Contoh gambar RGB (Sentosa 2005)................................................................20 6 Bit pada posisi LSB (Least Significant Bit). .....................................................20 7 Pengkodean Huffman (EFF 2003) ....................................................................29 8 Siklus hidup sistem keamanan. .........................................................................31 9 Diagram alur protokol penyembunyian informasi terotentikasi. ......................37 10 Diagram alur metode otentikasi pihak pengirim. ..............................................38 11 Diagram alur metode XOR pihak pengirim. .....................................................39 12 Diagram alur metode otentikasi ulang sisi penerima. .......................................41 13 Diagram alur metode XOR pihak penerima.....................................................41 14 Hubungan waktu eksekusi protokol sisi pengirim dan sisi penerima. ..............45
x
DAFTAR TABEL
Halaman 1 Karakteristik varian algoritma SHA..................................................................13 2 Waktu eksekusi protokol pada sisi pengirim.....................................................43 3 Waktu eksekusi protokol pada sisi penerima ....................................................43 4 Perbedaan antara protokol penyembunyian informasi terotentikasi dan steganografi ......................................................................................................46 5 Perbandingan tampilan media awal dan media setelah penyisipan...................48 6 Histogram distribusi warna pixel pada media ukuran 10x10 pixel...................48
xi
PENDAHULUAN
Latar Belakang Dengan diperkenalkannya komputer, kebutuhan untuk melindungi data dan informasi lainnya yang tersimpan dalam komputer menjadi hal yang utama, terutama bila komputer tersebut merupakan bagian dari shared system dan distributed system. Hal tersebut membutuhkan seperangkat alat, teknik-teknik atau prosedur-prosedur untuk melindungi data tersebut. Nama yang umum digunakan untuk menyebutkan sekumpulan alat atau metode yang didesain untuk melindungi data disebut information security (keamanan informasi). Salah satu metode keamanan informasi yang dapat digunakan adalah information hiding (penyembunyian informasi). Cabang ilmu penyembunyian informasi yang sedang berkembang saat ini adalah steganografi. Pada steganografi terdapat data atau pesan bersifat terbuka, dalam artian bisa dibaca oleh semua pihak dan terlihat normal, tapi ternyata menyembunyikan pesan lainnya yang bersifat rahasia dan tidak terlihat. Hal ini berbeda dengan metode keamanan dengan kriptografi, dimana pesan yang bersifat rahasia tersebut keberadaannya jelas terlihat tapi terlihat acak sehingga tidak terbaca oleh pihak yang tidak diinginkan. Simmons (1983) mengemukakan suatu kasus penggunaan penyembunyian informasi yang disebut Prisoner’s Problem. Pada problem ini terdapat 2 orang narapidana bernama Alice dan Bob yang dipenjara dalam dua sel yang berbeda. Mereka berencana untuk melarikan diri tapi permasalahannya adalah semua komunikasi mereka diawasi oleh seorang sipir penjara, bernama Wendy. Wendy tidak mengizinkan mereka melakukan komunikasi terenkripsi, dan akan menempatkan mereka dalam ruangan terisolasi jika ditemukan bukti adanya bentuk komunikasi yang mencurigakan antara mereka berdua. Alice dan Bob harus melakukan komunikasi terselubung agar tidak menimbulkan kecurigaan Wendy. Cara yang dapat mereka lakukan adalah menyembunyikan suatu pesan rahasia dalam pesan lain yang tidak mencurigakan. Namun sistem ini akan gagal bila Wendy berperan sebagai musuh yang dapat mengubah sebagian pesan atau
bahkan mengganti isi keseluruhan pesan yang melewati jalur komunikasi tersebut kemudian mengirimkannya kembali ke Bob seakan berasal dari Wendy. Oleh karena itu, Alice dan Bob membutuhkan suatu sistem yang tidak hanya memberikan layanan confidentiality tapi juga layanan integritas. Layanan integritas inilah yang akan berperan untuk memeriksa keabsahan pesan yang dikirim oleh Alice. Saat
ini,
kalangan
industri
menggunakan
pengembangan
ilmu
penyembunyian informasi untuk mengatasi permasalahan pelanggaran hak cipta (copyright). Kemudahan dalam penggandaan data muncul ketika data audio, video dan gambar mulai tersedia dalam bentuk digital. Hal ini membuka peluang yang lebih besar bagi pihak yang tidak berwenang untuk melakukan penyalinan data secara masal. Permasalahan perlindungan hak cipta tersebut menjadi perhatian utama
para pemilik industri perangkat lunak, buku, film dan musik. Pihak
industri
membutuhkan
perangkat
perlindungan
hak
cipta
dengan
cara
menyembunyikan tanda hak cipta agar tidak terlihat pada media digital. Pada perkembangan berikutnya metode tersebut diharapkan juga dapat mendeteksi identitas para pelanggar hak cipta. Selain untuk kepentingan bisnis, pihak militer dan agen intele jen juga menaruh perhatian terhadap perkembangan ilmu penyembunyian informasi. Militer dan agen intelejen membutuhkan suatu bentuk komunikasi yang tidak menimbulkan perhatian atau kecurigaan. Bila alat pendekteksian signal pada perangkat perang modern menjumpai isi suatu komunikasi berbentuk acak karena disandikan, maka dengan cepat alat tersebut akan merespon dengan memberikan informasi untuk melakukan serangan terhadap penghasil signal informasi tersebut. Peralatan komunikasi militer menggunakan teknik penyembunyian informasi agar suatu signal sulit dideteksi atau disadap. Intisari Penelitian Sebelumnya Penelitian pendahulu yang mempunyai kesamaan topik mengenai protokol keamanan
komunikasi
menggunakan
teknik
penyembunyian
informasi,
diantaranya adalah Anderson (1996, 1998) yang menyusun suatu protokol penyembunyian informasi menggunakan steganografi kunci publik dan Craver
2
(1997) yang mengembangkan protokol milik Anderson dengan mensimulasikan steganografi murni menggunakan steganografi kunci publik dan pribadi. Penjelasan rinci dari kedua penelitian tersebut dapat dilihat pada bagian tinjauan pustaka. Namun secara garis besar perbedaan antara penelitian yang penulis lakukan dengan penelitian-penelitian sebelumnya adalah : 1
Pada penelitian sebelumnya peningkatan kekuatan protokol dilakukan dengan cara peningkatan layanan confidentiality (kerahasiaan) protokol, yakni penggunaan kriptografi kunci publik atau kunci simetri dalam proses penyisipan dan penyusunan pesan rahasia.
2
Pada penelitian ini peningkatan kekuatan protokol dilakukan dengan cara penambahan layanan keamanan, selain kerahasian, yaitu layanan integrity (integritas). Layanan integritas dengan penerapan metode kriptografi fungsi hash memberikan jaminan bahwa informasi yang dikirim dan diterima tidak mengalami perubahan selama pengiriman.
Tujuan Penelitian Penelitian ini bertujuan untuk mendesain suatu protokol penyembunyian informasi dengan penambahan layanan keamanan integritas di dalamnya. Layanan integritas tersebut menggunakan metode otentikasi untuk memeriksa pesan yang terkirim apakah mengalami perubahan atau tidak ketika diterima oleh pihak penerima. Manfaat Penelitian Manfaat yang diharapkan dari hasil penelitian ini adalah 1
memberikan ikhtisar tentang perkembangan teknologi ilmu komputer khususnya bidang keamanan komputer dengan metode penyembunyian informasi.
2
memberikan pemikiran baru tentang metode penyembunyian informasi yang diharapkan dapat dikembangkan lebih lanjut serta dapat diterapkan menjadi produk siap guna.
3
Ruang Lingkup Penelitian Penelitian ini menghasilkan suatu desain protokol penyembunyian informasi terotentikasi yang bersifat framework (tidak spesifik) dalam pemilihan algoritma untuk setiap metode yang digunakan. Desain protokol ini kemudian diimplementasikan dalam bentuk aplikasi komputer. Penilaian kinerja protokol dilakukan melalui analisis hasil percobaan dengan berbagai data input pada aplikasi tersebut. Selain sisi kinerja, keamanan protokol juga dinilai melalui analisis komponen metode keamanan informasi yang terlibat dalam protokol ini.
4
TINJAUAN PUSTAKA
Keamanan Komputer (Computer Security) Stallings
pada
tahun
2003
berpendapat
bahwa
dengan
mulai
diperkenalkannya komputer, kebutuhan untuk melindungi data dan informasi lainnya ya ng tersimpan dalam komputer menjadi hal yang utama. Hal ini terjadi terutama apabila komputer tersebut merupakan bagian dari shared system dan distributed system. Istilah general untuk sekumpulan alat yang didesain untuk melindungi data dan mencegah hacker adalah keamanan komputer (computer security). Aspek keamanan komputer. Bishop (2003) mengemukakan bahwa keamanan komputer melingkupi tiga aspek utama, yaitu kerahasiaan, integritas, dan availability. Interpretasi setiap aspek pada lingkungan suatu orgnisasi ditentukan oleh kebutuhan dari individu yang terlibat, kebiasaan, dan hukum yang berlaku pada organisasi tersebut. Kerahasiaan adalah suatu usaha untuk menjaga kerahasian informasi atau sumberdaya. Mekanime kontrol akses dalam penyediaan informasi memb erikan aspek kerahasiaan. Salah satu mekanisme kontrol akses yang menyediakan kerahasiaan adalah kriptografi, mekanisme pengacakan data sehingga sulit dipahami oleh pihak yang tidak berwenang. Aspek penting lainnya dalam kerahasiaan adalah penyembunyian informasi atau data. Mekanisme kontrol akses terkadang lebih mengutamakan kerahasian ‘keberadaan data”, daripada isi data itu sendiri. Salah satu contoh mekanisme kontrol akses tersebut adalah steganografi. Aspek integritas menekankan pada tingkat kepercayaan-kebenaran, dengan penjagaan terhadap perubahan yang dilakukan dengan cara diluar standar atau oleh pihak yang tidak berwenang. Integritas meliputi data integritas (isi informasi) dan origin integritas (sumber data, sering disebut otentikasi). Mekanisme integritas terbagi dalam dua kelas, yakni mekanisme pencegahan (prevention) dan mekanisme deteksi (detection), dengan tujuan integritas yang
berbeda. Mekanisme pencegahan menghalangi seorang pemakai berusaha mengubah suatu data, dimana dia tidak mempunyai wewenang untuk mengubah data tersebut. Sedangkan, mekanisme deteksi menghalangi seorang pemakai yang mempunyai wewenang ubah data berusaha mengubah data tersebut diluar cara standar. Aspek availability atau ketersedian berhubungan dengan ketersediaan informasi atau sumberdaya ketika dibutuhkan. Sistem yang diserang keamanannya dapat menghambat atau meniadakan akses ke informasi. Usaha untuk menghalangi ketersediaan disebut denial of service attackc (DoS Attack ), sebagai contoh suatu server menerima permintaan (biasanya palsu) yang bertubi- tubi atau diluar perkiraan sehingga tidak dapat melayani permintaan lain atau bahkan server tersebut menjadi down atau crash. Ancaman (Threat). Threat atau ancaman berpotensi untuk merusak keamanan. Tindakan yang munculnya akibat dari threat dinamakan serangan (attack). Pihak yang melakukan tindakan serangan atau menyebabkan tindakan serangan disebut penyerang (attacker). Shirey (1994) dalam Bishop (2003) membagi ancaman dalam empat kelas besar, yaitu : 1
Disclousure, atau akses tak-berwenang terhadap informasi
2
Deception, atau penerimaan terhadap data yang salah
3
Disruption, atau interupsi terhadap operasi yang sah
4
Usurpation, atau kontrol tak-berwenang untuk suatu bagian dari sistem. Menezes et al. (1997) mengklasifikasikan dua tipe serangan, yakni serangan
pasif (passive attack ), dimana penyerang hanya memonitor kanal komunikasi, sedangkan pada serangan aktif (active attack ), penyerang berusaha menghapus, menambah, atau bentuk pengubahan lainnya dalam kanal komunikasi. Keempat kelas besar yang telah tersebutkan di atas melingkupi jenis-jenis serangan-serangan umum lainnya. Pengintaian (Snooping) merupakan salah satu bentuk dari disclousure. Sifat serangan yang muncul dari snooping adalah pasif, dengan dicontohkan adanya pihak yang “mendengarkan” suatu komunikasi atau
6
browsing pada suatu berkas sistem informasi. Layanan kerahasiaan dapat digunakan untuk mengatasi ancaman ini. Modifikasi (modification atau alteration) adalah pengubahan tak-berwenang terhadap informasi yang mencakup tiga jenis kelas ancaman. Sifat serangan modikasi adalah serangan aktif, dimana terdapat pihak yang bertindak mengubah informasi. Penyamaran (masquerading atau spoofing) identitas suatu pihak yang dilakukan oleh pihak lain merupakan bentuk ancaman jenis deception dan usurpation. Sifat serangan penyamaran bisa bersifat pasif dan aktif. Layanan otentikasi dapat digunakan untuk mengatasi ancaman tersebut. Kebijakan (Policy) dan Mekanisme . Bishop pada tahun 2003 mengemukakan bahwa kebijakan keamanan adalah pernyataan tentang apa yang dilarang dan apa yang diperbolehkan. Mekanisme keamanan merupakan metode, alat, atau prosedur untuk menerapkan kebijakan keamanan. Mekanisme tidak harus bersifat teknik, misalnya pada kebutuhan pembuktian identitas sebelum mengganti password. Kebijakan terkadang juga membutuhkan mekanisme prosedural yang tidak dapat dipenuhi oleh teknologi. Kebijakan dapat disajikan secara matematika, sebagai sederetan kondisi yang diperbolehkan (aman) dan kondisi yang dilarang (tidak aman), dimana untuk setiap kebijakan memberikan deskripsi aksioma dari kondisi aman dan tidak aman. Spesifikasi kebijakan keamanan dari tindakan “ aman” dan “tidak aman” memberikan mekanisme kebijakan yang dapat mencegah serangan, mendeteksi serangan atau memulihkan kondisi setelah serangan. Prevention merupakan pencegahan serangan atau menggagalkan serangan. Detection dilakukan bila suatu serangan tidak dapat dicegah, dan sekaligus mengindikasikan efektifitas dari prevention. Recovery mempunyai dua bentuk. Bentuk pertama recovery adalah menghentikan serangan, mengevaluasi dan memperbaiki kerusakan yang disebabkan oleh serangan tersebut. Pada bentuk kedua, sistem akan tetap melanjutkan fungsi dengan benar meskipun terjadi serangan. Tipe ini sulit untuk diimplementasikan karena kompleksitas dari sistem komputer.
7
Kriptografi Menezes et al. (1997) mengemukakan kriptografi adalah studi teknik matematika yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi entitas, dan otentikasi asal data. Dari definisi tersebut tersirat bahwa kriptografi tidak hanya sebagai alat yang memberikan keamanan informasi, melainkan juga berupa seperangkat teknik-teknik atau prosedurprosedur yang berhubungan dengan keamanan informasi. Menezes et al. (1997) juga menjabarkan sejumlah alat kriptografi (primitif) yang digunakan untuk memberikan keamanan informasi. Pada kriptografi tujuan keamanan informasi yang ingin diperoleh : 1
Kerahasiaan, yaitu suatu layanan yang digunakan untuk menjaga isi informasi dari semua pihak yang tidak berwenang memilikinya.
2
Integritas data, yaitu suatu layanan yang berkaitan pengubahan data dari pihak-pihak yang tidak berwenang. Untuk menjamin integritas data, kita harus mampu mendeteksi manipulasi data dari pihak-pihak yang tidak berwenang. Manipulasi data diartikan sebagai hal- hal yang berkaitan dengan penghapusan, penyisipan, dan penggantian data.
3
Otentikasi, yaitu adalah suatu layanan yang berhubungan dengan identifikasi kedua entitas dan informasi itu sendiri. Dua pihak terlibat dalam komunikasi seharusnya mengidentifikasi dirinya satu sama lain. Informasi yang dikirim melalui suatu kanal seharusnya dapat diotentikasi asal data, isi data , tanggal dan waktu pengiriman data. Atas dasar ini otentikasi terbagi menjadi dua kelas besar, yaitu: otentikasi entitas dan otentikasi asal data.
4
Non-repudiasi, yaitu adalah suatu layanan yang ditujukan untuk mencegah terjadinya pelanggaran kesepakatan yang telah dibuat sebelumnya oleh entitas. Apabila sengketa muncul ketika suatu entitas mengelak telah melakukan komitmen tertentu, maka suatu alat untuk menangai situasi tersebut diperlukan. Misalnya, suatu entitas mendapatkan wewenang dari entitas lainnya untuk melakukan aksi tertentu, kemudian dia mengingkari wewenang yang diberikan, maka suatu prosedur yang melibatkan pihak ketiga yang terpercaya diperlukan untuk menyelesaikan sengketa itu.
8
Scheneir (1996) mengemukakan istilah- istilah yang dipergunakan dalam kriptografi, yakni : -
Pihak yang ingin mengirim pesan disebut pengirim (sender).
-
Pihak yang menerima pesan disebut penerima (receiver).
-
Pesan asal disebut plaintext (atau disebut juga cleartext).
-
Proses transformasi untuk mengubah plaintext menjadi bentuk yang tidak terbaca disebut enkripsi (encryption).
-
Pesan yang sudah terenkripsi disebut ciphertext.
-
Proses kebalikan dari enkripsi, untuk mengembalikan ciphertext menjadi plaintext disebut dekripsi (decryption)
-
Informasi yang hanya diketahui antara pengirim dan penerima, dan untuk mengamankan plaintext disebut kunci (key).
Gambar 1 mengilustrasikan hubungan antar istilah- istilah yang telah dikemukakan di atas dalam bentuk sistem kriptografi.
Gambar 1 Skema sistem kriptografi. Otentikasi Otentikasi merupakan suatu alat yang digunakan untuk menjamin bahwa entitas atau informasi yang sah belum dimanipulasi oleh pihak-pihak yang tidak berwenang. Beberapa contoh tujuan keamanan otentikasi secara spesifik meliputi: kontrol akses, otentikasi entitas, otentikasi pesan, integritas data, non repudiasi, dan otentikasi kunci. Otentikasi merupakan salah satu bagian terpenting dari seluruh tujuan keamanan informasi. Secara garis besar otentikasi dikelompokkan
9
menjadi dua, yaitu otentikasi entitas (identifikasi) dan otentikasi asal data (otent ikasi pesan). Perbedaan utama antara otentikasi entitas dan otentikasi pesan adalah otentikasi pesan tidak memberikan jaminan rentang waktu diciptanya pesan, sedangkan otentikasi entitas mencakup pembuktian identitas penuntut melalui komunikasi nyata oleh pemeriksa terkait, selama eksekusi protokol di dalam waktu nyata (real-time). Perbedaan lainnya adalah bahwa otentikasi pesan melibatkan pesan yang mempunyai makna, sedangkan otentikasi entitas hanya sekedar membuktikan entitas tanpa melibatkan pesan. Skema umum, suatu identifikasi melibatkan penuntut (claimant) A dan pemeriksa (verifier) B. Pemerika dihadirkan dengan praduga sebelumnya bahwa penuntut
mengakui
identitas
berasal
darinya.
Tujuannya
adalah
untuk
membuktikan bahwa identitas benar-benar dari A. Dalam suatu transakasi yang melibatkan dua partai, teknik identikasi atau otentikasi entitas menjamin agar pihak kedua meyakini (melalui bukti yang kuat) identitas pihak pertama, sementara itu pihak pertama aktif menciptakan bukti yang diperlukan (Guritman 2003). Stallings pada tahun 2003 mengemukakan bahwa mekanisme otentikasi pada dasarnya mempunyai 2 level, level terendah berisi fungsi yang digunakan untuk menghasilkan otentikator,
nilai yang digunakan untuk melakukan
otentikasi. Fungsi ini yang digunakan sebagai dasar bagi otentikasi pada level yang lebih tinggi untuk melakukan verikasi dan secara garis besar dapat dikelompokkan menjadi 3 bagian, yaitu : 1
Enkripsi pesan: hasil enkripsi (siperteks) digunakan sebagai otentikator
2
Message Authenticator Code (MAC), fungsi publik dan kunci untuk menghasilkan nilai dengan panjang tetap yang digunakan sebagai otentikator
3
Fungsi hash, fungsi publik yang memetakan pesan panjang sembarang dengan nilai hash panjang tetap yang digunakan sebagai otentikator
10
Fungsi Hash Menezes et al. (1997) menyatakan secara umum fungsi hash dibagi menjadi dua kelas, yaitu fungsi hash tak-berkunci (unkeyed hash function) dan fungsi hash berkunci (keyed hash function). Fungsi hash tak-berkunci mempunyai spesifikasi mengatur satu parameter input, yakni pesan. Fungs i hash berkunci mempunyai spesifikasi mengatur dua input parameter yang berbeda, yakni pesan dan kunci. Fungsi hash adalah fungsi h yang mempunyai minimal dua sifat berikut : -
kompresi (compression): h memetakan input x dengan sembarang panjang bit yang berhingga, ke output h(x) dengan panjang bit tetap n,
-
kemudahan komputasi (ease of computation): diketahui h dan suatu input x dan h(x) mudah dihitung.
Berdasarkan kegunaanya, fungsi hash dibedakan atas dua tipe: 1
Modification detection code (MDC) MDC disebut juga dengan manipulation detection code (MDC) atau message integritas code (MIC). Tujuan dari MDC adalah menghasilkan image atau nilai hash suatu pesan untuk memberikan jaminan integritas data sebagaimana diperlukan dalam suatu aplikasi khusus. MDC merupakan subkelas dari fungsi hash tak-berkunci dan dapat diklasifikasikan lagi dalam dua kelas, yaitu : (a) fungsi hash satu-arah (one-way hash function - OWHF) fungsi hash ini mempunyai sifat apabila diketahui suatu nilai hash maka tidak layak secara komputasi untuk menentukan inputnya . (b) fungsi hash tahan tumbukan (collision resistant hash function -CRHF) fungsi hash ini mempunyai sifat bahwa tidak layak secara komputasi untuk menemukan 2 input yang menghasilkan nilai hash yang sama.
2
Message authentication codes (MAC) MAC merupakan subkelas dari fungsi hash berkunci. MAC mempunyai dua parameter berbeda, yaitu: input pesan dan kunci rahasia. Sesuai dengan namanya, tujuan MAC (tanpa terkait dengan mekanisme yang lain) adalah untuk menjamin integritas pesan dan asal pesan.
11
Hash Message Authentication Code (HMAC) Pada umumnya MAC digunakan oleh dua buah pihak yang berbagi kunci rahasia untuk melakukan otentikasi informasi yang terkirim antar mereka. HMAC merupakan salah satu algoritma yang dapat digunakan untuk mengkonstruksi nilai MAC menggunakan sebuah kunci rahasia pada fungsi hash yang digunakan. Menurut Stallings tahun 2003, HMAC dalam dokumen Request for Comments (RFC2104) dinyatakan sebagai pilihan utama dalam mengimplementasikan MAC untuk keamanan Internet Protocol (IP), dan protokol internet lainnya seperti Secure Sockets Layer (SSL). Dokumen tersebut juga menjelaskan alasan pemilihan HMAC, yaitu : -
Menggunakan fungsi hash yang sudah ada, tanpa perlu melakukan modifikasi terhadap fungsi hash tersebut.
-
Kemudahan untuk mengganti fungsi hash yang telah digunakan.
-
Tidak mengurangi kinerja fungsi hash yang digunakan.
-
Menggunakan dan mengelola kunci dengan cara yang sederhana.
-
Mempunyai analisis kriptografik terhadap kekuatan mekanisme otentikasi yang mudah dipahami berdasarkan asumsi-asumsi dari fungsi hash yang digunakan. Dalam FIPS PUB 198 (2002) menjelaskan cara untuk mengkonstruksi nilai
MAC dari data ‘teks’ menggunakan fungsi HMAC, yaitu : MAC(teks)t = HMAC(K,teks)t=H((K 0 ⊕ opad)||H((K 0 ⊕ ipad)||teks))t Keterangan simbol yang digunakan pada fungsi HMAC diatas adalah : B
= panjang blok (dalam byte) input fungsi hash
H
= fungsi hash yang digunakan (misal : SHA-256 atau MD5 )
ipad
= 00110110 (36 dalam heksadesimal) yang diulang B kali
K
= kunci rahasia antara pengirim dan penerima
K0
= kunci K setelah pra-proses untuk membentuk kunci B byte
L
= panjang blok (dalam byte) ouput fungsi hash
opad
= 01011100 (5c dalam heksadesimal) yang diulang B kali
t
= panjang MAC (dalam byte), dimana 4 = t = L, disarankan
12
L/2 = t = L teks
= input data yang akan dihitung nilai HMAC dengan panjang n bit, dimana 0 = n < 2B – 8B
||
= operasi penggabungan
⊕
= operasi XOR
Secure Hash Algorithm (SHA) Tahun 2002 National Institute of Standards and Technology (NIST) mempulikasikan Federal Information Processing Standards Publication (FIPS PUB) 180-2 yang berisi standar empat buah algoritma aman, yaitu SHA-1 1 , SHA256, SHA-384, SHA-512 untuk komputasi data elektronik (pesan) yang lebih ringkas. Pesan dengan panjang < 264 bit (untuk SHA-1 dan SHA-256) atau 2128 bit (untuk SHA-384 dan SHA-512) sebagai input bagi algoritma dan akan menghasilkan output yang disebut message digest. Panjang message digest berkisar antara 160 sampai 512 bit, bergantung pada algoritma yang digunakan. Tabel 1 dibawah ini mendeskripsikan secara lengkap karakteristik dari ke-4 algoritma tersebut. Tabel 1 Karakteristik varian algoritma SHA Ukuran Ukuran Ukuran Algoritma
Ukuran
Pesan
Blok
Kata
Message Digest
Keamanan *
(bit)
(bit)
(bit)
(bit)
(bit)
SHA-1
64
<2
512
32
160
80
SHA-256
< 264
512
32
256
128
SHA-384
< 2128
1024
64
384
192
SHA-512
< 2128
1024
64
512
256
* Kata “keamanan” ditujukan untuk ketahanan terhadap serangan tanggal lahir (birthday attack ) pada message digest dengan panjang n akan menghasilkan collision mendekati 2n/2
Setiap algoritma dapat dideskripsikan dalam dua tahap: pra-proses dan komputasi hash. Tahap pra-proses meliputi padding pesan, parsing pesan yang telah di-pad dalam m-bit blok, dan penentuan nilai inisialisasi untuk komputasi nilai hash. Komputasi hash akan membangkitkan message schedule dari pesan 1
Algoritma SHA-1 merupakan algoritma SHA-1 yang dipublikasikan dalam FIPS180-1
13
yang telah di-pad, kemudian menggunakan schedule tersebut bersama fungsi, kontanta, dan operasi kata yang secara iterasi akan membangkitkan barisan nilai hash. Nilai hash akhir yang dibangkitkan oleh komputasi hash digunakan sebagai message digest. Secara teoritis, semua algoritma hash dapat dipatahkan menggunakan serangan brute force dan tanggal lahir. Hal tersebut bergantung pada waktu yang dibutuhkan dan spesifikasi komputer yang digunakan. Wang et al. (2005) telah berhasil mematahkan SHA-1 dengan mengembangkan suatu teknik baru dalam mencari collision pada SHA-1. Berdasarkan analisis mereka, collision pada SHA1 dengan 80 langkah operasi dapat ditemukan melalui operasi hash yang komplesitasnya kurang dari 269 , lebih lebih kecil dari nilai teoritisnya, yaitu 280 . Mereka juga membuat dugaan bahwa collision pada SHA-1 dengan langkah yang sudah direduksi menjadi 70 dapat ditemukan sekarang ini menggunakan komputer super. SHA-256 menggunakan input pesan M, dengan panjang λ bit, dimana 0 = λ = 264 dan menghasilkan output message digest dengan panjang 256 bit. Input pada algoritma tersebut akan diproses dalam blok-blok dengan panjang 512 bit. Proses yang dilakukan dalam algoritma tersebut terbagi atas 2 tahap, yakni pra-proses dan komputasi hash, dimana proses secara lengkap dapat dilihat pada FIPS PUB 180-2 (2002). Penyembunyian Informasi (Information Hiding) Petitcolas et al. (1999) membuat skema klasifikasi teknik penyembunyian informasi yang diilustrasikan pada Gambar 2. Covert channels didefinisikan Lampson (1973) yang diacu dalam Petitcolas (2000), pada konteks sistem keamanan multilevel (contohnya sistem komputer militer), sebagai suatu jalur komunikasi yang tidak didesain atau direncanakan untuk mentransfer informasi apapun. Kanal tersebut biasanya digunakan oleh program tak terpercaya dalam hal kehilangan informasi selama melakukan layanan terhadap program lain. Kanal komunikasi ini telah diteliti sejak lama untuk menemukan cara menyimpan suatu program.
14
,QIRUPDWLRQ+LGLQJ 3HQ\HPEXQ\LDQ, QIRUP DVL
&RYHUW&KDQQHOV
6WHJ DQRJUDSK\
/ LJXLVWLF 6WHJDQRJUDSK\
$QRQ\PLW \
&RS\ULJKW 0 DUNLQJ
5REXVW &RS\ULJKW 0 DUNLQJ
7HFKQLFDO 6WHJDQRJUDSK\
) LQJHUSULQWLQJ
) UDJLOH &RS\ULJKW 0 DUNLQJ
: DWHUPDUNLQJ
,PSHUFHSWLEOH : DWHUP DUNLQJ
9LVLEOH : DWHUPDUNLQJ
Gambar 2 Skema klasifikasi teknik penyembunyian informasi. Anonymity adalah cara penyembunyian metadata suatu pesan, yaitu pengirim dan penerima pesan. Teknik anonymity dapat dibedakan berdasarkan kebutuhan pihak mana yang akan "anonymized"; pengirim, penerima atau keduanya. Pada aplikasi web terfokus pada anonymity penerima sedangkan pengguna email lebih berkepentingan dengan anonymity pengirim. Steganografi (Steganography) merupakan cabang ilmu penting dalam penyembunyian informasi. Bila kriptografi berkaitan dengan proteksi isi pesan, maka steganografi berkaitan dengan penyembunyian keberadaannya. Steganografi merupakan bentuk adaptasi modern dari steganographia (Trithemius, 1462–1516) dari Yunani, yang secara literal berarti “tulisan terkubur” dan biasanya diinterpretasikan sebagai penyembunyian informasi dalam informasi lain. Watermarking hampir mirip dengan steganografi, tapi dengan perbedaan kebutuhan “ketahanan” terhadap serangan. Kriteria “ketahanan” pada steganografi berkaitan dengan ketahanan terhadap deteksi pesan tersembunyi, sedangkan pada watermaking
berkaitan
dengan
ketahanan
terhadap
penghapusan
pesan.
Penyembunyian pesan dengan sistem watermarking biasanya digunakan untuk obyek digital yang terproteksi. Watermaks tidak selalu tersembunyi, seperti pada sistem yang menggunakan visible digital watermarks, tapi sebagian besar literatur menfokuskan pada imperceptible (tidak terlihat, transparan, atau tidak terdengar, bergantung pada media yang digunakan) digital watermarks yang mempunyai
15
daerah aplikasi lebih luas. Visible digital watermarks biasanya digunakan oleh photographer untuk menandai foto digital yaitu berupa pola visual (seperti logo perusahaan atau tanda hak cipta) yang berada diatas foto digital tersebut. Steganografi Steganografi merupakan seni untuk menyembunyikan keberadaan informasi pada pembawa yang terlihat tidak mencurigakan. Steganografi dan kriptografi digunakan untuk keamanan informasi, dan secara teknologi keduanya bersifat konvergen tapi dengan tujuan yang berbeda. Teknik kriptografi bertujuan mengacak pesan, sehingga bila terjadi penyadapan pesan, pesan tersebut tidak dapat dipahami oleh pihak penyadap. Pada steganografi bertujuan menyamarkan pesan untuk menyembunyikan keberadaannya agar tidak terlihat sehingga tidak diketahui bahwa ada suatu pesan lain ikut terkirim. Pesan terenkripsi mungkin akan menimbulkan kecurigaan tapi sebaliknya pesan yang tersembunyi diharapkan tidak akan menimbulkan kecurigaan. Pfitzmann (1996) telah me ndefinisikan istilah- istilah yang dipergunakan dalam steganografi beserta diagram kerjanya (Gambar 3) dan disetujui oleh Workshop Internasioanal Pertama untuk Information Hiding. Kunci (Stego)
Cover
Fungsi Penyisipan
Kunci (Stego) Stego-
Embedded
Fungsi Ekstraksi Embedded
Gambar 3 Cara kerja steganografi. Keterangan istilah dari gambar 3 diperinci sebagai berikut : -
Cover-, input awal dari pesan stego atau dengan kata lain tempat untuk menyembunyikan sesuatu yang dirahasiakan. Pada beberapa aplikasi, covermessage berasal dari luar sistem, atau sebaliknya dipilih
16
selama proses penyembunyian (inner) ditandai dengan kotak bergaris-garis putus. -
Embedded-, data atau sesuatu yang disembunyikan.
-
Stego-
data>,
stegomessage
merupakan
hasil
dari
proses
penyembunyian, dimana didalamnya tersembunyi suatu pesan. -
Kunci (Stego), kunci stego merupakan data rahasia tambahan yang dapat digunakan dalam proses penyembunyian. Proses penyisipan dan ekstraksi pesan membutuhkan kunci yang sama.
-
Tipe data, jenis data yang digunakan, bisa berupa image (gambar), audio (suara), dan teks atau secara umum disebut “message (pesan)” saja. Simmons (1983) mengemukan suatu contoh yang menjelaskan steganografi
dengan sangat baik yang disebut Prisoner’s Problem. Pada problem ini terdapat 2 orang yang bernama Alice dan Bob 2 yang ditangkap polisi karena berbuat suatu kejahatan dan dipenjara dalam dua sel yang berbeda. Mereka berencana untuk melarikan diri tapi permasalahannya adalah semua komunikasi mereka diawasi oleh seorang sipir penjara, bernama Wendy. Wendy tidak mengizinkan mereka melakukan komunikasi terenkripsi, dan akan menempatkan mereka ketempat terisolasi jika ditemukan bukti adanya bentuk komunikasi yang mencurigakan antara mereka berdua. Alice dan Bob harus melakukan komunikasi tersembunyi (Gambar 4) agar tidak menimbulkan kecurigaan Wendy yaitu dengan membuat kanal subliminal3 . Cara yang dapat dilakukan adalah menyembunyikan
suatu
informasi dalam pesan yang tidak mencurigakan. Sebagai contoh Bob membuat gambar sapi berwarna biru sedang berbaring diatas rumput hijau kemudian mengirimkannya kepada Alice. Wendy yang tidak dapat menangkap makna tertentu dari warna sapi pada gambar tersebut akan menerusknnya kepada Alice. Prisoner’s problem berasumsi bahwa Alice dan Bob dapat menggunakan komputer dan mempertukarkan pesan digital dalam berbagai format (teks, gambar
2
Protokol komunikasi pada kriptografi pada umumnya menggunakan dua karakter orang rekaan bernama Alice dan Bob. Konvensi yang berlaku umum adalah nama pihak-pihak yang terlibat dalam suatu protokol berurutan secara abjad (Carol dan Dave setelah Alice dan Bob) atau nama yang awalan abjadnya sesuai dengan abjad pertama dari perannya dalam protokol, seperti Wendy sebagai warden. 3 Kanal dimana warden (Wendy) atau pengintai dapat melihat dan mengubah pesan yang melewati kanal tersebut (Simmon 1993)
17
maupun audio). Permasalahan akan muncul jika Wendy dapat mengubah pesan Bob yang dikirimkan untuk Alice. Sebagai contoh, Wendy dapat mengubah warna sapi Bob menjadi merah, sehingga merusak informasi tersebut; pada situasi ini Wendy disebut active warden. Situasi akan diperburuk bila Wendy bertindak sebagai malicious warden, dimana dia dapat memalsukan pesan dan mengirimkan kepada seorang narapidana melalui kanal subliminal sehingga seolah-olah berasal dari seorang narapidana lainnya.
Gambar 4 Ilustrasi Prisoner’s Problem (Craver 1997). Johnson dan Katzenbeisser (2000) menjelaskan bahwa terdapat beberapa pendekatan dalam pengklasifikasian sistem steganografi. Pengklasifikasian tersebut didasarkan pada tipe cover yang digunakan ataupun berdasarkan metode modifikasi yang dilakukan terhadap cover tersebut. Johnson dan Katzenbeisser (2000) menggunakan pendekatan kedua dan mengelompokkannya dalam 6 kategori : 1
Sistem subsitusi, mensubstitusi bagian yang tidak berguna dari suatu cover dengan pesan rahasia, contohnya Substitusi Least Significant Bit (LSB)
2
Teknik transformasi domain, menyisipkan informasi rahasia dalam signal yang mengalami transformasi ruang (misalnya pada domain frekuensi), contohnya steganografi dalam domain Discrete Cosine Transform (DCT).
3
Teknik penyebaran spektrum, mengadaptasi ide dari komunikasi penyebaran sprektrum dimana suatu signal ditransmisi dalam suatu bandwith melewati batas minimal untuk pengiriman informasi. Dengan kata lain, pesan “menyebar” pada suatu wide frequency bandwith.
18
4
Metode Statistika, mengkodekan informasi dengan cara mengubah beberapa karakteristik statistik cover dan menggunakan pengujian hipotesa dalam proses ekstraksi.
5
Teknik distorsi, menyimpan informasi dengan distorsi signal dan menghitung deviasi dari cover asal pada tahapan decoding.
6
Metode
pembangkitan
cover,
mengkodekan
informasi
dengan
cara
membangkitkan suatu cover yang dibutuhkan untuk komunikasi rahasia, contohnya Automated generation of English Text. Suatu media cover pada steganografi dapat berupa file teks, gambar atau suara. Simsek (2004) mengemukakan bahwa steganografi dapat juga dibagi menjadi dua kelompok berdasarkan tipe media cover yang digunakan : -
Steganografi Linguistik Steganografi yang menggunakan media cover teks, maka steganografi tersebut bertipe linguistik. Teknik yang dapat dipergunakan oleh steganografi tipe ini diantaranya adalah Line Shift Coding, Word Shift Coding, Feature Coding, Open Code Methods (Null Cipher), Syntactic Methods, dan Semantics Methods.
-
Steganografi Teknik Bila media cover yang digunakan bertipe non-teks, maka tipe steganografi tersebut adalah steganografi teknik. Cover media dapat berupa gambar dan audio. a. Steganografi pada Gambar. Gambar mempunyai daerah noisy tidak dapat dideteksi oleh penglihatan manusia atau Human Visual System (HVS) yang dapat digunakan untuk menyembunyikan suatu pesan. Teknik yang biasa dipergunakan antara lain Penyisipan LSB, Masking and Filtering. b. Steganografi pada Audio Signal audio mempunyai noise yang tidak dapat dideteksi oleh pendengar manusia atau Human Auditory System (HAS). Teknik yang
19
biasa dipergunakan untuk penyembunyian data audio adalah penyisipan pada LSB, phase coding, spread spectrum, dan echo data hiding .
Least Significant Bit (LSB) Metode LSB merupakan salah satu jenis metode penyembunyian informasi dengan mensubstitusi bagian yang tidak berguna dari suatu media dengan pesan rahasia. Bagian yang tidak berguna tersebut terletak pada posisi bit LSB. Metode ini dapat dilakukan pada media gambar dengan model warna RGB. Model warna RGB merupakan gambar yang tiap pixelnya direpresentasikan oleh kombinasi intensitas tiga buah komponen warna yaitu, Red(R), Green(G), dan Blue(B). Masing- masing komponen tersebut terdiri atas 8 bit. Sebuah warna dalam pixel gambar RGB dapat direpresentasikan dalam tiga byte atau 24-bit. Sehingga, kombinasi ketiga intensitas warna tersebut dapat menghasilkan 16 juta (224 = 16.777.216) variasi warna. Contoh gambar RGB dapat lihat pada Gambar 5.
Gambar 5 Contoh gambar RGB (Sentosa 2005). Nilai bit media setelah disubtitusi akan mengalam perubahan tetapi perubahan tersebut tidak akan berpengaruh secara nyata terhadap tampilan kombinasi warna yang dihasilkan oleh tiga komponen warna Red Green Blue (RGB). Pada Gambar 6 terlihat bit-bit LSB pada 1 pixel warna, penyembunyian informasi dapat dilakukan pada bit-bit tersebut.
Gambar 6 Bit pada posisi LSB (Least Significant Bit).
20
Contoh lain untuk mengilustrasikan cara kerja LSB adalah sebagai berikut : Data awal, tiga pixel dari gambar 24-bit (00100111 11101001 11001000) (00100111 11001000 11101001) (11001000 00100111 11101001) Informasi yang disembunyikan adalah karakter A. Nilai biner dari karakter ‘A’ adalah 10000011. Data setelah penanaman karakter ‘A’ (00100111 11101000 11001000) ? 100 (00100110 11001000 11101000) ? 000 (11001000 00100111 11101001) ? 011 Perubahan nilai biner pada data awal hanya pada bit-bit yang digarisbawahi. Protokol Protokol menurut Schneier (1996) adalah serangkaian langkah- langkah yang melibatkan dua pihak atau lebih dan didesain untuk menyelesaikan suatu permasalahan. Serangkaian langkah- langkah dalam protokol bersifat berurutan, dimana suatu langkah dapat dikerjakan bila langkah sebelumnya telah diselesaikan. Karakterisik protokol lainnya adalah : 1
Semua pihak yang terlibat dalam suatu protokol harus mengetahui keberadaan protokol tersebut dan setuju untuk mengikuti keseluruhan langkah- langkah yang harus diikutinya dalam protokol tersebut.
2
Protokol tidak boleh membingungkan; setiap langkah dideskripsikan dengan jelas sehingga tidak menimbulkan salah pengertian.
3
Protokol harus lengkap; selalu tersedia suatu tindakan untuk setiap kemungkinan situasi. Menezes et al. pada tahun 1997 mendefinisikan protokol (kriptografi)
adalah algoritma terdistribusi yang didefiniskan sebagai sebarisan langkahlangkah yang secara jelasmenspesifikasikan tindakan-tindakan dua entitas atau
21
lebih untuk mencapai tujuan keamanan tertentu. Protokol memegang peranan penting dalam kriptografi terutama dalam mempertemukan tujuan-tujuan kriptografi. Skema enkripsi, penanda digital, fungsi hash dan pembangkit bilangan acak merupakan primitif-primitif yang digunakan untuk membangun suatu protokol . Sebagai perbandingan untuk pengertian protokol, mekanisme mempunyai pengertian lebih umum yang meliputi makna protokol itu sendiri, yakni algoritma-algoritma yang menspesifikasikan langkah- langkah setiap entitas dan teknik-teknik keamanan non kriptografi (misalnya perlindungan perangkat keras dan prosedur kontrol) untuk mencapai tujuan keamanan tertentu. Kegagalan protokol atau mekanisme terjadi ketika protokol atau mekanisme gagal mencapai tujuan yang diinginkan, dalam suatu cara dimana musuh mendapatkan keuntungan dengan tidak membobol primitif-primitif penyusunnya, tetapi dengan memanipulasi protokol atau mekanisme itu sendiri. Beberapa alasan penyebab terjadinya kegagalan protokol, yaitu : 1
Kelemahan-kelemahan
pada
kriptografi
primitif
penyusunnya
yangmempengaruhi keseluruhan protokol 2
Asumsi jaminan keamanan terlampau ketat sehingga sulit untuk dipenuhi atau dimengerti secara jelas
3
Kesalahan penerapan beberapa prinsip pada sejumlah primitif seperti enkripsi.
Dua langkah penting yang harus dilakukan ketika mendesain suatu protokol (kriptografi) : a
Identifikasi semua asumsi yang digunakan
b
Untuk setiap asumsi, tentukan akibat bagi tujuan keamanan jika asumsi tersebut dilanggar. Protokol Steganografi. Protokol Steganografi adalah protokol yang
melibatkan algoritma steganografi. Dalam beberapa literatur seperti yang diungkapkan Katzenbeisser (2000), pada dasarnya protokol steganografi terbagi atas 3 tipe, yaitu : 1
steganografi murni (pure steganograpy),
22
2
stegano grafi kunci rahasia (secret key steganography),
3
steganografi kunci publik (public key steganography). Protokol steganografi murni adalah sistem steganografi yang tidak
membutuhkan pertukaran informasi rahasia (seperti kunci stego) ketika akan memulai komunikasi disebut steganografi murni. Keamanan sistem bergantung sepenuhnya pada kerahasian komunikasi tersebut. Steganografi murni tidak sepenuhnya aman karena bertentangan dengan prinsip Kerckhoffs. Kerckhoffts (1883) yang diacu dalam Petitcolas (2002) memberikan saran untuk menggunakan asumsi bahwa metode penyandian pesan telah diketahui musuh, sehingga keamanan bergantung pada pemilihan kunci4 . Bila Wendy diasumsikan mengetahui algoritma yang digunakan oleh Alice dan Bob selama pertukaran informasi, maka secara teori Wendy dapat mengekstraksi informasi pada setiap cover yang terkirim antara Alice dan Bob. Selain itu protokol ini tidak dapat melakukan otentikasi pesan, jika Wendy bertindak aktif dengan menggantikan pesan Alice dengan pesan miliknya sendiri, maka Bob tidak akan mengetahui bahwa pesan yang diterimanya bukan berasal dari Alice. Keamanan suatu sistem steganografi sebaiknya bergantung pada informasi rahasia yang dimiliki oleh Alice dan Bob, yaitu kunci stego. Tanpa memiliki pengetahuan terhadap kunci tersebut, tidak seorangpun diharapkan dapat mengekstraksi informasi rahasia dari cover. Sistem steganografi kunci rahasia mempunyai metode kerja yang sama dengan sandi simetris. Pengirim memilih suatu cover c dan menyisipkan pesan rahasia ke dalam c menggunakan kunci rahasia k. Bila penerima mengetahui kunci k tersebut maka dia dapat melakukan proses kebalikannya yaitu mengekstraksi pesan rahasia dari cover. Steganografi kunci publik membutuhkan dua macam kunci, yaitu kunci pribadi dan kunci publik, seperti halnya pada kriptografi kunci publik. Kunci publik digunakan dalam proses penyisipan, sedangkan kunci rahasia digunakan untuk penyusunan pesan rahasia. Diasumsikan, Alice dan Bob dapat melakukan pertukaran kunci publik sebelum dipenjarakan. Salah satu cara untuk membangun 4
Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvenient tomber entre les mains de l’ennemi
23
sistem steganografi kunci publik adalah menggunakan algoritma kriptografi kunci publik. Diasumsikan Alice dan Bob dapat melakukan pertukaran kunci publik menggunakan algoritma kriptografi kunci publik sebelum dipenjarakan. Steganografi kunci publik menggunakan asumsi bahwa fungsi decoding D dalam sistem steganografi dapat digunakan untuk semua cover, terlepas cover tersebut mengandung pesan rahasia atau tidak. Selanjutnya, elemen acak dari M , dapat kita sebut sebagai “acak alami” dari cover. Bila diasumsikan keteracakan alami ini secara statistika tidak dapat dibedakan dengan ciphertext yang dihasilkan oleh sistem kripto kunci publik, maka sistem steganografi yang lebih aman dapat dibangun melalui penyisipan ciphertext dibandingkan pesan rahasia tidak terenkripsi. Anderson (1996, 1998) menyusun suatu protokol yang menggunakan steganografi kunci publik dengan langkah berikut : 1
Alice mengenkripsi pesan rahasianya M, dengan fungsi enkripsi E, menggunakan kunci publik milik Bob, Pub B .
2
Alice menyisipkan hasil langkah ke-satu menggunakan fungsi penyisipan S, pada suatu kanal yang diketahui oleh Bob (termasuk juga Wendy) T. Protokol tersebut mengasumsikan bahwa algoritma kriptografi dan fungsi penyisipan diketahui oleh publik.
3
Walaupun Bob tidak mempunyai pengetahuan pendahulu bila ada informasi rahasia telah terkirimkan dalam suatu cover tertentu, Bob akan mengekstraksi dengan fungsi S’, setiap pesan yang datang dan kemudian mendekripsi hasil ekstraksi dengan fungsi D menggunakan kunci pribadi yang dimiliki Bob. Bila cover merupakan pesan T, maka informasi hasil dekripsi merupakan pesan Alice, yaitu M. Protokol ini mengasumsikan bahwa Wendy mengetahui metode penyisipan
yang digunakan oleh Alice, Wendy akan berusaha mengekstraksi pesan rahasia yang dikirimkan Alice untuk Bob. Metode enkripsi yang digunakan Alice akan menghasilkan teks sandi yang terlihat acak, sehingga Wendy tidak dapat memutuskan apakah informasi hasil ekstraksi tersebut bermakna atau tidak, kecuali Wendy dapat mematahkan sistem kripto yang ada.
24
Satu hal yang cukup menganggu pada protokol ini adalah Bob harus menduga teknik steganografi yang digunakan dan melakukan decode setiap cover yang Bob terima dari Alice. Situasi akan menjadi lebih buruk jika pesan stego dikirimkan tidak khusus untuk penerima tertentu, misalnya melalui internet newgroups, dimana setiap anggota newsgroups tersebut akan berusaha decode setiap obyek yang dikirim, walapun bukan ditujukan untuk dia. Craver
(1997)
mengembangkan
protokol
milik
Anderson
untuk
mensimulasikan steganografi murni menggunakan steganografi kunci publik dan pribadi. Sebagian besar aplikasi lebih memilih steganografi murni, karena tidak memerlukan berbagi kunci stego antar pelaku komunikasi, walaupun disisi lain protokol tersebut tidak dapat memberikan jaminan keamanan bila penyerang mengetahui fungsi penyisipan yang digunakan. Dengan protokol pertukaran kunci menggunakan steganografi kunci publik, Alice dan Bob dapat melakukan pertukaran kunci rahasia k yang akan mereka gunakan nant i pada sistem steganografi kunci rahasia. Protokol diawali dengan Alice membangkitkan pasangan kunci publik dan pribadi secara acak untuk digunakan dalam sistem kripto kunci publik. Alice akan menyisipkan kunci publik pada kanal yang telah diketahui oleh Bob (termasuk Wendy). Bob akan membuat dugaan bahwa kanal berisi kunci publik Alice dan berusaha mengektraksinya. Bob akan menyisipkan kunci k yang terpilih secara acak beserta pesan pendek sebagai pemberitahuan penerimaan, dengan terlebih dahulu mengenkripsi keduanya menggunakan kunci publik milik Alice yang diterimanya, pada suatu cover dan mengirimkannya kepada Alice. Alice akan mengekstraksi
pesan
dari
Bob
kemudian
mendekripsi
hasil
ekstraksi
menggunakan kunci pribadinya. Sekarang, Alice dan Bob mempunyai kunci stego k yang diketahui berdua. Protokol steganografi pertukaran pesan ini rawan terhadap serangan man-inthe-midlle. Bila Wendy berlaku aktif, dia akan mengambil objek stego pertama dari Alice untuk Bob dan mengganti kunci publik Alice dengan miliknya sendiri. Bob akan mengenkripsi kunci rahasia k menggunakan kunci publik Wendy karena Bob mengira kunci tersebut milik Alice. Oleh karena itu, Wendy dapat
25
mengetahui kunci k yang dipilih Bob dan meneruskannya kepada Alice dengan cara mengenkripsi kunc i tersebut menggunakan kunci publik Alice, kemudian menyisipkannya pada suatu cover dan mengirimkan hasil penyisipan tersebut kepada Alice. Walaupun Alice menerima kunci k yang benar (pilihan Bob), Alice tidak mengetahui bahwa pada kenyataannya Wendy juga mengetahui kunci tersebut. Kompresi Data Kompresi data adalah proses mengurangi ukuran fisik data sehingga membutuhkan tempat penyimpanan yang lebih kecil atau waktu pengiriman yang lebih pendek dibandingkan bila data tersebut tidak mengalami kompresi (Simsek 2004). Progran kompresi digunakan untuk melakukan kompresi dan pemadatan. Algoritma dekompresi digunakan untuk mendapatkan kembali data awal hanya bisa dioperasikan bila mengetahui
dan
algoritma kompresi yang telah
digunakan. Beberapa teknik kompresi data yang telah berkembang saat ini adalah : RLE, Huffman Encoding, Arithmetic Encoding, LZW, BWT, dan Kompresi DCT-JPEG. Murray dan Ripper (1994) dalam Simsek (2004) mengemukakan bahwa isstilah
data
tak-terkodekan
(unencoded
data),
data
tak-terkompresi
(uncompressed data), dan data awal digunakan untuk menyebut data sebelum mengalami kompresi, dan istilah data terkodekan (encoded data) serta data terkompresi (compressed data) digunakan untuk menyebutkan data yang mengalami kompresi. Rasio kompresi adalah rasio dari data tak-terkompresi terhadap data terkompresi. Sebagai contoh, suatu file data dengan ukuran 100KB, menggunakan algoritma kompresi ukuran file tersebut dapat dikurangi mencapai 50 KB. Pada kasus tersebut algoritma kompresi dapat mengurangi ukuran file data dengan rasio kompresi sebesar 2:1. Algoritma kompresi data dapat dikategorikan menjadi 2 jenis, yaitu lossless dan lossy (Steven 2002 dalam Simsek (2004)). Pada metode kompresi lossless data awal dapat dibangun kembali dari data terkompresi, sama persis seperti kondisi awal. Metode ini disebut juga metode tidak merusak (non-destructive). File teks mengunakan kompresi metode lossless; karena pada kasus terburuk
26
kehilangan sebuah karakter pada file teks dapat membuat teks tersebut tidak dapat dipahami. Contoh jenis file lainnya yang menggunakan kompresi metode lossless adalah executable program, source code, file pemrosesan kata, dan angka tertabulasi. Algoritma kompresi yang menggunakan metode lossless antara lain : RLE, Huffman, Arithmetic, LZW, dan BWT. Metode kompresi lossy bekerja dengan asumsi bahwa data tidak harus tersimpan secara utuh. Metode ini disebut juga metode merusak (destructive). Algortima kompresi lossy membuang sebagian informasi pada data gambar, video, dan suara , tapi dengan tetap memperhatikan kualitas data. Algoritma kompresi yang menggunakan metode lossy diantaranya adalah DCT. Steven 2002 dalam Simsek (2004) mengemukakan bahwa metode lossy lebih efektif penggunaannya dibandingkan dengan metode lossless. Tranmisi gambar melalui koneksi internet merupakan contoh yang tepat untuk alasan mengapa kompresi data dibutuhkan dan keefektifan kompresi lossy. Sebagai contoh kasus sebuah gambar berwarna berukuran 600 KB akan di-download melalui modem komputer. Bila gambar tersebut dikompresi menggunakan metode lossless, maka gambar tersebut akan berkurang ukuran fisiknya sebesar setengah kali dari kondisi awal, yaitu 300 KB. Jika gambar tersebut menggunakan kompresi lossy, maka ukuran fisik nya dapat mencapai 50 KB. Semakin besar ukuran file yang di-download, semakin besar pula waktu yang dibutuhkan untuk dowonload gambar tersebut. Pengkodean Huffman. Pengkodean Huffman sebagai salah satu teknik kompresi lossless. dikembangkan oleh David A. Huffman tahun 1955. Pengkodean ini merupakan salah satu contoh dari algoritma pengkodean entropi (Simsek 2004). Pengkodean entropi adalah suatu skema pengkodean yang memberikan kode pendek untuk blok input berpeluang besar dan kode pendek untuk blok input berpeluang kecil. Pengkodean Huffman membuat pohon biner dari simbol-simbol, dan menerapkan serangkaian langkah : 1
Langkah pertama dalam membangun kode Huffman adalah mengurutkan karakter mulai dari frekuensi tertinggi sampai terendah
27
2
Bila terdapat lebih dari satu pohon : a. Menemukan dua pohon dengan total peluang terkecil b. Mengkombinasikan pohon menjadi satu, masing- masing pada sisi kiri dan
kanan.
Langkah
ini
merupakan
langkah
awal
dalam
mengkonstruksi struktur pohon biner. 3
Hasil yang didapat pada langkah kedua disebut pohon Huffman, yang terdiri dari simbol-simbol. Simbol ‘0’ mewakili anak sebelah kiri dan simbol ‘1’ mewakili anak sebelah kanan.
4
Penelusuran kebawah pohon ya ng merepresentasikan kode Huffman, dimana kode pendek diberikan kepada karakter dengan frekuensi tertinggi. Gambar 7 menampilkan skema kompresi Huffman. Karakter ‘a’ sampai ‘j’
muncul sebagai aliran data dengan peluang p(x). Karena karakter ‘e’ paling sering muncul pada data, maka karakter tersebut dikodekan dengan dua bit, yaitu 10. Urutan karakter berikutnya adalah ‘a’, yang juga dikodekan dengan dua bit, yaitu 00. Hal tersebut akan berulang sampai pada karakter dengan frekeunsi terkecil yaitu ‘j’, yang dikodekan dengan enam bit, 111111. Berikut ini contoh dari proses kode Huffman dengan rasio kompresi 2:1, dimana data 8 byte dikompresi menjadi 4 byte :
Aliran data awal
:B
A
E
C
H
Kompresi Huffman
:111110 00 10 0110 010 1110 111110 11111
Pengelompokkan (byte): 111110 00 10011001 Dekompresi
: 111110
àB
00à
D
G
01110111 A
J
10111111
10àE
0110àC
010àH 1110àD 111110àG 111111àJ Aliran data akhir
: B A E C H D G J (hasilnya sama dengan data awal)
Pada implementasi pengkodean Huffman, algoritma kompresi dan dekompresi harus menggunakan kode biner yang sama untuk setiap representasi
28
karakter. Hal ini dapat diwujudkan melalui dua cara, yaitu menggunakan tabel yang sudah terdefinisi terlebih dahulu, terlepas dari isi informasi yang akan dikompresi. Cara kedua adalah menggunakan pengkodean yang disesuaikan dengan data yang akan digunakan. Algoritma dekompresi pada cara kedua ini membutuhkan tabel pengkodean yang digunakan oleh algoritma kompresi.
Gambar 7 Pengkodean Huffman (EFF 2003) Masalalah yang timbul pada pengkodean Huffman adalah pada saat menjumpai karakter yang jarang sekali digunakan seperti :!, @, #, $, dan %. Karakter tersebut membutuhkan pengkodean sampai belasan bit. Menurut Nelson (1991) dalam istilah matematika, jumlah optimal bit yang digunakan untuk merepresentasikan suatu karakter adalah log basis 2 dari (1/p), dimana p adalah peluang dari karakter tersebut. Jika peluang dari suatu karakter adalah ½, maka jumlah optimum jumlah bit dari kode karakter tersebut adalah log basis 2 dari 2, yaitu 1. Bila diasumsikan kode yang optimal untuk suatu simbol adalah 0.15 bit, sistem pengkodean Huffman dimungkinkan akan menentukan kode 1 bit untuk simboltersebut, yang berarti enam kali lebih panjang daripada yang dibutuhkan.
Algoritma Menurut Cormen et al. (1990) algoritma adalah prosedur well-defined computational yang mengambil suatu nilai, atau sekumpulan nilai sebagai input dan menghasilkan suatu nilai atau sekumpulan nilai sebagai output. Sehingga dapat dikatakan algoritma merupakan serangkaian langkah komputasional untuk
29
mengubah input menjadi output. Algoritma juga dapat dipandang sebagai suatu alat untuk menyelesaikan well-specified computational problem. Suatu algoritma dikatakan benar bila untuk setiap input menghasikan output yang benar. Kebenaran suatu algoritma diperlukan agar dapat menyelesaikan masalah komputasional yang ada. Suatu algoritma dapat dideskripsikan dalam bahasa percakapan (misalnya bahasa Indonesia atau Inggris),
bahasa komputer
atau juga dalam desain perangkat keras. Pseudocode adalah deskripsi algoritma dalam bentuk yang mirip dengan bahasa pemrograman (komputer), seperti C, Pascal atau Algol.
30
METODE PENELITIAN
Tahapan awal penelitian ini dimulai dengan studi pustaka atau riset jurnal dengan tujuan mempelajari teori dasar yang mendasari penelitian ini serta mengetahui perkembangan penelitian pada bidang ilmu keamanan komputer khususnya information hiding. Referensi utama penelitian berasal dari buku literatur, jurnal ilmiah, serta tugas akhir berupa tesis ataupun disertasi. Hasil dari studi pustaka tersebut adalah identifikasi permasalahan dan tujuan penelitian, sekaligus penentuan metode penelitian yang akan digunakan.
Gambar 8 Siklus hidup sistem keamanan.
Metode
penelitian
yang
digunakan
untuk
pembangunan protokol
penyembunyian informasi terotentikasi adalah serangkaian tahapan yang mengikuti siklus hidup sistem keamanan dengan meniadakan tahapan operasi dan pemeliharaan. Siklus hidup sistem keamanan pada Gambar 8 dikemukakan oleh Bishop pada tahun 2003
dimana setiap tahapan dari siklus dapat mundur
(feedback) ke tahapan sebelumnya, bahkan ke tahapan awal. Kegiatan yang dilakukan pada setiap tahapan dapat dijelaskan sebagai berikut : 1
Ancaman (Thread) Tahapan awal dari pembangunan protokol ini adalah identifikasi ancamanancaman yang ingin diatasi oleh sistem atau dalam penelitian ini adalah protokol yang dilanjutkan dengan penentuan aspek atau layanan keamanan yang ingin diberikan oleh protokol. Layanan keamanan dipersiapkan untuk mengatasi serangan akibat ancaman-ancaman yang diperkirakan muncul pada protokol .
2
Kebijakan (Policy) Tahapan selanjutnya pembangunan protokol adalan penentuan kebijakan keamanan. Kebijakkan tersebut ditujukan untuk memberikan arahan dan sasaran serta sekaligus menjadi acuan standar keamanan dalam protokol. Kebijakkan keamanan juga harus memenuhi layanan- layanan keamanan yang akan disajikan oleh protokol.
3
Spesifikasi Spesifikasi merupakan pernyataan fungsional dari sistem yang dapat berupa ekspresi matematika atau bahasa lain yang mendeskripsikan metode sistem dalam memberikan layanan keamanan.
4
Desain Tahapan desain dari protokol akan menterjemahkan spesifikasi dalam bentuk komponen-komponen yang akan diimplementasikan. Desain dikatakan memenuhi spesifikasi, jika tidak melanggar semua ketentuan dalam spesifikasi.
5
Implementasi
32
Tahapan implementasi menghasilkan aplikasi protokol yang sesuai dengan desain yang ada. Bila desain yang ada telah memenuhi spesifikasi sistem maka secara tidak langsung aplikasi yang dihasilkan juga memenuhi spesikasi tersebut. Kesulitan pada tahapan ini biasanya terletak pada kompleksitas program untuk mengimplementasikan desain secara benar. Tahapan akhir dari penelitian adalah melakukan analisis kinerja dan keamanan protokol. Analisis kinerja protokol dilakukan melalui pengamatan hasil percobaan terhadap aplikasi protokol, sedangkan analisis keamanan protokol dilakukan melalui analisis terhadap metode keamanan informasi yang terlibat di dalam protokol.
33
HASIL DAN PEMBAHASAN
Deskirpsi Protokol Penyembunyian Informasi Terotentikasi Ancaman. Protokol penyembunyian informasi terotentikasi didesain untuk memberikan layanan keamanan kerahasiaan dan integritas. Kerahasiaan biasanya berhubungan dengan data yang diberikan kepada pihak lain untuk keperluan tertentu. Pada protokol ini layanan kerahasiaan bertujuan untuk memberikan jaminan bahwa informasi yang dirahasiakan hanya diketahui oleh pihak penerima yang berhak dan tidak dapat diketahui oleh pihak yang tidak berhak. Sedangkan, aspek integritas pada protokol ini memberikan jaminan bahwa informasi yang dikirim dan diterima tidak mengalami perubahan. Jenis ancaman-ancaman yang diidentifikasi dapat menimbulkan serangan keamanan pada protokol ini adalah snooping dan modification. Kegiatan snooping atau pengintaian diprediksi muncul pada protokol dikarenakan pengiriman data dilakukan melalui jalur komunikasi publik, dimana semua pihak dapat melihat lalu lintas data yang mengalir didalamnya. Layanan kerahasiaan ditujukan untuk mengatasi serangan tersebut. Modification atau pengubahan isi informasi terjadi bilamana musuh dapat membaca pesan dari pihak pengirim dan mengirimkannya (kemungkinan setelah mengubah isi pesan) kembali kepada pihak penerima, dengan harapan pihak pengirim dan penerima tidak menyadari akan hal tersebut. Ancaman ini dapat diatasi menggunakan layanan integritas. Kebijakan (Policy). Kebijakan keamanan yang ditetapkan untuk protokol ini meliputi: 1
Kebijakan peranan Pada setiap sesi protokol terdapat dua peranan, yakni pihak pengirim (pemulai protokol) dan penerima (pemberi respon), dimana pada sesi berikutnya peranan tersebut dapat saling dipertukarkan. Protokol ini tidak melibatkan pihak ketiga sebagai arbitrator atau penengah. Musuh adalah pihak luar yang berperan sebagai penyerang protokol. Musuh berusaha memanipulasi jalannya
komunikasi menggunakan berbagai cara, diantaranya hapus, sisip dan modifikasi data yang terkirim dalam protokol. 2
Kebijakan akses Protokol ini tidak mengatur kebijakan akses secara fisik, dengan asumsi aplikasi protokol tersimpan dalam ruangan yang memiliki sistem sekuriti dan akses terhadap protokol dibatasi hanya untuk pihak yang berkepentingan.
3
Kebijakan jaringan dan fasilitas komunikasi Fasilitas jaringan dan komunikasi perlu dilindungi dengan perangkat teknologi sekuriti terutama bila dibutuhkan termasuk juga pengendalian akses terhadap protokol. Pada penelitian ini komunikasi dalam protokokol bersifat bidirectional atau dua arah dan dilakukan pada jaringan unsecure dan publik tapi dengan asumsi secara fisik dalam kondisi ideal .
4
Kebijakan sistem, aplikasi, dan data Dalam penelitian ini sistem berfungsi untuk memberikan layanan keamanan data dengan cara penyembunyian data dalam data yang lainnya. Protokol serta algoritma yang terlibat bersifat publik (semua pihak mengetahuinya). Protokol dalam penelitian ini akan didesain berupa framework, dimana metode yang terlibat didalamnya tidak spesifik mengacu pada algoritma tertentu. Pemilihan algoritma berdasarkan kinerja dari algoritma tersebut dan tipe data yang digunakan dalam protokol. Data yang akan dipergunakan dalam protokol ada tiga jenis, yakni data rahasia, media tempat data rahasia disembunyikan (cover), dan kunci. Data yang mengalir dalam jalur pengiriman merupakan data diskret. Namun bila diinginkan pesan yang mengalir bersifat continuos bytes, maka modifikasi protokol dapat dilakukan pada sisi pengirim, yakni memotong aliran pesan menjadi pesan-pesan baru yang terpisah dan menyusunnya kembali pada sisi penerima.
Spesifikasi. Spesifikasi atau metode yang digunakan protokol dalam menyajikan keamananya adalah sebagai berikut : 1
Otentikasi dan verifikasi, menggunakan metode kriptografi fungsi hash berkunci untuk melakukan layanan integritas yang dilengkapi dengan metode
35
penyisipan data untuk laya nan kerahasiaan. Otentikasi bertujuan menghasilkan data dengan nilai otentikasinya, sedangkan verikasi bertujuan memeriksa keotentikkan data dengan nilai otentikasinya. Algoritma penyisipan data bertujuan untuk menyembunyikan nilai otentikasi dalam data tersebut agar tidak terlihat oleh pihak musuh. Pemilihan algorima penyisipan data bergantung pada tipe data yang digunakan untuk menyembunyikan nilai otentikasinya, yakni teks atau non-teks. 2
Kompresi dan dekompresi, kompresi adalah metode peringkasan atau pemapatan data secara fisik, sedangkan dekompresi digunakan untuk mengembalikan kembali data ke kondisi semula. Penggunaan metode ini dalam protokol bertujuan untuk efisiensi dalam penyimpanan dan pengiriman data serta peningkatan keamanan data. Metode kompresi yang digunakan harus bersifat lossless atau tidak merusak, dalam artian data awal dapat dibangun kembali dari data terkompresi, sama persis seperti kondisi awal.
3
Operasi XOR, penggunaan metode ini dalam protokol didasari oleh sifat yang dimiliki oleh metode tersebut, yakni jika berlaku A⊕ B = C, maka berlaku pula C ⊕ B = A.
4
Concatenate (gabung) dan split (pisah), merupakan metode yang digunakan untuk pengemasan dan pembongkaran paket data pada protokol.
5
Protokol tidak mengatur metode pembangkitan kunci rahasia k untuk metode otentikasi. Protokol mengasumsikan kunci tersebut telah ada pada saat protokol dimulai. Syarat yang harus dipenuhi oleh kunci tersebut adalah: a
Kunci k hanya diketahui oleh pihak pengirim dan penerima.
b
Setiap kali protokol dimulai dilakukan pembangkitan kunci k yang baru.
Desain. Spesifikasi protokol yang telah ditetapkan diterjemahkan dalam bentuk desain protokol seperti pada Gambar 9. Desain protokol penyembunyian informasi terotentikasi terbagi atas 2 bagian utama, yaitu protokol pihak pengirim dan pihak penerima. Pihak pengirim melakukan metode otentikasi, kompresi, XOR, dan penggabungan, sedangkan pihak penerima melakukan metode
36
kebalikannya, yaitu otentikasi ulang (verifikasi), dekompresi, XOR, dan pemisahan.
⊕
⊕
Gambar 9 Diagram alur protokol penyembunyian informasi terotentikasi.
37
Protokol penyembunyian informasi terotentikasi pada pihak pengirim melewati tahapan-tahapan sebagai berikut berikut : 1
Pengirim menyiapkan data input protokol, yakni data pesan rahasia M, pesan C, dan kunci hash k.
2
Metode otentikasi bertujuan menghasilkan nilai fixed-length (nilai hash) sebagai nilai otentikasi pesan, yang kemudian disisipkan pada pesan C. Gambar 10 mengilustrasikan proses detail yang terjadi pada metode otentikasi pihak pengirim, dengan penjelasan sebagai berikut : a
Perhitungan nilai (fixed-length) hash h terhadap media C menggunakan fungsi hash H dan kunci hash k,
sehingga didapatkan h=H(C,k).
Penyisipan nilai h kedalam pesan C menggunakan fungsi sisip S sehingga didapatkan pesan terotentikasi C’=S(C,h).
0 HGLD3HQ\ LVLSDQ &
. XQFLKDVK N
) XQJVL+ DVK + &N
1LO DLKDVK K
) XQJVL 3 HQ\ LVLSDQ 6 & K
0 HGLD7HURW HQW LNDVL &¶
Gambar 10 Diagram alur metode otentikasi pihak pengirim.
3
Metode XOR melakukan operasi XOR termodifikasi antara nilai pesan rahasia M dan nilai h untuk menghasilkan kunci protokol K, dimana K = M ⊕ h (Gambar 11). Operasi XOR membutuhkan pra-proses untuk menyamakan panjang bit M dan h, yaitu:
38
a
Pembentukkan blok-blok pesan M dengan panjang bit setiap blok sama dengan panjang bit h, yakni t bit, sehingga terbentuk M1 , M2 , M3 ,……, Mn .
b
Proses padding dilakukan bila panjang bit blok terakhir dari Mn kurang dari t bit. Metode padding yang digunakan adalah sebagai berikut: i.
Perangkaian bit ‘1’ pada Mn dan diikuti serangkaian bit ‘0’, sehingga panjang blok Mn adalah t bit
ii. Penambahan satu blok baru pesan M, yakni Mn+1 , yang berisi serangkaian bit ‘0’ sebanyak t bit.
3 HVDQ0 3 UD 3 URVHV 3HPEHQW XNDQ EO RN EO RNSHVDQ
3 HQDPEDKDQ ELWSDGGLQJ 1 LODL+ DVK K
) XQJVL; 2 5 0 ⊕K . XQFL3 URW RNRO .
Gambar 11 Diagram alur metode XOR pihak pengirim. 4
Metode concatenation bertujuan untuk membentuk paket kunci antara kunci K dan kunci hash k, sehingga didapatkan paket kunci K’=K||k.
5
Metode kompresi menerapkan algoritma kompresi C terhadap paket kunci K’, sehingga didapatkan paket kunci terkompresi, K’t=C(K’)
6
Paket kunci terkompresi K’t dan media terotentikasi C’ dikrimkan secara terpisah kepada penerima melalui kanal transmisi data.
39
Pada
sisi
penerima
tahapan-tahapan
yang
dilalui
oleh
protokol
penyembunyian informasi terotentikasi adalah sebagai berikut: 1
Penerima menerima media terotentikasi C’ dan paket kunci terkompresi K’t dari kanal transmisi data.
2
Metode dekompresi dilakukan terhadap paket kunci terkompresi K’t untuk mengembalikan paket kunci pada kondisi awal. Metode ini menggunakan algoritma dekompresi yang merupakan algoritma kebalikan dari algoritma kompresi pada sisi pengirim, sehingga didapatkan paket kunci K’ = D(K’t )
3
Metode pemisahan dilakukan pada paket kunci K’ untuk mendapatkan kunci K dan kunci hash k.
4
Metode otentikasi ulang pada protokol pihak penerima dilakukan untuk tujuan verifikasi keabsahan pesan C’ (Gambar 12), dengan langkah- langkah sebagai berikut : a
Perhitungan ulang nilai hash h terhadap media C’ menggunakan fungsi hash H (fungsi yang sama pada pihak pengirim) dan kunci hash k (hasil langkah ke-3), sehingga didapatkan nilai hash h’=H(C’,k).
b
Ekstraksi nilai h pada media C’ menggunakan fungsi ekstraksi S’ yang merupakan fungsi kebalikan dari fungsi penyisipan, sehinggan didapatkan h = S’ (C’).
c
Verifikasi keabsahan pesan C’ dengan membandingkan nilai h yang terdapat pada media cover C’ (hasil operasi 4.b) dengan nilai h’ hasil otentikasi ulang (hasil operasi 4.a). Jika diperoleh nilai h = h’, maka media cover C’ dinilai otentik atau sah (tidak mengalami perubahan) kemudian lanjut ke langkah berikutnya. Jika terjadi sebaliknya , yakni nilai h ? h’ maka media cover C’ dinilai tidak sah, dan protokol berakhir.
40
Gambar 12 Diagram alur metode otentikasi ulang sisi penerima. 5
Metode XOR termodifikasi terhadap K dan h untuk menghasilkan pesan rahasia M, dimana M = K ⊕ h (seperti pada Gambar 13) .
⊕
Gambar 13 Diagram alur metode XOR pihak penerima. 6
Protokol secara keseluruhan dinyatakan selesai.
41
Implementasi. Tahapan implementasi dilakukan untuk mengimplementasikan desain protokol dalam bentuk aplikasi komputer. Kegiatan implementasi protokol diawali dengan penentuan batasan-batasan implementasi, yakni: a
algoritma fungsi hash yang digunakan, yakni HMAC-SHA256 yang menghasilkan nilai hash sepanjang t bit, dimana t = 256 bit.
b
Algoritma kompresi-dekompresi menggunakan kode huffman.
c
Algoritma penyisipan menggunakan metode LSB, yang merupakan salah satu teknik penyisipan pada data non-teks (gambar).
d
Tipe data yang untuk data rahasia adalah teks, media penyisipan bertipe gambar dan kunci otentikasi bertipe teks. Untuk keperluan percobaan penelitian spesifikasi input data yang digunakan: -
Data rahasia berupa file tipe .txt dengan panjang 256, 512, 1024, 2048 dan 4096 bit
-
kunci otentikasi berupa karakter dengan panjang 512 bit
-
media penyisipan menggunakan file gambar berwana 24 bit (true colored 24 bit) tipe bmp, berukuran 10x10, 30x20, dan 40x27 pixel.
Kegiatan implementasi desain protokol menjadi aplikasi menggunakan perangkat komputer laptop dengan spesifikasi sebagai berikut: 1
2
Perangkat Keras -
Processor Intel Pentium M 1,50 Ghz
-
Memori 768 MB
-
Harddisk 30 GB
-
Monitor 14 inch
Perangkat lunak -
Sistem operasi, yang digunakan adalah Microsoft Windows XP Professional Versi 2002 Service Pack 2
-
Bahasa Pemrograman , yang digunakan adalah Matlab versi 7.0.1.24704 (R14) Service Pack 1
42
Analisis Kinerja Protokol Analisis kinerja protokol dilakukan berdasarkan hasil percobaan terhadap aplikasi, dimana dilakukan pengukuran waktu eksekusi setiap metode pada protokol. Hasil pengukuran waktu eksekusi aplikasi untuk protokol sisi pengirim dapat dilihat pada Tabel 2, dan untuk sisi pengirim dapat dilihat pada Tabel 3.
Tabel 2 Waktu eksekusi protokol pada sisi pengirim Ukuran media
Panjang pesan
penyisipan
rahasia
(pixel)
(Bit)
10x10
256
5.127000
0.000000
0.030000
0.020000
5.177000
512
4.907000
0.020000
0.030000
0.020000
4.977000
1024
4.897000
0.000000
0.030000
0.030000
4.957000
2048
4.907000
0.010000
0.030000
0.060000
5.007000
4096
4.907000
0.020000
0.040000
0.100000
5.067000
256
10.876000
0.000000
0.030000
0.020000
10.926000
512
11.246000
0.000000
0.040000
0.020000
11.306000
1024
10.825000
0.000000
0.030000
0.030000
10.885000
2048
10.786000
0.010000
0.040000
0.060000
10.896000
4096
10.896000
0.010000
0.030000
0.110000
11.046000
256
15.813000
0.000000
0.040000
0.020000
15.873000
512
15.823000
0.000000
0.030000
0.030000
15.883000
1024
15.823000
0.010000
0.031000
0.040000
15.904000
2048
15.823000
0.010000
0.030000
0.050000
15.913000
4096
15.802000
0.010000
0.030000
0.130000
15.972000
30x20
40x27
Waktu Eksekusi (detik) Otentikasi
XOR
Concatenate
Kompresi
Total
Tabel 3 Waktu eksekusi protokol pada sisi penerima Ukuran media
Panjang
Waktu Eksekusi (detik)
penyisipan
pesan rahasia
(pixel)
(Bit)
10x10
256
4.907000
0.030000
0.050000
0.030000
5.017000
512
4.927000
0.040000
0.051000
0.020000
5.038000
1024
4.927000
0.091000
0.050000
0.050000
5.118000
Verifikasi
XOR
Split
Dekompresi
Total
43
Ukuran media
Panjang
penyisipan
pesan rahasia
(pixel)
(Bit)
30x20
40x27
Waktu Eksekusi (detik) Verifikasi
XOR
Split
Dekompresi
Total
2048
4.908000
0.160000
0.060000
0.080000
5.208000
4096
4.887000
0.310000
0.060000
0.130000
5.387000
256
10.785000
0.030000
0.050000
0.010000
10.875000
512
10.815000
0.050000
0.051000
0.020000
10.936000
1024
10.825000
0.090000
0.061000
0.030000
11.006000
2048
10.805000
0.150000
0.050000
0.060000
11.065000
4096
10.796000
0.290000
0.050000
0.120000
11.256000
256
15.803000
0.030000
0.060000
0.020000
15.913000
512
15.793000
0.050000
0.050000
0.040000
15.933000
1024
15.773000
0.080000
0.050000
0.060000
15.963000
2048
15.943000
0.160000
0.060000
0.080000
16.243000
4096
15.813000
0.300000
0.060000
0.110000
16.283000
Berdasarkan Tabel 2 dan 3, secara keseluruhan dengan meningkatnya ukuran media penyisipan dan panjang data rahasia, waktu eksekusi protokol baik dari sisi pengirim dan penerima juga mengalami peningkatan. Melalui pengamatan yang lebih seksama, diperoleh data bahwa penambahan waktu eksekusi protokol secara dominan dipengaruhi oleh waktu eksekusi otentikasi (dan verifikasi). Persentase waktu eksekusi otentikasi terhadap total waktu eksekusi protokol sisi pengirim secara keseluruhan pencapaiannya diatas 95 %, demikian juga pada protokol sisi penerima. Tabel 2 dan 3 juga memperlihatkan bahwa peningkatan waktu eksekusi lebih dipengaruhi oleh peningkatan ukuran media penyisipan dibandingkan dengan panjang pesan rahasia. Percobaan dengan panjang pesan rahasia tetap dan ukuran media rahasia yang berbeda-beda, penambahan kecepatan terjadi secara signifikan terlihat ketika ukuran media penyisipan ditingkatkan. Ketika percobaan melakukan hal sebaliknya, yakni menggunakan media penyisipan dengan ukuran tetap dan panjang pesan rahasia yang ditingkatkan, penambahan kecepatan eksekusi rekatif kecil. Penjelasan tentang kejadian ini berkaitan dengan penyataan sebelumnya, bahwa kecepatan eksekusi protokol lebih dipengaruhi oleh waktu
44
eksekusi tahap otentikasi (dan verifikasi). Pada tahapan otentikasi (dan verifikasi) data yang diolah adalah media penyisipan, sehingga dengan bertamb ahnya ukuran media tersebut maka berdampak pada penambahan waktu eksekusi otentikasi (dan verifikasi ) dan secara keseluruhan akan mempengaruhi waktu eksekusi protokol. Hubungan waktu eksekusi protokol pada sisi pengirim dan penerima juga dapat dilihat pada Gambar 14. Berdasarkan Gambar 14, laju pertumbuhan waktu eksekusi protokol baik pada sisi pengirim dan penerima bersifat seragam pada setiap percobaan. Setiap percobaan secara rata-rata membutuhkan waktu eksekusi yang sama antara protokol sisi pengirim dan penerima.
Waktu Eksekusi Protokol Sisi Pengirim vs Sisi Penerima 18,000,000
16,000,000
14,000,000
12,000,000
detik
10,000,000
8,000,000
6,000,000
4,000,000
2,000,000
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Percobaan
Pengirim
Penerima
Gambar 14 Hubungan waktu eksekusi protokol sisi pengirim dan sisi penerima.
Analisis Desain Protokol Seperti
yang
sudah
dikemukakan
sebelumnya,
desain
protokol
penyembunyian informasi bersifat framework. Keuntungan yang diperoleh dari sifat tersebut adalah: 1
Menggunakan algoritma yang sudah ada, tanpa perlu melakukan modifikasi terhadap algoritma tersebut.
45
2
Kemudahan untuk mengganti algoritma yang telah digunakan.
3
Tidak mengurangi kinerja algoritma yang digunakan.
4
Analisis keamanan protokol berdasarkan pada kekuatan algoritma yang dipergunakan oleh metode keamanan informasi dalam protokol tersebut. Metode
steganografi
merupakan
salah
satu
metode
yang
sering
dipergunakan dalam sistem keamanan penyembunyian informasi. Tabel 4 mendeskripsikan perbedaan mendasar antara desain protokol penyembunyian informasi terotentikasi pada penelitian ini dengan steganografi. Tabel 4 Perbedaan antara protokol penyembunyian informasi terotentikasi dan stegano grafi Protokol penyembunyian Steganogafi informasi terotentikasi Cara Kerja
Pesan
rahasia
tidak
pernah Pesan rahasia disisipkan pada
terkirimkan, tapi bersama nilai suatu hash
hasil
media
kemudian
otentikasi mengirimkannya kepada pihak
dipergunakan
untuk penerima
melalui
jalur
kehilangan
pesan
pembangkitan kunci protokol. transmisi. Nilai hash yang telah disisipkan pada suatu media bersama paket kunci
secara
dikirimkan
terpisah kepada
akan pihak
penerima melalui jalur transmisi. Layanan
Kerahasiaan dan Integritas
Kerahasiaan
Keamanan Ancaman
Terdapat
layanan
integritas
modification
dengan metode otentikasi untuk
Tidak ada
memeriksa keabsahan data. Kerusakan
Pesan rahasia dapat dipulihkan
data selama
kembali oleh pihak pengirim dan Resiko
pengiriman
proses pengiriman dapat diulangi rahasia kembali.
46
Protokol penyembunyian
Steganogafi
informasi terotentikasi Panjang pesan rahasia
Tidak ada batasan panjang pesan rahasia
Panjang pesan rahasia dibatasi oleh
kapasitas
media
penyisipan
Analisis Keamanan Protokol Protokol keamanan informasi terotentikasi menggunakan dua metode keamanan informasi, yakni kriptografi fungsi hash dan penyisipan (steganografi). Keamanan protokol dapat dianalisis melalui kekuatan dua metode tersebut. Pemilihan
algoritma
HMAC-SHA56
untuk
implementasi
metode
otentikasi pada protokol ini berdasarkan rekomendasi Fergusson dan Scheneir tahun 2003.
Fergusson dan Scheneir melakukan analisis keamanan berbagai
algoritma fungsi hash dengan melihat tingkat keamanan fungsi tersebut terhadap collision attacks dan ketahanan terhadap serangan online dan offline. Sesuai dengan ide dasar metode keamanan dengan penyisipan untuk penyembunyian informasi, pesan yang disisipkan harus dijaga kerahasian keberadaannya. Oleh karena itu, media setelah penyisipan hendaknya tidak mengundang kecurigaan pihak musuh. Walaupun pihak musuh memiliki data awal (media penyisipan sebelum disisipi data lain) pihak musuh seharusnya tidak dapat mendeteksi keberadaan data tersebut hanya dengan membandingkannya menggunakan mata. Provos dan Honeyman (2003) menunjukkan bahwa serangan visual terhadap meode steganografi dilakukan dengan membandingkan tampilan data awal sebelum dan sesudah penyisipan pesan rahasia menggunakan kasat mata. Tabel 5 menunjukkan bahwa tampilan media awal dan media setelah nyisipan perbandingan media awal dilakukan pengamatan melalui kasat mata tidak
menunjukkan
perbedaan
yang
nyata.
Sehingga
kemungkinan pihak musuh menyadari keberadaan data lain
harapannya
kecil
yang tersimpan
didalamnya.
47
Tabel 5 Perbandingan tampilan media awal dan media setelah penyisipan Ukuran Media (pixel)
Media Awal
Media Setelah Penyisipan
10x10
30x20
40x27
Pengamatan secara digital pada media penyisipan dapat dilakukan melalui distribusi nilai pixel setiap komponen warna (red, green atau blue). Tabel 6 menampilkan histogram distribusi setiap komponen warna pixel pada media berukuran 10x10 pixel. Histogram sisi kiri menunjukkan distribusi warna pixel pada media awal, sedangkan sisi kanan merupakan histogram distribusi warna pixel merah pada media setelah penyisipan. Berdasarkan histogran tersebut terlihat bahwa tidak terjadi perubahan yang signifikan pada distribusi nilai pixel untuk komponen warna red pada media awal dan media setelah penyisipan. Sehingga pengamatan secara digital oleh pihak musuh pun tidak akan menimbukan kecurigaan adanya data tersembunyi. Tabel 6 Histogram distribusi warna pixel pada media ukuran 10x10 pixel Komponen Media awal Media setelah penyisipan Warna
Red
2
2
1.8
1.8
1.6
1.6
1.4
1.4
1.2
1.2
1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0 0
50
100
150
200
250
0
50
100
150
200
250
48
Komponen
Media awal
Media setelah penyisipan
Warna 2
2
1.8
1.8
1.6
1.6
Green
1.4
1.4
1.2
1.2 1
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0 0
50
100
150
200
250
0
50
0
50
100
150
200
250
2.5
2.5 2
2
1.5
1.5
Blue
1
1
0.5
0.5
0
0 0
50
100
150
200
250
100
150
200
250
Penyisipan metode LSB adalah suatu cara yang cepat dan mudah untuk menyembunyikan informasi tetapi sangat peka untuk terhadap perubahan media penyisipan. Apabila musuh melakukan serangan aktif terhadap media hasil penyisipan seperti blur, noise, noise reduction, sharpen, rotate, resample, atau soften maka kemungkinan data rahasia yang tersimpan di dalam menjadi rusak. Sehingga keamanan protokol terhadap serangan keamanan modifikasi media penyisipan bergantung pada ketahanan metode penyisipan yang digunakan.
49
SIMPULAN
Berdasarkan hasil penelitian, dapat disimpulkan beberapa hal, yakni: 1
Protokol penyembunyian informasi terotentikasi memperbaiki kekurangan ide dasar steganografi dengan memberikan layanan integritas, disamping layanan kerahasiaan. Dimana terdapat metode otentikasi-verifikasi untuk memeriksa keabsahan media penyisipan data. Selain itu juga protokol ini menghilangkan resiko kehilangan pesan rahasia akibat kerusakan pada media penyisipan pada proses pengiriman.
2
Berdasarkan hasil percobaan pada aplikasi didapatkan fakta bahwa waktu eksekusi protokol secara dominan dipengaruhi oleh waktu eksekusi otentikasiverifikasi, dengan persentase waktu otentikasi- verifikasi terhadap total waktu protokol untuk setiap pihak secara keseluruhan di atas 95%. Hal ini menyimpulkan bahwa kinerja protokol secara signifikan dipengaruhi oleh proses otentikasi, yang secara tidak langsung bergantung pada kekuatan fungsi hash yang digunakan dalam proses otentikasi tersebut.
3
Pertumbuhan waktu eksekusi protokol baik pada sisi pengirim dan penerima bersifat seragam pada setiap percobaan. Pada setiap percobaan membutuhkan waktu eksekusi yang hampir sama antara protokol sisi pengirim dan penerima.
4
Tampilan media penyisipan sebelum dan sesudah tidak menunjukkan perbedaan yang nyata, baik dilihat dengan mata atau berdasarkan distribusi nilai pixel setiap komponen warna. Ini menunjukkan bahwa, data berhasil disembunyikan dan terjaga dengan baik, sehingga harapannya pihak musuh tidak dapat mengetahui keberadaan data dalam media penyisipan tersebut.
5
Kekuatan keamanan protokol bergantung pada kekuatan keamanan algoritma yang digunakan pada metode otentikasi dan penyisipan.
Saran yang dapat diberikan oleh penulis untuk pengembangan penelitian lebih lanjut adalah: 1
Untuk kepentingan implementasi lebih lanjut, sebaiknya asumsi bahwa media transmisi jaringan secara fisik dalam kondisi ideal dihilangkan. Hal tersebut
akan memunculkan kebutuhan pada protokol untuk melakukan deteksi kesalahan (error) pada data karena noise atau gangguan lainnya selama pengiriman, misal dengan penggunaan detection correction codes. 2
Pengembangan desain protokol lebih lanjut dapat dilakukan dengan menambahkan metode distribusi kunci otentikasi.
51
DAFTAR PUSTAKA Bishop M. 2003. Computer Security. Boston : Addison-Wesley Craver, Scott. 1997. On Public Key Steganography in the Presence of Active Warden. IBM Research Report (RC 20931). http://citeseer.ist.psu.edu/ craver96publickey.html. [21 Pebruari 2006]. [EFF]. Elektronic Frontier Foundation. 2003. Lossless Data Compression. http://www.data-compression.com/lossless.shtml. [8 Juni 2006]. Fergusson N, Schneier B. 2003. Practical Cryptography. Indiana : Wiley Publishing, Inc. FIBS-PUBS 198. 2002. The Keyed-Hash Message Authentication Code (HMAC). http://www.itl.nist.gov/fipspubs/index.htm. [21 Pebruari 2006] FIBS-PUBS 180-2. 2002. Secure Hash Standart). http://www.itl.nist.gov /fipspubs/index.htm. [21 Pebruari 2006] Johnson NF, Katzenbeisser SC. 2000. A Survey of Steganographic Techniques. Didalam : Katzenbeisser S, Petitcolas FAP, editor. Information Hiding Techniques for
Steganography and Digital Watermarking. United States of
America : Artech House, Inc. KerckhoffsA. 1883. La Cryptographie Militaire. Journal des Sciences Militaires 9 : 5-38. Katzenbeisser SC. 2000. Principles of Steganographic Techniques. Didalam : Katzenbeisser S, Petitcolas FAP, editor. Information Hiding Techniques for Steganography and Digital Watermarking. [tempat tidak diketahui] : Artech House, Inc. Lampson BW. 1973. A Note on the Confinement Problem. Communications of the ACM 16(10) : 613-615. Menezes AJ, Oorshot PC van, Vanstone, SA. 1996. Handbook of Applied Cryptography. [tempat tidak diketahui] : CRC Press.
Murray JD, Ryper WV. 1994. Encyclopedia of Graphics File Formats (1st ed). [tempat tidak diketahui] : O'Reilly and Associates Inc. Petitcolas FAP. 2000. Introduction to Information Hiding. Didalam : Katzenbeisser S, Petitcolas FAP, editor. Information Hiding Techniques for Steganography and Digital Watermarking. United States of America : Artech House, Inc. Petitcolas FAP, Anderson RJ, Kuhn MG. 1999. Information Hiding – A Survey. Proceedings of the
IEEE 87 (7):1062–1078. [terhubung berkala].
http://www.petitcolas.net/fabien/publications/ieee99- infohiding.pdf. [22 Maret 2006] Pfitzmann B. 1996. Information Hiding Terminology. Information Hiding, Springer,
Lecturer
Notes
in
Computer
Science
1174:
347-350.
http://www.semper.org/sirene/publ/Pfit12_96HideTerm.ps.gz. [20 Apr 2006] Provos N, Honeyman P. 2003. Hide and Seek:An Introduction to Steganography. University of Michigan. http://www.citi.umich.edu/techreports/reports/citi-tr01-11.pdf. [20 Apr 2006] Sentosa H. 2005. Penyembunyian Informasi Terenkripsi Dalam Media Gambar dengan Metode Least Significant Bit (LSB) Insertion. [Skripsi]. Bogor : Departemen Ilmu Komputer FMIPA IPB. Simmons GJ. 1983. The Prisoner’s Problem and the Subliminal Channel. Advances in Cryptography : Proceedings of CRYPTO’ 83 : 51-67. http://dsns.csie.nctu.edu.tw/research/crypto/HT.ML/PDF/C83/51.PDF. [23 Peb 2006] Simsek B. 2004. Steganography in JPEG Images [tesis]. Bornova : Sekolah Pascasarjana
Ilmu
Dasar
dan
Terapan,
Universitas
Dokuz
Eylül.
www.fbe.deu.edu.tr/tezler/2004/YL-t1707.pdf. [27 Mar 2006] Stallings W. 2003. Cryptography and Network Security Third Edition: principles and practice. New Jersey : Prentice Hall.
53
Shirey R. 1994. Security Architecture for Internet Protocols : A Guide for Protokol Design and Standards. Internet draf : draft- irtf-psrg-secarch-sect100.txt Steven WS. 2002. Digital Signal Processing: A Parctical Guide for Engineers and Scientist. [tempat tidak diketahui] : Newnes.
Tacticus A. 1990. How to Survive Under Siege / Aineias the Tactician. Didalam : Whitehead D, editor. Clarendon Ancient History Series. Oxford : Clarendom Press. hlm 84-90, 183-193 Xiaoyun W, Yiqun LY, Hongbo Yu. 2005. Collision Search Attacks on SHA1. http://theory.lcs.mit.edu/~yiqun/shanote.pdf. [2 Mei 2006]
54