JP2004032707A - Revocation list preparation apparatus for public key certificate, revocation discrimination apparatus, and authentication system - Google Patents
Revocation list preparation apparatus for public key certificate, revocation discrimination apparatus, and authentication system Download PDFInfo
- Publication number
- JP2004032707A JP2004032707A JP2003120629A JP2003120629A JP2004032707A JP 2004032707 A JP2004032707 A JP 2004032707A JP 2003120629 A JP2003120629 A JP 2003120629A JP 2003120629 A JP2003120629 A JP 2003120629A JP 2004032707 A JP2004032707 A JP 2004032707A
- Authority
- JP
- Japan
- Prior art keywords
- public key
- information
- leaf
- tree structure
- nodes
- 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.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、公開鍵暗号技術を利用する認証技術に関し、特に無効化された公開鍵の証明書を特定する技術に関する。
【0002】
【従来の技術】
近年、インターネットの利用の急速な広がりにより、インターネットを通信の基盤とするシステムが増加している。例えば、インターネットを介して物品の売買を行う電子商取引がその1つである。
このような、インターネットを通信の基盤とするシステムにおいては、通信相手がシステムの正当な参加者であることを確認することが必須の条件となる。このような確認を認証という。通信相手が人間により操作される機器である場合や、通信相手が決められた手順で処理を行なう機器である場合があるが、以下ではこの両者を含めて機器という。そして通信相手を認証することを機器認証という。なお、機器自身が正当性を有すること、すなわち自分がシステムの正当な参加者であることを示すことを「証明する」といい、相手の正当性を確認することを「検証する」という。認証とは、証明及び検証の両方を含む概念である。
【0003】
機器認証においては、通常、暗号技術が用いられる。すなわち、証明者は、自身がシステムの正当な参加者であることを示すデータを秘密に有し,検証者に対してその秘密のデータを有することを示すことにより、自身の正当性を証明する。一方、検証者は、証明者が秘密のデータを有することを確認することにより、証明者の正当性を検証する。インターネットのような誰でもが通信データを入手できる通信路において,上記認証のための秘密のデータ(認証データ)は、認証に関連しない第三者にもれるものであってはならない。もしも、第三者に秘密のデータがもれてしまえば、その秘密のデータを入手した機器が、本来の機器になりすますことができるからである。そのために認証データは、暗号化されて検証者だけに伝送される。
【0004】
暗号技術には共通鍵暗号技術と公開鍵暗号技術とがある。共通鍵暗号技術では、暗号化のための鍵と復号のための鍵とは、同じ値を有する。一方、公開鍵暗号技術では、暗号化のための鍵と復号のための鍵とは、異なる値を有する。
共通鍵暗号技術を用いる認証においては,検証者は証明者と同じ秘密を持つので、検証者が証明者になりすます危険性がある。いわゆるパスワード方式はこれに該当する。一方、公開鍵暗号技術を用いる認証においては,証明者は公開鍵暗号技術の秘密鍵を用いて証明し、検証者はその秘密鍵に対応する公開鍵を用いて検証するのであり、公開鍵から秘密鍵は作成できないようになっているので、認証が終わった後で、検証者が証明者になりすますことができない。このため、上記の認証を行うには公開鍵暗号技術を用いる方が望ましい。
【0005】
なお、公開鍵暗号技術を用いる認証において、秘密鍵を用いて処理を行うことを署名するといい、秘密鍵に対応する公開鍵を用いてその署名の正当性を確認することを検証するという。
公開鍵暗号技術を用いる相手認証処理の1例は、次の通りである。すなわち、第1の機器は、第2の機器にチャレンジデータとして乱数データを送信し、続いて、第2の機器は、受信した乱数データに対して自分の秘密鍵で署名を行って署名文を生成して第1の機器にレスポンスデータとして返信し、最後に、第1の機器は、返信されてきた署名文に対して、第2の機器の公開鍵を用いて検証する。
【0006】
上述したような公開鍵暗号技術を用いる認証においては、公開鍵そのものが当該システム内で有効なものであることが前提となる。
このために、当該システムにおいて認証局と呼ばれる機関から、公開鍵が、各機器に対応する正当なものであることを示す「公開鍵証明書」(公開鍵に対する「お墨付き」となる)が発行されることが一般的である。公開鍵証明書は、機器の識別名、有効期限及び公開鍵などを結合したデータに認証局の電子署名が付加されたものであり、公開鍵証明書を受け取った機器は、そのデータに対する認証局の電子署名の正しさを確認し、さらに相手機器の識別名や現在の時間からその公開鍵証明書の記載内容を確認した上で、公開鍵の正しさを確認する。
【0007】
さらに、過去に発行された公開鍵証明書のうち、システムから排除され、正当ではないとされる機器の公開鍵証明書については、それらが無効化されていることを他の機器に知らせるために、無効化された公開鍵証明書を特定する情報の一覧に対して認証局の電子署名が付与された公開鍵証明書無効化リスト(Certificate Revocation List:以下、CRL)が発行される。
【0008】
このように、相手機器の公開鍵を用いてその相手機器を認証する際には、その相手機器の公開鍵証明書を入手し、入手した公開鍵証明書がCRLに登録されたものでないこと、つまり無効化されたものでないことを確認した上で、上述の認証処理を行うことで、不正な相手機器との取引を回避することができる。
なお、CRLの形式、実現例等については、公知の技術であるので、その詳細についてはここでは言及しない。その一例として、非特許文献1に、ISO/IEC/ITUにより定められたX.509標準で定義されるCRL形式(データ構造)が開示されている。
【0009】
また、非特許文献2及び非特許文献3には、無効化すべき多数の公開鍵証明書IDを格納するデータ形式の一つとして利用できる木構造型データ格納方式について、木構造を1次元で表現する表現方法が開示されている。この方法では、木構造の各ノードをある規則に従って並べることで、木構造を1次元で表現している。例えば、非特許文献3のp.136には、水準順の並べ方が示されている。この並べ方によると、水準(木構造における階層に相当する)については、小さい順に並べられ、それぞれの水準内については、その水準のノードの順に、左から右に並べられる。
【0010】
このような、特定の規則に基づく並べ方を利用することにより、機器では、1次元に並べた情報から木構造を構築することが可能となる。
上記に説明したように、機器は、相手機器の公開鍵を用いてその相手機器を認証するに先立って、CRLを取得し、取得したCRLを内部のメモリに記憶し、メモリに記憶しているCRLの中に、相手機器の公開鍵証明書IDが存在するか否かを確認し、存在しない場合に、前記認証を行う。このため、機器は、CRLを記憶するのに十分な容量のメモリを確保しておかなければならない。
【0011】
【非特許文献1】
「ディジタル署名と暗号技術」(山田慎一郎訳、ピアソン・エデュケーション発行、2000年)
【0012】
【非特許文献2】
「Manipulation of Trees in Information Retrieval」(G. Salton著、Communication of the ACM 5、1962年)
【0013】
【非特許文献3】
「基本算法/情報構造」(米田、筧訳、サイエンス社、昭和53年)
【0014】
【発明が解決しようとする課題】
しかしながら、従来のCRLは、全ての無効化する公開鍵証明書のIDを含んでおり、そのサイズは、無効化する公開鍵証明書の数に比例するため、無効化する公開鍵証明書が増加すると、それに伴いCRLのサイズが大きくなる。
このため、最大サイズのCRLを想定して、機器がCRLを格納するために十分な容量のメモリを確保することは、現実的ではないという問題点がある。
【0015】
例えば、システム全体の公開鍵証明書の総数を230(約10億個)とし、無効化された証明書の数をその0.01%の10万個とし、IDのサイズを30ビットと仮定する。このとき、従来のCRLでは、全てのIDを含むので、そのCRLのサイズは30ビット×10万=約375[KB]となる。従って、機器は、CRLを記憶するために、約375[KB]のメモリを確保すればよい。しかし、無効化された証明書の数が、0.02%の20万個であるなら、そのCRLのサイズは30ビット×20万=約750[KB]となり、機器は、約750[KB]のメモリを確保しなければならない。さらに、無効化された証明書の数が増えるならば、機器は、さらに多くの容量のメモリを確保しなければならない。
【0016】
【課題を解決するための手段】
上記の問題点を解決するために、本発明は、無効化すべき公開鍵証明書の数が増加してもCRLのサイズを小さく抑えることができる無効化リスト生成装置、無効判定装置、認証システム、無効リスト生成方法、プログラム、記録媒体、無効判定方法、プログラム及び記録媒体を提供することを目的とする。
【0017】
前記目的を達成するために、本発明は、公開鍵暗号を利用する認証システムであって、公開鍵暗号アルゴリズムにおける秘密鍵と公開鍵を有し、この秘密鍵を用いて通信相手に対して自己の正当性を証明する端末装置と、少なくとも前記端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置と、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置と、前記無効化リスト利用装置により有効と判断された公開鍵を用いて通信相手の行う自己正当性証明を検証する検証装置とから構成される。
【0018】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも1つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【0019】
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
また、本発明は、端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置である。
【0020】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも1つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【0021】
【発明の実施の形態】
1.第1の実施の形態
本発明に係る1の実施の形態としての著作物保護システム10について説明する。
1.1 著作物保護システム10の構成
著作物保護システム10は、図1に示すように、鍵管理装置100、鍵情報記録装置200、記録装置300a、300b、300c、・・・及び再生装置400a、400b、400c、・・・から構成されている。
【0022】
鍵管理装置100は、鍵情報記録装置200により、DVD−RAM等のレコーダブルメディアであって、今だ何らの情報も記録されていない記録媒体500aに鍵情報を記録して、鍵情報が記録された記録媒体500bを予め生成しておく。また、鍵管理装置100は、記録装置300a、300b、300c、・・・及び再生装置400a、400b、400c、・・・のそれぞれに対して鍵情報を復号するためのデバイス鍵を割り当て、割り当てられたデバイス鍵と、デバイス鍵を識別するデバイス鍵識別情報と、記録装置300a、300b、300c、・・・及び再生装置400a、400b、400c、・・・を識別するID情報とを、記録装置300a、300b、300c、・・・及び再生装置400a、400b、400c、・・・のそれぞれに予め配布しておく。
【0023】
記録装置300aは、それぞれ、デジタル化されたコンテンツを暗号化して、暗号化コンテンツを生成し、生成した暗号化コンテンツを記録媒体500bに記録して、記録媒体500cを生成する。再生装置400aは、記録媒体500cから暗号化コンテンツを取り出し、取り出した暗号化コンテンツを復号して、元のコンテンツを得る。記録装置300b、300c、・・・は、記録装置300aと同様に動作し、再生装置400b、400c、・・・は、再生装置400aと同様に動作する。
【0024】
なお、以下において、記録装置300b、300c、・・・及び再生装置400b、400c、・・・をユーザ装置と呼ぶことがある。
1.1.1 鍵管理装置100
鍵管理装置100は、図2に示すように、木構造構築部101、木構造格納部102、デバイス鍵割当部103、無効化装置指定部104、木構造更新部105、鍵情報ヘッダ生成部106及び鍵情報生成部107から構成されている。
【0025】
鍵管理装置100は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、鍵管理装置100は、その機能を達成する。
【0026】
(1)木構造格納部102
木構造格納部102は、具体的にはハードディスクユニットから構成されており、図3に一例として示すように、木構造テーブルD100を有している。
木構造テーブルD100は、図4に一例として示す木構造T100に対応しており、木構造T100を表現するためのデータ構造を示す。後述するように、木構造構築部101により木構造T100を表現するためのデータ構造が、木構造テーブルD100として生成され、木構造格納部102に書き込まれる。
【0027】
(木構造T100)
木構造T100は、図4に示すように、レイヤ0からレイヤ4までの5階層からなる2分木である。木構造T100は、2分木であるので、木構造T100が有する各ノード(リーフを除く)は、2本の経路を介して下位側の2個のノードにそれぞれ接続されている。レイヤ0にはルートである1個のノードが含まれ、レイヤ1には2個のノードが含まれ、レイヤ2には4個のノードが含まれ、レイヤ3には8個のノードが含まれ、レイヤ4にはリーフである16個のノードが含まれている。なお、木構造において下位側とはリーフ側を示し、上位側とはルート側を示している。
【0028】
木構造T100が有する各ノード(リーフを除く)と、下位側のノードとを接続する2本の経路のうち、一方である左の経路には、「0」の番号が割り当てられており、他方である右の経路には「1」の番号が割り当てられている。ここで、図4の紙面において、各ノードを中心として当該ノードから左側下方に接続されている経路を左の経路と称し、当該ノードから右側下方に接続されている経路を右の経路と称している。
【0029】
各ノードには、ノード名が付されている。ルートであるノードのノード名は、「ルート」である。また、レイヤ1を含め、レイヤ1より下位にあるレイヤに属するノードに対しては、レイヤ数が示す値と同じ文字数からなる文字列がノード名として付されている。この文字列は、ルートから当該ノードに至るまでの経路に割り当てられた番号を、上位から順に並べて生成されたものである。例えば、レイヤ1に属する2個のノードのノード名は、それぞれ「0」及び「1」である。また、レイヤ2に属する4個のノードのノード名は、それぞれ「00」、「01」、「10」及び「11」である。また、レイヤ3に属する8個のノードのノード名は、それぞれ「000」、「001」、「010」、「011」、・・・、「101」、「110」及び「111」である。また、レイヤ4に属する16個のノードのノード名は、それぞれ「0000」、「0001」、「0010」、「0011」、・・・、「1100」、「1101」、「1110」及び「1111」である。
【0030】
(木構造テーブルD100)
木構造テーブルD100は、木構造T100に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造T100を構成する各ノードにそれぞれ対応している。
各ノード情報は、ノード名、デバイス鍵及び無効化フラグを含む。
【0031】
ノード名は、当該ノード情報に対応するノードを識別するための名称である。デバイス鍵は、当該ノード情報に対応するノードに対して割り当てられた鍵である。
また、無効化フラグは、当該ノード情報に対応するデバイス鍵が無効化されているか否かを示すフラグであり、無効化フラグが「0」である場合には、無効化されていないことを示し、無効化フラグが「1」である場合には、無効化されていることを示す。
【0032】
木構造テーブルD100内には、次に示す順序規則1に従った順序により各ノード情報が記憶される。ここに示す順序規則1は、記録装置300a、300b、300c、・・・、再生装置400a、400b、400c、・・・により、木構造テーブルD100から各ノード情報がシーケンシャルに読み出される場合においても適用される。
【0033】
(a)木構造テーブルD100内には、木構造T100のレイヤ数の昇順に、各レイヤに属するノードに対応するノード情報が記憶される。具体的には、木構造テーブルD100内には、最初にレイヤ0に属する1個のルートに対応する1個のノード情報が記憶され、次に、レイヤ1に属する2個のノードに対応する2個のノード情報が記憶され、次に、レイヤ2に属する4個のノードに対応する4個のノード情報が記憶される。以下同様である。
【0034】
(b)各レイヤに属するノードについては、各ノードを識別するノード名の昇順により、対応するノード情報が記憶される。
具体的には、図3に示す木構造テーブルD100内には、次に示す順序により各ノード情報が記憶される。
「ルート」、「0」、「1」、「00」、「01」、「10」、「11」、「000」、「001」、「010」、「011」、・・・、「101」、「110」、「111」、「0000」、「0001」、「0010」、「0011」、・・・、「1100」、「1101」、「1110」、「1111」
ここでは、各ノード情報に含まれるノード名により、各ノード情報が記憶されている順序を示している。
【0035】
(2)木構造構築部101
木構造構築部101は、以下に示すようにして、デバイス鍵を管理するためのn分木のデータ構造を構築し、木構造格納部102に構築した木構造を格納する。ここで、nは2以上の整数であり、一例として、n=2である。
木構造構築部101は、最初に、ノード名として「ルート」を含むノード情報を生成し、木構造格納部102が有している木構造テーブルへ書き込む。
【0036】
次に、木構造構築部101は、レイヤ1について、2個のノードを識別するノード名「0」及び「1」を生成し、生成したノード名「0」及び「1」をそれぞれ含む2個のノード情報を生成し、生成した2個のノード情報をこの順序で、木構造格納部102が有している木構造テーブルへ追加して書き込む。
次に、木構造構築部101は、レイヤ2について、4個のノードを識別するノード名「00」、「01」、「10」及び「11」を生成し、生成したノード名「00」、「01」、「10」及び「11」をそれぞれ含む4個のノード情報を生成し、生成した4個のノード情報をこの順序で、木構造格納部102が有している木構造テーブルへ追加して書き込む。
【0037】
以降、木構造構築部101は、レイヤ3及びレイヤ4について、この順序で、上記と同様にして、ノード情報の生成と、木構造テーブルへの書き込みとを行う。
木構造構築部101は、次に、木構造のノード毎に乱数を用いてデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む。
【0038】
(3)デバイス鍵割当部103
デバイス鍵割当部103は、以下に示すようにして、木構造格納部102に格納されている木構造から、ユーザ装置が割り当てられていないリーフと、デバイス鍵を与えるべきユーザ装置を対応付けて適当なデバイス鍵を選択し、選択したデバイス鍵をユーザ装置へ出力する。
【0039】
デバイス鍵割当部103は、4ビット長の変数IDを有している。
デバイス鍵割当部103は、以下に示す処理(a)〜(f)を16回繰り返す。16回の繰り返しのそれぞれにおいて、変数IDは、「0000」、「0001」、「0010」、・・・、「1110」、「1111」の値を保持する。16回の繰り返しにより、デバイス鍵割当部103は、16台のユーザ装置のそれぞれにID情報と5個のデバイス鍵とを割り当てる。
【0040】
(a)デバイス鍵割当部103は、木構造格納部102が有する木構造テーブルから、「ルート」のノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。抽出したデバイス鍵が、ルートに割り当てられたデバイス鍵である。
(b)デバイス鍵割当部103は、木構造格納部102が有する木構造テーブルから、変数IDの先頭1ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Aとする。
【0041】
(c)デバイス鍵割当部103は、木構造格納部102が有する木構造テーブルから、変数IDの先頭2ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Bとする。
(d)デバイス鍵割当部103は、木構造格納部102が有する木構造テーブルから、変数IDの先頭3ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Cとする。
【0042】
(e)デバイス鍵割当部103は、木構造格納部102が有する木構造テーブルから、変数IDの先頭4ビットからなるノード名を含むノード情報を取得し、取得したノード情報に含まれるデバイス鍵を抽出する。ここで、抽出したデバイス鍵をデバイス鍵Dとする。
(f)デバイス鍵割当部103は、ID情報としての変数ID、ルートに割り当てられたデバイス鍵、各ノードに割り当てられたデバイス鍵A、B、C、D、、及び前記5個のデバイス鍵をそれぞれ識別する5個のデバイス鍵識別情報を、ユーザ装置が有する鍵情報記憶部へ書き込む。
【0043】
こうして、各ユーザ装置の鍵情報記憶部は、図8に一例として示すように、ID情報、5個のデバイス鍵識別情報及び5個のデバイス鍵を記憶する。ここで、5個のデバイス鍵識別情報と5個のデバイス鍵とは、それぞれ対応付けられている。各デバイス鍵識別情報は、対応するデバイス鍵が割り当てられているノードが属するレイアの数(レイア数)である。
【0044】
以上のようにして、16台のユーザ装置のそれぞれに、ID情報及び5個のデバイス鍵が割り当てられる。
一例として、図4に示す木構造T100は、上述したように、レイヤ数5の2分木であり、16個のリーフを含んでいる。ここで、ユーザ装置は、16台あるものとし、16台のユーザ装置は、各々16個のリーフに対応している。各ユーザ装置には、木構造T100において、対応するリーフからルートに至るまでの経路上に位置するノードに割り当てられたデバイス鍵がそれぞれ与えられる。例えば、ユーザ装置1には、IK1、KeyH、KeyD、KeyB、KeyAの5つのデバイス鍵が与えられる。また、例えば、ユーザ装置1には、ID情報「0000」が与えられ、ユーザ装置14には、ID情報「1101」が与えられる。
【0045】
(4)無効化装置指定部104
無効化装置指定部104は、鍵管理装置100の運営管理者から、無効化する1台以上のユーザ装置をそれぞれ識別する1個以上のID情報を受け付け、受け付けたID情報を木構造更新部105へ出力する。
(5)木構造更新部105
木構造更新部105は、無効化装置指定部104から1個以上のID情報を受け取る。ID情報を受け取ると、受け取った1個以上のID情報のそれぞれについて、次に示す処理(a)〜(d)を繰り返す。
【0046】
(a)木構造更新部105は、受け取ったID情報をノード名として含むノード情報を木構造格納部102が有する木構造テーブルから取得し、取得したノード情報に無効化フラグ「1」を付加し、無効化フラグ「1」が付加されたノード情報を、木構造テーブル上において、取得した前記ノード情報が記憶されていた位置に上書きする。
【0047】
(b)木構造更新部105は、受け取ったID情報の先頭3ビットをノード名として含むノード情報を木構造格納部102が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「1」を付加して木構造テーブルに上書きする。
(c)木構造更新部105は、受け取ったID情報の先頭2ビットをノード名として含むノード情報を木構造格納部102が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「1」を付加して木構造テーブルに上書きする。
【0048】
(d)木構造更新部105は、「ルート」をノード名として含むノード情報を木構造格納部102が有する木構造テーブルから取得し、上記と同様にして、取得したノード情報に無効化フラグ「1」を付加して木構造テーブルに上書きする。
以上説明したように、木構造更新部105は、無効化装置指定部104から受け取ったID情報に基づいて、木構造において、受け取ったID情報が示すリーフから、ノードまでの経路上に存在する全てのノードを無効化する。
【0049】
図4に示す木構造T100において、ID情報「0000」、「1010」及び「1011」により示されるユーザ装置が無効化されると想定する場合、上記のようにしてノードが無効化された木構造T200を図5に示す。
また、木構造テーブルD100は、木構造T200に対応して無効化フラグが付加されたものである。
【0050】
木構造T200において、ID情報「0000」により示されるユーザ装置1に対応するリーフからルートまでの経路に存在する全てのノード、ID情報「1010」により示されるユーザ装置11に対応するリーフからルートまでの経路に存在する全てのノード、及びID情報「1011」により示されるユーザ装置12に対応するリーフからルートまでの経路に存在する全てのノードに、×印が付されているが、これらのノードは、無効化されたノードを示している。
【0051】
木構造テーブルD100において、上記の無効化されたノードに対応するノード情報には、無効化フラグが付加されている。
(6)鍵情報ヘッダ生成部106
鍵情報ヘッダ生成部106は、レイヤ数を示す変数i及びレイヤに含まれるノード名を示す変数jを有している。
【0052】
鍵情報ヘッダ生成部106は、次に示す処理(a)を、木構造に含まれるレイヤ数分、繰り返す。レイヤ数分の繰り返しのそれぞれにおいて、レイヤ数を示す変数iは、「0」、「1」、「2」、「3」の値を保持する。
(a)鍵情報ヘッダ生成部106は、変数iによりレイヤ数が示されるレイヤに含まれる全てのノードの数だけ、ノード毎に次に示す処理(a−1)〜(a−3)を繰り返す。ここで、処理(a−1)〜(a−3)の対象となる対象ノード名を変数jにより示す。
【0053】
(a−1)鍵情報ヘッダ生成部106は、木構造格納部102が有する木構造テーブルから、変数jに「0」を結合して得られるノード名を含むノード情報を取得し、変数jに「1」を結合して得られるノード名を含むノード情報を取得する。
このようにして得られた2個のノード情報は、それぞれ、変数jにより示される対象ノードの直下に接続されている2個の下位ノードに対応している。
【0054】
(a−2)鍵情報ヘッダ生成部106は、取得した2個の前記ノード情報のそれぞれに含まれている無効化フラグの両方が「0」であるか、否かを調べ、両方が「0」でない場合に、取得した2個の前記ノード情報のそれぞれに含まれている2個の無効化フラグを、2個の前記ノード情報が木構造テーブルに格納されている順序で並べて、ノード無効化パターン(Node Revocation
Pattern、以下、NRPと呼ぶ。)を生成する。
【0055】
具体的には、取得した2個の前記ノード情報のそれぞれに含まれている無効化フラグが「0」及び「0」である場合には、ノード無効化パターンを生成しない。
また、取得した2個の前記ノード情報のそれぞれに含まれている無効化フラグが「1」及び「0」である場合には、NRP{10}を生成する。
【0056】
取得した2個の前記ノード情報のそれぞれに含まれている無効化フラグが「0」及び「1」である場合には、NRP{01}を生成する。
取得した2個の前記ノード情報のそれぞれに含まれている無効化フラグが「1」及び「1」である場合には、NRP{11}を生成する。
(a−3)鍵情報ヘッダ生成部106は、生成したNRPを鍵情報記録装置200へ出力する。
【0057】
以上説明したように、鍵情報ヘッダ生成部106は、木構造のレイヤ内のノード毎に、当該ノードの下位側に直接接続されている2個の下位ノードが無効化されているか否かを調べ、2個の下位ノードのいずれか一方が無効化されている場合には、上記に示すようにしてNRPを生成する。図5に示す木構造T200において、×印が付されたノードの近辺に、当該ノードに対応して生成したNRPを示している。
【0058】
また、鍵情報ヘッダ生成部106は、上記に示すような繰り返しにおいて、NRPを出力するので、図5に示す場合には、図6に一例として示す複数個のNRPが生成されて出力される。鍵情報ヘッダ生成部106は、これらの複数個のNRPをヘッダ情報として出力する。
図5に示す木構造T200において、ユーザ装置1、ユーザ装置11及びユーザ装置12がそれぞれ無効化されている。ここで、無効化されるべき各ユーザ装置に対応するリーフから、ルートに至るまでの経路上に存在するノード(図5において、×印が付されたノード)を無効化ノードと称する。また、1個のノードの子ノードが無効化ノードである場合を「1」、そうでない場合を「0」で表現し、それら子ノードの状態を左から順に連結したものが、そのノードのNRPである。NRPは、n分木の場合、nビットの情報である。図5における木構造T200のルートT201について、2つの子ノードが共に無効化ノードであるため、NRPは、{11}と表現される。また、ノードT202に付されたNRPは、{10}と表現される。また、ノードT203は、無効化ノードであるが、子ノードが存在しないリーフであるため、NRPは付加されない。
【0059】
図6に一例として示すように、ヘッダ情報D200は、NRP{11}、{10}、{10}、{10}、{01}、{10}、{11}から構成され、各NRPをこの順序で含んでいる。
なお、これらの複数個のNRPのそれぞれは、ヘッダ情報D200内において格納される位置が定められている。この位置は、上記の繰り返しにより定まるものである。図6に示すように、ヘッダ情報D200内に「0」、「1」、「2」、「3」、「4」、「5」及び「6」により定まる位置において、それぞれ、NRP{11}、{10}、{10}、{10}、{01}、{10}、{11}が配置されている。
【0060】
以上説明したように、鍵情報ヘッダ生成部106は、無効化ノードの1以上のNRPを抽出し、抽出したNRPを鍵情報のヘッダ情報として、鍵情報記録装置200へ出力する。このとき、鍵情報ヘッダ生成部106は、複数のNRPを水準順に並べる。すなわち、複数のNRPを上位レイヤから下位レイヤの順に並べ、レイヤが同じNRPついては、左から右への順に並べる。なお、NRPの並べ方はある規則に基づいていればよく、例えば、レイヤが同じ場合に右から左の順に並べるとしてもよい。
【0061】
(7)鍵情報生成部107
鍵情報生成部107は、鍵情報ヘッダ生成部106と同様に、レイヤ数を示す変数i及びレイヤに含まれるノード名を示す変数jを有している。
鍵情報生成部107は、次に示す処理(a)を、木構造に含まれ、レイヤ0を除くレイヤ数分、繰り返す。レイヤ数分の繰り返しのそれぞれにおいて、レイヤ数を示す変数iは、「1」、「2」、「3」の値を保持する。
【0062】
(a)鍵情報生成部107は、変数iによりレイヤ数が示されるレイヤに含まれる全てのノードの数だけ、ノード毎に次に示す処理(a−1)〜(a−3)を繰り返す。ここで、処理(a−1)〜(a−3)の対象となる対象ノード名を変数jにより示す。
(a−1)鍵情報生成部107は、木構造格納部102が有する木構造テーブルから、変数jをノード名として含むノード情報を取得し、取得したノード情報に含まれる無効化フラグが「1」であるか又は「0」であるかを判断する。
【0063】
(a−2)無効化フラグが「0」である場合に、鍵情報生成部107は、さらに、対象ノードの上位に接続されている上位ノードに対応するデバイス鍵による暗号化がされているか否かを判断する。
(a−3)暗号化がされていない場合に、鍵情報生成部107は、取得したノード情報に含まれるデバイス鍵を抽出し、暗号化アルゴリズムE1を適用して、抽出したデバイス鍵を用いて、生成されたメディア鍵を暗号化して、暗号化メディア鍵を生成する。
【0064】
暗号化メディア鍵=E1(デバイス鍵、メディア鍵)
ここで、E(A、B)は、暗号化アルゴリズムEを適用して、鍵Aを用いて、データBを暗号化することを示している。
また、暗号化アルゴリズムE1は、一例として、DES(Data Encryption Standard)である。
【0065】
次に、鍵情報生成部107は、生成した暗号化メディア鍵を鍵情報記録装置200へ出力する。
なお、無効化フラグ「1」が付されている場合、又は暗号化がされている場合には、処理(a−3)は、行われない。
以上説明したように、鍵情報生成部107は、上記に示すような繰り返しにおいて、暗号化メディア鍵を出力するので、図5に示す場合には、図7に一例として示す複数個の暗号化メディア鍵が生成されて出力される。鍵情報生成部107は、これらの複数個の暗号化メディア鍵を鍵情報D300として出力する。
【0066】
なお、これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報D300内において格納されている位置が定められている。この位置は、上記の繰り返しにより定まるものである。図7に示すように、鍵情報D300内に「0」、「1」、「2」、「3」及び「4」により定まる位置において、それぞれ、暗号化メディア鍵E1(KeyE、メディア鍵)、E1(KeyG、メディア鍵)、E1(KeyI、メディア鍵)、E1(KeyL、メディア鍵)、E1(IK2、メディア鍵)が配置されている。
【0067】
1.1.2 鍵情報記録装置200
鍵情報記録装置200は、鍵情報ヘッダ生成部106からヘッダ情報を受け取り、鍵情報生成部107から鍵情報を受け取り、受け取ったヘッダ情報と鍵情報とを記録媒体500aに書き込む。
1.1.3 記録媒体500a、b、c
記録媒体500aは、DVD−RAM等のレコーダブルメディアであって、今だ何らの情報も記録されていないものである。
【0068】
記録媒体500bは、記録媒体500aに、鍵管理装置100及び鍵情報記録装置200により、上記に述べたようにして、ヘッダ情報が付加された鍵情報が書き込まれたものである。
記録媒体500cは、記録媒体500bに、記録装置300a、300b、300c、・・・の何れかにより、上記に述べたようにして、暗号化コンテンツがが書き込まれたものである。
【0069】
図8に示すように、記録媒体500cは、ヘッダ情報が付加された鍵情報と暗号化コンテンツとを記録している。
1.1.4 記録装置300a、300b、300c、・・・
記録装置300aは、図8に示すように、鍵情報記憶部301、復号部302、特定部303、暗号部304及びコンテンツ記憶部305から構成されている。なお、記録装置300b、300c、・・・は、記録装置300aと同様の構成を有しているので、これらについて説明を省略する。
【0070】
記録装置300aは、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成され、前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、記録装置300aは、その機能を達成する。
記録装置300aには、記録媒体500bが装着される。記録装置300aは、自らが記憶しているID情報を元に記録媒体500bに記憶されているヘッダ情報の解析を行って、復号すべき暗号化メディア鍵の位置と、使用すべきデバイス鍵を特定し、特定したデバイス鍵を用いて復号してメディア鍵を獲得する。次に、獲得したメディア鍵を用いて、デジタル化されたコンテンツを暗号化し、暗号化コンテンツを記録媒体500bに記録する。
【0071】
(1)鍵情報記憶部301
鍵情報記憶部301は、ID情報と、5個のデバイス鍵と、5個のデバイス鍵をそれぞれ識別するための5個のデバイス鍵識別情報とを記憶するための領域を備えている。
(2)特定部303
特定部303は、鍵管理装置100が有する鍵情報ヘッダ生成部106が、鍵情報のヘッダ情報を上述した順序規則1に従って生成したものと想定して動作する。
【0072】
特定部303は、鍵情報記憶部301からID情報を読み出す。また、記録媒体500bからヘッダ情報及び鍵情報を読み出す。次に、特定部303は、読み出したID情報及び読み出したヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から1個の暗号化メディア鍵が存在する位置Xと、前記暗号化メディア鍵の復号に使用するデバイス鍵を識別するためのデータ鍵識別情報とを特定する。なお、暗号化メディア鍵が存在する位置X及びデバイス鍵識別情報を特定する場合の詳細の動作については、後述する。
【0073】
次に、特定部303は、特定した1個の暗号化メディア鍵及び決定した1個のデバイス鍵識別情報を復号部302へ出力する。
(3)復号部302
復号部302は、特定部303から1個の暗号化メディア鍵及び1個のデバイス鍵識別情報を受け取る。1個の暗号化メディア鍵及び1個のデバイス鍵識別情報を受け取ると、受け取ったデバイス鍵識別情報により識別されるデバイス鍵を鍵情報記憶部301から読み出し、復号アルゴリズムD1を適用して、読み出したデバイス鍵を用いて、受け取った暗号化メディア鍵を復号して、メディア鍵を生成する。
【0074】
メディア鍵=D1(デバイス鍵、暗号化メディア鍵)
ここで、D(A、B)は、復号アルゴリズムDを適用して、鍵Aを用いて、暗号化データBを復号して元のデータを生成することを意味する。
また、復号アルゴリズムD1は、暗号化アルゴリズムE1に対応するものであり、暗号化アルゴリズムE1を適用して暗号化されたデータを復号するためのアルゴリズムである。
【0075】
次に、復号部302は、生成したメディア鍵を暗号部304へ出力する。
なお、図8に記載されている各ブロックは、接続線により他のブロックと接続されている。ただし、一部の接続線を省略している。ここで、各接続線は、信号や情報が伝達される経路を示している。また、復号部302を示すブロックに接続している複数の接続線のうち、接続線上に鍵マークが付されているものは、復号部302へ鍵としての情報が伝達される経路を示している。暗号部304を示すブロックについても同様である。また、他の図面についても同様である。
【0076】
(4)コンテンツ記憶部305
コンテンツ記憶部305は、デジタル化された音楽などの著作物であるコンテンツを記憶している。
(5)暗号部304
暗号部304は、復号部302からメディア鍵を受け取り、コンテンツ記憶部305からコンテンツを読み出す。次に、暗号部304は、暗号化アルゴリズムE2を適用して、受け取ったメディア鍵を用いて、読み出したコンテンツを暗号化して暗号化コンテンツを生成する。
【0077】
暗号化コンテンツ=E2(メディア鍵、コンテンツ)
ここで、暗号化アルゴリズムE2は、一例として、DESによる暗号化アルゴリズムである。
次に、暗号部304は、生成した暗号化コンテンツを記録媒体500bへ書き込む。このようにして、暗号化コンテンツが書き込まれた記録媒体500cが生成される。
【0078】
1.1.5 再生装置400a、400b、400c、・・・
再生装置400aは、図9に示すように、鍵情報記憶部401、特定部402、復号部403、復号部404及び再生部405から構成されている。なお、再生装置400b、400c、・・・は、再生装置400aと同様の構成を有しているので、これらについて説明を省略する。
【0079】
再生装置400aは、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成され、前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、再生装置400aは、その機能を達成する。
ここで、鍵情報記憶部401、特定部402及び復号部403は、それぞれ、記録装置300aが有している鍵情報記憶部301、特定部303及び復号部302と同様の構成を有しているので、説明を省略する。
【0080】
再生装置400aに記録媒体500cが装着される。再生装置400aは、自ら記憶しているID情報を元に、記録媒体500cに記憶されているヘッダ情報の解析を行って、復号すべき暗号化メディア鍵の位置と、使用すべきデバイス鍵を特定し、特定したデバイス鍵を用いて復号してメディア鍵を獲得する。次に、再生装置400aは、獲得したメディア鍵を用いて、記録媒体500cに記録されている暗号化コンテンツを復号してコンテンツを再生する
(1)復号部404
復号部404は、復号部403からメディア鍵を受け取り、記録媒体500cから暗号化コンテンツを読み出し、復号アルゴリズムD2を適用して、受け取ったメディア鍵を用いて、読み出した前記暗号化コンテンツを復号して、コンテンツを生成し、生成したコンテンツを再生部405へ出力する。
【0081】
コンテンツ=D2(メディア鍵、暗号化コンテンツ)
ここで、復号アルゴリズムD2は、暗号化アルゴリズムE2に対応するものであり、暗号化アルゴリズムE2を適用して暗号化されたデータを復号するためのアルゴリズムである。
(2)再生部405
再生部405は、復号部404からコンテンツを受け取り、受け取ったコンテンツを再生する。例えば、コンテンツが音楽の場合には、再生部405は、コンテンツを音声に変換して出力する。
【0082】
1.2.著作物保護システム10の動作
著作物保護システム10の動作について説明する。
1.2.1 デバイス鍵の割り当て、記録媒体の生成及びコンテンツの暗号化又は復号の動作
ここでは、ユーザ装置へデバイス鍵を割り当てる動作、鍵情報の生成と記録媒体への書き込みの動作及びユーザ装置によるコンテンツの暗号化又は復号の動作について、図10に示すフローチャートを用いて説明する。特に、デバイス鍵が不正な第三者により暴露されるまでの、各装置の動作について説明する。
【0083】
鍵管理装置100の木構造構築部101は、木構造を表す木構造テーブルを生成し、生成した木構造テーブルを木構造格納部102へ書き込み(ステップS101)、次に、木構造のノード毎にデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む(ステップS102)。次に、デバイス鍵割当部103は、デバイス鍵、デバイス鍵識別情報及びID情報を対応するユーザ装置へ出力する(ステップS103〜S104)。ユーザ装置が有する鍵情報記憶部は、デバイス鍵、デバイス鍵識別情報及びID情報を受け取り(ステップS104)、受け取ったデバイス鍵、デバイス鍵識別情報及びID情報を記録する(ステップS111)。
【0084】
このようにして、デバイス鍵、デバイス鍵識別情報及びID情報を記録しているユーザ装置が生産され、生産されたユーザ装置がユーザに対して販売される。
次に、鍵情報生成部107は、メディア鍵を生成し(ステップS105)、鍵情報を生成し(ステップS106)、生成した鍵情報を鍵情報記録装置200を介して記録媒体500aに出力し(ステップS107〜S108)、記録媒体500aは、鍵情報を記録する(ステップS121)。
【0085】
このようにして、鍵情報が記録された記録媒体500bが生成され、生成された記録媒体500bが販売などされることにより、利用者に配布される。
次に、鍵情報が記録された記録媒体が、ユーザ装置に装着され、ユーザ装置は、記録媒体から鍵情報を読み出し(ステップS131)、読み出した鍵情報を用いて、当該ユーザ装置自身に割り当てられた暗号化メディア鍵を特定し(ステップS132)、メディア鍵を復号し(ステップS133)、復号したメディア鍵を用いて、コンテンツを暗号化して記録媒体500bに書き込み、又は暗号化コンテンツの記録されている記録媒体500cから暗号化コンテンツを読み出し、読み出した暗号化コンテンツを復号したメディア鍵を用いて復号して、コンテンツを生成する(ステップS134)。
【0086】
以上のように、ユーザ装置により暗号化コンテンツを記録媒体500bに書き込み、ユーザ装置により暗号化コンテンツの記録されている記録媒体500cから暗号化コンテンツを読み出して復号し、コンテンツを再生する。
次に、不正な第三者が、ユーザ装置に割り当てられたデバイス鍵を、何らかの手段により不正に取得する。不正な第三者は、前記コンテンツを不正に流通させたり、正規のユーザ装置を模倣する不正な装置を生産して販売する。
【0087】
鍵管理装置100の運営管理者は、又は前記コンテンツの著作権者は、コンテンツが不正に流通していること、又は不正な装置が流通していることを知り、前記デバイス鍵が漏洩したことを知る。
1.2.2 デバイス鍵が暴露された後の動作
ここでは、デバイス鍵が不正な第三者により暴露された後における、暴露されたデバイス鍵に対応する木構造の内のノードの無効化の動作、新たな鍵情報の生成と記録媒体への書込みの動作、及びユーザ装置によるコンテンツの暗号化又は復号の動作について、図11に示すフローチャートを用いて説明する。
【0088】
鍵管理装置100の無効化装置指定部104は、無効化する1台以上のユーザ装置の1個以上のID情報を受け付け、受け付けたID情報を木構造更新部105へ出力する(ステップS151)。次に、木構造更新部105は、ID情報を受け取り、受け取ったID情報を用いて、木構造を更新し(ステップS152)、鍵情報ヘッダ生成部106は、ヘッダ情報を生成し、生成したヘッダ情報を鍵情報記録装置200へ出力し(ステップS153)、鍵情報生成部は、メディア鍵を生成し(ステップS154)、鍵情報を生成し(ステップS155)、生成した鍵情報を鍵情報記録装置200を介して出力し(ステップS156〜S157)、記録媒体500aは、鍵情報を記録する(ステップS161)。
【0089】
このようにして、新たな鍵情報が記録された記録媒体500bが生成され、生成された記録媒体500bが販売などされることにより、利用者に配布される。
次に、新たな鍵情報が記録された記録媒体が、ユーザ装置に装着され、ユーザ装置は、記録媒体から鍵情報を読み出し(ステップS171)、読み出した鍵情報を用いて、当該ユーザ装置自身に割り当てられた暗号化メディア鍵を特定し(ステップS172)、メディア鍵を復号し(ステップS173)、復号したメディア鍵を用いて、コンテンツを暗号化して記録媒体500bに書き込み、又は暗号化コンテンツの記録されている記録媒体500cから暗号化コンテンツを読み出し読み出した暗号化コンテンツを復号したメディア鍵を用いて復号して、コンテンツを生成する(ステップS174)。
【0090】
以上のように、ユーザ装置により暗号化コンテンツを記録媒体500bに書き込み、又はユーザ装置により暗号化コンテンツの記録されている記録媒体500cから暗号化コンテンツを読み出して復号し、コンテンツを再生する。
1.2.3 木構造を構築して格納する動作
ここでは、木構造構築部101による木構造テーブルの生成と木構造格納部102への木構造テーブルの書き込みの動作について、図12に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図10に示すフローチャートにおけるステップS101の詳細である。
【0091】
木構造構築部101は、最初に、ノード名として「ルート」を含むノード情報を生成し、木構造格納部102が有している木構造テーブルへ書き込む(ステップS191)。
次に、木構造構築部101は、レイヤi(i=1、2、3、4)について、次に示すステップS193〜S194を繰り返す。
【0092】
木構造構築部101は、2i 個の文字列をノード名として生成し(ステップS193)、生成した2i 個の文字列をノード名として含むノード情報を、順に木構造テーブルへ書き込む(ステップS194)。
1.2.4 デバイス鍵とID情報とを各ユーザ装置へ出力する動作
ここでは、デバイス鍵割当部103によるデバイス鍵とID情報とを各ユーザ装置へ出力する動作について、図13に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図10に示すフローチャートにおけるステップS103の詳細である。
【0093】
デバイス鍵割当部103は、変数IDを「0000」、「0001」、「0010」、・・・、「1110」、「1111」のように変化させ、それぞれの変数IDについて、次に示すステップS222〜S227を繰り返す。
デバイス鍵割当部103は、ルートに割り当てられたデバイス鍵を取得し(ステップS222)、変数IDの先頭1ビットをノード名とするノードに割り当てられたデバイス鍵Aを取得し(ステップS223)、変数IDの先頭2ビットをノード名とするノードに割り当てられたデバイス鍵Bを取得し(ステップS224)、変数IDの先頭3ビットをノード名とするノードに割り当てられたデバイス鍵Cを取得し(ステップS225)、変数IDの先頭4ビットをノード名とするノードに割り当てられたデバイス鍵Dを取得し(ステップS226)、ID情報としての変数ID、ルートに割り当てられたデバイス鍵、各ノードに割り当てられたデバイス鍵A、B、C、Dをユーザ装置へ出力する(ステップS227)。
【0094】
1.2.5 木構造の更新の動作
ここでは、木構造更新部105による木構造の更新の動作について、図14に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS152の詳細である。
木構造更新部105は、無効化装置指定部104から受け取った1個以上のID情報のそれぞれについて、次に示すステップS242〜S246を繰り返す。
【0095】
木構造更新部105は、受け取ったID情報をノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「1」を付加する(ステップS242)。
次に、木構造更新部105は、受け取ったID情報の先頭3ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「1」を付加する(ステップS243)。
【0096】
次に、木構造更新部105は、受け取ったID情報の先頭2ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「1」を付加する(ステップS244)。
次に、木構造更新部105は、受け取ったID情報の先頭1ビットをノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「1」を付加する(ステップS245)。
【0097】
次に、木構造更新部105は、「ルート」をノード名として含むノード情報を取得し、取得したノード情報に無効化フラグ「1」を付加する(ステップS246)。
1.2.6 ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作について、図15に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS153の詳細である。
【0098】
鍵情報ヘッダ生成部106は、レイヤ0からレイヤ3までの各レイヤについて、ステップS262〜S266を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS263〜S265を繰り返す。
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続されている2個の下位ノードを選択し(ステップS263)、次に選択した2個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べてNRPを生成し(ステップS264)、生成したNRPを出力する(ステップS265)。
【0099】
1.2.7 鍵情報の生成の動作
ここでは、鍵情報生成部107による鍵情報の生成の動作について、図16に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS155の詳細である。
鍵情報生成部107は、レイヤ1からレイヤ3までの各レイヤについて、ステップS282〜S287を繰り返す。さらに、鍵情報生成部107は、各レイヤに含まれる対象ノード毎に、ステップS283〜S286を繰り返す。
【0100】
鍵情報生成部107は、対象ノードに無効化フラグ「1」が付されているか否かを判断する。無効化フラグ「1」が付されていない場合には(ステップS283)、さらに対象ノードの上位に接続されている上位ノードに対応するデバイス鍵による暗号化がされているか否かを判断する。暗号化がされていない場合に(ステップS284)、対象ノードに対応するデバイス鍵を木構造テーブルから取得し(ステップS285)、取得したデバイス鍵を用いて、生成されたメディア鍵を暗号化して、暗号化メディア鍵を生成し、生成した暗号化メディア鍵を出力する(ステップS286)。
【0101】
無効化フラグ「1」が付されている場合(ステップS283)、又は暗号化がされている場合(ステップS284)、ステップS285〜S286は行われない。
1.2.8 鍵情報の特定の動作
ここでは、記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作について、図17に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS172の詳細である。
【0102】
また、再生装置400aが有する特定部402による動作は、特定部303による動作と同じであるので、説明を省略する。
特定部303は、暗号化メディア鍵の位置を示す変数X、ユーザ装置自身に関係するNRPの位置を示す変数A、あるレイヤにおけるNRPの数を示す変数W、及び木構造のレイヤ数を示す値Dを有している。ここで、ユーザ装置自身に関係するNRP(Node Revocation Pattern、以下、NRPと呼ぶ。)とは、木構造において、ユーザ装置に割り当てられているリーフから、ルートに至るまでの経路上に存在するノードのNRPを示す。
【0103】
特定部303は、レイヤi=0から、レイヤi=D−1まで、以下の手順で解析を行う。
特定部303は、初期値として、それぞれ変数A=0、変数W=1、変数i=0とする(ステップS301)。
変数iと値Dとを比較し、変数iが値Dより大きい場合(ステップS302)、このユーザ装置は、無効化されているので、次に、特定部303は、処理を終了する。
【0104】
変数iが値Dより小さいか又は等しい場合(ステップS302)、特定部303は、A番目のNRPを構成する左右2ビットのうち、ID情報の上位iビット目の値に対応するビット位置にある値Bが「0」であるか、又は「1」であるかをチェックする(ステップS303)。ここで、対応するビット位置とは、図4に示すように、木構造において左の経路に「0」、右の経路に「1」が割り当てられ、これらの規則に基づいてID情報が構成されているので、ID情報の上位iビット目の値「0」は、A番目のNRPの左ビットに対応し、iビット目の値「1」は、A番目のNRPの右ビットに対応する。
【0105】
値B=0の場合(ステップS303)、特定部303は、これまでにチェックしたNRPのうち、オール「1」でないNRPの数をカウントし、カウントした値を、変数Xに代入する。こうして得られた変数Xが、暗号化メディア鍵の位置を示している。また、この時点の変数iは、デバイス鍵を識別するためのデバイス鍵識別情報である(ステップS307)。次に、特定部303は、処理を終了する。
【0106】
値B=1の場合(ステップS303)、特定部303は、レイヤiに存在するW個の全NRPの「1」の数をカウントし、カウントした値を変数Wに代入する。こうして得られた変数Wが、次のレイヤi+1に存在するNRPの数を示す(ステップS304)。
次に、特定部303は、レイアiに存在するNRPのうちの最初のNRPから、対応するビット位置までのNRPをカウントし、カウントした値を変数Aに代入する。ここで、対応するビット位置の値はカウントしない。こうして得られた変数Aが、次のレイヤi+1のNRPのうち、ユーザ装置自身に関係するNRPの位置を示す(ステップS305)。
【0107】
次に、特定部303は、変数i=i+1を演算し(ステップS306)、次にステップS302へ制御を移し、上述の処理を繰り返す。
1.2.9 鍵情報の特定の動作の具体例
一具体例として、図6及び図7に示すヘッダ情報及び鍵情報を用いて、図5に示す無効化されていないユーザ装置14が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置14には、ID情報「1101」が割り当てられ、デバイス鍵「KeyA」、「KeyC」、「KeyG」、「KeyN」及び「IK14」が割り当てられているものとする。
【0108】
(ステップ1)特定部303は、ユーザ装置14に割り当てられたID情報「1101」の最上位ビットの値が「1」であるため、最初のNRP{11}の右ビットをチェックする(ステップS303)。
(ステップ2)最初のNRP{11}の右ビットの値が「1」であるため、特定部303は、解析を続ける(ステップS303で、B=1)。
【0109】
(ステップ3)特定部303は、レイヤ0に存在する1個のNRP{11}の「1」の数をカウントする。そのカウントした値が「2」であるので、次のレイヤ1には2個のNRPが存在することが分かる(ステップS304)。
(ステップ4)特定部303は、対応するビット位置までのNRPの「1」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「1」であるため、次のレイヤ1の対応するNRPの位置は、レイア1内で、1番目である(ステップS305)。
【0110】
(ステップ5)次に、特定部303は、ID情報「1101」の上位から2ビット目の値が「1」であるため、レイヤ1の1番目のNRP{10}の右ビットをチェックする(ステップS303)。
(ステップ6)ここで、レイヤ1の1番目のNRP{10}の右ビットの値が「0」であるため、特定部303は、解析を終了する(ステップS303で、B=0)。
【0111】
(ステップ7)特定部303は、これまでのNRPのうち、オール「1」でないNRPの数をカウントする。ただし、最後にチェックしたNRPはカウントしない。カウントした値が「1」であるため、暗号化メディア鍵の位置は、鍵情報内において、1番目である(ステップS307)。
(ステップ8)図7に示すように、鍵情報の1番目の位置に格納されている暗号化メディア鍵は、E1(KeyG,メディア鍵)である。
【0112】
ユーザ装置14は、KeyGを保持している。よって、ユーザ装置14は、KeyGを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
1.3 まとめ
以上説明したように、第1の実施の形態によると、記録媒体に予め記録されている鍵情報のヘッダ情報内には、複数のNRPが水準順に並べられているので、鍵情報がコンパクトになる。また、プレーヤは、復号すべき暗号化メディア鍵を効率よく特定することができる。
【0113】
2.第2の実施の形態
ここでは、第1の実施の形態の変形例としての第2の実施の形態について説明する。
第1の実施の形態において、一例として図18に示すように、無効化されるユーザ装置が木構造の中で特定のリーフに偏って発生する可能性がある。この場合、鍵管理装置100が記録媒体に書き込む鍵情報のヘッダ情報内において、{11}であるNRPが多くなる。図18に示す例では、木構造T300の左半分のリーフは、全て無効化された装置に対応するので、鍵情報内のヘッダ情報は、11個のNRPを含むが、そのうち8個は{11}である。
【0114】
図18に示す例では、木構造T300の左半分は全て無効化された装置であるので、レイヤ1の左のノードから下は全て無効化ノードであると表現すれば、左半分の各ノードに対応したNRPをヘッダ情報として記録媒体に記録する必要がなくなる。
そこで、第2の実施の形態では、無効化された装置が木構造の中で特定のリーフに集中する場合に、ヘッダ情報のデータ量を少なく抑えることができる著作物保護システム10b(図示していない)について説明する。
【0115】
鍵管理装置100は、第1の実施の形態において説明したように、鍵情報のヘッダ情報として、NRPを生成する。ここで、鍵管理装置100は、NRPの先頭に1ビットを追加する。追加したビットが「1」である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示す。図19において、ノードT401及びノードT402は、これらのノードの子孫のノードに割り当てられた装置が全て無効化装置ではないので、先頭ビットは「0」であり、NRPは、それぞれ、{011}、{010}と表現される。ノードT403の子孫のノードに割り当てられた装置は、全て無効化装置であるため、NRPは{111}と表現される。鍵管理装置100は、ノードT403の子孫のノードについてのNRPを記録媒体に書き込まない。
【0116】
2.1 著作物保護システム10bの構成
著作物保護システム10bは、著作物保護システム10と同様の構成を有している。ここでは、著作物保護システム10との相違点を中心として説明する。
第2の実施の形態では、図19に示すように、ユーザ装置1〜ユーザ装置8及びユーザ装置12がそれぞれ無効化されているとする。
【0117】
2.1.1 鍵管理装置100
著作物保護システム10bの鍵管理装置100は、第1の実施の形態において述べた鍵管理装置100と同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)木構造格納部102
木構造格納部102は、木構造テーブルD100に代えて、一例として図20に示す木構造テーブルD400を有している。
【0118】
木構造テーブルD400は、図19に一例として示す木構造T400に対応しており、木構造T400を表現するためのデータ構造を示す。
木構造テーブルD400は、木構造T400に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造T400を構成する各ノードにそれぞれ対応している。
【0119】
各ノード情報は、ノード名、デバイス鍵、無効化フラグ及びNRPを含む。
ノード名、デバイス鍵及び無効化フラグについては、第1の実施の形態で説明したとおりであるので、説明を省略する。
NRPは、3ビットから構成され、上位の1ビットは、上述したように、対応するノード名により示されるノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示す。下位の2ビットは、第1の実施の形態で説明したNRPと同じ内容のものである。
【0120】
(2)鍵情報ヘッダ生成部106
鍵情報ヘッダ生成部106は、NRPの先頭の1ビットが「1」である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すNRPを生成し、生成したNRPを鍵情報記録装置200へ出力する。なお、NRPの生成の詳細については、後述する。
【0121】
鍵情報ヘッダ生成部106は、一例として、図21に示すヘッダ情報D500を生成する。ヘッダ情報D500は、NRP{011}、{111}、{010}、{001}及び{001}から構成され、各NRPをこの順序で含んでいる。また、この図に示すように、ヘッダ情報D500内に「0」、「1」、「2」、「3」及び「4」により定まる位置において、それぞれ、NRP{011}、{111}、{010}、{001}及び{001}が配置されている。
【0122】
(3)鍵情報生成部107
鍵情報生成部107は、一例として、図22に示す鍵情報D600を生成する。鍵情報D600は、3個の暗号化メディア鍵を含んでいる。3個の暗号化メディア鍵は、それぞれデバイス鍵KeyG、KeyL、IK11を用いてメディア鍵を暗号化したものである。
【0123】
これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報D600内において格納されている位置が定められている。この図に示すように、鍵情報D600内に「0」、「1」及び「2」により定まる位置において、それぞれ、暗号化メディア鍵E1(KeyG、メディア鍵)、E1(KeyL、メディア鍵)及びE1(IK11、メディア鍵)が配置されている。
【0124】
2.1.2 記録装置300a
記録装置300aは、第1の実施の形態において述べた記録装置300aと同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)特定部303
特定部303は、ID情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から1個の暗号化メディア鍵が存在する位置Xを特定する。なお、暗号化メディア鍵が存在する位置Xを特定する場合の詳細の動作については、後述する。
【0125】
2.2 著作物保護システム10bの動作
著作物保護システム10bの動作について、著作物保護システム10の動作との相違点を中心として説明する。
2.2.1 ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作について、図23〜図26に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS153の詳細である。
【0126】
鍵情報ヘッダ生成部106は、レイヤ0からレイヤ3までの各レイヤについて、ステップS322〜S327を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS323〜S326を繰り返す。
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS323)、選択した2個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べて、NRPを生成し(ステップS324)、値「0」を有する拡張ビットを生成したNRPの先頭に付加し(ステップS325)、拡張ビットが付加されたNRPを木構造テーブル内の当該対象ノードに対応するノード情報内に付加する(ステップS236)。
【0127】
以上のようにして、ステップS321〜S328の繰返しが終了すると、第1の実施の形態において説明した方法と同様に、各ノード情報内にNRPが付加される。ここで、各NRPの先頭には、値「0」(1ビット)が付加されている。次に、鍵情報ヘッダ生成部106は、レイヤ3からレイヤ0までの各レイヤについて、ステップS330〜S335を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS331〜S334を繰り返す。
【0128】
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS331)、選択した2個のノードの両方にそれぞれNRP{111}が付加されているか否かを調べる。ただし、選択した2個のノードがリーフである場合には、選択した2個のノードの両方に無効化フラグが付されているか否かを調べる(ステップS332)。
【0129】
選択した2個の下位ノードの両方にそれぞれNRP{111}が付されている場合にのみ、ただし選択した2個のノードがリーフである場合には、選択した2個の下位ノードの両方に無効化フラグが付されている場合にのみ(ステップS333)、鍵情報ヘッダ生成部106は、当該対象ノードに付加されたNRPの先頭ビットを「1」に書き換える(ステップS334)。
【0130】
以上のようにして、ステップS329〜S336の繰返しが終了すると、それぞれNRP{111}が付加されている2個の下位ノードに接続する上位のノードには、{111}が付加されることになる。
次に、鍵情報ヘッダ生成部106は、レイヤ2からレイヤ0までの各レイヤについて、ステップS338〜S343を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS339〜S342を繰り返す。
【0131】
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS339)、選択した2個の下位ノードの両方にNRP{111}が付加されているか否かを調べる(ステップS340)。
選択した2個の下位ノードの両方にNRP{111}が付加されている場合にのみ(ステップS341)、鍵情報ヘッダ生成部106は、選択した2個の下位ノードにそれぞれ付加されたNRPを木構造テーブルから削除する(ステップS342)。
【0132】
次に、鍵情報ヘッダ生成部106は、木構造テーブルに記憶されているNRPをルートから順に読み出して、出力する(ステップS345)。
以上のようにして、NRPの先頭の1ビットが「1」である場合に、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すNRPが生成される。
【0133】
2.2.2 鍵情報の特定の動作
ここでは、記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作について、図27に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS172の詳細である。
【0134】
また、特定部303による1個の暗号化メディア鍵を特定する動作は、第1の実施の形態において説明した動作と同様であり、ここでは、その相違点を中心として説明する。
値B=0の場合(ステップS303)、特定部303は、これまでにチェックしたNRPのうち、下位2ビットがオール「1」でないNRPの数をカウントし、カウントした値を、変数Xに代入する。こうして得られた変数Xが、暗号化メディア鍵の位置を示している(ステップS307a)。次に、特定部303は、処理を終了する。
【0135】
値B=1の場合(ステップS303)、特定部303は、レイヤiに存在するW個の全NRPの「1」の数をカウントする。ただし、NRPの最上位のビットが「1」のNRPについては、カウントしない。カウントした値を変数Wに代入する。こうして得られた変数Wが、次のレイヤi+1に存在するNRPの数を示す。(ステップS304a)。
【0136】
次に、特定部303は、最初のNRPから数えて、対応するビット位置までのNRPの「1」の数をカウントする。ただし、NRPの最上位のビットが「1」のNRPについては、カウントしない。カウントした値を変数Aに代入する。ここで、対応するビット位置の値はカウントしない。こういて得られた変数Aが、次のレイヤi+1のNRPのうち、ユーザ装置自身に関係するNRPの位置を示す(ステップS305a)。
【0137】
2.2.3 鍵情報の特定の動作の具体例
一具体例として、図21及び図22に示す鍵情報を用いて、図19に示す無効化されていないユーザ装置10が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置10には、ID情報「1001」が割り当てられ、デバイス鍵「KeyA」、「KeyC」、「KeyF」、「KeyL」及び「IK10」が割り当てられているものとする。
【0138】
(ステップ1)特定部303は、ユーザ装置10に割り当てられたID情報「1001」の最上位ビットの値が「1」であるため、最初のNRP{011}の下位2ビットのうちの右ビットをチェックする(ステップS303)。
(ステップ2)最初のNRP{011}の下位2ビットのうちの右ビットの値が「1」であるため、特定部303は、解析を続ける(ステップS303で、B=1)。
【0139】
(ステップ3)特定部303は、レイヤ0に存在する1個のNRP{011}の下位2ビットのうちの「1」の数をカウントする。そのカウントした値が「2」であるため、次のレイヤ1には2個のNRPが存在することが分かる(ステップS304a)。
(ステップ4)特定部303は、対応するビット位置までのNRP{011}の下位2ビットの「1」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「1」であるため、次のレイヤ1の対応するNRPの位置は、レイヤ1内において、1番目である(ステップS305a)。
【0140】
(ステップ5)次に、特定部303は、ID情報「1001」の上位から2ビット目の値が「0」であるため、レイヤ1の1番目のNRP{010}の下位2ビットのうちの左ビットをチェックする(ステップS303)。
(ステップ6)ここで、レイヤ1の1番目のNRP{010}の下位2ビットのうちの左ビットの値が「1」であるため、特定部303は、解析を続ける(ステップS303で、B=1)。
【0141】
(ステップ7)特定部303は、レイヤ1に存在する2個のNRP{111}、{010}の下位2ビットのうちの「1」の数をカウントする。ただし、NRPの最上位ビットが「1」であるNRPについては、カウントしない。そのカウントした値が「1」であるため、次のレイヤ2には1個のNRPが存在することが分かる(ステップS304a)。
【0142】
(ステップ8)特定部303は、対応するビット位置までのNRPの「1」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「0」であるため、次のレイヤ2の対応するNRPの位置は、レイヤ2内において、0番目である(ステップS305a)。
(ステップ9)次に、特定部303は、ID情報「1001」の上位から3ビット目の値が「0」であるため、レイヤ2の0番目のNRP{001}の下位2ビットのうちの左ビットをチェックする(ステップS303)。
【0143】
(ステップ10)ここで、レイヤ2の0番目のNRP{001}の下位2ビットのうちの左ビットの値が「0」であるため、特定部303は、解析を終了する(ステップS303で、B=0)。
(ステップ11)特定部303は、これまでに解析したNRPのうち、下位2ビットが、オール「1」でないNRPの数をカウントする。なお、最後にチェックしたNRPは、カウントしない。カウントした値が「1」であるため、暗号化メディア鍵の位置は、鍵情報内において、1番目である(ステップS307a)。
【0144】
(ステップ12)図22より、鍵情報の1番目の位置に格納されている暗号化メディア鍵は、E1(KeyL,メディア鍵)である。
ユーザ装置10は、KeyLを保持している。よって、ユーザ装置10は、KeyLを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
【0145】
なお、上述した第2の実施の形態においては、あるノードの子孫に存在するユーザ装置が全て無効化装置である場合に、追加するビットを「1」としている。しかし、リーフのレイヤ数がそれぞれ異なるような木構造がある場合、あるノードの子孫にNRPが存在しない場合は、追加したビットを「1」にすることで終端を意味するフラグとしても使用することができる。
【0146】
3.第3の実施の形態
上記の第2の実施の形態においては、あるノードの子孫が全て無効化装置であるか否かを示すビットをNRPの先頭に追加することで、無効化装置が集中した場合に、ヘッダ情報をさらに少なく抑える方法を示している。
次に述べる第3の実施の形態では、NRPにビットを追加する代わりに、特定のパターン{00}を有するNRPを用いて、1個のノードの子孫が全て無効化装置であるか否かを判断する。これは、レイヤ0を除く全てのレイヤにおいては、NRP{00}が使われないことに着目したものである。これにより、第2の実施の形態よりも、さらにヘッダ情報を少なく抑えることができる著作物保護システム10c(図示していない)について説明する。
−ここでは、図28に示すように、ユーザ装置1〜ユーザ装置8、ユーザ装置12がそれぞれ無効化されているとする。第3の実施の形態では、NRPは第1の実施の形態に示す通りであるが、あるノードの子孫のユーザ装置が全て無効化装置である場合には、そのノードのNRPを{00}で表現する。図28におけるノードT501について、そのノードの子孫が全て無効化装置であるため、NRPは{00}と表現されている。
【0147】
3.1 著作物保護システム10cの構成
著作物保護システム10cは、著作物保護システム10と同様の構成を有している。ここでは、著作物保護システム10との相違点を中心として説明する。
3.1.1 鍵管理装置100
著作物保護システム10cの鍵管理装置100は、第1の実施の形態において述べた鍵管理装置100と同様の構成を有している。ここでは、その相違点を中心として説明する。
【0148】
(1)鍵情報ヘッダ生成部106
鍵情報ヘッダ生成部106は、NRPが{00}である場合には、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すNRPを生成し、生成したNRPを鍵情報記録装置200へ出力する。なお、NRPの生成の詳細については、後述する。
【0149】
鍵情報ヘッダ生成部106は、一例として、図29に示すヘッダ情報D700を生成する。ヘッダ情報D700は、NRP{11}、{00}、{10}、{01}及び{01}から構成され、各NRPをこの順序で含んでいる。また、この図に示すように、ヘッダ情報D700内に「0」、「1」、「2」、「3」及び「4」により定まる位置において、それぞれ、NRP{11}、{00}、{10}、{01}及び{01}が配置されている。
【0150】
(2)鍵情報生成部107
鍵情報生成部107は、一例として、図30に示す鍵情報D800を生成する。鍵情報D800は、3個の暗号化メディア鍵を含んでいる。3個の暗号化メディア鍵は、それぞれデバイス鍵KeyG、KeyL、IK11を用いてメディア鍵を暗号化したものである。
【0151】
これらの複数個の暗号化メディア鍵のそれぞれは、鍵情報D800内において格納されている位置が定められている。この図に示すように、鍵情報D800内に「0」、「1」及び「2」により定まる位置において、それぞれ、暗号化メディア鍵E1(KeyG、メディア鍵)、E1(KeyL、メディア鍵)及びE1(IK11、メディア鍵)が配置されている。
【0152】
3.1.2 記録装置300a
著作物保護システム10cの記録装置300aは、第1の実施の形態において述べた記録装置300aと同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)特定部303
特定部303は、ID情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から1個の暗号化メディア鍵が存在する位置Xを特定する。なお、暗号化メディア鍵が存在する位置Xを特定する場合の詳細の動作については、後述する。
【0153】
3.2 著作物保護システム10cの動作
著作物保護システム10cの動作について、著作物保護システム10の動作との相違点を中心として説明する。
3.2.1 ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作について、図31〜図34に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS153の詳細である。
【0154】
鍵情報ヘッダ生成部106は、レイヤ0からレイヤ3までの各レイヤについて、ステップS322〜S327を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS323〜S326aを繰り返す。
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS323)、選択した2個の下位ノードのそれぞれに無効化フラグが付されているか否かを調べて、NRPを生成し(ステップS324)、生成されたNRPを木構造テーブル内の当該対象ノードに対応するノード情報内に付加する(ステップS236a)。
【0155】
以上のようにして、ステップS321〜S328の繰返しが終了すると、第1の実施の形態において説明した方法と同様に、各ノードにNRPが付加される。
次に、鍵情報ヘッダ生成部106は、レイヤ3からレイヤ0までの各レイヤについて、ステップS330〜S335を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS331〜S334aを繰り返す。
【0156】
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS331)、選択した2個のノードの両方にそれぞれNRP{11}が付加されているか否かを調べる。ただし、選択した2個のノードがリーフである場合には、選択した2個のノードの両方に無効化フラグが付されているか否かを調べる(ステップS332)。
【0157】
選択した2個の下位ノードの両方にそれぞれNRP{11}が付されている場合にのみ、ただし選択した2個のノードがリーフである場合には、選択した2個の下位ノードの両方に無効化フラグが付されている場合にのみ(ステップS333)、鍵情報ヘッダ生成部106は、当該対象ノードに付加されたNRPを{00}に書き換える(ステップS334a)。
【0158】
以上のようにして、ステップS329〜S336の繰返しが終了すると、それぞれNRP{11}が付加されている2個の下位ノードに接続する上位のノードには、{00}が付加されることになる。
次に、鍵情報ヘッダ生成部106は、レイヤ2からレイヤ0までの各レイヤについて、ステップS338〜S343を繰り返す。さらに、鍵情報ヘッダ生成部106は、各レイヤに含まれる対象ノード毎に、ステップS339〜S342aを繰り返す。
【0159】
鍵情報ヘッダ生成部106は、当該対象ノードの直下に接続される2個の下位ノードを選択し(ステップS339)、選択した2個の下位ノードの両方にNRP{00}が付加されているか否かを調べる(ステップS340a)。
選択した2個の下位ノードの両方にNRP{00}が付加されている場合にのみ(ステップS341a)、鍵情報ヘッダ生成部106は、選択した2個の下位ノードにそれぞれ付加されたNRPを木構造テーブルから削除する(ステップS342a)。
【0160】
次に、鍵情報ヘッダ生成部106は、木構造テーブルに記憶されているNRPをルートから順に読み出して、出力する(ステップS345)。
以上のようにして、NRPが{00}である場合に、そのノードの子孫のノードに割り当てられたユーザ装置は全て無効化装置であることを示すNRPが生成される。
【0161】
3.2.2 鍵情報の特定の動作
ここでは、記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作について、図35に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS172の詳細である。
【0162】
また、特定部303による1個の暗号化メディア鍵を特定する動作は、第1の実施の形態において説明した動作と同様であり、ここでは、その相違点を中心として説明する。
値B=0の場合(ステップS303)、特定部303は、これまでにチェックしたNRPのうち、オール「1」でないNRPの数とオール「0」でないNRPの数とをカウントする。ただし、レイヤ0に関してのみ、オール「0」のNRPもカウントする。カウントした値を、変数Xに代入する。こうして得られた変数Xが、暗号化メディア鍵の位置を示している。また、この時点の変数iは、デバイス鍵を識別するためのデバイス鍵識別情報である(ステップS307b)。次に、特定部303は、処理を終了する。
【0163】
3.2.3 鍵情報の特定の動作の具体例
一具体例として、図29及び図30に示す鍵情報を用いて、図28に示す無効化されていないユーザ装置10が暗号化メディア鍵を特定するまでの動作について以下に説明する。ユーザ装置10には、ID情報「1001」が割り当てられ、デバイス鍵「KeyA」、「KeyC」、「KeyF」、「KeyL」及び「IK10」が割り当てられているものとする。
【0164】
(ステップ1)特定部303は、ユーザ装置10に割り当てられたID情報「1001」の最上位ビットの値が「1」であるため、最初のNRP{11}の右ビットをチェックする(ステップS303)。
(ステップ2)最初のNRP{11}の右ビットの値が「1」であるため、特定部303は、解析を続ける(ステップS303で、B=1)。
【0165】
(ステップ3)特定部303は、レイヤ0に存在する1個のNRP{11}の「1」の数をカウントする。そのカウントした値が「2」であるため、次のレイヤ1には2個のNRPが存在することが分かる(ステップS304)。
(ステップ4)特定部303は、対応するビット位置までのNRPの「1」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「1」であるため、次のレイヤ1の対応するNRPの位置は、レイヤ1内において、1番目である(ステップS305)。
【0166】
(ステップ5)次に、特定部303は、ID情報「1001」の上位から2ビット目の値が「0」であるため、レイヤ1の1番目のNRP{10}の左ビットをチェックする(ステップS303)。
(ステップ6)レイヤ1の1番目のNRP{10}の左ビットの値が「1」であるため、特定部303は、解析を続ける(ステップS303で、B=1)。
【0167】
(ステップ7)特定部303は、レイヤ1に存在する2個のNRPの「1」の数をカウントする。ここで、NRP{00}は、カウントしない。そのカウントした値が「1」であるため、次のレイヤ2には1個のNRPが存在することが分かる(ステップS304)。
(ステップ8)特定部303は、対応するビット位置までのNRPの「1」の数をカウントする。ただし、対応するビット位置の値はカウントしない。そのカウントした値が「0」であるため、次のレイヤ2の対応するNRPの位置は、レイヤ2内において、0番目である(ステップS305)。
【0168】
(ステップ9)次に、特定部303は、ID情報「1001」の上位から3ビット目の値が「0」であるため、レイヤ2の0番目のNRP{01}の下位2ビットのうちの左ビットをチェックする(ステップS303)。
(ステップ10)ここで、レイヤ2の0番目のNRP{01}の下位2ビットのうちの左ビットの値が「0」であるため、特定部303は、解析を終了する(ステップS303で、B=0)。
【0169】
(ステップ11)特定部303は、これまでに解析したNRPのうち、オール「1」でないNRPの数をカウントする。なお、最後にチェックしたNRPはカウントしない。カウントした値が「1」であるため、暗号化メディア鍵の位置は、鍵情報内において、1番目である。
(ステップ12)図30より、鍵情報の1番目の位置に格納されている暗号化メディア鍵は、E1(KeyL,メディア鍵)である。
【0170】
ユーザ装置10は、KeyLを保持している。よって、ユーザ装置10は、KeyLを用いて暗号化メディア鍵を復号してメディア鍵を獲得することができる。
4.第4の実施の形態
上記の第1の実施の形態においては、複数のNRPを上位レイヤから下位レイヤの順に並べ、レイヤが同じNRPについては、左から右への順に並べるようにしている。
【0171】
次に述べる第4の実施の形態では、別の並べ方により複数のNRPを出力する著作物保護システム10d(図示していない)について説明する。
4.1 著作物保護システム10dの構成
著作物保護システム10dは、著作物保護システム10と同様の構成を有している。ここでは、著作物保護システム10との相違点を中心として説明する。
【0172】
4.1.1 鍵管理装置100
著作物保護システム10dの鍵管理装置100は、第1の実施の形態において述べた鍵管理装置100と同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)木構造格納部102
木構造格納部102は、具体的にはハードディスクユニットから構成されており、図37に一例として示すように木構造テーブルD1000を有している。
【0173】
木構造テーブルD1000は、図36に一例として示す木構造T600に対応しており、木構造T600を表現するためのデータ構造を示す。後述するように、木構造構築部101により木構造T600を表現するためのデータ構造が、木構造テーブルD1000として生成され、木構造格納部102に書き込まれる。
(木構造T600)
木構造T600は、図36に示すように、木構造T100と同様に、レイヤ0からレイヤ4までの5階層からなる2分木である。
【0174】
木構造T600の各レイヤに含まれるノードの数は、木構造T100と同じである。また、上位側のノードと下位側のノードを接続する経路に割り当てられる番号も、木構造T100と同じである。木構造T600において、×が付されているノードは、無効化されている。
木構造T600のルートであるノードのノード名は、空白である。他のノードのノード名は、木構造T100と同様に設定される。
【0175】
各ノード名は、4桁の文字で表現される。ルートであるノードのノード名は、4桁の空白文字からなる。ノード名「0」は、具体的には、文字「0」+1桁の空白文字+1桁の空白文字+1桁の空白文字である。ノード名「00」は、文字「0」+文字「0」+1桁の空白文字+1桁の空白文字である。ノード名「101」は、文字「1」+文字「0」+文字「1」+1桁の空白文字である。ノード名「1111」は、文字「1」+文字「1」+文字「1」+文字「1」である。その他のノード名についても同様である。
【0176】
木構造T600において、各ノードの付近に付された{10}などは、NRPを示している。また、各ノードの付近に付された○印で囲まれた番号は、NRPが出力される順序を示している。
(木構造テーブルD1000)
木構造テーブルD1000は、木構造T600に含まれるノードと同じ数のノード情報を含んで構成されており、各ノード情報は、木構造T600を構成する各ノードにそれぞれ対応している。
【0177】
各ノード情報は、ノード名、デバイス鍵及び無効化フラグを含んでいる。ノード名、デバイス鍵及び無効化フラグについては、木構造テーブルD100と同じであるので説明を省略する。
木構造テーブルD1000内には、次に示す順序規則2に従った順序により各ノード情報が記憶される。ここに示す順序規則2は、記録装置300a、300b、300c、・・・、再生装置400a、400b、400c、・・・により、木構造テーブルD1000から各ノード情報がシーケンシャルに読み出される場合においても適用される。
【0178】
(a)木構造テーブルD1000内の先頭には、ルートであるノードに対応するノード情報が記憶される。
(b)1個のノード(特定ノードと呼ぶ。)に対応するノード情報が木構造テーブルD1000内に記憶された後において、前記特定ノードの下位側に接続する2個の下位ノードが存在する場合には、次に示すようにして、ノード情報が並べられる。前記特定ノードに対応するノード情報に続いて、前記2個の下位ノードのうち、左側のノード及び前記左側のノードのさらに下位側に接続する全てのノードに対応する各ノード情報が記憶される。続いて、前記2個の下位ノードのうち、右側のノード及び前記右側のノードのさらに下位側に接続する全てのノードに対応する各ノード情報が記憶される。
【0179】
(c)(b)内において、(b)が再度、適用される。
具体的には、図37に示す木構造テーブルD100内には、次に示す順序により各ノード情報が記憶される。
空白(ルートを示す)、「0」、「00」、「000」、「0000」、「0001」、「001」、「0010」、「0011」、「01」、「010」、・・・、「11」、「110」、「1100」、「1101」、「111」、「1110」、「1111」
(2)木構造構築部101
木構造構築部101は、デバイス鍵を管理するためのn分木データ構造を構築し、木構造格納部102に構築した木構造を格納する。ここで、nは2以上の整数であり、一例として、n=2である。
【0180】
木構造構築部101による木構造の構築及び木構造格納部102への格納の詳細の動作については、後述する。
木構造構築部101は、次に、木構造のノード毎に乱数を用いてデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込む。
【0181】
(3)鍵情報ヘッダ生成部106
鍵情報ヘッダ生成部106は、複数のNRPを生成し、生成した複数のNRPをヘッダ情報として、鍵情報記録装置200へ出力する。NRPの生成の詳細の動作については、後述する。
鍵情報ヘッダ生成部106により生成されるヘッダ情報の一例を図38に示す。この図に示すヘッダ情報D900は、NRP{11}、{11}、{11}、{10}、{01}、{11}、{10}、{10}、{10}、{01}、{11}から構成され、各NRPをこの順序で含んでいる。
【0182】
なお、これらの複数個のNRPのそれぞれは、ヘッダ情報D900内において格納されている位置が定められている。この図に示すように、ヘッダ情報D900内に「0」、「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「10」、により定まる位置において、それぞれ、NRP{11}、{11}、{11}、{10}、{01}、{11}、{10}、{10}、{10}、{01}、{11}が配置されている。
【0183】
(4)鍵情報生成部107
鍵情報生成部107は、上記の木構造テーブルにノード情報が格納される順序と同じ順序で、無効化されていないノードに対応するデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成し、生成した暗号化メディア鍵を鍵情報として出力する。
【0184】
鍵情報生成部107は、一例として次に示す鍵情報を生成して出力する。
鍵情報は、デバイス鍵「IK2」、「IK3」、「IK6」、「IK8」、
「KeyL」及び「KeyG」をそれぞれ用いて、メディア鍵を暗号化することにより、生成された暗号化メディア鍵E1(IK2、メディア鍵)、E1(IK3、メディア鍵)、E1(IK6、メディア鍵)、E1(IK8、メディア鍵)、E1(KeyL、メディア鍵)及びE1(KeyG、メディア鍵)から構成されている。この鍵情報内に、「0」、「1」、「2」、「3」、「4」、「5」及び「6」により定まる位置において、それぞれ、暗号化メディア鍵E1(IK2、メディア鍵)、E1(IK3、メディア鍵)、E1(IK6、メディア鍵)、E1(IK8、メディア鍵)、E1(KeyL、メディア鍵)及びE1(KeyG、メディア鍵)が配置されている。
【0185】
4.1.2 記録装置300a
著作物保護システム10dの記録装置300aは、第1の実施の形態において述べた記録装置300aと同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)特定部303
特定部303は、ID情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から1個の暗号化メディア鍵が存在する位置Xを特定する。なお、暗号化メディア鍵が存在する位置Xを特定する場合の詳細の動作については、後述する。
【0186】
4.2 著作物保護システム10dの動作
著作物保護システム10dの動作について、著作物保護システム10の動作との相違点を中心として説明する。
4.2.1 木構造を構築して格納する動作
ここでは、木構造構築部101による木構造テーブルの生成と木構造格納部102への木構造テーブルの書き込みの動作について、図39に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図10に示すフローチャートにおけるステップS101の詳細である。
【0187】
木構造構築部101は、空白のノード名を含むノード情報を生成して木構造テーブルに書き込む(ステップS401)。
次に、木構造構築部101は、レイヤi(i=1、2、3、4)について、次に示すステップS403〜ステップS404を繰り返す。
木構造構築部101は、2i 個の文字列をノード名として生成する。具体的には、i=1のときは、21 =2個の文字列「0」及び「1」を生成する。また、i=2のときは、22 =4個の文字列「00」、「01」、「10」及び「11」を生成する。また、i=3のときは、23 =8個の文字列「000」、「001」、「010」、・・・・、「111」を生成する。また、i=4のときは、24 =16個の文字列「0000」、「0001」、「0010」、「0011」、・・・・、「1111」を生成する(ステップS403)。次に、木構造構築部101は、生成した各ノード名をそれぞれ含むノード情報を木構造テーブルに書き込む(ステップS404)。
【0188】
次に、木構造構築部101は、木構造テーブルに含まれている各ノード情報を、ノード名の昇順に並び換え、並び替えられた各ノード情報を再度、木構造テーブルに上書きする(ステップS406)。
このようにして、図37に一例として示す木構造テーブルD1000が生成される。生成された木構造テーブルD1000は、上述した順序規則2により各ノード情報を含んでいる。なお、この段階では、木構造テーブルD1000内に各デバイス鍵はまだ記録されていない。
【0189】
4.2.2 ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作について、図40〜図41に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS153の詳細である。
【0190】
鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS421)。
ノード情報の終了を検出すると(ステップS422)、鍵情報ヘッダ生成部106は、ステップS427へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS422)、鍵情報ヘッダ生成部106は、読み出したノード情報に対応する対象ノードの下位側に接続されている2個の下位ノードに対応する2個のノード情報を読み出す(ステップS423)。
【0191】
下位ノードが存在する場合に(ステップS424)、鍵情報ヘッダ生成部106は、読み出した2個の下位ノードに対応する2個のノード情報の両方に、無効化フラグが付されているか否かを調べて、NRPを生成し(ステップS425)、次に、生成したNRPを読み出した対象ノードに対応するノード情報に付加する(ステップS426)。次に、ステップS421へ戻って処理を繰り返す。
【0192】
下位ノードが存在しない場合(ステップS424)、ステップS421へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS427)。
ノード情報の終了を検出すると(ステップS422)、鍵情報ヘッダ生成部106は、処理を終了する。
【0193】
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS428)、鍵情報ヘッダ生成部106は、読み出したノード情報にNRPが付加されているか否かを調べ、付加されている場合(ステップS429)、付加されているNRPを出力し(ステップS430)、次に、ステップS427へ戻って処理を繰り返す。
【0194】
NRPが付加されていない場合(ステップS429)、鍵情報ヘッダ生成部106は、ステップS427へ戻って処理を繰り返す。
4.2.3 鍵情報の特定の動作
ここでは、記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作について、図42に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS172の詳細である。
【0195】
また、再生装置400aが有する特定部402による動作は、特定部303による動作と同じであるので、説明を省略する。
特定部303は、チェックするID情報のビット位置を示す変数i、現在チェックしているNRPが含まれるレイヤを示す変数L、分岐点のノードのレイヤを記憶する変数X、NRPをチェックするか否かを判断するフラグF(初期値、F=0)を有しており、木構造のレイヤ数を示す値Dを有している。また、チェックするNRPの位置を示すポインタAを有している。
【0196】
特定部303は、変数i=0、変数L=0、フラグF=0、変数X=0、ポインタA=0とする(ステップS1300)。
次に、特定部303は、変数Lがレイヤ数D−1よりも小さいか否かを判定する。大きいか又は等しい場合(ステップS1301)、特定部303は、変数Lに対して、変数Xの最後のレイヤ番号を入力する。変数Xは、後入れ先出しの変数であり、出力した値は削除されるものとする。即ち、変数Xにレイヤ0、レイヤ2、レイヤ3の順で入力されたとすると、最初に出力されるのはレイヤ3で、そのレイヤ3は削除され、次はレイヤ2が出力される(ステップS1313)。次に、ステップS1301へ戻って処理を繰り返す。
【0197】
変数Lがレイヤ数D−1よりも小さい場合(ステップS1301)、特定部303は、変数i=変数Lであるか否かを判定する。変数i=変数Lでない場合(ステップS1302)、特定部303は、ステップS1310へ制御を移す。
変数i=変数Lである場合(ステップS1302)、特定部303は、さらに、フラグF=0であるか否かを判定する。フラグF=0でない場合(ステップS1303)、特定部303は、フラグF=0とし(ステップS1309)、特定部303は、ステップS1310へ制御を移す。
【0198】
フラグF=0である場合(ステップS1303)、特定部303は、ID情報の上位iビット目の値に従って、A番目のNRPの対応するビット位置の値Bをチェックし、変数i=i+1とする(ステップS1304)。
次に、特定部303は、値B=1であるか否かを調べ、値B=1でない場合(ステップS1305)、このID情報が割り当てられた装置は無効化されていないとものとして、特定部303は、処理を終了する。
【0199】
値B=1である場合(ステップS1305)、変数≠D−1であるか否かを調べ、変数≠D−1でない場合(ステップS1306)、このID情報が割り当てられた装置は無効化されているものとして、特定部303は、処理を終了する。次に、変数≠D−1である場合(ステップS1306)、特定部303は、NRPが{11}であり、かつID情報のi−1番目の値が「1」であるか否かを判定する。Noの場合(ステップS1307)、特定部303は、ステップS1310へ制御を移す。
【0200】
Yesの場合(ステップS1307)、特定部303は、フラグF=1とし(ステップS1308)、次に、L=L+1とし(ステップS1310)、NRPが{11}であれば、そのレイヤ番号を変数Xに記憶し(ステップS1311)、A=A+1とし(ステップS1312)、次に、ステップS1310へ戻って処理を繰り返す。
【0201】
5.第5の実施の形態
上記の第4の実施の形態においては、複数のNRPを順序規則2により並べるようにしている。
次に述べる第5の実施の形態では、第4の実施の形態において述べた著作物保護システム10dと同様に、順序規則2により並べて複数のNRPを出力し、かつ、第2の実施の形態において述べた著作物保護システム10bと同様に、無効化された装置が木構造の中で特定のリーフに集中する場合に、ヘッダ情報のデータ量を少なく抑えることができる著作物保護システム10e(図示していない)について説明する。
【0202】
5.1 著作物保護システム10eの構成
著作物保護システム10eは、著作物保護システム10dと同様の構成を有している。ここでは、著作物保護システム10dとの相違点を中心として説明する。
5.1.1 鍵管理装置100
著作物保護システム10eの鍵管理装置100は、第4の実施の形態において述べた鍵管理装置100dと同様の構成を有している。ここでは、その相違点を中心として説明する。
【0203】
(1)木構造格納部102
木構造格納部102は、木構造テーブルを有している。木構造格納部102が有する木構造テーブルは、第4の実施の形態において説明した木構造格納部102が有している木構造テーブルD1000と同様の構造を備えており、木構造テーブルに含まれる各ノード情報は、さらに、NRPを含む。
【0204】
(2)鍵情報ヘッダ生成部106
鍵情報ヘッダ生成部106は、複数のNRPを生成し、生成した複数のNRPをヘッダ情報として、鍵情報記録装置200へ出力する。各NRPは、第2の実施の形態において説明したように、3ビットから構成される。
NRPの生成の詳細の動作については、後述する。
【0205】
5.1.2 記録装置300a
著作物保護システム10eの記録装置300aは、第4の実施の形態において述べた記録装置300aと同様の構成を有している。ここでは、その相違点を中心として説明する。
(1)特定部303
特定部303は、ID情報及びヘッダ情報を用いて、ヘッダ情報を上位からシーケンシャルに調べていくことにより、鍵情報の中から1個の暗号化メディア鍵が存在する位置Xを特定する。なお、暗号化メディア鍵が存在する位置Xを特定する場合の詳細の動作については、後述する。
【0206】
5.2 著作物保護システム10eの動作
著作物保護システム10eの動作について、著作物保護システム10dの動作との相違点を中心として説明する。
5.2.1 ヘッダ情報の生成の動作
ここでは、鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作について、図43〜図46に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS153の詳細である。
【0207】
鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS451)。
ノード情報の終了を検出すると(ステップS452)、鍵情報ヘッダ生成部106は、ステップS458へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS452)、鍵情報ヘッダ生成部106は、読み出したノード情報に対応する対象ノードの下位側に接続されている2個の下位ノードに対応する2個のノード情報を読み出す(ステップS453)。
【0208】
下位ノードが存在する場合に(ステップS454)、鍵情報ヘッダ生成部106は、読み出した2個の下位ノードに対応する2個のノード情報の両方に、無効化フラグが付されているか否かを調べて、NRPを生成し(ステップS455)、値「0」を有する拡張ビットを生成したNRPの先頭に付加し(ステップS456)、次に、拡張ビットの付加されたNRPを読み出した対象ノードに対応するノード情報に付加する(ステップS457)。次に、ステップS451へ戻って処理を繰り返す。
【0209】
下位ノードが存在しない場合(ステップS454)、ステップS451へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS458)。
ノード情報の終了を検出すると(ステップS459)、鍵情報ヘッダ生成部106は、ステップS465へ制御を移す。
【0210】
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS459)、鍵情報ヘッダ生成部106は、読み出したノード情報に対応する対象ノードの下位側に接続されている全ての下位ノードに対応する全てのノード情報を読み出す(ステップS460)。
下位ノードが存在する場合に(ステップS461)、鍵情報ヘッダ生成部106は、読み出した全ての下位ノードに対応する全てのノード情報に、無効化フラグが付されているか否かを調べ(ステップS462)、全てのノード情報に付加されている場合にのみ(ステップS463)、対象ノードに対応するノード情報に付加されたNRPの先頭ビットを「1」に書き換える(ステップS464)。
【0211】
次に、ステップS458へ戻って処理を繰り返す。
下位ノードが存在しない場合(ステップS461)、ステップS458へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS465)。
【0212】
ノード情報の終了を検出すると(ステップS466)、鍵情報ヘッダ生成部106は、ステップS472へ制御を移す。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS466)、鍵情報ヘッダ生成部106は、読み出したノード情報に対応する対象ノードの下位側に接続されている全ての下位ノードに対応する全てのノード情報を読み出す(ステップS467)。
【0213】
下位ノードが存在する場合に(ステップS468)、鍵情報ヘッダ生成部106は、読み出した全ての下位ノードに対応する全てのノード情報に、それぞれNRP{111}が付加されているか否かを調べ(ステップS469)、全てのノード情報に付加されている場合にのみ(ステップS470)、前記全てのノード情報に、それぞれ削除フラグを付加する(ステップS471)。
【0214】
次に、ステップS465へ戻って処理を繰り返す。
下位ノードが存在しない場合(ステップS468)、ステップS465へ戻って処理を繰り返す。
次に、鍵情報ヘッダ生成部106は、順序規則2に従って木構造テーブルから順に1個ずつノード情報の読出しを試みる(ステップS472)。
【0215】
ノード情報の終了を検出すると(ステップS473)、鍵情報ヘッダ生成部106は、処理を終了する。
ノード情報の終了を検出せず、ノード情報が読み出せた場合には(ステップS473)、鍵情報ヘッダ生成部106は、読み出したノード情報にNRPが付加されているか否かを調べ、付加されている場合(ステップS474)、さらに、削除フラグが付加されているか否かを調べ、削除フラグが付加されていない場合には(ステップS475)、付加されているNRPを出力し(ステップS476)、次に、ステップS472へ戻って処理を繰り返す。
【0216】
NRPが付加されていない場合(ステップS474)、又は、削除フラグが付加されている場合(ステップS475)、鍵情報ヘッダ生成部106は、ステップS472へ戻って処理を繰り返す。
5.2.2 鍵情報の特定の動作
ここでは、記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作について、図47に示すフローチャートを用いて説明する。なお、ここで説明する動作は、図11に示すフローチャートにおけるステップS172の詳細である。
【0217】
また、再生装置400aが有する特定部402による動作は、特定部303による動作と同じであるので、説明を省略する。
また、ここでは、図42に示すフローチャートとの相違点を中心として説明する。
特定部303は、第4の実施の形態の場合と同様に、チェックするID情報のビット位置を示す変数i、現在チェックしているNRPが含まれるレイヤを示す変数L、分岐点のノードのレイヤを記憶する変数X、NRPをチェックするか否かを判断するフラグF(初期値、F=0)を有しており、木構造のレイヤ数を示す値Dを有している。また、チェックするNRPの位置を示すポインタAを有している。
【0218】
値B=1である場合(ステップS1305)、NRPの最上位ビットが「1」であるときにのみ(ステップS1316)、特定部303は、変数i=D−1とし、変数L=D−1とする(ステップS1317)。
また、特定部303は、NRPが{11}であり、かつNRPの最上位ビットが「1」でないとき、そのレイヤ番号を変数Xに記憶する(ステップS1311)。
【0219】
6.その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明の実施の形態として、従来方式による無効化方法を例として説明したが、本発明は上記の実施の形態に限定されるものではない。鍵管理装置がある木構造を保持し、この木構造のリーフに記録装置又は再生装置を割り当て、ノードに付随するあるデバイス鍵を各記録装置又は各再生装置に割り当てるものであり、鍵管理装置がこの木構造を用いて前記デバイス鍵の無効化と、前記鍵情報の作成を行うものであれば、前記ノードに付随するデバイス鍵の割り当て方や、各装置へのデバイス鍵の割り当て方はどのようなものであってもよい。
【0220】
(2)また、本発明の実施の形態として、2分木の木構造を例として説明したが、本発明は2分木に限定されるものではない。一般にn分木でも実現可能である。このときID情報は、あるノードから下に派生するn本の経路に対して、0〜n−1を割り当て、上述した実施の形態と同様に、リーフからルートに至るまでの経路上に割り当てられた値を上位から順に連結することにより、設定される。
【0221】
(3)以上で述べた本発明の実施の形態においては、DVD−RAM等のレコーダブルメディアについて説明した。しかし、DVD−Video等のプレレコーディッドメディアについても、同様の方法で実現することができる。
プレレコーディッドメディアにおける著作物保護システム10fについて、説明する。
【0222】
著作物保護システム10fは、図48に示すように、鍵管理装置100、データ記録装置1701、データ再生装置1703a、1703b、1703c、・・・から構成されている。
鍵管理装置100は、上記の実施の形態において説明したように、ヘッダ情報が付加された鍵情報とコンテンツ鍵とをデータ記録装置1701へ出力し、複数のデバイス鍵と各デバイス鍵識別情報とID情報とをデータ再生装置1703a、1703b、1703c、・・・へ出力する。
【0223】
データ記録装置1701に、プレレコーディッドメディアである記録媒体500aが装着される。データ記録装置1701は、鍵管理装置100から鍵情報とメディア鍵とを受け取り、メディア鍵を用いてコンテンツを暗号化して暗号化コンテンツを生成し、生成した暗号化コンテンツと受け取った鍵情報とを記録媒体500aに書き込む。こうして、暗号化コンテンツと鍵情報とが書き込まれた記録媒体500dが生産される。
【0224】
記録媒体500dは、市場を流通し、利用者は、記録媒体500dを入手する。利用者は、記録媒体500dをデータ再生装置1703aに装着する。
データ再生装置1703aは、鍵管理装置100から複数のデバイス鍵と各デバイス鍵識別情報とID情報とを予め受け取っており、記録媒体500dが装着されると、記録媒体500dから鍵情報と暗号化コンテンツとを読み出し、鍵情報から暗号化メディア鍵を特定し、特定した暗号化メディア鍵をデバイス鍵を用いて復号し、得られたメディア鍵を用いて、暗号化コンテンツを復号して、コンテンツを生成する。
【0225】
このようなシステムにおいても、実施の形態で示した鍵管理装置100と同様の動作により、記録媒体に記録するヘッダ情報を少なく抑えつつ、各データ再生装置で効率よく復号すべき暗号化メディア鍵を特定することができる。
(4)以上では本発明をデジタルコンテンツの著作権保護のために用いる場合を例示したが、本発明の応用はこれに限定されるものではなく、例えば、会員制の情報提供システムにおいて、ある特定の会員以外に情報を提供するという、いわゆるコンディショナルアクセスの目的にも利用できる。
【0226】
(5)本発明の実施の形態においては、鍵情報あるいは暗号化コンテンツを、記録媒体を用いて配布する例を示したが、記録媒体の代わりに、インターネットに代表されるような通信媒体を用いてもよい。
(6)鍵管理装置と鍵情報記録装置が一体の装置から構成されているとしてもよい。
【0227】
(7)上記の実施の形態では、n分木を構成する全てのノードに予めデバイス鍵を割り当てておき、リーフからルートへの経路上に存在する全てのデバイス鍵を、前記リーフに対応する利用装置に割り当てるとしているが、本発明は、このようなデバイス鍵の割り当て方法には、限定されない。
n分木を構成する全てのノードに予めデバイス鍵を割り当てておくのではなく、一部のノードにのみ、予めデバイス鍵を割り当てておくとしてもよい。
【0228】
また、リーフからルートへの経路上に存在する全てのデバイス鍵を、前記リーフに対応する利用装置に割り当てるのではなく、リーフからルートへの経路上に存在する全てのデバイス鍵のうちの一部のデバイス鍵を前記利用装置に割り当てるとしてもよい。
(8)一例として図4に示す木構造を想定する。デバイス鍵が漏洩していない初期状態では、メディア鍵は、デバイス鍵KeyAを用いて暗号化され、暗号化メディア鍵が生成される。
【0229】
このとき、ユーザ装置1〜16のいずれかの装置が、悪意のある第三者によりハックされて、デバイス鍵KeyAが暴露され、デバイス鍵KeyAだけを内部に有するクローン機器が製造されたとする。このとき、前記クローン機器は、デバイス鍵KeyAだけを有するので、ユーザ装置1〜16のうちのどの装置がハックされた装置であるかを特定することはできない。一方で、前記クローン機器は、デバイス鍵KeyAを有しているので、正しいメディア鍵を不正に得ることができる。
【0230】
このような状況では、デバイス鍵KeyAのみを無効化し、かつ、全ての機器がカバーされるようなデバイス鍵を用いて、言い換えると、全ての機器が共有しているデバイス鍵を用いて、メディア鍵を暗号化しなければならない。ここで、全ての機器をカバーする理由は、このような状況では、ハックされた機器がどの機器か断定できないためである。
【0231】
そこで、デバイス鍵KeyB及びKeyCをそれぞれ用いて、メディア鍵を暗号化して2個の暗号化メディア鍵を生成する。
次に、デバイス鍵KeyBが暴露された場合には、デバイス鍵KeyBを無効化し、さらに、デバイス鍵KeyC、KeyD及びKeyEをそれぞれ用いて、メディア鍵を暗号化して3個の暗号化メディア鍵を生成する。
【0232】
このような操作が、木の高さ分だけ繰り返されると、最終的には、ハックされた機器が特定される。
以上説明したような状況に対応するために、デバイス鍵KeyAのみを無効化する場合、鍵管理装置は、デバイス鍵KeyAが対応するノードに対して、NRP{100}を付加する。図4に示す木構造の場合には、ルートに対して、NRP{100}を付加する。
【0233】
NRP{100}の先頭のビット「1」は、このノードが無効化されていることを示し、また、先頭のビット「1」に続くビット列「00」は、このノードの下に接続されている2個のノードは、両方とも、無効化されていないことを示している。
つまり、図4に示す木構造の場合に、ルートに対して、NRP{100}が付加されているならば、デバイス鍵KeyB及びKeyCを用いて、メディア鍵を暗号化して生成された2個の暗号化メディア鍵が存在することとなる。このように、NRPの先頭のビット「1」は、このノードの下には、暗号化メディア鍵が2個存在することを意味するフラグであるといえる。
【0234】
一方、第2の実施の形態で説明したように、NRPが{111}であるときの先頭のビット「1」は、このノードの下には、NRPが存在しないことを示している。
以下において、さらに詳細に説明する。
(鍵管理装置100)
ここでは、鍵管理装置100は、図4に示す木構造T100を生成し、この図に示すように、各ノードにデバイス鍵を割り当て、各リーフにユーザ装置を割り当てたものとする。
【0235】
この後、図49に示すように、ルートT701、ノードT702及びノードT703にそれぞれ割り当てられたデバイス鍵KeyA、KeyB及びKeyEが、上記に示すように漏洩したため、鍵管理装置100は、以下に示すようにして、デバイス鍵KeyA、KeyB及びKeyEを無効化し、ヘッダ情報及び鍵情報を生成し、生成したヘッダ情報及び鍵情報を、鍵情報記録装置200を介して、記録媒体に書き込む。
【0236】
(a)デバイス鍵KeyA、KeyB及びKeyEの無効化
鍵管理装置100は、木構造テーブルにおいて、デバイス鍵KeyA、KeyB及びKeyEがそれぞれ含まれるノード情報に無効化フラグ「1」を付加する。
(b)ヘッダ情報の生成
鍵管理装置100は、無効化フラグが付加されたノード情報を含む前記木構造テーブルを用いて、ルートT701に付加するNRP{010}を生成し、生成したNRP{010}をヘッダ情報の一部として、鍵情報記録装置200を介して、記録媒体に書き込む。ここで、NRPの先頭のビット「0」は、ルートT701の直下に接続される2個の下位のノードのいずれか一方が無効化され、他方は無効化されていないことを示している。また、NRPの下位の2ビット「10」は、上記の実施の形態においても説明したように、ルートT701の直下に接続される2個の下位のノードのうち、左側のノードT702は、無効化されており、右側のノードT704は、無効化されていないことを示している。
【0237】
次に、鍵管理装置100は、ノードT702に付加するNRP{001}を生成し、生成したNRP{001}をヘッダ情報の一部として、鍵情報記録装置200を介して、記録媒体に書き込む。ここで、NRPの先頭のビット「0」は、ノードT702の直下に接続される2個の下位のノードのいずれか一方が無効化され、他方は無効化されていないことを示している。また、NRPの下位の2ビット「01」は、ノードT702の直下に接続される2個の下位のノードのうち、左側のノードT705は、無効化されておらず、右側のノードT703は、無効化されていることを示している。
【0238】
次に、鍵管理装置100は、ノードT703に付加するNRP{100}を生成し、生成したNRP{100}をヘッダ情報の一部として、鍵情報記録装置200を介して、記録媒体に書き込む。NRP{100}は、上記において説明したように、ノードT703の直下に接続される2個の下位のノードT706、T707の両方とも無効化されておらず、これら2個のノードT706、T707には、それぞれ暗号化メディア鍵が存在することを示している。
【0239】
このようにして、図50に示すヘッダ情報D1000が記録媒体に書き込まれる。ヘッダ情報D1000は、この図に示すように、NRP{010}、{001}、{100}をこの順序で含んで構成されている。
(c)鍵情報の生成
次に、鍵管理装置100は、以下に示すようにして、無効化されていないデバイス鍵のうちの一部のデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成し、生成した暗号化メディア鍵を含む鍵情報とNRPを含むヘッダ情報とを、鍵情報記録装置200を介して、記録媒体に書き込む。
【0240】
最初に、鍵管理装置100は、無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、図49に示すように、無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵は、ノードT704に割り当てられたデバイス鍵KeyCであるので、鍵管理装置100は、デバイス鍵KeyCを用いて、メディア鍵を暗号化して、暗号化メディア鍵E1(KeyC、メディア鍵)を生成し、生成した暗号化メディア鍵E1(KeyC、メディア鍵)を、鍵情報記録装置200を介して、記録媒体に書き込む。
【0241】
次に、鍵管理装置100は、上記のデバイス鍵KeyCが割り当てられたノードT704及びノードT704の下位側の全てのノードを除く他のノードについて、これらの他のノードに割り当てられた無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、該当するノードは、ノードT705であるので、鍵管理装置100は、ノードT705に割り当てられたデバイス鍵KeyDを用いて、メディア鍵を暗号化して、暗号化メディア鍵E1(KeyD、メディア鍵)を生成し、生成した暗号化メディア鍵E1(KeyD、メディア鍵)を、鍵情報記録装置200を介して、記録媒体に書き込む。
【0242】
次に、鍵管理装置100は、上記のデバイス鍵KeyCが割り当てられたノードT704及びノードT704の下位側の全てのノード、及び上記のデバイス鍵KeyDが割り当てられたノードT705及びノードT705の下位側の全てのノードを除く他のノードについて、これらの他のノードに割り当てられた無効化されていないデバイス鍵のうち、最上位のレイヤに存在するノードに割り当てられているデバイス鍵を用いて、メディア鍵を暗号化して暗号化メディア鍵を生成する。ここで、該当するノードは、ノードT706であるので、鍵管理装置100は、ノードT706に割り当てられたデバイス鍵KeyJを用いて、メディア鍵を暗号化して、暗号化メディア鍵E1(KeyJ、メディア鍵)を生成し、生成した暗号化メディア鍵E1(KeyJ、メディア鍵)を、鍵情報記録装置200を介して、記録媒体に書き込む。
【0243】
次に、鍵管理装置100は、上記と同様にして、ノードt707に割り当てられたデバイス鍵KeyKを用いて、メディア鍵を暗号化して、暗号化メディア鍵E1(KeyK、メディア鍵)を生成し、生成した暗号化メディア鍵E1(KeyK、メディア鍵)を、鍵情報記録装置200を介して、記録媒体に書き込む。このようにして、図50に示す鍵情報D1010が記録媒体に書き込まれる。鍵情報D1010は、この図に示すように、暗号化メディア鍵E1(KeyC、メディア鍵)、E1(KeyD、メディア鍵)、E1(KeyJ、メディア鍵)及びE1(KeyK、メディア鍵)を、この順序で含んで構成されている。
【0244】
(記録装置300a)
次に、記録装置300aが有する特定部303により、上記のようにして記録媒体に記憶されたヘッダ情報及び鍵情報から、1個の暗号化メディア鍵を特定する動作について、図51に示すフローチャートを用いて説明する。
特定部303は、暗号化メディア鍵の位置を示す変数X、ユーザ装置自身に関係するNRPの位置を示す変数A、あるレイヤにおけるNRPの数を示す変数W、及び処理対象となるレイヤ数を示す変数iを有している。
【0245】
特定部303は、初期値として、それぞれ変数A=0、変数W=1、変数i=0とする(ステップS301)。
次に、特定部303は、A番目のNRPの下位2ビットのうち、ID情報の上位iビット目の値に対応するビット位置にある値Bが「0」であるか、又は「1」であるかをチェックする(ステップS303)。ここで、対応するビット位置とは、上記の実施の形態においても説明したように、図4に示す木構造において左の経路に「0」、右の経路に「1」が割り当てられ、これらの規則に基づいてID情報が構成されているので、ID情報の上位iビット目の値「0」は、A番目のNRPの下位2ビットのうちの左ビットに対応し、iビット目の値「1」は、A番目のNRPの下位2ビットのうちの右ビットに対応する。
【0246】
次に、値B=0の場合(ステップS303)、特定部303は、先頭のNRPから、最後にチェックしたNRPまでの各NRPについて、以下の通りチェックする。ただしA番目のNRPは含まない。
(a)NPRの最上位ビットが「0」であり、かつ下位2ビットが「11」でないとき、変数Xに「1」を加算する。
【0247】
(b)NPRの最上位ビットが「1」であるとき、下位2ビットに含まれる「0」の数を、変数Xに加算する。
最後にチェックしたA番目のNRPについては、NRPの最上位ビットが「1」であるときのみ、対応するビット位置までの「0」の数を変数Xに加算する。ここで、対応するビット自身は含まないものとする。こうして得られた変数Xが、暗号化メディア鍵の位置を示している。また、この時点の変数iは、デバイス鍵を識別するためのデバイス鍵識別情報である(ステップS307c)。次に、特定部303は、処理を終了する。
【0248】
一方、値B=1の場合(ステップS303)、さらに、特定部303は、NRPの最上位ビットが「1」でないか否かを判断し、NRPの最上位ビットが「1」であると判断する場合には(ステップS308)、このユーザ装置は、無効化されているので、次に、特定部303は、処理を終了する。
NRPの最上位ビットが「1」でないと判断する場合に(ステップS308)、特定部303は、レイヤiに存在するW個の全NRPの下位2ビットに含まれる「1」の数をカウントし、カウントした値を変数Wに代入する。ただし、NRPの最上位ビットが「1」のNPRは、カウントの対象とはしない。こうして得られた変数Wが、次のレイヤi+1に存在するNRPの数を示す(ステップS304c)。
【0249】
次に、特定部303は、レイアiに存在するNRPのうちの最初のNRPから、対応するビット位置までの各NRPについて、NRPの下位2ビットに含まれる「1」の数をカウントし、カウントした値を変数Aに代入する。ここで、対応するビット位置の値はカウントしない。また、NRPの最上位ビットが「1」であるNRPは、カウントの対象とはしない。こうして得られた変数Aが、次のレイヤi+1のNRPのうち、ユーザ装置自身に関係するNRPの位置を示す(ステップS305c)。
【0250】
次に、特定部303は、変数i=i+1を演算し(ステップS306)、次にステップS303へ制御を移し、上述の処理を繰り返す。
以上に示すようにして、木構造のリーフからルートへの経路上に存在するデバイス鍵が無効化された場合に限らず、木構造の一部のノードに割り当てられたデバイス鍵が無効化された場合であっても、鍵管理装置によるヘッダ情報及び鍵情報の記録媒体への書込みと、再生装置による暗号化メディア鍵の特定とが行える。
【0251】
(9)一例として図4に示す木構造を想定し、デバイス鍵が全く漏洩していない初期状態であり、前記木構造には無効化されたノードがないものとする。
この場合に、鍵管理装置は、ルートに対応付けられているデバイス鍵KeyAを用いて、メディア鍵を暗号化して1個の暗号化メディア鍵を生成する。次に、鍵管理装置は、前記木構造には無効化されたノードがなく、全てのノードが有効であることを示す特別なNRP{00}を1個生成する。次に、鍵管理装置は、生成した前記暗号化メディア鍵と生成したNRP{00}を、鍵情報記録装置を介して、記録媒体に書き込む。
【0252】
また、この場合に、再生装置は、前記記録媒体からNRPを読み出し、読み出したNRPが{00}のみであり、この他にNRPが前記記録媒体に記録されていないと判断する場合に、再生装置は、木構造において無効化されているノードが全く存在しないものと判断し、次に、前記記録媒体に記録されている前記暗号化メディア鍵を読み出し、再生装置自身が記憶しているデバイス鍵のうち、ルートに対応付けられているデバイス鍵KeyAを用いて、読み出した前記暗号化メディア鍵を復号して、メディア鍵を生成する。
【0253】
また、この場合に、記録装置も、前記再生装置と同様に動作する。
7.第6の実施の形態
本発明に係るさらに別の実施の形態としての認証システム1000について説明する。
認証システム1000は、図52に示すように、認証局装置1100、製造装置1200、製造装置1300、著作物記録装置1400及びパーソナルコンピュータ1500から構成されている。パーソナルコンピュータ1500は、ドライブ部1600と本体部1900とから構成され、ドライブ部1600と本体部1900とは、汎用通信路1020を介して接続されている。
【0254】
ドライブ製造業者は、インターネット1010に接続されている製造装置1200を有しており、ドライブ部1600を製造する。ドライブ部1600の製造の工程において、製造装置1200は、ドライブ部1600に対応するドライブ秘密鍵とドライブ公開鍵とを生成し、生成したドライブ秘密鍵をドライブ部1600の外部からアクセスされない記憶領域に書き込み、生成したドライブ公開鍵をインターネット1010を介して公開する。また、製造装置1200は、インターネット1010を介して、公開鍵証明書認証局が有する認証局装置1100に対して、公開鍵証明書の生成を依頼し、認証局装置1100は、ドライブ公開鍵に対応する公開鍵証明書を生成し、生成した公開鍵証明書をインターネット1010を介して、製造装置1200へ送信する。製造装置1200は、認証局装置1100から前記ドライブ公開鍵に対応する公開鍵証明書を取得し、取得した公開鍵証明書をドライブ部1600に書き込む。次に、ドライブ製造業者は、ドライブ秘密鍵及び公開鍵証明書が書き込まれたドライブ部1600をパソコン製造業者に納入する。
【0255】
パソコン製造業者は、インターネット1010に接続されている製造装置1300を有しており、パーソナルコンピュータ1500の本体部1900を製造する。本体部1900の製造の工程において、製造装置1300は、インターネット1010を介して公開されたドライブ公開鍵を取得し、取得したドライブ公開鍵を本体部1900に書き込む。次に、パソコン製造業者は、納入されたドライブ部1600と、ドライブ公開鍵が書き込まれた本体部1900とを汎用通信路1020により接続して組み立て、パーソナルコンピュータ1500を生産する。
【0256】
生産されたパーソナルコンピュータ1500は、販売業者を介して販売され、利用者は、パーソナルコンピュータ1500を購入する。
ここで、前記ドライブ秘密鍵と前記ドライブ公開鍵のセットが不正な第三者により暴露されたとする。この場合、対応する公開鍵証明書は無効化されなければならない。
【0257】
認証局装置1100は、公開鍵証明書を無効化すべきことを知ると、無効化すべき公開鍵証明書を識別する証明書IDを含むCRLを生成し、生成したCRLをインターネット1010を介して、著作物販売業者が有する著作物記録装置1400へ送信する。著作物記録装置1400は、デジタル著作物を記憶しており、デジタル著作物と受信したCRLとをDVD1800に書き込み、デジタル著作物とCRLとが書き込まれたDVD1800が販売される。
【0258】
利用者は、DVD1800を購入し、パーソナルコンピュータ1500に装着する。
パーソナルコンピュータ1500の本体部1900は、ドライブ部1600を介して、DVD1800からCRLを読み出し、ドライブ部1600から公開鍵証明書を取得し、読み出したCRLを用いて、取得した公開鍵証明書が無効化されているか否かを判断する。無効化されていると判断する場合には、本体部1900は、ドライブ部1600の利用を中止する。無効化されていないと判断する場合には、本体部1900は、さらに、内部に記憶しているドライブ公開鍵を用いて、ドライブ部1600の正当性を認証し、ドライブ部1600が正当であると認証された場合には、ドライブ部1600を介してDVD1800からデジタル著作物を読み出す。ドライブ部1600が不正であると認証された場合には、本体部1900は、ドライブ部1600を介してDVD1800からデジタル著作物を読み出すことを中止する。
【0259】
7.1 製造装置1200の構成
製造装置1200は、図53に示すように、情報記憶部1201、入力部1202、表示部1203、制御部1204、書込部1205及び通信部1206から構成されている。
製造装置1200は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、製造装置1200は、その機能を達成する。
【0260】
製造装置1200は、上述したように、ドライブ製造業者が有するものである。ドライブ部1600の製造の工程において、ドライブ製造業者は、製造装置1200と製造途中のドライブ部1600とを接続する。
(1)情報記憶部1201
情報記憶部1201は、製造情報テーブル1211を有している。
【0261】
製造情報テーブル1211は、図53に一例として示すように、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データから構成される製造情報を複数個記憶するための領域を備えている。
ここで、製造番号は、ドライブ製造業者により製造されるドライブ部を一意に識別するための識別番号である。
【0262】
ドライブ秘密鍵は、当該ドライブ部に対応して生成された秘密鍵である。
ドライブ公開鍵は、前記ドライブ秘密鍵に対応して生成された公開鍵である。
有効期限は、前記ドライブ秘密鍵及び前記ドライブ公開鍵の使用の開始日及び使用の終了日から構成される。
公開鍵証明書は、前記ドライブ公開鍵に対応して生成された証明書であり、証明書ID、有効期限及びドライブ公開鍵を含んでいる。証明書IDは、当該公開鍵証明書を識別するための識別情報である。有効期限は、前記の有効期限と同一の内容のものである。ドライブ公開鍵は、前記ドライブ公開鍵と同一の内容のものである。
【0263】
証明書署名データは、前記公開鍵証明書を基にして生成された署名データである。
(2)入力部1202
入力部1202は、製造装置1200の操作者からドライブ部1600の製造番号の入力を受け付け、さらに有効期限の入力を受け付け、受け付けた製造番号及び有効期限を制御部1204へ出力する。
【0264】
(3)制御部1204
制御部1204は、入力部1202から製造番号及び有効期限を受け取る。製造番号及び有効期限を受け取ると、制御部1204は、乱数を生成し、生成した乱数を基にしてドライブ秘密鍵を生成し、次に、RSA公開鍵暗号技術を用いて、生成したドライブ秘密鍵を基にしてドライブ公開鍵を生成する。
【0265】
ここで、RSA公開鍵暗号技術については、公知であるので、説明を省略する。
次に、制御部1204は、生成したドライブ公開鍵、受け取った有効期限及び公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼を、通信部1206及びインターネット1010を介して、認証局装置1100へ出力する。
【0266】
次に、制御部1204は、認証局装置1100から、インターネット1010及び通信部1206を介して、公開鍵証明書及び証明書署名データを受け取り、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データからなる製造情報を生成し、生成した製造情報を情報記憶部1200が有する製造情報テーブル1211に書き込む。
【0267】
また、制御部1204は、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを書込部1205へ出力する。
さらに、制御部1204は、製造番号及びドライブ公開鍵を、通信部1206及びインターネット1010を介して、公開する。
(4)書込部1205
書込部1205は、ドライブ製造業者により、ドライブ部1600が有する情報記憶部1601(後述する)に接続される。
【0268】
書込部1205は、制御部1204から製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを受け取り、受け取った製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データをドライブ部1600が有する情報記憶部1601に書き込む。
(5)通信部1206
通信部1206は、インターネット1010に接続されており、インターネット1010に接続されている外部の装置と、制御部1204との間で情報の送受信を行う。
【0269】
(6)表示部1203
表示部1203は、制御部1204の制御の元に、各種の情報を表示する。
7.2 製造装置1300の構成
製造装置1300は、製造装置1200と同様に、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、通信ユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、製造装置1300は、その機能を達成する。
【0270】
製造装置1300は、インターネット1010に接続されている。
製造装置1300は、上述したように、パソコン製造業者が有するものである。本体部1900の製造の工程において、パソコン製造業者は、製造装置1300と本体部1900とを接続する。
製造装置1300は、インターネット1010を介して、公開された製造番号及びドライブ公開鍵を取得し、取得した製造番号及びドライブ公開鍵を本体部1900が有する情報記憶部1901(後述する)へ書き込む。
【0271】
7.3 認証局装置1100
認証局装置1100は、図54に示すように、木構造構築部1101、木構造格納部1102、CRL生成部1103、無効通知部1104、木構造更新部1105、CRL記憶部1106、CRL送信部1107、証明書生成部1108、証明書記憶部1109、送受信部1110、入力部1111、表示部1112及び制御部1113から構成されている。
【0272】
この装置は、具体的には、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、認証局装置1100は、その機能を達成する。
認証局装置1100は、鍵管理装置100と同様の構成を有している。ここでは、鍵管理装置100との相違点を中心として説明する。
【0273】
(1)木構造格納部1102
木構造格納部1102は、木構造格納部102が有している木構造テーブルD100と同様の木構造テーブルD1100(図示していない)を有している。
木構造テーブルD1100は、木構造T1100(図示していない)に対応している。
【0274】
(木構造T1100)
木構造T1100は、レイヤ0からレイヤ4までの5階層からなる2分木であり、図4に示す木構造T100と同一の木構造である。木構造T1100は、公開鍵証明書IDを管理するために用いられる。
一方、上述したように、木構造T100は、デバイス鍵を管理するために用いられる。このように、木構造T1100と木構造T100は、その使用の目的において異なる。木構造T1100の構成そのものについては、木構造T100と同一であるので、詳細な説明は、省略する。
【0275】
(木構造テーブルD1100)
木構造テーブルD1100は、木構造T1100に含まれるノードと同じ数のノード情報を記憶するための領域を備えており、各ノード情報は、木構造T1100を構成する各ノードにそれぞれ対応している。
木構造テーブルD1100に含まれるリーフ以外のノードに対応する各ノード情報は、ノード名及び無効化フラグを含む。リーフに対応する各ノード情報は、ノード名、ドライブ公開鍵及び無効化フラグを含む。ここで、ドライブ公開鍵は、後述するように、製造装置1200から受信したものである。
【0276】
なお、木構造テーブルD100に含まれる各ノード情報は、上述したように、ノード名、デバイス鍵及び無効化フラグを含んでおり、一方、木構造テーブルD1100に含まれる各ノード情報は、ノード名及び無効化フラグを含み、又はノード名、ドライブ公開鍵及び無効化フラグを含む。
この点において、木構造テーブルD1100と木構造テーブルD100とは、相違しており、その他の点について、同一である。従って、木構造テーブルD1100についての詳細な説明は、省略する。
【0277】
(2)木構造構築部1101
木構造構築部1101は、木構造構築部101と同様の構成を有している。
木構造構築部1101は、木構造構築部101と同様に、公開鍵証明書IDを管理するn分木のデータ構造を構築し、構築した木構造を木構造格納部1102に格納する。具体的には、木構造構築部101と同様に、木構造テーブルD1100に含まれる各ノード情報のうち、各ノードのノード名を生成し、生成したノード名を各ノード情報内に書き込む。
【0278】
こうして、木構造構築部1101による木構造の構築が完了した時点において、木構造テーブルD1100に含まれる各ノード情報は、ノード名のみを含んでいる。
なお、木構造構築部101は、木構造のノード毎にデバイス鍵を生成し、生成したデバイス鍵を各ノードに対応付けて木構造テーブル内に書き込むが、木構造構築部1101は、デバイス鍵の生成とデバイス鍵の木構造テーブル内への書込みは行わない。この点において、相違している。
【0279】
(3)証明書記憶部1109
証明書記憶部1109は、後述する公開鍵証明書を1個以上記憶するための領域を備えている。
(4)証明書生成部1108
証明書生成部1108は、製造装置1200から、インターネット1010及び送受信部1110を介して、公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取る。
【0280】
公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取ると、証明書生成部1108は、木構造格納部1102に格納されている木構造テーブルD1100内のリーフに対応するノード情報のうち、ドライブ公開鍵を含まないものを1個選択し、選択したノード情報内に、受け取った前記ドライブ公開鍵を書き込む。
【0281】
また、証明書生成部1108は、選択したノード情報からノード名を抽出する。ここで、抽出したノード名を受け取ったドライブ公開鍵に対応する公開鍵証明書を識別する証明書IDとする。
こうして、証明書生成部1108は、受け取ったドライブ公開鍵に対応する公開鍵証明書の証明書IDを生成する。次に、証明書生成部1108は、生成した証明書ID、受け取った有効期限及び受け取ったドライブ公開鍵から構成される公開鍵証明書を生成する。
【0282】
次に、証明書生成部1108は、認証局装置1100のみが秘密に保持している認証局秘密鍵を用いて、生成した前記公開鍵証明書にデジタル署名SIGを施して、証明書署名データを生成する。
ここで、デジタル署名SIGは、楕円曲線上の離散対数問題を安全性の根拠とするElGamal暗号を用いるデジタル署名である。
【0283】
次に、証明書生成部1108は、生成した公開鍵証明書及び証明書署名データを、送受信部1110及びインターネット1010を介して、製造装置1200へ送信する。また、証明書生成部1108は、生成した公開鍵証明書を証明書記憶部1109へ書き込む。
(5)無効通知部1104
ドライブ秘密鍵とドライブ公開鍵のセットが不正な第三者により暴露されたとする。この場合、対応する公開鍵証明書は無効化されなければならない。
【0284】
認証局装置1100の管理者が無効化されるべき公開鍵証明書の証明書IDを知ると、無効通知部1104は、管理者の操作により入力部1111を介して、無効化されるべき公開鍵証明書の証明書IDを取得し、取得した証明書IDを木構造更新部1105へ出力する。
(6)木構造更新部1105
木構造更新部1105は、無効通知部1104から証明書IDを受け取る。
【0285】
証明書IDを受け取ると、木構造更新部105と同様にして、木構造テーブルD1100の更新を行う。
なお、上述の木構造更新部105の説明部分において、「ID情報」とあるのを「証明書ID」と読み替える。
こうして、木構造更新部1105は、木構造更新部105と同様に、無効通知部1104から受け取った証明書IDに基づいて、木構造D1100において、受け取った証明書IDが示すリーフから、ルートまでの経路上に存在する全てのノードを無効化する。
【0286】
木構造D1100において、「0000」、「1010」及び「1011」により示される証明書IDが無効化されると想定する場合、上記のようにして木構造更新部1105によりノードが無効化された木構造は、図5に示すようになる。この図において、×印が付されたノードが無効化されたノードを示している。
(7)CRL記憶部1106
CRL記憶部1106は、1個以上のCRLを記憶するための領域を備えている。
【0287】
(8)CRL生成部1103
CRL生成部1103は、鍵情報ヘッダ生成部106と同様に動作する。この結果、CRL生成部1103は、複数個のNRPを生成する。
CRL生成部1103が生成する複数個のNRP(NRP群と呼ぶ)の一例を図55に示す。この図に示すように、NRP群は、NRP{11}、{10}、{10}、{10}、{01}、{10}、{11}から構成され、各NRPをこの順序で含んでいる。
【0288】
ここで、生成されたNRP群は、鍵情報ヘッダ生成部106により生成されたヘッダ情報D200(図6に示す)と同一の内容を有している。
ここまでに説明したCRL生成部1103の動作は、鍵情報ヘッダ生成部106と同様のものである。
次に、CRL生成部1103は、鍵情報ヘッダ生成部106と異なる動作として、認証局装置1100のみが秘密に保持している認証局秘密鍵を用いて、生成したNRP群に、デジタル署名SIGを施して、NRP署名データを生成し、前記NRP群と生成したNRP署名データとからなるCRLを生成する。
【0289】
CRLの一例を図55に示す。この図に示すCRL1131は、NRP群1132及びNRP署名データ1133から構成されている。
次に、CRL生成部1103は、生成したCRLをCRL記憶部1106に書き込む。また、生成したCRLを、CRL送信部1107及びインターネット1010を介して、著作物記録装置1400へ送信する。
【0290】
(9)CRL送信部1107
CRL送信部1107は、インターネット1010に接続されており、CRL生成部1103から情報を受け取り、受け取った情報を、インターネット1010を介して、外部の装置へ送信する。
(10)送受信部1110
送受信部1110は、インターネット1010に接続されており、証明書生成部1108とインターネット1010に接続されている外部の装置との間で、情報の送受信を行う。
【0291】
(11)制御部1113、表示部1112及び入力部1111
制御部1113は、認証局装置1100を構成する各構成要素を制御する。
表示部1112は、制御部1113の制御の元に、各種情報を表示する。
入力部1111は、認証局装置1100の操作者からの入力を受け付ける。
7.4 著作物記録装置1400
著作物記録装置1400は、図56に示すように、著作物記憶部1401、暗号化部1402、書込部1403及び送受信部1404から構成されている。
【0292】
著作物記録装置1400は、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、著作物記録装置1400は、その機能を達成する。
(1)著作物記憶部1401
著作物記憶部1401は、予めデジタル著作物を記憶している。
【0293】
(2)送受信部1404
送受信部1404は、インターネット1010に接続されている。
送受信部1404は、認証局装置1100からインターネット1010を介して、CRLを受信し、受信したCRLを暗号化部1402へ出力する。
(3)暗号化部1402
暗号化部1402は、送受信部1404からCRLを受け取る。
【0294】
また、暗号化部1402は、操作者の指示により、著作物記憶部1401からデジタル著作物を読み出し、読み出したデジタル著作物及び受け取ったCRLに暗号化アルゴリズムE3を施して、それぞれ、暗号化著作物及び暗号化CRLを生成する。
ここで、暗号化アルゴリズムE3は、DESによるものである。
【0295】
次に、暗号化部1402は、生成した暗号化著作物及び暗号化CRLを書込部1403へ出力する。
(4)書込部1403
書込部1403は、暗号化部1402から暗号化著作物及び暗号化CRLを受け取り、受け取った暗号化著作物及び暗号化CRLをDVD1800に書き込む。
【0296】
(5)送受信部1404
送受信部1404は、インターネット1010に接続されている。
送受信部1404は、外部の装置からインターネット1010を介して、情報を受信し、受信した情報を暗号化部1402へ出力する。
7.5 本体部1900
本体部1900は、図57に示すように、情報記憶部1901、復号部1902、認証部1903、表示部1904、入出力部1905、制御部1906、再生部1907、復号部1908及び入力部1909から構成されている。
【0297】
本体部1900は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレィユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、本体部1900は、その機能を達成する。
【0298】
(1)情報記憶部1901
情報記憶部1901は、図57に一例として示すように、製造番号及びドライブ公開鍵を記憶するための領域を備えている。
上述したように、パソコン製造業者による本体部1900の製造の工程において、製造装置1300と本体部1900とが接続され、製造番号及びドライブ公開鍵は、製造装置1300により情報記憶部1901に書き込まれる。
【0299】
製造番号は、ドライブ部1600を識別するための識別情報であり、また、ドライブ公開鍵は、ドライブ部1600に対応して生成された公開鍵である。
(2)制御部1906
制御部1906は、入出力部1905を介して、ドライブ部1600にCRLの読出しを示すCRL読出指示を出力する。
【0300】
制御部1906は、認証部1903から、NRP群の正当性の検証成功を示す成功情報、又は検証失敗を示す失敗情報を受け取る。成功情報を受け取る場合には、さらに、認証部1903からNRP群を受け取る。
失敗情報を受け取った場合に、制御部1906は、表示部1904に対して、検証の失敗を示す旨のメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
【0301】
成功情報を受け取った場合に、制御部1906は、さらに、入出力部1905を介して、ドライブ部1600へ公開鍵証明書を要求する。
(無効化判定)
次に、制御部1906は、ドライブ部1600から公開鍵証明書を受け取り、受け取った公開鍵情報から証明書IDを抽出し、抽出した証明書IDと、認証部1903から受け取ったNRP群を用いて、以下に示すようにして、公開鍵証明書の無効化判定を行う。
【0302】
制御部1906は、第1の実施の形態に示す特定部303と同様にして、公開鍵証明書の無効化判定を行う。なお、特定部303は、暗号化メディア鍵を特定するために動作する。これに対して、制御部1906は、公開鍵証明書の無効化判定を行うために動作する。この点において、特定部303と制御部1906とは相違している。
【0303】
ここでは、特定部303による動作との相違点を中心として、制御部1906による公開鍵証明書の無効化判定の動作について説明する。
制御部1906は、図17のフローチャートに示すように動作することにより、公開鍵証明書の無効化判定を行う。
制御部1906は、証明書IDに関係するNRPの位置を示す変数A、あるレイヤにおけるNRPの数を示す変数W、及び木構造のレイヤ数を示す値Dを有している。ここで、証明書IDに関係するに関係するNRPとは、木構造において、証明書IDに割り当てられているリーフから、ルートに至るまでの経路上に存在するノードのNRPを示す。なお、制御部1906は、特定部303が有する暗号化メディア鍵の位置を示す変数Xを有していない。
【0304】
制御部1906は、図17のフローチャートのステップS302において、「No」と判断された場合に、当該公開鍵証明書は、無効化されているものとみなす。
また、制御部1906は、図17のフローチャートのステップS303において、「B=0」と判断された場合に、当該公開鍵証明書は、有効であるとみなす。なお、制御部1906は、ステップS307においては、何もしない。
【0305】
こうして、制御部1906は、公開鍵証明書の無効化判定を行い、公開鍵証明書が無効であると判定する場合には、制御部1906は、表示部1904に対して、公開鍵証明書が無効であることを示すメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
【0306】
一方、公開鍵証明書が有効であると判定する場合には、制御部1906は、乱数Rを生成し、生成した乱数Rを入出力部1905を介して、ドライブ部1600へ出力し、ドライブ部1600から認証署名データを受け取る。
制御部1906は、情報記憶部1901からドライブ公開鍵を読み出し、読み出したドライブ公開鍵を用いて、生成した乱数Rと受け取った認証署名データとに検証アルゴリズムVERを施して、ドライブ部1600の正当性を検証する。
【0307】
ここで、検証アルゴリズムVERは、上述したデジタル署名SIGに対応するものであり、デジタル署名SIGにより生成された署名データによる検証を行う。
検証に失敗すると、制御部1906は、表示部1904に対して、ドライブ部1600が不正であることを示すメッセージを出力し、当該メッセージを表示するように制御する。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
【0308】
検証に成功すると、制御部1906は、入出力部1905を介して、ドライブ部1600へ著作物の読み出し指示を出力する。
次に、制御部1906は、入出力部1905を介して、ドライブ部1600から暗号化著作物を受け取り、受け取った暗号化著作物を復号部1908へ出力する。
【0309】
(3)復号部1902
復号部1902は、ドライブ部1600から入出力部1905を介して、暗号化CRLを受け取り、受け取った暗号化CRLに復号アルゴリズムD3を施して、NRP群及びNRP署名データを生成し、生成したNRP群及びNRP署名データを認証部1903へ出力する。
【0310】
(4)認証部1903
認証部1903は、予め、認証局装置1100から配布された認証局公開鍵を記憶している。認証局公開鍵は、前述した認証局秘密鍵に対応するものであり、認証局秘密鍵を基にして公開鍵暗号方式の公開鍵生成アルゴリズムを用いて生成されたものである。
【0311】
認証部1903は、復号部1902からNRP群及びNRP署名データを受け取り、認証局公開鍵を用いて、NPR群及びNRP署名データにデジタル署名の検証アルゴリズムVERを施して、NRP群の正当性を検証する。
ここで、検証アルゴリズムVERは、上述したデジタル署名SIGに対応するものであり、デジタル署名SIGにより生成された署名データによる検証を行う。
【0312】
検証結果がNRP群の正当性を示す場合、つまり検証に成功した場合には、認証部1903は、検証成功を示す成功情報を制御部1906へ出力する。この場合、認証部1903は、さらに、NRP群を制御部1906へ出力する。一方、検証結果がNRP群の不正を示す場合、つまり検証に失敗した場合には、認証部1903は、検証失敗を示す失敗情報を制御部1906へ出力する。
【0313】
(5)復号部1908
復号部1902は、制御部1906から暗号化著作物を受け取り、受け取った暗号化著作物に復号アルゴリズムD3を施して、デジタル著作物を生成し、生成したデジタル著作物を再生部1907へ出力する。
(6)再生部1907
再生部1907は、復号部1902からデジタル著作物を受け取り、受け取ったデジタル著作物を再生して出力する。
【0314】
(7)表示部1904
表示部1904は、制御部1906の制御の元に、制御部1906からメッセージを受け取り、受け取ったメッセージを表示する。
(8)入力部1909
入力部1909は、操作者からの入力を受け付ける。
【0315】
7.6 ドライブ部1600
ドライブ部1600は、図58に示すように、情報記憶部1601、読出部1602、制御部1603、認証部1604及び入出力部1605から構成されている。
(1)情報記憶部1601
情報記憶部1601は、図58に示すように、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを記憶するための領域を備えている。
【0316】
上述したように、ドライブ製造業者によるドライブ部1600の製造の工程において、製造装置1200とドライブ部1600とが接続され、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データは、製造装置1200により情報記憶部1601に書き込まれる。
製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データについては、上述した通りであるので、ここでは、説明を省略する。
【0317】
(2)制御部1603
制御部1603は、本体部1900から、入出力部1605を介して、CRL読出指示、公開鍵証明書の要求、乱数R及び著作物の読出要求を受け取る。
CRL読出指示を受け取ると、制御部1603は、読出部1602を介して、DVD1800から暗号化CRLを読み出し、読み出した暗号化CRLを、入出力部1605を介して、本体部1900へ出力する。
【0318】
公開鍵証明書の要求を受け取ると、制御部1603は、情報記憶部1601から公開鍵証明書を読み出し、読み出した公開鍵証明書を、入出力部1605を介して、本体部1900へ出力する。
乱数Rを受け取ると、制御部1603は、受け取った乱数Rを認証部1604へ出力し、また認証部1604に対して、認証署名データの生成を行うように制御する。
【0319】
著作物の読出要求を受け取ると、制御部1603は、読出部1602を介して、DVD1800から暗号化著作物を読み出し、読み出した暗号化著作物を入出力部1605を介して、本体部1900へ出力する。
次に、制御部1603は、認証部1604から認証署名データを受け取り、受け取った認証署名データを入出力部1605を介して、本体部1900へ出力する。
【0320】
(3)認証部1604
認証部1604は、制御部1603から乱数Rを受け取り、また、制御部1603の制御の基に、情報記憶部1601からドライブ秘密鍵を読み出し、読み出したドライブ秘密鍵を用いて、受け取った乱数Rに対して、デシダル署名SIGを施して、認証署名データを生成し、生成した認証署名データを制御部1603へ出力する。
【0321】
(4)読出部1602
読出部1602は、制御部1603の制御の基に、DVD1800から情報を読み出し、読み出した情報を制御部1603へ出力する。
(5)入出力部1605
入出力部1605は、制御部1603の制御の基に、制御部1603と本体部1900との間で情報の送受信をする。
【0322】
7.7 認証システム1000の動作
(1)製造装置1200及び製造装置1300の動作
製造装置1200及び製造装置1300の動作について、図59に示すフローチャートを用いて説明する。
入力部1202は、製造装置1200の操作者からドライブ部1600の製造番号の入力を受け付け、受け付けた製造番号を制御部1204へ出力し、制御部1204は、入力部1202から製造番号を受け取る。(ステップS501)。次に、入力部1202は、製造装置1200の操作者から有効期限の入力を受け付け、受け付けた有効期限を制御部1204へ出力し、制御部1204は、入力部1202から有効期限を受け取る。(ステップS502)。
【0323】
次に、制御部1204は、乱数を生成し、生成した乱数を基にしてドライブ秘密鍵を生成し(ステップS503)、次に、RSA公開鍵暗号技術を用いて、生成したドライブ秘密鍵を基にしてドライブ公開鍵を生成する(ステップS504)。
次に、制御部1204は、生成したドライブ公開鍵、受け取った有効期限及び公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼を、通信部1206及びインターネット1010を介して、認証局装置1100へ出力する(ステップS505)。
【0324】
次に、制御部1204は、認証局装置1100から、インターネット1010及び通信部1206を介して、公開鍵証明書及び証明書署名データを受け取り(ステップS506)、製造番号、ドライブ秘密鍵、ドライブ公開鍵、有効期限、公開鍵証明書及び証明書署名データからなる製造情報を生成し、生成した製造情報を情報記憶部1200が有する製造情報テーブル1211に書き込む(ステップS507)。
【0325】
また、制御部1204は、製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを書込部1205へ出力し、書込部1205は、制御部1204から製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データを受け取り、受け取った製造番号、ドライブ秘密鍵、公開鍵証明書及び証明書署名データをドライブ部1600が有する情報記憶部1601に書き込む(ステップS508)。
【0326】
さらに、制御部1204は、製造番号及びドライブ公開鍵を、通信部1206及びインターネット1010を介して、公開する(ステップS509)。
製造装置1300は、インターネット1010を介して、公開された製造番号及びドライブ公開鍵を取得し(ステップS509)、取得した製造番号及びドライブ公開鍵を本体部1900が有する情報記憶部1901へ書き込む(ステップS510)。
【0327】
(2)認証局装置1100による公開鍵証明書の発行の動作
認証局装置1100による公開鍵証明書の発行の動作について、図60に示すフローチャートを用いて説明する。
木構造構築部1101は、木構造構築部101と同様に、公開鍵証明書IDを管理するn分木のデータ構造を構築し、構築した木構造を木構造格納部1102に格納する(ステップS521)。
【0328】
証明書生成部1108は、製造装置1200から、インターネット1010及び送受信部1110を介して、公開鍵証明書の発行の依頼を示す公開鍵証明書発行依頼、ドライブ公開鍵及び有効期限を受け取る(ステップS505)。
次に、証明書生成部1108は、木構造格納部1102に格納されている木構造テーブルD1100内のリーフに対応するノード情報のうち、ドライブ公開鍵を含まないものを1個選択し、選択したノード情報内に、受け取った前記ドライブ公開鍵を書き込み、選択したノード情報からノード名を抽出する。ここで、抽出したノード名が公開鍵証明書を識別する証明書IDである(ステップS522)。次に、証明書生成部1108は、生成した証明書ID、受け取った有効期限及び受け取ったドライブ公開鍵から構成される公開鍵証明書を生成し(ステップS523)、さらに、認証局装置1100のみが秘密に保持している認証局秘密鍵を用いて、生成した前記公開鍵証明書にデジタル署名SIGを施して、証明書署名データを生成する(ステップS524)。
【0329】
次に、証明書生成部1108は、生成した公開鍵証明書及び証明書署名データを、送受信部1110及びインターネット1010を介して、製造装置1200へ送信する(ステップS506)。また、証明書生成部1108は、生成した公開鍵証明書を証明書記憶部1109へ書き込む(ステップS525)。次に、ステップS505へ戻って処理を繰り返す。
【0330】
(3)認証局装置1100によるCRLの発行の動作
認証局装置1100によるCRLの発行の動作について、図61に示すフローチャートを用いて説明する。
認証局装置1100の管理者が無効化されるべき公開鍵証明書の証明書IDを知ると、無効通知部1104は、管理者の操作により入力部1111を介して、無効化されるべき公開鍵証明書の証明書IDを取得し、取得した証明書IDを木構造更新部1105へ出力する(ステップS541)。
【0331】
次に、木構造更新部1105は、無効通知部1104から証明書IDを受け取り、木構造更新部105と同様にして、木構造テーブルD1100の更新を行う(ステップS542)。次に、CRL生成部1103は、鍵情報ヘッダ生成部106と同様に、NRP群を生成する(ステップS543)。
次に、CRL生成部1103は、認証局装置1100のみが秘密に保持している認証局秘密鍵を用いて、生成したNRP群に、デジタル署名SIGを施して、NRP署名データを生成し(ステップS544)、前記NRP群と生成したNRP署名データとからなるCRLを生成し(ステップS545)、生成したCRLをCRL記憶部1106に書き込む(ステップS546)。次に、CRL生成部1103は、生成したCRLを、CRL送信部1107及びインターネット1010を介して、著作物記録装置1400へ送信する(ステップS547)。
【0332】
著作物記録装置1400が有する送受信部1404は、認証局装置1100からインターネット1010を介して、CRLを受信し、受信したCRLを暗号化部1402へ出力し、暗号化部1402は、送受信部1404からCRLを受け取る(ステップS547)。
次に、暗号化部1402は、操作者の指示により、著作物記憶部1401からデジタル著作物を読み出し、読み出したデジタル著作物に暗号化アルゴリズムE3を施して、暗号化著作物を生成し(ステップS548)、次に、受け取ったCRLに暗号化アルゴリズムE3を施して、暗号化CRLを生成する(ステップS549)。
【0333】
次に、暗号化部1402は、生成した暗号化著作物及び暗号化CRLを書込部1403へ出力する(ステップS550)。
(4)本体部1900及びドライブ部1600の動作
本体部1900及びドライブ部1600の動作について、図62〜図63に示すフローチャートを用いて説明する。
【0334】
本体部1900の制御部1906は、入出力部1905を介して、ドライブ部1600にCRLの読出しを示すCRL読出指示を出力し、ドライブ部1600の制御部1603は、本体部1900から、入出力部1605を介して、CRL読出指示を受け取る(ステップS561)。
次に、制御部1603は、読出部1602を介して、DVD1800から暗号化CRLを読み出し(ステップS562)、読み出した暗号化CRLを、入出力部1605を介して、本体部1900へ出力する(ステップS563)。
【0335】
次に、復号部1902は、ドライブ部1600から入出力部1905を介して、暗号化CRLを受け取り(ステップS563)、受け取った暗号化CRLに復号アルゴリズムD3を施して、NRP群及びNRP署名データを生成し、生成したNRP群及びNRP署名データを認証部1903へ出力する(ステップS564)。
【0336】
認証部1903は、復号部1902からNRP群及びNRP署名データを受け取り、認証局公開鍵を用いて、NPR群及びNRP署名データにデジタル署名の検証アルゴリズムVERを施して、NRP群の正当性を検証し、成功情報又は失敗情報を制御部1906へ出力し、成功情報を出力する場合にさらに、NRP群を制御部1906へ出力する(ステップS565)。
【0337】
次に、失敗情報を受け取った場合に(ステップS566)、制御部1906は、表示部1904に対して、検証の失敗を示す旨のメッセージを出力し、当該メッセージを表示するように制御する(ステップS567)。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
成功情報を受け取った場合に(ステップS566)、制御部1906は、さらに、入出力部1905を介して、ドライブ部1600へ公開鍵証明書を要求する(ステップS568)。
【0338】
制御部1603は、本体部1900から、入出力部1605を介して、公開鍵証明書の要求を受け取り(ステップS568)、情報記憶部1601から公開鍵証明書を読み出し(ステップS569)、読み出した公開鍵証明書を、入出力部1605を介して、本体部1900へ出力する(ステップS570)。
次に、制御部1906は、ドライブ部1600から公開鍵証明書を受け取り(ステップS570)、受け取った公開鍵情報から証明書IDを抽出し(ステップS571)、抽出した証明書IDと、認証部1903から受け取ったNRP群を用いて、公開鍵証明書の無効化判定を行う(ステップS572)。
【0339】
公開鍵証明書が無効であると判定する場合には(ステップS573)、制御部1906は、表示部1904に対して、公開鍵証明書が無効であることを示すメッセージを出力し、当該メッセージを表示するように制御する(ステップS574)。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
【0340】
一方、公開鍵証明書が有効であると判定する場合には(ステップS573)、制御部1906は、乱数Rを生成し(ステップS575)、生成した乱数Rを入出力部1905を介して、ドライブ部1600へ出力する(ステップS576)。
制御部1603は、本体部1900から、入出力部1605を介して、乱数Rを受け取り(ステップS576)、受け取った乱数Rを認証部1604へ出力し、また認証部1604に対して、認証署名データの生成を行うように制御し、認証部1604は、受け取った乱数Rに対して、デシダル署名SIGを施して、認証署名データを生成し(ステップS577)、生成した認証署名データを制御部1603へ出力する(ステップS578)。
【0341】
制御部1906は、ドライブ部1600から認証署名データを受け取る(ステップS578)。次に、制御部1906は、情報記憶部1901からドライブ公開鍵を読み出し、読み出したドライブ公開鍵を用いて、生成した乱数Rと受け取った認証署名データとに検証アルゴリズムVERを施して、ドライブ部1600の正当性を検証する(ステップS579)。
【0342】
検証に失敗すると(ステップS580)、制御部1906は、表示部1904に対して、ドライブ部1600が不正であることを示すメッセージを出力し、当該メッセージを表示するように制御する(ステップS586)。その後、制御部1906は、ドライブ部1600によるDVDへのアクセスを中止する。
検証に成功すると(ステップS580)、制御部1906は、入出力部1905を介して、ドライブ部1600へ著作物の読出し指示を出力する(ステップS581)。
【0343】
制御部1603は、本体部1900から、入出力部1605を介して、著作物の読出要求を受け取り(ステップS581)、読出部1602を介して、DVD1800から暗号化著作物を読み出し(ステップS582)、読み出した暗号化著作物を入出力部1605を介して、本体部1900へ出力する(ステップS583)。
【0344】
次に、制御部1906は、入出力部1905を介して、ドライブ部1600から暗号化著作物を受け取り(ステップS583)、受け取った暗号化著作物を復号部1908へ出力し、復号部1902は、制御部1906から暗号化著作物を受け取り、受け取った暗号化著作物に復号アルゴリズムD3を施して、デジタル著作物を生成し、生成したデジタル著作物を再生部1907へ出力する(ステップS584)。
【0345】
再生部1907は、復号部1902からデジタル著作物を受け取り、受け取ったデジタル著作物を再生して出力する(ステップS585)。
7.8 その他の変形例
以上説明したように、第6の実施の形態において、第1の実施の形態に示す技術を適用している。すなわち、第6の実施の形態に示す認証システム1000におけるCRLの生成及び公開鍵証明書の無効化判定において、第1の実施の形態に示すヘッダ情報の生成の方法及び暗号化メディア鍵の特定の方法を適用している。
【0346】
なお、第6の実施の形態において、第2〜第5の実施の形態及びこれらの変形例を適用してもよい。すなわち、上記の第2〜第5の実施の形態及びこれらの変形例に示すヘッダ情報の生成の方法及び暗号化メディア鍵の特定の方法を、第6の実施の形態に示す認証システム1000におけるCRLの生成及び公開鍵証明書の無効化判定に適用するとしてもよい。
【0347】
また、第2の実施の形態を適用する第6の実施の形態において、あるノードの子孫が全て無効化ノードである場合に、NRPを「00」と表現したが、本発明はこれに限定されるのではない。例えば、「0」と「1」を入れ換えて「11」を上記を意味するNRPとして利用してもよい。また、さらに1ビットを追加して、そのビットを上記を意味するビットとして利用するものであってもよい。
【0348】
また、第3の実施の形態を適用する第6の実施の形態において、第2の実施の形態同様、あるノードの子孫が全て無効化ノードである場合に、NRPを「00」と表現したり、さらに1ビットを追加して、そのビットを上記を意味するビットとして利用したりしてもよい。
また、無効化された公開鍵証明書が存在しない場合には、その旨を示す情報を含むCRLを生成するしてもよい。
【0349】
7.9 まとめ
以上説明したように、本発明は、公開鍵暗号を利用する認証システムであって、公開鍵暗号アルゴリズムにおける秘密鍵と公開鍵を有し、この秘密鍵を用いて通信相手に対して自己の正当性を証明する端末装置と、少なくとも前記端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置と、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置と、前記無効化リスト利用装置により有効と判断された公開鍵を用いて通信相手の行う自己正当性証明を検証する検証装置とから構成される。
【0350】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも1つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【0351】
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
また、本発明は、端末装置の公開鍵からなるデータに対して公開鍵証明書を発行し配布する公開鍵証明書発行装置と、無効化される前記端末装置に対して前記公開鍵証明書発行装置が発行した前記公開鍵証明書を特定する公開鍵証明書無効化リストを発行し配布する無効化リスト生成装置である。
【0352】
前記無効化リスト生成装置は、複数の階層からなる木構造を構築して保管し、前記各端末装置の公開鍵証明書を識別する固有値を前記木構造のリーフに割り当て、さらに、前記保管している木構造に対して、あるノードの子孫であるリーフの少なくとも一つに無効化すべき公開鍵証明書の固有値が対応付けられている場合、そのノードを無効化ノードとし、さらに、子ノードの少なくとも1つが無効化ノードであるノードに対して、各子ノードが無効化ノードであるか否かを識別する識別子で示し、それら識別子を全子ノード分を連結したものをそのノードのノード無効化パターンとして割り当て、さらに、全木構造のノード無効化パターンを木構造のすべてのノードをたどるある所定の規則に基づいて並べて前記公開鍵証明書無効化リストを生成する。
【0353】
また、本発明は、検証する相手端末装置の公開鍵証明書と前記公開鍵証明書無効化リストを受け取り、前記公開鍵証明書が前記公開鍵証明書無効化リストに登録されているか否かを判定する無効化リスト利用装置である。
前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを前記所定の規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
【0354】
ここで、前記認証システムは、無効化リストの配布手段として、通信媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記無効化リスト利用装置は、無効化リストの配布手段として、通信媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記認証システムは、無効化リストの配布手段として、記録媒体を用いて前記無効化リストの配布を行うように構成してもよい。
【0355】
ここで、前記無効化リスト利用装置は、無効化リストの配布手段として、記録媒体を用いて前記無効化リストの配布を行うように構成してもよい。
ここで、前記認証システムは、無効化ノードに与えるノード無効化パターンのうち、無効化ノードの子孫であるリーフが全て無効化されているノードに対しては、そうではないノードとは識別されるノード無効化パターンを与えるように構成してもよい。
【0356】
ここで、前記無効化リスト生成装置は、無効化ノードに与えるノード無効化パターンのうち、無効化ノードの子孫であるリーフが全て無効化されているノードに対しては、そうではないノードとは識別されるノード無効化パターンを与えるように構成してもよい。
ここで、前記認証システムは、無効化ノードに与えるノード無効化パターンに対して、無効化ノードの子孫であるリーフが全て無効化されているか否かを表現する情報を追加してノード無効化パターンを構成するようにしてもよい。
【0357】
ここで、前記無効化リスト生成装置は、無効化ノードに与えるノード無効化パターンに対して、無効化ノードの子孫であるリーフが全て無効化されているか否かを表現する情報を追加してノード無効化パターンを構成するようにしてもよい。
ここで、前記認証システムは、ノード無効化パターンを並べるための規則として,木構造のルートから始まり、上位のレイヤのノードを優先し,同じレイヤにおいては左側のノードを優先するという規則に基づいて現れる無効化ノードのノード無効化パターンを並べるように構成してもよい。
【0358】
ここで、前記無効化リスト生成装置は、ノード無効化パターンを並べるための規則として,木構造のルートから始まり、上位のレイヤのノードを優先し,同じレイヤにおいては左側のノードを優先するという規則に基づいて現れる無効化ノードのノード無効化パターンを並べるように構成してもよい。
ここで、前記認証システムにおいて、木構造を構成する全てのノードが無効化された場合を想定する。この木構造を構成するノードを処理済ノード集合と呼ぶ。このとき、木構造に、次のようにして無効化されていないノードを新たに付加する。ここで、ノードを付加することを木構造を拡張すると呼ぶ。処理済ノード集合からなる木構造を初期状態と考え、初期状態において、木構造のうちの下位レイヤに属するノードに、さらに子ノードを付加する。このとき、下位レイヤに複数のノードが属する場合には、複数のノードのうち、左側のノードに優先的に子ノードを付加する。このような拡張規則に基づいて、木構造を拡張した後に、最下位のノード、つまりリーフに公開鍵証明書を割り当てる。
【0359】
ここで、公開鍵証明書が無効化された場合には、上述したように、前記無効化リスト生成装置は、当該ノードからルートに至る経路上の全てのノードを無効化する。このとき、前記拡張規則に基づいて、無効化ノードのノード無効化パターンを並べる。
このとき、前記無効化リスト利用装置は、前記ノード無効化パターンを並べた公開鍵証明書無効化リストを、前記拡張規則に基づいて解析して、前記検証すべき相手端末の公開鍵証明書が前記無効化リストに登録されているか否かを判定する。
【0360】
8.その他の変形例
(1)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0361】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【0362】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0363】
9.まとめ
以上の説明から明らかなように、第1の実施の形態において開示した発明によると、予め記録媒体に記録される鍵情報のヘッダ情報として、NRPを水準順に並べることにより、鍵情報をコンパクトにでき、プレーヤが効率よく復号すべき暗号化メディア鍵を特定することもできる。
【0364】
また、第2の実施の形態において開示した発明によると、ヘッダ情報として、あるノードの子孫が全て無効化装置であるか否かを示すビットをNRPの先頭に追加することで、無効化装置が集中した場合にヘッダ情報を少なくすることができる。
また、第3の実施の形態において開示した発明によると、ある特定のパターンで、あるノードの子孫が全て無効化装置であるか否かを判断することで、さらにヘッダ情報を少なく抑えることができる。
【0365】
また、第4の実施の形態及び第5の実施の形態において開示した発明によると、NRPの順序を、第1〜第3の実施の形態において開示した順序以外のものとすることができる。
また、第6の実施の形態において開示した発明によると、無効化すべき公開鍵証明書の数が増加してもCRLのサイズを小さく抑えることができる。
【0366】
10.産業上の利用の可能性
上記において説明した無効化された公開鍵証明書を判定する認証システムは、公開鍵暗号方式を用いて、秘密のメッセージの伝送、相手の認証、否認の防止、鍵共有、硬貨投げ、秘密分散などを行う際に、公開鍵証明書が有効であるか否かを判断するときに適用される。例えば、実施の形態6に示すように、ドライブ部の正当性を認証する場合に適用される。また、インターネットを介して物品の売買を行う電子商取引において、取引相手が正当であるか否かを認証する場合に、適用される。
【0367】
【発明の効果】
以上説明したように、本発明は、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置と、取得した公開鍵証明書が無効か否かを無効化リストを用いて判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置とから構成される認証システムであって、前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを含み、前記無効判定装置は、前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを含む。また、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを備える。また、無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、前記無効判定装置は、前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを備える。
【0368】
これらの構成によると、前記無効化リスト生成装置は、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成するので、CRLのサイズを小さく抑えることができる。また、前記無効判定装置は、前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断するので、無効化された公開鍵証明書を確実に判断することができる。
【0369】
ここで、前記木構造は、複数のレイヤから構成され、前記無効化リスト生成手段は、得られた複数の無効化情報を、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列する。また、前記木構造は、複数のレイヤから構成され、前記無効化情報は、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列され、前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する。
【0370】
これらの構成によると、前記無効化リスト生成装置は、得られた複数の無効化情報を、ルートを起点とし、ルート側のレイヤからリーフ側のレイヤへの順序である前記配列順序に従って配列するので、前記無効判定装置により、前記経路を確実に構築することができる。
ここで、前記無効化リスト生成手段は、得られた複数の無効化情報を、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない前記配列順序に従って配列する。また、前記無効化情報は、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない前記配列順序に従って配列され、前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する。
【0371】
これらの構成によると、前記無効化リスト生成装置は、得られた複数の無効化情報を、ルートを起点とし、ルートから各リーフへ至る経路上に配されるノードの順序であって、重複して配列されない配列順序に従って配列するので、前記無効判定装置により、前記経路を確実に構築することができる。
ここで、前記無効化リスト生成手段は、リーフを除き、無効化された全てのノードについて、無効化情報を生成する。また、リーフを除き、無効化された全てのノードについて、無効化情報が生成され、前記判定手段は、前記複数の無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【0372】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化された全てのノードについて、無効化情報を生成するので、無効化リストから無効化情報が欠落することがない。
ここで、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示す無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【0373】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成するので、無効化リストのサイズをさらに少なくすることができる。
ここで、前記木構造は、n分木であり、nは、2以上の整数であり、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第1付加情報と、下位のn個のノードのそれぞれが無効化されていることを示すn桁の情報とから構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第2付加情報と、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の情報とから構成される無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第1付加情報と、下位のn個のノードのそれぞれが無効化されていることを示すn桁の情報とから構成される特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第2付加情報と、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の情報とから構成される無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【0374】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第1付加情報と、下位のn個のノードのそれぞれが無効化されていることを示すn桁の情報とから構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制するので、無効化リストのサイズを少なくすることができる。
【0375】
ここで、前記木構造は、n分木であり、nは、2以上の整数であり、前記無効化リスト生成手段は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のn個のノードのそれぞれが無効化されていることを示すn桁の特別値から構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の無効化情報を生成する。また、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のn個のノードのそれぞれが無効化されていることを示すn桁の特別値から構成される特別無効化情報が生成され、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の無効化情報が生成され、前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する。
【0376】
これらの構成によると、無効化リスト生成装置は、リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のn個のノードのそれぞれが無効化されていることを示すn桁の特別値から構成される特別無効化情報を生成し、前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制するので、無効化リストのサイズを少なくすることができる。
【0377】
ここで、前記木構造記憶手段が有する全てのノードが無効化されており、前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、1個以上の拡張ノードを有し、前記拡張ノードのうち最下位ノードである1個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも1個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、前記無効化リスト生成手段は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、前記出力手段は、拡張無効化情報が付加された前記無効化リストを出力する。また、前記無効化リスト生成装置が有する全てのノードが無効化されており、前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、1個以上の拡張ノードを有する、前記拡張ノードのうち最下位ノードである1個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも1個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、前記無効化リスト生成装置は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、拡張無効化情報が付加された前記無効化リストを出力し、前記証明書取得手段は、さらに、前記木構造の1個の拡張リーフを示す拡張リーフ識別子により識別される拡張公開鍵証明書を取得し、前記リスト取得手段は、拡張無効化情報が付加された前記無効化リストを取得し、前記判定手段は、さらに、取得した前記無効化リスト内に配列されている前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断し、前記拡張リーフが含まれない場合に、取得した前記拡張公開鍵証明書が有効であると判断する。
【0378】
これらの構成によると、前記無効化リスト生成装置は、拡張リーフを除く無効化された各拡張ノードについて、拡張規則に従って、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成するので、木構造が拡張された場合であっても、小さくそのサイズを抑えたCRLを生成することができる。また、前記無効判定装置は、前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断するので、無効化された拡張公開鍵証明書を確実に判断することができる。
【0379】
また、本発明は、無効化された公開鍵証明書を示す無効化リストを生成する無効化リスト生成装置であって、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段と、生成した無効化リストを出力する出力手段とを備える。また、無効化リスト生成装置により生成された無効化された公開鍵証明書を示す無効化リストを用いて、取得した公開鍵証明書が無効か否かを判定し、無効と判定する場合に対応する公開鍵の利用を抑制する無効判定装置であって、前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成し、生成した無効化リストを出力し、前記無効判定装置は、前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、前記無効化リストを取得するリスト取得手段と、取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断する判定手段とを備える。
【0380】
これらの構成によると、無効化リスト生成装置は、無効化された公開鍵証明書が存在しない場合に、その旨を示す無効化リストを生成して、出力するので、公開鍵証明書が存在しないことを通知することができる。また、無効判定装置は、取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断するので、無効化された公開鍵証明書が存在しない場合に、公開鍵証明書に対応する公開鍵を利用することができる。
【図面の簡単な説明】
【図1】著作物保護システム10の構成を示すブロック図である。
【図2】鍵管理装置100の構成を示すブロック図である。
【図3】木構造テーブルD100のデータ構造の一例を示す。
【図4】木構造T100を示す概念図である。
【図5】無効化されたノードを含む木構造T200を示す概念図である。
【図6】ノード無効化パターンの一例を示すデータ構造図である。
【図7】複数個の暗号化メディア鍵を含む鍵情報の一例を示すデータ構造図である。
【図8】記録装置300aの構成を示すブロック図である。
【図9】再生装置400aの構成を示すブロック図である。
【図10】ユーザ装置へデバイス鍵を割り当てる動作、鍵情報の生成と記録媒体への書き込みの動作及びユーザ装置によるコンテンツの暗号化又は復号の動作を示すフローチャートである。特に、デバイス鍵が特に、デバイス鍵が不正な第三者により暴露されるまでの、各装置の動作を示すフローチャートである。
【図11】デバイス鍵が不正な第三者により暴露された後における、暴露されたデバイス鍵に対応する木構造の内のノードの無効化の動作、新たな鍵情報の生成と記録媒体への書込みの動作、及びユーザ装置によるコンテンツの暗号化又は復号の動作を示すフローチャートである。
【図12】木構造構築部101による木構造テーブルの生成と木構造格納部102への木構造テーブルの書き込みの動作を示すフローチャートである。
【図13】デバイス鍵割当部103によるデバイス鍵とID情報とを各ユーザ装置へ出力する動作を示すフローチャートである。
【図14】木構造更新部105による木構造の更新の動作を示すフローチャートである。
【図15】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。
【図16】鍵情報生成部107による鍵情報の生成の動作を示すフローチャートである。
【図17】記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図18】第1の実施の形態において、一例として無効化されるユーザ装置が木構造の中で特定のリーフに集中して発生する可能性がある場合の木構造の一例を示す。
【図19】第2の実施の形態において、無効化されるユーザ装置が木構造の中で特定のリーフに集中して発生した場合における特別なノード無効化パターンを示す木構造である。
【図20】木構造テーブルD400のデータ構造の一例を示す。
【図21】ヘッダ情報D500のデータ構造の一例を示す。
【図22】鍵情報D600のデータ構造の一例を示す。
【図23】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図24へ続く。
【図24】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図25へ続く。
【図25】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図26へ続く。
【図26】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図25から続く。
【図27】記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図28】第3の実施の形態において、特別なノード無効化パターンを示す木構造である。
【図29】ヘッダ情報D700のデータ構造の一例を示す。
【図30】鍵情報D800のデータ構造の一例を示す。
【図31】ヘッダ情報の生成の動作を示すフローチャートである。図32へ続く。
【図32】ヘッダ情報の生成の動作を示すフローチャートである。図33へ続く。
【図33】ヘッダ情報の生成の動作を示すフローチャートである。図34へ続く。
【図34】ヘッダ情報の生成の動作を示すフローチャートである。図33から続く。
【図35】記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図36】第4の実施の形態における複数のノード無効化パターンの並べ方を示す木構造である。
【図37】木構造テーブルD100のデータ構造の一例を示す。
【図38】ヘッダ情報D900のデータ構造の一例を示す。
【図39】木構造構築部101による木構造テーブルの生成と木構造格納部102への木構造テーブルの書き込みの動作を示すフローチャートである。
【図40】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図41へ続く。
【図41】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図40から続く。
【図42】記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図43】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図44へ続く。
【図44】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図45へ続く。
【図45】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図46へ続く。
【図46】鍵情報ヘッダ生成部106によるヘッダ情報の生成の動作を示すフローチャートである。図45から続く。
【図47】記録装置300aが有する特定部303により、記録媒体500bに記憶されている鍵情報から、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図48】著作物保護システム10fの構成を示すブロック図である。
【図49】無効化されたデバイス鍵KeyA、KeyB及びKeyEが割り当てられたノードを含む木構造T700を示す概念図である。
【図50】ヘッダ情報D1000及び鍵情報D1010の構成を示すデータ構造図である。
【図51】記録装置300aが有する特定部303により、1個の暗号化メディア鍵を特定する動作を示すフローチャートである。
【図52】認証システム1000の構成を示すブロック図である。
【図53】製造装置1200の構成を示すブロック図である。
【図54】認証局装置1100の構成を示すブロック図である。
【図55】CRLの一例を示すデータ構造図である。
【図56】著作物記録装置1400の構成を示すブロック図である。
【図57】本体部1900の構成を示すブロック図である。
【図58】ドライブ部1600の構成を示すブロック図である。
【図59】製造装置1200及び製造装置1300の動作を示すフローチャートである。
【図60】認証局装置1100による公開鍵証明書の発行の動作を示すフローチャートである。
【図61】認証局装置1100によるCRLの発行の動作を示すフローチャートである。
【図62】本体部1900及びドライブ部1600の動作を示すフローチャートである。図63へ続く。
【図63】本体部1900及びドライブ部1600の動作を示すフローチャートである。図62から続く。
【符号の説明】
10、10b〜10f 著作物保護システム
100 鍵管理装置
200 鍵情報記録装置
300a〜300c 記録装置
400a〜400c 再生装置
1000 認証システム
1100 認証局装置
1200 製造装置
1300 製造装置
1400 著作物記録装置
1500 パーソナルコンピュータ
1600 ドライブ部
1900 本体部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an authentication technique using a public key encryption technique, and particularly to a technique for specifying a certificate of a revoked public key.
[0002]
[Prior art]
In recent years, with the rapid spread of the use of the Internet, systems using the Internet as a communication base are increasing. For example, one example is electronic commerce for buying and selling goods via the Internet.
In such a system using the Internet as a communication base, it is an essential condition to confirm that the communication partner is a valid participant of the system. Such confirmation is called authentication. The communication partner may be a device operated by a human or a device that performs processing according to a predetermined procedure. In the following, a device including both of them will be referred to as a device. Authenticating the communication partner is called device authentication. Note that “proving” means that the device itself has legitimacy, that is, indicating that the device is a valid participant of the system, and “verifying” that checking the validity of the other party is called “verifying”. Authentication is a concept that includes both certification and verification.
[0003]
In device authentication, encryption technology is usually used. That is, the prover confidentially has data indicating that he is a valid participant of the system, and proves his / her validity by showing the verifier that he / she has the secret data. . On the other hand, the verifier verifies the validity of the prover by confirming that the prover has secret data. In a communication channel such as the Internet where anyone can obtain communication data, the secret data for authentication (authentication data) must not be leaked to a third party who is not involved in authentication. If secret data leaks to a third party, the device that obtained the secret data can impersonate the original device. For this purpose, the authentication data is encrypted and transmitted only to the verifier.
[0004]
The encryption technology includes a common key encryption technology and a public key encryption technology. In the common key encryption technology, a key for encryption and a key for decryption have the same value. On the other hand, in the public key cryptography, a key for encryption and a key for decryption have different values.
In authentication using symmetric key cryptography, the verifier has the same secret as the prover, so there is a danger that the verifier will impersonate the prover. The so-called password method corresponds to this. On the other hand, in authentication using public key cryptography, a prover certifies using a secret key of public key cryptography, and a verifier verifies using a public key corresponding to the secret key. Since the private key cannot be created, the verifier cannot impersonate the prover after authentication is completed. For this reason, it is desirable to use the public key cryptography for performing the above-mentioned authentication.
[0005]
In the authentication using the public key cryptography, performing a process using a secret key is referred to as a signature, and verifying the validity of the signature using a public key corresponding to the secret key is referred to as verifying.
An example of the partner authentication processing using the public key encryption technology is as follows. That is, the first device transmits random number data as challenge data to the second device, and subsequently, the second device signs the received random number data with its own private key and generates a signature. The generated signature is returned to the first device as response data, and finally, the first device verifies the returned signature using the public key of the second device.
[0006]
In the authentication using the public key encryption technology as described above, it is assumed that the public key itself is valid in the system.
For this purpose, a "public key certificate"("certified" for the public key) is issued from an organization called a certification authority in the system, indicating that the public key is valid for each device. It is common that A public key certificate is data obtained by combining the identification name of a device, an expiration date, and a public key with an electronic signature of a certification authority added thereto. After confirming the correctness of the electronic signature of the public key certificate, and further confirming the contents of the public key certificate from the identification name of the partner device and the current time, the correctness of the public key is confirmed.
[0007]
Furthermore, among public key certificates issued in the past, public key certificates of devices that have been removed from the system and are not valid are required to notify other devices that they have been revoked. A public key certificate revocation list (CRL) in which a digital signature of a certificate authority is added to a list of information specifying the revoked public key certificate is issued.
[0008]
As described above, when authenticating the partner device using the public key of the partner device, the public key certificate of the partner device is obtained, and the obtained public key certificate is not registered in the CRL. In other words, by performing the above-described authentication processing after confirming that the device is not invalidated, it is possible to avoid a transaction with an unauthorized partner device.
Note that the format, implementation example, and the like of the CRL are well-known technologies, and thus details thereof will not be described here. As an example, Non-Patent
[0009]
[0010]
By using such an arrangement method based on a specific rule, a device can construct a tree structure from information arranged in one dimension.
As described above, the device acquires the CRL and stores the acquired CRL in the internal memory and the memory before authenticating the partner device using the public key of the partner device. It is checked whether or not the public key certificate ID of the partner device exists in the CRL, and if not, the authentication is performed. For this reason, the device must secure a memory having a sufficient capacity to store the CRL.
[0011]
[Non-patent document 1]
"Digital Signature and Cryptography" (Translated by Shinichiro Yamada, Pearson Education, 2000)
[0012]
[Non-patent document 2]
"Manipulation of Trees in Information Retrieval" (G. Salton, Communication of the
[0013]
[Non-Patent Document 3]
"Basic Algorithm / Information Structure" (translated by Yoneda and Kakehi, Science Inc., 1978)
[0014]
[Problems to be solved by the invention]
However, the conventional CRL includes the IDs of all the public key certificates to be revoked, and the size thereof is proportional to the number of the public key certificates to be revoked. Then, the size of the CRL increases accordingly.
For this reason, there is a problem that it is not practical for the device to secure a memory having a sufficient capacity for storing the CRL, assuming the CRL having the maximum size.
[0015]
For example, assume that the total number of public key certificates in the entire system is 230 (approximately 1 billion), the number of revoked certificates is 100,000, 0.01% of which, and the size of the ID is 30 bits. . At this time, since the conventional CRL includes all IDs, the size of the CRL is 30 bits × 100,000 = about 375 [KB]. Therefore, the device only needs to secure about 375 [KB] of memory to store the CRL. However, if the number of revoked certificates is 0.02% or 200,000, the size of the CRL is 30 bits × 200,000 = about 750 [KB], and the device is about 750 [KB]. Memory must be secured. Furthermore, if the number of revoked certificates increases, the device must secure more memory.
[0016]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a revocation list generation device, a revocation determination device, an authentication system, which can keep the CRL size small even when the number of public key certificates to be revoked increases. An object of the present invention is to provide a revocation list generation method, a program, a recording medium, a revocation determination method, a program, and a recording medium.
[0017]
In order to achieve the above object, the present invention relates to an authentication system using public key cryptography, which has a secret key and a public key in a public key cryptographic algorithm, and uses the secret key to communicate with a communication partner. A terminal device that certifies the validity of the terminal device, a public key certificate issuing device that issues and distributes a public key certificate to at least data including a public key of the terminal device, and a terminal device that is invalidated. A revocation list generation device that issues and distributes a public key certificate revocation list that identifies the public key certificate issued by the public key certificate issuing device, a public key certificate of a terminal device to be verified, and the public key A revocation list using device that receives a key certificate revocation list and determines whether the public key certificate is registered in the public key certificate revocation list; Composed of a verification device for verifying a self correctness proof performed by the communication partner by using a public key is determined invalid.
[0018]
The revocation list generation device constructs and stores a tree structure including a plurality of layers, assigns a unique value for identifying a public key certificate of each terminal device to a leaf of the tree structure, and further stores and stores If a unique value of a public key certificate to be revoked is associated with at least one of the leaves that are descendants of a node for a given tree structure, that node is regarded as a revoked node, and at least one of the child nodes For a node, one of which is an invalidation node, an identifier for identifying whether each child node is an invalidation node is indicated by an identifier for identifying whether or not each child node is an invalidation node. The public key certificate revocation list is further arranged by arranging node revocation patterns of the entire tree structure based on a predetermined rule for tracing all nodes of the tree structure. Generated.
[0019]
The revocation list using apparatus analyzes a public key certificate revocation list in which the node revocation patterns are arranged based on the predetermined rule, and determines that the public key certificate of the terminal to be verified is invalidated. It is determined whether or not it is registered in the list.
The present invention also provides a public key certificate issuing device for issuing and distributing a public key certificate to data comprising a public key of a terminal device, and a public key certificate issuing device for the terminal device to be revoked. A revocation list generation device that issues and distributes a public key certificate revocation list that specifies the public key certificate issued by the device.
[0020]
The revocation list generation device constructs and stores a tree structure including a plurality of layers, assigns a unique value for identifying a public key certificate of each terminal device to a leaf of the tree structure, and further stores and stores If a unique value of a public key certificate to be revoked is associated with at least one of the leaves that are descendants of a node for a given tree structure, that node is regarded as a revoked node, and at least one of the child nodes For a node, one of which is an invalidation node, an identifier for identifying whether each child node is an invalidation node is indicated by an identifier for identifying whether or not each child node is an invalidation node. The public key certificate revocation list is further arranged by arranging node revocation patterns of the entire tree structure based on a predetermined rule for tracing all nodes of the tree structure. Generated.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
1. First embodiment
A
1.1 Configuration of
As shown in FIG. 1, the
[0022]
The
[0023]
The
[0024]
In the following, the
1.1.1
As shown in FIG. 2, the
[0025]
The
[0026]
(1) Tree
The tree
The tree structure table D100 corresponds to the tree structure T100 shown as an example in FIG. 4, and shows a data structure for expressing the tree structure T100. As will be described later, a data structure for expressing the tree structure T100 by the tree
[0027]
(Tree structure T100)
As shown in FIG. 4, the tree structure T100 is a binary tree including five layers from
[0028]
Of the two paths connecting each node (except the leaf) of the tree structure T100 and the lower node, one of the left paths is assigned the number “0”, and the other is the number “0”. Is assigned a number “1”. Here, on the page of FIG. 4, a path connected to each node from the node to the lower left is referred to as a left path, and a path connected to the node from the node to the lower right is referred to as a right path. I have.
[0029]
Each node is given a node name. The node name of the node that is the root is “root”. In addition, a character string including the same number of characters as the value indicated by the number of layers is given as a node name to nodes belonging to layers lower than
[0030]
(Tree structure table D100)
The tree structure table D100 is configured to include the same number of node information as the nodes included in the tree structure T100, and each node information corresponds to each node configuring the tree structure T100.
Each node information includes a node name, a device key, and a revocation flag.
[0031]
The node name is a name for identifying a node corresponding to the node information. The device key is a key assigned to a node corresponding to the node information.
The revocation flag is a flag indicating whether or not the device key corresponding to the node information has been revoked. When the revocation flag is “0”, it indicates that the device key has not been revoked. When the invalidation flag is “1”, it indicates that the invalidation has been performed.
[0032]
Each node information is stored in the tree structure table D100 in the order according to the
[0033]
(A) In the tree structure table D100, node information corresponding to nodes belonging to each layer is stored in ascending order of the number of layers of the tree structure T100. Specifically, in the tree structure table D100, one piece of node information corresponding to one route belonging to
[0034]
(B) For nodes belonging to each layer, corresponding node information is stored in ascending order of node names identifying each node.
Specifically, each node information is stored in the tree structure table D100 shown in FIG. 3 in the following order.
"Route", "0", "1", "00", "01", "10", "11", "000", "001", "010", "011", ..., "101" , "110", "111", "0000", "0001", "0010", "0011", ..., "1100", "1101", "1110", "1111"
Here, the order in which each node information is stored is indicated by the node name included in each node information.
[0035]
(2) Tree
The tree
The tree
[0036]
Next, the tree
Next, the tree
[0037]
Thereafter, the tree
Next, the tree
[0038]
(3) Device
The device
[0039]
The device
The device
[0040]
(A) The device
(B) The device
[0041]
(C) The device
(D) The device
[0042]
(E) The device
(F) The device
[0043]
In this way, the key information storage unit of each user device stores the ID information, the five device key identification information, and the five device keys as shown as an example in FIG. Here, the five device key identification information and the five device keys are associated with each other. Each device key identification information is the number of layers (layer number) to which the node to which the corresponding device key is assigned belongs.
[0044]
As described above, the ID information and the five device keys are assigned to each of the 16 user devices.
As an example, as described above, the tree structure T100 illustrated in FIG. 4 is a binary tree having five layers, and includes 16 leaves. Here, it is assumed that there are 16 user devices, and each of the 16 user devices corresponds to 16 leaves. Each user device is provided with a device key assigned to a node located on a path from a corresponding leaf to a root in the tree structure T100. For example, the
[0045]
(4) Invalidation
The revocation
(5) Tree
The tree
[0046]
(A) The tree
[0047]
(B) The tree
(C) The tree
[0048]
(D) The tree
As described above, based on the ID information received from the invalidation
[0049]
In the tree structure T100 illustrated in FIG. 4, when it is assumed that the user devices indicated by the ID information “0000”, “1010”, and “1011” are invalidated, the tree structure in which the nodes are invalidated as described above. T200 is shown in FIG.
The tree structure table D100 has an invalidation flag added corresponding to the tree structure T200.
[0050]
In the tree structure T200, all nodes existing on the path from the leaf corresponding to the
[0051]
In the tree structure table D100, an invalidation flag is added to the node information corresponding to the invalidated node.
(6) Key
The key information
[0052]
The key information
(A) The key information
[0053]
(A-1) The key information
The two pieces of node information thus obtained correspond to the two lower nodes connected immediately below the target node indicated by the variable j.
[0054]
(A-2) The key information
Pattern, hereinafter, referred to as NRP. ).
[0055]
Specifically, if the invalidation flags included in each of the two pieces of acquired node information are “0” and “0”, no node invalidation pattern is generated.
If the invalidation flags included in each of the two pieces of acquired node information are “1” and “0”, NRP {10} is generated.
[0056]
If the invalidation flags included in each of the two pieces of acquired node information are “0” and “1”, NRP {01} is generated.
When the invalidation flags included in each of the two pieces of acquired node information are “1” and “1”, NRP {11} is generated.
(A-3) The key information
[0057]
As described above, the key information
[0058]
In addition, since the key information
In the tree structure T200 illustrated in FIG. 5, the
[0059]
As shown as an example in FIG. 6, the header information D200 is composed of NRP {11}, {10}, {10}, {10}, {01}, {10}, {11}. Include in order.
Note that the positions where the plurality of NRPs are stored in the header information D200 are determined. This position is determined by the above repetition. As shown in FIG. 6, NRP {11} at positions determined by “0”, “1”, “2”, “3”, “4”, “5” and “6” in the header information D200, respectively. , {10}, {10}, {10}, {01}, {10}, {11}.
[0060]
As described above, the key information
[0061]
(7) Key
The key
The key
[0062]
(A) The key
(A-1) The key
[0063]
(A-2) When the invalidation flag is “0”, the key
(A-3) When the encryption has not been performed, the key
[0064]
Encrypted media key = E1 (device key, media key)
Here, E (A, B) indicates that the data B is encrypted using the key A by applying the encryption algorithm E.
Further, the encryption algorithm E1 is, for example, DES (Data Encryption Standard).
[0065]
Next, the key
When the invalidation flag “1” is added or when encryption is performed, the process (a-3) is not performed.
As described above, the key
[0066]
Note that the positions where the plurality of encrypted media keys are stored in the key information D300 are determined. This position is determined by the above repetition. As shown in FIG. 7, at positions determined by “0”, “1”, “2”, “3” and “4” in the key information D300, the encrypted media key E1 (KeyE, media key), E1 (KeyG, media key), E1 (KeyI, media key), E1 (KeyL, media key), and E1 (IK2, media key) are arranged.
[0067]
1.1.2 Key
The key
1.1.3
The
[0068]
The
The
[0069]
As shown in FIG. 8, the
1.1.4
As shown in FIG. 8, the
[0070]
The
A
[0071]
(1) Key
The key
(2) Identifying
The specifying
[0072]
The
[0073]
Next, the
(3)
The
[0074]
Media key = D1 (device key, encrypted media key)
Here, D (A, B) means that the decryption algorithm D is applied, the encrypted data B is decrypted using the key A, and the original data is generated.
The decryption algorithm D1 corresponds to the encryption algorithm E1, and is an algorithm for decrypting data encrypted by applying the encryption algorithm E1.
[0075]
Next, the
Each block illustrated in FIG. 8 is connected to another block by a connection line. However, some connection lines are omitted. Here, each connection line indicates a path through which signals and information are transmitted. In addition, among the plurality of connection lines connected to the block indicating the
[0076]
(4)
The
(5)
The
[0077]
Encrypted content = E2 (media key, content)
Here, the encryption algorithm E2 is, for example, an encryption algorithm based on DES.
Next, the
[0078]
1.1.5
As shown in FIG. 9, the
[0079]
The
Here, the key
[0080]
The
(1)
The
[0081]
Content = D2 (media key, encrypted content)
Here, the decryption algorithm D2 corresponds to the encryption algorithm E2, and is an algorithm for decrypting data encrypted by applying the encryption algorithm E2.
(2)
The
[0082]
1.2. Operation of
The operation of the
1.2.1 Device key allocation, recording medium generation, and content encryption or decryption operations
Here, the operation of assigning a device key to a user device, the operation of generating key information and writing it on a recording medium, and the operation of encrypting or decrypting content by the user device will be described with reference to the flowchart shown in FIG. In particular, the operation of each device until the device key is exposed by an unauthorized third party will be described.
[0083]
The tree
[0084]
In this way, a user device recording the device key, the device key identification information, and the ID information is produced, and the produced user device is sold to the user.
Next, the key
[0085]
In this manner, the
Next, the recording medium in which the key information is recorded is mounted on the user device, and the user device reads the key information from the recording medium (step S131), and is assigned to the user device itself using the read key information. The encrypted media key is identified (step S132), the media key is decrypted (step S133), and the content is encrypted using the decrypted media key and written on the
[0086]
As described above, the encrypted content is written on the
Next, an unauthorized third party illegally acquires the device key assigned to the user device by some means. An unauthorized third party distributes the content illegally or produces and sells an unauthorized device imitating a legitimate user device.
[0087]
The operation manager of the
1.2.2 Operation after device key is exposed
Here, after the device key has been exposed by an unauthorized third party, the operation of invalidating nodes in the tree structure corresponding to the exposed device key, the generation of new key information and the writing to the recording medium And the operation of encrypting or decrypting the content by the user device will be described with reference to the flowchart shown in FIG.
[0088]
The revocation
[0089]
In this way, the
Next, the recording medium on which the new key information is recorded is mounted on the user device, and the user device reads the key information from the recording medium (step S171), and uses the read key information to send the key information to the user device itself. The assigned encrypted media key is specified (step S172), the media key is decrypted (step S173), and the content is encrypted and written to the
[0090]
As described above, the encrypted content is written on the
1.2.3 Operation to build and store tree structure
Here, the operation of generating the tree structure table by the tree
[0091]
First, the tree
Next, the tree
[0092]
The tree
1.2.4 Operation of outputting device key and ID information to each user device
Here, an operation of outputting a device key and ID information to each user device by the device
[0093]
The device
The device
[0094]
1.2.5 Tree structure update operation
Here, the operation of updating the tree structure by the tree
The tree
[0095]
The tree
Next, the tree
[0096]
Next, the tree
Next, the tree
[0097]
Next, the tree
1.2.6 Header information generation operation
Here, the operation of generating the header information by the key information
[0098]
The key information
The key information
[0099]
1.2.7 Key information generation operation
Here, the operation of generating key information by key
The key
[0100]
The key
[0101]
When the invalidation flag “1” is added (step S283) or when encryption is performed (step S284), steps S285 to S286 are not performed.
1.2.8 Specific operation of key information
Here, an operation of specifying one encrypted media key from the key information stored in the
[0102]
In addition, the operation of the specifying
The specifying
[0103]
The specifying
The specifying
The variable i is compared with the value D, and when the variable i is larger than the value D (step S302), since the user device has been invalidated, the specifying
[0104]
When the variable i is smaller than or equal to the value D (step S302), the specifying
[0105]
When the value B = 0 (step S303), the specifying
[0106]
When the value B = 1 (step S303), the specifying
Next, the specifying
[0107]
Next, the specifying
1.2.9 Specific example of specific operation of key information
As a specific example, an operation until the
[0108]
(Step 1) Since the value of the most significant bit of the ID information “1101” assigned to the
(Step 2) Since the value of the right bit of the first NRP {11} is “1”, the specifying
[0109]
(Step 3) The
(Step 4) The specifying
[0110]
(Step 5) Next, since the value of the second highest bit of the ID information “1101” is “1”, the identifying
(Step 6) Here, since the value of the right bit of the first NRP {10} of
[0111]
(Step 7) The
(Step 8) As shown in FIG. 7, the encrypted media key stored in the first position of the key information is E1 (KeyG, media key).
[0112]
The
1.3 Summary
As described above, according to the first embodiment, since a plurality of NRPs are arranged in order of level in the header information of the key information recorded in advance on the recording medium, the key information becomes compact. . Further, the player can efficiently specify the encrypted media key to be decrypted.
[0113]
2. Second embodiment
Here, a second embodiment as a modified example of the first embodiment will be described.
In the first embodiment, as shown in FIG. 18 as an example, there is a possibility that a user device to be invalidated is biased toward a specific leaf in a tree structure. In this case, in the header information of the key information that the
[0114]
In the example shown in FIG. 18, since the left half of the tree structure T300 is an invalidated device, if all the nodes below the left node of the
Therefore, in the second embodiment, when the invalidated devices are concentrated on a specific leaf in the tree structure, the copyright protection system 10b (shown in the drawing) can reduce the data amount of the header information. No) will be described.
[0115]
As described in the first embodiment, the
[0116]
2.1 Configuration of copyright protection system 10b
The work protection system 10b has the same configuration as the
In the second embodiment, it is assumed that the
[0117]
2.1.1
The
(1) Tree
The tree
[0118]
The tree structure table D400 corresponds to the tree structure T400 shown as an example in FIG. 19, and shows a data structure for expressing the tree structure T400.
The tree structure table D400 is configured to include the same number of node information as the nodes included in the tree structure T400, and each node information corresponds to each node configuring the tree structure T400.
[0119]
Each node information includes a node name, a device key, a revocation flag, and an NRP.
The node name, the device key, and the invalidation flag are the same as those described in the first embodiment, and a description thereof will not be repeated.
The NRP is composed of three bits, and the upper one bit indicates that, as described above, all the user devices assigned to the descendants of the node indicated by the corresponding node name are invalidation devices. The lower two bits have the same contents as the NRP described in the first embodiment.
[0120]
(2) Key information
If the first bit of the NRP is “1”, the key information
[0121]
The key information
[0122]
(3) Key
The key
[0123]
The position where each of the plurality of encrypted media keys is stored in the key information D600 is determined. As shown in this figure, at positions defined by “0”, “1” and “2” in the key information D600, the encrypted media key E1 (KeyG, media key), E1 (KeyL, media key) and E1 (IK11, media key) is arranged.
[0124]
2.1.2
The
(1) Identifying
The
[0125]
2.2 Operation of copyright protection system 10b
The operation of the copyright protection system 10b will be described focusing on differences from the operation of the
2.2.1 Operation of generating header information
Here, the operation of generating the header information by the key information
[0126]
The key information
The key information
[0127]
When the repetition of steps S321 to S328 is completed as described above, an NRP is added to each node information as in the method described in the first embodiment. Here, a value “0” (1 bit) is added to the head of each NRP. Next, the key information
[0128]
The key information
[0129]
Only if both of the selected two lower nodes have NRP {111}, but if the selected two nodes are leaves, it is invalid for both of the selected two lower nodes. Only when the activation flag is attached (step S333), the key information
[0130]
When the repetition of steps S329 to S336 is completed as described above, {111} is added to the upper nodes connected to the two lower nodes to which NRP {111} is added. .
Next, the key information
[0131]
The key information
Only when NRP {111} is added to both of the selected two lower nodes (step S341), key information
[0132]
Next, the key information
As described above, when the first bit of the NRP is “1”, an NRP indicating that all the user devices assigned to the descendant nodes of the node are invalidation devices is generated.
[0133]
2.2.2 Specific operation of key information
Here, an operation of specifying one encrypted media key from the key information stored in the
[0134]
The operation of specifying one encrypted media key by the specifying
When the value B = 0 (step S303), the specifying
[0135]
When the value B = 1 (step S303), the specifying
[0136]
Next, the specifying
[0137]
2.2.3 Specific example of specific operation of key information
As a specific example, an operation until the
[0138]
(Step 1) Since the value of the most significant bit of the ID information “1001” assigned to the
(Step 2) Since the value of the right bit of the lower two bits of the first NRP {011} is “1”, the specifying
[0139]
(Step 3) The
(Step 4) The
[0140]
(Step 5) Next, since the value of the second highest bit of the ID information “1001” is “0”, the specifying
(Step 6) Here, since the value of the left bit of the lower two bits of the first NRP {010} of
[0141]
(Step 7) The
[0142]
(Step 8) The specifying
(Step 9) Next, since the value of the third bit from the high order of the ID information “1001” is “0”, the specifying
[0143]
(Step 10) Here, since the value of the left bit of the lower 2 bits of the 0th NRP {001} of the
(Step 11) The
[0144]
(Step 12) From FIG. 22, the encrypted media key stored in the first position of the key information is E1 (KeyL, media key).
The
[0145]
In the second embodiment described above, when all of the user devices existing in descendants of a certain node are invalidation devices, the added bit is set to “1”. However, if there is a tree structure in which the number of leaf layers is different, and if there is no NRP in the descendant of a certain node, the added bit is set to "1" so that it can be used as a flag indicating the end. Can be.
[0146]
3. Third embodiment
In the second embodiment, a bit indicating whether or not all descendants of a certain node are invalidation devices is added to the head of the NRP. It shows how to keep it even lower.
In the third embodiment described below, instead of adding a bit to the NRP, an NRP having a specific pattern {00} is used to determine whether all descendants of one node are invalidation devices. to decide. This focuses on the fact that NRP {00} is not used in all layers except
Here, it is assumed that the
[0147]
3.1 Configuration of copyright protection system 10c
The copyrighted work protection system 10c has the same configuration as the copyrighted
3.1.1
The
[0148]
(1) Key information
When the NRP is {00}, the key information
[0149]
The key information
[0150]
(2) Key
The key
[0151]
The position where each of the plurality of encrypted media keys is stored in the key information D800 is determined. As shown in this figure, at positions determined by “0”, “1” and “2” in the key information D800, the encrypted media key E1 (KeyG, media key), E1 (KeyL, media key) and E1 (IK11, media key) is arranged.
[0152]
3.1.2
The
(1) Identifying
The
[0153]
3.2 Operation of copyright protection system 10c
The operation of the copyright protection system 10c will be described focusing on differences from the operation of the
3.2.1 Operation of generating header information
Here, the operation of generating the header information by the key information
[0154]
The key information
The key information
[0155]
When the repetition of steps S321 to S328 is completed as described above, the NRP is added to each node in the same manner as in the method described in the first embodiment.
Next, key information
[0156]
The key information
[0157]
Only if both of the selected two lower nodes have NRP {11}, but if the selected two nodes are leaves, it is invalid for both of the selected two lower nodes. Only when the activation flag is attached (step S333), the key information
[0158]
When the repetition of steps S329 to S336 is completed as described above, {00} is added to the upper nodes connected to the two lower nodes to which NRP {11} is added. .
Next, the key information
[0159]
The key information
Only when NRP {00} is added to both of the selected two lower nodes (step S341a), the key information
[0160]
Next, the key information
As described above, when the NRP is {00}, an NRP indicating that all the user devices assigned to the descendant nodes of the node are invalidation devices is generated.
[0161]
3.2.2 Specific operation of key information
Here, an operation of specifying one encrypted media key from the key information stored in the
[0162]
The operation of specifying one encrypted media key by the specifying
When the value B = 0 (step S303), the specifying
[0163]
3.2.3 Specific example of specific operation of key information
As a specific example, an operation until the
[0164]
(Step 1) Since the value of the most significant bit of the ID information “1001” assigned to the
(Step 2) Since the value of the right bit of the first NRP {11} is “1”, the specifying
[0165]
(Step 3) The
(Step 4) The specifying
[0166]
(Step 5) Next, since the value of the second highest bit of the ID information “1001” is “0”, the identifying
(Step 6) Since the value of the left bit of the first NRP {10} of the
[0167]
(Step 7) The
(Step 8) The specifying
[0168]
(Step 9) Next, since the value of the third bit from the high order of the ID information “1001” is “0”, the identifying
(Step 10) Here, since the value of the left bit of the lower 2 bits of the 0th NRP {01} of the
[0169]
(Step 11) The identifying
(Step 12) From FIG. 30, the encrypted media key stored at the first position of the key information is E1 (KeyL, media key).
[0170]
The
4. Fourth embodiment
In the first embodiment, a plurality of NRPs are arranged in order from an upper layer to a lower layer, and NRPs having the same layer are arranged in order from left to right.
[0171]
In a fourth embodiment described below, a copyright protection system 10d (not shown) that outputs a plurality of NRPs in another arrangement will be described.
4.1 Configuration of copyright protection system 10d
The copyrighted work protection system 10d has the same configuration as the copyrighted
[0172]
4.1.1
The
(1) Tree
The tree
[0173]
The tree structure table D1000 corresponds to the tree structure T600 shown as an example in FIG. 36, and shows a data structure for expressing the tree structure T600. As will be described later, a data structure for expressing the tree structure T600 by the tree
(Tree structure T600)
As shown in FIG. 36, the tree structure T600 is a binary tree including five layers from
[0174]
The number of nodes included in each layer of the tree structure T600 is the same as that of the tree structure T100. Also, the numbers assigned to the paths connecting the upper node and the lower node are the same as in the tree structure T100. In the tree structure T600, nodes marked with “x” are invalidated.
The node name of the node that is the root of the tree structure T600 is blank. The node names of the other nodes are set similarly to the tree structure T100.
[0175]
Each node name is represented by four digits. The node name of the root node is composed of four digits of blank characters. The node name “0” is, specifically, a character “0” +1 digit blank character + 1 digit blank character + 1 digit blank character. The node name “00” is a character “0” + a character “0” +1 digit blank character + 1 digit blank character. The node name “101” is a character “1” + character “0” + character “1” + 1-digit blank character. The node name “1111” is a character “1” + a character “1” + a character “1” + a character “1”. The same applies to other node names.
[0176]
In the tree structure T600, {10} or the like added near each node indicates an NRP. The number enclosed by a circle near each node indicates the order in which NRPs are output.
(Tree structure table D1000)
The tree structure table D1000 is configured to include the same number of node information as the nodes included in the tree structure T600, and each node information corresponds to each node configuring the tree structure T600.
[0177]
Each node information includes a node name, a device key, and a revocation flag. The node name, the device key, and the invalidation flag are the same as those in the tree structure table D100, and a description thereof will not be repeated.
Each node information is stored in the tree structure table D1000 in the order according to the
[0178]
(A) At the head of the tree structure table D1000, node information corresponding to the root node is stored.
(B) After node information corresponding to one node (referred to as a specific node) is stored in the tree structure table D1000, there are two lower nodes connected to the lower side of the specific node. , The node information is arranged as shown below. Subsequent to the node information corresponding to the specific node, the node information corresponding to the left node and all the nodes connected to the lower nodes of the left node among the two lower nodes is stored. Subsequently, node information corresponding to the right node of the two lower nodes and all nodes connected to the lower nodes of the right node is stored.
[0179]
(C) Within (b), (b) is applied again.
Specifically, each node information is stored in the tree structure table D100 shown in FIG. 37 in the following order.
Blank (indicating the route), “0”, “00”, “000”, “0000”, “0001”, “001”, “0010”, “0011”, “01”, “010”,. , “11”, “110”, “1100”, “1101”, “111”, “1110”, “1111”
(2) Tree
The tree
[0180]
The details of the operation of constructing the tree structure by the tree
Next, the tree
[0181]
(3) Key
The key information
FIG. 38 shows an example of header information generated by the key information
[0182]
Note that the positions where the plurality of NRPs are stored in the header information D900 are determined. As shown in this figure, “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9” are included in the header information D900. , "10", NRP {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01} and {11} are arranged.
[0183]
(4) Key
The key
[0184]
The key
The key information includes device keys “IK2”, “IK3”, “IK6”, “IK8”,
The encrypted media key E1 (IK2, media key), E1 (IK3, media key), and E1 (IK6, media key) are generated by encrypting the media key using “KeyL” and “KeyG”, respectively. ), E1 (IK8, media key), E1 (KeyL, media key), and E1 (KeyG, media key). In the key information, at positions determined by “0”, “1”, “2”, “3”, “4”, “5”, and “6”, the encrypted media key E1 (IK2, media key ), E1 (IK3, media key), E1 (IK6, media key), E1 (IK8, media key), E1 (KeyL, media key), and E1 (KeyG, media key).
[0185]
4.1.2
The
(1) Identifying
The
[0186]
4.2 Operation of copyright protection system 10d
The operation of the copyright protection system 10d will be described focusing on differences from the operation of the
4.2.1 Operation to build and store tree structure
Here, the operation of generating the tree structure table by the tree
[0187]
The tree
Next, the tree
The tree
[0188]
Next, the tree
Thus, a tree structure table D1000 shown as an example in FIG. 37 is generated. The generated tree structure table D1000 includes each node information according to the
[0189]
4.2.2 Operation of generating header information
Here, the operation of generating the header information by the key information
[0190]
The key information
Upon detecting the end of the node information (Step S422), the key information
If the end of the node information is not detected and the node information is read (step S422), the key information
[0191]
If there is a lower node (step S424), the key information
[0192]
If there is no lower node (step S424), the process returns to step S421 to repeat the processing.
Next, the key information
Upon detecting the end of the node information (step S422), the key information
[0193]
If the end of the node information has not been detected and the node information has been read (step S428), the key information
[0194]
When the NRP has not been added (step S429), the key information
4.2.3 Specific operation of key information
Here, an operation of specifying one encrypted media key from the key information stored in the
[0195]
In addition, the operation of the specifying
The specifying
[0196]
The specifying
Next, the specifying
[0197]
When the variable L is smaller than the number of layers D-1 (step S1301), the specifying
When the variable i = the variable L (step S1302), the specifying
[0198]
If the flag F is 0 (step S1303), the specifying
Next, the specifying
[0199]
If the value B is 1 (step S1305), it is checked whether or not the variable is ≠ D-1. If the value is not ≠ D-1 (step S1306), the device to which this ID information is assigned is invalidated. The specifying
[0200]
If Yes (step S1307), the specifying
[0201]
5. Fifth embodiment
In the fourth embodiment, a plurality of NRPs are arranged according to the
In the fifth embodiment described below, a plurality of NRPs are output by arranging according to the
[0202]
5.1 Configuration of copyright protection system 10e
The work protection system 10e has the same configuration as the work protection system 10d. Here, the description will focus on differences from the copyright protection system 10d.
5.1.1
The
[0203]
(1) Tree
The tree
[0204]
(2) Key information
The key information
The detailed operation of generating the NRP will be described later.
[0205]
5.1.2
The
(1) Identifying
The
[0206]
5.2 Operation of copyright protection system 10e
The operation of the copyright protection system 10e will be described focusing on differences from the operation of the copyright protection system 10d.
5.2.1 Operation of generating header information
Here, the operation of generating the header information by the key information
[0207]
The key information
Upon detecting the end of the node information (Step S452), the key information
If the end of the node information is not detected and the node information is read (step S452), the key information
[0208]
When there is a lower node (step S454), the key information
[0209]
If there is no lower node (step S454), the process returns to step S451 to repeat the processing.
Next, the key information
Upon detecting the end of the node information (step S459), the key information
[0210]
If the end of the node information has not been detected and the node information has been read (step S459), the key information
When there is a lower node (step S461), the key information
[0211]
Next, the process returns to step S458 to repeat the processing.
If there is no lower node (step S461), the process returns to step S458 and repeats the process.
Next, the key information
[0212]
Upon detecting the end of the node information (step S466), the key information
When the end of the node information has not been detected and the node information has been read (step S466), the key information
[0213]
If there is a lower node (step S468), the key information
[0214]
Next, the process returns to step S465 to repeat the processing.
If there is no lower node (step S468), the process returns to step S465 to repeat the processing.
Next, the key information
[0215]
Upon detecting the end of the node information (step S473), the key information
If the end of the node information has not been detected and the node information has been read (step S473), the key information
[0216]
When the NRP has not been added (step S474) or when the deletion flag has been added (step S475), the key information
5.2.2 Specific operation of key information
Here, an operation of specifying one encrypted media key from the key information stored in the
[0219]
In addition, the operation of the specifying
The description here will focus on the differences from the flowchart shown in FIG.
As in the case of the fourth embodiment, the specifying
[0218]
When the value B = 1 (step S1305), only when the most significant bit of the NRP is “1” (step S1316), the specifying
When the NRP is {11} and the most significant bit of the NRP is not “1”, the specifying
[0219]
6. Other modifications
Although the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. The following cases are also included in the present invention.
(1) As an embodiment of the present invention, an invalidation method according to a conventional method has been described as an example, but the present invention is not limited to the above embodiment. A key management device holds a certain tree structure, a recording device or a playback device is assigned to a leaf of the tree structure, and a device key associated with a node is assigned to each recording device or each playback device. If the revocation of the device key and the creation of the key information are performed using this tree structure, what is the method of allocating the device key associated with the node and the method of allocating the device key to each device? It may be something.
[0220]
(2) Also, as an embodiment of the present invention, a tree structure of a binary tree has been described as an example, but the present invention is not limited to a binary tree. Generally, it can also be realized by an n-ary tree. At this time, the ID information is assigned 0 to n-1 for the n paths descending from a certain node, and is assigned on the path from the leaf to the root as in the above-described embodiment. The values are set by concatenating the values in order from the top.
[0221]
(3) In the embodiment of the present invention described above, a recordable medium such as a DVD-RAM has been described. However, pre-recorded media such as DVD-Video can be realized in a similar manner.
The
[0222]
As shown in FIG. 48, the
As described in the above embodiment, the
[0223]
The
[0224]
The
The
[0225]
In such a system as well, by the same operation as the
(4) In the above, the case where the present invention is used to protect the copyright of digital contents has been described as an example. However, the application of the present invention is not limited to this. It can be used for the purpose of so-called conditional access, which provides information to members other than the members.
[0226]
(5) In the embodiment of the present invention, an example has been shown in which key information or encrypted content is distributed using a recording medium, but a communication medium represented by the Internet is used instead of a recording medium. You may.
(6) The key management device and the key information recording device may be configured as an integrated device.
[0227]
(7) In the above embodiment, device keys are allocated to all nodes constituting the n-ary tree in advance, and all device keys existing on the path from the leaf to the root are used for the leaf. Although it is described that the device key is allocated, the present invention is not limited to such a device key allocation method.
Instead of assigning device keys to all nodes constituting the n-ary tree in advance, device keys may be assigned to only some of the nodes in advance.
[0228]
Also, instead of allocating all device keys existing on the path from the leaf to the root to the use device corresponding to the leaf, a part of all the device keys existing on the path from the leaf to the root is used. May be assigned to the use device.
(8) As an example, assume a tree structure shown in FIG. In an initial state where the device key is not leaked, the media key is encrypted using the device key KeyA, and an encrypted media key is generated.
[0229]
At this time, it is assumed that any one of the
[0230]
In such a situation, only the device key KeyA is invalidated, and a media key is used by using a device key that covers all devices, in other words, by using a device key shared by all devices. Must be encrypted. Here, the reason why all the devices are covered is that in such a situation, it is not possible to determine which device the hacked device is.
[0231]
Therefore, the media key is encrypted using the device keys KeyB and KeyC, respectively, to generate two encrypted media keys.
Next, when the device key KeyB is exposed, the device key KeyB is invalidated, and further, the media key is encrypted using each of the device keys KeyC, KeyD, and KeyE to generate three encrypted media keys. I do.
[0232]
When such an operation is repeated for the height of the tree, the hacked device is finally specified.
In order to cope with the situation described above, when invalidating only the device key KeyA, the key management device adds NRP {100} to the node corresponding to the device key KeyA. In the case of the tree structure shown in FIG. 4, NRP {100} is added to the route.
[0233]
A leading bit “1” of NRP {100} indicates that this node is invalidated, and a bit string “00” following the leading bit “1” is connected below this node. Both nodes indicate that they have not been revoked.
That is, in the case of the tree structure shown in FIG. 4, if NRP {100} is added to the root, two media keys generated by encrypting the media key using the device keys KeyB and KeyC are used. An encrypted media key will be present. As described above, the first bit “1” of the NRP can be said to be a flag indicating that there are two encrypted media keys below this node.
[0234]
On the other hand, as described in the second embodiment, the leading bit “1” when the NRP is {111} indicates that there is no NRP below this node.
This will be described in more detail below.
(Key management device 100)
Here, it is assumed that the
[0235]
Thereafter, as illustrated in FIG. 49, the device keys KeyA, KeyB, and KeyE assigned to the root T701, the node T702, and the node T703, respectively, leaked as described above. Then, the device keys KeyA, KeyB, and KeyE are invalidated, header information and key information are generated, and the generated header information and key information are written to a recording medium via the key
[0236]
(A) Invalidation of device keys KeyA, KeyB and KeyE
The
(B) Generation of header information
The
[0237]
Next, the
[0238]
Next, the
[0239]
Thus, the header information D1000 shown in FIG. 50 is written on the recording medium. As shown in the figure, the header information D1000 includes NRP {010}, {001}, and {100} in this order.
(C) Generation of key information
Next, the
[0240]
First, the
[0241]
Next, the
[0242]
Next, the
[0243]
Next, the
[0244]
(
FIG. 51 is a flowchart illustrating an operation of specifying one encrypted media key from the header information and the key information stored in the recording medium as described above by the specifying
The specifying
[0245]
The specifying
Next, the specifying
[0246]
Next, when the value B = 0 (step S303), the specifying
(A) When the most significant bit of the NPR is “0” and the lower two bits are not “11”, “1” is added to the variable X.
[0247]
(B) When the most significant bit of the NPR is “1”, the number of “0” included in the lower two bits is added to the variable X.
For the A-th NRP checked last, the number of “0” s up to the corresponding bit position is added to the variable X only when the most significant bit of the NRP is “1”. Here, it is assumed that the corresponding bit itself is not included. The variable X thus obtained indicates the position of the encrypted media key. The variable i at this time is device key identification information for identifying a device key (step S307c). Next, the specifying
[0248]
On the other hand, when the value B is 1 (step S303), the specifying
When determining that the most significant bit of the NRP is not “1” (step S308), the specifying
[0249]
Next, the specifying
[0250]
Next, the specifying
As described above, not only when the device key existing on the path from the leaf of the tree structure to the root is invalidated, the device key assigned to some nodes of the tree structure is invalidated. Even in this case, the key management device can write the header information and the key information on the recording medium and the reproducing device can specify the encrypted media key.
[0251]
(9) As an example, suppose the tree structure shown in FIG. 4 is in an initial state in which no device key is leaked, and there is no invalidated node in the tree structure.
In this case, the key management device encrypts the media key using the device key KeyA associated with the root to generate one encrypted media key. Next, the key management device generates one special NRP {00} indicating that there is no invalidated node in the tree structure and all nodes are valid. Next, the key management device writes the generated encrypted media key and the generated NRP {00} to a recording medium via a key information recording device.
[0252]
In this case, the reproducing apparatus reads the NRP from the recording medium, and when determining that the read NRP is only {00} and that the NRP is not recorded on the recording medium, the reproducing apparatus Determines that there is no invalidated node in the tree structure, then reads the encrypted media key recorded on the recording medium, and retrieves the device key stored in the playback device itself. The read-out encrypted media key is decrypted using the device key KeyA associated with the root to generate a media key.
[0253]
In this case, the recording device operates in the same manner as the reproducing device.
7. Sixth embodiment
An
As shown in FIG. 52, the
[0254]
The drive manufacturer has a
[0255]
The personal computer manufacturer has a
[0256]
The produced
Here, it is assumed that the set of the drive secret key and the drive public key has been disclosed by an unauthorized third party. In this case, the corresponding public key certificate must be revoked.
[0257]
Upon knowing that the public key certificate should be revoked, the
[0258]
The user purchases the
The
[0259]
7.1 Configuration of
As shown in FIG. 53, the
The
[0260]
As described above, the
(1)
The
[0261]
As shown as an example in FIG. 53, the manufacturing information table 1211 stores a plurality of pieces of manufacturing information including a manufacturing number, a drive secret key, a drive public key, an expiration date, a public key certificate, and certificate signature data. Area.
Here, the serial number is an identification number for uniquely identifying a drive unit manufactured by a drive manufacturer.
[0262]
The drive secret key is a secret key generated corresponding to the drive unit.
The drive public key is a public key generated corresponding to the drive secret key.
The expiration date includes a start date and an end date of use of the drive private key and the drive public key.
The public key certificate is a certificate generated corresponding to the drive public key, and includes a certificate ID, an expiration date, and a drive public key. The certificate ID is identification information for identifying the public key certificate. The expiration date has the same content as the above expiration date. The drive public key has the same contents as the drive public key.
[0263]
The certificate signature data is signature data generated based on the public key certificate.
(2)
The
[0264]
(3) Control unit 1204
The control unit 1204 receives the serial number and the expiration date from the
[0265]
Here, the RSA public key encryption technology is well-known, and thus the description is omitted.
Next, the control unit 1204 transmits the generated drive public key, the received expiration date, and a public key certificate issuance request indicating a request to issue a public key certificate via the
[0266]
Next, the control unit 1204 receives the public key certificate and the certificate signature data from the
[0267]
The control unit 1204 outputs the serial number, the drive secret key, the public key certificate, and the certificate signature data to the
Further, the control unit 1204 discloses the serial number and the drive public key via the
(4)
The
[0268]
The
(5)
The
[0269]
(6)
The
7.2 Configuration of
Like the
[0270]
The
As described above, the
The
[0271]
7.3
As shown in FIG. 54, the
[0272]
This device is, specifically, a computer system including a microprocessor, a ROM, a RAM, and the like. When the microprocessor operates according to the computer program, the
The
[0273]
(1) Tree
The tree
The tree structure table D1100 corresponds to a tree structure T1100 (not shown).
[0274]
(Tree structure T1100)
The tree structure T1100 is a binary tree including five layers from
On the other hand, as described above, the tree structure T100 is used for managing device keys. Thus, the tree structure T1100 differs from the tree structure T100 in the purpose of its use. The configuration itself of the tree structure T1100 is the same as that of the tree structure T100, and a detailed description thereof will be omitted.
[0275]
(Tree structure table D1100)
The tree structure table D1100 has an area for storing the same number of node information as the nodes included in the tree structure T1100, and each node information corresponds to each node configuring the tree structure T1100.
Each node information corresponding to a node other than a leaf included in the tree structure table D1100 includes a node name and an invalidation flag. Each node information corresponding to a leaf includes a node name, a drive public key, and a revocation flag. Here, the drive public key is received from the
[0276]
Note that each node information included in the tree structure table D100 includes the node name, the device key, and the invalidation flag as described above, while each node information included in the tree structure table D1100 includes the node name and the node name. It includes an invalidation flag, or includes a node name, a drive public key, and an invalidation flag.
In this respect, the tree structure table D1100 is different from the tree structure table D100, and the other points are the same. Therefore, a detailed description of the tree structure table D1100 will be omitted.
[0277]
(2) Tree
The tree
The tree
[0278]
Thus, at the time when the tree
Note that the tree
[0279]
(3)
The
(4)
The
[0280]
Upon receiving the public key certificate issuance request, the drive public key, and the expiration date, the
[0281]
Further, the
Thus, the
[0282]
Next, the
Here, the digital signature SIG is a digital signature that uses ElGamal encryption based on the security of a discrete logarithm problem on an elliptic curve.
[0283]
Next, the
(5)
Assume that a set of a drive private key and a drive public key has been disclosed by an unauthorized third party. In this case, the corresponding public key certificate must be revoked.
[0284]
When the administrator of the
(6) Tree
The tree
[0285]
Upon receiving the certificate ID, the tree
In the description of the tree
Thus, similarly to the tree
[0286]
When it is assumed that the certificate IDs indicated by “0000”, “1010”, and “1011” are invalidated in the tree structure D1100, the tree whose nodes have been invalidated by the tree
(7)
The
[0287]
(8)
The
FIG. 55 shows an example of a plurality of NRPs (referred to as an NRP group) generated by the
[0288]
Here, the generated NRP group has the same contents as the header information D200 (shown in FIG. 6) generated by the key information
The operation of the
Next, as a different operation from the key information
[0289]
FIG. 55 shows an example of the CRL. The
Next, the
[0290]
(9)
The
(10) Transmission /
The transmission /
[0291]
(11)
The
The
The
7.4
As shown in FIG. 56, the
[0292]
The copyrighted
(1)
The
[0293]
(2) Transmission /
The transmission /
The transmission /
(3)
The
[0294]
In addition, the
Here, the encryption algorithm E3 is based on DES.
[0295]
Next, the
(4)
The
[0296]
(5) Transmission /
The transmission /
The transmission /
7.5
As shown in FIG. 57, the
[0297]
The
[0298]
(1)
As shown as an example in FIG. 57, the
As described above, in the process of manufacturing the
[0299]
The serial number is identification information for identifying the
(2)
The
[0300]
The
Upon receiving the failure information, the
[0301]
Upon receiving the success information, the
(Invalidation judgment)
Next, the
[0302]
The
[0303]
Here, the operation of the
The
The
[0304]
If the determination is “No” in step S302 of the flowchart in FIG. 17, the
When it is determined that “B = 0” in step S303 of the flowchart in FIG. 17, the
[0305]
In this way, the
[0306]
On the other hand, when determining that the public key certificate is valid, the
The
[0307]
Here, the verification algorithm VER corresponds to the digital signature SIG described above, and performs verification using signature data generated by the digital signature SIG.
If the verification fails, the
[0308]
If the verification is successful, the
Next, the
[0309]
(3)
The
[0310]
(4)
The
[0311]
The
Here, the verification algorithm VER corresponds to the digital signature SIG described above, and performs verification using signature data generated by the digital signature SIG.
[0312]
When the verification result indicates the validity of the NRP group, that is, when the verification is successful, the
[0313]
(5)
The
(6)
The reproducing
[0314]
(7)
The
(8)
The
[0315]
7.6
As shown in FIG. 58, the
(1)
As shown in FIG. 58, the
[0316]
As described above, in the process of manufacturing the
The serial number, the drive private key, the public key certificate, and the certificate signature data are as described above, and thus the description will be omitted here.
[0317]
(2)
The
Upon receiving the CRL read instruction, the
[0318]
Upon receiving the request for the public key certificate,
Upon receiving the random number R, the
[0319]
Upon receiving the request to read the work, the
Next, the
[0320]
(3)
The
[0321]
(4)
The
(5) Input /
The input /
[0322]
7.7 Operation of
(1) Operation of
The operations of the
The
[0323]
Next, the control unit 1204 generates a random number, generates a drive secret key based on the generated random number (step S503), and then uses the generated drive secret key using RSA public key encryption technology. Then, a drive public key is generated (step S504).
Next, the control unit 1204 transmits the generated drive public key, the received expiration date, and a public key certificate issuance request indicating a request to issue a public key certificate via the
[0324]
Next, the control unit 1204 receives the public key certificate and the certificate signature data from the
[0325]
The control unit 1204 outputs the serial number, the drive secret key, the public key certificate, and the certificate signature data to the
[0326]
Further, the control unit 1204 discloses the serial number and the drive public key via the
The
[0327]
(2) Operation of Issuing Public Key Certificate by
The operation of issuing a public key certificate by the
The tree
[0328]
The
Next, the
[0329]
Next, the
[0330]
(3) CRL Issuing Operation by
The operation of issuing a CRL by the
When the administrator of the
[0331]
Next, the tree
Next, the
[0332]
The transmission /
Next, the
[0333]
Next, the
(4) Operations of the
The operations of the
[0334]
The
Next, the
[0335]
Next, the
[0336]
The
[0337]
Next, when the failure information is received (step S566), the
When receiving the success information (step S566), the
[0338]
The
Next, the
[0339]
If the
[0340]
On the other hand, if it is determined that the public key certificate is valid (step S573), the
The
[0341]
The
[0342]
If the verification fails (step S580), the
If the verification is successful (step S580), the
[0343]
The
[0344]
Next, the
[0345]
The reproducing
7.8 Other Modifications
As described above, the technology described in the first embodiment is applied to the sixth embodiment. That is, in the generation of the CRL and the revocation determination of the public key certificate in the
[0346]
In the sixth embodiment, the second to fifth embodiments and their modifications may be applied. That is, the method of generating the header information and the method of specifying the encrypted media key shown in the second to fifth embodiments and the modified examples thereof are described in the CRL in the
[0347]
In the sixth embodiment to which the second embodiment is applied, when all descendants of a certain node are invalidation nodes, the NRP is expressed as “00”, but the present invention is not limited to this. Not. For example, "0" and "1" may be interchanged and "11" may be used as the NRP meaning the above. Further, one bit may be added and the bit may be used as a bit meaning the above.
[0348]
In the sixth embodiment to which the third embodiment is applied, similarly to the second embodiment, when all descendants of a certain node are invalidation nodes, the NRP is expressed as “00”. , One bit may be added and the bit may be used as a bit meaning the above.
If there is no revoked public key certificate, a CRL including information indicating that fact may be generated.
[0349]
7.9 Summary
As described above, the present invention relates to an authentication system using public key cryptography, which has a secret key and a public key in a public key cryptographic algorithm, and uses the secret key to give a communication partner its own validity. Terminal, a public key certificate issuing device for issuing and distributing a public key certificate to at least data comprising a public key of the terminal device, and a public key certificate for the terminal device to be invalidated. A revocation list generating device for issuing and distributing a public key certificate revocation list for specifying the public key certificate issued by the key certificate issuing device, a public key certificate of the terminal device to be verified, and the public key certificate Revocation list receiving device, and a revocation list using device that determines whether the public key certificate is registered in the public key certificate revocation list. Composed of a verification device for verifying a self correctness proof performed by the communication partner by using a cross-sectional public key.
[0350]
The revocation list generation device constructs and stores a tree structure including a plurality of layers, assigns a unique value for identifying a public key certificate of each terminal device to a leaf of the tree structure, and further stores and stores If a unique value of a public key certificate to be revoked is associated with at least one of the leaves that are descendants of a node for a given tree structure, that node is regarded as a revoked node, and at least one of the child nodes For a node, one of which is an invalidation node, an identifier for identifying whether each child node is an invalidation node is indicated by an identifier for identifying whether or not each child node is an invalidation node. The public key certificate revocation list is further arranged by arranging node revocation patterns of the entire tree structure based on a predetermined rule for tracing all nodes of the tree structure. Generated.
[0351]
The revocation list using apparatus analyzes a public key certificate revocation list in which the node revocation patterns are arranged based on the predetermined rule, and determines that the public key certificate of the terminal to be verified is invalidated. It is determined whether or not it is registered in the list.
The present invention also provides a public key certificate issuing device for issuing and distributing a public key certificate to data comprising a public key of a terminal device, and a public key certificate issuing device for the terminal device to be revoked. A revocation list generation device that issues and distributes a public key certificate revocation list that specifies the public key certificate issued by the device.
[0352]
The revocation list generation device constructs and stores a tree structure including a plurality of layers, assigns a unique value for identifying a public key certificate of each terminal device to a leaf of the tree structure, and further stores and stores If a unique value of a public key certificate to be revoked is associated with at least one of the leaves that are descendants of a node for a given tree structure, that node is regarded as a revoked node, and at least one of the child nodes For a node, one of which is an invalidation node, an identifier for identifying whether each child node is an invalidation node is indicated by an identifier for identifying whether or not each child node is an invalidation node. The public key certificate revocation list is further arranged by arranging node revocation patterns of the entire tree structure based on a predetermined rule for tracing all nodes of the tree structure. Generated.
[0353]
Further, the present invention receives a public key certificate of the partner terminal device to be verified and the public key certificate revocation list, and determines whether or not the public key certificate is registered in the public key certificate revocation list. The revocation list using device to be determined.
The revocation list using apparatus analyzes a public key certificate revocation list in which the node revocation patterns are arranged based on the predetermined rule, and determines that the public key certificate of the terminal to be verified is invalidated. It is determined whether or not it is registered in the list.
[0354]
Here, the authentication system may be configured to distribute the revocation list using a communication medium as a revocation list distribution unit.
Here, the revocation list using apparatus may be configured to distribute the revocation list using a communication medium as a revocation list distribution unit.
Here, the authentication system may be configured to distribute the revocation list using a recording medium as a revocation list distribution unit.
[0355]
Here, the revocation list using device may be configured to distribute the revocation list using a recording medium as a revocation list distribution unit.
Here, the authentication system identifies a node in which all the leaves that are descendants of the invalidated node are invalidated among the node invalidation patterns given to the invalidated node. It may be configured to give a node invalidation pattern.
[0356]
Here, the revocation list generation device, for a node in which all leaves that are descendants of the revocation node are revoked in the node revocation pattern given to the revocation node, It may be configured to provide the identified node invalidation pattern.
Here, the authentication system adds, to the node invalidation pattern given to the invalidation node, information representing whether or not all the leaves that are descendants of the invalidation node are invalidated, and adds the node invalidation pattern. May be configured.
[0357]
Here, the revocation list generation device adds, to a node revocation pattern given to the revocation node, information indicating whether or not all the leaves that are descendants of the revocation node are revoked. An invalidation pattern may be configured.
Here, the authentication system is based on a rule for arranging the node invalidation patterns, starting from the root of the tree structure, giving priority to a node in an upper layer, and giving priority to a node on the left side in the same layer. You may comprise so that the node invalidation pattern of the invalidation node which appears may be arranged.
[0358]
Here, the revocation list generation device has a rule that, starting from the root of the tree structure, gives priority to nodes in upper layers and gives priority to left nodes in the same layer, as rules for arranging node revocation patterns. May be arranged so that the node invalidation patterns of the invalidation nodes appearing on the basis of.
Here, it is assumed that, in the authentication system, all nodes configuring the tree structure are invalidated. The nodes constituting this tree structure are called a processed node set. At this time, a node that has not been invalidated is newly added to the tree structure as follows. Here, adding a node is referred to as expanding a tree structure. A tree structure including a processed node set is considered as an initial state. In the initial state, a child node is further added to a node belonging to a lower layer of the tree structure. At this time, when a plurality of nodes belong to the lower layer, a child node is preferentially added to the left node among the plurality of nodes. After expanding the tree structure based on such an extension rule, a public key certificate is assigned to the lowest node, that is, a leaf.
[0359]
Here, when the public key certificate is revoked, as described above, the revocation list generation device invalidates all nodes on the route from the node to the root. At this time, the node invalidation patterns of the invalidation nodes are arranged based on the extension rule.
At this time, the revocation list using device analyzes the public key certificate revocation list in which the node revocation patterns are arranged based on the extension rule, and determines that the public key certificate of the terminal to be verified is It is determined whether or not it is registered in the revocation list.
[0360]
8. Other modifications
(1) The present invention may be the method described above. Further, these methods may be a computer program that is realized by a computer, or may be a digital signal formed by the computer program.
Further, the present invention records the computer program or the digital signal on a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, and a semiconductor memory. It may be done. Further, the present invention may be the computer program or the digital signal recorded on these recording media.
[0361]
Further, according to the present invention, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, or the like.
The present invention may be a computer system including a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program.
[0362]
Further, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, so that it is executed by another independent computer system. It may be.
(2) The above embodiments and the above modifications may be combined.
[0363]
9. Conclusion
As is apparent from the above description, according to the invention disclosed in the first embodiment, key information can be made compact by arranging NRPs in order of level as header information of key information recorded in advance on a recording medium. It is also possible to specify an encrypted media key that the player should efficiently decrypt.
[0364]
According to the invention disclosed in the second embodiment, a bit indicating whether or not all descendants of a certain node are invalidating devices is added to the head of the NRP as header information. When concentrated, header information can be reduced.
Further, according to the invention disclosed in the third embodiment, it is possible to further reduce header information by determining whether or not all descendants of a certain node are invalidation devices in a certain specific pattern. .
[0365]
Further, according to the inventions disclosed in the fourth and fifth embodiments, the order of NRPs can be other than the order disclosed in the first to third embodiments.
Further, according to the invention disclosed in the sixth embodiment, the size of the CRL can be kept small even if the number of public key certificates to be revoked increases.
[0366]
10. Industrial potential
The authentication system for determining a revoked public key certificate described above uses a public key cryptosystem to transmit a secret message, authenticate a partner, prevent non-repudiation, share a key, throw coins, share secrets, etc. Is applied when determining whether the public key certificate is valid. For example, as shown in
[0367]
【The invention's effect】
As described above, the present invention uses a revocation list generation device that generates a revocation list indicating a revoked public key certificate, and uses the revocation list to determine whether the acquired public key certificate is invalid. And an invalidation determination device that suppresses the use of a public key corresponding to the case where the invalidation is determined. The revocation list generation device includes a plurality of leaves each having a tree structure. A leaf identifier corresponding to a plurality of public key certificates and indicating each leaf identifies each public key certificate, and at least one public key certificate among the public key certificates is invalidated. All nodes from the leaf indicated by the leaf identifier that identifies the converted public key certificate to the root are invalidated, and a tree structure storage unit having a plurality of nodes constituting the tree structure; To For each invalidated node, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained plurality of invalidation information is obtained. Comprises an invalidation list generating means for generating an invalidation list by arranging the tree according to the arrangement order related to the configuration of the tree structure, and an output means for outputting the generated invalidation list. A certificate obtaining unit for obtaining a public key certificate identified by a leaf identifier indicating one leaf of a structure; a list obtaining unit for obtaining the revocation list; and a list arranged in the obtained revocation list. Attempt to construct a route from the root to the leaf using the revocation information, and if the constructed route includes the leaf, it is determined that the obtained public key certificate is invalid. And, if the does not contain leaf, and a judging means for the public key certificate obtained is determined to be valid. The revocation list generating apparatus generates a revocation list indicating a revoked public key certificate, wherein a plurality of leaves having a tree structure correspond to the plurality of public key certificates, and indicate each leaf. The leaf identifier identifies each public key certificate, at least one of the public key certificates has been revoked, and is indicated by a leaf identifier identifying the revoked public key certificate. All the nodes from the leaf to the root are invalidated, and a tree structure storage means having a plurality of nodes constituting the tree structure, and for each invalidated node except the leaf, a lower node Invalidation information indicating whether or not each is invalidated is generated. As a result, a plurality of pieces of invalidation information are obtained, and the obtained plurality of pieces of invalidation information are arranged according to the arrangement order according to the tree structure. Provided by a revocation list generation means for generating a revocation list by, and output means for outputting the generated revocation list that. Also, using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether or not the obtained public key certificate is invalid. The revocation list generation device has a plurality of nodes constituting a tree structure, and a plurality of leaves of the tree structure each have a plurality of public key certificates. And a leaf identifier indicating each leaf identifies each public key certificate, and at least one of the public key certificates has been revoked, and the revoked public key certificate has been revoked. All nodes from the leaf to the root indicated by the leaf identifier that identifies the book are invalidated, and for each invalidated node except the leaf, whether each of the lower nodes is invalidated To A plurality of pieces of revocation information are obtained, and the obtained pieces of revocation information are arranged in accordance with the arrangement order of the tree structure to generate a revocation list. The invalidation list is output, and the invalidation determination device acquires a public key certificate identified by a leaf identifier indicating one leaf of the tree structure, and acquires the revocation list. Using a list acquisition unit and the invalidation information arranged in the acquired invalidation list, an attempt is made to construct a route from a root to the leaf, and when the leaf is included in the constructed route, A determination unit that determines that the obtained public key certificate is invalid, and determines that the obtained public key certificate is valid when the leaf is not included.
[0368]
According to these configurations, the revocation list generation device generates revocation information indicating whether or not each of the lower nodes has been revoked for each revoked node except the leaf. The size can be kept small. Further, the invalidation determination device attempts to construct a path from a root to the leaf using the invalidation information, and when the constructed path includes the leaf, the acquired public key certificate is Since it is determined that the certificate is invalid, the revoked public key certificate can be reliably determined.
[0369]
Here, the tree structure is composed of a plurality of layers, and the revocation list generating means converts the obtained revocation information from the root to the leaf-side layer in order from the root to the leaf-side layer. Are arranged according to the above-mentioned arrangement order. The tree structure is composed of a plurality of layers, and the invalidation information is arranged in accordance with the arrangement order, which is an order from a root-side layer to a leaf-side layer, starting from a root, and the determination unit includes: Using the plurality of pieces of revocation information arranged according to the arrangement order, constructing the path, and determining whether the acquired public key certificate is invalid.
[0370]
According to these configurations, the revocation list generation device arranges the obtained pieces of revocation information according to the arrangement order, which is the order from the layer on the root side to the layer on the leaf side, starting from the root. The route can be reliably established by the invalidity determination device.
Here, the revocation list generating means may use the obtained pieces of revocation information in the order of the nodes arranged on the route from the root to each leaf, starting from the root, and not being arranged in a redundant manner. Arrange in accordance with the arrangement order. In addition, the invalidation information is arranged in accordance with the order of nodes arranged on the route from the root to each leaf, starting from the root, and is not arranged in an overlapping manner. The route is constructed using the plurality of pieces of revocation information arranged according to the arrangement order, and the invalidation of the obtained public key certificate is determined.
[0371]
According to these configurations, the revocation list generation device uses the obtained plurality of revocation information as an order of nodes arranged on a route from the root to each leaf, starting from the root, and overlapping. Since the paths are arranged according to the non-arranged arrangement order, the path can be reliably established by the invalidation determination device.
Here, the revocation list generating means generates revocation information for all revoked nodes except for the leaf. In addition, revocation information is generated for all revoked nodes except for the leaf, and the determining unit determines revocation of the acquired public key certificate using the plurality of revocation information.
[0372]
According to these configurations, the revocation list generation device generates revocation information for all revoked nodes except the leaf, so that revocation information is not missing from the revocation list.
Here, the revocation list generating means may determine that all the nodes connected to the lower side of the invalidated nodes except for the leaf, in which all the nodes connected to the lower side are invalidated. Generate special invalidation information indicating that invalidation has been performed, and for all invalidated nodes connected to the lower side, suppress generation of invalidation information, and disable other invalidated nodes except for leaves , Invalidation information indicating whether each of the lower nodes is invalidated is generated. In addition, a special node indicating that all nodes connected to the lower side are invalidated for nodes that have been invalidated except for the leaf and all nodes connected to the lower side have been invalidated. Invalidation information is generated, generation of invalidation information is suppressed for all invalidated nodes connected to the lower side, and for all invalidated nodes other than leaves, the lower n nodes Revocation information indicating whether or not each has been revoked is generated, and the determination unit determines revocation of the obtained public key certificate using the special revocation information and the revocation information.
[0373]
According to these configurations, the revocation list generation device, for all the nodes that are revoked except for the leaf and for which all nodes connected to the lower side are revoked, are connected to the lower side. Since the special revocation information indicating that the node is revoked is generated, the size of the revocation list can be further reduced.
Here, the tree structure is an n-ary tree, where n is an integer of 2 or more, and the revocation list generating unit is a revoked node except for a leaf and connects to a lower side. The first additional information indicating that all nodes connected to the lower side are invalidated, and each of the lower n nodes is invalidated when all nodes are invalidated. , Generating special invalidation information composed of n-digit information indicating the invalidation of all the invalidated nodes connected to the lower side, suppressing generation of invalidation information, and performing other invalidation except for leaves Additional information indicating that all nodes connected to the lower side have not been invalidated, and n-digit information indicating whether or not each of the lower n nodes has been invalidated for the given node Generate invalidation information consisting of . In addition, for a node that has been invalidated except for the leaf and in which all nodes connected to the lower side are invalidated, a node indicating that all nodes connected to the lower side are invalidated. 1 special additional information and n-digit information indicating that each of the lower n nodes is invalidated are generated, and all invalidated information connected to the lower side is invalidated. The generation of invalidation information is suppressed for the node that has been invalidated. For the invalidated nodes other than the leaf, second additional information indicating that all nodes connected to the lower side are not invalidated, Invalidation information composed of n-digit information indicating whether or not each of the n nodes is invalidated is generated, and the determination unit uses the special invalidation information and the invalidation information to generate the invalidation information. The obtained public To determine the invalidity of the key certificate.
[0374]
According to these configurations, the revocation list generation device, for all the nodes that are revoked except for the leaf and for which all nodes connected to the lower side are revoked, are connected to the lower side. Generating special invalidation information including first additional information indicating that the node is invalidated and n-digit information indicating that each of the lower n nodes is invalidated; Since the generation of revocation information is suppressed for all revoked nodes connected to the lower side, the size of the revocation list can be reduced.
[0375]
Here, the tree structure is an n-ary tree, where n is an integer of 2 or more, and the revocation list generating unit is a revoked node except for a leaf and connects to a lower side. For all the nodes that have been invalidated, special invalidation information composed of an n-digit special value indicating that each of the lower n nodes is invalidated is generated, and For all the invalidated nodes to be connected, generation of invalidation information is suppressed, and for each of the invalidated nodes other than the leaf, it indicates whether or not each of the lower n nodes is invalidated. Generate n-digit invalidation information. In addition, for nodes that have been invalidated except for the leaf and for which all nodes connected to the lower side have been invalidated, n indicates that each of the lower n nodes has been invalidated. Special invalidation information composed of special values of digits is generated, and generation of invalidation information is suppressed for all invalidated nodes connected to the lower side, and other invalidated nodes except for leaves , N-digit invalidation information indicating whether or not each of the lower n nodes is invalidated is generated, and the determination unit obtains the invalidation information using the special invalidation information and the invalidation information. It is determined whether the public key certificate is invalid.
[0376]
According to these configurations, the revocation list generation device determines, for all the nodes that are revoked except the leaves and for which all the nodes connected to the lower side are revoked, of the lower n nodes. It generates special invalidation information composed of an n-digit special value indicating that each is invalidated, and suppresses generation of invalidation information for all invalidated nodes connected to the lower side. Therefore, the size of the revocation list can be reduced.
[0377]
Here, all the nodes of the tree structure storage means are invalidated, and the tree structure further includes one tree below the leaves constituting the tree structure in accordance with the expansion rule for expanding the tree structure. One or more extended leaves which are the lowest nodes among the extended nodes correspond to different extended public key certificates, and the extended leaf identifier indicating each extended leaf is At least one of the extended public key certificates that identify the public key certificate has been revoked, and is indicated by an extended leaf identifier that identifies the revoked extended public key certificate. All nodes from the extended leaf to the root are invalidated, and the revocation list generating means further includes a subordinate extended node for each invalidated extended node except the extended leaf. Are generated, indicating whether or not each of them is invalidated.As a result, a plurality of extended invalidation information is obtained, and the obtained plurality of extended invalidation information is related to the extension of the tree structure. Arranged according to the extension rule and added to the revocation list, the output means outputs the revocation list to which extended revocation information is added. Further, all nodes of the revocation list generation device are revoked, and the tree structure further includes one tree below a leaf configuring the tree structure according to an expansion rule related to expansion of the tree structure. One or more extended leaves which are the lowest nodes among the extended nodes having the above extended nodes respectively correspond to different extended public key certificates, and the extended leaf identifier indicating each extended leaf is an extended public key. At least one of the extended public key certificates for identifying a key certificate has been revoked, and the extension indicated by an extended leaf identifier for identifying the revoked extended public key certificate All nodes from the leaf to the root are invalidated, and the revocation list generation device further performs lower-level expansion for each invalidated expansion node except the expansion leaf. Generates extended invalidation information indicating whether or not each of the nodes is invalidated.As a result, a plurality of extended invalidation information is obtained, and the obtained plurality of extended invalidation information is used to extend the tree structure. Arranged according to the extension rule and added to the revocation list, the revocation list to which the extended revocation information is added is output, and the certificate acquisition unit further includes one extended leaf of the tree structure. Acquiring the extended public key certificate identified by the extended leaf identifier indicated by the extended leaf key identifier, the list acquiring unit acquires the revocation list to which extended revocation information is added, and the determining unit further acquires the acquired invalidation. Using the extended invalidation information arranged in the activation list, an attempt is made to construct a path from a root to the extended leaf, and when the extended leaf is included in the constructed path, the acquired It determines that Zhang public key certificate is invalid, when the do not include extension leaf, the extended public key certificate obtained is determined to be valid.
[0378]
According to these configurations, the revocation list generation device, for each of the revoked extended nodes except for the extended leaf, indicates whether or not each of the subordinate extended nodes has been revoked according to the extension rule. Since the information is generated, even if the tree structure is expanded, it is possible to generate a CRL with a small size. Further, the invalidation determination device attempts to construct a route from a root to the extended leaf using the extended invalidation information, and when the extended leaf is included in the constructed route, the acquired extended public information is acquired. Since it is determined that the key certificate is invalid, the revoked extended public key certificate can be reliably determined.
[0379]
Further, the present invention is a revocation list generation device that generates a revocation list indicating a revoked public key certificate, wherein a plurality of leaves in a tree structure respectively correspond to a plurality of public key certificates, A leaf identifier indicating each leaf identifies each public key certificate, none of the public key certificates has been revoked, and all nodes have not been revoked, forming the tree structure. The tree structure storage means having a plurality of nodes to be executed and all the nodes constituting the tree structure are determined not to be revoked, and a revocation list indicating that there is no revoked public key certificate is generated. And an output unit for outputting the generated revocation list. Also, using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether or not the obtained public key certificate is invalid. The revocation list generation device has a plurality of nodes constituting a tree structure, and a plurality of leaves of the tree structure each have a plurality of public key certificates. The leaf identifier indicating each leaf identifies each public key certificate, none of the public key certificates has been revoked, and all nodes have not been revoked, All nodes constituting the structure determine that the revocation has not been performed, generate a revocation list indicating that the revoked public key certificate does not exist, output the generated revocation list, and output the revocation list. The judgment device is one of the tree structures Certificate obtaining means for obtaining a public key certificate identified by a leaf identifier indicating a leaf, list obtaining means for obtaining the revocation list, and using the obtained revocation list, a public key certificate is invalidated. Determining means for determining that the data has not been converted.
[0380]
According to these configurations, when there is no revoked public key certificate, the revocation list generation device generates and outputs a revocation list indicating that, so that the public key certificate does not exist. Can be notified. Further, the revocation determination device determines that the public key certificate has not been revoked by using the obtained revocation list. Therefore, if there is no revoked public key certificate, the Can be used.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a copyrighted
FIG. 2 is a block diagram showing a configuration of a
FIG. 3 shows an example of a data structure of a tree structure table D100.
FIG. 4 is a conceptual diagram showing a tree structure T100.
FIG. 5 is a conceptual diagram showing a tree structure T200 including an invalidated node.
FIG. 6 is a data structure diagram illustrating an example of a node invalidation pattern.
FIG. 7 is a data structure diagram illustrating an example of key information including a plurality of encrypted media keys.
FIG. 8 is a block diagram illustrating a configuration of a
FIG. 9 is a block diagram showing a configuration of a
FIG. 10 is a flowchart showing an operation of assigning a device key to a user device, an operation of generating key information and writing it on a recording medium, and an operation of encrypting or decrypting content by the user device. In particular, it is a flowchart showing the operation of each device until the device key is exposed by an unauthorized third party.
FIG. 11 shows an operation of invalidating a node in a tree structure corresponding to an exposed device key after a device key is exposed by an unauthorized third party, generation of new key information, and generation of new key information on a recording medium. 9 is a flowchart illustrating a writing operation and an operation of encrypting or decrypting content by the user device.
FIG. 12 is a flowchart showing an operation of generating a tree structure table by the tree
FIG. 13 is a flowchart showing an operation performed by the device
14 is a flowchart illustrating an operation of updating a tree structure by the tree
FIG. 15 is a flowchart illustrating an operation of generating header information by the key information
FIG. 16 is a flowchart illustrating an operation of generating key information by the key
FIG. 17 is a flowchart illustrating an operation of specifying one encrypted media key from key information stored in a recording medium by a specifying unit included in the recording device.
FIG. 18 illustrates an example of a tree structure in a case where user devices to be invalidated may be concentrated on a specific leaf in the tree structure according to the first embodiment.
FIG. 19 is a tree structure showing a special node invalidation pattern when a user device to be invalidated is concentrated on a specific leaf in the tree structure in the second embodiment.
FIG. 20 shows an example of a data structure of a tree structure table D400.
FIG. 21 shows an example of a data structure of header information D500.
FIG. 22 shows an example of the data structure of key information D600.
FIG. 23 is a flowchart showing an operation of generating key information by the key information
FIG. 24 is a flowchart showing an operation of generating header information by a key information
FIG. 25 is a flowchart showing an operation of generating the header information by the key information
FIG. 26 is a flowchart showing an operation of generating key information by the key information
FIG. 27 is a flowchart illustrating an operation of specifying one encrypted media key from the key information stored in the
FIG. 28 is a tree structure showing a special node invalidation pattern in the third embodiment.
FIG. 29 shows an example of the data structure of header information D700.
FIG. 30 shows an example of the data structure of key information D800.
FIG. 31 is a flowchart illustrating an operation of generating header information. It continues to FIG.
FIG. 32 is a flowchart illustrating an operation of generating header information. It continues to FIG.
FIG. 33 is a flowchart showing an operation of generating header information. It continues to FIG.
FIG. 34 is a flowchart illustrating an operation of generating header information. Continued from FIG.
FIG. 35 is a flowchart showing an operation of specifying one encrypted media key from the key information stored in the
FIG. 36 is a tree structure showing how to arrange a plurality of node invalidation patterns in the fourth embodiment.
FIG. 37 shows an example of the data structure of a tree structure table D100.
FIG. 38 shows an example of the data structure of header information D900.
FIG. 39 is a flowchart showing an operation of generating a tree structure table by the tree
40 is a flowchart showing an operation of generating header information by the key information
FIG. 41 is a flowchart showing an operation of generating key information by the key information
FIG. 42 is a flowchart showing an operation of specifying one encrypted media key from the key information stored in the
FIG. 43 is a flowchart showing an operation of generating key information by the key information
FIG. 44 is a flowchart showing an operation of generating header information by the key information
FIG. 45 is a flowchart showing an operation of generating key information by the key information
FIG. 46 is a flowchart illustrating an operation of generating header information by the key information
FIG. 47 is a flowchart showing an operation of specifying one encrypted media key from the key information stored in the
FIG. 48 is a block diagram showing a configuration of a copyrighted
FIG. 49 is a conceptual diagram showing a tree structure T700 including nodes to which revoked device keys KeyA, KeyB, and KeyE are assigned.
FIG. 50 is a data structure diagram showing a configuration of header information D1000 and key information D1010.
FIG. 51 is a flowchart showing an operation of specifying one encrypted media key by the specifying
FIG. 52 is a block diagram showing a configuration of an
FIG. 53 is a block diagram showing a configuration of a
FIG. 54 is a block diagram showing a configuration of a
FIG. 55 is a data structure diagram showing an example of a CRL.
FIG. 56 is a block diagram showing a configuration of a copyrighted
FIG. 57 is a block diagram showing a configuration of a
FIG. 58 is a block diagram showing a configuration of a
FIG. 59 is a flowchart showing an operation of the
FIG. 60 is a flowchart showing an operation of issuing a public key certificate by the
FIG. 61 is a flowchart showing an operation of issuing a CRL by the
FIG. 62 is a flowchart showing the operation of the
FIG. 63 is a flowchart showing the operation of the
[Explanation of symbols]
10, 10b-10f Copyright protection system
100 key management device
200 Key information recording device
300a-300c recording device
400a-400c playback device
1000 authentication system
1100 Certificate Authority device
1200 Manufacturing Equipment
1300 Manufacturing equipment
1400 Work recording device
1500 personal computer
1600 drive section
1900 main unit
Claims (27)
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段とを含み、
前記無効判定装置は、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段とを含む
ことを特徴とする認証システム。A revocation list generation device for generating a revocation list indicating a revoked public key certificate, and determining whether or not the obtained public key certificate is invalid using the revocation list. An authentication system comprising an invalidation determination device that suppresses use of a corresponding public key,
The revocation list generation device,
A plurality of leaves in a tree structure correspond to a plurality of public key certificates, respectively, a leaf identifier indicating each leaf identifies each public key certificate, and at least one public key certificate among the public key certificates is provided. All nodes from the leaf indicated by the leaf identifier that identifies the revoked public key certificate to the root have been revoked, and a plurality of nodes constituting the tree structure have been revoked. Tree structure storage means having
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Revocation information, revocation list generating means for generating an revocation list by arranging according to the arrangement order related to the configuration of the tree structure,
Output means for outputting the generated revocation list.
The invalidity determination device,
Certificate obtaining means for obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
List acquisition means for acquiring the revocation list,
Using the revocation information arranged in the obtained revocation list, an attempt is made to construct a route from a root to the leaf, and if the leaf is included in the constructed route, the acquired disclosure An authentication system for determining that the key certificate is invalid, and determining that the obtained public key certificate is valid when the leaf is not included.
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段と
を備えることを特徴とする無効化リスト生成装置。A revocation list generation device that generates a revocation list indicating a revoked public key certificate,
A plurality of leaves in a tree structure correspond to a plurality of public key certificates, respectively, a leaf identifier indicating each leaf identifies each public key certificate, and at least one public key certificate among the public key certificates is provided. All nodes from the leaf indicated by the leaf identifier that identifies the revoked public key certificate to the root have been revoked, and a plurality of nodes constituting the tree structure have been revoked. Tree structure storage means having
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Revocation information, revocation list generating means for generating an revocation list by arranging according to the arrangement order related to the configuration of the tree structure,
Output means for outputting the generated revocation list.
前記無効化リスト生成手段は、得られた複数の無効化情報を、
ルートを起点とし、
ルート側のレイヤからリーフ側のレイヤへの順序
である前記配列順序に従って配列する
ことを特徴とする請求項2に記載の無効化リスト生成装置。The tree structure is composed of a plurality of layers,
The revocation list generation means, the obtained plurality of revocation information,
Starting from the route,
3. The revocation list generation device according to claim 2, wherein the reordering list is arranged in accordance with the arrangement order, which is the order from the root layer to the leaf layer.
ルートを起点とし、
ルートから各リーフへ至る経路上に配されるノードの順序であって、
重複して配列されない
前記配列順序に従って配列する
ことを特徴とする請求項2に記載の無効化リスト生成装置。The revocation list generation means, the obtained plurality of revocation information,
Starting from the route,
The order of nodes arranged on the route from the root to each leaf,
The revocation list generating device according to claim 2, wherein the revocation list is arranged according to the arrangement order that is not overlapped.
ことを特徴とする請求項2に記載の無効化リスト生成装置。The revocation list generation device according to claim 2, wherein the revocation list generation unit generates revocation information for all revoked nodes except for the leaf.
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成する
ことを特徴とする請求項2に記載の無効化リスト生成装置。The revocation list generation means,
Special invalidation indicating that all nodes connected to the lower side are invalidated for all invalidated nodes except for the leaf, and all nodes connected to the lower side are invalidated. Generate information,
For all invalidated nodes connected to the lower side, suppress generation of invalidation information,
3. The revocation list generating device according to claim 2, wherein revocation information indicating whether or not each of the lower nodes is revoked for other revoked nodes other than the leaf is generated.
前記無効化リスト生成手段は、
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位側に接続する全てのノードが無効化されている旨を示す第1付加情報と、下位のn個のノードのそれぞれが無効化されていることを示すn桁の情報とから構成される特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第2付加情報と、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の情報とから構成される無効化情報を生成する
ことを特徴とする請求項6に記載の無効化リスト生成装置。The tree structure is an n-ary tree, where n is an integer of 2 or more,
The revocation list generation means,
A first addition indicating that all nodes connected to the lower side of the invalidated nodes except for the leaf, in which all nodes connected to the lower side are invalidated, are invalidated. Generating special invalidation information including information and n-digit information indicating that each of the lower n nodes is invalidated,
For all invalidated nodes connected to the lower side, suppress generation of invalidation information,
For other invalidated nodes other than the leaf, second additional information indicating that all nodes connected to the lower side are not invalidated, and whether each of the lower n nodes is invalidated 7. The revocation list generation device according to claim 6, wherein revocation information including n-digit information indicating whether the revocation list is generated is generated.
前記無効化リスト生成手段は、
リーフを除き、無効化されたノードであって、下位側に接続する全てのノードが無効化されているものについて、下位のn個のノードのそれぞれが無効化されていることを示すn桁の特別値から構成される特別無効化情報を生成し、
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成を抑制し、
リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の無効化情報を生成する
ことを特徴とする請求項6に記載の無効化リスト生成装置。The tree structure is an n-ary tree, where n is an integer of 2 or more,
The revocation list generation means,
For an invalidated node excluding a leaf, in which all nodes connected to the lower side are invalidated, an n-digit number indicating that each of the lower n nodes is invalidated. Generate special invalidation information consisting of special values,
For all invalidated nodes connected to the lower side, suppress generation of invalidation information,
7. The n-digit invalidation information indicating whether or not each of the lower n nodes is invalidated for other invalidated nodes other than the leaves is generated, according to claim 6, wherein: Revocation list generator.
前記木構造は、さらに、当該木構造を構成するリーフの下位に、木構造の拡張に係る拡張規則に従って、1個以上の拡張ノードを有し、前記拡張ノードのうち最下位ノードである1個以上の拡張リーフは、それぞれ別の拡張公開鍵証明書に対応し、各拡張リーフを示す拡張リーフ識別子は、各拡張公開鍵証明書を識別する、前記拡張公開鍵証明書のうち少なくとも1個の拡張公開鍵証明書が無効化されており、無効化された拡張公開鍵証明書を識別する拡張リーフ識別子により示される拡張リーフからルートに至るまでの全てのノードは無効化されており、
前記無効化リスト生成手段は、さらに、拡張リーフを除く無効化された各拡張ノードについて、下位の拡張ノードのそれぞれが無効化されているか否かを示す拡張無効化情報を生成し、その結果複数の拡張無効化情報が得られ、得られた複数の拡張無効化情報を、前記木構造の拡張に係る拡張規則に従って配列して前記無効化リストに付加し、
前記出力手段は、拡張無効化情報が付加された前記無効化リストを出力する
ことを特徴とする請求項2に記載の無効化リスト生成装置。All nodes of the tree structure storage means are invalidated,
The tree structure further has one or more extension nodes below the leaves constituting the tree structure in accordance with an extension rule relating to the expansion of the tree structure. The above-mentioned extended leaves correspond to different extended public key certificates respectively, and the extended leaf identifier indicating each extended leaf identifies at least one of the extended public key certificates identifying the extended public key certificate. The extended public key certificate has been revoked, and all nodes from the extended leaf to the root indicated by the extended leaf identifier that identifies the revoked extended public key certificate have been revoked,
The revocation list generating means further generates, for each of the revoked extension nodes except the extension leaf, extended extension revocation information indicating whether or not each of the subordinate extension nodes is revoked, and as a result, The extended invalidation information of the obtained, a plurality of obtained extended invalidation information, arranged in accordance with the expansion rules pertaining to the expansion of the tree structure, and added to the invalidation list,
3. The revocation list generation device according to claim 2, wherein the output unit outputs the revocation list to which extended revocation information is added.
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、
木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段と、
生成した無効化リストを出力する出力手段と
を備えることを特徴とする無効化リスト生成装置。A revocation list generation device that generates a revocation list indicating a revoked public key certificate,
A plurality of leaves having a tree structure correspond to a plurality of public key certificates, respectively. A leaf identifier indicating each leaf identifies each public key certificate, and any of the public key certificates is invalidated. All the nodes are not invalidated, tree structure storage means having a plurality of nodes constituting the tree structure,
Revocation list generation means for determining that all nodes constituting the tree structure have not been revoked, and generating a revocation list indicating that the revoked public key certificate does not exist;
Output means for outputting the generated revocation list.
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定装置は、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定手段と
を備えることを特徴とする無効判定装置。Using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether the obtained public key certificate is invalid, and the corresponding public key is determined when the obtained public key certificate is determined to be invalid. An invalidation determination device that suppresses use of a key,
The revocation list generation device has a plurality of nodes forming a tree structure, a plurality of leaves in the tree structure respectively correspond to a plurality of public key certificates, and a leaf identifier indicating each leaf is a public key. Identifying a certificate, wherein at least one of the public key certificates has been revoked, from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root. Are invalidated, and for each invalidated node except the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, multiple invalidations are performed. Information is obtained, a plurality of obtained revocation information is arranged according to the arrangement order according to the configuration of the tree structure to generate a revocation list, and the generated revocation list is output,
The invalidity determination device,
Certificate obtaining means for obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
List acquisition means for acquiring the revocation list,
Using the revocation information arranged in the obtained revocation list, an attempt is made to construct a route from a root to the leaf, and if the leaf is included in the constructed route, the acquired disclosure An invalidity judging device comprising: judging means for judging that a key certificate is invalid, and judging that the obtained public key certificate is valid when the leaf is not included.
前記無効化情報は、
ルートを起点とし、
ルート側のレイヤからリーフ側のレイヤへの順序
である前記配列順序に従って配列され、
前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項11に記載の無効判定装置。The tree structure is composed of a plurality of layers,
The invalidation information includes:
Starting from the route,
Are arranged according to the arrangement order, which is the order from the root layer to the leaf layer,
12. The method according to claim 11, wherein the determining unit constructs the path using the plurality of pieces of revocation information arranged according to the arrangement order, and determines whether the obtained public key certificate is invalid. Invalidity determination device.
ルートを起点とし、
ルートから各リーフへ至る経路上に配されるノードの順序であって、
重複して配列されない
前記配列順序に従って配列され、
前記判定手段は、前記配列順序に従って配列された前記複数の無効化情報を用いて、前記経路を構築し、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項11に記載の無効判定装置。The invalidation information includes:
Starting from the route,
The order of nodes arranged on the route from the root to each leaf,
Arranged in accordance with the above-mentioned sequence order that is not arranged redundantly,
12. The method according to claim 11, wherein the determining unit constructs the path using the plurality of pieces of revocation information arranged according to the arrangement order, and determines whether the obtained public key certificate is invalid. Invalidity determination device.
前記判定手段は、前記複数の無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項11に記載の無効判定装置。Invalidation information is generated for all invalidated nodes except for the leaf,
The invalidation determination apparatus according to claim 11, wherein the determination unit determines whether the acquired public key certificate is invalid by using the plurality of pieces of revocation information.
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示す無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項11に記載の無効判定装置。Special invalidation indicating that all nodes connected to the lower side are invalidated for all invalidated nodes except for the leaf, and all nodes connected to the lower side are invalidated. Information is generated,
For all the invalidated nodes connected to the lower side, generation of invalidation information is suppressed,
For other invalidated nodes other than the leaf, invalidation information indicating whether or not each of the lower n nodes is invalidated is generated,
12. The invalidation determination apparatus according to claim 11, wherein the determination unit determines the invalidation of the obtained public key certificate using the special revocation information and the revocation information.
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位側に接続する全てのノードが無効化されていない旨を示す第2付加情報と、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の情報とから構成される無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項15に記載の無効判定装置。A first addition indicating that all nodes connected to the lower side of the invalidated nodes except for the leaf, in which all nodes connected to the lower side are invalidated, are invalidated. Special invalidation information composed of information and n-digit information indicating that each of the lower n nodes is invalidated is generated,
For all the invalidated nodes connected to the lower side, generation of invalidation information is suppressed,
For other invalidated nodes other than the leaf, second additional information indicating that all nodes connected to the lower side are not invalidated, and whether each of the lower n nodes is invalidated And n-digit information indicating whether the invalidation information is generated.
16. The invalidation determination apparatus according to claim 15, wherein the determination unit determines whether the obtained public key certificate is invalid using the special revocation information and the revocation information.
前記下位側に接続する全ての無効化されたノードについて、無効化情報の生成が抑制され、
リーフを除く他の無効化されたノードについて、下位のn個のノードのそれぞれが無効化されているか否かを示すn桁の無効化情報が生成され、
前記判定手段は、前記特別無効化情報及び前記無効化情報を用いて、取得した前記公開鍵証明書の無効を判断する
ことを特徴とする請求項15に記載の無効判定装置。For an invalidated node excluding a leaf, in which all nodes connected to the lower side are invalidated, an n-digit number indicating that each of the lower n nodes is invalidated. Special invalidation information consisting of special values is generated,
For all the invalidated nodes connected to the lower side, generation of invalidation information is suppressed,
For other invalidated nodes other than the leaf, n-digit invalidation information indicating whether or not each of the lower n nodes is invalidated is generated,
16. The invalidation determination apparatus according to claim 15, wherein the determination unit determines whether the obtained public key certificate is invalid using the special revocation information and the revocation information.
前記証明書取得手段は、さらに、前記木構造の1個の拡張リーフを示す拡張リーフ識別子により識別される拡張公開鍵証明書を取得し、
前記リスト取得手段は、拡張無効化情報が付加された前記無効化リストを取得し、
前記判定手段は、さらに、取得した前記無効化リスト内に配列されている前記拡張無効化情報を用いて、ルートから前記拡張リーフに至る経路の構築を試み、構築された経路内に前記拡張リーフが含まれる場合に、取得した前記拡張公開鍵証明書が無効であると判断し、前記拡張リーフが含まれない場合に、取得した前記拡張公開鍵証明書が有効であると判断する
ことを特徴とする請求項11に記載の無効判定装置。All nodes of the revocation list generation device are revoked, and the tree structure further includes one or more nodes below a leaf configuring the tree structure according to an expansion rule related to expansion of the tree structure. One or more extension leaves that are extension nodes and are the lowest nodes among the extension nodes correspond to different extension public key certificates, and an extension leaf identifier indicating each extension leaf is an extension public key certificate. At least one extended public key certificate among the extended public key certificates for identifying a certificate has been revoked, and from an extended leaf indicated by an extended leaf identifier for identifying the revoked extended public key certificate. All nodes up to the root are invalidated, and the revocation list generation device further includes a lower extended node for each invalidated extended node except the extended leaf. Are generated, indicating whether or not each of them is invalidated.As a result, a plurality of extended invalidation information is obtained, and the obtained plurality of extended invalidation information is related to the extension of the tree structure. Arranged according to the extension rule and added to the revocation list, output the revocation list with extended revocation information added,
The certificate obtaining means further obtains an extended public key certificate identified by an extended leaf identifier indicating one extended leaf of the tree structure,
The list acquisition unit acquires the revocation list to which extended revocation information is added,
The determining unit further attempts to construct a route from a root to the extended leaf using the extended invalidation information arranged in the acquired revocation list, and further includes an extension leaf in the constructed route. Is included, the acquired extended public key certificate is determined to be invalid, and if the extended leaf is not included, the acquired extended public key certificate is determined to be valid. The invalidity judging device according to claim 11, wherein:
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定装置は、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得手段と、
前記無効化リストを取得するリスト取得手段と、
取得した前記無効化リストを用いて、公開鍵証明書が無効化されていないと判断する判定手段と
を備えることを特徴とする無効判定装置。Using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether the obtained public key certificate is invalid, and the corresponding public key is determined when the obtained public key certificate is determined to be invalid. An invalidation determination device that suppresses use of a key,
The revocation list generation device has a plurality of nodes forming a tree structure, a plurality of leaves in the tree structure respectively correspond to a plurality of public key certificates, and a leaf identifier indicating each leaf is a public key. Identify the certificate, none of the public key certificates has been revoked, all nodes have not been revoked, and all nodes constituting the tree structure have not been revoked. Judge, generate a revocation list indicating that the revoked public key certificate does not exist, output the generated revocation list,
The invalidity determination device,
Certificate obtaining means for obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
List acquisition means for acquiring the revocation list,
A determination unit configured to determine that the public key certificate has not been revoked using the obtained revocation list.
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化され、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成方法は、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップと
を含むことを特徴とする無効化リスト生成方法。A revocation list generation method used in a revocation list generation device that generates a revocation list indicating a revoked public key certificate,
In the revocation list generation device, a plurality of leaves having a tree structure respectively correspond to a plurality of public key certificates, a leaf identifier indicating each leaf identifies each public key certificate, At least one of the public key certificates is revoked, and all nodes from the leaf to the root indicated by the leaf identifier identifying the revoked public key certificate are revoked, and the tree structure Tree storage means having a plurality of nodes constituting
The revocation list generation method includes:
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Invalidation information, an invalidation list generating step of arranging according to the arrangement order according to the configuration of the tree structure to generate an invalidation list,
An output step of outputting the generated revocation list.
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成プログラムは、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップと
を含むことを特徴とする無効化リスト生成プログラム。A revocation list generation program used in a revocation list generation device that generates a revocation list indicating a revoked public key certificate,
In the revocation list generation device, a plurality of leaves having a tree structure respectively correspond to a plurality of public key certificates, a leaf identifier indicating each leaf identifies each public key certificate, At least one of the public key certificates has been revoked, and all nodes from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root have been revoked; A tree structure storage unit having a plurality of nodes forming a tree structure,
The revocation list generation program includes:
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Invalidation information, an invalidation list generating step of arranging according to the arrangement order according to the configuration of the tree structure to generate an invalidation list,
And an output step of outputting the generated revocation list.
前記無効化リスト生成装置は、木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段を備え、
前記無効化リスト生成プログラムは、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成ステップと、
生成した無効化リストを出力する出力ステップとを含む
ことを特徴とする記録媒体。A computer-readable recording medium recording a revocation list generation program used in a revocation list generation device that generates a revocation list indicating a revoked public key certificate,
In the revocation list generation device, a plurality of leaves having a tree structure respectively correspond to a plurality of public key certificates, a leaf identifier indicating each leaf identifies each public key certificate, At least one of the public key certificates has been revoked, and all nodes from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root have been revoked; A tree structure storage unit having a plurality of nodes forming a tree structure,
The revocation list generation program includes:
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Invalidation information, an invalidation list generating step of arranging according to the arrangement order according to the configuration of the tree structure to generate an invalidation list,
An output step of outputting the generated revocation list.
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定方法は、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップと
を含むことを特徴とする無効判定方法。Using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether the obtained public key certificate is invalid, and the corresponding public key is determined when the obtained public key certificate is determined to be invalid. An invalidation determination method used in an invalidation determination device that suppresses use of a key,
The revocation list generation device has a plurality of nodes forming a tree structure, a plurality of leaves in the tree structure respectively correspond to a plurality of public key certificates, and a leaf identifier indicating each leaf is a public key. Identifying a certificate, wherein at least one of the public key certificates has been revoked, from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root. Are invalidated, and for each invalidated node except the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, multiple invalidations are performed. Information is obtained, a plurality of obtained revocation information is arranged according to the arrangement order according to the configuration of the tree structure to generate a revocation list, and the generated revocation list is output,
The invalidity determination method includes:
A certificate obtaining step of obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
A list acquisition step of acquiring the revocation list,
Using the revocation information arranged in the obtained revocation list, an attempt is made to construct a route from a root to the leaf, and if the leaf is included in the constructed route, the acquired disclosure Determining that the key certificate is invalid and, if the leaf is not included, determining that the obtained public key certificate is valid.
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定プログラムは、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップと
を含むことを特徴とする無効判定プログラム。Using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether the obtained public key certificate is invalid, and the corresponding public key is determined when the obtained public key certificate is determined to be invalid. An invalidation determination program used in an invalidation determination device that suppresses use of a key,
The revocation list generation device has a plurality of nodes forming a tree structure, a plurality of leaves in the tree structure respectively correspond to a plurality of public key certificates, and a leaf identifier indicating each leaf is a public key. Identifying a certificate, wherein at least one of the public key certificates has been revoked, from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root. Are invalidated, and for each invalidated node except the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, multiple invalidations are performed. Information is obtained, a plurality of obtained revocation information is arranged according to the arrangement order according to the configuration of the tree structure to generate a revocation list, and the generated revocation list is output,
The invalidity determination program includes:
A certificate obtaining step of obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
A list acquisition step of acquiring the revocation list,
Using the revocation information arranged in the obtained revocation list, an attempt is made to construct a route from a root to the leaf, and if the leaf is included in the constructed route, the acquired disclosure A determining step of determining that the key certificate is invalid, and determining that the acquired public key certificate is valid when the leaf is not included.
前記無効化リスト生成装置は、木構造を構成する複数のノードを有し、木構造の複数のリーフは、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成し、生成した無効化リストを出力し、
前記無効判定プログラムは、
前記木構造の1個のリーフを示すリーフ識別子により識別される公開鍵証明書を取得する証明書取得ステップと、
前記無効化リストを取得するリスト取得ステップと、
取得した前記無効化リスト内に配列されている前記無効化情報を用いて、ルートから前記リーフに至る経路の構築を試み、構築された経路内に前記リーフが含まれる場合に、取得した前記公開鍵証明書が無効であると判断し、前記リーフが含まれない場合に、取得した前記公開鍵証明書が有効であると判断する判定ステップとを含む
ことを特徴とする記録媒体。Using the revocation list indicating the revoked public key certificate generated by the revocation list generation device, it is determined whether the obtained public key certificate is invalid, and the corresponding public key is determined when the obtained public key certificate is determined to be invalid. A computer-readable recording medium recording an invalidation determination program used in an invalidation determination device that suppresses use of a key,
The revocation list generation device has a plurality of nodes forming a tree structure, a plurality of leaves in the tree structure respectively correspond to a plurality of public key certificates, and a leaf identifier indicating each leaf is a public key. Identifying a certificate, wherein at least one of the public key certificates has been revoked, from the leaf indicated by the leaf identifier identifying the revoked public key certificate to the root. Are invalidated, and for each invalidated node except the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, multiple invalidations are performed. Information is obtained, a plurality of obtained revocation information is arranged according to the arrangement order according to the configuration of the tree structure to generate a revocation list, and the generated revocation list is output,
The invalidity determination program includes:
A certificate obtaining step of obtaining a public key certificate identified by a leaf identifier indicating one leaf of the tree structure;
A list acquisition step of acquiring the revocation list,
Using the revocation information arranged in the obtained revocation list, an attempt is made to construct a route from a root to the leaf, and if the leaf is included in the constructed route, the acquired disclosure A determination step of determining that the key certificate is invalid and determining that the obtained public key certificate is valid when the leaf is not included.
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうち少なくとも1個の公開鍵証明書が無効化されており、無効化された公開鍵証明書を識別するリーフ識別子により示されるリーフからルートに至るまでの全てのノードは無効化されており、前記木構造を構成する複数のノードを有する木構造記憶手段と、
リーフを除く無効化された各ノードについて、下位のノードのそれぞれが無効化されているか否かを示す無効化情報を生成し、その結果複数の無効化情報が得られ、得られた複数の無効化情報を、前記木構造の構成に係る配列順序に従って配列して無効化リストを生成する無効化リスト生成手段とを備え、
前記記録媒体は、生成された前記無効化リストを記録している
ことを特徴とする記録媒体。A computer-readable recording medium recording a revocation list indicating a revoked public key certificate generated by a revocation list generation device,
The revocation list generation device,
A plurality of leaves in a tree structure correspond to a plurality of public key certificates, respectively, a leaf identifier indicating each leaf identifies each public key certificate, and at least one public key certificate among the public key certificates is provided. All nodes from the leaf indicated by the leaf identifier that identifies the revoked public key certificate to the root have been revoked, and a plurality of nodes constituting the tree structure have been revoked. Tree structure storage means having
For each invalidated node excluding the leaf, invalidation information indicating whether each of the lower nodes is invalidated is generated, and as a result, a plurality of invalidation information is obtained, and the obtained invalidation information is obtained. Revocation information, revocation list generating means for generating a revocation list by arranging according to the arrangement order related to the configuration of the tree structure,
The recording medium, wherein the generated revocation list is recorded.
前記無効化リスト生成装置は、
木構造の複数のリーフが、それぞれ複数の公開鍵証明書に対応し、各リーフを示すリーフ識別子は、各公開鍵証明書を識別し、前記公開鍵証明書のうちいずれも無効化されておらず、全てのノードは、無効化されておらず、前記木構造を構成する複数のノードを有する木構造記憶手段と、
木構造を構成する全てのノードは、無効化されていないと判断し、無効化された公開鍵証明書が存在しないことを示す無効化リストを生成する無効化リスト生成手段とを備え、
前記記録媒体は、生成された前記無効化リストを記録している
ことを特徴とする記録媒体。A computer-readable recording medium recording a revocation list indicating a revoked public key certificate generated by a revocation list generation device,
The revocation list generation device,
A plurality of leaves having a tree structure correspond to a plurality of public key certificates, respectively. A leaf identifier indicating each leaf identifies each public key certificate, and any of the public key certificates is invalidated. All the nodes are not invalidated, tree structure storage means having a plurality of nodes constituting the tree structure,
All nodes constituting the tree structure are provided with revocation list generation means for determining that the revocation has not been performed and generating a revocation list indicating that the revoked public key certificate does not exist;
The recording medium, wherein the generated revocation list is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003120629A JP4383084B2 (en) | 2002-05-09 | 2003-04-24 | Public key certificate revocation list generation device, revocation determination device, and authentication system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002134647 | 2002-05-09 | ||
JP2003120629A JP4383084B2 (en) | 2002-05-09 | 2003-04-24 | Public key certificate revocation list generation device, revocation determination device, and authentication system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004032707A true JP2004032707A (en) | 2004-01-29 |
JP4383084B2 JP4383084B2 (en) | 2009-12-16 |
Family
ID=31190197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003120629A Expired - Fee Related JP4383084B2 (en) | 2002-05-09 | 2003-04-24 | Public key certificate revocation list generation device, revocation determination device, and authentication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4383084B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008535440A (en) * | 2005-04-06 | 2008-08-28 | サムスン エレクトロニクス カンパニー リミテッド | Method and apparatus for determining discard key and method and apparatus for decryption using the same |
JP4856063B2 (en) * | 2004-06-04 | 2012-01-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Authentication method for authenticating the first party to the second party |
JP5952266B2 (en) * | 2011-04-22 | 2016-07-13 | パナソニック株式会社 | Invalidation list generation device, invalidation list generation method, and content management system |
-
2003
- 2003-04-24 JP JP2003120629A patent/JP4383084B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4856063B2 (en) * | 2004-06-04 | 2012-01-18 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Authentication method for authenticating the first party to the second party |
US9898591B2 (en) | 2004-06-04 | 2018-02-20 | Koninklijke Philips N.V. | Authentication method for authenticating a first party to a second party |
JP2008535440A (en) * | 2005-04-06 | 2008-08-28 | サムスン エレクトロニクス カンパニー リミテッド | Method and apparatus for determining discard key and method and apparatus for decryption using the same |
JP5952266B2 (en) * | 2011-04-22 | 2016-07-13 | パナソニック株式会社 | Invalidation list generation device, invalidation list generation method, and content management system |
Also Published As
Publication number | Publication date |
---|---|
JP4383084B2 (en) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1510036B1 (en) | Public key certificate revocation list generation apparatus, revocation judgement apparatus, and authentication system | |
CN101167300B (en) | Information security device | |
US7224804B2 (en) | Information processing device, information processing method, and program storage medium | |
TWI244584B (en) | Data processing system, data processing method, and program providing medium | |
US8144869B2 (en) | Content protection system, key data generation apparatus, and terminal apparatus | |
JP5657639B2 (en) | Controller incorporated in recording medium apparatus, recording medium apparatus, recording medium apparatus manufacturing system, and recording medium apparatus manufacturing method | |
EP2330533A1 (en) | Recording/reproducing system, recording medium device, and recording/reproducing device | |
US20070098177A1 (en) | Information processing system and method | |
JP2001352321A (en) | Information processing system, information processing method, and information recording medium, and program providing medium | |
JP2002198948A (en) | System, method, and device for processing information, information recording medium, and program recording medium | |
JPH10106148A (en) | Ciphering method, decoding method, recording and reproducing device, decoding device, decoding unit device, recording medium, manufacture of recording medium and method of managing key | |
JP2002198950A (en) | System and method for processing information, and program recording medium | |
JP2001358707A (en) | Information processing system and method using cryptographic key block and program providing medium | |
EP1464139A2 (en) | Digital work protection system, key management apparatus, and user apparatus | |
WO2001099331A1 (en) | System and method for processing information using encryption key block | |
JP2002077131A (en) | Information processing system, information processing method, information recording medium and program providing medium | |
KR20050034639A (en) | Region restrictive playback system | |
JP4383084B2 (en) | Public key certificate revocation list generation device, revocation determination device, and authentication system | |
JP4220213B2 (en) | Copyright protection system, key management device and user device | |
JP2001358705A (en) | Information processing system and method using cryptographic key block and program providing medium | |
JP2003204321A (en) | Literary work protective system and key management system | |
JP2004229128A (en) | Encryption data distribution system, information processor and information processing method, and computer program | |
JP2004118830A (en) | Limited-regional reproducing system | |
WO2004114584A1 (en) | Copyright protection system, power residue calculation device, and method | |
JP2005012786A (en) | Copyright protecting system, exponentiation/remainder arithmetic device, arithmetic device, key management device, reproducing device, recording device, record medium, exponentiation remainder arithmetic method, arithmetic method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090805 |
|
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: 20090825 |
|
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: 20090918 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4383084 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |