JP4162237B2 - 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム - Google Patents

複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム Download PDF

Info

Publication number
JP4162237B2
JP4162237B2 JP2004186640A JP2004186640A JP4162237B2 JP 4162237 B2 JP4162237 B2 JP 4162237B2 JP 2004186640 A JP2004186640 A JP 2004186640A JP 2004186640 A JP2004186640 A JP 2004186640A JP 4162237 B2 JP4162237 B2 JP 4162237B2
Authority
JP
Japan
Prior art keywords
decryption
node
key
encryption
devices
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2004186640A
Other languages
English (en)
Other versions
JP2006013790A (ja
Inventor
浩一 上條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004186640A priority Critical patent/JP4162237B2/ja
Priority to US11/167,018 priority patent/US7620806B2/en
Publication of JP2006013790A publication Critical patent/JP2006013790A/ja
Priority to US12/193,569 priority patent/US7739492B2/en
Application granted granted Critical
Publication of JP4162237B2 publication Critical patent/JP4162237B2/ja
Priority to US12/570,173 priority patent/US8001370B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラムに関する。特に本発明は、複数の復号化装置に対して選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラムに関する。
近年、通信ネットワークのブロードバンド化に伴い、デジタルコンテンツの流通が盛んになってきており、コンテンツの保護が重要な課題となっている。コンテンツ保護技術の一つとして、送信者が選択した受信者のみが暗号化された情報を復号できる暗号化方式であるブロードキャスト・エンクリプション(Broadcast Encryption、以下BEと示す。)が、例えばCPRM/CPPM等に用いられている(非特許文献1を参照。)。
BE方式においては、各復号化装置に個別に鍵を管理すると、管理すべき鍵の数が膨大となる。また、各復号化装置用に暗号化した情報を暗号化メッセージに含めることになるため、ブロードキャストする暗号化メッセージのメッセージ長が大きくなってしまう。この問題を解決するために、木構造を用いて鍵を割り当てる方法が提案されている(特許文献1から4、及び非特許文献2から9を参照。)。
非特許文献2においては、木構造を用いたBEの代表的な方法であるComplete Subtree方式(以下CS法)、及びSubset Difference方式(以下SD法)を開示する。
CS法においては、各復号化装置は、完全二分木のリーフ(末端ノード)に割り当てられ、末端ノードからルートノードまでの各ノードのノード鍵を記憶しておく。暗号化装置は、メッセージの復号化を禁止する復号化装置を末端ノードに含まず、メッセージの復号化を許可する復号化装置のみを末端ノードに含む完全部分木Siの組を選択する。そして、暗号化装置は、メッセージ本体をタイトル鍵により暗号化し、タイトル鍵を、選択した1又は複数の完全部分木Siの頂点にそれぞれ位置する1又は複数のノードのノード鍵でそれぞれ暗号化して、これらを含む暗号化メッセージをブロードキャストする。これを受けて復号化装置は、当該復号化装置に対応する末端ノードからルートノードに至るまでのいずれかのノードのノード鍵で暗号化されたタイトル鍵を復号化して、復号化したタイトル鍵を用いてメッセージを復号化することができる。
CS法では、ノードの数をN、メッセージの復号化を禁止する復号化装置の数(無効化する復号化装置の数)をrとすると、各復号化装置は、logN+1の鍵を持つこととなる。ここで、logの底は、k分木を用いる場合kであり、例えば二分木の場合には2である(以下同様)。一方、メッセージ長(タイトル鍵の暗号化に用いるノード鍵の数)は、最悪r・log(N/r)となる。
SD法においては、各ノードに対応付けて、当該ノードを頂点とする完全部分木の末端ノードの1つがメッセージの復号化を禁止する復号化装置である場合に、当該完全部分木における、当該復号化装置以外の復号化装置が復号化できるノード鍵を更に設ける。
SD法では、各復号化装置は、((logN)2+logN)/2+1の鍵を持つこととなり、メッセージ長は最悪2r-1、平均1.25rとなる。
非特許文献4は、CS法及びSD法を融合した方式を開示する。この方式においては、N=215の場合、メッセージ長はSD法と比較し大きくなる。非特許文献5は、無効化する復号化装置の数が全体の半分程度の場合にメッセージ長を約N/3とする。非特許文献3は、木構造のノード鍵を暗号化して公開することにより複数のシステムに対応した木構造管理方法を開示する。この方法においては、暗号化装置は、ノード数に比例した数のノード鍵を公開する。
特開2003−289297号公報 特開2003−273858号公報 特開2002−123429号公報 特開平11−187013号公報 A. Fiat and M. Naor、"Broadcast Encryption"、Crypto '93、Lecture Notes in Computer Science (LNCS) 773、p.480-491、1994年 D. Naor, M. Naor, and J. Lotspiech、"Revocation and Tracing Scheme for Stateless Receivers"、Advances in Cryptology - Crypto 2001、Lecture Notes in Computer Science(LNCS) 2139、Springer、p. 41-62、2001年 松崎、中野、松本、「複数システムに対応した木構造鍵管理方式」、SCIS'02、p.721-726、2002年 奥秋、バグス、太田、「Complete Subtree MethodとSubset Difference Methodを融合したHybrid Systemの提案」、SCIS'03、p.221-226、2003年 金、古原、今井、「許容受信者のおよそ半数の無効化に適したBroadcast Encryption方式」、SICS'03、p.305-309、2003年 浅野、「木構造を用いた効率的なBroadcast Encryption方式」、SCIS'03、p.209-214、2003年 尾形、桧座、ズオング、「RSA暗号を利用した効率的な木構造鍵管理方式」、SCIS'04、p.195-199、2004年 菊地、酒田、「ユーザの秘密鍵サイズを削減したSD法」、SCIS'04、p.83-87、2004年 野島、楫、「落とし戸付き一方向関数を利用した木構造鍵管理方式」、SCIS'03、p.131-136、2003年
CS法においては、メッセージの復号化を禁止する復号化装置の数が増加するにつれて、タイトル鍵の暗号化に用いるノード鍵の数が増加する結果、メッセージ長が増加してしまう。一方、SD法においては、CS法と比較しメッセージ長を低減することができるが、各復号化装置が持つべきノード鍵の数が増加してしまう。BEの効率をより高めるためには、CS法、SD法、及びその他の従来技術と比較して、各復号化装置が持つべきノード鍵の数を増やさず、かつメッセージ長を大幅に低減する方式が求められる。
そこで本発明は、上記の課題を解決することのできる暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態によると、メッセージを暗号化する暗号化装置と、暗号化された暗号化メッセージを復号化する複数の復号化装置とを備える暗号化通信システムであって、 複数の復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、前記暗号化装置は、複数のノードを接続した第1の木構造における複数の第1末端ノードのそれぞれに複数の復号化装置のそれぞれを対応付けるノード対応情報を、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成するノード対応情報生成部と、前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出するノード抽出部と、前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵を生成するノード暗号鍵生成部と、 前記第1のノード暗号鍵により前記メッセージを暗号化するメッセージ暗号化部と、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積を算出する公開鍵乗算部と、前記公開鍵の積を前記複数の復号化装置に対して公開する公開部とを備え、前記複数の復号化装置のそれぞれは、 前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶部と、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成された前記ノード対応情報を取得するノード対応情報取得部と、前記ノード対応情報に基づいて、当該復号化装置が対応付けられた前記第1末端ノードを特定する末端ノード特定部と、当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが前記第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応する第1のノード復号鍵を生成するノード復号鍵生成部と、前記第1のノード復号鍵により前記暗号化メッセージを復号化するメッセージ復号化部とを備える暗号化通信システムと、当該暗号化通信システムに関する暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、および復号化プログラムを提供する。

本発明の第2の形態によると、メッセージを暗号化する暗号化装置と、暗号化された暗号化メッセージを復号化する複数の復号化装置とを備える暗号化通信システムであって、それぞれの前記復号化装置に対応して、公開鍵及び秘密鍵が予め定められており、前記暗号化装置は、複数の前記復号化装置のうち、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない各復号化装置に対応する前記秘密鍵の積に基づくグループ暗号鍵により前記メッセージを暗号化するメッセージ暗号化部を有し、前記複数の復号化装置のそれぞれは、前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた当該復号化装置の装置復号鍵を記憶する装置復号鍵記憶部と、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく前記暗号化メッセージのグループ復号鍵を生成するグループ復号鍵生成部と、前記グループ復号鍵を用いて前記暗号化メッセージを復号化するメッセージ復号化部とを有する暗号化通信システムと、当該暗号化通信システムに関する暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、復号化プログラム、及び記録媒体とを提供する。
本発明の第3の形態によると、メッセージを暗号化する暗号化装置と、暗号化された暗号化メッセージを復号化する複数の復号化装置とを備える暗号化通信システムであって、前記暗号化装置は、複数の前記復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数記憶する木構造記憶部と、前記暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、いずれかの前記木構造を選択する木構造選択部と、選択された前記木構造について、前記暗号化メッセージの復号化を禁止する前記復号化装置を子孫の末端ノードに含まず、前記暗号化メッセージの復号化を許可する前記復号化装置をいずれかのノードの子孫の末端ノードに含む復号化許可ノードの組を抽出するノード抽出部と選択された前記復号化許可ノードの組に属する各復号化許可ノードに対応付けられた各ノード暗号鍵のそれぞれにより前記メッセージを暗号化した複数の前記暗号化メッセージを出力するメッセージ暗号化部とを有し、前記複数の復号化装置のそれぞれは、前記ノードの組の選択元となった前記木構造において、当該復号化装置に対応する末端ノードからルートノードに至る経路上に位置するノードのうち、選択された前記復号化許可ノードを特定するノード特定部と、前記復号化許可ノードの組の選択元となった前記木構造における前記ノード特定部により特定された前記復号化許可ノードに対応付けられたノード復号鍵を取得するノード復号鍵取得部と、取得された前記ノード復号鍵を用いて、前記ノード特定部により特定された前記復号化許可ノードに対応付けられた前記ノード暗号鍵により暗号化された前記暗号化メッセージを復号化するメッセージ復号化部とを有する暗号化通信システムと、当該暗号化通信システムに関する暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、復号化プログラム、及び記録媒体とを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、複数の復号化装置に選択的にメッセージを送信する場合において、暗号化メッセージのメッセージ長を低減することができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る暗号化通信システム10の構成を示す。暗号化通信システム10は、暗号化装置100と、複数の復号化装置110と、ネットワーク120とを備え、各復号化装置110に記憶する鍵の数を抑えつつ、暗号化装置100から復号化装置110へ送信する暗号化メッセージのメッセージ長を低減するブロードキャスト・エンクリプションを実現する。
暗号化装置100は、全ての復号化装置110のうち、予め指定された復号化装置110のみが復号化できるようにメッセージを暗号化して、暗号化メッセージを出力する。復号化装置110のそれぞれは、暗号化メッセージの復号化を許可されている場合において、暗号化された暗号化メッセージを復号化する。ここで復号化装置110は、例えばPC(パーソナルコンピュータ)、PDA、携帯電話、又は情報家電等の情報処理装置である。また、2以上の復号化装置110が1台のコンピュータにより実現されてもよい。すなわち例えば、当該コンピュータは、第1の利用者が当該コンピュータを利用する場合に第1の復号化装置110として機能し、第2の利用者が当該コンピュータを利用する場合に第2の復号化装置110として機能してもよい。ネットワーク120は、暗号化装置100と復号化装置110との間の通信を中継する。
以上において、メッセージは、例えばデジタルコンテンツ等であり、暗号化装置100により暗号化され、復号化装置110に対して送信される。これに代えて、メッセージは、例えばCDやDVD等の記録媒体に記録された情報であってもよい。この場合、メッセージは、暗号化装置100により暗号化されて記録媒体に記録され、復号化を許可された復号化装置110により読み出されて復号化される。
図2は、本実施形態に係る暗号化通信システム10により鍵を管理する木構造を示す。本実施形態に係る暗号化通信システム10は、暗号化メッセージの復号化に用いる復号鍵を、図2に示した木200により管理する。
木200は、複数の復号化装置110のそれぞれを末端ノード(リーフ)のそれぞれとし、複数のノードを接続した木構造である。より具体的には、木200は、ルートノードv1から順に、1つの親ノードに対して1以上の子ノードを接続していくことにより構成され、子ノードを持たない末端ノードのそれぞれに復号化装置110が対応付けられる。本実施形態においては、木200は2分木である場合を例として説明するが、他の形態の木構造であってもよい。以下、復号化装置110の総数がN(Nは2のべき乗の数)である場合を例として説明する。
木200は、上位木210と、複数の下位部分木220とを備える。上位木210は、木200のルートノードをルートノードとし、複数の下位部分木220のそれぞれのルートノードを複数の第2末端ノードとして接続する木構造を有する。本実施形態に係る上位木210は、木200の1段目からh段目(1≦h≦logN-1)までの上位部分のノードにより構成され、各ノードにはv1からvw-1までの符号が幅優先で割り振られる(ただし、w=2h)。そして、各ノードには、互いに異なるノード鍵Lj(j=1,2,…,w-1)が割り当てられる。このノード鍵は、メッセージの暗号鍵及び復号鍵として用いられる。これに代えて、各ノードには、非対称の暗号鍵及び復号鍵が割り当てられてもよい。
それぞれの下位部分木220は、当該下位部分木220に対応付けられた複数の復号化装置110のそれぞれを第1末端ノードとし、複数のノードを接続した木構造である。複数の下位部分木220(Si(i=1,2,…,w/2)と示す)のそれぞれは、上位木210の末端ノードであるvw/2-1+iをルートノードとする。i番目(i=1,2,…w/2)の下位部分木220の各ノードには、vi,1からvi,2y-1までの符号が幅優先で割り振られる(ただし、y=2N/w)。そして、各ノードには、互いに異なるノード鍵Li,l(l=1,2,…2y-1)が割り当てられる。このノード鍵は、メッセージの暗号鍵及び復号鍵として用いられる。下位部分木220の各末端ノードvi,y, …, vi,2y-1には、当該下位部分木220に対応付けられた各復号化装置110(ui,j(j=1,2,…y)と示す)が対応付けられる。
暗号化装置100は、十分大きい互いに異なるw/2個の素数の組(pi,qi)を予め定め、ni=piqiを用意する。このniは、Siの下位部分木220の暗号系における法として用いられる。また、それぞれの復号化装置110に対応して、公開鍵ej及び秘密鍵di,jを予め定める。ここで、公開鍵ej(j=1,…,y)は、互いに異なるy個の素数であり、mini(ni)以下の数である。また、N組の(ej, di,j)(i=1,2,…,w/2、j=1,2,…,y)は、niを法とするRSA暗号系における公開鍵及び暗号鍵の組である。
そして、暗号化装置100は、全てのejを各復号化装置110に公開し、di,jを秘密に保持する。ここで、各復号化装置110は、全てのejを予め記憶しておいてもよく、ejを生成するプログラムを保持してもよい。また、復号化装置110には、当該復号化装置110が接続された下位部分木220に対応するniが予め設定される。
Siで示される下位部分木220に対応付けられた復号化装置110は、当該下位部分木220のルートノードから木200のルートノードに至る経路上のh個のノードのノード鍵と、以下の式(1)に示す当該復号化装置110の装置鍵(装置復号鍵)Ii,jとを秘密に保持する。
Figure 0004162237
これらの装置鍵Ii,jは、下位部分木220の末端ノードのノード鍵としても用いられる。
以上において、各復号化装置110は、当該復号化装置110に対応付けられた下位部分木220の末端ノードから木200のルートノードに至るまでの各ノードに対応するノード復号鍵を使用することができる。より具体的には、復号化装置110は、この経路上の上位木210内のノードに対応するノード復号鍵を予め記憶する。また、復号化装置110は、この経路上の下位部分木220内のノードに対応するノード復号鍵を、上記の装置鍵(装置復号鍵)から生成する。一方、各復号化装置110は、これ以外のノードに対応するノード復号鍵を使用することができない。
暗号化装置100は、木200の各ノードのうち、暗号化メッセージの復号化を許可する復号化装置110を子孫の末端ノードに含み、復号化を許可しない復号化装置110を子孫の末端ノードに含まないノードを復号化許可ノードとして選択し、当該復号化許可ノードに対応するノード暗号鍵によりメッセージを暗号化する。これにより、暗号化装置100は、当該復号化許可ノードの子孫の末端ノードに対応する復号化装置110のみが復号化できる暗号化メッセージを生成することができる。なお、暗号化装置100は、上記の復号化許可ノードを複数選択し、これらの復号化許可ノードに対応する各ノード暗号鍵によりそれぞれ暗号化された複数の暗号化メッセージを各復号化装置110へ送信してもよい。この場合、各復号化装置110は、いずれかのノード暗号鍵に対応するノード復号鍵を使用可能であれば、当該ノード暗号鍵により暗号化された暗号化メッセージを復号化することができる。
本実施形態に係る暗号化装置100は、メッセージの暗号化に用いるノード暗号鍵の数を大幅に削減することを目的として、各下位部分木220に対応する複数の復号化装置110を下位部分木220の末端ノードのいずれに対応付けるかを、暗号化メッセージの復号化を許可する復号化装置110の組に応じて動的に選択する。これにより暗号化装置100は、複数の復号化装置110を下位部分木220内で並べ替え、暗号化に用いるノード暗号鍵の数を最小化し、メッセージ長を削減することができる。
図3は、本実施形態に係る暗号化装置100の構成を示す。暗号化装置100は、メッセージと、復号化を許可する復号化装置110の組を識別する情報とを受けて、これらの復号化装置110のみが復号化できる暗号化メッセージを生成し、復号化装置110へ送信する。暗号化装置100は、ノード対応情報生成部300と、ノード抽出部310と、上位ノード暗号鍵生成部320と、下位ノード暗号鍵生成部330と、メッセージ暗号化部340とを備える。
ノード対応情報生成部300は、復号化を許可する復号化装置110のグループの指定を受けて、各下位部分木220について、末端ノードに復号化装置110を対応付けるノード対応情報をメッセージ毎に生成する。ノード抽出部310は、複数の下位部分木220の木構造と、複数の下位部分木220のそれぞれのルートノードを複数の末端ノードとして接続する上位木210の木構造を記憶する。ノード抽出部310は、ノード対応情報を受けると、各下位部分木220に各復号化装置110を対応付ける。そして、ノード抽出部310は、暗号化メッセージの復号化を許可する復号化装置110を子孫の末端ノードに含み、復号化を禁止する復号化装置110を子孫の末端ノードに含まないノードの組を、復号化許可ノードの組として抽出する。
上位ノード暗号鍵生成部320は、抽出した復号化許可ノードのうち、上位木210内の復号化許可ノードに対応するノード暗号鍵を生成する。下位ノード暗号鍵生成部330は、本発明に係るノード暗号鍵生成部の一例であり、抽出した復号化許可ノードのうち、いずれかの下位部分木220内の復号化許可ノードに対応するノード暗号鍵を生成する。メッセージ暗号化部340は、各復号化許可ノードに対応するノード暗号鍵によりメッセージを暗号化して暗号化メッセージを生成し、復号化装置110へ送信する。
暗号化装置100は、公開鍵乗算部350と、公開部360とを更に備えてもよい。
公開鍵乗算部350は、暗号化メッセージの復号化を許可する各復号化装置110がノード復号鍵を生成するために用いる公開鍵ejの積を算出する。公開部360は、公開鍵乗算部350により算出された公開鍵の積を、復号化装置110に対して公開する。
図4は、本実施形態に係る暗号化装置100の動作フローを示す。
まず、ノード対応情報生成部300は、復号化を許可する復号化装置110のグループの指定を受ける。そしてノード対応情報生成部300は、復号化を許可する復号化装置110を1以上含む下位部分木220のそれぞれについて、下位部分木220における複数の末端ノードのそれぞれに複数の復号化装置110のそれぞれを対応付けるノード対応情報を、暗号化メッセージの復号化を許可する復号化装置110のグループに応じて生成する(S400)。ここで、ノード対応情報生成部300は、それぞれの下位部分木220について、ノード抽出部310が抽出する下位部分木220の復号化許可ノードの数を最小とするノード対応情報を生成する。
より具体的には、ノード対応情報生成部300は、復号化を許可する復号化装置110を1以上含む下位部分木220であるSiについて、ノード対応情報として、並べ替えの方法を示すτi(…)を生成し、復号化装置110へ公開する。ここで、τi(…)は、集合{1,…,y}から{1,…,y}に対する全単射関数であり、ui,jの復号化装置110がSiのτi(j)番目の末端ノードに対応付けられることを示す。これに代えて、ノード対応情報生成部300は、ノード対応情報として、複数の復号化装置110のそれぞれについて暗号化メッセージの復号化の許可/禁止をフラグにより表したビットマップを生成してもよい。このノード対応情報を用いることで、ノード対応情報生成部300は、複数の復号化装置110を、メッセージ毎に動的に各末端ノードに対応付けることができる。そしてノード対応情報生成部300は、例えば、下位部分木220における左側(vi,yに近い側)に復号化を許可する復号化装置110を連続して配置することにより、下位部分木220において暗号化メッセージを許可する全ての復号化装置110を子孫に有する復号化許可ノードの組のノード数を低減することができる。
次に、ノード抽出部310は、ノード対応情報により複数の復号化装置110が対応付けられた木200において、暗号化メッセージの復号化を許可する復号化装置110が子孫の末端ノードに対応付けられており、暗号化メッセージの復号化を禁止する復号化装置110が子孫のいずれの末端ノードにも対応付けられていない復号化許可ノードの組を抽出する(S410)。この際、ノード抽出部310は、暗号化メッセージの復号化を許可する全ての復号化装置110がいずれかの復号化許可ノードの子孫の末端ノードに対応付けられた復号化許可ノードの組のうち、復号化許可ノードの数を最小とする復号化許可ノードの組を抽出する。
ここで、ノード抽出部310は、少なくとも1つの下位部分木220に接続された全ての末端ノードに対応する復号化装置110に対し暗号化メッセージの復号化を許可する場合に、当該下位部分木220のルートノードを子孫の末端ノードとして接続し、暗号化メッセージの復号化を許可しない復号化装置110が末端ノードに対応付けられた下位部分木220のルートノードを子孫の末端ノードとして接続しない復号化許可ノードを抽出する。これにより、下位部分木220に接続された全ての復号化装置110に復号化を許可する場合において、復号化装置110が下位部分木220の末端ノードから多数のノードを遡ってノード復号鍵を生成するのに要する計算コストを低減することができる。
次に、上位ノード暗号鍵生成部320及び下位ノード暗号鍵生成部330は、抽出した復号化許可ノードのそれぞれに対応するノード暗号鍵を生成する(S420)。すなわち上位ノード暗号鍵生成部320は、抽出した復号化許可ノードのうち、上位木210内の復号化許可ノードに対応するノード暗号鍵を生成する。例えば上位ノード暗号鍵生成部320は、非特許文献9に開示された落とし戸付き一方向関数を利用してノード暗号鍵を生成する。これに代えて上位ノード暗号鍵生成部320は、上位木210内の全ノードに対応するノード暗号鍵を予め格納しておき、抽出した復号化許可ノードに対応してノード暗号鍵を選択してもよい。
また、下位ノード暗号鍵生成部330は、抽出した復号化許可ノードのうち、いずれかの下位部分木220内の復号化許可ノードに対応するノード暗号鍵を生成する。本実施形態に係る下位ノード暗号鍵生成部330は、Siの下位部分木220内における復号化許可ノードvi,lのノード暗号鍵Li,lを、以下の式(2)により生成する。
Figure 0004162237
なお、Ui,lは、ノード対応情報により各復号化装置110と各末端ノードの対応付けが変更された後における、当該復号化許可ノードをルートノードとする部分木に接続された全ての復号化装置110(ui,j)のjについての集合である。すなわち、下位ノード暗号鍵生成部330は、当該下位部分木220に対応付けられた複数の復号化装置110のうち、復号化許可ノードの子孫の各末端ノードに対応付けられていない各復号化装置110に対応する秘密鍵di,jの積Tii,jに基づくノード暗号鍵Li,lを生成する。より具体的には、下位ノード暗号鍵生成部330は、上位木210の末端ノードに対応する予め定められたノード暗号鍵を、当該復号化許可ノードの子孫の末端ノードに対応付けられた各復号化装置110に対応する秘密鍵の積Tii,jによりべき乗した値のniによる法を求め、当該べき乗値に基づくノード暗号鍵を生成する。
次に、メッセージ暗号化部340は、復号化許可ノードに対応付けられたノード暗号鍵によりメッセージを暗号化する(S430)。すなわち、メッセージ暗号化部340は、抽出された復号化許可ノードの組に属するそれぞれの復号化許可ノードに対応するノード暗号鍵のそれぞれによりメッセージを暗号化した1又は複数の暗号化メッセージを生成する。ここで、それぞれの暗号化メッセージは、いずれかの下位部分木220内の復号化許可ノードに対応付けられたノード暗号鍵、又は、上位木210内の復号化許可ノードに対応付けられたノード暗号鍵により暗号化されたものとなる。
より具体的には、メッセージ暗号化部340は、メッセージMを暗号化するためのタイトル鍵Kを決定し、復号化許可ノードの組{s1,…,sm}に対応するノード暗号鍵Ls1,…, Lsmを用いて、以下の内容を含むブロードキャスト用のメッセージを生成する。
Figure 0004162237
ただし、ELx(K)は、タイトル鍵Kをノード暗号鍵Lxにより暗号化する関数であり、Fx(M)はメッセージMをタイトル鍵Kにより暗号化する関数である。式(3)に示したメッセージは、復号化許可ノードの組に属する各復号化許可ノードのノード番号s1, …, smと、ノード暗号鍵Ls1により暗号化されたタイトル鍵、…、及びノード暗号鍵Lsmにより暗号化されたタイトル鍵と、タイトル鍵により暗号化されたメッセージMとを含む。このように、メッセージMをタイトル鍵Kで暗号化し、タイトル鍵Kをノード暗号鍵Ls1により暗号化することで、メッセージMは、ノード暗号鍵Ls1により間接的に暗号化される。
次に、メッセージ暗号化部340は、式(3)に示したブロードキャスト用のメッセージを全ての復号化装置110に対して送信することにより出力する(S440)。
次に、公開鍵乗算部350は、暗号化メッセージの復号化を許可する各復号化装置110がノード復号鍵を生成するために用いる公開鍵ejの積を算出する(S450)。より具体的には、公開鍵乗算部350は、それぞれの復号化装置110に対応して、ノード抽出部310により抽出された下位部分木220の各復号化許可ノードについて、当該復号化許可ノードvi,lの子孫の各末端ノードに対応する、当該復号化装置110以外のそれぞれの復号化装置110に対応する公開鍵の積βi,lを算出する(以下の式(4)参照)。
Figure 0004162237
次に、公開部360は、公開鍵乗算部350により算出された公開鍵の積を複数の復号化装置110に対して公開する(S460)。これにより、復号化装置110において公開鍵の積を算出する必要がなくなり、復号化装置110の計算負荷を低減することができる。
以上に示した暗号化装置100によれば、暗号化メッセージの復号化を許可する復号化装置110の組に応じて、下位部分木220の末端ノードに対する復号化装置110の対応付けを動的に組み替えることにより、暗号化に用いるノード暗号鍵の数を大幅に削減することができる。
なお、以上に示した暗号化通信システム10は、例えばテレビ番組等の番組を配信する場合、番組を構成する複数のメッセージを順次配信する。ここで、例えばコンテンツ配信会社がPPV(Pay Per View)の番組を配信するために用いられる場合において、暗号化装置100は、番組の途中で利用料金を支払った利用者の復号化装置110に対し、新たに暗号化メッセージの復号化を許可する必要がある。これを実現するため暗号化装置100は、復号化許可ノードの組を変更する。
この際、復号化許可ノードの組を大幅に変更すると、多くの復号化装置110において復号鍵の再計算が必要となってしまう。そこで、ノード対応情報生成部300は、新たに利用者が加わった場合においても、復号化許可ノードの組をなるべく変更しないようにする。すなわち、第1の暗号化メッセージを出力した後、暗号化メッセージの復号化を許可する復号化装置110の組が第1の暗号化メッセージと異なる第2の暗号化メッセージを出力する場合において、ノード対応情報生成部300は、復号鍵が変更される復号化装置110の数を最小とするようなノード対応情報を生成する。より具体的には、ノード対応情報生成部300は、第1の暗号化メッセージの復号化を許可した復号化装置110であって、第2の暗号化メッセージの復号化を許可する既存の復号化装置110を、第1の暗号化メッセージの暗号化において対応付けた末端ノードと同一の末端ノードに対応付けるノード対応情報を生成し、復号鍵が変更される復号化装置110の数を最小化する。
更に、ノード対応情報生成部300は、第2の暗号化メッセージに対応してノード抽出部310が抽出する復号化許可ノードの数を最小とするノード対応情報を生成する。一例として、ノード対応情報生成部300は、下位部分木220における左側(vi,yに近い側)に復号化を許可された復号化装置110を連続して配置し、新たに復号化を許可された復号化装置110を既に復号化を許可された復号化装置110の右側に隣接して配置することにより、復号化許可ノードの数を最小化することができる。
図5は、本実施形態に係る復号化装置110の構成を示す。復号化装置110は、暗号化装置100により暗号化された暗号化メッセージを受信して復号化する。復号化装置110は、ノード対応情報取得部500と、末端ノード特定部510と、上位ノード復号鍵記憶部520と、上位ノード復号鍵取得部530と、装置復号鍵記憶部540と、下位ノード復号鍵生成部550と、メッセージ復号化部560とを備える。
ノード対応情報取得部500は、暗号化メッセージを暗号化するために用いたノード対応情報を、暗号化装置100から取得する。末端ノード特定部510は、ノード対応情報に基づいて、当該復号化装置110に対応する下位部分木220の末端ノードを特定する。上位ノード復号鍵記憶部520は、本発明に係るノード復号鍵記憶部の一例であり、当該復号化装置110が末端ノードに対応付けられた下位部分木220のルートノードに対応する上位木210の末端ノードから、上位木210のルートノードに至る各ノードに対応するノード復号鍵のそれぞれを記憶する。上位ノード復号鍵取得部530は、暗号化メッセージが上位木210内の復号化許可ノードに対応するノード暗号鍵により暗号化されていた場合に、当該復号化許可ノードに対応するノード復号鍵を上位ノード復号鍵記憶部520から取得する。
装置復号鍵記憶部540は、式(1)に示した当該復号化装置110の装置復号鍵Ii,jを記憶する。装置復号鍵Ii,jは、式(1)に示したように、当該復号化装置110が属する下位部分木220に対応付けられた複数の復号化装置110のうち、当該復号化装置110以外の復号化装置110に対応する秘密鍵di,jの積Ti/di,jに基づき定められる。より具体的には、装置復号鍵Ii,jは、予め定められた数である上位木210の末端ノードのノード鍵を、秘密鍵の積Ti/di,jによりべき乗した値をniによる法を求めることにより定められる。下位ノード復号鍵生成部550は、暗号化メッセージが下位部分木220内の復号化許可ノードに対応するノード暗号鍵により暗号化されていた場合に、当該復号化許可ノードに対応するノード復号鍵を装置復号鍵Ii,jに基づいて生成する。メッセージ復号化部560は、上位ノード復号鍵取得部530又は下位ノード復号鍵生成部550により取得又は生成されたノード復号鍵により暗号化メッセージを復号化する。
図6は、本実施形態に係る復号化装置110の動作フローを示す。
ノード対応情報取得部500は、暗号化メッセージの復号化を許可する復号化装置110のグループに応じて生成されたノード対応情報を、暗号化装置100から取得する(S600)。次に、末端ノード特定部510は、ノード対応情報に基づいて、当該復号化装置110に対応する下位部分木220における、当該復号化装置110が対応付けられた末端ノードを特定する(S610)。
次に上位ノード復号鍵取得部530及び下位ノード復号鍵生成部550は、暗号化メッセージの暗号化に用いたノード暗号鍵に対応するノード復号鍵を上位ノード復号鍵記憶部520から取得し、又は装置復号鍵に基づき生成する(S620)。すなわち、上位ノード復号鍵取得部530は、暗号化装置100によりブロードキャストされたメッセージに含まれる1つの暗号化メッセージが上位木210のノード暗号鍵により暗号化されていた場合において、当該ノード暗号鍵に対応するノード復号鍵を上位ノード復号鍵記憶部520から取得する。より具体的には、上位ノード復号鍵取得部530は、当該復号化装置110が末端ノードに対応付けられた下位部分木220のルートノードに対応する上位木210の末端ノードから、上位木210のルートノードに至るいずれかのノードが復号化許可ノードであった場合に、当該復号化許可ノードに対応するノード復号鍵を上位ノード復号鍵記憶部520から読み出す。
また、下位ノード復号鍵生成部550は、暗号化装置100によりブロードキャストされたメッセージに含まれる1つの暗号化メッセージが下位部分木220のノード暗号鍵により暗号化されていた場合において、当該ノード暗号鍵に対応するノード復号鍵を生成する。すなわち下位ノード復号鍵生成部550は、当該復号化装置110が対応付けられた下位部分木220の末端ノードから下位部分木220のルートノードに至るいずれかのノードが復号化許可ノードであった場合に、当該復号化許可ノードに対応するノード復号鍵を生成する。
本実施形態に係る下位ノード復号鍵生成部550は、当該復号化装置110(ui,x)の装置復号鍵Ii,xと、当該復号化許可ノードの子孫の各末端ノードに対応する、当該復号化装置110以外のそれぞれの復号化装置110に対応する公開鍵ekとに基づいて、ノード復号鍵Li,lを生成する。より具体的には、下位ノード復号鍵生成部550は、当該復号化装置110の装置復号鍵を、当該復号化許可ノードの子孫の各末端ノードに対応する、当該復号化装置110以外のそれぞれの復号化装置110の公開鍵ekの積βi,l/exによりべき乗した値に基づいて、式(2)に示したノード暗号鍵と同一の値のノード復号鍵Li,lを生成する(式(5))。
Figure 0004162237
このノード復号鍵Li,lは、当該下位部分木220に対応付けられた複数の復号化装置110のうち、暗号化メッセージの復号化を許可する復号化装置110のグループに属さない復号化装置110に対応する秘密鍵di,kの積に基づく。
式(5)においては、RSA暗号系の公開鍵e及び暗号鍵dについて、Ae・d≡A(mod ni)となることを利用している。すなわち、装置復号鍵Ii,lの公開鍵の積βi,l/exによるべき乗を求めることにより、式(1)におけるAiの乗数部分である、当該復号化装置110以外の復号化装置110の暗号鍵の積Ti/di,jに、復号化を許可する復号化装置110の公開鍵の積βi,j/ejを乗じ、復号化を許可する復号化装置110の暗号鍵di,jを乗数から除く。これにより、下位ノード復号鍵生成部550は、暗号化装置100により生成されたノード暗号鍵と同一のノード復号鍵を得ることができる。
次に、メッセージ復号化部560は、上位ノード復号鍵取得部530又は下位ノード復号鍵生成部550により取得又は生成されたノード復号鍵により暗号化メッセージを復号化する(S630)。すなわち、メッセージ復号化部560は、以下の式(6)に示したブロードキャストメッセージから、当該復号化装置110に対応する復号化許可ノードslを探す。
Figure 0004162237
次に、メッセージ復号化部560は、復号化許可ノードslに対応するノード復号鍵Lslを用いて、以下の式(7)によりタイトル鍵Kを復号化する。
Figure 0004162237
ここで、D()は、E()に対応する復号化の関数である。
そして、メッセージ復号化部560は、復号化されたタイトル鍵Kを用いて、以下の式(8)によりメッセージを復号化する。
Figure 0004162237
以上に示した暗号化通信システム10によれば、秘密鍵di,jは暗号化装置100により管理され、復号化装置110に対しては秘密にされる。また、各復号化装置110は、下位部分木220に対応する復号化装置110のうち、当該復号化装置110以外の秘密鍵di,jに基づく装置復号鍵Ii,jを他の復号化装置110に対して秘密に管理する。そして、各復号化装置110は、メッセージの復号化を許可する他の復号化装置110に対応する公開鍵ejを用いて、秘密鍵di,jを装置復号鍵Ii,jを構成する乗数から取り除いていくことにより、ノード復号鍵Li,lを生成することができる。
一方、メッセージの復号化を禁止された復号化装置110は、当該復号化装置110に対応する暗号鍵di,jを持たないため、当該復号化装置110が有する装置復号鍵Ii,jを構成するべき乗数に当該暗号鍵di,jを加えることができない。また、メッセージの復号化を禁止された複数の復号化装置110が装置復号鍵を交換したとしても、当該復号化装置110が有する装置復号鍵Ii,jを構成するべき乗数に、メッセージの復号化を禁止された復号化装置110の暗号鍵di,jを加えることができない。したがって、メッセージの復号化を禁止された復号化装置110は、復号化許可ノードに対応するノード復号鍵を生成することができず、メッセージの機密性が保たれる。
なお、本実施形態に係る暗号化通信システム10は、木200の下位階層を木構造を用いて管理しているが、これに代えて暗号化通信システム10は、木200の下位階層を他の方法により管理してもよい。例えば暗号化通信システム10は、各下位部分木220に対応する複数の復号化装置110のうち、復号化を許可する任意の復号化装置110の組を動的に選択してグループ化してもよい。
より具体的には、ノード対応情報生成部300は、グループ対応情報生成部として機能し、上位木210の各末端ノードについて、当該末端ノードに対応付けられた複数の復号化装置110のうち暗号化メッセージの復号化を許可する復号化装置110のグループを動的に生成する。そして、当該グループに属する復号化装置110を識別するグループ情報をノード抽出部310及びネットワーク120へ出力する。ノード抽出部310は、木200については復号化許可ノードを抽出し、上位ノード暗号鍵生成部320へ出力する。一方、下位階層について、グループ情報を下位ノード暗号鍵生成部330へ出力する。下位ノード暗号鍵生成部330は、下位階層の暗号鍵生成部として機能し、複数の復号化装置110のうち、暗号化メッセージの復号化を許可する復号化装置110のグループに属さない各復号化装置110に対応する秘密鍵di,jの積に基づくグループ暗号鍵を、ノード暗号鍵と同様にして算出する。そして、メッセージ暗号化部340は、上位ノード暗号鍵生成部320から出力されたノード暗号鍵又は下位ノード暗号鍵生成部330により生成されたグループ暗号鍵によりメッセージを暗号化する。
この場合、ノード対応情報取得部500は、グループ情報取得部として機能し、暗号化装置100により生成されたグループ情報を取得する。下位ノード復号鍵生成部550は、グループ復号鍵生成部として機能し、暗号化メッセージの復号化を許可する復号化装置110のグループに属するそれぞれの復号化装置110に対応する公開鍵ejと、当該復号化装置110の装置復号鍵Ii,jとに基づいて、暗号化メッセージの復号化を許可する復号化装置110のグループに属さない復号化装置110に対応する秘密鍵di,kの積に基づく暗号化メッセージのグループ復号鍵Li,lを生成する。そして、メッセージ復号化部560は、木200の下位階層については、グループ復号鍵Li,lを用いて暗号化メッセージを復号化する。
図7は、本実施形態の変形例に係る暗号化通信システム10における暗号化装置100の構成を示す。本変形例に係る暗号化通信システム10は、複数の木構造のうち、復号化許可ノードの数が最小となる木構造を選択することにより、メッセージ長を低減する。
本変形例に係る暗号化装置100は、木構造記憶部710と、木構造選択部700と、ノード抽出部310と、ノード暗号鍵生成部720と、メッセージ暗号化部340とを備える。木構造記憶部710は、木構造を複数記憶する。ここで、木構造記憶部710は、互いに異なる復号化装置110の種類又は復号化装置110の利用者の各種の特性に基づいて、より類似する種類又は特性を有する復号化装置110の組を、末端ノードにより近い復号化許可ノードの子孫の末端ノードにそれぞれ対応付けた複数の木構造を記憶する。例えば、木構造記憶部710は、復号化装置110として機能する情報処理装置がPC、PDA、又は携帯電話等のいずれであるか、復号化装置110として機能する情報処理装置の製造元、又は、利用者の年齢、性別、住所、嗜好、及び所属する団体等の特性に基づく木構造を複数種類記憶する。
木構造選択部700は、暗号化メッセージの復号化を許可する復号化装置110の組に基づいて、いずれかの木構造を選択し、選択した木構造を特定する木構造選択情報をノード抽出部310及びネットワーク120へ出力する。ノード抽出部310は、図3に示したノード抽出部310と同様にして、選択された木構造について、復号化許可ノードの組を抽出する。ノード暗号鍵生成部720は、上位ノード暗号鍵生成部320と同様にして、各復号化許可ノードに対応するノード暗号鍵を生成する。メッセージ暗号化部340は、図3に示したメッセージ暗号化部340と同様にして、選択された復号化許可ノードの組に属する各復号化許可ノードに対応付けられた各ノード暗号鍵のそれぞれによりメッセージを暗号化する。
図8は、本実施形態の変形例に係る暗号化装置100の動作フローを示す。
まず、木構造選択部700は、暗号化メッセージの復号化を許可する復号化装置110の組に基づいて、いずれかの木構造を選択する(S800)。ここで木構造選択部700は、それぞれの木構造について選択された復号化許可ノードの組のうち、復号化許可ノードの数が最小となるノードの組を選択する。これに代えて、木構造選択部700は、暗号化メッセージの復号化を許可する復号化装置110の種類又は利用者の特性に基づいて、いずれかの木構造を選択してもよい。すなわち例えば、配信するコンテンツの番組を視聴する可能性が高い利用者の年齢や性別等の特性に基づいて、当該特性に基づいて定められた木構造を選択する。
ノード抽出部310は、図4のS410と同様にして、暗号化メッセージの復号化を禁止する復号化装置110を子孫の末端ノードに含まず、暗号化メッセージの復号化を許可する復号化装置110をいずれかのノードの子孫の末端ノードに含む復号化許可ノードの組を抽出する(S410)。次に、ノード暗号鍵生成部720は、図4のS420と同様にして、復号化許可ノードの組に属するそれぞれの復号化許可ノードに対応するノード暗号鍵を生成する(S420)。この際、ノード暗号鍵生成部720は、非特許文献9に記載された落とし戸付き一方向性関数を利用し、ルートノードに対応するノード暗号鍵から開始して、親ノードのノード暗号鍵から子ノードのノード暗号鍵を順次生成していくことにより、各復号化許可ノードのノード暗号鍵を生成してもよい。
次に、メッセージ暗号化部340は、選択された復号化許可ノードの組に属する各復号化許可ノードに対応付けられた各ノード暗号鍵のそれぞれによりメッセージを暗号化する(S430)。より具体的には、メッセージ暗号化部340は、メッセージをタイトル鍵で暗号化し、タイトル鍵を各ノード暗号鍵のそれぞれにより暗号化することにより、各ノード暗号鍵で間接的に暗号化された暗号化メッセージを包含するブロードキャスト用のメッセージを生成する。そして、複数の暗号化メッセージを含むブロードキャスト用のメッセージを各復号化装置110へ送信する(S830)。
本変形例に係る暗号化装置100によれば、暗号化メッセージの復号化を許可する復号化装置110の組に応じて木構造を動的に選択することにより、暗号化に用いるノード暗号鍵の数を削減することができる。
図9は、本実施形態の変形例に係る復号化装置110の構成を示す。本変形例に係る復号化装置110は、木構造選択情報取得部900と、ノード特定部910と、ノード復号鍵記憶部920と、ノード復号鍵取得部930と、メッセージ復号化部560とを備える。木構造選択情報取得部900は、暗号化装置100から送信された木構造選択情報を取得する。ノード特定部910は、ノードの組の選択元となった木構造において、当該復号化装置110に対応する末端ノードからルートノードに至る経路上に位置するノードのうち、選択された復号化許可ノードを特定する。ノード復号鍵記憶部920は、複数の木構造のそれぞれについて、当該復号化装置110に対応する末端ノードからルートノードまでの経路上の各ノードに対応する各ノード復号鍵を記憶する。ノード復号鍵取得部930は、復号化許可ノードの組の選択元となった木構造における、ノード特定部910により特定された復号化許可ノードに対応付けられたノード復号鍵を、ノード復号鍵記憶部920から取得する。メッセージ復号化部560は、取得されたノード復号鍵を用いて、ノード復号鍵記憶部920により特定された復号化許可ノードに対応付けられたノード暗号鍵により暗号化された暗号化メッセージを復号化する。
図10は、本実施形態の変形例に係る復号化装置110の動作フローを示す。
まず、木構造選択情報取得部900は、暗号化装置100から送信された木構造選択情報を取得する(S1000)。次に、ノード特定部910は、選択された木構造において、当該復号化装置110に対応する末端ノードからルートノードに至る経路上の復号化許可ノードを特定する(S1010)。次に、ノード復号鍵取得部930は、選択された木構造における、当該復号化許可ノードに対応付けられたノード復号鍵をノード復号鍵記憶部920から取得する(S1020)。これに代えて、復号化装置110は、当該復号化装置110に対応する末端ノードから開始して、子ノードのノード復号鍵から親ノードのノード復号鍵を順次生成していくことにより、各復号化許可ノードのノード復号鍵を生成してもよい。次に、メッセージ復号化部560は、図5に示したメッセージ復号化部560と同様にして、取得されたノード復号鍵を用いて、ノード特定部910により特定された復号化許可ノードに対応付けられたノード暗号鍵により暗号化された暗号化メッセージを復号化する(S630)。より具体的には、当該ノード復号鍵を用いて、ノード暗号鍵により暗号化されたタイトル鍵を復号化し、復号化されたタイトル鍵を用いてメッセージを復号化する。
以上において、暗号化通信システム10は、複数の木構造のAND条件やOR条件等により復号化を許可する復号化装置110を指定してもよい。
より具体的には、AND条件の場合、暗号化装置100内の木構造選択部700及びノード抽出部310は、AND条件として用いる第1の木構造及び第2の木構造を選択し、第1の木構造の第1の復号化許可ノード及び第2の木構造の第2の復号化許可ノードの組を抽出する。ここで、ノード抽出部310は、第1の復号化許可ノード及び第2の復号化許可ノードの組として、暗号化メッセージの復号化を許可する復号化装置110を子孫の末端ノードに共通して含み、暗号化メッセージの復号化を禁止する復号化装置110を少なくとも一方の復号化許可ノードの子孫の末端ノードに含まないノードの組を選択する。そして、ノード暗号鍵生成部720は、これらの復号化許可ノードに対応するノード暗号鍵を生成し、メッセージ暗号化部340は、第1の復号化許可ノードに対応付けられた第1のノード暗号鍵及び第2の復号化許可ノードに対応付けられた第2のノード暗号鍵によりメッセージを暗号化する。
暗号化メッセージを受信した復号化装置110内の木構造選択情報取得部900は、木構造選択情報を受信し、第1の木構造及び第2の木構造を特定する。次に、ノード特定部910は、第1の復号化許可ノード及び第2の復号化許可ノードを特定する。次に、ノード復号鍵記憶部920は、第1の復号化許可ノードに対応付けられた第1のノード復号鍵と、第2の復号化許可ノードに対応付けられた第2のノード復号鍵とを取得する。そして、メッセージ復号化部560は、取得された第1のノード復号鍵及び第2のノード復号鍵を用いて暗号化メッセージを復号化する。
また、OR条件の場合、暗号化装置100内の木構造選択部700及びノード抽出部310は、OR条件として用いる第1の木構造及び第2の木構造を選択し、第1の木構造の第1の復号化許可ノード及び第2の木構造の第2の復号化許可ノードの組を抽出する。ここで、ノード抽出部310は、第1の復号化許可ノード及び第2の復号化許可ノードの組として、暗号化メッセージの復号化を許可する復号化装置110をいずれかの子孫の末端ノードに含み、暗号化メッセージの復号化を禁止する復号化装置110をいずれの復号化許可ノードの子孫の末端ノードに含まないノードの組を選択する。そして、ノード暗号鍵生成部720は、これらの復号化許可ノードに対応するノード暗号鍵を生成し、メッセージ暗号化部340は、第1の復号化許可ノードに対応付けられた第1のノード暗号鍵により暗号化された暗号化メッセージと、第2の復号化許可ノードに対応付けられた第2のノード暗号鍵により暗号化された暗号化メッセージとを生成する。
これらの暗号化メッセージを受信した復号化装置110内の木構造選択情報取得部900は、木構造選択情報を受信し、第1の木構造及び第2の木構造を特定する。次に、ノード特定部910は、第1の復号化許可ノード及び第2の復号化許可ノードを特定する。次に、ノード復号鍵記憶部920は、第1の復号化許可ノードに対応付けられた第1のノード復号鍵と、第2の復号化許可ノードに対応付けられた第2のノード復号鍵とを取得する。そして、メッセージ復号化部560は、取得された第1のノード復号鍵又は第2のノード復号鍵を用いて、いずれかの暗号化メッセージを復号化する。
AND条件やOR条件等により復号化許可ノードを選択可能とすることで、メッセージ長を更に低減することができる。
図11は、本実施形態の変形例に係る暗号化通信システム10により鍵を管理する木構造を示す。
本図において、暗号化通信システム10は、互いに異なる復号化装置110の種類又は復号化装置110の利用者の各種の特性に基づいて決定された木構造TK1からTK3を用いる。暗号化装置100内の木構造選択部700は、暗号化メッセージの復号化を許可する復号化装置110の組に基づいて、TK1からTK3のいずれかの木構造を選択する。本例においては、暗号化メッセージの復号化を許可する復号化装置110の組は、{u2, u3, u6, u8, u9, u10, u11, u12, u13, u16}であり、復号化を禁止する復号化装置110の組は、{u1, u4, u5, u7, u14, u15}である。本例において木構造TK1からTK3を比較すると、復号化許可ノードの数を最小化するのは木構造TK2である。したがって木構造選択部700は、木構造TK2を選択する。
本変形例に係る暗号化通信システム10によれば、各復号化装置110は、選択された木構造を特定する木構造選択情報を付加した暗号化メッセージを受信し、選択された木構造における復号化許可ノードに対応する復号鍵を用いて暗号化メッセージを復号化することができる。これにより、暗号化に用いるノード鍵の数を低減することができ、メッセージ長を短くすることができる。また、これらの木構造を予め各復号化装置110に格納しておくことで、復号化装置110は、木構造選択情報と比較しデータ量が大きいノード対応情報を取得しなくてもノード鍵の数を低減することができる。このため、暗号化装置100及び復号化装置110が通信できない環境においても、効率良く暗号化メッセージのメッセージ長を低減することができる。
図12は、本実施形態に係る暗号化通信システム10と従来方式とを比較したグラフを示す。本グラフは、N=214の場合におけるCS法及びSD法のメッセージ長、及び、上位木210の段数hを1、8、及び11と変化させた場合におけるメッセージ長を縦軸とし、復号化を許可しない復号化装置110の数rを横軸としてプロットしたものである。ここで、各方式におけるメッセージ長は、復号化を許可しない復号化装置110をランダムに選択した場合の平均値である。本実施形態に係る暗号化通信システム10によれば、hが11の場合においてもメッセージ長を小さくすることができ、rの数が全体の半分程度まで大きくなった場合において特にメッセージ長を効果的に低減できることがわかる。
また、各復号化装置110が記憶すべき鍵の数は、CS法がlogN+1、SD法が((logN)2+ logN)/2+1であるのに対し、本実施形態に係る暗号化通信システム10によればh+1(1≦h≦logN-1)となる。また、各復号化装置110において鍵を計算することにより鍵の数を削減した場合、鍵の数は、CS法が1、SD法がlogNであるのに対し、本実施形態に係る暗号化通信システム10によれば1となる。したがって、本実施形態に係る暗号化通信システム10は、復号化装置110が記憶すべき鍵の数をCS方式と同等かつSD法より少なく抑えつつ、メッセージ長を大幅に低減できる。
図13は、本実施形態の変形例に係る暗号化通信システム10と従来方式とを比較したグラフを示す。本グラフは、N=214の場合におけるCS法及びSD法のメッセージ長、及び、本実施形態の変形例に係る暗号化通信システム10によるメッセージ長を縦軸とし、復号化を許可しない復号化装置110の数rを横軸としてプロットしたものである。ここで、本変形例に係る暗号化通信システム10については、選択した木構造の中に、復号化を許可しない復号化装置110が何%含まれているかを示すヒット率毎に、メッセージ長を求めている。また、各方式におけるメッセージ長は、復号化を許可しない復号化装置110をランダムに選択した場合の平均値である。本変形例に係る暗号化通信システム10によれば、ヒット率90%の場合においても、メッセージ長をSD法の略半分に低減することができる。
また、各復号化装置110が記憶すべき鍵の数は、CS法がlogN+1、SD法が((logN)2+logN)/2+1であるのに対し、本実施形態に係る暗号化通信システム10によればT・logNとなる(ただし、Tは選択可能な木構造の数)。また、例えば落とし戸付き一方向関数を用いて各復号化装置110において鍵を計算可能とした場合、鍵の数は、CS法が1に対し、本変形例の暗号化通信システム10はTとなる。したがって、本変形例に係る暗号化通信システム10は、適切なTを用いることにより、復号化装置110が記憶すべき鍵の数をCS法と比較しある程度増やすことで、メッセージ長を大幅に低減できる。
図14は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラムや、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を図3に示した暗号化装置100として機能させるプログラムは、ノード対応情報生成モジュールと、ノード抽出モジュールと、上位ノード暗号鍵生成モジュールと、下位ノード暗号鍵生成モジュールと、メッセージ暗号化モジュールと、公開鍵乗算モジュールと、公開モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、ノード対応情報生成部300と、ノード抽出部310と、上位ノード暗号鍵生成部320と、下位ノード暗号鍵生成部330と、メッセージ暗号化部340と、公開鍵乗算部350と、公開部360としてそれぞれ機能させる。
コンピュータ1900にインストールされ、コンピュータ1900を図5に示した復号化装置110として機能させるプログラムは、ノード対応情報取得モジュールと、末端ノード特定モジュールと、上位ノード復号鍵記憶部520を管理する上位ノード復号鍵管理モジュールと、上位ノード復号鍵取得モジュールと、下位ノード復号鍵生成部550を管理する装置復号鍵管理モジュールと、下位ノード復号鍵生成モジュールと、メッセージ復号化モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、ノード対応情報取得部500と、末端ノード特定部510と、上位ノード復号鍵記憶部520と、上位ノード復号鍵取得部530と、装置復号鍵記憶部540と、下位ノード復号鍵生成部550と、メッセージ復号化部560としてそれぞれ機能させる。
コンピュータ1900にインストールされ、コンピュータ1900を図7に示した暗号化装置100として機能させるプログラムは、木構造選択モジュールと、木構造記憶部710を管理する木構造管理モジュールと、ノード抽出モジュールと、ノード暗号鍵生成モジュールと、メッセージ暗号化モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、木構造選択部700と、木構造記憶部710と、ノード抽出部310と、ノード暗号鍵生成部720と、メッセージ暗号化部340としてそれぞれ機能させる。
コンピュータ1900にインストールされ、コンピュータ1900を図9に示した復号化装置110として機能させるプログラムは、木構造選択情報取得モジュールと、ノード特定モジュールと、ノード復号鍵記憶部920を管理するノード復号鍵管理モジュールと、ノード復号鍵取得モジュールと、メッセージ復号化モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、木構造選択情報取得部900と、ノード特定部910と、ノード復号鍵記憶部920と、ノード復号鍵取得部930と、メッセージ復号化部560としてそれぞれ機能させる。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVDやCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
本発明の実施形態に係る暗号化通信システム10の構成を示す。 本発明の実施形態に係る暗号化通信システム10により鍵を管理する木構造を示す。 本発明の実施形態に係る暗号化装置100の構成を示す。 本発明の実施形態に係る暗号化装置100の動作フローを示す。 本発明の実施形態に係る復号化装置110の構成を示す。 本発明の実施形態に係る復号化装置110の動作フローを示す。 本発明の実施形態の変形例に係る暗号化装置100の構成を示す。 本発明の実施形態の変形例に係る暗号化装置100の動作フローを示す。 本発明の実施形態の変形例に係る復号化装置110の構成を示す。 本発明の実施形態の変形例に係る復号化装置110の動作フローを示す。 本発明の実施形態の変形例に係る暗号化通信システム10により鍵を管理する木構造を示す。 本発明の実施形態に係る暗号化通信システム10と従来方式とを比較したグラフを示す。 本発明の実施形態の変形例に係る暗号化通信システム10と従来方式とを比較したグラフを示す。 本発明の実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
符号の説明
10 暗号化通信システム
100 暗号化装置
110 復号化装置
120 ネットワーク
200 木
210 上位木
220 下位部分木
300 ノード対応情報生成部
310 ノード抽出部
320 上位ノード暗号鍵生成部
330 下位ノード暗号鍵生成部
340 メッセージ暗号化部
350 公開鍵乗算部
360 公開部
500 ノード対応情報取得部
510 末端ノード特定部
520 上位ノード復号鍵記憶部
530 上位ノード復号鍵取得部
540 装置復号鍵記憶部
550 下位ノード復号鍵生成部
560 メッセージ復号化部
700 木構造選択部
710 木構造記憶部
720 ノード暗号鍵生成部
900 木構造選択情報取得部
910 ノード特定部
920 ノード復号鍵記憶部
930 ノード復号鍵取得部
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

Claims (21)

  1. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置であって、
    それぞれの前記復号化装置に対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのそれぞれに複数の前記復号化装置のそれぞれを対応付けるノード対応情報を、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成し、
    前記ノード対応情報により複数の前記復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出し、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づく第1のノード暗号鍵により前記メッセージを暗号化するものであり、
    当該復号化装置は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶部と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成された前記ノード対応情報を取得するノード対応情報取得部と、
    前記ノード対応情報に基づいて、当該復号化装置が対応付けられた前記第1末端ノードを特定する末端ノード特定部と、
    当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが前記第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応する第1のノード復号鍵を生成するノード復号鍵生成部と、
    前記第1のノード復号鍵により前記暗号化メッセージを復号化するメッセージ復号化部と
    を備える復号化装置。
  2. それぞれの前記復号化装置に対応する前記公開鍵および前記秘密鍵は、RSA暗号系における公開鍵および秘密鍵の組であり、
    前記暗号化装置は、予め定められた数を、前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられた各復号化装置に対応する前記秘密鍵の積によりべき乗した値に基づく前記ノード暗号鍵により前記メッセージを暗号化するものであり、
    前記装置復号鍵記憶部は、前記予め定められた数を、当該復号化装置以外の復号化装置に対応する秘密鍵の積によりべき乗した値に基づき定められた前記装置復号鍵を記憶し、
    前記ノード復号鍵生成部は、当該復号化装置の前記装置復号鍵を、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置の前記公開鍵の積によりべき乗した値に基づいて、前記第1のノード暗号鍵と同一の値の前記ノード復号鍵を生成する
    請求項1記載の復号化装置。
  3. 前記暗号化装置は、
    複数の前記第1の木構造のそれぞれのルートノードを複数の第2末端ノードとして接続する第2の木構造を記憶し、
    少なくとも1つの前記第1の木構造に接続された全ての前記第1末端ノードに対応する前記復号化装置に対し前記暗号化メッセージの復号化を許可する場合に、当該第1の木構造のルートノードを子孫の第2末端ノードとして接続し、前記暗号化メッセージの復号化を許可しない前記復号化装置が前記第1末端ノードに対応付けられた前記第1の木構造のルートノードを子孫の第2末端ノードとして接続しない第2の復号化許可ノードを抽出し、
    前記第1の復号化許可ノードに対応付けられた前記第1のノード暗号鍵、又は前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵により前記メッセージを暗号化するものであり、
    前記メッセージ復号化部は、前記暗号化メッセージが前記第2のノード暗号鍵により暗号化されていた場合において、当該復号化装置が前記第1末端ノードに対応付けられた前記第1の木構造のルートノードに対応する前記第2末端ノードから前記第2の木構造のルートノードに至るいずれかのノードが前記第2の復号化許可ノードであった場合に、当該第2の復号化許可ノードに対応する第2のノード復号鍵により前記暗号化メッセージを復号化する
    請求項1記載の復号化装置。
  4. 当該復号化装置が前記第1末端ノードに対応付けられた前記第1の木構造のルートノードに対応する前記第2末端ノードから前記第2の木構造のルートノードに至る各ノードに対応する前記第2のノード復号鍵のそれぞれを記憶するノード復号鍵記憶部を更に備える請求項3記載の復号化装置。
  5. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置であって、
    複数の前記復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、複数の前記復号化装置のうち、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない各復号化装置に対応する前記秘密鍵の積に基づくグループ暗号鍵によりメッセージを暗号化するものであり、
    当該復号化装置は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶部と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属するそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく前記暗号化メッセージのグループ復号鍵を生成するグループ復号鍵生成部と、
    前記グループ復号鍵を用いて前記暗号化メッセージを復号化するメッセージ復号化部と
    を備える復号化装置。
  6. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置であって、
    前記暗号化装置は、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶し、
    前記暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択し、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出し、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵によりメッセージを暗号化するものであり、
    当該復号化装置は、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造において、当該復号化装置に対応する末端ノードからルートノードに至る経路上に位置するノードのうち、選択された前記第1の復号化許可ノードおよび前記第2の復号化許可ノードを特定するノード特定部と、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造における前記ノード特定部により特定された前記第1の復号化許可ノードに対応付けられた第1のノード復号鍵と、前記第2の復号化許可ノードに対応付けられた第2のノード復号鍵とを取得するノード復号鍵取得部と、
    取得された前記第1のノード復号鍵および前記第2のノード復号鍵を用いて、前記ノード特定部により特定された前記第1の復号化許可ノードに対応付けられた前記第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた前記第2のノード暗号鍵により暗号化された前記暗号化メッセージを復号化するメッセージ復号化部と
    を備える復号化装置。
  7. メッセージを暗号化する暗号化装置であって、
    複数の復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    それぞれの前記復号化装置は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶し、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのうち当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが、暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積と、当該復号化装置の前記装置復号鍵とに基づいて、暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく第1のノード復号鍵を生成するものであり、
    当該暗号化装置は、
    前記複数の第1末端ノードのそれぞれに複数の復号化装置のそれぞれを対応付けるノード対応情報を、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成するノード対応情報生成部と、
    前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出するノード抽出部と、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵を生成するノード暗号鍵生成部と、
    前記第1のノード暗号鍵により前記メッセージを暗号化するメッセージ暗号化部と、
    前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積を算出する公開鍵乗算部と、
    前記公開鍵の積を前記複数の復号化装置に対して公開する公開部と
    を備える暗号化装置。
  8. 前記ノード抽出部は、前記暗号化メッセージの復号化を許可する全ての前記復号化装置がいずれかの前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられた前記第1の復号化許可ノードの組のうち、前記第1の復号化許可ノードの数を最小とする前記第1の復号化許可ノードの組を抽出し、
    前記ノード対応情報生成部は、前記ノード抽出部が抽出する前記第1の復号化許可ノードの数を最小とする前記ノード対応情報を生成し、
    前記メッセージ暗号化部は、抽出された前記第1の復号化許可ノードの組に属するそれぞれの前記第1の復号化許可ノードに対応する前記第1のノード暗号鍵のそれぞれにより前記メッセージを暗号化した複数の前記暗号化メッセージを出力する
    請求項記載の暗号化装置。
  9. 第1の前記暗号化メッセージを出力した後、暗号化メッセージの復号化を許可する前記復号化装置の組が前記第1の暗号化メッセージと異なる第2の前記暗号化メッセージを出力する場合において、前記ノード対応情報生成部は、前記第1の暗号化メッセージの復号化を許可した前記復号化装置であって、前記第2の暗号化メッセージの復号化を許可する前記復号化装置を、前記第1の暗号化メッセージの暗号化において対応付けた前記第1末端ノードと同一の前記第1末端ノードに対応付ける前記ノード対応情報を生成する請求項記載の暗号化装置。
  10. 第1の前記暗号化メッセージを出力した後、暗号化メッセージの復号化を許可する前記復号化装置の組が前記第1の暗号化メッセージと異なる第2の前記暗号化メッセージを出力する場合において、前記ノード抽出部は、前記第2の暗号化メッセージの復号化を許可する前記復号化装置が子孫の前記第1末端ノードに対応付けられており、前記第2の暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない前記第1の復号化許可ノードを更に抽出し、
    前記ノード対応情報生成部は、前記第2の暗号化メッセージに対応して前記ノード抽出部が抽出する前記第1の復号化許可ノードの数を最小とする前記ノード対応情報を更に生成する
    請求項記載の暗号化装置。
  11. メッセージを暗号化する暗号化装置であって、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶する木構造記憶部と、
    暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択する木構造選択部と、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出するノード抽出部と、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵により前記メッセージを暗号化した前記暗号化メッセージを出力するメッセージ暗号化部と
    を備える暗号化装置。
  12. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置における復号化方法であって、
    それぞれの前記復号化装置に対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのそれぞれに複数の前記復号化装置のそれぞれを対応付けるノード対応情報を、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成し、
    前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出し、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づく第1のノード暗号鍵により前記メッセージを暗号化するものであり、
    当該復号化方法は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を装置復号鍵記憶部に記憶する装置復号鍵記憶段階と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成された前記ノード対応情報を取得するノード対応情報取得段階と、
    前記ノード対応情報に基づいて、当該復号化装置が対応付けられた前記第1末端ノードを特定する末端ノード特定段階と、
    当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが前記第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応する第1のノード復号鍵を生成するノード復号鍵生成段階と、
    前記第1のノード復号鍵により前記暗号化メッセージを復号化するメッセージ復号化段階と
    を備える復号化方法。
  13. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置における復号化方法であって、
    複数の前記復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、複数の前記復号化装置のうち、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない各復号化装置に対応する前記秘密鍵の積に基づくグループ暗号鍵によりメッセージを暗号化するものであり、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶段階と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属するそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく前記暗号化メッセージのグループ復号鍵を生成するグループ復号鍵生成段階と、
    前記グループ復号鍵を用いて前記暗号化メッセージを復号化するメッセージ復号化段階と
    を備える復号化方法。
  14. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置における復号化方法であって、
    前記暗号化装置は、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶し、
    前記暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択し、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出し、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵によりメッセージを暗号化するものであり、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造において、当該復号化装置に対応する末端ノードからルートノードに至る経路上に位置するノードのうち、選択された前記第1の復号化許可ノードおよび前記第2の復号化許可ノードを特定するノード特定段階と、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造における前記ノード特定段階により特定された前記第1の復号化許可ノードに対応付けられた第1のノード復号鍵と、前記第2の復号化許可ノードに対応付けられた第2のノード復号鍵とを取得するノード復号鍵取得段階と、
    取得された前記第1のノード復号鍵および前記第2のノード復号鍵を用いて、前記ノード特定段階により特定された前記第1の復号化許可ノードに対応付けられた前記第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた前記第2のノード暗号鍵により暗号化された前記暗号化メッセージを復号化するメッセージ復号化段階と
    を備える復号化方法。
  15. メッセージを暗号化する暗号化装置における暗号化方法であって、
    複数の復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    それぞれの前記復号化装置は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶し、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのうち当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが、暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積と、当該復号化装置の前記装置復号鍵とに基づいて、暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく第1のノード復号鍵を生成するものであり、
    当該暗号化方法は、
    前記複数の末端ノードのそれぞれに複数の復号化装置のそれぞれを対応付けるノード対応情報を、暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成するノード対応情報生成段階と、
    前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出するノード抽出段階と、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵により前記メッセージを暗号化するメッセージ暗号化段階と、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵を生成するノード暗号鍵生成段階と、
    前記第1のノード暗号鍵により前記メッセージを暗号化するメッセージ暗号化段階と、
    前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積を算出する公開鍵乗算段階と、
    前記公開鍵の積を前記複数の復号化装置に対して公開する公開段階と
    を備える暗号化方法。
  16. メッセージを暗号化する暗号化装置における暗号化方法であって、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶する木構造記憶段階と、
    暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択する木構造選択段階と、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出するノード抽出段階と、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵により前記メッセージを暗号化した前記暗号化メッセージを出力するメッセージ暗号化段階と
    を備える暗号化方法。
  17. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置用の復号化プログラムであって、
    それぞれの前記復号化装置に対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのそれぞれに複数の前記復号化装置のそれぞれを対応付けるノード対応情報を、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成し、
    前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出し、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づく第1のノード暗号鍵により前記メッセージを暗号化するものであり、
    当該復号化プログラムは、当該復号化装置を、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶部と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成された前記ノード対応情報を取得するノード対応情報取得部と、
    前記ノード対応情報に基づいて、当該復号化装置が対応付けられた前記第1末端ノードを特定する末端ノード特定部と、
    当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが前記第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応する第1のノード復号鍵を生成するノード復号鍵生成部と、
    前記第1のノード復号鍵により前記暗号化メッセージを復号化するメッセージ復号化部と
    して機能させる復号化プログラム。
  18. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置用の復号化プログラムであって、
    複数の前記復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    前記暗号化装置は、複数の前記復号化装置のうち、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない各復号化装置に対応する前記秘密鍵の積に基づくグループ暗号鍵によりメッセージを暗号化するものであり、
    当該復号化プログラムは、当該復号化装置を、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶する装置復号鍵記憶部と、
    前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属するそれぞれの前記復号化装置に対応する前記公開鍵と、当該復号化装置の前記装置復号鍵とに基づいて、前記暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく前記暗号化メッセージのグループ復号鍵を生成するグループ復号鍵生成部と、
    前記グループ復号鍵を用いて前記暗号化メッセージを復号化するメッセージ復号化部と
    して機能させる復号化プログラム。
  19. 暗号化装置により暗号化された暗号化メッセージを復号化する復号化装置用の復号化プログラムであって、
    前記暗号化装置は、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶し、
    前記暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択し、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出し、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵によりメッセージを暗号化するものであり、
    当該復号化プログラムは、当該復号化装置を、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造において、当該復号化装置に対応する末端ノードからルートノードに至る経路上に位置するノードのうち、選択された前記第1の復号化許可ノードおよび前記第2の復号化許可ノードを特定するノード特定部と、
    前記第1の復号化許可ノードおよび前記第2の復号化許可ノードの組の選択元となった前記第1の木構造および前記第2の木構造における前記ノード特定部により特定された前記第1の復号化許可ノードに対応付けられた第1のノード復号鍵と、前記第2の復号化許可ノードに対応付けられた第2のノード復号鍵とを取得するノード復号鍵取得部と、
    取得された前記第1のノード復号鍵および前記第2のノード復号鍵を用いて、前記ノード特定部により特定された前記第1の復号化許可ノードに対応付けられた前記第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた前記第2のノード暗号鍵により暗号化された前記暗号化メッセージを復号化するメッセージ復号化部と
    して機能させる復号化プログラム。
  20. メッセージを暗号化する暗号化装置用の暗号化プログラムであって、
    複数の復号化装置のそれぞれに対応して、公開鍵および秘密鍵が予め定められており、
    それぞれの前記復号化装置は、
    前記複数の復号化装置のうち、当該復号化装置以外の復号化装置に対応する前記秘密鍵の積に基づき定められた装置復号鍵を記憶し、
    複数のノードを接続した第1の木構造における複数の第1末端ノードのうち当該復号化装置が対応付けられた前記第1末端ノードから前記第1の木構造のルートノードに至るいずれかのノードが、暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードであった場合に、前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積と、当該復号化装置の前記装置復号鍵とに基づいて、暗号化メッセージの復号化を許可する前記復号化装置のグループに属さない前記復号化装置に対応する前記秘密鍵の積に基づく第1のノード復号鍵を生成するものであり、
    当該暗号化装置を、
    前記複数の末端ノードのそれぞれに複数の復号化装置のそれぞれを対応付けるノード対応情報を、暗号化メッセージの復号化を許可する前記復号化装置のグループに応じて生成するノード対応情報生成部と、
    前記ノード対応情報により前記複数の復号化装置が対応付けられた前記第1の木構造において、前記暗号化メッセージの復号化を許可する前記復号化装置が子孫の第1末端ノードに対応付けられており、前記暗号化メッセージの復号化を禁止する前記復号化装置が子孫のいずれの第1末端ノードにも対応付けられていない第1の復号化許可ノードを抽出するノード抽出部と、
    前記複数の復号化装置のうち、前記第1の復号化許可ノードの子孫の第1末端ノードに対応付けられていない各復号化装置に対応する前記秘密鍵の積に基づいて、前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵を生成するノード暗号鍵生成部と、
    前記第1のノード暗号鍵により前記メッセージを暗号化するメッセージ暗号化部と、
    前記第1の復号化許可ノードの子孫の各第1末端ノードに対応する、当該復号化装置以外のそれぞれの前記復号化装置に対応する前記公開鍵の積を算出する公開鍵乗算部と、
    前記公開鍵の積を前記複数の復号化装置に対して公開する公開部と
    して機能させる暗号化プログラム。
  21. メッセージを暗号化する暗号化装置用の暗号化プログラムであって、
    当該暗号化プログラムは、前記暗号化装置を、
    複数の復号化装置のそれぞれを末端ノードとし、複数のノードを接続した木構造を複数種類記憶する木構造記憶部と、
    暗号化メッセージの復号化を許可する前記復号化装置の組に基づいて、第1の前記木構造および第2の前記木構造を選択する木構造選択部と、
    選択された前記第1の木構造および前記第2の木構造について、前記暗号化メッセージの復号化を許可する前記復号化装置を子孫の末端ノードに共通して含み、前記暗号化メッセージの復号化を禁止する前記復号化装置を少なくとも一方の子孫の末端ノードに含まない前記第1の木構造の第1の復号化許可ノードおよび前記第2の木構造の第2の復号化許可ノードの組を抽出するノード抽出部と、
    前記第1の復号化許可ノードに対応付けられた第1のノード暗号鍵および前記第2の復号化許可ノードに対応付けられた第2のノード暗号鍵により前記メッセージを暗号化した前記暗号化メッセージを出力するメッセージ暗号化部と
    して機能させる暗号化プログラム。
JP2004186640A 2004-06-24 2004-06-24 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム Expired - Fee Related JP4162237B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004186640A JP4162237B2 (ja) 2004-06-24 2004-06-24 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
US11/167,018 US7620806B2 (en) 2004-06-24 2005-06-24 Encrypted communication for selectively delivering a message to multiple decrypting devices
US12/193,569 US7739492B2 (en) 2004-06-24 2008-08-18 Encrypted communication for selectively delivering a message to multiple decrypting devices
US12/570,173 US8001370B2 (en) 2004-06-24 2009-09-30 Encrypted communication for selectively delivering a message to multiple decrypting devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004186640A JP4162237B2 (ja) 2004-06-24 2004-06-24 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム

Publications (2)

Publication Number Publication Date
JP2006013790A JP2006013790A (ja) 2006-01-12
JP4162237B2 true JP4162237B2 (ja) 2008-10-08

Family

ID=35780510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004186640A Expired - Fee Related JP4162237B2 (ja) 2004-06-24 2004-06-24 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム

Country Status (2)

Country Link
US (3) US7620806B2 (ja)
JP (1) JP4162237B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2104051B1 (en) * 2001-03-29 2019-11-20 Panasonic Intellectual Property Management Co., Ltd. Data protection system that protects data by encrypting the data
KR101181723B1 (ko) * 2006-02-07 2012-09-19 삼성전자주식회사 무선 통신 시스템에서 페이징 메시지 디코딩 방법과 장치
FR2899748B1 (fr) * 2006-04-07 2008-11-28 Thales Sa Schema de diffusion hybride efficace, adapte a une faible bande passante
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
KR101285597B1 (ko) * 2006-06-29 2013-07-15 삼성전자주식회사 그룹 키 업데이트 방법 및 이를 이용한 그룹 키 업데이트장치
US20080250251A1 (en) * 2007-04-04 2008-10-09 Cyberlink Corp. Systems and Methods for Hardware Driven Program Execution
US8914643B2 (en) 2007-05-24 2014-12-16 Nec Corporation Anonymous authentication system and anonymous authentication method
JP2009105853A (ja) * 2007-10-25 2009-05-14 Kddi Corp 任意の木構造に対応したsd法およびプログラム
JP5279824B2 (ja) * 2008-04-26 2013-09-04 三菱電機株式会社 情報処理装置及びプログラム
US20100158244A1 (en) * 2008-12-23 2010-06-24 Inventec Corporation Communication encryption method for supporting remote monitoring and control system
JP5197424B2 (ja) * 2009-02-19 2013-05-15 三菱電機株式会社 通信装置及び通信方法及び通信プログラム
US8254580B2 (en) * 2009-09-30 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Key distribution in a hierarchy of nodes
US10284679B2 (en) * 2010-01-07 2019-05-07 Microsoft Technology Licensing, Llc Maintaining privacy during personalized content delivery
US20120226901A1 (en) * 2010-09-02 2012-09-06 Lantiq Deutschland Gmbh System, Method and Apparatus For Secure Telecommunications In A Home Area Network
US9524399B1 (en) * 2013-04-01 2016-12-20 Secturion Systems, Inc. Multi-level independent security architecture
JP6334679B2 (ja) 2014-03-14 2018-05-30 株式会社東芝 通信制御装置、通信装置およびプログラム
GB2532781A (en) 2014-11-28 2016-06-01 Skf Ab An assembly comprising at least an electrical component mounted on a substrate, a component suitable for such an assembly
US9967093B2 (en) * 2015-03-25 2018-05-08 Intel Corporation Techniques for securing and controlling access to data
US11277558B2 (en) * 2016-02-01 2022-03-15 Magna Electronics Inc. Vehicle vision system with master-slave camera configuration
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11361088B2 (en) 2019-02-25 2022-06-14 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL106796A (en) * 1993-08-25 1997-11-20 Algorithmic Res Ltd Broadcast encryption
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5901227A (en) * 1996-06-20 1999-05-04 Novell, Inc. Method and apparatus for implementing partial and complete optional key escrow
US6041408A (en) * 1996-06-28 2000-03-21 Hitachi, Ltd. Key distribution method and system in secure broadcast communication
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
JPH11187013A (ja) 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
JP2001352321A (ja) * 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
JP2002123429A (ja) 2000-06-21 2002-04-26 Sony Corp 情報処理装置、情報処理方法、および情報記録媒体、並びにコンピュータ・プログラム
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US20030061481A1 (en) * 2001-09-26 2003-03-27 David Levine Secure broadcast system and method
JP4402356B2 (ja) 2002-01-25 2010-01-20 パナソニック株式会社 データ配信システム
JP2003273858A (ja) 2002-03-15 2003-09-26 Nippon Telegr & Teleph Corp <Ntt> セション鍵更新方法、そのクライアント装置、クライアント装置の鍵更新方法、サーバ装置処理方法、そのプログラム及び記録媒体
JP3818505B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
US7730518B2 (en) * 2003-07-31 2010-06-01 Emc Corporation Method and apparatus for graph-based partition of cryptographic functionality

Also Published As

Publication number Publication date
JP2006013790A (ja) 2006-01-12
US20100080385A1 (en) 2010-04-01
US8001370B2 (en) 2011-08-16
US20090028330A1 (en) 2009-01-29
US7620806B2 (en) 2009-11-17
US7739492B2 (en) 2010-06-15
US20060062394A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
JP4162237B2 (ja) 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
US5592552A (en) Broadcast encryption
KR100543630B1 (ko) 브로드캐스트 암호화 및 상태 비유지 수신기들의 키 철회방법
US7340054B2 (en) Information processing method, decrypting method, information processing apparatus, and computer program
KR100737876B1 (ko) 계층적 문턱 트리에 기반한 브로드캐스트 암호화 방법
JP4984827B2 (ja) 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
KR20060129934A (ko) 정보 처리 방법, 복호 처리 방법 및 정보 처리 장치와컴퓨터 프로그램
KR20090090308A (ko) 정보처리장치
KR100640058B1 (ko) 브로드캐스트 암호화를 위한 사용자 키 관리 방법
KR20090127716A (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
JP2008131076A (ja) 情報処理装置、端末装置、情報処理方法、鍵生成方法、及びプログラム
JP5289476B2 (ja) 通信装置および鍵算出装置
Wan et al. A collusion-resistant conditional access system for flexible-pay-per-channel pay-TV broadcasting
KR100975038B1 (ko) 브로드캐스트 암호화 시스템 및 그 방법
JP2006115464A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
KR20180113323A (ko) 와일드 카드를 포함하는 키 발급, 암호화 및 복호화 방법
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
Zhang et al. Broadcast encryption scheme and its implementation on conditional access system
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2009171016A (ja) 暗号化情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2008131079A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070613

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071210

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20071214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080718

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees