(57)【要約】本発明は、デジタルネットワークに接続される送信者と受信者において、受信者により受信されたデータが信頼される第三者により権限を与えられた送信者により送信されたものであるかチェックすることが可能な方法に関する。識別子（ＩｄＥｖｅｎｔ）が送信者により送信されたデータと関連付けされ、受信者によるデータの受信により、受信者は、乱数（Ｃ）を生成し、ネットワーク上に配信する。乱数を受信した送信者は、乱数（Ｃ）と識別子（ＩｄＥｖｅｎｔ）に第１関数を適用することによりレスポンス（Ｒ）を計算し、レスポンス（Ｒ）、乱数（Ｃ）及び識別子（ＩｄＥｖｅｎｔ）に第２関数（Ｈ）を適用することにより受信したレスポンスを検証する受信者にレスポンスを送信する。まず第１関数（Ｇ）が信頼される第三者により送信者に送信され、第２関数（Ｈ）が信頼される第三者により受信者に送信された第１関数の結果をチェックする関数である。
2005522947.tif 000002
【特許請求の範囲】
【請求項１】
デジタルネットワークに接続される送信者（１，３）と受信者（２）において、前記受信者により受信されるデータが信頼される第三者により権限を与えられた前記送信者により送信されたものであるということを検証する方法であって、前記送信者により送信されたデータに識別子（ＩｄＥｖｅｎｔ）が関連付けされ、該方法は、前記受信者に対し、
（ａ）乱数（Ｃ）を生成するステップと、
（ｂ）前記ネットワーク上に前記乱数を配信するステップと、
（ｃ）前記乱数（Ｃ）と前記識別子（ＩｄＥｖｅｎｔ）に第１関数（Ｇ）を適用することにより計算されるレスポンス（Ｒ）を前記送信者から受信するステップと、
（ｄ）前記受信したレスポンス（Ｒ）、前記乱数（Ｃ）及び前記識別子（ＩｄＥｖｅｎｔ）に第２関数（Ｈ）を適用することにより前記受信したレスポンス（Ｒ）を検証するステップとからなり、前記第１関数（Ｇ）は前記信頼される第三者により前記送信者に以前に送信され、前記第２関数（Ｈ）は前記信頼される第三者により前記受信者に以前に送信され、前記第１関数の結果を検証する関数であることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、前記ステップ（ｂ）は、前記乱数（Ｃ）を前記送信者に送信することからなるステップと置き換えられることを特徴とする方法。
【請求項３】
請求項１記載の方法であって、前記受信者はまた、前記ステップ（ｂ）において前記識別子（ＩｄＥｖｅｎｔ）を送信することを特徴とする方法。
【請求項４】
請求項１乃至３何れか一項記載の方法であって、前記受信者は、前記ステップ（ｃ）において受信したレスポンス（Ｒ）が正しくない場合、あるいは前記乱数（Ｃ）の送信から所定時間経過した後でもレスポンスが受信されない場合、前記データへのアクセスを許可しないことを特徴とする方法。
【請求項５】
デジタルネットワークに接続される送信者（１，３）と受信者（２）において、前記受信者に送信されたデータが信頼される第三者により権限を与えられた前記送信者により送信されたものであることを証明する方法であって、前記送信者により送信されたデータに識別子（ＩｄＥｖｅｎｔ）が関連付けされ、該方法は、前記送信者に対し、
（ａ）前記受信者から乱数（Ｃ）を受信するステップと、
（ｂ）前記乱数（Ｃ）と前記識別子（ＩｄＥｖｅｎｔ）に第１関数を適用することによりレスポンス（Ｒ）を計算するステップと、
（ｃ）前記レスポンス（Ｒ）を前記受信者に送信するステップとからなり、前記レスポンスは、前記受信したレスポンス（Ｒ）、前記乱数（Ｃ）及び前記識別子（ＩｄＥｖｅｎｔ）に第２関数（Ｈ）を適用することにより前記受信者によって検証される可能性があり、前記第１関数（Ｇ）は前記信頼される第三者により前記送信者に以前に送信され、前記第２関数（Ｈ）は前記信頼される第三者により前記受信者に以前に送信され、前記第１関数の結果を検証する関数であることを特徴とする方法。
【請求項６】
請求項５記載の方法であって、前記送信者はまた、前記ステップ（ａ）において、前記受信者により受信されるデータに関連付けされる識別子（ＩｄＥｖｅｎｔ）を受信し、前記ステップ（ｂ）及び（ｃ）は、前記ステップ（ａ）において受信された識別子が前記送信者により送信されたデータと関連付けされた識別子と一致しない場合、実行されないことを特徴とする方法。
【請求項７】
請求項１乃至６何れか一項記載の方法であって、前記送信者により送信されたデータに関連付けされる識別子は、前記ネットワークの前記データの初期的送信者により生成され、前記初期的送信者により前記データに添付された乱数であることを特徴とする方法。
【請求項８】
請求項１乃至７何れか一項記載の方法であって、前記第１関数（Ｇ）は、秘密鍵を利用する公開関数であることを特徴とする方法。
【請求項９】
請求項８記載の方法であって、前記第２関数（Ｈ）は、
前記乱数（Ｃ）と前記識別子（ＩｄＥｖｅｎｔ）に前記秘密鍵による前記第１関数（Ｇ）を適用することにより期待されるレスポンスを計算し、
前記期待されるレスポンスと前記受信したレスポンスが異なる場合には「０」を送信し、前記期待されるレスポンスと前記受信したレスポンスが等しい場合には「１」を送信するため、前記期待されるレスポンスと前記受信したレスポンスを比較するブール関数であることを特徴とする方法。
【請求項１０】
請求項１乃至７何れか一項記載の方法であって、前記第１関数（Ｇ）は秘密関数であることを特徴とする方法。
【請求項１１】
請求項１０記載の方法であって、前記第２関数（Ｈ）は、
前記乱数（Ｃ）と前記識別子（ＩｄＥｖｅｎｔ）に前記第１関数（Ｇ）を適用することにより期待されるレスポンスを計算し、
前記期待されるレスポンスと前記受信したレスポンスが異なる場合には「０」を送信し、前記期待されるレスポンスと前記受信したレスポンスが等しい場合には「１」を送信するため、前記期待されるレスポンスと前記受信したレスポンスを比較するブール関数であることを特徴とする方法。
【請求項１２】
請求項１乃至７何れか一項記載の方法であって、前記第１関数（Ｇ）は、秘密鍵を利用した署名生成のための公開関数であることを特徴とする方法。
【請求項１３】
請求項１２記載の方法であって、前記第２関数（Ｈ）は、前記第１関数により利用される秘密鍵に対応する公開鍵を利用した署名生成のための公開関数であることを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の属する技術分野］
本発明は、各種装置をリンクさせたネットワーク上での安全なデータ交換及びネットワークを介し送信されるデータのデータソースの認証に関する。
［背景技術］
ある場合には、データ受信装置は、データまたは媒介装置により中継される可能性のあるデータを送信した送信者が、信頼される第三者によりデータ送信を行う権限を与えられているということをデータ受信者に送信者の身元を知らせることなく確認する必要がある。
［発明の概要］
本発明の１つの目的は、データの送信者が信頼される第三者によりデータ送信を行う権限が与えられているということをデータの受信者に送信者の身元を明かすことなく証明することができる方法を提案することである。
【０００２】
従って、本発明は、デジタルネットワークに接続された送信者と受信者間において、受信者によって受信されたデータが信頼される第三者により権限を与えられた送信者により送信されたものであるということを確認する方法に関する。本発明によると、送信者から送信されるデータに識別子が関連付けされ、本発明による方法は、受信者に対して、
（ａ）乱数を生成するステップと、
（ｂ）前記乱数をネットワークを介し配信するステップと、
（ｃ）第１関数を前記乱数と前記識別子に適用することにより計算される応答を前記送信者から受信するステップと、
（ｄ）第２関数を前記受信した応答、前記乱数及び前記識別子に適用することにより前記受信した応答を確認するステップとからなり、前記第１関数は信頼される第三者により前記送信者に以前に送られ、前記第２関数は前記第三者により前記受信者に以前に送られ、前記第１関数の結果を確認するための関数であることを特徴とする。
【０００３】
前記送信者は、前記ネットワークの前記データの初期的送信者であってもよいし、あるいは前記初期的送信者と受信者との間において、例えば、前記初期的送信者により送信されたデータを格納する媒介装置であってもよい。
【０００４】
本発明の一変形によると、前記ステップ（ｂ）は、前記乱数を前記送信者に送信するステップにより置き換えられる。
【０００５】
本発明の一実施例によると、前記受信者は、前記ステップ（ｃ）で受信した応答が正しくない場合、あるいは前記乱数の送信から所定時間経過した後も応答が受信されない場合、前記データへのアクセスを禁止する。
【０００６】
前記送信者により送信されるデータに関連付けされる識別子は、好ましくは、前記ネットワークのデータの初期的送信者により生成され、前記初期的送信者により前記データに添付される乱数である。当然のことながら、前記識別子は、前記送信者の身元に関する情報を与えるものでない。
【０００７】
本発明はまた、デジタルネットワークに接続される送信者と受信者間において、前記受信者に送信されたデータが信頼される第三者により権限を与えられた前記送信者により送信されたものであるということを証明する方法に関する。本発明の前記特徴によると、識別子が前記送信者により送信されるデータに関連付けされ、本発明による方法は、前記送信者に対して、
（ａ）前記受信者から乱数を受信するステップと、
（ｂ）第１関数を前記乱数と前記識別子に適用することにより応答を計算するステップと、
（ｃ）前記応答を前記受信者に送信するステップとからなることを特徴とする。
【０００８】
前記応答は、第２関数を前記受信した応答、前記乱数及び前記識別子に適用することにより前記受信者によりおそらく確認され、前記第１関数は信頼される第三者により前記送信者に以前に送られ、前記第２関数は前記信頼される第三者により前記受信者に以前に送られ、前記第１関数の結果を確認するための関数である。
【０００９】
本発明の原理によると、信頼される第三者が、ネットワークの初期的あるいは媒介送信者となりうるすべての装置に、上記方法における応答の計算に使用される第１関数を送信する。信頼される第三者はまた、前記ネットワークの受信者となるうるすべての装置に、前記第１関数を利用して計算された応答を確認するための第２関数を送信する。
［発明の実施例の詳細な説明］
上記説明された本発明の原理に基づき、いくつかのシナリオが可能である。
【００１０】
第１のシナリオによると、アリスと呼ばれる第１送信者とチャーリーと呼ばれる第２送信者が、ボブと呼ばれる受信者が接続されるネットワークを介してそれぞれＭＡとＭＣと呼ばれるメッセージを送信する。アリスは、メッセージＭＡと共にメッセージＭＡを特定する識別子ＩｄＥｖｅｎｔＡを送信し、チャーリーは、メッセージＭＣと共にメッセージＭＣを特定する識別子ＩｄＥｖｅｎｔＣを送信する。
【００１１】
ネットワークに共に接続されたアリスとチャーリーは、当該ネットワークの各自の他方の送信者により送信されるメッセージＭＣとＭＡをそれぞれ受信するが、これらのメッセージを保持はしない。ボブはまた、これら２つのメッセージを受信し、メッセージＭＡのみを保持することを所望していると仮定する。ＭＡが信頼される第三者により権限を与えられた送信元から送られてきたものであるということを確認するため、ボブは以下の方法によりチャレンジ/レスポンス（ｃｈａｌｌｅｎｇｅ/ｒｅｓｐｏｎｓｅ）プロトコルを開始する。ボブは、乱数Ｃ（チャレンジ）を生成し、ネットワーク上に配信する。アリスとチャーリーは共にこのチャレンジＣを受信する。
【００１２】
これより以前に、信頼される第三者はアリスとチャーリーにレスポンス計算関数Ｇを送信し、ボブに対応するレスポンス検証関数Ｈを送信している。この関数Ｈは、レスポンスが正しくない場合には０を返し、レスポンスが正しい場合には１を返す。
【００１３】
アリスとチャーリーがボブにより送信されたチャレンジＣを受信すると、アリスとチャーリーはそれぞれのレスポンスＲＡとＲＣを以下のように、すなわち、
アリス：ＲＡ＝Ｇ（ＩｄＥｖｅｎｔＡ，Ｃ）；
チャーリー：ＲＣ＝Ｇ（ＩｄＥｖｅｎｔＣ，Ｃ）；
として計算し、その後、レスポンスＲＡとＲＣをそれぞれボブに送信する。
【００１４】
その後、ボブは、Ｈ（Ｃ，ＲＸ，ＩｄＥｖｅｎｔＸ）（ただしＸ＝Ａ，Ｃ）を計算することにより各レスポンスを検証する。関数Ｈにより返される結果のすべてがゼロである場合、ボブは、安全な送信元から送信されたものでないとみなし、メッセージＭＡを保持しない。他方、Ｈにより返される結果の少なくとも１つが１である場合（この例で、それはＨ（Ｃ，ＲＡ，ＩｄＥｖｅｎｔＡ）となるであろう）、ボブは、メッセージＭＡが信頼される第三者により権限を与えられた送信者から送られたものであると確信し、それを受け付ける。
【００１５】
第２のシナリオによると、送信者であるアリスは、識別子ＩｄＥｖｅｎｔＡと共にメッセージＭＡを、受信者であるボブとデボラと呼ばれる媒介者が接続されるネットワーク上に配信する。初期的には、ボブはメッセージＭＡに関心はなく、それを保持しないと仮定される。しかしながら、デボラは、メッセージＭＡとそれの識別子ＩｄＥｖｅｎｔＡを保持する。
【００１６】
以降において、アリスがもはやメッセージを配信しなくなると、デボラは保持しているメッセージＭＡとそれの識別子ＩｄＥｖｅｎｔＡをネットワーク上に配信する。アリスは、単なる送信者であり、ＭＡを保持していない。ボブは、ＭＡを受信し、それの保持を所望する。メッセージＭＡが信頼される第三者により権限を与えられた送信元から送信されたものであるということを保証するため、ボブは、以下の方法でチャレンジ/レスポンスプロトコルを開始する。ボブは、乱数Ｃ（チャレンジ）を生成し、ネットワーク上に配信する。
【００１７】
これより以前に、信頼される第三者はアリスとデボラにレスポンス計算関数Ｇを送信し、ボブに対応するレスポンス検証関数Ｈを送信している。この関数Ｈは、レスポンスが正しくない場合には０を返し、レスポンスが正しい場合には１を返す。
【００１８】
アリスとデボラは、チャレンジＣを受信する。アリスはメッセージを送信していないため、チャレンジＣを考慮することはない。しかしながら、デボラはレスポンスＲＤ＝Ｇ（ＩｄＥｖｅｎｔＡ，Ｃ）を計算し、このレスポンスをボブに送信する。その後、ボブは、Ｈ（Ｃ，ＲＤ，ＩｄＥｖｅｎｔＡ）を計算することによりこのレスポンスを検証する。関数Ｈが１を返す場合、ボブはメッセージＭＡが権限を与えられた送信元から送信されたものとみなし、それを受け付ける。
【００１９】
ここで、上記２つのシナリオでは、受信者ボブは、メッセージの送信元に応答することが可能ではあるが、受信したメッセージが送信者（アリスのような）から送信されたものであるのか、あるいは媒介装置（デボラのような）から送信されたものであるのか知らず、結局ボブはメッセージＭＡの送信者の身元を知らない。
【００２０】
図１を参照して、本発明のより具体的な実施例が説明される。図１において、ＳＴＢ（セットトップボックス）デコーダ１、ＤＴＶ（デジタルテレビ）受信機２及びＳＵ（記憶ユニット）３が表されている。
【００２１】
このネットワークを介して配信されるデータは、ＩＳＯ／ＩＥＣ１３８１８−１規格「情報技術−動画及び関連する音声情報の汎用的符号化：システム」に規定されるようなデータトランスポートストリームで搬送される音声映像ビットストリームからなるオーディオビジュアルプログラムを表していると仮定される。
【００２２】
デコーダ１は、ネットワークを介したデータの送信者を表し、例えば、衛星アンテナやケーブル接続から受信するデータを送信する。デジタルテレビ２は、ネットワークを介したデータの受信者を表す。記憶ユニット３は、ネットワークの他の送信機から受信したデータをネットワークを介して再送することが可能な媒介装置を表す。
【００２３】
これら３つの装置は、例えば、ＩＥＥＥ１３９４規格に従うデジタルバス４に接続され、従ってデジタルホームネットワークを形成している。ネットワークを介し送信されるメッセージは、バス４の同期チャンネルを介し送信され、アドレス指定されたメッセージはバス４の非同期チャンネルを介し送信される。
【００２４】
チャレンジ/レスポンスプロトコルに対するレスポンスを計算する関数Ｇをネットワークの送信者あるいは媒介装置（本例では、デコーダ１と記憶ユニット３）に送信し、レスポンス検証関数Ｈをネットワークの受信装置（本例では、デジタルテレビ２）に送信する信頼される第三者は、例えば、これら装置の製造業者である。
【００２５】
関数ＧとＨの選択に関して、３つの実施例が考えられる。
【００２６】
第１の好適な実施例によると、関数Ｇは、チャレンジＣ及び識別子ＩｄＥｖｅｎｔ（すなわち、Ｒ＝ＧＫ（Ｃ，ＩｄＥｖｅｎｔ））に基づきレスポンスＲを計算するため、秘密鍵Ｋを使用する公開関数である。送信者あるいは媒介装置が準拠した装置であり、信頼され第三者により権限を与えられていることを保証するため、秘密鍵Ｋはこれらの装置の以降におけるアクセスが許可されていない安全な記憶領域（例えば、安全なプロセッサでは、特にスマートカードに含まれる）に挿入されている。
【００２７】
この場合、関数Ｈは、秘密鍵Ｋによる関数Ｇを適用することにより、チャレンジＣと識別子ＩｄＥｖｅｎｔに基づきレスポンスＲ’を計算し、結果Ｒ’と受信したレスポンスＲを比較する関数である。Ｈはブール関数であり、Ｒ’とＲが異なる場合には「０」を返し、Ｒ’とＲが一致する場合には「１」を返す。この場合、秘密鍵Ｋはまた、信頼される第三者により受信装置に以前に挿入されていなければならない。
【００２８】
上記定義に対応する関数Ｇは、特に、以下のインターネットアドレス「http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf」で入手可能な「ＦＩＰＳ１９７：アドバンス暗号化規格（ＡＥＳ）仕様書―２００１年１１月２６日」に記載されているＡＥＳ関数のような暗号化関数であってもよい。また、関数Ｇは、特に、以下のインターネットアドレス「http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf」で入手可能な「ＦＩＰＳ刊行物１９８：鍵付きハッシュメッセージ認証コード（ＨＭＡＣ）、ナショナルインスティテュートオブスタンダードアンドテクノロジー、２００１」に記載されるＨＭＡＣ−ＳＨＡ１関数のようなハッシュ関数であってもよい。
【００２９】
第２実施例では、関数Ｇは、準拠しているとみなされる送信者あるいは媒介装置に送信され、信頼される第三者により権限を与えられている秘密関数である。好ましくは、関数Ｇは、それを有する製品を解析することによる検出を困難にするよう選ばれなければならない。さらに、関数Ｇは、適応的に選択される平文攻撃に抵抗力を有するものである必要がある。
【００３０】
第１実施例と同様に、この場合、関数Ｈは、秘密関数Ｇを適用することにより、チャレンジＣと識別子ＩｄＥｖｅｎｔに基づきレスポンスＲ’を計算し、結果Ｒ’と受信したレスポンスＲを比較し、Ｒ’とＲが異なる場合には「０」を返し、Ｒ’とＲが一致する場合には「１」を返すブール関数である。従って、本実施例では、秘密関数Ｇは、信頼される第三者により受信装置に以前に挿入されている必要がある。
【００３１】
第３実施例では、関数Ｇ及びＨは、非対称鍵のペア（秘密鍵/公開鍵）を利用した公開関数である。例えば、関数Ｇは、秘密鍵により署名を生成する関数であり、関数Ｇは、対応する公開鍵により署名を検証する関数である。
【００３２】
例えば、ＲＳＡ（Ｒｉｖｅｓｔ、Ｓｈａｍｉｒ及びＡｄｌｅｍａｎ）署名関数は以下のように、すなわち、
Ｒ＝Ｇ（Ｃ，ＩｄＥｖｅｎｔ）＝ＲＳＡＳｉｇｎＫＰＲＩ（Ｃ，ＩｄＥｖｅｎｔ）；
Ｈ（Ｃ，Ｒ，ＩｄＥｖｅｎｔ）＝ＲＳＡＶｅｒｉｆＫＰＵＢ（Ｃ，Ｒ，ＩｄＥｖｅｎｔ）；
（ただし、ＫＰＲＩ及びＫＰＵＢは、秘密鍵と公開鍵であり、ＲＳＡ鍵の同一のペアである）のように利用される。
【００３３】
この場合、秘密鍵は、信頼される第三者によりネットワークの送信者あるいは媒介装置に挿入され、公開鍵は、ネットワークの受信装置に挿入される。
【００３４】
ここで、第１実施例では、関数ＧはＨＭＡＣ−ＳＨＡ１関数であり、秘密鍵ＫはデコーダＳＴＢ１、デジタルテレビ受信機ＤＴＶ２及び記憶ユニットＳＵ３の不揮発性記憶領域に含まれると仮定される。
［第１のシナリオ：ＳＴＢによるプログラムのＤＴＶへの直接的な送信］
図２に示されるように、デコーダＳＴＢ１のユーザが新たなプログラムをネットワークに配信するため選ぶと、ＳＴＢは、好ましくは１２８ビットからなるプログラム識別子ＩｄＥｖｅｎｔをランダムに生成し（ステップ２０）、この識別子を当該プログラムを表すデータを搬送するパケットに含まれるメッセージに挿入する。その後、データトランスポートストリームは、ステップ２１においてネットワーク上（バス４の同期チャンネル上）に配信される。データトランスポートストリームは、最終的にこの識別子ＩｄＥｖｅｎｔを抽出するため、受信したデータパケットから識別子を含むメッセージを抽出するデジタルテレビＤＴＶ２により受け取られる（ステップ２２）。
【００３５】
その後、ステップ２３において、ＤＴＶは、好ましくは１２８ビットの乱数からなるチャレンジＣを生成し、ステップ２４において、このチャレンジＣをネットワーク上に配信する。ＳＴＢがチャレンジＣを受信すると、ステップ２５においてレスポンスを以下のように、すなわち、
Ｒ＝Ｇ（Ｃ，ＩｄＥｖｅｎｔ）あるいはより正確には、：
ＲＳＴＢ＝ＨＭＡＣ−ＳＨＡ１Ｋ（Ｃ，ＩｄＥｖｅｎｔ）
のように計算し、バス４の非同期チャンネルを介しＤＴＶにこのレスポンスをアドレス指定する（ステップ２６）。
【００３６】
記憶ユニットＳＵ３はまた、チャレンジＣを受信するが、それはデータ送信プロセスにはないため、応答しない。
【００３７】
ＤＴＶがＳＴＢからレスポンスＲ＝ＲＳＴＢを受け取ると、関数Ｈ（Ｒ，Ｃ，ＩｄＥｖｅｎｔ）を適用して、ＲＤＴＶ＝ＨＭＡＣ−ＳＨＡ１Ｋ（Ｃ，ＩｄＥｖｅｎｔ）を計算し、この結果を受信したレスポンスＲＳＴＢと比較することを意味するレスポンスＲを検証する（ステップ２７）。これら２つの値が同一である場合、ＤＴＶは、受信したプログラムが信頼される第三者により権限が与えられている送信者から送信されたものであるとみなし、ユーザに提供することができる。そうでない場合には、ＤＴＶは受信したプログラムをユーザに表示しない。チャレンジＣがネットワーク上に送信されてから所定期間経過した後でもレスポンスを受信しできない場合、ＤＴＶはまた、受信したプログラムの表示をブロックする。
【００３８】
プロトコルの終了時、チャレンジＣと識別子ＩｄＥｖｅｎｔはＳＴＢとＤＴＶのメモリから消去される。
［第２のシナリオ：ＤＴＶに以降に送信するＳＵにより保持されるプログラムのＳＴＢによる送信］
このシナリオは図３により示される。
【００３９】
初期的に、ＳＴＢのユーザは新たなプログラムを選択すると仮定される。その後、ＳＴＢは、前述の第１のシナリオと同様に、識別子ＩｄＥｖｅｎｔを生成し（ステップ３０）、ネットワーク上へのデータトランスポートストリームの配信前に、当該プログラムを表すデータトランスポートパケットに含まれるメッセージにこの識別子を挿入する（ステップ３１）。
【００４０】
その後、ＳＵは、当該プログラムを表すデータストリームを保持する。例えば、ユーザは、デコーダにより配信されたプログラムをすぐには閲覧しないことを選び、以降に再生するためそれを保持することを所望する。
【００４１】
次に、ユーザが記憶されているプログラムの再生を所望する。ＳＵは、ステップ３２において、ネットワーク上に当該プログラムを配信する。ＤＴＶは、このデータパケットを受信し、ステップ３３において、このデータパケットから識別子ＩｄＥｖｅｎｔを含むメッセージを抽出する。
【００４２】
その後、ＤＴＶは、第１のシナリオと同様に、チャレンジＣを生成し（ステップ３４）、ネットワーク上に配信する（ステップ３５、３５’）。
【００４３】
ＳＵは、このチャレンジＣを受信し、ステップ３６において以下のように、すなわち、
Ｒ＝Ｇ（Ｃ，ＩｄＥｖｅｎｔ）あるいはより正確には、：
ＲＳＵ＝ＨＭＡＣ−ＳＨＡ１Ｋ（Ｃ，ＩｄＥｖｅｎｔ）
のように計算し、バス４の非同期チャンネルを介しＤＴＶにこのレスポンスをアドレス指定する（ステップ３７）。
【００４４】
データ配信プロセスにないＳＴＢは、受信したチャレンジＣに対して応答しない。
【００４５】
ＤＴＶがＳＵからレスポンスＲ＝ＲＳＵを受信すると、関数Ｈを適用して、ＲＤＴＶ＝ＨＭＡＣ−ＳＨＡ１Ｋ（Ｃ，ＩｄＥｖｅｎｔ）を計算し、この結果を受信したレスポンスＲＳＵと比較することに関するレスポンスＲを検証する（ステップ３８）。これら２つの値が同一である場合、ＤＴＶは、受信したプログラムが信頼される第三者により権限が与えられている送信者から送信されたものであるとみなし、ユーザに提供することができる。そうでない場合、あるいはチャレンジＣがＤＴＶにより送信されてから所定期間経過してもレスポンスが受信されなかった場合には、ＤＴＶは受信したプログラムをユーザに表示しない。
【００４６】
ここで、ＳＴＢが初期的にプログラムの送信を完了すると、その後メモリから識別子ＩｄＥｖｅｎｔは消去される。
【００４７】
プロトコルの終了時、チャレンジＣと識別子ＩｄＥｖｅｎｔはまたＳＵとＤＴＶのメモリから消去される。
【００４８】
本発明の変形例では、特に上述の２つのシナリオでは、ＤＴＶにより計算されたチャレンジＣをネットワーク上に配信するステップをチャレンジＣをデータの送信者（第１シナリオではＳＴＢ、第２シナリオではＳＵ）に送信するステップと置き換えることが可能である。この場合、データ送信者のみがチャレンジＣを受信する。具体的には、既存のデジタルネットワーク管理プロトコルにより、データの受信者はデータソースの身元を知ることなく応答することが可能となる。
【００４９】
他の変形例では、データの受信者は、チャレンジＣに加えて、受信したデータに関連付けされている識別子をネットワーク上に配信する（例えば、図２のステップ２４、あるいは図３のステップ３５、３５’において）。チャレンジＣと識別子ＩｄＥｖｅｎｔを受信した各送信ネットワーク装置は、受信した識別子ＩｄＥｖｅｎｔとデータを配信するのに生成したものとを比較することによりこのチャレンジに応答すべきか検証する。送信者は、チャレンジと共に受信した識別子がそれの現在の識別子ＩｄＥｖｅｎｔに一致する場合にのみ応答する。これにより、チャレンジＣが受信者により送信されるとき、ネットワークにデータを配信しているすべての送信者が応答するのを回避することができる。
【００５０】
本発明は、特に以下の効果を有する。
【００５１】
複数の送信者あるいは媒介装置がネットワークに接続されていても、信頼される第三者により権限を与えられ、データを送信したもののみが、データの受信者によるチャレンジ/レスポンスプロトコルに応答することができる。
【００５２】
プロトコルは、送信者に関する情報を受信者に明らかにしない。これにより、送信装置の匿名認証という目的が達成される。
【００５３】
プロトコルはアプリケーションレイヤにのみ基づくものであり、データトランスポートレイヤに関する特別な特徴を必要としない。
【図面の簡単な説明】
【００５４】
【図１】図１は、本発明が実施されるドメスティックなデジタルネットワークを表す。
【図２】図２は、本発明の一実施例を示す。
【図３】図３は、本発明の他の実施例を示す。
【図１】
2005522947.tif 000003
【図２】
2005522947.tif 000004
【図３】
2005522947.tif 000005
【国際調査報告】
2005522947.tif 000006
2005522947.tif 000007
2005522947.tif 000008
2005522947.tif 000009
2005522947.tif 000010
2005522947.tif 000011