KR101132570B1 - 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법 - Google Patents

스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법 Download PDF

Info

Publication number
KR101132570B1
KR101132570B1 KR1020090106600A KR20090106600A KR101132570B1 KR 101132570 B1 KR101132570 B1 KR 101132570B1 KR 1020090106600 A KR1020090106600 A KR 1020090106600A KR 20090106600 A KR20090106600 A KR 20090106600A KR 101132570 B1 KR101132570 B1 KR 101132570B1
Authority
KR
South Korea
Prior art keywords
block
content
authentication key
blocks
encrypted
Prior art date
Application number
KR1020090106600A
Other languages
English (en)
Other versions
KR20110049540A (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 KR1020090106600A priority Critical patent/KR101132570B1/ko
Publication of KR20110049540A publication Critical patent/KR20110049540A/ko
Application granted granted Critical
Publication of KR101132570B1 publication Critical patent/KR101132570B1/ko

Links

Images

Classifications

    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법에 관한 것이다. 본 발명은, 인증서버로부터 획득한 제 1 인증키 및 제 2 인증키, 그리고 콘텐츠(CT)를 CBC암호화모드에 입력하여 2중 암호화된 콘텐츠를 생성하거나, 상기 제 1 인증키 및 상기 제 2 인증키, 그리고 상기 콘텐츠(CT)를 CTR암호화모드에 입력하여 2단계 암호화된 콘텐츠를 생성하여 사용자단말에 전송하는 제 1 단계; 및 사용자단말이, 상기 제 1 인증키, 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2중 암호화된 콘텐츠를 이용해 CBC복호화모드를 사용해 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성하거나, 상기 제 1 인증키, 상기 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2단계 암호화된 콘텐츠를 이용하여 CTR복호화모드를 사용해 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하는 제 2 단계; 를 포함한다. 이에 의해, 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 소량의 데이터에 대한 암호화 및 복호화 과정을 추가함으로써, 암호화된 콘텐츠 전체에 대한 보호를 강화할 수 있다.
DRM, 암호화, 복호화, CBC, CTR

Description

스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법{DRM complementing system and DRM complementing method using Smart-Card}
본 발명은 DRM 기술에 관한 것으로, 보다 구체적으로는, 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 스마트카드 내의 키를 이용한 소량의 데이터에 대한 암호화 및 복호화 과정을 추가함으로써, 암호화된 콘텐츠 전체에 대한 보호를 보완해 줄 수 있는 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법에 관한 것이다.
도 1은 종래의 CBC(Cipher Block Chaining)암호화모드를 이용한 암호화과정을 설명하기 위한 도면이다. 이 경우, 현재의 평문블록(M-1 내지 M-3)과 바로 직전의 암호블록을 배타적 논리합(XOR)한 것을 알고리즘의 입력으로 사용하며, 각 블록에서는 동일한 인증키(CEK)를 사용한다.
첫 번째 암호블록(C-1)을 만들기 위해서는 초기화 벡터(Initialization Vector)인 IV와 평문블록(M-1)간에 배타적 논리합(XOR)을 수행한다. 송신자와 수신자 모두 초기화 벡터(IV)를 알고 있으며, 보안성을 강화하기 위해서 초기화 벡터(IV)도 인증키(CEK)처럼 보호해야 한다. 이 방식은 모든 암호블록이 그 이전의 평문블록에 의해 영향을 받게 된다. 이런 CBC암호화모드는 가장 널리 사용되는 방식이며 ECB(Electronic CodeBook)암호화모드와 달리 동일 평문블록이 동일한 암호문블록으로 되지 않는다.
도 2는 종래의 CTR(CounTeR)암호화모드를 이용한 암호화과정을 설명하기 위한 도면이다. 이 경우 초기값인 난스(Nonce)와 카운터(Counter)를 1씩 증가한 값을 연결한 것을 암호화하여 생성된 값과 평문블록(M-1, M-2, M-3)을 각각 배타적 논리합(XOR)을 수행하여 암호문블록(C-1, C-2, C-3)을 생성하는 방식이다.
CTR암호화모드는 동일한 인증키와 난스(Nonce)를 반복하여 사용할 경우 안전성에 문제가 생긴다는 약점이 있다.
이와 같이, 기존 디지털 저작권 관리(Digital Rights Management: 이하, DRM) 콘텐츠는 CEK(Contents Encryption Key: 이하, 인증키)라는 키를 이용하여 CBC암호화모드 또는 CTR암호화모드로 암호화되어 사용자단말에 전달되며, 사용자단말은 RO(Right Object, 일종의 라이선스(license))로부터 인증키(CEK)를 추출하여 콘텐츠를 복호화하여 재생한다. 이 경우, 인증키(CEK)를 추출하기 위해서는 REK(Right Object Encryption Key), 공개키 인증서 등이 필요할 수 있으며, 이는 사용자단말(예, 휴대폰 혹은 PC와 같은 장치)이 인증서버 등으로부터 전송 받아 장치 내 메모리에 저장할 수 있다. 그러나 단말기 장치의 메모리는 보안상 안전하지 않아서 메모리덤프, 혹은 디버깅 툴 등을 통해 쉽게 읽혀질 수 있으므로 콘텐츠의 라이선스를 불법적으로 복사할 가능성이 항상 존재한다.
이러한 문제점을 근본적으로 해결하기 위해서, RO 및 인증키(CEK) 등을 사용 자단말의 스마트카드 안에 저장하고, 사용자단말의 요청이 있을 때 마다 스마트카드가 암호화된 콘텐츠 전체를 복호화하는 방법이 있을 수 있다.
그러나 이러한 방식은 콘텐츠의 크기가 매우 클 경우 혹은 콘텐츠의 사용빈도가 빈번할 경우(예컨대, MP3) 단말기보다 상대적으로 처리 능력 및 속도가 떨어지는 스마트카드가 처리하게 되면 효율성이 떨어질 수 있다.
이에 따라 해당 기술분야에서는 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 새로운 암호화 방식의 추가를 통해, DRM 콘텐츠에 대한 보안을 강화하는 한편, 추가의 최소화를 통해 암호화 및 복호화과정의 처리 속도를 저해하지 않도록 하는 기술개발이 요구되고 있다.
상기한 문제점을 개선하기 위해 안출된 본 발명의 기술적 과제는 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 스마트카드 내의 키를 이용한 소량의 데이터에 대한 암호화 및 복호화 과정을 추가함으로써, 암호화된 콘텐츠 전체에 대한 보호를 보완하기 위한 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따르면, 또한, 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 새로운 암호화 방식의 추가를 통해, DRM 콘텐츠에 대한 보안을 강화하기 위한 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시 예에 따르면, 기존 CBC암호화모드 또는 CTR암호화모드에 새로운 암호화 방식의 추가 시 추가를 최소화하여 암호화 및 복호화 시 처리 속도를 저해하지 않도록 하기 위한 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법을 제공하는 것을 목적으로 한다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법은, 패키징서버가, 인증서버로부터 획득한 제 1 인증키(CKE1) 및 제 2 인증키(CKE2), 그리고 콘텐츠(CT)를 CBC암호화모드에 입력하여 2중 암호화된 콘텐츠를 생성하거나, 상기 제 1 인증키 및 상기 제 2 인증키, 그리고 상기 콘텐츠(CT)를 CTR암호화모드에 입력하여 2단계 암호화된 콘텐츠를 생성하여 사용자단말에 전송하는 제 1 단계; 및 사용자단말이, 상기 제 1 인증키, 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2중 암호화된 콘텐츠를 이용하여 CBC복호화모드를 사용해 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성하거나, 상기 제 1 인증키, 상기 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2단계 암호화된 콘텐츠를 이용하여 CTR복호화모드를 사용해 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하는 제 2 단계; 를 포함한다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 1 단계는, 상기 패키징서버가, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 3이상의 자연수)으로 정렬시키는 정렬단계; 상기 패키징서버가, 상기 평문블록(M-1 내지 M-n) 중 최상단의 적어도 m개 이상의 평문블록(M-1 내지 M-m, m은 2이상의 자연수)과, 잔여 평문블록(M-m+1 내지 M-n)으로 분할하는 분할단계; 상기 패키징서버가, 상기 평문블록(M-1 내지 M-m)과, 상기 평문블록(M-m+1 내지 M-n)을 각각 상기 CBC암호화모드에 입력하여 1중 암호화된 암호문블록(C-1 내지 C-n)을 생성하는 제 1 암호화단계; 상기 패키징서버가, 상기 1중 암호화된 암호문블록(C-1 내지 C-n) 중 최상단의 적어도 m개 이상의 1중 암호화된 암호문블록(C-1 내지 C-m)을 상기 CBC암호화모드에 입력하여 2중 암호화된 암호문블록(D-1 내지 D-m)을 생성하는 제 2 암호화단계; 및 상기 패키징서버가, 1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버를 통해 상기 사용자단말로 전송하는 전송단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 1 암호화단계는, 상기 m이 2이고, 상기 n이 4인 경우 상기 패키징서버가, 상기 평문블록(M-1)과 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-1)를 생성한 뒤, 상기 결과치(CR-1)를 상기 제 1 암호키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-1)을 생성하는 단계; 상기 패키징서버가, 상기 암호문블록(C-1)과 상기 평문블록(M-2) 간에 배타적 논리합(XOR)을 수행하여 결과치(CR-2)를 생성한 뒤, 상기 결과치(CR-2)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-2)을 생성하는 단계; 상기 패키징서버가, 상기 평문블록(M-3)과 상기 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-3)를 생성한 뒤, 상기 결과치(CR-3)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-3)을 생성하는 단계; 및 상기 패키징서버가, 상기 제 3 암호문블록(C-3)과 상기 평문블록(M-4) 간에 배타적 논리합(XOR)을 수행하여 결과치(CR-4)를 생성한 뒤, 상기 결과치(CR-4)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-4)을 생성하는 단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 2 암호화단계는, 상기 패키징서버가, 상기 암호문블록(C-1)과 상기 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-1)를 생성한 뒤, 상기 결과치(DR-1)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(D-1)을 생성하는 단계; 및 상기 패키징서버가, 상기 암호문블록(D-1)과 상기 암호문블록(C-2)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-2)를 생성한 뒤, 상기 결과치(DR-2)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(D-2)을 생성하는 단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 2 단계는, 상기 사용자단말이, 상기 1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 상기 다운로드서버로부터 수신하는 수신단계; 상기 사용자단말이, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 각각 스마트카드에 입력하여 상기 1중 암호화된 암호문블록(C-1 내지 C-m)으로 1중의 복호화를 수행하는 제 1 복호화단계; 및 상기 사용자단말이, 상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 Cn)을 복호화하여 상기 평문블록(M-1 내지 M-n)으로 2중의 복호화를 수행하는 제 2 복호화단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 1 복호화단계는, 상기 m이 2이고, 상기 n이 4인 경우, 상기 사용자단말 내부에 포함된 DRM모듈이, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 상기 스마트카드로 전송하여, 상기 스마트카드에 의한 상기 제 2 인증키를 이용한 복호화 수행 결과인 결과치(DR-1 내지 DR-m)을 생성하는 단계; 및 상기 DRM모듈이, 상기 결과치(DR-1 내지 DR-m)와 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 생성하는 단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 1 단계는, 상기 패키징서버가, 난스(Nonce)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 암호화된 난스(E-Nonce)를 생성하는 제 1 암호화 단계; 상기 패키징서버가, 상기 난스(Nonce)에 블록번호(Block-1 내지 Block-n, n은 자연수)를 추가해 복수의 카운터블록(CB-1 내지 CB-n, n은 자연수)을 생성하는 카운터블록 생성단계; 상기 패키징서버가, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 결과치(R-1 내지 R-n, n은 자연수)를 생성하는 결과치 생성단계; 상기 패키징서버가, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 자연수)으로 정렬시키는 정렬단계; 상기 패키징서버가, 상기 결과치(R-1 내지 R-n) 각각과 상기 평문블록(M-1 내지 M-n) 각각을 배타적 논리합(XOR)을 수행하여 2단계 암호화된 암호문블록(C-1 내지 C-n)을 생성하는 제 2 암호화단계; 및 상기 패키징서버가, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 및 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 다운로드서버를 통해 상기 사용자단말로 전송하는 전송단계; 를 포함할 수 있다.
상기 스마트카드를 이용한 DRM 보완 방법의 제 2 단계는, 상기 사용자단말이, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 및 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 상기 다운로드서버로부터 수신하는 단계; 상기 사용자단말이, 상기 암호화된 난스(E-Nonce)를 스마트카드로 전송하여, 상기 스마트카드에 의해 미리 저장된 상기 제 2 인증키(CEK2)를 적용하여 블록 암호 복호화를 수행하여 생성된 상기 난스(Nonce)를 반환받는 제 1 복호화단계; 상기 사용자단말이, 상기 난스(Nonce)를 상기 블록번호(Block-1 내지 Block-n)와 조합하여 상기 카운터블록(CB-1 내지 CB-n)을 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 복호화를 적용하여 결과치(RR-1 내지 RR-n, n은 자연수)를 생성하는 생성단계; 및 상기 사용자단말이, 상기 결과치(RR-1 내지 RR-n) 각각과 상기 암호문블록(C-1 내지 C-n) 각각을 배타적 논리합(XOR)을 수행하여 상기 평문블록(M-1 내지 M-n)을 생성하는 제 2 복호화단계; 를 포함할 수 있다.
본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템은, 인증서버에서 획득한 제 1 인증키(CKE1) 및 제 2 인증키(CKE2)를 이용하여 CBC암호화모드를 통해 콘텐츠(CT)에서 2중 암호화된 콘텐츠를 생성하거나, 상기 제 1 인증키 및 상기 제 2 인증키를 이용하여 CTR암호화모드를 통해 상기 콘텐츠(CT)에서 2단계 암호화된 콘텐츠를 생성하여 사용자단말에 전송하는 패키징서버; 및 상기 제 1 인증키, 스마트카드에 저장된 상기 제 2 인증키를 이용하여 CBC복호화모드를 통해 상기 2중 암호화된 콘텐츠에서 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성하거나, 상기 제 1 인증키, 상기 스마트카드에 저장된 상기 제 2 인증키를 이용하여 CTR복호화모드를 통해 상기 2단계 암호화된 콘텐츠에서 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하는 사용자단말; 을 포함할 수 있다.
상기 패키징서버는, CP, 다운로드서버 및 인증서버와 데이터 송수신을 수행하는 제 1 송수신부; 및 상기 CP로부터 콘텐츠(CT)를 수신하고, 상기 인증서버로부터 상기 제 1 인증키 및 상기 제 2 인증키를 획득하고, 상기 콘텐츠(CT)와 상기 제 1 인증키를 상기 CBC암호화모드에 입력하여 1중 암호화된 콘텐츠를 생성하고, 상기 1중 암호화된 콘텐츠와 상기 제 2 인증키를 CBC암호화모드에 입력하여 상기 2중 암호화된 콘텐츠를 생성한 뒤, 상기 2중 암호화된 콘텐츠를 다운로드서버를 통해 상기 사용자단말로 전송하도록 상기 제 1 송수신부를 제어하는 제 1 제어부; 를 포함할 수 있다.
상기 제 1 제어부는, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 3 이상의 자연수)으로 정렬하고, 상기 평문블록(M-1 내지 M-n) 중 최상단의 적어도 m개 이상의 평문블록(M-1 내지 M-m, m은 2이상의 자연수)과, 잔여 평문블록(M-m+1 내지 M-n)으로 분할하며, 상기 평문블록(M-1 내지 M-m)과, 상기 평문블록(M-m+1 내지 M-n)을 각각 상기 CBC암호화모드에 입력하여 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n)을 생성하고, 상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n) 중 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 상기 CBC암호화모드에 입력하여 2중 암호화된 암호문블록(D-1 내지 D-m)을 생성한 뒤, 1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버를 통해 상기 사용자단말로 전송하는 하도록 상기 제 1 송수신부를 제어할 수 있다.
상기 패키징서버는, CP, 다운로드서버 및 인증서버와 데이터 송수신을 수행하는 제 1 송수신부; 상기 CP로부터 콘텐츠(CT)를 수신하고, 상기 인증서버로부터 상기 제 1 인증키 및 상기 제 2 인증키를 획득하고, 난스(Nonce)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용해 암호화된 난스(E-Nonce)를 생성하는 1단계 암호화를 수행하고, 상기 난스(Nonce)를 블록번호(Block-1 내지 Block-n, n은 자연수)와 조합하여 카운터블록(CB-1 내지 CB-n, n은 자연수)를 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 결과치(R-1 내지 R-n)를 생성하며, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n)으로 정렬시키고, 상기 결과치(R-1 내지 R-n) 각각과 상기 평문블록(M-1 내지 M-n) 각각을 배타적 논리합(XOR)을 수행하여 2단계 암호화된 암호문블록(C-1 내지 C-n)을 생성한 뒤, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 다운로드서버를 통해 상기 사용자단말로 전송하도록 상기 제 1 송수신부를 제어하는 제 1 제어부; 를 포함할 수 있다.
상기 사용자단말은, 상기 제 2 인증키를 저장하고 복호화를 수행하기 위한 스마트카드; 판매서버 및 상기 인증서버와 데이터 송수신을 수행하는 제 2 송수신부; 및 상기 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 상기 판매서버로 전송하고, 상기 인증서버로부터 상기 제 1 암호키가 포함된 라이선스를 획득하도록 상기 제 2 송수신부를 제어하고, 라이선스로부터 획득한 상기 제 1 인증키와 상기 제 2 인증키가 미리 저장된 스마트카드를 이용하여 상기 2중 암호화된 콘텐츠를 상기 CBC복호화모드 통해 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하도록 제어하는 제 2 제어부; 를 포함한다.
상기 제 2 제어부는, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버로부터 수신하도록 상기 제 2 송수신부를 제어하고, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 각각 상기 스마트카드에 입력하여 결과치(DR-1 내지 DR-m)을 받아 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 생성하여 1중의 복호화를 수행하고, 상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n)을 상기 CBC복호화모드에 입력하여 상기 평문블록(M-1 내지 M-n)으로 2중의 복호화를 수행할 수 있다.
상기 사용자단말은, 상기 제 2 인증키를 저장하고, 복호화를 수행하기 위한 스마트카드; 판매서버 및 상기 인증서버와 데이터 송수신을 수행하는 제 2 송수신부; 및 상기 판매서버에 등록된 다수의 콘텐츠 중 상기 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 상기 판매서버로 전송하고, 상기 인증서버로부터 상기 제 1 인증키의 라이선스를 수신하고, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Blcok-n), 그리고 상기 2중 암호화된 암호문블록(C-1 내지 C-n)을 상기 패키징서버로부터 수신하도록 상기 제 2 송수신부를 제어하고, 상기 암호화된 난스(E-Nonce)를 상기 스마트카드로 전송하여, 상기 스마트카드에 의해 미리 저장된 상기 제 2 암호키(CEK2)를 적용하여 블록 암호 복호화를 수행하여 생성된 상기 난스(Nonce)를 반환받는 1단계 복호화를 수행하고, 상기 난스(Nonce)를 블록번호(Block-1 내지 Block-n, n은 자연수)과 조합하여 카운터블록(CB-1 내지 CB-n, n은 자연수)을 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각과 상기 제 1 인증키, 그리고 상기 2단계 암호화된 콘텐츠를 상기 CTR복호화모드에 입력하여 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하도록 제어하는 제 2 제어부; 를 포함할 수 있다.
상기 제 2 제어부는, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 복호화를 적용하여 결과치(RR-1 내지 RR-n)를 생성하고, 상기 결과치(RR-1 내지 RR-n) 각각과 상기 암호문블록(C-1 내지 C-n) 각각을 배타적 논리합(XOR)을 수행하여 상기 평문블록(M-1 내지 M-n)을 생성할 수 있다.
본 발명에 따른 스마트카드를 이용한 DRM 보완 시스템 및 DRM 보완 방법은, 기존 CBC방식 또는 CTR방식을 사용한 컨텐츠암호화방식에 있어서, 스마트 카드 내부의 키를 이용한 소량의 데이터에 대한 암호화 및 복호화 과정을 추가함으로써, 암호화된 콘텐츠 전체에 대한 보호를 보완할 수 있는 효과를 제공한다.
또한, 본 발명에 의해, 기존 CBC암호화모드 또는 CTR암호화모드에 있어서, 새로운 암호화 방식의 추가를 통해, DRM 콘텐츠에 대한 보안을 강화할 수 있는 효과를 제공한다.
뿐만 아니라, 본 발명에 의해, 기존 CBC암호화모드 또는 CTR암호화모드에 새로운 암호화 방식의 추가 시 처리해야하는 데이터의 양을 최소화하여 암호화 및 복호화 시 처리 속도를 저해하지 않도록 하는 효과를 제공한다.
이하, 본 발명의 바람직한 실시 예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 어느 하나의 구성요소는 다른 구성요소로 직접 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
도 3은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템을 나타내는 구성도이다. 도 3을 참조하면, CP(100), 판매서버(200), 다운로드서버(300), 인증서버(400), 패키징서버(500) 및 사용자단말(600)을 포함한다.
CP(100)는 콘텐츠 프로바이더(Contents Provider )이며, 판매서버(200)로 다수의 콘텐츠를 등록하고, 패키징서버(500)로 다수의 콘텐츠를 제공한다.
판매서버(200)는 등록된 다수의 콘텐츠 중 하나의 콘텐츠(CT)에 대한 사용자단말(600)의 콘텐츠 구매 메시지 전송에 따라, 인증서버(400)로 콘텐츠 구매 메시 지를 등록한다.
다운로드서버(300)는 패키징서버(500)에 의해 생성되고 제공된 2중 암호화된 콘텐츠(CT1_CEK1/CEK2) 또는 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 사용자단말(600)로 전송한다.
인증서버(400)는 사용자단말(600)의 콘텐츠 구매 메시지 등록에 따라 제 1 인증키(CEK1) 및 제 2 인증키(CEK2) 라이선스를 패키징서버(500)에 제공한다. 또한, 사용자단말(600)의 콘텐츠 구매 메시지 등록에 따라 인증서버(400)는 제 1 인증키(CEK1) 라이선스를 사용자단말(600)에 제공함으로써, 사용자단말(600)의 요청에 따라 제 1 암호화키(CEK1)를 사용할 수 있도록 한다.
패키징서버(500)는 제 1 인증키(CEK1) 및 제 2 인증키(CEK2)를 이용해 CP(100)에 의해 제공된 콘텐츠(CT)를 2중 암호화하여 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 생성하거나, 2단계 암호화하여 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 생성한다. 패키징서버(500)는 2중 또는 2단계 암호화된 콘텐츠(CT1_CEK1/CEL2 또는 CT2_CEK1/CEK2)를 사용자단말(600)로의 전송을 위해 다운로드서버(300)로 전송한다.
사용자단말(600)은 판매서버(200)에 접속하여 다수의 콘텐츠 중 사용자가 선택한 하나의 콘텐츠(CT)에 대한 구매 메시지를 전송한다. 사용자단말(600)은 인증서버(400)로부터 받은 라이선스로부터 획득한 제 1 인증키(CEK1)와, 제 2인증키(CEK2)가 미리 저장된 스마트카드를 이용해 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 2중 복호화하여 재생하거나 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 2단계 복 호화하여 재생한다.
도 4는 도 1의 스마트카드를 이용한 DRM 보완 시스템 중 패키징서버(500)의 구성을 나타내는 블록도이다. 도 3 내지 도 4를 참조하면, 패키징서버(500)는 제 1 송수신부(510), 제 1 제어부(530), 데이터베이스(550)를 포함할 수 있다.
제 1 송수신부(510)는 CP(100), 다운로드서버(300) 및 인증서버(400)과 데이터 송수신을 수행한다.
제 1 제어부(530)는 CP(100)에서 특정 콘텐츠(CT)를 포함한 다수의 콘텐츠를 수신하도록 제 1 송수신부(510)를 제어한다. 이후, 사용자단말(600)이 판매서버(200)에 접속하여 다수의 콘텐츠 중 하나의 콘텐츠(CT) 구매 메시지 전송에 따라, 제 1 제어부(530)는 인증서버(400)로부터 라이선스를 수신하여 데이터베이스(550)에 저장한다.
제 1 제어부(530)는 데이터베이스(550)에 저장된 콘텐츠(CT)를 제 1 인증키(CEK1) 및 제 2 인증키(CEK2)를 이용해 CBC(Cipher Clock Chaining)암호화모드 또는 CTR(CounTeR)암호화모드에 의해 2중 암호화를 수행하여 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 생성하거나, 2단계 암호화를 수행하여 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 생성한다.
데이터베이스(550)는 CP(100)으로부터 받아온 콘텐츠(CT)를 저장하며, 제 1 제어부(530)에 컨텐츠(CT)를 제공한다.
도 5는 본 발명의 실시 예에 따른 CBC암호화모드를 이용한 2중 암호화 과정을 설명하기 위한 도면이다. 도 3 내지 도 5를 참조하면, 본 발명의 일 실시 예인 2중 CBC암호화모드인 경우, 제 1 제어부(530)는 CP(100)에서 받아온 콘텐츠(CT)를 데이터베이스(550)으로 부터 읽어 온 후 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 3 이상의 자연수)으로 정렬한다.
이후, 제 1 제어부(530)는 평문블록(M-1 내지 M-n) 중 최상단의 적어도 m개 이상의 평문블록(M-1 내지 M-m, m은 2 이상의 자연수)과, 잔여 평문블록(M-m+1 내지 M-n)으로 분할한다.
제 1 제어부(530)는 평문블록(M-1 내지 M-m)과 인증서버(400)으로부터 획득한 제 1 인증키(CEK1)를 각각 CBC암호화모드에 입력하여 1중 암호화된 암호문블록(C-1 내지 C-n)을 생성하는 1중 CBC암호화모드를 수행한다. 여기서, 1중 암호화된 암호문블록(C-1 내지 C-n)을 1중 암호화된 콘텐츠(CT1_CEK1)라고 한다.
본 발명의 1중 CBC암호화모드의 실시 예로, m이 2이고 n이 4로 전제하면, 제 1 제어부(530)는 CP(100)에서 받아온 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-4)로 정렬한다.
이후, 제 1 제어부(530)는 최상단의 두개의 평문블록(M-1 내지 M-2)과 잔여 평문블록(M-3 및 M-4)으로 분할한다.
제 1 제어부(530)는 평문블록(M-1)과 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-1)를 생성한 뒤, 결과치(CR-1)를 제 1 인증키(CEK1)에 의한 블록 암호 암호화(Block Cipher Encryption)를 적용하여 암호문블록(C-1)을 생성한다. 한편, 초기 벡터값(Initialization Vector: IV)은 패키징서버(500)와 사용자단말(600)에 미리 정의되거나, 인증서버(400)로부터 수신될 수 있다.
이후, 제 1 제어부(530)는, 암호문블록(C-1)과 평문블록(M-2)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-2)를 생성한 뒤, 결과치(CR-2)를 제 1 인증키(CEK1)에 의한 블록 암호 암호화를 적용하여 암호문블록(C-2)을 생성한다.
제 1 제어부(530)는, 평문블록(M-3)과 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-3)를 생성한 뒤, 결과치(CR-3)를 제 1 인증키(CEK1)에 의한 블록 암호 암호화를 적용하여 암호문블록(C-3)을 생성한다.
제 1 제어부(530)는. 제 3 암호문블록(C-3)과 평문블록(M-4)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-4)를 생성한 뒤, 결과치(CR-4)를 제 1 인증키(CEK1)에 의한 블록 암호 암호화를 적용하여 암호문블록(C-4)을 생성한다.
이후, 제 1 제어부(530)는 1중 암호화된 암호문블록(C-1 내지 C-n: CT1_CEK1) 중 최상단의 적어도 m개 이상의 2중 암호화된 암호문블록(D-1 내지 D-m)을 생성하는 2중 CBC암호화모드를 수행한다. 여기서, 2중 암호화된 암호문블록(D-1 내지 D-m)의 집합을 2단계 암호화된 콘텐츠(CT1_CEK1/CEK2)라고 한다.
제 1 제어부(530)는 2중 암호화된 암호문블록(D-1 내지 D-m)의 집합인 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 다운로드서버(300)를 통해 사용자단말(600)로 전송하도록 제 1 송수신부(510)를 제어한다.
본 발명의 2중 CBC암호화모드의 실시 예로, m이 2이고 n이 4로 전제하면, 제 1 제어부(530)는 해당 1중 암호화모드에 따라 생성된 암호문블록(C-1)과 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-1)를 생성한다.
제 1 제어부(530)는, 결과치(DR-1)를 제 2 인증키(CEK2)에 의한 블록 암호 암호화(Block Cipher Encryption)를 적용하여 암호문블록(D-1)을 생성한다.
제 1 제어부(530)는, 암호문블록(D-1)과 암호문블록(C-2)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-2)를 생성한다.
제 1 제어부(530)는, 결과치(DR-2)를 제 2 인증키(CEK2)에 의한 블록 암호 암호화를 적용하여 암호문블록(D-2)을 생성한다.
이후, 제 1 제어부(530)는 2중 암호화된 암호문블록(D-1 내지 D-2) 및 1중 암호화된 암호문블록(C-3 내지 C-4)를 다운로드서버(300)를 통해 사용자단말(600)로 전송하도록 제 1 송수신부(510)를 제어한다.
도 6은 본 발명의 실시 예에 따른 CTR암호화모드를 이용한 2단계 암호화 과정을 설명하기 위한 도면이다. 도 3 내지 도 6을 참조하면, 본 발명의 다른 실시 예인 2단계 CTR암호화모드인 경우, 제 1 제어부(530)는 CP(100)에서 특정 콘텐츠(CT)를 포함하는 다수의 콘텐츠를 받아와 데이터베이스(550)에 저장하고 다운로드서버(300)로부터 컨텐츠 제공 요청을 받아 인증서버(400)로부터 제 1 인증키(CEK1) 및 제 2 인증키(CEK2)를 획득하도록 제 1 송수신부(510)를 제어한다.
제 1 제어부(530)는 난스(Nonce)를 제 2 인증키(CEK1)에 의한 블록 암호 암 호화(Block Cipher Encryption)를 적용하여 암호화된 난스(E-Nonce)를 생성하는 1단계 CTR암호화모드를 수행한다.
여기서, 1단계 암호화하여 생성된 암호화된 난스(E-Nonce)를 1단계 암호화된 값(CT2_CEK1)라고 한다.
제 1 제어부(530)는 암호화된 난스(E-Nonce) 생성 전의 난스(Nonce)를 블록번호(Block-1 내지 Block-n, n은 자연수)와 조합하여 카운터블록(CB-1 내지 CB-n, n은 자연수)을 생성한다.
제 1 제어부(530)는 카운터블록(CB-1 내지 CB-n) 각각을 제 1 인증키(CEK1)에 의한 블록 암호 암호화(Block Cipher Encryption)를 적용하여 결과치(R-1 내지 R-n, n은 자연수)를 생성한다.
제 1 제어부(530)는 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 자연수)으로 정렬시키고, 결과치(R-1 내지 R-n) 각각과 평문블록(M-1 내지 M-n) 각각을 배타적 논리합(XOR)을 수행하여 2단계 암호화된 암호문블록(C-1 내지 C-n, n은 자연수)을 생성하는 2단계 CTR암호화모드를 수행한다. 여기서, 2단계 암호화된 암호문블록(C-1 내지 C-n)을 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)라고 한다.
제 1 제어부(530)는 암호화된 난스(Encryption-Nonce), 블록번호(Block-1 내지 Block-n) 및 2단계 암호화된 암호문블록(C-1 내지 C-n)을 다운로드서버(300)를 통해 사용자단말(600)로 전송하도록 제 1 송수신부(510)를 제어한다.
도 7은 도 1의 스마트카드를 이용한 DRM 보완 시스템 중 사용자단말(600)의 구성을 나타내는 블록도이다. 도 3 내지 도 7을 참조하면, 사용자단말(600)은 제 2 송수신부(610), 제 2 제어부(630), 스마트카드(650) 및 출력부(670)를 포함할 수 있다.
제 2 송수신부(610)는 판매서버(200) 및 다운로드서버(300)와 데이터 송수신을 수행한다.
제 2 제어부(630)는 재생모듈(631)과 DRM 모듈(635)을 포함할 수 있다. 재생모듈(631)은 DRM 모듈(635)에 의해 복호화된 콘텐츠(CT)를 출력부(670)로 출력하도록 제어한다.
사용자단말(600)은 판매서버(200)에 접속하여 다수의 콘텐츠 중 사용자가 선택한 하나의 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 전송하도록 제 2 송수신부(610)를 제어한다. 이후, 사용자 단말(600)은 다운로드 서버(300)으로부터 2중 암호화된 콘텐츠(CT1_CEK1/CEK2) 또는 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 수신하도록 제 2 송수신부(610)를 제어한다. DRM 모듈(635)에 암호화된 컨텐츠(CT2_CEK1/CEK2)의 복호화를 요청한다. DRM 모듈(635)은 암호화된 컨텐츠(CT2_CEK1/CEK2)를 받아 라이선스 보유여부를 확인하고 컨텐츠의 해당 라이선스가 없을 경우 인증서버(400)로부터 라이선스를 받아 오도록 제 2 송수신부(610)를 제어한다. DRM 모듈(635)는 2중 암호화된 콘텐츠(CT1_CEK1/CEK) 또는 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)가 2중 CBC(Cipher Block Chaining)암호화모드 또는 2단계 CTR(CounTeR)암호화모드에 의해 암호화되었는지에 따라 제 2인증키(CEK2)가 미 리 저장된 스마트카드와 받아온 라이선스에서 획득한 제 1 인증키(CEK1)를 이용해 2중 CBC(Cipher Block Chaining)복호화모드 또는 2단계 CTR(CounTeR)복호화모드에 의해 복호화하여 재생모듈(631)로 전송한다
이에 따라, 재생모듈(631)은 복호화된 콘텐츠(CT)를 출력부(670)로 출력하도록 제어한다.
스마트카드(650)는 제 2 인증키(CEK2)를 미리 저장하며, 제 2 인증키(CEK2)에 의해 2중 암호화된 콘텐츠(CT1_CEK1/CEK) 또는 2단계 암호화된 암호화된 난스값(E-Nonce)(CT2_CEK1/CEK2)를 DRM모듈(635)로부터 수신하여 복호화한 뒤, 1중 암호화된 콘텐츠(CT1_CEK1)인 난스(Nonce), 또는 1단계 암호화된 콘텐츠(CT2_CEK1)를 반환한다.
출력부(670)는 제 2 제어부(630) 중 재생모듈(631)의 제어에 따라 복호화된 콘텐츠(CT)를 출력한다. 한편, 이하의 설명에서는 설명의 편의를 위해 재생모듈(631)과 DRM 모듈(635)의 구분 없이 제 2 제어부(630)로 표기하도록 한다.
도 8은 본 발명의 실시 예에 따른 CBC복호화모드를 이용한 2중 복호화 과정을 설명하기 위한 도면이다. 도 3 내지 도 8을 참조하면, 본 발명의 일 실시 예인 2중 CBC복호화모드인 경우, 제 2 제어부(630)는 2중 암호화된 암호문블록(D-1 내지 D-m, m은 2이상의 자연수) 및 1중 암호화된 암호문블록(C-m+1 내지 C-n, n은 3이상의 자연수)을 수신하도록 제 2 송수신부(610)를 제어한다.
제 2 제어부(630)는 2중 암호화된 암호문블록(D-1 내지 D-m)을 데이터버스 내지 인터페이스(미도시)를 통해 스마트카드(650)로 전송한다. 이에 따라 스마트카드(650)는 암호문블록(D-1 내지 D-m)을 CBC복호화모드에 입력하여 미리 저장된 제 2 인증키(CEK2)를 이용해 암호문블록(DR-1 내지 DR-m)으로 복호화한 뒤, 암호문블록(C-1 내지 C-m)를 반환한다. 제 2 제어부(630)는 암호문블록(C-1 내지 C-m)과 암호문블록(C-m+1 내지 C-n, n은 3 이상의 자연수)를 합한 1중 암호화된 암호문블록(C-1 내지 C-n)을 생성한다.
본 발명의 1중 CBC복호화모드의 실시 예로, m이 2이고 n이 4로 전제하면, 스마트카드(650)는 암호문블록(D-1 및 D-2)을 제 2 인증키(CEK2)에 의해 CBC 복호화 방식으로 블록 암호 복호화(Block Cipher Decryption)를 수행한 결과치(DR-1 및 DR-2)를 생성한 뒤, 제 2 제어부(630)로 반환한다.
이후, 제 2 제어부(630)는 스마트카드(650)로부터 반환된 암호문블록(C-1 내지 C-m)과 암호문블록(C-m+1 내지 C-n, n은 3 이상의 자연수)를 합하여 1중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 생성한다.
제 2 제어부(630)는 1중 암호화된 암호문블록(C-1 내지 C-n)의 집합인 1중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 CBC복호화모드에 입력하여 제 1 인증키(CEK1)를 이용해 평문블록(M-1 내지 M-n, n은 자연수)의 집합인 콘텐츠(CT)를 생성하는 2중 CBC복호화모드를 수행한다.
본 발명의 2중 CBC복호화모드의 실시 예로, m이 2이고 n이 4로 전제하면, 제 2 제어부(630)는, 암호문블록(C-1)을 제 1 인증키(CEK1)에 의해 블록 암호 복호화를 수행한 결과치(CR-1)를 생성한다.
제 2 제어부(630)는, 결과치(CR-1)와 상기 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 평문블록(M-1)을 생성한다.
제 2 제어부(630)는 암호문블록(C-2)을 제 1 인증키(CEK1)에 의해 블록 암호 복호화를 수행한 결과치(CR-2)를 생성한다.
제 2 제어부(630)는 결과치(CR-2)와 암호문블록(C-1)간에 배타적 논리합(XOR)을 수행하여 평문블록(M-2)을 생성한다.
제 2 제어부(630)는 암호문블록(C-3)을 제 1 인증키(CEK1)에 의해 블록 암호 복호화를 수행한 결과치(CR-3)를 생성한 뒤, 결과치(CR-3)와 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 평문블록(M-3)을 생성한다.
제 2 제어부(630)는 암호문블록(C-4)을 제 1 인증키(CEK1)에 의해 블록 암호 복호화를 수행한 결과치(CR-4)를 생성한 뒤, 결과치(CR-4)와 블록암호(C-3)간에 배타적 논리합(XOR)을 수행하여 평문블록(M-4)를 생성한다.
제 2 제어부(630)는 평문블록(M-1 내지 M-4)의 집합인 콘텐츠(CT)를 재생하도록 출력부(670)를 제어한다.
도 9는 본 발명의 실시 예에 따른 CTR복호화모드를 이용한 2중 복호화 과정을 설명하기 위한 도면이다. 도 1 내지 도 9를 참조하면, 본 발명의 다른 실시 예인 2단계 CTR복호화모드인 경우, 제 2 제어부(630)는 암호화된 난스(E-Nonce)와 2 단계 암호화된 암호문블록(C-1 내지 C-n, n은 자연수)의 집합인 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2), 그리고 블록번호(Block-1 내지 Block-n)를 다운로드서버(300)를 통해 수신하고, 인증서버(400)로부터 제 1 인증키(CEK1)를 가진 라이선스를 수신하도록 제 2 송수신부(610)를 제어한다.
제 2 제어부(630)는, 암호화된 난스(E-Nonce)를 스마트카드(650)에 저장된 제 2 인증키(CEK2)를 이용해 블록 암호 복호화(Block Cipher Decryption)을 수행하여 난스(Nonce)를 생성하는 1단계 복호화를 수행한다. 즉, 제 2 제어부(630)는 암호화된 난스(E-Nonce)를 스마트카드(650)로 전송한다. 이에 따라 스마트카드(650)는 미리 저장된 제 2 인증키(CEK2)를 적용해 블록 암호 복호화를 수행하여 난스(Nonce)를 생성하는 1단계 복호화를 수행한 뒤, 1단계 복호화의 결과인 난스(Nonce)를 제 2 제어부(630)로 반환한다.
제 2 제어부(630)는, 상기 난스(Nonce)를 블록번호(Block-1 내지 Block-n)와 조합하여 카운터블록(CB-1 내지 CB-n)을 생성한다.
제 2 제어부(630)는 카운터블록(CB-1 내지 CB-n) 각각을 제 1 인증키(CEK1)에 의한 블록 암호 복호화(Block Cipher Decryption)를 적용하여 복수의 결과치(RR-1 내지 RR-n, n은 자연수)를 생성한다.
이후, 제 2 제어부(630)는 결과치(RR-1 내지 RR-n) 각각과 2단계 암호화된 암호문블록(C-1 내지 C-n)을 매칭하여 배타적 논리합(XOR)을 수행하여 평문블록(M-1 내지 M-n)을 생성하는 2단계 복호화모드를 수행한다.
제 2 제어부(630)는 2단계 복호화된 평문블록(M-1 내지 M-n)의 집합인 콘텐 츠(CT)를 출력부(670)로 출력하도록 제어한다.
도 10은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템의 2중 CBC(Cipher Block Chaining)모드 프로세스를 나타내는 도면이다. 도 3 내지 도 10을 참조하면, 패키징서버(500)는 CP(100)에서 수신한 콘텐츠(CT)를 인증서버(400)에 액세스(Aceess)하여 획득한 제 1 인증키(CEK1)를 이용해 1중 암호화된 콘텐츠(CT1_CEK1)를 생성한다.
이후, 패키징서버(500)는 1중 암호화된 콘텐츠(CT1_CEK1)를 인증서버(400)에 액세스(Access)하여 획득한 제 2 인증키(CEK2)를 이용해 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 생성하여 다운로드서버(300)를 통해 사용자단말(600)로 전송한다.
사용자단말(600)은 다운로드서버(300)로부터 전송된 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를, 미리 저장된 제 2 인증키(CEK2)를 가진 스마트카드(650)를 이용해 암호화된 콘텐츠(CT1_CEK1)로 1중 복호화를 수행한다.
사용자단말(600)은 암호화된 콘텐츠(CT1_CEK1)를 인증서버(400)로부터 받아온 라이선스로부터 획득한 제 1 인증키(CEK1)를 이용해 콘텐츠(CT)로 2중 복호화를 수행한 뒤 재생한다.
도 11은 본 발명의 다른 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템의 2단계 CTR(CounTeR)모드 프로세스를 나타내는 도면이다. 도 3 내지 도 11을 참조하면, 패키징서버(500)는 CP(100)에서 콘텐츠(CT)를 제공받아, 인증서버(400)에 액세스(Access)하여 획득한 제 2 인증키(CEK2)를 이용해 난스(Nonce)를 암호화하여 암호화된 난스(E-Nonce)를 생성하는 1단계 암호화를 수행한다.
패키징서버(500)는 난스(Nonce)를 블록번호(Block-1 내지 Block-n)와 조합하여 카운터블록(CB-1 내지 CB-n)을 생성한다.
이후, 패키징서버(500)는 카운터블록(CB-1 내지 CB-n)과, 인증서버(400)에 액세스(Access)하여 획득한 제 1 인증키(CEK1), 그리고 콘텐츠(CT)를 CTR암호화모드에 입력하여 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 생성하여 다운로드서버(300)를 통해 암호화된 난스(E-Nonce) 및 블록번호(Block-1 내지 Block-n)와 함께 사용자단말(600)로 전송한다.
사용자단말(600)은 암호화된 난스(E-Nonce)를 미리 저장된 제 2 인증키(CEK2)를 가진 스마트카드(650)을 이용해 복호화하여 난스(Nonce)를 생성하는 1단계 복호화를 수행한다. 사용자단말(600)은 난스(Nonce)를 블록번호(Block-1 내지 Block-n)와 조합하여 카운터블록(CB-1 내지 CB-n)을 생성한다.
사용자단말(600)은 다운로드서버(300)로부터 수신된 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를, 카운터블록(CB-1 내지 CB-n) 및 라이선스를 획득한 제 1 인증키(CEK1)를 이용해 콘텐츠(CT)를 생성하는 2단계 복호화를 수행한 뒤, 콘텐츠(CT)를 재생한다.
도 12는 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법을 나 타내는 흐름도이다. 도 3 내지 도 12를 참조하면, CP(100)는 판매서버(200)로 다수의 콘텐츠를 등록하며(S710), 패키징서버(500)로 다수의 콘텐츠를 제공한다(S730).
사용자단말(600)은 판매서버(200)에 접속하여 다수의 콘텐츠 중 사용자가 선택한 하나의 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 전송한다(S750).
판매서버(600)는 사용자단말(600)의 콘텐츠 구매 메시지를 인증서버(400)에 등록한다(S770).
인증서버(400)는 사용자단말(600)의 콘텐츠 구매 메시지를 등록하고(S770), 다운로드서버(300)에 다운로드 요청을 하면 다운로드서버(300)에서 패키징서버(500)로 컨텐츠 패키징 요청을 전송한다(S790b).
패키징서버(500)는 단계(S790b)의 요청을 받으면 인증서버(400)로 제 1 인증키(CEK1)와 제 2 인증키(CEK2)를 요청한다(S790c). 인증서버(400)는 두 키(CEK1, CEK2)를 제공하며 방법은 다양하다(S810).
패키징서버(500)는 인증서버(400)에 액세스(Access)하여 획득한 제 1 인증키(CEK1) 및 제 2 인증키(CEK2)를 이용해 단계(S730)에서 제공된 콘텐츠를 2중 암호화하여 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 생성하거나, 2단계 암호화하여 2단계 암호화된 콘텐츠(CT2_CEK1/CEk2)를 생성한다(S830).
패키징서버(500)는 2중 또는 2단계 암호화된 콘텐츠(CT1_CEK1/CEK2 또는 CT2_CEK1/CEK2)를 다운로드서버(300)로 전송한다(S850). 2단계 암호화된 콘텐츠일 경우 다운로드 서버(300)의 역할을 하는 스트리밍 서버를 통해 전송 될 수 도 있다.
다운로드서버(300)는 2중 또는 2단계 암호화된 콘텐츠(CT1_CEK1/CEK2 또는 CT2_CEK1/CEK2)를 사용자단말(600)로 전송한다(S870).
사용자단말(600)은 컨텐츠 재생 전에 라이선스 보유여부를 확인하여 제 1 인증키(CEK1)가 포함된 라이선스를 인증서버(400)로부터 받아온다(S880). 물론, 라이선스 파일 안에 제 1 인증키(CEK1)는 암호화되서 보호되며 방법은 다양하다. 단계(S880)에서 받아온 라이선스와 스마트카드(650)를 이용해서 사용자단말(600)은 암호화된 컨텐츠를 복호화(보통 drm 모듈이 이를 대행함)하여 이후 복호화된 컨텐츠를 재생한다(S890).
즉, 사용자단말(600)은 인증서버(400)에 액세스(Access)하여 라이선스를 획득하고 이로부터 확득한 제 1 인증키(CEK1), 그리고 미리 제 2 인증키(CEK2)가 저장된 스마트카드(650)를 이용해 2중 암호화된 콘텐츠(CT1_CEK1/CEK2)를 2중 복호화하거나 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 2단계 복호화하여 콘텐츠(CT)를 생성한 뒤, 재생한다.
도 13은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법 중 CBC모드에 의해 2중 암호화(도 5의 S830) 및 2중 복호화(도 5의 S890)하는 과정을 나타내는 흐름도이다. 도 3 내지 도 13a을 참조하면, 패키징서버(500)는 콘텐츠(CT)와 라이선스를 획득한 제 1 인증키(CEK1)를 CBC암호화모드에 입력하여 1중 암호화된 콘텐츠(CT1_CEK1)를 생성한다(S831).
이후, 패키징서버(500)는 스마트카드(650)을 통해 1중 암호화된 콘텐 츠(CT1_CEK1)와 라이선스를 획득한 제 2 인증키(CEK2)를 CBC암호화모드에 입력하여 2중 암호화된 콘텐츠(CT2_CEK1/CEK2)를 생성한다(S832).
패키징서버(500)는 2중 암호화된 콘텐츠(CT2_CEK1/CEK2)를 다운로드서버(300)로 전송한다(S833).
한편, 도 3 내지 도 13b를 참조하면, 사용자단말(600)은 2중 암호화된 콘텐츠(CT2_CEK1/CEK2)를 다운로드서버(300)로부터 수신한다(S891).
이후, 사용자단말(600)은 2중 암호화된 콘텐츠(CT2_CEK1/CEK2)를 스마트카드(650)로 전송하여, 스마트카드(650) 내에 미리 저장된 제 2 인증키(CEK2)를 CBC복호화모드에 입력하여 생성된 1중 암호화된 콘텐츠(CT1_CEK1)를 반환 받는 1중 복호화를 수행한다(S892).
사용자단말(600)은 1중 암호화된 콘텐츠(CT1_CEK1)와 라이선스를 획득한 제 1 인증키(CEK1)를 CBC복호화모드에 입력하여 콘텐츠(CT)로 생성하는 2중 복호화를 수행한다(S893).
도 14는 본 발명의 다른 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법 중 CTR모드에 의해 2단계 암호화(도 5의 S830 참조) 및 2단계 복호화(도 5의 S890 참조)하는 과정을 나타내는 흐름도이다. 도 3 내지 도 14a를 참조하면, 패키징서버(500)는 난스(Nonce)를 인증서버(400)를 통해 획득한 제 2 인증키(CEK2)를 이용해 블록 암호 암호화(Block Cipher Encryption)을 적용하여 암호화된 난스(E-Nonce)를 생성하는 1단계 암호화를 수행한 뒤, 난스(Nonce)와 블록번호(Block-1 내 지 Block-n)와 조합하여 카운터블록(CB-1 내지 CB-n)을 생성한다(S835).
이후, 패키징서버(500)는 단계(S835)에서 생성된 카운터블록(CB-1 내지 CB-n)과 인증서버(400)로부터 획득한 제 1 인증키(CEK1), 그리고 콘텐츠(CT)를 CRT암호화모드에 입력하여 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 생성한다(S836).
패키징서버(500)는 암호화된 난스(E-Nonce), 블록번호(Block-1 내지 Block-n), 및 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 다운로드서버(300)로 전송한다(S837).
한편, 도 3 내지 도 14b를 참조하면, 사용자단말(600)은 암호화된 난스(E-Nonce), 블록번호(Block-1 내지 Block-n) 및 2중 암호화된 콘텐츠(CT2_CEK1/CEK2)를 다운로드서버(300)로부터 수신한다(S895).
이후, 사용자단말(600)은 암호화된 난스(E-Nonce)를 제 2 인증키(CEK2)가 미리 저장된 스마트카드(650)을 이용하여 난스(Nonce)를 생성하는 1단계 복호화를 수행하고, 난스(Nonce)에 블록번호(Block-1 내지 Block-n)을 조합하여 카운터블록(CB-1 내지 CB-n)을 생성한다(S896).
사용자단말(600)은 단계(S896)에서 생성된 카운터블록(CB-1 내지 CB-n)과 제 1 인증키(CEK1), 그리고 2단계 암호화된 콘텐츠(CT2_CEK1/CEK2)를 CRT복호화모드에 입력하여 콘텐츠(CT)를 생성하는 2단계 복호화를 수행한다(S897).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스 템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 (functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
상기 본 발명의 내용은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 CBC암호화모드를 이용한 암호화과정을 설명하기 위한 도면.
도 2는 종래의 CTR암호화모드를 이용한 암호화과정을 설명하기 위한 도면.
도 3은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템을 나타내는 구성도.
도 4는 도 3의 스마트카드를 이용한 DRM 보완 시스템 중 패키징서버의 구성을 나타내는 블록도.
도 5은 본 발명의 실시 예에 따른 CBC암호화모드를 이용한 2중 암호화 과정을 설명하기 위한 도면.
도 6는 본 발명의 실시 예에 따른 CTR암호화모드를 이용한 2단계 암호화 과정을 설명하기 위한 도면.
도 7는 도 1의 스마트카드를 이용한 DRM 보완 시스템 중 사용자단말의 구성을 나타내는 블록도.
도 8은 본 발명의 실시 예에 따른 CBC복호화모드를 이용한 2중 복호화 과정을 설명하기 위한 도면.
도 9은 본 발명의 실시 예에 따른 CTR복호화모드를 이용한 2단계 복호화 과정을 설명하기 위한 도면.
도 10은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템의 CBC모드 프로세스를 나타내는 도면.
도 11는 본 발명의 다른 실시 예에 따른 스마트카드를 이용한 DRM 보완 시스템의 CTR(CounTeR)모드 프로세스를 나타내는 도면.
도 12는 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법을 나타내는 흐름도.
도 13은 본 발명의 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법 중 CBC모드에 의해 2중 암호화 및 2중 복호화하는 과정을 나타내는 흐름도.
도 14는 본 발명의 다른 실시 예에 따른 스마트카드를 이용한 DRM 보완 방법 중 CTR모드에 의해 2단계 암호화 및 2단계 복호화하는 과정을 나타내는 흐름도.
<도면의 주요부분에 대한 부호의 설명>
100: CP 200: 판매서버
300: 다운로드서버 400: 인증서버
500: 패키징서버 510: 제 1 송수신부
530: 제 1 제어부 550: 데이터베이스
600: 사용자단말 610: 제 2 송수신부
630: 제 2 제어부 650: 스마트카드
670: 출력부

Claims (16)

  1. 패키징서버가, 인증서버로부터 획득한 제 1 인증키(CKE1) 및 제 2 인증키(CKE2), 그리고 콘텐츠(CT)를 CBC암호화모드에 입력하여 2중 암호화된 콘텐츠를 생성하거나, 상기 제 1 인증키 및 상기 제 2 인증키, 그리고 상기 콘텐츠(CT)를 CTR암호화모드에 입력하여 2단계 암호화된 콘텐츠를 생성하여 사용자단말에 전송하는 제 1 단계; 및
    사용자단말이, 상기 제 1 인증키, 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2중 암호화된 콘텐츠를 이용하여 CBC복호화모드를 사용해 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성하거나, 상기 제 1 인증키, 상기 스마트카드에 저장된 상기 제 2 인증키, 그리고 상기 2단계 암호화된 콘텐츠를 이용하여 CTR복호화모드를 사용해 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하는 제 2 단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  2. 제 1 항에 있어서, 상기 제 1 단계는,
    상기 패키징서버가, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 3이상의 자연수)으로 정렬시키는 정렬단계;
    상기 패키징서버가, 상기 평문블록(M-1 내지 M-n) 중 최상단의 적어도 m개 이상의 평문블록(M-1 내지 M-m, m은 2이상의 자연수)과, 잔여 평문블록(M-m+1 내지 M-n)으로 분할하는 분할단계;
    상기 패키징서버가, 상기 평문블록(M-1 내지 M-m)과, 상기 평문블록(M-m+1 내지 M-n)을 각각 상기 CBC암호화모드에 입력하여 1중 암호화된 암호문블록(C-1 내지 C-n)을 생성하는 제 1 암호화단계;
    상기 패키징서버가, 상기 1중 암호화된 암호문블록(C-1 내지 C-n) 중 최상단의 적어도 m개 이상의 1중 암호화된 암호문블록(C-1 내지 C-m)을 상기 CBC암호화모드에 입력하여 2중 암호화된 암호문블록(D-1 내지 D-m)을 생성하는 제 2 암호화단계; 및
    상기 패키징서버가, 1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버를 통해 상기 사용자단말로 전송하는 전송단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  3. 제 2 항에 있어서, 상기 제 1 암호화단계는,
    상기 m이 2이고, 상기 n이 4인 경우 상기 패키징서버가, 상기 평문블록(M-1)과 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-1)를 생성한 뒤, 상기 결과치(CR-1)를 상기 제 1 암호키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-1)을 생성하는 단계;
    상기 패키징서버가, 상기 암호문블록(C-1)과 상기 평문블록(M-2) 간에 배타적 논리합(XOR)을 수행하여 결과치(CR-2)를 생성한 뒤, 상기 결과치(CR-2)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-2)을 생성하는 단계;
    상기 패키징서버가, 상기 평문블록(M-3)과 상기 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(CR-3)를 생성한 뒤, 상기 결과치(CR-3)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-3)을 생성하는 단계; 및
    상기 패키징서버가, 상기 제 3 암호문블록(C-3)과 상기 평문블록(M-4) 간에 배타적 논리합(XOR)을 수행하여 결과치(CR-4)를 생성한 뒤, 상기 결과치(CR-4)를 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(C-4)을 생성하는 단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  4. 제 3 항에 있어서, 상기 제 2 암호화단계는,
    상기 패키징서버가, 상기 암호문블록(C-1)과 상기 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-1)를 생성한 뒤, 상기 결과치(DR-1)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(D-1)을 생성하는 단계; 및
    상기 패키징서버가, 상기 암호문블록(D-1)과 상기 암호문블록(C-2)간에 배타적 논리합(XOR)을 수행하여 결과치(DR-2)를 생성한 뒤, 상기 결과치(DR-2)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 상기 암호문블록(D-2)을 생성하는 단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  5. 제 2 항에 있어서, 상기 제 2 단계는,
    상기 사용자단말이, 상기 1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 상기 다운로드서버로부터 수신하는 수신단계;
    상기 사용자단말이, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 각각 스마트카드에 입력하여 상기 1중 암호화된 암호문블록(C-1 내지 C-m)으로 1중의 복호화를 수행하는 제 1 복호화단계; 및
    상기 사용자단말이, 상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 Cn)을 복호화하여 상기 평문블록(M-1 내지 M-n)으로 2중의 복호화를 수행하는 제 2 복호화단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  6. 제 5 항에 있어서, 상기 제 1 복호화단계는,
    상기 m이 2이고, 상기 n이 4인 경우, 상기 사용자단말 내부에 포함된 DRM모듈이, 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 상기 스마트카드로 전송하여, 상기 스마트카드에 의한 상기 제 2 인증키를 이용한 복호화 수행 결과인 결과치(DR-1 내지 DR-m)을 생성하는 단계; 및
    상기 DRM모듈이, 상기 결과치(DR-1 내지 DR-m)와 초기 벡터값(IV)간에 배타적 논리합(XOR)을 수행하여 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 생성하는 단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  7. 제 1 항에 있어서, 상기 제 1 단계는,
    상기 패키징서버가, 난스(Nonce)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용하여 암호화된 난스(E-Nonce)를 생성하는 제 1 암호화 단계;
    상기 패키징서버가, 상기 난스(Nonce)에 블록번호(Block-1 내지 Block-n, n은 자연수)를 추가해 복수의 카운터블록(CB-1 내지 CB-n, n은 자연수)을 생성하는 카운터블록 생성단계;
    상기 패키징서버가, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 결과치(R-1 내지 R-n, n은 자연수)를 생성하는 결과치 생성단계;
    상기 패키징서버가, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 자연수)으로 정렬시키는 정렬단계;
    상기 패키징서버가, 상기 결과치(R-1 내지 R-n) 각각과 상기 평문블록(M-1 내지 M-n) 각각을 배타적 논리합(XOR)을 수행하여 2단계 암호화된 암호문블록(C-1 내지 C-n)을 생성하는 제 2 암호화단계; 및
    상기 패키징서버가, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 및 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 다운로드서버를 통해 상기 사용자단말로 전송하는 전송단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  8. 제 7 항에 있어서, 상기 제 2 단계는,
    상기 사용자단말이, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 및 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 상기 다운로드서버로부터 수신하는 단계;
    상기 사용자단말이, 상기 암호화된 난스(E-Nonce)를 스마트카드로 전송하여, 상기 스마트카드에 의해 미리 저장된 상기 제 2 인증키(CEK2)를 적용하여 블록 암호 복호화를 수행하여 생성된 상기 난스(Nonce)를 반환받는 제 1 복호화단계;
    상기 사용자단말이, 상기 난스(Nonce)를 상기 블록번호(Block-1 내지 Block-n)와 조합하여 상기 카운터블록(CB-1 내지 CB-n)을 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 복호화를 적용하여 결과치(RR-1 내지 RR-n, n은 자연수)를 생성하는 생성단계; 및
    상기 사용자단말이, 상기 결과치(RR-1 내지 RR-n) 각각과 상기 암호문블록(C-1 내지 C-n) 각각을 배타적 논리합(XOR)을 수행하여 상기 평문블록(M-1 내지 M-n)을 생성하는 제 2 복호화단계; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 방법.
  9. 인증서버에서 획득한 제 1 인증키(CKE1) 및 제 2 인증키(CKE2)를 이용하여 CBC암호화모드를 통해 콘텐츠(CT)에서 2중 암호화된 콘텐츠를 생성하거나, 상기 제 1 인증키 및 상기 제 2 인증키를 이용하여 CTR암호화모드를 통해 상기 콘텐츠(CT)에서 2단계 암호화된 콘텐츠를 생성하여 사용자단말에 전송하는 패키징서버; 및
    상기 제 1 인증키, 스마트카드에 저장된 상기 제 2 인증키를 이용하여 CBC복호화모드를 통해 상기 2중 암호화된 콘텐츠에서 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성하거나, 상기 제 1 인증키, 상기 스마트카드에 저장된 상기 제 2 인증키를 이용하여 CTR복호화모드를 통해 상기 2단계 암호화된 콘텐츠에서 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하는 사용자단말; 을 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  10. 제 9 항에 있어서, 상기 패키징서버는,
    CP, 다운로드서버 및 인증서버와 데이터 송수신을 수행하는 제 1 송수신부; 및
    상기 CP로부터 콘텐츠(CT)를 수신하고, 상기 인증서버로부터 상기 제 1 인증키 및 상기 제 2 인증키를 획득하며, 상기 콘텐츠(CT)와 상기 제 1 인증키를 상기 CBC암호화모드에 입력하여 1중 암호화된 콘텐츠를 생성하고, 상기 1중 암호화된 콘텐츠와 상기 제 2 인증키를 CBC암호화모드에 입력하여 상기 2중 암호화된 콘텐츠를 생성한 뒤, 상기 2중 암호화된 콘텐츠를 다운로드서버를 통해 상기 사용자단말로 전송하도록 상기 제 1 송수신부를 제어하는 제 1 제어부; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  11. 제 10 항에 있어서, 상기 제 1 제어부는,
    상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n, n은 3 이상의 자연수)으로 정렬하고,
    상기 평문블록(M-1 내지 M-n) 중 최상단의 적어도 m개 이상의 평문블록(M-1 내지 M-m, m은 2이상의 자연수)과, 잔여 평문블록(M-m+1 내지 M-n)으로 분할하며, 상기 평문블록(M-1 내지 M-m)과, 상기 평문블록(M-m+1 내지 M-n)을 각각 상기 CBC암호화모드에 입력하여 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n)을 생성하고,
    상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n) 중 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 상기 CBC암호화모드에 입력하여 2중 암호화된 암호문블록(D-1 내지 D-m)을 생성한 뒤,
    1중 암호화된 암호문블록(C-m+1 내지 C-n) 및 상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버를 통해 상기 사용자단말로 전송하는 하도록 상기 제 1 송수신부를 제어하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  12. 제 9 항에 있어서, 상기 패키징서버는,
    CP, 다운로드서버 및 인증서버와 데이터 송수신을 수행하는 제 1 송수신부;
    상기 CP로부터 콘텐츠(CT)를 수신하고, 상기 인증서버로부터 상기 제 1 인증키 및 상기 제 2 인증키를 획득하고, 난스(Nonce)를 상기 제 2 인증키에 의한 블록 암호 암호화를 적용해 암호화된 난스(E-Nonce)를 생성하는 1단계 암호화를 수행하고, 상기 난스(Nonce)를 블록번호(Block-1 내지 Block-n, n은 자연수)와 조합하여 카운터블록(CB-1 내지 CB-n, n은 자연수)를 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 암호화를 적용하여 결과치(R-1 내지 R-n)를 생성하며, 상기 콘텐츠(CT)를 블록화하여 복수의 평문블록(M-1 내지 M-n)으로 정렬시키고,
    상기 결과치(R-1 내지 R-n) 각각과 상기 평문블록(M-1 내지 M-n) 각각을 배타적 논리합(XOR)을 수행하여 2단계 암호화된 암호문블록(C-1 내지 C-n)을 생성한 뒤, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Block-n), 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 다운로드서버를 통해 상기 사용자단말로 전송하도록 상기 제 1 송수신부를 제어하는 제 1 제어부; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  13. 제 11 항에 있어서, 상기 사용자단말은,
    상기 제 2 인증키를 저장하고 복호화를 수행하기 위한 스마트카드;
    판매서버 및 상기 인증서버와 데이터 송수신을 수행하는 제 2 송수신부; 및
    상기 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 상기 판매서버로 전송하고, 상기 인증서버로부터 상기 제 1 암호키가 포함된 라이선스를 획득하도록 상기 제 2 송수신부를 제어하고,
    라이선스로부터 획득한 상기 제 1 인증키와 상기 제 2 인증키가 미리 저장된 스마트카드를 이용하여 상기 2중 암호화된 콘텐츠를 상기 CBC복호화모드 통해 2중 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하도록 제어하는 제 2 제어부; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  14. 제 13 항에 있어서, 상기 제 2 제어부는,
    상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 다운로드서버로부터 수신하도록 상기 제 2 송수신부를 제어하고,
    상기 2중 암호화된 암호문블록(D-1 내지 D-m)을 각각 상기 스마트카드에 입력하여 결과치(DR-1 내지 DR-m)을 받아 상기 1중 암호화된 암호문블록(C-1 내지 C-m)을 생성하여 1중의 복호화를 수행하고,
    상기 1중 암호화된 암호문블록(C-1 내지 C-m 및 C-m+1 내지 C-n)을 상기 CBC복호화모드에 입력하여 상기 평문블록(M-1 내지 M-n)으로 2중의 복호화를 수행하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  15. 제 12 항에 있어서, 상기 사용자단말은,
    상기 제 2 인증키를 저장하고, 복호화를 수행하기 위한 스마트카드;
    판매서버 및 상기 인증서버와 데이터 송수신을 수행하는 제 2 송수신부; 및
    상기 판매서버에 등록된 다수의 콘텐츠 중 상기 콘텐츠(CT)에 대한 콘텐츠 구매 메시지를 상기 판매서버로 전송하고, 상기 인증서버로부터 상기 제 1 인증키의 라이선스를 수신하고, 상기 암호화된 난스(E-Nonce)와, 상기 블록번호(Block-1 내지 Blcok-n), 그리고 상기 2단계 암호화된 암호문블록(C-1 내지 C-n)을 상기 패키징서버로부터 수신하도록 상기 제 2 송수신부를 제어하고,
    상기 암호화된 난스(E-Nonce)를 상기 스마트카드로 전송하여, 상기 스마트카드에 의해 미리 저장된 상기 제 2 암호키(CEK2)를 적용하여 블록 암호 복호화를 수행하여 생성된 상기 난스(Nonce)를 반환받는 1단계 복호화를 수행하고, 상기 난스(Nonce)를 블록번호(Block-1 내지 Block-n, n은 자연수)과 조합하여 카운터블록(CB-1 내지 CB-n, n은 자연수)을 생성하고, 상기 카운터블록(CB-1 내지 CB-n) 각각과 상기 제 1 인증키, 그리고 상기 2단계 암호화된 콘텐츠를 상기 CTR복호화모드에 입력하여 2단계 복호화를 수행하여 상기 콘텐츠(CT)를 생성한 뒤, 상기 콘텐츠(CT)를 재생하도록 제어하는 제 2 제어부; 를 포함하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
  16. 제 15 항에 있어서, 상기 제 2 제어부는,
    상기 카운터블록(CB-1 내지 CB-n) 각각을 상기 제 1 인증키에 의한 블록 암호 복호화를 적용하여 결과치(RR-1 내지 RR-n)를 생성하고,
    상기 결과치(RR-1 내지 RR-n) 각각과 상기 암호문블록(C-1 내지 C-n) 각각을 배타적 논리합(XOR)을 수행하여 상기 평문블록(M-1 내지 M-n)을 생성하는 것을 특징으로 하는 스마트카드를 이용한 DRM 보완 시스템.
KR1020090106600A 2009-11-05 2009-11-05 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법 KR101132570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090106600A KR101132570B1 (ko) 2009-11-05 2009-11-05 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090106600A KR101132570B1 (ko) 2009-11-05 2009-11-05 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법

Publications (2)

Publication Number Publication Date
KR20110049540A KR20110049540A (ko) 2011-05-12
KR101132570B1 true KR101132570B1 (ko) 2012-04-05

Family

ID=44360665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090106600A KR101132570B1 (ko) 2009-11-05 2009-11-05 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법

Country Status (1)

Country Link
KR (1) KR101132570B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663336B1 (ko) * 2023-09-21 2024-05-07 (주)부성하이테크 농산물 품질 예측 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330961B1 (ko) * 2012-12-26 2013-11-18 신한카드 주식회사 모바일 신용카드의 발급처리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010110525A (ko) * 2000-06-07 2001-12-13 윤종용 고속 복제 방지 방법
US20040131181A1 (en) 2002-04-03 2004-07-08 Rhoads Steven Charles Method and apparatus for encrypting content
KR20070061918A (ko) * 2004-10-08 2007-06-14 코닌클리케 필립스 일렉트로닉스 엔.브이. Drm 시스템을 위한 사용자 기반 콘텐츠 키 암호화
KR20080046515A (ko) * 2006-11-22 2008-05-27 삼성전자주식회사 콘텐츠 파일의 암호화 및 복호화 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010110525A (ko) * 2000-06-07 2001-12-13 윤종용 고속 복제 방지 방법
US20040131181A1 (en) 2002-04-03 2004-07-08 Rhoads Steven Charles Method and apparatus for encrypting content
KR20070061918A (ko) * 2004-10-08 2007-06-14 코닌클리케 필립스 일렉트로닉스 엔.브이. Drm 시스템을 위한 사용자 기반 콘텐츠 키 암호화
KR20080046515A (ko) * 2006-11-22 2008-05-27 삼성전자주식회사 콘텐츠 파일의 암호화 및 복호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102663336B1 (ko) * 2023-09-21 2024-05-07 (주)부성하이테크 농산물 품질 예측 장치

Also Published As

Publication number Publication date
KR20110049540A (ko) 2011-05-12

Similar Documents

Publication Publication Date Title
US7861312B2 (en) MP3 player with digital rights management
CN100576196C (zh) 内容加密方法、系统和利用该加密方法通过网络提供内容的方法
KR101194477B1 (ko) 전자 콘텐츠의 디지털 저작권 관리 시스템 및 방법
CN100535888C (zh) 支持不同数字版权管理域之间内容交换的装置和方法
CN102279908B (zh) 一种数字内容的保护方法及系统
JP5331920B2 (ja) コンピュータ可読記憶媒体
US8826037B2 (en) Method for decrypting an encrypted instruction and system thereof
US20120170740A1 (en) Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
KR20070108186A (ko) 보안 암호화 시스템, 장치 그리고 방법
CN104794388B (zh) 应用程序存取保护方法及应用程序存取保护装置
CN101471943B (zh) 用于验证硬件装置并为发布数据提供安全通道的方法
CN105453094A (zh) 使用安全操作系统的受保护媒体解码
CN103942470A (zh) 一种具有溯源功能的电子音像制品版权管理方法
CN107306254B (zh) 基于双层加密的数字版权保护方法及系统
CN101578608B (zh) 用于基于会话票证存取内容的方法及设备
CN101685425A (zh) 移动存储设备及实现移动存储设备加密的方法
CN105007256B (zh) 用于在非信任平台上执行安全功能的安全模块
CN101140610B (zh) 使用drm卡的内容解密方法
KR101394149B1 (ko) 컨텐츠 소비자의 프라이버시를 보호하는 방법 및 이를 위한장치
KR100755708B1 (ko) 임시 라이센스를 사용하여 컨텐츠를 임시로 사용하는 방법및 장치
CN112788001A (zh) 一种基于数据加密的数据处理业务处理方法、装置及设备
KR101132570B1 (ko) 스마트카드를 이용한 drm 보완 시스템 및 drm 보완 방법
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
WO2016156206A1 (en) Drm addition authentication
Wu et al. A flexible and lightweight user‐demand DRM system for multimedia contents over multiple portable device platforms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20160325

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170324

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180312

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 8