KR20110134900A - 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 - Google Patents

암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 Download PDF

Info

Publication number
KR20110134900A
KR20110134900A KR1020117023465A KR20117023465A KR20110134900A KR 20110134900 A KR20110134900 A KR 20110134900A KR 1020117023465 A KR1020117023465 A KR 1020117023465A KR 20117023465 A KR20117023465 A KR 20117023465A KR 20110134900 A KR20110134900 A KR 20110134900A
Authority
KR
South Korea
Prior art keywords
information
predicate
encryption
attribute
conversion rule
Prior art date
Application number
KR1020117023465A
Other languages
English (en)
Other versions
KR101351789B1 (ko
Inventor
카쿠 타케우치
테츠타로 코바야시
사카에 치카라
Original Assignee
니뽄 덴신 덴와 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 니뽄 덴신 덴와 가부시키가이샤 filed Critical 니뽄 덴신 덴와 가부시키가이샤
Publication of KR20110134900A publication Critical patent/KR20110134900A/ko
Application granted granted Critical
Publication of KR101351789B1 publication Critical patent/KR101351789B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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
    • H04L9/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Abstract

유연하게 운용 가능한, 술어 암호에 의거하는 암호 통신 기술을 제공한다. 속성 지정 정보를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 속성용 변환규칙 정보와 술어 지정 정보를 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 술어용 변환규칙 정보와의 페어인 변환규칙 정보 페어가 미리 정해져 있다. 이 변환규칙 정보 페어에 포함되는 일방의 변환규칙 정보를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보가 얻어진다. 이 정보가 암호화 처리에 사용된다. 복호 처리에서는, 타방의 변환규칙 정보를 사용하여 이용자 정보로부터 얻어진 제 2 속성 정보 또는 제 2 술어 정보를 사용하여 만들어진 복호키를 사용해서, 암호 정보의 복호 처리가 행해진다.

Description

암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체{CRYPTOGRAPHIC SYSTEM, CRYPTOGRAPHIC COMMUNICATION METHOD, ENCRYPTION APPARATUS, KEY GENERATION APPARATUS, DECRYPTION APPARATUS, CONTENT SERVER, PROGRAM, AND STORAGE MEDIUM}
본 발명은 암호 통신 기술에 관한 것으로, 보다 상세하게는, 술어 암호에 의거하는 암호 통신 기술에 관한 것이다.
지금까지 암호기술로서, 예를 들면, 공통키 암호, 공개키 암호 등이 알려져 있다.
공통키 암호는, 메시지의 송신자가 공통키로 메시지를 암호화하여 암호화 메시지를 구하고, 수신자가 송신자와 동일한 공통키를 사용하여 암호화 메시지를 복호하여 메시지를 얻는 방식이다. 이 때문에, 송신자와 수신자 사이에서 안전하게 공통키를 소유하는 절차가 필요하게 된다.
공개키 암호는, (1) 수신자가 단 하나의 공개키와 그것에 대응하는 단 하나의 비밀키를 준비하고, (2) 송신자는 수신자의 공개키로 메시지를 암호화하여 암호화 메시지를 구하고, (3) 수신자가 그 비밀키로 암호화 메시지를 복호하여 메시지를 얻는 방식이다. 이 때문에, 송신자가 메시지를 암호화하기 전에 수신자의 공개키를 입수할 필요가 있다. 즉, 수신자가 공개키를 생성하지 않으면 암호화할 수 없다.
또한, 최근, 술어 암호가 제안되어 있다. 술어 암호는, 송신자에 의한 암호화의 과정에서 암호 메시지에 어떤 정보(X)가 포함되고, 당해 정보(X)와 특정 관계를 충족시키는 정보(Y)를 갖는 수신자가 암호 메시지의 복호나, 메시지를 알지 못하고 메시지에 관한 정보를 취득할 수 있는 방식이다. 송신자는, 암호시에, 반드시 수신자가 갖는 정보(Y)를 알고 있을 필요는 없다. 또한 송신자는, 반드시, 암호화하기 전에 수신자를 특정하고 있을 필요도 없다. 송신자는, 자유롭게, 능동적으로, 주도권을 가지고, 정보(X)를 정할 수 있다. 강학적으로, 정보(X)는 속성(I)(변수)으로서, 정보(Y)는 술어(f)(명제 함수, 불 함수(Boolean Function))로서 표시된다. 복호시에, 정보(X)와 정보(Y)가 충족시켜야 할 특정 관계는, 예를 들면, f(I)=True이다.
NTT 정보유통 플랫폼 연구소 정보 세큐러티 프로젝트, "NTT의 암호 요소 기술", 인터넷 <URL: http://info.isl.ntt.co.jp/crypt/>[2009년 4월 14일 검색] 오카모토 류묘, 야마모토 히로스케 저, 「시리즈/정보과학의 수학 현대암호」, 제3판, 산교도쇼 가부시키가이샤, 2000년 J. Katz, A. Sahai and B. Waters, "Predicate Encryption Supporting Disjunction, Polynomial Equations, and Inner Products", EUROCRYPT 2008, 146-162.
(발명의 개요)
(발명이 해결하고자 하는 과제)
본 발명은 유연하게 운용 가능한, 술어 암호에 의거하는 암호 통신 기술을 제공하는 것을 목적으로 한다.
(과제를 해결하기 위한 수단)
제 1 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또는, 제 1 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또한 복호 장치는, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다. 그리고, 이 복호 장치는 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성해 받고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또한 키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
상기의 복호 장치는 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는, 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성해 받고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키와를 사용하고, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또한 복호 장치는, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다. 그리고, 이 복호 장치는, 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성해 받고, 상기 복호 처리를 행한다.
또는, 제 2 관점에 의한 본 발명의 개요는 다음과 같다.
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고, 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고, 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
그리고, 암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 처리를 행한다.
또한 복호 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 암호 정보에 대한 복호 처리를 행한다.
또한 키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
상기의 복호 장치는, 암호 정보를 다른 복호 장치에 전송하는 전송 처리도 행한다. 전송하는 암호 정보는 암호화 장치로부터 보내진 것이어도 되고, 다른 복호 장치로부터 전송된 것이어도 된다. 암호 시스템에 포함되는 복호 장치 중 적어도 일부의 복호 장치가 전송 처리를 행하는 기능을 갖지만, 모든 복호 장치가 이 전송기능을 갖는 것은 요구되지 않는다. 전송된 암호 정보를 수신한 복호 장치는, 필요에 따라 키 생성 장치에 복호키를 생성해 받고, 상기 복호 처리를 행한다.
제 3 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호 정보 및 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠와 이것에 대응하는 암호 정보를 당해 복호 장치에 송신하는 송신 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호 정보에 대한 복호 처리와, 이 복호 처리에서 얻어진 공통키를 사용하여, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호 정보 및 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠와 이것에 대응하는 암호 정보를 당해 복호 장치에 송신하는 송신 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호 정보에 대한 복호 처리와, 이 복호 처리에서 얻어진 공통키를 사용하여, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 처리를 행한다.
키 생성 장치는, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 복호 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
또는, 제 3 관점에 의한 본 발명의 개요는 다음과 같다.
술어 암호를 사용하는 암호 시스템은, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함한다.
그리고, 각 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있다.
또한 속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있다.
또한 속성용 변환규칙 정보와 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있다.
암호화 장치는, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 처리와, 제 1 속성 정보 또는 제 1 술어 정보와, 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 처리를 행한다.
콘텐츠 서버 장치는, 각 암호화 장치로부터 보내진 암호화 콘텐츠를 기억하는 처리와, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 처리를 행한다.
복호 장치는, 콘텐츠 서버 장치에 대한 암호화 콘텐츠의 취득 요구 처리와, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 처리와, 복호키를 사용하여, 술어 암호 알고리즘에 따라, 콘텐츠 서버 장치로부터 취득한 암호화 콘텐츠를 복호하는 복호 처리와, 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 처리를 행한다.
키 생성 장치는, 제 2 속성 정보 또는 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 처리를 행한다.
본 발명에 따르면, 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 속성용 변환규칙 정보와 술어용 변환규칙 정보 중, 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보 또는 술어 정보를 얻으므로, 술어 암호에 의거하는 암호 통신을 유연하게 운용할 수 있다.
도 1은 제 1 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 2는 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 3은 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 4는 제 1 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 5는 제 1 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 6은 제 1 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 7은 제 1 관점에 의한 제 1 실시형태에 따른 복호 장치의 기능 블럭도.
도 8은 제 1 관점에 의한 제 1 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 9는 제 1 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 10은 제 1 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 11은 입력 정보 또는 이용자 정보로부터 폴리시에 대응하는 스키마를 사용하여, 속성 정보 또는 술어 정보를 얻는 것을 도해한 도면.
도 12는 속성 지정 정보로부터 속성용 스키마를 사용하여, 속성 정보를 얻는 것을 도해한 도면.
도 13은 술어 지정 정보로부터 술어용 스키마를 사용하여, 술어 정보를 얻는 것을 도해한 도면.
도 14는 폴리시의 예를 나타내는 도면.
도 15는 복호키 테이블의 예를 나타내는 도면.
도 16은 인증 테이블의 예를 나타내는 도면.
도 17은 이용자 정보 테이블의 예를 나타내는 도면.
도 18은 제 1 관점에 의한 제 2 실시형태에 따른 복호 장치의 기능 블럭도.
도 19는 제 1 관점에 의한 제 2 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 20은 제 1 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 21은 제 1 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 22는 제 1 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 23은 제 1 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 24는 제 1 관점에 의한 제 3 실시형태에 따른 복호 장치의 기능 블럭도.
도 25는 제 1 관점에 의한 제 3 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 26은 제 1 관점에 의한 제 4 실시형태에 따른 복호 장치의 기능 블럭도.
도 27은 제 1 관점에 의한 제 4 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 28은 제 2 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 29는 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 30은 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 31은 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 32는 제 2 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 4).
도 33은 제 2 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 34는 제 2 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 35는 제 2 관점에 의한 제 1 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 36은 제 2 관점에 의한 제 1 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 37은 제 2 관점에 의한 제 1 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 38은 제 2 관점에 의한 제 1 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 39는 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 40은 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순(제 1 복호 장치에 대응)의 상세를 나타내는 도면.
도 41은 제 2 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순(제 2 복호 장치에 대응)의 상세를 나타내는 도면.
도 42는 제 2 관점에 의한 제 2 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 43은 제 2 관점에 의한 제 2 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 44는 제 2 관점에 의한 제 2 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 45는 제 2 관점에 의한 제 2 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 46은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 47은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순(제 1 복호 장치에 대응)의 상세를 나타내는 도면.
도 48은 제 2 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순(제 2 복호 장치에 대응)의 상세를 나타내는 도면.
도 49는 제 2 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 50은 제 2 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 51은 제 2 관점에 의한 제 3 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 52는 제 2 관점에 의한 제 3 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 53은 제 2 관점에 의한 제 3 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 54는 제 2 관점에 의한 제 3 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 55는 제 2 관점에 의한 제 4 실시형태에 따른 제 1 복호 장치의 기능 블럭도.
도 56은 제 2 관점에 의한 제 4 실시형태에 따른 제 1 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 57은 제 2 관점에 의한 제 4 실시형태에 따른 제 2 복호 장치의 기능 블럭도.
도 58은 제 2 관점에 의한 제 4 실시형태에 따른 제 2 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 59는 전자 메일 시스템이나 인스턴트 메시징 시스템으로서 실시되는 경우에 있어서의, 송수신 되는 데이터의 구성의 예를 나타내는 도면.
도 60은 제 3 관점에 의한 각 실시형태에 따른 암호 시스템의 구성도.
도 61은 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 1).
도 62는 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 2).
도 63은 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 3).
도 64는 제 3 관점에 의한 각 실시형태에 따른 암호 통신 방법의 처리 수순을 나타내는 도면(그 4).
도 65는 제 3 관점에 의한 제 1 실시형태에 따른 암호화 장치의 기능 블럭도.
도 66은 제 3 관점에 의한 제 1 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 67은 제 3 관점에 의한 제 1 실시형태에 따른 콘텐츠 서버 장치의 기능 블럭도.
도 68은 제 3 관점에 의한 제 1 실시형태에 따른 복호 장치의 기능 블럭도.
도 69는 제 3 관점에 의한 제 1 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 70은 제 3 관점에 의한 제 1 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 71은 제 3 관점에 의한 제 1 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 72는 제 3 관점에 의한 제 2 실시형태에 따른 복호 장치의 기능 블럭도.
도 73은 제 3 관점에 의한 제 2 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 74는 제 3 관점에 의한 제 2 실시형태에 따른 키 생성 장치의 기능 블럭도.
도 75는 제 3 관점에 의한 제 2 실시형태에 따른 키 생성 처리의 처리 수순의 상세를 나타내는 도면.
도 76은 제 3 관점에 의한 제 3 실시형태에 따른 암호화 장치의 기능 블럭도.
도 77은 제 3 관점에 의한 제 3 실시형태에 따른 암호화 처리의 처리 수순의 상세를 나타내는 도면.
도 78은 제 3 관점에 의한 제 3 실시형태에 따른 복호 장치의 기능 블럭도.
도 79는 제 3 관점에 의한 제 3 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 80은 제 3 관점에 의한 제 4 실시형태에 따른 복호 장치의 기능 블럭도.
도 81은 제 3 관점에 의한 제 4 실시형태에 따른 복호 처리의 처리 수순의 상세를 나타내는 도면.
도 82는 콘텐츠 배신 시스템으로서 실시되는 경우에 있어서의, 송수신 되는 데이터의 구성의 예를 나타내는 도면.
(발명을 실시하기 위한 형태)
우선, 제 1 관점에서, 유연하게 운용 가능한, 술어 암호에 의거하는 암호 통신 기술에 관한 실시형태를 설명한다.
[제 1 관점에 의한 제 1 실시형태]
도 1로부터 도 17을 참조하여, 제 1 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
암호 시스템(1)은, 도 1에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라서, 암호화 장치로서, 또는 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치(30)로 호칭한다. 또한, 암호 시스템(1)은, 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 1 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 3에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 1 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 나타낸다.
암호 시스템(1)에 있어서의 암호 통신 방법을 도 2, 3, 4, 6, 8, 10을 참조하면서 서술한다. 각 장치의 기능 구성에 대해서는, 도 5, 7, 9를 참조하기 바란다.
《준비 프로세스》
키 생성 장치(20)의 패러미터 생성부(도시 생략)가 술어 암호 알고리즘에서 사용되는 비밀키와 엔트리를 생성한다(스텝 S1). 엔트리에는, 술어 암호 알고리즘에서 사용되는 공개 패러미터(도면에서는 공개 P로 약기됨), 키 생성 장치(20)의 어드레스, 키 생성 장치(20)가 사용가능한 폴리시 리스트, 키 생성 장치(20)가 사용가능한 스키마 리스트가 포함된다.
공개 패러미터는, 예를 들면, 위수(位數)(q)의 순회군(G1, G2, GT)의 생성원소(g1, g2, gT), 비퇴화성을 갖는 쌍선형 사상 e:G1×G2→GT(단, e(g1, g2)=gT), 위수(q), (n+1) 차원의 벡터공간(V)의 직교 기저(B)를 포함한다. 비밀키는, 쌍대 벡터공간(V*)의 직교 기저(B*)를 포함한다. 대수 구조를 유한체(Fq)로 하는 경우, q는 소수 또는 소수의 멱승값이다. 쌍선형 사상(e)은, 예를 들면, Tate 페어링이나 Weil 페어링이다.
직교 기저(B) 및 직교 기저(B*)에 대하여 설명을 가한다. (n+1) 차원의 벡터공간(V)의 임의의 원소가 식 (1)과 같이 순회군(G1)의 (n+1) 차원 직적(G1 n+1)의 원소로서 표시되는 것으로 한다. (n+1) 차원의 벡터공간(V)의 임의의 원소는 (n+1) 차원의 벡터공간(V)의 표준 기저(A)를 사용하여 식 (2)와 같이 나타낼 수도 있다. 단, ai는 (n+1) 차원 직적(G1 n+1)의 원소, zi는 (n+1) 차원 직적(Fq n+1)의 원소로 한다. 또한 1은 가법단위 원소로 한다.
Figure pct00001
직교 기저(B)는, 식 (3)과 같이, 표준 기저(A)에 (n+1)차 정방행렬(X)을 작용시킨 것으로서 얻어진다. 기호 T는 전치를 나타낸다. 또한, 행렬(X)은 비밀키와 마찬가지로 비밀로 된다.
Figure pct00002
마찬가지로, 벡터공간(V)과 쌍대인 쌍대 벡터공간(V*)의 임의의 원소가 식 (4)와 같이 순회군(G2)의 (n+1) 차원 직적(G2 n+1)의 원소로서 표시되는 것으로 한다. 쌍대 벡터공간(V*)의 임의의 원소는 쌍대 벡터공간(V*)의 표준 기저(A*)를 사용하여 식 (5)와 같이 나타낼 수도 있다. 단, ai *는 (n+1) 차원 직적(G2 n+1)의 원소, yi *는 (n+1) 차원 직적(Fq n+1)의 원소로 한다. 또한 1은 가법단위 원소로 한다.
Figure pct00003
직교 기저(B*)는, 식 (6)과 같이, 표준 기저(A*)에 (n+1)차 정방행렬 T(X-1)을 작용시킨 것으로서 얻어진다. 기호 E는 단위행렬을 나타낸다.
Figure pct00004
다음에, 스키마 리스트에 대하여 설명을 가한다. 속성을 지정하는 정보(속성 지정 정보; 즉, 예를 들면, 이름, 생년월일 등의 속성을 구체적으로 단 하나로 특정하는 정보이며, 속성값이라고도 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(속성용 변환규칙 정보; 속성용 스키마라고도 함)와,
술어를 지정하는 정보(술어 지정 정보; 즉, 예를 들면, 연령, 권한 등의 속성에 관한 조건을 논리식 등으로 구체적으로 설정하는 정보이며, 명제함수라고도 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(술어용 변환규칙 정보; 술어용 스키마라고도 함)와의 페어인 변환규칙 정보 페어를 스키마 페어라고 부른다(도 11-도 13 참조). 하나 또는 복수의 스키마 페어의 집합체(데이터 리스트)가 스키마 리스트이다. 각각의 키 생성 장치(20)는 스키마 리스트를 자유롭게 정해도 된다. 스키마 리스트에 포함되는 각 스키마의 각 데이터 항목은, 예를 들면, XML(eXtensible Markup Language)이나 ASN. 1(Abstract Notation Number One)으로 기술된다.
도 12에 나타내는 속성용 스키마의 예에 대하여 설명을 가한다. 유저의 속성 지정 정보(속성값)는 속성명 및 데이터형에 대응되어 있다. 도 12에 나타내는 예에서는, 예를 들면, 속성명 'email1'에 데이터형'문자열'이 설정되어 있고, 속성명 'email1' 및 데이터형'문자열'에 속성값 'XXX@XXX.ntt.co.jp'가 대응되어 있다.
속성용 스키마는, 요소 번호에 속성명과 형변환 함수를 대응시킨 변환규칙을 규정하고 있다. 도 12에 나타내는 예에서는, 예를 들면, 요소 번호 '1'에 속성명 '혈액형'과 형변환 함수가 대응되어 있다. 요소 번호 '1'에 대응하는 형변환 함수는, 속성값의 혈액형이 O형이면 0으로, 속성값의 혈액형이 A형이면 1로, 속성값의 혈액형이 B형이면 2로, 속성값의 혈액형이 AB형이면 3으로 변환하는 것을 규정하고 있다. 또한 요소 번호 '2' 및 '3'에 속성명 '생년월일'과 형변환 함수가 대응되어 있다. 요소 번호 '2' 및 '3'에 대응하는 형변환 함수는, 요소 번호 2에 대하여 속성값의 생년월일의 년을 입력으로 하는 Hash 함수의 값으로, 요소 번호 3에 대하여 속성값의 생년월일의 월일을 입력으로 하는 Hash 함수의 값으로 변환하는 것을 규정하고 있다.
도 12에 나타내는 유저의 속성 지정 정보(속성값)의 예에 도 12에 나타내는 속성용 스키마의 예를 적용한 결과가, 도 12에 나타내는 속성 정보(벡터 정보)의 예 로서 표시되어 있다. 속성용 스키마의 요소 번호를 벡터의 요소 번호로 간주하고 형변환 함수의 출력값을 나열함으로써, 이 속성 정보를 벡터로 생각할 수 있다.
또한, 형변환 함수의 출력값은, 이 설명에서는 정수값이나 Hash 함수의 출력값으로서 예시되었지만, 실제로는 술어 암호 알고리즘에 의거하여, 예를 들면, 유한체(Fq)의 원소이다.
도 13에 나타내는 술어용 스키마의 예에 대하여 설명을 가한다. 술어 지정 정보로서 속성에 관한 조건을 논리식이 제공할 수 있다. 도 13에 나타내는 예에서는, 예를 들면, 속성명 '이름'의 속성값을 '타나카 타로'로 하고, 속성명 '연령'의 속성값을 '20세 이상'으로 하는 술어 지정 정보 '이름=타나카 타로이고 연령=20세 이상'이 주어져 있다.
술어용 스키마는 요소 번호에 속성명과 형변환 함수를 대응시킨 변환규칙을 규정하고 있다. 도 13에 나타내는 예에서는, 예를 들면, 요소 번호 '1'에 속성명 '혈액형'과 형변환 함수가 대응되어 있다. 요소 번호 '1'에 대응하는 형변환 함수는, 속성값의 혈액형이 O형이면 0으로, 속성값의 혈액형이 A형이면 1로, 속성값의 혈액형이 B형이면 2로, 속성값의 혈액형이 AB형이면 3으로 변환하는 것을 규정하고 있다. 또한 요소 번호 '2' 및 '3'에 속성명 '생년월일'과 형변환 함수가 대응되어 있다. 요소 번호 '2' 및 '3'에 대응하는 형변환 함수는, 요소 번호 2에 대하여 속성값의 생년월일의 년을 입력으로 하는 Hash 함수의 값으로, 요소 번호 3에 대하여 속성값의 생년월일의 월일을 입력으로 하는 Hash 함수의 값으로 변환하는 것을 규정하고 있다.
도 13에 나타내는 술어 지정 정보의 예에 도 13에 나타내는 술어용 스키마의 예를 적용한 결과가 도 13에 나타내는 술어 정보(벡터 정보)의 예로서 나타나 있다. 구체적으로는, 이 예에서는, 술어용 스키마를 술어 지정 정보에 적용함으로써 요소 번호에 따른 변수를 갖는 다변수 다항식(f)이 얻어지고, 이 다변수 다항식(f)을 벡터 정보로 변환함으로써, 술어 정보(벡터 정보)가 얻어진다. 도 13에 나타내는 술어 지정 정보의 예에 따라 설명한다. 술어 지정 정보 '이름=타나카 타로이고 연령=20세 이상'에 술어용 스키마를 적용함으로써, 요소 번호 '0'에 대응한 형변환 함수의 출력값 'Hash(타나카 타로)' 및 요소 번호 '23'에 대응한 형변환 함수의 출력값 '1'이 얻어진다. 그리고, 요소 번호 '0'에 대응한 형변환 함수의 출력값 'Hash(타나카 타로)'를 영점으로 하는 요소 번호 '0'에 대응한 변수 X0의 1차식과, 요소 번호 '23'에 대응한 형변환 함수의 출력값 '1'을 영점으로 하는 요소 번호 '23'에 대응한 변수 X23의 1차식과의 선형결합에 의해, 다변수 다항식(f)=r1(X0-H(타나카 타로))+r2(X23-1)이 얻어진다. 여기에서 r1과 r2는 난수이다. 또한, 이 다변수 다항식(f)을 전개하여 각 항의 계수를 늘어 나열함으로써, 다변수 다항식(f)이 벡터 정보로 변환되어, 도 13에 나타내는 술어 정보(벡터 정보)의 예가 얻어진다.
또한, 형변환 함수의 출력값은 이 설명에서는 정수값이나 Hash 함수의 출력값으로서 예시되었지만, 실제로는 술어 암호 알고리즘에 의거하여, 예를 들면, 유한체(Fq)의 원소이다.
또한 스키마 페어를 구성하는 양 스키마 사이에서는, 속성명과 형변환 함수와의 조합, 입력이 되는 속성값의 데이터형 등이 통일되어 있는 것이 요구된다.
다음에, 폴리시 리스트에 대하여 도 14를 참조하여 설명을 가한다. 속성용 스키마와 술어용 스키마 중 어느 하나를 특정하기 위한 정보를 폴리시 정보(이하, 폴리시라고 함)라고 부른다. 이 폴리시를 기술한 데이터 리스트가 폴리시 리스트이다. 키 생성 장치(20)가 속성용 스키마와 술어용 스키마의 양쪽을 사용하는 경우에는, 폴리시로서 2종류의 타입이 준비된다. 그것은 Cipher_Text_Policy와 Key_Policy이다. 키 생성 장치(20)가 속성용 스키마만을 사용하는 경우에는, 폴리시로서 1종류의 타입이 준비된다. 그것은 Key_Policy이다. 키 생성 장치(20)가 술어용 스키마만을 사용하는 경우에는, 폴리시로서 1종류의 타입이 준비된다. 그것은 Cipher_Text_Policy이다. 폴리시는, 예를 들면, XML(eXtensible Markup Language)이나 ASN. 1(Abstract Notation Number One)에서 기술된다. 키 생성 장치(20)는 폴리시의 특정 대상이 속성용 스키마, 또는, 술어용 스키마, 또는, 속성용 스키마 및 술어용 스키마인 것을 자유롭게 정해도 된다.
스텝 S1의 처리에 이어, 키 생성 장치(20)의 송신부는 엔트리를 인증 장치(90)에 송신하고, 인증 장치(90)의 수신부가 엔트리를 수신한다(스텝 S2). 인증 장치(90)의 서명 부여부(도시 생략)가 엔트리에 대하여, 예를 들면, 종래적인 수법으로 전자서명을 부여하고(스텝 S3), 인증 장치(90)의 송신부가 서명 첨부 엔트리를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S4). 그리고, 키 생성 장치(20)의 송신부가 서명 첨부 엔트리를 보전 장치(80)에 송신하고, 보전 장치(80)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S5).
보전 장치(80)의 송신부는 키 생성 장치(20)를 특정하는 정보(예를 들면, 어드레스)를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S6). 등록 장치(50)의 검색부(도시 생략)는 키 생성 장치(20)에 관한 등록 내용(엔트리)을 검색하고(스텝 S7), 등록 장치(50)의 송신부가 등록의 유무나 등록 내용을 포함하는 검색결과를 보전 장치(80)에 송신하고, 보전 장치(80)의 수신부가 검색결과를 수신한다(스텝 S8).
보전 장치(80)의 검사부(도시 생략)는 스텝 S5의 처리에서 수신한 서명 첨부 엔트리와, 스텝 S8의 처리에서 수신한 검색결과를 비교하고, 중복의 유무를 검사한다(스텝 S9). 중복이 없는 것을 확인할 수 있었을 경우, 보전 장치(80)의 송신부는 서명 첨부 엔트리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 서명 첨부 엔트리를 수신한다(스텝 S10). 등록 장치(50)의 등록부(도시 생략)는 서명 첨부 엔트리를 키 생성 장치(20)와 대응 기입하고 등록 장치(50)의 기억부에 기억한다(스텝 S11). 등록 장치(50)의 송신부는 등록 결과를 보전 장치(80)에 송신하고, 보전 장치의 수신부가 등록 결과를 수신한다(스텝 S12). 보전 장치(80)의 송신부는 등록 결과를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)는 등록 결과를 수신한다(스텝 S13).
복수의 키 생성 장치(20)가 존재하는 경우, 각 키 생성 장치(20)가 독자적으로, 스텝 S1로부터 스텝 S13의 각 처리를 행한다. 예를 들면, 공개 패러미터와 비밀키는 키 생성 장치마다 정해진다. 단, 이것은, 각 키 생성 장치가 공통인 공개 패러미터와 비밀키를 갖는 것을 방해하는 것은 아니다. 또한 각 키 생성 장치가 동일한 등록 장치(50)에 엔트리를 등록해도 되고, 각 키 생성 장치가 상이한 등록 장치(50)에 엔트리를 등록해도 된다.
미리, 비밀키, 엔트리, 등록 장치(50)로의 엔트리 등록 등이 설정되어 있는 경우에는, 스텝 S1로부터 스텝 S13의 각 처리를 생략하는 것이 허용된다.
또, 인증 장치(90)와 보전 장치(80)는 같은 하드웨어 엔터티이어도 된다. 또한, 엔트리 등록에 인증을 요구하지 않는 경우나, 등록 장치(50)에 등록되는 엔트리의 일의성이 확보되어 있는 경우 등에서는, 암호 시스템(1)이 보전 장치(80) 및/또는 인증 장치(90)를 구비하지 않는 시스템 구성도 허용된다.
이것으로 《준비 프로세스》는 종료된다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는 도시하지 않은 제어부의 제어를 받고, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는, 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하고 하나의 엔트리를 고르고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있는 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되어 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약에 선택된 스키마가 입력 정보의 종류에 대응되어 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 1 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보가 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교 기저(B)(실질적인 공개키)와 평문(M)을 사용하여, 공통키(K)와 암호 정보(C1)와 암호문(C2)을 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다. 단, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는 암호문(C2)의 생성은 불필요하다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)을 생성하고, 식 (7)과 같이 공통키(K)를 설정하고, 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 식 (8)에서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
Figure pct00005
다음에, 제 2 암호화부(13b)가, 공통키(K)와 평문(M)을 사용하여, 식 (9)에 따라 암호문(C2)을 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다. 전술한 바와 같이, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는, 스텝 S17c의 처리는 생략된다. 즉, 암호화 장치(10)는 제 2 암호화부(13b)의 기능을 갖는다고 해도, 스텝 S17c의 처리를 행하지 않는다.
Figure pct00006
다음에, 암호화 장치(10)의 송신부(14)는, 제어부에 의한 제어를 받고, 암호 정보(C1)와, (필요에 따라) 암호문(C2)과, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 암호 메시지를 수신한다(스텝 S18).
이것으로 《암호화 프로세스》는 종료된다.
《복호 프로세스》
복호 장치(30)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S19). 등록 장치(50)의 검색부는 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S20), 등록 장치(50)의 송신부는 검색결과의 엔트리를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 엔트리를 수신한다(스텝 S21). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 복호 장치(30)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 복호 장치(30)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 복호 장치(30)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
복호 장치(30)의 검증부(도시 생략)는 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S22a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S22g).
이 검증에 성공한 경우, 복호 장치(30)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S22f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 복호 장치(30)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 1 관점에 의한 제 1 실시형태에서는, 스텝 S22f의 처리는 임의로 행해진다. 예를 들면, 미리 복호 장치(30)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 복호 장치(30)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S22b).
복호 장치(30)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는, 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면 스텝 S29의 처리를 행한다. 만약 복호키가 존재하지 않으면 스텝 S23의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
상기한 바와 같이, 복호키가 존재하지 않는 경우, 복호 장치(30)의 송신부(34)는 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면, 이용자의 ID와 패스워드를 포함한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S23). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는, 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가, 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S24a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S24g). 또한, 스텝 S24a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응되어 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도 스텝 S24g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S24b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S24c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S25의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S24b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S25). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 동일하게, 이용자의 ID에 대하여 패스워드가 대응되어 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S26). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응된 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응된 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는, 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S27). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S27), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S24c). 이 처리에서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 한다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수 α를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 식 (10)에 따라 복호키(R)를 구한다(스텝 S24d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 식 (10)에서 w(p)를 v(p)로 치환해도 된다.
Figure pct00007
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R)를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 복호키(R)를 수신한다(스텝 S28). 수신한 복호키(R)는 복호 장치(30)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S28), 복호 장치(30)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S29).
이 스텝 S29의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)을 구한다. 이 연산결과는 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 식 (11)에서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
Figure pct00008
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 복호 장치(30)의 제 1 복호부(33a)는 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S22c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에게 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응한다는 정보인 경우에는, 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 복호 장치(30)의 정당한 이용자는 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 식 (13)에 따라 평문(M)을 구한다(스텝 S22d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 1 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태일 경우에는, 스텝 S22d의 처리는 생략된다. 즉, 복호 장치(30)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S22d의 처리를 행하지 않는다.
Figure pct00009
만약, 식 (11)에 따른 연산결과가 옳지 않은 값일 경우에는, 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 복호 장치(30)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로 《복호 프로세스》는 종료한다.
[제 1 관점에 의한 제 2 실시형태]
제 1 관점에 의한 제 2 실시형태에서는, 제 1 관점에 의한 제 1 실시형태와 달리, 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 1 관점에 의한 제 2 실시형태는 몇 개의 사항에서 제 1 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복하는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 18-도 21을 참조하면서 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S22b까지의 처리는 제 1 관점에 의한 제 1 실시형태와 동일하다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 1 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28과 스텝 S29의 각 처리는 제 1 관점에 의한 제 1 실시형태와 같다.
[제 1 관점에 의한 제 3 실시형태]
제 1 관점에 의한 제 3 실시형태에서는, 제 1 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 즉, 제 1 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 3에 개시하는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 1 관점에 의한 제 3 실시형태는 몇개의 사항에서 제 1 관점에 의한 제 1 실시형태와 상이하다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 22-도 25를 참조하면서 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1부터 스텝 S17a까지의 처리는 제 1 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 1 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S28까지의 처리는 제 1 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 복호 장치(30)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
[제 1 관점에 의한 제 4 실시형태]
제 1 관점에 의한 제 4 실시형태는 제 1 관점에 의한 제 2 실시형태와 제 1 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 1 관점에 의한 제 4 실시형태는, 제 1 관점에 의한 제 1 실시형태와 달리, (1) 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 이 차이에 따라, 제 1 관점에 의한 제 4 실시형태는 몇개의 사항에서 제 1 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 1 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 26과 도 27도 참조하여 제 1 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 1 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 1 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18로부터 스텝 S22b의 처리까지는, 제 1 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 1 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는, 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는, 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28의 처리는 제 1 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 복호 장치(30)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
다음에, 상기의 제 1 관점에 의한 암호 통신 기술에 유의하면서, 제 2 관점에서, 유연하게 운용가능하며 술어 암호로 암호화된 암호 정보를 유통시키는 것이 가능한, 술어 암호에 의거하는 암호 통신 기술에 관한 실시형태를 설명한다. 이 기술에 의하면, 복호 장치가 전송기능을 가지고 있기 때문에, 술어 암호로 암호화된 암호 정보를 유통시킬 수 있다.
제 2 관점에 의한 암호 통신 기술의 설명은 상기의 제 1 관점에 의한 암호 통신 기술의 설명과 실질적으로 중복되는 부분을 많이 포함하는데, 제 1 관점에 의한 암호 통신 기술의 설명을 참조하지 않아도 되도록, 가능한 한 중복 설명과 중복 도면을 생략하지 않고 제 2 관점에 의한 암호 통신 기술을 설명한다. 이 때문에, 수식의 번호, 기능부를 나타내는 참조번호, 스텝을 나타내는 참조번호 등도 양자에서 중복되지만, 문맥으로부터 혼란의 우려는 없을 것이다.
[제 2 관점에 의한 제 1 실시형태]
도 28부터 도 41을 참조하여 제 2 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
제 2 관점에 의한 암호 시스템(1)은, 도 28에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30-1, 30-2)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라, 암호화 장치로서, 또는 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치로 호칭한다. 복호 장치는, 후술하는 암호 메시지의 주고받음에 대하여 암호화 장치(10)와의 관계에서 당사자인 제 1 복호 장치(30-1)와, 당사자가 아닌 제 2 복호 장치(30-2)로 유별된다. 또한, 제 2 관점에 의한 암호 시스템(1)은 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
제 2 관점에 의한 암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 2 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 3에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 2 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 나타낸다.
제 2 관점에 의한 암호 시스템(1)에 있어서의 암호 통신 방법을 도 29, 30, 31, 32, 34, 36, 38, 40, 41을 참조하면서 서술한다. 각 장치의 기능 구성에 대해서는 도 33, 35, 37, 39을 참조하기 바란다.
《준비 프로세스》
제 1 관점에 의한 발명의 제 1 실시형태에 있어서의 《준비 프로세스》의 설명 모두를 여기에 원용하고, 중복설명을 생략한다. 또한, 이 《준비 프로세스》의 설명에 대응하는 도면으로서 도 29를, 스키마 페어에 대해서는 도 11-13을, 폴리시 리스트에 대해서는 도 14를 참조하기 바란다. 이것으로 《준비 프로세스》는 종료된다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는, 도시하지 않은 제어부의 제어를 받아, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는, 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하여 하나의 엔트리를 선택하고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있는 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세 에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되고 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약, 선택된 스키마가 입력 정보의 종류에 대응하고 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는, 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교 기저(B)(실질적인 공개키)와 평문(M)을 사용하여, 공통키(K)와 암호 정보(C1)와 암호문(C2)을 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다. 단, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는 암호문(C2)의 생성은 불필요하다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)를 생성하고, 상기 식 (7)과 같이 공통키(K)를 설정하고, 상기 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 상기 식 (8)에서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
다음에, 제 2 암호화부(13b)가, 공통키(K)와 평문(M)을 사용하여, 상기 식 (9)에 따라 암호문(C2)을 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S17c의 처리는 생략된다. 즉, 암호화 장치(10)는 제 2 암호화부(13b)의 기능을 가진다고 해도, 스텝 S17c의 처리를 행하지 않는다.
다음에, 암호화 장치(10)의 송신부(14)는 제어부에 의한 제어를 받고, 암호 정보(C1)와, (필요에 따라) 암호문(C2)과, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부가 암호 메시지를 수신한다(스텝 S18). 또한, 암호화 장치(10)가 복수의 제 1 복호 장치(30-1)에 대하여 암호 메시지를 송신하는 것이 허용된다.
이것으로 《암호화 프로세스》는 종료된다.
《제 1 복호 프로세스》
제 1 복호 장치(30-1)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S19). 등록 장치(50)의 검색부는, 어드레스로 지정된 키 생성 장치의 엔트리를 검색하고 그것을 선택하고(스텝 S20), 등록 장치(50)의 송신부는 검색결과의 엔트리를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부는 엔트리를 수신한다(스텝 S21). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 제 1 복호 장치(30-1)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 제 1 복호 장치(30-1)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 제 1 복호 장치(30-1)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
제 1 복호 장치(30-1)의 검증부(도시 생략)는, 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S22a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S22g).
이 검증에 성공한 경우, 제 1 복호 장치(30-1)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 제 1 복호 장치(30-1)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S22f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 제 1 복호 장치(30-1)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 제 1 복호 장치(30-1)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 2 관점에 의한 제 1 실시형태에서는 스텝 S22f의 처리는 임의로 행해진다. 예를 들면, 미리 제 1 복호 장치(30-1)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 제 1 복호 장치(30-1)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S22b).
제 1 복호 장치(30-1)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는, 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은, 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S29의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S23의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 제 1 복호 장치(30-1)의 송신부(34)는, 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면, 이용자의 ID와 패스워드를 포함한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S23). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S24a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S24g). 또한, 스텝 S24a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응되어 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도 스텝 S24g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S24b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S24c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S25의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S24b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S25). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응되어 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S26). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는, 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S27). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S27), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S24c). 이 처리에서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(α)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 상기 식 (10)에 따라 복호키(R)를 구한다(스텝 S24d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 상기 식 (10)에서 w(p)를 v(p)로 치환하면 된다.
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R)를 제 1 복호 장치(30-1)에 송신하고, 제 1 복호 장치(30-1)의 수신부가 복호키(R)를 수신한다(스텝 S28). 수신한 복호키(R)는 제 1 복호 장치(30-1)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S28), 제 1 복호 장치(30-1)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S29).
이 스텝 S29의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)를 구한다. 이 연산결과는 상기 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 상기 식 (11)에 있어서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 상기 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 상기 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 제 1 복호 장치(30-1)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S22c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 상기 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 제 1 복호 장치(30-1)의 정당한 이용자는 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 상기 식 (13)에 따라 평문(M)을 구한다(스텝 S22d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S22d의 처리는 생략된다. 즉, 제 1 복호 장치(30-1)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S22d의 처리를 행하지 않는다.
만약, 상기 식 (11)에 따른 연산결과가 옳지 않은 값인 경우에는, 상기 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 제 1 복호 장치(30-1)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로서 《제 1 복호 프로세스》는 종료한다.
《전송 프로세스》
제 1 복호 장치(30-1)의 전송부(37)는, 암호화 장치(10)로부터 수신한 암호 메시지를 제 2 복호 장치(30-2)에 전송하고, 제 2 복호 장치(30-2)의 수신부가 암호 메시지를 수신한다(스텝30). 전송처의 복호 장치는, 제 2 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 없는 복호 장치)에 한하지 않고, 다른 제 1 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 있는 복호 장치)이어도 된다. 또, 스텝 S30의 처리는, 설명의 편의상, 스텝 S29의 처리에 이어지는 처리로서 설명하지만, 제 1 복호 장치(30-1)가 암호화 장치(10)로부터 암호 메시지를 수신한 이후이면 언제라도 좋다.
이것으로 《전송 프로세스》는 종료한다.
제 2 복호 장치(30-2)에 의한 제 2 복호 프로세스(키 생성 프로세스와 필요에 따라 이용자 정보 취득 프로세스를 포함함)에 대하여 설명한다. 이 일련의 처리는 제 1 복호 프로세스와 실질적으로 같다. 또한 제 2 복호 장치(30-2)의 기능 구성은, 전송부(37)를 반드시 갖지 않아도 되는 점을 제외하고, 제 1 복호 장치(30-1)와 같기 때문에, 공통되는 기능 구성 요소에 대해서는 같은 참조번호를 할당하고 있다.
《제 2 복호 프로세스》
제 2 복호 장치(30-2)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받아, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S31). 등록 장치(50)의 검색부는, 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S32), 등록 장치(50)의 송신부는 검색결과의 엔트리를 제 2 복호 장치(30-2)에 송신하고, 제 2 복호 장치(30-2)의 수신부는 엔트리를 수신한다(스텝 S33). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 제 2 복호 장치(30-2)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 제 2 복호 장치(30-2)가 소유하고 있는 경우에는, 스텝 S31-S33의 처리는 생략된다. 이 경우, 제 2 복호 장치(30-2)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
제 2 복호 장치(30-2)의 검증부(도시 생략)는, 제어부의 제어를 받고, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S34a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S34g).
이 검증에 성공한 경우, 제 2 복호 장치(30-2)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 제 2 복호 장치(30-2)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S34f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는, 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)는 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 제 2 복호 장치(30-2)의 취득부(32)가, 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 제 2 복호 장치(30-2)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 2 관점에 의한 제 1 실시형태에서는, 스텝 S34f의 처리는 임의로 행해진다. 예를 들면, 미리 제 2 복호 장치(30-2)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 제 2 복호 장치(30-2)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S34b).
제 2 복호 장치(30-2)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응되어 있다. 그래서, 검증부는, 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S41의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S35의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 제 2 복호 장치(30-2)의 송신부(34)는, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면) 이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면 이용자의 ID와 패스워드를 포함한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S35). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다. 이 키 생성 장치(20)는 제 1 복호 장치(30-1)의 상대방의 키 생성 장치(20)와 동일할 필요는 없다.
키 생성 장치(20)의 검증부(도시 생략)는, 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면, 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S36a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S36g). 또한, 스텝 S36a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도, 스텝 S36g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S36b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S36c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S37의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S36b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S37). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블가 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S38). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는 제어부에 의한 제어를 받아, 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S39). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S39), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S36c). 일반적으로, 제 1 복호 장치(30-1)의 이용자와 제 2 복호 장치(30-2)의 이용자는 다르기 때문에, 이 처리에서 얻어지는 제 2 속성 정보 또는 제 2 술어 정보는 스텝 S24c의 처리에서 얻어지는 제 2 속성 정보 또는 제 2 술어 정보와 동일하게 되는 보증은 없다. 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(ε)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v'(p))=(v'(p)1, …, v'(p)n) 또는 제 2 술어 정보(w'(p))=(w'(p)1, …, w'(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 식 (14)에 따라 복호키(R')를 구한다(스텝 S36d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w'(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v'(p))가 대응하므로, 식 (14)에 있어서 w'(p)를 v'(p)로 치환하면 된다.
Figure pct00010
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아, 복호키(R')를 제 2 복호 장치(30-2)에 송신하고, 제 2 복호 장치(30-2)의 수신부가 복호키(R)를 수신한다(스텝 S40). 수신한 복호키(R)는 제 2 복호 장치(30-2)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명에 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S40), 제 2 복호 장치(30-2)의 복호부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R')와 암호 정보(C1)와 (필요에 따라) 암호문(C2)을 읽어들이고, 공통키(K)와 (필요에 따라) 평문(M)을 구한다(스텝 S41).
이 스텝 S41의 처리의 상세에 대하여 설명을 가한다. 제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R')를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R')를 구한다. 이 연산결과는 식 (15)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R')로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 식 (15)에 있어서 v를 v'(p)로, w'(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R')로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi*)는 상기 식 (12)와 같이 정의된다.
Figure pct00011
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적이 0)인 경우, 식 (15)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 제 2 복호 장치(30-2)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S34c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w'(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v'(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통이라고 할지 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 식 (15)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 제 2 복호 장치(30-2)의 정당한 이용자는, 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w'(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v'(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호문(C2)을 사용하여, 상기 식 (13)에 따라 평문(M)을 구한다(스텝 S34d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다. 전술한 바와 같이, 제 2 관점에 의한 제 1 실시형태가 공통키(K)의 배송에 특화한 실시형태인 경우에는, 스텝 S34d의 처리는 생략된다. 즉, 제 2 복호 장치(30-2)는, 제 2 복호부(33b)의 기능을 가진다고 해도, 스텝 S34d의 처리를 행하지 않는다.
만약, 식 (15)에 따른 연산결과가 옳지 않은 값일 경우에는, 상기 식 (13)에 의해서는 옳은 평문(M)을 얻을 수 없다.
또한, 제 2 복호 장치(30-2)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
이것으로 《제 2 복호 프로세스》는 종료한다.
제 2 복호 장치(30-2)가 전송부(37)를 갖는 경우에는, 제 2 복호 장치(30-2)는 제 1 복호 장치(30-1)로부터 수신한 암호 메시지를 다른 제 2 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 없는 복호 장치)에 전송해도 되고, 제 1 복호 장치(암호 메시지의 주고받음에 대하여 암호화 장치와 당사자의 관계에 있는 복호 장치)에 전송해도 된다. 이 전송 처리는 제 2 복호 장치(30-2)가 제 1 복호 장치(30-1)로부터 암호 메시지를 수신한 이후이면 언제라도 좋다.
[제 2 관점에 의한 제 2 실시형태]
제 2 관점에 의한 제 2 실시형태에서는, 제 2 관점에 의한 제 1 실시형태와 달리, 제 1 복호 장치(30-1)와 제 2 복호 장치(30-2)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 2 관점에 의한 제 2 실시형태는 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 42-도 48을 참조하면서 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S22b까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 1 복호 장치(30-1)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는, 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 제 1 복호 장치(30-1)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는 제 1 복호 장치(30-1)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 2 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28부터 스텝 S34a까지의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S34b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 2 복호 장치(30-2)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S35g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S35g의 처리 후, 스텝 S35의 처리가 행해진다. 단, 이 처리에서는, 제 2 복호 장치(30-2)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S36a의 처리에서 검증에 성공한 경우, 스텝 S36d의 처리가 행해진다. 키 생성 장치(20)는 제 2 복호 장치(30-2)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 2 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S36d의 처리 후의 스텝 S40과 스텝 S41의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
[제 2 관점에 의한 제 3 실시형태]
제 2 관점에 의한 제 3 실시형태에서는, 제 2 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 즉, 제 2 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 3에 개시하는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 2 관점에 의한 제 3 실시형태는, 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 49-도 54를 참조하면서 제 2 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 2 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S28까지의 처리는, 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 제 1 복호 장치(30-1)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
스텝 S22c1의 처리에 이어지는 스텝 S30부터 스텝 S40까지의 처리는, 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S40의 처리에 이어지는 스텝 S34c1의 처리에서는, 제 2 복호 장치(30-2)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S34c1).
[제 2 관점에 의한 제 4 실시형태]
제 2 관점에 의한 제 4 실시형태는 제 2 관점에 의한 제 2 실시형태와 제 2 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 2 관점에 의한 제 4 실시형태는, 제 2 관점에 의한 제 1 실시형태와 달리, (1) 제 1 복호 장치(30-1)와 제 2 복호 장치(30-2)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다. 이 차이에 따라, 제 2 관점에 의한 제 4 실시형태는, 몇개의 사항에서 제 2 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 2 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 같은 참조번호를 할당함), 도 55부터 도 58도 참조하여 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는 제 2 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 2 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 평문(M)을 사용하여, 암호 정보(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아, 암호 정보(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S22b의 처리까지는, 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S22b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 1 복호 장치(30-1)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S23g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S23g의 처리 후, 스텝 S23의 처리가 행해진다. 단, 이 처리에서는, 제 1 복호 장치(30-1)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 1 복호 장치(30-1)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S24a의 처리에서 검증에 성공한 경우, 스텝 S24d의 처리가 행해진다. 키 생성 장치(20)는, 제 1 복호 장치(30-1)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S24d의 처리 후의 스텝 S28의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S28의 처리에 이어지는 스텝 S22c1의 처리에서는, 제 1 복호 장치(30-1)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S22c1).
그리고, 스텝 S22c1의 처리 후의 스텝 S30부터 스텝 S34a까지의 각 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S34b의 처리에서 복호키를 소유하고 있지 않은 경우, 제 2 복호 장치(30-2)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S35g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 2 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S35g의 처리 후, 스텝 S35의 처리가 행해진다. 단, 이 처리에서는, 제 2 복호 장치(30-2)의 송신부(34)가 제어부에 의한 제어를 받아, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 제 2 복호 장치(30-2)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S36a의 처리에서 검증에 성공한 경우, 스텝 S36d의 처리가 행해진다. 키 생성 장치(20)는 제 2 복호 장치(30-2)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S36d의 처리 후의 스텝 S40의 처리는 제 2 관점에 의한 제 1 실시형태와 같다.
스텝 S40의 처리에 이어지는 스텝 S34c1의 처리에서는, 제 2 복호 장치(30-2)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)를 읽어들이고, 평문(M)을 구한다(스텝 S34c1).
제 2 관점에 의한 상기의 각 실시형태는, 예를 들면, 전자 메일 시스템이나 인스턴트 메시징 시스템으로서 실시된다. 도 59에 송수신 되는 데이터의 구성을 예시한다. 메시지 전체의 기본적인 포맷은, 예를 들면, S/MIME(Secure Multipurpose Internet Mail Extensions)을 따르지만, 암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지의 데이터는 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지가 술어 암호에 관한 일련의 데이터를 나타낸다.
알고리즘 식별자 블록에는, 공통키의 암호화에 사용한 술어 암호 알고리즘과 메시지 페이로드의 암호화에 사용한 공통키 암호 알고리즘을 특정하기 위한 정보가 지정된다. 이와 같이, 알고리즘을 나타내는 식별자나 알고리즘의 버전 등을 지정할 수 있다(PE/VersionX+Camellia[Camellia는 등록상표] 등).
디지털 서명 블록에는 디지털 서명이 기술된다. 서명 알고리즘은 기존의 방식을 사용할 수 있다. 이 항목은 운용 형태에 따라 생략 가능하다.
공개 패러미터 정보 블록에는 사용한 공개 정보 패러미터를 특정하는 정보가 지정된다. 공개 정보 패러미터를 특정하는 식별자, 또는 공개 정보 패러미터의 데이터 그 자체를 지정할 수도 있다.
폴리시 필드에는 사용한 폴리시를 특정하는 식별자가 지정된다.
스키마 필드에는 사용한 스키마를 특정하는 식별자가 지정되거나, 또는 스키마의 데이터가 기술된다.
암호 정보 필드에는 메시지 페이로드(평문)의 암호화에 사용한 공통키를 술어 암호로 암호화한 데이터(암호 정보)가 지정된다.
암호문 필드에는 메시지 페이로드(평문)를 암호화하여 작성한 데이터(암호문)이 기술된다.
속성 필드/술어 필드에는 폴리시 필드에 대응하여 암호화에 사용한 속성/술어를 의미하는 문자열 표현을 지정할 수 있다. 이들 항목은 운용 형태에 따라서는 생략 가능하다.
첨부 필드에는, 예를 들면, RSA 암호화한 첨부 파일 등을 첨부할 수 있다. 이 항목은 운용 형태에 따라 생략 가능하다.
또한, 예를 들면, 인스탄트 메시징에 수반되는 시큐어 통신의 경우에는, 공통키를 암호화한 암호 정보를 재송할 필요는 없다. 인스턴트 메시징에서는 통상, 최초의 인스턴트 메시지에서 적절한 공통키를 취득할 수 있으면, 후속의 인스턴트 메시지의 복호에 사용하기 위하여 공통키를 수신자가 보존하고 있어도 된다. 이와 같이, 후속의 인스턴트 메시지를 송신자로부터 수신자에게 송신할 때는, 암호문은 보내지만, 공개 패러미터 정보, 폴리시, 스키마, 암호 정보를 보내지 않도록 해도 된다. 마찬가지로, 사용되는 암호 알고리즘을 변경하지 않는 운용의 경우에는, 후속의 인스턴트 메시지 내의 암호 알고리즘 식별자를 생략해도 된다.
술어 암호는, 암호화시에, 수신자에 의존하는 정보에 구속되지 않는 방식이므로, 송신자(장치)는 미지의 수신자(장치)에 대해서도 암호 메시지를 송신할 수 있다. 환언하면, 송신자는 복수의 수신자(장치)가 존재하는 경우이어도 암호화 처리를 1회밖에 행하지 않는다(공개키 암호 방식에서는, N회의 암호화 처리가 필요함). 이 때문에, 송신자(장치)는 낮은 처리 비용으로 암호 메시지를 일제히 송신할 수 있다.
또한 수신자(장치)가 제3자(장치)에 암호 메시지를 전송할 때, 암호화 장치로부터 수신한 암호 메시지를 그대로 제3자(장치)에게 전송할 수 있다. 공개키 암호 방식에서는, 수신자(장치)가 일단, 암호 메시지를 복호하고, 제3자(장치)의 공개키를 사용하여 암호화하고, 이 암호화된 암호 메시지를 송신하는 처리가 필요하여, 처리 비용의 부담이 크다. 그러나, 상기의 각 실시형태에서는, 암호화 장치로부터 수신한 암호 메시지를 그대로 제3자(장치)에게 전송하기 때문에, 낮은 처리 비용으로 암호 메시지를 전송할 수 있다.
다음에, 상기의 제 1 관점에 의한 암호 통신 기술에 유의하면서, 제 3 관점에서, 유연하게 운용 가능하며 술어 암호로 암호화된 콘텐츠(암호화 콘텐츠)를 배신하는 것이 가능한, 술어 암호에 의거하는 암호 통신 기술에 관한 실시형태를 설명한다. 이 기술에 의하면, 술어 암호로 암호화된 콘텐츠(암호화 콘텐츠)가 콘텐츠 서버 장치에 축적되고, 복호 장치로부터의 요구에 따라 암호화 콘텐츠를 송신함으로써, 암호화 콘텐츠를 배신할 수 있다.
제 3 관점에 의한 암호 통신 기술의 설명은 상기의 제 1 관점에 의한 암호 통신 기술의 설명과 실질적으로 중복되는 부분을 많이 포함하지만, 제 1 관점에 의한 암호 통신 기술의 설명을 참조하지 않아도 되도록, 가능한 한 중복 설명과 중복 도면을 생략하지 않고 제 3 관점에 의한 암호 통신 기술을 설명한다. 이 때문에, 수식의 번호, 기능부를 나타내는 참조번호, 스텝을 나타내는 참조번호 등도 양자에서 중복되지만, 문맥으로부터 혼란의 우려는 없을 것이다.
[제 3 관점에 의한 제 1 실시형태]
도 60부터 도 71을 참조하여 제 3 관점에 의한 본 발명의 제 1 실시형태를 설명한다.
제 3 관점에 의한 암호 시스템(1)은, 도 60에 나타내는 바와 같이, 복수의 클라이언트 장치(10, 30)와, 하나 또는 복수의 키 생성 장치(20)와, 하나 또는 복수의 콘텐츠 서버 장치(60)와, 하나 또는 복수의 유저 정보 관리 장치(40)(이하, 관리 장치라고 함), 변환규칙 정보 페어 관리 장치(50)(이하, 등록 장치라고 함), 하나 또는 복수의 보전 장치(80), 하나 또는 복수의 인증 장치(90)를 포함하고 있다. 이들 각 장치는, 예를 들면, 인터넷인 통신망(5)을 통하여 서로 통신 가능하게 되어 있다.
클라이언트 장치는, 처리 목적에 따라, 콘텐츠를 암호화하여 암호화 콘텐츠를 생성하는 암호화 장치로서, 또는 암호화 콘텐츠를 복호하는 복호 장치로서 기능한다. 그래서, 클라이언트 장치를 기능의 관점에서, 암호화 장치(10) 또는 복호 장치(30)로 호칭한다. 또한, 제 3 관점에 의한 암호 시스템(1)은 암호화 장치로서만 기능하는 클라이언트 장치 및/또는 복호 장치로서만 기능하는 클라이언트 장치를 포함해도 된다.
제 3 관점에 의한 암호 시스템(1)에서는 술어 암호를 사용한 암호화와 복호가 행해진다. 제 3 관점에 의한 본 발명에서는, 사용하는 술어 암호 알고리즘에 한정은 없고, 예를 들면, 상기 비특허문헌 3에 개시되는 술어 암호 알고리즘을 사용하는 것이 허용된다. 제 3 관점에 의한 제 1 실시형태에서는, KEM(Key Encapsulation Mechanisms) 타입의 술어 암호 알고리즘을 사용한 예를 나타낸다.
암호 시스템(1)에 있어서의 암호 통신 방법을 도 61, 62, 63, 64, 66, 69, 71을 참조하면서 서술한다. 각 장치의 기능구성에 대해서는 도 65, 67, 68, 70을 참조하기 바란다.
《준비 프로세스》
제 1 관점에 의한 발명의 제 1 실시형태에 있어서의 《준비 프로세스》의 설명 모두를 여기에 원용하고, 중복설명을 생략한다. 또한, 이 《준비 프로세스》의 설명에 대응하는 도면으로서 도 61을, 스키마 페어에 대해서는 도 11-13을, 폴리시 리스트에 대해서는 도 14를 참조하기 바란다. 이것으로 《준비 프로세스》는 종료한다.
《암호화 프로세스》
암호화 장치(10)의 송신부(14)는 도시하지 않은 제어부의 제어를 받아, 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S14). 등록 장치(50)의 검색부는 등록 장치(50)의 기억부에 등록되어 있는 엔트리의 일부 또는 전부를 검색하여 하나의 엔트리를 선택하고(스텝 S15), 등록 장치(50)의 송신부는 검색결과의 엔트리를 암호화 장치(10)에 송신하고, 암호화 장치(10)의 수신부는 엔트리를 수신한다(스텝 S16). 이 엔트리에는 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용 가능한 폴리시 리스트, 이 키 생성 장치가 사용 가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 암호화 장치(10)의 메모리(11)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 암호화 장치(10)가 소유하고 있는 경우에는, 스텝 S14-S16의 처리는 생략된다. 즉, 암호 시스템(1)이 등록 장치(50)를 포함하지 않는 형태도 허용되는 것에 주의하지 않으면 안 된다.
암호화 장치(10)의 제 1 술어 논리 정보 취득부(12)가 메모리(11)로부터 입력 정보와 폴리시와 스키마를 읽어들이고, 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 구한다(스텝 S17a). 이 처리의 상세 에 대하여 설명을 가한다(도 12, 도 13 참조).
우선, 스키마 리스트에 복수의 스키마 페어가 기술되어 있는 경우, 용도 등에 따라 하나의 스키마 페어가 선택된다. 암호화 장치(10)의 이용자에 의해 스키마 페어가 선택되어 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 스키마 페어를 선택해도 된다.
그리고, 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 폴리시와 함께 어느 일방의 스키마를 선택한다. 암호화 장치(10)의 이용자에 의해 폴리시와 어느 일방의 스키마가 선택되어 그 지시 정보가 입력되는 경우나, 소정의 규칙에 따라, 제 1 술어 논리 정보 취득부(12)가 폴리시와 어느 일방의 스키마를 선택하는 경우의 어느 것이어도 된다. 또한, 키 생성 장치(20)의 폴리시가 1종류의 타입만 준비되어 있는 경우에는, 그 폴리시에 따라 스키마 페어 중 일방의 스키마가 선택된다. 만약 선택된 스키마가 입력 정보의 종류에 대응하고 있지 않은 경우에는, 스키마 리스트로부터 스키마 페어를 재선택하거나, 등록 장치(50)로부터 엔트리의 제공을 다시 받으면 된다.
입력 정보는 암호화 장치(10)의 이용자에 의해 입력된 정보 또는, 예를 들면, IC 카드(39)와 같은 기억매체로부터 암호화 장치(10)의 취득부(도시 생략)가 취득한 정보이어도 된다.
그리고, 제 1 술어 논리 정보 취득부(12)가 폴리시에 따라 스키마 페어 중에서 선택된 스키마를 사용하여 입력 정보로부터 제 1 속성 정보 또는 제 1 술어 정보를 얻는다. 폴리시가 Key_Policy이며 선택된 스키마가 속성용 스키마일 경우에는 제 1 속성 정보가 얻어진다. 폴리시가 Cipher_Text_Policy이며 선택된 스키마가 술어용 스키마일 경우에는 제 1 술어 정보가 얻어진다. 제 1 속성 정보와 제 1 술어 정보는, 제 3 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보((v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 직교 기저(B)(실질적인 공개키)와 콘텐츠(M)를 사용하여, 공통키(K)와 암호 정보(C1)와 암호화 콘텐츠(C2)를 구한다(스텝 S17b, S17c). 이들 처리의 상세에 대하여 설명을 가한다.
우선, 제 1 암호화부(13a)가, 술어 암호 알고리즘에 따라, 유한체(Fq)의 원소인 난수(r, ρ)를 생성하여, 상기 식 (7)과 같이 공통키(K)를 설정하고, 상기 식 (8)에 따라 암호 정보(C1)를 구한다(스텝 S17b). H는, 예를 들면, 해쉬 함수이다. 이 예에서는 제 1 속성 정보(v)를 사용하고 있지만, 제 1 술어 정보를 사용하는 경우에는 상기 식 (8)에 있어서 v를 w로 치환하면 된다. 또한 이 예에서는, 암호 정보(C1)는 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 해도 된다.
다음에, 제 2 암호화부(13b)가, 공통키(K)와 콘텐츠(M)를 사용하여, 상기 식 (9)에 따라 암호화 콘텐츠(C2)를 구한다(스텝 S17c). 공통키를 사용한 암호화 방법(EncK)은 주지의 방법이어도 되고, 예를 들면, 상기 비특허문헌 1에 개시되는 방법이다.
다음에, 암호화 장치(10)의 송신부(14)는 제어부에 의한 제어를 받아, 암호 정보(C1)와, 암호화 콘텐츠(C2)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d). 그리고 암호화 장치(10)의 송신부(14)는 암호 메시지를 콘텐츠 서버 장치(60)에 송신하고, 콘텐츠 서버 장치(60)의 수신부가 암호 메시지를 수신한다(스텝 S18). 암호화 콘텐츠의 업 로드는, 예를 들면, FTP(File Transfer Protocol)이나 Web DAV(Distributed Authoring and Versioning protocol for the WWW) 등의 주지의 방식을 이용하여 행해진다.
이것으로 《암호화 프로세스》는 종료한다.
《콘텐츠 배신 프로세스》
콘텐츠 서버 장치(60)는, 도시하지 않은 제어부의 제어하에, 그 메모리(61)에 각 암호화 장치(10)로부터 보내진 암호 메시지를 기억한다. 이것에 의해, 암호 메시지에 포함되는 암호 정보와 암호화 콘텐츠가 콘텐츠 서버 장치(60)에 등록된다. 콘텐츠 서버 장치(60)에 어떤 암호화 콘텐츠가 등록되어 있는지는, 예를 들면, Web 페이지상에서 공개된다.
상기 Web 페이지는, 예를 들면, 인터넷 프로토콜에 따라, 복호 장치(30)의 브라우저부(38)에 의해, 복호 장치(30)의 디스플레이(도시 생략)에 표시된다. 복호 장치(30)의 이용자는 원하는 암호화 콘텐츠를 선택하는 입력 조작을 행한다. 복호 장치(30)의 브라우저부(38)는, 이용자가 입력한 정보에 기초하여, 선택된 암호화 콘텐츠를 콘텐츠 서버 장치(60)로부터 취득하기 위한 취득 요구를 복호 장치(30)의 복호부(33)(이하, 중계부라고 함)에 전해준다(스텝 S19). 그리고, 복호 장치(30)의 중계부(33)는 이 취득 요구를 콘텐츠 서버 장치(60)에 송신하고, 콘텐츠 서버 장치(60)의 수신부는 이 취득 요구를 수신한다(스텝 S20). 이와 같이, 브라우저부(38)와 콘텐츠 서버 장치(60)와의, 예를 들면, HTTP(Hiper Text Transfer Protocol)에 따른 주고받기는 중계부(33)를 경유하여 행해진다(예를 들면, WWW 브라우저의 프록시 설정을 사용하는 것이 허용됨). 콘텐츠 서버 장치(60)의 검색부(62)는, 취득 요구에서 지정된 암호화 콘텐츠를 포함하는 암호 메시지를 검색하고 그것을 선택하고(스텝 S21), 검색부(62)로부터의 지시에 기초하여, 콘텐츠 서버 장치(60)의 송신부(64)는 암호 메시지를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 암호 메시지를 수신한다(스텝 S22).
이것으로 《콘텐츠 배신 프로세스》는 종료한다.
《복호 프로세스》
복호 장치(30)의 송신부(34)는, 도시하지 않은 제어부의 제어를 받고, 암호 메시지에 포함되는 키 생성 장치의 어드레스를 포함하는 검색 쿼리를 등록 장치(50)에 송신하고, 등록 장치(50)의 수신부가 검색 쿼리를 수신한다(스텝 S23). 등록 장치(50)의 검색부는 어드레스로 지정된 키 생성 장치의 엔트리를 검색하여 그것을 선택하고(스텝 S24), 등록 장치(50)의 송신부는 검색결과의 엔트리를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부는 엔트리를 수신한다(스텝 S25). 이 엔트리에는, 키 생성 장치의 어드레스, 이 키 생성 장치의 공개 패러미터, 이 키 생성 장치가 사용가능한 폴리시 리스트, 이 키 생성 장치가 사용가능한 스키마 리스트가 포함되어 있다. 수신한 엔트리는 복호 장치(30)의 메모리(31)에 기억된다.
또한, 각 키 생성 장치(20)의 공개 패러미터, 스키마 리스트, 폴리시 리스트, 어드레스를 미리 복호 장치(30)가 소유하고 있는 경우에는, 스텝 S19-S21의 처리는 생략된다. 이 경우, 복호 장치(30)는 암호 메시지에 포함되는 어드레스에 대응하는 키 생성 장치의 엔트리를 자신의 메모리(31)로부터 검색하여 이것을 취득한다.
복호 장치(30)의 검증부(도시 생략)는 제어부의 제어를 받아, 암호 메시지에 포함되는 스키마 페어와 폴리시가 등록 장치(50)로부터 취득한 엔트리에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지를 검증한다(스텝 S26a). 이 검증에 실패한 경우, 복호 처리의 실패로서 처리를 종료한다(스텝 S26g).
이 검증에 성공한 경우, 복호 장치(30)의 취득부(32)가, 예를 들면, IC 카드(39)와 같은 기억매체로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어낸다(스텝 S26f). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 암호 메시지에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 취득부(32)는 기억매체로부터 속성 지정 정보를 읽어낸다. 만약 폴리시가 Key_Policy인 경우, 취득부(32)은 기억매체로부터 술어 지정 정보를 읽어낸다. 이하, 읽어내진 지정 정보를 이용자 정보라고 부른다. 또한 복호 장치(30)의 취득부(32)가 후술하는 키 생성 장치(20)에 있어서의 처리 《이용자 정보 취득 프로세스》와 마찬가지로, 관리 장치(40)로부터, 당해 복호 장치(30)의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보를 읽어내는 것도 허용된다. 또한, 제 3 관점에 의한 제 1 실시형태에서는, 스텝 S26f의 처리는 임의로 행해진다. 예를 들면, 미리 복호 장치(30)가 이용자에 대응하는 속성 지정 정보와 술어 지정 정보를 소유하고 있는 경우, 폴리시에 따라 속성 지정 정보 또는 술어 지정 정보 중 어느 하나가 이용자 정보가 된다.
다음에, 복호 장치(30)의 검증부가 암호 메시지에 포함되는 암호 정보를 복호 하기 위하여 사용하는 복호키를 가지고 있는지 아닌지를 검증한다(스텝 S26b).
복호 장치(30)는 메모리(31)에 복호키 테이블을 기억하고 있다. 복호키 테이블에서는, 예를 들면, 도 15에 나타내는 바와 같이, 키 생성 장치의 식별자에 대하여, 공개 패러미터와, 스키마 페어와, 복호키의 대상과, 술어 지정 정보와, 복호키가 대응시켜져 있다. 그래서, 검증부는 암호 메시지에 포함되는 어드레스에 의해 판별하는 키 생성 장치의 식별자, 공개 패러미터와, 스키마 페어와, 복호키의 대상(단, 이것은 암호 메시지에 포함되는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응함)에 대응하는 복호키의 유무를 검증한다. 만약 복호키가 존재하면, 스텝 S33의 처리를 행한다. 만약 복호키가 존재하지 않으면, 스텝 S27의 처리를 행한다.
여기에서 《복호 프로세스》의 설명을 중단하고, 《키 생성 프로세스》의 설명을 한다.
전술한 바와 같이 복호키가 존재하지 않는 경우, 복호 장치(30)의 송신부(34)는, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, (만약 있으면)이용자 정보, 인증 정보를 정리한 키 요구 메시지를 생성한다. 인증 정보는, 예를 들면, 이용자의 ID와 패스워드를 포함한다. 그리고, 복호 장치(30)의 송신부(34)는, 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다(스텝 S27). 수신한 키 요구 메시지는 키 생성 장치(20)의 메모리(21)에 기억된다.
키 생성 장치(20)의 검증부(도시 생략)는 제어부의 제어를 받고, 키 요구 메시지에 포함되는 스키마 페어와 폴리시가 당해 키 생성 장치(20)가 소유하는 엔트리(예를 들면, 스텝 S1에서 생성된 엔트리임)에 포함되는 폴리시 리스트와 스키마 리스트에 포함되는지 아닌지, 및, 키 요구 메시지에 포함되는 공개 패러미터가 당해 키 생성 장치(20)의 공개 패러미터인지 아닌지를 검증한다(스텝 S28a). 이 검증에 실패한 경우, 키 생성 처리의 실패로서 처리를 종료한다(스텝 S28g). 또한, 스텝 S28a의 처리에서는, 키 요구 메시지에 인증 정보가 포함되면, 키 요구 메시지에 포함되는 인증 정보의 검증도 행해진다. 키 생성 장치(20)는 메모리(21)에 인증 테이블을 기억하고 있다. 인증 테이블에서는, 예를 들면, 도 16에 나타내는 바와 같이, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다. 그래서, 검증부는 키 요구 메시지에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다. 이 검증에 실패한 경우도 스텝 S28g의 처리가 행해진다.
이 검증에 성공한 경우, 키 생성 장치(20)의 검증부가 키 요구 메시지에 이용자 정보가 포함되어 있는지 아닌지를 검증한다(스텝 S28b). 키 요구 메시지에 이용자 정보가 포함되어 있으면 스텝 S28c의 처리를 행하고, 키 요구 메시지에 이용자 정보가 포함되어 있지 않으면 스텝 S29의 처리를 행한다. 또한, 반드시 키 요구 메시지에 이용자 정보가 포함되는 방법을 채용하는 경우에는, 스텝 S28b의 처리 및 후술하는 《이용자 정보 취득 프로세스》는 불필요하다.
여기에서 《키 생성 프로세스》의 설명을 중단하고, 《이용자 정보 취득 프로세스》의 설명을 한다.
키 생성 장치(20)의 송신부는 키 요구 메시지에 포함되는 폴리시와 (만약 있으면) 인증 정보를 포함하는 리퀘스트를 관리 장치(40)에 송신하고, 관리 장치(40)가 리퀘스트를 수신한다(스텝 S29). 수신한 리퀘스트는 관리 장치(40)의 메모리에 기억된다.
관리 장치(40)는 메모리에 인증 테이블을 기억하고 있다. 이 인증 테이블에서는, 상기의 인증 테이블과 마찬가지로, 이용자의 ID에 대하여 패스워드가 대응시켜져 있다(도 16 참조). 그래서, 관리 장치(40)의 검증부(도시 생략)는 리퀘스트에 포함되는 이용자의 ID와 패스워드와 인증 테이블에 포함되는 이용자의 ID와 패스워드와의 정합성을 검증한다.
이 검증에 성공하면, 관리 장치(40)의 검색부(도시 생략)가 리퀘스트에 포함되는 폴리시에 따라, 메모리에 기억되어 있는 이용자 정보 테이블로부터 속성 지정 정보 또는 술어 지정 정보를 검색한다(스텝 S30). 이용자 정보 테이블은, 예를 들면, 이용자의 ID와 이것에 대응시켜진 속성명 및 속성 지정 정보로 구성되는 제 1 테이블과, 이용자의 ID와 이것에 대응시켜진 술어 지정 정보로 구성되는 제 2 테이블을 포함하고 있다(도 17 참조). 속성 지정 정보 또는 술어 지정 정보의 어느 것을 읽어낼지는 리퀘스트에 포함되는 폴리시에 의해 결정된다. 즉, 읽어내지는 정보는, 이 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마를 특정하는 폴리시의 내용에 대응하는 지정 정보이다. 만약 폴리시가 Cipher_Text_Policy인 경우, 검색부는 제 1 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 속성 지정 정보를 취득한다. 만약 폴리시가 Key_Policy인 경우, 검색부는 제 2 테이블로부터 리퀘스트에 포함되는 이용자의 ID에 대응하는 술어 지정 정보를 취득한다. 읽어내진 지정 정보를 이용자 정보라고 부른다.
관리 장치(40)의 송신부는 제어부에 의한 제어를 받아 검색결과의 이용자 정보를 키 생성 장치(20)에 송신하고, 키 생성 장치(20)의 수신부가 이용자 정보를 수신한다(스텝 S31). 수신한 이용자 정보는 키 생성 장치(20)의 메모리(21)에 기억된다.
이상으로 《이용자 정보 취득 프로세스》를 종료하고, 다시 《키 생성 프로세스》의 설명으로 되돌아온다.
이용자 정보를 이미 소유하고 있는 경우, 또는, 이용자 정보 취득 프로세스에 의해 이용자 정보를 수신한 경우(스텝 S31), 키 생성 장치(20)의 제 2 술어 논리 정보 취득부(23)는 메모리(21)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S28c). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 3 관점에 의한 제 1 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조). 이때, 스키마를 사용하여 입력 정보로부터 필요한 속성값의 추출이나 정렬화가 행해진다.
다음에, 키 생성 장치(20)의 키 생성부(25)가, 술어 암호 알고리즘에 따라, 공개 패러미터의 q에 기초하여 유한체(Fq)의 원소인 난수(α)를 생성하고, 메모리(21)로부터의 제 2 속성 정보(v(p))=(v(p)1, …, v(p)n) 또는 제 2 술어 정보(w(p))=(w(p)1, …, w(p)n)와, 당해 키 생성 장치의 비밀키(B*)를 사용하여, 상기 식 (10)에 따라 복호키(R)를 구한다(스텝 S28d). 암호화 처리에서 사용된 입력 정보가 속성 지정 정보인 경우에 대응하여, 이 예에서는 제 2 술어 정보(w(p))를 사용하고 있지만, 입력 정보가 술어 지정 정보인 경우에는, 제 2 속성 정보(v(p))가 대응하므로, 상기 식 (10)에 있어서 w(p)를 v(p)로 치환하면 된다.
다음에, 키 생성 장치(20)의 송신부(24)는 제어부에 의한 제어를 받아 복호키(R)를 복호 장치(30)에 송신하고, 복호 장치(30)의 수신부가 복호키(R)를 수신한다(스텝 S32). 수신한 복호키(R)는 복호 장치(30)의 메모리(31)에 기억된다.
이상으로 《키 생성 프로세스》를 종료하고, 다시 《복호 프로세스》의 설명으로 되돌아온다.
복호키를 이미 소유하고 있는 경우, 또는, 키 생성 프로세스에 의해 복호키를 수신한 경우(스텝 S32), 복호 장치(30)의 중계부(33)가 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호 정보(C1)와 (필요에 따라) 암호화 콘텐츠(C2)를 읽어들이고, 공통키(K)와 콘텐츠(M)를 구한다(스텝 S33).
이 스텝 S33의 처리의 상세에 대하여 설명을 가한다. 중계부(33)는 복호 처리를 담당하는 제 1 복호부(33a)와 제 2 복호부(33b)를 포함한다.
제 1 복호부(33a)는 메모리(31)로부터 공개 패러미터와 암호 정보(C1)와 복호키(R)를 읽어들이고, 술어 암호 알고리즘에 따라, e(C1, R)를 구한다. 이 연산결과는 상기 식 (11)에 나타내는 바와 같이, 입력 정보가 속성 지정 정보인 경우, 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적의 결과에 의존한다. 입력 정보가 술어 지정 정보인 경우, 상기 식 (11)에 있어서 v를 v(p)로, w(p)를 w로 치환하면 되고, 연산결과는 쌍선 형성에 기초하여 암호 정보(C1)와 복호키(R)로부터 취출된 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적의 결과에 의존한다. 단, e(bi, bi *)는 상기 식 (12)와 같이 정의된다. δij는 크로네커의 델타 기호이다.
따라서, 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)인 경우, 상기 식 (11)의 연산결과(gT ρ)가 얻어진다. 이 연산결과(gT ρ)가 얻어진 경우, 복호 장치(30)의 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳은" 공통키(K)를 얻는다(스텝 S26c). 만약 제 1 속성 정보(v)와 제 2 술어 정보(w(p))의 표준 내적이 0(또는 제 1 술어 정보(w)와 제 2 속성 정보(v(p))의 표준 내적이 0)이 아닌 경우, 제 1 복호부(33a)는 상기 식 (7)에 따라 "옳지 않은" 값을 얻는다. 이 예에서는, 해쉬 함수(H)는 시스템에 공통으로 하거나 공개 패러미터에 포함되는 것으로 한다. 이 예에서는, 암호 정보(C1)가 공통키(K)의 생성에 사용하는 정보(ρ)에 대응하는 정보이지만, 암호 정보(C1)를 공통키(K)에 대응하는 정보로 하는 경우에는, 상기 식 (11)의 연산결과가 공통키(K)(또는 옳지 않은 값)로 된다. 즉, 복호 장치(30)의 정당한 이용자는, 제 1 속성 정보(v)와의 표준 내적이 0이 되는 제 2 술어 정보(w(p))를 주는 술어 지시 정보, 또는, 제 1 술어 정보(w)와의 표준 내적이 0이 되는 제 2 속성 정보(v(p))를 주는 속성 지시 정보를 갖는다.
다음에, 제 2 복호부(33b)가, 공통키(K)와 암호화 콘텐츠(C2)를 사용하여, 상기 식 (13)에 따라 콘텐츠(M)를 구한다(스텝 S26d). 공통키를 사용한 복호 방법(DecK)은 암호화 방법(EncK)에 대응한다.
만약, 상기 식 (11)에 따른 연산결과가 옳지 않은 값일 경우에는, 상기 식 (13)에 의해서는 옳은 콘텐츠(M)을 얻을 수 없다.
또한, 복호 장치(30)는 복호키(R)를 복호키 테이블에 기억해도 된다. 또한 공통키(K)를 복호키 테이블에 부가하여 기억해도 된다.
암호화 콘텐츠를 복호하여 얻어진 콘텐츠(M)는, 중계부(33)로부터 브라우저부(38)에 전해지고(스텝 S34), 브라우저부(38)에 의해, 복호 장치(30)의 디스플레이에 표시된다(스텝 S35).
이것으로 《복호 프로세스》는 종료된다.
[제 3 관점에 의한 제 2 실시형태]
제 3 관점에 의한 제 2 실시형태에서는, 제 3 관점에 의한 제 1 실시형태와 달리, 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성한다. 이 차이에 따라, 제 3 관점에 의한 제 2 실시형태는, 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 상이하다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 72-도 75를 참조하면서 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1부터 스텝 S26b까지의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S26b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S27g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는 제 3 관점에 의한 제 2 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S27g의 처리 후, 스텝 S27의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가, 제어부에 의한 제어를 받고, 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S28a의 처리에서 검증에 성공한 경우, 스텝 S28d의 처리가 행해진다. 키 생성 장치(20)는 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 제 3 관점에 의한 제 1 실시형태와 달리, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S28d의 처리 후의 스텝 S32부터 스텝 S35까지의 각 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
[제 3 관점에 의한 제 3 실시형태]
제 3 관점에 의한 제 3 실시형태에서는, 제 3 관점에 의한 제 1 실시형태와 달리, 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다. 즉, 제 3 관점에 의한 제 3 실시형태에서는, 예를 들면, 상기 비특허문헌 3에 타나내는 술어 암호 알고리즘이 사용된다. 이 차이에 따라, 제 3 관점에 의한 제 3 실시형태는, 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 76-도 79를 참조하면서 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 3 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 3 관점에 의한 제 3 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아 암호화 콘텐츠(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S32까지의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S32의 처리에 이어지는 스텝 S26c1의 처리에서는, 복호 장치(30)의 중계부(33)에 포함되는 복호부(33c)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호화 콘텐츠(C1)를 읽어들이고, 콘텐츠(M)를 구한다(스텝 S26c1).
스텝 S26c1의 처리에 이어지는 스텝 S34와 스텝 S35의 각 처리는 제 3 관점에 의한 제 1 실시형태와 동일하다.
[제 3 관점에 의한 제 4 실시형태]
제 3 관점에 의한 제 4 실시형태는, 제 3 관점에 의한 제 2 실시형태와 제 3 관점에 의한 제 3 실시형태의 조합 형태에 상당한다. 즉, 제 3 관점에 의한 제 4 실시형태는, 제 3 관점에 의한 제 1 실시형태와 달리, (1) 복호 장치(30)가 제 2 속성 정보 또는 제 2 술어 정보를 생성하고, (2) 암호화 장치(10)의 암호화부(13)가 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다. 이 차이에 따라, 제 3 관점에 의한 제 4 실시형태는 몇개의 사항에서 제 3 관점에 의한 제 1 실시형태와 다르다. 그래서, 제 3 관점에 의한 제 1 실시형태와 중복되는 부분에 대해서는 중복 설명을 생략하고(동일한 구성요소에 동일한 참조번호를 할당함), 도 80과 도 81도 참조하여 제 3 관점에 의한 제 1 실시형태와 상이한 부분을 설명한다.
스텝 S1로부터 스텝 S17a까지의 처리는, 제 3 관점에 의한 제 1 실시형태와 같다. 단, 공개 패러미터 등의 정보는 제 3 관점에 의한 제 4 실시형태의 술어 암호 알고리즘에 필요한 정보로 된다. 구체적인 정보에 대해서는, 예를 들면, 상기 비특허문헌 3 등을 참고하기 바란다.
스텝 S17a의 처리에 이어지는 스텝 S17b1의 처리에서는, 암호화 장치(10)의 암호화부(13)가, 술어 암호 알고리즘에 따라, 제 1 속성 정보(v)=(v1, …, vn) 또는 제 1 술어 정보(w)=(w1, …, wn)와, 메모리(11)로부터의 공개 패러미터에 포함되는 공개키와 콘텐츠(M)를 사용하여, 암호화 콘텐츠(C1)를 구한다(스텝 S17b1).
다음에, 스텝 S17b1의 처리 후, 스텝 S17d의 처리가 행해진다. 단, 이 처리에서는, 암호화 장치(10)의 송신부(14)가 제어부에 의한 제어를 받아 암호화 콘텐츠(C1)와, 메모리(11)로부터의 스키마 페어, 폴리시, 공개 패러미터, 키 생성 장치의 어드레스를 정리한 암호 메시지를 생성한다(스텝 S17d).
스텝 S17d의 처리에 이어지는 스텝 S18부터 스텝 S26b의 처리까지는, 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S26b의 처리에서 복호키를 소유하고 있지 않은 경우, 복호 장치(30)의 제 2 술어 논리 정보 취득부(35)가 메모리(31)로부터 폴리시와, 스키마 페어와, 공개 패러미터와, 이용자 정보를 읽어들이고, 이용자 정보로부터, 속성 정보(제 2 속성 정보라고 함) 또는 술어 정보(제 2 술어 정보라고 함)를 얻는다(스텝 S27g). 이 처리에 있어서 이용자 정보에 적용되는 스키마는 폴리시로 특정되는 일방의 스키마와 페어로 되어 있는 타방의 스키마이다. 폴리시가 Cipher_Text_Policy인 경우, Cipher_Text_Policy로 특정되는 일방의 스키마(술어용 스키마)와 페어로 되어 있는 타방의 스키마(속성용 스키마)를 사용하여, 이용자 정보(속성 지정 정보)로부터 제 2 속성 정보를 얻는다. 폴리시가 Key_Policy인 경우, Key_Policy로 특정되는 일방의 스키마(속성용 스키마)와 페어로 되어 있는 타방의 스키마(술어용 스키마)를 사용하여, 이용자 정보(술어 지정 정보)로부터 제 2 술어 정보를 얻는다. 이와 같이, 이 처리에서 사용되는 스키마는 스텝 S17a에서 사용된 스키마와 페어로 되어 있는 스키마인 것에 주의하지 않으면 안 된다. 제 2 속성 정보와 제 2 술어 정보는, 제 3 관점에 의한 제 4 실시형태에서는, 유한체(Fq)의 원소를 성분으로 하는 벡터 정보로 된다(도 11-13 참조).
스텝 S27g의 처리 후, 스텝 S27의 처리가 행해진다. 단, 이 처리에서는, 복호 장치(30)의 송신부(34)가 제어부에 의한 제어를 받아 메모리(31)로부터의 공개 패러미터, 폴리시, 스키마 페어, 인증 정보, 제 2 속성 정보 또는 제 2 술어 정보를 정리한 키 요구 메시지를 생성한다. 그리고, 복호 장치(30)의 송신부(34)는 메모리(31)로부터의 어드레스를 갖는 키 생성 장치에 키 요구 메시지를 송신하고, 이 키 생성 장치(20)의 수신부가 키 요구 메시지를 수신한다.
그리고, 스텝 S28a의 처리에서 검증에 성공한 경우, 스텝 S28d의 처리가 행해진다. 키 생성 장치(20)는, 복호 장치(30)로부터 제 2 속성 정보 또는 제 2 술어 정보를 수신하고 있기 때문에, 이 정보를 생성하기 위한 기능과 처리가 불필요하다.
그리고, 스텝 S28d의 처리 후의 스텝 S32의 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
스텝 S32의 처리에 이어지는 스텝 S26c1의 처리에서는, 복호 장치(30)의 복호부(33)가, 술어 암호 알고리즘에 따라, 메모리(31)로부터 공개 패러미터와 복호키(R)와 암호화 콘텐츠(C1)를 읽어들이고, 콘텐츠(M)를 구한다(스텝 S26c1).
스텝 S26c1의 처리에 이어지는 스텝 S34과 스텝 S35의 각 처리는 제 3 관점에 의한 제 1 실시형태와 같다.
제 3 관점에 의한 상기의 각 실시형태로부터 명확한 바와 같이, 중계부가 암호화 콘텐츠의 복호를 행한다. 이 때문에, 복호 처리를, 예를 들면, WWW 서버나 WWW 브라우저의 통상의 프로토콜로부터 분리할 수 있어, 기존의 WWW 시스템을 유용하는 것이 용이하게 된다. 또한 이용자가 암호화 콘텐츠의 복호 처리를 행하기 위한 조작을 하지 않더라도, 중계부가 복호 처리를 행하므로, 이용자의 편리성이 높다.
제 3 관점에 의한 상기의 각 실시형태에서는, 콘텐츠 서버 장치(60)와 복호 장치(30) 사이의 통신로에 캐시 서버 장치 등이 설치되는 운용도 허용된다(이 경우, 암호화 콘텐츠가 캐시됨).
또한 클라이언트 단말 장치를 통신망(5)에 항상 접속시키지 않는 운용에서의 편리성을 고려하여, 중계부가 복호 전의 암호화 콘텐츠를 캐시해도 된다.
또한 WWW 브라우저로의 복호된 콘텐츠의 캐시를 회피하기 위하여, 캐시를 무효시키는 HTTP 캐시 콘트롤 헤더를 WWW 브라우저로의 리스폰스에 부여시켜도 된다.
복수의 이용자가 같은 클라이언트 단말 장치를 사용하는 것과 같은 케이스를 고려하여, 중계부가 인증 기능을 갖는 시스템 구성을 채용해도 된다. 이 경우에는, WWW 브라우저에 대하여 HTTP의 Basic 인증이나 Digest 인증을 이용하고, 또, 인증을 위한 인증 정보(유저 ID/패스워드)의 테이블 등 및 인증 정보의 추가·변경·삭제에 관한 관리기능을 중계부에 추가해도 된다.
제 3 관점에 의한 상기의 각 실시형태는, 콘텐츠 배신 시스템으로서 적합하게 실시된다. 술어 암호는, 암호화 시에 수신자에 의존하는 정보에 구속되지 않는 방식이므로, 불특정인이 열람할 가능성이 있는 콘텐츠의 액세스 제어로서 적합하다.
도 82에 송수신 되는 데이터의 구성을 예시한다. 메시지 전체의 기본적인 포맷은, 예를 들면, S/MIME(Secure Multipurpose Internet Mail Extensions)에 따르지만, 암호 메시지 개시 위치 마커로부터 암호 메시지 종료 위치 마커까지의 데이터는 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
암호화 콘텐츠에 관한 데이터를 암호 블록으로 한다. 이하, 암호 블록의 구성요소를 나타낸다.
알고리즘 식별자 블록에는, 공통키의 암호화에 사용한 술어 암호 알고리즘과 콘텐츠의 암호화에 사용한 공통키 암호 알고리즘을 특정하기 위한 정보가 지정된다. 이와 같이, 알고리즘을 나타내는 식별자나 알고리즘의 버전 등을 지정할 수 있는 (PE/VersionX+Camellia[Camellia는 등록상표] 등).
디지털 서명 블록에는 디지털 서명이 기술된다. 서명 알고리즘은 기존의 방식을 사용할 수 있다. 이 항목은 운용형태에 따라 생략 가능하다.
공개 패러미터 정보 블록에는 사용한 공개 정보 패러미터를 특정하는 정보가 지정된다. 공개 정보 패러미터를 특정하는 식별자, 또는 공개 정보 패러미터의 데이터 그 자체를 지정할 수도 있다.
폴리시 필드에는 사용한 폴리시를 특정하는 식별자가 지정된다.
스키마 필드에는 사용한 스키마를 특정하는 식별자가 지정되거나, 또는 스키마의 데이터가 기술된다.
암호 정보 필드에는 콘텐츠의 암호화에 사용한 공통키를 술어 암호로 암호화한 데이터(암호 정보)가 지정된다.
콘텐츠 파일명, 콘텐츠 타입, 콘텐츠 파일 사이즈에는, 각각, 콘텐츠의 파일명, 콘텐츠의 데이터 타입(예: text/html 등), 콘텐츠의 파일 사이즈가 기술된다.
속성 필드/술어 필드에는 폴리시 필드에 대응하여 암호화에 사용한 속성/술어를 나타내는 문자열 표현을 지정할 수 있다. 이들 항목은 운용형태에 따라는 생략 가능하다.
암호 데이터에는 콘텐츠를 암호화하여 생성한 암호화 콘텐츠가 기술된다.
콘텐츠의 기본적인 데이터 구성은 HTML(Hyper Text Markup Language)로 기술되고, 암호 블록은 HTML 내부의 코멘트 문장으로 지정된다.
암호 블록은 XML(eXtensible Markup Language) 등으로 적절한 데이터 구성이 주어진다.
브라우저 등으로 직접 열람하려고 한 경우에는, 코멘트 문장은 표시되지 않고, 나머지의 HTML의 문장이 표시되므로, 나머지의 HTML 부분에는 암호화 콘텐츠인 것을 나타내는 메시지나, 복호에 실패한 경우의 에러 메시지 등을 기술해도 된다.
상기의 설명에서는, 대수구조(S)를 유한체로 했지만, 유한환(정수잉여환)이어도 된다. 술어 암호 알고리즘이, 예를 들면, 내적을 사용하는 술어 암호 알고리즘일 경우, 제 1, 제 2 속성 정보 및 제 1, 제 2 술어 정보는 S의 원소를 성분으로 하는 벡터로 된다.
또한 대수구조(S)의 체계에 따라, 공개키(B)는 S상의 가군(V)의 원소의 집합이며, 비밀키(B*)는, 가군(V)의 쌍대가군(V*)의 원소의 집합이며, 복호키(R)는 쌍대가군(V*)의 원소로 된다. 또한, 대수구조(S)가 유한체일 경우, 유한체상의 가군(V)은 소위 유한체상의 벡터공간이다. 이 때, 암호화부는 공개키(B)의 원소에 대하여 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 공개키(B)의 원소에 대하여 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 암호 정보를 구한다. 그리고, 키 생성부는 비밀키(B*)의 원소에 대하여 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 비밀키(B*)의 원소에 대하여 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 복호키(R)를 구한다.
암호 시스템에 포함되는 하드웨어 엔터티(클라이언트 장치, 키 생성 장치, 등록 장치, 관리 장치, 보전 장치, 인증 장치, 콘텐츠 서버 장치)는 키보드 등이 접속 가능한 입력부, 액정 디스플레이 등이 접속 가능한 출력부, 하드웨어 엔터티의 외부로 통신 가능한 통신장치(예를 들면, 통신 케이블)가 접속 가능한 통신부, CPU(Central Processing Unit)[캐시 메모리나 레지스터 등을 구비하고 있어도 된다.], 메모리인 RAM이나 ROM, 하드 디스크인 외부 기억장 및 이것들의 입력부, 출력부, 통신부, CPU, RAM, ROM, 외부 기억장치 간의 데이터의 교환이 가능하도록 접속하는 버스를 가지고 있다. 또 필요에 따라, 하드웨어 엔터티에 CD-ROM 등의 기억매체를 읽고쓰기할 수 있는 장치(드라이브) 등을 설치해도 된다. 이러한 하드웨어 자원을 구비한 물리적 실체로서는 범용 컴퓨터 등이 있다.
하드웨어 엔터티의 외부 기억장치에는, 상기의 기능을 실현하기 위하여 필요한 프로그램 및 이 프로그램의 처리에 있어서 필요한 데이터 등이 기억되어 있다(외부 기억장치에 한하지 않고, 예를 들면, 프로그램을 읽어내기 전용 기억 장치인 ROM에 기억시켜 두는 등 해도 된다.). 또한 이들 프로그램의 처리에 의해 얻어지는 데이터 등은 RAM이나 외부 기억장치 등에 적당하게 기억된다. 상기의 설명에서는, 연산결과나 그 격납 영역의 어드레스 등을 기억하는 RAM이나 레지스터 등의 기억 장치를 단지 「메모리」라고 했다.
하드웨어 엔터티에서는, 외부 기억장치[또는 ROM 등]에 기억된 각 프로그램과 이 각 프로그램의 처리에 필요한 데이터가 필요에 따라 메모리에 읽어 들여지고, 적당히 CPU에서 해석 실행·처리된다. 그 결과, CPU가 소정의 기능(예를 들면, 암호화부, 복호부, 키 생성부, 제 1 술어 논리 정보 취득부, 제 2 술어 논리 정보 취득부, 제어부 등)을 실현한다.
각 실시형태에서 설명한 하드웨어 엔터티의 세부에 있어서는, 정수론에 있어서의 수치계산 처리가 필요하게 되는 경우가 있지만, 정수론에 있어서의 수치계산 처리 자체는, 주지 기술과 동이랗게 하여 달성되므로, 그 연산처리 방법 등의 상세한 설명은 생략했다(이 점의 기술수준을 나타내는 정수론에 있어서의 수치계산 처리가 가능한 소프트웨어로서는, 예를 들면, PARI/GP, KANT/KASH 등을 들 수 있다. PARI/GP에 대해서는, 예를 들면, 인터넷 <URL: http://pari.math.u-bordeaux.fr/>[2009년 4월 14일 검색]을 참조. KANT/KASH에 대해서는, 예를 들면, 인터넷 <URL: http://www.math.tu-berlin.de/algebra/>[20091년 4월 14일 검색]을 참조.). 또한 이 점에 관한 문헌으로서 참고문헌 A를 들 수 있다.
(참고문헌 A) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
본 발명은 상기의 실시형태에 한정되는 것은 아니고, 본 발명의 취지를 일탈하지 않는 범위에서 적당히 변경이 가능하다. 또, 상기 실시형태에서 설명한 처리는, 기재의 순을 따라서 시계열로 실행될 뿐만 아니라, 처리를 실행하는 장치의 처리능력 또는 필요에 따라 병렬적으로 또는 개별적으로 실행된다고 해도 된다.
또한 상기 실시형태에서 설명한 하드웨어 엔터티에 있어서의 처리 기능을 컴퓨터에 의해 실현하는 경우, 하드웨어 엔터티가 가져야 할 기능의 처리 내용은 프로그램에 의해 기술된다. 그리고, 이 프로그램을 컴퓨터로 실행함으로써, 상기 하드웨어 엔터티에 있어서의 처리 기능이 컴퓨터상에서 실현된다.
이 처리 내용을 기술한 프로그램은 컴퓨터로 읽어내기 가능한 기억매체에 기억해 둘 수 있다. 컴퓨터로 읽어내기 가능한 기억매체로서는, 예를 들면, 자기 기억 장치, 광디스크, 광자기 기억매체, 반도체 메모리 등 어떤 것이어도 된다. 구체적으로는, 예를 들면, 자기 기억 장치로서 하드 디스크 장치, 플렉시블 디스크, 자기 테이프 등을, 광디스크로서 DVD(Digital Versatile Disc), DVD-RAM(Random Access Memory), CD-ROM(Compact Disc Read Only Memory), CD-R(Recordable)/RW(ReWritable) 등을, 광자기 기억매체로서 MO(Magneto-Optical disc) 등을, 반도체 메모리로서 EEP-ROM(Electronically Erasable and Programmable-Read Only Memory) 등을 사용할 수 있다.
또한 이 프로그램의 유통은, 예를 들면, 그 프로그램을 기억한 DVD, CD-ROM 등의 가반형 기억매체를 판매, 양도, 대여 등 함으로써 행한다. 또한, 이 프로그램을 서버 컴퓨터의 기억 장치에 저장해 두고, 네트워크를 통하여, 서버 컴퓨터로부터 다른 컴퓨터로 그 프로그램을 전송함으로써, 이 프로그램을 유통시키는 구성으로 해도 된다.
이러한 프로그램을 실행하는 컴퓨터는, 예를 들면, 우선, 가반형 기억매체에 기억된 프로그램 또는 서버 컴퓨터로부터 전송된 프로그램을, 일단, 자기의 기억 장치에 저장한다. 그리고, 처리의 실행시, 이 컴퓨터는 자기의 기억매체에 저장된 프로그램을 읽어내고, 읽어낸 프로그램에 따른 처리를 실행한다. 또한 이 프로그램의 다른 실행 형태로서, 컴퓨터가 가반형 기억매체로부터 직접 프로그램을 읽어내고, 그 프로그램에 따른 처리를 실행하는 것으로 해도 되고, 또한, 이 컴퓨터에 서버 컴퓨터로부터 프로그램이 전송될 때마다, 차례차례, 받은 프로그램에 따른 처리를 실행하는 것으로 해도 된다. 또, 서버 컴퓨터로부터 이 컴퓨터로의 프로그램의 전송은 행하지 않고, 그 실행 지시와 결과 취득만에 의해 처리 기능을 실현하는, 소위 ASP(Application Service Provider)형의 서비스에 의해, 상기의 처리를 실행하는 구성으로 해도 된다. 또한, 본 형태에 있어서의 프로그램에는, 전자계산기에 의한 처리용에 제공하는 정보로서 프로그램에 준하는 것(컴퓨터에 대한 직접적인 지령은 아니지만 컴퓨터의 처리를 규정하는 성질을 갖는 데이터 등)을 포함하는 것으로 한다.
또한 이 형태에서는, 컴퓨터상에서 소정의 프로그램을 실행시킴으로써, 하드웨어 엔터티를 구성하는 것으로 했지만, 이것들의 처리내용의 적어도 일부를 하드웨어적으로 실현하는 것으로 해도 된다.
《보충》
본절에서는, 본 발명에 사용하할 수 있는 술어 암호의 일례인 내적을 사용한 술어 암호에 대하여 상세히 설명한다. 또한, 수식의 번호는 본절에서 다시 고쳐 붙여서 기입하고 있다. 또한 설명의 사정상, 상기의 설명에서 사용한 문언이나 기호와 동일한 문언이나 기호이더라도 의미가 상이한 경우가 있으므로 주의하기 바란다.
[정의]
우선, 본 형태에서 사용하는 용어나 기호를 정의한다.
행렬: 「행렬」이란 연산이 정의된 집합의 원소를 직사각형으로 나열한 것을 의미한다. 환의 원소를 요소로 하는 것뿐만 아니라, 군의 원소를 요소로 하는 것도 「행렬」이라고 표현한다.
(·)T: (·)T는·의 전치행렬을 나타낸다.
(·)-1: (·)-1은·의 역행열을 나타낸다.
∧: ∧는 논리적을 나타낸다.
∨: ∨는 논리합을 나타낸다.
Z: Z는 정수 집합을 나타낸다.
k: k는 세큐러티 패러미터(k∈Z, k>0)를 나타낸다.
{0,1}*: {0,1}* 는 임의 비트 길이의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}*는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}*는 위수 2의 유한체 또는 그 확대체와 동의이다.
{0,1}ζ: {0,1}ζ는 비트길이(ζ)(ζ∈Z,ζ>0)의 바이너리 계열을 나타낸다. 그 일례는 정수 0 및 1로 이루어지는 계열이다. 그러나, {0,1}ζ는 정수 0 및 1로 이루어지는 계열에 한정되지 않는다. {0,1}ζ는 위수 2의 유한체(ζ=1의 경우) 또는 그것을 ζ차 확대한 확대체(ζ>1의 경우)와 동의이다.
(+): (+)는 바이너리 계열 간의 배타적 논리합 연산자를 나타낸다. 예를 들면, 10110011(+)11100001=01010010을 충족시킨다.
Fq: Fq는 위수(q)의 유한체를 나타낸다. 위수(q)는 1 이상의 정수이며, 예를 들면, 소수나 소수의 멱승값을 위수(q)로 한다. 즉, 유한체(Fq)의 예는 근본체나 그것을 기초체로 한 확대체이다. 또한, 유한체(Fq)가 근본체일 경우의 연산은, 예를 들면, 위수(q)를 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 또한 유한체(Fq)가 확대체일 경우의 연산은, 예를 들면, 기약 다항식을 법으로 하는 잉여 연산에 의해 용이하게 구성할 수 있다. 유한체(Fq)의 구체적인 구성방법은, 예를 들면, 참고문헌 1 「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」에 개시되어 있다.
0F: 0F는 유한체(Fq)의 가법단위원을 나타낸다.
1F: 1F는 유한체(Fq)의 승법단위원을 나타낸다.
δ(i,j): δ(i,j)는 크로네커의 델타 함수를 나타낸다. i=j인 경우에 δ(i,j)=1F를 충족시키고, i≠j인 경우에 δ(i,j)=0F를 충족시킨다.
E: E는 유한체(Fq)상에서 정의된 타원 곡선을 나타낸다. E는 아핀(affine) 좌표판의 Weierstrass 방정식
y2+a1·x·y+a3·y=x3+a2·x2+a4·x+a6 …(1)
(단, a1, a2, a3, a4, a6∈Fq)를 충족시키는 x, y∈Fq로 이루어지는 점(x, y)의 집합에 무한 원점으로 불리는 특별한 점 O를 부가한 것으로 정의된다. 타원 곡선(E) 위의 임의의 2점에 대하여 타원 가산이라고 불리는 2항 연산(+) 및 타원 곡선(E) 위의 임의인 1점에 대하여 타원 역원이라 불리는 단항 연산(-)을 각각 정의할 수 있다. 또, 타원 곡선(E) 위의 유리점으로 이루어지는 유한집합이 타원 가산에 관하여 군을 이루는 것, 타원 가산을 사용하여 타원 스칼라배산이라 불리는 연산을 정의할 수 있는 것, 및 컴퓨터상에서의 타원 가산 등의 타원 연산의 구체적인 연산방법은 잘 알려져 있다(예를 들면, 참고문헌 1, 참고문헌 2 「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」, 참고문헌 3 「이안·F·블라케, 가디엘·세로씨, 나이젤·P·스마트=저, 「타원 곡선 암호」, 출판=피어슨·에듀케이션, ISBN4-89471-431-0」 등 참조).
또한 타원 곡선(E)상의 유리점으로 이루어지는 유한집합은 위수(p)(p≥1)의 부분군을 갖는다. 예를 들면, 타원 곡선(E)상의 유리점으로 이루어지는 유한집합의 요소수를 #E로 하고, p를 #E를 정제(整除)하는 큰 소수로 한 경우, 타원 곡선(E)의 p등분점으로 이루어지는 유한집합 E[p]는 타원 곡선(E) 위의 유리점으로 이루어지는 유한집합의 부분군을 구성한다. 또한, 타원 곡선(E)의 p등분점이란 타원 곡선(E) 위의 점(A) 중, 타원 곡선(E) 위에서의 타원 스칼라배산값(p·A)이 p·A=O를 충족시키는 점을 의미한다.
G1, G2, GT: G1, G2, GT는 위수(q)의 순회군을 나타낸다. 순회군(G1, G2)의 구체예는, 타원 곡선(E)의 p등분점으로 이루어지는 유한집합(E[p])이나 그 부분군이다. G1=G2이어도 되고 G1≠G2이어도 된다. 또한 순회군(GT)의 구체예는 유한체(Fq)를 기초체로 하는 확대체를 구성하는 유한집합이다. 그 일례는 유한체(Fq)의 대수폐포에 있어서의 1의 p승근으로 이루어지는 유한집합이다.
또한, 본 형태에서는, 순회군(G1, G2)상에서 정의된 연산을 가법적으로 표현하고, 순회군(GT)상에서 정의된 연산을 승법적으로 표현한다. 즉, χ∈Fq 및 Ω∈G1에 대한χ·Ω∈G1은, Ω∈G1에 대하여 순회군(G1)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G1에 대한 Ω12∈G1은 Ω1∈G1과 Ω2∈G1을 피연산자로 하여 순회군(G1)에서 정의된 연산을 행하는 것을 의미한다. 마찬가지로, χ∈Fq 및 Ω∈G2에 대한 χ·Ω∈G2는, Ω∈G2에 대하여 순회군(G2)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈G2에 대한 Ω12∈G2는, Ω1∈G2와 Ω2∈G2를 피연산자로 하여 순회군(G2)에서 정의된 연산을 행하는 것을 의미한다. 한편, χ∈Fq 및 Ω∈GT에 대한 Ωχ∈GT는, Ω∈GT에 대하여 순회군(GT)에서 정의된 연산을 χ회 시행하는 것을 의미하고, Ω1, Ω2∈GT에 대한 Ω1·Ω2∈GT는, Ω1∈GT와 Ω2∈GT를 피연산자로 하여 순회군(GT)에서 정의된 연산을 행하는 것을 의미한다.
G1 n +1: G1 n +1은 n+1(n≥1)개의 순회군(G1)의 직적을 나타낸다.
G2 n +1: G2 n +1은 n+1개의 순회군(G2)의 직적을 나타낸다.
g1, g2, gT: g1, g2, gT는 순회군(G1, G2, GT)의 생성원을 나타낸다.
V: V는 n+1개의 순회군(G1)의 직적으로 이루어지는 n+1차원의 벡터공간을 나타낸다.
V*: V*는 n+1개의 순회군(G2)의 직적으로 이루어지는 n+1차원의 벡터공간을 나타낸다.
e: e는 직적(G1 n+1)과 직적(G2 n+1)과의 직적(G1 n+1×G2 n+1)을 순회군(GT)에 그리는 비퇴화한 쌍선형 사상(bilinear map)을 계산하기 위한 함수(「쌍선형 함수」라고 부름)를 나타낸다. 쌍선형 함수(e)는 순회군(G1)의 n+1개의 원소 γL(L=1,..., n+1)(n≥1)과 순회군(G2)의 n+1개의 원소 γL*(L=1,..., n+1)을 입력으로 하고, 순회군(GT)의 1개의 원소를 출력한다.
e: G1 n +1×G2 n +1→GT …(2)
쌍선형 함수(e)는 이하의 성질을 충족시킨다.
[쌍선 형성] 모든 Γ1∈G1 n +12∈G2 n +1 및 ν,κ∈Fq에 대하여 이하의 관계를 충족시킨다.
e(ν·Γ1,κ·Γ2)=e(Γ12)ν·κ …(3)
[비퇴화성] 모든
Γ1∈G1 n +1, Γ2∈G2 n +1 …(4)
를 순회군(GT)의 단위원에 복사하는 함수는 아니다.
[계산가능성] 모든 Γ1∈G1 n +12∈G2 n +1에 대하여 e(Γ12)를 효율적으로 계산하는 알고리즘이 존재한다.
본 형태에서는, 순회군(G1)과 순회군(G2)의 직적(G1×G2)을 순회군(GT)에 복사하는 비퇴화 쌍선형 사상을 계산하기 위한 함수
Pair: G1×G2→GT …(5)
를 사용하여 쌍선형 함수(e)를 구성한다. 본 형태의 쌍선형 함수(e)는 순회군(G1)의 n+1개의 원소 γL(L=1,...,n+1)로 이루어지는 n+1차원 벡터(γ1,...,γn+1)와, 순회군(G2)의 n+1개의 원소 γL *(L=1,...,n+1)로 이루어지는 n+1차원 벡터(γ1 *,...,γn+1 *)의 입력에 대하여, 순회군(GT)의 1개의 원소
e=ΠL=1 n+1 Pair(γL, γL *) …(6)
를 출력하는 함수다.
또한, 쌍선형 함수(Pair)는 순회군(G1)의 1개의 원소와 순회군(G2)의 1개의 원소와의 세트를 입력으로 하고, 순회군(GT)의 1개의 원소를 출력하는 함수이며, 이하의 성질을 충족시킨다.
[쌍선 형성] 모든 Ω1∈G1, Ω2∈G2 및 ν,κ∈Fq에 대하여 이하의 관계를 충족시킨다.
Pair(ν·Ω1, κ·Ω2)=Pair(Ω1, Ω2)ν·κ …(7)
[비퇴화성] 모든
Ω1∈G1, Ω2∈G2 …(8)
을 순회군(GT)의 단위원에 복사하는 함수는 아니다.
[계산가능성] 모든 Ω1∈G1, Ω2∈G2에 대하여 Pair(Ω1, Ω2)를 효율적으로 계산하는 알고리즘이 존재한다.
또한, 쌍선형 함수(Pair)의 구체예는 Weil 페어링이나 Tate 페어링 등의 페어링 연산을 행하기 위한 함수이다(예를 들면, 참고문헌 4 「Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBNO-7923-9368-6, pp.61-81」 등 참조). 또, 타원곡선(E)의 종류에 따라, Tate 페어링 등의 페어링 연산을 행하기 위한 함수와 소정의 함수 phi를 조합한 변경 페어링 함수(e)(Ω1, phi(Ω2))(Ω1∈G1, Ω2∈G2)를 쌍선형 함수(Pair)로서 사용해도 된다(예를 들면, 참고문헌 2 등 참조). 또, 페어링 연산을 컴퓨터상에서 행하기 위한 알고리즘으로서는 주지의 Miller의 알고리즘(참고문헌 5 「V. S. Miller, "Short Programs for functions on Curves," 1986, 인터넷<http://crypto.stanford.edu/miller/miller.pdf>」 등이 존재한다. 또한 페어링 연산을 효율적으로 행하기 위한 타원 곡선이나 순회군의 구성방법은 잘 알려져 있다(예를 들면, 참고문헌 2, 참고문헌 6 「A. Miyaji, M. Nakabayashi, S. Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp.1234-1243, May 2001」, 참고문헌 7 「P. S. L. M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN'2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」, 참고문헌 8 「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」 등 참조).
ai(i=1,...,n+1): 순회군(G1)의 n+1개의 원소를 요소라고 하는 n+1차원의 기저벡터를 나타낸다. 기저벡터(ai)의 일례는 κ1·g1∈G1을 i차원째의 요소로 하고, 나머지의 n개의 요소를 순회군(G1)의 단위원(가법적으로 「0」으로 표현)으로 하는 n+1차원의 기저벡터이다. 이 경우, n+1차원의 기저벡터(ai)(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
Figure pct00012
여기에서, κ1은 가법단위원(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ1∈Fq의 구체예는 κ1=1F이다. 기저벡터(ai)는 직교 기저이며, 순회군(G1)의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저벡터(ai)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1차원의 기저벡터(ai)는 전술의 벡터공간(V)을 펼친다.
ai *(i=1,...,n+1): ai *는 순회군(G2)의 n+1개의 원소를 요소로 하는 n+1차원의 기저벡터를 나타낸다. 기저벡터(ai *)의 일례는, κ2·g2∈G2를 i차원째의 요소로 하고, 나머지 n개의 요소를 순회군(G2)의 단위원(가법적으로 「0」으로 표현)으로 하는 n+1차원의 기저벡터이다. 이 경우, 기저벡터(ai *)(i=1,...,n+1)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
Figure pct00013
여기에서, κ2는 가법단위원(0F) 이외의 유한체(Fq)의 원소로 이루어지는 정수이며, κ2∈Fq의 구체예는 κ2=1F이다. 기저벡터(ai *)는 직교 기저이며, 순회군(G2)의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저벡터(ai *)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1차원의 기저벡터(ai *)는 전술의 벡터공간(V*)을 펼친다.
또한, 기저벡터(ai)와 기저벡터(ai *)는 0F를 제외한 유한체(Fq)의 원소(τ=κ1·κ2)에 대하여
e(ai, aj *)=gT τ·δ(i,j) …(11)
를 충족시킨다. 즉, i=j의 경우에는, 식 (6) (7)의 관계로부터,
e(ai, aj *) = Pair(κ1·g12·g2)·Pair(0,0)·...·Pair(0,0)
= Pair(g1, g2)κ1·κ2·Pair(g1, g2)0·0·...·Pair(g1, g2)0·0
= Pair(g1, g21·κ2=gT τ
를 충족시킨다. 한편, i≠j의 경우에는, e(ai, aj *)는, Pair(κ1·g12·g2)를 포함하지 않고, Pair(κ1·g1, 0)와 Pair(0, κ2·g2)와 Pair(0, 0)과의 적으로 된다. 또한, 식 (7)의 관계로부터 Pair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0을 충족시킨다. 그 때문에, i≠j의 경우에는,
e(ai, aj *)=e(g1, g2)0=gT 0
를 충족시킨다.
특히, τ=κ1·κ2=1F인 경우 (예를 들면, κ12=1F인 경우),
e(ai, aj *)=gT δ(i,j) …(12)
를 충족시킨다. 여기에서, gT 0=1은 순회군(GT)의 단위원이며, gT 1=gT는 순회군(GT)의 생성원이다. 이 경우, 기저벡터(ai)와 기저벡터(ai *)는 쌍대 정규 직교 기저이며, 벡터공간(V)과 벡터공간(V*)은 쌍선형 사상을 구성 가능한 쌍대 벡터공간[쌍대 페어링 벡터공간(DPVS: Dual Paring Vector space)]이다.
A: A는 기저벡터(ai)(i=1,...,n+1)을 요소로 하는 n+1행 n+1열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai)(i=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 행렬(A)은,
Figure pct00014
이 된다.
A*: A*는 기저벡터(ai *)(i=1,...,n+1)를 요소로 하는 n+1행 n+1열의 행렬을 나타낸다. 예를 들면, 기저벡터(ai *)(i=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 행렬(A*)은,
Figure pct00015
가 된다.
X: X는 유한체(Fq)의 원소를 요소라고 하는 n+1행 n+1열의 행렬을 나타낸다. 행렬(X)은 기저벡터(ai)의 좌표변환에 사용된다. 행렬(X)의 i행j열(i=1,...,n+1,j=1,...,n+1)의 요소를 χi,j∈Fq로 하면, 행렬(X)은,
Figure pct00016
가 된다. 또한, 행렬(X)의 각 요소(χi,j)를 변환계수라고 부른다.
X*: X*는 행렬(X)의 역행열의 전치 행렬(X*)=(X-1)T를 나타낸다. 행렬(X*)은 기저벡터(ai *)의 좌표변환에 사용된다. 행렬(X*)의 i행j열의 요소를 χi,j *∈Fq로 하면, 행렬(X*)은,
Figure pct00017
이 된다. 또한, 행렬(X*)의 각 요소(χi,j *)를 변환계수라고 부른다.
이 경우, n+1행 n+1열의 단위행렬을 I라고 하면 X·(X*)T=I를 충족시킨다. 즉, 단위행렬
Figure pct00018
에 대하여,
Figure pct00019
을 충족시킨다. 여기에서, n+1차원 벡터
χi =(χi,1,..., χi,n+1) …(19)
χj →*=(χj,1 *,..., χj,n+1 *) …(20)
를 정의한다. 그러면, 식 (18)의 관계로부터, n+1차원 벡터 χi 와 χj →*의 내적은,
χi ·χj →*=δ(i,j) …(21)
이 된다.
bi: bi는 순회군(G1)의 n+1개의 원소를 요소로 하는 n+1차원의 기저벡터를 나타낸다. 기저벡터(bi)는 행렬(X)을 사용하여 기저벡터(ai)(i=1,...,n+1)를 좌표변환함으로써 얻어진다. 구체적으로는, 기저벡터(bi)는,
bij=1 n+1χi,j·aj …(22)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj)(j=1,...,n+1)가 식 (9)에 의해 표현되는 경우, 기저벡터(bi)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi=(χi,1·κ1·g1, χi,2·κ1·g1,...,χi,n+1·κ1·g1) …(23)
순회군(G1)의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저벡터(bi)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1차원의 기저벡터(bi)는 전술의 벡터공간(V)을 펼친다.
bi *: bi *는 순회군(G2)의 n+1개의 원소를 요소로 하는 n+1차원의 기저벡터를 나타낸다. 행렬(X*)을 사용하여 기저벡터(ai *)(i=1,...,n+1)를 좌표변환함으로써 얻어진다. 구체적으로는, 기저벡터(bi *)는,
bi *j=1 n+1χi,j *·aj * …(24)
의 연산에 의해 얻어진다. 예를 들면, 기저벡터(aj *)(j=1,...,n+1)가 식 (10)에 의해 표현되는 경우, 기저벡터(bi *)의 각 요소를 각각 열거하여 표현하면, 이하와 같이 된다.
bi *=(χi,1 *·κ2·g2, χi,2 *·κ2·g2,...,χi,n+1 *·κ2·g2) …(25)
가 된다. 순회군(G2)의 n+1개의 원소를 요소로 하는 모든 n+1차원 벡터는 n+1차원의 기저벡터(bi *)(i=1,...,n+1)의 선형합에 의해 표시된다. 즉, n+1차원의 기저벡터(bi *)는 전술의 벡터공간(V*)을 펼친다.
또한, 기저벡터(bi)와 기저벡터(bi *)는 0F를 제외한 유한체(Fq)의 원소(τ=κ1·κ2)에 대하여
e(bi, bj *)=gT τ·δ(i,j) …(26)
를 충족시킨다. 즉, 식 (6)(21)(23)(25)의 관계로부터,
Figure pct00020
를 충족시킨다. 특히, τ=κ1·κ2=1F인 경우(예를 들면,κ12=1F인 경우),
e(bi, bj *)=gT δ(i,j) …(27)
를 충족시킨다. 이 경우, 기저벡터(bi)와 기저벡터(bi*)는 쌍대 페어링 벡터공간(벡터공간(V)과 벡터공간(V*))의 쌍대 정규 직교 기저이다.
또한, 식 (26)의 관계를 충족시키는 것이라면, 식 (9)(10)에서 예시한 것 이외의 기저벡터(ai 및 ai *)나, 식 (22)(24)에서 예시한 것 이외의 기저벡터(bi 및 bi *)를 사용해도 된다.
B: B는 기저벡터(bi)(i=1,...,n+1)를 요소로 하는 n+1행 n+1열의 행렬을 나타낸다. B=X·A를 충족시킨다. 예를 들면, 기저벡터(bi)가 식 (23)에 의해 표현되는 경우, 행렬 B는,
Figure pct00021
이 된다.
B*: B*는 기저벡터(bi *)(i=1,...,n+1)를 요소라고 하는 n+1행 n+1열의 행렬을 나타낸다. B*=X*·A*를 충족시킨다. 예를 들면, 기저벡터(bi *)(i=1,...,n+1)가 식 (25)에 의해 표현되는 경우, 행렬 B*는,
Figure pct00022
으로 된다.
w: w는 유한체(Fq)의 원소를 요소로 하는 n차원 벡터를 나타낸다.
w = (w1,..., wn)∈Fq n … (30)
wμ: wμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
v: v는 유한체(Fq)의 원소를 요소로 하는 n차원 벡터를 나타낸다.
v =(v1,..., vn)∈Fq n … (31)
vμ: vμ는 n차원 벡터의 μ(μ=1,...,n)번째의 요소를 나타낸다.
충돌 곤란한 함수: 「충돌 곤란한 함수」란 충분히 큰 세큐러티 패러미터(k)에 대하여 이하의 조건을 충족시키는 함수(h), 또는, 그것으로 간주할 수 있는 함수를 나타낸다.
Pr[A(h)=(x,y)|h(x)=h(y)∧x≠y]<ε(k) …(32)
단, Pr[·]은 사상[·]의 확률이며, A(h)는 함수(h)에 대하여 h(x)=h(y)를 충족시키는 값(x,y)(x≠y)을 산출하는 확률적 다항식 시간 알고리즘이며, ε(k)는 세큐러티 패러미터(k)에 대한 다항식이다. 충돌 곤란한 함수의 예는, 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수이다.
단사 함수: 「단사 함수」란 값역에 속하는 원소가 어느 것이나 그 정의역의 단 하나의 원소의 상으로서 표시되는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다. 단사 함수의 예는, 참고문헌 1에 개시된 「KDF(Key Derivation Function)」 등의 해쉬 함수이다.
유사적인 랜덤 함수: 「유사적인 랜덤 함수」란 임의의 확률적 다항식 시간 알고리즘이 집합(Φζ)과 그 부분집합(φζ)을 구별할 수 없는 경우에 있어서의, 당해 부분집합(φζ)에 속하는 함수, 또는, 그것으로 간주할 수 있는 함수를 나타낸다. 단, 집합(Φζ)은 집합({0,1}ζ)의 원소를 집합({0,1}ζ)의 원소로 복사하는 모든 함수의 집합이다. 유사적인 랜덤 함수의 예는, 상술한 바와 같은 해쉬 함수이다.
H1: H1은 2개의 바이너리 계열(ω1, ω2)∈{0,1}k×{0,1}*를 입력으로 하고, 유한체(Fq)의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 충돌 곤란한 함수를 나타낸다.
H1: {0,1}k×{0,1}*→Fq×Fq …(33)
이러한 함수(H1)의 예는, ω1과 ω2의 비트 연결값(ω1||ω2)을 입력으로 하고, 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수와, 「바이너리 계열로부터 정수로의 변환 함수(Octet string/integer conversion)」와, 「바이너리 계열로부터 유한체의 원소로의 변환 함수(Octet string and integer/finite field conversion)」와의 연산을 행하고, 유한체(Fq)의 2개의 원소(ψ12)∈Fq×Fq를 출력하는 함수이다. 또한, 함수(H1)은 유사적인 랜덤 함수인 것이 바람직하다.
H2: H2는 순회군(GT)의 원소와 바이너리 계열(ξ,ω2)∈GT×{0,1}*를 입력으로 하고, 유한체(Fq)의 1개의 원소(ψ∈Fq)를 출력하는 충돌 곤란한 함수를 나타낸다.
H2: GT×{0,1}*→Fq …(34)
이러한 함수(H2)의 예는, 순회군(GT)의 원소(ξ∈GT)와 바이너리 계열(ω2∈{0,1}*)을 입력으로 하고, 순회군(GT)의 원소(ξ∈GT)를 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환 함수(Octet string and integer/finite field conversion)」로 입력하여 바이너리 계열을 구하고, 그 바이너리 계열과 바이너리 계열(ω2∈{0,1}*)과의 비트 연결값에 대하여 참고문헌 1에 개시된 「cryptographic hash function」 등의 해쉬 함수 연산을 행하고, 또한 「바이너리 계열로부터 유한체의 원소로의 변환 함수(Octet string and integer/finite field conversion)」의 연산을 행하고, 유한체(Fq)의 1개의 원소(ψ∈Fq)를 출력하는 함수이다. 또한, 안전성의 관점에서, 함수(H2)는 유사적인 랜덤 함수인 것이 보다 바람직하다.
R: R은 1개의 순회군(GT)의 원소(ξ∈GT)를 입력으로 하고, 1개의 바이너리 계열(ω∈{0,1}k)을 출력하는 단사 함수를 나타낸다.
R: GT→{0,1}k … (35)
이러한 단사 함수(R)의 예는 순회군(GT)의 원소(ξ∈GT)를 입력으로 하고, 참고문헌 1에 개시된 「유한체의 원소로부터 바이너리 계열로의 변환 함수(Octet string and integer/finite field conversion)」와, 참고문헌 1에 개시된 「KDF(Key Derivation Function)」 등의 해쉬 함수와의 연산을 행하고, 1개의 바이너리 계열(ω∈{0,1}k)을 출력하는 함수이다. 또한, 안전성의 관점에서, 함수(R)는 충돌 곤란한 함수인 것이 바람직하고, 유사적인 랜덤 함수인 것이 보다 바람직하다.
Enc: Enc는 공통키 암호 방식(cipher system)의 암호화 처리를 나타내는 공통키 암호 함수를 나타낸다. 공통키 암호 방식(cipher system)의 구체예는 카멜리아(Camellia)나 AES 등이다.
Enck(M): Enck(M)은 공통키(K)를 사용하고, 공통키 암호 함수(Enc)를 따라 평문(M)을 암호화하여 얻어진 암호문을 나타낸다.
Dec: Dec는 공통키 암호 방식(cipher system)의 복호 처리를 나타내는 공통키 복호 함수를 나타낸다.
Deck(C): Deck(C)는, 공통키(K)를 사용하고, 공통키 복호 함수(Dec)를 따라 암호문(C)을 복호하여 얻어진 복호 결과를 나타낸다.
[내적 술어 암호]
다음에, 내적 술어 암호의 기본적인 구성에 대하여 설명한다.
<술어 암호>
술어 암호(「함수 암호」라고 부르는 경우도 있음)란 「속성 정보」라고 불리는 정보와 「술어 정보」라고 불리는 정보와의 조합이 소정의 논리식을 「참」으로 하는 경우에 암호문을 복호할 수 있는 방식이다. 「속성 정보」와 「술어 정보」의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 종래의 술어 암호의 구성은, 예를 들면, 참고문헌 9 「"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology」 등에 개시되어 있다.
< 내적 술어 암호>
내적 술어 암호는, 속성 정보나 술어 정보로서 벡터를 사용하고, 그들 내적이 0이 되는 경우에 암호문이 복호되는 술어 암호이다. 내적 술어 암호에서는 내적이 0이 되는 것과 논리식이 「참」이 되는 것이 등가이다.
[논리식과 다항식과의 관계]
내적 술어 암호에서는, 논리합이나 논리적으로 이루어지는 논리식을 다항식으로 표현한다.
우선, 「x가 η1이다」라고 하는 명제 1과 「x가 η2이다」라고 하는 명제 2의 논리합 (x=η1)∨(x=η2)를
(x-η1)·(x-η2) …(36)
이라고 하는 다항식으로 표현한다. 그러면, 각 진리값과 식 (36)의 함수값과의 관계는 이하와 같이 된다.
Figure pct00023
표 1로부터 알 수 있는 바와 같이, 논리합 (x=η1)∨(x=η2)이 참인 경우, 식 (36)의 함수값은 0이 되고, 논리합 (x=η1)∨(x=η2)이 거짓인 경우, 식 (36)의 함수값은 0 이외의 값이 된다. 즉, 논리합(x=η1)∨(x=η2)이 참인 것과, 식 (36)의 함수값이 0이 되는 것과는 등가이다. 따라서, 논리합은 식 (36)으로 표현할 수 있다.
또한 「x가 η1이다」라고 하는 명제 1과 「x가 η2이다」라고 하는 명제 2와의 논리적 (x=η1)∧(x=η2)을
ι1·(x-η1)+ι2·(x-η2) …(37)
라고 하는 다항식으로 표현한다. 단, ι1 및 ι2는 난수이다. 그러면, 진리값과 식 (37)의 함수값은 이하의 관계가 된다.
Figure pct00024
표 2로부터 알 수 있는 바와 같이, 논리적 (x=η1)∧(x=η2)이 참인 경우, 식 (37)의 함수값은 0이 되고, 논리적 (x=η1)∧(x=η2)이 거짓인 경우, 식 (37)의 함수값은 0 이외의 값으로 된다. 즉, 논리적 (x=η1)∧(x=η2)이 참인 것과, 식 (37)의 함수값이 0이 되는 것과는 등가이다. 따라서, 논리적은 식 (37)로 표현할 수 있다.
이상과 같이, 식 (36)과 식 (37)을 사용함으로써 논리합이나 논리적으로 이루어지는 논리식을 다항식(f(x))로 표현할 수 있다. 예를 들면, 논리식 {(x=η1)∨(x=η2)∨(x=η3)}∧(x=η4)∧(x=η5)는, 다항식
f(x)=ι1·{(x-η1)·(x-η2)·(x-η3)}+ι2·(x-η4)+ι3·(x-η5)…(38)
로 표현할 수 있다.
또한, 식 (36)에서는, 1개의 부정원(x)을 사용하여 논리합을 표현했지만, 복수의 부정원을 사용하여 논리합을 표현하는 것도 가능하다. 예를 들면, 2개의 부정원 x0 및 x1을 사용하여, 「x0이 η0이다」라고 하는 명제 1과 「x1이 η1이다」라고 하는 명제 2와의 논리합 (x00)∨(x11)을
(x00)·(x11)
이라고 하는 다항식으로 표현하는 것도 가능하고, 3개 이상의 부정원을 사용하여, 논리합을 다항식으로 표현하는 것도 가능하다.
또, 식 (37)에서는, 1개의 부정원(x)을 사용하여 논리적을 표현했지만, 복수의 부정원을 사용하여 논리적을 표현하는 것도 가능하다. 예를 들면, 또한 「x0이 η0이다」라고 하는 명제 1과 「x1이 η1이다」라고 하는 명제 2와의 논리적 (x00)∧(x11)을
ι0·(x00)+ι1·(x11)
이라고 하는 다항식으로 표현하는 것도 가능하고, 3개 이상의 부정원을 사용하여, 논리적을 다항식으로 표현하는 것도 가능하다.
논리합 및/또는 논리적을 포함하는 논리식을 H(H≥1) 종류의 부정원(x0,...,xH -1)을 사용하여 표현한 다항식을 f(x0,...,xH -1)으로 표현한다. 또한 각 부정원(x0,...,xH-1)에 대응하는 명제를 「xh가 ηh이다」로 한다. 단, ηh(h=0,...H-1)는 명제마다 정해지는 정수이다. 이 경우, 당해 논리식을 나타내는 다항식(f)(x0,...,xH -1)은, 부정원(xh)와 정수(ηh)와의 차를 취하는 다항식에 의해 당해 부정원(xh)이 당해 정수(ηh)라고 하는 명제를 표현하고, 명제를 각각 표현하는 다항식의 적에 의해 당해 명제의 논리합을 표현하고, 명제 또는 명제의 논리합을 각각 표현하는 다항식의 선형합에 의해 당해 명제 또는 명제의 논리합의 논리적을 표현하고, 그것에 의해 논리식을 표현한 다항식으로 된다. 예를 들면, 5개의 부정원(x0,...,x4)을 사용하여, 논리식 {(x00)∨(x11)∨(x22)}∧(x33)∧(x44)를 다항식으로 표현하면,
f(x0,...,x4)
0·{(x00)·(x11)·(x22)}+ι1·(x33)+ι2·(x44)
가 된다.
[다항식과 내적의 관계]
논리식을 나타내는 다항식(f)(x0,...,xH -1)은 2개의 n차원 벡터의 내적으로 표현할 수 있다. 즉, 다항식(f)(x0,...,xH -1)은 당해 다항식(f)(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터
v=(v1,..., vn)
와, 당해 다항식(f)(x0,...,xH -1)의 각 항의 계수성분을 각 요소로 하는 벡터
w =(w1,..., wn)
와의 내적
f(x0,...,xH -1)=w·v
와 동일하다. 즉, 논리식을 나타내는 다항식(f)(x0,...,xH -1)이 0인지 아니지와, 다항식(f)(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터(v)와, 다항식(f)(x0,...,xH-1)의 각 항의 계수 성분을 각 요소로 하는 벡터(w)와의 내적이 0인지의 아닌지는 등가이다.
f(x0,...,xH -1)=0 ←→ w·v=0
예를 들면, 1개의 부정원(x)으로 표현된 다항식 f(x)=θ0·x01·x+...+θn-1·xn-1은 2개의 n차원 벡터
w =(w1,..., wn)=(θ0,..., θn-1) …(39)
v =(v1,..., vn)=(x0,...,xn -1) …(40)
의 내적
f(x)=w·v … (41)
로 표현할 수 있다. 즉, 논리식을 나타내는 다항식(f(x))이 0인지 아닌지는, 식 (41)의 내적이 0인지의 아닌지와 등가이다.
f(x)=0 ←→ w·v =0 …(42)
또한 다항식(f)(x0,...,xH -1)의 각 항의 부정원 성분을 각 요소로 하는 벡터를
w =(w1,..., wn)
으로 하고, 다항식(f)(x0,...,xH -1)의 각 항의 계수 성분을 각 요소로 하는 벡터
v =(v1,..., vn)
으로 해도, 논리식을 나타내는 다항식(f)(x0,...,xH -1)이 0인지 아닌지와, 벡터(w)와 벡터(v)의 내적이 0인지 아닌지는 등가이다.
예를 들면, 식 (39)(40) 대신에
w =(w1,..., wn)=(x0,...,xn) …(43)
v =(v1,..., vn)=(θ1,..., θn-1) …(44)
로 해도, 논리식을 나타내는 다항식(f(x))이 0인지 아닌지와, 식 (41)의 내적이 0인지 아닌지는 등가이다.
내적 술어 암호에서는, 벡터(v)=(v1,..., vn) 및 w=(w1,..., wn)의 어느 일방을 속성 정보로 하고, 타방을 술어 정보로 하고, 속성 정보와 술어 정보의 일방이 암호문에 메워 넣어지고, 타방이 키 정보에 메워 넣어진다. 예를 들면, n차원 벡터(θ0,...,θn-1)가 술어 정보가 되고, n차원 벡터(x0,...,xn -1)가 속성 정보가 되고, 속성 정보와 술어 정보의 일방이 암호문에 메워넣어지고, 타방이 키 정보에 메워 넣어진다.
또한, 이하에서는, 키 정보에 메워 넣어지는 n차원 벡터를 w=(w1,..., wn)으로 하고, 암호문에 메워 넣어지는 n차원 벡터를 v=(v1,..., vn)으로 한다. 예를 들면,
술어 정보: w=(w1,..., wn)=(θ0,...,θn-1)
속성 정보: v=(v1,..., vn)=(x0,...,xn -1)
이거나,
술어 정보: v=(v1,..., vn)=(θ0,...,θn-1)
속성 정보: w=(w1,..., wn)=(x0,...,xn -1)
이다.
[내적 술어 암호의 기본 구성]
이하에서는, 내적 술어 암호를 사용하여 키 캡슐화 메커니즘(KEM)(Key Encapsulation Mechanisms)을 구성하는 경우의 기본 구성을 예시한다. 이 구성은 Setup(1k), GenKey(MSK, w), Enc(PA, v), Dec(SKw, C2)를 포함한다.
《Setup(1k): 셋업》
- 입력: 세큐러티 패러미터(k)
- 출력: 매스터 키 정보(MSK), 공개 패러미터(PK)
Setup(1k)의 1예에서는, 우선, 세큐러티 패러미터(k)를 n으로 하고, n+1차원의 기저벡터(ai)(i=1,...,n+1)을 요소호 하는 n+1행 n+1열의 행렬(A)과, 기저벡터(ai *)(i=1,...,n+1)를 요소로 하는 n+1행 n+1열의 행렬(A*)과, 좌표변환을 위한 n+1행 n+1열의 행렬(X, X*)이 선택된다. 다음에, 식 (22)에 따라 좌표변환된 n+1차원의 기저벡터(bi)(i=1,...,n+1)가 산출되고, 식 (24)에 따라 좌표변환된 n+1차원의 기저벡터(bi *)(i=1,...,n+1)가 산출된다. 그리고, 기저벡터(bi *)(i=1,...,n+1)를 요소로 하는 n+1행 n+1열의 행렬(B*)이 매스터 키 정보(MSK)로서 출력되고, 벡터공간(V, V*), 기저벡터(bi)(i=1,...,n+1)를 요소로 하는 n+1행 n+1열의 행렬(B), 세큐러티 패러미터(k), 유한체(Fq), 타원 곡선(E), 순회군(G1, G2, GT), 생성원(g1, g2, gT), 쌍선형 함수(e) 등이 공개 패러미터(PK)로서 출력된다.
《GenKey(MSK, w): 키 정보 생성》
- 입력: 매스터 키 정보(MSK), 벡터(w)
- 출력: 벡터(w)에 대응하는 키 정보(D*)
GenKey(MSK, w)의 1예에서는, 우선, 유한체(Fq)로부터 원소(α∈Fq)가 선택된다. 그리고, 매스터 키 정보(MSK)인 행렬(B*)을 사용하여, 벡터(w)에 대응하는 키 정보
D*=α·(Σμ=1 nwμ·bμ *)+bn +1 *∈G2 n +1 …(45)
가 생성되고, 출력된다. 또한, 순회군(G2) 위에서의 이산 대수 문제의 구해가 곤란한 경우, 키 정보(D*)로부터 wμ·bμ *나 bn +1 *의 성분을 분리 추출하는 것은 곤란하다.
《Enc(PA, v): 암호화》
- 입력: 공개 패러미터(PK), 벡터(v)
- 출력: 암호문(C2), 공통키(K)
Enc(PA, v)의 1예에서는, 우선, 공통키(K)와 유한체(Fq)의 원소인 난수(υ1)가 생성된다. 그리고, 행렬(B) 등의 공개 패러미터(PK)와, 공통키(K)를 포함하는 값에 대응하는 유한체(Fq)의 원소(υ2)와, 벡터(v)와, 난수(υ1)를 사용하고, 암호문
C21·(Σμ=1 nvμ·bμ)+υ2·bn +1∈G1 n +1 …(46)
이 생성된다. 그리고, 암호문(C2)과 공통키(K)가 출력된다. 공통키(K)의 일례는 K=gT τ·υ2∈GT이다. 여기에서, 첨자의 υ2는 υ2를 의미한다. 또한 상기한 바와 같이τ의 일례는 τ=1F이다. 또한, 순회군(G1)상에서의 이산 대수 문제의 구해가 곤란한 경우, 암호문(C2)으로부터 vμ·bμ나 υ2·bn +1의 성분을 분리 추출하는 것은 곤란하다.
《Dec(SKw, C2): 복호·키 공유》
- 입력: 벡터(w)에 대응하는 키 정보(D1 *), 암호문(C2)
- 출력:공통키(K)
Dec(SKw, C2)의 1예에서는, 우선, 암호문(C2)과 키 정보(D1 *)가 식 (2)의 쌍선형 함수(e)에 입력된다. 그러면, 식 (3)(26)의 성질로부터,
Figure pct00025
을 충족시킨다.
여기에서, 내적 w·v=0이면, 식 (47)은,
Figure pct00026
로 변형할 수 있다. 이 결과로부터 공통키(K)가 생성되어 출력된다. 공통키(K)의 일례는 K=gT τ·υ2∈GT이다.
여기에서는 n+1차원의 기저벡터를 사용하여 알고리즘을 구성하는 예를 게시했지만, 차원은 n+1에 한정되지 않고, Ξ을 2 이상의 소정의 정수로 하여 n+Ξ차원의 기저벡터(bi *)(i=1,...,n+Ξ)를 사용하여 알고리즘을 구성해도 된다. 이 때, 예를 들면, 식 (45) 대신 식 (49)를, 식 (46) 대신에 식 (50)을 사용할 수 있다. 여기에서 υι은 정수나 변수(난수 등) 등이다.
D*=α·(Σμ=1 nwμ·bμ *)+Σι=n+1 n+Ξυι·bι *∈G2 n …(49)
C21·(Σμ=1 nvμ·bμ)+Σι=2 Ξ+1υι·bι+n-1∈G1 n …(50)
또한, 식 (45)는,
D*=α·(Σμ=1 nwμ·bμ *)+υn+1·bn +1 *∈G2 n +1
이어도 된다. 또한, 입력 정보를 빠꿔 넣고, 즉, 식 (45)에서 w를 v로 치환하고 식 (46)에서 v를 w로 치환해도 된다.
이상으로 《보충》의 설명을 끝난다.
또한, 도면에 기재한 성명 등의 정보는 가공의 것이며, 실제의 인물과는 전혀 관계없다.
<총괄>
제 1 관점에서 본 발명을 총괄하면 이하와 같다.
[아이템 1]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는,
암호 시스템.
[아이템 2]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 3]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는,
암호 시스템.
[아이템 4]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 5]
아이템 1 또는 아이템 2에 기재된 암호 시스템에 있어서,
상기 암호화 장치의 상기 암호화부는, 상기 공통키로 평문를 암호화한 암호문도 구하고,
상기 복호 장치의 상기 복호부는, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는,
암호 시스템.
[아이템6]
아이템 1 내지 아이템 5 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보는 기억매체에 기억되어 있고,
상기 복호 장치는, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 기억매체로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 7]
아이템 1 또는 아이템 3에 기재된 암호 시스템에 있어서,
상기 키 생성 장치가 사용하는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보는 상기 복호 장치로부터 취득한 정보인,
암호 시스템.
[아이템 8]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 암호 시스템은, 하나 또는 복수의 유저 정보 관리 장치를 더 포함하고,
각 상기 유저 정보 관리 장치는, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억부를 포함하고,
상기 키 생성 장치는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 9]
아이템 1 내지 아이템 8 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은, 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 더 포함하고,
각 상기 변환규칙 정보 페어 관리 장치는 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 포함하고,
상기 암호화 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하고,
상기 복호 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하는,
암호 시스템.
[아이템 10]
아이템 1 내지 아이템 8 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
각 상기 키 생성 장치는, 당해 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 암호화 장치는, 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 복호 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하는,
암호 시스템.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 술어용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 술어용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 시스템.
[아이템 12]
아이템 1 내지 아이템 11 중 어느 하나에 기재된 암호 시스템에 있어서,
대수구조(K)를 유한환 또는 유한체로 하고,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 술어 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호부의 상기 복호 처리에서는, 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 술어 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보와의 표준 내적의 결과에 의존하는 연산이 행해지는,
암호 시스템.
[아이템 13]
아이템 12에 기재된 암호 시스템에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화부는, 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성부는, 상기 비밀키의 원소에 대하여 상기 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은, 쌍선 형성을 갖고, 상기 연산의 결과가, 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 술어 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 시스템.
[아이템 14]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 15]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 16]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 17]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 18]
아이템 14 또는 아이템 15에 기재된 암호 통신 방법에 있어서,
상기 암호화 스텝은, 상기 암호화부가 상기 공통키로 평문를 암호화한 암호문도 구하는 암호문 생성 스텝을 포함하고,
상기 복호 스텝은, 상기 복호부가, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리를 행하는 제 2 복호 스텝을 포함하는,
암호 통신 방법.
[아이템 19]
아이템 14 내지 아이템 18 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 취득부가, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억매체로부터, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 취득하는 취득 스텝
을 갖는 암호 통신 방법.
[아이템 20]
아이템 14 또는 아이템 16에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 송신부가 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 키 생성 장치에 송신하는 유저 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 수신하는 유저 정보 수신 스텝
을 갖는 암호 통신 방법.
[아이템 21]
아이템 14 내지 아이템 18 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 암호 시스템은, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억부를 구비하는, 하나 또는 복수의 유저 정보 관리 장치를 포함하고 있고,
상기 키 생성 장치의 유저 정보 취득부가 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득 스텝
을 갖는 암호 통신 방법.
[아이템 22]
아이템 14 내지 아이템 21의 어느 하나에 기재된 암호 통신 방법에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은, 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 구비하는, 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 포함하고 있고,
상기 암호화 장치의 변환규칙 정보 페어 취득부가, 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝과,
상기 복호 장치의 변환규칙 정보 페어 취득부가, 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝
을 갖는 암호 통신 방법.
[아이템 23]
아이템 14 내지 아이템 22 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 술어용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 술어용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 통신 방법.
[아이템 24]
아이템 14 내지 아이템 23 중 어느 하나에 기재된 암호 통신 방법에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 술어 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호 스텝에서는, 상기 복호부가 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 술어 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보와의 표준 내적의 결과에 의존하는 연산을 행하는,
암호 통신 방법.
[아이템 25]
아이템 24에 기재된 암호 통신 방법에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화 스텝에서는, 상기 암호화부가, 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성 스텝에서는, 상기 키 생성부가, 상기 비밀키의 원소에 대하여 상기 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은, 쌍선 형성을 갖고, 상기 연산의 결과가, 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 술어 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 통신 방법.
[아이템 26]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부
를 포함하는 암호화 장치.
[아이템 27]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부
를 포함하는 암호화 장치.
[아이템 28]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부
를 포함하는 키 생성 장치.
[아이템 29]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터 생성된 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부
를 포함하는 키 생성 장치.
[아이템 30]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부
를 포함하는 복호 장치.
[아이템 31]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부
를 포함하는 복호 장치.
[아이템 32]
아이템 26 또는 아이템 27에 기재된 암호화 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 33]
아이템 28 또는 아이템 29에 기재된 키 생성 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 34]
아이템 30 또는 아이템 31에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 35]
아이템 32에 기재된 프로그램, 아이템 33에 기재된 프로그램, 아이템 34에 기재된 프로그램 중 적어도 어느 하나를 저장한 컴퓨터 독취 가능한 기억매체.
제 2 관점에서 본 발명을 총괄하면, 이하와 같다. 또한, 아이템 번호를 리셋하고, 1부터 차례로 아이템 번호를 할당한다.
[아이템 1]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가, 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 2]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 제 1 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 제 2 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝,
을 갖는 암호 통신 방법.
[아이템 3]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보 중 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
을 갖는 암호 통신 방법.
[아이템 4]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
상기 제 1 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
상기 제 2 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝,
을 갖는 암호 통신 방법.
[아이템 5]
아이템 1 또는 아이템 2에 기재된 암호 통신 방법에 있어서,
상기 암호화 스텝은 상기 암호화부가 상기 공통키로 평문를 암호화한 암호문도 구하는 암호문 생성 스텝을 포함하고,
상기 복호 스텝은, 상기 복호부가 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리를 행하는 제 2 복호 스텝을 포함하는,
암호 통신 방법.
[아이템 6]
아이템 1 내지 아이템 5 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 취득부가, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억매체로부터, 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 취득하는 취득 스텝
을 갖는 암호 통신 방법.
[아이템 7]
아이템 1 또는 아이템 3에 기재된 암호 통신 방법에 있어서,
상기 복호 장치의 송신부가 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 키 생성 장치에 송신하는 유저 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 수신하는 유저 정보 수신 스텝
을 갖는 암호 통신 방법.
[아이템 8]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 암호 시스템은, 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억부를 구비하는, 하나 또는 복수의 유저 정보 관리 장치를 포함하고 있고,
상기 키 생성 장치의 유저 정보 취득부가 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득 스텝
을 갖는 암호 통신 방법.
[아이템 9]
아이템 1 내지 아이템 8의 어느 하나에 기재된 암호 통신 방법에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은, 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 구비하는, 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 포함하고 있고,
상기 암호화 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝과,
상기 복호 장치의 변환규칙 정보 페어 취득부가 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득 스텝
을 갖는 암호 통신 방법.
[아이템 10]
아이템 1 내지 아이템 9 중 어느 하나에 기재된 암호 통신 방법에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 술어용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 술어용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 통신 방법.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 통신 방법에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 술어 정보는 상기 K의 원소를 성분으로 하는 벡터이며,
상기 복호 스텝에서는, 상기 복호부가 상기 암호 정보와 상기 복호키를 입력으로 하고, 상기 제 1 술어 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보와의 표준 내적의 결과에 의존하는 연산을 행하는,
암호 통신 방법.
[아이템 12]
아이템 11에 기재된 암호 통신 방법에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화 스텝에서는, 상기 암호화부가 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성 스텝에서는, 상기 키 생성부가 상기 비밀키의 원소에 대하여 상기 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은 쌍선 형성을 갖고, 상기 연산의 결과가 쌍선 형성에 기초하여 상기 암호 정보와 상기 복호키로부터 취출된 상기 제 1 술어 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 통신 방법.
[아이템 13]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하는,
암호 시스템.
[아이템 14]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 15]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하는,
암호 시스템.
[아이템 16]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부를 포함하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 17]
아이템 13 또는 아이템 14에 기재된 암호 시스템에 있어서,
상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문를 암호화한 암호문도 구하고,
상기 복호 장치의 상기 복호부는, 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는,
암호 시스템.
[아이템 18]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부
를 포함하는 복호 장치.
[아이템 19]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부와,
상기 암호 정보를 당해 복호 장치 이외의 하나 이상의 복호 장치에 전송하는 전송부
를 포함하는 복호 장치.
[아이템 20]
아이템 18 또는 아이템 19에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 21]
아이템 20에 기재된 프로그램을 저장한 컴퓨터 독취 가능한 기억매체.
제 3 관점에서 본 발명을 총괄하면, 이하와 같다. 또한, 아이템 번호를 리셋하여, 1부터 차례로 아이템 번호를 할당한다.
[아이템 1]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는,
암호 시스템.
[아이템 2]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 3]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 키 생성 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
상기 복호 장치는,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는,
암호 시스템.
[아이템 4]
술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치는,
상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
상기 콘텐츠 서버 장치는,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
상기 복호 장치는,
상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하고,
상기 키 생성 장치는,
상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는,
암호 시스템.
[아이템 5]
아이템 1 내지 아이템 4 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보는 기억매체에 기억되어 있고,
상기 복호 장치는 당해 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 기억매체로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 6]
아이템 1 또는 아이템 3에 기재된 암호 시스템에 있어서,
상기 키 생성 장치가 사용하는, 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보는 상기 복호 장치로부터 취득한 정보인,
암호 시스템.
[아이템 7]
아이템 1 내지 아이템 6 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 암호 시스템은 하나 또는 복수의 유저 정보 관리 장치를 더 포함하고,
각 상기 유저 정보 관리 장치는 상기 이용자에 대응하는 상기 속성 지정 정보 및/또는 상기 술어 지정 정보를 기억하는 기억부를 포함하고,
상기 키 생성 장치는 상기 복호 장치의 이용자에 대응하는 상기 속성 지정 정보 또는 상기 술어 지정 정보를 상기 유저 정보 관리 장치로부터 취득하는 유저 정보 취득부를 포함하는,
암호 시스템.
[아이템 8]
아이템 1 내지 아이템 7 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
상기 암호 시스템은 하나 또는 복수의 변환규칙 정보 페어 관리 장치를 더 포함하고,
각 상기 변환규칙 정보 페어 관리 장치는 각 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 포함하고,
상기 암호화 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하고,
상기 복호 장치는 상기 변환규칙 정보 페어 관리 장치로부터 상기 변환규칙 정보 페어를 취득하는 변환규칙 정보 페어 취득부를 포함하는,
암호 시스템.
[아이템 9]
아이템 1 내지 아이템 7 중 어느 하나에 기재된 암호 시스템에 있어서,
각 상기 키 생성 장치에 대하여 하나 또는 복수의 상기 변환규칙 정보 페어가 미리 정해져 있고,
각 상기 키 생성 장치는 당해 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 암호화 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하고,
각 상기 복호 장치는 적어도 하나 이상의 상기 키 생성 장치에 대응하는 각 상기 변환규칙 정보 페어를 기억하는 기억부를 더 포함하는,
암호 시스템.
[아이템 10]
아이템 1 내지 아이템 9 중 어느 하나에 기재된 암호 시스템에 있어서,
상기 폴리시 정보의 특정 대상이 상기 속성용 변환규칙 정보만, 또는, 상기 술어용 변환규칙 정보만, 또는, 상기 속성용 변환규칙 정보 및 상기 술어용 변환규칙 정보인 것이 상기 키 생성 장치마다 미리 정해져 있는,
암호 시스템.
[아이템 11]
아이템 1 내지 아이템 10 중 어느 하나에 기재된 암호 시스템에 있어서,
대수구조(K)를 유한환 또는 유한체로 하여,
상기 제 1, 제 2 속성 정보 및 상기 제 1, 제 2 술어 정보는 상기 K의 원소를 성분으로 하는 벡터이고,
상기 복호부의 상기 복호 처리에서는, 상기 제 1 술어 정보와 상기 제 2 속성 정보와의 표준 내적 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보와의 표준 내적의 결과에 의존하는 연산이 행해지는,
암호 시스템.
[아이템 12]
아이템 11에 기재된 암호 시스템에 있어서,
상기 공개키는 K상의 가군(V)의 원소의 집합이고,
상기 비밀키는 상기 가군(V)의 쌍대가군(V*)의 원소의 집합이고,
상기 복호키는 상기 쌍대가군(V*)의 원소이며,
상기 암호화부는 상기 공개키의 원소에 대하여 상기 제 1 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 공개키의 원소에 대하여 상기 제 1 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 암호 정보를 구하고,
상기 키 생성부는, 상기 비밀키의 원소에 대하여 상기 제 2 술어 정보의 성분을 계수로 하는 스칼라배를 행하는 연산 또는 상기 비밀키의 원소에 대하여 상기 제 2 속성 정보의 성분을 계수로 하는 스칼라배를 행하는 연산을 포함하는 연산을 행함으로써 상기 복호키를 구하고,
상기 복호부의 상기 복호 처리에 사용되는 상기 연산은 쌍선 형성을 갖고, 상기 연산의 결과가 쌍선 형성에 기초하여 상기 암호 정보 또는 상기 암호화 콘텐츠와 상기 복호키로부터 취출된 상기 제 1 술어 정보와 상기 제 2 속성 정보 또는 상기 제 1 속성 정보와 상기 제 2 술어 정보의 표준 내적의 결과에 의존하도록 구성되어 있는,
암호 시스템.
[아이템 13]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보와 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 14]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 15]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 16]
적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝
을 갖는 암호 통신 방법.
[아이템 17]
적어도, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠와 상기 암호 정보를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는,
복호 장치.
[아이템 18]
적어도, 술어 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
브라우저부와 중계부를 포함하고,
상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는,
복호 장치.
[아이템 19]
적어도, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부
를 포함하는 콘텐츠 서버 장치.
[아이템 20]
적어도, 술어 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부
를 포함하는 콘텐츠 서버 장치.
[아이템 21]
아이템 17 또는 아이템 18에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 22]
아이템 19 또는 아이템 20에 기재된 콘텐츠 서버 장치로서 컴퓨터를 기능시키기 위한 프로그램.
[아이템 23]
아이템 21에 기재된 프로그램 및/또는 아이템 22에 기재된 프로그램을 저장한 컴퓨터 독취 가능한 기억매체.

Claims (39)

  1. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 암호 시스템.
  2. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  3. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 암호 시스템.
  4. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  5. 제 1 항에 있어서,
    상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문를 암호화한 암호문도 구하고,
    상기 복호 장치의 상기 복호부는 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는 것을 특징으로 하는 암호 시스템.
  6. 제 2 항에 있어서,
    상기 암호화 장치의 상기 암호화부는 상기 공통키로 평문를 암호화한 암호문도 구하고,
    상기 복호 장치의 상기 복호부는 상기 복호 처리에서 얻어진 상기 공통키를 사용하는 상기 암호문의 제 2 복호 처리, 또는, 상기 복호 처리에서 얻어진 상기 공통키의 생성에 사용하는 상기 정보로부터 생성된 공통키를 사용하는 상기 암호문의 제 2 복호 처리도 행하는 것을 특징으로 하는 암호 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 암호 시스템은 복수의 상기 복호 장치를 포함하고,
    복수의 상기 복호 장치 중 적어도 하나의 상기 복호 장치는 당해 복호 장치 이외의 하나 이상의 복호 장치에 상기 암호 정보를 전송하는 전송부를 더 포함하는 것을 특징으로 하는 암호 시스템.
  8. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 것을 특징으로 하는 암호 시스템.
  9. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  10. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 키 생성 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하고,
    상기 복호 장치는,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 것을 특징으로 하는 암호 시스템.
  11. 술어 암호를 사용하는 암호 시스템으로서, 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치는,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화부를 포함하고,
    상기 콘텐츠 서버 장치는,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하고,
    상기 복호 장치는,
    상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와, 브라우저부와, 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 키 생성 장치로부터 보내진 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하고,
    상기 키 생성 장치는,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 암호 시스템.
  12. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  13. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  14. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  15. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 복호 장치의 복호부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  16. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가, 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  17. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 제 1 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 제 2 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
    상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  18. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  19. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 복수의 복호 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호 정보를 제 1 복호 장치에 송신하는 암호 정보 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 암호화 장치로부터 상기 암호 정보를 수신하는 암호 정보 수신 스텝과,
    상기 제 1 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 1 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 제 1 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 1 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 1 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 1 복호키를 상기 제 1 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 1 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 1 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 1 복호 장치의 복호부가, 상기 제 1 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝과,
    상기 제 1 복호 장치의 전송부가 상기 암호 정보를 당해 제 1 복호 장치 이외의 제 2 복호 장치에 전송하는 전송 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 암호 정보를 상기 제 1 복호 장치로부터 수신하는 수신 스텝과,
    상기 제 2 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 제 2 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 3 속성 정보라고 함) 또는 술어 정보(이하, 제 3 술어 정보라고 함)를 얻는 제 3 술어 논리 정보 취득 스텝과,
    상기 제 2 복호 장치의 송신부가 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 제 2 복호 장치로부터 상기 제 3 속성 정보 또는 상기 제 3 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 3 속성 정보 또는 상기 제 3 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 제 2 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 제 2 복호키를 상기 제 2 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 제 2 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 제 2 복호키를 수신하는 복호키 수신 스텝과,
    상기 제 2 복호 장치의 복호부가, 상기 제 2 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호 정보에 대한 복호 처리를 행하는 복호 스텝
    을 갖는 암호 통신 방법.
  20. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보와 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  21. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가, 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠와 상기 암호 정보를 수신하는 수신 스텝과,
    상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  22. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
    상기 키 생성 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  23. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고, 술어 암호를 사용하는 암호 시스템에 있어서의 암호 통신 방법으로서,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있고,
    상기 암호화 장치의 제 1 술어 논리 정보 취득부가, 상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득 스텝과,
    상기 암호화 장치의 암호화부가, 상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 콘텐츠를 사용하여, 술어 암호 알고리즘에 따라, 당해 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 암호화 스텝과,
    상기 암호화 장치의 송신부가 상기 암호화 콘텐츠를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 기억부가 각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억 스텝과,
    상기 복호 장치의 브라우저부가 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하는 취득 요구 처리 스텝과,
    상기 복호 장치의 중계부가 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하는 송신 스텝과,
    상기 콘텐츠 서버 장치의 송신부가 상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신 스텝과,
    상기 복호 장치의 수신부가 상기 콘텐츠 서버 장치로부터 상기 암호화 콘텐츠를 수신하는 수신 스텝과,
    상기 복호 장치의 제 2 술어 논리 정보 취득부가, 상기 폴리시 정보로 특정되는 상기 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득 스텝과,
    상기 복호 장치의 송신부가 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 상기 키 생성 장치에 송신하는 논리 정보 송신 스텝과,
    상기 키 생성 장치의 수신부가 상기 복호 장치로부터 상기 제 2 속성 정보 또는 상기 제 2 술어 정보를 수신하는 논리 정보 수신 스텝과,
    상기 키 생성 장치의 키 생성부가, 상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 상기 암호화 콘텐츠의 복호에 사용하는 복호키를 생성하는 키 생성 스텝과,
    상기 키 생성 장치의 송신부가 상기 복호키를 상기 복호 장치에 송신하는 복호키 송신 스텝과,
    상기 복호 장치의 수신부가 상기 키 생성 장치로부터 상기 복호키를 수신하는 복호키 수신 스텝과,
    상기 복호 장치의 중계부가, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 복호 스텝과,
    상기 복호 장치의 브라우저부가 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하는 표시 스텝을 갖는 것을 특징으로 하는 암호 통신 방법.
  24. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키를 사용하여, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보를 구하는 암호화부를 포함하는 것을 특징으로 하는 암호화 장치.
  25. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 암호화 장치로서,
    상기 변환규칙 정보 페어 중에서 선택된 하나의 변환규칙 정보 페어에 포함되는 상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중, 당해 암호화 장치의 입력 정보가 속성 지정 정보 또는 술어 지정 정보의 어느 하나에 따라 상기 폴리시 정보와 함께 선택된 어느 일방의 변환규칙 정보를 사용하여, 당해 입력 정보로부터 속성 정보(이하, 제 1 속성 정보라고 함) 또는 술어 정보(이하, 제 1 술어 정보라고 함)를 얻는 제 1 술어 논리 정보 취득부와,
    상기 제 1 속성 정보 또는 상기 제 1 술어 정보와, 상기 키 생성 장치의 공개키와, 평문을 사용하여, 술어 암호 알고리즘에 따라, 당해 평문에 대응하는 암호 정보를 구하는 암호화부를 포함하는 것을 특징으로 하는 암호화 장치.
  26. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 제 2 속성 정보 또는 상기 제 2 술어 정보와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 키 생성 장치.
  27. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 키 생성 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 상기 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터 생성된 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)와, 당해 키 생성 장치의 비밀키를 사용하여, 암호 정보의 복호에 사용하는 복호키를 생성하는 키 생성부를 포함하는 것을 특징으로 하는 키 생성 장치.
  28. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 복호 장치.
  29. 적어도, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    상기 폴리시 정보로 특정되는 일방의 변환규칙 정보와 페어로 되어 있는 타방의 변환규칙 정보를 사용하여, 당해 복호 장치의 이용자에 대응하는 속성 지정 정보 또는 술어 지정 정보로부터, 속성 정보(이하, 제 2 속성 정보라고 함) 또는 술어 정보(이하, 제 2 술어 정보라고 함)를 얻는 제 2 술어 논리 정보 취득부와,
    상기 키 생성 장치가 생성한 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 암호화 장치가 생성한 암호 정보에 대한 복호 처리를 행하는 복호부를 포함하는 것을 특징으로 하는 복호 장치.
  30. 제 28 항 또는 제 29 항에 있어서,
    상기 암호 시스템이 복수의 복호 장치를 포함하는 경우에,
    당해 복호 장치 이외의 하나 이상의 복호 장치에 상기 암호 정보를 전송하는 전송부를 더 포함하는 것을 특징으로 하는 복호 장치.
  31. 적어도, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠와 상기 암호 정보를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호 정보에 대한 복호 처리와, 당해 복호 처리에서 얻어진 상기 공통키를 사용하여, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠를 복호하는 콘텐츠 취득 처리를 행하는 것을 특징으로 하는 복호 장치.
  32. 적어도, 술어 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 구하는, 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 상기 암호화 콘텐츠를 기억하고 있는 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 복호 장치로서,
    브라우저부와 중계부를 포함하고,
    상기 브라우저부는 상기 콘텐츠 서버 장치에 대한 상기 암호화 콘텐츠의 취득 요구 처리를 행하고, 상기 암호화 콘텐츠로부터 복호된 콘텐츠를 표시하고,
    상기 중계부는 상기 브라우저부로부터의 상기 취득 요구를 상기 콘텐츠 서버 장치에 송신하고, 상기 복호키를 사용하여, 술어 암호 알고리즘에 따라, 상기 콘텐츠 서버 장치로부터 취득한 상기 암호화 콘텐츠에 대한 복호 처리를 행하는 것을 특징으로 하는 복호 장치.
  33. 적어도, 술어 암호 알고리즘에 따라, 공통키와, 당해 공통키 또는 당해 공통키의 생성에 사용하는 정보에 대응하는 암호 정보와, 당해 공통키로 콘텐츠를 암호화한 암호화 콘텐츠를 구하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
    각 상기 암호화 장치로부터 보내진 상기 암호 정보 및 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠와 이것에 대응하는 상기 암호 정보를 당해 복호 장치에 송신하는 송신부를 포함하는 것을 특징으로 하는 콘텐츠 서버 장치.
  34. 적어도, 술어 암호 알고리즘에 따라, 콘텐츠를 암호화한 암호화 콘텐츠를 요하는 하나 또는 복수의 암호화 장치와, 하나 또는 복수의 키 생성 장치와, 하나 또는 복수의 복호 장치와, 하나 또는 복수의 콘텐츠 서버 장치를 포함하고,
    각 상기 키 생성 장치에 대하여 비밀키와 이 비밀키에 대응하는 공개키가 미리 정해져 있고,
    속성을 지정하는 정보(이하, 속성 지정 정보라고 함)를 술어 암호 알고리즘에 사용되는 속성 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 속성용 변환규칙 정보라고 함)와 술어를 지정하는 정보(이하, 술어 지정 정보라고 함)를 당해 술어 암호 알고리즘에 사용되는 술어 정보로 변환하기 위한 변환규칙을 규정하고 있는 정보(이하, 술어용 변환규칙 정보라고 함)와의 페어인 변환규칙 정보 페어가 미리 하나 또는 복수 정해져 있고,
    상기 속성용 변환규칙 정보와 상기 술어용 변환규칙 정보 중 어느 하나를 특정하기 위한 폴리시 정보가 미리 정해져 있는, 술어 암호를 사용하는 암호 시스템에 있어서의 콘텐츠 서버 장치로서,
    각 상기 암호화 장치로부터 보내진 상기 암호화 콘텐츠를 기억하는 기억부와,
    상기 복호 장치로부터의 요구에 따라 상기 암호화 콘텐츠를 당해 복호 장치에 송신하는 송신부를 포함하는 것을 특징으로 하는 콘텐츠 서버 장치.
  35. 제 24 항 또는 제 25 항에 기재된 암호화 장치로서 컴퓨터를 기능시키기 위한 프로그램.
  36. 제 26 항 또는 제 27 항에 기재된 키 생성 장치로서 컴퓨터를 기능시키기 위한 프로그램.
  37. 제 28 항, 제 29 항, 제 31 항 및 제 32 항 중 어느 한 항에 기재된 복호 장치로서 컴퓨터를 기능시키기 위한 프로그램.
  38. 제 33 항 또는 제 34 항에 기재된 콘텐츠 서버 장치로서 컴퓨터를 기능시키기 위한 프로그램.
  39. 제 35 항에 기재된 프로그램, 제 36 항에 기재된 프로그램, 제 37 항에 기재된 프로그램, 제 38 항에 기재된 프로그램 중 적어도 어느 하나를 저장한 컴퓨터 독취 가능한 기억매체.
KR1020117023465A 2009-04-24 2010-04-23 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 KR101351789B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JPJP-P-2009-106008 2009-04-24
JPJP-P-2009-106016 2009-04-24
JP2009106016 2009-04-24
JP2009106008 2009-04-24
JP2009106028 2009-04-24
JPJP-P-2009-106028 2009-04-24
PCT/JP2010/057296 WO2010123122A1 (ja) 2009-04-24 2010-04-23 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体

Publications (2)

Publication Number Publication Date
KR20110134900A true KR20110134900A (ko) 2011-12-15
KR101351789B1 KR101351789B1 (ko) 2014-01-15

Family

ID=43011236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117023465A KR101351789B1 (ko) 2009-04-24 2010-04-23 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체

Country Status (7)

Country Link
US (1) US8964982B2 (ko)
EP (3) EP2658165B1 (ko)
JP (1) JP5253567B2 (ko)
KR (1) KR101351789B1 (ko)
CN (1) CN102369687B (ko)
ES (2) ES2445535T3 (ko)
WO (1) WO2010123122A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101437033B1 (ko) * 2012-06-21 2014-11-03 기초과학연구원 저성능 디바이스의 인증 방법

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1775880A1 (en) * 2005-10-11 2007-04-18 STMicroelectronics S.r.l. Method of processing information to be confidentially transmitted
US8938068B2 (en) * 2009-08-03 2015-01-20 Nippon Telegraph And Telephone Corporation Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
US8769614B1 (en) * 2009-12-29 2014-07-01 Akamai Technologies, Inc. Security framework for HTTP streaming architecture
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5422053B2 (ja) 2010-07-23 2014-02-19 日本電信電話株式会社 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP5606344B2 (ja) * 2011-01-25 2014-10-15 三菱電機株式会社 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム
JP5677194B2 (ja) * 2011-05-19 2015-02-25 三菱電機株式会社 コンテンツ販売管理装置及びコンテンツ販売システム及びコンピュータプログラム及びコンテンツ販売管理方法
JP6069852B2 (ja) * 2011-08-29 2017-02-01 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP5677273B2 (ja) * 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
US9569201B1 (en) * 2012-07-12 2017-02-14 Skybox Security Inc. Method for translating product banners
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置
JP5921410B2 (ja) * 2012-10-19 2016-05-24 三菱電機株式会社 暗号システム
JP5841955B2 (ja) * 2013-01-21 2016-01-13 日本電信電話株式会社 関数型暗号システム及び方法
EP3057262B1 (en) 2013-10-09 2021-07-28 Mitsubishi Electric Corporation Cipher system, encryption device, re-encryption key generation device, re-encryption device, and cipher program
WO2015083210A1 (ja) 2013-12-02 2015-06-11 三菱電機株式会社 データ処理システム及び暗号装置及び復号装置及びプログラム
US20160330022A1 (en) * 2014-01-16 2016-11-10 Mitsubishi Electric Corporation Cryptographic system, key generation apparatus, re-encryption apparatus and user terminal
CN104618098B (zh) * 2015-01-12 2017-09-26 北京科技大学 一种集合成员关系判定的密码学构造方法及系统
WO2016119900A1 (en) * 2015-01-30 2016-08-04 Nec Europe Ltd. Method and system for managing encrypted data of devices
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US9894043B2 (en) * 2015-09-30 2018-02-13 Raytheon Bbn Technologies Corp. Cryptographically secure cross-domain information sharing
GB2543780B (en) * 2015-10-27 2020-01-22 Trustonic Ltd Cryptographic program diversification
US20230125560A1 (en) * 2015-12-20 2023-04-27 Peter Lablans Cryptographic Computer Machines with Novel Switching Devices
CN105635135B (zh) * 2015-12-28 2019-01-25 北京科技大学 一种基于属性集及关系谓词的加密系统及访问控制方法
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US11063980B2 (en) 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10880281B2 (en) 2016-02-26 2020-12-29 Fornetix Llc Structure of policies for evaluating key attributes of encryption keys
US10860086B2 (en) 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
CN114826673A (zh) 2016-07-06 2022-07-29 华为技术有限公司 一种传输数据的保护系统、方法及装置
KR102028151B1 (ko) * 2017-04-07 2019-10-02 주식회사트러스트홀딩스 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
JP6456451B1 (ja) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003117B2 (en) * 2003-02-05 2006-02-21 Voltage Security, Inc. Identity-based encryption system for secure data distribution
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
CN101188496B (zh) * 2007-12-10 2010-09-29 中兴通讯股份有限公司 一种短信加密传输方法
CN101335615B (zh) * 2008-05-30 2010-12-29 北京飞天诚信科技有限公司 用于usb key音频加解密装置密钥协商的方法
CN101404577B (zh) * 2008-10-30 2010-04-21 南京大学 一种融合多种保密技术的保密通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101437033B1 (ko) * 2012-06-21 2014-11-03 기초과학연구원 저성능 디바이스의 인증 방법

Also Published As

Publication number Publication date
KR101351789B1 (ko) 2014-01-15
EP2424156A1 (en) 2012-02-29
CN102369687A (zh) 2012-03-07
ES2516390T3 (es) 2014-10-30
ES2445535T3 (es) 2014-03-03
JPWO2010123122A1 (ja) 2012-10-25
EP2424156A4 (en) 2012-09-26
WO2010123122A1 (ja) 2010-10-28
EP2658165A2 (en) 2013-10-30
EP2658165A3 (en) 2014-02-26
CN102369687B (zh) 2014-09-17
EP2658164A2 (en) 2013-10-30
JP5253567B2 (ja) 2013-07-31
EP2658164A3 (en) 2014-02-26
EP2658164B1 (en) 2015-09-16
EP2424156B1 (en) 2013-11-20
US8964982B2 (en) 2015-02-24
US20120027210A1 (en) 2012-02-02
EP2658165B1 (en) 2014-09-10

Similar Documents

Publication Publication Date Title
KR101351789B1 (ko) 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
JP5422053B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP5985123B1 (ja) 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム
CN106533650A (zh) 面向云端的交互型隐私保护方法和系统
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
KR20110135962A (ko) 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
Chen et al. A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage
Li et al. Efficient and adaptively secure attribute-based proxy reencryption scheme
Purushothama et al. Secure cloud storage service and limited proxy re-encryption for enforcing access control in public cloud
Jain et al. A new efficient protocol for k-out-of-n oblivious transfer
Minh et al. Post-quantum commutative deniable encryption algorithm
Wang et al. Privacy preserving protocol for service aggregation in cloud computing
HUANG et al. Encrypted data sharing with multi-owner based on digital rights management in online social networks
Zhao et al. A Traceable and Revocable Attribute-based Encryption Scheme Based on Policy Hiding in Smart Healthcare Scenarios
JP5366755B2 (ja) データ編集システム、書込み装置、読取装置及びデータ編集方法
Worapaluk et al. A secure, traceable, and efficiently revocable cloud-based access control scheme using ciphertext policy attribute-based encryption and blockchain
Rodrigues Platform for Authorised Sharing of Health Data using Proxy Re-Encryption

Legal Events

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

Payment date: 20161230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6