Stenografi dan Watermarking Esther Wibowo ‐
[email protected] Erick Kurniawan ‐
[email protected]
Stenografi Teknik menyembunyikan data rahasia di dalam media digital. y Memerlukan : y
◦ Wadah penampung : citra, audio, teks, video. ◦ Data rahasia : citra, audio, teks, video. y
Tujuan : ◦ Menyamarkan eksistensi data rahasia. ◦ Melindungi hak cipta.
Mengalami perubahan yang tidak dapat dideteksi mata.
Kriteria Stenografi Fidelity ‐ kualitas citra penampung tidak jauh berubah. y Robustness ‐ data yang disembunyikan tahan terdapat operasi manipulasi citra mis: transformasi, cropping, enkripsi, dll. y Recovery ‐ data yang disembunyikan harus dapat diungkap kembali. y
Teknik Penyembunyian Data Mengganti bit‐bit data dalam segmen citra dengan bit‐bit data yang rahasia. y Yang paling sederhana : Metode Least Significant Bit Modification (LSB). y
◦ Most Significant Bit (MSB) → bit yang paling berarti dalam 1 byte (8 bit). ◦ Least Significant Bit (LSB) → bit yang paling tidak berarti dalam 1 byte (8 bit).
Contoh LSB 11010010 → MSB = 1, LSB = 0 y Bit LSB diganti satu lebih tinggi atau satu lebih rendah. y Perubahan kecil mis. Perubahan warna tidak tertangkap mata. y 00110011 10100010 11100010 y
y
00110010
10100011
11100011
Penggantian Bit LSB Byte yang akan diganti dipilih secara acak, mis. byte no. 36, 5 , 21 dll. y Bilangan acak didapat dengan Pseudo Random Number Generator (PNRG). y Menggunakan algoritma enkripsi (dalam kriptografi) → menghasilkan sekumpulan bilangan acak yang sama untuk setiap kunci enkripsi yang sama. y
Penyembunyian Dalam Citra 8 bit dan 24 bit y
Teknik penyembunyian data untuk citra 8 bit dan 24 bit berbeda, karena ada perbedaan susunan berkas : ◦ Citra 8 bit → header ‐ palet RGB ‐ data bitmap ◦ Citra 24 bit → tidak punya palet RGB, data bitmap: 1 byte Red ‐ 1 byte Green ‐ 1 byte Blue
Penggantian LSB Pada Citra Bukan 24 bit Data citra diubah jadi format 24 bit → tiap data pixel punya komponen RGB. y 1 bit LSB dalam byte diganti dengan bit data rahasia. y Mis. Jika yang diganti kebetulan byte komponen Green, perubahan kecil intensitas warna hijau dalam 1 pixel citra tidak terdeteksi mata. y
Masalah Untuk Citra 8 bit Citra 8 bit hanya punya 28 = 256 warna. y Pengubahan format ke 24 bit berpotensi menghasilkan warna > 256 warna. y Tiap data bitmap punya 3 byte → 3 bit LSB → 23 = 8 kombinasi warna. y Bila citra punya 256 warna, maka penggantian bit bisa menghasilkan 256*8 = 2.048 macam warna. y
Solusi Sebelum proses penyembunyian data, warna citra diturunkan jadi 32 warna maksimum. y Jika tiap warna menghasilkan 8 warna baru, jumlah warna maksimum 32*8 = 256 warna → masih masuk kuota 8 bit. y Bagaimana menurunkan jumlah warna? y
Penurunan Jumlah Warna (1) Kuantisasi warna, citra kuantisasi tampak persis dengan citra semula. y Algoritma diversity : y
◦ Buat histogram warna. Warna yang tidak muncul dibuang saja. ◦ Pilih warna dengan frekuensi tertinggi sebagai patokan. Masukkan dalam daftar warna terpilih. ◦ Cari warna yang paling beda dengan warna patokan. Masukkan dalam daftar.
Penurunan Jumlah Warna (2) y
Algoritma Diversity (lanjutan) : ◦ Perbedaan dua warna dihitung dengan rumus jarak Euclidean :
{
d = (r1 − r2 ) + ( g1 − g 2 ) + (b1 − b2 ) 2
2
}
2 1/ 2
r1, g1, b1 = komponen warna pertama r2,g2,b2 = komponen warna kedua
◦ Untuk tiap warna yang tersisa dalam histogram, hitung jaraknya dari masing‐masing warna dalam daftar warna terpilih. ◦ Ambil warna yang paling jauh berbeda dengan warna yang sudah dipilih. Ulangi pemilihan hingga warna terpilih mencapai maks. 32 warna.
Ukuran Data Yang Disembunyikan y y
y
y
Bergantung pada ukuran citra penampung. Citra 8 bit berukuran 256x256 pixel punya 65.536 pixel @ 1 byte → diubah 24 bit jadi 65.536*3 = 196.608 byte. Tiap byte hanya bisa menyembunyikan 1 bit di LSB maka ukuran data rahasia maks. 196.608 bit = 24.576 byte. Ukuran tersebut harus dikurangi panjang nama berkas rahasia karena yang disembunyikan isi dan nama berkas.
Teknik Pengungkapan Data Reveal atau Extraction y Posisi byte yang menyimpan data rahasia diketahui dengan PRNG lagi → menggunakan kunci dalam enkripsi untuk membangkitkan bilangan acak yang sama. y
Watermarking Melindungi hak cipta barang digital : teks, musik (MP3, wav), citra, video (VCD). y Distribusi offline dan online tidak mencantumkan pemilik atau pemegang hak cipta → hasil karya SAYA! y Teknik perlindungan : menyisipkan informasi dalam data multimedia → teknik watermarking. y
Watermarking Watermark : informasi yang disisipkan dalam data multimedia → merupakan digital signature /kode ID dari pemilik sah. y Data yang disisipi watermark tidak boleh rusak atau bakal ketahuan. y Kasus sengketa hak cipta → watermark di‐ ekstrak kemudian dibandingkan dengan digital signature yang bersengketa. y
Tujuan Watermarking Melindungi hak cipta (copyright labelling) y Tamper‐proofing y
◦ Menunjukkan bahwa data digital telah mengalami perubahan. y
Feature location ◦ Mengidentifikasi isi dari data digital pada lokasi‐lokasi tertentu.
y
Annotation/caption ◦ Sebagai keterangan tentang data digital tsb.
Stenografi vs Watermarking Watermarking bagian dari stenografi. y Data penampung dalam stenografi tidak berarti apa‐apa, sedangkan data penampung pada watermarking itulah yang ingin dilindungi watermark. y Beberapa metode : LSB, adaptif, spread spectrum, dll. y
Bentuk Watermark Data watermark dapat berupa teks, citra atau suara. y Teks agak riskan → kesalahan 1 bit saja dalam proses ekstraksi menghasilkan teks yang berbeda. y Perubahan kecil dalam citra atau suara mungkin tidak terdeteksi manusia. y Citra yang sering digunakan untuk watermark : logo atau lambang. y
Penyisipan Watermark Encoding : proses penyisipan watermark. y Bisa disertai kunci atau tidak y Fungsi kunci: y
◦ Hanya pemilik sah yang bisa menge‐ekstraksi watermark. ◦ Mencegah penghapusan watermark oleh pihak lain.
Proses Enkripsi
Contoh Watermarking y
Perubahan citra ter‐watermark tidak kelihatan oleh manusia.
Verifikasi Watermark y
Terdiri dari 2 sub‐proses : ◦ Ekstraksi watermark (decoding) Bisa menggunakan citra asal atau tidak, beberapa teknik decoding menggunakan citra asal untuk meningkatkan kinerja. ◦ Pembandingan Memberi keputusan terhadap watermark tersebut.
Proses Verifikasi