KR101046812B1 - 확장형 멀티미디어의 암호화 방법 - Google Patents

확장형 멀티미디어의 암호화 방법 Download PDF

Info

Publication number
KR101046812B1
KR101046812B1 KR1020040021966A KR20040021966A KR101046812B1 KR 101046812 B1 KR101046812 B1 KR 101046812B1 KR 1020040021966 A KR1020040021966 A KR 1020040021966A KR 20040021966 A KR20040021966 A KR 20040021966A KR 101046812 B1 KR101046812 B1 KR 101046812B1
Authority
KR
South Korea
Prior art keywords
base layer
delete delete
encryption
bits
content
Prior art date
Application number
KR1020040021966A
Other languages
English (en)
Other versions
KR20040088352A (ko
Inventor
빈 주
춘 유안
유동 왕
시펭 리
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20040088352A publication Critical patent/KR20040088352A/ko
Application granted granted Critical
Publication of KR101046812B1 publication Critical patent/KR101046812B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03DWATER-CLOSETS OR URINALS WITH FLUSHING DEVICES; FLUSHING VALVES THEREFOR
    • E03D9/00Sanitary or other accessories for lavatories ; Devices for cleaning or disinfecting the toilet room or the toilet bowl; Devices for eliminating smells
    • E03D9/08Devices in the bowl producing upwardly-directed sprays; Modifications of the bowl for use with such devices ; Bidets; Combinations of bowls with urinals or bidets; Hot-air or other devices mounted in or on the bowl, urinal or bidet for cleaning or disinfecting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23473Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by pre-encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Public Health (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Epidemiology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Water Supply & Treatment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 대상은 확장형 멀티미디어(scalable multimedia)의 완전 확장형 암호화(fully scalable encryption)를 위한 예시적인 시스템 및 관련 방법을 포함한다. 본 발명의 대상을 사용하여 암호화된 확장형 비트 스트림(scalable bitstream)은 확장형 특징들의 완전한 기능들을 암호화된 형식으로 유지한다. 상기 예시적인 확장형 암호화는 확장형 압축 효율(scalable compression efficiency) 및 에러 회복성(error resiliency)을 저하시키지 않으면서, 암호문(ciphertext)에 대한 직접적인 트랜스코딩(transcoding), 속도 정형화(rate shaping) 및 기타 연산들을 허용한다.
Figure R1020040021966
확장형 멀티미디어, 확장형 암호화, 컨텐트 기반 키, 압축 효율, 에러 회복성

Description

확장형 멀티미디어의 암호화 방법{FULLY SCALABLE ENCRYPTION FOR SCALABLE MULTIMEDIA}
도 1은 기본 계층(base layer)만을 암호화하는 예시적인 확장형 암호화(scalable encryption)의 블록도.
도 2는 기본 계층 및 확장 계층(enhancement layer) 둘 다를 암호화하는 예시적인 확장형 암호화 시스템의 블록도.
도 3은 예시적인 확장형 암호화 엔진(scalable encryption engine)의 블록도.
도 4는 도 3의 예시적인 확장형 암호화 엔진의 예시적인 영상 객체 플레인 관리자(video object plane manager)의 블록도.
도 5는 예시적인 확장형 암호화 방법의 흐름도.
도 6은 다른 예시적인 확장형 암호화 방법의 흐름도.
도 7은 예시적인 확장형 완전 암호화(scalable full encryption) 및 예시적인 확장형 선택적 암호화(scalable selective encryption)를 보여주는 영상 이미지의 세트.
<도면의 주요 부분에 대한 부호의 설명>
104 : 기본 계층 암호기
106 : 기본 계층
108 : 확장 계층
204 : 암호화 엔진
208 : 확장 계층 암호기
212 : 암호화된 기본 계층
214 : 암호화된 확장 계층
302 : 내용-기반 키 생성기
304 : 기본 계층 사이퍼
306 : 난수 생성기
308 : 제어 로직
310 : 기본 계층 키(예컨대, PRE-MAC)
312 : 내용 기반 정보
316 : 스트림 사이퍼 키
314 : 확장 계층 사이퍼
318 : 전역 키
320 : 랜덤 비트 엔진
322 : 프레임 관리자
324 : 프레임 버퍼
326 : 프레임 비트 마스크 버퍼
328 : 프레임 및 비트 마스크 결합자
330 : 동기 관리자
332 : 제어 로직
334 : VOP 관리자
336 : 프레임 카운터
338 : 시드 관리자
본 발명은 일반적으로 멀티미디어 보호에 관한 것으로, 더욱 구체적으로 확장형 멀티미디어(scalable multimedia)에 대한 완전 확장형 암호화(fully scalable encryption)에 관한 것이다.
확장형 영상 코딩(scalable video coding)은 다수의 상이한 애플리케이션 및 환경에 적합할 수 있도록, 멀티미디어 컨텐트(multimedia content)에 유연성(flexibility) 및 적응성(adaptability)을 부여한다. 확장형 멀티미디어 포맷은, 무엇보다도 수 개의 MPEG 스트림 포맷 및 "확장형 매체 적응 및 강력한 전송(scalable media adaptation and robust transport; SMART 및 SMART++)" 을 포함한다(예컨대, <http://research.microsoft.com/im/>, Microsoft 사, 워싱턴, 레드몬드(Washington, Redmond); Feng Wu, Shipeng Li, Ya-Qin Zhang 저, "A framework for efficient progressive fine granular scalable video coding", IEEE Circuits and Systems for Video Technology 회보, 제11권, 제3호, pp. 332- 344면, 2001년; Xiaoyan Sun, Feng Wu, Shipeng Li, Wen Gao, 및 Ya-Qin Zhang 저, "Macroblock-based temporal-SNR progressive fine granularity scalable video coding", IEEE 이미지 처리에 대한 국제 컨퍼런스(International Conference on Image Processing; ICIP), pp. 1025-1028면, 그리스, 테살로니티(Greece, Thessaloniki), 2001년 10월; 및 Yuwen He, Feng Wu, Shipeng Li, Yuzhuo Zhong, 및 Shiqiang Yang 저, "H.26L-based fine granularity scalable video coding", ISCAS 2002, 제4권, pp. 548-551면, 미국, 피닉스(USA, Phoenix), 2002년 5월 등을 참조).
MPEG-4는 상이한 장치들에 확장성을 제공하는 프로파일들을 채용하였다. 하나의 이러한 MPEG-4 프로파일은 "단순(Simple)" 프로파일이라고 불린다. "단순"은, 다른 프로파일들, 이를테면 "단순 확장(Simple Scalable)"과 같은 프로파일들이 확장성을 제공하기 위해 확장 계층(enhancement layer)을 추가할 수 있는 영상 기본 계층(video base layer)을 제공한다. "개량형 단순(Advanced Simple)" 이라고 불리는 다른 프로파일은 소정의 코딩 도구들(coding tools)을 상기 "단순" 프로파일에 추가함으로써, 사각형 영상 객체 코딩(rectangular video object coding)을 수행한다. 이 "개량형 단순" 프로파일은, 최신의 MPEG-4 코딩 효율 도구를 갖는 반면에, 확장성을 제공하지 않는다. 상기 "개량형 단순" 기본 계층에 세분화된 확장 계층(fine-grained enhancement layer)을 추가함으로써, 확장형 영상 코딩 기법을 제공하는 또 다른 MPEG-4 프로파일은 "미세 입도 확장성(Fine Granularity Scalability; FGS)" 이라고 불린다. FGS는 표준이 되었다.
이러한 확장형 MPEG-4 프로파일들 중 일부에 사용되는 상기 기본 계층은 비트율의 최저 경계에서 비확장형(non-scalable) 방식으로 인코딩된다. 상기 FGS 프로파일은, 동일한 확장 계층에 대해 가능한 비트율 스펙트럼 내의 각 비트율에 대해서 최적의 영상 품질을 달성하려고 하는 저비트율(low bitrate) 기본 계층으로부터 예측된 확장 계층을 포함한다. 상기 확장 계층은 확장형 방식으로 인코딩된다: 한 프레임(frame)의 나머지(residue)의 이산 코사인 변환(discrete cosine transformation; DCT) 계수들은 비트 플레인(bit-plane) 별로 최상위 비트로부터 최하위 비트까지 압축된다. 영상은 MPEG-4 FGS에 의해 오직 한번 압축된다. 그것이 네트워크를 통하여 전송될 경우에, 만일 전송 네트워크가 필요한 대역폭이 부족하다면, 서버는 최하위 비트(들)와 연관된 상기 확장 계층 데이터를 버릴 수 있다. 압축 또는 압축해제 어느 것에도 의지하지 않고, 다른 속도 정형화(rate shaping) 연산들이 압축된 확장 계층 데이터에 대해 직접 수행될 수도 있다. 여기서 상술한 FGS 프로파일은 MPEG-4 FGS, 또는 단지 "FGS"로 일컬어질 것이다.
다양한 확장성 MPEG-4 프로파일들을 따르는 멀티미디어 스트림에 대한 멀티미디어 암호화 기법들은 이상적으로는 비확장형 코덱에서 바람직한 것과 동일한 특징들, 즉 높은 보안성, 낮은 복잡도, 낮은 압축 오버헤드, 에러 회복성(error resilience), 속도 정형화 적응성, 및 임의 플레이(random play) 능력 등을 갖는다. 이러한 것들 중의 일부는 매우 상세하게 논의될 것이다.
보안은 멀티미디어 암호화에 있어 필수적인 요구 사항이다. 더욱 결정적(critical) 애플리케이션, 이를테면 군사상(military) 프로세스 및 뱅킹(banking) 프로세스에 대한 다른 암호화 타입들과 비교하여, 멀티미디어 암호화는 군사상 데이터 및 뱅킹 데이터와 비해 상대적으로 대량의 암호화되는 (영상) 데이터 및 독특하게 낮은 데이터 값을 포함한 고유의 독특한 이슈를 갖는다.
임의의 암호화 또는 복호화 프로세스는 처리 오버헤드(processing overhead)를 추가하기 때문에 낮은 복잡도가 하나의 특징이 된다. 멀티미디어 스트림은 상대적으로 방대한 양의 데이터를 가지므로, 다수의 애플리케이션들은 방대한 양의 멀티미디어 데이터에 대한 실시간 복호화를 요구하기 때문에, 암호화 시스템의 복잡도가 일반적으로 사용자의 제한된 장비 상에서, 특히 복호화 과정에서 매우 낮은 것이 다수의 애플리케이션에서 바람직하거나 필수적이다.
암호화는 압축 알고리즘의 코딩 효율을 감소시킴으로써, 또는 이미 압축된 파일에 바이트들을 추가함으로써, 불가피하게 압축 효율에 악영향을 미치기 때문에 압축 오버헤드가 또 하나의 특징이 된다. 따라서, 압축 오버헤드는 이상적으로는 멀티미디어 암호화 알고리즘에 대해서 최소화된다.
멀티미디어 저장 및 전송 중에 장애가 발생하기 때문에, 에러 회복성이 암호화에 대해 중요하다. 무선 네트워크에서 전송 에러가 발생한다는 사실은 주지의 사실이다. 폭주(congestion), 버퍼 오버플로우(buffer overflow), 및 기타 네트워크 불안정성으로 인하여 데이터 패킷이 전송 중에 유실될 수 있다. 암호화 기법들은 이상적으로는 비트 에러 및 패키지(package) 유실에 대해 회복적(resilient)이어야 한다. 그것들은 또한 광범위한 에러 전파를 방지하기 위해, 비트 에러로부터의 신속한 복구 및 패키지 유실로부터의 빠른 재동기화(resynchronization)도 허용 해야 한다. 전형적으로 완벽한 전송 환경 하에서 설계된 다수의 멀티미디어 암호화 알고리즘은, 비트 에러 또는 패키지 유실이 전송 중에 발생한 경우 대단히 지각적인 성능 저하를 전파시키다.
속도 정형화(Rate shaping)는 다양한 상황에 적합하도록 전송 비트율(1초의 스트림에 있는 비트 수)을 변경하는 능력을 나타낸다. 컨텐트 소유자(content owner)로부터 사용자에게 멀티미디어 스트림 전달 중에, 다수의 중간 단계들이 전형적으로 데이터를 처리한다. 예를 들면, 트랜스코딩(transcoding)은 비트율을 변경하여 전송 대역폭 변동(fluctuation) 또는 애플리케이션 요구 사항까지에도 적응되도록 할 수 있다. 만일 데이터가 암호화된다면, 이러한 중간 단계들은 전형적으로 암호화 및 복호화 키를 호출하고, 그 다음에 데이터를 처리하기 위해서 복호화 및 암호화 사이클을 수행해야 한다. 이는 암호화 암호들(secrets)이 이러한 중간 단계들과 공유되어야 하기 때문에 처리 오버헤드를 증가시키고, 보안성을 감소시킨다.
위에서 논의된 보안 특징과 연관되어, 때때로 디지털 저작 관리(digital rights management; DRM)를 위해 멀티미디어 스트림을 암호화하는 것이 바람직하다. 이러한 암호화는 컨텐트 소유자가 저작권 및 다른 소유권, 이를테면 멀티미디어 컨텐트의 라이센싱(licensing)과 같은 권리를 집행하는데 도움을 준다.
다수의 알고리즘들이 비확장형 영상을 암호화하기 위해서 제안되어 왔다. 가장 확실한 방법은, 마치 그것이 텍스트(text) 데이터인 것과 같은 동일한 방법으로 DES와 같은 표준 암호화 기법들을 압축된 스트림에 적용하는 원시적인 알고리즘 이다(I. Agi 및 L. Gong 저, "An Empirical Study of Secure MPEG Video Transmissions", Network & Distributed System Security 심포지엄 회보, 1996년, pp. 134-144면). 원시적인 알고리즘은 보통 처리되는 다량의 영상 데이터로 인해 커다란 처리 오버헤드를 갖는다. 그것은 최소한의 에러 회복성을 가지며, 암호문(ciphertext)에 대한 직접적인 속도 정형화를 허용하지 않는다.
다른 방법은 영상 스트림 구조(video stream structure)를 이용하여, 압축된 영상데이터의 일부만을 암호화하는 선택적 알고리즘(selective algorithm)이다(T.B Maples 및 G.A. Spanos 저, "Performance Study of a Selective Encryption Scheme for the Security of Networked, Real-time Video", Computer Communications & Networks 제4회 국제 컨퍼런스 회보, 1995년; 및 J. Meyer 및 F. Gadegast 저, "Security Mechanisms for Multimedia Data with the Example MPEG-1 Video", http://www.gadegast.de/frank/doc/secmeng.pdf, 1995년). 암호화되는 부분 데이터는 I-프레임, I-프레임 및 P와 B 프레임 내의 모든 I 블록, 또는 I-블록의 DC 계수 및 더 하위의 AC 항들이 될 수 있다. I-프레임만을 암호화하는 것은 프레임간 상관관계(interframe correlation)뿐만 아니라 P와 B 프레임 내의 노출된 I-블록들로 인해 충분한 보안을 제공하지 않는다(위의 Agi와 Gong의 참고문헌 참조).
암호화되는 데이터를 감소시키는 방법은 (L.Qiao 및 K. Nahrstedt 저, "Comparison of MPEG Encryption Algorithms", 국제 저널 Computers & Graphics, 특별 이슈:"Data Security in Image Communication and Network", 제22권, 제3호, 1998년)에서 제안되는데, 한 덩어리(chunk)의 I-프레임에 대해서는 짝수 인덱스의 바이트들만을 암호화하고, 나머지는 홀수 인덱스의 서브시퀀스를 짝수 인덱스의 서브시퀀스와 XOR한 결과로 대체한다.
다른 선택적 알고리즘은 모든 DCT 계수들의 부호 비트들을 의사 랜덤하게(pseudo-randomly) 변경하거나(C. Shi 및 B. Bhargave 저, "A Fast MPEG Video Encryption Algorithm", ACM Multimedia'98 회보, 1998년, pp. 81-88면), I 블록의 DC 계수들의 미분 값의 부호 비트 및 모션 벡터들(motion vectors)의 미분 값의 부호 비트를 변경한다(C. Shi 및 B. Bhargava 저, "An Efficient MPEG Video Encryption Algorithm", IEEE Realiable Distributed Systems 제17회 심포지움 회보, 1998년, pp. 381-386면).
세 번째 접근 방식은, 소정의 압축 파라미터를 스크램블(scramble)하거나, 코드 워드(codewords)를 뒤섞어서(shuffle), 승인받지 않은 사용자로 하여금 올바른 압축 해제를 하지 못하게 하는 스크램블 알고리즘(scrambling algorithm)이다. 단순한 기법은, 보통의 지그재그형의 순서(zigzag order)대신에 랜덤 순열(random permutation)을 이용하여 2D 블록을 1D 벡터에 매핑시킨다(L. Tang, "Methods for Encrypting and Decrypting MPEG Video Data Efficiently", ACM Multimedia'96 회보, 1996년, pp. 219-230면). 모션 벡터 및 선택된 DCT 계수는 엔트로피 코딩(entropy coding)전에 뒤섞어질 수 있다(W. Zeng 및 S. Lei 저, "Efficient Frequency Domain Video Scrambling for Content Access Control", ACM Multimedia'99 회보, 199년, pp. 285-294면; 및 "Efficient Frequency Domain Selective Scrambling of Digital Video", IEEE Multimedia 회보에 게재된 예비논 문).
가변 길이 코딩(variable length coding; VLC) 코드는 소정의 포맷을 따르는 방법(format-compliant way)으로 뒤섞일 수도 있다(J. Wen, M. Severa, W. Zeng, M. H. Luttrell, 및 W. Jin 저, "A Format-compliant Configurable Encryption Framework for Access Control of Video", IEEE Circuits & Systems for Video Technology 회보, 제12권, 제6호, 2002년, pp. 545-557면). 이러한 기법들은 데이터의 통계적 특성을 변경하여, 압축 효율을 낮춘다. 비트 오버헤드를 가져오지 않고 수행하는 기법도 제안되었는데, (W. Zeng, J. Wen, 및 M. Severa, "Fast Self-synchronous Content Scrambling by Spatially Shuffling Codewords of Compressed Bitstreams", IEEE Image Processing 국제 컨퍼런스, 2002년, 제3권, pp. 169-172면) 에서 압축 비트 스트림의 코드 워드를 공간적으로 뒤섞는다(spatially shuffle).
상술된 방법들의 일부 및 그밖의 것들, 예를 들면 대부분의 스크램블 알고리즘들은 MPEG-4 FGS에 동등하게 적용될 수 있는 반면, 비확장형 멀티미디어에 대해 개발되는 대부분의 암호화 기법은, 확장형 멀티미디어 스트림에 적용되는 경우에 종종 확장성 특징을 감소시키거나 훼손시킨다. 확장형 조작(scalable manipulation)을 이러한 암호화된 확장형 스트림에 적용하기 위해서는, 중간 전송 단계(intermediate transmissin stages)가 종종 상기 스트림을 복호화하고, 트랜스코딩 및/또는 비트 축소(bit reduction)와 같은 속도 정형화를 적용하고 나서, 상기 스트림을 재암호화(re-encrypt)해야 한다. 따라서, 상기 확장성 특징을 유지하 면서 확장형 멀티미디어 스트림을 암호화하는 기술이 필요하다.
최근에 확장형 포맷에 대해 구체적으로 설계된 기법들이 보고되고 있다. Wee 등은 복호화하지 않고 트랜스코딩을 가능하게 하는 보안 확장형 스트리밍(secure scalable streaming; SSS) 기법을 제안한다(S.J. Wee 및 J.G. Apostolopoulos 저, "Secure Scalable Streaming Enabling Transcoding Without Decryption", IEEE Image Processing 국제 컨퍼런스, 2001년, 제1권, pp. 437-440면). MPEG-4 FSG에 대해서, 상기 접근 방식은 헤더 데이터를 제외하고 기본 계층 및 확장 계층 양쪽의 영상 데이터를 암호화한다. 속도 왜곡 최적(rate distortion optimal; RD-optimal) 차단 지점(cutoff points)에 대한 힌트가 암호화되지 않은 헤더에 삽입되어, 중간 단계(intermediate stage)가 RD-optimal 비트율 축소를 수행하도록 해야 한다. 암호화 입도(granularity)는 영상 스트림이 패킷화되는 방법에 달려있다. 더욱 정확하게는, 암호화는 각 패킷에 대해 적용된다. 이는 암호화가 SSS에 적용될 때에 패킷 크기가 알려져야 한다는 것을 의미한다. 암호화가 SSS에서 수행된 뒤에는 패킷 크기에 대한 어떠한 변경도 허용되지 않는다. 실제 애플리케이션에서는, 일 타입의 전송 채널에 대해 설계된 패킷 크기가 다른 채널에 대해서는 적합하지 않을 수 있다. 예를 들면, 무선 채널은 에러가 발생하기 쉽기 때문에 무선 전송을 위한 영상 패킷 크기는 작아야 한다. 인터넷 전송에 대해서는, 인터넷에 대한 에러 비율이 매우 작기 때문에 효율적인 전송을 위해서 영상 패킷이 커야 한다. 패킷 크기를 전송 채널에 가장 적합하도록 변경하기를 원하는 중간 단계는 SSS에서의 복호화/재암호화 사이클에 의지할 필요가 있다.
Grosbois 등은 이미지 압축 표준 JPEG 2000에 대한 확장형 인증 및 액세스 제어 기법(scalable authentication and access control scheme)을 제안한다(Raphael Grosbois, Pierre Gergelot, 및 Touradj Ebrahimi 저, "Authentication and Access Control in the JPEG 2000 compressed domain", SPIE 제46차 연례 미팅 회보, Applications of Digital Image Processing 24, 샌디에고(San Diego), 2001년). 그것은 비트 스트림에서의 정보의 수정 및 삽입을 기초로 한다. 키 해시 값(keyed hash value)은 고주파 밴드 웨이브렛 계수(high-frequency band wavelet coefficients)의 부호를 의사 랜덤하게 반전(invert)시키는데 사용되는 의사 랜덤 시퀀스(pseudo-random sequence)를 생성하는데 사용된다. 계층 액세스 구조(layered access structure)는 상이한 애플리케이션들에의 적응을 허용한다. 그것의 주된 결점 중의 하나는 복호화를 돕기 위해 별도의 정보를 삽입한다는 것으로, 이는 압축 효율을 감소시킨다.
본 발명의 대상은 확장형 멀티미디어의 완전 확장형 암호화를 위한 예시적인 시스템 및 관련 방법을 포함한다. 본 발명의 대상을 이용하여 암호화된 확장형 비트 스트림은 확장형 특징들의 완전한 기능들을 암호화된 형식으로 유지한다. 상기 예시적인 확장형 암호화는 확장형 압축 효율 및 에러 회복성을 저하시키지 않으면서, 암호문에 대한 직접적인 트랜스코딩, 속도 정형화 및 기타 연산들을 허용한다. 본 발명의 대상은, 예컨대 MPEG-4 FGS, MPEG-4 FGST, SMART, 및 SMART++ 스트림을 포함한 확장형 멀티미디어 스트림에 적용될 수 있다.
하나의 예시적인 확장형 방법은 기본 계층만을 암호화한다. 다른 예시적인 확장형 방법은 확장형 멀티미디어 스트림의 기본 계층 및 확장 계층(들) 둘 다를 암호화한다. 기본 계층은 가벼운 보안 요구 사항에 대해 선택적으로 암호화되거나 더욱 엄격한 보안 요구 사항에 대해 완전하게 암호화될 수 있다.
개요(Overview)
본 발명의 대상은, 확장형 멀티미디어, 이를테면 최근에 채용된 MPEG-4 미세 입도 확장성(Fine Granularity Scalability; FGS) 영상 코딩 표준 및 SMART 영상 및 오디오 코딩과 같은 다른 확장형 멀티미디어 코딩 기법을 따르는 비트 스트림의 완전 확장형 암호화를 위한 시스템 및 관련 방법을 포함한다. 이러한 확장형 비트 스트림은, 동일한 스트림을 상이한 전송 및 애플리케이션 요구에 쉽고 유연하게 적응시킬 수 있게 하는 완전한 확장성을 제공한다. 본 발명의 대상은 암호화되지 않은 확장형 비트 스트림의 확장성 특징을 보존하려고 하는 암호화 기술을 제공한다. 이러한 예시적인 시스템 및 관련 방법은 확장형 멀티미디어 코딩 기법을 통한 암호화 기반(encryption-based) 디지털 저작 관리(digital rights management; DRM)에 유용하다.
본 발명의 대상의 일 태양에 따르면, 디지털 저작 관리와 같은 애플리케이션에 대한 확장형 비트 스트림을 암호화하기 위해, 상대적으로 낮은 복잡도를 갖는 예시적인 방법이 제시된다. 상기 예시적인 방법은 암호화된 암호문을 직접 이용하는 완전한 FGS 기능성을 가능하게 한다. 이는 비트 스트림에 대한 중간 연산(intermediate operations) 중에 비트 스트림을 복호화해야 하는 필요성을 방지한다. 본 발명의 대상을 이용하여, 중간 단계(intermediate stage), 이를테면 상기 비트 스트림을 동적 환경에 적합하도록 하는 프로세스 또는 장비(예컨대, 제한된 대역폭을 갖는 네트워크에 적합하도록 스트림의 비트율을 감소시키는 네트워크 장비)는, 상기 암호문을 복호화할 필요 없이, FGS 연산들, 이를테면 트랜스코딩, 속도 정형화, 및 재패킷화(re-packetization)를 수행할 수 있다. 암호화 및 복호화 사이클이 전송 중에 각 중간 장비에 의해 반복될 필요가 없으므로, 키 및 기타 다른 암호들(secrets)이 중간 단계에서 공유될 필요가 없기 때문에 더 나은 보안이 유지될 수 있다. 이는 중간 단계에 대한 처리 부하를 대단히 줄이고, 예시적인 확장형 암호화 시스템의 종단간(end-to-end) 보안을 증가시킨다. 또한 절단(truncations) 또는 다른 속도 정형화 조작(rate shaping manipulations)이 발생한 경우에도 남은 FGS 비트 스트림이 여전히 RD 최적화된 영상 스트림이 되도록, 상기 예시적인 암호화 시스템(200)은 미세 입도(fine granularity)를 보존한다.
또한, 예시적인 암호화 시스템 및 방법은 확장형 압축 효율 및 전송 패킷 유실과 비트 에러에 대한 에러 회복성을 저하시키지 않는다. 상기 예시적인 시스템 및 방법은 상기 암호화된 스트림의 랜덤 액세스(random access) 및 역플레이(reverse play)도 허용한다.
예시적인 확장형 암호화 시스템의 개요(Overview of Exemplary Scalable Encryption Systems)
도 1은 기본 계층(106) 및 상기 기본 계층(106)을 기초로 하는 확장 계층(108)으로 이루어진 확장형 멀티미디어 컨텐트(102)에 대한 예시적인 확장형 암호화 시스템(100)을 보여준다. 그것은, 상기 기본 계층(106)을 받아서, 적어도 하나의 키(key) 또는 암호(secret)를 이용하여 그것을 선택적으로 또는 완전히 암호화된 기본 계층(212)으로 변환하는 기본 계층 암호기(base layer encrypter)(104)를 포함한다. 본래의(즉 암호화되지 않은) 확장형 멀티미디어 컨텐트(102)의 완전 확장성을 유지하기 위해서, 상기 확장 계층(108)은 암호화되지 않는다.
도 2는 상기 기본 계층(106) 및 확장 계층(108) 양자 모두를 상이한 기법으로 암호화하는 다른 예시적인 확장형 암호화 시스템(200)을 보여준다. 상기 예시적인 시스템(200)은 예시적인 암호화 엔진(encryption engine)(204)을 갖는 예시적인 멀티미디어 장치(mutimedia device)(202)를 포함한다. 상기 암호화 엔진(204)은 확장 계층 암호기(enhancement layer encrypter)(208)와 통신적으로 결합된(communicatively coupled) 상기 기본 계층 암호기(104)를 포함한다.
상기 예시적인 멀티미디어 장치(202)는 하나의 기본 계층(106)과 적어도 하나의 확장 계층(108)을 갖는 확장형 멀티미디어 컨텐트(102), 예컨대 확장형 MPEG-4 FGS 비트 스트림을 수신하고, 상기 예시적인 암호화 엔진(204)을 이용하여 상기 멀티미디어 컨텐트(102)를 확장형 암호화된 멀티미디어 컨텐트(210)로 암호화한다. 상기 예시적인 암호화 엔진(204)은, 상기 멀티미디어 컨텐트(102)의 기본 계층(106) 및 확장 계층(108) 양자 모두를 수신하고, 적어도 하나의 키, 암호, 및/ 또는 기본 계층 컨텐트를 기초로 하는 다른 정보{즉 이하에서 논의되는 "기본 계층 키(base layer key)"}를 이용하여 확장 계층(108)을 선택적으로 암호화된 확장 계층(selectively encrypted enhancement layer)(214)으로 변환한다. 상기 컨텐트 기반(content-based) 기본 계층 키에 부가하여, 다른 정보 및 전역 키(global keys)가 암호화에 사용될 수 있다. 전역 키는 전체 프레임, 셀(cell), 스트림 세그먼트(stream segment), 또는 스트림을 암호화하는데 사용되는 임의의 정보 조각이다. 전형적으로 전역 복호화 키(global decryption key)는 전체 영상, 영화 등의 멀티미디어 스트림에 대한 암호화를 해제하기 위한 복호화 암호를 말한다. 복수의 키, 정보, 및 암호는 스트림 사이퍼 키(stream cipher key)라고 불릴 수 있거나, 또는 실제로 하나의 스트림 사이퍼 키로 결합될 수 있다.
여기서 FGS 비트 스트림은 확장형 멀티미디어 컨텐트(102)의 일례로서 사용될 것이다. FGS는 상기 멀티미디어 컨텐트(102)를 하나의 기본 계층(106) 및 다음의 예에서의 하나의 확장 계층(108)으로 분할한다. FGS 프로파일에서, FGS 시간적 영상 객체 플레인 모드(FGS temporal video object plane mode; FGST VOP)가 확장 계층 VOPs를 위해 상기 기본 계층(106)으로부터의 순방향, 역방향, 또는 양방향의 예측을 사용할 수 있는 반면, FGS 영상 객체 플레인 모드(FGS video object plane mode; FGS VOP)는 상기 기본 계층(106)을 확장 계층 VOPs의 예측을 위한 참조 소스(reference source)로 사용할 수 있다.
예시적인 암호화 엔진(Exemplary Encryption Engine)
도 3은 도 2의 예시적인 암호화 엔진(204)을 더욱 상세하게 보여준다. 상기 기본 계층 암호기(104){상기 기본 계층 암호기는 상기 멀티미디어 컨텐트(102)로부터 상기 기본 계층(106)을 수신(및/또는 도출)함}는 상기 확장 계층 암호기(208)
{상기 확장 계층 암호기는 상기 멀티미디어 컨텐트(102)로부터 하나 이상의 확장 계층(108)을 수신(및/또는 도출)함}와 통신적으로 결합된다. 상기 예시적인 암호화 엔진(204)은, 들어오는 멀티미디어 컨텐트(102) 이외에 하나 이상의 전역 키(318) 또는 기타 암호화 정보를 수신할 수 있다.
기본 계층 암호기(Base Layer Encrypter)
예시적인 암호화 엔진(204)의 일 구현예에 있어서, 기본 계층 암호기(104)는, 도시된 바와 같이 예시적인 확장형 암호화를 수행하는 구성 요소들, 이를테면 컨텐트 기반 키 생성기(content-based key generator)(302), 스트림 사이퍼(stream cipher)(304), 및 제어 로직(control logic)(308)과 통신적으로 결합된 난수 생성기(random number generator)(306)와 같은 구성 요소들을 갖는다.
하나의 구현예에 있어서, 이러한 예시적인 암호화 엔진(204)은, "C&S 암호화"라고 불리는 Jakubowski와 Venkatesan에 의한 암호화 기술(Mariusz H. Jakubowski, 및 Ramarathnam Venkatesan 저, "The Chain & Sum Primitive and Its Applications to MACs and Stream Ciphers", EUROCRYPT'98, pp 281-293면, 1998년, 여기서 인용문헌으로 삽입됨)을 수정한 것을 이용한다. C&S 암호화는 합산(sum), 또는 체인 및 합산(chain and sum) 프리미티브(primitive)(요컨대 C&S)(이것은 데 이터를 암호화하고 인증하기 위해 공동으로 적용됨)를 갖는 범용 블록 연쇄 기법(universal block chaining)을 나타낸다. 상기 프리미티브는 합산 단계와 함께 적용되는 "약한(weak)" CBC-타입 암호화이며, 영상 스트림 내의 데이터 블록들을 암호화하는 스트림 사이퍼(stream ciphers)에 대한 전위(front end)로서 이용된다.
상기 예시적인 암호화 엔진(204)에 의해 수행됨에 따라, 입력 데이터의 시퀀스, 예컨대 영상 프레임 또는 기본 계층 컨텐트{수 백의 "기계 워드(machine word)"로 이루어지거나 이와 유사함}의 셀(cell)을 나타내는 멀티미디어 컨텐트(102)의 세그먼트는 CBC-타입 프리미티브에 의해 처리된다. 상기 프리미티브에서, 사이퍼(cipher)는 교대로 적용되는 가역 보편 해시 함수(invertible universal hash functions)의 쌍에 의해 대체된다. 기본 계층 컨텐트의 출력 워드(output words)는 합산되어, 프레임 또는 셀(cell) 내의 마지막 바로 다음의 "워드(word)" 자리에 기록된다. "pre-MAC"{"MAC"은 메시지 인증 코드(message authentication code)를 나타냄}이라고 불리는 마지막 두 개의 워드는 블록 사이퍼(block cipher)로 암호화된다. 이러한 pre-MAC은 암시적으로 상기 기본 계층 컨텐트에 대한 MAC 값이며, 상기 기본 계층(106) 자체를 암호화하기 위한 컨텐트 기반의 정보(content based info)(312)뿐만 아니라 확장 계층(108)을 암호화하기 위한 컨텐트 기반의 키의 일부로서도 기능한다. pre-MAC은, 기본 계층 키(310)로 사용되는 경우에, 적어도 하나의 스트림 사이퍼(304 및 314)를 직접적 또는 간접적으로 동기화시키는데 사용되거나, 스트림 사이퍼 키(316)를 생성하기 위해 사 용되거나, 벌크(bulk) 기본 계층 컨텐트의 나머지를 암호화하기 위하여 기본 계층 사이퍼(304)를 이용하여 의사 랜덤 일회용 패드(pseudo-random one-time pad)를 계산하는데 사용된다.
상기 예시적인 암호화 엔진(204)이 대량의 데이터를 암호화할 수 있다고 하더라도, 상기 암호화는 {기본 계층(106) 및 확장 계층(108)마다} 오직 한번 적용될 필요가 있는데, 예컨대 일회 압축이 FGS 기법에서 수행되는 때와 동시에 암호화가 적용될 수 있다. 예시적인 C&S 암호화는 다른 암호화 루틴들에 비하여 상대적으로 낮은 복잡도를 갖기 때문에, 암호화 (및 복호화)가 상대적으로 빠를 수 있다. 상기 예시적인 암호화 엔진(204)에 의해 적용되는 암호화는 전형적으로 압출 효율 또는 에러 회복성의 어느 것에도 성능 저하를 가져오지 않는다.
속도를 증가시키기 위해서, 기본 계층 암호기(104)는 기본 계층 키(310), 예컨대 pre-MAC의 암호화를 위해 DES 대신에 RC5, AES 또는 기타 다른 블록 사이퍼를 사용할 수 있다. 상기 컨텐트 기반 키 생성기(302)가 암호화되는 데이터의 일부를 대체하는 키를 생성하기 때문에, 상기 예시적인 C&S 암호화는 프레임, 셀 등 내의 데이터 크기를 증가시키지 않는다. 예시적인 구현예들에 있어서, 기본 계층 키(310)는 pre-MAC인데, 이것은 멀티미디어 데이터의 벌크, 즉 기본 계층 컨텐트로부터의 암호화 셀의 나머지를 암호화하기 위하여, 프레임, 셀, 영상 등에 대한 전역 암호화 키(318)와 함께 스트림 사이퍼(304)(전형적으로 RC4와 같은 암호화 알고리즘을 이용 및/또는 포함함)에 공급된다(언급한 바와 같이, MAC을 형성하는 속도를 증가시키기 위해서, pre-MAC은 별도로 RC5를 사용하여 암호화됨). MAC은 가역 적(reversible)이므로, 복호화기(도시되지 않음)가 후에 상기 암호화를 역으로 하여 비트 에러가 발생하지 않은 경우, 원래의 평문(original plaintext)을 되찾을 수 있다. 스트림 사이퍼 키(316)는 전역 암호화 키(318) 및 pre-MAC(이는 암호화되는 데이터의 일부의 하나 이상의 해시 값으로 이해될 수 있음) 양자 모두에 의존하기 때문에, 암호화 보안이 매우 강력하다. 다시 말해서, 무시할 수 있을 정도의 차이만을 갖는 두 개의 상이한 컨텐트는 동일한 전역 암호화 키(318)가 반복적으로 사용되더라도 상이한 암호문(ciphertexts)으로 암호화될 것이다.
기본 계층(106)은 선택적으로 또는 완전하게 암호화될 수 있다. 예시적인 선택적 암호화 모드(selective encryption mode)에서는, 기본 계층 비트들의 세트의 DC 값들, 예컨대, 즉 intra_dc_coefficients 및 dct_dc_differentials, DCT 계수들의 부호 비트들, 모션 벡터들 horizontal_mv_data 및 vertical_mv_data 의 부호 비트들, 및/또는 모션 벡터 나머지들 horizontal_mv_residual 및 vertical_mv_residual 들이 상기 암호화(예컨대 상술된 예시적인 수정 C&S 암호화)를 이용하여 암호화되는 벡터를 형성하기 위해서 각 프레임에 대해 추출된다. 그리고 나서 기본 계층(106)의 원래의 데이터를 대체하기 위해서 암호문이 원래의 필드(fields)에 다시 넣어진다. 예시적인 완전 암호화 모드에서는, VOP 헤더를 제외한 상기 기본 계층(106)의 엔트로피 코드화된(entropy coded) 영상 데이터는, 각 프레임에 대해 예컨대 예시적인 C&S 암호화를 이용하여 암호화된다.
완전 암호화 모드 또는 선택적 암호화 모드 어느 것에서의 기본 계층 암호화도 멀티미디어 데이터의 엔트로피 코딩에 영향을 미치지 않는다는 점을 유의해야 한다. 예시적인 C&S 암호화는 암호화되는 데이터의 크기를 보존하기 때문에, 예시적인 암호화는 FGS 압축 효율에 부정적인 영향을 미치지 아니한다. 또한 설명된 선택적 암호화 모드는 완전히 MPEG-4 FGS와 호환된다는 점도 주목할 가치가 있다.
위의 예시적인 구현예에 있어서, 기본 계층 암호기(104)는, 복호화를 수행하기 전에 전체 프레임에 대한 충분한 데이터를 수집하는 것을 필요로 하는 애플리케이션 또는 장치에 대한 암호화를 수행할 수 있다. 이러한 애플리케이션 또는 장치는 전체 기본 계층 프레임을 버퍼링(buffering)하고 각 암호화된 필드에 대한 비트들의 위치 및 개수를 기억하거나, 그렇지 않으면 기본 계층 프레임을 두 번(복호화에 대해 한번 그리고 압축 해제에 대해 한번) 파싱(parsing)해야 한다. 예시적인 C&S 암호화는 이러한 타입의 애플리케이션 및 장치의 일부에 대해서는 수용 가능하지 않을 수 있다. 대안적인 예시적인 구현예로서, 다양한 모드들, 이를테면 전자 코드북(Electronic Codebook; ECB), 사이퍼 블록 연쇄(Cipher Block Chaining; CBC), 또는 오프셋 코드북(Offset Codebook; OCB) 모드들에서 사용되는 RC4와 같은 스트림 사이퍼, 또는 DES, AES, RC5와 같은 블록 사이퍼는 완전 암호화 모드 또는 선택적 암호화 모드의 어느 것에 대하여도 상기 예시적인 C&S 암호화를 대체하는데 사용될 수 있다. 그 다음에 각 프레임에 대해 상이한 난수를 발생시키기 위하여 상기 난수 생성기(306)가 사용될 수 있다. 난수는 각 기본 계층 프레임의 헤더에 삽입될 수 있으며, 상기 프레임에 대해 암호화되는 데이터와 XOR하기 위해, 각 프레임에서 상이한 랜덤 비트를 생성하는 스트림 사이퍼(304)에 대한 입력으로서, 또는 상기 프레임에 대해 암호화되는 데이터를 암호화하는 블록 사이퍼 암호화(block cipher encryption)에 대한 입력으로서, 전역 암호화 키(318)와 결합될 수 있다. 보통 길이의 영상에 대해서는, 32-비트 난수가 영상의 모든 프레임에 대해 충분한 용량을 제공해야 하는데, 만약 그렇다면, 압축 효율에 영향을 미치는 오버헤드는 기본 계층 프레임 당 32 비트가 될 것이다. 32-비트 난수는 실질적으로 각 영상 프레임을 암호화하는 비반복적인 랜덤 시퀀스(non-repeating random sequence)를 보장한다(그렇지 않다면 난수의 충돌이 있게되는데, 이는 좋은 품질의 난수 생성기가 사용되는 경우에는 극히 작은 확률임). RC4는 대단히 많은 수의 가능한 상태들(possible states)을 갖기 때문에, 예시적인 C&S 암호화를 그것으로 대체하는 것은 암호화된 컨텐트의 보안을 보장한다. 삽입된 난수는 확장 계층(108)의 암호화에서 기본 계층 키(310)(예컨대 pre-MAC 대신에)로서 사용될 수도 있는데, 이하에서 설명된다.
확장 계층 암호기(Enhancement Layer Encrypter)
도 1에 도시된 바와 같이, 가장 단순한 예시적인 구현예는 확장 계층을 암호화되지 않은 상태로 두는 것이다. 확장 계층(108)은 참조로서의 기본 계층(106)으로부터의 영상 객체 플레인들(video object planes; VOPs)으로부터 예측되거나 도출되기 때문에, 소정의 애플리케이션에서 전체 멀티미디어 컨텐트(102)의 보호(protection)는 기본 계층(106)을 보호하는 것으로 충분하다. 이러한 예시적인 구현예에 있어서, 암호화된 기본 계층(212) 및 상기 암호화되지 않은 기본 계층(106)으로부터 예측되거나 도출된 암호화되지 않은 확장 계층(108)을 포함하는 "암호화된(encrypted)" 멀티미디어 스트림(110)이 생성된다.
각각의 개별적인 VOP의 관점에서 보면, 이러한 예시적인 구현예들은 매우 안전해 보인다. 복호화 키를 알지 못하고는, 상기 암호화된 기본 계층(212) 및 상기 암호화되지 않은 확장 계층(108) 양자 모두로부터 재구성된 프레임은 어떠한 유용한 정보도 포함하지 않는다. 그러나, VOPs로 이루어진 영상의 전체적인 관점에서 보면, 결과가 다름이 명백하다.
만약 QCIF 영상이 약 1초 당 1.0 Mb의 전체 비트율을 갖는, 저비트율(1초 당 약 50 Kb)의 기본 계층(106) 및 확장 계층(108)으로 압축되고, 기본 계층(106)으로부터의 픽셀 값(pixel values)이 0(또는 다른 고정 값)으로 세팅되어, 재구성된 FGS 용상이 플레이된다면, 다음을 관찰할 수 있다. 첫 번째, 각각의 개별적인 재구성된 프레임을 조사해보면, 각각은 매우 랜덤하며, 많은 유용한 정보가 추출될 수 없다. 그러나 만약 재구성된 영상이 플레이된다면, 움직이는 객체(moving objects)의 윤곽을 쉽게 볼 수 있다. 더욱 중요하게도, 이러한 움직이는 객체 및 그들의 동작은 인간의 눈에 의해 올바르고, 의미있게 관찰될 수 있다. 다수의 애플리케이션에 있어서, 영상 암호화 시스템으로부터 누출되는 이러한 영상 정보는 수용 가능하지 않을 수 있다. 이러한 현상은 아마도 영상의 인접 프레임들 사이의 강한 상관 관계(correlation)에 의해 설명된다. 기본 계층(106) 내의 참조 프레임들(reference frames)이 강하게 상호 관련된 경우에는, 일련의 확장 계층 프레임들은 기본 계층 암호기(104)에 의해 의도된 것보다 더욱 많은 정보를 누설한다. 따라서 기본 계층(106)의 암호화만으로는 다수의 애플리케이션에 대한 다수의 타입의 확장형 멀티미디어 컨텐트(102)를 암호화하기에 충분하지 않을 수 있다.
도 3을 다시 살펴보면, 예시적인 암호화 엔진(204)에 포함된 대안적인 예시적인 확장 계층 암호기(208)는 위에서 언급된 확장 계층 사이퍼(enhancement layer cipher)(314){이것은 랜덤 비트 엔진(random bit engine)(320)에 포함됨}를 포함한다. 상기 예시적인 확장 계층 암호기(208)는 또한 프레임 관리자(frame manager)(322), 프레임 버퍼(frame buffer)(324), 프레임 비트 마스크 버퍼(frame bitmask buffer)(326), 프레임 및 비트 마스크 결합자(frame and bitmask combiner)(328), 및 재동기화 정보 관리자(resynchronization informaton manager), 즉 "동기 관리자(synch manager)"(330)를 포함하는데, 모두 도시된 바와 같이 제어 로직(332)과 통신적으로 결합된다. 상기 프레임 관리자(322)는 VOP 관리자(334) 및 프레임 카운터(frame counter)(336)를 더 포함할 수 있다. 상기 랜덤 비트 엔진(320)은 시드 관리자(seed manager)(338)를 포함한다. 상기 예시적인 확장 계층 암호기(208)는 도시된 실례보다 부가적인 구성 요소 또는 더 적은 구성 요소를 포함할 수 있다. 예시적인 확장 계층 암호기(208)의 기능들이 지금은 간략한 개요 형식으로 제공될 것이고, 뒤에 더욱 장황하게 설명될 것이다.
간단하게 말해서, 일 구현예에서 상기 예시적인 확장 계층 암호기(208)는, 확장 계층(108) 내의 DCT 계수들의 부호 비트들을 랜덤 또는 의사 랜덤 비트 시퀀스와 XOR함으로써 선택적으로 확장 계층(108)을 암호화한다. 멀티미디어 스트림의 각 프레임은, 동일한 랜덤 시퀀스를 상이한 프레임에 적용하여 암호화의 보안에 있어 취약성을 유발하는 것을 회피하기 위하여, 서로 상이한 랜덤 비트 시퀀스를 이 용한다. MPEG-4 FGST 구현예에 대해서는, DCT 계수와 유사한 방식으로 모션 벡터가 암호화되기도 한다. 지금부터 상기 예시적인 확장 계층 암호기(208)의 동작이 더욱 상세하게 설명될 것이다.
확장 계층(108)의 예시적인 확장형 암호화는 상술된 상기 기본 계층(106)의 암호화에 의해 대단히 용이하게 된다. 기본 계층 키(310), 이를테면 pre-MAC이 기본 계층 암호기(104)로부터 확장 계층 암호기(208)로 전달되어, 전역 암호화 키(318)과 함께 랜덤 비트 엔진(320)에 공급된다(하나 이상의 기본 계층 프레임을 기초로 하는 FGST VOP의 경우에는, 각 기본 계층 프레임으로부터의 기본 계층 키(310)가 전역 암호화 키(318)와 함께 랜덤 비트 엔진(320)에 공급될 수 있음). 랜덤 비트 엔진(320) 내 및/또는 이와 연관된 확장 계층 사이퍼(314)는 RC4와 같은 기술을 이용하여 확장 계층(108) 내의 DCT 계수들의 부호 비트들과 XOR하는 랜덤 비트 시퀀스를 생성한다. 확장 계층(108) 내의 DCT 계수들과 상기 랜덤 또는 의사 랜덤 비트 시퀀스의 XOR의 수행에 관한 세부 사항들이 이하에서 더욱 충분하게 설명된다.
랜덤 비트 엔진(320) 내의 시드 관리자(338)는, 하나의 확장 계층(108) 프레임을 암호화하기 위해 랜덤 비트 엔진(320)에 의해 발생된 동일한 비트 시퀀스가, 기본 계층(106)의 선택적 암호화에서 기본 계층(106)의 대응 프레임을 암호화하기 위해서도 사용되지 않는다는 것을 보장한다. 상기 비트 시퀀스는 의사 랜덤일 수 있어서 반복 가능(repeatable)할 수 있는데, 복수의 프레임들에 동일한 비트 시퀀스를 적용하는 것은 보안성을 손상할 것이다. 랜덤 비트 엔진(320)은 시드 관리자(338)를 이용하여 암호화를 손상하는 의사 랜덤 시퀀스의 반복을 방지한다. 이것을 달성할 수 있는 한가지 방법은, 시퀀스를 랜덤화(randomization)하는 시드로서, 고정 스트링, 가능하다면 확장 계층의 일부를 확장 계층 사이퍼(314)에 공급하는 것이다.
랜덤 비트 엔진(320)에 의해{예컨대, 포함된 확장 계층 사이퍼(314)에 의해} 생성된 랜덤 비트들은, 프레임 관리자(322)에 의해 결정되는 유효한(operative) 영상 프레임 내의 관련 비트들의 배치에 대응하여, 하나의 배열(array) 또는 이진 행렬(binary matrix)로 조직된다. 이러한 배열 또는 이진 행렬은 "프레임 비트 마스크(frame bitmask)" 또는 "비트 마스크(bitmask)"로 불릴 수 있다. 하나의 구현예에 있어서, 프레임 비트 마스크 버퍼(326)는 랜덤하게 생성된 비트들(randomly generated bits)을 포함하는 프레임 비트 마스크를 보관하는 반면에, 프레임 버퍼(324)는 확장 계층(108)의 프레임을 보관하는데 사용될 수 있다. 프레임 및 비트 마스크 결합자(frame and bitmask combiner)(328)는 확장 계층 프레임 내의 DCT 계수 부호 비트를 프레임 비트 마스크의 대응 랜덤 비트와 XOR한다. 다시 말하면, 확장 계층(108) 내의 DCT 계수의 부호 비트는, 그것이 확장 계층(108)에서 보이는 경우에, 프레임 비트 마스크 내의 동일한 위치에 있는 랜덤 비트와 XOR 된다. 설사 상기 프레임 및 비트 마스크 결합자(328)에 의해 생성된 확장형 암호화된 확장 계층(214)의 전송 도중에 임의의 패킷 유실이 존재하더라도, 수신된 패킷들은 패킷 누락에도 불구하고 복호화를 위해 올바른 랜덤 비트들에 맞춰 쉽게 재정렬될 수 있다.
시간적 확장 프레임(temporal enhancement frame) 내의 모든 DCT 계수들에 대해 비트-플레인 코딩(bit-plane coding){이것은 FGST 시간적 확장성(FGST)이라고 불림}을 사용하는 것도 가능하다. FGS VOPs 및 FGST VOPs는 하나의 확장 계층 또는 두 개의 분리된 확장 계층들의 어느 것으로도 조직될 수 있다. 각각의 FGST VOP는, 예컨대 기본 계층으로부터의 순방향, 역방향, 또는 양방향 예측을 이용하여 코드화될 수 있다. 비트 에러 또는 패키지 유실이 발생한 경우에 에러 전파를 감소시키기 위하여, 동기 관리자(330)에 의해 재동기화 표시(resynchronization markers)가 FGS 스트림에 삽입될 수 있다. 확장 계층 내의 비트 플레인 분리자 fgs_bp_start_code가 에러 회복성 목적을 위한 재동기화 표시로서 사용될 수도 있다.
FGST VOPs의 예시적인 확장형 암호화를 위해, 모션 벡터들이 암호화된 비트의 세트(들)에 추가된다. 상기 예시적인 암호화는 기본 계층 선택적 암호화에 대해 상술된 것과 같다. 상기 모션 벡터 비트는 DCT 부호 비트와 동일한 방법으로 확장 계층 사이퍼(314)를 이용하여 암호화된다.
도 4에 도시된 바와 같이, 각자 헤더(406 및 408)를 가진 복수의 FGST VOPs(402 및 404)는 그들의 참조 VOPs(412)의 소스(source)로서 동일한 기본 계층 프레임(410)을 사용할 수 있다. 만약 상술된 바와 같이 랜덤 비트 엔진(320)이, 동일한 기본 계층 프레임(410)을 기초로 하는 상이한 FGST VOPs에 대해 동일한 랜덤 비트들을 생성하고자 한다면, 결국 보안성이 손상될 것이다. VOP 관리자(334)는 상기 프레임 카운터(336)에 의해 발생된 프레임 카운트(416 및 418)를 FGST VOP 헤더(406 및 408)에 삽입한다. 이 프레임 카운트(416 및 418)는 확장 계층 사이퍼(314)(예컨대, RC4를 사용함)에 공급되어, 동일한 기본 계층 프레임(410)을 기초로 하는 각각의 FGST VOPs(402 및 404)에 대해 상이한 랜덤 비트들이 생성되도록 한다. 상이한 기본 프레임에 대해서는 확장 계층 사이퍼(314)에 공급되는 다른 정보들이 중복을 방지하기 때문에, 상이한 기본 계층 프레임을 기초로 하는 상이한 그룹의 FGST VOPs에 대해서는, 동일한 프레임 카운트 시퀀스가 재사용(reuse)되거나 재시작(restart)될 수 있다. 즉, 기본 계층 키(310)는 각각의 기본 계층 프레임(410)에 대해 상이하다. 프레임 카운터(336)가 대부분의 애플리케이션에서 효과적으로 동작하기에는 FGST 확장 계층 프레임 당 두 개 또는 세 개 비트의 오버헤드면 충분하다. 암호화된 멀티미디어 컨텐트(210)의 전송 중에, 중간 단계에서 수행되는 어떤 프로세스들은 타임 스탬프(time stamp)를 변경할 수 있기 때문에, VOP 관리자(334)에 의해 삽입되는 프레임 카운트(416 및 418)는 타임 스탬프보다 더욱 효과적이다. 또한, 프레임 카운트(416 및 418)는, 다소의 FGST VOPs(402 및 404)를 포함하는 패킷이 전송 중에 분실된 경우에, 복호화 개체(decrypting entity)로 하여금 수신된 FGST VOPs(402 및 403)의 복호화를 위해 올바른 랜덤 비트를 생성하도록 한다.
예시적인 확장 계층 암호기(208)는 원래의 암호화되지 않은 확장 계층(108)의 에러 회복성을 보존하며, FGS 압축과 함께 제공된 모든 확장형 확장 계층 연산을 가능하게 한다.
예시적인 암호화 엔진(204)의 몇몇 구현예에 있어서는, 기본 계층 사이퍼(304) 및 확장 계층 사이퍼(314)가 동일한 모듈(module) 또는 루틴(routine)일 수 있다. 기본 계층(106) 및 확장 계층(들)(108) 양자 모두의 암호화에 관련되어 사이퍼 프로세스(cipher process)가 발생된다는 것을 강조하기 위하여, 도시된 구현예에서는 그것들이 별개의 개체로 보여진다.
예시적인 방법들(Exemplary Methods)
도 5는 예시적인 확장형 암호화 방법(500)을 보여준다. 이 예시적인 확장형 암호화 방법(500)은 도 2 및 도 3에 도시된 예시적인 암호화 엔진(204)과 같은 장치에 의해 수행될 수 있다. 상기 흐름도에서, 연산들이 개별적인 블록들로 요약된다. 상기 연산들은 하드웨어로, 그리고/또는 프로세서에 의해 수행될 수 있는 기계 판독 가능 명령어(machine-readable instructions)(소프트웨어 또는 펌웨어)로서 수행될 수 있다.
블록 502에서는, 확장형 멀티미디어 스트림의 기본 계층 프레임이 암호화된다.
블록 504에서는, 적어도 기본 계층의 컨텐트의 일부를 기초로 하는 키를 이용하여 확장형 멀티미디어 스트림의 확장 계층이 암호화된다.
도 6은 다른 예시적인 확장형 암호화 방법(600)을 보여준다. 이 예시적인 확장형 암호화 방법(600)은 도 2 및 도 3에 도시된 예시적인 확장형 엔진(204)과 같은 장치에 의해 수행될 수 있다. 상기 흐름도에서, 연산들이 개별적인 블록들로 요약된다. 상기 연산들은 하드웨어로, 그리고/또는 프로세서에 의해 수행될 수 있 는 기계 판독 가능 명령어(소프트웨어 또는 펌웨어)로서 수행될 수 있다.
블록 602에서는, 확장형 멀티미디어 스트림의 기본 계층이 첫 번째 키를 이용하여 암호화된다.
블록 604에서는, 상기 첫 번째 키와 적어도 부분적으로는 기본 계층 컨텐트의 일부로부터 도출된 두 번째 키를 이용하여, 랜덤 또는 의사 랜덤 비트 시퀀스가 생성된다. 첫 번째 키는 전형적으로 암호화되는 전체 멀티미디어 스트림에 대한 전역 키(global key)가 되고, 두 번째 키는 전형적으로 단지 현재 프레임의 향상 계층, 즉 현재 프레임의 기본 계층을 참조하는 FGST VOPs를 암호화하기 위한 기본 계층 키이다.
블록 606에서는, 확장 계층 내의 DCT 계수들의 부호 비트들이 랜덤 비트 시퀀스로부터의 비트들과 XOR된다.
예시적인 암호화의 보안(Security of the Exemplary Encryptions)
시각적 효과(visual effect) 및 시스템 보안(system security)은 둘 다 멀티미디어 암호화 방법에 의해 부여된 보안의 요인들이다. 시각적 효과는, 사용자가 암호화된 멀티미디어 스트림으로부터 얼마나 많은 유용한 정보를 도출할 수 있는 지에 대해 관계된다. 시스템 보안은, 암호화된 스트림이 능동적 및 수동적 공격들에 제공하는 저항의 정도(amount of resistance)에 관계된다.
보안에 관해서는, 텍스트 암호화와 달리 멀티미디어 암호화는 공격자(attacker)가 이용할 수 있는 평문 영상(plaintext video)에 강한 상관 관계 를 포함할 수 있다. 텍스트 암호화에 대한 성공적인 공격은 보통 전체 텍스트의 일부 또는 전부에 대한 암호화가 완벽히 역으로 될 것을 필요로 하는 반면, 멀티미디어 암호화에 대한 공격은 부분적인 또는 대략적인 역 암호화(reversal of the encryption)가 성공적일 것만을 요구할 수 있다. 다시 말하면, 암호화된 영상에서, 영상 프레임 내의 데이터 및 영상 프레임 간의 데이터의 모든 부분이 관련된 것이 아니라서, 원본 영상의 대략적인 복구는 암호화된 스트림으로부터 다량의 정보를 발생시킬 수 있다. 다양한 애플리케이션들은 보안 실패에 대한 상이한 기준을 갖는다.
상술된 예시적인 완전 암호화와 대조적으로, 상술된 기본 계층(106)에 대한 예시적인 선택적 암호화는 암호화된 멀티미디어 컨텐트(210)에 소정의 시각적 구조(visible structure)를 둔다. 인간의 눈은 정지 부분과 이동 부분간의 차이를 구별할 수 있다. 반면에, 상술된 예시적인 완전 암호화 방법은 암호화된 멀티미디어 컨텐트(210)로부터 시각적으로 식별 가능한 거의 모든 구조(structure)를 제거한다. 완전 암호화된 기본 계층(212) 및 선택적 암호화된 확장 계층(214)을 포함하는 예시적인 완전 암호화된 멀티미디어 컨텐트(210)는, 복호화되지 않는다면 시각적으로 랜덤하고 무용한 것 같이 보인다.
기본 계층 사이퍼(304) 및/또는 확장 계층 사이퍼(314)에 공급되는 컨텐트 의존적인 입력(content dependent input){예컨대, 기본 계층 키(310)}으로 인해, 각 프레임의 암호화가 상이하기 때문에, 상기 예시적인 확장형 완전 암호화 모드 및 상기 예시적인 확장형 선택적 암호화 모드는 알려진 평문 공격(known plaintext attack)에 대해 강력하다. 다른 타입의 공격에 대한 완강성(robustness)은 선택적 암호화 모드와 완전 암호화 모드 사이에서 달라진다. 예시적인 확장형 완전 암호화 모드에 대해서는, 보안의 정도가 암호화를 위해 기본 계층 사이퍼(304)에서 사용되는 기본적인 알고리즘에 달려있다. 만약 예시적인 C&S 기술이 사용된다면, 그것은 안전한 암호화를 제공한다. 반면에, 사용되는 상태들(states)의 제한된 개수로 인하여, 예시적인 확장형 선택적 암호화 모드는 덜 안전할 수 있다.
암호화를 위해 선택되는 비트들은 달성되는 보안의 정도에 영향을 미칠 수 있다. 예를 들면, DC 계수들만의 암호화는 암호화된 프레임의 가장자리(edges)를 여전히 시각적으로 식별 가능한 상태로 둘 수 있다. AC 계수들의 부호 비트의 암호화는 오직 영(zero)이 아닌 AC 계수들에 대해서만 수행될 수 있다. 모션 벡터의 경우에는, 하나의 프레임에 대한 모션 벡터의 개수가 제한되기 때문에, 이러한 부호 비트들에 대한 암호화는 전사적 공격(brute force attack)에 대해 그다지 안전하지 않다. 모션 벡터 나머지를 위해 사용되는 비트 수가 보통 매우 작기 때문에(예컨대, 프레임 당 2 비트), 모션 벡터 나머지들(residues)에 대한 암호화도 많은 보안성을 추가하지 않는다. 즉 정확하게 또는 부정확하게 렌더링된 모션 벡터 나머지가 많은 변경이나 지각적인 손해를 야기하지는 않는다.
어떤 실시예에 있어서는, 예시적인 선택적 암호화가 MPEG-4 FGS와 같은 소정의 확장형 기법들에 대해 완전한 호환성을 제공하되, 약한 보안성만을 제공한다. 그러나 다수의 멀티미디어 스트림(102)들은 렌더링된 영상이 보통 낮은 정보적 가치를 가지는 오락 애플리케이션에서의 사용을 위한 것이기 때문에, 예시적인 선택 적 암호화는, 공격자에게 합법적으로 그 영상의 사본을 구매하는 것보다 그 영상을 복호화하는데 더 많은 대가를 치르게 하면서, 속도와 확장성을 제공한다. 따라서, 예시적인 선택적 암호화는 다수의 애플리케이션에 대해 실용적인 해결책이 된다.
실험 결과(Experimental Results)
적어도 예시적인 암호화 엔진(204)의 일부는 순수한 C++ 코드로 구현되어 왔다. 512 메가바이트(megabytes) 메모리를 구비한 PEMTIUM
Figure 112004013320041-pat00001
III 667 메가헤르츠(megahertz) DELL
Figure 112004013320041-pat00002
PC 상에서 예시적인 암호화 엔진(204)을 이용하여 테스트가 수행되었다{PENTIUM
Figure 112004013320041-pat00003
III는 캘리포니아, 산타 클라라(California, Santa Clara)에 있는 INTEL
Figure 112004013320041-pat00004
사의 마크임} {텍사스, 오스틴(Texas, Austin)에 있는 DELL
Figure 112004013320041-pat00005
컴퓨터 회사}.
도 7은 예시적인 확장형 암호화 전후의 확장형 멀티미디어 스트림의 시각적 렌더링(rendering)(700)을 보여준다. 원래의 영상 이미지들(702 및 702')의 프레임들은 예시적인 암호화 엔진(204)에 의해 처리되기 전의 멀티미디어 컨텐트(102)를 나타낸다. 선택적 암호화된 영상 이미지들(704 및 704')은 예시적인 선택적 암호화를 한 후에 복호화되기 전의 암호화된 멀티미디어 컨텐트(210)를 나타낸다. 상기 선택적 암호화된 영상 이미지들(704 및 704')은 소정의 인식 가능한 영상 객체(706)를 포함하고 있으나, 실질적인 감상의 목적을 위해서 명확하고, 알기 쉽고, 즐길 수 있는 감상을 하기에는 지나치게 스크램블되어 있다. 완전 암호화된 영상 이미지들(708 및 708')은 예시적인 완전 암호화를 한 후에 복호화되기 전의 암호화된 멀티미디어 컨텐트(210)를 나타내고 있다. 상기 완전 암호화된 영상 이미지들(708 및 708')은 화면의 바탕를 통하여 펼처진 랜덤한 모양과 패턴처럼 보이며, 실질적인 감상의 목적을 위해서는 무용하다. 상기 암호화된 멀티미디어 컨텐트(210)는, 예시적인 확장형 완전 암호화로 암호화되든지 예시적인 확장형 선택적 암호화로 암호화되든지 간에 상술된 MPEG-4 및 FGST 확장성 특징들의 완전한 기능들을 유지한다는 점을 다시 한번 유의해야 한다.
결론(CONCLUSION)
전술한 것들은 확장형 멀티미디어의 완전 확장형 암호화를 위한 예시적인 암호화 엔진 및 관련 방법들을 설명한다. 상술된 본 발명의 대상은 하드웨어로, 소프트웨어로, 또는 하드웨어와 소프트웨어 둘 다로 구현될 수 있다. 소정의 구현예들에 있어서, 상기 예시적인 암호화 엔진 및 관련 방법들은 컴퓨터에 의해 수행되는 컴퓨터 실행 가능 명령어(computer-executable instructions), 이를테면 프로그램 모듈들의 일반적인 관계에서 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정 작업을 수행하거나 특정 추상적 데이터 타입(abstract data types)을 구현하는 루틴, 프로그램, 객체, 컴포넌트(component), 데이터 구조(data structures) 등을 포함한다. 작업들이 통신 네트워크를 통하여 연결된 원격 처리 장치에 의해 무선 통신을 통하여 수행되는 분산 통신 환경(distributed communications environments)에서 본 발명의 대상이 실시될 수도 있다. 무선 네트워크에서, 프로 그램 모듈들은 메모리 저장 장치들을 포함한 지역(local) 및 원격(remote) 양자 모두의 통신 장치 저장 매체(communications device storage media) 내에 위치될 수 있다.
본 발명을 통하여 확장형 멀티미디어의 완전 확장형 암호화를 위한 시스템 및 방법이 제공된다. 본 발명의 대상을 사용하여 암호화된 확장형 비트 스트림은 확장형 특징들의 완전한 기능들을 암호화된 형식으로 유지할 수 있다. 상기 예시적인 확장형 암호화는 확장형 압축 효율(scalable compression efficiency) 및 에러 회복성(error resiliency)을 저하시키지 않으면서, 암호문에 대한 직접적인 트랜스코딩, 속도 정형화 및 기타 연산들을 허용한다.

Claims (95)

  1. 기본 계층(base layer) 및 확장 계층(enhancement layer)을 갖는 확장형 멀티미디어 컨텐트(scalable multimedia content)를 수신하는 단계;
    첫 번째 기법을 이용하여 상기 기본 계층의 컨텐트를 암호화하는(encrypting) 단계; 및
    두 번째 기법을 이용하여 상기 확장 계층의 컨텐트를 암호화하는 단계를 포함하고,
    상기 첫 번째 기법은 상기 기본 계층의 상기 컨텐트의 적어도 일부로부터 기본 계층 키(base layer key)를 도출하는 단계를 포함하고, 상기 두 번째 기법은 상기 기본 계층 키를 이용하여 상기 확장 계층의 상기 컨텐트를 암호화하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    만약 상기 기본 계층의 상기 컨텐트 또는 상기 확장 계층의 상기 컨텐트가 적어도 하나의 개별적인 객체(object)라면, 상기 적어도 하나의 개별적인 객체는,
    수 개의 연속적인 프레임들로 이루어진 개별적인 객체,
    수 개의 영상 객체 플레인들로 이루어진 개별적인 객체,
    수 개의 패킷들로 이루어진 개별적인 객체,
    수 개의 페이로드들로 이루어진 개별적인 객체,
    상기 기본 계층 또는 상기 확장 계층의 전체 컨텐트로 이루어진 개별적인 객체, 및
    프레임(frame), 영상 객체 플레인(video object plane), 패킷(packet), 페이로드(payload)로 이루어진 개별적인 객체들의 그룹으로부터 선택되는 방법.
  3. 제1항에 있어서,
    상기 기본 계층의 상기 컨텐트의 적어도 일부로부터 상기 기본 계층 키를 생성하기 위해, 체인 및 합산(chain and sum)(C&S) 암호화 기술이 사용되는 방법.
  4. 제3항에 있어서,
    상기 C&S 암호화는 프리 메시지 인증 코드(pre-message authentication code)의 DES 암호화를 RC5 암호화로 대체하는 단계를 포함하는 방법.
  5. 제2항에 있어서,
    상기 기본 계층의 컨텐트를 암호화하는 단계는 상기 기본 계층을 선택적으로 암호화하는 단계를 더 포함하고,
    상기 선택적으로 암호화하는 단계는, 상기 기본 계층의 각 프레임으로부터의 하나 이상의 비트 세트들(bit sets)만을 암호화하는 단계를 포함하며,
    하나의 비트 세트는, intra_dc_coefficient 비트들의 이산 코사인 값들(discrete cosine values), dct_dc_differential 비트들의 이산 코사인 값들, 이산 코사인 변환 계수들(discrete cosine transformation coefficients)의 부호 비트들, 모션 벡터들(motion vectors)의 부호 비트들, 및 모션 벡터 나머지들(residues)의 부호 비트들로 이루어진 상기 프레임 내의 비트 세트들의 그룹으로부터 선택되는 방법.
  6. 제2항에 있어서,
    상기 기본 계층의 컨텐트를 암호화하는 단계는 전역 키를 이용하여 상기 기본 계층을 암호화하는 단계를 포함하고,
    상기 확장 계층의 컨텐트를 암호화하는 단계는 상기 전역 키 및 상기 기본 계층 키를 이용하여 상기 확장 계층을 암호화하는 단계를 포함하며,
    상기 전역 키 및 상기 기본 계층 키는 사이퍼에 입력되어, 상기 확장 계층 내의 이산 코사인 변환 계수들의 부호 비트들과 XOR되는 비트의 시퀀스를 생성하는 방법.
  7. 제6항에 있어서,
    선택적으로 암호화된 확장 계층을 생성하기 위해, 상기 비트의 시퀀스로부터의 비트들의 배열(array)을 상기 확장 계층의 프레임으로부터의 이산 코사인 변환 계수들의 부호 비트들의 대응 배열과 XOR하는 단계를 더 포함하는 방법.
  8. 제7항에 있어서,
    선택적으로 암호화된 기본 계층을 생성하기 위해, 상기 비트의 시퀀스로부터의 비트들의 배열을 상기 기본 계층의 프레임으로부터의 이산 코사인 변환 계수들의 부호 비트들의 대응 배열과 XOR하는 단계를 더 포함하는 방법.
  9. 제2항에 있어서,
    상기 확장 계층의 컨텐트를 암호화하는 단계는 상기 확장 계층의 적어도 일부를 암호화되지 않은 상태로 두는 단계를 포함하는 방법.
  10. 제9항에 있어서,
    상기 기본 계층의 상기 컨텐트의 상기 암호화 단계는 스트림 사이퍼를 이용하는 방법.
  11. 제10항에 있어서,
    상기 스트림 사이퍼는 RC4 암호화 기술인 방법.
  12. 제10항에 있어서,
    상기 첫 번째 기법은 적어도 상기 기본 계층의 상기 컨텐트의 일부로부터 기본 계층 키를 도출하는 단계를 포함하고,
    만약 상기 확장 계층의 임의의 컨텐트가 암호화되어야 한다면, 상기 기본 계층 키를 이용하여 상기 확장 계층의 상기 컨텐트를 암호화하는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 기본 계층의 상기 컨텐트의 적어도 일부로부터 상기 기본 계층 키를 생성하기 위해, 체인 및 합산(chain and sum)(C&S) 암호화 기술이 사용되는 방법.
  14. 제13항에 있어서,
    상기 C&S 암호화 기술이 적어도 부분적으로는 블록 사이퍼(block cipher)에 의해 대체되는 방법.
  15. 제14항에 있어서,
    상기 블록 사이퍼는 DES, AES, RC5 중 하나인 방법.
  16. 제15항에 있어서,
    상기 블록 사이퍼는 전자 코드북 모드(ECB), 블록 연쇄 모드(CBC), 오프셋 코드북(OCB) 모드 중 하나를 이용하는 방법.
  17. 제13항에 있어서,
    상기 C&S 암호화는 프리 메시지 인증 코드(pre-message authentication code)의 DES 암호화를 RC5 암호화로 대체하는 단계를 포함하는 방법.
  18. 제13항에 있어서,
    상기 C&S 암호화는 프리 메시지 인증 코드(pre-message authentication code)의 DES 암호화를 AES 암호화로 대체하는 단계를 포함하는 방법.
  19. 제13항에 있어서,
    상기 C&S 암호화는, 가역 메시지 인증 코드(reversible message authentication code)를 이용하여, 암호화되는 상기 기본 계층의 상기 컨텐트 내의 데이터의 일부를 대체하는 방법.
  20. 제19항에 있어서,
    상기 데이터를 암호화하기 위해, 상기 가역 메시지 인증 코드 및 암호화 키(encryption key)가 스트림 사이퍼와 함께 이용되는 방법.
  21. 제20항에 있어서,
    스트림 사이퍼 키(stream cipher key)는 상기 암호화 키 및 암호화되는 상기 데이터의 해시 값(hash value) 둘 다에 의존하는 방법.
  22. 제9항에 있어서,
    상기 확장형 멀티미디어 컨텐트는, MPEG-4 미세 입도 확장성 프로파일(fine granularity scalability profile)을 따르는 비트 스트림, SMART 확장형 비트 스트림, 또는 SMART++ 확장형 비트 스트림인 방법.
  23. 제9항에 있어서,
    전역 키를 이용하여 상기 기본 계층의 상기 컨텐트를 암호화하는 단계, 및
    상기 전역 키 및 상기 기본 계층 키를 이용하여 상기 확장 계층의 상기 컨텐트를 암호화하는 단계
    를 더 포함하는 방법.
  24. 제23항에 있어서,
    상기 기본 계층 키는, 암호화되는 상기 기본 계층의 상기 컨텐트의 적어도 일부에 기초한 해시 값을 포함하는 방법.
  25. 제23항에 있어서,
    상기 기본 계층 키는, 암호화되는 상기 기본 계층의 상기 컨텐트의 적어도 일부를 기초로 하는 해시 값들의 합을 포함하는 방법.
  26. 제25항에 있어서,
    상기 해시 값들의 합은, 암호화되는 상기 기본 계층 컨텐트의 적어도 일부에 대한 프리 암호화 메시지 인증 코드(pre-MAC)의 적어도 일부를 포함하는 방법.
  27. 제26항에 있어서,
    상기 프리 암호화 MAC은, 상기 기본 계층의 데이터 크기의 증가를 방지하기 위해 상기 기본 계층의 컨텐트의 일부를 대체하는 방법.
  28. 제27항에 있어서,
    상기 프리 암호화 MAC은 가역적이며(reversible),
    가역성(reversibility)은 암호화된 MAC이 프리 암호화 MAC으로 복호화되어 상기 기본 계층의 원래의 컨텐트를 얻도록 허용하는 방법.
  29. 제28항에 있어서,
    상기 프리 암호화 MAC은 DES, AES, RC5 암호화 기술을 포함하는 블록 사이퍼를 이용하여 암호화되고, 상기 기본 계층의 나머지 컨텐트는 스트림 사이퍼를 이용하여 암호화되는 방법.
  30. 제29항에 있어서,
    상기 스트림 사이퍼는 RC4 암호화 기술인 방법.
  31. 제9항에 있어서,
    상기 기본 계층의 상기 컨텐트를 완전히 암호화하는 단계를 더 포함하고,
    상기 완전히 암호화하는 단계는 객체 헤더(headers)를 제외한 상기 기본 계층 내의 모든 엔트로피 코드화된(entropy-coded) 멀티미디어 데이터를 암호화하는 단계를 포함하는 방법.
  32. 제31항에 있어서,
    상기 기본 계층의 각 프레임에 대해 체인 및 합산 암호화를 이용하여, 객체 헤더(headers)를 제외한 상기 기본 계층 내의 모든 엔트로피 코드화된 멀티미디어 데이터를 암호화하는 단계를 더 포함하는 방법.
  33. 제9항에 있어서,
    상기 기본 계층을 선택적으로 암호화하는 단계를 더 포함하고,
    상기 선택적으로 암호화하는 단계는 상기 기본 계층의 각 프레임으로부터의 하나 이상의 비트 세트들(bit sets)만을 암호화하는 단계를 포함하며,
    하나의 비트 세트는, ultra_dc_coefficient 비트들의 이산 코사인 값들(discrete cosine values), dct_dc_differential 비트들의 이산 코사인 값들, 이산 코사인 변환 계수들(discrete cosine transformation coefficients)의 부호 비트들, 모션 벡터들(motion vectors)의 부호 비트들, 및 모션 벡터 나머지들(residues)의 부호 비트들로 이루어진 상기 프레임 내의 비트 세트들의 그룹으로부터 선택되는 방법.
  34. 제9항에 있어서,
    상기 첫 번째 기법은,
    전역 키를 이용하여 상기 기본 계층을 암호화하는 단계, 및
    만약 상기 확장 계층의 적어도 일부가 암호화되어야 한다면, 상기 전역 키 및 상기 기본 계층 키를 이용하여 상기 확장 계층을 암호화하는 단계를 포함하며,
    상기 전역 키 및 상기 기본 계층 키는 사이퍼에 입력되어, 상기 확장 계층 내의 이산 코사인 변환 계수들의 부호 비트들과 XOR되는 비트의 시퀀스를 생성하는 방법.
  35. 제34항에 있어서,
    상기 비트의 시퀀스는 랜덤(random) 또는 의사 랜덤(pseudo-random) 시퀀스인 방법.
  36. 제34항에 있어서,
    선택적으로 암호화된 확장 계층을 생성하기 위해, 상기 비트의 시퀀스로부터의 비트들의 배열(array)을 상기 확장 계층의 프레임으로부터의 이산 코사인 변환 계수들의 부호 비트들의 대응 배열과 XOR하는 단계를 더 포함하는 방법.
  37. 제36항에 있어서,
    선택적으로 암호화된 기본 계층을 생성하기 위해, 상기 비트의 시퀀스로부터의 비트들의 배열을 상기 기본 계층의 프레임으로부터의 이산 코사인 변환 계수들의 부호 비트들의 대응 배열과 XOR하는 단계를 더 포함하는 방법.
  38. 제37항에 있어서,
    상기 확장 계층을 암호화하는 경우에, 상기 기본 계층을 암호화하는 경우와는 다른 비트의 시퀀스를 이용하는 단계를 더 포함하는 방법.
  39. 제36항에 있어서,
    상기 선택적으로 암호화된 확장 계층을 생성하기 위해, 상기 비트의 시퀀스로부터의 비트들의 배열(array)을 상기 확장 계층의 프레임으로부터의 시간적 영상 객체 플레인 모션 벡터들(temporal video object plane motion vectors)의 대응 배열과 XOR하는 단계를 더 포함하는 방법.
  40. 제39항에 있어서,
    상기 시간적 영상 객체 플레인 모션 벡터들은, 시간적 확장성(temporal scalability)을 갖는 MPEG-4 미세 입도 확장성 프로파일을 따르는 비트 스트림, SMART 확장형 비트 스트림, 또는 SMART++ 확장형 비트 스트림인 방법.
  41. 제39항에 있어서,
    각각의 객체 헤더에 프레임 카운트를 추가하는 단계, 및
    상기 비트의 시퀀스를 생성하기 위해 상기 프레임 카운트를 상기 사이퍼에 대한 입력으로서 사용하는 단계
    를 더 포함하는 방법.
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
KR1020040021966A 2003-04-01 2004-03-31 확장형 멀티미디어의 암호화 방법 KR101046812B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/405,970 US7406176B2 (en) 2003-04-01 2003-04-01 Fully scalable encryption for scalable multimedia
US10/405,970 2003-04-01

Publications (2)

Publication Number Publication Date
KR20040088352A KR20040088352A (ko) 2004-10-16
KR101046812B1 true KR101046812B1 (ko) 2011-07-06

Family

ID=32850630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040021966A KR101046812B1 (ko) 2003-04-01 2004-03-31 확장형 멀티미디어의 암호화 방법

Country Status (7)

Country Link
US (1) US7406176B2 (ko)
EP (1) EP1465427B1 (ko)
JP (1) JP4572085B2 (ko)
KR (1) KR101046812B1 (ko)
CN (1) CN1535015B (ko)
AT (1) ATE471036T1 (ko)
DE (1) DE602004027570D1 (ko)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
DE10303723B4 (de) * 2003-01-30 2006-02-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten
US7581094B1 (en) * 2003-07-09 2009-08-25 Hewlett-Packard Development Company, L.P. Cryptographic checksums enabling data manipulation and transcoding
AU2004302687C1 (en) * 2003-07-28 2011-03-03 Global Point Systems Inc. Moving image distributing system and moving image distributing program
EP1671486A1 (en) * 2003-09-29 2006-06-21 Koninklijke Philips Electronics N.V. System and method for combining advanced data partitioning and fine granularity scalability for efficient spatio-temporal-snr scalability video coding and streaming
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
KR20050076019A (ko) * 2004-01-19 2005-07-26 삼성전자주식회사 스케일러블 부호화에 기반한 비트스트림의 적응적 부호화및/또는 복호화 방법, 및 이를 구현하기 위한프로그램이 기록된 기록 매체
US7580520B2 (en) * 2004-02-14 2009-08-25 Hewlett-Packard Development Company, L.P. Methods for scaling a progressively encrypted sequence of scalable data
US7676590B2 (en) * 2004-05-03 2010-03-09 Microsoft Corporation Background transcoding
US7623660B1 (en) * 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
GB0418279D0 (en) * 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
US7483535B2 (en) * 2004-09-15 2009-01-27 Hewlett-Packard Development Company, L.P. Transmission of generalized scalable bit-streams
US8155306B2 (en) * 2004-12-09 2012-04-10 Intel Corporation Method and apparatus for increasing the speed of cryptographic processing
US7522724B2 (en) * 2005-01-07 2009-04-21 Hewlett-Packard Development Company, L.P. System and method of transmission of generalized scalable bit-streams
US7669121B2 (en) 2005-01-19 2010-02-23 Microsoft Corporation Transcode matrix
US7558463B2 (en) * 2005-04-18 2009-07-07 Microsoft Corporation Retention of information about digital-media rights in transformed digital media content
US7738766B2 (en) 2005-04-18 2010-06-15 Microsoft Corporation Sanctioned transcoding of digital-media content
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8619860B2 (en) * 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
US8081755B2 (en) * 2005-05-20 2011-12-20 Microsoft Corporation JPEG2000 syntax-compliant encryption with full scalability
US20070189578A1 (en) * 2005-05-25 2007-08-16 Macrovision Corporation Computer-implemented method and system for perceptual cryptography in file-sharing environments
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
KR100763196B1 (ko) * 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
KR100736080B1 (ko) * 2005-10-27 2007-07-06 삼성전자주식회사 다 계층으로 구성된 멀티미디어 스트림의 저작권을 계층별로 관리하는 방법 및 장치
KR100724825B1 (ko) 2005-11-17 2007-06-04 삼성전자주식회사 스케일러블 비디오 코딩에서 다차원 스케일러빌리티에 따른 조건적 접근제어를 위한 스케일러블 비디오 비트스트림 암복호화 방법 및 암복호화 시스템
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8364965B2 (en) 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
EP1855436A1 (en) * 2006-05-12 2007-11-14 Deutsche Thomson-Brandt Gmbh Method and apparatus for encrypting encoded audio signal
KR100781528B1 (ko) * 2006-06-29 2007-12-03 삼성전자주식회사 무결성을 보장하는 비디오 스트림을 제공하는 장치 및 그방법
KR100809301B1 (ko) * 2006-07-20 2008-03-04 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
JP2008028868A (ja) * 2006-07-24 2008-02-07 Nomura Research Institute Ltd 通信代理システムおよび通信代理装置
JP2008028869A (ja) * 2006-07-24 2008-02-07 Nomura Research Institute Ltd 通信代理システムおよび通信代理装置
JP2008028867A (ja) * 2006-07-24 2008-02-07 Nomura Research Institute Ltd 通信代理システムおよび通信代理装置
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US8990305B2 (en) 2006-10-18 2015-03-24 Microsoft Corporation Techniques for virtual conferencing servers
EP1921858A1 (en) * 2006-11-09 2008-05-14 Thomson Licensing Method and device for managing a transmission of keys
US20090041100A1 (en) 2006-12-13 2009-02-12 Viasat, Inc. Link aware mobile data network
US8576858B2 (en) * 2006-12-13 2013-11-05 Viasat, Inc. Multiple transmission paths for hierarchical layers
US8411572B2 (en) * 2006-12-13 2013-04-02 Viasat, Inc. ACM and fixed coding and modulation of hierarchical layers
US8395993B2 (en) * 2006-12-13 2013-03-12 Viasat, Inc. Video and data network load balancing with video placeholder
US8456986B2 (en) * 2006-12-13 2013-06-04 Viasat, Inc. Video and data network load balancing
US8358690B2 (en) * 2006-12-13 2013-01-22 Viasat, Inc. Predictive adaptive coding and modulation
US8411571B2 (en) * 2006-12-13 2013-04-02 Viasat, Inc. Video and data network load balancing with video drop
JP5559544B2 (ja) 2007-01-05 2014-07-23 ソニック アイピー, インコーポレイテッド プログレッシブ再生を含む映像分配システム
US7961878B2 (en) 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
FR2923669B1 (fr) * 2007-11-09 2010-01-08 Viaccess Sa Procede de conditionnement et de controle d'acces a des contenus en codage hierarchique, processeur et emetteur pour ce procede
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
JP2009130726A (ja) * 2007-11-26 2009-06-11 Kyocera Mita Corp 画像読取装置、及び画像形成装置
US8144781B2 (en) * 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache
EP2250604B1 (en) * 2008-03-04 2017-12-27 Apple Inc. System and method of authorizing execution of software code based on at least one installed profile
WO2009111411A2 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code in a device based on entitlements granted to a carrier
WO2009111409A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on accessible entitlements
US20090228868A1 (en) * 2008-03-04 2009-09-10 Max Drukman Batch configuration of multiple target devices
CN102595399B (zh) * 2008-06-23 2017-02-01 华为技术有限公司 密钥衍生方法、设备及系统
CN101677399B (zh) * 2008-09-18 2014-07-09 香港科技大学 基于流密码的安全编码方案的多媒体内容编码方法和系统
US20100135488A1 (en) * 2008-12-01 2010-06-03 Electronics And Telecommunications Research Institute Svc encryption apparatus and method and contents providing system and method
EP2200307B1 (en) * 2008-12-11 2015-09-16 Electronics and Telecommunications Research Institute AT-DMB transmitting and receiving system for providing conditional access broadcasting service and method thereof
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
DE102009022233A1 (de) * 2009-05-20 2010-11-25 Feustel, Dietmar Verwendung einer Zeichenkette in Sytemen der Kryptographie, der Statistik, der Simulation, der Randomisierung, von Spielautomaten und dgl.
US20100312810A1 (en) * 2009-06-09 2010-12-09 Christopher Horton Secure identification of music files
US8255620B2 (en) * 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US8842823B2 (en) * 2009-09-09 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Technique for determining usage of encrypted media content
US8401188B1 (en) * 2009-10-30 2013-03-19 Adobe Systems Incorporated System and method for partial encryption of frame-based electronic content
JP5723888B2 (ja) 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
KR101282190B1 (ko) * 2009-12-11 2013-07-04 한국전자통신연구원 적응형 보안 정책 기반의 스케일러블 영상 서비스 방법 및 장치
KR20110071707A (ko) * 2009-12-21 2011-06-29 삼성전자주식회사 동영상 컨텐트 제공 방법 및 그 장치, 동영상 컨텐트 재생 방법 및 그 장치
US8731152B2 (en) 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
US8630412B2 (en) 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US20120076204A1 (en) * 2010-09-23 2012-03-29 Qualcomm Incorporated Method and apparatus for scalable multimedia broadcast using a multi-carrier communication system
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
JP5380473B2 (ja) * 2011-01-24 2014-01-08 日立コンシューマエレクトロニクス株式会社 映像処理装置及び映像処理方法
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9571827B2 (en) * 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming
US9425959B1 (en) * 2012-10-03 2016-08-23 Altera Corporation Security variable scrambling
WO2014105834A1 (en) * 2012-12-30 2014-07-03 Feliciano Raymond Richard Method and apparatus for encrypting and decrypting data
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
WO2014134177A2 (en) 2013-02-27 2014-09-04 Apple Inc. Adaptive streaming techniques
KR101553148B1 (ko) * 2014-03-05 2015-09-14 울산대학교 산학협력단 비트 확장 방식을 이용한 암호화 장치 및 방법
KR101564421B1 (ko) * 2014-05-02 2015-10-29 삼성전자주식회사 동영상 처리 장치 및 방법
KR20230156433A (ko) 2014-08-07 2023-11-14 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP6944371B2 (ja) 2015-01-06 2021-10-06 ディビックス, エルエルシー コンテンツを符号化し、デバイス間でコンテンツを共有するためのシステムおよび方法
CN105471860A (zh) * 2015-11-19 2016-04-06 浙江宇视科技有限公司 一种视频数据传输方法及装置
US20180047330A1 (en) * 2016-08-09 2018-02-15 Jacob Villarreal Rich enterprise service-oriented client-side integrated-circuitry infrastructure, and display apparatus
KR102186480B1 (ko) * 2018-12-31 2020-12-03 재단법인 경주스마트미디어센터 Drm 콘텐츠 패키징 장치 및 이를 포함하는 drm 콘텐츠 패키징 시스템 및 drm 콘텐츠 패키징 방법
KR102302755B1 (ko) * 2019-12-30 2021-09-16 재단법인 경주스마트미디어센터 Drm 콘텐츠 병렬 패키징 장치 및 이를 포함하는 drm 콘텐츠 병렬 패키징 시스템 및 drm 콘텐츠 병렬 패키징 방법
CN113473155B (zh) * 2021-06-29 2022-10-18 长安大学 Jpeg加密图像的快速攻击方法、系统及可读存储介质
WO2023026065A1 (en) * 2021-08-27 2023-03-02 Blackbird Plc Methods of encrypting a multimedia file, methods of decrypting an encrypted multimedia file; computer program products and apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020064930A (ko) * 2000-10-11 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티미디어 오브젝트의 스케일 가능한 코딩
JP2002287628A (ja) 2001-03-23 2002-10-04 Seiko Epson Corp 電子署名方法及び装置
US20020164017A1 (en) 2001-05-04 2002-11-07 Wee Susie J. Signal format that facilitates easy scalability of encrypted streams
US20030021296A1 (en) 2001-05-04 2003-01-30 Wee Susie J. Packetizing devices for scalable data streaming

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100205701B1 (ko) 1994-12-27 1999-07-01 사또오 후미오 송신 장치, 수신 장치 및 이들을 통합한 통신처리 시스템과, 디지탈 텔레비젼 방송 시스템
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US6006283A (en) * 1998-02-10 1999-12-21 Lsi Logic Corporation System and method for managing information exchanges in a disk interface chip
US6128737A (en) * 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
US6182214B1 (en) * 1999-01-08 2001-01-30 Bay Networks, Inc. Exchanging a secret over an unreliable network
US20020012432A1 (en) 1999-03-27 2002-01-31 Microsoft Corporation Secure video card in computing device having digital rights management (DRM) system
US6351491B1 (en) * 1999-06-23 2002-02-26 Sarnoff Corporation Apparatus and method for optimizing the rate control for multiscale entropy encoding
US6501797B1 (en) * 1999-07-06 2002-12-31 Koninklijke Phillips Electronics N.V. System and method for improved fine granular scalable video using base layer coding information
US6639943B1 (en) * 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
EP1189432A3 (en) 2000-08-14 2004-10-20 Matsushita Electric Industrial Co., Ltd. A hierarchical encryption scheme for secure distribution of predetermined content
JP2002087628A (ja) 2000-09-11 2002-03-27 Toshiba Corp 自動取引装置および媒体処理装置
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020064930A (ko) * 2000-10-11 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티미디어 오브젝트의 스케일 가능한 코딩
JP2002287628A (ja) 2001-03-23 2002-10-04 Seiko Epson Corp 電子署名方法及び装置
US20020164017A1 (en) 2001-05-04 2002-11-07 Wee Susie J. Signal format that facilitates easy scalability of encrypted streams
US20030021296A1 (en) 2001-05-04 2003-01-30 Wee Susie J. Packetizing devices for scalable data streaming

Also Published As

Publication number Publication date
EP1465427B1 (en) 2010-06-09
CN1535015A (zh) 2004-10-06
CN1535015B (zh) 2011-02-23
JP2004310097A (ja) 2004-11-04
DE602004027570D1 (de) 2010-07-22
ATE471036T1 (de) 2010-06-15
EP1465427A1 (en) 2004-10-06
JP4572085B2 (ja) 2010-10-27
KR20040088352A (ko) 2004-10-16
US7406176B2 (en) 2008-07-29
US20040196975A1 (en) 2004-10-07

Similar Documents

Publication Publication Date Title
KR101046812B1 (ko) 확장형 멀티미디어의 암호화 방법
Massoudi et al. Overview on selective encryption of image and video: challenges and perspectives
Liu et al. Selective encryption of multimedia content in distribution networks: Challenges and new directions
Zeng et al. Efficient frequency domain selective scrambling of digital video
Wen et al. A format-compliant configurable encryption framework for access control of video
AU2009265724B2 (en) Methods and apparatuses for selective data encryption
Asghar et al. An efficient security system for CABAC bin-strings of H. 264/SVC
Parameshachari et al. A overview on partial image encryption approaches
Shah et al. Video encryption: A survey
KR20100102155A (ko) 선택성 데이터 암호화를 위한 방법 및 장치
US8189664B2 (en) Methods for encrypting and compressing video
US8265271B2 (en) Method and device for managing a transmission of keys
Yuan et al. Efficient and fully scalable encryption for MPEG-4 FGS
Van Droogenbroeck Partial encryption of images for real-time applications
Kulkarni et al. Multimedia encryption: a brief overview
Yang et al. Efficient and syntax-compliant JPEG 2000 encryption preserving original fine granularity of scalability
Thomas et al. Secure transcoders for single layer video data
Hooda et al. A comprehensive survey of video encryption algorithms
Thomas et al. A novel H. 264 SVC encryption scheme for secure bit-rate transcoding
Yu et al. Progressive and scalable encryption for multimedia content access control
Steffi et al. Comparative study of partial encryption of images and video
Zhu et al. JPEG 2000 encryption enabling fine granularity scalability without decryption
Wen et al. A format-compliant encryption scheme for JPEG2000 codestream
Rajpurohit et al. A comparative study of video encryption schemes
Lei et al. Encryption techniques for h. 264 video

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 9