KR20080025126A - 크기조정가능 코드스트림을 위한 안전한 키 관리 - Google Patents

크기조정가능 코드스트림을 위한 안전한 키 관리 Download PDF

Info

Publication number
KR20080025126A
KR20080025126A KR1020087000290A KR20087000290A KR20080025126A KR 20080025126 A KR20080025126 A KR 20080025126A KR 1020087000290 A KR1020087000290 A KR 1020087000290A KR 20087000290 A KR20087000290 A KR 20087000290A KR 20080025126 A KR20080025126 A KR 20080025126A
Authority
KR
South Korea
Prior art keywords
access
key
node
level
levels
Prior art date
Application number
KR1020087000290A
Other languages
English (en)
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 KR20080025126A publication Critical patent/KR20080025126A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Storage Device Security (AREA)
  • Facsimile Transmission Control (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

키 관리는 크기조정가능 코드스트림 내의 다수의 액세스 유형의 모든 인가된 레벨을 복호화할 수 있게 하는 단일 키를 생성하기 위해 실행된다. 액세스 노드 집합은 해상도 및 계층 레벨과 같은 완전히 순서화된 집합에 의해 나타낼 수 있는 계층, 및 타일 및 구역 레벨과 같은 부분적으로 순서화된 집합에 의해 나타낼 수 있는 계층을 갖는 액세스 유형을 나타내는 집합으로부터 획득된다. 획득된 액세스 노드 집합은 코드스트림 내에 포함된 액세스 유형의 레벨의 조합을 나타내는 부분적으로 순서화된 집합이다. 계층적 키 관리 시스템은 액세스 노드들의 각각에 키를 할당하고, 콘텐트 암호화 키를 생성하며, 코드스트림을 암호화하기 위해, 액세스 노드 집합에 적용된다. 코드스트림, 액세스 노드 집합 및 기타 공용 정보를 수신하는 클라이언트는 코드스트림을 복호화하기 위한 추가 키를 구하기 위해 상기 키를 사용한다.
액세스 유형, 액세스 노드 집합, 코드스트림, 콘텐트 암호화 키, 단일 키

Description

크기조정가능 코드스트림을 위한 안전한 키 관리{SECURE KEY MANAGEMENT FOR SCALABLE CODESTREAMS}
사람들은 인터넷 및 기타 네트워크를 통해 서비스를 액세스하기 위해 다수의 상이한 유형의 디지털 장치를 사용한다. 널리 알려진 바와 같이, 다수의 이들 서비스는 새로운 서비스에서부터 온라인 쇼핑 및 엔터테인먼트에 이르기까지, 사진 및 기타 이미지, 비디오, 및 오디오의 광범위한 사용을 한다.
도 1은 서버(110 및 112) 상에 유지된 서비스 및 콘텐트를 인터넷(114)을 통해 액세스하기 위해 사용될 수 있는 다수의 상이한 디지털 장치(102-108)를 도시한 것이다. 데스크톱 컴퓨터(102)는 큰 고해상도 디스플레이(122)를 갖고 있으므로, 그 사용자는 아마 디스플레이(122)의 능력을 이용하기 위해 최고 해상도로 표시된 이미지 또는 비디오를 원할 것이다. 한편, 휴대용 컴퓨터(104)의 휴대용 디스플레이(124)는 데스크톱 컴퓨터(102)의 고해상도 디스플레이(122)의 해상도에 필적하는 해상도를 제공하지 못할 수 있다. 대안적으로, 휴대용 디스플레이(124)가 고해상도 그래픽을 지원하지 않더라도, 휴대용 컴퓨터(104)는 그래픽 지원을 위해 공유 시스템 메모리를 사용할 수 있고, 그 사용자는 고해상도 그래픽을 지원하기 위해 시스템 메모리를 할당하고 싶어하지 않을 수 있다.
데스크톱 컴퓨터(102) 및 휴대용 컴퓨터(104) 이외에, 핸드헬드 장치도 또한 인터넷 또는 다른 멀티미디어 서비스를 액세스하기 위해 사용된다. 예를 들어, 개인용 정보 단말기(PDA)(106)는 데스크톱 컴퓨터(102) 및 휴대용 컴퓨터(104)로 이용가능한 해상도의 일부로 작은 이미지 또는 비디오 프레임을 표시하기 위한, 각 사이드의 길이가 수 인치되는 터치스크린 디스플레이(126)를 포함한다. 심지어 무선 전화기(108)와 같은 더 작은 장치는 인터넷 또는 다른 멀티미디어 서비스를 액세스하여, 매우 작은 이미지 및 다른 멀티미디어 콘텐트를 사용자에게 제시하기 위해 사용가능한 전화 디스플레이(128)를 포함한다.
서버(110 및 112) 상의 콘텐트를 액세스하는 일련의 장치(102-108)는 콘텐트 제공자에게 문제를 제기했다. 더욱 구체적으로, 각각, 장치(102-108)에 의해 사용된 일련의 디스플레이(122-128) 때문에, 콘텐트 제공자는 상이한 포맷에서 이용가능한 멀티미디어 콘텐트를 만들어야 했다. 예를 들어, 고해상도 이미지 또는 고선명도 비디오는 고해상도 디스플레이(122)를 가진 사용자에게 이용가능해야 된다. 한편, 고해상도 이미지 또는 고선명도 비디오의 해상도 또는 색 세분성의 일부만을 갖는 축소된 이미지 또는 비디오는 각각 낮은 처리 능력 및 낮은 해상도 디스플레이(126 및 128)를 갖는 PDA(106) 및 무선 전화기(108)와 같은 장치를 가진 사용자에게 이용가능해야 된다. 멀티미디어 콘텐트의 적절한 포맷을 액세스하기 위해, 사용자는 해상도 및 품질과 같은 원하는 파라미터를 수동으로 지정한다. 대안적으로, 서버(110-112)는 장치(102-108)를 폴링(polling)하여, 어떤 유형의 그래픽, 비디오 또는 오디오 데이터를 각 장치(102-108)가 지원할 수 있는지 판정해서, 어떤 포맷의 멀티미디어 콘텐트를 장치(102-108)에 전송할 것인지 판정할 수 있다.
다수의 상이한 멀티미디어 포맷을 유지하고 선택적으로 통신해야 하는 서버(110-112)의 문제는 크기조정가능 멀티미디어 포맷에 의해 처리된다. 예를 들어, "JPEG(Joint Photographic Experts Group) 2000" 포맷은 타일, 해상도, 계층, 색 성분 및 구역(precinct)를 포함하는 다수의 상이한 액세스 유형의 각각에 대해 크기조정 가능한 이미지 코드스트림을 지정한다. 코드스트림은 각각의 이들 액세스 유형 내에서 다수의 레벨로 크기조정 가능하다. 단일 코드스트림은 각각의 장치가 지원하도록 구성되는 각 액세스 유형의 레벨에 적응된 멀티미디어를 제시하기 위해 상이한 장치에 의해 액세스될 수 있다. 그러므로, 하나의 멀티미디어 코드스트림은 저장되어, 크기조정가능 코드스트림을 지원하는 임의의 장치에 제공될 수 있다.
크기조정가능 코드스트림의 사용이 특정 멀티미디어 콘텐트를 위한 다수의 코드스트림을 유지해야 할 필요성을 없애긴 하지만, 크기조정가능 코드스트림으로의 액세스를 제어하는 것은 복잡한 키 관리를 수반한다. 다수의 상이한 멀티미디어 코드스트림이 유지될 때, 키는 각각의 특정 코드스트림에 대해 생성되고, 멀티미디어를 액세스할 권한이 있는 사용자에게 발행된다. 데이터 패킷을 복호하기 위해 사용된 콘텐트 암호화 키는 공지된 방법을 사용하여 키로부터 획득될 수 있어서, 사용자가 암호화된 멀티미디어를 액세스할 수 있게 한다.
크기조정가능 코드스트림의 사용, 적절한 키의 생성 및 제공은 훨씬 더 문제가 될 수 있다. 소정의 액세스 레벨에 대한 권한이 있는 사용자에게는 사용자가 권한을 부여받은 액세스 레벨에 포함되는 더 낮은 순위의 액세스 레벨뿐만 아니라 사용자가 권한을 부여받은 액세스 레벨에 대한 키를 제공하기 위해 다수의 키가 발행되어야 할 것이다.
도 2A-2F는 JPEG 2000 코드스트림의 특성을 도시한 일련의 블럭도이다. 도 2A는 사용자가 보고있는 이미지(200)를 도시한 것으로: 이미지(200)는 요소(202)의 어레이로 이루어진다. 그러나, 크기조정가능 코드스트림의 실제 구조는 그렇게 단순하게 구성되지 않는다.
도 2B는 상이한 해상도 레벨이 코드스트림 내에 표현되는 방법을 나타내는 상이한 크기로 된 데이터 블럭(212)의 어레이(210)이다. 이산 웨이브릿(wavelet) 변환의 함수로서, 상이한 해상도 레벨의 액세스는 코드스트림 내의 상이한 데이터 블럭(212)의 액세스를 수반한다. 도 2C에 도시된 바와 같이, 최저 지원 해상도 레벨을 액세스하기 위해, 어레이(220)의 제1 데이터 블럭(222)만이 액세스된다. 도 2D에 도시된 바와 같이, 다음의 최고 해상도 레벨을 액세스하기 위해, 데이터 블럭(222) 및 일련의 인접한 제2 데이터 블럭(232)이 액세스된다. 다음의 최고 해상도 레벨을 액세스하기 위해, 도 2E에 도시된 바와 같이, 제1 데이터 블럭(222), 제2 데이터 블럭(232) 및 일련의 인접한 제3 데이터 블럭(242) 모두가 액세스되어야 한다. 인접한 데이터 블럭 그룹은 최고 이용가능 이미지 해상도에 도달될 때까지 액세스된다. 그러므로, 더 높은 해상도 레벨을 제시할 때 사용된 데이터 블럭은 더 낮은 해상도 레벨을 제시할 때 사용된 데이터를 포함한다.
최고 해상도에서 이미지를 볼 권한이 있는 사용자의 경우에, 사용자에게는 낮은 해상도 레벨과 관련된 모든 데이터 블럭이 복호될 수 있는 키뿐만 아니라, 최 고 해상도 레벨과 관련된 데이터 블럭이 복호될 수 있는 키가 갖추어져야 된다. 대안적으로, 계층적 키 시스템을 사용하여, 사용자에게는 낮은 액세스 레벨에 대한 키가 획득될 수 있는 하나의 키가 제공될 수 있다.
불행히도, 크기조정가능 코드스트림 내의 모든 액세스 유형이 계층적 키 시스템에 적합한 계층적 구조를 갖는 것은 아니다. 예를 들어, 사용자가 이미지의 하나 이상의 부분을 액세스할 수 있게 하는 타일 액세스는 계층적으로 포괄적인 데이터 부분을 액세스하는 것을 수반하지 않는다. 도 2F에 도시된 바와 같이, 어레이(250)는 고해상도로 이미지의 일부를 제시하기 위해 사용되는 데이터 블럭(252-258)의 부분들을 나타낸다. 이미지의 선택된 부분을 제시하기 위해, 상이한 해상도 레벨을 나타내는 데이터 블럭(252-258)의 부분들이 모두 액세스되어야 한다. 사용될 데이터가 계층적 구조를 고수하지 않기 때문에, 이미지 내의 상이한 해상도로의 액세스를 선택적으로 제어하기 위해, 다수의 키가 생성되고 유지되어 배포되어야 할 것이다.
키 관리는 크기조정가능 코드스트림 내의 다수의 액세스 유형의 모든 인가된 레벨을 복호화할 수 있게 하는 단일 키를 생성하기 위해 실행된다. 액세스 노드 집합은 해상도 및 계층 레벨과 같은 완전히 순서화된 집합에 의해 나타낼 수 있는 계층, 및 타일 및 구역과 같은 부분적으로 순서화된 집합에 의해 나타낼 수 있는 계층을 갖는 액세스 유형을 나타내는 집합으로부터 획득된다. 획득된 액세스 노드 집합은 코드스트림 내에 포함된 액세스 유형의 레벨의 조합을 나타내는 부분적으로 순서화된 집합이다. 계층적 키 관리 시스템은 액세스 노드들의 각각에 키를 할당하고, 콘텐트 암호화 키를 생성하며, 코드스트림을 암호화하기 위해, 액세스 노드집합에 적용된다. 코드스트림, 액세스 노드 집합 및 기타 공용 정보를 수신하는 클라이언트는 코드스트림 내의 액세스가능 데이터를 복호화하기 위한 추가 키를 구하기 위해 상기 키를 사용한다.
액세스 노드의 각각에 대한 키를 포함하는 키 집합이 생성되므로, 키들은 이용가능한 상이한 레벨 액세스 조합을 나타내는 각각의 액세스 노드에 대해 이용가능하다. 그룹 디피 헬먼(Group Diffie Hellman) 키 교환 프로토콜과 같은 계층적 키 방식은 코드스트림을 안전하게 하고, 단일 키만으로 인가된 액세스 레벨 및 포함된 더 낮은 액세스 레벨로의 액세스를 할 수 있게 하는 키를 생성한다.
상세한 설명은 첨부 도면과 관련하여 설명된다. 도면에서, 참조 번호의 가장 좌측의 숫자는 그 참조 번호가 처음 나타나는 도면을 식별해준다. 상이한 도면에서 동일한 참조 번호의 사용은 유사하거나 동일한 항목을 나타낸다.
도 1(종래기술)은 상이한 표시 능력을 가진 상이한 장치가 동일한 서버 상의 콘텐트를 액세스하기 위해 사용된 네트워크를 도시한 도면.
도 2A-2F(종래기술)는 상이한 액세스 유형의 상이한 레벨에서 이미지 콘텐트를 제시할 때 사용된 데이터 블럭을 도시한 도면.
도 3A-3C는 크기조정가능 코드스트림 내에 포함된 상이한 액세스 유형의 잠재적인 상이한 레벨을 나타내는 하세 도표(Hasse diagram).
도 3D-3F는 각각의 도시된 액세스 유형 내의 사용할 수 없는 레벨을 제거하기 위해 감소된 도 3A-3C의 하세 도표.
도 4A-4B는 도 3D-3F의 하세 도표로부터 획득된 액세스 유형의 레벨의 조합을 나타내는 하세 도표.
도 5는 액세스 노드를 생성하고, 크기조정가능 코드스트림을 암호화하는 모드를 도시한 흐름도.
도 6은 크기조정가능 코드스트림을 암호화하고, 코드스트림을 복호화하는 키 집합을 생성하는 모드를 도시한 흐름도.
도 7은 암호화된 크기조정가능 코드스트림을 액세스 노드 집합 및 단일 키를 사용하여 복호화하는 모드를 도시한 흐름도.
도 8은 암호화 및 복호화 코드스트림에서 사용하기 적합한 컴퓨팅-시스템 환경의 기능도.
도 9는 부호화된 크기조정가능 코드스트림으로의 액세스를 제어하는 키 및 액세스 노드의 배포시에 사용된 서버와 클라이언트를 포함하는 시스템의 기능 블럭도.
부분적으로 순서화된 집합을 사용한 액세스 레벨 조합의 표현
도 2A-2E와 관련하여 상술된 바와 같이, 크기조정가능 코드스트림 내의 몇몇 액세스 유형의 높은 순위의 레벨은 그외 다른 레벨을 포함한다. 예를 들어, JPEG 2000 크기조정가능 코드스트림에서, 해상도 액세스, 계층 액세스 및 색 성분 액세 스의 높은 순위의 레벨은 모두 낮은 레벨을 포함한다. 이들 액세스 유형 내의 각각의 낮은 레벨이 연속적으로 높은 레벨 내에 포함되기 때문에, 이들 액세스 유형 내의 레벨은 완전히 순서화된 집합에 의해 나타낼 수 있는 완전히 순서화된 계층이다.
이에 반해, 타일 액세스 또는 구역 액세스와 같은 액세스 유형은 타일 액세스 또는 구역 액세스의 그외 다른 레벨을 완전히 포함하지는 않는다. 즉, 타일의 그룹화가 두 가지 타일을 나타내는 데이터를 포함할 수는 있지만, 코드스트림 내의 하나의 타일을 나타내는 데이터는 코드스트림 내의 다른 타일을 나타내는 데이터를 포함하지 않거나 그 데이터에 종속되지 않는다. 따라서, 타일에 의한 액세스 및 구역에 의한 액세스 유형과 같은 액세스 유형은 개별적인 블럭의 별개의 조합으로서 구성된다. 이들 액세스 유형 내의 레벨은 부분적으로 순서화된 집합에 의해 나타낼 수 있는 부분적으로 순서화된 계층을 구성한다.
수학적으로, 부분적으로 순서화된 집합은 지정(P,≤)에 의해 나타낼 수 있는데, P는 유한 집합이고, ≤는 이진 관계이다. a와 b 둘 다가 P의 멤버이고, a≤b인 경우에, 멤버 a의 모든 구성요소는 멤버 b의 모든 구성요소이지만, 부분집합 b의 모든 구성요소가 부분집합 a의 모든 구성요소는 아니다. 그러므로, a와 b가 코드스트림 내의 타일로의 액세스를 나타내면, 타일 b로의 액세스를 갖는 사용자는 또한 타일 a로의 액세스를 갖지만, 타일 a로의 액세스를 갖는 사용자는 타일 b로의 사용자 액세스를 부여하지 못한다.
부분적으로 순서화된 집합으로 타일 액세스 및 구역 액세스와 같은 액세스 유형을 표현하는 것은 크기조정가능 코드스트림을 위한 암호화 및 키 생성에서 유용하다. 예를 들어, 부분집합 a가 크기조정가능 액세스 유형 내의 하나의 레벨과 관련된 데이터 패킷을 나타내고, 부분집합 b가 동일한 크기조정가능 액세스 유형 내의 더 높은 순위의 레벨이면, 부분집합 b로의 액세스를 할 수 있게 하는 키는 부분집합 a로의 액세스를 할 수 있게 할 것이다. 그러므로, 부분집합 b에 단일 키를 제공함으로써, 모든 포함된 레벨을 복호화하기 위해 사용된 키가 생성될 수 있다.
도 3A-3C는 크기조정가능 코드스트림 내의 3가지 상이한 액세스 유형의 레벨을 나타내는 하세 도표이다. 하세 도표에서, 각각의 정점은 액세스 유형의 액세스 레벨을 나타낸다. 정점들 사이를 잇는 각각의 선은 낮은 액세스 레벨 또는 정점에 대한 높은 액세스 레벨 또는 정점의 포괄적인 액세스 우선순위를 나타내는 에지(edge)이다.
도 3A는 빈 레벨 φ(302) 및 2개의 해상도 레벨 ro(304) 및 r1(306)을 포함하는 해상도의 하세 도표(300)이다. 상술된 바와 같이, 해상도 레벨은 완전히 순서화된 계층을 구성하므로, 완전히 순서화된 집합으로서 나타낼 수 있다. 즉, 해상도 레벨 ro(304)에 의해 표현된 해상도 데이터의 부분집합에 포함된 데이터는 해상도 데이터 r1(306)의 부분집합 내에 포함된다. 한편, 해상도 데이터 r1(306)에 포함된 모든 데이터가 해상도 레벨 ro(304)에 포함되는 것은 아니다.
도 3A와 유사하게, 도 3B는 빈 레벨 φ(312) 및 2개의 계층 레벨 lo(314) 및 l1(316)을 포함하는 계층 액세스 레벨의 하세 도표이다. 다시, 빈 레벨 φ(312)는 도 3B에서 가장 낮은 레벨이다. 계층 레벨은 또한 완전히 순서화된 집합으로서 나타낼 수 있는 완전히 순서화된 계층을 나타낸다.
해상도 액세스 레벨 및 계층 액세스 레벨의 완전히 순서화된 계층과 대조적으로, 도 3C에 도시된 바와 같이, 액세스 레벨은 부분적으로 순서화된 집합으로서 나타낼 수 있는 부분적으로 순서화된 계층이다. 도 3C는 이미지의 한 행의 일부를 구성하는 3개의 인접한 타일 t0, t1, t2 그룹의 한 예에 대한 하세 도표(320)이다. 빈 레벨 φ(322) 위에, 하세 도표(320)는 t0(324), t1(326) 및 t2(328)의 각각에 대한 3개의 정점을 포함한다. 다음의 높은 레벨 상에서, 하세 도표(320)는 t0,t1(330), t0,t2(332) 및 t1,t2(334)를 포함하는 2개의 타일 집합의 가능한 조합을 나타내는 정점을 포함한다. 상위 레벨 상에서, 하세 도표(320)는 3개의 타일 t0,t1,t2(336)의 조합을 나타내는 정점을 포함한다.
하세 도표(300 및 310)에서는, 하세 도표(320)에서 나타낸 바와 같이 나타낸 조합이 없다는 것을 이해할 것이다. 하세 도표(300 및 310)에서 나타낸 액세스 유형인 해상도 액세스 및 계층 액세스에서, 표현된 액세스 유형은 높은 순서의 부분집합을 나타내는 각각의 높은 순서의 정점이 낮은 원소들 부분집합의 모든 원소를 포함하는 완전히 순서화된 계층을 갖는다.
하세 도표(300, 310 및 320)는 몇몇 크기조정가능 코드스트림에 대한 불필요 한 레벨을 제거하기 위해 감소될 수 있다. 몇몇 크기조정가능 코드스트림이 하나 이상의 액세스 유형에 대한 빈 레벨의 사용을 할 수 있지만, JPEG 2000 코드스트림은 그것의 크기조정가능 액세스 유형들의 임의의 유형 내에 어떤 빈 레벨도 포함하지 않는다. 그러므로, JPEG 2000 코드스트림을 액세스하기 위해, 액세스 레벨은 해상도 액세스, 계층 액세스, 타일 액세스 및 기타 액세스 유형(도시되지 않음)의 최소한 하나의 비어있지 않은 레벨에 지정되고 부여되어야 한다.
그러므로, 도 3A-3C에 도시된 JPEG 2000 코드스트림의 예에서, 하세 도표(300, 310 및 320)에서의 최하위 레벨인 빈 레벨 φ(302), φ(312) 및 φ(322)의 각각은 그들 각각의 액세스 유형에 대한 액세스가능 레벨을 나타내지 않고, 생략될 수 있다. 이와 유사하게, φ 정점(302, 312 및 322)을 다른 정점에 연결하는 에지가 생략될 수 있다. 도 3A, 3B 및 3C의 하세 도표(300, 310 및 320)로부터 불필요한 정점을 생략하면 각각 도 3D, 3E 및 3F의 하세 도표(340, 350 및 360)가 된다.
또한, 부분적으로 순서화된 계층을 갖는 액세스 유형을 나타내는 부분적으로 순서화된 집합 및 그들 각각의 하세 도표는 사용자들에 의해 결코 액세스될 수 없는 불필요한 조합을 제거하기 위해 더욱 감소될 수 있다. 하세 도표(320)는 하나의 행 내의 3개의 연속적인 타일 t0,t1,t2로의 타일 액세스를 위한 부분적으로 순서화된 집합의 계층적 표현이다. 비연속적인 타일 t0 및 t2의 조합에 대한 액세스 허가는 몇몇 애플리케이션에서 불필요하다. 그러므로, 이러한 조합을 나타내는 정점(332)은 또한 그들 애플리케이션에서 도 3F의 하세 도표(360)로부터 제거될 수 있다.
크기조정가능 코드스트림으로의 액세스의 레벨을 나타내기 위해, 각 액세스 유형의 레벨을 나타내는 완전히 및 부분적으로 순서화된 집합들은 결합된다. 수학적으로, 완전히 및 부분적으로 순서화된 집합은 각 집합 내의 원소들의 곱을 계산함으로써 결합된다. 크기조정가능 액세스 제어의 부분적으로 순서화된 집합(P,≤)은 수학식 1로 나타낸 바와 같이, 단지, 모든 크기조정가능 유형의 완전히 및 부분적으로 순서화된 집합(Pi,≤)의 곱이다:
Figure 112008000808862-PCT00001
결과적으로 얻어진 부분적으로 순서화된 집합 내의 정점의 수는 수학식 2로 표시된 각각의 크기조정가능 유형 내의 정점의 수의 곱과 같다:
Figure 112008000808862-PCT00002
수학식 2에서 사용된 바와 같이, 연산자 |X|는 집합 X의 갯수를 나타낸다. 곱의 하세 도표 내의 에지의 수는 수학식 3으로 주어진다:
Figure 112008000808862-PCT00003
수학식 3에서, ei는 i번째 크기조정가능 유형의 하세 도표 내의 에지의 수이다.
결과적으로 얻어진 부분적으로 순서화된 집합의 예시적인 부분은 각각 도 4A 및 4B의 하세 도표(400 및 450)에 의해 나타내진다. 도 4A는 하세 도표(340(도 3D) 및 350(도 3F))의 조합을 나타냄으로써 해상도 액세스 및 타일 액세스를 위한 가능한 레벨 조합을 나타내는 하세 도표(400)를 도시한 것이다. 하세 도표(400)는 해상도 액세스의 2개의 상이한 레벨에 대한 타일 액세스의 각 레벨을 나타내기 위해 2개의 하세 도표(360) 반복을 포함한다. 대응하는 정점은 해상도 레벨 r0과 r1 사이의 계층 관계를 나타내기 위해 에지에 의해 연결된다. 하세 도표(400)에 포함된 하세 도표(360)의 반복은 표현된 조합의 차원을 더욱 잘 제안하기 위해 수직으로 정렬되는 것이 아니라 오프셋된다는 것을 알 수 있을 것이다.
예를 들어, 정점(402)은 해상도 레벨 r0 및 타일 액세스 레벨 t0,t1,t2에 대한 레벨 조합을 나타낸다. 정점(404)은 해상도 레벨 r1 및 타일 액세스 레벨 t0,t1,t2에 대한 레벨 조합을 나타낸다. 에지(406)는 정점(404)에 의해 나타낸 레벨의 조합에 대한 액세스가 낮은 액세스 레벨의 모든 조합뿐만 아니라, 정점(402)에 의해 나타낸 레벨에 대한 액세스를 포함한다는 것을 표시하기 위해 정점(402와 404) 사이에 그려진다. 그러므로, 최고 해상도 r1에서 모든 타일로의 액세스를 갖는 사용자는 또한 낮은 해상도에서 모든 타일로의 액세스를 갖는다.
다른 예를 들면, 정점(408)은 해상도 레벨 r0 및 타일 액세스 레벨 t0 및 t1에 대한 레벨 조합을 나타낸다. 이 레벨 조합에 대한 액세스는 또한 해상도 레벨 r0 및 타일 액세스 레벨 t0에 대한 더 낮은 순위의 레벨 조합을 나타내는 정점(410), 및 해상도 레벨 r0 및 타일 액세스 레벨 t1에 대한 레벨 조합을 나타내는 정점(412)으로의 액세스를 포함한다. 그러나, 정점(406)으로의 액세스는 타일 t2로의 추가 타일 액세스를 포함하는 레벨 조합(402), 또는 더 높은 해상도 레벨 r1로의 액세스를 포함하는 정점(414)으로의 액세스를 허용하지는 않는다.
도 4B는 하세 도표(340(도 3D) 및 350(도 3F))와 함께 하세 도표(350(도 3E))의 조합을 나타냄으로써 계층 액세스, 해상도 액세스 및 타일 액세스를 위한 가능한 레벨 조합을 나타내는 하세 도표(450)를 도시한 것이다. 몇 개의 정점은 예를 들어 레이블이 붙긴 하지만, 시각적으로 명료하게 하기 위해, 대부분의 정점으로 나타낸 레벨 조합의 레이블은 생략된다.
예를 들어, 하세 도표(450)는 계층 레벨 l0, 해상도 레벨 r0 및 타일로의 타일 액세스 to, t1 t2의 조합을 나타내는 정점(452)을 포함한다. 하세 도표(450)는 또한 계층 레벨 l0, 해상도 레벨 r1 및 타일로의 타일 액세스 to, t1 t2의 조합을 나타내는 정점(454)을 포함한다. 높은 해상도 레벨을 포함하는 정점(454)으로 나타낸 레벨들로의 액세스는 정점(452), 및 두 개의 정점(452 및 454) 아래의 모든 정점에 의해 나타낸 레벨 조합을 포함하는 낮은 레벨의 모든 조합으로의 액세스를 포함한다. 한편, 정점(454)에 의해 나타낸 레벨 조합을 액세스할 권한이 있는 사용자는 해상도 레벨 r0 및 타일로의 타일 액세스 to, t1 t2와 함께 l1의 레벨 조합 을 나타내는 계층 레벨 l1로의 액세스에 대한 권한이 없기 때문에, 정점(456)에 의해 나타낸 레벨 조합으로의 액세스를 갖지 못한다.
하세 도표(4A 및 4B)에서 눈에 보이게 표시된 레벨 조합은 도시된 액세스 유형에 대한 액세스 노드 집합을 나타낸다. 액세스 노드 집합은 사용자가 액세스를 제공받을 수 있는 코드스트림 내의 액세스 레벨의 이용가능한 조합의 각각을 나타내는 액세스 노드를 포함한다.
액세스 노드의 부분적으로 순서화된 집합 및 계층적 키 방식을 사용하여, 각 액세스 노드에 의해 나타낸 레벨 조합으로의 액세스를 제공하는 키 집합이 생성된다. 게다가, 각 액세스 노드와 관련된 키는 액세스 노드와 관련된 모든 낮은 순위 레벨 조합으로의 액세스를 제공한다. 그러므로, 액세스 노드 집합, 특정 레벨 조합을 나타내는 액세스 노드에 대응하는 단일 키, 및 소정의 관련된 공용 정보를 사용자에게 제공함으로써, 사용자는 모든 낮은 순위의 포함된 액세스 레벨에 대한 키를 획득할 수 있을 것이다. 더욱 후술되는 바와 같이, 낮은 순위의 레벨 조합에 대한 키를 획득하기 위해 사용자에게 제공되어야 할 추가 키는 없다.
액세스 노드 집합 및 대응하는 키 집합의 생성
도 5는 크기조정가능 코드 스트림 내의 액세스 유형에 대한 레벨 조합을 나타내고 각 조합과 키를 관련시키는 논리 단계를 도시한 흐름도(500)이다. 조합은 액세스 노드의 집합으로 표현되고, 키는 각 액세스 노드와 관련된다. 각각의 키는 사용자가 모든 낮은 순위 레벨 조합뿐만 아니라, 사용자가 권한을 부여받은 각 액 세스 유형의 레벨에서 코드스트림을 액세스할 수 있게 한다.
흐름도(500)는 블럭(502)에서 시작된다. 블럭(504)에서, 크기조정가능 코드스트림 내에 포함된 액세스 유형들 중에서 표현될 다음 액세스 유형이 선택된다. 판정 블럭(506)에서, 액세스 유형이 완전히 순서화된 집합으로 나타낼 수 있는 완전히 순서화된 계층을 포함하는 완전히 순서화된 액세스 유형인지 판정된다. 상술된 바와 같이, 예를 들어, JPEG 2000 크기조정가능 코드스트림에서, 해상도, 계층 및 색 성분에 대한 액세스 유형은 완전히 순서화된 계층이다. 블럭(506)에서 액세스 유형이 완전히 순서화된 계층이라고 판정되면, 블럭(508)에서 완전히 순서화된 집합은 액세스 유형을 위한 이용가능 레벨을 나타내기 위해 생성된다.
한편, 판정 블럭(506)에서, 액세스 유형이 완전히 순서화된 계층이 아니라고 판정되면, 액세스 유형은 부분적으로 순서화된 계층을 나타내야 한다. JPEG 2000 크기조정가능 코드스트림의 예에서 상술된 바와 같이, 타일 액세스 및 구역 액세스를 위한 액세스 유형은 부분적으로 순서화된 계층이다. 블럭(510)에서, 부분적으로 순서화된 집합은 액세스 유형의 이용가능 레벨을 나타내기 위해 생성된다.
판정 블럭(512)에서, 코드스트림 내의 모든 액세스 유형이 나타내졌는지 판정된다. 나타내지지 않았으면, 흐름도(500)는 표현될 다음 액세스 유형을 선택하기 위해 블럭(504)으로 되돌아간다. 그러나, 일단, 판정 블럭(512)에서, 모든 액세스 유형이 나타내졌다고 판정되면, 블럭(514)에서, 각각의 액세스 유형을 나타내는 완전히 및 부분적으로 순서화된 집합 모두는 액세스 노드의 부분적으로 순서화된 집합을 생성하기 위해 결합된다. 액세스 유형의 집합을 사용하여, 블럭(516)에 서, 각 액세스 노드를 위한 키를 포함하는 키 집합이 생성되고, 블럭(518)에서, 도 6과 관련하여 더욱 후술되는 바와 같이, 코드스트림이 암호화된다. 블럭(518)에서 일단 암호화가 완료되면, 흐름도(500)는 블럭(520)에서 종료된다.
흐름도(500)의 레벨 조합 및 키 연관의 모드에 따르면, 콘텐트 암호화 및 키 생성은 각 코드스트림에 대해 한번 실행된다. 키 집합은 코드스트림 내에서 이용가능한 각각의 레벨 조합에 대한 이용가능 키를 포함한다. 그러므로, 크기조정 가능 코드스트림의 디지털 저작권 관리는 권한부여를 허용하고 동적 레벨 조합에 대한 요청을 위한 키를 생성하기 위해 반복될 필요가 없는 일반적으로 정적 프로세스이다. 액세스 노드 집합 및 키 집합은 지불이 수신되거나 기타 조건이 충족된 후에 키가 배포되도록 권한부여 또는 라이센스 서버 상에 저장된다.
키를 액세스 노드에 할당하는 계층적 키 생성 방식
도 6은 액세스 노드를 위한 키를 생성하는 모드를 나타낸 흐름도(600)이다. 흐름도(600)는 블럭(602)에서 시작된다. 블럭(604)에서, 하나 이상의 루트 노드가 액세스 노드 집합 중에서 식별된다. 도 4A 및 4B에서 미리 도시된 바와 같이, 루트 노드 또는 노드들은 각각의 액세스 유형에 대한 최고 액세스 레벨의 조합과 관련된 액세스 노드를 나타낸다. 블럭(606)에서, 각각의 루트 노드에 대해, 난수(random number)가 생성되어 키로서 할당된다. 하나의 키 생성 모드에서, 적절한 소수(prime number) p가 선택되고, α∈ Z* p에서의 생성기 α가 선택되는데, 여기에서 α는 수학식 4에 따라 정의된다:
Figure 112008000808862-PCT00004
블럭(608)에서, 다음의 자식 노드가 식별된다. 루트 노드로부터 시작하면, 자식 노드는 내림차순 순위로 다음 액세스 노드를 나타낸다. 블럭(608)에서, 난수는 상술된 바와 같이 생성되고, 자식 노드에 할당된다. 블럭(610)에서, 난수는 수학식 2와 관련하여 상술된 바와 같이 생성되고, 자식 노드에 할당된다. 블럭(612)에서, 자식 노드의 부모 노드가 식별된다. 각 자식에 대한 부모 노드는 액세스 유형 중의 한 유형에 대한 액세스 레벨이 더 높은 하나의 레벨인 그러한 액세스 노드이다. 예를 들어, 다시 도 4A의 하세 도표(400)를 참조하면, 액세스 레벨 r0, (t0,t1)과 관련된 정점(408)은 액세스 레벨 r0, (t0,t1,t2)과 관련된 정점(402) 및 액세스 레벨 r1, (t0,t1)과 관련된 정점(414)의 자식 노드이다. 그러므로, 정점(402 및 414)은 정점(408)에 의해 나타낸 것보다 하나의 액세스 유형에 대한 더 높은 하나의 액세스 레벨을 각각 나타내기 때문에 정점(408)의 부모 노드이다.
블럭(614)에서, 자식 노드의 키는 블럭(610)에서 자식 노드에 할당된 난수 및 블럭(612)에서 식별된 부모 노드의 키 값을 사용하여 계산된다. 하나의 키 생성 모드에서, 그룹 디피 헬먼 키 교환 협약은 각각의 자식 키를 계산하기 위해 사용된다.
각각의 자식 노드 i에 대해, 각각의 자식 키 ki는 자식 노드 ri에 할당된 난 수에 기초하고, Ri는 수학식 5에 의해 정의된 바와 같이 자식 노드 i에 대한 모든 부모 노드의 키의 곱이다:
Figure 112008000808862-PCT00005
각각의 자식 키 ki는 수학식 6을 사용하여 계산된다:
Figure 112008000808862-PCT00006
판정 블럭(616)에서, 루트 노드 및 모든 자식 노드를 포함하여 액세스 노드 집합 내의 모든 액세스 노드에 대한 키가 할당되었는지 판정된다. 할당되지 않았으면, 흐름도(600)는 다음 자식 노드를 식별하기 위해 블럭(608)으로 되돌아간다. 일단, 판정 블럭(616)에서, 모든 자식 노드가 할당되었다고 판정되면, 블럭(618)에서, 생성된 키는 액세스 노드 집합과 대응하는 키 집합 내에 저장된다. 키 집합 내에 저장된 각각의 키를 사용하여, 코드스트림 내의 각각의 액세스 유형에 대한 다양한 레벨 조합으로의 액세스에 대한 요청이 수신될 때, 적절한 키는 추가 키를 생성하거나 다른 어떤 계산을 실행할 필요없이 키 집합으로부터 인출된다.
일단 키가 획득되어 저장되었으면, 블럭(620)에서, 각각의 액세스 노드와 관련된 각각의 데이터 패킷에 대한 콘텐트 암호화 키가 획득된다. 하나의 암호화 및 키 생성 모드에서, 관련된 액세스 노드를 위한 키는 암호 해시 함수에 따라 해싱된다. 해시 함수는 원하는 크기의 콘텐트 암호화 키를 생성한다. 블럭(622)에서, 코드스트림 내의 데이터 패킷은 콘텐트 암호화 키를 사용하여 암호화된다.
블럭(624)에서, 암호화된 콘텐트는 코드스트림을 복호화하는 키를 구하기 위해 사용될 공용 정보와 함께 저장된다. 하나의 키 생성 모드에 따라, 부분적으로 순서화된 액세스 노드 집합, 소수 p, α가 선택되고, 각각의 자식 노드에 대해, 수학식 7의 값은 다음과 같다:
Figure 112008000808862-PCT00007
수학식 7에서, ri는 각 노드 i와 관련된 난수이고, Ri는 부모 노드의 키의 곱이며, k는 노드 i의 부모 노드의 키이다. 암호화된 콘텐트는 사용자가 암호화된 코드스트림을 다운로드할 수 있게 하기 위해 서버 상에 저장될 수 있다. 흐름도(600)는 블럭(626)에서 종료된다.
액세스 노드 집합 및 단일 키를 사용하여 부호화된 코드스트림의 액세싱
도 7은 흐름도(500(도 5) 및 600(도 6))에 따라 부호화된 코드스트림을 액세스하는 모드를 도시한 흐름도(700)이다. 흐름도(700)는 블럭(702)에서 시작된다. 블럭(704)에서, 코드스트림 내의 각각의 크기조정가능 액세스 유형의 원하는 레벨을 지정하는 레벨 조합이 식별된다. 더욱 구체적으로, 레벨 조합은 인터넷을 통해 또는 다른 액세스 방식을 사용하여 서버에 지정된다. 블럭(706)에서, 원하는 레벨 조합에서 코드스트림을 액세스하기 위한 권한부여가 안전하게 된다. 블럭(708)에서, 코드 스트림, 및 코드스트림을 위한 액세스 노드 집합이 수신된다. 암호화된 코드스트림을 부호화하는 한 모드에서, 액세스 노드 집합은 코드스트림의 지정된 부분에 포함된다.
블럭(712)에서, 원하는 레벨 조합을 나타내는 액세스 노드와 관련된 단일 키가 수신된다. 블럭(714)에서, 키 및 액세스 노드 집합을 사용하여, 액세스의 낮은 순위 레벨을 위한 키가 획득된다. 예를 들어, 액세스 노드, 키 및 관련된 공용 정보를 사용하는 그룹 디피 헬먼 키 교환을 사용하여, 데이터 패킷을 위한 콘텐트 암호화 키가 획득될 수 있다. 블럭(716)에서, 코드스트림이 복호화된다. 흐름도(700)는 블럭(720)에서 종료된다.
예시적인 실시예를 구현하는 컴퓨팅 시스템
도 8은 크기조정가능 키 관리 시스템의 실시예를 구현하는 예시적인 컴퓨팅 시스템(800)을 도시한 것이다. 컴퓨팅 시스템(800)은 적합한 운영 환경의 일례에 불과하며, 상술된 키 관리 프로세스의 예시적인 실시예 또는 그외 다른 실시예의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 시스템(800)이 예시적인 운영 환경(800)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
키 관리 프로세스 및 관련된 암호화 및 복호화 프로세스는 일반적으로 컴퓨팅 시스템(800) 상에서 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 게다가, 본 분야에 숙련된 기술자들은 키 관리 프로세스가 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 소비자 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 각종 컴퓨터 시스템 구성에서 실시될 수 있다는 것을 알 수 있을 것이다. 키 관리 프로세스는 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시되도록 설계된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다.
도 8과 관련하여, 키 관리 프로세스를 구현하는 예시적인 컴퓨팅 시스템(800)은 처리 장치(820), 시스템 메모리(830), 및 시스템 메모리(830)를 비롯한 각종 시스템 컴포넌트들을 처리 장치(820)에 연결시키는 시스템 버스(821)를 포함하는 컴퓨터(810)를 포함한다.
컴퓨터(810)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체의 예는 RAM; ROM; EEPROM; 플래시 메모리 또는 기타 메모리 기술; CD-ROM, DVD(digital versatile disk) 또는 기타 광 또는 홀로그래픽 디스크 저장 장치; 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치; 또는 컴퓨터(810)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 시스템 메모리(830)는 판독 전용 메모리(ROM)(831) 및 랜덤 액세스 메모리(RAM)(832)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. (시동 중과 같은 때에) 컴퓨터(810) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(833)은 통상적으로 ROM(831)에 저장되어 있다. RAM(832)은 통상적으로 처리 장치(820)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 8은 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836) 및 프로그램 데이터(837)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(810)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 8은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(841), 이동식·비휘발성 자기 디스크(852)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(851), 및 CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(856)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(855)를 도시한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 유닛, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(841)는 통상적으로 인터페이스(840)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(821)에 접속된다. 자기 디스크 드라이브(851) 및 광 디스크 드라이브(855)는 통상적으로 인터페이스(850)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(821)에 접속된다.
위에서 설명되고 도 8에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(810)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 예를 들어, 하드 디스크 드라이브(841)는 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)와 동일하거나 그와 다를 수 있다는 것이다. 통상적으로, RAM 내에 저장되는 운영 체제, 애플리케이션 프로그램 등은 대응하는 시스템, 프로그램, 또는 하드 디스크 드라이브(841)에서 판독된 데이터의 부분들이고, 그 부분들은 원하는 기능에 따라 크기 및 범위가 다르다. 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846) 및 프로그램 데이터(847)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(862); 마우스, 트랙볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161); 무선 입력 수신 컴포넌트(863); 또는 원격 제어와 같은 무선 소스 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(810)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(821)에 결합된 사용자 입력 인터페이스(860)를 통해 처리 장치(820)에 접속되지만, 병렬 포트, 게임 포트, IEEE 1394 포트, 또는 USB(universal serial bus)(898), 또는 적외선(IR) 버스(899) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 상술된 바와 같이, 입/출력 기능은 통신 네트워크를 통해 분산 방식으로 용이하게 될 수 있다.
표시 장치(891)는 또한 비디오 인터페이스(890)와 같은 인터페이스를 통해 시스템 버스(821)에 접속된다. 표시 장치(891)는 컴퓨터(810)의 출력을 모니터, LCD 스크린, TFT 스크린, 플랫-패널 디스플레이, 종래의 TV, 또는 스크린 프로젝터(이들에 제한되는 것은 아님)에 표시하는 임의의 장치일 수 있다. 표시 장치(891) 이외에, 컴퓨터는 또한 출력 주변장치 인터페이스(895)를 통해 접속될 수 있는 스피커(897) 및 프린터(896)와 같은 기타 주변 출력 장치를 포함할 수 있다.
컴퓨터(810)는 원격 컴퓨터(880)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 도 8에는 메모리 저장 장치(881)만이 도시되어 있지만, 원격 컴퓨터(880)는 또 하나의 퍼스널 컴퓨터일 수 있고, 통상적으로 컴퓨터(810)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 8에 도시된 논리적 접속으로는 LAN(871) 및 WAN(873)이 있지만, MAN(metropolitan-area network), 인트라넷 또는 인터넷으로의 접속과 같은 기타 네트워크를 포함할 수도 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(810)는 네트워크 인터페이스 또는 어댑터(870)를 통해 LAN(871)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(810)는 통상적으로 인터넷과 같은 WAN(873)을 통해 통신을 설정하기 위한 모뎀(872) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(872)은 네트워크 인터페이스(870) 또는 기타 적절한 메커니즘을 통해 시스템 버스(821)에 접속될 수 있다. 모뎀(872)은 케이블 모뎀, DSL 모뎀, 또는 기타 광대역 장치일 수 있다. 네트워크화된 환경에서, 컴퓨터(810) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 8은 원격 애플리케이션 프로그램(885)이 원격 컴퓨터(880)에 있는 것으로 도시하고 있다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
컴퓨터(810)의 많은 기타 내부 컴포넌트가 도시되지는 않았지만, 본 분야에 숙련된 기술자들은 그러한 컴포넌트 및 상호접속이 잘 알려져 있다는 것을 이해할 것이다. 예를 들어, 텔레비전-튜너 카드 및 네트워크-인터페이스 카드와 같은 다양한 확장 카드를 컴퓨터(810) 내에 포함하는 것은 통상적이다. 따라서, 컴퓨터(810)의 내부 구성에 관한 추가 상세는 키 관리 프로세스의 예시적인 실시예와 관련하여 개시될 필요가 없다.
컴퓨터(810)가 턴온되거나 리셋될 때, ROM(831) 내에 저장되어 있는 BIOS(833)는 처리 장치(820)에 운영 체제 또는 그 필요 부분을 하드 디스크 드라이브(841)에서 RAM(832)으로 로드하라고 지시한다. 일단 운영 체제(844)로 지정된 운영 체제의 복사된 부분이 RAM(832) 내에 로드되면, 처리 장치(820)는 운영 체제 코드를 실행하여, 운영 체제(834)의 사용자 인터페이스와 관련된 가시적 요소가 표시 장치(891) 상에 표시되게 한다. 통상적으로, 애플리케이션 프로그램(845)이 사용자에 의해 열릴 때, 프로그램 코드 및 관련 데이터는 하드 디스크 드라이브(841)에서 판독되고, 필요한 부분은 RAM(832) 내로 복사되는데, 그 복사된 부분은 여기 에서 참조 번호(835)로 표시된다.
크기조정가능 코드스트림을 부호화하고 복호화하는 서버 및 클라이언트 시스템
도 9는 본 발명의 모드에 따라 코드스트림을 복호화할 수 있는 클라이언트(960)에게 네트워크(950)를 통해 안전한 크기조정가능 코드스트림을 제공하도록 동작할 수 있는 서버(910)를 포함하는 시스템(900)의 기능 블럭도를 도시한 것이다. 시스템(900)은 암호화, 키 관리, 클라이언트 권한부여 및 기타 기능을 제공하는 하나 이상의 서버를 포함하는 하나 이상의 서버(910)를 사용하여 구현될 수 있다. 또한, 네트워크(950)를 통해 서버 또는 서버들(910)을 액세스하는 많은 수의 클라이언트(960)가 있을 수 있다. 그럼에도 불구하고, 단순하게 도시하기 위해, 도 9는 단일 클라이언트(960)에 의해 네트워크(950)를 통해 액세스 가능한 콘텐트를 제공하고 키 관리 기능을 실행하도록 동작할 수 있는 단일 서버(910)를 도시하고 있다.
서버(910)는 더욱 후술되는 바와 같이, 다양한 레벨 조합에 대한 권한부여 요청을 수신하고, 서버(910)로부터 코드스트림을 복호화할 수 있게 클라이언트에게 권한을 부여하는 액세스 레벨 식별 및 권한부여 서브시스템(912)을 포함한다. 서버는 또한 액세스 노드 서브시스템(914)을 포함한다. 액세스 노드 서브시스템은 도 5와 관련하여 설명된 바와 같이 크기조정가능 코드스트림 내에서 이용가능한 액세스 레벨 조합에 대응하는 액세스 노드를 구하는 액세스 노드 생성기(916)를 포함한다. 생성된 액세스 노드는 키 집합을 밝혀내기 위해 그리고 복호화 목적을 위한 코드스트을 제공하기 위해 액세스 노드 집합 저장소(918)에 저장된다.
키 서브시스템(920)은 도 6과 관련하여 설명된 바와 같이 키를 밝혀내기 위해 사용된 루트 노드 식별자(922) 및 자식과 부모 노드 식별자(922)를 포함한다. 또한 도 6과 관련하여 설명된 바와 같이, 난수 생성기(926)는 난수를 생성하여, 루트 노드 키로서 사용하고, 자식 노드 키를 밝혀내기 위해 각각의 자식 노드와 관련시킨다. 키 생성기(928)는 도 6과 관련하여 설명된 바와 같이 키를 생성하고, 키 할당기(930)는 적절한 키를 각각의 액세스 노드와 관련시킨다. 생성된 키는 모든 액세스 노드를 위한 키가 단 한번 생성되도록, 키 집합 저장소(932)에 저장되고, 키는 권한부여 요청에 응답하여 키 집합 저장소(932)로부터 인출될 수 있다.
일단 키가 키 서브시스템(920)에서 생성되어 저장되면, 암호화 서브시스템(934)은 코드스트림을 암호화한다. 도 6과 관련하여 설명된 바와 같이, 콘텐트 암호화 키 생성기(936)는 패킷이 관련된 액세스 노드와 관련된 키에 기초하여 데이터 패킷을 위한 콘텐트 암호화 키를 획득한다. 콘텐트 키를 사용하여, 코드스트림 암호화 서브시스템(938)은 코드스트림 저장소(940)에 저장되는 크기조정가능 코드스트림을 암호화한다. 클라이언트 권한부여 요청, 권한부여 승인, 키 및 코드스트림은 네트워크(950)와 통신하는 통신 제어 서브시스템(945)을 통해 교환된다.
클라이언트(960)는 크기조정가능 코드스트림 내의 각각의 액세스 유형에 대한 원하는 액세스 레벨을 나타내는 레벨 조합을 식별하는 액세스 레벨 선택 서브시스템(962)으로 안전한 크기조정가능 코드스트림을 액세스하라는 요청을 개시한다. 권한부여 요청이 성공적이면, 키는 키 제어 서브시스템(964)에 의해 서버(910)로부터 수신된다. 키는 키 저장소(966)에 저장되고, 수신된 키 및 액세스 노드 집합을 사용하여, 키 처리 서브시스템(968)은 코드스트림을 복호화하는 콘텐트 암호화 키뿐만 아니라, 코드스트림 내의 낮은 순위 레벨과 관련된 키를 획득한다. 코드스트림은 코드스트림/액세스 노드 저장소(970)에 저장되고, 디코더(972)에 의해 복호화된다. 클라이언트 통신 제어 서브시스템(980)은 권한부여 요청을 송신하고 키 및 코드스트림을 수신하도록 동작할 수 있다.
예시적인 실시예가 구조적 특징 및/또는 방법적 액트에 특정된 언어로 설명되었지만, 첨부된 청구범위는 반드시 상술된 특정 특징 또는 액트에 제한되는 것은 아니라는 것을 이해할 것이다. 오히려, 특정 특징 및 액트는 예시적인 실시예로서 개시된다.

Claims (20)

  1. 다수의 크기조정가능(scalable) 액세스 유형들을 포함하는 코드스트림(codestream) 내의 레벨들로의 액세스를 안전하게 하는 방법에 있어서,
    각각의 낮은 순위의 제1 레벨이 각각의 높은 순위의 제1 레벨 내에 항상 포함되는 완전히 순서화된 액세스 유형의 제1 레벨들의 제1 집합을 완전히 순서화된 노드 집합으로 나타내는 단계;
    각각의 낮은 순위의 제2 레벨이 각각의 높은 순위의 제2 레벨 내에 반드시 포함되는 것은 아닌 부분적으로 순서화된 액세스 유형의 제2 레벨들의 제2 집합을 부분적으로 순서화된 노드 집합으로 나타내는 단계;
    각각의 액세스 노드가 상기 제1 레벨들 및 상기 제2 레벨들의 조합을 나타내는 부분적으로 순서화된 집합을 포함하는 액세스 노드 집합을 생성하기 위해 상기 완전히 순서화된 노드 집합 및 상기 부분적으로 순서화된 노드 집합을 결합하는 단계;
    상기 액세스 노드 집합 내의 각 노드와 대응하는 키를 포함하는 키 집합을 생성하는 단계; 및
    상기 코드스트림을 암호화하는 단계
    를 포함하는 다수의 크기조정가능 액세스 유형들을 포함하는 코드스트림 내의 레벨들로의 액세스를 안전하게 하는 방법.
  2. 제1항에 있어서, 추가적인 완전히 순서화된 액세스 유형 및 추가적인 부분적으로 순서화된 액세스 유형의 최소한 하나는 추가 노드 집합으로 나타내지고, 상기 액세스 노드 집합 생성시 상기 완전히 순서화된 노드 집합 및 상기 부분적으로 순서화된 노드 집합과 결합되는 방법.
  3. 제1항에 있어서, 원하는 레벨들 조합을 나타내는 원하는 액세스 노드와 대응하는 키 집합으로부터의 원하는 키 및 상기 액세스 노드 집합을 제공함으로써 다수의 크기조정가능 액세스 유형들 중에서 원하는 레벨들 조합으로의 액세스를 제공하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 완전히 순서화된 노드 집합 및 상기 부분적으로 순서화된 노드 집합은 각 노드의 곱을 판정함으로써 결합되는 방법.
  5. 제1항에 있어서, 상기 코드스트림은 JPEG(Joint Photographic Experts Group) 2000 코드스트림을 포함하고,
    상기 완전히 순서화된 액세스 유형은 해상도에 의한 액세스, 계층에 의한 액세스, 및 색 성분에 의한 액세스 중의 하나를 포함하며,
    상기 부분적으로 순서화된 액세스 유형은 타일(tile)에 의한 액세스, 및 구역(precinct)에 의한 액세스 중의 하나를 포함하는 방법.
  6. 제1항에 있어서,
    비연속적인 데이터 요소들로의 액세스를 나타내는 최소한 하나의 관계없는 제2 레벨을 식별하는 단계; 및
    상기 액세스 집합이 상기 관계없는 제2 레벨을 수반하는 조합들을 포함하지 않도록 상기 관계없는 제2 레벨을 제거하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 키들은 부분적으로 순서화된 집합과 함께 사용하도록 동작할 수 있는 계층적 키 방식을 사용하여 생성되는 방법.
  8. 제7항에 있어서, 상기 계층적 키 방식은
    상기 액세스 노드 집합으로부터 최소한 하나의 루트(root) 노드를 식별하는 단계 - 상기 루트 노드는 가장 높은 제1 레벨 액세스 및 가장 높은 제2 레벨 액세스의 조합을 나타냄-;
    루트 키를 상기 루트 노드에 할당하는 단계;
    상기 최소한 하나의 루트 노드 이외의 액세스 노드들을 자식 노드들로서 식별하는 단계;
    다수의 자식 노드들의 각각에 대한 최소한 하나의 부모 노드를 식별하는 단계 - 상기 부모 노드는 상기 자식 노드와 관련된 레벨들의 조합에서보다 상기 제1 레벨 및 상기 제2 레벨 중의 어느 하나가 다음으로 높은 순위의 레벨을 포함하는 레벨들의 조합을 나타냄-; 및
    상기 자식 노드들의 각각에 대해, 상기 자식 노드의 최소한 하나의 부모 노드의 최소한 하나의 부모 키로부터 자식 키를 계산하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 루트 키는 상기 루트 노드에 할당된 난수(random number)를 포함하고,
    난수를 상기 자식 노드들의 각각과 관련시키는 단계; 및
    상기 자식 노드들의 각각에 대해, 상기 자식 노드와 관련된 상기 난수 및 상기 자식 노드의 최소한 하나의 부모 노드의 최소한 하나의 부모 키를 사용하는 그룹 디피 헬먼(Group Diffie Hellman) 프로토콜을 사용하여 상기 자식 키를 계산하는 단계
    를 더 포함하는 방법.
  10. 제1항에 있어서,
    암호 해시 함수(cryptographic hash function)를 사용하여 대응하는 액세스 노드와 관련된 키를 해싱함으로써 대응하는 액세스 노드와 관련된 상기 제1 레벨 및 제2 레벨의 조합에 의해 지정된 콘텐트의 제시에 관련된 데이터를 포함하는 다수의 패킷들의 각각에 대한 콘텐트 암호화 키들을 생성하는 단계; 및
    상기 코드스트림을 상기 콘텐트 암호화 키들로 암호화하는 단계
    를 더 포함하는 방법.
  11. 제1항의 방법을 실행하기 위한 컴퓨터-사용가능 명령어들이 구현되어 있는 컴퓨터 매체.
  12. 다수의 크기조정가능 액세스 유형들을 포함하는 코드스트림 내의 레벨들을 액세스하는 방법에 있어서,
    각각의 낮은 순위의 제1 레벨이 각각의 높은 순위의 제1 레벨 내에 항상 포함되는 완전히 순서화된 액세스 유형의 제1 레벨들의 집합 중에서 제1의 원하는 액세스 레벨을 식별하는 단계;
    각각의 낮은 순위의 제2 레벨이 각각의 높은 순위의 제2 레벨 내에 반드시 포함되는 것은 아닌 부분적으로 순서화된 액세스 유형의 제2 레벨들의 제2 집합 중에서 제2의 원하는 액세스 레벨을 식별하는 단계;
    상기 제1의 원하는 레벨 및 상기 제2의 원하는 레벨을 포함하는 원하는 레벨 조합에서 상기 코드스트림을 액세스하기 위한 권한부여를 안전하게 하는 단계;
    상기 완전히 순서화된 액세스 유형을 나타내는 완전히 순서화된 노드 집합과 상기 부분적으로 순서화된 액세스 유형을 나타내는 부분적으로 순서화된 노드 집합의 조합을 나타내는 부분적으로 순서화된 액세스 노드들 집합을 포함하는 액세스 노드 집합을 수신하는 단계; 및
    상기 원하는 레벨 조합에서 상기 코드스트림으로의 액세스를 할 수 있게 하 고, 상기 액세스 노드 집합을 사용함으로써 낮은 순위의 제1 레벨 및 낮은 순위의 제2 레벨의 최소한 하나를 포함하는 최소한 하나의 낮은 조합을 액세스할 수 있게 하는 단일 키를 수신하는 단계
    를 포함하는 다수의 크기조정가능 액세스 유형들을 포함하는 코드스트림 내의 레벨들을 액세스하는 방법.
  13. 제12항에 있어서, 상기 원하는 레벨 조합 및 상기 최소한 하나의 낮은 조합으로의 액세스를 제공하는 다수의 추가 키들을 상기 액세스 노드 집합 및 상기 단일 키로부터 획득하는 단계를 더 포함하는 방법.
  14. 제13항에 있어서, 상기 다수의 키들은 그룹 디피 헬먼 프로토콜을 사용하여 상기 액세스 노드 집합 및 상기 단일 키로부터 획득되는 방법.
  15. 제13항에 있어서, 상기 원하는 레벨 조합 및 상기 최소한 하나의 낮은 조합 중의 하나에서 콘텐트의 제시에 관련된 데이터를 포함하는 다수의 패킷들의 각각에 대한 콘텐트 암호화 키들을 획득하기 위해 상기 단일 키 및 상기 다수의 키들 중의 최소한 하나에 해시 함수를 적용하는 단계를 더 포함하는 방법.
  16. 제12항에 있어서, 상기 코드스트림은 JPEG(Joint Photographic Experts Group) 2000 코드스트림을 포함하고,
    상기 완전히 순서화된 액세스 유형은 해상도에 의한 액세스, 계층에 의한 액세스 및 색 성분에 의한 액세스 중의 하나를 포함하며,
    상기 부분적으로 순서화된 액세스 유형은 타일에 의한 액세스 및 구역에 의한 액세스 중의 하나를 포함하는 방법.
  17. 제12항의 방법을 실행하기 위한 컴퓨터-사용가능 명령어들이 구현되어 있는 컴퓨터 매체.
  18. 다수의 크기조정가능 액세스 유형들을 포함하는 코드스트림 내의 레벨들로의 액세스를 제어하는 시스템에 있어서,
    다수의 크기조정가능 액세스 유형들에 대한 레벨들 조합의 부분적으로 순서화된 집합의 멤버를 각각 나타내는 다수의 액세스 노드들을 포함하는 액세스 노드 집합을 유지하는 액션;
    상기 다수의 액세스 노드들의 각각에 대한 키를 유지하는 액션 - 각각의 키는 액세스 노드와 관련된 레벨들의 조합, 및 최소한 하나의 낮은 순위 레벨을 포함하는 레벨들의 임의의 조합으로 액세스할 수 있게 함-;
    상기 다수의 크기조정가능 액세스 유형들의 각각에 대한 원하는 액세스 레벨을 나타내는 원하는 레벨 조합에 대한 권한부여 요청을 수신하는 액션;
    상기 원하는 레벨 조합을 위한 원하는 액세스 노드 집합을 식별하고, 상기 원하는 액세스 노드에 대한 원하는 키를 검색하는 액션; 및
    상기 액세스 노드 집합 및 상기 원하는 키를 통신하는 액션
    을 포함하는 액션들을 실행하도록 프로그램된 하나 이상의 컴퓨터들을 포함하는 서버; 및
    상기 원하는 레벨 조합을 선택하는 액션;
    상기 액세스 노드 집합 및 상기 원하는 키를 수신하는 액션; 및
    상기 원하는 키를 사용하여, 상기 원하는 레벨 조합에서 상기 코드스트림으로 액세스하고, 상기 액세스 노드 집합 및 상기 원하는 키를 사용함으로써, 최소한 하나의 낮은 순위 레벨을 포함하는 레벨들 조합으로의 액세스를 제공하는 최소한 하나의 추가 키를 획득하는 액션
    을 포함하는 액션들을 실행하도록 프로그램된 하나 이상의 컴퓨터들을 포함하는 클라이언트
    를 포함하는 다수의 크기조정가능 액세스 유형들을 포함하는 코드스트림 내의 레벨들로의 액세스를 제어하는 시스템.
  19. 제18항에 있어서, 상기 서버는,
    상기 액세스 노드 집합으로부터 루트 노드를 식별하는 액션 - 상기 루트 노드는 다수의 크기조정가능 액세스 유형들을 위한 최고 레벨들의 조합을 나타냄-;
    루트 키를 상기 루트 노드에 할당하는 액션;
    상기 루트 노드 이외의 액세스 노드들을 자식 노드들로서 식별하는 액션;
    다수의 자식 노드들의 각각에 대한 최소한 하나의 부모 노드를 식별하는 액 션 - 상기 부모 노드는 레벨들 조합의 하나가 상기 자식 노드를 위한 레벨보다 다음으로 높은 순위 레벨인 레벨들 조합을 나타냄-; 및
    상기 자식 노드들의 각각에 대해, 상기 자식 노드의 최소한 하나의 부모 노드의 최소한 하나의 부모 키로부터 자식 키를 계산하는 액션
    을 포함하여, 상기 다수의 액세스 노드들의 각각에 대한 키를 생성하도록 더욱 프로그램되는 시스템.
  20. 제19항에 있어서, 상기 서버는,
    난수를 상기 자식 노드들의 각각과 관련시키는 액션;
    상기 자식 노드들의 각각에 대해, 상기 자식 노드와 관련된 상기 난수 및 상기 자식 노드의 최소한 하나의 부모 노드의 최소한 하나의 부모 키를 사용하는 그룹 디피 헬먼 프로토콜을 사용하여 상기 자식 키를 계산하는 액션
    을 포함하여, 상기 다수의 액세스 노드들의 각각에 대한 키를 생성하도록 더욱 프로그램되는 시스템.
KR1020087000290A 2005-07-11 2006-07-11 크기조정가능 코드스트림을 위한 안전한 키 관리 KR20080025126A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/178,943 2005-07-11
US11/178,943 US7644445B2 (en) 2005-07-11 2005-07-11 Secure key management for scalable codestreams

Publications (1)

Publication Number Publication Date
KR20080025126A true KR20080025126A (ko) 2008-03-19

Family

ID=37618336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087000290A KR20080025126A (ko) 2005-07-11 2006-07-11 크기조정가능 코드스트림을 위한 안전한 키 관리

Country Status (7)

Country Link
US (1) US7644445B2 (ko)
EP (1) EP1902542A2 (ko)
JP (1) JP2009500989A (ko)
KR (1) KR20080025126A (ko)
CN (1) CN101218781A (ko)
IL (1) IL188361A0 (ko)
WO (1) WO2007009066A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007031955A2 (en) * 2005-09-16 2007-03-22 Koninklijke Philips Electronics, N.V. Cryptographic role-based access control
JP4452702B2 (ja) * 2006-06-21 2010-04-21 株式会社日立国際電気 映像配信システム
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US8990248B1 (en) * 2006-12-13 2015-03-24 Cisco Technology, Inc. Peer-to-peer network image distribution hierarchy
US8503456B2 (en) * 2009-07-14 2013-08-06 Broadcom Corporation Flow based path selection randomization
US8793766B2 (en) 2012-03-13 2014-07-29 International Business Machines Corporation Method and apparatus for security-aware elasticity of application and services
US9876991B1 (en) 2014-02-28 2018-01-23 Concurrent Computer Corporation Hierarchical key management system for digital rights management and associated methods
US10305864B2 (en) * 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
SG10201609090XA (en) * 2016-10-31 2018-05-30 Huawei Int Pte Ltd System and method for controlling access to encrypted vehicular data
EP3393206A1 (en) * 2017-04-21 2018-10-24 Infineon Technologies AG Pixel selection method for a light-source matrix driver
US11683163B2 (en) * 2018-06-20 2023-06-20 Iot And M2M Technologies, Llc ECDHE key exchange for server authentication and a key server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338954A (ja) * 2002-05-21 2003-11-28 Toshiba Corp デジタルスチルカメラ
JP2004242287A (ja) * 2003-01-14 2004-08-26 Canon Inc 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2004297778A (ja) * 2003-03-07 2004-10-21 Canon Inc 画像データ暗号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
CA2459004A1 (en) * 2004-02-20 2005-08-20 Ibm Canada Limited - Ibm Canada Limitee Method and system to control data acces using security label components

Also Published As

Publication number Publication date
JP2009500989A (ja) 2009-01-08
WO2007009066A2 (en) 2007-01-18
EP1902542A2 (en) 2008-03-26
US20070009103A1 (en) 2007-01-11
CN101218781A (zh) 2008-07-09
US7644445B2 (en) 2010-01-05
IL188361A0 (en) 2008-04-13
WO2007009066A3 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
KR20080025126A (ko) 크기조정가능 코드스트림을 위한 안전한 키 관리
US8260710B2 (en) Method and system for securely distributing content
US10693635B2 (en) System and method for encryption and decryption based on quantum key distribution
EP1975847B1 (en) Techniques for sharing data
US6456985B1 (en) Image encrypting method and device, image decrypting method and device, and recording medium
US7873168B2 (en) Secret information management apparatus and secret information management system
WO2011086687A1 (ja) 秘匿検索システム及び暗号処理システム
US20040174999A1 (en) Image data encryption method and apparatus, computer program, and computer-readable storage medium
Dua et al. 3D chaotic map-cosine transformation based approach to video encryption and decryption
WO2018017168A2 (en) System and method for encryption and decryption based on quantum key distribution
CN106888213B (zh) 云密文访问控制方法及系统
US10027632B2 (en) Data view based on context
JPWO2010125654A1 (ja) 暗号鍵生成装置
US20090103723A1 (en) System And Method For Secure Storage Of Data
JP4664008B2 (ja) アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
JP7350220B2 (ja) 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム
Houshmand et al. Optimized quantum computing technique to encrypt medical images
US11989840B2 (en) Augmented reality effects on blockchain
JP2008186153A (ja) 情報管理システム
Muneshwara et al. A Smarter Way of Securing and Managing Data for Cloud Storage Applications Using High Throughput Compression in the Cloud Environment
CN114422149A (zh) 数据加密、数据解密方法、系统以及存储介质
Vijayan et al. Review on Fuzzy Authorization for Cloud Storage
JP2011044874A (ja) 図形データの暗号化・復号装置、および、図形データ閲覧システム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid