KR100579673B1 - 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템 - Google Patents

암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템 Download PDF

Info

Publication number
KR100579673B1
KR100579673B1 KR1020030029486A KR20030029486A KR100579673B1 KR 100579673 B1 KR100579673 B1 KR 100579673B1 KR 1020030029486 A KR1020030029486 A KR 1020030029486A KR 20030029486 A KR20030029486 A KR 20030029486A KR 100579673 B1 KR100579673 B1 KR 100579673B1
Authority
KR
South Korea
Prior art keywords
encryption
data
digital data
header information
decryption
Prior art date
Application number
KR1020030029486A
Other languages
English (en)
Other versions
KR20030087980A (ko
Inventor
스기우라아쯔꼬
Original Assignee
닛본 덴끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20030087980A publication Critical patent/KR20030087980A/ko
Application granted granted Critical
Publication of KR100579673B1 publication Critical patent/KR100579673B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

암호화/복호화 시스템(116)은 헤더 정보(HD) 및 데이터 바디(PD) 쌍들을 포함하고 있는 디지털 데이터(21)를 암호화/복호화한다. 시스템(116)은 암호용 작업 키 생성 유닛(101, 102), 암호화 유닛(104), 복호용 작업 키 생성 유닛(106, 107), 및 복호화 유닛(108)을 포함하고 있다. 암호용 작업 키 생성 유닛(101, 102)은 각각의 데이터 바디에 대한 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성한다. 암호화 유닛(104)은 해당 암호용 작업 키를 이용하여 각각의 데이터 바디(PD)를 암호화한다. 복호용 작업 키 생성 유닛(106, 107)은 대응하는 헤더 정보(HD)에 기초하여 각각의 데이터 바디에 대한 복호용 작업 키(WK)를 생성한다. 복호화 유닛(108)은 암호화된 디지털 데이터의 암호화된 데이터 바디(EPD)를 해당 복호용 작업 키(WK)를 이용하여 복호화한 후 디지털 데이터(21)를 생성하게 된다.
암호화, 복호화, 위조/복제 방지, 작업 키, 마스터 키

Description

암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템{ENCRYPTION/DECRYPTION SYSTEM, ENCRYPTION SYSTEM AND DECRYPTION SYSTEM}
도 1은 본 발명의 제1 실시예에 따른 암호화/복호화 시스템을 나타낸 블록도.
도 2는 도 1에 도시된 암호화/복호화 시스템(116)에 의해 처리되는 디지털 데이터의 포맷을 설명하는 도면.
도 3은 데이터가 암호화되는 경우에 사용되는 작업 키들을 생성하는 프로세스를 설명하기 위한 도면.
도 4는 암호화 블록(104)에 의해 수행되는 프로세스를 설명하기 위한 도면.
도 5는 데이터가 복호화되는 경우에 사용되는 작업 키들을 생성하는 프로세스를 설명하기 위한 도면.
도 6은 복호화 블록(108)에 의해 수행되는 프로세스를 설명하기 위한 도면.
도 7은 디지털 데이터가 위조된 경우에, 복호화를 위한 작업 키들을 생성하는 프로세스를 설명하기 위한 도면.
도 8은 본 발명의 제2 실시예에 따른 암호화/복호화 시스템의 구조를 나타낸 블록도.
도 9는 도 8에 도시된 암호화/복호화 시스템(116A)에 의해 처리되는 MPEG2 트랜스포트 스트림의 포맷을 개략적으로 나타낸 도면.
도 10은 암호화/복호화 시스템(116A)의 작업 키들을 생성하는 프로세스를 설명하기 위한 도면.
도 11은 암호화 블록(104)에 의해 수행되는 프로세스를 설명하기 위한 도면.
도 12는 작업 키 생성 블록(102 또는 107)의 구조예를 나타낸 블록도.
도 13은 본 발명의 제3 실시예에 따른 암호화/복호화 시스템의 개략적인 구조를 나타낸 블록도.
도 14는 도 13에 도시된 암호화/복호화 시스템(116B)에 의해 암호화되기 전후의 트랜스포트 패킷의 포맷들을 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
101 : 헤더 추출 블록
102 : 작업 키 생성 블록
103 : 마스터 키 기억 유닛
104 : 암호화 블록
105 : 데이터 기억 유닛
106 : 헤더 추출 블록
107 : 작업 키 생성 블록
108 : 복호화 블록
116 : 암호화/복호화 시스템
109 내지 115 : 데이터 경로
본 발명은 음악이나 비디오 등의 디지털 데이터를 저장하고 재생하는 데 사용되는 암호화/복호화 시스템에 관한 것이다. 본 발명은 또한 암호의 해독을 곤란하게 하고 위조된 데이터의 사용을 불가능하게 하기 위한 암호 해독 방지/위조 방지 시스템에 관한 것이다.
음악이나 비디오 등의 디지털 데이터가 저장되고 재생되는 경우, 저작권 보호의 관점에서 데이터 암호화 기술이 이용된다. 미심사 일본 특허 공개 H10-290222호는 디지털 데이터를 암호화하여 기억 장치에 송신하고, 기억 장치로부터 판독된 암호화된 데이터를 복호화하는 기술을 개시하고 있다.
그러나, 전술한 기술에 따르면, 디지털 데이터가 암호화된 경우에도 다량의 디지털 데이터를 분석함으로써 암호화 알고리즘이 해독될 수 있다. 암호화 알고리즘이 권한이 없는 제3자에 의해 일단 밝혀지게 되면, 암호화된 데이터는 손쉽게 제3자에 의해 복호화되게 된다.
상기 문제점을 감안하여, 본 발명의 목적은 암호 해독과 위조를 불가능하게 하는 암호화/복호화 시스템 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 불법 복제/위조를 방지할 수 있는 암호화/복호화 시스템 및 방법을 제공하는 것이다.
상기 목적을 달성하기 위해, 본 발명의 제1 태양에 따른 암호화/복호화 시스템은, 헤더 정보(HD) 및 데이터 바디(PD)를 포함하고 있는 디지털 데이터(21)를 암호화/복호화하기 위한 암호화/복호화 시스템(116)에 있어서,
상기 디지털 데이터(21)의 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하는 암호용 작업 키 생성 유닛(101, 102)과;
상기 디지털 데이터(21)에 대하여, 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하여 디지털 데이터를 출력하는 암호화 유닛(104)과;
상기 암호화 유닛(104)에 의해 암호화된 디지털 데이터(21)의 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107); 및
복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하고 있는 디지털 데이터(21)를 재생하기 위해, 상기 암호화 유닛(104)에 의해 암호화된 디지털 데이터(24)에 대해, 상기 암호화된 데이터 바디(EPD)를 상기 복호용 작업 키(WK)를 이용하여 복호화하는 복호화 유닛(108)을 포함한다.
상기 디지털 데이터(21)는 일련의 복수의 데이터 블록(D)으로 이루어진 데이터이고, 각각의 데이터 블록은 헤더 정보(HD) 및 데이터 바디(PD)를 포함하며, 헤더 정보(HD)는 각각의 데이터 블록(D)에 고유한 것이며,
상기 암호용 작업 키 생성 유닛(101, 102)은 데이터 블록의 헤더 정보(HD)에 기초하여 각각의 데이터 블록에 대한 암호용 작업 키(WK)를 생성하고;
상기 암호화 유닛(104)은 데이터 블록을 위해 생성된 암호용 작업 키를 이용하여 각각의 데이터 블록의 데이터 바디(PD)를 암호화하고;
상기 복호용 작업 키 생성 유닛(106, 107)은 상기 암호화 데이터 블록의 헤더 정보(HD)에 기초하여 각각의 데이터 블록을 위한 복호용 작업 키(WK)를 생성하며;
상기 복호화 유닛(108)은 데이터 블록을 위한 복호용 작업기(WK)를 이용하여 각각의 데이터 블록의 암호화된 데이터 바디(EPD)를 복호화한다.
상기 암호용 작업 키 생성 유닛(101, 102)은, 마스터 키와 디지털 데이터(21)로부터 추출된 헤더 정보의 전부 또는 일부를 사용하여 암호용 작업 키를 생성하고; 상기 복호용 작업 키 생성 유닛(106, 107)은, 마스터 키와 암호화된 디지털 데이터(21)로부터 추출된 헤더 정보의 전부 또는 일부를 사용하여 복호용 작업 키를 생성한다.
상기 마스터 키는 상기 암호화/복호화 시스템 각각에 고유한 것이다.
상기 암호용 작업 키 생성 유닛(101, 102) 및 상기 복호용 작업 키 생성 유닛(106, 107)은 상기 마스터 키와 헤더 정보의 배타적 논리합을 획득함으로써 작업 키를 각각 생성한다.
상기 디지털 데이터(21)는 각각이 헤더 정보(HD)와 데이터 바디(PD)를 포함하고 있는 일련의 데이터 블록(D)으로 이루어진 데이터이고; 상기 시스템은 디지털 데이터(21)를 수신하고, 상기 헤더 정보에 기초하여 특정 프로그램의 데이터 블록을 추출하며, 추출된 데이터 블록을 출력하는 필터(202)를 더 포함하고; 상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 데이터 블록의 헤더 정보(HD)를 추출하고, 추출된 헤더 정보에 기초하여 암호용 작업 키(WK)를 생성하며; 상기 암호화 블록(104)은 상기 필터(202)에 의해 추출된 데이터 블록(D)을 암호화한다.
상기 디지털 데이터(71)는 MPEG에 기반한 데이터이고, 각각이 헤더 정보와 페이로드를 포함하고 있는 일련의 전송 패킷으로 이루어지며; 상기 시스템은 디지털 데이터(71)를 수신하고, 상기 헤더 정보(HD)에 기초하여 특정 프로그램의 전송 패킷을 추출하며, 추출된 전송 패킷을 출력하는 필터(202)를 더 포함하고; 상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 전송 패킷의 헤더 정보(HD)를 추출하고, 추출된 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하며; 상기 암호화 유닛(104)은 상기 필터(202)에 의해 추출된 전송 패킷들을 암호화한다.
상기 헤더 정보(HD)는 프로그램 번호에 관한 정보를 담고 있는 PID 헤더 정보와, 전송 패킷의 연속성(continuation)을 확인하기 위해 전송 패킷의 순서에 따라 변화되는 순회(巡回) 카운트 값(cyclic count value)을 담고 있는 CC 헤더 정보를 포함하며; 상기 암호용 작업 키 생성 유닛(101A, 102)은 PID 헤더 정보의 적어도 하나와 CC 헤더 정보에 기초하여 암호용 작업 키를 생성한다.
상기 암호화/복호화 시스템은 암호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 암호화 유닛(104)과 상기 복호화 유닛(108)에 통지하는 암호화 범위 지정 유닛(203)을 더 포함한다.
상기 암호화/복호화 시스템은 작업 키를 생성하기 위해 사용되는 범위를 지정하고, 이 지정된 범위를 상기 암호용 작업 키 생성 유닛(101, 102)과 상기 복호용 작업 키 생성 유닛(106, 107)에 통지하는 범위 지정 유닛(203)을 더 포함한다.
상기 암호화 유닛(104)은 디지털 데이터(24)의 헤더 정보(HD)를 그대로 출력하고, 상기 암호용 작업 키(WK)를 이용하여 데이터 바디(EPD)를 암호화한 후 암호화된 데이터 바디를 출력함으로써, 초기 헤더 정보와 암호화된 데이터 바디를 포함하고 있는 암호화된 데이터를 생성하며; 상기 복호화 유닛(108)은 암호화된 디지털 데이터(24)의 헤더 정보(HD)를 그대로 출력하고, 암호화된 데이터 바디를 복호용 작업 키(WK)를 이용하여 복호화한 후 복호화된 데이터 바디를 출력함으로써, 초기 디지털 데이터를 재생할 수 있다.
상기 목적을 달성하기 위해, 본 발명의 제2 태양에 따른 암호화 시스템은, 헤더 정보(HD) 및 데이터 바디(PD)를 포함하고 있는 디지털 데이터(21)를 암호화하기 위한 암호화 시스템에 있어서,
디지털 데이터(21)의 헤더 정보(HD)에 기초하여 암호용 작업 키를 생성하는 암호용 작업 키 생성 유닛(101, 102)과;
디지털 데이터(21)에 대해, 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하여 디지털 데이터를 출력하는 암호화 유닛(104)을 포함한다.
상기 디지털 데이터(21)는 각각이 헤더 정보(HD)와 데이터 바디(PD)를 포함하고 있는 일련의 복수의 데이터 블록(D)으로 이루어지는 데이터이고, 상기 헤더 정보(HD)는 각각의 데이터 블록(D)에 대해 고유하며, 상기 암호용 작업 키 생성 유닛(101, 102)은 데이터 블록의 헤더 정보(HD)에 기초하여 각각의 데이터 블록에 대한 암호용 작업 키(WK)를 생성하며, 상기 암호화 유닛(104)은 데이터 블록을 위해 사용된 암호용 작업 키를 이용하여 각각의 데이터 블록의 데이터 바디(PD)를 암호화한다.
상기 암호용 작업 키 생성 유닛(101, 102)은, 마스터 키와 디지털 데이터로부터 추출된 헤더 정보의 전부 또는 일부를 이용하여 암호용 작업 키를 생성한다.
상기 마스터 키는 상기 암호화 시스템 각각에 대해 고유한 것이다.
상기 암호용 작업 키 생성 유닛(101, 102)은 마스터 키와 헤더 정보의 배타적 논리합을 획득함으로써 작업 키를 생성한다.
상기 디지털 데이터(21)는 각각이 헤더 정보(HD) 및 데이터 바디(PD)를 포함하고 있는 일련의 데이터 블록(D)으로 이루어진 데이터이고, 상기 시스템은 디지털 데이터(21)를 수신하고, 헤더 정보에 기초하여 특정 프로그램의 데이터 블록을 추출하며, 추출된 데이터 블록을 출력하는 필터(202)를 더 포함하고; 상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 데이터 블록의 헤더 정보(HD)를 추출하고, 추출된 헤더 정보에 기초하여 암호용 작업 키(WK)를 생성하며; 상기 암호화 블록(104)은 상기 필터(202)에 의해 추출된 데이터 블록(D)을 암호화한다.
상기 디지털 데이터(71)는 MPEG에 기반한 데이터이고, 각각이 헤더 정보와 페이로드를 포함하고 있는 일련의 전송 패킷으로 이루어지며; 상기 시스템은 디지털 데이터(71)를 수신하고, 상기 헤더 정보(HD)에 기초하여 특정 프로그램의 전송 패킷을 추출하며, 추출된 전송 패킷을 출력하는 필터(202)를 더 포함하고; 상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 전송 패킷의 헤더 정보(HD)를 추출하고, 추출된 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하며; 상기 암호화 유닛(104)은 상기 필터(202)에 의해 추출된 전송 패킷들을 암호화한다.
상기 헤더 정보(HD)는 프로그램 번호에 관한 정보를 담고 있는 PID 헤더 정보와, 전송 패킷의 연속성을 확인하기 위해 전송 패킷의 순서에 따라 변화되는 순회 카운트 값을 담고 있는 CC 헤더 정보를 포함하며; 상기 암호용 작업 키 생성 유닛(101A, 102)은 PID 헤더 정보의 적어도 하나와 CC 헤더 정보에 기초하여 암호용 작업 키를 생성한다.
상기 암호화 시스템은 암호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 암호화 유닛(104)에 통지하는 암호화 범위 지정 유닛(203)을 더 포함한다.
상기 암호화 시스템은 작업 키를 생성하기 위해 사용되는 범위를 지정하고, 이 지정된 범위를 상기 암호용 작업 키 생성 유닛(101, 102)에 통지하는 범위 지정 유닛(203)을 더 포함한다.
상기 암호화 유닛(104)은 디지털 데이터(24)의 헤더 정보(HD)를 출력하고, 상기 암호용 작업 키(WK)를 이용하여 헤더 정보를 암호화하여 데이터 바디를 출력함으로써, 초기 헤더 정보와 암호화된 데이터 바디를 포함하고 있는 암호화된 데이터를 생성한다.
상기 목적을 달성하기 위해, 본 발명의 제3 태양에 따른 복호화 시스템은 헤더 정보(HD) 및 데이터 바디(PD)를 포함하고 있는 디지털 데이터(21)의 암호화 데이터를 복호화하기 위한 복호화 시스템에 있어서,
암호화된 디지털 데이터(21)의 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107)과;
복호화된 데이터 바디(PD)와 대응하는 헤더 정보(HD)를 포함하고 있는 디지털 데이터(21)를 재생해내기 위해, 암호화된 디지털 데이터(24)에 대해, 암호화되는 데이터 바디(EPD)를, 복호용 작업 키(WK)를 이용하여 복호화하는 복호화 유닛(108)을 포함한다.
상기 디지털 데이터(21)는 각각이 헤더 정보(HD) 및 데이터 바디(PD)를 포함하고 있는 일련의 복수의 데이터 블록(D)으로 이루어지는 데이터이고, 상기 헤더 정보(HD)는 각각의 데이터 블록(D)에 대해 고유하며, 상기 복호용 작업 키 생성 유닛(106, 107)은 암호화 데이터 블록의 헤더 정보(HD)에 기초하여 각각의 데이터 블록에 대한 복호용 작업 키(WK)를 생성하며, 상기 복호화 유닛(108)은 데이터 블록을 위해 복호용 작업 키를 이용하여 각각의 데이터 블록의 암호화된 데이터 바디(EPD)를 복호화한다.
상기 복호용 작업 키 생성 유닛(106, 107)은, 마스터 키와 암호화된 디지털 데이터로부터 추출된 헤더 정보의 전부 또는 일부를 이용하여 복호용 작업 키를 생성한다.
상기 마스터 키는 상기 복호화 시스템 각각에 고유한 것이다.
상기 복호용 작업 키 생성 유닛(106, 107)은 마스터 키와 헤더 정보의 배타적 논리합을 획득함으로써 작업 키를 생성한다.
상기 복호화 시스템은 복호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 복호화 유닛(108)에 통지하는 복호화 범위 지정 유닛(203)을 더 포함한다.
상기 복호화 시스템은 작업 키를 생성하기 위해 사용되는 범위를 지정하고, 이 지정된 범위를 상기 복호용 작업 키 생성 유닛(106, 107)에 통지하는 범위 지정 유닛(203)을 더 포함한다.
상기 복호화 유닛(108)은 암호화된 디지털 데이터(24)의 헤더 정보(HD)를 그대로 출력하고, 상기 암호화된 데이터 바디(EPD)를 상기 복호용 작업 키(WK)를 이용하여 복호화한 후 복호화된 데이터 바디를 출력함으로써 초기 디지털 데이터를 재생한다.
상기 목적을 달성하기 위해, 본 발명의 제4 태양에 따른 암호화 방법은 헤더 정보(HD)와 데이터 바디(PD)를 포함하고 있는 디지털 데이터(21)를 암호화하는 암호화 방법에 있어서,
디지털 데이터(21)의 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하는 단계와;
디지털 데이터(21)에 대해, 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하여 디지털 데이터를 출력하는 단계를 포함한다.
상기 목적을 달성하기 위해, 본 발명의 제5 태양에 따른 컴퓨터 프로그램은 상기 암호화 방법을 실행하는 컴퓨터를 제어하기 위한 프로그램이다.
상기 목적을 달성하기 위해, 본 발명의 제6 태양에 따른 복호화 방법은 헤더 정보(HD)와 데이터 바디(PD)를 포함하고 있는 디지털 데이터(21)의 암호화 데이터를 복호화하기 위한 복호화 방법에 있어서,
암호화된 디지털 데이터(21)의 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 단계와;
암호화된 디지털 데이터(24)에 대해, 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하고 있는 디지털 데이터(21)를 재생해내기 위해, 암호화되는 데이터 바디(EPD)를 복호용 작업 키(WK)를 이용하여 복호화하는 단계를 포함한다.
상기 목적을 달성하기 위해, 본 발명의 제7 태양에 따른 컴퓨터 프로그램은 상기 복호화 방법을 실행하는 컴퓨터를 제어하기 위한 프로그램이다.
<실시예>
본 발명의 전술한 목적들과 다른 목적들 및 장점들은 다음의 상세한 설명과 첨부 도면을 참조하여 이해한다면 보다 명백해질 것이다.
본 발명의 제1 실시예에 따른 암호화/복호화 시스템을 도면을 참조하여 설명한다.
(제1 실시예)
본 발명의 제1 실시예에 따른 암호화/복호화 시스템(116)은, 도 1에 도시된 바와 같이, 헤더 추출 블록(101), 작업 키(암호화 키) 생성 블록(102), 마스터 키 기억 유닛(103), 암호화 블록(104), 헤더 추출 블록(106), 작업 키(복호화 키) 생성 블록(107), 및 복호화 블록(108)을 포함한다.
처리될 디지털 데이터는 데이터 경로(데이터 스트림)(109)를 통해 다른 프로세싱 시스템으로부터 암호화/복호화 시스템(116)에 입력된다. 암호화/복호화 시스템(116)에 의해 처리된 디지털 데이터는 데이터 경로(112)를 통해 다른 프로세싱 시스템에 출력된다.
데이터 기억 유닛(105)은 암호화/복호화 시스템(116)에 접속된다. 데이터 기억 유닛(105)은 하드 디스크, 메모리 등에 의해 구성되고, 데이터 경로(110)를 통해 암호화/복호화 시스템(116)에 의해 처리되는 암호화된 디지털 데이터를 수신하며, 수신된 암호화된 디지털 데이터를 저장한다.
데이터 기억 유닛(105)에 저장된 디지털 데이터는 그로부터 복호화되어 데이터 경로(111)를 통해 암호화/복호화 시스템(116)에 공급된다.
암호화/복호화 시스템(116)의 헤더 추출 블록(101)은 데이터 경로(109)를 통해 입력되는 처리될 디지털 데이터로부터 헤더들(또는 헤더 정보)을 추출한다. 헤더 추출 블록(101)은 헤더 데이터 경로(115)를 통해 작업 키 생성 블록(102)에 추출된 헤더들을 출력한다.
마스터 키 기억 유닛(103)은 플래시 ROM 등으로 구성된다. 마스터 키는 각 암호화/복호화 시스템(116)에 고유하다. 마스터 키 기억 유닛(103)은 암호화 및 복호화에 필요한 마스터 키 정보를 저장한다. 마스터 키 기억 유닛(103)은 마스터 키 경로들(113)을 통해 작업 키 생성 블록들(102 및 107)에 마스터 키 정보를 출력한다.
작업 키 생성 블록(102)은 헤더 데이터 경로(115)를 통해 헤더 추출 블록(101)으로부터 헤더들(또는 헤더 정보, 헤더 데이터)을 수신한다. 또한, 작업 키 생성 블록(102)은 마스터 키 경로(113)를 통해 마스터 키 기억 유닛(103)으로부터 마스터 키 정보를 수신한다. 작업 키 생성 블록(102)은 헤더 추출 블록(101)에 의해 추출된 헤더들과 마스터 키 기억 유닛(103)으로부터 출력된 마스터 키 정보를 사용하여, 입력 디지털 데이터를 암호화하는데 필요한 작업 키를 생성한다. 작업 키 생성 블록(102)은 생성된 작업 키를 작업 키 경로(114)를 통해 암호화 블록(104)으로 출력한다.
암호화 블록(104)은 데이터 경로(109)를 통해 다른 프로세싱 시스템으로부터 처리될 디지털 데이터를 수신하고, 작업 키 경로(114)를 통해 작업 키 생성 블록(102)으로부터 작업 키를 수신한다. 암호화 블록(104)은 작업 키를 사용하여 처리될 디지털 데이터의 페이로드들을 암호화하여, 데이터 경로(110)를 통해 데이터 기억 유닛(105)에 암호화된 디지털 데이터를 출력한다.
헤더 추출 블록(106)은 데이터 경로(111)를 통해 데이터 기억 유닛(105)으로부터 출력된 암호화된 데이터를 수신하여, 암호화된 데이터로부터 헤더를 추출한다. 헤더 추출 블록(106)은 추출된 헤더를 작업 키 생성 블록(107)으로 출력한다.
작업 키 생성 블록(107)은 헤더 데이터 경로(117)를 통해 암호화된 데이터의 헤더를 수신하고, 마스터 키 경로(113)를 통해 마스터 키 기억 유닛(103)으로부터 마스터 키를 수신한다. 작업 키 생성 블록(107)은 암호화된 데이터의 헤더와 마스터 키를 사용하여 복호화에 필요한 작업 키를 생성한다. 작업 키 생성 블록(107)은 작업 키 경로(118)를 통해 생성된 작업 키를 복호화 블록(108)으로 출력한다.
복호화 블록(108)은 작업 키 경로(118)를 통해 작업 키 생성 블록(107)으로부터 작업 키를 수신하고, 데이터 경로(111)를 통해 데이터 기억 유닛(105)으로부터 암호화된 데이터를 수신한다. 복호화 블록(108)은 수신된 암호화된 데이터를 작업 키를 사용하여 복호화하고, 복호화된 디지털 데이터를 다른 프로세싱 시스템으로 데이터 경로(112)를 통하여 출력한다. 도 2는 암호화/복호화 시스템(116)에 의해 처리되어질 디지털 데이터의 포맷 및 암호화/복호화 시스템(116)에 의해 처리된 암호화된 디지털 데이터(24)의 포맷을 설명하는 도면이다.
도 2에 도시된 바와 같이, 데이터 경로(109)를 통해 데이터 스트림의 형태로 암호화/복호화 시스템(116)으로 입력되어질 디지털 데이터(21)는 데이터(데이터 블록) D1, D2, D3, … 가 이 순서대로 공급되는 구조를 갖는다. 데이터 D1, D2, D3, …는 각각 한쌍의 헤더 HD1 및 페이로드(데이터 바디) PD1, 한쌍의 헤더 HD2 및 페이로드(데이터 바디) PD2, 한쌍의 헤더 HD3 및 페이로드(데이터 바디) PD3을 포함한다.
디지털 데이터(21)는 암호화 블록(104)에 의해 암호화되고, 도 2에 도시된 포맷을 갖는 암호화된 디지털 데이터(24)로 변환된다. 도 2에 도시된 바와 같이, 암호화된 디지털 데이터(24)는 암호화된 데이터 ED1, ED2, ED3, … 가 이 순서대로 출력되는 구조를 갖는다. 도 2에 도시된 바와 같이, 암호화된 데이터 ED1, ED2, ED3, …는 각각 한쌍의 암호화되지 않은 헤더 HD1 및 암호화된 페이로드(데이터 바디) EPD1, 한쌍의 암호화되지 않은 헤더 HD2 및 암호화된 페이로드(데이터 바디) EPD2, 한쌍의 암호화되지 않은 헤더 HD3 및 암호화된 페이로드(데이터 바디) EPD3을 포함한다.
데이터 기억 유닛(105)에 저장된 데이터 및 데이터 경로(111)를 통해 데이터 기억 유닛(105)으로부터 출력된 데이터는 모두 암호화된 디지털 데이터(24)와 동일한 구조를 갖는다.
또한, 복호화 블록(108)에 의해 복호화되고 암호화/복호화 시스템(116)으로부터 데이터 경로(112)를 통해 출력된 디지털 데이터는 디지털 데이터(21)와 동일한 구조를 갖는다.
도 3은 암호화를 위한 작업 키를 생성하는 절차를 설명하는 도면이다.
도 3에 도시된 디지털 데이터(21)의 스트림이 데이터 경로(109)를 통해 암호화/복호화 시스템(116)으로 제공될 때, 헤더 추출 블록(106)은 헤더 추출 프로세스(31)를 수행하여, 디지털 데이터(21)에 포함된 데이터 D1, D2, D3, …에 포함되어 있는 헤더 HD1, HD2, HD3, …를 추출한다. 헤더 추출 블록(101)은 추출된 헤더 HD1, HD2, HD3, …를 작업 키 생성 블록(102)으로 출력한다.
작업 키 생성 블록(102)은 도 3에 도시된 작업 키 생성 프로세스(32)를 수행하여 마스터 키와 각각의 헤더들 HD1, HD2, HD3, …를 사용하여 작업 키 생성 알고리즘(33)에 따라 작업 키 WK1, WK2, WK3, …를 생성한다. 작업 키 생성 알고리즘(33)은 임의적이다. 예를 들어, 헤더의 데이터는 임의의 함수(예를 들어, 해시(hash) 함수)를 이용함으로써 마스터 키의 비트 수와 동일한 비트 수를 갖는 데이터로 변환될 수 있으며, 변환된 헤더와 마스터 키의 배타적 논리합(exclusive or)을 얻을 수 있다. 또한, 헤더는 전체가 사용되지 않고, 부분적으로 사용될 수 있다.
도 4는 암호화 블록(104)에 의해 수행되는 프로세스를 설명하는 도면이다. 도 4에 도시된 바와 같이, 암호화 블록(104)은 암호화 프로세스(41)를 수행하지만, 그것들을 암호화하지 않고 디지털 데이터(21)에 포함된 데이터 D1, D2, D3, …의 헤더 HD1, HD2, HD3, …를 단순히 출력한다. 한편, 암호화 블록(104)은 각각 데이 터 D1, D2, D3, …에 대해 생성된 작업 키 WK1, WK2, WK3, …를 이용하여, 암호화 블록(104)의 암호화 알고리즘(42)에 따라 페이로드 PD2, PD2, PD3, …를 암호화하고, 암호화된 페이로드 EPD1, EPD2, EPD3, …를 출력한다. 헤더 HD1, HD2, HD3, …와 암호화된 페이로드 EPD1, EPD2, EPD3, …는 각각 암호화된 데이터 ED1, ED2, ED3, …를 구성한다.
도 5는 헤더 추출 블록(106)과 작업 키 생성 블록(107)에 의해 수행되는 프로세스를 설명하는 도면이다. 도 5에 도시된 바와 같이, 암호화된 디지털 데이터(24)는 데이터 스트림의 형태로 데이터 기억 유닛(105)으로부터 암호화/복호화 시스템(116)에 제공된다. 헤더 추출 블록(106)은 헤더 추출 프로세스(31)를 수행하여 암호화된 디지털 데이터(24)에 포함된 암호화된 데이터 ED1, ED2, ED3, …의 헤더 HD1, HD2, HD3, …를 추출하고, 추출된 헤더를 작업 키 생성 블록(107)으로 출력한다.
작업 키 생성 블록(107)은 작업 키 생성 프로세스(54)를 수행하여, 마스터 키와 헤더 HD1, HD2, HD3, …를 이용함으로써 작업 키 생성 알고리즘(55)에 따라 작업 키 WK1, WK2, WK3, …를 생성한다. 작업 키 생성 알고리즘(55)은 작업 키 생성 알고리즘(33)과 동일하다.
도 6은 복호화 블록(108)에 의해 수행되는 프로세스를 설명하는 도면이다. 도 6에 도시된 바와 같이, 복호화 블록(108)은 복호화 프로세스(61)를 수행하지만, 암호화된 디지털 데이터(24)에 포함된 암호화된 데이터 ED1, ED2, ED3, …의 헤더 HD1, HD2, HD3, …를 단순히 출력한다. 한편, 복호화 블록(108)은 복호화 알고리즘(62)에 따라 작업 키 WK1, WK2, WK3, …를 사용하여 암호화된 페이로드 EPD1, EPD2, EPD3, …를 복호화한다. 그렇게 함으로써, 복호화 블록(108)은 페이로드 PD1, PD2, PD3, …를 복원하고, 그 페이로드들을 출력한다. 그 결과, 원본 디지털 데이터(21)가 복원된다.
도 7은 암호화된 디지털 데이터가 위조된 경우, 복호화를 위한 작업 키를 생성하는 프로세스를 설명하는 도면이다.
여기서, 암호화된 디지털 데이터(24)의 헤더 HD1, HD2, HD3, …가 위조된 디지털 데이터(71)를 고려해본다.
헤더 추출 블록(106)은 헤더 추출 프로세스(53)를 수행함으로써, 위조된 헤더 FHD1, FHD2, FHD3, …를 추출한다.
작업 키 생성 블록(107)은 작업 키 생성 알고리즘(55)에 따라서 마스터 키 및 위조된 헤더 FHD1, FHD2, FHD3, …를 이용하여 작업 키 생성 프로세스(54)를 수행함으로써 작업 키 FWK1, FWK2, FWK3, …를 생성한다.
다음으로, 도 2 내지 도 7을 참조하여, 도 1에 도시된 암호화/복호화 시스템(116)의 암호화 동작 및 복호화 동작에 대해 설명한다.
암호화/복호화 시스템(116)에 도 2에 도시된 구조를 갖는 디지털 데이터(21)가 데이터 경로(109)를 통하여 도 1에 도시된 데이터 스트림의 형태로 입력된다.
헤더 추출 블록(101)은 헤더 추출 프로세스(31)를 수행하여, 도 3에 나타낸 바와 같이 입력 디지털 데이터(21)의 데이터 D1, D2, D3, …에 포함되어 있는 헤더 HD1, HD2, HD3, …를 추출하며, 추출된 헤더를 헤더 데이터 경로(115)를 통하여 작 업 키 생성 블록(102)으로 출력한다. 작업 키 생성 블록(102)은 작업 키 생성 프로세스(32)를 수행하여 데이터 D1, D2, D3, …에 포함되어 있는 페이로드 PD1, PD2, PD3, …를 암호화하는데 필요한 작업 키 WK1, WK2, WK3, …를 생성한다. 즉, 작업 키 생성 블록(102)은 작업 키 생성 알고리즘(33)에 따라서 데이터 D1, D2, D3, …에 포함되어 있는 헤더 HD1, HD2, HD3, …와 마스터 키를 처리함으로써 작업 키 WK1, WK2, WK3, …를 생성한다. 이와 같이 생성된 작업 키 WK1, WK2, WK3, …는 작업 키 경로(114)를 통하여 암호화 블록(104)으로 순차적으로 출력된다.
암호화 블록(104)은 도 4에 도시된 암호화 프로세스(41)를 수행하여, 순차적으로 공급된 데이터 D1, D2, D3, …에 포함되어 있는 헤더 HD1, HD2, HD3, …를 단순히 출력하며, 작업 키 WK1, WK2, WK3, …를 이용하여 페이로드 PD1, PD2, PD3, …를 암호화하여 암호화된 페이로드 EPD1, EPD2, EPD3, …를 생성 및 출력한다. 그 결과, 불변 헤더 HD1과 암호화된 페이로드 EPD1로 구성된 암호화된 데이터 ED1, 불변 헤더 HD2와 암호화된 페이로드 EPD2로 구성된 암호화된 데이터 ED2, 및 불변 헤더 HD3과 암호화된 페이로드 EPD3으로 구성된 암호화된 데이터 ED3를 포함하고 있는 암호화된 디지털 데이터(24)가 생성된다.
암호화 블록(104)에 의한 암호화 프로세스(41)에 의해 암호화된 디지털 데이터(24)는 데이터 경로(110)를 통하여 데이터 기억 유닛(105)으로 출력된다. 데이터 기억 유닛(105)은 공급된 암호화된 디지털 데이터(24)를 기억한다.
전술한 바와 같이, 디지털 데이터(21)의 암호화는 데이터 D1, D2, D3, …의 헤더 HD1, HD2, HD3, …를 이용하여 작업 키 WK1, WK2, WK3, …를 생성함으로써 수 행된다.
다음으로, 데이터 기억 유닛(105)에 기억되어 있는 데이터의 복호화 및 출력 동작에 대해 설명한다.
도 2에 도시된 암호화된 디지털 데이터(24)는 데이터 기억 유닛(105)으로부터 암호화/복호화 시스템(116)으로 공급되는 것으로 가정한다.
헤더 추출 블록(106)은 도 5에 도시된 헤더 추출 프로세스(53)를 수행하여 암호화된 데이터 ED1, ED2, ED3, …의 헤더 HD1, HD2, HD3, …를 순차적으로 추출하여 추출된 헤더를 작업 키 생성 블록(107)으로 출력한다.
작업 키 생성 블록(107)은 작업 키 생성 프로세스(54)를 수행하여, 작업 키 생성 알고리즘(55)에 따라서 마스터 키 및 헤더 HD1, HD2, HD3, …를 이용하여 작업 키 WK1, WK2, WK3, …를 순차적으로 생성한다. 생성된 작업 키 WK1, WK2, WK3, …는 작업 키 경로(118)를 통하여 복호화 블록(108)으로 순차적으로 출력된다.
작업 키 생성 알고리즘(55)은 암호화에 사용된 작업 키 생성 알고리즘(33)과 동일하며, 헤더 HD1, HD2, HD3, …와 마스터 키도 암호화에 사용된 것과 동일하다. 따라서, 생성된 작업 키 WK1, WK2, WK3, …는 암호화에 사용된 작업 키 WK1, WK2, WK3, …와 동일한 값을 갖는다.
복호화 블록(108)은 도 6에 도시된 복호화 프로세스(61)를 수행하여 암호화된 데이터 ED1의 헤더 HD1을 단순히 출력하며, 작업 키 WK1을 이용하여 암호화된 페이로드 EPD1을 복호화하여 복호화된 페이로드를 출력한다. 다음으로, 복호화 블록(108)은 암호화된 데이터 ED2의 헤더 HD2를 단순히 출력하며, 작업 키 WK2를 이용하여 암호화된 페이로드 EPD2를 복호화하여 복호화된 페이로드를 출력한다. 복호화 블록(108)은 다음 데이터에 대해 동일한 동작을 반복한다.
암호화된 데이터 ED1, ED2, ED3, …를 복호화하는데 사용된 작업 키 WK1, WK2, WK3, …는 암호화에 사용된 작업 키 WK1, WK2, WK3, …와 동일하다. 따라서, 암호화된 데이터 ED1, ED2, ED3, …는 적절하게 복호화될 수 있고, 원본 데이터 D1, D2, D3, …를 얻을 수 있다. 복호화 블록(108)에 의해 복호화된 데이터 D1, D2, D3, …는 데이터 경로(112)를 통하여 다른 프로세싱 시스템으로 출력된다.
다음으로, 암호화된 디지털 데이터(24)의 헤더가 위조된 경우의 암호화/복호화 시스템(116)의 동작에 대해 설명한다.
여기서, 도 7에 도시된 디지털 데이터(71), 즉 그 헤더가 위조된 암호화된 디지털 데이터(24)는 데이터 기억 유닛(105)으로부터 출력된 것으로 가정한다. 이 위조된 디지털 데이터(71)는 헤더 추출 블록(106)에 공급된다.
헤더 추출 블록(106)은 헤더 추출 프로세스(53)를 수행하여 위조된 암호화된 데이터 FED1, FED2, FED3, …의 위조된 헤더 FHD1, FHD2, FHD3, …를 추출하며, 추출된 헤더를 작업 키 생성 블록(107)으로 출력한다.
작업 키 생성 블록(107)은 작업 키 생성 프로세스(54)를 수행하여, 작업 키 생성 알고리즘(55)에 따라서, 마스터 키 기억 유닛(103)으로부터 공급된 마스터 키 및 헤더 추출 블록(106)으로부터 공급된 위조된 헤더 FHD1, FHD2, FHD3, …를 처리함으로써, 작업 키 FWK1, FWK2, FWK3, …를 생성한다. 위조된 헤더 FHD1, FHD2, FHD3, …는 암호화시에 사용된 헤더 HD1, HD2, HD3, …와 상이하므로, 생성된 작업 키 FWK1, FWK2, FWK3, …는 암호화시에 사용된 작업 키 WK1, WK2, WK3, …의 값과 상이한 값을 취한다. 작업 키 생성 블록(107)은 생성된 작업 키 FWK1, FWK2, FWK3, …를 복호화 블록(108)으로 공급한다.
복호화 블록(108)은 공급된 작업 키 FWK1, FWK2, FWK3, …를 이용하여 암호화된 페이로드 EPD1, EPD2, EPD3, …를 복호화한다. 그러나, 생성된 작업 키 FWK1, FWK2, FWK3, …는 암호화시에 사용된 WK1, WK2, WK3, …과 상이하므로, 페이로드 PD1, PD2, PD3는 적절하게 복원될 수 없다.
전술한 바와 같이, 본 실시예에 따른 암호화/복호화 시스템(116)에서는 작업 키를 생성함에 있어서 마스터 키뿐만 아니라 헤더도 사용한다. 이는 각각의 페이로드가 서로 상이한 작업 키를 사용하여 암호화되는 것을 의미한다. 따라서, 동일한 암호화 알고리즘 및 동일한 마스터 키를 이용하여 복수개의 페이로드를 암호화하더라도, 페이로드를 암호화하는데 사용되는 작업 키는 페이로드마다 상이하다. 즉, 데이터마다 암호화 방식이 상이하다.
하나의 마스터 키에 의해 데이터를 암호화하는 경우에는, 다수의 데이터를 분석함으로써 암호화 알고리즘을 복호화할 수 있게 된다. 그러나, 본 실시예에 따른 암호화/복호화 시스템(116)에 따르면, 각 데이터에 대해 그 자신의 작업 키를 마련하고 있으므로 암호화 알고리즘이 손쉽게 복호화되지 않게 된다.
또한, 암호화된 디지털 데이터의 헤더가 위조된 경우에는, 암호화에 사용된 작업 키와 동일한 작업 키를 생성하는 것이 불가능하므로 페이로드가 복호화될 수 없게 된다. 따라서, 디지털 데이터가 위조되면 이 디지털 데이터는 더 이상 사용될 수 없다.
다음으로, 본 발명의 암호화/복호화 시스템을 MPEG2(Moving Picture Experts Group) 트랜스포트 스트림의 암호화/복호화 프로세스에 적용한 경우의 실시예를 설명한다.
도 8은 제2 실시예에 따른 암호화/복호화 시스템(116A)의 구조를 나타낸 블록도이다.
본 실시예에 따른 암호화/복호화 시스템(116A)의 기본적인 구조는 도 1에 나타낸 암호화/복호화 시스템(116)과 동일하다. 그러나, 암호화/복호화 시스템(116A)에서는 MPEG2 트랜스포트 스트림(TS)을 기록 및 복원하기 위하여, 도 1에 도시된 시스템과는 상이한 다음의 특성을 갖는다.
먼저, 암호화/복호화 시스템(116A)은 키 변환 블록(201) 및 PID 필터(202)를 구비한다. 또한, 암호화/복호화 시스템(116A)은 헤더 추출 블록(101 및 106) 대신에 TS 헤더 추출 블록(101A 및 106A)을 구비한다.
키 변환 블록(201)은 마스터 키 기억 유닛(103)과 작업 키 생성 블록(102 및 107) 사이에 접속된다. 키 변환 블록(201)은 보안을 강화하기 위하여 비밀 알고리즘을 이용하여 마스터 키 기억 유닛(103)으로부터 출력된 마스터 키를 다른 키로 변환한다.
PID 필터(202)는 입력 트랜스포트 스트림으로부터 특정 PID(Packet IDentifier)를 갖는 특정 프로그램의 트랜스포트 스트림을 추출하여, 추출된 트랜스포트 패킷을 특정 프로그램의 트랜스포트 스트림으로서 데이터 경로(109)를 통하 여 TS 헤더 추출 블록(101A) 및 암호화 블록(104)으로 출력한다.
TS(Transport Stream) 헤더 추출 블록(101A)은 특정 프로그램의 트랜스포트 스트림으로부터 헤더를 추출하여, 추출된 헤더를 헤더 데이터 경로(115)를 통하여 작업 키 생성 블록(102)으로 출력한다.
TS 헤더 추출 블록(106A)은 데이터 경로(111)를 통하여 수신된 특정 프로그램의 암호화된 트랜스포트 스트림의 헤더를 추출한다. 추출된 헤더는 헤더 데이터 경로(117)를 통하여 작업 키 생성 블록(107)으로 출력된다.
다음으로, 전술한 구조를 갖는 암호화/복호화 시스템(116A)의 전반적인 동작에 대해 설명한다.
마스터 키 기억 유닛(103)으로부터 출력된 마스터 키는 키 변환 블록(201)에 의해 변환된 마스터 키로 변환되어, 마스터 키 경로(113)를 통하여 작업 키 생성 블록(102) 및 작업 키 생성 블록(107)으로 출력된다.
트랜스포트 스트림(TS)은 외부 장치를 통하여 암호화/복호화 시스템(116A)으로 입력된다. PID 필터(202)는 입력 트랜스포트 스트림으로부터 특정 PID를 갖는 특정 프로그램의 트랜스포트 패킷을 추출하여, 추출된 트랜스포트 패킷을 특정 프로그램의 트랜스포트 스트림으로서 데이터 경로(109)를 통하여 TS 헤더 추출 블록(101A) 및 암호화 블록(104)으로 출력한다.
헤더 추출 블록(101A)은 특정 프로그램의 트랜스포트 스트림(TS)으로부터 헤더를 추출하여, 추출된 헤더를 헤더 데이터 경로(115)를 통하여 작업 키 생성 블록(102)으로 출력한다.
작업 키 생성 블록(102)은 마스터 키 경로(113)를 통하여 수신된 변환된 마스터 키 및 헤더 데이터 경로(115)를 통하여 수신된 헤더를 이용하여 작업 키를 생성하여, 생성된 작업 키를 작업 키 경로(114)를 통하여 암호화 블록(104)으로 출력한다.
암호화 블록(104)은 작업 키 경로(114)를 통하여 암호화 키로서 수신된 작업 키를 이용하여, 데이터 경로(109)를 통하여 수신된 특정 프로그램의 트랜스포트 스트림을 암호화한다.
특정 프로그램의 암호화된 트랜스포트 스트림은 데이터 경로(110)를 통하여 데이터 기억 유닛(105)인 하드 디스크(HDD)(105A)에 출력되어 그 안에 기억 및 축적된다.
하드 디스크(105A)에 기억되어 있는 특정 프로그램의 암호화된 트랜스포트 스트림은 데이터 경로(111)를 통해 TS 헤더 추출 블록(106A) 및 복호화 블록(108)으로 출력된다.
TS 헤더 추출 블록(106A)은 데이터 경로(111)를 통하여 출력된 특정 프로그램의 암호화된 트랜스포트 스트림으로부터 헤더를 추출한다. 추출된 헤더는 헤더 데이터 경로(117)를 통하여 작업 키 생성 블록(107)으로 출력된다.
작업 키 생성 블록(107)은 마스터 키 경로(113)를 통하여 수신된 마스터 키 및 헤더 데이터 경로(117)를 통하여 수신된 헤더를 이용하여 작업 키를 생성하여, 생성된 작업 키를 작업 키 경로(118)를 통하여 복호화 블록(108)으로 출력한다.
복호화 블록(108)은 작업 키 경로(118)를 통하여 수신된 작업 키를 이용하여 특정 프로그램의 암호화된 트랜스포트 스트림을 복호화하여, 복호화된 트랜스포트 스트림을 데이터 경로(112)를 통하여 다른 프로세싱 시스템으로 출력한다.
도 9는 도 8에 도시된 암호화/복호화 시스템(116A)에 의해 처리되는 MPEG2 트랜스포트 스트림의 포맷을 개략적으로 나타낸 도면이다.
도 9에 나타낸 바와 같이, 트랜스포트 스트림(301)은 트랜스포트 패킷 TS1, 트랜스포트 패킷 TS2, 트랜스포트 패킷 TS3, …을 포함한다.
각각의 트랜스포트 패킷 TSi("i"는 첨자)는 3 종류의 헤더(5) 및 페이로드(데이터 바디) PD를 포함한다. 3 종류의 헤더는 47개의 헤더(395), 프로그램 번호에 관한 정보를 포함하는 PID(396) 및 동일한 PID 정보를 갖는 패킷의 연속성을 확인하기 위하여 패킷 순서에 따라 변화되는 순회 카운트 값을 포함하는 CC(397)를 포함한다. 트랜스포트 패킷 TS1의 CC(397) 및 트랜스포트 패킷 TS2의 CC(397)는 예를 들어 서로 상이한 값을 포함한다.
암호화된 트랜스포트 스트림(394)은 암호화된 트랜스포트 패킷 ETS1, 암호화된 트랜스포트 패킷 ETS2, 암호화된 트랜스포트 패킷 ETS3…을 포함한다.
각각의 암호화된 트랜스포트 패킷은 3 종류의 헤더 및 암호화된 페이로드 EPD를 포함한다. 3 종류의 헤더는 47개의 헤더(395), 프로그램 번호에 관한 정보를 포함하는 PID(396), 및 동일한 PID 정보를 갖는 패킷의 연속성을 확인하기 위하여 패킷 순서에 따라 변화되는 순회 카운트 값을 포함하는 CC(397)이다.
도 10은 작업 키가 암호화/복호화 시스템(116A)에서 생성되는 프로세스를 설명하기 위한 도면이다.
도 10에 나타낸 바와 같이, TS 헤더 추출 블록(101A)은 TS 헤더 추출 프로세스(401)를 수행하고, 트랜스포트 패킷 TS1의 헤더 PID(396) 및 CC(397)를 추출하고, 트랜스포트 패킷 TS2의 헤더 PID(396) 및 CC(397)를 추출하고, 다음 패킷에 대하여 동일한 동작을 반복한다. 여기서, 트랜스포트 패킷 TS1의 PID(396) 및 트랜스포트 패킷 TS2의 PID(396)가 동일한 경우에, 트랜스포트 패킷 TS1의 CC(397)의 값 및 트랜스포트 패킷 TS2의 CC(397)의 값이 상이한 값을 가질 필요가 있다.
작업 키 생성 블록(102)은 작업 키 생성 프로세스(402)를 수행하여, 추출된 PID(396)의 값 및 추출된 CC(397)의 값에 작업 키 생성 알고리즘(403)을 적용하여 작업 키를 생성한다. 즉, 작업 키 생성 블록(102)은 트랜스포트 패킷 TS1의 PID(396) 및 CC(397)에 기초하여 작업 키 WK1을 생성하고, 트랜스포트 패킷 TS2의 PID(396) 및 CC(397)에 기초하여 작업 키 WK2를 생성하고, 다음 패킷에 대하여 동일한 동작을 반복한다. 상술한 바와 같이, 트랜스포트 패킷 TS1의 CC(397) 및 트랜스포트 패킷 TS2의 CC(397)가 상이하기 때문에, 작업 키 WK1 및 작업 키 WK2는 상이한 값을 갖게 된다.
도 11은 암호화 블록(104)에 의해 수행된 프로세스를 설명하는 도면이다.
암호화 블록(104)은 암호화 프로세스(411)를 수행하고, 트랜스포트 패킷 TS1, TS2, TS3, … 각각의 헤더(47개의 헤더(395), PID(396), CC(397))를 단순히 그대로 출력한다.
한편, 암호화 블록(104)은 작업 키 WK1을 사용하여 암호화 알고리즘(412)에 따라 트랜스포트 패킷 TS1의 페이로드 PD1을 암호화하고, 암호화된 페이로드 PD1을 출력한다. 또한, 암호화 블록(104)은 작업 키 WK2를 사용하여 암호화 알고리즘(412)에 따라 트랜스포트 패킷 TS2의 페이로드 PD2를 암호화하고, 암호화된 페이로드 EPD2를 출력한다. 암호화 블록(104)은 다음의 페이로드에 대하여 동일한 동작을 반복한다. 그럼으로써, 헤더 및 암호화된 페이로드 EPD1을 포함하는 암호화된 트랜스포트 패킷 ETS1, 헤더 및 암호화된 페이로드 EPD2를 포함하는 암호화된 트랜스포트 패킷 ETS2, …가 얻어진다.
다음으로, 암호화/복호화 시스템(116A)에 의해 수행되는 프로세스를 설명한다.
트랜스포트 스트림 TS가 입력 포트(210)를 통해 암호화/복호화 시스템에 입력된다. 입력 트랜스포트 스트림 TS에 포함되는 트랜스포트 패킷 중에서, 특정 PID를 갖는 트랜스포트 패킷이 PID 필터(202)에 의해 추출되고, 데이터 경로(109)로 유입된다.
도 10을 참조하여 설명한 바와 같이, TS 헤더 추출 블록(101A)은 TS 헤더 추출 프로세스(401)를 수행하여, 데이터 경로(109)를 통해 유입된 트랜스포트 패킷 TS1의 PID(396) 및 CC(397)를 추출하고, 트랜스포트 패킷 TS2의 PID(396) 및 CC(397)를 추출하고, 다음의 트랜스포트 패킷에 대해서도 동일한 방식으로 PID(396) 및 CC(397)를 추출한다. 상술한 바와 같이, 트랜스포트 패킷 TS1 및 트랜스포트 패킷 TS2가 동일한 PID를 갖는 경우에, 트랜스포트 패킷 TS1의 CC(397)의 값 및 트랜스포트 패킷 TS2의 CC(397)의 값은 상이한 값을 가질 필요가 있다.
작업 키 생성 블록(10)은 작업 키 생성 프로세스(402)를 수행하여, 작업 키 생성 알고리즘에 따라 추출된 PID(396) 및 CC(397)의 값을 사용하여 작업 키를 생성하고, 작업 키 경로(114)를 통해 암호화 블록(104)에 생성된 작업 키를 출력한다. 트랜스포트 패킷 TS1의 CC(397) 및 트랜스포트 패킷 TS2의 CC(397)가 상이한 값을 갖기 때문에, 동일한 알고리즘 및 동일한 변환된 마스터 키가 작업 키 생성 프로세스(402)에 이용될지라도, 트랜스포트 패킷 TS1에 대한 작업 키 WK1 및 트랜스포트 패킷 WK2에 대한 작업 키 WK2가 상이한 값을 갖는다.
트랜스포트 패킷 TS1, TS2, …는 이 순서로 암호화 블록(104)에 입력된다. 암호화 블록(104)은 암호화 프로세스(411)를 수행하여 트랜스포트 패킷 TS1의 헤더(47개의 헤더(395), PID(396), CC(397))를 단순히 출력하고, 작업 키 WK1을 이용하여 페이로드 PD1을 암호화하여 암호화된 페이로드 EPD1을 생성하고, 생성된 암호화 페이로드 EPD1을 출력한다. 마찬가지로, 암호화 블록(104)은 트랜스포트 패킷 TS2의 헤더를 단순히 출력하고, 작업 키를 이용하여 페이로드 PD2를 암호화하고, 암호화된 페이로드 EPD2를 출력한다. 동일한 프로세스가 트랜스포트 패킷 TS3 및 이후의 트랜스포트 패킷에 대하여 반복된다.
암호화 블록(104)의 암호화 프로세스(411)에 의해 생성되는 암호화된 트랜스포트 스트림은 데이터 경로(110)를 통해 하드 디스크(105A)로 출력되고 거기에 저장된다.
상술된 바와 같이, 각각의 트랜스포트 패킷의 PID(396) 및 CC(397)에 기초하여 작업 키를 생성함으로써, 작업 키의 변동을 충분히 보장할 수 있다.
PID(396)만이 작업 키를 생성하는데 사용되는 경우에, 하나의 키만이 특정 프로그램에 대하여 작성된다. 또한, 작업 키가 CC(397)만을 이용하여 생성된 경우에, 작업 키의 변동이 좁혀진다. 이는, CC(397)가 순회 카운터에 의해 변화된 값이므로, 암호화/복호화 시스템(116)에 의해 암호화될 디지털 데이터가 순회적으로(cyclically) 변화되는 작업 키를 이용하여 암호화되기 때문이다.
따라서, 헤더 PID(396) 및 CC(397)를 이용하여 작업 키를 생성하여 작업 키의 변동을 충분히 넓히는 것이 가능하다.
도 1 및 도 8에 나타낸 작업 키 블록(102) 및 작업 키 생성 블록(107)은 예를 들어 도 12에 나타낸 바와 같이 XOR 회로(501)로 구성될 수 있다.
도 1에 나타낸 작업 키 생성 블록(102)이 XOR 회로로 구성되는 경우에, XOR 회로(501)는, 마스터 키 기억 유닛(103)으로부터 마스터 키 경로(113)를 통해 공급되는 마스터 키와 예를 들어 원 웨이 함수(one-way function)를 이용하여 헤더 추출 블록(101)으로부터 공급되는 헤더로부터 생성되는 데이터의 배타적 논리합을 얻음으로써 암호화에 대한 작업 키를 생성하여, 생성된 작업 키를 작업 키 경로(114)로 출력한다.
마찬가지로, 도 1에 도시된 작업 키 생성 블록(107)이 XOR 회로(501)로 구성되는 경우에, XOR 회로(501)는, 마스터 키 기억 유닛(103)으로부터 공급되는 마스터 키와 원 웨이 함수를 이용하여 헤더 추출 블록(106)으로부터 공급되는 헤더로부터 생성되는 데이터의 배타적 논리합을 얻음으로써 복호화를 위한 작업 키를 생성하고, 작업 키 경로(118)를 통해 생성된 작업 키를 출력한다.
또한, 도 8에 나타낸 작업 키 생성 블록(102)이 XOR 회로(501)로 구성되는 경우에, XOR 회로(501)는, 키 변환 블록(201)으로부터 공급되는 변환된 마스터 키와 TS 헤더 추출 블록(101A)으로부터 공급되는 헤더로부터 생성되는 데이터의 배타적 논리합을 얻음으로써 작업 키를 생성하고, 작업 키 경로를 통해 생성된 작업 키를 출력한다.
마찬가지로, 도 8에 나타낸 작업 키 생성 블록(107)이 XOR 회로(501)로 구성되는 경우에, XOR 회로(501)는 작업 키 변환 블록(201)으로부터 공급되는 변환된 마스터 키와 TS 헤더 추출 블록(106A)으로부터 공급되는 헤더로부터 생성되는 데이터의 배타적 논리합을 얻음으로써 복호화를 위한 작업 키를 생성한다.
도 13은 본 발명에 따른 암호화/복호화 시스템의 제3 실시예의 개략적인 구성을 나타내는 블록도이다.
본 실시예에 따른 암호화/복호화 시스템(116B)은 도 8에 나타낸 암호화/복호화 시스템(116A)의 수정된 예이다. 도 8과 비교하여, 다른 점은 모드 제어 블록(203)이 암호화 블록(104) 및 복호화 블록(108) 사이에 추가된 것이다. 모드 제어 블록(203)은 암호화 블록(104) 및 복호화 블록(108) 각각에 대하여 암호화 범위(암호화 영역) 및 복호화 범위(복호화 영역)를 지정하고, 모드 제어 신호(211)를 통해 암호화 블록(104) 및 복호화 블록(108) 각각에 결정을 통지한다.
모드 제어 블록(203)은 2개의 암호화 모드, 즉, 모드 A 및 모드 B를 갖는다. 도 14에 나타낸 바와 같이, 모드 A는 원본 트랜스포트 패킷(541)의 AF(적응 필드) 및 페이로드를 암호화함으로써 암호화된 페이로드(542)를 생성하기 위한 것이고, 모드 B는 원본 트랜스포트 패킷(541)의 페이로드를 암호화함으로써 암호화된 페이 로드(543)를 생성하기 위한 것이다.
다음으로, 도 14를 참조하여, 모드 제어 블록(203)의 동작을 설명한다.
모드 A가 트랜스포트 패킷(541)을 암호화하기 위하여 선택되는 경우에, 트랜스포트 패킷(541)의 페이로드 및 AF를 암호화되어야 하는 범위(데이터 바디)로서 간주함으로써 암호화가 수행된다. 트랜스포트 패킷(541)의 AF는 헤더를 확장함으로써 작성된 적응 필드이고 시간 정보를 포함한다.
다음으로, 모드 B가 선택되는 경우에, 트랜스포트 패킷(541)의 페이로드를 암호화되어야 하는 범위(데이터 바디)로서 간주함으로써 암호화가 수행되어, 암호화된 트랜스포트 패킷(543)이 생성된다.
이러한 방식으로, AF 정보가 암호화되는 경우에 모드 A를 선택하고, AF 정보가 암호화되지 않는 경우에 모드 B가 선택되는 것이 가능하다. 그러므로, 암호화되어야하는 범위는 임의로 제어될 수 있다. 모드를 선택하는 방식은 임의적이다. 예를 들어, 모드 제어 블록(203)은 외부에서 공급되는 신호에 따라 모드를 선택할 수 있다. 또는, 모드 제어 블록(203)은 경로(210 또는 111) 상에 흐르는 암호화 또는 복호화될 패킷의 PID에 따라 모드를 선택할 수 있다.
상기의 설명은 완전한 암호화/복호화 시스템에 관한 것이다. 그러나, 본 발명은 이에 한정되지 않고, 암호화 시스템 및 복호화 시스템 각각의 단체(single body)에 적용될 수 있다.
도 14의 설명에서, 모드 A 및 B는 암호화 및 복호화의 범위를 변경하기 위한 것이다. 그러나, 모드 A 및 B는 작업 키를 생성하는데 사용되는 범위를 변경하기 위한 것이다. 예를 들어, 헤더에서 모드 A, PID(396) 및 CC(397)는 암호용 작업 키를 생성하는 데 사용된다. 모드 B의 경우에, 헤더에서 PID(396), CC(397), 및 AF는 암호용 작업 키를 생성하는 데 사용된다. 이 경우, 작업 키를 생성하는 데 사용되는 범위는 암호화 및 복호화 범위가 변화되는 도 14의 상기 설명과 달리, 모드 A 및 B에 따라 변화될 수 있다. 예를 들어, 모드 A의 경우에 헤더에서 PID(396) 및 CC(397)는 암호용 작업 키를 생성하는데 사용된다. 모드 B의 경우에, 헤더에서 PID(396), CC(397), 및 AF가 암호용 작업 키를 생성하는데 사용된다. 이 경우, 모드 제어 정보가 TS 헤더 추출 블록(101A 및 106A) 및 작업 키 생성 블록(102 및 107)에 공급된다.
본 발명은 상술된 실시예에 한정되지 않고, 다양한 방식으로 수정되어 적용될 수 있다. 예를 들어, 본 발명은 데이터 기억 유닛(105)에 암호화된 데이터를 저장하지 않고, 암호화된 데이터를 전송하는 시스템에 적용될 수 있다.
상술된 암호화/복호화 프로세스는 컴퓨터, CPU(중앙 처리 장치), 및 DSP(디지털 신호 프로세서)에 의해 실행될 수 있다. 이러한 목적을 위하여, 컴퓨터, CPU, 및 DSP를 제어하는 프로그램 또는 프로그램 신호가 CD-ROM, DVD 등과 같은 기록 매체상에 기억되어 배포되거나, 데이터 신호의 형태로 전송파로 구현되어 네트워크를 통해 전송될 수 있다.
본 발명의 넓은 사상 및 범위로부터 벗어나지 않는 다양한 실시예 및 변경예가 이루어질 수 있다. 상술된 실시예는 본 발명을 설명하기 위한 것이며, 본 발명의 범위가 여기에 국한되는 것은 아니다. 본 발명의 범위는 실시예보다는 첨부된 청구범위에 의해 나타내어진다. 본 발명의 청구범위와 동일한 범주 및 청구범위 내에서 이루어진 다양한 변형예들은 본 발명의 범주에 포함되는 것으로 이해되어야 한다.
전술한 바와 같이, 본 발명에 따르면 암호 해독과 위조를 불가능하게 하는 암호화 시스템 및 불법 복제/위조 방지 방법이 제공될 수 있다.

Claims (34)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화/복호화하기 위한 암호화/복호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(24)에 대해, 상기 복호용 작업 키(WK)를 이용하여 상기 암호화된 데이터 바디(EPD)를 복호화하여, 상기 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하는 상기 디지털 데이터(21)를 재생하는 복호화 유닛(108); 및
    상기 디지털 데이터(71)를 수신하고, 상기 헤더 정보(HD)에 기초하여 특정 프로그램의 전송 패킷들을 추출하고, 상기 추출된 전송 패킷들을 출력하는 필터(202)
    를 포함하고,
    상기 디지털 데이터(71)는 MPEG에 기반한 데이터이고, 각각이 헤더 정보와 페이로드(payload)를 포함하는 일련의 전송 패킷들로 이루어지고,
    상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 상기 전송 패킷들의 상기 헤더 정보(HD)를 추출하고, 상기 추출된 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)들을 생성하고,
    상기 암호화 유닛(104)은 상기 필터(202)에 의해 추출된 상기 전송 패킷들을 암호화하고,
    상기 헤더 정보(HD)는, 프로그램 번호에 관한 정보를 포함하는 PID 헤더 정보와, 전송 패킷들의 연속성(continuation)을 확인하기 위해 전송 패킷들의 순서에 따라 변화되는 순회(巡回) 카운트 값(cyclic count value)을 포함하는 CC 헤더 정보를 포함하고,
    상기 암호용 작업 키 생성 유닛(101A, 102)은 적어도 상기 PID 헤더 정보와 상기 CC 헤더 정보에 기초하여 상기 암호용 작업 키들을 생성하는 것을 특징으로 하는 암호화/복호화 시스템.
  9. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화/복호화하기 위한 암호화/복호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(24)에 대해, 상기 복호용 작업 키(WK)를 이용하여 상기 암호화된 데이터 바디(EPD)를 복호화하여, 상기 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하는 상기 디지털 데이터(21)를 재생하는 복호화 유닛(108); 및
    암호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 암호화 유닛(104)과 상기 복호화 유닛(108)에 통지하는 암호화 범위 지정 유닛(203)
    을 포함하는 암호화/복호화 시스템.
  10. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화/복호화하기 위한 암호화/복호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107);
    상기 암호화 유닛(104)에 의해 암호화된 상기 디지털 데이터(24)에 대해, 상기 복호용 작업 키(WK)를 이용하여 상기 암호화된 데이터 바디(EPD)를 복호화하여, 상기 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하는 상기 디지털 데이터(21)를 재생하는 복호화 유닛(108); 및
    상기 작업 키를 생성하는데 이용되는 범위를 지정하고, 이 지정된 범위를 상기 암호용 작업 키 생성 유닛(101, 102)과 상기 복호용 작업 키 생성 유닛(106, 107)에 통지하는 범위 지정 유닛(203)
    을 포함하는 암호화/복호화 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화하기 위한 암호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 상기 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104); 및
    상기 디지털 데이터(71)를 수신하고, 상기 헤더 정보(HD)에 기초하여 특정 프로그램의 전송 패킷들을 추출하고, 상기 추출된 전송 패킷들을 출력하는 필터(202)
    를 포함하고,
    상기 디지털 데이터(71)는 MPEG에 기반한 데이터이고, 각각이 헤더 정보와 페이로드를 포함하는 일련의 전송 패킷들로 이루어지고,
    상기 암호용 작업 키 생성 유닛(101A, 102)은 상기 필터(202)에 의해 추출된 상기 전송 패킷들의 상기 헤더 정보(HD)를 추출하고, 상기 추출된 헤더 정보(HD)에 기초하여 암호용 작업 키(WK)들을 생성하고,
    상기 암호화 유닛(104)은 상기 필터(202)에 의해 추출된 상기 전송 패킷들을 암호화하고,
    상기 헤더 정보(HD)는, 프로그램 번호에 관한 정보를 포함하는 PID 헤더 정보와, 전송 패킷들의 연속성을 확인하기 위해 전송 패킷들의 순서에 따라 변화되는 순회 카운트 값을 포함하는 CC 헤더 정보를 포함하고,
    상기 암호용 작업 키 생성 유닛(101A, 102)은 적어도 상기 PID 헤더 정보와 상기 CC 헤더 정보에 기초하여 상기 암호용 작업 키들을 생성하는 것을 특징으로 하는 암호화 시스템.
  20. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화하기 위한 암호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 상기 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104); 및
    암호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 암호화 유닛(104)에 통지하는 암호화 범위 지정 유닛(203)
    을 포함하는 암호화 시스템.
  21. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)를 암호화하기 위한 암호화 시스템으로서,
    상기 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 암호용 작업 키를 생성하는 암호용 작업 키 생성 유닛(101, 102);
    상기 디지털 데이터(21)에 대해, 상기 암호용 작업 키를 이용하여 상기 데이터 바디(PD)를 암호화하고, 상기 디지털 데이터를 출력하는 암호화 유닛(104); 및
    상기 작업 키를 생성하는데 이용되는 범위를 지정하고, 이 지정된 범위를 상기 암호용 작업 키 생성 유닛(101, 102)에 통지하는 범위 지정 유닛(203)
    을 포함하는 암호화 시스템.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)의 암호화된 데이터를 복호화하기 위한 복호화 시스템으로서,
    상기 암호화된 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107);
    상기 암호화된 디지털 데이터(24)에 대해, 상기 복호용 작업 키(WK)를 이용하여, 암호화된 상기 데이터 바디(EPD)를 복호화하여, 상기 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하는 상기 디지털 데이터(21)를 재생하는 복호화 유닛(108); 및
    복호화되어야 하는 데이터의 범위를 지정하고, 이 지정된 범위를 상기 복호화 유닛(108)에 통지하는 복호화 범위 지정 유닛(203)
    을 포함하는 복호화 시스템.
  29. 헤더 정보(HD) 및 데이터 바디(PD)를 포함하는 디지털 데이터(21)의 암호화된 데이터를 복호화하기 위한 복호화 시스템으로서,
    상기 암호화된 디지털 데이터(21)의 상기 헤더 정보(HD)에 기초하여 복호용 작업 키(WK)를 생성하는 복호용 작업 키 생성 유닛(106, 107);
    상기 암호화된 디지털 데이터(24)에 대해, 상기 복호용 작업 키(WK)를 이용하여, 암호화된 상기 데이터 바디(EPD)를 복호화하여, 상기 복호화된 데이터 바디(PD) 및 대응하는 헤더 정보(HD)를 포함하는 상기 디지털 데이터(21)를 재생하는 복호화 유닛(108); 및
    상기 작업 키들을 생성하는데 이용되는 범위를 지정하고, 이 지정된 범위를 상기 복호용 작업 키 생성 유닛(106, 107)에 통지하는 범위 지정 유닛(203)
    을 포함하는 복호화 시스템.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
KR1020030029486A 2002-05-09 2003-05-09 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템 KR100579673B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002134170A JP2003333024A (ja) 2002-05-09 2002-05-09 暗号化/復号化システム及びその暗号解読防止/改竄防止方法
JPJP-P-2002-00134170 2002-05-09

Publications (2)

Publication Number Publication Date
KR20030087980A KR20030087980A (ko) 2003-11-15
KR100579673B1 true KR100579673B1 (ko) 2006-05-15

Family

ID=29244174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030029486A KR100579673B1 (ko) 2002-05-09 2003-05-09 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템

Country Status (7)

Country Link
US (1) US20030212886A1 (ko)
EP (1) EP1361692A3 (ko)
JP (1) JP2003333024A (ko)
KR (1) KR100579673B1 (ko)
CN (1) CN1324831C (ko)
HK (1) HK1059997A1 (ko)
TW (1) TWI246296B (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318160B2 (en) * 2002-02-01 2008-01-08 Hewlett-Packard Development Company, L.P. Cryptographic key setup in queued cryptographic systems
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
JP2007013689A (ja) * 2005-06-30 2007-01-18 Toshiba Corp 情報処理装置および復号制御方法
US8832466B1 (en) 2006-01-27 2014-09-09 Trustwave Holdings, Inc. Methods for augmentation and interpretation of data objects
JP2007235324A (ja) * 2006-02-28 2007-09-13 Toshiba Corp 復号または暗号化を行う情報処理装置および情報処理方法
US8275132B2 (en) * 2006-05-15 2012-09-25 Buchen Neil B System and method for dynamically allocating stream identifiers in a multi-encryption transport system
US8176319B2 (en) * 2006-06-27 2012-05-08 Emc Corporation Identifying and enforcing strict file confidentiality in the presence of system and storage administrators in a NAS system
US8185751B2 (en) * 2006-06-27 2012-05-22 Emc Corporation Achieving strong cryptographic correlation between higher level semantic units and lower level components in a secure data storage system
US8826023B1 (en) * 2006-06-30 2014-09-02 Symantec Operating Corporation System and method for securing access to hash-based storage systems
US20080104417A1 (en) * 2006-10-25 2008-05-01 Nachtigall Ernest H System and method for file encryption and decryption
SG144772A1 (en) * 2007-01-26 2008-08-28 Victor Company Of Japan Encryption and decryption methods and apparatus
US7936873B2 (en) 2007-05-07 2011-05-03 Apple Inc. Secure distribution of content using decryption keys
EP2146504A1 (en) * 2008-07-18 2010-01-20 Thomson Licensing, Inc. Method and device for key generation
TWI386832B (zh) * 2008-11-21 2013-02-21 Htc Corp 可攜式通訊裝置及其控制方法
US8782803B2 (en) 2010-04-14 2014-07-15 Legitmix, Inc. System and method of encrypting a derivative work using a cipher created from its source
US8925102B2 (en) * 2010-10-14 2014-12-30 Legitmix, Inc. System and method of generating encryption/decryption keys and encrypting/decrypting a derivative work
JP5818470B2 (ja) * 2011-03-15 2015-11-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
CN102957541B (zh) * 2012-11-21 2016-11-16 浪潮集团有限公司 一种基于saas的密码加密方法
CN104717053B (zh) * 2013-12-11 2018-08-07 晨星半导体股份有限公司 数据解密电路与方法
CN103716157B (zh) * 2013-12-13 2017-01-25 厦门市美亚柏科信息股份有限公司 分组多密钥加密方法及装置
KR101513833B1 (ko) * 2014-04-07 2015-04-22 (주)스마일게이트엔터테인먼트 해킹 탐지 모듈 보안 방법 및 시스템
CN107317679B (zh) * 2017-06-05 2020-01-31 国政通科技股份有限公司 一种身份证丢失后防诈骗的方法和系统
CN107172436B (zh) * 2017-06-09 2019-11-26 国政通科技股份有限公司 一种身份证信息传输保护的方法和系统
EP3797369A1 (en) * 2018-05-21 2021-03-31 Assa Abloy Ab System and method for maintaining usage records in a shared computing environment
CN110505240A (zh) * 2019-09-12 2019-11-26 山东浪潮人工智能研究院有限公司 一种基于服务器和客户端通信协议实现方法
US20230126908A1 (en) * 2021-10-27 2023-04-27 International Business Machines Corporation Protection against executing injected malicious code

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
US5268962A (en) * 1992-07-21 1993-12-07 Digital Equipment Corporation Computer network with modified host-to-host encryption keys
CA2146472C (en) * 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式
FI102936B (fi) * 1996-03-04 1999-03-15 Nokia Telecommunications Oy Pakettimuotoisen lähetyksen turvallisuuden parantaminen matkaviestinjä rjestelmässä
JP3651721B2 (ja) * 1996-11-01 2005-05-25 株式会社東芝 移動計算機装置、パケット処理装置及び通信制御方法
US6167136A (en) * 1997-05-16 2000-12-26 Software Security, Inc. Method for preventing copying of digital video disks
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JP3588536B2 (ja) * 1997-07-11 2004-11-10 株式会社東芝 不正データコピー防止装置及び方法
US6373948B1 (en) * 1997-08-15 2002-04-16 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using program identifiers
EP0994598B1 (en) * 1998-10-12 2004-12-29 SGS-THOMSON MICROELECTRONICS S.r.l. Cryptography method and station for packet switching networks based on digital chaotic models
US6665709B1 (en) * 2000-03-27 2003-12-16 Securit-E-Doc, Inc. Method, apparatus, and system for secure data transport
KR100601634B1 (ko) * 2000-06-07 2006-07-14 삼성전자주식회사 고속 복제 방지 방법
US6959090B1 (en) * 2000-11-20 2005-10-25 Nokia Corporation Content Protection scheme for a digital recording device
JP2002158650A (ja) * 2000-11-21 2002-05-31 Fujitsu Ltd 認証・暗号化処理代行用のサーバ、アクセスカード、プログラム記録媒体及び携帯端末
US7065213B2 (en) * 2001-06-29 2006-06-20 Scientific-Atlanta, Inc. In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate
US7233669B2 (en) * 2002-01-02 2007-06-19 Sony Corporation Selective encryption to enable multiple decryption keys

Also Published As

Publication number Publication date
CN1457166A (zh) 2003-11-19
EP1361692A3 (en) 2004-01-02
TWI246296B (en) 2005-12-21
EP1361692A2 (en) 2003-11-12
CN1324831C (zh) 2007-07-04
TW200308162A (en) 2003-12-16
JP2003333024A (ja) 2003-11-21
HK1059997A1 (en) 2004-07-23
US20030212886A1 (en) 2003-11-13
KR20030087980A (ko) 2003-11-15

Similar Documents

Publication Publication Date Title
KR100579673B1 (ko) 암호화/복호화 시스템, 암호화 시스템 및 복호화 시스템
JP3864675B2 (ja) 共通鍵暗号装置
JP3901909B2 (ja) 暗号化装置およびプログラムを記録した記録媒体
KR100495189B1 (ko) 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체
KR100533225B1 (ko) 암호화 모드 표시기를 사용하여 정보를 전송하기 위한방법 및 시스템
JP6017501B2 (ja) 暗号システム
US6504930B2 (en) Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm
JP4596256B2 (ja) 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
KR100683342B1 (ko) 디지털 데이터 기록장치, 디지털 데이터 메모리장치, 및제한정보를 포함하는 관리정보를 각 관리정보 송신/수신세션 내의 상이한 키를 이용하여 변환하는 디지털 데이터이용장치
KR100813954B1 (ko) 암호화 장치 및 암호화 방법
EP1120934B1 (en) Method and apparatus for key distribution using a key base
KR20000076003A (ko) 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법
JP4665159B2 (ja) 電子メディア通信装置
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP2006512023A (ja) データコピー防止装置とシステム及びコピー防止方法
JPH10293725A (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
US20010014155A1 (en) Method and apparatus for decrypting contents information
JP4752239B2 (ja) 共通鍵暗号方法及び装置
JP4371663B2 (ja) 情報処理装置、情報処理方法
JP7466791B2 (ja) 暗号化装置、復号装置、復号可能検証装置、暗号システム、暗号化方法、及び暗号化プログラム
JP3846148B2 (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
JP2001211159A (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
JP3864798B2 (ja) 共通鍵暗号の復号装置
JP4672971B2 (ja) 暗号化・復号方法及び装置
JP2003005636A (ja) 暗号処理装置および暗号処理方法、並びにプログラム

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140418

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170421

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee