2006/47 – 21.11.2006
Bezpečný JPEG2000 Ing. Kamil Bodeček, Ing. Petr Daněček, Prof. Ing. Kamil Vrba, CSc. Ústav telekomunikací, FEKT VUT Brno
[email protected],
[email protected],
[email protected]
Rozšířením nejnovějšího kompresního standardu pro obrazy JPEG2000 o bezpečnostní funkce jako autentizace, podmíněný přístup, důvěrnost a kontrolu integrity dat se v současné době zabývají standardizační organizace. Tento budoucí standard se nazývá JPSEC. V článku jsou představeny možnosti a používané nástroje standardu JPSEC a prezentovány techniky autentizace, streamování přes heterogenní sítě s možností bezpečného překódován a také podmíněný přístup k obsahu.
Obsah 1. Úvod 2. JPEG2000 3. JPSEC 4. Související články 5. Závěr Literatura
1.
Úvod
Kompresní standard JPEG2000 představuje moderní a univerzální techniku komprimace obrazových dat pracující na principu diskrétní vlnkové transformace, skalární kvantizace a entropického kódování, což je krátce vysvětleno v kapitole 2. V základní části standardu nejsou implementovány žádné bezpečnostní funkce umožňující zajistit např. autentizaci nebo důvěrnost dat. Z tohoto důvodu byla započata práce skupiny Joint Photographic Experts Group (JPEG) na začlenění těchto a dalších bezpečnostních funkcí do standardu JPEG2000 pod názvem Secure JPEG2000 neboli JPSEC, jehož popis, kódová syntaxe a používané bezpečnostní nástroje jsou obsahem třetí kapitoly. JPSEC nabízí možnosti autentizace obrazu, bezpečného škálovatelného překódování pro distribuci obrazu a videa přes heterogenní sítě a rovněž podmíněného přístupu k vybraným částem obrazu.
2.
JPEG2000
V roce 1997 začala skupina JPEG vývoj nového standardu pro kompresi obrazů s názvem JPEG2000. Finální verze JPEG2000 je z roku 2000 s označením ISO/IEC 15444-1. Jedná se o nový mezinárodní standard pro kompresi obrazů optimalizovaný nejen na účinnost, ale také na rozšiřitelnost ve všech typech sítí.
2.1.
Vlastnosti JPEG2000
Největším rozdílem komprese JPEG2000 oproti kompresi JPEG je použití diskrétní vlnkové transformace (Discrete Wavelet Transform - DWT) místo kosinové transformace. Základní vlastnosti komprese jsou následující: • Vyšší účinnost komprese při zachování stejné kvality obrazu oproti standardu JPEG.
47-1
2006/47 – 21.11.2006 • • •
• •
2.2.
Schopnost komprese nejen přirozených obrazů, ale také šedotónových, počítačové (syntetické) grafiky, medicínské grafiky (více než 8 nebo 10 bitů na barevnou složku). Ztrátová i bezeztrátová komprese za použití stejného kodéru. Progresivní přenos umožňuje postupně přenášet data a zároveň zobrazovat obraz. V obraze se může postupně zlepšovat prostorové rozlišení, přibývat barevné komponenty nebo vrstvy. Tzv. "oblast zájmu" (Region of Interest- ROI). Jedná se o uživatelem definované části obrazu, které jsou komprimovány v lepší kvalitě na úkor zbytku obrazu. Vysoká odolnost vůči chybám.
Princip JPEG2000
Na vstupní obrazová data je aplikována diskrétní vlnková transformace. Takto získané koeficienty úplně popisují celý obraz. Dále jsou tyto koeficienty kvantovány a slučovány do tzv. kódových bloků (Code Blocks). Z každého bloku jsou vlnkové koeficienty seskupeny tak, že jsou jednotlivé bity se stejnou váhou (důležitostí) těchto koeficientů sdruženy do bitových hladin a ty jsou entropicky kódovány, viz Obr. 2.1. Z těchto hladin se pak vytváří výsledný kódový datový tok (Codestream), který se skládá z hlavičky a paketů obsahujících kódovaná data. Více je možno nalézt v [1].
Obr. 2.1: JPEG2000 kodér
3.
JPSEC
Skupina JPEG dále začala pracovat na implementaci bezpečnostních funkcí do algoritmu JPEG2000. V současné době jsou tyto činnosti ve fázi standardizace. Formálně se jmenuje JPSEC neboli Secure JPEG2000 tj. bezpečný JPEG2000 a jde o standard ISO/IEC 15444-8. Cílem je tedy rozšířit základní standard JPEG2000 o systém standardizovaného bezpečného ukládání a přenosu souborů JPEG2000.
3.1.
Systém JPSEC
JPSEC definuje flexibilní systém pro bezpečné zobrazování obrazových dat, který pomocí aplikace správce JPSEC (tzv. JPSEC protector) poskytuje několik bezpečných služeb.
Požadované služby k implementaci: Důvěrnost a podmíněný přístup:
47-2
2006/47 – 21.11.2006 zašifrování obrazových dat a mechanismus povolení nebo zamítnutí přístupu k obrazovým datům nebo jejich částím. Příklad využití lze nalézt třeba v možnosti prohlížení obrazu v malém prostorovém rozlišení bez možnosti zobrazit vyšší rozlišení (např. Internetová placená obrazová galerie). Autentizace a ověření integrity: ověření identifikace uživatele nebo zdroje obrazových dat a dále detekce manipulování obrazových dat. Tuto vlastnost lze rozdělit na ověření integrity obrazových dat a integrity obsahu, kde v prvním případě jde o bitovou shodu a ve druhém je možné provádět určité malé změny obrazového obsahu, pokud nedojde k změně významu vnímaného obsahu. Zde jsou použity známé kryptografické metody jako digitální podpis, hašování, vodoznačení a tzv. Message Authetication Code (MAC).
Bezpečné škálovatelné streamování a překódování: metody, kdy síťový uzel může streamovat nebo překódovávat (transcode - ve smyslu přeskládání dat bez dekódování a zpětného zakódování obrazových dat) JPSEC data bez nutnosti dešifrování obsahu.
Identifikace registrovaného obsahu: registrace JPSEC kódového datového toku Registrační Autoritou. Rovněž obsahuje ověření pravosti proprietárních zabezpečovacích nástrojů použitých v daném obraze s původně registrovanými. Správce JPSEC dále aplikuje jednu nebo několik JPSEC ochranných nástrojů (např. šifrování, digitální podpis atd.). Výsledný kódový datový tok je vytvořen vložením JPSEC syntaxe do datového toku, která informuje o tom, které ochranné nástroje byly na daný datový tok použity a jak.
Nástroje JPSEC Tyto nástroje lze rozdělit do dvou kategorií: První obsahuje známé kryptografické metody jako AES, RSA, RC4, DES, SHA-1, MD5 [2]. Pro to jsou definovány šablony pro specifikování parametrů jednotlivých metod. Syntaxe obsahuje všechny potřebné údaje náležející k danému nástroji a také jak byl aplikován. Druhá kategorie obsahuje proprietární nástroje, které ale musejí být registrovány registrační autoritou JPSEC (Registration Authority - RA), díky čemuž získají unikátní identifikační číslo. Takže přímo v JPSEC souboru je číslo s případnými parametry a JPSEC aplikace může udělat dotaz na RA k získání popisu nástroje a možnosti dešifrovat data. Díky tomuto schématu je možno v budoucnosti přidávat další ochranné nástroje.
3.2.
JPSEC syntaxe
JPSEC přidává další dva značkovací segmenty SEC a INSEC. Segment SEC je umístěn v hlavní hlavičce a je povinný, neboť udává informace o aplikovaných bezpečnostních nástrojích použitých v obraze. Také informuje, na které části kódového datového toku byly tyto nástroje použity. Syntaxe je uvedena na Obr. 3.1, kde SEC (0xFF94) označuje začátek
47-3
2006/47 – 21.11.2006 segmentové značky SEC, LSEC udává délku segmentové značky v Bytech a následuje Nástroj(i) (Tool) informující o ochranném nástroji i.
Obr. 3.1: Syntaxe segmentové značky SEC [1]. Druhým segmentem je INSEC, který poskytuje parametry k ochrannému nástroji deklarovanému v segmentu SEC. Je nepovinný a může být umístěn kdekoli v kódovém datovém toku. To je možné díky tomu, že aritmetický dekodér JPEG2000 zastaví načítání dat, když narazí na ukončující značku (tj. 2 bajty větší než 0xFF8F), což je výhodná vlastnost použitelná k vkládání dalších dat do kódovaného datového toku bez možnosti ovlivnění syntaxe JPEG2000. Komprimovaná obrazová data v JPEG2000 nemohou překročit hodnotu 0xFF8F. Značka INSEC má hodnotu 0xFF95, LINSEC udává délku segmentu značky v Bytech, index i je 7bitový a identifikuje ochranný nástroj, pro který INSEC obsahuje parametry. Příznak R (1 bit) signalizuje, zda informace v segmentu INSEC jsou platné pro předcházející nebo následující kódový blok. AP obsahuje doplňkové informace k nástroji i.
Obr. 3.2: Syntaxe segmentové značky INSEC [1].
3.3.
Možnosti využití JPSEC
Možnosti využití JPSEC lze nalézt mnoha oblastech přenosu a archivaci obrazových dat. Od šifrování obrazů anebo jejich jednotlivých částí, ať s možností podmíněného přístupu k obsahu všech částí obrazu nebo jen vybraných, přes autentizaci obsahu obrazu po streamování přes heterogenní sítě s možností bezpečného překódování.
Bezpečné škálovatelné streamování a překódování Doručování video obsahu pro zařízení s různou technickou vybaveností přes heterogenní sítě je na vzestupu zájmu u uživatelů, více lze nalézt v [3]. Škálovatelnost JPEG2000 umožňující progresivní přenos je založena na umístění jednotlivých dat v komprimovaném souboru. Důležitou vlastností je zabezpečení obsahu pomocí šifrování. Je rovněž žádoucí, aby síťový uzel nemusel šifrovaná data při překódování např. do nižšího rozlišení dešifrovat a po úpravě pro zařízení s omezenými přenosovými nebo zobrazovacími prostředky je zpětně zašifrovat. Řešením předchozích požadavků je bezpečné škálovatelné překódování, které funguje na tomto principu: • kódový datový tok JPEG2000 souboru je přeskládán do RLCP uspořádání, tj. nejdříve je rozlišení (Resolution - R), vrstva (Layer - L), barvonosná komponenta (Component -C) a poslední je pozice (Position -P), více v [5].
47-4
2006/47 – 21.11.2006 •
pak je tento soubor zašifrován libovolným algoritmem dle standardu JPSEC, např. blokovou šifrou AES v modu Cipher Block Chaining ( CBC - zřetězení šifrovaných bloků, více viz [4]). Princip je znázorněn na Obr. 3.3. Obrazový soubor začíná značkou Start of codestream (SOC), dále je uvedena velikost obrazu ve značce Size of image marker (SIZ). Implicitní nastavení způsobu kódování vrstev a dekompozice je uvedeno ve značce Coding style default (COD), po níž následuje značka implicitní kvantizace Quantization default (QCD). Po značkách Start of tile (SOT) a Start od data (SOD) začínají vlastní data v uspořádání daném v COD. Každé jednotlivé rozlišení je zašifrováno zvlášť, to je znázorněno pomocí Res 0 až Res 2. Do hlavičky zašifrovaného obrazu se vloží značka SEC a za SOD následují nezávisle šifrovaná rozlišení obrazu původního obrazu.
Obr. 3.3: Vytváření JPSEC kódového datového toku z JPEG2000 [5]. Síťový uzel pak distribuuje zašifrované soubory uživatelům. Schematicky je to zobrazeno na Obr. 3.4. Pokud nastane požadavek na zobrazení souboru v nižším rozlišení, uzel provede bezpečné překódování tak, že z původního JPSEC souboru vytvoří nový s upravenou hlavičkou a vloží do něj např. jen datové části pro nejnižší obrazové rozlišení a nakonec vloží ukončující značku.
47-5
2006/47 – 21.11.2006
Obr. 3.4: Bezpečné škálovatelné překódování [5].
Kontrola podmíněného přístupu pomocí skramblování Jako požadovaná vlastnost se jeví možnost bezplatného přístupu k náhledu obrazu s nízkým rozlišením, zatímco pro plné rozlišení je třeba autorizovaný přístup. Jiným příkladem může být video systém střežení, kde např. obličeje lidí jsou oblasti zájmu a při neautorizovaném přístupu jsou obličejové části nerozeznatelné. Principielně jde o přidání pseudonáhodného šumu k vybraným částím kódovanému datovému toku. Autorizovaný uživatel zná sekvenci a proto může tento šum odstranit. Skramblování lze provést buď na vlnkových koeficientech nebo přímo na kódovaném datovém toku. Popis prvního systému je následující: Po kvantizaci vlnkových koeficientů jsou některé jejich části selektivně skramblovány, což je řízeno pseudonáhodným generátorem čísel (PRNG), který je nastartován z počátečního semínka. Dále jsou pak skramblované i neskramblované části aritmeticky kódovány a spolu se zašifrovaným semínkem společně opatřeny JPSEC syntaxí, viz Obr. 3.5. Skramblování lze jednoduše provést např. tak, že znaménka koeficientů v každém kódovém bloku jsou pseudonáhodně invertovány, nebo že jsou jednotlivé kvantované vlnkové koeficienty pseudonáhodně zpřeházeny.
Obr. 3.5: Skramblování v oblasti vlnkových koeficientů, [1]. V případě druhého systému je skramblování provedeno přímo na kódovaném datovém toku, což má za následek, že i malá změna v kódovaném datovém toku vede k velmi odlišnému
47-6
2006/47 – 21.11.2006 výstupu z aritmetického dekodéru [1]. Např. skramblování kódových bloků patřících k vrstvám vyšší kvality vede k podmíněnému přístupu ke kvalitnímu zobrazení, tedy neautorizovaně je možné prohlížet obraz v nízké kvalitě.
Obr. 3.6: Skramblování kódového datového toku, [1]. Při skramblování je samozřejmě nutné dodržet syntaxi značek JPEG2000, tj. žádné dva bajty skramblovaných dat nesmí překročit hodnotu 0xFF8F. Ukázku využití podmíněného přístupu k části obrazového obsahu najdeme na Obr. 3.7.
Obr. 3.7: Podmíněný přístup pomocí skramblování, z [1].
Autentizace Cílem autentizace je ověření pravosti obrazu. Například v [6] je popsána technika využívající metody digitálního otisku. Výpočet otisku (tzv. hash) se provádí přímo na kódovém datovém toku. Metoda využívá takové vlastnosti standardu JPEG2000, že jakákoli změna v komprimovaných vlnkových koeficientech se projeví v prostorové oblasti. K vlastnímu výpočtu otisku je použit algoritmus SHA, ale lze použít opět jakýkoli jiný. Dále je otisk zašifrován pomocí algoritmu veřejného klíče RSA. Tento otisk je pak připojen přímo do obrazu za kódový datový tok doplněný o ukončující značku (hodnota větší než 0xFF8F) z důvodu vyhovění standardu JPEG2000.
47-7
2006/47 – 21.11.2006
Obr. 3.8: Autentizační schéma, z [6].
4.
Související články
Srozumitelný přehled o JPSEC lze nalézt v [1], kde je vysvětlena syntaxe JPSEC a stručný úvod jeho možností využití tj. podmíněný přístup a škálovatelné streamování a překódování. Článek [5] probírá tématiku implementace bezpečného překódování pomocí JPSEC a rovněž ji porovnává s konvenčními technikami. Autentizace a kontrola přístupu je prodiskutována v článku [6]. Podrobněji je zde rozebrána kontrola přístupu založená na šifrování jednotlivých rozlišení nebo kvalitativních vrstev. Jednoduchý a účinný způsob šifrování souborů JPEG2000 představuje článek [7], ve kterém autoři implementovali proudovou šifru RC4 a blokovou šifru AES a TripleDES velmi efektivním způsobem s malou výpočetní náročností.
5.
Závěr
V článku byly představeny právě probíhající standardizační práce na rozšíření JPSEC kompresního standardu JPEG2000 o bezpečnostní funkce podporující důvěrnost a integritu obsahu, autenticitu a kontrolu podmíněného přístupu, které jsou nezbytné pro bezpečné ukládání a přenos obrazu a videa komprimovaného pomocí algoritmu JPEG2000. Pro autenticitu je použita technika digitálního otisku a jeho zašifrování a připojení přímo do kódového datového toku obrazu. Podmíněný přístup využívá škálovatelnost zabudovanou přímo v algoritmu JPEG2000 umožňující pomocí skramblování požadovaných částí obrazu, a to buď v oblasti vlnkových koeficientů nebo přímo na kódovém datovém toku, s generátorem pseudonáhodným čísel zamezit zobrazení těchto částí obrazu neautorizovaným osobám bez znalosti výchozího nastavení generátoru pseudonáhodných čísel. Rovněž škálovatelné překódování videa je založeno a umožněno podstatou komprese pomocí JPEG2000.
Prohlášení: Tento článek vznikl za podpory projektu FRVŠ č. 1791/2006 a výzkumného záměru MSM0021630513 "Elektronické komunikační systémy a technologie nových generací". Literatura [1] -; ITU-T Recommendation T.800 and ISO/IEC 15444-1 JPEG2000 Image Coding System: Core Coding System (JPEG2000 Part 1), 2000.
47-8
2006/47 – 21.11.2006 [2] Menezes A. J., van Oorschot P. C., Vanstone S. A.; Handbook of Applied Cryptography, CRC Press, 1996. [3] Bodeček K.; Škálovatelná komprese videa; Elektrorevue - Internetový časopis (http://www.elektrorevue.cz), vol. 2006 [4] Daněček P, Březina M., Mišurec J..; Bezpečná vzdálená správa a sběr dat; Elektrorevue Internetový časopis (http://www.elektrorevue.cz), vol. 2005 [5] Wee S., Apostolopoulos J.; Secure Transcoding with JPSEC Confidentiality and Authentication; In Media Security Issues in Streaming and Mobile Applications, IEEE ICIP; Singapore; October 24th-27th; 2004; s. 577-580. [6] Grosbois R., Gerbelot P. Ebrahimi T.; Authentication and access control in the JPEG 2000 compressed domain; In Proceedings of SPIE: Applications of Digital Image Processing XXIV, San Diego, July 29th -August 3rd, 2001; s. 95-104. [7] Wu H., Ma D.; Efficient and Secure Encryption Schemes for JPEG2000; In Multimedia Communication, Networking and Security, IEEE ICASSP
47-9