KR100495189B1 - 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체 - Google Patents

데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체 Download PDF

Info

Publication number
KR100495189B1
KR100495189B1 KR10-1998-0014435A KR19980014435A KR100495189B1 KR 100495189 B1 KR100495189 B1 KR 100495189B1 KR 19980014435 A KR19980014435 A KR 19980014435A KR 100495189 B1 KR100495189 B1 KR 100495189B1
Authority
KR
South Korea
Prior art keywords
key
predefined
data
random number
value
Prior art date
Application number
KR10-1998-0014435A
Other languages
English (en)
Other versions
KR19980081635A (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 KR19980081635A publication Critical patent/KR19980081635A/ko
Application granted granted Critical
Publication of KR100495189B1 publication Critical patent/KR100495189B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/12Control of operating function, e.g. switching from recording to reproducing by sensing distinguishing features of or on records, e.g. diameter end mark
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Landscapes

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

Abstract

해시 함수 및 서비스 키는 소스로서 작용하는 DVD 플레이어의 EEPROM에 미리 저장된다. 싱크로서 작용하는 퍼스널 컴퓨터(personal computer: PC)의 EEPROM에 있어서, 한편, ID 및 라이센스 키는 미리 저장된다. 그 DVD 플레이어는 PC가 ID를 전송하도록 요청한다. 그 후, DVD 플레이어는 데이터에 해시 함수를 적용하여, 그 결과 ID와 서비스 키를 연결하여 license key(=hash(ID ∥service_key))를 발생한다. 다음에, DVD 플레이어는 소스측 세션 키(source side session key)를 발생하고, 발생된 라이센스 키를 이용함으로써 세션 키를 암호화한다. 그러면, DVD 플레이어는 암호화된 소스측 세션 키를 PC에 전송한다. PC는 소스측 세션 키(sink side session key)의 것과 동일한 값을 갖는 싱크측 세션 키를 발생하기 위하여 그것의 EEPROM에 저장된 라이센스 키를 이용함으로써 암호화된 소스측 세션을 해독한다.

Description

정보 처리 장치, 정보 장치 방법, 정보 처리 시스템 및 기록 매체
1. 발명의 분야
일반적으로, 본 발명은 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템, 및 기록 매체에 관한 것이다. 보다 구체적으로, 고도로 안전하게 데이터가 교환가능하도록 하는 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템, 및 기록 매체에 관한 것이다.
2. 본 발명의 설명
최근에, 데이터가 장치들간에 교환될 수 있는 IEEE 1394 시리얼 버스에 의해 상호 접속된 AV 장치 등의 전자 장비와 개인용 컴퓨터로 구성된 시스템이 제안되어 있다.
예를 들어, 이러한 시스템에서, 일반 사용자는 DVD(Digital Video Disc) 플레이어를 사용하여 영상 정보를 재생하여 이 영상 정보를 1394 시리얼 버스를 통해 모니터에 전송함으로써 모니터 상에 표시할 수 있다. 영상 정보를 표시하기 위해 사용자에 의해 취해진 작업은, 사용자가 영상 정보의 DVD를 구입했을 때 얻어진 라이센스를 통해 정상적으로 영상 정보의 저작권자에 의해 자동적으로 인가된다. DVD플레이어로부터 광자기 디스크 등의 또 다른 기록 매체에 재생된 영상 정보를 카피하는 작업을 위해, 사용자는 영상 정보의 저작권자로부터 특별한 인가를 얻는 것이 필수적이다. 카피 라이센스의 경우, 광자기 디스크 장치는 장치 상에 장착된 광자기 디스크에 영상 정보의 기록이 인가되었는지를 나타내는 키를 저장하는데 사용된다. 즉, 키는 광자기 디스크 장치가 유효 장치, 즉, 영상 정보의 저작권자에 의해 인가된 장치인지를 나타내는지에 관하여 판단을 하는데 사용된다. 만일, 광자기 디스크 장치가 유효 장치로서 인증된다면, 영상 정보를 장치로 기록하는 작업이 인가되도록 판단될 수 있다.
이 경우, 목적 장치가 정보 전송 장치로부터 정보 수신 장치로의 정보 전송시에 유효 장치임을 검증할 필요가 있다. 정보 전송 장치 및 정보 수신 장치가 각각 소스 및 싱크로서 언급되어야 한다.
도 32는 목적 장치를 인증하는 일반 방법을 도시하는 도면이다. 도 41에 도시되는 바와 같이, 소스 및 싱크에는 저작권자에 의해 미리 소정의 함수 f가 주어진다. 각각의 소스 및 싱크의 메모리에 저장된, 함수 F는 입력 및 출력을 식별하기가 어렵다. 또한, 함수 f를 알지 못하는 사람이 함수 f에 대한 입력으로부터 함수 f에 의해 형성된 출력을 추론하는 것은 어렵다. 함수 f는 저자(author)에 의해 라이센스된 장치에만 제공되고 저장된다.
소스는 난수 r을 생성하여 이 수 r를 1394 시리얼 버스를 통해 싱크에 전송한다. 소스는 함수 f를 난수 r에 적용하여, 수 x(=f(r))를 생성한다.
소스로부터 난수 r을 수신하여, 싱크는 함수 f를 난수 r에 적용하고 수y(=f(r))를 생성한다. 그후, 싱크는 수 y를 소스에 전송한다.
소스는 계산된 수 x와 싱크로부터 수신된 수 y를 비교하여 수 x가 수 y와 동일한지를 판단한다. 만일, 수 x가 수 y와 동일하다면, 소스는 싱크가 유효 장치가 되도록 판단한다. 이 경우, 영상 정보는 싱크에 전송되기 전에 소정의 키를 사용하여 암호화된다.
키로서, 싱크 f로부터 소스에 의해 수신된 수 y에 대해 함수 f를 적용하여 발생된 값 k가 사용된다(k=f(y)). 동일한 토큰(token)으로서, 싱크는 함수 f를 수 y에 적용하여 값 k(=f(y))를 생성한다. 값 k는 암호화 영상 정보를 해독하는 키로서 사용된다.
그러나, 상기 방법에서, 소스 및 싱크로서 사용된 모든 전자 장치가 정보를 전송 및 수신하여 단일 함수 f를 비밀리에 보유하는 것이 필수적이다.
결국, 전자 장치 내에 보유된 함수 f가 인증되지 않은 사용자에 의해 도난될 때, 인증되지 않은 사용자는 1394 시리얼 버스에 의해 교환된 데이터를 모니터링 함으로써 키 k를 발생할 수 있고, 암호 데이터를 해석 및 해독할 수 있다. 이 방식에서, 인증되지 않은 사용자는 소정의 전자 장치를 사용하여 인증된 사용자로서 행함으로써 불법적으로 정보를 훔칠 수 있다.
(발명의 개요)
본 발명은 상기 문제점을 해결하고자 한다. 본 발명의 목적은 또한, 정보를 암호화 또는 해독하는데 요구된 데이터가 인증되지 않은 사용자에 의해 도난 당했을지라도, 소정의 전자 장치를 사용하여 인증되지 않은 사용자가 인증된 사용자인 것처럼 행하지 못하게 하는 것이다.
본 발명의 의도된 다수의 장점들뿐만 아니라, 상기 및 또 다른 목적, 특징이 더욱 분명해지며, 실시예를 나타내는 첨부 도면을 참조하여 양호한 실시예를 상세하게 설명함으로써 보다 용이하게 이해되게 된다.
본 발명의 바람직한 실시예가 도면을 참조하여 설명된다.
(양호한 실시예의 상세한 설명)
도 1은 본 발명이 적용된 정보 처리 시스템의 전형적인 구성을 도시한 블록도이다. 도 1에 도시되는 바와 같이, 구성에 있어서, DVD 플레이어(1), 개인용 컴퓨터(2), 광자기 디스크 장치(3), 데이터 방송/수신 장치(4), 모터(5), 및 텔레비젼 수상기(6)는 IEEE1394 시리얼 버스(11)에 의해 상호 접속된다.
도 2는 도 1에 도시된 정보 처리 시스템내의 DVD 플레이어(1), 개인용 컴퓨터(2), 및 광자기 디스크 장치(3)의 전형적인 구성을 상세하게 도시한 블록도이다. DVD 플레이어(1)는 내부 버스(28)에 의해 상호 접속된 CPU(21), ROM부(22), RAM부(23), 조작부(24), 드라이브(25), 1394 인터페이스부(26), 및 EEPROM부(27)를 구비한다. 도면에 도시되는 바와 같이, DVD 플레이어(1)는 1394 인터페이스부(26)를 통해 1394 시리얼 버스(11)에 접속된다. CPU(21)는 ROM부(22)내에 저장된 프로그램의 실행에 의한 여러 종류의 처리를 실행한다. RAM부(23)는 처리를 실행할 때, CPU(21)에 의해 요구된 데이터 및 프로그램 등의 정보를 적절히 저장하는데 사용된다. 조작부(24)는 버튼, 스위치, 및 원격 제어기 등의 구성요소를 구비한다. 사용자가 조작부(24)를 조작할 때, 조작을 나타내는 신호가 발생된다. 드라이버(25)는 도시되지 않은 DVD를 구동하며, DVD 상에 기록된 데이터를 재생한다. EEPROM부(27)는 DVD 플레이어(1)의 전원이 턴오프된 후 조차도 저장될 필요가 있는 정보를 저장하는데 사용된다. 본 실시예에서, 이러한 정보의 예는 암호/해독 키이다. 내부 버스(28)는 CPU(21), ROM부(22), RAM부(23), 조작부(24), 드라이브(25), 1394 인터페이스부(26), 및 EEPROM부(27)를 상호 접속하는데 사용된다.
DVD 플레이어(1)와 마찬가지로, 광자기 디스크 장치(3)는 내부 버스(38)에 의해 상호 접속된 CPU(31), ROM부(32), RAM부(33), 조작부(34), 드라이브(35), 1394 인터페이스부(36), 및 EEPROM부(37)를 구비한다. 내부 버스(38)에 대한 CPU(31)가 DVD 플레이어(1)내의 내부 버스(28)에 대한 CPU(21)의 기능과 동일하므로, 그 설명은 생략한다. DVD 대신 도면에 도시되지는 않은 광자기 디스크를 드리이버(35)가 구동하는 것은 단지 예외이다. 드라이버(35)는 광자기 디스크로부터 데이터를 기록 및 재생한다.
CPU(41)외에, ROM부(42), RAM부(43), 1394 인터페이스부(49), 및 EEPROM부(50)가 내부 버스(51)에 의해 상호 접속되며, 개인용 컴퓨터(2)는 입력/출력 인터페이스부(44), 키보드(45), 마우스(46), HDD(하드 디스크 드라이브)(47) 및 확장 보드(48)를 포함한다. 개인용 컴퓨터(2)는 1394 인터페이스부(49)를 통해 1394 시리얼 버스(11)에 접속된다. CPU(41)는 ROM부(42)내에 저장된 프로그램의 실행에 의해 여러 종류의 처리를 실행한다. RAM부(43)는 처리를 실행하는데 있어 CPU(41)의해 요구된 프로그램 및 데이터 등의 정보를 적절히 저장하는데 사용된다. 내부 버스(51)에 접속된, 입력/출력 인터페이스부(44)는 CPU(41)와, 키보드(45), 마우스(46), HDD(47), 및 확장 보드(48)간의 인터페이스로서 기능한다. 입력/출력 인터페이스부(44)는 내부 버스(51)를 통해 CPU(41)에 대한 인터페이스부(44)에 접속된 키보드(45) 및 마우스(46)로부터 입력된 신호를 통과시킨다. HDD(47)에 접속되어, 입력/출력 인터페이스부(44)는 내부 버스(51)로부터 출력되는 데이터 및 프로그램을 HDD(47)에 저장되게 하며, 반대로, HDD(47)내의 저장된 데이터 및 프로그램을 내부버스(51)에 대해 판독 출력되게 한다. 확장 보드(48)는, 필요하다면, 개인용 컴퓨터(2)에 부가될 필수 기능들을 허용하도록 입력/출력 인터페이스부(44)에 접속된다. EEPROM부(50)는 개인용 컴퓨터(2)의 전원이 턴오프된 후에도 저장될 필요가 있는 정보를 저장하는데 사용된다. 본 실시예에서, 이러한 정보의 예는 여러 암호/해독 키들이 있다. 내부 버스(51)는 CPU(41), ROM부(42), RAM부(43), 1394 인터페이스부(49), EEPROM부(50), 및 입력/출력 인터페이스부(44)가 상호접속하기 위해 PCI(주위 구성요소 상호접속) 버스에 의해 전형적으로 구현되는 로컬 버스이다.
내부 버스(51)가 입력/출력 인터페이스부(44)를 통해 사용자에 개방되는 아키텍쳐로 설계되어야 한다. 즉, 사용자는 추가 보드를 확장 보드(48)로서 입력/출력 인터페이스부(44)에 접속하도록 허용되며, 필요하다면, 개인용 컴퓨터(2)내에 내장될 추가 보드에 대한 고객 프로그램을 기록하도록 허용된다. 그후, CPU(41)는 고객 프로그램을 실행하며, 소정의 기능을 구현하기 위해 내부 버스(51)에 의해 확장 보드(48)와 데이터를 적절히 교환한다.
DVD 플레이어(1) 및 광자기 디스크 장치(3)등의 고객 전자(CE) 장치의 경우, 반대로, 그 내부 버스(28, 38)는 사용자에 개방된 아키텍쳐로 설계되지 않는다. 이로써, 사용자는 내부 버스(28 또는 38)가 구체적으로 재설계되지 않는 한 내부 버스(28 또는 38)를 통해 전송된 데이터를 요구할 수 없다.
다음은 도 3 및 도 4를 참조하여 소스에 의해 실행된 싱크의 인증(authentication) 처리를 설명한 것이다. 도 3은 인증 처리를 설명하는데 사용된 다이어그램이다. 도 3에서, 처리는 싱크로서 기능하는 개인용 컴퓨터(2)내에 사용된 CPU(41)에 의해 프로그램으로서 실행될 ROM부(42)내에 저장된 라이센스 매니저(62)를 인증하기 위해, 소스로서 기능하는 DVD 플레이어(1)내에 사용된 ROM부(22)에 미리 프로그램으로서 저장된 펌웨어(20)에 의해 실행된다.
도 4는 DVD 플레이어(1)에 의해 구현된 소스가, 싱크가 유효 싱크이면 소스에 의해 발생된 소스측 공통 세션 키로서 동일 값을 갖는 싱크측 공통 세션 키를 생성하도록 싱크를 허용함으로써 개인용 컴퓨터(2)에 의해 싱크를 인증하는 과정을 구현하는 실시예를 도시한 다이어그램이다. DVD 플레이어(1)내에 사용된 EEPROM부(27)에서, 서비스 키 및 해시(hash) 기능은 미리 저장된다. 서비스 키 및 해시 기능은 DVD 플레이어(1)의 사용자에게 정보의 저작권자에 의해 주어지며, 각 사용자는 이를 EEPROM부(27)내에 비밀리에 보관하여야 한다.
저작권자는 그 저작권자에 의해 생성된 각각의 정보에 대해 서비스 키를 사용자에게 제공한다. 서비스 키는 시스템을 합성하기 위해 1394 시리얼 버스(11)에 의해 상호접속된 모든 장치에 대해 공통인 키로서 사용된다. 본 명세서에서, 시스템은 다수의 장치들로 구성되는 전체 시스템을 나타내는데 사용된다.
해시 함수는 임의의 길이를 갖는 입력을 64 비트 또는 128 비트 등의 고정 길이를 갖는 출력 데이터로 변환하는데 사용된다. 변환을 y=hash(x)라 하면, 부호 x는 해시 함수에 대한 입력이며, 부호 y는 함수에 의해 출력된 데이터이다. 이 경우, 해시 함수는 소정의 값 y로부터 값 x를 찾는 것이 어려운 복소수 함수이다. 해시 함수는 등식 hash(x1)=hash(x2)를 만족시키는 한 쌍의 x1,x2를 찾는 것이 어려운 함수이다. MD5 및 SHA는 대표적인 1방향 해시 함수로 공지된 함수의 이름이다. 1방향 해시 함수의 상세한 설명을 위해, 브루스 쉬네이어에 의해 저작권 인정된, 월리에 의해 출간된, "응용 암호 해독"(제 2판)을 인용한다.
도 4에서 도시된 실시예에서 전형적인 싱크로서 사용된 개인용 컴퓨터(2)에서, 전자 장치, 즉, 개인용 컴퓨터(2)에 고유한 ID, 및 정보 저작권자에 의해 미리 제공된 라이센스 키는 EEPROM부(50)에 비밀리에 보존된다. 이 노드(장치) 고유의 ID는 후술된 전자 장치의 제조업자에 의해 전자 장치에 지정된다. 라이센스 키는 n 비트 ID와 m 비트 서비스 키를 연결하여 얻어진 (n+m) 비트에 대해 해시 함수를 응용함으로써 얻어진 값이다. 이로써, 라이센스 키는 다음의 식으로 표현될 수 있다.
license_key=hash (ID∥service_key)
여기서, "ID∥service_key"는 ID와 서비스 키의 연결을 나타낸다.
1394 버스(11)의 명시에 의해 결정된 node_unique_ID는 ID로서 사용될 수 있다. 도 5는 노드 고유의 ID의 포맷을 나타내는 다이어그램이다. 도5에 도시되는 바와 같이, 노드 고유의 ID는 8바이트(또는 64비트)로 구성된다. 상위 3바이트는 제조업자에 대한 고유 번호로서 전자 장치의 제조업자에 대해 IEEE에 의해 제어되고 IEEE에 의해 주어진다. 한편, 하위 5바이트는 사용자에 판매된 전자 장치에 대해 전자 장치의 제조업자자체에 의해 지정될 수 있다. 전형적으로, 전체 하위 5바이트의 각각의 값은 장치의 시리얼 번호로서 전자 장치제조자에 의해 전자 장치에 지정된다. 상위 3바이트는 전자 장치의 제조업자에 대해 고유 값을 가지므로, node_unique_ID는 그 장치가 동일 제조업자 또는 다른 제조업자에 의해 형성되는지에 상관없이 각각의 전자 장치에 대해 고유하다.
도 4에 도시되는 바와 같이, 그 ID에 대해 개인용 컴퓨터(2)의 요구가 1394시리얼 버스(11)에 의해 전송되도록 하기 위해 DVD 플레이어(1)내의 펌웨어(20)가 1394 인터페이스부(26)를 제어하는 단계 S1이 시작된다. 그후, 단계 S2로 진행하여, 개인용 컴퓨터(2)의 라이센스 매니저(62)는 ID에 대한 요구를 수신한다. 상세하게 서명하여, 개인용 컴퓨터(2)내에 사용된 1394 인터페이스부(49)는 DVD 플레이어(1)에 의해 전송된 ID에 대한 요구를 CPU(41)에 대해 1394 시리얼 버스(11)에 의해 통과시킨다. 과정은 그후 단계 S3으로 진행하여, 라이센스 매니저(62)는 CPU(41)에 의해, 1394 인터페이스부(49)에 의해 순방향의 요구에 따라 EEPROM부(50)로부터 ID를 판독하며, 이 ID를 1394 인터페이스부(49) 및 1394 시리얼 버스(11)에 의해 DVD플레이어(1)에 전송한다.
그후, 과정은 DVD플레이어(1)에 사용된 1394 인터페이스부(26)가 ID를 수신하여, CPU(21)에 의해 실행되는 펌웨어(20)에 전달하는 단계 S4로 진행한다.
계속해서, 과정은 단계 S5로 진행하여, 펌웨어(20)는 개인용 컴퓨터(2)로부터 수신된 ID와 EEPROM부(27)내에 저장된 서비스 키를 연결하여 데이터(ID∥service_key)를 형성한다. 그때, 라이센스 키(lk)는 해시 함수를 다음의 식에 나타낸 데이터 (ID∥service_key)에 적용함으로써 계산된다.
lk=hash( ID∥service_key)
그후, 과정은 단계 S6으로 진행하여, 펌웨어(20)는 소스측 공통 세션 키 sk를 생성하며, 상세히 후술된다. 소스측 공통 세션 키 sk는 전송될 평문(clear text)을 암호화하기 위한 DVD 플레이어(1) 및 이 DVD 플레이어(1)로부터 수신된 암호문(encrypted text)을 해독하기 위한 개인용 컴퓨터(2)에 의해, 공통 세션 키 S 로서 사용될 것이다.
그후, 과정은 단계 S7로 진행하여, 펌웨어(20)는 다음의 식에 따라 키로서,단계 S5에서 계산된 라이센스 키 lk를 사용하여 단계 S6에서 생성된 소스측 공통 세션 키 sk를 암호화하여 암호화된 소스 측 공통 세션 키 e를 형성한다.
e=Enc(lk,sk)
상기 식의 우변의 Enc(A,B)는 공통 세션 키 암호/해독 기술을 나타내며, 이로써 데이터 B는 키 A를 사용하여 암호화되며 식의 좌변의 암호화된 소스측 공통 세션 키 e를 형성한다.
다음에, 과정은 단계 S8로 진행하여, 펌웨어(20)는 단계 S7에서 생성된 암호화된 소스측 공통 세션 키 e를 개인용 컴퓨터(2)에 전송한다. 상세히 설명하면, 암호화된 소스측 공통 세션 키 e는 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)에 의해, 1394 시리얼 버스(11)를 경유하여 개인용 컴퓨터(2)에 전송된다. 그후 과정은 단계 S9로 진행하여 개인용 컴퓨터(2)내에 사용된 1394 인터페이스부(49)는 암호화된 소스측 공통 세션 키 e를 수신한다. 그후, 라이센스 매니저(62)는정보의 저작권자에 의해 미리 제공되어 EEPROM부(50)에 저장된 라이센스 키를 키로서 사용함으로써, 1394 인터페이스부(49)에 의해 전달된 암호화된 소스측 공통세션키 e를 해독하여, 다음의 식에 따라 싱크측 공통 세션 키 sk'를 형성한다.
sk'=Dec(license_key, e)
상기 식의 우변의 Dec(A,B)는 공통 세션 키 암호/해독 기술을 나타내며, 이암호화된 데이터 B는 키 A를 사용하여 해독되어 식의 좌변의 싱크측 공통 세션 키sk'를 형성한다.
DES 알고리즘은 상기 언급된 "응용 암호 해독"을 참조하는 제 2판에 상세히 설명된 공통 세션 키 암호/해독 기술에 인용된 데이터 암호/해독 알고리즘으로서 공지되어 있다.
정보의 저작권자에 의해 제공되어 미리 개인용 컴퓨터(2)에 사용된 EEPROM부(50)내에 저장된 라이센스 키는 단계 S5에서 DVD 플레이어(1)에 의해 생성된 라이센스 키 lk로서 동일의 해시 함수를 사용하여 저작권자에 의해 계산된 값을 갖는다. 즉, 다음의 식이 성립한다.
lk=1icense_key
이로써, 동일 (라이센스) 키를 사용하는 공통 소스측 공통 세션 키 암호/해독 기술에 근거하여, 단계 S10에서, 개인용 컴퓨터(2)에 의해 실행된 해독하는 단계 S7에서 DVD 플레이어(1)에 의해 실행된 암호화의 역처리이다. 결국, 단계 S6에서, e가 DVD 플레이어(1)에 의해 생성된 소스측 공통 세션 키 sk의 암호화된 데이터이므로, 개인용 컴퓨터(2)에 의해 계산된 싱크측 공통 세션 키 sk', 즉, 암호화된 소스측 공통 세션 키 e의 해독 결과는 소스측 공통 세션 키 sk와 동일하다. 즉,다음의 식이 성립한다.
sk'=sk
이 방식에서, 소스 및 싱크측 공통 세션 키 sk 및 sk'가 동일 값을 가지므로, DVD 플레이어(1)에 의해 전형적으로 구성된 소스 및 개인용 컴퓨터(2)에 의해 전형적으로 구현된 싱크는 공통 세션 키 S를 공유할 수 있다. 이 이유로 하여, DVD플레이어(1)는 개인용 컴퓨터(2)에 전송될 저작권자에 의해 생성된 평문을 암호화할 때, 키 sk를 암호화 키로서 사용할 수 있다. 동일 토큰에 의해, 개인용 컴퓨터(2)는 DVD 플레이어(1)로부터 수신된 암호문을 해독할 때, 싱크측 공통 세션 키 sk'를 해독 키로서 사용할 수 있다. 대안의 예로서, DVD 플레이어(1)는 소스측 공통 세션 키 sk를 베이스로서 사용하여, 암호화 키로서 사용될 의사 난수(pseudo random number)를 생성되며, 이는 후술된다. 마찬가지로, 개인용 컴퓨터(2)는 싱크측 공통 세션 키 sk'를 베이스로서 사용하여, 해독 키로서 사용될 난수를 생성하며, 이는 후술된다.
상술된 바와 같이, 라이센스 키(lk)는 도 4에 도시된 과정의 단계 S5에서, 특정 전자 장치에 고유한 ID와 저작권자에 의해 생성된 텍스트에 대해 제공된 서비스 키의 연결에 대해 해시 함수를 적용하여 생성된다. 이와 같이, 소스는 텍스트에 대한 서비스 키를 가지지 않으며/또는 싱크는 법적 소유자에 대해 고유한 ID를 가지지 않는 한 쌍의 전자 장치에서, 정확한 라이센스 키 lk(도 4에 도시된 단계 S5에 언급됨)를 생성할 수 있다. 또한, 저작권자에 의해 인증되지 않은 전자 장치에는 라이센스 키가 제공되지 않으며, 이로써, 세션 키 sk'(도 4에 도시된 단계 S10에 언급됨)를 생성할 수 없다. 일반의 경우, 도 4에 도시된 과정이 완료된 후, DVD플레이어(1)는 소스측 공통 세션 키 sk를 사용하여 재생 데이터 또는 평문을 암호화하여 이 암호화된 데이터 또는 암호문을 개인용 컴퓨터(2)에 전송한다. 정확한 라이센스 키가 제공된다면, 개인용 컴퓨터(2)는 싱크측 공통 세션 키 sk'(도 4에 도시된 과정의 단계 S10에 언급됨)를 생성할 수 있다. 개인용 컴퓨터(2)는 싱크측공통 세션 키 sk'에 의해 DVD 플레이어(1)로부터 수신된 암호문 또는 암호화된 재생 데이터를 해독할 수 있다. 만일, 개인용 컴퓨터(2)가 인가된 전자 장치가 아니라면, 정확한 라이센스 키가 사용될 수 없기 때문에 싱크측 공통 세션 키 sk'를 생성할 수 없다. 결국, 인가되지 않은 개인용 컴퓨터(2)는 DVD 플레이어(1)로부터 수신된 암호화된 재생 데이터 또는 암호문을 해독할 수 없다. 환언하면, 소스에 의해 생성된 소스측 공통 세션 키와 동일 값을 갖는 싱크측 공통 세션 키 sk'를 생성할수 있는 싱크만이 인증된다. 이것은 정보에 대한 저작권자에 의해 제공된 서비스 키 또는 저작권자에 의해 생성된 텍스트를 가지고 인가된 싱크로부터 정확한 ID를 수신하는 인가된 소스로서 기능하는 특정의 전자 장치만이 정확한 라이센스 키(lk)를 생성할 수 있다. 동일한 토큰에 의해, 저작권자에 의해 정확한 라이센스 키가 제공된 인가된 싱크로서 기능하는 특정의 전자 장치만이 암호화된 데이터 또는 암호문을 해독하기 위해 해독 키로서 사용할 정확한 싱크측 공통 세션 키 sk'를 생성할 수 있다.
개인용 컴퓨터(2)에 허여된 라이센스 키가 우연한 기회에 도난 당한 것으로가장하자. 이 경우, 도난 당한 라이센스 키는 다른 전자 장치가 개인용 컴퓨터(2)에 지정된 것과는 다른 ID를 가지므로, 유효 싱크측 공통 세션 키 sk'를 생성하도록 또 다른 전자 장치에서 사용될 수 없다. ID가 장치마다 다르므로, 또 다른 전자장치는 도난 당한 라이센스 키에 의해 DVD 플레이어(1)로부터 수신된 암호화된 재생 데이터 또는 암호문을 해독할 수 없다. 결과적으로, 전송된 정보의 안정성이 향상된다.
도 6은 인증 과정을 구현하는 또 다른 실시예를 도시하는 다이어그램이며, DVD 플레이어(1)에 의해 구현된 소스는, 싱크들이 유효 싱크이라면 소스에 의해 생성된 소스측 공통 세션 키와 동일한 값을 갖는 싱크측 공통 세션 키를 생성하도록 각각의 싱크를 허용함으로써, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)에 의해 구현된 2개의 싱크를 인증한다.
제 1 싱크로서 기능하는 개인용 컴퓨터(2)내에 사용된 EEPROM부(50)에서, 개인용 컴퓨터(2)에 대한 전자 장치의 제조업자에 의해 미리 고유하게 지정된 식별어ID1 및, 컴퓨터(2)에 대한 정보의 저작권자에 의해 미리 제공된 라이센스 키License key 1은 저장된다. 동일한 토큰에 의해, 제 2 싱크로서 기능하는 광자기 디스크 장치(3)에서 사용된 EEPROM부(37)에서, 디스크 장치(3)에 대해 전자 장치의 제조업자에 의해 고유하게 미리 지정된 ID 인 ID2 및, 디스크 장치(3)에 대해 정보의 저작권자에 의해 미리 제공된 라이센스 키 License Key 2는 저장된다.
소스로서 기능하는 DVD 플레이어(1) 및 제 1 싱크로서 기능하는 개인용 컴퓨터(2)에 의해 단계 S11 내지 S20을 실행하는 처리들이 도 4에서 설명된 단계 S1 내지 S10과 기본적으로 동일하므로, 그 설명은 반복되지 않는다.
간략하게, 개인용 컴퓨터(2)는 상술된 바와 같이, 단계 S20에서 DVD 플레이어로부터 수신된 암호화된 소스측 공통 세션 키 el로부터 유효 싱크측 공통 세션 키 sk1'를 생성한다. 그후, 과정은 단계 S21로 진행하여 DVD 플레이어(1)내의 펌웨어(20)가 1394 시리얼 버스(11)를 경유하여 전송될 ID에 대한 광자기 디스크 장치(3)에 대한 요구를 하기 위해 1394 인터페이스부(26)를 제어한다. 그후, 과정은 단계 S22로 진행하여, 도 10에 도시된 광자기 디스크 장치(3)의 펌웨어(30)가 ID에 대한 요구를 수신한다. 상세하게는, 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)는 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)에 의해 전송된ID에 대한 요구를 CPU(31)에 전달한다. 그후 과정은 단계 S23에 진행하며, CPU(31)에 의해 실행된 펌웨어는 1394 인터페이스부(36)에 의해 순방향 요구에 따라 EEPROM부(37)로부터 식별어 ID2를 판독하고 이 식별어 ID2를 1394 인터페이스부(36) 및 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)에 전송한다.
그후, 과정은 단계 S24로 진행하며, DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)는 식별어 ID2를 수신하며 CPU(21)에 의해 실행되는 펌웨어(20)에 전달한다.
계속해서, 과정은 단계 S25로 진행하여 펌웨어(20)는 광자기 디스크 장치(3)로부터 수신된 식별어 ID2와 EEPROM부(27)내에 저장된 서비스 키를 연결하여, 데이터(ID2∥service_key)를 형성한다. 그후, 라이센스 키 lk2는 해시 함수를 다음 식에 도시된 데이터(ID2∥service_key)에 적용함으로써 계산된다.
lk2=hash(ID2∥service_key)
그후, 과정은 단계 S26에 진행하여, 펌웨어(20)는 단계 S25에서 계산된 라이센스 키 lk2를 사용하여 단계 S16에서 생성된 소스측 공통 세션 키 sk를 암호화하여, 다음의 식으로 암호화된 소스측 공통 세션 키 e2를 형성한다.
e2=Enc(lk1.sk)
계속해서, 과정은 단계 S27엔 진행하여 펌웨어(20)는 암호화된 소스측 공통세션 키 e2를 광자기 디스크(3)에 전송한다. 상세하게, 암호화된 소스측 공통 세션 키 e2는 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)에 의해 1394 시리얼 버스(11)를 경유하여 광자기 디스크 장치(3)에 전송된다.
그후, 과정은 단계 S28로 진행하여, 광자기 디스크(3)내에 사용된 1394 인터페이스부(36)는 암호화된 소스측 공통 세션 키 e2를 수신한다 그후, 과정은 단계S29로 진행하여, 펌웨어(30)는 EEPROM부(37)내에 저장된 라이센스 키(license_key 2)를 키로서 사용하여, 1394 인터페이스부(36)에 의해 전달된 암호화된 소스측 공통 세션 키 e2를 암호화함으로써, 다음의 식에 따라 싱크측 공통 세션 키 sk2'를 형성한다.
sk2'=Dec(license_key 2, e2)
상술된 바와 같이, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)는 각각 단계S20 및 S29에서 싱크측 공통 세션 키 sk1' 및 sk2'를 생성한다. 일반적으로, 싱크측 공통 세션 키 sk1' 및 sk2'는 단계 S16에서 DVD 플레이어(1)에 의해 생성된 소스측 공통 세션 키 sk와 동일 값을 갖는다.
도 6에 도시된 과정에서, DVD 플레이어(1)는 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)에 개별적으로 ID 요구를 한다. 그러나, 방송 통신의 경우, 요구들은 동시에 이루어질 수 있으며, 도 7에 도시된 과정을 구현하는 실시예에 따른 처리가 실행될 수 있다.
도 7에 도시되는 바와 같이, 과정은 단계 S41을 시작하여, DVD 플레이어(1)는 방송 통신에 의해 ID에 대해 모든 싱크, 즉, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)에 요구를 전송한다. 그후, 과정은 단계 S42 및 S43에 진행하여, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)는 각각 ID에 대한 요구를 수신한다. 그후, 과정은 단계 S44 및 S45에 진행하여, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)는 EEPROM부(50,37)로부터 식별어 ID1, ID2를 각각 판독하여 DVD 플레이어(1)에 이를 전송한다. 그후, 과정은 단계 S46, S47로 진행하여, DVD 플레이어(1)는 식별어 ID1, ID2를 각각 수신한다.
계속해서, 과정은 단계 S48에 진행하여, DVD 플레이어(1)는 개인용 컴퓨터(2)로부터 수신된 식별어 ID1과 EEPROM부(27)내에 저장된 서비스 키를 연결하여 데이터(ID∥service_key)를 형성한다. 그후, 라이센스 키 lk1은 해시 함수를 다음 식으로 나타낸 데이터 (ID∥service_key)에 적용함으로써 계산된다. 즉,
lk1=hash(ID∥service_key)
계속해서, 과정은 단계 S49로 진행하여, DVD 플레이어(1)는 광자기 디스크 장치(3)로부터 수신된 식별어 ID2와 EEPROM부(27)에 저장된 서비스 키를 연결하여 데이터 (ID2∥service_key)를 형성한다. 그후, 라이센스 키 lk2는 해시 함수를 다음 식으로 나타낸 데이터 (ID2∥service_key)에 적용하여 계산된다.
lk2=hash(ID2∥service_key)
그후, 과정은 단계 S50으로 진행하여, DVD 플레이어(1)는 소스측 공통 세션 키 sk를 생성한다. 그후, 과정은 단계 S51로 진행하여, DVD 플레이어(1)는 단계 S48에서 계산된 라이센스 키 lk1을 키로서 사용하여 단계 S50에서 생성된 소스측 공통 세션 키 sk를 암호화함으로써, 다음 식에 따라 소스측 공통 세션 키 e1을 형성한다.
e1=Enc(lk1,sk)
그후, 과정은 단계 S52로 진행하여, DVD플레이어(1)는 단계 S49에서 계산된 라이센스 키 lk2를 키로서 사용하여 단계 S50에서 생성된 소스측 공통 세션 키 sk를 암호화함으로써, 다음 식에 따라 소스측 공통 세션 키 e2를 형성한다. 즉,
e2=Enc(lk2,sk)
그후, 과정은 단계 S53으로 진행하여, 식별어 ID1, 암호화된 소스측 공통 세션 키 el, 식별어 ID2 및 암호화된 소스측 공통 세션 키 e2는 연결되어 다음 식을 형성한다.
e = ID1∥el∥ID2∥e2
계속해서, 과정은 단계S54로 진행하여, DVD 플레이어(1)는 암호화된 소스측 공동 세션 키 e를 방송 통신에 의해 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)에 전송한다. 과정은 단계 S55 및 S56으로 진행하여, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)는 암호화된 소스측 공통 세션 키 e를 수신한다. 그후, 과정은 단계S57 및 S58로 진행하여, 개인용 컴퓨터(2) 및 광자기 디스크 장치(3)는 EEPROM부(50,37)에 저장된 라이센스 키들, License Key1 및 License Key2를 키로서 사용함으로써 암호화된 소스측 공통 세션 키 e로부터 추출한 암호화된 소스측 공통 세션 키 el 및 e2를 해독하여, 다음 식에 따라 싱크측 공통 세션 키 sk1' 및 sk2'를 각각 형성한다.
sk1'=Dec(License_Key1, el)
sk2'=Dec(License_Key2, e2)
도 8은 인증 처리 과정은 구현하는 실시예를 도시한 것으로, 유효 싱크만이 시스템내의 소스에 의해 생성된 소스측 공통 세션 키 sk와 동일한 값을 갖는 싱크측 공통 세션 키 sk'를 생성할 것이며, 싱크는 다수의 서비스, 즉, 다수 종류의 서비스를 해독할 수 있게 된다. 다른 종류의 정보를 다루기 위해, 싱크로서 기능하는 개인용 컴퓨터(2)에는 License_Key1, License_Key2, License_Key3등의 EEPROM부(50)내에 저장된 다수의 라이센스 키들이 제공된다. 동일 토큰에 의해, 소스로서 기능하는 DVD 플레이어(1)는 싱크에 전송될 정보의 종류를 식별하는 다수의 서비스 ID 및, License_Key1, License_Key2, License_Key3등을 생성하는데 사용된 Service_Key1, Service_Key2, Service_Key3등의 EEPROM부(27)내에 저장된 다수의 서비스 키들에 대한 정보를 갖는다. 도 8에 도시된 과정으로 실행된 처리는 다음의 단계들을 제외하고는 도 4에 도시된 과정과 유사하다. 단계 S81에서, DVD 플레이어(1)는 싱크로서 사용된 개인용 컴퓨터(2)에 의해 서비스될 정보의 종류를 식별하는 서비스 ID및 이 ID에 대한 요구를 개인용 컴퓨터(2)에 전송한다. 그후, 단계 S85에서, 라이센스 키 lk는 개인용 컴퓨터(2)로부터 수신된 ID 및, 실크에 전송된 정보의 종류, 즉, 단계 S81에서 개인용 컴퓨터(2)에 전송된 서비스 ID에 관련된 EEPROM부(27)내의 Service_Key1, Service_Key2, Service_Key3중의 한 개에 대해 해시 함수를 적용함으로써 생성된다. 마지막으로, 단계 S90에서, 개인용 컴퓨터(2)는 단계S89에서 DVD 플레이어(1)로부터 수신한 암호화된 싱크측 공통 세션 키 e 및, 단계 S82에서 DVD 플레이어(1)로부터 수신한 서비스 ID와 관련된 EEPROM부(50)내의 License_Key1, License_Key2, License_Key3중의 한 개로부터, 싱크측 공통 세션 키 sk'를 생성한다.
도 9는 인증 처리 과정을 구현하는 또 다른 실시예를 도시하는 다이어그램으로서, 유효 싱크는 소스에 의해 생성된 소스측 공통 세션 키 sk와 동일 값을 갖는 싱크측 공통 세션 키 sk'를 생성할 수 있다. 이 경우, 소스로서 사용된 DVD플레이어(1)는 EEPROM부(27)내에 저장된 서비스 키, 해시 함수, 의사 난수 생성 함수 pRNG를 갖는다. 서비스 키, 해시 함수, 의사 난수 생성 함수 pRNG는 정보 저작권자에 의해 주어지며 비밀리에 보존된다. 한편, 싱크로서 기능하는 개인용 컴퓨터(2)에 의해 사용된 EEPROM부(50)에 저장되는 내용은, 정보의 저작권자에 의해 주어진ID(전자 장치의 제조업자에 의해 개인용 컴퓨터(2)에 지정됨), 라이센스 키들 LK 및 LK', 함수 G, 및 의사 난수 생성 함수 pRNG이다.
라이센스 키 LK는 저작권자에 의해 생성된 고유의 난수인 반면에, 라이센스 키 LK'는 다음 식을 만족시키도록 저작권자에 의해 생성된다.
LK'=G^-1(R)
여기서, R=pRNG(H) (+) pRNG(LK)
H=hash((ID∥service_key)
부호 ^는 제곱수를 나타내며, G^-1은 함수 G의 역함수를 의미한다. 역함수G^-1은 공지된 소정의 공식으로 용이하게 얻을 수 있다. 만일, 소정의 공식이 공지되지 않았다면, 역함수 G^-1의 값을 계산하는 것은 어렵다. 개시된 키에 근거한 암호화에 사용된 함수가 상기 함수로서 활용될 수 있다.
또한, 난수를 생성하는 함수 pRNG는 하드웨어에 의해 구현될 수 있다.
도 9에 도시되는 바와 같이, 과정은 단계 S101에서 시작하여, DVD 플레이어(1)내의 펌웨어(20)가 그 전송될 ID에 대한 개인용 컴퓨터(2)의 라이센스 매니저(62)에 대한 요구를 이룬다. 그후, 과정은 단계 S102로 진행하여, 개인용 컴퓨터(2)의 라이센스 매니저(62)는 ID에 대한 요구를 수신한다. 단계 S103에 진행하여,라이센스 매니저(62)는 요구에 따라 EEPROM부(50)로부터 ID를 판독하여 DVD 플레이어(1)에 ID를 전송한다. 그후, 과정은 단계 S104로 진행하여 DVD 플레이어(1)는 ID를 수신한다.
계속해서, 과정은 단계 S105로 진행하여, 펌웨어(20)는 개인용 컴퓨터(2)로부터 수신된 ID와 EEPROM부(27)에 저장된 서비스 키를 연결하여 데이터 (ID∥service_key)를 형성한다. 이때, 값 H는 다음의 식에 나타낸 대로, 해시 함수를 데이터 (ID∥service_key)에 적용함으로써 계산된다.
H=hash(ID∥service_key)
과정은 단계 S106에 진행하여, 펌웨어(20)는 소스측 공통 세션 키 sk를 생성한다. 그후, 과정은 단계 S107로 진행하여, 펌웨어(20)는 다음의 식에 따라 단계S105에서 생성된 값 H 및 단계 S106에서 생성된 소스측 공통 세션 키 sk로부터 암호화 소스측 공통 세션 키 e를 계산한다.
e=sk(+)pRNG(H)
여기서, 상기 식의 우변에 사용된 (+)은 배타적 논리합을 계산하는 연산의 연산자이며, 이로써, A(+)B는 A와 B의 배타적 논리합을 나타낸다.
즉, 단계 S107에서, 단계 S106에서 생성된 소스측 공통 세션 키 sk는 단계S105에서 생성된 값 H에 의사 난수 생성 함수 pRNG를 인가함으로써 얻어진 난수pRNG(H)의 대응 비트와, 키의 각각의 비트의 배타적 논리합을 얻음으로써, 암호화된 소스측 공통 세션 키 e를 생성하도록 암호화된다.
계속해서, 과정은 단계 S108에 진행하여, 펌웨어(20)는 단계 S107에서 생성된 암호화된 소스측 공통 세션 키 e를 개인용 컴퓨터(2)에 전송한다.
과정은 단계 S109에 진행하여, 개인용 컴퓨터(2)는 암호화된 소스측 공통 세션 키 e를 수신한다. 그후, 과정은 단계 S110에 진행하여, 라이센스 매니저(62)는 EEPROM부(50)내에 저장된 라이센스 키 LK 및 LK'를 사용하여 암호화 소스측 공통 세션 키 e를 해독함으로써, 다음의 식에 따라 싱크측 공통 세션 키 sk'를 형성한다.
sk'=e(+)G(LK')(+)pRNG(LK)
즉, 단계 S110에서, DVD플레이어(1)로부터 수신된 암호화 소스측 공통 세션 키 e는, 암호화된 소스측 공통 세션 키 e, EEPROM부(50)내에 저장된 함수 G를 EEPROM부(50)내에 저장된 라이센스 키 LK'에 인가하여 얻어진 값 G(LK'), EEPROM부(50)내에 저장된 의사 난수 생성 함수pRNG를 EEPROM부(50)내에 저장된 라이센스 키LK에 인가하여 얻어진 값 pRNG(LK)를 배타적 논리 합에 의해 싱크측 공통 세션 키sk'를 생성하도록 해독된다.
도 4에 도시된 과정과 마찬가지로, 단계 S110에서 개인용 컴퓨터(2)에 의해 생성된 싱크측 공통 세션 키 sk'는 단계 S6에서 DVD 플레이어(1)에 의해 생성된 소스측 공통 세션 키 sk와 동일한 값을 갖는다. sk=sk'는 다음식에 의해 증명된다.
sk'=e(+)G(LK')(+)pRNG(LK)
상기 식의 우변의 e에 대해 (sk(+)pRNG(H))를 대체하여 다음 식을 얻는다.
sk'=sk(+)pRNG(H)(+)G(LK')(+)pRNG(LK)
G(LK')=G(G^-1(R))=R을 이용하여, 다음 식이 얻어진다.
sk'=sk(+)pRNG(H)(+)R(+)pRNG(LK)
상기 식의 우변의 R에 대해 (pRNG(H)(+)pRNG(LK))를 대체하여, 다음 식이 얻어진다.
sk'=sk(+)pRNG(H)(+)pRNG(H)(+)pRNG(LK)(+)pRNG(LK)=sk
상술된 바와 같이, 소스 및 싱크측 공통 세션 키 sk 및 sk'는 각각 소스 및 싱크로서 기능하는 DVD 플레이어(1) 및 개인용 컴퓨터(2)에 의해 공유되는 공통 키S이다. 또한, 이전에 설명된 과정과는 달리, 정보의 저작권자만이 라이센스 키 LK, LK'를 생성할 수 있다. 이로써, 라이센스 키 LK, LK'를 불법적으로 생성하기 위해 소스에 의해 이루어진 시도는 실패로 끝난다. 결과적으로, 전송된 정보의 안전성은더욱 개선될 수 있다.
상술된 인증 과정에서, 소스는 싱크가 유효 싱크일 때만 소스에 의해 생성된 소스측 공통 세션 키 sk와 동일 값을 갖는 싱크측 공통 세션 키 sk'를 생성하도록 싱크를 허용함으로써 인증한다. 과정은 또한 불법적으로 얻어진 응용 프로그램의 실행을 방지하기 위해 개인용 컴퓨터(2)내의 응용 프로그램을 로딩하도록 일반 동작을 인증하는데 적용될 수 있다. 이 경우, 각각의 응용 프로그램의 실행이 라이센스 매니저(62)가 도 3에서처럼 응용 모듈(61)을 인증하는 상술된 과정과 동일한 과정을 통해 프로그램의 저작권자에 의해 인가된 것인지 아닌지를 판단할 필요가 있다. 보다 구체적으로, 도 3에 도시된 인증 과정에서, 라이센스 매니저(62)는 소스로서 기능하는 반면에, 응용 모듈(61)은 싱크로서 기능한다.
상술된 인증 처리가 완료된 후에, 즉, 싱크가 소스에 의해 생성된 소스측 공통 세션 키 sk와 동일 값을 갖는 싱크측 공통 세션 키 sk'를 생성한 후에, 암호화 키를 사용하여 소스에 의해 암호화된 데이터 또는 평문은 소스로부터 싱크에 전송된다. 싱크에서, 암호화된 데이터 또는 암호문은 해독 키를 사용하여 해독된다. 상술된 바와 같이, 소스 및 싱크측 공통 세션 키 sk 및 sk'는 각각 암호 및 해독 키로서 사용될 수 있거나, 또는 대안적으로, 세션 키 sk 또는 sk'로부터 생성된 난수가 대신에 암호 또는 해독 키로서 사용된다. 데이터를 암호화기 위해 소스에 의해 실행된 연산 및 암호화된 데이터를 해독하기 위해 실행된 연산은 후술된다.
그 내부 기능이 사용자에 개방되지 않는 아키텍쳐로 조립되는 DVD 플레이어(1) 및 광자기 디스크 장치(3) 등의 전자 장치에 있어서, 소스가 암호화 데이터를 싱크에 전송하는 도 10에 도시된 시스템 등에서 1394 시리얼 버스(11)를 통해 전송된 데이터를 암호화 및 해독하는 처리는 각각 DVD 플레이어(1) 및 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(26,36)에 의해 실행된다. 데이터는 세션 키S, 즉, 소스측 공통 세션 키 sk 또는 싱크측 공통 세션 키 sk'와, 시변 키 i, 엄밀하게는, 시변 키 i를 생성하기 위한 키 i'를 사용하여 암호화 및 해독된다. 세션 키 S 및 키 i'는 펌웨어(20 또는 30)에 의해 1394 인터페이스부(26 또는 36)에 각각 공급된다. 세션 키 S는 초기값으로서 사용된 초기값 키 Ss 및 시변 키 i를 교란시키기 위한 교란 키 Si로 구성된다. 초기값 키 Ss 및 교란 키 Si는 각각 앞서 설명된 싱크를 인증하는 처리에서 사용된 소스측 공통 세션 키 sk 또는 이 sk와 동일 값을 갖는 싱크측 공통 세션 키 sk'의 소정수의 상위 비트 및 소정수의 하위 비트로부터 형성된다. 세션 키 S는 각각의 영상 정보 또는 각각의 재생 동작에 대해 각각의 세션에서 적절하게 갱신된다. 한편, 세션 키 S의 교란 키 Si 및 키 i'로부터 생성되는 시변 키 i는 세션내의 다수의 시간을 갱신한다. 예를 들어, 소정의 시간으로 얻어진 시간 정보는 키 i'로서 사용될 수 있다.
소스로서 기능하는 DVD 플레이어(1)에 의해 재생 및 출력된 영상 데이터는, 1394 시리얼 버스(11)를 통해 싱크로서 사용된 개인용 컴퓨터(2) 및 광자기 디스크장치(3)에 전송되며, 그후, 싱크에 의해 해독된다. 이 경우, 데이터는 세션 키 S 및 시변 키 i(엄밀히 말하면, 키 i')를 사용하여 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)에 의해 암호화되고, 암호화 데이터는 세션 키 S 및 시변 키 i(엄밀히 말하면, 키 i')를 사용하여 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)에 의해 해독된다.
한편, 개인용 컴퓨터(2)에서, 라이센스 매니저(62)는 응용 모듈(61)에 세션 키 S의 초기값 키 Ss를, 링크부로 기능하는 1394 인터페이스부(49)에 대해 세션 키S의 교란 키 Si 및 시변 키 i(엄밀히 말하면, 시변 키 i를 생성하는 키 i')를 제공한다. 1394 인터페이스부(49)에서, 시변 키 i는 교란 키 Si 및 키 i'로부터 생성되어 암호화 데이터를 해독하는데 사용된다. 해독된 데이터는 또한 세션 키 S(엄밀히 말하면, 세션 키 S의 초기값 키 Ss)를 사용하여 응용 모듈(61)에 의해 해독된다.
상술된 바와 같이, 내부 버스(51)가 사용자에 개발되는 아키텍쳐로 설계되는 개인용 컴퓨터(2)에서, 1394 인터페이스부(49)는 암호화 데이터에 대해 제 1단계의 해독만을 실행하여, 여전히 데이터는 암호화된 상태이다. 그후, 응용 모듈(61)은 1394 인터페이스부(49)에 의해 해독된 데이터에 대해 제 2단계의 해독을 실행하여, 평문을 형성한다. 이 방식에서, 개인용 컴퓨터(2)는 내부 버스(51)에 부가된 적절한 기능을 사용하여 하드 디스크 드라이브(47)상에 장착된 또 다른 매체에 대해, 내부 버스(51)를 통해 전송된 데이터(즉, 평문)를 카피하지 못하게 금지한다.
상술된 바와 같이, 본 발명의 실시예에 따라, 내부 버스가 사용자에 개방되지 않은 아키텍쳐를 갖는 CE 장치에서, 암호화된 데이터는 세션 키 S 및 시변 키 i(엄밀히 말하면, 키 i')에 의해 한번에 해독된다. 한편, 내부 버스가 사용자에 개방되는 아키텍쳐를 갖는 개인용 컴퓨터(2)등의 CE 장치의 경우, 암호화된 데이터는 제 1 단계에서, 세션 키 S 의 교란 키 Si 및 키 i'를 사용하여 생성된 시변 키 i에의해 해독되며, 그 후, 제 2단계의 해독 단계에서, 세션 키 S의 초기값 Ss를 사용하여 해독된다. 제 1 및 제 2 단계의 해독 처리는 다음 식에 의해 표현된다.
Dec(Ss, Dec(i , Enc(algo(S+i'),Data)))=Data
여기서, 좌변의 algo(S+i')은 소정의 알고리즘을 세션 키 S 및 시변 키 i(엄밀히 말하면, 키 i')에 적용하여 생성된 값을 나타내며, 상기 식의 좌변의 Dec는 제 2단계의 해독을 나타내며, 또 다른 Dec는 제 1단계의 해독을, Enc는 소스에 의해 실행된 암호화를 나타낸다.
도 11은 상기 주어진 식에 나타난 Enc가 1394 인터페이스부(26)를 사용하는 DVD 플레이어(1)에 의해 실행된 암호화를 나타내도록 충족시키는 1394 인터페이스 부(26)의 전형적인 구조를 도시하는 블록도이다. 도 11에 도시되는 바와 같이, 상기 구조는 추가의 발생기(71), LFSR(Linear Feedback Shift Resister)(72), 수축(shrink) 발생기(73), 및 가산기(74)를 구비한다. 추가의 발생기(71)에 의해 생성된 m비트 데이터 및 LFSR 에 의해 생성된 1비트 데이터는 수축 발생기(73)에 공급된다. 수축 발생기(73)는 LFSR(72)에 의해 공급된 1비트 데이터의 값에 따라 추가의 발생기(71)로부터 수신된 m비트 데이터를 선택하여 이 선택된 m비트 데이터를 암호화 키로서 가산기(74)에 출력한다. m비트 암호화키, 수축 발생기(73)에 의해 생성된 난수는 주어진 상기 식의 키 (S+i')에 해당한다. 가산기(74)는 수축 발생기(73)로부터 수신된 m비트 암호화키를 입력된 평문, 즉, 1394 시리얼 버스(11)에 전송될 m비트 데이터에 가산하여, 암호문 또는 암호화된 데이터를 형성한다.
가산기(74)에 의해 실행된 가산은 mod 2^m(^은 제곱수를 의미함) 처리하며, 수축 발생기(73)에 의해 생성된 암호화키를 평문에 가산하는 것을 의미한다. 환언하면, 처리는 m비트 키를 이월이 무시된 m비트 데이터에 가산한다.
도 12는 도 11에 도시된 1394 인터페이스부(26)의 상세한 구조를 도시하는 블록도이다. 도 12에서, 펌웨어(20)로부터 수신된 세션 키 S의 초기값 키 Ss는 가산기(81)를 통해 레지스터(82)내에 보유되도록 제공된다. 전형적으로, 초기값 키 Ss는 범위 8 내지 32 비트 내의 길이를 각각 갖는 55 단어들로 구성된다. 한편, 세션 키 S의 교란 키 Si는 레지스터(85)내에 보유된다. 전형적으로, 교란 키 Si는 세션 키 S의 하위 32 비트이다.
키 i'는 32비트 레지스터(84)에 보유된다. 키 i'는 비트들의 누산 처리로 생성된다. 상세하게 설명하면, 패킷이 1394 시리얼 버스(11)를 통해 전송될 때마다,키 i'를 형성하기 위한 2 비트들이 레지스터(84)에 공급된다. 32비트 키 i'는 16패킷이 전송될 때 그 생성이 완료된다. 그때, 32 비트 키 i'는 가산기(86)에 의해 레지스터(85)내에 저장된 교란 키 Si에 가산되어, 가산기(81)에 공급된 시변 키 i를 최종적으로 생성한다. 가산기(81)는 가산기(86)에 의해 출력된 시변 키 i를 레지스터(82)내에 저장된 초기값 키 Ss에 가산하여, 그 가산 결과를 레지스터(82)에 저장한다.
레지스터(82) 내의 단어당 비트 수는 8로 한다. 이 경우, 가산기(86)에 의해 출력된 시변 키 i가 32비트 폭이므로, 시변 키 i는 8비트로 구성된 4개 부분으로 분할된다. 4개의 각 부분은 소정의 어드레스, 즉, 어드레스 0 내지 54중의 하나에서 레지스터(82)내의 단어에 가산된다.
상술된 바와 같이, 초기값 Ss는 레지스터(82)에 초기에 저장된다. 암호문의 16 패킷이 전송될 때마다, 초기값 Ss는 시변 키 i를 가산함으로써 갱신된다.
가산기(83)는 레지스터(82)의 55 단어들 중 소정의 2 단어를 선택하여 그 선택된 2 단어를 상호 가산한다. 도 12에 도시된 타이밍에 있어, 어드레스 23 및 54에서의 단어는 가산기(83)에 의해 선택된다. 가산기(83)는 가산 결과를 수축 발생기(73) 및 레지스터(82)내의 한 단어에 공급한다. 도 12에 도시된 타이밍에서, 가산기(83)는 어드레스 0에서의 레지스터(82)의 단어에 그 가산 결과를 공급하여, 그 단어 내에 현재 저장된 데이터를 대체한다.
다음 타이밍에서, 가산기(83)에 의해 선택된 2 단어는 어드레스 54 및 23으로부터 어드레스 53 및 22로 변경되며, 도면에 도시된 방향으로 1 단어단위로 이동된다. 동일 토큰에 의해, 가산기(83)에 의해 출력된 가산 결과의 지정은 상향 이동된다. 어드레스 0 이상에는 단어가 없으므로, 어드레스 0에서의 단어로부터 레지스터(82)의 바닥인 어드레스 54에서의 단어로 지정이 변화된다.
각각의 가산기(81, 83,86)에서, 배타적 논리 합을 계산하는 처리는 대신 실행될 수 있다.
도 13은 LFSR(72)의 전형적인 구조를 도시하는 블록도이다. 도 13에 도시되는 바와 같이, LFSR(72)는 n비트들 중에 소정수의 비트들의 값들을 합산하기 위해 n 비트 시프트 레지스터(101) 및 가산기(102)를 구비한다. 가산기(102)에 의한 가산 결과 비트는 n비트 시프트 레지스터(101)의 가장 왼쪽 비트 bn에 저장된다. 동시에, 비트 bn의 이전의 값은 비트 bn의 오른쪽으로 비트 bn-1에 시프트된다. 동일 토큰에 의해, 오른쪽으로의 비트 시프팅은 이전의 비트 값 bn-1, bn-2, ...,에 인가되며, 도 13에 도시된 가장 오른쪽 비트 b1의 이전의 값이 출력된다. 다음 타이밍에서, 가산기(102)에 의한 가산의 결과로부터의 비트는 n비트 시프트 레지스터(101)의 가장 왼쪽 비트 bn에 다시 저장되며, 동시에, 비트 bn의 이전의 값은 다시 비트 bn의 오른쪽 비트 bn-1에 시프트된다. 동일 토큰에 의해, 오른쪽으로의 비트 이동은 다시 비트 bn-1, bn-2, ...,의 이전의 값에 인가되며, 가장 오른쪽 비트 b1의 이전의 값이 다시 출력된다. 이 동작은 반복적으로 실행되며, 가장 오른쪽 비트 bl로부터 1 비트씩 순차적으로 출력한다.
도 13 은 LFSR(72)의 전형적인 구성을 도시하는 블록도이다. 한편, 도 14는 보다 구체적으로 LFSR(72)의 전형적인 구조를 도시하는 도면이다. 도 14에 도시된 구조에서, 시프트 레지스터(101)는 31비트로 구성된다. 가산기(102)는 가장 오른쪽비트 b1의 값에 가장 왼쪽 비트 b31의 값을 가산하고 시프트 레지스터(101)의 가장 왼쪽 비트(31)내에 가산 결과를 저장하는데 사용된다.
도 12에 도시되는 바와 같이, 수축 레지스터(73)는 조건 판정부(91) 및 FIFO부(92)로 구성된다. 조건 판정부(91)는 LFSR(72)이 논리 값 "1"을 갖는 비트를 출력할 때, 추가의 발생기(71)내에 사용된 가산기(83)에 의해 제공된 m 비트 데이터를 FIFO 부(92)내에 전달하여 그 내부에 저장되도록 한다. 한편, LFSR(72)가 논리값 "0"을 갖는 비트를 출력할 때, 조건 판정부(91)는 추가의 발생기(71)내에 사용된 가산기(83)에 의해 공급된 m비트 데이터를 FIFO부(92)에 전달하지 않고 암호화처리를 중단한다. 상기 방식에서, 수축 발생기(73)내에 사용된 조건 판정부(91)는 LFSR(72)이 논리값 "1"을 갖는 비트를 출력하는 동안에 추가의 발생기(71)에 의해 각각 생성된 m비트 데이터만을 선택하고 발생기(73)의 FIFO부(92)내에 그 선택된 m비트 데이터를 저장한다.
FIFO부(92)내에 저장된 각각의 m비트 데이터는, 싱크에 전송될 평문을 나타내는 데이터, 즉, 소스내의 DVD로부터 재생된 데이터에 암호화키를 가산함으로써 암호문을 생성하기 위해, 암호화 키로서 가산기(74)에 공급된다.
암호화된 데이터는 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)로부터 광자기 디스크 장치(3) 및 개인용 컴퓨터(2)에 전송된다.
도 15는 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)로부터 수신된 암호화 데이터를 해독하는 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)의 구조를 도시한 다이어그램이다. 도 15에서, 도 11에 도시된 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)와 마찬가지로, 구조는 추가의 발생기(171), LFSR(172), 수축 발생기(173), 및 감산기(174)로 구성된다. 추가의 발생기(171)에의해 생성된 m비트 데이터 및 LFSR(172)에 의해 생성된 1 비트 데이터는 수축 발생기(173)에 공급된다. 수축 발생기(173)는 LFSR(172)에 의해 공급된 1 비트 데이터의 값에 따라 추가의 발생기(171)로부터 수신된 m비트 데이터를 선택하여 이 선택된 m비트 데이터를 암호화 키로서 감산기(174)에 출력한다. 감산기(174)는 암호문,즉, 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)로부터 수신된 m비트 데이터로부터, 수축 발생기(173)로부터 수신된 m비트 해독 키를 감산하여, 암호문을 평문으로 해독한다.
도 15에서 도시된 DVD 플레이어(1)내에 사용된 1394 인터페이스부(36)의 구조는, 감산기(174)가 가산기(74)대신에 사용된다는 점 외에는 도 11에 도시된 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(26)와 기본적으로 동일하다.
도 16은 도 15에 도시된 1394 인터페이스부(36)의 세부적 구조를 간단한 방식으로 도시한 다이어그램이다. 도 16에 도시된 DVD 플레이어(1)내에 사용된 1394 인터페이스부(36)의 구조는 감산기(174)가 가산기(74)대신에 사용된다는 점 외에는 도 12에 도시된 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(26)의 것과 기본적으로 동일하다. 도 16에 도시된 광자기 디스크 장치(3)의 1394 인터페이스부(36)에 사용된 추가의 발생기(171), LFSR(172), 수축 발생기(173), 가산기(181), 레지스터(182), 가산기(183), 레지스터(184), 레지스터(185), 가산기(186), 조건 판정부(191), FIFO부(192)는 도 12에 도시된 DVD 플레이어(1)의 394인터페이스부(26)내에 사용된 추가의 발생기(71), LFSR(72), 수축 발생기(73), 가산기(81), 레지스터(82), 가산기(83), 레지스터(84), 레지스터(85), 가산기(86), 조건 판정부(91), FIFO부(92)에 각각 대응한다.
이와 같이, 도 16에 도시된 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)의 동작이 도 12에 도시된 DVD 플레이어(1)내에 사용된 394 인터페이스 부(26)의 것과 동일하므로, 그 설명은 생략한다. 그러나, 전자에서, 감산기(174)가 수축 발생기(173)내에 사용된 FIFO부(192)로부터 수신된 m비트 해독 키를, 암호문,즉, 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)로부터 수신된 m비트 데이터로부터 감산하여, 암호문을 평문으로 해독한다는 점에서 후자와 다르다.
광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)에서, 암호화 데이터는, 초기값 키 Ss 및 교란 키 Si로 구성되는 세션 키 S 및, 시변 키 i(엄밀히 말하면, 키 i')를 사용하여 한번에 해독된다.
개인용 컴퓨터(2)의 경우, 암호화 데이터는 제 1단계의 해독에서 세션 키 S 의 교란 키 Si 및 키 i'에 의해 생성된 시변 키 i를 사용하여 1394 인터페이스부(49)에 의해 해독되고 제 2단계의 해독에서 세션 키 S의 초기값 키 Ss를 사용하여 응용부(61)에 의해 해독된다.
도 17은 하드웨어에 의해 1394 시리얼 버스(11)를 경유하여 DVD 플레이어(1)로부터 수신된 암호문 또는 암호 데이터를 해독하기 위해 개인용 컴퓨터(2)에서 사용된 1394 인터페이스부(49)의 전형적인 구조를 도시한 다이어그램이다. 도 17에 있어서, 도 15에 도시된 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)및 도 11에 도시된 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26)와 마찬가지로, 구조는 도 15에 도시된 추가의 발생기(171), LFSR(172), 수축 발생기(173), 감산기(174)에 각각 대응하는 추가의 발생기(271), LFSR(272), 수축 발생기(273), 감산기(274)로 구성된다. 라이센스 매니저(62)로부터의, 시변 키 i를 생성하기 위한 키 i' 및 도 17에 도시된 1394 인터페이스부(49)에 대해 입력된 시변 키 i를 교란하기 위한 세션 키 S의 교란 키 Si는, 펌웨어(30)로부터의, 도 15에 도시된 키 i'및 1394 인터페이스부(36)에 대해 입력된 교란 키 Si와 동일하다. 그러나, 도 17에도시된 1394 인터페이스부(49)에 대해 입력된 세션 키 S의 초기값 Ss의 모든 비트는 0에 리셋된다.
도 18은 도 17에 도시된 1394 인터페이스부(49)의 세부적 구조를 간단한 방식으로 도시한 다이어그램이다. 도 18에 도시된 개인용 컴퓨터(2)에서 사용된 1394인터페이스부(49)의 구조는, 도 18에 도시된 1394 인터페이스부(49)의 경우에, 도17에 도시된 1394 인터페이스부(49)에 대해 입력된 세션 키 S의 초기값 Ss의 모든 비트들이 0에 리셋되므로, 본질적으로, 해독 키는 초기값 키 Ss가 사용가능하지 않은 것처럼, 키 i'로부터 생성된 시변 키 i 및 교란 키 Si로부터만 생성되는 것 외에는, 도 12에 도시된 DVD 플레이어(1)내에 사용된 1394 인터페이스부(26) 및 도 16에 도시된 광자기 디스크 장치(3)내에 사용된 1394 인터페이스부(36)의 것과 기본적으로 동일하다는 것이 명료하다. 결과적으로, 감산기(274)에서, 암호화 데이터 또는 암호문은 시변 키 i만을 사용하여 해독된다. 초기값 키 Ss가 해독시에 아직 사용되지 않았으므로, 완전한 평문은 해독 결과로서 아직 얻어지지 않았다. 즉, 해독의 결과는 여전히 암호화된 상태이다. 이로써, 해독으로 생겨난 데이터는 그 데이터가 내부 버스(51)로부터 하드 디스크 드라이브(47)상에 장착된 하드 디스크 또는 또 다른 기록 매체에 카피되는 것처럼 사용될 수가 없다.
이어서, 시변 키 i를 사용함으로써 1394 인터페이스부(49) 내의 하드웨어에의해 해독된 데이터 혹은 텍스트는 응용 모듈(61) 내의 소프트웨어에 의해서 더 해독된다. 도 19는 응용 모듈(61)의 전형적인 구성을 보인 도면이다. 기본적으로도 11에 도시한 DVD 플레이어(1)에 사용된 인터페이스부(26), 도 15에 도시한 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36), 및 도 17에 도시한 개인용 컴퓨터(2)에 사용된 1394 인터페이스부(49)와 유사하게, 도 19에 도시한 응용 모듈(61)은 추가 발생기(61), LFSR(선형 귀환 시프트 레지스터; 372), 추가 발생기(171)와 동일한 구성의 수축 발생기(373) 및 감산기(374), LFSR(선형 귀환 시프트 레지스터; 172), 각각 도 15에 도시한 수축 발생기(173) 및 감산기(174)를 포함한다.
그러나, 세션 키(S)의 초기값 키(Ss)가 도 11에 도시한 DVD 플레이어(1)에 사용된 1394 인터페이스부(26) 및 도 15에 도시한 광자기 디스크 장치(3)에 사용된1394 인터페이스부(36)의 경우와 같이 응용 모듈(61)에 공급되는 반면, 시변 키(i)및 키(i')를 교란(deranging)하기 위한 세션키(S)의 교란키(Si)는 모든 비트가 0으로 리셋될 각각의 단위 원소임에 유념한다.
도 20은 도 19에 도시된 응용 모듈(61)의 상세한 구성을 간단하고 분명하게 도시한 도면이다. 응용 모듈(61)의 구성 역시 기본적으로 도 12에 도시한 DVD 플레이어(1)에 사용된 인터페이스부(26), 도 16에 도시한 광자기 디스크 장치(3)에 사용된 1394 인퍼페이스부(36), 및 도 18에 도시한 개인용 컴퓨터(2)에 사용된 1394 인터페이스부(49)와 동일하다. 추가 발생기(371)에서 사용된 가산기(381)부터 수축 발생기(373)에 사용된 FIFO부(392)까지, 도 20에 상세히 도시한 응용 모듈(61)에 사용된 구성요소들은 추가 발생기(171)에 사용된 가산기(181)부터 수축 발생기(173)에 사용된 FIFO부(192)까지 도 16에서 도시한 1394 인터페이스부(36)에 사용된 구성요소에 각각 대응한다. 그러나, 레지스터(384) 내의 키(i') 및 레지스터(385)내의 교란키(Si)의 모든 비트는 0이기 때문에, 가산기(386)에 의해서 생성된 시변 키(i)의 비트는 모두 0이다. 결국, 근본적으로 응용 모듈(61)은 시변키(i)가 없는 것처럼 동작한다. 즉, 해독키의 생성은 초기값 키(Ss)에만 의존한다. 이때, 감산기(374)는 암호화된 데이터를 해독하거나, 이러한 방식으로 생성된 해독키를 사용함으로써, 평문을 출력한다. 상기 기술된 바와 같이, 암호화된 데이터는 소위 제1 해독 단계에서 키(i') 및 교란키(Si)로부터 생성된 시변 키(i)에 기초하여 1394 인터페이스부(49)에 의해 수행된 해독 결과이다. 한편, 초기값 키(Ss)에 기초하여 응용 모듈(61)에 의해 수행된 해독은 최종의 완전한 평문을 생성하기 위한 제2 해독 단계라 한다.
상기 기술된 암호문의 해독이 광자기 디스크(3)에서 완료된 때, CPU(31)는 해독 데이터를 광자기 디스크에 데이터를 기록하기 위한 드라이브(35)에 공급한다.
한편, 개인용 컴퓨터(2)에서, CPU(41)는 1394 인터페이스부(49)에 의해 수행된 제1 해독 단계 결과에 따른 해독 데이터를 내부 버스(51)를 경유하여 데이터를 기록하기 위해 통상 하드 디스크 드라이브(47)에 공급한다. 개인용 컴퓨터(20)에서 앞에서 설명한 바와 같이 내부 버스(51)를 통해 전송된 데이터를 모니터하기 위한 확장 보드(48)로서 소정의 보드가 입력/출력 인터페이스부(44)에 접속될 수 있음에 유념해야 한다. 그럼에도 불구하고, 내부 버스(51)를 통해 전송된 데이터를 최종으로 해독할 수 있는 것은 응용 모듈(61)뿐이다. 따라서, 시변 키(i)에 기초하여 1394 인터페이스부(49)에 의해서 해독의 결과로 나온 암호 데이터를 확장 보드(48)가 모니터할 수 있어도, 암호 데이터는 데이터가 세션 키(S)의 초기값 키(Ss)를 사용함으로써 응용 모듈(61)에 의해 해독되지 않았기 때문에 완전히 평문이아니다. 결국, 응용 모듈(61)에 의해 수행된 최종 해독하여 나온 완전한 평문이 내부 버스(51)를 통해 결코 전송되지 않는다면 완전한 평문이 불법으로 복제되는 것을 방지할 수 있다.
통상, 디피-헬만(Diffie-Hellman) 기술을 채택함으로써 세션키(S)를 소스 및 싱크가 공유하게 할 수 있다.
1394 인터페이스부(49) 혹은 개인용 컴퓨터(20)에 사용된 응용 모듈(61)은 비교적 처리능력이 낮아 데이터 해독을 행할 수 없음을 주의한다. 이러한 문제에 대처하기 위해서, 세션키(S)의 초기값 키(Ss)나 시변 키(i), 혹은 이들 모두는 단위 원소로서 소스에서 생성될 수 있다. 동일 토큰(token)에 의해서, 싱크 내의 단위 원소로서의 키들 중 어느 하나 혹은 이들 키를 사용함으로써, 데이터는 세션키(S)의 초기값 키(Ss) 및 시변키(i)를 사용함이 없이 소스에서 싱크로 가상으로 전송될 수 있다. 그러나, 이러한 방식으로는 데이터가 불법으로 복제되는 가능성 범위 내에 있게 된다.
응용 모듈(61) 자체가 불법 복제인 경우, 응용 모듈(61)에 의해서 수행된 해독 결과로 나온 평문 또한 불법으로 복제될 우려가 많다. 이 문제를 해결하기 위해서, 라이센스 매니저(62)는 앞에서 설명한 바와 같이 해독에 앞서 응용 모듈(61)의 진위를 입증할 수도 있다.
응용 모듈(61)의 진위를 입증하기 위한 방법으로서, 앞에서 설명한 공통 세션 키 암호/해독 기술에 더하여, 알려진 암호 키 암호 방법에 기초한 디지털 기호(signature)를 채택할 수 있다.
도 11, 12 및 15에 도시한 구성은 준동형(homomorphism) 관계를 만족시킨다. 즉, 키(K1 및 K2)가 갈로아 필드(Galois field; G)의 원소이면 두 개의 원소의 그룹처리 결과 K1· K2 역시 갈로아 필드(G)의 원소이다. 더욱이, 소정의 함수(H)에 관하여 다음의 식이 성립한다.
H(K1· K2) = H(K1)· H(K2)
도 21은 DVD 플레이어(1)에 사용된 1394 인터페이스부(26)의 또 다른 전형적인 상세한 구성을 도시한 도면이다. 도면에 도시한 바와 같이, 세션키(S)의 초기값 키(Ss)는 LFSR(501 내지 503)에 공급되어 이에 초기값으로서 설정된다. LFSR(501 내지 503)의 폭은 20비트 크기인 n1 내지 n3 비트이다. LFSR(501 내지503)은 이들의 폭 n1 내지 n3 이 서로 함께 하여 원소를 이루도록 설계된다. 즉, 예를 들면, 세션 키(S)의 초기값 키(Ss)의 상위 n1비트, 중위 n2비트 및 하위 n3비트는 초기값으로서 LFSR(501, 502, 503)에 각각 설정된다.
논리값 1의 인에이블 신호가 클록 기능부(506)로부터 LFSR(501 내지 503)에 공급된 때, LFSR(501 내지 503)은 각각 이의 내용을 m 비트만큼 시프트하여 m비트데이터를 출력한다. m값은 통상 8, 16, 32 혹은 40으로 설정될 수 있다.
LFSR(501)에 의해 출력된 데이터는 가산기(504)에 의해서, LFSR(502)에 의해출력된 데이터에 가산된다. 가산기(504)에 의해 수행된 가산 결과에 따른 캐리는 클록 기능부(506)에 공급되며, 가산 결과는 가산기(505)에 의해서, LFSR(503)에 의해 출력된 데이터에 가산된다. 가산기(504)에 의해 수행된 가산 결과에 따른 캐리는 클록 기능부(506)에 또한 공급되고 가산 결과는 배타적 논리합 계산 회로(508)에 공급된다.
가산기(504 및 506)에 의해 공급된 캐리들은 클록 기능부(506)에서 조합되어00, 01, 10 혹은 11이 된다. 클록 기능부(506)는 000 내지 111 조합 중 하나를 나타내는 데이터를 가산기(504 및 505)로부터 받은 캐리들의 조합에 따라 LFSR(501 내지 503)으로 출력한다. 상기 기술한 바와 같이, 논리값 1의 인에이블 신호가 클록 기능부(506)로부터 LFSR(501 내지 503)으로 공급된 때, LFSR(501 내지 503)은 이의 내용을 각각 m비트만큼 시프트하여 새로운 m비트 데이터를 출력한다. 반면,논리값 0의 인에이블 신호가 클록 기능부(506)로부터 LFSR(501 내지 503)으로 공급된 때, LFSR(501 내지 503)은 이의 내용을 시프트하지 않고 전에 우측으로 출력된 데이터와 동일한 m비트 데이터를 출력한다.
배타적 논리합 계산 회로(508)는 가산기(505)에 의해 수행된 가산 결과 및 레지스터(507)에 저장된 시변 키(i)을 받아, 이들 입력들의 배타적 논리합을 계산한다. 배타적 논리합 계산 회로(509)는 배타적 논리합 계산 회로(508)에 의해 출력된 배타적 논리합과 입력된 평문의 또 다른 배타적 논리합을 계산하여, 암호문으로서 다른 배타적 논리합을 출력한다.
도 22는 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)의 또 다른 전형적인 상세한 구성을 도시한 도면이다. 도면에 도시한 바와 같이, LFSR(601)부터 배타적 논리합 계산 회로(609)까지 1394 인터페이스부(36)에 사용된 모든 구성요소는 LFSR(501)부터 배타적 논리합 계산 회로(509)까지 도 21에 도시한 1394 인터페이스부(26)에 사용된 대응하는 구성요소와 동일 구성을 갖는다. 따라서, 이들의 동작은 기본적으로 동일하기 때문에, 이들 동작의 설명은 반복하지 않는다. 도22에 도시된 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)와 도 21에 도시된 DVD 플레이어(1)에 사용된 1394 인터페이스부(26)간 차이는 후자에 사용된 배타적 논리합 계산 회로(509)가 평문을 암호화하고, 전자에 사용된 배타적 논리합 계산 회로(609)가 암호문을 해독한다는 것이다.
도 23은 개인용 컴퓨터(2)에 사용된 1394 인터페이스부(49)의 또 다른 전형적인 상세한 구성을 도시한 도면이다. 도면에 도시한 바와 같이, LFSR(701)부터 배타적 논리합 계산 회로(709)까지 1394 인터페이스부(49)에 사용된 모든 구성요소는 LFSR(601)부터 배타적 논리합 계산 회로(609)까지 도 22에 도시한 1394 인터페이스부(36)에 사용된 대응하는 구성요소와 동일 구성을 갖는다. 도 22에 도시된 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)와 도 23에 도시된 개인용 컴퓨터(2)에 사용된 1394 인터페이스부(49)간 차이는 후자에 사용된 LFSR(701 내지703)에 공급된 세션키(S)의 초기값 키(Ss)는 모든 비트가 0으로 재설정될 단위 원소라는 것이다. 따라서, 도 23에 도시한 개인용 컴퓨터(2)에 사용된 1394 인터페이스부(49)의 경우, 암호문의 해독은 근본적으로 키(i') 및 세션 키(S)의 교란키(Si)로부터 생성된 레지스터(707) 내의 시변키(i)에만 의존한다.
도 24는 개인용 컴퓨터(2)에 사용된 응용 모듈(61)의 또 다른 전형적인 상세한 구성을 도시한 도면이다. 도면에 도시한 바와 같이, LFSR(801)부터 배타적 논리합 계산 회로(809)까지 응용 모듈(61)에 사용된 모든 구성요소는 LFSR(601)부터 배타적 논리합 계산 회로(609)까지 도 22에 도시한 1394 인터페이스부(36)에 사용된 대응하는 구성요소와 동일 구성을 갖는다. 도 22에 도시된 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)와 도 24에 도시된 개인용 컴퓨터(2)에 사용된 응용 모듈(61)간 차이는 후자에 사용된 레지스터(807)에 공급된 시변키(i)는 모든 비트가 0으로 재설정될 단위 원소라는 것이다. 따라서, 도 24에 도시한 개인용 컴퓨터(2)에 사용된 응용 모듈(61)의 경우, 암호문의 해독은 근본적으로 세션 키(S)의 초기값 키(Ss)에만 의존한다.
도 19, 20 및 24에 도시한 구성 각각에서 해독 처리는 통상 소프트웨어에 의해 실현되는 응용 모듈(61)에 의해서 수행되는 것에 유념한다.
한편, 라이센스 키는 이를 혹시 어떤 이유로 도용될 경우 필요하다면 변경되거나 갱신될 수 있다. 라이센스 키는 도용될 가능성 범위 내에 있게 된다면 라이센스 키가 도용되지 않았어도 소정 시간에 한번 변경될 수 있음은 말할 나위도 없다. 이 경우,유효기간을 나타내는 라이센스 키 버전이 DVD에 기록된다. 본 실시예의 경우, 라이센스 키의 유효기간은 라이센스 키를 생성하기 위해서 해시(hash)함수가 적용될 횟수로 나타내어진다. DVD 플레이어로부터 재생되는 정보 대신에 인공위성을 통해 전송된 정보를 수신하기 위한 정보 수신 장치가 동작되는 대상물인 경우, 유효한 버전의 정보만이 인공위성을 경유하여 정보 수신 장치로 전송된다.
도 25 및 26은 갱신된 라이센스 키를 사용하여 DVD 플레이어(1)에서 소스측공통 세션 키(sk)와 개인용 컴퓨터(2)에서 싱크측 공통 세션키(sk')를 생성하기 위한 과정을 구현하는 실시예를 보인 도면이다. 여러 가지 정보는 도 4에 도시한 실시예의 DVD 플레이어(1)에 사용된 EEPROM부(27) 및 개인용 컴퓨터(2)에 사용된 EEPROM부(50)에 저장된다는 사실에 더하여, 해시 함수는 EEPROM부(26) 뿐만이 아니라, 본 실시예의 경우 EEPROM부(50)에 저장되는 것에 유념한다.
도 25에 도시한 바와 같이, 과정은 소스로 작용하는 DVD플레이어(1)가 ID에대한 싱크로서 작용하는 개인용 컴퓨터(20)에 요청하는 단계 S151부터 시작한다. 이어서, 과정은 개인용 컴퓨터(2)가 ID에 대한 요청을 수신하는 단계 S152로 진행한다. 과정은 이어서 개인용 컴퓨터(2)가 DVD 플레이어(1)로 ID를 전송하는 단계S153으로 진행한다. 이어서, 과정은 DVD 플레이어(1)가 ID를 수신하는 단계 S154로 계속된다.
계속해서, 과정은 DVD 플레이어(1)가 EEPROM부(27)에 저장된 서비스키와 함께 개인용 컴퓨터(2)로부터 수신된 ID를 연관시켜 data(ID∥service_key)를 형성하도록 하는 단계 S155로 진행한다. 이어서, 라이센스 키(1k)는 다음 식에 보인 바와 같이 data(ID∥service_key)에 해시 함수를 적용함으로써 계산된다.
1k = hash(ID∥service_key)
상기 기술된 단계 S151 내지 S155에서 수행된 처리들은 도 4에 도시한 과정의 단계 S1 내지 S5에서 수행된 바와 동일하다.
이어서 과정은 단계 S156으로 진행하여, 여기서 DVD 플레이어(1)는 단계 S155에서 생성된 라이센스 키(1k)가 유효 버전을 갖고 있는지 여부, 즉 라이센스 키(1k)가 DVD에 기록된 소정값과 동일한 횟수로 해시 함수를 적용함으로써 생성되었는지 여부에 대해 판단한다. 상기 기술한 바와 같이, 라이센스 키(1k)의 현재의 유효 버전은 라이센스 키(1k)를 생성하기 위해서 해시 함수가 적용될 횟수를 나타내는 소정값으로서 기록된다. DVD에 기록된 소정값이 1보다 크다고 가정한다. 단계 S151에서 라이센스 키(1k)를 생성하기 위해서 해시 함수가 적용된 횟수는 1이기 때문에, 라이센스 키(1k)는 무효한 것으로 판단된다. 이 경우 과정은 단계 S157로 진행하여, 여기서 DVD 플레이어(1)는 라이센스 키(1k)를 생성하기 위해서 해시 함수가 적용된 횟수를 표시하는 변수 g를 1로 초기화하여, 생성된 라이센스 키(1k)를 변수 1kg에 저장한다. 이어서, 과정은 단계 S158로 계속되어, 여기서 해시 함수는 다음의 식에 따라 새로운 라이센스 키(1kg+1)를 발견하기 위해서 변수(1kg)의 내용에 적용된다.
1kg+1 = hash(1kg)
계속해서, 과정은 단계 S159로 진행하여, 여기서 단계 S158에서 생성된 라이센스 키(1kg+1)가 유효한 버전인지 여부를 판단한다. 라이센스 키(1kg+1)가 유효한 버전을 갖지 않는다면, 즉, 변수 g가 본 실시예의 경우 소정값에 이르지 않은 경우, 과정은 단계 S160으로 진행하여 여기서 DVD 플레이어(1)는 변수 g의 값을 1만큼 증가시켜 변수 1kg에 1kg+1를 저장한다.
단계 S158 및 S159는 변수(g)의 값, 즉 라이센스 키를 생성하기 위해 해시 함수가 적용되었던 횟수가 라이센스 키로서 DVD에 기록된 소정값에 도달할 때까지 반복하여 수행된다.
라이센스 키를 생성하기 위해 해시 함수가 적용되었던 횟수의 상한으로 작용하는 소정값은 통상 100으로 설정됨에 유념한다.
단계 S159에서 행해진 판단 결과, 라이센스 키를 생성하기 위해 해시 함수가 적용되었던 횟수가 라이센스 키의 버전으로서 DVD에 기록된 소정값에 도달하였음을 나타내면, 즉 판단결과, 유효한 라이센스 키(1kg+1)가 단계 S158에서 얻어졌음을 나타내거나, 단계 S156에서 행해진 판단의 결과, 단계 S155에서 생성된 라이센스 키(1k)가 유효한 경우, 즉 라이센스 키를 생성하기 위해서 해시 함수가 적용될 횟수가 1이면, 과정은 단계 S161로 가서, 여기서 DVD 플레이어(1)는 앞에서 설명한 도 4의 과정과 동일하게 소스측 공통 세션 키(sk)를 생성한다.
이어서, 과정은 단계 S162로 계속되어 여기서 DVD 플레이어(1)는 키로서 단계 S155 흑은 S158에서 계산된 라이센스 키(1kg)를 사용하여 단계 S161에서 생성된 소스측 공통 세션 키(sk)를 암호화하여 다음 식에 따라 상기 암호화된 소스측 공통 세션키(e)를 생성한다.
e = Enc(1kg, sk)
계속해서, 과정은 단계 S163으로 가서, 여기서 DVD 플레이어(1)는 라이센스 키를 생성하기 위해서 해시 함수가 적용된 횟수를 나타내는 변수(g)의 값에 따라 단계 S162에서 생성된 암호화된 소스측 공통 세션 키(e)를 개인용 컴퓨터(2)로 전송한다. 이어서 과정은 단계 S164로 진행하여 여기서 개인용 컴퓨터(2)는 암호화 된 소스측 공통 세션키(e) 및 변수(g)의 값을 수신한다. 이어서, 과정은 단계 S165로 가서, 여기서 개인용 컴퓨터(2)는 라이센스 키를 생성하기 위해서 해시 함수가 적용된 횟수를 나타내는 변수(w)를 1로 초기화한다. 이어서 과정은 단계 S166으로 가서, 여기서 단계 S164에서 수신된 변수(g)의 값이 단계 S165에서 설정된 변수(w)의 값과 동일한지 여부를 판단한다. 이들이 서로 같지 않다면, 과정은 단계 S167로 가서, 여기서 개인용 컴퓨터(2)에 사용된 EEPROM부(50)에 저장된 해시 함수를 EEPROM부(50)에 또한 저장된 라이센스 키인 lincece_keyw에 적용하여 다음 식에 따라 새로운 라이센스 키인 licence_keyw+1를 생성한다.
1icence_keyw+1 = hash(1icence_keyw)
이어서, 과정은 단계 S168로 계속되어, 여기서 개인용 컴퓨터(2)는 변수(w)를 1만큼 증가시키고 licence_keyw를 licence_keyw+1로 대치한다. 이어서 과정은 단계 S166으로 복귀하여, 변수(g)의 값이 변수(w) 값과 동일한지 여부를 다시 판단한다. 단계 S166 내지 S168은 라이센스 키를 생성하기 위해서 해시 함수가 적용된 횟수를 나타내는 변수(w)의 값이 변수(g) 값과 동일할 때까지 반복하여 수행된다.
단계 S166에서 판단결과, 변수(w)의 값이 변수(g) 값과 동일하다면, 즉 현재유효한 licence_keyw가 얻어졌다면, 과정은 단계 S169로 가서 여기서 개인용 컴퓨터(2)는 암호화된 소스측 공통 세션 키(e)를 해독하여 다음식에 따라 싱크측 공통 세션키(sk')를 생성한다.
sk'= Dec(licence_keyw, e)
상기 기술된 라이센스 키를 생성하기 위해서 해시 함수 적용을 적절하게 반복함으로써, 정보 보안이 더욱 향상될 수 있다.
도 25 및 26에 도시한 과정에 따라, 라이센스 키의 버전을 나타내는 변수(g)의 값은 소스에 의해서 싱크로 전송된다. 그러나, 라인센스 키를 생성하기 위해서해시 함수의 적용은 도 25에 도시한 과정을 구현하는 실시예의 경우와 같이 버전을 전송할 필요없이 필요한 만큼의 횟수로 반복될 수 있고 도 26 대신 도 27로 계속될 수 있음에 유념해야 한다.
즉, 이 실시예의 경우, 단계 S163에서, 암호화된 소스측 공통 세션 키(e)만이 DVD 플레이어(1)에 의해서 개인용 컴퓨터(2)로 전송된다. 이때, 라이센스 키의 버전을 나타내는 변수(g)의 값은 전송되지 않는다. 이어서 과정은 단계 S164로 진행하여, 여기서 개인용 컴퓨터(2)는 암호화된 소스측 공통 세션 키(e)를 수신한다.이어서, 과정은 단계 S165로 가서, 여기서 개인용 컴퓨터(2)는 암호화된 소스측 공통 세션 키(e)를 해독하여 다음의 식에 따라 EEPROM부(50)에 저장된 licence_key를 사용해 싱크측 공통 세션 키(sk')를 생성한다.
sk'= Dec(licence_key, e)
한편, 단계 S166에서, DVD 플레이어(1)는 다른 키들 중, 단계 S161에서 생성된 소스측 공통 세션 키(sk)를 사용하여 개인용 컴퓨터(2)로 전송될 데이터를 암호화하여, 이 암호화된 데이터를 컴퓨터(2)로 전송한다. 이어서 과정은 단계 S167로가서, 여기서 개인용 컴퓨터(2)는 암호화된 데이터의 해독을 수신하고 이어서 단계S168로 가서 다른 키들 중, 단계 S165에서 생성된 싱크측 공통 세션 키(sk')를 사용하여 상기 암호화된 데이터를 해독한다. 이어서, 과정은 단계 S169로 가서 여기서 개인용 컴퓨터(2)는 단계 S168에서 수행된 해독 결과로 나온 데이터가 정확한지여부를 판단한다. 예를 들면, MPEG 시스템의 TS(트랜스포트 스트림) 패킷으로서 수신된 데이터는 패킷의 헤드 내의 16진수 값 47과의 동기화를 위한 코드를 갖는다. 이 경우, 데이터가 정확한지 여부에 관한 판단은 동기화 코드가 완벽한지 여부를 체크함으로써 수행될 수 있다.
정확한 암호화된 데이터가 단계 S168에서 나온 결과가 아니면, 과정은 단계S170으로 가서 여기서 개인용 컴퓨터(2)는 다음의 식에 따라 라이센스 키를 갱신한다.
1icence_key = hash(licence_key)
이어서, 과정은 단계 S171로 가서 여기서 개인용 컴퓨터(2)는 단계 S164에서수행한 암호화된 소스측 공통 세션 키(e)를 다시 해독함으로써 다음의 식에 따라 단계 S170에서 생성된 갱신된 라이센스 키를 사용하여 새로운 싱크측 공통 세션 키(sk')를 생성한다.
sk'= Dec(licence_key, e)
계속해서, 과정은 단계 S168로 가서, 여기서 다른 키들 중, 단계 S171에서 생성된 싱크측 공통 세션키(sk')를 사용하여 단계 S167에서 수신된 암호화된 데이터를 다시 해독한다. 이어서, 과정은 단계 S169로 진행하여 여기서 개인용 컴퓨터(2)는 단계 S168에서 수행된 해독 결과로 나온 데이터가 정확한지 여부를 판단한다. 이와 같이, 단계 S170, S171, S168 및 S169는 단계 S169에서의 판단 결과, 정확한 해독된 데이터가 단계 S168에서 얻어졌음을 나타낼 때까지 반복하여 수행된다.
이런 식으로, 라이센스 키는 정확한 암호화된 데이터를 생성하도록 갱신된다.
상기 기술된 과정에 의해 나타낸 바와 같이, 소스에서, 소스측 공통 세션 키(sk)는 싱크로 전송될 데이터가 소스측 공통 세션 키(sk)를 사용하여 암호화되기 전에 생성되어야 한다. 반면, 싱크에서, 소스로부터 수신된 암호화된 데이터의 해독은 소스로부터 수신된 암호화된 소스측 공통 세션 키의 해독에 동기될 필요가 있다. 보다 구체적으로, 싱크측에서 과정은 암호화된 데이터를 수신하기 위한 단계 S167이 완료될 때까지는, 암호화된 소스측 공통 세션 키(e)를 해독하기 위한 단계S165부터 해독된 데이터의 해독하기 위한 단계 S168까지를 진행할 수 없다.
더욱이, 암호화된 소스측 공통 세션 키(e) 및 싱크에 의해 수행된 암호문의 해독은 소스측 공통 세션키(sk) 및 소스에 의해서 수행된 평문의 암호화에 동기되어야 한다. 즉, LFSR(601)부터 배타적 논리합 계산 회로(608)까지 도 22에 도시한 광자기 디스크 장치(3)에 사용된 1394 인터페이스부(36)를 구성하는 구성요소들에 의해 생성된 해독키는 LFSR(5010)부터 배타적 논리합 계산 회로(508)까지 도 21에 도시한 DVD 플레이어(1)에 사용된 1394 인터페이스부(26)를 구성하는 구성요소들에 의해 생성된 암호화 키에 대응하여야 하며, 해독키를 사용하여 해독된 암호화된 데이터는 암호화키를 사용하여 평문의 암호화 결과로 나온 데이터이어야 한다. 상기 기술된 바와 같이, 이에 따라 암호화 키는 입력된 평문의 암호화에 동기하여 도 21에 도시한 1394 인터페이스부(26)에 의해 생성되어야 하며 그러므로 해독키는 동기화가 도 21 및 도 22에 명확히 도시되지 않았어도 수신된 암호문의 해독에 동기하여 도 22에 도시한 1394 인터페이스부(36)에 의해서 생성되어야 한다.
따라서, 소스로부터 전송된 암호문을 구성하는 패킷으로부터 1394 직렬 버스(11)를 경유하여 소스로 어떤 이유로 비트가 손실된 경우, 평문과 소스 내의 암호화 키간 타이밍 관계를 나타내는 상(phase)은 암호문과 싱크 내의 해독 키 간의 타이밍 관계를 나타내는 상으로서 지속될 수 없다. 그러나, 이 문제는 암호문과 싱크 내의 해독 키간 타이밍 관계를 나타내는 상을 주기적으로 갱신하거나 재초기화함으로써 해결될 수 있다. 도 28은 암호문과 싱크 내의 해독 키간 타이밍 관계를 나타내는 상을 주기적으로 갱신하거나 다시 초기화하기 위한 소스/싱크 시스템을 구현하는 실시예의 전형적인 구성을 도시한 도면이다.
도면에 도시한 바와 같이, 소스에서, 배타적 논리합 계산 회로(901)는 난수 발생기(903)에 의해서 생성된 난수와 입력된 평문과의 배타적 논리합(Ci)을 계산하여, 배타적 논리합(Ci)을 배타적 논리합 계산 회로(904) 및 세션키(s)의 초기값 키(Ss)를 또한 수신하는 처리 회로(902)로 출력한다. 처리 회로(902)는 세션키(S)의 초기값 키(Ss) 및 배타적 논리합 계산 회로(901)에 의해 출력된 배타적 논리합(Ci)에 대한 소정의 처리를 수행하여, 처리 결과(Vi)를 초기값으로서 난수 발생기(903)로 출력한다.
배타적 논리합 계산 회로(904)는 배타적 논리합 계산 회로(901)에 의해 생성된 배타적 논리합(Ci) 및 시변키(i)의 배타적 논리합을 계산하여 1394 직렬 버스(11)를 통해 싱크로 전송되는 암호문을 생성한다.
싱크는 소스에 의해 수행된 것들과 반대되는 순서로 동작을 수행한다. 보다 구체적으로, 배타적 논리합 계산 회로(911)는 1394 직렬 버스(11)를 통해 소스로부터 수신된 암호문과 시변키(i)의 배타적 논리합(Ci)을 계산하여 배타적 논리합(Ci)을 배타적 논리합 계산 회로(912) 및 세션키(S)의 초기값 키(Ss)를 또한 수신하는 처리 회로(913)로 출력한다. 처리 회로(913)는 세션키(S)의 초기값 키(Ss) 및 배타적 논리합 계산 회로(911)에 의해 출력된 배타적 논리합(Ci)에 대한 소정의 처리를 수행하여, 처리 결과(Vi)를 난수 발생기(914)로 출력한다. 난수 발생기(914)는 초기값으로서 사용된 처리 회로(913)로부터 처리값(Vi)과 함께 난수를 생성한다. 배타적 논리합 계산 회로(912)는 난수 발생기(914)에 의해 생성된 난수와 배타적 논리합 계산 회로(911)에 의해 생성된 배타적 논리합(Ci)의 최종 배타적 논리합을 계산하여 평문으로서 최종의 배타적 논리합을 출력한다.
도 29는 난수 발생기(903)의 전형적인 구성을 도시한 도면이다. 도면에 도시한 바와 같이, 난수 발생기(903)는 LFSR(931)부터 클록 기능부(936)까지 구성요소를 포함한다. 도면에 도시한 각각의 구성요소는 도 21 내지 도 24에 도시한 실시예의 대응하는 LFSR(501) 등, 가산기(504) 등, 흑은 클록 기능부(506) 등과 동일한 기능을 갖는다.
난수 발생기(914)는 도 29에 도시한 난수 발생기(903)와 동일한 구성을 갖는 것에 유념한다. 그러므로, 별도의 도면에서 전자의 구성을 도시할 필요는 없다.
도 30은 소스측 및 싱크측 처리 회로(902 및 913) 각각에 의해 수행되는 동작을 나타내는 흐름도이다.
다음과 같이 도 30에 도시한 흐름도를 참조하여 동작을 설명한다.
소스측 처리회로(902)는 이에 공급된 입력(Ci)으로부터 값(Vi)을 배타적 논리합 계산 회로(901) 및 세션키(S)의 초기값 키(Ss)에 의해 계산하도록 아래 주어진 식에 의해 표현된 함수 f를 갖는다.
Vi = f(Ss, Ci)
도면에 도시한 바와 같이, 흐름도는 다음과 같이 값 Vi = f(Ss, Ci)를 계산하기 위해서 입력(Ci)의 초기값으로서 처리회로(902)가 값 0을 사용하는 단계 S201부터 시작한다.
Vo = f(Ss, 0)
이어서 동작 흐름은 단계 S202로 진행하여, 여기서 단계 S201에서 계산된 값Vo는 도 29에 도시한 난수 발생기(903)로 공급된다. 난수 발생기(903)에서, 처리회로(902)에 의해 출력된 값 Vo는 초기값으로서 LFSR(931 내지 933)으로 공급된다. 도 21에 도시한 1394 인터페이스부(26)와 동일한 기술을 사용하여, 난수가 생성되어 난수 발생기(903)에 사용된 가산기(935)에 의해서 도 28에 도시한 배타적 논리합 계산 회로(901)로 출력한다. 배타적 논리합 계산 회로(901)는 난수 발생기(903)의 의해 생성된 난수 및 입력된 평문의 배타적 논리합(Ci)을 계산하여, 배타적 논리합(Ci)을 처리회로(902)로 출력한다.
한편, 도 30에 도시한 동작 흐름은 단계 S203으로 진행하여, 여기서 처리회로(902)는 변수(i)를 1로 설정한다. 이어서 동작 흐름은 단계 S204로 계속되어, 여기서 배타적 논리합 계산 회로(901)로부터 수신된 배타적 논리합(Ci)은 변수(C)에 저장된다.
이어서, 동작 흐름은 단계 S205로 가서, 여기서 처리회로(902)는 다음 식에따라 처리를 수행한다.
Vi = f(Ss, Ci) +Vi-1
여기서, Ci는 변수(C)의 내용이다.
변수(i)의 값이 현재 1이기 때문에, 상기 식은 다음과 같이 다시 쓸 수 있다.
V1= f(Ss, C1) +V0
여기서 V0는 단계 S201에서 계산된 값이다.
이어서, 동작 과정은 단계 S206으로 가서, 여기서 처리회로(902)는 변수(C)의 내용, 즉 이 경우 C1이 미리 설정된 소정의 값 T와 같은지 여부를 판단한다. 한편, 배타적 논리합 계산 회로(901)는 다른 배타적 논리합(Ci)을 처리회로(902)로 출력한다. 배타적 논리합(Ci)이 단계 S206에서 값 T와 같지 않은 것으로 판단되면, 동작 흐름은 단계 S207로 가서, 여기서 변수(i)의 내용은 배타적 논리합 계산회로(901)로부터 수신된 다른 배타적 논리합(Ci), 즉 i = 2이므로 C2는 변수(C)에 저장되는 단계 S204로 복귀하기 전에 1만큼 증분된다.
이어서, 동작 흐름은 단계 S205로 가서, 여기서 처리회로(902)는 다음의 식에 따라 처리를 수행한다.
V2 = f(Ss, C2) +V1
여기서, V1은 바로 전에 반복해서 단계 S205에서 계산된 값이다.
계속해서, 동작 과정은 단계 S206으로 가서, 여기서 처리회로(902)는 입력된 배타적 논리합(Ci), 즉 이 경우 C1이 소정의 값 T와 같은지 여부를 판단한다. 입력된 배타적 논리합(C1)이 값 T와 다른 것으로 판단되면, 동작 흐름은 단계 S207로 가서, 여기서 변수(i)의 내용은 단계 S204로 복귀하기 전에 1만큼 증분된다. 이러한 식으로, 단계 S204 내지 S207은 입력된 배타적 논리합(Ci)이 값 T와 같게 될 때까지 반복하여 수행된다.
입력된 배타적 논리합(Ci)이 단계 S206에서 값 T와 같은 것으로 판단되면, 동작 흐름은 단계 S208로 가서, 여기서 단계 S205에서 계산된 값 Vi(즉 이 경우 V1)은 단계 S201에서 계산된 값 V0이 단계 S202에서 난수 발생기(903)로 출력되었을 때 난수 발생기(903)로 출력된다. 난수 발생기(903)에서, 처리회로(902)에 의해 출력된 값 V1은 초기값으로서 LFSR(931 내지 933)으로 공급된다. 초기값을 위한 난수가 생성되어 난수 발생기(903)에 사용된 가산기(935)에 의해서 도 28에 도시한 배타적 논리합 계산 회로(901)로 출력한다. 배타적 논리합 계산 회로(901)는 난수 발생기(903)에 의해서 생성된 난수와 입력된 평문과의 배타적 논리합(Ci)을 계산하여 이 배타적 논리합(Ci)을 다시 처리회로(902)로 출력한다.
한편, 처리회로(902)가 단계 S209에서 값 Vi을 난수 발생기(903)에 출력한 후, 도 30에 도시한 동작 흐름은 처리회로(902)가 변수(i)를 1로 리셋하는 단계 S203으로 복귀한다. 그후, 단계 S203 내지 S208은 반복하여 수행된다.
값 T가 8비트 폭이며 Ci 값의 생성 확률이 균일하다고 가정한다. 이 경우, T와 동일한 Ci 값의 확률은 1/256이며 여기서 256은 2의 8승이다. 즉, T와 동일한 값을 갖는 배타적 논리합(Ci)의 생성은 배타적 논리합 계산 회로(901)에 의해 수행된 256개의 일련의 동작당 한번의 비율로 일어나 배타적 논리합(Ci)을 생성한다. 결국, 난수를 생성하기 위한 난수 발생기(903)에서 사용된 초기값은 배타적 논리합 계산 회로(901)에 의해 수행된 256개의 일련의 동작당 한번의 비율로 갱신되어 배타적 논리합(Ci)을 생성한다.
배타적 논리합 계산 회로(901)에 의해 출력된 배타적 논리합(Ci)은 배타적 논리합(Ci)과 시변키(i)와의 배타적 논리합을 계산하기 위한 배타적 논리합 계산 회로(904)에 또한 공급된다. 배타적 논리합 계산 회로(904)에 의해 계산된 배타적 논리합은 암호문으로서 1394 직렬 버스(11)로 출력된다.
싱크에서, 배타적 논리합 계산 회로(911)는 소스로부터 직렬 버스(11)를 통해 수신된 암호문 및 시변키(i)와의 배타적 논리합을 계산하여, 배타적 논리합(Ci)을 배타적 논리합 계산 회로(912) 및 세션키(S)의 초기값 키(Ss)를 또한 수신하는 처리회로(913)로 출력한다. 소스측 처리회로(902)와 상당부분 유사하게, 처리회로(913)는 세션 키(S)의 초기값(Ss) 및 배타적 논리합 계산 회로(911)에 의해 출력된 배타적 논리합(Ci)에 대한 소정의 처리를 수행하여, 처리 결과(Vi)를 256개의 일련의 동작당 한번의 비율로 난수 발생기(914)로 출력하여 배타적 논리합(Ci)을 생성한다. 난수 발생기(914)는 초기값으로서 사용된 처리 결과(Vi)와 함께 난수를 생성한다. 배타적 논리합 계산 회로(912)는 난수 발생기(914)에 의해 생성된 난수의 최종 배타적 논리합과 배타적 논리합 계산 회로(911)에 의해 생성된 배타적 논리합(Ci)을 계산하여 평문으로서 최종의 배타적 논리합을 출력한다.
상기 기술된 바와 같이, 처리회로(913)는 처리 결과(Vi)를 배타적 논리합 계산 회로(911)에 의해 수행되는 256개의 일련의 동작당 한번의 비율로 난수 발생기(914)로 출력하여 배타적 논리합(Ci)을 생성한다. 결국, 소스로부터 싱크로 1394직렬버스(11)를 경유하여 전송된 암호문과 싱크에서 해독키로 사용된 난수간 타이밍 관계를 나타내는 상은 배타적 논리합(Ci)을 생성하기 위해서 256개의 일련의 동작당 한번의 비율로 난수 발생기(914)로 처리 결과(Vi)를 처리회로(913)가 출력할 때 암호문을 구성하는 패킷으로부터 어떤 이유로 비트가 손실되는 경우 복구될 수 있다.
처리 회로(902 혹은 913)는 배타적 논리합(Ci)이 값 T와 같게 될 때(Ci = T)처리 결과(Vi)를 난수 발생기(914)로 출력하기 때문에, 처리 회로(913)는 처리 결과(Vi)를 주기적으로 난수 발생기(914)로 출력하지 않는다는 것에 유념한다. 대신, 처리회로(913)는 평균적으로 배타적 논리합(Ci)을 생성하기 위해서 256개의 일련의 동작당 한번의 확률로 난수 발생기(914)로 처리 결과 Vi를 출력한다는 사실이외에 더 말할 것은 없다.
처리회로(902 및 913)가 처리 결과 Vi를 난수 발생기(903 및 914)로 출력하는 비율은 또한 소스에 의해 전송되고 싱크에 의해 수신되는 암호화된 데이터의 개수에 의해서도 근거함을 주의한다. 그러나, 하나의 데이터가 1394 직렬 버스(11)를 통해 전송 중에 손실된 때, 이 방법은 소스측에 데이터 수는 싱크측에서 데이터 수와 다르게 될 것이므로 소스와 싱크간 동기화를 설정하는 것이 더 이상 가능하지 않게 된다는 문제가 있을 것이다. 따라서 상기 기술된 실시예에 의해 구현된 동기화 기술을 채택하는 것이 바람직하다.
난수 발생기(903 혹은 914)에서 사용된 초기값으로서, 배타적 논리합 계산 회로(901 흑은 911)에 의해 출력된 배타적 논리합(Ci)은 그 자체로서 각각 난수 발생기(903 혹은 914)로 공급될 수 있다. 그러나, 이 경우 직렬 버스(11)를 통해 전송되므로 배타적 논리합(Ci)이 없어지게 될 우려가 많다. 이것은 배타적 논리합(Ci)이 초기값으로 직접 사용되지 않기 때문이다. 대신, 초기값으로서 배타적 논리합(Ci)에 대해 수행된 소정의 처리 결과로 나온 값 Vi를 사용함으로써, 데이터 보안이 더욱 개선될 수 있다.
도4에 도시된 인증 절차(authentication procedure)를 구현하는 실시예에 있어서, 라이센스 키(sk)는 고정되어 있다. 그러나, 라이센스 키(1k)는 인증 절차가 실행될 때마다 변경될 수 있음을 주목한다. 도31은 인증 절차를 구현하는 한 실시예를 도시한 다이어그램인데, 여기서, 라이센스 키(1k)는 인증 절차가 실행될 때마다 변경된다.
도31에 도시된 것처럼, 절차는 단계(S211)에서 시작되어, DVD 플레이어(1)에서 펌웨어(20)는 1394 인터페이스부(26)를 제어하여, 개인용 컴퓨터(2)의 ID에 대한 요청을 1394 시리얼 버스(11)를 통해 전송시킨다. 그후, 절차는 단계(S212)로 진행하여, 개인용 컴퓨터(2)의 라이센스 매니저(62)는 ID에 대한 요청을 수신한다. 상세하게 설명하면, 개인용 컴퓨터(2)에 이용되는 DVD 플레이어(1)에 의해 전송된ID에 대한 요청을 1394 시리얼 버스(11)를 통해 CPU(41)에 통과시킨다. 그후, 절차는 단계(S213)로 진행하여, 라이센스 매니저(62)는 1394 인터페이스부(49)에 의해 진행된 요청에 따라 EEPROM부(50)로부터 ID를 판독하고, 1394 인터페이스부(49) 및 1394 시리얼 버스(11)를 통해 DVD 플레이어(1)에 전송하는 CPU(41)에 의해 실행된다.
다음에, 절차는 단계(S214)로 진행하며, 여기서 DVD 플레이어(1)에서 사용되는 1394 인터페이스부(26)가 ID를 수신하며, CPU(21)에 의해 실행되는 펌웨어(20)로 통과시킨다.
이어서, 이 절차는 단계(S215)로 진행하며, 여기서 펌웨어(20)가 퍼스널 컴퓨터(2)로부터 수신한 ID를 EEPROM부(27)에 기억된 서비스 키와 연결시켜서 데이터(ID∥service_key)를 형성한다. 다음에, 라이센스 키(1k)가 아래 식에 도시된 바와 같이 해시 함수를 데이터(ID∥service_key)에 인가함으로써 계산된다.
1k = hash (ID∥service_key)
그후, 절차는 단계(S216)로 진행하며, 여기서 펌웨어(20)가 난수(r)를 발생한다. 다음에, 절차는 계속해서 단계(S217)로 진행하여 펌웨어(20)가 라이센스 키(1k)를 난수(r)를 연결시키고, 아래와 같은 연결 결과에 해시 함수를 적용하여 라이센스 키(1k')로 라이센스 키(1k)를 변경한다.
lk'= hash (1k∥sk)
이어서, 절차는 단계(S218)로 진행하여, 여기서 펌웨어(20)가 소스측 세션 키(sk)를 발생한다. 그 다음에 절차는 단계(S219)로 진행하며 다음 식에 따라 암호화된 소스측 세션 키(s)에 한 키로서 단계(S217)에서 계산된 라이센스 키(1k')를 이용하여 단계(S218)에서 발생된 소스측 세션 키(sk)를 암호화한다.
s = Enc (lk', sk)
다음에, 이 절차는 단계(S220)로 진행하여, 펌웨어(20)는 단계(S219)에서 발생된 암호화된 소스측 세션 키(s)와 단계(S216)에서 발생된 난수(r)를 퍼스널 컴퓨터(2)에 전송한다. 상세히 기술하면, 암호화된 소스측 세션 키(e) 및 난수(r)는 DVD 플레이어(1)에 이용된 1394 인터페이스부(26)에 의해 1394 시리얼 버스(11)를 통해 퍼스널 컴퓨터(2)에 전송된다. 그후, 다음 절차는 단계(S221)로 진행하여, 퍼스널 컴퓨터(2)에 이용된 1394 인터페이스부(49)는 암호화된 소스측 세션 키(e) 및 난수(r)를 수신한다. 이어서, 그 절차는 단계(S222)로 진행하여, 라이센스 매니저(62)는 EEPROM부(50)에 저장된 라이센스 키와 단계(S221)에서 수신된 난수를 연결한 결과에 대해서 EEPROM부(50)에 저장된 해시 함수를 적용하여 다음과 같은 라이센스 키(1k")를 발생한다.
1k"= hash (licence_key∥r)
그후, 절차는 단계(S223)로 진행하며, 여기서 라이센스 매니저(62)는 임의 키로서 단계(S222)에서 발생된 라이센스 키(1k")를 이용하여 1394 인터페이스부(49)에 의해 통과되는 암호화된 소스측 세션 키(e)를 해독하여 다음 식에 따라 싱크측 세션 키(sk')를 발생한다.
sk' = Dec (lk', e)
정보의 저작자에 의해 퍼스널 컴퓨터(2)에 주어지고, EEPROM부(50)에 저장된 라이센스 키가 단계(S215)에서 DVD 플레이어(1)에 발생된 라이센스 키(1k)와 동일한 방법으로 발생되었기 때문에, 단계(S222)에서 퍼스널 컴퓨터(2)에 의해 발생된 라이센스 키(1k")는 단계(S217)에서 DVD 플레이어(1)에 발생된 라이센스 키(1k')와 같은 동일한 값을 갖는다. 즉, 다음과 같은 식을 유지한다.
1k'= 1k"
결과적으로, 단계(S223)에서 퍼스널 컴퓨터(2)에 의해 실행된 암호화된 소스측 세션 키(e)의 해독화의 결과로 얻은 싱크측 세션 키(sk')는 단계(S218)에서 DVD플레이어(1)에 의해 발생된 소스측 세션 키(sk)와 동일한 값을 갖는다. 즉, 다음과 같은 식을 유지한다.
sk'= sk
키(sk)를 싱크로 전송하기 이전에 때때로 소스측 세션 키(sk)를 암호화하기 위해 이용되는 라이센스 키(1k')를 변경하여, 싱크로 전송되는 암호화된 소스측 세션 키(sk)가 임의 변경에 의해 고정된 라이센스 키를 알고 있는 권한이 없는 사람에 의해 해독될 수 있는 불안을 덜어 준다.
상술한 실시예에 있어서, DVD 플레이어(1)는 소스의 역할을 하지만, 퍼스널 컴퓨터(2) 및 광자기 디스크 장치(3) 각각은 싱크의 역할을 한다. 이와 같은 설명은 제한의 의도가 있는 것이 아님을 주목한다. 즉, 임의 전자 장치가 소스 또는 싱크로서 이용될 수 있다.
또한, 1394 시리얼 버스(11)는 데이터 처리 시스템을 구성하는 전자 장치를 서로 접속하기 위한 외부 버스로서 이용되지만, 본 실시예의 범위는 그와 같은 실시예에 제한을 두지 않는다. 즉, 외부 버스로서 여러 버스가 이용될 수 있고, 그 외부 장치에 의해 서로 접속된 전자 장치는 상술한 실시예에 이용되는 것들에 제한을 두지 않는다. 임의 전자 장치는 데이터 처리 시스템을 구성하는데 이용될 수 있다.
또한, CPU들에 의해 실행될 명령으로 구성되는 다양한 프로그램이 자기 디스크, CD-ROM 디스크 및 네트워크와 같은 제공 매체를 통해 사용자에 제공되고, 필요하다면, 전자 장치에 포함된 RAM부 또는 하드 디스크에 프로그램을 저장하여 이용될 수 있음에 유의할 필요가 있다.
제 1 항에 청구된 데이터 전송 장치, 제 10 항에 청구된 데이터 전송 방법및, 제 41 항에 청구된 기록 매체에 따라, 제 1 값(lk)의 계산은 도4의 절차의 소스 측에 도시된 것과 같은 장치 또는 방법 자신의 ID(또는, 처리될 정보를 식별하거나, 정보를 처리하기 위한 서비스를 식별하기 위해 이용되는 소위 서비스 키)와 다른 장치로부터 수신된 ID를 기초로 한다. 결과적으로, 전송된 데이터의 보안은 다음과 같은 이유로 개선될 수 있다.
상세히 설명하면, 제 1 값(lk)은 장치 또는 방법 자신의 ID와 다른 장치로부터 수신된 ID에 선정된 방법 또는 선정된 서브-방법을 각각 적용하여 데이터 전송장치 및 데이터 전송 장치에 의해 계산된다. 그후, 키 정보가 발생되고, 제 1 값(lk)에 기초하여 선정된 처리가 키 정보(sk) 상에 더 실행된다. 최종적으로, 선정된 처리의 결과(e)는 다른 장치에 전송된다. 결과적으로, 유효한 다른 장치만 선정된 데이터 처리를 실행하도록 허용되어 전송된 데이터의 더 개선된 보안을 얻는다.
또한, 제 19 항에 청구된 데이터 수신 장치, 제 30 항에 청구된 데이터 수신방법 및 제 43 항에 청구된 기록 매체뿐만 아니라 제 1 항에 청구된 데이터 전송 장치, 제 10 항에 청구된 데이터 전송 방법 및, 제 41 항에 청구된 기록 매체에 따라, 제 1 값(lk)의 계산은 데이터 전송 장치 또는 데이터 전송 방법 자신의 ID 및 데이터 수신 장치 또는 데이터 수신 방법에 의해 전송된 데이터 수신 장치 또는 데이터 수신 방법 자신의 ID에 선정된 방법 또는 선정된 서브-방법 각각을 적용하여 데이터 전송 장치 또는 데이터 전송 방법에 의해 계산된다. 그러면, 키 정보(sk)가 데이터 전송 장치 또는 데이터 전송 방법에 의해 발생되고, 제 1 값(lk)에 기초하여 선정된 처리가 데이터 전송 장치 또는 데이터 전송 방법에 의해 키 정보(sk) 상에 더 실행된다. 최종적으로, 선정된 처리의 결과(e)는 데이터 수신 장치에 전송되는데, 여기서, 선정된 처리의 결과(e)는 제 1 값(lk)과 동일한 값을 갖는 라이센스키를 이용하여 데이터 수신 장치 또는 데이터 수신 방법에 의해 해독된다. 결과적으로, 전송된 데이터의 보다 높은 보안을 제공하는 정보 처리 시스템을 구현할 수 있다.
도9에 도시되어 기술한 정보 처리 시스템을 구현하는 다른 실시예에 있어서, 제 1 값(H)은 데이터 전송 장치 또는 데이터 전송 방법 자신의 ID 및 데이터 수신장치 또는 데이터 수신 방법에 의해 전송된 데이터 수신 장치 또는 데이터 수신 방법 자신의 ID에 선정된 해시 함수를 적용하여 데이터 전송 장치 또는 데이터 전송방법에 의해 계산된다. 그러면, 키 정보(sk)가 데이터 전송 장치 또는 데이터 전송방법에 의해 발생되고, 제 1 값(H)에 기초하여 선정된 처리가 데이터 전송 장치 또는 데이터 전송 방법에 의해 키 정보(sk) 상에 더 실행된다. 최종적으로, 선정된 처리의 결과(e)는 데이터 수신 장치에 전송되는데, 여기서, 선정된 처리의 결과(e)는 데이터 수신 장치 또는 데이터 수신 방법에 제공된 두 개의 라이센스 키(lk 및 lk')를 이용하여 해독된다. 그 라이센스 키(lk 및 lk')는 선정된 해시 함수, 의사 난수 발생 함수(pRNG) 및, 분산 함수(confusion function)(G)의 역함수(G^-1)를 이용하여 정보의 저작자에 의해 미리 전형적으로 발생된다. 또한, 선정된 처리의 의사 난수 발생 함수(pRNG), 선정된 처리의 결과(e)의 해독에서 의사 난수 발생 함수(pRNG) 및 분산 함수(G)를 적용하여, 전송된 데이터의 보안은 다음 설명하는 이유로 보다 개선된다.
상세히 설명하면, 상술한 다른 실시예에 있어서, 선정된 처리의 결과(e)는 제 1 값(H)으로부터 얻은 의사 난수[pRNG(H)]를 이용하여 키 정보(sk)의 암호화에 의해 얻어진다. 결과적으로, 전송된 데이터의 보안은 보다 복잡한 처리로 더 개선될 수 있다.
또한, 데이터 수신 장치 또는 데이터 수신 방법에 제공된 상술한 라이센스 키(lk')는 제 1 값(H) 및 라이센스 키(lk)에 의사 난수 발생 함수(pRNG)를 적용하여 얻어진 결과(R)에 역함수(G^-1)를 적용하며 미리 계산된다. 결과적으로, 전송된 데이터의 보다 우수한 보안을 제공하는 정보 처리 시스템은 라이센스 키(lk)와 함께 보다 복잡한 계산으로부터 유도된 라이센스 키(lk')의 이용을 통해 구현될 수 있다.
본 발명은 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템, 및 기록 매체를 제공한다.
도 1은 본 발명이 적용되는 정보 처리 시스템의 전형적인 구조를 도시한 블록도.
도 2는 도 1에 도시된 정보 처리 시스템 내의 DVD 플레이어(1), 개인용 컴퓨터(2), 광자기 디스크 장치(3)의 전형적인 구조를 상세하게 도시한 블록도.
도 3은 인증(authentication) 처리를 설명하는데 사용되는 예시적 도면.
도 4는 도 3에 도시된 인증 처리를 수행하는 인증 과정을 구현하는 실시예를 도시하는 도면.
도 5는 노드 고유의 ID의 포맷을 도시한 도면.
도 6은 인증 처리를 구현하는 또 다른 실시예를 도시하는 도면.
도 7은 인증 처리를 구현하는 또 다른 실시예를 도시하는 도면.
도 8은 인증 처리를 구현하는 또 다른 실시예를 도시하는 도면.
도 9는 인증 처리를 구현하는 또 다른 실시예를 도시하는 도면.
도 10은 소스가 암호 데이터를 다수의 싱크들에 전송하는, 본 발명이 적용될 정보 처리 시스템을 구현하는 실시예를 도시하는 블록도.
도 11은 도 10에 도시된 시스템 내에서 소스로서 역할하는 DVD 플레이어(1)에서 사용되는 1394 인터페이스부(interface unit: 26)의 전형적인 구조를 도시한 블록도.
도 12는 도 11에 도시된 1394 인터페이스부(26)의 전형적인 상세한 구조를 도시한 블록도.
도 13은 도 12에 도시된 1394 인터페이스부(26)에서 사용되는 LFSR(72)의 전형적인 상세한 구조를 도시한 블록도.
도 14는 도 13에 도시된 LFSR(72)의 보다 구체적 구조를 도시한 블록도.
도 15는 도 10에 도시된 시스템에서 싱크로서 역할하는 광자기 디스크 장치(3)에서 사용되는 1394 인터페이스부(36)의 전형적인 구조를 도시한 블록도.
도 16은 도 15에 도시된 1394 인터페이스부(36)의 전형적인 상세한 구조를 도시하는 블록도.
도 17은 도 10에 도시된 시스템의 또 다른 싱크로서 역할하는 개인용 컴퓨터에서 사용되는 1394 인터페이스부(49)의 전형적인 구조를 도시한 블록도.
도 18은 도 17에 도시된 1394 인터페이스부(49)의 전형적인 상세한 구조를 도시한 블록도.
도 19는 도 10에 도시된 시스템의 또 다른 싱크로서 역할하는 개인용 컴퓨터(2)에서 사용되는 응용 모듈(61)의 전형적인 구조를 도시하는 블록도.
도 20은 도 19에 도시된 응용 모듈(61)의 전형적인 상세한 구조를 도시한 블록도.
도 21은 도 10에 도시된 시스템의 소스로서 역할하는 DVD 플레이어(1)에서 사용되는 1394 인터페이스부(36)의 또 다른 전형적인 상세한 구조를 도시한 블록도.
도 22는 도 10에 도시된 시스템의 싱크로서 역할하는 광자기 디스크 장치(3)에서 사용되는 1394 인터페이스부(36)의 또 다른 전형적인 상세한 구조를 도시한 블록도.
도 23은 도 10에 도시된 시스템의 또 다른 싱크로서 역할하는 개인용 컴퓨터(2)에서 사용되는 1394 인터페이스부(49)의 또 다른 전형적인 상세한 구조를 도시한 블록도.
도 24는 도 10에 도시된 시스템의 또 다른 싱크로서 역할하는 개인용 컴퓨터(2)에서 사용되는 응용 모듈(61)의 또 다른 전형적인 구조를 도시한 블록도.
도 25는 인증 처리를 구현하는 또 다른 실시예를 도시하는 도면.
도 26은 도 25에 도시된 인증 처리에 이1어지는 처리를 도시한 도면.
도 27은 도 25에 도시된 인증 처리에 이어지는 또 다른 처리를 도시하는 도면.
도 28은 소스가 암호 데이터를 싱크에 전송하는, 본 발명이 적용되는 정보 처리 시스템을 구현하는 또 다른 실시예의 구조를 도시하는 블록도.
도 29는 도 28에 도시된 시스템의 소스 또는 싱크에서 사용되는 난수(random number) 발생기(903,914)를 도시한 블록도.
도 30은 도 28에 도시된 시스템의 소스 또는 싱크에서 사용되는 처리 회로(902,913)에 의해 실행된 동작을 나타내는 흐름도.
도31은 인증 과정을 구현하는 또 다른 실시예를 도시하는 도면.
도32는 보통의 인증 과정을 도시하는 도시도.
* 도면의 주요 부분에 대한 부호의 간단한 설명 *
1 : DVD 플레이어 2 : 개인용 컴퓨터
3 : 광자기 디스크 장치 5 : 모니터

Claims (44)

  1. 데이터 전송 장치에 있어서, 상기 데이터 전송 장치의 자신의 ID 코드와 다른 장치로부터 수신된 ID 코드에 기초하여 미리 규정된 처리 후에 데이터가 전송되고 상기 데이터 전송 장치는,
    상기 장치의 자신의 ID코드를 저장하는 저장 수단;
    다른 장치로부터 ID코드를 수신하는 수신 수단;
    상기 저장 수단의 출력과 상기 수신 수단의 출력에 미리 규정된 방법을 적용하여 제 1 값을 계산하는 제 1 계산 수단;
    키 정보를 발생하는 키 정보 발생 수단;
    상기 키 정보 상에 상기 제 1 값에 기초하여 상기 미리 규정된 처리를 실행하는 정보 처리 수단과;
    상기 정보 처리 수단의 출력을 전송하는 전송 수단을 포함하는, 데이터 전송장치.
  2. 제 1 항에 있어서, 상기 미리 규정된 방법에 따라, 미리 규정된 함수가 미리 규정된 회수(predetermined number of times)로 적용되는, 데이터 전송 장치.
  3. 제 2 항에 있어서, 상기 미리 규정된 함수는 상기 미리 규정된 회수에 따라 변경되는, 데이터 전송 장치.
  4. 제 3 항에 있어서, 상기 미리 규정된 함수는 해시 함수(hash function)인, 데이터 전송 장치.
  5. 미리 규정된 키 코드에 기초한 암호화를 실행하기 위한 암호화 장치에 있어서,
    입력값으로부터 난수를 발생하는 난수 발생기;
    암호화된 데이터를 발생하기 위해 상기 난수 발생기에 의한 출력된 상기 난수와 입력 데이터를 병합하는 합성 수단과;
    상기 합성 수단에 의해 출력된 상기 암호화된 데이터 상에 상기 미리 규정된 키 코드에 기초한 처리를 실행하고 상기 입력값으로서 출력 신호를 상기 난수 발생기에 인가하기 위한 처리 수단을 포함하는, 암호화 장치.
  6. 제 5 항에 있어서, 상기 처리 수단은 상기 합성 수단에 의해 출력된 상기 암호화된 데이터를 미리 규정된 값과 비교하고 상기 합성 수단에서 출력된 상기 암호화된 데이티가 상기 미리 규정된 값과 동일하게 될 때까지 상기 처리에 이용되는 파라미터를 변경하는, 암호화 장치.
  7. 제 5 항에 있어서, 제 2 키 코드에 기초하여 상기 합성 수단에 의해 출력된 상기 암호화된 데이터의 암호화에 의해 최종 암호화된 데이터를 발생하기 위한 제 2 합성 수단을 더 포함하는, 암호화 장치.
  8. 제 1 항에 있어서, 상기 미리 규정된 방법에 따라, 미리 규정된 함수가 적용되고, 상기 미리 규정된 함수의 적용에 난수가 이용되는, 데이터 전송 장치.
  9. 제 8 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 전송 장치.
  10. 자신의 ID 코드와 다른 장치로부터 수신된 ID 코드에 기초하여 미리 규정된 처리 후에 데이터가 전송되는 데이터 전송 방법에 있어서,
    상기 자신의 ID코드를 저장 수단으로부터 판독하는 단계;
    다른 장치에 의해 전송된 ID 코드를 수신하는 단계;
    상기 저장 수단으로부터 판독된 상기 ID와 상기 다른 장치로부터 수신된 상기 ID에 미리 규정된 서브-방법을 적용하여 제 1 값을 계산하는 단계;
    키 정보를 발생하는 단계;
    상기 키 정보 상에 상기 제 1 값에 기초한 상기 미리 규정된 처리를 실행하는 단계와;
    상기 미리 규정된 처리를 완료한 상기 키 정보를 전송하는 단계를 포함하는, 데이터 전송 방법.
  11. 제 10 항에 있어서, 상기 미리 규정된 서브-방법에 따라, 미리 규정된 함수는 미리 규정된 회수로 적용되는, 데이터 전송 방법.
  12. 제 11 항에 있어서, 상기 미리 규정된 함수는 상기 미리 규정된 회수에 따라변경되는, 데이터 전송 방법.
  13. 제 12 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 전송 방법.
  14. 미리 규정된 키 코드에 기초하여 암호화를 실행하기 위한 암호화 방법에 있어서, 상기 방법은,
    입력값으로부터 난수를 발생하는 난수 발생 단계;
    암호화된 데이터를 발생하기 위해 상기 난수를 입력 데이터와 병합하는 데이터 병합 단계와;
    상기 합성 단계에서 발생된 상기 암호화된 데이터에 상기 미리 규정된 키 코드에 기초한 처리를 실행하고 상기 입력값으로서 상기 난수 발생 단계에 출력 신호를 공급하는 데이터 처리 단계를 포함하는, 암호화 방법.
  15. 제 14 항에 있어서, 상기 데이터 처리 단계에서, 상기 데이터 합성 단계에서 출력된 상기 암호화된 데이터는 미리 규정된 값과 비교되고, 상기 처리에 이용된 파라미터는 상기 합성 단계에서 발생된 상기 암호화된 데이터가 상기 미리 규정된 값과 동일하게 될 때까지 변경되는, 암호화 방법.
  16. 제 14 항에 있어서, 제 2 키 코드에 기초하여 상기 데이터 합성 단계에서 발생되는 상기 암호화된 데이터의 암호화에 의해 최종 암호화된 데이터가 발생되는, 암호화 방법.
  17. 제 10 항에 있어서, 상기 미리 규정된 서브-방법에 따라, 미리 규정된 함수가 적용되고, 상기 미리 규정된 함수의 적용에 난수가 이용되는, 데이터 전송 방법.
  18. 제 17 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 전송 방법.
  19. 데이터 전송 장치로서, 상기 데이터 전송 장치의 자신의 ID 키와 다른 장치로부터 수신된 정보에 기초한 해독화에 의해 상기 다른 장치로부터 수신된 데이터를 해독하기 위한 데이터 수신 장치에 있어서, 상기 장치는,
    상기 장치의 자신의 키를 저장하는 저장 수단;
    다른 장치로부터 데이터 및 정보를 수신하는 수신 수단과;
    상기 저장 수단의 출력을 베이스로서 이용하여 상기 수신 수단의 출력을 해독하는 해독화 수단을 포함하는, 데이터 수신 장치,
  20. 제 19 항에 있어서, 상기 장치의 자신의 키가 미리 규정된 조건을 만족하는지의 여부에 대한 판정이 형성되고, 상기 장치의 자신의 키가 상기 미리 규정된 조건을 만족할 때까지 상기 장치의 자신의 키에 따라 미리 규정된 처리를 실행하는, 데이터 수신 장치.
  21. 제 20 항에 있어서, 상기 미리 규정된 조건은, 상기 장치의 자신의 키에 실행되는 상기 미리 규정된 처리의 회수가 다른 장치로부터 수신된 데이터에 포함된 미리 규정된 값과 동일하면, 상기 장치의 자신의 키에 의해 만족되는 것으로 판정되고,
    상기 장치의 자신의 키에 적용되는 상기 미리 규정된 함수의 회수를 증가시키면서 상기 미리 규정된 처리가 상기 장치의 자신의 키에 미리 규정된 함수를 적용함으로써 상기 장치의 자신의 키에 실행되는, 데이터 수신 장치.
  22. 제 20 항에 있어서, 상기 미리 규정된 조건은, 다른 장치로부터 수신된 데이터의 해독화 결과가 정확하면, 상기 장치 자신의 키에 의해 만족되는 것으로 판정되고,
    상기 미리 규정된 처리는 상기 장치 자신의 키에 미리 규정된 함수를 적용함으로써 상기 장치 자신의 키에 따라 실행되는, 데이터 수신 장치.
  23. 제 21 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 장치.
  24. 제 22 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 장치.
  25. 미리 규정된 키 코드에 기초한 암호화된 데이터의 해독화를 실행하기 위한 암호화된 데이터 해독 장치에 있어서, 상기 장치는,
    입력값으로부터 난수를 발생하는 난수 발생기;
    평문(clear text)을 발생하기 위해 상기 난수 발생기에 의해 발생된 상기 난수와 입력 데이터를 병합하는 합성 수단과;
    상기 입력 데이터에 상기 미리 규정된 키 코드에 기초한 처리를 실행하고 상기 입력값으로서 출력 신호를 상기 난수 발생기에 공급하는 처리 수단을 포함하는, 암호화된 데이터 해독 장치.
  26. 제 25 항에 있어서, 상기 처리 수단은 상기 입력값과 미리 규정된 값을 비교하여 상기 입력 데이터가 상기 미리 규정된 값과 동일하게 될 때까지 상기 처리에 이용된 파라미터를 변경하는, 암호화된 데이터 해독 장치.
  27. 제 25 항에 있어서, 제 2 키 코드에 기초하여 상기 암호화된 데이터의 해독화에 의해 상기 입력 데이터를 발생하기 위한 제 2 합성 수단을 더 포함하는, 암호화된 데이터 해독 장치,
  28. 제 19 항에 있어서, 상기 해독화는 미리 규정된 함수의 적용이고, 상기 미리 규정된 함수의 상기 적용에 난수가 이용되는, 데이터 수신 장치.
  29. 제 28 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 장치.
  30. 자신의 키와 다른 장치로부터 수신된 정보에 기초한 해독화에 의해 상기 다른 장치로부터 수신된 데이터를 해독하기 위한 데이터 수신 방법에 있어서, 상기 방법은,
    상기 기억 장치로부터 상기 방법 자신의 키를 판독하는 단계;
    다른 장치로부터 데이터 및 정보를 수신하는 단계와;
    베이스로서 상기 키 및 상기 정보를 이용함으로써 상기 데이터를 해독하는 단계를 포함하는, 데이터 수신 방법.
  31. 제 30 항에 있어서, 상기 방법 자신의 키가 미리 규정된 조건을 만족하는지의 여부에 대한 판정이 형성되고, 상기 방법 자신의 키가 상기 미리 규정된 조건을 만족할 때까지 상기 방법 자신의 키에 미리 규정된 처리가 실행되는, 데이터 수신 방법.
  32. 제 31 항에 있어서, 상기 미리 규정된 조건은, 상기 자신의 키에 실행되는 상기 미리 규정된 처리의 회수가 다른 장치로부터 수신되는 데이터에 포함된 미리 규정된 값과 동일하면, 자신의 키에 의해 만족되는 것으로 판정되고,
    상기 장치의 자신의 키에 적용되는 상기 미리 규정된 함수의 회수를 증가시키면서 상기 미리 규정된 처리가 상기 장치의 자신의 키에 미리 규정된 함수를 적용함으로써 상기 장치의 자신의 키에 실행되는, 데이터 수신 장치.
  33. 제 31 항에 있어서, 상기 미리 규정된 조건은, 다른 장치로부터 수신된 데이터의 해독화 결과가 정확하면, 자신의 키에 의해 만족되는 것으로 판정되고,
    상기 미리 규정된 처리는 상기 자신의 키에 미리 규정된 함수를 적용함으로써 상기 방법 자신의 키에 실행되는, 데이터 수신 방법.
  34. 제 32 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 방법.
  35. 제 33 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 방법.
  36. 미리 규정된 키 코드에 기초한 암호화 데이터의 해독화를 실행하기 위한 암호화된 데이터 해독 방법에 있어서, 상기 방법은,
    입력값으로부터 난수를 발생하는 난수 발생 단계;
    평문을 발생하기 위해 상기 난수와 입력 데이터를 병합하는 난수 병합 단계와;
    상기 입력 데이터에 상기 미리 규정된 키 코드에 기초한 처리를 실행하여 상기 난수를 발생하기 위한 상기 입력값으로서 상기 난수 발생기에 출력 신호를 공급하는 처리 단계를 포함하는, 암호화된 데이터 해독 방법.
  37. 제 36 항에 있어서, 상기 처리에 있어서, 상기 입력값은 미리 규정된 값과 비교되고, 상기 처리에 이용되는 파라미터는 상기 입력 데이터가 상기 미리 규정된 값과 동일하게 될 때까지 변경되는, 암호화된 데이터 해독 방법.
  38. 제 36 항에 있어서, 상기 난수 병합 단계에 공급되는 상기 입력 데이터는 제2 키 코드로 외부 소스로부터 수신된 상기 암호화된 데이터를 병합하여 발생되는,암호화된 데이터 해독 방법.
  39. 제 30 항에 있어서, 상기 해독화는 미리 규정된 함수의 적용이고, 상기 미리 규정된 함수의 상기 적용에 난수가 이용되는, 데이터 수신 방법.
  40. 제 39 항에 있어서, 상기 미리 규정된 함수는 해시 함수인, 데이터 수신 방법.
  41. 자신의 ID 코드와 다른 장치로부터 수신된 ID 코드에 기초하여 미리 규정된 처리가 실행 후에 데이터를 전송시키는 데이터 전송 방법을 규정하는 프로그램을 기록하기 위한 기록 매체에 있어서, 상기 방법은,
    상기 자신의 ID 코드를 저장 수단으로부터 판독하는 단계;
    다른 장치에 의해 전송된 ID 코드를 수신하는 단계;
    상기 저장 수단으로부터 판독된 상기 ID와 다른 장치로부터 수신된 상기 ID 에 미리 규정된 서브-방법의 적용에 의해 제 1 값을 계산하는 단계;
    키 정보를 발생하는 단계;
    상기 키 정보에 상기 제 1 값에 기초한 상기 미리 규정된 처리를 실행하는 단계와;
    상기 미리 규정된 처리를 완료한 상기 키 정보를 전송하는 단계를 포함하는, 데이터 전송 방법을 규정하는 프로그램 기록을 위한 기록 매체.
  42. 제 41 항에 있어서, 상기 미리 규정된 서브-방법에 따라, 미리 규정된 함수가 미리 규정된 회수로 적용되는, 데이터 전송 방법을 규정하는 프로그램 기록을 위한 기록 매체.
  43. 자신의 키와 다른 장치로부터 수신된 정보에 기초한 해독화에 의해 상기 다른 장치로부터 수신된 데이터를 해독하기 위한 데이터 수신 방법을 규정하는 프로그램을 기록하기 위한 기록 매체에 있어서, 상기 방법은,
    기억 장치로부터 상기 자신의 키를 판독하는 단계;
    다른 장치로부터 데이터 및 정보를 수신하는 단계와;
    베이스로서 상기 키 및 상기 정보를 이용함으로써 상기 데이터를 해독하는 단계를 포함하는, 데이터 전송 방법을 규정하는 프로그램 기록을 위한 기록 매체.
  44. 제 43 항에 있어서, 상기 방법 자신의 키가 미리 규정된 조건을 만족하는지의 여부에 대한 판정이 형성되고, 상기 방법 자신의 키가 상기 미리 규정된 조건을 만족할 때까지 상기 방법 자신의 키에 미리 규정된 처리를 실행하는, 데이터 전송 방법을 규정하는 프로그램 기록을 위한 기록 매체.
KR10-1998-0014435A 1997-04-23 1998-04-23 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체 KR100495189B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP10610497 1997-04-23
JP97-106104 1997-04-23
JP1997-106104 1997-04-23
JP1997-143699 1997-06-02
JP97-143699 1997-06-02
JP14369997 1997-06-02
JP20795397A JP3988172B2 (ja) 1997-04-23 1997-08-01 情報処理装置および方法、並びに記録媒体
JP97-207953 1997-08-01

Publications (2)

Publication Number Publication Date
KR19980081635A KR19980081635A (ko) 1998-11-25
KR100495189B1 true KR100495189B1 (ko) 2005-11-23

Family

ID=27310656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0014435A KR100495189B1 (ko) 1997-04-23 1998-04-23 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체

Country Status (7)

Country Link
US (1) US6360320B2 (ko)
EP (2) EP1845431A1 (ko)
JP (1) JP3988172B2 (ko)
KR (1) KR100495189B1 (ko)
CN (1) CN1125407C (ko)
DE (1) DE69839330T2 (ko)
MY (1) MY128076A (ko)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751209A (en) * 1985-10-11 1988-06-14 Matsushita Electric Industrial Co., Ltd. Dielectric ceramic compositions
JP2000004256A (ja) * 1998-04-17 2000-01-07 Toshiba Corp ストリ―ムデ―タ処理システムおよびストリ―ムデ―タの制限方法
JP3951464B2 (ja) 1998-07-28 2007-08-01 株式会社日立製作所 ディジタル信号処理装置
US7558472B2 (en) * 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US8380041B2 (en) * 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US8577205B2 (en) * 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
EP1026898A1 (en) * 1999-02-04 2000-08-09 CANAL+ Société Anonyme Method and apparatus for encrypted transmission
JP2000236325A (ja) 1999-02-09 2000-08-29 Lg Electronics Inc デジタルデータファイルの暗号化装置及びその方法
KR100320181B1 (ko) * 1999-02-09 2002-01-10 구자홍 디지탈 데이터 파일 암호화 방법
US6615192B1 (en) 1999-03-12 2003-09-02 Matsushita Electric Industrial Co., Ltd. Contents copying system, copying method, computer-readable recording medium and disc drive copying contents but not a cipher key via a host computer
US6816596B1 (en) * 2000-01-14 2004-11-09 Microsoft Corporation Encrypting a digital object based on a key ID selected therefor
US6829708B1 (en) * 1999-03-27 2004-12-07 Microsoft Corporation Specifying security for an element by assigning a scaled value representative of the relative security thereof
TW518497B (en) 1999-03-30 2003-01-21 Sony Corp Information processing system
US6735313B1 (en) * 1999-05-07 2004-05-11 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers
US7143445B1 (en) 1999-05-31 2006-11-28 Sony Corporation Information processing apparatus, information processing method, and program storage medium
JP4011792B2 (ja) * 1999-06-16 2007-11-21 株式会社東芝 記録方法、再生方法、記録装置、再生装置及び記録媒体
JP4099741B2 (ja) * 1999-06-18 2008-06-11 ソニー株式会社 データ通信装置および方法、並びに記録媒体
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
EP1248248A4 (en) * 1999-11-30 2005-08-31 Sanyo Electric Co RECORDER
US6898708B2 (en) * 1999-12-07 2005-05-24 Sanyo Electric Co., Ltd. Device for reproducing data
AU2000269232A1 (en) * 2000-01-14 2001-07-24 Microsoft Corporation Specifying security for an element by assigning a scaled value representative ofthe relative security thereof
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
KR100337179B1 (ko) * 2000-03-10 2002-05-18 이중학 광디스크 복사 사용 방지 장치 및 방법
JP3985461B2 (ja) * 2000-05-02 2007-10-03 日本ビクター株式会社 認証方法、コンテンツ送信側機器、コンテンツ受信側機器、認証システム
US7606492B2 (en) * 2000-10-04 2009-10-20 Enablence Usa Fttx Networks Inc. System and method for communicating optical signals upstream and downstream between a data service provider and subscribers
US6973271B2 (en) 2000-10-04 2005-12-06 Wave7 Optics, Inc. System and method for communicating optical signals between a data service provider and subscribers
US7130541B2 (en) * 2000-10-04 2006-10-31 Wave7 Optics, Inc. System and method for communicating optical signals upstream and downstream between a data service provider and subscriber
JP2002132141A (ja) * 2000-10-20 2002-05-09 Sony Corp データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体
CA2426831A1 (en) * 2000-10-26 2002-08-01 Wave7 Optics, Inc. Method and system for processing downstream packets of an optical network
US6662284B2 (en) * 2001-02-20 2003-12-09 Hewlett-Packard Development Company, L.C. Computer apparatus, method and memory including license key
US20070230921A1 (en) * 2001-04-05 2007-10-04 Barton James M Multimedia time warping system
KR20020083851A (ko) * 2001-04-30 2002-11-04 주식회사 마크애니 디지털 컨텐츠의 보호 및 관리를 위한 방법 및 이를이용한 시스템
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
JP4545994B2 (ja) * 2001-07-02 2010-09-15 三洋電機株式会社 データ再生装置それに用いるデータ再生回路、およびデータ記録装置
US20060020975A1 (en) * 2001-07-05 2006-01-26 Wave7 Optics, Inc. System and method for propagating satellite TV-band, cable TV-band, and data signals over an optical network
US7269350B2 (en) * 2001-07-05 2007-09-11 Wave7 Optics, Inc. System and method for communicating optical signals between a data service provider and subscribers
US7190901B2 (en) * 2001-07-05 2007-03-13 Wave7 Optices, Inc. Method and system for providing a return path for signals generated by legacy terminals in an optical network
WO2003005611A2 (en) * 2001-07-05 2003-01-16 Wave7 Optics, Inc. System and method for communicating optical signals to multiple subscribers having various bandwidth demands connected to the same optical waveguide
US7877014B2 (en) * 2001-07-05 2011-01-25 Enablence Technologies Inc. Method and system for providing a return path for signals generated by legacy video service terminals in an optical network
US7146104B2 (en) 2001-07-05 2006-12-05 Wave7 Optics, Inc. Method and system for providing a return data path for legacy terminals by using existing electrical waveguides of a structure
US6654565B2 (en) 2001-07-05 2003-11-25 Wave7 Optics, Inc. System and method for increasing upstream communication efficiency in an optical network
US20030072059A1 (en) * 2001-07-05 2003-04-17 Wave7 Optics, Inc. System and method for securing a communication channel over an optical network
WO2003005612A1 (en) 2001-07-05 2003-01-16 Wave7 Optics, Inc. Methods and systems for providing return path for signals generated by legacy terminals in optical network
US7529485B2 (en) * 2001-07-05 2009-05-05 Enablence Usa Fttx Networks, Inc. Method and system for supporting multiple services with a subscriber optical interface located outside a subscriber's premises
US7333726B2 (en) * 2001-07-05 2008-02-19 Wave7 Optics, Inc. Method and system for supporting multiple service providers within a single optical network
US7593639B2 (en) * 2001-08-03 2009-09-22 Enablence Usa Fttx Networks Inc. Method and system for providing a return path for signals generated by legacy terminals in an optical network
EP1288942B1 (en) * 2001-08-08 2005-01-12 Matsushita Electric Industrial Co., Ltd. Copyright protection system, recording device, and reproduction device
AU2002349879A1 (en) * 2001-09-10 2003-03-24 Wave7 Optics, Inc. System and method for securing a communication channel
FR2829603A1 (fr) * 2001-09-11 2003-03-14 St Microelectronics Sa Procede et dispositif de stockage et de lecture de donnees numeriques sur un support physique
JP3746229B2 (ja) * 2001-09-29 2006-02-15 株式会社東芝 受信データ記録再生装置及び受信データ記録再生方法
FR2834155B1 (fr) * 2001-12-21 2005-02-18 Gemplus Card Int Procede de generation de cles electroniques cryptographiques et composant correspondant
DE10164135A1 (de) * 2001-12-30 2003-07-17 Juergen K Lang System und Verfahren zur kopier- und nutzungsgeschützten Ver- und Entschlüsselung, Übertragung und Speicherung elektronischer Ton- und Bildmedien
DE10164134A1 (de) * 2001-12-30 2003-07-17 Juergen K Lang System und Verfahren zur Erstellung und Verbreitung kopier- und nutzungsgeschützter elektronischer Ton- und Bildmedien und deren Dateninhalte
DE10164131A1 (de) * 2001-12-30 2003-07-17 Juergen K Lang Kryptographisches Modul zur Speicherung und Wiedergabe kopier-und nutzungsgeschützter elektronischer Ton- und Bildmedien
DE10164133A1 (de) * 2001-12-30 2003-07-17 Juergen K Lang System und Verfahren zur Wiedergabe kopier- und nutzungsgeschützter Ton- und Bildmedien
US7038910B1 (en) 2002-01-07 2006-05-02 Wave7 Optics, Inc. System and method for removing heat from a subscriber optical interface
US7583897B2 (en) * 2002-01-08 2009-09-01 Enablence Usa Fttx Networks Inc. Optical network system and method for supporting upstream signals propagated according to a cable modem protocol
US7350081B1 (en) 2002-04-29 2008-03-25 Best Robert M Secure execution of downloaded software
US7623786B2 (en) * 2002-05-20 2009-11-24 Enablence Usa Fttx Networks, Inc. System and method for communicating optical signals to multiple subscribers having various bandwidth demands connected to the same optical waveguide
US7530116B2 (en) * 2002-06-06 2009-05-05 Macrovision Corporation Controlling the downloading and recording of digital data
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US20040044900A1 (en) * 2002-08-29 2004-03-04 Bei Wang Copy protection of DVD related web content
US7966520B2 (en) * 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7707116B2 (en) * 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7681245B2 (en) * 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7698225B2 (en) * 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
KR100924773B1 (ko) * 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
CA2507005A1 (en) * 2002-10-08 2004-04-22 David W. Powell Method and apparatus for precast and framed block element construction
US7058260B2 (en) * 2002-10-15 2006-06-06 Wave7 Optics, Inc. Reflection suppression for an optical fiber
JP4214454B2 (ja) 2002-12-13 2009-01-28 ソニー株式会社 映像信号処理システム、映像信号処理装置および方法、記録媒体、並びにプログラム
US7890997B2 (en) * 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7454141B2 (en) * 2003-03-14 2008-11-18 Enablence Usa Fttx Networks Inc. Method and system for providing a return path for signals generated by legacy terminals in an optical network
US7231518B1 (en) * 2003-03-28 2007-06-12 Cisco Technology, Inc. System and method for authenticating a storage device for use with driver software in a storage network
US8467534B2 (en) * 2003-04-16 2013-06-18 Broadcom Corporation Method and system for secure access and processing of an encryption/decryption key
CN1833400B (zh) * 2003-08-05 2011-12-28 松下电器产业株式会社 著作权保护***
KR20050075877A (ko) * 2004-01-16 2005-07-25 삼성전자주식회사 데이터 재전송 장치 및 방법
JP4290036B2 (ja) * 2004-02-27 2009-07-01 キヤノン株式会社 情報処理装置及び印刷制御装置
US7627764B2 (en) * 2004-06-25 2009-12-01 Intel Corporation Apparatus and method for performing MD5 digesting
CA2576944A1 (en) * 2004-08-10 2006-02-23 Wave7 Optics, Inc. Countermeasures for idle pattern srs interference in ethernet optical network systems
US7599622B2 (en) * 2004-08-19 2009-10-06 Enablence Usa Fttx Networks Inc. System and method for communicating optical signals between a data service provider and subscribers
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
US7747851B1 (en) * 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US20060075428A1 (en) * 2004-10-04 2006-04-06 Wave7 Optics, Inc. Minimizing channel change time for IP video
CN102665112B (zh) 2004-11-19 2015-08-19 Tivo股份有限公司 用于多媒体内容的安全传输和回放的方法和设备
US20060187863A1 (en) * 2004-12-21 2006-08-24 Wave7 Optics, Inc. System and method for operating a wideband return channel in a bi-directional optical communication system
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7616901B2 (en) 2005-08-10 2009-11-10 Enablence Usa Fttx Networks Inc. Countermeasures for idle pattern SRS interference in ethernet optical network systems
US20070047959A1 (en) * 2005-08-12 2007-03-01 Wave7 Optics, Inc. System and method for supporting communications between subcriber optical interfaces coupled to the same laser transceiver node in an optical network
US7814023B1 (en) 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
EP1765012A1 (fr) * 2005-09-14 2007-03-21 Nagravision S.A. Méthode de vérification d'un dispositif cible relié à un dispositif maître
US20070162740A1 (en) * 2006-01-12 2007-07-12 Relan Sandeep K Systems, methods, and apparatus for packet level security
US8826023B1 (en) * 2006-06-30 2014-09-02 Symantec Operating Corporation System and method for securing access to hash-based storage systems
US7751559B2 (en) * 2006-09-07 2010-07-06 International Business Machines Corporation Secure transmission of cryptographic key
JP4953801B2 (ja) * 2006-12-25 2012-06-13 パナソニック株式会社 パスワード設定方法、映像受信システム、プログラム、および記録媒体
EP1968316A1 (en) 2007-03-06 2008-09-10 Nagravision S.A. Method to control the access to conditional access audio/video content
US7907735B2 (en) * 2007-06-15 2011-03-15 Koolspan, Inc. System and method of creating and sending broadcast and multicast data
DE602008002891D1 (de) * 2008-02-11 2010-11-18 Nagravision Sa Methode zur Aktualisierung und Verwaltung einer Anwendung für die Verarbeitung von audiovisuellen Daten in einer Multimediaeinheit über ein Modul mit bedingtem Zugriff
JP5289476B2 (ja) * 2011-02-04 2013-09-11 株式会社東芝 通信装置および鍵算出装置
ES2647467T3 (es) 2011-07-01 2017-12-21 Nagravision S.A. Método para reproducir eventos repetibles en un reproductor multimedia
US8842828B2 (en) * 2012-08-01 2014-09-23 Qualcomm Incorporated System and method for hybrid multiple source decryption
KR101363290B1 (ko) 2012-08-30 2014-02-18 고려대학교 산학협력단 단말간 경량화된 인증된 키 공유방법
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
JP6473876B2 (ja) * 2016-12-01 2019-02-27 株式会社ユートピア企画 セキュアネットワーク通信方法
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
EP3620917B1 (de) * 2018-09-06 2021-10-27 Siemens Aktiengesellschaft Verwalten von lizenzen für soft-ip auf einem partiell rekonfigurierbaren hardware-system
US11469893B2 (en) * 2019-11-22 2022-10-11 Johnson Controls Tyco IP Holdings LLP Systems and methods for establishing secured connections for IoT devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619052A (ja) * 1984-06-25 1986-01-16 Toshiba Corp 通信ネツトワ−クシステム
EP0173647B1 (de) * 1984-08-10 1988-10-26 GRETAG Aktiengesellschaft Chiffrier/Dechiffrierverfahren
US4815130A (en) * 1986-10-03 1989-03-21 Communications Satellite Corporation Stream cipher system with feedback
JPH03179841A (ja) * 1990-10-19 1991-08-05 Matsushita Electric Ind Co Ltd 暗号デジタル放送受信装置
US5073935A (en) 1990-12-17 1991-12-17 Jose Pastor Method for secure communication
US5418854A (en) 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system
WO1995005712A2 (en) 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
RU2142167C1 (ru) 1993-12-18 1999-11-27 Сони Корпорейшн Среда для хранения данных и устройство воспроизведения данных (варианты)
JP2762909B2 (ja) * 1993-12-27 1998-06-11 日本電気株式会社 電子署名装置
US5533127A (en) * 1994-03-18 1996-07-02 Canon Information Systems, Inc. Encryption system
DE69533637T2 (de) * 1994-06-21 2006-02-16 Microchip Technology Inc., Chandler Geschütztes Selbstlernen
US5796839A (en) * 1995-10-16 1998-08-18 Sony Corporation Encryption method, encryption apparatus, recording method, decoding method, decoding apparatus and recording medium
US5883958A (en) * 1996-04-01 1999-03-16 Sony Corporation Method and device for data decryption, a method and device for device identification, a recording medium, a method of disk production, and a method and apparatus for disk recording

Also Published As

Publication number Publication date
US20010044897A1 (en) 2001-11-22
CN1125407C (zh) 2003-10-22
US6360320B2 (en) 2002-03-19
JP3988172B2 (ja) 2007-10-10
DE69839330D1 (de) 2008-05-21
JPH1155248A (ja) 1999-02-26
EP1845431A1 (en) 2007-10-17
DE69839330T2 (de) 2009-07-16
EP0874299B1 (en) 2008-04-09
CN1202658A (zh) 1998-12-23
MY128076A (en) 2007-01-31
EP0874299A2 (en) 1998-10-28
EP0874299A3 (en) 1999-10-13
KR19980081635A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
KR100495189B1 (ko) 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체
KR100495187B1 (ko) 데이터송신장치및송신방법,데이터수신장치및수신방법,기록매체
KR100466474B1 (ko) 암호화장치및방법,복호장치및방법,정보처리장치및방법
JPH11205305A (ja) 情報処理装置および方法、情報処理システム、並びに提供媒体
KR20000076003A (ko) 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법
JP4748109B2 (ja) 暗号化装置および方法、復号装置および方法、情報処理装置および方法、並びに情報再生装置
JP2010246158A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2006340407A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2007043738A (ja) 電子機器
JP2013179701A (ja) 暗号化装置および方法
JP2013017225A (ja) 暗号化装置および方法
JP2012070430A (ja) 復号装置および方法
JP2016015783A (ja) 暗号化装置
JP2015043611A (ja) 復号装置
JP2013192267A (ja) 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法
JP2015019430A (ja) 復号装置
JP2014064318A (ja) 暗号化装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130524

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140523

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee