(57)【要約】【課題】アーキテクチャが既知のバス上で伝送されるデータが不正に取り扱われないようにするための認証システム等を提供することである。【解決手段】コンテンツ再生用マシン１は、コンテンツ再生プログラムのハッシュ値に署名したものを含むソフトウェア用証明書をＰＣ−ＤＴＶボード２に送る。ＰＣ−ＤＴＶボード２は、ソフトウェア用証明書内の署名の認証に成功すると、自己のＩＤへの署名を含むユニット用証明書をコンテンツ再生用マシン１に供給する。コンテンツ再生用マシン１は、ユニット用証明書内の署名の認証に成功すると、コンテンツ再生プログラムのハッシュ値を生成して署名し、ＰＣ−ＤＴＶボード２に送る。ＰＣ−ＤＴＶボード２は、当該ハッシュ値への署名の認証に成功すると、当該ハッシュ値がソフトウェア証明書内のハッシュ値に合致するか否かを判別して、合致しなければコンテンツ再生プログラムの実行を阻止する。【選択図】　図１
2004080103.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと、前記コンピュータに接続された認証ユニットとより構成されており、
前記コンピュータは、自己が実行する認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶しており、
前記認証ユニットは、自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶しており、
前記コンピュータは、自己が記憶している前記ソフトウェア用証明書を前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給されたソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶している前記ユニット用証明書を前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給されたユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された前記第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする認証システム。
【請求項２】
前記認証対象のプログラムを実行する前記コンピュータは、当該コンピュータに供給された被処理データを処理する機能を行うものであり、
前記認証ユニットは、外部より被処理データを取得して、前記第１及び第２のダイジェストデータが同一のプログラムを表すと判別したときは当該被処理データを前記コンピュータへと供給し、同一のプログラムを表さないと判別したときは、当該被処理データの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする請求項１に記載の認証システム。
【請求項３】
前記コンピュータは、ユニット認証用チャレンジデータを生成して認証ユニットに供給し、
前記認証ユニットは、前記ユニット認証用チャレンジデータを暗号化して前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給された、暗号化されているユニット認証用チャレンジデータが、自己が生成したユニット認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、前記認証対象のプログラムの実行を中止する、
ことを特徴とする請求項１又は２に記載の認証システム。
【請求項４】
前記認証ユニットは、コンピュータ認証用チャレンジデータを生成して前記コンピュータに供給し、
前記コンピュータは、前記コンピュータ認証用チャレンジデータを暗号化して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された、暗号化されているコンピュータ認証用チャレンジデータが、自己が生成したコンピュータ認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、暗号化されたユニット認証用チャレンジデータの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする請求項３に記載の認証システム。
【請求項５】
認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、を備える、
ことを特徴とする認証装置。
【請求項６】
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第２のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、を備える
ことを特徴とする認証装置。
【請求項７】
コンピュータが実行する認証対象のプログラムを記憶し、
前記認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、外部の装置を識別するデータにデジタル署名を施したものを含んだユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、記憶されている前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施し、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記プログラムの実行を阻止する、
ことを特徴とする認証方法。
【請求項８】
コンピュータを、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、
して機能させるためのプログラム。
【請求項９】
コンピュータを、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第２のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、認証システム、認証装置、認証方法及びプログラムに関する。
【０００２】
【従来の技術】
データ交換を行う機器間（例えば、コンピュータとその周辺機器との間）は、バスを介して接続されている。そして、民生用機器相互間を接続するバスの場合、このバスは通常、アーキテクチャが公開された汎用バスからなっている。汎用バスとしては、例えば、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃ　Ｅｎｇｉｎｅｅｒｓ）１３９４に準拠したバスや、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）や、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｆａｃｅ）バスなどが知られている。
【０００３】
【発明が解決しようとする課題】
汎用バスは、上述の通りアーキテクチャが公開されているので、汎用バスを介して伝送されるデータは、この汎用バスに接続された機器が実行するプログラムを改竄することにより、容易に不正取得ないし不正記録されたり、容易に不正な改竄を加えられたりする、という問題があった。
【０００４】
この発明は、上記実状に鑑みてなされたものであり、アーキテクチャが既知のバス上で伝送されるデータが不正に取り扱われないようにするための認証システムや認証方法、及び、そのような認証システムや認証方法の実現を容易にするための認証装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成すべく、この発明の第１の観点に係る認証システムは、
コンピュータと、前記コンピュータに接続された認証ユニットとより構成されており、
前記コンピュータは、自己が実行する認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶しており、
前記認証ユニットは、自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶しており、
前記コンピュータは、自己が記憶している前記ソフトウェア用証明書を前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給されたソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶している前記ユニット用証明書を前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給されたユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された前記第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする。
【０００６】
前記認証対象のプログラムを実行する前記コンピュータは、当該コンピュータに供給された被処理データを処理する機能を行うものであってもよく、
この場合、前記認証ユニットは、外部より被処理データを取得して、前記第１及び第２のダイジェストデータが同一のプログラムを表すと判別したときは当該被処理データを前記コンピュータへと供給し、同一のプログラムを表さないと判別したときは、当該被処理データの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止するものであってもよい。
【０００７】
前記コンピュータは、ユニット認証用チャレンジデータを生成して認証ユニットに供給してもよく、
前記認証ユニットは、前記ユニット認証用チャレンジデータを暗号化して前記コンピュータに供給してもよく、
前記コンピュータは、前記認証ユニットより供給された、暗号化されているユニット認証用チャレンジデータが、自己が生成したユニット認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、前記認証対象のプログラムの実行を中止するようにしてもよい。
【０００８】
前記認証ユニットは、コンピュータ認証用チャレンジデータを生成して前記コンピュータに供給してもよく、
前記コンピュータは、前記コンピュータ認証用チャレンジデータを暗号化して前記認証ユニットに供給してもよく、
前記認証ユニットは、前記コンピュータより供給された、暗号化されているコンピュータ認証用チャレンジデータが、自己が生成したコンピュータ認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、暗号化されたユニット認証用チャレンジデータの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止するようにしてもよい。
【０００９】
また、この発明の第２の観点に係る認証装置は、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、を備える、
ことを特徴とする。
【００１０】
また、この発明の第３の観点に係る認証装置は、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第２のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、を備える
ことを特徴とする。
【００１１】
また、この発明の第４の観点に係る認証方法は、
コンピュータが実行する認証対象のプログラムを記憶し、
前記認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、外部の装置を識別するデータにデジタル署名を施したものを含んだユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、記憶されている前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施し、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記プログラムの実行を阻止する、
ことを特徴とする。
【００１２】
また、この発明の第５の観点に係るプログラムは、
コンピュータを、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第２のダイジェストデータを生成し、当該第２のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、
して機能させるためのものであることを特徴とする。
【００１３】
また、この発明の第６の観点に係るプログラムは、
コンピュータを、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第１のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第２のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第２のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第１及び第２のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、
して機能させるためのものであることを特徴とする。
【００１４】
【発明の実施の形態】
以下、この発明の実施の形態を、図面を参照して説明する。
図１は、この発明の実施の形態に係るＰＣ−ＤＴＶ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ−Ｄｉｇｉｔａｌ　ＴｅｌｅＶｉｓｉｏｎ）システムの構成を示す図である。図示するように、このＰＣ−ＤＴＶシステムは、コンテンツ再生用マシン１と、ＰＣ−ＤＴＶボード２とより構成されている。
【００１５】
このうちＰＣ−ＤＴＶボード２は、コンテンツ再生用マシン１に着脱可能に接続できるよう構成されており、コンテンツ再生用マシン１のユーザ等によって、接続バスＢを介してコンテンツ再生用マシン１に接続される。
【００１６】
コンテンツ再生用マシン１は、たとえば図１に示すように、プロセッサ１１と、主記憶部１２と、バスコントローラ１３と、入力部１４と、出力部１５と、外部記憶部１６と、を備える。
主記憶部１２、バスコントローラ１３、入力部１４、出力部１５及び外部記憶部１６は、プロセッサ１１に接続されている。また、バスコントローラ１３は、接続バスＢに接続される。なお、接続バスＢは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）からなる。
【００１７】
プロセッサ１１は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）等からなる。プロセッサ１１は、コンテンツ再生用マシン１の起動後、外部記憶部１６に記憶されている後述のコンテンツ再生プログラムＰ１を読み出して実行し、このコンテンツ再生プログラムＰ１に従って、後述する処理を行う。
【００１８】
主記憶部１２は、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）等からなる。主記憶部１２は、プロセッサ１１のワークエリアとなる記憶領域を有する。
【００１９】
バスコントローラ１３は、論理回路等からなり、プロセッサ１１とコンテンツ再生用マシン１の外部の装置（例えば、ＰＣ−ＤＴＶボード２）との間での接続バスＢを介したデータ交換を制御する。
【００２０】
入力部１４は、たとえばキーボードやポインティングデバイス（例えば、マウス）等からなっており、操作者の操作に従ったデータをプロセッサ１１に供給する。
【００２１】
出力部１５は、画像の表示を制御するビデオ回路や、この制御に従って画像を表示する液晶パネル等の表示装置や、音声を再生するための増幅回路及びスピーカ等より構成されている。出力部１５は、プロセッサ１１が供給する指示に従った画像や音声を出力する。
【００２２】
外部記憶部１６は、ハードディスク装置等からなる。外部記憶部１６は、上述したコンテンツ再生プログラムＰ１などのデータを記憶しており、プロセッサ１１からのアクセスに従い、プロセッサ１１が供給するデータを記憶したり、自己が記憶しているデータを読み出してプロセッサ１１に供給したりする。
【００２３】
コンテンツ再生プログラムＰ１が制御する処理は、機能的には複数の処理ブロックを含んでいる。具体的には、図１に示すように、ハッシュ値計算モジュールＭ１１、署名作成モジュールＭ１２、署名確認モジュールＭ１３、乱数発生モジュールＭ１４及びコンテンツ再生モジュールＭ１５、の各処理ブロックを含んでいる。
【００２４】
また、外部記憶部１６は、図１に示すように、ソフトウェア証明書Ｓｃｅｒｔ、ＥＣ−ＤＳＡ（Ｅｌｌｉｐｔｉｃ　Ｃｕｒｖｅ　Ｄｉｇｉｔａｌ　Ｓｉｇｎａｔｕｒｅ　Ａｌｇｏｒｉｔｈｍ）パラメータＣＰ、ユニットＩＤ（ＩＤｅｎｔｉｆｉｅｒ）リストＢＩＤＬ、このＰＣ−ＤＴＶシステムに固有に割り当てられている公開鍵（ＰＣ−ＤＴＶシステム公開鍵）ＳｙｓＫＢ、コンテンツ再生プログラムＰ１の開発者に固有に割り当てられている秘密鍵（ソフトウェア開発元秘密鍵）ＳＫＡ、を予め記憶している。
【００２５】
このうちＥＣ−ＤＳＡパラメータＣＰは、ＥＣ−ＤＳＡの手法による暗号化や復号化のために用いる楕円曲線を特定するパラメータからなっている。
また、ユニットＩＤリストＢＩＤＬは、正当に製造された各ＰＣ−ＤＴＶボードに個別に割り当てられているＩＤ（ユニットＩＤ）を格納するリストである。
【００２６】
また、図２に示すように、ソフトウェア証明書Ｓｃｅｒｔは、以下（１）〜（４）として示すデータ、すなわち、
（１）　コンテンツ再生プログラムＰ１に固有に割り当てられた識別符号（ソフトウェアＩＤ）ＳＩＤ、
（２）　ソフトウェア開発元秘密鍵ＳＫＡと対をなす公開鍵（ソフトウェア開発元公開鍵）ＳＫＢ、
（３）　コンテンツ再生プログラムＰ１を構成するデータをハッシュ関数（例えば、ＳＨＡ−１（Ｓｅｃｕｒｅ　Ｈａｓｈ　Ａｌｇｏｒｉｔｈｍ　１））に代入して得られる値（ソフトウェアのハッシュ値）Ｓｈ１、及び
（４）　上述の（１）〜（３）のデータを互いに結合し、ＰＣ−ＤＴＶシステム公開鍵と対をなす秘密鍵（ＰＣ−ＤＴＶシステム秘密鍵ＳｙｓＫＡ）で暗号化したものに相当するデータ（ソフトウェア証明書のＰＣ−ＤＴＶシステム署名データ）ＳＳＩＧ、
を、対称鍵暗号の手法（例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）の手法）により暗号化したものを含んでいる。（なお、図２は、理解を容易にするため、上述の（１）〜（４）のデータが暗号化される前の状態を模式的に示している。）
【００２７】
なお、（１）〜（４）のデータは個別に暗号化されていてもよいし、（１）〜（４）のデータの一部又は全部が互いに結合された上で一括して暗号化されていてもよい。
また、対をなす秘密鍵及び公開鍵は、「暗号化する対象のデータを秘密鍵を用いてＥＣ−ＤＳＡの手法により暗号化して得られるデータは、この秘密鍵と対をなす公開鍵を用いて復号化しなければ平文のデータへと復元することが実質上できない」という関係にある。
【００２８】
また、図２に示すように、ソフトウェア証明書Ｓｃｅｒｔには、上述の（１）〜（４）のデータを暗号化するために用いた暗号鍵（以下、ＡＥＳ暗号鍵と呼ぶ）を識別する情報を含むデータである鍵ベクトルＳＫＷＫが付されている。
【００２９】
ＰＣ−ＤＴＶボード２は、図３に示すように、デジタル放送受信部２１と、バスコントローラ２２と、内部メモリ２３と、認証処理部２４とを備える。
【００３０】
デジタル放送受信部２１は、復調回路より構成されており、内部バスを介して認証処理部２４に接続されている。デジタル放送受信部２１は、外部よりデジタル放送された、データストリームを表す変調波を入力して復調することにより、データストリームを復元する。そして、復元されたデータストリームを認証処理部２４に供給する。
【００３１】
なお、デジタル放送受信部２１が受信する変調波が表すデータストリームは、上述したコンテンツ加工用の処理ブロックにより再生されるべきコンテンツを表しており、連続した複数のＭＰＥＧ２（Ｍｏｔｉｏｎ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔ　Ｇｒｏｕｐ　２）−ＴＳ（Ｔｒａｎｓｐｏｒｔ　Ｓｔｒｅａｍ）パケットより構成されている。
【００３２】
バスコントローラ２２は、論理回路等より構成されており、接続バスＢを介してコンテンツ再生用マシン１に着脱可能に接続され、また、内部バスを介して認証処理部２４に接続されている。
【００３３】
バスコントローラ２２は、コンテンツ再生用マシン１が署名登録プログラムや認証プログラムの制御に従って行う認証処理部２４へのアクセスを媒介する。
【００３４】
内部メモリ２３は、コンパクトフラッシュ（登録商標）等の不揮発性メモリと、メモリバスを介したデータの伝送を行うためのインターフェース回路とより構成されており、メモリバスを介して認証処理部２４に接続されている。なお、メモリバスは任意の規格に準拠したバスであってよく、内部メモリ２３のインターフェース回路は、メモリバスが準拠する規格に適合したデータ交換を媒介するものであればよい。
内部メモリ２３は、認証処理部２４からのアクセスに従い、認証処理部２４が供給するデータを記憶したり、自己が記憶しているデータを読み出して認証処理部２４に供給したりする。
【００３５】
また、内部メモリ２３は、図３に示すように、認証プログラムＰ２と、ユニット証明書Ｂｃｅｒｔと、上述したものと同一のＥＣ−ＤＳＡパラメータＣＰと、ソフトウェアＩＤリストＳＩＤＬと、ＰＣ−ＤＴＶボード２の開発者に固有に割り当てられている秘密鍵（ユニット開発元秘密鍵）ＢＫＡと、上述したＰＣ−ＤＴＶシステム公開鍵ＳｙｓＫＢと、鍵データベースＫＤＢと、を予め記憶している。
【００３６】
ソフトウェアＩＤリストＳＩＤＬは、上述したソフトウェアＩＤ（ＳＩＤ）を格納するリストである。
鍵データベースＫＤＢは、上述したＡＥＳ暗号鍵を複数格納するデータベースであり、鍵データベースＫＤＢに格納されている各々のＡＥＳ暗号鍵は、自己に固有の鍵ベクトルＳＫＷＫに対応付けられている。従って、鍵ベクトルＳＫＷＫを検索キーとして鍵データベースＫＤＢを検索すれば、ＡＥＳ暗号鍵が１個索出される。
【００３７】
また、図４に示すように、ユニット証明書Ｂｃｅｒｔは、以下（５）〜（７）として示すデータ、すなわち、
（５）　ＰＣ−ＤＴＶボード２に割り当てられている上述のユニットＩＤ（ＢＩＤ）、
（６）　上述のユニット開発元秘密鍵ＢＫＡと対をなす公開鍵（ユニット開発元公開鍵ＢＫＢ）、及び
（７）　上述の（５）及び（６）のデータを互いに結合してＰＣ−ＤＴＶシステム秘密鍵ＳｙｓＫＡで暗号化したものに相当するデータ（ユニット証明書のＰＣ−ＤＴＶシステム署名データ）ＢＳＩＧ、
を含む。
【００３８】
認証処理部２４は、例えば、ＣＰＵ等のプロセッサと、上述のメモリバスが準拠する規格に適合したデータ交換を媒介するメモリバスコントローラ等とより構成されている。なお、認証処理部２４は、認証プログラムＰ２を実行するプロセッサの機能を行う専用の集積回路を、プロセッサに代えて備えるようにしてもよい。この場合、内部メモリ２３は認証プログラムＰ２を記憶している必要はない。
【００３９】
認証処理部２４は、内部バスを介してデジタル放送受信部２１及びバスコントローラ２２に接続され、一方で上述のメモリバスを介して内部メモリ２３に接続されている。認証処理部２４は、コンテンツ再生用マシン１がバスコントローラ２２を介して行うアクセスを受け付け、内部メモリ２３から認証プログラムＰ２を読み出して実行することにより、後述の処理を行う。
【００４０】
認証プログラムＰ２が制御する処理は、機能的には複数の処理ブロックを含んでいる。具体的には、図３に示すように、ハッシュ値計算モジュールＭ２１、署名作成モジュールＭ２２、署名確認モジュールＭ２３、復号化モジュールＭ２４及び乱数発生モジュールＭ２５、の各処理ブロックを含んでいる。
【００４１】
なお、バスコントローラ２２及び認証処理部２４は、コンテンツ再生用マシン１が内部メモリ２３からデータを読み出すためにＰＣ−ＤＴＶボード２へとアクセスしても、このアクセスを実質的に阻止する。
【００４２】
（動作）
次に、このＰＣ−ＤＴＶシステムの動作を説明する。
図５は、このＰＣ−ＤＴＶシステムの動作の手順を示す図である。
【００４３】
コンテンツ再生用マシン１のユーザ等は、コンテンツ再生用マシン１にコンテンツを再生させたい場合は、ＰＣ−ＤＴＶボード２をコンテンツ再生用マシン１に接続し、次いで、コンテンツ再生用マシン１の入力部１４を操作し、コンテンツ再生プログラムＰ１の起動を指示する。コンテンツ再生用マシン１のプロセッサ１１はこの指示に応答して、コンテンツ再生プログラムＰ１を外部記憶部１６より読み出し、実行する。
【００４４】
プロセッサ１１は、コンテンツ再生プログラムＰ１の処理を開始すると、まず、乱数発生モジュールＭ１４の制御に従い、乱数Ｓｎを生成する（図５、ステップＳＢ０１）。
【００４５】
次に、プロセッサ１１は、外部記憶部１６よりソフトウェア証明書Ｓｃｅｒｔを読み出し、ステップＳＢ０１で生成した乱数Ｓｎと、読み出したソフトウェア証明書Ｓｃｅｒｔとを、バスコントローラ１３及び接続バスＢを介してＰＣ−ＤＴＶボード２へと送付する（ステップＳＢ０２）。
【００４６】
ＰＣ−ＤＴＶボード２の認証処理部２４は、コンテンツ再生用マシン１より乱数Ｓｎ及びソフトウェア証明書Ｓｃｅｒｔを送付されると、復号化モジュールＭ２４の制御に従い、このソフトウェア証明書Ｓｃｅｒｔに付されている鍵ベクトルＳＫＷＫをキーとして鍵データベースＫＤＢを検索し、この鍵ベクトルＳＫＷＫが示すＡＥＳ復号鍵を選択して、外部記憶部１６から読み出す（図５、ステップＳＡ０１）。
【００４７】
次に、認証処理部２４は、コンテンツ再生用マシン１より送付されたソフトウェア証明書Ｓｃｅｒｔを、ステップＳＡ０１で選択したＡＥＳ復号鍵を用いて、復号化モジュールＭ２４の制御に従い復号化する（ステップＳＡ０２）。
【００４８】
次に、認証処理部２４は、署名確認モジュールＭ２３の制御に従い、ステップＳＡ０２で復号化されたソフトウェア証明書Ｓｃｅｒｔに含まれるＰＣ−ＤＴＶシステム署名データＳＳＩＧを検証し、ＰＣ−ＤＴＶシステム署名データＳＳＩＧがこのＰＣ−ＤＴＶシステムの正当な署名であるか否かを判別する（ステップＳＡ０３）。そして、正当な署名であると判別すると処理をステップＳＡ０４に進め、正当な署名ではないと判別すると、認証プログラムＰ２の処理を中止する（ステップＳＡ１０）。
【００４９】
ステップＳＡ１０で認証処理部２４が処理を中止すると、デジタル放送受信部２１より供給されるデータストリームのコンテンツ再生用マシン１への供給は遮断される。従って、コンテンツ再生用マシン１は、デジタル放送受信部２１が出力するデータストリームを取得できず、従ってこのデータストリームが表すコンテンツを再生することもできない。
【００５０】
なお、ステップＳＡ０３で認証処理部２４は、具体的には、まず内部メモリ２３よりＰＣ−ＤＴＶシステム公開鍵ＳｙｓＫＢ及びＥＣ−ＤＳＡパラメータＣＰを読み出し、ＰＣ−ＤＴＶシステム公開鍵ＳｙｓＫＢを用いて、ＥＣ−ＤＳＡの手法により、ＰＣ−ＤＴＶシステム署名データＳＳＩＧを復号化する。そして、復号化により得られたデータが、ソフトウェア証明書Ｓｃｅｒｔに含まれる上述の（１）〜（３）のデータと一致するか否かを判別し、一致すると判別すると、ソフトウェア署名データＳＳＩＧがこのＰＣ−ＤＴＶシステムの正当な署名であると判別し、一致しないと判別すると、正当な署名ではないと判別する。
【００５１】
ステップＳＡ０４で認証処理部２４は、署名確認モジュールＭ２３の制御に従い、内部メモリ２３が記憶するソフトウェアＩＤリストＳＩＤＬにアクセスし、ステップＳＡ０２で復号化されたソフトウェア証明書Ｓｃｅｒｔに含まれているソフトウェアＩＤ（ＳＩＤ）をキーとしてソフトウェアＩＤリストＳＩＤＬを検索して、このソフトウェアＩＤ（ＳＩＤ）がソフトウェアＩＤリストＳＩＤＬに含まれているか否かを判別する。そして、含まれていると判別すると処理をステップＳＡ０５に進め、含まれていないと判別すると、認証プログラムＰ２の処理を中止する（ステップＳＡ１０）。
【００５２】
ステップＳＡ０５で認証処理部２４は、乱数発生モジュールＭ２５の制御に従い、乱数Ｂｎを生成する。次に、認証処理部２４は、内部メモリ２３よりユニット証明書Ｂｃｅｒｔを読み出し、ステップＳＡ０５で生成した乱数Ｂｎと、読み出したユニット証明書Ｂｃｅｒｔとを、接続バスＢを介してコンテンツ再生用マシン１へと送付する（ステップＳＡ０６）。
【００５３】
一方、コンテンツ再生用マシン１のプロセッサ１１は、ハッシュ値計算モジュールＭ１１の制御に従い、ステップＳＢ０２の処理を終えると、コンテンツ再生プログラムＰ１を構成するデータを外部記憶部１６より読み出し、このデータを用いて、ソフトウェアのハッシュ値Ｓｈ２を求める（ステップＳＢ０３）。
【００５４】
なお、ソフトウェアのハッシュ値Ｓｈ２は、ステップＳＢ０３で読み出された、コンテンツ再生プログラムＰ１を構成するデータが改竄されていないものであれば、ソフトウェア証明書Ｓｃｅｒｔに含まれるハッシュ値Ｓｈ１と同一の値をとるものであるとする。
【００５５】
そして、プロセッサ１１は、ステップＳＡ０６でＰＣ−ＤＴＶボード２より乱数Ｂｎ及びユニット証明書Ｂｃｅｒｔを送付されると、署名確認モジュールＭ１３の制御に従い、このユニット証明書Ｂｃｅｒｔに含まれるＰＣ−ＤＴＶシステム署名データＢＳＩＧを検証し、このＰＣ−ＤＴＶシステムの正当な署名であるか否かを判別する（ステップＳＢ０４）。そして、正当な署名であると判別すると処理をステップＳＢ０５に進め、正当な署名ではないと判別すると、コンテンツ再生プログラムＰ１の処理を中止する（ステップＳＢ１０）。
【００５６】
ステップＳＢ１０でプロセッサ１１が処理を中止すると、コンテンツ再生用マシン１は、たとえＰＣ−ＤＴＶボード２よりデータストリームが供給されても、このデータストリームを取得せず、従ってこのデータストリームが表すコンテンツの再生を行わない。
【００５７】
なお、ステップＳＢ０４でプロセッサ１１は、具体的には、まず外部記憶部１６よりＰＣ−ＤＴＶシステム公開鍵ＳｙｓＫＢ及びＥＣ−ＤＳＡパラメータＣＰを読み出し、ＰＣ−ＤＴＶシステム公開鍵ＳｙｓＫＢを用いて、ＥＣ−ＤＳＡの手法により、ユニット証明書Ｂｃｅｒｔに含まれるＰＣ−ＤＴＶシステム署名データＢＳＩＧを復号化する。そして、復号化により得られたデータが、ユニット証明書Ｂｃｅｒｔに含まれる上述の（５）及び（６）のデータと一致するか否かを判別し、一致すると判別すると、ＰＣ−ＤＴＶシステム署名データＢＳＩＧがこのＰＣ−ＤＴＶシステムの正当な署名であると判別し、一致しないと判別すると、正当な署名ではないと判別する。
【００５８】
ステップＳＢ０５でプロセッサ１１は、署名確認モジュールＭ１３の制御に従い、外部記憶部１６が記憶するユニットＩＤリストＢＩＤＬにアクセスし、ステップＳＡ０６でＰＣ−ＤＴＶボード２より送付されたユニット証明書Ｂｃｅｒｔに含まれているユニットＩＤ（ＢＩＤ）をキーとしてユニットＩＤリストＢＩＤＬを検索して、このユニットＩＤ（ＢＩＤ）がユニットＩＤリストＢＩＤＬに含まれているか否かを判別する。そして、含まれていると判別すると処理をステップＳＢ０６に進め、含まれていないと判別すると、コンテンツ再生プログラムＰ１の処理を中止する（ステップＳＢ１０）。
【００５９】
ステップＳＢ０６でプロセッサ１１は、署名作成モジュールＭ１２の制御に従い、ステップＳＡ０６で送付された乱数ＢｎとステップＳＢ０３で生成したハッシュ値Ｓｈ２とを結合し、結合により得られたデータを、外部記憶部１６が記憶しているソフトウェア開発元秘密鍵ＳＫＡ及びＥＣ−ＤＳＡパラメータＣＰを用い、ＥＣ−ＤＳＡの手法により暗号化することにより、署名データＳｅｎｃを生成する。（すなわち、結合により得られたデータに、コンテンツ再生用マシン１のデジタル署名を施す。）
そして、プロセッサ１１は、生成した署名データＳｅｎｃを、バスコントローラ１３及び接続バスＢを介してＰＣ−ＤＴＶボード２へと送付する（ステップＳＢ０７）。
【００６０】
なお、署名データＳｅｎｃには平文の乱数Ｂｎも平文のハッシュ値Ｓｈ２も含まれていない。従って、署名データＳｅｎｃを不正に入手した者が平文の乱数Ｂｎやハッシュ値Ｓｈ２の値を知ることは、実質的に不可能である。
【００６１】
ＰＣ−ＤＴＶボード２の認証処理部２４は、コンテンツ再生用マシン１より署名データＳｅｎｃを送付されると、署名確認モジュールＭ２３の制御に従ってこの署名データＳｅｎｃを検証し、署名データＳｅｎｃがコンテンツ再生用マシン１の正当な署名であるか否かを判別する（ステップＳＡ０７）。すなわち、この署名データＳｅｎｃを、ステップＳＡ０２で復号化されたソフトウェア証明書Ｓｃｅｒｔに含まれているソフトウェア開発元公開鍵ＳＫＢ、及び、内部メモリ２３が記憶しているＥＣ−ＤＳＡパラメータＣＰを用い、ＥＣ−ＤＳＡの手法に従って認証する。
【００６２】
そして、ステップＳＡ０７で、署名データＳｅｎｃがコンテンツ再生用マシン１の正当な署名であると判別すると（認証に成功すると）、認証処理部２４は、デジタル放送受信部２１より供給されるデータストリームを取得して、バスコントローラ２２を介し、コンテンツ再生用マシン１に供給する。
ただし、コンテンツ再生用マシン１は、後述するステップＳＢ０８までの処理が完了するまではこのデータストリームを受信せず、従ってこのデータストリームが表すコンテンツの再生を行わない。
一方、署名データＳｅｎｃが正当な署名ではないとステップＳＡ０７で判別すると（認証に失敗すると）、認証処理部２４は、認証プログラムＰ２の処理を中止する（ステップＳＡ１０）。
【００６３】
また、認証処理部２４は、署名データＳｅｎｃが正当な署名であるとステップＳＡ０７で判別すると、ステップＳＢ０２でコンテンツ再生用マシン１より送付された乱数Ｓｎを、署名作成モジュールＭ２２の制御に従い、内部メモリ２３が記憶しているユニット開発元秘密鍵ＢＫＡ及びＥＣ−ＤＳＡパラメータＣＰを用い、ＥＣ−ＤＳＡの手法によって暗号化することにより、署名データＢｅｎｃを生成する（ステップＳＡ０８）。（すなわち、乱数Ｓｎに、ＰＣ−ＤＴＶボード２のデジタル署名を施す。）
そして、認証処理部２４は、署名データＢｅｎｃを、接続バスＢを介してコンテンツ再生用マシン１へと送付する（ステップＳＡ０９）。
【００６４】
コンテンツ再生用マシン１のプロセッサ１１は、接続バスＢ及びバスコントローラ１３を介してＰＣ−ＤＴＶボード２より署名データＢｅｎｃを送付されると、署名確認モジュールＭ１３の制御に従い、この署名データＢｅｎｃを検証し、署名データＢｅｎｃがＰＣ−ＤＴＶボード２の正当な署名であるか否かを判別する（ステップＳＢ０８）。すなわち、この署名データＢｅｎｃを、ステップＳＢ０４で正当な署名があると判別されたユニット証明書Ｂｃｅｒｔに含まれているユニット開発元公開鍵ＢＫＢ、及び、外部記憶部１６が記憶しているＥＣ−ＤＳＡパラメータＣＰを用い、ＥＣ−ＤＳＡの手法で認証する。
【００６５】
そして、ステップＳＢ０８で、署名データＢｅｎｃがＰＣ−ＤＴＶボード２の正当な署名ではないと判別すると（認証に失敗すると）、プロセッサ１１は、コンテンツ再生プログラムＰ１の処理を中止する（ステップＳＢ１０）。
一方、署名データＢｅｎｃがＰＣ−ＤＴＶボード２の正当な署名であるとステップＳＢ０８で判別（認証に成功）して以降、プロセッサ１１は、接続バスＢ及びバスコントローラ１３を介してＰＣ−ＤＴＶボード２よりデータストリームが供給されると、コンテンツ再生モジュールＭ１５の制御に従ってこのデータストリームを構成するＴＳパケットに含まれるコンテンツデータを解析し、このコンテンツデータが表す音声や画像を出力するよう、出力部１５に指示を供給する。出力部１５は、プロセッサ１１が供給する指示に従った画像や音声を出力する（ステップＳＢ０９）。
【００６６】
以上説明した動作を行った結果、ＰＣ−ＤＴＶボード２によるステップＳＡ０１〜ＳＡ０９の処理及びコンテンツ再生用マシン１によるステップＳＢ０１〜ＳＢ０７の処理を経てステップＳＢ０８での検証に成功すれば、コンテンツ再生用マシン１とＰＣ−ＤＴＶボード２との相互認証に成功したものとしてコンテンツが再生され、その他の場合は、この相互認証が失敗したものとしてコンテンツの再生が阻止される。
【００６７】
そして、この相互認証は、コンテンツ再生プログラムＰ１を構成するデータのハッシュ値を用いて行われるので、例えば、接続バスＢ上を通過するデータの不正取得や不正改竄を行うためにコンテンツ再生プログラムＰ１が改竄された場合、この相互認証は失敗する。従って、接続バスＢを用いて伝送されるデータの保護が十分に図られる。
【００６８】
なお、このＰＣ−ＤＴＶシステムの構成は上述のものに限られない。
たとえば、ソフトウェアのハッシュ値Ｓｈ１やＳｈ２の作成に用いられるハッシュ関数はＳＨＡ−１である必要はなく、例えば、ＳＨＡ−２５６、ＳＨＡ−５１２、ＭＤ−５（Ｍｅｓｓａｇｅ　Ｄｉｇｅｓｔ　５）あるいはその他のハッシュ関数でもよい。
また、このＰＣ−ＤＴＶシステムは、ＥＣ−ＤＳＡの手法によるデジタル署名の作成や認証に代えて、他の任意の公開鍵暗号の手法によりデジタル署名の作成や認証を行うようにしてもよい。
また、上述した（１）〜（４）のデータの暗号化や復号化の手法はＡＥＳに限られず、ＤＥＳ（Ｄａｔａ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ）やその他任意の対称鍵暗号の手法であってもよい。
【００６９】
また、ＢＩＤは、ＰＣ−ＤＴＶボード２が記憶するデータの全部又は所定の一部（例えば、認証プログラムＰ２を構成するデータなど）から構成されていてもよい。
【００７０】
また、接続バスＢは必ずしもＵＳＢに限られず任意の規格に準拠したバスであってよい。従って、接続バスＢは、たとえばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　ａｎｄ　Ｅｌｅｃｔｒｏｎｉｃ　Ｅｎｇｉｎｅｅｒｓ）１３９４に準拠するバスや、あるいはＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｆａｃｅ）バスからなっていてもよい。そして、バスコントローラ２２は、接続バスＢが準拠する規格に適合したデータ交換を媒介するものであればよい。
【００７１】
以上、この発明の実施の形態を説明したが、この発明にかかる認証システム及び認証装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、拡張スロットを備えるパーソナルコンピュータに上述のコンテンツ再生用マシン１の動作を実行させるためのプログラムを格納した媒体（ＣＤ−ＲＯＭ、ＭＯ、フロッピー（登録商標）ディスク等）から該プログラムをインストールし、このパーソナルコンピュータの拡張スロットに装着可能なマイクロコンピュータに上述のＰＣ−ＤＴＶボード２の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、上述の処理を実行するＰＣ−ＤＴＶシステムを構成することができる。
【００７２】
また、例えば、通信回線の掲示板（ＢＢＳ）にこれらのプログラムをアップロードし、これを通信回線を介して配信してもよく、また、これらのプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して該プログラムを復元するようにしてもよい。
そして、これらのプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００７３】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【００７４】
【発明の効果】
以上説明したように、この発明によれば、アーキテクチャが既知のバス上で伝送されるデータが不正に取り扱われないようにするための認証システム及び認証方法、及び、そのような認証システムや認証方法の実現を容易にするための認証装置が実現される。
【図面の簡単な説明】
【図１】この発明の実施の形態に係るＰＣ−ＤＴＶシステムの構成を示すブロック図である。
【図２】ソフトウェア証明書のデータ構造を模式的に示す図である。
【図３】ＰＣ−ＤＴＶボードの構成を示すブロック図である。
【図４】ユニット証明書のデータ構造を模式的に示す図である。
【図５】図１のＰＣ−ＤＴＶシステムの動作の手順を示す図である。
【符号の説明】
１　　　コンテンツ再生用マシン
１１　　　プロセッサ
１２　　　主記憶部
１３　　　バスコントローラ
１４　　　入力部
１５　　　出力部
１６　　　外部記憶部
２　　　ＰＣ−ＤＴＶボード
２１　　　デジタル放送受信部
２２　　　バスコントローラ
２３　　　内部メモリ
２４　　　認証処理部
Ｂ　　　接続バス
Ｐ１　　　コンテンツ再生プログラム
Ｍ１１　　　ハッシュ値計算モジュール
Ｍ１２　　　署名作成モジュール
Ｍ１３　　　署名確認モジュール
Ｍ１４　　　乱数発生モジュール
Ｍ１５　　　コンテンツ再生モジュール
Ｐ２　　　認証プログラム
Ｍ２１　　　ハッシュ値計算モジュール
Ｍ２２　　　署名作成モジュール
Ｍ２３　　　署名確認モジュール
Ｍ２４　　　復号化モジュール
Ｍ２５　　　乱数発生モジュール
Ｂｃｅｒｔ　　　ユニット証明書
ＢＩＤ　　　ユニットＩＤ
ＢＩＤＬ　　　ユニットＩＤリスト
ＢＫＡ　　　ユニット開発元秘密鍵
ＢＫＢ　　　ユニット開発元公開鍵
ＢＳＩＧ　　　ユニット証明書のＰＣ−ＤＴＶシステム署名データ
Ｓｃｅｒｔ　　　ソフトウェア証明書
ＳＩＤ　　　ソフトウェアＩＤ
ＳＩＤＬ　　　ソフトウェアＩＤリスト
ＳＫＡ　　　ソフトウェア開発元秘密鍵
ＳＫＢ　　　ソフトウェア開発元公開鍵
Ｓｈ１、Ｓｈ２　　　ソフトウェアのハッシュ値
ＳＳＩＧ　　　ソフトウェア証明書のＰＣ−ＤＴＶシステム署名データ
ＳＫＷＫ　　　鍵ベクトル
ＫＤＢ　　　鍵データベース
ＣＰ　　　ＥＣ−ＤＳＡパラメータ
ＳｙｓＫＢ　　　ＰＣ−ＤＴＶシステム公開鍵
【図１】
2004080103.tif 000003
【図２】
2004080103.tif 000004
【図３】
2004080103.tif 000005
【図４】
2004080103.tif 000006
【図５】
2004080103.tif 000007