(57)【特許請求の範囲】
【請求項１】
複数のステップ（Ｅi）から構成されたプロセスを検証するためのトレーサビリティデバイス（６）によって実施されるトレース方法であって、
・前記プロセスの少なくとも１つのステップ（Ｅi）における、
・マーキングデバイス（７i）によって送信されたマーキングメッセージ（Ｍ２）を受信するステップ（Ｓ３）と、
・ハッシュ関数（Ｈ）を用いることによって、前記マーキングメッセージ（Ｍ２）および以前の指紋（Ｆｉｎｇｅｒｐｒｉｎｔn-1）に基づいて新たな指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を決定するステップ（Ｓ５）と、
・直前に決定された新たな指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を含む検証メッセージ（Ｍ３）を検証デバイス（４）へと送信するステップと、を備え、
前記プロセスの前記少なくとも１つのステップ（Ｅi）において、非対称署名関数（Ｓ）と前記トレーサビリティデバイス（６）の公開鍵（Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）に関連付けられた前記トレーサビリティデバイス（６）の秘密鍵（Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔ）とを用いることによって、前記マーキングメッセージ（Ｍ２）に基づいてオブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏn）を決定するステップ（Ｓ４）を備え、新たな指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を決定する前記ステップが、前記オブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏn）に基づいて前記新たな指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を決定することを含んでいることを特徴とする、トレース方法。
【請求項２】
前記マーキングメッセージ（Ｍ２）は、ステップ公開鍵（Ｐｕｂｌｉｃ＿Ｅi）と認証エンティティ（３）によって実施された前記ステップ公開鍵の署名（Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi））とを備え、当該方法は、前記ステップ公開鍵と前記ステップ公開鍵の前記署名とを格納するステップ（Ｓ３）を含み、前記検証メッセージ（Ｍ３）は、格納された前記ステップ公開鍵と前記ステップ公開鍵の前記署名とを含む、請求項１に記載のトレース方法。
【請求項３】
前記プロセスの少なくとも１つのステップ（Ｅi）において、トレース方法が、直前に決定された新たな指紋の少なくとも１つの部分（Ｔn-1）を含む情報メッセージ（Ｍ１）を前記マーキングデバイス（７i）へと送信するステップ（Ｓ１）を備え、
前記マーキングデバイスが、非対称署名関数（Ｓ）と前記マーキングデバイスの公開鍵（Ｐｕｂｌｉｃ＿Ｅi）に関連付けられた前記マーキングデバイスの秘密鍵（Ｐｒｉｖａｔｅ＿Ｅi）とを用いることによって、前記部分に基づいてステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅn）を決定することに適しており、
前記ステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅn）に基づいて前記オブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏn）が決定される、請求項１または２に記載のトレース方法。
【請求項４】
前記トレーサビリティデバイスの前記秘密鍵（Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔ）とは無関係に、最初の指紋（Ｆｉｎｇｅｒｐｒｉｎｔ0）を決定することを含む初期化ステップを有する、請求項１〜３の何れか１項に記載のトレース方法。
【請求項５】
複数のステップ（Ｅi）から構成されたプロセスを検証するための検証デバイス（４）によって実施される検証方法であって、
・トレーサビリティデバイス（６）によって決定された指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を含み、前記トレーサビリティデバイス（６）によって送信された検証メッセージ（Ｍ３）を受信するステップ（Ｓ１０）と、
・理論的指紋（Ｆｉｎｇｅｒｐｒｉｎｔnth）を決定するステップ（Ｓ１２，Ｓ１６，Ｓ１７，Ｓ１８）と、
・前記トレーサビリティデバイスによって決定された前記指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）と、前記理論的指紋（Ｆｉｎｇｅｒｐｒｉｎｔnth）とを比較するステップ（Ｓ１９）と、を備え、
前記検証メッセージ（Ｍ３）は、前記プロセスの少なくとも１つのステップ（Ｅi）についてのオブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏm）を備え、
当該検証方法は、前記トレーサビリティデバイス（６）の公開鍵（Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）に基づいて前記オブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏm）の真正性を検証するステップ（Ｓ１５）を含み、
理論的指紋を決定する前記ステップは、前記オブジェクト署名が真正である場合には、以前の理論的指紋（Ｆｉｎｇｅｒｐｒｉｎｔm-1th）および前記オブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏm）に基づいて新たな現在の理論的指紋（Ｆｉｎｇｅｒｐｒｉｎｔmth）を決定することを含むことを特徴とする、検証方法。
【請求項６】
前記検証メッセージ（Ｍ３）は、マーキングデバイス（７i）に関連付けられたステップ公開鍵（Ｐｕｂｌｉｃ＿Ｅi）およびステップ公開鍵の署名（Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi））を含み、当該検証方法は、前記ステップ公開鍵（Ｐｕｂｌｉｃ＿Ｅi）の真正性を検証するステップ（Ｓ１３）を含む、請求項５に記載の検証方法。
【請求項７】
前記検証メッセージ（Ｍ３）は、前記プロセスの少なくとも１つのステップ（Ｅi）についてのステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅm）を含み、
当該検証方法は、前記ステップ公開鍵（Ｐｕｂｌｉｃ＿Ｅi）に少なくとも基づいて前記ステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅm）の真正性を検証するステップ（Ｓ１４）を含み、
前記ステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅm）に基づいて、前記オブジェクト署名（Ｓｉｇｎａｔｕｒｅ＿Ｏm）の真正性を検証するステップが実施される、請求項６に記載の検証方法。
【請求項８】
前記検証メッセージ（Ｍ３）は、前記プロセスの少なくとも１つのステップ（Ｅi）についてのステップデータ（ＤＡＴＡn）を含み、前記ステップデータに基づいて、前記ステップ署名の真正性を検証する前記ステップ（Ｓ１４）が実施される、請求項７に記載の検証方法。
【請求項９】
前記検証メッセージは、前記トレーサビリティデバイスの前記公開鍵（Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）と認証機関（３）によって提供された前記トレーサビリティデバイスの前記公開鍵の署名（Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ））とを含み、当該検証方法は、前記トレーサビリティデバイスの前記公開鍵の真正性を検証するステップ（Ｓ１１）を含む、請求項５〜８の何れか１項に記載の検証方法。
【請求項１０】
前記トレーサビリティデバイスの秘密鍵とは無関係に、最初の指紋（Ｆｉｎｇｅｒｐｒｉｎｔ0）を決定することを含む初期化ステップを有する、請求項５〜９の何れか１項に記載の検証方法。
【請求項１１】
複数のステップにより構成されたプロセスにおける一ステップ（Ｅi）に関連付けられたマーキングデバイス（７i）によって実施されるマーキング方法であって、当該マーキング方法は、マーキングメッセージ（Ｍ２）をトレーサビリティデバイス（６）へと送信するステップ（Ｓ３）を含み、当該方法は、非対称署名関数（Ｓ）と前記マーキングデバイスの公開鍵（Ｐｕｂｌｉｃ＿Ｅi）に関連付けられた前記マーキングデバイスの秘密鍵（Ｐｒｉｖａｔｅ＿Ｅi）とを用いることによってステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅn）を決定するステップ（Ｓ２）を含み、
前記マーキングメッセージ（Ｍ２）は、前記ステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅn）およびステップデータ（ＤＡＴＡn）を含み、前記ステップ署名は、前記ステップデータと前記トレーサビリティデバイスによって決定された以前の指紋（Ｆｉｎｇｅｒｐｒｉｎｔn-1）の少なくとも一つの部分（Ｔn-1）とに基づいて決定され、前記マーキングデバイスは、前記ステップ署名を決定するステップ（Ｓ２）よりも前に、前記トレーサビリティデバイスから前記少なくとも一つの部分（Ｔn-1）を含む情報メッセージ（Ｍ１）を受信し、前記マーキングメッセージ（Ｍ２）および前記以前の指紋（Ｆｉｎｇｅｒｐｒｉｎｔn-1）は、前記トレーサビリティデバイスがハッシュ関数（Ｈ）を用いることによって新しい指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を決定することに用いられる、ことを特徴とするマーキング方法。
【請求項１２】
コンピュータによって実行されるときに、請求項１〜４の何れか１項に記載のトレース方法のステップ、請求項５〜１０の何れか１項に記載の検証方法のステップ、または請求項１１に記載のマーキング方法のステップを実行するための命令を含む、コンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムが格納された、コンピュータによる読み取りが可能な格納媒体。
【請求項１４】
複数のステップから構成されたプロセスを検証するためのトレーサビリティデバイス（６）であって、
・前記プロセスの少なくとも１つのステップにおいて、マーキングデバイスによって送信されたマーキングメッセージを受信する手段（６１）と、
・前記プロセスの少なくとも１つのステップにおいて、ハッシュ関数（Ｈ）を用いることによって、前記マーキングメッセージおよび以前の指紋に基づいて新たな指紋を決定する手段（６２）と、
・検証デバイスへと、直前に決定された新たな指紋を含む検証メッセージを送信する手段（６１）と、を備え、
当該トレーサビリティデバイスは、非対称署名関数と当該トレーサビリティデバイスの公開鍵に関連付けられた当該トレーサビリティデバイスの秘密鍵とを用いることによって、前記プロセスの少なくとも１つのステップにおいて前記マーキングメッセージに基づいてオブジェクト署名を決定する手段（６３）を備え、新たな指紋を決定する前記手段は、前記オブジェクト署名に基づいて前記新たな指紋を決定するように構成されていることを特徴とする、トレーサビリティデバイス。
【請求項１５】
複数のステップから構成されたプロセスを検証するための検証デバイス（４）であって、
・トレーサビリティデバイスによって決定された指紋を含み、前記トレーサビリティデバイスによって送信された検証メッセージを受信する手段（４１）と、
・理論的指紋を決定する手段（４２）と、
・前記トレーサビリティデバイスによって決定された前記指紋と、前記理論的指紋とを比較する手段（４６）と、を備え、
前記検証メッセージは、前記プロセスの少なくとも１つのステップについてのオブジェクト署名を含み、
当該検証デバイスは、前記トレーサビリティデバイスの公開鍵に基づいて前記オブジェクト署名の真正性を検証する手段を含み、
理論的指紋を決定する前記手段は、前記オブジェクト署名が真正である場合には、以前の理論的指紋および前記オブジェクト署名に基づいて新たな現在の理論的指紋を決定するように構成されていることを特徴とする、検証デバイス。
【請求項１６】
複数のステップにより構成されたプロセスにおける一ステップに関連付けられたマーキングデバイス（７）であって、当該マーキングデバイスは、マーキングメッセージをトレーサビリティデバイス（６）へと送信する手段（７１）を含み、当該マーキングデバイスは、非対称署名関数と当該マーキングデバイスの公開鍵に関連付けられた当該マーキングデバイスの秘密鍵とを用いることによってステップ署名を決定する手段（７３）を含み、前記マーキングメッセージは、前記ステップ署名（Ｓｉｇｎａｔｕｒｅ＿Ｅn）およびステップデータ（ＤＡＴＡn）を含み、前記ステップ署名は、前記ステップデータと前記トレーサビリティデバイスによって決定された以前の指紋（Ｆｉｎｇｅｒｐｒｉｎｔn-1）の少なくとも一つの部分（Ｔn-1）とに基づいて決定され、前記マーキングデバイスは、前記ステップ署名を決定するステップ（Ｓ２）よりも前に、前記トレーサビリティデバイスから前記少なくとも一つの部分（Ｔn-1）を含む情報メッセージ（Ｍ１）を受信し、前記マーキングメッセージ（Ｍ２）および前記以前の指紋（Ｆｉｎｇｅｒｐｒｉｎｔn-1）は、前記トレーサビリティデバイスがハッシュ関数（Ｈ）を用いることによって新しい指紋（Ｆｉｎｇｅｒｐｒｉｎｔn）を決定することに用いられる、ことを特徴とするマーキングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原材料、製品、デバイス等のような、任意のオブジェクトのトレーサビリティの分野一般に関する。
【０００２】
本発明は、より詳細には、複数のステップにより構成されたプロセスの任意の段階において、当該段階に達したオブジェクトがプロセスで提供される全てのステップを所定の順で確かに経たか否かを監視することを可能とするメカニズムに関する。本発明の意味するところでは、オブジェクトが経るステップは、具体的には、オブジェクトに適用される任意の種類の処理、またはオブジェクトの物理パラメータ（例えば、オブジェクトの温度、圧力等）の状態もしくは状態の変化を指し得る。
【背景技術】
【０００３】
仏国特許出願公開第２９３３２１６号明細書には、デバイスが経る一連のイベントを検証するための方法およびシステムが記載されている。追跡されるデバイスは、無線自動識別（ＲＦＩＤ）チップ等によって構成されたトレーサビリティデバイスを組み込んでいる、または運ぶ。最初に、具体的には上記文献において所有者コード（code proprietaire）Ｋと称される秘密の関数として、最初の指紋Ｅ0が計算される。その後、各イベントにおいて、以前の指紋Ｅn-1に基づいて指紋Ｅnが計算され、ＲＦＩＤチップに格納される。一連のイベントを検証する目的で、理論的指紋を計算し、理論的指紋と受信した指紋とを比較する検証デバイスへと、ＲＦＩＤチップに格納された最後の指紋Ｅnが伝送される。理論的指紋は、本来であればＲＦＩＤチップによって計算されるはずである一連の指紋を最初の指紋を基に計算することによって、反復的に計算される。
【０００４】
効率的で信頼性はあるが、この方法は、対称暗号化、すなわち秘密の共有、に特化しているという特徴によって制限されている：検証デバイスは、理論的指紋を決定できるように、所有者コードＫを知る必要がある。さらに、何れの第３者もＲＦＩＤチップによって伝送される指紋Ｅnを解析できないことを確実とするために、所有者コードＫは秘密の態様で配布される必要がある。
【０００５】
適切な鍵を所持する者のみが、製品が経たライフサイクルが真正であることをローカルで検証できる地位にあるのであるが、このような鍵を安全に配布および格納することに関する制約がある。認証されていないユーザが認証サーバに、オブジェクトに格納された、オブジェクトおよびライフサイクルの現在の指紋に関するリクエストを送信することも考えられるが、そのサーバと通信する手段がなければ、そのようなリクエストはできない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上述の問題点を緩和しようというものである。
【課題を解決するための手段】
【０００７】
この目的のため、本発明は、複数のステップから構成されたプロセスを検証するためのトレーサビリティデバイスによって実施されるトレース方法であって、
・プロセスの少なくとも１つのステップにおける、
・マーキングデバイスによって送信されたマーキングメッセージを受信するステップと、
・ハッシュ関数を用いることによって、マーキングメッセージおよび以前の指紋に基づいて新たな指紋を決定するステップと、
・直前に決定された新たな指紋を含む検証メッセージを検証デバイスへと送信するステップと、
を備えるトレース方法に関連している。
【０００８】
プロセスの上記少なくとも１つのステップにおいて、非対称署名関数とトレーサビリティデバイスの公開鍵に関連付けられたトレーサビリティデバイスの秘密鍵とを用いることによって、マーキングメッセージに基づいてオブジェクト署名を決定するステップを含み、新たな指紋を決定するステップが、オブジェクト署名に基づいて新たな指紋を決定することを含んでいる点で、このトレース方法は注目に値する。
【０００９】
同様に、本発明は、複数のステップから構成されたプロセスを検証するためのトレーサビリティデバイスであって、
・プロセスの少なくとも１つのステップにおいて、マーキングデバイスによって送信されたマーキングメッセージを受信する手段と、
・プロセスの少なくとも１つのステップにおいて、ハッシュ関数を用いることによって、マーキングメッセージおよび以前の指紋に基づいて新たな指紋を決定する手段と、
・検証デバイスへと、直前に決定された新たな指紋を含む検証メッセージを送信する手段と、
を備えるトレーサビリティデバイスを提供する。
【００１０】
トレーサビリティデバイスは、非対称署名関数とトレーサビリティデバイスの公開鍵に関連付けられたトレーサビリティデバイスの秘密鍵とを用いることによって、プロセスの少なくとも１つのステップにおいてマーキングメッセージに基づいてオブジェクト署名を決定する手段を備え、新たな指紋を決定する手段は、上記オブジェクト署名に基づいて新たな指紋を決定するように構成されており、これらの点で、このトレーサビリティデバイスは注目に値する。
【００１１】
同様に、本発明は、複数のステップから構成されたプロセスを検証するための検証デバイスによって実施される検証方法であって、
・トレーサビリティデバイスによって決定された指紋を含み、トレーサビリティデバイスによって送信された検証メッセージを受信するステップと、
・理論的指紋を決定するステップと、
・トレーサビリティデバイスによって決定された指紋と、理論的指紋とを比較するステップと、
を備える検証方法を提供する。
【００１２】
検証メッセージは、プロセスの少なくとも１つのステップについてのオブジェクト署名を備え、検証方法は、トレーサビリティデバイスの公開鍵に基づいてオブジェクト署名の真正性を検証するステップを含み、理論的指紋を決定するステップは、オブジェクト署名が真正である場合には、以前の理論的指紋および上記オブジェクト署名に基づいて新たな現在の理論的指紋を決定することを含み、これらの点で、この検証方法は注目に値する。
【００１３】
同様に、本発明は、複数のステップから構成されたプロセスを検証するための検証デバイスであって、
・トレーサビリティデバイスによって決定された指紋を含み、トレーサビリティデバイスによって送信された検証メッセージを受信する手段と、
・理論的指紋を決定する手段と、
・トレーサビリティデバイスによって決定された指紋と、理論的指紋とを比較する手段と、
を備える検証デバイスを提供する。
【００１４】
検証メッセージは、プロセスの少なくとも１つのステップについてのオブジェクト署名を含み、検証デバイスは、トレーサビリティデバイスの公開鍵に基づいてオブジェクト署名の真正性を検証する手段を含み、理論的指紋を決定する手段は、上記オブジェクト署名が真正である場合には、以前の理論的指紋および上記オブジェクト署名に基づいて新たな現在の理論的指紋を決定するように構成されており、これらの点で、この検証デバイスは注目に値する。
【００１５】
一連の指紋を計算するトレーサビリティデバイスと、理論的指紋を計算する検証デバイスとによって、本発明は、トレーサビリティデバイスを運ぶまたは組み込んでいるオブジェクトが経たプロセスステップのチェーンのインテグリティ（l'integrite de l'enchainement des etapes du processus）を、トレーサビリティデバイスの最後の指紋が理論的指紋に一致する場合に保証する暗号チェーン化（chainage cryptographique）を実装することを可能にする。トレーサビリティデバイスは、プロセスの複数ステップが適切にチェーンされたことをローカルで検証するために、非対称鍵メカニズムを用いてオブジェクト署名を認証できる任意の検証デバイスによって必要とされる情報の全てを格納する。検証デバイスには、トレーサビリティデバイスの秘密鍵を知る必要がない。非対称鍵メカニズムを利用することにより、本発明は、対称な秘密鍵の配布に関する困難の回避を果たす。
【００１６】
本発明はまた、複数のステップにより構成されたプロセスにおける一ステップに関連付けられたマーキングデバイスによって実施されるマーキング方法であって、当該マーキング方法は、マーキングメッセージをトレーサビリティデバイスへと送信するステップを含み、当該方法は、非対称署名関数とマーキングデバイスの公開鍵に関連付けられたマーキングデバイスの秘密鍵とを用いることによってステップ署名を決定するステップを含み、マーキングメッセージは、ステップ署名を含むことを特徴とするマーキング方法を提供する。
【００１７】
同様に、本発明は、複数のステップにより構成されたプロセスにおける一ステップに関連付けられたマーキングデバイスであって、当該マーキングデバイスは、マーキングメッセージをトレーサビリティデバイスへと送信する手段を含み、当該デバイスは、非対称署名関数とマーキングデバイスの公開鍵に関連付けられたマーキングデバイスの秘密鍵とを用いることによってステップ署名を決定する手段を含み、マーキングメッセージは、ステップ署名を含むことを特徴とするマーキングデバイスを提供する。
【００１８】
同様に、検証方法の一実装例では、検証メッセージは、マーキングデバイスに関連付けられたステップ公開鍵およびステップ公開鍵の署名を含み、検証方法は、上記ステップ公開鍵の真正性を検証するステップを含む。
【００１９】
同様に、トレース方法の一実装例では、マーキングメッセージは、ステップ公開鍵と認証エンティティによって実施された上記ステップ公開鍵の署名とを備え、当該方法は、上記ステップ公開鍵と上記ステップ公開鍵の上記署名とを格納するステップを含み、検証メッセージは、格納された上記ステップ公開鍵と上記公開鍵の上記署名とを含む。
【００２０】
このような場合には、検証方法の一実装例では、検証メッセージは、プロセスの少なくとも１つのステップについてのステップ署名を含み、検証方法は、上記ステップ公開鍵に少なくとも基づいて上記ステップ署名の真正性を検証するステップを含み、上記ステップ署名に基づいて、上記オブジェクト署名の真正性を検証するステップが実施される。
【００２１】
マーキングデバイスの身元が認証されてもよい。さらに、ステップ署名の真正性を検証することは、トレーサビリティデバイスがマーキングデバイスと有効に対話し、オブジェクトが対応するプロセスステップを経たことを確認することを可能にする。トレーサビリティデバイスは、これらの検証を実施するのに必要な情報の全てを格納する。
【００２２】
マーキング方法の一実装例では、マーキングメッセージは、ステップデータを含み、上記ステップ署名は、少なくともステップデータに基づいて決定される。
【００２３】
同様に、検証方法の一実装例では、検証メッセージは、プロセスの少なくとも１つのステップについてのステップデータを含み、上記ステップデータに基づいて、上記ステップ署名の真正性を検証するステップが実施される。
【００２４】
このようにして、プロセスの一ステップにおいて、トレーサビリティデバイスに伝送されたデータの真正性を検証できる。
【００２５】
プロセスの少なくとも１つのステップにおいて、トレース方法が、直前に決定された新たな指紋の少なくとも１つの部分を含む情報メッセージをマーキングデバイスへと送信するステップを備え、
マーキングデバイスが、非対称署名関数とマーキングデバイスの公開鍵に関連付けられたマーキングデバイスの秘密鍵とを用いることによって、上記部分に基づいてステップ署名を決定することに適しており、
上記ステップ署名に基づいて上記オブジェクト署名が決定されることとしてもよい。
【００２６】
このような場合には、検証方法におけるステップ署名の真正性を検証するステップは、現在における直前の新たな理論的指紋の少なくとも１つの部分に基づいて実施できる。
【００２７】
このことは、上述の暗号チェーン化を強化できる。
【００２８】
トレース方法は、トレーサビリティデバイスの秘密鍵とは無関係に、最初の指紋を決定することを含む初期化ステップを有していてもよい。同様に、検証方法は、トレーサビリティデバイスの秘密鍵とは無関係に、最初の指紋を決定することを含む初期化ステップを有していてもよい。
【００２９】
例えば、最初の指紋は、初期化メッセージで受信したものであってもよく、初期化メッセージで受信した他のデータに基づいて決定されたものであってもよい。初期化メッセージの伝送は、対称な秘密鍵の配布に関する制約を伴わない。
【００３０】
検証方法の一実装例では、検証メッセージは、トレーサビリティデバイスの公開鍵と認証機関によって提供されたトレーサビリティデバイスの公開鍵の署名とを含み、検証方法は、トレーサビリティデバイスの公開鍵の真正性を検証するステップを含む。
【００３１】
このことは、トレーサビリティデバイスの身元を検証することを可能とする。
【００３２】
具体的な一実装例では、トレース方法、マーキング方法、および／または検証方法の種々のステップが、コンピュータプログラムの命令によって決定される。
【００３３】
結果として、本発明はまた、コンピュータまたはその等価物で実施されることに適しており、上述のトレース方法、マーキング方法、および／または検証方法のステップを実施することに適した命令を含む、データ媒体上のコンピュータプログラムを提供する。
【００３４】
プログラムは、何れのプログラム言語を用いたものであってもよく、ソースコードの形式、オブジェクトコードの形式、または部分的にコンパイルされた形式等のソースコードとオブジェクトコードとの中間コードの形式の何れのものであってもよく、他の望ましい形式のものであってもよい。
【００３５】
本発明はまた、上述のコンピュータプログラムの命令を含む、コンピュータによる読み取りが可能なデータ媒体を提供する。
【００３６】
データ媒体は、プログラムを格納可能な何れのエンティティまたはデバイスであってもよい。例えば、媒体は、コンパクトディスク（ＣＤ）ＲＯＭまたは超小型電子回路ＲＯＭ等の読み出し専用メモリ（ＲＯＭ）、または、フロッピーディスクまたはハードディスク等の磁気記録手段のような格納手段を備えていてもよい。
【００３７】
さらに、データ媒体は、電気ケーブルを介して、光ケーブルを介して、無線により、または他の手段により伝達される、電気信号または光信号等の伝送媒体であってもよい。本発明のプログラムは、具体的には、インターネットタイプのネットワークからダウンロードされてもよい。
【００３８】
あるいは、データ媒体は、プログラムが組み込まれ、当該方法を実行したり当該方法の実行に用いられたりすることに適した、集積回路（例えば、エーシック（ＡＳＩＣ））であってもよい。
【００３９】
本発明の特徴および利点は、添付の図面を参照しながら以下の明細書から明らかとなり、これらは本発明の非限定的実施形態を示す。
【図面の簡単な説明】
【００４０】
【図１】図１は、本発明が一実装例に従って実施されるシステムを描いた線図である。
【図２】図２は、図１におけるトレーサビリティデバイスの線図である。
【図３】図３は、図１における１つのマーキングデバイスの線図である。
【図４】図４は、図２におけるトレーサビリティデバイスおよび図３におけるマーキングデバイスの間の対話を示す。
【図５】図５は、図１における検証デバイスの線図である。
【図６】図６は、図５における検証デバイスによって実施される検証方法のメインステップを示す。
【発明を実施するための形態】
【００４１】
図１に、本発明が実施され得るシステム１を示す。システム１は、オブジェクト２、複数のステップＥ1，Ｅ2，．．．Ｅj、機関Ａと称される認証機関３、および検証デバイス４を備えている。
【００４２】
オブジェクト２は、トレーサビリティデバイス６を運ぶ、または組み込んでいる。図１において矢印５で示されているように、オブジェクト２は、ステップＥ1，Ｅ2，．．．Ｅj内における一連のステップから構成されたプロセスをたどる。プロセスの各ステップＥiにおいて、トレーサビリティデバイス６は、マーキングデバイス７iと称されるステップＥi固有のマーキングデバイス７と対話する。この対話の間に、指紋が計算され、トレーサビリティデバイス６に格納される。
【００４３】
プロセスの間に、またはプロセスの終わりにおいて、オブジェクト２がたどるプロセスを格納された指紋に基づいて有効または無効とする目的で、検証デバイス４はトレーサビリティデバイス６と対話できる。
【００４４】
図１では、単一のオブジェクト２を示す。当然ながら、ステップＥ1，Ｅ2，．．．Ｅj内における一連のステップから各々構成された各プロセスを複数のオブジェクトがたどる場合には、システム１は、自身のトレーサビリティデバイス６に各々関連付けられた複数のオブジェクト２を有し得る。
【００４５】
続いて、トレーサビリティデバイス６の構成およびトレーサビリティデバイス６の初期化と、マーキングデバイス７の構成およびマーキングデバイス７の初期化と、トレーサビリティデバイス６およびマーキングデバイス７の間の対話と、検証デバイス４の構成および検証デバイス４の初期化と、トレーサビリティデバイス６および検証デバイス４の間の対話について記載する。
【００４６】
図２に、トレーサビリティデバイス６をより詳細に示す。トレーサビリティデバイス６は、通信ユニット６１と、ハッシュ関数Ｈを計算するための計算モジュール６２と、署名関数Ｓを計算するための計算モジュール６３と、不揮発性メモリ６４とを備えている。
【００４７】
トレーサビリティデバイス６は、コンピュータのハードウェアアーキテクチャを有していてもよく、マイクロプロセッサ６６および揮発性メモリ６７を備えていてもよい。その場合には、トレーサビリティデバイス６の全体的な処理は、不揮発性メモリ６４に格納されたコンピュータプログラムによって決定され、揮発性メモリ６７を用いながらマイクロプロセッサ６６によって実行される。
【００４８】
通信ユニット６１は、トレーサビリティデバイス６が通信すること、具体的にはマーキングデバイス７と通信することおよび検証デバイス４と通信すること、を可能にする。例えば、通信は、短距離無線周波数の無線通信によるものであってもよい。このような場合には、トレーサビリティデバイス６は、ＲＦＩＤチップの形態であってもよい。
【００４９】
計算モジュール６２は、暗号学的ハッシュ関数Ｈを実装している。例えば、この関数Ｈは、以下の呼称：ＳＨＡ−１（セキュアハッシュアルゴリズム１）、ＳＨＡ−２（セキュアハッシュアルゴリズム２）、またはＭＤ５（メッセージダイジェスト５）で知られている暗号学的ハッシュ関数のうちの１つである。
【００５０】
計算モジュール６３は、公開鍵および秘密鍵を備え、秘密鍵を用いて任意長のデータについて固定長のデジタル署名を生成する鍵ペアを有する、ＤＳＡ、ＥＣＤＳＡ、．．．タイプの処理の非対称デジタル署名アルゴリズムである署名関数Ｓを実装している。秘密鍵に関連付けられた公開鍵を所持する何れの者でも、署名が確かに秘密鍵を所持するエンティティによって生成されたものであることを検証できるが、秘密鍵を用いて生成される署名を計算することはできない。
【００５１】
以下では、下記の表記が用いられる。
・Ｆｉｎｇｅｒｐｒｉｎｔn＝Ｈ（Ｆｉｎｇｅｒｐｒｉｎｔn-1，Ｄａｔａ）は、ハッシュ関数Ｈによって、以前の指紋およびデータ“Ｄａｔａ”に基づいて計算される指紋である。
・Ｓｉｇｎａｔｕｒｅ＝Ｓｉｇｎａｔｕｒｅ（Ｉｄｅｎｔｉｔｙ，Ｄａｔａ）は、データ“Ｄａｔａ”に署名する目的で、“Ｉｄｅｎｔｉｔｙ”エンティティが自身の秘密鍵を用いて計算する署名である。
【００５２】
計算モジュール６２および６３は、不揮発性メモリ６４に格納され、マイクロプロセッサ６６によって実行され得るコンピュータプログラムに対応し得る。変形例では、計算モジュール６２および６３は、ハッシュ関数Ｈ用および署名関数Ｓ用に特別に設計または構成された電子回路に対応する。
【００５３】
不揮発性メモリ６４には、データ、具体的には通信ユニット６１によって得られたデータと計算モジュール６２および６３によって計算されたデータ、が格納され得る。
【００５４】
トレーサビリティデバイス６を初期化している間に、すなわちステップＥiから構成されたプロセスが開始する前に、下記のデータが不揮発性メモリ６４に格納される。
・Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ、オブジェクト２に関連付けられたトレーサビリティデバイス６の公開鍵、
・Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔ、オブジェクト２に関連付けられたトレーサビリティデバイス６の秘密鍵、
・Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）、鍵Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔの認証エンティティ３による署名、および、
・Ｆｉｎｇｅｒｐｒｉｎｔ0、トレーサビリティデバイス６に格納された指紋の初期値。Ｆｉｎｇｅｒｐｒｉｎｔ0は、知られた所定の値である。値Ｆｉｎｇｅｒｐｒｉｎｔ0は、システム１のオブジェクト２の全てで同一であってもよい。指紋Ｆｉｎｇｅｒｐｒｉｎｔ0は、例えば、初期化メッセージで受信したものであってもよく、初期化メッセージで受信した他のデータに基づいて決定されたものであってもよい。
【００５５】
鍵Ｐｕｂｌｉｃ＿ＯｂｊｅｃｔおよびＰｒｉｖａｔｅ＿Ｏｂｊｅｃｔは、非対称鍵暗号メカニズムにおける使用に適した非対称の鍵ペアをなす。
【００５６】
指紋Ｆｉｎｇｅｒｐｒｉｎｔ0は、Ｃ0およびＴ0と記載される、所定長の２つの部分から構成されている：Ｆｉｎｇｅｒｐｒｉｎｔ0＝Ｃ0｜｜Ｔ0であり、Ｆｉｎｇｅｒｐｒｉｎｔ0、Ｃ0およびＴ0はビット形式のデータであり、｜｜は連結演算を表す。
【００５７】
図３に、マーキングデバイス７をより詳細に示す。以下では、添え字ｉは、ステップＥiのマーキングデバイス７i固有の要素であることを示すために用いられる。
【００５８】
マーキングデバイス７は、通信ユニット７１と、署名関数Ｓを計算するための計算モジュール７３と、不揮発性メモリ７４と、データ決定モジュール７５とを備えている。マーキングデバイス７は、コンピュータのハードウェアアーキテクチャを有していてもよく、マイクロプロセッサ７６および揮発性メモリ７７を備えていてもよい。そのような場合には、マーキングデバイス７の全体的な処理は、不揮発性メモリ７４に格納されたコンピュータプログラムによって決定され、揮発性メモリ７７を利用しつつマイクロプロセッサ７６によって実行される。
【００５９】
通信ユニット７１は、マーキングデバイス７が、トレーサビリティデバイス６と通信することを可能にする。上述のように、トレーサビリティデバイス６は、ＲＦＩＤチップであることがある。このような場合には、通信ユニット７１は、ＲＦＩＤリーダを備えている。
【００６０】
計算モジュール７３は、上述の署名関数Ｓを実装している。
【００６１】
データ決定モジュール７５は、ステップＥiに関連するデータＤＡＴＡを決定する役割を担う。データＤＡＴＡは、例えば所定のデータ、またはステップＥiの実行に応じたデータであってもよく、例えばパラメータの値を与えるデータであってもよい。
【００６２】
計算モジュール７３およびデータ決定モジュール７５は、不揮発性メモリ７４に格納され、マイクロプロセッサ７６によって実行され得るコンピュータプログラムに対応し得る。変形例では、計算モジュール７３および／またはデータ決定モジュール７５は、特別に設計または構成された電子回路に対応し得る。
【００６３】
不揮発性メモリ７４は、データを格納する役割を担う。不揮発性メモリ７４は、ローカルまたはリモートでアクセス可能とされ得る。
【００６４】
マーキングデバイス７iの初期化の間に、下記のデータが不揮発性メモリ７４に格納される。
・Ｐｕｂｌｉｃ＿Ｅi、ステップＥiに関連付けられたマーキングデバイス７iの公開鍵、
・Ｐｒｉｖａｔｅ＿Ｅi、ステップＥiに関連付けられたマーキングデバイス７iの秘密鍵、および、
・Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）、鍵Ｐｕｂｌｉｃ＿Ｅiの認証エンティティ３による署名。
【００６５】
鍵Ｐｕｂｌｉｃ＿ＥiおよびＰｒｉｖａｔｅ＿Ｅiは、非対称鍵暗号メカニズムにおける使用に適した非対称の鍵ペアをなす。
【００６６】
トレーサビリティデバイス６およびマーキングデバイス７の初期化の間に使用される、非対称鍵を管理する、配布する、検証するおよび失効させるための公開鍵暗号基盤（ＰＫＩ）のメカニズムは、当該分野の当業者に知られた多くの文献の主題であるため、本明細書では記載を省略する。
【００６７】
上述のように、プロセスの各ステップＥiにおいて、トレーサビリティデバイス６は、対応するマーキングデバイス７iと対話する。図４に、この対話をより詳細に示す。
【００６８】
添え字ｎは、ステップＥiが、オブジェクト２が経るｎ番目のステップであることを意味するものとして使用される。最初は、トレーサビリティデバイスに格納されている指紋は、指紋Ｆｉｎｇｅｒｐｒｉｎｔn-1である。
【００６９】
ステップＥiにおいて、例えば、ステップＥiがオブジェクト２をマーキングデバイス７iの近くに配置することを伴うことで、トレーサビリティデバイス６がマーキングデバイス７iを検出し、これにより通信ユニット６１および７１が相互に検出することが可能となる。
【００７０】
トレーサビリティデバイス６は、マーキングデバイス７iを検出したときに、自身の指紋Ｆｉｎｇｅｒｐｒｉｎｔn-1から部分Ｔn-1を抽出し、部分Ｔn-1を情報メッセージＭ１でマーキングデバイス７iに伝送する（ステップＳ１）。
【００７１】
Ｔn-1を受信すると、マーキングデバイス７iは、データＴn-1｜｜ＤＡＴＡn、ＤＡＴＡnはデータ決定モジュール７５によって決定されたデータを表す、に署名する。換言すると、ステップＳ２において、マーキングデバイス７iは、計算モジュール７３および自身の秘密鍵Ｐｒｉｖａｔｅ＿Ｅiを用いることによって、ステップ署名Ｓｉｇｎａｔｕｒｅ＿Ｅn：
Ｓｉｇｎａｔｕｒｅ＿Ｅn＝Ｓｉｇｎａｔｕｒｅ（Ｅi，Ｔn-1｜｜ＤＡＴＡn）
を決定する。
【００７２】
その後、ステップＳ３において、マーキングデバイス７iは、トレーサビリティデバイス６に、データＤＡＴＡnと、自身の公開鍵Ｐｕｂｌｉｃ＿Ｅiと、自身の公開鍵の署名Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）と、ステップ署名Ｓｉｇｎａｔｕｒｅ＿Ｅnとを含むマーキングメッセージＭ２を伝送する。
【００７３】
マーキングメッセージＭ２を受信すると、トレーサビリティデバイス６は、自身の不揮発性メモリ６４内に、ＤＡＴＡn、Ｐｕｂｌｉｃ＿Ｅi、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）およびＳｉｇｎａｔｕｒｅ＿Ｅnを格納する記録ｎを作成する。
【００７４】
その後、トレーサビリティデバイス６は、ステップ署名Ｓｉｇｎａｔｕｒｅ＿Ｅnに署名する（ステップＳ４）。換言すると、トレーサビリティデバイス６は、計算モジュール６３および自身の秘密鍵Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔを用いて、オブジェクト署名Ｓｉｇｎａｔｕｒｅ＿Ｏn：
Ｓｉｇｎａｔｕｒｅ＿Ｏn＝Ｓｉｇｎａｔｕｒｅ（Ｏｂｊｅｃｔ，Ｓｉｇｎａｔｕｒｅ＿Ｅn）
を決定する。
【００７５】
オブジェクト署名Ｓｉｇｎａｔｕｒｅ＿Ｏnも、記録ｎに格納される。
【００７６】
最後に、計算モジュール６２を用いることにより、トレーサビリティデバイス６は、以前の指紋Ｆｉｎｇｅｒｐｒｉｎｔn-1およびオブジェクト署名Ｓｉｇｎａｔｕｒｅ＿Ｏnに基づいて新たな指紋Ｆｉｎｇｅｒｐｒｉｎｔn：
Ｆｉｎｇｅｒｐｒｉｎｔn＝Ｈ（Ｆｉｎｇｅｒｐｒｉｎｔn-1，Ｓｉｇｎａｔｕｒｅ＿Ｏn）
を決定する。
【００７７】
トレーサビリティデバイス６およびマーキングデバイス７iの間の対話の終わりには、トレーサビリティデバイス６の不揮発性メモリ６４は、下記を含んでいる。
・鍵Ｐｕｂｌｉｃ＿ＯｂｊｅｃｔおよびＰｒｉｖａｔｅ＿Ｏｂｊｅｃｔ、
・署名Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）、
・指紋Ｆｉｎｇｅｒｐｒｉｎｔn、ならびに、
・オブジェクト２が経たｎ個のステップの各々についての記録ｍであって、ｍは１からｎの範囲にあり、ＤＡＴＡm、Ｐｕｂｌｉｃ＿Ｅi、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）、Ｓｉｇｎａｔｕｒｅ＿Ｅm、およびＳｉｇｎａｔｕｒｅ＿Ｏmを含む記録ｍ。
【００７８】
この情報は、オブジェクト２が経た一連のステップを有効または無効とするために、検証デバイス４によって用いられる。
【００７９】
Ｔn-1の送信（ステップＳ１）と、ＤＡＴＡn、Ｐｕｂｌｉｃ＿Ｅi、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）およびＳｉｇｎａｔｕｒｅ＿Ｅnの受信および格納（ステップＳ３）と、Ｓｉｇｎａｔｕｒｅ＿Ｏnの決定および格納（ステップＳ４）と、Ｆｉｎｇｅｒｐｒｉｎｔnの決定および格納（ステップＳ５）とは、トレーサビリティデバイス６によって実施されるトレーサビリティ方法のメインステップに対応する。トレーサビリティ方法は、不揮発性メモリ６４に格納されたコンピュータプログラムの命令に対応し得る。
【００８０】
同様に、Ｔn-1の受信（ステップＳ１）と、Ｓｉｇｎａｔｕｒｅ＿Ｅnの決定（ステップＳ２）と、ＤＡＴＡn、Ｐｕｂｌｉｃ＿Ｅi、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）およびＳｉｇｎａｔｕｒｅ＿Ｅnの送信（ステップＳ３）とは、マーキングデバイス７によって実施されるマーキング方法のメインステップに対応する。このマーキング方法は、不揮発性メモリ７４に格納されたコンピュータプログラムの命令に対応し得る。
【００８１】
図５に、検証デバイス４をより詳細に示す。検証デバイス４は、通信ユニット４１と、ハッシュ関数Ｈを計算するための計算モジュール４２と、署名関数Ｓを計算するための計算モジュール４３と、不揮発性メモリ４４とを備えている。例えば、検証デバイス４は、コンピュータのハードウェアアーキテクチャを有し、さらに、マイクロプロセッサ４６および揮発性メモリ４７を備えている。
【００８２】
通信ユニット４１は、検証デバイス４が、トレーサビリティデバイス６と通信することを可能にする。
【００８３】
検証デバイス４は、認証機関３にアクセス可能であるまたはアクセス可能であったことにより、認証機関３の公開鍵Ｐｕｂｌｉｃ＿Ａを利用して、各署名が認証機関３によって生成されたことを検証できる。
【００８４】
さらに、検証デバイス４は、所定の値のＦｉｎｇｅｒｐｒｉｎｔ0を知っている。指紋Ｆｉｎｇｅｒｐｒｉｎｔ0は、例えば、初期化メッセージで受信したものであってもよく、初期化メッセージで受信した他のデータに基づいて決定されたものであってもよい。
【００８５】
一実施形態では、検証デバイス４はマーキングデバイス７の一部である。このような場合には、検証デバイスおよびマーキングデバイスは、図４を参照して説明したマーキング方法を実行するための命令を有するコンピュータプログラムと図６を参照して以下で説明する検証方法を実行するための命令を有するコンピュータプログラムとの両方を、自身の不揮発性メモリに含み得る。
【００８６】
図６に、検証デバイス４によって実施される検証方法のメインステップを示す。図６のステップは、揮発性メモリ４７を利用しつつ、不揮発性メモリ４４に格納されたコンピュータプログラムを実行するマイクロプロセッサ４６に対応し得る。
【００８７】
検証方法は、トレーサビリティデバイス６が、自身の不揮発性メモリ６４に含まれたデータを含む検証メッセージＭ３を検証デバイス４に伝送する（当然ながら、自身の秘密鍵Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔを除く）ときに始まる。この伝送は、通信ユニット６１および４１が相互に検出するイベントのときに自動的になされ得る、またはオペレータからの指令に応えてなされ得る。
【００８８】
ステップＳ１０において、検証デバイス４は下記のデータを受信する。
・鍵Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ、
・署名Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）、
・指紋Ｆｉｎｇｅｒｐｒｉｎｔn、ならびに、
・記録ｍであって、ｍは１からｎの範囲にあり、ＤＡＴＡm、Ｐｕｂｌｉｃ＿Ｅi、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）、Ｓｉｇｎａｔｕｒｅ＿Ｅm、およびＳｉｇｎａｔｕｒｅ＿Ｏmを含む記録ｍ。
【００８９】
その後、ステップＳ１１において、検証デバイス４は、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）を利用して、Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔの真正性を検証する。上述のように、検証デバイス４は、公開鍵Ｐｕｂｌｉｃ＿ＡおよびＰｕｂｌｉｃ＿Ｏｂｊｅｃｔを利用して、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔ）が確かに認証機関３によって署名されたものであることを検証できる。
【００９０】
Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔが真正であることが分かった場合には、検証デバイス４は、下記のステップＳ１３からＳ１６が繰り返し実施され得るように、カウンタｍを１に初期化する（ステップＳ１２）。
【００９１】
ステップＳ１３において、検証デバイス４は、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）を利用して、Ｐｕｂｌｉｃ＿Ｅiの真正性を検証する。ステップＳ１１同様、検証デバイス４は、公開鍵Ｐｕｂｌｉｃ＿ＡおよびＰｕｂｌｉｃ＿Ｅiを用いて、Ｓｉｇｎａｔｕｒｅ（Ａ，Ｐｕｂｌｉｃ＿Ｅi）が確かに認証機関３によって署名されたものであることを検証できる。
【００９２】
同様に、ステップＳ１４において、検証デバイス４は、Ｔm-1（下記の理論的指紋Ｆｉｎｇｅｒｐｒｉｎｔm-1thからの、所定長の抽出物）、ＤＡＴＡmおよびＰｕｂｌｉｃ＿Ｅiを利用して、Ｓｉｇｎａｔｕｒｅ＿Ｅmの真正性を検証する。より正確には、検証デバイス４は、Ｐｕｂｌｉｃ＿Ｅi、Ｔm-1、ＤＡＴＡmを用いて、Ｓｉｇｎａｔｕｒｅ＿Ｅmが確かにマーキングデバイス７iによって署名されたものであるかを検証する。
【００９３】
その後、ステップＳ１５において、検証デバイス４は、Ｓｉｇｎａｔｕｒｅ＿ＥmおよびＰｕｂｌｉｃ＿Ｏｂｊｅｃｔを利用して、Ｓｉｇｎａｔｕｒｅ＿Ｏmの真正性を検証する。つまり、検証デバイス４は、Ｓｉｇｎａｔｕｒｅ＿ＥmおよびＰｕｂｌｉｃ＿Ｏｂｊｅｃｔを用いて、Ｓｉｇｎａｔｕｒｅ＿Ｏmが確かにトレーサビリティデバイス６によって署名されたものであるかを検証する。
【００９４】
最後に、ステップＳ１６において、検証デバイス４は、理論的指紋Ｆｉｎｇｅｒｐｒｉｎｔmth：
Ｆｉｎｇｅｒｐｒｉｎｔmth＝Ｈ（Ｆｉｎｇｅｒｐｒｉｎｔm-1th，Ｓｉｇｎａｔｕｒｅ＿Ｏm）
を決定する。
【００９５】
ステップＳ１１およびＳ１３からＳ１５のテストの何れか１つに失敗する場合には、このことは、そのデータは、真正ではなく、改ざんされていることを意味する。カウンタｍの値は、データが改ざんされたステップを指す。検証方法は、データの無効メッセージの発行により終了する（Ｓ２１）。このメッセージは、ｍの値を表示するものであってもよい。
【００９６】
そうではなく、上述のテストが成功した場合には、検証デバイス４は、ステップＳ１７において、カウンタｍとｎとを比較する。
【００９７】
ｍがｎと等しくない場合には、そのことは、オブジェクト２が経た全てのステップについてのステップＳ１３からＳ１６が実施されたわけではないことを意味する。このような場合には、カウンタｍが１つ増え（ステップＳ１８）、ステップＳ１３からステップＳ１６が繰り返される。
【００９８】
そうではなく、ｍがｎと等しい場合には、そのことは、オブジェクト２が経た全てのステップについてのステップＳ１３からＳ１６が実施されたことを意味する。換言すると、検証デバイス４は、一連の指紋の計算を理論的に再現し終わっている。
【００９９】
ステップＳ１９において、検証デバイス４は、ｍがｎと等しいときに、ステップＳ１６で決定された最後の理論的指紋Ｆｉｎｇｅｒｐｒｉｎｔnthと、ステップＳ１０で受信した指紋Ｆｉｎｇｅｒｐｒｉｎｔnとを比較する。
【０１００】
それらが一致する場合には、そのことは、オブジェクト２が確かに指定されたプロセスを経ており、データが改ざんされていないことを意味する。このような場合には、検証方法は、データの有効メッセージを発行することにより、ステップＳ２０で終了する。
【０１０１】
そうではなく、ＦｉｎｇｅｒｐｒｉｎｔnthがＦｉｎｇｅｒｐｒｉｎｔnと一致しない場合には、そのことは、オブジェクト２が指定されたプロセスをたどっていないこと、および／またはデータが改ざんされていることを意味する。このような場合には、検証方法は、データの無効メッセージを発行することにより、終了する（ステップＳ２１）。
【０１０２】
一実装例では、オブジェクト２を複製するという危険性に備える目的で、検証デバイス４は、公開鍵Ｐｕｂｌｉｃ＿Ｏｂｊｅｃｔに関連付けられた秘密鍵Ｐｒｉｖａｔｅ＿Ｏｂｊｅｃｔを所持する関係にあるオブジェクト２を認証する。例えば、検証デバイス４は、チャレンジと称されるランダムの数値に署名するようトレーサビリティデバイス６に要求し、その署名の真正性を検証する。
【０１０３】
一連の指紋Ｆｉｎｇｅｒｐｒｉｎｔnを計算することにより、オブジェクト２による複数ステップＥjのチェーンのインテグリティ（l'integrite de l'enchainement）と、各ステップＥjにおいてオブジェクト２に伝送されたデータＤＡＴＡnのインテグリティとを保証する暗号チェーン化を実装できる。オブジェクト２は、認証機関Ａの公開鍵を所有している任意の検証デバイス４がステップＥjのチェーンをローカルで検証し、これらのステップの各々を認証し、これらの各ステップにおいて送信されるデータのインテグリティを保証するために必要とする情報全てを格納する。検証デバイス４は、トレーサビリティデバイス６の秘密鍵を知らない。非対称鍵メカニズムを利用することにより、本発明は、対称な秘密鍵の配布に関する困難を排除できる。
【図１】
0005872588.tif 000002
【図２】
0005872588.tif 000003
【図３】
0005872588.tif 000004
【図４】
0005872588.tif 000005
【図５】
0005872588.tif 000006
【図６】
0005872588.tif 000007