KR20120082761A - 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법 - Google Patents

플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법 Download PDF

Info

Publication number
KR20120082761A
KR20120082761A KR1020110004242A KR20110004242A KR20120082761A KR 20120082761 A KR20120082761 A KR 20120082761A KR 1020110004242 A KR1020110004242 A KR 1020110004242A KR 20110004242 A KR20110004242 A KR 20110004242A KR 20120082761 A KR20120082761 A KR 20120082761A
Authority
KR
South Korea
Prior art keywords
cartridge
player
key
public key
encrypted
Prior art date
Application number
KR1020110004242A
Other languages
English (en)
Other versions
KR101188659B1 (ko
Inventor
임대운
양기주
금은지
김영식
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020110004242A priority Critical patent/KR101188659B1/ko
Publication of KR20120082761A publication Critical patent/KR20120082761A/ko
Application granted granted Critical
Publication of KR101188659B1 publication Critical patent/KR101188659B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에 관한 것으로서, 본 발명에 따른 디지털 콘텐츠 보호 방법은 카트리지가 플레이어의 공개키를 이용하여 카트리지의 공개키, 패스워드 및 세션키로부터 암호화된 인증 요청 메시지를 생성하여 플레이어에 전송하고, 플레이어가 플레이어의 개인키를 이용하여 인증 요청 메시지를 복호화하고, 복호화된 인증 요청 메시지를 이용하여 카트리지를 인증하고, 세션키를 이용하여 카트리지의 공개키로부터 암호화된 응답 메시지를 생성하여 카트리지에 전송하며, 카트리지가 세션키를 이용하여 응답 메시지를 복호화하고, 복호화된 응답 메시지에 포함된 카트리지의 공개키를 이용하여 플레이어를 상호 인증한다.

Description

플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법{Method for protecting the digital contents between player and cartridges}
본 발명은 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에 관한 것으로, 특히 인증을 위한 별도의 서버가 없는 환경 하에서 카트리지에 저장된 디지털 콘텐츠를 플레이어에서 실행하기 위해 인증을 수행하는 디지털 콘텐츠 보호 방법 및 그 방법을 기록한 기록매체에 관한 것이다.
오늘날 널리 쓰이는 스마트카드(smart cards)에는 기본적으로 RSA(Rivest Shamir Adleman) 암호화 방법이나 타원 곡선 암호(Elliptic Curve Cryptosystem, ECC)와 같은 공개키 암호나 AES(Advanced Encryption Standard) 암호화 알고리즘과 같은 블록 암호를 위한 연산 하드웨어 및 소프트웨어를 기본으로 탑재하고 있어서 보안에 필요한 연산 과정을 고속으로 수행할 수가 있다. 특히 많은 스마트카드들이 부채널 공격(side channel attack)에 대한 기본적인 방어 기능(countermeasure)들을 내장하고 있어서 인증, 식별, 무결성, 부인방지 및 기밀성과 같은 다양한 암호학적 기능들을 안전하게 제공해 줄 수 있다. 또한 스마트카드는 하드웨어적으로 부정조작 방지(tamper- resistant)를 제공해 줄 수가 있다.
디지털 콘텐츠를 안전하게 사용하기 위한 인증과 관련해 다양한 연구 결과들이 있었으나, 패스워드 기반의 암호화 방식과 동일한 종래의 문제점을 여전히 지니고 있거나, 가장 공격(impersonation attack)을 비롯한 다양한 외부 공격에 취약하다는 점이 문제점으로 지적되었다. 또한, 스마트카드를 활용한 다중 서버 패스워드 인증 방법의 경우, 등록 센터가 핵심적인 역할을 맡게 되어 결과적으로 등록 센터에 병목 현상이 발생하는 문제점이 발견되었다.
한편, 오늘날 디지털 콘텐츠를 보호하기 위해 DRM(Digital Right Management)기술이 널리 사용되고 있다. 그러나, DRM 기술은 불법 사용 방지를 위해 디지털 콘텐츠를 구매한 장치에서만 해당 콘텐츠의 사용이 가능하도록 제한되며, 이로 인해 해당 디지털 콘텐츠가 카트리지와 같은 형태의 매체에 저장된 경우, 사용자들 간에 디지털 콘텐츠를 자유롭게 교환하는 것이 불가능하다.
본 발명이 해결하고자 하는 기술적 과제는 카트리지를 매체로 하는 디지털 콘텐츠의 경우 해당 콘텐츠의 인증을 위해 인증 서버가 필요하다는 불편함으로 해소하고, 디지털 콘텐츠의 보호를 위한 종래의 인증 방법들이 다양한 공격에 취약하다는 문제점을 해결하며, 사용자들간에 디지털 콘텐츠의 공유 및 교환이 제한되는 한계를 극복하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 플레이어(player) 및 카트리지(cartridge) 간의 디지털 콘텐츠 보호 방법은, 상기 카트리지가 상기 카트리지의 공개키, 상기 카트리지의 개인키, 상기 플레이어의 공개키 및 상기 카트리지의 공개키와 마스터키(master key) 쌍(pair)을 이용하여 생성된 패스워드를 상기 카트리지에 구비된 스마트카드(smart card)에 저장하고, 암호화된 디지털 콘텐츠와 암호화 키를 상기 카트리지에 구비된 저장공간에 저장하는 단계; 상기 플레이어의 공개키를 이용하여 상기 저장된 카트리지의 공개키, 패스워드 및 세션키(session key)로부터 암호화된 인증 요청 메시지를 생성하는 단계; 상기 카트리지가 상기 생성된 인증 요청 메시지를 상기 플레이어에 전송하고, 이에 대한 응답으로 상기 플레이어로부터 암호화된 응답 메시지를 수신하는 단계; 상기 카트리지가 상기 세션키를 이용하여 상기 수신된 응답 메시지를 복호화하는 단계; 및 상기 카트리지가 상기 복호화된 응답 메시지에 포함된 카트리지의 공개키의 유효 여부를 검사함으로써 상기 플레이어를 인증하는 단계를 포함한다.
나아가, 상기된 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상기 플레이어를 인증하는 단계는, 상기 복호화된 응답 메시지로부터 상기 카트리지의 공개키를 추출하는 단계; 및 상기 추출된 카트리지의 공개키와 상기 스마트카드에 저장된 카트리지의 공개키를 비교하여 양자의 동일 여부를 판단하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법은, 상기 플레이어가 상기 플레이어의 개인키와 마스터키 쌍을 상기 플레이어에 구비된 스마트카드에 저장하는 단계; 상기 플레이어가 상기 카트리지로부터 암호화된 인증 요청 메시지를 수신하는 단계; 상기 플레이어가 상기 플레이어의 개인키를 이용하여 수신된 인증 요청 메시지를 복호화하는 단계; 및 상기 복호화된 인증 요청 메시지에 포함된 카트리지의 공개키로부터 패스워드를 생성하여 상기 복호화된 인증 요청 메시지에 포함된 패스워드와 비교함으로써 상기 카트리지를 인증하는 단계를 포함한다.
또한, 상기된 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법은, 상기 복호화된 인증 요청 메시지에 포함된 세션키를 이용하여 상기 카트리지의 공개키로부터 암호화된 응답 메시지를 생성하는 단계; 및 상기 플레이어가 상기 생성된 응답 메시지를 상기 카트리지에 전송하는 단계를 더 포함한다.
나아가, 상기된 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상기 카트리지를 인증하는 단계는, 상기 복호화된 인증 요청 메시지로부터 카트리지의 공개키와 패스워드를 추출하는 단계; 해시 함수를 이용하여 상기 추출된 카트리지의 공개키로부터 아이디를 생성하고, 생성된 아이디 및 저장된 마스터키 쌍을 연산함으로써 패스워드를 생성하는 단계; 및 상기 생성된 패스워드와 상기 추출된 패스워드를 비교함으로써 양자의 일치 여부를 검사하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법은, 상기 카트리지가 상기 카트리지의 공개키, 상기 카트리지의 개인키 및 상기 플레이어의 공개키를 상기 카트리지에 구비된 스마트카드에 저장하고, 암호화된 디지털 콘텐츠와 암호화 키를 상기 카트리지에 구비된 저장공간에 저장하는 단계; 상기 카트리지가 상기 암호화된 인증 요청 메시지를 생성하여 상기 플레이어에 전송하고, 이에 대한 응답으로 상기 플레이어로부터 암호화된 응답 메시지를 수신하는 단계; 상기 카트리지가 상기 수신된 응답 메시지를 복호화하고 상기 복호화된 응답 메시지에 포함된 카트리지의 공개키의 유효 여부를 검사함으로써 상기 플레이어를 인증하는 단계; 및 상기 플레이어가 인증된 경우 상기 카트리지가 상기 저장된 디지털 콘텐츠와 암호화 키를 상기 플레이어에 전송하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법은, 상기 플레이어가 상기 플레이어의 개인키를 상기 플레이어에 구비된 스마트카드에 저장하는 단계; 상기 플레이어가 상기 카트리지로부터 암호화된 인증 요청 메시지를 수신하는 단계; 상기 플레이어가 상기 플레이어의 개인키를 이용하여 수신된 인증 요청 메시지를 복호화하고, 복호화된 인증 요청 메시지를 이용하여 카트리지를 인증하는 단계; 상기 카트리지가 인증된 경우 상기 플레이어가 암호화된 응답 메시지를 생성하여 상기 카트리지에 전송하는 단계; 상기 플레이어가 상기 카트리지로부터 상기 암호화된 디지털 콘텐츠와 암호화 키를 수신하는 단계; 및 상기 플레이어가 상기 수신된 암호화 키를 해독하고 상기 해독된 암호화 키를 이용하여 상기 암호화된 디지털 콘텐츠를 복호화하는 단계를 포함한다.
한편, 이하에서는 상기 기재된 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은 스마트카드를 이용하여 플레이어 및 카트리지 간의 상호 인증을 수행함으로써 인증 서버 없이도 카트리지를 매체로 하는 디지털 콘텐츠의 인증이 가능하고, 스마트카드를 통해 다양한 외부 공격에 대한 안전성을 담보함과 동시에 관련 암호화 연산을 고속으로 수행할 수 있으며, 사용자들간에 디지털 콘텐츠의 자유로운 공유 및 교환이 가능하다.
도 1은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법의 기본 아이디어와 전체적인 동작 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 플레이어 및 카트리지의 스마트카드 및 저장 공간에 저장되는 주요 데이터를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증을 위해 기초 데이터를 준비하는 과정을 각각 플레이어 및 카트리지를 중심으로 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증하는 과정을 각각 플레이어 및 카트리지를 중심으로 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 플레이어가 카트리지를 인증하는 보다 구체적인 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 카트리지가 플레이어를 인증하는 보다 구체적인 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증 후, 카트리지로부터 플레이어로 디지털 콘텐츠를 전송하여 실행하는 과정을 도시한 흐름도이다.
본 발명의 실시예들을 설명하기에 앞서 본 발명의 실시예들이 구현되는 환경 및 배경 기술들에 대해 개괄적으로 소개하고자 한다.
앞서 소개한 바와 같이 디지털 콘텐츠를 보호하기 위해 널리 활용되고 있는 DRM의 경우 디지털 콘텐츠의 사용 범위가 제한되는 불편함이 존재한다. 이러한, 불편을 해소하기 위하여 허가된 도메인 안에서만 구매한 콘텐츠를 상호 교환하여 이용하는 것이 가능하도록 설계된 AD-DRM(authorized domain DRM)이 제안되었지만, 여전히 멤버 탈퇴를 처리하는 문제가 복잡하다는 단점을 가진다.
일반적으로 DRM을 사용할 때는 제 3의 신뢰기관이 존재해서 인증 과정을 도와주게 된다. 하지만, 유선이나 무선 통신을 통해서 제 3자로부터 매번 인증을 받지 못하는 상황에서는 이런 인증 기술을 사용할 수가 없다. 예를 들어, 휴대용 게임기에서 카트리지를 이용해서 게임 데이터를 로드해서 사용하는 경우를 가정하자. 이 경우 휴대용 게임기의 가격 경쟁력을 위해서 제조사는 제한된 범위의 통신 기능만을 제공해 주는 경우가 많다. 통상적으로 서버를 통한 인증 과정을 사용하는 경우 무선 통신 서비스 영역을 벗어나면 이미 내장된 디지털 콘텐츠 외에 새로운 디지털 콘텐츠를 적용해서 사용하는 것이 불가능하게 된다. 따라서, 게임 데이터를 보호하기 위해서는 서버와의 통신이 없이도 인증 과정을 수행할 필요성이 제기되기에 이르렀다. 즉, 서버를 통한 인증의 불편함을 해소하고 서버의 부담을 최소화하기 위해서는 제 3의 신뢰기관과의 통신 없이도 인증이 가능한 기술이 요구된다.
또한, 디지털 콘텐츠를 적법하게 구매한 사용자가 적법한 시스템(콘텐츠 플레이어를 의미한다.)에서 사용할 수 있도록 하기 위해서는 디지털 콘텐츠와 플레이어 간의 상호 인증을 통해서 안전성을 확보해야만 한다. 또한, 사용자 개인 정보를 유출하지 않고서도 단말기들 간의 인증 과정을 제공해 주어야만 한다.
한편, 스마트카드를 활용하게 되면 다양한 암호 연산을 고속으로 안전하게 수행하는 것이 가능할 뿐만 아니라 여러 비밀 정보들을 안전하게 보호하는 것이 가능하다. 또한, 비용의 측면에서 스마트카드를 활용하게 되면 비교적 저렴한 가격에 보안성을 확보하는 것이 가능하다. 스마트카드에서는 많은 경우 RSA나 타원곡선 암호와 같은 공개키 암호 연산을 위한 하드웨어 엔진을 제공해 줄 뿐만 아니라 AES나 DES(data encryption standard)/TDES(Triple DES)의 암호화 및 복호화를 고속으로 수행할 수 있는 하드웨어 엔진을 가지고 있다. 또한, 안전한 의사난수발생기(Pseudo Random Number Generator)나 진난수발생기(True Random Numger Generator) 중 적어도 하나를 내장하고 있다. 이러한 구성 요소들은 해당 암호화 연산을 매우 빠르게 수행하는 것이 가능한 환경을 제공한다.
따라서, 이하에서 제안될 본 발명의 실시예들을 통해 플레이어와 카트리지는 스마트카드를 각각 하나씩 가지고 있다고 가정한다. 일련의 연산 과정을 통해 생성된 비밀 정보들은 각각 플레이어와 스마트카드의 보안 메모리에 저장된다. 이 때, 보안 메모리에 저장되는 비밀 정보들은 스마트카드의 부정 조작 방지를 위한 각종 센서들을 통해서 안전하게 보호된다고 가정한다.
본 발명의 실시예들은 스마트카드에서 제공하는 기본적인 암호 연산들을 활용하여 서버와의 통신이 없이도 디지털 콘텐츠를 상호 인증하는 방법을 제안하고자 한다. 또한, 디지털 콘텐츠를 암호화하고 이 암호화에 대한 키를 다시 암호화함으로써 디지털 콘텐츠의 불법적인 사용과 복제를 방지하는 기술을 제안하고자 한다. 이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법의 기본 아이디어와 전체적인 동작 방법을 설명하기 위한 도면이다.
여기서 플레이어(10)는 MP3 음악 플레이어, 동영상 재생기 또는 게임기 등과 같이 디지털 콘텐츠(25)를 재생 또는 실행할 수 있는 모든 종류의 기기를 포함하는데, 그 자신은 디지털 콘텐츠(25)를 직접 가지지 않으며 카트리지에 저장된 디지털 콘텐츠(25)를 전달받아 재생하는 역할을 수행한다.
이에 대응하는 카트리지(20)는 플레이어(10)에 내삽되거나 전기적으로 결속된 후, 자신의 저장 공간에 저장되어 있는 디지털 콘텐츠(25)를 플레이어(10)에 제공하여 플레이어(10)로 하여금 재생하게 한다. 개임기의 게임팩이나 카세트 형태의 데이터 저장매체가 이에 해당한다.
본 실시예에서는 인증 서버없이 디지털 콘텐츠를 개별적으로 인증하여 자유롭게 사용하기 위해 각각의 플레이어(10) 및 카트리지(20)를 상호 인증시킨다. 이를 위해, 우선 카트리지(20)가 암호화된 인증 요청 메시지를 생성하여 플레이어(10)에 전송한다.
플레이어(10)는 이를 수신하여 복호화한 후, 플레이어(10)의 입장에서 이러한 요청 메시지를 통해 카트리지(20)를 인증한다. 그런 다음, 카트리지(20)의 인증이 유효하면 플레이어(10)는 암호화된 응답 메시지를 생성하여 카트리지(20)에 전달한다.
다시 카트리지(20)는 응답 메시지를 수신하여 이를 복호화한 후, 카트리지(20)의 입장에서 응답 메시지를 통해 플레이어(10)를 인증한다. 그런 다음, 플레이어(10)의 인증이 유효하면 비로소 디지털 콘텐츠를 플레이어(10)에 제공한다. 물론 이 경우에도 디지털 콘텐츠는 암호화되어야 하며, 플레이어(10)를 이를 복호화한 후, 재생하게 된다.
이상의 상호 인증 및 디지털 콘텐츠 제공에 따른 재생 과정을 통해 본 실시예는 인증을 위한 별도의 중앙 서버 없이도 각각의 플레이어(10) 및 카트리지(20)가 개별적인 인증을 통해 보안을 제공함과 동시에 해당 디지털 콘텐츠(25)의 자유로운 사용을 보장한다.
도 2는 본 발명의 일 실시예에 따른 플레이어 및 카트리지의 스마트카드 및 저장 공간에 저장되는 주요 데이터를 설명하기 위한 도면이다. 설명의 편의를 도모하고 발명의 본질에 집중하기 위해 플레이어(10) 및 카트리지(20)에 구비될 수 있는 통상적인 하드웨어는 생략하였으며, 오직 스마트카드와 저장 공간만을 도시하였다. 또한, 플레이어(10) 및 카트리지(20)는 전기적으로 연결되어 상호 데이터를 입/출력할 수 있다. 각각의 데이터들의 구체적인 역할과 생성 방법에 대해서는 이후에 다시 설명할 것이며, 여기서는 플레이어(10) 및 카트리지(20)의 저장 수단에 대한 개괄적인 구조와 저장될 데이터들의 종류만을 소개한다.
이하에서 설명의 편의를 위해 본 발명의 실시예들이 공통적으로 사용하는 기호를 설명하면 다음과 같다. 영문자 PUB는 공개키(public key)를 나타내고, 영문자 PRI는 개인키(private key)를 나타내고, 영문자 G는 플레이어를 나타내고, 영문자 L은 카트리지를 나타내고, 영문자 ID는 식별자(identifier)를 나타내고, 영문자 PW는 패스워드를 나타내고, 영문자 K는 데이터 암호화를 위한 고유 비밀키를 나타내며, 영문자 D는 디지털 콘텐츠를 나타낸다.
플레이어(10)는 자신의 스마트카드(11)에 플레이어의 공개키(
Figure pat00001
), 플레이어의 개인키(
Figure pat00002
) 및 마스터키(master key) 쌍(pair)(
Figure pat00003
)을 저장한다.
한편, 카트리지(20)는 자신의 스마트카드(21)에 카트리지의 공개키(
Figure pat00004
), 카트리지의 개인키(
Figure pat00005
), 플레이어의 공개키(
Figure pat00006
) 및 카트리지의 패스워드(
Figure pat00007
)를 저장한다. 나아가, 카트리지(20)는 자신의 저장 공간(예를 들어, ROM이 될 수 있다.)(22)에 암호화된 디지털 콘텐츠(
Figure pat00008
)와 암호화 키(
Figure pat00009
)를 저장한다.
이상과 같은 구조에 기초하여 이하에서는 디지털 콘텐츠를 보호하기 위한 일련의 절차를 크게 (1) 기초 데이터 준비, (2) 상호 인증, (3) 디지털 콘텐츠 재생의 3 단계로 구분하여 제안하도록 한다. 이하에서 순서대로 설명한다.
도 3은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증을 위해 기초 데이터를 준비하는 과정을 각각 플레이어 및 카트리지를 중심으로 도시한 흐름도이다.
기초 데이터 준비 과정은 신뢰가 보장되는 관리 기관에 의해서 이루어진다. 관리 기관은 플레이어(10)와 카트리지(20)들 각각의 공개키와 개인키를 생성하고, 마스터키 쌍(
Figure pat00010
)을 사용해서 카트리지(20)의 아이디와 패스워드를 생성한다. 여기서, 마스터키 쌍은 임의의 큰 소수
Figure pat00011
에 대해서
Figure pat00012
를 만족한다. 구체적으로 기초 데이터 준비 과정은 다음과 같은 절차로 이루어진다.
우선, 공개된 인증 채널 (public authenticated channel)을 통해서 플레이어(10)들의 공통의 공개키 (
Figure pat00013
)를 모든 플레이어(10)와 카트리지(20)가 공유한다.
310 단계에서, 플레이어(10)는 플레이어의 개인키(
Figure pat00014
)와 마스터키 쌍(
Figure pat00015
)을 플레이어(10)에 구비된 스마트카드에 저장한다. 이 때, 개인키는 플레이어(10)들의 공통의 개인키를 의미한다.
320 단계에서, 카트리지(20)는 카트리지의 공개키, 카트리지의 개인키, 플레이어의 공개키를 카트리지(20)에 구비된 스마트카드에 저장한다. 이 때, 카트리지(20)가 복수 개인 경우, 각각의 카트리지들은 개별 공개키와 개인키 쌍 (
Figure pat00016
,
Figure pat00017
)을 하나씩 소유하며, 2 개의 키들은 스마트카드에 저장하여 모두 비공개로 한다.
이어서, 330 단계에서는 카트리지의 공개키와 마스터키(master key) 쌍(pair)을 이용하여 생성된 패스워드를 역시 카트리지에 구비된 스마트카드에 저장한다. 구체적으로, 카트리지(20)는 해시 함수(hash function)를 이용하여 카트리지의 공개키로부터 카트리지의 아이디(
Figure pat00018
)를 생성하고, 생성된 아이디 및 관리기관이 보유한 마스터키 쌍
Figure pat00019
을 연산함으로써 패스워드(
Figure pat00020
)를 생성한다. 각각의 생성 과정은 다음의 수학식 1 및 수학식 2에 따른다.
Figure pat00021
Figure pat00022
여기서,
Figure pat00023
는 일방향 해시 함수이고
Figure pat00024
Figure pat00025
번째 사용자의 공개키이다. 이렇게 생성된 패스워드는 카트리지에 포함된 스마트카드의 보안 메모리에 저장된다.
다음으로, 340 단계 및 350 단계에서는 암호화된 디지털 콘텐츠와 암호화 키를 상기 카트리지에 구비된 저장공간에 저장한다. 이 때의 저장공간은 스마트카드의 보안 메모리일 필요는 없으며, 카트리지의 ROM을 활용하는 것이 바람직하다.
구체적으로 340 단계를 통해 암호화된 디지털 콘텐츠는 카트리지의 고유 비밀키를 이용하여 블록 암호화하여 저장된다. 즉, 디지털 콘텐츠(D)는 개별 콘텐츠 카트리지가 가진 고유의 비밀키(
Figure pat00026
)를 사용해서 AES 블록 암호(BC)로 암호화(
Figure pat00027
) 되어 저장될 수 있다. 한편, 앞서 340 단계를 통해 암호화에 사용된 고유 비밀키(
Figure pat00028
)는 350 단계를 통해 다시 카트리지의 개인키(
Figure pat00029
)로 암호화되어서 스마트카드의 저장공간에 저장된다.
이러한 기초 데이터의 준비 과정을 완료하면, 앞서 살펴본 도 2에 도시된 바와 같이 각각 플레이어 및 카트리지에 포함된 스마트카드에 저장되는 비밀 정보 및 디지털 콘텐츠를 저장하고 있는 롬(ROM)의 구조가 형성될 수 있다.
이제 디지털 콘텐츠 보호의 두 번째 과정인 상호 인증 과정을 설명한다.
도 4는 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증하는 과정을 각각 플레이어 및 카트리지를 중심으로 도시한 흐름도로서, 연산의 흐름에 따라 설명한다.
410 단계에서 카트리지(20)는 플레이어의 공개키를 이용하여 카트리지의 스마트카드에 저장된 카트리지의 공개키, 패스워드 및 세션키(session key)로부터 암호화된 인증 요청 메시지를 생성한다.
구체적으로 카트리지는 먼저 자신의 공개키(
Figure pat00030
)와 패스워드(
Figure pat00031
), 스마트카드에 포함된 난수 발생기(random number generator, RNG)에서 새롭게 생성한 세션키(
Figure pat00032
), 그리고 현재의 타임스탬프(
Figure pat00033
_1)를 연접(
Figure pat00034
)하여 인증 요청 메시지를 생성한다. 그런 다음, 카트리지(20)는 생성된 인증 요청 메시지를 플레이어의 공개키(
Figure pat00035
)로 암호화한 후에 이를 플레이어(10)로 전송한다.
420 단계에서 플레이어(10)는 카트리지(20)로부터 암호화된 인증 요청 메시지를 수신하고, 플레이어의 개인키를 이용하여 수신된 인증 요청 메시지를 복호화한다. 즉, 플레이어(10)는 공통의 개인키(
Figure pat00036
)를 이용하여 카트리지로부터 수신된 암호문을 복호한 후에 카트리지의 공개키(
Figure pat00037
)와 세션키(
Figure pat00038
)를 얻게 된다.
그런 다음 430 단계에서 플레이어(10)는 복호화된 인증 요청 메시지에 포함된 카트리지의 공개키로부터 패스워드를 생성하여 복호화된 인증 요청 메시지에 포함된 패스워드와 비교함으로써 카트리지를 인증한다. 구체적인 인증 과정은 도 5를 참조하여 설명한다.
도 5는 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 플레이어가 카트리지를 인증하는 보다 구체적인 방법을 도시한 흐름도이다.
앞서 설명한 바와 같이 복호화된 인증 요청 메시지는 카트리지의 타임스탬프를 포함한다. 이러한 타임스탬프를 활용하여 510 단계에서는 카트리지의 타임스탬프(
Figure pat00039
)와 미리 설정된 임의의 값(predetermined value)(Tth)을 비교한다.
만약 타임스탬프가 미리 설정된 임의의 값보다 큰 경우 520 단계로 진행하며, 플레이어는 인증을 거부한다. 이 경우에 플레이어는 해당 인증 요청을 유효기간이 지난 요청이라고 판단해 인증을 거부한다. 따라서, 카트리지를 인증하는 일련의 과정은 타임스탬프와 임의의 값과의 비교 결과에 따라 선택적으로 수행된다. 만약 타임스탬프(
Figure pat00040
)를 확인하여 미리 정해진 값(Tth) 보다 작은 경우(양자의 값이 같은 경우도 포함될 수 있을 것이다.), 530 단계로 진행한다.
530 단계에서 플레이어는 복호화된 인증 요청 메시지로부터 카트리지의 공개키와 패스워드를 추출한다.
540 단계에서 플레이어는 530 단계를 통해 추출된 카트리지의 공개키로부터 해시 함수를 이용하여 아이디를 생성하고, 생성된 아이디 및 저장된 마스터키 쌍을 연산함으로써 패스워드를 생성한다. 구체적으로, 플레이어는 카트리지의 공개키(
Figure pat00041
)에 일방향 해시 함수를 적용시켜서
Figure pat00042
를 생성하고 다시 마스터키 쌍 (
Figure pat00043
)을 이용해서
Figure pat00044
를 생성한다. 구체적인 연산 과정은 앞서 설명한 수학식 1 및 수학식 2에 따른다.
이제, 550 단계에서 플레이어는 540 단계를 통해 생성된 패스워드와 상기 추출된 패스워드를 비교함으로써 양자의 일치 여부를 검사한다. 만약, 양자의 값이 같으면 플레이어는 카트리지를 인증할 수 있다.
다시, 카트리지의 인증이 완료된 도 4의 430 단계로 돌아오자.
440 단계에서 플레이어(10)는 복호화된 인증 요청 메시지에 포함된 세션키를 이용하여 카트리지의 공개키로부터 암호화된 응답 메시지를 생성하고, 이를 카트리지(20)에 전송한다. 즉, 플레이어(10)는 카트리지의 공개키(
Figure pat00045
)와 현재의 타임스탬프(
Figure pat00046
)를 연접시킨 (
Figure pat00047
)를 세션키
Figure pat00048
를 사용해서 대칭키 암호로 암호화한 후에 다시 카트리지(20)로 회송한다.
이제 4카트리지(20)는 인증 요청메시지에 대한 응답으로 상기 플레이어로부터 암호화된 응답 메시지를 수신한다. 450 단계에서 카트리지(20)는 세션키를 이용하여 수신된 응답 메시지를 복호화한다. 즉, 카트리지는 저장하고 있던 세션키()를 사용해서 대칭키 암호문인 응답 메시지를 복호화한다.
이어서 460 단계에서 카트리지(20)는 복호화된 응답 메시지에 포함된 카트리지의 공개키의 유효 여부를 검사함으로써 플레이어(10)를 인증한다. 구체적인 플레이어의 인증 과정은 도 6을 참고하여 설명한다.
도 6은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 카트리지가 플레이어를 인증하는 보다 구체적인 방법을 도시한 흐름도이다.
앞서 설명한 바와 같이 응답 메시지는 플레이어의 타임스탬프(time stamp)를 포함한다. 610 단계에서는 이러한 타임스탬프(
Figure pat00050
)와 미리 정해진 임의의 값(Tth)과의 비교를 수행한다.
만약, 플레이어가 보내온 타임스탬프(
Figure pat00051
)가 미리 정해진 값(Tth)보다 큰 경우 620 단계로 진행하며 카트리지는 인증을 거부한다. 따라서, 플레이어를 인증하는 일련의 과정은 타임스탬프와 임의의 값과의 비교 결과에 따라 선택적으로 수행될 수 있다.
630 단계에서 카트리지는 복호화된 응답 메시지로부터 카트리지의 공개키를 추출한다. 이어서, 640 단계에서 카트리지는 630 단계를 통해 추출된 카트리지의 공개키(
Figure pat00052
)와 스마트카드에 저장된 카트리지의 공개키를 비교하여 양자의 동일 여부를 판단한다.
이상과 같이 플레이어의 인증은 플레이어의 공통 개인키(
Figure pat00053
)를 알고 있다는 것을 간접적으로 확인함으로써 이루어지게 된다. 이상과 같은 실시예는 플레이어의 인증이 필요한 경우 플레이어와 소프트웨어의 형식을 특화함으로써 공급을 독점하는 방식의 사업 모델에서 유용하게 활용될 수 있다. 예를 들어, 닌텐도와 같은 게임기에서는 전체적인 표준에 의존하지 않고서 공급 업체가 게임기를 공급하고, 이에 대응하는 소프트웨어도 게임 플레이어에 특화되어 있다는 특징을 지닌다. 이러한 경우 소프트웨어 불법 복제가 가장 큰 문제가 될 수 있을 뿐만 아니라, 플레이어의 불법 복제 역시 문제가 될 수 있다. 따라서, 정품 플레이어에서 불법 소프트웨어를 막는 것 못지않게, 불법 플레이어에서 정품 소프트웨어를 사용하지 못하게 하는 것 역시 해당 기업에서는 중요한 이슈가 된다.
이상에 제안한 본 발명의 실시예에 따르면 불법 복제 플레이어를 제작한다고 할 지라도 플레이어의 개인키를 알지 못하기 때문에 정품 소프트웨어에 대한 인증을 획득할 수 없다는 특징을 갖는다. 이러한 특징은 플레이어의 공통 개인키(
Figure pat00054
)는 플레이어 내부의 스마트카드의 보안 메모리에 저장되어 있고, 이러한 공통 개인키(
Figure pat00055
)가 스마트카드를 발급하는 기관에서 관리되며, 모든 플레이어에 의해 공유된다는 구조를 통해 나타날 수 있는 장점에 해당한다.
이제, 디지털 콘텐츠의 보호 방법의 과정 중 상호 인증이 완료되었으므로, 마지막 과정인 디지털 콘텐츠의 전송 및 재생의 과정을 설명한다.
도 7은 본 발명의 일 실시예에 따른 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에서 상호 인증 후, 카트리지로부터 플레이어로 디지털 콘텐츠를 전송하여 실행하는 과정을 도시한 흐름도로서, 상호 인증이 이루어진 후를 가정하고 있다.
710 단계에서 카트리지(20)는 저장된 디지털 콘텐츠와 암호화 키를 플레이어(10)에 전송한다. 즉, 플레이어(10)가 디지털 콘텐츠를 사용하기 위해 우선적으로 카트리지(20)는 인증된 플레이어(10)에게 자신의 개인키(
Figure pat00056
)로 암호화시킨 블록 암호의 비밀키(
Figure pat00057
)를 전송한다.
그러면, 720 단계에서 플레이어(10)는 수신된 암호화 키를 해독한다. 이러한 암호화 키는 디지털 콘텐츠의 암호화에 사용된 고유 비밀키를 카트리지의 개인키로 암호화한 것이다. 따라서, 플레이어들의 공통의 개인키(
Figure pat00058
)를 알고 있는 정당한 플레이어(10)는 이미 사전에 카트리지의 공개키(
Figure pat00059
)를 안전한 채널(앞서 설명한 인증 요청 메시지에 포함되어 있다.)로 전달받았기 때문에 블록 암호의 비밀키(
Figure pat00060
)를 해독할 수가 있다.
만약, 플레이어(10)가 암호화 키를 정상적으로 해독하였다면, 730 단계를 통해 카트리지(20)는 다시 블록 암호화된 디지털 콘텐츠(
Figure pat00061
)를 플레이어(10)에 전송한다.
740 단계에서 플레이어(10)는 암호화된 디지털 콘텐츠를 수신하고 720 단계를 통해 해독된 암호화 키를 이용하여 암호화된 디지털 콘텐츠를 복호화한다. 즉, 플레이어(10)는 블록 암호의 비밀키(
Figure pat00062
)를 사용해서 D를 복구한다.
마지막으로 750 단계에서 플레이어(10)는 복호화된 디지털 콘텐츠를 실행 또는 재생한다.
이상의 실시예를 통해 제안한 방법은 기본적으로 중간자 공격, 재생 공격, 그리고 데이터 치환 공격에 안전하며, 스마트카드에서 제공되는 AES와 공개키 암호, 그리고 표준적인 해시 함수를 사용함으로써 관련된 암호 연산을 고속으로 수행할 수가 있다. 본 실시예들의 특징을 구체적으로 검토하면 다음과 같다.
첫째, 중간자(MITM, Man In The Middle) 공격에 강인하다. 플레이어의 개인키(
Figure pat00063
)는 정당한 플레이어들이 공유하는 비밀 정보로서 존재하고 카트리지의 공개키(
Figure pat00064
)는 플레이어의 공개키(
Figure pat00065
)로 암호화된 상태로 공개된 채널로 전송되기 때문에 중간에서 카트리지와 플레이어의 전송 메시지들을 위장하는 MITM 공격은 불가능하다. 예를 들어 카트리지에서 플레이어로 보내는 메시지는 플레이어의 개인키(
Figure pat00066
)를 알아야 하지만 이 정보는 플레이어의 스마트카드 안에 내장되어 있어서 안전하게 보호된다. 반대로 플레이어에서 카트리지로 보내는 메시지의 경우 카트리지의 개인키(
Figure pat00067
)를 알아야 복호가 가능하지만 이 정보는 플레이어의 스마트카드 안에 내장되어 있어서 역시 안전하게 보호된다.
둘째, 재생공격(replay attack)에 강인하다. 인증과정에서 플레이어와 카트리지는 타임스탬프
Figure pat00068
Figure pat00069
를 서로 주고받아 제한 시간이 지난 요청에 대한 인증을 거부함으로써 재생공격을 방지할 수 있다.
셋째, 가장 공격에 강인하다. 카트리지의
Figure pat00070
와 패스워드
Figure pat00071
는 플레이어가 소유한 마스터키 쌍 (
Figure pat00072
)를 기반으로 만들어지기 때문에, 공격자가 카트리지의 공개키와 개인키 쌍 (
Figure pat00073
,
Figure pat00074
)를 생성하더라도 마스터키 쌍을 모르기 때문에, 유효한
Figure pat00075
를 만드는 것이 불가능하다.
넷째, 비밀 키의 관리가 용이하다. 플레이어들은 하나의 개인키를 비밀정보로서 공유하지만 플레이어에 포함되는 개인키는 스마트카드를 인증하고 발급하는 기관에서만 관리하고 스마트카드 안에 저장되기 때문에 외부에서 물리적으로 이 값을 알아낼 수가 없다.
다섯째, 불법 복제를 방지할 수 있다. 데이터를 블록 암호화한 후에 블록 암호의 키를 카트리지의 개인키로 암호화해서 저장하였다. 카트리지의 공개키에 플레이어만 알고 있는 마스터키를 적용해 패스워드를 만들기 때문에, 공격자가 임의의 불법 소프트웨어를 정당한 카트리지로 제작할 수 없다. 또한, 스마트카드의 비밀 정보를 복제하지 않는 이상 암호화된 디지털 콘텐츠에 대한 재생 가능한 사본을 만드는 것이 불가능하다.
여섯째, 데이터 치환 공격에 강인하다. 디지털 콘텐츠가 블록 암호화되어 있고 블록 암호의 비밀키를 스마트카드의 비밀키로 다시 암호화해서 플레이어로 전달하기 때문에 스마트카드와 롬에 포함된 데이터는 긴밀하게 연결되어 있다. 따라서 단순히 롬을 치환하는 것으로는 인증 과정을 우회할 수가 없다.
제안한 스마트카드 인증방식에서 모든 보안 시스템의 기반은 플레이어들이 공유하는 개인키(
Figure pat00076
)가 가지고 있다. 따라서 만일 플레이어의 공유 개인키를 여러 참여자가 공유한다면 전체 시스템의 보안이 취약해 질 수가 있다. 그러나 이 키는 플레이어를 제작하는 제작자만 알고 있고, 디지털 콘텐츠를 만드는 소프트웨어 제작자들은 공유 공개키(
Figure pat00077
)를 공개된 인증 채널을 통해서 전달받기만 하면 되기 때문에 비밀 키를 관리하는 비용을 최소화할 수가 있다.
나아가, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10 : 플레이어 11 : 플레이어의 스마트카드
20 : 카트리지 25 : 디지털 콘텐츠
21 : 카트리지의 스마트카드 22 : 카트리지의 저장 공간(ROM)

Claims (18)

  1. 플레이어(player) 및 카트리지(cartridge) 간의 디지털 콘텐츠 보호 방법에 있어서,
    상기 카트리지가 상기 카트리지의 공개키, 상기 카트리지의 개인키, 상기 플레이어의 공개키 및 상기 카트리지의 공개키와 마스터키(master key) 쌍(pair)을 이용하여 생성된 패스워드를 상기 카트리지에 구비된 스마트카드(smart card)에 저장하고, 암호화된 디지털 콘텐츠와 암호화 키를 상기 카트리지에 구비된 저장공간에 저장하는 단계;
    상기 플레이어의 공개키를 이용하여 상기 저장된 카트리지의 공개키, 패스워드 및 세션키(session key)로부터 암호화된 인증 요청 메시지를 생성하는 단계;
    상기 카트리지가 상기 생성된 인증 요청 메시지를 상기 플레이어에 전송하고, 이에 대한 응답으로 상기 플레이어로부터 암호화된 응답 메시지를 수신하는 단계;
    상기 카트리지가 상기 세션키를 이용하여 상기 수신된 응답 메시지를 복호화하는 단계; 및
    상기 카트리지가 상기 복호화된 응답 메시지에 포함된 카트리지의 공개키의 유효 여부를 검사함으로써 상기 플레이어를 인증하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 패스워드는 해시 함수를 이용하여 상기 카트리지의 공개키로부터 아이디를 생성하고, 생성된 아이디(identifier) 및 상기 마스터키 쌍을 연산함으로써 생성된 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 암호화된 디지털 콘텐츠는 상기 카트리지의 고유 비밀키를 이용하여 블록 암호화하여 저장되고, 상기 암호화 키는 상기 고유 비밀키를 상기 카트리지의 개인키로 암호화하여 저장되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 플레이어를 인증하는 단계는,
    상기 복호화된 응답 메시지로부터 상기 카트리지의 공개키를 추출하는 단계; 및
    상기 추출된 카트리지의 공개키와 상기 스마트카드에 저장된 카트리지의 공개키를 비교하여 양자의 동일 여부를 판단하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 응답 메시지는 상기 플레이어의 타임스탬프(time stamp)를 더 포함하고,
    상기 플레이어를 인증하는 단계는 상기 타임스탬프와 소정 값과의 비교 결과에 따라 선택적으로 수행되는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    상기 타임스탬프가 소정 값보다 큰 경우 상기 카트리지는 인증을 거부하는 것을 특징으로 하는 방법.
  7. 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에 있어서,
    상기 플레이어가 상기 플레이어의 개인키와 마스터키 쌍을 상기 플레이어에 구비된 스마트카드에 저장하는 단계;
    상기 플레이어가 상기 카트리지로부터 암호화된 인증 요청 메시지를 수신하는 단계;
    상기 플레이어가 상기 플레이어의 개인키를 이용하여 수신된 인증 요청 메시지를 복호화하는 단계; 및
    상기 복호화된 인증 요청 메시지에 포함된 카트리지의 공개키로부터 패스워드를 생성하여 상기 복호화된 인증 요청 메시지에 포함된 패스워드와 비교함으로써 상기 카트리지를 인증하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 복호화된 인증 요청 메시지에 포함된 세션키를 이용하여 상기 카트리지의 공개키로부터 암호화된 응답 메시지를 생성하는 단계; 및
    상기 플레이어가 상기 생성된 응답 메시지를 상기 카트리지에 전송하는 단계를 더 포함하는 방법.
  9. 제 7 항에 있어서,
    상기 카트리지를 인증하는 단계는,
    상기 복호화된 인증 요청 메시지로부터 카트리지의 공개키와 패스워드를 추출하는 단계;
    해시 함수를 이용하여 상기 추출된 카트리지의 공개키로부터 아이디를 생성하고, 생성된 아이디 및 저장된 마스터키 쌍을 연산함으로써 패스워드를 생성하는 단계; 및
    상기 생성된 패스워드와 상기 추출된 패스워드를 비교함으로써 양자의 일치 여부를 검사하는 단계를 포함하는 방법.
  10. 제 7 항에 있어서,
    상기 복호화된 인증 요청 메시지는 상기 카트리지의 타임스탬프를 더 포함하고,
    상기 카트리지를 인증하는 단계는 상기 타임스탬프와 소정 값과의 비교 결과에 따라 선택적으로 수행되는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    상기 타임스탬프가 소정 값보다 큰 경우 상기 플레이어는 인증을 거부하는 것을 특징으로 하는 방법.
  12. 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에 있어서,
    상기 카트리지가 상기 카트리지의 공개키, 상기 카트리지의 개인키 및 상기 플레이어의 공개키를 상기 카트리지에 구비된 스마트카드에 저장하고, 암호화된 디지털 콘텐츠와 암호화 키를 상기 카트리지에 구비된 저장공간에 저장하는 단계;
    상기 카트리지가 상기 암호화된 인증 요청 메시지를 생성하여 상기 플레이어에 전송하고, 이에 대한 응답으로 상기 플레이어로부터 암호화된 응답 메시지를 수신하는 단계;
    상기 카트리지가 상기 수신된 응답 메시지를 복호화하고 상기 복호화된 응답 메시지에 포함된 카트리지의 공개키의 유효 여부를 검사함으로써 상기 플레이어를 인증하는 단계; 및
    상기 플레이어가 인증된 경우 상기 카트리지가 상기 저장된 디지털 콘텐츠와 암호화 키를 상기 플레이어에 전송하는 단계를 포함하는 방법.
  13. 제 12 항에 있어서,
    상기 암호화된 디지털 콘텐츠는 상기 카트리지의 고유 비밀키를 이용하여 블록 암호화하여 저장되고, 상기 암호화 키는 상기 고유 비밀키를 상기 카트리지의 개인키로 암호화하여 저장되는 것을 특징으로 하는 방법.
  14. 제 12 항에 있어서,
    상기 인증 요청 메시지는 상기 카트리지의 공개키를 포함하고,
    상기 저장된 디지털 콘텐츠는 상기 플레이어가 상기 카트리지의 공개키를 이용하여 상기 암호화 키를 해독한 경우에 한하여 상기 카트리지로부터 상기 플레이어로 전송되는 것을 특징으로 하는 방법.
  15. 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법에 있어서,
    상기 플레이어가 상기 플레이어의 개인키를 상기 플레이어에 구비된 스마트카드에 저장하는 단계;
    상기 플레이어가 상기 카트리지로부터 암호화된 인증 요청 메시지를 수신하는 단계;
    상기 플레이어가 상기 플레이어의 개인키를 이용하여 수신된 인증 요청 메시지를 복호화하고, 복호화된 인증 요청 메시지를 이용하여 카트리지를 인증하는 단계;
    상기 카트리지가 인증된 경우 상기 플레이어가 암호화된 응답 메시지를 생성하여 상기 카트리지에 전송하는 단계;
    상기 플레이어가 상기 카트리지로부터 상기 암호화된 디지털 콘텐츠와 암호화 키를 수신하는 단계; 및
    상기 플레이어가 상기 수신된 암호화 키를 해독하고 상기 해독된 암호화 키를 이용하여 상기 암호화된 디지털 콘텐츠를 복호화하는 단계를 포함하는 방법.
  16. 제 15 항에 있어서,
    상기 암호화된 디지털 콘텐츠는 상기 카트리지의 고유 비밀키를 이용하여 블록 암호화되고, 상기 암호화 키는 상기 고유 비밀키를 상기 카트리지의 개인키로 암호화된 것을 특징으로 하는 방법.
  17. 제 15 항에 있어서,
    상기 인증 요청 메시지는 상기 카트리지의 공개키를 포함하고,
    상기 플레이어가 상기 수신된 암호화 키를 해독하는 단계는 상기 카트리지의 공개키를 이용하여 상기 카트리지의 개인키로 암호화된 암호화 키를 해독하는 것을 특징으로 하는 방법.
  18. 제 1 항 내지 제 17 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020110004242A 2011-01-14 2011-01-14 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법 KR101188659B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110004242A KR101188659B1 (ko) 2011-01-14 2011-01-14 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110004242A KR101188659B1 (ko) 2011-01-14 2011-01-14 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법

Publications (2)

Publication Number Publication Date
KR20120082761A true KR20120082761A (ko) 2012-07-24
KR101188659B1 KR101188659B1 (ko) 2012-10-09

Family

ID=46714437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110004242A KR101188659B1 (ko) 2011-01-14 2011-01-14 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법

Country Status (1)

Country Link
KR (1) KR101188659B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102281019B1 (ko) * 2014-09-18 2021-07-26 삼성전자주식회사 전자 장치 및 전자 장치에서 데이터를 처리하는 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568233B1 (ko) * 2003-10-17 2006-04-07 삼성전자주식회사 인증서를 이용한 기기 인증 방법 및 상기 방법을 이용하여기기 인증을 수행하는 디지털 컨텐츠 처리 기기

Also Published As

Publication number Publication date
KR101188659B1 (ko) 2012-10-09

Similar Documents

Publication Publication Date Title
CN102271037B (zh) 基于在线密钥的密钥保护装置
US9911010B2 (en) Secure field-programmable gate array (FPGA) architecture
US20180013555A1 (en) Data transmission method and apparatus
AU2017396530A1 (en) Addressing a trusted execution environment using encryption key
RU2584500C2 (ru) Криптографический способ аутентификации и идентификации с шифрованием в реальном времени
EP3574622A1 (en) Addressing a trusted execution environment
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
JP5954609B1 (ja) 電子署名トークンの私有鍵のバックアップ方法およびシステム
CA2692326A1 (en) Authenticated communication between security devices
JP2007013433A (ja) 暗号化データを送受信する方法及び情報処理システム
CA3048895A1 (en) Addressing a trusted execution environment using signing key
CN101399666A (zh) 文件数字证书安全控制方法及系统
CN114692218A (zh) 一种面向个人用户的电子签章方法、设备和系统
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
JP4107420B2 (ja) 安全なバイオメトリック認証/識別方法、バイオメトリックデータ入力モジュールおよび検証モジュール
CN107911221B (zh) 固态盘数据安全存储的密钥管理方法
WO2018140171A1 (en) Addressing a trusted execution environment using clean room provisioning
CN113722741A (zh) 数据加密方法及装置、数据解密方法及装置
CN113726733A (zh) 一种基于可信执行环境的加密智能合约隐私保护方法
CN100437422C (zh) 软件使用权加密保护的系统和方法
US20230198746A1 (en) Secure key exchange using key-associated attributes
KR20140071775A (ko) 암호키 관리 시스템 및 방법
CN110740036A (zh) 基于云计算的防攻击数据保密方法
KR101188659B1 (ko) 플레이어 및 카트리지 간의 디지털 콘텐츠 보호 방법
CN104899480A (zh) 一种基于cpk标识认证技术的软件版权保护管理方法

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: 20150828

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170901

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 7