KR101649528B1 - 메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치 - Google Patents

메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치 Download PDF

Info

Publication number
KR101649528B1
KR101649528B1 KR1020100030121A KR20100030121A KR101649528B1 KR 101649528 B1 KR101649528 B1 KR 101649528B1 KR 1020100030121 A KR1020100030121 A KR 1020100030121A KR 20100030121 A KR20100030121 A KR 20100030121A KR 101649528 B1 KR101649528 B1 KR 101649528B1
Authority
KR
South Korea
Prior art keywords
rights
information
upgrade
rights object
message
Prior art date
Application number
KR1020100030121A
Other languages
English (en)
Other versions
KR20100135648A (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 엘지전자 주식회사
Priority to US13/319,708 priority Critical patent/US8667601B2/en
Priority to PCT/KR2010/003922 priority patent/WO2010147410A2/en
Publication of KR20100135648A publication Critical patent/KR20100135648A/ko
Application granted granted Critical
Publication of KR101649528B1 publication Critical patent/KR101649528B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1075Editing

Abstract

본 발명은 디지털 저작권 관리에 관한 것으로서, 더욱 상세하게는 디지털 저작권 사용권리의 업그레이드 방법 및 상기 방법을 제공하는 장치에 관한 것이다.
본 발명의 일 실시예에 따른 메모리 카드에 설치된 권리 객체를 업그레이드하는 방법은, 단말이 권리 발급자로부터 콘텐츠에 대한 권리 객체 식별자, 업그레이드 정보 및 AssetID(Asset Identifier; 자산 식별자)를 포함하는 트리거 메시지를 수신하는 단계, 메모리 카드로 상기 AssetID를 포함하는 자산 식별자 메시지를 전송하는 단계, 상기 메모리 카드로부터 상기 AssetID에 기반하여 선택된 권리 정보를 포함하는 권리 정보 메시지를 수신하는 단계, 상기 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 확인하는 단계 및 상기 권리 정보를 기반으로 권리 객체를 생성하여 상기 권리 객체의 업그레이드를 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치{METHOD AND DEVICE FOR UPGRADING RIGHTS OBJECT THAT WAS STORED IN MEMORY CARD}
본 발명은 디지털 저작권 관리에 관한 것으로서, 더욱 상세하게는 디지털 저작권 권리의 업그레이드 방법 및 상기 방법을 제공하는 장치에 관한 것이다.
DRM(Digital Rights Management; 디지털 권리 관리)은 디지털 콘텐츠에 대한 권리를 안전하게 보호하고 체계적으로 관리하기 위한 시스템 기술로서, 콘텐츠의 불법복제 방지 및 DRM 콘텐츠 사용권리(RO)의 획득, DRM 콘텐츠의 생성 및 유통, 사용 과정에 대한 일련의 보호 및 관리 체계를 제공한다.
도 1은 일반적인 DRM 시스템의 구성을 보인다.
일반적인 DRM 시스템은 콘텐츠 제공자가 사용자에게 전달한 디지털 콘텐츠를 사용자에게 부여한 권리 객체(Rights Object; RO)만큼만 사용하도록 통제한다. 이때, 상기 콘텐츠 제공자는 콘텐츠 발급자(Content Issue; CI)(10) 및/또는 권리 발급자(Rights Issuer; RI)(20)에 해당하는 엔티티(Entity)이다.
상기 콘텐츠 발급자(CI)(10)는 접근 권한을 갖지 않은 사용자로부터 콘텐츠를 보호할 수 있도록 특정 암호화 키를 사용해 보호된 콘텐츠(이하, DRM 콘텐츠(혹은 디지털 콘텐츠)라 칭함)를 발급하고, 상기 권리 발급자(RI)(20)는 상기 DRM 콘텐츠를 사용하는데 필요한 권리 객체를 발급한다.
장치(30)는 DRM 에이전트(40)를 포함하며, 상기 DRM 에이전트(40)는 상기 콘텐츠 발급자(CI)(10)로부터 DRM 콘텐츠를 수신하고, 상기 권리 발급자(RI)(20)로부터 상기 콘텐츠에 대한 권리 객체(RO)를 수신하고, 상기 권리 객체(RO)를 메모리 카드, 즉 SRM(50)에 포함된 SRM 에이전트(60)를 통해 상기 SRM(50)에 저장한다.
이후, 상기 DRM 에이전트(40)는 상기 권리 객체(RO)에 포함된 허가권(Permission) 및/또는 제약(Constraint)을 해석하여 해당 장치(30)에서의 상기 DRM 콘텐츠의 사용을 통제한다.
상기 허가권 및/또는 제약은 경우에 따라 변경되어야 할 필요가 있다. 따라서, 상기 SRM(50)에 저장된 상기 권리 객체(R0)에 포함된 상기 허가권 및/또는 제약을 추가 및/또는 변경하는 방법, 즉 권리 객체(RO)의 업그레이드 방법이 제공될 필요가 있다.
다음으로, 종래 기술 및 본 발명의 이해를 돕고자, 본 명세서에서 사용되는 용어를 하기의 표 1에서 간략하게 정의한다.
용어 정의
DRM 에이전트
(DRM Agent)
DRM 에이전트는 장치 안의 엔티티(entity)로서, 상기 장치에 있는 미디어 객체들에 대한 권한(permission)을 관리한다.
미디어 객체
(Media Object)
미디어 객체는 디지털 제작품(digital work)이다. 예를 들면, 링 톤(ringing tone), 화면 보호기(screen saver), 자바 게임(Java game) 및 복합 객체(composite object) 등이 상기 미디어 객체에 포함된다.
허가권
(Permission)
허가권은 DRM 콘텐츠에게 (권리 발급자에 의해) 허용되는 실제 용법(usage) 또는 활동(activity)이다.
DRM 콘텐츠
(DRM Content)
DRM 콘텐츠는 권리 객체 내의 권한들의 집합에 따라 소비(consume)되는 미디어 객체이다.
안전한 인증된 채널
(Secure Authenticated Channel; SAC)
안전한 인증된 채널은 메시지의 무결성(integrity)과 기밀성(confidentiality)을 제공하는 논리적인 채널이다.
권리
(Rights)
권리는 어떠한 상황(circumstance)하에서 DRM 콘텐츠에 대한 접근이 승인(grant)되는지를 정의하는 허가권 및 제약(constraint)의 모임(collection)이다. 이 문서에서의 목적을 위해, 상기 권리는 권리 객체, 상기 권리 객체의 연관된 상태(associated state) 및 다른 관련된 정보를 포함한다.
권리 발급자
(Rights Issuer; RI)
권리 발급자는 OMA DRM을 준수하는(conformant) 장치들에게 권리 객체를 발급하는 엔티티이다.
핸들
(Handle)
핸들은 DRM 에이전트에 의해서 생성되는 랜덤 넘버(random number)로서, 상기 Handle은 상기 DRM 에이전트가 상기 SRM 내의 사용권리를 사용(local rights consumption)하거나 혹은 이동하기 위해서 액세스할 때, 상기 사용권리(또는 권리 객체(RO))를 식별하기 위해서 사용된다. 상기 핸들은 상기 SRM 내에 저장되며, 또한 장치의 동작 로그(Operation Log)에 저장된다.
상기 DRM 에이전트는 상기 사용권리(또는 권리 객체(RO))를 이용하거나 또는 이동하기 위한 메시지를 전송할 때, 상기 핸들을 생성하고, 상기 생성된 핸들을 상기 SRM에 전송한다.
상호 인증 및 키 교환
(Mutual Authentication and Key Exchange; MAKE)
상호 인증 및 키 교환은 인증 요청/응답(Authentication Request/Response) 및 키 교환 요청/응답(Key Exchange Request/Response) 단계를 포함한다. 상기 MAKE가 완료되면 SAC 형성에 필요한 SAC 컨텍스트(context)가 형성된다.
구체적으로 상기 MAKE 절차에서는 DRM 에이전트와 SRM 에이전트 간에 트러스트 모델(Trust Model), 엔티티 ID(entity ID), 보안 알고리즘(security algorithm) 등에 대한 협상이 수행되고, 상호 인증 절차가 수행된다. 또한, 상기 MAKE 절차에서는 SAC에서 사용할 암호화 키(Session Key, MAC Key)의 정보에 대한 교환이 이루어진다.
권리 메타 데이터
(Rights Meta Data)
권리 메타 데이터(Rights Meta Data)는 권리 객체 버전(Rights Object Version), 권리 객체의 알리어스(RO Alias), 사용권리 발급자의 식별자(RI Identifier), 사용권리 발급자의 주소(RI URL), 사용권리 발급자의 알리어스(RI Alias), 사용권리 발급자의 타임 스탬프(RI Time Stamp)를 포함한다.
권리 객체
(Rights Object; RO)
권리 객체는 사용권리로도 불리며, DRM 콘텐츠에 대한 허가권(또는, 제약)들과 상기 콘텐츠에 연결된 다른 속성들을 포함한다.
상기 권리 객체는 일반적으로 장치 내에 저장되나, 본 발명의 실시예에 따르면 메모리 카드, 예컨대 SRM 에 저장될 수 있다. 이때, 상기 권리 개체는 권리 객체 컨테이너(Rights Object Container)의 형태로 저장될 수 있다.
권리 객체 컨테이너
(Rights Object Container)
상기 권리 객체를 저장하기 위한 형태 중 하나이다.
상기 SRM의 에이전트는 상기 권리 객체 컨테이너를 불투명한 개체(opaque object)로 다룬다. 즉, 상기 SRM 에이전트는 상기 권리 개체 컨테이너를 파싱하지 않는다.
<rights> 엘리먼트와 <signature> 엘리먼트를 포함한다.
상태 정보
(State Information)
상태 정보는 상태유지(stateful) 사용 권리 내에 있는 각각의 stateful 허가권의 현재 상태(예컨대, 잔여 카운트, 시작일 간격(interval start date)를 뜻한다. 상기 권리 객체가 stateful 사용권리 라면, 상기 권리 객체는 권리(Rights) 내에 포함된다.
권리 정보
(Rights Information)
권리 정보는 상기 권리 메타 데이터, 권리 객체 컨테이너, 상기 상태 정보를 포함한다.
상기 권리 정보는 상기 권리 메타 데이터, 상기 권리 객체 컨테이너, 상기 상태 정보를 포함하기 위한 정보 구조체(information structure)를 갖는다. 또한 XML과 같은 계층적인 형태로 구성될 수도 있다.
권리 객체 암호화 키
(Rights Object Encryption Key; REK)
권리 객체 암호화 키는 권리 객체에 대한 암호화 키로서, 바이너리 형태를 가지며, 즉, no base64 인코딩(encoding)이다.
자산 식별자
(Asset Identifier;
AssetID)
자산 식별자는 사용 권리(RO)내에 포함되며, DRM 컨텐츠를 식별하는데에 이용된다.
하나의 상기 사용 권리(RO)는 복수 개의 상기 자산 식별자를 포함할 수 있다. 상기 복수 개의 자산 식별자는 해쉬된 값들의 리스트로서 상기 사용 권리 내에 포함될 수 있다. 상기 리스트를 LAID(List of Hash(AssetID))라 한다.
또한, 예컨대 동일한 콘텐츠에 관련된 복수 개의 사용 권리(RO)가 존재하는 경우, 상기 복수 개의 사용 권리(RO)는 각각 동일한 AssetID를 포함할 수 있다.
SAC 컨텍스트
(SAC Content)
일단 SAC가 설립되면, 논리적 SAC 컨텍스트가 존재하게 된다. 상기 SAC 컨텍스트는 동일한 트러스트 모델(trust model) 하에 동일한 장치 및 SRM 간에 새로운 SAC가 설립(establish)되기 전까지 유지된다.
SRM Hello 메시지 쌍을 사용함으로써, DRM 에이전트는 그것이 동일한 SRM을 가지고 통신을 하는 것인지 여부를 결정할 수 있다. 만약 상기 DRM 에이전트가 상기 SAC 컨텍스트를 재사용하고, 안전한 메시지를 보내어, Field Integrity Verification Failed(필드 무결성 검증 실패) 에러를 되받는다면, 이는 아마도 상기 SAC 컨텍스트가 더 이상 유효하지 않다는 것을 가리킨다. 상기 DRM 에이전트는 새로운 SAC를 설립하여야 한다.
상기 컨텍스트는 하기의 표 2와 같은 정보를 유지한다.
상기 표 1에서, 상기 SAC 컨텍스트의 설정에 필요한 정보는 하기의 표 2에 열거된 사항을 포함할 수 있다.
이름 설명
MAC Key DRM 에이전트와 SRM 에이전트 간 SAC 세션에서 무결성(Integrity) 보장을 위해 사용되는 키
Session Key DRM 에이전트와 SRM 에이전트간 SAC 세션에서 기밀성(Confidentiality) 보장을 위해 사용되는 암호화 키
Selected Algorithms MAKE 절차를 통해 협상된 알고리즘
Trust Anchor SAC가 어떤 트러스트 앵커 하에서 설립되었을 때, 그 트러스트 앵커
다수의 SAC들이 가용하며, 장치가 다른 SAC로 전환하기를 원할 때 사용됨
Entity ID 장치에게 있어서는 SRM ID를 포함하고(트러스트 앵커 하에서) SRM에게 있어서는, 장치의 ID를 포함함(트러스트 앵커 하에서)
상기 SRM(50)은 하기의 표 3과 같이 상기 권리 객체(RO)를 저장할 수 있다.
Handle 권리 정보 LAID REK
즉, 상기 SRM(50)은 상기 Handle, 상기 권리 정보, 상기 LAID 및 상기 REK를 포함한다.
상기 표 1에서, 권리 메타 데이터 및 권리 객체 컨테이너는 하기의 표 4와 같이 엘리먼트를 포함할 수 있다.
Rights Meta Data
① Rights Object Version: <protectedRO> 엘리먼트::<ro> 엘리먼트::<version> 엘리먼트.
② RO Alias: <protectedRO> 엘리먼트::<ro> 엘리먼트::<roPayloadAliases>::<roAlias> 엘리먼트.
③ RI Identifier: <protectedRO> 엘리먼트::<ro> 엘리먼트::<riID> 엘리먼트.
④ RI URL: <protectedRO> 엘리먼트::<ro> 엘리먼트::<riURL> 엘리먼트.
⑤ RI Alias: <protectedRO> 엘리먼트::<ro> 엘리먼트::<roPayloadAliases> 엘리먼트::<riAlias> 엘리먼트.
⑥ RI Time Stamp: <protectedRO> 엘리먼트::<ro> 엘리먼트::<timeStamp> 엘리먼트.
Rights Object Container
① <rights> 엘리먼트: <protectedRO> 엘리먼트::<ro> 엘리먼트:::<rights> 엘리먼트.
② <signature> 엘리먼트: <protectedRO> 엘리먼트::<ro> 엘리먼트::<signature> 엘리먼트.
상기 표 4에서, '::'는 특정 엘리먼트 아래에 있는 부-엘리먼트(sub-element)를 나타낸다. 예를 들어, <protectedRO>::<ro>::<version> 엘리먼트는 <protectedRO> 엘리먼트 아래에 있는 <ro> element의 subelement인 <version> element를 나타낸다. 도 2는 상기의 <protectedRO>::<ro>::<version> 엘리먼트를 도시화한 것이다.
특정 권리 객체를 업그레이드 하기 위해서는, 상기 특정 권리 객체의 식별자, 예컨대 roID를 사용하여, 상기 SRM(50) 내에 저장되어 있는 권리 객체 중 상기 특정 권리 객체를 찾을 수 있어야 한다. 상기 roID는 권리 객체를 고유하게 식별하며, 이는 상기 권리 객체 내의 <uid> 엘리먼트의 값일 수 있다. 상기 <uid> 엘리먼트는 상기 권리 객체 내의 <rights> 엘리먼트의 자식(child)인 <context> 엘리먼트 내에 있을 수 있다.
상기 <uid> 엘리먼트는, XML과 같은 계층적 구조 내에 포함될 수 있다. 이러한 경우, 예컨대 계산 능력 등의 이유로, 상기 SRM(50)은 상기 <uid> 엘리먼트에 직접 접근하지 못할 수 있다. 상기 <uid> 엘리먼트가 XML 문서 내의 일 요소인 경우, 상기 SRM(50)이 상기 <uid> 엘리먼트의 추출에 필요한 파싱(parsing) 등의 작업을 수행할 수 없을 수 있기 때문이다. 따라서, 예컨대 상기 roID에 해당하는 권리 객체를 검색하기 위해 권리 객체의 상기 <uid> 엘리먼트에 대한 접근이 필요한 경우, 상기 SRM(50)은 상기 권리 객체를 상기 DRM 에이전트(40)에 전송하고, 상기 DRM 에이전트(40)가 상기 전송받은 권리 객체의 상기 <uid> 엘리먼트에 접근한다.
도 3a는 SRM 권리 업그레이드 절차의 일 예를 도시한다. 상기 절차는 도면에 도시된 신호 흐름을 참조하여 이하에서 구체적으로 설명된다.
1) 먼저, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)와의 통신을 위한 기본적인 협상과 전술된 표 1의 상호 인증 및 키 교환 절차를 완료하여 SAC 컨텍스트를 생성한다(S100).
상기 DRM 에이전트(40)와 상기 SRM 에이전트(60)는 트러스트 앵커를 일치시키며, 서로의 ID를 인식할 수 있는 상태가 된다. 또한, 양자 간에 전달되는 메시지에 대한 암호화(encryption) 및 무결성(integrity) 제공이 가능하게 된다.
2) 다음, 상기 RI(20)는 상기 SRM(50)에 저장된 권리를 업그레이드하기 위해서 RO 업그레이드 트리거 메시지, 예컨대 RO Upgrade Trigger 메시지를 상기 DRM 에이전트(40)로 전송하여 권리 객체(RO) 업그레이드 절차의 시작을 알린다(S110). 상기 메시지는 하기의 표 5와 같은 항목들을 포함할 수 있다.
필드 설명
roID 업그레이드될 권리 객체의 식별자(Right Object Identifier; RO ID)
roAlias 권리 객체를 가리키는 명칭이며, 선택적으로 포함됨
UpgradeInfo 권리 객체에 추가될 허가권 및 제약 등의 정보를 포함함
3) 상기 RO 업그레이드 트리거 메시지를 수신한 상기 DRM 에이전트(40)는 다음의 절차를 수행한다(S120).
- 상기 DRM 에이전트(40)는 상기 장치(30)에 저장되어 있는 권리 객체 중에서, 상기 권리 객체 식별자(RO ID)에 해당하는 권리 객체가 존재하는지 여부를 확인한다.
예컨대, 상기 DRM 에이전트(40)는 상기 권리 객체들 각각의 상기 <uid> 엘리먼트를 접근하여, 상기 권리 객체 식별자와 같은 값을 갖는 상기 <uid> 엘리먼트를 찾을 수 있다.
- 만약, 상기 장치(30) 내에 상기 권리 객체 식별자에 해당하는 권리 객체가 존재하지 않을 경우, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장되어 있는 권리 중에서 상기 권리 식별자에 해당되는 권리, 즉 업그레이드의 예정인 권리가 있는지 여부를 확인하고, 상기 SRM(50)으로부터 상기 권리에 대한 핸들을 수신한다(S130). 상기 확인 및 수신의 구체적인 절차의 일 실시예에 대해서 이후 도 3b를 참조하여 설명하기로 한다.
4) 다음으로, 상기 DRM 에이전트(40)는 상기 업그레이드 예정인 권리를 상기 SRM(50)으로부터 꺼내오기 위해서 업그레이드 권리 추출 요청 메시지, 예컨대 Upgrade Rights Retrieval Request 메시지를 상기 SRM 에이전트(60)로 전달한다(S140).
상기 메시지는 하기의 표 6과 같은 항목들을 포함할 수 있다.
필드 설명
Handle_1 업그레이드 예정인 권리에 대한 핸들
Handle_2 상기 Handle_1을 대체할 새로운 핸들
5) 상기 업그레이드 권리 추출 요청 메시지를 수신한 상기 SRM 에이전트(60)는 상기 SRM에서 권리를 추출하기 위하여 다음의 절차를 수행한다(S142).
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 불능화(disable) 시키고, 상기 권리의 핸들 값을 상기 Handle_2로 대체시킨다. 상기 대체로 인하여, 상기 업그레이드 권리 추출 요청 메시지를 전송하였던 상기 DRM 에이전트(40)만이 상기 Handle_2 값을 알 수 있게 된다. 따라서, 다른 DRM 에이전트는 상기 SRM(50)에 저장된 Handle_2가 가리키는 권리에 접근할 수 없다. 또한, 권리가 불능화 된 경우, 핸들 목록 질의(handle list query) 절차에서도 상기 불능화된 권리에 대한 핸들은 검색되지 않는다.
- 이때, 상기 SRM 에이전트(60)는 향후 업그레이드될 권리를 위해서 65536 바이트(bytes)의 공간을 확보할 수 있다. 만약 상기 SRM(50) 내에 65536 바이트의 여유 공간이 없으면, 권리 업그레이드 절차가 중단될 수 있다.
6) 다음으로, 상기 SRM 에이전트(40)는 업그레이드될 예정인 권리를 업그레이드 권리 추출 응답 메시지, 예컨대 Upgrade Rights Retrieval Response 메시지를 통해 상기 DRM 에이전트(40)로 전송한다(S144)
상기 메시지는 하기의 표 7과 같은 항목들을 포함할 수 있다.
필드 설명
Status 업그레이드 권리 추출 요청에 대한 처리 결과를 포함
Rights Information 상기 표 1에서 설명됨
상기 Rights Information은 상기 DRM 에이전트(40) 및 상기 SRM 에이전트(60) 사이에서 형성된 MAC 키(MK)를 통해 계산된 HMAC 값을 통해서 무결성이 보호될 수 있음
REK 상기 표 1에서 설명됨
상기 REK는 상기 DRM 에이전트(40) 및 상기 SRM 에이전트(60) 사이에서 형성된 세션 키(session key; SK)로 암호화 될 수 있음
즉, 상기 표 7에서 업그레이드될 권리는 권리 정보 및 REK의 형태로서 상기 DRM 에이전트(40)로 전송될 수 있다.
7) 상기 DRM 에이전트(40)가 상기 업그레이드 권리 추출 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지를 기반으로 권리 객체를 생성하고, 상기 권리 객체를 상기 RI(20)에 전달하기 위한 권리 객체 업그레이드 요청 메시지, 예컨대 RO Upgrade Request 메시지를 생성한다(S150)
상기 권리 객체는 상기 권리 추출 응답 메시지에 포함된 상기 Rights Information 상기 및 REK에 기반하여 생성될 수 있고, 상기 권리 객체 업그레이드 트리거 메시지로부터 수신된 상기 upgradeInfo를 포함할 수 있다.
상기 RO Upgrade Request 메시지의 생성을 위한 절차는 OMA SCE 1.0 TS를 따른 것일 수 있다.
상기 메시지는 하기의 표 8과 같은 항목들을 포함할 수 있다.
필드 설명
Device-ID
(Dev-ID)
권리 객체 업그레이드를 요청하는 장치의 ID
RI-ID 권리 객체를 발급했던 RI의 ID, 업그레이드를 요청할 RI의 ID
Nonce DRM 에이전트가 생성한 난수(random) 값
Time 권리 객체 업그레이드 요청을 생성할 때의 시각
existingRights RI로부터 기존에 발급받았던 권리 객체, 예컨대 existingRO
OMA DRM 2.0의 보호된 권리 객체(protected RO)의 형태일 수 있음
ROUpgradeInfo 기존 RO에 추가될 허가권 및 제약 등의 정보
Signature 권리 객체 업그레이드 요청 메시지에 대한 DRM 에이전트의 디지털 서명
8) 다음으로, 상기 DRM 에이전트(40)는 상기 RI(20)로부터 기존에 발급받았던 권리에 대한 업그레이드된 권리의 발급을 요청하기 위해, 상기 권리 객체 업그레이드 요청 메시지를 상기 RI(20)로 보낸다(S160).
9) 상기 RI(20)가 상기 권리 객체 업그레이드 요청 메시지를 수신하면, 상기 RI(20)는 상기 권리 객체(즉, existingRights)가 이전에 상기 RI(20)가 발급했던 권리 객체인지 여부를 확인할 수 있다.
상기 RI(20)는 상기 DRM 에이전트(40)가 요청한 권리 업그레이드 정보에 따라서, 기존의 권리 객체에 허가권 및 제약 등이 추가된 새로운 업그레이드된 권리 객체를 생성한다. 상기 RI(20)는 상기 업그레이드된 권리 객체를 상기 DRM 에이전트(40)로 전달하기 위해, 권리 객체 응답 메시지, 예컨대 RO Upgrade Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S162).
상기 메시지는 하기의 표 9와 같은 항목들을 포함할 수 있다.
필드 설명
Status 권리 객체 업그레이드 요청에 대한 처리 결과를 포함
처리 결과가 성공적인 경우, 'Success'를 포함하고, 실패인 경우 'Fail' 및 실패에 대한 이유 코드(reason code)를 포함
Device-ID
(Dev-ID)
권리 객체 업그레이드를 요청하는 장치의 ID
RI-ID 권리 객체를 발급했던 RI의 ID, 업그레이드를 요청할 RI의 ID
Nonce DRM 에이전트가 생성한 난수(random) 값
Time 권리 객체 업그레이드 요청을 생성할 때의 시각
existingRO-ID RI로부터 기존에 발급받았던 권리 객체와 동일한 권리 객체 ID
OMA DRM 2.0의 보호된(protected) 권리 객체의 형태로 전달됨
protectedRO RI로부터 발급된 업그레이드된 권리 객체
장치의 RSA 공개키를 사용해서 보호되는, OMA DRM 2.0의 protected RO의 형태일 수 있음
Signature 권리 객체 업그레이드 응답 메시지에 대한 RI의 디지털 서명
10) 상기 DRM 에이전트(40)가 상기 권리 객체 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장된 권리를 업그레이드하기 위한 작업을 수행한다. 즉, 상기 DRM 에이전트(40)는 권리 업그레이드 요청 메시지, 예컨대 Rights Upgrade Request 메시지를 통해 상기 SRM 에이전트(60)에게 보낸다.
이때, 상기 DRM 에이전트(40)는 상기 RI(20)로부터 받은 업그레이드 된 권리 객체(즉, 상기 protectedR0)를 상기 SRM 에이전트(60)가 인식할 수 있는 형식으로 변환할 수 있다. 상기 SRM 에이전트(60)가 인식할 수 있는 형식은, SRM 1.0이 지원하는 권리의 크기(Size of Rights), REK, LAID 및 권리 정보를 포함할 수 있다.
또한, 상기 권리 업그레이드 요청 메시지는 상기 DRM 에이전트(40)가 상기 Handle_1을 대신하여 새롭게 할당했던 상기 Handle_2 및 업그레이드될 권리를 식별하기 위한 새로운 Handle_3을 포함할 수 있다.
즉, 상기 권리 업그레이드 요청 메시지는 하기의 표 10과 같은 항목들을 포함할 수 있다.
필드 설명
Handle_2 SRM에 저장된 원래의(original) 권리를 나타내는 핸들 값. Handle_2 값은 SRM 권리 업그레이드를 실행한 DRM 에이전트만이 알고 있음
Handle_3 업그레이드된 권리를 저장하면서, 상기 권리를 구분할 수 있도록 하기 위한 새로운 고유한 ID. DRM 에이전트에 의해서 생성되고, 암호화되어 전달됨
권리의 크기
(Size of Rights)
업그레이드된 권리 정보(Rights Information)의 크기
REK 업그레이드된 권리의 REK
LAID
(List of Hash
(AssetID))
권리로 실행할 수 있는 콘텐츠에 대한 AssetID의 리스트
권리 정보
(Rights Information)
업그레이드된 권리에 대한 Rights Information. Rights MetaData, Rights Object Container, State Information을 포함
11) 상기 SRM 에이전트(60)는 상기 권리 업그레이드 요청 메시지를 수신하고, 상기 메시지에 기반하여 업그레이드가 요청된 원래의 권리를 삭제하고, 새롭게 업그레이드된 권리를 상기 SRM(50)에 저장 및 설치한다(S182).
상기 절차는 구체적으로 하기와 같이 수행될 수 있다.
- 상기 SRM 에이전트(60)는 상기 Handle_2가 가리키는 권리를 삭제한다.
- 다음, 상기 SRM 에이전트(60)는 설치될 업그레이드된 권리를 위한 공간을 확보한다. 상기 권리의 크기는 상기 권리의 크기에 해당한다.
- 다음, 상기 SRM 에이전트(60)는 Handle_3이 가리키는 공간에 상기 권리 정보, 상기 LAID 및 상기 REK 등을 저장한다. 즉, 허가권 및 제약 등이 추가된 상기 업그레이드된 권리가 저장된다.
12) 다음으로, 상기 SRM 에이전트(60)는 상기 권리 업그레이드의 결과를 권리 업그레이드 응답 메시지, 예컨대 Rights Upgrade Response 메시지를 통해 상기 DRM 에이전트(40)로 보낸다(S184).
상기 권리 업그레이드 응답 메시지는 하기의 표 11과 같은 항목들을 포함할 수 있다.
필드 설명
Status 권리 업그레이드 요청에 대한 처리 결과를 포함
처리 결과가 성공적인 경우, 'Success'를 포함하고, 실패인 경우 'Fail' 및 실패에 대한 이유 코드(reason code)를 포함
13) 마지막으로, 상기 DRM 에이전트(40)는 상기 권리 업그레이드 응답 메시지를 수신한다(S186).
상기 DRM 에이전트(40)는 상기 권리 업그레이드 요청이 성공적으로 수행된 경우, 상기 DRM 에이전트(40)는 상기 DRM 에이전트(40) 내에 복사되어 있는 업그레이드된 권리 객체를 삭제할 수 있다. 또한, 상기 DRM 에이전트(40)는 상기 업그레이드된 권리 객체를 삭제하는 대신 쓸 수 없도록 할 수 있으며, 선택적으로 상기 DRM 에이전트(40)는 상기 업그레이드된 권리 객체를 차후 가능화(enable)할 필요가 있는 경우에는 상기 업그레이드된 권리 객체를 쓸 수 없는 상태로 두고, 그렇지 않은 경우에는 상기 업그레이드된 권리 객체를 삭제할 수 있다.
다음으로, 전술한 단계 3)에서, 상기 장치(30) 내에 상기 권리 식별자에 해당하는 권리 객체가 존재하지 않을 경우, 상기 DRM 에이전트(40)가 상기 SRM(50)에 저장되어 있는 권리 중에서 상기 권리 식별자에 해당되는 권리가 있는지 여부를 확인하는 절차를 구체적으로 설명한다.
본 절차에서, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장된 모든 핸들 리스트를 검색한다. 이후, 상기 DRM 에이전트(40)는 상기 권리 식별자에 해당하는 권리가 나올 때까지 반복적으로 핸들이 가리키는 모든 권리에 대해서 후술할 권리 정보 질의, 예컨대 Rights Info Query 절차를 수행한다. 상기 수행에 따라, 상기 DRM 에이전트(40)는 상기 질의의 결과를 상기 권리와 비교한다. 따라서, 최악의 경우 상기 핸들 리스트의 마지막 핸들이 가리키는 권리가 업그레이드의 대상이 되는 권리가 될 수 있다.
도 3b는 상기 도 3a에서 기술된 과정 중, 상기 권리 식별자에 해당되는 권리가 상기 SRM(50)에 저장되어 있는지 여부를 확인하는 절차를 자세히 나타내는 절차흐름도이다.
1) 우선, 상기 DRM 에이전트(40)가 상기 RI(20)로부터 권리 객체 업그레이드 절차의 시작을 알리는 트리거 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 권리 객체 식별자에 해당하는 권리가 상기 장치(30) 및 상기 SRM(50) 내에 존재하는지를 검색한다(S131).
2) 상기 검색을 위해, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장된 모든 핸들에 대한 리스트를 요청하기 위한 핸들 리스트 질의 요청 메시지, 예컨대 Handle List Query Request 메시지를 상기 SRM 에이전트(60)에게 보낸다(S132).
상기 핸들 리스트 질의 요청 메시지는 하기의 표 12와 같은 항목들을 포함할 수 있다.
필드 설명
LAID
(no. of H(AssetID)=0)
권리로 실행할 수 있는 콘텐츠에 대한 AssetID의 리스트
no. of H(AssetID)는 0으로 설정됨
Handle List Length DRM 에이전트가 한 번의 질의로써 수신할 핸들 리스트의 최대 길이
3) 상기 핸들 리스트 질의 요청 메시지를 수신한 상기 SRM 에이전트(60)는 상기 메시지에 대한 처리를 수행하고, 핸들 리스트 질의 응답 메시지, 예컨대 Handle List Query Response 메시지를 상기 DRM 에이전트(40)에게 보낸다(S133).
상기 핸들 리스트 질의 응답 메시지는 하기의 표 13과 같은 항목들을 포함할 수 있다.
필드 설명
Status 핸들 리스트 질의 요청에 대한 처리 결과를 포함
Handle List SRM에 저장된 핸들의 리스트
Continuation Flag 핸들 리스트 질의 요청에 포함된 Handle List Length에 비해서 SRM에 저장되어 있는 핸들이 더 많은 경우 'true', 그렇지 않은 경우 'false'. 즉 'true'일 경우 핸들 리스트를 더 수신받아야 할 경우를 나타냄
4) 상기 DRM 에이전트(40)는 상기 핸들 리스트 질의 응답 메시지를 수신하여, 핸들 리스트를 확인한다(S134). 상기 DRM 에이전트(40)는 상기 핸들 리스트 내 각각의 핸들에 해당하는 권리 정보를 필요로 하며, 이후의 단계에서 각각의 권리 정보를 요청한다.
5) 상기 DRM 에이전트(40)는 상기 핸들 리스트 내 하나의 핸들에 대하여, 상기 핸들이 가리키는 권리의 정보를 얻기 위해 권리 정보 질의 요청 메시지, 예컨대 Rights Info Query Request 메시지를 상기 SRM 에이전트(60)에게 보낸다(S135a).
상기 권리 정보 질의 요청 메시지는 하기의 표 14와 같은 항목들을 포함할 수 있다.
필드 설명
Handle 권리를 가리키는 핸들로서, 상기 권리의 권리 정보가 요청됨
6) 상기 SRM 에이전트(60)는 상기 권리 정보 질의 요청 메시지를 수신하고, 상기 메시지가 요청하는 권리가 존재하는지 여부를 확인한다. 만약, 상기 권리가 존재한다면, 상기 SRM 에이전트(60)는 상기 권리에 대한 정보를 포함하는 권리 정보 질의 응답 메시지, 예컨대 Rights Info Query Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S136a).
상기 권리 정보 질의 응답 메시지는 하기의 표 15와 같은 항목들을 포함할 수 있다.
필드 설명
Status 권리 정보 질의 요청에 대한 처리 결과를 포함
Rights Meta Data 상기 표 1에서 설명됨
Rights Object Container 상기 표 1에서 설명됨
State Information 상기 표 1에서 설명됨
7) 다음으로, 상기 핸들 리스트에 1 개 이상의 핸들이 포함된 경우, 상기 DRM 에이전트(S40)는 다른 나머지 핸들에 대해서도 전술한 5) 및 6) 단계를 수행하여, 모든 핸들에 대한 정보를 획득한다(S135b 및 S136b).
즉 도 3b에서 점선 내에 도시된 부분과 같이, 상기 핸들 리스트 내 각각의 핸들에 대해서 상기 권리 정보 질의 요청 메시지 및 상기 권리 정보 질의 응답 메시지가 상기 DRM 에이전트(S40) 및 상기 SRM 에이전트(S60) 간에 송수신된다.
8) 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)로부터 수신한 권리 정보가 상기 트리거에서 수신한 상기 권리 객체 식별자에 해당하는지 여부를 확인한다(S137). 예컨대, 상기 DRM 에이전트(40)는 상기 권리 정보 내의 상기 <uid> 엘리먼트의 값이 상기 권리 객체 식별자의 값과 일치하는지 여부를 확인한다.
선택적으로, 상기 단계는 상기 SRM 에이전트(60)로부터 모든 권리에 대한 정보를 수신한 후 실행될 수 있으며, 각각의 권리에 대한 정보를 수신할 때마다 실행될 수도 있다.
선택적으로, 상기 DRM 에이전트(40)가 권리 객체 식별자를 통해 업그레이드하기 위한 권리를 검색하기 위해서, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장된 모든 권리에 대한 정보를 사전에 상기 DRM 에이전트(40)로 모두 로딩해 놓을 수 있다. 이러한 경우, 상기 도 3b를 통해 도시된 절차가 상기 도 3a의 3) 단계 이전에라도 사전에 실행된다.
전술한 것처럼, 종래 기술에 따른 권리 객체의 업그레이드 방법은 상기 업그레이드의 대상이 되는 권리 객체를 찾기 위해, 최악의 경우 상기 장치(30) 및 상기 SRM(50)에 저장된 모든 권리 객체를 검색해야 하는 문제가 있으며, 특히 상기 SRM(50) 내에 저장된 권리 객체는 상기 검색을 위해 우선 상기 장치(30)로 이동되어야 한다는 문제가 있다.
또한, 상기 장치(30) 내의 저장 공간의 한계 및 시간상의 제약 등으로 인하여, 상기 SRM(50)이 상기 장치(30)에 삽입될 때 상기 SRM(50) 내의 모든 권리 객체에 대한 정보를 상기 장치 내로 로드(load) 하는 방법 또한 어느 경우에나 실행될 수는 없다.
따라서, 본 발명의 목적은 전술한 권리 객체(RO)의 업그레이드 방법을 제공하는데 있다.
구체적으로, 본 발명의 목적은, 장치에 저장되어 있는 권리를 일일이 검색하지 않고, SRM에 저장되어 있는 권리 중 권리 객체 식별자에 해당하는 권리를 바로 검색하여 업그레이드하기 위한 효율적인 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 상기와 같은 권리 객체의 업그레이드 과정 중, 권리가 SRM으로부터 권리 발급자로 전송되는 과정에서 상기 권리를 보호하는 방법 및 업그레이드된 권리가 권리 발급자(20)로부터 SRM(50)으로 전달되는 과정에서 상기 업그레이드된 권리를 보호하는 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 메모리 카드에 설치된 권리 객체를 업그레이드하는 방법은, 단말이 권리 발급자로부터 콘텐츠에 대한 권리 객체 식별자, 업그레이드 정보 및 AssetID(Asset Identifier; 자산 식별자)를 포함하는 트리거 메시지를 수신하는 단계, 메모리 카드로 상기 AssetID를 포함하는 자산 식별자 메시지를 전송하는 단계, 상기 메모리 카드로부터 상기 AssetID에 기반하여 선택된 권리 정보를 포함하는 권리 정보 메시지를 수신하는 단계, 상기 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 확인하는 단계 및 상기 권리 정보를 기반으로 권리 객체를 생성하여 상기 권리 객체의 업그레이드를 수행하는 단계를 포함하는 것을 특징으로 한다.
바람직하게, 상기 권리 정보 메시지는 상기 권리 정보에 대한 제1 식별 정보를 더 포함하고, 상기 메모리 카드로 상기 제1 식별 정보 및 새롭게 생성된 제2 식별 정보를 포함하는 식별 정보 메시지를 전송하는 단계 및 상기 메모리 카드로부터 상기 제1 식별 정보에 기반하여 상기 권리 정보에 대한 암호 키를 포함하는 암호 키 메시지를 수신하는 단계를 더 포함하며, 상기 권리 객체는 상기 암호 키를 기반으로 생성된다.
바람직하게, 상기 제1 식별 정보, 상기 제2 식별 정보, 상기 권리 정보 및 상기 암호 키는 복수 개이며, 상기 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 확인하는 단계는 상기 복수 개의 권리 정보 중 상기 권리 객체 식별자에 대응하는 것을 찾는다.
바람직하게, 상기 자산 식별자 메시지는 상기 권리 정보 메시지가 포함할 수 있는 권리 정보의 길이를 나타내는 파라미터를 더 포함하며, 상기 권리 정보 메시지는 복수 개일 수 있으며, 상기 권리 정보 메시지는 자신 이후의 더 이상의 상기 권리 정보 메시지가 있는지 여부를 가리키는 플래그를 더 포함한다.
바람직하게, 상기 메모리 카드로부터 권리 정보에 대한 제1 식별 정보를 포함하는 제1 식별 정보 메시지를 수신하는 단계 및 상기 메모리 카드로 상기 제1 식별 정보 및 새롭게 생성된 제2 식별 정보를 포함하는 제2 식별 정보 메시지를 전송하는 단계를 더 포함하며, 상기 권리 정보 메시지는 상기 권리 정보에 대한 암호 키를 더 포함하며, 상기 권리 객체는 상기 암호 키를 기반으로 생성된다.
바람직하게, 상기 제1 식별 정보, 상기 제2 식별 정보, 상기 권리 정보 및 상기 암호 키는 복수 개이며, 상기 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 확인하는 단계는 상기 복수 개의 권리 정보 중 상기 권리 객체 식별자에 대응하는 것을 찾는다.
바람직하게, 상기 제1 식별 정보 메시지는 복수 개일 수 있으며, 상기 제1 식별 정보 메시지는 자신 이후의 더 이상의 상기 제1 식별 정보 메시지가 있는지 여부를 가리키는 플래그를 더 포함한다.
바람직하게, 상기 트리거 메시지는 상기 권리 객체 식별자에 대응하는 권리 객체가 상기 메모리 카드에 저장되어 있음을 가리키는 플래그를 더 포함한다.
바람직하게, 상기 권리 객체를 업그레이드하는 단계는, 상기 권리 발급자에게 상기 권리 객체의 업그레이드를 위해 상기 권리 객체, 권리 객체 업그레이드 정보 및 제1 서명을 전송하는 단계, 상기 제1 서명은 상기 단말에 의한 디지털 서명이고, 상기 권리 발급자로부터 업그레이드된 권리 객체 및 제2 서명을 획득하는 단계, 상기 제2 서명은 상기 권리 발급자에 의한 디지털 서명이고, 상기 업그레이드된 권리 객체를 기반으로 LAID(List of Hash(AssetID), 해쉬된 자산 식별자의 리스트), 업그레이드된 권리 객체의 암호 키 및 업그레이드된 권리 객체의 권리 정보를 생성하는 단계, 상기 메모리 카드에게 상기 업그레이드된 권리 객체의 설치를 위해 상기 권리 객체의 식별 정보, 상기 업그레이드된 권리 객체의 식별 정보, 상기 LAID, 상기 업그레이드된 권리 객체의 암호 키 및 상기 업그레이드된 권리 객체의 권리 정보를 전송하는 단계 및 상기 메모리 카드로부터 상기 권리 객체의 업그레이드 결과를 획득하는 단계를 포함한다.
바람직하게, 상기 권리 객체 및 상기 업그레이드된 권리 객체는 상기 단말의 RSA 공개키를 사용한 보호된 권리 객체이다.
바람직하게, 상기 권리 객체를 업그레이드하는 단계는, 상기 권리 발급자에게 상기 권리 객체의 업그레이드를 위해 상기 권리 객체, 권리 객체 업그레이드 정보 및 제1 서명을 포함하는 권리 객체 업그레이드 요청 메시지를 전송하는 단계, 상기 제1 서명은 상기 메모리 카드에 의한 상기 권리 객체 업그레이드 요청 메시지에 대한 디지털 서명이고, 상기 권리 발급자로부터 업그레이드된 권리 객체 및 제2 서명을 획득하는 단계, 상기 업그레이드된 권리 객체는 보호된 권리 객체이고, 상기 제2 서명은 상기 권리 발급자에 의한 디지털 서명이고, 상기 업그레이드된 제2 권리 객체를 검증하는 단계, 상기 업그레이드된 권리 객체를 기반으로 LAID 및 업그레이드된 권리 객체의 권리 정보를 생성하는 단계 및 상기 메모리 카드에게 상기 업그레이드된 권리 객체의 설치를 위해 상기 업그레이드된 권리 객체의 식별 정보 및 상기 업그레이드된 권리 객체의 권리 정보를 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따른 메모리 카드에 설치된 권리 객체를 업그레이드하는 단말은, 권리 발급자로부터 콘텐츠에 대한 권리 객체 식별자, 업그레이드 정보 및 AssetID(Asset Identifier; 자산 식별자)를 포함하는 트리거 메시지를 수신하고, 권리 객체의 업그레이드를 위해 상기 권리 객체, 권리 객체 업그레이드 정보 및 제1 서명을 전송하고, 업그레이드된 권리 객체 및 제2 서명을 수신하는 송수신부, 상기 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 확인하고, 상기 권리 정보 및 상기 권리 정보의 암호 키를 기반으로 상기 권리 객체를 생성하는 프로세서 및 상기 메모리 카드와 접속되어, 상기 메모리 카드로부터 상기 AssetID에 기반하여 상기 권리 정보 및 상기 암호 키를 수신하며, 상기 업그레이드된 권리 객체의 설치를 위해 상기 권리 객체의 식별 정보, 상기 업그레이드된 권리 객체의 식별 정보를 전송하고, 상기 권리 객체의 업그레이드 결과를 수신하는 커넥터를 포함한다.
본 발명은 장치에 저장되어 있는 권리를 검색하지 않고, SRM(50)에 저장되어 있는 권리 중 권리 객체 식별자에 해당하는 권리를 바로 검색하여 업그레이드하기 위한 효율적인 방법을 제공한다. 따라서, DRM 에이전트(40) 및 SRM 에이전트(60)가 수행해야 하는 연산을 감소시키며, DRM 에이전트(40)가 SRM 에이전트(60) 내의 모든 권리를 로드해 놓아야될 경우에 비해 상기 DRM 에이전트(40)가 필요로 하는 메모리의 양을 감소시킨다.
또한, 본 발명은 상기와 같은 권리 객체의 업그레이드 과정 중, 권리가 SRM(50)으로부터 권리 발급자(20)로 전송되는 과정에서 상기 권리를 보호하는 방법 및 업그레이드된 권리가 권리 발급자(20)로부터 SRM(50)으로 전달되는 과정에서 상기 업그레이드된 권리를 보호하는 방법을 별개로 제공한다. 따라서, 요구되는 보한 레벨에 따라서 필요한 과정만이 권리 객체의 업그레이드 과정에 사용될 수 있다.
도 1은 일반적인 DRM 시스템의 구성을 도시한 도.
도 2는 엘리먼트 간의 관계를 도시화한 도.
도 3a는 SRM 권리 업그레이드 절차를 도시한 도.
도 3b는 상기 권리 식별자에 해당되는 권리가 상기 SRM(50)에 저장되어 있는지 여부를 확인하는 절차를 나타내는 절차흐름도.
도 4a는 본 발명의 일 실시예에 따른 SRM 권리 업그레이드 절차를 도시한 도.
도 4b는 본 발명의 일 실시예에 따른 변형된 SRM 권리 업그레이드 절차를 도시한 도.
도 5는 본 발명의 일 실시예에 따른 SRM 권리 업그레이드 절차를 도시한 도.
도 6은 본 발명의 일 실시예에 따른 SRM 권리 업그레이드 절차를 도시한 도.
도 7은 본 발명의 따른 단말 및 SRM의 구성 블록도.
본 발명은 디지털 저작권 관리(DRM) 시스템에 적용된다. 그러나 본 발명은 이에 한정되지 않고, 본 발명의 기술적 사상이 적용될 수 있는 모든 통신 시스템 및 방법, 그 외 저작권 관련 시스템 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것 일뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
이하, 본 발명에서의 장치(Device)는 UE(User Equipment), 단말(Terminal), ME(Mobile Equipment) 및 MS(Mobile Station) 등을 통칭하는 의미로서 사용된다. 또한, 상기 장치는 휴대폰, PDA, 스마트 폰(Smart Phone), 노트북 등과 같이 통신 기능을 갖춘 휴대 가능한 기기일 수 있거나, PC, 차량 탑재 장치와 같이 휴대 불가능한 기기일 수 있다.
이하 도면을 참조하여 설명하기 앞서, 이하에서는, 본 발명에 따른 실시 예를 첨부한 도면을 상세히 설명한다.
전술된 종래 기술의 경우, 상기 DRM 에이전트(40)는 상기 SRM(50)에 저장된 모든 권리에 대한 정보를 사전에 로드해 놓고 있거나, 상기 장치(30) 및 상기 SRM(50)에 저장된 모든 권리를 검색해야 한다.상기 DRM 에이전트(40)가 상기 SRM(50)에 저장된 권리를 검색하기 위해서는, 상기 SRM(50)에 저장된 모든 핸들 리스트를 수신한 후, 상기 핸들 리스트의 모든 핸들에 대한 권리 정보를 각각 검색하여야 한다. 따라서, 최악의 경우 상기 DRM 에이전트(40)는 상기 장치(30) 및 상기 SRM(50)에 저장된 모든 권리를 검색해야 한다.
사용자는 웹 브라우징 등의 작업을 하면서, 특정 권리에 대한 업그레이드를 요청할 수 있다. 이때 상기 특정 권리는, 예컨대 상기 사용자가 시청하고 있는 콘텐츠에 대한 권리일 수 있다. 이러한 경우, 상기 특정 권리 외에도 상기 콘텐츠에 대한 AssetID 또한 특정될 수 있다.
만약, 상기 권리 객체 업그레이드 트리거 메시지가 업그레이드의 대상이 되는 권리에 대한 자산 식별자(AssetID)(복수 개일 수 있음)를 포함한다면, 상기 DRM 에이전트(40)는 상기 AssetID를 사용하여 상기 SRM 에이전트(60)에게 상기 AssetID에 해당되는 권리의 핸들, REK 및 권리 정보를 요청할 수 있다.
상기 AssetID는 상기 SRM(50)내에 LAID 형태로 저장된다. 상기 LAID는 비교적 간단하게 구성되어 있기 때문에, 상기 SRM 에이전트(60)는 상기 LAID를 통해 상기 AssetID에 접근할 수 있다. 따라서, 상기 SRM 에이전트(60)는 상기 DRM 에이전트(40)로부터 전송받은 AssetID의 값을 갖는 권리 객체를 검색할 수 있다. 그러나, 상기 표 1에서 전술된 것과 같이, 상기 roID가 상기 AssetID와 1 대 1로 대응하지는 않는다. 따라서, 상기 SRM 에이전트(60)는 상기 AssetID의 값에 해당하는 권리 객체를 상기 장치(30)에게 전달하고, 상기 DRM 에이전트(40)가 상기 권리 객체가 상기 roID에 대응하는 것인지 여부를 확인한다. 상기 권리 객체는 복수 개일 수 있으며, 이 때, 상기 DRM 에이전트(40)는 상기 복수 개의 권리 객체 각각에 대해 상기 roID에 대응하는지 여부를 확인한다.
또한, 상기 권리 객체 업그레이드 트리거 메시지가 업그레이드의 대상이 되는 권리가 상기 SRM(50)에 있는지 여부에 대한 정보를 포함한다면, 상기 DRM 에이전트(40)는 상기 장치(30)에서 권리 객체를 검색할 필요가 없다.
후술할 본 발명의 제1 실시예 및 제2 실시예는 상기와 같이 권리 객체 업그레이드 트리거 메시지가 업그레이드의 대상이 되는 권리가 상기 SRM(50)에 있는지 여부에 대한 정보 및 업그레이드의 대상이 되는 권리에 대한 AssetID를 포함하는 경우의 실시예이다.
도 4a는 본 발명의 제1 실시예에 따른 SRM 권리 업그레이드 절차를 도시한다. 이하에서, 상기 절차는 도면에 도시된 신호 흐름을 참조하여 구체적으로 설명된다.
1) 먼저, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)와의 통신을 위한 기본적인 협상과 상호 인증 및 키 교환 절차를 수행한다(S200). 상기 절차는 도 3a에서 기술된 1) 절차(S100)와 동일하다.
2) 다음, 상기 RI(20)는 상기 SRM(50)에 저장된 권리를 업그레이드하기 위해서 RO 업그레이드 트리거 메시지, 예컨대 RO Upgrade Trigger 메시지를 상기 DRM 에이전트(40)로 전송하여 권리 객체(RO) 업그레이드 절차의 시작을 알린다(S210). 상기 메시지는 하기의 표 16과 같은 항목들을 포함할 수 있다.
필드 설명
roID 업그레이드될 권리 객체의 식별자(Right Object Identifier; RO ID)
roAlias 권리 객체를 가리키는 명칭이며, 선택적으로 포함됨
UpgradeInfo 권리 객체에 추가될 허가권 및 제약 등의 정보를 포함함
srmFlag 권리 객체 업그레이드 트리거를 통해 업그레이드될 권리가 장치가 아닌 SRM 내에 있음을 나타내며, 선택적으로 포함됨
AssetID 업그레이드될 권리를 통해서 사용 가능한 콘텐츠에 대한 ID 즉, <rights> 엘리먼트가 포함하는 assetID를 나타냄
하나의 권리로 여러 콘텐츠를 사용하는 것이 가능하기 때문에, 상기 assetID는 하기의 리스트 형태(LAID)로 전송될 수 있음
AssetID는 SRM 내에 저장된 권리를 검색할 키워드가 됨
LAID 상기 AssetID를 전송하기 위한 선택적인 형태
list of hash(asset ID) 형태로 전달되며, DRM 에이전트와 SRM 에이전트 간의 인터페이스에서 정한 LAID와 동일한 값임.
LAID가 전달될 경우, 상기 LAID는 SRM 내에 저장된 LAID와 간단히 비교될 수 있음
LAID는 SRM 내에 저장된 권리를 검색할 키워드가 됨
3) 상기 RO 업그레이드 트리거 메시지를 수신한 상기 DRM 에이전트(40)는 다음의 절차를 수행할 수 있다(S220).
- 상기 RO 업그레이드 트리거 메시지가 상기 srmFlag를 포함하는 경우, 상기 DRM 에이전트(40)는 상기 srmFlag를 통해서 업그레이드의 대상인 권리가 상기 SRM(50) 내에 있음을 인식할 수 있다.
- 상기 DRM 에이전트(40)는 상기 권리 객체 식별자를 확인하여, 업그레이드가 예정된 권리를 인식하며, 상기 UpgradeInfo를 통하여 추가될 허가권 및 제약에 대한 정보를 인식하며, 상기 SRM(50) 내에 저장된 권리를 검색할 수 있는 키워드로서 상기 AssetID(또는 상기 LAID)를 사용할 수 있게 된다.
이후 단계에서, 상기 DRM 에이전트(40)는 상기 권리 객체 식별자를 사용하여서는 상기 SRM(50) 내에 저장된 권리를 검색할 수 없기 때문에, 상기 AssetID(또는 상기 LAID)를 사용하여 상기 SRM(50) 내에 저장된 권리에 대한 정보를 요청한다.
4) 다음으로, 상기 DRM 에이전트(40)는 업그레이드가 예정된 권리에 대한 정보를 요청하기 위해, 권리 정보 리스트 질의 요청 메시지, 예컨대 Rights Info List Query Request 메시지를 상기 SRM 에이전트(60)로 전달한다(S230).
상기 메시지는 하기의 표 17과 같은 항목들을 포함할 수 있다.
필드 설명
AssetID
(또는 LAID)
업그레이드가 예정된 권리를 위한 AssetID(또는 LAID)로, 권리 객체 업그레이드 트리거 메시지를 통해 수신된 AssetID(또는 LAID)임
Rights Info Length 장치에서 한번에 수신하길 원하는 권리 정보의 길이
일반적으로 SRM 내에는 AssetID(또는 LAID)에 해당하는 권리가 한 개 존재하나, 만약 assetID 만으로 권리가 검색될 경우, 상기 검색에 해당하는 권리가 여러 개일 수 있음. 따라서, 한번에 수신하기 원하는 권리의 개수가 SRM 에이전트로 알려져야 함
5) 다음으로, 상기 SRM 에이전트(60)는 상기 DRM 에이전트(40)가 요청한 상기 AssetID(또는 상기 LAID)에 매칭되는 핸들(또는 상기 핸들의 리스트) 및 권리 정보(또는 상기 권리 정보의 리스트)를 전송하기 위해, 권리 정보 리스트 질의 응답 메시지, 예컨대 Rights Info List Query Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S232).
상기 메시지는 하기의 표 18과 같은 항목들을 포함할 수 있다.
필드 설명
Status 업그레이드 권리 정보 질의 요청에 대한 처리 결과를 포함
SRM에서 해당되는 권리를 성공적으로 검색한 경우, 'Success'를 포함하고, 그렇지 않은 경우 에러 및 에러 코드를 포함
Handle(List) 업그레이드 권리 정보 질의 요청에 해당되는 권리가 검색된 경우, 해당 권리에 대한 핸들(또는 상기 핸들의 리스트)를 포함
Rights Info(List) 업그레이드 권리 정보 질의 요청에 해당되는 권리가 검색된 경우, 해당 권리에 대한 권리 정보(또는 상기 권리 정보의 리스트)를 포함
Continuation Flag 장치에서 한 번에 수신하기를 원하는 권리 정보의 길이보다 해당되는 권리들의 권리 정보의 길이가 더 긴 경우, 추가적인 권리가 더 있음을 알려줌
DRM 에이전트는 상기 Continuation Flag가 'True'로 설정되어 있을 경우, 추가적인 질의를 요청함
6) 상기 DRM 에이전트(40)가 상기 권리 정보 리스트 질의 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지 내의 상기 권리 정보(또는 상기 권리 정보의 리스트)를 확인하고, 수신된 권리 중에서 상기 권리 객체 식별자에 해당하는 권리가 존재하는지 확인한다(S240). 예컨대, 상기 DRM 에이전트(40)는 상기 권리 정보(또는 상기 권리 정보의 리스트) 내의 상기 <uid> 엘리먼트의 값이 상기 권리 객체 식별자의 값과 일치하는지 여부를 확인한다.
전술한 것처럼, 상기 AssetID가 나타내는 콘텐츠는 복수 개의 권리 정보에 대응할 수 있기 때문에, 상기 메시지 내의 상기 권리 정보 또한 복수 개일 수 있다. 또한 상기 메시지 내의 상기 권리 정보는 상기 권리 객체 식별자에 대응하지 않을 수 있다.
만약, 상기와 같은 권리가 존재할 경우, 이후 단계에서 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)에게 상기 권리에 대한 REK를 요청한다.
7) 다음으로, 상기 DRM 에이전트(40)는 업그레이드 예정인 권리의 REK를 요청하기 위해, 업그레이드 REK 질의 요청 메시지, 예컨대 Upgrade REK Query Request 메시지를 상기 SRM 에이전트(60)로 보낸다(S242).
상기 메시지는 상기 표 6과 같은 항목들을 포함할 수 있다.
8) 상기 업그레이드 REK 질의 요청 메시지를 수신한 상기 SRM 에이전트(60)는 다음의 절차를 수행할 수 있다(S244).
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 검색하여, 상기 권리의 REK를 확인한다.
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 불능화 시키고, 상기 권리의 핸들 값을 상기 Handle_2로 대체시킨다. 불능화된 권리는 가능화(enable) 상태로 변경되기 이전에는 상기 DRM 에이전트(40)에 의해 검색되지 않는다.
검색된 권리에 대한 상기 REK는 이후 단계에서 업그레이드 REK 질의 응답 메시지를 통해서 상기 DRM 에이전트(40)로 보내진다.
9) 다음으로, 상기 SRM 에이전트(60)는 상기 REK를 전달하기 위해 업그레이드 REK 질의 응답 메시지, 예컨대 Upgrade REK Query Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S246).
상기 메시지는 하기의 표 19와 같은 항목들을 포함할 수 있다.
필드 설명
Status 업그레이드 REK 질의 요청에 대한 처리 결과를 포함
Handle(List) 검색된 권리에 대한 REK
DRM 에이전트 및 SRM 에이전트 간에 형성된 세션 키(session key; SK)로 암호화될 수 있음
10) 상기 DRM 에이전트(40)가 상기 업그레이드 REK 질의 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)로부터 수신한 상기 권리 정보 및 상기 REK 권리 객체와 상기 RI(20)로부터 수신한 상기 upgradeInfo에 기반하여 권리 객체 업그레이드 요청 메시지, 예컨대 RO Upgrade Request 메시지를 생성한다(S250). 여기서, 사용자는 상기 upgradeInfo에 권한이나 제약을 추가할 수 있다.
상기 메시지는 상기 표 8과 같은 항목들을 포함할 수 있다.
본 실시예의 이후의 단계는 상기 도 3a에서 기술된 단계 중 일부와 동일하다. 즉, 본 실시예가 참조하는 상기 도 4a의 각각의 단계(S260, S262, S280, S282, S284 및 S286)는 상기 도 3a에서의 각각의 단계(S160, S162, S180, S182, S184 및 S186)에 각각 대응한다. 따라서, 중복되는 설명은 생략한다.
또한, 상기 제1 실시예는 도 4b에서 도시된 것과 같이 변형되어 실시될 수 있다.
상기 도 4b에 관련하여 설명될 변형된 실시예에서, 점선 내에 도시된 절차들(S242a, S244a 및 S246a) 외의 절차는 상기 도 4a에 관련하여 설명된 절차와 같다. 따라서, 점선 내에 도시된 절차들(S242a, S244a 및 S246a) 만을 구체적으로 설명하기로 한다.
우선, 상기 도 4a에 관련하여 전술된 절차(S200 내지 S240)가 수행된다.
1) 다음으로, 상기 DRM 에이전트(40)는 업그레이드 예정인 권리의 권리 정보 및 REK를 요청하기 위해, 업그레이드 권리 추출 요청 메시지, 예컨대 Upgrade Rights Retrieval Request 메시지를 상기 SRM 에이전트(60)로 보낸다(S242a).
상기 메시지는 상기 표 6과 같은 항목들을 포함할 수 있다.
2) 상기 업그레이드 권리 추출 요청 메시지를 수신한 상기 SRM 에이전트(60)는 다음의 절차를 수행할 수 있다(S244a).
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 검색하여, 상기 권리의 REK 및 권리 정보를 확인한다.
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 불능화 시키고, 상기 권리의 핸들 값을 상기 Handle_2로 대체시킨다. 불능화된 권리는 가능화(enable) 상태로 변경되기 이전에는 DRM 에이전트(40)에 의해 검색되지 않는다.
검색된 권리에 대한 상기 REK 및 상기 권리 정보는 이후 단계에서 업그레이드 권리 추출 응답 메시지를 통해서 상기 DRM 에이전트(40)로 보내진다.
3) 다음으로, 상기 SRM 에이전트(60)는 상기 REK 및 상기 권리 정보를 전달하기 위해 업그레이드 권리 추출 응답 메시지, 예컨대 Upgrade Rights Retrieval Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S246a).
상기 메시지는 상기 표 7과 같은 항목들을 포함할 수 있다.
이후, 상기 도 4a에 관련하여 전술된 절차(S250 내지 S286)가 수행된다.
상기 제1 실시예가 업그레이드의 대상이 되는 권리의 권리 정보 및 REK를 각각 별개의 메시지를 통해 수신한 반면, 후술할 제2 실시예는 상기 권리 정보 및 상기 REK를 단일 메시지를 통해 수신한다.
도 5는 본 발명의 제2 실시예에 따른 SRM 권리 업그레이드 절차를 도시한다. 이하에서, 상기 절차는 도면에 도시된 신호 흐름을 참조하여 구체적으로 설명된다.
단, 상기 절차 중 일부(S300, S310, S320, S350, S360, S362, S380, S382, S384 및 S386)는 전술한 본 발명의 제1 실시예의 절차 중 일부(S200, S210, S220, S250, S260, S262, S280, S282, S284 및 S286)에 각각 대응한다. 따라서, 중복되는 설명을 피하기 위해, 본 실시예의 절차 중 상기 제1 실시예의 절차에 대응하지 않는 부분(S330, S332, S340, S342, S344 및 S346, 즉 점선 내부에 도시된 부분) 만을 설명하기로 한다.
1) 상기 DRM 에이전트(40)는 업그레이드가 예정된 권리에 대한 정보를 요청하기 위해, 핸들 리스트 질의 요청 메시지, 예컨대 Handle List Query Request 메시지를 상기 SRM 에이전트(60)로 전달한다(S330).
상기 메시지는 상기의 표 17과 같은 항목들을 포함할 수 있다.
2) 다음으로, 상기 SRM 에이전트(60)는 상기 DRM 에이전트(40)가 요청한 상기 AssetID(또는 상기 LAID)에 매칭되는 핸들(또는 상기 핸들의 리스트)을 전송하기 위해, 핸들 리스트 질의 응답 메시지, 예컨대 Handle List Query Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S332).
상기 메시지는 하기의 표 20과 같은 항목들을 포함할 수 있다.
필드 설명
Status 업그레이드 권리 정보 질의 요청에 대한 처리 결과를 포함
SRM에서 해당되는 권리를 성공적으로 검색한 경우, 'Success'를 포함하고, 그렇지 않은 경우 에러 및 에러 코드를 포함
Handle(List) 업그레이드 권리 정보 질의 요청에 해당되는 권리가 검색된 경우, 해당 권리에 대한 핸들(또는 상기 핸들의 리스트)를 포함
Continuation Flag 장치에서 한 번에 수신하기를 원하는 권리 정보의 길이보다 해당되는 권리들의 권리 정보의 길이가 더 긴 경우, 추가적인 권리가 더 있음을 알려줌
DRM 에이전트는 상기 Continuation Flag가 'True'로 설정되어 있을 경우, 추가적인 질의를 요청함
3) 상기 DRM 에이전트(40)가 상기 핸들 리스트 질의 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지 내의 상기 핸들(또는 상기 핸들의 리스트)을 확인한다(S340). 일반적으로 업그레이드 예정인 권리에 대한 핸들이 수신된다.
이후 상기 핸들에 대해 하기의 4) 내지 6)의 단계(S342, S344 및 S346)가 수행된다. 또한 복수 개의 핸들이 전송된 경우에는 각각의 핸들에 대해서 하기의 4) 내지 6) 단계(S342, S344 및 S346)가 수행된다.
4) 다음으로, 상기 DRM 에이전트(40)는 업그레이드 예정인 권리의 권리 정보 및 REK를 요청하기 위해, 업그레이드 권리 추출 요청 메시지, 예컨대 Upgrade Rights Retrieval Request 메시지를 상기 SRM 에이전트(60)로 보낸다(S342).
상기 메시지는 상기 표 6과 같은 항목들을 포함할 수 있다.
5) 상기 업그레이드 권리 추출 요청 메시지를 수신한 상기 SRM 에이전트(60)는 다음의 절차를 수행할 수 있다(S344).
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 검색하여, 상기 권리의 REK 및 권리 정보를 확인한다.
- 상기 SRM 에이전트(60)는 상기 Handle_1이 가리키는 권리를 불능화 시키고, 상기 권리의 핸들 값을 상기 Handle_2로 대체시킨다. 불능화된 권리는 가능화(enable) 상태로 변경되기 이전에는 DRM 에이전트(40)에 의해 검색되지 않는다.
검색된 권리에 대한 상기 REK 및 상기 권리 정보는 이후 단계에서 업그레이드 권리 추출 응답 메시지를 통해서 상기 DRM 에이전트(40)로 보내진다.
6) 다음으로, 상기 SRM 에이전트(60)는 상기 REK 및 상기 권리 정보를 전달하기 위해 업그레이드 권리 추출 응답 메시지, 예컨대 Upgrade Rights Retrieval Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S346).
상기 메시지는 상기 표 7과 같은 항목들을 포함할 수 있다.
상기 업그레이드 권리 추출 응답 메시지를 수신한 상기 DRM 에이전트(40)는 상기 메시지 내의 권리 정보가 상기 권리 객체 식별자에 대응하는 것인지 여부를 확인할 수 있다. 만일 상기 메시지 내의 권리 정보가 상기 권리 객체 식별자에 대응하는 것이 아니라면, 상기 DRM 에이전트(40)는 상기 메시지 내의 권리 정보 및 상기 REK에 대해서 본 실시예의 이후의 절차를 실시하지 않을 수 있다.
또한 복수 개의 핸들이 전송되었던 경우, 상기 DRM 에이전트(40)는 전술된 절차에 따라 각각의 핸들에 대응하는 업그레이드 권리 추출 응답 메시지를 수신한다. 상기 DRM 에이전트(40)가 상기 권리 객체 식별자에 대응하는 권리 정보를 찾으면, 상기 DRM 에이전트(40)는 다음 순서의 핸들(들)에 대하여는 상기 REK 및 상기 권리 정보를 전달 받기 위한 전술된 절차를 수행하지 않을 수 있다.
또한 일부 핸들이 가리키는 권리 정보에 대해서 이후의 절차를 수행하지 않을 경우, 상기 DRM 에이전트(40) 및 상기 SRM 에이전트(60)는 불능화된 상기 권리 정보를 가능화하기 위한 작업을 할 수 있다.
전술된 본 발명의 실시예들은 권리가 상기 SRM(50)으로부터 상기 RI(20)로 전송되는 과정에서 보호된다. 후술될 제3 실시예는 업그레이드된 권리가 상기 RI(20)로부터 상기 SRM(50)으로 전송되는 과정에서 보호된다. 상기 양 과정에서의 보호는 각각 독립적으로 의미가 있기 때문에, 요구되는 보안 레벨에 따라 필요한 과정만이 권리의 업그레이드 절차에 적용되어도 무방하다.
또한, 제4 실시예에서 제공하는 방법은 업그레이드된 권리 객체를 상기 SRM(50)으로 저장할 때, 상기 업그레이드된 권리 객체의 크기에 따라 상기 SRM(50) 내의 저장공간이 확보된다. 따라서, 제4 실시예에서 제공하는 방법은 상기 SRM(50)에 저장된 권리를 업그레이드를 위해 상기 장치(40)로 이동할 때 일정 양(예컨대, 65536 bytes)의 공간을 확보해야하는 여타 다른 방법의 문제를 해결한다.
도 6는 본 발명의 제3 실시예에 따른 SRM 권리 업그레이드 절차를 도시한다. 이하에서, 상기 절차는 도면에 도시된 신호 흐름을 참조하여 구체적으로 설명된다.
1) 먼저, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)와의 통신을 위한 기본적인 협상과 상호 인증 및 키 교환 절차를 수행한다(S400). 상기 절차는 상기 도 3a에서 기술된 1) 절차(S100)와 동일하다.
2) 다음, 상기 RI(20)는 상기 SRM(50)에 저장된 권리를 업그레이드하기 위해서 RO 업그레이드 트리거 메시지, 예컨대 RO Upgrade Trigger 메시지를 상기 DRM 에이전트(40)로 전송하여 권리 객체(RO) 업그레이드 절차의 시작을 알린다(S410). 상기 절차는 상기 제1 실시예의 2) 절차(S200)와 동일하다.
3) 상기 RO 업그레이드 트리거 메시지를 수신한 상기 DRM 에이전트(40)는 상기 제1 실시예의 3) 절차(S220)와 동일한 작업을 수행한다(S420).
4) 다음으로, 상기 DRM 에이전트(40)는 업그레이드 예정인 권리에 대한 핸들을 대체하기 위하여 권리 추출 요청 메시지, 예컨대 Rights Retrieval Request 메시지를 상기 SRM 에이전트(60)로 전달한다(S440).
상기 메시지는 상기 표 6과 같은 항목들을 포함할 수 있다.
5) 상기 권리 추출 요청 메시지를 수신한 상기 SRM 에이전트(60)는 다음의 절차를 수행할 수 있다(S442).
- 상기 SRM 에이전트(40)는 상기 Handle_1이 가리키는 권리를 불능화(disable) 시키고, 상기 권리의 핸들 값을 상기 Handle_2로 대체시킨다. 상기 대체로 인하여, 상기 업그레이드 권리 추출 요청 메시지를 전송하였던 상기 DRM 에이전트(40)만이 상기 Handle_2 값을 알 수 있게 된다. 따라서, 다른 DRM 에이전트는 상기 SRM(50)에 저장된 Handle_2가 가리키는 권리에 접근할 수 없다. 또한, 권리가 불능화 된 경우, 핸들 목록 질의(handle list query) 절차에서도 상기 불능화된 권리에 대한 핸들은 검색되지 않는다.
6) 다음으로, 상기 SRM 에이전트(40)는 업그레이드될 예정인 권리를 권리 추출 응답 메시지, 예컨대 Rights Retrieval Response 메시지를 통해 상기 DRM 에이전트(40)로 전송한다(S444)
상기 메시지는 하기의 표 21과 같은 항목들을 포함할 수 있다.
필드 설명
Status 권리 추출 요청에 대한 처리 결과를 포함
Rights Information 상기 표 1에서 설명됨
상기 Rights Information은 상기 DRM 에이전트(40) 및 상기 SRM 에이전트(60) 사이에서 형성된 MAC 키(MK)를 통해 계산된 HMAC 값을 통해서 무결성이 보호될 수 있음
REK 상기 표 1에서 설명됨
상기 REK는 상기 DRM 에이전트(40) 및 상기 SRM 에이전트(60) 사이에서 형성된 세션 키(session key; SK)로 암호화 될 수 있음
상기 4) 내지 6) 절차(S440, S442 및 S444)는 상기 assetID가 가리키는 권리 객체에 대한 권리 정보 및 REK를 얻기 위한 것이다. 따라서, 상기 4) 내지 6) 절차는(S440, S442 및 S444) 상기 제1 실시예의 4) 내지 9) 절차(S230, S232, S240, S242, S244, S246) 또는 상기 제2 실시예의 1) 내지 6) 절차(S330, S332, S340, S342, S344 및 S346)로 대체될 수 있다.
7) 상기 DRM 에이전트(40)가 상기 권리 추출 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지에 기반하여 권리 객체를 생성한다. 또한 상기 DRM 에이전트(40)는 상기 권리 객체를 상기 RI(20)에 전달하기 위한 권리 객체 업그레이드 요청 메시지, 예컨대 RO Upgrade Request 메시지를 생성한다(S450)
상기 권리 객체는 상기 권리 추출 응답 메시지에 포함된 상기 Rights Information 상기 및 REK에 기반하여 생성될 수 있으며, 상기 권리 객체 업그레이드 트리거 메시지로부터 수신된 상기 upgradeInfo를 포함할 수 있다.
단, 도 3a 등에서 기술된 다른 실시예와 비교하였을 때, 이 단계에서 생성된 상기 권리 객체 업그레이드 요청 메시지는 서명(Signature) 부분이 제외된다. 즉, 상기 DRM 에이전트(40)는 상기 메시지에 대한 디지털 서명을 생성하지 않는다. 상기 서명은 이후 단계에서 상기 SRM 에이전트(60)에 의해 이루어진다.
상기 메시지는 하기의 표 22와 같은 항목들을 포함할 수 있다.
필드 설명
SRM-ID 장치의 ID 대신, 권리 객체 업그레이드를 요청하는 SRM의 ID를 포함
RI-ID 권리 객체를 발급했던 RI의 ID, 업그레이드를 요청할 RI의 ID
Nonce DRM 에이전트가 생성한 난수(random) 값
Time 권리 객체 업그레이드 요청을 생성할 때의 시각
existingRights RI로부터 기존에 발급받았던 권리 객체, 예컨대 existingRO로, OMA DRM 2.0의 보호된(protected) 권리 객체의 형태로 전달됨
상기 Protected RO는 RI의 공개키로 암호화되어 생성됨. 이 때, REK와 MAC 키의 AES-WRAP 연산 시 DRM 에이전트가 상기 MAC 키를 생성하고, 상기 DRM 에이전트는 상기 REK와 상기 MAC 키를 감쌈(wrapping)
상기 RO는 protected RO 포멧으로 전달되므로, DRM 에이전트로부터 RI까지 전달되는 동안 안전하게 보호됨
ROUpgradeInfo 기존 RO에 추가될 허가권 및 제약 등의 정보
8) 상기 DRM 에이전트(40)는 상기 권리 객체 업그레이드 요청 메시지에 대한 상기 서명을 얻기 위하여, 서명 질의 요청 메시지, 예컨대 Signature Query Request 메시지를 상기 SRM 에이전트(60)로 보낸다(S452).
상기 서명 질의 요청 메시지는 상기 권리 객체 업그레이드 요청 메시지를 포함한다. 상기 권리 객체 업그레이드 요청 메시지는 HMAC 값을 포함하기 때문에, 상기 DRM 에이전트(40)로부터 상기 SRM 에이전트(60)로 전송되는 동안 변경되지 않았음이 확인될 수 있다. 상기 HMAC 값은 상기 DRM 에이전트(40)와 상기 SRM 에이전트(60) 간에 협상된 HMAC 알고리즘을 사용하여 생성될 수 있다. 상기 HMAC 알고리즘으로, HMAC-SHA1-128이 사용될 수 있다.
9) 상기 SRM 에이전트(60)가 상기 서명 질의 요청 메시지를 통해 상기 권리 객체 업그레이드 요청 메시지를 수신하면, 상기 SRM 에이전트(60)는 우선, 상기 권리 객체 업그레이드 요청 메시지에 대한 무결성을 검증을 확인한 후, 상기 RI(20)로 권리 객체를 요청한다는 의미로, 상기 권리 객체 업그레이드 요청 메시지를 서명한다(S454).
10) 상기 SRM 에이전트(60)는 상기 서명을 전달하기 위해, 서명 질의 응답 메시지, 예컨대 Signature Query Response 메시지를 상기 DRM 에이전트(40)로 보낸다(S456).
상기 메시지는 하기의 표 23과 같은 항목들을 포함할 수 있다.
필드 설명
Status 서명 질의 요청에 대한 처리 결과를 포함
Signature 단지 상기 권리 객체 업그레이드 요청 메시지에 대한 서명 값만일 수 있으며, 또는 SRM 에이전트가 생성한 서명이 서명 부분에 포함된 상기 권리 객체 업그레이드 요청 메시지일 수 있음
11) 상기 DRM 에이전트(40)가 상기 서명 질의 응답 메시지를 수신하면, 상기 DRM 에이전트(40) 상기 SRM(50)에 저장된 권리의 업그레이드를 요청하기 위해 권리 객체 업그레이드 요청 메시지, 예컨대 RO Upgrade Request 메시지를 상기 RI(20)로 보낸다(S460).
이때, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)로부터 수신한 상기 서명을 상기 권리 객체 업그레이드 요청 메시지에 추가하여 상기 권리 객체 업그레이드 요청 메시지를 완성할 수 있으며, 또는 상기 SRM 에이전트(60)로부터 수신한 상기 권리 객체 업그레이드 요청 메시지를 사용할 수 있다.
상기 메시지는 하기의 표 24와 같은 항목들을 포함할 수 있다.
필드 설명
SRM-ID 권리 객체 업그레이드를 요청하는 SRM의 ID
RI-ID 권리 객체를 발급했던 RI의 ID, 업그레이드를 요청할 RI의 ID
Nonce DRM 에이전트가 생성한 난수(random) 값
Time 권리 객체 업그레이드 요청을 생성할 때의 시각
existingRights RI로부터 기존에 발급받았던 권리 객체, 예컨대 existingRO로, OMA DRM 2.0의 보호된(protected) RO의 형태로 전달됨
상기 Protected RO는 RI의 공개키로 암호화되어 생성됨. 이 때, REK와 MAC 키의 AES-WRAP 연산 시 DRM 에이전트가 상기 MAC 키를 생성하고, 상기 DRM 에이전트는 상기 REK와 상기 MAC 키를 감쌈(wrapping)
상기 RO는 protected RO 포멧으로 전달되므로, DRM 에이전트로부터 RI까지 전달되는 동안 안전하게 보호됨
ROUpgradeInfo 기존 권리 객체에 추가될 허가권 및 제약 등의 정보
Signature SRM 에이전트가 생성한 서명
12) 상기 RI(20)가 상기 권리 객체 업그레이드 요청 메시지를 수신하면, 상기 RI(20)는 상기 메시지에 포함된 기존의 권리 객체와 추가를 원하는 권리 객체 upgradeInfo를 확인한다. 상기 RI(20)는 상기 권리 객체가 자신이 이전에 발급했던 권리 객체인지 여부를 확인한 후, 상기 권리 객체 upgradeInfo에 포함된 기능을 상기 권리 객체에 포함시한다.
상기 RI(20)는 상기 업그레이드의 결과를 전달하기 위해 권리 객체 업그레이드 응답메시지, 예컨대 RO Upgrade Response 메시지를 상기 DRM 에이전트(40)로 전달한다(S462).
상기 메시지는 하기의 표 25와 같은 항목들을 포함할 수 있다.
필드 설명
Status 권리 객체 업그레이드 요청에 대한 결과를 포함.
처리 결과가 성공적인 경우, 'Success'를 포함하고, 실패인 경우 'Fail' 및 실패에 대한 이유 코드(reason code)를 포함
SRM-ID 권리 객체 업그레이드를 요청하는 SRM의 ID
장치의 ID 대신 SRM의 ID가 포함됨으로써 DRM 에이전트는 업그레이드된 권리에 접근할 수 없고, SRM 에이전트만 해당 권리를 사용할 수 있게 됨
RI-ID 권리 객체를 발급했던 RI의 ID, 업그레이드를 요청할 RI의 ID
Nonce DRM 에이전트가 생성한 난수(random) 값
Time 권리 객체 업그레이드 요청을 생성할 때의 시각
existingRO-ID RI로부터 기존에 발급받았던 권리 객체와 동일한 ID
protectedRO RI로부터 발급된 업그레이드 된 RO. OMA DRM 2.0의 보호된 권리 객체(protected RO)의 형태로 전달됨
protected RO는 SRM 에이전트의 공개키로 보호됨
Signature 권리 객체 업그레이드 응답 메시지에 대한 RI의 디지털 서명
13) 상기 DRM 에이전트(40)가 상기 권리 객체 업그레이드 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지의 서명을 통해 상기 메시지를 검증한다. 상기 검증 후, 상기 DRM 에이전트(40)는 상기 메시지로부터 업그레이드된 권리 객체를 추출하여, 상기 SRM(50)에 저장하기 위한 권리 정보로 변환하고, 상기 권리를 상기 SRM 에이전트(60)에 설치하기 위한 설정을 한다. 성기 설정의 구체적인 내용은 하기와 같을 수 있다.
- 권리 정보가 구성되면, 상기 DRM 에이전트(40)는 상기 권리 정보의 크기(size)를 측정한다.
- 상기 DRM 에이전트(40)는 상기 권리 객체 업그레이드 응답 메시지의 protectedRO에서 보호된 키(Wrapped Key Material)들을 추출한다. 상기 Wrapped Key material는 <protectedRO> 엘리먼트::<ro> 엘리먼트::<encKey>::엘리먼트::<xenc:CipherData> 엘리먼트::<xenc:Ciphervalue> 엘리먼트에 포함되어 있다. 여기서 ‘::’는 sub element를 의미한다. 즉 <protectedRO> 엘리먼트의 하위에는 <RO> 엘리먼트가 있으며 그 하위에는 <encKey> 엘리먼트가 존재한다.
- 상기 DRM 에이전트(40)는 상기 SRM(50)에 설치될 업그레이드된 권리를 구별하기 위해 무작위로(random) Handle_3을 생성한다.
상기 설정 후, 상기 DRM 에이전트는 업그레이스 셋업 요청 메시지, 예컨대 Upgrade Setup Request 메시지를 생성하여, 상기 메시지를 상기 SRM 에이전트(60)로 보낸다(S470).
상기 메시지는 하기의 표 26과 같은 항목들을 포함할 수 있다.
필드 보호 요건 설명
Handle_2 무결성 SRM에 저장된 업그레이드 예정인 권리를 구별하기 위해서 사용됨
상기 Handle_2는 10 byte로써 상기 DRM 에이전트에서 무작위로 생성된 값이며, 상기 Handle_2를 통해서 상기 SRM에 저장된 권리들 중 특정 권리를 선택해서 콘텐츠를 이용할 수 있음
Handle_3 무결성 및 기밀성 SRM에 업그레이드되어 설치될 권리를 구별하기 위해서 사용됨
상기 Handle_3는 10 byte로써 상기 DRM 에이전트에서 무작위로 생성된 값이며, 상기 Handle_3를 통해서 상기 SRM에 저장된 권 리들 중 특정 권리를 선택해서 콘텐츠를 이용할 수 있음
Size of Rights 무결성 업그레이드된 권리의 크기이며, 상기 SRM 에이전트에 업그레이드되어 저장될 권리 정보의 크기를 나타냄. 상기 권리 정보는 권리 메타 데이터, 권리 개체 컨테이너, 상태 정보를 포함함
Wrapped Key Material 무결성 MAC key, KMAC 그리고 REK, KREK. 의 보호된 연쇄(wrapped concatenation)를 포함함. Wrapped Key Material은 DRM v2.1[OMADRMv2.1] section 7.2.1에 명세된 C value와 동일한 값이다. 권리 객체 업그레이드 응답 메시지의 <protectedRO> 엘리먼트::<ro> 엘리먼트::<encKey > 엘리먼트::<xenc:CipherData> 엘리먼트::<xenc:Ciphervalue>가 C value에 해당됨
14) 상기 SRM 에이전트(60)가 상기 업그레이드 셋업 요청 메시지를 수신하면, 상기 SRM 에이전트(60)는 상기 SRM(50) 내에 업그레이드된 권리를 설치하기 위한 셋업 작업을 수행한다(S472).
우선, 상기 SRM 에이전트(60)는 상기 메시지 내 Wrapped Key Material을 통해 KMAC 및 KREK 값을 도출해 낸다. 상기 도출의 과정은 구체적으로 하기와 같을 수 있다.
- 상기 SRM 에이전트(60)는 C를 C1과 C2로 분리하고, C1 및 OS2IP()를 사용해서 c1을 도출한다. 다시, 상기 SRM 에이전트(60)는 SRM의 개인키(private key)를 사용해서 c1을 복호화 함으로써 Z값을 구한다. 즉, 하기의 수학식 1이 사용된다.
Figure 112010021017332-pat00001
여기서 상기 C는 상기 Wrapped Key Material이다. OS2IP()는 8진 문자열(octet string)을 음이 아닌 정수(nonnegative integer)로 변환해 주는 함수이며 [PKCS-1]에 정의되어 있다. RSA.DECRYPT()는 RSA 암호화 방법의 해독(decryption) 함수이다.
- 하기의 수학식 2 처럼, 상기 SRM 에이전트(60)는 상기 Z 값 및 KDF()를 사용하여 KEK를 유도한다.
Figure 112010021017332-pat00002
- 하기의 수학식 3 처럼, 상기 SRM 에이전트(60)는 상기 KEK 및 상기 C2를 AES-UNWRAP()의 입력으로 사용하여 KMAC | KREK를 산출한다.
Figure 112010021017332-pat00003
여기서, 키 트렌스포트 스킴(key transport scheme)은 "http://www.rsasecurity.com/rsalabs/pkcs/schemas/pkcs-1#rsaes-kem-kdf2-kw-aes128"에 나타난 것과 같다.
- 상기 SRM 에이전트(60)는 복호화한 KMAC과 KREK 값 중 상기 KREK(REK)를 저장한다. 상기 REK는 상기 DRM 에이전트(40)로부터 전송될 예정인 권리 업그레이드 요청 메시지에 포함된 권리 개체 컨테이너(RO Container)의 <rights> 엘리먼트를 통해서 전달되는 암호화 CEK를 복호화하는데 사용된다.
다음, 상기 도출 과정 후 상기 SRM(50)에 저장된 권리는 하기의 표 27와 같은 상태일 수 있다.
Handle 권리 정보 LAID REK
상기 표 27에서 나타난 것 처럼, Handle, 권리 정보, LAID 및 REK 중 상기 Handle 및 상기 REK가 상기 SRM(50)에 저장되었으며, 상기 권리 정보 및 상기 LAID는 저장되지 않은 상태이다. 즉, 상기 Handle_3은 설치될 권리 정보를 위한 예약만을 상기 SRM(50) 내에 해 놓으며, 추후 상기 DRM 에이전트(40)로부터의 권리 설치 요청 메시지를 통해 전달된 권리 정보가 함께 저장되게 된다.
15) 상기 SRM 에이전트(60)가 상기 업그레이드 셋업 요청 메시지를 수신하면, 상기 SRM 에이전트(60)는 상기 메시지에 포함된 핸들을 위한 영역을 상기 SRM 내에 예약하고, 업그레이드 셋업 응답 메시지, 예컨대 Upgrade Setup Response 메시지를 상기 DRM 에이전트(40)로 전송한다(S474).
상기 업그레이드 셋업 응답 메시지는 하기의 표 28과 같은 항목들을 포함할 수 있다.
필드 보호 요건 설명
Status 무결성 업그레이드 셋업 요청 메시지의 처리 결과
구체적인 값은 하기의 표 29와 같다.
KMAC 무결성 및
기밀성
상기 RI가 상기 SRM으로 발급한 권리의 무결성 검증을 위한 MAC 키
RI는 상기 KMAC을 통하여 권리 객체 업그레이드 응답 메시지에서 전달한 보호된 권리 객체의 무결성을 확인할 수 있음
상기 Status의 값은 하기의 표 29와 같을 수 있다.
상태 값 설명
Success 업그레이드 셋업 요청이 성공적으로 처리됨
Field Integrity Verification Failed 업그레이드 셋업 요청 메시지의 HMAC 값이 SRM 에이전트가 생성한 HMAC값과 불일치
Duplicate Handle SRM이 이미 동일한 Handle과 관련된 권리를 갖고 있음
Not Enough Space SRM에 Size of Rights에 해당되는 만큼의 저장 여유 공간이 없음
Parameter Failed 업그레이드 셋업 요청 메시지의 구조나 길이에 문제가 있음
Unexpected Request 업그레이드 셋업 요청 메시지가 잘못된 순서에 수신되었거나 허가되지 않은 메시지였음
Unknown Error 알려지지 않은 다른 에러가 발생함
상기 표 29에서 Success 이외의 값은 상기 업그레이드 셋업 요청 메시지에 대한 처리 중 에러가 발생하였음을 의미한다.
16) 상기 DRM 에이전트(40)가 상기 업그레이드 셋업 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 메시지에 포함된 KMAC을 통해서 상기 보호된 권리 객체가 상기 RI(20)로부터 전송되는 도중 변경되지 않았음을 확인한다(S476).
구체적으로, 상기 DRM 에이전트(40)는 상기 KMAC을 사용하여 <protectedRO> 엘리먼트::<ro> 엘리먼트에 대하여 산출된 MAC 값 및 <protectedRO> 엘리먼트::<mac> 엘리먼트::<ds:SignatureValue> 엘리먼트 값을 비교하여, 상기 MAC 값을 검증한다.
상기 MAC 값의 계산을 위해서, HMAC-SHA-1()과 같은 HMAC 알고리즘(algorithm)이 사용될 수 있다. 상기 HMAC 알고리즘의 메시지는 상기 <ro> 엘리먼트의 값을 넣고, 상기 HMAC 알고리즘의 MAC Key에는 KMAC을 넣은 후 상기 HMAC() 알고리즘을 수행하면, HMAC 값이 결과로서 나온다. 상기 HMAC 값이 상기 비교의 일방인 상기 MAC 값이다.
전술된 것과 같은 검증 과정을 통하여 상기 보호된 권리 객체(protected RO) 내의 <ro> 엘리먼트에 포함된 <rights> 엘리먼트, KMAC | KREK 가 올바르게 전달되었음을 확인할 수 있다. 상기 보호된 권리 객체의 검증 작업은 상기 DRM 에이전트(40)가 상기 SRM 에이전트(60)를 대신하여 수행하며, 상기 해당 검증 결과가 올바른 것인 경우, 상기 DRM 에이전트(40)는 하기의 남은 절차들을 계속하여 수행한다.
17) 다음, 상기 DRM 에이전트(40)는 상기 SRM 에이전트(60)에게 권리 객체의 업그레이드를 요청하기 위한 권리 업그레이드 요청 메시지, 예컨대 Rights Upgrade Request 메시지를 보낸다(S480).
상기 권리 업그레이드 요청 메시지는 상기 업그레이드 셋업 요청 메시지를 통하여 예약해 놓은 상기 Handle_3을 포함하고, LAID 및 권리 정보를 포함한다. 이를 위해, 상기 DRM 에이전트(40)는 상기 RI(20)로부터 전달받은 권리 객체를, 상기 SRM 에이전트(60)가 인식할 수 있도록, SRM 1.0이 지원하는 LAID 및 권리 정보로 구성한다.
상기 권리 업그레이드 요청 메시지는 하기의 표 30과 같은 항목들을 포함할 수 있다.
필드 보호 요건 설명
Handle_3 무결성 및 기밀성 SRM에 저장된 권리를 구별하기 위해서 사용됨
상기 Handle_3는 10 byte로써 상기 DRM 에이전트에서 무작위로 생성된 값이며, 상기 Handle_3를 통해서 SRM에 저장된 권 리들 중 특정 권리를 선택해서 콘텐츠를 이용할 수 있으며, 상기 이용에는 상기 특정 권리의 지역 권리 소비(local rights consumption)를 통해 상기 SRM이 삽입된 장치에서 콘텐츠를 재생하는 것을 포함함
업그레이드 셋업 요청 메시지를 통해 DRM 에이전트로부터 수신한 핸들과 동일한 값
LAID
(List of AssetID)
무결성 해당 권리와 관련된 AssetID 리스트의 해쉬(hash) 값
권리 정보 무결성 상기 표 1에서 설명됨
18) 상기 SRM 에이전트(60)가 상기 권리 업그레이드 요청 메시지를 수신하면, 상기 SRM 에이전트(60)는 상기 메시지 내의 핸들과 권리 정보를 상기 SRM(50)에 저장하고, 핸들 리스트를 갱신(update) 한다(S482). 핸들 리스트가 갱신되면, 상기 SRM(50)이 다른 장치에 삽입된 경우에도, 상기 갱신된 핸들 리스트가 인식될 수 있다.
상기 도출 과정 후 상기 SRM(50)에 저장된 권리는 하기의 표 31과 같은 상태일 수 있다.
Handle 권리 정보 LAID REK
즉, Handle, 권리 정보, LAID 및 REK 전부가 상기 SRM(50)에 저장된 상태이다.
19) 다음으로, 상기 갱신 후 상기 SRM 에이전트는 권리 업그레이드의 결과를 권리 업그레이드 응답 메시지, 예컨대 Rights Upgrade Response 메시지를 상기 DRM 에이전트(40)로 전송한다(S484).
상기 메시지는 하기의 표 32와 같은 항목들을 포함할 수 있다.
필드 보호 요건 설명
Status 무결성 권리 업그레이드 메시지의 처리 결과
구체적인 값은 하기의 표 33과 같다.
상기 Status의 값은 하기의 표 33과 같을 수 있다.
상태 값 설명
Success 권리 업그레이드 요청이 성공적으로 처리됨
Field Integrity Verification Failed 권리 업그레이드 요청 메시지의 HMAC 값이 SRM 에이전트가 생성한 HMAC 값과 불일치
Handle Not Found 권리 업그레이드 요청에 포함된 핸들을 SRM에서 찾을 수 없음
Handle In-Consistent 권리 업그레이드 요청에 포함된 핸들이 업그레이드 셋업 요청에 포함되었던 핸들과 다름
Not Enough Space SRM에 Size of Rights에 해당되는 만큼의 저장 여유 공간이 없음
Parameter Failed 권리 업그레이드 요청 메시지의 구조나 길이에 문제가 있음
Unexpected Request 권리 업그레이드 요청 메시지가 잘못된 순서에 수신되었거나 허가되지 않은 메시지였음
Unknown Error 알려지지 않은 다른 에러가 발생함
상기 표 33에서 Success 이외의 값은 상기 권리 업그레이드 요청 메시지에 대한 처리 중 에러가 발생하였음을 의미한다.
20) 상기 DRM 에이전트(40)가 상기 권리 업그레이드 응답 메시지를 수신하면, 상기 DRM 에이전트(40)는 상기 DRM 에이전트(40) 내에 복사되어 있는 업그레이드된 권리 객체를 삭제한다(S486). 상기 DRM 에이전트(40)는 상기 업그레이드된 권리 객체를 삭제하는 대신 쓸 수 없도록 할 수 있으며, 상기 DRM 에이전트(40)는 상기 업그레이드된 권리 객체를 차후 가능화(enable)할 필요가 있는 경우에는 상기 업그레이드된 권리 객체를 쓸 수 없는 상태로 두고, 그렇지 않은 경우에는 상기 업그레이드된 권리 객체를 삭제할 수 있다.
여기까지 설명된 본 발명에 따른 방법은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명에 따른 방법은 저장 매체(예를 들어, 이동 단말기 내부 메모리, 플래쉬 메모리, 하드 디스크, 기타 등등)에 저장될 수 있고, 프로세서(예를 들어, 이동 단말기 내부 마이크로 프로세서)에 의해서 실행될 수 있는 소프트웨어 프로그램 내에 코드들 또는 명령어들로 구현될 수 있다. 이에 대해서 도 7을 참조여 설명하기로 한다.
도 7은 본 발명의 따른 단말(30) 및 SRM(50)의 구성 블록도이다.
도 7에 도시된 바와 같이 상기 단말(30)은 저장 수단, 송수신부, 커넥터, 컨트롤러를 포함한다. 그리고 상기 메모리 카드, 즉 SRM(50)은 저장 수단, 커넥터, 컨트롤러를 포함한다.
상기 커넥터는 상기 단말(30)과 상기 메모리 카드, 즉 SRM(50)을 서로 접속시킨다.
상기 저장 수단들은 도 3a 내지 도 6에 도시된 방법을 저장한다. 그리고, 상기 저장 수단들은 수신한 각 메시지 내의 정보들을 저장한다.
상기 컨트롤러들 각각은 상기 저장 수단들 및 상기 송수신부들을 각기 제어한다. 구체적으로 상기 컨트롤러들은 상기 저장 수단들에 각기 저장된 상기 방법들을 각기 실행한다. 그리고 상기 컨트롤러들 각각은 상기 송수신부들을 통해 상기 전술한 신호들을 전송한다.
이상에서는 본 발명의 바람직한 실시 예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시 예에만 한정되는 것은 아니므로, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (12)

  1. 리무버블 미디어(removable media)에 설치된 권리 객체를 업그레이드하는 방법에 있어서,
    업그레이드될 권리 객체와 관련된 권리 객체 식별자 및 상기 권리 객체와 연관된 콘텐츠를 식별시키는 자산 식별자 (Asset Identifier, AssetID)를 포함하는 업그레이드 트리거 메시지를 권리 발급자로부터 수신하는 단계;
    상기 AssetID와 권리 정보 메시지에 포함될 수 있는 권리 정보의 길이를 포함하는 권리 정보 요청 메시지를 상기 리무버블 미디어로 전송하는 단계;
    상기 AssetID에 의해 식별되는 상기 콘텐츠와 연관된 권리 정보와 상기 권리 정보의 제 1 식별자 및 후속(subsequent) 권리 정보 메시지가 뒤따르는지(follow) 여부를 지시하는 플래그를 포함하는 상기 권리 정보 메시지를 상기 리무버블 미디어로부터 적어도 한 번 이상 수신하는 단계;
    상기 권리 정보 메시지에 포함된 상기 권리 정보가 상기 업그레이드 트리거 메시지에 포함된 상기 권리 객체 식별자에 대응되는지 여부를 체크하는 단계; 및
    암호 키 복구(encryption key retrieval) 과정을 수행하는 단계를 포함하되,
    상기 암호 키 복구 과정은,
    상기 권리 정보의 상기 제 1 식별자 및 새롭게 생성된 제 2 식별자를 포함하는 업그레이드 정보 요청 메시지를 상기 리무버블 미디어에게 전송하는 단계;
    상기 제 1 식별자에 대응하는 권리 정보를 위한 암호 키를 포함하는 업그레이드 정보 메시지를 상기 리무버블 미디어로부터 수신하는 단계; 및
    상기 권리 정보 및 상기 암호 키를 기반으로 권리 업그레이드 과정을 수행하는 단계를 포함하는, 권리 객체를 업그레이드하는 방법.
  2. 제1항에 있어서,
    상기 권리 정보 메시지가 복수의 권리 정보 및 상기 AssetID와 연관된 복수의 식별자를 포함한다면, 상기 암호 키 복구 과정은 적어도 하나의 권리 정보에 대해 각각 수행되는, 권리 객체를 업그레이드하는 방법.
  3. 제1항에 있어서,
    상기 권리 정보 요청 메시지는 “RightsInfoListQueryRequest” 메시지이고, 상기 권리 정보 메시지는 “RightsInfoListQueryResponse” 메시지인, 권리 객체를 업그레이드하는 방법.
  4. 제1항에 있어서,
    상기 업그레이드 정보 요청 메시지는 “UpgradeRightsRetrievalRequest” 메시지이고, 상기 업그레이드 정보 메시지는 “UpgradeRightsRetrievalResponse” 메시지인, 권리 객체를 업그레이드하는 방법.
  5. 제1항에 있어서,
    상기 업그레이드 트리거 메시지는 상기 권리 객체 식별자에 대응하는 권리 객체가 상기 리무버블 미디어에 저장되어 있음을 지시하는 플래그(flag)를 더 포함하는, 권리 객체를 업그레이드하는 방법.
  6. 제1항에 있어서,
    상기 권리 업그레이드 과정은,
    상기 권리 객체, 권리 객체 업그레이드 정보 및 단말에 의해 서명된(signed) 시그너처(signature)를 상기 권리 발급자에게 전송하는 단계;
    상기 권리 발급자로부터 업그레이드 권리 객체를 획득하는 단계;
    상기 업그레이드된 권리 객체를 기반으로 해쉬된 AssetID의 리스트(List of Hashed AssetID, LAID), 업그레이드된 권리 객체의 암호 키 및 상기 업그레이드된 권리 객체의 권리 정보를 생성하는 단계;
    상기 업그레이드된 권리 객체의 설치를 위해 상기 업그레이드된 권리 객체의 권리 정보, 상기 업그레이드된 권리 객체의 암호 키, 상기 LAID 및 상기 업그레이드된 권리 객체의 식별자 및 상기 권리 객체의 식별자를 상기 리무버블 미디어에게 전송하는 단계; 및
    상기 리무버블 미디어로부터 상기 권리 객체의 업그레이드 결과를 획득하는 단계를 포함하는, 권리 객체를 업그레이드하는 방법.
  7. 제6항에 있어서,
    상기 권리 객체 및 상기 업그레이드된 권리 객체는 상기 단말의 퍼블릭 키(public key)를 이용하여 보호되는, 권리 객체를 업그레이드하는 방법.
  8. 제1항에 있어서,
    상기 권리 업그레이드 과정은,
    상기 권리 객체의 업그레이드를 위해 상기 권리 객체, 권리 객체 업그레이드 정보 및 상기 리무버블 미디어에 의해 서명된 상기 권리 객체 업그레이드 요청 메시지 상에서의 디지털 시그너처에 해당하는 시그너처를 포함하는 권리 객체 업그레이드 요청 메시지를 상기 권리 발급자에게 전송하는 단계;
    보호되는 권리 객체에 해당하는 업그레이드된 권리 객체를 상기 권리 발급자로부터 획득하는 단계;
    상기 업그레이드된 권리 객체를 확인(verifying)하는 단계;
    상기 업그레이드된 권리 객체를 기반으로 해쉬된 AssetID의 리스트 (List of Hashed AssetID, LAID) 및 상기 업그레이드된 권리 객체의 권리 정보를 생성하는 단계; 및
    상기 업그레이드된 권리 객체의 설치를 위해 상기 업그레이드된 권리 객체의 권리 정보 및 상기 업그레이드된 권리 객체의 식별자를 상기 리무버블 미디어에게 전송하는 단계를 포함하는, 권리 객체를 업그레이드하는 방법
  9. 리무버블 미디어(removable media)에 설치된 권리 객체를 업그레이드하는 단말에 있어서,
    업그레이드될 권리 객체와 관련된 권리 객체 식별자 및 상기 권리 객체와 연관된 콘텐츠를 식별시키는 자산 식별자 (Asset Identifier, AssetID)를 포함하는 업그레이드 트리거 메시지를 권리 발급자로부터 수신하고,
    상기 AssetID와 권리 정보 메시지에 포함될 수 있는 권리 정보의 길이를 포함하는 권리 정보 요청 메시지를 상기 리무버블 미디어로 전송하며,
    상기 AssetID에 의해 식별되는 상기 콘텐츠와 연관된 권리 정보와 상기 권리 정보의 제 1 식별자 및 후속(subsequent) 권리 정보 메시지가 뒤따르는지(follow) 여부를 지시하는 플래그를 포함하는 상기 권리 정보 메시지를 상기 리무버블 미디어로부터 적어도 한 번 이상 수신하고,
    상기 권리 정보의 상기 제 1 식별자 및 새롭게 생성된 제 2 식별자를 포함하는 업그레이드 정보 요청 메시지를 상기 리무버블 미디어에게 전송하고,
    상기 제 1 식별자에 대응하는 권리 정보를 위한 암호 키를 포함하는 업그레이드 정보 메시지를 상기 리무버블 미디어로부터 수신하도록 구성된 송수신기; 및
    상기 권리 정보 메시지에 포함된 상기 권리 정보가 상기 업그레이드 트리거 메시지에 포함된 상기 권리 객체 식별자에 대응되는지 여부를 체크하고,
    암호 키 복구(encryption key retrieval) 과정을 수행하며,
    상기 권리 정보 및 상기 암호 키를 기반으로 권리 업그레이드를 수행하도록 구성된 프로세서를 포함하는, 단말.
  10. 삭제
  11. 삭제
  12. 삭제
KR1020100030121A 2009-06-17 2010-04-01 메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치 KR101649528B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/319,708 US8667601B2 (en) 2009-06-17 2010-06-17 Method and device for upgrading rights object that was stored in memory card
PCT/KR2010/003922 WO2010147410A2 (en) 2009-06-17 2010-06-17 Method and device for upgrading rights object that was stored in memory card

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21805109P 2009-06-17 2009-06-17
US61/218,051 2009-06-17
US26211409P 2009-11-17 2009-11-17
US61/262,114 2009-11-17

Publications (2)

Publication Number Publication Date
KR20100135648A KR20100135648A (ko) 2010-12-27
KR101649528B1 true KR101649528B1 (ko) 2016-08-19

Family

ID=43510064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100030121A KR101649528B1 (ko) 2009-06-17 2010-04-01 메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치

Country Status (3)

Country Link
US (1) US8667601B2 (ko)
KR (1) KR101649528B1 (ko)
WO (1) WO2010147410A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948384B1 (ko) * 2006-11-29 2010-03-22 삼성전자주식회사 권리객체의 이동이 가능한 디바이스와 휴대형 저장 장치 및권리객체의 이동 방법
WO2011076274A1 (en) * 2009-12-23 2011-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Usage control of digital data exchanged between terminals of a telecommunications network
KR20120072032A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 모바일 단말의 상호인증 시스템 및 상호인증 방법
JP6260005B2 (ja) * 2013-07-23 2018-01-17 パナソニックIpマネジメント株式会社 機能設定方法
US11223480B2 (en) * 2018-01-02 2022-01-11 Cyberark Software Ltd. Detecting compromised cloud-identity access information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545209A (ja) 2005-08-12 2008-12-11 エルジー エレクトロニクス インコーポレイティド デジタル著作権管理における利用権利移転方法
JP2009537092A (ja) 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド 権利オブジェクトの移動方法および電子装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100677344B1 (ko) * 2004-07-29 2007-02-02 엘지전자 주식회사 권리객체 처리를 위한 메시지 및 이를 이용한 권리객체 처리 방법 및 시스템
KR100608605B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 디지털 저작권 관리 방법 및 장치
KR100678893B1 (ko) * 2004-09-16 2007-02-07 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
JP5084515B2 (ja) * 2005-01-13 2012-11-28 サムスン エレクトロニクス カンパニー リミテッド ホスト装置、携帯用保存装置、及び携帯用保存装置に保存された権利オブジェクトのメタ情報を更新する方法。
CN1851608A (zh) * 2005-09-28 2006-10-25 华为技术有限公司 Drm系统内撤销ro的方法及系统
KR100746014B1 (ko) * 2005-11-09 2007-08-06 삼성전자주식회사 디지털 저작권 관리 방법 및 시스템
WO2007108619A1 (en) * 2006-03-17 2007-09-27 Lg Electronics Inc. Method for moving and sharing digital contents and rights object and device thereof
KR100806106B1 (ko) * 2006-03-31 2008-02-21 엘지전자 주식회사 Drm 콘텐츠 사용권리 갱신방법, 시스템 및 단말기
KR100925731B1 (ko) * 2006-04-05 2009-11-10 엘지전자 주식회사 디지털 저작권 관리에서의 사용권리 전달 방법 및 장치
WO2008003222A1 (fr) * 2006-06-26 2008-01-10 Huawei Technologies Co., Ltd. Procédé et dispositif de droits d'exploitation
EP2113860B1 (en) * 2007-02-23 2013-03-13 Panasonic Corporation Rights object moving method and corresponding content player
KR100917312B1 (ko) * 2007-09-27 2009-09-11 (주) 엘지텔레콤 재구매를 위한 디지털 저작권 컨텐츠의 정보 갱신 시스템및 그 방법과 그 기능의 컴퓨터 프로그램이 기록된기록매체
KR101461945B1 (ko) * 2007-11-08 2014-11-14 엘지전자 주식회사 Drm에서 도메인 업그레이드 방법
KR100988374B1 (ko) * 2007-12-14 2010-10-18 엘지전자 주식회사 사용권리 이동 방법, 사용권리의 발급권한 관리 방법 및시스템
CN101626371B (zh) * 2008-07-07 2014-04-30 华为技术有限公司 许可的处理方法及装置
KR101167938B1 (ko) * 2009-09-22 2012-08-03 엘지전자 주식회사 컨텐츠에 대한 권리 이용 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545209A (ja) 2005-08-12 2008-12-11 エルジー エレクトロニクス インコーポレイティド デジタル著作権管理における利用権利移転方法
JP2009537092A (ja) 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド 権利オブジェクトの移動方法および電子装置

Also Published As

Publication number Publication date
WO2010147410A2 (en) 2010-12-23
WO2010147410A3 (en) 2011-03-24
US8667601B2 (en) 2014-03-04
US20120060225A1 (en) 2012-03-08
KR20100135648A (ko) 2010-12-27

Similar Documents

Publication Publication Date Title
JP4906854B2 (ja) 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
JP4795727B2 (ja) コンテンツの利用端末を制限する方法、記憶装置およびシステム
KR100753932B1 (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
US8719956B2 (en) Method and apparatus for sharing licenses between secure removable media
US9152772B2 (en) Device and portable storage device which are capable of transferring rights object, and a method of transferring rights object
KR101517942B1 (ko) 디지털 저작권 관리에서 에스알엠을 사용하기 위한 장치 및방법
US20070014397A1 (en) Storage device and information processing device
US20110047080A1 (en) System and method for drm content management
JP2009087035A (ja) 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム、暗号管理サーバ装置、ソフトウェアモジュール管理装置、ソフトウェアモジュール管理プログラム
KR20110055510A (ko) 보안 저장 장치에 저장된 디지털 컨텐츠의 백업
US7620811B2 (en) Server device and program management system
KR101649528B1 (ko) 메모리 카드에 저장되어 있는 권리를 업그레이드하는 방법 및 장치
US8307457B2 (en) Method and terminal for receiving rights object for content on behalf of memory card
US11381553B2 (en) Systems and techniques for trans-account device key transfer in benefit denial system
KR101167938B1 (ko) 컨텐츠에 대한 권리 이용 방법
US8667278B2 (en) Information processing apparatus and data transmission method of information processing apparatus
JP2008209960A (ja) コンテンツの利用端末を制限する方法、記憶装置およびシステム
KR101098159B1 (ko) 콘텐츠 배포 시스템 및 콘텐츠 배포 방법
JP2009212625A (ja) 会員認証システム及び携帯端末装置
US20090327725A1 (en) Content object management method, right object providing method, content object revocation method based thereon, and device using the same
WO2023178724A1 (zh) 智能门铃防盗版方法、系统、智能门铃及计算机可读存储介质
KR101683111B1 (ko) 메모리 카드를 대신하여 컨텐츠에 대한 권리 개체를 수신하는 방법 및 단말
JP5483754B2 (ja) ソフトウェアモジュール管理装置およびソフトウェアモジュール管理プログラム
CN116010909A (zh) 加密装置处理方法、数据处理方法、装置、设备及介质
JP2004157993A (ja) 管理装置、端末装置及び管理システム

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