説明

認証処理装置および認証処理方法

【課題】高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供する。
【解決手段】本発明に係る認証処理装置120は、受信機器200に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部123〜125と、前記複数の認証フェーズのそれぞれについて処理をするか否かを示す認証コマンドを保持するコマンドレジスタ128と、コマンドレジスタが保持する認証コマンドにおいて、処理をすると示される認証フェーズの処理を認証部123〜125に行わせる認証エンジン122とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証処理装置および認証処理方法に関し、特に、機器の機器認証処理を行う認証処理装置に関する。
【背景技術】
【0002】
近年、DVDプレーヤ等の送信機器からTV受信機等の受信機器への映像および音声データの送信にHDMI(High-Definition Multimedia Interface)通信による送信が行われている。HDMI通信において、映像および音声データの著作権保護のためにHDCP(High-bandwidth Digital Content Protection system)規格で定められた機器認証が行われている。
【0003】
HDCP規格は、コンテンツを暗号化し送信する送信機器と、コンテンツを受信し復号する受信機器との間におけるコンテンツの伝送を保護するための規格である。HDCP規格では、認証プロトコルを用いて送信機器が受信機器の認証を行う。機器認証で事前に共有された秘密(鍵)に基づいて、送信機器は、受信機器に暗号化されたコンテンツを送信する。また、長時間HDCPシステムの整合性を保つために、システム上において危険にさらされたデバイスを無効にする。HDCP規格における機器認証は、DDC(Display Data Channel)通信等のIIC通信(Inter−Integrated Circuit)を用い行われる。
【0004】
図11は、HDCP規格における機器認証が行われる従来のHDMI通信システムの構成を示すブロック図である。図11に示すHDMI通信システムは、DVDプレーヤ等の送信機器1100と、TV受信機等の受信機器1200とを備える。送信機器1100と受信機器1200とは、HDMIケーブル1300を介し接続される。
【0005】
送信機器1100は、CPU1110とHDMI送信部1120とを備える。CPU1110は、HDMI送信部1120を含む送信機器1100の制御を行う。HDMI送信部1120は、受信機器1200への映像および音声データの送信を行うLSIであり、DDC部1127を備える。HDMIケーブル1300を介し、HDMI送信部1120から受信機器1200に映像および音声データが一方向送信される。
【0006】
DDC部1127は、HDMIケーブル1300を介し、受信機器1200との双方向のDDC通信を行う。
【0007】
このような構成の従来のHDMI通信システムにおいては、送信機器1100よる受信機器1200の機器認証は、CPU1110のソフトウェア処理により行われる。従来の送信機器1100は、CPU1110が機器認証を行っているので、CPU1110の稼働状況によっては、機器認証が高速に行えない。また、CPU1110とDDC部1127との間のデータ送信は、DDC通信により行われている。DDC通信は、100kHz程度の通信周波数でデータの送受信をおこなっているので、CPU1110とDDC部1127との間のデータ送信を高速に行うことができない。
【0008】
このような課題に対し、HDCP規格における機器認証の一部を専用の回路により実行する技術が特許文献1に記載されている。HDCP規格における機器認証は、規格に定められた所定の処理を行うものであり、ハードウェアで構成された回路を用い処理を行うことが可能である。
【特許文献1】特開2005−269135号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、HDCP規格における機器認証は、規格に定められた所定の処理であるが、受信機器の仕様によっては、処理のタイミング等が異なる場合がある。HDCP規格における機器認証処理を特許文献1のようにハードウェア化すると、認証処理を高速化することはできるが、受信機器の仕様により正しく機器認証が行えない場合が発生する。例えば、受信機器の処理速度が遅い場合には、機器認証処理中にディレイを挿入しないと正常に機器認証が行えない等の問題が発生する。
【0010】
そこで、本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、本発明に係る認証処理装置は、外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証手段と、前記複数の認証フェーズのそれぞれについて処理をするか否かを示す第1のコマンドを保持するコマンド保持手段と、前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる認証制御手段とを備える。
【0012】
この構成によれば、本発明に係る認証処理装置は、コマンド保持手段が保持する第1のコマンドに基づき、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的に認証手段が有するハードウェアで構成された専用の回路を用い処理を行うことができる。よって、認証処理を行う対象である外部機器(受信機器)に応じ、ハードウェア処理では不適切な認証フェーズがある場合には、その認証フェーズをソフトウェア処理することが可能となる。これにより、本発明に係る認証処理装置は、単純なハードウェア処理では、正常に認証処理が行えない外部機器に対しても柔軟に対応することができる。また、認証手段は認証処理に含まれる認証フェーズをハードウェア処理するので、全ての認証フェーズをソフトウェア処理する場合に比べ高速に認証処理を行うことができる。よって、本発明に係る認証処理装置は、高速処理が行え、多種の受信機器に対応することができる。なお、ハードウェア処理とは、ハードウェアで構成された回路を用い処理を行うことを意味する。また、ソフトウェア処理とは、CPU等がプログラムを実行し、処理を行うことを意味する。
【0013】
また、前記第1のコマンドは、前記複数の認証フェーズにそれぞれ対応する複数のビットを含み、前記第1のコマンドの各ビットは、対応する前記認証フェーズの処理をするか否かを示し、前記認証制御手段は、前記コマンド保持手段が保持する前記第1のコマンドの各ビットおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせてもよい。
【0014】
この構成によれば、本発明に係る認証処理装置は、各認証フェーズに対応した1ビットの情報から構成される第1のコマンドに基づき、所定の認証フェーズを実行することができる。よって、一つのコマンドで複数の認証フェーズのうち所定の認証フェーズを選択することができる。すなわち、単純なコマンドで認証処理装置を制御することができる。
【0015】
また、前記認証処理装置は、さらに、前記認証手段による認証フェーズの処理において生成された認証データを後の認証フェーズのために保持するデータ保持手段を備えてもよい。
【0016】
この構成によれば、認証手段により処理を行われた認証フェーズにおいて生成された認証データ(鍵およびパラメータ等)は、データ保持手段に保持される。よって、ソフトウェア処理を行うCPU等は、データ保持手段に保持される認証データを読出し、認証処理装置で処理された認証フェーズの後の認証フェーズの処理を引き続き行うことができる。
【0017】
また、前記認証手段は、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行ってもよい。
【0018】
この構成によれば、本発明に係る認証処理装置は、CPU等が処理した認証フェーズにおいて生成された認証データを読出し、読出した認証データを用い後続の認証フェーズを処理することができる。
【0019】
また、前記認証処理装置は、さらに、前記外部機器とDDC通信を行うDDC通信手段を備え、前記認証手段は、前記DDC通信手段を介して、前記外部機器とのデータの送受信を行ってもよい。
【0020】
この構成によれば、本発明に係る認証処理装置は、外部機器(受信機器)とDDC通信を行うことができる。また、DDC通信を用いた認証処理において、ハードウェア処理を用いた高速処理が行え、かつ、多種の受信機器に対応することができる。
【0021】
また、前記コマンド保持手段は、前記外部機器とのDDC通信ラインをリセットするか否かを示す第2のコマンドを保持し、前記DDC通信手段は、前記コマンド保持手段が保持する第2のコマンドに基づき、前記DDC通信ラインをリセットする信号を生成するリセット生成手段を備えてもよい。
【0022】
この構成によれば、本発明に係る認証処理装置は、各認証フェーズの処理において行われる外部機器(受信機器)とのDDC通信において外部機器とのDDC通信ラインをリセットすることが可能となる。これにより、受信機器とのDDC通信を安定して行うことができる。
【0023】
また、前記コマンド保持手段は、前記複数の認証フェーズ間のそれぞれに遅延時間を挿入するか否かを示す第3のコマンドを保持し、前記認証処理装置は、さらに、前記遅延時間をカウントするタイマ手段を備え、前記認証制御手段は、前記コマンド保持手段が保持する前記第3のコマンドにおいて遅延時間を挿入すると示された認証フェーズ間に、前記タイマ手段がカウントした遅延時間を挿入してもよい。
【0024】
この構成によれば、各認証フェーズ間に任意のディレイ(遅延時間)を挿入することができる。よって、外部機器(受信機器)の仕様によって、認証フェーズ間にディレイがないと正常に認証処理が行えない場合でも、正常に認証処理を行うことができる。よって、本発明に係る認証処理装置は、多種の受信機器に対応することができる。また、認証フェーズ間にディレイが必要な認証フェーズに対してもハードウェア処理を行うことができるので、高速に処理を行うことができる。
【0025】
また、前記認証処理装置は、さらに、前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するCPUを備えてもよい。
【0026】
この構成によれば、ハードウェア処理では、正常に処理できない認証フェーズをソフトウェア処理することができる。
【0027】
また、前記認証処理装置は、さらに、前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するCPUを備え、前記データ保持手段は、前記CPUによる認証フェーズの処理において生成された認証データを後の認証フェーズのために保持し、前記CPUは、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行ってもよい。
【0028】
この構成によれば、認証手段は、CPUがソフトウェア処理した認証フェーズの後の認証フェーズをデータ保持手段が保持する認証データを用いハードウェア処理することができる。また、CPUは、認証手段がハードウェア処理した認証フェーズの後の認証フェーズをデータ保持手段が保持する認証データを用いソフトウェア処理することができる。よって、本発明に係る認証処理装置は、外部機器(受信機器)の仕様に応じ、各認証フェーズに対し容易にハードウェア処理とソフトウェア処理とを使い分けることができる。
【0029】
また、前記認証装置は、さらに、外部機器を特定する機器情報と、前記各外部機器に対応する前記第1のコマンドとを記憶する記憶手段と、前記認証処理の対象の外部機器の機器情報を取得する機器情報取得手段と、前記機器情報取得手段が取得した機器情報に対応する前記第1のコマンドを前記記憶手段から読出し、前記コマンド保持手段に書込む機器情報制御手段とを備えてもよい。
【0030】
この構成によれば、記憶手段は、外部機器(受信機器)の仕様に応じた最適な第1のコマンドを記憶する。よって、最適な第1のコマンドを読出すことで、外部機器に対し最適な処理パターン(各認証フェーズを認証手段によりハードウェア処理するか、CPU等でソフトウェア処理するかの割り当て)を容易に判定し、最適な処理パターンで認証処理を行うことができる。
【0031】
また、前記認証処理は、HDCP規格における認証処理であり、前記認証手段は、前記HDCP規格における第1認証処理に含まれる認証フェーズの処理を行う回路を有する第1認証手段と、前記HDCP規格における第2認証処理に含まれる認証フェーズの処理を行う回路を有する第2認証手段と、前記HDCP規格における第3認証処理に含まれる認証フェーズの処理を行う回路を有する第3認証手段とを備えてもよい。
【0032】
この構成によれば、本発明に係る認証処理装置は、HDCP規格における認証処理に対し、高速処理が行え、多種の受信機器に対応することができる。
【0033】
また、本発明に係る認証処理方法は、外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部と、前記複数の認証フェーズのそれぞれについて処理するか否かを示す第1のコマンドを保持するコマンド保持部とを備える認証制御装置における認証制御方法であって、前記第1のコマンドに基づき、前記各認証フェーズの処理をするか否かを判定する判定ステップと、前記判定ステップにおいて処理をすると判定された認証フェーズの処理を前記認証部に行わせる処理ステップとを含む。
【0034】
これにより、本発明に係る認証処理方法は、コマンド保持部が保持する第1のコマンドに基づき、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的に認証部が有するハードウェアで構成された専用の回路を用い処理を行うことができる。よって、認証処理を行う対象である外部機器(受信機器)に応じ、ハードウェア処理では不適切な認証フェーズがある場合には、その認証フェーズをソフトウェア処理することが可能となる。これにより、本発明に係る認証処理方法は、単純なハードウェア処理では、正常に認証処理が行えない外部機器に対しても柔軟に対応することができる。また、認証手段は認証処理に含まれる認証フェーズをハードウェア処理するので、全ての認証フェーズをソフトウェア処理する場合に比べ高速に認証処理を行うことができる。よって、本発明に係る認証処理方法は、高速処理が行え、多種の受信機器に対応することができる。
【発明の効果】
【0035】
本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することができる。
【発明を実施するための最良の形態】
【0036】
以下、本発明に係る認証処理装置の実施の形態について、図面を参照しながら詳細に説明する。
【0037】
本実施の形態に係る認証処理装置は、認証処理に含まれる複数の認証フェーズのうち任意の認証フェーズを選択的にハードウェア処理する。これにより、ハードウェア処理では、正常に処理できない認証フェーズに対してはソフトウェア処理を行うことができる。よって、多種の受信機器に対応することができる。
【0038】
まず、本実施の形態に係る認証処理装置の構成を説明する。
【0039】
図1は、本実施の形態に係る認証処理装置を含むHDMI通信システムの構成を示すブロック図である。
【0040】
図1に示すHDMI通信システムは、DVDプレーヤ等の送信機器100と、TV受信機等の受信機器200とを備える。送信機器100と受信機器200とは、HDMIケーブル300を介し接続される。
【0041】
送信機器100は、HDMIケーブル300を介し、受信機器200に映像および音声データを送信する。送信機100は、HDMIケーブル300を介し、受信機器200とDDC通信を行う。送信機器100は、DDC通信を用い、受信機器200に対しHDCP規格における機器認証を行う。送信機器100は、CPU110と、認証処理装置120と、記憶部140とを備える。
【0042】
CPU110は、認証処理装置120および記憶部140を含む送信機器100の制御を行う。
【0043】
認証処理装置120は、HDCP規格における機器認証処理を行うLSIである。認証処理装置120は受信機器200に対する機器認証処理に含まれる複数の認証フェーズをハードウェア処理する。認証処理装置120は、CPU110から送信される認証コマンドに基づき、複数の認証フェーズのうち一部または全部の処理を行う。認証処理装置120は、レジスタ部121と、認証エンジン122と、第1認証部123と、第2認証部124と、第3認証部125と、タイマ部126と、DCC部127とを備える。
【0044】
レジスタ部121は、CPU110より送信された認証コマンドを保持するレジスタである。レジスタ部121は、コマンドレジスタ128と、タイマレジスタ129と、データレジスタ130とを備える。
【0045】
コマンドレジスタ128は、CPU110より送信された認証処理に含まれる複数の認証フェーズのそれぞれについて処理をするか否かを示す認証コマンドを保持する。また、コマンドレジスタ128は、認証コマンドに含まれる各認証フェーズ間にディレイを挿入するか否かを示すコマンドを保持およびDDC通信ラインをリセットするか否かを示すコマンドを保持する。
【0046】
タイマレジスタ129は、CPU110より送信されたタイマ情報を保持する。ここで、タイマ情報とは、各認証フェーズ間にディレイ(遅延時間)が挿入される場合の遅延量の情報であり複数ビットから構成される。
【0047】
データレジスタ130は、認証フェーズの処理において生成された認証データ(鍵およびパラメータ等)を保持する。
【0048】
認証エンジン122は、CPU110より送信されコマンドレジスタ128に保持された認証コマンドに基づき、認証フェーズの処理を第1認証部123、第2認証部124または第3認証部125に行わせる。また、認証エンジン122は、タイマ部126およびDDC部127を制御する。
【0049】
第1認証部123は、HDCP規格における第1認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。なお、HDCP規格では、3段階の認証処理が行われ、それぞれ第1認証、第2認証および第3認証と呼ぶことにする。第2認証部124は、HDCP規格における第2認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。第3認証部125は、HDCP規格におけ3認証処理に含まれる認証フェーズの処理を行うハードウェアで構成された回路を有する。
【0050】
タイマ部126は、タイマレジスタ129に保持されているタイマ情報に基づき、遅延時間をカウントする。
【0051】
DDC部127は、HDMIケーブル300を介し、受信機器200との双方向のDDC通信を行う。DDC部127は、リセット生成部131を備える。リセット生成部131は、受信機器200とのDDC通信ラインをリセットする信号を生成する。第1認証部123、第2認証部124または第3認証部125は、DDC部127を介し、受信機器200とのデータの送受信を行う。
【0052】
記憶部140は、受信機器の種別を特定する機器情報および受信機器に対応する認証コマンド等を保持する。記憶部140は、例えば、フラッシュメモリ等の不揮発性記憶素子である。
【0053】
次に、コマンドレジスタ128の構成を説明する。
【0054】
図2は、コマンドレジスタ128の構成を示す図である。図2に示すように、コマンドレジスタ128は、例えば、32ビットで構成される。コマンドレジスタ128に保持される認証コマンドは、複数の認証フェーズにそれぞれ対応する複数のビットを含む。また、認証コマンドの各ビットは、対応する認証フェーズの処理をするか否かを示す。コマンドレジスタ128のビット0〜15には、第1〜第3認証における各認証フェーズのそれぞれをハードウェア処理するか否かの情報が保持される。例えば、各認証フェーズをハードウェア処理する場合には、対応するレジスタに“1”が保持され、ハードウェア処理しない場合には、対応するレジスタに“0”が保持される。ここで、詳細は後述するが第1〜第3認証の各認証処理には、複数の認証フェーズが含まる。第1認証処理には、第1a〜第1hの8つの認証フェーズが含まれ、第2認証処理には、第2a〜第2eの5つの認証フェーズが含まれ、第3認証処理には、第3a〜第3cの3つの認証フェーズが含まれる。認証エンジン122は、コマンドレジスタ128のビット0〜15に保持されるコマンドに基づき、認証処理に含まれる複数の認証フェーズの処理のうち一部または全部を第1認証部123、第2認証部124または第3認証部125に実行させる。
【0055】
コマンドレジスタ128のビット16〜28のそれぞれには、認証処理に含まれる複数の認証フェーズ間のそれぞれにディレイ(遅延時間)を挿入するか否かを示す1ビットのコマンドが保持される。例えば、ビット16は、第1a認証フューズと第1b認証フューズとの間にディレイを挿入するか否かの情報が保持される。認証エンジン122は、コマンドレジスタ128のビット16〜28に保持されるコマンドに基づき、タイマ部126がカウントした遅延時間を認証フェーズ間に挿入する。例えば、対応するレジスタに“1”が保持されている場合には、認証エンジン122は、対応する認証フェーズ間にディレイを挿入する。また、対応するレジスタに“0”が保持されている場合には、認証エンジンは、対応する認証フェーズ間にディレイを挿入しない。なお、図2において第1認証処理と第2認証処理との間(第1h認証フェーズと第2a認証フェーズとの間)および第2認証処理と第3認証処理との間(第2e認証フェーズと第3a認証フェーズとの間)のディレイに対応するレジスタは設けていないが、設けてもよい。
【0056】
コマンドレジスタ128のビット29〜31には、認証フェーズ中に行われる受信機器200とのDDCアクセス時に受信機器200とのDDC通信ラインをリセットするか否かを示すコマンドが保持される。リセット生成部131は、コマンドレジスタ128のビット29〜31に保持されるデータに基づき、DDC通信ラインをリセットするリセットコマンドを生成する。例えば、ビット29の0clockが“1”の場合は、リセット生成部131は、DDCリセットコマンドを発行せず、ビット30の9clockが“1”の場合は、9クロックのDDCリセットコマンドをDDCアクセス毎に発行し、ビット31の18clockが“1”の場合は、18クロックのDDCリセットコマンドをDDCアクセス毎に発行する。なお、9クロックのDDCリセットコマンドとは、受信機器200とのDDC通信ラインの状態を1回リセットするコマンドであり、18クロックのDDCリセットコマンドは、9クロックのDDCリセットコマンドを2回発行することである。
【0057】
例えば、CPU110から認証コマンド“0x2000FFFF”が送信され、コマンドレジスタ128に保持されると、認証処理装置120は、ビット0〜15が“1”なので全ての認証フェーズを順次実行する。また、ビット29が“1”なので、認証処理装置120は、受信機器200へのDDCアクセスの際にDDCリセットコマンドは発行しない。また、CPU110から認証コマンド“0x8000E000”が送信されると、認証処理装置120は、ビット0〜12が“0”、ビット13〜15“1”なので、第1認証処理および第2認証処理は実行せず第3認証処理のみを実行する。また、ビット31が“1”なので、認証処理装置120は、受信機器200へのDDCアクセスの際に18クロックのDDCリセットコマンドを発行する。また、CPU110から認証コマンド“0x4003000F”が送信されると、認証処理装置120は、ビット0〜3が“1”、ビット4〜16が“0”なので、第1a〜第1d認証フェーズのみを実行する。また、ビット16および17が“1”なので、第1a認証フェーズと第1b認証フェーズとの間および第1b認証フェーズと第1c認証フェーズとの間にディレイを挿入する。また、ビット30が“1"なので、認証処理装置120は、フューズに含まれる受信機器200へのDDCアクセスの際に9クロックのDDCリセットコマンドを発行する。
【0058】
このように、本実施の形態に係る認証処理装置120は、CPU110から送信された認証コマンドをコマンドレジスタ128に保持し、保持した認証コマンドに応じ、選択的に認証処理に含まれる認証フェーズの処理を実行することができる。また、認証コマンドは、各認証フェーズに対応する1ビットの情報を含むので、認証処理装置120は、一つのコマンドから容易に任意の認証フェーズを実行するか否かを判定し、任意認証フェーズを選択的に実行することができる。また、認証コマンドには、各認証フェーズ間にディレイを挿入するか否かを示す1ビットの情報が含まれる。これにより、認証装置120は、容易に任意の認証フェーズ間にディレイを挿入するか否かを判定し、ディレイを挿入することができる。また、認証コマンドには、受信機器200に対するDDCリセットコマンドを発行するか否かの情報が含まれる。これにより、認証装置120は、容易にDDCリセットコマンドを発行するか否かを判定し、受信機器200に対しDDCリセットコマンドを発行することができる。
【0059】
図3は、タイマレジスタ129の構成を示す図である。図3に示すようにタイマレジスタ129は、図2に示すコマンドレジスタ128のビット16〜28に保持されている各認証フェーズ間のディレイに、それぞれ対応する遅延量を保持するレジスタである。例えば、タイマレジスタ129は、各認証フェーズ間のディレイに対応する8ビットの遅延量を保持する。図3に示すタイマレジスタ129は、認証フェーズ1aと認証フェーズ1bとの間のディレイおよび認証フェーズ1bと認証フェーズ1cとの間のディレイの遅延量として“255”を保持し、認証フェーズ1cと認証フェーズ1dとの間のディレイの遅延量として“64”を保持する。認証エンジン122は、コマンドレジスタ128のビット16〜28において、“1”が保持されている場合には、対応するタイマレジスタ129の遅延量を読出し、読み出した遅延量に基づき、タイマ部126に遅延時間をカウントさせる。また、タイマレジスタ129が保持する遅延量は、CPU110からコマンドレジスタに保持される認証コマンドと同時に送信される。なお、タイマレジスタ129が保持する遅延量は、8ビットに限定されるものではなく、複数ビットであればよい。
【0060】
なお、図2において、コマンドレジスタ128は、各認証フェーズの実行コマンド(ビット0〜15)と、認証フェーズ間のディレイコマンド(ビット16〜28)と、リセットコマンド(ビット29〜31)とを保持しているが、実行コマンド、ディレイコマンドおよびリセットコマンドのうちいずれか1または2のコマンドのみを保持してもよい。また、認証処理装置120は、各認証フェーズの実行コマンド用、フェーズ間のディレイコマンド用およびリセットコマンド用のレジスタをそれぞれ備えてもよい。
【0061】
また、図2において、コマンドレジスタ128は、認証フェーズ間のディレイコマンド(ビット16〜28)を保持しているが、コマンドレジスタ128にはディレイコマンドを保持せず、認証エンジン122は、タイマレジスタ129が保持する遅延量から各認証フェーズ間にディレイを挿入するか否かを判定してもよい。具体的には、認証エンジン122は、タイマレジスタ129が保持する遅延量が“0”の場合には、対応する認証フェーズ間にディレイを挿入せず、タイマレジスタ129が保持する遅延量が“0”以外の場合には、当該遅延量に応じた遅延時間を対応する認証フェーズ間に挿入してもよい。さらに、コマンドレジスタ128が認証フェーズ間のディレイコマンド(ビット16〜28)を保持しない場合には、レジスタ部121は、タイマレジスタ129を備えず、タイマレジスタ129が保持する複数ビットの遅延量をコマンドレジスタ128に保持してもよい。
【0062】
図4は、DDC通信における送信機器100から受信機器200へデータ書込み時の信号の一例を模式的に示す図である。図4に示すように、データ信号にデータがない状態においてクロック信号に9クロックが入力されることにより、受信機器200とのDDC通信ラインの状態はリセットされる。次に、送信機器100から受信機器200へ、デバイスを特定するためのスレーブアドレス401が送信される。受信機器200は、スレーブアドレス401を受信すると、受信したことを示すACK402を送信機器100に送る。次に、送信機器100から受信機器200へ、デバイス内部のアドレスであるオフセットアドレス403が送られ、受信した受信機器200は、ACK404を送信機器100に送る。次に、送信機器100から受信機器200へ、書込みデータ405が送信され、受信した受信機器200は、ACK404を送信機器100に送る。
【0063】
次に、本実施の形態における認証処理の動作を説明する。
【0064】
図5は、本実施の形態における認証処理装置120の認証エンジン122の処理の流れを示すフローチャートである。
【0065】
図5に示すように、まず、認証エンジン122は、コマンドレジスタ128が保持する認証コマンドより、第1認証に対応するコマンドが入力されたか否かを判定する(ステップS100)。具体的には、図2に示すコマンドレジスタ128の第1認証に含まれる認証フェーズに対応するレジスタ(コマンドレジスタ128のビット0〜7)に、1以上の“1”が保持されているかを判定する。コマンドレジスタ128の第1認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されている場合(S100でYes)は、認証エンジン122の命令により第1認証部123は、第1認証処理を行う(S101)。
【0066】
第1認証処理において認証成功の場合(S102でYes)は、認証エンジン122は、コマンドレジスタ128が保持する認証コマンドより、第2認証に対応するコマンドが入力されたか否かを判定する(ステップS103)。具体的には、図2に示すコマンドレジスタ128の第2認証に含まれる認証フェーズに対応するレジスタ(コマンドレジスタ128のビット8〜12)に、1以上の“1”が保持されているかを判定する。コマンドレジスタ128の第2認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されている場合(S103でYes)は、認証エンジン122の命令により第2認証部124は、第2認証処理を行う(S104)。
【0067】
第2認証処理において認証成功の場合(S105でYes)は、認証エンジン122は、コマンドレジスタ128が保持する認証コマンドより、第3認証に対応するコマンドが入力されたか否かを判定する(ステップS106)。具体的には、図2に示すコマンドレジスタ128の第3認証に含まれる認証フェーズに対応するレジスタ(コマンドレジスタ128のビット13〜15)に、1以上の“1”が保持されているかを判定する。コマンドレジスタ128の第3認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されている場合(S106でYes)は、認証エンジン122の命令により第3認証部125は、第3認証処理を行う(S107)。第3認証の認証成功の場合(S108でYes)は、認証処理は終了する。
【0068】
一方、ステップS100において、コマンドレジスタ128の第1認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されていない場合(S100でNo)は、第1認証処理(ステップS101)は行われず、次に、第2認証に対応するコマンドが入力されたか否かが判定される(ステップS103)。
【0069】
また、ステップS103において、コマンドレジスタ128の第2認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されていない場合(S103でNo)は、第2認証処理(ステップS104)は行われず、次に、第2認証に対応するコマンドが入力されたか否かが判定される(ステップS106)。
【0070】
また、ステップS106において、コマンドレジスタ128の第3認証に含まれる認証フェーズに対応するレジスタに、1以上の“1”が保持されていない場合(S106でNo)は、第3認証処理(ステップS107)は行われず、認証処理は終了する。
【0071】
また、ステップS102、S105またはS108において、認証失敗の場合(S102でNo、S105でNoまたはS108でNo)は、認証エンジン122は、認証失敗であることをCPU110に通知する(S109)。
【0072】
次に、第1〜3認証処理(S101、S104およびS107)の処理の流れを説明する。
【0073】
図6は、第1認証処理における第1認証部123の処理の流れを示すフローチャートである。図6に示すように、まず、第1認証部123は、パラメータを生成する(S201)。次に、第1認証部123は、ステップS201において生成したパラメータを受信機器200に書込み(S202)、受信機器200に送信機器100の第1認証用認証鍵を書込み(S203)、受信機器200に送信機器100の情報を書込む(S204)。次に、第1認証部123は、送信機器100の第1認証用データを生成し(S206)、受信機器200の第1認証用データを読出す(S207)。第1認証部123は、ステップS206において生成した送信機器100の第1認証用データと、ステップS207で読出した受信機器200の第1認証用データとを比較することで、第1認証を行う(S208)。最後に、第1認証部123は、第1認証の結果を認証エンジン122に通知する。
【0074】
図7は、第2認証処理における第2認証部124の処理の流れを示すフローチャートである。図7に示すように、まず、第2認証部124は、受信機器200の情報を読出す(S301)。第2認証部124は、ステップS301において読出した情報より第2認証が必要か否かを判定する(S302)。第2認証が必要な場合(S302でYes)、第2認証部124は、受信機器200の第2認証用認証鍵を読出し(S303)、送信機器100の第2認証用データを生成し(S304)、受信機器200の第2認証用データを読出す(S305)。第2認証部124は、ステップS304で生成した送信機器100の第2認証用データと、ステップS305で読出した受信機器200の第2認証用データとを比較することで、第2認証を行う(S306)。最後に、第2認証部124は、第2認証の結果を認証エンジン122に通知する。
【0075】
図8は、第3認証処理における第3認証部125の処理の流れを示すフローチャートである。図8に示すように、まず、第3認証部125は、送信機器100の第3認証用データを読出す(S401)。次に、第3認証部125は、受信機器200の第3認証用データを読出す(S402)。第3認証部125は、ステップS401において読出した送信機器100第3認証用データと、ステップS402において読出した受信機器200の第3認証用データとを比較することで、第3認証を行う(S403)。最後に、第3認証部125は、第3認証の結果を認証エンジン122に通知する。
【0076】
以上、図6〜7を用いて第1〜第3認証の全ての認証フェーズが実行される場合について説明した。以下、図6〜7に示す各認証フェーズにおける詳細な処理について説明する。
【0077】
図9は、各認証フェーズにおける処理の流れを示すフローチャートである。一例として、図6に示す第1b認証フェーズ(S202)における処理の流れを説明する。なお、他の認証フェーズにおいても同様の処理が行われる。
【0078】
図9に示すように、まず、認証エンジン122は、第1b認証フェーズを実行するか否かを判定する(S501)。具体的には、認証エンジン122は、コマンドレジスタ128の第1b認証フェーズに対応するレジスタ(ビット1)の保持するデータを確認する。
【0079】
第1b認証フェーズに対応するレジスタ(ビット1)の保持するデータが“1”の場合(S501でYes)、次に、認証エンジン122は、第1a認証フェーズと第1b認証フェーズとの間にディレイを挿入するか否かを判定する(S502)。具体的には、認証エンジン122は、コマンドレジスタ128の第1a認証フェーズと第1b認証フェーズに間のディレイに対応するレジスタ(ビット16)の保持するデータを確認する。
【0080】
第1a認証フェーズと第1b認証フェーズとの間のディレイに対応するレジスタ(ビット16)の保持するデータが“1”の場合(S502でYes)、認証エンジン122は、タイマレジスタ129から第1a認証フェーズと第1b認証フェーズとの間のディレイに対応するタイマ情報を読出し、読出したタイマ情報に基づき、タイマ部126を制御する。タイマ部126は、タイマ情報に応じた遅延時間をカウントする。認証エンジン122は、タイマ部126がカウントしたディレイの間、次の処理を実行せずに待機する(S503)。タイマ部126が生成したディレイの後、認証エンジン122は、データレジスタ130から第1b認証フェーズの前の認証フェーズにおいて生成された認証データ(例えば、第1a認証フェーズで生成されたパラメータ)を読出す(S504)。次に、認証エンジン122は、第1認証部123に第1b認証フェーズ(受信機器200へのステップS504で読出したパラメータの書込み)を実行させる(S505)。一方、ステップS502において、第1a認証フェーズと第1b認証フェーズとの間のディレイに対応するレジスタ(ビット16)の保持するデータが“0”の場合(S502でNo)には、ディレイは実行されず、次に、認証エンジン122は、データレジスタ130から第1a認証フェーズにおいて生成されたデータを読出し(S504)、第1認証部123に第1b認証フェーズを実行させる(S505)。
【0081】
ステップS505において第1b認証フェーズが実行された後、認証エンジン122は、第1b認証フェーズにおいて生成されたデータ(認証鍵およびパラメータ等)を後の認証フェーズの処理のためにデータレジスタ130に書込む(S506)。ステップS506の後は、図6に示す第1c認証フェーズ(S203)が実行される。なお、第1c認証フェーズにおいても、第1b認証フェーズと同様に図9に示す処理が実行される。
【0082】
一方、ステップS501において第1b認証フェーズに対応するレジスタ(ビット1)の保持するデータが“0”の場合(S501でNo)、第1b認証フェーズは、CPU110によりソフトウェア処理される。まず、CPU110は、データレジスタ130に保持されている第1b認証フェーズの前の認証フェーズにおいて生成されたデータを読出す(S507)。次に、CPU110は、読出したデータを用い第1b認証フェーズをソフトウェア処理する(S508)。CPU110は、第1b認証フェーズ(S508)において生成されたデータを後の認証フェーズの処理のためにデータレジスタ130に書込む(S509)。
【0083】
また、CPU110または認証処理装置120による各認証フェーズの処理において、受信機器200とのDDC通信によるデータの送受信が行われる場合には、リセット生成部131は、コマンドジスタ128に保持されているDDCリセットコマンドを発行するか否かの情報(図2におけるコマンドレジスタ128のビット29〜31)を参照する。コマンドレジスタ128のビット29が“1”の場合には、リセット生成部131は、受信機器200とのDDC通信の際にDDCリセットコマンドを発行しない。コマンドレジスタ128のビット30が“1”の場合には、リセット生成部131は、受信機器200とのDDC通信の際に9クロックのDDCリセットコマンドを発行する。コマンドレジスタ128のビット31が“1”の場合には、リセット生成部131は、受信機器200とのDDC通信の際に18クロックのDDCリセットコマンドを発行する。なお、リセット生成部131は、受信機器200とのDDC通信が行われる毎にコマンドレジスタ128のDDCリセットコマンドを発行するか否かの情報を確認してもよいし、CPU110より認証コマンドが送信された際に、DDCリセットコマンドを発行するか否かの情報を取得しリセット生成部131またはDDC部127内のレジスタ等に保持してもよい。また、このようなDDCリセットコマンドを発行するか否かの情報の確認または取得は、認証エンジン122を介し、認証エンジン122の制御により行われてもよい。
【0084】
このように、本実施の形態に係る認証処理装置120は、コマンドレジスタ128に保持される認証コマンドに応じ、任意の認証コマンドに含まれる任意の認証フェーズをハードウェア処理することができる。よって、全ての認証フェーズをソフトウェア処理する場合に比べ、処理速度を向上させることができる。また、ハードウェア処理を行う認証フェーズに関しては認証処理装置120内で処理を完結し、処理途中のデータ等をDDC通信によりCPU110と送受信する必要がない。よって、認証処理を高速化することができる。
【0085】
また、CPU110は、コマンドレジスタ128の認証コマンドにおいて、ハードウェア処理しないと示された認証フェーズをソフトウェア処理する。これにより、受信機器200の仕様により、ハードウェア処理では正常に処理できない認証フェーズに関しては、ソフトウェア処理することができる。さらに、受信機器200の仕様により、認証フェーズ間にディレイが必要な場合には、ディレイを挿入することができる。これにより、ディレイの挿入をCPU110でソフトウェア処理する必要がなくなり、処理を高速化することができる。
【0086】
また、データレジスタ130は、CPU110による認証フェーズの処理において生成された認証データ(鍵およびパラメータ等)を保持する。これにより、第1認証部123、第2認証部124または第3認証部125は、データレジスタ130が保持する認証データを読出し、当該認証データを用いCPU110がソフトウェア処理した認証フェーズの後の認証フェーズを容易にハードウェア処理することができる。また、データレジスタ130は、第1認証部123、第2認証部124または第3認証部125による認証フェーズの処理において生成された認証データを保持する。これにより、CPU110は、データレジスタ130が保持する認証データを読出し、当該認証データを用い第1認証部123、第2認証部124または第3認証部125がハードウェア処理した後の認証フェーズを容易にソフトウェア処理することができる。このように、本実施形態に係る認証処理装置120は、多種の受信機器に対応することができる。
【0087】
なお、図9において、認証エンジン122によるデータレジスタ130からのデータの読出し(S504)は、認証フェーズ実行が決定した(S501でYes)後であり認証フェーズ実行(S505)の前であれば任意のタイミングで行ってよい。例えば、認証フェーズ実行が決定した(S501でYes)後のディレイ実行の判定(S502)前に行ってもよいし、ディレイ実行判定(S502)またはディレイ実行(S503)と同時に行ってもよい。
【0088】
また、図9において、ディレイ実行の判定およびディレイの実行(S502およびS503)は、認証フェーズ実行(S505)の前に行われているが、認証フェーズ実行(S505)またはデータレジスタ130へのデータの書込み(S506)の後に、次の認証フェーズとの間のディレイ判定およびディレイ実行(上記例では、第1b認証フェーズと第1c認証フェーズの間のディレイ)を行ってもよい。
【0089】
また、データレジスタ128への認証データの読書き(S504、S506、S507およびS509)は、認証フェーズの内容によっては、行う必要がない場合がある。データレジスタ128への認証データの読書きを行う必要のない認証フェーズの処理においては、ステップS504、S506、S507およびS509のいずれか1以上を省略してもよい。
【0090】
本実施の形態に係る認証処理は、認証処理装置120によるハードウェア処理とCPU110によるソフトウェア処理とを併用する。このようにハードウェア処理とソフトウェア処理とを併用する場合には、CPU110は、どの認証フェーズをハードウェア処理またはソフトウェア処理するかを判定する判定処理を行う必要がある。
【0091】
以下、本実施の形態における認証処理動作の判定処理について説明する。本実施の形態における判定処理は、認証を行う各受信機器に対し、最適な認証コマンドのパターンを記憶する。また、新たに接続された(対応する最適な認証コマンドのパターンが保持されていない)受信機器に対しては、認証を正常に行える認証コマンドのパターンを判定し、判定結果を記憶する手法を用いる。
【0092】
図10は、本実施の形態における判定処理の流れを示すフローチャートである。図10に示すように、まず、CPU110は、受信機器200の種別を特定する機器情報を取得する(S601)。なお、受信機器200の機器情報取得は、認証処理に受信機器200の機器情報を取得する認証フェーズが含まれる場合には、個別に行う必要はなく、認証処理中に取得した機器情報を用いることができる。次に、CPU110は、ステップS601で取得した機器情報と記憶部140が記憶する複数の受信機器の機器情報とを比較し、受信機器200が新規の受信機器であるか否かを判定する(S602)。記憶部140に受信機器200に対応する機器情報が保持されておらず、受信機器200が新規の受信機器である場合(S602でYes)、CPU110の命令により認証処理装置120は、認証処理を実行する(S603)。例えば、認証処理装置120が全ての認証フェーズをディレイなしでハードウェア処理する。認証処理(S603)が正常に終了した場合(S604でYes)、CPU110は、ステップS603で実行した処理のパターン(認証コマンドのパターン)をステップS601で取得した受信機器200の機器情報に対応させ記憶部140に記憶させる(S605)。
【0093】
一方、ステップS603における認証処理が正常に終了しなかった場合(S604でNo)、CPU110は、認証処理のパターンを変更し(S606)、再び認証処理を実行する(S603)。ここで、ステップS606で行われる認証処理のパターン変更は、各認証フェーズ間にディレイを入れる、ハードウェア処理されている認証フェーズをCPU110でソフトウェア処理する、または、CPU110でソフトウェア処理している認証フェーズのソフトウェア処理の内容を変更する等である。
【0094】
ステップS606において変更された新たな認証コマンドのパターンでの認証処理が正常に終了した場合(S604でYes)は、ステップS606において変更された新たな処理パターンが記憶部140に記憶される(S605)。
【0095】
一方、ステップS606において変更された新たな認証コマンドのパターンでの認証処理が正常に終了しなかった場合(S604でNo)は、再度、処理パターンが変更され(S606)、認証処理が実行される(S603)。ステップS604、S604でNoおよびS606の処理は、認証処理が正常に終了するまで繰り返される。なお、所定の回数パターン変更および認証実行を繰り返した後、認証不可として処理を終了してもよい。
【0096】
また、記憶部140が受信機器200の機器情報を記憶しており、受信機器200が新規の受信機器でない場合(S602でNo)、CPU110は、記憶部140より受信機器200に対応する認証コマンドのパターンを読出す(ステップS607)。CPU110は、ステップS607で読出した認証コマンドのパターンに基づき、各認証フェーズを処理、または、認証処理装置120を制御し処理を行う。
【0097】
このように、本実施の形態に係る認証処理装置120を備える送信機器100は、記憶部140に受信機器を特定する機器情報と、当該機器情報に対応する最適な認証コマンドとを記憶する。CPU110は、認証処理の対象である受信機器200の機器情報を取得し、取得した機器情報に対応する最適な認証コマンドを記憶部140から読出す。CPU110は、読出した認証コマンドをコマンドレジスタ128に書込む。これにより、認証処理装置120は、コマンドレジスタ128に書込まれた認証コマンドに基づき、受信機器に対応した最適な認証コマンドのパターンを用い認証処理を行うことができる。よって、容易に受信機器に対応した最適な認証処理を実行することができる。また、記憶部140に最適な認証コマンドのパターンが記憶されていない受信機器に対しては、最適な認証コマンドのパターンを判定する。よって、多種の受信機器に対応することができる。
【0098】
なお、判定処理の方法は図10に示した方法に限定されるものではない。例えば、新規の受信機器に対する最適な認証コマンドのパターンの判定は行わず、予め記憶部140に記憶された受信機器の機器情報と認証コマンドのパターンとのテーブルから、受信機器200に対応する認証コマンドのパターンを判定してもよい。当該テーブルを取得する方法は、出荷時に記憶する、外部より送信機器100に入力される、インターネット等を介し送信機器100が取得する、または、受信機器200が自身の処理パターンの情報を保持しており送信機器100が受信機器200から認証コマンドのパターンの情報を取得する等がある。また、このようなテーブルを取得した後、図10の処理を行い、テーブルを更新してもよい。
【0099】
また、図1において記憶部140は、認証処理装置120と個別に形成されているが、認証処理装置120が1チップの半導体集積回路として記憶部140を備えてもよい。
【0100】
また、上記説明では、記憶部140に受信機器に対応する認証コマンドのパターンを記憶しているが、認証コマンドのパターンを記憶せず、毎回、図10に示すパターンの判定(ステップS602でYes以降の処理)を行ってもよい。
【0101】
また、新規の受信機器でない場合(S602でNo)において、認証コマンドのパターン読出し(S607)の後に、新規の受信機器の場合(S602でYes)と同様に正常に終了したかの判定等の処理(S603〜S606)を行ってもよい。
【0102】
また、上記説明では、ソフトウェア処理は、CPU110が行っているが、認証処理装置120が専用のマイコンを備え、当該マイコンがソフトウェア処理を行ってもよい。さらに、上記説明において判定処理等のCPU110が行っている処理の一部または全部を当該マイコンが行ってもよい。
【0103】
また、各受信機器に対する最適な認証コマンドのパターンにCPU110によるソフトウェア処理が含まれる場合には、記憶部140に、各受信機器に対する当該ソフトウェア処理の情報を記憶してもよい。
【0104】
以上より、本実施の形態に係る認証処理装置120は、CPU110から送信された認証コマンドをコマンドレジスタ128に保持し、保持した認証コマンドに応じ、選択的に認証処理に含まれる認証フェーズを実行することができる。また、認証コマンドは、各認証フェーズに対応する1ビットの情報を含むので、認証処理装置120は、一つのコマンドから容易に任意の認証フェーズを実行するか否かを判定し、任意認証フェーズを選択的に実行することができる。
【0105】
また、認証コマンドには、各認証フェーズ間にディレイを挿入するか否かを示す1ビットの情報が含まれる。これにより、認証装置120は、容易に任意の認証フェーズ間にディレイを挿入するか否かを判定し、ディレイを挿入することができる。
【0106】
また、認証コマンドには、受信機器200に対するDDCリセットコマンドを発行するか否かの情報が含まれる。これにより、認証装置120は、容易にDDCリセットコマンドを発行するか否かを判定し、受信機器200に対しDDCリセットコマンドを発行することができる。
【0107】
また、本実施の形態に係る認証処理装置120は、コマンドレジスタ128に保持される認証コマンドに応じ、任意の認証コマンドに含まれる任意の認証フェーズをハードウェア処理することができる。よって、全ての認証フェーズをソフトウェア処理する場合に比べ、処理速度を向上させることができる。また、ハードウェア処理を行う認証フェーズに関しては認証処理装置120内で処理を完結し、処理途中のデータ等をDDC通信によりCPU110と送受信する必要がない。よって、認証処理を高速化することができる。
【0108】
また、受信機器200の仕様により、ハードウェア処理では正常に処理できない認証フェーズに関しては、CPU110でソフトウェア処理することができる。さらに、受信機器200の仕様により、認証フェーズ間にディレイが必要な場合には、ディレイを挿入することができる。これにより、ディレイの挿入をCPU110でソフトウェア処理する必要がなくなり、処理を高速化することができる。
【0109】
また、認証処理装置120またはCPU110の認証フェーズの処理において生成された認証データ(鍵およびパラメータ等)をデータレジスタ130に保持する。これにより、CPU110は、データレジスタ130が保持する認証データを用いることで、認証処理装置120がハードウェア処理した認証フェーズの後の認証フェーズを容易にソフトウェア処理することができる。また、認証処理装置120は、データレジスタ130が保持する認証データを用いることで、CPU110がソフトウェア処理した認証フェーズの後の認証フェーズを容易にハードウェア処理することができる。
【0110】
また、本実施の形態に係る認証処理は、記憶部140に記憶されている受信機器に対応した最適な認証コマンドのパターンを用い認証処理を行う。よって、容易に受信機器に対応した最適な認証処理を実行することができる。また、記憶部140に最適な認証コマンドのパターンが記憶されていない受信機器に対しては、最適な認証コマンドのパターンを判定する。よって、多種の受信機器に対応することができる。
【0111】
以上より、本発明は、高速処理が行え、多種の受信機器に対応する認証処理装置および認証処理方法を提供することできる。
【産業上の利用可能性】
【0112】
本発明は、認証処理装置および認証処理方法に適用でき、特に、AV出力機能を有するDVDプレーヤ、DVDレコーダおよびSTB(Set Top Box)等のAV機器ならびにパーソナルコンピュータ等に適用できる。
【図面の簡単な説明】
【0113】
【図1】本実施の形態に係るHDMI通信システムの構成を示すブロック図である。
【図2】コマンドレジスタの構成の一例を示す図である。
【図3】タイマレジスタの構成の一例を示す図である。
【図4】DDC通信における信号の一例を示す図である。
【図5】本実施の形態に係る認証処理の流れを示すフローチャートである。
【図6】第1認証処理の流れを示すフローチャートである。
【図7】第2認証処理の流れを示すフローチャートである。
【図8】第3認証処理の流れを示すフローチャートである。
【図9】各認証フェーズにおける処理の流れを示すフローチャートである。
【図10】判定処理の流れを示すフローチャートである。
【図11】従来のHDMI通信システムの構成を示すブロック図である。
【符号の説明】
【0114】
100、1100 送信機器
110、1110 CPU
120 認証処理装置
121 レジスタ部
122 認証エンジン
123 第1認証部
124 第2認証部
125 第3認証部
126 タイマ部
127、1127 DDC部
128 コマンドレジスタ
129 タイマレジスタ
130 データレジスタ
131 リセット生成部
140 記憶部
200、1200 受信機器
300、1300 HDMIケーブル
401 スレーブアドレス
402、404、406 ACK
403 オフセットアドレス
405 書込みデータ
1120 HDMI送信部

【特許請求の範囲】
【請求項1】
外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証手段と、
前記複数の認証フェーズのそれぞれについて処理をするか否かを示す第1のコマンドを保持するコマンド保持手段と、
前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる認証制御手段とを備える
ことを特徴とする認証処理装置。
【請求項2】
前記第1のコマンドは、前記複数の認証フェーズにそれぞれ対応する複数のビットを含み、
前記第1のコマンドの各ビットは、対応する前記認証フェーズの処理をするか否かを示し、
前記認証制御手段は、前記コマンド保持手段が保持する前記第1のコマンドの各ビットおいて、処理をすると示される認証フェーズの処理を前記認証手段に行わせる
ことを特徴とする請求項1記載の認証処理装置。
【請求項3】
前記認証処理装置は、さらに、
前記認証手段による認証フェーズの処理において生成された認証データを後の認証フェーズのために保持するデータ保持手段を備える
ことを特徴とする請求項1または2記載の認証処理装置。
【請求項4】
前記認証手段は、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行う
ことを特徴とする請求項3記載の認証処理装置。
【請求項5】
前記認証処理装置は、さらに、
前記外部機器とDDC通信を行うDDC通信手段を備え、
前記認証手段は、前記DDC通信手段を介して、前記外部機器とのデータの送受信を行う
ことを特徴とする請求項1〜4のいずれか1項に記載の認証処理装置。
【請求項6】
前記コマンド保持手段は、前記外部機器とのDDC通信ラインをリセットするか否かを示す第2のコマンドを保持し、
前記DDC通信手段は、前記コマンド保持手段が保持する第2のコマンドに基づき、前記DDC通信ラインをリセットする信号を生成するリセット生成手段を備える
ことを特徴とする請求項5記載の認証処理装置。
【請求項7】
前記コマンド保持手段は、前記複数の認証フェーズ間のそれぞれに遅延時間を挿入するか否かを示す第3のコマンドを保持し、
前記認証処理装置は、さらに、
前記遅延時間をカウントするタイマ手段を備え、
前記認証制御手段は、前記コマンド保持手段が保持する前記第3のコマンドにおいて遅延時間を挿入すると示された認証フェーズ間に、前記タイマ手段がカウントした遅延時間を挿入する
ことを特徴とする請求項1〜6のいずれか1項に記載の認証処理装置。
【請求項8】
前記認証処理装置は、さらに、
前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するCPUを備える
ことを特徴とする請求項1〜7のいずれか1項に記載の認証処理装置。
【請求項9】
前記認証処理装置は、さらに、
前記コマンド保持手段が保持する前記第1のコマンドにおいて、処理をしないと示される認証フェーズをソフトウェア処理するCPUを備え、
前記データ保持手段は、前記CPUによる認証フェーズの処理において生成された認証データを後の認証フェーズのために保持し、
前記CPUは、前の認証フェーズの処理において生成された認証データを前記データ保持手段から読出し、当該認証データを用い認証フェーズの処理を行う
ことを特徴とする請求項4記載の認証処理装置。
【請求項10】
前記認証装置は、さらに、
外部機器を特定する機器情報と、前記各外部機器に対応する前記第1のコマンドとを記憶する記憶手段と、
前記認証処理の対象の外部機器の機器情報を取得する機器情報取得手段と、
前記機器情報取得手段が取得した機器情報に対応する前記第1のコマンドを前記記憶手段から読出し、前記コマンド保持手段に書込む機器情報制御手段とを備える
ことを特徴とする請求項1〜9のいずれか1項に記載の認証処理装置。
【請求項11】
前記認証処理は、HDCP規格における認証処理であり、
前記認証手段は、
前記HDCP規格における第1認証処理に含まれる認証フェーズの処理を行う回路を有する第1認証手段と、
前記HDCP規格における第2認証処理に含まれる認証フェーズの処理を行う回路を有する第2認証手段と、
前記HDCP規格における第3認証処理に含まれる認証フェーズの処理を行う回路を有する第3認証手段とを備える
ことを特徴とする請求項1〜10のいずれか1項に記載の認証処理装置。
【請求項12】
外部機器に対する認証処理に含まれる複数の認証フェーズの処理を行う回路を有する認証部と、前記複数の認証フェーズのそれぞれについて処理するか否かを示す第1のコマンドを保持するコマンド保持部とを備える認証制御装置における認証制御方法であって、
前記第1のコマンドに基づき、前記各認証フェーズの処理をするか否かを判定する判定ステップと、
前記判定ステップにおいて処理をすると判定された認証フェーズの処理を前記認証部に行わせる処理ステップとを含む
ことを特徴とする認証処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2007−233960(P2007−233960A)
【公開日】平成19年9月13日(2007.9.13)
【国際特許分類】
【出願番号】特願2006−58253(P2006−58253)
【出願日】平成18年3月3日(2006.3.3)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】