KR20000076003A - 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법 - Google Patents

정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법 Download PDF

Info

Publication number
KR20000076003A
KR20000076003A KR1019997008089A KR19997008089A KR20000076003A KR 20000076003 A KR20000076003 A KR 20000076003A KR 1019997008089 A KR1019997008089 A KR 1019997008089A KR 19997008089 A KR19997008089 A KR 19997008089A KR 20000076003 A KR20000076003 A KR 20000076003A
Authority
KR
South Korea
Prior art keywords
key
information processing
processing apparatus
value
information
Prior art date
Application number
KR1019997008089A
Other languages
English (en)
Inventor
이시구로류지
오사와요시토모
아사노도모유키
Original Assignee
이데이 노부유끼
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 이데이 노부유끼
Publication of KR20000076003A publication Critical patent/KR20000076003A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Landscapes

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

Abstract

서비스 키와 소정의 함수를 기억한 제1의 정보 처리 장치(1)와 고유의 식별정보, 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억한 제2의 정보 처리 장치(2)와의 사이에서, 제1의 정보 처리 장치는 상기 식별정보를 요구하고, 상기 식별정보와 상기 서비스 키에 상기 함수를 적용하여 제1의 중간 키(Km)를 생성하고, 상기 제1의 중간 키에 상기 함수를 n회 적용하여 판정 키(Kmn)를 생성함과 동시에, 상기 함수를 적용한 회수를 나타내는 회수 데이터를 송신한다. 상기 제2의 정보 처리 장치(2)는 상기 회수 데이터를 사용하여 상기 라이선스 키에 상기 함수를 (n-Gb)회 적용하여 제2의 중간 키(Klic_n)를 생성하고, 상기 제2의 중간 키(Klic_n)에 관한 정보인 중간 키 정보(R)를 송신한다. 그리고, 제1의 정보 처리 장치는 상기 판정 키(Kmn)와 상기 중간 키 정보(R)에 근거하여 상기 제2의 정보 처리 장치(2)를 인증한다.

Description

정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법{Data processing system, data processing device and data processing method}
근래, AV 기기나 퍼스널 컴퓨터 등의 전자기기를, 예를 들면 IEEE1394 시리얼 버스를 통하여 서로 접속하여, 상호 간에 데이터를 송수신할 수 있도록 한 시스템이 제안되고 있다.
이러한 시스템에 있어서, 예를 들면 일반의 사용자가 DVD 플레이어에 의해 재생된 영화정보를 1394 시리얼 버스를 통하여 모니터에 출력하고 표시시키는 행위는 일반적으로 DVD를 구입한 시점에 있어서, 영화정보의 저작권자로부터 허용되어 있는 것으로 된다. 그러나, DVD 플레이어에 의해 재생된 영화정보를 광자기 디스크, 그 밖의 기록매체에 기록하는 행위는 저작권자로부터의 특별한 허락이 필요하게 된다. 이러한 경우, 예를 들면, 광자기 디스크장치에 영화정보를 기록하는 것이 허가되어 있는지의 여부를 나타내는 키를 기억해 놓고, 이 키를 이용하여 그 광자기 디스크장치가 정당한 장치 즉 저작권자로부터의 라이선스(license)를 받은 장치인지의 여부를 인증하도록 하고, 정당한 장치로서 인증된 광자기 디스크장치만으로 영화정보의 기록을 허가하도록 하는 것이 행하여진다. 이러한 경우, 영화정보를 전송하는 측의 장치(이하, 이러한 장치를 소스(source)라 한다)와 전송을 받은 장치(이하, 이러한 장치를 싱크(sink)라 한다)와의 사이에서, 상대측의 장치가 적정한 장치인지의 여부를 인증할 필요가 있다.
이러한 시스템에 있어서의 저작권보호를 목적으로 하여, 다양한 인증방식이 제안되고 있다. 이들의 인증방식에 사용되는 인증 프로토콜에는 암호 알고리즘이 사용되는 경우가 많다.
이러한 암호 알고리즘을 사용한 인증 프로토콜은 일본 특허출원 제(평)9-207953호, 일본 특허출원 제(평)9-210899호, 본 출원인의 어사인으로 어사인된 「information processing apparatus, information processing method, information processing system and recording medium」 US 시리얼 번호 09/059,757(1998년 4월 14일 출원) 및 「information processing apparatus, information processing method, information processing system and recording medium」 US 시리얼 번호 09/059,812(1998년 4월 14일 출원)에 개시되어 있다. 그런데, 일본이나 미국 등을 비롯하는 각국에 있어서는, 강력한 암호 알고리즘에 관해서는 수출을 금지하고 있다. 따라서, 인증 프로토콜에 있어서, 암호 알고리즘을 사용하면 수출할 수 없다, 타국에 있어서 사용할 수 없다, 등의 문제가 생길 가능성이 있다.
그래서, 본 발명의 목적은, 소정의 함수를 사용하여 인증처리를 할 수 있 도록 한 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법을 제공하는 데에 있다.
본 발명은 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법에 관하며, 특히, 저작권보호에 사용되는 인증 프로토콜에 사용하는데 적당한 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법에 관한 것이다.
도 1은 본 발명을 적용한 정보 처리 시스템의 구성예를 도시하는 블록도.
도 2는 정보 처리 시스템에 있어서의 DVD 플레이어, 퍼스널 컴퓨터 및 광자기 디스크장치의 내부의 구체적인 구성예를 도시하는 블록도.
도 3은 상기 정보 처리 시스템에 있어서 소스와 싱크와의 사이에서 행하여지는 인증의 순서를 설명하기 위한 도면.
도 4는 상기 소스와 싱크와의 사이에서 행하여지는 인증의 기본적인 순서를 설명하기 위한 타이밍 챠트.
도 5는 상기 소스와 싱크와의 사이에서 행하여지는 구체적인 인증처리의 순서를 도시하는 타이밍 챠트.
도 6은 상기 소스와 싱크와의 사이에서 행하여지는 다른 인증처리의 순서를 도시하는 타이밍 챠트.
본 발명은, 제1의 정보 처리 장치와 제2의 정보 처리 장치로부터 구성되는 정보 처리 시스템에 있어서, 상기 제1의 정보 처리 장치는 서비스 키와 소정의 함수를 기억하는 제1의 기억수단과, 상기 제2의 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 제1의 송수신 수단과, 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로부터 수신한 상기 제2의 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여 상기 함수를 적용함으로써, 제1의 중간 키를 생성하는 제1의 중간 키 생성수단과, 상기 제1의 중간 키에 대하여 상기 함수를 n(n은 정수)회 적용함으로써, 판정 키를 생성하는 판정 키 생성수단과, 상기 판정 키 생성수단으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치에 송신시키는 회수 데이터 송신수단과, 상기 판정 키와 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로부터 수신한 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 인증수단을 구비하고, 상기 제2의 정보 처리 장치는 자기자신에게 할당된 고유의 식별정보, 상기 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억하는 제2의 기억수단과, 상기 제1의 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 제2의 송수신 수단과, 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로부터 수신한 상기 회수 데이터를 사용하여, 상기 함수를 상기 라이선스 키에 (n-Gb)회 적용함으로써, 제2의 중간 키를 생성하는 제2의 중간 키 생성수단과, 상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치에 송신시키는 중간 키 정보 송신수단을 구비하는 것을 특징으로 한다.
또한, 본 발명은 서비스 키와 소정의 함수를 기억한 제1의 정보 처리 장치와, 자기자신에게 할당된 고유의 식별정보, 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억한 제2의 정보 처리 장치로부터 구성되는 정보 처리 시스템에 있어서의 정보 처리 방법으로서, 상기 제2의 정보 처리 장치에 고유의 식별정보를 상기 제1의 정보 처리 장치로부터 상기 제2의 정보 처리 장치로 요구하는 식별정보 요구 스텝과, 상기 제2의 정보 처리 장치에 고유의 식별정보를 당해 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하는 식별정보 송수신 스텝과, 상기 제1의 정보 처리 장치에 있어서, 상기 식별정보 송수신 스텝으로 수신한 상기 제2의 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여, 상기 함수를 적용함으로써, 제1의 중간 키를 생성하는 제1의 중간 키 생성 스텝과, 상기 제1의 정보 처리 장치에 있어서, 상기 제1의 중간 키에 대하여, 상기 함수를 n(n은 정수)회 적용함으로써, 판정 키를 생성하는 판정 키 생성 스텝과, 상기 판정 키 생성 스텝으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 제1의 정보 처리 장치로부터 송신하여 상기 제2의 정보 처리 장치로 수신하는 회수 데이터 송수신 스텝과, 상기 제2의 정보 처리 장치에 있어서, 상기 회수 데이터 수신 스텝으로 수신한 회수 데이터를 사용하여, 상기 라이선스 키에 상기 함수를 (n-Gb)회 적용함으로써, 제2의 중간 키(Klic_n)를 생성하는 제2의 중간 키 생성 스텝과, 상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하는 중간 키 정보 송수신 스텝과, 상기 제1의 정보 처리 장치에 있어서, 상기 판정 키와 상기 중간 키 정보 송수신 스텝으로 수신한 상기 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 인증 스텝을 갖는 것을 특징으로 한다.
또한, 본 발명에 관계되는 정보 처리 장치는 서비스 키와 소정의 함수를 기억하는 기억수단과, 다른 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 송수신 수단과, 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 상기 다른 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여, 상기 함수를 적용함으로써, 중간 키를 생성하는 중간 키 생성수단과, 상기 중간 키에 대하여, 상기 함수를 n(n은 정수)회 적용함으로써, 판정 키를 생성하는 판정 키 생성수단과, 상기 판정 키 생성수단으로 상기 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 송수신 수단에 의해 상기 다른 정보 처리 장치에 송신시키는 회수 데이터 송신수단과, 상기 판정 키와 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 다른 정보 처리 장치를 인증하는 인증수단을 구비하는 것을 특징으로 한다.
또한, 본 발명에 관계되는 정보 처리 방법은 다른 정보 처리 장치에 고유의 식별정보를 상기 다른 정보 처리 장치에 요구하여 수신하는 식별정보 수신 스텝과, 상기 식별정보 수신 스텝으로 수신한 상기 다른 정보 처리 장치에 고유의 식별정보와 서비스 키에 대하여, 소정의 함수를 적용함으로써, 제1의 중간 키를 생성하는 제1의 중간 키 생성 스텝과, 상기 제1의 중간 키에 대하여, 상기 함수를 n(n은 정수)회 적용함으로써, 판정 키를 생성하는 판정 키 생성 스텝과, 상기 판정 키 생성 스텝으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 다른 정보 처리 장치에 송신하는 회수 데이터 송신 스텝과, 상기 다른 정보 처리 장치에 의해 상기 회수 데이터에 근거하여 생성된 중간 키 정보를 수신하는 중간 키 정보 수신 스텝과, 상기 판정 키와 상기 중간 키 정보 수신 스텝으로 수신한 상기 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 다른 정보 처리 장치를 인증하는 인증 스텝을 갖는 것을 특징으로 한다.
또한, 본 발명에 관계되는 정보 처리 장치는 자기자신에게 할당된 고유의 식별정보, 제1의 중간 키에 소정의 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억하는 기억수단과, 다른 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 송수신 수단과, 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 상기 회수 데이터를 사용하여, 상기 함수를 상기 라이선스 키에 (n-Gb)회 적용함으로써, 제2의 중간 키를 생성하는 제2의 중간 키 생성수단과, 상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치에 송신시키는 중간 키 정보 송신수단을 구비하는 것을 특징으로 한다.
나아가, 본 발명에 관계되는 정보 처리 방법은 자기자신에게 할당된 고유의 식별정보를 다른 정보 처리 장치에 송신하는 식별정보 송신스텝과, 상기 다른 정보 처리 장치에 있어서 제1의 중간 키를 생성하기 위한 상기 식별정보와 서비스 키에 대하여 소정의 함수를 적용하는 회수(n)(n은 정수)를 나타내는 회수 데이터를 상기 다른 정보 처리 장치로부터 수신하는 회수 데이터 수신 스텝과, 상기 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키에, 상기 회수 데이터 수신 스텝으로 수신한 회수 데이터를 사용하여, 상기 함수를 (n-Gb)회 적용함으로써, 제2의 중간 키(Klic_n)를 생성하는 제2의 중간 키 생성 스텝과, 상기 제2의 중간 키에 관한 정보인 중간 키 정보를 송신하는 중간 키 정보 송수신 스텝을 갖는 것을 특징으로 한다.
이하, 본 발명을 실시하기 위한 최선의 형태를 도면을 참조하면서 상세히 설명한다.
본 발명은, 예를 들면 도 1에 도시하는 바와 같은 구성의 정보 처리 시스템에 적용된다.
이 정보 처리 시스템은 IEEE1394 시리얼 버스(11)를 통하여 서로 접속된 DVD 플레이어(1), 퍼스널 컴퓨터(2), 광자기 디스크장치(3), 데이터 방송 수신장치(4), 모니터(5), 텔레비전 수상기(6) 등으로 이루어진다.
도 2는 DVD 플레이어(1), 퍼스널 컴퓨터(2), 광자기 디스크장치(3)의 내부의 구체적인 구성예를 도시하고 있다.
DVD 플레이어(1)는 내부 버스(28)를 통하여 서로 접속된 CPU21, ROM22, RAM23, 조작부(24), 드라이브(25), 1394 인터페이스(26), EEPROM27 등을 구비한다.
이 DVD 플레이어(1)는 1394 인터페이스(26)를 통하여 IEEE1394 시리얼 버스(11)에 접속되어 있다. CPU21은, ROM22에 기억되어 있는 프로그램에 따라서 각종의 처리를 실행한다. RAM23은 CPU21이 각종의 처리를 실행하는 데에 필요한 데이터나 프로그램 등을 기억한다. 조작부(24)는 버튼, 스위치, 리모트 컨트롤러 등으로 이루어지고, 사용자에 의한 조작에 대응하는 신호를 출력한다. 드라이브(25)는 도시하지 않은 DVD를 구동하고, 거기에 기록되어 있는 데이터를 재생하도록 이루어져 있다. EEPROM27은 장치의 전원 오프 후도 기억하고 있을 필요가 있는 정보 예를 들면 키 정보 등을 기억하도록 이루어져 있다.
광자기 디스크장치(3)는 내부 버스(38)를 통하여 서로 접속된 CPU31, ROM32, RAM33, 조작부(34), 드라이브(35), 1394 인터페이스(36), EEPROM37 등을 구비한다.
이 광자기 디스크장치(3)를 구성하고 있는 CPU31, ROM32, RAM33, 조작부(34), 드라이브(35), 1394 인터페이스(36), EEPROM37, 내부 버스(38) 등은, 위에서 언급한 DVD 플레이어(1)에 있어서의 CPU21, ROM22, RAM23, 조작부(24), 드라이브(25), 1394 인터페이스(26), EEPROM27, 내부 버스(28) 등과 같은 기능을 갖을 수 있는 것이며, 그 상세한 설명은 생략한다. 단, 드라이브(35)는 도시하지 않은 광자기 디스크를 구동하고, 거기에 데이터를 기록 또는 재생하도록 이루어진다.
퍼스널 컴퓨터(2)는 내부 버스(51)를 통하여 서로 접속된 CPU41, ROM42, RAM43, 입출력 인터페이스(44), 1394 인터페이스(49), EEPROM50이, 상기 입출력 인터페이스(44)에 접속된 키보드(45), 마우스(46), 하드 디스크 드라이브(HDD)(47), 확장 보드(48) 등을 구비한다.
이 퍼스널 컴퓨터(2)는 1394 인터페이스(49)를 통하여 IEEE1394 시리얼 버스(11)에 접속되어 있다. CPU41은, ROM42에 기억되어 있는 프로그램에 따라서 각종의 처리를 실행한다. RAM43에는 CPU41이 각종의 처리를 실행하는 데에 필요한 데이터나 프로그램 등이 기억된다. 입출력 인터페이스(44)는 키보드(45)나 마우스(46)로부터 입력된 신호를 CPU41에 출력하도록 이루어져 있다. 또한, 입출력 인터페이스(44)는 하드 디스크 드라이브(HDD)(47)에 의해 데이터나 프로그램을 기록 재생할 수 있도록 이루어져 있다. 게다가, 입출력 인터페이스(44)에는 확장 보드(48)를 장착함으로써 필요한 기능을 부가할 수 있도록 이루어져 있다. EEPROM50은, 장치의 전원 오프 후도 기억하고 있을 필요가 있는 정보 예를 들면 키 정보 등을 기억하도록 이루어져 있다. 내부 버스(51)는 예를 들면 PCI(Periphera1 Component Interconnect) 또는 로컬 버스 등에 의해 구성되어 있다.
또한, 내부 버스(51)는 사용자에 대하여 개방되어 있고, 사용자는 확장 보드(48)에 소정의 보드를 접속하거나, 소정의 소프트 웨어 프로그램을 생성하여, CPU41에 인스톨함으로써, 내부 버스(51)에 의해 전송되는 데이터를 수신할 수 있도록 이루어져 있다.
이것에 대하여, DVD 플레이어(1)나 광자기 디스크장치(3) 등의 소비자 일렉트로닉스(CE) 장치에서는 내부 버스(28)나 내부 버스(38)는 사용자에게 해방되어 있지 않고, 특수한 개조 등을 하지 않는 한, 사용자는 거기에 전송되는 데이터를 취득할 수 없도록 이루어져 있다.
다음에 소스와 싱크와의 사이에서 행하여지는 데이터의 수수에 관해서 설명한다.
저작권을 보호하기 위해서 행하여지는 인증의 처리는, 도 3에 도시하는 바와 같이 소스로서의 예를 들면 DVD 플레이어(1)의 ROM22에 미리 기억되어 있는 소프트 웨어 프로그램의 1개인 펌웨어(20)와, 싱크로서의 예를 들면 퍼스널 컴퓨터(2)의 R0M42에 기억되어 있고, CPU41이 처리하는 소프트 웨어 프로그램의 1개인 라이선스 매니저(62)와의 사이에서 실제의 데이터의 수수가 시행되기 전에 행하여진다.
퍼스널 컴퓨터(2)는 통상적으로, 임의의 애플리케이션(application) 프로그램을 로드하여 사용할 수 있다. 그리고, 이 애플리케이션 프로그램으로서는 부정하게 작성한 것이 사용되는 경우도 있다. 그래서, 이 퍼스널 컴퓨터(2)는 도 3에 도시하는 바와 같이, 애플리케이션부(61)와 라이선스 매니저(62)와의 사이에 있어서, 로드되는 애플리케이션 프로그램마다 인증처리를 하도록 되어 있다. 이 경우, 라이선스 매니저(62)가 소스로 되고, 애플리케이션부(61)가 싱크로 된다.
그리고, 인증의 처리가 행하여지고, 싱크가 적정한 것인 것이 확인되면, 소스로부터 암호화한 실제 데이터를 싱크에 전송하고 싱크에 있어서 이 암호화한 실제 데이터를 복호하게 된다.
즉, 소스로서의 DVD 플레이어(1)로부터 출력된 실제 데이터인 영상 데이터는 1394 시리얼 버스(11)를 통하여 퍼스널 컴퓨터(2)에 전송되어 복호된다.
이 경우, DVD 플레이어(1)에서는 1394 인터페이스(26)에 있어서, 세션 키(S)와 시간 변환 키(i)를 사용하여 암호화처리가 행하여진다. 이 세션 키(S)와 시간 변환 키(i)(정확하게는 시간 변환 키(i)를 작성하기 위한 키(i')는 각각 펌웨어(20)로부터 1394 인터페이스(26)에 공급된다.
세션 키(S)는 초기치로서 사용되는 초기치 키(Ss)와 시간 변환 키(i)를 교란하기 위해서 사용되는 교란 키(Si)에 의해 구성되어 있다. 이 초기치 키(Ss)와 교란 키(Si)는 후술하는 인증처리에 있어서 생성되는 소정의 비트 수의 암호 키(sk)(=sk')의 상위 비트와 하위 비트를 사용하여 각각 구성된다. 이 세션 키(S)는 세션마다(예를 들면, 1개의 영화정보마다 또는 1회의 재생마다), 적당히 갱신되지만 동일한 세션 내에 있어서는 변경되지 않는다. 이에 대하여, 교란 키(Si)와 키(i')로부터 구성되는 시간 변환 키(i)는 1개의 세션 내에 있어서 빈번히 갱신되는 키이며 예를 들면, 시간 정보 등이 사용된다.
이렇게하여 암호화된 실제 데이터는, IEEE1394 시리얼 버스(11)를 통하여 전송되며, 퍼스널 컴퓨터(2)의 1394 인터페이스(49)에 의해 수신된다. 퍼스널 컴퓨터에 있어서는, 라이선스 매니저(62)가 세션 키(S)중 초기치 키(Ss)를 애플리케이션부(61)에 공급하고, 교란 키(Si)와 시간 변환 키(i)(정확하게는 시간 변환 키(i)를 생성하기 위한 키(i'))를 1394 인터페이스(49)에 공급한다. 그리고, 1394 인터페이스(49)에 있어서, 교란 키(Si)와 키(i')로부터 시간 변환 키(i)가 생성되며, 시간 변환 키(i)를 사용하여 1단째의 복호가 행하여지고, 복호된 실제 데이터는 애플리케이션부(61)에 있어서, 또한, 세션 키(S)(정확하게는 초기치 키(Ss))를 사용하여 2단째의 복호가 행하여진다.
이와 같이, 퍼스널 컴퓨터(2)에 있어서는 내부 버스(51)가 사용자에게 해방되어 있기 때문에, 내부 버스(51)에 있는 데이터가 외부로부터 액세스되어 문제가 될 가능성이 있기 때문에, 1394 인터페이스(49)에 의해 제1 단계의 복호만을 행하고 실제 데이터는 아직 암호상태로 해 둔다. 그리고, 애플리케이션부(61)에 있어서, 또한, 제2 단계의 복호를 하고, 암호를 완전히 해제한 평범한 문자로 한다. 이로 인해, 내부 버스(51)에 있어서 수수되는 데이터를 하드 디스크(47)나 다른 장치에 카피하는 것을 금지한다.
도 4는 소스(DVD 플레이어(1))와 싱크(퍼스널 컴퓨터(2))와의 사이에서 행하여지는 인증처리의 기본적인 순서를 도시하고 있다.
소스로서의 DVD 플레이어(1)의 EEPROM27에는, 서비스 키(Service_key)와 hash 함수(H1, H2)가 미리 기억되어 있다. 이들은, 어느것이나 저작권자로부터 DVD 플레이어(1)의 사용자에게 주어진 것이며, EEPROM27에 비밀리에 보관되어 있는 것이다.
서비스 키는, 저작권자가 제공하는 정보마다 주어지는 것이며, IEEE1394 시리얼 버스(11)로 구성되는 시스템에 있어서 공통된 것이다.
hash 함수는, 임의 길이의 입력 데이터에 대하여, 64비트 또는 128비트 등의 고정 길이의 데이터를 출력하는 함수이고, y(=hash(x))를 주어졌을 때, x를 구하는 것이 곤란하며, 또한, hash(x1)=hash(x2)가 되는 x1과 x2와의 조를 구하는 것도 곤란하게 되는 함수이다. 1방향 hash 함수의 대표적인 것으로서 MD(Message Digest)(5)나 SHA(Soecure Hash A1gorythm) 등이 알려지고 있다. 이 1방향 hash 함수에 관해서는, Bruce Schneier 저 「Applied Cryptography(Second Edition), Wiley」에 자세히 해설되어 있다.
한편, 싱크로서의 퍼스널 컴퓨터(2)에는 자기자신에게 고유의 식별번호(ID), 라이선스 키(license_key), hash 함수(H1, H2) 및 라이선스 키(license_key)의 버전을 나타내는 데이터(Gb)가 EEPROM50에 비밀리에 유지되고 있다.
라이선스 키(license_key)는 n비트의 식별번호(ID)와 m비트의 서비스 키(Service_key)를 연결하여 얻은 n+m비트의 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 Gb회 적용하여 얻어지는 값이다. 즉, 라이선스 키(license_key)는 다음의 식으로 나타낸다.
license_key=H1^Gb(ID∥Service_key)
또한, H1^Gb는 hash 함수(H1)를 Gb회 적용하는 것을 나타내고 있다.
또한, 식별번호(ID)로서는, 예를 들면 1394 시리얼 버스(11)의 규격으로 정해져 있는 node_unique_ID를 사용할 수 있다. 이 node_unique_ID는 8 바이트(64비트)로 구성되고, 상위 3바이트는 IEEE에서 관리되어, 전자기기의 각 메이커에 IEEE로부터 고유의 값이 부여되며, 하위 5바이트는 각 메이커가 사용자에게 제공하는 각 장치에 대하여 부여할 수 있는 것이다. 각 메이커는 예를 들면 하위 5 바이트에 대하여 시리얼에 1대에 1개의 번호를 할당하도록 하고, 5바이트분을 전부 사용한 경우에는, 상위 3바이트가 또한 별도의 번호로 되어 있는 node_unique_ID의 부여를 받아, 그 하위 5바이트에 관해서 1대에 1개의 번호를 할당하도록 한다. 따라서, 이 node_unique_ID는 메이커에 관계없이, 1대마다 다른 것으로 되어 각 장치에 고유의 것이 된다.
다음에, 실제 데이터의 송수신에 앞서 행하여지는 인증의 처리에 관해서, 도 4를 참조하여 설명한다.
스텝(S1)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 1394 인터페이스(49)를 제어함으로써, 1394 시리얼 버스(11)를 통하여 DVD 플레이어(1)를 향하여 인증 요구를 송신한다.
스텝(S2)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 인증 요구를 수신한다. 다음의 스텝(S3)에 있어서, 펌웨어(20)는 인증처리를 하기 위해 퍼스널 컴퓨터(2)에 대하여 식별번호(ID)를 요구한다.
스텝(S4)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 식별번호(ID)의 요구를 수신하고, 스텝(S5)에 있어서 그 응답으로서 EEPR0M50에 기억되어 있는 식별번호(ID)를 판독하여 DVD 플레이어(1)에 송신한다.
스텝(S6)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 식별번호(ID)를 수신한다. 그리고, 펌웨어(20)는 스텝(S7)에 있어서, EEPR0M27에 기억되어 있는 라이선스 키(license_key)를 판독하고 수신한 식별번호(ID)와 라이선스 키(license_key)를 연결하여, 예를 들면 상위 비트를 식별번호(ID)로서 하위 비트를 라이선스 키(license_key)로 한 연결 데이터(ID∥Service_key)를 생성하고, 생성한 연결 데이터(1D∥Service_key)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 적용하여,
Km=H1(ID∥Service_key)
키(Km)를 생성한다.
다음의 스텝(S8)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 0≤n≤C1을 채우는 바와 같은 변수(n)를 선택한다. 또한, n은 0≤n≤C1을 채우도록 미리 설정된 값이고, 이 스텝(S8)으로 선택하지 않아도 좋다. 또한, C1은 미리 시스템 내에 있어서 설정되어 있는 정수이다. 그리고, 펌웨어(20)는 스텝(S9)에 있어서, 상기 스텝(S7)에 있어서 생성한 키(Km)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 n회 적용하여,
Km_n=H1^n(Km)
키(Km_n)를 생성한다. 또한, H1^n은 hash 함수(H1)를 n회 적용하는 것을 나타내며, n=0일 때, Km_n=Km으로 한다. 더욱이, 펌웨어(20)는 스텝(S31)에 있어서 난수(Na)를 생성한다. 그리고, 스텝(S10)에 있어서 펌웨어(20)는 변수(n)를 퍼스널 컴퓨터(2)에 송신한다.
스텝(S11)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 변수(n)를 수신한다. 그리고, 스텝(S34)에 있어서, 라이선스 매니저(62)는 EEPROM50에 기억되어 있는 라이선스 키(license_key)에 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 (n-Gb)회 적용하여,
K1ic_n=H1^(n-Gb)(license_key)
키(Klic_n)를 생성한다.
또한, (n-Gb)의 n은 스텝(S11)에 있어서 수신된 변수(n)이고, 또한, Gb는 퍼스널 컴퓨터(2)의 EEPROM50에 기억되어 있는 라이선스 키(license_key)의 버전을 나타내는 정보이다. 위에서 언급한 바와 같이 라이선스 키(license_key)는 n비트의 식별번호(ID)와 m비트의 서비스 키(Service_key)를 연결하여 얻은 n+m비트의 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 Gb회 적용하여 생성된 것이므로 라이선스 키(license_key)에 hash 함수(H1)를 (n-Gb)회 적용함으로써 생성되는 키(Klic_n)는 (n-Gb)=0의 경우에 Klic_n=license_key로 되어 있고, (n-Gb)≥0이면, 상기 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 n회 적용하여 생성되는 Km_n과 같다.
여기서, (n-Gb)〈0인 경우에는, hash 함수를 마이너스회 적용하는 경우, 즉 hash 함수의 역함수를 구하게 되고, 위에서 언급한 바와 같이 hash 함수의 역함수를 구하는 것은 곤란하기 때문에, (n-Gb)〈0이면, 키(Klic_n)를 생성하는 것은 실질적으로 불가능해진다. 따라서, 이 성질을 이용함으로써, 라이선스 키(license_key)의 버전 정보(Gb)의 관리를 하는 것이 가능해진다. 예를 들면, 비밀 유지 기능이 높은 기기와 비밀 유지 기능이 낮은 기기가 싱크측의 장치로서 존재하고 있는 경우에, 비밀 유지 기능이 높은 기기에 대하여는 라이선스 키(license_key)의 버전 정보(Gb)로서 「1」을 부여해 놓고, 비밀 유지 기능이 낮은 기기에 대하여는 라이선스 키(license_key)의 버전정보(Gb)로서 「2」를 부여해 놓는다. 그리고, 비밀 유지 기능이 낮은 기기에 주어진 Gb=2의 라이선스 키(license_key)가 부정한 사용자에 의해 폭로되어 버린 경우에도, 소스측에서 변수(n)에 「1」을 선택하도록 함으로써, 비밀 유지 기능이 낮은 기기는 (n-Gb)〈0이 되기 때문에, 키(Klic_n)를 생성할 수 없게 되어 인증될 수 없게 된다.
따라서, 비밀 유지 기능이 낮은 기기에 대하여는 보다 높은 차원 즉 버전정보(Gb)의 값이 큰 라이선스 키(license_key)를 부여함으로써, 그 라이선스 키(license_key)가 폭로된 경우에, 그 보다도 높은 차원의 라이선스 키(license_key)를 갖는 싱크를 인증의 대상 밖으로 하는 처리를 소스측에서 변수(n)를 선택함으로써 행할 수 있다.
더욱이, 스텝(S13)에 있어서, 라이선스 매니저(62)는 다음의 식으로 나타내는 바와 같이, 키(Klic_n)를 키로 하는 Keyedhash 함수(H2)에, 예를 들면 상위 비트가 제1의 값(Na)에서 하위 비트가 제2의 값(Nb)의 데이터(Na∥Nb)를 적용함으로써,
R=Keyedhash H2(Klic_n, Na∥Nb)
리스폰스(R)를 생성한다.
또한, Keyedhash 함수는 키가 부착된 hash 함수이고, Keyedhash H2(Klic_n, Na∥Nb)는, Klic_n을 키로 하는 Keyedhash 함수(H2)에 상기 데이터(Na∥Nb)를 입력하는 것을 나타내고 있다.
그리고, 스텝(S14)에 있어서, 라이선스 매니저(62)는 리스폰스(R)를 DVD 플레이어(1)에 송신한다.
DVD 플레이어(1)의 펌웨어(20)는 스텝(S15)에 있어서, 라이선스 매니저(62)로부터 송신되어 오는 리스폰스(R)를 수신한다. 그리고, 스텝(S16)에 있어서, 펌웨어(20)는 스텝(S9)에 있어서 생성한 키(Km_n)를 키로 하는 Keyedhash H2에, 상위 비트가 제1의 값(Na)에서 하위 비트가 제2의 값(Nb)의 데이터(Na∥Nb)를 적용함으로써 얻어지는 리스폰스(R')가 스텝(S15)에 있어서 수신한 리스폰스(R)와 동일한지의 여부를 판정한다.
또한, 스텝(S9)에 있어서 생성한 키(Km_n)와 스텝(S13)으로 생성한 키(Klic_n)가 같은 경우에, 스텝(S16)으로 생성한 리스폰스(R')가 스텝(S15)에 있어서 수신한 리스폰스(R)와 같아진다.
그리고, 펌웨어(20)는 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같지 않는 경우에는 퍼스널 컴퓨터(2)의 라이선스 매니저(62)가 부정한 것이라고 판단하고, 수신한 리스폰스(R)를 파기하여 인증처리를 종료한다.
한편, 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같은 경우에, 펌웨어(20)는 인증한다.
다음에, 도 5는 소스(DVD 플레이어(1))와 싱크(퍼스널 컴퓨터(2))와의 사이에서 행하여지는 구체적인 인증의 순서를 나타내고 있다.
소스로서의 DVD 플레이어(1)의 EEPROM27에는, 서비스 키(Service_key)와 hash 함수(H1, H2, H3)가 미리 기억되어 있다. 이들은, 어느것이나 저작권자로부터 DVD 플레이어(1)의 사용자에게 주어진 것이며, EEPROM27에 비밀리에 보관되어 있는 것이다.
서비스 키는, 저작권자가 제공하는 정보마다 주어지는 것이며, IEEE1394 시리얼 버스(11)로 구성되는 시스템에 있어서 공통된 것이다.
한편, 싱크로서의 퍼스널 컴퓨터(2)에는 자기자신에게 고유의 식별번호(ID), 라이선스 키(license_key), hash 함수(H1, H2, H3) 및 라이선스 키(license_key)의 버전을 나타내는 데이터(Gb)가 EEPROM50에 비밀리에 유지되고 있다.
라이선스 키(license_key)는,
license_key=H1^Gb(ID∥Service_key)
로써 주어진다. 또한, H1^Gb는, hash 함수(H1)를 Gb회 적용하는 것을 나타내고 있다. 즉, 라이선스 키(license_key)는 n비트의 식별번호(ID)와 m비트의 서비스 키(Service_key)를 연결하여 얻은 n+m비트의 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 Gb회 적용하여 얻어지는 값이다.
또한, 식별번호(ID)로서는, 1394 시리얼 버스(11)의 규격으로 정해져 있는 node_unique_ID가 사용되고 있다.
다음에, 실제 데이터의 송수신에 앞서 행하여지는 인증의 구체적인 처리에 관해서, 도 5를 참조하여 설명한다.
스텝(S21)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 난수(Nb)를 생성한다. 그리고, 스텝(S2)2에 있어서, 라이선스 매니저(62)는 생성한 난수(Nb)와 버전정보(Gb)를 1394 인터페이스(49)를 제어함으로써, 1394 시리얼 버스(11)를 통하여 DVD 플레이어(1)를 향하여 인증 요구와 함께 송신한다.
스텝(S23)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 인증 요구와 함께 난수(Nb)와 버전정보(Gb)를 수신한다. 다음의 스텝(S24)에 있어서, 펌웨어(20)는 인증처리를 하기 위해서 퍼스널 컴퓨터(2)에 대하여 식별번호(ID)를 요구한다.
스텝(S25)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 식별번호(ID)의 요구를 수신하고, 스텝(S26)에 있어서, 그 응답으로서 EEPROM50에 기억되어 있는 식별번호(ID)를 판독하여 DVD 플레이어(1)에 송신한다.
스텝(S27)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 식별번호(ID)를 수신한다. 그리고, 펌웨어(20)는 스텝(S28)에 있어서, EEPROM27에 기억되어 있는 라이선스 키(license_key)를 판독하고, 수신한 식별번호(ID)와 라이선스 키(license_key)를 연결하여, 예를 들면 상위 비트를 식별번호(ID)로 하고 하위 비트를 라이선스 키(license_key)로 한 연결 데이터(ID∥Service_key)를 생성하고, 생성한 연결 데이터(ID∥Service_key)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 적용하여,
Km=H1(ID∥Service_key)
키(Km)를 생성한다.
다음의 스텝(S29)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 0≤n≤C1을 채우는 바와 같은 변수(n)를 선택한다. 또한, n은 0≤n≤C1을 채우도록 미리 설정된 값이고, 이 스텝(S29)으로 선택하지 않아도 좋다. 또한, C1은, 미리 시스템 내에 있어서 설정되어 있는 정수이다. 그리고, 펌웨어(20)는 스텝(S30)에 있어서, 상기 스텝(S28)에 있어서 생성한 키(Km)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 n회 적용하여,
Km_n=H1^n(Km)
키(Km_n)를 생성한다. 또한, H1^n은 hash 함수(H1)를 n회 적용하는 것을 나타내며, n=0일 때, Km_n=Km으로 한다. 또한, 펌웨어(20)는 스텝(S31)에 있어서, 난수(Na)를 생성한다. 그리고, 스텝(S32)에 있어서, 펌웨어(20)는 난수(Na)와 변수(n)를 퍼스널 컴퓨터(2)에 송신한다.
스텝(S33)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 난수(Na)와 변수(n)를 수신한다. 그리고, 스텝(S34)에 있어서 라이선스 매니저(62)는 EEPROM50에 기억되어 있는 라이선스 키(license_key)에, 다음의 식으로 나타내는 바와 같이 hash 함수(H1)를 (n-Gb)회 적용하여,
Klic_n=H1^(n-Gb)(license_key)
키(Klic_n)를 생성한다.
또한, (n-Gb)의 n은 스텝(S33)에 있어서 수신된 변수(n)이고, 또한, Gb는 퍼스널 컴퓨터(2)의 EEPR0M50에 기억되어 있는 라이선스 키(license_key)의 버전을 나타내는 정보이다. 위에서 언급한 바와 같이 라이선스 키(license_key)는, n비트의 식별번호(ID)와 m비트의 서비스 키(Service_key)를 연결하여 얻은 n+m비트의 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 Gb회 적용하여 생성된 것이므로, 라이선스 키(license_key)에 hash 함수(H1)를 (n-Gb)회 적용함으로써 생성되는 키(Klic_n)는 (n-Gb)=0의 경우에 Klic_n=license_key로 되어 있고, (n-Gb)≥0이다, 상기 연결 데이터(ID∥Service_key)에 대하여, hash 함수(H1)를 n회 적용하여 생성되는 Km_n과 같다.
여기서, (n-Gb)〈0인 경우에는, hash 함수를 마이너스회 적용하는 경우, 즉 hash 함수의 역함수를 구하게 되고, 위에서 언급한 바와 같이 hash 함수의 역함수를 구하기는 곤란하기 때문에, (n-Gb)〈0이면, 키(Klic_n)를 생성하는 것은 실질적으로 불가능해진다. 따라서, 이 성질을 이용함으로써, 라이선스 키(license_key)의 버전정보(Gb)의 관리를 하는 것이 가능해진다. 예를 들면, 비밀 유지 기능이 높은 기기와 비밀 유지 기능이 낮은 기기가 싱크측의 장치로서 존재하고 있는 경우에, 비밀 유지 기능이 높은 기기에 대하여는 라이선스 키(license_key)의 버전정보(Gb)로서 「1」을 부여해 놓고, 비밀 유지 기능이 낮은 기기에 대하여는 라이선스 키(license_key)의 버전정보(Gb)로서 「2」를 부여해 놓는다. 그리고, 비밀 유지 기능이 낮은 기기에 주어진 Gb=2의 라이선스 키(license_key)가 부정한 사용자에 의해 폭로되어 버린 경우에도, 소스측에서 변수(n)에 「1」을 선택하도록 함으로써, 비밀 유지 기능이 낮은 기기는 (n-Gb)〈0이 되기 때문에, 키(Klic_n)를 생성할 수 없게 되어 인증될 수 없게 된다.
따라서, 비밀 유지 기능이 낮은 기기에 대하여는 보다 높은 차원 즉 버전정보(Gb)의 값이 큰 라이선스 키(license_key)를 부여함으로써, 그 라이선스 키(license_key)가 폭로된 경우에, 그보다도 높은 차원의 라이선스 키(license_key)를 갖는 싱크를 인증의 대상 밖으로 하는 처리를 소스측에서 변수(n)를 선택함으로써 행할 수 있다.
또한, 스텝(S35)에 있어서, 라이선스 매니저(62)는 다음의 식으로 나타내는 바와 같이, 키(Klic_n)를 키로 하는 Keyedhash 함수(H2)에 스텝(S33)에 있어서 수신한 난수(Na)와 스텝(S21)에 있어서 생성한 난수(Nb)를 연결한 연결 데이터(Na∥Nb)를 적용함으로써,
R=Keyedhash H2(Klic_n, Na∥Nb)
리스폰스(R)를 생성한다.
또한, Keyedhash 함수는 키가 부착된 hash 함수이고, Keyedhash H2(Klic_n, Na∥Nb)는 Klic_n을 키로 하는 Keyedhash 함수(H2)에 난수(Na)와 난수(Nb)의 연결 데이터(Na∥Nb)를 입력하는 것을 나타내고 있다.
그리고, 스텝(S36)에 있어서, 라이선스 매니저(62)는 리스폰스(R)를 DVD 플레이어(1)에 송신한다.
DVD 플레이어(1)의 펌웨어(20)는 스텝(S37)에 있어서, 라이선스 매니저(62)로부터 송신되어 오는 리스폰스(R)를 수신한다. 그리고, 스텝(S38)에 있어서, 펌웨어(20)는 스텝(S30)에 있어서 생성한 키(Km_n)를 키로 하는 Keyedhash H2에, 스텝(S31)에 있어서 생성한 난수(Na)와 스텝(S3)에 있어서 수신한 난수(Nb)를 연결한 연결 데이터(Na∥Nb)를 적용함으로써 얻어지는 리스폰스(R')가 스텝(S37)에 있어서 수신한 리스폰스(R)와 동일한지의 여부를 판정한다.
또한, 스텝(S30)에 있어서 생성한 키(Km_n)와 스텝(S34)으로 생성한 키(Klic_n)가 같은 경우에, 스텝(S38)으로 생성한 리스폰스(R')가 스텝(S37)에 있어서 수신한 리스폰스(R)와 같아진다.
그리고, 펌웨어(20)는 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같지 않은 경우에는 퍼스널 컴퓨터(2)의 라이선스 매니저(62)가 부정한 것이라고 판단하고, 수신한 리스폰스(R)를 파기하여 인증처리를 종료한다.
한편, 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같은 경우에 펌웨어(20)는 스텝(S39)으로 진행한다.
이 스텝(S39)에 있어서, 펌웨어(20)는 스텝(S30)에 있어서 생성한 키(Km_n), 스텝(S31)으로 생성한 난수(Na) 및 스텝(S3)으로 수신한 난수(Nb)를 연결하여, 연결 데이터(Km_n∥Na∥Nb)를 생성하여, 이 연결 데이터(Km_n∥Na∥Nb)에 대하여 다음의 식으로 나타내는 바와 같이 hash 함수(H3)를 적용하여,
Kab=H3(Km_n∥Na∥Nb)
키(Kab)를 생성한다.
다음의 스텝(S40)에 있어서, 펌웨어(20)는 세션 키(sk)를 생성한다. 또한, 펌웨어(20)는 스텝(S41)에 있어서, 다음의 식으로 나타내는 연산에 의해, 스텝(S39)에 있어서 생성한 키(Kab)에 의해서 세션 키(sk)를 암호화하고,
X=Enc(Kab, sk)
암호화 데이터(암호 키)(X)를 생성한다. 또한, Enc(A, B)는 공통키 암호방식으로, 키(A)를 사용하여 데이터(B)를 암호화하는 것을 의미한다. 그리고, 스텝(S42)에 있어서, 펌웨어(20)는 생성한 암호 키(X)를 퍼스널 컴퓨터(2)에 송신한다.
퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 스텝(S43)에 있어서, 암호 키(X)를 수신한다. 또한, 스텝(S44)에 있어서, 라이선스 매니저(62)는 스텝(S34)에 있어서 생성한 키(Klic_n), 스텝(S33)에 있어서, 수신한 난수(Na) 및 스텝(S21)에 있어서 생성한 난수(Nb)를 연결하여, 연결 데이터(Klic_n∥Na∥Nb)를 생성하고, 이 연결 데이터(Klic_n∥Na∥Nb)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(H3)를 적용하여,
Kab'=H3(Km_n∥Na∥Nb)
키(Kab')를 생성한다.
그리고, 다음의 스텝(S45)에 있어서, 라이선스 매니저(62)는 스텝(S44)으로 생성한 키(Kab')에 의해서, 스텝(S43)에 있어서 수신한 암호 키(X)를 복호하여, 다음의 식과 같이,
sk'=Dec(Kab', X)
세션 키(sk')를 연산한다.
여기서, Dec(A, B)는 공통키 암호방식으로, 키(A)를 사용하여 데이터(B)를 복호하는 것을 의미한다. 또한, 공통키 암호방식에 있어서의 암호화의 알고리즘으로서는, DES(Data Encrption Standard)가 알려지고 있다. 또한, 공통키 암호방식에 관해서도, 위에서 언급한 「Applied Cryptography(Second Edition), Wiley」에 상세하게 해설되어 있다.
위에서 언급한 스텝(S39)에 있어서 DVD 플레이어(1)의 펌웨어(20)에 의해 생성되는 키(Kab)는 위에서 언급한 스텝(S44)에 있어서 퍼스널 컴퓨터(2)의 라이선스 매니저(62)에 의해 생성되는 키(Kab')와 동일한 값이 된다. 즉, 다음의 식이 성립한다.
Kab= Kab'
따라서, 위에서 언급한 스텝(S45)에 있어서 퍼스널 컴퓨터(2)의 라이선스 매니저(62)에 의해서 암호 키(X)를 복호하여 얻어지는 세션 키(sk')는 위에서 언급한 스텝(S40)에 있어서 DVD 플레이어(1)의 펌웨어(20)에 의해 생성되는 세션 키(sk)와 동일한 값이 된다. 즉, 다음의 식이 성립한다.
sk'=sk
이와 같이, DVD 플레이어(1)의 펌웨어(20)(소스)와 퍼스널 컴퓨터(2)의 라이선스 매니저(62)(싱크)의 양쪽에 있어서, 동일한 세션 키(Sk, sk')를 공급할 수 있다. 따라서, 이 세션 키(sk)를 그대로 암호 키로서 사용하든지, 또는, 이것을 기초로 하여 각각에 관해서 유사 난수를 만들어 내어 그것을 암호 키로서 사용할 수 있다.
라이선스 키(license_key)는 위에서 언급한 바와 같이, 각 장치에 고유의 식별번호(ID)와 공급하는 정보에 대한 서비스 키(Service_key)에 근거하여 생성되어 있기 때문에, 다른 장치가 세션 키(sk) 또는 세션 키(sk')를 생성할 수는 없다. 또한, 저작권자로부터 인정되어 있지 않은 장치는 라이선스 키(license_key)를 가지고 있지 않기 때문에 세션 키(sk) 또는 세션 키(sk')를 생성할 수 없다. 따라서, DVD 플레이어(1)가 세션 키(sk)를 사용하여 실제 데이터를 암호화하여 퍼스널 컴퓨터(2)에 전송한 경우, 퍼스널 컴퓨터(2)가 적정하게 라이선스 키(license_key)를 얻은 것일 경우에는 암호 키(X)를 복호한 세션 키(sk')를 가지고 있기 때문에, DVD 플레이어(1)로부터 전송되어 온 암호화되어 있는 실제 데이터를 복호 할 수 있다. 그러나, 퍼스널 컴퓨터(2)가 적정한 것이 아닌 경우에는, 암호 키(X)를 복호 할 수 없기 때문에 세션 키(sk')를 갖지 않고, 전송되어 온 암호화되어 있는 실제 데이터를 복호 할 수 없다. 바꾸어 말하면, 적정한 장치만이 공통된 세션 키(Sk, sk')를 생성할 수 있기 때문에 결과적으로 인증이 행하여지게 된다.
또한, 가령 1대의 퍼스널 컴퓨터(2)의 라이선스 키(license_key)를 도둑 맞았다고 해도 식별번호(ID)가 1대마다 다르기 때문에, 그 라이선스 키(license_key)를 사용하여, 다른 장치가 DVD 플레이어(1)로부터 전송되어 온 암호화되어 있는 실제 데이터를 복호할 수는 없다. 따라서, 안전성이 향상한다.
위에서 언급한 실시의 형태에 있어서는, 복수의 hash 함수를 사용하였지만, 1개의 hash 함수를 사용하도록 할 수도 있다. 예를 들면, hash 함수로서 널리 사용되고 있는 MD(Message Digest)(5)를 사용한 경우를 예로 들어, 도 6의 타이밍 챠트를 참조하여 인증의 순서에 관해서 설명한다.
MD5는, 입력 데이터의 비트 수를 512×m-64(m=1, 2, ···) 비트마다 처리하여 128비트의 출력 데이터를 출력하는 것이다. 이 MD5에 관해서도, 위에서 언급한 「App1ied Cryptography(Second Edition), Wiley」에 상세하게 해설되어 있다.
도 6에 도시하는 인증처리의 순서에 있어서, 스텝(S51) 내지 스텝(S57)의 처리는 위에서 언급한 도 5에 도시한 인증처리의 순서에 있어서의 스텝(S21) 내지 스텝(S27)의 처리와 같은 처리이므로 그 설명을 생략한다.
스텝(S58)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 정수(E1), 퍼스널 컴퓨터(2)로부터 수신한 식별번호(ID) 및 EEPROM27에 기억되어 있는 서비스 키(Service_key)를 연결하여, 연결 데이터(E1∥ID∥Service_key)를 생성하여, 이 연결 데이터(E1∥ID∥Service_key)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(MD5)를 적용하여,
Km=MD5(E1∥ID∥Service_key)
키(Km)를 생성한다.
여기서, 정수(El)는 미리 시스템 이내에 있어서, 공통으로 설정되어 있다. 또한, 다음에 언급하는 정수(E2 내지 E4)에 관해서도 마찬가지이다. 이들의 정수(E1 내지 E4)는 각 시스템에 있어서 비밀리에 유지되고 있다.
위에서 언급한 키(Km)를 구하는 식에 있어서, 예를 들면, 정수(E1)를 256비트, 식별번호(ID)를 64비트, 서비스 키(Service_key)를 128비트로 함으로써, 그들을 연결하여 얻어지는 연결 데이터(E1∥ID∥Service_key)의 합계 비트 수는 448비트가 된다. 이 연결 데이터(E1∥ID∥Service_key)는 hash 함수(MD5)를 적용함으로써 128비트로 압축되어 키(Km)가 된다.
다음 스텝(S59)에 있어서, DVD 플레이어(1)의 펌웨어(20)는 0≤n≤C1을 채우는 바와 같은 변수(n)를 선택한다. 또한, 이 변수(n)의 선택은 위에서 언급한 도 5에 도시한 인증처리의 순서에 있어서의 스텝(S29)과 같은 처리이다. 그리고, 펌웨어(20)는 스텝(S60)에 있어서, 정수(E2)와 상기 스텝(S58)에 있어서 생성한 키(Km)를 연결하여, 그 연결 데이터(E2∥Km)에 대하여, 다음의 식으로 나타내는 바와 같이 hash 함수(MD5)를 n회 적용하여,
Km_n=MD5^n(E2∥Km)
키(Km_n)를 생성한다. 또한, MD5^n은, hash 함수(MD5)를 n회 적용하는 것을 나타내며, n=0일 때, Km_n=(E2∥Km)으로 한다.
위에서 언급한 키(Km_n)를 구하는 식에 있어서, 키(Km)는 128비트의 데이터이기 때문에, 정수(E2)를 320비트로 함으로써, 그들을 연결하여 얻어지는 연결 데이터(E2∥Km)의 합계 비트 수는 448비트가 된다. 이 연결 데이터(E2∥Km)는 hash 함수(MD5)를 적용함으로써 128비트로 압축되어 키(Km_n)가 된다.
또한, 펌웨어(20)는 스텝(S61)에 있어서 난수(Na)를 생성한다. 그리고, 스텝(S62)에 있어서, 펌웨어(20)는 스텝(S62)에 있어서 생성한 난수(Na)와 스텝(S59)에 있어서 선택한 변수(n)를 퍼스널 컴퓨터(2)에 송신한다.
스텝(S63)에 있어서, 퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 난수(Na)와 변수(n)를 수신한다. 그리고, 스텝(S64)에 있어서, 라이선스 매니저(62)는 EEPROM50에 기억되어 있는 라이선스 키(license_key)로 다음의 식으로 나타내는 바와 같이 hash 함수(MD5)를 (n-Gb)회 적용하여,
Klic_n=MD5^(n-Gb)(license_key)
키(Klic_n)를 생성한다.
또한, 이 경우도 위에서 언급한 도 5에 도시한 인증처리의 순서에 있어서의 스텝(S34)에 있어서 설명한 것과 같이, (n-Gb)=0인 경우에 Klic_n=license_key로 되어 있고, (n-Gb)〈0 일 경우는 키(Klic_n)는 생성되지 않는다.
또한, 스텝(S65)에 있어서, 라이선스 매니저(62)는 정수(E3), 스텝(S63)에 있어서 수신한 난수(Na), 스텝(S51)에 있어서 생성한 난수(Nb) 및 스텝(S64)에 있어서 생성한 키(Klic_n)를 연결하여, 그 연결 데이터(E3∥Na∥Nb∥Klic_n)를 hash 함수(MD5)에 적용함으로써 다음 식으로 나타내는 바와 같이,
R=MD5(E3∥Na∥Nb∥K1ic_n)
리스폰스(R)를 생성한다. 이 리스폰스(R)를 생성하는 식에 있어서, 정수(E3)는 64비트, 난수(Na), 난수(Nb) 및 키(Klic_n)는 각각 128비트로 함으로써, 그 연결 데이터(E3∥Na∥Nb∥Klic_n)의 합계 비트 수는 448비트가 된다. 이 연결 데이터(E3∥Na∥Nb∥Klic_n)는 hash 함수(MD5)를 적용함으로써, 128비트로 압축되어 리스폰스(R)로서 출력된다.
그리고, 스텝(S66)에 있어서, 라이선스 매니저(62)는 리스폰스(R)를 DVD 플레이어(1)에 송신한다.
DVD 플레이어(1)의 펌웨어(20)는 스텝(S67)에 있어서, 라이선스 매니저(62)로부터 송신되어 오는 리스폰스(R)를 수신한다. 그리고, 스텝(S68)에 있어서, 펌웨어(20)는 정수(E3), 스텝(S61)에 있어서 생성한 난수(Na), 스텝(S53)에 있어서 수신한 난수(Nb) 및 스텝(S60)에 있어서 생성한 키(Km_n)를 연결하여, 그 연결 데이터(E3∥Na∥Nb∥Km_n)를 hash 함수(MD5)에 적용함으로써 얻어지는 리스폰스(R')가 스텝(S67)에 있어서 수신한 리스폰스(R)와 동일한지의 여부를 판정한다.
그리고, 펌웨어(20)는 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같지 않은 경우에는 퍼스널 컴퓨터(2)의 라이선스 매니저(62)가 부정한 것이라고 판단하여 수신한 리스폰스(R)를 파기하고 인증처리를 종료한다.
한편, 생성한 리스폰스(R')가 수신한 리스폰스(R)와 같은 경우에 펌웨어(20)는 스텝(S69)으로 진행한다.
이 스텝(S69)에 있어서, 펌웨어(20)는 정수(E4), 스텝(S53)으로 수신한 난수(Nb), 스텝(S61)으로 생성한 난수(Na) 및 스텝(S60)에 있어서 생성한 키(Km_n)를 연결하여 연결 데이터(E4∥Nb∥Na∥Km_n)를 생성하여, 이 연결 데이터(E4∥Nb∥Na∥Km_n)에 대하여, 다음 식으로 나타내는 바와 같이 hash 함수(MD5)를 적용하여,
Kab=MD5(E4∥Nb∥Na∥Km_n)
키(Kab)를 생성한다. 이 키(Kab)를 생성하는 식에 있어서, 정수(E4)는 64비트, 난수(Na), 난수(Nb) 및 키(Klic_n)는 각각 128비트로 함으로써, 그 연결 데이터(E4∥Nb∥Na∥Km_n)의 합계 비트 수는 448비트가 된다. 이 연결 데이터(E3∥Nb∥Na∥Km_n)는, hash 함수(MD5)를 적용함으로써, 128비트로 압축되어 키(Kab)로서 출력된다.
다음의 스텝(S70)에 있어서, 펌웨어(20)는 세션 키(sk)를 생성한다. 또한, 펌웨어(20)는 스텝(S71)에 있어서, 다음 식으로 나타내는 연산에 의해, 스텝(S69)에 있어서 생성한 키(Kab)에 의해서 세션 키(sk)를 암호화하여,
X=Enc(Kab, sk)
암호화 데이터(암호 키)(X)를 생성한다. 그리고, 스텝(S72)에 있어서 펌웨어(20)는 생성한 암호 키(X)를 퍼스널 컴퓨터(2)에 송신한다.
퍼스널 컴퓨터(2)의 라이선스 매니저(62)는 스텝(S73)에 있어서, 암호 키(X)를 수신한다. 또한, 스텝(S74)에 있어서, 라이선스 매니저(62)는 정수(E4), 스텝(7S1)에 있어서 생성한 난수(Nb), 스텝(S63)에 있어서 수신한 난수(Na) 및 스텝(S64)에 있어서 생성한 키(Klic_n)를 연결하여, 연결 데이터(E4∥Nb∥Na∥Klic_n)를 생성하고 이 연결 데이터(E4∥Nb∥Na∥Klic_n)에 대하여, 다음 식으로 나타내는 바와 같이 hash 함수(MD5)를 적용하여,
Kab'=MD5(E4∥Nb∥Na∥Klic_n)
키(Kab')를 생성한다.
그리고, 다음의 스텝(S75)에 있어서, 라이선스 매니저(62)는 스텝(S74)으로 생성한 키(Kab')에 의해서, 스텝(S73)에 있어서 수신한 암호 키(X)를 복호하여 다음의 식과 같이,
sk'=Dec(Kab', X)
세션 키(sk')를 연산한다.
이와 같이, DVD 플레이어(1)의 펌웨어(20)(소스)와 퍼스널 컴퓨터(2)의 라이선스 매니저(62)(싱크)의 양쪽에 있어서, 1개의 hash 함수(MD5)를 공통으로 사용한 경우에 있어서도, 위에서 언급한 스텝(S69)에 있어서 DVD 플레이어(1)의 펌웨어(20)에 의해 생성되는 키(Kab)는 위에서 언급한 스텝(S74)에 있어서 퍼스널 컴퓨터(2)의 라이선스 매니저(62)에 의해 생성되는 키(Kab')와 동일한 값이 되어 다음 식이 성립한다.
Kab= Kab'
또한, 위에서 언급한 스텝(S75)에 있어서 퍼스널 컴퓨터(2)의 라이선스 매니저(62)에 의해서 암호 키(X)를 복호하여 얻어지는 세션 키(sk')는 위에서 언급한 스텝(S70)에 있어서 DVD 플레이어(1)의 펌웨어(20)에 의해 생성되는 세션 키(sk)와 동일한 값이 되어 다음의 식이 성립한다.
sk'=sk
위에서 언급한 바와 같이, 키(Kab)는 세션 키(sk)를 암호화하는 데 사용되는 것이지만, 수출규제 등을 고려하여, 보다 짧은 비트 수 밖에 사용할 수 없는 경우에는 새롭게 시스템 공통의 함수(F)를 준비하여, 이 함수(F)를 사용하여 축약(縮約)하도록 한다. 이 함수(F)는 시스템 내에서 비밀유지해 둘 필요가 있다. 예를 들면 이 축약(縮約)의 방법으로서, 입력 128비트의 경우, 그 상위 64비트와 하위 64비트의 XOR(배타적 논리합)을 출력하는 바와 같은 함수(F)를 사용함으로써, 128비트의 비트열을 64비트의 비트열로 축약할 수 있다.
이상의 실시의 형태의 설명에 있어서는, DVD 플레이어(1)(펌웨어(20))를 소스로 하고, 퍼스널 컴퓨터(2)(라이선스 매니저(62))를 싱크로 하였지만, 어느쪽의 장치를 소스로 하는지 싱크로 하는지는 임의이다. 또한, 각종 전자기기를 접속하는 외부 버스도, 1398 시리얼 버스에 한정되지 않아, 각종 버스를 이용할 수 있으며, 그것에 접속하는 전자기기도 위에서 언급한 예에 한정되지 않아 임의의 장치로 할 수 있다.
또한, 위에서 언급한 각종의 지령을 실행하는 컴퓨터 프로그램은 자기 디스크, CD-ROM 디스크 등의 기록매체나, 네트워크 등의 전송매체를 통하여 사용자에게 전송하고 필요에 따라서 내장하는 RAM이나 하드 디스크 등에 기억하여 이용시키도록 할 수 있다.

Claims (39)

  1. 제1의 정보 처리 장치와 제2의 정보 처리 장치로부터 구성되는 정보 처리 시스템에 있어서,
    상기 제1의 정보 처리 장치는,
    서비스 키와 소정의 함수를 기억하는 제1의 기억 수단과,
    상기 제2의 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 제1의 송수신 수단과,
    상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로부터 수신한 상기 제2의 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여 상기 함수를 적용함으로써, 제1의 중간 키를 생성하는 제1의 중간 키 생성 수단과,
    상기 제1의 중간 키에 대하여 상기 함수를 n(n은 정수)회 적용함으로써, 판정 키를 생성하는 판정 키 생성 수단과,
    상기 판정 키 생성 수단으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로 송신시키는 회수 데이터 송신 수단과,
    상기 판정 키와 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로부터 수신한 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 인증 수단을 구비하고,
    상기 제2의 정보 처리 장치는,
    자기자신에게 할당된 고유의 식별정보, 상기 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억하는 제2의 기억 수단과,
    상기 제1의 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 제2의 송수신 수단과,
    상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로부터 수신한 상기 회수 데이터를 사용하여 상기 함수를 상기 라이선스 키에 (n-Gb)회 적용함으로써, 제2의 중간 키를 생성하는 제2의 중간 키 생성 수단과,
    상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로 송신시키는 중간 키 정보 송신 수단을 구비하는 것을 특징으로 하는 정보 처리 시스템.
  2. 제 1 항에 있어서,
    상기 제1의 정보 처리 장치는, 제1의 값을 생성함과 동시에 상기 제1의 값을 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로 송신하는 제1의 값 생성 수단과, 상기 판정 키와, 상기 제1의 값과, 상기 제1의 송수신 수단에 의해 상기 제2의 정보 처리 장치로부터 수신한 제2의 값에 근거하여 연산처리를 하고 연산결과를 상기 인증수단에 공급하는 제1의 연산 수단을 더 구비하고,
    상기 제2의 정보 처리 장치는, 상기 제2의 값을 생성함과 동시에 상기 제2의 값을 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로 송신하는 제2의 값 생성 수단과, 상기 제2의 중간 키와, 상기 제2의 값과, 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로부터 수신한 제1의 값에 근거하여 연산처리를 함으로써, 상기 제2의 중간 키의 중간 키 정보를 생성하는 제2의 연산수단을 더 구비하는 것을 특징으로 하는 정보 처리 시스템.
  3. 제 2 항에 있어서,
    상기 제1의 값 생성 수단과 상기 제2의 값 생성 수단의 적어도 한쪽은 난수를 생성하는 난수 생성 수단인 것을 특징으로 하는 정보 처리 시스템.
  4. 제 1 항에 있어서,
    상기 제1의 정보 처리 장치는 상기 판정 키 생성 수단에 의해 상기 제1의 중간 키에 대하여 상기 함수를 적용하는 회수(n)를 설정하는 설정 수단을 구비하고,
    상기 판정 키 생성 수단은 상기 제1의 중간 키에 대하여 상기 함수를 상기 설정수단에 의해 설정된 n회 적용함으로써 판정 키를 생성하는 것을 특징으로 하는 정보 처리 시스템.
  5. 제 2 항에 있어서,
    상기 제1의 정보 처리 장치는, 상기 인증 수단에 의해 동일하다고 판정된 경우에, 상기 판정 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 암호화 키를 생성하는 암호화 키 생성 수단과, 세션 키를 생성하는 세션 키 생성 수단과, 상기 암호화 키를 사용하여 상기 세션 키를 암호화하고, 상기 제2의 정보 처리 장치에 전송하는 암호화 수단을 구비하고,
    상기 제2의 정보 처리 장치는, 상기 제2의 중간 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 복호 키를 생성하는 복호 키 생성 수단과, 상기 복호 키를 사용하여 상기 제1의 정보 처리 장치로부터 전송된 암호화되어 있는 상기 세션 키를 복호하는 복호 수단을 구비하는 것을 특징으로 하는 정보 처리 시스템.
  6. 제 1 항에 있어서,
    상기 제2의 정보 처리 장치는 상기 제1의 정보 처리 장치에 대하여 인증을 요구하기 위한 인증 요구 데이터를 상기 제2의 송수신 수단으로부터 송신시키는 인증 요구수단을 더 구비하는 것을 특징으로 하는 정보 처리 시스템.
  7. 제 6 항에 있어서,
    상기 제1의 정보 처리 장치는 상기 제1의 송수신 수단이 상기 제2의 정보 처리 장치로부터의 상기 인증 요구 데이터를 수신하였을 때, 상기 제2의 정보 처리 장치에 대하여 상기 식별정보를 송신하는 것을 요구하기 위한 식별정보 요구 데이터를 상기 제1의 송수신 수단으로부터 송신시키는 식별정보 요구 데이터 송신 수단을 구비하는 것을 특징으로 하는 정보 처리 시스템.
  8. 제 7 항에 있어서,
    상기 제2의 정보 처리 장치는 상기 제2의 송수신 수단이 상기 제1의 정보 처리 장치로부터의 상기 식별정보 요구 데이터를 수신하였을 때, 상기 식별정보를 상기 제2의 송수신 수단으로부터 송신시키는 식별정보 송수신 수단을 더 구비하는 것을 특징으로 하는 정보 처리 시스템.
  9. 서비스 키와 소정의 함수를 기억한 제1의 정보 처리 장치와 자기자신에게 할당된 고유의 식별정보, 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억한 제2의 정보 처리 장치로부터 구성되는 정보 처리 시스템에 있어서의 정보 처리 방법으로서,
    상기 제2의 정보 처리 장치에 고유의 식별정보를 상기 제1의 정보 처리 장치로부터 상기 제2의 정보 처리 장치로 요구하는 식별정보 요구 스텝과,
    상기 제2의 정보 처리 장치에 고유의 식별정보를 당해 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하는 식별정보 송수신 스텝과,
    상기 제1의 정보 처리 장치에서 상기 식별정보 송수신 스텝으로 수신한 상기 제2의 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여 상기 함수를 적용함으로써 제1의 중간 키를 생성하는 제1의 중간 키 생성 스텝과,
    상기 제1의 정보 처리 장치에 있어서, 상기 제1의 중간 키에 대하여 상기 함수를 n(n은 정수)회 적용함으로써 판정 키를 생성하는 판정 키 생성 스텝과,
    상기 판정 키 생성 스텝으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 제1의 정보 처리 장치로부터 송신하여 상기 제2의 정보 처리 장치로 수신하는 회수 데이터 송수신 스텝과,
    상기 제2의 정보 처리 장치에 있어서, 상기 회수 데이터 수신 스텝으로 수신한 회수 데이터를 사용하여, 상기 라이선스 키에 상기 함수를 (n-Gb)회 적용함으로써 제2의 중간 키(Klic_n)를 생성하는 제2의 중간 키 생성 스텝과,
    상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하는 중간 키 정보 송수신 스텝과,
    상기 제1의 정보 처리 장치에서 상기 판정 키와 상기 중간 키 정보 송수신 스텝으로 수신한 상기 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 인증 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  10. 제 9 항에 있어서,
    상기 제1의 정보 처리 장치에서, 제1의 값을 생성하는 제1의 값 생성 스텝과,
    상기 제1의 값을 상기 제1의 정보 처리 장치로부터 송신하여 상기 제2의 정보 처리 장치로 수신하는 제1의 값 송수신 스텝과,
    상기 제2의 정보 처리 장치에서, 제2의 값을 생성하는 제2의 값 생성 스텝과,
    상기 제2의 값을 상기 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하는 제2의 값 송수신 스텝과,
    상기 제2의 정보 처리 장치에서, 상기 제2의 중간 키와, 상기 제2의 값과, 상기 제1의 값 송수신 스텝으로 수신한 상기 제1의 값에 근거하여 연산처리를 하고, 상기 제2의 중간 키의 중간 키 정보를 생성하는 중간 키 정보 생성 스텝과,
    상기 제1의 정보 처리 장치에서, 상기 판정 키와, 상기 제1의 값과, 상기 제2의 값 송수신 스텝으로 수신한 상기 제2의 값에 근거하여 연산처리를 하는 연산스텝을 가지며,
    상기 중간 키 정보 송수신 스텝에서는 상기 중간 키 정보 생성스텝으로 생성한 상기 제2의 중간 키의 중간 키 정보를 상기 제2의 정보 처리 장치로부터 송신하여 상기 제1의 정보 처리 장치로 수신하고,
    상기 인증 스텝에서는 상기 연산 스텝에서의 연산결과와 상기 판정 키와 상기 중간 키 정보 송수신 스텝으로 수신한 상기 중간 키 정보가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 것을 특징으로 하는 정보 처리 방법.
  11. 제 10 항에 있어서,
    상기 제1의 값과 상기 제2의 값의 적어도 한쪽은 난수 발생 수단에서 난수로서 주어지는 것을 특징으로 하는 정보 처리 방법.
  12. 제 9 항에 있어서,
    상기 판정 키 생성 스텝에 있어서 상기 제1의 중간 키에 대하여 상기 함수를 적용하는 회수(n)를 설정하는 설정 스텝을 가지며,
    상기 판정 키 생성스텝에서는 상기 제1의 중간 키에 대하여, 상기 함수를 상기 설정 스텝으로 설정된 n회 적용함으로써 판정 키를 생성하는 것을 특징으로 하는 정보 처리 방법.
  13. 제 10 항에 있어서,
    상기 제1의 정보 처리 장치에서, 상기 인증 스텝에 의해 동일하다고 판정된 경우에, 상기 판정 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 암호화 키를 생성하는 암호화 키 생성 스텝과,
    상기 제1의 정보 처리 장치에서, 세션 키를 생성하는 세션 키 생성 스텝과,
    상기 제1의 정보 처리 장치에서, 상기 암호화 키를 사용하여 상기 세션 키를 암호화하는 암호화 스텝과,
    상기 암호화 스텝으로 암호화된 상기 세션 키를 상기 제1의 정보 처리 장치로부터 송신하여 상기 제2의 정보 처리 장치로 수신하는 세션 키 송수신 스텝과,
    상기 제2의 정보 처리 장치에서, 상기 제2의 중간 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 복호 키를 생성하는 복호 키 생성스텝과,
    상기 제2의 정보 처리 장치에서, 상기 복호 키를 사용하여 상기 세션 키송수신 스텝으로 수신한 암호화되어 있는 상기 세션 키를 복호하는 복호 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  14. 제 9 항에 있어서,
    인증을 요구하기 위한 인증 요구 데이터를 상기 제2의 정보 처리 장치로부터 상기 제1의 정보 처리 장치로 송신하는 인증 요구 스텝을 구비하는 것을 특징으로 하는 정보 처리 방법.
  15. 제 14 항에 있어서,
    상기 식별정보 요구스텝에서는 상기 제2의 정보 처리 장치로부터의 상기 인증 요구 데이터를 수신하였을 때, 상기 제2의 정보 처리 장치에 대하여 상기 식별정보를 송신하는 것을 요구하기 위한 식별정보 요구 데이터를 상기 제1의 송수신 수단으로부터 상기 제2의 정보 처리 장치로 송신하는 것을 특징으로 하는 정보 처리 방법.
  16. 제 15 항에 있어서,
    상기 식별정보 송수신 스텝에서는 상기 제1의 정보 처리 장치로부터의 상기 식별정보 요구 데이터를 수신하였을 때, 상기 식별정보를 상기 제2의 정보 처리 장치로부터 상기 제1의 정보 처리 장치로 송신하는 것을 특징으로 하는 정보 처리 방법.
  17. 서비스 키와 소정의 함수를 기억하는 기억 수단과,
    다른 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 송수신 수단과,
    상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 상기 다른 정보 처리 장치에 고유의 식별정보와 상기 서비스 키에 대하여 상기 함수를 적용함으로써 중간 키를 생성하는 중간 키 생성 수단과,
    상기 중간 키에 대하여 상기 함수를 n(n은 정수)회 적용함으로써 판정 키를 생성하는 판정 키 생성 수단과,
    상기 판정 키 생성 수단으로 상기 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로 송신시키는 회수 데이터 송신 수단과,
    상기 판정 키와 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 다른 정보 처리 장치를 인증하는 인증수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  18. 제 17 항에 있어서,
    제1의 값을 생성함과 동시에 상기 제1의 값을 상기 송수신 수단에 의해 상기 다른 정보 처리 장치에 송신하는 제1의 값 생성 수단과, 상기 판정 키와 상기 제1의 값과 상기 제1의 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 제2의 값에 근거하여 연산처리를 하고, 연산결과를 상기 인증수단에 공급하는 연산수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  19. 제 18 항에 있어서,
    상기 제1의 값 생성 수단은 난수를 생성하는 난수 생성 수단인 것을 특징으로 하는 정보 처리 시스템.
  20. 제 17 항에 있어서,
    상기 판정 키 생성 수단에 의해 상기 중간 키에 대하여 상기 함수를 적용하는 회수(n)를 설정하는 설정 수단을 구비하고,
    상기 판정 키 생성 수단은 상기 중간 키에 대하여 상기 함수를 상기 설정 수단에 의해 설정된 n회 적용함으로써, 판정 키를 생성하는 것을 특징으로 하는 정보 처리 장치.
  21. 제 18 항에 있어서,
    상기 인증 수단에 의해 동일하다고 판정된 경우에, 상기 판정 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 암호화 키를 생성하는 암호화 키 생성 수단과 세션 키를 생성하는 복호 키 생성 수단과 상기 암호화 키를 사용하여 상기 세션 키를 암호화하고 상기 다른 정보 처리 장치로 전송하는 암호화 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  22. 제 21 항에 있어서,
    상기 송수신 수단이 상기 다른 정보 처리 장치로부터의 인증 요구 데이터를 수신하였을 때, 상기 다른 정보 처리 장치에 대하여 식별정보를 송신하는 것을 요구하기 위한 식별정보 요구 데이터를 상기 제1의 송수신 수단으로부터 송신시키는 식별정보 요구 데이터 송신 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  23. 다른 정보 처리 장치에 고유의 식별정보를 상기 다른 정보 처리 장치로 요구하여 수신하는 식별정보 수신 스텝과,
    상기 식별정보 수신 스텝으로 수신한 상기 다른 정보 처리 장치에 고유의 식별정보와 서비스 키에 대하여 소정의 함수를 적용함으로써 제1의 중간 키를 생성하는 제1의 중간 키 생성 스텝과,
    상기 제1의 중간 키에 대하여 상기 함수를 n(n은 정수)회 적용함으로써 판정 키를 생성하는 판정 키 생성 스텝과,
    상기 판정 키 생성 스텝으로 상기 제1의 중간 키에 대하여 상기 함수를 적용한 회수를 나타내는 회수 데이터를 상기 다른 정보 처리 장치에 송신하는 회수 데이터 송신 스텝과,
    상기 다른 정보 처리 장치에 의해 상기 회수 데이터에 근거하여 생성된 중간 키 정보를 수신하는 중간 키 정보 수신 스텝과,
    상기 판정 키와 상기 중간 키 정보 수신 스텝으로 수신한 상기 중간 키 정보에 근거하여 양자가 동일한지의 여부를 판정함으로써 상기 다른 정보 처리 장치를 인증하는 인증 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  24. 제 23 항에 있어서,
    제1의 값을 생성하는 제1의 값 생성 스텝과,
    상기 제1의 값을 상기 다른 정보 처리 장치에 송신하는 제1의 값 송신 스텝과,
    상기 다른 정보 처리 장치로부터 송신되어 오는 제2의 값을 수신하는 제2의 값 수신 스텝과,
    상기 판정 키와 상기 제1의 값과 상기 제2의 값 수신 스텝으로 수신한 상기 제2의 값에 근거하여 연산처리를 하는 연산 스텝을 가지며,
    상기 중간 키 정보 송수신 스텝에서는 상기 다른 정보 처리 장치에서, 상기 제2의 중간 키와 상기 제2의 값과 상기 제1의 값에 근거하여 생성된 중간 키 정보를 수신하고,
    상기 인증 스텝에서는 상기 연산 스텝에서의 연산결과와 상기 판정 키와 상기 중간 키 정보 수신 스텝으로 수신한 상기 중간 키 정보가 동일한지의 여부를 판정함으로써 상기 제2의 정보 처리 장치를 인증하는 것을 특징으로 하는 정보 처리 방법.
  25. 제 24 항에 있어서,
    상기 제1의 값은 난수 발생 수단에서 난수로서 주어지는 것을 특징으로 하는 정보 처리 방법.
  26. 제 23 항에 있어서,
    상기 판정 키 생성 스텝에 있어서 상기 제1의 중간 키에 대하여 상기 함수를 적용하는 회수(n)를 설정하는 설정 스텝을 가지며,
    상기 판정 키 생성 스텝에서는 상기 제1의 중간 키에 대하여, 상기 함수를 상기 설정 스텝으로 설정된 n회 적용함으로써 판정 키를 생성하는 것을 특징으로 하는 정보 처리 방법.
  27. 제 24 항에 있어서,
    상기 인증 스텝에 의해 동일하다고 판정된 경우에, 상기 판정 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 암호화 키를 생성하는 암호화 키 생성 스텝과,
    세션 키를 생성하는 세션 키 생성 스텝과,
    상기 암호화 키를 사용하여 상기 세션 키를 암호화하는 암호화 스텝과,
    상기 암호화스텝으로 암호화된 상기 세션 키를 송신하는 세션 키 송수신 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  28. 제 27 항에 있어서,
    상기 식별정보 요구 스텝에서는 상기 다른 정보 처리 장치로부터의 인증 요구 데이터를 수신하였을 때, 상기 다른 정보 처리 장치에 대하여 상기 식별정보를 송신하는 것을 요구하기 위한 식별정보 요구 데이터를 상기 다른 정보 처리 장치에 송신하는 것을 특징으로 하는 정보 처리 방법.
  29. 자기자신에게 할당된 고유의 식별정보, 제1의 중간 키에 소정의 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키, 상기 라이선스 키의 버전을 나타내는 버전 데이터 및 상기 소정의 함수를 기억하는 기억 수단과,
    다른 정보 처리 장치와의 사이에서 데이터를 송신 및 수신하는 송수신 수단과,
    상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 상기 회수 데이터를 사용하여 상기 함수를 상기 라이선스 키에 (n-Gb)회 적용함으로써 제2의 중간 키를 생성하는 제2의 중간 키 생성 수단과,
    상기 제2의 중간 키에 관한 정보인 중간 키 정보를 상기 제2의 송수신 수단에 의해 상기 제1의 정보 처리 장치로 송신시키는 중간 키 정보 송신 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  30. 제 29 항에 있어서,
    제2의 값을 생성함과 동시에 상기 제2의 값을 상기 제2의 송수신 수단에 의해 상기 다른 제1의 정보 처리 장치에 송신하는 제2의 값 생성 수단과,
    상기 제2의 중간 키와 상기 제2의 값과 상기 송수신 수단에 의해 상기 다른 정보 처리 장치로부터 수신한 제1의 값에 근거하여 연산처리를 함으로써 상기 제2의 중간 키의 중간 키 정보를 생성하는 연산 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  31. 제 30 항에 있어서,
    상기 제2의 값 생성 수단은 난수를 생성하는 난수 생성 수단인 것을 특징으로 하는 정보 처리 장치.
  32. 제 29 항에 있어서,
    상기 다른 정보 처리 장치에 대하여, 인증을 요구하기 위한 인증 요구 데이터를 상기 송수신 수단으로부터 송신시키는 인증 요구 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  33. 제 29 항에 있어서,
    상기 송수신 수단이 상기 다른 정보 처리 장치로부터의 식별정보 요구 데이터를 수신하였을 때, 상기 식별정보를 상기 송수신 수단으로부터 송신시키는 식별정보 송신 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  34. 자기자신에게 할당된 고유의 식별정보를 다른 정보 처리 장치에 송신하는 식별정보 송신 스텝과,
    상기 다른 정보 처리 장치에 있어서 제1의 중간 키를 생성하기 위한 상기 식별정보와 서비스 키에 대하여 소정의 함수를 적용하는 회수(n)(n은 정수)를 나타내는 회수 데이터를 상기 다른 정보 처리 장치로부터 수신하는 회수 데이터 수신 스텝과,
    상기 제1의 중간 키에 상기 함수를 Gb(Gb는 자연수)회 적용함으로써 생성된 라이선스 키에, 상기 회수 데이터 수신 스텝으로 수신한 회수 데이터를 사용하여 상기 함수를 (n-Gb)회 적용함으로써 제2의 중간 키(Klic_n)를 생성하는 제2의 중간 키 생성 스텝과,
    상기 제2의 중간 키에 관한 정보인 중간 키 정보를 송신하는 중간 키 정보 송수신 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  35. 제 34 항에 있어서,
    제1의 값을 상기 다른 정보 처리 장치로부터 수신하는 제1의 값 수신 스텝과,
    제2의 값을 생성하는 제2의 값 생성 스텝과,
    상기 제2의 값을 상기 다른 정보 처리 장치에 송신하는 제2의 값 송수신 스텝과,
    상기 제2의 값과, 상기 제1의 값 송수신 스텝으로 수신한 상기 제1의 값에 근거하여 연산처리를 하고 상기 제2의 중간 키의 중간 키 정보를 생성하는 중간 키 정보 생성 스텝을 가지며,
    상기 중간 키 정보 송수신 스텝에서는 상기 중간 키 정보 생성 스텝으로 생성한 상기 제2의 중간 키의 중간 키 정보를 상기 다른 정보 처리 장치에 송신하는 것을 특징으로 하는 정보 처리 방법.
  36. 제 35 항에 있어서,
    상기 제2의 값은 난수 발생 수단에서 난수로서 주어지는 것을 특징으로 하는 정보 처리 방법.
  37. 제 35 항에 있어서,
    상기 판정 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 생성된 암호화 키를 사용하여 암호화된 세션 키를 상기 제1의 정보 처리 장치로부터 수신하는 세션 키 송수신 스텝과,
    상기 제2의 중간 키와 상기 제1의 값과 상기 제2의 값에 대하여 상기 함수를 적용함으로써 복호 키를 생성하는 복호 키 생성 스텝과,
    상기 복호 키를 사용하여 상기 세션 키 송수신 스텝으로 수신한 암호화되어 있는 상기 세션 키를 복호하는 복호 스텝을 갖는 것을 특징으로 하는 정보 처리 방법.
  38. 제 34 항에 있어서,
    인증을 요구하기 위한 인증 요구 데이터를 상기 제1의 정보 처리 장치로 송신하는 인증 요구 스텝을 구비하는 것을 특징으로 하는 정보 처리 방법.
  39. 제 38 항에 있어서,
    상기 식별정보 송수신 스텝에서는 상기 다른 정보 처리 장치로부터 식별정보 요구 데이터를 수신하였을 때, 식별정보를 상기 제1의 정보 처리 장치로 송신하는 것을 특징으로 하는 정보 처리 방법.
KR1019997008089A 1998-01-07 1998-12-28 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법 KR20000076003A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP134398 1998-01-07
JP98-1343 1998-01-07

Publications (1)

Publication Number Publication Date
KR20000076003A true KR20000076003A (ko) 2000-12-26

Family

ID=11498863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008089A KR20000076003A (ko) 1998-01-07 1998-12-28 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법

Country Status (6)

Country Link
EP (1) EP0966127A1 (ko)
KR (1) KR20000076003A (ko)
CN (1) CN1249873A (ko)
ID (1) ID22760A (ko)
TW (1) TW442754B (ko)
WO (1) WO1999035786A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4719950B2 (ja) * 1999-11-11 2011-07-06 ソニー株式会社 暗号鍵生成装置、暗号化・復号化装置および暗号鍵生成方法、暗号化・復号化方法、並びにプログラム提供媒体
CN100340079C (zh) * 1999-12-07 2007-09-26 三洋电机株式会社 数据再生设备
US6742129B1 (en) * 1999-12-08 2004-05-25 Carrier Corporation Software security mechanism
JP4370721B2 (ja) * 2000-04-06 2009-11-25 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、キー更新端末装置、世代管理キー更新方法、および情報記録媒体、並びにプログラム提供媒体
JP2002189636A (ja) * 2000-12-20 2002-07-05 Sega Corp セキュリティシステム
CN100343775C (zh) * 2004-05-25 2007-10-17 华为技术有限公司 一种许可证文件生成方法及软件产品保护方法和系统
JP2006121215A (ja) * 2004-10-19 2006-05-11 Fuji Electric Holdings Co Ltd 鍵交換方法、及び、鍵交換処理装置
CN100416449C (zh) * 2005-04-29 2008-09-03 国际商业机器公司 软件服务提供商自动获得及运行软件服务的方法和装置
CN102158757A (zh) * 2010-02-11 2011-08-17 中兴通讯股份有限公司 终端及其电视业务的播放方法
JP6388622B2 (ja) * 2016-07-21 2018-09-12 Kddi株式会社 通信システム、端末装置、通信方法、及びプログラム
JP6408522B2 (ja) * 2016-07-21 2018-10-17 Kddi株式会社 通信システム、端末装置、通信方法、及びプログラム
US20230229743A1 (en) * 2022-01-19 2023-07-20 Sony Group Corporation Re-encryption-based digital rights management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH10171903A (ja) * 1996-12-11 1998-06-26 Nippon Telegr & Teleph Corp <Ntt> 電子現金方法及びこれに用いる装置

Also Published As

Publication number Publication date
TW442754B (en) 2001-06-23
ID22760A (id) 1999-12-09
CN1249873A (zh) 2000-04-05
EP0966127A1 (en) 1999-12-22
WO1999035786A1 (fr) 1999-07-15

Similar Documents

Publication Publication Date Title
KR100495189B1 (ko) 데이터전송장치및방법,암호화장치및방법,데이터수신장치및방법,데이터해독장치및방법,및프로그램기록을위한기록매체
KR100466474B1 (ko) 암호화장치및방법,복호장치및방법,정보처리장치및방법
KR100495187B1 (ko) 데이터송신장치및송신방법,데이터수신장치및수신방법,기록매체
JP4496440B2 (ja) 暗号化コンテンツ送信装置
EP1120934B1 (en) Method and apparatus for key distribution using a key base
KR20000076003A (ko) 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법
JP4748109B2 (ja) 暗号化装置および方法、復号装置および方法、情報処理装置および方法、並びに情報再生装置
JP2010246158A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2007043738A (ja) 電子機器
JP4496506B2 (ja) 暗号化コンテンツ送信装置
JP2006340407A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2013017225A (ja) 暗号化装置および方法
JP2013179701A (ja) 暗号化装置および方法
JP2012070430A (ja) 復号装置および方法
JP2005080145A (ja) 再生装置管理方法、コンテンツデータ再生装置、コンテンツデータ配布装置及び記録媒体
JP2013192267A (ja) 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法
JP2016015783A (ja) 暗号化装置
JP2014147109A (ja) 情報処理装置および情報処理方法
JP2015019430A (ja) 復号装置
JP2015043611A (ja) 復号装置
JP2015029243A (ja) 情報処理装置および情報処理方法
JP2014064318A (ja) 暗号化装置および方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid