[go: up one dir, main page]

JP2004080103A - Authentication system, authentication apparatus, authentication method and program - Google Patents

Authentication system, authentication apparatus, authentication method and program Download PDF

Info

Publication number
JP2004080103A
JP2004080103A JP2002233916A JP2002233916A JP2004080103A JP 2004080103 A JP2004080103 A JP 2004080103A JP 2002233916 A JP2002233916 A JP 2002233916A JP 2002233916 A JP2002233916 A JP 2002233916A JP 2004080103 A JP2004080103 A JP 2004080103A
Authority
JP
Japan
Prior art keywords
authentication
computer
unit
program
data
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
Application number
JP2002233916A
Other languages
Japanese (ja)
Other versions
JP3834532B2 (en
Inventor
Soichi Shinjo
新城 ▲壮▼一
Shoji Matsuda
松田 昇治
Yasuhiro Shimizu
清水 康宏
Masato Takanashi
高梨 真人
Katsutoshi Ishiwata
石綿 克利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kenwood KK
Original Assignee
Kenwood KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kenwood KK filed Critical Kenwood KK
Priority to JP2002233916A priority Critical patent/JP3834532B2/en
Publication of JP2004080103A publication Critical patent/JP2004080103A/en
Application granted granted Critical
Publication of JP3834532B2 publication Critical patent/JP3834532B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an authentication system or the like whereby data transmitted on a bus whose architecture is known are not illegitimately processed. <P>SOLUTION: A contents reproduction machine 1 transmits a software certificate including a signed hash value of a contents reproduction program to a PC-DTV board 2. The PC-DTV board 2 supplies a unit certificate including a signature signed to its own ID to the contents reproduction machine 1 when successfully authenticating the signature in the software certificate. When successfully authenticating the signature in the unit certificate, the contents reproduction machine 1 generates and signs the hash value of the contents reproduction program and transmits the result to the PC-DTV board 2. When successfully authenticating the signature of the hash value, the PC-DTV board 2 discriminates whether or not the hash value is coincident with the hash value in the software certificate, and blocks execution of the contents reproduction program when the hash value is dissident with the hash value in the software certificate. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、認証システム、認証装置、認証方法及びプログラムに関する。
【0002】
【従来の技術】
データ交換を行う機器間(例えば、コンピュータとその周辺機器との間)は、バスを介して接続されている。そして、民生用機器相互間を接続するバスの場合、このバスは通常、アーキテクチャが公開された汎用バスからなっている。汎用バスとしては、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394に準拠したバスや、USB(Universal Serial Bus)や、PCI(Peripheral Component Interface)バスなどが知られている。
【0003】
【発明が解決しようとする課題】
汎用バスは、上述の通りアーキテクチャが公開されているので、汎用バスを介して伝送されるデータは、この汎用バスに接続された機器が実行するプログラムを改竄することにより、容易に不正取得ないし不正記録されたり、容易に不正な改竄を加えられたりする、という問題があった。
【0004】
この発明は、上記実状に鑑みてなされたものであり、アーキテクチャが既知のバス上で伝送されるデータが不正に取り扱われないようにするための認証システムや認証方法、及び、そのような認証システムや認証方法の実現を容易にするための認証装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成すべく、この発明の第1の観点に係る認証システムは、
コンピュータと、前記コンピュータに接続された認証ユニットとより構成されており、
前記コンピュータは、自己が実行する認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶しており、
前記認証ユニットは、自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶しており、
前記コンピュータは、自己が記憶している前記ソフトウェア用証明書を前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給されたソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶している前記ユニット用証明書を前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給されたユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された前記第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする。
【0006】
前記認証対象のプログラムを実行する前記コンピュータは、当該コンピュータに供給された被処理データを処理する機能を行うものであってもよく、
この場合、前記認証ユニットは、外部より被処理データを取得して、前記第1及び第2のダイジェストデータが同一のプログラムを表すと判別したときは当該被処理データを前記コンピュータへと供給し、同一のプログラムを表さないと判別したときは、当該被処理データの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止するものであってもよい。
【0007】
前記コンピュータは、ユニット認証用チャレンジデータを生成して認証ユニットに供給してもよく、
前記認証ユニットは、前記ユニット認証用チャレンジデータを暗号化して前記コンピュータに供給してもよく、
前記コンピュータは、前記認証ユニットより供給された、暗号化されているユニット認証用チャレンジデータが、自己が生成したユニット認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、前記認証対象のプログラムの実行を中止するようにしてもよい。
【0008】
前記認証ユニットは、コンピュータ認証用チャレンジデータを生成して前記コンピュータに供給してもよく、
前記コンピュータは、前記コンピュータ認証用チャレンジデータを暗号化して前記認証ユニットに供給してもよく、
前記認証ユニットは、前記コンピュータより供給された、暗号化されているコンピュータ認証用チャレンジデータが、自己が生成したコンピュータ認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、暗号化されたユニット認証用チャレンジデータの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止するようにしてもよい。
【0009】
また、この発明の第2の観点に係る認証装置は、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、を備える、
ことを特徴とする。
【0010】
また、この発明の第3の観点に係る認証装置は、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第2のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、を備える
ことを特徴とする。
【0011】
また、この発明の第4の観点に係る認証方法は、
コンピュータが実行する認証対象のプログラムを記憶し、
前記認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、外部の装置を識別するデータにデジタル署名を施したものを含んだユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、記憶されている前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施し、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記プログラムの実行を阻止する、
ことを特徴とする。
【0012】
また、この発明の第5の観点に係るプログラムは、
コンピュータを、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、
して機能させるためのものであることを特徴とする。
【0013】
また、この発明の第6の観点に係るプログラムは、
コンピュータを、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第2のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、
して機能させるためのものであることを特徴とする。
【0014】
【発明の実施の形態】
以下、この発明の実施の形態を、図面を参照して説明する。
図1は、この発明の実施の形態に係るPC−DTV(Personal Computer−Digital TeleVision)システムの構成を示す図である。図示するように、このPC−DTVシステムは、コンテンツ再生用マシン1と、PC−DTVボード2とより構成されている。
【0015】
このうちPC−DTVボード2は、コンテンツ再生用マシン1に着脱可能に接続できるよう構成されており、コンテンツ再生用マシン1のユーザ等によって、接続バスBを介してコンテンツ再生用マシン1に接続される。
【0016】
コンテンツ再生用マシン1は、たとえば図1に示すように、プロセッサ11と、主記憶部12と、バスコントローラ13と、入力部14と、出力部15と、外部記憶部16と、を備える。
主記憶部12、バスコントローラ13、入力部14、出力部15及び外部記憶部16は、プロセッサ11に接続されている。また、バスコントローラ13は、接続バスBに接続される。なお、接続バスBは、USB(Universal Serial Bus)からなる。
【0017】
プロセッサ11は、CPU(Central Processing Unit)等からなる。プロセッサ11は、コンテンツ再生用マシン1の起動後、外部記憶部16に記憶されている後述のコンテンツ再生プログラムP1を読み出して実行し、このコンテンツ再生プログラムP1に従って、後述する処理を行う。
【0018】
主記憶部12は、RAM(Random Access Memory)等からなる。主記憶部12は、プロセッサ11のワークエリアとなる記憶領域を有する。
【0019】
バスコントローラ13は、論理回路等からなり、プロセッサ11とコンテンツ再生用マシン1の外部の装置(例えば、PC−DTVボード2)との間での接続バスBを介したデータ交換を制御する。
【0020】
入力部14は、たとえばキーボードやポインティングデバイス(例えば、マウス)等からなっており、操作者の操作に従ったデータをプロセッサ11に供給する。
【0021】
出力部15は、画像の表示を制御するビデオ回路や、この制御に従って画像を表示する液晶パネル等の表示装置や、音声を再生するための増幅回路及びスピーカ等より構成されている。出力部15は、プロセッサ11が供給する指示に従った画像や音声を出力する。
【0022】
外部記憶部16は、ハードディスク装置等からなる。外部記憶部16は、上述したコンテンツ再生プログラムP1などのデータを記憶しており、プロセッサ11からのアクセスに従い、プロセッサ11が供給するデータを記憶したり、自己が記憶しているデータを読み出してプロセッサ11に供給したりする。
【0023】
コンテンツ再生プログラムP1が制御する処理は、機能的には複数の処理ブロックを含んでいる。具体的には、図1に示すように、ハッシュ値計算モジュールM11、署名作成モジュールM12、署名確認モジュールM13、乱数発生モジュールM14及びコンテンツ再生モジュールM15、の各処理ブロックを含んでいる。
【0024】
また、外部記憶部16は、図1に示すように、ソフトウェア証明書Scert、EC−DSA(Elliptic Curve Digital Signature Algorithm)パラメータCP、ユニットID(IDentifier)リストBIDL、このPC−DTVシステムに固有に割り当てられている公開鍵(PC−DTVシステム公開鍵)SysKB、コンテンツ再生プログラムP1の開発者に固有に割り当てられている秘密鍵(ソフトウェア開発元秘密鍵)SKA、を予め記憶している。
【0025】
このうちEC−DSAパラメータCPは、EC−DSAの手法による暗号化や復号化のために用いる楕円曲線を特定するパラメータからなっている。
また、ユニットIDリストBIDLは、正当に製造された各PC−DTVボードに個別に割り当てられているID(ユニットID)を格納するリストである。
【0026】
また、図2に示すように、ソフトウェア証明書Scertは、以下(1)〜(4)として示すデータ、すなわち、
(1) コンテンツ再生プログラムP1に固有に割り当てられた識別符号(ソフトウェアID)SID、
(2) ソフトウェア開発元秘密鍵SKAと対をなす公開鍵(ソフトウェア開発元公開鍵)SKB、
(3) コンテンツ再生プログラムP1を構成するデータをハッシュ関数(例えば、SHA−1(Secure Hash Algorithm 1))に代入して得られる値(ソフトウェアのハッシュ値)Sh1、及び
(4) 上述の(1)〜(3)のデータを互いに結合し、PC−DTVシステム公開鍵と対をなす秘密鍵(PC−DTVシステム秘密鍵SysKA)で暗号化したものに相当するデータ(ソフトウェア証明書のPC−DTVシステム署名データ)SSIG、
を、対称鍵暗号の手法(例えば、AES(Advanced Encryption Standard)の手法)により暗号化したものを含んでいる。(なお、図2は、理解を容易にするため、上述の(1)〜(4)のデータが暗号化される前の状態を模式的に示している。)
【0027】
なお、(1)〜(4)のデータは個別に暗号化されていてもよいし、(1)〜(4)のデータの一部又は全部が互いに結合された上で一括して暗号化されていてもよい。
また、対をなす秘密鍵及び公開鍵は、「暗号化する対象のデータを秘密鍵を用いてEC−DSAの手法により暗号化して得られるデータは、この秘密鍵と対をなす公開鍵を用いて復号化しなければ平文のデータへと復元することが実質上できない」という関係にある。
【0028】
また、図2に示すように、ソフトウェア証明書Scertには、上述の(1)〜(4)のデータを暗号化するために用いた暗号鍵(以下、AES暗号鍵と呼ぶ)を識別する情報を含むデータである鍵ベクトルSKWKが付されている。
【0029】
PC−DTVボード2は、図3に示すように、デジタル放送受信部21と、バスコントローラ22と、内部メモリ23と、認証処理部24とを備える。
【0030】
デジタル放送受信部21は、復調回路より構成されており、内部バスを介して認証処理部24に接続されている。デジタル放送受信部21は、外部よりデジタル放送された、データストリームを表す変調波を入力して復調することにより、データストリームを復元する。そして、復元されたデータストリームを認証処理部24に供給する。
【0031】
なお、デジタル放送受信部21が受信する変調波が表すデータストリームは、上述したコンテンツ加工用の処理ブロックにより再生されるべきコンテンツを表しており、連続した複数のMPEG2(Motion Picture Expert Group 2)−TS(Transport Stream)パケットより構成されている。
【0032】
バスコントローラ22は、論理回路等より構成されており、接続バスBを介してコンテンツ再生用マシン1に着脱可能に接続され、また、内部バスを介して認証処理部24に接続されている。
【0033】
バスコントローラ22は、コンテンツ再生用マシン1が署名登録プログラムや認証プログラムの制御に従って行う認証処理部24へのアクセスを媒介する。
【0034】
内部メモリ23は、コンパクトフラッシュ(登録商標)等の不揮発性メモリと、メモリバスを介したデータの伝送を行うためのインターフェース回路とより構成されており、メモリバスを介して認証処理部24に接続されている。なお、メモリバスは任意の規格に準拠したバスであってよく、内部メモリ23のインターフェース回路は、メモリバスが準拠する規格に適合したデータ交換を媒介するものであればよい。
内部メモリ23は、認証処理部24からのアクセスに従い、認証処理部24が供給するデータを記憶したり、自己が記憶しているデータを読み出して認証処理部24に供給したりする。
【0035】
また、内部メモリ23は、図3に示すように、認証プログラムP2と、ユニット証明書Bcertと、上述したものと同一のEC−DSAパラメータCPと、ソフトウェアIDリストSIDLと、PC−DTVボード2の開発者に固有に割り当てられている秘密鍵(ユニット開発元秘密鍵)BKAと、上述したPC−DTVシステム公開鍵SysKBと、鍵データベースKDBと、を予め記憶している。
【0036】
ソフトウェアIDリストSIDLは、上述したソフトウェアID(SID)を格納するリストである。
鍵データベースKDBは、上述したAES暗号鍵を複数格納するデータベースであり、鍵データベースKDBに格納されている各々のAES暗号鍵は、自己に固有の鍵ベクトルSKWKに対応付けられている。従って、鍵ベクトルSKWKを検索キーとして鍵データベースKDBを検索すれば、AES暗号鍵が1個索出される。
【0037】
また、図4に示すように、ユニット証明書Bcertは、以下(5)〜(7)として示すデータ、すなわち、
(5) PC−DTVボード2に割り当てられている上述のユニットID(BID)、
(6) 上述のユニット開発元秘密鍵BKAと対をなす公開鍵(ユニット開発元公開鍵BKB)、及び
(7) 上述の(5)及び(6)のデータを互いに結合してPC−DTVシステム秘密鍵SysKAで暗号化したものに相当するデータ(ユニット証明書のPC−DTVシステム署名データ)BSIG、
を含む。
【0038】
認証処理部24は、例えば、CPU等のプロセッサと、上述のメモリバスが準拠する規格に適合したデータ交換を媒介するメモリバスコントローラ等とより構成されている。なお、認証処理部24は、認証プログラムP2を実行するプロセッサの機能を行う専用の集積回路を、プロセッサに代えて備えるようにしてもよい。この場合、内部メモリ23は認証プログラムP2を記憶している必要はない。
【0039】
認証処理部24は、内部バスを介してデジタル放送受信部21及びバスコントローラ22に接続され、一方で上述のメモリバスを介して内部メモリ23に接続されている。認証処理部24は、コンテンツ再生用マシン1がバスコントローラ22を介して行うアクセスを受け付け、内部メモリ23から認証プログラムP2を読み出して実行することにより、後述の処理を行う。
【0040】
認証プログラムP2が制御する処理は、機能的には複数の処理ブロックを含んでいる。具体的には、図3に示すように、ハッシュ値計算モジュールM21、署名作成モジュールM22、署名確認モジュールM23、復号化モジュールM24及び乱数発生モジュールM25、の各処理ブロックを含んでいる。
【0041】
なお、バスコントローラ22及び認証処理部24は、コンテンツ再生用マシン1が内部メモリ23からデータを読み出すためにPC−DTVボード2へとアクセスしても、このアクセスを実質的に阻止する。
【0042】
(動作)
次に、このPC−DTVシステムの動作を説明する。
図5は、このPC−DTVシステムの動作の手順を示す図である。
【0043】
コンテンツ再生用マシン1のユーザ等は、コンテンツ再生用マシン1にコンテンツを再生させたい場合は、PC−DTVボード2をコンテンツ再生用マシン1に接続し、次いで、コンテンツ再生用マシン1の入力部14を操作し、コンテンツ再生プログラムP1の起動を指示する。コンテンツ再生用マシン1のプロセッサ11はこの指示に応答して、コンテンツ再生プログラムP1を外部記憶部16より読み出し、実行する。
【0044】
プロセッサ11は、コンテンツ再生プログラムP1の処理を開始すると、まず、乱数発生モジュールM14の制御に従い、乱数Snを生成する(図5、ステップSB01)。
【0045】
次に、プロセッサ11は、外部記憶部16よりソフトウェア証明書Scertを読み出し、ステップSB01で生成した乱数Snと、読み出したソフトウェア証明書Scertとを、バスコントローラ13及び接続バスBを介してPC−DTVボード2へと送付する(ステップSB02)。
【0046】
PC−DTVボード2の認証処理部24は、コンテンツ再生用マシン1より乱数Sn及びソフトウェア証明書Scertを送付されると、復号化モジュールM24の制御に従い、このソフトウェア証明書Scertに付されている鍵ベクトルSKWKをキーとして鍵データベースKDBを検索し、この鍵ベクトルSKWKが示すAES復号鍵を選択して、外部記憶部16から読み出す(図5、ステップSA01)。
【0047】
次に、認証処理部24は、コンテンツ再生用マシン1より送付されたソフトウェア証明書Scertを、ステップSA01で選択したAES復号鍵を用いて、復号化モジュールM24の制御に従い復号化する(ステップSA02)。
【0048】
次に、認証処理部24は、署名確認モジュールM23の制御に従い、ステップSA02で復号化されたソフトウェア証明書Scertに含まれるPC−DTVシステム署名データSSIGを検証し、PC−DTVシステム署名データSSIGがこのPC−DTVシステムの正当な署名であるか否かを判別する(ステップSA03)。そして、正当な署名であると判別すると処理をステップSA04に進め、正当な署名ではないと判別すると、認証プログラムP2の処理を中止する(ステップSA10)。
【0049】
ステップSA10で認証処理部24が処理を中止すると、デジタル放送受信部21より供給されるデータストリームのコンテンツ再生用マシン1への供給は遮断される。従って、コンテンツ再生用マシン1は、デジタル放送受信部21が出力するデータストリームを取得できず、従ってこのデータストリームが表すコンテンツを再生することもできない。
【0050】
なお、ステップSA03で認証処理部24は、具体的には、まず内部メモリ23よりPC−DTVシステム公開鍵SysKB及びEC−DSAパラメータCPを読み出し、PC−DTVシステム公開鍵SysKBを用いて、EC−DSAの手法により、PC−DTVシステム署名データSSIGを復号化する。そして、復号化により得られたデータが、ソフトウェア証明書Scertに含まれる上述の(1)〜(3)のデータと一致するか否かを判別し、一致すると判別すると、ソフトウェア署名データSSIGがこのPC−DTVシステムの正当な署名であると判別し、一致しないと判別すると、正当な署名ではないと判別する。
【0051】
ステップSA04で認証処理部24は、署名確認モジュールM23の制御に従い、内部メモリ23が記憶するソフトウェアIDリストSIDLにアクセスし、ステップSA02で復号化されたソフトウェア証明書Scertに含まれているソフトウェアID(SID)をキーとしてソフトウェアIDリストSIDLを検索して、このソフトウェアID(SID)がソフトウェアIDリストSIDLに含まれているか否かを判別する。そして、含まれていると判別すると処理をステップSA05に進め、含まれていないと判別すると、認証プログラムP2の処理を中止する(ステップSA10)。
【0052】
ステップSA05で認証処理部24は、乱数発生モジュールM25の制御に従い、乱数Bnを生成する。次に、認証処理部24は、内部メモリ23よりユニット証明書Bcertを読み出し、ステップSA05で生成した乱数Bnと、読み出したユニット証明書Bcertとを、接続バスBを介してコンテンツ再生用マシン1へと送付する(ステップSA06)。
【0053】
一方、コンテンツ再生用マシン1のプロセッサ11は、ハッシュ値計算モジュールM11の制御に従い、ステップSB02の処理を終えると、コンテンツ再生プログラムP1を構成するデータを外部記憶部16より読み出し、このデータを用いて、ソフトウェアのハッシュ値Sh2を求める(ステップSB03)。
【0054】
なお、ソフトウェアのハッシュ値Sh2は、ステップSB03で読み出された、コンテンツ再生プログラムP1を構成するデータが改竄されていないものであれば、ソフトウェア証明書Scertに含まれるハッシュ値Sh1と同一の値をとるものであるとする。
【0055】
そして、プロセッサ11は、ステップSA06でPC−DTVボード2より乱数Bn及びユニット証明書Bcertを送付されると、署名確認モジュールM13の制御に従い、このユニット証明書Bcertに含まれるPC−DTVシステム署名データBSIGを検証し、このPC−DTVシステムの正当な署名であるか否かを判別する(ステップSB04)。そして、正当な署名であると判別すると処理をステップSB05に進め、正当な署名ではないと判別すると、コンテンツ再生プログラムP1の処理を中止する(ステップSB10)。
【0056】
ステップSB10でプロセッサ11が処理を中止すると、コンテンツ再生用マシン1は、たとえPC−DTVボード2よりデータストリームが供給されても、このデータストリームを取得せず、従ってこのデータストリームが表すコンテンツの再生を行わない。
【0057】
なお、ステップSB04でプロセッサ11は、具体的には、まず外部記憶部16よりPC−DTVシステム公開鍵SysKB及びEC−DSAパラメータCPを読み出し、PC−DTVシステム公開鍵SysKBを用いて、EC−DSAの手法により、ユニット証明書Bcertに含まれるPC−DTVシステム署名データBSIGを復号化する。そして、復号化により得られたデータが、ユニット証明書Bcertに含まれる上述の(5)及び(6)のデータと一致するか否かを判別し、一致すると判別すると、PC−DTVシステム署名データBSIGがこのPC−DTVシステムの正当な署名であると判別し、一致しないと判別すると、正当な署名ではないと判別する。
【0058】
ステップSB05でプロセッサ11は、署名確認モジュールM13の制御に従い、外部記憶部16が記憶するユニットIDリストBIDLにアクセスし、ステップSA06でPC−DTVボード2より送付されたユニット証明書Bcertに含まれているユニットID(BID)をキーとしてユニットIDリストBIDLを検索して、このユニットID(BID)がユニットIDリストBIDLに含まれているか否かを判別する。そして、含まれていると判別すると処理をステップSB06に進め、含まれていないと判別すると、コンテンツ再生プログラムP1の処理を中止する(ステップSB10)。
【0059】
ステップSB06でプロセッサ11は、署名作成モジュールM12の制御に従い、ステップSA06で送付された乱数BnとステップSB03で生成したハッシュ値Sh2とを結合し、結合により得られたデータを、外部記憶部16が記憶しているソフトウェア開発元秘密鍵SKA及びEC−DSAパラメータCPを用い、EC−DSAの手法により暗号化することにより、署名データSencを生成する。(すなわち、結合により得られたデータに、コンテンツ再生用マシン1のデジタル署名を施す。)
そして、プロセッサ11は、生成した署名データSencを、バスコントローラ13及び接続バスBを介してPC−DTVボード2へと送付する(ステップSB07)。
【0060】
なお、署名データSencには平文の乱数Bnも平文のハッシュ値Sh2も含まれていない。従って、署名データSencを不正に入手した者が平文の乱数Bnやハッシュ値Sh2の値を知ることは、実質的に不可能である。
【0061】
PC−DTVボード2の認証処理部24は、コンテンツ再生用マシン1より署名データSencを送付されると、署名確認モジュールM23の制御に従ってこの署名データSencを検証し、署名データSencがコンテンツ再生用マシン1の正当な署名であるか否かを判別する(ステップSA07)。すなわち、この署名データSencを、ステップSA02で復号化されたソフトウェア証明書Scertに含まれているソフトウェア開発元公開鍵SKB、及び、内部メモリ23が記憶しているEC−DSAパラメータCPを用い、EC−DSAの手法に従って認証する。
【0062】
そして、ステップSA07で、署名データSencがコンテンツ再生用マシン1の正当な署名であると判別すると(認証に成功すると)、認証処理部24は、デジタル放送受信部21より供給されるデータストリームを取得して、バスコントローラ22を介し、コンテンツ再生用マシン1に供給する。
ただし、コンテンツ再生用マシン1は、後述するステップSB08までの処理が完了するまではこのデータストリームを受信せず、従ってこのデータストリームが表すコンテンツの再生を行わない。
一方、署名データSencが正当な署名ではないとステップSA07で判別すると(認証に失敗すると)、認証処理部24は、認証プログラムP2の処理を中止する(ステップSA10)。
【0063】
また、認証処理部24は、署名データSencが正当な署名であるとステップSA07で判別すると、ステップSB02でコンテンツ再生用マシン1より送付された乱数Snを、署名作成モジュールM22の制御に従い、内部メモリ23が記憶しているユニット開発元秘密鍵BKA及びEC−DSAパラメータCPを用い、EC−DSAの手法によって暗号化することにより、署名データBencを生成する(ステップSA08)。(すなわち、乱数Snに、PC−DTVボード2のデジタル署名を施す。)
そして、認証処理部24は、署名データBencを、接続バスBを介してコンテンツ再生用マシン1へと送付する(ステップSA09)。
【0064】
コンテンツ再生用マシン1のプロセッサ11は、接続バスB及びバスコントローラ13を介してPC−DTVボード2より署名データBencを送付されると、署名確認モジュールM13の制御に従い、この署名データBencを検証し、署名データBencがPC−DTVボード2の正当な署名であるか否かを判別する(ステップSB08)。すなわち、この署名データBencを、ステップSB04で正当な署名があると判別されたユニット証明書Bcertに含まれているユニット開発元公開鍵BKB、及び、外部記憶部16が記憶しているEC−DSAパラメータCPを用い、EC−DSAの手法で認証する。
【0065】
そして、ステップSB08で、署名データBencがPC−DTVボード2の正当な署名ではないと判別すると(認証に失敗すると)、プロセッサ11は、コンテンツ再生プログラムP1の処理を中止する(ステップSB10)。
一方、署名データBencがPC−DTVボード2の正当な署名であるとステップSB08で判別(認証に成功)して以降、プロセッサ11は、接続バスB及びバスコントローラ13を介してPC−DTVボード2よりデータストリームが供給されると、コンテンツ再生モジュールM15の制御に従ってこのデータストリームを構成するTSパケットに含まれるコンテンツデータを解析し、このコンテンツデータが表す音声や画像を出力するよう、出力部15に指示を供給する。出力部15は、プロセッサ11が供給する指示に従った画像や音声を出力する(ステップSB09)。
【0066】
以上説明した動作を行った結果、PC−DTVボード2によるステップSA01〜SA09の処理及びコンテンツ再生用マシン1によるステップSB01〜SB07の処理を経てステップSB08での検証に成功すれば、コンテンツ再生用マシン1とPC−DTVボード2との相互認証に成功したものとしてコンテンツが再生され、その他の場合は、この相互認証が失敗したものとしてコンテンツの再生が阻止される。
【0067】
そして、この相互認証は、コンテンツ再生プログラムP1を構成するデータのハッシュ値を用いて行われるので、例えば、接続バスB上を通過するデータの不正取得や不正改竄を行うためにコンテンツ再生プログラムP1が改竄された場合、この相互認証は失敗する。従って、接続バスBを用いて伝送されるデータの保護が十分に図られる。
【0068】
なお、このPC−DTVシステムの構成は上述のものに限られない。
たとえば、ソフトウェアのハッシュ値Sh1やSh2の作成に用いられるハッシュ関数はSHA−1である必要はなく、例えば、SHA−256、SHA−512、MD−5(Message Digest 5)あるいはその他のハッシュ関数でもよい。
また、このPC−DTVシステムは、EC−DSAの手法によるデジタル署名の作成や認証に代えて、他の任意の公開鍵暗号の手法によりデジタル署名の作成や認証を行うようにしてもよい。
また、上述した(1)〜(4)のデータの暗号化や復号化の手法はAESに限られず、DES(Data Encryption Standard)やその他任意の対称鍵暗号の手法であってもよい。
【0069】
また、BIDは、PC−DTVボード2が記憶するデータの全部又は所定の一部(例えば、認証プログラムP2を構成するデータなど)から構成されていてもよい。
【0070】
また、接続バスBは必ずしもUSBに限られず任意の規格に準拠したバスであってよい。従って、接続バスBは、たとえばIEEE(Institute of Electrical and Electronic Engineers)1394に準拠するバスや、あるいはPCI(Peripheral Component Interface)バスからなっていてもよい。そして、バスコントローラ22は、接続バスBが準拠する規格に適合したデータ交換を媒介するものであればよい。
【0071】
以上、この発明の実施の形態を説明したが、この発明にかかる認証システム及び認証装置は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
例えば、拡張スロットを備えるパーソナルコンピュータに上述のコンテンツ再生用マシン1の動作を実行させるためのプログラムを格納した媒体(CD−ROM、MO、フロッピー(登録商標)ディスク等)から該プログラムをインストールし、このパーソナルコンピュータの拡張スロットに装着可能なマイクロコンピュータに上述のPC−DTVボード2の動作を実行させるためのプログラムを格納した媒体から該プログラムをインストールすることにより、上述の処理を実行するPC−DTVシステムを構成することができる。
【0072】
また、例えば、通信回線の掲示板(BBS)にこれらのプログラムをアップロードし、これを通信回線を介して配信してもよく、また、これらのプログラムを表す信号により搬送波を変調し、得られた変調波を伝送し、この変調波を受信した装置が変調波を復調して該プログラムを復元するようにしてもよい。
そして、これらのプログラムを起動し、OSの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【0073】
なお、OSが処理の一部を分担する場合、あるいは、OSが本願発明の1つの構成要素の一部を構成するような場合には、記録媒体には、その部分を除いたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【0074】
【発明の効果】
以上説明したように、この発明によれば、アーキテクチャが既知のバス上で伝送されるデータが不正に取り扱われないようにするための認証システム及び認証方法、及び、そのような認証システムや認証方法の実現を容易にするための認証装置が実現される。
【図面の簡単な説明】
【図1】この発明の実施の形態に係るPC−DTVシステムの構成を示すブロック図である。
【図2】ソフトウェア証明書のデータ構造を模式的に示す図である。
【図3】PC−DTVボードの構成を示すブロック図である。
【図4】ユニット証明書のデータ構造を模式的に示す図である。
【図5】図1のPC−DTVシステムの動作の手順を示す図である。
【符号の説明】
1   コンテンツ再生用マシン
11   プロセッサ
12   主記憶部
13   バスコントローラ
14   入力部
15   出力部
16   外部記憶部
2   PC−DTVボード
21   デジタル放送受信部
22   バスコントローラ
23   内部メモリ
24   認証処理部
B   接続バス
P1   コンテンツ再生プログラム
M11   ハッシュ値計算モジュール
M12   署名作成モジュール
M13   署名確認モジュール
M14   乱数発生モジュール
M15   コンテンツ再生モジュール
P2   認証プログラム
M21   ハッシュ値計算モジュール
M22   署名作成モジュール
M23   署名確認モジュール
M24   復号化モジュール
M25   乱数発生モジュール
Bcert   ユニット証明書
BID   ユニットID
BIDL   ユニットIDリスト
BKA   ユニット開発元秘密鍵
BKB   ユニット開発元公開鍵
BSIG   ユニット証明書のPC−DTVシステム署名データ
Scert   ソフトウェア証明書
SID   ソフトウェアID
SIDL   ソフトウェアIDリスト
SKA   ソフトウェア開発元秘密鍵
SKB   ソフトウェア開発元公開鍵
Sh1、Sh2   ソフトウェアのハッシュ値
SSIG   ソフトウェア証明書のPC−DTVシステム署名データ
SKWK   鍵ベクトル
KDB   鍵データベース
CP   EC−DSAパラメータ
SysKB   PC−DTVシステム公開鍵
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an authentication system, an authentication device, an authentication method, and a program.
[0002]
[Prior art]
Devices that exchange data (for example, between a computer and its peripheral devices) are connected via a bus. In the case of a bus connecting between consumer devices, this bus is usually a general-purpose bus whose architecture is disclosed. As the general-purpose bus, for example, a bus conforming to the Institute of Electrical and Electronic Engineers (IEEE) 1394, a universal serial bus (USB), and a bus including a PCI (Peripheral Component) are known.
[0003]
[Problems to be solved by the invention]
Since the architecture of the general-purpose bus is disclosed as described above, data transmitted via the general-purpose bus can be easily obtained or illegally altered by falsifying a program executed by a device connected to the general-purpose bus. There is a problem that the information is recorded or easily tampered with.
[0004]
The present invention has been made in view of the above situation, and has an authentication system, an authentication method, and an authentication system for preventing data transmitted on a bus having a known architecture from being illegally handled. It is an object to provide an authentication device for facilitating the realization of an authentication method.
[0005]
[Means for Solving the Problems]
In order to achieve the above object, an authentication system according to a first aspect of the present invention includes:
A computer and an authentication unit connected to the computer,
The computer stores an authentication target program to be executed by the computer, and a software certificate including a digital signature applied to first digest data representing the authentication target program,
The authentication unit stores a unit certificate including a digitally signed data for identifying itself,
The computer supplies the software certificate stored therein to the authentication unit,
The authentication unit authenticates a digital signature included in a software certificate supplied from the computer, and when the authentication is successful, supplies the unit certificate stored therein to the computer,
The computer authenticates the digital signature included in the unit certificate supplied from the authentication unit, and generates second digest data based on the authentication target program stored therein when authentication is successful. Applying a digital signature to the second digest data and supplying it to the authentication unit;
The authentication unit authenticates a digital signature applied to the second digest data supplied from the computer, and when the authentication is successful, the first and second digest data represent the same program. Determine whether or not, when it is determined that does not represent the same program, to prevent the computer from executing the authentication target program,
It is characterized by the following.
[0006]
The computer that executes the program to be authenticated may perform a function of processing data to be processed supplied to the computer,
In this case, the authentication unit obtains the data to be processed from the outside, and supplies the data to be processed to the computer when it is determined that the first and second digest data represent the same program, When it is determined that they do not represent the same program, the execution of the program to be authenticated by the computer may be prevented by stopping supply of the data to be processed to the computer.
[0007]
The computer may generate challenge data for unit authentication and supply the generated challenge data to the authentication unit.
The authentication unit may encrypt and supply the challenge data for unit authentication to the computer,
The computer determines whether or not the encrypted unit authentication challenge data supplied from the authentication unit is substantially the same as the unit authentication challenge data generated by itself, and Otherwise, the execution of the program to be authenticated may be stopped.
[0008]
The authentication unit may generate challenge data for computer authentication and supply the challenge data to the computer,
The computer may encrypt the computer authentication challenge data and supply it to the authentication unit,
The authentication unit determines whether or not the encrypted computer authentication challenge data supplied from the computer is substantially the same as the computer authentication challenge data generated by the authentication unit. Otherwise, the supply of the encrypted unit authentication challenge data to the computer may be stopped to prevent the computer from executing the program to be authenticated.
[0009]
An authentication device according to a second aspect of the present invention includes:
Storage means for storing a program to be authenticated, and a software certificate including a digital signature applied to first digest data representing the program to be authenticated;
Program execution means for executing the program to be authenticated stored in the storage means,
Means for supplying the software certificate to an external device;
When a certificate for a unit including a digital signature is supplied from the external device, the digital signature included in the certificate for the unit is authenticated, and when the authentication is successful, the authentication stored in the storage unit is performed. Means for generating second digest data based on the target program, applying a digital signature to the second digest data, and supplying the digital signature to the external device,
It is characterized by the following.
[0010]
An authentication device according to a third aspect of the present invention includes:
Storage means for storing a unit certificate including a digitally signed data for identifying itself;
When an external computer is supplied with a software certificate including a digital digest of a first digest data representing a program to be authenticated executed by the computer and a digital certificate, the software certificate is transmitted to the external computer. Decrypting, authenticating the digital signature included in the decrypted software certificate, and, when the authentication is successful, supplying the unit certificate stored in the storage unit to the computer,
When a digital signature is applied to the second digest data from the computer, the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and the second Means for determining whether or not the digest data of No. 2 represents the same program, and determining that the digest data does not represent the same program, preventing execution of the program to be authenticated by the computer. Prepare
It is characterized by the following.
[0011]
An authentication method according to a fourth aspect of the present invention includes:
Memorize the program to be authenticated executed by the computer,
A digital signature included in a software certificate including a digital signature applied to the first digest data representing the program to be authenticated is authenticated. If the authentication is successful, the digital signature is converted to data for identifying an external device. Authenticating the digital signature included in the unit certificate including the digitally signed one, and, if the authentication is successful, generating second digest data based on the stored program to be authenticated, A digital signature is applied to the second digest data, and the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and second digest data represent the same program If it is determined whether or not the same program is represented by the same program, the computer To prevent the execution of the ram,
It is characterized by the following.
[0012]
Further, a program according to a fifth aspect of the present invention includes:
Computer
Storage means for storing a program to be authenticated, and a software certificate including a digital signature applied to first digest data representing the program to be authenticated;
Program execution means for executing the program to be authenticated stored in the storage means,
Means for supplying the software certificate to an external device;
When a certificate for a unit including a digital signature is supplied from the external device, the digital signature included in the certificate for the unit is authenticated, and when the authentication is successful, the authentication stored in the storage unit is performed. Means for generating second digest data based on a target program, applying a digital signature to the second digest data, and supplying the digital signature to the external device;
It is characterized in that it is intended to function as
[0013]
Further, a program according to a sixth aspect of the present invention includes:
Computer
Storage means for storing a unit certificate including a digitally signed data for identifying itself;
When an external computer is supplied with a software certificate including a digital digest of a first digest data representing a program to be authenticated executed by the computer and a digital certificate, the software certificate is transmitted to the external computer. Decrypting, authenticating the digital signature included in the decrypted software certificate, and, when the authentication is successful, supplying the unit certificate stored in the storage unit to the computer,
When a digital signature is applied to the second digest data from the computer, the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and the second Means for preventing the computer from executing the program to be authenticated, when it is determined whether the digest data does not represent the same program, and
It is characterized in that it is intended to function as
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a PC-DTV (Personal Computer-Digital Television) system according to an embodiment of the present invention. As shown in the figure, the PC-DTV system includes a content reproducing machine 1 and a PC-DTV board 2.
[0015]
The PC-DTV board 2 is configured to be detachably connected to the content reproduction machine 1 and is connected to the content reproduction machine 1 via a connection bus B by a user of the content reproduction machine 1 or the like. You.
[0016]
The content reproduction machine 1 includes, for example, a processor 11, a main storage unit 12, a bus controller 13, an input unit 14, an output unit 15, and an external storage unit 16, as shown in FIG.
The main storage unit 12, the bus controller 13, the input unit 14, the output unit 15, and the external storage unit 16 are connected to the processor 11. The bus controller 13 is connected to the connection bus B. The connection bus B is composed of a USB (Universal Serial Bus).
[0017]
The processor 11 includes a CPU (Central Processing Unit) and the like. After activating the content reproduction machine 1, the processor 11 reads and executes a content reproduction program P1 described later stored in the external storage unit 16, and performs processing described later according to the content reproduction program P1.
[0018]
The main storage unit 12 includes a RAM (Random Access Memory) and the like. The main storage unit 12 has a storage area serving as a work area for the processor 11.
[0019]
The bus controller 13 includes a logic circuit or the like, and controls data exchange between the processor 11 and a device (for example, the PC-DTV board 2) external to the content reproducing machine 1 via the connection bus B.
[0020]
The input unit 14 includes, for example, a keyboard and a pointing device (for example, a mouse), and supplies data according to the operation of the operator to the processor 11.
[0021]
The output unit 15 includes a video circuit for controlling display of an image, a display device such as a liquid crystal panel for displaying an image according to the control, an amplifier circuit for reproducing sound, a speaker, and the like. The output unit 15 outputs an image or a sound according to an instruction supplied by the processor 11.
[0022]
The external storage unit 16 includes a hard disk device or the like. The external storage unit 16 stores data such as the content reproduction program P1 described above, and stores data supplied by the processor 11 in accordance with access from the processor 11, or reads out data stored therein to 11 or the like.
[0023]
The processing controlled by the content reproduction program P1 functionally includes a plurality of processing blocks. Specifically, as shown in FIG. 1, it includes processing blocks of a hash value calculation module M11, a signature creation module M12, a signature confirmation module M13, a random number generation module M14, and a content reproduction module M15.
[0024]
Also, as shown in FIG. 1, the external storage unit 16 includes a software certificate Scert, an EC-DSA (Electric Curve Digital Signature Algorithm) parameter CP, a unit ID (IDentifier) list BIDL, and a unique assignment to the PC-DTV system. A public key (PC-DTV system public key) SysKB and a secret key (software developer private key) SKA uniquely assigned to the developer of the content reproduction program P1 are stored in advance.
[0025]
Among them, the EC-DSA parameter CP is a parameter for specifying an elliptic curve used for encryption and decryption by the EC-DSA method.
The unit ID list BIDL is a list that stores IDs (unit IDs) individually assigned to each of the PC-DTV boards that have been properly manufactured.
[0026]
Further, as shown in FIG. 2, the software certificate Scert includes data shown as (1) to (4) below, that is,
(1) An identification code (software ID) SID uniquely assigned to the content reproduction program P1,
(2) A public key (software developer public key) SKB paired with the software developer private key SKA,
(3) A value (software hash value) Sh1 obtained by substituting data constituting the content reproduction program P1 into a hash function (for example, SHA-1 (Secure Hash Algorithm 1)), and
(4) The data (1) to (3) described above are combined with each other, and the data corresponding to data obtained by encrypting with the secret key (PC-DTV system secret key SysKA) paired with the PC-DTV system public key ( PC-DTV system signature data of software certificate) SSIG,
Is encrypted by a symmetric key encryption method (for example, AES (Advanced Encryption Standard) method). (Note that FIG. 2 schematically shows a state before the above-described data (1) to (4) is encrypted for easy understanding.)
[0027]
The data of (1) to (4) may be individually encrypted, or a part or all of the data of (1) to (4) may be combined and then encrypted at once. May be.
The secret key and the public key forming a pair are referred to as “data obtained by encrypting the data to be encrypted by using the secret key and the EC-DSA method using the public key forming a pair with the secret key. Without decryption, it is virtually impossible to restore to plaintext data. "
[0028]
As shown in FIG. 2, information identifying the encryption key (hereinafter, referred to as an AES encryption key) used to encrypt the above data (1) to (4) is included in the software certificate Scert. Is attached to the key vector SKWK.
[0029]
As shown in FIG. 3, the PC-DTV board 2 includes a digital broadcast receiving unit 21, a bus controller 22, an internal memory 23, and an authentication processing unit 24.
[0030]
The digital broadcast receiving unit 21 includes a demodulation circuit, and is connected to the authentication processing unit 24 via an internal bus. The digital broadcast receiving unit 21 restores the data stream by inputting and demodulating a modulated wave representing the data stream digitally broadcasted from the outside. Then, the restored data stream is supplied to the authentication processing unit 24.
[0031]
The data stream represented by the modulated wave received by the digital broadcast receiving unit 21 represents the content to be reproduced by the above-described processing block for content processing, and includes a plurality of continuous MPEG2 (Motion Picture Expert Group 2)-. It is composed of TS (Transport Stream) packets.
[0032]
The bus controller 22 is composed of a logic circuit or the like, is detachably connected to the content reproducing machine 1 via a connection bus B, and is connected to the authentication processing unit 24 via an internal bus.
[0033]
The bus controller 22 mediates access to the authentication processing unit 24 performed by the content reproducing machine 1 under the control of the signature registration program and the authentication program.
[0034]
The internal memory 23 includes a nonvolatile memory such as a compact flash (registered trademark) and an interface circuit for transmitting data via a memory bus, and is connected to the authentication processing unit 24 via the memory bus. Have been. The memory bus may be a bus conforming to any standard, and the interface circuit of the internal memory 23 may be any as long as it mediates data exchange conforming to the standard to which the memory bus conforms.
The internal memory 23 stores the data supplied by the authentication processing unit 24 or reads out the data stored by itself and supplies it to the authentication processing unit 24 in accordance with the access from the authentication processing unit 24.
[0035]
Also, as shown in FIG. 3, the internal memory 23 stores an authentication program P2, a unit certificate Bcert, the same EC-DSA parameter CP as described above, a software ID list SIDL, and a PC-DTV board 2. A private key (unit developer private key) BKA uniquely assigned to the developer, the above-described PC-DTV system public key SysKB, and a key database KDB are stored in advance.
[0036]
The software ID list SIDL is a list that stores the above-described software ID (SID).
The key database KDB is a database that stores a plurality of AES encryption keys described above, and each AES encryption key stored in the key database KDB is associated with a key vector SKWK unique to itself. Therefore, if the key database KDB is searched using the key vector SKWK as a search key, one AES encryption key is found.
[0037]
Further, as shown in FIG. 4, the unit certificate Bcert is data shown as (5) to (7) below, that is,
(5) The above-mentioned unit ID (BID) assigned to the PC-DTV board 2,
(6) a public key (unit developer public key BKB) paired with the above-mentioned unit developer secret key BKA, and
(7) Data (PC-DTV system signature data of a unit certificate) BSIG corresponding to a combination of the data of (5) and (6) described above and encrypted with the PC-DTV system secret key SysKA,
including.
[0038]
The authentication processing unit 24 includes, for example, a processor such as a CPU, and a memory bus controller that mediates data exchange conforming to the standard with which the memory bus complies. Note that the authentication processing unit 24 may include, instead of the processor, a dedicated integrated circuit that performs the function of the processor that executes the authentication program P2. In this case, the internal memory 23 does not need to store the authentication program P2.
[0039]
The authentication processing unit 24 is connected to the digital broadcast receiving unit 21 and the bus controller 22 via an internal bus, while being connected to the internal memory 23 via the above-mentioned memory bus. The authentication processing unit 24 receives the access performed by the content reproduction machine 1 via the bus controller 22, reads out the authentication program P2 from the internal memory 23, and executes the authentication program P2 to perform processing described later.
[0040]
The processing controlled by the authentication program P2 functionally includes a plurality of processing blocks. Specifically, as shown in FIG. 3, it includes processing blocks of a hash value calculation module M21, a signature creation module M22, a signature confirmation module M23, a decryption module M24, and a random number generation module M25.
[0041]
The bus controller 22 and the authentication processing unit 24 substantially prevent the content reproduction machine 1 from accessing the PC-DTV board 2 in order to read data from the internal memory 23.
[0042]
(motion)
Next, the operation of the PC-DTV system will be described.
FIG. 5 is a diagram showing a procedure of the operation of the PC-DTV system.
[0043]
When the user or the like of the content reproduction machine 1 wants the content reproduction machine 1 to reproduce the content, the user connects the PC-DTV board 2 to the content reproduction machine 1, and then connects the input unit 14 of the content reproduction machine 1. To instruct the activation of the content reproduction program P1. In response to this instruction, the processor 11 of the content reproduction machine 1 reads out the content reproduction program P1 from the external storage unit 16 and executes it.
[0044]
When starting the processing of the content reproduction program P1, the processor 11 first generates a random number Sn under the control of the random number generation module M14 (FIG. 5, step SB01).
[0045]
Next, the processor 11 reads the software certificate Scert from the external storage unit 16 and transmits the random number Sn generated in step SB01 and the read software certificate Scert to the PC-DTV via the bus controller 13 and the connection bus B. It is sent to the board 2 (step SB02).
[0046]
Upon receiving the random number Sn and the software certificate Scert from the content reproduction machine 1, the authentication processing unit 24 of the PC-DTV board 2, under the control of the decryption module M <b> 24, sends the key attached to the software certificate Scert. The key database KDB is searched using the vector SKWK as a key, and the AES decryption key indicated by the key vector SKWK is selected and read from the external storage unit 16 (FIG. 5, step SA01).
[0047]
Next, the authentication processing unit 24 decrypts the software certificate Sert sent from the content reproducing machine 1 using the AES decryption key selected in step SA01 under the control of the decryption module M24 (step SA02). .
[0048]
Next, under the control of the signature confirmation module M23, the authentication processing unit 24 verifies the PC-DTV system signature data SSIG included in the software certificate Scert decrypted in step SA02, and the PC-DTV system signature data SSIG is It is determined whether the signature is valid for the PC-DTV system (step SA03). If it is determined that the signature is valid, the process proceeds to step SA04. If it is determined that the signature is not valid, the process of the authentication program P2 is stopped (step SA10).
[0049]
When the authentication processing unit 24 stops the process in step SA10, the supply of the data stream supplied from the digital broadcast receiving unit 21 to the content reproduction machine 1 is cut off. Therefore, the content reproducing machine 1 cannot acquire the data stream output by the digital broadcast receiving unit 21, and cannot reproduce the content represented by the data stream.
[0050]
Note that in step SA03, the authentication processing unit 24 first reads the PC-DTV system public key SysKB and the EC-DSA parameter CP from the internal memory 23, and uses the PC-DTV system public key SysKB to read the EC-DTV system public key SysKB. The PC-DTV system signature data SSIG is decrypted by the DSA method. Then, it is determined whether or not the data obtained by the decryption matches the above-mentioned data (1) to (3) included in the software certificate Scert. If it is determined that the signature is a valid signature of the PC-DTV system, and if it is determined that they do not match, it is determined that the signature is not a valid signature.
[0051]
In step SA04, the authentication processing unit 24 accesses the software ID list SIDL stored in the internal memory 23 according to the control of the signature confirmation module M23, and obtains the software ID (ID) included in the software certificate Scert decrypted in step SA02. The software ID list SIDL is searched using the SID as a key to determine whether or not the software ID (SID) is included in the software ID list SIDL. Then, if it is determined that it is included, the process proceeds to step SA05, and if it is determined that it is not included, the process of the authentication program P2 is stopped (step SA10).
[0052]
In step SA05, the authentication processing unit 24 generates a random number Bn under the control of the random number generation module M25. Next, the authentication processing unit 24 reads the unit certificate Bcert from the internal memory 23, and sends the random number Bn generated in step SA05 and the read unit certificate Bcert to the content reproducing machine 1 via the connection bus B. Is sent (step SA06).
[0053]
On the other hand, the processor 11 of the content reproduction machine 1 reads data constituting the content reproduction program P1 from the external storage unit 16 after completing the process of step SB02 under the control of the hash value calculation module M11, and uses this data. Then, a hash value Sh2 of the software is obtained (step SB03).
[0054]
Note that the software hash value Sh2 is the same value as the hash value Sh1 included in the software certificate Scert if the data constituting the content reproduction program P1 read in step SB03 is not falsified. And take it.
[0055]
When the processor 11 receives the random number Bn and the unit certificate Bcert from the PC-DTV board 2 in step SA06, the processor 11 controls the PC-DTV system signature data included in the unit certificate Bcert under the control of the signature confirmation module M13. The BSIG is verified, and it is determined whether or not the signature is valid for the PC-DTV system (step SB04). If it is determined that the signature is valid, the process proceeds to step SB05. If it is determined that the signature is not valid, the process of the content reproduction program P1 is stopped (step SB10).
[0056]
When the processor 11 stops the process in step SB10, the content reproducing machine 1 does not acquire the data stream even if the data stream is supplied from the PC-DTV board 2, and thus reproduces the content represented by the data stream. Do not do.
[0057]
In step SB04, the processor 11 first reads the PC-DTV system public key SysKB and the EC-DSA parameter CP from the external storage unit 16, and uses the PC-DTV system public key SysKB to read the EC-DSA The PC-DTV system signature data BSIG included in the unit certificate Bcert is decrypted by the above method. Then, it is determined whether or not the data obtained by the decryption matches the above-mentioned data (5) and (6) included in the unit certificate Bcert. If it is determined that the data matches, the PC-DTV system signature data If BSIG is determined to be a valid signature of this PC-DTV system, and if it is determined that they do not match, it is determined that the signature is not a valid signature.
[0058]
In step SB05, the processor 11 accesses the unit ID list BIDL stored in the external storage unit 16 according to the control of the signature confirmation module M13, and includes the unit ID list BCert sent from the PC-DTV board 2 in step SA06. The unit ID list BIDL is searched using the unit ID (BID) that is present as a key to determine whether or not the unit ID (BID) is included in the unit ID list BIDL. When it is determined that the content is included, the process proceeds to step SB06, and when it is determined that the content is not included, the process of the content reproduction program P1 is stopped (step SB10).
[0059]
In step SB06, the processor 11 combines the random number Bn sent in step SA06 with the hash value Sh2 generated in step SB03 under the control of the signature creation module M12, and stores the resulting data in the external storage unit 16. Using the stored software developer private key SKA and the EC-DSA parameter CP, the data is encrypted by the EC-DSA method to generate signature data Senc. (That is, a digital signature of the content reproducing machine 1 is given to the data obtained by the combination.)
Then, the processor 11 sends the generated signature data Senc to the PC-DTV board 2 via the bus controller 13 and the connection bus B (Step SB07).
[0060]
The signature data Senc does not include the plaintext random number Bn or the plaintext hash value Sh2. Therefore, it is virtually impossible for a person who has illegally obtained the signature data Senc to know the value of the plain text random number Bn or the hash value Sh2.
[0061]
Upon receiving the signature data Senc from the content reproducing machine 1, the authentication processing unit 24 of the PC-DTV board 2 verifies the signature data Senc according to the control of the signature confirmation module M23, and the signature data Senc is transmitted to the content reproducing machine M23. It is determined whether the signature is a valid one (step SA07). That is, this signature data Senc is converted into an EC using the software developer public key SKB included in the software certificate Scrypt decrypted in step SA02 and the EC-DSA parameter CP stored in the internal memory 23. -Authenticate according to the DSA method.
[0062]
If it is determined in step SA07 that the signature data Senc is a valid signature of the content reproducing machine 1 (successful authentication), the authentication processing unit 24 acquires the data stream supplied from the digital broadcast receiving unit 21. Then, the content is supplied to the content reproducing machine 1 via the bus controller 22.
However, the content reproducing machine 1 does not receive this data stream until the processing up to step SB08 described later is completed, and therefore does not reproduce the content represented by this data stream.
On the other hand, if it is determined in step SA07 that the signature data Senc is not a valid signature (if the authentication fails), the authentication processing unit 24 stops the processing of the authentication program P2 (step SA10).
[0063]
When the authentication processing unit 24 determines in step SA07 that the signature data Senc is a valid signature, the authentication processing unit 24 converts the random number Sn sent from the content reproduction machine 1 in step SB02 into the internal memory according to the control of the signature creation module M22. Using the unit developer private key BKA and the EC-DSA parameter CP stored in the storage device 23, the data is encrypted by the EC-DSA method to generate signature data Benc (step SA08). (That is, a digital signature of the PC-DTV board 2 is given to the random number Sn.)
Then, the authentication processing unit 24 sends the signature data Benc to the content reproduction machine 1 via the connection bus B (step SA09).
[0064]
Upon receiving the signature data Benc from the PC-DTV board 2 via the connection bus B and the bus controller 13, the processor 11 of the content reproduction machine 1 verifies the signature data Benc under the control of the signature confirmation module M13. It is determined whether the signature data Benc is a valid signature of the PC-DTV board 2 (step SB08). That is, the signature data Benc is stored in the unit developer public key BKB included in the unit certificate Bcert determined to have a valid signature in step SB04, and the EC-DSA stored in the external storage unit 16. Authentication is performed by the EC-DSA method using the parameter CP.
[0065]
Then, when it is determined in step SB08 that the signature data Benc is not a valid signature of the PC-DTV board 2 (authentication fails), the processor 11 stops the processing of the content reproduction program P1 (step SB10).
On the other hand, after determining in step SB08 that the signature data Benc is a valid signature of the PC-DTV board 2 (successful authentication), the processor 11 transmits the PC-DTV board 2 via the connection bus B and the bus controller 13. When the data stream is supplied, the output unit 15 analyzes the content data included in the TS packet constituting the data stream under the control of the content reproduction module M15, and outputs the sound or image represented by the content data to the output unit 15. Supply instructions. The output unit 15 outputs an image or a sound according to the instruction supplied by the processor 11 (Step SB09).
[0066]
As a result of performing the operations described above, if the verification in step SB08 is successful through the processing of steps SA01 to SA09 by the PC-DTV board 2 and the processing of steps SB01 to SB07 by the content reproduction machine 1, the content reproduction machine 1 and the PC-DTV board 2 succeed in mutual authentication, and the content is reproduced. In other cases, the mutual authentication is failed and the reproduction of the content is blocked.
[0067]
Since this mutual authentication is performed using the hash value of the data constituting the content reproduction program P1, for example, the content reproduction program P1 is used to illegally acquire or falsify data passing through the connection bus B. If it has been tampered with, this mutual authentication will fail. Therefore, protection of data transmitted using the connection bus B is sufficiently achieved.
[0068]
The configuration of the PC-DTV system is not limited to the above.
For example, the hash function used to create the hash values Sh1 and Sh2 of the software does not need to be SHA-1, and for example, SHA-256, SHA-512, MD-5 (Message Digest 5) or other hash functions. Good.
In addition, this PC-DTV system may perform creation and authentication of a digital signature by using any other public key encryption technique instead of creation and authentication of a digital signature by the EC-DSA technique.
The method of encrypting and decrypting the data of (1) to (4) described above is not limited to AES, but may be DES (Data Encryption Standard) or any other symmetric key encryption method.
[0069]
Further, the BID may be composed of all or a predetermined part of data stored in the PC-DTV board 2 (for example, data constituting the authentication program P2).
[0070]
Further, the connection bus B is not necessarily limited to the USB, and may be a bus conforming to an arbitrary standard. Therefore, the connection bus B may be composed of, for example, a bus compliant with the Institute of Electrical and Electronic Engineers (IEEE) 1394 or a PCI (Peripheral Component Interface) bus. The bus controller 22 may be any as long as it mediates data exchange conforming to the standard to which the connection bus B conforms.
[0071]
Although the embodiments of the present invention have been described above, the authentication system and the authentication device according to the present invention can be realized by using a normal computer system without using a dedicated system.
For example, the program is installed from a medium (CD-ROM, MO, floppy (registered trademark) disk, etc.) storing a program for causing a personal computer having an expansion slot to execute the operation of the content reproduction machine 1, A PC-DTV that executes the above-described processing by installing the program for executing the above-described operation of the PC-DTV board 2 from a medium storing the program in a microcomputer attachable to an expansion slot of the personal computer. The system can be configured.
[0072]
Further, for example, these programs may be uploaded to a bulletin board (BBS) of a communication line and distributed via the communication line, or the carrier wave may be modulated by a signal representing these programs to obtain the obtained modulation. A device that transmits a wave and receives the modulated wave may demodulate the modulated wave and restore the program.
Then, by starting these programs and executing them in the same manner as other application programs under the control of the OS, the above-described processing can be executed.
[0073]
When the OS shares a part of the processing, or when the OS constitutes a part of one component of the present invention, the program excluding the part is stored in the recording medium. You may. Also in this case, in the present invention, it is assumed that the recording medium stores a program for executing each function or step executed by the computer.
[0074]
【The invention's effect】
As described above, according to the present invention, an authentication system and an authentication method for preventing data transmitted on a bus whose architecture is known from being illegally handled, and such an authentication system and an authentication method An authentication device for facilitating the realization is realized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a PC-DTV system according to an embodiment of the present invention.
FIG. 2 is a diagram schematically illustrating a data structure of a software certificate.
FIG. 3 is a block diagram illustrating a configuration of a PC-DTV board.
FIG. 4 is a diagram schematically illustrating a data structure of a unit certificate.
FIG. 5 is a diagram showing a procedure of an operation of the PC-DTV system of FIG. 1;
[Explanation of symbols]
1 Content playback machine
11 processor
12 Main memory
13 Bus controller
14 Input section
15 Output section
16 External storage unit
2 PC-DTV board
21 Digital broadcast receiver
22 Bus Controller
23 Internal memory
24 Authentication processing unit
B connection bus
P1 content playback program
M11 hash value calculation module
M12 Signature creation module
M13 Signature Confirmation Module
M14 random number generation module
M15 Content playback module
P2 certification program
M21 hash value calculation module
M22 signature creation module
M23 Signature Confirmation Module
M24 decryption module
M25 random number generation module
Bcert unit certificate
BID Unit ID
BIDL unit ID list
BKA Unit Developer Private Key
BKB unit developer public key
PC-DTV system signature data of BSIG unit certificate
Scert software certificate
SID Software ID
SIDL software ID list
SKA software developer private key
SKB software developer public key
Sh1, Sh2 Software hash value
PC-DTV system signature data of SSIG software certificate
SKWK key vector
KDB key database
CP EC-DSA parameters
SysKB PC-DTV system public key

Claims (9)

コンピュータと、前記コンピュータに接続された認証ユニットとより構成されており、
前記コンピュータは、自己が実行する認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶しており、
前記認証ユニットは、自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶しており、
前記コンピュータは、自己が記憶している前記ソフトウェア用証明書を前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給されたソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶している前記ユニット用証明書を前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給されたユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、自己が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された前記第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする認証システム。
A computer and an authentication unit connected to the computer,
The computer stores an authentication target program to be executed by the computer, and a software certificate including a digital signature applied to first digest data representing the authentication target program,
The authentication unit stores a unit certificate including a digitally signed data for identifying itself,
The computer supplies the software certificate stored therein to the authentication unit,
The authentication unit authenticates a digital signature included in a software certificate supplied from the computer, and when the authentication is successful, supplies the unit certificate stored therein to the computer,
The computer authenticates the digital signature included in the unit certificate supplied from the authentication unit, and generates second digest data based on the authentication target program stored therein when authentication is successful. Applying a digital signature to the second digest data and supplying it to the authentication unit;
The authentication unit authenticates a digital signature applied to the second digest data supplied from the computer, and when the authentication is successful, the first and second digest data represent the same program. Determine whether or not, when it is determined that does not represent the same program, to prevent the computer from executing the authentication target program,
An authentication system, characterized in that:
前記認証対象のプログラムを実行する前記コンピュータは、当該コンピュータに供給された被処理データを処理する機能を行うものであり、
前記認証ユニットは、外部より被処理データを取得して、前記第1及び第2のダイジェストデータが同一のプログラムを表すと判別したときは当該被処理データを前記コンピュータへと供給し、同一のプログラムを表さないと判別したときは、当該被処理データの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする請求項1に記載の認証システム。
The computer that executes the program to be authenticated performs a function of processing data to be processed supplied to the computer,
The authentication unit acquires the data to be processed from the outside, and when it is determined that the first and second digest data represent the same program, supplies the data to be processed to the computer, and supplies the same program When it is determined that it does not represent, by stopping the supply of the data to be processed to the computer, to prevent the computer from executing the program to be authenticated,
The authentication system according to claim 1, wherein:
前記コンピュータは、ユニット認証用チャレンジデータを生成して認証ユニットに供給し、
前記認証ユニットは、前記ユニット認証用チャレンジデータを暗号化して前記コンピュータに供給し、
前記コンピュータは、前記認証ユニットより供給された、暗号化されているユニット認証用チャレンジデータが、自己が生成したユニット認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、前記認証対象のプログラムの実行を中止する、
ことを特徴とする請求項1又は2に記載の認証システム。
The computer generates challenge data for unit authentication and supplies the generated challenge data to the authentication unit,
The authentication unit encrypts the challenge data for unit authentication and supplies the encrypted challenge data to the computer,
The computer determines whether or not the encrypted unit authentication challenge data supplied from the authentication unit is substantially the same as the unit authentication challenge data generated by itself, and When it is determined that is not, execution of the authentication target program is stopped,
The authentication system according to claim 1 or 2, wherein:
前記認証ユニットは、コンピュータ認証用チャレンジデータを生成して前記コンピュータに供給し、
前記コンピュータは、前記コンピュータ認証用チャレンジデータを暗号化して前記認証ユニットに供給し、
前記認証ユニットは、前記コンピュータより供給された、暗号化されているコンピュータ認証用チャレンジデータが、自己が生成したコンピュータ認証用チャレンジデータと実質的に同一のものであるか否かを判別し、同一でないと判別したとき、暗号化されたユニット認証用チャレンジデータの前記コンピュータへの供給を中止することにより、前記コンピュータによる前記認証対象のプログラムの実行を阻止する、
ことを特徴とする請求項3に記載の認証システム。
The authentication unit generates and supplies challenge data for computer authentication to the computer,
The computer encrypts the computer authentication challenge data and supplies the challenge data to the authentication unit,
The authentication unit determines whether or not the encrypted computer authentication challenge data supplied from the computer is substantially the same as the computer authentication challenge data generated by the authentication unit. When it is determined that it is not, by stopping the supply of the encrypted unit authentication challenge data to the computer, to prevent the computer from executing the program to be authenticated,
The authentication system according to claim 3, wherein:
認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、を備える、
ことを特徴とする認証装置。
Storage means for storing a program to be authenticated, and a software certificate including a digital signature applied to first digest data representing the program to be authenticated;
Program execution means for executing the program to be authenticated stored in the storage means,
Means for supplying the software certificate to an external device;
When a certificate for a unit including a digital signature is supplied from the external device, the digital signature included in the certificate for the unit is authenticated, and when the authentication is successful, the authentication stored in the storage unit is performed. Means for generating second digest data based on the target program, applying a digital signature to the second digest data, and supplying the digital signature to the external device,
An authentication device, characterized in that:
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第2のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、を備える
ことを特徴とする認証装置。
Storage means for storing a unit certificate including a digitally signed data for identifying itself;
When an external computer is supplied with a software certificate including a digital digest of a first digest data representing a program to be authenticated executed by the computer and a digital certificate, the software certificate is transmitted to the external computer. Decrypting, authenticating the digital signature included in the decrypted software certificate, and, when the authentication is successful, supplying the unit certificate stored in the storage unit to the computer,
When a digital signature is applied to the second digest data from the computer, the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and the second Means for determining whether or not the digest data of No. 2 represents the same program, and determining that the digest data does not represent the same program, preventing execution of the program to be authenticated by the computer. An authentication device, comprising:
コンピュータが実行する認証対象のプログラムを記憶し、
前記認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、外部の装置を識別するデータにデジタル署名を施したものを含んだユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、記憶されている前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施し、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記プログラムの実行を阻止する、
ことを特徴とする認証方法。
Memorize the program to be authenticated executed by the computer,
A digital signature included in a software certificate including a digital signature applied to the first digest data representing the program to be authenticated is authenticated. If the authentication is successful, the digital signature is converted to data for identifying an external device. Authenticating the digital signature included in the unit certificate including the digitally signed one, and, if the authentication is successful, generating second digest data based on the stored program to be authenticated, A digital signature is applied to the second digest data, and the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and second digest data represent the same program If it is determined whether or not the same program is represented by the same program, the computer To prevent the execution of the ram,
An authentication method characterized in that:
コンピュータを、
認証対象のプログラム、及び、当該認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施したものを含んだソフトウェア用証明書を記憶する記憶手段と、
前記記憶手段が記憶する前記認証対象のプログラムを実行するプログラム実行手段と、
前記ソフトウェア用証明書を外部の装置に供給する手段と、
前記外部の装置より、デジタル署名を含んだユニット用証明書を供給されたとき、当該ユニット用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶する前記認証対象のプログラムに基づいて第2のダイジェストデータを生成し、当該第2のダイジェストデータにデジタル署名を施して前記外部の装置に供給する手段と、
して機能させるためのプログラム。
Computer
Storage means for storing a program to be authenticated, and a software certificate including a digital signature applied to first digest data representing the program to be authenticated;
Program execution means for executing the program to be authenticated stored in the storage means,
Means for supplying the software certificate to an external device;
When a certificate for a unit including a digital signature is supplied from the external device, the digital signature included in the certificate for the unit is authenticated, and when the authentication is successful, the authentication stored in the storage unit is performed. Means for generating second digest data based on a target program, applying a digital signature to the second digest data, and supplying the digital signature to the external device;
Program to make it work.
コンピュータを、
自己を識別するデータにデジタル署名を施したものを含んだユニット用証明書を記憶する記憶手段と、
外部のコンピュータより、当該コンピュータが実行する認証対象のプログラムを表す第1のダイジェストデータにデジタル署名を施して暗号化したものを含んだソフトウェア用証明書を供給されたとき、当該ソフトウェア用証明書を復号化し、復号化された当該ソフトウェア用証明書に含まれるデジタル署名を認証し、認証に成功した場合に、前記記憶手段が記憶している前記ユニット用証明書を当該コンピュータに供給する手段と、
前記コンピュータより、第2のダイジェストデータにデジタル署名を施したものが供給されたとき、当該第2のダイジェストデータに施されたデジタル署名を認証し、認証に成功した場合に、前記第1及び第2のダイジェストデータが同一のプログラムを表すものであるか否かを判別して、同一のプログラムを表さないと判別したとき、前記コンピュータによる前記認証対象のプログラムの実行を阻止する手段と、
して機能させるためのプログラム。
Computer
Storage means for storing a unit certificate including a digitally signed data for identifying itself;
When an external computer is supplied with a software certificate including a digital digest of a first digest data representing a program to be authenticated executed by the computer and a digital certificate, the software certificate is transmitted to the external computer. Decrypting, authenticating the digital signature included in the decrypted software certificate, and, when the authentication is successful, supplying the unit certificate stored in the storage unit to the computer,
When a digital signature is applied to the second digest data from the computer, the digital signature applied to the second digest data is authenticated. If the authentication is successful, the first and the second Means for preventing the computer from executing the program to be authenticated, when it is determined whether the digest data does not represent the same program, and
Program to make it work.
JP2002233916A 2002-08-09 2002-08-09 Authentication system, authentication apparatus, authentication method and program Expired - Fee Related JP3834532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002233916A JP3834532B2 (en) 2002-08-09 2002-08-09 Authentication system, authentication apparatus, authentication method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002233916A JP3834532B2 (en) 2002-08-09 2002-08-09 Authentication system, authentication apparatus, authentication method and program

Publications (2)

Publication Number Publication Date
JP2004080103A true JP2004080103A (en) 2004-03-11
JP3834532B2 JP3834532B2 (en) 2006-10-18

Family

ID=32018916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002233916A Expired - Fee Related JP3834532B2 (en) 2002-08-09 2002-08-09 Authentication system, authentication apparatus, authentication method and program

Country Status (1)

Country Link
JP (1) JP3834532B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012085320A (en) * 2011-11-21 2012-04-26 Sony Corp Information processor, information processing method, and computer program
JP2013201760A (en) * 2012-03-26 2013-10-03 Nielsen Co (Us) Llc Media monitoring using multiple types of signatures

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012085320A (en) * 2011-11-21 2012-04-26 Sony Corp Information processor, information processing method, and computer program
JP2013201760A (en) * 2012-03-26 2013-10-03 Nielsen Co (Us) Llc Media monitoring using multiple types of signatures
US8768003B2 (en) 2012-03-26 2014-07-01 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US9106952B2 (en) 2012-03-26 2015-08-11 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US9674574B2 (en) 2012-03-26 2017-06-06 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US10212477B2 (en) 2012-03-26 2019-02-19 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US11044523B2 (en) 2012-03-26 2021-06-22 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US11863820B2 (en) 2012-03-26 2024-01-02 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures
US11863821B2 (en) 2012-03-26 2024-01-02 The Nielsen Company (Us), Llc Media monitoring using multiple types of signatures

Also Published As

Publication number Publication date
JP3834532B2 (en) 2006-10-18

Similar Documents

Publication Publication Date Title
US7636843B1 (en) Information transmission system and method, drive device and access method, information recording medium, device and method for producing recording medium
JP4714402B2 (en) Secure transmission of digital data from an information source to a receiver
US7877604B2 (en) Proof of execution using random function
WO2018064955A1 (en) Method and system for recording and playing back program
JP2003530599A (en) System and method for controlling and exercising access rights to encrypted media
US7937766B2 (en) Method and system for preventing simultaneous use of contents in different formats derived from the same content at a plurality of places
JP2008009631A (en) Storage device and storage method
US11516194B2 (en) Apparatus and method for in-vehicle network communication
JP2004266360A (en) Authentication processor and security processing method
CN114490552B (en) Data transmission method, device and electronic device
WO2004064318A1 (en) Content reproduction device, license issuing server, and content reproduction system
JP2000076063A (en) System and device for certification and recording medium
CN115065843B (en) Video encryption and decryption processing method and system under security authentication
US20230376574A1 (en) Information processing device and method, and information processing system
EP1145243A2 (en) Copy protection by message encryption
JP3834532B2 (en) Authentication system, authentication apparatus, authentication method and program
JP2001111539A (en) Encryption key generation device and encryption key transmission method
JP2004240959A (en) Content playback device, license issuing server, and content playback system
JP4198509B2 (en) Mutual authentication method
JP4663437B2 (en) Content usage information transmitting method, content usage information providing device and content usage information receiving device capable of using the method
JP4564572B1 (en) Transmission device, reception device, and content transmission / reception method
JP7170588B2 (en) Data processing method and data processing system
JP2007020066A (en) Information processing apparatus and method, program, and authentication system
JPH1141229A (en) Access controller and medium recording access control program
JP2004054798A (en) Program authentication apparatus, program signature apparatus, program authentication method, program signature method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060724

R150 Certificate of patent or registration of utility model

Ref document number: 3834532

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 7

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees