JP4583069B2 - 鍵管理システム、及び再生装置 - Google Patents

鍵管理システム、及び再生装置 Download PDF

Info

Publication number
JP4583069B2
JP4583069B2 JP2004147985A JP2004147985A JP4583069B2 JP 4583069 B2 JP4583069 B2 JP 4583069B2 JP 2004147985 A JP2004147985 A JP 2004147985A JP 2004147985 A JP2004147985 A JP 2004147985A JP 4583069 B2 JP4583069 B2 JP 4583069B2
Authority
JP
Japan
Prior art keywords
key
node
information
encryption
storing
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
JP2004147985A
Other languages
English (en)
Other versions
JP2005333241A (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.)
Pioneer Corp
Original Assignee
Pioneer 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 Pioneer Corp filed Critical Pioneer Corp
Priority to JP2004147985A priority Critical patent/JP4583069B2/ja
Priority to US11/131,296 priority patent/US20060002565A1/en
Publication of JP2005333241A publication Critical patent/JP2005333241A/ja
Application granted granted Critical
Publication of JP4583069B2 publication Critical patent/JP4583069B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91357Television signal processing therefor for scrambling ; for copy protection by modifying the video signal
    • H04N2005/91364Television signal processing therefor for scrambling ; for copy protection by modifying the video signal the video signal being scrambled

Landscapes

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

Description

本発明は、木構造を用い、特定の受信者の無効化機能を有する鍵管理システムに関する。
映画、音楽などの著作物であるコンテンツの著作権を保護するために、コンテンツを暗号化して提供することが行われている。そのようなシステムの一例では、受信装置(以下、「情報送信者」又は「送信者」とも呼ぶ)や再生装置(以下では、「情報受信者」又は「受信者」とも呼ぶ)には複数の復号鍵(即ち、デバイス鍵)又は、復号鍵を生成するための秘密情報を与える。一方、暗号化されたコンテンツと、再生を許可された再生装置のみがコンテンツの復号鍵を生成できるようにした鍵情報とがネットワークを介して伝送され、又は記録媒体に記録されて情報受信者に提供される。再生を許可された受信装置や再生装置は、自身の保有する秘密情報と受信した鍵情報から、コンテンツの復号鍵を生成し、その復号鍵を使用してコンテンツを復号して再生する。一方、再生を許可されていない(無効化された)受信装置や再生装置は、コンテンツの復号鍵を生成できないので、暗号化されているコンテンツを再生することはできない。
ここで、受信装置や再生装置として一般的な機器を考えた場合、それが保有する秘密情報を変更する機能をその装置に持たせることは、その装置の製造コストの増加を招く、秘密情報の保管上の安全性を低下させる可能性があるなどの点であまり好ましくはない。このため、復号鍵を変更する機能を持たない受信装置や再生装置に対応した方式が望まれる。もし受信装置や再生装置が復号鍵を変更する機能を持っている場合には、その装置はある時点で得た復号鍵を、それより後の時点で送信された鍵情報を取得するために利用することができるので、通信量を低減できる可能性がある。しかし、変更機能を持たない装置は初期(例えば装置が製造されたとき)に与えられた復号鍵のみしか保有しない。よって、送信者が鍵生成情報を送信する際には、装置がその復号鍵のみを用いてコンテンツの復号鍵を得るのに必要な情報を毎回送信しなければならない。
このようなシステムで、鍵情報を管理するための手法として木構造を用いた鍵管理方式が提案されており、その例として「The Complete Sub-tree Method」や、「The Subset Difference Method」や、「Tree Pattern Division Method」や、「Master Key Method」(例えば、非特許文献1参照)などが知られている。これらの方式では、コンテンツの復号鍵を生成するための鍵生成情報が不正に暴露されたり漏洩した場合には、その鍵生成情報を無効化するための処理が可能となっている。
しかし、上記の鍵管理方式では、構築された木構造のリーフに対して受信者を割り当てるため、システム全体の受信者数の上限が決まってしまう。よって一旦構築してシステムの運用を開始した後では、前記上限を超えて受信者をシステムに追加できないといった問題点があった。
そこで、例えば特許文献1に記載された鍵管理システムは、上記のTree Pattern Division Methodをベースにした上で、受信者を上限なくシステムに追加する方法を採用することで上記の問題を解決している。具体的には、木構造のリーフの内、受信者の割り当てられていないリーフの数が閾値を超える場合はそのまま受信者を割り当て、閾値以下の場合は受信者の割り当てられていないリーフの下に階層を増やして新たなリーフを生成し、生成したリーフに新たな受信者を割り当てる。
しかしながら、特許文献1に記載された鍵管理システムでは、受信者の割り当てられていないリーフの下に階層を増やして新たにリーフを生成し、生成したリーフに新たな受信者を割り当てるため、受信者の追加を何度も繰り返すと、後に割り当てられた受信者ほど木の階層が深くなる。また、ベースとしているTree Pattern Division Methodは、木の内部ノードに対して複数の復号鍵を仮想的に割り当て、受信者の割り当てられたリーフからルートに至るパス上に存在する全てのノードに割り当てられている復号鍵を受信者は保有しなければならない。つまり、受信者の保有しなければならない復号鍵の数は、受信者の割り当てられているリーフの存在する木の階層の深さに比例するため、後に加入した受信者ほど、多くの復号鍵を保有しなければならないといった問題点がある。
更に、Tree Pattern Division Methodでは、木の深さが深いほど受信者の無効化のために送信する鍵情報の量が増加する。そのため、特許文献1に記載された鍵管理システムは、システム運用開始時に存在した受信者を無効化する場合の送信する鍵情報の量は小さくて済むが、最後に加入した最下層に存在するリーフに割り当てられた受信者を無効化する場合の送信する鍵情報の量は非常に大きくなるといった問題点も存在する。
Tomoyuki Asano, "A revocation scheme with minimal storage at receivers", Lecture Notes in Computer Science, Vol.2501, pp433-450, 2002 特開2003−204321号公報
本発明が解決しようとする課題には、上記のようなものが例として挙げられる。本発明は、木構造を用いて鍵管理を行う鍵管理システムにおいて、受信者が保有すべき秘密情報、及び送信される鍵情報の量を増やすことなく、受信者を上限なくシステムに追加可能な鍵管理システムと、上記の鍵管理システムにて暗号化された鍵を復号することが可能な再生装置と、を提供する。
請求項1に記載の発明は、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶手段と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、前記木構造の最下位ノードに受信者を割り当てる手段と、前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張手段と、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えていることを特徴とする。
請求項2に記載の発明は、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶手段と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張手段と、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えていることを特徴とする。
請求項に記載の発明は、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理方法は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶工程と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶工程と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶工程と、前記木構造の最下位ノードに受信者を割り当てる工程と、前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張工程と、任意の二つ以上の素数の積である合成数を記憶する第四記憶工程と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶工程と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算工程と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算工程と、を備えていることを特徴とする。
請求項に記載の発明は、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理方法は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶工程と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶工程と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶工程と、前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張工程と、任意の二つ以上の素数の積である合成数を記憶する第四記憶工程と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶工程と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算工程と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算工程と、を備えていることを特徴とする。
請求項に記載の発明は、鍵管理プログラムは、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理コンピュータを、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶手段、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段、前記木構造の最下位ノードに受信者を割り当てる手段、前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張手段、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段、として機能させることを特徴とする。
請求項に記載の発明は、鍵管理プログラムは、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理コンピュータを、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶手段、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段、前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張手段、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段、として機能させることを特徴とする。
本発明の好適な実施形態では、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶手段と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、前記木構造の最下位ノードに受信者を割り当てる手段と、前記木構造の最下位ノードのうち
受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリー
フに暗号/復号鍵を割り当てる第一拡張手段と、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えている。
上記の鍵管理装置は、コンテンツ等の著作権の保護を目的とし、鍵情報を管理するための手法として木構造を用いた鍵管理方式を採用している。この鍵管理システムを採用した情報配信システムは、鍵管理機関、情報送信者、情報受信者等から構成される。上記の鍵管理装置は、鍵管理システムの中で鍵管理機関として機能することができる(以下では、鍵管理装置を「鍵管理機関」とも呼ぶ)。鍵管理機関は、送信者(例えば、記録媒体にコンテンツを記録する記録装置など)が伝送する暗号化情報を復号するための秘密情報と公開情報を各受信者(例えば、コンテンツを再生する再生装置など)に割り当てる。また、鍵管理機関は、暗号化情報を復号不可能にしたい受信者の集合から、前記集合以外の受信者のみが復号できるような鍵情報を生成し、伝送情報を暗号化するための情報暗号化用鍵と合わせて送信者への配送も行う。送信者は、鍵管理機関から配送された、伝送情報の情報暗号化用鍵を用いて伝送情報を暗号化して暗号化情報を作成し、鍵情報と一緒に暗号化情報を受信者に伝送する。無効化されていない受信者については、暗号化情報を受信したとき、受信者が持つ秘密情報と公開情報と受信した鍵情報を用いて情報復号化用鍵を計算し、この情報復号化用鍵を用いて暗号化情報から受信情報を復号する。
ここで、上記の鍵管理装置は、木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として部分集合と関連付けて記憶する第一記憶手段を有する。また、ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、部分集合に関連付けて暗号/復号鍵(上記の情報暗号化用鍵及び情報復号化用鍵(セッション鍵)は、マスター鍵より定まる暗号/復号鍵にて算出される)を記憶する第三記憶手段を有する。この態様において、鍵管理装置は、木構造の最下位ノードに受信者を割り当てる手段を備え、木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に新たなリーフに暗号/復号鍵を割り当てる。即ち、新しい受信者を追加する場合、受信者が割り当てられていないリーフから1以上のリーフを生成して木を拡張する。これにより、新たに追加すべき受信者の数に応じて容易に木を拡張することができる。よって、木を拡張することにより、受信者の増加に応じて木に含まれるノードの数を必要最小限にすることができる。これにより、鍵管理機関は、ノードにマスター鍵及び暗号/復号鍵を割り当て際の演算量などを減らすことができる。
また、鍵管理装置は、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えている。好適には、全単射写像関数としてPseudo Random Permutation(PRP)が用いられる。これを用いると、親子の関係にあるノードに定義される部分集合に割り当てられる暗号/復号鍵の関係は無相関となる。よって、コンテンツ等の著作権などを安全に保護することができる。
本発明の他の観点では、少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置は、前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶手段と、前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張手段と、任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えている。
この態様では、鍵管理装置は、当該木のルートノードを子ノードとするような新たな親ノードを設定し、新たに設定された親ノードをルートノードとする木を生成する。これにより、全ての受信者は属する木のレイヤが同じになるため、算出すべきマスター鍵及び暗号/復号鍵の個数は全ての受信者で同じになる。したがって、受信者間で、暗号/復号鍵を算出するための演算量に差異は生じない。
更に、本発明の同様の観点では、本発明の鍵管理方法及び鍵管理プログラムに係る実施形態によれば、上述した本発明の鍵管理装置に係る実施形態と同様の各種利益を享受することができる。
以下、図面を参照して本発明の好適な実施例について説明する。まず、鍵管理方式について基礎的な説明を行い、続いて本発明の実施例に係る鍵管理方式を説明する。
(1.1)受信者の無効化機能を有する鍵管理方式
送信者が多数の受信者に対して同一の情報を伝送するシステムにおいて、信頼できる鍵管理機関が、あらかじめ全ての受信者に伝送情報を復号するための秘密情報を配布しておき、その秘密情報を持たない受信者が送信者からの情報を復号できないように、送信者側で情報を暗号化して伝送する方法がある。この場合に問題となるのは、全ての受信者が同一の秘密情報を保有している場合、悪意ある受信者が自分の保有する秘密情報を1回公開してしまえば、その後に伝送される情報は誰にでも復号が可能になってしまうことである。
この問題の対策として、鍵管理機関が受信者毎に異なる秘密情報を配布し、特定の受信者の秘密情報が漏洩した場合、その受信者の保有していた秘密情報を用いても伝送された情報を復号できないようにする手法、即ち、受信者の無効化機能を有する鍵管理方式がある。本発明はそのような鍵管理方式を扱う。
ここでは、受信者に最初に秘密情報(復号鍵等)を割り当てる以外は、受信者の保有する秘密情報を一切変更できないようなアプリケーションを想定している。
受信者の無効化機能を有する鍵管理方式を適用した情報配信システムの1つのモデルを図1及至3に示す。図1及び図2においては、情報配信システムは、鍵管理機関1、情報送信者2及び情報受信者3の3つの要素から構成される。一方、図3に示す情報配信システムは、鍵管理機関1、情報送信者2、情報受信者3、公開情報掲示板10の4つの要素から構成される。以下、図1から順に具体的に説明する。
図1においては、鍵管理機関1は、情報送信者2が伝送する暗号化情報6bを復号するための秘密情報7と公開情報8を各受信者に割り当てる。公開情報8については、鍵管理方式によっては存在しない場合もあるが、秘密情報7は必ず存在する。また、鍵管理機関1は、暗号化情報6bを復号不可能にしたい受信者(今後、ある特定の受信者に対して、伝送される情報を復号できないようにすることを「受信者の無効化」と呼ぶ)の集合を決め、前記集合以外の受信者のみが復号できるような鍵情報4を生成し、伝送情報6aを暗号化するための鍵(情報暗号化用鍵5)とあわせて情報送信者2への配送も行う。ここで各受信者に割り当てる秘密情報7と、伝送情報6aの暗号化に用いられる鍵(情報暗号化用鍵5)の生成・保管・配送は安全に行われるものと仮定する。
情報送信者2は、鍵管理機関1から配送された、伝送情報6aの情報暗号化用鍵5を用いて伝送情報6aを暗号化して暗号化情報6bを作成し、無効化されていない受信者のみが復号できる鍵情報4と一緒に暗号化情報6bを受信者に伝送する。
無効化されていない受信者については、暗号化情報6bを受信したとき、受信者が持つ秘密情報7と公開情報8と受信した鍵情報4を用いて情報復号化用鍵9を計算し、この情報復号化用鍵9を用いて暗号化情報6bから受信情報6cを復号する。逆に無効化されている受信者については、そのような受信者が複数結託しても、暗号化情報6bに関して何の情報も得られない。また、ここでは多数の受信者の存在を想定している。
次に、図2に示す情報配信システムは、鍵管理機関1は、鍵情報4のみを情報送信者2に配送し、情報暗号化用鍵5は配送しないシステムである。この場合、情報送信者2は情報受信者3と同様に、鍵管理機関1から得た秘密情報7と公開情報8とから情報暗号化用鍵5を計算する。そのため、情報受信者2には、秘密情報7と公開情報8を、鍵管理機関1が割り当てておく必要がある。
次に、図3に示す情報配信システムは、公開情報8を鍵管理機関1が保有するのではなく、例えばネットワーク上の公開掲示板10のような公開の場に保存し、情報を暗号化・復号化する毎に情報送信者2又は情報受信者3が公開掲示板10にアクセスしてダウンロードするというようなシステムである。
以下、上記構成要素について詳しく説明する。
を全ての受信者の集合とし、その要素数を||=Nとする。の部分集合を無効化したい受信者の集合とし、その要素数を||=rとする。受信者の無効化機能を有する鍵管理方式の目的は、鍵管理機関(又は情報送信者)が受信を許可した受信者、つまり集合に含まれない全ての受信者u∈が伝送される情報を復号でき、逆に受信を許可されていない集合に含まれる受信者全てが結託しても全く暗号化情報を得られないようにすることである。
(a)鍵管理機関
(i)初期設定
受信者全体の集合の部分集合 1 2、…、 w(∀j、 j)を定義する。各 jには暗号(復号)鍵Ljが割り当てられる。ここで、各Ljは一様に分布しており、互いに独立な値を割り当てるのが望ましい。各受信者(受信装置)uには、秘密情報SIuと公開情報PIuを割り当てる。ここで jに含まれる全ての受信者u∈ jが、自分に割り当てられた秘密情報SIuと公開情報PIuから、自分の属する部分集合 jに割り当てられた復号鍵Ljを求められるように秘密情報SIuと公開情報PIuを割り当てなければならない。また、 jに含まれない全ての受信者u∈ jが結託しても復号鍵Ljを求めることができないように秘密情報SIuと公開情報PIuを割り当てなければならない。
(ii)鍵情報生成
(1)伝送情報Mの暗号化、復号化に用いる鍵(即ち、上述した情報暗号化用鍵5又は情報復号化用鍵9であり、以下では、これらを「セッション鍵」とも呼ぶ)Kを選ぶ。
(2)無効化する受信者の集合Rの補集合に属する受信者u∈をいくつかの部分集合 i1 i2、…、 imに分割する。
Figure 0004583069
ここで、初期設定で上記部分集合に割り当てられた暗号/復号鍵をそれぞれLi1、Li2、…Limとする。なお、Li1、Li2、…Limは、情報送信者2にとってはセッション鍵を暗号化するための暗号鍵であり、情報受信者3にとってはセッション鍵を復号化するための復号鍵であるため、以下では暗号鍵と復号鍵をまとめて「暗号/復号鍵」とも呼ぶ。
(3)暗号/復号鍵Li1、Li2、…Limを用いてセッション鍵Kをm回暗号化して式(1-2)を生成、セッション鍵Kと一緒に情報送信者2に配送する。
Figure 0004583069
i1、i2、…imは、各受信者ujが鍵情報式(1-2)の中から自身に割り当てられた復号すべき暗号文Eenc(K,Lij)を特定するためのインデックス情報である。
ここで、情報送信者2へのセッション鍵の配送は安全に行われるものと仮定する。また、Eencは暗号化アルゴリズムである。本システムで用いられる暗号、復号化アルゴリズムは2種類あり、以下にまとめる(ただし、2つのアルゴリズムに全く同じものを使用しても構わない)。
・伝送情報Mの暗号化アルゴリズムFenc、復号化アルゴリズムFdec
セッション鍵Kを用いて暗号文CK=Fenc(M、K)を生成する。高速性が要求される。
・セッション鍵暗号化アルゴリズムEenc、復号化アルゴリズムEdec
セッション鍵の配送に用いる。Fencよりも暗号化アルゴリズムの安全性が要求される。
なお、情報送信者2へのセッション鍵の配送を行わない場合は、初期設定において、送信者にも受信者と同じように秘密情報、公開情報を割り当て、それらと鍵情報からセッション鍵の計算が可能なようにしておく。
(b)情報送信者
セッション鍵Kと特定の受信者のみが復号できる鍵情報を鍵管理機関から受け取り、セッション鍵Kを鍵として暗号化アルゴリズムFencを用いて伝送情報Mを暗号化して、暗号化情報
Figure 0004583069
を伝送する。
(c)情報受信者
受信者uは、情報送信者により暗号化された次の暗号化情報を受信する。
Figure 0004583069
(1)u∈ ijであるようなijを探索する。(u∈の場合、存在しない。)
(2)自身の保有する秘密情報SIuと公開情報PIuからLijを求める。
(3)K=Edec(Cij、Lij)を求める。
(4)M=Fdec(CK、K)を求める。
上記鍵管理方式を実現するアルゴリズムとして、例えば以下のような鍵管理方式がある。
・The Complete Subtree Method
・The Subset Difference Method
・Tree Pattern Division Method
上記方式の違いとしては、(1)受信者の部分集合 、…、 wの定義、(2)各部分集合に対する暗号/復号鍵L Sj、公開情報PIの割り当て方法、(3)受信を許可する(無効化しない)受信者の集合の分割方法、(4)各受信者uへのSIu、PIuの割り当て方法と、SIu、PIuから受信者の属する部分集合 jに割り当てられた鍵L Sjの求め方等が挙げられる。
各方式は以下の4つの観点から評価される。
・伝送する鍵情報の量
式(1−2),式(1−3)の[ ]の部分であり,暗号文Fenc(M、K) 以外にコンテンツ復号のために必要な伝送情報。一般にを分割した部分集合の数mに比例する。
・受信者が保有しておく秘密情報SIuの量
復号用の鍵等の秘密情報を受信者がどれだけ保持しておかなければならないか。
・受信者が復号鍵を得るために必要とする公開情報PIuの量
復号鍵を求めるための公開情報を受信者がどれだけ保持しておかなければならないか。
・受信者が伝送された情報を復号するのに要する演算量
(1.2)基礎となる方法
次に、本発明の実施例の基礎となる方法として、Three Pattern Division Method、Master Key Method等にて用いられている鍵管理方式について示し、木構造を用いた鍵管理方式の基本的な概念について説明する。
(1.2.1)部分集合 1 2、…、 wの定義
最初に受信者全体の集合の部分集合 1 2、…、 wを定義する。この部分集合に対して暗号/復号鍵Li1、Li2、…Limを割り当てることになる。N枚のリーフを持つa分木のリーフに各受信者uj(j=1、2、…N)を割り当てる(ここでaはa>1を満たす整数、Nはaの冪であるとしている)。図4に、a=3、N=27の場合の例を示す。
a分木の各内部ノードvkについてvk(k=1、2、…、(N−1)/(a−1))と番号づけをする。ただしルートをv1とし、図4に示すように左側のノードから右側のノードへ、上位ノードから下位ノードの順番で行う。また各リーフに割り当てられている受信者uj(j=1、2、…N)も左から順番に番号づけする。
次に全ての内部ノードvk(k=1、2、…、(N−1)/(a−1))について2−2個の部分集合 k,b1b2…bi …baを定義する。ここで、biは式(2-1)を満たすものとする。
Figure 0004583069
部分集合 k,b1b2…bi …baは、ノードvkのa個の子ノードを左から順番にb1、b2、…、bi、…、baとしたときbi=1であるような子ノードの子孫であるリーフに割り当てられた受信者の集合として定義される。つまり、ノードvkのa個の子ノードの子孫に無効化されるべき受信者の割り当てられたリーフが存在する場合、その子ノードに対応するbi=0である。このときbi=0の子ノードを、「無効化ノード」と呼ぶ。ノードvkのa個の子ノードが無効化ノードであるか否かはbi∈{0、1}の値で示される。それらの値を左から順番にb12…bi…baとしたものを「ノード無効化パターン」と呼ぶ。
例えば、図4に示したa=3、N=27の場合、ルートノード(以下、単に「ルート」とも呼ぶ)であるv1に定義される部分集合は、 1,100 1,010 1,001 1,110 1,101 1,011 1,111であり、v2…v(N-1)(a-1)に定義される部分集合は、 k,100 k,010 k,001 k,110 k,101 k,011である。このとき、全ての受信者を含む集合としてa分木のルートv1について集合 1,11…1を定義する。また、部分集合 2,101は、ノードv2の子ノードv5、v6、v7の中でb1とb3に対応するv5、v7の子孫であるリーフに割り当てられた受信者u1、u2、u3、u7、u8、u9からなる部分集合である。
(1.2.2)各部分集合 k,b1b2…baに対する暗号/復号鍵Lk,b1b2…baの割り当て方法
鍵管理機関は部分集合 k,b1b2…baに対して、互いに独立な値を持つ暗号/復号鍵Lk,b1b2…baを割り当てる。図5に例として、a=3、N=27の場合のいくつかのノードとリーフについて仮想的に割り当てられている部分集合、暗号/復号鍵、また部分集合に含まれる受信者を示す。
(1.2.3)各受信者uへのSIuの割り当て方法と、SIuから受信者の属する部分集合 k,b1b2…baに割り当てられた暗号/復号鍵L Sk,b1b2…baの求め方
鍵管理機関は、受信者uの割り当てられたリーフからルートに至るパス上に存在する内部ノードvkについて定義されている部分集合 k,b1b2…baの中で、受信者uを要素として含むような部分集合に割り当てられた式(2-2)に示す個数の暗号/復号鍵Lk,b1b2…baを、秘密情報PIuとして直接受信者uに与える。
Figure 0004583069
例えば、a=3、N=27の場合の受信者u20の保有する秘密情報SIu20を説明する。受信者u20が含まれる部分集合は、 1,111 1,001 1,101 1,011 4,100 4,110 4,101 11,010 11,110 11,011である。また、受信者u20が保有する秘密情報SIu20は、これらの部分集合と対応し、L1,111、L1,001、L1,101、L1,011、L4,100、L4,110、L4,101、L11,010、L11,110、L11,011となる。
(1.2.4)受信者の集合の分割方法
受信を許可する(無効化しない)受信者の集合を、上記で定義された部分集合に分割する方法を説明する。最初に、鍵管理機関は無効化したい受信者に対応するリーフからルートに至るパス上に存在する全ての内部ノードを無効化ノードとする。無効化したい受信者が存在しない場合は、集合 1,11…1とする。無効化ノードをvkとしたとき、vkのa個の子ノード全てが無効化ノードである場合を除き、vkに対して定義されている部分集合 k,b1b2…bi …ba、(biは、式(2-1)を満たすものとする)を受信者の集合を構成する部分集合として選択する。ここで、ノード無効化パターンb12…bi…baは、実際の無効化子ノードと一致するパターンを選ぶ必要がある。これにより、上記の無効化ノードに対して一つの部分集合が選択される。以上の処理を全ての無効化ノードについて行い、選択された部分集合がを構成する。このとき、無効化する受信者の数を||=rとすると、選択される部分集合の数の上限はr(logN/r+1)となる。
図6に、a=3、N=27の場合の、無効化したい受信者32(符号30は無効化しない受信者を示す。)をu3、u7、u8、u10、u11、u12、u16としたときの例を示している。この場合、無効化ノードはv1、v2、v3、v5、v7、v8、v10であり、子ノード全てが無効化ノードでない無効化ノードはv1、v2、v3、v5、v7、v10となる。よって、を構成する部分集合は、 1,001 2,010 3,010 5,110 7,001 10,011である。
(1.3)実施例に係る鍵管理方式
以下では、前述したMaster Key Methodを利用した本発明の実施例に係る鍵管理方式について説明する。なお、部分集合 1 2、…、 wの定義、及び受信者の集合の分割方法は、前述した基礎となる方法で示した鍵管理方式と同様であるため、説明は省略する。
(1.3.1)各部分集合 k,b1b2…baに対する暗号/復号鍵Lk,b1b2…ba、公開情報PIの割り当て方法
鍵管理機関は、2つの大きな素数(例えば512bit以上)q、qを選択し、その積Mを公開情報として公開する。各素数q、qは鍵管理機関で秘密に保持しておく。
次に式(3-1)を満たす互いに素な2−2個の自然数pb1b2…ba(例えば素数)を選択する。ここで、biは上記した式(2-1)を満たすものとする。
Figure 0004583069
以下では、2−2通り存在するインデックスb12…baをBと表記する。ここでλ(M)は、Carmichael関数と呼ばれ式(3-2)で与えられる。
Figure 0004583069
鍵管理機関は、部分集合 k,Bに素数pBを割り当て、各pBとこの割り当てを公開情報PIとして公開する。またEをノードvkについて定義された全ての部分集合Sk,Bに割り当てられた素数pBの積とする。すなわちE=p00…00100…01000…011…p11…100…p11…00111…110である。鍵管理機関は、ランダムにg1∈Z* Mを選び、ノードv1について定義されている2−2個の部分集合S1,Bに割り当てる暗号/復号鍵L1,Bを式(3-3)のように定める。ここでZ* Mは、正整数Mを法とした剰余環ZM={0、1、…、M−1}でMと互いに素となるものの集合である。これは法Mに関する既約剰余類と呼ばれ、乗法に関して群となる。また、g1は鍵管理機関が秘密に保持しておく。
Figure 0004583069
全ての受信者を含む集合 1,11…1については、割り当てる暗号/復号鍵L1,11…1を式(3-4)のように定める。
Figure 0004583069
ここで、任意の内部ノードvkについて定義された部分集合の中で、vkのa個の各子ノードvjについて次のようなインデックス集合を定義する。vjの子孫となるリーフに割り当てられた受信者を含むような部分集合 k,BのインデックスBの集合を、インデックス集合ALjと定義する。次に、各子ノードvjについて式(3-5)で与えられるマスター鍵を定義する。
Figure 0004583069
式(3-5)で定義されるマスター鍵からノードvkについて定義された部分集合 k,Bの中で、インデックス集合ALjに含まれるインデックスをもつ部分集合 k,i(i∈ALj)に割り当てられた暗号/復号鍵については、式(3-6)に示すように求めることができる。
Figure 0004583069
しかし、インデックス集合ALjに含まれないインデックスをもつ部分集合Sk,i(i∈ALj)については、マスター鍵MKk,jのpi乗根を求めることが困難であるため、暗号/復号鍵Lk,i(i∈ALj)を求めることができない。
次に、図4に示したa=3、N=27の木構造を有する鍵管理構造があるとき、v1の子ノードv4について定義された2−2個の部分集合S4,Bに割り当てる暗号/復号鍵L4,Bについて考える。最初に、v1の子ノードv4について式(3-7)で定義されるMK1,4を計算する。
Figure 0004583069
ノードv1と同様にノードv4について定義されている2−2個の部分集合 4,Bに割り当てる暗号/復号鍵L4,Bを、式(3-8)のように定める。
Figure 0004583069
ここで、g4は式(3-9)により定義される。
Figure 0004583069
また、Pseudo Random Permutation(PRP)は0以上でMより小さい整数を入出力としてもつような全単射写像関数である。ただし、ここで法をMとする冪乗剰余関数をPRPとして用いてはならない。このPRPは、全ての受信者に対して公開される。以下では、「PRP-1」は、PRPの逆関数として用いる。
鍵管理機関は、MK1,4からPRP-1を用いてg4 を計算した後、g4 からそのE乗根を求めてg4を得る。鍵管理機関は法Mの素因数q,qを保有しているため、式(3-2)のλ(M)を求めることができる。λ(M)が与えられれば、Eのλ(M)を法とする乗法の逆元Dをユークッリドの互除法などにより求め、式(3-10)を計算すればよい。なお、上記では、gからMKを求める際にPRPを用い、MKからgを算出する際にPRP-1を用いるものについて示したが、gからMKを求める際にPRP-1を用い、MKからgを算出する際にPRPを用いても良い。
Figure 0004583069
計算されたg4に対して、ノードv1について行った方法と同様の方法で、式(3-8)に示すようにノードv4に定義されている部分集合 4,Bへの暗号/復号鍵L4,Bの割り当てを行えばよい。
以下同様に、全ての内部ノードvk(k=1、2、…、(N−1)/(a−1))について、ノードvkに定義されている部分集合 k,Bへの暗号/復号鍵Lk,Bの割り当てを行う。
図7に例として、a=3、N=27の場合のノードv1,v4に定義されている部分集合 1,B 4,Bへの暗号/復号鍵L1,B、L4,Bの割り当てを示す。
なお、上記の方法では、全ての受信者を含む集合 1,11…1については公開情報としての素数を割り当てていない。これは公開情報の量(素数の数)を減らすためであるが、割り当ててもよい。素数p1,11…1を割り当てたとすると、割り当てられる暗号/復号鍵L1,11…1は、式(3-11)のようになる。
Figure 0004583069
また、この場合、任意の内部ノードviについても、vi以下に存在する全てのリーフに割り当てられた受信者からなる部分集合 i,11…1に公開情報として素数pi,11…1を割り当てていると考えても問題ない。この場合、部分集合 i,11…1に割り当てられる暗号/復号鍵は式(3-12)のようになる。
Figure 0004583069
図8に、a=3、N=27の場合v1とv4について定義される部分集合への暗号/復号鍵の割り当て例を示す。上記のような割り当てを行った場合、任意の内部ノードvi以下に存在する全てのリーフに割り当てられた受信者からなる部分集合 i,11…1は二重に定義されている。これは、各内部ノードに定義される部分集合が、2−2個から2−1個に増えたためである。例えば、図8の部分集合 1,001と部分集合 4,111は、ともに受信者u19〜u27からなる集合であり、それぞれの部分集合に割り当てられている暗号/復号鍵L1,001、L4,111には式(3-13)に示す関係がある。この場合、どちらの値を用いても構わない。
Figure 0004583069
(1.3.2)各受信者uへのSIu,PIuの割り当て方法と、SIu,PIuから受信者の属する部分集合S k,Bに割り当てられた暗号/復号鍵L Sk,Bの求め方
鍵管理機関は、公開情報として、2−2個の素数pb1b2…baと合成数Mを受信者uに与える。なお、biは上記した式(2-1)を満たすものとする。
さらに、受信者uの親ノードvklogaNについて、式(3-5)で定義されるマスター鍵を受信者uへの秘密情報SIuとして割り当てる。受信者uの割り当てられているリーフをvklogaN+1とすると、受信者uの保有する秘密情報は式(3-14)で与えられる。
Figure 0004583069
ノードvklogaNについて定義されている部分集合klogaN,Bの中で、受信者uを含む部分集合は、インデックス集合ALklogaN+1に含まれるインデックスをもつ部分集合klogaN,l(l∈ALklogaN+1)である。部分集合klogaN,l(l∈ALklogaN+1)に割り当てられた暗号/復号鍵LklogaN,l(l∈ALklogaN+1)については、式(3-6)に示す方法により計算できる。
次にノードvklogaNの親ノードvklogaN-1について定義されているマスター鍵MKklogaN-1,klogaNを式(3-15)により求める。
Figure 0004583069
ノードvklogaNの場合と同様に、ノードvklogaN-1ついて定義されている部分集合klogaN-1,Bの中で、受信者uを含む部分集合klogaN-1,l(l∈ALklogaN,B)に割り当てられた暗号/復号鍵LklogaN-1,l(l∈ALklogaN)についても式(3-6)に示す方法により計算できる。
同様の処理をルートノードv1まで繰り返すことにより、受信者uを含む全ての部分集合に割り当てられた暗号/復号鍵を求めることができる。最後に、全ての受信者を含む集合 1,11…1に割り当てられた暗号/復号鍵L1,11…1については、式(3-16)を計算することにより求まる。
Figure 0004583069
図9に例として、a=3、N=27の場合の受信者u20の保有する秘密情報SIu20と公開情報、及びそれらからの暗号/復号鍵の計算方法を示す。u20に割り当てられた秘密情報MK11,20からノードv11に割り当てられたマスター鍵MK4,11を算出し、このマスター鍵MK4,11からノードv4に割り当てられたマスター鍵MK1,4が算出される。そして、これらのマスター鍵MK11,20、MK4,11、MK1,4から受信者u20が復号化に必要な暗号/復号鍵が求まる。
(1.3.3)効果
本実施例に係る鍵管理方式では、非特許文献1に記載された鍵管理システムと同様に、受信者の保有する秘密情報の量が受信者総数Nに依存しないために、受信者総数Nが大きい場合も常に一つ(例えば、1024bits)の秘密情報で十分である。しかし、非特許文献1に記載された鍵管理システムでは受信者の保有する公開情報(素数)の数が多くなってしまっていたが、上記の鍵管理方式では、それより少なくてよい(例えば、2−2個)。よって、システム全体で使用する公開情報(素数)の数が少ないため、鍵管理機関も容易にそれを生成、管理することができる。
また、本実施例に係る鍵管理方式では、受信者の割り当てられたリーフからノードに至るパス上に存在するノードに対して定義された全てのマスター鍵を、下のレイヤのノードに定義されたマスター鍵から順次求めることができる方式を取っている。更に、親子の関係にある二つのノードにそれぞれ定義された部分集合に対して割り当てられる暗号/復号鍵の関係を、全単射関数PRPを用いて相関の無い値にしている。以上により、マスター鍵を用いた暗号/復号鍵の割り当てをノード毎に独立して行うことができ、公開情報の量(素数の数)を大幅に減らすことができる。
(2.1)第1実施例に係るシステム拡張方法
以下では、本発明の第1実施例に係るシステム拡張方法について説明する。ここでは、受信者を鍵管理システムに上限なく追加して、システムを拡張することが可能な鍵管理方式について示す。なお、基本的なアルゴリズムには、前述の(1.3)に示した鍵管理方式を用いる。また、システムの拡張は、主に鍵管理機関が行うことができる。
まず、第1実施例に係る木の拡張方法の具体例について、図10及び図11を用いて説明する。
図10(a)に示すように、分木数がa=3で、2つのレイヤから構成される木があるとする。ここで,ルートノードの存在するレイヤをレイヤ0と定義し,ルートノードの子ノードの存在するレイヤをレイヤ1,孫ノードの存在するレイヤをレイヤ2というように定義しておく。この木には、まだリーフに受信者が割り当てられていない。また、木を拡張すべきか否かを判定するために、以下では閾値として「3」を用いるものとする。図10(a)で示した木は、受信者が割り当てられていないリーフの数が9個あり、これは閾値よりも大きい数であるので、木は拡張されない。
図10(b)に、この木にu1〜u6までの受信者を割り当てたものを示す。図示のように、受信者は紙面左から順に、リーフに割り当てられていく。
受信者の割り当てが完了したとき、受信者が割り当てられていないリーフの数は3個となる。この数は、閾値「3」以下であるので、木は拡張される。拡張された木を、図11(a)に示す。図示のように、新たなレイヤ3が生成されて木が拡張されていることがわかる(符号40にて示す部分)。図示のようにノードv5、v6、v7を親ノードとして、それぞれの下位に9つの子ノードが生成される。そして、新たな受信者u7〜u12を割り当てる場合、生成された上記の子ノードをリーフとして受信者が割り当てられる。
上記のように受信者u7〜u12が割り当てられたとき、受信者が割り当てられていないリーフの数は3個となる。よって、図11(b)のように、新たなレイヤ4が生成されて木が拡張される(符号41にて示す部分)。図示のように、ノードv10、v11、v12を親ノードとして、それぞれの下位に9つの子ノードが生成される。そして、新たな受信者u13〜u18を割り当てる場合、生成された上記の子ノードをリーフとして受信者が割り当てられる。
以上のように、第1実施例に係るシステム拡張方法では、新たな受信者を割り当てる際、受信者が割り当てられていないリーフ数が閾値以下である場合に拡張される。図12に示すように、新たなレイヤが上記のように順次生成されていくので、このシステムには無限に受信者を追加することができる。そのため、図示のように、受信者によって含まれるレイヤは異なっている。
次に、前述した具体例において、受信者が保有する公開情報、及び秘密情報、算出される暗号/復号鍵を図13に示す。図13には、例として受信者u4、u9、u13の場合を示す。ここでは、前述した本実施例に係る鍵管理方式を採用しているため、保有する公開情報は受信者全てで共通のものとなる。また、受信者は、秘密情報として1つの情報を保有するだけでよい。更に、受信者は、これらの公開情報と秘密情報を用いて、図13の下段に示すような暗号/復号鍵を算出する。暗号鍵/復号鍵は、受信者が割り当てられているリーフからノードに至るパス上に存在するノードに定義されたマスター鍵を求めていくことで、算出することができる。したがって、受信者が含まれるレイヤの位置によって、受信者が保有すべき情報量に差は生じない。即ち、初期に加入した受信者に比べ後に加入した受信者の方が、保有すべき情報が多いということはない。
また、第1実施例に係るシステム拡張方法では、新たに追加すべき受信者の数に応じて容易に木を拡張することができる。よって、木を拡張することにより受信者の増加に応じて木に含まれるノードの数を必要最小限にすることができるため、鍵管理機関は、ノードにマスター鍵及び暗号/復号鍵を割り当て際の演算量などを減らすことができる。したがって、この拡張方法は、新たに追加すべき受信者の数が少ない場合に有効となる。
(2.2)第2実施例に係るシステム拡張方法
次に、本発明の第2実施例に係るシステム拡張方法について説明する。ここでも、受信者を鍵管理システムに上限なく追加して、システムを拡張することが可能な鍵管理方式について示す。なお、基本的なアルゴリズムには、前述の(1.3)に示した鍵管理方式を用いる。また、システムの拡張は、主に鍵管理機関が行う。
第2実施例に係る木の拡張方法の具体例について図14を用いて説明する。図14(a)に示すように、分木数がa=3で、3つのレイヤから構成される木があるとする。この木には、既に受信u1〜u6が割り当てられている。図14(b)には、図14(a)で示した木に新たな受信者u7〜u9を追加した図を示している。
次に、図14(b)で示した状態の木に新たに受信者を割り当てることを考える。木には受信者が割り当てられていないリーフは存在しないため、新たなリーフを生成するように拡張される。これを図14(c)に示す。図示のように、ルートノードであったノードv1(符号43で示す)が子ノードとなり、新たなノードv5(符号44で示す)をルートノードとする木が生成される。これによって、木は符号45で示す部分にて拡張される。ここで,鍵管理に用いる木がa分木である場合,拡張前のルートノードを子ノードとして設定する際の設定パターンはa通り存在するが,どのパターンを用いても構わない。図14(c)の例では3通り(左端,中央,右端)の中から,左端を選択している。v5を親ノードとする子ノードはv1、v6、v7であり、v6はv8、v9、v10の親ノードとなり、v7も同様にv11、v12、v13の親ノードになる。そして、これらv8〜v13の下位には新たなリーフが生成される。図14(c)では、新たな受信者u10〜u18が、新たに生成されたリーフに割り当てられているものを示している。
以上のように、第2実施例に係るシステム拡張方法では、新たな受信者を割り当てる際、受信者が割り当てられていないリーフが存在しない場合に拡張している。図15に示すように、鍵管理機関はシステムに無限に受信者を割り当てることができる。なお、第2実施例に係るシステム拡張方法では、全ての受信者は同じレイヤに含まれており、このレイヤは木の最下層となる。
ここで、受信者が保有する公開情報、及び秘密情報、算出される暗号/復号鍵の具体例を図16に示す。図16には、例として受信者u4、u9、u13の場合を示す。ここでは前述した本実施例に係る鍵管理方式を採用しているため、保有する公開情報は受信者全てで共通のものとなる。また、受信者は、秘密情報として1つの情報を保有するだけでよい。第2実施例に係るシステム拡張方法においても、初期に加入した受信者と後に加入した受信者を比較した場合に、保有すべき情報量に差異が生じることはない。
更に、受信者は、これらの公開情報と秘密情報を用いて、図16の下段に示すような暗号/復号鍵を算出する。暗号鍵/復号鍵は、受信者が割り当てられているリーフからノードに至るパス上に存在するノードに定義されたマスター鍵を求めていくことで、算出することができる。第1実施例に係るシステム拡張方法では、下位の方向に新たなルーフを生成していったが、第2実施例に係るシステム拡張方法では、新たにルートノードを作成することにより横方向にリーフを生成している。そのため、第1実施例に係るシステム拡張方法では、暗号鍵/復号鍵を算出するための演算量が、後に加入した受信者の方が多くなっている。しかし、第2実施例に係るシステム拡張方法では、全ての受信者が含まれるレイヤの位置は同じであるため、算出すべき暗号/復号鍵の個数は同じになる。よって、暗号/復号鍵を算出するための演算量にも差異は生じない。
なお、第1実施例に係るシステム拡張方法と第2実施例に係るシステム拡張方法を併用し、特定の新規加入の受信者には加入前の送信情報の復号を許可し、他の加入した受信者には加入前の送信情報の復号許可を与えないという鍵管理システムを行っても良い。
(2.3)実施例のコンテンツ配信システム
本発明の実施例によるコンテンツ配信システムの概略構成を図17に示す。このシステムは、情報提供者12が各種の記憶媒体15をユーザに提供する。本実施例では、記憶媒体15は、例えばDVD−ROMなどの光ディスクを含む各種の記録媒体とすることが可能である。ユーザは再生装置13を所持し、当該再生装置13により記録媒体15から情報を再生する。再生装置13は内部に情報復号化用鍵9を有している。
ここで、図1に示したように、情報提供者12は鍵管理方式の3要素における情報送信者に対応し、再生装置13は情報受信者に対応する。即ち、情報提供者12は、映像/音声などのコンテンツ情報を情報暗号化用鍵5を使用して暗号化し、暗号化情報6bとして記録媒体15に記録する。また、情報提供者12は、無効化の対象となる再生装置13によっては復号できないが、無効化の対象とならない再生装置13によれば復号可能な鍵情報4を記録媒体15に記録する。そして、情報提供者12は記録媒体15を各再生装置13のユーザに提供する。
なお、再生装置13は、前述した第1実施例又は第2実施例に係るシステム拡張方法が用いられて鍵管理機関より、各々が木構造を構成するリーフに割り当てられているものとする。
無効化の対象とならない再生装置13は、自己の有する情報復号化用鍵9で鍵情報4を復号して暗号化情報6bの復号鍵を取得し、これで暗号化情報6bを復号して映像/音声などの情報を再生することができる。一方、無効化の対象となる再生装置13は、自己の情報復号化用鍵9により記録媒体15内の鍵情報4を復号することができないので、暗号化情報6bを復号する鍵を得ることができず、暗号化情報6bを再生することができない。こうして、本システムでは、記録媒体15上に記録された暗号化情報6bを特定の再生装置13のみにより再生可能とする。
本発明では、(1.3)にて示した鍵管理方式に従って、再生装置13側の情報復号化用鍵9及び記録媒体15に記録される鍵情報4を生成する。具体的には、再生装置13は、記憶媒体15から取得する鍵情報4と、鍵管理機関より予め与えられる公開情報及び秘密情報(その再生装置に対応するものである)と、から情報復号化用鍵9を生成する。このような鍵管理方式を用いることにより、再生装置13が記憶しておく秘密情報及び公開情報の量を少なくすることができる。
また、第1実施例又は第2実施例に係るシステム拡張方法を用いて、再生装置13が木を構成するリーフに割り当てられている場合は、再生装置13がシステムに追加されたのが初期であるか後であるかによらず、保有すべき秘密情報と公開情報の情報量には差は生じない。また、第2実施例に係るシステム拡張方法が用いられた場合には、再生装置13が暗号/公開鍵を算出するための演算量は、全ての再生装置13にて同じになる。
(3)コンテンツ配信システムの具体例
次に、本発明の実施例に係るコンテンツ配信システムの具体例について説明する。なお、このコンテンツ配信システムは、DVDなどの光ディスクを記録媒体として使用するものであり、ここでは特にDVD−ROMを例にとって説明する。このコンテンツ配信システムでは、情報送信者はコンテンツの著作権者、光ディスク製造工場などに相当する。一方、情報受信者はコンテンツの再生機能を有する装置(再生装置)であり、ハードウェア又はソフトウェアにより構成されている。
なお、以下の実施例の説明において、Encryption( )は暗号化アルゴリズム、Decryption( )は復号化アルゴリズムを表すものとする。また、Encryption(引数1、引数2)は引数2を暗号鍵として引数1を暗号化した暗号文を表し、Decryption(引数1、引数2)は引数2を復号鍵として引数1を復号したデータを表す。また、記号“|”は2つのデータの結合を表し、(データA)|(データB)のように用いる。
(3.1)コンテンツ記録装置
まず、コンテンツ記録装置について説明する。図18はコンテンツをディスクに記録するコンテンツ記録装置50の構成を示すブロック図であり、情報送信者としての前述のディスク製造工場などに設けられるものである。また、コンテンツ記録装置50の各部の信号S1〜S7の内容を図19及び図20に示している。なお、ここでのコンテンツは、情報送信者から情報受信者へ送信される前述の暗号化情報に対応するものである。
図18において、コンテンツ入力装置51はコンテンツを入力する装置であり、図19(a)に示すように、コンテンツに対応する信号S1を出力する。コンテンツとしては、通常、音楽、映像などのマルチメディアデータが代表的であるが、ここでのコンテンツはそれらに限定されるものではなく、文書などのデータも含まれる。また、コンテンツ入力装置51としては、コンテンツのマスターデータが記録された磁気テープや、DVD−R、DVD−RW、DVD−ROM、DVD−RAMなどの記録媒体を読み込んで信号S1を出力する回路や、LAN、インターネットなどの通信回線を経由してアクセスし、そのデータをダウンロードして信号S1を出力する回路などが挙げられる。
復号鍵入力装置52はコンテンツ復号用の鍵Kを入力する装置であり、図19(b)に示すように、コンテンツ復号鍵Kである信号S2を出力する。コンテンツ復号鍵Kは、情報送信者である著作権者、ディスク製造工場又は鍵管理機関により決定される。
暗号鍵入力装置53は、コンテンツ暗号鍵Kを入力する装置であり、図19(c)に示すように、コンテンツ暗号鍵Kである信号S3を出力する。コンテンツ暗号鍵Kとコンテンツ復号鍵Kには、次の関係が成立することが要求される。
P=Decryption(Encryption(任意のデータP、コンテンツ暗号鍵K)、コンテンツ復号鍵K)
コンテンツ暗号化装置54は、コンテンツ暗号鍵K(信号S3)を用いてコンテンツ(信号S1)を暗号化し、暗号化コンテンツである信号S4を出力する。信号S4を図19(d)に示す。
なお、この例ではコンテンツ暗号鍵Kを用いてコンテンツを直接暗号化しているが、コンテンツ自体を暗号化する必要は必ずしもない。例えば、コンテンツ自体は他の暗号鍵Cで暗号化し、暗号鍵Cに対応する復号鍵Cを上記のコンテンツ暗号鍵Kで暗号化して信号S4として出力してもよい。つまり、ここでいう「コンテンツ暗号鍵を用いてコンテンツを暗号化する」とは、コンテンツの復号化に少なくともコンテンツ復号鍵Kを必要とするような方法でコンテンツを変換することを意味する。
暗号鍵入力装置55は、コンテンツ復号鍵Kを暗号化するための複数の暗号鍵Liを入力する装置であり、m個の暗号鍵LI1、LI2、…LIm-1、LImを、前述の鍵管理方式のアルゴリズムに従って選択し、信号S5を出力する。信号S5を図19(e)に示す。これら複数の暗号鍵LI1、LI2、…、LIi…、LIm-1、LImの組み合わせにより、コンテンツを再生することができる再生装置(上述した「無効化の対象とならない受信者」)が一意に決まる。よって、暗号鍵LIiは再生を許可する権限を持つ機関(鍵管理機関又は情報送信者)により決定される。また、Header(暗号鍵LI1)、Header(暗号鍵LI2)…、Header(暗号鍵LIm-1)、Header(暗号鍵LIm)は,暗号鍵LI1、LI2、…LIm-1、LImそれぞれの識別情報を示しており、式(1−2)、式(1−3)のインデックス部分[i1,i2,…im]と同じものを表している。ここでは、Header(暗号鍵L)を暗号鍵Lのヘッダーと呼ぶ。
鍵暗号化装置56は、信号S5として得られる暗号鍵LIiを用いて、信号S2として得られるコンテンツ復号鍵Kを暗号化し、信号S6を出力する。図20(a)に信号S6を示す。なお、以下の説明では簡単のため、
信号S6=Header(暗号鍵L)|Encryption(コンテンツ復号鍵K、暗号鍵L)と表す。
記録信号生成装置57は、暗号化されたコンテンツと、複数の暗号鍵LIiで暗号化されたコンテンツ復号鍵Kとを合成して記録信号を生成する。より具体的には、記録信号生成装置57は、信号S4=Encryption(コンテンツ、コンテンツ暗号鍵K)と、信号S6=Header(暗号鍵L)|Encryption(コンテンツ復号鍵K、暗号鍵L)を結合し、それにエラー訂正符号を付加したものを信号S7として出力する。よって、図20(b)に示すように、信号S7は、コンテンツ暗号鍵Kで暗号化したコンテンツ、m個の暗号鍵LIiで暗号化されたコンテンツ復号鍵K及びヘッダーにエラー訂正符号を追加した信号である。
記録装置58は、生成された記録信号S7を光ディスクDに記録し、又は、光ディスクを製造するためのマスターディスクなどに記録信号S7をカッティングする装置であり、通常レーザ光源やレーザ発信器などを備える。
(3.2)コンテンツ再生装置
次に、上述のようにしてコンテンツが記録された光ディスクDからコンテンツを再生するためのコンテンツ再生装置60について説明する。図21はコンテンツ再生装置60の構成を示すブロック図である。また、コンテンツ再生装置60の各部の信号の内容を図22及び図23に示している。
図21において、情報読取装置61は光ピックアップなどの装置であり、光ディスクDに記録されている情報を読み取って信号S11を出力する。信号S11を、図22(a)に示す。
エラー訂正装置62は、入力された信号S11のエラー訂正を行う装置であり、信号S11中のECCに基づいてエラー訂正処理を実行する。そして、エラー訂正後の信号を信号S12と信号S13に分けてそれぞれ鍵復号装置64及びコンテンツ復号装置65へ供給する。信号S12は暗号鍵Liで暗号化されたコンテンツ復号鍵Kのデータであり、S12=Header(暗号鍵L)|Encryption(コンテンツ復号鍵K、暗号鍵L)で示される。一方、信号S13はコンテンツ暗号鍵Aで暗号化されたコンテンツのデータであり、S13=Encryption(コンテンツ、コンテンツ暗号鍵K)で示される。
記憶装置63は、再生装置が保有する複数の復号鍵LJ1、LJ2、…LJj…LJn-1、LJnとそのヘッダHeader(LJ1)、Header(LJ2)、…、Header(LJj)、…、Header(LJn-1)、Header(LJn)を保存しておく装置である。なお、ここでは記憶装置63はn個の復号鍵を保有していると仮定する。また、鍵管理機関は、コンテンツ復号鍵Kの暗号化用の暗号鍵LIiと再生を許可されている再生装置の保有する復号鍵LJjのうちの少なくとも1つは次の関係が整理するように、予め再生装置に復号鍵LJjを配布している:
P = Decryption(Encryption(任意のデータP、暗号鍵LIi)、復号鍵LJj
さらに、ヘッダーについては、上記の関係の暗号鍵LIiと復号鍵LJjに付加されたヘッダーについて次の関係が成立するようにヘッダーの値が決定されている:
Header(暗号鍵LIi)=Header(暗号鍵LJj
上記の関係が成立するように復号鍵LJjとそのヘッダーを各再生装置に(再生装置製造時に)配布するのは、上述の鍵管理機関であり、その際にどの再生装置にどの復号鍵LJjを配布するかの決定は、上述の鍵管理方式のアルゴリズムに従って行われる。
記憶装置63は、図23(b)に示すように、復号鍵LJ1|復号鍵LJ2|…|復号鍵LJn-1|復号鍵LJnと、そのヘッダーHeader(復号鍵LJ1)|Header(復号鍵LJ2)|…|Header(復号鍵LJn-1)|Header(復号鍵LJn)を出力する。
鍵復号装置64は、信号S12=Header(復号鍵L|Encryption(コンテンツ復号鍵K、暗号鍵L)と、信号S14=(復号鍵LJ1|復号鍵LJ2|…|復号鍵LJn-1|復号鍵LJn)とそのヘッダーHeader(復号鍵LJ1)|Header(復号鍵LJ2)|…|Header(復号鍵LJj)|…|Header(復号鍵LJn-1)|Header(復号鍵LJn)を入力とし、光ディスクDから読み取ったHeader(暗号鍵LIi)と再生装置が保有するHeader(復号鍵LJj)が一致するかを調べ、一致する時には復号鍵LJjを用いてEncryption(コンテンツ復号鍵K、暗号鍵LIi)を復号する。つまり、コンテンツ復号鍵K=Decryption(Encryption(コンテンツ復号鍵K、暗号鍵LIi),復号鍵LJj)となる。この処理を一致するヘッダーの組み合わせが見つかるようにI及びJの組み合わせを変えて実行し、図23(c)に示すように信号S15=コンテンツ復号鍵Kを出力する。こうして、復号されたコンテンツ復号鍵Kが信号S15としてコンテンツ復号装置65へ供給される。一方、一致するヘッダーの組み合わせがない場合は、再生不可能として全ての処理を終了する。
コンテンツ復号装置65は、図23(a)に示す信号S13=Encryption(コンテンツ、コンテンツ暗号鍵K)と、図23(c)に示す信号S15=Decryption(Encryption(コンテンツ復号鍵K、暗号鍵LIi)、復号鍵LJj)=コンテンツ復号鍵Kを入力とし、信号S15を用いて信号S13を復号し、その結果、Decryption(Encryption(コンテンツ、コンテンツ暗号鍵K)、コンテンツ復号鍵K)=コンテンツを信号S16として出力する。再生装置66はコンテンツ復号装置65により復号されたコンテンツを再生する。こうして、再生を許可された再生装置のみによりコンテンツの再生が行われる。
(3.3)鍵管理機関での処理
次に、鍵管理機関での処理について図24及至29を参照して説明する。なお、以下で説明する処理は著作権者やディスク製造工場などの情報送信者が行う場合もある。
鍵管理機関は、前述した鍵管理装置として機能する。鍵管理装置は、情報を記憶するメモリ、演算するCPUなどを備える。即ち、鍵管理機関が有するメモリは、前述した第一記憶手段、第二記憶手段、第三記憶手段、第四記憶手段、第五記憶手段として機能する。更に、鍵管理機関が有するCPUは、前述した第一演算手段、第二演算手段として機能する。以上により。鍵管理機関は、システムを拡張する第一拡張手段又は第二拡張手段として機能する。
以下で、具体的には鍵管理機関が行う処理について説明する。
(3.3.1)鍵情報生成処理
図24を用いて、鍵管理機関が行う鍵情報生成処理について説明する。
まず、ステップS111では、鍵管理機関は無効化する(即ち、コンテンツの受信を許可しない)受信者を決定する。
次に、ステップS111で選ばれた受信者の割り当てられたリーフからルートに至るパス上に存在するノードを全て無効化ノードとする(ステップS112)。そして、処理はステップS113に進む。
次に、ステップS113では、子ノード全てが無効化ノードである場合を除く全ての無効化ノードの無効化パターンに対応する暗号/復号鍵を、セッション鍵を暗号化するために選択する。
次に、セッション鍵をステップS113で選択した全ての暗号鍵でそれぞれ独立に暗号化し、複数の暗号化セッション鍵からなる鍵情報を生成する(ステップS114)。こうして、生成された鍵情報は、鍵管理機関が情報送信者に配送する。
(3.3.2)システム拡張処理
ここでは、図25及び図26を用いて、鍵管理機関が行うシステム拡張処理について説明する。
(a)第1実施例に係るシステム拡張方法を用いた場合
図25は、第1実施例に係るシステム拡張方法を用いた場合の、鍵管理機関によるシステム拡張処理を示すフローチャートである。なお、以下で示す処理は、新たな受信者を追加するごとに行うものとする。
まず、ステップS121では、鍵管理機関は、鍵管理に用いた木において、受信者が割り当てられていないリーフの数をカウントする。そして、処理はステップS122に進む。
ステップS122では、鍵管理機関は、カウントされたリーフ数が、閾値以上であるか否かを判定する。この閾値は、鍵管理機関内のメモリ等に予め記憶させておく。
リーフ数が閾値よりも大きい場合(ステップS122;No)は、ステップS125に進む。ステップS125では、残っているリーフに当該受信者を割り当てる。前述したように、受信者が割り当てられていないリーフの数が閾値よりも大きければ、木は拡張しない。よって、以上の処理が終了すると、処理は当該フローを抜ける。
一方、リーフ数が閾値以下である場合(ステップS122;Yes)は、ステップS123に進む。ステップS123では、鍵管理機関は、受信者の割り当てられていないリーフの下に、階層を増やして新たなリーフを生成する。受信者が割り当てられていないリーフの数が閾値以下であるので、木は拡張される。そして、処理はステップS124に進む。 ステップS124では、鍵管理機関は、生成したリーフに当該受信者を割り当てる。以上の処理が終了すると、処理は当該フローを抜ける。
なお、追加すべき受信者がまだ存在する場合には、上記の処理を再度行う。
(b)第2実施例に係るシステム拡張方法を用いた場合
図26は、第2実施例に係るシステム拡張方法を用いた場合の、鍵管理機関によるシステム拡張処理を示すフローチャートである。なお、以下で示す処理は、新たな受信者を追加するごとに行うものとする。
まず、ステップS131では、鍵管理機関は、鍵管理に用いた木において、受信者が割り当てられていないリーフの数をカウントする。そして、処理はステップS132に進む。
ステップS132では、鍵管理機関は、カウントしたリーフの数より受信者が割り当てられていないリーフが存在するか否かを判定する。第2実施例に係るシステム拡張方法では、木が有するリーフの全てに受信者を割り当てたとき(即ち、受信者が割り当てられていないリーフが存在しなくなるとき)に木を拡張するために、上記の判定を行っている。
受信者が割り当てられていないリーフが存在する場合(ステップS132;No)は、ステップS135に進む。ステップS135では、残っているリーフに当該受信者を割り当てる。以上の処理が終了すると、処理は当該フローを抜ける。
一方、受信者が割り当てられていないリーフが存在しない場合(ステップS132;Yes)は、ステップS133に進む。ステップS133では、鍵管理機関は、当該木のルートノードを子ノードとするような新たな親ノードを設定し、新たに設定された親ノードをルートノードとする木を生成する。ここで,鍵管理に用いる木がa分木である場合,拡張前のルートノードを子ノードとして設定する際の設定パターンはa通り存在するが,どのパターンを用いても構わない。図14(c)の例では3通り(左端,中央,右端)の中から,左端を選択している。そして、処理はステップS134に進む。
ステップS134では、鍵管理機関は、当該受信者を新たに生成された木のリーフに割り当てる。以上の処理が終了すると、処理は当該フローを抜ける。
なお、追加すべき受信者がまだ存在する場合には、上記の処理を再度行う。
(3.3.3)部分集合への暗号/復号鍵の割り当て処理
次に、鍵管理機関が行うノードに定義される部分集合への暗号/復号鍵の割り当て処理について、図27及至図29に示すフローチャートを用いて説明する。
(a)システム拡張前
図27を用いて、(1.3)にて示した鍵管理方式を採用する鍵管理機関が行う部分集合への暗号鍵の割り当て処理について説明する。ここでは、システムを拡張がされていない(即ち、システム拡張前)木を構成するノードに対して、暗号/復号鍵を割り当てる処理を示す。
まず、ステップS141では、鍵管理機関は、2つの大きな素数(例えば512bit以上)q,qを選択し、その積Mを公開情報として公開する。そして、処理はステップS142に進む。
次に、ステップS142では、鍵管理機関は、式(3-1)を満たす互いに素な2−2個の自然数pb1b2…ba(例えば素数)を選択し、各pb1b2…baをノード無効化パターンb12…baに割り当て、pb1b2…baとこの割り当てを公開情報として公開する。さらに、鍵管理機関は、ランダムにg1∈Z* Mを選ぶ。ここで、Z* Mは、正整数Mを法とした剰余環ZM={0、1、…、M−1}でMと互いに素となるものの集合である。これは,法Mに関する既約剰余類と呼ばれ、乗法に関して群となる。また、g1は鍵管理機関が秘密に保持しておく。そして、処理はステップS143に進む。
ステップS143では、鍵管理機関は、ルートノードv1について定義される2−2個の部分集合S1,b1b2…baに割り当てる暗号/復号鍵L1,b1b2…baを式(3-3)のように割り当てる。全ての受信者を含む集合 1,11…1には式(3-4)に示す暗号/復号鍵を割り当てる。また,v1の各子ノードvj,(j=2〜a+1)に式(3-5)に示したマスター鍵MK1,jを割り当てる。そして、処理はステップS144に進む。
ステップS144では、鍵管理機関は暗号/復号鍵が割り当てられていない部分集合が存在するかどうかを判定する。存在しない場合(ステップS144;No)、鍵管理機関はすべての部分集合に対して暗号/復号鍵を割り当てているので、部分集合への暗号/復号鍵の割り当て処理は終了する。
一方、暗号/復号鍵が割り当てられていない部分集合が存在する場合(ステップS144;Yes)は、ステップS145に進み、鍵管理機関は、自身に定義された部分集合に暗号/復号鍵が割り当てられておらず、マスター鍵は割り当てられているノードvjについて、自身に割り当てられたマスター鍵MKi,jからgj=PRP−1(MKi,jを計算する(例えば、式(3-10)に示すように計算する)。そして、処理はステップS146に進む。
ステップS146では、ノードvjについて定義される部分集合S j,b1b2…baに上記で求めたgjを用いて暗号/復号鍵Lj,b1b2…baを割り当て、各子ノードには、式(3-5)に示すマスター鍵を割り当てる。そして、処理はステップS144に戻り、再度処理を行う。ステップS144からステップS146までの処理は、すべての部分集合に暗号/復号鍵が割り当てられたとき処理は終了する。
こうして、部分集合に割り当てられた暗号鍵は、情報送信者が鍵情報を用いることにより計算することができ、部分集合に割り当てられた復号鍵は、再生装置などの情報受信者も情報送信者から鍵情報を取得することにより計算することができる。
(b)第1実施例に係るシステム拡張処理後
次に、図28に示すフローチャートを用いて、第1実施例に係る鍵管理処理後に暗号/復号鍵を割り当てる処理について説明する。なお、以下で説明する処理は、システムの拡張がされていない(即ち、システム拡張前)木を構成するノードに仮想的に割り当てられる部分集合に対して、既に暗号/復号鍵が割り当てられていることを想定している。
まず、ステップS151では、鍵管理機関は、暗号/復号鍵が割り当てられていない部分集合が存在するかどうかを判定する。存在しない場合(ステップS151;No)、鍵管理機関はすべての部分集合に対して暗号/復号鍵を割り当てているので、部分集合への暗号/復号鍵の割り当て処理は終了する。
一方、暗号/復号鍵が割り当てられていない部分集合が存在する場合(ステップS151;Yes)は、ステップS152に進み、鍵管理機関は、自身に定義された部分集合に暗号/復号鍵が割り当てられておらず、マスター鍵は割り当てられているノードvjについて、自身に割り当てられたマスター鍵MKi,jからgj=PRP−1(MKi,jを計算する(例えば、式(3-10)に示すように計算する)。例えばシステム拡張前の図12(レイヤ0〜2までしかノードが存在しない状態)においては,上記に該当するノードはv5、v6、v7のいずれかである。v5が選択されたと仮定すると,v5に割り当てられているマスター鍵MK4,5からg5=PRP−1(MK4,5を計算する。そして、処理はステップS153に進む。
ステップS153では、ノードvjについて定義される部分集合S j,b1b2…baに上記で求めたgjを用いて暗号/復号鍵Lj,b1b2…baを割り当て、各子ノードには、式(3-5)に示すマスター鍵を割り当てる。例えば図12のノードv5については,ノードv5について定義される部分集合S 5,100S 5,010S 5,001S 5,110S 5,101S 5,011に上記で求めたgjを用いて暗号/復号鍵L5,100,L5,010,L5,001,L5,110,L5,101,L5,011を割り当て、各子ノードには、式(3-5)に示すマスター鍵を割り当てる。そして、処理はステップS151に戻り、再度処理を行う。ステップS151からステップS153までの処理は、すべての部分集合に暗号/復号鍵が割り当てられたとき処理は終了する。
以上のように、本発明の第1実施例に係るシステム拡張方法を用いることで、鍵管理機関が全ての受信者に共通の公開情報及び1つの秘密情報を割り当てるため、受信者が位置するレイヤによって保有すべき情報量に差異は生じない。
(c)第2実施例に係るシステム拡張処理後
次に、図29に示すフローチャートを用いて、第2実施例に係る鍵管理処理後に暗号/復号鍵を割り当てる処理について説明する。なお、以下で説明する処理においては、システムの拡張がされていない(即ち、システム拡張前)木を構成するノードに仮想的に割り当てられる部分集合に対して、既に暗号/復号鍵が割り当てられていることを想定している。また,以下のアルゴリズムにおいて処理対象ノードという言葉を用いるが,最初はルートノードv1を表しているものとする。
まず、ステップS161では、鍵管理機関は、以下の式(3-17)を用いて処理対象ノードviに割り当てられた乱数giと公開情報からPRPを用いて処理対象ノードのマスター鍵MKj,iを求める。そして、処理はステップS162に進む。
Figure 0004583069
ステップS162では,処理対象ノードviのマスター鍵MKj,iから,viの親ノードvjに割り当てる乱数gjを式(3-18)を用いて求める。そして、処理はステップS163に進む。
Figure 0004583069
ステップS163では,ノードvjが拡張後ルートノードとなるかを判定する。ルートノードでない場合(ステップS163;No)は,処理対象ノードをvjに変更し,ステップS161に戻る。
一方,ノードvjが拡張後ルートノードとなる場合(ステップS163;Yes)は,ステップS164に進み,ステップS162で求めた乱数gjを用いて,ノードvjについて定義されている2−2個の部分集合Sj,b1b2…baに割り当てる暗号/復号鍵Lj,b1b2…baを式(3-19)のように割り当てる。全ての受信者を含む集合 1,11…1には式(3-21)に示す暗号/復号鍵を割り当てる。また,vjの各子ノードvk,(k=j+1〜j+1+a)に式(3-20)に示したマスター鍵MKj,kを割り当てる。そして、処理はステップS165に進む。
Figure 0004583069
Figure 0004583069
Figure 0004583069
ステップS165では、鍵管理機関はノードvj以下に存在するノードに定義される部分集合の中で,暗号/復号鍵が割り当てられていない部分集合が存在するかどうかを判定する。存在しない場合(ステップS165;No)、鍵管理機関はノードvj以下に定義される全ての部分集合に対して暗号/復号鍵を割り当てているので、部分集合への暗号/復号鍵の割り当て処理は終了する。
一方、暗号/復号鍵が割り当てられていない部分集合が存在する場合(ステップS165;Yes)は、ステップS166に進み、鍵管理機関は、自身に定義された部分集合に暗号鍵が割り当てられておらず、マスター鍵は割り当てられているノードvdについて、自身に割り当てられたマスター鍵MKc,dからgd=PRP−1(MKc,dを計算する(例えば、式(3-10)に示すように計算する)。そして、処理はステップS167に進む。
ステップS167では、ノードvdについて定義される部分集合S d,b1b2…baに上記で求めたgdを用いて暗号/復号鍵Ld,b1b2…baを割り当て、各子ノードには、式(3-5)に示すマスター鍵を割り当てる。そして、処理はステップS165に戻り、再度処理を行う。ステップS165からステップS167までの処理は、すべての部分集合に暗号/復号鍵が割り当てられたとき処理は終了する。
以上のように、本発明の第2実施例に係るシステム拡張方法を用いることで、全ての受信者が含まれるレイヤの位置は同じであるので、受信者が算出すべき暗号/復号鍵の個数が同じになる。したがって、受信者間で、暗号/復号鍵を算出するための演算量に差異は生じない。また、第1実施例に係るシステム拡張方法を用いる場合と同様に、受信者が保有すべき公開情報及び秘密情報の情報量に関しても差異は生じない。
(3.4)情報送信者が行う処理
以下では、図30を用いて情報送信者が行うコンテンツの暗号化処理の概要について説明する。この処理は、前述したコンテンツ記録装置50などが行う。
まず、ステップS211では、コンテンツ記録装置50は、鍵管理機関より鍵情報を取得する。コンテンツ記録装置50は、通信媒体経由などで鍵情報を取得することもできる。なお、コンテンツ記録装置50が予め鍵情報を保有している場合は、ステップS211での処理は行わない。
次に、ステップS212での処理は、情報配信システムが前述した図2又は図3にて示したシステムである場合に行われる処理である(したがって、図1の情報配信システムではステップS212の処理は行わなくてよい)。ここでは、コンテンツ記録装置50は、鍵情報とともに、秘密情報と公開情報を鍵管理機関より取得し(公開情報の場合は、公開情報掲示板より取得可能)、これらに基づいて暗号鍵を計算する。ここで情報送信者が無効化されている場合、暗号鍵は求まらないが、次のステップS213でそのような場合はフローを抜けるため問題にならない。暗号鍵は、式(3-6)に保有する秘密情報と公開情報を代入して求めることができる。以上の処理が終了すると、処理はステップS213に進む。
ステップS213では、コンテンツ記録装置50は、コンテンツを提供すべき情報受信者(コンテンツ再生装置60)が無効化されていないかどうかを判定する。無効化されている場合は(ステップS213;No)、処理を終了して当該フローを抜ける。また、ステップ213の処理をステップ212の処理の前にしても構わない。この場合、無効化されている情報送信者が先に除外されるため、ステップS212では、必ず暗号鍵が求まる。
無効化されていなければ(ステップS213;Yes)、処理はステップS214に進み、コンテンツ記録装置50は、ステップS212にて計算された暗号鍵を用いてセッション鍵(即ち、情報暗号化用鍵)を計算する。そして、処理はステップS215に進む。
ステップS215では、コンテンツ記録装置50は、ステップS214で計算したセッション鍵を用いて伝送情報を暗号化して、暗号化情報を作成する。そして、処理はステップS216に進み、コンテンツ記録装置50は、情報受信者にこの暗号化情報と鍵情報を送信する。
(3.5)情報受信者が行う処理
次に、情報受信者が行う処理について図31及び図32を参照して説明する。なお、情報受信者は、例えば前述したようなコンテンツ再生装置60などがある。
(3.5.1)コンテンツ復号化処理
図31を用いて、コンテンツ再生装置60が行うコンテンツ復号処理の概要について説明する。なお、コンテンツ復号処理は、情報送信者が行うコンテンツ暗号化処理の逆の処理であり、実質的には同じ処理を行っている。
まず、ステップS311では、コンテンツ再生装置60は、コンテンツが記録された光ディスク等の記録媒体から暗号化情報及び鍵情報を取得する。また、コンテンツ再生装置60は、通信媒体経由などでこれらを取得することもできる。
次に、ステップS312では、コンテンツ再生装置60が保有する秘密情報、公開情報、及び取得した鍵情報を用いて復号鍵を計算する。この場合、図3で示した情報配信システムであれば、コンテンツ再生装置60は、公開情報掲示板から公開情報を取得する。復号鍵は、式(3-6)に秘密情報と公開情報を代入して求めることができる。ここで情報送信者が無効化されている場合、暗号鍵は求まらないが、次のステップS313でそのような場合はフローを抜けるため問題にならない。なお、ステップS312での復号鍵の計算に係る処理は、詳細は後述する。以上の処理が終了すると、処理はステップS313に進む。
ステップS313では、コンテンツ再生装置60は、自身が無効化の対象とされていないかを判定する。無効化されている場合は(ステップS313;No)、処理を終了して当該フローを抜ける。また、ステップ313の処理をステップ312の処理の前にしても構わない。この場合、無効化されている情報送信者が先に除外されるため、ステップS312では、必ず暗号鍵が求まる。
無効化されていなければ(ステップS313;Yes)、処理はステップS314に進み、コンテンツ再生装置60は、ステップS312にて計算された復号鍵を用いてセッション鍵(即ち、情報復号化用鍵)を計算する。そして、処理はステップS315に進む。
ステップS315では、コンテンツ再生装置60は、ステップS314で計算したセッション鍵を用いて暗号化情報を復号化して、受信情報を作成する。以上の処理にて、暗号化された情報は、コンテンツ再生装置60にて復号化される。
(3.5.2)暗号/復号鍵の計算に係る処理
図32を用いて、図31のステップS312での復号鍵(暗号/復号鍵)の計算に係る処理について具体的に説明する。図31ではS312の復号鍵の計算と、S313の情報受信者が無効化されているかのチェックを別の処理として記述しているが、ここでは二つの処理をまとめて記述する。この処理は、コンテンツ再生装置60が行うものとする。また、この処理は、(1.3)で示した鍵管理方式にて定義された復号鍵を求める処理である。
まず、ステップS321では、コンテンツ再生装置60は、鍵情報[i1,i2,…im,Eenc(K,Li1),Eenc(K,Li2),…,Eenc(K,Lim)]のインデックス部分[i1,i2,…im](即ち、前述したヘッダー部分である)から自身の含まれる部分集合を決定する。そして、処理はステップS322に進む。
ステップS322では、コンテンツ再生装置60は、上記の鍵情報内に自身が含まれる部分集合が存在するかどうかを判定する。即ち、処理を行っているコンテンツ再生装置60が、そのコンテンツの再生に関して無効化されていないかどうかを判定する。存在しない場合は(ステップS322;No)、復号鍵を計算する処理は終了する。
一方、自身が含まれる部分集合が存在する場合は(ステップS322;Yes)、処理はステップS323に進み、コンテンツ再生装置60は、カウンタx=1と設定する。このカウンタxは、コンテンツ再生装置60内のメモリなどに記憶させておく。そして、処理はステップS324に進む。
ステップS324では、コンテンツ再生装置60は、ステップS321で決定された自身の含まれる部分集合はレイヤ(W−x)に存在するノードに定義されているか否かを判定する。ここで,Wは受信者の割り当てられているリーフの存在するレイヤとしている。(1.3)にて示した鍵管理方式によれば、下位のレイヤから上位のレイヤへ向かって順にマスター鍵を計算していき、こうして求まったマスター鍵にて暗号/復号鍵が計算される。よって、下位から上位への計算は,ステップS321で決定された部分集合 ijに割り当てられた復号鍵Lijを、式(3-6)で求めることのできるマスター鍵が得られたら終了する。即ち、ステップS324での処理は、鍵情報の復号に用いる復号鍵を式(3-6)で求めることのできるマスター鍵が得られたかどうかを判定している。
自身の含まれる部分集合はレイヤ(W−x)に存在するノードに定義されていなければ(ステップS324;No)、処理はステップS325に進み、コンテンツ再生装置60は、式(3-22)を用いて,レイヤ(W−x)上のノードに割り当てられているマスター鍵から、その親ノードのマスター鍵を求める。このとき、x=1であれば、マスター鍵としてコンテンツ再生装置60が保有する秘密情報からレイヤ(W−1)に存在する親ノードのマスター鍵を求めることになる。こうして求まったマスター鍵は復号鍵を算出するために、コンテンツ再生装置60内のメモリなどに記憶される。以上の処理が終了すると、処理はステップS326に進む。
Figure 0004583069
ステップS326では、コンテンツ再生装置60は、カウンタxをx=x+1へと更新する。そして、処理はステップS324に戻り鍵情報の復号に用いる復号鍵を式(3-6)で求めることのできるマスター鍵が得られるまで上記の処理を繰り返す。
一方、自身の含まれる部分集合がレイヤ(W−x)に存在するノードに定義されている場合(ステップS324;Yes)、処理はステップS327に進み、自身を含む部分集合に割り当てられた暗号/復号鍵を計算する。このようにして、コンテンツ再生装置60は暗号/復号鍵を算出する。
なお、コンテンツ記録装置50が暗号/復号鍵を算出する際に行う処理も(即ち、図30に示したステップS212での処理)、上記と同様の手順で行うことができる。
本発明による鍵管理システムは、DVDプレイヤー、DVDレコーダー、PDP、携帯音楽プレイヤー、PCなど、光ディスクやネットワークなどの何らかの通信媒体を通じて著作権コンテンツを扱う各種の製品において利用することができる。
鍵管理方式を適用した情報送信システムの一例を示す図である。 鍵管理方式を適用した情報送信システムの他の一例を示す図である。 鍵管理方式を適用した情報送信システムの他の一例を示す図である。 鍵管理方式に用いられる木構造の例を示す図である。 基礎となる方式1の鍵管理方式におけるノードに割り当てられる暗号/復号鍵の例を示す。 鍵管理方式における受信者の集合の分割方法について示す図である。 本発明の実施例に係る鍵管理方式におけるノードに割り当てられる暗号/復号鍵の例を示す。 本発明の実施例に係る鍵管理方式におけるノードに割り当てられる暗号/復号鍵の他の例を示す。 本発明の実施例に係る鍵管理方式における受信者の暗号/復号鍵の算出方法を示す図である。 本発明の第1実施例に係るシステム拡張方法の例を示す。 図10に示すシステムを更に拡張した図を示す。 本発明の第1実施例に係るシステム拡張を繰り返し行った例を示す図である。 本発明の第1実施例に係るシステム拡張を行った場合の、受信者が算出すべき暗号/復号鍵などを示す図である。 本発明の第2実施例に係るシステム拡張方法の例を示す。 本発明の第2実施例に係るシステム拡張を繰り返し行った例を示す図である。 本発明の第2実施例に係るシステム拡張を行った場合の、受信者が算出すべき暗号/復号鍵などを示す図である。 本発明の実施例に係る鍵管理方式を適用した情報送信システムを示す図である。 コンテンツ記録システムの構成の一例を示すブロック図である。 図19に示すコンテンツ記録システムの各部の信号内容を示す図である。 図19に示すコンテンツ記録システムの各部の信号内容を示す図である。 コンテンツ再生システムの構成の一例を示すブロック図である。 図21に示すコンテンツ再生システムの各部の信号内容を示す図である。 図21に示すコンテンツ再生システムの各部の信号内容を示す図である。 鍵情報生成処理を示すフローチャートである。 本発明の第1実施例に係るシステム拡張処理を示すフローチャートである。 本発明の第2実施例に係るシステム拡張処理を示すフローチャートである。 システムが拡張されてない場合の、部分集合への暗号/復号鍵の割り当てを示すフローチャートである。 本発明の第1実施例に係るシステム拡張方法にてシステムが拡張されている場合の、部分集合への暗号/復号鍵の割り当てを示すフローチャートである。 本発明の第2実施例に係るシステム拡張方法にてシステムが拡張されている場合の、部分集合への暗号/復号鍵の割り当てを示すフローチャートである。 コンテンツの暗号化処理を示すフローチャートである。 コンテンツの復号化処理を示すフローチャートである。 暗号/復号鍵の算出処理を示すフローチャートである。
符号の説明
1 鍵管理機関
2 情報送信者
3 情報受信者
4 鍵情報
7 秘密情報
8 公開情報
12 情報提供者
13 再生装置
15 記録媒体
50 コンテンツ記録装置
60 コンテンツ再生装置

Claims (6)

  1. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置であって、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶手段と、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、
    前記木構造の最下位ノードに受信者を割り当てる手段と、
    前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張手段と、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えていることを特徴とする鍵管理装置。
  2. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理装置であって、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶手段と、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段と、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段と、
    前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張手段と、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶手段と、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段と、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段と、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段と、を備えていることを特徴とする鍵管理装置。
  3. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理方法であって、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶工程と、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶工程と、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶工程と、
    前記木構造の最下位ノードに受信者を割り当てる工程と、
    前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張工程と、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶工程と、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶工程と、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算工程と、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算工程と、を備えていることを特徴とする鍵管理方法。
  4. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理方法であって、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶工程と、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶工程と、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶工程と、
    前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張工程と、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶工程と、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶工程と、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算工程と、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算工程と、を備えていることを特徴とする鍵管理方法。
  5. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理コンピュータを、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として前記部分集合と関連付けて記憶する第一記憶手段、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段、
    前記木構造の最下位ノードに受信者を割り当てる手段、
    前記木構造の最下位ノードのうち受信者が割り当てられていないノードに新たなリーフを拡張すると共に、前記新たなリーフに暗号/復号鍵を割り当てる第一拡張手段、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶手段、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段、として機能させることを特徴とする鍵管理プログラム。
  6. 少なくとも一つのルートノードを有し、ノードの下位に複数のノードをリーフとして割り当てた木構造に関連付けて鍵情報を生成する鍵管理コンピュータを、
    前記木構造を構成する各々のノードに対する複数のリーフの組み合わせにより表現される部分集合において互いに素である自然数を公開情報として記憶する第一記憶手段、
    前記ノードに対するリーフに関連付けてマスター鍵を記憶する第二記憶手段、
    前記部分集合に関連付けて暗号/復号鍵を記憶する第三記憶手段、
    前記ルートノードをリーフとする新ノードを生成し、前記新ノードをルートノードとする木構造を追加すると共に、追加された木構造の各ノードに割り当てるマスター鍵を演算する第二拡張手段、
    任意の二つ以上の素数の積である合成数を記憶する第四記憶手段、
    前記合成数より小さく前記合成数と互いに素である任意の自然数である秘密情報が前記ルートノードと関連付けて記憶される第五記憶手段、
    前記秘密情報と前記公開情報とに基づき全単射写像関数を介して前記マスター鍵を演算する第一演算手段、
    前記マスター鍵と前記合成数に基づき前記暗号/復号鍵を演算する第二演算手段、として機能させることを特徴とする鍵管理プログラム。
JP2004147985A 2004-05-18 2004-05-18 鍵管理システム、及び再生装置 Expired - Fee Related JP4583069B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004147985A JP4583069B2 (ja) 2004-05-18 2004-05-18 鍵管理システム、及び再生装置
US11/131,296 US20060002565A1 (en) 2004-05-18 2005-05-18 Key management system and playback apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004147985A JP4583069B2 (ja) 2004-05-18 2004-05-18 鍵管理システム、及び再生装置

Publications (2)

Publication Number Publication Date
JP2005333241A JP2005333241A (ja) 2005-12-02
JP4583069B2 true JP4583069B2 (ja) 2010-11-17

Family

ID=35487619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004147985A Expired - Fee Related JP4583069B2 (ja) 2004-05-18 2004-05-18 鍵管理システム、及び再生装置

Country Status (2)

Country Link
US (1) US20060002565A1 (ja)
JP (1) JP4583069B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803596B1 (ko) * 2005-11-25 2008-02-19 삼성전자주식회사 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
US8290157B2 (en) * 2007-02-20 2012-10-16 Sony Corporation Identification of a compromised content player
US8989388B2 (en) * 2008-04-02 2015-03-24 Cisco Technology, Inc. Distribution of storage area network encryption keys across data centers
JPWO2009157050A1 (ja) * 2008-06-23 2011-12-01 三菱電機株式会社 情報処理装置及びプログラム
US9757071B1 (en) 2016-04-29 2017-09-12 Bayer Healthcare Llc System and method for suppressing noise from electrocardiographic (ECG) signals

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077131A (ja) * 2000-04-06 2002-03-15 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2003204321A (ja) * 2001-10-26 2003-07-18 Matsushita Electric Ind Co Ltd 著作物保護システム及び鍵管理装置
JP2003273862A (ja) * 2002-01-30 2003-09-26 Sony Corp 放送暗号化方法、放送復号方法及び受信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4934923B2 (ja) * 2001-08-09 2012-05-23 ソニー株式会社 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにコンピュータ・プログラム
US7308583B2 (en) * 2002-01-25 2007-12-11 Matsushita Electric Industrial Co., Ltd. Data distribution system
KR20050034639A (ko) * 2002-09-03 2005-04-14 마츠시타 덴끼 산교 가부시키가이샤 지역 한정 재생 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077131A (ja) * 2000-04-06 2002-03-15 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2003204321A (ja) * 2001-10-26 2003-07-18 Matsushita Electric Ind Co Ltd 著作物保護システム及び鍵管理装置
JP2003273862A (ja) * 2002-01-30 2003-09-26 Sony Corp 放送暗号化方法、放送復号方法及び受信装置

Also Published As

Publication number Publication date
US20060002565A1 (en) 2006-01-05
JP2005333241A (ja) 2005-12-02

Similar Documents

Publication Publication Date Title
US7757082B2 (en) Efficient revocation of receivers
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
EP1249962A1 (en) Information processing system and method
KR100777906B1 (ko) 정보 처리 시스템 및 방법
US20050271211A1 (en) Key management system and playback apparatus
JP2002198948A (ja) 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
JP2002198952A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP2001352321A (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
RU2369024C2 (ru) Система защиты информационного содержания, устройство генерации данных ключей и устройство воспроизведения
JP2005286959A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2006086568A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP4583069B2 (ja) 鍵管理システム、及び再生装置
JP2004120008A (ja) 鍵管理システム
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4161859B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US20050169481A1 (en) Method of assigning user keys for broadcast encryption
JP2005123678A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2003204321A (ja) 著作物保護システム及び鍵管理装置
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
US20070147603A1 (en) Copyright protection system, modular exponentiation operation apparatus, and modular exponentiation operation method
JP2004248272A (ja) コンテンツ再生のための鍵を管理する方法
JP4638176B2 (ja) 著作権保護システム、べき乗剰余演算装置、演算装置、鍵管理装置、再生装置、記録装置、記録媒体、べき乗剰余演算方法、演算方法、及びプログラム
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100729

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: 20100824

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100831

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: 20130910

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees