dosya1 - MCU Turkey
Transkript
dosya1 - MCU Turkey
SIKIŞTIRILMIŞ ORTAMDA ÇERÇEVE TİPİNE DAYALI GERÇEK ZAMANLI SAHNE DEĞİŞİMİ BELİRLEME Deniz Taşkın Nurşen Suçsuz Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü [email protected] Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü [email protected] ÖZET Video dosyaları birbirini izleyen görüntülerden oluşmaktadır. Bu yüzden video dosyalarını görüntü dosyalarında olduğu gibi incelemek gerçekten maliyetli bir işlemdir. 2 dakikalık video görüntüsünde 4000 çerçeve bulunmaktadır. Her bir çerçeve için resim işleme algoritmalarının kullanılması büyük bir zaman kaybına yol açmaktadır. Bu çalışmada video sıkıştırma yöntemi olan MPEG metodu incelenerek, işlemci gücü ve hafıza bakımından maliyetli olan video işleme metotlarına alternatif bir yöntem geliştirilerek video görüntülerindeki sahne değişimleri belirlenecektir. Çalışma, sıkıştırılmış sayısal video görüntülerinin analizinin dorudan sıkıştırılmış veri ortamında gerçekleştirilmesinin sağladığı yararları göstermektedir. saklanan veriyi saklamak için gerekenin yaklaşık 80 milyon katıdır. Veri miktarının çok büyük olması ve çoklu ortam dosyalarının daha sıklıkla kullanılmasından dolayı bu verileri indeksleyebilecek etkin veri tabanlarına ihtiyaç duyulmaktadır. 2. Video Veritabanı ABSTRACT Bir video veri tabanı sistemi video dosyalarını depolayacak ve istenildiğinde kullanıcıya aradığı video görüntüsünü en hızlı biçimde verebilecek şekilde tasarlanmalıdır. Video görüntülerindeki sahne geçişlerinin saptanması video veri tabanı sisteminin en temel özelliği olmalıdır. Sahne geçişlerinin saptanmasında en sık kullanılan benzerlik ölçütü histogramdır. Bu yönteme göre birbirini izleyen çerçeveler arasındaki farkın bir eşik değerinden büyük olması durumunda sahne değişiminin olduğu varsayılır. Beside technological developments, used and stored digital data is increasing day by day.93 percent of data produced in the world are stored digitally. Video data covers the most space in data stored in computer environment. Space for storing image data is 80 million times greater than space for storing text data[2]. Fakat bu yöntemin en büyük dezavantajı çok maliyetli olması ve gerçek zamanlı olarak video dosyalarını işleyememesidir. Günümüzde video dosyalarının sıkıştırılmış olarak saklanmaktadır. Diğer yöntemlerin salt (RAW) veri üzerinde çalışması nedeniyle sıkıştırılmış verinin açılması zorunluluğu bu maliyeti arttırmaktadır. Because of big amount of data and increase in the usage of video data, an efficient database which indexes these data types is required. In this work a video database system called TUVDBS is suggested. Bu yüzden etkin bir video veri tabanı geliştirebilmek için sıkıştırılmış ortamda çalışan algoritma geliştirilmelidir. Anahtar Kelimeler: Video veritabanı, Mpeg 3. MPEG Sıkıştırma Yöntemi domain, Sahne değişimi algılayıcı 1. GİRİŞ Teknolojinin gelişmesiyle paralel olarak kullanılan ve saklanılan sayısal bilgi her gün artmaktadır. Dünya üzerinde üretilen bilginin %93 sayısal olarak saklanmaktadır. Bilgisayar ortamında saklanan bilgilerden çoklu ortam verileri (ses, görüntü, video) en çok yer kaplamaktadır. Görüntü olarak saklanan veriyi saklamak için gerekli olan kapasite metin olarak Video görüntülerinde hareket tahmini iki yoldan gerçekleştirilebilmektedir. Geleneksel metotlarda öncelikle video görüntüleri, birbirini takip eden resimlere dönüştürülmektedir. Daha sonra bu resimleri oluşturan noktalara ait renk kodlarının yorumlanması sonucunda hareket algılama işlemi gerçekleştirilir. Hareket tahmininin resim ortamında renk uzayının taranarak gerçekleştirilmesi, veri sayısının çokluğu ve hesaplanabilirliğindeki karmaşıklık düzeyi yüzünden büyük kaynaklar ve zaman gerektirmektedir. MPEG sıkıştırılmış video kodlamasının yaygın bir biçimde kullanılması video analizinin MPEG domain’inde gerçekleştirilmesini cazip kılmaktadır. Sıkıştırılmış veri ortamında video, hareket tahminiyle ilgili önemli karakteristik özellikler taşımaktadır. Öncelikle sıkıştırılmış formda bulunan video dosyalarındaki farklı çerçeve yapısı, sıkıştırılmış kod açılmadan kolaylıkla okunabilir. Çerçevelerin kapladığı bit cinsinden hacim bilgisi de görüntü bilgisinin kodu açılmadan elde edilebilir. MPEG basitçe birbirine yakın piksellerin akan görüntüde büyük oranda değişmemesine dayalı olarak sıkıştırma yapan bir yöntemdir. Fakat detaylı incelendiğinde değişik oranlarda sıkıştırma yeteneklerine sahip katmanlardan oluştuğu görülmektedir Şekil 2. YUV kayıplı sıkıştırması 3. RGB-YUV Dönüşümü 4. Çerçeve Tipleri MPEG sıkıştırma yöntemi insan gözünün rengin parlaklığına olan hassasiyetinin rengin kendisinden daha yüksek olması özelliğini kullanmaktadır. Bu yüzden RGB renk uzayı YUV renk uzayına dönüştürülür. Standart video dosyalarının aksine MPEG yöntemi ile sıkıştırılmış video dosyalarında 3 farklı çerçeve tipi vardır. Bu sayede birbirini takip eden çerçeveler arasında az bir görsel fark olması durumunda çerçevenin tamamı dosyaya aktarılmaz. a)I çerçevesi: Tam bir video resmidir.Gösterilebilmesi için başka bir resme ihtiyaç yoktur.En çok veriyi kapsamaktadır. b) P çerçevesi: Bir önceki çerçevedeki farklılıkları şifrelemektedir.Gösterilebilmesi için bir önceki çerçeveye ihtiyaç duyar. Şekil 1. Y=0,5 değeri için UV renk değerleri c) B çerçevesi: Bir önceki yada daha sonraki çerçevedeki farklılıkları şifrelemektedir. I çerçevesindeki verinin en az %25ini içerir. Gösterilebilmesi için bir önceki ya da sonraki çerçeveye ihtiyaç duyar. YUV renk uzayında Y rengin parlaklığını ifade derken UV değerleri tonunu göstermektedir. Şekil 3. belli bir Y değeri için UV renk uzayını göstermektedir. RGB-YUV dönüşümü aşağıdaki formüller yardımıyla hesaplanmaktadır. Y = + 0.299R + 0.587G + 0.114B U = + 0.492(B - Y) = - 0.147R - 0.289G + 0.436B V = + 0.877(R - Y) = + 0.615R - 0.515G 0.100B Dönüşümden sonra UV değerleri için 4’e 1 oranında bir kayıplı sıkıştırma gerçekleştirilir. Böylece Y değeri 4 birim ile ifade edilirken UV değerleri 1 birim ile ifade edilir. Bu sayede 6 birimlik bir kazanç sağlanmış olur. Şekil 3. Mpeg çerçeve yapısı İleriye dönük tahmin edilen çerçeveler (P çerçeveleri) makro-blokların geçmiş P ya da I çerçevelerinden tahmin edilmesine imkan verir. I ve P çerçeveleri, iki yönlü tahmin edilebilen çerçevelere (B çerçeveleri) referans olmaktadır. Şekil 4. Örnek çerçeveler 5. Çerçeve Tiplerinin Kullanılarak Sahne Değişimlerinin Belirlenmesi MPEG çerçeve yapısı video görüntüleri arasındaki sahne değişimleri hakkında zengin bilgiler sağlamaktadır. Ara kodlanmış diye ifade edilen I tipi çerçeveler ve bu çevrelerin dosya içinde kapladıkları alanlar incelenerek sahne değişimleri çok basit bir şekilde elde edilir. Çalışma dahilinde geliştirdiğimiz uygulama yazılımı vs.net 2003 platformunda tasarlanmıştır. Tüm video dosyası belleğe okunarak ayıklayıcı birim (parser) tarafından analiz edilir. Hareket tahmininin çerçeve tipi yoluyla belirlenebilmesi için farklı tipte olan çerçevelerin ayırt edilebilmesi ve her bir çerçevenin kapladığı alanın bilinmesi gereklidir. Algoritmaya göre boyut olarak ε eşik değerinden fazla farklılık içeren I çerçeveleri bize hareket tahmini bilgisini vermektedir. Sahne değişimi Şekil 7. Sahne değişiminin çerçeve tipi yoluyla belirlenmesi İşlemlerin gerçekleştirilmesi için gerekli olan veriler, ikili olarak kodlanmış Mpeg başlık bilgileri kullanılarak elde edilir. Çerçeve tiplerinin belirlenebilmesi için öncelikle resim gruplarının bulunması gerekmektedir. Resim grubu 1B8 hex değeri bellekte aranılarak bulunur. Ardından bu resim grubunu takip eden resimler belirlenir. Resimler 4 byte yer kaplayan 100 hex değeri bellekte aranılarak bulunur. Resim başlığında o çerçeve hakkında detaylı bilgiler bulunmaktadır. Resim başlığına göre 6. byte’ın 4,5 ve 6. bit değerleri kullanılarak çerçevenin I,B,P ya da D tipinde olup olmadığı belirlenmektedir. Aşağıdaki vb.net kodu belli bir eşik değerine göre verilen video dosyasını, hareket algıladığı zaman aralıklarında video parçacıklarına ayırarak kaydetmektedir. For i = 1 To CType(lBytes, Integer) - 3 If fileData(i) = 0 And fileData(i + 1) = 0 And fileData(i + 2) = 1 And fileData(i + 3) = 184 Then gop_count += 1 If fileData(i) = 0 And fileData(i + 1) = 0 And fileData(i + 2) = 1 And fileData(i + 3) = 0 Then frame_count += 1 frame_size = i - j If (fileData(i + 5) And 8) Then 'ListBox1.Items.Add("I Frame") If frame_size - I_Frame_size > ε ' İki I frame arasındaki fark eşik değerinden fazla ise bfile = New System.IO.FileInfo("c:\" & TextBox1.Text & "-" & frame_count & ".mpg") Dim bfilestream As System.IO.FileStream = bfile.OpenWrite() bfilestream.Write(fileData, k + 3, i - k) bfilestream.Close() k=i I_Frame_size = frame_size End If End If 5. SONUÇLAR Sayısal video görüntülerinin büyük bir oranı MPEG video sıkıştırma metodu kullanılarak saklanmaktadır. Mpeg video sıkıştırma metodu standartlaşmıştır ve gerçek zamanlı olarak dahi çalışabilmektedir. Mpeg biçiminde sıkıştırılmış dosya, video görüntüleri hakkında değerli bilgiler içermektedir. Video işleme metotlarını kullanmak yerine bu bilgileri kullanmak işlemci zamanı açısından çok büyük bir kazanç sağlamaktadır. KAYNAKLAR [1] F.Soykan, C. Tezcan, D. Taşkın, ‘Histogram tabanlı nesne çıkarımı‘, Bilgi Teknolojileri Kongresi, 2004 [2] http://www.sims.berkeley.edu/how-much-info [3] A. NAGASAKA, Y. TANAKA.,’Automatic Video Indexing and Full Video Search for Object Appearances’, Visual Database Systems II, , 1992, pp. 113-127 [4] S. CHANG, ‘Compressed Domain Techiques for Image/Video Indexing and Manipulation’, IEEE Conference On Image Processing, 1995 [5] J.MENG, S. CHANG, ‘Tools for Compressed Domain Video Indexing and Editing’, SPIE Conference on Storage and Retrieval, 1995 [6] N. PATEL, I. SETHI, ‘Compressed Video Processing for Cut Detection’, 1996 [7] J. BOROCSKY, L. ROWE, ‘Comparison of Video Shot Boundary Detection Techniques’, 1996 [8] H. ZANG, ‘Content Based Video Browsing and Retrieval’, 1999 [9] J. GILVARRY, ‘Extraction of Motion Vectors from an MPEG Stream’, 1999 [10]M. EZRA, S. PELEG, B. ROUSSO, Motion Segmentation Using Convergence Properties [11] M.E. Dönderler, E. Şaykol, Ö. Ulusoy ve U. Güdükbay, BilVideo: a video database management system, IEEE Multimedia, pp. 13-45, 2003. [12] M.E. Dönderler, Ö. Ulusoy ve U. Güdükbay, A rulebased database system architecture, Information Sciences, Vol. 143, No.pp. 13-45, 2002. Akademik Bilişim 2007 Dumlupınar Üniversitesi, Kütahya 31 Ocak-2 Şubat 2007 MPEG AKIMIMINDA BAŞLIK ŞİFRELEME Deniz TAŞKIN*, Cem TAŞKIN** ve Nurşen SUÇSUZ* (*) Trakya Üniversitesi, Bilgisayar Mühendisliği Bölümü, 22030, EDİRNE (**)Trakya Üniversitesi, Kırklareli Teknik Bilimler MYO, BTP Programı, 39100, KIRKLARELİ [email protected], [email protected], [email protected] ÖZET Günümüzde, sayısallaştırılmış video dosyalarının büyük bir çoğunluğu sıkıştırılmış olarak depolanmakta ve dağıtılmaktadır. Sıkıştırılmış ortamda saklanan video dosyalarının güvenliği için güncel şifreleme algoritmaları kullanılmaktadır. Kullanılan algoritmaların gücü arttıkça bunları çözmek için gerekecek sistem kaynaklarında da artış olmaktadır. Geliştirilen yöntem sayesinde sıkıştırılmış bir video akımının tamamı yerine %1’lik bir kısmının şifrelenmesi ile video akımının aynı seviyede güvenliği sağlanmıştır. Geliştirilen yöntem sayesinde artan güvenlik ihtiyaçları daha düşük bir maliyet ile karşılanmaktadır. Anahtar Kelimeler: Mpeg akımı, Şifreleme, Mpeg başlıkları HEADER CRYPTING IN MPEG STREAM ABSTRACT Nowadays most of the digital video files are stored and distributed in compressed domain. For security of video files which are stored in compressed domain, current crypto algorithms are used. While strength of algorithms increases, system resources to resolve these algorithms will also increase. Despite of full stream, one percent of video stream cryption will provide same security level by using developed method. In assistance of given method, increasing security requirements will be covered by lower costs. Keywords: Mpeg Stream, Crypting, Mpeg headers. 1. GİRİŞ Sayısal video görüntüsü kullanımına paralel olarak artan depolama ve bant genişliği ihtiyaçları yüzünden video dosyaların çok büyük bir çoğunluğu sıkıştırılmaktadır. Sıkıştırılmış video görüntüleri düşük miktarda yer kaplarken, iletimde de kolaylıklar sağlamaktadır. Yüksek sıkıştırma ve görüntü kalitesi sağlayan Mpeg yöntemi çoğu kullanıcı ve yayıncı tarafından tercih edilmektedir. Sayısal ortamda saklanan video dosyalarının şifrelenmesi için özel olarak kullanılan algoritmalar bulunmazken, mevcut şifreleme algoritmalarının yayıncı kuruluşlar tarafından sayısal uydu yayınlarını şifrelemek amacıyla kullandıkları Cryptoworks, Nagravision, Viaccess gibi özelleştirilmiş sürümleri bulunmaktadır. İster depolanmış video verisini ister canlı video verisini şifrelemek için tasarlansınlar, kullanılan bütün şifreleme algoritmaları verinin bütününü şifreleyerek güvenlik altına almak zorundadırlar. Bu yüzden dosya boyutlarındaki ve kullanılan şifreleme anahtarlarının uzunluğundaki artış ile birlikte artan sistem maliyetleri olmaktadır. Bu gerçekleştirilen çalışmada Mpeg yöntemi ile sıkıştırılmış video dosyalarına özel bir şifreleme yaklaşımı geliştirilmiştir. Video bütününe ait -yüzde bir gibi- çok düşük miktardaki verinin mevcut şifreleme metotları kullanılarak şifrelenmesi sonucunda video bütününün tamamının güvenliği sağlanmıştır. 2. MPEG SIKIŞTIRMA YÖNTEMİ Bir video akımının Mpeg sıkıştırma yöntemiyle sıkıştırılması hazır çorbaya benzetilebilir. Çorba paketlenirken taşıma ve Mpeg video sıkıştırması iki temel sıkıştırma yöntemi içermektedir: uzaysal kodlama ve geçici kodlama. [4] Uzaysal kodlama video çerçevesindeki ardışık piksellerdeki, fazlalığı yok eder, geçici kodlama ise video akımındaki çerçeveler arasındaki fazlalığı en aza indirir. saklamayı daha etkin yapmak için tüm su buharlaştırılarak ayrıştırılır. Kurutulmuş hazır çorba paketi müşteriye ulaştığında karışıma su eklenerek çorba yeniden oluşturulmaktadır. Mpeg sıkıştırma yöntemi ses ve görüntü akımından gereksiz bilgileri çıkartarak sinyali orijinal boyutundan 180 kez daha küçük hale getirir. Gösterim sırasında sıkıştırılmış veriden orijinal görüntü elde edilir. [2] 2.1. Uzaysal Kodlama Uzaysal kodlama bir resmin düz alanlarındaki piksel gruplarındaki benzerlikleri temel alır. Örnek olarak mavi gökyüzü arka planına sahip bir sahne birçok benzer renk değerine sahip sütunlardan oluşacaktır. Uzaysal kodlama bu piksel gurubundan sadece bir tanesini kodlar ve ardından diğerlerinin buna benzer olduklarını belirtir. Böylece bit akımından fazla veri atılır. Video verisi sayısallaştırıldığında sıkıştırma işlemi başlar. Mpeg yöntemi kendi içerisinde birden çok sıkıştırma metodu ve iyileştirme işlemini kapsamaktadır. Video sıkıştırması kullanılarak resim kalitesinde kabul edilebilir bir düşüş ile birlikte orijinal sinyalin %98’i atılabilir. Şekil 1. Ayrık kosinüs dönüşümü Uzaysal kodlama işlemi aşağıdaki adımlardan oluşur. 2.2.1. Ara çerçeve tahmini Sıkıştırılmamış video dosyalarının aksine Mpeg yöntemi ile sıkıştırılmış video dosyalarında 3 farklı çerçeve tipi vardır. Bu sayede birbirini takip eden çerçeveler arasında az bir görsel fark olması durumunda çerçevenin tamamı dosyaya aktarılmaz. Ara çerçeve tahmini ardıl çerçevelerdeki benzerlikleri avantaj olarak kullanır. Öncelikle tam bir referans çerçeve seçilmekte ve ardından takip eden çerçeveler bu referans çerçeve ile olan farklılıklar kodlanmak suretiyle ifade edilmektedir. Referans çerçeveye ara kodlanmış çerçeve ya da “Içerçevesi” denilmektedir. I-çerçevesi P ve B tipi çerçeveleri tahmin etmek için kullanılırlar. 1- Ayrı kosinüs dönüşüm 2- Nicelendirme 3- Ağırlıklandırma 4- Tarama 5- Entropi Kodlama 2.2. Geçici Kodlama Geçici kodlama video akımındaki sıralı çerçevelerdeki fazlalıkları yok eder. Örnek olarak futbol oyununu gösteren bir video verilebilir. Oyuncular çerçeveden çerçeveye hareket ederken, arka plan sahnesi değişmez. Geçici kodlama birbiri ardına gelen çerçevelerdeki benzerlikleri değerlendirir ve çerçeveler arasındaki farklılıkları kodlar. Bu kodlama iki farklı şekilde gerçekleşmektedir: ara çerçeve tahmini ve hareket tahmini. a) I çerçevesi: Tam bir video resmidir. Gösterilebilmesi için başka bir resme ihtiyaç yoktur. En çok veriyi kapsamaktadır. 2 c) B çerçevesi: Bir önceki yada daha sonraki çerçevedeki farklılıkları şifrelemektedir. I çerçevesindeki verinin en az %25ini içerir. Gösterilebilmesi için bir önceki ya da sonraki çerçeveye ihtiyaç duyar.[5] b) P çerçevesi: Bir önceki çerçevedeki farklılıkları şifrelemektedir. Gösterilebilmesi için bir önceki çerçeveye ihtiyaç duyar. B çerçevesinden daha fazla yer kaplamaktadır. Şekil 2. Mpeg Çerçeve Tipleri parçacıkları oluşturulabilir ve yine bunların izlenebilmesi için ana video bütününe ihtiyaç duyulmaz. Esnek dosyalama yapısını Mpeg başlıkları sağlamaktadır. Bütün başlangıç kodları yirmi üç adet 0 ve bir adet 1’den oluşan 3 byte’lık bir öne ek alırlar. Bunun ardından gelen son byte farklı başlangıç kodlarının kimliğini belirler. Mpeg akımında başlangıç kodları dışında buna benzer bir dizilime izin verilmez. Tablo 1’de bazı başlangıç kodları verilmiştir. [6] 2.2.2. Hareket tahmini Nesnelerin ekrandaki konumları değişirken genellikle görünümlerinde bir değişiklik olmamaktadır. Hareket tahmini bu benzerliğin avantajını, nesnenin kendisini kodlamak yerine hareketini kodlamak suretiyle kullanmaktadır. Tipik olarak hareket, birden çok çerçeve arasında devam eder bu sayede nesnenin sürekli yeniden kodlanması gerekmemektedir. [2] Tablo 1. Mpeg video başlıkları Kod Adı Resim grubu Resim Sıralama bitişi Sıralama hatası Sıralama başlangıcı Dilim 1Dilim 175 Kullanıcı verisi Değeri (Hex) 0 0 1 B8 0010 0 0 1 B7 0 0 1 B4 0 0 1 B3 0011– 0 0 1 AF 0 0 1B2 Bir video akımının çözülebilmesi için sıralama başlangıç kodunun bulunması gerekmektedir. Bunun ardından resim grubu başlangıç kodu aranmaktadır. Resim grubu başlangıç kodu bulunduktan sonra resimlerin çözülmesi işlemine başlanır. Resimleri belirlemek için “0 0 1 0” hex değeri, akım içinde aranır. Resmi oluşturan verilerin bulunduğu konum bu başlık değeri sayesinde belirlenir. Videoyu oluşturan resimlerin yeniden izlenebilir hale gelebilmesi için Şekil 3. Hareket vektörü, örnek nesne ve hareket vektörleri 3. MPEG AKIMININ ÇÖZÜLMESİ Etkin bir sıkıştırma yöntemi olması dışında Mpeg sıkıştırma yöntemi aynı zamandan dosya deseni bakımından esnektir. Bir video bütününden kopartılan belli bir sürelik video parçacığı kendi başına izlenebilir. Bu video parçacıkları birleştirilerek daha büyük video 3 ihtiyaç duyulmaktadır. Şekil 4.’te sıkıştırılmış videoyu oluşturan katmanlar görülmektedir. [3] öncelikle dilimler, ardından makro bloklar ve blokların çözülmesi gerekmektedir. Bunların çözülebilmesi için yine başlık bilgilerine Şekil 4. Mpeg video katman yapısı Dikkat edilecek olunursa “00 00 01 01” byte dizisi 1 numaralı dilimin başlangıcını belirtmektedir. Bu başlık değeri dışında bu verinin birinci dilime ait olduğu gösteren başka bir işaret bulunmamaktadır. Eğer bu başlık değeri akımdan çıkartılır ise veya başlık değeri kasıtlı biçimde bozulursa video akımının yeniden izlenebilir hale getirilmesi imkânsızdır. 4. MPEG AKIMININ ŞİFRELENMESİ Mpeg olarak sıkıştırılmış bir video akımı mevcut şifreleme algoritmaları kullanarak şifrelenebilir. Mevcut güvenliğin arttırılması amacıyla şifreleme ve açma anahtar uzunlukları büyütülebilmektedir. Fakat bu işlem şifreleme ve çözme işlemlerinin maliyetini arttırmaktadır. Mpeg akımının çözülmesi işleminin adımları incelendiğinde videonun tekrardan izlenebilir hale gelebilmesi için, Mpeg başlıklarının ne kadar hayati bir önem taşıdığı görülmektedir. Aşağıda bir resme ait bir dilim başlangıcı ve dilime ait bazı kodlar verilmiştir. Şekil 5. Orijinal ve şifrelenmiş Mpeg akımları Geliştirilen yöntemde şifreleyici bir yazılım yardımıyla izlenebilir Mpeg akımındaki tüm başlık değerleri rastlantısal değerlerle değiştirilir. Şifreleme işlemi sonucunda akımın orijinal başlıkları farklı bir anahtar dosya içine kaydedilmektedir. Anahtar dosya olmaksızın şifrelenmiş video akımını izlemek hiçbir şekilde mümkün değildir. Şifre çözücü yazılım kısmında, anahtar dosyada bulunan başlık değerleri kullanılarak şifresi çözülmüş video akımı yeniden oluşturulur. Şekil 4. 1 numaralı dilim 4 [2].J. GILVARRY, ‘Extraction of Motion Vectors from an MPEG Stream’, 1999. 5. SONUÇ Başlık verileri tahrip edilmiş bir Mpeg dosyasının izlenmesi mümkün değildir. Başlıkları bozulmuş bir video akımını izlenebilir kılan henüz bir metot geliştirilmemiştir. Bu avantajları kullanarak yöntem çok küçük bir veriyi şifreleyerek bir veri bütününü anahtar dosya olmadan, anlamsız ve kullanılamaz hale getirmiştir. [3].MENG, J., CHANG, S., ‘Tools for Compressed Domain Video Indexing and Editing’, SPIE Conference on Storage and Retrieval, 1995. [4].Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., Mpeg Video Compression Standard, Chapman and Hall, 1996. Anahtar dosya mevcut şifreleme metotları kullanılarak şifrelendiğinde güvenlik son derece sağlam hale gelmektedir. Anahtar dosya şifrelenmediği durumda dahi anahtar dosyanın deseni bilinmediğinden dolayı şifre çözme işlemi gerçekleştirilemeyecektir. [5].PATEL, N., SETHI, I., ‘Compressed Video Processing for Cut Detection’, 1996 [6].Taşkın, D., Suçsuz, N., “Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme”, IV. Bilgi teknolojileri Kongresi, 9-11 Şubat 2006, Pamukkale Üni. Şekil 6. Şifrelenmiş akım izleme hatası Şekil 7.de videoların kapladıkları dosya boyularına göre sistem başlıklarının kapladıkları alan verilmiştir. Şekil 7. Video boyutuna göre toplam boşluk boyutları Video boyutuna bağlı olarak başlıkların kapladığı toplam boyut da artmaktadır. Bu şifrelenecek veri miktarında da artışa neden olmaktadır. Buna rağmen başlık boyutları toplam video boyutunun yaklaşık yüzde birine eşdeğerdir. 9. KAYNAKLAR [1].CHANG, S., ‘Compressed Domain Techiques for Image/Video Indexing and Manipulation’, IEEE Conference On Image Processing, 1995 5 Akademik Bilişim 2007 Dumlupınar Üniversitesi, Kütahya 31 Ocak-2 Şubat 2007 MPEG AKIMINDA OPERATÖR İŞLEMLERİNİN KISITLANMASI YOLUYLA İÇERİK KORUMA Deniz TAŞKIN*, Cem TAŞKIN** ve Nurşen SUÇSUZ* (*) Trakya Üniversitesi, Bilgisayar Mühendisliği Bölümü, 22030, EDİRNE (**)Trakya Üniversitesi, Kırklareli Teknik Bilimler MYO, BTP Programı, 39100, KIRKLARELİ [email protected], [email protected], [email protected] ÖZET Sayısal dünyanın en büyük sorunlarından birisi içeriğin korunmasıdır. İçeriği korurken son kullanıcının sayısal içeriği eksiksiz olarak kullanabilmesi ve mevcut donanımın değişmemesi birincil gereksinimlerdendir. Günümüzde en popüler video sıkıştırma metodu Mpeg video sıkıştırmasıdır. Geliştirilen yöntem sayesinde Mpeg yöntemi ile sıkıştırılmış video dosyalarının, kullanılan mevcut donanım ve yazılım bileşenlerinin değişmeden izlenmesi sağlanırken ileri ve geri alma gibi operatör işlemleri engellenmektedir. Bununla birlikte video bütününün parçalara ayrılması da engellenmektedir. Anahtar Kelimeler: Mpeg, Mpeg başlıkları, İçerik koruma. CONTENT PROTECTION IN MPEG STREAM BY DISABLING OPERATOR MOVEMENTS ABSTRACT One of the biggest problems of digital word is protecting content. While protecting content, user’s complete access to digital content and no change in existing hardware are primary necessities. Nowadays Mpeg is the most popular video compressing method. By this developed method without changing existing hardware and software components, operator movements like forward and backward are restricted. Beside all, dividing entire video into small video pieces is also restricted. Keywords: Mpeg, Mpeg headers, Content protection 1. GİRİŞ Sayısal olarak saklanan video dosyaların çok büyük bir çoğunluğu depolama kısıtları yüzünden sıkıştırılmaktadır. Birçok sıkıştırma yönteminden göze en çok çarpanı, boyutu 1/180 kadar küçültebilen Mpeg video sıkıştırma yöntemidir. Yüksek sıkıştırma oranının yanı sıra görüntü kalitesinden çok da fazla ödün vermeyen Mpeg yöntemi çoğu kullanıcı ve yayıncı tarafından tercih edilmiştir. [1] Etkin bir sıkıştırma yöntemi olması dışında Mpeg sıkıştırma yöntemi aynı zamandan birçok yönden esnektir. Bir video bütününden kopartılan belli bir sürelik video parçacığı kendi başına izlenebilir. Bu video parçacıkları birleştirilerek daha büyük video parçacıkları oluşturulabilir ve yine bunların izlenebilmesi için ana video bütününe ihtiyaç duyulmaz. Bu esneklik içeriğin korunması açısından yayıncılara zorluk çıkartmaktadır. Bu sorunun çözümü için geliştirilen yöntemler genellikle dosyayı şifreleme şeklinde olup, mevcut yazılım ve donanım birimlerinde köklü değişiklikler gerektirmektedir. Geliştirilen yöntemde Mpeg akımının içeriğinde değişiklikler yapılmaktadır. Yapılan bu değişiklikler sıkıştırılmış Mpeg akımının, mevcut video gösterici yazılım ve donanım birimlerinde düzgün biçimde izlenebilmelerine engel teşkil etmemiştir. Fakat mevcut video akımında ileri veya geri sarma işlemleri yapılması ya da video akımından belli bir parçacıkların çıkartılması, parçacıkların birleştirilerek yeni parçacıklar oluşturulması işlemleri sonucunda video akımı izlenemez hale gelmektedir. katmanı, sıkıştırma katmanına yardımcı işaretçiler içermektedir. Sıkıştırma katmanı ise ses ve video çözücü birimlerin veri ihtiyacını karşılamaktadır. Tipik bir Mpeg sistem blok diyagramı şekil 1’deki gibidir. Görüldüğü gibi Mpeg akımında Sistem katmanını etkileyecek bir değişiklik video ve ses verisinin çözülmesine ve izlenmesine engel olacaktır. Ayrıca yapılabilecek bu tip bir değişiklik akımın tümünün izlenmesini engelleyecek ve akımı bozacaktır. 2. MPEG AKIMI Sayısallaştırılmış video verisinin Mpeg yöntemiyle sıkıştırılmış haline Mpeg akımı denilmektedir. Mpeg akımı uygun bir kod çözücü yazılım veya donanım yardımıyla izlenebilir video haline dönüştürülür. Mpeg akımı çok esnek bir yapıya sahiptir. Akımın bütünden koparılmış herhangi bir parçası, kod çözücü birim tarafından akımın bütününe ihtiyaç duyulmadan izlenebilir hale dönüştürülebilmektedir. Mpeg akımı video ve ses bilgisinin her ikisini de bünyesinde barındırmaktadır. [4] Geliştirilen yöntem sistem çözücü katmanı geçebilmeli ve gerekli müdahaleyi video çözücü katmanı etkileyecek şekilde yapabilmelidir. Mpeg akımı bir sistem katmanı ve bir sıkıştırma katmanından oluşmaktadır. Sistem Şekil 1. Mpeg Sistem Yapısı Sistem çözücü birim bit akımını paket başlangıç kodlarına göre işleyerek video ve ses çözücü birimleri besler. Sistem katmanı paket başlıkları tablo1’de gösterilmektedir.[4] 3. SİSTEM KATMANI Mpeg sistem katmanı, sıkıştırılmış bir ya da daha fazla ses veya video akımını tek bir akıma çevirmek gibi temel bir işleve sahiptir. Sistem çözücü birim bu bit akımını işler ve akımı zamanlama bilgisiyle birlikte gerekli çözücü birime iletir. Tablo1. Mpeg sistem başlıkları Kod Adı iso_11172_bitiş kodu Paket başlangıç kodu Sistem başlangıç kodu Ayrılmış akım Özel akım 1 Boşluk akımı Ses akımı Video akımı Mpeg akımı, alt paketlere ayrılabilen bir dizi paket sıralaması içermektedir. Her bir paket 32 bitlik eşsiz paket başlangıç kodu ve başlığa sahiptir. Bütün başlangıç kodları yirmi üç adet 0 ve bir adet 1’den oluşan 3 byte’lık bir ön ek alırlar. Bunun ardından gelen son byte farklı başlangıç kodlarının kimliğini belirler. Mpeg akımında başlangıç kodları dışında buna benzer bir dizilime izin verilmez. [3] Şekil 2. Mpeg Sistem başlıkları 2 Değeri (Hex) 0 0 1 B9 0 0 1 BA 0 0 1 BB 0 0 1 BC 0 0 1 BD 0 0 1 BE 0 0 1 C0 – 1 DF 0 0 1 E0 – 1 EF 4. VİDEO BAŞLANGIÇ KODLARI Sistem katmanı, eşsiz sistem başlıklarını kullanarak Mpeg akımını ses ve video çözücü birimlere dağıtmaktadır. Video çözücü birimin, sıkıştırılmış Mpeg akımını çözebilmesi için video başlangıç kodları adındaki başlık kodları kullanılmaktadır. [6] Video başlangıç kodları video çözücü birim tarafından çözülürler. Bir video sıralaması sıralama başlangıç kodu ile başlamaktadır. Video sıralamasının altında resim grupları, resim gruplarının altında resimler, resimlerin altında dilimler, dilimlerin altında makro bloklar, makro blokların altında ise video verisini içeren bloklar bulunmaktadır. Bu hiyerarşik yapının oluşturulabilmesi için video başlık kodları kullanılır. Video başlangıç kodları eşsizdirler ve görsel veri içerisinde başlangıç kodlarının bulunamayacağı kesin şekilde bildirilmiştir. [5] Tablo 2’de video başlangıç kodlarının bir listesi bulunmaktadır. Tablo2. Mpeg video başlangıç kodları Kod Adı Resim grubu Resim Sıralama bitişi Sıralama hatası Sıralama başlangıcı Dilim 1- Dilim 175 Kullanıcı verisi Değeri (Hex) 0 0 1 B8 0010 0 0 1 B7 0 0 1 B4 0 0 1 B3 0 0 1 01 – 1 AF 0 0 1 B2 Şekil 3. Mpeg video katman yapısı 5. AKIMIN ÇÖZÜLMESİ Şekil 4’deki akış şeması video akımının çözülmesi işleminin bir kısmını göstermektedir. Buna göre bir video akımının çözülebilmesi için sıralama başlangıç kodunun bulunması gerekmektedir. Bunun ardından resim grubu başlangıç kodu aranmaktadır. Resim grubu başlangıç kodu bulunduktan sonra resimlerin çözülmesi işlemine başlanır. Resimleri belirlemek için “0 0 1 0” hex değeri, akım içinde aranır. Resmin yeri belirlendikten sonra tipi belirlenmektedir. Standart video dosyalarının aksine Mpeg yöntemi ile sıkıştırılmış video dosyalarında 3 farklı çerçeve tipi vardır. Bu sayede birbirini takip eden çerçeveler arasında az bir görsel fark olması durumunda çerçevenin tamamı dosyaya aktarılmaz. [2] a) I çerçevesi: Tam bir video resmidir. Gösterilebilmesi için başka bir resme ihtiyaç yoktur. En çok veriyi kapsamaktadır. b) P çerçevesi: Bir önceki çerçevedeki farklılıkları şifrelemektedir. Gösterilebilmesi için bir önceki çerçeveye ihtiyaç duyar. B çerçevesinden daha fazla yer kaplamaktadır. Şekil 4. Video akımı çözme işlemi c) B çerçevesi: Bir önceki yada daha sonraki çerçevedeki farklılıkları şifrelemektedir. I çerçevesindeki verinin en az %25’ini içerir. Gösterilebilmesi için bir önceki ya da sonraki çerçeveye ihtiyaç duyar. a) Bir sıralama başlangıcı her zaman en azından bir resim grubu tarafından takip edilir b) Bir video akımında birden fazla sıralama başlangıcı bulunabilir. Bu kurallar dışında bir video gösterici birimin, görüntüyü ileri ya da geri sarma işlemleri sırasında, video akımı çözme işlem basamaklarını en başından uyguladığı da dikkate alınmıştır. [4] Şekil 5. Bir resim grubu, resim çerçevesi tipleri Bu durumda video gösterici birimin ileri ya da geri sarma işlemleri sırasında, akım içersinde birden fazla bulunan, sıralama başlangıcı kodunu bulması gerekmektedir. Eğer bir video akımında bir tek sıralama başlangıcı kodu bulunursa, akım içerisinde operatör işlemlerini uygulamak mümkün olmayacaktır. Ayrıca bir sıralama başlangıcı her zaman resim grupları tarafından takip edileceğinden, başka sıralama başlangıcı koduna ihtiyaç duyulmayacaktır. 6. AKIMIN KORUNMASI Bu çalışmada akımın korunması ile hedeflenen, ileri geri alma gibi operatör işlemlerinin engellenmesi ve video bütününden belli bir parçanın kopyalanmasının engellenmesidir. Bu amaçla, akımın çözülmesi işlemi detaylı bir şekilde incelenmiştir. Akımda yapılacak değişiklik akımın tümden bozulmasına neden olmamalıdır. Bu amaçla yapılan çalışmalarda aşağıdaki kurallardan faydalanabilineceğine karar verilmiştir: 7. SONUÇLAR Örnek video görüntüsü içinden sadece bir sıralama başlangıç kodu kalacak biçimde geri 4 kalan sıralama başlangıç kodlarının pozisyonları belirlenmiş ve bunların yerine rastlantısal veriler girilmiştir. Akım çözümü sırasında başlıklar dikkate alındığından dolayı sıralama başlangıçları yerine rastlantısal veriler verilmesi akımın çözülmesi işlemine herhangi bir etkisi olamamaktadır. Bu sayede video akımı, mevcut kullanılan donanım ve yazılım birimleri değişmeden izlenebilmektedir. Değişiklik yapılan video akımı, yazılım (Windows Media Player 11) ve donanım tabanlı video çözücü birimler tarafından test edilmiş ve akım içerisinde ileri ya da geri sarma operatör işlemlerinin gerçekleştirilemediği gözlemlenmiştir. Bunun dışında Movie Maker ve Video Cd Cutter adında, video kesme işlemi için kullanılan yazılımlar, korunmuş video akımlarından izlenebilir video parçacıkları çıkarmayı başaramamıştır. 9. KAYNAKLAR [1].CHANG, S., ‘Compressed Domain Techiques for Image/Video Indexing and Manipulation’, IEEE Conference On Image Processing, 1995 [2].J. GILVARRY, ‘Extraction of Motion Vectors from an MPEG Stream’, 1999. [3].MENG, J., CHANG, S., ‘Tools for Compressed Domain Video Indexing and Editing’, SPIE Conference on Storage and Retrieval, 1995. [4].Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., Mpeg Video Compression Standard, Chapman and Hall, 1996. [5].PATEL, N., SETHI, I., ‘Compressed Video Processing for Cut Detection’, 1996 [6].Taşkın, D., Suçsuz, N., “Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme”, IV. Bilgi teknolojileri Kongresi, 9-11 Şubat 2006, Pamukkale Üni. 5 ISSN:1306-3111 e-Journal of New World Sciences Academy 2007, Volume: 2, Number: 3 Article Number: A0029 NATURAL AND APPLIED SCIENCES COMPUTER ENGINEERING Received: March 2007 Accepted: July 2007 © 2007 0Hwww.newwsa.com Deniz Taşkın Nurşen Suçsuz Cem Taşkın University of Trakya [email protected] Edirne-Türkiye SIKIŞTIRILMIŞ VİDEO GÜVENLİĞİ ÖZET Günümüz şifreleme algoritmaları geleneksel metin verisini şifrelemeye ve çözmeye yöneliktir. Video akımının şifrelenmesinde sıkça rastlanan yaklaşım, sayısal videonun bir bit akımına dönüştürülerek geleneksel veri gibi şifrelenmesidir. Kendine has bir yapısı olan video akımının şifrelenmesi, şifreyi çözmek isteyen saldırgana açık noktalar bırakmaktadır. Bu çalışmada, video verisinin artan güvenlik ihtiyaçlarına karşın, geleneksel yöntemlerle akım şifrelendiğinde ortaya çıkan zayıf noktalar gösterilecek ve alternatif bir yöntem açıklanacaktır. Önerilen yöntem, düşük sistem kaynak ihtiyacı ve karmaşıklık seviyesine karşılık sıkıştırılmış video akımına özel şifreleme, yüksek güvenlik, taşınabilirlik ve hız sağlamaktadır. Anahtar Kelimeler: Video Güvenliği, Video Kodlama, MPEG COMPRESSED VIDEO SECURITY ABSTRACT Conventional cryptography algorithms deal with the encryption and decryption of text data. Common method for encrypting video stream is encoding digital video into bit stream and encrypting in the same way as generic data. Encrypting video data that have a unique structure gives weak points to the attacker. In this study, despite of increasing security requirements of video data, weak points that appear when stream is encrypted by traditional methods are demonstrated and an alternative method is explained. Given method provides special cryptography for compressed video stream, high security, mobility and speed for lower system requirements and complexity. Keywords: Video Security, Video Coding, MPEG e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. 1. GİRİŞ (INTRODUCTION) Video, belli bir zaman aralığında ardı ardına gösterilen resim kareleri olarak tanımlanabilir. Başlangıçta analog olarak kaydedilip üzerinde işlem yapılarak yayınlanan video, teknolojideki ilerlemeye bağlı olarak sayısallaştırılarak bilgisayar ortamında işlenmeye ve yayınlanmaya başlamıştır. Sayısallaştırılmış video yüksek kalitede ses ve resim gibi avantajlar sağlamanın yanında, kalitesini uzun süreler koruyabilmektedir. Tüm pozitif özelliklerine rağmen sayısallaştırılmış video verisi, kapladığı alan bakımından geleneksel veriden farklılık göstermektedir. Sayısallaştırılmış video görüntüleri büyük miktarda yer kaplamaktadır ve iletim zorlukları bulunmaktadır [7]. Video verisinin kapladığı alan ve bant genişliği gereksinimlerinden dolayı sıkıştırılması gerekmektedir. Son dönemlerde MPEG sıkıştırma yöntemi anahtar teknoloji olarak karşımıza çıkmakta ve birçok platformda paralel olarak MPEG çözücüler geliştirilmektedir. Günümüz koşullarında artan kullanım alanlarına bağlı olarak video dosyalarının güvenlik şartlarının yerine getirilmesi kaçınılmazdır. Şifreleme ve şifre çözme güvenli sistem kurmanın temel teknolojileridir. İçerik koruma ve erişim kontrolü genellikle şifreleme ile sağlanmaktadır. Günümüz şifreleme algoritmaları alfasayısal veriyi şifreleme ve çözmeye yönelik kullanılmaktadır. Son zamanlarda video verisinin içeriğiyle ilgili bilgiler doğrultusunda, güvenliğinin sağlanması sistematik biçimde ele alınmaktadır. Düşman, video verisinin fark edilebilir güvenlik açıklarını kullanarak şifrelenmiş görüntüyü izlenebilir kılabilir. Geleneksel yöntemle şifrelenmiş video dosyaları diğer tür dosyalara göre çok daha kolay çözülebilir. Nasıl ki video verisini sıkıştırmak için video verisine özel metotlar geliştirilmiş ise, video dosyalarının şifrelenmesi için de geleneksel metotlar kullanılmamalı, video verisine özel metotlar geliştirilmelidir. Bu yüzden video verisinin korunması video kodlamanın bir alanıdır. Bu çalışma, video verisinin erişim kontrolünü denetlemek için gerçek zamanlı çalışabilecek düzeyde yeni bir yöntemi öne sürmektedir. Geleneksel şifreleme algoritmaları Bölüm 2’de anlatıldıktan sonra Bölüm 3’te MPEG video sıkıştırma metodundan bahsedilecektir. Ardından Bölüm 4’te MPEG video akımının özellikleri incelenecektir. Bölüm 5’te geleneksel şifreleme algoritmaları kullanılarak şifrelenmiş video akımının zayıf noktalarından bahsedilecek ve alternatif yöntem Bölüm 6’da anlatılacaktır. Çalışma, sonuçların Bölüm 7’de açıklanması ile son bulacaktır. 2. ÇALIŞMANIN ÖNEMİ (RESEARCH SIGNIFICATION) Bu çalışmada, sıkıştırılmış video güvenliği ele alınmış olup, geleneksel yöntemlerle şifrelenmiş video akımının, anahtar değer bilinmeden şifresinin kırılmasını sağlayan açık noktalarının gösterilmesi hedeflenmiştir. Geleneksel şifreleme algoritmalarını güçlü kılan, anahtar değerin teorik olarak kırılma süresinin çok uzun bir süreç alabilmektedir. Çalışmada önerilen şifreleme yöntemi ile sıkıştırılmış video akımının güvenlik ihtiyaçları karşılanmaktadır. Araştırmada bu ve buna benzer alanlarda yapılacak diğer çalışmalara ışık tutma açısından ele alınan konular oldukça önemlidir. 3. ŞİFRELEME (CRYPTOGRAPY) Şifreleme, matematik kullanarak veriyi gizleme ve çözme bilimidir. Şifreleme, değeri yüksek bilgiyi saklama ve güvensiz yollarda iletimi sırasında istenilen kişi dışında başkası tarafından okunmasını engeller. Herhangi bir yöntem kullanılmadan doğrudan okunabilen metne açık metin, açık metnin içeriğini gizleme yöntemine şifreleme denilmektedir. Açık metnin anlamsız ve okunamayacak haline 174 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. şifrelenmiş metin denmektedir. Açık metin şifrelenerek, istenilen kişi dışında birisi tarafından okunamaz hale getirilmektedir. Şifreli metinden, orijinal açık metne dönüştürme işlemine şifre çözme denilmektedir [3]. Şekil 1, bu işlem basamaklarını göstermektedir. Açık metin Şifreleme Şifreli metin Şifre çözme Açık metin Şekil 1. Geleneksel şifreleme (Figure 1. Conventional cryptography) Şifreleme algoritmaları, simetrik ve asimetrik olmak üzere iki ana kategoriye ayrılmaktadır. Simetrik şifreleme algoritmaları, şifreleme ve çözme işlemleri için bir tek anahtar kullanmaktadır. Geniş bir kullanım alanına sahip DES şifreleme algoritması simetrik şifreleme algoritmalarına örnek olarak gösterilebilir [2]. Şekil 2 simetrik şifreleme algoritmalarının nasıl çalıştığını göstermektedir. Açık metin Şifreleme Şifreli metin Şifre çözme Açık metin Şekil 2. Simetrik şifreleme (Figure 2. Symmetric cryptography) Asimetrik şifreleme algoritmaları ise, simetrik şifreleme algoritmalarından farklı olarak bir yerine iki anahtar kullanmaktadır. Açık metin, açık anahtar denilen anahtar kullanılarak şifrelenmektedir. Alıcı, şifreli metni gizli anahtar denilen anahtarı kullanarak çözmektedir. Açık anahtarın korunmasına gerek kalmadan gizli anahtar korunarak güvenlik sağlanmaktadır. Açık anahtara sahip herhangi bir kişi, gizli anahtarı olan kişinin okuyabileceği metinler üretmekten öteye gidemez. Şifreli metinden açık metne dönüşüm işlemi sadece gizli anahtara sahip olan kişi tarafından gerçekleştirilebilir [1]. 175 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. Açık metin Şifreleme Şifreli metin Şifre çözme Açık metin Şekil 3. Asimetrik şifreleme (Figure 3. Asymmetric cryptography) Asimetrik Şifreleme Uygulaması (Asymmetric Cryptography Application): Geleneksel şifreleme algoritmalarının açık noktalarının belirlenmesi için asimetrik şifreleme algoritmasını temel alan bir uygulama yazılımı gerçekleştirilmiştir. C programlama dili kullanılarak geliştirilen uygulama yazılımı, kullanıcıdan aldığı iki adet asal sayıyı kullanarak şifreleme ve şifre çözme işlemlerini gerçekleştirmektedir. Şekil 4. Şifreleme işlemi için akış şeması ve program kodu (Figure 4. Flow chart and program code of encrypting process) 176 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. Program öncelikle kullanıcıdan p ve q gibi iki asal sayı girişi beklemekte ve program n ve Øn değerlerini hesaplamaktadır. n=13*29=377 Øn=(13-1)*(29-1)=336 (1) Ardından şifreleme için kullanılan e ve şifre çözme için kullanılan d anahtar çifti belirlenmektedir. Bu çift asal sayı olmak zorundadır. d*e=1 mod Øn (2) Bu işlem sonucunda d=269, e=5 olarak belirlenmekte ve program m değişkenine şifrelenecek dosyadan bir byte okuma işlemi yapmaktadır. Asimetrik şifreleme m değerini şifrelemek için aşağıdaki formülü kullanmaktadır. Örnek olarak 5 değeri şifrelendiğinde şifreli byte değerimiz 109 olmaktadır. (3) c = me mod n 109 = 55 mod 377 Şekil 5. Şifre çözme işlemi için akış şeması ve program kodu (Figure 5. Flow chart and program code of decrypting process) Gönderici m değerini şifreledikten sonra şifrelenmiş dosyaya kaydetmektedir. Şifrelenecek dosyadaki tüm veriler şifrelenip şifreli dosyaya yazıldığında program sonlanmaktadır. 177 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. Şifrelenmiş dosyanın şifresinin çözülmesi işlemi sırasında program şifre çözme anahtarı d’yi kullanmaktadır. Program öncelikle şifreli dosyadan bir byte’lık c verisini okumaktadır. Şifreli c verisi açma anahtarı d kullanılarak aşağıdaki formül ile çözülmektedir. m = cd mod n 5 = 109269 mod 377 (4) Şifresi çözülecek dosyadaki tüm veriler çözülüp şifresiz dosyaya yazıldığında program sonlanmaktadır. 4. MPEG VİDEO SIKIŞTIRMA STANDARDI (MPEG VIDEO COMPRESSION STANDARD) Sayısallaştırılmış video akımını sıkıştırma, hazır çorbaya benzetilebilir. Çorba paketlenirken taşıma ve saklamayı daha etkin yapmak için çorba içindeki tüm su ayrıştırılır. Kurutulmuş çorba paketlenerek satılır. Paket müşteriye ulaştığında karışıma su eklenerek çorba tekrar oluşturulur. MPEG sıkıştırması da ses ve görüntü akımından gereksiz bilgileri çıkartarak sinyali orijinal boyutundan 180/1’e kadar daha küçük hale getirebilmektedir. Akım izleyiciye ulaştığında kod çözücü birim orijinal içeriği tekrar oluşturmakta ve videoyu izlenebilir kılmaktadır. Sıkıştırma sayesinde depolama ve iletimde büyük kolaylıklar sağlanmış ve video dosyalarının kullanım oranları artmıştır. Video akımı sayısallaştırıldıktan sonra sıkıştırılmaya hazırdır. MPEG basitçe özetlendiğinde, birbirini izleyen video çerçevelerinde büyük oranda tekrar eden benzerlikleri ve insan gözünün algılayamayacağı düzeydeki detayları yok sayarak yüksek oranda sıkıştırma sağlayan bir yöntemdir. Sıkıştırma sonucunda resim kalitesinde kabul edilebilir bir bozulmaya karşılık orijinal sinyalin büyük bir bölümü atılabilir [7]. 5. MPEG AKIMI (MPEG STREAM) Etkin bir sıkıştırma yöntemi olması dışında MPEG sıkıştırma yöntemi aynı zamanda dosya deseni bakımından da esnektir. Bir video bütününden kopartılan belli bir sürelik video parçacığı kendi başına izlenebilmektedir. Bu video parçacıkları birleştirilerek daha büyük video parçacıkları oluşturulabilir ve yine bunların izlenebilmesi için ana video bütününe ihtiyaç duyulmamaktadır. Esnek dosyalama yapısını MPEG başlıkları sağlamaktadır. Birçok yönden iyileştirmeler içeren MPEG sıkıştırma yöntemi kullanılarak sıkıştırılmış video akımı içerisinde gereksiz tekrarlar bulunmamaktadır. Başlık bilgilerinin dışında tekrar eden bit dağılımına rastlanmamaktadır. Video akımının kodunun çözülmesinde bu özellik kullanılmaktadır. Bütün başlangıç kodları yirmi üç adet 0 ve bir adet 1’den oluşan 3 byte’lık bir öne ek almaktadırlar. Bunun ardından gelen son byte farklı başlangıç kodlarının kimliğini belirlemektedir. MPEG akımında başlangıç kodları dışında buna benzer bir dizilime izin verilmemektedir [5]. Tablo 1’de bazı başlangıç kodları verilmiştir. Tablo 1. MPEG video başlıkları (Table 1. MPEG video headers) Ön ek 0000 0000 0000 0000 0000 0001 Kod Adı Değeri Kod Adı Değeri Resim grubu 1011 1000 Sıralama başlangıcı 1011 0011 Resim 0000 0000 Dilim 1 0000 0001 Sıralama bitişi 1011 0111 Dilim 175 1010 1111 Sıralama hatası 1011 0100 Kullanıcı verisi 1011 0010 178 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. Şekil 6’da sıkıştırılmış videoyu oluşturan katmanlar görülmektedir. Şekil 6. MPEG video başlık katmanları (Figure 6. MPEG video header layers) 6. VİDEO AKIMINI ŞİFRELEME (ENCRYPTING VIDEO STREAM) İçerik güvenliği ve erişim kontrolü genellikle şifreleme ile sağlanmaktadır. Eşsiz bir doğaya sahip MPEG sıkıştırılmış video akımı geleneksek metotlar kullanılarak şifrelenebilmektedir. Bu bölümde, asimetrik şifreleme algoritması kullanılarak şifrelenen video verilerinin açık noktalarına değinilecektir. Düz metni şifrelemek için kullanılan bu algoritmalarda, gizli metinden anahtar değeri bilmeden açık metni elde etmek için yeterli sayıda açık metin-şifreli metin ikilisine ihtiyaç duyulmaktadır. Sadece şifreli metinden elde edilebilecek tek sızıntı kelime boyları ve harf kullanım yoğunlukları olmaktadır. Bu özellikleri kullanarak açık metin-şifreli metin ikilileri elde etmek sözlük kullanarak deneme yanılma yöntemine dayanmaktadır. Sadece şifreli metinden yararlanarak şifreyi kırma işleminin yüksek matematiksel karmaşıklık zorunluluğu geleneksel şifreleme algoritmalarını güçlü kılmaktadır. Geleneksel metotlar, deneme yanılma sayısının çok olması ve kırma işleminin çok uzun sürmesi açısından kırılamaz olarak nitelendirilmektedirler. MPEG sıkıştırılmış video akımının düşman saldırılara açık olduğu en zayıf noktası başlık değerleridir. MPEG akımının belli bir dosya deseninin bulunmamasından dolayı akımın çözülmesinde MPEG video başlıkları birincil rol oynamaktadır. Bütün başlangıç kodları yirmi üç adet 0 ve bir adet 1’den oluşan 3 byte’lık bir öne ek almaktadırlar ve yüksek sıkıştırma oranlarından dolayı MPEG video akımında başlık bilgileri dışında böyle bir dağılıma rastlamak mümkün değildir [5]. Doğal olarak böyle bir bit diziliminin şifrelenmiş hali de kolayca fark edilebilir. Düşman elinde bulunan şifreli video akımı içerisinde birbiri ardına sıralanmış iki adet aynı değerli sayı tespit ettiğinde, bunun bir başlık bilgisi olduğunu öngörerek anahtar değeri tespit edebilir. Saldırgan şifrelenmiş akımdaki sadece basit birkaç karşılaştırma işlemi sonrasında, başlık bilgilerini kullanarak birçok açık metinşifreli metin ikilisi elde etmektedir. 179 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. 7. ALTERNATİF YÖNTEM (ALTERNATIVE METHOD) Prensip olarak, sayısal video verisi bir bit akımına dönüştürülerek geleneksel veri gibi şifrelenebilir. Sayısallaştırılmış ve sıkıştırılmış video verisinin alfa-sayısal biçimde ele alınıp şifrelenmesi görüldüğü gibi hatalı bir yaklaşımdır. Video verisinin eşsiz doğasından dolayı “ya hep-ya hiç” koruma mantığına sahip geleneksel şifreleme yöntemleri video verisinin güvenliği için uygun olmamaktadır. Anahtar bilinmeden, şifreli metin incelenerek elde edilen açık noktalar kullanılarak şifre kırma işlemi yapılmaktadır. Tüm bu noktalar dikkate alındığında akım bütününün şifrelenmesi saldırgana şifreyi kırması için yeterli bilgiyi sağlamaktadır. Akımın bütününün yerine belli bir kısmının şifrelenmesinin daha fazla güvenlik sağlayacağı açıkça görülmektedir. Bu noktada, saldırgana yeterince açık metin-şifreli metin ikilisi sağlayan başlık bilgilerinin şifrelenmemesi öngörülmektedir. Başlık bilgileri dışında MPEG akımında birbirini tekrarlayan veri bulunmamaktadır. Bu yüzden başlık bilgileri dışındaki bit akımı şifreleme işlemine tabi tutulmaktadır. Böylece şifreli dosyada işleme alınan tekrarlı bilgi bulunmamaktadır. Bu da şifreli dosyanın kırılmasını büyük oranda zorlaştırmaktadır. Başlık bilgileri dışındaki verinin şifrelenmesi saldırgana açık nokta bırakmamaktadır. Resim grubu başlık bilgisi a) Açık video akımı Resim grubu başlık bilgisi b) Şifreli video akımı Şekil 7. Açık ve öngörülen yöntemle şifrelenmiş video akımlarının hex biçiminde görünümleri (Figure 7. Hexadecimal views of open stream and stream encrypted by suggested method) 8. SONUÇ (RESULT) MPEG video akımında başlık bilgilerinin kapladığı alan veri bütününün %1’lik miktarını oluşturmaktadır [5]. Toplam veri miktarına göre çok düşük bir alan kaplayan başlık bilgileri, şifre kırma işlemi için çok değerli bilgiler sızdırmaktadır. 180 e-Journal of New World Sciences Academy Natural and Applied Sciences, 2, (3), A0029, 173-181. Taşkın, D., Suçsuz, N., and Taşkın, C. Şekil 8. Toplam video boyutu ve başlık boyutları (Figure 8. Total video file size and header sizes) Bu çalışmada MPEG video akımının şifrelenmesi üzerine yeni bir yaklaşım önerilmektedir. Yeni geliştirilen yöntem, MPEG kodlama yapısına özel geliştirildiğinden dolayı, veri bütünün şifrelenmesi gereken kısımlarını kendisi belirlemektedir. Belirlenen zayıf noktalar şifrelenmeyerek verinin güvenliği arttırılmaktadır. KAYNAKLAR (REFERENCES) Rivest, R., Shamir, A., and Adleman, L., (1978). A method for optaining digital signatures and public-key cryptosystems, Communications of ACM, ss:120-126. 2. Coppersmith, D., (1994). The data encryption Standard (DES) and its strenght against attacks, IBM journal of research and development. 3. RSA Laboratories, (2000). Frequently asked questions about today's cryptography. 4. Taşkın, D., ve Suçsuz, N., (2006). Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme, IV. Bilgi teknolojileri Kongresi, Denizli. 5. Taşkın, D., Taşkın, C., and Suçsuz, N., (2007). MPEG akımında başlık şifreleme, Akademik Bilişim 2007, Kütahya. 6. Taşkın, D., Taşkın, C., and Suçsuz, N., (2007). MPEG akımında operatör işlemlerinin kısıtlanması yoluyla içerik koruma, Akademik Bilişim 2007, Kütahya. 7. Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., (1996). Mpeg Video Compression Standard, Chapman and Hall. 8. Chang, S., (1995). Compressed Domain Techiques for Image/Video Indexing and Manipulation, IEEE Conference On Image Processing. 9. Gilvarry, J., (1999). Extraction of Motion Vectors from an MPEG Stream. 10. Meng, J., and Chang, S., (1995). Tools for Compressed Domain Video Indexing and Editing, SPIE Conference on Storage and Retrieval. 11. Patel, N., and Sethi, I., (1996). Compressed Video Processing for Cut Detection. 1. 181 MPEG VIDEO PROTECTION BY CHANGING BYTE ALIGNMENT Deniz TAŞKIN, Nurşen SUÇSUZ, Cem Taşkın Trakya University, Engineering and Architecture Faculty, Computer Engineering Department, Edirne-Turkey ABSTRACT Conventional cryptography deals with the encryption and decryption of text data. While strength of algorithms increases, system resources to resolve these algorithms will also increase. In principle, digital multimedia can be encoded into a bit stream and encrypted in the same way as generic data. Real-time encryption for an entire video stream using classical ciphers requires heavy computation due to the large amounts of data involved, and many multimedia applications require an a much lower level. Despite of full stream, one percent of video stream cryption will provide same security level by using developed method. In this work we consider the process of real time encryption and decryption for video streams. Keywords: Mpeg, video security, selective encryption INTRODUCTION Video is the technology of electronically of capturing, recording, processing, storing, transmitting and reconstructing a sequence of still images representing scenes is motion. The wide user of videos in various applications brings serious attention to the security and privacy issues today. Many different encryption algorithms have been proposed in recent years as possible solutions to protection of digital images and videos, among which MPEG videos attract most attention due to its prominent prevalence in consumer electronic markets. Most of the digital video files are stored and distributed in compressed domain. For security of video files which are stored in compressed domain, current crypto algorithms can be used. Due to the unique nature of multimedia data “all-or nothing” protection in generic data security is not always appropriate for measuring the security of multimedia encryption. Previous cryptography studies have focused on text data [1, 2, and 3]. The encryption algorithms developed to secure text data may not be suitable to multimedia applications because of large data sizes and real time constraint. For multimedia applications light weight encryption algorithms are attractive. Encryption schemes for multimedia data need to be specifically designed to protect multimedia content and fulfill the security requirements for a particular multimedia application. MPEG STREAM As MPEG video coding standard, a video is composed of a sequence of group of pictures (GOP). Each GOP is a group of I, P and B frames. I frames are intra coded pictures without any reference and can be displayed alone. P pictures are predictively coded using a previous I or P picture. B pictures are bidirectionally interpolated both the previous and following I or B pictures. Each frame is divided into slices and slices are divided into macroblocks. A macroblock is a 16x16 pixel array and a block is 8x8 pixel array. Figure 1. MPEG layers Mpeg video stream has flexible file structure as a piece taken from entire file can be displayed alone. This is obtained by byte-aligned 32bit patterns called MPEG start codes. These codes as the name would suggest start certain segments of the video stream. The start codes all have a three byte prefix of 23 zero bits followed ‘1’ bit; final byte then identifies the particular start code. The byte alignment is easily maintained in the system layer because the headers are always multiplies of bytes. Table 1 lists some of the start codes in binary format [7]. Table 1. Some of MPEG start codes Prefix 0000 0000 0000 0000 0000 0001 Code Name Group of pictures Picture Sequence End Sequence Error Sequence Start Slice 1 Slice 175 Value 1011 1000 0000 0000 1011 0111 1011 0100 1011 0011 0000 0001 1010 1111 VIDEO ENCRYPTION BY CHANGING BYTE ALIGNMENT As seen above MPEG stream has a special and unique file structure. File is viewable while the start codes are correct. The start codes are metadata that are used to help decoding. In our approach we encrypt MPEG video files by shifting start codes with following 4 bytes. Figure 2. Application source Developed application opens “open.mpg” video stream and reads 100 bytes to buffer. Then buffer is searched for start codes. When start code is found, it is shifted with following bytes then encrypted buffer is written to output file called “secure.mpg”. Some times, generally at the end of the file buffer cannot be filled. So the second part of program collects excess data, encrypts them and writes to encrypted output file. This simple way to encrypt video stream is time and cost friendly. With this method there is no need for heavy computational processes and makes video stream rapidly secure. a) Original video stream b) Encrypted video stream Figure 3. Original and encrypted video sequences CONCLUSIONS This paper focuses of encryption of MPEG videos. Based on a simple changing of special byte order, new design makes video secured. We have seen that selective encryption is suitable for real time applications. This method can achieve satisfactory encryption results with less computation. Software implementations are fast enough to meet the real time requirement of MPEG decoding. We believe that this method can be extended to secure video-on-demand applications and pay-view programs by changing shifting offset. REFERENCES 1.Rivest, R., Shamir, A., Adleman, L., (1978), A method for optaining digital signatures and public-key cryptosystems, Communications of ACM, ss:120-126 2. Coppersmith, D., (1994), The data encryption Standard (DES) and its strenght against attacks, IBM journal of research and development 3. RSA Laboratories, (2000), Frequently asked questions about today's cryptography 4. Taşkın, D., Suçsuz, N., (2006), Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme, IV. Bilgi teknolojileri Kongresi, Denizli 5. Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında başlık şifreleme, Akademik Bilişim 2007, Kütahya 6. Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında operatör işlemlerinin kısıtlanması yoluyla içerik koruma, Akademik Bilişim 2007, Kütahya 7. Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., (1996), Mpeg Video Compression Standard, Chapman and Hall 8. Chang, S., (1995), Compressed Domain Techiques for Image/Video Indexing and Manipulation, IEEE Conference On Image Processing 9. Gilvarry J., (1999), Extraction of Motion Vectors from an MPEG Stream 10. Meng, J., Chang, S., (1995), Tools for Compressed Domain Video Indexing and Editing, SPIE Conference on Storage and Retrieval 11. Patel, N., Sethi, I., (1996), Compressed Video Processing for Cut Detection MPEG VIDEO PROTECTION BY SELECTIVE INVERTING Deniz TAŞKIN, Nurşen SUÇSUZ, Cem Taşkın Trakya University, Engineering and Architecture Faculty, Computer Engineering Department, Edirne-Turkey ABSTRACT Encryption schemes for multimedia data need to be specifically designed to protect multimedia content and fulfill the security requirements for a particular multimedia application. In principle, digital multimedia can be encoded into a bit stream and encrypted in the same way as generic data. Real-time encryption for an entire video stream using classical ciphers requires heavy computation due to the large amounts of data involved, but many multimedia applications require an a much lower level. In this work we consider the process of real time encryption and decryption for video streams. Keywords: Mpeg, video security, selective encryption INTRODUCTION Content confidentiality and access control is generally addressed by encryption. Conventional cryptography and public key cryptography deals with the encryption and decryption of traditional text data. In principle, digital multimedia can be encoded into a bit stream and encrypted in the same way as generic data [1, 2 and 3]. But the biggest problem of encryption and decryption of video streams is real time constrained continuous media. Video frames have to be displayed at a fixed rate called frames per second. If decrypting a video stream takes too much time video playback will be spoiled. The goal of our study is to develop a best performance software-only video stream protection. MPEG STREAM MPEG video compression is used in current and emerging products for digital television and broadcasting. MPEG video can be broken into pieces which are completely viewable because of its hierarchy of layers. The top layer is known as video sequence layer. The second layer is group of pictures, a GOP comprising one or more groups of I,B or P frames and begins with an I frame. Each frame is encoded one of three ways resulting in three different types of frames labeled I, P and B. I Frames are encoded in a manner that is completely self contained. P Frames employ motion compensation as a technique using previous I or B frame as prediction basis. B Frames employ motion compensation in two directions, using both previous I or P frames as well as the subsequent I or P frame. Figure 1. MPEG frame types Each frame regardless of type divided into slices that contain macroblocks. Macroblocks are further divided into 8x8 blocks of pixel. Figure 2 shows a typical MPEG video sequence including two GOP’s. Figure 2. Mpeg sequence with frame relations Mpeg video stream has flexible file structure as a piece taken from entire file can be displayed alone. This is obtained by byte-aligned 32bit patterns called MPEG start codes. These codes as the name would suggest start certain segments of the video stream. The start codes all have a three byte prefix of 23 zero bits followed ‘1’ bit; final byte then identifies the particular start code. The byte alignment is easily maintained in the system layer because the headers are always multiplies of bytes. Table 1 lists some of the start codes in binary format [7]. Table 1. Some of MPEG start codes Prefix 0000 0000 0000 0000 0000 0001 Code Name Group of pictures Picture Sequence End Sequence Error Sequence Start Slice 1 Slice 175 User Data Value 1011 1000 0000 0000 1011 0111 1011 0100 1011 0011 0000 0001 1010 1111 1011 0010 VIDEO ENCRYPTION BY SELECTIVE INVERTING Decoding an MPEG video stream reverses the encoding process one for one. Decoder uses start codes for viewing video stream to spectator. Since the start codes have no direct relation to the content of the video frames, they can be left unencrypted. In our approach we invert binary stream data by XOR operation except start codes. Figure 3. Flowchart of method Developed application opens video stream and reads data to the buffer that sized 100 bytes. Then buffer is searched for start code prefix. If a start code is found, buffer will be inverted except start code else whole buffer will be inverted. After encrypting buffer with XOR operation, encrypted data will be written to destination file. This simple way to encrypt video stream is time and cost friendly. With this method there is no need for heavy computational processes and makes video stream rapidly secure. a) Original video stream b) Encrypted video stream Figure 4. Original and encrypted video sequences CONCLUSIONS Due to unique nature of MPEG stream, the “all-or-nothing” protection in generic data security is not always appropriate. There is need to study the encryption of video stream in a systematic way. This paper focuses of encryption of MPEG videos by selective inverting. New design is suitable for real time applications and makes video secured. REFERENCES 1.Rivest, R., Shamir, A., Adleman, L., (1978), A method for optaining digital signatures and public-key cryptosystems, Communications of ACM, ss:120-126 2. Coppersmith, D., (1994), The data encryption Standard (DES) and its strenght against attacks, IBM journal of research and development 3. RSA Laboratories, (2000), Frequently asked questions about today's cryptography 4. Taşkın, D., Suçsuz, N., (2006), Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme, IV. Bilgi teknolojileri Kongresi, Denizli 5. Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında başlık şifreleme, Akademik Bilişim 2007, Kütahya 6. Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında operatör işlemlerinin kısıtlanması yoluyla içerik koruma, Akademik Bilişim 2007, Kütahya 7. Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., (1996), Mpeg Video Compression Standard, Chapman and Hall 8. Chang, S., (1995), Compressed Domain Techiques for Image/Video Indexing and Manipulation, IEEE Conference On Image Processing 9. Gilvarry J., (1999), Extraction of Motion Vectors from an MPEG Stream 10. Meng, J., Chang, S., (1995), Tools for Compressed Domain Video Indexing and Editing, SPIE Conference on Storage and Retrieval 11. Patel, N., Sethi, I., (1996), Compressed Video Processing for Cut Detection http://fbe.trakya.edu.tr/tujs Trakya Univ J Sci, 8(2): 73–79, 2007 ISSN 1305–6468 DIC: 235DTET820712070108 Araştırma Makalesi / Research Article MPEG AKIMINI GEÇİCİ REFERANS NUMARALARINI KULLANARAK ŞİFRELEME Deniz TAŞKIN, Nurşen SUÇSUZ, Cem TAŞKIN Trakya Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Mühendisliği Bölümü 22100 EDİRNE, Tel: 0544 336 4938, e-posta: [email protected] Alınış: 28 Haziran 2007 Kabul Ediliş: 26 ekim 2007 Özet: Bu çalışmanın amacı, sıkıştırılmış video verisinin güvenlik ihtiyaçlarını karşılayan düşük sistem gereksinimi gerektiren bir yöntem geliştirmektir. Video akımın sıkıştırılması ve açılması aşamaları sistem kaynaklarını kullandığından, şifreleme işlemi için kullanılan ağır algoritmalar, video verisinin gerçek zamanlılık gereksinimini karşılayamamaktadır. Önerilen yöntem, düşük sistem kaynak ihtiyacı ve karmaşıklık seviyesine karşılık sıkıştırılmış video akımına özel şifreleme, taşınabilirlik ve hız sağlamaktadır. Bunlara ilaveten şifrelenen veri miktarını düşürmekte ve şifrelenmiş akımın gerçek zamanlı olarak izlenebilmesine olanak vermektedir. Anahtar Kelimeler: MPEG, Şifreleme, Video kodlama, Video güvenliği Encrypting Mpeg Stream Using Temporal Referance Numbers Abstract: The aim of this study is to develop a method which meets the security needs of the compressed video and needs low system requirements. Since the compress of video stream and the opening process uses the system sources, heavy algorithms that are used for encryption aren't able to deal with the real time necessity of the video data. Proposed method provides special encryption for compressed video stream, mobility and speed for lower system requirements and complexity. Beside this, method reduces encrypted data mount and allows encrypted data to be watched real time. Keywords: MPEG, Encrypting, Video coding, Video security Giriş Video verisi, miktar olarak çok fazla yer kaplamaktadır ve gerçek zamanlılık gibi gereksinimleri bulunmaktadır. Bu yüzden video verisinin şifrelenmesi için genellikle görsel bozulmalara dayanan basit şifreleme metotları kullanılmaktadır. Görsel bozulmaya dayalı şifreleme sistemleri video verisini şifreledikten sonra, görüntü bozuk olarak gösterildiğinden şekil.1’de olduğu gibi bozuk izlenmektedir. Şekil1. Görsel şifreleme Görsel olarak bozulmuş video verisi izleyiciye ulaştığında, görüntüyü çözmeye yarayan özel kod çözücü cihazlar yardımıyla görüntü tekrar izlenebilir hale gelmektedir. Görsel bozulmaya dayalı şifreleme sistemleri analog video verisine uygulanmaktadır. Video verisinin kapladığı alanın büyük olması ve bant genişliği gereksinimlerinden dolayı sıkıştırılması gerekmektedir. MPEG video sıkıştırma yöntemi, günümüz video depolama ve iletiminin temelini teşkil etmektedir. Benzersiz ve yüksek sıkıştırma oranları MPEG video sıkıştırmasını vazgeçilmez kılmıştır. MPEG, büyük miktarda görsel veri içeren ve eşsiz bir yapıya sahip olan videonun özelliklerini kullanarak yüksek sıkıştırma oranlarını yakalamaktadır. Video dosyası sıkıştırıldıktan sonra açıldığında görüntüde fark edilemeyecek düzeyde bir kayıp söz konusudur. MPEG sıkıştırma yöntemi izleyici tarafından fark edilemeyecek alanlarda kaliteyi düşürerek sıkıştırılmış sinyalin kalitesini yüksek tutmaktadır. MPEG basitçe özetlendiğinde birbirini izleyen video çerçevelerinde büyük 74 Deniz TAŞKIN, Nurşen SUÇSUZ, Cem TAŞKIN oranda tekrar eden benzerlikleri ve insan gözünün algılayamayacağı düzeydeki detayları yok sayarak yüksek oranda sıkıştırma sağlamaktadır (Mitchell, J.L. ve Ark. 1996). Görsel bozulmalara dayalı şifreleme sistemleri (Nagravision,…) video verisinin görsel özelliklerini bozmaktadır. Görsel bozulmaya dayalı klasik şifreleme yöntemleri MPEG sıkıştırma yöntemi ile verimli sıkıştırılamazlar. Görsel özellikleri bozulmuş bir video akımı sıkıştırıldığında sıkıştırma oranı çok düşük olmaktadır. MPEG sıkıştırma yöntemi kayıplı bir sıkıştırma yöntemi olduğundan şifrelenmiş bir görüntünün sıkıştırıldıktan sonra şifresinin çözülmesi durumunda görüntüde büyük oranda bozulmalar görülmektedir. Bu çalışma, video verisinin güvenlik gereksinimlerini karşılama için gerçek zamanlı ve sıkıştırma oranlarını düşürmeden çalışabilecek düzeyde yeni bir yöntemi öne sürmektedir. Geleneksel görsel bozulmaya dayalı şifreleme metodu ve kırılması Bölüm 2’de anlatıldıktan sonra Bölüm 3’te Mpeg video sıkıştırma metodundan bahsedilecektir. Ardından Bölüm 4’te Mpeg video çerçevelerinin özellikleri incelenecektir ve alternatif yöntem Bölüm 5’te anlatılacaktır. Çalışma, sonuçların Bölüm 6’da açıklanacaktır. Görsel Bozulmaya Dayalı Şifreleme Video verisi, miktar olarak çok fazla yer kaplamaktadır. Bu yüzden güvenliğinin sağlanmasında basit şifreleme metotları kullanılmaktadır. Buna örnek olarak, yakın bir zamana kadar üyelerine yayınlarını ücretli olarak sunmak için Nagravision sistemini kullanan ulusal bir televizyon kanalı verilebilir. Nagra Kudelski tarafından geliştirilen Nagravision sistemi analog video verisi üzerinde çalışmaktadır ve PAL televizyon yayınlarında kullanılmaktadır. Şekil.2 Nagravision şifreleme aşamalarını göstermektedir. a) Blok karıştırma b) Yatay konumların değiştirilmesi Şekil 2. Nagravision şifreleme aşamaları Nagravision şifreleme metodu, görüntüyü satırlara ayırmakta ve yerlerini bloklar halinde karıştırmaktadır. Bu karıştırma işlemi video görüntüsünü oluşturan her bir kareye aynı şekilde uygulanmaktadır. Şifreyi kırmak isteyen saldırgan blok karıştırma sırasını bir kez çözdüğü takdirde, bu sıra hiç değişmediğinden sistemi kolayca etkisiz hale getirebilmektedirler. Bu yüzden Nagravision şifreleme sisteminden sonra ikinci bir şifreleme aşaması kullanılmaktadır. İzleyiciye üyelik sistemi tarafından sağlanan akıllı kart üzerinde bulunan ikinci bir şifreleme algoritması, blokların yatay konumlarını 256 farklı kesim noktasından birisini kullanarak değiştirmektedir. Saldırgan için tamamen rastlantısal sayılabilecek olan bu kesim noktaları akıllı kart olmadan belirlenememektedir. Bu şifreleme sistemi günümüzde teknolojinin gelişmesi ile; uygun şifre çözücü cihaz ve akıllı kart kullanılmadan yazılım ile gerçek zamanlı kırılabilmektedir. Çok fazla karmaşıklık içermeyen şifreleme sistemi yine 2 adımda kırılmaktadır. Yerleri değiştirilen blokların yer değiştirilme sırasının sabit olması, sistemin en zayıf olduğu noktasıdır. Deneme yolu ile bu sabit dizilimi belirlemek mümkündür. Şekil.3 blokların örnek parlaklık değerlerini göstermektedir. Şekil 3. Örnek blok parlaklık değerleri Akıllı kart tarafından ise sistemin ikinci adımında gerçekleştirilen blokların kendi arasında yatay konumlarının kesilerek değiştirilmesi gerçekleştirilmektedir. Saldırgan, elinde akıllı kart olmadan 256 farklı değerden birisini tespit etmek için bloğun parlaklık değerlerini bir üst bloğun parlaklık değerleriyle karşılaştırmaktadır. Birbirine çok yakın parlaklık değerleri elde edildiğinde blokların yatay konumları kolaylıkla belirlenmektedir. Nagravision şifreleme sistemi, görsel bozulmaya dayanan ve çıktığı yıllarda son derece güvenli sayılan fakat son Mpeg Akımını Geçici Referans Numaralarını Kullanarak Şifreleme 75 yıllarda resim işleme metotları kullanılarak anahtar bilgisi olmadan kırılabilen bir şifreleme sistemi olarak anılmaktadır. MPEG Video Sıkıştırma Metodu MPEG sıkıştırma metodu, verideki fazla ve gerekli olmayan görüntü bilgisini yok ederek hareketli resim dizilerini kaydetmek için gerekli olan bellek miktarını önemli derecede azaltmaktadır. Saklama hacmi olarak toplamda daha az bit kullanılması hareketli resimlerin çok daha hızlı bir şekilde transfer edilmesi anlamına gelmektedir. Böylece pahalı haberleşme hatların ve depolama cihazları bu yeni hareketli resim uygulamalarında daha verimli kullanılmaktadır. MPEG sıkıştırma metodu, kullandığı birçok yöntem sayesinde yüksek sıkıştırma oranları yakalamaktadır. Bir hareketli resim dizisindeki iki komşu çerçeve genellikle birbirlerine çok benzerler. Resmin bazı kısımları çerçeveler arasında çok küçük miktarda yer değiştirmektedir. MPEG sıkıştırma metodu her yeni çerçeveyi uygun bir şekilde bölümlere ayırıp, bu bölümlerin nereden geldiğini belirlemek için bir önceki çerçeveyi araştırarak meydana gelmiş olan zamansal fazlalıkları atmaktadır. Bir çerçevenin içeriğinin çoğu bir önceki çerçevede de bulunuyorsa, o çerçevenin tekrardan gönderilmesi depolama ve aktarım kaybı yaratmaktadır. Bütün çerçeveyi göndermek yerine, bir önceki çerçeve referans alınarak farklılıkların gönderilmesi akım hacmini düşürmektedir. Tek bir çerçeve içindeki, gökyüzü ya da duvar bölgeleri gibi birçok parça tamamıyla aynı renktedir. MPEG sıkıştırma, görüntüyü uygun bir şekilde bölümlere ayırarak ve gökyüzü, duvar gibi parçaları tek bir renge indirgeyerek fazlalıkları atmaktadır. İnsan gözü, bir noktadaki parlaklık değişikliğini renk değişikliğine göre daha çok fark etmektedir. MPEG sıkıştırma metodu, RGB renk uzayını YUV renk uzayına dönüştürerek UV ile temsil edilen renkleri daha az yer kaplayacak şekilde daraltmaktadır. Y ile temsil edilen parlaklık değerleri ise insan gözünün parlaklık değişikliklerine olan yüksek hassasiyetinden dolayı değiştirilmemektedir. Şekil.4 RGB renk uzayından YUV renk uzayına dönüşümü ve sıkıştırma işlemini göstermektedir. a) RGB YUV dönüşümü b) 4:2:2 sıkıştırma c) 4:2:0 sıkıştırma Şekil 4. Renk uzayı dönüşümleri ve sıkıştırma Ara çerçeve tahmini Sıkıştırılmamış video dosyalarının aksine MPEG yöntemi ile sıkıştırılmış video dosyalarında 3 farklı çerçeve tipi vardır. Birbirini takip eden çerçeveler arasında az bir görsel fark olduğunda çerçevenin tamamı dosyaya aktarılmaz. Ara çerçeve tahmini, ardıl çerçevelerdeki benzerlikleri avantaj olarak kullanmaktadır. Öncelikle tam bir referans çerçeve seçilmekte ve ardından takip eden çerçeveler bu referans çerçeve ile olan farklılıklar kodlanmak suretiyle ifade edilmektedir. Referans çerçeveye ara kodlanmış çerçeve ya da I-çerçevesi denilmektedir. I-çerçevesi P ve B tipi çerçeveleri tahmin etmek için kullanılmaktadır. Şekil.5’te bu çerçeveler ve aralarındaki ilişkiler gösterilmektedir. a) I çerçevesi: Tam bir video resmidir. Gösterilebilmesi için başka bir resme ihtiyaç yoktur. En çok veriyi kapsamaktadır. b) P çerçevesi: Bir önceki çerçevedeki farklılıkları şifrelemektedir. Gösterilebilmesi için bir önceki I çerçevesine ihtiyaç duymaktadır. B çerçevesinden daha fazla yer kaplamaktadır. c) B çerçevesi: Bir önceki yada daha sonraki çerçevedeki farklılıkları kodlamaktadır. I çerçevesindeki verinin en az %25ini içermektedir. Gösterilebilmesi için bir önceki ya da sonraki P çerçevesine ihtiyaç duymaktadır. Trakya Univ J Sci, 8(2), 73–79, 2007 76 Deniz TAŞKIN, Nurşen SUÇSUZ, Cem TAŞKIN Şekil 5. Mpeg Çerçeve Tipleri MPEG Video Çerçeveleri MPEG video akımında görüntüyü izlenebilir hale getiren birime, kod çözücü denilmektedir. Kod çözücü birim, bir uygulama yazılımı olabildiği gibi akıma özel tasarlanmış bir donanım da olabilmektedir. Bu birimin MPEG sıkıştırma yönteminde kullanılan tüm sıkıştırma aşamalarını eksiksiz olarak yerine getirmesi gerekmektedir. Şekil.6’da örnek bir video akımında çerçeve tiplerine göre sıralanışı gösterilmektedir. Sıra Çerçeve Tipi 1 I 2 B 3 B 4 P 5 B 6 B 7 B 8 B 9 B 10I 11 B 12 B 13 P 14B 15 B 16 P Şekil 6. Örnek Video Akımı Video akımının izlenebilir olması için aşılması gereken sorunlardan biri, MPEG video çerçevelerinin sıralanması işlemidir. MPEG akımında 3 tip çerçeve bulunmakta, B ve P tipi çerçevelerinin gösterilebilmesi için referans çerçevelere ihtiyaç duyulmaktadır. Şekil.6’da yer alan 2. çerçeve olan B çerçevesinin gösterilebilmesi için 4. çerçeve olan P çerçevesine ihtiyaç duyulmaktadır. Kod çözücü birimin 2. çerçeveyi gösterirken 4. çerçeveye ait bilgilere de kullanmak zorundadır. Sıralar ardıl olmadığından bu sorunun aşılması için; MPEG video akımında çerçevelerin gösterim sırası ile akım içindeki sıraları farklı tutulmaktadır. Şekil.7’de örnek bir video akımında bu sıralar gösterilmektedir. Sıra 1 Çerçeve Tipi I a) Gösterim sırası 2 B 3 B 4 P 5 B 6 B 7 P 8 B Sıra Çerçeve Tipi b) Akım sırası 4 P 2 B 3 B 7 P 5 B 6 B 10I 1 I 9 B 8 B 10I 11 B 9 B 12 B 13P 11 B 13P 14 B 12 B 15 B 16P 14 B 16P 15 B Şekil 7. Video gösterim ve akım sıraları Mpeg dosyalarında kod çözücü birimin gösterim sıralarını tespit edebilmesi için, geçici referans numarası adı verilen 10 bitlik bir numara ve 3 bitlik çerçeve tipi ile ilgili bir bilgi şekil.8’de olduğu gibi, çerçevenin içeriğinden önce ikili kodlanmış akıma dâhil edilmektedir. 1 2 3 4 9 10 Geçici Referans Numarası 11 12 Çerçeve Tipi 001=I Çerçevesi 010=P Çerçevesi 011=B Çerçevesi 5 6 7 13 Şekil 8. Geçici referans numarası ve çerçeve tipi bit dağılımı 8 Mpeg Akımını Geçici Referans Numaralarını Kullanarak Şifreleme 77 MPEG Akımının Şifrelenmesi MPEG akımında görsel bozulmaya dayalı şifreleme işlemi yapmak kayıplı bir sıkıştırma metodu olduğundan uygun değildir. Ayrıca görsel bozulmaya dayalı şifreleme sistemlerinin video işleme metotları kullanarak kırılabileceği yukarıda açıklanmıştır. Bu yüzden, görsel bozulmaya dayalı bir şifreleme algoritması kadar basit ve düşük maliyetli bir şifreleme için MPEG sıkıştırma algoritmasına uyumlu bir metot geliştirilmelidir. Sıkıştırılmış video akımının şifrelenmesi için Taşkın ve Ark. (2007) tarafından yapılan bir çalışma akımın tamamının şifrelenmesi durumunda ortaya çıkan güvenlik zaaflarını açıkça göstermektedir. Kendine has bir yapısı olan Video verisinin düz metin gibi şifrelenmesi, şifreyi çözmek isteyen saldırgana açık noktalar bırakmaktadır. Çalışma, akımın bütününün yerine belli bir kısmının şifrelenmesinin daha fazla güvenlik sağlayacağını açıkça göstermektedir. MPEG akımını şifrelemek için geliştirilen diğer bir yaklaşımda, akımın gösterilebilmesi için hayati önem taşıyan başlık bilgilerinin akımdan çıkartılması şeklindedir. Akımın yaklaşık %1’ini içeren başlık bilgileri akımdan çıkartılıp başka bir dosyada tutulmaktadır. Başlık bilgilerinin akımdan çıkartılması akımı bozmakta ve kod çözücü birim için anlamsız bir dosya haline getirmektedir. Kod çözücü birim yapısı bozulmuş akımı işleyememekte ve akımda hata olduğunu kullanıcıya iletmektedir. Bu yöntemin dezavantajı da, akımın yapısı tamamen bozulmakta ve başlık bilgilerini tutacak ikinci bir dosyaya ihtiyaç duyulmaktadır (Taşkın ve Ark. 2007). MPEG video akımının doğru olarak gösterilebilmesi için geçici referans numaraları çok önemlidir. Bir MPEG video akımında her bir çerçevenin geçici referans numarası bulunmaktadır. Saniyede 30 çerçeve gösterim oranına sahip bir akımda, bir dakikalık görüntüde yaklaşık 2KB yer kaplayan 1800 adet geçici referans numarası vardır. Geçici referans numarası bilinçli şekilde bozulmuş bir video akımının şifreli olduğu kod çözücü birim tarafından fark edilememektedir. Kod çözücü birim hatalı referans numaralarını kullanarak akımın kodunu çözdüğünde görsel olarak bozuk bir görüntü elde edilmektedir. Şekil.9’da kod çözücünün şifreli görüntüyü nasıl gösterdiği görülmektedir. a) Orijinal görüntü b) Şifrelenmiş görüntü Şekil 9. Orijinal görüntü ve bit kaydırma işlemi sonrası izlenebilen görüntü Referans numaralarının bilinçli şekilde bozulması için bit kaydırma işlemi gerçekleştirilmiştir. Geliştirilen metotta referans numarası içeren 10 bitlik veri bir sonraki 10 bitlik veri ile yer değiştirilmektedir. Bit bazında, akım çözülmeden yer değiştirme işlemi yapıldığından yöntemin kaynak ihtiyacı çok düşük olmaktadır. a) Resim başlangıç kodu 00 D7 38 0000 0000 1101 0111 0011 1000 0101 1100 1110 0000 0000 0011 5C E0 03 b) Byte akımının şifrelenmesi Trakya Univ J Sci, 8(2), 73–79, 2007 78 Deniz TAŞKIN, Nurşen SUÇSUZ, Cem TAŞKIN c) Şifrelenmiş akım Şekil 10. Bit kaydırma işlemi ile şifrelenmiş akım Akımın tümünün geleneksel şifreleme metotlarıyla şifrelenmesi video verisinin gerçek zamanlılık ihtiyacından dolayı mümkün olmamaktadır. Güvenliği daha da yüksek tutmak için bit değişim işlemi dışında, geçici referans numaralarını bozabilecek geleneksel şifreleme yöntemi kullanılabilmektedir. Bu sayede akımın belli bir kısmı geleneksel şifreleme algoritmalarıyla şifrelenmekte ve zaman kayıpları en düşük düzeyde tutulmaktadır. Sonuçlar Burada önerilen yöntem ve diğer şifreleme yöntemleri aynı dosyaya uygulanmış ve elde edilen sonuçlar aşağıda tablo.1’de gösterilmiştir. Yöntem Tablo 1. MPEG dosyalarında şifreleme yöntemlerinin hızları Yöntem Türü Dosya Şifreleme Boyutu Zamanı(sn) Hız (Mbit/s) RSA (8 Bit anahtar) Geleneksel 309MB 47.23 52 MPEG akımında başlık şifreleme Kısmi 309MB 27.89 89 Kısmi 309MB 26.50 93 Başlık dışında şifreleme Geleneksel + Kısmi 309MB 46.82 52 Seçimli XOR işlemi ile MPEG video akımını koruma Kısmi 309MB 27.71 89 Byte dağılımını değiştirerek MPEG video akımını koruma Kısmi 309MB 26.22 94 Sıkıştırılmış video akımının düzensiz haritalar ve başlangıç kodlarına dayalı şifrelenmesi Kısmi 309MB 30.60 81 Önerilen Yöntem Kısmi 309MB 26.40 93 MPEG akımında operatör kısıtlanması yoluyla içerik koruma işlemleri-nin Sonuç olarak önerilen yöntem, geleneksel yöntemin yaklaşık iki katı şifreleme hızına ulaşmaktadır. Gerçek zamanlı uygulamalar için yöntemin hızı yeterli seviyededir. Tartışma Bu çalışmada MPEG video akımının şifrelenmesi üzerine yeni bir yaklaşım önerilmektedir. Yeni geliştirilen yöntem, MPEG kodlama yapısına özel geliştirildiğinden, veri bütünün şifrelenmesi gereken kısımlarını kendisi belirlemektedir. Video akımının tamamı şifrelenmediğinden ve akımın kodu çözülmeden bit düzeyinde işlemler içerdiğinden önerilen yöntemin kaynak ihtiyacı çok düşük olmaktadır. Geçici referans numaralarının şifrelenmesi MPEG akımının yapısını bozmamakta ve şifrelenmiş akım kod çözücü birim tarafından bozuk şekilde de olsa gösterilebilmektedir. Görsel olarak şifrelenmemesine rağmen kodu çözüldüğünde görsel olarak bozukluk yaratan yöntem, şifreyi kırmaya çalışan saldırganları da yanıltmaktadır. Mpeg Akımını Geçici Referans Numaralarını Kullanarak Şifreleme 79 Kaynaklar Kuhn, M. G., Analysis of the nagravision video scrambling method, 1998 Taşkın, D., Sucsuz, N. ve Taşkın, C., Sıkıştırılmış video güvenliği, e-Journal of New World Sciences Academy, Volume: 2, Number:3 (Basımda), 2007 Taşkın, D., ve Suçsuz, N., Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme, IV. Bilgi teknolojileri Kongresi, Denizli, 2006 Taşkın, D., Taşkın, C., and Suçsuz, N., MPEG akımında başlık şifreleme, Akademik Bilişim, Kütahya, 2007 Taşkın, D., Taşkın, C., and Suçsuz, N., MPEG akımında operatör işlemlerinin kısıtlanması yoluyla içerik koruma, Akademik Bilişim, Kütahya, 2007 Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., Mpeg Video Compression Standard, Chapman and Hall, 1996 Chang, S., Compressed Domain Techiques for Image/Video Indexing and Manipulation, IEEE Conference On Image Processing, 1995 Gilvarry, J., Extraction of Motion Vectors from an MPEG Stream, 1999 Meng, J., and Chang, S., Tools for Compressed Domain Video Indexing and Editing, SPIE Conference on Storage and Retrieval, 1995 Patel, N., and Sethi, I., Compressed Video Processing for Cut Detection, 1995 Rivest, R., Shamir, A., and Adleman, L., A method for optaining digital signatures and public-key cryptosystems, Communications of ACM, 1978 Coppersmith, D., The data encryption Standard (DES) and its strenght against attacks, IBM journal of research and development, 1994 RSA Laboratories, Frequently asked questions about today's cryptography, 2000 Trakya Univ J Sci, 8(2), 73–79, 2007 ‘ INTERNATIONAL SCIENTIFIC CONFERENCE 23 – 24 November 2007, GABROVO 07 SELECTIVE ENCRYPTION OF COMPRESSED VIDEO FILES Deniz TAŞKIN [email protected] Trakya University – Computer Engineering Department Cem TAŞKIN [email protected] Kırklareli University Vocational Collage of Technical Sciences Nurşen SUÇSUZ [email protected] Trakya University Computer Engineering Department Abstract Video encryption is the most emerging subject in digital multimedia. Digital video files can be encrypted by conventional methods. These approaches are called naive approach and require plenty of system resources. For real time encryption of video files and video stream, we offer selective encryption based on RSA asymmetrical encryption method. Keywords: Compressed video, selective encryption, MPEG. INTRODUCTION A major challenge now is the protection of visual property of multimedia content in networks. Content protection is provided by cryptography. In public key cryptosystem, there are two keys: a public key which is publicly known and the private key which is kept secret by the owner. The system called asymmetric because different keys are used for encryption and decryption. If data are encrypted with a public key, it can only be decrypted using corresponding private key. Due to the increase in processor speed on even more to smart cryptanalysis, the key size for public key cryptography grew very large. This created a disadvantage in asymmetric key cryptosystems. Public key cryptography is slower and requires a large memory capacity and large computational power. To solve these problems and In order to meet real-time constraint for video playback we offer selective encryption approach. SELECTIVE VIDEO ENCRYPTION Selective encryption is the technique of encrypting some parts of a compressed data file while leaving others unencrypted. It is a strategy that small fraction of encrypted bits can cause a high ratio of damage to a file. Instead of encrypting the whole file bit by bit, only highly sensitive bits are changed as seen in fig. 1. Moreover selective encryption reduces required total encryption work and saves system resources. We suggest a technique that selectively encrypts some parts of compressed video file while guaranteeing the security of the original file. We are not saving the time for encrypting video file, but also system complexity. Stream direction Æ Non Non Selective Important Important Encryption Important Important Fig. 1. Selective encryption Selective encryption may not be effective if the subset is small and it’s relatively easy to guess. For ixstanxe obsxurinx everx fiftx lettxr of ax Englxsh sextencx does xot maxe it pxrticxlarlx hard xo read. This makes compression standard very important and have to be studied for making a perfect selective video encryption. MPEG VIDEO COMPRESSION Mpeg standard is commonly preferred as a versatile solution of compressing video data because of its higher compression ratio. It is still Международна научна конференция “УНИТЕХ’07” – Габрово I-243 largely employed in video compression and communication industry. The key of higher compression ratio is similarity between pictures in a sequence. A video sequence is simply a series of pictures taken at closely spaced intervals in time. These pictures tend to be quite similar from one to next. Mpeg compression system takes advantage of this similarity. Mpeg video bitstream also has syntactical layers for effective coding video. Fig. 2 gives an overview of layers in mpeg video sequences. Fig. 2. Mpeg video layers Mpeg video layers are marked with a unique start code. A video sequence always starts with a sequence header. The sequence header is followed at by least one or more groups of pictures (GOP). A group of pictures always starts with a GOP header and is followed by at least one picture. Each picture in the group of pictures has a picture header followed by one or more slices. In turn, each slice is made up of a slice header and one or more groups of DCT blocks called macroblocks. The first slice starts in the upper left corner of picture and the last slice ends in the lower right corner. The Slices must completely fill the picture. The macroblock is group of six 8x8 DCT blocks. Mpeg decoder software parses the video stream using video headers to produce viewable frames. Once a layer cannot be parsed, parsing procedure starts from video sequence layer which is also called the beginning layer. Mpeg start codes are very important for decoding video bit stream because layers don’t have specific fixed locations in file structure. Table 1 show video headers of Mpeg compressed video stream in binary format. I-244 Table 1. Video headers Prefix 0000 0000 0000 0000 0000 0001 Code Name Group of pictures Picture Sequence End Sequence Error Sequence Start Slice 1 Slice 175 Value 1011 1000 0000 0000 1011 0111 1011 0100 1011 0011 0000 0001 1010 1111 SUGGESTED METHOD Selective encryption methods are preferred to make digital video secure because of their storage size. Compressed video stream consist small amounts of repeated data and can be affected deeply from some of corrupted bits. Mpeg decoders use start codes for making video stream viewable. This makes them valuable for using in selective encryption. We chose picture start codes for selective encryption. Fig. 3 shows flow chart of selective encryption used for making secure video stream. Международна научна конференция “УНИТЕХ’07” – Габрово CONCLUSION While the ratio of encryption is about %1, we could damage the whole visual information. Due to unique nature of MPEG stream, the “all-ornothing” protection in generic data security is not always appropriate. This paper focuses of encrypting MPEG videos by selective encryption. New design is suitable for real time applications and rapidly makes video secured. Table 2. Comparison chart File Size (Mb) 309 Encrpting Time (sec) Speed (Mbit/sec) 47.23 52 Header crypting in MPEG stream 309 27.89 89 Content protection in MPEG stream by disabling operator movements 309 26.50 93 MPEG video protection by selective inverting 309 27.71 89 MPEG video protection by changing byte alignment 309 26.22 94 Encrypting of compressed video stream based on chaotic maps and start codes 309 30.60 81 Suggested method 309 26.12 99 Method RSA (8 Bit key) Fig. 3. Flowchart of selective encryption Because of encrypted picture start codes, mpeg decoder software or hardware unit cannot find any picture for viewing. Fig. 4 shows C# implementation of suggested selective encryption method. As seen in table 2, suggested method reaches up to 99 Mbit/sec encrypting speed which is nearly double of conventional methods’ and enough to cover real-time requirements. REFERENCE Fig. 4. C# implementation of encryption method [1] Rivest, R., Shamir, A., Adleman, L., (1978), A method for optaining digital signatures and publickey cryptosystems, Communications of ACM, ss:120-126 [2] Coppersmith, D., (1994), The data encryption Standard (DES) and its strenght against attacks, IBM journal of research and development [3] RSA Laboratories, (2000), Frequently asked questions about today's cryptography [4] Taşkın, D., (2007), Encrypting Of Compressed Video Stream Based On Chaotic Maps And Start Codes, PhD Thesis, T.C. Trakya University, Graduate School Of Natural And Applied Sciences, Department Of Computer Engineering. [5] Taşkın, D., Suçsuz, N., (2006), Sıkıştırılmış ortamda çerçeve tipine dayalı gerçek zamanlı sahne değişimi belirleme, IV. Bilgi teknolojileri Kongresi, Denizli Международна научна конференция “УНИТЕХ’07” – Габрово I-245 [6] Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında başlık şifreleme, Akademik Bilişim 2007, Kütahya [7] Taşkın, D., Taşkın, C., Suçsuz, N., (2007), MPEG akımında operatör işlemlerinin kısıtlanması yoluyla içerik koruma, Akademik Bilişim 2007, Kütahya [8] Mitchell, J.L., Pennebaker, W.B., Fogg, C.E. ve Legal, D.J., (1996), Mpeg Video Compression Standard, Chapman and Hall I-246 [9] Chang, S., (1995), Compressed Domain Techiques for Image/Video Indexing and Manipulation, IEEE Conference On Image Processing [10] Gilvarry J., (1999), Extraction of Motion Vectors from an MPEG Stream [11] Meng, J., Chang, S., (1995), Tools for Compressed Domain Video Indexing and Editing, SPIE Conference on Storage and Retrieval [12] Patel, N., Sethi, I., (1996), Compressed Video Processing for Cut Detection Международна научна конференция “УНИТЕХ’07” – Габрово T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SIKIŞTIRILMIŞ VİDEO AKIMININ DÜZENSİZ HARİTALAR VE BAŞLANGIÇ KODLARINA DAYALI ŞİFRELENMESİ Deniz TAŞKIN Doktora Tezi Bilgisayar Mühendisliği Anabilim Dalı Danışman: Yrd. Doç Dr. Nurşen Suçsuz Edirne 2007 T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SIKIŞTIRILMIŞ VİDEO AKIMININ DÜZENSİZ HARİTALAR VE BAŞLANGIÇ KODLARINA DAYALI ŞİFRELENMESİ Deniz TAŞKIN Doktora Tezi Bilgisayar Mühendisliği Anabilim Dalı Bu tez 06/07/2007 tarihinde aşağıdaki jüri tarafından kabul edilmiştir. Prof.Dr. Şaban EREN Başkan Yrd.Doç.Dr. Nurşen SUÇSUZ Danışman Yrd.Doç.Dr. Seyfettin DALGIÇ Üye Yrd.Doç.Dr. Cavit TEZCAN Üye Yrd.Doç.Dr. Erdem UÇAR Üye ŝ ÖZET Doktora Tezi, Sıkıştırılmış Video Akımının Düzensiz Haritalar ve Başlangıç Kodlarına Dayalı Şifrelenmesi, T.C. Trakya Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı. Bu çalışmanın amacı, kendine has bir yapısı olan video akımın şifrelenmesi için yeni bir yöntem geliştirmektir. Görsel veriye artan ilgi sebebiyle video dosyaları günlük yaşantıda çok sık kullanılmaktadır. Bu artan ilgi sebebi ile video dosyalarının güvenliği de ön plana çıkmaktadır. Uzunca bir süredir metin dosyalarının güvenliğini başarılı şekilde koruyan geleneksel şifreleme yöntemleri, video dosyalarının güvenliğini sağlamak için yetersiz kalmaktadır. Bu yöntemler video dosyalarına uygulandığında, şifreyi kırmak isteyen kişilere açık noktalar bırakmaktadır. Video dosyaları büyük alan kapladıkları için şifreleme süresi de uzamaktadır. Video dosyalarının şifrelenmesi için kullanılan yöntemler kısmi şifrelemeye yöneliktir. Kısmi şifreleme uygulanacak bölgelerin seçimi şifreleme güvenliği açısından çok önemlidir. Bu çalışma, kısmi şifreleme, düzensiz haritalar ve başlangıç kodları üzerine yapılmış özgün bir çalışmadır. Bu tez 2007 yılında yapılmıştır ve 92 sayfadan oluşmaktadır. ANAHTAR KELİMELER: MPEG kodlama, Kısmi şifreleme, Düzensiz haritalar, Başlangıç kodları, DCT ŝŝ ABSTRACT PhD Thesis, Encrypting Of Compressed Video Stream Based On Chaotic Maps And Start Codes, T.C. Trakya University, Graduate School Of Natural And Applied Sciences, Department Of Computer Engineering. The purpose of this research is developing a new method for encrypting video stream that has particular structure. Because of increasing interest in visual data, video files are commonly used in daily life. Because of this interest, video files security become more important. Successfully used for securing textual data for long times, traditional encryption methods are insufficient for keeping video files secure. When these methods are used for video files, leaked information can be used by the attacker. While video files cover large amounts of storage, encryption time is also extended. Methods used for encryption video files, are based on selective encryption. Selection of areas which are used for selective encryption is very important for encryption security. This work is an original research based on selective encryption, chaotic maps and start codes. This thesis is done in 2007 and consists of 92 pages. KEYWORDS: MPEG Coding, Selective encryption, Chaotic maps, Start codes, DCT ŝŝŝ İÇİNDEKİLER ÖZET ............................................................................................................................ i ABSTRACT ................................................................................................................. ii ŞEKİLLER TABLOSU ................................................................................................ v ÇİZELGELER TABLOSU ........................................................................................ viii 1. GİRİŞ ................................................................................................................... 1 2. VİDEO VERİSİ .................................................................................................... 4 2.1. Renk Uzayları ............................................................................................... 5 2.1.1. RGB renk uzayı ..................................................................................... 6 2.1.2. YUV renk uzayı ..................................................................................... 7 2.1.3. YIQ renk uzayı ...................................................................................... 8 2.1.4. YCbCr renk uzayı .................................................................................. 9 2.1.4.a. 4:4:4 YCbCr biçimi ............................................................................. 10 2.1.4.b. 4:2:2 YCbCr biçimi ............................................................................. 10 2.1.4.c. 4:1:1 YCbCr Biçimi ............................................................................. 11 2.1.4.d. 4:2:0 YCbCr biçimi ............................................................................. 12 2.1.5. HSI, HLS ve HSV renk uzayları .......................................................... 13 2.2. Video Sinyalleri .......................................................................................... 15 2.3. Sayısal Video .............................................................................................. 17 3. VİDEO SIKIŞTIRMA......................................................................................... 19 3.1. MPEG Video Sıkıştırma Yöntemi ............................................................... 20 3.2. I Çerçevesi .................................................................................................. 22 3.2.1. Renk uzayı dönüşümü ve örnekleme .................................................... 22 3.2.2. İç-çerçeve sıkıştırma ............................................................................ 24 3.2.2.a. Ayrık kosinüs dönüşümü ..................................................................... 25 3.2.2.b. Nicelendirme ....................................................................................... 27 3.2.2.c. Zig-Zag tarama .................................................................................... 28 3.2.2.d. Değişken uzunlukta kodlama ............................................................... 29 3.3. P Çerçevesi ................................................................................................. 31 3.3.1. Ara-çerçeve sıkıştırması ve hareket kodlama........................................ 32 3.4. B Çerçevesi................................................................................................. 33 4. MPEG AKIMININ ÇÖZÜLMESİ ...................................................................... 35 4.1. Başlangıç Kodları ....................................................................................... 36 4.1.1. Akım başlangıç kodu ........................................................................... 37 4.1.2. Resim grubu başlangıç kodu ................................................................ 38 4.1.3. Resim başlangıç kodu .......................................................................... 40 4.1.4. Dilim başlangıç kodu ........................................................................... 41 4.1.5. Makro blok ve blok başlangıcı ............................................................. 42 5. İÇERİK KORUMA............................................................................................. 44 5.1. Görsel Şifreleme........................................................................................... 45 5.2. Geleneksel Şifreleme .................................................................................. 47 5.3. Kısmi Şifreleme .......................................................................................... 49 5.4. Düzensiz Haritalar Kullanarak Şifreleme .................................................... 50 6. VİDEO ŞİFRELEME KONUSUNDA DAHA ÖNCE YAPILMIŞ ÇALIŞMALAR .......................................................................................................... 51 ŝǀ 6.1. SECMPEG.................................................................................................. 51 6.2. AEGIS ........................................................................................................ 53 6.3. Zig-Zag Permütasyon Algoritması .............................................................. 53 6.4. VEA Video Şifreleme Algoritması .............................................................. 55 6.5. Video Şifreleme Algoritmaları .................................................................... 57 6.5.1. Algoritma I .......................................................................................... 58 6.5.2. Algoritma II (VEA) ............................................................................. 58 6.5.3. Algoritma III(MVEA).......................................................................... 59 6.5.4. Algoritma IV(RVEA) .......................................................................... 61 6.6. Video Şifreleme Metotları ........................................................................... 62 6.7. MHT Şifreleme Metodu ve MSI kodlayıcısı ................................................ 63 6.8. Biçim Uyumlu Şifreleme ............................................................................ 64 6.9. Seçimli Karıştırma Algoritması ................................................................... 64 7. SIKIŞTIRILMIŞ VİDEO AKIMININ DÜZENSİZ HARİTALAR VE BAŞLANGIÇ KODLARINA DAYALI ŞİFRELENMESİ.......................................... 66 7.1. MPEG Akımında Başlık Şifreleme.............................................................. 66 7.2. MPEG Akımında Operatör İşlemlerinin Kısıtlanması Yoluyla İçerik Koruma ................................................................................................................... 69 7.3. Sıkıştırılmış Video Güvenliği ...................................................................... 71 7.4. Seçimli XOR İşlemi İle MPEG Video Akımını Koruma.............................. 73 7.5. Byte Dağılımını Değiştirerek MPEG Video Akımını Koruma ..................... 74 7.6. Önerilen Yöntem ........................................................................................ 75 7.6.1. Algoritma I .......................................................................................... 76 7.6.2. Algoritma II ......................................................................................... 78 8. SONUÇ .............................................................................................................. 80 EK-A:DEĞİŞKEN UZUNLUKTA KODLAMA ÇİZELGELERİ ............................... 83 EK-B: KISALTMALAR ............................................................................................. 85 KAYNAKLAR ........................................................................................................... 86 TEŞEKKÜR ............................................................................................................... 91 ÖZGEÇMİŞ................................................................................................................ 92 ǀ ŞEKİLLER TABLOSU Şekil 2.1. Video, bir grup hareketsiz görüntüden oluşmaktadır ................................... 5 Şekil 2.2. RGB renk uzayı.......................................................................................... 7 Şekil 2.3. UV renk bileşenleri .................................................................................... 8 Şekil 2.4. I ve Q renk bileşenleri ................................................................................ 9 Şekil 2.5. 4:4:4 YCbCr biçimi .................................................................................. 10 Şekil 2.6. 4:2:2 YCbCr biçimi .................................................................................. 11 Şekil 2.7. 4:1:1 YCbCr biçimi .................................................................................. 11 Şekil 2.8. MPEG İçin YCbCr örneklemeleri............................................................. 12 Şekil 2.9. HLS renk uzayı ........................................................................................ 13 Şekil 2.10. Altıgen huni şeklinde HSV renk uzayı .................................................... 14 Şekil 2.11. Çift altıgen huni şeklinde HSI renk modeli ............................................. 15 Şekil 2.12. Video çerçevelerinin taranması............................................................... 16 Şekil 2.13. Analog siyah-beyaz video sinyali ........................................................... 16 Şekil 2.14. Renkli analog video sinyali .................................................................... 17 Şekil 2.15. Analog videonun sayısallaştırılması........................................................ 18 Şekil 3.1. Mpeg çerçeve tipleri ................................................................................. 21 Şekil 3.2. I çerçevesinin kodlanması ........................................................................ 22 Şekil 3.3. Değişik Y değerlerine karşılık CbCr tonları .............................................. 23 Şekil 3.4. Renk uzayı dönüşümleri ve örnekleme ..................................................... 24 Şekil 3.5. Ayrık kosinüs dönüşümü .......................................................................... 26 Şekil 3.6. Örnek sıkıştırma ....................................................................................... 27 Şekil 3.7. İç-nicelik matrisi ve iç-olmayan-nicelik matrisi ........................................ 27 Şekil 3.8. Niceleme işlemi ....................................................................................... 28 Şekil 3.9. Zig-Zag tarama......................................................................................... 29 Şekil 3.10. Örnek çerçeve ve hareket vektörleri........................................................ 32 Şekil 3.11. P çerçevesinin kodlanması...................................................................... 33 Şekil 3.12. B çerçevesinin kodlanması ..................................................................... 34 Şekil 4.1. MPEG video katman yapısı ...................................................................... 35 Şekil 4.2. Akım başlangıç kodu ve akımın devamı ................................................... 37 ǀŝ Şekil 4.3. Resim gurubu başlangıç kodu .................................................................. 39 Şekil 4.4. Resim başlangıç kodu ve akımın devamı .................................................. 40 Şekil 4.5. Video gösterim ve akım sıraları ................................................................ 41 Şekil 4.6. Dilim başlangıç kodları ............................................................................ 42 Şekil 4.7. Makro blok .............................................................................................. 43 Şekil 5.1. Görsel şifreleme ....................................................................................... 44 Şekil 5.2. Nagravizyon şifreleme aşamaları .............................................................. 45 Şekil 5.3. Örnek blok parlaklık değerleri .................................................................. 46 Şekil 5.4. Geleneksel şifreleme ................................................................................ 47 Şekil 5.5. Simetrik şifreleme .................................................................................... 47 Şekil 5.6. Asimetrik şifreleme .................................................................................. 48 Şekil 5.7. Kısmi şifreleme ........................................................................................ 50 Şekil 6.1. SECMPEG video şifreleme metodu birinci seviye .................................... 51 Şekil 6.2. SECMPEG video şifreleme metodu ikinci ve üçüncü seviye .................... 52 Şekil 6.3. SECMPEG video şifreleme metodu dördüncü seviye ............................... 52 Şekil 6.4. AEGIS şifreleme metodu ......................................................................... 53 Şekil 6.5. Zig-zag sıralama....................................................................................... 54 Şekil 6.6. Zig-zag permütasyon şifreleme metodu .................................................... 54 Şekil 6.7. Video şifreleme algoritması (VEA) ikinci yaklaşım .................................. 56 Şekil 6.8. Video şifreleme algoritmaları ................................................................... 57 Şekil 6.9. VEA şifreleme algoritması ....................................................................... 59 Şekil 6.10. MVEA şifreleme algoritması .................................................................. 60 Şekil 6.11. Orijinal görüntü ve şifrelenmiş görüntü sonuçları ................................... 61 Şekil 6.12. n=3 için metot 1 şifreleme ...................................................................... 62 Şekil 6.13. Huffmann ağacının değişimi................................................................... 64 Şekil 7.1. 1 Numaralı dilim ...................................................................................... 67 Şekil 7.2. Orijinal ve şifrelenmiş MPEG akımları..................................................... 67 Şekil 7.3. Şifrelenmiş akım izleme hatası ................................................................. 68 Şekil 7.4. Video boyutuna göre toplam başlık boyutları ........................................... 68 Şekil 7.5. MPEG akımında başlık şifreleme metodu ................................................. 69 Şekil 7.6. Movie Maker yazılımı ve korunmuş video akımı ...................................... 70 Şekil 7.7. Açık ve öngörülen yöntemle şifrelenmiş video akımları ........................... 72 ǀŝŝ Şekil 7.8. Şifrelenmiş akım izleme hatası ................................................................. 73 Şekil 7.9. Seçimli XOR işlemi ................................................................................. 74 Şekil 7.10. Byte dağılımı değiştirme ........................................................................ 75 Şekil 7.11. Temel tarama desenleri........................................................................... 77 Şekil 7.12. Örnek video akımı ve şifrelenmiş görüntü .............................................. 78 Şekil 7.13. Sıkıştırılmış video akımının düzensiz haritalar ve başlangıç kodlarına dayalı kısmi şifrelenmesi.......................................................................................... 79 ǀŝŝŝ ÇİZELGELER TABLOSU Çizelge 2.1. Küp köşegenlerinde elde edilen renk tonları ........................................... 6 Çizelge 4.1. Başlangıç kodları .................................................................................. 36 Çizelge 4.2. Akım başlangıç kodu ve örnek akım ile ilgili bilgiler ............................ 37 Çizelge 4.3. Resim grubu başlangıcı ve örnek akım ile ilgili bilgiler ........................ 39 Çizelge 4.4. Resim başlangıcı ve örnek akım ile ilgili bilgiler .................................. 40 Çizelge 4.5. Dilim başlangıcı ve örnek akım ile ilgili bilgiler ................................... 42 Çizelge 8.1. İncelenen yöntemlerin şifreleme hızları ................................................ 80 Çizelge 8.2. Önerilen yöntemin dosya boyutuna bağlı performansı .......................... 81
Benzer belgeler
securecore - MCU Turkey
Şekil 3.2. Akım başlangıç kodu ve akımın devamı ........................................................ 27
Şekil 3.3. Resim grubu başlangıç kodu ......................................................