(57)【要約】【課題】データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができないこととする、制限付データ作成装置を提供する。【解決手段】制限付データ作成装置１００は、利用時限又は利用回数制限が課された制限付データを作成する。制限付データ作成装置１００は、利用時限又は利用回数制限を示す制限情報に合った制限鍵を、制限鍵を生成する制限鍵生成装置に要求し、入手する制限鍵入手部１０３と、制限鍵を用いて、制限付データを暗号化する暗号部１０１と、暗号化された制限付データを、制限付データを利用する制限付データ利用装置へ送信する入出力部１０２とを備える。【選択図】図１
2006227837.tif 000002
【特許請求の範囲】
【請求項１】
利用時限又は利用回数制限が課された制限付データを作成する制限付データ作成装置であって、
利用時限又は利用回数制限を示す制限情報に合った制限鍵を、前記制限鍵を生成する制限鍵生成装置に要求し、入手する制限鍵入手部と、
前記制限鍵を用いて、前記制限付データを暗号化する暗号化部と、
暗号化された制限付データを、前記制限付データを利用する制限付データ利用装置へ送信する入出力部と
を備えることを特徴とする制限付データ作成装置。
【請求項２】
前記制限情報は、前記制限付データの利用時限を絶対時限で定めた情報であり、
前記制限鍵入手部は、時差変数を用いて、前記絶対時限を前記制限鍵生成装置の時計を基準とする絶対時限に変換し、当該変換された絶対時限と、前記制限付データ固有の値である固有値と、前記絶対時限を規定する時計の世代を表す世代変数の値である世代値とをパラメータとし、前記制限鍵を前記制限鍵生成装置に要求することを特徴とする請求項１に記載の制限付データ作成装置。
【請求項３】
前記制限情報は、前記制限付データの利用時限を相対時限で定めた情報であり、
前記制限鍵入手部は、前記相対時限と、前記制限付データの固有の値である固有値とをパラメータとし、前記制限付データの利用期限の絶対時限、前記絶対時限を規定する時計の世代を表す世代値及び前記制限鍵を前記制限鍵生成装置に要求することを特徴とする請求項１に記載の制限付データ作成装置。
【請求項４】
前記制限情報は、前記制限付データの利用回数制限を定めた情報であり、
前記制限鍵入手部は、前記利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、前記仮想カウンタの世代を表す世代変数の値である世代値とをパラメータとし、前記制限鍵を前記制限鍵生成装置に要求することを特徴とする請求項１に記載の制限付データ作成装置。
【請求項５】
利用時限又は利用回数制限が課された制限付データを利用する制限付データ利用装置であって、
前記制限付データを作成する制限付データ作成装置によって暗号化された制限付データを記憶する記憶部と、
利用時限又は利用回数制限を示す制限情報に合った制限鍵を、前記制限鍵を生成する制限鍵生成装置に要求し、前記制限鍵によって前記暗号化された制限付データを復号する復号部と、
復号された制限付データを利用する利用部と
を備えることを特徴とする制限付データ利用装置。
【請求項６】
前記制限情報は、前記制限付データの利用時限を絶対時限で定めた情報であり、
前記復号部は、前記利用時限と、前記制限付データ固有の値である固有値と、前記絶対時限を規定する時計の世代を表す世代値とをパラメータとし、前記制限鍵を前記制限鍵生成装置に要求することを特徴とする請求項５に記載の制限付データ利用装置。
【請求項７】
前記制限情報は、前記制限付データの利用回数制限を定めた情報であり、
前記制限鍵入手部は、前記利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、前記仮想カウンタの世代を表す世代値とをパラメータとし、前記制限鍵を前記制限鍵生成装置に要求することを特徴とする請求項５に記載の制限付データ利用装置。
【請求項８】
利用時限又は利用回数制限が課された制限付データを作成する制限付データ作成装置、あるいは、前記制限付データを利用する制限付データ利用装置から、利用時限又は利用回数制限を示す制限情報に合った制限鍵の要求を受信する入出力部と、
マスター鍵を記憶する記憶部と、
前記マスター鍵と前記制限情報とに依存する制限鍵を計算するハッシュ計算部と
を備えることを特徴とする制限鍵生成装置。
【請求項９】
前記制限情報は、前記制限付データの利用時限を絶対時限で定めた情報であり、
２つの時刻の前後関係及び２つの世代値の一致を判断する比較部と、
現在時刻及び世代変数を備える時計部とを更に備え、
前記絶対時限と、前記制限付データ固有の値である固有値と、世代値とをパラメータとする制限鍵の要求を受けた場合、
前記比較部は、前記パラメータの世代値と、前記時計部の世代変数の値が等しく、かつ、前記パラメータの絶対時限が前記時計部の現在時刻より未来の値であるという条件が成立するか否かを判断し、
当該条件が成立する場合、前記ハッシュ計算部は、前記マスター鍵と、前記絶対時限と、前記固有値に依存するハッシュ値である制限鍵を計算することを特徴とする請求項８に記載の制限鍵生成装置。
【請求項１０】
前記制限情報は、前記制限付データの利用時限を相対時限で定めた情報であり、
現在時刻及び世代変数を備える時計部を更に備え、
前記相対時限と、前記制限付データ固有の値である固有値とをパラメータとし、絶対時限と世代値と、前記制限鍵の要求を受けた場合、
前記ハッシュ計算部は、前記マスター鍵と、前記パラメータの相対時限に前記時計部の提供する現在時刻を加えた値と、前記固有値に依存するハッシュ値である制限鍵を計算することを特徴とする請求項８に記載の制限鍵生成装置。
【請求項１１】
前記制限情報は、前記制限付データの利用回数制限を定めた情報であり、
２つの値の大小関係及び２つの世代値の一致を判断する比較部と、
仮想カウンタ欄と値欄と世代欄とを持つ表であるカウンタ表及び世代変数とを備えるカウンタ部とを更に備え、
前記利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、前記仮想カウンタの世代を表す世代値とをパラメータとする制限鍵の要求を受けた場合、
前記カウンタ部は、前記カウンタ表にて前記パラメータの仮想カウンタ指定値に対応付けられている行の値欄の値と世代欄の値を読み出し、
前記比較部は、前記パラメータの世代値と、前記世代欄の値が等しく、かつ、前記パラメータの利用回数制限が前記値欄の値よりも大きいという条件が成立するか否かを判断し、
当該条件が成立する場合、前記ハッシュ計算部は、前記マスター鍵と、前記利用回数制限と、前記パラメータの仮想カウンタ指定値に依存するハッシュ値である制限鍵を計算することを特徴とする請求項８に記載の制限鍵生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制限付データ作成装置、制限付データ利用装置及び制限鍵生成装置に関する。
【背景技術】
【０００２】
音楽、映像、コンピュータプログラムなどのデータは、その著作権者などにより利用（すなわち、音楽や映像なら再生すること、コンピュータプログラムならば実行すること）に際して制限が課されることがある。
【０００３】
例えば、何回まで利用可能とする利用回数制限や、どの日時まで利用可能とする利用時限がある。このような制限の課されたデータである制限付データを、その制限を守って利用するための技術が開示されている（例えば、特許文献１参照。）。
【０００４】
特許文献１では、ＡＶ（音声・映像）データをテープなどの記録媒体に記録する録画装置と、記録媒体からＡＶデータを読み出し利用する再生装置とに関する技術が開示されている。録画装置は、ＡＶデータを暗号化して記録媒体に記録し、その暗号化に用いた暗号鍵をＦＩＦＯ（ファースト・イン・ファースト・アウト）などの格納手段に記憶する。再生装置は、記録媒体に記録された暗号化されたＡＶデータを読み出し、そのＡＶデータに対応する暗号鍵を格納手段から読み出してＡＶデータを復号して利用する。
【０００５】
従来技術の実施形態の１つ（便宜上、従来技術の第１の実施形態と呼ぶ）では、録画装置がＡＶデータを暗号化する際に用いる暗号鍵はＡＶデータを記録するごとに新しい鍵に更新、あるいは１日間などある一定期間は同じものを用い、期間が過ぎると新しい鍵に更新する。そして、暗号鍵を更新するごとに新たな暗号鍵を格納手段に記憶させる。又、記憶した暗号鍵のうち、１週間などある一定期間経過したものを格納手段が消去することにより、再生装置が暗号鍵を入手できなくなりＡＶデータを復号し利用することができなくなる。さらに、再生装置がＡＶデータを利用した回数を数えるカウンタを備え、それが指定した数を超えたときに格納手段がそのＡＶデータに対応する暗号鍵を廃棄することにより、再生装置が暗号鍵を入手できなくなりＡＶデータを復号し利用することができなくなる。
【０００６】
従来技術の別の実施形態（便宜上、従来技術の第２実施形態と呼ぶ）では、従来技術の第１実施形態と同等であるが、格納手段が暗号鍵を廃棄する代わりに、暗号鍵を格納手段から取得する暗号鍵取得手段が、利用しようとするＡＶデータが一定期間内であるか、あるいは制限回数以内であるかを判断して格納手段から暗号鍵を取得するかどうかを決める。
【特許文献１】特開平１１−２３２７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来技術における第１の問題点は、データ利用の制限が、利用期間が１週間というように固定的であるということである。このため、データ毎に異なる制限を課すことはできない。
【０００８】
又、第２の問題点は、ハードウェア的に信号を読み取る、あるいは操作することにより内部状態を読み取る、あるいは書き換えるような、いわゆるタンパー行為への対策が考慮されていないことである。このため、データ利用の制限に達した後のタンパー行為により、利用できなくなったはずのデータが利用可能となる場合がある。又、タンパー行為に対する防御策の実施が困難となる。
【０００９】
例えば、従来技術の第２実施形態はデータ利用の制限に達しても格納手段の記憶する暗号鍵は廃棄されない。このため、データ利用の制限に達した後であっても、タンパー行為により格納手段から暗号鍵を取得することが可能であり、ＡＶデータを復号し利用することができてしまう。これに対する対策としては、格納手段を含む部分を耐タンパー化することが考えられるが、格納手段は暗号鍵を廃棄しないため、格納手段には大きな記憶容量が求められる。よって、タンパー行為に対する防御策として典型的なワンチップ化が困難となる。他方、従来技術の第１実施形態では、データ利用の制限に達すると格納手段の記憶する暗号鍵を廃棄する。しかし、複数のＡＶデータを同じ暗号鍵で暗号化しておくと、１つのＡＶデータが利用制限に達すると暗号鍵が廃棄されてしまうため、利用制限にまだ達していないＡＶデータまでが利用できなくなってしまう。そのため、実用的には個々のＡＶデータは固有の暗号鍵を用いて暗号化し、格納手段に記憶しておく必要があるが、その場合には格納手段に記憶する鍵の数が多くなるため格納手段に求められる記憶容量が大きくなる。よって、タンパー行為に対する防御策として典型的なワンチップ化が困難となる。
【００１０】
そこで、本発明は、上記の課題に鑑み、データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができないこととする、制限付データ作成装置、制限付データ利用装置及び制限鍵生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の第１の特徴は、利用時限又は利用回数制限が課された制限付データを作成する制限付データ作成装置であって、（ａ）利用時限又は利用回数制限を示す制限情報に合った制限鍵を、制限鍵を生成する制限鍵生成装置に要求し、入手する制限鍵入手部と、（ｂ）制限鍵を用いて、制限付データを暗号化する暗号化部と、（ｃ）暗号化された制限付データを、制限付データを利用する制限付データ利用装置へ送信する入出力部とを備える制限付データ作成装置であることを要旨とする。
【００１２】
第１の特徴に係る制限付データ作成装置によると、データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができない構成とすることができる。
【００１３】
又、第１の特徴に係る制限付データ作成装置において、制限情報は、制限付データの利用時限を絶対時限で定めた情報であり、制限鍵入手部は、時差変数を用いて、絶対時限を制限鍵生成装置の時計を基準とする絶対時限に変換し、当該変換された絶対時限と、制限付データ固有の値である固有値と、絶対時限を規定する時計の世代を表す世代変数の値である世代値とをパラメータとし、制限鍵を制限鍵生成装置に要求してもよい。ここで「世代」とは、対象となるものの連続性が失われた場合に変化する値を指す。すなわち「時計の世代」とは、時計を合わせ直したり、異なる時計に入れ替わったりした場合に変化する値のことである。
【００１４】
この制限付データ作成装置によると、指定された処理対象データの絶対時刻による利用時限以降は入手できなくなる制限鍵を制限付データ作成装置から入手することができる。この制限鍵を用いて指定された利用時限以降は復号できなくなる暗号化データを作成することができる。
【００１５】
又、第１の特徴に係る制限付データ作成装置において、制限情報は、制限付データの利用時限を相対時限で定めた情報であり、制限鍵入手部は、相対時限と、制限付データの固有の値である固有値とをパラメータとし、制限付データの利用期限の絶対時限、絶対時限を規定する時計の世代を表す世代値及び制限鍵を制限鍵生成装置に要求してもよい。
【００１６】
この制限付データ作成装置によると、指定された処理対象データの相対時刻による利用時限以降は入手できなくなる制限鍵を制限付データ利用装置から入手することができる。この制限鍵を用いて指定された利用時限以降は復号できなくなる暗号化データを作成することができる。
【００１７】
又、第１の特徴に係る制限付データ作成装置において、制限情報は、制限付データの利用回数制限を定めた情報であり、制限鍵入手部は、利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、仮想カウンタの世代を表す世代変数の値である世代値とをパラメータとし、制限鍵を制限鍵生成装置に要求してもよい。上述したように、「世代」とは、対象となるものの連続性が失われた場合に、変化する値を指す。すなわち「仮想カウンタの世代」とは、仮想カウンタの計数の連続性が失われ実質的に異なるカウンタになった場合に変化する値のことである。
【００１８】
この制限付データ作成装置によると、指定された処理対象データの利用回数を超えて利用しようとした時には入手できなくなる回数制限鍵を制限付データ利用装置から入手することができる。この回数制限鍵を用いて指定された回数制限だけ利用した以降は復号できなくなる暗号化データを作成することができる。
【００１９】
本発明の第２の特徴は、利用時限又は利用回数制限が課された制限付データを利用する制限付データ利用装置であって、（ａ）制限付データを作成する制限付データ作成装置によって暗号化された制限付データを記憶する記憶部と、（ｂ）利用時限又は利用回数制限を示す制限情報に合った制限鍵を、制限鍵を生成する制限鍵生成装置に要求し、制限鍵によって暗号化された制限付データを復号する復号部と、（ｃ）復号された制限付データを利用する利用部とを備える制限付データ利用装置であることを要旨とする。
【００２０】
第２の特徴に係る制限付データ利用装置によると、データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができない構成とすることができる。
【００２１】
又、第２の特徴に係る制限付データ利用装置において、制限情報は、制限付データの利用時限を定めた情報であり、復号部は、利用時限と、制限付データ固有の値である固有値と、絶対時限を規定する時計の世代を表す世代変数の値である世代値とをパラメータとし、制限鍵を制限鍵生成装置に要求してもよい。
【００２２】
この制限付データ利用装置によると、制限付データ作成装置から送付された時限付データである制限付データを記憶部に記憶しておき、後刻それを読み出して、制限鍵生成装置が時限付データ中の情報から再生した制限鍵により同じく時限付データ中の暗号化された処理対象データを復号し、利用することができる。ただし、利用時限以降は、制限鍵生成装置は処理対象データを正常に復号できる制限鍵は再生成しなくなるため、それ以降の処理対象データの利用は不可能となり、利用時限が守られる。
【００２３】
又、第２の特徴に係る制限付データ利用装置において、制限情報は、制限付データの利用回数制限を定めた情報であり、制限鍵入手部は、利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、仮想カウンタの世代を表す世代変数の値である世代値とをパラメータとし、制限鍵を制限鍵生成装置に要求してもよい。
【００２４】
この制限付データ利用装置によると、制限付データ作成装置から送付された回数制限付データである制限付データを記憶部に記憶しておき、後刻それを読み出して、制限鍵生成装置が時限付データ中の情報から再生成した回数制限鍵により同じく回数制限付データ中の暗号化された処理対象データを復号し、利用することができる。ただし、回数制限だけ利用した以降は、制限鍵生成装置は処理対象データを正常に復号できる回数制限鍵は再生成しなくなるため、それ以降の処理対象データの利用は不可能となり、利用回数制限が守られる。
【００２５】
本発明の第３の特徴は、（ａ）利用時限又は利用回数制限が課された制限付データを作成する制限付データ作成装置、あるいは、制限付データを利用する制限付データ利用装置から、利用時限又は利用回数制限を示す制限情報に合った制限鍵の要求を受信する入出力部と、（ｂ）マスター鍵を記憶する記憶部と、（ｃ）マスター鍵と制限情報とに依存する制限鍵を計算するハッシュ計算部とを備える制限鍵生成装置であることを要旨とする。
【００２６】
第３の特徴に係る制限鍵生成装置によると、データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができない構成とすることができる。
【００２７】
又、第３の特徴に係る制限鍵生成装置において、制限情報は、制限付データの利用時限を絶対時限で定めた情報であり、２つの時刻の前後関係及び２つの絶対時限を規定する時計を表す世代変数の一致を判断する比較部と、現在時刻及び世代変数を備える時計部とを更に備え、絶対時限と、制限付データ固有の値である固有値と、世代変数の値とをパラメータとする制限鍵の要求を受けた場合、比較部は、パラメータの世代変数の値と、時計部の世代変数の値が等しく、かつ、パラメータの絶対時限時計部の現在時刻より未来の値であるという条件が成立するか否かを判断し、当該条件が成立する場合、ハッシュ計算部は、マスター鍵と、絶対時限と、固有値に依存するハッシュ値である制限鍵を計算してもよい。
【００２８】
この制限鍵生成装置によると、パラメータの絶対時限値と時計部の時計の現在時刻とを比較し前者が未来の値である場合のみにその絶対時刻値に依存するハッシュ値を計算し制限鍵とするため、ある時刻以降はその値は得られなくなる制限鍵を実現することができる。又、そのハッシュ値の計算は、時計が初期化される毎に変化する値である世代変数の値とパラメータの世代値とが等しい場合にのみ計算されるため、初期化されて変化した基準時刻を基にして時刻比較が行われてしまい、ハッシュ値が計算されてしまうことが無い。又、ハッシュ値の計算はパラメータの固有値にも依存するように行われるため、固有値を知らない他者が同じ制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【００２９】
又、第３の特徴に係る制限鍵生成装置において、制限情報は、制限付データの利用時限を相対時限で定めた情報であり、現在時刻及び世代変数を備える時計部を更に備え、相対時限と、制限付データ固有の値である固有値とをパラメータとし、絶対時限と絶対時限を規定する時計を表す世代変数と、制限鍵の要求を受けた場合、ハッシュ計算部は、マスター鍵と、パラメータの相対時限に時計部の提供する現在時刻を加えた値と、固有値に依存するハッシュ値である制限鍵を計算してもよい。
【００３０】
この制限鍵生成装置によると、パラメータの相対時限値と時計部の時計の現在時刻とを加えた絶対時限値に依存するハッシュ値を計算し制限鍵とする。又、ハッシュ値の計算はパラメータの固有値にも依存するように行われるため、固有値を知らない他者が同じ制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【００３１】
又、第３の特徴に係る制限鍵生成装置において、制限情報は、制限付データの利用回数制限を定めた情報であり、２つの値の大小関係及び２つの絶対時限を規定する時計を表す世代変数の一致を判断する比較部と、仮想カウンタ欄と値欄と世代欄とを持つ表であるカウンタ表及び世代変数とを備えるカウンタ部とを更に備え、利用回数制限と、仮想カウンタを指定する仮想カウンタ指定値と、仮想カウンタの世代を表す世代変数の値である世代値とをパラメータとする制限鍵の要求を受けた場合、カウンタ部は、カウンタ表にてパラメータの仮想カウンタ指定値に対応付けられている行の値欄の値と世代欄の値を読み出し、比較部は、パラメータの世代変数の値と、世代欄の値が等しく、かつ、パラメータの利用回数制限が値欄の値よりも大きいという条件が成立するか否かを判断し、当該条件が成立する場合、ハッシュ計算部は、マスター鍵と、利用回数制限と、パラメータの仮想カウンタ指定値に依存するハッシュ値である制限鍵を計算してもよい。
【００３２】
この制限鍵生成装置によると、パラメータの回数制限値とパラメータの仮想カウンタ指定値で指定される仮想カウンタの値（仮想カウンタ指定値に対応付けられているカウンタ表の行の値欄の値のこと）とを比較し前者が大きい場合のみにその回数制限値に依存するハッシュ値を計算し回数制限鍵とするため、ある回数利用した以降はその値は得られなくなる回数制限鍵を実現することができる。又、そのハッシュ値の計算は、仮想カウンタが初期化される毎に変化する値である仮想カウンタの世代値（仮想カウンタ指定値に対応付けられているカウンタ表の行の世代欄の値のこと）とパラメータの世代値とが等しい場合にのみ計算されるため、初期化されて変化した仮想カウンタの値を基にして、上述の値比較が行われてしまい、ハッシュ値が計算されてしまうことが無い。又、ハッシュ値の計算はパラメータの仮想カウンタ指定値にも依存するように行われるため、その値を知らない他者が同じ回数制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【発明の効果】
【００３３】
本発明によると、データ毎に異なる制限を課すことができ、又、タンパー行為に対する防御策の実施が容易であり、特に、データ利用の制限に達した後のタンパー行為によってもデータを利用することができないこととする、制限付データ作成装置、制限付データ利用装置及び制限鍵生成装置を提供することができる。
【発明を実施するための最良の形態】
【００３４】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。
【００３５】
本実施形態に係る制限付データ管理システムは、利用時限又は利用回数制限が課せられたデータである制限付データを作成する制限付データ作成装置１００と、制限付データを利用する制限付データ利用装置２００と、時限又は利用回数に達すると取得できなくなる制限鍵を生成する制限鍵生成装置３００とを備える。
【００３６】
（制限付データ作成装置）
次に、本実施形態に係る制限付データ作成装置１００の構成について説明する。図１に示すように、制限付データ作成装置１００は、暗号部１０１と、入出力部１０２と、制限鍵入手部１０３と、ＩＤ生成部１０４と、記憶部１０５と、時計部１０６とを備える。
【００３７】
暗号部１０１は、制限付データ作成装置１００に入力される処理対象データを制限鍵入手部１０３の提供する制限鍵にて暗号化し、入出力部１０２を介して制限付データ利用装置２００へ送信する。
【００３８】
入出力部１０２は、ネットワークなどの情報伝達手段を用いて、制限付データ作成装置１００と制限付データ利用装置２００との情報のやりとりを仲介する。
【００３９】
制限鍵入手部１０３は、制限付データ作成装置１００に入力される制限情報に基づいて、入出力部１０２を介して制限付データ利用装置２００内部に備えられた制限鍵生成装置３００に、制限情報に合った制限鍵（制限鍵又は回数制限鍵）を要求し、入手する。ここで、「制限情報」とは、利用時限又は利用回数制限を示すものであり、例えば、制限付データの利用時限を絶対時限で定めた情報、制限付データの利用時限を相対時限で定めた情報、制限付データの利用回数制限を定めた情報などが挙げられる。
【００４０】
ＩＤ生成部１０４は、制限鍵入手部１０３が制限鍵を入手する際に必要となる、データ固有の値である固有値又は、仮想カウンタを指定する仮想カウンタ指定値として用いられるＩＤを生成する。
【００４１】
ＩＤは過去ある程度の期間においてＩＤとして生成されていない値を生成するような手段により生成すれば良いが、過去生成されたＩＤが仮に知られたとしても次に生成されるＩＤが推定されにくいような手段で生成するのがより望ましい。その例として乱数発生器を用いてＩＤを生成する方法を用いても良い。
【００４２】
記憶部１０５は、制限鍵入手部１０３が制限鍵を入手する際に必要とする時差変数１１５および、絶対時限を規定する時計を表す世代変数１２５を提供する。
【００４３】
時計部１０６は、時計を備え、現在時刻を提供する。尚、この時計は他の時計と同期していなくとも良い。
【００４４】
（制限付データ利用装置）
次に、本実施形態に係る制限付データ利用装置２００の構成について説明する。図２に示すように、制限付データ利用装置２００は、入出力部２０１と、記憶部２０２と、復号部２０３と、利用部２０４と、制限鍵生成装置３００とを備える。
【００４５】
入出力部２０１は、ネットワークなどの情報伝達手段を用いて、制限付データ作成装置１００と制限付データ利用装置２００との間の情報のやりとりを仲介する。
【００４６】
記憶部２０２は、制限付データ作成装置１００から送られた時限付データ又は回数制限付データを一時的に記憶する。尚、一時的に記憶するとしているが、記憶部２０２はダイナミックＲＡＭのように消去が可能である記憶手段を用いる必要は無く、追記型光ディスクのように記憶内容が永続的に残りうる記憶手段を用いてもよい。又、記憶部２０２が常に記憶能力を持っている必要は無く、特定の場合でのみ記憶能力を持つ記憶手段を用いてもよい。例えば記憶部２０２は記録媒体に対して情報を記録および再生する装置であっても良いが、記憶媒体がその装置から外されていたり、記憶媒体が未初期化や記憶容量を使い果たしたりした等の理由で記憶能力が無くなりうる。そのような記憶手段でも記憶部２０２の実施形態となり得る。
【００４７】
復号部２０３は、時限付データ又は回数制限付データの中の暗号化された処理対象データを制限鍵生成装置３００の提供する鍵により復号する。
【００４８】
利用部２０４は、処理対象データを利用する。利用の形態としては、例えば、処理対象データが音楽やビデオデータである場合には、それを再生することや、画像データである場合には、それを表示することなどが挙げられるが、それらに限らずその他あらゆるデータの利用の仕方がこの利用部２０４においてされてよい。
【００４９】
制限鍵生成装置３００は、制限鍵あるいは回数制限鍵を生成する。制限鍵生成装置３００の詳細は、後述する。
【００５０】
（制限鍵生成装置）
次に、本実施形態に係る制限鍵生成装置３００の構成について説明する。図３に示すように、制限鍵生成装置３００は、入出力部３０１と、比較部３０２と、ハッシュ計算部３０３と、マスター鍵部３０４と、初期化部３０５と、時計部３０６と、カウンタ部３０７とを備える。
【００５１】
入出力部３０１は、バスやネットワークなどの情報伝達手段を用いて、制限鍵生成装置３００と外部装置との間の情報のやりとりを仲介する。
【００５２】
比較部３０２は、２つの絶対時刻の前後関係、２つの数値の大小関係、および２つの世代値の一致を判断する。
【００５３】
ハッシュ計算部３０３は、与えられたすべてのパラメータに依存する値であるハッシュ値を計算する。ハッシュ値の計算の実施方法として必要な条件は、同一のパラメータに対しては同一のハッシュ値となり、かつ、計算されたハッシュ値から元のパラメータを推定することが困難であることである。例としては、パラメータをすべてビット表現で結合し、それをＭＤ５（メッセージ・ダイジェスト５）で変換する方法で実施しても良い。その他、計算されたハッシュ値から元のパラメータを推定することが困難であり、かつ、同一のパラメータに対しては同一のハッシュ値となり、出力値がパラメータすべてに依存するような任意の計算手段を用いることができる。
【００５４】
マスター鍵部３０４は、マスター鍵３１４を記憶する。このマスター鍵３１４は、初期化部３０５により生成されるビット列である。
【００５５】
初期化部３０５は、後述する異常な事象の発生を検知する。又、そのような事象の発生を検知した際に、新たなマスター鍵を生成してマスター鍵部３０４のマスター鍵３１４を更新し、時計部３０６の世代変数３１６を更新し、カウンタ部のカウンタ表３１７の初期化と世代変数３２７の更新を行う。
【００５６】
時計部３０６は、時計を備え現在時刻を提供する。又、世代変数３１６を提供する。尚、時計は他の時計と同期していなくとも良い。
【００５７】
カウンタ部３０７は、カウンタ表３１７を保持し、それを操作する。又、仮想カウンタの世代を表す世代変数３２７を提供する。カウンタ表３１７は、仮想カウンタ欄、値欄、世代欄を備える表形式のデータである。図１２に示すカウンタ表３３７は、カウンタ表３１７のデータの一例である。この例のカウンタ表３３７には５つの行があり、そのうち４行目の仮想カウンタ欄には「（無効値）」と記載しているが、これは無効値が当該欄に代入されていることを意味している。無効値とは、仮想カウンタ値としては無効な値のことである。ある行の仮想カウンタ欄に仮想カウンタ指定値を代入することをその仮想カウンタ指定値をその行に対応付ける、と表現し、又、ある行の仮想カウンタ欄に特定の仮想カウンタ指定値が代入されていることをその仮想カウンタ指定値がその行に対応付けられている、と表現する。
【００５８】
又、仮想カウンタに対応する実体すなわち実カウンタの指定値は、カウンタ表３３７の１〜５行目の行番号に対応して、１〜５となる。仮想カウンタを指定する仮想カウンタ指定値は、時限鍵の場合の固有値に相当する役割を果たす。このため、実カウンタ指定値ではなく、任意の値をとることができる仮想カウンタ指定値を利用する。
【００５９】
尚、制限鍵生成装置３００は、ハードウェア的に信号を読み取る、あるいは操作することにより内部状態を読み取る、あるいは書き換えるなどのいわゆるタンパー行為への防御策を施して実装することが望ましい。タンパー防御策の典型的手段は、ハードウェアの厳封や、ワンチップ化である。すなわち、制限鍵生成装置３００を実装するハードウェアを厳封、又は制限鍵生成装置３００をワンチップで実装しても良い。
【００６０】
（制限付データ作成方法）
次に、制限付データ作成装置１００の動作について、図４〜図６を用いて説明する。
【００６１】
＝時限付データ送信（絶対時限）＝
まず、図４を用いて、制限付データ作成装置１００に処理対象データと、当該データの利用時限を時計部３０６の時計を基準とする絶対時刻（絶対時限）で指定する制限情報とが入力された際の動作を説明する。
【００６２】
尚、ここで、「絶対時刻」とは時刻の指定形式を相対時刻と区別した用語であり、現在時刻が何時であるかによらず特定の時刻を表現する時刻の指定形式のことである。絶対時刻の例としては、「午前１時２３分４５秒」「２３時４５分」「３月４日午前５時６分」「平成４年５月６日午後７時８分」などが挙げられる。ただし、絶対時刻であってもどの時計における時刻であるかにより表現された時刻が実際には異なりうる。そのため、より正確に把握するためには、どの時計を基準にした絶対時刻であるのかを指定する必要がある。上記の場合は時計部３０６の時計を基準にする旨を指定している。
【００６３】
一方の相対時刻は、現在時刻を基点として指定した時間が経過した後の未来の時刻を指定する形式である。相対時刻の例としては「１２，３４５秒後」「２３時間４５分後」「３４日５時間６分後」「４年５か月後」などが挙げられる。又、処理対象データの利用時限とは、処理対象データを利用してよい限界の時刻を指定するものである。時限の指定方法としては絶対時刻による場合と相対時刻による場合があり、それぞれによる場合の時限を特に、「絶対時限」、「相対時限」と表記する。
【００６４】
まず、図４のステップＳ１０１において、制限付データ作成装置１００の制限鍵入手部１０３は、制限付データ利用装置２００の制限鍵生成装置３００に時計の現在時刻と世代を要求する。そして返却された現在時刻値と世代値を受信する。それぞれの値をＴｕおよびＧｕと呼ぶことにする。
【００６５】
次に、ステップＳ１０２において、制限鍵入手部１０３は、記憶部１０５の提供する時差変数１１５（以下変数Ｔｄと表記）にＴｕから時計部３０６の時計の提供する現在時刻を差し引いたものを代入し、記憶部１０５の提供する世代変数１２５（以下変数Ｇｄと表記）にＧｕを代入する。
【００６６】
次に、ステップＳ１０３において、制限鍵入手部１０３は、制限付データ作成装置１００に入力された絶対時限値である制限情報に変数Ｔｄの値を加える。この加えた結果の値をＴａと呼ぶことにする。
【００６７】
次に、ステップＳ１０４において、ＩＤ生成部１０４は、ＩＤを生成する。この生成したＩＤをＩと呼ぶとにする。このＩＤは生成するたびに異なることが望ましい数値であり、それを生成するＩＤ生成部１０４は、例えばＩＤを生成する毎に値を更新するカウンタや、乱数発生器を用いることによりＩＤを生成することができる。
【００６８】
次に、ステップＳ１０５において、制限鍵入手部１０３は、絶対時限値としてＴａ、世代値としてＧｄ、固有値としてＩをパラメータとして、制限付データ利用装置２００内の制限鍵生成装置３００に制限鍵を要求する。そして返却された制限鍵を受信する。この受信した制限鍵をＫと呼ぶことにする。
【００６９】
次に、ステップＳ１０６において、暗号部１０１は、制限付データ作成装置１００に入力された処理対象データを鍵Ｋで暗号化する。この暗号化された処理対象データをＤｋと呼ぶことにする。
【００７０】
次に、ステップＳ１０７において、暗号部１０１は、時限付データとしてＤｔ［Ｔａ，Ｇｄ，Ｉ，Ｄｋ］を制限付データ利用装置２００へ送信し、処理を終了する。尚、時限付データは、（絶対）時限値と世代値と固有値と暗号化済み処理対象データとを含むデータであり、それをＤｔ［絶対時限値，世代値，固有値，暗号化済み処理対象データ］のように表記している。
【００７１】
＝時限付データ送信（相対時限）＝
次に、図５を用いて、制限付データ作成装置１００に処理対象データと、当該データの利用時限を相対時限で指定する制限情報とが入力された際の動作を説明する。
【００７２】
まず、ステップＳ１１１において、制限付データ作成装置１００の制限鍵入手部１０３は、制限付データ作成装置１００に入力された相対時限値である制限情報を受信する。この値をＴｒと呼ぶことにする。
【００７３】
次に、ステップＳ１１２において、ＩＤ生成部１０４は、ＩＤを生成する。この生成したＩＤをＩと呼ぶことにする。
【００７４】
次に、ステップＳ１１３において、制限鍵入手部１０３は、相対時限値としてＴｒ、固有値としてＩをパラメータとして制限付データ利用装置２００内の制限鍵生成装置３００に絶対時限と制限鍵を要求する。そして返却された絶対時限、世代値、制限鍵を受信する。それぞれの値をＴａ、ＧｕおよびＫと呼ぶことにする。
【００７５】
次に、ステップＳ１１４において、暗号部１０１は、制限付データ作成装置１００に入力された処理対象データを鍵Ｋで暗号化する。暗号化された処理対象データをＤｋと呼ぶことにする。
【００７６】
次に、ステップＳ１１５において、暗号部１０１は、時限付データとしてＤｔ［Ｔａ，Ｇｕ，Ｉ，Ｄｋ］を制限付データ利用装置２００に送信し、処理を終了する。
【００７７】
＝回数制限付データ送信＝
次に、図６を用いて、制限付データ作成装置１００に処理対象データと、当該データの利用回数制限を指定する制限情報が入力された際の動作を説明する。
【００７８】
尚、処理対象データの利用回数制限とは、処理対象データを利用してよい回数を指定するものである。回数制限の例としては「５回」「１，０２４回」「０回」などが挙げられる。
【００７９】
まず、図６のステップＳ１２１において、制限付データ作成装置１００のＩＤ生成部１０４は、ＩＤを生成する。この生成したＩＤをＩと呼ぶことにする。
【００８０】
次に、ステップＳ１２２において、制限鍵入手部１０３は、仮想カウンタ指定値としてＩをパラメータとして、制限付データ利用装置２００内の制限鍵生成装置３００に仮想カウンタの初期化を要求する。そして返却された世代値を受信し、記憶部１０５の提供する世代変数１２５（以下変数Ｇｄと表記）に代入する。
【００８１】
次に、ステップＳ１２３において、制限鍵入手部１０３は、制限付データ作成装置１００に入力された回数制限値である制限情報を受信する。この値をＮと呼ぶことにする。
【００８２】
次に、ステップＳ１２４において、制限鍵入手部１０３は、回数制限値としてＮ、世代値としてＧｄ、仮想カウンタ指定値としてＩをパラメータとして、制限付データ利用装置２００内の制限鍵生成装置３００に回数制限鍵を要求する。そして返却された回数制限鍵を受信する。この回数制限鍵をＫと呼ぶことにする。
【００８３】
次に、ステップＳ１２５において、暗号部１０１は、制限付データ作成装置１００に入力された処理対象データを鍵Ｋで暗号化する。この暗号化された処理対象データをＤｋと呼ぶことにする。
【００８４】
次に、ステップＳ１２６において、暗号部１０１は、回数制限付データとしてＤｎ［Ｎ，Ｇｄ，Ｉ，Ｄｋ］を制限付データ利用装置２００に送信し、処理を終了する。尚、回数制限付データは、回数制限値と世代値と仮想カウンタ指定値と暗号化済み処理対象データとを含むデータであり、それをＤｎ［回数制限値，世代値，仮想カウンタ指定値，暗号化済み処理対象データ］のように表記している。
【００８５】
（制限付データ利用方法）
次に、制限付データ利用装置２００の動作について、図７及び図８を用いて説明する。
【００８６】
＝時限付データ受信＝
まず、図７を用いて、制限付データ作成装置１００に時限付データＤｔ［Ｔｐ，Ｇｐ，Ｉ，Ｄｋ］が入力された際の、制限付データ利用装置２００の動作を説明する。
【００８７】
ステップＳ２０１において、制限付データ利用装置２００の記憶部２０２は、制限付データ利用装置２００に入力された時限付データＤｔ［Ｔｐ，Ｇｐ，Ｉ，Ｄｋ］を記憶する。
【００８８】
その後、任意の時点で（図中の点線はその間に任意の処理が入りうることを表す）、ステップＳ２０２に移行し、ステップＳ２０２において、記憶部２０２は、ステップＳ２０１にて記憶された時限付データＤｔ［Ｔｐ，Ｇｐ，Ｉ，Ｄｋ］を読み出す。
【００８９】
次に、ステップＳ２０３において、復号部２０３は、ステップＳ２０２において読み出された時限付データを用いて時限値としてＴｐ、世代値としてＧｐ、固有値としてＩをパラメータとして制限鍵生成装置３００に制限鍵を要求する。そして返却された制限鍵を受信する。この値をＫと呼ぶことにする。
【００９０】
次に、ステップＳ２０４において、復号部２０３は、ステップＳ２０２において読み出された時限付データのＤｋを鍵Ｋで復号する。復号された処理対象データをＤと呼ぶことにする。
【００９１】
次に、ステップＳ２０５において、利用部２０４は、Ｄを利用し、処理を終了する。
【００９２】
＝回数制限付データ受信＝
次に、図８を用いて、制限付データ作成装置１００に回数制限付データＤｎ［Ｎｐ，Ｇｐ，Ｉ，Ｄｋ］が入力された際の、制限付データ利用装置２００の動作を説明する。
【００９３】
まず、ステップＳ２１１において、制限付データ利用装置２００の記憶部２０２は、制限付データ利用装置２００に入力された回数制限付データＤｎ［Ｎｐ，Ｇｐ，Ｉ，Ｄｋ］を記憶する。
【００９４】
その後任意の時点で（図中の点線はその間に任意の処理が入りうることを表す）、ステップＳ２１２に移行し、ステップＳ２１２において、記憶部２０２は、ステップＳ２１１にて記憶された回数制限付データＤｎ［Ｎｐ，Ｇｐ，Ｉ，Ｄｋ］を読み出す。
【００９５】
次に、ステップＳ２１３において、復号部２０３は、ステップＳ２１２において読み出された回数制限付データを用いて、回数制限値としてＮｐ、世代値としてＧｐ、仮想カウンタ指定値としてＩをパラメータとして制限鍵生成装置３００に回数制限鍵利用を要求する。そして返却された回数制限鍵を受信する。この値をＫと呼ぶことにする。
【００９６】
次に、ステップＳ２１４において、復号部２０３は、ステップＳ２１２において読み出された回数制限付データのＤｋを鍵Ｋで復号する。復号された処理対象データをＤと呼ぶことにする。
【００９７】
次に、ステップＳ２１５において、利用部２０４は、Ｄを利用し、処理を終了する。
【００９８】
（制限鍵生成方法）
次に、制限鍵生成装置３００の動作について、図９〜図１６を用いて説明する。
【００９９】
＝時刻＋世代要求処理＝
まず、図９を用いて、制限鍵生成装置３００に時計の現在時刻と世代を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１００】
ステップＳ３０１において、制限鍵生成装置３００の時計部３０６は、時計の現在時刻と世代変数３１６の値を読み出す。それぞれの値をＴおよびＧと呼ぶことにする。
【０１０１】
次に、ステップＳ３０２において、入出力部３０１は、現在時刻値としてＴを、世代値としてＧを要求に対する返却値としてそれぞれ出力し、処理を終了する。
【０１０２】
＝制限鍵要求処理（絶対時限）＝
次に、図１０を用いて、制限鍵生成装置３００に絶対制限値と世代値と固有値とをパラメータとして制限鍵を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１０３】
まず、ステップＳ３１１において、制限鍵生成装置３００の入出力部３０１は、要求のパラメータを受信する。パラメータの絶対制限値をＴｐ、世代値をＧｐ、固有値をＩとそれぞれ呼ぶことにする。
【０１０４】
次に、ステップＳ３１２において、時計部３０６は、時計の現在時刻と世代変数３１６の値を読み出す。それぞれの値をＴおよびＧと呼ぶことにする。
【０１０５】
次に、ステップＳ３１３において、比較部３０２は、ＧｐとＧが同一値であり、かつ、ＴｐがＴより未来の時刻値であるという条件が成立するか判断する。条件が成立する場合にはステップＳ３１４へ、それ以外の場合はステップＳ３１６へ進む。
【０１０６】
ステップＳ３１４に進んだ場合、同ステップにおいて、ハッシュ計算部３０３は、マスター鍵部３０４の記憶するマスター鍵３１４とＴｐとＩとをパラメータとしてハッシュ値を計算する。この計算したハッシュ値をＫと呼ぶ。
【０１０７】
次に、ステップＳ３１５において、入出力部３０１は、制限鍵としてＫを要求に対する返却値として出力し、処理を終了する。
【０１０８】
一方、ステップＳ３１６に進んだ場合、同ステップにおいて、制限鍵生成装置３００は例外処理を行い、処理を終了する。例外処理とは、ステップＳ３１４及びＳ３１５からなる処理とは異なる内容の処理であり、すなわち、例外処理が行われるときにはステップＳ３１４及びＳ３１５の処理で出力されたはずの制限鍵は出力されない。このような例外処理としては、例えば、ダミーの制限鍵を生成し返却値として出力する処理や、エラーが発生した旨を識別する返却値を出力する処理、あるいは全く返却値を出力しない処理などが挙げられる。
【０１０９】
＝制限鍵要求処理（相対時限）＝
次に、図１１を用いて、制限鍵生成装置３００に相対時限値と固有値とをパラメータとして絶対制限と制限鍵を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１１０】
まず、ステップＳ３２１において、制限鍵生成装置３００の入出力部３０１は、要求のパラメータを受信する。パラメータの相対時限値をＴｄ、固有値をＩとそれぞれ呼ぶことにする。
【０１１１】
次に、ステップＳ３２２において、時計部３０６は、時計の現在時刻を読み出し、それにＴｄを加えた絶対時刻を計算する。この絶対時刻値をＴａと呼ぶことにする。さらに世代変数３１６の値を読み出す。この値をＧと呼ぶことにする。
【０１１２】
次に、ステップＳ３２３において、ハッシュ計算部３０３は、マスター鍵部３０４の記憶するマスター鍵３１４とＴａとＩとをパラメータとしてハッシュ値を計算する。この計算したハッシュ値をＫと呼ぶ。
【０１１３】
次に、ステップＳ３２４において、入出力部３０１は、絶対時限値としてＴａを、制限鍵としてＫを要求に対する返却値としてそれぞれ出力し、処理を終了する。
【０１１４】
＝仮想カウンタ初期化要求処理＝
次に、図１３を用いて、制限鍵生成装置３００に仮想カウンタ指定値をパラメータとして仮想カウンタの初期化を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１１５】
まず、ステップＳ３３１において、制限鍵生成装置３００の入出力部３０１は、要求のパラメータを受信する。パラメータの仮想カウンタ指定値をＩと呼ぶことにする。
【０１１６】
次に、ステップＳ３３２において、カウンタ部３０７は、カウンタ表３１７の行のうち仮想カウンタ欄が無効値の行を１つ選択する（図１２参照）。この行をＪと呼ぶことにする。さらに行Ｊの仮想カウンタ欄にＩを代入することで仮想カウンタ指定値Ｉを行Ｊに対応付ける。
【０１１７】
次に、ステップＳ３３３において、カウンタ部３０７は、世代変数３２７の値を更新する。値を更新するとは、過去ある程度の期間において世代変数３２７がとることがなかった値を代入することであり、その例としては、現在の世代変数３２７の値に微小な値を加えたものを代入する方法や、乱数を代入する方法を用いても良い。
【０１１８】
次に、ステップＳ３３４において、カウンタ部３０７は、カウンタ表３１７の行Ｊの世代欄に世代変数３２７の値を代入し、同じく値欄に初期値を代入する。値欄に代入する初期値としては任意の数値で良いが、典型例として０（ゼロ）が挙げられる。
【０１１９】
次に、ステップＳ３３５において、入出力部３０１は、世代値としてカウンタ表３１７の行Ｊの世代欄の値を要求に対する返却値として出力し、処理を終了する。
【０１２０】
＝回数制限鍵要求処理＝
次に、図１４を用いて、制限鍵生成装置３００に回数制限値と制限値と仮想カウンタ指定値とをパラメータとして回数制限鍵を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１２１】
まず、ステップＳ３４１において、制限鍵生成装置３００の入出力部３０１は、要求のパラメータを受信する。パラメータの回数制限値をＮｐ、世代値をＧｐ、仮想カウンタ値をＩとそれぞれ呼ぶことにする。
【０１２２】
次に、ステップＳ３４２において、カウンタ部３０７は、仮想カウンタ指定値Ｉに対応付けられたカウンタ表３１７の行を特定する。この特定された行をＪと呼ぶことにする。さらに、行Ｊの値欄の世代欄の値を読み出す。それぞれの値をＮおよびＧと呼ぶことにする。
【０１２３】
次に、ステップＳ３４３において、比較部３０２は、ＧｐとＧが同一値であり、かつ、ＮｐがＮより大きい値であるという条件が成立するか判断する。条件が成立する場合にはステップＳ３４４へ、それ以外の場合はステップＳ３４６に進む。
【０１２４】
ステップＳ３４４に進んだ場合、同ステップにおいて、ハッシュ計算部３０３は、マスター鍵部３０４の記憶するマスター鍵３１４とＮｐとＩとをパラメータとしてハッシュ値を計算する。この計算したハッシュ値をＫと呼ぶ。
【０１２５】
次に、ステップＳ３４５において、入出力部３０１は、回数制限鍵としてＫを要求に対する返却値として出力し、処理を終了する。
【０１２６】
一方、ステップＳ３４６に進んだ場合、同ステップにおいて、制限鍵生成装置３００は例外処理を行い、処理を終了する。例外処理とは、ステップＳ３４４及びＳ３４５からなる処理とは異なる内容の処理であり、すなわち、例外処理が行われるときにはステップＳ３４４及びＳ３４５の処理で出力されたはずの回数制限鍵は出力されない。このような例外処理しては、例えば、ダミーの回数制限鍵を生成し返却値として出力する処理や、エラーが発生した旨を識別する返却値を出力する処理、あるいは全く返却値を出力しない処理などが挙げられる。
【０１２７】
＝回数制限鍵「利用」要求処理＝
次に、図１５を用いて、制限鍵生成装置３００に回数制限値と制限値と仮想カウンタ値とをパラメータとして回数制限鍵利用を要求された際の、制限鍵生成装置３００の動作を説明する。
【０１２８】
本動作は、前述の回数制限鍵を要求されたときの制限鍵生成装置３００の動作（ステップＳ３４１〜Ｓ３４６）と類似であるが、主にステップＳ３５４がステップＳ３４４と異なる。
【０１２９】
まず、ステップＳ３５１において、制限鍵生成装置３００の入出力部３０１は、要求のパラメータを受ける。パラメータの回数制限値をＮｐ、世代値をＧｐ、仮想カウンタ指定値をＩとそれぞれ呼ぶことにする。
【０１３０】
次に、ステップＳ３５２において、カウンタ部３０７は、仮想カウンタ指定値Ｉに対応付けられたカウンタ表３１７の行を特定する。この特定された行をＪと呼ぶことにする。さらに、行Ｊの値欄の値と世代欄の値を読み出す。それぞれの値をＮおよびＧと呼ぶことにする。
【０１３１】
次に、ステップＳ３５３において、比較部３０２は、ＧｐとＧが同一値であり、かつ、ＮｐがＮより大きい値であるという条件が成立するか判断する。条件が成立する場合にはステップＳ３５４へ、それ以外の場合はステップＳ３５６へ進む。
【０１３２】
ステップＳ３５４に進んだ場合、同ステップにおいて、カウンタ部３０７は、カウンタ表３１７の行Ｊの値欄の値を更新する。この値欄の値を更新するとは、現在代入されている値とは異なる値を代入することであるが、典型例としては、現在代入されている値に１を加えた値を代入する。ステップＳ３５４では、さらにハッシュ計算部３０３がマスター鍵部３０４の記憶するマスター鍵３１４とＮｐとＩとをパラメータとしてハッシュ値を計算する。この計算したハッシュ値をＫと呼ぶ。
【０１３３】
次に、ステップＳ３５５において、入出力部３０１は、回数制限鍵としてＫを要求に対する返却値として出力し、処理を終了する。
【０１３４】
一方、ステップＳ３５６に進んだ場合、同ステップにおいて、制限鍵生成装置３００は例外処理を行い、処理を終了する。例外処理とは、ステップＳ３５４及びＳ３５５からなる処理とは異なる内容の処理であり、すなわち、例外処理が行われるときにはステップＳ３５４及びＳ３５５の処理で出力されたはずの回数制限鍵は出力されない。このような例外処理としては、例えば、ダミーの回数制限鍵を生成し返却値として出力する処理や、エラーが発生した旨を識別する返却値を出力する処理、あるいは全く返却値を出力しない処理などが挙げられる。
【０１３５】
＝初期化処理＝
次に、図１６を用いて、制限鍵生成装置３００の初期化部３０５によって初期化処理が必要な事象が発生したことを検知した際の、制限鍵生成装置３００の動作を説明する。
【０１３６】
尚、初期化処理が必要な事象とは、時計部３０６の時計の時刻が過去の時刻に戻ったり、必要以上に進んだり、時刻が更新されなかったりするなど時刻更新の速度に変化を及ぼしうる事象や、カウンタ部３０７のカウンタ表３１７の各行、各欄に代入されている値がカウンタ部３０７又は初期化部３０５による正常な操作によらず変化しうる事象を含む異常な事象である。このような異常な事象の主なものとしては、制限鍵生成装置３００に対する電力供給の不安定や、それをバックアップするための電池の消耗、強力な放射線の侵入、ハードウェア的信号への介入による人為的操作（パターン）、又、時計についてはその基準周波数発振器の作動不安定などが考えられる。
【０１３７】
これらの事象が発生したことを検知する手段としては多数の既知の技術があり、当業者が容易に実施できると考えられるため詳細は割愛するが、初期化部３０５にはそれらの技術が実施されているものとする。又、初期化処理が必要な事象としてはその他に制限付データ利用装置２００など制限鍵生成装置３００の外部の装置が入出力部３０１を通じて明示的に初期化処理を要求する事象を含んでもよい。そのように外部の装置が明示的に初期化処理を要求できるようにすることが有用な場合しては、例えば、外部装置がその利用者の認証に連続して失敗したことを検知した場合や、その他、利用者の不正行為を検知した場合、明示的に利用者の変更を行う場合など、外部装置が記憶する制限付データが一括して消去されることが好ましい場合が挙げられる。
【０１３８】
まず、ステップＳ６０１において、制限鍵生成装置３００の初期化部３０５は、新たなマスター鍵を生成し、マスター鍵部３０４に記憶する。新たなマスター鍵としては過去にマスター鍵としてマスター鍵部３０４に記憶されたことのないビットパターンを用いることが望ましい。典型例としては、乱数によりビット列を新たに生成し、それを新たなマスター鍵とする方法が挙げられる。
【０１３９】
次に、ステップＳ３６２において、初期化部３０５は、時計部３０６の世代変数３１６の値とカウンタ部３０７の世代変数３２７の値とをそれぞれ更新する。更新の意味については前述のステップＳ３３３の説明と同様であり、すなわち、過去ある程度の期間において各世代変数がとることがなかった値を代入することであり、その例としては現在の各世代変数の値に微小な値を加えたものを代入する方法や、乱数を代入する方法を用いても良い。又、特にこのステップＳ３６２の処理においては、各世代変数０（ゼロ）などの定数を代入する方法でも良い。ステップＳ３６２においては、さらに初期化部３０５がカウンタ部３０７のカウンタ表３１７の全ての行の仮想カウンタ欄に無効値を代入し、処理を終了する。
【０１４０】
（作用及び効果）
本実施形態に係る制限付データ作成装置１００は、制限鍵入手部１０３が処理対象データの利用時限を絶対時刻で定めた制限情報の入力を受けて、制限情報の定める絶対時限を時差変数の値を用いて、制限鍵生成装置３００の時計を基準とする絶対時限に変換し、変換された絶対時限値とＩＤ生成部１０４が生成した固有値と世代変数の値である世代値とをパラメータとし制限鍵生成装置に制限鍵を要求することができる。
【０１４１】
このため、指定された処理対象データの絶対時刻による利用時限以降は入手できなくなる制限鍵を制限付データ作成装置から入手することができる。この制限鍵を用いて指定された利用時限以降は復号できなくなる暗号化データを作成することができる。
【０１４２】
又、制限付データ作成装置１００は、制限鍵入手部１０３が制限鍵生成装置３００に時計の現在時刻値と世代値とを要求し、制限鍵生成装置３００から入力された世代値を記憶部１０５の世代変数に代入し、同じく入力された現在時刻値の時計部１０６の時計の現在時刻値との差分を記憶部１０５の時差変数に代入することができる。
【０１４３】
このため、制限鍵生成装置３００の時計の遅れ又は進みと、時計の世代を正確に把握できるため、利用時限に正確に対応した制限鍵を制限付データ利用装置から入手することができる。
【０１４４】
又、制限付データ作成装置１００は、制限鍵入手部１０３が制限鍵生成装置３００からの制限鍵の入力を受けて、暗号部１０１が入力された処理対象データを制限鍵で暗号化し、暗号化された処理対象データと変換された絶対時限と世代変数の値と固有値とを含む時限付データである制限付データを制限付データ利用装置に送付することができる。
【０１４５】
このため、指定された処理対象データの絶対時刻による利用時限以降は入手できなくなる制限鍵を用いて処理対象データを暗号化し、その復号に必要な絶対時限と世代値と固有値とを含めた時限付データである制限付データを制限付データ利用装置に送付することができる。
【０１４６】
又、制限付データ作成装置１００は、制限鍵入手部１０３が処理対象データの利用時限を相対時限で定めた制限情報の入力を受けて、制限情報の定める相対時限とＩＤ生成部１０４が生成した固有値とをパラメータとして制限付データ利用装置２００の制限鍵生成装置３００に絶対時限値と世代値と制限鍵とを要求することができる。
【０１４７】
このため、指定された処理対象データの相対時刻による利用時限以降は入手できなくなる制限鍵を制限付データ利用装置から入手することができる。この制限鍵を用いて指定された利用時限以降は復号できなくなる暗号化データを作成することができる。
【０１４８】
又、制限付データ作成装置１００は、制限鍵入手部１０３が制限鍵生成装置３００からの絶対時限値と世代値と制限鍵の入力を受けて、暗号部１０１が入力された処理対象データを制限鍵で暗号化し、暗号化された処理対象データと変換された絶対時限と世代変数の値と固有値とを含む時限付データである制限付データを制限付データ利用装置２００に送付することができる。
【０１４９】
このため、指定された処理対象データの相対時刻による利用時限以降は入手できなくなる制限鍵を用いて処理対象データを暗号化し、その復号に必要な絶対時限と世代値と固有値とを含めた時限付データである制限付データを制限付データ利用装置に送付することができる。
【０１５０】
又、制限付データ作成装置１００は、制限鍵入手部１０３が処理対象データの利用回数制限を定めた制限情報の入力を受けて、制限情報の定める回数制限とＩＤ生成部１０４が生成した仮想カウンタ指定値と世代変数の値とをパラメータとし、制限付データ利用装置２００の制限鍵生成装置３００に回数制限鍵を要求してもよい。
【０１５１】
このため、指定された処理対象データの利用回数を超えて利用しようとした時には入手できなくなる回数制限鍵を制限付データ利用装置から入手することができる。この回数制限鍵を用いて指定された回数制限だけ利用した以降は復号できなくなる暗号化データを作成することができる。
【０１５２】
又、制限付データ作成装置１００は、制限鍵入手部１０３が仮想カウンタ指定値をパラメータとし、制限鍵生成装置３００に仮想カウンタの初期化を要求し、制限鍵生成装置３００から入力された世代値を記憶部１０５の世代変数に代入することができる。
【０１５３】
このため、制限鍵生成装置３００に処理対象データの利用回数を数えるカウンタを仮想的に作成し、初期化することができるため、制限鍵生成装置において処理対象データの利用回数を正確に数えることができる。
【０１５４】
又、制限付データ作成装置１００は、制限鍵入手部１０３が制限鍵生成装置３００からの回数制限鍵の入力を受けて、暗号部１０１が入力された処理対象データを回数制限鍵で暗号化し、暗号化された処理対象データと回数制限と世代変数の値と仮想カウンタ指定値とを含む回数制限付データである制限付データを制限付データ利用装置２００に送付することができる。
【０１５５】
このため、指定された処理対象データの利用回数を超えて利用しようとした時には入手できなくなる回数制限鍵を用いて処理対象データを暗号化し、その復号に必要な回数制限値と世代値と仮想カウンタ指定値とを含めた回数制限付データである制限付データを制限付データ利用装置に送付することができる。
【０１５６】
本実施形態に係る制限付データ利用装置２００は、記憶部２０２が制限付データ作成装置１００から送付された時限付データである制限付データを記憶し、記憶部２０２が時限付データである制限付データを読み出し、復号部２０３が読み出された時限付データの絶対時限値と世代値と固有値とをパラメータとし、制限鍵生成装置３００に制限鍵を要求し、制限鍵生成装置３００から入力された制限鍵により時限付データの暗号化された処理対象データを復号し利用部２０４に入力することができる。
【０１５７】
このため、制限付データ作成装置１００から送付された時限付データである制限付データを記憶部に記憶しておき、後刻それを読み出して、制限鍵生成装置３００が時限付データ中の情報から再生した制限鍵により同じく時限付データ中の暗号化された処理対象データを復号し、利用することができる。ただし、利用時限以降は、制限鍵生成装置３００は処理対象データを正常に復号できる制限鍵は再生成しなくなるため、それ以降の処理対象データの利用は不可能となり、利用時限が守られる。
【０１５８】
又、制限付データ利用装置２００は、記憶部２０２が制限付データ作成装置１００から送付された回数制限付データである制限付データを記憶し、記憶部２０２が回数制限付データである制限付データを読み出し、復号部２０３が読み出された回数制限付データの回数制限値と世代値と仮想カウンタ指定値とをパラメータとし、制限鍵生成装置３００に回数制限鍵利用を要求し、制限鍵生成装置から入力された回数制限鍵により回数制限付データの暗号化された処理対象データを復号し、利用部２０４に入力することができる。
【０１５９】
このため、制限付データ作成装置から送付された回数制限付データである制限付データを記憶部に記憶しておき、後刻それを読み出して、制限鍵生成装置が時限付データ中の情報から再生成した回数制限鍵により同じく回数制限付データ中の暗号化された処理対象データを復号し、利用することができる。ただし、回数制限だけ利用した以降は、制限鍵生成装置は処理対象データを正常に復号できる回数制限鍵は再生成しなくなるため、それ以降の処理対象データの利用は不可能となり、利用回数制限が守られる。
【０１６０】
本実施形態に係る制限鍵生成装置３００は、絶対時限値と世代値と固有値とをパラメータとする制限鍵の要求を受けると、比較部３０２がパラメータの世代値と時計部３０６の世代変数の値が等しくかつパラメータの絶対時限値が時計部３０６の時計の現在時刻値よりも未来の値であるという条件が成立するかを判断し、当該条件が成立する場合にハッシュ計算部３０３がマスター鍵部３０４の記憶するマスター鍵とパラメータの絶対時限値とパラメータの固有値とに依存するハッシュ値である制限鍵を計算することができる。
【０１６１】
このため、パラメータの絶対時限値と時計部の時計の現在時刻とを比較し前者が未来の値である場合のみにその絶対時刻値に依存するハッシュ値を計算し制限鍵とするため、ある時刻以降はその値は得られなくなる制限鍵を実現することができる。又、そのハッシュ値の計算は、時計が初期化される毎に変化する値である世代変数の値とパラメータの世代値とが等しい場合にのみ計算されるため、初期化されて変化した基準時刻を基にして時刻比較が行われてしまい、ハッシュ値が計算されてしまうことが無い。又、ハッシュ値の計算はパラメータの固有値にも依存するように行われるため、固有値を知らない他者が同じ制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【０１６２】
又、制限鍵生成装置３００は、時計の現在時刻値と世代値の要求を受けると、時計部３０６の現在時刻値と時計部３０６の世代変数の値である世代値とを出力することができる。
【０１６３】
このため、制限鍵を要求しようとする外部装置に対して時計部の時計の現在時刻値と世代変数の値を伝えることができるため、外部装置が時計部の時計に正確に準拠した絶対時限を、制限鍵を要求するパラメータに指定することができる。
【０１６４】
又、制限鍵生成装置３００は、相対時限値と固有値とをパラメータとする絶対時限値と世代値と制限鍵の要求を受けると、ハッシュ計算部３０３がマスター鍵部３０４の記憶するマスター鍵と、パラメータの相対時限値に時計部３０６の提供する現在時刻値を加えた値と、パラメータの固有値とに依存するハッシュ値である制限鍵を計算することができる。
【０１６５】
このため、パラメータの相対時限値と時計部の時計の現在時刻とを加えた絶対時限値に依存するハッシュ値を計算し制限鍵とする。又、ハッシュ値の計算はパラメータの固有値にも依存するように行われるため、固有値を知らない他者が同じ制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【０１６６】
又、制限鍵生成装置３００は、初期化部３０５が、時計部３０６の時計の時刻更新に障害を引き起こしうる異常な事象の発生を検知した場合に、新たなマスター鍵を生成しマスター鍵部３０４に記憶させ、時計部３０６の世代変数の値を更新することができる。
【０１６７】
このため、時計部の時計の時刻更新に障害を引き起こしうる異常な事象の発生があった場合には、マスター鍵が更新され、時計部の世代変数の値が更新されるため、すでに利用時限を過ぎたために制限鍵生成装置から入手できなくなったはずの制限鍵が、異常な事象の発生により時計部の時計が過去に戻ってしまうことにより再び入手できてしまうようなことが起こらない。
【０１６８】
又、制限鍵生成装置３００は、回数制限値と世代値と仮想カウンタ指定値とをパラメータとする回数制限鍵の要求又は回数制限鍵利用の要求を受けると、カウンタ部３０７がカウンタ表にてパラメータの仮想カウンタ指定値に対応付けられている行の値欄の値と世代欄の値を読み出し、比較部３０２がパラメータの世代値と世代欄の値が等しくかつパラメータの回数制限値が値欄の値よりも大きい値であるという条件が成立するかを判断し、当該条件が成立する場合に、ハッシュ計算部３０３がマスター鍵部３０４の記憶するマスター鍵とパラメータの回数制限値とパラメータの仮想カウンタ指定値とに依存するハッシュ値である回数制限鍵を計算することができる。
【０１６９】
このため、パラメータの回数制限値とパラメータの仮想カウンタ指定値で指定される仮想カウンタの値（仮想カウンタ指定値に対応付けられているカウンタ表の行の値欄の値のこと）とを比較し前者が大きい場合のみにその回数制限値に依存するハッシュ値を計算し回数制限鍵とするため、ある回数利用した以降はその値は得られなくなる回数制限鍵を実現することができる。又、そのハッシュ値の計算は、仮想カウンタが初期化される毎に変化する値である仮想カウンタの世代値（仮想カウンタ指定値に対応付けられているカウンタ表の行の世代欄の値のこと）とパラメータの世代値とが等しい場合にのみ計算されるため、初期化されて変化した仮想カウンタの値を基にして、値の比較が行われてしまい、ハッシュ値が計算されてしまうことが無い。又、ハッシュ値の計算はパラメータの仮想カウンタ指定値にも依存するように行われるため、その値を知らない他者が同じ回数制限鍵を入手してしまうことが無い。又、ハッシュ値の計算は、制限鍵生成装置の外部に出力されることが無く外部から知ることが困難なマスター鍵にも依存するように行われるため、他者がこの制限鍵生成装置と同等の装置を用いても同じパラメータから同じ制限鍵を入手することはできない。又、この制限鍵生成装置は生成した制限鍵を内部に記憶しないため、必要な記憶容量が小さい。
【０１７０】
又、制限鍵生成装置３００は、回数制限値と世代値と仮想カウンタ指定値とをパラメータとする回数制限鍵利用の要求を受けると、この条件が成立する場合に、カウンタ部３０７が値欄の値を更新することができる。
【０１７１】
このため、仮想カウンタが回数制限鍵の利用回数を正確に反映できる。
【０１７２】
又、制限鍵生成装置３００は、仮想カウンタ指定値をパラメータとする仮想カウンタの初期化の要求を受けると、カウンタ部３０７がカウンタ表で仮想カウンタ欄が無効値の行を特定し、特定した行の仮想カウンタ欄にパラメータの仮想カウンタ指定値を代入することで、特定した行と仮想カウンタ指定値とを対応付け、カウンタ部３０７の世代変数の値を更新し、世代変数の値を特定した行の世代欄に代入することができる。
【０１７３】
このため、回数制限鍵を要求しようとする外部装置が制限鍵生成装置に専用の仮想カウンタを動的に用意することができるため、外部装置は動的に変化する処理を行うことができ、処理の柔軟性が高まる。
【０１７４】
又、制限鍵生成装置３００は、初期化部３０５が、カウンタ表に記載される値が変更されうる異常な事象の発生を検知した場合に、新たなマスター鍵を生成しマスター鍵部に記憶させ、世代変数を更新することができる。
【０１７５】
このため、カウンタ部３０７のカウンタ表に記載される値が変更されうる異常な事象の発生があった場合には、マスター鍵が更新され、カウンタ部の世代変数の値が更新されるため、すでに利用回数制限に達したために制限鍵生成装置から入手できなくなったはずの回数制限鍵が、異常な事象の発生によりカウンタ部のカウンタ表で実現される仮想カウンタの値が減少してしまうことにより再び入手できてしまうようなことが起こらない。
【０１７６】
（その他の実施の形態）
本発明は上記の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【０１７７】
例えば、上記の実施の形態では、制限付データ利用装置２００の内部に制限鍵生成装置３００が備えられると説明したが、制限付データ利用装置２００と制限鍵生成装置３００とが、別個の装置であっても構わない。
【０１７８】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１７９】
【図１】本実施形態に係る制限付データ作成装置の構成ブロック図である。
【図２】本実施形態に係る制限付データ利用装置の構成ブロック図である。
【図３】本実施形態に係る制限鍵生成装置の構成ブロック図である。
【図４】本実施形態に係る制限付データ作成方法（時限付データ送信（絶対時限））を示すフローチャートである。
【図５】本実施形態に係る制限付データ作成方法（時限付データ送信（相対時限））を示すフローチャートである。
【図６】本実施形態に係る制限付データ作成方法（回数時限付データ送信）を示すフローチャートである。
【図７】本実施形態に係る制限付データ利用方法（時限付データ受信）を示すフローチャートである。
【図８】本実施形態に係る制限付データ利用方法（回数時限付データ受信）を示すフローチャートである。
【図９】本実施形態に係る制限鍵生成方法（時刻＋世代要求処理）を示すフローチャートである。
【図１０】本実施形態に係る制限鍵生成方法（制限鍵要求処理（絶対時限））を示すフローチャートである。
【図１１】本実施形態に係る制限鍵生成方法（制限鍵要求処理（相対時限））を示すフローチャートである。
【図１２】本実施形態に係る制限鍵生成装置が保持するカウンタ表の一例である。
【図１３】本実施形態に係る制限鍵生成方法（仮想カウンタ初期化要求処理）を示すフローチャートである。
【図１４】本実施形態に係る制限鍵生成方法（回数制限鍵要求処理）を示すフローチャートである。
【図１５】本実施形態に係る制限鍵生成方法（回数制限鍵「利用」要求処理）を示すフローチャートである。
【図１６】本実施形態に係る制限鍵生成方法（初期化処理）を示すフローチャートである。
【符号の説明】
【０１８０】
１００…制限付データ作成装置
１０１…暗号部
１０２…入出力部
１０３…制限鍵入手部
１０４…ＩＤ生成部
１０５…記憶部
１０６…時計部
１１５…時差変数
１２５…世代変数
２００…制限付データ利用装置
２０１…入出力部
２０２…記憶部
２０３…復号部
２０４…利用部
３００…制限鍵生成装置
３０１…入出力部
３０２…比較部
３０３…ハッシュ計算部
３０４…マスター鍵部
３０５…初期化部
３０６…時計部
３０７…カウンタ部
３１４…マスター鍵
３１６、３２７…世代変数
３１７、３３７…カウンタ表
【図１】
2006227837.tif 000003
【図２】
2006227837.tif 000004
【図３】
2006227837.tif 000005
【図４】
2006227837.tif 000006
【図５】
2006227837.tif 000007
【図６】
2006227837.tif 000008
【図７】
2006227837.tif 000009
【図８】
2006227837.tif 000010
【図９】
2006227837.tif 000011
【図１０】
2006227837.tif 000012
【図１１】
2006227837.tif 000013
【図１２】
2006227837.tif 000014
【図１３】
2006227837.tif 000015
【図１４】
2006227837.tif 000016
【図１５】
2006227837.tif 000017
【図１６】
2006227837.tif 000018