KR20040073356A - Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system - Google Patents

Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system Download PDF

Info

Publication number
KR20040073356A
KR20040073356A KR1020040009028A KR20040009028A KR20040073356A KR 20040073356 A KR20040073356 A KR 20040073356A KR 1020040009028 A KR1020040009028 A KR 1020040009028A KR 20040009028 A KR20040009028 A KR 20040009028A KR 20040073356 A KR20040073356 A KR 20040073356A
Authority
KR
South Korea
Prior art keywords
identifier
group
requestor
requester
content
Prior art date
Application number
KR1020040009028A
Other languages
Korean (ko)
Other versions
KR100984440B1 (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 KR20040073356A publication Critical patent/KR20040073356A/en
Application granted granted Critical
Publication of KR100984440B1 publication Critical patent/KR100984440B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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]

Abstract

PURPOSE: Digital content publishing for limiting content rendering/use within a defined group such as an universe based on a DRM(Digital Right Management) system is provided to allow/facilitate controlled rendering within an office or the universe sharing a document with individuals of the defined universe or a class. CONSTITUTION: Digital contents are encrypted by a content key(CK)(402). A right description associated with the digital contents is generated(406). To generate the (PU-DRM(CK)), the content key is encrypted by a public key for a DRM server(PU-DRM)(414). Digital signature is generated based on a private key matched with the (PU-DRM) through combination of the right description and the (PU-DRM(CK))(420).

Description

디지탈 권한 관리(DRM) 시스템에 따른, 조직과 같은 규정된 집단 내에서의 디지탈 콘텐트 출판{PUBLISHING DIGITAL CONTENT WITHIN A DEFINED UNIVERSE SUCH AS AN ORGANIZATION IN ACCORDANCE WITH A DIGITAL RIGHTS MANAGEMENT(DRM) SYSTEM}PUBLISHING DIGITAL CONTENT WITHIN A DEFINED UNIVERSE SUCH AS AN ORGANIZATION IN ACCORDANCE WITH A DIGITAL RIGHTS MANAGEMENT (DRM) SYSTEM}

<연관된 출원에 대한 참조><Reference to the associated application>

이하의 미국특허출원들은 본 출원과 관련된 주제에 관하여 개시하고 있으며, 본 명세서에 참고로서 포함되어 있다:The following U.S. patent applications disclose the subject matter related to this application and are incorporated herein by reference:

미국 특허출원 제_________호, 대리인 도켓번호 MSFT-1569 하에서 본 출원과 동일자로 출원되었으며, 제목은 "디지탈 권한 관리(DRM) 시스템에 따른, 조직과 같은 규정된 집단 내에서의 디지탈 콘텐트 출판"이며;Filed on the same page as this application under US patent application Ser. No. _________, Representative Dock No. MSFT-1569, entitled "Publishing Digital Content Within a Defined Group, such as an Organization, in accordance with a Digital Rights Management (DRM) System" Is;

미국 특허출원 제10/185,527호, 대리인 도켓번호 MSFT-1330 하에서 2002년 6월 28일자로 출원되었으며, 제목은 "디지탈 콘텐트를 위한 서명된 권한 레이블(SRL) 획득 및 디지탈 권한 관리 시스템의 SRL에 기초하여 콘텐트에 대응하는 디지탈 라이센스 획득"이며;Filed June 28, 2002, under U.S. Patent Application No. 10 / 185,527, Representative Docker No. MSFT-1330, entitled "SRL Acquisition of Signed Rights Label for Digital Content and SRL of Digital Rights Management System" Obtain a digital license corresponding to the content ";

미국 특허출원 제10/185,278호, 대리인 도켓번호 MSFT-1333 하에서 2002년 6월 28일자로 출원되었으며, 제목은 "권한 템플릿을 사용하여 디지탈 권한 관리 시스템의 디지탈 콘텐트를 위한 서명된 권한 레이블(SRL) 획득"이며;Filed June 28, 2002, under US Patent Application No. 10 / 185,278, Representative Docker No. MSFT-1333, entitled "Signed Rights Label (SRL) for Digital Content in Digital Rights Management Systems Using Rights Templates" Acquisition ";

미국 특허출원 제10/185,511호, 대리인 도켓번호 MSFT-1343 하에서 2002년 6월 28일자로 출원되었으며, 제목은 "디지탈 콘텐트 및 서비스를 위한 이용 라이센스 발행 시스템 및 방법"이다.Filed June 28, 2002, under US Patent Application No. 10 / 185,511, Representative Docker No. MSFT-1343, entitled "Use License Issuance System and Method for Digital Content and Services."

<기술 분야><Technology field>

본 발명은 디지탈 권한 관리(DRM) 시스템에 관한 것이다. 더욱 구체적으로, 본 발명은 조직체, 사무실, 회사 등과 같은 규정된 집단(universe) 내에서의 콘텐트의 렌더링(rendering) 및 사용이 대응하는 사용 또는 라이센스 기간에 따라 제한될 수 있도록 상기와 같은 규정된 집단 내에서 디지탈 콘텐트를 출판하는 데에 DRM 시스템을 사용하는 것에 관한 것이다.The present invention relates to a digital rights management (DRM) system. More specifically, the present invention defines a defined population as described above such that the rendering and use of content within a defined universe such as an organization, office, company, etc. may be limited in accordance with the corresponding use or license term. It relates to using a DRM system to publish digital content within.

디지탈 권한 관리 및 시행은 디지탈 오디오, 디지탈 비디오, 디지탈 텍스트, 디지탈 데이타, 디지탈 멀티미디어 등과 같은 디지탈 콘텐트와 관련하여 매우 바람직한 것으로, 이러한 디지탈 콘텐트는 한 사람 이상의 사용자에게 배포될 수 있다. 디지탈 콘텐트는 예를 들어, 텍스트 문서와 같이 정적(static)일 수 있거나, 또는라이브 이벤트의 스트림식(streamed) 오디오/비디오와 같이 스트림될 수 있다. 전형적인 배포 모드는 자기(플로피) 디스크, 자기 테이프, 광(컴팩트) 디스크(CD) 등과 같은 유형의(tangible) 장치, 및 전자 게시판, 전자 네트워크, 인터넷 등과 같은 무형의 매체를 포함한다. 사용자에 의해 수신되고 있는 중에, 이러한 사용자는 퍼스널 컴퓨터 상의 미디어 플레이어 등과 같은 적절한 렌더링 장치의 도움으로 디지탈 콘텐트를 렌더(render)하거나 '플레이(play)'한다.Digital rights management and enforcement is highly desirable with respect to digital content, such as digital audio, digital video, digital text, digital data, digital multimedia, and the like, which can be distributed to one or more users. Digital content may be static, for example, as a text document, or streamed, such as streamed audio / video of live events. Typical distribution modes include tangible devices such as magnetic (floppy) disks, magnetic tapes, optical (compact) disks (CDs), and the like, and intangible media such as bulletin boards, electronic networks, the Internet, and the like. While being received by the user, the user renders or 'plays' the digital content with the help of a suitable rendering device, such as a media player on a personal computer.

하나의 시나리오에 있어서, 작성자(author), 발행자(publisher), 방송자 등과 같은 콘텐트 소유자 또는 권한 소유자는 이러한 디지탈 콘텐트를 라이센스 요금이나 소정의 다른 대가와 교환하여 많은 사용자들 또는 수신인들 각각에게 배포하고자 한다. 이러한 시나리오에서, 콘텐트는 노래, 노래 앨범, 영화 등이 될 수 있으며, 배포 목적은 라이센스 요금을 발생시키기 위한 것이다. 이러한 콘텐트 소유자는, 선택권이 주어지면, 사용자가 이러한 배포된 디지탈 콘텐트를 가지고 할 수 있는 것을 제한하고자 할 것이다. 예를 들어, 콘텐트 소유자는 적어도 제2 사용자로부터의 라이센스 요금을 콘텐트 사용자에게 주지않는 방식으로, 사용자가 제2 사용자에게 이러한 콘텐트를 복사 및 재배포하는 것을 제한하고자 한다.In one scenario, content owners or rights owners, such as authors, publishers, broadcasters, etc., wish to distribute such digital content to each of many users or recipients in exchange for a license fee or some other cost. do. In such a scenario, the content may be a song, a song album, a movie, etc., and the distribution purpose is to generate a license fee. Such content owners, if given the choice, will want to limit what a user can do with such distributed digital content. For example, a content owner would like to restrict a user from copying and redistributing such content to a second user in a manner that does not give the content user a license fee from at least the second user.

또한, 콘텐트 소유자는 사용자에게 실제로 구매되는 모든 종류의 라이센스의 기간을 지키게 하는 동시에, 사용자에게 다른 유형의 사용 라이센스를 다른 라이센스 요금으로 구매하는 융통성을 제공하고자 할 수 있다. 예를 들어, 콘텐트 소유자는 배포된 디지탈 콘텐트가 제한된 횟수만, 소정의 총 시간동안만, 소정 종류의 기계 상에서만, 소정 종류의 미디어 플레이어 상에서만, 소정 종류의 사용자 등에의해서만 플레이될 수 있게 하고자 할 수 있다.In addition, the content owner may wish to provide the user with the flexibility to purchase different types of use licenses at different license fees while at the same time keeping the user of the duration of all kinds of licenses actually purchased. For example, a content owner might want to ensure that the distributed digital content can only be played for a limited number of times, for a predetermined total time, only on certain types of machines, on certain types of media players, only by certain types of users, and the like. Can be.

다른 시나리오에 있어서, 한 조직체 내의 피고용인 또는 구성원과 같은 콘텐트 개발자는 이러한 디지탈 콘텐트를 그 조직체 내의 한 사람 이상의 다른 피고용인들 또는 구성원들에게, 또는 그 조직체 외부의 다른 개인들에게 배포하고자 하지만, 다른 사람들은 그 콘텐트의 렌더링은 못하게 하고자 한다. 여기에서, 콘텐트의 배포는 라이센스 요금 또는 소정의 다른 대가와의 교환으로, 광역 기반의(broad-based) 배포와 대조적으로, 비밀의 또는 제한된 방식으로 공유하는 조직 기반의(organization-based) 콘텐트에 더 가깝다.In another scenario, a content developer, such as an employee or member of an organization, wishes to distribute such digital content to one or more other employees or members of the organization, or to other individuals outside the organization, but others We do not want to render the content. Here, the distribution of content is to an organization-based content that is shared in a secret or limited manner, in contrast to broad-based distribution, in exchange for a license fee or some other cost. Closer.

이러한 시나리오에서, 콘텐트는 사무실 세팅 내에서 교체될 수 있는 것과 같은 문서 프리젠테이션, 스프레드시트, 데이타베이스, 이메일 등이 될 수 있으며, 콘텐트 개발자는 콘텐트가 조직체 또는 사무실 세팅 내에서 유지될 수 있고, 예를 들어 경쟁자들 또는 적들과 같이 권한이 없는 개인들에게는 렌더될 수 없게 하고자 할 수 있다. 다시, 이러한 콘텐트 개발자는 수신인이 이러한 배포된 디지탈 콘텐트로 할 수 있는 것을 제한하고자 한다. 예를 들어, 콘텐트 소유자는 적어도 콘텐트를 렌더하도록 허용되어야 하는 개인들의 범위를 벗어난 콘텐트를 노출시키는 방식으로, 사용자가 제2 사용자에게 이러한 콘텐트를 복사 및 재배포하는 것을 제한하고자 한다.In such a scenario, the content can be a document presentation, a spreadsheet, a database, an email, etc., which can be replaced within an office setting, and the content developer can maintain the content within an organization or office setting, eg For example, you may want to make it impossible to render to unauthorized individuals such as competitors or enemies. Again, such content developers would like to limit what recipients can do with such distributed digital content. For example, a content owner would like to restrict a user from copying and redistributing such content to a second user, in a manner that exposes content that is at least outside the range of individuals that should be allowed to render the content.

또한, 콘텐트 개발자는 다양한 수신인들에게 다른 레벨의 렌더링 권한을 제공하고자 할 수 있다. 예를 들어, 콘텐트 개발자는 보호된 디지탈 콘텐트를 한 클래스의 개인에 대해서는 볼 수 있지만 프린트할 수 없게 하고, 다른 클래스의 개인에 대해서는 볼 수 있으면서 프린트할 수 있게 하고자 할 수 있다.In addition, content developers may wish to provide different levels of rendering rights to various recipients. For example, a content developer may want to make protected digital content viewable but not printable for one class of individuals, and printable while viewable for other classes of individuals.

그러나, 둘 중 어느 시나리오에서는, 배포가 발생된 후, 이러한 콘텐트 소유자/개발자는 디지탈 콘텐트에 관한 제어를 거의 하지 않는다. 이것은 실질적으로 모든 퍼스널 컴퓨터가 이러한 디지탈 콘텐트의 정확한 디지탈 복사를 행하여, 그 정확한 디지탈 복사를 기입가능한 자기 또는 광 디스크로 다운로드하거나, 또는 그 정확한 디지탈 복사를 인터넷과 같은 네트워크를 통해 소정의 목적지로 보내는데 필요한 소프트웨어 및 하드웨어를 포함한다는 사실로 보아 특히 문제가 된다.In either scenario, however, after distribution has occurred, such content owner / developer has little control over the digital content. This is required for virtually every personal computer to make an accurate digital copy of this digital content, download the exact digital copy to a writable magnetic or optical disk, or send the exact digital copy to a given destination via a network such as the Internet. The fact that it includes software and hardware is particularly problematic.

물론, 콘텐트가 배포되는 거래의 일부로서, 콘텐트 소유자/개발자는 디지탈 콘텐트의 사용자/수신인에게 달갑지 않은 방식으로 이러한 디지탈 콘텐트를 재배포하지 않기로 약속할 것을 요구할 수 있다. 그러나, 이러한 약속은 쉽게 이루어지고, 쉽게 파기된다. 콘텐트 소유자/개발자는 일반적으로 암호화 및 복호화를 수반하는 소정의 몇몇 공지된 보안 장치를 통해 이러한 재배포를 방지하려고 시도할 수 있다. 그러나, 가볍게 결정된 사용자가 암호화된 디지탈 콘텐트를 복호화하고, 이러한 디지탈 콘텐트를 비암호화 형태로 보관한 다음, 그것을 재배포하는 것을 금지하게 하는 것은 거의 불가능하다.Of course, as part of the transaction in which the content is distributed, the content owner / developer may require the user / recipient of the digital content to promise not to redistribute such digital content in an unwelcome manner. However, these promises are easily made and easily destroyed. Content owners / developers may attempt to prevent such redistribution through some known security device that generally involves encryption and decryption. However, it is almost impossible to allow a lightly determined user to decrypt encrypted digital content, keep such digital content in an unencrypted form, and then redistribute it.

그러므로, 임의의 형태의 디지탈 콘텐트의 제어된 렌더링 또는 플레잉을 허용하는 디지탈 권한 관리(DRM) 및 시행 아키텍처 및 방법을 제공할 필요성이 있으며, 상기 제어는 융통성이 있어서 디지탈 콘텐트의 콘텐트 소유자/개발자에 의해 융통성있으며 규정가능하다. 더욱 구체적으로, 특히 규정된 그룹의 개인들 또는 클래스의 개인들 사이에서 문서가 공유될 사무실 또는 조직체 등의 안에서, 그 제어된 렌더링을 허용하고 용이하게 하는 아키텍처에 대한 필요성이 있다.Therefore, there is a need to provide a digital rights management (DRM) and enforcement architecture and method that allows for controlled rendering or playing of any form of digital content, the control being flexible to be provided by the content owner / developer of the digital content. Flexible and definable More specifically, there is a need for an architecture that allows and facilitates controlled rendering, especially in an office or organization where documents are shared among individuals of a defined group or individuals of a class.

도 1은 본 발명이 실현될 수 있는 예시적인 비제한 컴퓨팅 환경을 나타내는 블록도.1 is a block diagram illustrating an exemplary non-limiting computing environment in which the present invention may be implemented.

도 2는 본 발명이 실현될 수 있는 여러가지 컴퓨팅 장치를 갖고 있는 예시적인 네트워크 환경을 나타내는 블록도.2 is a block diagram illustrating an exemplary network environment having various computing devices in which the present invention may be implemented.

도 3은 디지탈 콘텐트를 출판하기 위한 본 발명에 따른 시스템 및 방법의 일 실시예의 기능 블록도.3 is a functional block diagram of one embodiment of a system and method in accordance with the present invention for publishing digital content.

도 4는 권한 관리된 디지탈 콘텐트를 출판하기 위한 본 발명에 따른 방법의 일 실시예의 플로우차트.4 is a flowchart of one embodiment of a method in accordance with the present invention for publishing rights-managed digital content.

도 4a는 도 4의 방법에 의해 생성된 것과 같은 서명된 권한 레이블의 구조를 도시한 블록도.4A is a block diagram illustrating the structure of a signed rights label as generated by the method of FIG.

도 5는 권한 관리된 디지탈 콘텐트를 라이센싱하기 위한 본 발명에 따른 시스템 및 방법의 일 실시예의 블록도.5 is a block diagram of one embodiment of a system and method in accordance with the present invention for licensing rights managed digital content.

도 6a 및 도 6b는 권한 관리된 디지탈 내용을 라이센싱하기 위한 본 발명에따른 방법의 일 실시예의 플로우차트.6A and 6B are flowcharts of one embodiment of a method in accordance with the present invention for licensing rights managed digital content.

도 7은 본 발명의 일 실시예에 따라 권한 레이블의 재판(re-publishing)시에 실행된 중요 단계들을 도시한 플로우차트.FIG. 7 is a flowchart showing the critical steps performed upon re-publishing of an authority label in accordance with an embodiment of the present invention. FIG.

도 8은 본 발명의 일 실시예에 따라 사용자가 오프라인 출판을 사용할 수 있게 하기 위해 DRM 서버에 의해 사용자에게 발행된 인증서를 도시한 블록도.8 is a block diagram illustrating a certificate issued to a user by a DRM server to enable a user to use offline publishing in accordance with one embodiment of the present invention.

도 9는 본 발명의 일 실시예에 따라 권한 레이블 내에 편입될 권한 템플릿(template) 지정 정보를 도시한 블록도.FIG. 9 is a block diagram illustrating rights template designation information to be incorporated into a rights label in accordance with an embodiment of the present invention. FIG.

도 10은 본 발명의 일 실시예에 따라 도 9의 권한 템플릿을 생성하고, 권한 템플릿에 기초하여 도 4a의 서명된 권한 레이블을 생성할 때 수행되는 중요 단계들을 도시한 플로우차트.FIG. 10 is a flowchart illustrating the critical steps performed when generating the rights template of FIG. 9 and generating the signed rights label of FIG. 4A based on the rights template, in accordance with an embodiment of the present invention. FIG.

도 11은 신뢰 기반 시스템의 한 예의 시행(enforcement) 아키텍처를 도시한 블록도.11 is a block diagram illustrating an enforcement architecture of one example of a trust based system.

도 12는 본 발명의 일 실시예에 따라 라이센서가 라이센스에 대한 요청을 처리하는 것을 도시한 블록도.12 is a block diagram illustrating that a licensor processes a request for a license in accordance with one embodiment of the present invention.

도 13은 라이센스를 발행할 때 디렉토리와 관련하여 도 12의 라이센서에 의해 실행된 단계들을 도시한 흐름도.FIG. 13 is a flow diagram illustrating the steps performed by the licensor of FIG. 12 in relation to a directory when issuing a license.

도 14는 발행될 라이센스 내로 정책을 도입할 때 도 12의 라이센서에 의해 실행된 단계들을 도시한 흐름도.FIG. 14 is a flow diagram illustrating the steps performed by the licensor of FIG. 12 when introducing a policy into a license to be issued.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 컴퓨팅 시스템 환경100: computing system environment

120 : 프로세싱 유닛120: processing unit

130 : 시스템 메모리130: system memory

121 : 시스템 버스121: system bus

302 : 콘텐트 준비 어플리케이션302: content preparation application

304 : 암호화된 디지탈 콘텐트304: encrypted digital content

306 : DRM 클라이언트 API306: DRM Client API

308 : 서명된 권한 레이블308: Signed Authority Label

310 : 권한 관리된 디지탈 콘텐트310: Rights managed digital content

320 : DRM 서버320: DRM server

330 : 통신 네트워크330: communication network

상술된 필요성은 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 요청자에게 디지탈 라이센스를 발행하는 본 발명에 의해 적어도 부분적으로 충족된다. 본 발명에서, 라이센서는 요청자에 대한 리스트를 포함하는 디렉토리에 액세스하는데, 상기 리스트는 요청자의 식별자, 및 그 요청자가 구성원인 각 그룹의 식별자를 포함한다.The above mentioned needs are at least partly met by the present invention in which the licensor issues a digital license to the requester so that the requester can render the corresponding digital content. In the present invention, the licensor accesses a directory containing a list for the requestor, the list including an identifier of the requester and an identifier of each group of which the requestor is a member.

라이센서는 요청자로부터 요청을 수신하여, 상기 요청은 요청자를 식별하는 식별자, 및 콘텐트와 연관된 권한 데이타를 포함하고, 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트한다. 그 후, 라이센서는 디렉토리 내에 요청자의 식별자를 위치시키고, 디렉토리 내에 위치된 요청자 식별자로부터, 요청자가 그 구성원인 각 그룹의 식별자를 디렉토리 내에 위치시킨다. 각각의 위치된 요청자 식별자 및 각각의 위치된 그룹 식별자는 권한 데이타 내에 리스트된 각 식별자와 비교되어 부합을 찾고, 라이센스는 부합 식별자와 연관된 권한을 갖는 요청자에게 발행된다.The licensor receives a request from the requester, the request comprising an identifier identifying the requester, and authorization data associated with the content, the authorization data listing at least one identifier and the authorization associated with it. The licensor then locates the requestor's identifier in the directory and, from the requestor identifier located in the directory, locates in the directory the identifier of each group of which the requester is a member thereof. Each located requestor identifier and each located group identifier is compared with each identifier listed in the authorization data to find a match, and a license is issued to the requestor having the rights associated with the match identifier.

상기 설명, 및 본 발명의 실시예에 관한 다음의 상세한 설명은 첨부된 도면을 참조하면 더욱 잘 이해될 수 있을 것이다. 본 발명의 설명을 위해, 양호한 실시예가 도시된다. 그러나, 본 발명은 도시된 정밀한 구성 및 수단에 제한되는 것은 아니다.The foregoing description, and the following detailed description of embodiments of the invention, may be better understood with reference to the accompanying drawings. For the purpose of illustrating the invention, a preferred embodiment is shown. However, the present invention is not limited to the precise configuration and means shown.

컴퓨터 환경Computer environment

도 1 및 다음 설명은 본 발명이 실현될 수 있는 적절한 컴퓨팅 환경에 관한 간단한 설명을 제공하고자 하는 것이다. 그러나, 핸드헬드, 포터블, 및 모든 종류의 다른 컴퓨팅 장치들이 본 발명과 관련하여 사용이 고려될 수 있다는 것을 이해해야 한다. 범용 컴퓨터가 후술되지만, 그것은 단지 한 예이고, 본 발명은 단지 네트워크 서버 상호운용성(interoperability) 및 상호작용을 갖는 씬(thin) 클라이언트를 필요로 한다. 그러므로, 본 발명은 거의 없거나 극미한 클라이언트 자원이 관련되는 네트워크화 호스티드 서비스의 환경, 즉 클라이언트 장치가 단지 월드 와이드 웹에 대한 브라우저 또는 인터페이스로서 작용하는 네트워크 환경에서 실현될 수 있다.1 and the following description are intended to provide a brief description of suitable computing environments in which the present invention may be implemented. However, it should be understood that handheld, portable, and all sorts of other computing devices may be considered for use in connection with the present invention. Although a general purpose computer is described below, it is just one example, and the present invention only needs a thin client with network server interoperability and interaction. Therefore, the present invention can be realized in an environment of networked hosted services involving little or no client resources, i.e., in a network environment where the client device only acts as a browser or interface to the World Wide Web.

요구되지는 않지만, 본 발명은 개발자에 의한 사용을 위한 응용 프로그래밍 인터페이스(API)를 통해 실현될 수 있고, 및/또는 클라이언트 워크스테이션, 서버 또는 기타의 장치들과 같은 하나 이상의 컴퓨터들에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행가능한 명령어의 일반적인 문맥으로 기술될 수 있는 네트워크 브라우징 소프트웨어 내에 포함될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이타 유형을 실행하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이타 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능성은 여러 실시예에서 요구된 바와 같이 결합되거나 분포될 수 있다. 게다가, 본 분야에 숙련된 기술자들은 본 발명이 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 이해할 수 있을 것이다. 본 발명과 사용하기에 적절하게 될 수 있는 그밖의 다른 널리 공지된 컴퓨팅 시스템, 환경 및/또는 구성들은 퍼스널 컴퓨터(PC),현금자동 입출금기(ATM), 서버 컴퓨터, 핸드-헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램가능 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하지만, 이것에 제한되는 것은 아니다. 본 발명은 또한 통신망 또는 다른 데이타 전송 매체를 통해 링크되는 원격 프로세싱 장치에 의해 태스크가 실행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 내에 위치될 수 있다.Although not required, the invention may be realized through an application programming interface (API) for use by a developer, and / or executed by one or more computers, such as client workstations, servers, or other devices. It can be included in network browsing software that can be described in the general context of computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or execute particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as required in various embodiments. In addition, those skilled in the art will appreciate that the present invention may be practiced with other computer system configurations. Other well-known computing systems, environments and / or configurations that may be suitable for use with the present invention include personal computers (PCs), automated teller machines (ATMs), server computers, hand-held or laptop devices, multi Processor systems, microprocessor-based systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.

그러므로, 도 1은 본 발명이 실현될 수 있는 적절한 컴퓨팅 환경(100)의 한 예를 도시한 것으로, 위에서 명백해지긴 했지만, 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 한 예일 뿐이며, 본 발명의 사용범위 또는 기능에 관해 소정의 제한을 제안하고자 하는 것은 아니다. 컴퓨팅 환경(100)은 예시적인 동작 환경(100)에 도시된 구성요소의 임의의 하나 또는 조합에 관련하여 어떠한 종속성이나 요구사항을 갖는 것으로 해석되어서는 안된다.Therefore, Figure 1 illustrates an example of a suitable computing environment 100 in which the present invention may be implemented, and as will be apparent from the above, the computing system environment 100 is only one example of a suitable computing environment and uses of the present invention. It is not intended to suggest any limitation as to scope or functionality. Computing environment 100 should not be construed as having any dependencies or requirements with respect to any one or combination of components shown in exemplary operating environment 100.

도 1을 참조하면, 본 발명을 실현하는 예시적인 시스템은 컴퓨터(100) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(100)의 구성요소는 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함하는 다양한 시스템 구성요소를 프로세싱 유닛(120)에 연결하는 시스템 버스(121)를 포함할 수 있으며, 이것에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스를 포함하는 몇몇 형태의 버스 구조들 중의 어떤 구조로 될 수 있다. 예를 들어, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 PCI(Peripheral Component Interconnect) 버스(Mezzanine 버스라고도 공지됨)를 포함하며, 이에 제한되는 것은 아니다.Referring to FIG. 1, an exemplary system for realizing the present invention includes a general purpose computing device in the form of a computer 100. Components of the computer 100 may include a system bus 121 that connects various system components, including the processing unit 120, system memory 130, and system memory, to the processing unit 120, It is not limited to this. System bus 121 may be any of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. For example, these architectures include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses (Mezzanine). Also known as a bus).

컴퓨터(110)는 전형적으로 다양한 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 불휘발성 매체, 착탈가능 및 착탈불가능 매체를 모두 포함한다. 예로서, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈 또는 그밖의 다른 데이타와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 실현된 휘발성 및 불휘발성, 착탈 가능 및 착탈불가능 매체를 모두 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 그밖의 다른 메모리 기술, CDROM, DVD(Digital Versatile Disks) 또는 그밖의 다른 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그밖의 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이것에 제한되지는 않는다. 컴퓨터 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메카니즘과 같은 변조된 디지탈 신호 내의 다른 데이타를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이타 신호"라는 용어는 하나 이상의 자체 특성 세트를 갖거나 또는 신호내의 정보를 인코드하는 것과 같은 방식으로 변화된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하며, 이에 제한되는 것은 아니다. 상기의 임의의 결합은 또한 컴퓨터 판독가능한 매체의 범위 내에 포함되어야 한다.Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, computer readable media may include, but are not limited to, computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other Magnetic storage device, or any other medium that can be used to store desired information and can be accessed by computer 110, but is not limited to such. Computer media typically implements computer readable instructions, data structures, program modules, or other data in modulated digital signals, such as carrier waves or other transmission mechanisms, and includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its own set of characteristics or changed in such a manner as to encode information in the signal. For example, communication media includes, but is not limited to, wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.

시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 불휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 예를 들어 스타트-업(start-up) 동안에 컴퓨터(110) 내의 소자들 간의 정보 전달을 돕는 베이직 루틴을 포함하는 기본 입/출력 시스템(133)(BIOS)은 전형적으로 ROM(131)에 저장된다. RAM(132)은 전형적으로 프로세싱 유닛(120)에 즉시 액세스가능하거나 및/또는 프로세싱 유닛(120)에 의해 현재 동작되고 있는 데이타 및/또는 프로그램을 포함한다. 예를 들어, 도 1은 운영 체계(134), 응용 프로그램(135), 기타의 프로그램 모듈(136) 및 프로그램 데이타(137)를 도시한 것이고, 이에 제한되는 것은 아니다.System memory 130 includes computer storage media in the form of volatile and / or nonvolatile memory, such as read only memory (ROM) 131 and random access memory (RAM) 132. Basic input / output system 133 (BIOS), which includes a basic routine that assists in transferring information between elements in computer 110, for example during start-up, is typically stored in ROM 131. . RAM 132 typically includes data and / or programs that are readily accessible to processing unit 120 and / or currently being operated by processing unit 120. For example, FIG. 1 illustrates an operating system 134, an application 135, other program modules 136, and program data 137, but is not limited to such.

컴퓨터(110)는 또한 그밖의 다른 착탈가능/착탈불가능, 휘발성/불휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예를 들어보면, 도 1은 착탈불가능 불휘발성 자기 매체로부터 판독하거나 기입하는 하드 디스크 드라이브(141), 착탈가능 불휘발성 자기 디스크(152)로부터 판독하거나 기입하는 자기 디스크 드라이브(151), 및 CD ROM 또는 그밖의 광 매체와 같은 착탈가능 불휘발성 광 디스크(156)로부터 판독하거나 기입하는 광 디스크 드라이브(155)를 도시한 것이다.예시적인 동작 환경에서 사용될 수 있는 그밖의 다른 착탈가능/착탈불가능, 휘발성/불휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지탈 비디오 테이프, 고체상태 RAM, 고체상태 ROM 등을 포함하지만, 이것에 제한되지는 않는다. 하드 디스크 드라이브(141)는 전형적으로, 인터페이스(140)와 같은 착탈불가능 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 전형적으로, 인터페이스(150)와 같은 착탈가능 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.Computer 110 may also include other removable / removable, volatile / nonvolatile computer storage media. By way of example only, FIG. 1 illustrates a hard disk drive 141 that reads or writes from a removable nonvolatile magnetic medium, a magnetic disk drive 151 that reads or writes from a removable nonvolatile magnetic disk 152, and a CD. Shows an optical disk drive 155 that reads from or writes to a removable nonvolatile optical disk 156, such as a ROM or other optical medium. Other removable / removable, which may be used in an exemplary operating environment, Volatile / nonvolatile computer storage media include, but are not limited to, magnetic tape cassettes, flash memory cards, DVDs, digital video tapes, solid state RAMs, solid state ROMs, and the like. Hard disk drive 141 is typically connected to system bus 121 via a non-removable memory interface, such as interface 140, and magnetic disk drive 151 and optical disk drive 155 typically have an interface ( Is connected to the system bus 121 by a removable memory interface such as 150.

상술되고 도 1에 도시된 드라이브 및 이와 연관된 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈 및 컴퓨터(110)용의 다른 데이타의 저장을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체계(144), 응용 프로그램(145), 다른 프로그램 모듈(146) 및 프로그램 데이타(147)를 저장하는 것으로 도시된다. 이들 구성요소들은 운영 체계(134), 응용 프로그램(135), 다른 프로그램 모듈(136) 및 프로그램 데이타(137)와 동일하거나 다르게 될 수 있다는 것을 유의한다. 운영 체계(144), 응용 프로그램(145), 다른 프로그램 모듈(146) 및 프로그램 데이타(147)는 적어도 이들이 서로다른 카피인 것을 나타내기 위해 여기에서 서로다른 번호로 주어진다. 사용자는 일반적으로 마우스, 트랙볼 또는 터치패드로 언급되는 포인팅 장치(161) 및 키보드(162)와 같은 입력 장치를 통해 컴퓨터(110) 내로 커맨드 및 정보를 입력시킬 수 있다. 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 그밖의 입력 장치들은 시스템 버스(121)에 연결되는 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 자주 접속되지만, 병렬 포트, 게임 포트 또는 유니버셜 시리얼 버스(USB)와 같은 그밖의 인터페이스 및 버스 구조에 의해 접속될 수도 있다.The drive and associated computer storage media described above and shown in FIG. 1 provide storage of computer readable instructions, data structures, program modules, and other data for the computer 110. In FIG. 1, for example, hard disk drive 141 is shown to store operating system 144, application 145, other program modules 146, and program data 147. Note that these components may be the same as or different from operating system 134, application 135, other program modules 136, and program data 137. Operating system 144, application 145, other program module 146, and program data 147 are given different numbers here, at least to indicate that they are different copies. A user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touchpad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are frequently connected to the processing unit 120 via a user input interface 160 connected to the system bus 121, but other interfaces such as parallel ports, game ports or universal serial bus (USB). And by a bus structure.

모니터(191) 또는 다른 유형의 디스플레이 장치는 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 노스브리지(Northbridge)와 같은 그래픽 인터페이스(182)가 또한 시스템 버스(121)에 접속될 수 있다. 노스브리지는 CPU 또는 호스트 프로세싱 유닛(120)과 통신하는 칩셋으로서, AGP(Accelerated Graphics Port) 통신에 대한 책임을 맡고 있다. 하나 이상의 그래픽 프로세싱 유닛(GPU)(184)는 그래픽 인터페이스(182)와 통신할 수 있다. 이와 관련하여, GPU(184)는 레지스터 저장장치와 같은 온칩(on-chip) 메모리 저장장치를 일반적으로 포함하고, GPU(184)는 비디오 메모리(186)와 통신한다. 그러나, GPU(184)는 코프로세서(coprocessor)의 한 예일 뿐이므로, 다양한 코프로세싱 장치가 컴퓨터(110) 내에 포함될 수 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치는 또한, 비디오 메모리(186)와 교대로 통신할 수 있는 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터(191) 이외에, 컴퓨터는 출력 주변 인터페이스(195)를 통해 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 다른 주변 출력 장치들을 마찬가지로 포함할 수 있다.The monitor 191 or other type of display device is also connected to the system bus 121 via an interface such as the video interface 190. Graphical interface 182, such as Northbridge, may also be connected to system bus 121. Northbridge is a chipset that communicates with the CPU or host processing unit 120 and is responsible for Accelerated Graphics Port (AGP) communication. One or more graphics processing units (GPUs) 184 may be in communication with the graphical interface 182. In this regard, GPU 184 generally includes on-chip memory storage, such as register storage, and GPU 184 is in communication with video memory 186. However, since the GPU 184 is only one example of a coprocessor, various coprocessing devices may be included in the computer 110. The monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as video interface 190, which can alternately communicate with video memory 186. In addition to the monitor 191, the computer may likewise include other peripheral output devices such as a speaker 197 and a printer 196 that may be connected via an output peripheral interface 195.

컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터들로의 논리적인 접속을 사용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 그밖의 통상의네트워크 노드일 수 있으며, 도 1에 메모리 저장 장치(181)만이 도시되었지만, 전형적으로 컴퓨터(110)와 관련하여 상술된 다수의 또는 모든 소자들을 포함할 수 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN)(171) 및 광역 통신망(WAN)(173)을 포함하지만, 다른 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 기업체 전반의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적인 것이다.Computer 110 may operate in a network environment using logical connections to one or more remote computers, such as remote computer 180. Remote computer 180 may be a personal computer, server, router, network PC, peer device, or other conventional network node, although only memory storage 181 is shown in FIG. Multiple or all of the elements described above with respect to 110. The logical connection shown in FIG. 1 includes a local area network (LAN) 171 and a wide area network (WAN) 173, but may include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 전형적으로, 모뎀(172), 및 인터넷과 같은 WAN(173)을 통해 통신을 설정하는 다른 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 다른 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크 환경에서, 컴퓨터(110)와 관련하여 묘사된 프로그램 모듈, 또는 그것의 일부분은 원격 메모리 저장 장치 내에 저장될 수 있다. 예를 들어, 도 1은 메모리 장치(181)에서 상주하는 원격 응용 프로그램(185)을 도시하고 있으며, 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이고, 컴퓨터들 사이의 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 이해할 수 있을 것이다.When used in a LAN networking environment, the computer 110 is connected to the LAN 171 via a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 and other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160 or other suitable mechanism. In a networked environment, program modules depicted in connection with the computer 110, or portions thereof, may be stored in the remote memory storage device. For example, FIG. 1 illustrates a remote application 185 residing in the memory device 181, but is not limited thereto. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.

본 분야에 숙련된 기술자라면 컴퓨터(110) 또는 다른 클라이언트 장치가 컴퓨터 네트워크의 일부로서 전개될 수 있다는 것을 이해할 수 있다. 이와 관련하여, 본 발명은 임의 수의 메모리 또는 저장 유닛을 갖고 있고, 임의 수의 저장 유닛 또는 볼륨을 교차하여 발생하는 임의 수의 어플리케이션 및 프로세스를 갖고 있는 소정의 컴퓨터 시스템에 속한다. 본 발명은 원격 또는 로컬 저장 장치를 갖고 있는 네트워크 환경에서 전개된 서버 컴퓨터 및 클라이언트 컴퓨터를 갖는 환경에 적용할 수 있다. 본 발명은 또한 프로그래밍 언어 기능, 번역 및 실행 능력을 갖고 있는 단독형(standalone) 컴퓨터 장치에 적용할 수 있다.Those skilled in the art will appreciate that computer 110 or other client device may be deployed as part of a computer network. In this regard, the present invention belongs to any computer system having any number of memory or storage units and having any number of applications and processes that occur across any number of storage units or volumes. The present invention is applicable to an environment with server computers and client computers deployed in a network environment with remote or local storage. The invention is also applicable to standalone computer devices having programming language capabilities, translation and execution capabilities.

분산 컴퓨팅은 컴퓨팅 장치와 시스템 간의 직접 교환에 의해 컴퓨터 자원 및 서비스의 공유를 용이하게 한다. 이들 자원 및 서비스는 정보 교환, 캐시 저장장치, 및 파일용 디스크 저장장치를 포함한다. 분산 컴퓨팅은 네트워크 접속성을 이용하여, 클라이언트가 전체 기업에게 이익이 되는 그들의 집합적인 능력을 발휘할 수 있게 한다. 이와 관련하여, 여러가지 장치는 신뢰된 그래픽 파이프라인(들)에 대한 본 발명의 인증 기술을 관련시키기 위해 상호작용할 수 있는 어플리케이션, 오브젝트 또는 자원을 가질 수 있다.Distributed computing facilitates sharing of computer resources and services by direct exchange between computing devices and systems. These resources and services include information exchange, cache storage, and disk storage for files. Distributed computing takes advantage of network connectivity, allowing clients to exercise their collective ability to benefit the entire enterprise. In this regard, various devices may have applications, objects, or resources that can interact to relate the authentication techniques of the present invention to trusted graphics pipeline (s).

도 2는 예시적인 네트워크 또는 분산된 컴퓨팅 환경의 개략도를 제공한다. 분산 컴퓨팅 환경은 컴퓨팅 오브젝트(10a, 10b 등) 및 컴퓨팅 오브젝트 또는 장치(110a, 110b, 110c 등)를 포함한다. 이들 오브젝트들은 프로그램, 방법, 데이타 저장, 프로그램가능한 로직 등을 포함할 수 있다. 오브젝트들은 PDA, 텔레비젼, MP3 플레이어, 퍼스널 컴퓨터 등과 같은 동일하거나 상이한 장치들의 일부를 포함할 수 있다. 각 오브젝트는 통신 네트워크(14)에 의해 다른 오브젝트와 통신할 수 있다. 이 네트워크는 도 2의 시스템에 서비스를 제공하는 다른 컴퓨팅 오브젝트 및 컴퓨팅 장치를 포함할 수 있다. 본 발명의 실시양상에 따라, 각오브젝트(10 또는 110)는 신뢰된 그래픽 파이프라인(들)에 대한 본 발명의 인증 기술을 요청할 수 있는 어플리케이션을 포함할 수 있다.2 provides a schematic diagram of an example network or distributed computing environment. Distributed computing environments include computing objects 10a, 10b, and the like, and computing objects or devices 110a, 110b, 110c, and the like. These objects can include programs, methods, data storage, programmable logic, and the like. The objects may include some of the same or different devices, such as a PDA, television, MP3 player, personal computer, and the like. Each object may communicate with other objects by the communication network 14. The network may include other computing objects and computing devices that provide services to the system of FIG. 2. In accordance with aspects of the present invention, each object 10 or 110 may include an application that may request the authentication technique of the present invention for trusted graphics pipeline (s).

또한, 오브젝트(110c)는 다른 컴퓨팅 장치(10 또는 110) 상에 호스팅될 수 있다는 것을 이해할 수 있다. 그러므로, 묘사된 물리적인 환경이 컴퓨터와 같은 접속된 장치를 도시할 수 있지만, 이러한 도시는 예시적일 뿐이며, 물리적 환경은 대안적으로 PDA, TV, MP3 플레이어 등과 같은 다양한 디지탈 장치, 인터페이스, COM 오브젝트 등과 같은 소프트웨어 오브젝트를 포함하는 것으로 묘사되거나 설명될 수 있다.It will also be appreciated that object 110c may be hosted on other computing device 10 or 110. Thus, although the depicted physical environment may depict a connected device, such as a computer, such illustration is illustrative only, and the physical environment may alternatively be various digital devices such as PDAs, TVs, MP3 players, etc. It may be depicted or described as including the same software object.

분산 네트워크 환경을 지원하는 여러가지 시스템, 구성요소 및 네트워크 구성이 있다. 예를 들어, 컴퓨팅 시스템은 유선 또는 무선 시스템에 의해, 로컬 네트워크 또는 널리 분산된 네트워크에 의해 함께 접속될 수 있다. 현재, 다수의 네트워크들은 널리 분산된 컴퓨팅을 위한 기반구조를 제공하고 다수의 상이한 네트워크를 망라하는 인터넷에 연결된다.There are several systems, components, and network configurations that support distributed network environments. For example, computing systems may be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks provide an infrastructure for widely distributed computing and are connected to the Internet covering many different networks.

홈 네트워킹 환경에는, 전원선, 데이타(무선 및 유선), 음성(예를 들어, 전화) 및 엔터테인먼트 매체와 같은 고유의 프로토콜을 각각 지원할 수 있는 적어도 4개의 별도의 네트워크 전송 매체가 있다. 조명 스위치 및 전기기구와 같은 대부분의 홈 제어 장치는 접속을 위해 전원선을 사용할 수 있다. 데이타 서비스는 홈에 광대역(예를 들어, DSL 또는 케이블 모뎀)으로서 들어갈 수 있으며, 무선(예를 들어, HomeRF 또는 802.11b) 또는 유선(예를 들어, Home PNA, Cat5, 심지어 전원선) 접속을 사용하여 홈 내에 액세스할 수 있다. 음성 트래픽은 홈에 유선(예를들어, Cat3) 또는 무선(예를 들어, 셀 폰)으로 들어갈 수 있으며, Cat3 유선을 사용하여 홈 내에 분산될 수 있다. 엔터테인먼트 매체는 위성 또는 케이블을 통해 홈에 들어갈 수 있으며, 전형적으로 동축 케이블을 사용하여 홈 내에 분산된다. IEEE 1394 및 DVI는 또한 매체 장치의 클러스터용 디지탈 상호접속으로서 대두되고 있다. 이러한 모든 네트워크 환경들, 및 프로토콜 표준으로서 대두될 수 있는 기타의 것들은 인터넷에 의해 외부 세계에 접속될 수 있는 인트라넷을 형성하기 위해 상호접속될 수 있다. 간략하게 말하면, 여러가지 개별적인 소스들이 데이타의 저장 및 전송을 위해 존재하고, 따라서, 더 나아가, 컴퓨팅 장치는 데이타 프로세싱 파이프라인의 모든 부분에서 콘텐트를 보호하는 방법을 요구할 것이다.In a home networking environment, there are at least four separate network transmission media that can each support unique protocols such as power lines, data (wireless and wired), voice (eg, telephone), and entertainment media. Most home control devices, such as light switches and appliances, can use power lines for connection. Data services can enter your home as a broadband (eg DSL or cable modem) and provide wireless (eg HomeRF or 802.11b) or wired (eg Home PNA, Cat5, or even power line) connections. To access within the home. Voice traffic can enter the home wired (eg, Cat3) or wireless (eg, cell phones) and can be distributed within the home using Cat3 wired. Entertainment media can enter the home via satellite or cable and are typically distributed within the home using coaxial cable. IEEE 1394 and DVI are also emerging as digital interconnects for clusters of media devices. All these network environments, and others that can emerge as protocol standards, can be interconnected to form an intranet that can be connected to the outside world by the Internet. In short, several separate sources exist for the storage and transmission of data, and thus, further, computing devices will require a method of protecting content in all parts of the data processing pipeline.

'인터넷'은 일반적으로, 컴퓨터 네트워킹 분야에 널리 알려진 프로토콜의 TCP/IP 슈트를 이용하는 네트워크 및 게이트웨이의 집합을 칭한다. TCP/IP는 "Transport Control Protocol/Interface Program"의 약어이다. 인터넷은 사용자가 네트워크를 통해 상호작용할 수 있게 하고 정보를 공유할 수 있게 하는 네트워킹 프로토콜을 실행하는 컴퓨터에 의해 상호접속된 지리적으로 분산된 원격 컴퓨터 네트워크의 시스템으로서 설명될 수 있다. 이러한 광범위한 정보 공유 때문에, 인터넷과 같은 원격 네트워크는 개발자들이 기본적으로 제한없이 특별화된 동작 또는 서비스를 실행하기 위한 소프트웨어 어플리케이션을 설계할 수 있는 오픈 시스템으로 상당히 발전되었다.The 'Internet' generally refers to a collection of networks and gateways using TCP / IP suites of protocols well known in the field of computer networking. TCP / IP stands for "Transport Control Protocol / Interface Program." The Internet can be described as a system of geographically dispersed remote computer networks interconnected by computers running networking protocols that allow users to interact over the network and share information. Because of this extensive sharing of information, remote networks, such as the Internet, have evolved significantly into open systems that allow developers to design software applications to execute specialized operations or services without any restrictions.

그러므로, 네트워크 기반구조는 클라이언트/서버, 피어-투-피어(peer-to-peer), 또는 하이브리드 아키텍처와 같은 네트워크 토폴로지의 호스트를 가능하게한다. "클라이언트"는, 관련되지 않은 다른 클래스 또는 그룹의 서비스를 사용하는 클래스 또는 그룹의 멤버이다. 그러므로, 컴퓨팅에서, 한 클라이언트는 한 프로세스이고, 즉 대체로 다른 프로그램에 의해 제공된 서비스를 요청하는 한 세트의 명령어 또는 태스크이다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자체에 관한 소정의 작업 상세를 "알(know)" 필요없이 요청된 서비스를 사용한다. 클라이언트/서버 아키텍처, 특히 네트워크 시스템에서, 클라이언트는 보통 다른 컴퓨터, 예를 들어 서버에 의해 제공된 공유된 네트워크 자원을 액세스하는 컴퓨터이다. 도 2의 예에서, 컴퓨터(110a, 110b 등)는 클라이언트로 생각될 수 있고, 컴퓨터(10a, 10b 등)는 서버로 생각될 수 있으며, 서버(10a, 10b 등)는 다음에 클라이언트 컴퓨터(110a, 110b 등)에 복제되는 데이타를 유지한다.Therefore, the network infrastructure allows for the hosting of network topologies such as client / server, peer-to-peer, or hybrid architectures. A "client" is a member of a class or group that uses a service of another class or group that is not relevant. Therefore, in computing, one client is one process, that is, generally a set of instructions or tasks that request a service provided by another program. The client process uses the requested service without having to "know" certain task details about another program or the service itself. In a client / server architecture, particularly network systems, a client is usually a computer that accesses shared network resources provided by other computers, for example servers. In the example of FIG. 2, the computer 110a, 110b, etc. may be considered a client, the computer 10a, 10b, etc. may be considered a server, and the server 10a, 10b, etc. may then be considered a client computer 110a. , 110b, etc.).

서버는 전형적으로 인터넷과 같은 원격 네트워크를 통해 액세스가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제1 컴퓨터 시스템 내에서 동작될 수 있고, 서버 프로세스는 제2 컴퓨터 시스템 내에서 동작될 수 있으며, 통신 매체를 통해 서로 통신함으로써, 분산된 기능을 제공하고, 다수의 클라이언트가 서버의 정보-수집 능력을 이용할 수 있게 한다.Servers are typically remote computer systems accessible through a remote network such as the Internet. The client process may be operated within the first computer system, the server process may be operated within the second computer system, and may communicate with each other via a communication medium to provide distributed functionality, and multiple clients may provide information about the server. -Make the collection ability available.

클라이언트 및 서버는 프로토콜 층에 의해 제공된 기능을 사용하여 서로 통신한다. 예를 들어, HTTP(Hypertext-Transfer Protocol)는 WWW(World Wide Web)과 함께 사용되는 공통 프로토콜이다. 전형적으로, URL(Universal Resource Locator) 또는 IP(Internet Protocol) 어드레스와 같은 컴퓨터 네트워크 어드레스는 서버 또는 클라이언트 컴퓨터를 서로 식별하기 위해 사용된다. 네트워크 어드레스는 URL어드레스로 언급될 수 있다. 예를 들어, 통신은 통신 매체를 통해 제공될 수 있다. 특히, 클라이언트 및 서버는 고용량 통신을 위한 TCP/IP 접속을 통해 서로 연결될 수 있다.The client and server communicate with each other using the functionality provided by the protocol layer. For example, Hypertext-Transfer Protocol (HTTP) is a common protocol used with the World Wide Web (WWW). Typically, computer network addresses, such as Universal Resource Locator (URL) or Internet Protocol (IP) addresses, are used to identify servers or client computers from each other. The network address may be referred to as a URL address. For example, communication may be provided via a communication medium. In particular, the client and server may be connected to each other via a TCP / IP connection for high capacity communication.

그러므로, 도 2는 본 발명이 사용될 수 있는, 네트워크/버스를 통해 클라이언트 컴퓨터와 통신하는 서버를 갖는 예시적인 네트워크 또는 분산된 환경을 도시한 것이다. 더욱 상세하게, 다수의 서버(10a, 10b 등)는 본 발명에 따라, LAN, WAN, 인트라넷, 인터넷 등이 될 수 있는 통신 네트워크/버스(14)를 통해, 포터블 컴퓨터, 핸드헬드 컴퓨터, 씬 클라이언트, 네트워크화된 전기기구, 또는 VCR, TV, 오븐, 조명, 히터 등과 같은 그밖의 장치들과 같은 다수의 클라이언트 또는 원격 컴퓨팅 장치(110a, 110b, 110c, 110d, 110e 등)와 상호접속된다. 그러므로, 본 발명은 신뢰된 소스로부터 안전한 콘텐트를 바람직하게 처리, 저장 또는 렌더하는 것이 바람직한 것과 관련된 임의의 컴퓨팅 장치에 적용할 수 있다.Therefore, FIG. 2 illustrates an exemplary network or distributed environment with servers in communication with client computers over a network / bus in which the present invention may be used. More specifically, multiple servers (10a, 10b, etc.) are portable computers, handheld computers, thin clients, via a communication network / bus 14, which may be a LAN, WAN, intranet, Internet, etc., in accordance with the present invention. , Interconnected with a number of client or remote computing devices 110a, 110b, 110c, 110d, 110e, etc., such as networked electrical appliances, or other devices such as VCRs, TVs, ovens, lights, heaters, and the like. Therefore, the present invention can be applied to any computing device associated with desirably processing, storing or rendering secure content from a trusted source.

통신 네트워크/버스(14)가 인터넷인 네트워크 환경에서, 예를 들어, 서버(10)는 HTTP와 같은 다수의 공지된 프로토콜 중의 어느 것을 통해 클라이언트(110a, 110b, 110c, 110d, 110e 등)가 통신하는 웹 서버일 수 있다. 서버(10)는 또한 분산 컴퓨팅 환경의 특성일 수 있는 바와 같이 클라이언트(110)로서도 작용할 수 있다. 통신은 적절하게 유선 또는 무선으로 될 수 있다. 클라이언트 장치(110)는 통신 네트워크/버스(14)를 통해 통신하거나 통신하지 않을 수 있고, 이와 연관된 독립된 통신을 할 수도 있다. 예를 들어, TV 또는 VCR인 경우에는, 그것의 제어에 대해 네트워크된 양상일 수도 있고 아닐 수도 있다. 각 클라이언트 컴퓨터(110) 및 서버 컴퓨터(10)에는 다양한 어플리케이션 프로그램 모듈 또는 오브젝트(135)가 구비될 수 있고, 파일이 저장될 수 있거나 또는 파일의 일부분(들)이 다운로드되거나 이동될 수 있는 여러가지 종류의 저장 소자 또는 오브젝트에의 접속 또는 액세스가 이루어질 수 있다. 그러므로, 본 발명은 컴퓨터 네트워크/버스(14)와 액세스 및 상호작용할 수 있는 클라이언트 컴퓨터(110a, 110b 등), 클라이언트 컴퓨터(110a, 110b 등)와 상호작용할 수 있는 서버 컴퓨터(10a, 10b 등), 및 그밖의 장치(111) 및 데이타베이스(20)를 갖고 있는 컴퓨터 네트워크 환경에서 활용될 수 있다.In a network environment where the communication network / bus 14 is the Internet, for example, server 10 may communicate with clients 110a, 110b, 110c, 110d, 110e, etc. via any of a number of known protocols such as HTTP. It can be a web server. Server 10 may also act as client 110, as may be characteristic of a distributed computing environment. The communication can be wired or wireless as appropriate. The client device 110 may or may not communicate over the communication network / bus 14, or may have independent communication associated with it. For example, in the case of a TV or VCR, it may or may not be a networked aspect to its control. Each client computer 110 and server computer 10 may be equipped with a variety of application program modules or objects 135, and various types of files may be stored or portion (s) of the files may be downloaded or moved. The connection or access to the storage element or object of the can be made. Thus, the present invention is directed to a client computer (110a, 110b, etc.) capable of accessing and interacting with a computer network / bus 14, a server computer (10a, 10b, etc.) capable of interacting with a client computer (110a, 110b, etc.), And other device 111 and database 20 may be utilized in a computer network environment.

디지탈 권한 관리(DRM) 개요Digital Rights Management (DRM) Overview

이제 도 11을 참조하면, 공지된 바와 같이, 디지탈 권한 관리(DRM) 및 시행은 디지탈 오디오, 디지탈 비디오, 디지탈 텍스트, 디지탈 데이타, 디지탈 멀티미디어 등과 같은 디지탈 콘텐트(12)와 관련하여 매우 바람직한 것으로, 이러한 디지탈 콘텐트(12)는 사용자에게 배포될 수 있다. 사용자에 의해 수신되고 있는 중에, 이러한 사용자는 퍼스널 컴퓨터(14) 상의 미디어 플레이어 등과 같은 적절한 렌더링 장치의 도움으로 디지탈 콘텐트를 렌더하거나 '플레이'한다.Referring now to FIG. 11, as is known, digital rights management (DRM) and enforcement are highly desirable with respect to digital content 12, such as digital audio, digital video, digital text, digital data, digital multimedia, and the like. Digital content 12 may be distributed to users. While being received by the user, this user renders or 'plays' the digital content with the help of a suitable rendering device, such as a media player on the personal computer 14.

전형적으로, 이러한 디지탈 컨텐를 배포하는 콘텐트 소유자 또는 개발자(이후 '소유자')는 사용자가 이러한 디지탈 콘텐트(12)를 가지고 할 수 있는 것을 제한하고자 한다. 예를 들어, 콘텐트 소유자는 사용자가 제2 사용자에게 이러한 콘텐트(12)를 복사 및 재배포하는 것을 제한하고자 하거나, 또는 배포된 디지탈 콘텐트(12)가 제한된 횟수만, 소정의 총 시간동안만, 소정 종류의 기계 상에서만, 소정종류의 미디어 플레이어 상에서만, 소정 종류의 사용자 등에 의해서만 플레이될 수 있게 하고자 할 수 있다.Typically, a content owner or developer (hereinafter 'owner') who distributes such digital content wants to limit what a user can do with such digital content 12. For example, a content owner may wish to restrict a user from copying and redistributing such content 12 to a second user, or for a certain total amount of time, only a certain number of times the distributed digital content 12 is limited, It may be possible to play only on a machine of a certain type, and only on a certain kind of media player, by a certain kind of user or the like.

그러나, 배포가 발생된 후, 이러한 콘텐트 소유자는 디지탈 콘텐트에 관한 제어를 거의 하지 않는다. 그 다음, DRM 시스템(10)은 디지탈 콘텐트(12)의 임의의 형태의 제어된 렌더링 또는 플레잉을 허용하고, 이러한 제어는 그 디지탈 콘텐트의 콘텐트 소유자에 의해 융통성이 있으며 규정가능하다. 전형적으로, 콘텐트(12)는 임의의 적절한 배포 채널에 의해 패키지(13)의 형태로 사용자에게 배포된다. 배포된 디지탈 콘텐트 패키지(13)는 콘텐트, 이러한 콘텐트의 라이센스를 획득하는 방법 등을 식별하는 다른 정보뿐만 아니라, 대칭 암호화/복호화 키(KD)(즉, (KD(CONTENT))로 암호화된 디지탈 콘텐트(12)를 포함할 수 있다.However, after distribution has occurred, such content owners have little control over the digital content. The DRM system 10 then allows for controlled rendering or playing of any type of digital content 12, which control is flexible and definable by the content owner of the digital content. Typically, content 12 is distributed to the user in the form of package 13 by any suitable distribution channel. The distributed digital content package 13 is digital content encrypted with a symmetric encryption / decryption key (KD) (ie, (KD (CONTENT))), as well as other information identifying the content, how to license such content, and the like. And (12).

신뢰-기반의 DRM 시스템(10)은 디지탈 콘텐트(12)의 소유자가 이러한 디지탈 콘텐트(12)가 사용자의 컴퓨팅 장치(14) 상에 렌더되도록 허용되기 전에 충족되어야 하는 라이센스 규칙을 지정할 수 있게 한다. 이러한 라이센스 규칙은 상술된 일시적 요구사항을 포함할 수 있고, 사용자/사용자의 컴퓨팅 장치(14)(이후, 이러한 용어는 상황이 다른 것을 필요로 하지 않는한 교체가능함)가 콘텐트 소유자 또는 대리인으로부터 얻어야 하는 디지탈 라이센스 또는 사용 문서(이후, '라이센스') 내에 구체화될 수 있다. 이러한 라이센스(16)는 또한 사용자의 컴퓨팅 장치에 의해 해독가능한 키에 따라서 가능하다면 암호화된 디지탈 콘텐트를 해독하기 위한 암호해독 키(KD)를 포함한다.The trust-based DRM system 10 allows the owner of the digital content 12 to specify license rules that must be met before such digital content 12 is allowed to be rendered on the user's computing device 14. Such licensing rules may include the temporary requirements described above, which the user / user's computing device 14 (hereafter these terms are replaceable unless the situation requires otherwise) must be obtained from the content owner or agent. It may be embodied in a digital license or use document (hereinafter referred to as "license"). This license 16 also includes a decryption key KD for decrypting the encrypted digital content, if possible, in accordance with the key decipherable by the user's computing device.

디지탈 콘텐트(12)에 대한 콘텐트 소유자는, 사용자의 컴퓨팅 장치(14)가 라이센스(16)의에 이러한 콘텐트 소유자에 의해 지정된 규칙 및 요구사항을 지킬 것이라는 것을, 즉 라이센스(16) 내의 규칙 및 요구사항이 만족되지 않으면 디지탈 콘텐트(12)가 렌더되지 않을 것이라는 것을 신뢰해야 한다. 그 다음, 양호하게, 사용자의 컴퓨팅 장치(14)는 디지탈 콘텐트(12)와 연관되고 사용자에 의해 얻어진 라이센스(16)에 구현된 라이센스 규칙에 따르는 것을 제외하고는 디지탈 콘텐트(12)를 렌더할 수 없는 신뢰된 구성요소 또는 메카니즘(18)이 구비된다.The content owner for the digital content 12 indicates that the user's computing device 14 will comply with the rules and requirements specified by this content owner in the license 16, ie the rules and requirements in the license 16. If this is not satisfied, it must be trusted that digital content 12 will not be rendered. Then, preferably, the user's computing device 14 may render the digital content 12 except for following the license rules associated with the digital content 12 and implemented in the license 16 obtained by the user. A trusted component or mechanism 18 is provided that is not present.

신뢰된 구성요소(18)는 전형적으로, 라이센스(16)가 유효한 지를 판정하고, 이러한 유효 라이센스(16) 내의 라이센스 규칙 및 요구사항을 리뷰하며, 리뷰된 라이센스 규칙 및 요구사항에 기초하여 요청 사용자가 그 중에서도 특히 탐색된 방식으로 요청 디지탈 콘텐트(12)를 렌더할 권리를 가지는지를 판정하는 라이센스 평가기(20)를 갖는다. 이해될 수 있는 바와 같이, 라이센스 평가기(20)는 라이센스(16)의 규칙 및 요구사항에 따라 디지탈 콘텐트(12) 소유자의 희망사항을 실행하기 위해 DRM 시스템(10) 내에서 신뢰되며, 사용자는 임의의 목적, 음모 또는 그 반대에 대해 이러한 신뢰 구성요소를 용이하게 변경할 수 없어야만 한다.The trusted component 18 typically determines whether the license 16 is valid, reviews the license rules and requirements within this valid license 16, and requests the user to request based on the reviewed license rules and requirements. Among others, it has a license evaluator 20 that determines whether it has the right to render the requested digital content 12 in a searched manner. As can be appreciated, the license evaluator 20 is trusted within the DRM system 10 to implement the wishes of the owner of the digital content 12 in accordance with the rules and requirements of the license 16, and the user It should not be possible to easily change this trust component for any purpose, conspiracy or vice versa.

이해될 수 있는 바와 같이, 라이센스(16) 내의 규칙 및 요구사항은 사용자가 누구인지, 사용자가 어디에 위치되는지, 사용자가 어떤 종류의 컴퓨팅 장치를 사용하는지, 어떤 렌더링 어플리케이션이 DRM 시스템을 호출하고 있는지, 날짜, 시간 등을 포함하는, 소정의 몇가지 요인에 기초하여 사용자가 디지탈 콘텐트(12)를 렌더할 권리를 가졌는지의 여부를 지정할 수 있다. 또한, 라이센스(16)의 규칙 및 요구사항은 라이센스(16)를, 예를 들어 소정 수의 플레이, 또는 소정 플레이 시간으로 제한할 수 있다.As can be appreciated, the rules and requirements in the license 16 include who the user is, where the user is located, what kind of computing device the user is using, what rendering application is calling the DRM system, It may be specified whether the user has the right to render the digital content 12 based on some predetermined factors, including date, time, and the like. In addition, the rules and requirements of license 16 may limit license 16 to, for example, a predetermined number of plays or a predetermined play time.

규칙 및 요구사항은 임의의 적절한 언어 및 신택스(syntax)에 따라 라이센스(16)에 지정될 수 있다. 예를 들어, 언어는 만족되어야 하는 속성 및 값을 단순히 지정하거나(예를 들어, DATE는 X보다 더 늦어야 된다), 또는 지정된 스크립트(예를 들어, IF DATE greater than X, THEN DO...,)에 따른 기능의 성능을 요구할 수 있다.Rules and requirements may be specified in license 16 in accordance with any suitable language and syntax. For example, the language simply specifies the attributes and values that must be satisfied (for example, DATE must be later than X), or the specified script (for example, IF DATE greater than X, THEN DO ... It may require performance of the function according to,).

라이센스(16)가 유효하고, 사용자가 그 안의 규칙 및 요구사항을 만족시키는지를 라이센스 평가기(20)가 판정하면, 디지탈 콘텐트(12)는 렌더될 수 있다. 특히, 콘텐트(12)를 렌더하기 위해, 암호해독 키(KD)는 라이센스(12)로부터 얻어지고, 콘텐트 패키지(13)로부터 (KD(CONTENT))에 인가되어 실제 콘텐트(12)를 생성하고, 그 다음 실제 콘텐트(12)는 실제로 렌더된다.If the license evaluator 20 determines that the license 16 is valid and the user satisfies the rules and requirements therein, the digital content 12 may be rendered. In particular, in order to render the content 12, the decryption key KD is obtained from the license 12 and is applied to the (KD (CONTENT)) from the content package 13 to generate the actual content 12, The actual content 12 is then actually rendered.

디지탈 콘텐트 출판Digital Content Publishing

도 3은 디지탈 콘텐트를 출판하기 위한 본 발명에 따른 시스템 및 방법의 일 실시예의 기능 블록도이다. 여기에서 사용되는 "출판(publishing)"이란 용어는 권한 및 조건의 세트가 누구에게 발행될 수 있을지 뿐만 아니라, 신뢰된 엔티티로 이 엔티티가 그 콘텐트에 대해 발행할 수 있는 권한 및 조건의 세트를 설정하도록 어플리케이션 또는 서비스가 뒤따르는 프로세스를 칭하는 것이다. 본 발명에 따르면, 출판 프로세스는 디지탈 콘텐트를 암호화하는 단계, 및 콘텐트의 작성자가 콘텐트의 가능한 모든 사용자용으로 준비한 계속적인 시행가능 권한의 리스트를 연관시키는 단계를 포함한다. 이 프로세스는 콘텐트의 작성자에 의해 의도되지 않으면임의의 권한으로의 액세스 또는 콘텐트로의 액세스를 금지하는 안전한 방식으로 실행될 수 있다.3 is a functional block diagram of one embodiment of a system and method in accordance with the present invention for publishing digital content. The term "publishing" as used herein refers to who can be issued a set of rights and conditions, as well as a set of rights and conditions that this entity can publish for its content as a trusted entity. Refers to the process followed by an application or service. According to the present invention, the publishing process includes encrypting digital content and associating a list of continuous enforceable rights prepared by the creator of the content for all possible users of the content. This process can be executed in a secure manner that prohibits access to any rights or access to content unless intended by the author of the content.

본 발명의 일 실시예에서, 특히 3개의 엔티티들이 안전한 디지탈 콘텐트를 출판하기 위해 사용될 수 있다: 즉, 클라이언트(300) 상에서 실행하고 출판하기 위한 콘텐트를 준비하는 콘텐트 준비 어플리케이션(302), 또한 클라이언트 장치(300)에 상주하는 디지탈 권한 관리(DRM) 어플리케이션 프로그램 인터페이스(API)(306), 통신 네트워크(330)를 통해 클라이언트(300)에 통신 결합되는 DRM 서버(320). 본 발명의 일 실시예에서, 통신 네트워크(330)가, 예를 들어 독점적인 인트라넷과 같은 임의의 근거리 통신망 또는 광역 통신망일 수 있다는 것을 이해할 수 있긴 하지만, 통신 네트워크(330)는 인터넷을 포함한다.In one embodiment of the invention, in particular three entities may be used for publishing secure digital content: a content preparation application 302 which also prepares content for execution and publishing on the client 300, and also the client device. A digital rights management (DRM) application program interface (API) 306 residing at 300, a DRM server 320 communicatively coupled to the client 300 via a communications network 330. In one embodiment of the invention, it can be appreciated that the communication network 330 may be any local area network or wide area network, such as a proprietary intranet, for example, but the communication network 330 includes the Internet.

콘텐트 준비 어플리케이션(302)은 디지탈 콘텐트를 생성하는 임의의 어플리케이션일 수 있다. 예를 들어, 어플리케이션(302)은 디지탈 텍스트 파일, 디지탈 뮤직, 비디오 또는 기타의 콘텐트를 생성하는 다른 출판자 또는 워드 프로세서일 수 있다. 콘텐트는 또한 예를 들어, 라이브 또는 테이프식 이벤트의 스트림된 오디오/비디오와 같은 스트림된 콘텐트를 포함할 수 있다. 본 발명에 따르면, 콘텐트 준비 어플리케이션은 그것의 사용자에게 그 사용자가 제공하는 키를 사용하여 콘텐트를 암호화하게 한다. 어플리케이션(302)은 디지탈 콘텐트를 암호화하는 키를 사용하므로, 암호화된 디지탈 콘텐트 파일(304)을 형성한다. 클라이언트 어플리케이션은 또한 사용자에게 디지탈 콘텐트 파일(304)용 권한 데이타를 제공하게 한다. 권한 데이타는 디지탈 콘텐트의 권한을 갖는 각각의 엔티티에 대한 각각의아이덴티티(identity)를 포함한다.The content preparation application 302 can be any application that generates digital content. For example, the application 302 may be another publisher or word processor that generates digital text files, digital music, video or other content. The content may also include streamed content such as, for example, streamed audio / video of a live or taped event. According to the present invention, a content preparation application allows its user to encrypt content using a key provided by that user. Application 302 uses a key to encrypt digital content, thus forming encrypted digital content file 304. The client application also allows the user to provide authorization data for the digital content file 304. The authorization data includes a respective identity for each entity having the authority of the digital content.

이러한 엔티티는 예를 들어, 개인, 한 클래스의 개인들, 또는 장치일 수 있다. 각각의 이러한 엔티티마다, 권한 데이타는 또한 그 엔티티가 콘텐트 내에 갖고 있는 권한의 리스트, 및 임의의 또는 이들 모든 권한에 부과될 수 있는 임의의 조건을 포함한다. 이러한 권한은 디지탈 콘텐트를 판독, 편집, 카피, 프린트 등을 할 권리를 포함할 수 있다. 부수적으로, 권한은 포함적 또는 배타적일 수 있다. 포함적 권한은 특정 사용자가 콘텐트의 특정 권한을 갖는다는 것을 나타낸다(예를 들어, 사용자는 디지탈 콘텐트를 편집할 수 있다). 배타적 권한은 특정 사용자가 지정된 것을 제외하고 콘텐트 내의 모든 권한을 갖는다는 것을 나타낸다(예를 들어, 사용자는 디지탈 콘텐트로, 그것을 카피하는 것을 제외한 모든 것을 행할 수 있다).Such an entity may be, for example, a person, a class of individuals, or a device. For each such entity, the authorization data also includes a list of privileges that entity has in the content, and any condition that may be imposed on any or all of these privileges. Such rights may include the right to read, edit, copy, print, etc. digital content. Incidentally, authority may be inclusive or exclusive. Inclusion rights indicate that a particular user has certain rights in the content (eg, the user can edit the digital content). Exclusive rights indicate that a particular user has all rights in the content except those specified (eg, a user can do everything except copy it to digital content).

본 발명의 일 실시예에 따르면, 클라이언트 API(306)는 암호화된 디지탈 콘텐트 및 권한 데이타를 DRM 서버(320)에 보낼 수 있다. 후술되는 프로세스를 사용하여, DRM 서버(320)는 사용자가 부여받은 권한을 시행할 수 있는 지를 판정하고, 그렇다면, DRM 서버(320)는 서명된 권한 레이블(SRL)(308)을 형성하기 위해 권한 데이타에 서명한다. 그러나, 일반적으로, 임의의 신뢰된 엔티티는 양호하게 DRM 서버(320)에 의해 신뢰된 키를 사용하여 권한 데이타에 서명할 수 있다. 예를 들어, 클라이언트는 DRM 서버(320)에 의해 클라이언트에게 제공된 키를 사용하여 권한 데이타에 서명할 수 있다.According to one embodiment of the invention, the client API 306 may send the encrypted digital content and authorization data to the DRM server 320. Using the process described below, the DRM server 320 determines whether the user can enforce the rights granted to it, and if so, the DRM server 320 authorizes to form a signed rights label (SRL) 308. Sign the data. In general, however, any trusted entity may preferably sign authorization data using a key trusted by the DRM server 320. For example, the client can sign the authorization data using the key provided to the client by the DRM server 320.

권한 레이블(308)은 권한 설명, 암호화된 콘텐트 키, 및 권한 설명과 암호화된 콘텐트 키를 통한 디지탈 서명을 나타내는 데이타를 포함할 수 있다. DRM 서버가 권한 레이블에 서명하고 있으면, DRM 서버는 서명된 권한 레이블(308)을 클라이언트 장치(300) 상에 저장하는 클라이언트 API(306)를 통해 서명된 권한 레이블(308)을 클라이언트에게 다시 보낸다. 그 다음, 콘텐트 준비 어플리케이션(302)은 서명된 권한 레이블(308)을 암호화된 디지탈 콘텐트 파일(304)과 연관시킨다. 예를 들어, SRL(308)은 암호화된 디지탈 콘텐트와 연결되어 권한 관리된 콘텐트 파일(310)을 형성할 수 있다.The entitlement label 308 can include an entitlement description, an encrypted content key, and data indicative of the entitlement description and the digital signature via the encrypted content key. If the DRM server is signing an authorization label, the DRM server sends the signed authorization label 308 back to the client via the client API 306 which stores the signed authorization label 308 on the client device 300. The content preparation application 302 then associates the signed rights label 308 with the encrypted digital content file 304. For example, SRL 308 may be associated with encrypted digital content to form rights managed content file 310.

그러나, 일반적으로, 권한 데이타는 디지탈 콘텐트와 결합될 필요는 없다. 예를 들어, 권한 데이타는 알려진 위치에 저장될 수 있고, 저장된 권한 데이타에 대한 레퍼런스(reference)는 암호화된 디지탈 콘텐트와 결합될 수 있다. 레퍼런스는 권한 데이타가 저장되는 곳(예를 들어, 권한 데이타를 포함하는 데이타 저장소)을 나타내는 식별자, 및 그 특정 저장 위치에서의 그 특정 권한 데이타에 대응하는(예를 들어, 관심있는 특정 권한 데이타를 포함하는 파일을 식별하는) 식별자를 포함한다. 그 다음, 권한 관리 콘텐트(310)는 임의의 장소의 임의의 사람에게 전달될 수 있고, 콘텐트를 소비할 권한을 갖는 그 엔티티들만이 이들이 할당받은 권한에 따라서만 콘텐트를 소비할 수 있다.In general, however, authorization data need not be combined with digital content. For example, the authorization data can be stored in a known location, and a reference to the stored authorization data can be combined with encrypted digital content. A reference identifies an identifier that indicates where authorization data is stored (eg, a data store containing authorization data), and corresponds to that particular authorization data at that particular storage location (eg, specific authorization data of interest). An identifier identifying the containing file). The rights management content 310 can then be delivered to anyone in any place, and only those entities with the right to consume the content can consume the content only in accordance with the rights they have been assigned.

도 4는 권한 관리 디지탈 콘텐트를 출판하기 위한 본 발명에 따른 예시적인 방법(400)의 플로우차트로서, 권한 레이블은 DRM 서버에 의해 서명된다. 그러나, 이 실시예는 단지 예시적일 뿐이며, 권한 레이블은 일반적으로 임의의 신뢰된 엔티티에 의해 서명될 수 있다는 것을 이해할 수 있을 것이다. 일반적으로, 디지탈 콘텐트를 출판하기 위한 본 발명에 따른 방법은, 콘텐트 키(CK)를 사용하여 디지탈 콘텐트를 암호화하는 단계, 디지탈 콘텐트와 연관된 권한 설명을 생성하는 단계, (PU-DRM(CK))를 생기게 하기 위해 DRM 서버(PU-DRM)용 공개 키에 따라 콘텐트 키(CK)를 암호화하는 단계, 및 권한 설명과 (PU-DRM(CK))의 결합을 통해 (PU-DRM)에 대응하는 개인 키(private key)에 기초하여 디지탈 서명을 생성하는 단계를 포함한다.4 is a flowchart of an exemplary method 400 in accordance with the present invention for publishing rights management digital content, wherein a rights label is signed by a DRM server. However, it will be appreciated that this embodiment is merely exemplary and that an authorization label may generally be signed by any trusted entity. In general, the method according to the invention for publishing digital content comprises the steps of: encrypting the digital content using a content key (CK), generating a rights description associated with the digital content, (PU-DRM (CK)) Encrypting the content key (CK) according to the public key for the DRM server (PU-DRM) in order to produce a digital signature, and corresponding to the (PU-DRM) through a combination of an authorization description and (PU-DRM (CK)) Generating a digital signature based on the private key.

단계 402에서, 어플리케이션(302)은 디지탈 콘텐트를 암호화하는데 사용되는 콘텐트 키(CK)를 생성한다. 일반적으로, 디지탈 콘텐트를 암호화하기 위해 임의의 키가 사용될 수 있음에도 불구하고, 양호하게는 콘텐트 키(CK)는 대칭 키이다. 때로 "비밀 키(secret key)" 알고리즘으로 언급되는 대칭 키 알고리즘은 동일한 키를 사용하여 이들이 메시지를 암호화하기 위해 행하는 것처럼 메시지를 암호해독한다. 그러한 이유로, (CK)가 비밀로 유지되는 것이 바람직하다. 송신자와 수신자 사이에서 (CK)를 공유하는 것은 권한없이 이러한 (CK)를 가로채는 것을 막기 위해 매우 신중하게 행해져야 된다. (CK)가 암호화기와 암호해독기 사이에서 공유되기 때문에, (CK)는 임의의 암호화된 메시지가 전송되기 전에 통신되는 것이 바람직하다.In step 402, application 302 generates a content key CK that is used to encrypt digital content. In general, although any key can be used to encrypt digital content, the content key CK is preferably a symmetric key. Symmetric key algorithms, sometimes referred to as "secret key" algorithms, use the same key to decrypt a message as they do to encrypt the message. For that reason, it is desirable that (CK) be kept secret. Sharing (CK) between the sender and receiver should be done very carefully to avoid intercepting this (CK) without permission. Since (CK) is shared between the encryptor and the decryptor, (CK) is preferably communicated before any encrypted message is sent.

몇가지 대칭 키 생성 알고리즘은 본 기술분야에 잘 알려져 있다. 임의의 대칭 알고리즘이 사용될 수 있다는 것을 이해할 수 있지만, 일 실시예에서는 데이타 암호화 표준(DES)이 채용된다. 이러한 대칭 키 알고리즘의 예는 AES, Triple-DES, IDEA(International Data Encryption Algorithm), Cast, Cast-128, RC4, RC5 및 SkipJack을 포함하는데, 이것에 제한되지는 않는다.Several symmetric key generation algorithms are well known in the art. It can be appreciated that any symmetric algorithm can be used, but in one embodiment a data encryption standard (DES) is employed. Examples of such symmetric key algorithms include, but are not limited to, AES, Triple-DES, International Data Encryption Algorithm (IDEA), Cast, Cast-128, RC4, RC5, and SkipJack.

단계 404에서, 어플리케이션(302)은 표기(CK(content))를 사용하여 기입될 수 있는 암호화된 디지탈 콘텐트(304)를 형성하기 위해 대칭 콘텐트 키(CK)로 디지탈 콘텐트를 암호화한다. 어플리케이션(302)을 사용하는 작성자는 또한 디지탈 콘텐트와 연관된 권한 데이타를 생성할 수 있다. 권한 데이타는 콘텐트를 소비할 권리가 있을 수 있는 엔티티의 리스트, 및 특정 권한에 부과될 수 있는 임의의 조건과 함께, 각 엔티티가 콘텐트와 관련하여 소유하는 특정 권한을 포함한다. 이러한 권한은 예를 들어, 콘텐트의 뷰잉, 콘텐트의 프린팅 등을 포함할 수 있다. 어플리케이션(302)은 권한 데이타를 API(306)에 제공한다. XML/XrML 포맷의 권한 데이타의 한 예는 첨부 1로서 본 명세서에 첨부된다.In step 404, application 302 encrypts the digital content with a symmetric content key (CK) to form encrypted digital content 304 that can be written using a notation (CK). Authors using the application 302 may also generate authorization data associated with the digital content. The entitlement data includes a list of entities that may be entitled to consume the content, and certain entitlements that each entity possesses with respect to the content, along with any conditions that may be imposed on a particular entitlement. Such rights may include, for example, viewing of content, printing of content, and the like. Application 302 provides authorization data to API 306. One example of authorization data in XML / XrML format is attached herein as Attachment 1.

단계 406에서, API(306)는 콘텐트 키(CK)를 암호화하는데 사용되는 제2 암호화 키(DES1)를 생성한다. 양호하게, (DES1)도 대칭 키이다. 단계 408에서, API(306)는 (CK)를 (DES1)로 암호화하여 (DES1(CK))를 생기게 한다. 단계 410에서, API(306)는 (CK)를 버리고, 그 결과 (CK)는 이제 (DES1(CK))를 암호해독함으로써만 얻어질 수 있게 된다. (CK(content))가 중앙 DRM 서버(320)에 대해 보호될 수 있게 하고, 콘텐트에 대한 모든 "라이센스 요청"이 권한 데이타에 따라 중심적으로 행해질 수 있게 하는 것을 보증하기 위해 위해, API(306)는 단계 412에서, 제공된 DRM 서버(320)와 접촉하여 그것의 공개 키(PU-DRM)을 검색한다. 단계 414에서, API(306)는 (DES1)을 (PU-DRM)으로 암호화하여 (PU-DRM(DES1))을 생기게 한다. 그러므로, (CK(content))를 암호해독하기 위해 요구되는 바와 같이, DRM 서버(320)가, (CK)로의 액세스를 행할 수 있는 유일한 엔티티임을 보증하기 위해, (CK)는(PU-DRM)에 대해 보호될 수 있다. 단계 416에서, API(306)는 권한 데이타(즉, 권한부여된 엔티티의 리스트, 및 그 리스트 내의 각각의 권한부여된 엔티트와 연관된 각각의 권한 및 조건)를 (DES1)로 암호화하여 (DES1(rightsdata))를 생기게 한다.In step 406, the API 306 generates a second encryption key DES1 used to encrypt the content key CK. Preferably, (DES1) is also a symmetric key. In step 408, API 306 encrypts (CK) with (DES1) to result in (DES1 (CK)). In step 410, the API 306 discards (CK), with the result that CK can now only be obtained by decrypting (DES1 (CK)). API 306 to ensure that (CK (content)) can be protected for the central DRM server 320 and that all "license requests" for content can be made centrally in accordance with the authorization data. In step 412, it contacts the provided DRM server 320 to retrieve its public key (PU-DRM). In step 414, the API 306 encrypts (DES1) with (PU-DRM), resulting in (PU-DRM (DES1)). Therefore, as required to decrypt (CK (content)), to ensure that the DRM server 320 is the only entity capable of access to (CK), (CK) is (PU-DRM) Can be protected against. In step 416, the API 306 encrypts the authorization data (i.e., the list of authorized entities, and the respective permissions and conditions associated with each authorized entity within that list) with (DES1) and (DES1 ( rightsdata)).

대안적인 실시예에서, (CK)는 권한 데이타를 직접 암호화하는데 사용되어 (CK(rightsdata))를 생기게 할 수 있고, (PU-DRM)은 (CK)를 직접 암호화하는데 사용되어 (PU-DRM(CK))를 생기게 할 수 있으며, 이로 인해 (DES1)의 사용이 완전히 보류된다. 그러나, 권한 데이타 및 (CK)를 암호화하기 위해 (DES1)을 사용하는 것은, 그 (DES1)이 DRM 서버를 따를 수 있는 임의의 특정 알고리즘을 따를 수 있게 하는 반면에, (CK)는 DRM 서버와는 독립된 엔티티에 의해 지정될 수 있고, 거기에 따르지 않을 수도 있다.In alternative embodiments, (CK) may be used to directly encrypt authorization data, resulting in (CK (rightsdata)), and (PU-DRM) may be used to directly encrypt (CK) to (PU-DRM ( CK)), which completely suspends the use of (DES1). However, using (DES1) to encrypt authorization data and (CK) allows that (DES1) to follow any specific algorithm that can follow the DRM server, while (CK) is associated with the DRM server. May be specified by an independent entity and may not follow it.

단계 418에서, 콘텐트 보호 어플리케이션(302)은 서명을 위한 권한 레이블로서 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 DRM 서버(320)에 제출할 수 있다. 대안적으로, 클라이언트 자신이 권한 데이타에 서명할 수 있다. 권한 데이타가 서명을 위해 서버에 제출되고 있으면, 단계 420에서, DRM 서버(320)는 권한 데이타를 액세스하고, 제출된 권한 레이블의 권한 및 조건을 시행할 수 있음을 검증한다. 권한 데이타를 시행할 수 있음을 검증하기 위해, DRM 서버(320)는 (PR-DRM)을 (PU-DRM(DES1))에 적용하여 (DES1)을 생기게 한 다음에, (DES1)을 (DES1(rightsdata))에 적용하여 빈곳에 권한 데이타를 생기게 한다. 그 다음, 서버(320)는 권한 데이타 내에 지정된 사용자, 권한 및 조건이 서버(320)에 의해 시행된 임의의 정책 내에 있는 지를 검증하기 위해 임의의 정책 체크를 할 수 있다. 서버(320)는 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 포함하는 원래 제출된 권한 레이블에 서명하여, 서명된 권한 레이블(SRL)(308)을 생기게 하고(여기에서, 서명은 DRM 서버(320)의 개인키(PR-DRM)에 기초한 것임), SRL(308)을 API(306)로 다시 복귀시키며, 그 다음 복귀된 SRL(308)을 클라이언트 어플리케이션(302)에 제공한다.In step 418, the content protection application 302 may submit (PU-DRM (DES1)) and (DES1 (rightsdata)) to the DRM server 320 as an authorization label for signature. Alternatively, the client itself can sign the authorization data. If the authorization data is being submitted to the server for signature, at step 420, the DRM server 320 verifies that it can access the authorization data and enforce the rights and conditions of the submitted authorization label. To verify that the authorization data can be enforced, the DRM server 320 applies (PR-DRM) to (PU-DRM (DES1)) to generate (DES1), then (DES1) to (DES1). (rightsdata)) to generate rights data in the empty place. Server 320 may then make any policy checks to verify that the users, rights, and conditions specified in the authorization data are within any policy enforced by server 320. The server 320 signs the originally submitted rights label that includes (PU-DRM (DES1)) and (DES1 (rightsdata)), resulting in a signed rights label (SRL) 308 (here: Returns the SRL 308 back to the API 306, and then provides the returned SRL 308 to the client application 302, which is based on the private key (PR-DRM) of the DRM server 320). .

SRL(308)은 변경이 방지된 디지탈 서명된 문서이다. 부수적으로, SRL(308)은 콘텐트를 암호화하는데 사용된 실제 키 형태 및 알고리즘에 관계없지만, 이것이 보호하고 있는 콘텐트에 대해 강한 1-1 관계를 유지한다. 이제 도 4a를 참조하면, 본 발명의 일 실시예에서, SRL(308)은 그중에서도 특히; 아마도 콘텐트의 ID를 포함하는, SRL(308)의 기본인 콘텐트 상의 정보; (PU-DRM(DES1)), 및 DRM 서버를 네트워크 상에 위치시키기 위한 URL과 같은 참고(referral) 정보 및 URL 고장시의 대처 정보를 포함하는, SRL(308)에 서명하는 DRM 서버 상의 정보; SRL(308) 자체를 설명하는 정보; (DES1(rightsdata)):(DES1(CK)); 및 S(PR-DRM)을 포함할 수 있다. XML/XrML의 샘플 SRL(308)은 본 명세서에 첨부 2로서 첨부된다.SRL 308 is a digitally signed document that is protected from modification. Incidentally, the SRL 308 maintains a strong 1-1 relationship to the content it is protecting, regardless of the actual key type and algorithm used to encrypt the content. Referring now to FIG. 4A, in one embodiment of the present invention, SRL 308 is inter alia; Information on the content underlying the SRL 308, possibly including the ID of the content; Information on the DRM server signing the SRL 308, including (PU-DRM (DES1)), and referral information such as URL for placing the DRM server on the network and coping information in case of a URL failure; Information describing the SRL 308 itself; (DES1 (rightsdata)) :( DES1 (CK)); And S (PR-DRM). Sample SRL 308 of XML / XrML is attached herein as Attachment 2.

신뢰된 엔티티가 권한 데이타에 서명하여 서명된 권한 레이블(308)을 생성하는 것을 확실하게 하기 위해, DRM 서버는, 권한 레이블(308)의 권한 데이타에 설명된 바와 같이 발행자에 의해 발표된 기간에 따라 콘텐트에 대한 라이센스를 발행할 것이라는 것을 표명하고 있다. 알 수 있는 바와 같이, 사용자는, 특히 라이센스가 콘텐트 키(CK)를 포함하기 때문에, 콘텐트를 렌더하기 위해서는 라이센스를 취득하록 요구된다. 사용자가 암호화된 콘텐트에 대한 라이센스를 얻고 싶을 때, 그 사용자는 콘텐트용 SRL(308)을 포함하는 라이센스 요청, 및 사용자의 신임장을 검증하는 증명서를 DRM 서버(320) 또는 다른 라이센스 발행 엔티티에게 제시할 수 있다. 그 다음, 라이센스 발행 엔티티는 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 암호해독하여 권한 데이타를 생성하고, 라이센스 요청 엔티티에게 작성자(있다면) 에 의해 승인된 모든 권한을 리스트하며, 이들 지정된 권한만으로 라이센스를 구성할 수 있다.To ensure that the trusted entity signs the authorization data to produce a signed authorization label 308, the DRM server is subject to a period of time announced by the issuer as described in the authorization data of the authorization label 308. It is announcing that it will issue a license for the content. As can be seen, the user is required to obtain a license in order to render the content, especially since the license includes a content key CK. When a user wants to obtain a license for encrypted content, he or she will present a license request that includes an SRL for content (308), and a certificate that verifies the user's credentials to the DRM server 320 or other license issuing entity. Can be. The license issuing entity then decrypts (PU-DRM (DES1)) and (DES1 (rightsdata)) to generate entitlement data, and lists all entitlements granted by the author (if any) to the license requesting entity, You can only configure licenses with these designated rights.

바람직하게는, 어플리케이션(302)이 SRL(308)을 수신시에, 이러한 어플리케이션(302)은 서명된 권한 레이블(308)을 대응하는 (CK(content))(304)와 연결시켜 관리된 디지탈 콘텐트를 형성한다. 대안적으로, 권한 데이타는 암호화된 디지탈 콘텐트가 제공된 알려진 위치에 대한 레퍼런스를 갖고 알려진 위치에 저장될 수 있다. 그러므로, DRM-가능 렌더링 어플리케이션은 렌더링 어플리케이션이 렌더하기 위해 시도하고 있는 콘텐트의 일부를 통해 서명된 권한 레이블(308)을 발견할 수 있다. 이 발견은 DRM 라이센싱 서버(320)에 대한 라이센스 요청을 시작하기 위해 렌더링 어플리케이션을 트리거한다. 예를 들어, 출판 어플리케이션(302)이 DRM 라이센싱 서버(320)에 대한 URL을 저장할 수 있거나, DRM 라이센싱 서버(320)가 디지탈식 서명 이전에 권한 레이블 내로 메타데이타의 일부로서 자신의 URL을 포함할 수 있으므로, 렌더링 어플리케이션에 의해 호출된 DRM 클라이언트 API(306)는 올바른 DRM 라이센싱 서버(320)를 식별할 수 있다. 예를 들어 GUID(globally unique identifier)와 같은 유일한 식별자는 서명되기 전에 권한 레이블 내로 삽입되는 것이 바람직하다.Preferably, when application 302 receives SRL 308, such application 302 associates the signed rights label 308 with a corresponding (CK) content to manage digital content. To form. Alternatively, the authorization data may be stored at a known location with a reference to a known location where encrypted digital content is provided. Therefore, the DRM-enabled rendering application may find the signed authorization label 308 through the portion of the content that the rendering application is attempting to render. This discovery triggers the rendering application to initiate a license request for the DRM licensing server 320. For example, the publishing application 302 may store the URL for the DRM licensing server 320 or the DRM licensing server 320 may include its URL as part of the metadata into the authorization label prior to the digital signature. As such, the DRM client API 306 called by the rendering application may identify the correct DRM licensing server 320. For example, a unique identifier, such as a globally unique identifier (GUID), is preferably inserted into the rights label before it is signed.

본 발명의 일 실시예에서, 단순한 오브젝트 액세스 프로토콜(SOAP)은 콘텐트보호 어플리케이션(302) 또는 렌더링 어플리케이션과 DRM 서버(320) 사이의 통신에 사용될 수 있다. 부가적으로, API(306)와 같은 API 라이브러리는 어플리케이션(302)과 같은 어플리케이션이 DRM 프로토콜의 클라이언트측을 구현하도록 요구되지 않고, 단지 로컬 API 호출을 생성할 수 있도록 제공될 수 있다. 임의의 적절한 포맷이 권한 설명 및 다른 데이타를 위해 사용될 수 있다는 것을 이해할 수 있지만, 디지탈 콘텐트에 대한 권한 설명, 라이센스 및 권한 레이블을 설명하는데 XrML, XML 언어를 사용하는 것이 바람직하다.In one embodiment of the present invention, a simple object access protocol (SOAP) may be used for communication between the content protection application 302 or rendering application and the DRM server 320. In addition, an API library such as API 306 may be provided so that an application such as application 302 is not required to implement the client side of the DRM protocol, but can only make local API calls. While it will be appreciated that any suitable format may be used for the rights description and other data, it is desirable to use the XrML, XML language to describe rights descriptions, licenses and rights labels for digital content.

출판된 콘텐트용 라이센스 획득Obtain a license for published content

도 5는 권한 관리 디지탈 콘텐트를 라이센싱하기 위한 본 발명에 따른 시스템 및 방법의 일 실시예의 기능 블록도이다. "라이센싱(licensinh)"이라는 용어는 여기에서, 라이센스 내에 명명된 엔티티가 라이센스 내에 지정된 조건에 따라 콘텐트를 소비할 수 있게 할 수 있는 라이센스를 요청하여 수신하도록 어플리케이션 또는 서비스가 뒤따르는 프로세스를 칭하는 것이다. 라이센싱 프로세스로의 입력은 라이센스가 요청되고 있는 콘텐트와 연관된 서명된 권한 레이블(SRL), 및 라이센스가 요청되고 있는 엔티티(들)의 공개 키 증명서(들)을 포함할 수 있다. 라이센스를 요청하는 엔티티는 라이센스가 요청되고 있는 엔티티일 필요는 없다는 것을 알기 바란다. 전형적으로, 라이센스는 SRL(308)로부터의 권한 설명, 암호화된 콘텐트를 암호해독할 수 있는 암호화된 키, 및 권한 설명 및 암호화된 키를 통한 디지탈 서명을 포함한다.5 is a functional block diagram of one embodiment of a system and method in accordance with the present invention for licensing rights management digital content. The term "licensinh" refers herein to a process followed by an application or service to request and receive a license that may enable an entity named in a license to consume content in accordance with conditions specified in the license. Input to the licensing process may include a signed rights label (SRL) associated with the content for which a license is being requested, and the public key certificate (s) of the entity (s) for which the license is being requested. Note that the entity requesting a license does not have to be the entity for which the license is being requested. Typically, the license includes an authorization statement from SRL 308, an encrypted key capable of decrypting the encrypted content, and a digital signature via the authorization statement and the encrypted key.

어플리케이션(302)이 권한 관리 콘텐트(310)를 소비하는 한가지 방식은 클라이언트 API(306)가 권한 관리 콘텐트(310)의 서명된 권한 레이블(308)을 통신 네트워크(330)를 통해 DRM 서버(320)로 전송하는 것이다. DRM 서버(320)의 위치는 예를 들어, SRL(308) 내의 참조 정보에서 발견될 수 있다. 이러한 실시예에서, 후술되는 프로세스를 통해 DRM 라이센싱 서버(320)는 권한 레이블 내의 권한 설명을 사용하여 라이센스를 발행할 것인 지를 판정하고, 그렇다고 하면 그 라이센스로 포함하기 위한 권한 설명을 이끌어낼 수 있다.One way in which the application 302 consumes rights management content 310 is that the client API 306 sends the signed rights label 308 of the rights management content 310 via the communication network 330 to the DRM server 320. Will be sent to. The location of the DRM server 320 may be found, for example, in reference information within the SRL 308. In such an embodiment, the process described below allows the DRM licensing server 320 to determine whether to issue a license using the rights description in the rights label, and if so, to derive the rights description for inclusion in the license. .

상술된 바와 같이, 권한 레이블(308)은 DRM 서버(320)(PU-DRM)의 공개 키(즉, PU-DRM(CK))에 따라 암호화된 콘텐트 키(CK)를 포함한다. 라이센스를 발행하는 프로세스에서, DRM 서버(320)는 이 값을 확실하게 암호해독하여 (CK)를 얻는다. 그 다음, 이것은 (CK)(즉, (PU-ENTITY(CK))를 다시 암호화하기 위해 라이센스 요청 시에 간과된 공개키 인증서 내의 공개 키(PU-ENTITY)를 사용한다. 새로 암호화된 (PU-ENTITY(CK))는 서버(320)가 라이센스 내로 배치하는 것이다. 그러므로, 연관된 개인 키(PR-ENTITY)의 소유자만이 (PU-ENTITY(CK))로부터 (CK)를 복구할 수 있기 때문에, 라이센스는 (CK)를 노출시킬 위험없이 호출자에게 복귀될 수 있다. 그 다음, 클라이언트 API(306)는 (CK)를 사용하여 암호화된 콘텐트를 암호해독해서, 해독된 디지탈 콘텐트(312)를 형성한다. 그 다음, 클라이언트 어플리케이션(302)은 라이센스 내에 제공되는 권한에 따라 암호해독된 디지탈 콘텐트(312)를 사용할 수 있다.As described above, the authority label 308 includes a content key CK encrypted according to the public key (ie PU-DRM (CK)) of the DRM server 320 (PU-DRM). In the process of issuing a license, the DRM server 320 reliably decrypts this value to obtain (CK). Then, it uses the public key (PU-ENTITY) in the public key certificate that was overlooked at the license request to re-encrypt (CK) (i.e. (PU-ENTITY (CK)). ENTITY (CK)) is placed in the license by the server 320. Therefore, since only the owner of the associated private key (PR-ENTITY) can recover (CK) from (PU-ENTITY (CK)), The license can be returned to the caller without the risk of exposing the CK The client API 306 then decrypts the encrypted content using the CK to form the decrypted digital content 312. The client application 302 can then use the decrypted digital content 312 according to the rights provided in the license.

대안적으로, 예를 들어, 출판 클라이언트와 같은 클라이언트는 콘텐트를 소비하기 위해 자신의 라이센스를 발행할 수 있다. 이러한 실시예에서, 안전한 프로세스는 적절한 환경 하에서 디지탈 콘텐트를 암호해독하기 위해 필요한 키(들)을 클라이언트에게 제공하는 클라이언트 컴퓨터 상에서 실행될 수 있다.Alternatively, for example, a client, such as a publishing client, can issue its own license to consume the content. In such an embodiment, a secure process may be executed on the client computer providing the client with the key (s) needed to decrypt the digital content under appropriate circumstances.

도 6a 및 도 6b는 권한 관리 디지탈 콘텐트를 라이센싱하기 위한 본 발명에 따른 방법(600)의 일 실시예의 플로우차트를 제공한다. 본 발명에 따르면, 요청 엔티티는 하나 이상의 잠재적 라이센시(licensee)를 대신하여 라이센스 요청을 제출할 수 있다. 요청 엔티티는 잠재적 라이센시 중의 하나이거나 그렇지 않을 수도 있다. 잠재적 라이센시는 사람, 그룹, 장치, 또는 어떤 방식으로든 콘텐트를 소비할 수 있는 소정의 다른 엔티티일 수 있다. 방법(600)이 DRM 서버가 라이센스 요청을 프로세스하는 일 실시예와 관련하여 이제 설명될 것이나, 라이센스 요청 프로세싱은 또한 클라이언트 상에서 실행되고 직접 클라이언트에 의해 라이센스가 발행될 수도 있다는 것을 이해해야 한다.6A and 6B provide a flowchart of one embodiment of a method 600 in accordance with the present invention for licensing rights management digital content. In accordance with the present invention, the requesting entity may submit a license request on behalf of one or more potential licensees. The requesting entity may or may not be one of the potential licensees. A potential license may be a person, group, device, or some other entity that can consume content in any way. Although the method 600 will now be described with respect to one embodiment where the DRM server processes a license request, it should be understood that license request processing may also be executed on the client and issued by the client directly.

단계 602에서, 예를 들어 DRM 서버와 같은 라이센스 발행 엔티티는 라이센스 요청을 수신한다. 바람직하게는, 라이센스 요청은 공개 키 인증서, 또는 하나 이상의 요청된 라이센시 각각의 아이덴티티를 포함한다.In step 602, a license issuing entity, such as, for example, a DRM server, receives a license request. Preferably, the license request includes a public key certificate or an identity of each of one or more requested licensees.

단계 604에서, 요청 엔티티(즉, 라이센스 요청을 생성하는 엔티티)가 인증된다. 본 발명의 일 실시예에 따르면, 라이센스 발행 엔티티는 프로토콜(예를 들어, 시도-응답) 인증을 사용하여 요청 엔티티의 아이덴티티를 판정하도록 구성될 수 있고, 또는 요청 엔티티의 인증을 요구하지 않도록(즉, "익명 인증 허용"이라고도 함) 구성될 수 있다. 인증이 요구되는 경우, 소정 형태의 인증 스킴이 사용될 수 있다(예를 들어, 상술된 시도-응답 스킴, MICROSOFT.NET, PASSPORT, WINDOWS 인증,x509 등과 같은 사용자 아이디 및 패스워드 스킴 등). 양호하게, 통합된 정보 시스템에 의해 지원되는 소정의 프로토콜 인증 스킴을 지원할 뿐만 아니라. 익명 인증이 허용된다. 인증 단계의 결과는 예를 들어 "익명" 아이덴티티(익명 인증시), 또는 개인 어카운트 아이덴티티과 같은 아이덴티티일 수 있다. 라이센스 요청이 어떠한 이유로 인증될 수 없으면, 에러가 복귀되어 라이센스가 허여되지 않는다.In step 604, the requesting entity (ie, the entity generating the license request) is authenticated. According to one embodiment of the invention, the license issuing entity may be configured to determine the identity of the requesting entity using protocol (eg, challenge-response) authentication, or not to require authentication of the requesting entity (ie , Also known as "Allow anonymous authentication". If authentication is required, some form of authentication scheme may be used (e.g., a challenge-response scheme described above, a user ID and password scheme such as MICROSOFT.NET, PASSPORT, WINDOWS authentication, x509, etc.). Preferably, it not only supports certain protocol authentication schemes supported by the integrated information system. Anonymous authentication is allowed. The result of the authentication step may be, for example, an identity such as an "anonymous" identity (when anonymous authentication), or a personal account identity. If the license request cannot be authenticated for any reason, an error is returned and no license is granted.

단계 606에서, 인증된 엔티티는 권한을 부여받는다 - 즉, 단계 608에서 인증된 엔티티가 (스스로 또는 다른 엔티티를 대신하여) 라이센스 요청을 허가받았는지 판정된다. 양호하게, 라이센스 발행 엔티티는 라이센스 요청이 허가된(또는 허가되지 않은) 엔티티의 리스트를 저장한다. 일 실시예에서, 이 아이덴티티 리스트 내의 아이덴티티는 양자가 다 될 수 있지만, 라이센스가 요청되고 있는 엔티티의 아이덴티티가라기 보다는, 요청을 행하는 엔티티의 아이덴티티가다. 예를 들어, 개인 어카운트 아이덴티티는 라이센스 요청을 직접 행하는 것이 금지될 수 있지만, 신뢰된 서버 프로세스는 이러한 엔티티 대신에 라이센스 요청을 행할 수 있다.In step 606, the authenticated entity is authorized-that is, in step 608 it is determined whether the authenticated entity has been granted a license request (on its own or on behalf of another entity). Preferably, the license issuing entity stores a list of entities for which the license request is authorized (or not authorized). In one embodiment, the identity in this identity list may be both, but rather the identity of the entity making the request, rather than the identity of the entity for which the license is being requested. For example, a personal account identity may be prohibited from making a license request directly, but a trusted server process may make a license request on behalf of such an entity.

본 발명에 따르면, 라이센스 요청은 공개 키 인증서 또는 각각의 잠재적 라이센시에 대한 아이덴티티를 포함할 수 있다. 라이센스가 하나의 라이센시에 대해서만 요청되면, 하나의 인증서 또는 아이덴티티만이 명명된다. 라이센시가 다수의 라이센스에 대해 요청되면, 인증서 또는 아이덴티티는 각각의 잠재적 라이센시에 대해 명명될 수 있다.According to the present invention, the license request may include a public key certificate or an identity for each potential licensee. If a license is requested for only one licensee, only one certificate or identity is named. If a license is requested for multiple licenses, a certificate or identity can be named for each potential licensee.

바람직하게, 라이센스 발행 엔티티는 각각의 유효 라이센시에 대한 공개 키 인증서를 가질 수 있다. 그러나, 어플리케이션(302)은 주어진 사용자에게 라이센스를 생성하고 싶지만, 어플리케이션(302)은 그 사용자에 대한 공개 키 인증서로 액세스할 수 없을 수 있다. 이러한 상황에서, 어플리케이션(302)은 라이센스 요청시에 사용자 아이덴티티를 지정할 수 있고, 그 결과 라이센스 발행 엔티티는 디렉토리 서비스 내에서의 조사를 실행하여 적절한 사용자의 공개 키 인증서를 복귀시키는 등록된 인증서 플러그-인 모듈을 호출할 수 있다.Preferably, the license issuing entity may have a public key certificate for each valid licensee. However, while application 302 wants to generate a license for a given user, application 302 may not be able to access the public key certificate for that user. In such a situation, the application 302 can specify a user identity at the time of the license request, so that the license issuing entity can perform a survey in the directory service to return the appropriate user's public key certificate. Module can be called

단계 608에서, 공개 키 인증서가 라이센스 요청에 포함되지 않았다고 발행 엔티티가 판정하면, 발행 엔티티는 특정 아이덴티티를 이용하여 적절한 공개 키 인증서에 대한 디렉토리 서비스 또는 데이타베이스 내에서의 조사를 실행하기 위해 지정된 아이덴티티를 사용한다. 단계 610에서, 발행 엔티티가 인증서가 디렉토리 내에 있다고 판정하면, 단계 612에서 인증서가 검색된다. 일 실시예에서, 인증서 플러그-인은 디렉토리 액세스 프로토콜에 의해 디렉토리 서비스로부터 공개 키 인증서를 검색하는데 사용된다. 인증서가 주어진 잠재적 라이센시에 대해 발견되지 않으면, 요청 또는 디렉토리 내에서, 라이센스 서버는 그 잠재적 라이센시에 대한 라이센스를 생성하지 않고, 단계 614에서, 에러가 요청 엔티티로 복귀된다.In step 608, if the issuing entity determines that the public key certificate is not included in the license request, the issuing entity uses the specified identity to determine the identity specified to conduct a survey in the directory service or database for the appropriate public key certificate. use. In step 610, if the issuing entity determines that the certificate is in the directory, in step 612 the certificate is retrieved. In one embodiment, the certificate plug-in is used to retrieve the public key certificate from the directory service by the directory access protocol. If a certificate is not found for a given potential license, then within the request or directory, the license server does not generate a license for that potential license, and at step 614, an error is returned to the requesting entity.

라이센스 발행 엔티티가 적어도 하나의 잠재적 라이센시에 대해 공개 키 인증서를 갖는다고 하면, 단계 616에서 발행 엔티티는 라이센시 인증서의 신용을 확인한다. 양호하게, 발행 엔티티는 한 세트의 신뢰된 인증서 발행인 인증서로 구성되고, 라이센시 인증서의 발행인이 신뢰된 발행인 리스트 내에 있는 지를 판정한다. 단계 616에서, 라이센시 인증서의 발행인이 신뢰된 발행인 리스트 내에 없다고 발행 엔티티가 판정하면, 그 라이센시에 대해 요청은 실패하고, 단계 614에서에러가 발생된다. 그러므로, 신뢰된 발행인에 의해 인증서가 발행되지 않은 소정의 잠재적 라이센시는 라이센스를 수신할 수 없다.If the license issuing entity has a public key certificate for at least one potential licensee, then in step 616 the issuing entity verifies the credit of the license certificate. Preferably, the issuing entity consists of a set of trusted certificate issuer certificates and determines whether the issuer of the license certificate is in the list of trusted issuers. In step 616, if the issuing entity determines that the issuer of the license certificate is not in the list of trusted issuers, the request fails for that license, and an error is generated in step 614. Therefore, any potential licensee whose certificate has not been issued by a trusted issuer cannot receive a license.

부수적으로, 발행 엔티티는 양호하게, 신뢰된 발행인 인증서로부터 개인 라이센시 공개 키 인증서로 진행하는 인증서 체인 내의 모든 엔티티에 관해 디지탈 서명 확인을 실행한다. 체인 내의 디지탈 서명을 확인하는 프로세스는 잘 알려진 알고리즘이다. 주어진 잠재적 라이센시에 대한 공개 키 인증서가 확인되지 않거나 체인 내의 인증서가 확인되지 않으면, 잠재적 라이센시는 신뢰받지 못하므로, 라이센스는 그 잠재적 라이센시에게 발행되지 않는다. 그렇지 않으면, 단계 618에서, 라이센스가 발행될 수 있다. 이 프로세스는 단계 620에서, 라이센스가 요청된 모든 엔티티가 처리될 때까지 반복된다.Incidentally, the issuing entity preferably performs digital signature verification for every entity in the certificate chain that proceeds from the trusted issuer certificate to the private licensee public key certificate. The process of verifying digital signatures in a chain is a well known algorithm. If the public key certificate for a given potential license is not verified or the certificate in the chain is not verified, the license is not issued to that potential licensee because the potential licensee is not trusted. Otherwise, at step 618, a license may be issued. This process is repeated at step 620 until all entities for which a license is requested have been processed.

도 6b에 도시된 바와 같이, 라이센스 발행 엔티티는 라이센스 요청 시에 수신된 서명된 권한 레이블(308)을 확인하도록 진행한다. 일 실시예에서, 발행 엔티티는 권한 레이블 플러그-인, 및 후위 데이타베이스를 사용하여, 발행 엔티티에 의해 서명된 모든 권한 레이블의 마스터 카피를 서버에 저장한다. 권한 레이블은 출판 시에 이 레이블 내에 배치된 GUID에 의해 식별된다. 라이센스 시기에(단계 622에서), 발행 엔티티는 라이센스 요청에 입력된 권한 레이블을 분석하여 그 GUID를 검색한다. 그 다음에, 이 GUID를 권한 레이블 플러그-인으로 보내서, 데이타베이스에 대한 질의를 발행하여, 마스터 권한 레이블의 카피를 검색한다. 마스터 권한 레이블은 라이센스 요청 시에 보내진 권한 레이블의 카피보다 더욱 최신의 것일 수 있고, 이하의 단계에서 요청 시에 사용된 권한 레이블일 수 있다. GUID에 기초하여 데이타베이스 내에서 권한 레이블이 발견되지 않으면, 발행 엔티티는 그 정책을 체크하여, 단계 624에서 요청 시의 권한 레이블에 기초하여 라이센스의 발행이 여전히 허가되었는 지를 판정한다. 이 정책이 이것을 허가하지 않았으면, 단계 626에서 라이센스 요청은 실패하고, 단계 628에서 에러가 API(306)로 복귀될 수 있다.As shown in FIG. 6B, the license issuing entity proceeds to verify the signed rights label 308 received upon license request. In one embodiment, the issuing entity uses a rights label plug-in, and a back-up database, to store a master copy of all rights labels signed by the issuing entity on the server. The rights label is identified by the GUID placed within this label at the time of publication. At the time of license (at step 622), the issuing entity parses the rights label entered in the license request and retrieves its GUID. This GUID is then sent to the authority label plug-in to issue a query to the database to retrieve a copy of the master authority label. The master authorization label may be more recent than a copy of the authorization label sent at the time of the license request and may be the authorization label used at the time of the request in the following steps. If no authority label is found in the database based on the GUID, then the issuing entity checks its policy to determine if the issuance of the license is still authorized based on the authority label upon request in step 624. If this policy did not permit this, then the license request fails at step 626 and an error may be returned to API 306 at step 628.

단계 630에서, 라이센스 발행 엔티티는 권한 레이블(308)을 확인한다. 권한 레이블 상의 디지탈 서명이 확인되고, 라이센스 발행 엔티티가 권한 레이블의 발행인(서명한 엔티티)이 아니면, 라이센스 발행 엔티티는 권한 레이블의 발행인이 다른 신뢰된 엔티티(예를 들어, 라이센스 발행 엔티티가 키 재료를 공유할 수 있게 된 엔티티)인지 판정한다. 권한 레이블이 확인되지 않거나, 신뢰된 엔티티에 의해 발행되지 않으면, 단계 626에서 라이센스 요청은 실패하고, 단계 628에서 에러가 API(306)에 복귀될 수 있다.At step 630, the license issuing entity checks the authorization label 308. If the digital signature on the authority label is verified, and the license issuing entity is not the issuer (signing entity) of the authority label, then the license issuing entity is a trusted entity (for example, the license issuing entity is not a key material). Entity to be shared). If the authorization label is not verified or is not issued by the trusted entity, then the license request fails in step 626 and an error may be returned to the API 306 in step 628.

모든 확인이 발생된 후에, 라이센스 발행 엔티티는 권한 레이블(308)을 각각의 승인된 라이센시에 대한 라이센스로 변환한다. 단계 632에서, 라이센스 발행 엔티티는 각 라이센시에게 발행될 라이센스에 대한 각각의 권한 설명을 생성한다. 각 라이센시마다, 발행 엔티티는 권한 레이블 내의 권한 설명 내에 명명된 아이덴티티에 대하여 그 라이센시의 공개 키 인증서 내에 명명된 아이덴티티를 확인한다. 권한 설명은 모든 권한 또는 권한 세트, 및 라이센스 내의 그 권한 또는 권한 세트를 실행할 수 있는 아이덴티티 세트에 할당된다. 라이센시의 아이덴티티가 연관되는 모든 권한 또는 권한 세트에 대해, 그 권한 또는 권한 세트는 라이센스의 새로운 데이타 구조 내로 카피된다. 이렇게 얻어진 데이타 구조는 특정 라이센시에 대한 라이센스 내의 권한 설명이다. 이 프로세스의 일부로서, 라이센스 발행 엔티티는 권한 레이블의 권한 설명 내의 소정의 권한 또는 권한 세트와 연관될 수 있는 소정의 전제조건을 검토한다. 예를 들어, 권한은 지정된 시간 후에 라이센스의 발행으로부터 라이센스 발행 엔티티를 제한하는 권한과 연관된 시간 전제조건을 가질 수 있다. 발행 엔티티가 현재의 시간을 체크할 필요가 있는 경우에, 전제조건에서 내에 지정된 시간이 경과되면, 발행 엔티티는 라이센시의 아이덴티티가 그 권한과 연관되었다고 하더라도 라이센시에게 그 권한을 발행할 수 없다.After all confirmation has occurred, the license issuing entity converts the entitlement label 308 into a license for each approved licensee. In step 632, the license issuing entity generates respective rights descriptions for the licenses to be issued to each licensee. For each license, the issuing entity verifies the identity named in the license's public key certificate against the identity named in the authorization description in the authorization label. Right descriptions are assigned to every right or set of rights and to an identity set that can execute that right or set of rights within a license. For every privilege or set of privileges to which the license's identity is associated, that privilege or set of privileges is copied into a new data structure of the license. The data structure thus obtained is a description of the rights in the license for a particular licensee. As part of this process, the license issuing entity reviews certain prerequisites that may be associated with a given permission or set of rights within the rights description of the rights label. For example, an authorization may have a time prerequisite associated with an authorization restricting a license issuing entity from issuance of a license after a specified time. If the issuing entity needs to check the current time, if the time specified in the precondition has elapsed, the issuing entity is not able to issue that authority to the licensee, even if the licensee's identity is associated with that authority.

단계 636에서, 발행 엔티티는 권한 레이블(308)로부터 (PU-DRM(DES1)) 및 (DES1(CK))를 획득하고, (PR-DRM)을 적용하여, (CK)를 얻는다. 그 다음, 발행 엔티티는 라이센시의 공개 키 인증서 (PU-ENTITY)를 사용하여 (CK)를 다시 암호화해서, (PU-ENTITY(CK))를 생기게 한다. 단계 638에서, 발행 엔티티는 생성된 권한 설명을 (PU-ENTITY(CK))와 연결시키고, (PR-DRM)을 사용하여 최종 데이타 구조를 디지탈 서명한다. 이 서명된 데이타 구조는 이 특정 라이센시에 대한 라이센스이다.In step 636, the issuing entity obtains (PU-DRM (DES1)) and (DES1 (CK)) from the authority label 308 and applies (PR-DRM) to obtain (CK). The issuing entity then encrypts (CK) again using the licensee's public key certificate (PU-ENTITY), resulting in (PU-ENTITY (CK)). In step 638, the issuing entity associates the created authorization description with (PU-ENTITY (CK)) and digitally signs the final data structure using (PR-DRM). This signed data structure is the license for this particular licensee.

단계 640에서, 발행 엔티티가 특정 요청에 대해 생성할 라이센스가 더 없다고 판정하면, 발행 엔티티는 생성된 0개 이상의 라이센스를 가질 수 있다. 생성된 라이센스는 단계 642에서, 이들 라이센스와 연관된 인증서 체인(예를 들어, 그것의 인증서를 발행한 인증서뿐만 아니라 서버 자신의 공개 키 인증서 등등)과 함께, 요청 엔티티에 복귀된다.In step 640, if the issuing entity determines that there are no more licenses to generate for a particular request, the issuing entity may have zero or more licenses generated. The generated licenses are returned to the requesting entity in step 642 with the certificate chain associated with these licenses (eg, the server's own public key certificate as well as the certificate that issued its certificate).

본 발명에 따른 시스템의 일 실시예에서는, 다수의 라이센서 키가 사용될 수있다. 이러한 실시예에서, 권한 레이블(308)을 통하여 라이센스 내로 들어가는 암호화된 콘텐트 키(CK)는 실제로 어떤 임의의 데이타일 수 있다. 특히 유용한 한가지 변형은 권한 설명 내의 상이한 권한 또는 상이한 본인과 각각 연관된 다수의 분리되고 암호화된 콘텐트 키(CK)를 사용하는 것이다. 예를 들어, 앨범의 디지탈 버전의 노래는 모두 상이한 키(CK)로 암호화될 수 있다. 이들 키(CK)는 동일한 권한 레이블 내에 포함될 수 있지만, 한 본인은 한 노래를 플레이할 권리를 가질 수 있고(예를 들어, 그는 자기의 라이센스 내에서 하나의 키를 얻을 권리만을 가질 수 있고), 제2의 본인은 모든 노래를 플레이할 권리를 가질 수 있다(예를 들어, 그녀는 자기의 라이센스 내에서 모든 키를 얻을 권리를 가질 수 있다).In one embodiment of the system according to the invention, multiple licensor keys can be used. In such an embodiment, the encrypted content key CK entering into the license via the rights label 308 may actually be any data. One variant that is particularly useful is the use of a number of separate and encrypted content keys (CK), each associated with a different right or different person in the right description. For example, the digital versions of the songs of the album can all be encrypted with different keys (CK). These keys CK may be included in the same rights label, but one person may have the right to play a song (eg he may only have the right to obtain one key in his license), The second person may have the right to play all the songs (for example, she may have the right to get all the keys in her license).

양호하게, 본 발명에 따른 시스템은 출판 어플리케이션/사용자가 권한 레이블(308) 내의 라이센시의 그룹 또는 클래스를 명명할 수 있게 한다. 이러한 실시예에서, 라이센스 발행 엔티티는 권한 레이블 내에 명명된 임의의 그룹/클래스를 검토하여, 현재의 라이센시 아이덴티티가 그 그룹/클래스의 구성원인지를 판정한다. 명명된 그룹/클래스 내에서 구성원이 발견되면, 발행 엔티티는 그룹/클래스와 연관된 권한 또는 권한 세트를 라이센스에 사용된 권한 설명 데이타 구조에 추가할 수 있다.Preferably, the system according to the present invention allows a publishing application / user to name a group or class of licenses in an authorization label 308. In this embodiment, the license issuing entity examines any group / class named in the entitlement label to determine if the current license identity is a member of that group / class. If a member is found within a named group / class, the issuing entity can add the permission or set of permissions associated with the group / class to the permission description data structure used in the license.

본 발명의 일 실시예에서, DRM 서버 내의 출판 및 라이센스 프로토콜 인터페이스는 호출하는 어플리케이션 또는 사용자의 인증 및 권한부여를 지원하고, DRM 서버용 관리 콘솔은 관리자가 라이센싱 및 출판 인터페이스에 대한 액세스 제어 리스트를 생성할 수 있게 한다. 이것은 서버의 고객이 사용자/어플리케이션이 출판,라이센스, 또는 이 둘 다를 하도록 허가하는 정책을 적용할 수 있게 한다.In one embodiment of the invention, the publishing and licensing protocol interface in the DRM server supports authentication and authorization of the calling application or user, and the management console for the DRM server allows an administrator to create access control lists for licensing and publishing interfaces. To be able. This allows the customer of the server to apply a policy that allows the user / application to publish, license, or both.

서명된 권한 레이블(308)의 변경 또는 재판(republishing)Change or republishing signed authority label 308

본 발명의 일 실시예에서, SRL(308)은 콘텐트의 사용자가 그와 같이 하도록 충분한 약속을 부여받게 되었으면 "재판"될 수 있다. 즉, 허가받은 경우, 사용자는 SRL(308) 내의 권한 데이타를 변경할 수 있다. 특히, 권한 데이타를 변경할 허가를 받은 사용자는 연관된 콘텐트와 관련하여 기본적으로 스스로 광범위한 권리를 허여할 수 있는 만큼, 권한 데이타를 변경하기 위한 허가는 드물고 현명하게 부여되어야 된다. 생각건대, 이러한 사용자는 심지어, 콘텐트를 노출시켜 그것을 세상에 보내도록 권한을 부여할 수도 있다.In one embodiment of the invention, SRL 308 may be "trial" if the user of the content has been given sufficient promise to do so. That is, if authorized, the user can change authorization data in SRL 308. In particular, permission to change authorization data should be granted infrequently and wisely, as a user who has been granted permission to change authorization data can basically grant himself broad rights in relation to the associated content. In my opinion, such a user may even authorize to expose content and send it to the world.

여기에서, 변경을 위한 허가는 특정 사용자 또는 사용자 클래스가 권한 데이타 및 권한 레이블(308)을 실제로 변경 또는 '재판'할 수 있다는 표시를 SRL(308)내의 권한 데이타 내에 포함함으로써 나타낸다. DRM 서버(320)가 라이센스 요청과 관련하여 이러한 약속이 있는 SRL(308)을 수신할 때, DRM 서버(320)는 사용자의 공개 키(즉, PU-ENTITY)에 따라 암호화된 대칭 키(DES1)를 사용자의 요청된 라이센스 내에 포함시켜 (PU-ENTITY(DES1))를 생기게 한다.Here, the permission for change is indicated by including an indication in the authorization data in SRL 308 that a particular user or class of user can actually change or 'trial' the authorization data and authorization label 308. When the DRM server 320 receives an SRL 308 with this appointment in connection with a license request, the DRM server 320 encrypts the symmetric key DES1 encrypted according to the user's public key (ie, PU-ENTITY). In the user's requested license results in (PU-ENTITY (DES1)).

그러므로, SRL(308) 내의 권한 데이타를 편집하기 위해, 이제 도 7을 참조하면, 사용자는 라이센스로부터 (PU-ENTITY(DES1))을 검색하고(단계 701), 이것에 (PR-ENTITY)를 적용하여 (DES1)을 생기게 하며(단계 703), (DES1(rightsdata))를 SRL(308)로부터 검색하고(단계 705), 거기에 (DES1)을 적용하여 권한 데이타를 생기게 한다(단계 707). 그 다음, 사용자는 원하는 대로 권한 데이타를 변경하고(단계 709), 서명된 권한 레이블(308)를 얻기 위해 도 4와 관련하여 설명된 방식으로 DRM 서버(320)에 변경된 권한 데이타를 제출한다(단계 711). 물론, 여기서, 서명된 권한 레이블(308)은 실제로 재판된 SRL(308)이고, 따라서 그 SRL(308)이 수신되기만 하면(단계 713), 사용자는 연관된 콘텐트에 연결된 원래의 SRL(308)을 분리하고(단계 715), 그 다음에 재판된 SRL(308)을 이러한 콘텐트에 연결시킨다(단계 717).Therefore, to edit the authorization data in the SRL 308, referring now to FIG. 7, the user retrieves (PU-ENTITY (DES1)) from the license (step 701) and applies (PR-ENTITY) to it. To generate (DES1) (step 703), (DES1 (rightsdata)) is retrieved from SRL 308 (step 705), and (DES1) is applied thereto to generate rights data (step 707). The user then changes the authorization data as desired (step 709) and submits the changed authorization data to the DRM server 320 in the manner described in connection with FIG. 4 to obtain a signed authorization label 308 (step 711). Of course, here, the signed rights label 308 is actually a trialed SRL 308, so that once the SRL 308 is received (step 713), the user detaches the original SRL 308 that is associated with the associated content. (Step 715), and then link the trialed SRL 308 to this content (step 717).

그러므로, 알 수 있는 바와 같이, SRL(308)을 재판하면 사용자가 연관된 콘텐트를 변경할 필요없이 권한, 조건 및 사용자를 포함하는 SRL(308) 내의 권한 데이타를 갱신할 수 있게 한다. 특히, 재판은 연관된 콘텐트를 새로운 (CK)로 다시 암호화할 것을 필요로 하지 않는다. 또한, 재판은 특히 새로운 SRL(308)에 카피될 수 있는 다수의 아이템을 원래의 SRL(308)이 갖고 있기 때문에 새로운 SRL을 생성할 것을 필요로 하지 않는다.Thus, as can be seen, judging the SRL 308 allows the user to update the rights data in the SRL 308 that contains the rights, conditions, and users without having to change the associated content. In particular, the trial does not need to re-encrypt the associated content with a new (CK). In addition, the trial does not require the creation of a new SRL, especially because the original SRL 308 has many items that can be copied to the new SRL 308.

서명된 권한 레이블(308)의 자체-출판Self-publishing of signed rights label 308

본 발명의 일 실시예에서, SRL(308)은 요청 사용자 자신에 의해 서명될 수 있다. 따라서, 사용자는 콘텐트의 연관된 부분에 대한 SRL(308)을 얻기 위해 DRM 서버(320)에 접촉할 필요가 없다. 그 결과, 자체-출판은 또한 오프-라인 출판이라고도 한다. 이러한 실시예에서, 사용자는 이러한 자체-출판된 SRL(308)에 기초하여 라이센스를 요청하기 위해 DRM 서버(320)에 접촉하도록 요구될 수 있다. 또한, 출판 엔티티가 그 자신의 라이센스를 발행할 수 있게 될 수 있다는 것을 이해해야 한다.In one embodiment of the invention, SRL 308 may be signed by the requesting user himself. Thus, the user does not need to contact the DRM server 320 to obtain an SRL 308 for the associated portion of the content. As a result, self-publishing is also referred to as off-line publishing. In such an embodiment, a user may be required to contact the DRM server 320 to request a license based on this self-published SRL 308. It is also to be understood that the publishing entity may be able to issue its own license.

특히, 이제 도 8을 참조하면, 이 실시예에서, 사용자는 (PU-ENTITY(PR-CERT))를 생기게 하기 위해 사용자의 공개 키(PU-ENTITY)에 따라 암호화된 공개 키(PU-CERT) 및 대응하는 개인 키(PR-CERT)를 포함하는 DRM 인증서(810)를 DRM 서버(320)로부터 수신함으로써 자체-출판하도록 먼저 준비된다. 이 인증서는 더욱 상세하게 후술되는 바와 같이, DRM 서버(320)가 검증할 수 있도록 DRM 서버(320)의 개인 키(PR-DRM)에 의해 서명되어야 된다. 알 수 있는 바와 같이, DRM 인증서(810)는 사용자에게 자체-출판하도록 권한을 부여한다. 알 수 있는 바와 같이, 키 쌍(PU-CERT, PR-CERT)은 (PU-ENTITY, PR-ENTITY)로부터 분리되고, 구체적으로 자체-출판을 위해 사용된다. 키 쌍(PU-CERT, PR-CERT)은 DRM 인증서(810)가 사용자의 공개 키(PU-ENTITY)만을 포함하고, DRM 서버(320)가 그것을 검증할 수 있도록 DRM 서버(320)의 개인 키(PR-DRM)에 의해 서명되는 경우에는 사용되지 않을 수 있다.In particular, referring now to FIG. 8, in this embodiment, the user is encrypted with the user's public key PU-CERT in order to generate (PU-ENTITY (PR-CERT)). And a DRM certificate 810 including a corresponding private key (PR-CERT) from the DRM server 320, which is first prepared to self-publish. This certificate must be signed by the private key (PR-DRM) of the DRM server 320 for verification by the DRM server 320, as described in more detail below. As can be seen, the DRM certificate 810 authorizes the user to self-publish. As can be seen, the key pairs (PU-CERT, PR-CERT) are separated from (PU-ENTITY, PR-ENTITY) and specifically used for self-publishing. The key pair (PU-CERT, PR-CERT) is the private key of the DRM server 320 so that the DRM certificate 810 contains only the user's public key (PU-ENTITY) and the DRM server 320 can verify it. It may not be used if signed by (PR-DRM).

자체-출판은 수행된 단계와 관련하여 사용자가 기본적으로 DRM 서버(320)를 대신한다는 점에서 도 4에 도시된 출판과 다르다. 중요하게는, 사용자는 DRM 증명서(810)(즉, S(PR-CERT))로부터 얻어진 (PR-CERT)와 더불어 (PU-DRM(DES1)) 및 (DES1(rightsdata))를 포함하는 제출된 권한 레이블에 서명하여 (PU-ENTITY(PR-CERT))를 생기게 한다. 알 수 있는 바와 같이, 사용자는 이러한 DRM 인증서(810)로부터 (PU-ENTITY(PR-CERT))를 얻고 거기에 (PR-ENTITY)를 적용함으로써 DRM 인증서(810)로부터 (PR-CERT)를 얻는다. 그러나, 특히 사용자가 (PU-DRM(DES1))에 적용하기 위한 (PR-DRM)을 갖지 않기 때문에, 사용자는 DRM 서버(320)가 제출된 권한레이블 내의 권한들을 실행할 수 있음을 검증할 수 없다는 것을 알기 바란다. 따라서, DRM 서버(320) 자체는 자체-출판된 SRL(308)에 기초하여 라이센스가 요청될 때 검증을 실행해야 한다.Self-publishing differs from the publication shown in FIG. 4 in that the user basically takes the place of the DRM server 320 with respect to the steps performed. Importantly, the user submits a file containing (PU-DRM (DES1)) and (DES1 (rightsdata)) along with (PR-CERT) obtained from the DRM certificate 810 (i.e., S (PR-CERT)). Sign the authority label, resulting in (PU-ENTITY (PR-CERT)). As can be seen, the user obtains (PU-ENTITY (PR-CERT)) from this DRM certificate 810 and (PR-CERT) from DRM certificate 810 by applying (PR-ENTITY) to it. . However, especially because the user does not have a (PR-DRM) to apply to (PU-DRM (DES1)), the user cannot verify that the DRM server 320 can execute the rights in the submitted rights label. Please know that. Thus, the DRM server 320 itself must execute verification when a license is requested based on the self-published SRL 308.

일단 사용자가 SRL(308)을 자체-출판하면, 사용자는 자체-출판된 SRL(308) 및 이것을 생성하기 위해 사용된 DRM 인증서(810)를 콘텐트에 연결시키고, SRL(308) 및 DRM 인증서(810)를 갖는 이러한 콘텐트는 다른 사용자에게 배포된다. 그 다음, 다른 사용자는 도 6a 및 6b에 도시된 것과 실질적으로 동일한 방식으로 DRM 서버(320)로부터 그 콘텐트의 라이센스를 요청하여 얻는다. 그러나, 여기에서, 라이센스-요청 사용자는 콘텐트에 연결되는 것과 같이 자체-출판된 SRL(308) 및 DRM 인증서(810) 둘 다를 DRM 서버(320)에 제출한다. 그 다음, DRM 서버(320)는 대응하는 (PU-DRM)에 기초하여 DRM 인증서(810) 내의 S(PR-DRM)을 검증하고, DRM 인증서(810)로부터 (PU-CERT)를 얻는다. 그 다음, DRM 서버(320)는 얻어진 (PU-CERT)에 기초하여 SRL(308) 내의 S(PR-CERT)를 검증하고, 이전과 같은 것을 계속한다. 그러나, DRM 서버(320)가 SRL(308) 내의 권한을 시행할 수 있음을 사용자가 검증할 수 없기 때문에, 상술된 바와 같이, DRM 서버(320) 스스로 이때 검증을 실행해야 한다는 것을 주목해야 한다.Once the user self-publishes the SRL 308, the user associates the self-published SRL 308 with the DRM certificate 810 used to create it to the content, and the SRL 308 and the DRM certificate 810 This content with) is distributed to other users. The other user then requests and obtains a license for that content from the DRM server 320 in substantially the same manner as shown in FIGS. 6A and 6B. However, here, the license-requesting user submits both the self-published SRL 308 and the DRM certificate 810 to the DRM server 320 as connected to the content. The DRM server 320 then verifies the S (PR-DRM) in the DRM certificate 810 based on the corresponding (PU-DRM) and obtains (PU-CERT) from the DRM certificate 810. The DRM server 320 then verifies the S (PR-CERT) in the SRL 308 based on the obtained (PU-CERT) and continues with the same as before. However, it should be noted that since the user cannot verify that the DRM server 320 can enforce the rights in the SRL 308, the DRM server 320 itself must perform verification at this time, as described above.

권한 템플릿Permission template

상술된 바와 같이, 사용자는 사용자 또는 사용자의 클래스를 정하고, 각각의 정해진 사용자 또는 사용자 클래스에 대한 권한을 정한 다음에, 임의의 사용 조건을 정함으로써 권한 레이블 내의 권한 데이타의 대부분의 임의의 종류를 생성할 자유가 주어진다. 그러나, 특히 동일한 사용자 또는 사용자 클래스, 권한 및 조건이 콘텐트의 상이한 부분에 대해서 반복적으로 정해질 때, 다수의 권한 레이블에 대해 권한 데이타를 반복적으로 정하는 것은 상당히 부담이 되고 반복적인 것이 될 수 있다. 이러한 상황은 예를 들어 회사나 사무실 환경에서 발생할 수 있으며, 사용자는 특별히 정해진 사용자 팀과 공유될 콘텐트의 상이한 부분들을 반복적으로 출판한다. 이러한 상황에서, 본 발명의 일 실시예에서는, 사용자가 권한 레이블 생성과 관련하여 반복적으로 사용할 수 있는 권한 템플릿이 생성되는데, 이 권한 템플릿은 이미 그 안에 소정의 사용자 또는 사용자 클래스, 각각의 정해진 사용자 또는 사용자 클래스에 대한 선정된 권한, 및 소정의 사용 조건을 포함한다.As described above, a user generates most of any kind of authorization data in an authorization label by defining a user or class of users, defining permissions for each given user or user class, and then setting any conditions of use. Freedom to do it However, repeatedly specifying authorization data for multiple rights labels can be quite burdensome and repetitive, especially when the same user or user class, rights and conditions are set for different portions of the content repeatedly. This situation can occur, for example, in a corporate or office environment, where a user repeatedly publishes different pieces of content to be shared with a specially defined user team. In such a situation, in one embodiment of the present invention, a rights template is created that a user can repeatedly use in connection with the creation of a rights label, the rights template already having a predetermined user or user class, each predetermined user or Selected privileges for the user class, and certain conditions of use.

본 발명의 일 실시예에서, 이제 도 9을 참조하면, 권한 템플릿(900)은 권한 레이블에서와 실질적으로 동일한 권한 데이타를 갖는다. 그러나, 콘텐트가 출판될 때까지 (DES1)이 알려지지 않기 때문에, 권한 데이타는 권한 레이블에서처럼 이 (DES1)에 따라 암호화될 수 없다. 본 발명의 일 실시예에서, 그러면 암호화되지 않은 권한 데이타를 갖는 권한 템플릿(900)은 도 4의 단계 416에서 권한 데이타를 (DES1)로 암호화하는 과정에서 제출되어 (DES1(rightsdata))를 생성한다. 물론, 권한 데이타는 그렇게 암호화되기 이전에 제출된 권한 템플릿(900)으로부터 검색된다.In one embodiment of the present invention, now referring to FIG. 9, the rights template 900 has substantially the same rights data as in the rights label. However, since (DES1) is not known until the content is published, the authorization data cannot be encrypted according to this (DES1) as in the authorization label. In one embodiment of the invention, a rights template 900 with unencrypted rights data is then submitted in the process of encrypting the rights data with (DES1) in step 416 of FIG. 4 to generate (DES1 (rightsdata)). . Of course, the authorization data is retrieved from the submitted authorization template 900 before it is so encrypted.

권한 템플릿이 구성될 때 DRM 서버(320) 및 그것의 공개 키(PU-DRM)가 알려지는 경우가 되거나 되지 않을 수 있다. 더욱이, 알려졌더라도, 각각 자신의 (PU-DRM)을 갖고 있는 2개 이상의 DRM 서버(320)가 있는 경우가 되거나 되지 않을 수있다. 그럼에도 불구하고, 권한 템플릿이 구성될 때 DRM 서버(320) 및 그것의 공개 키(PU-DRM)이 알려지는 경우, 및 하나의 DRM 서버(320)만이 사용되거나, 또는 하나의 DRM 서버(320)만이 권한 템플릿(900)과 관련하여 사용될 것인 경우에, 이러한 권한 템플릿은 또한 그의 공개 키(PU-DRM)을 포함하는 권한 템플릿(900)으로 인해 권한 레이블에 서명하기 위한 DRM 서버 상의 정보를 포함할 수 있다. 이러한 (PU-DRM)은 (DES1)을 암호화하여 (PU-DRM(DES1))을 생기게 할 때 SRL(308) 내에 나타나지만, 콘텐트가 출판될 때까지 (DES1)이 알려지지 않으므로, 권한 템플릿(900) 내의 (PU-DRM)이 권한 레이블에서처럼 이러한 (DES1)을 암호화할 수 없다는 것을 다시 알 수 있을 것이다. 그 다음, 본 발명의 일 실시예에서, 암호화되지 않은 (PU-DRM)을 갖는 권한 템플릿(900)은 도 4의 단계 414에서 (PU-DRM)으로 (DES1)을 암호화하는 도중에 제출되어 (PU-DRM(DES1))을 생성한다. 물론, (PU-DRM)은 사용되기 이전에 제출된 권한 템플릿(900)으로부터 검색된다.The DRM server 320 and its public key (PU-DRM) may or may not be known when the rights template is configured. Moreover, even if known, there may or may not be a case where there are two or more DRM servers 320 each having its own (PU-DRM). Nevertheless, when the DRM server 320 and its public key (PU-DRM) are known when the authorization template is configured, and only one DRM server 320 is used, or one DRM server 320 If only the rights template 900 is to be used, this rights template also includes information on the DRM server for signing the rights label due to the rights template 900 including its public key (PU-DRM). can do. This (PU-DRM) appears in the SRL 308 when encrypting (DES1) resulting in (PU-DRM (DES1)), but since (DES1) is unknown until the content is published, the rights template 900 It will be seen again that the (PU-DRM) within cannot encrypt this (DES1) as in the authorization label. Then, in one embodiment of the present invention, the rights template 900 with unencrypted (PU-DRM) is submitted in the process of encrypting (DES1) with (PU-DRM) in step 414 of FIG. Generate DRM (DES1). Of course, (PU-DRM) is retrieved from the rights template 900 submitted prior to use.

또한, 상술된 경우에, 권한 템플릿 내에 포함될 수 있는 DRM 서버 상의 다른 정보는 네트워크 상의 DRM 서버를 위치시키기 위한 URL과 같은 참조 정보, 및 URL 고장 시의 대처 정보를 포함할 수 있다. 어떤 경우에, 권한 템플릿은 또한 무엇보다도 권한 템플릿(900) 자체를 설명하는 정보를 포함할 수 있다. 권한 템플릿(900)은 또한, 권한 템플릿의 설명이 실제로 권한 레이블로 변환되지 않는다면 필요하지 않겠지만, 콘텐트 및/또는 암호화 키 (CK) 및 (DES1)에 관련된 권한 레이블 내에 나타나는 정보와 같은, 출판될 콘텐트에 관련된 정보를 위한 공간을 제공할 수 있다.In addition, in the case described above, other information on the DRM server that may be included in the authorization template may include reference information such as a URL for locating the DRM server on the network, and handling information in case of URL failure. In some cases, the rights template may also contain information that describes, among other things, the rights template 900 itself. The rights template 900 may also be published, such as information that appears in a rights label related to the content and / or encryption key (CK) and (DES1), although it would not be necessary if the description of the rights template was not actually converted to a rights label. A space for information related to the content may be provided.

이제까지 개시된 권한 템플릿(900)은 주로 사용자의 편의를 위한 것이지만, 어떤 경우에, 사용자는 권한 레이블 내의 권한 데이타를 규정하는 무제한적인 자유를 가질 수 없으며, 권한 템플릿(900)은 생성될 수 있는 권한 레이블의 범위 또는 형태를 제한하도록 사용될 수 있다는 것을 또한 알 수 있을 것이다. 예를 들어, 특히 회사 또는 사무실 환경에서, 특정 사용자가 항상 특정 사용자 클래스에게만 콘텐트를 출판해야 하거나, 사용자가 특정 사용자 클래스에게 콘텐트를 전혀 출판할 수 없다는 것이 정책으로서 선정될 수 있다. 어떤 경우에, 본 발명의 일 실시예에서, 이러한 정책은 하나 이상의 권한 템플릿(900) 내에 선정된 권한 데이타로서 구현되고, 사용자는 콘텐트 출판 시에 권한 레이블을 생성하기 위해 이러한 권한 템플릿을 사용하는 것이 제한될 수 있다. 특히, 사용자를 위한 출판 정책을 지정하기 위해 사용자에게 이용가능하게 된 하나의 권한 템플릿(900) 또는 한 그룹의 권한 템플릿(900)은 본 발명의 정신 및 범위를 벗어나지 않고 임의의 특정 형태의 출판 정책을 지정할 수 있다.Although the rights template 900 disclosed so far is primarily for the convenience of the user, in some cases, the user may not have unlimited freedom to define the rights data in the rights label, and the rights template 900 may be created. It will also be appreciated that it can be used to limit the scope or form of the substance. For example, in a corporate or office environment, for example, it may be chosen as a policy that a particular user always publishes content only to a particular user class, or that a user cannot publish content to a particular user class at all. In some cases, in one embodiment of the present invention, such a policy is implemented as rights data selected within one or more rights templates 900, and the user is advised to use such rights templates to generate rights labels at the time of content publishing. May be limited. In particular, one rights template 900 or a group of rights templates 900 made available to a user to specify a publishing policy for a user may be in any particular form of publishing policy without departing from the spirit and scope of the present invention. Can be specified.

제한된 사용자 등을 위한 권한 템플릿(900)을 지정하기 위해, 이제 도 10을 참조하면, 관리자 등은 실제로 선정된 권한 데이타를 규정하고(단계 1001), 특정 DRM 서버(320)에 관련된 정보와 같은, 필요하고 적절한 임의의 다른 데이타를 규정함으로써(단계 1003) 권한 템플릿(900)을 구성한다. 중요하게, 제한된 사용자 등에 의해 사용자용 권한 템플릿을 실행하게 하기 위해, 권한 템플릿(900)은 공식적이 되어야 한다. 즉, 권한 템플릿(900)은 제한된 사용자 등이 사용할 수 있는 권한 템플릿으로 인식될 수 있게 되어야 한다. 따라서, 본 발명의 일 실시예에서,관리자 등에 의해 구성된 권한 템플릿은 서명을 위한 DRM 서버(320)에 제출되는데, 이러한 서명은 권한 템플릿을 공식적으로 만든다(단계 1005).In order to designate a rights template 900 for a limited user or the like, referring now to FIG. 10, an administrator or the like actually defines the selected rights data (step 1001), such as information related to a particular DRM server 320, Authorization template 900 is constructed by defining any other data that is necessary and appropriate (step 1003). Importantly, in order to execute a rights template for a user by a limited user or the like, the rights template 900 must be official. That is, the rights template 900 should be recognized as a right template that can be used by a limited user. Thus, in one embodiment of the present invention, an authorization template configured by an administrator or the like is submitted to the DRM server 320 for signature, which signature makes the authorization template official (step 1005).

실제로 권한 템플릿(900) 내에 정보가 존재한다면, 서명 DRM 서버(320)는 정보가 권한 템플릿 내에 있는 DRM 서버(320)라는 것을 알아야 한다. 또한, DRM 서버(320)는 임의의 필요한 체크를 행할 때만 권한 템플릿(900)에 서명하거나, 또는 전혀 체크하지 않고 서명할 수 있다는 것을 알기 바란다. 마지막으로, DRM 서버(320)로부터의 템플릿 서명 S(PR-DRM-T)(여기서, -T는 서명이 ORT(900)에 대한 것임을 나타냄)는 적어도 권한 템플릿(900) 내의 선정된 권한 데이타에 기초하여야 되지만, 본 발명의 정신과 범위를 벗어나지 않는 한 다른 정보에 기초하게 될 수도 있다는 것을 알기 바란다. 후술되는 바와 같이, 서명 S(PR-DRM-T)는 권한 레이블 내에 포함될 수 있고, 이와 관련하여 검증될 수 있으므로, 서명이 기초로 하는 것은 무엇이든 변경된 형태의 권한 테이블 내로 포함될 수 있어야 한다.In fact, if the information exists in the authorization template 900, the signing DRM server 320 should know that the information is a DRM server 320 in the authorization template. In addition, it should be appreciated that the DRM server 320 may sign the rights template 900 only when making any necessary checks, or without checking at all. Finally, the template signature S (PR-DRM-T) from the DRM server 320, where -T indicates that the signature is for the ORT 900, is at least in the selected authorization data in the authorization template 900. It should be understood, but it is understood that other information may be based without departing from the spirit and scope of the invention. As will be discussed below, the signature S (PR-DRM-T) can be included in the authority label and can be verified in this regard, so that whatever the signature is based on can be included in a modified form of authority table.

DRM 서버(320)가 권한 템플릿(900)에 서명하여 이것을 관리자 등에게 돌려보내면, 관리자는 S(PR-DRM-T)로 서명되고 이제 공식적인 권한 템플릿(900)을 수신하고(단계 1007), 이 공식적인 권한 템플릿(ORT)(900)를 하나 이상의 사용자에게 보낸다(1009). 따라서, 사용자가 ORT(900)에 기초하여 콘텐트를 출판하기 위해, 사용자는 ORT(900)를 검색하고(단계 1011), 콘텐트 상의 정보, 적절한 키 정보, (DES1(rightsdata))를 생기게 하기 위해 (DES1)에 의해 암호화된 ORT(900)로부터의 권한 데이타, 및 ORT(900)로부터의 임의의 다른 정보와 같은 임의의 필요한 정보를 제공함으로써 ORT(900)에 기초하여 권한 레이블을 구성한다(단계 1013). 중요하게, 사용자는 또한 ORT(900)로부터의 서명 S(PR-DRM-T)를 권한 레이블과 함께 포함한다.When the DRM server 320 signs the authority template 900 and returns it to an administrator or the like, the administrator is signed with S (PR-DRM-T) and now receives an official authority template 900 (step 1007). A formal rights template (ORT) 900 is sent to one or more users (1009). Thus, for the user to publish the content based on the ORT 900, the user retrieves the ORT 900 (step 1011) and generates information on the content, appropriate key information, (DES1 (rightsdata)) ( An authority label is constructed based on the ORT 900 by providing any necessary information, such as authority data from the ORT 900 encrypted by DES1, and any other information from the ORT 900 (step 1013). ). Importantly, the user also includes the signature S (PR-DRM-T) from the ORT 900 along with the rights label.

그 다음, 이전과 같이, 사용자는 권한 레이블을 서명을 위한 DRM 서버(320)에 제출한다(단계 1015). 그러나, 여기에서, DRM 서버(320)는 내부의 S(PR-DRM-T)가 검증하지 않으면 제출된 권한 레이블에 서명하지 않을 것이다. 즉, DRM 서버(320)는 제출된 권한 레이블이 ORT(900)으로부터 서명 S(PR-DRM-T)를 포함하지 않으면 제출된 권한 레이블에 서명하는 것을 거절함으로써 사용자가 ORT(900) 상의 제출된 권한 레이블에 기초해야 한다는 것을 실행한다. 특히, DRM 서버(320)는 이러한 S(PR-DRM-T)를 검색하고, 제출된 권한 레이블로부터 이러한 서명이 기초하고 있는 모든 정보를 검색한 다음에, (PU-DRM)에 기초하여 이러한 서명을 검증한다. 제출된 권한 레이블 내의 권한 데이타는 (DES1)(즉, (DES1(rightsdata))에 따라 암호화된다는 것을 알기 바란다. 따라서, DRM 서버(320)는 제출된 권한 레이블 내의 권한 데이타에 기초하여 서명을 검증할 수 있도록, 도 7과 관련하여 설명된 바와 같이, 먼저 (DES1)을 획득해서, 이것으로 (DES1(rightsdata))를 암호해독한다.Then, as before, the user submits the authorization label to the DRM server 320 for signature (step 1015). However, here, the DRM server 320 will not sign the submitted authority label unless the internal S (PR-DRM-T) verifies. That is, the DRM server 320 refuses to sign the submitted authority label if the submitted authority label does not include the signature S (PR-DRM-T) from the ORT 900 so that the user has submitted the submission on the ORT 900. Do this based on the permission label. In particular, the DRM server 320 retrieves this S (PR-DRM-T), retrieves all the information on which this signature is based from the authority label submitted, and then based on this (PU-DRM) Verify Note that the authorization data in the submitted authorization label is encrypted according to (DES1) (ie (DES1 (rightsdata)). Thus, the DRM server 320 may verify the signature based on the authorization data in the submitted authorization label. To be able to do this, as described in connection with Fig. 7, firstly, (DES1) is obtained, and with this, (DES1 (rightsdata)) is decrypted.

검증되면, DRM 서버(320)는 제출된 권한 레이블에 S(PR-DRM-L)로 서명하여, 이전과 같이 SRL(308)을 생성한다(여기서, -L은 서명이 SRL(308)에 대한 것임을 나타낸다). 여기에서, S(PR-DRM-L)은 S(PR-DRM-T)를 대신할 수 있거나, S(PR-DRM-T)에 추가될 수 있다. 또한, S(PR-DRM-L)은 부분적으로 S(PR-DRM-T)에 기초할 수 있다. (PR-DRM)은 S(PR-SRM-T) 및 S(PR-DRM-L)을 생성하기 위해 사용되거나, 또는 상이한 (PR-DRM)이 S(PR-DRM-T) 및 S(PR-DRM-L)의 각각에 사용될 수 있다는 것을알기 바란다. DRM 서버(320)가 권한 레이블에 서명하여 SRL(308)을 사용자에게 돌려보내면, 사용자는 S(PR-DRM-L)을 갖는 SRL(308)을 수신하고(단계 1017), 이전과 같이 이것을 출판되는 콘텐트에 연결시키는 것을 진행한다.Once verified, the DRM server 320 signs the submitted authorization label with an S (PR-DRM-L), creating the SRL 308 as before (where -L is the signature for the SRL 308). ). Here, S (PR-DRM-L) may replace S (PR-DRM-T) or may be added to S (PR-DRM-T). In addition, S (PR-DRM-L) may be based in part on S (PR-DRM-T). (PR-DRM) is used to generate S (PR-SRM-T) and S (PR-DRM-L), or different (PR-DRM) is used for S (PR-DRM-T) and S (PR Note that it can be used for each of -DRM-L). When the DRM server 320 signs the authorization label and returns the SRL 308 to the user, the user receives the SRL 308 with S (PR-DRM-L) (step 1017) and publishes it as before. Proceed to link to the content.

ORT(900)의 서명 S(PR-DRM-T)가 적어도 부분적으로 ORT(900) 내의 선정된 권한 데이타에 기초하면, SRL(308) 내에(DES1(rightsdata) 내에) 나타내는 권한 데이타는 수정되거나 변경될 수 없다. 그렇지 않으면, S(PR-DRM-T)는 검증되지 않을 것이다. 그럼에도 불구하고, 본 발명의 일 실시예에서, ORT(900) 내의 권한 데이타는 또한 ORT(900) 내에 포함되는 선정된 규칙 내에서 변화할 수 있다. 예를 들어, SRL(308) 내에 포함될 2세트의 권한 데이타 중 하나를 지정하거나, 대안적인 세트 중에서 선택을 할 수 있게 하는 규칙들이 있을 수 있다. 알 수 있는 바와 같이, 이 규칙들은 본 발명의 사상 및 범위 내에서 임의의 적절한 문맥으로 설명된 임의의 특정 규칙이 될 수 있다. 여기서, 이 규칙들은 권한 레이블이 생성될 때 사용자를 위한 적절한 규칙 해석기에 의해 해석될 수 있다. 권한 데이타가 변할 수 있긴 하지만, 규칙들은 같이 변하지 않으므로, ORT(900)에 대한 템플릿 서명 S(PR-DRM-T)는 적어도 부분적으로 규칙에 기초하고, 권한 데이타 자체에 기초하지 않는다. 그 결과, ORT(900)와 함께 포함된 규칙은 또한 SRL(308)과 함께 포함되어야 한다.If the signature S (PR-DRM-T) of the ORT 900 is based, at least in part, on the selected authorization data in the ORT 900, the authorization data represented in the SRL 308 (in DES1 (rightsdata)) is modified or changed. Can't be. Otherwise, S (PR-DRM-T) will not be verified. Nevertheless, in one embodiment of the present invention, the authorization data within the ORT 900 may also vary within the predetermined rules contained within the ORT 900. For example, there may be rules that specify one of two sets of authorization data to be included in SRL 308, or allow selection from an alternative set. As can be appreciated, these rules may be any specific rule described in any suitable context within the spirit and scope of the invention. Here, these rules can be interpreted by the appropriate rule interpreter for the user when the rights label is created. Although the authorization data may change, the rules do not change together, so the template signature S (PR-DRM-T) for the ORT 900 is based at least in part on the rule and not the authorization data itself. As a result, rules included with the ORT 900 must also be included with the SRL 308.

본 발명의 일 실시예에서, 상술된 바와 같이, ORT(900) 내의 선정된 권한 데이타는 부분적으로는 고정되어 변화되지 않고, 부분적으로는 변화되어 규칙이 유도된다. 여기에서, ORT(900)의 템플릿 서명 S(PR-DRM-T)는 적어도 부분적으로 고정된 부분의 규칙, 및 변하는 부분의 권한 데이타의 규칙에 기초한다.In one embodiment of the present invention, as described above, the predetermined authorization data in the ORT 900 is not fixedly changed in part, but partially changed to derive a rule. Here, the template signature S (PR-DRM-T) of the ORT 900 is based at least in part on the rules of the fixed part and the rules of the authority data of the changing part.

알 수 있는 바와 같이, 사용자가 소유한 ORT(900)는 오래되었거나 실효된 것일 수 있다. 즉, 내부의 권한 데이타를 통한 ORT(900)는 오래되었거나, 부적절하거나, 또는 더이상 단순히 적용될 수 없는 정책을 반영할 수 있다. 예를 들어, ORT(900)의 권한 데이타 내에 지정된 하나 이상의 사용자 또는 사용자 클래스는 정책 환경내에 더 이상 존재할 수 없거나, 또는 ORT(900)의 권한 데이타 내에 지정된 특정 사용자 또는 사용자 클래스는 정책 환경 내에서 더 이상 동일한 권한을 가질 수 없다. 이러한 경우에, 관리자는 개정된 ORT(900)를 발행할 수 있지만, 사용자는 여전히 이전의 실효된 버전의 ORT(900)를 사용하고 있을 수 있다.As can be seen, the ORT 900 owned by the user may be outdated or outdated. That is, the ORT 900 through internal authorization data may reflect a policy that is old, inappropriate, or no longer simply applicable. For example, one or more users or user classes specified in the authorization data of the ORT 900 may no longer exist in the policy environment, or a particular user or user class specified in the authorization data of the ORT 900 may be no longer present in the policy environment. You can't have the same permissions anymore. In such a case, the administrator may issue a revised ORT 900, but the user may still be using the previous validated version of the ORT 900.

그 다음, 이러한 상황에서, 본 발명의 일 실시예에서, ORT(900)를 생성하기 위해 제출된 권한 템플릿(900)에 서명하고 있는 DRM 서버(320)는 ORT(900)의 카피를 보유하고, 각 ORT(900)는 유일한 식별 표시를 가지며, ORT(900)에 기초하여 구성된 각 권한 레이블은 내부에 ORT(900)의 식별 표시를 포함한다. 따라서, 도 10과 관련한 것과 같이 제출된 권한 레이블을 수신 시에, DRM 서버(320)는 권한 레이블 내에서 ORT(900)의 식별 표시를 발견하고, 발견된 식별 표시에 기초하여 ORT(900)의 가장 최신의 카피를 검색하며, 제출된 권한 레이블로부터의 권한 데이타를 제거하고, 검색된 ORT(900)로부터 권한 데이타를 삽입한 다음, 적어도 부분적으로 삽입된 권한 데이타에 기초하여 권한 레이블에 서명한다. 물론, DRM 서버는 또한, (DES1(rightsdata))의 암호해독 및 재암호화를 포함하여, 상술된 프로세스에 필요하고 프로세스에 의무적인 임의의 필요한 암호화 및 복호화를 실행한다. DRM서버가 제출된 권한 레이블 내의 권한 데이타를 교체하도록 적용되면, 이러한 권한 레이블, 및 이러한 권한 레이블이 구성되는 ORT(900)는 내부에 권한 데이타를 반드시 포함할 필요는 없다. 그 대신, 권한 데이타가 DRM 서버(320)에 상주할 필요만은 없다. 그러나, 권한 레이블 및 이러한 권한 레이블이 구성되는 ORT(900)와 함께 권한 데이타를 포함하는 것은 사용자에게 유용할 수 있으므로, 어떤 경우에는 유용하게 이용될 수 있다.Then, in this situation, in one embodiment of the invention, the DRM server 320 signing the rights template 900 submitted to generate the ORT 900 holds a copy of the ORT 900, Each ORT 900 has a unique identification mark, and each authority label constructed based on the ORT 900 includes an identification indication of the ORT 900 therein. Thus, upon receiving the submitted authority label as in connection with FIG. 10, the DRM server 320 finds an identification mark of the ORT 900 within the authority label and based on the found identification mark. Retrieve the most recent copy, remove authorization data from the submitted authorization label, insert authorization data from the retrieved ORT 900, and sign the authorization label based at least in part on the authorization data inserted. Of course, the DRM server also performs any necessary encryption and decryption necessary for the process described above and mandatory for the process, including decryption and re-encryption of (DES1 (rightsdata)). If the DRM server is applied to replace authorization data in a submitted authorization label, this authorization label, and the ORT 900 from which the authorization label is configured, do not necessarily include the authorization data therein. Instead, the authorization data need not only reside on the DRM server 320. However, including authorization data along with the authorization label and the ORT 900 from which the authorization label is constructed may be useful to the user, and may be useful in some cases.

디렉토리를 통한 라이센싱Licensing through the Directory

보호된 콘텐트의 라이센스를 발행할 때, 라이센스 발행 엔티티(이하, '라이센서')는 콘텐트로부터 보내진 SRL(308)을 참고하여, 어떤 사용자/그룹/클러스터/구획/플랫폼/등등(이하, '엔티티')에게 권한, 및 라이센스 요청자를 식별하기 위해 보내진 인증서가 제공될 것인지를 판정한다. 이것에 기초하여, 라이센서는 SRL(308) 내에 리스트된 것들의 어떤 권한이 요청자에게 발행될 것인지 판정한다. 개념상, 라이센서는 SRL(308) 내에 리스트된 엔티티들을 조사하고, 이러한 엔티티들을 요청자와 비교한다. 그러므로, 특정 그룹이 라이센스를 수신하고, 요청자가 이러한 그룹의 구성원이라는 것을 SRL(308)이 열거하면, 요청자에게는 SRL(308) 내의 그룹을 위해 설명된 권한을 갖는 라이센스가 부여된다. 이와 마찬가지로, 특정 사용자가 라이센스를 수신하고, 요청자가 이러한 사용자라는 것을 SRL(308)이 열거하면, 요청자에게는 SRL(308) 내의 사용자를 위해 설명된 권한을 갖는 라이센스가 부여된다. 알 수 있는 바와 같이, 특정 SRL(308)은 몇가지 엔티티 및 그에 대한 권한을 리스트할 수 있고, 특정 요청자에게는 존재하는 하나 이상의 엔티티의 구성원에 기초하여 라이센스가 부여될 수 있다.When issuing a license of protected content, the license issuing entity (hereinafter referred to as the 'licensor') refers to the SRL 308 sent from the content, which user / group / cluster / block / platform / etc. ), And whether the certificate sent to identify the license requester will be provided. Based on this, the licensor determines which rights of those listed in the SRL 308 will be issued to the requester. Conceptually, the licensor examines the entities listed in the SRL 308 and compares these entities with the requestor. Therefore, if the SRL 308 enumerates that a particular group receives a license and the requester is a member of such a group, the requester is granted a license with the rights described for the group in the SRL 308. Similarly, if SRL 308 enumerates that a particular user has received a license and that the requester is such a user, then the requester is granted a license with the rights described for the user in SRL 308. As can be seen, a particular SRL 308 can list several entities and their rights, and a particular requestor can be licensed based on the membership of one or more entities that exist.

본 발명의 일 실시예에서, 도 12에서 알 수 있는 바와 같이, 요청자는 식별자(1204)를 통해 보내진 인증서(1202) 내에서 식별되는데, 식별자(1204)는 예를 들어 요청자가 조직 디렉토리(1206) 내에서 식별되는 대체명일 수 있다. 이에 대응하여, SRL(308)은 이러한 식별자(1204)에 따라 각각의 권한부여 엔티티를 리스트한다. 그러므로, 라이센스(1208)에 대한 요청 처리의 일부분으로서, 라이센서(1210)는 인증서(1202)로부터 요청자의 식별자(1204)를 얻어서, 얻어진 식별자를 보내진 SRL(308) 내에 리스트된 모든 식별자(1204)와 비교한다. 부합되는 것이 발견되면, 라이센서(1210)는 이 요청자의 식별자(1204)용 SRL(308) 내에 지정된 권한을 갖는 요청자에게 라이센스(1208)를 발행한다.In one embodiment of the present invention, as can be seen in FIG. 12, the requestor is identified within a certificate 1202 sent via identifier 1204, which identifier 1204 is for example the requestor organization directory 1206. It may be an alternative name identified within. Correspondingly, SRL 308 lists each authorization entity according to this identifier 1204. Therefore, as part of the request processing for license 1208, licensor 1210 obtains the requester's identifier 1204 from certificate 1202, so that all identifiers 1204 listed in SRL 308 sent the obtained identifiers are obtained. Compare. If a match is found, the licensor 1210 issues a license 1208 to the requester having the authority specified in the SRL 308 for this requestor's identifier 1204.

또한, 디렉토리의 이용도로, 라이센서(1210)는 또한 요청자가 SRL(308) 내에 리스트된 임의의 다른 엔티티의 구성원인지 판단하여, 디렉토리(1206)가 각각의 다른 엔티티 내의 요청자의 구성원 상태를 반영할 수 있는 적절한 상호참조 정보를 포함한다고 추정한다. 전형적으로, 디렉토리(1206)는 각 요청자에 대해, 그의 식별자(1204)뿐만 아니라, 요청자가 그 구성원인 각 그룹/클러스터/구획/플랫폼/다른 엔티티/등등의 식별자(1208)를 리스트한다. 디렉토리(1206)는 메일 주소, 교체 메일 주소, ID, 교체 ID, 그룹 구성원, 이력 식별자 등과 같은 식별자(1208)를 포함할 수 있다는 것에 주목한다.Further, with the use of the directory, the licensor 1210 may also determine whether the requestor is a member of any other entity listed in the SRL 308 so that the directory 1206 may reflect the member status of the requestor in each other entity. It is assumed that it contains appropriate cross-reference information. Typically, directory 1206 lists, for each requester, not only its identifier 1204, but also an identifier 1208 such as each group / cluster / partition / platform / other entity / etc. That the requester is a member of. Note that directory 1206 may include an identifier 1208 such as a mail address, replacement mail address, ID, replacement ID, group member, history identifier, and the like.

인증서(1202)가 식별자(1204)를 갖는 요청자로부터 수신되고, SRL(308)로부터의 권한 데이타가 요청자로부터 수신되면, 이제 도 13을 참조하여,라이센서(1210)는 다음과 같은 방식으로 라이센스(1208)를 요청자에게 발행한다. 임시로, 라이센서(1210)는 수신된 인증서(1202)로부터 요청자의 식별자(1204)를 얻고(단계 1301), 얻어진 식별자(1204)를 디렉토리(1206) 내에 위치시킨다(단계 1303). 그 다음에, 라이센서(1210)는 요청자 식별자(1204)가 구성원인 각 엔티티의 식별자(1204)를 디렉토리(1206) 내에 위치된 식별자(1204)에 기초하여 위치시킨다(단계 1305). 그러므로, 각각의 위치된 요청자 식별자(1204) 및 모든 위치된 엔티티 식별자(1204)에 대해, 라이센서(1210)는 이러한 식별자(1204)를 보내진 SRL(308) 내에 리스트된 모든 식별자(1204)와 비교한다(단계 1307). 다시 부합되는 것이 발견되면, 라이센서(1210)는 부합 식별자(1204)용 SRL(308) 내에 지정된 권한을 갖는 요청자에게 라이센스(1208)를 발행한다.Once the certificate 1202 is received from the requester with the identifier 1204 and the authorization data from the SRL 308 is received from the requester, referring now to FIG. 13, the licensor 1210 is licensed 1208 in the following manner. ) To the requestor. Temporarily, licensor 1210 obtains the requester's identifier 1204 from received certificate 1202 (step 1301) and places the obtained identifier 1204 in directory 1206 (step 1303). The licensor 1210 then locates the identifier 1204 of each entity of which the requestor identifier 1204 is a member based on the identifier 1204 located in the directory 1206 (step 1305). Therefore, for each located requestor identifier 1204 and all located entity identifiers 1204, the licensor 1210 compares this identifier 1204 with all identifiers 1204 listed in the sent SRL 308. (Step 1307). If a match is found again, the licensor 1210 issues a license 1208 to the requestor with the rights specified in the SRL 308 for the match identifier 1204.

다수의 식별자(1204)가 SRL(308)과 비교되기 때문에, 다수의 부합 식별자(1204)가 SRL(308) 내에서 발견되는 경우가 있을 수 있다는 것을 알기 바란다. 그렇다면, 라이센스(1210)는 SRL(308) 내의 부합 식별자(1204) 중 적절한 것을 선택하여, 선택된 부합 식별자(1204)용 SRL(308) 내에 지정된 권한을 갖는 요청자에게 라이센스(1208)를 발행할 수 있다. 예를 들어, 라이센서는 대부분의 권한을 요청자에게 전달하는 부합 식별자(1204)를 선택할 수 있다(단계 1309b-1). 부합 식별자(1204)가 대부분의 권한을 전하거나, SRL(308) 내의 동일한 종류의 우선순위 표시(1212)에 의존해야 되는 지를 라이센서가 판정할 수 있다는 것을 알기 바란다. 후자의 경우, SRL(308) 내의 각 부합 식별자(사용자)(1204)는 대응하는 우선순위 표시(1212)를 가지며, 더 높은 순위의 표시(1212)는 예를 들어 더 넓은 범위의 부여된 권한을 나타낸다. 그러므로, 라이센서(1210)가 SRL(308) 내에서 다수의 부합 식별자(1204)를 발견하면, 이러한 라이센서(1210)는 최고 순위의 표시(1212)를 갖는 부합 식별자(1204)를 선택한다(단계 1309b-2).Note that since multiple identifiers 1204 are compared to SRL 308, there may be cases where multiple match identifiers 1204 are found within SRL 308. If so, the license 1210 may select the appropriate one of the match identifiers 1204 in the SRL 308 to issue the license 1208 to the requestor with the rights specified in the SRL 308 for the selected match identifier 1204. . For example, the licensor may select a match identifier 1204 that conveys most of the authority to the requestor (step 1309b-1). Note that the licensor may determine whether the match identifier 1204 should convey most of the authority or rely on the same kind of priority indication 1212 in the SRL 308. In the latter case, each matching identifier (user) 1204 in the SRL 308 has a corresponding priority indication 1212, and the higher rank indication 1212, for example, has a wider range of granted privileges. Indicates. Therefore, if licensor 1210 finds multiple match identifiers 1204 in SRL 308, this licensor 1210 selects match identifiers 1204 with indication 1212 of the highest rank (step 1309b). -2).

요청자에 관련된 추가적인 식별자(1204)를 생성하기 위해 디렉토리(1206)를 참조하면, 라이센서(1210)는, 예를 들어 SRL(308)이 생성된 이후 요청자의 메일 주소 또는 ID가 변경된 상황에서 부합이 발견될 수 있는 가능성을 증가시킨다는 것을 알기 바란다. 일반적으로, 디렉토리(1206)는 요청자의 한 식별자(1204)로부터 요청자의 다른 가능한 식별자(1204)로의 맵핑을 제공함으로써, 모든 식별자(1204)는 SRL(308) 내의 식별자(1204)에 대한 부합을 발견하고자 시도할 때 사용될 수 있다.Referring to directory 1206 to generate an additional identifier 1204 related to the requestor, licensor 1210 may find a match, for example, in a situation where the requestor's mail address or ID has changed since the SRL 308 was created. Be aware that it increases the chances of being In general, directory 1206 provides a mapping from one identifier 1204 of the requester to another possible identifier 1204 of the requester, so that all identifiers 1204 find a match for identifier 1204 in SRL 308. Can be used when trying to.

그룹으로의 라이센싱Licensing into Groups

본 발명의 일 실시예에서, 요청자에 의해 제출된 보내진 인증서(1202)는 그룹, 클러스터, 또는 그룹이 디렉토리(1206) 내에서 적절하게 표현되는 임의의 다른 개인 집단(이후, '그룹')을 나타낼 수 있다. 이러한 그룹은 배포 리스트 또는 메일 대체명과 같은 메일-가능 그룹, 또는 네트워크 운영 시스템과 접속하여 규정될 수 있는 보안 그룹 등을 포함할 수 있다. 따라서, 보내진 '그룹' 인증서(1202)를 수신 중인 라이센서(1210)는 실질적으로 이전과 같이 진행한다. 그러나, 보내진 인증서(1202)가 특정 그룹을 나타내기 때문에, 라이센서(1210)로부터 발행된 라이센스(1208)가 인증서(1202) 내에 식별된 그룹을 위한 것이지, 구체적으로 요청자를 위한 것이 아니라는 것을 알기 바란다. 대안적으로, 라이센서(1210)는 디렉토리(1206)로부터 요청자가 인증서91202) 내에 식별된 그룹의 일부라는 것을판정할 수 있으며, 그렇다면 발행된 라이센스(1210)는 요청자를 위한 것이 된다.In one embodiment of the present invention, the sent certificate 1202 submitted by the requestor represents a group, cluster, or any other group of individuals (hereinafter 'groups') in which the group is properly represented within the directory 1206. Can be. Such groups may include mail-enabled groups such as distribution lists or mail alternate names, security groups that may be defined in connection with the network operating system, and the like. Thus, the licensor 1210 receiving the sent 'group' certificate 1202 proceeds substantially as before. However, as the certificate 1202 sent represents a particular group, it is to be understood that the license 1208 issued from the licensor 1210 is for the group identified in the certificate 1202, and not specifically for the requestor. Alternatively, licensor 1210 may determine from directory 1206 that the requestor is part of a group identified in certificate 91202, and if so, issued license 1210 is for the requestor.

전자의 경우에, 발행된 라이센스(1208)는 그룹의 공개 키에 따라 암호화된 콘텐트 키를 포함할 수 있고, 따라서 요청자는 그룹의 대응하는 개인키를 얻을 필요가 있다. 따라서, 요청자는 요청자의 공개 키에 따라 암호화되어 요청자의 대응하는 개인 키에 따라 암호해독가능한, 이러한 개인 키를 갖는 그룹 구성원 인증서를 가질 수 있다.In the former case, the issued license 1208 may include a content key encrypted according to the group's public key, so the requestor needs to obtain the group's corresponding private key. Thus, the requestor may have a group member certificate with such a private key that is encrypted according to the requester's public key and decryptable according to the requester's corresponding private key.

후자의 경우, 발행된 라이센스(1208) 내의 요청자의 공개 키에 따라 암호화된 콘텐트 키를 포함하기 위해, 라이센서(1210)는 이러한 공개 키를 갖는 요청자로부터 인증서를 추가로 수신할 수 있다. 대안적으로, 라이센서(1210)는 파일 상에 이러한 인증서를 가질 수 있고(예를 들어, 도 6a 및 6b의 단계 608-612 참조), 요청자가 보내진 그룹 인증서(1202) 내에 식별된 그룹의 일부라는 것을 디렉토리(1206)로부터 판정할 때와 동일하게 공개 키를 사용할 수 있다.In the latter case, the licensor 1210 may further receive a certificate from the requester with this public key to include the content key encrypted according to the requestor's public key in the issued license 1208. Alternatively, licensor 1210 may have such a certificate on a file (see, for example, steps 608-612 of FIGS. 6A and 6B) and that the requestor is part of a group identified within the group certificate 1202 to which it was sent. The public key can be used in the same manner as in the case of determining from the directory 1206.

특히, SRL(308) 내에 권한을 지정하고 그룹에 따라 라이센스(1208)를 발행하는 것은 기업 또는 조직 세팅 시에 디지탈 권한 관리를 실행하게 한다. 예를 들어, 문서 또는 이메일이 DRM-보호되어, 주어진 부서의 모든 구성원이 문서 또는 이메일을 판독할 권리를 가질 수 있다. 이러한 부서에 대한 그룹(예를 들어, 이메일 대체명)이 가장 흔한 경우인 조직의 디렉토리(1206) 내에 존재한다고 하면, 문서 또는 이메일의 작성자는 개인보다는 그룹 단위로 권한을 부여할 수 있다. 알 수 있는 바와 같이, 이러한 그룹식 권한 부여의 장점은 권한을 갖는 개인의 클래스를 작성자가 지정할 때의 사용의 용이성을 포함한다. 또한, 그룹에 따라 권한을 지정함으로써, 지정된 권한은 그룹에 가입하는 새로운 개인 및 그룹을 떠나는 기존의 개인으로서 '실효'되지 않는다. 그 대신에, 그룹의 모든 현재 구성원은 이러한 그룹의 구성원이 조직 디렉토리(1206) 내에 최신으로 유지되는 한 권한을 발휘할 수 있다.In particular, assigning rights within the SRL 308 and issuing licenses 1208 according to groups allows for digital rights management to be performed at enterprise or organization settings. For example, a document or email may be DRM-protected such that all members of a given department have the right to read the document or email. Given that a group (eg, email alternative name) for such a department exists in the directory 1206 of the organization, which is the most common case, the author of a document or email may authorize on a group basis rather than an individual. As can be seen, the benefits of such grouped authorization include ease of use when the author specifies the class of the authorized individual. In addition, by assigning rights according to a group, the specified rights are not 'effective' as new individuals joining the group and existing individuals leaving the group. Instead, all current members of the group can exercise their rights as long as the members of this group are kept up to date in the organization directory 1206.

라이센싱 중의 정책 도입Introduction of policies during licensing

본 발명의 일 실시예에서, 도 9의 ORT(900)와 관련하여 상술된 바와 같이, DRM 서버/라이센서(1210)는 SRL(308)에 기초하여 라이센스(1208)를 발행할 때 제출된 SRL(308)로부터의 권한 데이타를 변경하거나 대체하도록 될 수 있다. 특히, 제출된 SRL(308) 내의 권한 데이타가 명백하게 무시되고, 라이센서(1210)가 그 대신에 SRL(308)에 기초하여 라이센스(1218) 생성시에 택일적인 정책을 대체하거나 또는 '도입'하는 경우에 몇가지 상황이 발생한다. 라이센서(1210)가 라이센스(1208) 내로 정책을 도입하는 몇가지 특정 상황이 여기에서 개시되지만, 라이센서(1210)는 본 발명의 정신 및 범위를 벗어나지 않는 한도에서 임의의 다른 형태의 상황에서 라이센스(1208) 내로 정책을 도입할 수 있다.In one embodiment of the present invention, as described above in connection with the ORT 900 of FIG. 9, the DRM server / licensor 1210 is based on the SRL 308 and the SRL filed when issuing a license 1208. 308 may be altered or replaced with authorization data. In particular, if the entitlement data in the submitted SRL 308 is explicitly ignored, and the licensor 1210 instead replaces or 'introduces' an alternative policy at the time of license 1218 creation based on the SRL 308. There are a few things that happen. While some specific situations are disclosed herein where the licensor 1210 introduces a policy into the license 1208, the licensor 1210 may be licensed in any other form of context without departing from the spirit and scope of the present invention. Policy can be introduced into

첫번째 경우에, 이제 도 14를 참조하면, 라이센서(1208)는 특별 권한이 부여된 특별 엔티티(사용자, 그룹 등)의 리스트(1214(도 12))를 관리한다. 예를 들어, 특별 엔티티는 그 중에서도 특히, 조직 내의 임의의 더 높은 레벨의 개인, 어떤 관리인, 모든 콘텐트를 렌더할 수 있는 어떤 개인, 및 상술된 개인의 그룹을 포함할 수 있다. 이러한 리스트(1214)는 실제로 각각의 특별 엔티티에 대해 리스트하는 디렉토리 내의 정보를 식별하거나, 또는 이러한 특별 엔티티의 하나 이상의 그룹을단순히 작성하여, 조직 디렉토리(1206) 내에 포함될 수 있다. 따라서, 이러한 특별 엔티티는 그것의 SRL(308)이 달리 이러한 렌더링을 금지하더라도 콘텐트를 렌더할 수 있다.In the first case, now referring to FIG. 14, the licensor 1208 manages a list 1214 (FIG. 12) of special entities (users, groups, etc.) to which special privileges have been granted. For example, a special entity may include, among other things, any higher level person in the organization, any manager, any person capable of rendering all content, and the group of individuals described above. This list 1214 may actually be included in the organization directory 1206 by identifying the information in the directory listing for each special entity, or simply creating one or more groups of such special entities. Thus, such a special entity may render content even if its SRL 308 otherwise prohibits such rendering.

라이센스(1208)에 대한 요청의 일부로서 엔티티가 SRL(308)을 제출하면, 이제 도 14를 참조하면, 라이센서(1210)는 적절한 방식으로 디렉토리(1206)와 체크하여 제출 엔티티가 특별 엔티티로서 특징지워질 수 있는 지를 판정하고(단계 1401), 그렇다면 라이센서(1210)는 제출된 SRL(308) 내에 존재하는 권한 데이타와 다른 특별 권한을 갖는 특별 엔티티를 위한 라이센스(1208)를 생성한다(단계 1403). 특별 권한은 본 발명의 정신 및 범위를 벗어나지 않는 임의의 권리일 수 있다는 것을 알기 바란다. 예를 들어, 특별 권한은 모든 특별 엔티티가 대응하는 콘텐트를 완전히 액세스하여 렌더할 수 있는 것, 특정 그룹으로부터의 모든 특별 엔티티가 콘텐트를 완전히 액세스하여 렌더할 수 있는 것, 라이센스(1208)가 만기되기 이전의 더욱 높은 플레이 카운트 또는 더욱 긴 기간과 같은 향상된 권리를 특정된 특별 엔티티가 수신한다는 것 등등일 수 있다. 특별 권한이 개인 또는 그룹에 대해 특정된 경우, 이러한 권리는 디렉토리(1206) 내의 개인 또는 그룹을 위한 디렉토리 엔트리 내에 지정될 수 있고, 이러한 디렉토리 엔트리는 특별 권한이 위치하게 되는 위치에 대한 적절한 레퍼런스를 가질 수 있으며, 라이센서(1210)는 개인 또는 그룹의 식별자(1204)에 기초하여 데이타베이스 내에서 특별 권한을 발견할 수 있다는 것을 알기 바란다.When an entity submits an SRL 308 as part of a request for a license 1208, and now referring to FIG. 14, the licensor 1210 checks with the directory 1206 in an appropriate manner so that the submitting entity is characterized as a special entity. It is then determined whether it is possible (step 1401), and if so, the licensor 1210 generates a license 1208 for the special entity having special privileges different from the authorization data present in the submitted SRL 308 (step 1403). It is to be understood that the special rights may be any rights without departing from the spirit and scope of the invention. For example, a special right may be that all special entities have full access to and render the corresponding content, all special entities from a particular group have full access to and render the content, and the license 1208 expires. Enhanced rights, such as a previous higher play count or longer duration, may be received by a particular special entity, and so forth. If special rights are specified for an individual or group, these rights may be specified in a directory entry for the person or group in directory 1206, and such directory entries will have appropriate references to where the special rights are located. It is understood that the licensor 1210 may discover special privileges within the database based on the identifier 1204 of the individual or group.

두번째 경우에, 이제 도 15를 참조하면, 라이센서(1208)는 권한이 제한되거나 취소될 제한된 엔티티(사용자, 그룹 등)의 리스트(1216)(도 12)를 유지한다. 예를 들어, 제한된 엔티티는 그중에서도 특히, 조직을 떠난 개인, 유지보수 및 빌딩 직원과 같이 임의의 콘텐트에 대한 임의의 권한을 통상적으로 갖지 않는 조직 내의 개인, 계약자 및 임시 종업원과 같이 조직 내에서 제한된 상태만을 갖는 개인, 및 상술된 개인의 그룹을 포함할 수 있다. 상술된 '특별' 리스트(1214)와 같이, 제한된 리스트(1216)는 또한 각각의 제한된 엔티티에 대해 리스트하는 디렉토리 내의 정보를 식별하거나, 또는 이러한 제한된 엔티티의 하나 이상의 그룹을 단순히 작성함으로써, 조직 디렉토리(1216) 내에 포함될 수 있다. 그러므로, 이러한 제한된 엔티티는 그 SRL(308)이 이러한 렌더링을 다르게 허용하더라도 콘텐트 렌더링으로부터 제한된다.In the second case, now referring to FIG. 15, the licensor 1208 maintains a list 1216 (FIG. 12) of restricted entities (users, groups, etc.) whose rights are to be restricted or revoked. For example, restricted entities are restricted within an organization, especially individuals, contractors, and temporary employees within an organization who typically do not have any rights to any content, such as individuals leaving the organization, maintenance, and building staff. Individuals with only, and groups of individuals described above. Like the 'special' list 1214 described above, the restricted list 1216 may also identify information in the directory listing for each restricted entity, or by simply creating one or more groups of such restricted entities, 1216). Therefore, this restricted entity is restricted from content rendering even though its SRL 308 allows such rendering differently.

엔티티가 라이센스(1208)에 대한 요청의 일부로서 SRL(308)을 제출하면, 이제 도 14를 참조하면, 라이센서(1210)는 적절한 방식으로 디렉토리(1206)와 체크하여 제출 엔티티가 특별 엔티티로서 특징지워질 수 있는 지를 판정하고(단계 1405), 그렇다면 라이센서(1210)는 제출된 SRL(308) 내에 존재하는 권한 데이타와 다른 제한된 권한을 갖는 제한된 엔티티를 위한 라이센스(1208)를 생성한다(단계 1407). 제한된 권한은 본 발명의 정신 및 범위를 벗어나지 않는 임의의 권리일 수 있다는 것을 알기 바란다. 예를 들어, 제한된 권한은 모든 제한된 엔티티가 대응하는 콘텐트를 임의의 방식으로 액세스 및 렌더할 수 없는 것, 특정 그룹으로부터의 모든 제한된 엔티티가 단명 형태만의 콘텐트를 액세스하여 렌더할 수 있는 것, 특정 제한된 엔티티가 일부분의 콘텐트의 하나의 카피만을 프린트할 수 있는 것 등등일 수있다. 또한 제한된 권한은 제한된 엔티티가 어떤 라이센스도 전혀 부여받지 못한 다는 것일 수 있다. 특별 권한과 같이, 제한된 권한이 개인 또는 그룹에 특정된 경우, 이러한 권리는 디렉토리(1206) 내의 개인 또는 그룹을 위한 디렉토리 엔트리 내에 지정될 수 있고, 이러한 디렉토리 엔트리는 특별 권한이 위치하게 되는 위치에 대한 적절한 레퍼런스를 가질 수 있으며, 라이센서(1210)는 개인 또는 그룹의 식별자(1204)에 기초하여 데이타베이스 내에서 특별 권한을 발견할 수 있다.If an entity submits an SRL 308 as part of a request for a license 1208, and now referring to FIG. 14, the licensor 1210 checks with the directory 1206 in an appropriate manner so that the submitting entity may be characterized as a special entity. It is then determined whether it is possible (step 1405), and if so, the licensor 1210 generates a license 1208 for the restricted entity with limited rights that differs from the authorization data present in the submitted SRL 308 (step 1407). It is to be understood that the limited rights may be any rights without departing from the spirit and scope of the invention. For example, restricted rights may mean that all restricted entities cannot access and render the corresponding content in any way, that all restricted entities from a particular group can access and render short-lived content, and Restricted entity may be able to print only one copy of a portion of the content, and so on. Restricted authority may also be that a restricted entity is not granted any license at all. If restricted rights, such as special rights, are specific to an individual or group, those rights may be specified within a directory entry for an individual or group in directory 1206, and this directory entry may be for the location where the special rights are located. Having an appropriate reference, licensor 1210 may discover special privileges within the database based on the identifier 1204 of the individual or group.

세번째 경우에, 라이센서(1208)는 대응하는 콘텐트를 렌더하기 위한 컴퓨팅 장치(14)(도 11) 상에 필요한 적어도의 시스템 요구사항을 지정하기 위해 라이센스(1208) 내로 정책을 도입할 수 있다(단계 1409). 이러한 적어도의 정책 요구사항은 본 발명의 정신 및 범위를 벗어나지 않는 임의의 다른 사항에 관련될 수도 있지만, 전형적으로 컴퓨팅 장치(14)의 신뢰성 및 보안에 관련된다.In a third case, the licensor 1208 may introduce a policy into the license 1208 to specify the minimum system requirements needed on the computing device 14 (FIG. 11) for rendering the corresponding content (step 208). 1409). These minimum policy requirements may relate to any other matter without departing from the spirit and scope of the present invention, but typically relate to the reliability and security of computing device 14.

라이센서(1210)에 관련될 수 있는 신뢰성 및 보안의 주요한 예는 컴퓨팅 장치(14)의 신뢰된 구성요소(18) 또는 그것의 보안부가 통용되고 있는지의 여부이다. 알 수 있는 바와 같이, 이러한 통용성은 버전 번호, 제조일 등에 의해 표시될 수 있고, 신뢰된 구성요소(18) 또는 그 일부의 연대를 반영한다. 또한 알 수 있는 바와 같이, 신뢰된 구성요소(18) 또는 그 일부는 이러한 신뢰된 구성요소(18) 또는 그 일부의 연대와 같은 나쁜 엔티티에 의한 보안 공격에 더욱 취약하다. 따라서, 라이센서(1210)는 어떤 연대를 초과하는 신뢰된 구성요소(18) 또는 그의 일부가 신뢰되지 않아야 한다고 결정하고, 대응하는 콘텐트가 렌더되기 이전에 이러한 신뢰성이 없는 구성요소(18) 또는 그 일부가 갱신될 것을 요구하는 정책을 발행된 라이센스(1208) 내로 도입할 수 있다.A major example of the reliability and security that may be associated with the licensor 1210 is whether the trusted component 18 of the computing device 14 or its security portion is in use. As will be appreciated, this currency may be indicated by version number, date of manufacture, and the like, and reflects the age of trusted component 18 or a portion thereof. As can also be seen, trusted components 18 or portions thereof are more vulnerable to security attacks by bad entities such as the dating of these trusted components 18 or portions thereof. Thus, licensor 1210 determines that a trusted component 18 or portion thereof over some age should not be trusted, and such unreliable component 18 or portion thereof before the corresponding content is rendered. Policy may be introduced into the issued license 1208.

라이센서(1210)에 관련될 신뢰성 및 보안의 다른 예는 콘텐트를 렌더하기 위한 어플리케이션이 실제로 신뢰될 수 있는지의 여부이다. 알 수 있는 바와 같이, 한 어플리케이션은, 예를 들어 콘텐트가 보호되지 않은 형태로 보관될 수 없게 함으로써 라이센스(1208)의 범위 내의 콘텐트를 렌더하도록 신뢰될 수 있지만, 다른 어플리케이션은 마찬가지로 신뢰될 수 없는 경우가 있을 수 있다. 따라서, 라이센서(1210)는 임의의 어플리케이션만이 대응하는 콘텐트를 렌더하도록 사용될 수 있다고 결정하고, 이러한 어플리케이션만이 이러한 콘텐트를 렌더하기 위해 사용될 것을 요구하는 정책을 발행된 라이센스(1208) 내로 도입할 수 있다.Another example of the reliability and security that will be associated with the licensor 1210 is whether an application for rendering content can actually be trusted. As can be seen, one application may be trusted to render content within the scope of license 1208, for example by not allowing the content to be kept in unprotected form, while other applications may not be trusted as well. There can be. Accordingly, the licensor 1210 may determine that only any application can be used to render the corresponding content, and introduce a policy into the issued license 1208 that requires only such application to be used to render this content. have.

물론, 다른 정책 도입 상황도 풍부하다. 일반적으로, 정책 도입은 아마도 요청자에 기초하여 SRL(308) 내의 권한 데이타에 권한을 추가하거나 또는 그 권한 데이타로부터 권한을 제거하도록 실행될 수 있고(단계 1411), 역시 요청자에 기초하여 이러한 권한 데이타로 조건을 추가하거나 또는 그 권한 데이타로부터 조건을 제거하도록 마찬가지로 실행될 수 있다(단계 1413).Of course, other policy adoption situations are also abundant. In general, the policy introduction may be performed to add or remove authority from the authority data in the SRL 308, perhaps based on the requestor (step 1411), and also subject to this authority data based on the requestor. May be similarly performed to add or remove a condition from the authorization data (step 1413).

결론conclusion

본 발명과 관련하여 실행된 프로세스를 실행하는데 필요한 프로그래밍은 비교적 간단하고, 공개된 관련 프로그래밍으로 명백해질 수 있다. 따라서, 이러한 프로그래밍은 여기에 첨부하지 않는다. 그리고, 임의의 특정 프로그래밍이 본 발명의 정신 및 범위를 벗어나지 않고서 본 발명을 실행하는데 사용될 수 있다.The programming required to execute the processes executed in connection with the present invention is relatively simple and can be clarified in the related related art published. Thus, such programming is not attached hereto. And any particular programming may be used to practice the invention without departing from the spirit and scope of the invention.

본 발명의 개념을 벗어나지 않고서 상술된 실시예에 변경이 이루어질 수 있다는 것을 알 수 있을 것이다. 특히, 본 발명은 조직과 같은 규정된 집단과 관련해서 설명되었지만, 본 발명은 또한, 본 발명의 정신 및 범위를 벗어나지 않고서 조직의 서브셋이나 다수의 조직을 망라하는 규정된 집단 내에서도 사용될 수 있다. 그러므로, 본 발명은 개시된 특정 실시예에 제한되지 않고, 첨부된 청구범위에 의해서만 제한된다는 것을 알 수 있을 것이다.It will be appreciated that changes may be made to the above described embodiments without departing from the spirit of the invention. In particular, while the present invention has been described with reference to a defined population, such as an organization, the invention may also be used within a defined population that encompasses a subset or organization of tissues without departing from the spirit and scope of the invention. Therefore, it will be appreciated that the invention is not limited to the specific embodiments disclosed, but only by the appended claims.

Claims (38)

요청자가 대응하는 디지탈 콘텐트를 렌더(render)할 수 있도록 라이센서(licensor)가 상기 요청자에게 디지탈 라이센스(license)를 발행하는 방법에 있어서 - 상기 라이센서는 상기 요청자에 대한 리스트(listing)를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 요청자의 식별자, 및 상기 요청자가 그 구성원인 각 그룹의 식별자를 포함함 -,A method in which a licensor issues a digital license to the requestor so that the requester can render corresponding digital content, the licensor in a directory containing a listing for the requestor. Accessible, the list includes an identifier of the requester and an identifier of each group of which the requester is a member thereof, 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 요청자를 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 -;Receiving a request from the requester, the request including an identifier identifying the requestor, and authorization data associated with the content, the authorization data listing at least one identifier and the authorization associated with it; 상기 요청자의 상기 식별자를 상기 디렉토리 내에 위치시키는 단계;Placing the identifier of the requestor in the directory; 상기 디렉토리 내에 상기 위치된 요청자의 식별자로부터, 상기 요청자가 그 구성원인 각 그룹의 상기 식별자를 상기 디렉토리 내에 위치시키는 단계;Positioning, in the directory, the identifier of each group of which the requester is a member, from the identifier of the requester located in the directory; 부합(match)을 찾기 위해, 상기 위치된 요청자 식별자의 각각 및 각각의 위치된 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing each of the located requestor identifiers and each located group identifier with each identifier listed in the authorization data to find a match; And 부합 식별자와 연관된 권한으로 상기 요청자에게 상기 라이센스를 발행하는 단계Issuing the license to the requestor with the authority associated with the match identifier. 를 포함하는 방법.How to include. 제1항에 있어서,The method of claim 1, 상기 요청자를 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including a digital certificate having the identifier identifying the requestor. 제1항에 있어서,The method of claim 1, 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including the authorization data having a digital signature based on the authorization data. 제3항에 있어서,The method of claim 3, 상기 디지탈 서명을 검증하는 단계를 더 포함하는 방법.Verifying the digital signature. 제1항에 있어서,The method of claim 1, 상기 위치된 요청자 식별자의 각각 및 각각의 위치된 그룹 식별자에 대해,For each of the located requestor identifiers and each located group identifier, 이러한 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing this identifier with each identifier listed in the authorization data; And 상기 비교된 식별자가 부합 식별자인지의 여부를 표시하는 단계Indicating whether the compared identifier is a matching identifier 를 포함하고,Including, 적어도 2개의 부합 식별자를 생기게 하기 위해,To generate at least two matching identifiers, 상기 부합 식별자들 중의 하나를 선택하는 단계; 및Selecting one of the match identifiers; And 상기 선택된 부합 식별자와 연관된 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계Issuing the license to the requestor having authority associated with the selected match identifier. 를 포함하는 방법.How to include. 제5항에 있어서,The method of claim 5, 가장 많은 양의 권한을 상기 요청자에게 전하는 상기 부합 식별자를 선택하는 단계를 포함하는 방법.Selecting the match identifier that conveys the highest amount of authority to the requestor. 제5항에 있어서,The method of claim 5, 상기 권한 데이타 내의 각 식별자는 대응하는 우선순위 표시를 가지며, 상기 방법은 상기 가장 많은 우선순위 표시를 갖는 상기 부합 식별자를 선택하는 단계를 포함하는 방법.Each identifier in the authorization data has a corresponding priority indication, and the method includes selecting the match identifier having the most priority indication. 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 상기 요청자에게 디지탈 라이센스를 발행하는 방법을 실행하기 위한 컴퓨터 실행가능한 명령어들이 저장되어 있는 컴퓨터 판독가능한 매체에 있어서 - 상기 라이센서는 상기 요청자에 대한 리스트를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 요청자의 식별자, 및 상기 요청자가 그 구성원인 각 그룹의 식별자를 포함함 -,A computer readable medium having stored thereon computer executable instructions for executing a method for a licensor to issue a digital license to the requestor so that the requester can render corresponding digital content, the licensor storing a list for the requestor. Access a directory, the list including an identifier of the requester and an identifier of each group of which the requester is a member thereof; 상기 방법은,The method, 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 요청자를 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 -;Receiving a request from the requester, the request including an identifier identifying the requestor, and authorization data associated with the content, the authorization data listing at least one identifier and the authorization associated with it; 상기 요청자의 상기 식별자를 상기 디렉토리 내에 위치시키는 단계;Placing the identifier of the requestor in the directory; 상기 디렉토리 내의 상기 위치된 요청자의 식별자로부터, 상기 요청자가 그 구성원인 각 그룹의 상기 식별자를 상기 디렉토리 내에 위치시키는 단계;Positioning, in the directory, the identifier of each group of which the requester is a member, from the identifier of the located requestor in the directory; 부합을 찾기 위해, 상기 위치된 요청자 식별자의 각각 및 각각의 위치된 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing each of the located requestor identifiers and each located group identifier with each identifier listed in the authorization data to find a match; And 부합 식별자와 연관된 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계Issuing the license to the requestor having an authority associated with a match identifier. 를 포함하는 컴퓨터 판독가능한 매체.Computer-readable media comprising a. 제8항에 있어서,The method of claim 8, 상기 방법은 상기 요청자를 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising a digital certificate having the identifier identifying the requestor. 제8항에 있어서,The method of claim 8, 상기 방법은 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising the authorization data having a digital signature based on the authorization data. 제10항에 있어서,The method of claim 10, 상기 방법은 상기 디지탈 서명을 검증하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.And the method further comprises verifying the digital signature. 제8항에 있어서,The method of claim 8, 상기 방법은,The method, 상기 위치된 요청자 식별자의 각각 및 각각의 위치된 그룹 식별자에 대해,For each of the located requestor identifiers and each located group identifier, 이러한 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing this identifier with each identifier listed in the authorization data; And 상기 비교된 식별자가 부합 식별자인지의 여부를 표시하는 단계Indicating whether the compared identifier is a matching identifier 를 포함하고,Including, 적어도 2개의 부합 식별자를 생기게 하기 위해,To generate at least two matching identifiers, 상기 부합 식별자들 중의 하나를 선택하는 단계; 및Selecting one of the match identifiers; And 상기 선택된 부합 식별자와 연관된 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계Issuing the license to the requestor having authority associated with the selected match identifier. 를 포함하는 컴퓨터 판독가능한 매체.Computer-readable media comprising a. 제12항에 있어서,The method of claim 12, 상기 방법은 가장 많은 양의 권한을 상기 요청자에게 전하는 상기 부합 식별자를 선택하는 단계를 포함하는 컴퓨터 판독가능한 매체.The method includes selecting the match identifier that conveys the highest amount of authority to the requestor. 제12항에 있어서,The method of claim 12, 상기 권한 데이타 내의 각 식별자는 대응하는 우선순위 표시를 가지며, 상기 방법은 상기 가장 많은 우선순위 표시를 갖는 상기 부합 식별자를 선택하는 단계를 포함하는 컴퓨터 판독가능한 매체.Wherein each identifier in the rights data has a corresponding priority indication, and the method includes selecting the matching identifier having the most priority indication. 그룹의 구성원인 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 상기 요청자에게 디지탈 라이센스를 발행하는 방법에 있어서,A method for a licensor to issue a digital license to a requestor so that a requestor who is a member of a group can render corresponding digital content. 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 그룹을 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 -;Receiving a request from the requester, the request including an identifier identifying the group, and authorization data associated with the content, the authorization data listing at least one identifier and the authorization associated with it; 부합을 찾기 위해, 상기 요청으로부터의 상기 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing the group identifier from the request with each identifier listed in the authorization data to find a match; And 상기 부합 그룹 식별자와 연관된 상기 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계 - 상기 발행된 라이센스는 상기 그룹의 공개 키에 따라 암호화된 상기 콘텐트에 대응하는 콘텐트 키를 포함함으로써, 상기 요청자는 그 공개 키에 대응하는 상기 그룹의 개인 키로 상기 콘텐트 키를 얻을 수 있음 -Issuing the license to the requestor having the authority associated with the matching group identifier, wherein the issued license includes a content key corresponding to the content encrypted according to the group's public key, thereby providing the requester with the disclosure. Obtain the content key with the private key of the group corresponding to the key − 를 포함하는 방법.How to include. 제15항에 있어서,The method of claim 15, 상기 그룹을 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including a digital certificate having the identifier identifying the group. 제15항에 있어서,The method of claim 15, 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including the authorization data having a digital signature based on the authorization data. 제17항에 있어서,The method of claim 17, 상기 디지탈 서명을 검증하는 단계를 더 포함하는 방법.Verifying the digital signature. 제15항에 있어서,The method of claim 15, 상기 라이센서는 그룹에 대한 리스트를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 그룹의 식별자, 및 상기 요청자를 포함하는 상기 그룹의 각 구성원의 식별자를 포함하며,The licensor can access a directory containing a list for a group, the list including an identifier of the group, and an identifier of each member of the group including the requestor, 상기 방법은,The method, 상기 요청자로부터 그 식별자를 수신하는 단계;Receiving the identifier from the requester; 상기 그룹에 대한 상기 리스트를 상기 그룹의 상기 식별자에 기초하여 상기 디렉토리 내에 위치시키는 단계; 및Placing the list for the group in the directory based on the identifier of the group; And 상기 디렉토리 내의 상기 그룹에 대해 상기 위치된 리스트가 상기 요청자의 상기 식별자를 포함하는 것을 검증하는 단계Verifying that the located list for the group in the directory includes the identifier of the requester 를 더 포함하는 방법.How to include more. 그룹의 구성원인 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 상기 요청자에게 디지탈 라이센스를 발행하는 방법을 실행하기 위한 컴퓨터 실행가능한 명령어들이 저장되어 있는 컴퓨터 판독가능한 매체에 있어서,A computer readable medium having stored thereon computer executable instructions for executing a method for a licensor to issue a digital license to the requestor so that a requestor who is a member of the group can render the corresponding digital content. 상기 방법은,The method, 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 그룹을 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 -;Receiving a request from the requester, the request including an identifier identifying the group, and authorization data associated with the content, the authorization data listing at least one identifier and the authorization associated with it; 부합을 찾기 위해, 상기 요청으로부터의 상기 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계; 및Comparing the group identifier from the request with each identifier listed in the authorization data to find a match; And 상기 부합 그룹 식별자와 연관된 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계 - 상기 발행된 라이센스는 상기 그룹의 공개 키에 따라 암호화된 상기 콘텐트에 대응하는 콘텐트 키를 포함함으로써, 상기 요청자는 그 공개 키에 대응하는 상기 그룹의 개인 키로 상기 콘텐트 키를 얻을 수 있음 -Issuing the license to the requestor having an authority associated with the matching group identifier, wherein the issued license includes a content key corresponding to the content encrypted according to the group's public key, so that the requester has the public key. Obtain the content key with the private key of the group corresponding to 를 포함하는 컴퓨터 판독가능한 매체.Computer-readable media comprising a. 제20항에 있어서,The method of claim 20, 상기 방법은 상기 그룹을 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한매체.And the method comprises receiving a request from the requestor comprising a digital certificate having the identifier identifying the group. 제20항에 있어서,The method of claim 20, 상기 방법은 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising the authorization data having a digital signature based on the authorization data. 제22항에 있어서,The method of claim 22, 상기 방법은 상기 디지탈 서명을 검증하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.And the method further comprises verifying the digital signature. 제20항에 있어서,The method of claim 20, 상기 라이센서는 상기 그룹에 대한 리스트를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 그룹의 식별자, 및 상기 요청자를 포함하는 상기 그룹의 각 구성원의 식별자를 포함하며,The licensor can access a directory containing a list for the group, the list including an identifier of the group and an identifier of each member of the group including the requestor, 상기 방법은,The method, 상기 요청자로부터 그 식별자를 수신하는 단계;Receiving the identifier from the requester; 상기 그룹에 대한 상기 리스트를 상기 그룹의 상기 식별자에 기초하여 상기 디렉토리 내에 위치시키는 단계; 및Placing the list for the group in the directory based on the identifier of the group; And 상기 디렉토리 내의 상기 그룹에 대해 상기 위치된 리스트가 상기 요청자의상기 식별자를 포함하는 것을 검증하는 단계Verifying that the located list for the group in the directory includes the identifier of the requestor 를 더 포함하는 컴퓨터 판독가능한 매체.The computer readable medium further comprising. 그룹의 구성원인 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 상기 요청자에게 디지탈 라이센스를 발행하는 방법에 있어서 - 상기 라이센서는 상기 그룹에 대한 리스트를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 요청자를 포함하는 상기 그룹의 각 구성원의 식별자를 포함함 -,A method in which a licensor issues a digital license to a requestor so that a requestor who is a member of a group can render a corresponding digital content, wherein the licensor can access a directory containing a list for the group, the list being Includes an identifier of each member of the group containing the requestor-, 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 그룹을 식별하는 식별자, 상기 요청자를 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 -;Receiving a request from the requester, the request comprising an identifier identifying the group, an identifier identifying the requester, and authorization data associated with the content, wherein the authorization data includes at least one identifier and an authorization associated with it To list-; 부합을 찾기 위해, 상기 요청으로부터의 상기 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계;Comparing the group identifier from the request with each identifier listed in the authorization data to find a match; 상기 그룹에 대한 상기 리스트를 상기 그룹의 상기 식별자에 기초하여 상기 디렉토리 내에 위치시키는 단계;Placing the list for the group in the directory based on the identifier of the group; 상기 위치된 리스트로부터, 상기 요청자 식별자가 그 안에 포함된다는 것을 검증하는 단계; 및Verifying from the located list that the requestor identifier is included therein; And 상기 부합 그룹 식별자와 연관된 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계 - 상기 발행된 라이센스는 상기 요청자의 공개 키에 따라 암호화된 상기 콘텐트에 대응하는 콘텐트 키를 포함함으로써, 상기 요청자는 그 공개키에 대응하는 상기 요청자의 개인 키로 상기 콘텐트 키를 얻을 수 있음 -Issuing the license to the requestor having an authority associated with the matching group identifier, wherein the issued license includes a content key corresponding to the content encrypted according to the requester's public key; Obtain the content key with the requester's private key corresponding to 를 포함하는 방법.How to include. 제25항에 있어서,The method of claim 25, 상기 그룹을 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including a digital certificate having the identifier identifying the group. 제25항에 있어서,The method of claim 25, 상기 요청자를 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including a digital certificate having the identifier identifying the requestor. 제27항에 있어서,The method of claim 27, 상기 디지탈 인증서로부터 상기 요청자의 상기 공개 키를 얻는 단계를 더 포함하는 방법.Obtaining the public key of the requester from the digital certificate. 제25항에 있어서,The method of claim 25, 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 방법.Receiving a request from the requester including the authorization data having a digital signature based on the authorization data. 제29항에 있어서,The method of claim 29, 상기 디지탈 서명을 검증하는 단계를 더 포함하는 방법.Verifying the digital signature. 제25항에 있어서,The method of claim 25, 파일 상의 디지탈 인증서로부터 상기 요청자의 상기 공개 키를 얻는 단계를 더 포함하고, 상기 디지탈 인증서는 상기 요청자의 상기 식별자를 포함하는 방법.Obtaining the public key of the requester from a digital certificate on a file, wherein the digital certificate includes the identifier of the requestor. 그룹의 구성원인 요청자가 대응하는 디지탈 콘텐트를 렌더할 수 있도록 라이센서가 상기 요청자에게 디지탈 라이센스를 발행하는 방법을 실행하기 위한 컴퓨터 실행가능한 명령어들이 저장되어 있는 컴퓨터 판독가능한 매체에 있어서 - 상기 라이센서는 상기 그룹에 대한 리스트를 포함하는 디렉토리에 액세스할 수 있고, 상기 리스트는 상기 요청자를 포함하는 상기 그룹의 각 구성원의 식별자를 포함함-,A computer readable medium having stored thereon computer executable instructions for executing a method for a licensor to issue a digital license to the requestor so that a requestor who is a member of the group can render the corresponding digital content. Access a directory containing a list for the list, wherein the list includes an identifier of each member of the group containing the requestor; 상기 방법은,The method, 상기 요청자로부터 요청을 수신하는 단계 - 상기 요청은 상기 그룹을 식별하는 식별자, 상기 요청자를 식별하는 식별자, 및 상기 콘텐트와 연관된 권한 데이타를 포함하고, 상기 권한 데이타는 적어도 하나의 식별자 및 그것과 연관된 권한을 리스트함 - ;Receiving a request from the requester, the request comprising an identifier identifying the group, an identifier identifying the requester, and authorization data associated with the content, wherein the authorization data includes at least one identifier and an authorization associated with it To list-; 부합을 찾기 위해, 상기 요청으로부터의 상기 그룹 식별자를 상기 권한 데이타 내에 리스트된 각각의 식별자와 비교하는 단계;Comparing the group identifier from the request with each identifier listed in the authorization data to find a match; 상기 그룹에 대한 상기 리스트를 상기 그룹의 상기 식별자에 기초하여 상기 디렉토리 내에 위치시키는 단계;Placing the list for the group in the directory based on the identifier of the group; 상기 위치된 리스트로부터, 상기 요청자 식별자가 그 안에 포함된다는 것을 검증하는 단계; 및Verifying from the located list that the requestor identifier is included therein; And 상기 부합 그룹 식별자와 연관된 상기 권한을 갖는 상기 요청자에게 상기 라이센스를 발행하는 단계 - 상기 발행된 라이센스는 상기 요청자의 공개 키에 따라 암호화된 상기 콘텐트에 대응하는 콘텐트 키를 포함함으로써, 상기 요청자는 그 공개 키에 대응하는 상기 요청자의 개인 키로 상기 콘텐트 키를 얻을 수 있음 -Issuing the license to the requestor having the right associated with the matching group identifier, wherein the issued license includes a content key corresponding to the content encrypted according to the requester's public key Obtain the content key with the requester's private key corresponding to the key 를 포함하는 컴퓨터 판독가능한 매체.Computer-readable media comprising a. 제32항에 있어서,33. The method of claim 32, 상기 방법은 상기 그룹을 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising a digital certificate having the identifier identifying the group. 제32항에 있어서,33. The method of claim 32, 상기 방법은 상기 요청자를 식별하는 상기 식별자를 갖는 디지탈 인증서를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising a digital certificate having the identifier identifying the requestor. 제34항에 있어서,The method of claim 34, wherein 상기 방법은 상기 디지탈 인증서로부터 상기 요청자의 상기 공개 키를 얻는단계를 더 포함하는 컴퓨터 판독가능한 매체.The method further comprising obtaining the public key of the requester from the digital certificate. 제32항에 있어서,33. The method of claim 32, 상기 방법은 상기 권한 데이타에 기초한 디지탈 서명을 갖는 상기 권한 데이타를 포함하는 상기 요청자로부터의 요청을 수신하는 단계를 포함하는 컴퓨터 판독가능한 매체.And the method comprises receiving a request from the requester comprising the authorization data having a digital signature based on the authorization data. 제36항에 있어서,The method of claim 36, 상기 방법은 상기 디지탈 서명을 검증하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.And the method further comprises verifying the digital signature. 제32항에 있어서,33. The method of claim 32, 상기 방법은 파일 상의 디지탈 인증서로부터 상기 요청자의 상기 공개 키를 얻는 단계를 더 포함하고, 상기 디지탈 인증서는 상기 요청자의 상기 식별자를 포함하는 컴퓨터 판독가능한 매체.And the method further comprises obtaining the public key of the requester from a digital certificate on a file, the digital certificate comprising the identifier of the requestor. <첨부 1><Attachment 1> <첨부 2><Attachment 2>
KR1020040009028A 2003-02-11 2004-02-11 Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system KR100984440B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/364,627 US7577999B2 (en) 2003-02-11 2003-02-11 Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US10/364,627 2003-02-11

Publications (2)

Publication Number Publication Date
KR20040073356A true KR20040073356A (en) 2004-08-19
KR100984440B1 KR100984440B1 (en) 2010-09-29

Family

ID=32771395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040009028A KR100984440B1 (en) 2003-02-11 2004-02-11 Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system

Country Status (12)

Country Link
US (1) US7577999B2 (en)
EP (1) EP1452941B1 (en)
JP (1) JP4627624B2 (en)
KR (1) KR100984440B1 (en)
CN (1) CN1521980B (en)
AT (1) ATE426210T1 (en)
AU (1) AU2004200468B2 (en)
BR (1) BRPI0400180A (en)
CA (1) CA2456400C (en)
DE (1) DE602004020005D1 (en)
MX (1) MXPA04001292A (en)
RU (1) RU2344469C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194859B2 (en) 2005-09-01 2012-06-05 Qualcomm Incorporated Efficient key hierarchy for delivery of multimedia content

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023276A2 (en) * 2002-08-28 2004-03-18 Matsushita Electric Industrial Co., Ltd. Content-duplication management system, apparatus and method, playback apparatus and method, and computer program
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7827156B2 (en) * 2003-02-26 2010-11-02 Microsoft Corporation Issuing a digital rights management (DRM) license for content based on cross-forest directory information
US7461395B2 (en) * 2003-05-06 2008-12-02 Oracle International Corporation Distributed capability-based authorization architecture using roles
US20050010532A1 (en) * 2003-07-09 2005-01-13 Bea Systems, Inc. Self-service customer license management application using software license bank
US20040249762A1 (en) * 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application using configuration input pages
US20040249756A1 (en) * 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application allowing software version upgrade and downgrade
US20040249760A1 (en) * 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application using encrypted universal resource locators
US20040249755A1 (en) * 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application using a group administration application
US20040249653A1 (en) * 2003-06-03 2004-12-09 Bea Systems, Inc. Self-service customer license management application allowing users to input missing licenses
EA015549B1 (en) 2003-06-05 2011-08-30 Интертраст Текнолоджис Корпорейшн Interoperable systems and methods for peer-to-peer service orchestration
US8019989B2 (en) * 2003-06-06 2011-09-13 Hewlett-Packard Development Company, L.P. Public-key infrastructure in network management
US7716288B2 (en) * 2003-06-27 2010-05-11 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
GB2404489A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
KR100493904B1 (en) * 2003-09-18 2005-06-10 삼성전자주식회사 Method for DRM license supporting plural devices
EP1551022A1 (en) * 2003-12-29 2005-07-06 Sony International (Europe) GmbH Method for copy protection of digital content
US7676846B2 (en) * 2004-02-13 2010-03-09 Microsoft Corporation Binding content to an entity
JP4350549B2 (en) * 2004-02-25 2009-10-21 富士通株式会社 Information processing device for digital rights management
US20070198426A1 (en) * 2004-03-04 2007-08-23 Yates James M Method and apparatus for digital copyright exchange
WO2005094226A2 (en) 2004-03-04 2005-10-13 United States Postal Service System and method for providing centralized management and distribution of information to remote users
US8223653B2 (en) * 2004-04-05 2012-07-17 Ixia Broadcast capable file system
US20050278258A1 (en) * 2004-06-14 2005-12-15 O'donnell Michael User software for facilitating copyright licensing and compliance
KR100608605B1 (en) * 2004-09-15 2006-08-03 삼성전자주식회사 Method and apparatus for digital rights management
CN100412743C (en) * 2004-12-17 2008-08-20 摩托罗拉公司 Method and apparatus for digital right management
EP1694027B1 (en) * 2005-02-22 2009-01-28 Microsoft Corporation Peer-to-peer network information
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US20060272031A1 (en) 2005-05-24 2006-11-30 Napster Llc System and method for unlimited licensing to a fixed number of devices
CN100337175C (en) * 2005-08-12 2007-09-12 华为技术有限公司 Method and system of adding region and obtaining authority object of mobile terminal
CN100337176C (en) 2005-08-15 2007-09-12 华为技术有限公司 Method and device for limitting authority performing in digital copyright
CN1322388C (en) * 2005-08-15 2007-06-20 华为技术有限公司 Method and device for limitting copyright possessing copy leading out authority
US7805375B2 (en) * 2005-08-22 2010-09-28 Microsoft Corporation Digital license migration from first platform to second platform
US20090151006A1 (en) * 2005-08-31 2009-06-11 Sony Corporation Group registration device, group registration release device, group registration method, license acquisition device, license acquisition method, time setting device, and time setting method
US9626667B2 (en) 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
EP1943603A2 (en) * 2005-10-18 2008-07-16 Intertrust Technologies Corporation Methods for digital rights management
US20070156601A1 (en) * 2006-01-03 2007-07-05 International Business Machines Corporation Method and system for providing interoperability between digital rights management systems
US8738639B1 (en) * 2006-02-23 2014-05-27 Verizon Data Services Llc Methods and systems for an information directory providing audiovisual content
CA2636002C (en) 2006-03-06 2016-08-16 Lg Electronics Inc. Data transfer controlling method, content transfer controlling method, content processing information acquisition method and content transfer system
US8429300B2 (en) 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
US20090133129A1 (en) 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
US20070226150A1 (en) * 2006-03-27 2007-09-27 Brent Pietrzak Distribution of digital licenses and software via license tokens
US8775319B2 (en) * 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US20080004886A1 (en) * 2006-06-28 2008-01-03 The Business Software Centre Limited Software rental system and method
US8719574B2 (en) * 2006-08-31 2014-05-06 Red Hat, Inc. Certificate generation using virtual attributes
KR20080022476A (en) 2006-09-06 2008-03-11 엘지전자 주식회사 Method for processing non-compliant contents and drm interoperable system
KR100828370B1 (en) 2006-10-20 2008-05-08 삼성전자주식회사 Method and apparatus for providing DRM contents and license, and method and apparatus for using DRM contents
JP4826428B2 (en) * 2006-10-30 2011-11-30 富士ゼロックス株式会社 Information processing system, information processing apparatus, and information processing program
CN101542495B (en) 2007-01-05 2014-10-22 Lg电子株式会社 Method for transferring resource and method for providing information
US20080167888A1 (en) * 2007-01-09 2008-07-10 I4 Commerce Inc. Method and system for identification verification between at least a pair of entities
EP2013771B1 (en) 2007-02-16 2013-08-21 LG Electronics Inc. Method for managing domain using multi domain manager and domain system
CN101321062B (en) * 2007-06-07 2011-06-15 精品科技股份有限公司 Real-time information safety control method
US8332629B2 (en) * 2007-07-16 2012-12-11 Red Hat, Inc. Mail certificate responder
CN101809580B (en) * 2007-07-23 2014-01-08 英特托拉斯技术公司 Dynamic media zones systems and methods
KR100959074B1 (en) * 2007-12-12 2010-05-20 한국전자통신연구원 The security group creation and authentication on the p2p network
US8522360B2 (en) 2008-01-28 2013-08-27 Seagate Technology Llc Posted move in anchor point-based digital rights management
US8256007B2 (en) * 2008-03-25 2012-08-28 Northrop Grumman Systems Corporation Data security management system and methods
EP2112611A1 (en) * 2008-04-21 2009-10-28 Nokia Siemens Networks Oy License management for groups of network elements
US20090271319A1 (en) * 2008-04-29 2009-10-29 Microsoft Corporation Embedded Licenses for Content
CN101399663B (en) * 2008-10-14 2010-10-20 北京大学 Method, system and device for digital content authentication
WO2011017559A2 (en) * 2009-08-05 2011-02-10 Brinton Services, Inc. Media player and peripheral devices therefore
US8438113B2 (en) * 2010-01-25 2013-05-07 Richard Stahl Automated digital express gateway for licensing and acquiring rights and permissions for 3rd party copyrighted content
WO2011109865A1 (en) * 2010-03-09 2011-09-15 Lock Box Pty Ltd Method and system for sharing encrypted content
US20110225658A1 (en) * 2010-03-10 2011-09-15 Microsoft Corporation End user license agreement on demand
US20120005041A1 (en) * 2010-06-30 2012-01-05 Verizon Patent And Licensing, Inc. Mobile content distribution with digital rights management
JP2012160004A (en) * 2011-01-31 2012-08-23 Sony Computer Entertainment Inc Method for providing content with identifier and id management device
CA2832752A1 (en) 2011-04-11 2012-10-18 Intertrust Technologies Corporation Information security systems and methods
US8082486B1 (en) 2011-06-09 2011-12-20 Storify, Inc. Source attribution of embedded content
US20130282521A1 (en) * 2011-08-29 2013-10-24 Sharad K. Garg Publishing, licensing, distributing and/or consuming education e-content
KR20140076564A (en) * 2011-09-13 2014-06-20 티-데이터 시스템스 (에스) 피티이 엘티디 A method for restricting access to data stored on a memory card and a memory card
KR101439285B1 (en) 2012-11-30 2014-09-11 주식회사 디지캡 A security proxy device for cloud services and method operation of the same
CN103870727B (en) * 2012-12-17 2018-02-02 百度在线网络技术(北京)有限公司 A kind of method and system for being managed collectively authority
US9893769B2 (en) 2013-12-03 2018-02-13 Sony Corporation Computer ecosystem with temporary digital rights management (DRM) transfer
GB201407614D0 (en) * 2014-04-30 2014-06-11 Piksel Inc Content delivery system
US10102216B2 (en) * 2015-04-21 2018-10-16 Google Llc System for associating related digital assets
US10616227B2 (en) 2015-06-30 2020-04-07 Home Box Office, Inc. Content rights headers
FR3038415B1 (en) * 2015-07-01 2017-08-11 Viaccess Sa METHOD FOR PROVIDING PROTECTED MULTIMEDIA CONTENT
CN108027939A (en) * 2015-07-27 2018-05-11 万事达卡国际股份有限公司 The system and method for the data markers tracking data provided using user
CN106713224B (en) * 2015-11-12 2019-12-06 福建福昕软件开发股份有限公司 Document authority control method
US20180232464A1 (en) * 2017-02-15 2018-08-16 Mastery Transcript Consortium Automatic transformation of a multitude of disparate types of input data into a holistic, self-contained, reference database format that can be rendered at varying levels of granularity
CN107835162B (en) * 2017-10-18 2019-06-11 北京深思数盾科技股份有限公司 Software digital permit server gives the method and software digital permit server that permission is signed and issued in the license of software developer's software digital
US11847241B1 (en) * 2018-04-20 2023-12-19 Amazon Technologies, Inc. Management of service permissions
US20200242213A1 (en) * 2019-01-28 2020-07-30 Blackberry Limited Method and system for digital rights management
KR102305691B1 (en) * 2021-04-22 2021-09-28 주식회사 뮤즐리 Method for drm packaging for real-time on-demand digital content and computing device for executing the method

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69031191T2 (en) * 1989-05-15 1998-02-12 Ibm System for controlling access privileges
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5438508A (en) * 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
CA2683230C (en) 1995-02-13 2013-08-27 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5761669A (en) * 1995-06-06 1998-06-02 Microsoft Corporation Controlling access to objects on multiple operating systems
US5758069A (en) * 1996-03-15 1998-05-26 Novell, Inc. Electronic licensing system
US6006332A (en) * 1996-10-21 1999-12-21 Case Western Reserve University Rights management system for digital media
US6219652B1 (en) * 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
JP2000270007A (en) * 1999-03-12 2000-09-29 Sony Corp Network system, network server, and terminal device
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
JP3471654B2 (en) * 1999-04-06 2003-12-02 富士通株式会社 License server, copyright holder system, user system, system, recording medium, and content use control method
US7213262B1 (en) 1999-05-10 2007-05-01 Sun Microsystems, Inc. Method and system for proving membership in a nested group using chains of credentials
US7099479B1 (en) * 1999-08-27 2006-08-29 Sony Corporation Information transmission system, transmitter, and transmission method as well as information reception system, receiver and reception method
US6801998B1 (en) * 1999-11-12 2004-10-05 Sun Microsystems, Inc. Method and apparatus for presenting anonymous group names
US6792537B1 (en) * 1999-11-22 2004-09-14 Sun Microsystems, Inc. Mechanism for determining restrictions to impose on an implementation of a service
US6772340B1 (en) 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
KR20010096814A (en) * 2000-04-14 2001-11-08 홍기융 Digital Signature Certificate Based Security Kernel Method for File System Protection
US7020781B1 (en) * 2000-05-03 2006-03-28 Hewlett-Packard Development Company, L.P. Digital content distribution systems
WO2001095175A2 (en) * 2000-06-05 2001-12-13 Sealedmedia Limited Digital rights management
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
AU2001271704A1 (en) * 2000-06-29 2002-01-14 Cachestream Corporation Digital rights management
JP3587143B2 (en) * 2000-08-24 2004-11-10 日本電信電話株式会社 INFORMATION USE CONTROL METHOD, DEVICE, AND RECORDING MEDIUM RECORDING THE PROGRAM
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
JP4609683B2 (en) * 2000-11-30 2011-01-12 ソニー株式会社 Information processing apparatus and method, and program storage medium
EP1370921A2 (en) * 2001-03-12 2003-12-17 Koninklijke Philips Electronics N.V. Receiving device for securely storing a content item, and playback device
GB2374165A (en) * 2001-04-02 2002-10-09 Global Knowledge Network Secure distribution of electronic media
EP1479016A2 (en) * 2001-05-29 2004-11-24 Matsushita Electric Industrial Co., Ltd. Rights management unit
US6807542B2 (en) * 2001-08-14 2004-10-19 International Business Machines Corporation Method and apparatus for selective and quantitative rights management
US7546359B2 (en) * 2001-10-24 2009-06-09 Groove Networks, Inc. Method and apparatus for managing a peer-to-peer collaboration system
US7484103B2 (en) * 2002-01-12 2009-01-27 Je-Hak Woo Method and system for the information protection of digital content
US7376624B2 (en) * 2002-02-27 2008-05-20 Imagineer Software, Inc. Secure communication and real-time watermarking using mutating identifiers
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
WO2003096136A2 (en) * 2002-05-10 2003-11-20 Protexis Inc. System and method for multi-tiered license management and distribution using networked clearinghouses
US7891007B2 (en) * 2002-06-28 2011-02-15 Microsoft Corporation Systems and methods for issuing usage licenses for digital content and services
US7353402B2 (en) * 2002-06-28 2008-04-01 Microsoft Corporation Obtaining a signed rights label (SRL) for digital content and obtaining a digital license corresponding to the content based on the SRL in a digital rights management system
US20040088541A1 (en) * 2002-11-01 2004-05-06 Thomas Messerges Digital-rights management system
US20040158731A1 (en) * 2003-02-11 2004-08-12 Microsoft Corporation Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
US7827156B2 (en) * 2003-02-26 2010-11-02 Microsoft Corporation Issuing a digital rights management (DRM) license for content based on cross-forest directory information
US7694149B2 (en) * 2003-11-11 2010-04-06 Panasonic Corporation Method for judging use permission of information and content distribution system using the method
US7571488B2 (en) * 2004-03-31 2009-08-04 Panasonic Corporation Rights management terminal, server apparatus and usage information collection system
KR101322515B1 (en) * 2005-09-29 2013-10-25 콘텐트가드 홀딩즈 인코포레이티드 System and method for digital rights management using advanced copy with issue rights, and managed copy tokens
JP2007304849A (en) * 2006-05-11 2007-11-22 Sony Corp Management device, information processor, management method, and information processing method
US20070269044A1 (en) * 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194859B2 (en) 2005-09-01 2012-06-05 Qualcomm Incorporated Efficient key hierarchy for delivery of multimedia content
KR101331541B1 (en) * 2005-09-01 2014-01-28 퀄컴 인코포레이티드 Efficient key hierarchy for delivery of multimedia content
KR101388547B1 (en) * 2005-09-01 2014-04-23 퀄컴 인코포레이티드 Efficient key hierarchy for delivery of multimedia content
US9565171B2 (en) 2005-09-01 2017-02-07 Qualcomm Incorporated Efficient key hierarchy for delivery of multimedia content

Also Published As

Publication number Publication date
CA2456400A1 (en) 2004-08-11
CN1521980A (en) 2004-08-18
EP1452941B1 (en) 2009-03-18
CA2456400C (en) 2013-12-24
MXPA04001292A (en) 2005-08-16
ATE426210T1 (en) 2009-04-15
AU2004200468A1 (en) 2004-08-26
DE602004020005D1 (en) 2009-04-30
BRPI0400180A (en) 2004-12-28
EP1452941A2 (en) 2004-09-01
AU2004200468B2 (en) 2010-01-07
KR100984440B1 (en) 2010-09-29
US7577999B2 (en) 2009-08-18
JP2004246900A (en) 2004-09-02
US20040158709A1 (en) 2004-08-12
EP1452941A3 (en) 2005-09-14
RU2004103871A (en) 2005-08-20
JP4627624B2 (en) 2011-02-09
CN1521980B (en) 2010-07-21
RU2344469C2 (en) 2009-01-20

Similar Documents

Publication Publication Date Title
KR100984440B1 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management(drm) system
JP4418648B2 (en) System and method for issuing licenses for use of digital content and services
JP4750352B2 (en) How to get a digital license for digital content
AU2004200471B2 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
KR100949657B1 (en) Using a flexible rights template to obtain a signed rights labelsrl for digital content in a rights management system
JP4724360B2 (en) Method for obtaining a signature rights label (SRL) for digital content using a rights template in a digital rights management system
KR100971854B1 (en) Systems and methods for providing secure server key operations
EP1465040B1 (en) Issuing a publisher use licence off-line in a digital rights management (DRM) System
CA2457938C (en) Enrolling/sub-enrolling a digital rights management(drm) server into a drm architecture
JP2004062890A (en) System and method of offering digital rights management service

Legal Events

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

Payment date: 20130813

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140814

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 9