(57)【要約】【課題】高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供する。【解決手段】本発明に係る認証処理装置１２０は、受信機器２００に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部１２３〜１２５と、前記複数の認証フェーズのそれぞれについて処理をするか否かを示す認証コマンドを保持するコマンドレジスタ１２８と、コマンドレジスタが保持する認証コマンドにおいて、処理をすると示される認証フェーズの処理を認証部１２３〜１２５に行わせる認証エンジン１２２とを備える。【選択図】図１
2007233960.tif 000002
【特許請求の範囲】
【請求項１】
外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証手段と、
前記複数の認証フェーズのそれぞれについて処理をするか否かを示す第１のコマンドを保持するコマンド保持手段と、
前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる認証制御手段とを備える
ことを特徴とする認証処理装置。
【請求項２】
前記第１のコマンドは、前記複数の認証フェーズにそれぞれ対応する複数のビットを含み、
前記第１のコマンドの各ビットは、対応する前記認証フェーズの処理をするか否かを示し、
前記認証制御手段は、前記コマンド保持手段が保持する前記第１のコマンドの各ビットおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる
ことを特徴とする請求項１記載の認証処理装置。
【請求項３】
前記認証処理装置は、さらに、
前記認証手段による認証フェーズの処理において生成された認証データを後の認証フェーズのために保持するデータ保持手段を備える
ことを特徴とする請求項１または２記載の認証処理装置。
【請求項４】
前記認証手段は、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行う
ことを特徴とする請求項３記載の認証処理装置。
【請求項５】
前記認証処理装置は、さらに、
前記外部機器とＤＤＣ通信を行うＤＤＣ通信手段を備え、
前記認証手段は、前記ＤＤＣ通信手段を介して、前記外部機器とのデータの送受信を行う
ことを特徴とする請求項１〜４のいずれか１項に記載の認証処理装置。
【請求項６】
前記コマンド保持手段は、前記外部機器とのＤＤＣ通信ラインをリセットするか否かを示す第２のコマンドを保持し、
前記ＤＤＣ通信手段は、前記コマンド保持手段が保持する第２のコマンドに基づき、前記ＤＤＣ通信ラインをリセットする信号を生成するリセット生成手段を備える
ことを特徴とする請求項５記載の認証処理装置。
【請求項７】
前記コマンド保持手段は、前記複数の認証フェーズ間のそれぞれに遅延時間を挿入するか否かを示す第３のコマンドを保持し、
前記認証処理装置は、さらに、
前記遅延時間をカウントするタイマ手段を備え、
前記認証制御手段は、前記コマンド保持手段が保持する前記第３のコマンドにおいて遅延時間を挿入すると示された認証フェーズ間に、前記タイマ手段がカウントした遅延時間を挿入する
ことを特徴とする請求項１〜６のいずれか１項に記載の認証処理装置。
【請求項８】
前記認証処理装置は、さらに、
前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するＣＰＵを備える
ことを特徴とする請求項１〜７のいずれか１項に記載の認証処理装置。
【請求項９】
前記認証処理装置は、さらに、
前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するＣＰＵを備え、
前記データ保持手段は、前記ＣＰＵによる認証フェーズの処理において生成された認証データを後の認証フェーズのために保持し、
前記ＣＰＵは、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行う
ことを特徴とする請求項４記載の認証処理装置。
【請求項１０】
前記認証装置は、さらに、
外部機器を特定する機器情報と、前記各外部機器に対応する前記第１のコマンドとを記憶する記憶手段と、
前記認証処理の対象の外部機器の機器情報を取得する機器情報取得手段と、
前記機器情報取得手段が取得した機器情報に対応する前記第１のコマンドを前記記憶手段から読出し、前記コマンド保持手段に書込む機器情報制御手段とを備える
ことを特徴とする請求項１〜９のいずれか１項に記載の認証処理装置。
【請求項１１】
前記認証処理は、ＨＤＣＰ規格における認証処理であり、
前記認証手段は、
前記ＨＤＣＰ規格における第１認証処理に含まれる認証フェーズの処理を行う回路を有する第１認証手段と、
前記ＨＤＣＰ規格における第２認証処理に含まれる認証フェーズの処理を行う回路を有する第２認証手段と、
前記ＨＤＣＰ規格における第３認証処理に含まれる認証フェーズの処理を行う回路を有する第３認証手段とを備える
ことを特徴とする請求項１〜１０のいずれか１項に記載の認証処理装置。
【請求項１２】
外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部と、前記複数の認証フェーズのそれぞれについて処理するか否かを示す第１のコマンドを保持するコマンド保持部とを備える認証制御装置における認証制御方法であって、
前記第１のコマンドに基づき、前記各認証フェーズの処理をするか否かを判定する判定ステップと、
前記判定ステップにおいて処理をすると判定された認証フェーズの処理を前記認証部に行わせる処理ステップとを含む
ことを特徴とする認証処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証処理装置および認証処理方法に関し、特に、機器の機器認証処理を行う認証処理装置に関する。
【背景技術】
【０００２】
近年、ＤＶＤプレーヤ等の送信機器からＴＶ受信機等の受信機器への映像および音声データの送信にＨＤＭＩ（High-Definition Multimedia Interface）通信による送信が行われている。ＨＤＭＩ通信において、映像および音声データの著作権保護のためにＨＤＣＰ（High-bandwidth Digital Content Protection system）規格で定められた機器認証が行われている。
【０００３】
ＨＤＣＰ規格は、コンテンツを暗号化し送信する送信機器と、コンテンツを受信し復号する受信機器との間におけるコンテンツの伝送を保護するための規格である。ＨＤＣＰ規格では、認証プロトコルを用いて送信機器が受信機器の認証を行う。機器認証で事前に共有された秘密(鍵)に基づいて、送信機器は、受信機器に暗号化されたコンテンツを送信する。また、長時間ＨＤＣＰシステムの整合性を保つために、システム上において危険にさらされたデバイスを無効にする。ＨＤＣＰ規格における機器認証は、ＤＤＣ（Display Data Channel）通信等のＩＩＣ通信(Inter−Integrated Circuit)を用い行われる。
【０００４】
図１１は、ＨＤＣＰ規格における機器認証が行われる従来のＨＤＭＩ通信システムの構成を示すブロック図である。図１１に示すＨＤＭＩ通信システムは、ＤＶＤプレーヤ等の送信機器１１００と、ＴＶ受信機等の受信機器１２００とを備える。送信機器１１００と受信機器１２００とは、ＨＤＭＩケーブル１３００を介し接続される。
【０００５】
送信機器１１００は、ＣＰＵ１１１０とＨＤＭＩ送信部１１２０とを備える。ＣＰＵ１１１０は、ＨＤＭＩ送信部１１２０を含む送信機器１１００の制御を行う。ＨＤＭＩ送信部１１２０は、受信機器１２００への映像および音声データの送信を行うＬＳＩであり、ＤＤＣ部１１２７を備える。ＨＤＭＩケーブル１３００を介し、ＨＤＭＩ送信部１１２０から受信機器１２００に映像および音声データが一方向送信される。
【０００６】
ＤＤＣ部１１２７は、ＨＤＭＩケーブル１３００を介し、受信機器１２００との双方向のＤＤＣ通信を行う。
【０００７】
このような構成の従来のＨＤＭＩ通信システムにおいては、送信機器１１００よる受信機器１２００の機器認証は、ＣＰＵ１１１０のソフトウェア処理により行われる。従来の送信機器１１００は、ＣＰＵ１１１０が機器認証を行っているので、ＣＰＵ１１１０の稼働状況によっては、機器認証が高速に行えない。また、ＣＰＵ１１１０とＤＤＣ部１１２７との間のデータ送信は、ＤＤＣ通信により行われている。ＤＤＣ通信は、１００ｋＨｚ程度の通信周波数でデータの送受信をおこなっているので、ＣＰＵ１１１０とＤＤＣ部１１２７との間のデータ送信を高速に行うことができない。
【０００８】
このような課題に対し、ＨＤＣＰ規格における機器認証の一部を専用の回路により実行する技術が特許文献１に記載されている。ＨＤＣＰ規格における機器認証は、規格に定められた所定の処理を行うものであり、ハードウェアで構成された回路を用い処理を行うことが可能である。
【特許文献１】特開２００５−２６９１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＨＤＣＰ規格における機器認証は、規格に定められた所定の処理であるが、受信機器の仕様によっては、処理のタイミング等が異なる場合がある。ＨＤＣＰ規格における機器認証処理を特許文献１のようにハードウェア化すると、認証処理を高速化することはできるが、受信機器の仕様により正しく機器認証が行えない場合が発生する。例えば、受信機器の処理速度が遅い場合には、機器認証処理中にディレイを挿入しないと正常に機器認証が行えない等の問題が発生する。
【００１０】
そこで、本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係る認証処理装置は、外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証手段と、前記複数の認証フェーズのそれぞれについて処理をするか否かを示す第１のコマンドを保持するコマンド保持手段と、前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる認証制御手段とを備える。
【００１２】
この構成によれば、本発明に係る認証処理装置は、コマンド保持手段が保持する第１のコマンドに基づき、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的に認証手段が有するハードウェアで構成された専用の回路を用い処理を行うことができる。よって、認証処理を行う対象である外部機器（受信機器）に応じ、ハードウェア処理では不適切な認証フェーズがある場合には、その認証フェーズをソフトウェア処理することが可能となる。これにより、本発明に係る認証処理装置は、単純なハードウェア処理では、正常に認証処理が行えない外部機器に対しても柔軟に対応することができる。また、認証手段は認証処理に含まれる認証フェーズをハードウェア処理するので、全ての認証フェーズをソフトウェア処理する場合に比べ高速に認証処理を行うことができる。よって、本発明に係る認証処理装置は、高速処理が行え、多種の受信機器に対応することができる。なお、ハードウェア処理とは、ハードウェアで構成された回路を用い処理を行うことを意味する。また、ソフトウェア処理とは、ＣＰＵ等がプログラムを実行し、処理を行うことを意味する。
【００１３】
また、前記第１のコマンドは、前記複数の認証フェーズにそれぞれ対応する複数のビットを含み、前記第１のコマンドの各ビットは、対応する前記認証フェーズの処理をするか否かを示し、前記認証制御手段は、前記コマンド保持手段が保持する前記第１のコマンドの各ビットおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせてもよい。
【００１４】
この構成によれば、本発明に係る認証処理装置は、各認証フェーズに対応した１ビットの情報から構成される第１のコマンドに基づき、所定の認証フェーズを実行することができる。よって、一つのコマンドで複数の認証フェーズのうち所定の認証フェーズを選択することができる。すなわち、単純なコマンドで認証処理装置を制御することができる。
【００１５】
また、前記認証処理装置は、さらに、前記認証手段による認証フェーズの処理において生成された認証データを後の認証フェーズのために保持するデータ保持手段を備えてもよい。
【００１６】
この構成によれば、認証手段により処理を行われた認証フェーズにおいて生成された認証データ（鍵およびパラメータ等）は、データ保持手段に保持される。よって、ソフトウェア処理を行うＣＰＵ等は、データ保持手段に保持される認証データを読出し、認証処理装置で処理された認証フェーズの後の認証フェーズの処理を引き続き行うことができる。
【００１７】
また、前記認証手段は、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行ってもよい。
【００１８】
この構成によれば、本発明に係る認証処理装置は、ＣＰＵ等が処理した認証フェーズにおいて生成された認証データを読出し、読出した認証データを用い後続の認証フェーズを処理することができる。
【００１９】
また、前記認証処理装置は、さらに、前記外部機器とＤＤＣ通信を行うＤＤＣ通信手段を備え、前記認証手段は、前記ＤＤＣ通信手段を介して、前記外部機器とのデータの送受信を行ってもよい。
【００２０】
この構成によれば、本発明に係る認証処理装置は、外部機器（受信機器）とＤＤＣ通信を行うことができる。また、ＤＤＣ通信を用いた認証処理において、ハードウェア処理を用いた高速処理が行え、かつ、多種の受信機器に対応することができる。
【００２１】
また、前記コマンド保持手段は、前記外部機器とのＤＤＣ通信ラインをリセットするか否かを示す第２のコマンドを保持し、前記ＤＤＣ通信手段は、前記コマンド保持手段が保持する第２のコマンドに基づき、前記ＤＤＣ通信ラインをリセットする信号を生成するリセット生成手段を備えてもよい。
【００２２】
この構成によれば、本発明に係る認証処理装置は、各認証フェーズの処理において行われる外部機器（受信機器）とのＤＤＣ通信において外部機器とのＤＤＣ通信ラインをリセットすることが可能となる。これにより、受信機器とのＤＤＣ通信を安定して行うことができる。
【００２３】
また、前記コマンド保持手段は、前記複数の認証フェーズ間のそれぞれに遅延時間を挿入するか否かを示す第３のコマンドを保持し、前記認証処理装置は、さらに、前記遅延時間をカウントするタイマ手段を備え、前記認証制御手段は、前記コマンド保持手段が保持する前記第３のコマンドにおいて遅延時間を挿入すると示された認証フェーズ間に、前記タイマ手段がカウントした遅延時間を挿入してもよい。
【００２４】
この構成によれば、各認証フェーズ間に任意のディレイ（遅延時間）を挿入することができる。よって、外部機器（受信機器）の仕様によって、認証フェーズ間にディレイがないと正常に認証処理が行えない場合でも、正常に認証処理を行うことができる。よって、本発明に係る認証処理装置は、多種の受信機器に対応することができる。また、認証フェーズ間にディレイが必要な認証フェーズに対してもハードウェア処理を行うことができるので、高速に処理を行うことができる。
【００２５】
また、前記認証処理装置は、さらに、前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するＣＰＵを備えてもよい。
【００２６】
この構成によれば、ハードウェア処理では、正常に処理できない認証フェーズをソフトウェア処理することができる。
【００２７】
また、前記認証処理装置は、さらに、前記コマンド保持手段が保持する前記第１のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するＣＰＵを備え、前記データ保持手段は、前記ＣＰＵによる認証フェーズの処理において生成された認証データを後の認証フェーズのために保持し、前記ＣＰＵは、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行ってもよい。
【００２８】
この構成によれば、認証手段は、ＣＰＵがソフトウェア処理した認証フェーズの後の認証フェーズをデータ保持手段が保持する認証データを用いハードウェア処理することができる。また、ＣＰＵは、認証手段がハードウェア処理した認証フェーズの後の認証フェーズをデータ保持手段が保持する認証データを用いソフトウェア処理することができる。よって、本発明に係る認証処理装置は、外部機器（受信機器）の仕様に応じ、各認証フェーズに対し容易にハードウェア処理とソフトウェア処理とを使い分けることができる。
【００２９】
また、前記認証装置は、さらに、外部機器を特定する機器情報と、前記各外部機器に対応する前記第１のコマンドとを記憶する記憶手段と、前記認証処理の対象の外部機器の機器情報を取得する機器情報取得手段と、前記機器情報取得手段が取得した機器情報に対応する前記第１のコマンドを前記記憶手段から読出し、前記コマンド保持手段に書込む機器情報制御手段とを備えてもよい。
【００３０】
この構成によれば、記憶手段は、外部機器（受信機器）の仕様に応じた最適な第１のコマンドを記憶する。よって、最適な第１のコマンドを読出すことで、外部機器に対し最適な処理パターン（各認証フェーズを認証手段によりハードウェア処理するか、ＣＰＵ等でソフトウェア処理するかの割り当て）を容易に判定し、最適な処理パターンで認証処理を行うことができる。
【００３１】
また、前記認証処理は、ＨＤＣＰ規格における認証処理であり、前記認証手段は、前記ＨＤＣＰ規格における第１認証処理に含まれる認証フェーズの処理を行う回路を有する第１認証手段と、前記ＨＤＣＰ規格における第２認証処理に含まれる認証フェーズの処理を行う回路を有する第２認証手段と、前記ＨＤＣＰ規格における第３認証処理に含まれる認証フェーズの処理を行う回路を有する第３認証手段とを備えてもよい。
【００３２】
この構成によれば、本発明に係る認証処理装置は、ＨＤＣＰ規格における認証処理に対し、高速処理が行え、多種の受信機器に対応することができる。
【００３３】
また、本発明に係る認証処理方法は、外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部と、前記複数の認証フェーズのそれぞれについて処理するか否かを示す第１のコマンドを保持するコマンド保持部とを備える認証制御装置における認証制御方法であって、前記第１のコマンドに基づき、前記各認証フェーズの処理をするか否かを判定する判定ステップと、前記判定ステップにおいて処理をすると判定された認証フェーズの処理を前記認証部に行わせる処理ステップとを含む。
【００３４】
これにより、本発明に係る認証処理方法は、コマンド保持部が保持する第１のコマンドに基づき、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的に認証部が有するハードウェアで構成された専用の回路を用い処理を行うことができる。よって、認証処理を行う対象である外部機器（受信機器）に応じ、ハードウェア処理では不適切な認証フェーズがある場合には、その認証フェーズをソフトウェア処理することが可能となる。これにより、本発明に係る認証処理方法は、単純なハードウェア処理では、正常に認証処理が行えない外部機器に対しても柔軟に対応することができる。また、認証手段は認証処理に含まれる認証フェーズをハードウェア処理するので、全ての認証フェーズをソフトウェア処理する場合に比べ高速に認証処理を行うことができる。よって、本発明に係る認証処理方法は、高速処理が行え、多種の受信機器に対応することができる。
【発明の効果】
【００３５】
本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明に係る認証処理装置の実施の形態について、図面を参照しながら詳細に説明する。
【００３７】
本実施の形態に係る認証処理装置は、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的にハードウェア処理する。これにより、ハードウェア処理では、正常に処理できない認証フェーズに対してはソフトウェア処理を行うことができる。よって、多種の受信機器に対応することができる。
【００３８】
まず、本実施の形態に係る認証処理装置の構成を説明する。
【００３９】
図１は、本実施の形態に係る認証処理装置を含むＨＤＭＩ通信システムの構成を示すブロック図である。
【００４０】
図１に示すＨＤＭＩ通信システムは、ＤＶＤプレーヤ等の送信機器１００と、ＴＶ受信機等の受信機器２００とを備える。送信機器１００と受信機器２００とは、ＨＤＭＩケーブル３００を介し接続される。
【００４１】
送信機器１００は、ＨＤＭＩケーブル３００を介し、受信機器２００に映像および音声データを送信する。送信機１００は、ＨＤＭＩケーブル３００を介し、受信機器２００とＤＤＣ通信を行う。送信機器１００は、ＤＤＣ通信を用い、受信機器２００に対しＨＤＣＰ規格における機器認証を行う。送信機器１００は、ＣＰＵ１１０と、認証処理装置１２０と、記憶部１４０とを備える。
【００４２】
ＣＰＵ１１０は、認証処理装置１２０および記憶部１４０を含む送信機器１００の制御を行う。
【００４３】
認証処理装置１２０は、ＨＤＣＰ規格における機器認証処理を行うＬＳＩである。認証処理装置１２０は受信機器２００に対する機器認証処理に含まれる複数の認証フェーズをハードウェア処理する。認証処理装置１２０は、ＣＰＵ１１０から送信される認証コマンドに基づき、複数の認証フェーズのうち一部または全部の処理を行う。認証処理装置１２０は、レジスタ部１２１と、認証エンジン１２２と、第１認証部１２３と、第２認証部１２４と、第３認証部１２５と、タイマ部１２６と、ＤＣＣ部１２７とを備える。
【００４４】
レジスタ部１２１は、ＣＰＵ１１０より送信された認証コマンドを保持するレジスタである。レジスタ部１２１は、コマンドレジスタ１２８と、タイマレジスタ１２９と、データレジスタ１３０とを備える。
【００４５】
コマンドレジスタ１２８は、ＣＰＵ１１０より送信された認証処理に含まれる複数の認証フェーズのそれぞれについて処理をするか否かを示す認証コマンドを保持する。また、コマンドレジスタ１２８は、認証コマンドに含まれる各認証フェーズ間にディレイを挿入するか否かを示すコマンドを保持およびＤＤＣ通信ラインをリセットするか否かを示すコマンドを保持する。
【００４６】
タイマレジスタ１２９は、ＣＰＵ１１０より送信されたタイマ情報を保持する。ここで、タイマ情報とは、各認証フェーズ間にディレイ（遅延時間）が挿入される場合の遅延量の情報であり複数ビットから構成される。
【００４７】
データレジスタ１３０は、認証フェーズの処理において生成された認証データ（鍵およびパラメータ等）を保持する。
【００４８】
認証エンジン１２２は、ＣＰＵ１１０より送信されコマンドレジスタ１２８に保持された認証コマンドに基づき、認証フェーズの処理を第１認証部１２３、第２認証部１２４または第３認証部１２５に行わせる。また、認証エンジン１２２は、タイマ部１２６およびＤＤＣ部１２７を制御する。
【００４９】
第１認証部１２３は、ＨＤＣＰ規格における第１認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。なお、ＨＤＣＰ規格では、３段階の認証処理が行われ、それぞれ第１認証、第２認証および第３認証と呼ぶことにする。第２認証部１２４は、ＨＤＣＰ規格における第２認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。第３認証部１２５は、ＨＤＣＰ規格におけ３認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。
【００５０】
タイマ部１２６は、タイマレジスタ１２９に保持されているタイマ情報に基づき、遅延時間をカウントする。
【００５１】
ＤＤＣ部１２７は、ＨＤＭＩケーブル３００を介し、受信機器２００との双方向のＤＤＣ通信を行う。ＤＤＣ部１２７は、リセット生成部１３１を備える。リセット生成部１３１は、受信機器２００とのＤＤＣ通信ラインをリセットする信号を生成する。第１認証部１２３、第２認証部１２４または第３認証部１２５は、ＤＤＣ部１２７を介し、受信機器２００とのデータの送受信を行う。
【００５２】
記憶部１４０は、受信機器の種別を特定する機器情報および受信機器に対応する認証コマンド等を保持する。記憶部１４０は、例えば、フラッシュメモリ等の不揮発性記憶素子である。
【００５３】
次に、コマンドレジスタ１２８の構成を説明する。
【００５４】
図２は、コマンドレジスタ１２８の構成を示す図である。図２に示すように、コマンドレジスタ１２８は、例えば、３２ビットで構成される。コマンドレジスタ１２８に保持される認証コマンドは、複数の認証フェーズにそれぞれ対応する複数のビットを含む。また、認証コマンドの各ビットは、対応する認証フェーズの処理をするか否かを示す。コマンドレジスタ１２８のビット０〜１５には、第１〜第３認証における各認証フェーズのそれぞれをハードウェア処理するか否かの情報が保持される。例えば、各認証フェーズをハードウェア処理する場合には、対応するレジスタに“１”が保持され、ハードウェア処理しない場合には、対応するレジスタに“０”が保持される。ここで、詳細は後述するが第１〜第３認証の各認証処理には、複数の認証フェーズが含まる。第１認証処理には、第１ａ〜第１ｈの８つの認証フェーズが含まれ、第２認証処理には、第２ａ〜第２ｅの５つの認証フェーズが含まれ、第３認証処理には、第３ａ〜第３ｃの３つの認証フェーズが含まれる。認証エンジン１２２は、コマンドレジスタ１２８のビット０〜１５に保持されるコマンドに基づき、認証処理に含まれる複数の認証フェーズの処理のうち一部または全部を第１認証部１２３、第２認証部１２４または第３認証部１２５に実行させる。
【００５５】
コマンドレジスタ１２８のビット１６〜２８のそれぞれには、認証処理に含まれる複数の認証フェーズ間のそれぞれにディレイ（遅延時間）を挿入するか否かを示す１ビットのコマンドが保持される。例えば、ビット１６は、第１ａ認証フューズと第１ｂ認証フューズとの間にディレイを挿入するか否かの情報が保持される。認証エンジン１２２は、コマンドレジスタ１２８のビット１６〜２８に保持されるコマンドに基づき、タイマ部１２６がカウントした遅延時間を認証フェーズ間に挿入する。例えば、対応するレジスタに“１”が保持されている場合には、認証エンジン１２２は、対応する認証フェーズ間にディレイを挿入する。また、対応するレジスタに“０”が保持されている場合には、認証エンジンは、対応する認証フェーズ間にディレイを挿入しない。なお、図２において第１認証処理と第２認証処理との間（第１ｈ認証フェーズと第２ａ認証フェーズとの間）および第２認証処理と第３認証処理との間（第２ｅ認証フェーズと第３ａ認証フェーズとの間）のディレイに対応するレジスタは設けていないが、設けてもよい。
【００５６】
コマンドレジスタ１２８のビット２９〜３１には、認証フェーズ中に行われる受信機器２００とのＤＤＣアクセス時に受信機器２００とのＤＤＣ通信ラインをリセットするか否かを示すコマンドが保持される。リセット生成部１３１は、コマンドレジスタ１２８のビット２９〜３１に保持されるデータに基づき、ＤＤＣ通信ラインをリセットするリセットコマンドを生成する。例えば、ビット２９の０ｃｌｏｃｋが“１”の場合は、リセット生成部１３１は、ＤＤＣリセットコマンドを発行せず、ビット３０の９ｃｌｏｃｋが“１”の場合は、９クロックのＤＤＣリセットコマンドをＤＤＣアクセス毎に発行し、ビット３１の１８ｃｌｏｃｋが“１”の場合は、１８クロックのＤＤＣリセットコマンドをＤＤＣアクセス毎に発行する。なお、９クロックのＤＤＣリセットコマンドとは、受信機器２００とのＤＤＣ通信ラインの状態を１回リセットするコマンドであり、１８クロックのＤＤＣリセットコマンドは、９クロックのＤＤＣリセットコマンドを２回発行することである。
【００５７】
例えば、ＣＰＵ１１０から認証コマンド“０ｘ２０００ＦＦＦＦ”が送信され、コマンドレジスタ１２８に保持されると、認証処理装置１２０は、ビット０〜１５が“１”なので全ての認証フェーズを順次実行する。また、ビット２９が“１”なので、認証処理装置１２０は、受信機器２００へのＤＤＣアクセスの際にＤＤＣリセットコマンドは発行しない。また、ＣＰＵ１１０から認証コマンド“０ｘ８０００Ｅ０００”が送信されると、認証処理装置１２０は、ビット０〜１２が“０”、ビット１３〜１５“１”なので、第１認証処理および第２認証処理は実行せず第３認証処理のみを実行する。また、ビット３１が“１”なので、認証処理装置１２０は、受信機器２００へのＤＤＣアクセスの際に１８クロックのＤＤＣリセットコマンドを発行する。また、ＣＰＵ１１０から認証コマンド“０ｘ４００３０００Ｆ”が送信されると、認証処理装置１２０は、ビット０〜３が“１”、ビット４〜１６が“０”なので、第１ａ〜第１ｄ認証フェーズのみを実行する。また、ビット１６および１７が“１”なので、第１ａ認証フェーズと第１ｂ認証フェーズとの間および第１ｂ認証フェーズと第１ｃ認証フェーズとの間にディレイを挿入する。また、ビット３０が“１"なので、認証処理装置１２０は、フューズに含まれる受信機器２００へのＤＤＣアクセスの際に９クロックのＤＤＣリセットコマンドを発行する。
【００５８】
このように、本実施の形態に係る認証処理装置１２０は、ＣＰＵ１１０から送信された認証コマンドをコマンドレジスタ１２８に保持し、保持した認証コマンドに応じ、選択的に認証処理に含まれる認証フェーズの処理を実行することができる。また、認証コマンドは、各認証フェーズに対応する１ビットの情報を含むので、認証処理装置１２０は、一つのコマンドから容易に任意の認証フェーズを実行するか否かを判定し、任意認証フェーズを選択的に実行することができる。また、認証コマンドには、各認証フェーズ間にディレイを挿入するか否かを示す１ビットの情報が含まれる。これにより、認証装置１２０は、容易に任意の認証フェーズ間にディレイを挿入するか否かを判定し、ディレイを挿入することができる。また、認証コマンドには、受信機器２００に対するＤＤＣリセットコマンドを発行するか否かの情報が含まれる。これにより、認証装置１２０は、容易にＤＤＣリセットコマンドを発行するか否かを判定し、受信機器２００に対しＤＤＣリセットコマンドを発行することができる。
【００５９】
図３は、タイマレジスタ１２９の構成を示す図である。図３に示すようにタイマレジスタ１２９は、図２に示すコマンドレジスタ１２８のビット１６〜２８に保持されている各認証フェーズ間のディレイに、それぞれ対応する遅延量を保持するレジスタである。例えば、タイマレジスタ１２９は、各認証フェーズ間のディレイに対応する８ビットの遅延量を保持する。図３に示すタイマレジスタ１２９は、認証フェーズ１ａと認証フェーズ１ｂとの間のディレイおよび認証フェーズ１ｂと認証フェーズ１ｃとの間のディレイの遅延量として“２５５”を保持し、認証フェーズ１ｃと認証フェーズ１ｄとの間のディレイの遅延量として“６４”を保持する。認証エンジン１２２は、コマンドレジスタ１２８のビット１６〜２８において、“１”が保持されている場合には、対応するタイマレジスタ１２９の遅延量を読出し、読み出した遅延量に基づき、タイマ部１２６に遅延時間をカウントさせる。また、タイマレジスタ１２９が保持する遅延量は、ＣＰＵ１１０からコマンドレジスタに保持される認証コマンドと同時に送信される。なお、タイマレジスタ１２９が保持する遅延量は、８ビットに限定されるものではなく、複数ビットであればよい。
【００６０】
なお、図２において、コマンドレジスタ１２８は、各認証フェーズの実行コマンド（ビット０〜１５）と、認証フェーズ間のディレイコマンド（ビット１６〜２８）と、リセットコマンド（ビット２９〜３１）とを保持しているが、実行コマンド、ディレイコマンドおよびリセットコマンドのうちいずれか１または２のコマンドのみを保持してもよい。また、認証処理装置１２０は、各認証フェーズの実行コマンド用、フェーズ間のディレイコマンド用およびリセットコマンド用のレジスタをそれぞれ備えてもよい。
【００６１】
また、図２において、コマンドレジスタ１２８は、認証フェーズ間のディレイコマンド（ビット１６〜２８）を保持しているが、コマンドレジスタ１２８にはディレイコマンドを保持せず、認証エンジン１２２は、タイマレジスタ１２９が保持する遅延量から各認証フェーズ間にディレイを挿入するか否かを判定してもよい。具体的には、認証エンジン１２２は、タイマレジスタ１２９が保持する遅延量が“０”の場合には、対応する認証フェーズ間にディレイを挿入せず、タイマレジスタ１２９が保持する遅延量が“０”以外の場合には、当該遅延量に応じた遅延時間を対応する認証フェーズ間に挿入してもよい。さらに、コマンドレジスタ１２８が認証フェーズ間のディレイコマンド（ビット１６〜２８）を保持しない場合には、レジスタ部１２１は、タイマレジスタ１２９を備えず、タイマレジスタ１２９が保持する複数ビットの遅延量をコマンドレジスタ１２８に保持してもよい。
【００６２】
図４は、ＤＤＣ通信における送信機器１００から受信機器２００へデータ書込み時の信号の一例を模式的に示す図である。図４に示すように、データ信号にデータがない状態においてクロック信号に９クロックが入力されることにより、受信機器２００とのＤＤＣ通信ラインの状態はリセットされる。次に、送信機器１００から受信機器２００へ、デバイスを特定するためのスレーブアドレス４０１が送信される。受信機器２００は、スレーブアドレス４０１を受信すると、受信したことを示すＡＣＫ４０２を送信機器１００に送る。次に、送信機器１００から受信機器２００へ、デバイス内部のアドレスであるオフセットアドレス４０３が送られ、受信した受信機器２００は、ＡＣＫ４０４を送信機器１００に送る。次に、送信機器１００から受信機器２００へ、書込みデータ４０５が送信され、受信した受信機器２００は、ＡＣＫ４０４を送信機器１００に送る。
【００６３】
次に、本実施の形態における認証処理の動作を説明する。
【００６４】
図５は、本実施の形態における認証処理装置１２０の認証エンジン１２２の処理の流れを示すフローチャートである。
【００６５】
図５に示すように、まず、認証エンジン１２２は、コマンドレジスタ１２８が保持する認証コマンドより、第１認証に対応するコマンドが入力されたか否かを判定する（ステップＳ１００）。具体的には、図２に示すコマンドレジスタ１２８の第１認証に含まれる認証フェーズに対応するレジスタ（コマンドレジスタ１２８のビット０〜７）に、１以上の“１”が保持されているかを判定する。コマンドレジスタ１２８の第１認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されている場合（Ｓ１００でＹｅｓ）は、認証エンジン１２２の命令により第１認証部１２３は、第１認証処理を行う（Ｓ１０１）。
【００６６】
第１認証処理において認証成功の場合（Ｓ１０２でＹｅｓ）は、認証エンジン１２２は、コマンドレジスタ１２８が保持する認証コマンドより、第２認証に対応するコマンドが入力されたか否かを判定する（ステップＳ１０３）。具体的には、図２に示すコマンドレジスタ１２８の第２認証に含まれる認証フェーズに対応するレジスタ（コマンドレジスタ１２８のビット８〜１２）に、１以上の“１”が保持されているかを判定する。コマンドレジスタ１２８の第２認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されている場合（Ｓ１０３でＹｅｓ）は、認証エンジン１２２の命令により第２認証部１２４は、第２認証処理を行う（Ｓ１０４）。
【００６７】
第２認証処理において認証成功の場合（Ｓ１０５でＹｅｓ）は、認証エンジン１２２は、コマンドレジスタ１２８が保持する認証コマンドより、第３認証に対応するコマンドが入力されたか否かを判定する（ステップＳ１０６）。具体的には、図２に示すコマンドレジスタ１２８の第３認証に含まれる認証フェーズに対応するレジスタ（コマンドレジスタ１２８のビット１３〜１５）に、１以上の“１”が保持されているかを判定する。コマンドレジスタ１２８の第３認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されている場合（Ｓ１０６でＹｅｓ）は、認証エンジン１２２の命令により第３認証部１２５は、第３認証処理を行う（Ｓ１０７）。第３認証の認証成功の場合（Ｓ１０８でＹｅｓ）は、認証処理は終了する。
【００６８】
一方、ステップＳ１００において、コマンドレジスタ１２８の第１認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されていない場合（Ｓ１００でＮｏ）は、第１認証処理（ステップＳ１０１）は行われず、次に、第２認証に対応するコマンドが入力されたか否かが判定される（ステップＳ１０３）。
【００６９】
また、ステップＳ１０３において、コマンドレジスタ１２８の第２認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されていない場合（Ｓ１０３でＮｏ）は、第２認証処理（ステップＳ１０４）は行われず、次に、第２認証に対応するコマンドが入力されたか否かが判定される（ステップＳ１０６）。
【００７０】
また、ステップＳ１０６において、コマンドレジスタ１２８の第３認証に含まれる認証フェーズに対応するレジスタに、１以上の“１”が保持されていない場合（Ｓ１０６でＮｏ）は、第３認証処理（ステップＳ１０７）は行われず、認証処理は終了する。
【００７１】
また、ステップＳ１０２、Ｓ１０５またはＳ１０８において、認証失敗の場合（Ｓ１０２でＮｏ、Ｓ１０５でＮｏまたはＳ１０８でＮｏ）は、認証エンジン１２２は、認証失敗であることをＣＰＵ１１０に通知する（Ｓ１０９）。
【００７２】
次に、第１〜３認証処理（Ｓ１０１、Ｓ１０４およびＳ１０７）の処理の流れを説明する。
【００７３】
図６は、第１認証処理における第１認証部１２３の処理の流れを示すフローチャートである。図６に示すように、まず、第１認証部１２３は、パラメータを生成する（Ｓ２０１）。次に、第１認証部１２３は、ステップＳ２０１において生成したパラメータを受信機器２００に書込み（Ｓ２０２）、受信機器２００に送信機器１００の第１認証用認証鍵を書込み（Ｓ２０３）、受信機器２００に送信機器１００の情報を書込む（Ｓ２０４）。次に、第１認証部１２３は、送信機器１００の第１認証用データを生成し（Ｓ２０６）、受信機器２００の第１認証用データを読出す（Ｓ２０７）。第１認証部１２３は、ステップＳ２０６において生成した送信機器１００の第１認証用データと、ステップＳ２０７で読出した受信機器２００の第１認証用データとを比較することで、第１認証を行う（Ｓ２０８）。最後に、第１認証部１２３は、第１認証の結果を認証エンジン１２２に通知する。
【００７４】
図７は、第２認証処理における第２認証部１２４の処理の流れを示すフローチャートである。図７に示すように、まず、第２認証部１２４は、受信機器２００の情報を読出す（Ｓ３０１）。第２認証部１２４は、ステップＳ３０１において読出した情報より第２認証が必要か否かを判定する（Ｓ３０２）。第２認証が必要な場合（Ｓ３０２でＹｅｓ）、第２認証部１２４は、受信機器２００の第２認証用認証鍵を読出し（Ｓ３０３）、送信機器１００の第２認証用データを生成し（Ｓ３０４）、受信機器２００の第２認証用データを読出す（Ｓ３０５）。第２認証部１２４は、ステップＳ３０４で生成した送信機器１００の第２認証用データと、ステップＳ３０５で読出した受信機器２００の第２認証用データとを比較することで、第２認証を行う（Ｓ３０６）。最後に、第２認証部１２４は、第２認証の結果を認証エンジン１２２に通知する。
【００７５】
図８は、第３認証処理における第３認証部１２５の処理の流れを示すフローチャートである。図８に示すように、まず、第３認証部１２５は、送信機器１００の第３認証用データを読出す（Ｓ４０１）。次に、第３認証部１２５は、受信機器２００の第３認証用データを読出す（Ｓ４０２）。第３認証部１２５は、ステップＳ４０１において読出した送信機器１００第３認証用データと、ステップＳ４０２において読出した受信機器２００の第３認証用データとを比較することで、第３認証を行う（Ｓ４０３）。最後に、第３認証部１２５は、第３認証の結果を認証エンジン１２２に通知する。
【００７６】
以上、図６〜７を用いて第１〜第３認証の全ての認証フェーズが実行される場合について説明した。以下、図６〜７に示す各認証フェーズにおける詳細な処理について説明する。
【００７７】
図９は、各認証フェーズにおける処理の流れを示すフローチャートである。一例として、図６に示す第１ｂ認証フェーズ（Ｓ２０２）における処理の流れを説明する。なお、他の認証フェーズにおいても同様の処理が行われる。
【００７８】
図９に示すように、まず、認証エンジン１２２は、第１ｂ認証フェーズを実行するか否かを判定する（Ｓ５０１）。具体的には、認証エンジン１２２は、コマンドレジスタ１２８の第１ｂ認証フェーズに対応するレジスタ（ビット１）の保持するデータを確認する。
【００７９】
第１ｂ認証フェーズに対応するレジスタ（ビット１）の保持するデータが“１”の場合（Ｓ５０１でＹｅｓ）、次に、認証エンジン１２２は、第１ａ認証フェーズと第１ｂ認証フェーズとの間にディレイを挿入するか否かを判定する（Ｓ５０２）。具体的には、認証エンジン１２２は、コマンドレジスタ１２８の第１ａ認証フェーズと第１ｂ認証フェーズに間のディレイに対応するレジスタ（ビット１６）の保持するデータを確認する。
【００８０】
第１ａ認証フェーズと第１ｂ認証フェーズとの間のディレイに対応するレジスタ（ビット１６）の保持するデータが“１”の場合（Ｓ５０２でＹｅｓ）、認証エンジン１２２は、タイマレジスタ１２９から第１ａ認証フェーズと第１ｂ認証フェーズとの間のディレイに対応するタイマ情報を読出し、読出したタイマ情報に基づき、タイマ部１２６を制御する。タイマ部１２６は、タイマ情報に応じた遅延時間をカウントする。認証エンジン１２２は、タイマ部１２６がカウントしたディレイの間、次の処理を実行せずに待機する（Ｓ５０３）。タイマ部１２６が生成したディレイの後、認証エンジン１２２は、データレジスタ１３０から第１ｂ認証フェーズの前の認証フェーズにおいて生成された認証データ（例えば、第１ａ認証フェーズで生成されたパラメータ）を読出す（Ｓ５０４）。次に、認証エンジン１２２は、第１認証部１２３に第１ｂ認証フェーズ（受信機器２００へのステップＳ５０４で読出したパラメータの書込み）を実行させる（Ｓ５０５）。一方、ステップＳ５０２において、第１ａ認証フェーズと第１ｂ認証フェーズとの間のディレイに対応するレジスタ（ビット１６）の保持するデータが“０”の場合（Ｓ５０２でＮｏ）には、ディレイは実行されず、次に、認証エンジン１２２は、データレジスタ１３０から第１ａ認証フェーズにおいて生成されたデータを読出し（Ｓ５０４）、第１認証部１２３に第１ｂ認証フェーズを実行させる（Ｓ５０５）。
【００８１】
ステップＳ５０５において第１ｂ認証フェーズが実行された後、認証エンジン１２２は、第１ｂ認証フェーズにおいて生成されたデータ（認証鍵およびパラメータ等）を後の認証フェーズの処理のためにデータレジスタ１３０に書込む（Ｓ５０６）。ステップＳ５０６の後は、図６に示す第１ｃ認証フェーズ（Ｓ２０３）が実行される。なお、第１ｃ認証フェーズにおいても、第１ｂ認証フェーズと同様に図９に示す処理が実行される。
【００８２】
一方、ステップＳ５０１において第１ｂ認証フェーズに対応するレジスタ（ビット１）の保持するデータが“０”の場合（Ｓ５０１でＮｏ）、第１ｂ認証フェーズは、ＣＰＵ１１０によりソフトウェア処理される。まず、ＣＰＵ１１０は、データレジスタ１３０に保持されている第１ｂ認証フェーズの前の認証フェーズにおいて生成されたデータを読出す（Ｓ５０７）。次に、ＣＰＵ１１０は、読出したデータを用い第１ｂ認証フェーズをソフトウェア処理する（Ｓ５０８）。ＣＰＵ１１０は、第１ｂ認証フェーズ（Ｓ５０８）において生成されたデータを後の認証フェーズの処理のためにデータレジスタ１３０に書込む（Ｓ５０９）。
【００８３】
また、ＣＰＵ１１０または認証処理装置１２０による各認証フェーズの処理において、受信機器２００とのＤＤＣ通信によるデータの送受信が行われる場合には、リセット生成部１３１は、コマンドジスタ１２８に保持されているＤＤＣリセットコマンドを発行するか否かの情報（図２におけるコマンドレジスタ１２８のビット２９〜３１）を参照する。コマンドレジスタ１２８のビット２９が“１”の場合には、リセット生成部１３１は、受信機器２００とのＤＤＣ通信の際にＤＤＣリセットコマンドを発行しない。コマンドレジスタ１２８のビット３０が“１”の場合には、リセット生成部１３１は、受信機器２００とのＤＤＣ通信の際に９クロックのＤＤＣリセットコマンドを発行する。コマンドレジスタ１２８のビット３１が“１”の場合には、リセット生成部１３１は、受信機器２００とのＤＤＣ通信の際に１８クロックのＤＤＣリセットコマンドを発行する。なお、リセット生成部１３１は、受信機器２００とのＤＤＣ通信が行われる毎にコマンドレジスタ１２８のＤＤＣリセットコマンドを発行するか否かの情報を確認してもよいし、ＣＰＵ１１０より認証コマンドが送信された際に、ＤＤＣリセットコマンドを発行するか否かの情報を取得しリセット生成部１３１またはＤＤＣ部１２７内のレジスタ等に保持してもよい。また、このようなＤＤＣリセットコマンドを発行するか否かの情報の確認または取得は、認証エンジン１２２を介し、認証エンジン１２２の制御により行われてもよい。
【００８４】
このように、本実施の形態に係る認証処理装置１２０は、コマンドレジスタ１２８に保持される認証コマンドに応じ、任意の認証コマンドに含まれる任意の認証フェーズをハードウェア処理することができる。よって、全ての認証フェーズをソフトウェア処理する場合に比べ、処理速度を向上させることができる。また、ハードウェア処理を行う認証フェーズに関しては認証処理装置１２０内で処理を完結し、処理途中のデータ等をＤＤＣ通信によりＣＰＵ１１０と送受信する必要がない。よって、認証処理を高速化することができる。
【００８５】
また、ＣＰＵ１１０は、コマンドレジスタ１２８の認証コマンドにおいて、ハードウェア処理しないと示された認証フェーズをソフトウェア処理する。これにより、受信機器２００の仕様により、ハードウェア処理では正常に処理できない認証フェーズに関しては、ソフトウェア処理することができる。さらに、受信機器２００の仕様により、認証フェーズ間にディレイが必要な場合には、ディレイを挿入することができる。これにより、ディレイの挿入をＣＰＵ１１０でソフトウェア処理する必要がなくなり、処理を高速化することができる。
【００８６】
また、データレジスタ１３０は、ＣＰＵ１１０による認証フェーズの処理において生成された認証データ（鍵およびパラメータ等）を保持する。これにより、第１認証部１２３、第２認証部１２４または第３認証部１２５は、データレジスタ１３０が保持する認証データを読出し、当該認証データを用いＣＰＵ１１０がソフトウェア処理した認証フェーズの後の認証フェーズを容易にハードウェア処理することができる。また、データレジスタ１３０は、第１認証部１２３、第２認証部１２４または第３認証部１２５による認証フェーズの処理において生成された認証データを保持する。これにより、ＣＰＵ１１０は、データレジスタ１３０が保持する認証データを読出し、当該認証データを用い第１認証部１２３、第２認証部１２４または第３認証部１２５がハードウェア処理した後の認証フェーズを容易にソフトウェア処理することができる。このように、本実施形態に係る認証処理装置１２０は、多種の受信機器に対応することができる。
【００８７】
なお、図９において、認証エンジン１２２によるデータレジスタ１３０からのデータの読出し（Ｓ５０４）は、認証フェーズ実行が決定した（Ｓ５０１でＹｅｓ）後であり認証フェーズ実行（Ｓ５０５）の前であれば任意のタイミングで行ってよい。例えば、認証フェーズ実行が決定した（Ｓ５０１でＹｅｓ）後のディレイ実行の判定（Ｓ５０２）前に行ってもよいし、ディレイ実行判定（Ｓ５０２）またはディレイ実行（Ｓ５０３）と同時に行ってもよい。
【００８８】
また、図９において、ディレイ実行の判定およびディレイの実行（Ｓ５０２およびＳ５０３）は、認証フェーズ実行（Ｓ５０５）の前に行われているが、認証フェーズ実行（Ｓ５０５）またはデータレジスタ１３０へのデータの書込み（Ｓ５０６）の後に、次の認証フェーズとの間のディレイ判定およびディレイ実行（上記例では、第１ｂ認証フェーズと第１ｃ認証フェーズの間のディレイ）を行ってもよい。
【００８９】
また、データレジスタ１２８への認証データの読書き（Ｓ５０４、Ｓ５０６、Ｓ５０７およびＳ５０９）は、認証フェーズの内容によっては、行う必要がない場合がある。データレジスタ１２８への認証データの読書きを行う必要のない認証フェーズの処理においては、ステップＳ５０４、Ｓ５０６、Ｓ５０７およびＳ５０９のいずれか１以上を省略してもよい。
【００９０】
本実施の形態に係る認証処理は、認証処理装置１２０によるハードウェア処理とＣＰＵ１１０によるソフトウェア処理とを併用する。このようにハードウェア処理とソフトウェア処理とを併用する場合には、ＣＰＵ１１０は、どの認証フェーズをハードウェア処理またはソフトウェア処理するかを判定する判定処理を行う必要がある。
【００９１】
以下、本実施の形態における認証処理動作の判定処理について説明する。本実施の形態における判定処理は、認証を行う各受信機器に対し、最適な認証コマンドのパターンを記憶する。また、新たに接続された（対応する最適な認証コマンドのパターンが保持されていない）受信機器に対しては、認証を正常に行える認証コマンドのパターンを判定し、判定結果を記憶する手法を用いる。
【００９２】
図１０は、本実施の形態における判定処理の流れを示すフローチャートである。図１０に示すように、まず、ＣＰＵ１１０は、受信機器２００の種別を特定する機器情報を取得する（Ｓ６０１）。なお、受信機器２００の機器情報取得は、認証処理に受信機器２００の機器情報を取得する認証フェーズが含まれる場合には、個別に行う必要はなく、認証処理中に取得した機器情報を用いることができる。次に、ＣＰＵ１１０は、ステップＳ６０１で取得した機器情報と記憶部１４０が記憶する複数の受信機器の機器情報とを比較し、受信機器２００が新規の受信機器であるか否かを判定する（Ｓ６０２）。記憶部１４０に受信機器２００に対応する機器情報が保持されておらず、受信機器２００が新規の受信機器である場合（Ｓ６０２でＹｅｓ）、ＣＰＵ１１０の命令により認証処理装置１２０は、認証処理を実行する（Ｓ６０３）。例えば、認証処理装置１２０が全ての認証フェーズをディレイなしでハードウェア処理する。認証処理（Ｓ６０３）が正常に終了した場合（Ｓ６０４でＹｅｓ）、ＣＰＵ１１０は、ステップＳ６０３で実行した処理のパターン（認証コマンドのパターン）をステップＳ６０１で取得した受信機器２００の機器情報に対応させ記憶部１４０に記憶させる（Ｓ６０５）。
【００９３】
一方、ステップＳ６０３における認証処理が正常に終了しなかった場合（Ｓ６０４でＮｏ）、ＣＰＵ１１０は、認証処理のパターンを変更し（Ｓ６０６）、再び認証処理を実行する（Ｓ６０３）。ここで、ステップＳ６０６で行われる認証処理のパターン変更は、各認証フェーズ間にディレイを入れる、ハードウェア処理されている認証フェーズをＣＰＵ１１０でソフトウェア処理する、または、ＣＰＵ１１０でソフトウェア処理している認証フェーズのソフトウェア処理の内容を変更する等である。
【００９４】
ステップＳ６０６において変更された新たな認証コマンドのパターンでの認証処理が正常に終了した場合（Ｓ６０４でＹｅｓ）は、ステップＳ６０６において変更された新たな処理パターンが記憶部１４０に記憶される（Ｓ６０５）。
【００９５】
一方、ステップＳ６０６において変更された新たな認証コマンドのパターンでの認証処理が正常に終了しなかった場合（Ｓ６０４でＮｏ）は、再度、処理パターンが変更され（Ｓ６０６）、認証処理が実行される（Ｓ６０３）。ステップＳ６０４、Ｓ６０４でＮｏおよびＳ６０６の処理は、認証処理が正常に終了するまで繰り返される。なお、所定の回数パターン変更および認証実行を繰り返した後、認証不可として処理を終了してもよい。
【００９６】
また、記憶部１４０が受信機器２００の機器情報を記憶しており、受信機器２００が新規の受信機器でない場合（Ｓ６０２でＮｏ）、ＣＰＵ１１０は、記憶部１４０より受信機器２００に対応する認証コマンドのパターンを読出す（ステップＳ６０７）。ＣＰＵ１１０は、ステップＳ６０７で読出した認証コマンドのパターンに基づき、各認証フェーズを処理、または、認証処理装置１２０を制御し処理を行う。
【００９７】
このように、本実施の形態に係る認証処理装置１２０を備える送信機器１００は、記憶部１４０に受信機器を特定する機器情報と、当該機器情報に対応する最適な認証コマンドとを記憶する。ＣＰＵ１１０は、認証処理の対象である受信機器２００の機器情報を取得し、取得した機器情報に対応する最適な認証コマンドを記憶部１４０から読出す。ＣＰＵ１１０は、読出した認証コマンドをコマンドレジスタ１２８に書込む。これにより、認証処理装置１２０は、コマンドレジスタ１２８に書込まれた認証コマンドに基づき、受信機器に対応した最適な認証コマンドのパターンを用い認証処理を行うことができる。よって、容易に受信機器に対応した最適な認証処理を実行することができる。また、記憶部１４０に最適な認証コマンドのパターンが記憶されていない受信機器に対しては、最適な認証コマンドのパターンを判定する。よって、多種の受信機器に対応することができる。
【００９８】
なお、判定処理の方法は図１０に示した方法に限定されるものではない。例えば、新規の受信機器に対する最適な認証コマンドのパターンの判定は行わず、予め記憶部１４０に記憶された受信機器の機器情報と認証コマンドのパターンとのテーブルから、受信機器２００に対応する認証コマンドのパターンを判定してもよい。当該テーブルを取得する方法は、出荷時に記憶する、外部より送信機器１００に入力される、インターネット等を介し送信機器１００が取得する、または、受信機器２００が自身の処理パターンの情報を保持しており送信機器１００が受信機器２００から認証コマンドのパターンの情報を取得する等がある。また、このようなテーブルを取得した後、図１０の処理を行い、テーブルを更新してもよい。
【００９９】
また、図１において記憶部１４０は、認証処理装置１２０と個別に形成されているが、認証処理装置１２０が１チップの半導体集積回路として記憶部１４０を備えてもよい。
【０１００】
また、上記説明では、記憶部１４０に受信機器に対応する認証コマンドのパターンを記憶しているが、認証コマンドのパターンを記憶せず、毎回、図１０に示すパターンの判定（ステップＳ６０２でＹｅｓ以降の処理）を行ってもよい。
【０１０１】
また、新規の受信機器でない場合（Ｓ６０２でＮｏ）において、認証コマンドのパターン読出し（Ｓ６０７）の後に、新規の受信機器の場合（Ｓ６０２でＹｅｓ）と同様に正常に終了したかの判定等の処理（Ｓ６０３〜Ｓ６０６）を行ってもよい。
【０１０２】
また、上記説明では、ソフトウェア処理は、ＣＰＵ１１０が行っているが、認証処理装置１２０が専用のマイコンを備え、当該マイコンがソフトウェア処理を行ってもよい。さらに、上記説明において判定処理等のＣＰＵ１１０が行っている処理の一部または全部を当該マイコンが行ってもよい。
【０１０３】
また、各受信機器に対する最適な認証コマンドのパターンにＣＰＵ１１０によるソフトウェア処理が含まれる場合には、記憶部１４０に、各受信機器に対する当該ソフトウェア処理の情報を記憶してもよい。
【０１０４】
以上より、本実施の形態に係る認証処理装置１２０は、ＣＰＵ１１０から送信された認証コマンドをコマンドレジスタ１２８に保持し、保持した認証コマンドに応じ、選択的に認証処理に含まれる認証フェーズを実行することができる。また、認証コマンドは、各認証フェーズに対応する１ビットの情報を含むので、認証処理装置１２０は、一つのコマンドから容易に任意の認証フェーズを実行するか否かを判定し、任意認証フェーズを選択的に実行することができる。
【０１０５】
また、認証コマンドには、各認証フェーズ間にディレイを挿入するか否かを示す１ビットの情報が含まれる。これにより、認証装置１２０は、容易に任意の認証フェーズ間にディレイを挿入するか否かを判定し、ディレイを挿入することができる。
【０１０６】
また、認証コマンドには、受信機器２００に対するＤＤＣリセットコマンドを発行するか否かの情報が含まれる。これにより、認証装置１２０は、容易にＤＤＣリセットコマンドを発行するか否かを判定し、受信機器２００に対しＤＤＣリセットコマンドを発行することができる。
【０１０７】
また、本実施の形態に係る認証処理装置１２０は、コマンドレジスタ１２８に保持される認証コマンドに応じ、任意の認証コマンドに含まれる任意の認証フェーズをハードウェア処理することができる。よって、全ての認証フェーズをソフトウェア処理する場合に比べ、処理速度を向上させることができる。また、ハードウェア処理を行う認証フェーズに関しては認証処理装置１２０内で処理を完結し、処理途中のデータ等をＤＤＣ通信によりＣＰＵ１１０と送受信する必要がない。よって、認証処理を高速化することができる。
【０１０８】
また、受信機器２００の仕様により、ハードウェア処理では正常に処理できない認証フェーズに関しては、ＣＰＵ１１０でソフトウェア処理することができる。さらに、受信機器２００の仕様により、認証フェーズ間にディレイが必要な場合には、ディレイを挿入することができる。これにより、ディレイの挿入をＣＰＵ１１０でソフトウェア処理する必要がなくなり、処理を高速化することができる。
【０１０９】
また、認証処理装置１２０またはＣＰＵ１１０の認証フェーズの処理において生成された認証データ（鍵およびパラメータ等）をデータレジスタ１３０に保持する。これにより、ＣＰＵ１１０は、データレジスタ１３０が保持する認証データを用いることで、認証処理装置１２０がハードウェア処理した認証フェーズの後の認証フェーズを容易にソフトウェア処理することができる。また、認証処理装置１２０は、データレジスタ１３０が保持する認証データを用いることで、ＣＰＵ１１０がソフトウェア処理した認証フェーズの後の認証フェーズを容易にハードウェア処理することができる。
【０１１０】
また、本実施の形態に係る認証処理は、記憶部１４０に記憶されている受信機器に対応した最適な認証コマンドのパターンを用い認証処理を行う。よって、容易に受信機器に対応した最適な認証処理を実行することができる。また、記憶部１４０に最適な認証コマンドのパターンが記憶されていない受信機器に対しては、最適な認証コマンドのパターンを判定する。よって、多種の受信機器に対応することができる。
【０１１１】
以上より、本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することできる。
【産業上の利用可能性】
【０１１２】
本発明は、認証処理装置および認証処理方法に適用でき、特に、ＡＶ出力機能を有するＤＶＤプレーヤ、ＤＶＤレコーダおよびＳＴＢ（Set Top Box）等のＡＶ機器ならびにパーソナルコンピュータ等に適用できる。
【図面の簡単な説明】
【０１１３】
【図１】本実施の形態に係るＨＤＭＩ通信システムの構成を示すブロック図である。
【図２】コマンドレジスタの構成の一例を示す図である。
【図３】タイマレジスタの構成の一例を示す図である。
【図４】ＤＤＣ通信における信号の一例を示す図である。
【図５】本実施の形態に係る認証処理の流れを示すフローチャートである。
【図６】第１認証処理の流れを示すフローチャートである。
【図７】第２認証処理の流れを示すフローチャートである。
【図８】第３認証処理の流れを示すフローチャートである。
【図９】各認証フェーズにおける処理の流れを示すフローチャートである。
【図１０】判定処理の流れを示すフローチャートである。
【図１１】従来のＨＤＭＩ通信システムの構成を示すブロック図である。
【符号の説明】
【０１１４】
１００、１１００    送信機器
１１０、１１１０    ＣＰＵ
１２０    認証処理装置
１２１    レジスタ部
１２２    認証エンジン
１２３    第１認証部
１２４    第２認証部
１２５    第３認証部
１２６    タイマ部
１２７、１１２７    ＤＤＣ部
１２８    コマンドレジスタ
１２９    タイマレジスタ
１３０    データレジスタ
１３１    リセット生成部
１４０    記憶部
２００、１２００    受信機器
３００、１３００    ＨＤＭＩケーブル
４０１    スレーブアドレス
４０２、４０４、４０６    ＡＣＫ
４０３    オフセットアドレス
４０５    書込みデータ
１１２０    ＨＤＭＩ送信部
【図１】
2007233960.tif 000003
【図２】
2007233960.tif 000004
【図３】
2007233960.tif 000005
【図４】
2007233960.tif 000006
【図５】
2007233960.tif 000007
【図６】
2007233960.tif 000008
【図７】
2007233960.tif 000009
【図８】
2007233960.tif 000010
【図９】
2007233960.tif 000011
【図１０】
2007233960.tif 000012
【図１１】
2007233960.tif 000013