KR102560295B1 - 사용자-보호된 라이센스 - Google Patents

사용자-보호된 라이센스 Download PDF

Info

Publication number
KR102560295B1
KR102560295B1 KR1020207033188A KR20207033188A KR102560295B1 KR 102560295 B1 KR102560295 B1 KR 102560295B1 KR 1020207033188 A KR1020207033188 A KR 1020207033188A KR 20207033188 A KR20207033188 A KR 20207033188A KR 102560295 B1 KR102560295 B1 KR 102560295B1
Authority
KR
South Korea
Prior art keywords
user
usage rights
agent
encrypted
content
Prior art date
Application number
KR1020207033188A
Other languages
English (en)
Other versions
KR20210003179A (ko
Inventor
에릭 딜
Original Assignee
소니그룹주식회사
소니 픽쳐스 엔터테인먼트, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니그룹주식회사, 소니 픽쳐스 엔터테인먼트, 인크. filed Critical 소니그룹주식회사
Publication of KR20210003179A publication Critical patent/KR20210003179A/ko
Application granted granted Critical
Publication of KR102560295B1 publication Critical patent/KR102560295B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 라이센스를 분배하고 집행하는 것은 사용 권한들을 준동형 암호화를 사용하는 키로 암호화하고 암호화된 사용 권한들을 에이전트에 송신하는 단계; 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행함으로써 발생된 수정된 암호화된 사용 권한들을 에이전트로부터 수신하는 단계; 및 수정된 암호화된 사용 권한들을 복호화하고 에이전트에 복호화된 수정된 사용 권한들을 다시 송신하는 단계를 포함하고, 사용 권한들은 논스로 준동형 연산의 역인 연산을 수행함으로써 복호화된 수정된 사용 권한들로부터 추출된다.

Description

사용자-보호된 라이센스
본 개시내용은 디지털 권한들 관리(DRM) 라이센스들에 관한 것으로, 특히, DRM 라이센스들을 분배하고 집행하는 것에 관한 것이다.
DRM 라이센스들은 고객 관리 서비스들 또는 권한들 로커들로부터 그들의 허가 및 사용 권한들을 수신하는 라이센스 서버들에 의해 현재 발행된다. 이들 라이센스는 주어진 디바이스 또는 디바이스들의 세트에 바인드된다. DRM 또는 조건부 액세스 시스템(CAS)은 라이센스 또는 자격 관리 메시지(EMM)라고 하는 데이터 구조 내에 콘텐트의 부분 및 사용자와 연관된 사용 권한들을 이송할 수 있다. 이 라이센스는 단지 하나의 주어진 디바이스 또는 식별된 디바이스들의 세트가 데이터 구조를 이용할 수 있도록 보호(및 제한)된다. 이 제한은 목표된 디바이스에 대해 유일하게 라이센스를 암호화함으로써 수행된다. 그러므로, 사용 권한들은 일부 비밀들을 홀드하는 하드웨어 디바이스들의 주어진 세트의 소유권에 바인드된다. 라이센스는 일반적으로 라이센스 서버에 의해 발생된다.
그러나, 위에 설명된 셋업은 몇가지 단점들을 갖는다. 예를 들어, 이 셋업으로, 사용자는 사용자의 페르소나에 의한 것보다 사용자에 의해 소유된 디바이스들에 의해 정해진다. 사용자가 새로운 디바이스를 획득하면, 사용자는 새로운 디바이스에 전용된 라이센스들의 새로운 세트를 발행할 라이센스 서버에(또는 일부 경우들에서 권한들 로커에) 새로운 디바이스를 등록하여야 한다.
위에 설명된 셋업의 단점들을 해결하기 위해, 블록체인이 사용자의 모든 라이센스들을 홀드하기 위해 사용되는 또 하나의 셋업이 제안되었다. 이 셋업의 하나의 단점은 사용 권한들이 익명으로 되지 않는다는 것이다. 즉, 블록체인이 잠재적으로 공개적일 때, 공격자는 사용자에 의해 구매된 타이틀들을 발견할 수 있는데, 왜냐하면 사용 권한들이 명백했고, 또는 암호화된 경우, 알려진 블록체인들 내의 유사한 라이센스들을 찾음으로써 되기 때문이다.
본 개시내용은 라이센스를 여전히 보호하면서, 라이센스를 디바이스에보다는 그것의 라이센시에 바인드하기 위해 제공한다.
한 구현에서, 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 라이센스를 분배하고 집행하기 위한 방법이 개시된다. 방법은 사용 권한들을 준동형 암호화를 사용하는 키로 암호화하고 암호화된 사용 권한들을 에이전트에 송신하는 단계; 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행함으로써 발생된 수정된 암호화된 사용 권한들을 에이전트로부터 수신하는 단계; 및 수정된 암호화된 사용 권한들을 복호화하고 에이전트에 복호화된 수정된 사용 권한들을 다시 송신하는 단계를 포함하고, 사용 권한들은 논스로 준동형 연산의 역인 연산을 수행함으로써 복호화된 수정된 사용 권한들로부터 추출된다.
한 구현에서, 방법은 추출된 사용 권한들이 라이센스 내에 포함된 사용 권한들과 동일하다는 것을 검증하는 단계를 추가로 포함한다. 한 구현에서, 방법은 검증이 이루어질 때 사용 권한들에 따라 소비될 콘텐트를 수신하는 단계를 추가로 포함한다. 한 구현에서, 콘텐트는 사용자에 의해 소유된 이동 디바이스 상에 설치된 애플리케이션에 의해 수신된다. 한 구현에서, 키는 사용자에게 유일한 비밀 키이다. 한 구현에서, 키는 사용자에 의해 셀프 발생된다. 한 구현에서, 준동형 암호화는 준동형 연산으로서 진보된 암호화 표준 카운터(AES-CTR) 모드 및 배타적 OR(XOR)을 사용한다.
또 하나의 구현에서, 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 라이센스를 분배하고 집행하기 위한 방법이 개시된다. 방법은 준동형 암호화를 사용하는 키로 암호화된 사용자로부터 암호화된 사용 권한들을 수신하는 단계; 수정된 암호화된 사용 권한들을 발생시켜 사용자에 송신하기 위해 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행하는 단계; 키를 사용하여 복호화되었던 복호화된 수정된 사용 권한들을 사용자로부터 수신하는 단계; 및 논스로 준동형 연산의 역인 연산을 수행함으로써 복호화된 수정된 사용 권한들로부터 사용 권한들을 추출하는 단계를 포함한다.
한 구현에서, 방법은 추출된 사용 권한들이 라이센스 내에 포함된 사용 권한들과 동일하다는 것을 검증하는 단계를 추가로 포함한다. 한 구현에서, 라이센스는 암호화된 사용 권한들, 해시 사용 권한들, 및 등록 기관의 디지털 서명을 포함한다. 한 구현에서, 방법은 등록 기관의 디지털 서명의 유효성을 체크함으로써 라이센스의 유효성을 검증하는 단계를 추가로 포함한다.
또 다른 구현에서, 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 라이센스를 집행하기 위한 애플리케이션을 포함하는 이동 디바이스가 개시된다. 이동 디바이스는 에이전트와 결합된 제1 인터페이스; 및 등록 기관과 결합되고, 등록 기관에 의해 발생된 콘텐트에 대한 사용 권한들을 수신하도록 구성된 제2 인터페이스를 포함하고, 애플리케이션은 준동형 암호화를 사용하는 키로 사용 권한들을 암호화하고 제1 인터페이스를 통해 에이전트에 암호화된 사용 권한들을 송신하고, 에이전트는 암호화된 사용 권한들을 수신하고 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행하고 제1 인터페이스를 통해 애플리케이션에 수정된 암호화된 사용 권한들을 다시 송신하고, 애플리케이션은 논스로 준동형 연산의 역인 연산을 수행함으로써 사용 권한들의 유효성 및 사용자를 검증하기 위해 수정된 암호화된 사용 권한들을 복호화하고, 에이전트에 복호화된 수정된 사용 권한들을 다시 송신한다.
한 구현에서, 사용 권한들의 유효성은 복호화된 수정된 사용 권한들로부터 사용 권한들을 추출하고; 추출된 사용 권한들이 라이센스 내에 포함된 사용 권한들과 동일하다는 것을 검증함으로써 검증된다. 한 구현에서, 애플리케이션은 사용 권한들의 유효성이 에이전트에 의해 검증될 때 사용 권한들에 따라 소비될 콘텐트를 제3 인터페이스를 통해 수신한다. 한 구현에서, 라이센스는 블록체인 상에 저장된다.
또 다른 구현에서, 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 라이센스를 집행하는 컴퓨터 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 개시된다. 컴퓨터 프로그램은 컴퓨터로 하여금 사용 권한들을 준동형 암호화를 사용하는 키로 암호화하고 암호화된 사용 권한들을 에이전트에 송신하고; 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행함으로써 발생된 수정된 암호화된 사용 권한들을 에이전트로부터 수신하고; 수정된 암호화된 사용 권한들을 복호화하고 에이전트에 복호화된 수정된 사용 권한들을 다시 송신하게 하는 실행가능한 명령어들을 포함하고, 사용 권한들은 논스로 준동형 연산의 역인 연산을 수행함으로써 복호화된 수정된 사용 권한들로부터 추출된다.
한 구현에서, 비일시적 컴퓨터 판독가능 저장 매체는 컴퓨터로 하여금 추출된 사용 권한들이 라이센스 내에 포함된 사용 권한들과 동일하다는 것을 검증하게 하는 실행가능한 명령어들을 추가로 포함한다. 한 구현에서, 비일시적 컴퓨터 판독가능 저장 매체는 컴퓨터로 하여금 검증이 이루어질 때 사용 권한들에 따라 소비될 콘텐트를 수신하게 하는 실행가능한 명령어들을 추가로 포함한다. 한 구현에서, 콘텐트는 사용자에 의해 소유된 이동 디바이스 상에 설치된 애플리케이션에 의해 수신된다. 한 구현에서, 준동형 암호화는 준동형 연산으로서 진보된 암호화 표준 카운터(AES-CTR) 모드 및 배타적 OR(XOR)을 사용한다.
다른 특징들 및 장점들이 본 개시내용의 양태들을 예로서 예시한 본 설명으로부터 분명해진다.
본 개시내용의 상세들은 그 구조와 동작에 있어서, 유사한 참조 번호들이 유사한 부분들을 참조하는 첨부 도면들의 연구에 의해 부분적으로 얻어질 수 있다.
도 1a는 본 개시내용의 한 구현에 따른 콘텐트(예를 들어, 미디어)에 대한 라이센스를 분배하고 집행하기 위한 시스템의 블록도이고;
도 1b는 본 개시내용의 한 구현에 따른 콘텐트(예를 들어, 미디어)에 대한 라이센스를 분배하고 집행하기 위한 과정의 흐름도이고;
도 2는 본 개시내용의 한 구현에 따른 등록 기관에 의해 발생된 라이센스의 블록도이고;
도 3은 본 개시내용의 또 하나의 구현에 따른 등록 기관에 의해 발생된 라이센스의 블록도이고;
도 4a는 본 개시내용의 한 구현에 따른 에이전트에 의해 난독화된 암호화된 사용 권한들을 발생시키기 위한 과정을 도시한 흐름도이고;
도 4b는 본 개시내용의 한 구현에 따른 난독화된 암호화된 사용 권한들을 수신하고 사용자에 의해 난독화된 복호화된 사용 권한들을 발생시키기 위한 과정을 도시한 흐름도이고;
도 5는 본 개시내용의 한 구현에 따른 사용 권한들을 수신하고 디스크램블된 콘텐트를 발생시키기 위한 과정을 도시한 흐름도이다.
위에 설명된 것과 같이, 주어진 디바이스 또는 디바이스들의 세트에 바인드되는 DRM 라이센스들에 단점들이 존재한다. 본 개시내용의 소정의 구현들은 라이센스를 여전히 보호하면서, 라이센스를 디바이스에 보다는 그것의 라이센시에 바인드하기 위해 제공한다. DRM 에이전트 또는 기관은 사용자와 어떤 비밀들을 공유하지 않지만 사용자를 인증하고 라이센스가 사용자에 "속하는" 것을 여전히 보장한다. 이 해결책은 블록체인에 프라이버시를 부가하는데 왜냐하면 그것은 라이센스된 콘텐트의 포트폴리오를 개시하지 않기 때문이다.
이들 설명을 읽은 후에, 다양한 구현들 및 응용들에서 본 개시내용을 어떻게 구현하는지가 분명해질 것이다. 본 개시내용의 다양한 구현들이 본원에 설명되지만, 이들 구현은 단지 예로서 제시된 것이고, 제한하지 않는다는 것이 이해된다. 이와 같이, 다양한 구현들의 이 상세한 설명은 본 개시내용의 범위 또는 폭을 제한하는 것으로 해석되지 않아야 한다.
도 1a는 본 개시내용의 한 구현에 따른 콘텐트(예를 들어, 미디어)에 대한 라이센스를 분배하고 집행하기 위한 시스템(100)의 블록도이다. 도 1a의 도시된 구현에서, 라이센스 분배 시스템(100)은 DRM 에이전트(110), 등록 기관(120), 콘텐트 제공자(130), 및 사용자(140)를 포함한다. 한 구현에서, 용어 "사용자"는 애플리케이션(예를 들어, 사용자의 이동 디바이스 상의 애플리케이션), 사용자 크리덴션들, 또는 사용자의 페르소나라고 할 수 있다.
한 구현에서, 사용자(140)는 콘텐트 제공자(130)로부터 콘텐트를 구매하고 DRM 에이전트(110)를 통해 콘텐트를 플레이한다. 사용자(140)는 비밀 대칭 키일 수 있는, 셀프 발생된 사용자 키(142)를 갖는다. 한 구현에서, 사용자는 스마트 카드와 같은 착탈가능한 디바이스 상에서 또는 클라우드 내에서 실행하는 애플리케이션이다. 또 하나의 구현에서, 사용자는 이동 디바이스 상에서 실행하는 애플리케이션이다. 콘텐트 제공자(130)는 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트를 사용자(140)에 제공하도록 구성된다. 한 구현에서, 콘텐트를 소비하는 것은 사용자가 이동 디바이스 상에서 콘텐트를 플레이하는 것을 포함한다. 등록 기관(120)은 콘텐트에 대한 라이센스를 발생시키도록 구성된다. 라이센스는 주어진 사용자(140)에 대한 사용 권한들의 세트 및 사용 권한들의 해시를 이송한다. DRM 에이전트(110)는 라이센스를 수신하고 라이센스가 유효하고 사용 권한들이 적절히 이행되는지를 검증한다. 그런 경우에, DRM 에이전트(110)는 콘텐트를 복호화하고 사용자(140)에 복호화된 콘텐트를 제공한다.
한 구현에서, 사용자(140)는 등록 기관(120)으로부터 사용 권한들을 수신하고 사용자에게 유일한 사용자 키(142)로 사용 권한들을 암호화한다. 한 구현에서, 사용 권한들은 복호화될 때 보통 텍스트에 대해 수행되는 연산들의 결과와 일치하는, 암호화된 텍스트 상에서 계산들이 수행되게 하는 준동형 암호화를 사용하여 암호화된다. 그러므로, 암호화 E가 연산자 ∫와 준동형이면, 2개의 메시지 m 및 m'가 주어지고, D(E(m)∫m')=m ∫m'이고, 여기서 D는 암호화 E에 대응하는 복호화를 나타낸다.
한 구현에서, DRM 에이전트(110)는 암호 기법 통신에서 단지 한번 사용되는 임의의 랜덤 또는 의사-랜덤 수인, ("난독화"라고 하는) 논스로 암호화된 사용 권한들에 대해 준동형 연산을 수행한다. 그러므로, 준동형 연산은 선택된 준동형 암호화와 호환가능하여야 한다. 사용자(140)는 수정된(또는 난독화된) 암호화된 사용 권한들을 수신하여 복호화하고 결과를 DRM 에이전트에 리턴한다. DRM 에이전트(110)는 리턴된 연산이 올바른지를 검증한다. 이 경우에, 사용자(140)는 사용자(140)가 사용 권한들을 암호화하기 위해 원래 사용된 적절한 복호화 키를 갖는 경우에만 적절한 정보를 리턴할 수 있다.
사용자(140)가 이동 디바이스 상에서 애플리케이션으로서 구현되는 한 구현에서, 이동 디바이스는 DRM 에이전트(110)와 인터페이스하는 제1 인터페이스(144); 등록 기관(120)과 인터페이스하는 제2 인터페이스(146); 및 콘텐트 제공자(130)와 인터페이스하는 제3 인터페이스(148)를 포함한다. 한 구현에서, 제2 인터페이스(146)는 등록 기관(120)에 의해 발생된 사용 권한들을 수신하고 사용 권한들을 준동형 암호화를 사용하는 키로 사용 권한들을 암호화하는 애플리케이션에 송신하도록 구성된다. 애플리케이션은 제1 인터페이스(144)를 통해 암호화된 사용 권한들을 에이전트(110)에 송신한다. 에이전트(110)는 난독화된 암호화된 사용 권한들을 발생시켜 제1 인터페이스(144)를 통해 애플리케이션에 다시 송신하기 위해 암호화된 사용 권한들을 수신하여 논스로 그들에 대해 연산을 수행한다. 애플리케이션은 다음에 난독화된 암호화된 사용 권한들을 복호화하고 사용 권한들의 유효성 및 사용자를 검증하기 위해 난독화된 복호화된 사용 권한들을 에이전트에 다시 송신한다. 한 구현에서, 복호화된 콘텐트는 콘텐트가 애플리케이션에 의해 소비될 수 있도록 에이전트(110)가 사용 권한들 및 사용자를 유효하다고 검증할 때 제1 인터페이스(144)를 통해 에이전트(110)로부터 수신된다. 또 하나의 구현에서, 제3 인터페이스는 에이전트(110)가 애플리케이션에 의해 콘텐트가 소비될 수 있도록 사용 권한들 및 사용자를 유효하다고 검증할 때 콘텐트 제공자(130)로부터 복호화된 콘텐트를 수신하도록 구성된다.
도 1b는 본 개시내용의 한 구현에 따른 콘텐트(예를 들어, 미디어)에 대한 라이센스를 분배하고 집행하기 위한 과정(150)의 흐름도이다. 도 1b의 도시된 구현에서, 사용자(140)가 콘텐트 제공자(130)로부터 콘텐트를 구매할 때, 사용자(140)는 단계 152에서, 라이센스 내에 기술된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트를 콘텐트 제공자(130)로부터 수신한다. 콘텐트 제공자(130)는 또한 단계 154에서, 콘텐트에 대한 라이센스를 발생시키라고, 등록 기관(120)에 알린다. 라이센스는 주어진 사용자(140)에 대한 사용 권한들의 세트를 이송한다. 사용 권한들은 다음에 단계 160에서, 등록 기관(120)으로부터 사용자(140)에 송신되고 사용자(140)는 사용자에게 유일한 사용자 키(142)로 사용 권한들을 암호화하고, 단계 162에서, 암호화된 사용 권한들을 DRM 에이전트(110)에 송신한다. 한 구현에서, 사용 권한들은 복호화될 때 보통 텍스트에 대해 수행되는 연산들의 결과와 일치하는, 암호화된 텍스트 상에서 계산들이 수행되게 하는 준동형 암호화를 사용하여 암호화된다. 그러므로, 암호화 E가 연산자 ∫와 준동형이면, 2개의 메시지 m 및 m'가 주어지고, D(E(m)∫m')=m ∫m'이고, 여기서 D는 암호화 E에 대응하는 복호화를 나타낸다.
한 구현에서, DRM 에이전트(110)는 논스로 암호화된 사용 권한들에 대해 연산을 수행하고 DRM 에이전트(110)는 결과를 사용자(140)에 다시 송신한다. 사용자(140)는 단계 170에서, 수정된 암호화된 사용 권한들을 수신하여 암호화하고, 결과를 DRM 에이전트(110)에 다시 리턴한다. DRM 에이전트(110)는 단계 180에서, 리턴된 연산이 올바른지를 검증한다. 이 경우에, 사용자(140)는 사용자(140)가 사용 권한들을 원래 암호화하기 위해 사용된 사용자 키(142)에 대응하는 적절한 복호화 키를 갖는 경우에만 적절한 정보를 리턴할 수 있다. 그러므로, 단계 180에서, 리턴된 연산이 올바른 것이라고 결정되면, 단계 184에서, 콘텐트는 사용 권한들에 따라 플레이될 수 있다. 그렇지 않고, 단계 180에서, 리턴된 연산이 올바른 것이 아니라고 결정되면, 단계 182에서, 콘텐트는 플레이될 수 없다.
한 구현에서, 사용자(140)가 콘텐트 제공자(130)로부터 콘텐트를 구매할 때, 다음의 연산들이 콘텐트 제공자(130) 및 등록 기관(120)에 의해 수행된다. 콘텐트 제공자(130)는 콘텐트의 항목의 식별자 및 콘텐트의 사용의 라이센스된 조건들을 포함하는, 사용 권한들을 정한다. 콘텐트 제공자(130)는 사용자(140)와의 링크로 사용 권한들을 등록 기관(120)에 송신한다. 등록 기관(120)은 사용자(140)에게 사용 권한들을 암호화하라고 요청한다. 사용자(140)는 그것의 사용자 키(142)로 사용 권한들을 암호화하고 암호화된 사용 권한들을 등록 기관(120)에 리턴한다. 한 구현에서, 사용 권한들은 준동형 암호화를 사용하여 암호화된다. 등록 기관(120)은 해시 사용 권한들을 생성하는 사용 권한들의 해시를 계산한다. 한 구현에서, 해시들은 베이스64에서 코딩된 SHA-512이다.
한 구현에서, 사용 권한들은 다음과 같이 나타내질 수 있다:
사용 권한들 = {콘텐트 ID, 라이센스된 권한들}, 여기서
콘텐트 ID는 엔터테인먼트 식별자 등록소(EIDR)를 사용하고,
라이센스된 권한들은 라이센스된 오디오 언어들의 리스트 및 라이센스된 서브타이틀들의 리스트를 리스트하는 데이터 구조이다.
한 구현에서, DRM 에이전트(110)는 스크램블링 키 CW를 암호화하기 위해 유일한 128-비트 DRM_KEY를 사용한다. 한 구현에서, 진보된 암호화 표준(AES) 암호화가 사용된다. 그러므로, 암호화된 CW = AES{DRM_KEY}(CW)이다. 또한, 콘텐트는 다음과 같이 표현될 수 있다:
콘텐트 = {콘텐트 ID, 암호화된 CW, 스크램블된 에센스}, 여기서
콘텐트 ID는 EIDR 코드이고,
암호화된 CW는 AES 암호화된 CW이고,
스크램블된 에센스는 (모든 가용한 오디오 트랙들 및 서브타이틀 트랙들을 포함하는) 에센스이고 CW로 암호화된 AES이다.
다른 구현들에서, 콘텐트 제공자(130)는 몇가지 DRM 기술들을 사용하고, 그 경우에, 각각의 지원된 DRM 에이전트는 DRM-ID에 의해 식별된다. 이 경우에, 콘텐트는 또한 쌍들 DRM-ID의 리스트 및 대응하는 암호화된 CW를 또한 포함한다. 또한, 각각의 암호화된 CW는 대응하는 DRM 에이전트의 비밀 DRM_KEY에 의해 암호화된 CW이다.
한 구현에서, 사용자(140)가 콘텐트 제공자(130)로부터 콘텐트를 구매할 때, 콘텐트 제공자(130)는 EIDR 글로벌 데이터베이스 내에 콘텐트의 구매된 버전을 등록하고 콘텐트 ID를 수신한다. 콘텐트 제공자(130)는 또한 CW인 랜덤 128-비트 수를 발생시킨다. 또한, 콘텐트 제공자(130)는 대응하는 DRM_KEY로 CW를 암호화함으로써 대응하는 암호화된 CW를 계산한다. 콘텐트 제공자(130)는 스크램블된 에센스를 발생시키기 위해 CW로 클리어 에센스를 스크램블한다. 한 구현에서, 스크램블링은 CTR 모드에서 AES를 사용한다. 콘텐트 제공자(130)는 콘텐트 내로 모든 이들 정보를 패키지한다. 콘텐트는 다음에 그것이 셀프 보호되는 대로 자유롭게 분배될 수 있다.
도 2는 본 개시내용의 한 구현에 따른 등록 기관에 의해 발생된 라이센스(200)의 블록도이다. 도 2의 도시된 구현에서, 라이센스(200)는 암호화된 사용 권한들(210), 해시 사용 권한들(220), 및 서명(230)을 포함한다. 한 구현에서, 서명(230)은 암호화된 사용 권한들(210) 및 해시 사용 권한들(220)의 등록 기관에 의한 디지털 서명이다. 한 구현에서, 등록 기관(120)은 다음에 사용자에 라이센스(200)를 제공한다. 또 하나의 구현에서, 라이센스는 블록체인 상에 저장된다.
한 구현에서, 사용자(140)가 콘텐트의 항목을 플레이하기 전에, DRM 에이전트(110)는 제공된 라이센스(200)에 관한 3가지 조건을 수신하고 검증한다. 첫째, DRM 에이전트(110)는 알려진 정당한 기관이 서명(230)의 유효성을 체크함으로써 라이센스를 발행하였고 그것이 등록 기관(120)에 의해 서명되었다는 것을 검증한다. 둘째, DRM 에이전트(110)는 라이센스의 소유자(즉, 사용자)가 다음을 수행함으로써 라이센스의 사용 권한들을 복호화할 수 있었던 것을 확실하게 하기를 체크한다: (1) 논스(Agent_nonce)를 발생시키고; (2) ObfuscatedEncryptedUsage Rights = f(Agent_nonce, EncrytedUsageRights)를 계산하고; (3) 사용자 키(142)를 사용하여 그것을 복호화하기 위해 사용자(140)에 ObfuscatedEncryptedUsageRights를 송신하고; (4) 사용자(140)로부터 결과, Obfuscated DecryptedUsageRights를 다시 수신하고; (5) DecryptedUsageRights = f -1 (Agent_nonce, ObfuscatedDecryptedUsage Rights)를 계산하고; (6) 그것이 해시 사용 권한들(220)과 동일하다는 것을 검증하기 위해 DecryptedUsageRights의 해시를 계산한다. (3)에 관해서, 암호화는 연산 f에 대한 준동형이기 때문에, 결과는 원래의 사용 권한들이어야 한다. 또한, 논스는 트랜스퍼된 DecryptedUsageRights를 보호하기 위해 사용되었기 때문에, 사용자(140)가 사용자 키(142)를 소유하여 갖고 있었다는 증명이 존재한다. 이것은 또한 공격자가 딕셔너리 공격을 생성할 수 없다는 것을 보장한다. 셋째, DRM 에이전트(110)는 사용 권한들이 유효하다는 것, 즉, 조건들이 이행되는 것을 체크한다. 따라서, 위에 기술된 3가지 조건이 맞을 때, DRM 에이전트(110)는 콘텐트를 복호화하기를 진행한다.
한 특정한 구현에서, 준동형 암호화는 라고 표시된 연산 XOR에 대한 진보된 암호화 표준 카운터(AES-CTR) 모드를 사용한다. 그러므로, 연산은 다음과 같이 묘사된다:
, 여기서
E {K,IV} 는 키 K를 사용하는 CTR 모드 내의 AES 암호화 및 0에서의 초기 카운터를 갖는 초기 논스 또는 초기화 벡터(IV)를 나타내고,
D {K,IV} 는 대응하는 복호화를 나타낸다.
AES-CTR 모드의 사용은 XOR 함수가 암호화된 메시지에 적용될 수 있다는 것을 의미한다.
도 1a를 다시 참조하면, 한 구현에서, 사용자 키(142)는 사용자에게 유일한 128-비트 랜덤 수이고 사용자(140)에 의해 발생된다. 사용자 키(142)는 단지 사용자에게만 알려지고 비밀로 유지된다. 한 특정한 구현에서, 등록 기관(120)은 서명을 발생시키기 위해 Rivest-Shamir-Adleman(RSA) 4096 공개-개인 키 쌍(K pub_authority K pri_authority )을 사용한다. 키 K pub_authority 는 모든 사용자들 및 DRM 에이전트들에 가용하다. 한 특정한 구현에서, 등록 기관(120)은 (사용자(140)에) RSA 2048 공개-개인 키 쌍(K pub_user K pri_user ) 및 K pri_authority 로 등록 기관에 의해 서명된 대응하는 X509 인증서를 전달한다.
도 3은 본 개시내용의 또 하나의 구현에 따른 등록 기관에 의해 발생된 라이센스(300)의 블록도이다. 도 3의 도시된 구현에서, 라이센스(300)는 암호화된 사용 권한들(310), 해시 사용 권한들(320), 초기화 벡터(IV)(330), 및 서명(340)을 포함한다. 한 구현에서, 서명(340)은 암호화된 사용 권한들(310), 해시 사용 권한들(320), 및 IV(330)의 등록 기관(120)에 의한 디지털 서명이다. 한 구현에서, 등록 기관(120)은 다음에 사용자에 라이센스(200)를 제공한다. 또 하나의 구현에서, 라이센스는 블록체인 상에 저장된다.
또 하나의 구현에서, 사용자가 콘텐트 제공자로부터 콘텐트의 항목을 구매할 때, 다음의 연산들이 도 1a에 도시한 엔티티들에 의해 수행된다. 콘텐트 제공자(130)는 사용 권한들(UsageRights)을 정한다. 사용 권한들은 사용자(140)에 의해 취득된 모든 오디오 트랙들 및 서브타이틀들을 리스트한다. 등록 기관(120)은 HashUsageRights를 생성하기 위해 사용 권한들의 해시를 계산한다. 한 구현에서, HashUsageRights = SHA-512(UsageRights)이다. 콘텐트 제공자(130)는 사용자(140) 및 사용자의 공개 인증서, K pub_user 와의 링크로 등록 기관(120)에 사용 권한들을 송신한다. 등록 기관(120)은 그것이 사용자(140)에 전달되는 공개-개인 키 쌍(K pub_user K pri_user )에 기초하는 전형적인 도전 응답을 사용하여 사용자(140)의 신분을 검증한다. 등록 기관(120)은 사용자(140)에 안전하게 사용 권한들을 송신함으로써 사용자(140)에게 사용 권한들을 암호화하라고 요청한다. 사용자(140)는 128-비트 논스 IV를 발생시킴으로써 사용자 키(142)로 사용 권한들을 암호화한다. 사용자(140)는 EncryptedUsage Rights = E {UserKey,IV} (UsageRights)이므로 사용자 키 및 IV(330)로 UsageRights를 암호화함으로써 EncryptedUsageRights를 계산한다. 사용자(140)는 다음에 등록 기관(120)에 EncryptedUsageRights 및 IV를 리턴하여, 위에 설명된 요소들을 포함하는 라이센스를 구축한다.
도 4a는 본 개시내용의 한 구현에 따른 에이전트에 의해 난독화된 암호화된 사용 권한들을 발생시키기 위한 과정(400)을 도시한 흐름도이다. 그러므로, 도 4a의 도시된 구현에서, 사용자(140)가 콘텐트의 항목을 플레이하기 전에, DRM 에이전트(110)는 저장된 K pub_authority 를 사용하여, 단계 420에서, 서명(340)의 유효성을 체크함으로써, 단계 410에서, 라이센스(300)의 유효성을 수신하고 검증한다. 단계 420에서, 서명의 유효성이 검증될 수 없다면, 단계 422에서 과정(400)은 중지한다. 그렇지 않고, 단계 420에서, 서명의 유효성이 검증되면, 단계 430에서, DRM 에이전트(110)는 다음에 EncryptedUsageRights(즉, 그 자신의 키를 사용하여 사용자에 의해 암호화된 사용 권한들)의 크기의 논스(즉, Agent_nonce)를 발생시키고, 단계 440에서, Obfuscated EncryptedUsageRights = EncryptedUsageRights Agent_nonce를 계산한다. 단계 450에서, IV(330)와 함께, 결과(즉, ObfuscatedEncryptedUsageRights)는 사용자(140)에 송신된다.
도 4b는 본 개시내용의 한 구현에 따른 난독화된 암호화된 사용 권한들을 수신하고 사용자에 의해 난독화된 복호화된 사용 권한들을 발생시키기 위한 과정(460)을 도시한 흐름도이다. 도 4b의 도시된 구현에서, 단계 470에서, 난독화된 암호화된 사용 권한들이 에이전트로부터 수신된다. 단계 480에서, 난독화된 복호화된 사용 권한들은 다음에 사용자 키(142) 및 IV(330)를 사용하여 난독화된 암호화된 사용 권한들을 복호화함으로써, 발생된다. ObfuscatedDecryptedUsage Rights = D {UserKey,IV} (Obfuscated EncryptedUsageRights)이다. 단계 490에서, 결과는 에이전트에 다시 송신된다.
도 5는 본 개시내용의 한 구현에 따른 난독화된 복호화된 사용 권한들을 수신하고 디스크램블된 콘텐트를 발생시키기 위한 과정(500)을 도시한 흐름도이다. 그러므로, 도 5의 도시된 구현에서, 에이전트(110)는 단계 510에서, ObfuscatedDecryptedUsageRights를 수신하고, 단계 520에서, DecryptedUsageRights = Agent_nonce Obfuscated DecryptedUsageRights를 계산한다. DRM 에이전트(110)는 또한 단계 530에서, DecryptedUsageRights의 해시를 계산하고, 단계 540에서, 그것이 HashUsageRights(즉, 등록 기관(120)으로부터 원래 수신된 라이센스 내의 사용 권한들의 해시; SHA_512(DecryptedUsageRights) == HashUsageRights)와 동일하다는 것을 검증한다. 단계 540에서, 테스트가 긍정적이면, 단계 550에서, DRM 에이전트(110)는 Decrypted UsageRights 내의 콘텐트 ID가 콘텐트의 콘텐트 ID와 일치한다는 것을 검증함으로써 DecryptedUsage Rights가 유효한지를 검증한다. 그렇다면, 단계 560에서, DRM 에이전트(110)는 그것의 비밀 키 DRM_KEY로 암호화된 CW를 복호화하고, 클리어 CW를 검색한다. DRM 에이전트(110)는 다음에 단계 570에서, CW로 콘텐트를 디스크램블하고, DecryptedUsageRights 내에 리스트된 언어들 및 서브타이틀들을 제공한다. 그렇지 않고, 단계들 540 및/또는 550에서 테스트들이 부정적이면, 과정(500)은 중지한다.
개시된 구현들의 본원의 설명은 본 기술 분야의 통상의 기술자가 본 개시내용을 만들거나 사용하게 하기 위해 제공된다. 본 기술 분야의 통상의 기술자들은 이들 구현에 대한 수많은 수정들을 쉽게 이해할 것이고, 본원에 정의된 내용들은 본 개시내용의 취지 또는 범위에서 벗어나지 않고서 다른 구현들에 적용될 수 있다. 그러므로, 본 개시내용은 본원에 도시한 구현들로 제한하려는 것이 아니고 본원에 개시된 내용 및 신규한 특징들과 일치하는 가장 폭넓은 범위에 따른다.
본 개시내용의 다양한 구현들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 기술의 조합들에서 실현된다. 일부 구현들은 하나 이상의 컴퓨팅 디바이스에 의해 실행되는 하나 이상의 컴퓨터 프로그램을 포함한다. 일반적으로, 컴퓨팅 디바이스는 하나 이상의 프로세서, 하나 이상의 데이터-저장 소자들(예를 들어, 휘발성 또는 비휘발성 모듈들 및 하드 및 플로피 디스크 드라이브들, CD-ROM 드라이브들, 및 자기 테이프 드라이브들과 같은, 영구적인 광학 및 자기 저장 디바이스들), 하나 이상의 입력 디바이스(예를 들어, 게임 컨트롤러들, 마우스들 및 키보드들), 및 하나 이상의 출력 디바이스(예를 들어, 디스플레이 디바이스들)를 포함한다.
컴퓨터 프로그램들은 영구적인 저장 매체 내에 일반적으로 저장되고 다음에 실행 시간에 메모리 내로 복사되는 실행가능한 코드를 포함한다. 적어도 하나의 프로세서는 규정된 순서로 메모리로부터 프로그램 명령어들을 검색함으로써 코드를 실행한다. 프로그램 코드를 실행할 때, 컴퓨터는 입력 및/또는 저장 디바이스들로부터 데이터를 수신하고, 데이터에 대한 연산들을 수행하고, 다음에 결과 데이터를 출력 및/또는 저장 디바이스들에 전달한다.
본 기술 분야의 통상의 기술자들은 본원에 설명된 다양한 예시적 모듈들 및 방법 단계들이 전자 하드웨어, 소프트웨어 또는 이들의 조합들로서 구현될 수 있다는 것을 알 것이다. 하드웨어와 소프트웨어의 이 상호교환성을 분명히 나타내기 위해, 다양한 예시적 모듈들 및 방법 단계들이 그들의 기능성의 면에서 일반적으로 설명되었다. 이러한 기능성이 전체 시스템 상에 부과된 특정한 적용 및 설계 제한들에 따라 하드웨어 또는 소프트웨어로서 구현된다. 통상의 기술자들은 각각의 특정한 적용에 대해 다양한 방식들로 설명된 기능성을 구현할 수 있지만, 이러한 구현 결정들은 본 개시내용의 범위에서 벗어나는 것으로서 해석되어서는 안된다. 또한, 모듈 또는 단계 내의 기능들의 그룹핑은 설명의 용이성을 위한 것이다. 특정한 기능들은 본 개시내용에서 벗어나지 않고서 하나의 모듈 또는 단계로부터 또 하나의 모듈 또는 단계로 이동될 수 있다.
각각의 위에 논의된 예의 모든 특징들은 본 개시내용의 특정한 구현에서 반드시 요구되지 않는다. 또한, 본원에 제시된 설명 및 도면들은 본 개시내용에 의해 대체로 고려된 주제를 나타낸다는 것을 이해하여야 한다. 본 개시내용의 범위는 본 기술 분야의 통상의 기술자들에게 명백해 질 수 있고 본 개시내용의 범위가 그에 따라 첨부된 청구범위 이외의 것에 의해 제한되지 않는 다른 구현들을 완전히 포함한다는 것이 또한 이해된다.

Claims (20)

  1. 라이센스 내에 포함된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 상기 라이센스를 분배하고 집행하는 방법으로서, 상기 방법은
    상기 콘텐트에 대한 상기 라이센스를, 사용자에 의해 소유되는 사용자 디바이스에 보다는 라이센시(licensee)인 사용자에 바인드하는 단계
    를 포함하고, 상기 바인드하는 단계는:
    상기 사용자 디바이스에서, 상기 사용 권한들을 준동형 암호화를 사용하여 상기 사용자 디바이스를 소유하는 상기 사용자에게 유일한 키로 암호화하고 상기 암호화된 사용 권한들을 에이전트에 송신하는 단계 - 상기 에이전트는 수정된 암호화된 사용 권한들을 생성하기 위해 논스로 상기 암호화된 사용 권한들에 대해 준동형 연산을 수행하여 상기 사용자와 임의의 비밀(secrets)을 공유하지 않고 상기 사용자를 인증할 수 있도록 하고, 상기 논스는 상기 사용자와 상기 에이전트 사이의 통신 동안 단지 한번 사용되는 의사-랜덤 수임 -;
    상기 사용자 디바이스에서, 상기 에이전트로부터 상기 수정된 암호화된 사용 권한들을 수신하는 단계;
    상기 사용자 디바이스에서, 복호화된 수정된 사용 권한을 생성하기 위해 상기 수정된 암호화된 사용 권한들을 복호화하고 상기 에이전트에 상기 복호화된 수정된 사용 권한들을 다시 송신하는 단계;
    상기 사용자 디바이스에서, 상기 사용 권한들을 상기 논스로 상기 준동형 연산의 역인 연산을 수행함으로써 상기 복호화된 수정된 사용 권한들로부터 추출하는 단계;
    상기 에이전트에서, 상기 추출된 사용 권한들이 상기 라이센스 내에 포함된 상기 사용 권한들과 동일하다는 것을 검증하는 단계; 및
    상기 사용자가, 상기 사용자에 의해 선택된 임의의 사용자 디바이스에서 상기 콘텐트를 소비하는 것을 가능하게 하는 단계에 의해
    이루어지는, 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 검증이 이루어질 때, 상기 사용자 디바이스에서, 상기 사용 권한들에 따라 소비될 상기 콘텐트를 수신하는 단계를 추가로 포함하는 방법.
  4. 제3항에 있어서, 상기 콘텐트는 상기 사용자에 의해 소유된 이동 디바이스의 애플리케이션에 의해 수신되는 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 사용자 디바이스에서, 상기 키를 상기 사용자에 의해 셀프 발생시키는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 준동형 연산은 진보된 암호화 표준 카운터(AES-CTR) 모드 및 배타적 OR(XOR)을 포함하는 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 라이센스 내에 포함된 사용 권한들에 의해 정해진 조건들에 따라 소비될 콘텐트에 대한 상기 라이센스를 집행하는 컴퓨터 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금
    상기 콘텐트에 대한 상기 라이센스를, 사용자에 의해 소유되는 사용자 디바이스에 보다는 라이센시인 사용자에 바인드하게 하고,
    상기 바인드는:
    상기 사용 권한들을 준동형 암호화를 사용하여 사용자 디바이스를 소유하는 상기 사용자에게 유일한 키로 암호화하고 상기 암호화된 사용 권한들을 에이전트에 송신하여 상기 에이전트가 상기 사용자와 임의의 비밀을 공유하지 않고 상기 사용자를 인증할 수 있도록 하고 - 상기 에이전트는 수정된 암호화된 사용 권한들을 생성하기 위해 논스로 상기 암호화된 사용 권한들에 대해 준동형 연산을 수행하고, 상기 논스는 상기 사용자와 상기 에이전트 사이의 통신 동안 단지 한번 사용되는 의사-랜덤 수임 -,
    상기 에이전트로부터 상기 수정된 암호화된 사용 권한들을 수신하고,
    복호화된 수정된 사용 권한들을 생성하기 위해 상기 수정된 암호화된 사용 권한들을 복호화하고 상기 에이전트에 상기 복호화된 수정된 사용 권한들을 다시 송신하고,
    사용 권한들을 상기 논스로 상기 준동형 연산의 역인 연산을 수행함으로써 상기 복호화된 수정된 상기 사용 권한들로부터 추출하고,
    상기 추출된 사용 권한들이 상기 라이센스 내에 포함된 상기 사용 권한들과 동일하다는 것을 검증하고,
    상기 사용자가, 상기 사용자에 의해 선택된 임의의 사용자 디바이스에서 상기 콘텐트를 소비하는 것을 가능하게 함으로써
    이루어지는, 실행가능한 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
  17. 삭제
  18. 제16항에 있어서, 상기 컴퓨터로 하여금
    상기 검증이 이루어질 때 상기 사용 권한들에 따라 소비될 상기 콘텐트를 수신하게 하는 실행가능한 명령어들을 추가로 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
  19. 삭제
  20. 제16항에 있어서, 상기 준동형 연산은 진보된 암호화 표준 카운터(AES-CTR) 모드 및 배타적 OR(XOR)을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020207033188A 2018-05-22 2019-05-21 사용자-보호된 라이센스 KR102560295B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/986,641 2018-05-22
US15/986,641 US20190362054A1 (en) 2018-05-22 2018-05-22 User-protected license
PCT/US2019/033264 WO2019226622A1 (en) 2018-05-22 2019-05-21 User-protected license

Publications (2)

Publication Number Publication Date
KR20210003179A KR20210003179A (ko) 2021-01-11
KR102560295B1 true KR102560295B1 (ko) 2023-07-28

Family

ID=68614159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207033188A KR102560295B1 (ko) 2018-05-22 2019-05-21 사용자-보호된 라이센스

Country Status (6)

Country Link
US (1) US20190362054A1 (ko)
EP (1) EP3782059A4 (ko)
JP (1) JP2021525030A (ko)
KR (1) KR102560295B1 (ko)
CN (1) CN112189197A (ko)
WO (1) WO2019226622A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108933650B (zh) * 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置
CN110661610B (zh) * 2018-06-29 2020-11-03 创新先进技术有限公司 安全多方计算协议的输入获取方法和装置
US11283620B2 (en) * 2019-10-01 2022-03-22 Here Global B.V. Method, apparatus, and system for providing a homomorphic cryptosystem
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
US11928188B1 (en) * 2020-11-24 2024-03-12 Anonyome Labs, Inc. Apparatus and method for persistent digital rights management
KR20220101309A (ko) 2021-01-11 2022-07-19 주식회사 엘지에너지솔루션 전지 모듈 및 이의 제조 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060288421A1 (en) * 2005-06-15 2006-12-21 Tsai Ivy S Methods and apparatuses for reviewing general public licenses
US20160261404A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US20160381405A1 (en) * 2015-06-26 2016-12-29 Ned M. Smith Technologies for selective content licensing and secure playback

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63160444A (ja) * 1986-12-23 1988-07-04 Mitsubishi Electric Corp 暗号通信装置
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US7363499B2 (en) * 2003-09-18 2008-04-22 Sun Microsystems, Inc. Blinded encryption and decryption
WO2005093989A1 (en) * 2004-03-29 2005-10-06 Smart Internet Technology Crc Pty Limited Digital license sharing system and method
EP1635545B1 (en) * 2004-09-14 2013-04-10 Sony Ericsson Mobile Communications AB Method and system for transferring of digital rights protected content using USB or memory cards
WO2007036862A2 (en) * 2005-09-30 2007-04-05 Koninklijke Philips Electronics N.V. Secure management of content owned by multiple-persons
JP4733497B2 (ja) * 2005-10-25 2011-07-27 日本放送協会 コンテンツ配信装置、ライセンス発行装置、課金装置およびコンテンツ視聴端末、ならびに、ライセンス要求生成プログラム、ライセンス生成プログラムおよび課金プログラム
JP2007172593A (ja) * 2005-11-22 2007-07-05 Matsushita Electric Ind Co Ltd ライセンス管理装置、ライセンス管理方法およびライセンス管理プログラム
US8296240B2 (en) * 2007-03-22 2012-10-23 Sony Corporation Digital rights management dongle
WO2011020088A1 (en) * 2009-08-14 2011-02-17 Azuki Systems, Inc. Method and system for unified mobile content protection
US8789196B2 (en) * 2010-05-28 2014-07-22 Adobe Systems Incorporated System and method for providing content protection of linearly consumed content with a bidirectional protocol for license acquisition
CN106462689B (zh) * 2014-05-13 2019-06-14 日本电信电话株式会社 安全***、管理装置、许可装置、终端装置、安全方法以及记录介质
SG11201808657TA (en) * 2016-04-01 2018-10-30 Jpmorgan Chase Bank Na Systems and methods for providing data privacy in a private distributed ledger
US11258587B2 (en) * 2016-10-20 2022-02-22 Sony Corporation Blockchain-based digital rights management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060288421A1 (en) * 2005-06-15 2006-12-21 Tsai Ivy S Methods and apparatuses for reviewing general public licenses
US20160261404A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US20160381405A1 (en) * 2015-06-26 2016-12-29 Ned M. Smith Technologies for selective content licensing and secure playback

Also Published As

Publication number Publication date
EP3782059A4 (en) 2021-12-15
CN112189197A (zh) 2021-01-05
KR20210003179A (ko) 2021-01-11
EP3782059A1 (en) 2021-02-24
JP2021525030A (ja) 2021-09-16
US20190362054A1 (en) 2019-11-28
WO2019226622A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
US11811914B2 (en) Blockchain-based digital rights management
KR102560295B1 (ko) 사용자-보호된 라이센스
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
RU2504005C2 (ru) Устройство и способ управления цифровыми правами
US7975312B2 (en) Token passing technique for media playback devices
US8539233B2 (en) Binding content licenses to portable storage devices
KR20060025159A (ko) 라이센스 수신용 사용자 단말
KR20130044366A (ko) Drm 시스템을 위한 사용자 기반 콘텐트 키 암호화
US10574458B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
US20080294901A1 (en) Media Storage Structures for Storing Content, Devices for Using Such Structures, Systems for Distributing Such Structures
Gaber et al. Privdrm: A privacy-preserving secure digital right management system
US10902093B2 (en) Digital rights management for anonymous digital content sharing
Davidson et al. Content sharing schemes in DRM systems with enhanced performance and privacy preservation
Huang et al. A digital right management system based on smart card for digital cinema
Grimen et al. Software-based copy protection for temporal media during dissemination and playback
Davidson et al. Efficient and enhanced solutions for content sharing in DRM systems
Sun et al. A Trust Distributed DRM System Using Smart Cards
KR20160108072A (ko) 콘텐츠 제공 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant