(57)【特許請求の範囲】
【請求項１】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う利用者装置と、前記利用者装置からの前記証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明システムにおけるイベント順序証明方法であって、
前記証明装置が前記利用者装置からの証明要求を受信する順序証明要求受信ステップと、
前記証明装置が前記証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算ステップと、
前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約ステップと、
前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む証明書を作成する証明書作成ステップと、
前記証明装置が前記証明書を前記利用者装置に送信する証明書送信ステップと、
前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、
前記証明装置が、前記証明要求を前記順次集約木に割り当てた以後に、第１の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第１の監査用証明書を作成するとともに、前記監査要求を前記順次集約木に割り当てた時点における第１の監査用の即時補完情報を前記順次集約木から取得し、前記第１の監査用証明書に含める監査用証明書作成ステップと、
前記証明装置が前記第１の監杳用証明書を前記監査装置に送信する監査用証明書送信ステップと、
前記証明装置が、前記第１の監査要求を前記順次集約木に割り当てた以後に、前記利用者装置からの前記証明書の補完情報の要求を受信する補完情報要求受信ステップと、
前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成ステップと、
前記証明装置が前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信ステップと、
を有することを特徴とするイベント順序証明方法。
【請求項２】
前記証明書作成ステップにおいて、前記証明装置は、前記第１の順次集約木特定情報に前記証明書の即時補完情報を含めることを特徴とする請求項１記載のイベント順序証明方法。
【請求項３】
前記監査用証明書作成ステップは、さらに、前記証明装置が、前記証明要求を前記順次集約木に割り当てた以前に、第２の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第２の監査用証明書を作成するとともに、前記第２の監査要求を前記順次集約木に割り当てた時点における第２の監査用の即時補完情報を前記順次集約木から取得し、前記第２の監査用証明書に含めるステップを備え、
前記証明装置が、前記一定時間間隔終了後に前記監査用証明書作成ステップで作成された各監査用証明書の補完情報すべてを前記順次集約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成ステップと、
前記証明装置が前記第１及び第２の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査用遅延補完情報送信ステップと、
をさらに有することを特徴とする請求項１又は２記載のイベント順序証明方法。
【請求項４】
前記順次割当データ計算ステップにおいて、前記証明装置は、前記証明要求に含まれる前記デジタル情報に対して所定の衝突困難一方向関数を適用した結果値を前記順次割当データとして計算することを特徴とする請求項１乃至３のいずれか１項に記載のイベント順序証明方法。
【請求項５】
前記証明書作成ステップにおいて、前記証明装置は、前記証明書にデジタル署名を施すことを特徴とする請求項１乃至４のいずれか１項に記載のイベント順序証明方法。
【請求項６】
前記証明装置が、前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する電子的情報公表ステップをさらに有することを特徴とする請求項１乃至５のいずれか１項に記載のイベント順序証明方法。
【請求項７】
前記利用者装置から複数の証明要求が為されたときには、前記証明書送信ステップは、前記証明装置が、各証明要求を前記順次集約木に割り当てた時間的順序で、各証明要求に対する証明書を送信するステップをさらに有することを特徴とする請求項１乃至６のいずれか１項に記載のイベント順序証明方法。
【請求項８】
前記利用者装置から複数の証明要求が為されたときに、
前記証明装置が前記順序証明要求集約ステップで生成される前記順次集約木に関する情報を記憶する順次集約木記憶ステップと、
前記順次集約木において、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
前記証明装置が前記複数の証明要求の登録点に関する情報を記憶する登録点記憶ステップと、
をさらに有し、
前記証明書作成ステップにおいて、前記証明装置は、各記憶ステップにおいて記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報と、前記新登録点の即時補完情報と、前記利用者装置の過去のすべての登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成することを特徴とする請求項２記載のイベント順序証明方法。
【請求項９】
前記利用者装置から複数の証明要求が為されたときに、
前記証明装置が前記順序証明要求集約ステップで生成される前記順次集約木に関する情報を記憶する順次集約木記憶ステップと、
前記順次集約木において、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
前記証明装置が前記新登録点に対する直前の登録点に関する情報を記憶する登録点記憶ステップと、
をさらに有し、
前記証明書作成ステップにおいて、前記証明装置は、各記憶ステップにおいて記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、前記新登録点の即時補完情報と、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成することを特徴とする請求項２記載のイベント順序証明方法。
【請求項１０】
前記順次集約木記憶ステップにおいて、前記証明装置は、前記順次集約木に関する情報として、前記順次集約木において割当処理がされた各ノードの位置及び割当値を記憶することを特徴とする請求項８又は９記載のイベント順序証明方法。
【請求項１１】
前記証明装置は、前記新登録点の前記即時補完情報と、前記利用者装置の前記直前の登録点の前記新登録点における前記遅延補完情報とを別々にスタック化して記憶することを特徴とする請求項９記載のイベント順序証明方法。
【請求項１２】
前記証明装置が前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する電子的情報公表ステップをさらに有することを特徴とする請求項８乃至１１のいずれか１項に記載のイベント順序証明方法。
【請求項１３】
前記一定時間間隔終了前に、前記証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したときに、前記利用者装置が、前記証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書から、計算可能な割当値を持つ前記順次集約木のノードのうちで、その親のノードの割当値が計算できないような１つあるいは複数のノードの位置情報と割当値を、電子的に公表する利用者サイド電子的情報公表ステップをさらに有することを特徴とする請求項８乃至１２のいずれか１項に記載のイベント順序証明方法。
【請求項１４】
前記順序証明要求集約ステップにおいて、前記証明装置は、前記一定時間間隔終了後に前記順次集約木の前記ルート値を、次の順次集約木のリーフに割り当てられた新たな登録点の即時補完情報となるように、前記次の順次集約木のリーフに割り当てることを特徴とする請求項８乃至１３のいずれか１項に記載のイベント順序証明方法。
【請求項１５】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明システムにおけるイベント順序証明監査方法であって、
前記証明装置が前記利用者装置から第１の証明要求を受信する順序証明要求受信ステップと、
前記証明装置が前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算ステップと、
前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約ステップと、
前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成ステップと、
前記証明装置が前記第１の証明書を前記利用者装置に送信する証明書送信ステップと、
前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点として定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、
前記証明装置が、複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、各監査要求を前記順次集約木に割り当てた時点における監査用の即時補完情報を前記順次集約木から取得し、各監査用証明書に含める監査用証明書作成ステップと、
前記証明装置が前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信ステップと、
前記証明装置が、前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信ステップと、
前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成ステップと、
前記証明装置が前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信ステップと、
前記監査装置が、前記証明装置から前記複数の監査用証明書を受信する監査用証明書受信ステップと、
前記監査装置が、前記利用者装置から前記第１の証明書及び前記第１の証明書の前記遅延補完情報を含む前記第１の証明書に対する監査要求を受信する監査要求受信ステップと、
前記監査装置が、前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報に基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する第１の監査用証明書選択ステップと、
前記監査装置が、前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択ステップで選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択ステップで選択された監査用証明書の監査要求の受付時刻との前後関係を証明する第１の証明書監査ステップと、
前記監査装置が前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信ステップと、
を有することを特徴とするイベント順序証明監査方法。
【請求項１６】
前記監査用証明書受信ステップは、さらに、前記監査装置が前記第１の監査用証明書選択ステップで選択された監査用証明書を受信した第１の時刻を時刻提供装置から取得するステップを備え、
前記第１の証明書監査ステップにおいて、前記監査装置は、前記第１の証明書の前記証明要求の前記受付時刻が前記第１の時刻よりも時間的に前であることを示す区間時刻証を前記監査結果に含めることを特徴とする請求項１５記載のイベント順序証明監査方法。
【請求項１７】
前記証明装置が、前記一定時間間隔終了後に前記監査用証明書作成ステップにおいて作成された前記複数の監査用証明書の前記補完情報すべてを前記順次集約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成ステップと、
前記証明装置が前記複数の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査用遅延補完情報送信ステップと、
前記監査装置が、前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１の順次集約木特定情報に基づいて、前記第１の証明書より時間的順序が前の監査用証明書を選択する第２の監査用証明書選択ステップと、
前記監査装置が、前記順次集約木の特定のノードに対して、前記第１の証明書に対する監査要求に含まれる該ノードの割当値と、前記第２の監査用証明書選択ステップで選択された監査用証明書及び該監査用証明書の前記遅延補完情報から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の前記証明要求の前記受付時刻と前記第２の監査用証明書選択ステップで選択された監査用証明書の監査要求の受付時刻との前後関係を証明する第２の証明書監査ステップと、
をさらに有することを特徴とする請求項１５又は１６記載のイベント順序証明監査方法。
【請求項１８】
前記利用者装置又は他の利用者装置から第２の証明要求が為されたときには、前記監査装置が、前記第２の証明要求に対して作成された第２の証明書に対する監査結果と、前記第１及び第２の証明書の第１の順次集約木特定情報に基づいて、前記第１及び第２の証明書間における証明要求の受付時刻の前後関係を判定する証明書間順序判定ステップをさらに有し、
前記監査結果送信ステップにおいて、前記監査装置は、前記複数の証明書間における要求受付の時間的順序を前記監査結果に含めることを特徴とする請求項１７記載のイベント順序証明監査方法。
【請求項１９】
前記監査装置が前記複数の監査用証明書及び前記複数の監査用証明書の遅延補完情報から前記順次集約木のルート値を計算するルート値計算ステップと、
前記監査装置が電子的に公表された前記順次集約木のルート値と前記計算されたルート値が一致するか否かの検証を行うルート値検証ステップと、
をさらに有することを特徴とする請求項１７又は１８記載のイベント順序証明監査方法。
【請求項２０】
前記監査装置が、前記第１の監査用証明書選択ステップで選択された監査用証明書及び該監査用証明書の遅延補完情報を前記利用者装置に送信する監査用補完情報送信ステップをさらに有することを特徴とする請求項１７乃至１９のいずれか１項に記載のイベント順序証明監査方法。
【請求項２１】
前記監査用証明書受信ステップは、さらに、前記監査装置が前記第２の監査用証明書選択ステップで選択された監査要求を前記証明装置に送信した第２の時刻を時刻提供装置から取得するステップを有し、
前記第２の証明書監査ステップにおいて、前記監査装置は、前記第１の証明書の前記証明要求の前記受付時刻が前記第２の時刻より時間的に後であることを示す区間時刻証を監査結果に含めることを特徴とする請求項１７乃至２０のいずれか１項に記載のイベント順序証明監査方法。
【請求項２２】
前記第１の証明監査ステップにおいて、前記監査装置は、前記監査結果にデジタル署名を施すことを特徴とする請求項１５乃至２１のいずれか１項に記載のイベント順序証明監査方法。
【請求項２３】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行い、証明書の作成を促す利用者装置と、該証明書の真偽を監査する監査装置とに通信ネットワークを介して相互に接続され、前記証明書を作成するイベント順序証明装置であって、
前記利用者装置から証明要求を受信する順序証明要求受信手段と、
前記証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む証明書を作成する証明書作成手段と、
前記証明書を前記利用者装置に送信する証明書送信手段と、
前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、
前記証明要求を前記順次集約木に割り当てた以後に、第１の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第１の監査用証明書を作成するとともに、前記第１の監査要求を前記順次集約木に割り当てた時点における第１の監査用の即時補完情報を前記順次集約木から取得し、該第１の監査用証明書に含める監査用証明書作成手段と、
前記第１の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、
前記第１の監査要求を前記順次集約木に割り当てた以後に、前記利用者装置からの前記証明書の補完情報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、
前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、
を有することを特徴とするイベント順序証明装置。
【請求項２４】
前記証明書作成手段は、前記第１の順次集約木特定情報に前記第１の証明書の即時補完情報を含めることを特徴とする請求項２３記載のイベント順序証明装置。
【請求項２５】
前記監査用証明書作成手段は、さらに、前記証明要求を前記順次集約木に割り当てた以前に、第２の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第２の監査用証明書を作成するとともに、前記第２の監査要求を前記順次集約木に割り当てた時点における第２の監査用の即時補完情報を前記順次集約木から取得し、該第２の監査用証明書に含める手段を備え、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記第１及び第２の監査用証明書の補完情報すべてを前記順次集約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成手段と、
前記第１及び第２の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査用遅延補完情報送信手段と、
をさらに有することを特徴とする請求項２３又は２４記載のイベント順序証明装置。
【請求項２６】
前記順次割当データ計算手段は、前記証明要求に含まれる前記デジタル情報に対して所定の衝突困難一方向関数を適用した結果値を前記順次割当データとして計算することを特徴とする請求項２３乃至２５のいずれか１項に記載のイベント順序証明装置。
【請求項２７】
前記証明書作成手段は、前記証明書にデジタル署名を施すことを特徴とする請求項２３乃至２６のいずれか１項に記載のイベント順序証明装置。
【請求項２８】
前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する電子的情報公表手段をさらに有することを特徴とする請求項２３乃至２７のいずれか１項に記載のイベント順序証明装置。
【請求項２９】
前記利用者装置から複数の証明要求が為されたときに、各証明要求を前記順次集約木に割り当てた時間的順序で、各証明要求に対する証明書を送信する手段を有することを特徴とする請求項２３乃至２８のいずれか１項に記載のイベント順序証明装置。
【請求項３０】
前記利用者装置から複数の証明要求が為されたときに、
前記順序証明要求集約手段により生成される前記順次集約木に関する情報を記憶する順次集約木記憶手段と、
前記順次集約木において、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
前記複数の証明要求の登録点に関する情報を記憶する登録点記憶手段と、
を有し、
前記証明書作成手段は、各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報と、前記新登録点の即時補完情報と、前記利用者装置の過去のすべての登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成することを特徴とする請求項２４記載のイベント順序証明装置。
【請求項３１】
前記利用者装置から複数の証明要求が為されたときに、
前記順序証明要求集約手段で生成される前記順次集約木に関する情報を記憶部に記憶する順次集約木記憶手段と、
前記順次集約木において、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
前記直前の登録点に関する情報を前記記憶部に記憶する登録点記憶手段と、
をさらに有し、
前記証明書作成手段は、各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、該新登録点の即時補完情報を備える前記証明書と、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成することを特徴とする請求項２４記載のイベント順序証明装置。
【請求項３２】
前記順次集約木記憶手段は、前記順次集約木に関する情報として、前記順次集約木において割当処理がされた各ノードの位置及び割当値を記憶することを特徴とする請求項３０又は３１記載のイベント順序証明装置。
【請求項３３】
前記順次集約木記憶手段は、前記新登録点の前記即時補完情報を記憶する第１のスタックと、前記利用者装置の前記直前の登録点の前記新登録点における前記遅延補完情報を記憶する第２のスタックとを有することを特徴とする請求項３１記載のイベント順序証明装置。
【請求項３４】
前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する電子的情報公表手段をさらに有することを特徴とする請求項３０乃至３３のいずれか１項に記載のイベント順序証明装置。
【請求項３５】
前記利用者装置は、前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したときに、イベント順序証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書から、計算可能な割当値を持つ前記順次集約木のノードのうちで、その親のノードの割当値が計算できないような１つあるいは複数のノードの位置情報と割当値を、電子的に公表する利用者サイド電子的情報公表手段をさらに有することを特徴とする請求項３０乃至３４のいずれか１項に記載のイベント順序証明装置。
【請求項３６】
前記順序証明要求集約手段は、前記一定時間間隔終了後に前記順次集約木の前記ルート値を、次の順次集約木のリーフに割り当てられた新たな登録点の即時補完情報となるように、前記次の順次集約木のリーフに割り当てることを特徴とする請求項３０乃至３５のいずれか１項に記載のイベント順序証明装置。
【請求項３７】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置とに通信ネットワークを介して接続され、前記証明書の真偽を監査するイベント順序証明監査装置であって、
前記証明装置は、
前記利用者装置からの第１の証明要求を受信する順序証明要求受信手段と、
前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成手段と、
前記第１の証明書を前記利用者装置に送信する証明書送信手段と、
前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、
複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順次集約木に割り当てた時点における監査用の前記即時補完情報を前記順次集約木から取得し、各監査用証明書に含める監査用証明書作成手段と、
前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、
前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、
前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、
を備え、
前記証明装置から前記複数の監査用証明書を受信する監査用証明書受信手段と、
前記利用者装置から前記第１の証明書及び前記遅延補完情報を含む前記第１の証明書に対する監査要求を受信する監査要求受信手段と、
前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報に基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する第１の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択手段で選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻との前後関係を証明する第１の証明書監査手段と、
前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と、
を備えることを特徴とするイベント順序証明監査装置。
【請求項３８】
前記監査用証明書受信手段は、さらに、前記第１の監査用証明書選択手段によって選択された監査用証明書を受信した第１の時刻を時刻提供装置から取得する手段を備え、
前記第１の証明書監査手段は、前記第１の証明書の前記証明要求の前記受付時刻が前記第１の時刻よりも時間的に前であることを示す区間時刻証を前記監査結果に含めることを特徴とする請求項３７記載のイベント順序証明監査装置。
【請求項３９】
前記証明装置は、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記複数の監査用証明書の補完情報すべてを前記順次集約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成手段と、
前記複数の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査用遅延補完情報送信手段と、
をさらに備え、
前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１の順次集約木特定情報に基づいて、前記第１の証明書より時間的順序が前の監査用証明書を選択する第２の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第１の証明書に対する監査要求に含まれる該ノードの割当値と、前記第２の監査用証明書選択手段で選択された監査用証明書及び該監査用証明書の前記遅延補完情報から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の前記証明要求の前記受付時刻と前記第２の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第２の証明書監査手段と、
をさらに備えることを特徴とする請求項３７又は３８記載のイベント順序証明監査装置。
【請求項４０】
前記利用者装置又は他の利用者装置から第２の証明要求が為されたときに、前記第２の証明要求に対して作成された第２の証明書に対する監査結果と、前記第１及び第２の証明書の第１の順次集約木特定情報に基づいて、前記第１及び第２の証明書間における証明要求の受付時刻の前後関係を判定する証明書間順序判定手段をさらに備え、
前記監査結果送信手段は、前記複数の証明書間における要求受付の時間的順序を前記監査結果に含めることを特徴とする請求項３９記載のイベント順序証明監査装置。
【請求項４１】
前記複数の監査用証明書及び該複数の監査用証明書の遅延補完情報から前記順次集約木のルート値を計算するルート値計算手段と、
電子的に公表された前記順次集約木のルート値と前記計算されたルート値が一致するか否かの検証を行うルート値検証手段と、
をさらに備えることを特徴とする請求項３９又は４０記載のイベント順序証明監査装置。
【請求項４２】
前記第１の監査用証明書選択手段で選択された監査用証明書及び該監査用証明書の遅延補完情報を前記利用者装置に送信する監査用補完情報送信手段をさらに備えることを特徴とする請求項３９乃至４１のいずれか１項に記載のイベント順序証明監査装置。
【請求項４３】
前記監査用証明書受信手段は、さらに、前記第２の監査用証明書選択手段によって選択された監査要求を前記証明装置に送信した第２の時刻を時刻提供装置から取得する手段を備え、
前記第２の証明書監査手段は、前記第１の証明書の前記証明要求の前記受付時間が前記第２の時刻より時間的に後であることを示す区間時刻証を監査結果に含めることを特徴とする請求項３９乃至４２のいずれか１項に記載のイベント順序証明監査装置。
【請求項４４】
前記第１の証明書監査手段は、前記監査結果にデジタル署名を施すことを特徴とする請求項３９乃至４３のいずれか１項に記載のイベント順序証明監査装置。
【請求項４５】
請求項１乃至１４のいずれか１項に記載のイベント順序証明方法の各ステップを前記証明装置に実行させることを特徴とするイベント順序証明プログラム。
【請求項４６】
請求項１５乃至２２のいずれか１項に記載のイベント順序証明監査方法の各ステップを前記監査装置に実行させることを特徴とするイベント順序証明監査プログラム。
【請求項４７】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明検証システムにおける前記利用者装置のためのイベント順序証明検証プログラムであって、
前記証明装置は、
前記利用者装置からの第１の証明要求を受信する順序証明要求受信手段と、
前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成手段と、
前記第１の証明書を前記利用者装置に送信する証明書送信手段と、
前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、
複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順次集約木に割り当てた時点におけるそれぞれの監査用の即時補完情報を前記順次集約木から取得し、前記複数の監査用証明書に含める監査用証明書作成手段と、
前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、
前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、
前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、
を有し、
前記監査装置は、
前記証明装置から、前記複数の監査用証明書を受信する監査用証明書受信手段と、
前記利用者装置から、前記第１の証明書及び前記遅延補完情報を含む前記第１の証明書に対する監査要求を受信する監査要求受信手段と、
前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報に基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する第１の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択手段によって選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第１の証明書監査手段と、
前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と、
を有し、
前記第１の証明要求を前記証明装置に送信する順序証明要求送信ステップと、
前記証明装置から、前記第１の証明書を受信する証明書受信ステップと、
前記第１の証明書の前記補完情報の要求を前記証明装置に送信する補完情報要求送信ステップと、
前記証明装置から、前記第１の証明書の前記補完情報を受信する補完情報受信ステップと、
前記監査要求を前記監査装置に送信する監査要求送信ステップと、
前記第１の証明書の監査結果を受信する監査結果受信ステップと、
を前記利用者装置に実行させることを特徴とするイベント順序証明検証プログラム。
【請求項４８】
前記監査用証明書受信手段は、前記第１の監査用証明書選択手段によって選択された監査用証明書を受信した第１の時刻を時刻提供装置から取得する手段を有し、
前記第１の証明書監査手段は、前記第１の証明書の前記証明要求の前記受付時刻が前記第１の時刻よりも時間的に前であることを示す区間時刻証を前記監査結果に含め、
前記第１の証明要求を前記証明装置に送信する時点の第３の時刻を前記時刻提供装置から取得し、該第３の時刻を所定の手順に従って計算した値を前記第１の証明要求に含める順序証明要求作成ステップを
前記利用者装置に実行させることを特徴とする請求項４７記載のイベント順序証明検証プログラム。
【請求項４９】
前記証明装置は、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記複数の監査用証明書の補完情報すべてを前記順次集約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成手段と、
前記複数の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査用遅延補完情報送信手段と、
を有し、
前記監査装置は、
前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１の順次集約木特定情報に基づいて、前記第１の証明書より時間的順序が前の監査用証明書を選択する第２の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第１の証明書に対する監査要求に含まれる該ノードの割当値と、前記第２の監査用証明書選択手段で選択された監査用証明書及び該監査用証明書の遅延補完情報から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の前記証明要求の前記受付時刻と前記第２の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第２の証明書監査手段と、
を有することを特徴とする請求項４７又は４８記載のイベント順序証明検証プログラム。
【請求項５０】
前記監査装置は、
前記利用者装置又は他の利用者装置から第２の証明要求が為されたときに、前記第２の証明要求に対して作成された第２の証明書に対する監査結果と、前記第１及び第２の証明書の第１の順次集約木特定情報に基づいて、前記第１及び第２の証明書間における証明要求の受付時刻の前後関係を判定する証明書間順序判定手段を有し、
前記監査結果送信手段は、前記第１及び第２の証明書間における前記証明要求の前記受付時間の前記前後関係を前記監査結果に含め、
前記第１の証明書に対する監査要求は、前記第２の証明書との時間的順序の判定要求を含むことを特徴とする請求項４９記載のイベント順序証明検証プログラム。
【請求項５１】
前記監査装置は、
前記第１の監査用証明書選択手段で選択された監査用証明書及び該監査用証明書の遅延補完情報を前記利用者装置に送信する監査用補完情報送信手段を有し、
前記監査装置から送信された監査用証明書及び該監査用証明書の遅延補完情報を受信するステップを
前記利用者装置に実行させることを特徴とする請求項４９記載のイベント順序証明検証プログラム。
【請求項５２】
前記監査用証明書受信手段は、前記第２の監査用証明書選択手段によって選択された監査要求を前記証明装置に送信した第２の時刻を時刻提供装置から取得する手段を有し、
第２の証明書監査手段は、前記第１の証明書の前記証明要求の前記受付時刻が前記第２の時刻より時間的に後であることを示す区間時刻証を監査結果に含め、
前記第１の証明要求を前記証明装置に送信した時点の第３の時刻を前記時刻提供装置から取得し、該第３の時刻を所定の手順に従って計算した値を前記第１の証明要求に含める順序証明要求作成ステップを
前記利用者装置に実行させることを特徴とする請求項４８乃至５１のいずれか１項に記載のイベント順序証明検証プログラム。
【請求項５３】
前記証明装置から受信した前記第１の証明書、及び前記一定時間間隔終了後に取得した該第１の証明書の補完情報すべてから、前記順次集約木のルート値を計算するルート値計算ステップと、
前記一定時間間隔終了後に電子的に公表された前記順次集約木のルート値と前記計算されたルート値が一致するか否かの検証を行うルート値検証ステップと、
を
前記利用者装置に実行させることを特徴とする請求項４７乃至５２のいずれか１項に記載のイベント順序証明検証プログラム。
【請求項５４】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う第１及び第２の利用者装置と、各利用者装置からの複数の証明要求に対して複数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プログラムであって、
前記イベント順序証明装置は、
前記第１及び第２の利用者装置から複数の証明要求を受信する順序証明要求受信手段と、
各証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶手段と、
各証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち、前記順次割当データを前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点以後において取得可能な補完情報を遅延補完情報と定義し、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の前記要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
利用者装置ごとに前記複数の証明要求の登録点に関する情報を記憶する登録点記憶手段と、
各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、前記新登録点の即時補完情報と、各利用者装置の過去のすべての登録点の新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成する証明書作成手段と、
前記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、
を有し、
各利用者装置は、
複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、
前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証明書受信手段と、
前記受信した複数の証明書を記憶する証明書記憶手段と、
前記受信し記憶した複数の証明書のうち、検証対象の証明書を検証するコンピュータに送信する検証要求送信手段と、
前記コンピュータから前記検証対象の証明書に対する検証結果を受信する検証結果受信手段と、
を有し、
前記第１及び第２の利用者装置から検証対象の証明書を１つずつ受信するか、或いは前記第１の前記利用者装置から検証対象の証明書を２つ受信する証明書受信ステップと、
前記受信した２つの証明書の順次集約木特定情報に基づいて、前記２つの証明書のうち発行された順序が時間的に前であると判断された証明書を第１の証明書、後であると判断された証明書を第２の証明書とすると、前記第１の証明書を送信した利用者装置に対して前記第２の証明書の順次集約木特定情報を送信する順次集約木特定情報送信ステップと、
前記第１の証明書を送信した利用者装置から、前記第１の証明書の前記第２の証明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステップと、
前記順次集約木の特定のノードに対して、前記第２の証明書に含まれるノードの割当値と、前記第１の証明書および前記遅延補完情報から計算されたノードの割当値が一致するか否かの検証に基づいて、各証明書の正当性及び前記第１の証明書の登録点が前記第２の証明書の登録点より時間的に前であることを証明する検証ステップと、
検証結果を前記第１及び第２の利用者装置、或いは前記第１又は第２の利用者装置に送信する検証結果送信ステップと、
を前記コンピュータに実行させることを特徴とするイベント順序証明検証プログラム。
【請求項５５】
各利用者装置は、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したとき、イベント順序証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書から、計算可能な割当値を持つ前記順次集約木のノードのうちで、その親のノードの割当値が計算できないような１つあるいは複数のノードの位置情報と割当値を、電子的に公表する利用者サイド電子的情報公表手段、
を有し、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したとき、前記利用者装置により前記利用者サイド電子的情報公表手段で公表されたノードの割当値と、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受信したデータから該ノード割当値が計算できるときには計算されたノードの割当値が一致するか否かにより、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受信したデータが改ざんされていないことの検証を行う利用者サイド公表値による検証ステップ
を前記コンピュータに実行させることを特徴とする請求項５４記載のイベント順序証明検証プログラム。
【請求項５６】
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う第１及び第２の利用者装置と、各利用者装置からの複数の証明要求に応えて複数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プログラムであって、
前記イベント順序証明装置は、
前記第１及び第２の利用者装置から複数の証明要求を受信する順序証明要求受信手段と、
各証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶手段と、
各証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要な他のノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち、前記順次割当データを前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点以後において取得可能な補完情報を遅延補完情報と定義し、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の前記要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
利用者装置ごとに前記直前の登録点に関する情報を記憶する登録点記憶手段と、
各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、新登録点の即時補完情報と、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成する証明書作成手段と、
作成された証明応答を前記利用者装置に送信する証明応答送信手段と、
を有し、
各利用者装置の各登録点のうち、前記順次集約木の最も右に割り付けられた登録点を暫定終端点とし、該暫定終端点の割付処理が終了した時点において、所定の登録点の取得可能な補完情報すべてを計算することを、前記所定の登録点の証明書に対するインクリメンタル完全化と定義すると、
各利用者装置は、
複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、
前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証明書受信手段と、
前記受信した複数の証明書を記憶する証明書記憶手段と、
前記受信し記憶した複数の証明書のうち、検証対象の証明書に対して前記インクリメンタル完全化の処理を行うインクリメンタル完全化手段と、
前記インクリメンタル完全化された証明書を検証する検証要求をコンピュータに送信する検証要求送信手段と、
前記コンピュータから前記検証対象の前記証明書に対する検証結果を受信する検証結果受信手段と、
を有し、
前記第１及び第２の利用者装置から検証対象の証明書を１つずつ受信するか、或いは前記第１の利用者装置から検証対象の証明書を２つ受信する証明書受信ステップと、
前記受信した２つの証明書の順次集約木特定情報に基づいて、前記２つの証明書のうち発行された順序が時間的に前であると判断された証明書を第１の証明書、後であると判断された証明書を第２の証明書とすると、前記第１の証明書を送信した利用者装置に、前記第２の証明書の順次集約木特定情報を送信する順次集約木特定情報送信ステップと、
前記第１の証明書を送信した利用者装置から、前記第１の証明書の前記第２の証明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステップと、
前記順次集約木の特定のノードに対して、前記第２の証明書に含まれるノードの割当値と、前記第１の証明書および前記遅延補完情報から計算されたノードの割当値が一致するか否かの検証に基づいて、各証明書の正当性及び前記第１の証明書の登録点が前記第２の証明書の登録点より時間的に前であることを証明する検証ステップと、
検証結果を前記第１及び第２の利用者装置、或いは前記第１又は第２の利用者装置に送信する検証結果送信ステップと、
を前記コンピュータに実行させることを特徴とするイベント順序証明検証プログラム。
【請求項５７】
各利用者装置は、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したとき、イベント順序証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書から、計算可能な割当値を持つ順次集約木のノードのうちで、その親のノードの割当値が計算できないような１つあるいは複数のノードの位置情報と割当値を、電子的に公表する利用者サイド電子的情報公表手段、
を有し、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消失したとき、前記利用者装置により前記利用者サイド電子的情報公表手段で公表されたノードの割当値と、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受信したデータから該ノード割当値が計算できるときには計算されたノードの割当値が一致するか否かにより、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受信したデータが改ざんされていないことの検証を行う利用者サイド公表値による検証ステップ
を前記コンピュータに実行させることを特徴とする請求項５６記載のイベント順序証明検証プログラム。
【請求項５８】
前記利用者装置から複数の証明要求が為されたときに、
前記順序証明要求集約手段で生成される前記順次集約木に関する情報を記憶する順次集約木記憶手段と、
前記順次集約木において、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、
前記直前の登録点に関する情報を記憶する登録点記憶手段と、
各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、前記新登録点の即時補完情報を備える前記証明書と、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成する前記証明書作成手段と、
前記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、
を有し、
前記利用者装置の各登録点のうち、前記順次集約木の最も右に割り付けられた登録点を暫定終端点と定義し、該暫定終端点の割付処理が終了した時点において、所定の登録点の取得可能な補完情報すべてを計算することを、前記所定の登録点の証明書に対するインクリメンタル完全化と定義すると、
前記複数の証明要求を前記証明装置に送信する要求送信ステップと、
前記証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証明書受信ステップと、
前記受信した複数の証明書を記憶する証明書記憶ステップと、
前記受信し記憶した複数の証明書のうち、検証対象の証明書に対して前記インクリメンタル完全化の処理を行うインクリメンタル完全化ステップと、
を前記利用者装置に実行させることを特徴とする請求項４７に記載のイベント順序証明検証プログラム。
【請求項５９】
前記インクリメタル完全化は、前記利用者装置が前記証明装置から受信し記憶した前記複数の証明書を用いて、木構造を構成することなく実行されることを特徴とする請求項５６乃至５８のいずれか１項に記載のイベント順序証明検証プログラム。
【請求項６０】
前記インクリメタル完全化は、所定の登録点の、前記暫定終端点の割付処理が終了した時点において取得可能な補完情報の各要素に対して、前記利用者装置が前記証明装置から受信し記憶した１つあるいは複数の証明書の中から該要素を直接含むかあるいは該要素を計算するために十分な情報含むような１つの証明書を選出し、該証明書から該要素を計算することにより実行されることを特徴とする請求項５９に記載のイベント順序証明検証プログラム。
【請求項６１】
前記インクリメンタル完全化は、前記利用者装置の前記暫定終端点より左に位置するすべての登録点に対して行うことを特徴とする請求項５９記載のイベント順序証明検証プログラム。
【請求項６２】
前記暫定終端点の、左に位置する前記利用者装置の登録点ａ１とその左に位置し前記登録点ａ１に最も近い該利用者装置のもう一つの登録点ａ２について、
前記登録点ａ１の該暫定終端点の割付処理が終了した時点において取得可能な補完情報の全てと、前記登録点ａ２及びａ１における受理証明書から、前記登録点ａ２の該暫定終端点の割付処理が終了した時点において取得可能な補完情報の全てを計算することを完全化波及処理と定義すると、
前記インクリメタル完全化は、
前記暫定終端点の、左に位置し、該暫定終端点に最も近い、前記利用者装置の登録点ａに対して該暫定終端点の割付処理が終了した時点において取得可能な補完情報すべてを前記利用者装置が受信し記憶した証明書から取得あるいは計算することから始まり、暫定終端点の左に位置する各登録点の該暫定終端点の割付処理が終了した時点において取得可能な補完情報すべてを計算する処理を、このような登録点のうち一番右に位置する前記登録点ａからはじめ、前記完全化波及処理を用いて、順次その左に位置する登録点に対して実行することにより木構造を構成することなく実行されることを特徴とする請求項６１に記載のイベント順序証明検証プログラム。
【請求項６３】
前記インクリメタル完全化は、前記暫定終端点までの各登録点を適宜抽出し、この抽出された登録点間の局所領域に分割し、分割された各局所領域において最も右に割り付けられた登録点を暫定終端点と仮定して、インクリメタル完全化を行うとともに、抽出された各登録点の取得可能な補完情報すべてを計算する方法により行われることを特徴とする請求項５６乃至６２のいずれか１項に記載のイベント順序証明検証プログラム。
【請求項６４】
前記証明装置は、
前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する電子的情報公表手段を有し、
前記一定時間間隔終了後に、前記所定の登録点に関する情報と前記インクリメンタル完全化ステップで計算された補完情報から、前記順次集約木のルート値を計算するルート値計算ステップと、
電子的に公表された前記順次集約木の前記ルート値と前記計算されたルート値が一致するか否かの検証を行うルート値検証ステップと、
を前記利用者装置に実行させることを特徴とする請求項５６乃至６３のいずれか１項に記載のイベント順序証明検証プログラム。
【請求項６５】
請求項４８又は５２記載のイベント順序証明検証プログラムを実行する利用者装置が前記要求に付した時刻を検証するコンピュータが読み取り可能なイベント時刻検証プログラムであって、
前記監査結果を取得する監査結果取得ステップと、
前記監査結果に対応する前記要求を取得する順序証明要求取得ステップと、
前記第３の時刻と、前記第１又は第２の時刻のうち少なくとも１以上との時間差に基づいて、前記第３の時刻の正当性を判定する時刻検証ステップと、
前記判定結果を出力するステップと、
を前記コンピュータに実行させることを特徴とするイベント時刻検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、デジタル・データの生成を伴うイベントの生起順序を証明するイベント順序証明技術に関する。
【背景技術】
【０００２】  イベント順序証明技術は、デジタル・データの生成を伴う複数のイベント間の生起順序を証明するとともに、そのようなイベントに伴って生成されたデジタル・データが何であったかを証明する技術である。【０００３】  近年、インターネット上での電子商取引の活発化や、デジタル文書管理の利用拡大に伴い、「誰が、いつ、どんなデータを生成し、交信したか」を第三者が証明する電子公証の仕組みが必要とされている。電子公証は、送受信者の特定、到達確認、送受信等の前後関係の証明、改ざんの検知、電子文書保管等の機能を具備するものであるが、イベント順序証明技術は、このうち、前後関係の証明及び改ざんの検知の機能を実現するものである。【０００４】  図１は、このようなイベント順序証明技術を用いたイベント順序証明システムを説明する図である。同図に示すイベント順序証明システム９００は、利用者（要求者、検証者）３０がイベント順序証明の対象データをイベント順序証明装置１０に送信すると、イベント順序証明装置１０が利用者３０から要求された対象データに対して受付の順番を示すデータを付したイベント順序受理証明書を生成し、該イベント順序受理証明書を利用者に返信するようになっている。そして、イベント順序証明装置１０で発行されたイベント順序受理証明書は、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ；公開鍵基盤）のもとでデジタル署名を主要な偽造防止／証明手段として採用する場合には、一般に、利用者３０から送られた対象データに受付の順番を付した署名対象データに対するデジタル署名を含んだイベント順序受理証明書となっている。【０００５】  このイベント順序受理証明書の真正性の主要な根拠としてデジタル署名を用いるイベント順序証明システムに関しては、イベント順序証明装置１０の不正、イベント順序受理証明書の有効期間、およびシステム運用の面などにおいて問題点が指摘されている。そのため、イベント順序受理証明書の真正性の主要な根拠としてデジタル署名を用いないイベント順序証明の方法も提案されている。例えば、線形リンキング（Ｌｉｎｅａｒ  Ｌｉｎｋｉｎｇ  Ｐｒｏｔｏｃｏｌ）による方法（例えば、非特許文献１及び非特許文献２参照。）は、イベント順序証明装置１０が仮に信頼できないとしてもシステム全体として高い安全性を確保することが可能となっている方法である。図２は、ＰＫＩに依存しない線形リンキングによるイベント順序証明システムを説明する図である。同図に示すイベント順序証明システム９１０は、複数の利用者３０のイベント順序証明対象データ（ハッシュ値）を相互に関連付けるリンク情報Ｌｎを生成し、リンク情報Ｌｎを含むイベント順序受理証明書を返信するようになっており、各イベント順序受理証明書が、それまでに生成されたすべてのイベント順序受理証明書に依存するようになっている。そして、このリンク情報の一部（ＬＭ，ＬＮ）が定期的にマスメディア等（例えば新聞）に公表されるので、これにより、イベント順序証明装置１０の不正を防止し、結果としてシステム全体の信頼を高めることができるようになっている。【０００６】  この線形リンキングの方式については、イベント順序証明装置１０の不正を検出するために利用者３０相互の協力が必要であるという問題点、及び、利用者３０が取得したイベント順序受理証明書を検証、即ち、該イベント順序受理証明書と公表された情報が所定の方式で関係づけられることを検証するには利用者３０はイベント順序証明装置１０から大量のデータを取得する必要があるという問題点が指摘されている。【０００７】  これらの問題の一部を解決するための方法も提案されている。例えば、非特許文献３及び非特許文献４においては、一定期間にイベント順序証明装置で処理されたイベント順序証明要求をまとめ公表するデータを計算するために、非特許文献１及び非特許文献２で使われている線形のリストの代わりに、木構造を用いることにより、利用者３０がイベント順序受理証明書の検証を行うために必要なデータの量を、該一定期間に受付けられるイベント順序証明要求の数に比例する量から、その対数（底２）に比例する量に著しく削減する方法を提案している。
【非特許文献１】Ｓ．Ｈａｂｅｒ  ａｎｄ  Ｗ．Ｓｔｏｒｎｅｔｔａ，Ｈｏｗ  ｔｏ  Ｔｉｍｅ−Ｓｔａｍｐ  ａ  Ｄｉｇｉｔａｌ  Ｄｏｃｕｍｅｎｔ，Ｊｏｕｒｎａｌ  ｏｆ  Ｃｒｙｐｔｏｌｏｇｙ，Ｖｏｌ．３，Ｎｏ．２，ｐｐ．９９＿１１１，１９９１
【非特許文献２】Ｊ．−Ｊ．Ｑｕｉｓｑｕａｔｅｒ，Ｈ．Ｍａｓｓｉａｓ，Ｊ．Ｓ．Ａｖｉｌａ，Ｂ．Ｐｒｅｎｅｅｌ，Ｂ．Ｖａｎ  Ｒｏｍｐａｙ：Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  ｔｉｍｅｓｔａｍｐｉｎｇ  ｓｙｓｔｅｍ，Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ  ｏｆ  Ｕｎｉｖｅｒｓｉｔｅ  Ｃａｔｈｏｌｉｑｕｅ  ｄｅ  Ｌｏｕｖａｉｎ，１９９９，ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｄｉｃｅ．ｕｃｌ．ａｃ．ｂｅ／ｃｒｙｐｔｏ／ＴＩＭＥＳＥＣ／ＴＲ４．ｔｇｚｌ
【非特許文献３】Ａ．Ｂｕｌｄａｓ、Ｈ．Ｌｉｐｍａａ  ａｎｄ  Ｂ．Ｓｃｈｏｅｎｍａｋｅｒｓ，              Ｏｐｔｉｍａｌｌｙ  ｅｆｆｉｃｉｅｎｔ  ａｃｃｏｕｎｔａｂｌｅ  ｔｉｍｅ−ｓｔａｍｐｉｎｇ，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ２０００（ＰＫＣ２０００），ｅｄｓ．Ｙ．Ｚｈｅｎｇ  ａｎｄ  Ｈ．Ｉｍａｉ，ｐｐ．２９３＿３０５，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，Ｊａｎｕａｒｙ  ２０００
【非特許文献４】Ａ．Ｂｕｌｄａｓ、Ｈ．Ｌｉｐｍａａ  ａｎｄ  Ｂ．Ｓｃｈｏｅｎｍａｋｅｒｓ，              Ｏｐｔｉｍａｌｌｙ  ｅｆｆｉｃｉｅｎｔ  ａｃｃｏｕｎｔａｂｌｅ  ｔｉｍｅ−ｓｔａｍｐｉｎｇ，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ２０００（ＰＫＣ２０００），ｅｄｓ．Ｙ．Ｚｈｅｎｇ  ａｎｄ  Ｈ．Ｉｍａｉ，ｐｐ．２９３−３０５，Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，Ｊａｎｕａｒｙ  ２０００
【発明の開示】
【０００８】  しかしながら、非特許文献３及び非特許文献４に記載の木構造を用いる方式については、次のような問題点がある。
【０００９】  ある一定期間に異なる２つの利用者が各々イベント順序証明要求をイベント順序証明装置に送付し、それら要求が受理されたときにおいて、第１の利用者のある順序証明要求の受付けが第２の利用者のある順序証明要求の受付けより前になされたことの証明が、当該の期間が終了してイベント順序証明要求をまとめた公表データが公開されるまではできないという問題がある。即ち、当該の２つの順序証明要求と公表データが所定の方式で関係付けられることの検証が、公表データが公開されるまでできないという問題がある。このため、イベント順序証明システムに対する利用者の利便性が劣るとともに、イベント順序証明装置に障害が発生した時には、イベント順序受理証明書の検証ができないという欠点がある。
【００１０】  本発明は、上記の問題を解決するためになされたものであり、木構造を用いてイベント順序を証明するイベント順序証明システムにおいて、イベント順序証明要求をまとめた公表データを用いなくても、イベント順序証明機関から発行されたイベント順序受理証明書の検証を行うことができるイベント順序証明方法及びイベント順序証明監査方法、イベント順序証明システムにおける証明装置及び監査装置、並びにイベント順序証明プログラム、イベント順序証明監査プログラム、イベント順序証明検証プログラム及びイベント時刻検証プログラムを提供することを目的とする。
【００１１】  本発明の第１の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う利用者装置と、前記利用者装置からの前記証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明システムにおけるイベント順序証明方法であって、前記証明装置が前記利用者装置からの証明要求を受信する順序証明要求受信ステップと、前記証明装置が前記証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算ステップと、前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約ステップと、前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む証明書を作成する証明書作成ステップと、前記証明装置が前記証明書を前記利用者装置に送信する証明書送信ステップと、前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、前記証明装置が、前記証明要求を前記順次集約木に割り当てた以後に、第１の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第１の監査用証明書を作成するとともに、前記監査要求を前記順次集約木に割り当てた時点における第１の監査用の即時補完情報を前記順次集約木から取得し、前記第１の監査用証明書に含める監査用証明書作成ステップと、前記証明装置が前記第１の監査用証明書を前記監査装置に送信する監査用証明書送信ステップと、前記証明装置が、前記第１の監査要求を前記順次集約木に割り当てた以後に、前記利用者装置からの前記証明書の補完情報の要求を受信する補完情報要求受信ステップと、前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成ステップと、前記証明装置が前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信ステップと、を有することを特徴とする。
【００１２】  本発明の第２の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明システムにおけるイベント順序証明監査方法であって、前記証明装置が前記利用者装置から第１の証明要求を受信する順序証明要求受信ステップと、前記証明装置が前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算ステップと、前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約ステップと、前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成ステップと、前記証明装置が前記第１の証明書を前記利用者装置に送信する証明書送信ステップと、前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点として定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、前記証明装置が、複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、各監査要求を前記順次集約木に割り当てた時点における監査用の即時補完情報を前記順次集約木から取得し、各監査用証明書に含める監査用証明書作成ステップと、前記証明装置が前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信ステップと、前記証明装置が、前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信ステップと、前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成ステップと、前記証明装置が前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信ステップと、前記監査装置が、前記証明装置から前記複数の監査用証明書を受信する監査用証明書受信ステップと、前記監査装置が、前記利用者装置から前記第１の証明書及び前記第１の証明書の前記遅延補完情報を含む前記第１の証明書���対する監査要求を受信する監査要求受信ステップと、前記監査装置が、前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報に基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する第１の監査用証明書選択ステップと、前記監査装置が、前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択ステップで選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択ステップで選択された監査用証明書の監査要求の受付時刻との前後関係を証明する第１の証明書監査ステップと、前記監査装置が前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信ステップと、を有することを特徴とする。
【００１３】  本発明の第３の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行い、証明書の作成を促す利用者装置と、該証明書の真偽を監査する監査装置とに通信ネットワークを介して相互に接続され、前記証明書を作成するイベント順序証明装置であって、前記利用者装置から証明要求を受信する順序証明要求受信手段と、前記証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む証明書を作成する証明書作成手段と、前記証明書を前記利用者装置に送信する証明書送信手段と、前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、前記証明要求を前記順次集約木に割り当てた以後に、第１の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第１の監査用証明書を作成するとともに、前記第１の監査要求を前記順次集約木に割り当てた時点における第１の監査用の即時補完情報を前記順次集約木から取得し、該第１の監査用証明書に含める監査用証明書作成手段と、前記第１の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、前記第１の監査要求を前記順次集約木に割り当てた以後に、前記利用者装置からの前記証明書の補完情報の要求を受信する補完情報要求受信手段と、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、を有することを特徴とする。
【００１４】  本発明の第４の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置とに通信ネットワークを介して接続され、前記証明書の真偽を監査するイベント順序証明監査装置であって、前記証明装置は、前記利用者装置からの第１の証明要求を受信する順序証明要求受信手段と、前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成手段と、前記第１の証明書を前記利用者装置に送信する証明書送信手段と、前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順次集約木に割り当てた時点における監査用の前記即時補完情報を前記順次集約木から取得し、各監査用証明書に含める監査用証明書作成手段と、前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信手段と、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、を備え、前記証明装置から前記複数の監査用証明書を受信する監査用証明書受信手段と、前記利用者装置から前記第１の証明書及び前記遅延補完情報を含む前記第１の証明書に対する監査要求を受信する監査要求受信手段と、前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報に基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査���証明書を選択する第１の監査用証明書選択手段と、前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択手段で選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻との前後関係を証明する第１の証明書監査手段と、前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と、を備えることを特徴とする。
【００１５】  本発明の第５の側面は、上記したイベント順序証明方法の各ステップを前記証明装置に実行させるイベント順序証明プログラムを提供することにある。
【００１６】  本発明の第６の側面は、上記したイベント順序証明監査方法の各ステップを前記監査装置に実行させるイベント順序証明監査プログラムを提供することにある。
【００１７】  本発明の第７の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも１つの利用者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたイベント順序証明検証システムにおける前記利用者装置のためのイベント順序証明検証プログラムであって、前記証明装置は、前記利用者装置からの第１の証明要求を受信する順序証明要求受信手段と、前記第１の証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当てることによって一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第１の順次集約木特定情報を含む第１の証明書を作成する証明書作成手段と、前記第１の証明書を前記利用者装置に送信する証明書送信手段と、前記第１の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記第１の証明書の補完情報と定義し、該補完情報のうち、前記第１の証明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、複数の監査要求を前記順次集約木に割り当て、前記第１の証明書と同一の作成方法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順次集約木に割り当てた時点におけるそれぞれの監査用の即時補完情報を前記順次集約木から取得し、前記複数の監査用証明書に含める監査用証明書作成手段と、前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、前記第１の証明書送信後に、前記利用者装置からの前記第１の証明書の補完情報の要求を受信する補完情報要求受信手段と、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第２の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報作成手段と、前記第１の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送信手段と、を有し、前記監査装置は、前記証明装置から、前記複数の監査用証明書を受信する監査用証明書受信手段と、前記利用者装置から、前記第１の証明書及び前記遅延補完情報を含む前記第１の証明書に対する監査要求を受信する監査要求受信手段と、前記複数の監査用証明書の中から、前記第１の証明書に対する監査要求の第１及び第２の順次集約木特定情報���基づいて、前記第１の証明書より生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する第１の監査用証明書選択手段と、前記順次集約木の特定のノードに対して、前記第１の監査用証明書選択手段によって選択された監査用証明書に含まれる該ノードの割当値と、前記第１の証明書に対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づいて、前記第１の証明書の正当性を監査し、前記第１の証明書の証明要求の受付時刻と前記第１の監査用証明書選択手段によって選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第１の証明書監査手段と、前記第１の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と、を有し、前記第１の証明要求を前記証明装置に送信する順序証明要求送信ステップと、前記証明装置から、前記第１の証明書を受信する証明書受信ステップと、前記第１の証明書の前記補完情報の要求を前記証明装置に送信する補完情報要求送信ステップと、前記証明装置から、前記第１の証明書の前記補完情報を受信する補完情報受信ステップと、前記監査要求を前記監査装置に送信する監査要求送信ステップと、前記第１の証明書の監査結果を受信する監査結果受信ステップと、を前記利用者装置に実行させることを特徴とする。
【００１８】  本発明の第８の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う第１及び第２の利用者装置と、各利用者装置からの複数の証明要求に対して複数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プログラムであって、前記イベント順序証明装置は、前記第１及び第２の利用者装置から複数の証明要求を受信する順序証明要求受信手段と、各証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶手段と、各証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち、前記順次割当データを前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点以後において取得可能な補完情報を遅延補完情報と定義し、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の前記要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、利用者装置ごとに前記複数の証明要求の登録点に関する情報を記憶する登録点記憶手段と、各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、前記新登録点の即時補完情報と、各利用者装置の過去のすべての登録点の新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成する証明書作成手段と、前記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、を有し、各利用者装置は、複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証明書受信手段と、前記受信した複数の証明書を記憶する証明書記憶手段と、前記受信し記憶した複数の証明書のうち、検証対象の証明書を検証するコンピュータに送信する検証要求送信手段と、前記コンピュータから前記検証対象の証明書に対する検証結果を受信する検証結果受���手段と、を有し、前記第１及び第２の利用者装置から検証対象の証明書を１つずつ受信するか、或いは前記第１の前記利用者装置から検証対象の証明書を２つ受信する証明書受信ステップと、前記受信した２つの証明書の順次集約木特定情報に基づいて、前記２つの証明書のうち発行された順序が時間的に前であると判断された証明書を第１の証明書、後であると判断された証明書を第２の証明書とすると、前記第１の証明書を送信した利用者装置に対して前記第２の証明書の順次集約木特定情報を送信する順次集約木特定情報送信ステップと、前記第１の証明書を送信した利用者装置から、前記第１の証明書の前記第２の証明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステップと、前記順次集約木の特定のノードに対して、前記第２の証明書に含まれるノードの割当値と、前記第１の証明書および前記遅延補完情報から計算されたノードの割当値が一致するか否かの検証に基づいて、各証明書の正当性及び前記第１の証明書の登録点が前記第２の証明書の登録点より時間的に前であることを証明する検証ステップと、検証結果を前記第１及び第２の利用者装置、或いは前記第１又は第２の利用者装置に送信する検証結果送信ステップと、を前記コンピュータに実行させることを特徴とする。
【００１９】  本発明の第９の側面は、所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を行う第１及び第２の利用者装置と、各利用者装置からの複数の証明要求に応えて複数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プログラムであって、前記イベント順序証明装置は、前記第１及び第２の利用者装置から複数の証明要求を受信する順序証明要求受信手段と、各証明要求に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時間間隔ごとに１つの集約木が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶手段と、各証明要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート値を計算するのに必要な他のノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち、前記順次割当データを前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点以後において取得可能な補完情報を遅延補完情報と定義し、リーフａ１より右に位置するリーフａ２の割当処理が終了した時点で定まる前記リーフａ１の遅延補完情報を、前記リーフａ１の前記リーフａ２における遅延補完情報といい、さらに、最新の前記要求から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とすると、利用者装置ごとに前記直前の登録点に関する情報を記憶する登録点記憶手段と、各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報と、新登録点の即時補完情報と、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成する証明書作成手段と、作成された証明応答を前記利用者装置に送信する証明応答送信手段と、を有し、各利用者装置の各登録点のうち、前記順次集約木の最も右に割り付けられた登録点を暫定終端点とし、該暫定終端点の割付処理が終了した時点において、所定の登録点の取得可能な補完情報すべてを計算することを、前記所定の登録点の証明書に対するインクリメンタル完全化と定義すると、各利用者装置は、複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証明書受���手段と、前記受信した複数の証明書を記憶する証明書記憶手段と、前記受信し記憶した複数の証明書のうち、検証対象の証明書に対して前記インクリメンタル完全化の処理を行うインクリメンタル完全化手段と、前記インクリメンタル完全化された証明書を検証する検証要求をコンピュータに送信する検証要求送信手段と、前記コンピュータから前記検証対象の前記証明書に対する検証結果を受信する検証結果受信手段と、を有し、前記第１及び第２の利用者装置から検証対象の証明書を１つずつ受信するか、或いは前記第１の利用者装置から検証対象の証明書を２つ受信する証明書受信ステップと、前記受信した２つの証明書の順次集約木特定情報に基づいて、前記２つの証明書のうち発行された順序が時間的に前であると判断された証明書を第１の証明書、後であると判断された証明書を第２の証明書とすると、前記第１の証明書を送信した利用者装置に、前記第２の証明書の順次集約木特定情報を送信する順次集約木特定情報送信ステップと、前記第１の証明書を送信した利用者装置から、前記第１の証明書の前記第２の証明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステップと、前記順次集約木の特定のノードに対して、前記第２の証明書に含まれるノードの割当値と、前記第１の証明書および前記遅延補完情報から計算されたノードの割当値が一致するか否かの検証に基づいて、各証明書の正当性及び前記第１の証明書の登録点が前記第２の証明書の登録点より時間的に前であることを証明する検証ステップと、検証結果を前記第１及び第２の利用者装置、或いは前記第１又は第２の利用者装置に送信する検証結果送信ステップと、を前記コンピュータに実行させることを特徴とする。
【００２０】  本発明の第１０の側面は、上記のイベント順序証明検証プログラムを実行する利用者装置が前記証明要求に付した時刻を検証するコンピュータが読み取り可能なイベント時刻検証プログラムを提供することにある。
【図面の簡単な説明】
【００２１】
【図１】図１は、イベント順序証明システムの概念を説明する図である。
【図２】図２は、線形リンキングを用いたイベント順序証明システムの概念を説明する図である。
【図３】図３は、本発明の第１の実施の形態に係るイベント順序証明システムのシステム構成図である。
【図４】図４は、本発明の第１の実施の形態に係るイベント順序証明システムの別のシステム構成図である。
【図５】図５は、本発明に用いられる順次集約木の構成を説明する図である。
【図６】図６は、本発明におけるイベント順序受理証明書の構成を説明する図である。
【図７】図７は、本発明に用いられる順次集約木の認証パスを説明する図である。
【図８】図８は、本発明の第１の実施の形態に係るイベント順序証明システムのイベント順序証明方法を説明するシーケンス図である。
【図９】図９は、本発明の第１の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法を説明するシーケンス図である。
【図１０】図１０は、本発明の第１の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法を説明するシーケンス図である。
【図１１】図１１は、本発明の第１の実施の形態に係るイベント順序証明システムにおけるユーザ点と監査点の関係を説明する図である。
【図１２】図１２は、本発明の第１の実施の形態に係るイベント順序証明システムのイベント順序証明検証結果を説明する図である。
【図１３】図１３は、本発明の第２の実施の形態に係るイベント順序証明システムのシステム構成図である。
【図１４】図１４は、本発明の第２の実施の形態に係るイベント順序証明システムにおけるユーザ点と監査点の関係を説明する図である。
【図１５】図１５は、本発明の第２の実施の形態に係るイベント順序証明システムのイベント順序証明方法を説明するシーケンス図である。
【図１６】図１６は、本発明の第２の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法を説明するシーケンス図である。
【図１７】図１７は、本発明の第２の実施の形態に係るイベント順序証明システムの２ユーザ間の順序を判定する動作を説明するフローチャート図である。
【図１８】図１８は、本発明の第２の実施の形態に係るイベント順序証明システムの複合完全化によるルート値検証の動作を説明するフローチャート図である。
【図１９】図１９は、本発明の第２の実施の形態に係るイベント順序証明システムの補完データ完全化を説明する図である。
【図２０】図２０は、本発明の第２の実施の形態に係るイベント順序証明システムの補完データ完全化を説明する図である。
【図２１】図２１は、本発明の第３の実施の形態に係るイベント順序証明システムのシステム構成図である。
【図２２】図２２は、本発明の第３の実施の形態に係るイベント順序証明システムのイベント順序証明方法のイベント順序証明要求ステップを説明するシーケンス図である。
【図２３】図２３は、本発明の第３の実施の形態に係るイベント順序証明システムのイベント順序証明方法のイベント順序証明要求ステップを説明するシーケンス図である。
【図２４】図２４は、本発明の第３の実施の形態に係るイベント順序証明システムのイベント順序証明方法の監査用受理証明書受信ステップを説明するシーケンス図である。
【図２５】図２５は、本発明の第３の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法の区間時刻証明書ステップを説明するシーケンス図である。
【図２６】図２６は、深さの違いを１以内に押さえ、ダミーノードを作成しない動的な順次集約木の構成方法を説明する図である。
【図２７】図２７は、インクリメンタルに順次集約木を構成する方法のアルゴリズムを説明する図である。
【図２８】図２８は、インクリメンタルに順次集約木を構成する方法のアルゴリズムを説明する図である。
【図２９】図２９は、インクリメンタルに順次集約木を構成する方法を説明する図である。
【図３０】図３０は、インクリメンタルに順次集約木を構成する方法において各ノードに値を割付けるタイミングを説明する図である。
【図３１】図３１は、認証点の割当値は、監査点の受理証明書内補完データに含まれることを説明する図である。
【図３２】図３２は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【図３３】図３３は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【図３４】図３４は、本発明の第４の実施の形態に係るイベント順序証明システムのシステム構成図である。
【図３５】図３５は、本発明の第４の実施の形態に係るイベント順序証明システムに用いられる順次集約木の構成を説明する図である。
【図３６】図３６は、本発明の第４の実施の形態に係るイベント順序証明システムのイベント順序受理証明書の構成を示す図である。
【図３７】図３７は、本発明の第４の実施の形態に係るイベント順序証明システムにおいて各登録点とその補完データを説明する図である。
【図３８】図３８は、本発明の第４の実施の形態に係るイベント順序証明システムの利用者装置におけるイベント順序の判定方法を説明する図である。
【図３９】図３９は、本発明の第４の実施の形態に係るイベント順序証明システムのイベント順序証明方法の動作を説明するシーケンス図である。
【図４０】図４０は、本発明の第４の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法の動作を説明するシーケンス図である。
【図４１】図４１は、本発明の第４の実施の形態に係るイベント順序証明システムのイベント順序証明検証方法の動作を説明するシーケンス図である。
【図４２】図４２は、本発明の第５の実施の形態に係るイベント順序証明システムのシステム構成図である。
【図４３】図４３は、本発明の第５の実施の形態に係るイベント順序証明システムのイベント順序受理証明書の構成を示す図である。
【図４４】図４４は、本発明の第５の実施の形態に係るイベント順序証明システムにおける完全化波及処理を説明する図である。
【図４５】図４５は、本発明の第５の実施の形態に係るイベント順序証明システムにおいて完全化波及処理を用いることにより、連鎖補完方式の証明応答からシーケンス補完方式の証明応答を計算できることを示す図である。
【図４６】図４６は、本発明の第５の実施の形態に係るイベント順序証明システムにおいて第１の連鎖補完方式を説明する図である。
【図４７】図４７は、本発明の第５の実施の形態に係るイベント順序証明システムにおいて第１の連鎖補完方式による証明応答作成の動作を説明するフローチャートである。
【図４８】図４８は、本発明の第５の実施の形態に係るイベント順序証明システムにおいて第２の連鎖補完方式を説明する図である。
【図４９】図４９は、本発明の第５の実施の形態に係るイベント順序証明システムにおいて第２の連鎖補完方式による証明応答作成の動作を説明するフローチャートである。
【図５０】図５０は、本発明の第５の実施の形態に係るイベント順序証明システムの第２の連鎖補完方式におけるデータ構造の一例である。
【図５１】図５１は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式における即時補完データ及び遅延補完データの計算手順の一例を説明するフローチャートである。
【図５２】図５２は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるノード値計算順の一例を説明するフローチャートである。
【図５３】図５３は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式における遅延データ設定手順の一例を説明するフローチャートである。
【図５４】図５４は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式における順次集約木の切替処理の一例を説明するフローチャートである。
【図５５】図５５は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式における順次集約木の終端・切替処理のサブルーチンの一例を説明するフローチャートである。
【図５６】図５６は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式における順次集約木の切替処理のサブルーチンの一例を説明するフローチャートである。
【図５７】図５７は、図５５の処理を具体的に説明する図である。
【図５８】図５８は、順次集約フォレストと順次集約小木を説明する図である。
【図５９】図５９は、順次集約フォレストと現時点順次集約木を説明する図である。
【図６０】図６０は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全個別化の動作を説明するフローチャートである。
【図６１】図６１は、図６０の処理を具体的に説明する図である。
【図６２】図６２は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全個別化の順次集約小木決定の計算手順の一例を説明するフローチャートである。
【図６３】図６３は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル個別完全化の取得参照点決定の計算手順の一例を説明するフローチャートである。
【図６４】図６４は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル個別完全化の連鎖補完データ蓄積用データ構造の一例である。
【図６５】図６５は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル個別完全化のアルゴリズムを説明する図である。
【図６６】図６６は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル個別完全化の認証パスノードの割当値の計算手順の一例を説明するフローチャートである。
【図６７】図６７は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル個別完全化の認証パスノードの各割当値の計算手順の一例を説明するフローチャートである。
【図６８】図６８は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル一括個別化の手順の一例を説明するフローチャートである。
【図６９】図６９は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル一括個別化の根拠を説明する図である。
【図７０】図７０は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル一括個別化の根拠を説明する図である。
【図７１】図７１は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全化（一部をメモリに納め、多段式に実行する方式）を説明する図である。
【図７２】図７２は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全化（一部をメモリに納め、多段式に実行する方式）を説明する図である。
【図７３】図７３は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全化（一部をメモリに納め、多段式に実行する方式）を説明する図である。
【図７４】図７４は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全化（一部をメモリに納め、多段式に実行する方式）を説明する図である。
【図７５】図７５は、本発明の第５の実施の形態に係るイベント順序証明システムの連鎖補完方式におけるインクリメンタル完全化（一部をメモリに納め、多段式に実行する方式）を説明する図である。
【図７６】図７６は、完全認証パスデータによる順次集約木のルート値の計算方法を示すフローチャートである。
【図７７】図７７は、ある集約間隔の順次集約木のリーフの１つとして、前の集約間隔の順次集約木のルート値を取り入れる場合の順次集約木を説明する図である。
【図７８】図７８は、ある集約間隔の順次集約木のリーフの１つとして、前の集約間隔の順次集約木のルート値を取り入れる場合の順次集約木を説明する図である。
【図７９】図７９は、ある集約間隔の順次集約木のリーフの１つとして、前の集約間隔の順次集約木のルート値を取り入れる場合の完全認証パスデータによる順次集約木のルート値の計算方法を説明する図である。
【図８０】図８０は、認証点の割当値は、監査点の受理証明書内補完データに含まれることを説明する図である。
【図８１】図８１は、認証点の割当値は、監査点の受理証明書内補完データに含まれることを説明する図である。
【図８２】図８２は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【図８３】図８３は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【図８４】図８４は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【図８５】図８５は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは受理証明書内補完データに含まれることを説明する図である。
【発明を実施するための最良の形態】
【００２２】  以下、本発明の実施の形態を図面を用いて説明する。【００２３】＜第１の実施の形態＞
（１−１．システム構成）
図３は、本発明の第１の実施の形態に係るイベント順序証明システム１００のシステム構成図である。イベント順序証明システム１００は、イベント順序証明装置（以下、証明装置という）１、複数のイベント順序証明利用者装置（以下、利用者装置という）２ｉ（ｉ＝ａ，ｂ，…，ｎ）、証明装置１が発行したイベント順序受理証明書（以下、受理証明書という）の監査を行うイベント順序証明監査装置（以下、監査装置という）３、及び、以上の各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成されるコンピュータネットワーク４を備えており、証明装置１が利用者装置２ｉからのイベント順序証明要求（以下、証明要求という）に応えて、受理証明書を発行し、利用者装置２ｉに返信すると共に、受理証明書に疑義が生じた場合には、利用者装置２ｉは、証明装置１が公表したデータ又は監査装置３による監査結果によって受理証明書を検証することができるようになっている。【００２４】  尚、イベント順序証明システム１００のシステム構成は機能が同一であればその形態は問わないものであり、その物理的構成は種々考えられるものである。例えば、図４に示すように、利用者装置２ｉの代わりに、イベント順序証明利用者検証装置（以下、利用者検証装置という）６ｉが受理証明書の検証を行うようにしてもよいし、証明装置１の代わりに電子的情報公表装置５が証明装置１から公表データをもらい、公開するようにしてもよい。また、コンピュータネットワーク４は、郵便など他の通信手段に置き換えることも可能である。尚、以下においては、図３のシステム構成のもとに構成及び動作を説明する。【００２５】  証明装置１は、コンピュータネットワーク４を介して利用者装置２ｉ及び監査装置３とデータの送受信を行う送受信部１１、利用者装置２ｉからの証明要求として送信されたデジタル・データを順次集約木を用いてまとめるイベント順序証明要求集約部１２、受理証明書を作成するイベント順序証明作成部１３、監査装置３に送信する監査情報を作成する監査情報作成部１４、利用者装置２ｉからの補完データ要求に応えて補完データを取得する補完データ取得部１５、証明装置１が一定期間に発行した複数の受理証明書の内容を連結したデータに対して高強度デジタル署名をするデジタル署名作成部１６、高強度デジタル署名されたデータを電子的に公表する電子的情報公表部１７、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部１８を有する構成である。【００２６】  上述したように、イベント順序証明要求集約部１２は、順次集約木を用いてイベント順序証明要求をまとめるが、この順次集約木について図５を用いて説明する。図５に示す順次集約木は、一定期間（例えば１週間など証明装置１が取り纏めデータを公表するサイクル、以下、順次集約期間という）において完成される集約木であって、利用者装置２ｉからの証明要求に含まれるデジタル・データの全部あるいは一部から所定の順次割当データ計算手順に従って生成されたデジタル・データ（これを順次割当データと呼ぶ；例えば、証明要求に含まれるデジタル・データのハッシュ値）を経時的に順次リーフに左側から割り当てるようにしている。【００２７】  順次集約木の各ノード（リーフを除く）に割り当てられる値の計算方法は、以下の通りである。順次集約木の親の割当値は、左側の子の割当値Ｈ’と右側の子の割当値Ｈ”を連接（ビット列とビット列の結合）し、所定の衝突困難一方向ハッシュ関数ｈを適用した結果であるハッシュ値を計算することにより求められるものであり、これをｈ（Ｈ’‖Ｈ”）と表す。このようにして下位のレベルの割当値から上位のレベルの割当値を計算して、最終的に最上位のレベル（ルート）の割当値（ルート値）を求める。【００２８】  以下においては、図５に示すように、１６個のリーフを有する順次集約木の場合について説明する。尚、順次集約木リーフの数や高さは、順次集約期間が終了するまで確定しない。また、順次集約木においては、リーフへの値の割当は左から順次行われ、レベルが０より大きいノード（即ちリーフではないノード）に対する値の割当は、それが可能になったときにインクリメンタルに行われる。従って、図３の同一の縦線上にある複数のノードに対しては、値の割当が同一の処理単位の中でほぼ同時に行われる。
ここで、順次集約木のレベルｊ、番号（インデックスともいう）ｉのノードを（ｊ，ｉ）で表し、ノード（ｊ，ｉ）の割当値をＶ（ｊ，ｉ）と表して、図５に示す具体例を説明する。【００２９】  今、順次割当データがノード（０，５）に割り当てられたとき、即ち、順次集約木リーフに割り当てるハッシュ値がＶ（０，５）であるとき、このハッシュ値Ｖ（０，５）からルート値（＝Ｖ（４，０））を求めるには、Ｖ（０，５）にＶ（０，４）を左から連接して、ハッシュ値ｈ１’を計算し、該ハッシュ値ｈ１’にＶ（１，３）を右側から連接してハッシュ値ｈ２’を計算し、該ハッシュ値ｈ２’にＶ（２，０）を左側から連接してハッシュ値ｈ３’を計算し、さらに該ハッシュ値ｈ３’にＶ（３，１）を右側から連接してハッシュ値（＝Ｖ（４，０））を計算すればよい。このような手順によりＶ（０，５）とそれを補完するデータ（ここではＶ（０，４），Ｖ（１，３），Ｖ（２，０），Ｖ（３，１））からルート値が計算できるとき、Ｖ（０，５）はハッシュ関数ｈによりルート値にリンクするという。また、順次集約木におけるＶ（０，５）の補完データ（以下、順次集約補完データという）は、
［（Ｖ（０，４），Ｌ），（Ｖ（１，３），Ｒ），（Ｖ（２，０），Ｌ），（Ｖ（３，１），Ｒ）］
となる。ここで、Ｌ及びＲは、各々、２つのデジタル・データを連接する際に左から連接こと、及び右から連接することを表す。【００３０】  イベント順序証明作成部１３は、図６に示すような受理証明書ＥＯＣ（ｙ）を作成し、利用者装置２ｉに送信するようになっている。受理証明書ＥＯＣ（ｙ）は、利用者から送付されたデジタル・データｙ、上述した順次割当データ計算手順によりデジタル・データｙから計算された順次割当データｚ、順次割当データｚが割当てられた順次集約木を一意に特定できる順次集約木番号、順次割当データｚが割当てられた順次集約木リーフを一意に特定できる順次集約木リーフ番号、およびその時点で取得できる順次集約補完データの一部（これを即時補完データという）ＨＫを含むように構成されている。このうち、即時補完データＨＫについては省くことも可能である。【００３１】  また、イベント受理証明書ＥＯＣ（ｙ）には、証明装置１が予め用意しておいた公開鍵暗号方式キー・ペアのうちの秘密鍵（署名用秘密鍵）を用いてデジタル署名をつけて送信してもよい。この場合、当該公開鍵暗号方式キー・ペアのうちの公開鍵は公開鍵暗号基盤などを用いて利用者装置２ｉからアクセス可能になっているものとする。【００３２】  尚、当該の受理証明書ＥＯＣ（ｙ）発行後に取得できる順次集約補完データを遅延補完データという。即ち、受理証明書ＥＯＣ（ｙ）が作成される段階においては、即時補完データだけが利用者装置２ｉに送信されるものであり、遅延補完データは、当該の受理証明書ＥＯＣ（ｙ）発行後に要求された場合等に利用者装置２ｉに送信されるものである。例えば、図５においては、ノード（０，５）にとって、ノード割当値Ｖ（２，０）、ノード割当値Ｖ（０，４）は即時補完データであるが、ノード割当値Ｖ（１，３）、ノード割当値Ｖ（３，１）はノード（０，１５）が割当られた時点以降に取得可能な遅延補完データである。以下では、順次集約木リーフ番号ｉに対して、Ｖ（０，ｉ）のことを短くＶ（ｉ）と書くこともある。【００３３】  補完データ取得部１５は、利用者装置２ｉから上述した遅延補完データの要求があったとき、当該時点に関する情報（当該要求が割り当てられた順次集約木番号、順次集約木リーフ番号）、及びその時点で確定している順次集約補完データ（位置情報、割当値）の全てを利用者装置２ｉに返送するようになっている。【００３４】  ここで、図７を参照して、順次集約補完データの内容について詳しく説明する。【００３５】  順次集約木の１つのリーフｔに対する、ｔより右に位置するもう一つのリーフｔ’における補完データＣＴｏｋｅｎ（ｔ，ｔ’）は次のように定義される。【００３６】  リーフｔから順次集約木のルートに至るパスをｔのルート・パスと呼び、ｔのルート・パスに属するルート以外のノードの兄弟ノードからなるノードの並びをｔの認証パスと呼ぶ（認証パスの詳細な定義は後で与える）。認証パスの要素の内、ｔより右に位置するリーフｔ１の割り当て値が確定した時点において割当値が確定している要素の列をａｕｔｈＰａｔｈＤ（ｔ，ｔ１）とし、これをｔ１におけるｔに対する認証パスと呼ぶ。この列に割当値の情報を付加したものをａｕｔｈＰａｔｈＤＶ（ｔ，ｔ１）���し、これをｔ１におけるｔに対する値付認証パスと呼ぶ。【００３７】  以上から、ａｕｔｈＰａｔｈＤＶ（ｔ，ｔ’）は、受理証明書ＥＯＣ（ｙ）に含まれていなかった情報を含めて、補完データＣＴｏｋｅｎ（ｔ，ｔ’）を構成するようになっている。【００３８】  尚、ｔ’がｔの属する順次集約木ＳＢＴの生成期間（順次集約期間）の終了後に生成される次の順次集約木ＳＢＴ’のリーフであるときにも、ａｕｔｈＰａｔｈＤＶ（ｔ，ｔ’）には順次集約木ＳＢＴについての情報のみが含まれる。このとき、ＣＴｏｋｅｎ（ｔ，ｔ’）は、ｔ時点で受信したイベント受理証明書ＥＯＣ（ｙ）と組み合わせることにより、当該の順次集約期間における順次集約木のルート値を計算するのに十分な情報を含んでいる。【００３９】  例えば、図７において、ＣＴｏｋｅｎ（ｔ，ｔ４’）はａ１の位置情報（０，３）とその割当値Ｖ（ａ１）の組（（０，３），Ｖ（ａ１））、及びａ２の位置情報（２，１）とその割当値Ｖ（ａ２）の組（（２，１），Ｖ（ａ２））からなる列［（（０，３），Ｖ（ａ１）），（（２，１），Ｖ（ａ２））］となる。【００４０】  以下では、受理証明書に含まれる順次集約木の割当て値と組み合わせることにより前記順次集約木のルート値を計算できるような補完データを該受理証明書の完全補完データと定義し、上記割当て値および受理証明書に含まれる即時補完データと組み合わせることにより、前記順次集約木のルート値を計算できるような補完データを完全遅延補完データと呼ぶ。【００４１】  監査情報作成部１４は、監査情報を順次集約木から取得して監査装置３に送信するものであり、より詳しくは、監査情報とは、順次集約木リーフに設けられた監査点において以下に定義するように生成される監査用イベント順序受理証明書（以下、監査用受理証明書という）から構成される。ここで、監査点とは、監査装置３からの監査用イベント順序証明要求（以下、監査用証明要求という）が割当てられた順次集約二分木のリーフをいう。【００４２】  尚、図５においては、監査点は１つしか設けられていないが、所定のアルゴリズムに従って複数設けてよいのは勿論であり、また、証明要求に対する受理証明書に対して後述するような監査を行うためには、監査点は、該証明要求に対応するリーフ（図３の具体例においては、ノード（０，５））に等しいか或いはそれより右側のリーフ（時間的に後）に割り当てられていればどこに設けていてもよいものである。【００４３】  監査用受理証明書の形式は、利用者装置２ｉに返送する受理証明書と同一である。尚、順次割当データを計算するための元となるデジタル・データｙは、監査装置３から証明装置１に監査用証明要求として送付されたものであってもよいし、当該証明装置１において、当該の監査装置２に対して予め定められた何らかの手順に従って生成してもよい。また、このような手順としては、前以て定められた何らかの手順に従って監査用受理証明書におけるイベント順序証明の対象となるデジタル文書を作成し、該デジタル文書に対して前以て定めたハッシュ関数を適用した結果であるハッシュ値を順次割当データを計算するための元となるデジタル・データとする方式を採用してもよい。【００４４】  利用者装置２ｉは、コンピュータネットワーク４を介して証明装置１および監査装置３とデータを送受信する送受信部２１、所定のデジタル・データを含む証明要求を行うイベント順序証明要求部２２、要求時点において取得可能な受理証明書に対する補完データを要求する補完データ要求部２３、受理証明書を検証するイベント順序証明検証部２４、受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部２５を有する構成である。【００４５】  ここで、イベント順序証明検証部２４は、受理証明書に対して以下の検証機能を備える。【００４６】  まず、受理証明書にデジタル署名が含まれる場合には、該デジタル署名に対するデジタル署名検証を行う第０の検証機能を備える。【００４７】  また、証明装置１から高強度デジタル署名を付すこと等により真正性を保証して公表される公表情報に、受理証明書に含まれる順次割当データがハッシュ関数を介してリンクすることを検証する第１の検証機能を備える。【００４８】  さらに、以下に記述するように、証明装置１からの公表情報が公開される前であっても、監査装置３を利用することにより、受理証明書の正当性を検証する第２の検証機能を備える。【００４９】  監査装置３は、コンピュータネットワーク４を介して証明装置１および利用者装置２ｉとデータを送受信する送受信部３１、利用者装置２ｉからある受理証明書の監査要求を受けた際には、利用者装置２ｉから送信された監査要求情報および自己の監査情報を用いて受理証明書の検証を行い、その結果を利用者装置２ｉに返信するイベント順序証明監査部３２、及び監査用受理証明書をはじめとする監査情報を記憶する記憶部３３を有する構成である。【００５０】  ここで、イベント順序証明検証部３２の機能について、図５を用いて説明する。図５においては、（０，１０）が監査点となっているので、この時点において監査装置３が受け取っている監査情報は、上述した通り、Ｖ（３，０）およびＶ（１，４）である。一方、利用者装置２ｉは、監査要求情報として、Ｖ（０，５）及び順次集約補完データであるＶ（０，４），Ｖ（１，３）、およびＶ（２，０）を送信するものである。これは、利用者装置２ｉが検証を求める時点（即ち、受理証明書が発行された（０，５）の時点より後刻である監査点（０，１０）の時点以降）においては、即時補完データに含まれていなかったＶ（１，３）も証明装置１から取得することが可能であるので、Ｖ（１，３）を遅延補完データとして利用者装置２ｉが証明装置１から取得し、監査要求情報に含めたものである。そして、イベント順序証明検証部３２は、自己が有している監査情報Ｖ（３，０）が、利用者装置２ｉから送信された監査要求情報から計算されたＶ（３，０）と一致するか否かを検証するものである。【００５１】  尚、以後においては、利用者装置２ｉから送信された証明要求から作成された順次割当データが割り当てられた順次集約木リーフをユーザ点と呼び、監査装置３から送信された監査用証明要求から作成された順次割当データが割り当てられた順次集約木リーフを監査点と呼ぶ。【００５２】  ここで、比較検証の対象となる順次集約木のノード（図５においては、（３，０））を以後、認証点とよぶ。尚、一般��、あるユーザ点の番号が監査点の番号より小さい場合、認証点のラベル（割当値）は監査情報に含まれており、また、監査点におけるイベント順序証明処理が終了した時点以降において、利用者装置２ｉが受信できる遅延補完データから計算できるラベルには、認証点のラベルが含まれるので、順次集約木においてユーザ点、監査点、遅延補完データを要求した点が左からこの順序に位置している場合には、上記検証は、常に実施可能なものであるが、この理由に関しては後述する（後述の順次集約木の性質２の項目（３）を参照）。【００５３】  即ち、上記の手順により利用者装置２ｉがある受理証明書に対する第２の検証を監査装置３に依頼して実行するには、該受理証明書の証明要求が割り当てられたリーフτと、該イベント受理証明書に対する遅延補完データ要求が割り当てられたリーフτ’の間（τとτ’も含む）に監査装置３の監査点が存在する必要がある。【００５４】  尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プログラムやデータを収納する機能を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる主記憶装置（メモリ）、ハードディスク（ＨＤ）等の電源断時にもデータを記憶し続けることが出来る２次記憶装置を有する電子的な装置から構成されている。このうち、証明装置１のイベント順序証明要求集約部１２、イベント順序証明作成部１３、監査情報作成部１４、補完データ取得部１５、デジタル署名作成部１６及び電子的情報公表部１７、利用者装置２ｉのイベント順序証明要求部２２、補完データ要求部２３及びイベント順序証明検証部２４、並びに監査装置３のイベント順序証明監査部３２の処理は、上記ＣＰＵによる演算制御機能を具体的に示したものに他ならない。また、証明装置１の記憶部１８、利用者装置２ｉの記憶部２５及び監査装置３の記憶部３３は、上記主記憶装置あるいは２次記憶装置の機能を備えたものである。【００５５】  また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置または２次記憶装置に格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。【００５６】（１−２．システム動作）
次に、以上の構成を有するイベント順序証明システム１００におけるイベント順序証明方法、およびイベント順序証明検証方法を図８乃至１０を用いて説明する。ここで、図８は、１つの順次集約期間において証明装置１が受理証明書及び監査用受理証明書を作成する動作を説明するシーケンス図であり、図９は、利用者装置２ｉが受理証明書に対して第１の検証を行う動作を説明するフローチャートであり、図１０は、利用者装置２ｉが受理証明書に対して第２の検証を行う動作を説明するシーケンス図である。【００５７】  まず、図８を参照して、イベント順序証明方法について説明する。【００５８】  利用者装置２ｉが証明装置１にデジタル・データｙを含む証明要求を送信すると、証明装置１は送受信部１１を介して、該デジタル・データｙを含む証明要求を受信する（ステップＳ１０，Ｓ２０）。
次に、イベント順序証明要求集約部１２が、デジタル・データｙを入力の一部あるいは全部として順次割当データｚを計算し、該順次割当データｚを順次集約木リーフに割り当て、インクリメンタルに順次集約木を構成していくとともに、イベント順序証明作成部１３が、受理証明書ＥＯＣ（ｙ）を作成し、送受信部１１を介して利用者装置２ｉに受理証明書ＥＯＣ（ｙ）を送信する（ステップＳ３０，Ｓ４０，Ｓ５０）。【００５９】  これにより、利用者装置２ｉは、受理証明書ＥＯＣ（ｙ）を取得することができる（ステップＳ６０）。尚、受理証明書ＥＯＣ（ｙ）には、この時点において取得できる即時補完データを含めることにしてよいが、遅延補完データは含まれていない。【００６０】  同様にして、監査装置３も監査用証明要求を送信すると、証明装置１は送受信部１１を介して、監杳用証明要求を受信する（ステップＳ７０，Ｓ８０）。【００６１】  次に、イベント順序証明要求集約部１２が、監査用証明要求から計算された監査用順次割当データを順次集約木リーフに割り当てて、インクリメンタルに順次集約木を構成していくとともに、監査情報作成部１３は、監査用受理証明書を作成し、送受信部１１を介して監査装置３に監査用受理証明書を送信する（ステップＳ９０，Ｓ１００，Ｓ１１０）。【００６２】  これにより、監査装置３は、監査用受理証明書を取得することができる（ステップＳ１２０）。【００６３】  次に、利用者装置２ｉは、取得した受理証明に対する遅延補完データ要求を証明装置１に送信すると、証明装置１は送受信部１１を介して、該遅延補完データ要求を受信する（ステップＳ１３０，Ｓ１４０）。【００６４】  次いで、証明装置１の補完データ取得部１５は、その時点で取得可能な上記受理証明書に対する補完データを取得し、遅延補完データとして送受信部１１を介して利用者装置２ｉに送信する（ステップＳ１５０，Ｓ１６０）。【００６５】  これにより、利用者装置２ｉは、監査に必要な遅延補完データを取得することができる（ステップＳ１７０）。【００６６】  そして、順次集約のための一定期間（順次集約期間）内においては、上述した証明装置１の動作は繰り返され、順次集約期間が終了すると、順次集約木のルート値を計算し、電子的情報公表部１７は、このルート値を電子的に公表する（ステップＳ１８０，Ｓ１９０，Ｓ２００）。この際、該情報の真正性を保証するため、高強度デジタル署名作成部１６を用いて高強度のデジタル署名を付した公表情報を公開してもよい。【００６７】  尚、図８に示すイベント順序証明方法においては、監査装置３の方から証明装置１に監査情報要求を送信し、これに応えて証明装置１が監査装置３に監査情報を送信する方式であったが、これとは異なり、証明装置１が監査装置３に監査情報を自動的に送信するような方式であってもよい。【００６８】  次に、図９を参照しながら、電子的に公表された公表情報を用いたイベント順序証明検証方法について説明する。これは、利用者装置２ｉの第１の検証機能に相当するものである。【００６９】  まず、利用者装置２ｉは、自己が証明装置１に証明要求として送信したデジタル・データｙ、並びに受信した受理証明書ＥＯＣ（ｙ）及び遅延補完データに含ま��ている順次集約補完データ（この時点においては、すべての順次集約補完データを取得可能である）から順次集約木のルート値ＲＨｃａｌを計算する（ステップＳ３１０）。【００７０】  次に、高強度のデジタル署名を付して電子的に公表されている同一順次集約期間のルート値ＲＨを取得し、このルート値ＲＨが、計算したルート値ＲＨｃａｌに一致するか否か検証する（ステップＳ３２０，Ｓ３３０）。【００７１】  以上の検証において、検証に成功すれば、受理証明書が改ざんされていないことを確認することができる（ステップＳ３４０）。一方、検証に失敗すれば、受理証明書が改ざんされていることを確認することができる（ステップＳ３５０）。これにより、高強度のデジタル署名を付すなどの手段により真正性を保証しながらが電子的に公表された後においては、公表された情報を利用して、証明装置１が発行した受理証明書が、当該の順次集約期間において、受理証明書に含まれる元デジタル・データに対して、受理証明書に含まれる順次集約木リーフ番号で識別される順番において発行されたものであることを確実に検証することができる。【００７２】  次に、図１０を参照しながら、監査装置３を用いたイベント順序証明検証方法について説明する。これは、利用者装置２ｉの第２の検証機能に相当するものである。【００７３】  利用者装置２ｉは、監査要求の前に検証の対象となる受理証明書の遅延補完データを証明装置１に要求する（ステップＳ４１０）。この要求を証明装置１が送受信部１１を介して受信すると、補完データ取得部１５は、受理証明書に即時補完データが含まれる場合には、この時点において取得できる遅延補完データの全てから即時補完データを除いたものからなる遅延補完データを、受理証明書に即時補完データが含まれない場合には、この時点において取得できる遅延補完データの全てを取得し、送受信部１１を介して利用者装置２ｉに送信する（ステップＳ４２０，Ｓ４３０，Ｓ４４０）。これにより、利用者装置２ｉは、補完データを取得するので、イベント順序証明検証部２４は、これに既に受け取っている受理証明書を加えた監査要求情報を監査装置３に送信する（ステップＳ４５０，Ｓ４６０）。【００７４】  次に、監査装置３が監査要求情報を送受信部３１を介して受信すると、イベント順序証明監査部３２は、既に自分が受信した監査用受理証明書が割当てられた順次集約木のリーフの中で、受信したこの監査要求情報に含まれる受理証明書が割当てられた順次集約木リーフτとその遅延補完情報に含まれるリーフτ’の間にある監査点αを計算する（ステップＳ４７０，Ｓ４８０）。続いて、監査要求情報からτのαによる認証点を計算し、該認証点の割当値Ａｃａｌを計算する（ステップＳ４９０）。一方、イベント順序証明検証部３２は、監査情報として既に受け取っているこの認証点の割当値Ａを記憶部３３から取得して、この認証点の割当値Ａが、計算により求めた認証点の割当値Ａｃａｌに一致するか否かを検証する（ステップＳ５００，Ｓ５１０）。【００７５】  以上の検証において、検証に成功すれば、受理証明書が改ざんされていないことを確認することができる（ステップＳ５２０）。一方、検証に失敗すれば、受理証明書が改ざんさ���ていることを確認することができる（ステップＳ５３０）。そして、イベント順序証明監査部３２は、この監査結果を送受部３１を介して利用者装置２ｉに送信し、利用者装置２ｉは、監査結果を受信する（ステップＳ５４０，Ｓ５５０）。【００７６】  これにより、利用者装置２ｉは、電子的公表機関を介した公表前においても、証明装置１が発行した受理証明書が当該の順次集約期間において、受理証明書に含まれる元デジタル・データに対して、受理証明書に含まれる順次集約木リーフ番号で識別される順番において発行されたものであることを確実に検証することができる。尚、上記監査結果に監査点αの識別子を含めてもよい。この場合においては、利用者装置２ｉは、上記監査を要求した受理証明書に対応する証明要求の登録が、監査点αに対応する監査用証明要求の登録より前であったことの保証を監査装置３から確実に得ることができる。【００７７】  なお、ステップＳ５４０の監査結果の送信に際しては、監査装置３が受信した補完データ含む部分に対して、証明監査装置３が持つ署名用秘密鍵を用いてデジタル署名を付して、該デジタル署名を含めた検証結果を構成し、利用者装置２ｉに送信するようにしてもよい。これにより、監査装置３によるデジタル署名が信用されるという前提の下で、順次集約木のルート値に対する有効なデジタル署名が入手できない場合であっても、利用者装置２ｉを利用する利用者は、上記受理証明書によるイベント順序証明の正当性を客観的に第三者に証明することができるようになる。【００７８】（１−３．イベント順序監査方法）
次に、上述した第２の検証である監査装置３を用いたイベント順序証明検証方法について、より詳しく説明する。【００７９】  尚、以下では、時刻の原点として、イベント順序証明システム１００のサービス開始時点をとり、時間を計る単位として一つの値（例えば１秒、１ミリ秒等）を定め、時刻を上記原点から上記の時間の単位で計った整数で表現するものとする。【００８０】  ここで、イベント順序証明検証方法を説明するための幾つかの予備定義を与える。【００８１】  順次集約木ＳＢＴにおいて、１つのノードｐはレベルｊとレベル内の番号ｉで識別されるが、ノードｐのレベルと番号を各々ｌｅｖｅｌ（ｐ），ｉｎｄｅｘ（ｐ）と書く。【００８２】  また、順次集約木リーフ番号ｉで識別される順次集約木ＳＢＴのリーフをｌｅａｆ（ＳＢＴ，ｉ），ｌｅａｆ（ＳＢＴ，ｉ）に順次割当値を割り当てる元となった証明要求を受付けて該リーフに割当値を割り当てる一連の処理を該リーフに対する処理ラウンドと言い、ｒｏｕｎｄ（ＳＢＴ，ｉ）と表す。文脈からどの順次集約木について論じているか明らかなときは、単にｌｅａｆ（ｉ），ｒｏｕｎｄ（ｉ）と記すこともある。【００８３】  順次集約木には、生成された順に０から始まる識別番号を付与し、これを順次集約木番号という。ｎ番目の順次集約木リーフの数をＮ（ｎ）とおく。【００８４】  各受理証明書に対しては、順次集約木番号ｎと順次集約木リーフ番号ｉが付与され、該受理証明書が発行された順次集約木リーフをそれら２つの番号の組で指定することができる。このような組を拡張リーフ識別子と呼ぶ。２つの拡張リーフ識別子ν１＝（ｎ１，ｉ１），ν２＝（ｎ２，ｉ２）の間の順序を辞書式順序を用いて定義する。即ち、ν１＜ν２とは、ｎ１＜ｎ２、またはｎ１＝ｎ２かつｉ１＜ｉ２のことと定義する。またν１≦ν２とは、ν１＜ν２またはν１＝ν２のことと定義する。ν＝（ｎ，ｉ）を拡張リーフ識別子とし、この識別子で識別される順次集約木リーフがあるとき、該リーフをｌｅａｆ（ν）＝ｌｅａｆ（ｎ，ｉ）と表す。ｌｅａｆ（ν）を単に、リーフνと呼ぶこともあり、ｌｅａｆ（ν）が監査点（あるいはユーザ点）であるときは、監査点ν（あるいはユーザ点ν）と呼ぶこともある。【００８５】  また、ある順次集約木ＳＢＴのリーフｌｅａｆ（ＳＢＴ，ｉ）について、この順次集約木ＳＢＴのリーフに順次割当値を割り当てる元となった証明要求の受付時刻を、該リーフに対応する時刻といい、これｔｉｍｅ（ＳＢＴ，ｉ）あるいは簡単にｔｉｍｅ（ｉ）と表す。同様に、ｌｅａｆ（ν）について、このリーフに順次割当値を割り当てる元となった証明要求の受付時刻を、ｔｉｍｅ（ν）と表す。【００８６】  利用者装置２ｉが、監査装置３を用いて、ある受理証明書に対する第２の検証を実行するには、上述したように該受理証明書に対応する順次集約木リーフτと、該受理証明書に対する遅延補完データ要求に対応する順次集約木リーフτ’の間（τとτ’も含む）に監査装置３の監査点αが存在する必要がある。このためには、Ｔをある正整数とし、以下の３つの条件（１）〜（３）が成り立てば十分である。【００８７】  （１）監査装置３の最初の監査点の時刻はＴより小さい。【００８８】  （２）監査装置３による任���の１つの監査点をα、次の監査点をα’とすると、
ｔｉｍｅ（α’）−ｔｉｍｅ（α）≦Ｔ
が成り立つ。【００８９】  （３）利用者装置２ｉは、拡張リーフ識別子τの順次集約木リーフで受理証明書を受信した後のある順次集約木リーフτ’で該受理証明書に対する遅延補完データを受信することとし、
ｔｉｍｅ（τ’）−ｔｉｍｅ（τ）≧Ｔ
が成り立つ。【００９０】  尚、これらの条件の十分性の理由に関しては後述する（後述の次集約木の性質３の（１）と（２）を参照）。【００９１】  図１１に示すようなある順次集約木ＳＢＴに属する監査装置３の監査点αにおいて、監査装置３は監査用受理証明書を受信するものとする。監査用受理証明書には、αにおける即時補完データが含まれている。この即時補完データには、順次集約木ＳＢＴの任意のリーフτでαより左にあるものの割当値Ｖ（τ）が次のような意味で結合している。即ち、τのαによる認証点ｐ２の割当値Ｖ（ｐ２）が上記の即時補完データに含まれ、この認証点の割当値はＶ（τ）から出発してａｕｔｈＰａｔｈ（τ）に属する幾つかのノードの割当値をハッシュ関数ｈによりリンクすることにより計算できる（これが成立つ理由については、後述の順次集約木の性質２の項目（１）を参照）。【００９２】  これにより、監査装置３は監査点αで受信した監査用受理証明書内の即時補完データに、上記Ｖ（ｐ２）が含まれているか否かにより、利用者がユーザ点τで取得した受理証明書の元となった要求の送信及び証明装置１による要求受付けが、監査装置３が監査点αで取得した監査用受理証明書の受信より時間的に前であることを検証することができる（これを検証結果１とする。図１２を参照）。
ここで、証明装置１の直列化可能性について説明する。証明装置１の直列化可能性とは、該証明装置が任意の複数の順序証明要求を受付け処理する際に、該複数の要求を直列に並べるある順序付けがあり、その順序に従って順次受けて、それに対する処理結果である受理証明書を返信し、その後次の要求の処理を行った場合と同じ結果となることと定義する。【００９３】  証明装置の直列化可能性は重要な要件であり、本実施の形態においては、直列化可能性を保証する手段を有するものとする。このような手段としては、証明装置が１つ順序証明要求を受付けたとき、該要求に対する受理証明を送信してからのみ次の要求受付けることを監視する直列性監査装置を用いてもよい。【００９４】  この直列化可能性を用いれば、ユーザ点と監査点の順序関係について検証結果１より強いことを結論することができる。例えば、順序証明装置１の直列化可能性が、監査装置３が監査点αで取得した受理証明書の受信時まで保証されていたとすると、上記検証により、ユーザ点τに対応する順序証明要求の受付けが、監査点αに対応する監査用順序証明要求の受付けより時間的に前であることを結論できる（これを検証結果２とする。図１２を参照）。なぜならば、直列化された順序証明要求の処理において、αに対応する監査用順序証明要求の受付けがτに対応する監査用順序証明要求の受付けより前であれば、αに対応する受理証明書ＥＯＣ（α）は、τに対応する監査用順序証明要求ＥＯＲ（τ）の受付けより前に送信されることになり、ＥＯＣ（α）にＥＯＲ（τ）が含むイベント値がハッシュ関数を介して結合するデータを含めることは出来ないからである。以上から、監査装置３が監査点αで取得した監査用受理証明書の受信時まで、証明装置１の直列化可能性が推認されるときには、ユーザ点τに対応する順序証明要求の受付けは、監査点αに対応する監査用順序証明要求の受付けより時間的に前であることが推認される。以後、このことを「ユーザ点の未来側の境界付け」という。【００９５】  尚、監査装置３が監査点αで取得した監査用受理証明書の受信時までの証明装置１の直列化可能性を保証しても、監査装置３が受理証明の一部として即時補完データを受信していなければ、上記のことは言えないことに注意する必要がある。なぜならば、監査装置３が監査点αで取得した監査用受理証明書の受信時より後に、証明装置がτにおける割当て値を改変する可能性を除くことはできないからである。【００９６】  従って、第１の実施の形態のイベント順序証明システム１００によれば、利用者装置２ｉから証明要求を受付けた証明装置１が、該要求に含まれるデジタル・データから計算される順次割当値及び前記順次割当データが割り当てられた順次集約木の位置情報を含む受理証明書及び補完データを発行し、補完情報順次集約木のルート値に対して高強度デジタル署名を付す等の手段により真正性を保証しながら電子的に公表するので、利用者装置２ｉは公表情報および補完データから簡単に受理証明書の検証をすることができる。また、順次集約木のルート値を電子的に公表する前であっても、監査装置３が順次集約木の監査点に関する監査情報を有しているので、監査装置５は利用者装置２ｉからの監査要求を受けて、受理証明書の監査をすることができる。【００９７】  この結果、受理証明書の正当性を検証できたときには、証明装置１における監査対象とした受理証明書の証明要求受信が、監査に用いた監査用受理証明書の証明要求受信よりも時間的に前であることを証明することができる。【００９８】＜第２の実施の形態＞
（２−１．システム構成）
図１３は、本発明の第２の実施の形態に係るイベント順序証明システム２００のシステム構成図である。イベント順序証明システム２００は、イベント順序証明装置（以下、証明装置という）７、複数のイベント順序証明利用者装置（以下、利用者装置という）２ｉ（ｉ＝ａ，ｂ，…，ｎ）、証明装置７が発行したイベント順序受理証明書（以下、受理証明書という）の監査を行うイベント順序証明監査装置（以下、監査装置という）８、及び、以上の各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成されるコンピュータネットワーク４を備えており、証明装置７が利用者装置２ｉからのイベント順序証明要求（以下、証明要求という）に応えて、受理証明書を発行し、利用者装置２ｉに返信すると共に、受理証明書に疑義が生じた場合には、利用者装置２ｉは、証明装置７が公表したデータ又は監査装置８による監査結果によって受理証明書を検証することができるようになっている。【００９９】  ここで、第２の実施の形態は、第１の実施の形態とほぼ同様のシステム構成であるが、監査装置８が、各順次集約期間の終了後に、その順次集約期間中に取得した各監査用受理証明書の完全遅延補完データを、証明装置７に要求して（あるいは事前の契約に基づいて）取得するという点が異なっている。尚、本実施の形態においては、第１の実施の形態と異なる構成及び機能を説明し、その他の構成及び機能に関しては同一部分には同一符号を付して説明を省略する。【０１００】  また、第１の実施の形態と同様に第２の実施形態においても、イベント順序証明システム２００のシステム構成は機能が同一であればその形態は問わないものであり、その物理的構成は種々考えられるものである。例えば、利用者装置２ｉの代わりに、図４に示した利用者検証装置６ｉが受理証明書の検証を行うようにしてもよいし、証明装置７の代わりに、図４に示した電子的情報公表装置５が証明装置７から公表データをもらい、公開するようにしてもよい。また、コンピュータネットワーク４は、郵便など他の通信手段に置き換えることも可能である。【０１０１】  証明装置７は、コンピュータネットワーク４を介して利用者装置２ｉ及び監査装置８とデータの送受信を行う送受信部１１、利用者装置２ｉからの証明要求として送信されたデジタル・データを順次集約木を用いてまとめるイベント順序証明要求集約部１２、受理証明書を作成するイベント順序証明作成部１３、監査装置８に送信する監査情報を作成する監査情報作成部７１、利用者装置２ｉからの補完データ要求に応えて補完データを取得する補完データ取得部１５、証明装置７が一定期間に発行した複数の受理証明書の内容を連結したデータに対して高強度デジタル署名をするデジタル署名作成部１６、高強度デジタル署名されたデータを電子的に公表する電子的情報公表部１７、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部７２を有する構成である。【０１０２】  監査情報作成部７１は、各監査点における監査用受理証明書を順次集約木から取得して作成することに加えて、各順次集約期間の終了後に、その順次集約期間に取得した各監査用受理証明書の完全遅延補完データを取得して作成するように���っている。【０１０３】  監査装置８は、コンピュータネットワーク４を介して証明装置７および利用者装置２ｉとデータを送受信する送受信部３１、証明装置７に各監査用受理証明書の完全遅延補完データの要求を行う補完データ要求部８１、利用者装置２ｉからある受理証明書の監査要求を受けた際には、利用者装置２ｉから送信された監査要求情報及び監査情報（監査用受理証明書に加えて該監査用受理証明書の完全遅延補完データも含める）を用いて受理証明書の検証を行い、その結果を利用者装置２ｉに返信するイベント順序証明監査部８２、及び監査用受理証明書をはじめとする監査情報を記憶する記憶部８３を有する構成である。【０１０４】  イベント順序証明監査部８２は、第１の実施の形態のイベント順序証明監査部３２の機能（「ユーザ点の未来側の境界付け」）に加えて、後述する「ユーザ点の過去側の境界付け」を検証できる機能を有するようになっている。これは、あるユーザ点がある監査点よりも左にあること（即ち、時間的に前にあること）に加えて、あるユーザ点がある監査点より右にあること（即ち、時間的に後であること）を監査できることを意味する。【０１０５】  以下、図１４を参照しながら、この「ユーザ点の過去側の境界付け」について説明する。【０１０６】  尚、以下では、監査装置８が各順次集約期間の終了後に、その順次集約期間に取得した各監査用受理証明書の完全遅延補完データを取得することを、監査装置８は複合完全補完を行うという。【０１０７】  本実施の形態においては、監査装置８は、順次集約期間が終わるごとに、該順次集約期間に受信した監査用受理証明書に対する完全遅延補完データを取得するので、監査用受理証明書に含まれる即時補完データと該遅延補完データを組み合わせることにより、監査装置８は、該順次集約期間に受信した監査用イベント受理証明書に対する完全補完データを取得することになる。【０１０８】  ここで、利用者装置２ｉと監査装置８は、第１の実施の形態で述べた条件（１）〜（３）を満たすものとする。τを利用者装置２ｉによるユーザ点で、Ｔ≦ｔｉｍｅ（τ）を満たすものとする。Ｔ≦ｔｉｍｅ（τ）という条件から、上述の条件（１）によりτより左にある（即ち時間的に前にある）監査装置８による監査点が存在する。そのような監査点の一つをα１とおく。α１として、上記条件を満たす監査点のうち最も右に位置するものをとることにしてもよい。監査は以下の手順に従って実行される。【０１０９】  （１）利用者装置２ｉがユーザ点τで取得した受理証明書（順次集約木リーフ番号、即時補完データ）を監査装置８に送付する。【０１１０】  （２）監査装置８は利用者装置２ｉから送付された受理証明書に含まれる順次集約木リーフ番号を取り出し、該受理証明書に対応する順次集約木リーフτを特定し、自分が取得した監査用受理証明書の中から、τより左に位置する順次集約木リーフに対応するものを選ぶ。このような監査用受理証明書の中から、対応する順次集約木リーフがもっとも右に位置するものを選んでもよい。このように選ばれた監査用受理証明書に対応する順次集約木リーフをα１とする。【０１１１】  （３）監査装置８は複合完全補完を行うので、監査装置８は監査点α１に対応する監査用受理証明書の完全遅延補完データを取得する。該遅延補完データに対応する順次集約木リーフは、τと等しいか右に位置する（時間的に後である）。【０１１２】  （４）監査装置８は、監査点α１に対応する監査用受理証明書とそれに対する上記遅延補完データから、監査点α１のユーザ点τによる認証点ｐ２の割当値を計算することができる。【０１１３】  （５）従って、監査装置８は、利用者装置２ｉから受信した順次集約木リーフτに対応する受理証明書内の即時補完データに、上記計算した監査点α１のユーザ点τによる認証点の割当値が含まれることを検証することにより、α１がτより左に位置することを監査することができる。【０１１４】  この検証結果からまず言えることは、監査点α１に対応する監査装置７の監査用証明要求が証明装置７に受信された時刻をｔ１、τに対応する利用者装置２ｉの証明要求が証明装置７に受信された時刻ｔ２、この要求に対する受理証明書が証明装置７から送信された時刻をｔ２’とおくと、ｔ１＜ｔ２’ということである。【０１１５】  ここで、本実施の形態においても、証明装置７の直列化可能性は保証されている、即ち、ｔ２’の時点まで証明装置７の直列化可能性は保証されているとすると、さらに、ｔ１＜ｔ２ということも結論できる。以上から、証明装置７がユーザ点τに対応する受理証明書を利用者装置２ｉに送信した時刻まで、証明装置７の直列化可能性が推認されるときには、監査点α１に対応する監査用証明要求の受付けは、ユーザ点τに対応する利用者装置２ｉの証明要求の受付けより時間的に前であることが推認される。【０１１６】  尚、ｔ２’時点までの証明装置１の直列化可能性を保証しても、利用者装置２ｉが受理証明の一部として即時補完データを受信していなければ、上記のことは言えないことに注意する必要がある。なぜならば、ｔ２’時点より後で、証明装置７が監査点α１における割当て値を改変する可能性を除くことはできないからである。【０１１７】  尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プログラムやデータを収納する機能を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる主記憶装置（メモリ）、ハードディスク（ＨＤ）等の電源断時にもデータを記憶し続けることが出来る２次記憶装置を有する電子的な装置から構成されている。このうち、証明装置７の監査情報作成部７１、並びに監査装置８の補完データ要求部８１及びイベント順序証明監査部８２の処理は、上記ＣＰＵによる演算制御機能を具体的に示したものに他ならない。また、証明装置７の記憶部７２及び監査装置８の記憶部８３は、上記主記憶装置あるいは２次記憶装置の機能を備えたものである。【０１１８】  また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置または２次記憶装置に格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。【０１１９】（２−２．システム動作）
次に、以上の構成を有するイベント順序証明システム２００におけるイベント順序証明方法、およびイベント順序証明検証方法を図１５及び図１６を用いて説明する。ここで、図１５は、１つの順次集約期間において証明装置７がイベント受理証明書及び監査用受理証明書を作成する動作を説明するシーケンス図であり、図１６は、利用者装置２ｉがイベント受理証明書に対して第２の検証を行う動作を説明するシーケンス図である。【０１２０】  まず、図１５に示すイベント順序証明方法について説明する。尚、本実施の形態に係るイベント順序証明方法において、その動作のほとんどは第１の実施の形態と同様であり、図８のステップＳ１０〜Ｓ２００は、図１５のステップＳ６１０〜Ｓ８００と同一で、その後のステップＳ８１０〜Ｓ８５０が新たに追加されたものである。従って、以下ではこの追加されたステップについてのみ説明する。【０１２１】  順次集約のための一定期間が終了すると、証明装置７の監査情報作成部７１は、監査装置８からの完全遅延補完データ要求に対して、この集約期間内に発行した各監査用受理証明書の完全遅延補完データを取得し、監査装置８に送信する（ステップＳ８１０，Ｓ８２０，Ｓ８３０，Ｓ８４０）。【０１２２】  これにより、監査装置８は、各監査用受理証明書の完全遅延補完データを受信する（ステップＳ８５０）。
尚、図１５に示すイベント順序証明方法においては、監査装置８の方から証明装置７に完全遅延補完データ要求を送信し、これに応えて証明装置７が監査装置８に完全遅延補完データを送信する方式であったが、これとは異なり、証明装置７が監査装置８に完全遅延補完データを自動的に送信するような方式であってもよい。【０１２３】  次に、図１６を参照しながら、監査装置８を用いたイベント順序証明検証方法について説明する。これは、利用者装置２ｉの第２の検証機能に相当するものである。ここで、利用者装置２ｉの第２の検証機能に関しては、第１の実施の形態の検証機能（「ユーザ点の未来側の境界付け」）に、新たな検証機能（「ユーザ点の過去側の境界付け」）が加わったものであり、この新たな機能の動作を示すのが図１６である。即ち、本実施の形態の「ユーザ点の未来側の境界付け」に関する検証処理は、第１の実施の形態で示された図１０の動作と全く同一であるため、説明は省略し、「ユーザ点の過去側の境界付け」に関する検証処理について説明する。また、利用者装置２ｉの第１の検証機能に相当する検証方法については、第１の実施の形態における検証方法と同一であるため、説明を省略する。【０１２４】  まず、利用者装置２ｉは、監査の対象となる受理証明書（但し、即時補完データは含まれている）を含む監査要求情報を監査装置８に送信する（ステップＳ９１０，Ｓ９２０）。【０１２５】  次に、監査装置８は送受信部３１を介して監査要求情報を受信すると、イベント順序証明監査部８２は、利用者装置２ｉから送信された監査要求情報に含まれる受理証明書が割り当てられた順次集約木のリーフτを特定し、該リーフτより左に位置する監査点α１を計算する（ステップＳ９３０，Ｓ９４０）。そして、この監査点α１の監査用受理証明書および該監査用受理証明書の完全遅延補完データを取得する（ステップＳ９５０）。【０１２６】  続いて監査点α１のリーフτによる認証点を計算し、監査点α１の監査用受理証明書および該監査用受理証明書の完全遅延補完データから認証点の割当値Ａｃａｌを計算する（ステップＳ９６０，Ｓ９７０）。一方、イベント順序証明監査部８２は、監査要求情報として既に受け取っている受理証明書の即時補完データからこの認証点の割当値Ａを取得して、この認証点の割当値Ａが、計算により求めた認証点の割当値Ａｃａｌに一致するか否かを検証する（ステップＳ９８０，Ｓ９９０）。【０１２７】  以上の検証において、検証に成功すれば、受理証明書が改ざんされていないことを確認することができる（ステップＳ９９５）。一方、検証に失敗すれば、受理証明書が改ざんされていることを確認することができる（ステップＳ１０００）。そして、イベント順序証明監査部８２は、この監査結果を送受部３１を介して利用者装置２ｉに送信し、利用者装置２ｉは、監査結果を受信する（ステップＳ１０１０，Ｓ１０２０）。【０１２８】  これにより、利用者装置２ｉは、電子的公表機関を介した公表前においても、証明装置７が発行した受理証明書が当該の順次集約期間において、受理証明書に含まれる元デジタル・データに対して、受理証明書に含まれる順次集約木リーフ番号で識別される順番において発行されたものであること���確実に検証することができるとともに、ユーザ点の過去側の境界付けを検証することができる。尚、上記監査結果に監査点α１の識別子を含めてもよい。この場合においては、利用者装置２ｉは、上記監査を要求した受理証明書に対応する証明要求の登録が、監査点α１に対応する監査用証明要求の登録より後であったことの保証を監査装置８から確実に得ることができる。【０１２９】  尚、以上においては、「ユーザ点の過去側の境界付け」に関する検証処理の動作を説明したが、監査装置８は、「ユーザ点の未来側の境界付け」とともに「ユーザ点の過去側の境界付け」に関する検証処理を行うようにしてもよく、この場合には、監査要求情報として、第１の実施の形態における受理証明書および遅延補完データが必要となる。【０１３０】  従って、第２の実施の形態のイベント順序証明システム２００によれば、第１の実施の形態と同じ効果を得ることができる。また、これに加えて、受理証明書の正当性を検証できたときには、証明装置７において監査対象とした受理証明書の証明要求受信が監査に用いた監査用受理証明書の証明要求受信よりも時間的に後であることを証明することができる。
以上、第２の実施の形態について説明したが、第２の実施の形態には種々の変形例が考えられるものである。以下、第２の実施の形態の変形例について説明する。【０１３１】（２−３．第２の実施の形態の変形例１）
監査装置８は、上述した「ユーザ点の未来側の境界付け」及び「ユーザ点の過去側の境界付け」の機能から、２つのユーザ点の間の順序の判定を示すことも可能である。次に、２つの利用者装置２ａと２ｂが各々、順次集約木リーフτとτ１において受理証明書を取得するとき、監査装置８がτとτ１の前後関係を監査する方法について図１７を参照して説明する。ここで、図１７は、監査装置８がτとτ１の前後関係を監査する動作を示すフローチャート図である。【０１３２】  以下、順次集約木のリーフτ、τ１について、τ（或いはτ１）の時点とはτ（或いはτ１）に割り付けられた順序証明要求を受信した時点を表し、τ≦τ１と書くことにより、τの時点以降にτ１の時点があることを表す。以下では、τとτ１の大きい方をτ２とし、τ２で受信した順序証明要求に対する受理証明の送信の時点までは証明装置１の直列化可能性が保証されているものとする。【０１３３】  尚、利用者装置２ａ及び２ｂと監査装置８は、それぞれ第１の実施の形態の「ユーザ点の未来側の境界付け」の説明で述べた条件（１）〜（３）を満たすものとする。【０１３４】  まず、監査装置８が、利用者装置２ａ及び２ｂより、各受理証明書のユーザ点間の順序判定要求を受けると、τに等しいか右に位置する監査装置８の監査点で最も左に位置するものをαとし、τ１に等しいか右に位置する監査装置８の監査点で最も左に位置するものをα１として、決定する（ステップＳ１１１０，Ｓ１１２０，Ｓ１１３０）。【０１３５】  次に、監査点αとα１の時間的前後を比較する（ステップＳ１１４０）。これは、各監査点の監査用受理証明書の順次集約木番号及び順次集約木リーフ番号から判断するものである。【０１３６】  α＜α１のときは、第１の実施の形態の「ユーザ点の未来側の境界付け」及び上記「ユーザ点の過去側の境界付け」で述べた方法により、以下のようにτ＜τ１が示される（ステップＳ１１５０）。【０１３７】  これは、τ１に等しいか左に位置する監査装置８の監査点でもっとも右に位置するものをα２とおくと、α≦α２であり、また、「ユーザ点の未来側の境界付け」で述べた方法により、τ≦αが示されるとともに、「ユーザ点の過去側の境界付け」で述べた方法により、α２≦τ１が示されるので、以上より、τ＜α≦α２＜τ１となり、τ＜τ１が導かれるものである。【０１３８】  同様に、α１＜αのときは、τ１＜τが示される（ステップＳ１１８０）。
α＝α１のときは、τとτ１の前後関係の判定は、以下の手順（１）〜（３）に従って行われる。【０１３９】  （１）利用者装置２ａがτとその遅延補完点τ’で取得する情報からユーザ点τの監査点αによる認証点の位置と割当値が計算され、監査装置８が監査点αで取得する監査用受理証明書に含まれる即時補完データに上記認証点の割当値が含まれていることにより、監査装置８はτが、αより左にあること、さらにτが、αより、幾つ左にあるかを判定する。ここで、τが、αよりｎ個左にあるものとする（ステップＳ１１６０）。【０１４０】  （２）同様に、利用者装置２ｂがτ１とその遅延補完点τ１’で取得する情報からτ１の監査点αによる認証点の位置と割当値が計算され、監査装置８が監査点αで取得する監査用受理証明書に含まれる即時補完データに上記認証点の割当値が含まれていることにより、監査装置８はτ１が、αより左にあること、さらにτ１が、αより、幾つ左にあるかを判定する。ここで、τ１が、αよりｎ１個左にあるものとする（ステップＳ１１６０）。【０１４１】  （３）ｎ＞ｎ１のときは、監査装置８は、利用者装置２ａによるユーザ点τが利用者装置２ｂによるユーザ点τ１より左に位置することを示すことができる（ステップＳ１１７０）。また、ｎ＜ｎ１のときは、監査装置８は、利用者装置２ａによるユーザ点τが利用者装置２ｂによるユーザ点τ１より右に位置することを示すことができる（ステップＳ１１７０）。【０１４２】  従って、第２の実施の形態の変形例１によれば、第２の実施の形態の効果に加えて、複数の受理証明書の時間的順序の判定をすることができる。【０１４３】（２−４．第２の実施の形態の変形例２）
また、監査装置８は、各順次集約期間の終了後に、その順次集約期間に取得した各監査用受理証明書の完全遅延補完データを取得する（複合完全補完を行う）と同時に、各監査用受理証明とその完全補完データから順次集約木のルート値を計算し、計算されたルート値が公表されたルート値に一致するか否かを検証することが可能である。このことを監査装置８による「複合完全化によるルート値検証」と呼ぶ。【０１４４】  これは、図１８に示すように、監査装置８が、順次集約木のルート値を計算し、計算したルート値が、証明装置７から公表されたルート値と一致するか否かを検証することで、証明装置７による不正が行われていないことを検証するものである（ステップＳ１２１０，Ｓ１２２０，Ｓ１２３０，Ｓ１２４０，Ｓ１２５０）。【０１４５】  また、監査装置８は、この「複合完全化によるルート値検証」の機能により、利用者装置２ｉからの監査要求に含まれる監査要求情報の正当性を検証することができる。【０１４６】  例えば、ある順次集約木ＳＢＴの構成終了後に、利用者装置２ａが、リーフ（０，τ）の割当値を本来の割当値Ｖ（τ）から割当値ｖ’に改変し、割当値ｖ’がＶ（ｒｏｏｔ（ＳＢＴ））にハッシュ関数ｈによりリンクすることを主張したとする。このとき、第三者にこの主張を認めさせるためには、利用者装置２ａは、リーフ（０，τ）の補完データ
［（ｖ（０），ＬＲ（０）），（ｖ（１），ＬＲ（１）），…，（ｖ（ｋ−１），ＬＲ（ｋ−１））］
を用意し、ｖ’とこの補完データをハッシュ関数ｈにより所定の方式で組み合わせることによりＶ（ｒｏｏｔ（ＳＶＴ））が計算できることを示さなければならない。この計算の過程においては、ユーザ点τの監査点αによる認証点（図１１のｐ２）の割当値ｖ２’も計算される。ｖ２’はハッシュ関数の衝突困難性によって（実用上無視できる確率を除いて）ｒｏｕｎｄ（α）において監査装置８に送付されたｐ２の割当値Ｖ（ｐ２）とは異なる。一方、監査装置８は、Ｖ（α）から出発し、ａｕｔｈＰａｔｈ（α）に属するノードの割当値をハッシュ関数ｈによりリンクすることによりＶ（ｒｏｏｔ（ＳＢＴ））を計算する。ｐ２はａｕｔｈＰａｔｈ（α）に属するので、Ｖ（ｐ２）も結合される値の１つである。ここで（実用上無視できる確率を除いて）ｖ２’≠Ｖ（ｐ２）であるから、再びハッシュ関数の衝突困難性により、利用者装置２ａが計算によって示すｒｏｏｔ（ＳＢＴ）の割当値と監査装置８が複合完全化によるルート値検証において計算するｒｏｏｔ（ＳＢＴ）の割当値とは（実用上無視できる確率を除いて）異なることになる（この点についての詳細は、後述の順次集約木の性質４を参照）。従って監査装置８は利用者装置２ａの主張が誤りであることを検出することができる。【０１４７】  従って、第２の実施の形態の変形例２によれば、第２の実施の形態の効果に加えて、電子的情報公表機関が公表した順次集約木のルート値の正当性を検証することができる。また、監査装置８のルート値検証機能により、証明装置１及び利用者装置２ｉのいずれかにおいて不正があったとしても、不正の切り分けをすることができる。【０１４８】（２−５．第２の実施の形態の変形例３）
また、監査装置８は、利用者装置２ｉに完全補完データを提供する機能を備えることができる。以下、このことを補完データ完全化という。これは、証明装置７が障害などでサービス中断したときに有効に機能するものである。また、証明装置１がサービス中断しなくても、公表データ公開時や、補完データ要求が一時に大量に発生したときなどに証明装置７の負荷軽減に役立つものである。【０１４９】  図１９を参照して補完データ完全化について説明する。【０１５０】  図１９において、監査装置８が監査点ａの完全補完データを持つならば、該完全補完データと利用者装置２ｉが、イベント受理証明書を取得するユーザ点ｕとその遅延補完データを取得する点ｕ’で取得する情報を組み合わせることによりユーザ点ｕの完全補完データを計算することができる（以下、性質Ｐ１という）。【０１５１】  なぜならば、図１９で、ｊ１はユーザ点ｕの監査点ａによる認証点のレベルであり、ユーザ点ｕの認証パス情報のうち、レベルｊ１より小さいノードの情報はユーザ甲が取得しており、レベルｊ１以上ｋより小さいノードの情報は監査装置８が取得しているからである。但し、ｋは順次集約木の高さである。【０１５２】  例えば、公開間隔が１週間とし、１日級の監査装置８（少なくとも１日に一回監査情報を取得し、各監査点の完全補完データを取得する機関）があるものとする。利用者装置２ｉは受理証明書を取得したのち、１日以上経過してから、遅延補完データを取得することにより、利用者装置２ｉの取得する情報と、監査装置８の取得する情報を組み合わせることにより利用者装置２ｉが取得した受理証明書の完全補完データを構成することができる（上記性質Ｐ１による）。【０１５３】  次に図２０を参照して、２つ以上の監査装置８ｉ（ｉ＝ａ，ｂ，ｎ）を介して利用者装置２ｉが完全補完データを取得する方法について説明する。尚、監査装置８ｉとしては、上述した１日級の監査装置８ａ（少なくとも１日に一回監査情報を取得し、各監査点の完全補完データを取得する機関）と監査装置８ａ依存の１時間級の監査装置８ｂ（少なくとも１時間に一回監査情報を取得し、各監査点の遅延補完データ点を監査装置８ａの監査点を挟むように設定する装置）があるとする。【０１５４】  このとき利用者装置２ｉは受理証明書を所得したのち、１時間以上経過してから、遅延補完データを取得することにより、利用者装置２ｉの取得する情報、監査装置８ｂの取得する情報、及び監査装置８ａの取得する情報を組み合わせることによりユーザ点の完全補完データを構成することができる。【０１５５】  このことは、上記性質Ｐ１を繰り返し用いることにより示される。まず、監査装置８ａの取得する情報と監査装置８ｂの取得する情報を組み合わせることにより、監査点ａ２の認証パス情報が得られる。従って、図１７の場合の例と同様に、ユーザ点ｕの認証パス情報が得られる。【０１５６】  尚、上述した監査装置８ａ及び８ｂの監査点に関する条件は、例えば、監査装置８ａ依存の１時間級の監査装置８ｂは、自己の各監査点の遅延補完データを１日以上たってから取得してもよいし、あるいは１日級の監査装置８ａの監査点が１日の定時（例えば午前０時）に取得されることが分かっていれば��毎日の監査点の遅延補完データを、その日の終了後にまとめてとるようにしてもよい。また、上記例においては２つのレベルの監査装置８ｉを利用しているが、同様に３つ以上のレベルの監査装置８ｉを利用することも可能である。【０１５７】＜第３の実施の形態＞
（３−１．システム構成）
図２１は、本発明の第３の実施の形態に係るイベント順序証明システム３００のシステム構成図である。イベント順序証明システム３００は、イベント順序証明装置（以下、証明装置という）１、時刻情報提供装置９０、複数の時刻証明利用者装置（以下、利用者装置という）１０ｊ（ｊ＝ａ，ｂ，…，ｎ）、複数のイベント順序証明利用者装置＆時刻証明装置（以下、利用者装置（時刻証明装置）という）２０ｉ（ｉ＝ａ，ｂ，…，ｎ）、イベント順序証明監査装置＆イベント時刻監査装置（以下、監査装置という）９、及び、以上の各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成されるコンピュータネットワーク４を備えており、イベント順序証明を行うとともに、時刻証明を行うコンピュータシステムとなっている。即ち、利用者装置（時刻証明装置）２０ｉは、上記実施の形態の利用者装置２ｉの機能に加えて、時刻証明を行う時刻証明装置の機能も備えており、利用者装置１０ｊからの時刻証明要求に応えて、時刻受理証明書を発行し、利用者装置１０ｊに返信するようになっている。また、利用者装置２０ｉが、上記時刻受理証明書のダイジェストを含むイベント順序証明要求（以下、証明要求という）を証明装置１に送信すると、証明装置１は、該証明要求に応えて、イベント順序受理証明書（以下、受理証明書という）を発行し、利用者装置２０ｉに返信するようになっている。そして、この受理証明書に疑義が生じた場合には、利用者装置２０ｉは、証明装置１が公表したデータ又は監査装置９による監査結果によって受理証明書を検証することができるとともに、受理証明書と時刻受理証明書が対応付けられているので、区間時刻証を取得できるようになっている。【０１５８】  尚、本実施の形態においては、上記実施の形態と異なる構成及び機能を説明し、その他の構成及び機能に関しては同一部分には同一符号を付して説明を省略する。【０１５９】  また、上記実施の形態と同様に、第３の実施形態においても、イベント順序証明システム３００のシステム構成は機能が同一であればその形態は問わないものであり、その物理的構成は種々考えられるものである。例えば、利用者装置（時刻証明装置）２０ｉの代わりに、利用者検証装置（時刻証明装置）６０ｉが受理証明書の検証を行うようにしてもよいし、証明装置１の代わりに、電子的情報公表装置５が証明装置１から公表データをもらい、公開するようにしてもよい。また、コンピュータネットワーク４は、郵便など他の通信手段に置き換えることも可能である。【０１６０】  さらに、本実施の形態においても、第１の実施の形態と同様に証明装置１の直列化可能性は保証されているものとする。保証の手段としては、第１の実施の形態におけると同様、直列化可能性監査装置を用いることにしてもよい。【０１６１】  時刻情報提供装置９０は、正確な時刻情報を保持して、利用者装置（時刻証明装置）２０ｉ及び監査装置９に時刻情報を提供するようになっている。【０１６２】  利用者装置１０ｊは、利用者装置（時刻証明装置）２０ｉに所定のデジタル・データを含む時刻証明要求をし、その応答として利用者装置（時刻証明装置）２０ｉから時刻情報が付された時刻受理証明書を取得するようになっ��いる。【０１６３】  利用者装置（時刻証明装置）２０ｉは、上述したように利用者装置２ｉの機能に時刻証明装置の機能を付加した装置で、コンピュータネットワーク４を介して証明装置１、監査装置９、利用者装置１０ｊ及び時刻情報提供装置９０とデータを送受信する送受信部２１、利用者装置１０ｊからの時刻証明要求を受け付けて時刻受理証明書を作成する時刻証明作成部２０１、時刻受理証明書ダイジェストを含む証明要求を行うイベント順序証明要求部２０２、現時点において取得可能な受理証明書に対する補完データを要求する補完データ要求部２３、受理証明書を検証するイベント順序証明検証部２０４、受理証明書をはじめとするイベント順序証明に関する情報及び時刻受理証明書をはじめとする時刻証明に関する情報を記憶する記憶部２０５を有する構成である。尚、本実施の形態においては、イベント順序証明利用者装置として、時刻証明装置を兼ねた利用者装置を採用しているが、時刻証明装置を兼ねない利用者装置が存在してもよく、利用者装置（時刻証明装置）２０ｉと利用者装置２ｉが混在するようなシステム構成としてもよい。【０１６４】  詳しくは、時刻証明作成部２０２は、利用者装置１０ｊから送信された所定のデジタル・データを含む時刻証明要求を受け付けて、該デジタル・データに時刻情報提供装置９０から取得した時刻情報を付した時刻受理証明書を作成するようになっている。【０１６５】  イベント順序証明要求部２０３は、利用者装置１０ｊからの時刻証明要求に対して作成された時刻受理証明書のハッシュ値である時刻受理証明書ダイジェスト（利用者装置（時刻証明装置）２０ｉが予め用意した衝突困難一方向ハッシュ関数を時刻受理証明書に適用した結果）をイベント受理証明要求に含めるようになっている。従って、利用者装置（時刻証明装置）２０ｉが、証明装置１から受信する受理証明書は、その構成において図６に示す通りであるが、元デジタル・データｙは、上述したように、時刻受理証明書ダイジェストを含むものとなっている。【０１６６】  監査装置９は、第１の実施の形態の監査装置３の機能に加えて、時刻監査装置としての機能を備えており、詳しくは、コンピュータネットワーク４を介して証明装置１、利用者装置（時刻証明装置）２０ｉ及び時刻情報提供装置９０とデータを送受信する送受信部３１、利用者装置２０ｉからある受理証明書の監査要求を受けた際には、利用者装置２０ｉから送信された監査要求情報および監査情報を用いて受理証明書の検証を行い、その監査結果を利用者装置２０ｉに返信するイベント順序証明監査部３２、及び検証した受理証明書に対応する時刻受理証明書に付された時刻の含まれる時間区間を証明する区間時刻証明証を作成する区間時刻証明証作成部９１、監査用受理証明書、区間時刻証明証をはじめとする監査情報を記憶する記憶部９２を有する構成である。尚、本実施の形態においては、イベント順序証明監査装置としては、イベント時刻監査装置を兼ねた監査装置を採用しているが、イベント時刻監査装置を兼ねない監査装置が存在してもよく、監査装置９と監査装置３が混在するようなシステム構成としてもよい。【０１６７】  区間時刻証明証作成部９１は、監査用受理証明書を証明装置１か���受信したときの時刻を、時刻情報提供装置３０から取得して、区間時刻証明証に付すようになっている。従って、区間時刻証明証作成部９１で作成される区間時刻証明証には、本実施の形態においては、未来側の境界の時刻印が付されている。これは、第１の実施の形態で述べたように、監査装置３を用いたイベント順序証明検証（利用者装置２ｉの第２の検証）により、イベント受理証明要求が割り当てられた順次集約木のリーフが監査点のリーフよりも時間的に前であることが証明できるので、イベント順序証明要求の元となる利用者装置１０ｉからの時刻証明要求の受付が、監査装置９が監査用受理証明書を受信した時刻よりも時間的に前であることを証明するものである。ここで、本実施の形態におけるこの区間時刻証明証を「第１種の区間時刻証明証」という。【０１６８】  尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プログラムやデータを収納する機能を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる主記憶装置（メモリ）、ハードディスク（ＨＤ）等の電源断時にもデータを記憶し続けることが出来る２次記憶装置を有する電子的な装置から構成されている。このうち、利用者装置（時刻証明装置）２０ｉの時刻証明作成部２０２、イベント順序証明要求部２０３、補完データ要求部２０４及びイベント順序証明検証部２０５、並びに監査装置９の区間時刻証明証作成部９１の処理は、上記ＣＰＵによる演算制御機能を具体的に示したものに他ならない。また、利用者装置（時刻証明装置）２０ｉの記憶部２０６及び監査装置９の記憶部９２は、上記主記憶装置あるいは２次記憶装置の機能を備えたものである。【０１６９】  また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置または２次記憶装置に格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。【０１７０】（３−２．システム動作）
次に、以上の構成を有するイベント順序証明システム３００におけるイベント順序証明方法およびイベント順序証明検証方法を図２２乃至２５を用いて説明する。【０１７１】  尚、イベント順序証明方法においては、利用者装置（時刻証明装置）２０ｉを利用者装置２ｉ、監査装置９を監査装置３とすれば、全体的な動作は、図８に示す動作とほぼ同一であるため、異なる動作となる利用者装置（時刻証明装置）２０ｉと利用者装置１０ｊ間のやりとりを中心に説明する。ここで、図２０及び図２３は、図８のステップＳ１０に相当するイベント順序証明要求を送信するステップＳ１０’を詳しく説明するシーケンス図である（図２２においては、図８のステップＳ６０に相当する受理証明書を受信するステップＳ６０’も含む）。また、図２４は、図８のステップＳ１２０に相当する監査用受理証明書を受信するステップＳ１２０’を詳しく説明するシーケンス図である。【０１７２】  また、イベント順序証明検証方法の第１の検証においては、利用者装置２０ｉを利用者装置２ｉとすれば、図９に示す動作と同一であるため、説明を省略する。また、イベント順序証明検証方法の第２の検証においては、監査装置９を監査装置３とすれば、図１０に示す動作とほぼ同一であるため、異なる動作となる監査装置９の区間時刻証の作成について説明する。ここで、図２５は、図１０のステップＳ５２０に相当するイベント受理証明書の検証に成功したときのステップＳ５２０’を詳しく説明するシーケンス図である。【０１７３】  まず、図２２を参照して、イベント順序証明方法のイベント順序証明要求を送信するステップＳ１０’について説明する。【０１７４】  利用者装置１０ｊが利用者装置（時刻証明装置）２０ｉにデジタル・データを含む時刻証明要求を送信すると、利用者装置（時刻証明装置）２０ｉは送受信部２０１を介して、該デジタル・データを含む時刻証明要求を受信する（ステップＳ１１’、Ｓ１２’）。次に、利用者装置（時刻証明装置）２０の時刻証明作成部２０１は、時刻証明要求を受信した時刻を時刻情報提供装置９０から取得し、デジタル・データに該時刻を付した時刻受理証明書を作成し、利用者装置１０ｊに送信する（ステップＳ１３’，Ｓ１４’，Ｓ１５’）。これにより、利用者装置１０ｊは、時刻受理証明書を受信するので、時刻受理証明書を取得することができる（ステップＳ１６’）。【０１７５】  次いで、利用者装置（時刻証明装置）２０ｉのイベント順序証明要求部２０３は、時刻受理証明書のダイジェストを生成し、時刻受理証明書ダイジェストを含む証明要求を作成し、証明装置１に送信する（ステップＳ１７’，Ｓ１８’）。この結果、証明装置１は、送受信部１１を介して、証明要求を受信する（ステップＳ２０’）。【０１７６】  尚、上述した方法においては、利用者装置１０ｊに時刻受理証明書だけを返信したが、図２３に示すように、利用者装置１０ｊに時刻受理証明書に加えて、受理証明書を返信する方法も考えられる。【０１７７】  図２３においては、ステップＳ１０’のイベント順序証明要求ステップでは、時刻受理証明書を返信せずに、図８のステップＳ６０に相当するステップＳ６０’のイベント受理証明書受信ステップで、時刻受理証明書お���び受理証明書を返信する。即ち、利用者装置（時刻証明装置）２０ｉは、証明装置１から受理証明書を受信すると、受理証明書および該受理証明書に対応する時刻受理証明書を利用者装置１０ｊに送信するものである（ステップＳ６１’，ステップＳ６２’）。これにより、利用者装置１０ｊは、受理証明書および時刻受理証明書の双方を受信する（ステップＳ６３’）。【０１７８】  次に、図２４を参照して、監査用受理証明書を受信するステップＳ１２０’について説明する。【０１７９】  監査装置９は、送受信部３１を介して証明装置１から監査用受理証明書を受信すると、監査用受理証明書を受信した時刻を時刻情報提供装置３０から取得して、監査用受理証明書と対応付けて記憶部９３に記憶する（ステップＳ１２１’，Ｓ１２２’，Ｓ１２３’）。【０１８０】  次に、図２５を参照して、監査装置９によるイベント受理証明書の検証に成功したときのステップＳ５２０’について説明する。【０１８１】  監査装置９のイベント順序証明監査部３２が、利用者装置（時刻証明装置）２０ｉからの監査要求に応えて受理証明書の監査を行い、監査結果がＯＫであるときには、さらに、監査用受理証明書に付された時刻から、第１種の区間時刻証明証を発行し、該区間時刻証明証を監査結果に含める（ステップＳ５１１’，Ｓ５１２’，Ｓ５１３’）。【０１８２】  従って、第３の実施の形態のイベント順序証明システム３００によれば、第１の実施の形態と同じ効果を得ることができる。また、これに加えて、第１種の区間時刻証明証の発行により、未来側の境界の時刻印を与えることができる。【０１８３】（３−３．第３の実施の形態の変形例）
第３の実施の形態においては、第１の実施の形態の監査装置３に時刻監査装置としての機能を備えた監査装置９を用いたが、第２の実施の形態の監査装置８に時刻監査装置としての機能を備えた監査装置９’を用いて第３の実施の形態の変形例としてもよい。【０１８４】  この第３の実施の形態の変形例においては、区間時刻証明証作成部９１’は、監査用証明要求を証明装置７に送信したときの時刻を、時刻情報提供装置３０から取得して、区間時刻証明証に付すようになっている。従って、第３の実施の形態の変形例においては、区間時刻証明証作成部９１’で作成される区間時刻証明証には、過去側の境界の時刻印が付されている。【０１８５】  これは、第２の実施の形態で述べたように、監査装置８を用いたイベント順序証明検証（利用者装置２ｉの第２の検証）により、イベント順序証明要求が割り当てられた順次集約木のリーフがある監査点のリーフよりも時間的に後であることが証明できるので、イベント順序証明要求の元となる利用者装置１０ｊからの時刻証明要求に対する利用者装置（時刻証明装置）２０ｉによる時刻受理証明書の送信が、監査装置９’による監査用イベント順序証明要求の送信よりも時間的に後であることを証明するものである。ここで、この区間時刻証明証を「第２種の区間時刻証明証」という。【０１８６】  また、第３の実施の形態の変形例においては、監査装置９’は、「第１種の区間時刻証明証」を発行する機能も当然に有するので、未来および過去側の境界の時刻印が付された区間時刻証明証である「第３の区間時刻証明証」を発行することが可能である。これは、イベント順序証明要求の元となる利用者装置１０ｊからの時刻証明要求の受付が、監査装置９が監査用受理証明書を受信した時刻よりも時間的に前であることを証明するとともに、イベント順序証明要求の元となる利用者装置１０ｉからの時刻証明要求に対する利用者装置（時刻証明装置）２０ｉによる時刻受理証明書の送信が、監査装置９’による監査用イベント順序証明要求の送信よりも時間的に後であることを証明するものである。【０１８７】  さらに、第３の実施の形態の変形例として、イベント順序証明システム３００’は、利用者装置（時刻証明装置）２０ｉの発行する時刻受理証明書と、該時刻受理証明書に付された時刻の時間的前、後、あるいは両方の境界を証明する１つ又は複数の区間時刻証明証を取得し、それに基づき時刻受理証明書に付された時刻の正当性を判定するイベント時刻検証装置（図１９に図示せず）を有するシステム構成としてもよい。この場合においては、イベント時刻検証装置は、時刻受理証明書に付された時刻が、上記区間時刻証明証が証明する時間区間の中に、前もって定められた所定の誤差を許して含まれる割合が、前以て定められた所定の値より大きいことに基づき、時刻証明受理証明書に付された時刻の正当性を判定するようになっている。【０１８８】  上記実施の形態において証明装置１及び７の電子的情報公表部１７については特に詳しく述べなかったが、好適には、電子化社会における情報公表は以下のような要件を満たすことが求められる。【０１８９】  （１）複数の独立なエンティティが同一の情報を公表する。【０１９０】  （２）上記複数の���ンティティの各々に誰でもがいつでもアクセスできる。【０１９１】  （３）上記複数のエンティティの各々が公表する情報を取得する際に、情報提供元のエンティティ認証が提供され、かつ提供される情報の完全性が保証される。【０１９２】  上記の要件のうち、要件（１）については、複数のサービス機関が、ある範囲の情報について業務として提供することにより実現できる。上記実施の形態においては、証明装置と複数の監査装置が順次集約木のルート値等について業務として情報提供を行うことにより、この要件を満足するようにしている。【０１９３】  要件（２）については、現在よく普及しているＷＷＷにより情報提供することにより実現できる。【０１９４】  要件（３）については、提供する情報に対して公開鍵暗号方式に基づくデジタル署名を付することにより実現できる。この際、デジタル署名の強度が十分強いこと、及びデジタル署名に用いた署名用秘密鍵及びとそれとペアになる公開鍵のその時点での有効性が、公開鍵証明書、ＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）、ＯＣＳＰサービス（Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌ）等を用いて公開鍵基盤（ＰＫＩ：Ｐｕｂｌｉｋｅ−Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）により保証されていることが必要となる。上記の鍵ペアのは、情報の要求者が情報を取得する時点で有効であれば十分であり、随時、鍵ペアを更新し、鍵ペアの有効性を保持しつづけることが可能となる。その際、あるキー・ペアＫＰ１＝（ＳＫ１，ＰＫ１）を新しいキー・ペアＫＰ２＝（ＳＫ２、ＰＫ２）に置き換える際に、ＫＰ１が有効である間にＫＰ２の署名用秘密鍵ＳＫ２によるデジタル署名を生成することは必ずしも必要ではなく、利用者がアクセスした際に、その時点で有効なキー・ペアを用いてデジタル署名を生成することが要件となる。【０１９５】  従来、情報公表手段として新聞等のマスメディアに情報を公表することが行われてきたが、この方法は例えば１０年後に特定のマスメディアに公表された情報にアクセスするのが容易ではないことから上記の要件（２）を満たすのが困難であること、さらにアクセスできたとしても上記の要件（３）を満たす形で情報を取得するのが困難であること等の理由で、電子化社会における情報公表の手段として必ずしも適当ではない。【０１９６】＜順次集約木の構成および性質＞
ここで、上記実施の各形態において用いられた順次集約木の動的な構成方法、および性質について説明するが、その前提としてまず、順次集約木の構成に必要な基本関数について説明する。【０１９７】（基本関数）
高さｋの順次集約木は、レベル０からレベルｋまでのノードで構成されるが、レベルｊ（ｊ＝０，１，…，ｋ）のノードの数は、２（ｋ−ｊ）であるので、レベルｊ、番号ｉのノードを（ｊ，ｉ）と表すことにすると、ｉ＝０，１，…，２（ｋ−ｊ）−１となる。【０１９８】  以下、実数ｘに対して、ｃｅｉｌｉｎｇ（ｘ）をｘ以上の最小の整数、ｆｌｏｏｒ（ｘ）をｘ以下の最大の整数として、説明する。【０１９９】  ノード（ｊ，ｉ）（但し、ｊ＜ｋ）の親は、（ｊ＋１，ｆｌｏｏｒ（ｉ／２））であるので、
ｐａｒｅｎｔ（ｊ，ｉ）＝（ｊ＋１，ｆｌｏｏｒ（ｉ／２））
と定義する。また、ノード（ｊ，ｉ）（但し，０＜ｊ）の左側の子供は（ｊ−１，２・ｉ）、右側の子供は（ｊ−１，２・ｉ＋１）であるので、
ｌｅｆｔＣｈｉｌｄ（ｊ，ｉ）＝（ｊ−１，２・ｉ）
ｒｉｇｈｔＣｈｉｌｄ（ｊ，ｉ）＝（ｊ−１，２・ｉ＋１）
と定義する。このとき、高さｋの順次集約木のノード（ｊ，ｉ）（０≦ｉ＜２（ｋ−ｊ））のルート・パスｒｔＰａｔｈｋ（ｊ，ｉ）（ノード（ｊ，ｉ）からルートに至るノードの列をいう）は、
ｒｔＰａｔｈｋ（ｊ，ｉ）＝［（ｊ，ｒ（ｊ）），…，（ｋ，ｒ（ｋ））］
と表すことができる。但し、ｒ（ｊ）＝Ｉ，ｒ（ｊ’＋１）＝ｆｌｏｏｒ（ｒ（ｊ’）／２）（ｊ’＜ｋとし、ｒ（ｊ’）は既に定まっているものとする）であるとする。尚、（ｋ，ｒ（ｋ））は、順次集約木のルートを表し、常にｒ（ｋ）＝０となる。【０２００】  Ｖ（ｊ，ｉ）はノード（ｊ，ｉ）の割当値である。Ｖ（０，ｉ）をＶ（ｉ）と書く。ＬをＬ≦ｋなる非負整数、ＳＢＴをある順次集約木とするとき、ＳＢＴの部分グラフＢがレベルＬの部分木であるとは、ＳＢＴに属するレベルＬのあるノードｐがあり、Ｂがｐ及びｐの子孫からなるＳＢＴの部分グラフとなっていることと定義する。【０２０１】  ＢがＳＢＴの部分木であるとき、ｌｅａｆｓ（Ｂ）はＢのリーフの集合を表すものとする。またＸをＳＢＴのリーフからなる空でない集合とするとき，ｆｉｒｓｔ（Ｘ）によりＸのうち最も左に位置するリーフを表し、ｌａｓｔ（Ｘ）によりＸのうち最も右に位置するリーフを表す。【０２０２】  ２つの整数ｉ１，ｉ２について，［ｉ１．．ｉ２］はｉ１≦ｉ≦ｉ２なる整数ｉからなる集合（区間）を表し、（ｉ１．．ｉ２）はｉ１＜ｉ≦ｉ２なる整数ｉからなる集合（区間）を表し，［ｉ１．．ｉ２］はｉ１≦ｉ＜ｉ２なる整数ｉからなる集合（区間）を表し、（ｉ１．．ｉ２）はｉ１＜ｉ＜ｉ２なる整数ｉからなる集合（区間）を表すものとする。【０２０３】（順次集約木の構成方法）
・第１の順次集約木の構成方法
上述した基本関数の定義のもと、第１の動的な集約木の構成方法について説明する。この集約木の構成方法は、深さの違いを１以内に押さえ、ダミー・ノードを作成しない方法である。【０２０４】  集約期間（例えば１週間）に受付けるイベント順序証明要求の数が何らかの方法により前以て定まっているものとし、その数をｎとする。このとき、集約木の高さｋは，ｋ＝ｃｅｉｌｉｎｇ（ｌｏｇ２（Ｎ））である。高さｋの順次集約木リーフ数は最大で２ｋであるので、ｄ＝２ｋ−ｎとして、レベル０のノードのうち，２ｄ個を消去すれば、イベント順序証明要求の数ｎをダミー・ノードなしでリーフに割り当てることが可能となる。これは、レベル０のリーフが２ｄ個減ると、レベル１のリーフが新たにｄ個できるので、合計でｄ個減り、リーフの数は結局、２ｋ−ｄ＝ｎとなるからである。【０２０５】  以下、Ｌ１Ｗ＝２（ｋ−１）（レベル１のノードの個数）、Ｌ１Ｌ＝２（ｋ−１）−ｄ（子を有するレベル１のノードの個数）の、Ｌ０Ｌ＝２（２（ｋ−１）−ｄ）（レベル０のノードの個数）とおくと、ｎ個のイベント順序証明要求のうち、初めのＬ０Ｌ個をレベル０に配置し、残りをレベル１に配置するとき、ｉ番目のイベント順序証明要求の配置先を表す関数ｐｌａｃｅ（ｉ）は次式で表すことができる。【０２０６】    ｐｌａｃｅ（ｉ）＝（０，ｉ）  （０≦Ｉ＜Ｌ０Ｌ）
ｐｌａｃｅ（ｉ）＝（１，Ｌ１Ｌ＋ｉ−Ｌ０Ｌ）  （Ｌ０Ｌ＜ｉ≦ｎ）
ここで、ｐｌａｃｅ（ｉ）＝（レベル，番号）で構成されているものである。【０２０７】  図２６は、第１の動的な集約木の構成方法のｎ＝１０の場合の具体例を示すものである。この場合においては、図２６に示す通り、ｋ＝ｃｅｉｌｉｎｇ（ｌｏｇ２（１０））＝４となり、高さは４である。そして，ｄ＝２４−１０＝６であるので、６×２＝１２個のレベル０のリーフを消去する。この結果、Ｌ１Ｗ＝２３＝８，Ｌ１Ｌ＝８−６＝２，Ｌ０Ｌ＝２×２＝４となる。従って、レベル０のリーフが４個、レベル１のリーフが６個で，リーフの合計数はｎ＝１０となる。この結果、図２４に示すような集約木を動的に作成することができる。レベルが０より大きいノード（即ちリーフではないノード）に対する値の割当は、それが可能になったときにインクリメンタルに行われる。【０２０８】・第２の順次集約木の構成方法
次に、第２の動的な順次集約木の構成方法について説明する。この方法はインクリメンタルに集約木を構成する点では第１の方法と同じであるが、前もって定めた時間間隔（順次集約期間）に受付けるイベント順序証明要求の数は予想できないものと仮定している点が第１の方法と異なる。【０２０９】  ここで、インクリメンタルとは、イベント順序証明要求を受付ける都度、そこから計算できる順次集約木の部分を計算していくという意味である。以下では、受付けるイベント順序証明要求の数は予想できないが、その上界Ｎは見積もることができるとして説明する。この方法においては、イベント順序証明要求はすべてレベル０に割り付けられるものとし、二分木のルート値を計算するためにダミー・ノードを使用する方法である。【０２１０】  この方法で順次集約木を構成するとき、所定の集約期間（例えば、１週間）に受付けたイベント順序証明要求の数をＮとすると、順次集約木をの高さｋは、ｋ＝ｃｅｉｌｉｎｇ（ｌｏｇ２（Ｎ））である。高さｋの順次集約木リーフ数は最大で２ｋであるので、０からｎ−１までのｎ個のイベント順序証明要求をレベル０のノード（０，０）からノード（０，ｎ−１）に割り当てられることになる。【０２１１】  レベル０に割り当てられた、最も右のノード（０，ｎ−１）に対して、ルート・パスｒｔＰａｔｈｋ（０，ｎ−１）が
ｒｔＰａｔｈｋ（ｊ，ｉ）＝［（ｊ，ｒ（ｊ）），…，（ｋ，ｒ（ｋ））］
と表現されるものとする。【０２１２】  （一般に、ｒｔＰａｔｈｋ（ｊ，ｉ）は、ｒｔＰａｔｈｋ（ｊ，ｉ）＝［（ｊ，ｒ（ｊ）），…，（ｋ，ｒ（ｋ））］と表現される。但し、ｊ１∈［ｊ．．ｋ］に対してｒ（ｊ１）＝ｆｌｏｏｒ（ｉ／２（ｊ１−ｊ）とする。）このとき、各レベルｊ（ｊ＝０，…，ｋ−１）においては、以下のことが成り立つ。【０２１３】  ｒ（ｊ）が偶数のとき、ノード（ｊ，ｒ（ｊ）＋１）はダミー・ノードとなり、
ｒ（ｊ）＋１＜ｉ＜２（ｋ−ｊ）となる各ｉに対して、ノード（ｊ，ｉ）は消去されている。【０２１４】  ｒ（ｊ）が奇数のとき、ｒ（ｊ）＋１＜ｉ＜２（ｋ−ｊ）となる各ｉに対して、ノード（ｊ，ｉ）は消去されている。【０２１５】  以上のような方法に基づいて構成される順次集約木は、ダミー・ノードは各レベルの右端でのみ現れる、および作成されるダミー・ノードの数は、ｋ以下であるという性質を有する。【０２１６】  図２７及び図２８は、第２の順次集約木の構成方法のアルゴリズムを示すものであり、該アルゴリズムに従って順次集約木がインクリメンタルに構成されるようになっている。ここで、前提として以下の定義を行う。【０２１７】  ・Ｋ＝ｃｅｉｌｉｎｇ（ｌｏｇ２（Ｎ））とする。【０２１８】  ・ｎは受付けたイベント順序証明要求の数を示す整数変数とする。初期値は０である。【０２１９】  ・ｋは定められた時間間隔が終了したときの順次集約木の高さを表す変数とする。【０２２０】  ・（Ｋ＋１）個のカウンタの列を，ｉ０，…，ｉＫとする。ここで、ｉｊの初期値は０である（ｊ＝０，…，Ｋ）。ｉｊはレベルｊにおいて、既に生成されたノードの数を表すと同時に、次にレベルｊに作成されるノードの番号を表す。【０２２１】  ・（Ｋ＋１）個のブール変数の列を、ｂ０，…，ｂＫとする。ここで、ｂｊの初期値はｆａｌｓｅである（ｊ＝０，…，Ｋ）。ｂｊは、レベルｊにダミー・ノードがあるか否かを表す。【０２２２】  ・（Ｋ＋１）個の配列の列を、Ａ０，…，ＡＫとする。各配列は、２（Ｋ−ｊ）の長さをもち、レベルｊのノードに割り付けられる値を保持する（ｊ＝０，…，Ｋ）。【０２２３】  ・ｒはダミー・ノードに割り当てるダミー値を保存する変数である。【０２２４】  ・Ｒ（ｊ，ｉ）は２つの引数ｉ，ｊに対してノード（ｊ，ｉ）に割り当てるべきダミー値を計算する関数である。【０２２５】  ・ｘ，ｘ０，ｘ１，ｘ２は、ノードに割り当てる値を表す変数である。【０２２６】  ・ｘ１‖ｘ２は、ビット列で表された２つの値の連接である。【０２２７】  ・ｈ（ｘ）はｘのハッシュ値を計算する衝突困難一方向ハッシュ関数である。【０２２８】  このような定義のもと、図２７の処理手順１が終了すると（即ち所定の順次集約期間が終了すると）、ｎは受付けた時刻処理要求の数，ｋは生成された順次集約木の高さ，ｉｊはレベルｊのノードの数，ｂｊはレベルｊにダミー・ノードがあるか否か、Ａｊは，レベルｊのノードに割り付けられた値からなる配列をそれぞれ表すことになる。【０２２９】  図２９は、第２の動的な順次集約木の構成方法のｎ＝９の場合の具体例を示す図である。即ち、定められた順次集約期間が終了したとき、ｎ＝９であったとする。このとき、ｋ＝ｃｅｉｌｉｎｇ（ｌｏｇ２（９））＝４となり、高さは４の順次集約木を構成することになる。尚、０からｎ−１までのｎ個の順序証明要求は、処理手順１により、既にノード（０，０），…，（０，ｎ−１）に割り当てられている。また、処理手順１により、ｉ０＝９，ｉ１＝４，ｉ２＝２，ｉ３＝１，ｉ４＝０となっている。【０２３０】  このとき、処理手順２の（２．２）から、ノード（０，８）のノートパスｒｔＰａｔｈ４（０，８）は
ｒｔＰａｔｈ４（０，８）＝［（０，８），（１，４），（２，２），（３，１），（４，０）］
となる。これから、各レベルの手順は、以下の通りになる。【０２３１】  レベル０においては、ステップ（２．３．２．１）より、ノード（０，９）がダミー・ノードになる。レベル１においては、ステップ（２．３．３．１．５）より、ノード（１，４）に値が割り付けられ、（１，５）がダミー・ノードになる。レベル２においては、ステップ（２．３．３．１．５）より、ノード（０，２）に値が割り付けられ、（０，３）がダミー・ノードになる。レベル３においては、ステップ（２．３．３．１）により、ノード（３，１）に値が割り付けられる。レベル４においては、ステップ（２．３．３．１）により、ノード（４，０）に値が割り付けられる。【０２３２】  この結果、図２９に示すような順次集約木をインクリメンタルに構成することができる。ダミー・ノードは各レベルに於いて高々１つである。ダミー・ノードには前以て定められた何らの手順に従いダミー・ラベル（ダミー割当値）を割当てる必要があるが、このような手順の簡単な定義としては、レベルの関数としてダミー・ラベルを定義する方法があり、これを採用してもよい。
図３０は、上記のインクリメンタルな順次集約木の構成方法において各ノードに値を割付けるタイミングを示したものである。【０２３３】  上述の第１及至第３の実施の形態においては、順次集約木は図３０に示すように、情報公表の区切りにおいては、ダミー・ノードを用いて最終的な順次集約木の構成する方式を前提としている。しかし、順次集約木の具体的な構成法としてこれ以外の方法を採用することも可能である。【０２３４】  即ち、上記実施の形態におけるイベント順序証明システム１００、２００及び３００は、上述した動的な集約木の構成方法のいずれをも採用できるものであり、これにより、利用者装置からのイベント順序証明要求の量的変化に柔軟に対応することができるので、スケーラビリティの高いイベント順序証明システムを構築することが可能となる。【０２３５】（認証パスの定義とそれによるルート値の計算法）
予め高さが決定しておらずインクリメンタルに構成されるような順次集約木のノードに対して、ある時点のルート・パスや認証パスを以下のように定義することができる。この定義は第１及至第３の実施の形態において所定の順次集約期間に受付ける要求の数が前以て予想できないときに適用することができる。【０２３６】  現時点のリーフ番号の最大値がｍ（≧０）（従ってリーフの数がｍ＋１）のとき、
κ（ｍ）＝ｍｉｎ｛ｈ｜ｍ＋１≦２ｈ｝とおく。
高さがκ（ｍ）の順次集約木を
ｃｕｒＳＢＴ（ｍ）
とおく。【０２３７】  ｐ＝（ｊ，ｉ）∈ｃｕｒＳＢＴ（ｍ）とし、ｐからｃｕｒＳＢＴ（ｍ）のルートに至るノードの並びルート・パスと言いを
ｒｔＰａｔｈ（ｐ，ｍ）
と書く。【０２３８】  ｒｔＰａｔｈＤ（ｐ，ｍ）は、ｒｔＰａｔｈ（ｐ，ｍ）に属するノードのうちでｍ番目のリーフの割当値が定まった時点で割当値が定まっているノードの列である。【０２３９】    ｒｔＰａｔｈ（ｐ，ｍ）＝［（０，ｉ（０）），…，（ｋ，ｉ（ｋ））］
としたとき、０≦ｋ１≦ｋなるあるｋ１があって、
ｒｔＰａｔｈＤ（ｐ，ｍ）＝［（０，ｉ（０）），…，（ｋ１，ｉ（ｋ１））］
となることが分かる。【０２４０】  ｒｔＰａｔｈＤＶ（ｐ，ｍ）は、ｒｔＰａｔｈＤ（ｐ，ｍ）の各ノードに割当値を割り当てたものである。【０２４１】    ｒｔＰａｔｈＤ（ｐ，ｍ）＝［（０，ｉ（０）），…，（ｋ１，ｉ（ｋ１））］
のとき、ｒｔＰａｔｈＤＶ（ｐ，ｍ）は次のような形となる。【０２４２】    ｒｔＰａｔｈＤＶ（ｐ，ｍ）＝［（（０，ｉ（０）），ｖ（０）），…，（（ｋ１，ｉ（ｋ１）），ｖ（ｋ１））］。【０２４３】  ｃｕｒＳＢＴ（ｍ）における、ノードｐ＝（ｊ，ｉ）からｃｕｒＳＢＴ（ｍ）のルート値を計算するのに必要なノードｐ’＝（ｊ’，ｉ’）の集合を該ノードの認証パスと呼びａｕｔｈＰａｔｈＴ（ｐ，ｍ）と表す。但し、認証パスに属する各ノードについて、該ノードを連接する方向（左又は右）についての情報もタグとして含んでいるものとする。【０２４４】  κ（ｍ）＝ｋで、
ｒｔＰａｔｈ（ｐ，ｍ）＝［（ｊ，ｒ（ｊ）），…，（ｋ，ｒ（ｋ））］
のとき，ａｕｔｈＰａｔｈＴ（ｐ，ｍ）はｒｔＰａｔｈ（ｐ，ｍ）を用いて次のように表すことができる。【０２４５】    ａｕｔｈＰａｔｈＴ（ｐ，ｍ）＝
［（（ｊ，ａ（ｊ）），ＬＲ（ｊ）），…，（（ｋ−１，ａ（ｋ−１）），ＬＲ（ｋ−１））］
ここで、ｒ（ｊ’）が偶数の場合，ａ（ｊ’）＝ｒ（ｊ’）＋１、ｒ（ｊ’）が奇数の場合、ａ（ｊ’）＝ｒ（ｊ’）−１であり、また、ｒ（ｊ’）が偶数の場合、ＬＲ（ｊ’）＝Ｒ，ｒ（ｊ’）が奇数の場合，ＬＲ（ｊ’）＝Ｌである（但し、ｊ’∈［ｊ．．ｋ−１］）。【０２４６】  そして、ａｕｔｈＰａｔｈＴ（ｐ，ｍ）の要素（（ｊ，ａ（ｊ）），ＬＲ（ｊ））について、ＬＲ（ｊ）の部分を（ＬＲ）タグという。さらに、ｒｔＰａｔｈ（ｐ，ｍ）の要素（ｊ，ｒ（ｊ））について、ｒ（ｊ）が偶数のとき、（ｊ，ｒ（ｊ）＋１）を（ｊ，ｒ（ｊ））の右補完点といい、ｒ（ｊ）が奇数のとき、（ｊ，ｒ（ｊ）−１）を（ｊ，ｒ（ｊ））の左補完点という。【０２４７】  このとき、ａｕｔｈＰａｔｈＴ（ｐ，ｍ）は、ｒｔＰａｔｈ（ｐ，ｍ）のルート以外の点の右補完点あるいは左補完点からなる。【０２４８】  またａｕｔｈＰａｔｈＴ（ｐ，ｍ）からＬＲタグの情報を除いたものをａｕｔｈＰａｔｈ（ｐ，ｍ）と書く。即ち、
ａｕｔｈＰａｔｈＴ（ｐ，ｍ）＝
［（（ｊ，ａ（ｊ）），ＬＲ（ｊ）），…，（（ｋ−１，ａ（ｋ−１）），ＬＲ（ｋ−１））］
であるとき、
ａｕｔｈＰａｔｈ（ｐ，ｍ）＝［（ｊ，ａ（ｊ）），…，（ｋ−１，ａ（ｋ−１））］
とする。逆に
ａｕｔｈＰａｔｈ（ｐ，ｍ）＝［（ｊ，ａ（ｊ）），…，（ｋ−１，ａ（ｋ−１））］
が与えられればａｕｔｈＰａｔｈＴ（ｐ，ｍ）を以下のように計算できる。ｊ１∈［ｊ．．ｋ）に対して、ｒｔＰａｔｈ（ｐ，ｍ）のレベルｊ１のノードは
（ｊ１，ｆｌｏｏｒ（ｉ／２（ｊ１−ｊ）））
となるので、ｆｌｏｏｒ（ｉ／２（ｊ１−ｊ））が偶数であるときＬＲ（ｊ１）＝Ｒ，奇数であるときＬＲ（ｊ１）＝Ｌと定め、
ａｕｔｈＰａｔｈＴ（ｐ，ｍ）＝
［（（ｊ，ａ（ｊ）），ＬＲ（ｊ）），…，（（ｋ−１，ａ（ｋ−１）），ＬＲ（ｋ−１））］
とおけばよい。従って、ａｕｔｈＰａｔｈＴ（ｐ，ｍ）とａｕｔｈＰａｔｈ（ｐ，ｍ）の一方から他方を計算することが出来る。【０２４９】  ａｕｔｈＰａｔｈ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴ（ｐ，ｍ）の中で，ｍ番目のリーフの割当値が定まった時点で割当値が定まっているノードの集まりを各々
ａｕｔｈＰａｔｈＤ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴＤ（ｐ，ｍ）
と定義する。ａｕｔｈＰａｔｈ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴ（ｐ，ｍ）が上記のように表現されるとき、
ｋ１≦ｋ−ｊなるｋと、
ｊ≦ｊ（０）＜ｊ（１）＜…＜ｊ（ｋ１−１）
なる非負整数ｊ（０），…，ｊ（ｋ１−１）があり、
ａｕｔｈＰａｔｈＤ（ｐ，ｍ）＝［（ｊ（０），ａ（ｊ（０））），…，
（ｊ（ｋ１−１），ａ（ｊ（ｋ１−１）））］，
ａｕｔｈＰａｔｈＴＤ（ｐ，ｍ）＝［（（ｊ（０），ａ（ｊ（０））），ＬＲ（ｊ（０））），…，
（（ｊ（ｋ１−１），ａ（ｊ（ｋ１−１））），ＬＲ（ｊ（ｋ１−１）））］，
と表現される。【０２５０】  さらに、ａｕｔｈＰａｔｈＤ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴＤ（ｔ，ｍ）に、それに属するノードの割当値を加えたものを、各々ａｕｔｈＰａｔｈＤＶ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴＤＶ（ｐ，ｍ）と置く。具体的には、ａｕｔｈＰａｔｈＤ（ｐ，ｍ）及びａｕｔｈＰａｔｈＴＤ（ｐ，ｍ）が上記のように表現されるとき、
ａｕｔｈＰａｔｈＤＶ（ｐ，ｍ）＝
［（（ｊ（０），ａ（ｊ（０））），ｖ（ｊ（０）），…，
（（ｊ（ｋ１−１），ａ（ｊ（ｋ１−１））），ｖ（ｊ（ｋ１−１）））］，
ａｕｔｈＰａｔｈＴＤＶ（ｐ，ｍ）＝
［（（ｊ（０），ａ（ｊ（０））），ＬＲ（ｊ（０）），ｖ（ｊ（０）），…，
（（ｊ（ｋ１−１），ａ（ｊ（ｋ１−１））），ＬＲ（ｊ（ｋ１−１）），ｖ（ｊ（ｋ１−１）））］
とおく。ここで、各ｊ’∈｛ｊ（０）…，ｊ（ｋ１−１）｝に対して、ｖ（ｊ’）＝Ｖ（ｊ’，ａ（ｊ’））である。【０２５１】  上述の順次集約木の構成法の何れかの方法により、リーフ番号ｍのリーフに順次割当値を割り当てた段階で当該の順次集約木の構成が終了し、かつａｕｔｈＰａｔｈＴＤＶ（ｐ，ｍ）が上記のように表されるとき、ノードｐ＝（ｊ，ｉ）の割当値Ｖ（ｐ）とａｕｔｈＰａｔｈＴＤＶ（ｐ，ｍ）から以下のようにして集約木のルート値を計算することができる。ｊ１∈［ｊ．．ｋ］に対して、ｖ’（ｊ１）を以下（１），（２）により再帰的に定義する。このとき、ｖ’（ｋ）が集約木のルート値となる。【０２５２】  （１）ｖ’（ｊ）＝Ｖ（ｊ，ｉ）
（２）ｊ１∈［ｊ．．ｋ］に対して，ｖ’（ｊ１）が定義されたとする、ＬＲ（ｊ１）＝Ｌのとき、
ｖ’（ｊ１＋１）＝ｈ（ｖ（ｊ１）‖ｖ’（ｊ１））
ＬＲ（ｊ１）＝Ｒのとき、
ｖ’（ｊ１＋１）＝ｈ（ｖ’（ｊ１）‖ｖ（ｊ１））
と定義する。【０２５３】  ｍ１，ｍ２を順次集約木リーフ番号とし、ｍ１≦ｍ２とする。このとき、
ｃｕｒＳＢＴ（ｍ１）⊆ｃｕｒＳＢＴ（ｍ２）である。【０２５４】  ｐ＝（ｊ，ｉ）∈ｃｕｒＳＢＴ（ｍ１）とする。このとき、以下の（１），（２），（３）が成立つ。【０２５５】  （１）ｒｔＰａｔｈ（ｐ，ｍ１）⊆ｒｔＰａｔｈ（ｐ，ｍ２）
（２）ａｕｔｈＰａｔｈ（ｐ，ｍ１）⊆ａｕｔｈＰａｔｈ（ｐ，ｍ２）
（３）ａｕｔｈＰａｔｈＤ（ｐ，ｍ１）⊆ａｕｔｈＰａｔｈＤ（ｐ，ｍ２）
＜順次集約木の諸性質＞
以下では、インクリメンタルに構成される順次集約木について、現時点のリーフ番号の最大値をｍとし、
ｒｔＰａｔｈ（（０，ｉ），ｍ），ｒｔＰａｔｈＤ（（０，ｉ），ｍ），ｒｔＰａｔｈＤＶ（（０，ｉ），ｍ）
を各々短く
ｒｔＰａｔｈ（ｉ，ｍ），ｒｔＰａｔｈＤ（ｉ，ｍ），ｒｔＰａｔｈＤＶ（ｉ，ｍ）
と書くこともある。同様に
ａｕｔｈＰａｔｈ（（０，ｉ），ｍ），ａｕｔｈＰａｔｈＴ（（０，ｉ），ｍ），ａｕｔｈＰａｔｈＤ（（０，ｉ），ｍ），
ａｕｔｈＰａｔｈＴＤ（（０，ｉ），ｍ），ａｕｔｈＰａｔｈＤＶ（（０，ｉ），ｍ），ａｕｔｈＰａｔｈＴＤＶ（（０，ｉ），ｍ）
を各々短く
ａｕｔｈＰａｔｈ（ｉ，ｍ），ａｕｔｈＰａｔｈＴ（ｉ，ｍ），ａｕｔｈＰａｔｈＤ（ｉ，ｍ），
ａｕｔｈＰａｔｈＴＤ（ｉ，ｍ），ａｕｔｈＰａｔｈＤＶ（ｉ，ｍ），ａｕｔｈＰａｔｈＴＤＶ（ｉ，ｍ）
と書くこともある。【０２５６】  次に、順次集約木において、ユーザ点の監査点による認証点を計算するアルゴリズムについて説明する。前提として、順次集約木の高さをｋとし、ユーザ点の識別番号をｉ０、監査点の識別番号をｉ１とし、ｉ０＜ｉ１とする。一般に、順次集約木のノード（０，ｉ）に対してｒｔＰａｔｈ（（０，ｉ），ｍ）は以下のように計算できる。【０２５７】    ｒｔＰａｔｈ（（０，ｉ），ｍ）＝［（０，ｒ（０）），…，（ｋ，ｒ（ｋ））］
但し、ｋ＝κ（ｍ），ｊ∈［０．．ｋ］に対してｒ（ｊ）＝ｆｌｏｏｒ（ｉ／２ｊ）と置く。【０２５８】  この手順によって、ノード（０，ｉ０）のルート・パスｒｔＰａｔｈ（（０，ｉ０），ｍ）とノード（０，ｉ１）のルート・パスｒｔＰａｔｈ（（０，ｉ１），ｍ）を計算する。すると、ｒｔＰａｔｈ（（０，ｉ０），ｍ）とｒｔＰａｔｈ（（０，ｉ１），ｍ）は、ある要素以降は一致する。このとき、最初に一致した要素を、ノード（０，ｉ０）とノード（０，ｉ０）の合流点（ｃｏｎｆｌｕｅｎｔ  ｐｏｉｎｔ）と呼ぶ。そして，合流点のレフト・チャイルドを、ノード（０，ｉ０）（ユーザ点）のノード（０，ｉ１）（監査点）による認証点（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｏｉｎｔ）とよぶ。【０２５９】  以上は、ユーザ点と監査点が同一の順次集約木に属する場合における認証点の定義であるが、該ユーザ点が属する順次集約木ＳＢＴより後に、該監査点の属す順次集約木の属する順次集約木が生成される場合には，ＳＢＴのルートを該ユーザ点の該監査点による認証点と定義する。【０２６０】（順次集約木の性質１）
Ｂをある順次集約木の部分順次集約木で、ある時点において、ｌａｓｔ（ｌｅａｆｓ（Ｂ））に対応するラウンドの処理が終了済みとする。このとき、その時点においてＢに属する各ノードの割当値は計算され割当てられている。【０２６１】・性質１の証明
図２７及び図２８で示されるインクリメンタルな順次集約木の構成法により、各ラウンドの終了時には、そのラウンドまでに取得できたリーフの割当値により計算できるリーフ以外のノードの割付値は全て計算され該ノードに割当てられることになる。【０２６２】  ｌａｓｔ（ｌｅａｆｓ（Ｂ））に対応するラウンドの処理が終了したときには、ｌｅａｆｓ（Ｂ）に属する各リーフの割当値は定まっており、従ってＢの各ノードの割当値が計算できる。従って、この段階で、Ｂの各ノードの割当値は計算され、各ノードに割当てられている。
予め高さが決定しておらずインクリメンタルに構成されるような順次集約木に対して、次の性質２がなりたつ。【０２６３】（順次集約木の性質２）
Ｃを利用者装置、乙を監査装置とし、ｉ０とｉ１をｉ０＜ｉ１なる二つの順次集約木リーフ番号とし、ｒｏｕｎｄ（ｉ０）において、Ｃは受理証明書を受信し、乙はｒｏｕｎｄ（ｉ１）において監査用受理証明書を受信したものとする。このとき、ｉ０のｉ１による認証点は以下の性質を持つ。【０２６４】  （１）認証点の割当値は、監査点、即ちノード（０，ｉ１）の受理証明書内補完データに含まれる。【０２６５】  （２）上記認証点を（ｊ’，ｉ’）とおくと、ａｕｔｈＰａｔｈ（（０，ｉ０），ｉ１）に属するノードで、レベルがｊ’より小さいものに対する割当値は、ノード（０，ｉ１）に対応するラウンドで受理証明書を受理した利用者が、ノード（０，ｉ１）に対応するラウンド以降において受信できる遅延補完データあるいは受信した受理証明書内補完データに含まれる。【０２６６】  即ち、ｉ１≦ｉ２とすると，ａｕｔｈＰａｔｈ（（０，ｉ０），ｉ１）に属するノードで、レベルがｊ’より小さいものに対する割当値は，ＥＯＣ（ｉ０）あるいはＣＴｏｋｅｎ（ｉ０，ｉ２）に含まれる。【０２６７】  （３）上記認証点の割当値及びｒｔＰａｔｈ（（０，ｉ０），ｉ２）に属するノードでレベルが該認証点のレベルより小さいノードの割当値は、ノード（０，ｉ０）で受理証明書を受理した利用者が、ノード（０，ｉ１）に対応するラウンド以降において受信する遅延補完データおよびノード（０，ｉ０）で受信した受理証明書（受理証明書内補完データを含む）から計算することができる。【０２６８】・性質２の証明
以下では、利用者に渡す受理証明書に、受理証明書内補完データ（即時補完データ）を含める場合について説明する。利用者に渡す受理証明書に受理証明書内補完データを含めず、その代わりに遅延補完データにこの情報を含める場合でも同様の議論により同じ結論が得られる。【０２６９】  （１）まず、項目（１）について図３１を用いつつ説明する。ここで、合流点を（ｊ，ｉ）、そのレフト・チャイルドである認証点を（ｊ’，ｉ’）とおく。ノード（０，ｉ１）のｃｕｒＳＢＴ（ｉ１）におけるルート・パスｒｔＰａｔｈ（（０，ｉ１），ｉ１）において、（０，ｉ１）から出発して、合流点に至る直前のノードを（ｊ″，ｉ″）とおく。このとき、認証点は、（ｊ″，ｉ″）の左補完点である。従って、認証パスａｕｔｈＰａｔｈＴ（ｉ１，ｉ１）の定義から、（ｊ’，ｉ’），Ｌ）はノード（０，ｉ１）のｃｕｒＳＢＴ（ｉ１）における認証パスに含まれる。また，ノード（ｊ’，ｉ’）への値の割当ては，ｒｏｕｎｄ（ｉ１）より前に終了している。よって、（ｊ’，ｉ’），Ｌ，Ｖ（ｊ’，ｉ’））は（０，ｉ１）に対する受理証明書内補完データに含まれる。【０２７０】  （２）次に項目（２）について図３２および図３３を用いつつ説明する。【０２７１】    ｋ＝κ（ｉ１）とおく。【０２７２】  認証点（ｊ’，ｉ’）はノード（０，ｉ０）のルート・パスｒｔＰａｔｈ（（０，ｉ０），ｉ１）に含まれる。ここで、
ｒｔＰａｔｈ（（０，ｉ０），ｉ１）＝
［（０，ｒ（０）），…，（ｊ’，ｒ（ｊ’）），（ｊ’＋１，（ｊ’＋１）），…，（ｋ，ｒ（ｋ））］
とする。【０２７３】  また、ａｕｔｈＰａｔｈ（（０，ｉ０），ｉ１）の要素で、レベルがｊ’より小さいノードの並びを
［（０，ｓ（０）），…，（ｊ’−１，ｓ（ｊ’−１））］
とおく。【０２７４】  各ｊ１∈［０．．ｊ’−１］に対して，Ｖ（ｊ１，ｒ（ｊ１））がＥＯＣ（ｉ０）あるいはＣＴｏｋｅｎ（ｉ０，ｉ２）に含まれることを示せばよい。【０２７５】  ａｕｔｈＰａｔｈ（（０，ｉ０），ｉ１）の定義により、
ａｕｔｈＰａｔｈ（（０，ｉ０），ｉ１）のレベルｊ１の要素ｐ２＝（ｊ１，ｓ（ｊ１））は，ｒｔＰａｔｈ（（０，ｉ０），ｉ１）のレベルｊ１＋１の要素ｐ３＝（ｊ１＋１，ｒ（ｊ１＋１））のライト・チャイルドであるか或いはレフト・チャイルドである。どちらであるかによって場合分けする。【０２７６】  （場合１）ｐ２がｐ３のライト・チャイルドであるとき、図３２に示すように、ｐ２の割当値Ｖ（ｐ２）は、ｉ１≦ｉ２なｉ２において，Ｃが受信できる遅延補完データＣＴｏｋｅｎ（ｉ０，ｉ２）に含まれる。なぜならば、順次集約木の性質１により、リーフ（０，ｉ１）に対応するラウンドのイベント順序証明処理が終わった時点で、図３０のＢで表されたｃｕｒＳＢＴ（ｉ１）の部分木の割当値は計算可能であり計算され割当て済みである。従って、その時点以降で発行される遅延補完データにはＢのルートｐ２の割当値Ｖ（ｐ２）が含まれる。【０２７７】  （場合２）ｐ２がｐ３のレフト・チャイルドであるとき、図３３に示すように、ノードｐ２の割当値Ｖ（ｐ２）は、ｒｏｕｎｄ（ｉ０）のイベント順序証明要求者に対するト受理証明書内補完データに含まれる。何故ならば、図３３のｐ２をルートとする部分木Ｂについて、
∀ｉ∈ｌｅａｆｓ（Ｂ）［ｉ＜ｉ０］
であり、従ってＢ⊆ｃｕｒＳＢＴ（ｉ０）でかつｉ０で識別されるラウンドの開始時に、ｌｅａｆｓ（Ｂ）の割当値は確定している。よって順次集約木の性質１により、ｐ２＝ｒｏｏｔ（Ｂ）の割当値は、ｉ０で識別されるラウンドにおいて確定している。従って、ｐ２はａｕｔｈＰａｔｈＤ（（０，ｉ０），ｉ０）に含まれる。【０２７８】  （３）認証パスの定義及び項目（２）から、各ｊ１∈［０．．ｊ’］に対して、Ｖ（ｊ１，ｒ（ｊ１））を以下のように再帰的に計算することが出来る。【０２７９】  まず、Ｖ（０，ｒ（０））はイベント受理証明書に含まれているノード（０，ｉ０）の割当値とする。【０２８０】  次に、ｊ１∈［０．．ｊ’−１）に対して，Ｖ（ｊ１，ｒ（ｊ１））が計算されたと仮定し、Ｖ（ｊ１＋１，ｒ（ｊ１＋１））を以下のように計算する。ｒ（ｊ１）＜ｓ（ｉ１）のときは、
Ｖ（ｊ１＋１，ｒ（ｊ１＋１））＝ｈ（Ｖ（ｊ１，ｒ（ｊ１））‖Ｖ（ｊ１，ｓ（ｊ１）））
とし，ｓ（ｊ１）＜ｒ（ｊ１）のときは、
Ｖ（ｊ１＋１，ｒ（ｊ１＋１））＝ｈ（Ｖ（ｊ１，ｓ（ｊ１））‖Ｖ（ｊ１，ｒ（ｊ１）））
とする。【０２８１】  以下では、時刻の原点として、イベント順序証明システムのサービス開始時点をとり、時間を計る単位として１秒、１ミリ秒等を定め，時刻を，上記の原点から上記の時間の単位で計った整数で表現するものとする。また，各監査装置乙は、各順次集約期間Ｔの最初の監査点においては、Ｔに閉じた監査情報に加えて、前順次集約ルート値（直前の順次集約期間Ｔ’のルートの割当値Ｖ（ｒｏｏｔ（Ｔ’））も受信するものとする。【０２８２】  予め高さが決定しておらずインクリメンタルに構成されるような順次集約木に対して次の性質３がなりたつ。【０２８３】（順次集約木の性質３）
以下では、Ｔを正整数とし、α，α０，τ，τ’は拡張リーフ識別子を表すものとする。乙は監査装置とし、乙の監査点α０で、次の条件（＊１）を満たすものが存在するものとする。【０２８４】  （＊１）ｔｉｍｅ（α０）∈［０．．Ｔ）
さらに乙による任意の１つの監査点をα，その次の乙による監査点をα’とすると次の条件（＊２）が成り立つものとする。【０２８５】  （＊２）ｔｉｍｅ（α’）−ｔｉｍｅ（α）≦Ｔ
また、利用者甲はあるイベント順序証明要求を送信し、その要求に対応する順次集約木リーフをτ，その後、該イベント受理証明書に対する遅延補完データ要求し、その要求に対応する順次集約木リーフをτ’とすると次の条件（＊３）が成り立つものとする。【０２８６】  （＊３）ｔｉｍｅ（τ’）−ｔｉｍｅ（τ）≧Ｔ
さらに、監査装置乙は２番目以降の各順次集約期間に属する乙による最初の監査点において、直前の順次集約期間のルート値をイベント順序証明機関から受信するものとする。【０２８７】  このとき，以下の（１）〜（４）が成り立つ。【０２８８】  （１）α∈［τ．．τ’］となる乙によるある監査点αが存在する。
（２）α∈［τ．．τ’］となる乙による監査点αについて、τのαによる認証点の割当値（ラベル）は、α以後のある順次集約木リーフ（例えばτ’）において乙が受信する監査用受理証明書に含まれる。【０２８９】  （３）任意の順次集約木リーフτに対して、乙による監査点α’があり、次の条件（＊４）が成立つ。【０２９０】  （＊４）ｔｉｍｅ（τ）≦ｔｉｍｅ（α’）＜ｔｉｍｅ（τ）＋Ｔ
（４）Ｔ≦ｔｉｍｅ（τ）となる任意のユーザ点τについて，α＜τとなる乙の監査点αが存在する。【０２９１】・性質３の証明
（１）α∈［τ．．τ’］となるような乙によるある監査点αが存在しないと仮定する。τより左に位置する乙による監査点が存在するか否かにより場合分けする。【０２９２】  （場合１）τより左に位置する乙による監査点が存在する場合を考える。τより左に位置し、τに最も近い乙による監査点をα１とし、τ’より右に位置しかつτ’に最も近い乙による監査点をα２とする。α１とα２の取り方より、
ｔｉｍｅ（α１）＜ｔｉｍｅ（τ）及びｔｉｍｅ（τ’）＜ｔｉｍｅ（α２）
が成り立つ。ｔｉｍｅ（α１）＜ｔｉｍｅ（τ）より，−ｔｉｍｅ（α１）＞−ｔｉｍｅ（τ）となる。【０２９３】  従って、
ｔｉｍｅ（α２）−ｔｉｍｅ（α１）＞ｔｉｍｅ（τ’）−ｔｉｍｅ（τ）≧Ｔ．
一方，ｔｉｍｅ（α）∈［ｔｉｍｅ（τ）．．ｔｉｍｅ（τ）］となるような乙によるある監査点αが存在しないのであるから、α２はα１の次の監査点である。従って上記条件（＊２）より、
ｔｉｍｅ（α２）−ｔｉｍｅ（α１）≦Ｔとならなければならない。以上から、
ｔｉｍｅ（α２）−ｔｉｍｅ（α１）＞Ｔかつｔｉｍｅ（α２）−ｔｉｍｅ（α１）≦Ｔ
となり矛盾が導かれる。従って、ｔｉｍｅ（α）∈［ｔｉｍｅ（τ）．．ｔｉｍｅ（τ’）］となるような乙によるある監査点αが存在しないという仮定は誤りであり、ｔｉｍｅ（α）∈［ｔｉｍｅ（τ）．．ｔｉｍｅ（τ’）］となる乙によるある監査点αが存在する。【０２９４】  （場合２）τより左に位置する乙による監査点が存在しない場合を考える。このとき、ｔｉｍｅ（α０）∈［０．．Ｔ］なる監査点α０について、
α０∈［τ．．τ’］
となることが示される。【０２９５】  （２）上述の順次集約木の性質２と項目（１）から直ちに導かれる。【０２９６】  （３）τより前に乙の監査点が存在するか否かにより場合分けする。【０２９７】  （場合１）τより前に乙の監査点が存在する場合を考える。τより前で，最も後に位置する監査点をαとし、その次の監査点の時刻をα’とする。このとき、
ｔｉｍｅ（α）＜ｔｉｍｅ（τ）≦ｔｉｍｅ（α’）
従って、条件（＊２）より、
ｔｉｍｅ（α’）−ｔｉｍｅ（τ）＜ｔｉｍｅ（α’）−ｔｉｍｅ（α）≦Ｔ
よって、
ｔｉｍｅ（α’）＜ｔｉｍｅ（τ）＋Ｔ
以上より、（＊４）が得られる。【０２９８】  （場合２）τより前に乙の監査点が存在しない場合を考える。性質３の前提により、乙の監査点α０でｔｉｍｅ（α０）＜Ｔとなるものがある。【０２９９】    ｔｉｍｅ（τ）≦ｔｉｍｅ（α０）＜Ｔ
従って、
ｔｉｍｅ（α０）−ｔｉｍｅ（τ）＜Ｔ−ｔｉｍｅ（τ）≦Ｔ
よって、ｔｉｍｅ（α０）＜ｔｉｍｅ（τ）＋Ｔ
以上により、α’＝α０として、（＊４）が得られる。【０３００】  （４）乙の監査点α０で、ｔｉｍｅ（α０）∈［０．．Ｔ）となるものが存在するという上記仮定（＊１）から、直ちに導かれる。【０３０１】（順次集約木の性質４）
ＳＢＴを高さｋの順次集約木とし、ｉをＳＢＴの順次集約木リーフ番号とし、ｋ１≦ｋとし、ａｕｔｈＰａｔｈＴｋ１（ｉ）を、ａｕｔｈＰａｔｈＴ（ｉ）の最初のｋ１個の要素の列とする。【０３０２】    ａｕｔｈＰａｔｈＴｋ１（ｉ）＝［（（０，ｉ（０）），ＬＲ（０）），…，（（ｋ１−１，ｉ（ｋ１−１）），ＬＲ（ｋ１−１））］
と置く。さらにここで、ｖ１，ｖ２を異なる２つのハッシュ値とし、ＡＰ１，ＡＰ２を次のように与える。【０３０３】    ＡＰ１＝
［（ＬＲ（０），ｖ１’（０）），（ＬＲ（１），ｖ１’（１）），…，（ＬＲ（ｋ１−１），ｖ１’（ｋ１−１））］，
ＡＰ２＝
［（ＬＲ（０），ｖ２’（０）），（ＬＲ（１），ｖ２’（１）），…，（ＬＲ（ｋ１−１），ｖ２’（ｋ１−１））］．
このとき、ｖ１とＡＰ１から以下の（＊１）ように計算したｖ１”（ｋ１）と、ｖ２とＡＰ２から以下の（＊２）のように計算したｖ２”（ｋ１）は（実用上無視できる確率を除いて）一致しない。【０３０４】  （＊１）各ｊ’∈［０．．ｋ１］に対して、ｖ１”（ｊ’）を以下のように再帰的に定める。【０３０５】    ｖ１”（０）＝ｖ１。【０３０６】ｊ’＞０でＬＲ（ｊ’−１）＝Ｌのとき、
ｖ１”（ｊ’）＝ｈ（ｖ１’（ｊ’−１）‖ｖ１”（ｊ’−１））
ｊ’＞０でＬＲ（ｊ’−１）＝Ｒのとき、
ｖ１”（ｊ’）＝ｈ（ｖ１”（ｊ’−１）‖ｖ１’（ｊ’−１））
（＊２）各ｊ’∈［０．．ｋ］に対して、ｖ２”（ｊ’）を以下のように再帰的に定める。【０３０７】    ｖ２”（０）＝ｖ２
ｊ’＞０でＬＲ（ｊ’−１）＝Ｌのとき、
ｖ２”（ｊ’）＝ｈ（ｖ２’（ｊ’−１）‖ｖ２”（ｊ’−１））
ｊ’＞０でＬＲ（ｊ”−１）＝Ｒのとき、
ｖ２”（ｊ’）＝ｈ（ｖ２”（ｊ’−１）‖ｖ２’（ｊ’−１））
・性質４の証明
ｖ１”（ｋ１）＝ｖ２”（ｋ１）と仮定する。ｊ’∈［０．．ｋ１］でｖ１”（ｊ’）＝ｖ２”（ｉ’）となる最小のｊ’をｊ１と置く。ｖ１≠ｖ２、即ちｖ１”（０）≠ｖ２”（０）であるから、ｊ１＞０である。ｊ０＝ｊ１−１と置く。ＬＲ（ｊ０）がＬであるかＲであるかにより場合分けする。【０３０８】  （場合１）ＬＲ（ｊ０）＝Ｌのとき。ｊ１，ｊ０のとり方より、
ｖ１”（ｊ０）≠ｖ２”（ｊ０）。【０３０９】従って、
ｖ１’（ｊ０）‖ｖ１”（ｊ０）≠ｖ２’（ｊ０）‖ｖ２”（ｊ０）
一方、上述の（＊１），（＊２）から、
ｖ１”（ｊ１）＝ｈ（ｖ１’（ｊ０）‖ｖ１”（ｊ０））
ｖ２”（ｊ１）＝ｈ（ｖ２’（ｊ０）‖ｖ２”（ｊ０））
従って、
ｈ（ｖ１’（ｊ０）‖ｖ１”（ｊ０））＝ｈ（ｖ２’（ｊ０）‖ｖ２”（ｊ０））
従って、ｖ１’（ｊ０）‖ｖ１”（ｊ０）とｖ２’（ｊ０）‖ｖ２”（ｊ０）が、衝突困難ハッシュ関数ｈの衝突となる。【０３１０】  （場合２）ＬＲ（ｊ０）＝Ｒのとき、場合１に於けると同様にして、
ｖ１”（ｊ０）‖ｖ１’（ｊ０）とｖ２”（ｊ０）‖ｖ２’（ｊ０）が，衝突困難ハッシュ関数ｈの衝突となることが導かれる。【０３１１】  以上から、どちらの場合でも，衝突困難ハッシュ関数ｈの衝突が現れることになる。このようなことは（実用上無視できる確率を除いて）在り得ない。従って、ｖ１”（ｋ）＝ｖ２”（ｋ）となることも、（実用上無視できる確率を除いて）在り得ない。【０３１２】  次に、上記した第１及至第３の実施の形態に係るイベント順序証明システム及びイベント順序証明監査システムを、システムを構成する各装置の資源と性能、及び装置間を結ぶネットワークの資源と性能についての種々の条件において、より実用的なものとした実施の形態を説明する。具体的には、木構造等の非循環有向グラフを用いて順序証明を行う場合、非循環有向グラフが計算機のメモリに収まらない場合においても実現できるようにスケーラビリティを持って実現するためには、いずれの装置（イベント順序証明装置およびそれを利用する利用者装置）も非循環有向グラフをメモリ上に展開する必要がないような方法で実現することが要求される。また同じくスケーラビリティの観点から、非循環有向グラフが大きくなっても、イベント順序証明装置とその利用者装置の間の通信量が過大とならないことが要求され、装置間の通信量が当該の非循環有向グラフのノードの数の対数のオーダで抑えられるならばこの要求は満たされる。一般に、ネットワークで結ばれた計算機システムにより所定の機能を実現するために必要なメモリ量及び装置間の通信量と、個々の装置における処理量はトレードオフの関係にあり、所定の機能を持つシステムをメモリ量、装置の処理能力、およびネットワークの伝送容量等についての種々の状況化で実用可能とするためには、処理量が実用的な範囲でメモリ量および通信量を小さくする実現方式、及び逆にメモリ量および通信量が実用的な範囲で処理量を小さくする実現方式を提供することが有用である。【０３１３】＜第４の実施の形態＞
（４−１．システム構成）
図３４は、本発明の第４の実施の形態に係るイベント順序証明システム１００ａのシステム構成図である。イベント順序証明システム１００ａは、イベント順序証明装置（以下、証明装置という）１ａ、複数のイベント順序証明利用者装置（以下、利用者装置という）２Ｉ（Ｉ＝Ａ，Ｂ，…，Ｎ）、及び、以上の各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成されるコンピュータネットワーク３ａを備えており、証明装置１ａが利用者装置２Ｉからのイベント順序証明要求（以下、証明要求という）に応えて、イベント順序受理証明書（以下、受理証明書という）を含むイベント順序証明応答（以下、証明応答という）を利用者装置２Ｉに返信するようになっている。そして、利用者装置２Ｉは、証明装置１ａから受け取ったこの複数の証明応答から受理証明書を検証することができるようになっている。【０３１４】  証明装置１ａは、コンピュータネットワーク３ａを介して利用者装置２Ｉとデータの送受信を行う送受信部１１ａ、利用者装置２Ｉからの証明要求として送信されたデジタル・データを順次集約木を用いてまとめるイベント順序証明要求集約部１２ａ、受理証明書を含む証明応答を作成するイベント順序証明応答作成部１３ａ、証明装置１が一定期間に発行した複数の受理証明書の内容を集約したデータに対して高強度デジタル署名し、公表データとするデジタル署名作成部１４ａ、高強度デジタル署名を付加された公表データを電子的に公表する電子的情報公表部１５ａ、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部１６ａを有する構成である。【０３１５】  上述したように、イベント順序証明要求集約部１２ａは、順次集約木を用いてイベント順序証明要求をまとめるが、この順次集約木について図３５を用いて説明する。図３５は、一定期間（例えば１週間など証明装置１ａが取り纏めデータを公表するサイクル、順次集約期間という）において、利用者装置２Ｉからの証明要求に含まれるデジタル・データの全部あるいは一部を、所定の順次割当データ計算手順に従って計算した結果であるデジタル・データ（これを順次割当データと呼ぶ。例えば、証明要求に含まれるデジタル・データのハッシュ値）を経時的に順次左側から割り当てる値とする順次集約木の一具体例を示す図である。尚、利用者装置２Ｉからの各証明要求が割り当てられた順次集約木のリーフを登録点ともいう。【０３１６】  順次集約木の各ノード（リーフを除く）に割り当てられる値の計算方法は、以下の通りである。順次集約木の親の割当値は、左側の子の割当値Ｈ’と右側の子の割当値Ｈ”を連接（ビット列とビット列の結合）し、所定の衝突困難一方向ハッシュ関数ｈを適用した結果であるハッシュ値を計算することにより求められるものであり、これをｈ（Ｈ’‖Ｈ”）と表す。このようにして下位のレベルの割当値から上位のレベルの割当値を計算して、最終的に最上位のレベル（ルート）の割当値（ルート値）Ｈを求める。【０３１７】  以下においては、図３５に示すように、１６個のリーフを有する順次集約木の場合について説明する。尚、順次集約木リーフの数や高さは、順次集約期間が終了するまで確定しない。また、順次集約木におい���は、リーフへの値の割当は左から順次行われ、レベルが０より大きいノード（即ちリーフではないノード）に対する値の割当は、それが可能になったときにインクリメンタルに行われる。従って、図３５の同一の縦線上にある複数のノードに対しては、値の割当が同一の処理単位の中でほぼ同時に行われる。
ここで、順次集約木のレベルｊ、番号ｉのノードを（ｊ，ｉ）、（ｊ，ｉ）の割当値をＶ（ｊ，ｉ）と表して、図３５に示す具体例を説明する。【０３１８】  今、順次集約木リーフに割り当てるハッシュ値がＶ（０，５）であるとき（登録点が（０，５）であるとき）、このハッシュ値Ｖ（０，５）からルート値Ｈ（＝Ｖ（４，０））を求めるには、Ｖ（０，５）にＶ（０，４）を左から連接して、ハッシュ値ｈ１’を計算し、該ハッシュ値ｈ１’にＶ（１，３）を右側から連接してハッシュ値ｈ２’を計算し、該ハッシュ値ｈ２’にＶ（２，０）を左側から連接してハッシュ値ｈ３’を計算し、さらに該ハッシュ値ｈ３’にＶ（３，１）を右側から連接してハッシュ値Ｈ（＝Ｖ（４，０））を計算すればよい。このような手順によりＶ（０，５）とそれを補完するデータ（ここではＶ（０，４），Ｖ（１，３），Ｖ（２，０），Ｖ（３，１））からルート値Ｈが計算できるとき、Ｖ（０，５）はハッシュ関数ｈによりルート値Ｈにリンクするという。また、順次集約木におけるＶ（０，５）の補完データ（以下、順次集約補完データという）は、
［（Ｖ（０，４），Ｌ），（Ｖ（１，３），Ｒ），（Ｖ（２，０），Ｌ），（Ｖ（３，１），Ｒ）］
となる。ここで、Ｌ及びＲは、各々、２つのデジタル・データを連接する際に左から連接こと、及び右から連接することを表す。【０３１９】  イベント順序証明応答作成部１３ａは、図３６に示すような受理証明書ＥＯＣ（ｙ）を含む証明応答を作成し、利用者装置２Ｉに送信するようになっている。受理証明書ＥＯＣ（ｙ）は、利用者から送付されたデジタル・データｙ、上述した順次割当データ計算手順によりデジタル・データｙから計算された順次割当データｚ、順次割当データｚが割当てられた順次集約木を一意に特定できる順次集約木番号、順次割当データｚが割当てられた順次集約木リーフを一意に特定できる順次集約木リーフ番号、およびその時点で取得できる順次集約補完データの一部（これを登録点の即時補完データと言う）ＳＫの位置情報及び割当値を含むように構成されている。【０３２０】  また、証明応答には、利用者装置２Ｉの過去の各登録点の遅延補完データＴＫの位置情報及び割当値も含むように構成されている。尚、遅延補完データＴＫとは、当該の証明応答発行後に取得できる順次集約補完データをいい、例えば、図３５においては、Ｖ（０，５）にとって、Ｖ（２，０），Ｖ（０，４）は即時補完データであるが、Ｖ（１，３），Ｖ（３，１）はＶ（０，１５）が割当られた時点以降に取得可能な遅延補完データである。また、一般に、あるリーフａ１とそれより右に位置するもう一つのリーフａ２において、リーフａ２の割当処理が終了した時点で定まるリーフａ１の遅延補完データを、ａ１のａ２における遅延補完データという。図３５においては、ノード（０，５）のノード（０，１０）における遅延補完データは、ノード（１，３）である。【０３２１】  ここで、本実施の形態における証明応答の具体例を図３７を用いて説明する。尚、以下においては、本実施の形態における証明応答の形式を「シーケンス補完方式」と呼ぶ。今、ある利用者装置２Ｉからの登録点がＸ１（ノード（０，２）），Ｘ２（ノード（０，１１）），Ｘ３（ノード（０，１８）），Ｘ４（ノード（０，２１）），Ｘ５（ノード（０，２９）），Ｘ６（ノード（０，３１））であるとする。【０３２２】  シーケンス補完の方式においては各登録点において以下のようなデータが利用者装置２Ｉに返されるようになっている。【０３２３】  （１）Ｘ１点における証明応答には、Ｘ１点の即時補完データが返される（具体的には、ノード（１，０）の割当値）。【０３２４】  （２）Ｘ２点における証明応答には、Ｘ２点の即時補完データ、及びＸ１点のＸ２点における遅延補完データが返される（具体的には、Ｘ２点の即時補完データとして、ノード（３，０），ノード（１，４），ノード（０，１０）の割当値、Ｘ１点のＸ２点における遅延補完データとして、ノード（０，３），ノード（２，１））の割当値。【０３２５】  （３）Ｘ３点における証明応答には、Ｘ３点の即時補完データ、並びにＸ１点及びＸ２点のＸ３点における遅延補完データが返される（具体的には、Ｘ３点の即時補完データとして、ノード（４，０），ノード（１，８）の割当値、Ｘ１点のＸ３点における遅延補完データとして、ノード（０，３），ノード（２，１），ノード（３，１）の割当値、Ｘ２点のＸ３点における遅���補完データとして、ノード（２，３）の割当値）。【０３２６】  （４）Ｘ４点における証明応答には、Ｘ４点の即時補完データ、並びにＸ１点、Ｘ２点及びＸ３点のＸ４点における遅延補完データが返される（具体的には、Ｘ４点の即時補完データとして、ノード（４，０），ノード（２，４），ノード（０，２０）の割当値、Ｘ１点のＸ４点における遅延補完データとして、ノード（０，３），ノード（２，１），ノード（３，１）の割当値、Ｘ２点のＸ４点における遅延補完データとして、ノード（２，３）の割当値、Ｘ３点のＸ４点における遅延補完データとして、ノード（０，１９）の割当値）。【０３２７】  以下、Ｘ５及びＸ６においても同様である。このように、シーケンス補完方式においては、証明応答として、ある登録点に関して、該登録点の即時補完データ及びある登録点より前に登録された各登録点の該登録点における遅延補完データが含まれるようになっている。尚、各証明応答は、利用者装置２Ｉごとに管理されるようになっている。【０３２８】  利用者装置２Ｉは、コンピュータネットワーク３ａを介して証明装置１ａとデータを送受信する送受信部２１ａ、所定のデジタル・データを含む証明要求を複数回行うイベント順序証明要求証部２２ａ、証明要求に対する証明応答に含まれた受理証明書を検証するイベント順序証明検証部２３ａ、受理証明書を含む証明応答をはじめとしてイベント順序証明に関する情報を記憶する記憶部２４ａを有する構成である。【０３２９】  ここで、イベント順序証明検証部２３ａは、受理証明書に対して以下の検証機能を備える。【０３３０】  第１の検証機能としては、証明装置１ａのデジタル署名作成部１４ａ及び電子的情報公表部１５ａを介して公表される公表情報に、受理証明書に含まれる順次割当データがハッシュ関数を介してリンクすることを検証するものである。具体的には、順次集約木のルート値として公表された値と利用者装置２Ｉで計算されたルート値が一致するか否か検証するものである。【０３３１】  第２の検証機能としては、公表情報が公開される前であっても、利用者装置２Ｉの後述する動作により、利用者装置２Ｉ間における受理証明書発行の時間的前後を検証するものである。【０３３２】  以下、第２の検証機能を図３８を用いて説明するが、その前に、合流点及び認証点の説明をする。【０３３３】  ある順次集約木のリーフａに対して、ａからルートに至るパスをａのルート・パスと呼び、ｒｔＰａｔｈ（ａ）と書く。また、ｒｔＰａｔｈ（ａ）に属するノードのルート以外のものの兄弟ノード（ｓｉｂｌｉｎｇ  ｎｏｄｅ）からなるノードの並びを認証パスと呼び、ａｕｔｈＰａｔｈ（ａ）と書く。【０３３４】  このとき、ある順次集約木の２つのリーフａ１とａ２について、ａ１より右にａ２が位置するとき、ａ１からルートに至るパスとａ２からルートに至るパスの合流する点を、ａ１とａ２の合流点と呼び、合流点のレフト・チャイルド（左側の子）をａ１のａ２による認証点と呼ぶ。例えば、図３７において、登録点Ｘ１の登録点Ｘ２による認証点は（３，０）の点であり、登録点Ｘ２の登録点Ｘ３による認証点は（４，０）の点である。【０３３５】  今、２つの利用者装置２Ａ及び２Ｂが、それぞれ、シーケンス補完方式により、各登録点の証明応答を取得するものとし、図３８に示すａ，ａ１，ａ２，ａｆ利用者装置２Ａの登録点、ｂを利用者装置２Ｂの登録点とする。尚、ａｆは、暫定終端点と呼ばれるもので、利用者装置２Ａの登録点のうち、最も右に位置する登録点である。図３８においては、利用者装置２Ａの１つの登録点ａがあり、それより右に位置する利用者装置２Ｂの登録点ｂがあり、さらにその右に位置する利用者装置２Ａの登録点ａｆがある。【０３３６】  ここで、シーケンス補完方式においては、一般に、登録点ａが登録点ｂより左に位置する場合、認証点のラベル（割当値）は登録点ｂの証明応答（即時補完データ）に含まれており、また、登録点ｂにおけるイベント順序証明処理が終了した時点以降（例えば、登録点ａｆの時点）においては、登録点ａの遅延補完データから計算できるラベルには、認証点のラベルが含まれるので、登録点ａの登録点ａｆにおける遅延補完データから計算される認証点の割当値と、登録点ｂの即時補完データに含まれる認証点の割当値が一致するか否かを検証することにより、登録点ａと登録点ｂの時間的前後を検証することができる（詳しくは、後述の順次集約木の性質の項目（３）を参照）。【０３３７】  従って、図３８の場合、登録点ａｆを現時点としたときの現時点順次集約木における、登録点ａの登録点ｂによる認証点ｏの割当値Ｖ（ｏ）が一致すれば、登録点ａの登録が登録点ｂの登録より前に起こったことを客観的に証明することができる。イベント順序証明検証部２３ａは、このことを後述する動作により検証するものである。【０３３８】  尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プログラムやデータを収納する機能を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる主記憶装置（メモリ）、ハードディスク（ＨＤ）等の電源断時にもデータを記憶し続けることができる２次記憶装置を有する電子的な装置から構成されている。このうち、証明装置１ａのイベント順序証明要求集約部１２ａ、イベント順序証明応答作成部１３ａ、デジタル署名作成部１４ａ及び電子的情報公表部１５ａ、並びに利用者装置２Ｉのイベント順序証明要求部２２ａ及びイベント順序証明検証部２３ａの処理は、上記ＣＰＵによる演算制御機能を具体的に示したものに他ならない。また、証明装置１ａの記憶部１６ａ及び利用者装置２Ｉの記憶部２４ａは、上記主記憶装置あるいは２次記憶装置の機能を備えたものである。【０３３９】（４−２．システム動作）
次に、以上の構成を有するイベント順序証明システム１００ａにおけるイベント順序証明方法、およびイベント順序証明検証方法を図３９乃至４１を用いて説明する。ここで、図３９は、１つの順次集約期間において証明装置１ａが受理証明書を含む及び証明応答を作成する動作を説明するシーケンス図であり、図４０及び４１は、利用者装置２Ｉが受理証明書に対して第２の検証を行う動作を説明するシーケンス図である。【０３４０】  まず、図３９を参照して、イベント順序証明方法について説明する。【０３４１】  利用者装置２Ｉが証明装置１ａにデジタル・データｙを含む証明要求を送信すると、証明装置１ａは送受信部１１ａを介して、該デジタル・データｙを含む証明要求を受信する（ステップＳ１０ａ，Ｓ２０ａ）。
次に、イベント順序証明要求集約部１２ａが、デジタル・データｙを入力の一部あるいは全部として順次割当データｚを計算し、該順次割当データｚを順次集約木リーフに割り当てて、インクリメンタルに順次集約木を構成していくとともに、イベント順序証明応答作成部１３ａは、受理証明書を含む証明応答（シーケンス補完の方式；登録点の即時補完データ及び登録点より前に登録された各登録点の該登録点における遅延補完データ）を作成し、送受信部１１ａを介して利用者装置２Ｉに証明応答を送信する（ステップＳ３０ａ，Ｓ４０ａ，Ｓ５０ａ）。【０３４２】  これにより、利用者装置２Ｉは、受理証明書を含む証明応答を取得することができる（ステップＳ６０ａ）。そして、利用者装置２Ｉは、このステップＳ１０ａ及びＳ６０ａの証明要求送信及び証明応答受信を繰り返す。【０３４３】  一方、証明装置１ａでは、順次集約のための一定期間（順次集約期間）内においては、上述した証明装置１ａの動作は繰り返され、順次集約期間が終了すると、電子的情報公表部１７ａは、順次集約木のルート値を計算し、このルート値を電子的に公表する（ステップＳ７０ａ，Ｓ８０ａ，Ｓ９０ａ）。【０３４４】  次に、図４０を参照しながら、イベント順序証明検証方法について説明する。これは、利用者装置２Ｉの第２の検証機能に相当するものである。尚、図４０は、利用者装置２Ａと２Ｂ間のデータのやりとりを示すものであるが、利用者装置２Ａが利用者装置２Ｂに後置点判定要求（利用者装置２Ａが受け取った受理証明書の登録点より時間的に後の受理証明書に対する順序判定を利用者装置２Ｂに要求する）行うものである。【０３４５】  まず、利用者装置２Ａは、検証したい受理証明書ＥＯＣ（ａ）（登録点ａにおける受理証明書）を付けて後置点判定要求を利用者装置２Ｂに送信する（ステップＳ１１０ａ）。後置点判定要求を受信した利用者装置２Ｂは、受け取った受理証明書ＥＯＣ（ａ）からリーフ番号ｎ（ａ）を抽出し、リーフ番号ｎ（ａ）より大きなリーフ番号を利用者装置２Ｂの登録点の中から検索する（ステップＳ１２０ａ，Ｓ１３０ａ）。リーフ番号ｎ（ａ）より大きなリーフ番号が利用者装置２Ｂの登録点にある場合には、該登録点の一つｂを選び、そのリーフ番号ｎ（ｂ）を利用者装置２Ａに送信する（ステップＳ１４０ａ，Ｓ１５０ａ）。これに対して、リーフ番号ｎ（ａ）より大きなリーフ番号が利用者装置２Ｂの登録点にない場合には、比較可能データなしの旨のメッセージを利用者装置２Ａに送信する（ステップＳ１４２ａ）。【０３４６】  リーフ番号ｎ（ｂ）を利用者装置２Ｂから受信した利用者装置２Ａは、リーフ番号ｎ（ｂ）より大きなリーフ番号を持つ利用者装置２Ａの暫定登録点ａｆを選び、登録点ａの暫定終端点ａｆにおける遅延補完データｌａｔｅＤａｔａ（ａ，ａｆ）を取得し、利用者装置２Ｂに送信する（ステップＳ１６０ａ，Ｓ１７０ａ，Ｓ１８０ａ，Ｓ１９０ａ）。尚、比較可能データなしの旨のメッセージを利用者装置２Ｂから受信したときは、検証を終了する（ステップＳ１４４ａ）。【０３４７】  利用者装置２Ａから遅延補完データｌａｔｅＤａｔａ（ａ，ａｆ）を受信した利用者装置２Ｂは、リーフ識別番号ｎ（ａ）とｎ（ｂ）から登録点ａの登録点ｂに対する認証点ｏを計算し、受け取った受理証明書ＥＯＣ（ａ）と遅延補完データｌａｔｅＤａｔａ（ａ，ａｆ）から認証点の割当値を計算する（ステップＳ２１０ａ）。次に、登録点ｂの受理証明書ＥＯＣ（ｂ）に含まれる即時補完データに上記計算で求めた認証点の割当値が含まれているか否かを検証し、認証点の割当値が含まれているときは、登録点ａが登録点ｂより時間的に前に登録されたという判定結果を利用者装置２Ａに送信する（ステップＳ２２０ａ，Ｓ２３０ａ）。一方、認証点の割当値が含まれていないときは、登録点ａが登録点ｂより時間的に前に登録されたことを証明できず、何らかの不正があるという判定結果を利用者装置２Ａに送信する（ステップＳ２２０ａ，Ｓ２４０ａ）。【０３４８】  この結果、利用者装置２Ａは、判定結果を受信し、取得するので、２利用者間において受理証明書発行の時間的前後を検証することができる（ステップＳ２５０ａ，Ｓ２６０ａ）。【０３４９】  尚、上述したイベント順序証明検証方法は、利用者装置２Ａが利用者装置２Ｂに後置点判定要求行うものであったが、前置点判定要求（利用者装置２Ａが受け取った受理証明書の登録点より時間的に前の受理証明書に対する順序判定を利用者装置２Ｂに要求する）を行うようにしてもよい。図４１は、利用者装置２Ａが利用者装置２Ｂに前置点判定要求行う場合の利用者装置２Ａと２Ｂ間のデータのやりとりを示すシーケンス図である。【０３５０】  まず、利用者装置２Ａは、検証したい受理証明書ＥＯＣ（ａ）（登録点ａにおける受理証明書）を付けて前置点判定要求を利用者装置２Ｂに送信する（ステップＳ３１０ａ）。前置点判定要求を受信した利用者装置２Ｂは、受け取った受理証明書ＥＯＣ（ａ）からリーフ番号ｎ（ａ）を抽出し、リーフ番号ｎ（ａ）より小さいリーフ番号、及びリーフ番号ｎ（ａ）より大きいリーフ番号を利用者装置２Ｂの登録点の中から検索する（ステップＳ３２０ａ，Ｓ３３０ａ）。リーフ番号ｎ（ａ）より小さいリーフ番号及びリーフ番号ｎ（ａ）より大きいリーフ番号が利用者装置２Ｂの登録点にある場合には、リーフ番号ｎ（ａ）より小さいリーフ番号の登録点ｂを選ぶとともに、リーフ番号ｎ（ａ）より大きいリーフ番号の暫定登録点ｂｆを選ぶ（ステップＳ３４０ａ，Ｓ３５０ａ）。尚、該当する登録点がない場合には、比較可能データなしの旨のメッセージを利用者装置２Ａに送信する（ステップＳ３４２ａ）。そして、利用者装置２Ａは、比較可能データなしの旨のメッセージを利用者装置２Ｂから受信したときは、検証を終了する（ステップＳ３４４ａ）。【０３５１】  次いで、利用者装置２Ｂは、登録点ｂの暫定登録点ｂｆにおける遅延補完データｌａｔｅＤａｔａ（ｂ，ｂｆ）を取得し、リーフ識別番号ｎ（ａ）とｎ（ｂ）から登録点ａの登録点ｂに対する認証点ｏを計算し、受理証明書ＥＯＣ（ｂ）と遅延補完データｌａｔｅＤａｔａ（ｂ，ｂｆ）から認証点の割当値を計算する（ステップＳ３６０ａ，Ｓ３７０ａ）。次に、登録点ａの受理証明書ＥＯＣ（ａ）に含まれる即時補完データに上記計算で求めた認証点の割当値が含まれているか否かを検証し、認証点の割当値が含まれているときは、登録点ａが登録点ｂより時間的に後に登録され���という判定結果を利用者装置２Ａに送信する（ステップＳ３８０ａ，Ｓ３９０ａ）。一方、認証点の割当値が含まれていないときは、登録点ａが登録点ｂより時間的に後に登録されたことを証明できず、何らかの不正があるという判定結果を利用者装置２Ａに送信する（ステップＳ３８０ａ，Ｓ４００ａ）。【０３５２】  この結果、利用者装置２Ａは、判定結果を受信し、取得するので、２利用者間において受理証明書発行の時間的前後を検証することができる（ステップＳ４１０ａ，Ｓ４２０ａ）。【０３５３】  尚、上述したイベント順序証明検証方法は、利用者装置２Ａ及び利用者装置２Ｂが受理証明書発行の時間的前後を検証したものであったが、本発明はこれに限定されず、当事者以外の第３者機関（例えば、上記第１乃至第３の実施の形態におけるイベント順序証明監査装置３）が検証を行ってもよい。この場合には、利用者装置２Ａ及び利用者装置２Ｂが検証に必要な情報を第３者機関に送信し、第３者機関（イベント順序証明監査装置３）が検証を行うものである。【０３５４】  従って、第４の実施の形態のイベント順序証明システム１００ａによれば、木構造を用いてイベント順序を証明するイベント順序証明システムにおいて、利用者装置２Ｉから証明要求を受付けた証明装置１ａが、該証明要求に対して受理証明書を含むシーケンス補完方式（登録点に関して、該登録点の即時補完データ及び該登録点より前に登録された各登録点の該登録点における遅延補完データを証明応答に含む）による証明応答を発行し、利用者装置２Ｉがこの証明応答を用いて、利用者装置２Ｉ間における受理証明書発行の時間的前後を検証することができるので、証明要求をまとめた公表データが電子的に公表される前であっても、受理証明書の正当性を検証することができる。【０３５５】＜第５の実施の形態＞
（５−１．システム構成）
図４２は、本発明の第５の実施の形態に係るイベント順序証明システム２００ａのシステム構成図である。イベント順序証明システム２００ａは、証明装置４ａ、複数の利用者装置５Ｉ（Ｉ＝Ａ，Ｂ，…，Ｎ）、及び、以上の各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成されるコンピュータネットワーク３ａを備えており、証明装置４ａが利用者装置５Ｉからの証明要求に応えて、受理証明書を含む証明応答を利用者装置５Ｉに返信するようになっている。そして、利用者装置５Ｉは、証明装置４ａから受け取ったこの複数の証明応答から受理証明書を検証することができるようになっている。【０３５６】  ここで、本実施の形態と第４の実施の形態とは、証明応答の形式が異なるものであり、本実施の形態では、「シーケンス補完方式」とは別の後述する「連鎖補完方式」により証明応答が作成されるようになっている。これは、上述したシーケンス補完方式においては、各利用者装置２Ｉの各登録点において、当該の利用者装置２Ｉの過去の登録点全てに対してその遅延補完データを当該の利用者装置２Ｉに返送しなければならないため、過去の登録点が増加するのに比例して、証明応答のデータ量が増加するが、本実施の形態の連鎖補完方式においては、証明応答のデータ量の増加が抑制されるようになっている。尚、本実施の形態においては、上記実施の形態と異なる構成及び機能を説明し、その他の構成及び機能に関しては同一部分には同一符号を付して説明を省略する。【０３５７】  証明装置４ａは、コンピュータネットワーク３ａを介して利用者装置５Ｉとデータの送受信を行う送受信部１１ａ、利用者装置５Ｉからの証明要求として送信されたデジタル・データを順次集約木を用いてまとめるイベント順序証明要求集約部１２ａ、受理証明書を含む証明応答を作成するイベント順序証明応答作成部４１ａ、証明装置４ａが一定期間に発行した複数の受理証明書の内容を集約したデータに対して高強度デジタル署名し、公表データとするデジタル署名作成部１４ａ、高強度デジタル署名を付加された公表データを電子的に公表する電子的情報公表部１５ａ、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部４２ａを有する構成である。【０３５８】  イベント順序証明応答作成部４１ａは、図４３に示すような受理証明書ＥＯＣ（ｙ）を含む証明応答を作成し、利用者装置５Ｉに送信するようになっている。受理証明書ＥＯＣ（ｙ）は、利用者から送付されたデジタル・データｙ、上述した順次割当データ計算手順によりデジタル・データｙから計算された順次割当データｚ、順次割当データｚが割当てられた順次集約木を一意に特定できる順次集約木番号、順次割当データｚが割当てられた順次集約木のリーフを一意に特定できる順次集約木リーフ番号、およびその時点で取得できる順次集約補完データの一部（これを登録点の即時補完データと言う）ＳＫの位置情報及び割当値を含むように構成されている。【０３５９】  また、証明応答には、利用者装置５Ｉの直前の登録点の遅延補完データＴＫ２の位置情報及び割当値も含むように構成されている。【０３６０】  ここで、本実施の形態における証明応答の具体例を図３７を用いて説明す��。尚、上述したように、この証明応答の形式を「連鎖補完方式」と呼ぶ。今、ある利用者装置５Ｉからの登録点がＸ１（ノード（０，２）），Ｘ２（ノード（０，１１）），Ｘ３（ノード（０，１８）），Ｘ４（ノード（０，２１）），Ｘ５（ノード（０，２９）），Ｘ６（ノード（０，３１））であるとする。【０３６１】  連鎖補完方式においては各登録点において以下のようなデータが利用者装置５Ｉに返されるようになっている。【０３６２】  （１）Ｘ１点における証明応答には、Ｘ１点の即時補完データが返される（具体的には、ノード（１，０）の割当値）。【０３６３】  （２）Ｘ２点における証明応答には、Ｘ２点の即時補完データ、及びＸ１点のＸ２点における遅延補完データが返される（具体的には、Ｘ２点の即時補完データとして、ノード（３，０），ノード（１，４），ノード（０，１０）の割当値、Ｘ１点のＸ２点における遅延補完データとして、ノード（０，３），ノード（２，１）の割当値）。【０３６４】  （３）Ｘ３点における証明応答には、Ｘ３点の即時補完データ、及びＸ２点のＸ３点における遅延補完データが返される（具体的には、Ｘ３点の即時補完データとして、ノード（４，０），ノード（１，８）の割当値、Ｘ２点のＸ３点における遅延補完データとして、ノード（２，３）の割当値）。【０３６５】  （４）Ｘ４点における証明応答には、Ｘ４点の即時補完データ、及びＸ３点のＸ４点における遅延補完データが返される（具体的には、Ｘ４点の即時補完データとして、ノード（４，０），ノード（２，４），ノード（０，２０）の割当値、Ｘ３点のＸ４点における遅延補完データとして、ノード（０，１９）の割当値）。【０３６６】  以下、Ｘ５及びＸ６においても同様である。このように、連鎖補完方式においては、証明応答として、ある登録点に関して、該登録点の即時補完データ及び該登録点の直前登録点の該登録点における遅延補完データが含まれるようになっている。これにより、連鎖補完方式においては、過去の登録点が増えても証明要求に対する証明応答のデータ量が比例的に増加しないので、証明装置４ａと利用者装置５Ｉ間の通信データ量を抑制することができる。尚、各証明応答は、利用者装置５Ｉごとに管理されるようになっている。【０３６７】  次に、連鎖補完方式の証明応答であっても、利用者装置５Ｉは、実質的には、シーケンス補完方式の証明応答と同一のデータが得られることを図４４及び図４５を参照して説明する。【０３６８】  図４４に示すように、順次集約木ＳＴ２の３つのリーフａ１，ａ２，ａ３が左からこの順番であるものとすると、ａ２点のａ３点における遅延補完データ、ａ２点の即時補完データ、及びａ１点のａ２点における遅延補完データから、ａ１のａ３点における遅延補完データは、以下のように計算される。【０３６９】  まず、ａ２点のａ３点における遅延補完データの中で最もレベルが高いノードのレベルをｊ２と置く。また、ａ１のａ２による認証点をＡＰ（ａ１，ａ２）、その兄弟ノードをＡＰ’（ａ１，ａ２）と書き、ＡＰ（ａ１，ａ２）のレベルをｊ１と置く。【０３７０】  このとき、第１に、ａ１点のａ３点における遅延補完データに含まれる認証パスノードのうちレベルがｊ１よりも小さいものの割当値は、ａ１点のａ２点における遅延補完データに含まれる。【０３７１】  また、第２に、ａ１点のａ３点における遅延補完データに含まれる認証パスノードのうちレベルがｊ１に等しいものの割当値は、ａ２点のａ３点における遅延補完データおよびａ２点の即時補完データから計算できる。【０３７２】  さらに、第３に、ａ１点のａ３点における遅延補完データに含まれる認証パスノードのうちレベルがｊ１により大きいものの集合は、ａ２点のａ３点における遅延補完データに含まれる認証パスノードのうちレベルがｊ１より大きいものの集合と等しい。従って、ａ１点のａ３点における遅延補完データに含まれる認証パスノードのうちレベルがｊ１より大きいものの割当値は、ａ２点のａ３点における遅延補完データから計算できる。【０３７３】  以上から、ａ１点のａ３点における遅延補完データは、以下の３つのデータから計算することができる。【０３７４】  （１）ａ２点のａ３点における遅延補完データ
（２）ａ２点の即時補完データ
（３）ａ１点のａ２点における遅延補完データ
尚、上記の（１）〜（３）からａ１点のａ３点における遅延補完データを計算する処理を完全化波及処理と呼ぶ。【０３７５】  この完全化波及処理を用いることにより、利用者装置５Ｉは、連鎖補完方式の証明応答からシーケンス補完方式の証明応答を計算することができるようになっている。図４５はこの計算方法を示す表である。ここで、図４５は、シーケンス補完方式及び連鎖補完方式において、各登録点に必要な即時補完データ及び遅延補完データを示している。尚、連鎖補完方式における証明応答の即時補完データ及び遅延補完データは、２重線に囲まれる部分のデータである。また、図４５に示す矢印は計算の方向を示している。例えば、図４５によれば、ａ２のａ３における遅延補完データ（Ｐ１）、ａ２の即時補完データ（Ｐ２）、及びａ１のａ２における遅延補完データ（Ｐ３）から、ａ１のａ３における遅延補完データ（Ｐ４）が計算できることを示している。【０３７６】  同様にして、ａ３のａ４における遅延補完データ（Ｐ５）、ａ３の即時補完データ（Ｐ６）、及びａ２のａ３における遅延補完データ（Ｐ１）から、ａ２のａ４における遅延補完データ（Ｐ７）が計算できる。そして、これを繰り返すことにより、連鎖補完方式であっても、最終的には、図４５に示す遅延補完データすべてが計算できることになる、これは、シーケンス補完方式の証明応答に他ならない遅延補完データである。【０３７７】  従って、本実施の形態の連鎖補完方式であっても、利用者装置５Ｉにおいては、図４５示すような完全化波及処理を行うことにより、第１の実施の形態と同様の検証をすることができるものである。尚、この完全化波及処理に関しては、後述する「インクリメンタル完全化」の処理として、詳しく説明する。【０３７８】  利用者装置５Ｉは、コンピュータネットワーク３ａを介して証明装置４ａとデータを送受信する送受信部２１ａ、所定のデジタル・データを含む証明要求を複数回行うイベント順序証明要求証部２２ａ、証明要求に対する証明応答に含まれた受理証明書を検証するイベント順序証明検証部５１ａ、受理証明書を含む証明応答をはじめとしてイベント順序証明に関する情報を記憶する記憶部５２ａを有する構成である。【０３７９】  ここで、イベント順序証明検証部５１ａは、第４の実施の形態のイベント順序証明検証部２３ａの機能に加えて、後述するインクリメンタル完全化の処理を行う機能を具備するもので、受理証明書に対して以下の検証機能を備える。【０３８０】  第１の検証機能としては、証明装置４ａのデジタル署名作成部１４ａ及び電子的情報公表部１５ａを介して公表される公表情報に、受理証明書に含まれる順次割当データがハッシュ関数を介してリンクすることを検証するものである。具体的には、順次集約木のルート値が公表された値と利用者装置５Ｉで計算されたルート値が一致するか否か検証するものである。【０３８１】  第２の検証機能としては、公表情報が公開される前であっても、利用者装置５Ｉ間における受理証明書発行の時間的前後を検証するものである。【０３８２】  以下、第２の検証機能を図３９を用いて説明する。【０３８３】  今、２つの利用者装置５Ａ及び５Ｂが、それぞれ、連鎖補完方式により、各登録点の証明応答を取得するものとし、図３９に示すａ，ａ１，ａ２，ａｆを利用者装置５Ａの登録点、ｂを利用者装置５Ｂの登録点とする。尚、ａｆは、暫定終端点である。図３９においては、利用者装置５Ａの１つの登録点ａがあり、それより右に位置する利用者装置５Ｂの登録点ｂがあり、さらにその右に位置する利用者装置５Ａの登録点ａｆがある。【０３８４】  本実施の形態においては、まず、利用者装置５Ａの登録点ａに対して、ａｆを暫定終端点として、図４５に示す完全化波及処理を行う。これにより、シーケンス補完方式と同一の証明応答が得られるので、その後は、第４の実施の形態のときと同一の方法を実施することにより、登録点ａと登録点ｂの時間的前後を検証することができる。即ち、本実施の形態においても、登録点ａｆを現時点としたときの現時点順次集約木における、登録点ａの登録点ｂによる認証点ｏの割当値Ｖ（ｏ）が一致すれば、登録点ａの登録が登録点ｂの登録より前に起こったことを客観的に証明することができる。【０３８５】  尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プログラムやデータを収納する機能を有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなる主記憶装置（メモリ）、ハードディスク（ＨＤ）等の電源断時にもデータを記憶し続けることができる２次記憶装置を有する電子的な装置から構成されている。このうち、証明装置４ａのイベント順序証明応答作成部４１ａ及び利用者装置５Ｉのイベント順序証明検証部５１ａの処理は、上記ＣＰＵによる演算制御機能を具体的に示したものに他ならない。また、証明装置４ａの記憶部４２ａ及び利用者装置５Ｉの記憶部５２ａは、上記主記憶装置あるいは２次記憶装置の機能を備えたものである【０３８６】（５−２．システム動作）
ここで、以上の構成を有するイベント順序証明システム２００ａにおけるイベント順序証明方法に関しては、図３９における証明装置１ａ及び利用者装置２Ｉを、それぞれ証明装置４ａ及び利用者装置５Ｉに置き換えたものと同一であるため、説明を省略する。また、イベント順序証明検証方法に関しては、図４０及び図４１における利用者装置２Ａ及び２Ｂを、それぞれ利用者装置５Ａ及び５Ｂに置き換えたものであるとともに、事前ステップとして、利用者装置５Ａ及び５Ｂそれぞれにおいて、後述するインクリメンタル完全化処理を実行すれば、その後の動作は、図４０及び図４１の動作と同一であるため、説明を省略する。【０３８７】＜２−３．証明装置４ａのデータ記憶方法＞
（第１の方法）
次に、連鎖補完方式における証明装置４ａのデータ記憶方法について、より詳細に説明する。まず、第１の方法は、証明装置４ａが順次集約木を記憶部４２ａ上に構成することにより、上述の連鎖補完の方式を実現する方法（以下、方法Ａという）である。【０３８８】  図４６は、方法Ａを採用したときの記憶部４２ａに記憶されるデータの概略構成を示す図である。図４６に示すように、記憶部４２ａには、順次集約木そのもの、即ち、証明要求が割り当てられたノード、計算可能なノードの位置情報及び割当値を記憶するとともに、各利用者装置５Ｉごとに直前登録点の位置情報を記憶するようになっている。【０３８９】  この方法Ａにおいては、証明要求を証明装置４ａが受信するたびに、記憶部４２ａ上に記憶する順次集約木に、レベルが０のノード、即ちリーフを加え、レベルが１以上のノードで割当値が計算できるものに対しては、そのノードを順次集約木に追加しその割当値を付加して、記憶部４２ａ上に順次集約木を構築するようになっている。【０３９０】  以下に、方式Ａにおける証明装置４ａの動作を図４７を用いて説明する。ここで、図４７は、証明装置４ａのイベント順序証明要求集約部１２ａ及びイベント順序証明応答作成部４１ａの機能を示すフローチャート図である。【０３９１】  まず、証明装置４ａは利用者装置５Ｉから証明要求を受けると、証明要求から順次割当データを生成し、順次集約木の新しいリーフに割り当てて、新登録点とするとともに、該登録点のノード情報（位置情報及び割当値）を記憶する（ステップＳ１１０１ａ，Ｓ１１０３ａ）。【０３９２】  次いで、新登録点の即時補完データを即時補完データの定義に従って、記憶部４２ａに記憶された順次集約木から取得する（ステップＳ１１０５ａ）。【０３９３】  次いで、新登録点の追加により、レベルが１以上のノードで割当値が計算できるものに対しては、割当値を計算して、そのノードの位置情報及び割当値を記憶部４１ａに記憶する（ステップＳ１１０７ａ）。【０３９４】  次いで、直前登録点の遅延補完データを、遅延補完データの定義に従って、記憶部４１ａに記憶された利用者装置５Ｉごとの直前登録点及び順次集約木から取得する（ステップＳ１１０９ａ）。【０３９５】  次いで、新登録点を直前登録点とし、該利用者装置５Ｉの直前登録点として記憶するとともに、ステップＳ１１０５ａ及びＳ１１０９ａで取得した即時補完データ及び遅延補完データを含む証明応答を作成し、利用者装置５Ｉに送信する（ステップＳ１１１１ａ，Ｓ１１１３ａ，Ｓ１１１５ａ）。【０３９６】（第２の方法）
次に、第２の方法は、証明装置４ａが順次集約木を記憶部４２ａ上に構成するのではなく、スタック構造を記憶部４２ａに構成することにより、上述の連鎖補完の方式を実現する方法（以下、方法Ｂという）である。方法Ｂは、順次集約木の大きさにほぼ比例して必要記憶量が増加する方法Ａをさらに改善したものであり、スタック構造を用いて順次集約木のノード割当値、各順序証明要求に対する即時補完データ、及び遅延補完データを計算するので、必要記憶量を減少することができ、証明装置４ａの記憶部４２ａに収まらない大ききの順次集約木の取り扱いを可能とすることができる。【０３９７】  図４８は、方法Ｂを採用したときの記憶部４２ａに記憶されるデータの概略構成を示す図である。図４８に示すように、記憶部４２ａには、即時補完データ（位置情報及び割当値）を記憶する第１のスタック４２１ａと利用者装置５Ｉごとに遅延補完データを記憶する記憶部４２２ａを備えており、利用者装置５Ｉごとに遅延補完データを記憶する記憶部４２２ａは、直前登録点（位置情報）４２３ａ及び遅延補完データ（位置情報及び割当値）を記憶する第２のスタック４２４ａで構成されている。尚、第１又は第２のスタックの要素となるようなデータをスタックフレームと呼ぶ。【０３９８】  ここで、上記２種類のスタックのうち第１のスタックは、従来から用いられているデータ構造である。例えば、Ｒ．Ｍｅｒｋｌｅ：Ｓｅｃｒｅｃｙ，Ａｕｔｈｅｎｔｉｃａｔｉｏｎ，ａｎｄ  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｓｙｓｔｅｍｓ，ＵＭＩ  Ｒｅｓｅａｒｃｈ  Ｐｒｅｓｓ，１９８２．の３６ページには二分木のルートノードの割当て値を計算するための再帰的手順Ｈ（ａ，ｂ）が記載されているが、この再帰的手順を１つのスタックを用いて標準的に実装するとき、このスタックは上記第１のスタックと同様の使われ方をする。【０３９９】  以下に、方式Ｂにおける証明装置４の動作を図４９を用いて説明する。ここで、図４９は、証明装置４ａのイベント順序証明要求集約部１２ａ及びイベント順序証明応答作成部４１ａの機能を示すフローチャート図である。【０４００】  まず、証明装置４ａは利用者装置５Ｉから証明要求を受けると、証明要求から順次割当データを生成し、順次集約木の新しいリーフに割り当てて、新登録点とする（ステップＳ１１２１ａ，Ｓ１１２３ａ）。【０４０１】  次いで、新登録点の即時補完データを第１のスタック４２１ａから取得する（ステップＳ１１２５ａ）。【０４０２】  次いで、新登録点の位置情報及び割当値を含むスタックフレームを第１のスタックに追加する（ステップＳ１１２７ａ）。その際、新たに第１のスタックに追加されたスタックフレームが、他の利用者装置５Ｉにおいて、直前登録点の補完データに対応するものであるときは、該スタックフレームを該当する利用者装置５Ｉの第２のスタックに追加する（ステップＳ１１２９ａ，Ｓ１１３１ａ）。【０４０３】  次いで、第１のスタックに兄弟ノードである２つのノードに対応する２つのスタックフレームが存在する限り、当該の２つのノードの親に当たるノードの位置情報と割当値を含むスタックフレームを生成し、当該の２つのノードに対応するスタックフレームを第１スタックから除き、上記新たに生成したスタックフレームを第１スタックに追加する（ステップＳ１１３３ａ，Ｓ１１３５ａ，Ｓ１１３７ａ，Ｓ１１３９ａ）。その際、新たに第１のスタックに追加されたスタックフレームが、他の利用者装置５Ｉにおいて、直前登録点の補完データに対応するものであるときは、該スタックフレームを該当する利用者装置５Ｉの第２のスタックに追加する（ステップＳ１１４１ａ，Ｓ１１４３ａ）。【０４０４】  次いで、当該の利用者装置５Ｉに対する第２のスタックから直前登録点の新登録点における遅延補完データを取得し，当該の利用者装置５Ｉに対する第２のスタックを空にする（ステップＳ１１４５ａ）。【０４０５】  次いで、新登録点を直前登録点とし、該利用者装置５Ｉの直前登録点として記憶するとともに、ステップＳ１１２５ａ及びＳ１１４５ａで取得した即時補完データ及び遅延補完データを含む証明応答を作成し、利用者装置５Ｉに送信する（ステップＳ１１４７ａ，Ｓ１１４９ａ，Ｓ１１５１ａ）。【０４０６】  上記動作を図３７に示す具体例を用いて説明する。尚、新登録点をＸ４として説明する。【０４０７】  まず、証明装置４ａは利用者装置５Ｉから証明要求を受けると、証明要求から順次割当データを生成し、順次集約木の新しいリーフである登録点Ｘ４に割り当てて、新登録点とする（ステップＳ１１２１ａ，Ｓ１１２３ａ）。【０４０８】  次いで、新登録点Ｘ４の即時補完データであるノード（３，０）の割当値を第１のスタック４２１ａのスタックフレーム０から、ノード（２，４）の割当値を第１のスタック４２１ａのスタックフレーム１から、ノード（０，２０）の割当値を第１のスタック４２１ａのスタックフレーム２からそれぞれ取得する（ステップＳ１１２５ａ）。【０４０９】  次いで、新登録点（０，２１）の位置情報及び割当値を含むスタックフレーム３を第１のスタックに追加する（ステップＳ１１２７ａ）。その際、新たに第１のスタックに追加されたスタックフレームが、他の利用者装置５Ｉにおいて、直前登録点の補完データに対応するものであるときは、該スタックフレームを該当する利用者装置５Ｉの第２のスタックに追加する（ステップＳ１１２９ａ，Ｓ１１３１ａ）。【０４１０】  次いで、第１のスタックに兄弟ノードに対応する２つのスタックフレームが存在するので（スタックフレーム２及び３）、当該の２つのノードの親に当たるノード（１，１０）の位置情報と割当値を含むスタックフレームを新たに生成し、当該兄弟ノードに対応するスタックフレーム（スタックフレーム２ａ及び３ａ）を第１のスタックから除き、上記新たに生成したスタックフレームを新たなスタックフレーム２ａとして第１のスタックに追加する（ステップＳ１１３３ａ，Ｓ１１３５ａ，Ｓ１１３７ａ，Ｓ１１３９ａ）。その際、新たに第１のスタックに追加されたスタックフレームが、他の利用者装置５Ｉにおいて、直前登録点の補完データに対応するものであるときは、該スタックフレームを該当する利用者装置５Ｉの第２のスタックに追加する（ステップＳ１１４１ａ，Ｓ１１４３ａ）。【０４１１】  次いで、当該の利用者装置５Ｉに対する第２のスタックから直前登録点Ｘ３の新登録点Ｘ４における遅延補完データであるノード（０，１９）の割当値を��２のスタック４２４ａのスタックフレーム０から取得し，当該の利用者装置５Ｉに対する第２のスタックを空にする（ステップＳ１１４５ａ）。【０４１２】  次いで、新登録点Ｘ４を直前登録点Ｘ３とし、該利用者装置５Ｉの直前登録点４２３ａとして記憶するとともに、ステップＳ１１２５ａ及びＳ１１４５ａで取得した即時補完データ及び遅延補完データを含む証明応答を作成し、利用者装置５Ｉに送信する（ステップＳ１１４７ａ，Ｓ１１４９ａ，Ｓ１１５１ａ）。【０４１３】（第２の方法の実装例）
以下に、上述した方法Ｂを用いた証明装置４ａの証明応答作成の一実装例を説明する。【０４１４】  図５０は証明装置４ａの記憶部４２ａの構成を示す図である。図５０に示すように、順次集約木のノード割当値を計算するノード割当値計算用スタック（以下では＿ｓｔａｃｋと呼ぶ）及び遅延補完用データ構造の配列（以下では＿ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ＿ｖｅｃと呼ぶ）を持つ。＿ｓｔａｃｋの要素はスタックフレームからなるスタック構造であり、各スタックフレームはｐｌａｃｅ部とｖａｌｕｅ部からなる。このうちｐｌａｃｅ部は順次集約木のノード位置を表すプレースを保持し、そのノードのレベルを示すｌｅｖｅｌ部とレベル内の番号を示すｉｎｄｅｘ部の組からなる。ｖａｌｕｅ部はそのノードの割当値を保持する。＿ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ＿ｖｅｃはデータ構造ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａの配列であり、データ構造ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａはｌａｔｅ＿ｃｃｏｍｐｌｅ＿ｓｔａｃｋ部、ｐｒｅｖ＿ｐｏｉｎｔ部、ｐｒｅｖ＿ｐｏｉｎｔ＿ｏｌｄ部、及びｏｌｄ＿ｔｒｅｅ＿ｉｄ部からなる。このうち、ｌａｔｅ＿ｃｃｏｍｐｌｅ＿ｓｔａｃｋ部は＿ｓｔａｃｋと同様にスタックフレームからなるスタック構造であり、ｐｒｅｖ＿ｐｏｉｎｔ部は直前の登録点を表す識別番号（非負整数またはｎｉｌ）を表し、ｐｒｅｖ＿ｐｏｉｎｔ＿ｏｌｄ部は現在の集約木より前に生成された集約木における直前の登録点を表す識別番号（非負整数またはｎｉｌ）を表し、ｏｌｄ＿ｔｒｅｅ＿ｉｄ部はｐｒｅｖ＿ｐｏｉｎｔ＿ｏｌｄ部がｎｉｌではないときｐｒｅｖ＿ｐｏｉｎｔ＿ｏｌｄ部が示す登録点が属する集約木の識別番号（非負整数またはｎｉｌ）である。【０４１５】  図５１は、証明装置４ａにおける連鎖補完の手順ＧＥＴ＿ＲＥＱを示す。この手順で使用される変数及び関数は以下のとおりである。【０４１６】  ・ｖ０はデジタル・データ（通常はハッシュ値）を保持する変数である。【０４１７】  ・ｉｄｘ０は利用者識別番号を表す整数を保持する変数である。【０４１８】  ・＿ｌｅｖ０＿ｐｔｒは次に受付けたイベント順序証明要求を割当てるリーフの識別番号を保持する変数であり、初期値は０である。【０４１９】  ・ｐｌａｃｅ０は順次集約木のノード位置を表すプレースを保持する変数である。【０４２０】  ・ｓｆｌｍ０はスタックフレームを保持する変数である。【０４２１】  ・Ｆ（ｖ０）はイベント順序証明要求に含まれるデジタル・データｖ０を順次集約木リーフに割当てるデータに変換する関数を表す。Ｆ（ｖ０）はｖ０と等しいとすることにしてもよいし、あるいはｖ０に所定のハッシュ関数（例えば、ＳＨＡ１）を適用した結果とすることにしてもよい。【０４２２】  ・＿ｔｒｅｅ＿ｉｄは順次集約木の識別番号を保持する変数である。【０４２３】  ・ｍａｋｅ−ｓｔａｃｋｆｌｍ（ｐｌａｃｅ０，Ｖ０）はプレースｐｌａｃｅとデジタル・データＶ０を引数とし、ｐｌａｃｅ０をｐｌａｃｅ部として持ち、Ｖ０をｖａｌｕｅ部としてもつスタックフレームを返す関数である。【０４２４】  ・ｓｔａｃｋ＿ｂｕｆはある瞬間のスタックの状態を保持する変数である。【０４２５】  ・ｈａｎｄｌｅ＿ｃｈａｉｎ＿ｃｏｍｐｌｅ（ｉｄ０、ｔｒｅｅ＿ｉｄ０，ｉｄｘ０，Ｖ０，
ｐｒｅｖ＿ｐｏｉｎｔ０，ｉｍｍｅｄ＿ｓｔａｃｋ＿ｄａｔａ０，ｌａｔｅ＿ｓｔａｃｋ＿ｄａｔａ０）
は、順次集約木の識別子ｔｒｅｅ＿ｉｄ０、リーフの識別子ｉｄｘ０、割当てデータＶ０、即時補完データｉｍｍｅｄ＿ｓｔａｃｋ＿ｄａｔａ０、遅延補完データｌａｔｅ＿ｓｔａｃｋ＿ｄａｔａ０から構成される受理証明書を作成し、利用者識別番号ｉｄ０を持つ利用者装置５ｉに向けて送付する関数を表す。【０４２６】  証明装置４ａが証明要求を受信する度に、要求者から受付けたデジタル・データｖ０、要求者の識別番号をｉｄ０としてこの手順が呼び出される（ステップＳＴ１０１ａ〜ＳＴ１１７ａ）。【０４２７】  図５２は、図５１の手順ＧＥＴ＿ＲＥＱから呼び出される、ノード値計算処理の手順ＣＯＭＰ＿ＮＯＤＥ＿ＶＡＬＳを表す。この手順で使用される変数及び関数は以下のとおりである。【０４２８】  ・ｓｆｌｍ１ｂはスタックフレームを保持する変数である。【０４２９】  ・ｐｌａｃｅ１ｂはプレースを保持する変数である。【０４３０】  ・ｉｄｘ１ｂは整数を保持する変数である。【０４３１】  ・ｌｅｖ１ｂは整数を保持する変数である。【０４３２】  ・ｖａｌ１ｂはデジタル・データ（通常はハッシュ値）を保持する変数である。【０４３３】  ・ｓｆｌｍ０ｂはスタックフレームを保持する変数である。【０４３４】  ・ｐｌａｃｅ０ｂはプレースを保持する変数である。【０４３５】  ・ｌｅｖ０ｂは整数を保持する変数である。【０４３６】  ・ｌｅｖ＿ｎｗ及びｉｄｘ＿ｎｗは整数を保持する変数である。【０４３７】  ・ｆｌｏｏｒ（ｘ）は実数ｘを引数として、ｘを超えない最大の整数を返す関数である。さらにｙ≠０に対して、ｆｌｏｏｒ（ｘ，ｙ）＝ｆｌｏｏｒ（ｘ／ｙ）と書く。即ち、ｆｌｏｏｒ（ｘ，ｙ）はｘをｙで割った際の整商である。【０４３８】  ・ｈａｓｈ＿ｃｏｍｂ２（ｖａｌ０，ｖａｌ１）はビット列で表される２つのデジタル・データｖａｌ０とｖａｌ１を引数とし、ｖａｌ０とｖａｌ１を連接し、所定のハッシュ関数（ＳＨＡ１等）を適用した結果を返す関数とする。【０４３９】  図５３は、図５１の手順ＧＥＴ＿ＲＥＱ及び図５２の手順ＣＯＭＰ＿ＮＯＤＥ＿ＶＡＬＳから呼び出される、遅延データ設定処理の手順ＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡを表す。この手順で使用される変数及び関数は以下のとおりである。【０４４０】  ・ｐｌａｃｅはプレースを保持する変数であり、ｓｆｌｍはスタック・フレームを保持する変数である。【０４４１】  ・ｉｄは利用者識別番号を表す整数を保持する変数である。【０４４２】  ・Ｎは登録された利用者の総数を保持する変数である。【０４４３】  ・ａｕｔｈ＿ｎｏｄｅ＿ｐ１（ｐｒｅｖ＿ｐｏｉｎｔ，ｐｌａｃｅ）は順次リーフの識別番号であるｐｒｅｖ＿ｐｏｉｎｔとプレースｐｌａｃｅを引数とし、ｐｌａｃｅの割当値がｐｒｅｖ＿ｐｏｉｎｔの遅延補完データに含めるべきものであればｔｒｕｅをさもなければｆａｌｓｅを返す関数である。ｐｌａｃｅ＝（ｊ，ｉ）としたとき、ａｕｔｈ＿ｎｏｄｅ＿ｐ１（ｐｒｅｖ＿ｐｏｉｎｔ，ｐｌａｃｅ）がｔｒｕｅとなるための必要十分条件は、ｆｌｏｏｒ（ｐｒｅｖ＿ｐｏｉｎｔ，２ｊ）が偶数で、ｉ＝ｆｌｏｏｒ（ｐｒｅｖ＿ｐｏｉｎｔ，２ｊ）＋１となることである。【０４４４】  次に、図５４及至図５６を参照しながら、１つ集約���隔が終わり、該集約間隔に対する順次集約木を終端し、次の集約間隔に対する次の順次集約木を初期化する順次集約木切替処理について説明する。【０４４５】  図５４は順次集約木切替処理のメインルーチンを表す。このルーチンにおいては、図５５で記述されたサブルーチンＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ１と図５６で記述されたサブルーチンＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ２を実行後、大域変数＿ｔｒｅｅ＿ｉｄを１だけインクリメントし、２つの大域変数＿ｌｅｖ０＿ｐｔｒと＿ｓｔａｃｋを初期化した後終了する。これらの大域変数は図５１で記述した手順ＧＥＴ＿ＲＥＱで用いたものである。【０４４６】  図５５で記述するＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ１は、その集約間隔が終了する時点で構成されている順次集約木を基に必要に応じてノードを追加し、それらのノードには前以て定めた手順に従って所定のハッシュ値を割当、当該の集約木のルート値を定義する処理を記述している。【０４４７】  図５７を参照しながら、ＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ１の動作を、特定の状況に則して具体的に説明する。リーフ識別番号９の処理が終了後、リーフ識別番号１０の処理に入る前に集約間隔が終了し、ＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ１を呼び出す状況を考える。開始の時点では＿ｓｔａｃｋの状態は、トップから見て［（１，４），Ｖ（１，４）］と［（３，０），Ｖ（３，０）］を含むものとなっている。手順ＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ１により、ノード（１，５）と（２，３）にダミーのハッシュ値を割当て、この順次集約木のルート値を定め、同時に各登録点の完全認証パスデータ（ルート値が計算できる認証パスノードの集まり）を定義することが、以下の（１）〜（４）に示すようにできる。【０４４８】  （１）ステップＳＴ１２１１ａにより、局所変数ｓｆｍｌ＿ｘｂに［（１，４），Ｖ（１，４）］が設定され、＿ｓｔａｃｋは［（３，０），Ｖ（３，０）］のみを含むものとなる。次にステップＳＴ１２１２ａにより局所変数ｐｌａｃｅ＿ｘｂに（１，４）が、ｉｄｘ＿ｘｂに４が設定される。【０４４９】  ステップＳＴ１２１３ａではｉｄｘ＿ｘｂが偶数か否かの判定をするが、現在のｉｄｘ＿ｘｂの値４は偶数であるので、ステップＳＴ１２１４ａに進む。【０４５０】  ステップＳＴ１２１４ａでは＿ｓｔａｃｋがｎｉｌであるか否か判定するが、＿ｓｔａｃｋはｎｉｌではないのでステップＳＴ１２１５ａに進む。【０４５１】  ステップＳＴ１２１５ａでは、局所変数ｌｅｖ＿ｘｂに１を設定し、ｖａｌ＿ｘｂにＶ（１，４）を設定し、ｉｄｘ＿１ｂに１＋４＝５を設定する。さらに、ｐｌａｃｅ＿１ｂに（ｌｅｖ＿ｘｂ，ｉｄｘ＿１ｂ）＝（１，５）を設定。この位置情報（１，５）が最初のダミー・ノードを表す。この最初のダミー・ノードに割当てるハッシュ値を計算する関数ｄｕｍｍｙ＿ｈａｓｈを呼びだし、その返り値をｄｕｍ＿ｖａｌ＿１ｂに設定する。さらにｓｆｍｌ＿１ｂに
ｍａｋｅ−ｓｔａｃｋｆｌｍ（ｐｌａｃｅ＿１ｂ，ｄｕｍ＿ｖａｌ＿１ｂ）＝［（１，５），ｄｕｍ＿ｖａｌ＿１ｂ］
を設定する。ここでｍａｋｅ＿ｓｔａｃｋｆｌｍはノードの位置情報とハッシュ値を引数としてスタックフレームを生成する関数である。ここでｐｌａｃ＿１ｂとｓｆｍｌ＿１ｂを引数としてＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡ（図５３で定義したもの）を呼び出す。【０４５２】  続いて、ステップＳＴ１２１６ａにおいて、ｌｅｖ＿ｎｗに２を設定し、ｉｄｘ＿ｎｗにｆｌｏｏｒ（ｉｄｘ＿ｘｂ，２）＝ｆｌｏｏｒ（４，２）＝２を設定し、さらにｐｌａｃｅ＿ｎｗに（２，２）を設定する。続いて、ｖａｌ＿ｎｗにｈａｓｈ＿ｃｏｍｂ２（ｖａｌ＿ｘｂ，ｄｕｍ＿ｖａｌ＿１ｂ）を設定する。ｈａｓｈ＿ｃｏｍｂ２は２つのハッシュ値を引数として、それらを連接し、所定のハッシュ関数を適用した結果を返す関数である。ｓｆｍｌ＿ｎｗにｍａｋｅ−ｓｔａｃｋｆｌｍ（ｐｌａｃｅ＿ｎｗ，ｖａｌ＿ｎｗ）を設定し、ｓｆｍｌ＿ｎｗを＿ｓｔａｃｋにプッシュする。これにより、＿ｓｔａｃｋは［（２，２），Ｖ（２，２）］，［（３，０），Ｖ（３，０）］を含む構成となる。更にｐｌａｃｅ＿ｎｗとｓｆｍｌ＿ｎｗを引数としてＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡを呼び出す。ここでステップＳＴ１２１１ａに戻る。【０４５３】  （２）ステップＳＴ１２１１ａにおいて＿ｓｔａｃｋを１つポップし、ｓｆｌｍ＿ｘｂに［（２，２），Ｖ（２，２）］を設定する。（ここで＿ｓｔａｃｋの状態は、［（３，０），Ｖ（３，０）］となる。）更にｐｌａｃｅ＿ｘｂに（２，２）を、ｉｄｘ＿ｘｂに２を設定する。【０４５４】  ステップＳＴ１２１３ａにおいてｉｄｘ＿ｘｂの値２は偶数と判定されステップＳＴ１２１４ａに進み、＿ｓｔａｃｋはｎｉｌではないので、さらにステップＳＴ１２１５ａに進む。ｌｅｖ＿ｘｂに２を設定し、ｖａｌ＿ｘｂにＶ（２，２）を設定し、ｉｄｘ＿１ｂに３を設定し、ｐｌａｃｅ＿１ｂに（２，３）を設定し、ｄｕｍ＿ｖａｌ＿１ｂにｄｕｍｍｙ＿ｈａｓｈの返し値を設定し、この値をＶ（２，３）と表す。さらにｓｆｍｌ＿１ｂに
ｍａｋｅ−ｓｔａｃｋｆｌｍ（ｐｌａｃｅ＿１ｂ，ｄｕｍ＿ｖａｌ＿１ｂ）＝［（２，３），Ｖ（２，３）］
を設定する。ここでｐｌａｃｅ＿１ｂとｓｆｍｌ＿１ｂを引数としてＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡを呼び出す。【０４５５】  続いて、ステップＳＴ１２１６ａにおいて、ｌｅｖ＿ｎｗに３を設定し、ｉｄｘ＿ｎｗにｆｌｏｏｒ（ｖａｌ＿ｘｂ，２）＝ｆｌｏｏｒ（２，２）＝１を設定し、さらにｐｌａｃｅ＿ｎｗに（３，１）を設定する。続いて、ｖａｌ＿ｎｗにｈａｓｈ＿ｃｏｍｂ２（ｖａｌ＿ｘｂ，ｄｕｍ＿ｖａｌ＿１ｂ）を設定し、この値をＶ（３，１）と書く。ｓｆｍｌ＿ｎｗにｍａｋｅ−ｓｔａｃｋｆｌｍ（（３，１），Ｖ（３，１））を設定し、ｓｆｍｌ＿ｎｗを＿ｓｔａｃｋにプッシュする。これにより、＿ｓｔａｃｋは［（３，１），Ｖ（３，１）］，［（３，０），Ｖ（３，０）］を含む構成となる。さらにｐｌａｃｅ＿ｎｗとｓｆｍｌ＿ｎｗを引数としてＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡを呼び出す。ここでステップＳＴ１２１１ａに戻る。【０４５６】  （３）ステップＳＴ１２１１ａにおいて＿ｓｔａｃｋを１つポップし、ｓｆｌｍ＿ｘｂに［（３，１），Ｖ（３，１）］を設定する。（＿ｓｔａｃｋの状態は、［（３，０），Ｖ（３，０）］となっている。）さらに、ｐｌａｃｅ＿ｘｂに（３，１）を設定し、ｉｄｘ＿ｘｂに１を設定する。【０４５７】  ＳＴ１２１３ａにおいてｉｄｘ＿ｘｂの値１は奇数と判定され、ＳＴ１２１７ａに進み、ｌｅｖ＿ｘｂに３を設定し、ｖａｌ＿ｘｂにＶ（３，１）を設定する。＿ｓｔａｃｋをポップしポップされた［（３，０），Ｖ（３，０）］をｓｆｍｌ０ｂに設定する。さらに、ｐｌａｃｅ＿０ｂに（３，０）を、ｌｅｖ＿０ｂに３を、ｉｄｘ＿０ｂに０を、ｖａｌ＿０ｂにＶ（３，０）を設定する。【０４５８】  ステップＳＴ１２１８ａにおいて、ｌｅｖ＿ｎｗに４を設定し、ｉｎｄｘ＿ｎｗにｆｌｏｏｒ（１，２）＝０を設定し、ｐｌａｃｅ＿ｎｗに（４，０）を設定し、ｖａｌ＿ｎｗにｈａｓｈ＿ｃｏｍｂ２（Ｖ（３，０），Ｖ（３，１））を設定する。この値をＶ（４，０）とする。ｓｆｍｌ＿ｎｗにｍａｋｅ−ｓｔａｃｋｆｌｍ（（４，０），Ｖ（４，０））を設定し、ｓｆｍｌ＿ｎｗを＿ｓｔａｃｋにプッシュする。これにより、＿ｓｔａｃｋは［（４，０），Ｖ（４，０）］を含む構成となる。さらにｐｌａｃｅ＿ｎｗとｓｆｍｌ＿ｎｗを引数としてＲＥＧＩＳＴＥＲ＿ＣＯＭＰＬＥ＿ＤＡＴＡを呼び出す。ここでステップＳＴ１２１１ａに戻る。【０４５９】  （４）ステップＳＴ１２１１ａにおいて、＿ｓｔａｃｋを１つポップし、ｓｆｌｍ＿ｘｂに［（４，０），Ｖ（４，０）］を設定する。（＿ｓｔａｃｋの状態はｎｉｌとなっている。）さらに、ｐｌａｃｅ＿ｘｂに（４，０）を設定し、ｉｄｘ＿ｘｂに０を設定する。ステップＳＴ１２１３ａにおいてｉｄｘ＿ｘｂの値０は偶数と判断され、ステップＳＴ１２１４ａに進み＿ｓｔａｃｋはｎｉｌであるので、ステップＳＴ１２１９ａに進み、返し値にＶ（４，０）を設定して終了する。
以上の結果、この手順の返し値は当該の順次集約木のルート値であるＶ（４，０）となる。【０４６０】  次に、図５６で記述されたサブルーチンＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ２について説明する。【０４６１】  まず以下の変数および定数が使用される。【０４６２】  ・利用者装置の識別子である非負整数を保持する変数ｉｄ
・利用者装置の総数を表す定数Ｎ
・図５０の遅延補完用スタックの配列＿ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ＿ｖｅｃの各要素と同じ構造を持つｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ２
・非負整数またはｎｉｌを保持する変数ｐｒｅｖ＿ｃｈａｉｎ＿ｐｏｉｎｔ２。【０４６３】  次にＴＥＲＭＩＮＡＴＥ＿ＳＴＲＥＥ＿ＳＵＢ２の動作について説明する。【０４６４】  ｉｄ＝０，…，Ｎ−１について図５６のブロック１を実行する。【０４６５】  ブロック１の中では以下の動作をする。【０４６６】  ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ２に＿ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ＿ｖｅｃ［ｉｄ］を設定し、ｐｒｅｖ＿ｃｈａｉｎ＿ｐｏｉｎｔ２にｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ２のｐｒｅｖ＿ｐｏｉｎｔ部を設定する（ステップＳＴ１２２２ａ）。【０４６７】  ｐｒｅｖ＿ｃｈａｉｎ＿ｐｏｉｎｔ２がｎｉｌであればブロックを終了する（ステップＳＴ１２２３ａ）。【０４６８】  さもなければ、ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ２のｐｒｅｖ＿ｐｏｉｎｔ＿ｏｌｄ部をｐｒｅｖ＿ｃｈａｉｎ＿ｐｏｉｎｔ２に、ｐｒｅｖ＿ｐｏｉｎｔ部をｎｉｌに、ｏｌｄ＿ｔｒｅｅ部に現在の集約木識別子を各々設定し、次に＿ｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ＿ｖｅｃ［ｉｄ］にｃｈａｉｎ＿ｃｏｍｐｌｅ＿ｄａｔａ２を設定する（ステップＳＴ１２２４ａ）。【０４６９】＜５−４．利用者装置５Ｉにおけるインクリメンタル完全化＞
次に、利用者装置５Ｉにおけるインクリメンタル完全化の処理について、詳しく説明する。ここで、インクリメンタル完全化には、大別して（１）インクリメンタル個別完全化と（２）インクリメンタル一括完全化の２つの処理があり、いずれかが利用者装置５Ｉにおいて実行されるものである。尚、上述した「完全化波及処理」は、インクリメンタル一括完全化の中の一機能を説明したものである。【０４７０】（インクリメンタル個別完全化）
利用者装置２Ａのある集約間隔１に属するか或いは或いはその次の集約間隔の最初の登録点であるよう登録点ａｆを暫定終端点とする。【０４７１】  ａｆがある集約間隔Ｉの次の集約間隔の最初の登録点であるとき、当該の集約間隔Ｉに対する追伸点と呼ぶ。【０４７２】  集約間隔Ｉの間に、この暫定終端点ａｆまでに登録した登録点の集合をａ（０），ａ（１），…，ａ（ｎ）とする。（通常は、ａ（ｎ）＝ａｆであるが、ａｆが追伸点であるときはこうはならない。）
このとき、登録点の集合から、ａｆを暫定終端点としたときの１つあるいは複数の順次集約小木が構成され、構成された順次集約小木の集まりを、ａｆを暫定終端点としたときの順次集約フォレストと呼ぶことにする。【０４７３】  図５８を参照して、順次集約フォレストと順次集約小木について具体的に説明する。【０４７４】  ａｆが当該の集約間隔にあるとき、ａｆがリーフ番号（非負整数）を表し、ａｆの二進表現においてはｋ（１），ｋ（２），…，ｋ（ｍ）桁において１が立つものとする（但し最小桁は０桁とする）。図５８においては、ｍ＝４としている。ここで、ｋ（ｍ）は０でもよく、ｋ（１）＞ｋ（２）＞ｋ（３）＞…＞ｋ（ｍ）とならなければならない。このとき、上記順次集約フォレストに属するｎ番目の順次集約小木のリーフの数は２ｋ（ｎ）となる。図５８においては、ＳＴ２（１），…，ＳＴ２（４）が順次集約小木を表している。【０４７５】  インクリメンタル個別完全化とは、指定されたａ∈｛ａ（０），ａ（１），…，ａ（ｎ）｝について、以下の計算（１）〜（３）を行うことである。【０４７６】  （１）ａが属する順次集約小木ＳＴ（ユニークに定まる）を計算する。【０４７７】  （２）順次集約フォレストにおいて上記ＳＴより左に位置する１つあるいは複数の順次集約小木のルートの割当値を、ａ（０），…，ａ（ｎ）（及びａｆ）で取得する補完データから計算する。【０４７８】  （３）ＳＴにおけるａの認証パスをａｕｔｈＰａｔｈＳＴ（ａ）とおくと、ａｕｔｈＰａｔｈＳＴ（ａ）に属するノードの割当値を、ａ（０），…，ａ（ｎ）（及びａｆ）で取得する補完データから計算する。【０４７９】  尚、インクリメンタル個別完全化の定義は、以下に定義する現時点順次集約木を用いて行うこともできる。ここで、現時点順次集約木とは、ａｆを暫定終端点としたときの順次集約フォレストを含むような最小の二分木を、ａｆを暫定終端点としたときの現時点順次集約木という。【０４８０】  図５９は、現時点順次集約木の枝を実線及び点線で示すものである。このうち、点線で示す枝が順次集約フォレストには含まれないが現時点順次集約木を構成するために追加した枝である。また黒で塗りつぶされた小円が順次集約フォレストに含まれるノードであり、塗りつぶしがない小円が現時点順次集約木を構成するために追加したノードである。現時点順次集約木をＣＳＴと表し、ＣＳＴにおけるａの認証パスをａｕｔｈＰａｔｈＣＳＴ（ａ）とおく。このとき、インクリメンタル個別完全化とは、指定されたａ∈｛ａ（０），ａ（１），…，ａ（ｎ）｝について、ａｕｔｈＰａｔｈＣＳＴ（ａ）に属し、既に割当値が定まっているノードの割当値を、ａ（０），…，ａ（ｎ）（及びａｆ）で取得する補完データから計算することと同値である。【０４８１】  尚、順次集約フォレストのリーフの数の総数をＮとしたとき、現時点順次集約木の高さｈはＮ≦２ｋとなる最小の非負整数ｋとなる。【０４８２】  上述したことを踏まえて、第２の検証機能を説明した図３８に戻ると、登録点ａに対して、ａｆを暫定終端点としてインクリメンタル個別完全化を行うと、認証点ｏの割当値Ｖ（ｏ）が計算できることになる。これにより、登録点ａｆを現時点としたときの現時点���次集約木における、登録点ａの登録点ｂによる認証点ｏの計算された割当値Ｖ（ｏ）が、登録点ｂで取得される即時補完データに含まれれば、登録点ａの登録が登録点ｂの登録より前に起こったことを客観的に証明することができる。【０４８３】  次に、図６０及び図６１を参照しながら、インクリメンタル完全個別化の動作について説明する。図６０は、インクリメンタル完全個別化の動作を示すフローチャート図である。【０４８４】  まず、暫定終端点ａｆより以前の登録点で集約間隔Ｉに属する登録点ａを１つ指示する（ステップＳ５１０ａ）。図６１に示す順次集約フォレストにおいては、インデックス１８のリーフ（ノード（０，１８））をａとしている。【０４８５】  次に、登録点ａが属する順次集約小木ＳＴを計算する（ステップＳ５２０ａ）。図６１に示す順次集約フォレストにおいては、構成済み順次集約小木のうち左から２番目のＳＴ２（２）がＳＴとなる。【０４８６】  次に、登録点ａのＳＴにおける各遅延認証パスノードｓを計算する（ステップＳ５３０ａ）。図６１に示す順次集約フォレストにおいては、インデックス１９のリーフ（ノード（０，１９））とレベル２のインデックス５のノード（（ノード（２，５））が遅延認証パスノードとなる。【０４８７】  次に、各遅延認証パスノードｓの取得参照点をそれぞれ決定する（ステップＳ５４０ａ）。ここで、取得参照点及び取得タイミング点について説明する。尚、以下では、ある登録点ａの即時補完データと、ａの次の登録点ａ１で取得されるａの遅延補完データの合併を、登録点ａの連鎖補完データとよぶ。【０４８８】  登録点ａ０が与えられたとき、そのａｕｔｈＰａｔｈ（ａ０）でレベルｊのノード（ｊ，ｓ（ｊ））の割当値Ｖ（ｊ，ｓ（ｊ））を計算するために十分な情報を補完データから直接取得できるかあるいは該データを基に計算により取得できる要求登録点をＶ（ｊ，ｓ（ｊ））の取得参照点と呼ぶ。そして、上記の必要な補完データを受信する登録点を取得タイミング点と呼ぶ。【０４８９】  例えば、図３７に示す順次集約木において、登録点Ｘ３が与えられたとき、遅延補完データの１つであるノード（０，１９）の取得参照点は、登録点Ｘ３（ノード（０，１８））、取得タイミング点は、登録点Ｘ４（ノード（０，２１））となる。また、登録点Ｘ３が与えられたとき、即時補完データの１つであるノード（４，０）の取得参照点及び取得タイミング点は、登録点Ｘ３（ノード（０，１８））となる。一般に、即時補完データに関しては、取得参照点と取得タイミング点は一致する。【０４９０】  次に、ステップＳ５４０ａで決定された取得参照点をもとに、各認証パスノードｓの割当値を計算する（ステップＳ５５０ａ）。【０４９１】  以上により、登録点ａにおけるインクリメンタル完全化の処理が終了し、この計算結果を用いて、登録点ａの割当値を含む入力に衝突困難ハッシュ関数を適用し、Ｖ（ｒｏｏｔ（ＳＴ））を計算することができる。尚、上述した計算が可能であるのは、ｓの割当値の取得参照点および取得タイミング点がともに、暫定登録点ａｆ以前であることによる。【０４９２】（インクリメンタル個別完全化の実装例）
以下に、上述したインクリメンタル個別完全化の一実装例を説明する。【０４９３】  まず、順次集約小木ＳＴを決定する計算手順ＦＯＲＥＳＴ＿ＳＳＴを図６２に示す。これは、図６２のステップＳ５２０ａに相当するものである。【０４９４】  この手順で使用される変数及び関数は以下のとおりである。【０４９５】  ・入力としては、リーフ識別子ａ（非負整数）、暫定終端点の識別子ｆｉｎ（非負整数）
・出力としては、ａが属する順次集約小木の一番左のリーフ識別子ｓｔａｒｔ（非負整数）、ａが属する順次集約小木の一番左のリーフ識別子ｌａｓｔ（非負整数）
・変数としては、非負整数を保持する変数ｒｅｓｔ，ｈｔ，ｌｅａｆ＿ｎｕｍ
・使用される関数として、ｌｏｇ２（ｘ）は、ｌｏｇ２（ｘ）以下の最大の整数、ｅｘｐｔ（ｘ，ｙ）は、ｘのｙ乗
このアルゴリズムは、リーフ識別子ａ（非負整数）と暫定終端点の識別子ｆｉｎ（非負整数）を入力とし、該暫定終端点の登録が終了した時点における順次集約フォレストに属する順次集約小木でａが属するものをＳＴとしたとき、ＳＴの一番左に位置するリーフの識別子ｓｔａｒｔ（非負整数）と一番右に位置するリーフの識別子ｌａｓｔ（非負整数）の組を出力するものである。当該の順次集約小木ＳＴのリーフの数は、ｌａｓｔ−ｓｔａｒｔ＋１となり、当該の順次集約小木の高さは、ｌｏｇ２（ｌａｓｔ−ｓｔａｒｔ＋１）となる。【０４９６】  図６１で示した具体例について、図６２の手順を適用すると以下のようになる。リーフ識別子ａを１８とおき，暫定終端点の識別子ｆｉｎを２６とおく。このとき、図６２の手順に従って計算すると、ｓｔａｒｔとして１６が返され、ｌａｓｔとして２３が返される。この出力から、ａが属する順次集約小木は、図６１のＳＴ２（２）であることが分かる。【０４９７】  次に、インクリメンタル完全化における認証パスノード割当値の取得参照点決定手順ＤＥＣＩＤＥ＿ＧＥＴ＿ＰＯＩＮＴ＿Ａを図６３に示す。この手順は、指定された要求登録点の指定されたレベルの認証パスノードの割当値が、どの要求登録点の即時補完データあるいは遅延補完データから得られるかを決定するものであり、図６０のステップＳ５４０ａに相当するものである。【０４９８】  図６４は、手順ＤＥＣＩＤＥ＿ＧＥＴ＿ＰＯＩＮＴ＿Ａにおいて使われるデータ構造と変数の一部を表す。データ構造ｃｈａｉｎｄａｔａはｌｅａｆ＿ｉｎｄｅｘ部、ｒｇｔ＿ｖａｌｕｅ部、ｉｍｍｅｄｉａｔｅ部、ｌａｔｅ部からなる構造である。Ｍを一つの利用者装置５Ｉが一つの集約間隔に送出する順序証明要求の最大数とする。【０４９９】  この手順で使用されるその他の変数及び関数は以下のとおりである。【０５００】  ・変数ｃｈｉａｎｄａｔａ＿ｓｔｏｒｅは要素数がＭの配列で、配列の各要素がデータ構造ｃｈａｉｎｄａｔａを保持するようなものである（図６４参照）。【０５０１】  ・ｃｈａｉｎｄａｔａ０はデータ構造ｃｈａｉｎｄａｔａを保持する変数である。【０５０２】  ・ａ０は順次集約木のリーフ識別子を表す整数を保持する変数である。【０５０３】  ・順次集約木のノード（ｊ，ｉ）に対して、ｓｕｂＴｒｅｅ（ｊ，ｉ）は（ｊ，ｉ）をルートとするような順次集約木の部分木を表す。【０５０４】  ・順次集約木の部分木ＳＴに対して、ｌｅａｆｓ（ＳＴ）はＳＴのリーフの集合を表す。例えば、ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｉ））は部分木ｓｕｂＴｒｅｅ（ｊ，ｉ）のリーフの集合である。また、ｈｅｉｇｈｔ（ＳＴ）はＳＴの高さを表す。【０５０５】  次に、図６３に示すインクリメンタル完全化の認証パスノード割当値の取得参照点決定手順（ＤＥＣＩＤＥ＿ＧＥＴ＿ＰＯＩＮＴ＿Ａ）のアルゴリズムの根拠を図６５に示す図をもとに説明する。【０５０６】  ここで、ａｆを暫定終端点とする構成済みフォレスト内の順次集約小木のうちａ０が属すものをＳＴとおく（ａ０∈ｌｅａｆｓ（ＳＴ））。【０５０７】  また、ＳＴ内のａ０の認証パスをａｕｔｈＰａｔｈＳＴ（ａ０）とおき、
ａｕｔｈＰａｔｈＳＴ（ａ０）＝［（０，ｓ（０）），（１，ｓ（１）），…，（ｋ−１，ｓ（ｋ−１））］
と置く。（但し、ｋは構成済みフォレスト内のａが属する順次集約小木ＳＴの高さである。即ち、ｋ＝ｈｅｉｇｈｔ（ＳＴ）。）以下では、非負整数ｎ，ｍに対して、［ｎ…ｍ］はｎ以上でｍ以下の整数の集合を表すものとする。【０５０８】  各ｊ∈［０…ｋ−１］に対して、（ｊ，ｓ（ｊ））がどの登録点の補完データから計算できるかを決定するアルゴリズムを以下に示す。【０５０９】  ｒｔＰａｔｈＳＴ（ａ０）をＳＴにおけるａのルート・パスとおき、
ｒｔＰａｔｈＳＴ（ａ０）＝［（０，ｒ（０）），（１，ｒ（１）），…，（ｋ−１，ｒ（ｋ−１）），（ｋ，ｒ（ｋ））］
とする。ｒ（０）＝ａ０、ｒｏｏｔ（ＳＴ）＝（ｋ，ｒ（ｋ））である。ｊ∈［０…ｋ−１］とする。【０５１０】  （１）（ｊ，ｒ（ｊ））が（ｊ＋１，ｒ（ｊ＋１））のｌｅｆｔ−ｃｈｉｌｄであるとき
ｓ（ｊ）＝ｒ（ｊ）＋１であり、（ｊ，ｓ（ｊ））は（ｊ＋１，ｒ（ｊ＋１））のｒｉｇｈｔ−ｃｈｉｌｄである。ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｒ（ｊ）））に属する要求登録点の中で、最も右に位置する点を計算し、ａ１と置く。【０５１１】  （１−１）ａ１≠ａｆのとき
ａ１の次の要求登録点をａ２と置く（ａ１≠ａｆではないのでこのようなａ２が在る。ａ２≦ａｆ）。【０５１２】  （１−１−１）ａ２∈ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）））のとき
ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）））に属する要求登録点で最も右に位置するものをａ３と置く。【０５１３】  （１−１−１−１）ａ３＝ｌａｓｔ（ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）））であるとき（図６５（ａ）を参照）
即時補完データｉｍｍｅｄＤａｔａ（ａ３）は、ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ））におけるａ３の完全補完データｃｍｐｌｔＤａｔａ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）），ａ３）を含む。従って、
0004390805.tif 000002
このとき、Ｖ（ｊ，ｓ（ｊ））の取得参照点および取得タイミング点は共にａ３としてよい。【０５１４】  （１−１−１−２）ａ３≠ｌａｓｔ（ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）））であるとき
（１−１−１−２−１）ａ３≠ａｆであるとき（図６５（ｂ）を参照）
ａ３の次の要求登録点をａ４と置く。（ａ３≠ａｆなので、このようなａ４がある。ａ４≦ａｆ。ａ４は追伸点である可能性もある。）
ａ３のａ４による認証点のレベルをｊ’とすると、ｊ’≧ｊ＋１
従って、順次集約木の性質により、Ｖ（ｊ，ｓ（ｊ））はａ３で取得する即時補完データと、ａ４で取得する（ａ３に対する）遅延補完データから計算できる。即ち、
0004390805.tif 000003
（尚、ａをａ３のａ４による認証点とすると、ｉｍｍｅｄＤａｔａ（ａ４）にはＶ（ａ）が入っているが、これがＶ（ｊ，ｓ（ｊ））とは限らないことに注意する必要がある。）
このとき、Ｖ（ｊ，ｓ（ｊ））の取得参照点をａ３、取得タイミング点をａ４としてよい。ａ３≦ａｆかつａ４≦ａｆである。【０５１５】  （１−１−１−２−２）ａ３＝ａｆであるとき（図６５（ｃ）を参照）
このとき、ａｆを暫定終端点とする構成済みフォレストにおいて（ｊ，ｓ（ｊ））を含む順次集約小木はない。【０５１６】  よって，ＳＴは（ｊ，ｓ（ｊ））を含むことは無い。従ってこのような場合はあり得ない。【０５１７】  （１−１−２）ａ２∈ｌｅａｆｓ（ｓｕｂＴｒｅｅ（ｊ，ｓ（ｊ）））ではないとき（図６５（ｄ）を参照）
Ｖ（ｊ，ｓ（ｊ））∈ｌａｔｅＤａｔａ（ａ１，ａ２）である。【０５１８】  Ｖ（ｊ，ｓ（ｊ））の取得参照点をａ１、Ｖ（ｊ，ｓ（ｊ））の取得タイミング点をａ２としてよい。【０５１９】  ａ１≦ａｆかつａ２≦ａｆ
（１−２）ａ１＝ａｆであるとき（図６５（ｅ）を参照）。【０５２０】  このとき、ａｆを暫定終端点とする構成済みフォレスト内に（ｊ，ｓ（ｊ））を含む順次集約小木はない。【０５２１】  よって、ＳＴは（ｊ，ｓ（ｊ））を含むことは無い。従って、このような場合はあり得ない。【０５２２】  （２）（ｊ，ｒ（ｊ））が（ｊ＋１，ｒ（ｊ＋１））のｒｉｇｈｔ−ｃｈｉｌｄであるとき（図６５（ｆ）を参照）
ｒ（ｊ）＝ｓ（ｊ）＋１であり、（ｊ，ｓ（ｊ））は（ｊ＋１，ｒ（ｊ＋１））のｌｅｆｔ−ｃｈｉｌｄである。【０５２３】  Ｖ（ｊ，ｓ（ｊ））∈ｉｍｍｅｄＤａｔａ（ａ）
Ｖ（ｊ，ｓ（ｊ））の取得参照点および取得タイミング点を共にａ０としてよい。ａ０≦ａｆ
以上から、図６３に示すインクリメンタル完全化の認証パスノード割当値の取得参照点決定手順（ＤＥＣＩＤＥ＿ＧＥＴ＿ＰＯＩＮＴ＿Ａ）は、すべての場合分けを考慮した手順となっているので、図６３に示すアルゴリズムは正しいことがわかる。【０５２４】  次に、要求登録点ａが与えられたとき、そのａｕｔｈＰａｔｈ（ａ）に含まれるレベルｊのノード（ｊ，ａ（ｊ））の割り当て値Ｖ（ｊ，ａ（ｊ））を計算する手順ＣＯＭＰＬＥＴＩＯＮ＿ＳＵＢ１を図６６に示す（但し、０≦ｊ＜ｋでｋは順次集約木の高さ）。これは、図７０のステップＳ５５０ａを中心に説明するフローチャートである。【０５２５】  この手順で使用される変数及び関数は以下のとおりである。【０５２６】  ・ｃｈａｉｎｄａｔａ０及びｃｈａｉｎｄａｔａ１はデータ構造ｃｈａｉｎｄａｔａを保持する変数である。【０５２７】  ・ｉｍｍｅｄＤａｔａ１及びｌａｔｅＤａｔａ１はデータ構造ｓｔａｃｋｆｌｍの線形リストを保持する変数である。【０５２８】  ・ｃｈａｉｎｄａｔａ＿ｓｔｏｒｅは当該の集約期間における、各登録点において証明応答として受信したデータを格納する配列である。配列の各要素は、図６４で定義したｃｈａｉｎｄａｔａの構造を持つ。この配列のｉ番目の要素は、当該の集約間隔におけるｉ番目の登録点の即時補完データと、その直後の登録点で取得したｉ番目の登録点の遅延補完データを含む。【０５２９】  （１）本手順は２つの引数（入力）をもち、第１の引数を配列ｃｈａｉｎｄａｔａ＿ｓｔｏｒｅのｉｎｄｅｘを表す整数ｉ０とし、第２の引数を順次集約木のレベルを表す整数ｊとする（ステップＳ５５０１ａ）。【０５３０】  （２）局所変数ｃｈａｉｎｄａｔａ０にｃｈａｉｎｄａｔａ＿ｓｔｏｒｅ［ｉ０］を設定し（ステップＳ５５０２ａ）、局所変数ａ０をｃｈａｉｎｄａｔａ１のｌｅａｆ＿ｉｎｄｅｘ部とし（ステップＳ５５０３ａ）、変数ａ１にａｕｔｈＰａｔｈ（ａ０）のレベルｊのノードのｉｎｄｅｘを設定する（ステップＳ５５０４ａ）。【０５３１】  （３）図６３に記述の認証パスノード割当値の取得参照点決定手順ＤＥＣＩＤＥ＿ＰＯＩＮＴ＿ＡによりＶ（ｊ，ａ（ｊ））の取得参照点ａ２（要求登録点の１つで、その点で得られた連鎖補完データから、Ｖ（ｊ，ａ（ｊ））が計算できるもの）を決定する（ステップＳ５５０５ａ）。【０５３２】  （４）配列ｃｈａｉｎｄａｔａ＿ｓｔｏｒｅを探索し、ｌｅａｆ＿ｉｎｄｅｘ部がａ２であるような配列要素のｉｎｄｅｘとなる整数ｉ１を決定する（ステップＳ５５０６ａ）。【０５３３】  （５）変数ｃｈａｉｎｄａｔａ１にｃｈａｉｎｄａｔａ＿ｓｔｏｒｅ［ｉ１］を設定する（ステップＳ５５０７ａ）。【０５３４】  （６）変数ｒｇｔ＿ｖａｌ１にｃｈａｉｎｄａｔａ１のｒｇｔ＿ｖａｌ部を、変数ｉｍｍｅｄＤａｔａ１にｃｈａｉｎｄａｔａ１のｉｍｍｅｄｉａｔｅ部を，変数ｌａｔｅＤａｔａ１にｃｈａｉｎｄａｔａ１のｌａｔｅ部を、各々設定する（ステップＳ５５０８ａ）。
（７）ｒｇｔ＿ｖａｌ１、ｉｍｍｅｄＤａｔａ１、あるいはｌａｔｅＤａｔａ１にｐｌａｃｅ部が（ｊ，ａ１）となるスタックフレームが含まれるかどうか判定する（Ｓ５５０９ａ）。【０５３５】  （７−１）含まれれば、その値を返す（ステップＳ５５１０ａ）。【０５３６】  （７−２）含まれないときは、ｉｍｍｅｄＤａｔａ１とｌａｔｅＤａｔａ１から、ハッシュ関数を介して計算できるノードの割当値をレベル０からレベルｊまで順次計算する（ステップＳ５５１１ａ）。【０５３７】  （７−２−１）上記で順次計算された割り当て値にＶ（ｊ，ａ（ｊ））が含まれるか否か判定する（ステップＳ５５１２ａ）。【０５３８】  （７−２−１−１）含まれれば、その値を返す（ステップＳ５５１３ａ）。【０５３９】  （７−２−１−２）含まれなければ、エラーとする（ステップＳ５５１４ａ）。【０５４０】  図６７は、要求登録点ａが与えられたとき、そのａｕｔｈＰａｔｈ（ａ）に含まれるレベルｊのノード（ｊ，ａ（ｊ））の割り当て値Ｖ（ｊ，ａ（ｊ））のリスト
［Ｖ（０，ａ（０）），Ｖ（１，ａ（１）），…，Ｖ（ｋ−１，ａ（ｋ−１））］
を計算する手順ＣＯＭＰＬＥＴＩＯＮ＿ＳＵＢ１を表す（但し、０≦ｊ＜ｋでｋは順次集約木の高さ）
この手順で使用される変数及び関数は以下のとおりである。【０５４１】  ・ｋを順次集約木の高さとする。【０５４２】  ・ａｕｔｈ＿ｎｏｄｅ＿ｖａｌｓは長さｋの配列で、各配列要素はハッシュ値を保持するものとする。【０５４３】  まず、図６６のＣＯＭＰＬＥＴＩＯＮ＿ＳＵＢ１を各ｊ（０≦ｊ＜ｋ）に適用し、ａｕｔｈＰａｔｈ（ａ）に属する各ノードの割当値を計算し、計算結果をａｕｔｈ＿ｎｏｄｅ＿ｖａｌｓ［ｊ］に格納する（ステップＳ５５２３ａ，Ｓ５５２４ａ）。【０５４４】  次に、ａｕｔｈ＿ｎｏｄｅ＿ｖａｌｓを返り値とし、終了する（ステップＳ５５２５ａ）。【０５４５】（インクリメンタル一括完全化）
上述したインクリメンタル完全化の方法は、完全化の対象となる受理証明書を指定し、その指定された受理証明書の個別完全化を行う方法である。次に述べるインクリメンタル完全化の方法は、ある利用者装置５Ｉが連続して取得した一連の受理証明書を一括して、上記のインクリメンタル個別完全化により計算されるものと同じデータを計算する方法である。この種類のインクリメンタル完全化をインクリメンタル一括完全化と呼ぶ。即ち、一連の登録点ａ（０），ａ（１），…，ａ（ｎ）全てに対して上記のインクリメンタル個別完全化により計算されるものと同じデータを一括して計算することを、インクリメンタル一括完全化という。【０５４６】  インクリメンタル一括完全化は、上述した完全化波及処理を用いた以下の手順により実行できる。【０５４７】  （１）ａ（０），…，ａ（ｎ）を、ある集約間隔Ｉに属する、ある利用者装置５Ｉによる一連の登録点とする。【０５４８】  （２）利用者装置５Ｉによるａ（ｎ）の次の登録点をａｆとする。ａｆは追伸点であってもよい。【０５４９】  （３）図６８で記述した手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により、各ａ＝ａ（ｎ），…，ａ（０）を、この順にインクリメンタル完全化を行う。【０５５０】  この手順により、各登録点ａ（ｎ−ｉ）（但しｉ＝０，…，ｎ）に対してａｆを暫定終端点とした場合のインクリメンタル個別完全化が実現されることが、以下のように数学的帰納法により示される（図６９及び図７０を参照）。以下では、簡単のためａ（０），…，ａ（ｎ）が共通の順次集約小木ＳＴ２に属し、ａｆはＳＴ２の各リーフよりも右に位置する場合を考える。尚、一般の場合も同様である。【０５５１】  ｉ＝０，…，ｎについて、手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により追加されたものを含むａ（ｎ−ｉ）の遅延補完データと、ａ（ｎ−ｉ）で受信した即時補完データの合併は、ａ（ｎ−ｉ）のＳＴ２における全ての認証パスノードの割当値を含んでいることを示せばよい。【０５５２】  （１）帰納法のベース
ｉ＝０のときを考える。このとき、ａ（ｎ−ｉ）＝ａ（ｎ）である。手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により、ａ（ｎ）に対してはａｆの登録処理の終了時点におけるａ（ｎ）の遅延遅延補完データが追加される（図６８のステップＳ５００３ａ）。ここで、ａｆの登録処理の終了時点においては順次集約小木のルート値は確定しているので、手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により追加されたものを含むａ（ｎ）の遅延補完データと、ａ（ｎ）で受信した即時補完データの合併は、ａ（ｎ）のＳＴ２における全ての認証パスノードの割当値を含んでいる。【０５５３】  （２）帰納ステップ
ｉ１∈｛０，…，ｎ−１｝とし、ｉ＝ｉ１としたとき、手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により追加されたものを含むａ（ｎ−ｉ）の遅延補完データと、ａ（ｎ−ｉ）で受信した即時補完データの合併は、ａ（ｎ−ｉ）のＳＴ２における全ての認証パスノードの割当値を含んでいるものと仮定する。ｉ＝ｉ１＋１に対しても同じことが成立つことを示せばよい。このことは、以下のように完全化波及処理を用いることにより示すことができる。【０５５４】  ａ２＝ａ（ｎ−ｉ１），ａ１＝ａ（ｎ−（ｉ１＋１））とおき、ａ１のａ２による認証点をＡＰ（ａ１，ａ２）、その兄弟ノードをＡＰ’（ａ１，ａ２）、さらにＡＰ（ａ１，ａ２）のレベルをｊ１と置く（図７０を参照）。【０５５５】  以下で述べる順次集約木の性質により、順序集約小木ＳＴ２におけるａ１のＳＴ２における認証パスノードのうちレベルがｊ１より小さいもの割当値は、図６８のステップＳ５００４ａにおいて追加されるデータに含まれる。【０５５６】  ａ１のＳＴ２における認証パスノードのうちレベルがｊ１に等しいものの割当値は、図６８のステップＳ５００７ａにおいて追加されるデータに含まれる。【０５５７】  ａ１のＳＴ２における認証パスノードのうちレベルがｊ１より大きいものの割当値は、図６８のステップＳ５００８ａにおいて追加されるデータに含まれる。【０５５８】  以上により、手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により追加されたものを含むａ１＝ａ（ｎ−（ｉ＋１））の遅延補完データとａ（ｎ−（ｉ＋１））で受信した即時補完データの合併は、ａ（ｎ−（ｉ＋１））のＳＴ２における全ての認証パスノードの割当値を含むことが導かれる。【０５５９】  以上（１）及び（２）により、ｉ＝０，…，ｎについて、手順ＣＯＭＰＬＥＴＩＯＮ＿ＢＵＬＫ＿ＢＡＣＫＷＡＲＤ１により追加されたものを含むａ（ｎ−ｉ）の遅延補完データと、ａ（ｎ−ｉ）で受信した即時補完データの合併は、ａ（ｎ−ｉ）のＳＴ２における全ての認証パスノードの割当値を含んでいることが示される。【０５６０】  なお、同様の帰納法により、図６８のステップＳ５００６ａで判定結果がＮＯとなり、エラーとなることはないことも示される。【０５６１】（メモリの効率化）
上記は、１つの集約間隔において連鎖補完方式により利用者装置５Ｉがイベント順序証明応答として取得したデータを計算機のメモリに読み込むことができるできる場合の処理方式である。集約間隔における利用者装置５Ｉによる登録点が多数に上り上記の取得データを計算機のメモリに読み込むことができない場合には、以下の方式により取得データの一部をメモリに読み込み、完全認証パスデータを段階的に計算することにより、当該の集約間隔における全ての登録点の完全認証パスデータを計算することができる。【０５６２】  上記の計算は、以下のステップ（１）〜（５）により行われる。【０５６３】  （１）ある集約間隔にある利用者装置５Ｉが受信した補完データのうちから、登録点のインデックスが特定の条件を満たすもののみを間引き抽出し、間引き抽出データを構成する。【０５６４】  間引き抽出するための条件として、間引き間隔となる正整数ｍを指定し、登録点のインデックスがｍで割り切れるもののみを抽出することにしてもよい。図７１に示す具体例においては、インデックス０から１０までをもつ登録点（黒い点で示されている）から、間引き間隔を５として、５で割り切れるインデックス即ち０，５，１０を持つ登録点を抽出し、間引き抽出データを構成している。【０５６５】  （２）登録点のインデックスが隣あう間引き抽出データのインデックスで挟まれているような登録点の登録値および補完データからなる局所データを構成する。このような局所データは、一般には複数構成される。【０５６６】  図７２に示す具体例においては、間引き抽出データの１番目のインデックス０と２番目のインデックス５に挟まれたインデックスを持つ登録点を集め第１の局所データを構成している。図７３に示す具体例においては、間引き抽出データの２番目のインデックス５と３番目のインデックス１０に挟まれたインデックスを持つ登録点を集め第２の局所データを構成している。【０５６７】  （３）上記（２）で構成された各局所データを、その局所データの最も右に位置する登録点を暫定終端点として扱い、前記のインクリメンタル完全化の処理を行う。この処理を局所データの局所完全化と呼ぶ。【０５６８】  この処理により計算される遅延補完データを用いて、当該の局所データに属する登録点のうち最も右に位置するものをａ１としたとき、当該の局所データに属する各登録点ａについて、ａのａ１による認証点をＡＰ（ａ，ａ１）としたとき，ａの認証パスノードの中で、ｌｅｖｅｌ（ＡＰ（ａ，ａ１））より低いレベルのものに対しては、その割当値を計算することができる。さらに、ここで割当値を計算できるａの認証パスノードの割当値は、ａの認証パスノードのうちａ１の処理が終了した時点で割当値が定まっているもの全てを含んでいる。即ち、登録点ａのａ１時点の遅延補完データを含んでいる。【０５６９】  図７２に示す具体例においては、この局所データの局所完全化の処理により、インデックス０の登録点の遅延補完データとして、ノード（１，０），（２，１）の割当値が計算され、インデックス１の登録点の遅延補完データとして、ノード（２，１）の割当値が計算され、インデックス３の登録点の遅延補完データとして、ノード（１，５）の割当値が計��される。【０５７０】  この局所データに属する登録点のうち最も右に位置するものはインデックス５の登録点でありこれをａ１と置くと、この局所データに属する各登録点ａについて、ｌｅｖｅｌ（ＡＰ（ａ，ａ１））より小さいレベルの認証パスノードの割当値が計算できる。例えば、ａをインデックス０の登録点とすると、ＡＰ（ａ，ａ１）は（３，０）であり、ａの認証パスノードのうちレベルが３より小さいもの（０，０），（１，０），（２，１）の割当値を計算できる。ａのａ１における遅延補完データは（１，０），（２，１）の割当値であるので、ａ１時点における遅延補完データは計算できることがわかる。この局所データに属する他の登録点についても同様である。【０５７１】  （４）上記（３）の処理の結果、間引き抽出データの隣あう２つの登録点ａ１とａ２について、ａ１のａ２時点における遅延補完データを取得することが出来る。このデータを用いて前記の証明書完全化のメインルーチンＣＯＭＰＬＥＴＩＯＮ＿ＭＡＩＮ１を適用し、間引き抽出データに含まれる各登録点で取得する証明書の完全化、即ち該登録点の全ての認証パスノードの割当値を計算する。この処理を間引き抽出データの大域完全化と呼ぶ。【０５７２】  図７４で示す具体例においては、間引き抽出データのインデックス０，１，２の登録点、即ち、リーフ番号１，１１，３の登録点の証明書の完全化を行い、当該の３つの登録点の全ての認証パスノードの割当値を計算することができる。例えば、間引き抽出データのインデックス０の登録点の認証パスノードは（０，０），（１，１），（２，１），（３，１），（４，１）であるが、これら全ての割当値を計算することができる。【０５７３】  （５）上記（３）で構成した局所完全化された局所データの各々と、上記（４）で構成した大域完全化された間引き抽出データを用いて、当該の局所データに含まれる各登録点で取得する証明書の完全化を行う。この処理を局所データの大域完全化と呼ぶ。【０５７４】  局所データの大域完全化の手順は、詳しくは以下の通りである。【０５７５】  （５−１）ある局所データの登録点をａ（０），ａ（１），…，ａ（ｎ）＝ａ１とするとき、ａ１の全ての認証パスノードの割当値は、ステップ（４）で計算済みである。これを、
Ｖ（０），Ｖ（１），…，Ｖ（ｋ−１）とする。【０５７６】  （５−２）従って、ａ１のルートパスに属する各ノードの割当値も計算できる。これを
Ｖ’（０），Ｖ’（１），…，Ｖ’（ｋ−１），Ｖ’（ｋ）とする。【０５７７】  （５−３）各ａ＝ａ（０），…，ａ（ｎ−１）について、ａのａ１による認証点をＡＰ（ａ，ａ１）とし、ｋ１＝ｌｅｖｅｌ（ＡＰ（ａ，ａ（ｎ））とおく。【０５７８】  （５−４）ステップ（３）により、ａの認証パスノードのうちレベルがｋ１より小さいものの割当値は計算可済みである。【０５７９】  （５−５）また、レベルがｋ１のａの認証パスノードはａ１のルートパスに属するノードでレベルがｋ１のものと一致する。従って、このような認証パスノードの割当値は、上記（５−２）で計算したＶ’（ｋ１）となる。【０５８０】  （５−６）ｋ１＜ｊ＜ｋとなるｊについて、ａの認証パスノードのうちレベルがｊのものは、ａ１の認証パスノードのうちのレベルがｊのものと一致する。従って、その認証パスノードの割当値は、上記（５−１）で計算したＶ’（ｊ）である。【０５８１】  以上、（５−１）〜（５−６）により、各ａ＝ａ（０），…，ａ（ｎ−１）についてａの全ての認証パスノードの割当値を計算することが出来る。【０５８２】  図７２で示す具体例について言えば、インデックス２の登録点（リーフ識別番号５）の認証パスノードは、（０，４），（１，３），（２，０），（３，１），（４，１）である。またａ１をインデックス５の登録点（リーフ識別番号１１）とすると、ＡＰ（ａ，ａ１）＝（３，０）であり、ｋ１＝ｌｅｖｅｌ（ＡＰ（ａ，ａ１））＝３である。ａの認証パスノードのうちレベルがｋ１＝３より小さい（０，４），（１，３），（２，０）についてはそれらの割当値は、上記ステップ（５−３）で計算できる（図７２、図７５参照）。また、レベルがｋ１＝３の認証パスノード（３，１）の割当値は（５−２）で計算できる（図７４、図７５参照）。また、レベルがｋ１＝３より大きい（４，１）についてはステップ（５−１）で計算できる（図７４、図７５参照）。
以上のステップ（１）〜（５）の手順により、取得した証明書の完全化を行うために、同時にメモリ上に保持する必要のあるデータは、間引き抽出データと、一つの局所データのみである。登録点の総数をＮとし，上記ステップ（１）で用いる間引き間隔をｍとすると、同時にメモリ上に保持する必要がある登録点の数は、（Ｎ／ｍ）＋ｍとなる。ｍ＝√Ｎとすると、（Ｎ／ｍ）＋ｍ＝２・√Ｎとなり、必要なメモリ容量のオーダをＮから√Ｎに削減することが可能となる。【０５８３】＜５−５．利用者装置５Ｉの補完データによるルート値計算＞
次に、利用者装置５Ｉの補完データによるルート値計算について、説明する。これは、利用者装置５Ｉの第１の検証機能におけるルート値計算について詳しく説明するものである。【０５８４】  ある集約間隔Ｉ１が終了したとき、利用者装置５Ｉは、集約間隔Ｉ１の間に送信した１つの証明要求ＲＱに対する受理証明書の個別完全化を上述の方法で実行することにより、完全認証パスデータを計算することができる。完全認証パスデータから、以下に示す（１）〜（５）に示す手順により、当該の集約間隔の順次集約木のルートの割当値が計算できる。【０５８５】  まず完全認証パスデータは、即時補完データと遅延補完データからなる。即時補完データや遅延補完データは、（位置情報，ＬＲタグ，割当値（ハッシュ値））で示す形式の補完データ要素からから成るものとする。尚、ＬＲタグはＬというタグかＲというタグのどちらかの値をとる。ここで、上記の位置情報はレベル情報を含むものとする。レベル情報の間には以下のような２項関係＜＜が定義されているものとする。【０５８６】  任意の登録点について、その完全認証パスデータに含まれる補完データ要素を
（位置情報Ｐ（ｉ），ＬＲタグＴ（ｉ），割当値Ｈ（ｉ））（但し，ｉ＝１，…，ｎ）
とし、位置情報Ｐ（ｉ）に含まれるレベル情報をｌｅｖｅｌ（Ｐ（ｉ））と表すと、２項関係＜＜は
ｌｅｖｅｌ（Ｐ（１）），…，ｌｅｖｅｌ（Ｐ（ｎ））
の間に線形順序を定義するものとする。【０５８７】  位置情報を１つの集約木におけるレベル（非負整数で表される）とレベル内のインデックスの組み合わせとし、位置情報のうちレベル情報は組み合わせの第１要素とすると、上記２項関係＜＜としては、整数の大小関係＜をとればよい。【０５８８】  図７６は、完全認証パスデータによる順次集約木のルート値の計算方法を示すフローチャートである。同図によれば、完全認証パスデータのチェック、即ち、即時補完データはＬタグ、遅延補完データはＲタグを有するかのチェック、及び完全認証パスデータに重なるレベル情報がないかのチェックを確認した後、レベル情報の順序でソートし、各割当値をＬＲタグに合わせて連接して、ルート値を計算する（ステップＳ３１０１ａ，Ｓ３１０２ａ，Ｓ３１０３ａ，Ｓ３１０４ａ，Ｓ３１０５ａ，Ｓ３１０６ａ）。【０５８９】  次に、図７７及び図７８に示すように、ある集約間隔の順次集約木のリーフの１つとして、前の集約間隔の順次集約木のルート値を取り入れる場合について説明する。このような場合には、異なる順次集約木間における受理証明書発行の時間的前後を検証することが簡単にできるという効果がある。例えば、図７８において、利用者装置２Ａの登録点ａが順次集約木ＳＴ（５）の部分木ＳＴ１（５）のリーフに割り当てられており、また、利用者装置２Ｂの登録点ｂが順次集約木ＳＴ（６）の部分木ＳＴ１（６）のリーフに割り当てられているときは、ａとｂの合流点がノードＲ（６）、ａのｂによる認証点がノードＲ（５）になるので、登録点ａから計算された認証点Ｒ（５）の値が、登録点ｂの即時補完データに含まれていれば、登録点ａの登録は登録点ｂの登録より時間的に前であることを検証することができる。【０５９０】  図７７は、図７８のように複数の順次集約木がリンクされた状況において、１つの順次集約木ＳＴ（ｎ）を抽出したものである。【０５９１】  ここで、ルートＲ（ｎ−１）は、順次集約木ＳＴ（ｎ−１）と順次集約木ＳＴ（ｎ）に共通するノードで、
レベル情報化（Ｌ，ＴＩＤ（ｎ−１），ｋ（ｎ−１））
レベル内ｉｎｄｅｘ０
位置情報（（Ｌ，ＴＩＤ（ｎ−１），ｋ（ｎ−１）），０）
である。尚、上述のレベル情報は、
（ＬＲタグ，非負整数の集約木番号，非負整数の集約木内のレベル情報）
で表現されており、ＬＲタグは、ＬというタグとＲというタグのどちらかの値をとる。【０５９２】  また、部分木ＳＴ１（ｎ）のルートＲ１（ｎ）は、
レベル情報（Ｒ，ＴＩＤ（ｎ−１），ｋ１（ｎ））
レベル内ｉｎｄｅｘ１
位置情報（（Ｒ，ＴＩＤ（ｎ−１），ｋ１（ｎ）），１）
であり、ここで、ｋ１（ｎ）はＳＴ１（ｎ）の高さである。【０５９３】  また、部分木ＳＴ１（ｎ）に関しては、ルートＲ１（ｎ）以外のノードについては、
レベル情報（Ｒ，ＴＩＤ（ｎ），ｊ）
ルートＲ１（ｎ）以外のノードの位置情報は（（Ｒ，ＴＩＤ（ｎ），ｊ），ｉ）である。【０５９４】ここで，ｊ，ｉは非負整数であり、ｌｅａｆｓ（ＳＴ１（ｎ））の各要素の位置情報は（（Ｒ，ＴＩＤ（ｎ），０），ｉ）と表すことができる。【０５９５】  また、Ｒ（ｎ）は順次集約木ＳＴ（ｎ）とＳＴ（ｎ＋１）に共通するノードで、
レベル情報（Ｌ，ＴＩＤ（ｎ），ｋ（ｎ））
レベル内ｉｎｄｅｘ０
位置情報（（Ｌ，ＴＩＤ（ｎ），ｋ（ｎ）），０）（但し、ｋ（ｎ）＝ｋ１（ｎ）＋１とする）
割当値Ｖ（Ｒ（ｎ））＝ｈ（Ｖ（Ｒ（ｎ−１））‖Ｖ（Ｒ１（ｎ）））
である。
また、順次集約小木ＳＴ１（ｎ）とルートＲ（ｎ−１）、ルートＲ（ｎ）からなる二分木をＳＴ（ｎ）と書く。即ち、
ｒｏｏｔ（ＳＴ（ｎ））＝Ｒ（ｎ）、
ｌｅｆｔＣｈｉｌｄ（Ｒ（ｎ））＝Ｒ（ｎ−１）、
ｒｉｇｈｔＣｈｉｌｄ（Ｒ（ｎ））＝Ｒ１（ｎ）。【０５９６】  第ｎ番目の集約期間に対応する順次集約木はＳＴ（ｎ）である。【０５９７】但し、ｎ＝０に対しては、Ｒ（ｎ−１）の代わりに所定の割当値を持ったノードＩＲを用いる（図７８参照）。ＩＲの位置情報は（（Ｌ，−１，０），０）である。【０５９８】  このとき、２つの拡張レベル情報の間の順序＜＜を次のように定義する。【０５９９】  ∀ｊ１，ｊ２，Ｔ１，Ｔ２≧０［（Ｒ，Ｔ２，ｊ２）＜＜（Ｌ，Ｔ１，ｊ１）］、
∀ｊ１，ｊ２，Ｔ１，Ｔ２≧０［Ｔ１＜Ｔ２⇒（Ｌ，Ｔ１，ｊ１）＜＜（Ｌ，Ｔ２，ｊ２）］、
∀ｊ１，ｊ２，Ｔ１≧０［ｊ１＜ｊ２⇒（Ｒ，Ｔ１，ｊ１）＜＜（Ｒ，Ｔ１，ｊ２）］。【０６００】  この定義により、二項関係＜＜は任意の登録点の認証パスノードの集合に線形順序を定めるものであることが導かれる。【０６０１】  図７９は、この定義された２項関係＜＜を用いて補完データによる集約木ルート値を計算する一例を示すもので、計算は以下のようになる。【０６０２】  位置情報（（Ｒ，１０，０），５）のノードに対して、即時補完データは、
［（（（Ｌ，９，ｋ（９）），０），Ｌ，Ｖ（Ｒ（９））），
（（（Ｒ，１０，２），０），Ｌ，Ｖ（（Ｒ，１０，２），０）），
（（（Ｒ，１０，０），４），Ｌ，Ｖ（（Ｒ，１０，０），４））］
となる。ここで（Ｒ，１０，２）＜＜（Ｌ，９，１０）である。【０６０３】  遅延補完データは、［（（（Ｒ，１０，１），３），Ｒ，Ｖ（（Ｒ，１０，１），３））］
補完データからのルート値の計算を図７６のフローに従って行う。【０６０４】  （１）即時補完データの各要素はＬタグを持つことをチェックする→合格
（２）遅延補完データの各要素はＲタグを持つことをチェックする→合格
（３）即時補完データと遅延補完データを合併する
合併結果は、
［（（（Ｌ，９，ｋ（９）），０），Ｌ，Ｖ（Ｒ（９））），
（（（Ｒ，１０，２），０），Ｌ，Ｖ（（Ｒ，１０，２），０）），
（（（Ｒ，１０，０），４），Ｌ，Ｖ（（Ｒ，１０，０），４）），
（（（Ｒ，１０，１），３），Ｒ，Ｖ（（Ｒ，１０，１），３））］
となる。【０６０５】  （４）合併結果の中に、重なるレベル情報がないことを確認する→合格
（５）合併結果を、レベル情報の順序＜＜基準にソートする
ソート結果は，
［（（（Ｒ，１０，０），４），Ｌ，Ｖ（（Ｒ，１０，０），４）），
（（（Ｒ，１０，１），３），Ｒ，Ｖ（（Ｒ，１０，１），３）），
（（（Ｒ，１０，２），０），Ｌ，Ｖ（（Ｒ，１０，２），０）），
（（（Ｌ，９，ｋ（９）），０），Ｌ，Ｖ（Ｒ（９）））］
となる。【０６０６】  （６）ステップ（５）のソートの結果を
（Ｊ（０），ＬＲ（０），Ｖ（０）），…，（Ｊ（ｋ−１），ＬＲ（ｋ−１），Ｖ（ｋ−１））
とおき、当該の登録点の登録値をＶ（０）とおき、以下のように再帰的に
Ｗ（０），Ｗ（１），…，Ｗ（ｋ−１），Ｗ（ｋ）
を定義する。【０６０７】  （ｉ）Ｗ（０）＝Ｖ（０）
（ｉｉ）ＬＲ（ｊ）＝Ｌのとき、Ｗ（ｊ＋１）＝ｈ（Ｖ（ｊ）‖Ｗ（ｊ））
ＬＲ（ｊ）＝Ｒのとき、Ｗ（ｊ＋１）＝ｈ（Ｗ（ｊ）‖Ｖ（ｊ））
これに従って計算すると、ｋ＝４であり、Ｗ（ｊ）は以下のように計算できる。【０６０８】    Ｗ（０）＝Ｖ（（Ｒ，１０，０），５），
Ｗ（１）＝ｈ（Ｖ（（Ｒ，１０，０），４）‖Ｖ（（Ｒ，１０，０），５）），
Ｗ（２）＝ｈ（Ｗ（１）‖Ｖ（（Ｒ，１０，１），３）），
Ｗ（３）＝ｈ（Ｖ（（Ｒ，１０，２），０）‖Ｗ（２）），
Ｗ（４）＝ｈ（Ｖ（Ｒ（９））‖Ｗ（３））
となる。Ｗ（３）＝Ｖ（Ｒ１（１０）），Ｗ（４）＝Ｖ（Ｒ（１０））である。【０６０９】  従って、第５の実施の形態のイベント順序証明システム２００ａによれば、第４の実施の形態と同じ効果を得ることができる。即ち、木構造を用いてイベント順序を証明するイベント順序証明システムにおいて、利用者装置５Ｉから証明要求を受付けた証明装置４ａが、該証明要求に対して受理証明書を含む連鎖補完方式（登録点に関して、登録点の即時補完データ及び直前登録点の登録点における遅延補完データを証明応答データに含む）による証明応答を発行したときでも、利用者装置５Ｉがこの証明応答を用いて、インクリメンタル完全化を行うと、利用者装置５Ｉ間における受理証明書発行の時間的前後を検証することができるので、証明要求をまとめた公表データが電子的に公表される前であっても、受理証明書の正当性を検証することができる。【０６１０】  また、連鎖補完方式には、シーケンス補完方式よりも、証明応答のデータ量が少なくて済むという効果がある。さらには、連鎖補完方式においても、証明装置４ａは、順次集約木そのものを記憶部に記憶させる方法は勿論、スタック構造を用いた記憶方法も用いることができるので、証明装置４ａの必要記憶容量を大幅に減少させることもできる。【０６１１】  また、利用者装置５Ｉにおけるインクリメンタル完全化処理においても、個別完全化及び一括完全化の双方を具備するので、状況に応じて最適なインクリメンタル完全化を行うことにより、受理証明書の正当性を検証することができる。さらに、証明応答データすべてを利用者装置５Ｉのメモリ上に記憶させず、部分的な局所データだけを記憶させる方式であっても、インクリメンタル完全化を行うことができるので、利用者装置５Ｉの必要なメモリ量を大幅に減少させることができる。【０６１２】  また、順次集約期間が終了後においては、利用者装置５Ｉは、インクリメンタル完全化の処理により、完全補完データを取得できるので、順次集約木のルート値を計算することができる。さらに、前の集約間隔の順次集約木のルート値を次の順次集約木のリーフの割当値とする場合には、順次集約木をまたがった受理証明書発行の時間的前後を検証することが簡単にできる。【０６１３】  以上、本発明の実施例について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施例に対して種々の変形や変更を施すことができる。例えば、上記実施の形態においては、順次集約木として二分木を用いたが、本発明は二分木に限定されるものではなく、１つの親が複数の子を持つ有向木であればよいものである。【０６１４】  また、利用者装置２Ｉ又は５Ｉは、一定時間間隔終了前に、証明装置１ａ又は４ａが運用を中断、あるいは順次集約木のルート値を計算するのに必要なデータを消失したとき、証明装置１ａ又は４ａの運用中断あるいはデータ消失の時点までに受信し記憶した順序証明応答から、計算可能な割当値を持つ順次集約木のノードのうちで、その親のノードの割当値が計算できないような１つあるいは複数のノードの位置情報と割当値を、電子的に公表する利用者サイド電子的情報公表手段を有してもよい。そして、この場合、所定の検証機関が、この公表情報が矛盾しないことを検証するようにしてもよい。【０６１５】＜順次集約木の性質＞
第４及び第５の実施の形態で用いた順次集約木の性質について詳しく説明する。【０６１６】  順次集約木のリーフ番号ｉについて、ｉで識別される順次集約木のリーフに順次割当値を割り当てる元となった証明要求を受付けて該リーフに割当値を割り当てる一連の処理を該リーフに対する処理ラウンドと言いｒｏｕｎｄ（ｉ）と表す。【０６１７】  今、甲を利用者装置、乙を監査装置とし、ｉ０とｉ１をｉ０＜ｉ１なる二つの順次集約木リーフ番号とし、ｒｏｕｎｄ（ｉ０）において甲は受理証明書を受信し、乙はｒｏｕｎｄ（ｉ１）において監査用受理証明書を受信したものとする。このとき、ｉ０のｉ１による認証点は以下の性質を持つ。【０６１８】  （１）認証点の割当値は、監査点、即ちノード（０，ｉ１）の即時補完データに含まれる。【０６１９】  （２）上記認証点を（ｊ’，ｉ’）とおき、ｒｏｕｎｄ（ｊ１）終了時にリーフ（０，ｉ０）が属する順次集約小木をＳＴ２とし、（０，ｉ０）のＳＴ２における認証パスをａｕｔｈＰａｔｈＳＴ２（０，ｉ０））としたとき、ａｕｔｈＰａｔｈＳＴ２（０，ｉ０））に属するノードで、レベルがｊ’より小さいものに対する割当値は、ノード（０，ｉ０）に対応するラウンドで受理証明書を受理した利用者が、ノード（０，ｉ１）に対応するラウンド以降において受信できる遅延補完データあるいは受信した即時補完データに含まれる。【０６２０】即ち、ｉ１≦ｉ２とすると、ａｕｔｈＰａｔｈＳＴ２（０，ｉ０））に属するノードで、レベルがｊ’より小さいものに対する割当値は、ｉｍｍｅｄＤａｔａ（ｉ０）あるいはｌａｔｅＤａｔａ（ｉ０，ｉ２）に含まれる。【０６２１】  （３）ＳＴ２におけるリーフ（０，ｉ０）のルート・パスをｒｔＰａｔｈＳＴ２（０，ｉ０）としたとき、上記認証点の割当値及びにｒｔＰａｔｈＳＴ２（０，ｉ０）属するノードでレベルが該認証点のレベルより小さいノードの割当値は、ノード（０，ｉ０で受理証明書を受理した利用者が、ノード（０，ｉ１）に対応するラウンド以降において受信する遅延補完データおよびノード（０，ｉ０）で受信した受理証明書（即時補完データを含む）から計算することができる。【０６２２】（性質の証明）
以下では、利用者に渡す受理証明書に、即時補完データを含める場合について説明する。利用者に渡す受理証明書に即時補完データを含めず、その代わりに遅延補完データにこの情報を含める場合でも同様の議論により同じ結論が得られる。【０６２３】  （１）まず、項目（１）について図８０、図８１を用いつつ説明する。【０６２４】  （場合１）最初に、図８０を参照して、ｉ０とｉ１がｉ１時点における順次集約フォレスト内の１つの順次集約小木ＳＴ２に属する場合を考える。ここで、合流点を（ｊ，ｉ）、そのレフト・チャイルドである認証点を（ｊ’，ｉ’）とおく。ノード（０，ｉ１）の順次集約小木ＳＴ２におけるルート・パスｒｔＰａｔｈＳＴ２（０，ｉ１）において、（０，ｉ１）から出発して、合流点に至る直前のノードを（ｊ″，ｉ″）とおく。このとき、認証点は、（ｊ″，ｉ″）の左補完点である。従って、認証パスａｕｔｈＰａｔｈＴＳＴ２（ｉ１）の定義から、（（ｊ’，ｉ’），Ｌ）はノード（０，ｉ１）のＳＴ２における認証パスに含まれる。また、ノード（ｊ’，ｉ’）への値の割当ては、ｒｏｕｎｄ（ｉ１）より前に終了している。よって、（（ｊ’，ｉ’），Ｌ，Ｖ（ｊ’，ｉ’））は（０，ｉ１）に対する即時補完データに含まれる。【０６２５】  （場合２）次に、図８１を参照して、ｉ０とｉ１がｉ１時点における順次集約フォレスト内のどの順次集約小木にも同時には属さない場合を考える。このとき、ｉ０はｉ１時点における順次集約フォレスト内のある順次集約小木ＳＴ２’に属する。このとき、登録点（０，ｉ１）に対する即時補完データの定義により、Ｖ（ｒｏｏｔ（ＳＴ２’））は、登録点（０，ｉ１）に対する即時補完データに含まれる。【０６２６】  （２）次に項目（２）について図８２乃至８５を用いつつ説明する。【０６２７】  （場合１）最初に、図８２及び８３を参照して、ｉ０とｉ１がｉ１時点における順次集約フォレスト内の１つの順次集約小木ＳＴ２に属する場合を考える。【０６２８】  ｋ＝ｈｅｉｇｈｔ（ＳＴ２）とおく。【０６２９】  認証点（ｊ’，ｉ’）はノード（０，ｉ０）のルート・パスｒｔＰａｔｈＳＴ２（０，ｉ０）に含まれる。ここで、
ｒｔＰａｔｈＳＴ２（０，ｉ０）＝［（０，ｒ（０）），…，（ｊ’，ｒ（ｊ’）），（ｊ’＋１，ｒ（ｊ’＋１）），…，（ｋ，ｒ（ｋ））］
とする。また、ａｕｔｈＰａｔｈＳＴ２（０，ｉ０）の要素で、レベルがｊ’より小さいノードの並びを
［（０，ｓ（０）），…，（ｊ’−１，ｓ（ｊ’−１））］
とおく。各ｊ１∈［０．．ｊ’−１］に対して、Ｖ（ｊ１，ｒ（ｊ１））がｉｍｍｅｄＤａｔａ（ｉ０）あるいはｌａｔｅＤａｔａ（ｉ０，ｉ２）に含まれることを示せばよい。【０６３０】  ａｕｔｈＰａｔｈＳＴ２（０，ｉ０）の定義により、ａｕｔｈＰａｔｈＳＴ２（０，ｉ０）のレベルｊ１の要素ｐ２＝（ｉ１，ｓ（ｊ１））は、ｒｔＰａｔｈＳＴ２（０，ｉ０））のレベルｊ１＋１の要素ｐ３＝（ｊ１＋１，ｒ（ｊ１＋１））のライト・チャイルドであるか或いはレフト・チャイルドである。どちらであるかによって場合分けする。【０６３１】  （場合１−１）ｐ２がｐ３のライト・チャイルドであるとき、図８２に示すように、ｐ２の割当値Ｖ（ｐ２）は、ｉ１≦ｉ２なるｉ２において、甲が受信できる遅延補完データｌａｔｅＤａｔａ（ｉ０，ｉ２）に含まれる。なぜならば、リーフ（０，ｉ１）に対応するラウンドのイベント順序証明処理が終わった時点で、図８２のＢで表されたＳＢ２の部分木の割当値は計算可能であり計算され割当て済みである。従って、その時点以降で発行される登録点ｉ０に対する遅延補完データにはＢのルートｐ２の割当値Ｖ（ｐ２）が含まれるからである。【０６３２】  （場合１−２）ｐ２がｐ３のレフト・チャイルドであるとき、図８３に示すように、ノードｐ２の割当値Ｖ（ｐ２）は、登録点ｉ０に対する即時補完データに含まれる。何故ならば、図８３のｐ１をルートとする部分木Ｂについて、
∀Ｉ∈ｌｅａｆｓ（Ｂ）［ｉ＜ｉ０］
であり、従ってｉ０で識別されるラウンドの開始時に、ｌｅａｆｓ（Ｂ）の割当値は確定している。よって、ｐ２＝ｒｏｏｔ（Ｂ）の割当値は、ｉ０で識別されるラウンドにおいて確定しており、従ってｐ２はｉ０時点において値が確定しているｉ０の認証パスノードの集合に含まれるからである。【０６３３】  （場合２）次に、図８４及び図８５を参照して、ｉ０とｉ１がｉ１時点における順次集約フォレスト内のどの順次集約小木にも同時には属さない場合を考える。このとき、ｉ０はｉ１時点における順次集約フォレスト内のある順次集約小木ＳＴ３に属し、ｒｏｏｔ（ＳＴ３）がｉ０のｉ１による認証点となる。ｋ＝ｈｅｉｇｈｔ（ＳＴ３）と置く。認証点（ｊ’，ｉ’）は（０，ｉ０）のルートパスｒｔＰａｔｈＳＴ３（０，ｉ０）に含まれる。ここで、
ｒｔＰａｔｈＳＴ３（０，ｉ０）＝［（０，ｒ（０）），…，（ｊ’，ｒ（ｊ’）），（ｊ’＋１，ｒ（ｊ’＋１）），…，（ｋ，ｒ（ｋ））］
とする。また、ａｕｔｈＰａｔｈＳＴ３（０，ｉ０）の要素で、レベルがｊ’より小さいノードの並びを
［（０，ｓ（０）），…，（ｊ’−１，ｓ（ｊ’−１））］
とおく。各ｊ１∈［０．．ｊ’−１］に対して、Ｖ（ｊ１，ｒ（ｊ１））がｉｍｍｅｄＤａｔａ（ｉ０）あるいはｌａｔｅＤａｔａ（ｉ０，ｉ２）に含まれることを示せばよい。【０６３４】  ａｕｔｈＰａｔｈＳＴ３（０，ｉ０）の定義により、ａｕｔｈＰａｔｈＳＴ３（０，ｉ０）のレベルｊ１の要素ｐ２＝（ｊ１，ｓ（ｊ１））は、ｒｔＰａｔｈＳＴ３（０，ｉ０））のレベルｊ１＋１の要素ｐ３＝（ｊ１＋１，ｒ（ｊ１＋１））のライト・チャイルドであるか或いはレフト・チャイルドである。どちらであるかによって場合分けする。【０６３５】  （場合２−１）ｐ２がｐ３のライトチャイルドであるとき、図８４に示すように、ｐ２の割当値Ｖ（ｐ２）は、ｉ１≦ｉ２なｉ２において、甲が受信できる遅延補完データｌａｔｅＤａｔａ（ｉ０，ｉ２）に含まれる。なぜならば、リーフ（０，ｉ１）に対応するラウンドのイベント順序証明処理が終わった時点で、図８４のＢで表されたＳＢ３の部分木の割当値は計算可能であり計算され割当て済みであり、従ってその時点以降で発行される登録点ｉ０に対する遅延補完データにはＢのルートｐ２の割当値Ｖ（ｐ２）が含まれるからである。【０６３６】  （場合２−２）ｐ２がｐ３のレフト・チャイルドであるとき、図８５に示すように、ノードｐ２の割当値Ｖ（ｐ２）は、登録点ｉ０に対する即時補完データに含まれる。何故ならば、図８５のｐ１をルートとする部分木Ｂについて、
∀ｉ∈ｌｅａｆｓ（Ｂ）［ｉ＜ｉ０］
であり、従ってｉ０で識別されるラウンドの開始時に、ｌｅａｆｓ（Ｂ）の割当値は確定している。よって、ｐ２＝ｒｏｏｔ（Ｂ）の割当値は、ｉ０で識別されるラウンドにおいて確定しており、従ってｐ２はｉ０時点において値が確定しているｉ０の認証パスノードの集合に含まれるからである。【０６３７】  （３）認証パスの定義及び項目（２）から、各ｊ１∈［０．．ｊ’］に対して、Ｖ（ｊ１，（ｊ１））を以下のように再帰的に計算することが出来る。【０６３８】  まず、Ｖ（ｊ１，ｒ（ｊ１））は受理証明書に含まれているノード（０，ｉ０）の割当値とする。【０６３９】  次に、ｊ１∈［０．．ｊ’−１］に対して、Ｖ（ｊ１，ｒ（ｊ１））が計算されたと仮定し、Ｖ（ｊ１＋１，ｒ（ｊ１＋１））を以下のように計算する。ｒ（ｊ１）＜ｓ（ｊ１）のときは、
Ｖ（ｊ１＋１，ｒ（ｊ１＋１））＝ｈ（Ｖ（ｊ１，ｒ（ｊ１））‖Ｖ（ｊ１，ｓ（ｊ１）））
とし、ｓ（ｊ１）＜ｒ（ｊ１）のときは、
Ｖ（ｊ１＋１，ｒ（ｊ１＋１））＝ｈ（Ｖ（ｊ１，ｓ（ｊ１））‖Ｖ（ｊ１，ｒ（ｊ１）））
とする。
【産業上の利用可能性】
【０６４０】  本発明によれば、木構造を用いてイベント順序を証明するイベント順序証明システムにおいて、イベント順序証明要求をまとめた公表データを用いなくても、イベント順序証明機関から発行されたイベント順序受理証明書の検証を行うことができる。【０６４１】  この結果、公表期間の途中であっても、受け取ったイベント順序受理証明書の正当性を検証することができ、利用者の利便性の向上を図ることができる。また、イベント順序証明機関に障害が発生しても、障害に強いイベント順序証明システムを構築することができる。
【図１】
0004390805.tif 000004
【図２】
0004390805.tif 000005
【図３】
0004390805.tif 000006
【図４】
0004390805.tif 000007
【図５】
0004390805.tif 000008
【図６】
0004390805.tif 000009
【図７】
0004390805.tif 000010
【図８】
0004390805.tif 000011
【図９】
0004390805.tif 000012
【図１０】
0004390805.tif 000013
【図１１】
0004390805.tif 000014
【図１２】
0004390805.tif 000015
【図１３】
0004390805.tif 000016
【図１４】
0004390805.tif 000017
【図１５】
0004390805.tif 000018
【図１６】
0004390805.tif 000019
【図１７】
0004390805.tif 000020
【図１８】
0004390805.tif 000021
【図１９】
0004390805.tif 000022
【図２０】
0004390805.tif 000023
【図２１】
0004390805.tif 000024
【図２２】
0004390805.tif 000025
【図２３】
0004390805.tif 000026
【図２４】
0004390805.tif 000027
【図２５】
0004390805.tif 000028
【図２６】
0004390805.tif 000029
【図２７】
0004390805.tif 000030
【図２８】
0004390805.tif 000031
【図２９】
0004390805.tif 000032
【図３０】
0004390805.tif 000033
【図３１】
0004390805.tif 000034
【図３２】
0004390805.tif 000035
【図３３】
0004390805.tif 000036
【図３４】
0004390805.tif 000037
【図３５】
0004390805.tif 000038
【図３６】
0004390805.tif 000039
【図３７】
0004390805.tif 000040
【図３８】
0004390805.tif 000041
【図３９】
0004390805.tif 000042
【図４０】
0004390805.tif 000043
【図４１】
0004390805.tif 000044
【図４２】
0004390805.tif 000045
【図４３】
0004390805.tif 000046
【図４４】
0004390805.tif 000047
【図４５】
0004390805.tif 000048
【図４６】
0004390805.tif 000049
【図４７】
0004390805.tif 000050
【図４８】
0004390805.tif 000051
【図４９】
0004390805.tif 000052
【図５０】
0004390805.tif 000053
【図５１】
0004390805.tif 000054
【図５２】
0004390805.tif 000055
【図５３】
0004390805.tif 000056
【図５４】
0004390805.tif 000057
【図５５】
0004390805.tif 000058
【図５６】
0004390805.tif 000059
【図５７】
0004390805.tif 000060
【図５８】
0004390805.tif 000061
【図５９】
0004390805.tif 000062
【図６０】
0004390805.tif 000063
【図６１】
0004390805.tif 000064
【図６２】
0004390805.tif 000065
【図６３】
0004390805.tif 000066
【図６４】
0004390805.tif 000067
【図６５】
0004390805.tif 000068
【図６６】
0004390805.tif 000069
【図６７】
0004390805.tif 000070
【図６８】
0004390805.tif 000071
【図６９】
0004390805.tif 000072
【図７０】
0004390805.tif 000073
【図７１】
0004390805.tif 000074
【図７２】
0004390805.tif 000075
【図７３】
0004390805.tif 000076
【図７４】
0004390805.tif 000077
【図７５】
0004390805.tif 000078
【図７６】
0004390805.tif 000079
【図７７】
0004390805.tif 000080
【図７８】
0004390805.tif 000081
【図７９】
0004390805.tif 000082
【図８０】
0004390805.tif 000083
【図８１】
0004390805.tif 000084
【図８２】
0004390805.tif 000085
【図８３】
0004390805.tif 000086
【図８４】
0004390805.tif 000087
【図８５】
0004390805.tif 000088