KR20070046982A - 하드웨어 식별에 기초한 디지털권 관리 시스템 - Google Patents

하드웨어 식별에 기초한 디지털권 관리 시스템 Download PDF

Info

Publication number
KR20070046982A
KR20070046982A KR1020077008555A KR20077008555A KR20070046982A KR 20070046982 A KR20070046982 A KR 20070046982A KR 1020077008555 A KR1020077008555 A KR 1020077008555A KR 20077008555 A KR20077008555 A KR 20077008555A KR 20070046982 A KR20070046982 A KR 20070046982A
Authority
KR
South Korea
Prior art keywords
hardware
signature
software application
digital
hardware device
Prior art date
Application number
KR1020077008555A
Other languages
English (en)
Inventor
로버트 에버트
Original Assignee
인벤텍 어플라이언스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인벤텍 어플라이언스 코포레이션 filed Critical 인벤텍 어플라이언스 코포레이션
Publication of KR20070046982A publication Critical patent/KR20070046982A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • 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/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

디지털권 관리 방법이 제공된다. 이 방법은 애플리케이션 코드 및 데이터 리소스들을 포함하는 메인 코드 성분을 가진 디지털 소프트웨어 애플리케이션을 사용하여 권리를 관리하기 위해 사용된다. 이 방법은 하드웨어 식별 속성을 포함하는 보안 성분을 생성하고 이 보안 성분을 메인 코드 성분에 첨부하여 소프트웨어 애플리케이션 패키지를 형성한다. 소프트웨어 애플리케이션 패키지가 하드웨어 디바이스 상에 설치될 때, 상기 보안 성분은 하드웨어 식별 속성이 또한 하드웨어 디바이스에 존재할 때만 소프트웨어 애플리케이션을 인에이블시킨다.
디지털권 관리 방법, 애플리케이션 코드, 데이터 리소스, 메인 코드 성분, 디지털 소프트웨어 애플리케이션, 하드웨어 식별 속성

Description

하드웨어 식별에 기초한 디지털권 관리 시스템{Digital rights management system based on hardware identification}
본 개시내용은 본원과 같은 날짜에 출원되고, 발명의 명칭이 "하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자 소프트웨어 분배 방법 및 시스템(Electronic Software Distribution Method and System Using a Digital Rights Management Method Based on Hardware Identification)"인 미국 특허 출원과 관련이 있다.
본 개시내용은 일반적으로 디지털권 관리(Digital Rights Management; DRM) 분야에 관한 것으로, 특히 소프트웨어 애플리케이션들과 같은 디지털 콘텐츠의 사용자 권한들(user rights)을 디지털적으로 관리하기 위한 방법들, 장치들 및 시스템들에 관한 것이다 .
디지털권 관리(DRM)는 디지털 형태로 존재하거나 또는 디지털 방법에 의해 관리될 수 있는 재산권의 소유자들에게 이 디지털 시대에서 가장 큰 과제들 중 하나를 제기한다. DRM에 의해 제기된 과제들은 전통적인 재산권 관리에서 보여지는 것과는 다르다. 전통적인 재산권 관리는 변경하기 어려운 어느 정도의 물리적 특징(physicality)을 갖고 따라서 콘텐트의 허가받지 않은 이용에 약간의 장벽을 제 공하는 몇 가지 유형적 매체(tangible medium)로 구현되는 콘텐트를 통상적으로 포함한다. 대조적으로, 디지털 매체는 거기에 구현된 콘텐트의 허가받지 않은 이용에 거의 장벽을 제공하지 않는다. 따라서, 디지털 콘텐트가 생성되도록 하는 동일한 기술은 그 콘텐트를 복제하는 것을 극히 쉽게 한다. 게다가, 디지털 복제는 전형적으로 원본(original)과 동일하기 때문에, 연속적인 생성은 품질의 열화 또는 하락 문제가 없고 디지털 콘텐트의 허가받지 않은 복제물들이 용이하게 만들어지게 한다. 허가받지 않은 복제의 결과로서, 단일 고객에게 판매된 소프트웨어는 많은 허가받지 않은 사용자들의 수중에 들어가고 이들에 의해 사용될 수 있다. 이것은 소프트웨어의 위조 복제품들의 허가받지 않은 제조 및 배포를 통해 또는 사람들 간의 불법 공유와 같은 개인 레벨들에서의 파일 배포를 통해 일어날 수 있다.
허가의 발행(예컨대 허가받지 않은 복제) 이외에, 네트워크를 통해 통신되는 디지털 콘텐트는 또 인증서의 발행과 마주한다. 네트워크 통신된 디지털 콘텐트(network-communicated digital content)는 예를 들면 도청, 변경, 사칭(impersonation) 및 속이기(spoofing)를 통해 제3 자 위조(third-party tampering)되기 쉽다. 인증서의 발행은 인터넷에 대하여 특히 심각한 것이다. 인터넷은 TCP/IP(Transmission Control Protocol/Internet Protocol)을 이용하여 정보가 발신 컴퓨터로부터 목적지 컴퓨터로 다양한 중간 컴퓨터들 및 별도의 네트워크를 통해 라우팅되게 한다. 인터넷의 라우팅 특징들은 제3 자가 통신하는 것을 방해할 수 있게 한다.
그러므로, 가치있는 디지털 콘텐트의 배포에 기초한 실행가능한 거래(viable commerce)가 있다면 디지털 콘텐트에 대한 재산권 통제를 유지 또는 강제하는 수단이 필요하다는 것이 이해될 것이다. 디지털권 관리(DRM) 방법들은 소프트웨어 솔루션들 및 하드웨어 솔루션들 모두를 포함하는 다양한 기술들을 이용하여 상기 과제들을 해결한다. 기존의 디지털권 관리(DRM) 방법은 허가받지 않은 복제를 방지하거나 좌절시키는 수단으로서 보안 및 암호화에 초점을 맞추고 있다.
도 1은 허가받지 않은 사용자로부터 소프트웨어 애플리케이션을 보호하기 위해 사용되는 전형적인 DRM 절차의 일반 개념을 나타낸다. 이러한 절차에 따르면, 소프트웨어 애플리케이션은 벤더(vender)에 의해 암호화된다. 해독되지 않는다면, 이 암호화된 소프트웨어 애플리케이션은 전적으로 사용할 수 없거나 제한된 형태로만 사용될 수 있다. 단계 100에서, 사용자는 암호화된 소프트웨어 애플리케이션의 복제물을 수신한다. 사용자는 소프트웨어 애플리케이션을 완전히 사용하기 위해 단계 102에서 암호화된 소프트웨어 애플리케이션에 대한 적당한 디지털권을 얻는다. 디지털권은 일반적으로 벤더(vendor)와 같은 저작권 발행자에 의해 발행되고, 암호화된 소프트웨어 애플리케이션을 해독하기 위해 필요한 수단 또는 정보를 포함한다. 저작권 발행자로부터 필요한 디지털권의 획득시, 단계 104에서, 사용자는 암호화된 소프트웨어 애플리케이션을 해독한다. 단계 106에서, 해독된 소프트웨어 애플리케이션은 적절히 사용되도록 이용가능하며, 예컨대 애플리케이션은 적절한 사용자 하드웨어 상에서 실행할 수 있다.
다양한 방법들이 위의 일반적인 개념, 특히 암호화 및 해독화를 구현하기 위해 사용될 수 있다. 소프트웨어 애플리케이션의 암호화는 한 세트의 잘 확립된 기 술들 및 공개/개인 키 암호법으로 알려진 표준들을 이용하여 일반적으로 달성된다.
도 2는 이와 같은 구현의 종래 기술의 예를 나타낸다. 먼저, 단계 200에 나타낸 것과 같이, 디지털 콘텐트의 발행자(publisher) 또는 벤더는 디지털 콘텐트를 암호화 및/또는 디지털 서명들로 봉함(seal)한다. 단계 202에서, 암호화된 디지털 콘텐트는 전자 배포 채널들, 예컨대, 웹, 이메일, 유스넷(Usenet), ftp, CD-ROM 등을 통해 유통되거나 배포된다. 단계 204에서, 암호화된 디지털 콘텐트 복제물의 획득시, 사용자는 종종 DRM 서버로부터 디지털 인증서(digital certificate)의 형태로 권한들을 요구한다. 단계 206에서, 사용자의 허가 상태(authorization status)의 확인시, DRM 서버는 요구된 암호화 키들을 포함하는 권한, 인증서들 및 용도 스펙(usage specifications)을 사용자에게 발행한다. 단계 208에서, 사용자는 이후 요구된 디지털권들에 포함된 암호화 정보를 이용하여 디지털 콘텐트를 해독한다. 끝으로, 단계 210에서, 사용자는 적절한 사용자 하드웨어 상에서 해독된 디지털 콘텐트에 대한 액세스를 갖는다.
2가지 문제가 종종 전술한 DRM 방법들에서 생긴다. 먼저, 해독 정보를 포함하는 디지털 인증서와 같은 디지털권들은 일단 발행되면 그 자신들은 보호되지 않는다. 해독 정보를 포함하는 디지털 인증서의 복제물을 가진 사람은 누구나 종종 자유롭게 배포되거나 적어도 허가받지 않고 배포된 암호화된 디지털 콘텐트를 해독하는 데 그것을 사용할 수 있다. 비밀 제조업자들(underground manufactures)은 때때로 디지털 콘텐트의 복제물을 표절하고 해독 정보를 그들 고객들에게 제공한다. 보다 작은 규모로, 불법 사용자들은 또 해독된 정보를 다른 사람들에게 허가없이 넘길 수 있다. 둘째, 디지털 인증서는 종종 긴 영문숫자 키들 또는 패스 문구들(pass phrases)을 입력하고 확인하는 것을 포함하여, 사용자 경험을 다소 좌절시키고 자동화를 방해한다.
전자 소프트웨어 배포(electronic software distribution; ESD)의 중요한 역할은 디지털 콘텐트를 포함하는 상거래에서 실행된다는 것을 감안하면, 강력한 보호 및 동시에 더 양호한 자동화 및 더 즐거운 사용자 경험을 주는 DRM 방법 또는 시스템을 가지는 것이 바람직하다.
본 개시내용은 디지털권 관리(DRM) 방법을 제공한다. 상기 방법은 소프트웨어 애플리케이션의 메인 코드 성분으로 시작한다. 상기 메인 코드 성분은 애플리케이션 코드 및 데이터 리소스들을 가진다. 이후 하드웨어 식별 속성을 포함하는 보안 성분이 생성되고 메인 코드 성분에 첨부되어 소프트웨어 애플리케이션 패키지를 형성한다. 소프트웨어 애플리케이션 패키지가 하드웨어 디바이스상에 설치되면, 소프트웨어 애플리케이션은 하드웨어 식별 속성이 또한 하드웨어 디바이스에 존재하면 인에이블되고, 하드웨어 식별 속성이 하드웨어 디바이스에 존재하지 않으면 디스에이블된다.
일 실시예에 있어서, 상기 하드웨어 식별 속성은 보안 성분을 생성하기 위해 자동적으로 결정된다. 예를 들면, 상기 하드웨어 식별 속성은 하드웨어 디바이스에 저장될 수 있고 자동으로 결정되어 전자 수단을 통해 통신된다. 대안으로, 상기 하드웨어 식별 속성은 각각의 사용자 식별들과 연관된 하드웨어 식별 속성들에 대한 레코드들을 포함하는 데이터베이스와 사용자 식별을 매칭하여 자동으로 결정된다. 일 실시예에 있어서, 상기 보안 성분은 데이터 세트 및 키(key)를 이용하여 생성된 디지털 하드웨어 서명이다. 상기 디지털 하드웨어 서명은 매칭하는 하드웨어 식별 속성을 가진 하드웨어 디바이스를 이용해서만 인증될 수 있다.
상기 방법은 팜(Palm) 운영 시스템에 기초한 핸드헬드 디바이스들(예를 들어 PDA들 및 핸드헬드 게임 콘솔들)상에 사용되는 PalmOS 리소스 파일(.prc)과 같은 다운로드가능하고 실행가능한 파일들로 소프트웨어 애플리케이션 패키지들을 배포하는 데 특히 적합하다.
본 개시내용은 또한 메인 코드 성분 및 메인 코드 성분에 첨부된 보안 성분을 가진 하드웨어 식별 속성 및 소프트웨어 애플리케이션을 구비하는 하드웨어 디바이스를 포함하는 DRM 시스템을 제공한다. 소프트웨어 애플리케이션이 하드웨어 디바이스상에 설치되면 인에이블되고 매칭하는 하드웨어 식별 속성을 포함하지 않는 하드웨어 디바이스 상에 설치되면 디스에이블되도록 보안 성분은 매칭하는 하드웨어 식별 속성을 포함한다.
일 실시예에 있어서, 상기 하드웨어 식별 속성은 소프트웨어 애플리케이션이 임의의 다른 하드웨어 디바이스상에 설치되면 디스에이블되도록 하드웨어 디바이스에 고유하다. 상기 하드웨어 디바이스는 핸드헬드 컴퓨터, PDA 또는 핸드헬드 게임 콘솔과 같은 핸드헬드 디바이스일 수 있다. 상기 하드웨어 식별 속성은 또한 제거가능한 ROM 또는 RAM 디바이스의 속성일 수 있다.
본 개시내용은 또 서버들을 이용하는 DRM 시스템을 제공한다. 제 1 서버는 하드웨어 식별 속성이 결정될 수 있는 사용자 데이터의 세트를 수신하는 데 사용되고, 한편, 제 2 서버는, 제 1 서버로부터의 요청의 수신시, 사용자 데이터의 세트에 기초하여 디지털 하드웨어 서명을 생성하는 데 사용된다. 디지털 하드웨어 서명은 하드웨어 식별 속성을 포함한다. 제 1 또는 제 2 서버들 중 어느 하나는 하드웨어 디바이스가 매칭하는 하드웨어 식별 속성을 가질 때에만 하드웨어 디바이스 상에서 실행가능한 소프트웨어 애플리케이션 패키지를 형성하기 위해 디지털 하드웨어 서명을 소프트웨어 애플리케이션에 첨부하도록 구성된다. 일 실시예에 있어서, 상기 제 1 서버는 소프트웨어 애플리케이션 성분을 저장하는 전자 소프트웨어 배포 서버이고 제 2 서버는 디지털 하드웨어 서명을 생성하는 개인 키들을 저장하는 디지털 서명 서버이다. 상기 디지털 서명 서버는 소프트웨어 애플리케이션 패키지를 형성하기 위해 전자 소프트웨어 배포 서버로 생성된 디지털 하드웨어 서명을 돌려 보내도록 구성될 수 있다.
본원에 기재된 것과 같이, 본 개시내용에 따른 상기 DRM 방법은 디지털 암호 서명의 고유 "역 인증(reverse validation)"을 실행하기 위해 디지털 암호문 서명(digital cryptographic signature)을 사용한다. 하드웨어 서명이 소프트웨어 애플리케이션 패키지를 형성하기 위해 소프트웨어 애플리케이션의 메인 코드 성분에 첨부되기 때문에, 별도의 DRM 증명서가 소프트웨어 애플리케이션을 사용하도록 허가될 사용자에게 필요하지 않다. 디지털 하드웨어 서명 인증의 단순성은 사용자가 라이센스 키 또는 라이센스 코드를 기억 또는 입력할 필요없이 허가받은 하드웨어 디바이스에 대해 고유하게 패키징된 소프트웨어 애플리케이션을 인에이블하는 자동화된 DRM 방법 또는 시스템을 가능하게 한다. 게다가, 본 발명에 따르면, 디지털권들을 유지하는 것은 암호화가 여전히 사용될 수 있지만 소프트웨어 애플리케이션의 메인 코드 성분의 암호화를 더 이상 필요로 하지 않는다.
상기 개시내용의 다른 특징들 및 이점들은 다음의 상세한 설명 및 도면들로부터 더 용이하게 이해가능할 것이다.
본 개시내용의 DRM 방법 및 시스템은 다음의 도면들과 함께 상세히 설명될 것이며, 도면에서 같은 부분들은 같은 번호들 또는 문자들로 나타낸다.
도 1은 종래 기술에 따른 허가받지 않은 사용으로부터 소프트웨어 애플리케이션을 보호하기 위해 사용되는 DRM 절차를 나타낸 도면.
도 2는 종래 기술에 따른 도 1의 DRM 절차의 구현예를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 DRM 방법의 흐름도.
도 4는 본 발명에 따른 DRM 방법의 예시적인 실시예의 개략도.
도 5는 본 발명에 따른 DRM의 예시적인 구현예의 개략도.
본 발명은 하드웨어 식별에 기초한 DRM 방법들 및 시스템들을 제공한다. 도 3은 예시적인 DRM 방법의 개관을 플로차트의 형태로 제공한다. 단계 300에서 메인 코드 성분을 가진 소프트웨어 애플리케이션이 제공된다. 하드웨어 식별 속성을 포함하는 보안 성분이 단계 302에서 생성된다. 이후 단계 304에서, 보안 성분이 메인 코드 성분에 첨부되어 소프트웨어 애플리케이션 패키지를 형성한다. 단계 306에서, 소프트웨어 애플리케이션 패키지는 하드웨어 디바이스상에 설치되고, 그럼으로써 하드웨어 식별 속성이 하드웨어 디바이스에도 존재하면 소프트웨어 애플리케이션이 인에이블되고 하드웨어 식별 속성이 하드웨어 디바이스에 존재하지 않으면 디스에이블되도록 보안 성분은 작용한다.
DRM 방법들 및 시스템들의 대표 실시예들이 본 발명을 설명하기 위해 이하에 논의된다. 개시된 방법들 또는 시스템들은 어떤 방식으로든 제한하는 것으로 해석되어서는 안된다. 비록 상기 예들은 실행가능한 팜오에스 리소스 파일(PalmOS resource file (.prc))의 포맷으로 소프트웨어 애플리케이션을 사용하지만, 본 개시내용에 따른 상기 방법들 및 상기 시스템들은 이들 파일 유형으로 제한되지 않는다.
도 4는 복제 방지 소프트웨어 애플리케이션(400)을 생성하기 위해 사용되는 DRM 방법의 실시예의 개략도이며, 이 복사 방지 소프트웨어 애플리케이션은 이 특정 예에서, 팜 운영 시스템(Palm operating system; Palm OS) 또는 호환가능한 운영 시스템을 가진 임의의 전자 디바이스 상에서 수행될 수 있는 실행가능한 PalmOS 리소스 파일 패키지이다. Palm OS 애플리케이션들은 68K-계열 프로세스들을 갖춘 핸드헬드 디바이스용 68K-기반 애플리케이션 프로그래밍 인터페이스들(68K-based application programming interfaces; APIs)을 이용하여 전통적으로 개발되어 왔다. 후속 팜 OS 발매물들(발매물 5 또는 그 이상)은 ARM-기반 프로세서들을 갖는 핸드헬드 디바이스들을 위해 설계된다. 소프트웨어 애플리케이션(400)은, 본 개시내용에 따르면, 임의의 특정 하드웨어 아키텍쳐를 위한 애플리케이션들에 한정되지 않고 고전적인 68K 아키텍쳐 및 ARM-기반 아키텍쳐를 포함해서 임의의 팜(Palm) 아키텍쳐에 적합하도록 설계될 수 있다.
소프트웨어 애플리케이션(400)은 메인 코드 성분(402)을 포함하며, 이것은 애플리케이션 코드와 데이터 리소스들의 집합(collection)이다. 임의의 PalmOS 리소스 파일과 같이, 소프트웨어 애플리케이션(400)은 또 PRC 헤더 및 PRC 리소스 헤더들을 구비할 수 있고; 이와 같은 헤더들은 명확성을 위해 도 4에서 생략된다.
소프트웨어 애플리케이션(400)은 다수의 서명 리소스들(404, 406, 408, 410, 412)(각각 서명 리소스들 0, 1, 2, 3, 4)을 더 포함한다. 특히, 이들 서명 리소스들 중에는 하드웨어 식별 속성을 포함하는 보안 성분인 하드웨어 서명(412)(서명 리소스들 4)이 있다. 하드웨어 서명(412)(서명 리소스들 4)은 이하에 기술되며, 다른 서명 리소스들은 본 명세서의 나중 섹션에 기술된다.
일 실시예에 있어서, 하드웨어 서명(412)은 해시(hash) 및 키로부터 생성된 암호화된 디지털 서명이다. 하드웨어 서명(412)은 소프트웨어 애플리케이션(400)을 실행하도록 허가될 특정 하드웨어 디바이스(도 4에 도시되지 않음)를 적어도 부분적으로 식별할 수 있는 시리얼 번호 또는 모델 번호와 같은 하드웨어 식별 속성을 포함한다. 하드웨어 식별 속성은 하드웨어 식별(414), 또는 구매 정보(410), 또는 양자의 조합으로부터 결정될 수 있다.
다른 서명 리소스들 성분들과 같이, 하드웨어 서명(412)은 패키징된 소프트웨어 애플리케이션(400)을 형성하도록 메인 코드 성분(402)에 첨부된다. 이것은 애플리케이션을 사용자의 하드웨어 디바이스에 연결하기 위해 "장비 노드(equipment node)"의 몇가지 형태를 사용하고 사용자가 DRM 인증서 및 DRM 개인 키를 키 발행자로부터 개별적으로 얻을 것을 요구하는 기존의 기술들과는 상이하다. 대조적으로, 하드웨어 서명(412)은 패키징된 소프트웨어 애플리케이션(400)의 일부로 되고 허가받은 하드웨어 디바이스를 확인하기 위해 여기에 기술된 것과 같은 역 서명 인증 메카니즘(reverse signature validation mechanism)의 기초를 형성한다. 소프트웨어 애플리케이션(400)을 암호화하기 위한 요건이 없다는 것을, 비록 그것이 있을 수 있을 지라도, 알아야 한다.
소프트웨어 애플리케이션(400)은 Palm 디바이스(도 4에는 도시되지 않음)와 같은 하드웨어 상에 설치된 후, 실행 시, 소프트웨어 애플리케이션(400)은 하드웨어 서명(412)이 특정 하드웨어 디바이스에 의해 인증될 수 있는지의 여부를 자동으로 검증한다. 인증이 성공적이면, 소프트웨어 애플리케이션(400)이 인에이블되는 데, 이것은 그것이 완전하게 기능하는 것을 의미한다. 그러나, 인증이 성공적이지 못하면, 소프트웨어 애플리케이션(400)은 디스에이블되는 데 이것은 실행이 종료하거나 소프트웨어 애플리케이션(400)이 완전한 기능보다 떨어지는 기능을 제공하는 제한된 모드로 들어가는 것을 의미한다.
예시적인 하드웨어 서명(412)은 단지 하드웨어 서명(412)을 생성하는 키 사용(key use)과 매칭시키는 인증 키(validating key)로 인증될 수 있다. 몇몇 실시예들에서, 하드웨어 서명(412)은 개인 키를 이용하여 생성되고 하드웨어 디바이스 상에 저장된 공개 키에 의해 인증된다. 하드웨어 서명(412)은 하드웨어 식별 속성을 포함하는 데이터 세트를 구비하며 단지 동일한 하드웨어 식별 속성이 하드웨어 상에 존재하면 인증될 수 있다. 그 결과, 소프트웨어 애플리케이션(400)은 하드웨어 식별 속성이 또한 하드웨어 디바이스에 존재하면 인에이블되고(즉, 완전히 실행가능하고), 하드웨어 식별 속성이 또한 하드웨어 디바이스에 존재하지 않으면 디스에이블된다(완전히 실행불가능하거나 단지 부분적으로 부분적으로 실행가능하다). 하드웨어 서명(412)이 특정 하드웨어 식별 속성을 가진 하드웨어 디바이스로 제한되기 때문에, 소프트웨어 애플리케이션(400)의 복제물이 특정 하드웨어 식별 속성을 가진 하드웨어 디바이스에 의해 실행될 때 단지 해제될 것이라는 것을 알 수 있을 것이다.
상기 실시예들에서, 인증 키는 하드웨어 식별 속성을 포함할 필요가 없다는 것이 이해될 것이다. 동일 인증 키가 많은 하드웨어 디바이스들에 의해 공유될 수 있다. 따라서, 이들 실시예들에서의 하드웨어-특정 보안은 보안키 및 하드웨어 서명(412)의 데이터 세트의 하드웨어-특수성에서 나온다.
표준 암호화 기술(Standard cryptography techniques), 예컨대 RSA 비대칭 키 기술이 하드웨어 식별 속성과 하드웨어 서명(412)을 관련짓기 위해 사용될 수 있다. 예를 들면, 하드웨어 디바이스는 수개의 하드웨어 식별 속성들을 포함하는 하드웨어 식별을 이용하여 식별될 수 있다. 영문숫자 스트링(alphanumeric string)이 하드웨어 식별 속성으로부터 결정될 수 있고 인증될 서명 데이터 세트의 일부로서 포함될 수 있다. 인증하는 동안, 하드웨어 디바이스의 운영 시스템에 임베딩된 코드들은 다른 데이터 세트를 생성하고 새로운 데이터 세트와 원 서명 데이터 세트를 비교한다. 동일한 하드웨어 식별 속성이 하드웨어 디바이스상에 존재하면, 새로 운 데이터 세트는 원 서명 데이터 세트와 일치하고, 따라서 하드웨어 서명을 성공적으로 인증한다. 동일한 하드웨어 식별 속성이 하드웨어 디바이스 상에 존재하지 않으면, 하드웨어 디바이스 상의 운영 시스템에 의해 생성된 새로운 데이터 세트는 원 서명 데이터 세트와 매칭되지 않을 수 있고, 하드웨어 서명의 인증은 실패한다.
다른 실시예들에서, 하드웨어 서명(412)을 생성하기 위해 사용되는 키 쌍(key pair)은 매칭 키가 단지 특정 하드웨어 식별 속성을 가진 하드웨어 디바이스상에서 발견될 수 있도록 설계된다. 서명 키들은 모두가 하드웨어 디바이스의 수개의 하드웨어 식별 속성들 중에서 동일한 하드웨어 식별 속성 또는 속성들을 포함하도록 결정될 수 있다. 그러나, 이 방법은 덜 선호되는 데 그 이유는 그것이 표준 암호화 기술을 적용하기 곤란하게 하기 때문이다. 예를 들면, 표준 RSA 비대칭 키 기술은 키들의 선택에 그 자신의 룰들(rules)을 가져, 하드웨어 특정 키들에 대해 거의 여유(room)를 주지 않는다.
하드웨어 식별 속성 자체가 영문숫자 스트링일 필요가 없으며 하드웨어 식별 속성 자체가 보안 성분, 하드웨어 서명 또는 키의 일부를 문언적으로 구성하기 위해 요구되지 않는다는 것이 이해될 것이다. 문구 "하드웨어 식별 속성을 포함하는(including a hardware identification attribute)" 또는 "하드웨어 식별 속성을 가진(having a hardware identification attribute)"은 단지 보안 성분, 하드웨어 서명, 또는 키가 하드웨어 식별 속성을 입력으로서 이용하여 결정되고 따라서 하드웨어 식별 속성과 연관되는 것을 의미한다. 예를 들면, 하드웨어 식별 속성을 포함하는 하드웨어 서명은 데이터 세트로부터 생성되는 하드웨어 서명이, 특정 알고리 즘을 이용하여 하드웨어 서명이 하드웨어 식별 속성의 함수이도록 결정되거나, 또는 하드웨어 서명의 대응 서명 키가 암호화되고 단지 하드웨어 식별 속성의 함수로서 결정되는 다른 키를 이용하여 해독될 수 있다는 것을 의미한다. 하드웨어 식별 속성은 영문숫자 스트링이 아니어도 되지만 영문숫자 스트링을 특유하게 결정할 수 있는 어떤 적절한 정보를 포함해야 한다.
그러나, 단순한 형태에 있어서, 하드웨어 식별 속성은 실제로 영문숫자 스트링 또는 시리얼 번호와 같은 스트레이트 번호(straight number)일 수 있다. 이 경우, 하드웨어 식별 속성은 인증될 서명 데이터 세트에 직접 삽입될 수 있다. 대안적으로, 키들 중 하나는 간단히 시리얼 번호와 동일한 번호일 수 있고 또는 적어도 키의 일부로서 시리얼 번호를 포함하고, 한편 상기 쌍의 다른 키는 표준 암호화 기술을 이용하는 제 1 키로부터 결정된다.
더 복잡한 형태에 있어서, 하드웨어 식별 속성은 하드웨어 서명 또는 하드웨어 서명을 인증하는 키에 간접적으로 포함될 수 있다. 예를 들면, 하드웨어 디바이스의 시리얼 번호가 하드웨어 식별 속성으로서 사용되는 경우에, 하드웨어 서명을 인증하는 키는 시리얼 번호와 다른 또는 심지어 시리얼 번호와 직접적인 관련이 없지만 그럼에도 불구하고 시리얼 번호를 간접적으로 포함하는 허가(authorization) 키일 수 있다. 예를 들면, 하드웨어 서명을 인증하기 위한 허가 키는 하드웨어 디바이스의 시리얼 번호가 하드웨어 서명을 해독하는 데 차례로 이용되는 허가 키를 해독하기 위한 해독 키(또는 적어도 해독 키의 일부를 구성하는)로서 작용하도록 암호화된다. 하드웨어 식별 속성을 하드웨어 서명에 포함시키기 위해 이러한 간접 적인 방법을 이용하는 것은 더 많은 유연성을 제공할 수 있다.
예를 들면, 몇몇 경우들에 있어서, 허가받은 사용자는 상이한 하드웨어 디바이스를 사용할 필요가 있는 데 그 이유는 사용자가 이전에 허가받은 하드웨어 디바이스를 잃어버리거나 새로운 하드웨어 디바이스로 업그레이드하였기 때문이다. 이와 같은 예들에서, 사용자는 단지 벤더로부터 새로운 하드웨어 디바이스의 하드웨어 식별 속성(이 예에서는 시리얼 번호)을 이용하여 해독될 수 있는 새로운 암호화된 허가 키를 얻을 필요가 있고 새로운 전체 소프트웨어 애플리케이션 패키지를 얻을 필요는 없다. 비교로, 하드웨어 식별 속성(예컨대, 시리얼 번호)이 하드웨어 서명의 인증 키(validating key)로서 직접 사용되어 왔다면, 사용자는 상기 시나리오에서 새로운 하드웨어 서명을 포함하는 새로운 소프트웨어 애플리케이션 패키지를 얻어야만 할지도 모른다.
일 실시예에 있어서, 하드웨어 서명을 생성하는 서명 키는 개인 키이고 하드웨어 서명을 인증하기 위해 사용되는 인증 키(validating key)는 공개 키이다.
임의의 적절한 암호화 기술이 본 개시내용의 DRM 방법들의 필요한 암호화/해독화를 위해 사용될 수 있다. 적절한 예는 RSA 보안으로부터의 산업-표준(industry-standard) 및 산업-강도 공개 키 암호화 표준들(industry-standard and industrial-strength Public-Key Cryptography Standards; PKCS)이다. 암호화 분야에서 알려진 것과 같이, 암호화는 원래의 형태로부터 아무도 이해할 수 없지만 의도된 수신자는 이해할 수 있는 형태로 정보를 변환하는 프로세스이다. 해독화는 암호화된 정보를 다시 원래의 알 수 있는 형태로 다시 변환하는 프로세스이다. 암 호화 및 해독화는 수학적 함수들인 암호화 알고리즘들을 이용하여 디지털 콘텐트에 대해 수행되는 수학적 연산들이다. 암호화 함수 및 그의 매칭하는 해독화 함수는 수학적 연산들과 관계된다. 키 기반 암호법에 있어서, 암호화 또는 해독화는 라이트 암호화 알고리즘(right cryptographic algorithm) 및 라이트 암호화 키 양자의 조합으로만 수행될 수 있다. 암호화 키들은 긴 숫자들이다. 암호화 알고리즘 자체는 일반적으로 널리 알려져 있기 때문에, 암호화된 정보 보안을 유지하는 능력은 특정 암호화 알고리즘의 비밀(secrecy)에 기초하지 않지만 암호화된 결과를 생성하거나 이전에 암호화된 정보를 해독하기 위해 상기 알고리즘과 함께 사용되어야 하는 암호화 키의 비밀에 기초한다.
대칭-키 암호화 및 비대칭 암호화 모두가 사용될 수 있지만, 비대칭 암호화가 바람직하다. 후자는 또 공개/개인 키 암호화라고 불리는데 그 이유는 상기 방법은 한쌍의 2개의 상이한 키들- 하나는 공개로 만들어지고 나머지는 비밀(개인)로 유지되는-을 사용하기 때문이다. 상기 한쌍의 키들, 즉 공개 키 및 개인 키는 그 아이덴터티를 전자적으로 공인하거나(authenticate) 데이터를 사인 또는 암호화하는 데 필요한 엔터티와 관련지워진다. 상기 쌍 가운데 하나의 키로 암호화된 데이터는 상기 쌍 가운데 매칭 키에 의해서만 해독될 수 있다. 정확한 키에 의한 해독은 간단하다. 정확한 키 없이 하는 해독은 매우 어렵고, 몇몇 경우에 있어서는 모든 실용적인 목적들을 위해서는 불가능하다. 이 기술에서 잘 알려져 있는 것과 같이, 콘텐트 암호화와 관련하여 그리고 콘텐트 암호화 이외에, 키 기반 암호화가 또한 디지털 서명들 및 디지털 인증서들을 위해 사용된다. 이러한 목적을 위해, 개인 키는 통상적으로 사인 기능을 위해 사용되고 공개 키는 인증 기능을 위해 사용된다. 특히, 디지털 서명들의 종래의 응용에 있어서, 공개(public)는 대응 개인 키를 이용하여 서명을 실행한 엔티티의 식별을 증명하기 위해 공개키를 이용한다. 본 발명의 최선의 실시예에 있어서, 개인 키가 하드웨어 ID를 포함하는 데이터 스트림을 사인하기 위해 사용되어 하드웨어 서명을 생성하고, 한편 공개키는 상기 디바이스상에서 동일한 데이터 스트림을 역으로 증명하기 위해 사용되고, 따라서 하드웨어에 대한 허가가 벤더에 의해 발행된 것임을 입증한다.
그 하드웨어 식별 속성이 하드웨어 서명을 생성하기 위해 사용되는 하드웨어 디바이스는 임의의 전자 디바이스, 예컨대 PC, 핸드헬드 컴퓨터, 게임 콘솔, 또는 휴대형 게임 콘솔일 수 있으며, 이들은 적절한 허가가 주어진 소프트웨어 애플리케이션을 실행할 수 있다. 대안으로, 그 하드웨어 식별 속성이 하드웨어 서명을 생성하기 위해 사용되는 하드웨어 디바이스는 저장 디바이스 예컨대 소프트웨어 애플리케이션을 저장하는 제거가능한 ROM 또는 RAM 카드(예들 들면 SD 또는 MMC 플래시 카드)가 될 수 있다. 몇몇 실시예에서, 소프트웨어 애플리케이션은 소프트웨어 애플리케이션을 저장하는 제거가능한 저장 디바이스가 호스트 하드웨어 디바이스에 접속될 때 호스트 하드웨어 디바이스상에서 실행한다.
몇몇 실시예들에 있어서, 하드웨어 식별 속성은 바람직하게는 하드웨어 그룹내의 모든 하드웨어 디바이스를 고유하게 식별할 수 있다. 하드웨어 그룹은 단일 클라이언트에 함께 판매된 디바이스 그룹, 특정 하드웨어 디바이스 모델, 특정 등급의 하드웨어 디바이스들을 포함할 수 있고 또는 넓게는 소프트웨어 애플리케이션 을 실행하는 데 적합한 모든 하드웨어 디바이스들을 포함할 수 있다. 소프트웨어 애플리케이션이 하드웨어 그룹의 임의의 멤버 위에서 실행되도록 의도된 이들 실시예들에서, 하드웨어 그룹 또는 하드웨어 도메인에 공통인 하드웨어 식별 속성이 사용될 수 있다.
하드웨어 식별 속성은 바람직하게는 하드웨어 디바이스 자체에 존재하거나 하드웨어 자체로부터 결정가능하다. 예를 들면, 하드웨어 식별 속성은 하드웨어 디바이스 위에 저장된 전자 데이터의 일부(piece)일 수 있다. 저장된 데이터는 바람직하게는 영속성을 가지며 그 결과 그것은 변경이 용이하지 않다. 예를 들면, 영속 속성(persistent attribute)은 하드웨어 디바이스의 ROM 메모리 요소에 저장된 시리얼 번호일 수 있다. 하드웨어 식별 속성은 또한 바람직하게는 하드웨어 디바이스의 제조 중 생성되고 이에 따라 액세스하기 어렵다.
도 4를 다시 참조하면, 소프트웨어 애플리케이션(400)은 또 이러한 예의 목적을 위해, 요청_하드웨어_서명(Requires_Hardware_Signature)로 불리우는 특정 리소스(406)(서명 리소스들 1)를 포함한다. 특정 리소스(406)의 존재는 운영 시스템에 하드웨어 서명(412)을 인증하도록 명령한다. 하드웨어 서명 인증은 소프트웨어 애플리케이션(400)이 최초 런칭될 때 적어도 한번 수행된다. 일 실시예에 있어서, 특정 리소스(406)는 운영 시스템에 소프트웨어 애플리케이션(400)의 실행 중 주기적으로 서명(412)을 인증하도록 명령한다. 이것은 소프트웨어 애플리케이션(400)이 허가받은 하드웨어 디바이스 상에서 계속 실행하고 예를 들면 허가받은 하드웨어 디바이스 상에 기동되지 않고 이어서 허가받지 않은 사람에게 전달되거나 복제되지 않는 것을 보장한다. 대안으로, 허가하는 하드웨어 디바이스가 계속 존재하고 소프트웨어 애플리케이션(500)이 기동된 후 제거되지 않는 것을 보장한다.
특정 리소스(406)는 소프트웨어 애플리케이션(400), 하드웨어 및 하드웨어 서명(412)의 버전에 대한 정보를 더 포함할 수 있다. 특정 리소스(406)는 승락 유형 정보(permission type information)를 더 포함할 수 있다. 예를 들면, 승락 유형 정보에 대해 예약된 바이트는 다음과 같은 것 또는 이들의 조합을 포함하는 다양한 승락 유형을 표시하기 위해 상이한 값들로 설정될 수 있다:
Figure 112007028558773-PCT00001
소프트웨어 애플리케이션이 영구적으로 디스에이블되는 "허가되지 않음(none allowed)";
Figure 112007028558773-PCT00002
운영 시스템이 하드웨어 서명을 인증하기 위해 소프트웨어 애플리케이션을 실행하는 하드웨어 디바이스에서 매칭 키를 찾도록 명령되는 "디바이스 서명 요구됨(device signature reuired)";
Figure 112007028558773-PCT00003
운영 시스템이 소프트웨어 애플리케이션이 하드웨어 서명을 인증하기 위해 저장되어 있는 ROM 또는 RAM 카드에서 매칭 키를 찾도록 명령되는 "카드 서명 요구(card signature required)";
Figure 112007028558773-PCT00004
운영 시스템이 실행하는 하드웨어 디바이스에서 또는 ROM 또는 RAM 카드에서 하드웨어 서명을 인증하기 위해 매칭 키를 찾도록 명령되는 "디바이스 또는 카드 로킹 허용(allow device or card locking)"
Figure 112007028558773-PCT00005
운영 시스템이 소프트웨어 애플리케이션을 실행하도록 적어도 부분적으로 사용되는 임의의 하드웨어 디바이스에서 매칭 키를 찾도록 명령되는 "임의의 로킹 유형 허용(allow any locking type)".
특정 리소스(406)는 또한 하드웨어 서명 인증이 실패하면 소프트웨어 애플리케이션(400)이 어떻게 기능해야 하는지에 관한 명령들을 포함할 수 있다. 예를 들면, 이러한 정보를 위해 예약된 바이트는 운영 시스템에 명령하여 소프트웨어 애플리케이션(400)을 종결하고 소프트웨어 애플리케이션(400)을 실행하는 하드웨어 디바이스를 리셋하고, 소프트웨어 애플리케이션(400)을 종료하고, 하드웨어 디바이스를 리셋하거나, 또는 등급 저하된 데모 모드(degraded demo mode)와 같은 제한된 형식으로 소프트웨어 애플리케이션(400)을 실행하도록 상이한 값들로 설정될 수 있다.
암호법에서 알려진 것과 같이, 디지털 서명을 생성하는 것은 사인 키(signing key) 이외에 해시를 요구한다. 디지털 서명은 필수적으로 다른 정보, 예컨대 해싱 알고리즘과 함께 암호화된 해시이다. 해시는 보통 데이터 세트에 대해 동작하는 해싱(hashing)이라고 불리는 수학적 함수를 이용하여 생성된다. 해시는 데이터 세트의 수치 표현(numeric representation)이므로 종종 데이터 다이제스트(data digest) 또는 메시지(message digest)로 불린다. 해시는 고정 길이의 수이다. 해시의 값은 해싱된 데이터에 대해 고유하다. 데이터의 임의의 변경, 심지어 하나의 문자를 삭제 또는 변경하면 상이한 해시 값이 생긴다. 가장 일반적으로 사용되는 해싱 알고리즘은, 해시가 해시된 데이터 세트로부터 생성되는 동안, 해시된 데이터의 내용이, 모든 실용 목적을 위해, 해시로부터 도출될 수 없는 "일방향 해시(one-way hash)"를 생성한다.
이 기술에서 알려진 것과 같이, 해싱은 별도의 단계로서 또는 사인 또는 인증 단계의 통합 부분으로서 수행될 수 있다.
일 실시예에 있어서, 하드웨어 서명(412)은 소프트웨어 애플리케이션(400)의 메인 코드 성분 위에 사인된 디지털 서명인 애플리케이션 서명을 포함하는 데이터 세트의 해시를 이용하여 생성된다. 애플리케이션 서명은 또한 패키징된 소프트웨어 애플리케이션(400)의 일부에 첨부되고 그것의 일부로 된다. 본 개시내용에 따른 이와 같은 애플리케이션 서명 및 하드웨어 서명에 대한 그 관계의 생성은 이하에 더 기술된다.
도 4를 다시 참조하면, 소프트웨어 애플리케이션(400)은 애플리케이션 서명(408)(서명 리소스들 2)를 포함하는 데, 이것은 비대칭 공개/개인 키 방법과 같은 표준 암호화 기술을 이용하여 생성될 수 있다. 애플리케이션 서명(408)은 메인 코드 성분(402)(애플리케이션 코드 및 데이터 리소스들)의 완전성(integrity)을 보호하기 위해 사용될 수 있다. 일 실시예에 있어서, 선택된 알고리즘은 애플리케이션 해시 및 미리 정해진 개인 키에 기초하여 애플리케이션 서명(408)을 생성하기 위해 사용된다. 애플리케이션 해시는 메인 코드 성분(402)의 적어도 일부로부터 생성된 암호화 해시이다. 소프트웨어 애플리케이션을 실행하는 하드웨어 디바이스의 운영 시스템은 애플리케이션 서명(408)이 사인된 이래로 애플리케이션이 위조 또는 변형되지 않도록 보장하기 위해 애플리케이션 서명(408)을 인증하도록 명령된다.
다른 실시예에 있어서, 해시는 몇가지 애플리케이션 상세들(particulars)(예컨대 애플리케이션명, 버전, 및 창작자 ID)를 이용하여 생성되고 생성된 해시는 키 들의 풀(pool)로부터 키 쌍을 선택하기 위해 사용된다. 이러한 방법을 이용하여, 애플리케이션 서명에 사용되는 키 쌍이 애플리케이션 상세들에 의해 적어도 부분적으로 결정되고, 상이한 키 쌍은 상이한 유형의 애플리케이션에 대해 사용될 수 있다. 이것은 약간의 보안성을 부가하는 데 그 이유는 2개의 애플리케이션들이 동일한 키 쌍을 덜 사용하는 경향이 있기 때문이다. 하나의 키 쌍이 타협되면(compromised), 모든 애플리케이션들이 파기되는 것은 아니다.
더 높은 보안성을 위해, 애플리케이션 서명(408)은 바람직하게는 개인 키를 이용하여 생성되고 공개 키를 이용하여 인증된다. 개인 키는 제어 엔티티(controlling entity)에 의해 주의깊게 선택되고 보안이 유지된 키들의 풀(pool)로부터 선택될 수 있고, 이 제어 엔티티는 개발자, 배포자, 발행자, 소매상인(retailer)일 수 있지만, 더 바람직하게는 다수의 개발자들, 배포자들, 발행자들 또는 소매 상인들에 대해 중앙집중화된 컨트롤을 가지는 엔티티(예컨대 제조자)일 수 있다. 여기에 기재된 애플리케이션 서명의 주 기능은 허가(authorization)보다는 인증(authentication)을 확인하는 것이며, 애플리케이션 서명의 인증에 사용된 공개 키는 바람직하게는 잘 공개되고, 용이하게 액세스가능하고 특정 하드웨어 디바이스들에 대해 불필요한 제한들이 없다.
또한 선택적으로, 하드웨어 서명에 대한 해시를 생성하는 데 사용되는 데이터 세트는 또 구매 정보(410)를 포함할 수 있고, 이 구매 정보는 예시적인 DRM 시스템이 생략된 도 5에 도시된 것과 같이 소매 상인 또는 구매자에 의해 제공된다.
소프트웨어 애플리케이션(400)은 또 스킵 리스트(skip list; 404)를 구비하 며, 이 스킵 리스트는 소프트웨어 애플리케이션의 어느 부분들이 애플리케이션 서명(408)을 위한 해시를 생성하기 위해 사용되고 어느 부분들이 스킵될 수 있는 가를 명령하기 위한 특별한 리소스이다. 해시를 생성하기 위해 사용되는 부분들은 디지털적으로 사인되거나, "봉함(sealed)"될 것이며 하드웨어 서명(408)이 생성된 후 변경되지 않을 수 있고, 반면 스킵된 상기 부분들은 변형될 것이다. 예를 들면, 스킵 리스트(404)는 애플리케이션 실행 중 변경되는 애플리케이션 리소스들을 식별하고 따라서 애플리케이션 서명(408)의 생성으로부터 배제되어야 한다. 이와 같은 애플리케이션 리소스의 일예는 사용자에 의해 제공되는 등록 코드를 절약하기 위해 사용되는 데이터 리소스이다.
애플리케이션 리소스는 데이터 신호를 애플리케이션 리소스에 둠으로써 스킵 리스트(404)에 자동으로 포함되도록 구성될 수 있다. 예를 들면, 소프트웨어 애플리케이션(400)은 애플리케이션 리소스의 최상위 비트(most significant bit; MSB)가 "1"로 설정되면 스킵 리스트에 자동적으로 존재하는 것처럼 애플리케이션 리소스를 처리하도록 구성될 수 있다. 한편, 서명 리소스들과 같은 특정 애플리케이션 리소스들은 스킵 리스트로부터 사전에 배제되고 따라서 항상 애플리케이션 서명(408)의 생성에 포함될 수 있다.
추가 단계들은 또 소프트웨어 애플리케이션(400)의 보안성을 향상시키기 위해 취해질 수 있다. 메인 코드 성분(402)이 비암호화되거나 해독될지라도 메인 코드 성분(402)이 별도로 실행될 수 없도록 예를 들면, 서명 리소스들 성분들 (404, 406, 408, 410, 412) 중 어느 하나, 특히 애플리케이션 서명(408) 및 하드웨어 서 명(412)이 메인 코드 성분(402)과 통합될 수 있다. 소프트웨어 애플리케이션(400)이 분해되어, DRM 보안 성분들 (예컨대 하드웨어 서명(412))이 제거되고, 이후 비보호 애플리케이션으로서 다시 조립될 수 없는 것에 대한 추가 보장을 제공하기 위해 고객 코드들 및 추가 서명들이 부가될 수 있다. 예를 들면, 고객 서명들은 소프트웨어 애플리케이션(400) 내의 하나 이상의 데이터 리소스들 또는 코드 리소스들로부터 생성될 수 있고 소프트웨어 애플리케이션(400) 내에 포함될 수 있다. 소프트웨어 애플리케이션(400)이 하드웨어 디바이스 상에서 실행하면, 애플리케이션 내의 고객 코드는 이들 고객 서명들을 인증하기 위해 API들을 사용한다. 이들 인증들(validations)은 소프트웨어 애플리케이션 코드 내의 다양한 장소들 및 시간들에서 수행되어 애플리케이션 코드에 의한 위조를 더욱 더 곤란하게 할 수 있다.
끝으로, 소프트웨어 애플리케이션(400)은 임의의 원하는 파일 포맷 또는 매체, 예컨대 CD-ROM 상에의 복제물, ROM 또는 RAM 카드 상에의 복제물, 또는 다운로드 가능한 실행파일로 패키징될 수 있다. PalmOS를 실행하는 핸드헬드 디바이스상에 사용되는 소프트웨어 애플리케이션(400)에 있어서, 패키징된 소프트웨어 애플리케이션(400)은 바람직하게는 PalmOS 리소스 파일 (.prc)이다.
도 5는 본 발명의 DRM 방법을 구현하기 위한 네트워크를 통해 접속된 서버들의 예시적인 DRM 시스템의 개략도이다. DRM 시스템은 네트워크(500)를 구비하며, 이 네트워크(500)는 어떠한 유형의 전자 통신 네트워크이어도 되지만, 바람직하게는 인터넷 기반 네트워크(Internet-based network)이다. DRM 시스템은 전자 소프트웨어 배포 (ESD) 서버(502), 서명 서버(504), 최종 사용자 단말(506), 및 휴대형 디바이스(508)를 더 구비한다.
일 실시예에 있어서, ESD 서버(502)는 한 사람 이상의 개발자에 의해 개발된 패키징되지 않은 애플리케이션들(도 5에 도시되지 않음)의 집합(collection)을 저장한다. 각각의 패키징되지 않은 애플리케이션은 애플리케이션 코드 및 데이터 리소스들을 포함하는 메인 코드 성분을 가진다. 패키징되지 않은 애플리케이션들은 어떠한 보안 성분들도 가지지 않은 베어-본즈 애플리케이션들(bare-bones applications) 또는 애플리케이션 서명을 가지지만 하드웨어 서명은 가지지 않는 부분적으로 보안된 애플리케이션들이다.
예시적인 공정에 있어서, 도 5의 DRM 시스템은 다음과 같이 소프트웨어 애플리케이션을 패키징한다. ESD 서버(502)는 구매 정보 및 하드웨어 식별 속성이 결정될 수 있는 사용자 데이터 세트를 수신한다. ESD 서버(502)는 이후 하드웨어 서명에 대한 요청을 서명 서버(504)에 보낸다. 하드웨어 서명 요청은 사용자 데이터를 포함하고 어느 소프트웨어 애플리케이션이 주문되었는지를 특정한다. 하드웨어 서명 요청의 수신시, 서명 서버(504)는 먼저 하드웨어 식별 속성을 결정하고(만약 그것이 이미 ESD 서버(502)에 의해 결정되지 않았으면) 이 후 사용자 데이터 세트에 기초하여 디지털 하드웨어 서명을 생성한다. 이렇게 생성된 디지털 하드웨어 서명은 하드웨어 식별 속성을 포함한다. 다음에, 서명 서버(504)는 생성된 디지털 하드웨어 서명을 ESD 서버(502)로 돌려 보내는데, 이 ESD 서버(502)는 디지털 하드웨어 서명을 주문된 소프트웨어 애플리케이션에 첨부하여 대응하는 소프트웨어 애플리케이션 패키지를 형성한다.
이와 같은 패키징된 소프트웨어 애플리케이션의 일예가 도 4에 도시되어 있다. 이렇게 패키징된 소프트웨어 애플리케이션은 하드웨어 디바이스가 매칭하는 하드웨어 식별 속성을 가질 때에만 하드웨어 디바이스상에서 실행가능하다. ESD 서버(502)는 이후 패키징된 소프트웨어 애플리케이션을 의도된 당사자 예컨대 구매자 또는 소프트웨어 애플리케이션 사용자에게 분배 또는 배포한다. ESD 서버(502)가 사용자 데이터를 수신할 필요가 있기 때문에, 그것은 바람직하게는 사용자 인터페이스 예컨대 웹 브라우저에 접속되고, 이 사용자 인터페이스는 소매 상인 또는 고객(소프트웨어 애플리케이션의 사용자 또는 구매자)에 의해 POS(point-of-sale; 506)에서 액세스될 수 있다.
일 실시예에 있어서, 하드웨어 디바이스의 하드웨어 식별 속성은 하드웨어 서명을 생성하기 위해 자동적으로 결정된다. 예를 들면, ROM에 저장되어 있는 시리얼 번호는 하드웨어 디바이스(508)가 네트워크(500)를 통해 접속될 때 전자적으로 및 자동적으로 검출될 수 있다. 대안으로, 하드웨어 식별 속성은 ESD 서버(504) 또는 서명 서버(502)에 제공된 사용자 정보에 기초하여 결정될 수 있다. 이것을 달성하기 위해, 서버들(502, 504)은 각각의 판매된 하드웨어 디바이스를 사용자 정보와 연관짓는 레코드들을 포함하는 데이터베이스를 유지한다. 사용자 ID(identification)를 포함하는 사용자 정보가 서버들(502, 504)에 제공된 후, 하드웨어 식별 속성은 각각의 사용자 ID들과 연관된 하드웨어 식별 속성들을 가진 데이터베이스에 사용자 ID를 매칭시킴으로써 결정된다.
본원에 개시된 것과 같이, 본 개시내용에 따른 예시적인 DRM 방법들은 디지 털 암호 서명을 사용하는 종래의 기능과는 상당히 대조적인 기능을 수행하기 위해 디지털 암호 서명을 이용한다. 디지털 암호 서명을 이용하는 종래의 기능은 수신자가 사인 엔티티(signing entity)의 ID를 확인하는 것이지만, 본 개시내용에 따른 몇 가지 DRM 방법들은 디지털 암호 서명을 이용하여 사인하는 사람이 수신하는 엔티티(특히, 하드웨어 디바이스)의 아이덴터티(identity)를 확인할 수 있다. 수신하는 엔티티의 공개 키가 하드웨어 서명을 생성한 사인하는 사람이 보유한 개인 키와 매칭하면, 이 때 인증은 성공적이다. 따라서, 본 발명의 DRM 방법들은 수신하는 엔티티(상기 하드웨어 디바이스)의 공개 키의 물리적 특징(physicality)의 이점을 갖는다.
디지털 암호 서명의 이러한 고유의 "역인증(reverse validation)"은 본 개시내용에 따른 DRM 방법들의 유효성 및 단순성에 기여한다. 하드웨어 서명이 소프트웨어 애플리케이션 패키지를 형성하기 위해 소프트웨어 애플리케이션의 메인 코드 성분에 첨부되기 때문에, 별도의 DRM 인증서는 사용자에게 소프트웨어 애플리케이션을 사용할 권한을 줄 필요가 없다. 디지털 하드웨어 서명 인증의 단순성은 고유하게 패키징된 소프트웨어 애플리케이션을 인가받은 하드웨어 디바이스에 사용자가 라이센스 키 또는 라이센스 코드를 기억 또는 입력할 필요없이 로크(lock)하는 자동화된 DRM 방법들 및 시스템들을 가능하게 한다. 게다가 소프트웨어 애플리케이션의 메인 코드 성분은 암호화될 필요가 없다.
상기 명세서에 있어서, 본 개시내용은 그것의 특정 실시예들을 참조하여 기술되지만 이 기술분야에서 숙련된 사람은 본 개시내용이 거기에 제한되지 않는다는 것을 알 수 있을 것이다. 상기 개시내용의 여러 특징들 및 양상들은 개별적으로 또는 연합하여 사용될 수 있다. 게다가, 본 개시내용은 본 명세서의 더 넓은 사상 및 범위를 벗어나지 않고 본원에 기술된 것 이외의 임의의 수의 환경들 및 애플리케이션들에 이용될 수 있다. 따라서, 본 명세서 및 도면들은 제한적인 것보다는 예시적인 것으로 간주된다. 본원에 사용된 용어 "포함하는(comprising)", "구비하는(including)", 및 "가지는(having)"은 특히 이 기술분야에서 제한 없는 용어들(open-ended term)로서 이해되도록 의도된 것을 알 수 있을 것이다.

Claims (42)

  1. 애플리케이션 코드 및 데이터 리소스들을 가진 메인 코드 성분을 제공하는 단계;
    하드웨어 식별 속성을 포함하는 보안 성분을 생성하는 단계; 및
    소프트웨어 애플리케이션 패키지가 하드웨어 디바이스 상에 설치될 때, 상기 하드웨어 식별 속성이 또한 상기 하드웨어 디바이스에 존재하면 상기 소프트웨어 애플리케이션이 인에이블되고, 상기 하드웨어 식별 속성이 상기 하드웨어 디바이스에 존재하지 않으면 디스에이블되도록 상기 소프트웨어 애플리케이션 패키지를 형성하기 위해 상기 보안 성분을 상기 메인 코드 성분에 첨부하는 단계를 포함하는, 디지털권 관리 방법.
  2. 제 1 항에 있어서,
    상기 보안 성분을 생성하는 단계는 상기 하드웨어 식별 속성을 자동으로 결정하는 단계를 포함하는, 디지털권 관리 방법.
  3. 제 2 항에 있어서,
    상기 하드웨어 식별 속성을 자동으로 결정하는 단계는 상기 하드웨어 디바이스에 저장된 상기 하드웨어 식별 속성을 판독하는 단계를 포함하는, 디지털권 관리 방법.
  4. 제 2 항에 있어서,
    상기 하드웨어 식별 속성을 자동으로 결정하는 단계는 사용자 식별(identification)을 각각의 사용자 식별들과 연관된 하드웨어 식별 속성들을 포함하는 데이터베이스와 매칭시키는 단계를 포함하는, 디지털권 관리 방법.
  5. 제 1 항에 있어서,
    상기 보안 성분은 데이터 세트 및 제 1 키를 이용하여 생성된 디지털 하드웨어 서명인, 디지털권 관리 방법.
  6. 제 5 항에 있어서,
    상기 데이터 세트는 상기 하드웨어 식별 속성을 포함하는, 디지털권 관리 방법.
  7. 제 5 항에 있어서,
    상기 디지털 하드웨어 서명은 상기 하드웨어 디바이스 상에 저장된 제 2 키에 의해 인증(validated)되는, 디지털권 관리 방법.
  8. 제 5 항에 있어서,
    상기 디지털 하드웨어 서명은 암호화 허가 키에 의해 인증되고, 이 암호화 허가 키는 상기 하드웨어 디바이스 상에 저장된 제 2 키에 의해 차례로 인증되는, 디지털권 관리 방법.
  9. 제 5 항에 있어서,
    상기 디지털 하드웨어 서명을 생성하는 데 이용되는 상기 데이터 세트는 애플리케이션 서명을 포함하는, 디지털권 관리 방법.
  10. 제 1 항에 있어서,
    상기 소프트웨어 애플리케이션 패키지는 다운로드가능한 실행 파일(downloadable executable file)인, 디지털권 관리 방법.
  11. 제 10 항에 있어서,
    상기 실행 파일은 PalmOS 리소스 파일(.prc)인, 디지털권 관리 방법.
  12. 제 1 항에 있어서,
    상기 보안 성분은, 상기 메인 코드 성분이 비암호화(non-encrypted) 또는 해독될지라도 상기 메인 코드 성분이 개별적으로 실행될 수 없도록 상기 메인 코드 성분과 통합되는, 디지털권 관리 방법.
  13. 제 1 항에 있어서,
    상기 하드웨어 디바이스는 휴대형(portable)인, 디지털권 관리 방법.
  14. 제 1 항에 있어서,
    상기 하드웨어 디바이스는 제거가능한 ROM 또는 RAM 디바이스인, 디지털권 관리 방법.
  15. 애플리케이션 코드와 데이터 리소스들을 포함하는 메인 코드 성분; 및
    소프트웨어 애플리케이션이 매칭하는 하드웨어 식별 속성을 가진 하드웨어 디바이스 상에 설치되면 인에이블되고 임의의 다른 하드웨어 디바이스 상에 설치되면 디스에이블되도록 상기 메인 코드 성분에 첨부되고 하드웨어 식별 속성을 포함하는 보안 성분을 포함하는, 소프트웨어 애플리케이션.
  16. 제 15 항에 있어서,
    상기 보안 성분은 데이터 세트와 제 1 키를 이용하여 생성된 디지털 하드웨어 서명을 포함하는, 소프트웨어 애플리케이션.
  17. 제 16 항에 있어서,
    상기 데이터 세트는 상기 하드웨어 식별 속성을 포함하는, 소프트웨어 애플리케이션.
  18. 제 16 항에 있어서,
    상기 디지털 서명은 상기 하드웨어 디바이스 상에 저장된 제 2 키에 의해 인증되는, 소프트웨어 애플리케이션.
  19. 제 16 항에 있어서,
    상기 디지털 서명은 암호화 허가 키에 의해 인증되고, 이 암호화 허가 키는 상기 하드웨어 디바이스 상에 저장된 제 2 키에 의해 차례로 인증되는, 소프트웨어 애플리케이션.
  20. 제 16 항에 있어서,
    상기 디지털 하드웨어 서명을 생성하는 데 이용되는 상기 데이터 세트는 애플리케이션 서명을 포함하는, 소프트웨어 애플리케이션.
  21. 제 15 항에 있어서,
    상기 메인 코드 및 상기 보안 성분은 다운로드 가능한 실행 파일(downloadable executable file)로 패키징되는, 소프트웨어 애플리케이션.
  22. 제 21 항에 있어서,
    상기 실행 파일은 PalmOS 리소스 파일(.prc)인, 소프트웨어 애플리케이션.
  23. 제 15 항에 있어서,
    상기 소프트웨어 애플리케이션은 디스에이블될 때 전부 실행불가능한, 소프트웨어 애플리케이션.
  24. 제 15 항에 있어서,
    상기 소프트웨어 애플리케이션은 디스에이블될 때 부분적으로 실행가능한, 소프트웨어 애플리케이션.
  25. 제 15 항에 있어서,
    상기 하드웨어 식별 속성은 상기 하드웨어 디바이스에 고유한, 소프트웨어 애플리케이션.
  26. 제 15 항에 있어서,
    상기 보안 성분은, 상기 메인 코드 성분이 비암호화(non-encrypted) 또는 해독될지라도 상기 메인 코드 성분이 개별적으로 실행될 수 없도록 상기 메인 코드 성분과 통합되는, 소프트웨어 애플리케이션.
  27. 하드웨어 식별 속성을 포함하는 하드웨어 디바이스; 및
    메인 코드 성분 및 상기 메인 코드 성분에 첨부된 보안 성분을 가진 소프트웨어 애플리케이션으로서, 상기 보안 성분은 매칭하는 하드웨어 식별 속성을 포함 하여, 상기 소프트웨어 애플리케이션이 상기 하드웨어 디바이스 상에 설치되면 인에이블되고 상기 매칭하는 하드웨어 식별 속성을 포함하지 않는 하드웨어 디바이스상에 설치되면 디스에이블되는, 소프트웨어 애플리케이션을 포함하는, 디지털권 관리 시스템.
  28. 제 27 항에 있어서,
    상기 소프트웨어 애플리케이션이 임의의 다른 하드웨어 디바이스상에 설치되면 디스에이블되도록 상기 하드웨어 식별 속성은 상기 하드웨어 디바이스에 고유한, 디지털권 관리 시스템.
  29. 제 27 항에 있어서,
    상기 하드웨어 디바이스는 휴대형인, 디지털권 관리 시스템.
  30. 제 29 항에 있어서,
    상기 휴대형 하드웨어 디바이스는 핸드헬드(handheld)형인, 디지털권 관리 시스템.
  31. 제 27 항에 있어서,
    상기 하드웨어 디바이스는 제거가능한 ROM 또는 RAM 디바이스인, 디지털권 관리 시스템.
  32. 제 27 항에 있어서,
    상기 하드웨어 식별 속성은 상기 하드웨어 디바이스의 영구 속성(persistent attribute)인, 디지털권 관리 시스템.
  33. 제 32 항에 있어서,
    상기 영구 속성은 상기 하드웨어 디바이스의 시리얼 번호(serial number)인, 디지털권 관리 시스템.
  34. 제 32 항에 있어서,
    상기 영구 속성은 상기 하드웨어 디바이스의 ROM 메모리 요소에 저장되어 있는, 디지털권 관리 시스템.
  35. 제 27 항에 있어서,
    상기 보안 성분은, 상기 메인 코드 성분이 비암호화 또는 해독될지라도 상기 메인 코드 성분이 개별적으로 실행될 수 없도록 상기 메인 코드 성분과 통합되는, 디지털권 관리 시스템.
  36. 사용자 데이터의 세트를 수신하고 그로부터 하드웨어 식별 속성을 결정하도록 구성된 제 1 서버; 및
    상기 제 1 서버로부터의 요청시, 상기 사용자 데이터의 세트에 기초하고 상기 하드웨어 식별 속성을 포함하는 디지털 하드웨어 서명을 생성하도록 구성된 제 2 서버로서, 상기 제 1 서버 또는 제 2 서버 중 어느 하나는 상기 디지털 하드웨어 서명을 소프트웨어 애플리케이션에 첨부하여 상기 하드웨어 디바이스가 매칭하는 하드웨어 식별 속성을 가질 때에만 하드웨어 디바이스 상에서 실행가능한 소프트웨어 애플리케이션 패키지를 형성하도록 구성된 제 2 서버를 포함하는, 디지털권 관리 시스템.
  37. 제 36 항에 있어서,
    상기 제 1 서버는 상기 소프트웨어 애플리케이션 성분을 저장하는 전자 소프트웨어 배포 서버(Electronic Software Distribution server)이고, 상기 제 2 서버는 상기 디지털 하드웨어 서명을 생성하기 위해 개인 키들(private keys)을 저장하는 디지털 서명 서버인, 디지털권 관리 시스템.
  38. 제 37 항에 있어서,
    상기 디지털 서명 서버는 상기 생성된 디지털 하드웨어 서명을 상기 전자 소프트웨어 배포 서버로 복귀시켜 상기 소프트웨어 애플리케이션 패키지를 형성하도록 구성된, 디지털권 관리 시스템.
  39. 제 36 항에 있어서,
    상기 제 1 서버는 사용자 인터페이스에 접속되는, 디지털권 관리 시스템.
  40. 제 39 항에 있어서,
    상기 사용자 인터페이스는 웹(Web) 브라우저인, 디지털권 관리 시스템.
  41. 제 36 항에 있어서,
    상기 제 1 서버는 상기 소프트웨어 애플리케이션 패키지를 사용자에 배포하도록 구성된, 디지털권 관리 시스템.
  42. 제 36 항에 있어서,
    상기 사용자 데이터의 세트는 사용자 식별을 포함하고, 상기 하드웨어 식별 속성은 상기 사용자 식별을 각각의 사용자 식별들과 연관된 하드웨어 식별 속성들을 포함하는 데이터베이스와 매칭시킴으로써 결정되는, 디지털권 관리 시스템.
KR1020077008555A 2004-09-17 2005-09-15 하드웨어 식별에 기초한 디지털권 관리 시스템 KR20070046982A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/943,392 2004-09-17
US10/943,392 US20060064756A1 (en) 2004-09-17 2004-09-17 Digital rights management system based on hardware identification

Publications (1)

Publication Number Publication Date
KR20070046982A true KR20070046982A (ko) 2007-05-03

Family

ID=36075470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008555A KR20070046982A (ko) 2004-09-17 2005-09-15 하드웨어 식별에 기초한 디지털권 관리 시스템

Country Status (6)

Country Link
US (1) US20060064756A1 (ko)
EP (1) EP1800478A4 (ko)
KR (1) KR20070046982A (ko)
CN (1) CN101142599A (ko)
TW (1) TW200631374A (ko)
WO (1) WO2006034151A2 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
US8135954B2 (en) * 2004-12-20 2012-03-13 Motorola Mobility, Inc. Distributed digital signature generation
JP4290125B2 (ja) * 2005-01-13 2009-07-01 三洋電機株式会社 サーバ装置
US20070168293A1 (en) * 2005-06-02 2007-07-19 Alexander Medvinsky Method and apparatus for authorizing rights issuers in a content distribution system
JP4127276B2 (ja) * 2005-06-03 2008-07-30 ソニー株式会社 電子機器及びその管理システム
US20070067245A1 (en) * 2005-09-21 2007-03-22 Fathy Yassa Method and apparatus for content protection on hand held devices
JP4899442B2 (ja) * 2005-11-21 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4687424B2 (ja) 2005-11-25 2011-05-25 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US7788181B2 (en) * 2005-12-27 2010-08-31 Microsoft Corporation Software licensing using certificate issued by authorized authority
US8826023B1 (en) * 2006-06-30 2014-09-02 Symantec Operating Corporation System and method for securing access to hash-based storage systems
US7660769B2 (en) * 2006-09-12 2010-02-09 International Business Machines Corporation System and method for digital content player with secure processing vault
ITMI20070996A1 (it) * 2007-05-17 2008-11-18 Incard Sa Metodo per il controllo di esecuzione di un'applet per una ic card
JP4349441B2 (ja) * 2007-06-12 2009-10-21 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US8689010B2 (en) * 2007-06-28 2014-04-01 Microsoft Corporation Secure storage for digital rights management
US8661552B2 (en) * 2007-06-28 2014-02-25 Microsoft Corporation Provisioning a computing system for digital rights management
US8646096B2 (en) * 2007-06-28 2014-02-04 Microsoft Corporation Secure time source operations for digital rights management
WO2009003708A1 (en) * 2007-07-05 2009-01-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device and method for digital rights management
US8160962B2 (en) 2007-09-20 2012-04-17 Uniloc Luxembourg S.A. Installing protected software product using unprotected installation image
TWI484365B (zh) * 2007-10-09 2015-05-11 Kyoraku Ind Co Ltd 搭載於遊戲機的電子設備、主控制基板、周邊基板、認證方法及認證程序
EP2223256A1 (en) * 2007-11-17 2010-09-01 Uniloc Usa, Inc. System and method for adjustable licensing of digital products
US9047450B2 (en) * 2009-06-19 2015-06-02 Deviceauthority, Inc. Identification of embedded system devices
US8423473B2 (en) * 2009-06-19 2013-04-16 Uniloc Luxembourg S. A. Systems and methods for game activation
US9633183B2 (en) * 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US20100324983A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution
US8726407B2 (en) * 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
US8769296B2 (en) * 2009-10-19 2014-07-01 Uniloc Luxembourg, S.A. Software signature tracking
US20110093503A1 (en) * 2009-10-19 2011-04-21 Etchegoyen Craig S Computer Hardware Identity Tracking Using Characteristic Parameter-Derived Data
US9449324B2 (en) 2010-11-11 2016-09-20 Sony Corporation Reducing TV licensing costs
US20120254768A1 (en) * 2011-03-31 2012-10-04 Google Inc. Customizing mobile applications
EP2515499B1 (de) * 2011-04-21 2015-10-28 Wibu-Systems AG Verfahren zum Erzeugen eines kryptographischen Schlüssels für ein geschütztes digitales Datenobjekt auf Basis von aktuellen Komponenten eines Rechners
KR101359908B1 (ko) * 2012-03-14 2014-02-10 (주)제이디에프 모바일 단말에서의 하이브리드 동화책 제공 장치 및 방법
US8954732B1 (en) 2012-06-27 2015-02-10 Juniper Networks, Inc. Authenticating third-party programs for platforms
ES2462398B1 (es) * 2012-10-18 2015-04-13 Navista S.A.R.L. Método para limitar y asegurar la operatividad y funcionamiento de un programa de ordenador única y exclusivamente con el equipo informático donde se instala
US9009854B2 (en) 2012-12-19 2015-04-14 Intel Corporation Platform-hardened digital rights management key provisioning
CN103279695B (zh) * 2013-05-03 2016-04-20 成都交大光芒科技股份有限公司 轨道交通综合监控***通信程序授权方法
TWI563838B (en) * 2013-08-26 2016-12-21 Digital Action Inc Digital contents encoding and decoding system and the method thereof
US9245097B2 (en) 2013-09-19 2016-01-26 Infosys Limited Systems and methods for locking an application to device without storing device information on server
US9239918B2 (en) 2013-10-02 2016-01-19 Andes Technology Corporation Method and apparatus for software-hardware authentication of electronic apparatus
CN105303070A (zh) * 2014-07-09 2016-02-03 程旭 离线数据的版权保护方法
JP6729122B2 (ja) * 2016-07-19 2020-07-22 富士通株式会社 情報処理装置、プログラムおよび情報処理システム
CN106529218B (zh) * 2016-10-28 2020-03-06 新华三技术有限公司 一种应用校验方法和装置
CN106528231B (zh) * 2016-11-07 2019-08-20 青岛海信移动通信技术股份有限公司 一种启动应用程序的方法和装置
US10554663B2 (en) 2017-03-23 2020-02-04 Ca, Inc. Self-destructing smart data container
US11874878B2 (en) * 2019-08-13 2024-01-16 International Business Machines Corporation Replacing components of a data processing system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170060B1 (en) * 1997-10-03 2001-01-02 Audible, Inc. Method and apparatus for targeting a digital information playback device
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
US7426750B2 (en) * 2000-02-18 2008-09-16 Verimatrix, Inc. Network-based content distribution system
US7036011B2 (en) * 2000-06-29 2006-04-25 Cachestream Corporation Digital rights management
US7290285B2 (en) * 2000-06-30 2007-10-30 Zinio Systems, Inc. Systems and methods for distributing and viewing electronic documents
US20020026445A1 (en) * 2000-08-28 2002-02-28 Chica Sebastian De La System and methods for the flexible usage of electronic content in heterogeneous distributed environments
GB0100753D0 (en) * 2001-01-11 2001-02-21 Bate Matthew Data system
CN101369299B (zh) * 2001-01-17 2010-06-09 康坦夹德控股股份有限公司 管理数字内容使用权利的方法和装置
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
US7672903B2 (en) * 2001-08-27 2010-03-02 Dphi Acquisitions, Inc. Revocation method and apparatus for secure content
US7313828B2 (en) * 2001-09-04 2007-12-25 Nokia Corporation Method and apparatus for protecting software against unauthorized use
US7272858B2 (en) * 2002-04-16 2007-09-18 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
US7472270B2 (en) * 2002-04-16 2008-12-30 Microsoft Corporation Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
US7529929B2 (en) * 2002-05-30 2009-05-05 Nokia Corporation System and method for dynamically enforcing digital rights management rules
US7152243B2 (en) * 2002-06-27 2006-12-19 Microsoft Corporation Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system
US7549060B2 (en) * 2002-06-28 2009-06-16 Microsoft Corporation Using a rights template to obtain a signed rights label (SRL) for digital content in a digital rights management system
US20040039932A1 (en) * 2002-08-23 2004-02-26 Gidon Elazar Apparatus, system and method for securing digital documents in a digital appliance
US20040054920A1 (en) * 2002-08-30 2004-03-18 Wilson Mei L. Live digital rights management
GB2394573A (en) * 2002-10-26 2004-04-28 Ncr Int Inc Controlled access to software or data
US20040088541A1 (en) * 2002-11-01 2004-05-06 Thomas Messerges Digital-rights management system
US7734549B2 (en) * 2002-12-31 2010-06-08 Motorola, Inc. Methods and apparatus for managing secured software for a wireless device
US20040143746A1 (en) * 2003-01-16 2004-07-22 Jean-Alfred Ligeti Software license compliance system and method
US7356709B2 (en) * 2003-01-31 2008-04-08 Microsoft Corporation Systems and methods for deterring software piracy in a volume license environment
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification

Also Published As

Publication number Publication date
WO2006034151A2 (en) 2006-03-30
TW200631374A (en) 2006-09-01
CN101142599A (zh) 2008-03-12
WO2006034151A3 (en) 2007-06-07
US20060064756A1 (en) 2006-03-23
EP1800478A2 (en) 2007-06-27
EP1800478A4 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
KR20070046982A (ko) 하드웨어 식별에 기초한 디지털권 관리 시스템
KR100362219B1 (ko) 변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
EP1477879B1 (en) Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
JP5330488B2 (ja) 安全にコンテンツを配布する方法及び装置
JP5065911B2 (ja) プライベートな、かつ制御された所有権の共有
EP1168141A2 (en) A secure and open computer platform
JP2004056794A (ja) コンテンツの権利管理のための領域ベース信用モデル
JP2005537559A (ja) トランザクションの安全な記録
JP2006504176A (ja) コンテンツ操作を許可する方法及び装置
JP2007511810A (ja) 乱数関数を利用した実行証明
US20130173923A1 (en) Method and system for digital content security cooperation
CN116167017A (zh) 一种基于区块链技术的鞋类原创设计ai数字版权管理***
JP3758316B2 (ja) ソフトウェアライセンス管理装置および方法
JP2009181598A (ja) デジタル著作権管理のための情報処理装置
JP3575210B2 (ja) デジタル情報管理システム、端末装置、情報管理センタ及びデジタル情報管理方法
KR100831726B1 (ko) Drm 시스템에서의 보안 방법 및 시스템
JP2002132145A (ja) 認証方法、認証システム、記録媒体及び情報処理装置
JP2005086457A (ja) 復号鍵要求プログラム、記憶媒体、端末装置、およびサーバ装置
Verslype et al. A flexible and open DRM framework
JP2008529340A (ja) 登録段階
JP2005266896A (ja) ソフトウェア不正使用防止方式、ソフトウェア不正使用防止方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application