(57)【特許請求の範囲】
【請求項１】
バス上の任意の機器が同期データを受信する同期（isochronousアイソクロノス）通信と、非同期データを受信する機器が特定される非同期（asynchronousエイシンクロナス）通信とが使用されるバスシステムにおいて、前記同期データは実データ部を含む場合があり、前記実データ部の暗号化状況を示す暗号識別情報が前記実データ部以外の前記同期データ中に含まれており、前記同期データを受信した受信装置は、前記実データ部が暗号化されていることを前記暗号識別情報が示している場合には、前記同期データを送信している送信装置に対して、前記非同期通信を用いて前記実データ部の復号化情報を要求し、前記要求を受けた前記送信装置は、前記非同期通信を用いて前記受信装置に対して前記実データ部の前記復号化情報を暗号化した復号化情報、もしくは前記復号化情報を取得するのに必要な復号化情報取得データを送信し、前記受信装置は、前記暗号化された復号化情報を受信した場合には、前記暗号化された復号化情報から前記復号化情報を取り出し、また、前記受信装置が前記復号化情報取得データを受信した場合には、前記復号化情報取得データを用いて前記復号化情報を取得し、このようにして得られた前記復号化情報を用いて暗号化された実データ部を復号することを特徴とするデータ転送方法。
【請求項２】
前記同期データを受信した前記受信装置が、前記実データ部が暗号化されていることを検出してから前記復号化情報を取得するまでの一連の手順には、複数の種類が存在し、前記受信装置は、前記復号化情報の要求に先立って、前記送信装置が実行可能な手順の種類を前記送信装置に問い合わせ、前記受信装置は、自身と前記送信装置との双方が前記実行可能な手順の中から実行する手順を選択し、前記受信装置は選択した前記手順に基づいて前記復号化情報を取得すること特徴とする請求項１記載のデータ転送方法。
【請求項３】
前記送信装置と前記受信装置との双方が前記実行可能な手順が複数存在する場合には、あらかじめ定められた優先順位に従って前記手順を選択すること特徴とする請求項２記載のデータ転送方法。
【請求項４】
前記同期データを受信した前記受信装置が、前記実データ部が暗号化されていることを検出してから前記復号化情報を取得するまでの前記一連の手順には、複数の種類が存在し、前記受信装置は、前記複数の種類の手順の中からあらかじめ定められた優先順位に従って前記手順を選択して前記手順を開始し、前記受信装置の選択した前記手順を前記送信装置が実行不能である場合には、前記受信装置は、前記送信装置が実行可能な前記手順が見つかるまで、前記手順を順次選択し直して前記手順を開始し、前記受信装置は、実行可能な手順が見つかった時に、その選択した手順に基づいて前記復号化情報を取得すること特徴とする請求項１記載のデータ転送方法。
【請求項５】
前記選択された手順に基づいて、前記送信装置と前記受信装置との間で授受される前記非同期データには、実行中の前記手順の種類をあらわす識別子が含まれることを特徴とする請求項２〜４のいずれか記載のデータ転送方法。
【請求項６】
前記受信装置は、前記復号化情報の要求を行う前に、前記送信装置が正規の送信装置であることを確認することを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項７】
前記送信装置は、前記復号化情報の要求を受けた後、受信装置が前記正規の受信装置であることを確認してから、前記実データ部の復号化情報を暗号化して送信することを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項８】
前記送信装置と前記受信装置とが、互いに、相手が前記正規の受信装置または前記正規の送信装置であることを確認してから、前記受信装置が前記復号化情報の要求を行うことを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項９】
前記受信装置が前記復号化情報を要求する前に、前記受信装置から前記送信装置に対して、前記送信装置が共通鍵を作成するのに少なくとも必要な情報の送信と、前記送信装置から前記受信装置に対して、前記受信装置が前記共通鍵を作成するのに少なくとも必要な情報の送信とが行われ、前記送信装置は前記共通鍵を用いて前記復号化情報を暗号化して送信し、前記受信装置は受信した前記暗号化された複合化情報から前記共通鍵を用いて前記復号化情報を取り出すことを特徴とする請求項１〜８のいずれか記載のデータ転送方法。
【請求項１０】
前記暗号化は前記実データ部に対してのみ行うことを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項１１】
前記送信装置は内部に実データの信号源を有し、前記送信装置は前記信号源から出力された固定長単位の前記実データ毎に暗号化の有無を決定し、暗号化された前記実データと暗号化されていない前記実データとを互いに異なる前記同期通信の出力単位内に配置して前記バスシステムへ出力することを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項１２】
前記暗号化された実データと前記暗号化されていない実データとの比率を、前記受信装置が前記送信装置に対して前記非同期通信を用いて指定し、前記送信装置は前記指定に従って暗号化の有無の比率を変更することを特徴とする請求項11記載のデータ転送方法。
【請求項１３】
前記送信装置は内部に前記実データの信号源を有し、前記送信装置は前前記信号源から出力された前記固定長単位の実データについて、前記固定長単位の実データ中での前記暗号化を行う割合を決定し、前記実データを前記同期通信の出力単位内に配置して前記バスシステムへ出力することを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【請求項１４】
前記受信装置は前記送信装置に対して、前記暗号化を行う割合の指定を前記非同期通信によって行い、前記送信装置は前記指定に従って前記暗号化する割合を変更することを特徴とする請求項13記載のデータ転送方法。
【請求項１５】
前記送信装置が前記同期データを送信する際に、少なくとも前記復号化情報を要求されるまでの間は前記同期データに前記実データ部を含めずに送信し、少なくとも前記復号化情報の要求を受け取った後に前記実データ部を含んだ前記同期データの送信を開始することを特徴とする請求項１〜５のいずれか記載のデータ転送方法。
【発明の詳細な説明】
技術分野
本発明は、通常のディジタルデータと暗号化されたディジタルデータとが混在するデータを転送するディジタルデータ転送方法に関するものである。
背景技術
従来のデータ転送方式にはIEEE1394規格（IEEE:THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS,INC.）を用いたデータ転送方法がある（参考文献:IEEE Std 1394:1995,High Performance Sirial Bus）。IEEE1394規格におけるデータ転送には、ディジタル映像信号やディジタル音声信号等の同期データの転送に適したアイソクロノス（isochronous）通信と、制御信号等の非同期データの伝送に適したエイシンクロナス（asynchronous）通信とがあり、両方の通信はIEEE1394バス上で使用することが可能である。アイソクロノス通信はいわゆる放送型の通信であり、IEEE1394バス上の１つの装置が出力するアイソクロノスパケットを、同バス上の全ての装置が受信することができる。これに対してエイシンクロナス通信には１対１の通信と１対Ｎの放送型通信の両方があり、バス上の１つの装置が出力するエイシンクロナスパケットには、そのパケットを受信すべき装置をあらわす識別子が含まれており、その識別子が特定の装置をあらわす時にはその識別子で指定された装置が当該エイシンクロナスパケットを受信し、その識別子がブロードキャストをあらわす時には同バス上の全ての装置が当該エイシンクロナスパケットを受信する。
また、IEEE1394規格に準拠したデータ転送方法を用いて、ディジタル音声信号やディジタル映像信号等を転送したり、IEEE1394バス上に接続された機器間でのデータ伝送を行うための規格として、IEC（IEC:International Electrotechnical Commission国際電気標準会議）においてIEC1883規格（以下、AVプロトコルと称する）が検討されている。AVプロトコルにおいては、映像音声データは図５に示すアイソクロノスパケット内に配置されて転送される。また、アイソクロノスパケットはCIPヘッダ（CIP:Common Isochronous Packet）を含む。CIPヘッダ内には、映像音声データの種類を示す識別情報やアイソクロノスパケットを送信している送信装置の装置番号等の情報が含まれている。
図５はAVプロトコルにて使用されるアイソクロノスパケットのフォーマットをあらわす図である。アイソクロノスパケットは、アイソクロノスパケットヘッダ900,ヘッダCRC901,アイソクロノスペイロード902およびデータCRC903からなる。アイソクロノスパケットヘッダ900にはタグ907が含まれる。タグ907は、その値が１である時には、そのアイソクロノスパケットがAVプロトコルに準拠していることを示す。タグ907の値が１であるとき、すなわちそのアイソクロノスパケットがAVプロトコル準拠のアイソクロノスパケットである時には、アイソクロノスペイロード902の先頭にCIPヘッダ904が含まれる。CIPヘッダ904の中には、当該アイソクロノスパケットを出力している出力装置の識別子であるソースID906が含まれる。また、CIPヘッダ904には、アイソクロノスペイロード902に含まれる実データ905がどの様な種類のデータであるかをあらわすFMT908とFDF909が含まれる。映像信号や音声信号のディジタルデータは実データ905に含まれるが、実データ905はアイソクロノスペイロード902にかならず含まれるとは限らず、パケットによっては実データ905を含まずにCIPヘッダ904のみを含むアイソクロノスペイロード902も有り得る。
また、AVプロトコル上で機器制御を行うためのコマンド群として、AV/Cコマンドセットがある。（参考文献:1394 TRADE ASSOCIATION Specification for AV/C Digital Interface Command Set Version 1.0 September 13,1996）これらのコマンドとその応答はエイシンクロナス通信を用いて転送される。
前記従来のデータ転送方法において、著作権保護のためにアイソクロノスペイロード902を暗号化したアイソクロノスパケットをアイソクロノス通信で送信しようとすると、暗号化されたアイソクロノスペイロード902の転送に対応していない従来の機器との互換性が保たれなくなる。すなわち、従来の機器は、アイソクロノスペイロード902の先頭にCIPヘッダ904が正常に配置されて送信されてくることを前提に作られているので、アイソクロノスペイロード902が暗号化されていると、従来の機器ではCIPヘッダ904が正常に読み出されず、そのアイソクロノスパケットはAVプロトコルを満たさないものと判断され、暗号化されたアイソクロノスパケットを受信した受信装置は正常に動作することができなくなる。すなわちその受信装置では実データ905に含まれるデータがどのような種類のデータであるかを判別することが不可能であり、当該アイソクロノスパケットを出力している装置を特定することが不可能になるので、かつ当該送信装置に対する各種の問い合わせ等のエイシンクロナス通信を行うことができなくなり、受信動作を正常に行うことが不可能となってしまうという課題があった。
また前記従来のデータ転送方法において、送信装置が出力するアイソクロノスパケットを、受信装置が継続して受信している最中にアイソクロノスパケットの暗号化が始るような場合、従来の機器においては、暗号化が始まった途端にCIPヘッダ904を正常に読み出すことができなくなり、正常な受信が行えなくなるという課題があった。
また送信装置が、著作権で保護されている映像音声情報等を暗号化して送信し、正規に認められた受信装置が、その暗号化された映像音声データ等を復号化するためには、送信装置は、正規の受信装置に対して復号のための復号化情報を付与する必要がある。その場合、前記従来のデータ転送方法においては、送信装置が受信装置を特定するには非常に煩雑な手順を実行せねばならない。すなわちアイソクロノスパケットには、送信を行っている装置の識別子であるソースID906は含まれるが、どの装置が当該アイソクロノスパケットを受信するべきかをあらわす情報は含まれておらず、そのため送信装置はどの装置が当該アイソクロノスパケットの受信を行っているかをアイソクロノスパケット送信中に調べることはできない。そこで、送信装置が、IEEE1394バス上に接続されている機器のうちのどの機器が受信を行っているかを調べるには、送信装置はバス上の全ての機器に対して受信状態の問い合わせを順次に行わねばならず、復号のための鍵情報を付与する手順が非常に煩雑になるという課題があった。
本発明は、前記従来の問題点を解決するもので、暗号化した映像音声情報をアイソクロノス通信で送信する場合にも従来の通信規格を満足し、かつ従来の受信装置が暗号化された映像音声データを含むアイソクロノスパケットを受信しても誤動作することのないデータ転送方法を実現することを目的とする。
また本発明は、前記従来の問題点を解決するもので、送信装置が正規の受信装置に復号のための鍵情報を付与する手順を極めて簡素なものにすることが可能なデータ転送方法を実現することを目的とする。
発明の開示
前記従来のデータ転送方法の問題点を解決するために、本発明のデータ転送方法においては、アイソクロノス通信で転送される同期データには実データ部の暗号化状況を示す暗号識別情報と実データ部とが含まれ、暗号化は実データ部に対してのみ行う。
また前記従来のデータ転送方法の問題点を解決するために、本発明のデータ転送方法においては、同期データ内の実データ部の暗号化状況を示す暗号識別情報が実データと一緒に送信装置から送信され、実データ部が暗号化されていることをこの暗号識別情報により検出した受信装置が、送信装置に対して復号化情報を要求し、この要求に従って送信装置から送信された復号化情報を受け取った受信装置はこの復号化情報を使用して実データ部の復号化を行うことによってデータ転送が行われる。
本発明のデータ転送方法においては、同期データを受信した受信装置が、同期データ内に含まれる暗号識別情報を調べ、実データ部が暗号化されていることを検出すると、送信装置に対して実データ部を復号するための復号化情報を要求する。この要求はAV/Cセット中のコマンドによりエイシンクロナス通信を用いて行われ、この要求を受け取った送信装置においては、受け取ったコマンドのパケットヘッダを調べることにより、要求を出した機器すなわち受信装置が特定される。ここで特定された受信装置に対して送信装置が復号化情報をエイシンクロナス通信によりコマンドで付与することにより、送信装置が受信装置に復号のための復号化情報を付与する手順が極めて簡素なデータ転送方法を実現できる。
また本発明のデータ転送方法においては、同期データの暗号化は実データ部のみに対して行われ、同期データには実データ部の暗号化状況を示す暗号識別情報が含まれる。これにより、CIPヘッダは暗号化されずにそのまま転送されるので、従来の装置がこれらの暗号化された同期データを受信しても誤動作することはない。すなわち、従来のデータ転送方法との互換性を保ちつつ、かつ従来の受信装置が暗号化された同期データを受信しても誤動作する可能性の無いデータ転送方法を実現できる。
また本発明のデータ転送においては、送信装置の送信している同期データを受信装置が継続的に受信している最中に、同期データの暗号化が始まったとしても、CIPヘッダは暗号化されずにそのまま転送されるので、受信を行っている受信装置が誤動作する可能性のないデータ転送方法を実現できる。
【図面の簡単な説明】
図１は本発明の実施形態におけるCIPヘッダのフォーマットを表す模式図、
図２は本発明の実施形態における送信装置と受信装置との機能を表すブロック図、
図3Aは本発明の実施形態におけるAKEステイタスコマンドのフォーマットを表す図、
図3Bは本発明の実施形態におけるAKEステイタスコマンドに対するAKEレスポンスのフォーマットを表す図
図3Cは本発明の実施形態におけるAKEコントロールコマンドのフォーマットを表す図
図４は本発明の実施形態における送信装置と受信装置との間で伝送されるエイシンクロナスパケットの伝送手順を表す模式図、
図５は従来のデータ転送方法におけるアイソクロノスパケットのフォーマットを表す図。
発明を実施するための最良の形態
以下、本発明の第一の実施形態について、図面を参照しながら説明する。
図１は本発明の実施形態において転送されるアイソクロノスパケットのペイロード部の形式を表した図である。本実施形態はMPEG（Moving Picture Expert Group）に準拠したTSP（トランスポートパケット）の転送例である。ENC（以下暗号化情報と記す）910は実データ905が暗号化されているか否かを示す。
図２は本発明の実施形態における送信装置と受信装置の関係をあらわす図である。送信装置110と受信装置128とはIEEE1394バス（以下1394バスと記す）111を通じてつながれている。
先ず送信装置110における各ブロックの機能を以下に説明する。
信号源100は、1394バス111上に送信しようとする188バイト単位のMPEGのトランスポートパケットTSP（図示せず）を暗号化手段101に対して出力する。すなわち本実施形態では、信号源100は188バイトの固定長のデータを出力する。暗号化手段101は鍵生成手段106から与えられる暗号鍵109を用いて信号源100から受け取ったTSPを暗号化して出力する。本実施形態では暗号化鍵109が復号化情報に相当する。出力命令105は鍵生成手段106から暗号化手段101に対する命令であり、通常出力，暗号化出力および空出力の３種類の命令がある。出力命令105を受け取った暗号化手段101は、その命令の内容が通常出力である場合には、信号源100から受け取ったTSPをそのまま出力し、暗号化情報910には値０を出力する。また出力命令105の内容が暗号化出力である場合には、TSPを鍵生成手段106から受け取った暗号鍵109で暗号化して出力し、暗号化情報910には値１を出力する。また出力命令105の内容が空出力である場合には、信号源100からTSPを受け取るたびに空信号（図示せず）を出力するとともに、暗号化情報910には値１を出力する。ソースパケット化手段102は、暗号化手段101から受け取った188バイトのTSPに４バイトのソースパケットヘッダを付加して192バイトのソースパケット（実データ905）を出力する。CIPブロック化手段103は、ソースパケット化手段102から受け取ったソースパケットにCIPヘッダ954を付加してアイソクロノスペイロード952を出力する。その際にCIPブロック化手段103は、暗号化手段101から受け取った暗号化情報910をCIPヘッダ954内に配置する。アイソクロノスパケット化手段107はCPIブロック化手段103から受け取ったアイソクロノスペイロード952にアイソクロノスパケットヘッダ900、ヘッダCRC901およびデータCRC903を付加してアイソクロノスパケットを出力する。このとき、アイソクロノスペイロード952の内容がAVプロトコルに準拠したデータであるので、タグ907の値は１とする。鍵生成手段106は、後述するように受信装置128との間で、図３に示すエイシンクロナスパケットのやりとりにより暗号鍵109を受信装置128に送信し、また前述のように暗号化手段101に対しても暗号鍵109を出力する。
1394パケット入出力手段108は、1394バス111と送信装置110との間でアイソクロノスパケットおよびエイシンクロナスパケットの入出力を行う。すなわち、1394パケット入出力手段108は、アイソクロノスパケット化手段107から受け取ったアイソクロノスパケットおよび鍵生成手段106から受け取ったエイシンクロナスパケットを1394バス111上に出力するとともに、1394バス111から受信したエイシンクロナスパケットを鍵生成手段106へと出力する。
次に受信装置128の各ブロックの機能を以下に説明する。
1394パケット入出力手段127は、1394バス111と受信装置128との間でアイソクロノスパケットおよびエイシンクロナスパケットの入出力を行う。すなわち、1394パケット入出力手段127は、1394バス111から受信したアイソクロノスパケットをペイロード抽出手段123に対して出力し、1394バス111から受信したエイシンクロナスパケットを鍵生成手段125に対して出力する。また、鍵生成手段125から受け取ったエイシンクロナスパケットを1394バス111に対して出力する。
ペイロード抽出手段123は、1394バス111から受信したアイソクロノスパケットを1394パケット入出力手段127から受取り、アイソクロノスパケットのタグ907の値が１である場合にはアイソクロノスペイロード952の中身がAVプロトコル準拠のデータであることを知り、アイソクロノスペイロード952を実データ抽出手段122に対して出力する。実データ抽出手段122は、受けとったアイソクロノスペイロード952に実データ905が含まれる場合には、アイソクロノスペイロード952の先頭のCIPヘッダ954を除去した実データ905を復号化手段121に対して出力する。また、実データ抽出手段122は、CIPヘッダ954からから抽出したソースID906と暗号化情報910とを鍵生成手段125に対して出力する。また暗号化情報910は、復号化手段121に対しても同様に出力される。鍵生成手段125は、後述するように送信装置110との間でのエイシンクロナス通信によるエイシンクロナスパケットのやりとりにより暗号鍵126を受け取り、復号化手段121に対して暗号鍵126を出力する。復号化手段121は、実データ抽出手段122から受信した暗号化情報910の値が０の時には、実データ抽出手段122から受け取った実データ905を映像音声化手段120に対してそのまま出力し、暗号化情報910の値が１の時には、鍵生成手段125から受け取った暗号鍵126を用いて実データ905を復号化し、復号化した結果を映像音声化手段120に対して出力する。
次に前述のエイシンクロナス通信によるエイシンクロナスパケット伝送について説明する。
図3A〜Ｃは、エイシンクロナス通信により伝送されるエイシンクロナスパケットのフォーマットを示し、このうち図3Aおよび図3Cは、本実施形態における鍵生成手段106と鍵生成手段125との間でやりとりされるAKEコマンド（AKE:Authentication and Key Exchange）のコマンドフォーマットであり、図3Bはレスポンスフォーマットである。これらのコマンドおよびレスポンスは、AV/Cコマンドセットに属するコマンドとして、エイシンクロナス通信を用いて送信装置110と受信装置128との間でやり取りされる。これらのコマンドおよびレスポンスをやりとりすることにより、送信装置110および受信装置128の間で、相手装置の認証や暗号鍵109,126のやりとりに必要な情報の交換が行われる。前記AKEコマンドには、相手装置に対する何らかの動作を要求するAKEコントロールコマンドと、相手装置の状態や能力を問い合わせるためのAKEステイタスコマンドとがある。
図3AはAKEステイタスコマンドのフォーマットをあらわす図である。AKEステイタスコマンドにおいて、オペコード208は、当該コマンドがAKEコマンドであることを示す。アルゴリズムID200は固定値０であり、０以外の値は将来の拡張のために予約となっている。
図3BはAKEステイタスコマンドに対するレスポンスのフォーマットをあらわす。図3AのAKEステイタスコマンドを受け取った装置が、そのAKEステイタスコマンドを発行した装置に対して返送するのがこのレスポンスである。送信装置110と受信装置128との間で、相互認証および暗号鍵109、126の伝達を行う一連の情報交換手段には複数の種類があり、アルゴリズム領域201には、当該レスポンスを返す装置が実行可能な情報交換手順の識別子がビットアサインされている。すなわち、受信装置128は、前記の手順により暗号化されたTSPを検出してから暗号鍵109,126を受け取るまでの間に、送信装置110との間で複数のコマンドおよびレスポンスをやり取りする。このコマンドおよびレスポンスをやり取りする情報交換手段には複数の種類があり、当該レスポンスを返す装置は、自身で実行可能な情報交換手順をアルゴリズム領域201における当該ビットの値を１にしてあらわす。アルゴリズム領域201のサイズは16ビットであるので、最大16種類の情報交換手順をあらわすことが可能である。最大データ長212は、AKEコマンドおよびそれに対するレスポンスをやり取りする際に、受信可能な最大データ長が何バイトであるかを示す。
図3CはAKEコントロールコマンドのフォーマットをあらわす。AKEコントロールコマンドにおけるアルゴリズム領域201は、アルゴリズムID200の値が０である時には、実行中の情報交換手順をあらわす。アルゴリズム領域201の各ビットは、AKEコントロールコマンドおよびAKEコントロールコマンドに対するレスポンスにおいては、必ず１つのビットだけが１で他のビットは０となっており、その値１の１ビットが現在実行中の情報交換手順をあらわしている。ラベル202は、複数のAKEコントロールコマンド間の対応を明確にするために用いられる。例えば、１つの装置が他の装置に対してAKEコントロールコマンドを送信したとして、そのAKEコントロールコマンドを受信した装置は、受信したAKEコントロールコマンドに呼応する別のAKEコントロールコマンド返送するという規定が、ある情報交換手順で定められているとする。この場合、両AKEコントロールコマンド間の呼応関係を明確にするために、返送するAKEコントロールコマンドに挿入されるラベル202は、最初に受信したAKEコントロールコマンドに挿入されていたラベル202と同じ値を使用する。ステップ番号203は、情報交換手順の中でやりとりされる順に、個々のAKEコントロールコマンドに対して１から順に付けられるシリアル番号である。
サブファンクション199は、表１に示す値をとり、この値によってそのAKEコマンドの持つ意味が定まる。
0003611864.tif 000002
サブファンクション299の内容がメイクレスポンスである場合には、当該AKEコントロールコマンドはコマンドを受信する装置に対する認証のチャレンジを意味する。このときデータ207には、相手の装置を認証するための乱数である認証チャレンジデータが含まれる。このコマンドを受信した装置は、サブファンクション299の内容をベリファイミーにしたAKEコントロールコマンドを返送する。この返送の際にデータ207に格納されるデータは、先程受信したデータ207中の認証チャレンジデータに対して、あらかじめ定められた演算を行った結果である認証レスポンスデータである。この演算に使用される鍵情報は、あらかじめ正規に認定された機器にのみ付与されている鍵であるので、返送されてきた認証レスポンスデータを調べれば、演算を行った機器が正しく認定された機器であるか否かを認証することができる。
サブファンクション299の内容がクリエイトキーインフォである場合には、当該AKEコントロールコマンドは、このコマンドを受信する装置に対する暗号鍵109の要求を意味する。このAKEコントロールコマンドを受け取った装置は、サブファンクション299の内容がリコンストラクトキーであるAKEコントロールコマンドを返送する。この時、データ207には暗号化された暗号鍵109が格納されて返送される。
サブファンクション299の内容がエクスチェンジである場合には、当該AKEコントロールコマンドは、コマンドを送信する機器と受信する機器との間での鍵情報の交換を意味する。この鍵情報はデータ207に格納されて転送され、機器間の間接認証や、機器共有鍵の作成のために使用される。
表１に挙げられている以外のサブファンクションの値は将来における拡張のための予約となっている。チャネル番号204は、送信装置110と受信装置128との間で行うアイソクロノス通信のチャネルの番号を示す。このチャネル番号204は、サブファンクション299の内容がクリエイトキーインフォまたはリコンストラクトキーの時にのみ有効であり、それ以外の場合にはこの値は16進表記でFFとなる。ブロック番号205および総ブロック番号206は、AKEコントロールコマンドでやり取りすべきデータが一つのEKEコマンドで伝送しきれない場合に使用する。すなわちこの場合には、当該データはいくつかのブロックに分割され、複数回に分けて転送される。総ブロック番号206は当該データを分割したブロック個数をあらわし、ブロック番号205は、データ207が幾つ目のブロックのデータであるかを示す。データ長209はデータ207に含まれる有効なデータ長をバイト数で表す。データ207はAKEコントロールコマンドによってやり取りされるデータである。AKEコントロールコマンドを受信した装置はそのAKEコントロールコマンドに対する応答を返す。その際の応答のフォーマットおよび値は、受け取ったAKEコントロールコマンドのフォーマットおよび値と同じであるが、応答にはデータ207が含まれない点だけが唯一異なる。
図４は、送信装置110から受信装置128に対して番号鍵109、126が送信されるまでの間に、両装置間でやり取りされるAV/Cコマンドの具体例を時系列で模式的にあらわした図である。まず、図４に示すAV/Cコマンドのやり取りが始まるまでの両装置の動作を簡単に説明する。
まず初期状態として、暗号化されていないTSPが送信装置110から送信されている状況を想定する。信号源100から出力されるTSPが暗号化手段101に入力される。暗号化手段101は、出力命令105の内容が通常出力であるので、TSPを暗号化せずにそのままソースパケット化手段102へ出力するとともに、暗号化情報910には値０を出力する。ソースパケット化手段102は、受け取ったTSPに４バイトのソースパケットヘッダを付加して、CIPブロック化手段103へ出力する。CIPブロック手段103は、これに８バイトのCIPヘッダ954を付加し、アイソクロノスパケット化手段107に対して、アイソクロノスペイロード952として出力する。この際、CIPヘッダ954に含まれる暗号化情報910には、暗号化手段101から入力した値である０をそのまま格納する。アイソクロノスパケット化手段107は、受け取ったアイソクロノスペイロード952に、アイソクロノスパケットヘッダ900,ヘッダCRC901およびデータCRC903を付加して、アイソクロノスパケットを作成する。このアイソクロノスパケットは、1394パケット入出力手段108によって1394バス111上へ出力される。この際、当該アイソクロノスパケットがAVプロトコル準拠のアイソクロノスパケットであるので、アイソクロノスパケットヘッダ900に含まれるタグ907の値は１となる。
信号源100から出力されるTSPが変化した時、すなわち著作権で保護されていない映像音声情報から著作権で保護されている映像音声情報へと切り替わった時、この変化を検出した鍵生成手段106は、出力命令105を通常出力から空出力へと変化させるとともに、TSPを暗号化するための暗号鍵109を暗号化手段101に渡す。
出力命令105の内容が空出力であるとき、暗号化手段101は、信号源100からTSPを受け取るたびにソースパケット化手段102に対して空信号を出力するとともに暗号化情報910に値１を出力する。暗号化手段101から空信号を受け取ったソースパケット化手段102は、ソースパケットヘッダを付加せずに、受け取った空信号をそのままICPブロック化手段103へと伝達する。CIPブロック化手段103は空信号を受け取ると、CIPヘッダ954だけをアイソクロノスパケット化手段107へ出力する。この時、CIPヘッダ954中の暗号化情報910は、暗号化手段101が出力した値１をそのまま用いる。アイソクロノスパケット化手段107は、CIPブロック化手段103から受け取ったCIPヘッダ954をアイソクロノスペイロード952としてアイソクロノスパケットを作成し、1394パケット入出力手段108へ出力する。この際、当該アイソクロノスパケットはAVプロトコルに準拠しているので、タグ907の値は１となる。1394パケット入出力手段108は受け取ったアイソクロノスパケットを1394バス111上へ出力する。当該アイソクロノスパケットは継続的に出力され、1394バス111上にはCIPヘッダ954のみをアイソクロノスペイロード952に含んだアイソクロノスパケットが継続的に流れるようになる。このアイソクロノスパケットを受信した受信装置128では、1394パケット入出力手段127がタグ907を調べ、AVプロトコルに準拠したアイソクロノスパケットであることを検出した後、当該アイソクロノスパケットをペイロード抽出手段123へ出力する。ペイロード抽出手段123は受け取ったアイソクロノスパケットからアイソクロノスペイロード952を抽出して実データ抽出手段122へ出力する。実データ抽出手段122は、CIPヘッダ954に含まれる暗号化情報910とソースID906とを鍵生成手段125へ出力する。鍵生成手段125は、暗号化情報910を調べて値が１であることを検出したのち、スースID906から当該アイソクロノスパケットを出力しているのが出力装置110であることを知る。しかる後、鍵生成手段125はAV/Cコマンドを用いて暗号鍵109、126を要求する過程、すなわち図４に示した過程へと移る。
図４において、先ずAKEステイタスコマンド300が受信装置128から送信装置110へ送信される。これにより受信装置128は、送信装置110が実行可能な情報交換手順を問い合わせることになる。これに応えて送信装置110はAKEレスポンス301を受信装置128に対して返送する。このAKEレスポンス301には、送信装置110が実行可能な情報交換手順が、アルゴリズム領域201内にビットアサインされており、これによって受信装置128は、送信装置110がどの情報交換手順を実行可能なのかを知ることができる。具体例としては、送信装置110が実行可能な情報交換手順が第２番目のものと第６番目のものの２つであった場合には、AKEレスポンス301内のアルゴリズム領域201は２進表記で0000000000100010となる。
AKEレスポンス301を受信した受信装置128は、送信装置110が実行可能でかつ受信装置128自身も実行可能な情報交換手順の中から、最適な１つの手順を選択し、以降その手順にしたがってAV/Cコマンドをやりとりする。いま仮に受信装置128の側で、実行可能な情報交換手順が第２番目のものと第８番目のものであった場合には、送信装置110および受信装置128の双方で実行可能な情報交換手順は、第２番目のものだけということになり、以降は第２番目の手順を用いて認証および情報の交換が行われることになる。この手順に含まれるAKEコントロールコマンドでは、アルゴリズムIDの値が０で、アルゴリズム領域201の値が16進表記で0000000000000010となる。情報交換手順で指定される手順には、各種AKEコントロールコマンドのやり取りの順番だけでなく、各AKEコントロールコマンドで送られるデータ207のフォーマットや処理方法も規定されている。
第２番目の情報交換手順に従い、鍵生成手段125はメイクレスポンスコマンド302を送信装置110に対して送信する。このメイクレスポンスコマンド302の中のデータ207には、鍵生成手段125で発生させた２つの乱数、RR aとRR bとが暗号化されて含まれているとともに、アルゴリズム領域201には第２番目の手順をあらわす識別情報が含まれている。この暗号化に際して使用する鍵は、正規に認められた送信装置と受信装置とにあらかじめ与えられている共通の秘密鍵である。メイクレスポンスコマンド302を受け取った鍵生成手段106は、受け取ったメイクレスポンスコマンド302のアルゴリズム領域201を調べて、以降は第２番目の手順を用いて認証および情報の交換を行うことを知る。鍵生成手段106は、第２番目の手順を実行可能なのであるから、第２番目の手順に基づいて送信されてくるメイクレスポンスコマンド302のデータ207にはこの秘密鍵で暗号化された２つの乱数が含まれていることを知っている。そこで鍵生成手段106は、この秘密鍵を用いてデータ207からRR aおよびRR bの２つの乱数を取り出したのち、レスポンスを作成することが可能であることを示す応答303を返す。しかるのち鍵生成手段106は、取り出した乱数のうちの一つであるRR aをデータ207に格納して、ベリファイミーコマンド304を受信装置128に対して送信する。これが先程のメイクレスポンスコマンド302にて要求されたレスポンスである。このベリファイミーコマンド304を含め、これ以降、送信装置110と受信装置128との間でやり取りされる各AKEコマンドのアルゴリズム領域201には全て、２番目の手順をあらわす識別情報が含まれる。
ベリファイミーコマンド304を受信した鍵生成手段125は、データ207の内容であるRR aが、自分が先程発生させた乱数RR aと一致することを確かめたのち、ベリファイミーコマンド304に対して、正常にベリファイしたことを示す応答305を返す。これにより、鍵生成手段125は、送信装置110が正規に認められた送信装置であると認証する。
次に送信装置110は、前記メイクレスポンス302以降と同じ手順によって、メイクレスポンスコマンド306およびベリファイミーコマンド308を用いて、受信装置128が正規に認められた受信装置であることを確認する。但しこの際に使用される乱数はRT aおよびRT bであり、ベリファイミーコマンド308で送り返される乱数はRT bである。
この時点で送信装置110および受信装置128の双方は、乱数RR bと乱数RT bとがともにわかっていることになり、また、お互いが正規に認められた装置であることを確認したことになる。鍵生成手段106と鍵生成手段125とは、それぞれ別個に、２番目の手順で定められている共通の演算方法により、RR bとRT bとから一時鍵（図示せず）を生成する。この一時鍵は、送信装置110および受信装置128の両装置のみが共有する共通の鍵である。
次に鍵生成手段125はクリエイトキーインフォコマンド310を送信装置110に対して送信する。この際、クリエイトキーインフォコマンド310のチャネル番号204には、現在受信装置128が受信中のアイソクロノスパケットのチャネル番号が格納される。このクリエイトキーインフォコマンド310を受け取った鍵生成手段106は、TSPの暗号化に用いる暗号鍵109を前記の一時鍵で暗号化したのち、クリエイトキーインフォコマンド310が正常に完了したことを示す応答311を返送する。続いて、鍵生成手段106は、この暗号鍵109を一時鍵で暗号化した結果をデータ207に格納したリコンストラクトキーコマンド312を受信装置128へ送る。鍵生成手段125は一時鍵を用いて、受け取ったリコンストラクトキーコマンド312のデータ207を復号化し、その結果暗号鍵126を得たのち、リコンストラクトキーコマンド312を正常に完了したことをあらわす応答313を返す。暗号鍵109と暗号鍵126とは、同じ一時鍵を用いて暗号化と復号化を行ったので、同じ鍵である。この暗号鍵126は鍵生成手段125から復号化手段121に対して出力される。以上の手順で復号化情報の付与が完了する。
リコンストラクトキーコマンド312を送信した鍵生成手段106は、暗号化手段101に対して暗号化出力を示す出力命令105を出力する。これを受けた暗号化手段101は、信号源100から受け取るTSPを暗号鍵109で暗号化し、ソースパケット化手段102への出力を開始する。これにより、1394バス111上に、暗号鍵109にて暗号化されたTSPをアイソクロノスペイロード952に含むアイソクロノスパケットが送信装置110から送信されるようになる。受信装置128で受信された当該アイソクロノスパケットは、前述したように、復号化手段121において暗号鍵126を用いて復号化され、映像音声化手段120へ出力される。
前記一連のAKEコントロールコマンドにおいて、メイクレスポンスコマンド302とベリファイミーコマンド304,メイクレスポンスコマンド306とベリファイミーコマンド308,およびクリエイトキーインフォコマンド310とリコンストラクトキーコマンド312はそれぞれ同じラベル202を持つ。また、メイクレスポンスコマンド302,ベリファイミーコマンド304,メイクレスポンスコマンド306,ベリファイミーコマンド308,クリエイトキーインフォコマンド310およびリコンストラクトキーコマンド312はそれぞれ1,2,3,4,5,6なる値をステップ番号203に持つ。
送信装置110の出力するアイソクロノスパケットに含まれる実データ部105が、暗号化された実データ105から暗号化されない実データ105へと変化した場合には、復号化手段121は、暗号化情報910の変化を検出して復号化をやめ、実データ抽出手段122から受け取った出力をそのまま映像音声化手段120へと渡すようになる。
また、前記の図４に示した過程が始まった後に、1394バス111にバスリセットが発生した場合には、メイクレスポンスコマンド302以降の手順を最初からやりなおす。
以上のように本実施形態によれば、アイソクロノスパケット内の実データの暗号化状況を示す暗号化情報が実データと一緒に送信装置から送信されることにより、アイソクロノスパケットを受信した受信装置は、アイソクロノスパケット内に含まれる暗号化情報を調べ、実データが暗号化されていることを検出すると、送信装置に対して実データを復号するための暗号鍵を要求し、要求を受けた送信装置はその受信装置に対して暗号鍵を付与するので、送信装置が受信装置に復号のための暗号鍵を付与する際の手順が極めて簡素なデータ転送方法を実現できる。
また以上のように本実施形態によれば、アイソクロノス通信で転送されるアイソクロノスパケットには、実データの暗号化状況を示す暗号化情報と実データとが含まれ、暗号化は実データに対してのみ行ってデータ転送を行うことにより、従来のデータ転送方法との互換性を保ちつつ、かつ従来の受信装置が、暗号化された実データを受信しても誤動作する可能性のないデータ転送方法を実現できる。
また以上のように本実施形態によれば、送信装置の送信している同期データを受信装置が継続的に受信している最中に、同期データの暗号化が始まったとしても、CIPヘッダは暗号化されずにそのまま転送されるので、受信を行っている受信装置が誤動作する可能性のないデータ転送方法を実現できる。
なお、本実施形態においては、暗号鍵による暗号化が一旦開始されれば、全ての転送単位に含まれる実データは暗号化されて送信されるが、全ての転送単位に対して暗号化を行う必要はない。例えば暗号化された転送単位と暗号化されない転送単位とが交互に送信されても、CIPヘッダ中に暗号化情報が含まれているので、受信装置においては復号を正常に行うことが可能であり、同様の効果を得ることが可能である。更にこの場合、暗号化を行う転送単位の割合を受信装置が送信装置に指定しても、得られる効果が変わらないことは言うまでもない。但し、MPEGのソースパケットはその大きさが192バイトであるが、MEPGの高データレート転送（12Mbps以上）を行う際には複数のソースパケットが一つのアイソクロノスペイロードに格納される。このとき、同一のアイソクロノスペイロードの中に、暗号化されたソースパケットと暗号化されないソースパケットとの両方があってはならないことも言うまでもない。
なお、本実施形態においては、暗号鍵による暗号化は実データ部全てに対して行われたが、全ての部分に暗号化を行う必要はない。例えば、実データ部の前半分だけを暗号化したり、実データ部を４等分したうちの最初と３番目の２個所を暗号化して送信しても同様の効果が得られる。この場合は、暗号化を行った場所や割合を示す情報をCIPヘッダに挿入して送信すれば、受信装置側で適切な復号化を行うことが可能である。更に、CIPヘッダには、実データが暗号化されているか否かを示す暗号化情報のみを挿入しておき、CIPヘッダを見て暗号化されていることを検出した受信装置が、実データ部のどの部分がどのくらい暗号化されているかという情報を、エイシンクロナス通信によって送信装置に問い合わせても、同様の効果を得ることが可能である。この場合、暗号化を行う場所や割合を、受信装置が送信装置に対してエイシンクロナス通信を用いて指定しても、同様の効果が得られることは言うまでもない。また、実データ部の中でデータの重要性が高い部分についてのみ暗号化を行うと、暗号化および復号化にかかる負荷が低くなり、しかも十分な暗号化の効果が得られることも言うまでもない。
なお、本実施形態においては、送信装置と受信装置との間で相互の認証が完了するまでは実データを含まないCIPヘッダのみのアイソクロノスパケットを転送したが、CIPヘッダのみのアイソクロノスパケットを出力することなく、最初から暗号化された実データを含むアイソクロノスパケットを出力しても、同様の効果が得られることは言うまでもない。
なお、本実施形態においては、送信装置と受信装置の間でやりとりされるAKEコントロールコマンドの転送手順を相互の調停により決定したが、受信装置が実行可能な手順が一つだけに限られる場合にはこの調停手順をおこなわず、受信装置が実行可能な唯一の手順でコマンドの転送を開始しても同様の効果が得られることは言うまでもない。この場合には、全ての正規に認証された機器が最低限実行可能な基本手順を定めておくことが望ましい。
なお、本実施形態においては、送信装置と受信装置との間で直接認証を行い、秘密鍵による復号化情報の伝送を行ったが、認証および復号化情報の伝達手段はこれに限らない。例えば公開鍵を用いて相互に間接認証および一時鍵の作成を行ない、一時鍵を用いて復号化情報の伝送を行っても構わない。以下、その手順を簡単に説明する。
送信装置および受信装置は、相互の調停で定めた手順により、相互の間接認証に必要となる鍵情報をAKEコントロールコマンドのデータ207に格納して送信しあう。このとき、サブファンクション299はエクスチェンジをあらわす。これにより、送信装置と受信装置は、互いに正規に認証された機器であれば同じ一時鍵を共有することになるので、それ以降は本実施形態と同様の手順で、クリエイトキーインフォコマンドおよびリコンストラクトキーコマンドを用いて復号化情報の伝送を行うことが可能となる。
なお、本実施形態においては、送信装置と受信装置の間でやりとりされるAKEコントロールコマンドの転送手順は相互の調停により決定されたが、送信装置で実行可能な手順の種類があらかじめわかっている場合には、この調停手順をおこなわずに、送信装置の実行可能な手順で受信装置がコマンドの転送を開始しても、同様の効果が得られることは言うまでもない。
なお、本実施形態においては、送信装置と受信装置の間でやりとりされるAKEコントロールコマンドの転送手順を相互の調停により決定したが、転送手順を決定する手段はこれに限らない。すなわち、複数の転送手順の個々について、あらかじめ定められた優先順位がある場合は、受信装置は、自身が実行可能な手順の中で最も優先順位の高い手順を用いて転送を開始し、送信装置がその手順を実行不能な時には、優先順位にしたがって順次次の手順を選択して転送を開始し、送信装置と受信装置の双方が実行可能な手順が見つかったならば、その手順を用いてAKEコントロールコマンドの転送を行っても、同様の効果が得られることは言うまでもない。
なお、本実施形態においては、送信装置が実データ部の復号に用いる復号化情報を暗号化して、受信装置へ転送したが、受信装置が復号化情報を取得するための手段はこれに限らない。すなわち、送信装置が暗号化した復号化情報を転送するのではなく、受信装置が復号化情報を取得するのに十分な情報を送信装置が受信装置に転送し、受信装置がこの情報から間接的に復号化情報を取得してもよい。具体的には、送信装置から受信装置へはハッシュ関数の種だけが転送され、受信装置側では受信した種をもとにハッシュ関数を用いて復号化情報を取得しても同様の効果が得られることは言うまでもない。
なお、本実施形態においては、AKEコマンドのフォーマットの一例を示したが、AKEコマンドのフォーマットはこれに限らない。すなわち、本実施形態で示したAKEコマンドのフォーマットは、本実施形態を実現するための一例にすぎず、これとは異なるフォーマットのコマンドを用いても同様の効果を得ることができることは言うまでもない。
産業上の利用の可能性
以上のように、本発明のデータ転送方法では、同期データ内の実データ部の暗号化状況を示す暗号識別情報が実データ部と一緒に送信されるデータ転送が行われることにより、同期データを受信した受信装置は、同期データ内に含まれる暗号識別情報を調べ、実データ部が暗号化されていることを検出すると、送信装置に対して実データ部を復号するための復号化情報を要求し、この要求を受けた送信装置は受信装置に対して復号化情報を付与するので、送信装置が受信装置に復号のための鍵情報を付与する際の手順が極めて簡素なデータ転送方法を実現できるという優れた効果がある。
また以上のように本発明のデータ転送方法では、同期通信で転送される同期データには実データ部の暗号化状況を示す暗号識別情報と実データ部とが含まれ、暗号化は実データ部に対してのみ行ってデータ転送を行うことにより、従来のデータ転送方法との互換性を保ちつつ、かつ従来の受信装置が暗号化された同期データを受信しても誤動作する可能性の無いデータ転送方法を実現できるという優れた効果がある。
また以上のように本発明のデータ転送方法では、同期通信で転送される同期データには実データ部の暗号化状況を示す暗号識別情報と実データ部とが含まれ、暗号化は実データ部に対してのみ行ってデータ転送を行うことにより、送信装置の送信している同期データを受信装置が継続的に受信している最中に同期データの暗号化が始まったとしても、CIPヘッダは暗号化されずにそのまま転送されるので、受信を行っている受信装置が誤動作する可能性のないデータ転送方法を実現できるという優れた効果がある。
また以上のように本発明のデータ転送方法では、送信装置と受信装置の間でやり取りされる認証情報および復号化情報の授受手順を送信装置と受信装置との間の調停によって選択することにより、将来の拡張性に優れた認証および復号化情報の授受手順を実現することが可能となる。すなわち、将来新しい認証方法や復号化情報が利用可能になった際に、新しい手順を使用できる機器と古い手順しか使用できない機器とが混在しても、新しい機器が古い手順を使用可能であれば、両機器間の調停により最適な手順を選択することが可能になる。すなわち本発明のデータ転送方法では、新しい機器と古い機器とが混在する環境においても、常に最適な手順を選択して実行可能になるという優れた効果がある。
また以上のように本発明のデータ転送方法では、暗号化された実データと暗号化されない実データとの割合を変化させることが可能であるので、暗号化された実データを復号するための高速処理が出来る専用ハードウェアを持たない受信装置でも、ソフトウェアによって復号化が可能になる。すなわち、パソコンのように復号用のハードウェアを持たない機器が受信装置である場合にも、暗号化される実データの割合を低下させ復号化処理を少なくすることにより、処理速度が遅いソフトウェアによる復号が可能になるという優れた効果がある。
また以上のように本発明のデータ転送方法では、送信装置と受信装置が相互に正規の機器であることを認証するまでの間は、実データを含まないアイソクロノスパケットを出力するので、限られたバスの転送帯域を無駄に使用することがなく、また正規に認証されていない機器が実データを受信してしまう可能性が非常に少なくなるという優れた効果がある。
【図１】
0003611864.tif 000003
【図２】
0003611864.tif 000004
【図３Ａ】
0003611864.tif 000005
【図３Ｂ】
0003611864.tif 000006
【図３Ｃ】
0003611864.tif 000007
【図４】
0003611864.tif 000008
【図５】
0003611864.tif 000009
0003611864.tif 000010
0003611864.tif 000011