420 likes | 701 Views
SES STEGANOGRAFİ. Ders 6. AUDIO STEGANOGRAPHY. Bilgisayar Merkezli Ses Steganografi Sistemlerde, gizli mesajlar dijital sesin içinde gömülüdür. Gizli mesaj ses dosyalarının binary dizilerinin çok az değiştirilmesiyle yerleştirilir.
E N D
SES STEGANOGRAFİ Ders 6
AUDIO STEGANOGRAPHY • Bilgisayar Merkezli Ses Steganografi Sistemlerde, gizli mesajlar dijital sesin içinde gömülüdür. • Gizli mesaj ses dosyalarının binary dizilerinin çok az değiştirilmesiyle yerleştirilir. • Oluşturulan Ses Steganografi yazılımları WAW, AU, MP3 ses dosyalarına gizli mesaj yerleştirebilmektedir.
AUDIO STEGANOGRAPHY • Dijital Seslere gizli mesajlar yerleştirmek, dijital resim gibi medya unsurlarının içine gizli mesaj yerleştirmekten daha zordur. • Gizli mesajları saklamak amacıyla, değişik bilgi gizleme metotları bulunmaktadır. • Bu metotlar bilgiyi gürültü içine yerleştiren basit algoritmalardan başlayıp, karmaşık sinyal işlemlerini kullanarak bilgi saklayan çok güçlü algoritmalara doğru çeşitlilik kazanmaktadır.
SES STEGANOGRAFİ METODLARI • LSB Kodlaması (LSB CODING) • Eşlik Kodlaması (PARITY CODING) • Aşama Kodlaması (PHASE CODING) • Tayf Yayılımı (SPREAD SPECTRUM) • Yankı Veri Gizlemesi (ECHO HIDING)
LSB Kodlama • (Least Significant Bit) En az ağırlıklı bit (LSB) kodlama dijital ses dosyalarına bilgi gömmenin en kolay yoludur. • En az ağırlıklı bitlerin her örnek noktasına bir binary mesajın yerleştirilmesiyle olur. • LSB kodlama çok miktarda data kodlanmasına imkan vermektedir. • Aşağıdaki diyagram “HEY” mesajının nasıl kodlandığını göstermektedir.
LSB Kodlama • LSB kodlamada ideal data iletim oranı 1Khz da 1Kbps dır. • Bazı uygulamalarda LSB kodlama iki en az ağırlıklı bit üzerinde iki mesaj bitinin değiştirilmesiyle de yapılmaktadır. • Bu kodlama veri miktarını artırmakla birlikte, ses dosyasında oluşan gürültü miktarını da artırmaktadır.
LSB Kodlama • Bu da LSB kodlama yapılmadan önce sinyal içeriğinin göz önünde bulundurulması gerektiğini göstermektedir. • Örneğin; bir metro istasyonunda kaydedilen bir ses düşük bit kodlayıcı ses ile maskelenmelidir. • Diğer yandan aynı gürültü piyano solosu içeren bir ses dosyasında daha yüksek olmalıdır.
LSB Kodlama • LSB kodlanmış bir ses dosyasından gizli bir mesajı çıkarmak için, alıcı kişi mesajın yerleştirilmesinde kullanılan örnekleme dizisinin indeksine erişmelidir. • Normal olarak, kodlanan gizli mesajın uzunluğu, ses dosyasındaki toplam örnekleme sayısından küçüktür. • Gizli mesajın içerisinde yer alacağı ve alıcıyla iletişimde bulunacak olan örnekleme alt kümesinin nasıl seçileceğine karar vermelidir.
LSB Kodlama – Örnekleme Seçimi • Örnekleme Seçimi için bir teknik şu şekildedir; • Ses dosyasının başlangıcından başlayıp mesaj tamamen kodlanana kadar LSB kodlama yapmak ve ardında kalan diğer örneklemeleri değiştirmeden bırakmak. • Ancak bu bir güvenlik problemi yaratmaktadır. • Ses dosyasının birinci kısmı, değişikliğe uğramamış ikinci kısmından farklı istatistik özelliklere sahip olacaktır.
LSB Kodlama – Örnekleme Seçimi • Bu güvenlik sorununa bir çözüm gizli mesajı rastgele bitlere doldurmaktır. • Böylece mesaj uzunluğu, toplam örnekleme sayısına eşit olur. • Ama bu durumda da yerleştirme işlemi gizlilik için gerekli olan iletimden daha fazla örnekleme değişikliğine yol açar. • Bu da iletişimde şüpheyi artıracak ve hedef olma olasılığına neden olacaktır.
LSB Kodlama – Örnekleme Seçimi • Örnekleme seçimi için daha ileri bir yaklaşım ise; • mesajı rastgele bir biçimde ses dosyasına yaymak için pseudorandom(yalancı rastgele sayı üreticisi) kullanmaktır. • Diğer bir yaklaşım da; • Hash fonksiyonu kullanılarak pseudorandom permütasyon yoluyla örneklemenin alt kümesini hesaplamaktır. • Bu teknik aynı indeksin bir benzerinin bir daha oluşturulmamasına dayanmaktadır.
LSB Kodlama – Örnekleme Seçimi • Bir diğer seçenek ise; • Rastgele aralık metodu kullanmaktır. • Gönderici tarafından oluşturulan ve rastgele bir dizi örnek indeksi oluşturmak için pseudorandom da kaynak olarak kullanılan gizli bir anahtar kullanılır. • Alıcı kişi tarafında da bulunan bu anahtar sayesinde pseudorandom bilgisiyle rastgele örnek indeks dizisi tekrardan oluşturulur. • Pseudorandomun aynı örnek indeksi tekrar yapmasının önüne geçmek için yapılan karşılaştırmalar(denetimler) bir yere konulmalıdır. • Eğer iki kez olursa çakışma meydana gelir, bu da değiştirilmiş bir mesaj alanını tekrar değişikliğe uğratır.
Eşlik Kodlama • Bir sinyali bireysel örneklere değiştirmek yerine, parity kodlama metodu bir sinyali örnekleme alanlarına ayırır ve gizli mesajın her bir bitini benzer alanın parity bitine kodlar. • Eğer seçilen alan parity biti kodlanacak gizli mesajın biti ile eşleşmiyorsa, alanın içinde LBS kodlama işlemi yapılır. • Böylece gönderen kişi gizli biti kodlamada daha fazla seçeneğe sahip olur. • Ayrıca sinyal daha az dikkat çeken bir moda da dönüşmektedir.
Parity kodlama kullanılarak “HEY” mesajının ilk üç bitinin kodlanması aşağıda gösterilmektedir.
Eşlik Kodlama • Gizli mesajın ortaya çıkarılması işlemi, kodlamada kullanılan alanın parity bitlerinin hesaplanması ve belli sıraya dizilmesi ile yapılmaktadır. • Bir kez daha aynı örnekleme alanını oluşturmak için, gönderici ve alıcı pseudorandomu kaynak olarak kullanılan bir anahtar kullanılır.
Eşlik Kodlama • LSB ya da Parity kodlama metodu kullanmanın iki temel dezavantajı vardır. • İnsan kulağı çok hassas olup, bir ses dosyasındaki en hafif gürültüyü bile saptayabilir. Yine de parity kodlama daha az gürültü oluşturmaktadır. • İkinci dezavantaj ise iki yöntemin de güçlü ve sağlam bir seçenek olmamasıdır. • Eğer LSB ya da Parity kodlama ile gizli bir mesaj kodlanmış bir ses dosyası tekrar örneklenirse, gömülü bilgi kaybolacaktır. • Çeşitli teknikler kullanılarak daha güçlü bir yapı oluşturulabilir ama bununla birlikte veri iletim oranı da önemli oranda azalacaktır.
Aşama Kodlaması • Aşama Kodlaması yöntemi de resim dosyalarında uygulanan JPEG algoritması benzeri bir yapı taşımaktadır. • Gömme işleminde ses dosyası küçük segmentlere bölünür ve her segmente ait faz gizlenecek veriye ait faz referansı ile değiştirilir. • Aşama Kodlaması insanların duyamayacağı sesler üzerinde işlem yapmaya dayanmaktadır.
Aşama Kodlaması Prosedürü • Ses verisi N adet kısa segmente bölünür. • Her segmente Discrete Fourier Transform (DFT) uygulanarak faz ve magnitude matrisleri yaratılır. • Komşu segmentler arasındaki faz farklılıkları hesaplanır. • Her segment için yeni bir faz değeri bilgi gizlenerek oluşturulur. • Yeni faz matrisleri ile genlik (magnitude) matrisleri birleştirilerek yeni segmentler elde edilir. • Yeni segmentler birleştirilerek kodlanmış çıkış elde edilir. • Görsel olarak aşağıda yapılan işlemler gösterilmektedir.
Aşama Kodlamasında Verinin Elde Edilmesi • Ses dosyasından gizli mesajı çıkarmak için alıcı segment uzunluğunu bilmelidir. • Alıcı bilgiyi çıkartmak için DFT kullanarak fazı elde eder. • Aşama kodlamanın tek dezavantajı, düşük data iletim oranına sahip olmasıdır. • Bu segmentin uzunluğu artırılarak giderilebilir. • Ancak bu şekilde mesajın tespiti de kolaylaşır. • Sonuç olarak aşama kodlama maskeleme gibi küçük data iletimi gizlemesinde kullanılır.
Tayf Yayılması Yöntemi • Ses Steganography de, temel spektrum metodu, gizli bilgiyi, ses sinyalinin frekans spektrumuna mümkün olduğunca yaymaktır. • Bu, mesaj bitlerini bütün ses dosyasına rastgele yayan ve bunu LSB kodlamayı kullanarak yapan sistemin analog biçimidir. • Ancak LSB kodlamadan farkı, Spread Spektrum metodu gizli mesajı ses dosyasının frekans spektrumuna yayar ve gerçek sinyalden bağımsız bir kod kullanır. • Sonuçta oluşan sinyal, gerekli olandan daha fazla bant genişliğine yol açar.
Tayf Yayılması Yöntemi • Ses Steganography de iki çeşit Tayf yayılması yöntemi kullanılmaktadır. • Bunlar • “direct-sequence” ve • “frequency-hopping schemes” dir.
Tayf Yayılması Yöntemi • Direct-Sequence metodunda; • Gizli mesaj çip oranı olarak çağrılan sabit bir yayılma yapar ve sonra pseudorandom sinyal tarafından ayarlanması yapılır. • Bu daha sonra cover-signal denilen sinyal ile bütünleştirilir • Frequency-hopping metodunda ise; • Ses dosyasındaki frekans spektrumu değiştirilir ve böylece mesaj frekans arasında sekerek gizlenir.
SS metodunun arkasındaki matematik teorisi oldukça karmaşıktır. Aşağıdaki diyagram SS hakkında uygulama örneğini göstermektedir.
Tayf Yayılması Yöntemi • Tayf yayılması metodu LSB kodlama,parity kodlama ve phase kodlama tekniklerinden daha iyi sonuçlar verme potansiyeline sahiptir. • Ayrıca data iletim oranı ayarlamada ve silme tekniklerine karşı sağlamlık açısından daha iyi performans gösterir. • Ancak SS metodu LSB ve parity kodlama ile aynı sorunu (ses dosyasında oluşturduğu gürültü) paylaşmaktadır.
SS de Direct-Sequence Metotla Bilginin Gizlenmesinin Gösterimi
Yankı Veri Gizlemesi • Echo hiding (EH) de, bilgiler ayrı bir sinyal içerisinde yankı ile ses dosyasına gömülürler. • Spread Spektrum metot gibi, EH de yüksek data iletim oranına imkan sağlar. • Gürültüye sebep olan metotlara nazaran üstün sağlamlık sağlar.
Yankı Veri Gizlemesi • Datayı başarıyla saklamak için yankının üç parametresi değiştirilir. • Genlik, düşüş oranı, orijinal sinyalden sapması(gecikme süresi). • Bu üç parametre insan kulağının eşik değerinin altında ayarlanır. • Bu yüzden EH zor deşifre edilen bir metottur. • Ek olarak gecikme süresi, binary mesajın kodlanması için değiştirilir. • Bir gecikme süresi değeri binary 1’i temsil eder. İkinci bir gecikme süresi binary 0’ı temsil eder.
Yankı Veri Gizlemesi • Eğer orijinal sinyalden sadece bir yankı üretilmiş ise, sadece bir bitlik bilgi kodlanabilir. • Orijinal sinyal kodlama işlemi yapılmadan önce bloklara bölünür. • Kodlama işlemi tamamlandığı zaman bloklar son sinyali oluşturmak için birbirine geri bağlanır.
Yankı Veri Gizlemesi – Bilgi Gizleme • “HEY” mesajının EH ile kodlanacağı basit bir form aşağıdaki gibidir. • Sinyalin tamamı bloklara bölünür. • İlk sinyal bloklara ayrılır ve gizli mesaja dayanarak 1 ve 0 olarak saptamalar yapılır. Bu durumda mesaj, binary olarak “HEY” mesajı ile eşittir.
Yankı Veri Gizlemesi – Bilgi Gizleme • Sonra her bloğu kodlamak için aşağıdaki algoritma kullanılır init(Block blocks[]) { for (int i=0; i < blocks.length; i++) { if (blocks[i].echoValue() == 0) blocks[i] = offset0(blocks[i]); else blocks[i] = offset1(blocks[i]); } } Block offset0(Block block) { return (block + (block - OFFSET_0)); } Block offset1(Block block) { return (block + (block - OFFSET_1)); } • Bloklar son sinyali oluşturmak için tekrar birleştirilir.
Yankı Veri Gizlemesi • Bu EH uygulaması işlemi sonucunda genellikle fark edilebilir bir sinyal ortaya çıkar ve buda deşifre olma riskini artırır. • Bir ikinci EH uygulaması işlemi bu problemi giderir. • İlk echo sinyali binary 0 değeri kullanılarak orijinal sinyalden oluşturulur. • Sonra bir ikinci echo sinyali binary 1 değeri kullanılarak orijinal sinyalden oluşturulur.
Yankı Veri Gizlemesi • Böylece “1” echo sinyali sadece birleri, “0” echo sinyali sadece sıfırları içerir. • İki echo sinyali birleştirilmek suretiyle, son kodlanmış sinyali elde etmek için kullanılır. • Karıştırıcı sinyaller blokta kodlanmış bite bağlı olarak sıfır ve bir değerlerinden herhangi birisine sahip olur. • “HEY” mesajını kullanan örneğimizde iki karıştırıcı sinyal elde edilmiştir.
Yankı Veri Gizlemesi • “1” echo sinyali “1” karıştırıcı sinyal ve “0” echo sinyali “0” karıştırıcı sinyal olarak türetilir. • Sonra elde edilen bu iki sinyal birbirleriyle toplanarak son sinyal elde edilir. • Son sinyal ilk EH uygulamasından oluşturulandan daha belirsiz ve göze çarpmayan bir hal alır. • Çünkü iki karıştırıcı sinyal birbirini tamamlayıcı nitelik taşır. • Bu iki karakteristik karıştırıcı sinyal yankılar arasında daha yumuşak geçişi sağlar.
Aşağıdaki diyagram ikinci EH uygulamasının özetini sunmaktadır.
Yankı Veri Gizlemesi • Gizlenmiş mesajı tekrar elde etmek için, alıcı kişi sinyali kodlama boyunca kullanılan aynı blok dizilerine dönüştürmelidir. • Daha sonra sinyalin değişiminin otokorelasyon fonksiyonu kullanılarak mesaj çözülür. • Çünkü bu fonksiyon ani dalgalanmaların saptanmasını sağlayıp, mesajın yeniden oluşturulmasını sağlar.