KR20060003320A - 데이터 처리 방법 - Google Patents

데이터 처리 방법 Download PDF

Info

Publication number
KR20060003320A
KR20060003320A KR20047020612A KR20047020612A KR20060003320A KR 20060003320 A KR20060003320 A KR 20060003320A KR 20047020612 A KR20047020612 A KR 20047020612A KR 20047020612 A KR20047020612 A KR 20047020612A KR 20060003320 A KR20060003320 A KR 20060003320A
Authority
KR
South Korea
Prior art keywords
key
node
layer
data
receiving device
Prior art date
Application number
KR20047020612A
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 KR20060003320A publication Critical patent/KR20060003320A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이의 통신에 사용하는 키 암호 키 데이터 KEK의 취득을, 2개의 수평 레이어(A0, A1)로 분할한 트리를 기초로 행한다. 이 경우에, 수평 레이어(A0)에 속하는 각 섹션(31〔0〕)의 리보케이션 방식으로서 LSD 방식을 채용한다. 또, 수평 레이어(1)에 속하는 각 섹션(31〔1〕)의 리보케이션 방식으로서 CST 방식을 채용한다.
키 관리 장치, 수신 장치, 통신, 수평 레이어, 섹션.

Description

데이터 처리 방법 {DATA PROCESSING METHOD}
본 발명은 시큐어 통신을 행하는 데이터 처리 방법, 그 프로그램, 그 장치와 수신 장치에 관한 것이다.
시큐어 통신에서는, 통상 키 관리 장치와 수신 장치(단말 장치)가 동일 세션키 데이터를 유지 또는 생성하고, 키 관리 장치에서 세션키 데이터(이하, SEK 데이터라고도 적는다)를 기초로 데이터를 암호화하여 수신 장치에 송신한다.
이와 같은 시큐어 통신에서는, 예를 들면, 미리 결정된 복수개의 수신 장치에 대하여 공통의 세션키 데이터를 기초로 시큐어 통신을 행한다.
이 경우에, 상기 복수개의 수신 장치 중 적어도 하나가 상기 권한을 잃은 경우에, 키 관리 장치는 그때까지 사용하고 있던 세션키 데이터를 갱신하여, 해당 수신 장치를 리보크(무효로)할 필요가 있다.
이와 같은 세션키 데이터의 갱신 방법(키 취득 방법), 즉 리보케이션 처리로서, 예를 들면, "D. Halevy and A Shamir, "The LCD broadcast encryption scheme", CRYPTO 2002, Lecture Notes in Computer Science, vol. 2442. pp. 47-60, 2002"에 개시되어 있는 LSD 방식과, "D. Naor, M. Naor and J. Lotspiech, "Revocation and tracing schemes for stateless receivers", CRYPTO 2001. Lecture Notes in Computer Science. vol 2139. pp. 41-62, 2001."에 개시되어 있는 CST 방식이 알려져 있다.
이들에 개시된 키 취득 방법에서는, 키 관리 장치를 루트(root)에 할당하고, 복수개의 수신 장치 각각을 복수개의 리프(leaf)에 각각 할당한 트리(tree)를 기초로 리보케이션 처리를 행한다.
이 경우에, 키 관리 장치는 상기 트리를 기초로 규정한 복수개의 키 데이터를 수신 장치가 미리 유지시키고, 상기 갱신 시에 키 관리 장치가 해당 복수개 키 데이터의 어느 쪽을 사용하여 시큐어 통신에 사용하는 키 암호 키 데이터를 생성하는가를, 리보크하지 않는 수신 장치에 지시한다.
그리고, 리보크되지 않는 수신 장치가, 미리 유지하고 있는 복수개의 키 데이터 중에서 상기 지시된 키 데이터를 선택하고, 선택한 키 데이터를 사용하여, 미리 고정적으로 결정된 키 취득 방법으로 키 암호 키 데이터를 생성한다.
키 관리 장치는 새로운 세션키 데이터를 상기 키 암호 키 데이터로 암호화하여, 리보크하지 않는 수신 장치에 송신한다.
리보크되지 않는 수신 장치는 키 관리 장치로부터 수신한 상기 암호화된 세션키 데이터를, 상기 생성한 키 암호 키 데이터를 사용하여 복호하고, 새로운 세션키 데이터를 얻는다.
여기에서, 리보케이션 처리에 따른 키 관리원(管理元)과 수신 장치 사이의 통신량은 LSD 방식이 CST 방식보다 적지만, 수신 장치가 유지하는 키 데이터의 수(데이터량)는 CST 쪽이 LSD 방식보다 적다.
리보케이션 처리에 따른 키 관리원과 수신 장치 사이의 통신량과, 수신 장치가 유지하는 키 데이터의 데이터량과는 트레이드오프의 관계에 있다.
종래에는, 키 관리에 사용하는 상기 트리의 전체에 대하여 전술한 LSD 방식 및 CST 방식의 어느 한쪽만을 적용하여 리보케이션 처리를 행하고 있다.
그러나, 키 관리에 사용하는 상기 트리의 전체에 대하여 전술한 LSD 방식 및 CST 방식의 어느 한쪽만을 적용한 종래의 방법에서는, 리보케이션 처리에 따른 키 관리원과 수신 장치 사이의 통신량과, 수신 장치가 유지하는 키 데이터의 데이터량과의 트레이드오프 관계가 적절하지 않다고 하는 문제가 있다.
즉, LSD 방식을 채용하면, 수신 장치가 유지하는 키 데이터의 데이터량이 방대하게 되어 버리고, 한편, CST 방식을 채용하면, 리보케이션 처리에 따른 통신량이 방대하게 되어 버려, 실현 가능 시스템을 구축하는 것이 곤란하다고 하는 문제가 있다. 이와 같은 문제는 수신 장치의 수가 많아지는 데 따라 심각화된다.
본 발명은 전술한 배경 기술을 감안하여 이루어진 것이며, 리보케이션 처리에 따른 키 관리원과 수신 장치 사이의 통신량과, 수신 장치가 유지하는 키 데이터의 데이터량을 적절한 트레이드오프에 의해 규정한 데이터 처리 방법, 그 프로그램, 그 장치와 수신 장치를 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위해, 제1 발명의 데이터 처리 방법은 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 상기 키 관리원이 행하는 데이터 처리 방법으로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 공정과, 상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선(分岐先)에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 공정과, 상기 제2 공정에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 공정과, 상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 공정을 가진다.
제1 발명의 데이터 처리 방법의 작용은 다음과 같이 된다.
먼저, 제1 공정에서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
다음에, 제2 공정에서, 상기 제2 레이어 내의 최종단의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정한다.
다음에, 제3 공정에서, 상기 제2 공정에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하 는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정한다.
다음에, 제4 공정에서, 상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에 통신을 행한다.
제2 발명의 프로그램은 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 상기 키 관리원의 컴퓨터에 키 관리 처리를 실행시키는 프로그램으로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 순서와, 상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 순서와, 상기 제2 순서에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 순서와, 상기 제1 순서에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 순서에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 순서를 가진다.
제3 발명의 데이터 처리 장치는 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 키 관리를 행하는 데이터 처리 장치로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 수단과, 상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 수단과, 상기 제2 수단에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 수단과, 상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 수단을 가진다.
제3 발명의 데이터 처리 장치의 작용은 다음과 같이 된다.
먼저, 제1 수단이 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
다음에, 제2 수단이 상기 제2 레이어 내의 최종단의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정한다.
다음에, 제3 수단이, 상기 제2 수단에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정한다.
다음에, 제4 수단이 상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에 통신을 행한다.
제4 발명의 수신 장치는 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 상기 키 관리원과 통신을 행하는 수신 장치로서,
상기 제1 레이어 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 쪽의 상기 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제1 키 데이터를 생성하기 위한 제3 키 데이터와, 상기 제2 레이어 내의 해당 수신 장치에 대응하는 최종단의 노드와 상기 루트 사이의 경로 상에 위치하는 모든 상기 노드에 각각 할당된 복수개의 제2 키 데이터를 기억하는 기억 수단과, 상기 키 관리원으로부터 수신한 키 지정 데이터가 상기 제3 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 해당 제3 키 데이터를 기초로 상기 제1 키 데이터를 생성하고, 해당 제1 키 데이터를 사용하여 상기 키 관리원과 통신을 행하고, 상기 키 지정 데이터가 상기 제2 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 해당 제2 키 데이터를 사용하여 상기 키 관리원과 통신을 행하는 처리 수단을 가진다.
제5 발명의 데이터 처리 방법은 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제 2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재(介在)하는 제3 레이어가 규정된 트리를 기초로 키 관리를 행하는 데이터 처리 방법으로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 공정과, 상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하는 제2 공정과, 상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 공정과, 상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 공정에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 공정을 가진다.
제5 발명의 데이터 처리 방법의 작용은 다음과 같이 된다.
먼저, 제1 공정에서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
다음에, 제2 공정에서, 상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정한다.
다음에, 제3 공정에서, 상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정한다.
다음에, 제4 공정에서, 상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 공정에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에 통신을 행한다.
제6 발명의 프로그램은 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로, 상기 키 관리원의 컴퓨터에 키 관리 처리를 실행시키는 프로그램으로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 순서와, 상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함 하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하는 제2 순서와, 상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 순서와, 상기 제1 순서에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 순서에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 순서에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 순서를 가진다.
제7 발명의 데이터 처리 장치는 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로, 키 관리를 행하는 데이터 처리 장치로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 수단과, 상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하 는 제2 수단과, 상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 수단과, 상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 수단에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 수단을 가진다.
제7 발명의 데이터 처리 장치의 작용은 다음과 같이 된다.
먼저, 제1 수단이 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
다음에, 제2 수단이 상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정한다.
다음에, 제3 수단이 상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정한다.
다음에, 제4 수단이 상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 수단에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행한다.
제8 발명의 수신 장치는 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로 키 관리를 행하는 수신 장치로서, 상기 제1 레이어 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 쪽의 상기 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제1 키 데이터를 생성하기 위한 제2 키 데이터와, 상기 제3 레이어의 최종단 노드의 어느 쪽 노드의 분기선에 있는 다른 상기 수신 장치가 무효로 되는 경우라도, 그 분기선에 무효로 되는 상기 수신 장치를 가지고 있지 않은 상기 최종단의 노드만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제3 키 데이터를 생성하기 위한 제4 키 데이터와, 상기 제2 레이어 내의 해당 수신 장치에 대응하는 최종단의 상기 노드와 상기 루트 사이의 경로 상에 위치하는 모든 상기 노드에 각각 할당된 복수개의 제5 키 데이터를 기억하는 기억 수단과, 상기 키 관리원으로부터 수신한 상기 키 지정 데이터가 상기 제2 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 해당 제2 키 데이터를 기초로 상기 제1 키 데이터를 생성하고, 상기 키 지정 데이터가 상기 제4 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 해당 제4 키 데이터를 기초로 상기 제3 키 데이터를 생성하고, 해당 제3 키 데이터를 사용하여 상기 키 관리원과 통신을 행하고, 상기 키 지정 데이터가 상기 제5 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 해당 제5 키 데이터를 사용하여 상기 키 관리원과 통신을 행하는 처리 수단을 가진다.
도 1은 본 발명의 제1 실시예에 관한 통신 시스템의 전체 구성도이다.
도 2는 도 1에 나타낸 키 관리 장치의 하드웨어 구성도이다.
도 3은 본 발명의 제1 실시예에서 채용되는 키 취득 방법의 기초가 되는 트리 구조를 설명하기 위한 도면이다.
도 4는 본 발명의 제1 실시예에서 채용되는 키 취득 방법의 처리를 설명하기 위한 플로 차트이다.
도 5는 본 발명의 제1 실시예에서 채용되는 키 취득 방법 SKT-A를 설명하기 위한 도면이다.
도 6은 CST 방식을 설명하기 위한 도면이다.
도 7은 CST 방식을 설명하기 위한 도면이다.
도 8은 CST 방식을 설명하기 위한 도면이다.
도 9는 SD 방식을 설명하기 위한 도면이다.
도 10은 SD 방식을 설명하기 위한 도면이다.
도 11은 SD 방식을 설명하기 위한 도면이다.
도 12는 SD 방식을 설명하기 위한 도면이다.
도 13은 LSD 방식을 설명하기 위한 도면이다.
도 14는 LSD 방식을 설명하기 위한 도면이다.
도 15는 도 1에 나타낸 키 관리 장치가 행하는 전(前)처리를 설명하기 위한 플로 차트이다.
도 16은 도 1에 나타낸 키 관리 장치가 행하는 리보케이션 처리를 설명하기 위한 플로 차트이다.
도 17은 도 1에 나타낸 키 관리 장치가 리보크하지 않는 수신 장치에 송신하는 캡슐 데이터 CAP를 설명하기 위한 도면이다.
도 18은 도 16에 나타낸 스텝 ST23을 설명하기 위한 플로 차트이다.
도 19는 도 1에 나타낸 수신 장치의 하드웨어 구성도이다.
도 20은 도 1에 나타낸 수신 장치의 동작예를 설명하기 위한 플로 차트이다.
도 21은 도 20에 나타낸 스텝 ST44를 설명하기 위한 플로 차트이다.
도 22는 본 발명의 제2 실시예에 관한 키 취득 방법 SKT-B를 설명하기 위한 도면이다.
도 23은 본 발명의 제2 실시예의 키 관리 장치가 행하는 전처리를 설명하기 위한 플로 차트이다.
도 24는 본 발명의 제2 실시예의 키 관리 장치가 행하는 도 16의 스텝 ST23의 처리를 설명하기 위한 플로 차트이다.
이하, 본 발명의 실시예에 관한 통신 시스템에 대하여 설명한다.
제1 실시예:
해당 제1 실시예는 제l∼제4 발명의 실시예이다.
도 1은 본 발명의 제1 실시예에 관한 통신 시스템(1)의 전체 구성도이다.
도 1에 나타낸 바와 같이, 통신 시스템(1)은, 예를 들면, 키 관리 장치(3)와, 복수개(N 개)의 수신 장치(4_1∼4_N)를 가진다.
여기에서, 키 관리 장치(3)가 본 발명의 키 관리원 및 제3 발명의 데이터 처리 장치에 대응하고, 수신 장치(4_1∼4_N)가 본 발명의 수신 장치에 대응하고 있다.
키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이에서는, 예를 들면, 무선 방식으로 데이터의 수수(통신)를 행한다.
수신 장치(4_1∼4_N)는 미리 키 관리 장치(3)에 등록 되어 있고, 키 관리 장치(3) 사이의 비밀 통신(시큐어 통신)에 사용하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 유지하고 있다.
이하, 통신 시스템(1)의 개요를 설명한다.
통신 시스템(1)에서는, 수신 장치(4_1∼4_N)의 각각이 대응하게 된 복수개의 리프가 속하는 수평 레이어(A0)(본 발명의 제1 레이어)와, 키 관리 장치(3)가 대응하게 된 루트가 속하는 수평 레이어(A1)(본 발명의 제2 레이어)가 규정된 트리를 기초로, 키 관리를 행한다.
트리 내에는, 복수개의 서브트리가 규정되어 있다.
키 관리 장치(3)는 수평 레이어(A0)에 속하는 서브트리 중 리보크(무효로)하는 수신 장치를 포함하는 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 리보크하지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
그리고, 키 관리 장치(3)는 해당 특정한 집합의 요소인 수신 장치와의 통신에 사용하는 키 암호 키 데이터 KEK를, 해당 특정한 집합에 할당된 라벨 LABEL을 기초로 취득한다.
또, 키 관리 장치(3)는 수평 레이어(A1) 내의 최종단 노드 중, 해당 노드의 분기선에 리보크하는 수신 장치가 존재하지 않는 노드를 특정한다.
그리고, 키 관리 장치(3)는 해당 특정한 노드와 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 리보크하는 상기 수신 장치가 없고, 또한 루트에 가장 가까운 노드를 특정한다.
그리고, 키 관리 장치(3)는 해당 특정한 노드로부터 분기한 리프에 대응하게 된 리보크하지 않는 수신 장치와의 통신에 사용하는 키 암호 키 데이터 KEK로서, 해당 특정한 노드에 할당된 키 데이터를 사용한다.
키 관리 장치(3)는 상기 키 암호 키 데이터 KEK를 생성하기 위한 키 지정 데이터를, 리보크하지 않는 수신 장치(4_1∼4_N)에 송신한다.
그리고, 리보크되지 않는 수신 장치(4_1∼4_N)가 상기 키 지정 데이터를 기초로 키 암호 키 데이터 KEK를 취득한다.
키 관리 장치(3)는 새로운 세션키 데이터 NEW_SEK를, 상기 키 암호 키 데이터 KEK를 기초로 암호화하여 수신 장치(4_1∼4_N)에 송신한다.
리보크하지 않는 수신 장치(4_1∼4_N)는 상기 취득한 키 암호 키 데이터 KEK를 기초로, 세션키 데이터 NEW_SEK를 복호한다.
이후, 키 관리 장치(3)와 리보크하지 않는 수신 장치(4_1∼4_N) 사이의 시큐어 통신을, 세션키 데이터 NEW_SEK를 기초로 행한다.
이하, 도 1에 나타낸 키 관리 장치(3) 및 수신 장치(4_1∼4_N)에 대하여 설명한다.
〔키 관리 장치(3)〕
도 2는 도 1에 나타낸 키 관리 장치(3)의 하드웨어 구성도이다.
도 2에 나타낸 바와 같이, 키 관리 장치(3)는, 예를 들면, 통신부(11), 메모리(12) 및 처리부(13)를 가진다.
통신부(11)는 처리부(13)가 생성한 데이터를 무선 방식으로 송신한다. 해당 송신은, 예를 들면, 방송 등의 푸시(PUSH) 방식으로, 소프트 웨어 무선(SDR: Software Defined Radio)에 의한 SDR·시큐어·다운로드를 행한다.
메모리(12)는 처리부(13)에 의해 실행되는 프로그램 PRG1과, 프로그램 PRG1의 실행에 이용되는 여러 가지 데이터를 기억한다.
여기에서, 프로그램 PRG1이 제2 발명의 프로그램에 대응하고 있다.
예를 들면, 메모리(12)는, 예를 들면, 수신 장치(4_1∼4_N)가 유지하는 모든 키 데이터 K_ORG 및 라벨 데이터 LABEL을 기억한다.
또, 메모리(12)는 키 데이터 K_ORG 및 라벨 데이터 LABEL의 일부 또는 전부를 기억하지 않고, 이들에 의해 최종적으로 취득되는 키 암호 키 데이터 KEK를 기 억하도록 해도 된다.
처리부(13)는 메모리(12)에 기억된 프로그램 PRG1을 실행하고, 그 실행에 따라 키 관리 장치(3)의 처리를 통괄하여 제어한다. 본 실시예에서, 키 관리 장치(3)의 처리는 처리부(13)가 실행하는 프로그램 PRG1에 의해 규정된다.
처리부(13)는 프로그램 PRG1의 실행에 따라, 수신 장치(4_1∼4_N)에의 키 데이터 K_ORG나 라벨 데이터 LABEL 분배 등의 전처리, 및 세션키 데이터의 갱신 처리 등 리보케이션 처리 등의 시큐리티 처리를 행한다.
처리부(13)는 상기 리보케이션 처리에 앞서, 예를 들면, 수신 장치(41_∼4_N)의 등록 시 등에 상기 전처리를 행한다.
처리부(13)는 상기 전처리에서, 상기 리보케이션 처리를 행하는 데 있어서 채용되는 키 취득 방법(underlying structure), 및 해당 키 취득 방법에서 사용하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 수신 장치(4_1∼4_N)에 설정한다.
처리부(13)는 수신 장치(4_1∼4_N) 중 어느 하나를 리보크(무효로)하는 경우에, 상기 리보케이션 처리를 행한다.
처리부(13)는 리보케이션 처리에 있어서, 수신 장치(4_1∼4_N)의 어느 쪽을 리보크하는가에 따라, 리보크하지 않는 수신 장치(4_1∼4_N)에 대하여 세션키 데이터 SEK를 송신하기 위한 키 암호 키 데이터 KEK를 선택한다.
그리고, 처리부(13)는 리보크하지 않는 수신 장치(4_1∼4_N)가 키 암호 키 데이터 KEK를 생성하기 위한 키 지정 데이터를, 리보크하지 않는 수신 장치(4_1∼4_N)에 송신한다.
상기 키 취득 방법으로서는, 본 실시예에서는 다음에 나타낸 바와 같이, 전술한 비특허 문헌 1에 개시되어 있는 LSD 방식이나 비특허 문헌 2에 개시되어 있는 CST 방식 등의 리보케이션 방식을 기초로 규정되며, 예를 들면, 복수개의 2분(分) 트리를 좌우 대칭으로 조합한 트리를 구성하는 서브트리인 섹션마다 개별적으로 리보케이션 방식을 규정한 것인 SKT(Sectioned Key Trees)가 사용된다.
처리부(13)가 채용하는 키 취득 방법 SKT에 관한 정보, 및 해당 키 취득 방법에서 사용되는 키 데이터 K_ORG 및 라벨 데이터 LABEL은 상기 전처리에 의해 수신 장치(4_1∼4_N)에 제공된다.
상기 트리에서는 복수개의 수평 레이어가 규정되고, 각 수평 레이어가 복수개의 섹션으로 분할되어 있다.
또, 각 섹션은 그 루트(노드)가 상위 수평 레이어의 리프(노드)가 되는 서브트리를 가지고 있다.
또, 예를 들면, 동일 수평 레이어에 속하는 섹션은 동일 수의 노드를 가진다. 즉, 동일 레이어에 속하는 섹션은 동일 서브트리를 가지고 있다.
일반적인 예로서는, 상기 트리가 K개의 수평 레이어로 분할되고, 각 수평 레이어(1)[1은 0∼L-1의 정수(整數)]의 높이가 H〔1〕이라고 하면, (2H)[1-1]개의 리프를 가지고 있다. 또, 수평 레이어(1)는 하기 식 (1)에서 나타나는 수의 섹션을 가지고, 그 서브트리는 (2H)[1-1]개의 리프를 가지고 있다.
Figure 112004059689331-PCT00001
K=3, H〔0〕=2, H〔1〕=1, H[3〕= 2인 경우의 트리(20)의 구조를 도 3에 나타낸다.
이하, 상기 트리를 기초로 규정된 본 실시예의 키 취득 방법에 대하여 설명한다.
도 4는 본 실시예의 키 취득 방법을 설명하기 위한 플로 차트이다.
이하, 도 4에 나타낸 각 스텝에 대하여 설명한다.
스텝 ST1:
처리부(13)는 상기 트리의 수평 레이어(0)(최하층의 레이어)에 속하는 모든 섹션의 각각에 대하여, 해당 섹션이 포함하는 서브트리의 리프에 할당된 수신 장치(4_1∼4_N) 중, 리보크하는 수신 장치를 특정한다.
또, 처리부(13)는 1에 초기값 「0」을 대입한다.
스텝 ST2:
처리부(13)는 상기 트리의 수평 레이어(0)에 속하는 모든 섹션의 각각에 대하여, 해당 섹션이 포함하는 서브트리에 대하여 채용된 리보케이션 방식으로, 스텝 ST1에서 특정한 수신 장치를 리보크하는 처리를 행한다.
즉, 처리부(13)는 상기 채용된 리보케이션(RV) 방식을 기초로 리보케이션 처리를 행하고, 해당 서브트리에 속하는 수신 장치(4_1∼4_N) 중 리보크되지 않는 수 신 장치와의 통신에 사용하는 키 암호 키 데이터 KEK를 결정하기 위해 사용되는 데이터, 예를 들면, 리보크하는 리프의 위치 등을 나타내는 데이터를 생성한다.
스텝 ST3:
처리부(13)는 1을 인크리먼트한다. 즉, 1=1+1을 연산한다.
스텝 ST4:
처리부(13)는 상기 트리의 수평 레이어 k에 속하는 모든 섹션의 각각에 대하여, 해당 섹션이 포함하는 서브트리의 리프(노드, 수평 레이어 1-1의 루트) 중, 그 하층에 리보크되는 수신 장치가 있는 리프, 즉 리보크에 의해 영향을 받는 리프를 특정한다.
스텝 ST5:
처리부(13)는 상기 트리의 수평 레이어(1)에 속하는 모든 섹션의 각각에 대하여, 해당 섹션이 포함하는 서브트리에 대하여 채용된 리보케이션 방식으로, 스텝 S41에서 특정한 리프를 리보크하는 처리를 행한다.
즉, 처리부(13)는 상기 채용된 리보케이션(RV) 방식을 기초로 리보케이션 처리를 행하고, 해당 서브트리에 속하는 리프 중 리보크의 영향을 받지 않는 리프의 하층에 있는 수신 장치와의 통신에 사용하는 키 암호 키 데이터 KEK를 결정하기 위해 사용되는 데이터, 예를 들면, 리보크하는 노드의 위치 등을 나타내는 데이터를 생성한다.
스텝 ST6:
처리부(13)는 k=K인지 여부를 판단하여, 1=L이라고 판단한 경우에 처리를 종 료하고, 그렇지 않은 경우에 스텝 ST3의 처리로 복귀한다.
스텝 ST7:
처리부(13)는 스텝 ST1∼ST6에 의해, 모든 수평 레이어에 속하는 모든 섹션에 대하여 행해진 RV 처리의 결과를 기초로, 리보크하지 않는 수신 장치(4_1∼4_N) 사이의 통신에 사용하는 키 암호 키 데이터 KEKm을 생성한다. 여기에서, m은 1∼M의 정수(整數)이며, M은 리보크하지 않는 모든 수신 장치와의 통신에 사용하는 키 암호 키 데이터 KEK의 수를 나타내고 있다.
이 경우에, 리보크하는 수신 장치의 상기 트리 상의 위치에 따라, 복수개의 리보크하지 않는 수신 장치가 공통의 키 암호 키 데이터 KEKm을 사용하는 경우가 있다.
다음에, 본 실시예에서 채용하는 키 취득 방법 SKT인 키 취득 방법 SKT-A에 대하여 설명한다.
키 취득 방법 SKT-A는 전술한 비특허 문헌 1에 개시되어 있는 LSD 방식에 비해, 수신 장치(4_1∼4_N)가 기억하는 라벨 데이터 LABEL 및 키 데이터 K_ORG의 데이터량이 적고, 비특허 문헌 2에 개시되어 있는 CST 방식에 비해 리보케이션 처리에 따른 키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이의 통신량이 작다고 하는 특징을 가지고 있다.
먼저, 키 취득 방법 SKT-A에 대하여 설명한다.
도 5는 키 취득 방법 SKT-A를 설명하기 위한 도면이다.
도 5에 나타낸 바와 같이, 키 취득 방법 SKT-A에서는 트리를 2개의 수평 레 이어(A0, A1)로 분할한다.
최하층의 수평 레이어(A0)의 높이를 HA[0〕으로 하고, 수평 레이어(A1)의 높이를 (log2 N-HA[0〕)으로 한다. 여기에서, N은 수신 장치(4_1∼4_N)의 총수를 나타낸다.
그리고, 수평 레이어(A0)에 속하는 각 섹션(31〔0〕)의 리보케이션 방식으로서 상기 상기 비특허 문헌 1에 개시되어 있는 LSD 방식을 채용한다.
또, 수평 레이어(A1)에 속하는 각 섹션(31〔1〕)의 리보케이션 방식으로서 상기 비특허 문헌 2에 개시되어 있는 CST 방식을 채용한다.
여기에서, 키 취득 방법 SKT-A에 있어서, R개의 수신 장치(4_1∼4_N)의 리보크가 상기 트리를 구성하는 R0A개의 섹션에 영향을 주는 것으로 한다.
이 경우에, 리보크에 따른 키 관리 장치(3)와 리보크되지 않는 수신 장치(4_1∼4_N) 사이의 통신량의 디멘션은 키 취득 방법 SKT-A의 경우에는 하기 식 (2)에 나타낸 O(COA)가 된다.
O(COA)=
(R+R0A((log2 N)-HA〔0〕-R0Alog2 R0A)
… (2)
이하, CST 방식에 대하여 설명한다.
도 6∼도 8은 CST 방식을 설명하기 위한 도면이다.
이하의 설명에서는, 도 6에 나타낸 바와 같이, 16개의 수신 장치 u1∼u16에 대하여 CST 방식으로 리보케이션 처리를 행하는 경우를 예시한다.
CST 방식에서는, 2분 트리의 각 노드를 사용하여, 「그 노드를 정점으로 하는 2분 트리의 리프에 할당된 수신 장치로 이루어지는 집합」을 규정한다.
도 6에 나타낸 예에서는, 노드 i는 수신 장치 u5와 u6을 요소로 하는 집합을 나타낸다. 그리고, 각 노드에 노드 키(SKT-A에서는 키 데이터 K_ORG에 대응)가 정의된다.
각 수신 장치에는 그것이 할당되어 있는 리프로부터, 키 관리 장치가 할당되어 있는 트리의 루트에 이르는 경로 상의 노드에 할당된 노드 키가 부여되고, 수신 장치는 이들 노드 키를 안전한 메모리에 유지한다.
도 7에 나타낸 바와 같이, 수신 장치 u4에는 노드 1, 2, 4, 9, 19에 할당된 5개의 노드 키가 주어진다.
즉, 전 수신 장치수를 N으로 한 경우에는, 각 수신 장치는 logN+1개의 노드 키를 유지한다.
도 8은 비밀 정보(예를 들어, 암호화된 컨텐츠를 복호하기 위한 컨텐츠 키)를 어떻게 리보크되지 않는 수신 장치에 송신하는가를 설명하기 위한 도면이다.
여기에서, 수신 장치 u2, u11, u12가 리보크하는 수신 장치로 한다.
이 경우에, 리보크하는 수신 장치 u2, u11, u12가 할당되어 있는 리프로부터 트리의 루트에 이르는 경로 상의 노드에 할당된 노드 키는 사용할 수 없다. 이것은 이들 노드 키를 사용하면 리보크하는 수신 장치가 비밀 정보를 입수해 버릴수 있기 때문이다.
그리고, 이들 노드 및 경로를 트리로부터 제외하면, 1개 이상의 서브트리(부분 트리)가 남는다.
각각의 서브트리의 정점에 가장 가까운 노드(도 8에서는 노드 5, 7, 9, 12, 16)에 할당된 노드 키를 사용하여 비밀 정보를 암호화해서 송신함으로써, 효율적이며 안전한 비밀 정보의 송신을 행한다.
수신 장치는 전송된 암호문 중, 자신이 복호할 수 있는 것, 즉, 자신이 할당된 리프로부터 루트에 이르기까지의 경로 상의 노드에 대응하는 노드 키를 사용하여 암호화된 것을 복호하여 비밀 정보를 얻는다.
상기 예에서는, 예를 들면, 수신 장치 u4는 노드(9)의 노드 키를 유지하고 있으므로, 이것을 사용하여 암호화된 암호문을 복호한다.
CST 방식에서는 리보크하지 않는 수신 장치를 복호할 수 있는 암호문은 반드시 하나 존재한다.
다음에, LSD 방식의 전제가된 SD(Subset Difference) 방식에 대하여 설명한다.
도 9∼도 12는 SD 방식을 설명하기 위한 도면이다.
전술한 바와 같이, CST 방식에서는 트리의 각 노드를 사용하여, 「그 노드를 정점으로 하는 서브트리의 리프에 할당된 수신 장치로 이루어지는 집합」을 나타내고 있다.
이에 대하여, SD 방식에서는 트리의 2개의 노드 i, j(다만 i는 j의 선조인 노드)를 사용하여, 「(노드 i를 정점으로 하는 서브트리의 리프로 이루어지는 집 합)으로부터(노드 i를 정점으로 하는 서브트리의 리프로 이루어지는 집합)을 뺀 집합」을 정의한다.
예를 들면, 도 9에 나타낸 노드 i, j로 정의되는 집합 S(i, j)는 수신 장치 u1∼u8의 집합으로부터 수신 장치 u5, u6을 제외한 것이며, 즉, S(i, j)={u1, u2, u3, u4, u5, u6, u7, u8, u9}-{u5, u6}이다.
노드 i가 노드 j의 선조인(즉, 노드 j는 노드 i와 동일하지 않고, 노드 j로부터 루트에의 경로 상에 노드 i가 존재함) 모든 노드의 조(組)에 대하여 이와 같은 집합을 정의한다.
그리고, 각 집합에 라벨 데이터 LABEL을 할당한다. 또, 라벨 데이터 LABEL을 기초로 소정 연산[예를 들면, 해당 라벨 데이터 LABEL을 키로 하여 의사(疑似) 난수를 생성하여]을 행하여 서브세트 키를 얻는다.
해당 서브세트 키는 해당 집합의 요소인 수신 장치와 키 관리 장치 사이의 통신에서, 키 암호 키 데이터 KEK로서 사용된다.
SD 방식에서는 하나의 수신 장치가 소속하는 집합의 개수는 O(N)이 되기 때문에, 각각의 집합(서브세트)에 키 데이터 SK(서브세트 키)를 독립적으로 할당한 것에서는, 각 수신 장치가 O(N)개의 서브세트 키에 대응하는 라벨 데이터 LABEL을 안전하게 유지할 필요가 있지만, 이것은 N이 클 때에는 현실적으로 곤란하다.
그러므로, SD 방식에서는 다음에 설명하는 방법에 의해, 각 수신 장치가 유지하는 라벨 데이터 LABEL의 수를 삭감하고 있다.
예를 들면, 도 10 (A)에 나타낸 바와 같이, 내부 노드(즉, 리프가 아닌 노 드) i에 주목하여, 그 노드의 라벨 데이터 LABEL(i)로서 C비트의 값 S를 랜덤으로 선택한다.
다음에, 도 11에 나타낸 바와 같이, C비트 입력, 3C비트 출력의 의사 난수 생성기 G에, LABEL(i)의 값 S를 입력한다.
그리고, 의사 난수 생성기 G로부터의 3C비트의 출력을 좌로부터(최상위 비트 측으로부터) C비트씩으로 단락지어, 각각 GL(S), GM(S), GR(S)로 한다.
그리고, GL(S)을, 노드 i의 좌측(한쪽)의 자식 노드의 라벨 데이터 LABEL로 하고, GR(S)을 노드 i의 우측(다른 쪽)의 자식 노드의 라벨 데이터 LABEL로 한다.
이 처리에 의해, 도 10에서 노드 i 좌측의 자식인 노드 k에 대하여, 노드 i를 시점으로 한 경우의 노드 k의 라벨 데이터 LABEL(i, k)는 LABEL(i, k)=GL(S)이 된다. 그리고, 이것을 T로 한다.
다음에, T를 상기 의사 난수 생성기 G에 입력하고, 그 출력을 좌로부터 C비트씩으로 단락지어, GL(T), GM(T), GR(T)를 얻는다.
그리고, GL(T), GM(T), GR(T)를, 각각 노드 i를 시점으로 한 경우의 노드 k 좌측의 자식 노드 L의 라벨 데이터 LABEL(i, kL), 노드 i를 시점으로 한 경우의 노드 k의 라벨 데이터 LABEL(i, k), 노드 i를 시점으로 한 경우의 노드 k 우측의 자식 노드 kR의 라벨 데이터 LABEL(i, kR)로 한다.
이 처리를 반복함으로써, 노드 i를 시점으로 한 경우의, 그 자손이 되는 모든 노드에 대응하는 라벨을 만들어 낸다.
그리고, 상기 정의에 의하면 집합 S(i, i)는 공(空)집합이며, 노드 i를 시점 으로 한 경우에, 노드 i의 키라고 하는 것은 불필요하기 때문에, LABEL(i)을 의사 난수 생성기 G에 입력한 출력의 중앙 부분인 GM(S)은 사용되지 않는다.
도 10 (A)에 나타낸 바와 같이, 시점인 노드 i의 라벨 데이터 LABEL(i)의 값 S가 정해지고, GR(S)이 노드 i를 시점으로 한 경우의 노드 i 우측의 자식 노드의 라벨 데이터 LABEL이 되고, 또한 그것을 의사 난수 생성기 G에 입력하여 얻어진 GL(S)이, 노드 i를 시점으로 한 경우의 노드 j의 라벨 데이터 LABEL이 된다.
이 처리를, 모든 내부 노드 i에 대하여 행한다.
이들 처리는 시스템의 셋업 시에 키 관리 장치에 의해 행해지지만, 의사 난수 생성기(또는 의사 난수 생성 함수) G는 키 관리 장치에 의해 정해져 공개되어 있고, 이것을 사용함으로써, LABEL(i, j)이 주어진 수신 장치는 노드 i를 시점으로 한 경우의, 노드 j의 자손이 되는 모든 노드 n의 라벨 LABEL(i, n)을 계산할 수 있어, 노드 i를 시점으로 한 경우의, 노드 j 및 그 자손 노드 n의 서브세트 키 SK(i, n)를 계산할 수 있다.
이와 같이 해 두면, 도 10 (B)에 나타낸 바와 같이, 어느 수신 장치 u는 그것이 할당된 리프로부터 트리의 정점에의 경로 상의 각각의 내부 노드 i에 대하여, 노드 i를 시점으로 하고, 이 리프로부터 i에의 경로로부터 직접 분기되어 있는 노드의 라벨 데이터 LABEL만을 유지해 두면, 그 노드 및 그 이후의(그 자손이 되는) 노드의, 노드 i를 시점으로 한 서브세트 키를 만들어 내는 것이 가능해진다. 도 10 (B)에서는, 노드 i에 주목했을 때, u로부터 i에의 경로로부터 직접 분기되어 있는 노드는 3개이며, 수신 장치 u는 이들 3개의 라벨 데이터 LABEL을 시스템의 셋 업 시에 키 관리 장치로부터 받는다.
이하, 도 12에 나타낸 예에서, 수신 장치 u4에 대하여 생각한다.
수신 장치 u4에 대해서는, 그것이 할당된 리프인 노드 19로부터, 루트(1)에의 경로 상의 내부 노드 1, 2, 4, 9가 시점(노드 i)이 된다. 노드 1을 시점으로 하면, 노드 19로부터 노드 1에의 경로로부터 직접 분기되어 있는 노드는 노드 3, 5, 8, 18의 4개이기 때문에, LABEL (1, 3), (1, 5), (1, 8), (1, 18)을 수신 장치 u4는 유지한다.
마찬가지로, 노드 2를 시점으로 한 경우에 LABEL (2, 5), (2, 8), (2, 18)의 3개의 라벨 데이터 LABEL을, 노드 4를 시점으로 한 경우에는 LABEL (4, 8), (4, 18)의 2개의 라벨 데이터 LABEL을, 노드 9를 시점으로 한 경우에는 LABEL (9, 18)을 유지한다.
또, 리보크하는 수신 장치가 없다고 하는 특별한 경우에 사용하는, 전 수신 장치를 포함하는 집합(이것을 S1, φ로 나타내기로 함)에 대응하는 라벨 데이터 LABEL(1)을 하나 유지한다.
다만, S(1), φ에 대응하는 라벨 데이터 LABEL로 하고 있지만, 라벨 데이터 LABEL이 아니고 S1, φ에 대응하는 서브세트 키를 직접 유지해도 된다.
상기와 같이, 각 수신 장치는 리프로부터 루트에의 경로 상의 각 내부 노드에 대하여, 그 내부 노드의 높이분만큼의 라벨 데이터 LABEL을 유지할 필요가 있다.
이들 라벨 데이터 LABEL은 공개되어 있는 G를 사용함으로써 서브세트 키를 만들어 낼 수 있는 것이기 때문에, 수신 장치는 이들을 안전하게 유지한다.
이하, 전술한 SD 방식을 기초로 한 LSD(Basic Layered Subset Difference) 방식을 설명한다.
LSD 방식에는 Basic(기본) 방식과 그 확장인 Genera1(일반화) 방식이 있다. 여기에서는 Basic 방식에 대하여 설명한다.
LSD 방식은 SD 방식의 확장이며, 레이어라고 하는 새로운 개념을 수용한 것이다. SD 방식에서의 트리 구조 중에서, 특정 높이를 특별 레벨(Special Level)로서 정의한다.
Basic_LSD 방식에서는 특별 라벨은 1 종류 뿐이지만, General_LSD 방식에서는 중요도가 상이한 복수개의 특별 레벨을 사용한다.
여기에서, 간단하게 하기 위해, log1/2 N을 정수인 것으로 한다.
Basic_LSD 방식에서는, 도 13에 나타낸 바와 같이, 트리의 루트로부터 리프에 이르기까지의 각각의 레벨(층) 중, 루트와 리프의 레벨을 포함하는 log1/2 N마다의 레벨을 특별 레이어로 한다.
그리고, 인접하는 2개의 특별 레이어에 끼워진 계층(양쪽의 특별 레벨을 포함함)을 레이어라고 부른다.
도 13의 예에서는, 루트의 레벨, 노드 k를 포함하는 레벨, 리프의 레벨이 특별 레벨이며, 루트의 레벨과 노드 i를 포함하는 레벨과 노드 k를 포함하는 레벨이 하나의 레이어를 구성한다. 또 노드 k를 포함하는 레벨과 노드 j를 포함하는 레벨과 리프를 포함하는 레벨이 다른 레이어를 구성한다.
Basic_LSD 방식에서는, SD 방식에서 정의된 서브세트 S(i, j)중, 노드 i와 노드 j가 동일 레이어에 있는가, 또는 노드 i가 특별 레벨에 있는 것만을 정의한다.
이와 같이 하면, SD 방식에서 사용된 서브세트 중 몇 개인가는 Basic_LSD 방식으로는 정의되지 않게 되지만, 이 서브세트는 Basic_LSD 방식으로 정의된 서브세트의 고작 2개의 합계 집합으로 나타낼 수 있다.
예를 들면, 도 13의 예에서는, 서브세트 S(i, j)는 Basic_LSD 방식으로는 정의되지 않지만, 노드 i로부터 노드 j에의 경로 상의, 노드 i에 가장 가까운 특별 레벨 상의 노드(노드 k)를 사용하여, S(i, j)=S(i, k)US(k, j)로 나타낼 수 있다.
즉, SD 방식에서는 서브세트 S(i, j)에 대응하는 서브세트 키 Sk(i, j)를 사용하여 암호화한 1개의 암호문 대신에, Basic_LSD 방식에서는 서브세트 S(i, k)와 S(k, j)에 대응하는 서브세트 키 Sk(i, k), SK(k, j)를 사용하여 암호화한 2개의 암호문을 송신한다.
이에 따라, 송신되는 암호문의 수는 SD 방식의 고작 2배로 증가하지만, 각 수신기가 유지하는 라벨의 수를 줄일 수 있다.
도 14에, 도 12의 SD 방식으로 상정한 것과 같은 경우에 Basic_LSD 방식을 적용한 경우를 설명한다.
도 14에 나타낸 수신 장치 u4는 i, j가 동일 레이어에 있는가, i가 특별 레벨에 있는 라벨 데이터 LABEL(i, j)만 유지하면 된다.
즉, 수신 장치 u4가 유지하는 라벨 데이터 LABEL은 라벨 데이터 LABEL (1, 3), (1, 5), l, (8), l, (18), (2, 5), (4, 8), (4, 18), (9, 18)이 된다.
또한, SD 방식과 마찬가지로, 리보크하는 수신기가 없는 경우에 사용하는 특별한 라벨도 유지할 필요가 있다.
이하, 도 2에 나타낸 키 관리 장치(3)의 동작예를 설명한다.
키 관리 장치(3)의 동작은 전술한 바와 같이, 프로그램 PRG1을 기초로 한 처리부(13)의 처리에 의해 실현된다.
〔전처리의 동작예〕
도 15는 키 관리 장치(3)가 전술한 전처리를 행하는 경우의 동작예를 설명하기 위한 플로 차트이다.
전술한 바와 같이, 키 관리 장치(3)의 처리부(13)는 리보케이션 처리에 앞서, 예를 들면, 수신 장치(4_1∼4_N)의 등록 시 등에 이하에 나타낸 전처리를 행한다.
스텝 ST11:
키 관리 장치(3)는 키 취득 방법 SKT-A, 및 키 취득 방법 SKT-A에서 사용하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 수신 장치(4_1∼4_N)에 설정한다.
구체적으로는, 키 관리 장치(3)는 수신 장치(4_1∼4_N)의 각각에, 도 5에 나타낸 수평 레이어(A0) 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL을 취득하기 위한 라벨 데이터 LABEL을 설정한다.
또, 키 관리 장치(3)는 수신 장치(4_1∼4_N)의 각각에, 도 5에 나타낸 수평 레이어(A1) 내의 해당 수신 장치에 대응하는 최종단의 노드와 상기 루트 사이의 경로 상에 위치하는 모든 노드에 각각 할당된 복수개의 키 데이터 K_ORG를 설정한다.
키 관리 장치(3)는, 예를 들면, 수신 장치(4_1∼4_N)의 발행 또는 등록 시에, 수신 장치(4_1∼4_N)에 대하여 개별적으로 상기 설정을 시큐어 상태로 행한다.
〔리보케이션 처리의 동작예〕
도 16은 키 관리 장치(3)가 전술한 리보케이션 처리를 행하는 경우의 동작예를 설명하기 위한 플로 차트이다.
키 관리 장치(3)의 처리부(13)는 수신 장치(4_1∼4_N) 중 어느 하나를 리보크하는 경우에, 해당 리보케이션 처리를 행한다.
스텝 ST21:
키 관리 장치(3)는 수신 장치(4_1∼4_N) 중 리보크하는 수신 장치를 나타내는 리보케이션 리스트 RL를 생성한다.
스텝 ST22:
키 관리 장치(3)는 스텝 ST21에서 생성한 리보케이션 리스트 RL을 기초로, 리보크하지 않는 수신 장치(4_1∼4_N) 사이의 통신에 사용하는 키 암호 키 데이터 KEKm을, 키 취득 방법 SKT-A에 따라 특정한다.
해당 처리에 대해서는, 후에 상세하게 설명한다.
스텝 ST23:
키 관리 장치(3)는 스텝 ST22에서 특정한 키 암호 키 데이터 KEKm의 생성에 필요한 키 데이터 K_ORG 및 라벨 데이터 LABEL을 지정한 키 지정 데이터 Im을 생성한다.
그리고, 키 지정 데이터 Im에서의 키 데이터 K_ORG 및 라벨 데이터 LABEL의 지정은 키 데이터 K_ORG 및 라벨 데이터 LABEL에 할당된 인덱스 등의 식별 데이터를 기초로 행하고, 키 데이터 K_ORG 및 라벨 데이터 LABEL 자체는 포함하지 않는다.
스텝 ST24:
키 관리 장치(3)는 새로운(갱신 후의) 세션키 데이터 NEW_SEK를, 스텝 ST23에서 생성한 키 암호 키 데이터 KEKm으로 암호화하여 데이터 EKEKm(NEW_SEK)을 생성한다.
스텝 ST25:
키 관리 장치(3)는 수신 장치(4_1∼4_N)에 제공하는 비밀 정보인 페이로드 데이터 PAYL를, 새로운 세션키 데이터 NEW_SEK를 사용하여 암호화해서 데이터 ENEW-SEK(PAYL)를 생성한다.
스텝 ST26:
키 관리 장치(3)는 스텝 ST25에서 생성한 키 지정 데이터 Im(I1∼IM)과, 스텝 ST24에서 생성한 데이터 EKEKm(NEW_SEK)과, 스텝 ST25에서 생성한 ENEW_SEK(PAYL)를 저장한 데이터인 도 17에 나타낸 캡슐 데이터 CAP를 생성한다.
스텝 ST27:
키 관리 장치(3)는 스텝 ST26에서 생성한 캡슐 데이터 CAP를, 도 2에 나타낸 통신부(11)를 통해, 예를 들면, 무선 방식으로 방송(송신)한다.
해당 방송은 이른바 PUSH 분배이다.
이하, 도 16에 나타낸 스텝 ST23에 대하여 상세하게 설명한다.
도 18은 도 16에 나타낸 스텝 ST23, 즉 키 취득 방법 SKT-A를 기초로 한 키 암호 키 데이터 KEK의 특정 방법을 설명하기 위한 도면이다.
도 18에서, 스텝 ST31이 제1 발명의 제1 공정에 대응하고, 스텝 ST32가 제1 발명의 제2 공정에 대응하고, 스텝 ST33이 제1 발명의 제3 공정에 대응하고, 스텝 ST34, ST35가 제1 발명의 제4 공정에 대응하고 있다.
또, 제3 발명의 제1 수단, 제2 수단 및 제3 수단은 처리부(13)가 스텝 ST31, ST32 및 ST33을 각각 실행하여 실현된다. 또, 제3 발명의 제4 수단은 처리부(13)가 스텝 ST34, ST35를 실행하여 실현된다.
스텝 ST31:
키 관리 장치(3)는 도 5에 나타낸 수평 레이어(A0)에 속하는 서브트리(SUBT) 중 리보크하는 수신 장치를 포함하는 모든 서브트리의 각각에 대하여, 해당 서브트리에 속하는 수신 장치를 각각이 요소로 하는 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
스텝 ST32:
키 관리 장치(3)는 도 5에 나타낸 수평 레이어(A1) 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정한다.
스텝 ST33:
키 관리 장치(3)는 스텝 ST32에서 특정한 모든 노드에 대하여, 해당 노드와 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 루트에 가장 가까운 노드를 특정한다.
스텝 ST34:
키 관리 장치(3)는 스텝 ST31에서 특정한 집합(또는 그 라벨 데이터 LABEL)에 대응하게 된 키 암호 키 데이터 KEKm을, 해당 집합의 요소인 수신 장치(4_1∼4_N) 사이의 통신에 사용하는 것을 결정한다.
키 관리 장치(3)는, 예를 들면, 도 5에 나타낸 수평 레이어(A0) 내의 모든 서브세트의 상기 집합과 키 암호 키 데이터 KEKm을 대응시켜 유지하고, 스텝 ST31에서 특정한 집합에 대응하는 키 암호 키 데이터 KEK를 특정한다.
또, 키 관리 장치(3)는, 예를 들면, 도 5에 나타낸 수평 레이어(A0) 내의 전술한 집합인 서브세트 S(i, j) 중, 노드 i와 노드 j가 동일 레이어에 있는가, 또는 노드 i가 특별 레벨에 있는 것에 대응하는 라벨 데이터 LABEL(i, j)을 유지하고, 이것을 기초로, 도 10 및 도 11을 사용하여 설명한 방법으로 라벨 데이터 LABEL을 생성하고, 이 라벨 데이터 LABEL을 기초로 그 서브세트 키인 키 암호 키 데이터 KEKm을 생성해도 된다.
그리고, 키 관리 장치(3)는 상기 특정(생성)한 키 암호 키 데이터 KEKm을, 상기 특정한 집합의 요소인 수신 장치(4_1∼4_N)가 생성하기 위해 사용하는 라벨 데이터 LABEL을 지정하는 키 지정 데이터 Im을 생성한다.
스텝 ST35:
키 관리 장치(3)는 스텝 ST33에서 특정한 노드에 대응하는 키 데이터 K_ORG(노드 키)를 키 암호 키 데이터 KEKm으로 하여, 해당 노드 분기선의 수신 장치(4_1∼4_N)와의 통신에 사용하는 것을 결정한다.
그리고, 키 관리 장치(3)는 상기 결정한 키 암호 키 데이터 KEKm인 키 데이터 K_ORG를 지정하는 키 지정 데이터 Im을 생성한다.
〔수신 장치(4_1∼4_N)〕
수신 장치(4_1∼4_N)는, 예를 들면, PDA(Personal Digital Assistant)나 휴대 전화 등의 유비퀴터스 단말 장치이다.
도 19는 도 1에 나타낸 수신 장치(4_1∼4_N)의 하드웨어 구성도이다. 수신 장치(4_1∼4_N)는 메모리(42)에 기억하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 제외하고 동일 구성을 가지고 있다.
도 19에 나타낸 바와 같이, 수신 장치(4_1∼4_N)는, 예를 들면, 통신부(41), 메모리(42) 및 처리부(43)를 가진다.
여기에서, 메모리(42)가 제4 발명의 기억 수단에 대응하고, 처리부(43)가 제4 발명의 처리 수단에 대응하고 있다.
통신부(41)는 키 관리 장치(3)가 PUSH 방식으로 송신한 전술한 캡슐 데이터 CAP를 무선 방식으로 수신한다.
메모리(42)는 처리부(43)에 의해 실행되는 프로그램 PRG2와, 프로그램 PRG2 의 실행에 사용되는 여러 가지 데이터를 기억한다.
프로그램 PRG2는 전술한 키 취득 방법 SKT-A의 처리 순서를 포함하고 있다.
메모리(42)는 키 관리 장치(3)에 의한 전술한 전처리에 의해, 수신 장치(4_1∼4_N)의 각각에 할당된 키 데이터 K_ORG 및 라벨 데이터 LABEL을 기억한다.
구체적으로는, 메모리(42)는 수평 레이어(A0) 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 쪽 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL(제1∼제4 발명의 제1 키 데이터)을 취득하기 위한 라벨 데이터 LABEL(제4 발명의 제3 키 데이터)을 기억한다.
또, 메모리(42)는 수평 레이어(A1) 내의 해당 수신 장치에 대응하는 최종단의 노드와 상기 루트 사이의 경로 상에 위치하는 모든 노드에 각각 할당된 복수개의 키 데이터 K_ORG(제1∼제4 발명의 제2 키 데이터)를 기억한다.
여기에서, 메모리(42)가 기억하는 키 데이터 K_ORG 및 라벨 데이터 LABEL의 데이터량의 오더는 아래와 하기 식 (3)에서 나타낸 O(STA)가 된다.
O(STA)=
((HA〔0〕)1.5-HA〔0〕+log2 N)
… (3)
처리부(43)는 메모리(42)에 기억된 프로그램 PRG2를 실행하고, 그 실행에 따 라 수신 장치(4_1∼4_N)의 처리를 통괄하여 제어한다. 본 실시예에서, 수신 장치(4_1∼4_N)의 처리는 처리부(43)가 실행하는 프로그램 PRG2에 의해 규정된다.
프로그램 PRG2에 의해 규정되는 처리부(43)의 기능은 수신 장치(4_1∼4_N)도 사용자로부터는 제어할 수 없도록 구성되어 있다. 또, 수신 장치(4_1∼4_N)의 사용자는 이들 기능을 전혀 의식하지 않고 수신 장치(4_1∼4_N)를 사용한다.
이하, 수신 장치(4_1∼4_N)의 동작예를 설명한다.
도 20은 수신 장치(4_1∼4_N)의 동작예를 설명하기 위한 플로 차트이다.
그리고, 수신 장치(4_1∼4_N)의 동작은 처리부(43)가 프로그램 PRG2를 실행함으로써 규정된다.
스텝 ST41:
수신 장치(4_1∼4_N)의 통신부(41)가, 도 16에 나타낸 스텝 ST27에서 키 관리 장치(3)가 방송한 캡슐 데이터 CAP를 수신한다.
스텝 ST42:
수신 장치(4_1∼4_N)의 처리부(43)가, 스텝 ST41에서 수신한 캡슐 데이터 CAP 내에, 스스로에 대응하는 키 지정 데이터 Im이 포함되어 있는지 여부를 판단하고, 포함되어 있다고 판단하면 스텝 ST43의 처리로 진행하고, 그렇지 않은 경우에는 처리를 종료한다.
스텝 ST43:
처리부(43)는 캡슐 데이터 CAP 내에, 스스로에 대응하는 키 지정 데이터 Im을 취득한다.
그리고, 처리부(43)는 메모리(42)가 기억하는 키 데이터 K_ORG 및 라벨 데이터 LABEL 중에서, 스텝 ST42에서 취득한 키 지정 데이터 Im에 의해 지정된 키 데이터 K_ORG 또는 라벨 데이터 LABEL을 특정한다.
스텝 ST44:
처리부(43)는 스텝 ST43에서 특정한 키 데이터 K_ORG 또는 라벨 데이터 LABEL을 기초로 키 암호 키 데이터 KEKm을 취득(생성)한다.
스텝 ST44의 처리에 대해서는, 후에 상세하게 설명한다.
스텝 ST45:
처리부(43)는 스텝 ST44에서 취득(생성)한 키 암호 키 데이터 KEKm을 사용하여, 캡슐 데이터 CAP 내의 데이터 EKEKm(NEW_SEK)을 복호하고 새로운 세션키 데이터 NEW_SEK를 취득한다.
스텝 ST46:
처리부(43)는 캡슐 데이터 CAP 내의 데이터 ENEW_SEK(PAYL)를, 스텝 ST45에서 취득한 새로운 세션키 데이터 NEW_SEK를 사용하여 복호하고 페이로드 데이터 PAYL을 취득한다.
수신 장치(4_1∼4_N)는 이후, 다음에 리보케이션 처리를 행할 때까지, 관리 장치(3)로부터 수신한 데이터를 복호하기 위해, 스텝 ST45에서 취득한 세션키 데이터 NEW_SEK를 사용한다.
이하, 도 20에 나타낸 스텝 ST44의 처리를 설명한다.
도 21은 도 20에 나타낸 스텝 ST44의 처리를 설명하기 위한 플로 차트이다.
스텝 ST51:
처리부(43)는 도 20에 나타낸 전술한 스텝 ST43에서 취득한 키 지정 데이터 Im이 라벨 데이터 LABELm을 지정하고 있는지 여부를 판단하고, 라벨 데이터 LABEL을 지정하고 있다고 판단하면 스텝 ST52로 진행하고, 키 데이터 K_ORG를 지정하고 있다고 판단하면 스텝 ST56으로 진행된다.
스텝 ST52:
처리부(43)는 키 지정 데이터 Im이 지정하는 라벨 데이터 LABELm의 생성에 필요한 라벨 데이터 LABEL을, 메모리(42)가 기억(유지)하고 있는지 여부를 판단하고, 메모리(42)가 기억하고 있다고 판단하면 스텝 ST55로 진행하고, 그렇지 않은 경우에는 스텝 ST53으로 진행된다.
스텝 ST53:
처리부(43)는 키 지정 데이터 Im이 지정하는 라벨 데이터 LABELm에 대응하는 집합을 합계 집합으로 하는 2개의 집합에 대응하는 라벨 데이터 LABEL을 특정한다.
스텝 ST54:
처리부(43)는 스텝 ST53에서 특정한 2개의 라벨 데이터 LABEL을, 필요에 따라 메모리(42)에 기억된 라벨 데이터 LABEL을 기초로 각각 생성한다.
그리고, 처리부(43)는 해당 2개의 라벨 데이터 LABEL을 각각 키로 하고 의사 난수 발생기 G를 기초로 의사 난수를 발생시켜, 2개의 서브세트 키 SK를 생성한다.
그리고, 처리부(43)는 해당 2개의 서브세트 키 SK를 기초로 키 암호 키 데이터 KEKm을 생성한다.
스텝 ST55:
처리부(43)는 키 지정 데이터 Im이 지정하는 라벨 데이터 LABEm을, 필요에 따라 메모리(42)에 기억된 라벨 데이터 LABEL을 기초로 생성한다.
그리고, 처리부(43)는 해당 라벨 데이터 LABELm을 키로 하고 의사 난수 발생기 G를 기초로 의사 난수를 발생시켜, 서브세트 키 SK를 생성한다.
그리고, 처리부(43)는 해당 서브세트 키 SK를 키 암호 키 데이터 KEKm으로 한다.
스텝 ST56:
처리부(43)는 키 지정 데이터 Im이 지정하는 키 데이터 K_ORG를 키 암호 키 데이터 KEKm으로 한다.
이하, 통신 시스템(1)의 전체 동작예를 설명한다.
먼저, 키 관리 장치(3)가 도 15를 사용하여 전술한 전처리에 의해, 소정 키 데이터 K_ORG 및 라벨 데이터 LABEL을 수신 장치(4_1∼4_N)에 분배한다.
그리고, 키 관리 장치(3)가 소정 수신 장치(4_1∼4_N)를 리보크하는 경우에, 도 16 및 도 18을 사용하여 전술한 방법으로, 캡슐 데이터 CAP를 리보크하지 않는 수신 장치(4_1∼4_N)에 분배한다.
그리고, 수신 장치(4_1∼4_N)가 도 20 및 도 21을 사용하여 설명한 처리를 행하고, 리보크하지 않는 수신 장치(4_1∼4_N)가 새로운 세션키 데이터 NEW_SEK를 기초로 복호한 페이로드 데이터 PAYL을 얻는다.
이상 설명한 바와 같이, 통신 시스템(1)에서는 도 15를 사용하여 전술한 전 처리에 의해, 수신 장치(4_1∼4_N)에 키 데이터 K_ORG 및 라벨 데이터 LABEL을 설정하여 기억시킨다.
통신 시스템(1)에 의하면, 수신 장치(4_1∼4_N)에 기억되는 키 데이터 및 라벨 데이터 LABEL의 데이터량(수학식 (3)의 O(STA))는 CST 방식의 경우(O(1og2 N))보다는 크지만, SD 방식 및 LSD 방식의 경우(O((log2 N)2), O((log2 N)1+a), a>1)보다 적게 할 수 있다. 즉, 통신 시스템(1)에서는, 전술한 키 취득 방법 SKT-A에 의해, 수평 레이어(A1)에 CST 방식을 채용함으로써, 트리 전체에 SD 방식 또는 LSD 방식을 채용하는 경우에 비해, 수신 장치(4_1∼4_N)가 기억하는 키 데이터 및 라벨 데이터의 데이터량을 적게 할 수 있다.
또, 통신 시스템(1)에서는, 전술한 키 취득 방법 SKT-A를 채용함으로써, 리보케이션 처리에 따라 수신 장치(4_1∼4_N) 사이의 통신에 사용하는 키 암호 키 데이터 KEKm의 수, 즉 키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이의 통신량(수학식 (2)의 O(COA))을 LSD 방식 및 SD 방식의 경우(O(R))보다는 많지만, CST 방식의 경우(O(Rlog2 N/R))보다 적게 할 수 있다. 즉, 통신 시스템(1)에서는, 전술한 키 취득 방법 SKT-B에 의해, 수평 레이어(A0)에 LSD 방식을 채용함으로써, 트리 전체에 CST 방식을 채용하는 경우에 비해, 리보케이션 처리에 따른 키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이의 통신량을 적게 할 수 있다.
이에 따라, 통신 시스템(1)에 의하면, 리보케이션 처리에 따른 키 관리 장치(3)와 수신 장치(4_1∼4_N) 사이의 통신량과, 수신 장치(4_1∼4_N)가 유지하는 키 데이터의 데이터량을 적절한 트레이드오프에 의해 규정할 수 있다.
또, 통신 시스템(1)에서는, 수신 장치(4_1∼4_N)는 그 사용자가 전술한 키 관리 등의 시큐리티 기능을 제어할 수 없도록 구성되어 있기 때문에, 시큐리티 기능을 높일 수 있다.
또, 수신 장치(4_1∼4_N)는 키 관리 장치(3)로부터의 수신(다운로드)에, SDR을 채용하고 있기 때문에, 권한이 있는 정당한 수신 장치(4_1∼4_N)만이 해당 수신 장치에 대하여 송신된 데이터를 자동적으로 수신할 수 있어, 다운로드에 따른 시큐리티를 높일 수 있다.
또, 사용자는 이들 시큐리티 기능을 전혀 의식하지 않고 수신 장치(4_1∼4_N)를 사용할 수 있다.
제2 실시예:
해당 제2 실시예는 제5∼제8 발명의 실시예이다.
도 1에 나타낸 바와 같이, 본 실시예의 통신 시스템(101)은, 예를 들면, 키 관리 장치(103)와, 복수개(N 개)의 수신 장치(104_1∼104_N)를 가진다.
여기에서, 키 관리 장치(103)가 본 발명의 키 관리원 및 제7 발명의 데이터 처리 장치에 대응하고, 수신 장치(104_1∼104_N)가 제5∼제8 발명의 수신 장치에 대응하고 있다.
키 관리 장치(103)와 수신 장치(104_1∼104_N) 사이에서는, 예를 들면, 무선 방식으로 데이터의 수수(통신)를 행한다.
수신 장치(104_1∼104_N)는 미리 키 관리 장치(3)에 등록되어 있으며, 키 관리 장치(3) 사이의 비밀 통신(시큐어 통신)에 사용하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 유지하고 있다.
키 관리 장치(103) 및 수신 장치(104_1∼104_N)는 키 취득 방법 SKT-A 대신에, 이하에 나타내는 키 취득 방법 SKT-B를 채용하는 것을 제외하고, 제1 실시예의 키 관리 장치(3) 및 수신 장치(4_1∼4_N)와 각각 동일하다.
키 관리 장치(103)는, 예를 들면, 도 2에 나타낸 바와 같이, 통신부(111), 메모리(112) 및 처리부(113)를 가진다.
또, 수신 장치(104_1∼104_N)는, 예를 들면, 도 19에 나타낸 바와 같이, 통신부(141), 메모리(142) 및 처리부(143)를 가진다.
이하, 본 실시예에서 대용하는 키 취득 방법 SKT-B에 대하여 설명한다.
도 22는 키 취득 방법 SKT-B를 설명하기 위한 도면이다.
도 22에 나타낸 바와 같이, 키 취득 방법 SKT-B에서는, 트리를 3개의 수평 레이어 B0, B1, B2로 분할한다.
여기에서 수평 레이어 B0, Bl, B2가 각각 제5∼제8 발명의 제1 레이어, 제3 레이어 및 제2 레이어에 각각 대응하고 있다.
최하층의 수평 레이어(B0)의 높이를 HB〔0〕로 하고, 수평 레이어(B11)의 높이를 HB〔1〕로 하고, 수평 레이어(B2)의 높이를 (1og2 N-HB〔0〕-HB〔1〕)로 한다.
그리고, 수평 레이어(B0)에 속하는 각 섹션(31〔0〕)의 리보케이션 방식으로서 상기 비특허 문헌 1에 개시되어 있는 LSD 방식을 채용한다.
또, 수평 레이어(B1)에 속하는 각 섹션(31〔1〕)의 리보케이션 방식으로서 상기 비특허 문헌 1에 개시되어 있는 LSD 방식을 채용한다.
또한, 수평 레이어(B2)에 속하는 각 섹션(31〔2〕)의 리보케이션 방식으로서 상기 비특허 문헌 2에 개시되어 있는 CST 방식을 채용한다.
이하, 키 취득 방법 SKT-B에 관한 키 관리 장치(103) 및 수신 장치(104_1∼104_N)의 처리에 대하여 설명한다.
〔키 관리 장치(103)〕
키 관리 장치(103)는 제1 실시예의 도 15에 대응하는 전처리로서 도 23에 나타낸 처리를 행한다.
스텝 ST81:
키 관리 장치(103)는 리보케이션 처리에 앞서, 예를 들면, 수신 장치(104_1∼104_N)의 등록 시 등에 이하에 나타내는 전처리를 행한다.
키 관리 장치(103)는 키 취득 방법 SKT-B, 및 키 취득 방법 SKT-B에서 사용하는 키 데이터 K_ORG 및 라벨 데이터 LABEL을 수신 장치(104_1∼104_N)에 설정한다.
구체적으로는, 키 관리 장치(103)는 수신 장치(104_1∼104_N)의 각각에, 도 22에 나타낸 수평 레이어(B0) 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 쪽 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL(제8 발명의 제1 키 데이터)을 취득하기 위한 라벨 데이터 LABEL(제8 발명의 제2 키 데이터)을 설정한다.
또, 키 관리 장치(103)는 수신 장치(104_1∼104_N)의 각각에, 도 22에 나타낸 수평 레이어(B1) 내의 최종단 노드의 어느 쪽 노드의 분기선에 있는 다른 수신 장치가 무효로 되는 경우라도, 그 분기선에 무효로 되지 않는 수신 장치를 가지고 있지 않은 상기 최종단의 노드만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL(제8 발명의 제3 키 데이터)을 취득하기 위한 라벨 데이터 LABEL(제8 발명의 제4 키 데이터)을 설정한다.
또, 키 관리 장치(103)는 수신 장치(104_1∼104_N)의 각각에, 도 22에 나타낸 수평 레이어(B2) 내의 해당 수신 장치에 대응하는 최종단의 노드와 루트 사이의 경로 상에 위치하는 모든 노드에 각각 할당된 복수개의 키 데이터 K_ORG(제8 발명의 제5 키 데이터)를 설정한다.
〔리보케이션 처리의 동작예〕
키 관리 장치(103)는 제1 실시예에서 도 16을 사용하여 설명한 방법으로 리보케이션 처리를 행한다.
이 경우에, 도 16의 스텝 ST23에서, 이하에 나타낸 바와 같이, 키 취득 방법 SKT-B를 기초로 리보케이션 처리를 행하여 키 지정 데이터 Im을 생성한다.
도 24는 키 관리 장치(103)가 행하는 도 16의 스텝 ST23의 처리를 설명하기 위한 플로 차트이다.
도 24에서, 스텝 ST91이 제5 발명의 제1 공정에 대응하고, 스텝 ST92가 제5 발명의 제2 공정에 대응하고, 스텝 ST93, ST94가 제5 발명의 제3 공정에 대응하고, 스텝 ST95, ST96, ST97이 제5 발명의 제4 공정에 대응하고 있다.
또, 제7 발명의 제1 수단 및 제2 수단은 처리부(113)가 스텝 ST91, ST92를 각각 실행하여 실현된다.
또, 제7 발명의 제3 수단은 처리부(113)가 스텝 ST93, ST94를 실행하여 실현된다.
또, 제7 발명의 제4 수단은 처리부(113)가 스텝 ST95, ST96, ST97을 실행하여 실현된다.
스텝 ST91:
키 관리 장치(103)는 도 22에 나타낸 수평 레이어(B0)에 속하는 서브트리(SUBT) 중 리보크하는 수신 장치를 포함하는 모든 서브트리의 각각에 대하여, 해당 서브트리에 속하는 수신 장치를 각각이 요소로 하는 미리 규정된 복수개의 집합 중에서 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정한다.
스텝 ST92:
키 관리 장치(103)는 도 22에 나타낸 수평 레이어(B1)에 속하는 서브트리(SUBT)에 대하여, 해당 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정한다.
스텝 ST93:
키 관리 장치(103)는 도 22에 나타낸 수평 레이어(B2) 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정한다.
스텝 ST94:
키 관리 장치(103)는 스텝 ST93에서 특정한 모든 노드에 대하여, 해당 노드와 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 루트에 가장 가까운 노드를 특정한다.
스텝 ST95:
키 관리 장치(103)는 스텝 ST91에서 특정한 집합(또는 그 라벨 데이터 LABEL)에 대응하게 된 키 암호 키 데이터 KEKm을, 해당 집합의 요소인 수신 장치 사이의 통신에 사용하는 것을 결정한다.
키 관리 장치(103)는, 예를 들면, 도 22에 나타낸 수평 레이어(B0) 내의 모든 서브세트의 상기 집합과 키 암호 키 데이터 KEKm을 대응시켜 유지하고, 스텝 ST91에서 특정한 집합에 대응하는 키 암호 키 데이터 KEK를 특정한다.
또, 키 관리 장치(103)는, 예를 들면, 도 22에 나타낸 수평 레이어(B0) 내의 전술한 집합인 서브세트 S(i, j) 중, 노드 i와 노드 j가 동일 레이어에 있는가, 또는 노드 i가 특별 레벨에 있는 것에 대응하는 라벨 데이터 LABEL(i, j)을 유지하고, 이것을 기초로, 도 10 및 도 11을 사용하여 설명한 방법으로 라벨 데이터 LABEL을 생성하고, 이 라벨 데이터 LABEL을 기초로 그 서브세트 키인 키 암호 키 데이터 KEKm을 생성해도 된다.
그리고, 키 관리 장치(103)는 상기 특정(생성)한 키 암호 키 데이터 KEKm을, 상기 특정한 집합의 요소인 수신 장치(104_1∼104_N)가 생성하기 위해 사용하는 라벨 데이터 LABEL을 지정하는 키 지정 데이터 Im을 생성한다.
스텝 ST96:
키 관리 장치(103)는 스텝 ST92에서 특정한 집합(또는 그 라벨 데이터 LABEL)에 대응하게 된 키 암호 키 데이터 KEKm을, 해당 집합의 요소인 수신 장치 사이의 통신에 사용하는 것을 결정한다.
해당 키 암호 키 데이터 KEK의 결정(생성) 방법은 스텝 ST95와 동일하다.
그리고, 키 관리 장치(103)는 상기 특정(생성)한 키 암호 키 데이터 KEKm을, 상기 특정한 집합의 요소인 수신 장치(104_1∼104_N)가 생성하기 위해 사용하는 라벨 데이터 LABEL을 지정하는 키 지정 데이터 Im을 생성한다.
스텝 ST97:
키 관리 장치(103)는 스텝 ST94에서 특정한 노드에 대응하는 키 데이터 K_ORG(노드 키)를 키 암호 키 데이터 KEKm으로 하고, 해당 노드 분기선의 수신 장치(104_1∼104_N)와의 통신에 사용하는 것을 결정한다.
그리고, 키 관리 장치(103)는 상기 결정한 키 암호 키 데이터 KEKm인 키 데이터 K_ORG를 지정하는 키 지정 데이터 Im을 생성한다.
〔수신 장치(104_1∼104_N)〕
수신 장치(104_1∼104_N)는, 예를 들면, PDA나 휴대 전화 등의 유비퀴터스 단말 장치이다.
도 19에 나타낸 바와 같이, 수신 장치(104_1∼104_N)는, 예를 들면, 통신부(141), 메모리(142) 및 처리부(143)를 가진다.
수신 장치(104_1∼104_N)는 메모리(142)에 기억하는 키 데이터 K_ORG 및 라 벨 데이터 LABEL을 제외하고 동일 구성을 가지고 있다.
여기에서, 메모리(142)가 제8 발명의 기억 수단에 대응하고, 처리부(143)가 제8 발명의 처리 수단에 대응하고 있다.
통신부(141)는 제1 실시예의 통신부(41)와 동일하다.
메모리(142)는 처리부(143)에 의해 실행되는 프로그램 PRG102와, 프로그램 PRG102의 실행에 사용되는 여러 가지 데이터를 기억한다.
프로그램 PRG102는 전술한 키 취득 방법 SKT-A의 처리 순서를 포함하고 있다.
메모리(142)는 키 관리 장치(103)에 의한 전술한 전처리에 의해, 수신 장치(104_1∼104_N)의 각각에 할당된 키 데이터 K_ORG 및 라벨 데이터 LABEL을 기억한다.
구체적으로는, 메모리(142)는 수평 레이어(B0) 내의 해당 수신 장치가 속하는 서브트리 내의 다른 어느 쪽 수신 장치가 무효로 되는 경우라도, 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL(제5∼제8 발명의 제1 키 데이터)을 취득하기 위한 라벨 데이터 LABEL(제8 발명의 제2 키 데이터)을 기억한다.
또, 메모리(142)는 수평 레이어(B1) 내의 어느 쪽의 서브트리 내가 그 분기선에 무효로 되는 수신 장치를 포함하는 경우라도, 해당 서브트리 내의 무효로 되지 않는 수신 장치만을 분기선에 포함하는 최종단의 노드만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 라벨 데이터 LABEL(제5 ∼제7 발명의 제2 키 데이터, 및 제8 발명의 제3 키 데이터)을 취득하기 위한 라벨 데이터 LABEL(제8 발명의 제4 키 데이터)을 기억한다.
또, 메모리(142)는 수평 레이어(B2) 내의 해당 수신 장치에 대응하는 최종단의 노드와 상기 루트 사이의 경로 상에 위치하는 모든 노드에 각각 할당된 복수개의 키 데이터 K_ORG(제1∼제3 발명의 제3 키 데이터, 및 제8 발명의 제5 키 데이터)를 기억한다.
처리부(143)는 메모리(142)에 기억된 프로그램 PRG102를 실행하고, 그 실행에 따라 수신 장치(104_1∼104_N)의 처리를 통괄하여 제어한다. 본 실시예에서, 수신 장치(104_1∼104_N)의 처리는 처리부(143)가 실행하는 프로그램 PRG102에 의해 규정된다.
이하, 수신 장치(104_1∼104_N)의 처리는 제1 실시예에서 도 20 및 도 21을 사용하여 전술한 처리와 동일하다.
여기에서, 전술한 키 취득 방법 SKT-B에 있어서, R개의 수신 장치(4_1∼4_N)의 리보크가, 상기 트리를 구성하는 수평 레이어(B1)의 R0B개의 섹션에 영향을 주고, 또한 수평 레이어(B2)의 R1B개의 섹션에 영향을 주는 것으로 한다.
이 경우에, 리보크에 따른 키 관리 장치(103)와 리보크되지 않는 수신 장치(104_1∼104_N) 사이의 통신량의 오더는 키 취득 방법 SKT-B의 경우에는 하기 식 (4)에 나타낸 O(COB)가 된다.
O(COB)=
(R+R0B+R1B((log2 N)-HB〔1〕-HB[0〕-R1Blog2 R1B)
…(4)
또, 메모리(142)가 기억하는 키 데이터 K_ORG 및 라벨 데이터 LABEL의 데이터량의 오더는 하기 식 (5)에서 나타내는 O(STB)가 된다.
O(STB)=
((HB〔0〕) 1. 5+HB〔1〕) 1. 5-HB[0〕-HB〔1〕+log2 N)
…(5)
이에 따라, 통신 시스템(101)에 의해서도, 제1 실시예의 통신 시스템 1과 동일한 효과가 얻어진다.
본 발명은 전술한 실시예에 한정되지는 않는다.
전술한 실시예에서는, 키 관리 장치(3, 103)와 수신 장치(4_1∼4_N), (104_1∼104_N) 사이의 통신을 무선 방식으로 행하는 경우를 예시했지만, 해당 통신을 유선으로 행해도 된다.
또, 전술한 실시예에서는, 본 발명의 복수개의 키 취득 방법으로서, 2개의 키 취득 방법 SKT-A, SKT-B를 예시했지만, 키 취득 방법의 종류에 특히 한정되지 않고, 또, 키 취득 방법의 수도 복수이면 특히 한정되지 않는다.
예를 들면, 본 발명은 복수개의 수신 장치가 할당된 리프를 포함하는 제1 수평 레이어에 대하여 LSD 또는 SD 방식을 적용하고, 키 관리 장치가 할당된 루트를 포함하는 제2 수평 레이어에 대하여 CST 방식을 채용하고 있으면, 상기 제1 수평 레이어와 상기 제2 수평 레이어 사이에, 수평 레이어가 없어도, 단수 또는 복수개의 레이어가 있어도 되고, 이들 수평 레이어에 적용되는 키 취득 방법은 임의이다.
본 발명에 의하면, 리보케이션 처리에 따른 키 관리원과 수신 장치 사이의 통신량과 수신 장치가 유지하는 키 데이터의 데이터량을 적절한 트레이드오프에 의해 규정한 데이터 처리 방법, 그 프로그램, 그 장치와 수신 장치를 제공할 수 있다.
본 발명은 시큐어 통신을 행하는 데이터 처리 시스템에 적용 가능하다.

Claims (11)

  1. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프(leaf)가 속하는 제1 레이어(layer)와, 키 관리원(管理元)이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리(tree)를 기초로 상기 키 관리원이 행하는 데이터 처리 방법으로서,
    상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서, 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 공정과,
    상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선(分岐先)에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 공정과,
    상기 제2 공정에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 공정과,
    상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 공정
    을 가지는 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 제4 공정은 상기 제1 공정에서 특정한 집합의 요소인 상기 수신 장치와 의 통신을 상기 제1 키 데이터를 기초로 행하고, 상기 제3 공정에서 특정한 노드로부터 분기한 리프에 대응하게 된 무효로 하지 않는 상기 수신 장치와의 통신을 상기 제2 키 데이터를 기초로 행하는 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 제1 공정에서 특정한 집합의 요소인 상기 수신 장치에, 상기 제1 키 데이터를 지정하는 키 지정 데이터를 송신하고,
    상기 제3 공정에서 특정한 노드로부터 분기한 리프에 대응하게 된 무효로 하지 않는 상기 수신 장치에, 상기 제2 키 데이터를 지정하는 키 지정 데이터를 송신하는 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 제1 레이어 내의 상기 수신 장치가 속하는 상기 서브트리 내의 다른 어느 쪽의 상기 수신 장치가 무효로 되는 경우라도, 상기 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 상기 제1 키 데이터를 생성하기 위한 제3 키 데이터와,
    상기 제2 레이어 내의 상기 수신 장치에 대응하는 최종단의 상기 노드와 상기 루트 사이의 경로 상에 위치하는 모든 상기 노드에 각각 할당된 복수개의 상기 제2 키 데이터를 상기 제1 공정보다 전에 상기 복수개의 수신 장치에 설정하는 제5 공정을 추가로 가지는 데이터 처리 방법.
  5. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 상기 키 관리원의 컴퓨터에 키 관리 처리를 실행시키는 프로그램으로서,
    상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 순서와,
    상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 순서와,
    상기 제2 순서에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 순서와,
    상기 제1 순서에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 순서에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 순서
    를 가지는 프로그램.
  6. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 키 관리를 행하는 데이터 처리 장치로서,
    상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 수단과,
    상기 제2 레이어 내의 최종단 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드를 특정하는 제2 수단과,
    상기 제2 수단에서 특정한 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기한 상기 리프에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 수단과,
    상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제2 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 수단
    을 가지는 데이터 처리 장치.
  7. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어가 규정된 트리를 기초로 상기 키 관리원과 통신을 행하는 수신 장치로서,
    상기 제1 레이어 내의 상기 수신 장치가 속하는 서브트리 내의 다른 어느 쪽의 상기 수신 장치가 무효로 되는 경우라도, 상기 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제1 키 데이터를 생성하기 위한 제3 키 데이터와, 상기 제2 레이 어 내의 상기 수신 장치에 대응하는 최종단의 노드와 상기 루트 사이의 경로 상에 위치하는 모든 상기 노드에 각각 할당된 복수개의 제2 키 데이터를 기억하는 기억 수단과,
    상기 키 관리원으로부터 수신한 키 지정 데이터가 상기 제3 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 상기 제3 키 데이터를 기초로 상기 제1 키 데이터를 생성하고, 상기 제1 키 데이터를 사용하여 상기 키 관리원과 통신을 행하고, 상기 키 지정 데이터가 상기 제2 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 상기 제2 키 데이터를 사용하여 상기 키 관리원과 통신을 행하는 처리 수단
    을 가지는 수신 장치.
  8. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재(介在)하는 제3 레이어가 규정된 트리를 기초로 키 관리를 행하는 데이터 처리 방법으로서,
    상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 공정과,
    상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하는 제2 공정과,
    상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 공정과,
    상기 제1 공정에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 공정에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 공정에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 공정
    을 가지는 데이터 처리 방법.
  9. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로, 상기 키 관리원의 컴퓨터에 키 관리 처리를 실행시키는 프로그램으로서, 상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 순서와,
    상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장 치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하는 제2 순서와,
    상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 순서와,
    상기 제1 순서에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 순서에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 순서에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 순서
    를 가지는 프로그램.
  10. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로, 키 관리를 행하는 데이터 처리 장치로서,
    상기 제1 레이어에 속하는 서브트리 중 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 무효로 되지 않는 수신 장치만을 요소로 하는 집합을 특정하는 제1 수단과,
    상기 제3 레이어에 속하는 서브트리 중 분기선에 무효로 하는 상기 수신 장치를 포함하는 상기 서브트리에 대하여, 미리 규정된 복수개의 집합 중에서 상기 서브트리 내의 최종단 노드 중 분기선에 무효로 하지 않는 수신 장치만을 포함하는 노드만을 요소로 하는 집합을 특정하는 제2 수단과,
    상기 제2 레이어의 상기 노드 중, 해당 노드의 분기선에 무효로 하는 수신 장치가 존재하지 않는 노드와 상기 루트 사이의 경로 상에 위치하는 노드 중에서, 해당 노드로부터 분기선에 무효로 하는 상기 수신 장치가 없고, 또한 상기 루트에 가장 가까운 노드를 특정하는 제3 수단과,
    상기 제1 수단에서 특정한 집합에 할당된 제1 키 데이터와, 상기 제2 수단에서 특정한 집합에 할당된 제2 키 데이터와, 상기 제3 수단에서 특정한 노드에 할당된 제3 키 데이터를 기초로, 무효로 하지 않는 상기 수신 장치 사이에서 통신을 행하는 제4 수단
    을 가지는 데이터 처리 장치.
  11. 복수개의 수신 장치의 각각이 대응하게 된 복수개의 리프가 속하는 제1 레이어와, 키 관리원이 대응하게 된 루트가 속하는 제2 레이어와, 상기 제1 레이어와 상기 제2 레이어 사이에 개재하는 제3 레이어가 규정된 트리를 기초로 키 관리를 행하는 수신 장치로서,
    상기 제1 레이어 내의 상기 수신 장치가 속하는 서브트리 내의 다른 어느 쪽의 상기 수신 장치가 무효로 되는 경우라도, 상기 서브트리 내의 무효로 되지 않는 상기 수신 장치만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제1 키 데이터를 생성하기 위한 제2 키 데이터와, 상기 제3 레이어의 최종단 노드의 어느 쪽 노드의 분기선에 있는 다른 상기 수신 장치가 무효로 되는 경우라도, 그 분기선에 무효로 되는 상기 수신 장치를 가지고 있지 않은 상기 최종단의 노드만을 요소로 하는 집합이 존재하도록 규정된 복수개의 집합에 각각 할당된 복수개의 제3 키 데이터를 생성하기 위한 제4 키 데이터와, 상기 제2 레이어 내의 상기 수신 장치에 대응하는 최종단의 상기 노드와 상기 루트 사이의 경로 상에 위치하는 모든 상기 노드에 각각 할당된 복수개의 제5 키 데이터를 기억하는 기억 수단과,
    상기 키 관리원으로부터 수신한 상기 키 지정 데이터가 상기 제2 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 상기 제2 키 데이터를 기초로 상기 제1 키 데이터를 생성하고, 상기 키 지정 데이터가 상기 제4 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 상기 제4 키 데이터를 기초로 상기 제3 키 데이터를 생성하고, 상기 제3 키 데이터를 사용하여 상기 키 관리원과 통신을 행하고, 상기 키 지정 데이터가 상기 제5 키 데이터를 지정하는 경우에, 상기 기억 수단으로부터 판독한 상기 제5 키 데이터를 사용하여 상기 키 관리원과 통신을 행하는 처리 수단
    을 가지는 수신 장치.
KR20047020612A 2003-04-18 2004-04-16 데이터 처리 방법 KR20060003320A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003114879A JP4432350B2 (ja) 2003-04-18 2003-04-18 データ処理方法、そのプログラム、その装置と受信装置
JPJP-P-2003-00114879 2003-04-18

Publications (1)

Publication Number Publication Date
KR20060003320A true KR20060003320A (ko) 2006-01-10

Family

ID=33296164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20047020612A KR20060003320A (ko) 2003-04-18 2004-04-16 데이터 처리 방법

Country Status (6)

Country Link
US (1) US20050213765A1 (ko)
EP (1) EP1617585A4 (ko)
JP (1) JP4432350B2 (ko)
KR (1) KR20060003320A (ko)
CN (2) CN1698306B (ko)
WO (1) WO2004093380A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005311490A (ja) * 2004-04-19 2005-11-04 Sony Corp セキュア通信を行う通信システム及び方法
KR100670010B1 (ko) * 2005-02-03 2007-01-19 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
US7813510B2 (en) * 2005-02-28 2010-10-12 Motorola, Inc Key management for group communications
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
DE102006057587A1 (de) * 2006-12-06 2008-06-12 Utimaco Safeware Ag Verfahren zur Verschlüsselung von Daten und ein geeignetes System hierfür
US20100023752A1 (en) * 2007-12-27 2010-01-28 Motorola, Inc. Method and device for transmitting groupcast data in a wireless mesh communication network
JP5197424B2 (ja) * 2009-02-19 2013-05-15 三菱電機株式会社 通信装置及び通信方法及び通信プログラム
JP2012205088A (ja) * 2011-03-25 2012-10-22 Toshiba Corp ノード及びグループ鍵更新方法
JP2013146113A (ja) * 2013-04-30 2013-07-25 Toshiba Corp ノード及びグループ鍵更新方法
WO2015136710A1 (ja) 2014-03-14 2015-09-17 株式会社東芝 通信制御装置、通信装置およびプログラム
JP5908621B2 (ja) * 2015-02-04 2016-04-26 株式会社東芝 ノード及びグループ鍵更新方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263435B1 (en) * 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
JP2001352321A (ja) * 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2001358707A (ja) 2000-06-15 2001-12-26 Sony Corp 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
WO2001099331A1 (en) * 2000-06-15 2001-12-27 Sony Corporation System and method for processing information using encryption key block
JP4660899B2 (ja) * 2000-07-24 2011-03-30 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
TW569119B (en) * 2001-03-29 2004-01-01 Sony Corp Data processing device

Also Published As

Publication number Publication date
US20050213765A1 (en) 2005-09-29
WO2004093380A1 (ja) 2004-10-28
CN1698306B (zh) 2010-10-06
JP4432350B2 (ja) 2010-03-17
CN101631018A (zh) 2010-01-20
EP1617585A4 (en) 2009-05-20
EP1617585A1 (en) 2006-01-18
JP2004349733A (ja) 2004-12-09
CN1698306A (zh) 2005-11-16

Similar Documents

Publication Publication Date Title
KR100657273B1 (ko) 비밀 그룹에서 구성원 가입에 따른 그룹키 갱신 방법 및이를 이용한 비밀 그룹 통신 시스템
ES2334109T5 (es) Método para la codificación de transmisiones
US9015850B2 (en) Detecting and revoking pirate redistribution of content
KR20060129934A (ko) 정보 처리 방법, 복호 처리 방법 및 정보 처리 장치와컴퓨터 프로그램
KR100579515B1 (ko) 브로드캐스트 암호화를 위한 키 생성 장치 및 방법
JP4162237B2 (ja) 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
KR20060003320A (ko) 데이터 처리 방법
US7752435B2 (en) Method for managing user key for broadcast encryption
KR100640058B1 (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
JP4997769B2 (ja) 暗号通信システム、鍵共有方法、鍵提供装置
US20090304185A1 (en) Method of tracing device keys for broadcast encryption
JP2012165130A (ja) 通信装置および鍵算出装置
JP2004320655A (ja) データ処理方法、そのプログラム、その装置と受信装置
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
Lee et al. Self-updatable encryption: time constrained access control with hidden attributes and better efficiency
KR20060108619A (ko) 콘텐츠 배포 서버, 키 할당 방법, 콘텐츠 출력장치, 및 키발행 센터
JP2005311490A (ja) セキュア通信を行う通信システム及び方法
JP2005086747A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP5052207B2 (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
JP4638213B2 (ja) コンテンツ配信サーバ、鍵割当方法、コンテンツ出力装置、及び鍵発行センタ
JP2004328541A (ja) データ処理方法、そのプログラム、その装置と受信装置
JP2004328233A (ja) データ処理方法、プログラムおよびデータ処理装置
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2009284220A (ja) 3分木型sd法およびプログラム

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