WO2006019143A1 - イベント順序証明方法 - Google Patents

イベント順序証明方法 Download PDF

Info

Publication number
WO2006019143A1
WO2006019143A1 PCT/JP2005/015085 JP2005015085W WO2006019143A1 WO 2006019143 A1 WO2006019143 A1 WO 2006019143A1 JP 2005015085 W JP2005015085 W JP 2005015085W WO 2006019143 A1 WO2006019143 A1 WO 2006019143A1
Authority
WO
WIPO (PCT)
Prior art keywords
certificate
audit
information
sequential
certification
Prior art date
Application number
PCT/JP2005/015085
Other languages
English (en)
French (fr)
Inventor
Eiichi Horita
Satoshi Ono
Hidetaka Ishimoto
Akira Takura
Original Assignee
Nippon Telegraph And Telephone Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph And Telephone Corporation filed Critical Nippon Telegraph And Telephone Corporation
Priority to CN200580002822.2A priority Critical patent/CN1910850B/zh
Priority to US10/587,132 priority patent/US7634653B2/en
Priority to JP2006525004A priority patent/JP4390805B2/ja
Priority to EP05772742.2A priority patent/EP1699163A4/en
Publication of WO2006019143A1 publication Critical patent/WO2006019143A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to an event order proof technique that proves the occurrence order of events that accompany the generation of digital data.
  • Event sequence verification technology is a technology that proves the occurrence order between multiple events that involve the generation of digital 'data, and what the digital' data generated with such events is. is there.
  • Electronic notarization has functions such as identification of senders and receivers, confirmation of arrival, confirmation of the context of transmission / reception, detection of falsification, storage of electronic documents, etc. It realizes the function of certification and tampering detection.
  • FIG. 1 is a diagram for explaining an event order certification system using such an event order certification technique.
  • the event sequence certification system 900 shown in the figure has 30 users (requester, verifier).
  • the event sequence certification device 10 uses 30 users.
  • An event order acceptance certificate with data indicating the order of acceptance is generated for the requested target data, and the event order acceptance certificate is returned to the user.
  • the event sequence acceptance certificate issued by the event sequence certification device 10 is generally used when a digital signature is adopted as the main anti-counterfeiting Z certification means under the PKI (Public Key Infrastructure).
  • Digital data for signature target data with the order of acceptance added to the target data sent from user 30 This is an event order acceptance certificate that includes a local signature.
  • a method based on linear linking (Li near Linking Protocol) (see, for example, Non-Patent Document 1 and Non-Patent Document 2) is highly reliable as a whole system even if the event order proof device 10 is not reliable. It is a method that is possible to ensure.
  • Fig. 2 is a diagram for explaining an event order proof system based on linear linking that does not depend on PKI.
  • the event order certification system 910 shown in the figure generates link information L that correlates the event order certification target data (hash values) of multiple users 30 and generates an event order acceptance certificate including the link information L.
  • Each event sequence acceptance certificate depends on all the event sequence acceptance certificates generated so far. And part of this link information (L, L) is regularly published in mass media etc. (eg newspaper)
  • Non-Patent Document 3 and Non-Patent Document 4 are used in order to calculate data that summarizes and publishes event order proof requests processed by the event order proof device over a certain period.
  • the amount of data required for verification of the user's 30-event S event order acceptance certificate can be received in the specified period. From an amount proportional to the number of order proof requests, its logarithm (base 2) It proposes a method that significantly reduces the amount proportional to.
  • Patent Document 1 S. Haber and W. Stornetta, How to Time-Stamp a Digital Document, Journal of Cryptology, Vol. 3, No. 2, pp. 99-111, 1991
  • Non-Patent Document 2 J.- J. Quisquater, H. Massias, JS Avila, B. Preneel, B. Van Rompay: Specification and implementation of a timestamping system, Technical Report of Uni versite Catholique de Louvain, 1999, URL: http : //www.dice.ucl.ac.be/crypto/TIME SEC / TR4.tgzl
  • Non-Patent Document 3 A. Buldas, H. Lipmaa and B. Schoenmakers, Optimally efficient accountable time-stamping, in Proceedings of Public Key Cryptography 2000 (PKC2000), eds. Y. Zheng and H. Imai, pp.293— 305, Springer— Verlag, Janu ary 2000
  • Non-Patent Document 4 A. Buldas, H. Lipmaa and B. Schoenmakers, Optimally efficient accountable time-stamping, in Proceedings of Public Key Cryptography 2000 (PKC2000), eds. Y. Zheng and H. Imai, pp.293— 305, Springer- Verlag, Janua ry 2000
  • the present invention has been made to solve the above-described problems, and uses a tree structure.
  • the event order certification system that verifies the event order can verify the issued event order acceptance certificate without using the published data that summarizes the event order certification request.
  • Event sequence certification method and event sequence certification monitoring method, event sequence certification system certification device and audit device, and event sequence certification program, event sequence certification audit program, event sequence certification verification program, and event time verification program For the purpose.
  • a user apparatus that makes a proof request to prove a relative time at which a certain event is generated, that is, a temporal order, in a time series of events that generate predetermined digital information.
  • Event sequence in an event sequence certification system in which a certification device that creates a certificate for the certification request from the user device and an auditing device that audits the authenticity of the certificate are connected to each other via a communication network
  • a certification method in which the certification device sequentially receives a certification request from the user device, and sequentially assigns the certification device according to a predetermined procedure from digital information included in the certification request.
  • the concatenated value obtained by concatenating each assigned value assigned to multiple children having the same parent is a predetermined one-way function that is difficult to collide.
  • the assignable value of the node that can be calculated is calculated, and the route value assigned to the root of the aggregation tree is calculated after the fixed time interval.
  • An order certification request aggregation step and the certification device includes the sequential allocation data, the sequential aggregation tree to which the sequential allocation data is allocated, and first sequential aggregation tree specifying information for specifying a leaf of the sequential aggregation tree.
  • a certificate creating step for creating a certificate, a certificate sending step in which the certification device sends the certificate to the user device, and the certification request is assigned.
  • the leaf of the sequential aggregation tree is defined as a registration point
  • information relating to a node necessary for calculating the root value of the sequential aggregation tree from the registration point is defined as supplementary information of the certificate
  • the complementary information that can be acquired at the time of assigning the certification request to the sequential aggregation tree is defined as immediate complementary information
  • the certification device After the assignment to the sequential aggregation tree, the first audit request is assigned to the sequential aggregation tree, and the first audit certificate is created by the same creation method as the certificate.
  • Sequentially The complementary information that can be acquired at the time when the request for the complementary tree specific information and the complementary information is allocated is acquired from the sequential aggregation tree, and the delayed complementary information creating step is set as the delayed complementary information.
  • At least one user who makes a certification request to prove the relative time at which a certain event is generated, that is, the temporal order, in a time series of events that generate predetermined digital information.
  • Events in an event sequence certification system in which a certification device that creates a certificate in response to a certification request from a user device, and an auditing device that audits the authenticity of the certificate are interconnected via a communication network
  • An order proof audit method in which the proof device receives a first proof request from the user device and a proof device receiving step from the digital information included in the first proof request in advance.
  • a sequential allocation data calculation step for creating sequential allocation data according to a predetermined procedure, and the certification device In a sequential aggregation tree in which one aggregation tree is generated at regular time intervals by sequentially assigning from left to left, a predetermined concatenation value is obtained by concatenating each assigned value assigned to multiple children having the same parent.
  • a route value to be assigned to the root of the aggregated tree sequentially after the fixed time interval is calculated by a calculation method in which a result value obtained by applying a one-way function with difficulty of collision is used as the parent assigned value.
  • the order of calculating the certification request, the certification device, the sequential allocation data, and the sequential A certificate creating step for creating a first certificate including a sequential aggregation tree to which allocation data is allocated and first sequential aggregation tree specifying information for specifying a leaf of the sequential aggregation tree; and A certificate transmission step of transmitting the certificate of the first authentication request to the user device, and defining a leaf of the sequential aggregation tree to which the first certification request is assigned as a registration point, Information related to a node necessary for calculating a value is defined as supplementary information of the first certificate, and the first certification request can be acquired at the time of assigning the first certification request to the sequential aggregation tree.
  • the complementary information is defined as immediate complementary information
  • the certification device assigns a plurality of audit requests to the sequential aggregation tree.
  • a plurality of audit certificates are created by the same creation method as the first certificate, and the immediate supplementary information for audit at the time when each audit request is assigned to the sequential aggregation tree is sequentially aggregated.
  • An audit certificate creation step which is obtained from the tree and included in each audit certificate, an audit certificate transmission step in which the certification device transmits the plurality of audit certificates to the audit device, and the certification A complementary information request reception step in which a device receives a request for complementary information of the first certificate from the user device after transmitting the first certificate; and the verification device requests the complementary information.
  • a delay complement information creating step as delay complement information, a delay complement information transmitting step in which the certification device transmits the delay complement information of the first certificate to the user device, and the auditing device includes: An audit certificate receiving step for receiving the plurality of audit certificates from a certification device; and the audit device receives the delay information of the first certificate and the first certificate from the user device.
  • An audit request receiving step for receiving an audit request for the first certificate, and a first audit request for the first certificate from the plurality of audit certificates.
  • the second sequential collection tree specifying information, the audit certificate whose time order generated from the first certificate is later and the time order generated from the delay complement information is earlier Select the first audit certificate Certificate selection step and the auditing device selects the audit certificate selected in the first audit certificate selection step for a specific node of the sequential aggregation tree.
  • the validity of the first certificate is audited based on verification of whether or not the assigned value of the included node matches the assigned value of the node calculated from the audit request for the first certificate.
  • the first certificate certifying the first certificate proof request acceptance time and the audit certificate acceptance time of the audit certificate selected in the first audit certificate selection step.
  • a certification request is made to prove the relative time at which a certain event is generated, that is, the temporal order, and a certificate is created.
  • An event sequence verification device for creating the certificate which is mutually connected via a communication network to a user device that prompts authentication and an auditing device that audits the authenticity of the certificate, from the user device
  • Order certification request receiving means for receiving a certification request, digital information power included in the certification request, sequential allocation data calculating means for sequentially creating allocation data according to a predetermined procedure, and a series of sequential allocation data in time order
  • a sequential aggregate tree in which a single aggregate tree is generated at regular time intervals by sequentially assigning a left force to the leaves of a mushroom tree, those assigned to multiple children having the same parent.
  • Order proof request aggregating means for calculating a route value assigned to the root of the sequential aggregation tree after a predetermined time interval, the sequential allocation data, the sequential aggregation tree to which the sequential allocation data is allocated, and the sequential aggregation tree
  • a certificate creating means for creating a certificate including first sequential aggregate tree specifying information for identifying a leaf, a certificate sending means for sending the certificate to the user device, and the certification request.
  • the leaf of the sequential aggregation tree is defined as a registration point, and the information related to the node necessary to calculate the root value of the sequential aggregation tree is defined as supplementary information of the certificate.
  • the completion information that can be acquired when the certification request is assigned to the sequential aggregation tree is defined as immediate supplementation information
  • the first audit request is assigned to the sequential aggregation tree after the certification request is assigned to the sequential aggregation tree.
  • Sequentially assign to the aggregation tree create the first audit certificate by the same creation method as the certificate, and the first audit request in the order.
  • the immediately complementary information for the first audit at the time of assignment to the next aggregation tree is acquired from the sequential aggregation tree and included in the first audit certificate.
  • An audit certificate transmitting means for transmitting a certificate to the audit device, and receiving a request for supplementary information of the certificate from the user device after assigning the first audit request to the sequential aggregation tree.
  • the supplementary information request receiving means, the second sequential aggregate tree specifying information for specifying the sequential aggregate tree to which the request for the supplemental information is assigned and the leaf of the sequential aggregate tree, and the time when the request for the complementary information is assigned A delay complement information generating means for acquiring the complementary information that can be acquired in order and obtaining the delay complement information as delay complement information; delay complement information transmitting means for transmitting the delay complement information of the certificate to the user device; , Characterized in that it has.
  • At least one user who makes a certification request to prove the relative time at which an event is generated, that is, the temporal order, in a time series of events that generate predetermined digital information.
  • An event sequence proof audit device that is connected to a certification device that creates a certificate in response to a certification request from a user device via a communication network and audits the authenticity of the certificate.
  • a sequential proof request receiving means for receiving a first proof request from the user device, and sequential allocation data for sequentially generating allocation data according to a predetermined procedure from digital information included in the first proof request.
  • Sequential aggregation tree in which one aggregation tree is generated at regular time intervals by assigning left force sequentially to a leaf of a directed tree in time order by a calculation means and a series of sequential allocation data
  • a result value obtained by applying a predetermined difficulty one-way function to a concatenated value obtained by concatenating respective assigned values assigned to a plurality of children having the same parent is used as the parent assigned value.
  • Information regarding the necessary nodes is defined as supplementary information for the first certificate, and among the supplementary information, the supplementary information that can be acquired at the time when the first certification request is assigned to the sequential aggregation tree is immediately supplemented.
  • the plurality of audit requests are assigned to the sequential aggregation tree, a plurality of audit certificates are created by the same creation method as the first certificate, and the plurality of audit requests are aggregated sequentially.
  • the immediate complementary information for audit at the time of assignment to the tree is acquired from the sequential aggregation tree, and the audit certificate creating means included in each audit certificate and the plurality of audit certificates are transmitted to the audit device.
  • Discount Second sequential aggregate tree specifying information for identifying the assigned sequential aggregate tree and leaves of the sequential aggregate tree, and complementary information that can be acquired at the time when the request for the supplement information is allocated
  • An audit certificate receiving means for receiving the plurality of audit certificates from a certification device, and an audit request for the first certificate including the first certificate and the delay complement information from the user device.
  • the first certificate is received.
  • First audit certificate selection means for selecting a supervisory certificate generated in the temporal order from the delay complement information, and the first node for the specific node of the sequential aggregation tree.
  • each step of the above-described event order proof method includes the proof device. It is to provide an event order certification program to be executed by a device.
  • a sixth aspect of the present invention is to provide an event order proof audit program that causes the monitoring apparatus to execute each step of the event order proof audit method described above.
  • a seventh aspect of the present invention in the time series of events for generating predetermined digital information, at least one request for certifying a relative time at which a certain event is generated, that is, a temporal order, is made.
  • Event sequence proof in which two user devices, a certification device that creates a certificate in response to a certification request from a user device, and an auditing device that audits the authenticity of the certificate are connected to each other via a communication network
  • An event order proof verification program for the user device in a verification system wherein the proof device receives a first proof request receiving means for receiving a first proof request for the user device power, and the first proof request receiving means.
  • a sequential allocation data calculation means for sequentially creating allocation data from digital information included in the certification request according to a predetermined procedure;
  • the sequential aggregation tree one allocation tree is generated at regular time intervals by sequentially assigning the left force to the specified value.
  • Order verification request aggregating means for calculating the sequential allocation data, the sequential allocation data, the sequential aggregation tree to which the sequential allocation data is allocated, and the first sequential aggregation tree specifying information for specifying the leaves of the sequential aggregation tree.
  • the leaf of the sequential aggregation tree is defined as a registration point, and the information regarding the node necessary to calculate the root value of the sequential aggregation tree is defined as the supplementary information of the first certificate.
  • complementary information that can be obtained at the time of assigning the first certification request to the sequential aggregation tree is defined as immediate supplementary information
  • a plurality of audit requests are allocated to the sequential aggregation tree, and the first A plurality of audit certificates are created by the same creation method as the certificate, and immediate complementary information for each audit at the time when the plurality of audit requests are assigned to the sequential aggregation tree is provided in the sequential aggregation tree.
  • a complementary information request receiving means for receiving a request for complementary information of the first certificate from a device; a second aggregate for identifying the sequential aggregation tree to which the request for the complementary information is assigned and a leaf of the sequential aggregation tree; Sequential aggregated tree identification information, and supplementary information that can be acquired at the time when the request for supplementary information is allocated.
  • a delay compensation information transmitting means for transmitting the delay compensation information to the user device, wherein the audit device receives the plurality of audit certificates from the certification device.
  • An audit request receiving means for receiving an audit request for the first certificate including the first certificate and the delay complement information, and the first certificate from the plurality of audit certificates. Based on the first and second sequential aggregation tree identification information of the audit request for the first certificate, the temporal order generated from the first certificate is later, and the temporal order generated from the delay complement information is earlier.
  • a first audit certificate selecting means for selecting a certain audit certificate, and an audit certificate selected by the first audit certificate selecting means for a specific node of the sequential aggregation tree; Audit the legitimacy of the first certificate based on verification of whether or not the assigned value of the included node and the audit request power for the first certificate match the calculated assigned value of the node And the reception time and previous time of the certification request for the first certificate.
  • the first certificate auditing means for certifying the order of the reception time of the audit request for the audit certificate selected by the first audit certificate selecting means, and the audit result of the first certificate
  • An audit result transmitting means for transmitting to the user device; and a sequence certificate request transmitting step for transmitting the first certificate request to the certificate device; and receiving the first certificate from the certificate device
  • the user apparatus executes a complementary information receiving step, an audit request transmitting step for transmitting the audit request to the audit apparatus, and an audit result receiving step for receiving the audit result of the first certificate. That features To.
  • the first and second requests for certifying the relative time at which a certain event is generated, that is, the temporal order are made.
  • the certificate is valid for a computer connected to each other via a communication network with a user device and an event sequence certification device that creates multiple certificates for multiple certification requests for each user device.
  • An event order proof verification program for verifying the authenticity, wherein the event order proof device includes order proof request receiving means for receiving a plurality of proof requests from the first and second user devices, and each proof request.
  • Sequential allocation data calculation means for sequentially creating allocation data from the included digital information according to a predetermined procedure, and a series of sequential allocation data are sequentially allocated to the leaves of the directed tree in order of time
  • a sequential aggregate tree in which one aggregate tree is generated at regular time intervals, a predetermined collision-resistant one-way function is added to the concatenated value obtained by concatenating each assigned value assigned to a plurality of children having the same parent.
  • a request aggregation means a sequential aggregation tree storage means for storing information about the sequential aggregation tree generated by the order proof request aggregation means, and the sequential aggregation tree to which each proof requesting power created sequential allocation data is assigned.
  • the leaf is defined as a registration point
  • the information related to the node necessary for calculating the root value of the sequential aggregation tree is defined as the complementary information of the registration point. That is, when the sequential allocation data is allocated to the sequential aggregation tree, the complementary information that can be acquired immediately is supplementary information, and the complementary information that can be acquired after the time when the sequential allocation data is allocated to the sequential aggregation tree.
  • delay complement information Is defined as the delay complement information
  • delay complement information of the leaf al determined when the assignment processing of the leaf a2 positioned to the right of the leaf a beam is completed is called delay complement information of the leaf al in the leaf a2.
  • the leaf of the sequential aggregation tree to which the latest sequential allocation data created with the latest required power is allocated is set as a new registration point, information on registration points of the plurality of certification requests is stored for each user device.
  • a certificate creation means for creating a certificate for the new registration point by combining delay complement information at the new registration point of all past registration points of each user device, and a plurality of the created Certificate transmitting means for transmitting a certificate to the user device, and each user device transmits a plurality of certification requests to the event order proof device, and the event order proof device.
  • a certificate receiving unit that receives the plurality of certificates for the plurality of certification requests, a certificate storage unit that stores the plurality of received certificates, and a plurality of the received and stored certificates, A verification request transmitting means for transmitting a verification target certificate to a computer for verification; and a verification result receiving means for receiving a verification result for the verification target certificate from the computer, A certificate receiving service that receives one verification certificate from each of the first and second user devices, or receives two verification target certificates from the first user device. Based on the step and the sequential aggregation tree identification information of the received two certificates, the first certificate is determined to be the first certificate issued in the order of issue.
  • the sequential aggregation tree specifying information of the second certificate is sent to the user device that has transmitted the first certificate.
  • the verification result transmission step of transmitting to the first or second user device is executed by the computer.
  • the first and second requests for certifying the relative time at which a certain event is generated, that is, the temporal order are made.
  • a user device and an event sequence proof device that creates multiple certificates in response to multiple proof requests for each user device power are connected to each other via a communication network.
  • sequential allocation data calculating means for sequentially creating allocation data according to a predetermined procedure from digital information included in each certification request, and a series of sequential allocation data are sequentially allocated to the leaves of the directed tree in order of time
  • a sequential aggregate tree in which one aggregate tree is generated at regular time intervals, a predetermined collision-resistant one-way function is added to the concatenated value obtained by concatenating each assigned value assigned to a plurality of children having the same parent.
  • the calculated allocation value of the node is calculated by the calculation method using the applied result value as the allocation value of the parent, and the sequential collection is performed after the fixed time interval.
  • Order certification request aggregation means for calculating a route value to be assigned to the root of the tree
  • sequential aggregation tree storage means for storing information on the sequential aggregation tree generated by the order certification request aggregation means, and each certification requirement power
  • the leaf of the sequential aggregation tree to which the sequential allocation data is assigned is defined as a registration point, and the registration point information is used to calculate the root value of the sequential aggregation tree.
  • the supplementary information that can be acquired immediately after the assignment of the sequential allocation data to the sequential aggregation tree is assigned immediately, and the sequential allocation data is allocated to the sequential aggregation tree.
  • Complementary information that can be acquired after that time is defined as delayed supplemental information
  • the delayed supplemental information of the leaf al that is determined when the assignment processing of leaf a2 located on the right of leaf a beam is completed Is the delay complement information in the leaf a2 of the leaf al, and if the leaf of the sequential aggregation tree to which the latest sequential allocation data created as described above is assigned as a new registration point, the user device
  • a registration point storage means for storing information on the immediately preceding registration point for each, a sequential allocation data of the new registration points, and a sequential aggregation tree to which the sequential allocation data is assigned from the information stored by each storage means
  • sequential aggregation tree specifying information for identifying the leaf of the sequential aggregation tree, immediate supplement information of a new registration point, and delay supplement information at the new registration point of the previous registration point of the user device.
  • a certificate creation means for creating a certificate for the new registration point and a certificate response transmission means for sending the created certification response to the user device Among the registration points, the registration point assigned to the rightmost in the sequential aggregation tree is defined as a provisional termination point. Then, calculating all the supplementary information that can be acquired for a predetermined registration point at the time when the allocation process of the provisional terminal point is completed is defined as incremental perfection for the certificate of the predetermined registration point.
  • Each user apparatus transmits a plurality of certification requests to the event order certification apparatus, and receives a plurality of certificates for the plurality of certification requests from the event order certification apparatus.
  • Perfection means for storing the plurality of received certificates, and the incremental complete processing for the certificate to be verified among the plurality of received and stored certificates.
  • Perfection means verification request transmission means for transmitting a verification request for verifying the incrementally complete certificate to the computer
  • the computer Verification result receiving means for receiving a verification result for the verification target certificate, and receiving verification target certificates one by one from the first and second user devices, or Based on the certificate reception step for receiving two certificates to be verified from the first user device and the sequential aggregation tree specifying information of the two certificates received, the certificate is issued out of the two certificates.
  • the first certificate is sent when the first certificate is a certificate determined to be earlier in time and the second certificate is a certificate determined later.
  • Receiving delay compensation information at the registration point since the second certificate was issued Calculated from the delay complement information receiving step, the assigned value of the node included in the second certificate, the first certificate, and the delay complement information for the specific node of the sequential aggregation tree.
  • the validity of each certificate and the registration point of the first certificate are earlier in time than the registration point of the second certificate based on verification of whether the assigned values of the nodes match.
  • a tenth aspect of the present invention is to provide a computer-readable event time verification program that verifies the time attached to the certification request by a user device that executes the event order certification verification program.
  • FIG. 1 is a diagram for explaining the concept of an event order proof system.
  • FIG. 2 is a diagram for explaining the concept of an event order proof system using linear linking.
  • FIG. 3 is a system configuration diagram of the event order certification system according to the first embodiment of the present invention.
  • FIG. 4 is another system configuration diagram of the event order certification system according to the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining the configuration of a sequential aggregation tree used in the present invention.
  • FIG. 6 is a diagram for explaining the configuration of an event order acceptance certificate according to the present invention.
  • FIG. 7 is a diagram for explaining a certification path for a sequential aggregation tree used in the present invention.
  • FIG. 8 is a sequence diagram for explaining an event order proof method of the event order proof system according to the first embodiment of the present invention.
  • FIG. 9 is a sequence diagram for explaining an event order certification verification method of the event order certification system according to the first embodiment of the present invention.
  • FIG. 10 is a sequence diagram for explaining the event order proof verification method of the event order proof system according to the first embodiment of the present invention.
  • FIG. 11 is a diagram for explaining the relationship between user points and audit points in the event order certification system according to the first embodiment of the present invention.
  • FIG. 12 is a diagram for explaining the event order proof verification result of the event order proof system according to the first embodiment of the present invention.
  • FIG. 13 is a system configuration diagram of an event order certification system according to the second embodiment of the present invention.
  • FIG. 14 is a diagram for explaining the relationship between user points and audit points in the event order certification system according to the second embodiment of the present invention.
  • FIG. 15 is a sequence diagram for explaining an event order proof method of the event order proof system according to the second embodiment of the present invention.
  • FIG. 16 is a diagram of an event order proof system according to the second embodiment of the present invention.
  • FIG. 5 is a sequence diagram for explaining a current order certification verification method.
  • FIG. 17 is a flowchart illustrating an operation of determining the order between two users in the event order certification system according to the second exemplary embodiment of the present invention.
  • FIG. 18 is a flowchart explaining an operation of route value verification by composite completeness of the event order certification system according to the second exemplary embodiment of the present invention.
  • FIG. 19 is a diagram for explaining complementary data completeness of the event order certification system according to the second embodiment of the present invention.
  • FIG. 20 is a diagram for explaining complementary data completeness of the event order proof system according to the second embodiment of the present invention.
  • FIG. 21 is a system configuration diagram of an event order certification system according to the third embodiment of the present invention.
  • FIG. 22 is a sequence diagram for explaining an event order proof request step of the event order proof method of the event order proof system according to the third embodiment of the present invention.
  • FIG. 23 is a sequence diagram for explaining an event order proof request step of the event order proof method of the event order proof system according to the third embodiment of the present invention.
  • FIG. 24 is a sequence diagram for explaining an audit acceptance certificate receiving step of the event order certification method of the event order certification system according to the third embodiment of the present invention.
  • FIG. 25 is a sequence diagram illustrating an interval time certificate step of the event order certification verification method of the event order certification system according to the third embodiment of the present invention.
  • FIG. 26 is a diagram for explaining a method for constructing a dynamic sequential aggregation tree in which the difference in depth is kept within one and no dummy node is created.
  • FIG. 27 is a diagram for explaining an algorithm of a method for constructing an aggregate tree sequentially.
  • FIG. 28 is a diagram for explaining an algorithm of a method for constructing an aggregate tree sequentially.
  • FIG. 29 is a diagram for explaining a method of sequentially constructing an aggregate tree.
  • FIG. 30 shows values for each node in the method of incrementally constructing an aggregate tree. It is a figure explaining the timing which allocates.
  • FIG. 31 is a diagram for explaining that the assigned value of the certification point is included in the supplementary data in the acceptance certificate of the audit point.
  • FIG. 32 is a diagram for explaining that a certification path node lower than the level of the certification point is included in the delay complement data or the supplement data in the acceptance certificate.
  • FIG. 33 is a diagram for explaining that a certification path node lower than the level of the certification point is included in the delay supplement data or the supplement data in the acceptance certificate.
  • FIG. 34 is a system configuration diagram of an event order certification system according to the fourth embodiment of the present invention.
  • FIG. 35 is a diagram for explaining the configuration of a sequential aggregation tree used in the event order certification system according to the fourth embodiment of the present invention.
  • FIG. 36 is a diagram showing a configuration of an event order acceptance certificate of the event order certification system according to the fourth embodiment of the present invention.
  • FIG. 37 is a diagram illustrating each registration point and its complementary data in the event order certification system according to the fourth embodiment of the present invention.
  • FIG. 38 is a diagram for explaining a method for determining an event order in a user apparatus of an event order certification system according to the fourth embodiment of the present invention.
  • FIG. 39 is a sequence diagram for explaining the operation of the event order proof method of the event order proof system according to the fourth embodiment of the present invention.
  • FIG. 40 is a sequence diagram for explaining the operation of the event order proof verification method of the event order proof system according to the fourth embodiment of the present invention.
  • FIG. 41 is a sequence diagram for explaining the operation of the event order proof verification method of the event order proof system according to the fourth embodiment of the present invention.
  • FIG. 42 is a system configuration diagram of an event order certification system according to the fifth embodiment of the present invention.
  • FIG. 43 is a diagram showing a configuration of an event order acceptance certificate of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 44 shows an event sequence proof system according to a fifth embodiment of the present invention. It is a figure explaining the perfection spreading process.
  • FIG. 45 shows the proof response power of the chain completion method and the proof response of the sequence completion method in the event order proof system according to the fifth embodiment of the present invention by using perfect spillover processing. It is a figure which shows that it can calculate.
  • FIG. 46 is a diagram for explaining a first chain completion method in the event order proof system according to the fifth embodiment of the present invention.
  • FIG. 47 is a flowchart for explaining the operation of creating a proof response by the first chain completion method in the event order proof system according to the fifth embodiment of the present invention.
  • FIG. 48 is a diagram for explaining a second chain completion method in the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 49 is a flowchart for explaining the operation of creating a proof response by the second chain completion method in the event order proof system according to the fifth embodiment of the present invention.
  • FIG. 50 is an example of a data structure in the second chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 51 is a flowchart for explaining an example of a calculation procedure of immediate complement data and delay complement data in the chain complement method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 52 is a flowchart for explaining an example of the node value calculation order in the chain complementing method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 53 is a flowchart for explaining an example of a delay data setting procedure in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 54 is a flowchart for explaining an example of a sequential aggregation tree switching process in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 55 is a flowchart for explaining an example of a subroutine of switching process of “end of sequential aggregation tree” in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 56 is a flowchart for explaining an example of a subroutine of sequential aggregation tree switching processing in the chain completion method of the event order certification system according to the fifth embodiment of the present invention. It is a chart.
  • FIG. 57 is a diagram for specifically explaining the processing of FIG. 55.
  • FIG. 58 is a diagram for explaining a sequential aggregation forest and a sequential aggregation tree.
  • FIG. 59 is a diagram for explaining a sequential aggregation forest and a current sequential aggregation tree.
  • FIG. 60 is a flowchart for explaining the operation of incremental complete individualization in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 61 is a diagram for specifically explaining the processing of FIG. 60.
  • FIG. 62 is a flowchart for explaining an example of a calculation procedure of incrementally complete tree decision of incremental complete individualization in the chain completion method of the event order proof system according to the fifth embodiment of the present invention.
  • FIG. 63 is a flowchart for explaining an example of a calculation procedure for determining an acquisition reference point for incremental individual perfectness in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 64 is an example of a data structure for storing chain completion data of incremental individual perfection in the chain completion system of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 65 is a diagram for explaining an algorithm of incremental individual perfection in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 66 is a flowchart for explaining an example of the calculation procedure of the assigned value of the authentication path node of the incremental individual perfection in the chain completion method of the event order certification system according to the fifth embodiment of the present invention. is there.
  • FIG. 67 is a flowchart for explaining an example of a procedure for calculating each assigned value of the authentication path node of the incremental individual perfection in the chain completion method of the event order certification system according to the fifth embodiment of the present invention. is there.
  • FIG. 68 is a flowchart for explaining an example of an incremental batch individualization procedure in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 69 is a diagram for explaining the grounds for incremental batch individualization in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 70 is a diagram for explaining the basis of incremental batch individualization in the chain completion method of the event order certification system according to the fifth embodiment of the present invention.
  • FIG. 71 illustrates incremental completeness (a method in which a part is stored in a memory and executed in a multistage manner) in the chain completion method of the event order proof system according to the fifth embodiment of the present invention. It is a figure to do.
  • FIG. 72 illustrates an incremental perfection (a method in which a part is stored in memory and executed in a multistage manner) in the chain completion method of the event order proof system according to the fifth embodiment of the present invention. It is a figure to do.
  • FIG. 73 illustrates an incremental completeness (a method in which a part is stored in a memory and executed in a multistage manner) in the chain completion method of the event order proof system according to the fifth embodiment of the present invention. It is a figure to do.
  • FIG. 74 illustrates an incremental perfection (a method in which a part is stored in memory and executed in a multistage manner) in the chain completion method of the event order proof system according to the fifth embodiment of the present invention. It is a figure to do.
  • FIG. 75 illustrates an incremental completeness (a method in which a part is stored in a memory and executed in a multistage manner) in the chain completion method of the event order proof system according to the fifth embodiment of the present invention. It is a figure to do.
  • FIG. 76 is a flowchart showing a method for calculating a root value of a sequential aggregation tree based on fully authenticated path data.
  • FIG. 77 is a diagram for explaining a sequential aggregation tree when a root value of a sequential aggregation tree at a previous aggregation interval is taken as one leaf of a sequential aggregation tree at a certain aggregation interval.
  • FIG. 78 is a diagram for explaining a sequential aggregation tree when a root value of a sequential aggregation tree at a previous aggregation interval is taken as one leaf of a sequential aggregation tree at a certain aggregation interval.
  • FIG. 80 is a diagram for explaining that the assigned value of the authentication point is included in the supplementary data in the acceptance certificate of the audit point.
  • FIG. 81 is a diagram for explaining that the assigned value of the authentication point is included in the supplementary data in the acceptance certificate of the audit point.
  • FIG. 82 is a diagram for explaining that authentication path nodes lower than the level of the authentication point are included in the delay complement data or the supplement data in the acceptance certificate.
  • FIG. 83 is a diagram for explaining that authentication path nodes lower than the level of the authentication point are included in the delay complement data or the supplement data in the acceptance certificate.
  • FIG. 84 is a diagram for explaining that an authentication path node lower than the level of the authentication point is included in the delay supplement data or the supplement data in the acceptance certificate.
  • FIG. 85 is a diagram for explaining that certification path nodes lower than the level of the certification point are included in the delay complement data or the supplement data in the acceptance certificate.
  • FIG. 3 is a system configuration diagram of the event order certification system 100 according to the first embodiment of the present invention.
  • a proof device an event order proof device
  • user devices event order proof user devices
  • auditing device 3 Event sequence certification auditing device 3 that audits the event sequence acceptance certificate issued by certification device 1 (hereinafter referred to as acceptance certificate), and the above devices are interconnected.
  • the certifying device 1 responds to an event order proof request (hereinafter referred to as proof request) from the user device 2 and accepts the proof. Is issued and returned to the user device 2i, and if there is any doubt about the acceptance certificate, the user device 2i will receive the acceptance certificate based on the data published by the certification device 1 or the audit result by the audit device 3. You will be able to verify your letter!
  • proof request an event order proof request
  • the system configuration of the event order certification system 100 is the same as long as the functions are the same. There is no limitation, and various physical configurations can be considered.
  • an event order proof user verification device hereinafter referred to as user verification device 6i may verify the acceptance certificate.
  • the electronic information publication device 5 may receive the publication data from the certification device 1 and make it public.
  • the computer network 4 can be replaced with other communication means such as mail.
  • the certification device 1 is a digital data transmitted as a certification request from the user device 2i, a transmission / reception unit 11 that transmits and receives data to and from the user device 2i and the auditing device 3 via the computer network 4.
  • Event order proof request aggregating unit 12 that uses a consolidated tree sequentially, event order proof creating unit 13 for creating a reception certificate, audit information creating unit 14 for creating audit information to be sent to the auditing device 3, and user device Complementary data acquisition unit 15 that acquires supplementary data in response to a request for supplementary data from 2i, and a high-strength digital signature for data that concatenates the contents of multiple acceptance certificates issued by certification device 1 over a certain period
  • Stores digital signature creation unit 16 electronic information publication unit 17 that electronically publishes high-strength digitally signed data, and information related to event sequence certification including acceptance certificates
  • the storage unit 18 is provided.
  • the event order proof request aggregating unit 12 collects the event order proof requests using the sequential aggregation tree.
  • the sequential aggregation tree will be described with reference to FIG.
  • the sequential aggregation tree shown in FIG. 5 is an aggregation tree that is completed in a certain period (for example, a cycle in which the certification device 1 publishes the collected data, such as one week, hereinafter referred to as a sequential aggregation period).
  • Digital data included in the power certification request All or part of the data Digital data generated according to the predetermined sequential allocation data calculation procedure (this is called sequential allocation data; for example, digital data included in the certification request
  • the left-side force is assigned to the leaf sequentially over time.
  • the method of calculating the value assigned to each node (excluding leaves) in the sequential aggregation tree is as follows.
  • the assigned value of the parent of the sequential aggregation tree is obtained by concatenating the assigned value H 'of the left child and the assigned value H "of the right child (combination of bit strings and bit strings), and applying a predetermined collision-resistant one-way hash function h This is obtained by calculating the hash value, which is expressed as h (H, II H "). In this way, the upper level assigned value is calculated from the lower level assigned value.
  • the assigned value (root value) of the highest level (root) is obtained.
  • node of the level j and number (also called index) i of the aggregation tree is represented by (j, i) and the assigned value of node (j, i) is represented by V (j, 0).
  • route from V (0, 5) and its complementary data here V (0, 4), V (l, 3), V (2,0), V (3, l)
  • V (0, 5) is said to be linked to the root value by the hash function h.
  • aggregated supplementary data the supplementary data for V (0,5) in the sequential aggregation tree
  • L and R respectively represent the connection from the left and the connection from the right when connecting two digital data.
  • the event order proof creating unit 13 creates an acceptance certificate EOC (y) as shown in Fig. 6 and transmits it to the user apparatus 2i.
  • the acceptance certificate EOC (y) is assigned the digital data y sent from the user, the sequential allocation data z calculated from the digital data y by the sequential allocation data calculation procedure described above, and the sequential allocation data z.
  • Unique sequential aggregate tree Sequential aggregation tree number that can be specified in the sequence, sequential aggregation tree leaf number that can uniquely identify the sequential aggregation tree leaf to which the sequential allocation data z is allocated, and a part of the sequential aggregation complement data that can be acquired at that time (this is the immediate complement data) And u) It is configured to include HK. Of these, the immediate complement data HK can be omitted.
  • the event acceptance certificate EOC (y) is digitally signed using a private key (signature private key) of the public key cryptosystem key pair prepared in advance by the certification device 1. You may send it with a mark. In this case, the public key of the public key cryptosystem key pair is assumed to be accessible by the user device 2i using a public key encryption infrastructure.
  • the sequential aggregation complement data that can be acquired after the acceptance certificate EOC (y) is issued is referred to as delay complement data.
  • delay complement data In other words, at the stage where the acceptance certificate EOC (y) is created, only immediate complement data is transmitted to the user device 2i, and the delayed complement data is issued by the receipt certificate EOC (y). This is sent to the user device 2i when requested later.
  • the node assignment value V (2,0) the node assignment value V (0,4) is the force node assignment value V (1, 3)
  • the node assignment value V (3, 1) is delay complement data that can be acquired after the node (0, 15) is assigned.
  • V (0, i) is sometimes written as V (i) short for sequential aggregation tree leaf number i.
  • the supplement data acquisition unit 15 includes information on the time point (sequential aggregation tree number to which the request is assigned, sequential aggregation tree leaf number), At that time, it is fixed and! /, All the sequential aggregation and complement data (location information, assigned value) are returned to the user device 2i.
  • the complementary data CToken (t, t ') in another leaf t' located on the right side of the beam for one leaf t of the sequential aggregation tree is defined as follows.
  • the path from the leaf t to the root of the aggregate tree in turn is called the t root 'path, and is called an authentication path of a sequence of nodes that are siblings of nodes other than the root belonging to the t root' path.
  • auth PathD (t, tl)
  • authPathDV (t, tl)
  • authPathDV (t, t ') includes supplementary data CToken (t, t') including information that was not included in the acceptance certificate EOC (y). .
  • authPathDV (t, t ' ) Contains only information about the sequential aggregate tree SBT.
  • CToken (t, t ') is combined with the event acceptance certificate EOC (y) received at time t, which is sufficient to calculate the root value of the sequential aggregation tree in the sequential aggregation period. Contains information.
  • CToken (t, t4 ') is a set of al location information (0, 3) and its assigned value V (al) ((0, 3), V (al)), and A set of position information (2, 1) of a2 and its assigned value V (a2) ((2, 0), V (a2)) (((0, 3), V (al)), (( 2, 1), V (a2))].
  • complementary data that can calculate the root value of the sequential aggregation tree by combining with the assigned value of the sequential aggregation tree included in the acceptance certificate is defined as complete completion data of the acceptance certificate
  • Complementary data that can be used to calculate the root value of the sequential aggregation tree by combining the assigned value and the immediate supplementary data included in the acceptance certificate is called complete delay complemented data.
  • the audit information creation unit 14 sequentially obtains audit information from the aggregate tree and transmits it to the auditing apparatus 3. More specifically, the audit information is the audit point provided in the aggregate tree leaf in sequence.
  • the audit event sequence acceptance certificate (hereinafter referred to as audit acceptance certificate) is generated as defined below.
  • the audit point means a leaf of a sequential aggregation binary tree to which an audit event order certification request (hereinafter referred to as an audit certification request) from the audit apparatus 3 is assigned.
  • the audit point is equal to the leaf corresponding to the certification request (node (0, 5) in the specific example of FIG. 3) or the leaf on the right side (after time). ), Wherever it is.
  • the format of the audit acceptance certificate is the same as the acceptance certificate returned to the user apparatus 2i. It should be noted that the digital data y that is the basis for calculating the sequentially allocated data may have been sent from the audit device 3 to the certification device 1 as an audit certification request.
  • a digital document that is subject to event order certification in the supervisory acceptance certificate is created according to some predetermined procedure, and a predetermined hash is created for the digital document.
  • a method may be adopted in which the hash value, which is the result of applying the function, is used as digital data that is the basis for calculating the allocation data sequentially.
  • the user device 2i includes a transmission / reception unit 21 that transmits / receives data to / from the certification device 1 and the auditing device 3 via the computer network 4, an event sequence certification requesting unit 22 that performs certification request including predetermined digital data, Complementary data request part 23 that requests supplementary data for the acceptance certificate that can be obtained at the time of request, event order certification verification part 24 that verifies the reception certificate, and information related to event order certification including the acceptance certificate
  • the storage unit 25 is included.
  • the event order proof verification unit 24 has the following verification function for the acceptance certificate.
  • the sequentially assigned data included in the acceptance certificate is linked via the hash function to the published information that is issued with a high-strength digital signature from the proving device 1 to guarantee its authenticity.
  • the first verification function that verifies
  • the auditing device 3 receives the audit request for the acceptance certificate from the transmitting / receiving unit 31 and the user device 2i that transmit / receive data via the computer network 4, the certification device 1 and the user device 2 ⁇ Audit request information sent from user device 2i and self audit information Configuration that has an event order proof audit unit 32 that verifies the acceptance certificate using the, and returns the result to the user device 2i, and a storage unit 33 that stores the audit information including the audit acceptance certificate It is.
  • the function of the event order proof verification unit 32 will be described with reference to FIG.
  • the audit information received by the auditing device 3 at this time is V (3, 0) and V (l, 4).
  • the user device 2i transmits V (0, 5) and sequentially aggregated complementary data V (0, 4), V (l, 3), and V (2, 0) as audit request information. Is. This is immediately complemented when the user device 2i requests verification (that is, after the audit point (0, 10), which is later than when the acceptance certificate is issued (0, 5)).
  • V (l, 3) Since V (l, 3), which is not included in the data, can also be obtained from the certifying device 1, the user device obtains V (l, 3) from the certifying device 1 as delayed complement data. It is included in the audit request information. Then, the event order certification verification unit 32 matches the audit information V (3, 0) possessed by the event order certification verification unit 32 with the V (3, 0) calculated from the audit request information transmitted from the user device 2i. This is to verify whether or not it is correct.
  • the sequential aggregation tree leaf to which the sequential allocation data created from the certification request transmitted from the user apparatus 2i is allocated is referred to as a user point, and is used for auditing transmitted from the auditing apparatus 3.
  • the sequential aggregation tree leaf assigned the sequential allocation data created by the certification requester is called the audit point.
  • the node of the sequential aggregation tree ((3, 0) in FIG. 5) to be compared and verified is hereinafter referred to as an authentication point.
  • the authentication point label (assigned value) is included in the audit information, and after the event order certification process at the audit point is completed. Since the label that can be calculated includes the label of the certification point, the user point, the audit point, and the point that requested the delay supplement data from the left in order in the aggregation tree are displayed from the left. The above verification is always feasible when it is in order, the reason for this will be explained later (refer to the item (3) of property 2 of the sequential aggregation tree described later).
  • the reader apparatus to which the certification request for the acceptance certificate is assigned.
  • the audit point of the auditing apparatus 3 needs to exist between ⁇ and the leaf ⁇ ′ (including ⁇ and ⁇ ′) to which the delay complement data request for the event acceptance certificate is assigned.
  • Each of the above devices includes a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a RAM (Random Access Memory) having a function of storing programs and data, and the like.
  • the main storage device memory
  • hard disk HD
  • other electronic devices that have a secondary storage device that can continue to store data even when the power is turned off.
  • the event sequence certification request aggregation unit 12, the event sequence certification creation unit 13, the audit information creation unit 14, the supplementary data acquisition unit 15, the digital signature creation unit 1 6 and the electronic information publication unit 17 of the certification device 1 are used.
  • the processing of the event sequence certification requesting unit 22, the supplementary data requesting unit 23 and the event sequence certification verification unit 24 of the user device 2i, and the event sequence certification auditing unit 32 of the auditing device 3 are specifically performed by the above CPU control processing function. It is nothing other than what is shown.
  • the storage unit 18 of the certification device 1, the storage unit 25 of the user device 2i, and the storage unit 33 of the auditing device 3 have the functions of the main storage device or the secondary storage device.
  • a program for executing various processes according to the present embodiment is stored in the above-described main storage device or secondary storage device.
  • This program can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, a DVD-ROM, or distributed via a communication network.
  • FIG. 8 is a sequence diagram for explaining the operation in which the certification device 1 creates the acceptance certificate and the audit acceptance certificate in one sequential aggregation period.
  • Fig. 9 shows the user device 2i in the acceptance certificate.
  • FIG. 10 is a flowchart for explaining the operation of performing the first verification on the certificate, and
  • FIG. 10 is a sequence diagram for explaining the operation of the user device performing the second verification on the acceptance certificate.
  • the event order proof request aggregating unit 12 sequentially calculates the allocation data z as a part or all of the digital 'data y', and sequentially allocates the sequential allocation data z to the aggregated tree leaf and incrementally. Consecutive aggregation trees are constructed, and the event order proof creation unit 13 creates a reception certificate EOC (y) and sends the reception certificate EOC (y) to the user device 2i via the transmission / reception unit 11. (Steps S30, S40, S50).
  • the user device 2i can obtain the acceptance certificate EOC (y) (step S60).
  • the acceptance certificate EOC (y) may include immediate supplementary data that can be acquired at this point, but it also includes delayed supplementary data.
  • the certification device 1 receives the auditing certification request via the transmission / reception unit 11 (steps S70 and S80).
  • the event order proof request aggregating unit 12 sequentially assigns the audit sequential allocation data calculated from the audit certification request to the aggregate tree leaf, and constructs the aggregate tree incrementally and performs the audit.
  • the information creation unit 13 creates an audit acceptance certificate and transmits the audit acceptance certificate to the auditing device 3 via the transmission / reception unit 11 (steps S90, S100, S110).
  • the auditing apparatus 3 can obtain an audit acceptance certificate (step S120).
  • the certifier apparatus 1 receives the delay complement data request via the transceiver unit 11 ( Step S130, S140).
  • the complementary data acquisition unit 15 of the certification device 1 acquires complementary data for the received certificate that can be acquired at that time, and the user device 2i via the transmission / reception unit 11 as delayed complementary data. (Steps S150 and S160).
  • the user apparatus 2i can acquire the delay complement data necessary for the audit (step S170).
  • the audit device 3 sends an audit information request to the certification device 1, and the certification device 1 sends audit information to the audit device 3 in response to this.
  • the verification device 1 may automatically transmit audit information to the audit device 3 instead.
  • the user device 2i sequentially collects the digital 'de-> ⁇ sent by itself as a certification request to the certification device 1, and the received acceptance certificate EOC (y) and the delay complement data.
  • the supplementary data (at this point all sequential aggregated supplementary data can be acquired) also calculates the root value RHcal of the aggregated tree sequentially (step S310).
  • Step S320 and S330 the root value RH of the same sequential aggregation period that is electronically published with a high-strength digital signature is obtained, and whether this root value RH matches the calculated root value RHcal or not.
  • step S340 if the verification is successful, it can be confirmed that the acceptance certificate has not been tampered with (step S340). On the other hand, if the verification fails, it can be confirmed that the acceptance certificate has been tampered with (step S350).
  • the acceptance certificate issued by the proving device 1 can be obtained using the published information.
  • the original digital data included in the acceptance certificate In the sequential aggregation period, the original digital data included in the acceptance certificate must have been issued in the order identified by the sequential aggregation tree leaf number included in the acceptance certificate. It can be verified reliably.
  • the user device 2i Prior to the audit request, the user device 2i requests the certification device 1 for the delay complement data of the acceptance certificate to be verified (step S410).
  • the certification device 1 receives this request via the transmission / reception unit 11, the supplementary data acquisition unit 15, when immediate supplementary data is included in the acceptance certificate, at this time, the delayed supplemental data that can be acquired.
  • step S420, S430, S440 If all the power is deducted from the immediate complement data, and if the receipt certificate does not include the immediate complement data, all of the delayed complement data that can be obtained at this point is obtained and the sending / receiving unit 11 Is transmitted to the user device 2i via the network (steps S420, S430, S440). As a result, the user device 2i obtains the supplementary data, and the event order certification verification unit 24 transmits the audit request information including the already received acceptance certificate to the audit device 3 (Step S450). , S460).
  • the event order certification auditing unit 32 leaves the sequential aggregation tree to which the audit acceptance certificate already received by itself is assigned.
  • the audit point OC between the sequential aggregation tree leaf to which the acceptance certificate included in the received audit request information is allocated and the leaf node 'included in the delay complement information is calculated (step S470, S480) o
  • an authentication point by ⁇ of ⁇ is calculated from the audit request information, and an assigned value Acal of the authentication point is calculated (step S490).
  • the event order verification unit 32 obtains the assigned value A of this authentication point, which has already been received as audit information, from the storage unit 33, and obtains the authentication point obtained by calculating the assigned value A force of this authentication point. It is verified whether or not it matches the assigned value Acal (steps S500 and S510).
  • step S520 if the verification is successful, it can be confirmed that the acceptance certificate has not been tampered with (step S520). On the other hand, if the verification fails, it can be confirmed that the acceptance certificate has been tampered with (step S530). Then, the event order certification auditing unit 32 transmits the audit result to the user device 2i via the transmission / reception unit 31, and the user device 2i receives the audit result (steps S540 and S550).
  • the user device 2i can receive the original certificate included in the acceptance certificate during the sequential aggregation period even before the publication through the electronic publication organization. It is possible to reliably verify that digital data are issued in the order identified by the sequential aggregate tree leaf number included in the acceptance certificate.
  • the audit result ⁇ may include an identifier of the audit point ⁇ .
  • User Equipment 2i guarantees that the registration of the certification request corresponding to the acceptance certificate that requested the audit was prior to the registration of the audit certification request corresponding to the audit point ⁇ . It can be reliably obtained from the audit device 3.
  • the signature including the supplementary data received by the auditing device 3 is digitally signed using the signature private key of the certification auditing device 3.
  • the verification result including the digital signature may be configured and transmitted to the user apparatus 2i.
  • the service start time of the event sequence certification system 100 is taken as the origin of the time, and one value (for example, 1 second, 1 millisecond, etc.) is set as a unit for measuring the time. It shall be expressed as an integer measured in units of time from the origin.
  • one node p writes the level and number of 1S node p identified by level j and number i in the level as level (P) and index (p), respectively.
  • the leaf of the sequential aggregation tree SBT identified by the sequential aggregation tree leaf number i is received as a proof request from which the allocation value is sequentially allocated to lea SBT, i), 1 eaKSBT, 0
  • a series of processes for assigning assigned values is called a processing round for the leaf, and is represented as round (SBT, i).
  • round (i) When it is clear from the context which sequential aggregation tree is being discussed, it may simply be written as lea i), round (i).
  • Identification numbers starting from 0 are assigned to the sequential aggregation trees in the order they are generated, and these are sequentially referred to as aggregation tree numbers.
  • N (n) be the number of the nth sequential aggregate tree leaf.
  • n and a sequential aggregate tree leaf number i are assigned.
  • the sequential aggregate tree leaf from which the acceptance certificate is issued can be specified by a pair of these two numbers.
  • Such a set is called an extended leaf identifier.
  • V 1 (nl, il)
  • lea v) leaKn, 0.
  • leaK v) is sometimes simply referred to as leaf v, and when lea v) is an audit point (or user point), it may also be referred to as audit point V (or user point V).
  • the time of the first audit point of the audit device 3 is smaller than T.
  • the user device 2i receives the delay complement data for the acceptance certificate at a certain sequential aggregation tree leaf ⁇ ′ after receiving the acceptance certificate at the sequential aggregation tree leaf as the extended leaf identifier.
  • the auditing device 3 receives the audit acceptance certificate at the audit point ⁇ of the auditing device 3 belonging to a certain sequential aggregation tree SBT as shown in FIG.
  • the audit acceptance certificate contains immediate supplementary data in a.
  • the assigned value V (t) of an arbitrary leaf ⁇ of the aggregate tree SBT that is to the left of ⁇ is combined in the following sense.
  • the assigned value V (p2) of the authentication point ⁇ 2 due to ⁇ of ⁇ is included in the above-mentioned immediate complement data, and the assigned value of this authentication point starts from V ( ⁇ ) and is assigned to several authPath ( ⁇ ) It can be calculated by linking the assigned value of the node with the hash function h (for the reason why this is true, see the item (1) of the property 2 of the sequential aggregation tree described later).
  • the auditing apparatus 3 determines that the user is the user depending on whether or not the V (p2) is included in the immediate complement data in the audit acceptance certificate received at the auditing point a.
  • the sending of the request that is the basis of the acceptance certificate acquired in step 1 above and the acceptance of the request by the certification device 1 must be made before the audit device 3 receives the audit point (audit acceptance certificate obtained at X). (This is assumed to be verification result 1. See Fig. 12).
  • the serializability of the proving device 1 means that when the proving device accepts and processes an arbitrary plurality of order certification requests, there is a certain ordering in which the plurality of requests are arranged in series. It is defined as the same result as when the acceptance certificate, which is the processing result for the response, is returned and then the next request is processed.
  • Serializability of the proving device is an important requirement.
  • it is assumed that there is a means for guaranteeing serializability.
  • a proof device accepts one order proof request, it uses a serial inspection device that transmits an acceptance proof for the request and monitors only the force to accept the next request.
  • the acceptance certificate EOC (a) to be sent is sent before the acceptance of the audit order certification request EOR ( ⁇ ) corresponding to ⁇ , and the event value count included in EOC (a) EOR ( ⁇ ) From the above, it is possible to serialize the certification device 1 until the audit device 3 receives the audit acceptance certificate obtained at the audit point ⁇ . It is presumed that the acceptance of the order certification request corresponding to the user point is earlier in time than the acceptance of the audit order certification request corresponding to the audit point O. This is called “future-side demarcation of user points”.
  • the proof device 1 that accepts the user device 2i force proof request, the digital data force included in the request is calculated and assigned sequentially.
  • the user device 2i can easily verify the acceptance certificate from the published information and supplementary data.
  • the audit apparatus 3 has audit information regarding the audit points of the sequential aggregation tree. Upon receipt of an audit request, the acceptance certificate can be audited.
  • FIG. 13 is a system configuration diagram of an event order certification system 200 according to the second embodiment of the present invention.
  • Event sequence certification auditing device (hereinafter referred to as auditing device) 8 that audits the event sequence acceptance certificate issued by 7 (hereinafter referred to as acceptance certificate) and the above devices are connected to each other.
  • certification request an event order certification request
  • the user equipment 2i shall return the acceptance certificate based on the data published by the certification equipment 7 or the audit result by the audit equipment 8. Now that you can verify!
  • the second embodiment has a system configuration almost the same as that of the first embodiment.
  • the force auditing device 8 acquires during the sequential aggregation period after the end of each sequential aggregation period. The difference is that the complete delay complement data for each audit acceptance certificate is requested from the certification device 7 (or based on a prior contract).
  • configurations and functions different from those of the first embodiment will be described, and other components and functions will be denoted by the same reference numerals and description thereof will be omitted.
  • the system configuration of the event order certification system 200 is not limited as long as the functions are the same.
  • the user verification device 6i shown in FIG. 4 may verify the acceptance certificate instead of the user device 2i, or the electronic information shown in FIG.
  • the announcement device 5 may receive the announcement data from the certification device 7 and make it public.
  • the computer network 4 can be replaced with other communication means such as mail.
  • the certification device 7 transmits / receives data to / from the user device 2i and the auditing device 8 via the computer network 4 and the data transmitted as a certification request from the user device 2i.
  • Event order proof request aggregating unit 12 that summarizes digital data sequentially using an aggregation tree
  • event sequence proof creating unit 13 that creates acceptance certificates
  • audit information creation unit 71 that creates audit information to be sent to the auditing device 8
  • Complementary data acquisition unit 15 that acquires supplementary data in response to a request for supplementary data from user device 2i, and high strength for data obtained by concatenating the contents of multiple acceptance certificates issued by certification device 7 over a certain period of time
  • Digital signature creation unit 16 for digital signature
  • electronic information publication unit 17 for electronically publishing high-strength digitally signed data
  • storage unit 7 2 for storing information related to event sequence certification including acceptance certificates It is the structure which has.
  • the audit information creation unit 71 obtains the audit acceptance certificate at each audit point from the consolidated tree in sequence, and acquires it in the sequential consolidated period after each sequential consolidated period. Completed supplementary delay data for each audit acceptance certificate is obtained and created.
  • the auditing device 8 sends a request for the complete delay compensation data for each audit acceptance certificate to the transmitting / receiving unit 31 and the certification device 7 that transmit and receive data to and from the certification device 7 and the user device 2i via the computer network 4.
  • the supplementary data requesting part 81 to be performed and a request to monitor the acceptance certificate from the user device 2i are received, the audit request information and the audit information transmitted from the user device 2i (in addition to the audit acceptance certificate) Including the complete delay complement data of the audit acceptance certificate) and verifying the acceptance certificate and returning the result to the user apparatus 2i, and the audit order acceptance certificate 82
  • the event sequence certification auditing unit 82 It has a function that can be used to verify “bordering”. This is due to the fact that a certain user point is to the left of a certain audit point (ie, that it is ahead in time) and that a certain user point is to the right of a certain audit point (ie, temporally). Can be audited later)
  • the auditing device 8 refers to the fact that the auditing device 8 acquires the complete delay complement data for each audit acceptance certificate acquired during the sequential aggregation period after the completion of each sequential aggregation period. It is said that complete completion.
  • the auditing apparatus 8 acquires complete delay complement data for the audit acceptance certificate received during the sequential aggregation period. By combining the immediate complement data included in the certificate and the delayed complement data, the auditing device 8 obtains the complete supplement data for the audit event acceptance certificate received during the sequential aggregation period.
  • T ⁇ time is satisfied at the user point by user device 2i. From the condition T ⁇ time ( ⁇ ), there is an audit point by the auditing device 8 that is to the left of ⁇ (that is, ahead in time) due to the above condition (1).
  • One such audit point is ⁇ 1.
  • ⁇ ⁇ may be the rightmost audit point that satisfies the above conditions. The audit is performed according to the following procedure.
  • the user device 2i sends the acceptance certificate (sequential aggregation tree leaf number, immediate complement data) acquired at the user point to the auditing device 8.
  • the auditing device 8 extracts the sequential aggregate tree leaf number included in the acceptance certificate sent from the user device 2i, identifies the sequential aggregate tree leaf corresponding to the acceptance certificate, and From the acquired acceptance certificates for audits, select the certificate corresponding to the sequential aggregate tree leaf located further to the left. From these audit acceptance certificates, the one with the corresponding sequential tree leaf leftmost may be selected. Let OC 1 be the sequential aggregate tree leaf corresponding to the audit acceptance certificate selected in this way.
  • the auditing device 8 Since the auditing device 8 performs complex complete complementation, the auditing device 8 acquires complete delay complemented data of the audit acceptance certificate corresponding to the audit point ⁇ 1.
  • the sequential aggregate tree leaf corresponding to the delay complement data is equal to or to the right of ⁇ (later in time).
  • the auditing device 8 calculates the assigned value of the authentication point ⁇ 2 for the user of the audit point ex 1 from the audit acceptance certificate corresponding to the audit point ⁇ 1 and the delay complement data for it be able to. [0113] (5) Therefore, the auditing device 8 adds the calculated auditing point (the user of X1) to the immediate complement data in the acceptance certificate corresponding to the sequential aggregation tree leaf received from the user device 2i. By verifying that the assigned value of the certification point is included, it can be audited that a 1 is located further to the left.
  • the first thing that can be said is that the certification request of the user device 2i corresponding to the time 1 when the certification request for audit of the auditing device 7 corresponding to the audit point ⁇ 1 is received by the certification device 7 is obtained. If the time 2 when the request is received by the proving device 7 and the time when the acceptance certificate for the request is also sent by the proving device 7 are t2 ′, then tl ⁇ t2 ′.
  • the serializability of the proving device 7 is guaranteed, that is, the serializability of the proving device 7 is guaranteed until the time point t2 ′.
  • t 1 ⁇ t2. From the above, when the possibility of serialization of the certification device 7 is estimated until the time when the certification device 7 transmits the acceptance certificate corresponding to the user point to the user device 2i, the audit device corresponding to the audit point ⁇ 1 It is presumed that the acceptance of the certification request is before the acceptance of the certification request of the user device 2i corresponding to the user point ⁇ .
  • Each of the above devices includes a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a RAM (Random Access Memory) having a function of storing programs and data, and the like.
  • the main storage device memory
  • hard disk (HD) hard disk
  • the processing of the audit information creation unit 71 of the certification device 7 and the supplementary data requesting unit 81 and the event order certification auditing unit 82 of the auditing device 8 are other than those specifically showing the arithmetic control function by the CPU. Don't be.
  • the storage unit 72 of the certification device 7 and the storage unit 83 of the monitoring device 8 have the functions of the main storage device or the secondary storage device.
  • the program for executing various processes according to the present embodiment is the main storage device described above. Or it is stored in a secondary storage device.
  • This program can be recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, MO, DVD-ROM, or distributed via a communication network.
  • FIG. 15 is a sequence diagram for explaining the operation in which the certification device 7 creates the event acceptance certificate and the supervisory acceptance certificate in one sequential aggregation period
  • Fig. 16 shows the user equipment 2 S.
  • FIG. 10 is a sequence diagram illustrating an operation for performing second verification on an event acceptance certificate.
  • the audit information creation unit 71 of the certification device 7 Upon completion of a certain period for the sequential aggregation, the audit information creation unit 71 of the certification device 7 responds to the complete delay complement data request from the monitoring device 8 with each audit issued within this aggregation period. Complete delay compensation data of the acceptance certificate for use is acquired and transmitted to the auditing device 8 (steps S810, S820, S830, S840).
  • the auditing device 8 receives the complete delay complement data of each audit acceptance certificate.
  • the audit device 8 sends a complete delay complement data request to the prove device 7, and in response, the prove device 7 sends the complete delay complement data to the audit device 8.
  • the certifying device 7 may automatically send complete delay complement data to the auditing device 8! / ⁇ .
  • FIG. 16 shows the operation of this new function.
  • the verification process related to “future-side boundary of user points” in the present embodiment is exactly the same as the operation of FIG. 10 shown in the first embodiment, so the description is omitted.
  • the verification process related to “Bounding of points on the past side” will be described.
  • the verification method corresponding to the first verification function of the user device 2i is the same as the verification method in the first embodiment, and thus description thereof is omitted.
  • the user device 2i transmits audit request information including an acceptance certificate to be audited (however, immediate supplementary data is included) to the auditing device 8 (steps S910, S920). .
  • the event sequence certification auditing unit 82 assigns an acceptance certificate included in the audit request information transmitted from the user device 2i. And the monitoring point ⁇ 1 located to the left of the leaf is determined (steps S930, S940) o and the audit acceptance certificate and the audit point ⁇ 1 Acquire complete delay complement data for the audit acceptance certificate (step S950)
  • the authentication point by the leaf of the audit point a 1 is calculated, and the assigned value Acal of the authentication point is calculated from the audit acceptance certificate of the audit point a 1 and the complete delay complement data of the audit acceptance certificate.
  • the event sequence certification auditing unit 82 obtains the assigned value A of this certification point and obtains this certification point It is verified whether or not it matches the assigned value Acal of the authentication point obtained by the calculation of the assigned value A force (steps S980 and S990).
  • step S995 if the verification is successful, it can be confirmed that the acceptance certificate has not been tampered with. On the other hand, if the verification fails, it can be confirmed that the acceptance certificate has been tampered with (step S1000). Then, the event-Ordering audit unit 82 sends this audit result to the user device 2i through the transmitting and receiving unit 31, the user device 2i receives the audit result (step S1010, S1020) o
  • the user device 2i is able to verify the The acceptance certificates issued by Device 7 are issued in the order identified by the sequential aggregation tree leaf number included in the acceptance certificate for the original digital data included in the acceptance certificate during the sequential aggregation period. It is possible to verify that it has been done, and to verify the pasting of user points. Note that the identifier of audit point a 1 may be included in the above audit results. In this case, the user device 2i guarantees that the registration of the certification request corresponding to the acceptance certificate that requested the above audit was after the registration of the certification request for audit corresponding to the audit point ⁇ 1. It can be reliably obtained from the audit device 8.
  • the certification device 7 receives the certification request for the acceptance certificate that is the subject of the audit from the reception of the certification request for the audit acceptance certificate used for the audit. Can prove later in time.
  • the auditing device 8 can also show the determination of the order between the two user points from the above-mentioned functions of “bordering the user points in the future” and “bordering the user points in the past”. Next, when the two user devices 2a and 2b obtain the acceptance certificates in the sequentially consolidated tree leaves ⁇ and ⁇ 1, respectively, the audit device 8 audits the context of 1 in the past. This will be described with reference to FIG. Here, FIG. 17 is a flowchart showing an operation in which the auditing device 8 audits the context of ⁇ and ⁇ 1.
  • each of the user devices 2a and 2b and the auditing device 8 satisfies the conditions (1) to (3) described in the description of “Bounding the future side of user points” in the first embodiment. Shall.
  • the auditing device 8 when the auditing device 8 receives an order determination request between the user points of each acceptance certificate from the user devices 2a and 2b, the auditing device 8 located at the right or equal to ⁇ The leftmost one is determined as ⁇ , and the leftmost audit point of the auditing device 8 equal to 1 or located on the right is determined as ⁇ (steps S1110, S1120, S1130).
  • step S1140 the time points before and after the audit point ⁇ and a 1 are compared. This is determined from the sequential aggregate tree number and sequential aggregate tree leaf number of the audit acceptance certificate at each audit point.
  • ⁇ 2 is the rightmost audit point of the auditing device 8 that is equal to ⁇ 1 or located on the left, then ⁇ ⁇ a 2 and “the future of the user point”
  • the method described in ⁇ Side Bounding '' shows ⁇ a and ⁇ 2 ⁇ ⁇ 1 is shown by the method described in ⁇ Bounding on the past side of user points '', so ⁇ ⁇ a ⁇ ⁇ 2 ⁇ 1 and ⁇ ⁇ 1 is derived.
  • step SI 180 when a 1 ⁇ , ⁇ ⁇ ⁇ is indicated (step SI 180).
  • the auditing device 8 can indicate that the user point ⁇ by the user device 2a is located to the left of the user point beam by the user device 2b (step S1170). ). Further, when n ⁇ nl, the auditing device 8 can indicate that the user point ⁇ by the user device 2a is located to the right of the user point 2 by the user device 2b (step S1170).
  • the auditing device 8 acquires complete delay complement data for each audit acceptance certificate acquired during that sequential aggregation period (combined complete complementation) and at the same time, Acceptance proof and its fully-complementary data power It is possible to calculate the root value of the aggregated tree sequentially and verify whether the calculated root value matches the published root value. This is called “route value verification by complex perfection” by the auditing device 8.
  • the auditing device 8 sequentially calculates the root value of the aggregate tree, and determines whether or not the power is the same as the route value published by the calculated route value power proving device 7.
  • the verification verifies that fraud by the proving device 7 has not been performed (steps S1210, S1220, S1230, S1240, S1250).
  • the auditing device 8 can verify the validity of the audit request information included in the audit request from the user device 2i by the function of “root value verification by composite completeness”.
  • the user device 2a changes the assigned value of the leaf (0, ⁇ ) from the original assigned value V (te) to the assigned value v 'and assigns it.
  • the user device 2a in order to allow a third party to accept this claim, the user device 2a must supplement the leaf (0, ⁇ ). Kv (0), LR (0)), (v (l), LR (D), ⁇ , (v (kl), LR (k-1)]
  • V (root (SVT)) can be calculated by combining v and this complementary data in a predetermined manner using the hash function h.
  • the assigned value ⁇ 2 'of the authentication point (p2 in Fig. 11) by the audit point a for the user point is also calculated.
  • ⁇ 2 ′ differs from the assigned value V (p2) of p2 sent to the auditing device 8 in round ( ⁇ ) due to the difficulty of collision of the hash function (except for a probability that can be ignored in practice).
  • the auditing device 8 starts V (a) force, and calculates V (root (SBT) by linking the assigned value of the node belonging to authPath (a) with the Matth function h.
  • V (p2) is one of the combined values, because ⁇ 2 ' ⁇ V (p2) (except for a practically negligible probability).
  • the validity of the root value of the sequential aggregation tree published by the electronic information publication organization is verified. can do.
  • the root value verification function of the auditing device 8 can be used to discriminate fraud even if there is a fraud in the V of the certification device 1 and the user device 2i.
  • the auditing device 8 can have a function of providing complete supplementary data to the user device 2i. Hereinafter, this is referred to as complementary data perfection. This functions effectively when the certification device 7 is interrupted due to a failure or the like. Further, even if the certification device 1 does not interrupt the service, it is useful for reducing the load on the certification device 7 when public data is released or when a large amount of supplementary data requests are generated at one time.
  • jl is the level of the authentication point by the audit point a of the user point u
  • the user A obtains the information of the node with a small level j beam among the authentication path information of the user point u
  • the auditing device 8 has acquired information on nodes that are at least jl and less than k. Where k is the height of the aggregated tree.
  • the disclosure interval is one week, and there is a daily inspection device 8 (an organization that obtains audit information at least once a day and obtains complete supplementary data for each audit point).
  • User device 2i acquires the acceptance certificate, and after one day or more has passed, by acquiring delay complement data, the information acquired by user device 2i and the information acquired by audit device 8 are combined. By combining them, it is possible to configure the complete supplement data of the acceptance certificate acquired by the user device 2i (according to the above property P1).
  • the auditing device 8i includes the above-mentioned one-day-level auditing device 8a (an organization that obtains audit information at least once a day and obtains complete complement data for each audit point) and the auditing device 8a-dependent one hour.
  • the auditing device 8b a device that obtains audit information at least once an hour and sets the delay complement data point of each audit point so that the audit point of the audit device 8a is sandwiched between them.
  • the user device 2i obtains the information acquired by the user device 2i and the audit device 8b by acquiring the delay complement data after one hour or more has passed.
  • the user device 2i obtains the information acquired by the user device 2i and the audit device 8b by acquiring the delay complement data after one hour or more has passed.
  • the above-mentioned conditions regarding the audit points of the audit devices 8a and 8b are, for example, that the one-hour class audit device 8b, which depends on the audit device 8a, has one or more days of delayed complement data for each of its audit points.
  • the daily audit point of the audit device 8a is For example, it may be possible to collect the supplementary data for the daily audit points after the end of the day.
  • two levels of the auditing device 8i are used.
  • FIG. 21 is a system configuration diagram of an event order certification system 300 according to the third embodiment of the present invention.
  • certification device an event sequence certification device
  • time information providing device 90 a plurality of time certification user devices
  • the user device (time proof device) 20i has a function of a time proof device for performing time proof in addition to the function of the user device 2i of the above embodiment, and the time proof from the user device 10j.
  • a time receipt certificate is issued and sent back to the user device 10j.
  • the certification request an event order certification request (hereinafter referred to as certification request) including the digest of the time receipt certificate to the certification device 1
  • the certification device 1 responds to the certification request.
  • the event order acceptance certificate (hereinafter referred to as the acceptance certificate) is issued and sent back to the user device 20i, and if there is any doubt about the acceptance certificate, the user device 20i Can verify the acceptance certificate based on the data published by the certification device 1 or the audit result by the auditing device 9, and the acceptance certificate and time acceptance certificate are associated with each other. It has become possible to obtain.
  • the system configuration of the event order certification system 300 is not limited as long as the functions are the same.
  • the user verification device (time proof device) 60 i may perform verification of the acceptance certificate.
  • the public information publication device 5 may receive the publication data from the certification device 1 and make it public.
  • the computer network 4 can be replaced with other communication means such as mail.
  • the time information providing device 90 retains accurate time information and provides time information to the user device (time certification device) 20i and the auditing device 9.
  • the user device 10j makes a time proof request including predetermined digital data to the user device (time proof device) 20i, and the time information is added from the user device (time proof device) 20i as a response. You will get a certificate of time acceptance.
  • User device (time certification device) 20i is a device in which the function of the user certification device 2i is added to the function of the user certification device 2i as described above.
  • the certification device 1 and the monitoring device are connected via the computer network 4.
  • Transmission / reception unit 21 that transmits / receives data to / from user device 10j and time information providing device 90, time certificate creation unit 201 that accepts time certification requests from user device 10j and creates time acceptance certificates, time acceptance certification Sequence request for certificate request including certificate digest, certificate request unit 202, complementary data request unit 23 for requesting supplementary data for currently accepted certificates, event sequence certificate verification unit 204 for verifying received certificates, acceptance
  • the storage unit 205 stores information related to event order certification including certificates and time certification including time acceptance certificates.
  • a user device that also serves as a time proof device is adopted as the event order proof user device.
  • the system configuration may be such that the user device (time certification device) 20i and the user device are mixed.
  • the time certificate creation unit 202 receives a time certificate request including predetermined digital data transmitted from the user device 10j, and the time information acquired from the time information providing device 90 as the digital data. A time receipt certificate with a mark is added.
  • the event order certification request unit 203 is a time acceptance certificate digest (user device (time certification device) 2) that is a hash value of the time acceptance certificate created in response to the time certification request from the user device 10j. (The result of applying the collision-resistant one-way hash function prepared in advance by M to the time acceptance certificate) is included in the event acceptance certification request.Therefore, user device (time certification device) 2 (M The acceptance certificate received from the certification device 1 has the configuration as shown in FIG. 6 and the force digital data y includes the time acceptance certificate digest as described above.
  • the auditing device 9 has a function as a time auditing device in addition to the function of the auditing device 3 of the first embodiment.
  • the user device 20i and the time information providing device 90 send / receive data to / from the transmission / reception unit 31 and the user device 20i. Use the audit request information and audit information to verify the acceptance certificate, and return the audit result to the user device 20i, the event sequence certification auditing unit 32, and the time acceptance certificate corresponding to the verified acceptance certificate.
  • a section time certificate preparation section 91 that creates a section time certificate that certifies the time section including the attached time
  • a storage section 92 that stores audit information including an audit acceptance certificate and section time certificate With the composition That.
  • an audit device that also serves as an event time audit device is adopted as the event order certification audit device.
  • an audit device that also serves as an event time audit device may exist.
  • a system configuration in which the audit device 9 and the audit device 3 are mixed may be used.
  • the section time certificate preparation unit 91 obtains the time when the audit acceptance certificate is received from the certification device 1 from the time information providing device 30, and attaches it to the section time certificate. . Therefore, in the present embodiment, the section time certificate created by the section time certificate creating unit 91 is given a time stamp at the future boundary. As described in the first embodiment, this is the event order proof verification using the audit device 3 (the second of the user device 2i). In this case, it can be proved that the leaf of the sequential aggregation tree to which the event acceptance certification request is assigned is temporally earlier than the leaf of the audit point. This time proof request reception proves that the auditing device 9 is earlier in time than the time when the auditing device 9 received the audit acceptance certificate.
  • this section time certificate in the present embodiment is referred to as “first type section time certificate”.
  • Each of the above devices includes a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a RAM (Random Access Memory) having a function of storing programs and data, and the like.
  • the main storage device memory
  • hard disk (HD) hard disk
  • other electronic devices that have a secondary storage device that can continue to store data even when the power is turned off.
  • the time certification creation unit 202 of the user device (time certification device) 20i the event sequence certification request unit 203, the supplementary data request unit 204, the event sequence certification verification unit 205, and the section time certification creation of the audit device 9
  • the processing of unit 91 is nothing but a concrete example of the arithmetic control function by the CPU.
  • the storage unit 206 of the user device (time certification device) 20i and the storage unit 92 of the auditing device 9 have the functions of the main storage device or the secondary storage device.
  • a program for executing various processes according to the present embodiment is stored in the above-described main storage device or secondary storage device.
  • This program can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, a DVD-ROM, or distributed via a communication network.
  • FIG. 20 and FIG. 23 are sequence diagrams illustrating in detail step S10 ′ for transmitting an event order certification request corresponding to step S10 in FIG. (In FIG. 22, this also includes step S60 ′ for receiving an acceptance certificate corresponding to step S60 in FIG. 8).
  • FIG. 24 is a sequence diagram for explaining in detail step S120 ′ for receiving an audit acceptance certificate corresponding to step S120 in FIG.
  • FIG. 25 is a sequence diagram illustrating in detail Step S520 ′ when the verification of the event reception certificate corresponding to Step S520 in FIG. 10 is successful.
  • step S10 ′ for transmitting an event order certification request of the event order certification method will be described.
  • the user device 10j transmits a time certification request including digital data to the user device (time certification device) 20i
  • the user device (time certification device) 20i passes the digital A time certification request including data is received (steps S11 ', S12').
  • the time proof creation unit 201 of the user device (time proof device) 20 acquires the time at which the time proof request is received from 90 time information providing devices, and accepts the time by adding the time to the digital data.
  • a certificate is created and transmitted to the user device 10j (steps S13 ', S14', S15 ').
  • the user device 10j receives the time acceptance certificate, and thus can obtain the time acceptance certificate (step S16 ′).
  • the event order proof request unit 203 of the user device (time proof device) 20i generates a digest of the time reception certificate, generates a proof request including the time reception certificate digest, and generates a proof device. 1 is transmitted (steps S17 ', S18'). As a result, the certification device 1 receives the certification request via the transmission / reception unit 11 (step S20 ′).
  • step S10 ' in the event order certification request step of step S10 ', the time acceptance certificate Without returning the certificate, the time reception certificate and the reception certificate are returned in the event reception certificate reception step of step S60 ′ corresponding to step S60 in FIG.
  • the user device (time certification device) 20i receives the acceptance certificate from the certification device 1, it transmits the acceptance certificate and the time acceptance certificate corresponding to the acceptance certificate to the user device 10j.
  • Step S61 ', Step S62' Thereby, the user apparatus 10j receives both the acceptance certificate and the time acceptance certificate (step S63 ').
  • step S120 'for receiving the audit acceptance certificate will be described.
  • the audit device 9 When the audit device 9 receives the audit acceptance certificate from the certification device 1 via the transmission / reception unit 31, the audit device 9 acquires the time when the audit acceptance certificate is received from the time information providing device 30 and receives the audit acceptance certificate.
  • the information is stored in the storage unit 93 in association with the certificate (steps S121 ′, S122 ′, S123 ′).
  • step S520 ′ when the auditing apparatus 9 succeeds in verifying the event acceptance certificate will be described.
  • the event sequence certification auditing unit 32 of the auditing device 9 audits the acceptance certificate in response to the audit request from the user device (time certification device) 20i, and if the audit result is SOK, further auditing is performed. From the time attached to the acceptance certificate, the first type of section time certificate is issued, and the section time certificate is included in the audit result (steps S511 ′, S512 ′, S513 ′).
  • the same effect as that of the first embodiment can be obtained.
  • a time stamp on the future side can be given by issuing the first class time certificate.
  • the audit device 9 having the function as a time audit device is used for the audit device 3 of the first embodiment, but the audit device 8 of the second embodiment A modification of the third embodiment may be made by using an auditing device 9 ′ having a function as a time auditing device.
  • the section time certificate creating unit 91 obtains the time when the audit certificate request is transmitted to the certification device 7 from the time information providing device 30. It is now attached to the section time certificate. Therefore, the modification of the third embodiment For the time being, the section time certificate created by the section time certificate preparation unit 91 ′ is marked with a time stamp at the past boundary.
  • the event order certification request is assigned by the event order certification verification using the auditing device 8 (second verification of the user device 2i). Since it can be proved that the leaf of the aggregation tree is later in time than the audit point leaf, the user device (time certification device) for the time certification request from the user device 10j that is the source of the event sequence certification request ) This proves that the transmission of the time acceptance certificate by 20i is later in time than the transmission of the audit event order certification request by the auditing device 9 '.
  • this section time certificate is referred to as “second section time certificate”.
  • the auditing device 9 in the modification of the third embodiment, the auditing device 9 'naturally has a function of issuing the "first type section time certificate", so the boundary between the future and the past side It is possible to issue a “third section time certificate”, which is a section time certificate with a time stamp.
  • a “third section time certificate” which is a section time certificate with a time stamp.
  • the event order proof system 300 ' is attached to the time acceptance certificate issued by the user device (time proof device) 20i and the time acceptance certificate.
  • Event time verification that obtains one or more interval time certificates proving the boundary before, after, or both, and determining the validity of the time attached to the time acceptance certificate
  • a system configuration having an apparatus may be used.
  • the event time verification device determines that the time attached to the time acceptance certificate is included in the time interval certified by the interval time certificate with a predetermined error.
  • the validity of the time attached to the time certificate acceptance certificate is determined based on the fact that the time is larger than a predetermined value.
  • the electronic information disclosing unit 17 of the proving devices 1 and 7 is special. Power that is detailed in detail Preferably, information disclosure in the electronic society should satisfy the following requirements.
  • requirement (1) can be realized by providing information on a certain range of multiple service organization capabilities as business.
  • the certification device and the plurality of auditing devices sequentially provide information about the root value of the aggregate tree as a task so as to satisfy this requirement.
  • Requirement (2) can be realized by providing information on the WWW, which is now widely used.
  • Requirement (3) can be realized by attaching a digital signature based on public key cryptography to the information provided.
  • the strength of the digital signature is sufficiently strong, and the validity of the signature private key used for the digital signature and the public key paired with it is the public key certificate, CRL (Certificate Revocation List). It must be guaranteed by a public key infrastructure (PKI) using the OCSP service (Online Certificate Status Protocol). It is sufficient that the above key pair is valid when the information requester obtains the information, and it is possible to update the key pair and maintain the validity of the key pair at any time. .
  • PKI public key infrastructure
  • OCSP service Online Certificate Status Protocol
  • ceiling (x) is the smallest integer greater than or equal to X
  • floor (x) is the largest integer less than or equal to x.
  • the node of the sequential aggregation tree of height k (j, 0 (0 ⁇ i ⁇ 2 (k — j) ) 's root' path r tPathkO, 0 (node, the sequence of nodes from 0 to the root) Is
  • rtPathkO.O [(j, r (j)), ..., (k, r (k >>]
  • V (j, 0 is the assigned value of node (j, 0. V (0, 0 is written as V (i).
  • L is a non-negative integer with L ⁇ k
  • SBT is a sequential aggregation tree.
  • SBT subgraph B is a level L subtree, there is a node p with level L belonging to SBT, and it becomes an SBT subgraph consisting of 8 descendants and p descendants! / It is defined as
  • leafs (B) represents a set of B's leaves.
  • X When the non-empty set is also the leaf power of SBT, first (X) represents the leftmost leaf of X, and last (X) represents the rightmost leaf of X.
  • An integer i force 2 (il..i2) represents an integer i force set (interval) il ⁇ i ⁇ i2.
  • This method of constructing aggregated trees is a method that suppresses the difference in depth within 1 and does not create dummy 'nodes.
  • L1W 2 ( k_1 ) (number of level 1 nodes)
  • L1L 2 ( k_1 ) — d (number of level 1 nodes with children)
  • L0L 2 (2 (k_1 ) -d) (number of level 0 nodes)
  • place (i) (0, i) (0 ⁇ I ⁇ LOL)
  • an aggregate tree as shown in FIG. 24 can be dynamically created. The assignment of values to nodes with a level greater than 0 (ie non-leaf nodes) is made incrementally when it becomes possible.
  • This method is the same as the first method in that it constructs an aggregation tree incrementally. It is assumed that the number of event sequence certification requests accepted in a predetermined time interval (sequential aggregation period) cannot be predicted. This is different from the first method.
  • increment means that each time an event order proof request is received, a part of a sequential aggregate tree that can also calculate the force is calculated.
  • N the number of event order certification requests accepted cannot be predicted, but its upper bound N can be estimated.
  • all event order proof requests are assigned to level 0, and a dummy node is used to calculate the root value of the binary tree.
  • n event order certification requests can be assigned from node (0, 0) at level 0 to node (0, n ⁇ l).
  • the sequential aggregate tree constructed based on the above method has the property that dummy 'nodes appear only at the right end of each level, and the number of dummy' nodes created is less than or equal to k. Have.
  • FIG. 27 and FIG. 28 show the algorithm of the second sequential aggregate tree construction method, and the aggregate tree power is incrementally constructed in accordance with the algorithm.
  • the following definitions are made as a premise.
  • ⁇ ⁇ is an integer variable indicating the number of accepted event order certification requests. The initial value is 0
  • 'k is a variable that represents the height of the sequential aggregate tree when a predetermined time interval ends.
  • ij represents the number of nodes already created at level j and at the same time the number of the node created at level j.
  • 'r is a variable for storing a dummy value to be assigned to the dummy' node.
  • ⁇ R (j, 0 is a function that calculates a dummy value to be assigned to node ⁇ for two arguments i and j.
  • ⁇ ⁇ , xO, xl, x2 are variables representing values to be assigned to the nodes.
  • -xl II ⁇ 2 is a concatenation of two values represented by a bit string.
  • -h (x) is a collision-resistant one-way hash function that calculates the hash value of X.
  • n is the number of time processing requests accepted
  • k is the generated sequential aggregation tree.
  • Ij represents the number of nodes at level j
  • bj represents whether or not there is a dummy node at level j
  • Aj represents an array that also includes the value force assigned to the node at level j.
  • rtPath4 (0,8) [(0,8), (1,4), (2,2), (3,1), (4,0)]
  • node (0, 9) becomes a dummy 1 'node from step (2.3.2.1).
  • a value is assigned to node (1,4), and (1,5) becomes a dummy 'node.
  • a value is assigned to node (0,2), and (0,3) becomes a dummy 'node.
  • the value is assigned to node (3,1) by step (2.3.3.1).
  • the value is assigned to node (4,0) by step (2.3.3.1).
  • a sequential aggregation tree as shown in FIG. 29 can be constructed incrementally. There is at most one dummy node at each level.
  • the ability to assign a dummy 'label (dummy assigned value) to a dummy' node according to any predetermined procedure is to define a dummy 'label as a function of the level. There is a method to do this, and this may be adopted.
  • FIG. 30 shows the timing for assigning a value to each node according to the above-described method for constructing the incremental sequential aggregation tree.
  • the sequential aggregation tree is the final sequential aggregation tree using dummy nodes at the time of information release. Configuration This method is assumed. However, it is possible to adopt other methods as a specific construction method of the sequential aggregation tree.
  • the event order proof system 100, 200, and 300 in the above embodiment can employ any of the above-described dynamic aggregation tree construction methods. It is possible to flexibly cope with the quantitative change of the event order certification request, and it is possible to construct a highly scalable event order certification system.
  • the root's path and authentication path at a certain point in time can be defined as follows. This definition can be applied in the first to third embodiments when the number of requests accepted in a given sequential aggregation period cannot be predicted in advance.
  • rtPathD (p, m) is a sequence of nodes whose assigned values are determined when the assigned value of the mth leaf is determined among the nodes belonging to rtPath (p, m).
  • rtPath (p, m) [(0, i (0)), ⁇ ⁇ ⁇ , (k, i (k >>]
  • rtPathD (p, m) [(0, i (0)), ⁇ , (kl, i (kl))]
  • rtPathDV (p, m) is an assignment value assigned to each node of rtPathD (p, m).
  • rtPathD (p, m) [(0, i (0)), ⁇ ⁇ ⁇ , (kl, i (kl))] Then rtPathDV (p, m) has the following form:
  • rtPathDV (p, m) [((0, i (0)), v (0)), ..., ((kl, i (kl)), v (kl))].
  • rtPath (p, m) [(j, r (j)), ..., (k, r (k))]
  • AuthPathT (p, m) can be expressed as follows using rtPath (p, m).
  • authPathT (p, m)
  • authPathT (p, m) consists of a right complement point or a left complement point of a point other than the root of rtPath (p, m).
  • authPath (p, m) [(j, a (j)), ..., (k— 1, a (k— 1))]
  • authPath (p, m) [(j, a (j)), ..., (k— 1, a (k— 1))]
  • AuthPathT (p, m) can be calculated as follows. For jl ⁇ (j..k), rtP The node of level jl of ath (p, m) is
  • authPathT (p, m) and authPath (p, m) can be calculated.
  • authPath (p, m) and authPathT (p, m) each set of nodes whose assigned values are determined when the assigned value of the mth leaf is determined.
  • authPathD (p, m) and authPathTD (p, m)
  • authPath (p, m) and authPathT (p, m) are expressed as above, 1 ⁇ with kl ⁇ 1 ⁇
  • authPathD (p, m) [0 (0), a (j (0))), ...,
  • authPathTD (p, m) [(0 (0), a (j leakage, LR (j (0 >>)), ...,
  • authPathDV (p, m) and authPathTD (t, m) are assigned authPathDV (p, m) and authPathTDV (p, m) respectively.
  • authPathD (p, m) and authPathTD (p, m) are expressed as above,
  • authPathDV (p, m)
  • authPathTDV (p, m)
  • rtPath ((0, i), m), rtPathD ((0, i), m), rtPathDV ((0, i), m)
  • authPath ((0, i), m), authPathT ((0, i), m), authPathD ((0, i), m), shorten authPathTD ((0, i), m), authPathDV ((0, i), m), authPathTDV ((0, i), m)
  • authPath (i, m), authPathT (i, m), authPathD (i, m),
  • authPathTD i, m
  • authPathDV i, m
  • authPathTDV i, m
  • rtPath ((0, i), m) can be calculated as follows for node (0, i) of sequential aggregation tree.
  • the above is the definition of an authentication point when the user point and the audit point belong to the same sequential aggregation tree.
  • the SBT root is defined as the authentication point of the user point by the audit point.
  • B is a partial sequential aggregation tree of a certain sequential aggregation tree. At a certain point in time, it is assumed that the round processing corresponding to l aS t (leaf S (B) has been completed. At this point, each node belonging to B The assigned value is calculated and assigned! /
  • the leaf can be calculated from the assigned value of the leaf obtained up to that round. All assigned values of nodes other than are calculated and assigned to the node.
  • C is the user device
  • B is the audit device
  • iO and il are the two sequential aggregate tree leaf numbers iO ⁇ il, and in round (iO), C receives the acceptance certificate, and B has round (il) It is assumed that an audit acceptance certificate has been received.
  • the authentication point of iO by il has the following properties.
  • the assigned value of the authentication point is included in the audit point, that is, the supplementary data in the acceptance certificate of the node (0, il).
  • the junction point is (j, i)
  • the authentication point that is the left child is (f, i ').
  • the root 'path rtPath ((0, il), il) of curSBT (il) of node (0, il) the node just before starting from (0, il) and reaching the confluence is ( ⁇ , At this time, the authentication point is the left complement of ( ⁇ , ⁇ .
  • authPathT (0 ", i '), L) is the node ( 0, il) is included in the authentication path in curSBT (il), and value assignment to node (j ', i') has been completed before round (il).
  • i ') L, V0 ", i' >> are included in the supplementary data in the acceptance certificate for (0, il).
  • the authentication point (, ⁇ ') is included in the root' path rtPath ((0, i0), il) of the node (0, i0).
  • rtPath ((0, i0), il) is included in the root' path rtPath ((0, i0), il) of the node (0, i0).
  • V (jl, r (jl) is included in EOC (iO) or CToken (i0, i2).
  • authPath ((0, i0), il)
  • the assigned value V (p 2) of p2 is the delay complement data that C can receive in i2 where il ⁇ i2 Included in CToken (iO, i2). Because of the nature 1 of the sequential aggregation tree, when the event order proof processing for the round corresponding to leaf (0, il) is completed, the subtree allocation of curSBT (il) represented by B in Fig. 30 The value can be calculated and has been calculated and assigned. Therefore, the delay complement data issued after that point includes the assigned value V (p2) of B's route p2.
  • V (jl, r (jl >>) can be recursively calculated for each jl ⁇ [0 ..] as follows: .
  • V (0, r (0) is the assigned value of node (0, iO) included in the event acceptance certificate.
  • V01 + 1, rO'1 + D) h (V (jl, rOD) II V (jl, s (jl)))
  • the service start time of the event sequence certification system is taken as the time origin, and 1 second, 1 millisecond, etc. are defined as time units, and the time is measured from the above origin in the above time units. It shall be expressed as a measured integer.
  • each auditing device B in addition to the audit information closed at T, adds the previous sequential aggregate route value (the assigned value of the route of the previous sequential aggregation period T '). It is assumed that V (root (T ')) is also received.
  • T is a positive integer
  • ⁇ , ⁇ ⁇ , ⁇ , and ⁇ ′ represent extended leaf identifiers.
  • B shall be an auditing device, and there shall be an auditing point ⁇ that satisfies the following conditions (* 1).
  • condition (* 2) shall be satisfied if any one audit point by B is ⁇ and the next audit point by B is ⁇ '.
  • the user A sends a certain event order certification request, obtains a sequential aggregation tree leaf corresponding to the request, and then requests a delayed complement data for the event acceptance certificate, and sequentially aggregates the tree leaf corresponding to the request.
  • ⁇ ′ be the following condition (* 3).
  • the audit device B shall receive the root value of the immediately preceding sequential aggregation period at the first audit point by the second party belonging to each of the subsequent sequential aggregation periods.
  • time (2) one time (a 1)> time ( ⁇ ,) one time ( ⁇ ) ⁇ T.
  • time (2) time (a 1)> T and time (2) — time (a 1) ⁇ T
  • SBT be the sequential aggregate tree of height k
  • i be the SBT sequential aggregate tree leaf number
  • kl ⁇ k the SBT sequential aggregate tree leaf number
  • a uthPathTkl the sequence of the first kl elements of authPathT (i).
  • authPathTkl (i) [((0, i (0)), LR (0)), ⁇ , ((kl— 1, i (kl 1 >>, LR (kl— 1))]
  • vl and v2 are two different hash values, and API and AP2 are given as follows.
  • vl'OO) II vl "(j0) and v2 '(j0) II v2" (j0) are the collisions of the hard-to-collision hash function h.
  • vl'OO) II vl'GO) and v2 "(j0) II v2 '(j0) are derived as collisions of the hard-to-collision hash function h.
  • the event sequence certification system and the event sequence certification audit system are used for the resources and performance of each device constituting the system, and the network connecting the devices. More practical in various conditions of resources and performance
  • the embodiment described above will be described. Specifically, when order proof is performed using an acyclic directed graph such as a tree structure, in order to realize it with scalability so that it can be realized even if the acyclic directed graph does not fit in the memory of the computer! Therefore, it is required that the device of V, deviation (event sequence proof device and user device that uses it) be implemented in such a way that the acyclic directed graph does not need to be expanded on the memory.
  • the communication amount between the event sequence verification device and the user device does not become excessive, and the communication amount between the devices is This requirement is satisfied if it is constrained by the logarithmic order of the number of nodes in the acyclic directed graph.
  • an implementation method that reduces the amount of memory and communication within a practical range.
  • FIG. 34 is a system configuration diagram of an event order certification system 100a according to the fourth embodiment of the present invention.
  • an event sequence certification response (hereinafter referred to as a certification response) including an event sequence acceptance certificate (hereinafter referred to as a reception certificate) is returned to the user device 21.
  • the user device 21 can verify the plurality of proof response acceptance certificates received from the proof device la! /.
  • the certification device la transmits and receives data to and from the user device 21 via the computer network 3a.
  • Sending and receiving unit l la Event sequence proof request aggregating unit 12a that summarizes digital 'data sent as proof requests from user devices 21 using an aggregation tree, and creates a proof response including acceptance certificate
  • Event order proof response creation unit 13a Digital signature creation unit 14a, which provides high-strength digital signatures for data that is a collection of the contents of multiple acceptance certificates issued by certification device 1 for a certain period of time, and makes it public data
  • the configuration includes an electronic information publication unit 15a for electronically publishing public data with a digital signature added thereto, and a storage unit 16a for storing information related to event order certification including a reception certificate.
  • the event order certification request aggregating unit 12a collects event order certification requests using sequential aggregation trees, which will be described with reference to FIG.
  • FIG. 35 shows all or part of the digital data included in the certification request from the user device 21 in a certain period (for example, a cycle in which the certification device la publishes the aggregated data such as one week, which is called a sequential aggregation period).
  • the digital data that is the result of calculation according to a predetermined sequential allocation data calculation procedure (this is called sequential allocation data.
  • the digital data hash value included in the certification request) It is a figure which shows one specific example of a sequential aggregation tree to do.
  • the leaf of the sequential aggregate tree to which each certification request from the user device 21 is assigned is also referred to as a registration point.
  • the method of calculating the value assigned to each node (excluding leaves) in the sequential aggregation tree is as follows. For the assigned value of the parent of the sequential aggregation tree, the assigned value H 'of the left child and the assigned value H "of the right child are concatenated (combination of bit strings and bit strings), and a predetermined collision-resistant one-way hash function h is applied. This is obtained by calculating a hash value as a result, and this is expressed as h (H, II H "). In this way, the assigned value of the upper level is calculated from the assigned value of the lower level, and the assigned value (root value) H of the highest level (root) is finally obtained.
  • L and R respectively represent a left force connection and a right connection when connecting two digital data.
  • the event order proof response creating unit 13a creates a proof response including the acceptance certificate EOC (y) as shown in FIG. 36 and transmits it to the user apparatus 21.
  • the acceptance certificate EOC (y) is assigned digital 'data y sent from the user, sequential allocation data z calculated from digital data y by the sequential allocation data calculation procedure described above, and sequential allocation data z.
  • a sequential aggregation tree number that can uniquely identify a sequential aggregation tree, a sequential aggregation tree leaf number that can uniquely identify a sequential aggregation tree leaf to which sequential allocation data z is allocated, and a part of sequential aggregation complement data that can be acquired at that time ( This is referred to as immediate complementation data of registration points) It is configured to include SK location information and assigned values! RU
  • the certification response is configured to include the position information and the assigned value of the delay complement data TK of each past registration point of the user device 21.
  • the delayed complement data TK refers to sequentially aggregated supplement data that can be acquired after issuing the certification response.
  • V (2,0), V (0,4) is the immediate complement data V (l, 3)
  • V (3, l) is the delay complement data that can be acquired after the time V (0, 15) is assigned.
  • the delay complement data of the leaf al determined when the assignment processing of the leaf a2 is completed is called the delay complement data in al of a2.
  • the delay complement data in node (0,10) of node (0,5) is node (1,3).
  • the registration points from a user device 21 are XI (node (0, 2)), X2 (node (0, 11)), X3 (node (0, 18)), X4 (node (0, 21)) ), X5 (node (0, 29)), X6 (node (0, 31)).
  • the following data is returned to the user apparatus 21 at each registration point.
  • the proof response at point X3 returns the immediate completion data at point X3 and the delayed completion data at point XI and X2 at point X3 (specifically, the immediate completion data at point X3 and Node (4,0), node (1,8) assigned values, and XI point X3 point delay complement data as node (0,3), node (2,1), node (3,1 ), Assigned value of node (2,3) as delay complement data at X3 point of X2 point).
  • the sequence completion method As described above, in the sequence completion method, as a proof response, for a certain registration point, the immediate completion data of the registration point and the delay completion data at the registration point of each registration point registered before the registration point are included. It is getting ready. Each certification response is managed for each user device 21.
  • the user device 21 includes a transmission / reception unit 21a that transmits / receives data to / from the certification device la via the computer network 3a, an event order certification request certificate unit 22a that performs certification requests including predetermined digital and data multiple times, a certification
  • the configuration includes an event order proof verification unit 23a that verifies the acceptance certificate included in the proof response to the request, and a storage unit 24a that stores information related to the event order proof including the proof response including the reception certificate.
  • the event order proof verification unit 23a has the following verification function for the acceptance certificate.
  • the sequentially allocated data included in the acceptance certificate is included in the public information published via the digital signature creation unit 14a and the electronic information publication unit 15a of the certification device la.
  • S hash function It verifies that it links via. Specifically, it is verified whether or not the value that is sequentially announced as the route value of the aggregation tree and the route value calculated by the user device 21 match.
  • the operation before and after user device 21 verifies the time before and after the issuance of the acceptance certificate between user devices 21. To do.
  • the path from a to the root is called the root's path of a and is written as rtPath (a).
  • the sequence of nodes consisting of sibling nodes other than the root of the node belonging to rtPath (a) is called an authentication path and is written as authPath (a).
  • the two user devices 2A and 2B each obtain a proof response for each registration point by the sequence interpolation method, and a, al, a2, af ⁇ user device 2A shown in FIG. And b is the registration point of user device 2B.
  • af is a provisional terminal point, and is the registration point located on the rightmost among the registration points of the user device 2A.
  • FIG. 38 there is one registration point a for user device 2A, registration point b for user device 2B located on the right side of it, and registration point b for user device 2A located on the right side al3 ⁇ 4. is there.
  • the authentication point label (assigned value) is included in the proof response (immediate completion data) of registration point b.
  • the label that can be used for calculating the delayed complementary data at registration point a is the label of the certification point. Therefore, it is verified whether the assigned value of the certified point at the registration point af of the registration point a matches the assigned value of the calculated authentication point and the assigned value of the authentication point included in the immediate complement data of the registration point b. By doing so, it is possible to verify the time before and after the registration point a and the registration point b (for details, see the item (3) of the property of the sequential aggregation tree described later).
  • the registration point al ⁇ is the authentication point by the registration point b of the registration point a in the current sequential aggregate tree. If the assigned value of V (o) matches, it is possible to objectively prove that registration of registration point a occurred before registration of registration point b.
  • the event sequence verification unit 23a verifies this by an operation described later.
  • Each of the above devices includes a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a RAM (Random Access Memory) having a function of storing programs and data, and the like.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • the main storage device memory
  • HD hard disk
  • other electronic devices that have a secondary storage device that can continue to store data even when the power is turned off.
  • the event sequence certification request aggregation unit 12a of the certification device la the event sequence certification response creation unit 13a, the digital signature creation unit 14a and the electronic information publication unit 15a, and the event sequence certification request unit 22a of the user device 21 and
  • the processing of the event order proof verification unit 23a is nothing but a specific example of the arithmetic control function by the CPU.
  • the storage unit 16a of the proving device la and the storage unit 24a of the user device 21 have the above-mentioned main storage device! /, And have the functions of a secondary storage device.
  • FIG. 39 is a sequence diagram for explaining the operation in which the certification device la includes the acceptance certificate and creates the certification response in one sequential aggregation period
  • FIGS. 40 and 41 show the acceptance certification by the user device 21.
  • FIG. 10 is a sequence diagram illustrating an operation for performing second verification on a document.
  • the certification apparatus la receives the certification request including the digital data y via the transmission / reception unit 11a (step S 10a, S20a) o
  • the event order proof request aggregating unit 12a sequentially calculates the allocation data z as a part or all of the digital data y, and sequentially allocates the sequential allocation data z to the aggregate tree leaf so that it is incremental.
  • the event order proof response creation unit 13a creates a proof response including the acceptance certificate (sequence completion method; immediate completion data of the registration point and each registration registered before the registration point) Delay compensation data at the registration point) is created, and a certification response is transmitted to the user apparatus 21 via the transmission / reception unit 11a (steps S30a, S40a, S50a).
  • the user apparatus 21 can obtain a certification response including the acceptance certificate (step S60a). Then, the user apparatus 21 repeats the certification request transmission and certification response reception in steps SlOa and S60a.
  • the operation of the proving device la described above is repeated within a certain period (sequential aggregation period) for sequential aggregation, and when the sequential aggregation period ends, the electronic information publication unit 17a Sequentially calculates the root value of the aggregate tree and publishes this root value electronically (steps S70a, S80a, S90a).
  • FIG. 40 shows the user device 2 Force indicating data exchange between A and 2B
  • User device 2A requests user device 2B postfix point determination request
  • the user apparatus 2B is requested to determine the order of the certificates).
  • user device 2A attaches the verified acceptance certificate EOC (a) (acceptance certificate at registration point a) and sends a postfix point determination request to user device 2B (step Sl lOa).
  • the user apparatus 2B that has received the post-position determination request extracts the leaf number n (a) from the received acceptance certificate EOC (a), and assigns a leaf number larger than the leaf number n (a) to the user apparatus 2B.
  • Step S120a, S130a Also search the intermediate force of the registration point (Steps S120a, S130a) o If the leaf number greater than leaf number n (a) is at the registration point of user device 2B, select one of the registration points b, and the leaf Send number n (b) to user device 2A (steps S140a, S150a) o On the other hand, if there is no leaf number greater than leaf number n (a) at the registration point of user device 2B, compare A message to the effect that no data is available is transmitted to user device 2A (step S142a).
  • the user device 2A that has received the leaf number n (b) as well as the user device 2B selects the provisional registration point a of the user device 2A having a leaf number larger than the leaf number n (b), and sets the registration point a.
  • Delay complement data lateData (a, af) at the provisional terminal point af is acquired and transmitted to the user apparatus 2B (steps S160a, S170a, S180a, S190a). If the user device 2B receives a message indicating that no comparable data is available, the verification is terminated (step S144).
  • the user device 2B that has received the delayed complement data lateData (a, af) from the user device 2A authenticates the registration point a with the leaf identification number n (a) and n (b) force. point. And the received certificate EOC (a) and delayed complement data lateData (a, af) force.
  • the assigned value of the authentication point is calculated (step S210a).
  • the immediate supplementary data included in the acceptance certificate EOC (b) for registration point b includes the assigned value of the certification point obtained in the above calculation, and verifies whether or not the certification point is assigned.
  • the registration point a sends determine constant results that were registered before in time from the registration point b to the user apparatus 2A (step S220A, S230a) o other hand, the authentication point assigned value
  • the registration point a cannot be verified that the registration point a has been registered in time before the registration point b, the determination result that there is some fraud is sent to the user apparatus 2A (step S220a, S240a).
  • the user apparatus 2A receives and obtains the determination result, so Can verify the time before and after issuance of the acceptance certificate (Steps S250a, S260a)
  • FIG. 41 is a sequence diagram showing exchange of data between the user apparatuses 2A and 2B when the user apparatus 2A makes a front point determination request to the user apparatus 2B.
  • user device 2A sends a prefix determination request to user device 2B with an acceptance certificate EOC (a) (acceptance certificate at registration point a) to be verified (step S310a).
  • the user apparatus 2B that has received the front position determination request extracts the leaf number n (a) from the received acceptance certificate EOC (a), the leaf number smaller than the leaf number n (a), and the leaf number n ( a) The larger V and leaf number are searched from the registration points of the user device 2B (steps S320a and S330a).
  • registration point b with a leaf number smaller than leaf number n (a) is set.
  • a temporary registration point bf ⁇ having a leaf number greater than leaf number n (a) is selected (steps S340a and S350a). If there is no corresponding registration point, a message indicating that no comparable data is available is sent to the user device 2A (step S342. The user device 2A then sends a message indicating that no comparable data is available).
  • the verification is terminated (step S344a).
  • the user device 2B obtains the delayed complement data lateD ata (b, bf) at the provisional registration point bf of the registration point b, and also registers the leaf identification numbers n (a) and n (b) force Calculate the certification point 0 for registration point b of point a, and accept certificate EOC (b) and delayed complement data lat e Dat a (b, bf) force
  • the authorization point allocation value is calculated (steps S360a, S370a) o Next, it is verified whether or not the authorization point assignment value obtained in the above calculation is included in the immediate complement data included in the acceptance certificate EOC (a) for registration point a, and the authorization point assignment value is included.
  • step S380a, S390a contains assigned value of the authentication point If not, registration point a is later than registration point b. It is not possible to prove that it has been registered in the device, and the determination result that there is some fraud is sent to the user device 2A (steps S380a, S400a) o
  • the user apparatus 2A receives and obtains the determination result, so that it is possible to verify before and after the time when the acceptance certificate is issued between the two users (steps S410a, S420a).
  • the event order certification verification method described above was performed by the user apparatus 2A and the user apparatus 2B before and after the issuance of the acceptance certificate, but the present invention is not limited to this.
  • a third party organization other than the parties may perform the verification.
  • the user device 2A and the user device 2B transmit information necessary for verification to the third party organization, and the third party organization (event order certification auditing device 3) performs the verification.
  • the proof device la that has received the proof request from the user device 21.
  • the user device 21 can verify the time before and after the issuance of the acceptance certificate between the user devices 21 using this proof response. Even before the published data summarizing the request is published electronically, the validity of the acceptance certificate can be verified.
  • FIG. 42 is a system configuration diagram of an event order certification system 200a according to the fifth embodiment of the present invention.
  • the certifying device 4a responds to the proof request from the user device 51 and returns a proof response including the acceptance certificate to the user device 51. .
  • the user device 51 is connected to the certification device 4a. This multiple proof response power that has been received can be verified.
  • the form of the proof response is different between this embodiment and the fourth embodiment.
  • “Chain Compensation Method”, which will be described later, is different from “Sequence Completion Method”.
  • a proof response is created by the “complementation method”. This is because, in the above-described sequence complementing method, at each registration point of each user device 21, the delay complement data is transmitted to all the past registration points of the user device 21. Since it must be sent back to 21, the amount of proof response data increases in proportion to the increase in past registration points. However, in the chain completion method of this embodiment, the proof response data The increase in quantity is being controlled. Note that in this embodiment, configurations and functions different from those of the above embodiment are described, and with regard to other configurations and functions, the same portions are denoted by the same reference numerals, and description thereof is omitted.
  • the certifying device 4a sequentially transmits / receives data to / from the user device 51 via the computer network 3a, and the digital data transmitted as a proof request from the user device 51 is sequentially aggregated tree.
  • Event order proof request aggregating unit 12a that summarizes using the event sequence, event sequence proof response creating unit 41a that creates a proof response including a reception certificate, and the contents of multiple acceptance certificates issued by the certification device 4a over a certain period
  • the storage unit 42a stores information related to event order proof.
  • the event order proof response creating unit 41a creates a proof response including the acceptance certificate EOC (y) as shown in Fig. 43 and transmits it to the user apparatus 51.
  • the acceptance certificate EOC (y) is assigned to the digital 'data y sent from the user, the sequential allocation data z calculated from the digital data y by the sequential allocation data calculation procedure described above, and the sequential allocation data z.
  • a sequential aggregation tree number that can uniquely identify a sequential aggregation tree, a sequential aggregation tree leaf number that can uniquely identify a leaf of a sequential aggregation tree to which sequential allocation data z is assigned, and a part of sequential aggregation complement data that can be acquired at that time (This is called immediate supplementary data for registration points.) It is configured to include SK location information and assigned values! RU [0359] Further, the certification response is configured to include the position information and the assigned value of the delay complement data TK2 at the registration point immediately before the user device 51.
  • this proof response format is referred to as a “chain completion method”.
  • the registration points from a user device 51 are XI (node (0, 2)), X2 (node (0, 11)), X3 (node (0, 18)), X4 (node (0, 21)), X5 (node (0, 29)), X6 (node (0, 31)).
  • the user device 51 can obtain substantially the same data as the sequence completion type proof response as shown in Figs. 44 and 45. This will be explained with reference.
  • j2 be the level of the node with the highest level in the delay complement data at point a3. Also, the authentication point by al's a2 is written as AP (al, a2), its sibling node is written as AP '(al, a2), and the level of AP (al, a2) is set as jl.
  • the level is equal to jl, and the assigned values are the delay complement data at the a3 point and the a2 point Immediate complementary data power can be calculated.
  • the set of authentication path nodes included in the delay complement data at al point a3 that is greater than jl is the set of authentication path nodes included in the delay complement data at point a3. It is equal to the set of those whose level is greater than jl. Therefore, the allocation value of the authentication path node that is included in the delay complement data at the al point a3 and the level j is larger can also calculate the delay complement data power at the a2 point a3.
  • the delay complement data at al point a3 can be calculated from the following three data.
  • FIG. 45 is a table showing this calculation method.
  • Fig. 45 shows the immediate and delayed complement data required for each registration point in the sequence complement method and the chain complement method.
  • the immediate completion data and delayed interpolation data of the proof response in the chain completion method are the data surrounded by the double line.
  • the arrows shown in Fig. 45 indicate the direction of calculation. For example, according to Fig. 45, the delay complement data in a3 of a2 (Pl), the immediate complement data of a2 (P2), and the al delay supplement data in a2 (P3) Show that P4) can be calculated.
  • the user apparatus 51 performs the same validation as the first embodiment by performing the complete ripple process as shown in Fig. 45. It is something that can be done. Note that this complete spreading process will be described in detail as a process of “incremental perfection” described later.
  • the user device 51 includes a transmission / reception unit 21a that transmits / receives data to / from the certification device 4a via the computer network 3a, an event order certification request certificate unit 22a that performs certification requests including predetermined digital and data multiple times, a certification
  • the configuration includes an event order proof verification unit 51a that verifies the acceptance certificate included in the proof response to the request, and a storage unit 52a that stores information related to the event order proof including the proof response including the reception certificate.
  • the event order proof verification unit 51a has a function of performing an incremental completeness process, which will be described later, in addition to the function of the event order proof verification unit 23a of the fourth embodiment.
  • the following verification functions are provided for the acceptance certificate.
  • the digital signature creation unit 14a of the certification device 4a and the electronic information It verifies that it links to the public information published via the public section 15a via the sequential allocation data force S hash function included in the acceptance certificate. Specifically, it is verified whether or not the value at which the route value of the aggregate tree is announced and the route value calculated by the user device 51 match each other.
  • the second verification function is to verify the time before and after the issuance of the acceptance certificate between the user devices 51 even before the public information is released.
  • the two user devices 5A and 5B each acquire a certification response for each registration point by the chain completion method, and a, al, a2, al ⁇ user devices 5A shown in Fig. 39.
  • b is the registration point of user device 5B.
  • af is a provisional termination point.
  • FIG. 39 there is one registration point a for the user device 5A, a registration point b for the user device 5B located to the right of the user device 5A, and a registration point al3 ⁇ 4 for the user device 5A located further to the right. .
  • the complete ripple process shown in Fig. 45 is performed on registration point a of user apparatus 5A as al ⁇ provisional termination point.
  • the same proof response as the sequence completion method can be obtained.
  • the time before and after the registration point a and the registration point b can be reduced. Can be verified.
  • the assigned value V (o) of the authentication point 0 by the registration point b of the registration point a in the current sequential aggregate tree when the registration point al ⁇ is the current point is the same. In this way, it is possible to objectively prove that registration of registration point a occurred before registration of registration point b.
  • each of the above devices includes a central processing unit (CPU: Central Processing Unit) having at least an arithmetic function and a control function, a RAM (Random Access Memory) having a function of storing programs and data, and the like.
  • the main storage device memory
  • hard disk (HD) hard disk
  • other electronic devices that have a secondary storage device that can continue to store data even when the power is turned off.
  • the processing of the event sequence certification response creating unit 41a of the certification device 4a and the event sequence certification verification unit 51a of the user device 51 is nothing but a specific example of the arithmetic control function by the CPU.
  • the storage unit 42a of the certification device 4a and the storage unit 52a of the user device 5I have the functions of the main storage device or the secondary storage device. [0386] (5- 2. System operation)
  • the event sequence verification method in the event sequence verification system 200a having the above configuration is the same as that in which the verification device la and the user device 21 in FIG. 39 are replaced with the verification device 4a and the user device 51, respectively. Therefore, the description is omitted.
  • the event order proof verification method user devices 2A and 2B in FIGS. 40 and 41 are replaced with user devices 5A and 5B, respectively. If the incremental perfection process described later is executed in each of 5B, the subsequent operations are the same as the operations in FIGS. 40 and 41, and the description thereof will be omitted.
  • the first method is a method (hereinafter referred to as method A) that realizes the above-described chain completion method by sequentially constructing an aggregation tree on the storage unit 42a by the proving device 4a.
  • FIG. 46 is a diagram showing a schematic configuration of data stored in the storage unit 42a when the method A is adopted.
  • the storage unit 42a stores the sequential aggregation tree itself, that is, the node to which the certification request is assigned, the position information of the computable node, and the assigned value, and each user device.
  • the position information of the previous registration point is stored every 51.
  • a node of level power ⁇ that is, a leaf is added to the sequential aggregation tree stored in the storage unit 42a, so that the level is 1
  • the nodes are added to the aggregate tree sequentially, and the assigned values are added to construct the aggregate tree on the storage unit 42a.
  • FIG. 47 is a flowchart showing the functions of the event order certification request aggregation unit 12a and the event order certification response creation unit 41a of the certification device 4a.
  • the certification device 4a when the certification device 4a receives a certification request from the user device 51, the certification device 4a sequentially generates allocation data from the certification request, sequentially assigns it to a new leaf of the aggregation tree, and sets it as a new registration point.
  • Store point node information (location information and assigned values) (Step Sl lOla, S1103 a) 0
  • step SI105a the immediate complement data of the new registration point is acquired in accordance with the definition of the instant complement data, and the sequential aggregate tree power stored in the storage unit 42a is acquired.
  • Step SI 107a After adding a new registration point, if the assigned value can be calculated at a node having a level of 1 or higher, the assigned value is calculated, and the location information and assigned value of that node are stored in the storage unit 41a.
  • step S 1109a the delay complement data at the previous registration point is acquired from the previous registration point and the sequential aggregation tree for each user device 51 stored in the storage unit 41a according to the definition of the delay complement data. ).
  • the new registration point is set as the previous registration point and stored as the previous registration point of the user device 51, and the immediate complement data and the delay complement data acquired in steps SI 105a and SI 109a are stored.
  • a proof response including this is created and transmitted to the user device 51 (steps S111 la, S1113a, S1115a).
  • the second method is a method for realizing the above-described chain completion method by configuring the storage unit 42a with a stack structure in which the proving device 4a does not sequentially configure the aggregate tree on the storage unit 42a ( Hereinafter, it is referred to as method B).
  • Method B is a further improvement of Method A, which increases the required storage capacity almost in proportion to the size of the sequential aggregation tree. Complementary data and delay Complementary data is calculated, so the required memory capacity can be reduced, and it is possible to handle sequential aggregate trees of sizes that do not fit in the storage unit 42a of the proving device 4a. .
  • FIG. 48 is a diagram showing a schematic configuration of data stored in the storage unit 42a when the method B is adopted.
  • the storage unit 42a includes a first stack 421a that stores immediate complement data (position information and assigned values) and a storage unit 422a that stores delay supplement data for each user device 51.
  • the storage unit 422a for storing the delay complement data for each user device 51 is composed of the immediately preceding registration point (position information) 423a and the second stack 424a for storing the delay complement data (position information and assigned value). ing.
  • Data that becomes an element of the first or second stack is called a stack frame.
  • the first stack of the above two types of stacks is the data structure that has been used in the past. Page 36 of column f, X.R. , b) Forces described in this stack When this recursive procedure is standardly implemented using one stack, this stack is used in the same way as the first stack above.
  • FIG. 49 is a flowchart showing the functions of the event order certification request aggregation unit 12a and the event order certification response creation unit 41a of the certification device 4a.
  • the certification device 4a when the certification device 4a receives a certification request from the user device 51, the certification device 4a sequentially generates allocation data from the certification request, sequentially assigns it to a new leaf of the aggregation tree, and sets it as a new registration point (step S1121a). , S1123a) 0
  • a stack frame including the position information of the new registration point and the assigned value is added to the first stack (step S1127a).
  • the stack frame newly added to the first stack corresponds to the supplementary data of the previous registration point in the other user device 51, the stack frame is added to the corresponding user device 51.
  • the second stack are added to the second stack (step S 1129a, SI 131a).
  • the stack frame corresponding to the two nodes is removed from the first stack, and the newly generated stack frame is added to the first stack (Steps SI 133a, SI 135a, SI 137a, SI 139a). ).
  • the stack device is added to the corresponding user device 51. Is added to the second stack (steps SI 141a, SI 143a).
  • step S114 5 a the new registration point of the previous registration point from the second stack for the user device 51 concerned. Get the delayed complementary data in, the second stack for the user apparatus 51 into an empty (step S114 5 a).
  • the new registration point is set as the previous registration point and stored as the previous registration point of the user device 51, and the immediate complement data and the delay complement data acquired in steps SI 125a and SI 145a are stored.
  • a proof response including this is created and transmitted to the user device 51 (steps SI 147a, SI 149a, S1151a).
  • the above operation will be described using a specific example shown in FIG.
  • the new registration point will be described as X4.
  • the certification device 4a when the certification device 4a receives a certification request from the user device 51, the certification device 4a sequentially generates allocation data from the certification request, sequentially assigns it to the registration point X4, which is a new leaf of the aggregate tree, and creates a new registration point. (Step S 112 la, SI 123a).
  • the assigned value of node (3,0), which is immediate complement data of new registration point X4, is assigned from stack frame 0 of first stack 421a, and the assigned value of node (2,4) is assigned first.
  • the allocation value of the node (0, 20) is obtained from the stack frame 1 of the first stack 421a from the stack frame 1 of the stack 421a (step S1125a).
  • stack frame 3 including the location information and the assigned value of the new registration point (0, 21) is added to the first stack (step S1127a).
  • the stack frame newly added to the first stack corresponds to the complementary data of the previous registration point in the other user device 51, the stack frame is added to the corresponding user. It is added to the second stack of the device 51 (steps S 1129a, SI 131a).
  • the assigned value of the node (0, 19) which is the delay complement data at the new registration point X4 of the previous registration point X3 from the second stack for the user device 51, is assigned to the stack of the second stack 424a. Obtained from frame 0 and empty the second stack for the user device 51 concerned (step SI 145a).
  • the new registration point X4 is set as the immediately preceding registration point X3, stored as the immediately preceding registration point 423a of the user device 51, and immediately supplemented and delayed complemented in step SI 125a and SI 145a.
  • a certification response including data is created and transmitted to the user apparatus 51 (steps S1147a, SI 149a, S1151a).
  • FIG. 50 is a diagram showing the configuration of the storage unit 42a of the proving device 4a. As shown in Fig. 50, it has a node allocation value calculation stack (hereinafter referred to as _stack) and an array of delay complement data structures (hereinafter referred to as _chain_comple_data_vec) for calculating the node allocation value of the aggregation tree sequentially.
  • the _stack element is a stack structure consisting of stack frames, and each stack frame also has a place part and a value part. Of these, the place part sequentially holds a place that represents the node position of the aggregate tree, and consists of a set of a level part indicating the level of the node and an index part indicating the number within the level.
  • _chain_comple_data_vec is the data structure chain— comple— data eye ii ⁇ U, and the data structure chain— comple— data is late— cco mple— stack ⁇
  • ate_ccomple_stack part is a stack structure consisting of stack frames like _stack, pr e V _p 0 int part represents the identification number (non-negative integer or nil) representing the previous registration point, and prev_point_ old part is the current Represents the identification number (non-negative integer or nil) representing the previous registration point in the aggregation tree generated before the aggregation tree of, and the olcLtreejd part is prev_point_old is not nil! /, When p re V _p 0 int_ 0 ld This is the identification number (non-negative integer or nil) of the aggregation tree to which the registration point indicated by the part belongs.
  • FIG. 51 shows a chain completion procedure GET_REQ in the certification device 4a. Used in this procedure
  • the variables and functions to be performed are as follows.
  • ⁇ ⁇ 0 is a variable that holds digital data (usually a hash value).
  • 'idxO is a variable that holds an integer representing a user identification number.
  • 'JeviLptr is a variable that holds the identification number of the leaf to which the next accepted event order certification request is assigned. The initial value is 0.
  • 'placeO is a variable that holds a place that represents the node position of the aggregation tree sequentially.
  • ⁇ sflmO is a variable that holds the stack frame.
  • 'F (v0) represents a function that converts digital data ⁇ included in the event order certification request into data that is sequentially assigned to the aggregate tree leaf.
  • F (vO) may be equal to ⁇ ! Or may be the result of applying a predetermined hash function (eg, SHA1) to ⁇ .
  • ⁇ _ ⁇ ⁇ _ ⁇ (1 is a variable that holds the identification number of the aggregation tree sequentially.
  • -make-stackflmCplaceO, V0) is a function that takes place place and digital data V0 as arguments, has place 0 as place part, and returns a stack frame with VO ⁇ value part.
  • ⁇ stack_buf is a variable that holds the state of the stack at a certain moment.
  • FIG. 52 shows a node value calculation processing procedure COMP_NODE_VALS called from the procedure GET_REQ in FIG.
  • COMP_NODE_VALS called from the procedure GET_REQ in FIG.
  • the variables and functions used in this procedure are as follows.
  • ⁇ sflmlb is a variable that holds the stack frame.
  • 'placelb is a variable that holds a place.
  • 'idxlb is a variable that holds an integer.
  • 'levlb is a variable that holds an integer.
  • 'vallb is a variable that holds digital' data (usually a hash value).
  • ⁇ sflmOb is a variable that holds the stack frame.
  • 'placeOb is a variable that holds a place.
  • 'levOb is a variable that holds an integer.
  • ⁇ lev_nw and idx_nw are variables holding integers.
  • hash_comb2 (val0, vail) takes two digital data valO and vail represented by a bit string as arguments, concatenates valO and vail, and returns the result of applying a predetermined hash function (such as SHA1) It is a function.
  • a predetermined hash function such as SHA1
  • FIG. 53 shows the procedure REGISTER_COMPLE_DATA of the delay data setting process called from the procedure GET_REQ in FIG. 51 and the procedure COMP_NODE_VALS in FIG.
  • the variables and functions used in this procedure are as follows.
  • ⁇ place is a variable that holds a place
  • sflm is a variable that holds a stack ⁇ frame.
  • * id is a variable that holds an integer representing a user identification number.
  • ⁇ ⁇ is a variable that holds the total number of registered users.
  • prev_point is the identification number of Kawasaki leaf, and place place as arguments. Otherwise it is a function that returns false.
  • FIG. 54 shows a main routine of sequential aggregation tree switching processing.
  • the global variable _tree_id is incremented by 1, and the two global variables Jev0_ptr and _stack are initialized. To do.
  • These global variables are used in the procedure GET_REQ described in Figure 51.
  • TERMINATE_STREE_SUB1 described in Fig. 55 is configured at the end of the aggregation interval, and nodes are added as necessary based on the sequential aggregation tree. According to the above, assign a predetermined hash value and describe the process for defining the root value of the aggregate tree.
  • TERMINATE_STREE_SUB1 the operation of TERMINATE_STREE_SUB1 will be specifically described according to a specific situation.
  • the state of _stack includes [(1, 4), V (l, 4)] and [(3, 0), V (3, 0)] from the top.
  • Procedure TERMINATE_STREE_SUB1 assigns a dummy hash value to nodes (1,5) and (2,3), determines the root value of this sequential aggregation tree, and at the same time, complete certification path data for each registration point (authentication that can calculate the root value)
  • Step ST1211a sets [(1, 4), V (l, 4)] to local variable sfoil_xb, and —stack is only [(3, 0), V (3, 0)] Will be included.
  • step ST1212a sets (1, 4) to local variable place_xb and 4 to idx_xb.
  • step ST1213a the force for determining whether or not idx_xb is an even number. Since current value 4 of idx_xb is an even number, the process proceeds to step ST1214a.
  • step ST1214a it is determined whether or not _stack is nil. Since _stack is not nil! /, The process proceeds to step ST1215a.
  • make_stackflm is a function that generates a stack frame using the node position information and hash value as arguments.
  • REGISTER_C OMPLE_DATA (defined in Fig. 53) is called with plac_lb and s & iLlb as arguments.
  • step ST1216a! Set lev_nw to 2, and idx_nw to floor (idx_xb, 2)
  • hash_comb2 is a function that takes two hash values as an argument, concatenates them, and returns the result of applying a specified hash function.
  • _stack includes [(2, 2), V (2,2)], [(3, 0), V (3, 0)].
  • REGISTER_COMPLE_DATA is called with placejiw and sftnl_ nw as arguments.
  • the process returns to step ST1211a.
  • step ST1213a idx_xb value 2 is determined to be an even number, and the process proceeds to step ST1214a. Since-stack is not nil, the process further proceeds to step ST1215a.
  • make— stackflm [(2, 3), V (2, 3)]
  • REGISTER_COMPLE_DATA is called with place_lb and sftnUb as arguments.
  • step ST1216a! Set lev_nw to 3 and idx_nw to floor (val_xb, 2)
  • step ST1211a pop one _stack and set sflm_xb to [(3, 1), V (3, 1)].
  • the stack state is [(3, 0), V (3, 0)].
  • place—xb is set to (3, 1) and idx_xb is set to 1.
  • idx_xb value 1 is determined to be an odd number, proceeding to ST1217a, setting lev_xb to 3, and setting vaLxb to V (3, 1).
  • place_0b is set to (3, 0)
  • lev_0b is set to 3
  • idx_0b is set to 0
  • val_0b is set to V (3, 0).
  • V (4, 0) Set sftnl—nw to make-stackflm ((4, 0), V (4, 0 >>) and set sftnl—nw — Push to stack, so that _stack contains [(4,0), V (4, 0)] and call REGISTER_COMPLE_DATA with place_n w and sftnLnw as arguments, and return to step ST1 211a .
  • step ST1211a pop one _stack and set [(4, 0), V (4, 0)] to sflm_xb.
  • the stack state is nil.
  • place_xb is set to (4, 0)
  • idx_x b is set to 0.
  • step ST1213a it is determined that idx_xb value 0 is an even number, and the process proceeds to step ST1214a. Since _stack is nil, the process proceeds to step ST1219a, and the return value is set to V (4, 0) and the process ends.
  • V (4,0) the root value of the sequential aggregate tree.
  • Variable id that holds a non-negative integer that is the identifier of the user device
  • prev_chain_point2 is nil, the block is terminated (step ST1223a).
  • the registration point a is a provisional termination point so that the user device 2A belongs to a certain aggregation interval I or ⁇ or ⁇ is the first registration point of the next aggregation interval.
  • al3 ⁇ 4 When it is the first registration point of the next aggregation interval after an aggregation interval I, it is called a postscript point for that aggregation interval I.
  • a set of registration points registered at the temporary end point a is represented by a (0), a (l), ...
  • a (n) afC, but this is not the case when it is ai3 ⁇ 4 postscript.
  • al ⁇ Represents the al ⁇ leaf number (non-negative integer) when in the aggregation interval, and is a binary representation of af In k, it is assumed that 1 stands for k (l), k (2), ...) digits (however, the minimum digit is 0 digit).
  • k 4. Where k (m) may be 0 and k (l)> k (2)> k (
  • Incremental individual perfection is the following calculation (1) to (3) for the specified a ⁇ ⁇ a (0), a (l), ⁇ , a (n) ⁇ . Is to do.
  • the current sequential aggregation tree is the current sequential aggregation tree when the minimum binary tree that includes the sequential aggregation forest when af ⁇ is a temporary termination point is a temporary termination point.
  • Fig. 59 shows branches of the aggregate tree at the present time by solid lines and dotted lines. Of these, the branches indicated by the dotted lines are not included in the sequential aggregation forest, but are added to form the sequential aggregation tree at the present time. In addition, small circles filled in black are nodes that are sequentially included in the aggregation forest, and small circles that are not filled in are nodes that have been added to form the current sequential aggregation tree.
  • the current aggregate tree is represented as CST, and the authentication path a in CST is set as authP athCST (a).
  • the incremental individual completeness is that the specified a ⁇ ⁇ a (0), a (1), ⁇ , a (n) ⁇ belongs to authPathCST (a) and the assigned value has already been determined. This is equivalent to calculating the assigned value of the current node from the supplementary data obtained at a (0), ⁇ , a (n) (and af).
  • FIG. 60 is a flowchart showing the operation of incremental complete individualization.
  • Step S510a In the sequential aggregation forest shown in Fig. 61, the leaf of index 18 (node (0,18)) is a.
  • step S520a the sequential aggregation tree ST to which the registration point a belongs is calculated (step S520a).
  • the ST2 (2) force T is the second from the left among the configured sequential aggregation trees.
  • each delayed authentication path node s in the ST at the registration point a is calculated (step S530a).
  • the index 19 leaf (node (0, 19)) and the level 2 index 5 node ((node (2,5)) are delayed authentication path nodes.
  • step S540a an acquisition reference point for each delayed authentication path node s is determined.
  • the acquisition reference point and the acquisition timing point will be described.
  • the combination of the immediate complement data at a certain registration point a and the delayed complement data a obtained at the next registration point al after a is referred to as the chain completion data at registration point a.
  • step S550a an allocation value for each certification path node s is calculated (step S550a).
  • FIG. 62 shows a calculation procedure FOREST_SST for sequentially determining aggregated small trees ST. This corresponds to step S520a in FIG.
  • leaf identifier a non-negative integer
  • provisional terminal identifier fin non-negative integer
  • log (X) is the largest integer less than or equal to log (X)
  • expt (x, y) is x to the power of y
  • This algorithm takes leaf identifier a (non-negative integer) and provisional termination point identifier fin (non-negative integer) as input, and a belongs to the sequential aggregation tree that belongs to the sequential aggregation forest at the end of registration of the provisional termination point. If ST is the ST, the leftmost leaf identifier start (non-negative integer) and the rightmost leaf identifier last (non-negative integer) are output. The number of leaves of the sequential aggregation tree ST is last—start + 1, and the height of the sequential aggregation tree is log (last—start + 1).
  • FIG. 63 shows the acquisition reference point determination procedure 1_105_051 ⁇ 0_ for the certified path node assignment value in the incremental perfect case. This procedure determines which assigned registration power of the specified level certification path node for the specified required registration point, which immediate registration data or delayed complementary data power of the required registration point can be obtained. This corresponds to step S540a.
  • Figure 64 shows some of the data structures and variables used in the procedure DECIDE_GET_POINT_A.
  • Data structure Chaindata has the following structure: leaf—index ⁇
  • M the maximum number of order certification requests sent by one user equipment 51 in one aggregation interval.
  • variable chiandata_store is an array with M elements, and each element of the array holds the data structure chaindat a (see Figure 64).
  • ⁇ chaindataO is a variable that holds the data structure chaindata.
  • 'aO is a variable that holds an integer representing the leaf identifier of the sequential aggregation tree.
  • subTree (j, 0 represents a subtree of a sequential aggregation tree with (j, 0 as the root).
  • leafs (ST) represents a set of ST leaves.
  • 1 eafs (subTree (j, 0) is a set of leaves of the subtree subTree (j, 0.
  • height (ST) represents the height of ST.
  • ST be the one to which aO belongs among the sequentially aggregated trees in the configured forest that are al ⁇ provisional termination points (a0 ⁇ leafs (ST)).
  • the authentication path of a0 in ST is set as authPathST (aO)
  • n and m [n to m] Let denote a set of integers greater than or equal to n and less than or equal to m.
  • rtPathST (aO) [(0, r (0)), (1, r (l)), ..., (k 1, r (k 1), (k, r (k))]
  • s (j) rO) + l, 0, s (j)) is the right-child of (j + 1, r (j + l). leafs (subTree (j, r (j) >>) Calculate the rightmost point among the request registration points to which it belongs, and place it as al.
  • the next required registration point of al is set as a2 (There is such a2 because there is no al ⁇ afC. a2 ⁇ af
  • the rightmost registration point belonging to leafs (subTreeO, s (j))) is set as a3.
  • Immediate completion data immedData (a3) includes complete completion data cm pltData (subTree (j, s (j)), a3) of a3 in subTree (j, s (j).
  • the acquisition reference point and the acquisition timing point of V (j, s (j)) may both be a3.
  • the next required registration point of a3 is set as a4. (Because a3 ⁇ a, there is such a4. a4 ⁇ af. a4 may be a postscript point.)
  • V (j, s (j)) is the immediate complement data obtained at a3 and You can calculate the delay complement data power (for a3). That is,
  • immedData (a4) is not necessarily a force containing V (a), which is V (j, sO)).
  • the acquisition reference point of V (j, s (j)) may be a3 and the acquisition timing point may be a4. a3 ⁇ a one a 4 ⁇ afC.
  • the acquisition reference point of VO, s (j)) may be al, and the acquisition timing point of V (j, s (j)) may be a2.
  • rO s (j) + l, and 0, s (j) is the left-child of (j + 1, r (j + l)).
  • Both the acquisition reference point and the acquisition timing point of VO, s (j)) may be aO.
  • the acquisition reference point determination procedure (DECIDE_GET_POINT_A) of the authentication path node assignment value for incremental completeness shown in Fig. 63 is a procedure that considers all cases! Therefore, Fig. 63 shows You can see that the algorithm is correct!
  • chaindataO and chaindatal are variables that hold the data structure chaindata.
  • ⁇ immedDatal and lateDatal are variables that hold a linear list of the data structure stackflm.
  • the chaindata-store is an array for storing data received as a certification response at each registration point in the aggregation period.
  • Each element of the array has a chaindata structure defined in Figure 64.
  • the grid element of this array includes immediate complement data of the grid registration point in the aggregation interval, and delayed complement data of the i-th registration point obtained at the registration point immediately after that.
  • This procedure has two arguments (inputs), the first argument is an integer iO that represents the index of the chaindata_store array, and the second argument is an integer j that sequentially represents the level of the aggregation tree ( Step S55 01a).
  • step S5502a (2) Set chaindata_store [iO] in the local variable chaindataO (step S5502a), set the local variable a0 as the leafjndex part of chaindatal (step S5503a), and set the variable al to the level j of authPath (aO). Set the index of the node (step S5504a).
  • variable rgt—vail sets the chaindatal rgt—val ⁇
  • the variable immedDatal sets the chaindatal imme diate part
  • the variable lateDatal sets the chaindatal late part (step S5508a).
  • Figure 67 shows a list of assigned values V (j, a (j)) for node G, a (j) at level j included in authPath (a) when request registration point a is given.
  • COMPLETION_SUBl (where 0 ⁇ j ⁇ k and k is the height of the aggregate tree)
  • 'k is set as the height of the aggregation tree sequentially.
  • ⁇ Auth_node_vals is an array of length k, and each array element holds a hash value.
  • auth_node_vals is set as a return value, and the process ends (step S5525a).
  • the above-described incremental perfection method is a method of designating an acceptance certificate to be perfected and performing individual perfection of the designated acceptance certificate.
  • the method of incremental perfection described below calculates the same data as that calculated by the above incremental individual perfection by batching a series of acceptance certificates obtained continuously by a user device 51. Is the method.
  • This type of incremental perfection is called incremental batch perfection. That is, the same data as that calculated by the above-mentioned incremental individual completeness is calculated for all of the series of registration points a (0), a (l), ..., a (n). This is called incremental summation.
  • Incremental batch completeness is based on the following procedure using the above-described completeness propagation process. Can be executed.
  • the next registration point of a (n) by the user device 51 is af.
  • af may be a postscript point.
  • Allocation values of authentication path nodes in al ST2 that have a level greater than jl are included in the data added in step S5008a in FIG.
  • al a (n— (i + l) delayed complement data including the one added by the procedure COMPLETION_BULK_BACKWARDl and immediate complement data received in a (n— (i + 1)) It is derived that the allocation values of all certification path nodes in ST2 of a (n— (i + 1) are included.
  • step S5006a in Fig. 68 It is also shown by the same induction that the judgment result in step S5006a in Fig. 68 is NO and no error occurs.
  • the above is the processing method when the data acquired as the user device 51 S event order proof response can be read into the memory of the computer by the chain completion method in one aggregation interval. If there are many registration points by user device 51 at the aggregation interval, and the above acquired data cannot be read into the memory of the computer, a part of the acquired data is read into the memory by the following method, and complete authentication is performed. By calculating the path data in stages, it is possible to calculate the fully certified path data for all registration points in the aggregation interval.
  • a positive integer m as a thinning interval may be specified, and only those whose registration point index is divisible by m may be extracted.
  • the decimation interval is 5, and the registration points with indexes divisible by 5, ie, 0, 5, 10 are shown. Extract and configure the extracted data.
  • the first local data is formed by collecting registration points having an index sandwiched between the first index 0 and the second index 5 of the thinned extracted data. Yes.
  • registration points having an index sandwiched between the second index 5 and the third index 10 of the thinned extracted data are collected to constitute second local data.
  • the assigned value is calculated for the authentication path nodes of a that are lower than le vel (AP (a, al).
  • the assigned value of a certification path node for which an assigned value can be calculated here includes all of the certified pass nodes of a that have been assigned an assigned value when al processing is completed. That is, it includes the delay complement data at the time point al of the registration point a.
  • the allocation value of nodes (1, 0), (2, 1) is used as the delay complement data of the registration point of index 0 by this local data local perfection processing. Is calculated Therefore, the assigned value of node (2, 1) is calculated as the delay complement data of the registration point of index 1, and the assigned value of node (1, 5) is calculated as the delay complement data of the registration point of index 3. It is.
  • the registration point at the rightmost position is the registration point of index 5. If this is set to al, for each registration point a belonging to this local data, level (AP (a, Al ”is smaller than al”, and the assigned value of the certification path node of the level can be calculated, for example, if a is the registration point of index 0, AP (a, al) is (3, 0), It is possible to calculate the assigned value of (0, 0), (1, 0), (2, 1) smaller than the level force 3 ⁇ 4
  • the delay complement data in al of (1, 0), (2, Since it is the assigned value of 1) it can be understood that the delay complement data at the al time can be calculated, and the same applies to other registration points belonging to this local data.
  • the registration points of indexes 0, 1, and 2 of the thinned-out extracted data that is, the certificates of the registration points of leaf numbers 1, 11, and 3 are completely checked. It is possible to calculate the assigned values of all certification path nodes at the three registration points.
  • the certification path nodes at the registration point of index 0 of the thinned-out data are (0, 0), (1, 1), (2, 1), (3, 1), (4, 1). All assigned values can be calculated.
  • step (3) the assigned value of the authentication path node a whose level is less than kl has already been calculated.
  • route value calculation based on supplementary data of the user device 51 will be described. This explains in detail the route value calculation in the first verification function of the user device 51.
  • the user equipment 51 When a certain aggregation interval II ends, the user equipment 51 performs the individual perfection of the acceptance certificate for one certification request RQ transmitted during the aggregation interval II by the above-described method. Thus, it is possible to calculate full certification path data. From the fully-authenticated path data, the assigned value of the root of the aggregate tree of the corresponding aggregation interval can be calculated according to the procedure shown in (1) to (5) below.
  • the complete certification path data includes immediate complement data and delay complement data.
  • Immediate completion data and delay complement data shall consist of supplement data elements in the form of (location information, LR tag, assigned value (hash value)).
  • the LR tag takes one of the values of the tag power R, tag L.
  • the position information includes level information. The following binary relations are defined between the level information.
  • the position information is a combination of a level (represented by a non-negative integer) and an index within the level in a single aggregation tree, and the level information is the first element of the combination, the above two items As a relation, it is only necessary to take a magnitude relation between integers.
  • FIG. 76 is a flowchart showing a method of calculating the root value of the sequential aggregation tree based on the complete certification path data.
  • the check of the complete certification path data that is, the check of whether the immediate completion data has the L tag, the delay complement data has the R tag, and the level information overlapping the full certification path data is checked. After checking, sort in the order of the level information, and connect each assigned value to the LR tag to calculate the route value (step S3101). a, S3102a, S3103a, S3104a, S3105a, S3106a).
  • FIG. 77 shows one sequential aggregation tree ST (n) extracted in a situation where a plurality of sequential aggregation trees are linked as shown in FIG.
  • the route R (n-l) is a node common to the sequential aggregation tree ST (n-1) and the sequential aggregation tree ST (n).
  • the LR tag takes either the L tag or the R tag value.
  • kl (n) is the height of STl (n).
  • Level information (R, TID (n), j)
  • the position information of nodes other than the route Rl (n) is ((R, TID (n), j), i).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 イベント順序証明システム100は、証明装置1、複数の利用者装置2i(i=a,b, …,n)、証明装置1が発行したイベント順序受理証明書の監査を行う監査装置3、及び、以上の各装置を相互に接続するコンピュータネットワーク4を備えており、証明装置1が利用者装置2iからのイベント順序証明要求に応えて、イベント順序受理証明書を発行し、利用者装置2iに返信すると共に、イベント順序受理証明書に疑義が生じた場合には、利用者装置2iは、証明装置1が公表したデータ又は監査装置3による監査結果によってイベント順序受理証明書を検証する。

Description

イベント順序証明方法
技術分野
[0001] 本発明は、デジタル ·データの生成を伴うイベントの生起順序を証明するイベント順 序証明技術に関する。
背景技術
[0002] イベント順序証明技術は、デジタル 'データの生成を伴う複数のイベント間の生起 順序を証明するとともに、そのようなイベントに伴って生成されたデジタル 'データが 何であつたかを証明する技術である。
[0003] 近年、インターネット上での電子商取引の活発化や、デジタル文書管理の利用拡 大に伴い、「誰が、いつ、どんなデータを生成し、交信したか」を第三者が証明する電 子公証の仕組みが必要とされている。電子公証は、送受信者の特定、到達確認、送 受信等の前後関係の証明、改ざんの検知、電子文書保管等の機能を具備するもの であるが、イベント順序証明技術は、このうち、前後関係の証明及び改ざんの検知の 機能を実現するものである。
[0004] 図 1は、このようなイベント順序証明技術を用いたイベント順序証明システムを説明 する図である。同図に示すイベント順序証明システム 900は、利用者 (要求者、検証 者) 30力 Sイベント順序証明の対象データをイベント順序証明装置 10に送信すると、ィ ベント順序証明装置 10が利用者 30力 要求された対象データに対して受付の順番 を示すデータを付したイベント順序受理証明書を生成し、該イベント順序受理証明書 を利用者に返信するようになっている。そして、イベント順序証明装置 10で発行され たイベント順序受理証明書は、 PKI (Public Key Infrastructure ;公開鍵基盤)のもとで デジタル署名を主要な偽造防止 Z証明手段として採用する場合には、一般に、利用 者 30から送られた対象データに受付の順番を付した署名対象データに対するデジタ ル署名を含んだイベント順序受理証明書となって 、る。
[0005] このイベント順序受理証明書の真正性の主要な根拠としてデジタル署名を用いるィ ベント順序証明システムに関しては、イベント順序証明装置 10の不正、イベント順序 受理証明書の有効期間、およびシステム運用の面などにおいて問題点が指摘され ている。そのため、イベント順序受理証明書の真正性の主要な根拠としてデジタル署 名を用いないイベント順序証明の方法も提案されている。例えば、線形リンキング (Li near Linking Protocol)による方法 (例えば、非特許文献 1及び非特許文献 2参照。) は、イベント順序証明装置 10が仮に信頼できな 、としてもシステム全体として高 ヽ安 全性を確保することが可能となっている方法である。図 2は、 PKIに依存しない線形リ ンキングによるイベント順序証明システムを説明する図である。同図に示すイベント順 序証明システム 910は、複数の利用者 30のイベント順序証明対象データ (ハッシュ値) を相互に関連付けるリンク情報 Lを生成し、リンク情報 Lを含むイベント順序受理証 明書を返信するようになっており、各イベント順序受理証明書が、それまでに生成さ れたすべてのイベント順序受理証明書に依存するようになっている。そして、このリン ク情報の一部 (L , L )が定期的にマスメディア等 (例えば新聞)に公表されるので、
M N
これにより、イベント順序証明装置 10の不正を防止し、結果としてシステム全体の信 頼を高めることができるようになって 、る。
[0006] この線形リンキングの方式については、イベント順序証明装置 10の不正を検出する ために利用者 30相互の協力が必要であるという問題点、及び、利用者 30が取得した イベント順序受理証明書を検証、即ち、該イベント順序受理証明書と公表された情報 が所定の方式で関係づけられることを検証するには利用者 30はイベント順序証明装 置 10から大量のデータを取得する必要があるという問題点が指摘されている。
[0007] これらの問題の一部を解決するための方法も提案されて 、る。例えば、非特許文献 3及び非特許文献 4においては、一定期間にイベント順序証明装置で処理されたィ ベント順序証明要求をまとめ公表するデータを計算するために、非特許文献 1及び 非特許文献 2で使われている線形のリストの代わりに、木構造を用いることにより、利 用者 30力 Sイベント順序受理証明書の検証を行うために必要なデータの量を、該一定 期間に受付けられるイベント順序証明要求の数に比例する量から、その対数 (底 2) に比例する量に著しく削減する方法を提案している。
特許文献 1 : S. Haber and W. Stornetta, How to Time-Stamp a Digital Document, Journal of Cryptology, Vol. 3, No. 2, pp. 99—111, 1991
非特許文献 2 : J.- J. Quisquater, H. Massias, J.S. Avila, B. Preneel, B. Van Rompay: Specification and implementation of a timestamping system, Technical Report of Uni versite Catholique de Louvain, 1999, URL: http://www.dice.ucl.ac.be/crypto/TIME SEC/TR4.tgzl
非特許文献 3 : A. Buldas、 H. Lipmaa and B. Schoenmakers, Optim ally efficient accountable time-stamping, in Proceedings of Public Key Cryptography 2000 (PKC2000), eds. Y. Zheng and H. Imai, pp.293— 305, Springer— Verlag, Janu ary 2000
非特許文献 4 : A. Buldas、 H. Lipmaa and B. Schoenmakers, Optim ally efficient accountable time-stamping, in Proceedings of Public Key Cryptography 2000 (PKC2000), eds. Y. Zheng and H. Imai, pp.293— 305, Springer- Verlag, Janua ry 2000
発明の開示
[0008] し力しながら、非特許文献 3及び非特許文献 4に記載の木構造を用いる方式につ いては、次のような問題点がある。
[0009] ある一定期間に異なる 2つの利用者が各々イベント順序証明要求をイベント順序証 明装置に送付し、それら要求が受理されたときにおいて、第 1の利用者のある順序証 明要求の受付けが第 2の利用者のある順序証明要求の受付けより前になされたこと の証明が、当該の期間が終了してイベント順序証明要求をまとめた公表データが公 開されるまではできないという問題がある。即ち、当該の 2つの順序証明要求と公表 データが所定の方式で関係付けられることの検証が、公表データが公開されるまで できないという問題がある。このため、イベント順序証明システムに対する利用者の利 便性が劣るとともに、イベント順序証明装置に障害が発生した時には、イベント順序 受理証明書の検証ができな 、と 、う欠点がある。
[0010] 本発明は、上記の問題を解決するためになされたものであり、木構造を用いてィべ ント順序を証明するイベント順序証明システムにお 、て、イベント順序証明要求をまと めた公表データを用いなくても、イベント順序証明機関力 発行されたイベント順序 受理証明書の検証を行うことができるイベント順序証明方法及びイベント順序証明監 查方法、イベント順序証明システムにおける証明装置及び監査装置、並びにイベント 順序証明プログラム、イベント順序証明監査プログラム、イベント順序証明検証プログ ラム及びイベント時刻検証プログラムを提供することを目的とする。
本発明の第 1の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う利用者装置と、前記利用者装置からの前記証明要求に対する証明書を作成す る証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを介して 相互に接続されたイベント順序証明システムにおけるイベント順序証明方法であって 、前記証明装置が前記利用者装置からの証明要求を受信する順序証明要求受信ス テツプと、前記証明装置が前記証明要求に含まれるデジタル情報から予め定めた手 順に従って順次割当データを作成する順次割当データ計算ステップと、前記証明装 置力 一連の順次割当データを時刻順に有向木のリーフに左力 順次割り当てるこ とによって一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同 一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に 所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法に より、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前 記順次集約木のルートに割り当てるルート値を計算する順序証明要求集約ステップ と、前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当て られた順次集約木及び該順次集約木のリーフを特定する第 1の順次集約木特定情 報を含む証明書を作成する証明書作成ステップと、前記証明装置が前記証明書を 前記利用者装置に送信する証明書送信ステップと、前記証明要求が割り当てられた 前記順次集約木のリーフを登録点と定義し、該登録点から前記順次集約木のルート 値を計算するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該 補完情報のうち、前記証明要求を前記順次集約木に割り当てた時点において取得 可能な補完情報を即時補完情報と定義すると、前記証明装置が、前記証明要求を 前記順次集約木に割り当てた以後に、第 1の監査要求を前記順次集約木に割り当て 、前記証明書と同一の作成方法により、第 1の監査用証明書を作成するとともに、前 記監査要求を前記順次集約木に割り当てた時点における第 1の監査用の即時補完 情報を前記順次集約木から取得し、前記第 1の監査用証明書に含める監査用証明 書作成ステップと、前記証明装置が前記第 1の監査用証明書を前記監査装置に送 信する監査用証明書送信ステップと、前記証明装置が、前記第 1の監査要求を前記 順次集約木に割り当てた以後に、前記利用者装置からの前記証明書の補完情報の 要求を受信する補完情報要求受信ステップと、前記証明装置が、前記補完情報の 要求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第 2 の順次集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得 可能な補完情報を前記順次集約木から取得し、遅延補完情報とする遅延補完情報 作成ステップと、前記証明装置が前記証明書の前記遅延補完情報を前記利用者装 置に送信する遅延補完情報送信ステップと、を有することを特徴とする。
本発明の第 2の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う少なくとも 1つの利用者装置と、利用者装置からの証明要求に対する証明書を作 成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを 介して相互に接続されたイベント順序証明システムにおけるイベント順序証明監査方 法であって、前記証明装置が前記利用者装置から第 1の証明要求を受信する順序 証明要求受信ステップと、前記証明装置が前記第 1の証明要求に含まれるデジタル 情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算 ステップと、前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに 左から順次割り当てることによって一定時間間隔ごとに 1つの集約木が生成される順 次集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値 を連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当 値とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定 時間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序 証明要求集約ステップと、前記証明装置が、前記順次割当データ、並びに前記順次 割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する第 1 の順次集約木特定情報を含む第 1の証明書を作成する証明書作成ステップと、前記 証明装置が前記第 1の証明書を前記利用者装置に送信する証明書送信ステップと、 前記第 1の証明要求が割り当てられた前記順次集約木のリーフを登録点として定義 し、該登録点力 前記順次集約木のルート値を計算するのに必要なノードに関する 情報を前記第 1の証明書の補完情報と定義し、該補完情報のうち、前記第 1の証明 要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完 情報と定義すると、前記証明装置が、複数の監査要求を前記順次集約木に割り当て
、前記第 1の証明書と同一の作成方法により、複数の監査用証明書を作成するととも に、各監査要求を前記順次集約木に割り当てた時点における監査用の即時補完情 報を前記順次集約木から取得し、各監査用証明書に含める監査用証明書作成ステ ップと、前記証明装置が前記複数の監査用証明書を前記監査装置に送信する監査 用証明書送信ステップと、前記証明装置が、前記第 1の証明書送信後に、前記利用 者装置からの前記第 1の証明書の補完情報の要求を受信する補完情報要求受信ス テツプと、前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木 及び前記順次集約木のリーフを特定する第 2の順次集約木特定情報、及び前記補 完情報の要求を割り当てた時点において取得可能な補完情報を前記順次集約木か ら取得し、遅延補完情報とする遅延補完情報作成ステップと、前記証明装置が前記 第 1の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送 信ステップと、前記監査装置が、前記証明装置から前記複数の監査用証明書を受信 する監査用証明書受信ステップと、前記監査装置が、前記利用者装置から前記第 1 の証明書及び前記第 1の証明書の前記遅延補完情報を含む前記第 1の証明書に対 する監査要求を受信する監査要求受信ステップと、前記監査装置が、前記複数の監 查用証明書の中から、前記第 1の証明書に対する監査要求の第 1及び第 2の順次集 約木特定情報に基づいて、前記第 1の証明書より生成された時間的順序が後、かつ 前記遅延補完情報より生成された時間的順序が前である監査用証明書を選択する 第 1の監査用証明書選択ステップと、前記監査装置が、前記順次集約木の特定のノ ードに対して、前記第 1の監査用証明書選択ステップで選択された監査用証明書に 含まれる該ノードの割当値と、前記第 1の証明書に対する監査要求から計算された 該ノードの割当値が一致するか否かの検証に基づいて、前記第 1の証明書の正当性 を監査し、前記第 1の証明書の証明要求の受付時刻と前記第 1の監査用証明書選 択ステップで選択された監査用証明書の監査要求の受付時刻との前後関係を証明 する第 1の証明書監査ステップと、前記監査装置が前記第 1の証明書の監査結果を 前記利用者装置に送信する監査結果送信ステップと、を有することを特徴とする。 本発明の第 3の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行い、証明書の作成を促す利用者装置と、該証明書の真偽を監査する監査装置と に通信ネットワークを介して相互に接続され、前記証明書を作成するイベント順序証 明装置であって、前記利用者装置から証明要求を受信する順序証明要求受信手段 と、前記証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割当デ ータを作成する順次割当データ計算手段と、一連の順次割当データを時刻順に有 向木のリーフに左力 順次割り当てることによって一定時間間隔ごとに 1つの集約木 が生成される順次集約木において、同一の親を有する複数の子に割り当てられたそ れぞれの割当値を連接した連接値に所定の衝突困難一方向関数を適用した結果値 を前記親の割当値とする計算方法により、計算可能なノードの割当値を計算するとと もに、前記一定時間間隔終了後に前記順次集約木のルートに割り当てるルート値を 計算する順序証明要求集約手段と、前記順次割当データ、並びに前記順次割当デ ータが割り当てられた順次集約木及び該順次集約木のリーフを特定する第 1の順次 集約木特定情報を含む証明書を作成する証明書作成手段と、前記証明書を前記利 用者装置に送信する証明書送信手段と、前記証明要求が割り当てられた前記順次 集約木のリーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算 するのに必要なノードに関する情報を前記証明書の補完情報と定義し、該補完情報 のうち、前記証明要求を前記順次集約木に割り当てた時点において取得可能な補 完情報を即時補完情報と定義すると、前記証明要求を前記順次集約木に割り当て た以後に、第 1の監査要求を前記順次集約木に割り当て、前記証明書と同一の作成 方法により、第 1の監査用証明書を作成するとともに、前記第 1の監査要求を前記順 次集約木に割り当てた時点における第 1の監査用の即時補完情報を前記順次集約 木から取得し、該第 1の監査用証明書に含める監査用証明書作成手段と、前記第 1 の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、前記第 1の 監査要求を前記順次集約木に割り当てた以後に、前記利用者装置からの前記証明 書の補完情報の要求を受信する補完情報要求受信手段と、前記補完情報の要求が 割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第 2の順次 集約木特定情報、及び前記補完情報の要求を割り当てた時点において取得可能な 補完情報を前記順次集約木力 取得し、遅延補完情報とする遅延補完情報作成手 段と、前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報 送信手段と、を有することを特徴とする。
本発明の第 4の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う少なくとも 1つの利用者装置と、利用者装置からの証明要求に対する証明書を作 成する証明装置とに通信ネットワークを介して接続され、前記証明書の真偽を監査 するイベント順序証明監査装置であって、前記証明装置は、前記利用者装置からの 第 1の証明要求を受信する順序証明要求受信手段と、前記第 1の証明要求に含まれ るデジタル情報から予め定めた手順に従って順次割当データを作成する順次割当 データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左力 順次 割り当てることによって一定時間間隔ごとに 1つの集約木が生成される順次集約木に おいて、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した 連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計 算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終 了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集 約手段と、前記順次割当データ、並びに前記順次割当データが割り当てられた順次 集約木及び該順次集約木のリーフを特定する第 1の順次集約木特定情報を含む第 1の証明書を作成する証明書作成手段と、前記第 1の証明書を前記利用者装置に送 信する証明書送信手段と、前記第 1の証明要求が割り当てられた前記順次集約木の リーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算するのに 必要なノードに関する情報を前記第 1の証明書の補完情報と定義し、該補完情報の うち、前記第 1の証明要求を前記順次集約木に割り当てた時点において取得可能な 補完情報を即時補完情報と定義すると、複数の監査要求を前記順次集約木に割り 当て、前記第 1の証明書と同一の作成方法により、複数の監査用証明書を作成する とともに、前記複数の監査要求を前記順次集約木に割り当てた時点における監査用 の前記即時補完情報を前記順次集約木から取得し、各監査用証明書に含める監査 用証明書作成手段と、前記複数の監査用証明書を前記監査装置に送信する監査用 証明書送信手段と、前記第 1の証明書送信後に、前記利用者装置からの前記第 1の 証明書の補完情報の要求を受信する補完情報要求受信手段と、前記補完情報の要 求が割り当てられた前記順次集約木及び前記順次集約木のリーフを特定する第 2の 順次集約木特定情報、及び前記補完情報の要求を割り当てた時点にお 、て取得可 能な補完情報を前記順次集約木力 取得し、遅延補完情報とする遅延補完情報作 成手段と、前記第 1の証明書の前記遅延補完情報を前記利用者装置に送信する遅 延補完情報送信手段と、を備え、前記証明装置から前記複数の監査用証明書を受 信する監査用証明書受信手段と、前記利用者装置から前記第 1の証明書及び前記 遅延補完情報を含む前記第 1の証明書に対する監査要求を受信する監査要求受信 手段と、前記複数の監査用証明書の中から、前記第 1の証明書に対する監査要求の 第 1及び第 2の順次集約木特定情報に基づいて、前記第 1の証明書より生成された 時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監 查用証明書を選択する第 1の監査用証明書選択手段と、前記順次集約木の特定の ノードに対して、前記第 1の監査用証明書選択手段で選択された監査用証明書に含 まれる該ノードの割当値と、前記第 1の証明書に対する監査要求から計算された該ノ ードの割当値が一致するか否かの検証に基づいて、前記第 1の証明書の正当性を 監査し、前記第 1の証明書の証明要求の受付時刻と前記第 1の監査用証明書選択 手段によって選択された監査用証明書の監査要求の受付時刻との前後関係を証明 する第 1の証明書監査手段と、前記第 1の証明書の監査結果を前記利用者装置に 送信する監査結果送信手段と、を備えることを特徴とする。
本発明の第 5の側面は、上記したイベント順序証明方法の各ステップを前記証明装 置に実行させるイベント順序証明プログラムを提供することにある。
[0016] 本発明の第 6の側面は、上記したイベント順序証明監査方法の各ステップを前記監 查装置に実行させるイベント順序証明監査プログラムを提供することにある。
[0017] 本発明の第 7の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う少なくとも 1つの利用者装置と、利用者装置からの証明要求に対する証明書を作 成する証明装置と、前記証明書の真偽を監査する監査装置とが通信ネットワークを 介して相互に接続されたイベント順序証明検証システムにおける前記利用者装置の ためのイベント順序証明検証プログラムであって、前記証明装置は、前記利用者装 置力 の第 1の証明要求を受信する順序証明要求受信手段と、前記第 1の証明要求 に含まれるデジタル情報から予め定めた手順に従って順次割当データを作成する順 次割当データ計算手段と、一連の順次割当データを時刻順に有向木のリーフに左 力も順次割り当てることによって一定時間間隔ごとに 1つの集約木が生成される順次 集約木において、同一の親を有する複数の子に割り当てられたそれぞれの割当値を 連接した連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値 とする計算方法により、計算可能なノードの割当値を計算するとともに、前記一定時 間間隔終了後に前記順次集約木のルートに割り当てるルート値を計算する順序証 明要求集約手段と、前記順次割当データ、並びに前記順次割当データが割り当てら れた順次集約木及び該順次集約木のリーフを特定する第 1の順次集約木特定情報 を含む第 1の証明書を作成する証明書作成手段と、前記第 1の証明書を前記利用者 装置に送信する証明書送信手段と、前記第 1の証明要求が割り当てられた前記順次 集約木のリーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算 するのに必要なノードに関する情報を前記第 1の証明書の補完情報と定義し、該補 完情報のうち、前記第 1の証明要求を前記順次集約木に割り当てた時点において取 得可能な補完情報を即時補完情報と定義すると、複数の監査要求を前記順次集約 木に割り当て、前記第 1の証明書と同一の作成方法により、複数の監査用証明書を 作成するとともに、前記複数の監査要求を前記順次集約木に割り当てた時点におけ るそれぞれの監査用の即時補完情報を前記順次集約木から取得し、前記複数の監 查用証明書に含める監査用証明書作成手段と、前記複数の監査用証明書を前記監 查装置に送信する監査用証明書送信手段と、前記第 1の証明書送信後に、前記利 用者装置からの前記第 1の証明書の補完情報の要求を受信する補完情報要求受信 手段と、前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約 木のリーフを特定する第 2の順次集約木特定情報、及び前記補完情報の要求を割り 当てた時点において取得可能な補完情報を前記順次集約木力 取得し、遅延補完 情報とする遅延補完情報作成手段と、前記第 1の証明書の前記遅延補完情報を前 記利用者装置に送信する遅延補完情報送信手段と、を有し、前記監査装置は、前 記証明装置から、前記複数の監査用証明書を受信する監査用証明書受信手段と、 前記利用者装置から、前記第 1の証明書及び前記遅延補完情報を含む前記第 1の 証明書に対する監査要求を受信する監査要求受信手段と、前記複数の監査用証明 書の中から、前記第 1の証明書に対する監査要求の第 1及び第 2の順次集約木特定 情報に基づいて、前記第 1の証明書より生成された時間的順序が後、かつ前記遅延 補完情報より生成された時間的順序が前である監査用証明書を選択する第 1の監査 用証明書選択手段と、前記順次集約木の特定のノードに対して、前記第 1の監査用 証明書選択手段によって選択された監査用証明書に含まれる該ノードの割当値と、 前記第 1の証明書に対する監査要求力 計算された該ノードの割当値が一致するか 否かの検証に基づいて、前記第 1の証明書の正当性を監査し、前記第 1の証明書の 証明要求の受付時刻と前記第 1の監査用証明書選択手段によって選択された監査 用証明書の監査要求の受付時刻の前後関係を証明する第 1の証明書監査手段と、 前記第 1の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と、 を有し、前記第 1の証明要求を前記証明装置に送信する順序証明要求送信ステップ と、前記証明装置から、前記第 1の証明書を受信する証明書受信ステップと、前記第 1の証明書の前記補完情報の要求を前記証明装置に送信する補完情報要求送信ス テツプと、前記証明装置から、前記第 1の証明書の前記補完情報を受信する補完情 報受信ステップと、前記監査要求を前記監査装置に送信する監査要求送信ステップ と、前記第 1の証明書の監査結果を受信する監査結果受信ステップと、を前記利用 者装置に実行させることを特徴とする。 本発明の第 8の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う第 1及び第 2の利用者装置と、各利用者装置力 の複数の証明要求に対して複 数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接 続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プロダラ ムであって、前記イベント順序証明装置は、前記第 1及び第 2の利用者装置から複数 の証明要求を受信する順序証明要求受信手段と、各証明要求に含まれるデジタル 情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算 手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、 一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親を有 する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突 困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可 能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約 木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順序証 明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶 手段と、各証明要求力 作成された順次割当データが割り当てられた前記順次集約 木のリーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算する のに必要なノードに関する情報を前記登録点の補完情報と定義し、該補完情報のう ち、前記順次割当データを前記順次集約木に割り当てた時点にお 、て取得可能な 補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時 点以後において取得可能な補完情報を遅延補完情報と定義し、リーフ aはり右に位 置するリーフ a2の割当処理が終了した時点で定まる前記リーフ alの遅延補完情報を 、前記リーフ alの前記リーフ a2における遅延補完情報といい、さらに、最新の前記要 求力 作成された順次割当データが割り当てられた前記順次集約木のリーフを新登 録点とすると、利用者装置ごとに前記複数の証明要求の登録点に関する情報を記憶 する登録点記憶手段と、各記憶手段によって記憶された情報から、該新登録点の順 次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順次 集約木のリーフを特定する順次集約木特定情報と、前記新登録点の即時補完情報 と、各利用者装置の過去のすべての登録点の新登録点における遅延補完情報と、を 併せることによって前記新登録点に対する証明書を作成する証明書作成手段と、前 記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、を有 し、各利用者装置は、複数の証明要求を前記イベント順序証明装置に送信する証明 要求送信手段と、前記イベント順序証明装置から前記複数の証明要求に対する前 記複数の証明書を受信する証明書受信手段と、前記受信した複数の証明書を記憶 する証明書記憶手段と、前記受信し記憶した複数の証明書のうち、検証対象の証明 書を検証するコンピュータに送信する検証要求送信手段と、前記コンピュータから前 記検証対象の証明書に対する検証結果を受信する検証結果受信手段と、を有し、 前記第 1及び第 2の利用者装置から検証対象の証明書を 1つずつ受信するか、或い は前記第 1の前記利用者装置から検証対象の証明書を 2つ受信する証明書受信ス テツプと、前記受信した 2つの証明書の順次集約木特定情報に基づいて、前記 2つ の証明書のうち発行された順序が時間的に前であると判断された証明書を第 1の証 明書、後であると判断された証明書を第 2の証明書とすると、前記第 1の証明書を送 信した利用者装置に対して前記第 2の証明書の順次集約木特定情報を送信する順 次集約木特定情報送信ステップと、前記第 1の証明書を送信した利用者装置から、 前記第 1の証明書の前記第 2の証明書の発行以降の登録点における遅延補完情報 を受信する遅延補完情報受信ステップと、前記順次集約木の特定のノードに対して 、前記第 2の証明書に含まれるノードの割当値と、前記第 1の証明書および前記遅延 補完情報力 計算されたノードの割当値が一致する力否かの検証に基づいて、各証 明書の正当性及び前記第 1の証明書の登録点が前記第 2の証明書の登録点より時 間的に前であることを証明する検証ステップと、検証結果を前記第 1及び第 2の利用 者装置、或いは前記第 1又は第 2の利用者装置に送信する検証結果送信ステップと 、を前記コンピュータに実行させることを特徴とする。
本発明の第 9の側面は、所定のデジタル情報を生成するイベントの時系列におい て、あるイベントを生成した相対的な時刻、即ち時間的順序、を証明する証明要求を 行う第 1及び第 2の利用者装置と、各利用者装置力 の複数の証明要求に応えて複 数の証明書を作成するイベント順序証明装置とに通信ネットワークを介して相互に接 続されたコンピュータに証明書の正当性を検証させるイベント順序証明検証プロダラ ムであって、前記イベント順序証明装置は、前記第 1及び第 2の利用者装置から複数 の証明要求を受信する順序証明要求受信手段と、各証明要求に含まれるデジタル 情報から予め定めた手順に従って順次割当データを作成する順次割当データ計算 手段と、一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、 一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親を有 する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突 困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可 能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約 木のルートに割り当てるルート値を計算する順序証明要求集約手段と、前記順序証 明要求集約手段で生成される順次集約木に関する情報を記憶する順次集約木記憶 手段と、各証明要求力 作成された順次割当データが割り当てられた前記順次集約 木のリーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算する のに必要な他のノードに関する情報を前記登録点の補完情報と定義し、該補完情報 のうち、前記順次割当データを前記順次集約木に割り当てた時点にぉ 、て取得可 能な補完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当て た時点以後において取得可能な補完情報を遅延補完情報と定義し、リーフ aはり右 に位置するリーフ a2の割当処理が終了した時点で定まる前記リーフ alの遅延補完情 報を、前記リーフ alの前記リーフ a2における遅延補完情報といい、さらに、最新の前 記要求力 作成された順次割当データが割り当てられた前記順次集約木のリーフを 新登録点とすると、利用者装置ごとに前記直前の登録点に関する情報を記憶する登 録点記憶手段と、各記憶手段によって記憶された情報から、該新登録点の順次割当 データと、該順次割当データが割り当てられた順次集約木及び該順次集約木のリー フを特定する順次集約木特定情報と、新登録点の即時補完情報と、前記利用者装 置の前記直前の登録点の前記新登録点における遅延補完情報と、を併せることによ つて前記新登録点に対する証明書を作成する証明書作成手段と、作成された証明 応答を前記利用者装置に送信する証明応答送信手段と、を有し、各利用者装置の 各登録点のうち、前記順次集約木の最も右に割り付けられた登録点を暫定終端点と し、該暫定終端点の割付処理が終了した時点において、所定の登録点の取得可能 な補完情報すベてを計算することを、前記所定の登録点の証明書に対するインクリメ ンタル完全化と定義すると、各利用者装置は、複数の証明要求を前記イベント順序 証明装置に送信する証明要求送信手段と、前記イベント順序証明装置から前記複 数の証明要求に対する前記複数の証明書を受信する証明書受信手段と、前記受信 した複数の証明書を記憶する証明書記憶手段と、前記受信し記憶した複数の証明 書のうち、検証対象の証明書に対して前記インクリメンタル完全ィ匕の処理を行うインク リメンタル完全ィ匕手段と、前記インクリメンタル完全化された証明書を検証する検証要 求をコンピュータに送信する検証要求送信手段と、前記コンピュータから前記検証対 象の前記証明書に対する検証結果を受信する検証結果受信手段と、を有し、前記 第 1及び第 2の利用者装置から検証対象の証明書を 1つずつ受信するか、或いは前 記第 1の利用者装置から検証対象の証明書を 2つ受信する証明書受信ステップと、 前記受信した 2つの証明書の順次集約木特定情報に基づいて、前記 2つの証明書 のうち発行された順序が時間的に前であると判断された証明書を第 1の証明書、後 であると判断された証明書を第 2の証明書とすると、前記第 1の証明書を送信した利 用者装置に、前記第 2の証明書の順次集約木特定情報を送信する順次集約木特定 情報送信ステップと、前記第 1の証明書を送信した利用者装置から、前記第 1の証明 書の前記第 2の証明書の発行以降の登録点における遅延補完情報を受信する遅延 補完情報受信ステップと、前記順次集約木の特定のノードに対して、前記第 2の証明 書に含まれるノードの割当値と、前記第 1の証明書および前記遅延補完情報から計 算されたノードの割当値が一致する力否かの検証に基づいて、各証明書の正当性 及び前記第 1の証明書の登録点が前記第 2の証明書の登録点より時間的に前であ ることを証明する検証ステップと、検証結果を前記第 1及び第 2の利用者装置、或い は前記第 1又は第 2の利用者装置に送信する検証結果送信ステップと、を前記コン ピュータに実行させることを特徴とする。
本発明の第 10の側面は、上記のイベント順序証明検証プログラムを実行する利用 者装置が前記証明要求に付した時刻を検証するコンピュータが読み取り可能なィべ ント時刻検証プログラムを提供することにある。 図面の簡単な説明
[図 1]図 1は、イベント順序証明システムの概念を説明する図である。
[図 2]図 2は、線形リンキングを用いたイベント順序証明システムの概念を説明する図 である。
[図 3]図 3は、本発明の第 1の実施の形態に係るイベント順序証明システムのシステム 構成図である。
[図 4]図 4は、本発明の第 1の実施の形態に係るイベント順序証明システムの別のシ ステム構成図である。
[図 5]図 5は、本発明に用いられる順次集約木の構成を説明する図である。
[図 6]図 6は、本発明におけるイベント順序受理証明書の構成を説明する図である。
[図 7]図 7は、本発明に用いられる順次集約木の認証パスを説明する図である。
[図 8]図 8は、本発明の第 1の実施の形態に係るイベント順序証明システムのイベント 順序証明方法を説明するシーケンス図である。
[図 9]図 9は、本発明の第 1の実施の形態に係るイベント順序証明システムのイベント 順序証明検証方法を説明するシーケンス図である。
[図 10]図 10は、本発明の第 1の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証方法を説明するシーケンス図である。
[図 11]図 11は、本発明の第 1の実施の形態に係るイベント順序証明システムにおけ るユーザ点と監査点の関係を説明する図である。
[図 12]図 12は、本発明の第 1の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証結果を説明する図である。
[図 13]図 13は、本発明の第 2の実施の形態に係るイベント順序証明システムのシス テム構成図である。
[図 14]図 14は、本発明の第 2の実施の形態に係るイベント順序証明システムにおけ るユーザ点と監査点の関係を説明する図である。
[図 15]図 15は、本発明の第 2の実施の形態に係るイベント順序証明システムのィべ ント順序証明方法を説明するシーケンス図である。
[図 16]図 16は、本発明の第 2の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証方法を説明するシーケンス図である。
[図 17]図 17は、本発明の第 2の実施の形態に係るイベント順序証明システムの 2ュ 一ザ間の順序を判定する動作を説明するフローチャート図である。
[図 18]図 18は、本発明の第 2の実施の形態に係るイベント順序証明システムの複合 完全ィ匕によるルート値検証の動作を説明するフローチャート図である。
[図 19]図 19は、本発明の第 2の実施の形態に係るイベント順序証明システムの補完 データ完全ィ匕を説明する図である。
[図 20]図 20は、本発明の第 2の実施の形態に係るイベント順序証明システムの補完 データ完全ィ匕を説明する図である。
[図 21]図 21は、本発明の第 3の実施の形態に係るイベント順序証明システムのシス テム構成図である。
[図 22]図 22は、本発明の第 3の実施の形態に係るイベント順序証明システムのィべ ント順序証明方法のイベント順序証明要求ステップを説明するシーケンス図である。
[図 23]図 23は、本発明の第 3の実施の形態に係るイベント順序証明システムのィべ ント順序証明方法のイベント順序証明要求ステップを説明するシーケンス図である。
[図 24]図 24は、本発明の第 3の実施の形態に係るイベント順序証明システムのィべ ント順序証明方法の監査用受理証明書受信ステップを説明するシーケンス図である
[図 25]図 25は、本発明の第 3の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証方法の区間時刻証明書ステップを説明するシーケンス図である。
[図 26]図 26は、深さの違いを 1以内に押さえ、ダミーノードを作成しない動的な順次 集約木の構成方法を説明する図である。
[図 27]図 27は、インクリメンタルに順次集約木を構成する方法のアルゴリズムを説明 する図である。
[図 28]図 28は、インクリメンタルに順次集約木を構成する方法のアルゴリズムを説明 する図である。
[図 29]図 29は、インクリメンタルに順次集約木を構成する方法を説明する図である。
[図 30]図 30は、インクリメンタルに順次集約木を構成する方法において各ノードに値 を割付けるタイミングを説明する図である。
[図 31]図 31は、認証点の割当値は、監査点の受理証明書内補完データに含まれる ことを説明する図である。
[図 32]図 32は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
[図 33]図 33は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
[図 34]図 34は、本発明の第 4の実施の形態に係るイベント順序証明システムのシス テム構成図である。
[図 35]図 35は、本発明の第 4の実施の形態に係るイベント順序証明システムに用い られる順次集約木の構成を説明する図である。
[図 36]図 36は、本発明の第 4の実施の形態に係るイベント順序証明システムのィべ ント順序受理証明書の構成を示す図である。
[図 37]図 37は、本発明の第 4の実施の形態に係るイベント順序証明システムにおい て各登録点とその補完データを説明する図である。
[図 38]図 38は、本発明の第 4の実施の形態に係るイベント順序証明システムの利用 者装置におけるイベント順序の判定方法を説明する図である。
[図 39]図 39は、本発明の第 4の実施の形態に係るイベント順序証明システムのィべ ント順序証明方法の動作を説明するシーケンス図である。
[図 40]図 40は、本発明の第 4の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証方法の動作を説明するシーケンス図である。
[図 41]図 41は、本発明の第 4の実施の形態に係るイベント順序証明システムのィべ ント順序証明検証方法の動作を説明するシーケンス図である。
[図 42]図 42は、本発明の第 5の実施の形態に係るイベント順序証明システムのシス テム構成図である。
[図 43]図 43は、本発明の第 5の実施の形態に係るイベント順序証明システムのィべ ント順序受理証明書の構成を示す図である。
[図 44]図 44は、本発明の第 5の実施の形態に係るイベント順序証明システムにおけ る完全化波及処理を説明する図である。
[図 45]図 45は、本発明の第 5の実施の形態に係るイベント順序証明システムにおい て完全ィヒ波及処理を用いることにより、連鎖補完方式の証明応答力 シーケンス補 完方式の証明応答を計算できることを示す図である。
[図 46]図 46は、本発明の第 5の実施の形態に係るイベント順序証明システムにおい て第 1の連鎖補完方式を説明する図である。
[図 47]図 47は、本発明の第 5の実施の形態に係るイベント順序証明システムにおい て第 1の連鎖補完方式による証明応答作成の動作を説明するフローチャートである。
[図 48]図 48は、本発明の第 5の実施の形態に係るイベント順序証明システムにおい て第 2の連鎖補完方式を説明する図である。
[図 49]図 49は、本発明の第 5の実施の形態に係るイベント順序証明システムにおい て第 2の連鎖補完方式による証明応答作成の動作を説明するフローチャートである。
[図 50]図 50は、本発明の第 5の実施の形態に係るイベント順序証明システムの第 2 の連鎖補完方式におけるデータ構造の一例である。
[図 51]図 51は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式における即時補完データ及び遅延補完データの計算手順の一例を説明 するフローチャートである。
[図 52]図 52は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるノード値計算順の一例を説明するフローチャートである。
[図 53]図 53は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式における遅延データ設定手順の一例を説明するフローチャートである。
[図 54]図 54は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式における順次集約木の切替処理の一例を説明するフローチャートである。
[図 55]図 55は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式における順次集約木の終端'切替処理のサブルーチンの一例を説明する フローチャートである。
[図 56]図 56は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式における順次集約木の切替処理のサブルーチンの一例を説明するフロー チャートである。
[図 57]図 57は、図 55の処理を具体的に説明する図である。
[図 58]図 58は、順次集約フォレストと順次集約小木を説明する図である。
[図 59]図 59は、順次集約フォレストと現時点順次集約木を説明する図である。
[図 60]図 60は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全個別化の動作を説明するフローチャートであ る。
[図 61]図 61は、図 60の処理を具体的に説明する図である。
[図 62]図 62は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全個別化の順次集約小木決定の計算手順の一 例を説明するフローチャートである。
[図 63]図 63は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル個別完全ィ匕の取得参照点決定の計算手順の一例 を説明するフローチャートである。
[図 64]図 64は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル個別完全化の連鎖補完データ蓄積用データ構造 の一例である。
[図 65]図 65は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル個別完全ィ匕のアルゴリズムを説明する図である。
[図 66]図 66は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル個別完全ィ匕の認証パスノードの割当値の計算手 順の一例を説明するフローチャートである。
[図 67]図 67は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル個別完全ィ匕の認証パスノードの各割当値の計算 手順の一例を説明するフローチャートである。
[図 68]図 68は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル一括個別化の手順の一例を説明するフローチヤ一 トである。 [図 69]図 69は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル一括個別化の根拠を説明する図である。
[図 70]図 70は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル一括個別化の根拠を説明する図である。
[図 71]図 71は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全ィ匕(一部をメモリに納め、多段式に実行する方 式)を説明する図である。
[図 72]図 72は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全ィ匕(一部をメモリに納め、多段式に実行する方 式)を説明する図である。
[図 73]図 73は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全ィ匕(一部をメモリに納め、多段式に実行する方 式)を説明する図である。
[図 74]図 74は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全ィ匕(一部をメモリに納め、多段式に実行する方 式)を説明する図である。
[図 75]図 75は、本発明の第 5の実施の形態に係るイベント順序証明システムの連鎖 補完方式におけるインクリメンタル完全ィ匕(一部をメモリに納め、多段式に実行する方 式)を説明する図である。
[図 76]図 76は、完全認証パスデータによる順次集約木のルート値の計算方法を示 すフローチャートである。
[図 77]図 77は、ある集約間隔の順次集約木のリーフの 1つとして、前の集約間隔の 順次集約木のルート値を取り入れる場合の順次集約木を説明する図である。
[図 78]図 78は、ある集約間隔の順次集約木のリーフの 1つとして、前の集約間隔の 順次集約木のルート値を取り入れる場合の順次集約木を説明する図である。
[図 79]図 79は、ある集約間隔の順次集約木のリーフの 1つとして、前の集約間隔の 順次集約木のルート値を取り入れる場合の完全認証パスデータによる順次集約木の ルート値の計算方法を説明する図である。 [図 80]図 80は、認証点の割当値は、監査点の受理証明書内補完データに含まれる ことを説明する図である。
[図 81]図 81は、認証点の割当値は、監査点の受理証明書内補完データに含まれる ことを説明する図である。
[図 82]図 82は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
[図 83]図 83は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
[図 84]図 84は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
[図 85]図 85は、認証点のレベルより低い認証パスノードは、遅延補完データあるいは 受理証明書内補完データに含まれることを説明する図である。
発明を実施するための最良の形態
[0022] 以下、本発明の実施の形態を図面を用いて説明する。
[0023] <第 1の実施の形態 >
(1 - 1.システム構成)
図 3は、本発明の第 1の実施の形態に係るイベント順序証明システム 100のシステム 構成図である。イベント順序証明システム 100は、イベント順序証明装置 (以下、証明 装置という) 1、複数のイベント順序証明利用者装置 (以下、利用者装置という) 2i (i=a, b, · · ·,!!)、証明装置 1が発行したイベント順序受理証明書 (以下、受理証明書という) の監査を行うイベント順序証明監査装置(以下、監査装置という) 3、及び、以上の各 装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成される コンピュータネットワーク 4を備えており、証明装置 1が利用者装置 2 らのイベント順 序証明要求 (以下、証明要求という)に応えて、受理証明書を発行し、利用者装置 2i に返信すると共に、受理証明書に疑義が生じた場合には、利用者装置 2iは、証明装 置 1が公表したデータ又は監査装置 3による監査結果によって受理証明書を検証す ることができるようになって!/、る。
[0024] 尚、イベント順序証明システム 100のシステム構成は機能が同一であればその形態 は問わないものであり、その物理的構成は種々考えられるものである。例えば、図 4 に示すように、利用者装置 2iの代わりに、イベント順序証明利用者検証装置 (以下、 利用者検証装置と 、う) 6iが受理証明書の検証を行うようにしてもよ 、し、証明装置 1 の代わりに電子的情報公表装置 5が証明装置 1から公表データをもらい、公開するよ うにしてもよい。また、コンピュータネットワーク 4は、郵便など他の通信手段に置き換 えることも可能である。尚、以下においては、図 3のシステム構成のもとに構成及び動 作を説明する。
[0025] 証明装置 1は、コンピュータネットワーク 4を介して利用者装置 2i及び監査装置 3とデ ータの送受信を行う送受信部 11、利用者装置 2iからの証明要求として送信されたデ ジタル ·データを順次集約木を用いてまとめるイベント順序証明要求集約部 12、受理 証明書を作成するイベント順序証明作成部 13、監査装置 3に送信する監査情報を作 成する監査情報作成部 14、利用者装置 2iからの補完データ要求に応えて補完デー タを取得する補完データ取得部 15、証明装置 1が一定期間に発行した複数の受理証 明書の内容を連結したデータに対して高強度デジタル署名をするデジタル署名作成 部 16、高強度デジタル署名されたデータを電子的に公表する電子的情報公表部 17 、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部 1 8を有する構成である。
[0026] 上述したように、イベント順序証明要求集約部 12は、順次集約木を用いてイベント 順序証明要求をまとめるが、この順次集約木について図 5を用いて説明する。図 5に 示す順次集約木は、一定期間 (例えば 1週間など証明装置 1が取り纏めデータを公 表するサイクル、以下、順次集約期間という)において完成される集約木であって、利 用者装置 2i力 の証明要求に含まれるデジタル ·データの全部あるいは一部力 所 定の順次割当データ計算手順に従って生成されたデジタル ·データ (これを順次割 当データと呼ぶ;例えば、証明要求に含まれるデジタル ·データのハッシュ値)を経時 的に順次リーフに左側力 割り当てるようにしている。
[0027] 順次集約木の各ノード (リーフを除く)に割り当てられる値の計算方法は、以下の通 りである。順次集約木の親の割当値は、左側の子の割当値 H'と右側の子の割当値 H "を連接 (ビット列とビット列の結合)し、所定の衝突困難一方向ハッシュ関数 hを適用 した結果であるハッシュ値を計算することにより求められるものであり、これを h(H, II H ")と表す。このようにして下位のレベルの割当値から上位のレベルの割当値を計算し て、最終的に最上位のレベル (ルート)の割当値 (ルート値)を求める。
[0028] 以下においては、図 5に示すように、 16個のリーフを有する順次集約木の場合につ いて説明する。尚、順次集約木リーフの数や高さは、順次集約期間が終了するまで 確定しない。また、順次集約木においては、リーフへの値の割当は左力 順次行わ れ、レベルが 0より大きいノード (即ちリーフではないノード)に対する値の割当は、そ れが可能になったときにインクリメンタルに行われる。従って、図 3の同一の縦線上に ある複数のノードに対しては、値の割当が同一の処理単位の中でほぼ同時に行われ る。
ここで、順次集約木のレベル j、番号 (インデックスともいう) iのノードを (j, i)で表し、 ノード (j, i)の割当値を V(j, 0と表して、図 5に示す具体例を説明する。
[0029] 今、順次割当データがノード (0,5)に割り当てられたとき、即ち、順次集約木リーフに 割り当てるハッシュ値力 SV(0,5)であるとき、このハッシュ値 V(0,5)からルート値 (= V(4,0 ;))を求めるには、 V(0,5)に V(0,4)を左力も連接して、ノ、ッシュ値 hi'を計算し、該ハツシ ュ値 hi'に V(l, 3)を右側から連接してハッシュ値 h2'を計算し、該ハッシュ値 h2'に V(2, 0)を左側から連接してハッシュ値 h3'を計算し、さらに該ハッシュ値 h3'に V(3,l)を右 側から連接してハッシュ値(= V(4, 0))を計算すればよい。このような手順により V(0, 5)とそれを補完するデータ (ここでは V(0, 4), V(l,3), V(2,0), V(3,l))からルート値が計 算できるとき、 V(0, 5)はハッシュ関数 hによりルート値にリンクするという。また、順次集 約木における V(0,5)の補完データ(以下、順次集約補完データという)は、
[(V(0, 4), L) , (V(l, 3), R) , (V(2, 0), L) , (V(3, 1), R)]
となる。ここで、 L及び Rは、各々、 2つのデジタル 'データを連接する際に左から連接 こと、及び右から連接することを表す。
[0030] イベント順序証明作成部 13は、図 6に示すような受理証明書 EOC(y)を作成し、利用 者装置 2iに送信するようになっている。受理証明書 EOC(y)は、利用者から送付され たデジタル ·データ y、上述した順次割当データ計算手順によりデジタル ·データ yか ら計算された順次割当データ z、順次割当データ zが割当てられた順次集約木を一意 に特定できる順次集約木番号、順次割当データ zが割当てられた順次集約木リーフ を一意に特定できる順次集約木リーフ番号、およびその時点で取得できる順次集約 補完データの一部(これを即時補完データと 、う) HKを含むように構成されて 、る。こ のうち、即時補完データ HKについては省くことも可能である。
[0031] また、イベント受理証明書 EOC(y)には、証明装置 1が予め用意しておいた公開鍵暗 号方式キー ·ペアのうちの秘密鍵 (署名用秘密鍵)を用いてデジタル署名をつけて送 信してもよい。この場合、当該公開鍵暗号方式キー ·ペアのうちの公開鍵は公開鍵暗 号基盤などを用いて利用者装置 2i力 アクセス可能になっているものとする。
[0032] 尚、当該の受理証明書 EOC(y)発行後に取得できる順次集約補完データを遅延補 完データという。即ち、受理証明書 EOC(y)が作成される段階においては、即時補完 データだけが利用者装置 2iに送信されるものであり、遅延補完データは、当該の受 理証明書 EOC(y)発行後に要求された場合等に利用者装置 2iに送信されるものであ る。例えば、図 5においては、ノード (0,5)にとつて、ノード割当値 V(2,0)、ノード割当値 V (0,4)は即時補完データである力 ノード割当値 V (1,3)、ノード割当値 V (3,1)はノー ド (0, 15)が割当られた時点以降に取得可能な遅延補完データである。以下では、順 次集約木リーフ番号 iに対して、 V(0, i)のことを短く V(i)と書くこともある。
[0033] 補完データ取得部 15は、利用者装置 2 ら上述した遅延補完データの要求があつ たとき、当該時点に関する情報(当該要求が割り当てられた順次集約木番号、順次 集約木リーフ番号)、及びその時点で確定して!/、る順次集約補完データ (位置情報、 割当値)の全てを利用者装置 2iに返送するようになって 、る。
[0034] ここで、図 7を参照して、順次集約補完データの内容について詳しく説明する。
[0035] 順次集約木の 1つのリーフ tに対する、はり右に位置するもう一つのリーフ t'におけ る補完データ CToken(t, t')は次のように定義される。
[0036] リーフ tから順次集約木のルートに至るパスを tのルート'パスと呼び、 tのルート'パス に属するルート以外のノードの兄弟ノード力 なるノードの並び の認証パスと呼ぶ( 認証パスの詳細な定義は後で与える)。 認証パスの要素の内、はり右に位置するリ ーフ tlの割り当て値が確定した時点にぉ 、て割当値が確定して 、る要素の列を auth PathD(t, tl)とし、これを tlにおける tに対する認証パスと呼ぶ。この列に割当値の情 報を付カ卩したものを authPathDV(t, tl)とし、これを tlにおける tに対する値付認証パス と呼ぶ。
[0037] 以上から、 authPathDV(t, t')は、受理証明書 EOC(y)に含まれていなかった情報を 含めて、補完データ CToken(t, t')を構成するようになっている。
[0038] 尚、 t'が tの属する順次集約木 SBTの生成期間 (順次集約期間)の終了後に生成さ れる次の順次集約木 SBT'のリーフであるときにも、 authPathDV(t, t')には順次集約木 SBTについての情報のみが含まれる。このとき、 CToken(t, t')は、 t時点で受信したィ ベント受理証明書 EOC(y)と組み合わせることにより、当該の順次集約期間における 順次集約木のルート値を計算するのに十分な情報を含んでいる。
[0039] 例えば、図 7において、 CToken(t, t4')は alの位置情報 (0, 3)とその割当値 V(al)の 組 ((0, 3), V(al))、及び a2の位置情報 (2, 1)とその割当値 V(a2)の組 ((2, 1), V(a2》か らなる列 [((0, 3), V(al)), ((2, 1), V(a2))]となる。
[0040] 以下では、受理証明書に含まれる順次集約木の割当て値と組み合わせることにより 前記順次集約木のルート値を計算できるような補完データを該受理証明書の完全補 完データと定義し、上記割当て値および受理証明書に含まれる即時補完データと組 み合わせることにより、前記順次集約木のルート値を計算できるような補完データを 完全遅延補完データと呼ぶ。
[0041] 監査情報作成部 14は、監査情報を順次集約木から取得して監査装置 3に送信する ものであり、より詳しくは、監査情報とは、順次集約木リーフに設けられた監査点にお いて以下に定義するように生成される監査用イベント順序受理証明書 (以下、監査用 受理証明書という)から構成される。ここで、監査点とは、監査装置 3からの監査用ィ ベント順序証明要求 (以下、監査用証明要求という)が割当てられた順次集約二分木 のリーフをいう。
[0042] 尚、図 5においては、監査点は 1つしか設けられていないが、所定のアルゴリズムに 従って複数設けてよいのは勿論であり、また、証明要求に対する受理証明書に対し て後述するような監査を行うためには、監査点は、該証明要求に対応するリーフ(図 3 の具体例においては、ノード (0, 5))に等しいか或いはそれより右側のリーフ(時間的 に後)に割り当てられて ヽればどこに設けて 、てもよ 、ものである。 [0043] 監査用受理証明書の形式は、利用者装置 2iに返送する受理証明書と同一である。 尚、順次割当データを計算するための元となるデジタル ·データ yは、監査装置 3から 証明装置 1に監査用証明要求として送付されたものであってもよいし、当該証明装置 1において、当該の監査装置 2に対して予め定められた何らかの手順に従って生成し てもよい。また、このような手順としては、前以て定められた何らかの手順に従って監 查用受理証明書におけるイベント順序証明の対象となるデジタル文書を作成し、該 デジタル文書に対して前以て定めたハッシュ関数を適用した結果であるハッシュ値を 順次割当データを計算するための元となるデジタル ·データとする方式を採用しても よい。
[0044] 利用者装置 2iは、コンピュータネットワーク 4を介して証明装置 1および監査装置 3と データを送受信する送受信部 21、所定のデジタル ·データを含む証明要求を行うィ ベント順序証明要求部 22、要求時点において取得可能な受理証明書に対する補完 データを要求する補完データ要求部 23、受理証明書を検証するイベント順序証明検 証部 24、受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶 部 25を有する構成である。
[0045] ここで、イベント順序証明検証部 24は、受理証明書に対して以下の検証機能を備 える。
[0046] まず、受理証明書にデジタル署名が含まれる場合には、該デジタル署名に対する デジタル署名検証を行う第 0の検証機能を備える。
[0047] また、証明装置 1から高強度デジタル署名を付すこと等により真正性を保証して公 表される公表情報に、受理証明書に含まれる順次割当データがハッシュ関数を介し てリンクすることを検証する第 1の検証機能を備える。
[0048] さらに、以下に記述するように、証明装置 1からの公表情報が公開される前であって も、監査装置 3を利用することにより、受理証明書の正当性を検証する第 2の検証機 能を備える。
[0049] 監査装置 3は、コンピュータネットワーク 4を介して証明装置 1および利用者装置 2^ データを送受信する送受信部 31、利用者装置 2iからある受理証明書の監査要求を 受けた際には、利用者装置 2iから送信された監査要求情報および自己の監査情報 を用いて受理証明書の検証を行い、その結果を利用者装置 2iに返信するイベント順 序証明監査部 32、及び監査用受理証明書をはじめとする監査情報を記憶する記憶 部 33を有する構成である。
[0050] ここで、イベント順序証明検証部 32の機能について、図 5を用いて説明する。図 5に おいては、 (0, 10)が監査点となっているので、この時点において監査装置 3が受け取 つている監査情報は、上述した通り、 V(3, 0)および V(l, 4)である。一方、利用者装置 2iは、監査要求情報として、 V(0, 5)及び順次集約補完データである V(0, 4), V(l, 3)、 および V(2, 0)を送信するものである。これは、利用者装置 2iが検証を求める時点(即 ち、受理証明書が発行された (0, 5)の時点より後刻である監査点 (0, 10)の時点以降) においては、即時補完データに含まれていな力つた V(l, 3)も証明装置 1から取得する ことが可能であるので、 V(l, 3)を遅延補完データとして利用者装置 が証明装置 1か ら取得し、監査要求情報に含めたものである。そして、イベント順序証明検証部 32は 、自己が有している監査情報 V(3, 0)が、利用者装置 2iから送信された監査要求情報 から計算された V(3, 0)と一致するカゝ否かを検証するものである。
[0051] 尚、以後においては、利用者装置 2iから送信された証明要求から作成された順次 割当データが割り当てられた順次集約木リーフをユーザ点と呼び、監査装置 3から送 信された監査用証明要求カゝら作成された順次割当データが割り当てられた順次集約 木リーフを監査点と呼ぶ。
[0052] ここで、比較検証の対象となる順次集約木のノード(図 5においては、 (3, 0))を以後 、認証点とよぶ。尚、一般に、あるユーザ点の番号が監査点の番号より小さい場合、 認証点のラベル (割当値)は監査情報に含まれており、また、監査点におけるイベント 順序証明処理が終了した時点以降において、利用者装置 2iが受信できる遅延補完 データ力 計算できるラベルには、認証点のラベルが含まれるので、順次集約木に おいてユーザ点、監査点、遅延補完データを要求した点が左からこの順序に位置し ている場合には、上記検証は、常に実施可能なものである力 この理由に関しては後 述する (後述の順次集約木の性質 2の項目(3)を参照)。
[0053] 即ち、上記の手順により利用者装置 2iがある受理証明書に対する第 2の検証を監 查装置 3に依頼して実行するには、該受理証明書の証明要求が割り当てられたリー フ τと、該イベント受理証明書に対する遅延補完データ要求が割り当てられたリーフ τ 'の間( τと τ 'も含む)に監査装置 3の監査点が存在する必要がある。
[0054] 尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置 (C PU : Central Processing Unit)、プログラムやデータを収納する機能を有する RAM(Ra ndom Access Memory)等からなる主記憶装置 (メモリ)、ハードディスク(HD)等の電源 断時にもデータを記憶し続けることが出来る 2次記憶装置を有する電子的な装置から 構成されている。このうち、証明装置 1のイベント順序証明要求集約部 12、イベント順 序証明作成部 13、監査情報作成部 14、補完データ取得部 15、デジタル署名作成部 1 6及び電子的情報公表部 17、利用者装置 2iのイベント順序証明要求部 22、補完デー タ要求部 23及びイベント順序証明検証部 24、並びに監査装置 3のイベント順序証明 監査部 32の処理は、上記 CPUによる演算制御機能を具体的に示したものに他ならな い。また、証明装置 1の記憶部 18、利用者装置 2iの記憶部 25及び監査装置 3の記憶 部 33は、上記主記憶装置あるいは 2次記憶装置の機能を備えたものである。
[0055] また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置 または 2次記憶装置に格納されているものである。そして、このプログラムは、ハード ディスク、フレキシブルディスク、 CD— ROM、 MO、 DVD— ROMなどのコンピュー タ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信すること も可能である。
[0056] (1 - 2.システム動作)
次に、以上の構成を有するイベント順序証明システム 100におけるイベント順序証 明方法、およびイベント順序証明検証方法を図 8乃至 10を用いて説明する。ここで、 図 8は、 1つの順次集約期間において証明装置 1が受理証明書及び監査用受理証 明書を作成する動作を説明するシーケンス図であり、図 9は、利用者装置 2iが受理証 明書に対して第 1の検証を行う動作を説明するフローチャートであり、図 10は、利用 者装置 が受理証明書に対して第 2の検証を行う動作を説明するシーケンス図であ る。
[0057] まず、図 8を参照して、イベント順序証明方法にっ 、て説明する。
[0058] 利用者装置 2iが証明装置 1にデジタル ·データ yを含む証明要求を送信すると、証 明装置 1は送受信部 11を介して、該デジタル,データ yを含む証明要求を受信する (ス テツプ S10, S20)。
次に、イベント順序証明要求集約部 12が、デジタル 'データ yを入力の一部あるい は全部として順次割当データ zを計算し、該順次割当データ zを順次集約木リーフ〖こ 割り当て、インクリメンタルに順次集約木を構成していくとともに、イベント順序証明作 成部 13が、受理証明書 EOC(y)を作成し、送受信部 11を介して利用者装置 2iに受理 証明書 EOC(y)を送信する(ステップ S30, S40, S50)。
[0059] これにより、利用者装置 2iは、受理証明書 EOC(y)を取得することができる (ステップ S60)。尚、受理証明書 EOC(y)には、この時点において取得できる即時補完データを 含めることにしてよ 、が、遅延補完データは含まれて 、な 、。
[0060] 同様にして、監査装置 3も監査用証明要求を送信すると、証明装置 1は送受信部 11 を介して、監査用証明要求を受信する (ステップ S70, S80)。
[0061] 次に、イベント順序証明要求集約部 12が、監査用証明要求から計算された監査用 順次割当データを順次集約木リーフに割り当てて、インクリメンタルに順次集約木を 構成していくとともに、監査情報作成部 13は、監査用受理証明書を作成し、送受信 部 11を介して監査装置 3に監査用受理証明書を送信する (ステップ S90, S100, S110
) o
[0062] これにより、監査装置 3は、監査用受理証明書を取得することができる (ステップ S12 0)。
[0063] 次に、利用者装置 2iは、取得した受理証明に対する遅延補完データ要求を証明装 置 1に送信すると、証明装置 1は送受信部 11を介して、該遅延補完データ要求を受信 する (ステップ S130, S140)。
[0064] 次 、で、証明装置 1の補完データ取得部 15は、その時点で取得可能な上記受理証 明書に対する補完データを取得し、遅延補完データとして送受信部 11を介して利用 者装置 2iに送信する(ステップ S150, S160)。
[0065] これにより、利用者装置 2iは、監査に必要な遅延補完データを取得することができ る(ステップ S 170)。
[0066] そして、順次集約のための一定期間 (順次集約期間)内においては、上述した証明 装置 1の動作は繰り返され、順次集約期間が終了すると、順次集約木のルート値を 計算し、電子的情報公表部 17は、このルート値を電子的に公表する (ステップ S180, S190, S200) oこの際、該情報の真正性を保証するため、高強度デジタル署名作成 部 16を用いて高強度のデジタル署名を付した公表情報を公開してもよ!/ヽ。
[0067] 尚、図 8に示すイベント順序証明方法においては、監査装置 3の方から証明装置 1 に監査情報要求を送信し、これに応えて証明装置 1が監査装置 3に監査情報を送信 する方式であつたが、これとは異なり、証明装置 1が監査装置 3に監査情報を自動的 に送信するような方式であってもよ 、。
[0068] 次に、図 9を参照しながら、電子的に公表された公表情報を用いたイベント順序証 明検証方法について説明する。これは、利用者装置 2iの第 1の検証機能に相当する ものである。
[0069] まず、利用者装置 2iは、自己が証明装置 1に証明要求として送信したデジタル 'デ →Ί、並びに受信した受理証明書 EOC(y)及び遅延補完データに含まれて 、る順次 集約補完データ(この時点においては、すべての順次集約補完データを取得可能で ある)力も順次集約木のルート値 RHcalを計算する (ステップ S310)。
[0070] 次に、高強度のデジタル署名を付して電子的に公表されている同一順次集約期間 のルート値 RHを取得し、このルート値 RHが、計算したルート値 RHcalに一致するか 否か検証する(ステップ S320, S330)。
[0071] 以上の検証において、検証に成功すれば、受理証明書が改ざんされていないこと を確認することができる (ステップ S340)。一方、検証に失敗すれば、受理証明書が 改ざんされていることを確認することができる (ステップ S350)。これにより、高強度の デジタル署名を付すなどの手段により真正性を保証しながらが電子的に公表された 後においては、公表された情報を利用して、証明装置 1が発行した受理証明書が、 当該の順次集約期間において、受理証明書に含まれる元デジタル ·データに対して 、受理証明書に含まれる順次集約木リーフ番号で識別される順番にぉ 、て発行され たものであることを確実に検証することができる。
[0072] 次に、図 10を参照しながら、監査装置 3を用いたイベント順序証明検証方法につい て説明する。これは、利用者装置 2iの第 2の検証機能に相当するものである。 [0073] 利用者装置 2iは、監査要求の前に検証の対象となる受理証明書の遅延補完デー タを証明装置 1に要求する (ステップ S410)。この要求を証明装置 1が送受信部 11を 介して受信すると、補完データ取得部 15は、受理証明書に即時補完データが含まれ る場合には、この時点にぉ 、て取得できる遅延補完データの全て力も即時補完デー タを除いたものからなる遅延補完データを、受理証明書に即時補完データが含まれ ない場合には、この時点において取得できる遅延補完データの全てを取得し、送受 信部 11を介して利用者装置 2iに送信する (ステップ S420, S430, S440)。これにより、 利用者装置 2iは、補完データを取得するので、イベント順序証明検証部 24は、これに 既に受け取つている受理証明書を加えた監査要求情報を監査装置 3に送信する (ス テツプ S450, S460)。
[0074] 次に、監査装置 3が監査要求情報を送受信部 31を介して受信すると、イベント順序 証明監査部 32は、既に自分が受信した監査用受理証明書が割当てられた順次集約 木のリーフの中で、受信したこの監査要求情報に含まれる受理証明書が割当てられ た順次集約木リーフてとその遅延補完情報に含まれるリーフて 'の間にある監査点 OC を計算する (ステップ S470, S480) o続いて、監査要求情報から τの αによる認証点を 計算し、該認証点の割当値 Acalを計算する (ステップ S490)。一方、イベント順序証 明検証部 32は、監査情報として既に受け取って 、るこの認証点の割当値 Aを記憶部 33から取得して、この認証点の割当値 A力 計算により求めた認証点の割当値 Acal に一致するか否かを検証する(ステップ S500, S510)。
[0075] 以上の検証において、検証に成功すれば、受理証明書が改ざんされていないこと を確認することができる (ステップ S520)。一方、検証に失敗すれば、受理証明書が 改ざんされていることを確認することができる (ステップ S530)。そして、イベント順序 証明監査部 32は、この監査結果を送受部 31を介して利用者装置 2iに送信し、利用者 装置 2iは、監査結果を受信する(ステップ S540, S550)。
[0076] これにより、利用者装置 2iは、電子的公表機関を介した公表前においても、証明装 置 1が発行した受理証明書が当該の順次集約期間において、受理証明書に含まれ る元デジタル ·データに対して、受理証明書に含まれる順次集約木リーフ番号で識 別される順番において発行されたものであることを確実に検証することができる。尚、 上記監査結果に監査点 αの識別子を含めてもよい。この場合においては、利用者装 置 2iは、上記監査を要求した受理証明書に対応する証明要求の登録が、監査点 α に対応する監査用証明要求の登録より前であったことの保証を監査装置 3から確実 に得ることができる。
[0077] なお、ステップ S540の監査結果の送信に際しては、監査装置 3が受信した補完デ ータを含む部分に対して、証明監査装置 3が持つ署名用秘密鍵を用 V、てデジタル署 名を付して、該デジタル署名を含めた検証結果を構成し、利用者装置 2iに送信する ようにしてもよい。これにより、監査装置 3によるデジタル署名が信用されるという前提 の下で、順次集約木のルート値に対する有効なデジタル署名が入手できな 、場合で あっても、利用者装置 2iを利用する利用者は、上記受理証明書によるイベント順序証 明の正当性を客観的に第三者に証明することができるようになる。
[0078] (1 - 3.イベント順序監査方法)
次に、上述した第 2の検証である監査装置 3を用いたイベント順序証明検証方法に ついて、より詳しく説明する。
[0079] 尚、以下では、時刻の原点として、イベント順序証明システム 100のサービス開始時 点をとり、時間を計る単位として一つの値 (例えば 1秒、 1ミリ秒等)を定め、時刻を上 記原点から上記の時間の単位で計った整数で表現するものとする。
[0080] ここで、イベント順序証明検証方法を説明するための幾つかの予備定義を与える。
[0081] 順次集約木 SBTにおいて、 1つのノード pはレベル jとレベル内の番号 iで識別される 1S ノード pのレベルと番号を各々 level(P), index(p)と書く。
[0082] また、順次集約木リーフ番号 iで識別される順次集約木 SBTのリーフを lea SBT, i), 1 eaKSBT, 0に順次割当値を割り当てる元となった証明要求を受付けて該リーフに割 当値を割り当てる一連の処理を該リーフに対する処理ラウンドと言い、 round(SBT, i) と表す。文脈からどの順次集約木について論じているか明らかなときは、単に lea i), round(i)と記すこともある。
[0083] 順次集約木には、生成された順に 0から始まる識別番号を付与し、これを順次集約 木番号という。 n番目の順次集約木リーフの数を N(n)とおく。
[0084] 各受理証明書に対しては、順次集約木番号 nと順次集約木リーフ番号 iが付与され 、該受理証明書が発行された順次集約木リーフをそれら 2つの番号の組で指定する ことができる。このような組を拡張リーフ識別子と呼ぶ。 2つの拡張リーフ識別子 V 1 = (nl, il), v 2 = (n2, i2)の間の順序を辞書式順序を用いて定義する。即ち、 v 1 < V 2とは、 nl < n2、または nl = n2かつ il < i2のことと定義する。また v 1 ≤ V 2とは、 V 1く V 2または V 1 = V 2のことと定義する。 V = (n, i)を拡張リーフ識 別子とし、この識別子で識別される順次集約木リーフがあるとき、該リーフを lea v ) = leaKn, 0と表す。 leaK v )を単に、リーフ vと呼ぶこともあり、 lea v )が監査点(ある いはユーザ点)であるときは、監査点 V (あるいはユーザ点 V )と呼ぶこともある。
[0085] また、ある順次集約木 SBTのリーフ lea SBT, i)について、この順次集約木 SBTのリ ーフに順次割当値を割り当てる元となった証明要求の受付時刻を、該リーフに対応 する時刻といい、これ ime(SBT, 0あるいは簡単に time(i)と表す。同様に、 lea v )に ついて、このリーフに順次割当値を割り当てる元となった証明要求の受付時刻を、 tim e( v )と表す。
[0086] 利用者装置 2iが、監査装置 3を用いて、ある受理証明書に対する第 2の検証を実行 するには、上述したように該受理証明書に対応する順次集約木リーフてと、該受理 証明書に対する遅延補完データ要求に対応する順次集約木リーフて 'の間( τと τ ' も含む)に監査装置 3の監査点 aが存在する必要がある。このためには、 Tをある正整 数とし、以下の 3つの条件(1)〜(3)が成り立てば十分である。
[0087] (1)監査装置 3の最初の監査点の時刻は Tより小さい。
[0088] (2)監査装置 3による任意の 1つの監査点を α、次の監査点を α 'とすると、
timei, )— time( α )≥ Τ
が成り立つ。
[0089] (3)利用者装置 2iは、拡張リーフ識別子ての順次集約木リーフで受理証明書を受 信した後のある順次集約木リーフ τ 'で該受理証明書に対する遅延補完データを受 信することとし、
time( τ ')一 time、 τ )≤ T
が成り立つ。
[0090] 尚、これらの条件の十分性の理由に関しては後述する (後述の次集約木の性質 3の (1)と (2)を参照)。
[0091] 図 11に示すようなある順次集約木 SBTに属する監査装置 3の監査点 αにおいて、 監査装置 3は監査用受理証明書を受信するものとする。監査用受理証明書には、 a における即時補完データが含まれている。この即時補完データには、順次集約木 SB Tの任意のリーフ τで αより左にあるものの割当値 V(て )が次のような意味で結合して いる。即ち、 τの αによる認証点 ρ2の割当値 V(p2)が上記の即時補完データに含ま れ、この認証点の割当値は V( τ )から出発して authPath( τ )に属する幾つかのノード の割当値をハッシュ関数 hによりリンクすることにより計算できる(これが成立つ理由に ついては、後述の順次集約木の性質 2の項目(1)を参照)。
[0092] これにより、監査装置 3は監査点 aで受信した監査用受理証明書内の即時補完デ ータに、上記 V(p2)が含まれているか否かにより、利用者がユーザ点てで取得した受 理証明書の元となった要求の送信及び証明装置 1による要求受付けが、監査装置 3 が監査点 (Xで取得した監査用受理証明書の受信より時間的に前であることを検証す ることができる(これを検証結果 1とする。図 12を参照)。
ここで、証明装置 1の直列化可能性について説明する。証明装置 1の直列化可能性 とは、該証明装置が任意の複数の順序証明要求を受付け処理する際に、該複数の 要求を直列に並べるある順序付けがあり、その順序に従って順次受けて、それに対 する処理結果である受理証明書を返信し、その後次の要求の処理を行った場合と同 じ結果となることと定義する。
[0093] 証明装置の直列化可能性は重要な要件であり、本実施の形態においては、直列 化可能性を保証する手段を有するものとする。このような手段としては、証明装置が 1 つ順序証明要求を受付けたとき、該要求に対する受理証明を送信して力ものみ次の 要求受付けることを監視する直列性監査装置を用いてもょ 、。
[0094] この直列化可能性を用いれば、ユーザ点と監査点の順序関係につ!、て検証結果 1 より強いことを結論することができる。例えば、順序証明装置 1の直列化可能性が、監 查装置 3が監査点 ocで取得した受理証明書の受信時まで保証されて!、たとすると、 上記検証により、ユーザ点てに対応する順序証明要求の受付けが、監査点 ocに対 応する監査用順序証明要求の受付けより時間的に前であることを結論できる (これを 検証結果 2とする。図 12を参照)。なぜならば、直列化された順序証明要求の処理に おいて、 (Xに対応する監査用順序証明要求の受付けがてに対応する監査用順序証 明要求の受付けより前であれば、 αに対応する受理証明書 EOC( a )は、 τに対応す る監査用順序証明要求 EOR( τ )の受付けより前に送信されることになり、 EOC( a ) E OR( τ )が含むイベント値カ 、ッシュ関数を介して結合するデータを含めることは出来 ないからである。以上から、監査装置 3が監査点 αで取得した監査用受理証明書の 受信時まで、証明装置 1の直列化可能性が推認されるときには、ユーザ点てに対応 する順序証明要求の受付けは、監査点 Oに対応する監査用順序証明要求の受付け より時間的に前であることが推認される。以後、このことを「ユーザ点の未来側の境界 付け」という。
[0095] 尚、監査装置 3が監査点 ocで取得した監査用受理証明書の受信時までの証明装 置 1の直列化可能性を保証しても、監査装置 3が受理証明の一部として即時補完デ ータを受信していなければ、上記のことは言えないことに注意する必要がある。なぜ ならば、監査装置 3が監査点 αで取得した監査用受理証明書の受信時より後に、証 明装置がてにおける割当て値を改変する可能性を除くことはできないからである。
[0096] 従って、第 1の実施の形態のイベント順序証明システム 100によれば、利用者装置 2i 力 証明要求を受付けた証明装置 1が、該要求に含まれるデジタル ·データ力 計算 される順次割当値及び前記順次割当データが割り当てられた順次集約木の位置情 報を含む受理証明書及び補完データを発行し、補完情報順次集約木のルート値に 対して高強度デジタル署名を付す等の手段により真正性を保証しながら電子的に公 表するので、利用者装置 2iは公表情報および補完データから簡単に受理証明書の 検証をすることができる。また、順次集約木のルート値を電子的に公表する前であつ ても、監査装置 3が順次集約木の監査点に関する監査情報を有しているので、監査 装置 5は利用者装置 2iからの監査要求を受けて、受理証明書の監査をすることができ る。
[0097] この結果、受理証明書の正当性を検証できたときには、証明装置 1における監査対 象とした受理証明書の証明要求受信が、監査に用いた監査用受理証明書の証明要 求受信よりも時間的に前であることを証明することができる。 [0098] <第 2の実施の形態 >
(2- 1.システム構成)
図 13は、本発明の第 2の実施の形態に係るイベント順序証明システム 200のシステ ム構成図である。イベント順序証明システム 200は、イベント順序証明装置 (以下、証 明装置という) 7、複数のイベント順序証明利用者装置 (以下、利用者装置という) 2i (i =a,b,… )、証明装置 7が発行したイベント順序受理証明書 (以下、受理証明書とい う)の監査を行うイベント順序証明監査装置(以下、監査装置という) 8、及び、以上の 各装置を相互に接続する、例えば、インターネット網、電話回線網などにより構成さ れるコンピュータネットワーク 4を備えており、証明装置 7が利用者装置 2i力 のィベン ト順序証明要求 (以下、証明要求という)に応えて、受理証明書を発行し、利用者装 置 2iに返信すると共に、受理証明書に疑義が生じた場合には、利用者装置 2iは、証 明装置 7が公表したデータ又は監査装置 8による監査結果によって受理証明書を検 証することができるようになって!/、る。
[0099] ここで、第 2の実施の形態は、第 1の実施の形態とほぼ同様のシステム構成である 力 監査装置 8が、各順次集約期間の終了後に、その順次集約期間中に取得した各 監査用受理証明書の完全遅延補完データを、証明装置 7に要求して (あるいは事前 の契約に基づいて)取得するという点が異なっている。尚、本実施の形態においては 、第 1の実施の形態と異なる構成及び機能を説明し、その他の構成及び機能に関し ては同一部分には同一符号を付して説明を省略する。
[0100] また、第 1の実施の形態と同様に第 2の実施形態においても、イベント順序証明シ ステム 200のシステム構成は機能が同一であればその形態は問わないものであり、そ の物理的構成は種々考えられるものである。例えば、利用者装置 2iの代わりに、図 4 に示した利用者検証装置 6iが受理証明書の検証を行うようにしてもよいし、証明装置 7の代わりに、図 4に示した電子的情報公表装置 5が証明装置 7から公表データをもら い、公開するようにしてもよい。また、コンピュータネットワーク 4は、郵便など他の通信 手段に置き換えることも可能である。
[0101] 証明装置 7は、コンピュータネットワーク 4を介して利用者装置 2i及び監査装置 8とデ ータの送受信を行う送受信部 11、利用者装置 2iからの証明要求として送信されたデ ジタル ·データを順次集約木を用いてまとめるイベント順序証明要求集約部 12、受理 証明書を作成するイベント順序証明作成部 13、監査装置 8に送信する監査情報を作 成する監査情報作成部 71、利用者装置 2iからの補完データ要求に応えて補完デー タを取得する補完データ取得部 15、証明装置 7が一定期間に発行した複数の受理証 明書の内容を連結したデータに対して高強度デジタル署名をするデジタル署名作成 部 16、高強度デジタル署名されたデータを電子的に公表する電子的情報公表部 17 、及び受理証明書をはじめとするイベント順序証明に関する情報を記憶する記憶部 7 2を有する構成である。
[0102] 監査情報作成部 71は、各監査点における監査用受理証明書を順次集約木から取 得して作成することに加えて、各順次集約期間の終了後に、その順次集約期間に取 得した各監査用受理証明書の完全遅延補完データを取得して作成するようになって いる。
[0103] 監査装置 8は、コンピュータネットワーク 4を介して証明装置 7および利用者装置 2iと データを送受信する送受信部 31、証明装置 7に各監査用受理証明書の完全遅延補 完データの要求を行う補完データ要求部 81、利用者装置 2iからある受理証明書の監 查要求を受けた際には、利用者装置 2iから送信された監査要求情報及び監査情報( 監査用受理証明書に加えて該監査用受理証明書の完全遅延補完データも含める) を用いて受理証明書の検証を行い、その結果を利用者装置 2iに返信するイベント順 序証明監査部 82、及び監査用受理証明書をはじめとする監査情報を記憶する記憶 部 83を有する構成である。
[0104] イベント順序証明監査部 82は、第 1の実施の形態のイベント順序証明監査部 32の 機能(「ユーザ点の未来側の境界付け」)に加えて、後述する「ユーザ点の過去側の 境界付け」を検証できる機能を有するようになつている。これは、あるユーザ点がある 監査点よりも左にあること (即ち、時間的に前にあること)にカ卩えて、あるユーザ点があ る監査点より右にあること (即ち、時間的に後であること)を監査できることを意味する
[0105] 以下、図 14を参照しながら、この「ユーザ点の過去側の境界付け」について 説明 する。 [0106] 尚、以下では、監査装置 8が各順次集約期間の終了後に、その順次集約期間に取 得した各監査用受理証明書の完全遅延補完データを取得することを、監査装置 8は 複合完全補完を行うという。
[0107] 本実施の形態においては、監査装置 8は、順次集約期間が終わるごとに、該順次 集約期間に受信した監査用受理証明書に対する完全遅延補完データを取得するの で、監査用受理証明書に含まれる即時補完データと該遅延補完データを組み合わ せることにより、監査装置 8は、該順次集約期間に受信した監査用イベント受理証明 書に対する完全補完データを取得することになる。
[0108] ここで、利用者装置 2iと監査装置 8は、第 1の実施の形態で述べた条件(1)〜(3)を 満たすものとする。 てを利用者装置 2iによるユーザ点で、 T ≤ time(て )を満たすもの とする。 T ≤ time( τ )という条件から、上述の条件(1)により τより左にある(即ち時間 的に前にある)監査装置 8による監査点が存在する。そのような監査点の一つを α 1と おく。 α ΐとして、上記条件を満たす監査点のうち最も右に位置するものをとることにし てもよい。監査は以下の手順に従って実行される。
[0109] ( 1)利用者装置 2iがユーザ点てで取得した受理証明書 (順次集約木リーフ番号、 即時補完データ)を監査装置 8に送付する。
[0110] (2)監査装置 8は利用者装置 2iから送付された受理証明書に含まれる順次集約木 リーフ番号を取り出し、該受理証明書に対応する順次集約木リーフてを特定し、自分 が取得した監査用受理証明書の中から、 てより左に位置する順次集約木リーフに対 応するものを選ぶ。このような監査用受理証明書の中から、対応する順次集約木リー フがもっとも右に位置するものを選んでもよい。このように選ばれた監査用受理証明 書に対応する順次集約木リーフを OC 1とする。
[0111] (3)監査装置 8は複合完全補完を行うので、監査装置 8は監査点《1に対応する監 查用受理証明書の完全遅延補完データを取得する。該遅延補完データに対応する 順次集約木リーフは、 τと等しいか右に位置する(時間的に後である)。
[0112] (4)監査装置 8は、監査点《1に対応する監査用受理証明書とそれに対する上記 遅延補完データから、監査点 ex 1のユーザ点てによる認証点 ρ2の割当値を計算する ことができる。 [0113] (5)従って、監査装置 8は、利用者装置 2iから受信した順次集約木リーフてに対応 する受理証明書内の即時補完データに、上記計算した監査点 (X 1のユーザ点てによ る認証点の割当値が含まれることを検証することにより、 a 1がてより左に位置すること を監査することができる。
[0114] この検証結果からまず言えることは、監査点 α 1に対応する監査装置 7の監査用証 明要求が証明装置 7に受信された時刻 1、 てに対応する利用者装置 2iの証明要 求が証明装置 7に受信された時刻 2、この要求に対する受理証明書が証明装置 7 力も送信された時刻を t2'とおくと、 tl < t2'ということである。
[0115] ここで、本実施の形態においても、証明装置 7の直列化可能性は保証されている、 即ち、 t2'の時点まで証明装置 7の直列化可能性は保証されているとすると、さらに、 t 1 < t2ということも結論できる。以上から、証明装置 7がユーザ点てに対応する受理 証明書を利用者装置 2iに送信した時刻まで、証明装置 7の直列化可能性が推認され るときには、監査点 α 1に対応する監査用証明要求の受付けは、ユーザ点 τに対応 する利用者装置 2iの証明要求の受付けより時間的に前であることが推認される。
[0116] 尚、 t2'時点までの証明装置 1の直列化可能性を保証しても、利用者装置 2iが受理 証明の一部として即時補完データを受信して 、なければ、上記のことは言えな!/、こと に注意する必要がある。なぜならば、 t2'時点より後で、証明装置 7が監査点 α 1にお ける割当て値を改変する可能性を除くことはできないからである。
[0117] 尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置 (C PU : Central Processing Unit)、プログラムやデータを収納する機能を有する RAM(Ra ndom Access Memory)等からなる主記憶装置 (メモリ)、ハードディスク(HD)等の電源 断時にもデータを記憶し続けることが出来る 2次記憶装置を有する電子的な装置から 構成されている。このうち、証明装置 7の監査情報作成部 71、並びに監査装置 8の補 完データ要求部 81及びイベント順序証明監査部 82の処理は、上記 CPUによる演算 制御機能を具体的に示したものに他ならない。また、証明装置 7の記憶部 72及び監 查装置 8の記憶部 83は、上記主記憶装置あるいは 2次記憶装置の機能を備えたもの である。
[0118] また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置 または 2次記憶装置に格納されているものである。そして、このプログラムは、ハード ディスク、フレキシブルディスク、 CD— ROM、 MO、 DVD— ROMなどのコンピュー タ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信すること も可能である。
[0119] (2- 2.システム動作)
次に、以上の構成を有するイベント順序証明システム 200におけるイベント順序証 明方法、およびイベント順序証明検証方法を図 15及び図 16を用いて説明する。ここ で、図 15は、 1つの順次集約期間において証明装置 7がイベント受理証明書及び監 查用受理証明書を作成する動作を説明するシーケンス図であり、図 16は、利用者装 置 2 Sイベント受理証明書に対して第 2の検証を行う動作を説明するシーケンス図で ある。
[0120] まず、図 15に示すイベント順序証明方法について説明する。尚、本実施の形態に 係るイベント順序証明方法において、その動作のほとんどは第 1の実施の形態と同様 であり、図 8のステップ S10〜S200は、図 15のステップ S610〜S800と同一で、その後 のステップ S810〜S850が新たに追加されたものである。従って、以下ではこの追加さ れたステップにつ!、てのみ説明する。
[0121] 順次集約のための一定期間が終了すると、証明装置 7の監査情報作成部 71は、監 查装置 8からの完全遅延補完データ要求に対して、この集約期間内に発行した各監 查用受理証明書の完全遅延補完データを取得し、監査装置 8に送信する (ステップ S 810, S820, S830, S840)。
[0122] これにより、監査装置 8は、各監査用受理証明書の完全遅延補完データを受信する
(ステップ S850)。
尚、図 15に示すイベント順序証明方法においては、監査装置 8の方から証明装置 7 に完全遅延補完データ要求を送信し、これに応えて証明装置 7が監査装置 8に完全 遅延補完データを送信する方式であつたが、これとは異なり、証明装置 7が監査装置 8に完全遅延補完データを自動的に送信するような方式であってもよ!/ヽ。
[0123] 次に、図 16を参照しながら、監査装置 8を用いたイベント順序証明検証方法につい て説明する。これは、利用者装置 2iの第 2の検証機能に相当するものである。ここで、 利用者装置 2iの第 2の検証機能に関しては、第 1の実施の形態の検証機能(「ユーザ 点の未来側の境界付け」 )に、新たな検証機能(「ユーザ点の過去側の境界付け」 )が 加わったものであり、この新たな機能の動作を示すのが図 16である。即ち、本実施の 形態の「ユーザ点の未来側の境界付け」に関する検証処理は、第 1の実施の形態で 示された図 10の動作と全く同一であるため、説明は省略し、「ユーザ点の過去側の 境界付け」に関する検証処理について説明する。また、利用者装置 2iの第 1の検証 機能に相当する検証方法については、第 1の実施の形態における検証方法と同一 であるため、説明を省略する。
[0124] まず、利用者装置 2iは、監査の対象となる受理証明書 (但し、即時補完データは含 まれて 、る)を含む監査要求情報を監査装置 8に送信する (ステップ S910, S920)。
[0125] 次に、監査装置 8は送受信部 31を介して監査要求情報を受信すると、イベント順序 証明監査部 82は、利用者装置 2iから送信された監査要求情報に含まれる受理証明 書が割り当てられた順次集約木のリーフてを特定し、該リーフてより左に位置する監 查点 α 1を計算する(ステップ S930, S940) oそして、この監査点 α 1の監査用受理証 明書および該監査用受理証明書の完全遅延補完データを取得する (ステップ S950)
[0126] 続いて監査点 a 1のリーフてによる認証点を計算し、監査点 a 1の監査用受理証明 書および該監査用受理証明書の完全遅延補完データから認証点の割当値 Acalを 計算する (ステップ S960, S970) o一方、イベント順序証明監査部 82は、監査要求情 報として既に受け取つている受理証明書の即時補完データ力 この認証点の割当値 Aを取得して、この認証点の割当値 A力 計算により求めた認証点の割当値 Acalに 一致するか否かを検証する(ステップ S980, S990)。
[0127] 以上の検証において、検証に成功すれば、受理証明書が改ざんされていないこと を確認することができる (ステップ S995)。一方、検証に失敗すれば、受理証明書が 改ざんされていることを確認することができる (ステップ S1000)。そして、イベント順序 証明監査部 82は、この監査結果を送受部 31を介して利用者装置 2iに送信し、利用者 装置 2iは、監査結果を受信する(ステップ S1010, S1020) o
[0128] これにより、利用者装置 2iは、電子的公表機関を介した公表前においても、証明装 置 7が発行した受理証明書が当該の順次集約期間において、受理証明書に含まれ る元デジタル ·データに対して、受理証明書に含まれる順次集約木リーフ番号で識 別される順番において発行されたものであることを確実に検証することができるととも に、ユーザ点の過去側の境界付けを検証することができる。尚、上記監査結果に監 查点 a 1の識別子を含めてもよい。この場合においては、利用者装置 2iは、上記監査 を要求した受理証明書に対応する証明要求の登録が、監査点 α 1に対応する監査 用証明要求の登録より後であったことの保証を監査装置 8から確実に得ることができ る。
[0129] 尚、以上においては、「ユーザ点の過去側の境界付け」に関する検証処理の動作 を説明したが、監査装置 8は、「ユーザ点の未来側の境界付け」とともに「ユーザ点の 過去側の境界付け」に関する検証処理を行うようにしてもよぐこの場合には、監査要 求情報として、第 1の実施の形態における受理証明書および遅延補完データが必要 となる。
[0130] 従って、第 2の実施の形態のイベント順序証明システム 200によれば、第 1の実施の 形態と同じ効果を得ることができる。また、これに加えて、受理証明書の正当性を検 証できたときには、証明装置 7において監査対象とした受理証明書の証明要求受信 が監査に用いた監査用受理証明書の証明要求受信よりも時間的に後であることを証 明することができる。
以上、第 2の実施の形態について説明した力 第 2の実施の形態には種々の変形 例が考えられるものである。以下、第 2の実施の形態の変形例について説明する。
[0131] (2- 3.第 2の実施の形態の変形例 1)
監査装置 8は、上述した「ユーザ点の未来側の境界付け」及び「ユーザ点の過去側 の境界付け」の機能から、 2つのユーザ点の間の順序の判定を示すことも可能である 。次に、 2つの利用者装置 2aと 2bが各々、順次集約木リーフ τと τ 1において受理証 明書を取得するとき、監査装置 8がてとて 1の前後関係を監査する方法について図 1 7を参照して説明する。ここで、図 17は、監査装置 8が τと τ 1の前後関係を監査する 動作を示すフローチャート図である。
[0132] 以下、順次集約木のリーフ τ、 τ 1について、 τ (或いは τ 1)の時点とは τ (或いは て 1)に割り付けられた順序証明要求を受信した時点を表し、 て ≤ て 1と書くことによ り、 τの時点以降に τ 1の時点があることを表す。以下では、 τと τ ΐの大きい方を τ 2とし、 て 2で受信した順序証明要求に対する受理証明の送信の時点までは証明装 置 1の直列化可能性が保証されているものとする。
[0133] 尚、利用者装置 2a及び 2bと監査装置 8は、それぞれ第 1の実施の形態の「ユーザ点 の未来側の境界付け」の説明で述べた条件(1)〜(3)を満たすものとする。
[0134] まず、監査装置 8が、利用者装置 2a及び 2bより、各受理証明書のユーザ点間の順 序判定要求を受けると、 τに等しいか右に位置する監査装置 8の監査点で最も左に 位置するものを αとし、 て 1に等しいか右に位置する監査装置 8の監査点で最も左に 位置するものを α ΐとして、決定する(ステップ S1110, S1120, S1130)。
[0135] 次に、監査点 αと a 1の時間的前後を比較する (ステップ S1140)。これは、各監査 点の監査用受理証明書の順次集約木番号及び順次集約木リーフ番号から判断する ものである。
[0136] a < α ΐのときは、第 1の実施の形態の「ユーザ点の未来側の境界付け」及び上 記「ユーザ点の過去側の境界付け」で述べた方法により、以下のように τ < τ ΐが示 される(ステップ S1150)。
[0137] これは、 τ 1に等しいか左に位置する監査装置 8の監査点でもっとも右に位置するも のを α 2とおくと、 α ≤ a 2であり、また、「ユーザ点の未来側の境界付け」で述べた 方法により、 て ≤ aが示されるとともに、「ユーザ点の過去側の境界付け」で述べた 方法により、 α 2 ≤ τ 1が示されるので、以上より、 τ < a ≤ α 2 < τ 1となり、 τ < τ 1が導かれるものである。
[0138] 同様に、 a l < αのときは、 τ ΐ < τが示される(ステップ SI 180)。
a = a lのときは、 τと τ ΐの前後関係の判定は、以下の手順(1)〜(3)に従って 行われる。
[0139] ( 1)利用者装置 2aがてとその遅延補完点て 'で取得する情報からユーザ点ての監 查点 ocによる認証点の位置と割当値が計算され、監査装置 8が監査点 ocで取得する 監査用受理証明書に含まれる即時補完データに上記認証点の割当値が含まれてい ることにより、監査装置 8は τが、 aより左にあること、さらに τ力 aより、幾つ左にあ るかを判定する。ここで、 τ力 αより η個左にあるものとする(ステップ S1160)。
[0140] (2)同様に、利用者装置 2bがて 1とその遅延補完点て 1 'で取得する情報からて 1の 監査点 ocによる認証点の位置と割当値が計算され、監査装置 8が監査点 ocで取得す る監査用受理証明書に含まれる即時補完データに上記認証点の割当値が含まれて いることにより、監査装置 8はて 1が、ひより左にあること、さらにて 1が、ひより、幾つ左 にあるかを判定する。ここで、 τ ΐが、 αより nl個左にあるものとする(ステップ S1160)。
[0141] (3) n > nlのときは、監査装置 8は、利用者装置 2aによるユーザ点 τが利用者装 置 2bによるユーザ点てはり左に位置することを示すことができる(ステップ S1170)。ま た、 n < nlのときは、監査装置 8は、利用者装置 2aによるユーザ点 τが利用者装置 2 bによるユーザ点てはり右に位置することを示すことができる (ステップ S1170)。
[0142] 従って、第 2の実施の形態の変形例 1によれば、第 2の実施の形態の効果に加えて 、複数の受理証明書の時間的順序の判定をすることができる。
[0143] (2 -4.第 2の実施の形態の変形例 2)
また、監査装置 8は、各順次集約期間の終了後に、その順次集約期間に取得した 各監査用受理証明書の完全遅延補完データを取得する (複合完全補完を行う)と同 時に、各監査用受理証明とその完全補完データ力 順次集約木のルート値を計算し 、計算されたルート値が公表されたルート値に一致する力否かを検証することが可能 である。このことを監査装置 8による「複合完全化によるルート値検証」と呼ぶ。
[0144] これは、図 18に示すように、監査装置 8が、順次集約木のルート値を計算し、計算し たルート値力 証明装置 7から公表されたルート値と一致する力否かを検証することで 、証明装置 7による不正が行われていないことを検証するものである (ステップ S1210, S1220, S1230, S1240, S1250)。
[0145] また、監査装置 8は、この「複合完全ィ匕によるルート値検証」の機能により、利用者 装置 2iからの監査要求に含まれる監査要求情報の正当性を検証することができる。
[0146] 例えば、ある順次集約木 SBTの構成終了後に、利用者装置 2aが、リーフ (0, τ )の割 当値を本来の割当値 V(て )から割当値 v'に改変し、割当値 v'が V(root(SBT))にハツシ ュ関数 hによりリンクすることを主張したとする。このとき、第三者にこの主張を認めさせ るためには、利用者装置 2aは、リーフ (0, τ )の補完データ Kv(0), LR(0)), (v(l), LR(D), · · ·, (v(k-l), LR(k- 1》]
を用意し、 vとこの補完データをハッシュ関数 hにより所定の方式で組み合わせること により V(root(SVT))が計算できることを示さなければならない。この計算の過程にお いては、ユーザ点ての監査点 aによる認証点(図 11の p2)の割当値 ν2'も計算される 。 ν2'はハッシュ関数の衝突困難性によって(実用上無視できる確率を除いて) round( α )において監査装置 8に送付された p2の割当値 V(p2)とは異なる。一方、監査装置 8 は、 V( a )力 出発し、 authPath( a )に属するノードの割当値をノヽッシュ関数 hによりリ ンクすることにより V(root(SBT》を計算する。 p2は authPath )に属するので、 V(p2)も 結合される値の 1つである。ここで (実用上無視できる確率を除いて) ν2' ≠ V(p2)で あるから、再びハッシュ関数の衝突困難性により、利用者装置 2aが計算によって示す root(SBT)の割当値と監査装置 8が複合完全ィ匕によるルート値検証において計算する root(SBT)の割当値とは(実用上無視できる確率を除いて)異なることになる(この点に ついての詳細は、後述の順次集約木の性質 4を参照)。従って監査装置 8は利用者 装置 2aの主張が誤りであることを検出することができる。
[0147] 従って、第 2の実施の形態の変形例 2によれば、第 2の実施の形態の効果に加えて 、電子的情報公表機関が公表した順次集約木のルート値の正当性を検証することが できる。また、監査装置 8のルート値検証機能により、証明装置 1及び利用者装置 2iの V、ずれかにお 、て不正があつたとしても、不正の切り分けをすることができる。
[0148] (2- 5.第 2の実施の形態の変形例 3)
また、監査装置 8は、利用者装置 2iに完全補完データを提供する機能を備えること ができる。以下、このことを補完データ完全化という。これは、証明装置 7が障害など でサービス中断したときに有効に機能するものである。また、証明装置 1がサービス中 断しなくても、公表データ公開時や、補完データ要求が一時に大量に発生したときな どに証明装置 7の負荷軽減に役立つものである。
[0149] 図 19を参照して補完データ完全ィ匕について説明する。
[0150] 図 19において、監査装置 8が監査点 aの完全補完データを持つならば、該完全補 完データと利用者装置 2iが、イベント受理証明書を取得するユーザ点 uとその遅延補 完データを取得する点 uで取得する情報を組み合わせることによりユーザ点 uの完全 補完データを計算することができる (以下、性質 P1という)。
[0151] なぜならば、図 19で、 jlはユーザ点 uの監査点 aによる認証点のレベルであり、ユー ザ点 uの認証パス情報のうち、レベル jはり小さいノードの情報はユーザ甲が取得して おり、レベル jl以上 kより小さいノードの情報は監査装置 8が取得しているからである。 但し、 kは順次集約木の高さである。
[0152] 例えば、公開間隔が 1週間とし、 1日級の監査装置 8(少なくとも 1日に一回監査情報 を取得し、各監査点の完全補完データを取得する機関)があるものとする。利用者装 置 2iは受理証明書を取得したのち、 1日以上経過してから、遅延補完データを取得 することにより、利用者装置 2iの取得する情報と、監査装置 8の取得する情報を組み 合わせることにより利用者装置 2iが取得した受理証明書の完全補完データを構成す ることができる(上記性質 P1による)。
[0153] 次に図 20を参照して、 2つ以上の監査装置 8i(i=a,b,n)を介して利用者装置 2iが完 全補完データを取得する方法について説明する。尚、監査装置 8iとしては、上述した 1日級の監査装置 8a (少なくとも 1日に一回監査情報を取得し、各監査点の完全補完 データを取得する機関)と監査装置 8a依存の 1時間級の監査装置 8b (少なくとも 1時間 に一回監査情報を取得し、各監査点の遅延補完データ点を監査装置 8aの監査点を 挟むように設定する装置)があるとする。
[0154] このとき利用者装置 2iは受理証明書を所得したのち、 1時間以上経過してから、遅 延補完データを取得することにより、利用者装置 2iの取得する情報、監査装置 8bの 取得する情報、及び監査装置 8aの取得する情報を組み合わせることによりユーザ点 の完全補完データを構成することができる。
[0155] このことは、上記性質 P1を繰り返し用いることにより示される。まず、監査装置 8aの取 得する情報と監査装置 8bの取得する情報を組み合わせることにより、監査点 a2の認 証パス情報が得られる。従って、図 17の場合の例と同様に、ユーザ点 uの認証パス 情報が得られる。
[0156] 尚、上述した監査装置 8a及び 8bの監査点に関する条件は、例えば、監査装置 8a依 存の 1時間級の監査装置 8bは、自己の各監査点の遅延補完データを 1日以上たつ て力 取得してもよいし、あるいは 1日級の監査装置 8aの監査点が 1日の定時 (例え ば午前 0時)に取得されることが分力つていれば、毎日の監査点の遅延補完データを 、その日の終了後にまとめてとるようにしてもよい。また、上記例においては 2つのレ ベルの監査装置 8iを利用しているが、同様に 3つ以上のレベルの監査装置 8iを利用 することも可會である。
[0157] <第 3の実施の形態 >
(3 - 1.システム構成)
図 21は、本発明の第 3の実施の形態に係るイベント順序証明システム 300のシステ ム構成図である。イベント順序証明システム 300は、イベント順序証明装置 (以下、証 明装置という) 1、時刻情報提供装置 90、複数の時刻証明利用者装置 (以下、利用者 装置という) 10j (j=a,b,… )、複数のイベント順序証明利用者装置 &時刻証明装置( 以下、利用者装置 (時刻証明装置)という) 20i (i=a,b, ···,:!)、イベント順序証明監査 装置 &イベント時刻監査装置 (以下、監査装置という) 9、及び、以上の各装置を相互 に接続する、例えば、インターネット網、電話回線網などにより構成されるコンビユー タネットワーク 4を備えており、イベント順序証明を行うとともに、時刻証明を行うコンビ ユータシステムとなっている。即ち、利用者装置(時刻証明装置) 20iは、上記実施の 形態の利用者装置 2iの機能に加えて、時刻証明を行う時刻証明装置の機能も備え ており、利用者装置 10jからの時刻証明要求に応えて、時刻受理証明書を発行し、利 用者装置 10jに返信するようになっている。また、利用者装置 2(Mが、上記時刻受理証 明書のダイジェストを含むイベント順序証明要求 (以下、証明要求という)を証明装置 1に送信すると、証明装置 1は、該証明要求に応えて、イベント順序受理証明書 (以下 、受理証明書という)を発行し、利用者装置 20iに返信するようになっている。そして、 この受理証明書に疑義が生じた場合には、利用者装置 20iは、証明装置 1が公表した データ又は監査装置 9による監査結果によって受理証明書を検証することができると ともに、受理証明書と時刻受理証明書が対応付けられているので、区間時刻証を取 得できるようになつている。
[0158] 尚、本実施の形態においては、上記実施の形態と異なる構成及び機能を説明し、 その他の構成及び機能に関しては同一部分には同一符号を付して説明を省略する [0159] また、上記実施の形態と同様に、第 3の実施形態においても、イベント順序証明シ ステム 300のシステム構成は機能が同一であればその形態は問わないものであり、そ の物理的構成は種々考えられるものである。例えば、利用者装置(時刻証明装置) 20 iの代わりに、利用者検証装置(時刻証明装置) 60iが受理証明書の検証を行うように してもよいし、証明装置 1の代わりに、電子的情報公表装置 5が証明装置 1から公表デ ータをもらい、公開するようにしてもよい。また、コンピュータネットワーク 4は、郵便など 他の通信手段に置き換えることも可能である。
[0160] さらに、本実施の形態においても、第 1の実施の形態と同様に証明装置 1の直列化 可能性は保証されているものとする。保証の手段としては、第 1の実施の形態におけ ると同様、直列化可能性監査装置を用いることにしてもよい。
[0161] 時刻情報提供装置 90は、正確な時刻情報を保持して、利用者装置 (時刻証明装置 ) 20i及び監査装置 9に時刻情報を提供するようになって ヽる。
[0162] 利用者装置 10jは、利用者装置 (時刻証明装置) 20iに所定のデジタル 'データを含 む時刻証明要求をし、その応答として利用者装置 (時刻証明装置) 20iから時刻情報 が付された時刻受理証明書を取得するようになって 、る。
[0163] 利用者装置 (時刻証明装置) 20iは、上述したように利用者装置 2iの機能に時刻証 明装置の機能を付加した装置で、コンピュータネットワーク 4を介して証明装置 1、監 查装置 9、利用者装置 10j及び時刻情報提供装置 90とデータを送受信する送受信部 21、利用者装置 10jからの時刻証明要求を受け付けて時刻受理証明書を作成する時 刻証明作成部 201、時刻受理証明書ダイジェストを含む証明要求を行うイベント順序 証明要求部 202、現時点において取得可能な受理証明書に対する補完データを要 求する補完データ要求部 23、受理証明書を検証するイベント順序証明検証部 204、 受理証明書をはじめとするイベント順序証明に関する情報及び時刻受理証明書をは じめとする時刻証明に関する情報を記憶する記憶部 205を有する構成である。尚、本 実施の形態においては、イベント順序証明利用者装置として、時刻証明装置を兼ね た利用者装置を採用しているが、時刻証明装置を兼ねない利用者装置が存在しても よぐ利用者装置 (時刻証明装置) 20iと利用者装置 が混在するようなシステム構成 としてちよい。 [0164] 詳しくは、時刻証明作成部 202は、利用者装置 10jから送信された所定のデジタル' データを含む時刻証明要求を受け付けて、該デジタル ·データに時刻情報提供装置 90から取得した時刻情報を付した時刻受理証明書を作成するようになって 、る。
[0165] イベント順序証明要求部 203は、利用者装置 10jからの時刻証明要求に対して作成 された時刻受理証明書のハッシュ値である時刻受理証明書ダイジェスト (利用者装置 (時刻証明装置) 2(Mが予め用意した衝突困難一方向ハッシュ関数を時刻受理証明 書に適用した結果)をイベント受理証明要求に含めるようになつている。従って、利用 者装置 (時刻証明装置) 2(Mが、証明装置 1から受信する受理証明書は、その構成に おいて図 6に示す通りである力 元デジタル ·データ yは、上述したように、時刻受理 証明書ダイジェストを含むものとなって 、る。
[0166] 監査装置 9は、第 1の実施の形態の監査装置 3の機能に加えて、時刻監査装置とし ての機能を備えており、詳しくは、コンピュータネットワーク 4を介して証明装置 1、利用 者装置 (時刻証明装置) 20i及び時刻情報提供装置 90とデータを送受信する送受信 部 31、利用者装置 20iからある受理証明書の監査要求を受けた際には、利用者装置 20iから送信された監査要求情報および監査情報を用いて受理証明書の検証を行 ヽ 、その監査結果を利用者装置 20iに返信するイベント順序証明監査部 32、及び検証 した受理証明書に対応する時刻受理証明書に付された時刻の含まれる時間区間を 証明する区間時刻証明証を作成する区間時刻証明証作成部 91、監査用受理証明 書、区間時刻証明証をはじめとする監査情報を記憶する記憶部 92を有する構成であ る。尚、本実施の形態においては、イベント順序証明監査装置としては、イベント時 刻監査装置を兼ねた監査装置を採用しているが、イベント時刻監査装置を兼ねない 監査装置が存在してもよぐ監査装置 9と監査装置 3が混在するようなシステム構成と してちよい。
[0167] 区間時刻証明証作成部 91は、監査用受理証明書を証明装置 1から受信したときの 時刻を、時刻情報提供装置 30から取得して、区間時刻証明証に付すようになつてい る。従って、区間時刻証明証作成部 91で作成される区間時刻証明証には、本実施の 形態においては、未来側の境界の時刻印が付されている。これは、第 1の実施の形 態で述べたように、監査装置 3を用いたイベント順序証明検証 (利用者装置 2iの第 2 の検証)により、イベント受理証明要求が割り当てられた順次集約木のリーフが監査 点のリーフよりも時間的に前であることが証明できるので、イベント順序証明要求の元 となる利用者装置 10iからの時刻証明要求の受付が、監査装置 9が監査用受理証明 書を受信した時刻よりも時間的に前であることを証明するものである。ここで、本実施 の形態におけるこの区間時刻証明証を「第 1種の区間時刻証明証」という。
[0168] 尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置 (C PU: Central Processing Unit)、プログラムやデータを収納する機能を有する RAM(Ra ndom Access Memory)等からなる主記憶装置 (メモリ)、ハードディスク(HD)等の電源 断時にもデータを記憶し続けることが出来る 2次記憶装置を有する電子的な装置から 構成されている。このうち、利用者装置(時刻証明装置) 20iの時刻証明作成部 202、 イベント順序証明要求部 203、補完データ要求部 204及びイベント順序証明検証部 20 5、並びに監査装置 9の区間時刻証明証作成部 91の処理は、上記 CPUによる演算制 御機能を具体的に示したものに他ならない。また、利用者装置 (時刻証明装置) 20iの 記憶部 206及び監査装置 9の記憶部 92は、上記主記憶装置あるいは 2次記憶装置の 機能を備えたものである。
[0169] また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置 または 2次記憶装置に格納されているものである。そして、このプログラムは、ハード ディスク、フレキシブルディスク、 CD— ROM、 MO、 DVD— ROMなどのコンピュー タ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信すること も可能である。
[0170] (3- 2.システム動作)
次に、以上の構成を有するイベント順序証明システム 300におけるイベント順序証 明方法およびイベント順序証明検証方法を図 22乃至 25を用いて説明する。
[0171] 尚、イベント順序証明方法においては、利用者装置 (時刻証明装置) 20iを利用者 装置 2i、監査装置 9を監査装置 3とすれば、全体的な動作は、図 8に示す動作とほぼ 同一であるため、異なる動作となる利用者装置 (時刻証明装置) 20iと利用者装置 10j 間のやりとりを中心に説明する。ここで、図 20及び図 23は、図 8のステップ S10に相 当するイベント順序証明要求を送信するステップ S10'を詳しく説明するシーケンス図 である(図 22においては、図 8のステップ S60に相当する受理証明書を受信するステ ップ S60'も含む)。また、図 24は、図 8のステップ S120に相当する監査用受理証明書 を受信するステップ S120'を詳しく説明するシーケンス図である。
[0172] また、イベント順序証明検証方法の第 1の検証にぉ 、ては、利用者装置 20iを利用 者装置 2iとすれば、図 9に示す動作と同一であるため、説明を省略する。また、ィベン ト順序証明検証方法の第 2の検証においては、監査装置 9を監査装置 3とすれば、図 10に示す動作とほぼ同一であるため、異なる動作となる監査装置 9の区間時刻証の 作成について説明する。ここで、図 25は、図 10のステップ S520に相当するイベント受 理証明書の検証に成功したときのステップ S520'を詳しく説明するシーケンス図であ る。
[0173] まず、図 22を参照して、イベント順序証明方法のイベント順序証明要求を送信する ステップ S10'について説明する。
[0174] 利用者装置 10jが利用者装置 (時刻証明装置) 20iにデジタル ·データを含む時刻 証明要求を送信すると、利用者装置 (時刻証明装置) 20iは送受信部 201を介して、該 デジタル ·データを含む時刻証明要求を受信する (ステップ S11 '、 S12')。次に、利用 者装置 (時刻証明装置) 20の時刻証明作成部 201は、時刻証明要求を受信した時刻 を時刻情報提供装置 90カゝら取得し、デジタル ·データに該時刻を付した時刻受理証 明書を作成し、利用者装置 10jに送信する (ステップ S13' , S14' , S15')。これにより、 利用者装置 10jは、時刻受理証明書を受信するので、時刻受理証明書を取得するこ とができる (ステップ S 16')。
[0175] 次いで、利用者装置(時刻証明装置) 20iのイベント順序証明要求部 203は、時刻受 理証明書のダイジェストを生成し、時刻受理証明書ダイジェストを含む証明要求を作 成し、証明装置 1に送信する (ステップ S17' , S18' )。この結果、証明装置 1は、送受 信部 11を介して、証明要求を受信する (ステップ S20' )。
[0176] 尚、上述した方法にお!、ては、利用者装置 10jに時刻受理証明書だけを返信した 力 図 23に示すように、利用者装置 10jに時刻受理証明書に加えて、受理証明書を 返信する方法も考えられる。
[0177] 図 23においては、ステップ S10'のイベント順序証明要求ステップでは、時刻受理証 明書を返信せずに、図 8のステップ S60に相当するステップ S60'のイベント受理証明 書受信ステップで、時刻受理証明書および受理証明書を返信する。即ち、利用者装 置 (時刻証明装置) 20iは、証明装置 1から受理証明書を受信すると、受理証明書およ び該受理証明書に対応する時刻受理証明書を利用者装置 10jに送信するものである (ステップ S61 ' ,ステップ S62' )。これにより、利用者装置 10jは、受理証明書および時 刻受理証明書の双方を受信する(ステップ S63')。
[0178] 次に、図 24を参照して、監査用受理証明書を受信するステップ S120' について説 明する。
[0179] 監査装置 9は、送受信部 31を介して証明装置 1から監査用受理証明書を受信すると 、監査用受理証明書を受信した時刻を時刻情報提供装置 30から取得して、監査用 受理証明書と対応付けて記憶部 93に記憶する (ステップ S121 ' , S122' , S123' )。
[0180] 次に、図 25を参照して、監査装置 9によるイベント受理証明書の検証に成功したと きのステップ S520'について説明する。
[0181] 監査装置 9のイベント順序証明監査部 32が、利用者装置(時刻証明装置) 20iからの 監査要求に応えて受理証明書の監査を行い、監査結果力 SOKであるときには、さらに 、監査用受理証明書に付された時刻から、第 1種の区間時刻証明証を発行し、該区 間時刻証明証を監査結果に含める(ステップ S511 ' , S512' , S513' )。
[0182] 従って、第 3の実施の形態のイベント順序証明システム 300によれば、第 1の実施の 形態と同じ効果を得ることができる。また、これに加えて、第 1種の区間時刻証明証の 発行により、未来側の境界の時刻印を与えることができる。
[0183] (3- 3.第 3の実施の形態の変形例)
第 3の実施の形態においては、第 1の実施の形態の監査装置 3に時刻監査装置と しての機能を備えた監査装置 9を用いたが、第 2の実施の形態の監査装置 8に時刻 監査装置としての機能を備えた監査装置 9'を用いて第 3の実施の形態の変形例とし てもよい。
[0184] この第 3の実施の形態の変形例においては、区間時刻証明証作成部 91,は、監査 用証明要求を証明装置 7に送信したときの時刻を、時刻情報提供装置 30から取得し て、区間時刻証明証に付すようになつている。従って、第 3の実施の形態の変形例に お!ヽては、区間時刻証明証作成部 91 'で作成される区間時刻証明証には、過去側 の境界の時刻印が付されて 、る。
[0185] これは、第 2の実施の形態で述べたように、監査装置 8を用いたイベント順序証明検 証 (利用者装置 2iの第 2の検証)により、イベント順序証明要求が割り当てられた順次 集約木のリーフがある監査点のリーフよりも時間的に後であることが証明できるので、 イベント順序証明要求の元となる利用者装置 10jからの時刻証明要求に対する利用 者装置 (時刻証明装置) 20iによる時刻受理証明書の送信が、監査装置 9'による監査 用イベント順序証明要求の送信よりも時間的に後であることを証明するものである。こ こで、この区間時刻証明証を「第 2種の区間時刻証明証」という。
[0186] また、第 3の実施の形態の変形例においては、監査装置 9'は、「第 1種の区間時刻 証明証」を発行する機能も当然に有するので、未来および過去側の境界の時刻印が 付された区間時刻証明証である「第 3の区間時刻証明証」を発行することが可能であ る。これは、イベント順序証明要求の元となる利用者装置 10jからの時刻証明要求の 受付が、監査装置 9が監査用受理証明書を受信した時刻よりも時間的に前であること を証明するとともに、イベント順序証明要求の元となる利用者装置 10iからの時刻証明 要求に対する利用者装置 (時刻証明装置) 20iによる時刻受理証明書の送信が、監 查装置 9'による監査用イベント順序証明要求の送信よりも時間的に後であることを証 明するものである。
[0187] さらに、第 3の実施の形態の変形例として、イベント順序証明システム 300'は、利用 者装置 (時刻証明装置) 20iの発行する時刻受理証明書と、該時刻受理証明書に付 された時刻の時間的前、後、あるいは両方の境界を証明する 1つ又は複数の区間時 刻証明証を取得し、それに基づき時刻受理証明書に付された時刻の正当性を判定 するイベント時刻検証装置(図 19に図示せず)を有するシステム構成としてもよい。こ の場合においては、イベント時刻検証装置は、時刻受理証明書に付された時刻が、 上記区間時刻証明証が証明する時間区間の中に、前もって定められた所定の誤差 を許して含まれる割合が、前以て定められた所定の値より大きいことに基づき、時刻 証明受理証明書に付された時刻の正当性を判定するようになっている。
[0188] 上記実施の形態において証明装置 1及び 7の電子的情報公表部 17については特 に詳しく述べな力つた力 好適には、電子化社会における情報公表は以下のような 要件を満たすことが求められる。
[0189] (1)複数の独立なエンティティが同一の情報を公表する。
[0190] (2)上記複数のエンティティの各々に誰でもがいつでもアクセスできる。
[0191] (3)上記複数のエンティティの各々が公表する情報を取得する際に、情報提供元 のエンティティ認証が提供され、かつ提供される情報の完全性が保証される。
[0192] 上記の要件のうち、要件(1)については、複数のサービス機関力 ある範囲の情報 について業務として提供することにより実現できる。上記実施の形態においては、証 明装置と複数の監査装置が順次集約木のルート値等について業務として情報提供 を行うことにより、この要件を満足するようにして 、る。
[0193] 要件(2)については、現在よく普及している WWWにより情報提供することにより実 現できる。
[0194] 要件(3)については、提供する情報に対して公開鍵暗号方式に基づくデジタル署 名を付することにより実現できる。この際、デジタル署名の強度が十分強いこと、及び デジタル署名に用いた署名用秘密鍵及びとそれとペアになる公開鍵のその時点で の有効性が、公開鍵証明書、 CRL(Certificate Revocation List)、 OCSPサービス(Onl ine Certificate Status Protocol)等を用いて公開鍵基盤 (PKI: Publike-Key Infrastruct ure)により保証されていることが必要となる。上記の鍵ペアのは、情報の要求者が情 報を取得する時点で有効であれば十分であり、随時、鍵ペアを更新し、鍵ペアの有 効性を保持しつづけることが可能となる。その際、あるキー'ペア KP1 = (SK1,PK1)を 新しいキー ·ペア KP2 = (SK2、 PK2)に置き換える際に、 KP1が有効である間に KP2 の署名用秘密鍵 SK2によるデジタル署名を生成することは必ずしも必要ではなぐ利 用者がアクセスした際に、その時点で有効なキー ·ペアを用いてデジタル署名を生成 することが要件となる。
[0195] 従来、情報公表手段として新聞等のマスメディアに情報を公表することが行われて きた力 この方法は例えば 10年後に特定のマスメディアに公表された情報にアクセス するのが容易ではないことから上記の要件(2)を満たすのが困難であること、さらにァ クセスできたとしても上記の要件(3)を満たす形で情報を取得するのが困難であるこ と等の理由で、電子化社会における情報公表の手段として必ずしも適当ではな 、。
[0196] <順次集約木の構成および性質 >
ここで、上記実施の各形態において用いられた順次集約木の動的な構成方法、お よび性質について説明するが、その前提としてまず、順次集約木の構成に必要な基 本関数について説明する。
[0197] (基本関数)
高さ kの順次集約木は、レベル 0からレベル kまでのノードで構成される力 レベル; j = 0,l,〜,k)のノードの数は、 2(k_j)であるので、レベル 番号 iのノードを (j,i)と表すこ とにすると、 i=0, 1,· ··, 2 (k_j)— 1となる。
[0198] 以下、実数 Xに対して、 ceiling(x)を X以上の最小の整数、 floor(x)を x以下の最大の整 数として、説明する。
[0199] ノード (j, i) (但し、 j < k)の親は、(j + 1, floor(i/2))であるので、
parentO, i) = (j + 1, floor(i/2))
と定義する。また、ノード (j, i) (但し, 0 < j)の左側の子供は (j— 1, 2 ·ί)、右側の子 供は(j— 1, 2 ·ί+ 1)であるので、
leftChildO, i) = (j—l, 2 ·ί)
rightChildO, i) = (j- l, 2 -i+ l)
と定義する。このとき、高さ kの順次集約木のノード (j, 0 (0≤i< 2(kj))のルート'パス r tPathkO, 0 (ノード , 0からルートに至るノードの列をいう)は、
rtPathkO.O = [(j, r(j)), ···, (k, r(k》]
と表すことができる。但し、 rO) = I, rO' + l) = floor(r0")/2) (j'< kとし、 r(j')は既に定 まっているものとする)であるとする。尚、(k, r(k))は、順次集約木のルートを表し、常 に r(k) = 0となる。
[0200] V(j, 0はノード (j, 0の割当値である。 V(0, 0を V(i)と書く。 Lを L≤ kなる非負整数、 S BTをある順次集約木とするとき、 SBTの部分グラフ Bがレベル Lの部分木であるとは、 SBTに属するレベル Lのあるノード pがあり、 8カ¾及び pの子孫からなる SBTの部分グラ フとなって!/、ることと定義する。
[0201] Bが SBTの部分木であるとき、 leafs(B)は Bのリーフの集合を表すものとする。また Xを SBTのリーフ力もなる空でない集合とするとき, first(X)により Xのうち最も左に位置する リーフを表し、 last(X)により Xのうち最も右に位置するリーフを表す。
[0202] 2つの整数 il, 12について, [il..i2]は il ≤i≤ i2なる整数 iからなる集合(区間)を表 し、 (il..i2)«il < i≤ 12なる整数 らなる集合(区間)を表し, [il..i2]は il≤ i < i
2なる整数 i力 なる集合(区間)を表し、 (il..i2)は il < i < i2なる整数 i力 なる集合( 区間)を表すものとする。
[0203] (順次集約木の構成方法)
•第 1の順次集約木の構成方法
上述した基本関数の定義のもと、第 1の動的な集約木の構成方法について説明す る。この集約木の構成方法は、深さの違いを 1以内に押さえ、ダミー'ノードを作成し ない方法である。
[0204] 集約期間(例えば 1週間)に受付けるイベント順序証明要求の数が何らかの方法に より前以て定まっているものとし、その数を nとする。このとき、集約木の高さ kは, k = ceilingGog (N》である。高さ kの順次集約木リーフ数は最大で 2kであるので、 d = 2k-
2
nとして、レベル 0のノードのうち, 2d個を消去すれば、イベント順序証明要求の数 nを ダミー ·ノードなしでリーフに割り当てることが可能となる。これは、レベル 0のリーフが 2 d個減ると、レベル 1のリーフが新たに d個できるので、合計で d個減り、リーフの数は 結局、 2k— d = nとなる力 である。
[0205] 以下、 L1W = 2(k_1) (レベル 1のノードの個数)、 L1L = 2(k_1)— d (子を有するレべ ル 1のノードの個数)の、 L0L = 2 (2(k_1) -d) (レベル 0のノードの個数)とおくと、 n個 のイベント順序証明要求のうち、初めの L0L個をレベル 0に配置し、残りをレベル 1に 配置するとき、 i番目のイベント順序証明要求の配置先を表す関数 placeG)は次式で 表すことができる。
[0206] place(i) = (0, i) (0≤I < LOL)
placed) = (1, LlL + i— LOL) (LOL < i≤ n)
ここで、 placeG) = (レベル,番号)で構成されているものである。
[0207] 図 26は、第 1の動的な集約木の構成方法の n = 10の場合の具体例を示すもので ある。この場合においては、図 26に示す通り、 k = ceilingdog (10》 = 4となり、高さ は 4である。そして, d = 24- 10 =6であるので、 6 X 2 = 12個のレベル 0のリーフを消 去する。この結果、 L1W = 23 = 8, L1L = 8— 6 = 2, L0L = 2 X 2 = 4となる。従 つて、レベル 0のリーフが 4個、レベル 1のリーフ力 ¾個で,リーフの合計数は n = 10と なる。この結果、図 24に示すような集約木を動的に作成することができる。レベルが 0 より大きいノード (即ちリーフではないノード)に対する値の割当は、それが可能にな つたときにインクリメンタルに行われる。
[0208] ·第 2の順次集約木の構成方法
次に、第 2の動的な順次集約木の構成方法について説明する。この方法はインクリ メンタルに集約木を構成する点では第 1の方法と同じである力 前もって定めた時間 間隔 (順次集約期間)に受付けるイベント順序証明要求の数は予想できないものと仮 定している点が第 1の方法と異なる。
[0209] ここで、インクリメンタルとは、イベント順序証明要求を受付ける都度、そこ力も計算 できる順次集約木の部分を計算していくという意味である。以下では、受付けるィべ ント順序証明要求の数は予想できないが、その上界 Nは見積もることができるとして 説明する。この方法においては、イベント順序証明要求はすべてレベル 0に割り付け られるものとし、二分木のルート値を計算するためにダミー'ノードを使用する方法で ある。
[0210] この方法で順次集約木を構成するとき、所定の集約期間 (例えば、 1週間)に受付 けたイベント順序証明要求の数を Nとすると、順次集約木をの高さ kは、 k = ceilingd og (N》である。高さ kの順次集約木リーフ数は最大で 2kであるので、 0から n—lまでの
2
n個のイベント順序証明要求をレベル 0のノード(0, 0)からノード(0, n—l)に割り当て られること〖こなる。
[0211] レベル 0に割り当てられた、最も右のノード(0, n—l)に対して、ルート'パス rtPathk(
0, n— 1)が
rtPathkO, 0 = [ (j, rO)), · ··, &, r(k))]
と表現されるものとする。
[0212] (一般に、 rtPathkO, 0は、 rtPathk(j, 0 = [ (j, r(j)), ···, (k, r(k))]と表現される。伹 し、 jl≡ [j..k]に対して r(jl) =
Figure imgf000060_0001
)このとき、各レベル; j (j = 0, · ··, k- 1)においては、以下のことが成り立つ。
[0213] r(j)が偶数のとき、ノード (j, rO) + Dはダミー'ノードとなり、
rO) + l < i < 2(kΰとなる各 iに対して、ノード (j, i)は消去されている。
[0214] r(j)が奇数のとき、 rO) + l < i < 2(kΰとなる各 iに対して、ノード (j, i)は消去されて ヽ る。
[0215] 以上のような方法に基づいて構成される順次集約木は、ダミー'ノードは各レベル の右端でのみ現れる、および作成されるダミー'ノードの数は、 k以下であるという性 質を有する。
[0216] 図 27及び図 28は、第 2の順次集約木の構成方法のアルゴリズムを示すものであり 、該アルゴリズムに従って順次集約木力インクリメンタルに構成されるようになって 、る 。ここで、前提として以下の定義を行う。
[0217] ·Κ = ceiling(log (N))とする。
2
[0218] ·ηは受付けたイベント順序証明要求の数を示す整数変数とする。初期値は 0である
[0219] 'kは定められた時間間隔が終了したときの順次集約木の高さを表す変数とする。
[0220] · (K+ 1)個のカウンタの列を, i0, · ··, iKとする。ここで、 ijの初期値は 0である(j=0,
••·,Κ)。 ijはレベル jにおいて、既に生成されたノードの数を表すと同時に、次にレべ ル jに作成されるノードの番号を表す。
[0221] · (K+ 1)個のブール変数の列を、 b0, · ··, bKとする。ここで、 bjの初期値は falseであ る(j=0, ···,! )。 bjは、レベル jにダミ一'ノードがあるか否かを表す。
[0222] · (K+ 1)個の配列の列を、 AO, · ··, AKとする。各配列は、 2(K_j)の長さをもち、レベル jのノードに割り付けられる値を保持する (j=0, ···,! )。
[0223] 'rはダミー'ノードに割り当てるダミー値を保存する変数である。
[0224] · R(j,0は 2つの引数 i, jに対してノード θに割り当てるべきダミー値を計算する関数 である。
[0225] ·χ, xO, xl, x2は、ノードに割り当てる値を表す変数である。
[0226] -xl II χ2は、ビット列で表された 2つの値の連接である。
[0227] -h(x)は Xのハッシュ値を計算する衝突困難一方向ハッシュ関数である。 [0228] このような定義のもと、図 27の処理手順 1が終了すると (即ち所定の順次集約期間 が終了すると)、 nは受付けた時刻処理要求の数, kは生成された順次集約木の高さ , ijはレベル jのノードの数, bjはレベル jにダミ一'ノードがあるか否力、 Ajは,レベル j のノードに割り付けられた値力もなる配列をそれぞれ表すことになる。
[0229] 図 29は、第 2の動的な順次集約木の構成方法の n=9の場合の具体例を示す図で ある。即ち、定められた順次集約期間が終了したとき、 n=9であったとする。このとき 、 k = ceiling(log (9)) = 4となり、高さは 4の順次集約木を構成することになる。尚、 0
2
力 n—1までの n個の順序証明要求は、処理手順 1により、既にノード (0,0), · ··, (Ο,η 1)に割り当てられている。また、処理手順 1により、 10 = 9, il = 4, 12 = 2, 13 = 1 , i4=0となっている。
[0230] このとき、処理手順 2の (2.2)から、ノード (0,8)のノートパス rtPath4(0,8)は
rtPath4(0,8) = [(0,8), (1,4), (2,2), (3,1), (4,0)]
となる。これから、各レベルの手順は、以下の通りになる。
[0231] レベル 0においては、ステップ(2.3.2.1)より、ノード(0,9)がダミ一'ノードになる。レ ベル 1においては、ステップ(2.3.3.1.5)より、ノード(1,4)に値が割り付けられ、(1,5)が ダミ一'ノードになる。レベル 2においては、ステップ(2.3.3.1.5)より、ノード(0,2)に値 が割り付けられ、(0,3)がダミ一'ノードになる。レベル 3においては、ステップ(2.3.3.1) により、ノード(3,1)に値が割り付けられる。レベル 4においては、ステップ(2.3.3.1)に より、ノード (4,0)に値が割り付けられる。
[0232] この結果、図 29に示すような順次集約木をインクリメンタルに構成することができる 。ダミー'ノードは各レベルに於いて高々 1つである。ダミー'ノードには前以て定めら れた何らの手順に従いダミー'ラベル (ダミー割当値)を割当てる必要がある力 この ような手順の簡単な定義としては、レベルの関数としてダミー'ラベルを定義する方法 があり、これを採用してもよい。
図 30は、上記のインクリメンタルな順次集約木の構成方法にぉ 、て各ノードに値を 割付けるタイミングを示したものである。
[0233] 上述の第 1及至第 3の実施の形態においては、順次集約木は図 30に示すように、 情報公表の区切りにお 、ては、ダミー ·ノードを用いて最終的な順次集約木の構成 する方式を前提としている。しかし、順次集約木の具体的な構成法としてこれ以外の 方法を採用することも可能である。
[0234] 即ち、上記実施の形態におけるイベント順序証明システム 100、 200及び 300は、上 述した動的な集約木の構成方法のいずれをも採用できるものであり、これにより、利 用者装置からのイベント順序証明要求の量的変化に柔軟に対応することができるの で、スケーラビリティの高!、イベント順序証明システムを構築することが可能となる。
[0235] (認証パスの定義とそれによるルート値の計算法)
予め高さが決定しておらずインクリメンタルに構成されるような順次集約木のノード に対して、ある時点のルート'パスや認証パスを以下のように定義することができる。こ の定義は第 1及至第 3の実施の形態において所定の順次集約期間に受付ける要求 の数が前以て予想できないときに適用することができる。
[0236] 現時点のリーフ番号の最大値が m(≥ 0)(従ってリーフの数が m+ 1)のとき、
κ (m) = min{h|m+ l ≤ 2h}とおく。
高さが K (m)の順次集約木を
curbBT(m)
とおく。
[0237] p = , 0≡ curSBT(m)とし、 pから curSBT(m)のルートに至るノードの並びルート' パスと言いを
rtPath(p, mノ
と書く。
[0238] rtPathD(p, m)は、 rtPath(p, m)に属するノードのうちで m番目のリーフの割当値が定 まった時点で割当値が定まっているノードの列である。
[0239] rtPath(p, m) = [(0, i(0)), · · · , (k, i(k》]
としたとき、 0 ≤ kl ≤ kなるある klがあって、
rtPathD(p, m) = [(0, i(0)), · · · , (kl , i(kl))]
となることが分かる。
[0240] rtPathDV(p, m)は、 rtPathD(p, m)の各ノードに割当値を割り当てたものである。
[0241] rtPathD(p, m) = [(0, i(0)), · · · , (kl , i(kl))] のとき、 rtPathDV(p, m)は次のような形となる。
[0242] rtPathDV(p, m) = [( (0, i(0)), v(0) ), ···, ( (kl, i(kl)), v(kl) )]。
[0243] curSBT(m)における、ノード p = (j, i)から curSBT(m)のルート値を計算するのに必 要なノード p' = (j',0の集合を該ノードの認証パスと呼び authPathT(p, m)と表す。伹 し、認証パスに属する各ノードについて、該ノードを連接する方向(左又は右)につい ての情報もタグとして含んで 、るものとする。
[0244] κ (m) = kで、
rtPath(p, m) = [(j, r(j)), ···, (k, r(k))]
のとき, authPathT(p, m)は rtPath(p, m)を用いて次のように表すことができる。
[0245] authPathT(p, m) =
[ ((j, a(j)), LR(j)), ···, ((k-1, a(k-l)), LR(k— 1》 ]
ここで、 r(j')が偶数の場合, aO') = r(j') + l、 r(j')が奇数の場合、 a(j') = r(j') 1であり
、また、 r(j')が偶数の場合、 LR0") = R, r(j')が奇数の場合, LR(j') = Lである(但し、 j
' ≡ [j..k-l])0
[0246] そして、 authPathT(p, m)の要素 ((j, a(j)), LR(j))につ 、て、 LR(j)の部分を(LR)タグと いう。さらに、 rtPath(p, m)の要素(j, r(j))について、 r(j)が偶数のとき、(j,r(j) + l)を (j,r(j ))の右補完点といい、 r(j)が奇数のとき、 (j, r(j)— 1)を (j, r(j))の左補完点という。
[0247] このとき、 authPathT(p, m)は、 rtPath(p, m)のルート以外の点の右補完点あるいは左 補完点からなる。
[0248] また authPathT(p, m)から LRタグの情報を除いたものを authPath(p, m)と書く。 即ち authPathT(p, mノ =
[ ((j, a(j)), LR(j)), ···, ((k-1, a(k-l)), LR(k— 1》 ]
であるとき、
authPath(p, m) = [ (j, a(j)), ···, (k— 1, a(k— 1)) ]
とする。逆に
authPath(p, m) = [ (j, a(j)), ···, (k— 1, a(k— 1)) ]
が与えられれば authPathT(p, m)を以下のように計算できる。 jl ≡ [j..k)に対して、 rtP ath(p, m)のレベル jlのノードは
01, floor(i/2(il-j)))
となるので、
Figure imgf000065_0001
= R,奇数であるとき LR(jl) =しと 定め、
authPathT(p, mノ =
[ (G, a(j)), LR(j)), ···, ((k-1, a(k-l)), LR(k— 1》 ]
とおけばよい。従って、 authPathT(p, m)と authPath(p, m)の一方から他方を計算する ことが出来る。
[0249] authPath(p, m)及び authPathT(p, m)の中で, m番目のリーフの割当値が定まった時 点で割当値が定まっているノードの集まりを各々
authPathD(p, m)及び authPathTD(p, m)
と定義する。 authPath(p, m)及び authPathT(p, m)が上記のように表現されるとき、 kl ≤ 1^ー』'なる1^と、
j≤j(0) < j(l)く …く j(kl-l)
なる非負整数 j(0), ···, j(kl 1)があり、
authPathD(p, m) = [ 0(0), a(j(0))), ···,
O(kl-l), aO(kl-l)))],
authPathTD(p, m) = [ ( 0(0), a(j漏, LR(j(0》), ···,
( (j(kl - 1), aO(kl― 1))), LR(j(kl― 1》 ) ],
と表現される。
[0250] さらに、 authPathD(p, m)及び authPathTD(t, m)に、それに属するノードの割当値を カロえたものを、各々 authPathDV(p, m)及び authPathTDV(p, m)と置く。具体的には、 a uthPathD(p, m)及び authPathTD(p, m)が上記のように表現されるとき、
authPathDV(p, m) =
[ (0(0), a漏, v(j(0)), -,
((j(kl-l), a0(kl-l))),v0(kl-l)))],
authPathTDV(p, m) =
[ (0(0), a漏, LR0(O)), v0(0)), ···, ((j(kl - 1), aO(kl― 1))), LR(j(kl― 1)), v(j(kl― 1))) ]
とおく。ここで、各 j'≡辦, · ··, j(kl-l)}に対して、 νθ") = VO", aO"))である。
[0251] 上述の順次集約木の構成法の何れかの方法により、リーフ番号 mのリーフに順次割 当値を割り当てた段階で当該の順次集約木の構成が終了し、かつ authPathTDV(p, m)が上記のように表されるとき、ノード p = 0, 0の割当値 V(p)と authPathTDV(p, m)か ら以下のようにして集約木のルート値を計算することができる。 jl≡ Q..k]に対して、 v '(jl)を以下(1) , (2)により再帰的に定義する。このとき、 v (k)が集約木のルート値と なる。
[0252] (l) v'O) = V0, 0
(2)jl≡ [j..k]に対して, v (jl)が定義されたとする、 LR(jl) = Lのとき、
v'0'1+1) = h(vOD II v'OD)
LR(jl) = Rのとき、
v'Oi+i) = v'OD II vOD)
と定義する。
[0253] ml, m2を順次集約木リーフ番号とし、 ml≤ m2とする。このとき、
curSBT(ml) £ CUrSBT(m2)である。
[0254] p = 0, 0 EcurSBT(ml)とする。このとき、以下の(1) , (2) , (3)が成立つ。
[0255] (l)rtPath(p, ml) £ rtPath(p, m2)
(2) authPath(p, ml) £ authPath(p, m2)
(3) authPathD(p, ml) £ authPathD(p, m2)
<順次集約木の諸性質 >
以下では、インクリメンタルに構成される順次集約木について、現時点のリーフ番号 の最大値を mとし、
rtPath((0, i), m), rtPathD((0, i), m), rtPathDV((0, i), m)
を各々短く
rtPathG, m), rtPathD(i, m), rtPathDV(i, m)
と書くこともある。同様に
authPath((0, i), m), authPathT((0, i), m), authPathD((0, i), m), authPathTD((0, i), m), authPathDV((0, i), m), authPathTDV((0, i), m) を各々短く
authPath(i, m), authPathT(i, m), authPathD(i, m),
authPathTD(i, m), authPathDV(i, m), authPathTDV(i, m)
と書くことちある。
[0256] 次に、順次集約木にぉ 、て、ユーザ点の監査点による認証点を計算するアルゴリ ズムについて説明する。前提として、順次集約木の高さを kとし、ユーザ点の識別番 号お 0、監査点の識別番号を ilとし、 10 < ilとする。一般に、順次集約木のノード (0, i )に対して rtPath((0, i), m)は以下のように計算できる。
[0257] rtPath((0, i), m) = [(0, r(0)), · ··, (k, r(k)) ]
但し、 k = K (m), j≡ [0..k]に対して r(j) = floorG/S1)と置く。
[0258] この手順によって、ノード(0, iO)のルート'パス rtPath((0, i0), m)とノード(0, il)のル ート 'パス rtPath((0, il), m)を計算する。すると、 rtPath((0, iO), m)と rtPath((0, il), m) は、ある要素以降は一致する。このとき、最初に一致した要素を、ノード (0, iO)とノー ド(0, iO)の合流点(confluent point)と呼ぶ。そして,合流点のレフト'チャイルドを、ノ ード(0, iO) (ユーザ点)のノード(0, il) (監査点)による認証点(authentication point) とよぶ。
[0259] 以上は、ユーザ点と監査点が同一の順次集約木に属する場合における認証点の 定義であるが、該ユーザ点が属する順次集約木 SBTより後に、該監査点の属す順次 集約木の属する順次集約木が生成される場合には, SBTのルートを該ユーザ点の該 監査点による認証点と定義する。
[0260] (順次集約木の性質 1)
Bをある順次集約木の部分順次集約木で、ある時点において、 laSt(leafS(B》に対応 するラウンドの処理が終了済みとする。このとき、その時点において Bに属する各ノー ドの割当値は計算され割当てられて!/、る。
[0261] ,性質 1の証明
図 27及び図 28で示されるインクリメンタルな順次集約木の構成法により、各ラウンド の終了時には、そのラウンドまでに取得できたリーフの割当値により計算できるリーフ 以外のノードの割付値は全て計算され該ノードに割当てられることになる。
[0262] last(leafs(B》に対応するラウンドの処理が終了したときには、 leafs(B)に属する各リー フの割当値は定まっており、従って Bの各ノードの割当値が計算できる。従って、この 段階で、 Bの各ノードの割当値は計算され、各ノードに割当てられている。
予め高さが決定しておらずインクリメンタルに構成されるような順次集約木に対して
、次の性質 2がなりたつ。
[0263] (順次集約木の性質 2)
Cを利用者装置、乙を監査装置とし、 iOと ilを iO < ilなる二つの順次集約木リーフ 番号とし、 round(iO)において、 Cは受理証明書を受信し、乙は round(il)において監査 用受理証明書を受信したものとする。このとき、 iOの ilによる認証点は以下の性質を 持つ。
[0264] (1)認証点の割当値は、監査点、即ちノード (0, il)の受理証明書内補完データに 含まれる。
[0265] (2)上記認証点を (f , i')とおくと、 authPath((0, iO), il)に属するノードで、レベルが』" より小さいものに対する割当値は、ノード (0, il)に対応するラウンドで受理証明書を 受理した利用者が、ノード (0, il)に対応するラウンド以降において受信できる遅延補 完データあるいは受信した受理証明書内補完データに含まれる。
[0266] 即ち、 il ≤ i2とすると, authPath((0, iO), il)に属するノードで、レベルカ より小さい ものに対する割当値は, EOC(iO)あるいは CTokenGO, i2)に含まれる。
[0267] (3)上記認証点の割当値及び rtPath((0, 10), i2)に属するノードでレベルが該認証 点のレベルより小さいノードの割当値は、ノード (0, iO)で受理証明書を受理した利用 者が、ノード (0, il)に対応するラウンド以降において受信する遅延補完データおよび ノード (0, iO)で受信した受理証明書 (受理証明書内補完データを含む)から計算する ことができる。
[0268] ,性質 2の証明
以下では、利用者に渡す受理証明書に、受理証明書内補完データ (即時補完デ ータ)を含める場合について説明する。利用者に渡す受理証明書に受理証明書内 補完データを含めず、その代わりに遅延補完データにこの情報を含める場合でも同 様の議論により同じ結論が得られる。
[0269] (1)まず、項目(1)について図 31を用いつつ説明する。ここで、合流点を (j, i)、そ のレフト'チャイルドである認証点を (f, i')とおく。ノード(0, il)の curSBT(il)における ルート'パス rtPath((0, il), il)において、(0, il)から出発して、合流点に至る直前のノ ードを (Γ, Πとおく。このとき、認証点は、 (Γ, Πの左補完点である。従って、認証パ ス authPathT(il, il)の定義から、 (0", i'), L)はノード(0, il)の curSBT(il)における認証 パスに含まれる。また,ノード (j', i')への値の割当ては, round(il)より前に終了してい る。 よって、 (0", i'), L, V0", i'》は (0, il)に対する受理証明書内補完データに含まれ る。
[0270] (2)次に項目(2)について図 32および図 33を用いつつ説明する。
[0271] k = κ (il)とおく。
[0272] 認証点( , ί')はノード(0, i0)のルート'パス rtPath((0, i0), il)に含まれる。ここで、 rtPath((0, i0), il) =
[(0,载 ···, O'.rO')), (j' + l,r(j' + l》, · ··, (k,r(k))]
とする。
[0273] また、 authPath((0, iO), il)の要素で、レベル力 'より小さいノードの並びを
[(0, s(0)), -, (j' - l, sO' - D)]
とおく。
[0274] 各 jl≡ [0..j' - l]に対して, V(jl, r(jl》が EOC(iO)あるいは CToken(i0, i2)に含まれ ることを示せばよい。
[0275] authPath((0, i0), il)の定義により、
authPath((0, i0), il)のレベル jlの要素 p2 = (jl, s(jl》は, rtPath((0, i0), il)のレベル j 1 + 1の要素 p3 = (jl+1, r(jl+l》のライト'チャイルドであるか或いはレフト'チャイルド である。どちらであるかによって場合分けする。
[0276] (場合 1) ρ2が p3のライト'チャイルドであるとき、図 32に示すように、 p2の割当値 V(p 2)は、 il≤ i2な i2において, Cが受信できる遅延補完データ CToken(iO, i2)に含まれ る。なぜならば、順次集約木の性質 1により、リーフ (0, il)に対応するラウンドのィベン ト順序証明処理が終わった時点で、図 30の Bで表された curSBT(il)の部分木の割当 値は計算可能であり計算され割当て済みである。従って、その時点以降で発行され る遅延補完データには Bのルート p2の割当値 V(p2)が含まれる。
[0277] (場合 2) p2が p3のレフト'チャイルドであるとき、図 33に示すように、ノード p2の割当 値 V(p2)は、 roundGO)のイベント順序証明要求者に対するト受理証明書内補完データ に含まれる。何故ならば、図 33の p2をルートとする部分木 Bについて、
Vi≡ leafs(B)[ i < i0 ]
であり、従って B c curSBT(iO)でかつ iOで識別されるラウンドの開始時に、 leafs(B)の 割当値は確定している。よって順次集約木の性質 1により、 p2 = root(B)の割当値 は、 iOで識別されるラウンドにおいて確定している。従って、 p2は authPathD((0, 10), iO )に含まれる。
[0278] (3)認証パスの定義及び項目(2)から、各 jl≡ [0.. ]に対して、 V(jl, r(jl》を以下 のように再帰的に計算することが出来る。
[0279] まず、 V(0, r(0》はイベント受理証明書に含まれているノード (0, iO)の割当値とする。
[0280] 次に、 jl≡ [0.. — 1)に対して, V(jl, r(jl》が計算されたと仮定し、 V(jl+1, r(jl+l》 を以下のように計算する。 r(jl) < sODのときは、
V01+1, rO'1+D) = h(V(jl, rOD) II V(jl, s(jl)))
とし, s(jl) < r(jl)のときは、
VOl+1, rO'l+D) = h(V(jl, s(jl)) || V(jl, r(jl)))
とする。
[0281] 以下では、時刻の原点として、イベント順序証明システムのサービス開始時点をとり 、時間を計る単位として 1秒、 1ミリ秒等を定め,時刻を,上記の原点から上記の時間 の単位で計った整数で表現するものとする。また,各監査装置乙は、各順次集約期 間 Tの最初の監査点においては、 Tに閉じた監査情報に加えて、前順次集約ルート 値 (直前の順次集約期間 T'のルートの割当値 V(root(T'))も受信するものとする。
[0282] 予め高さが決定しておらずインクリメンタルに構成されるような順次集約木に対して 次の性質 3がなりたつ。
[0283] (順次集約木の性質 3)
以下では、 Tを正整数とし、 α , α θ, τ , τ 'は拡張リーフ識別子を表すものとする。 乙は監査装置とし、乙の監査点 αθで、次の条件 (*1)を満たすものが存在するものと する。
[0284] (*1) time(aO) ≡ [0..T)
さらに乙による任意の 1つの監査点を α,その次の乙による監査点を α'とすると次 の条件 (*2)が成り立つものとする。
[0285] (*2) time(a')-time(a)≤ T
また、利用者甲はあるイベント順序証明要求を送信し、その要求に対応する順次 集約木リーフをて ,その後、該イベント受理証明書に対する遅延補完データ要求し、 その要求に対応する順次集約木リーフを τ 'とすると次の条件 (*3)が成り立つものと する。
[0286] (*3) time( τ ')一 time( τ)≥ T
さらに、監査装置乙は 2番目以降の各順次集約期間に属する乙による最初の監 查点において、直前の順次集約期間のルート値をイベント順序証明機関力 受信す るちのとする。
[0287] このとき,以下の(1)〜(4)が成り立つ。
[0288] (1) a ≡ [τ,.τ']となる乙によるある監査点 αが存在する。
(2) a ≡ [τ,.τ']となる乙による監査点 αについて、 τの aによる認証点の割当 値 (ラベル)は、 oc以後のある順次集約木リーフ(例えば τ ')において乙が受信する 監査用受理証明書に含まれる。
[0289] (3)任意の順次集約木リーフてに対して、乙による監査点 a 'があり、次の条件 (*4) が成立つ。
[0290] (*4) time( τ )≤ time( α ') < time( τ) + Τ
(4)Τ≤ time(T)となる任意のユーザ点 τについて, a < τとなる乙の監査点 α が存在する。
[0291] ,性質 3の証明
(1) α ≡ ίτ..τ ']となるような乙によるある監査点 αが存在しないと仮定する。 τよ り左に位置する乙による監査点が存在するか否かにより場合分けする。
[0292] (場合 1) τより左に位置する乙による監査点が存在する場合を考える。 τ より左に 位置し、 τに最も近い乙による監査点を α 1とし、 τ 'より右に位置しかつ τ 'に最も近 い乙による監査点を α 2とする。 αΐと α2の取り方より、
time( a l ^ time( τ ) S U- time( τ ) < time( 2)
が成り立つ。 time( a 1) < time( τ )より, -time(al) > — time( τ )となる。
[0293] 従って、
time( 2)一 time( a 1) > time( τ ,)一 time( τ )≥ T.
一方, time(o;)≡ [time( ..time( ]となるような乙によるある監査点 aが存在しな いのであるから、 a 2は a 1の次の監査点である。従って上記条件 (*2)より、
time(a2)-time(al)≤ Tとならなければならない。以上から、
time( 2)— time( a 1) > Tかつ time( 2)— time( a 1)≤ T
となり矛盾が導かれる。従って、 time(a) ≡ [time( τ )..time( τ ')]となるような乙による ある監査点 aが存在しないという仮定は誤りであり、 time(a)≡ [time( τ )..time( τ ')] となる乙によるある監査点 aが存在する。
[0294] (場合 2)てより左に位置する乙による監査点が存在しない場合を考える。このとき、 time(aO) ≡ [0..T]なる監査点 a 0について、
θ≡ [τ ..τ']
となることが示される。
[0295] (2)上述の順次集約木の性質 2と項目(1)から直ちに導かれる。
[0296] (3) τより前に乙の監査点が存在する力否かにより場合分けする。
[0297] (場合 1)てより前に乙の監査点が存在する場合を考える。 てより前で,最も後に位 置する監査点を aとし、 その次の監査点の時刻を a 'とする。このとき、
time( ) ^ time( τ )≥ time、 )
従って、条件 (*2)より、
time( a ')— time( τ ) < time(a ') time(a)≤ T
よって、
time( ') < time( τ ) + T
以上より、(*4)が得られる。
[0298] (場合 2) τより前に乙の監査点が存在しない場合を考える。性質 3の前提により、乙 の監査点 a 0で time( α 0) < Τとなるものがある。
[0299] time( τ )≤ time( α θ) < T
従って、
time( 0)— time( τ ) < T— time( τ )≤ T
よって、 time( a 0) < time( τ ) + T
以上により、 a ' = a 0として、(*4)が得られる。
[0300] (4)乙の監査点 a 0で、 time( a O) ≡ [0..T)となるものが存在するという上記仮定 (*1) から、直ちに導かれる。
[0301] (順次集約木の性質 4)
SBTを高さ kの順次集約木とし、 iを SBTの順次集約木リーフ番号とし、 kl ≤ kとし、 a uthPathTkl(i)を、 authPathT(i)の最初の kl個の要素の列とする。
[0302] authPathTkl(i) = [((0, i(0)), LR(0)), · · ·, ((kl— 1, i(kl 1》, LR(kl— 1))]
と置く。さらにここで、 vl, v2を異なる 2つのハッシュ値とし、 API, AP2を次のように与え る。
[0303] API =
[(LR(0), vl '(。)), (LR(1), vl'(l)), · · ·, (LR(kl— 1), vl'(kl— 1》],
AP2 =
[(LR(0), v2'(0)), (LR(1), v2'(l)), · · ·, (LR(kl— 1), v2'(kl— 1))].
このとき、 vlと API力も以下の (*1)ように計算した vl"(kl)と、 v2と AP2から以下の (*2)の ように計算した v2"(kl)は (実用上無視できる確率を除いて)一致しない。
[0304] (*1)各 f ≡ [0..kl]に対して、 vl"(f)を以下のように再帰的に定める。
[0305] vl"(0) = vl。
[0306] j" > 0で LR(j,一 1) = Lのとき、
vl"0') = h(vl'0" - l) l| vl"0" - l))
j" > 0で LR(j,一 1) = Rのとき、
vl"0") = h(vi"0"-D II vi'O'-D)
(*2)各 ≡ [0..k]に対して、 v2"( )を以下のように再帰的に定める。
[0307] v2"(0) = v2 j" > 0で LR(j,一 1) = Lのとき、
v2"0") = h(v2'0"- D II v2"0"- D)
j" > 0で LR(j,一 1) = Rのとき、
v2"0") = h(v2"0"- D II v2'0"- l))
•性質 4の証明
vl"(kl) = v2"(kl)と仮定する。 j' [0..kl]で vl"(j,) = v2"0")となる最小の j'を j 1と置く。 vl≠ v2、即ち vl"(0)≠ v2"(0)であるから、 jl > 0である。 jO = jl— lと置 く。 LR(jO)が Lであるか Rであるかにより場合分けする。
[0308] (場合 l) LR(jO) = Lのとき。 jl, jOのとり方より、
vl'OO)≠ v2"(j0)。
[0309] 従って、
vl'OO) II vl'OO)≠ v2'0'0) II v2"0'0)
一方、上述の (*1), (*2)から、
vl'OD = h(vl'(j0) II vl"(j0))
v2"0D = h(v2'(j0) II v2"(j0))
従って、
vl'O'O) II vl'OO)) = h(v2'00) II v2"(j0))
従って、 vl'OO) II vl"(j0)と v2'(j0) II v2"(j0)が、衝突困難ハッシュ関数 hの衝突となる
[0310] (場合 2) LR(j0) = Rのとき、場合 1に於けると同様にして、
vl'OO) II vl'GO)と v2"(j0) II v2'(j0)が,衝突困難ハッシュ関数 hの衝突となることが 導かれる。
[0311] 以上から、どちらの場合でも,衝突困難ハッシュ関数 hの衝突が現れることになる。
このようなことは(実用上無視できる確率を除いて)在り得ない。従って、 vl"(k) = v2 "(k)となることも、(実用上無視できる確率を除いて)在り得ない。
[0312] 次に、上記した第 1及至第 3の実施の形態に係るイベント順序証明システム及びィ ベント順序証明監査システムを、システムを構成する各装置の資源と性能、及び装置 間を結ぶネットワークの資源と性能についての種々の条件において、より実用的なも のとした実施の形態を説明する。具体的には、木構造等の非循環有向グラフを用い て順序証明を行う場合、非循環有向グラフが計算機のメモリに収まらな 、場合にお!ヽ ても実現できるようにスケーラビリティを持って実現するためには、 V、ずれの装置 (ィ ベント順序証明装置およびそれを利用する利用者装置)も非循環有向グラフをメモリ 上に展開する必要がないような方法で実現することが要求される。また同じくスケーラ ピリティの観点から、非循環有向グラフが大きくなつても、イベント順序証明装置とそ の利用者装置の間の通信量が過大とならないことが要求され、装置間の通信量が当 該の非循環有向グラフのノードの数の対数のオーダで抑えられるならばこの要求は 満たされる。一般に、ネットワークで結ばれた計算機システムにより所定の機能を実 現するために必要なメモリ量及び装置間の通信量と、個々の装置における処理量は トレードオフの関係にあり、 所定の機能を持つシステムをメモリ量、装置の処理能力、 およびネットワークの伝送容量等についての種々の状況ィ匕で実用可能とするために は、処理量が実用的な範囲でメモリ量および通信量を小さくする実現方式、及び逆 にメモリ量および通信量が実用的な範囲で処理量を小さくする実現方式を提供する ことが有用である。
[0313] <第 4の実施の形態 >
(4- 1.システム構成)
図 34は、本発明の第 4の実施の形態に係るイベント順序証明システム 100aのシス テム構成図である。イベント順序証明システム 100aは、イベント順序証明装置(以下、 証明装置という) la、複数のイベント順序証明利用者装置 (以下、利用者装置という) 2I (I=A,B, 〜,N)、及び、以上の各装置を相互に接続する、例えば、インターネット網 、電話回線網などにより構成されるコンピュータネットワーク 3aを備えており、証明装 置 laが利用者装置 21からのイベント順序証明要求 (以下、証明要求という)に応えて、 イベント順序受理証明書 (以下、受理証明書という)を含むイベント順序証明応答 (以 下、証明応答という)を利用者装置 21に返信するようになっている。そして、利用者装 置 21は、証明装置 laから受け取つたこの複数の証明応答力 受理証明書を検証する ことができるようになって!/、る。
[0314] 証明装置 laは、コンピュータネットワーク 3aを介して利用者装置 21とデータの送受信 を行う送受信部 l la、利用者装置 21からの証明要求として送信されたデジタル 'デ一 タを順次集約木を用いてまとめるイベント順序証明要求集約部 12a、受理証明書を含 む証明応答を作成するイベント順序証明応答作成部 13a、証明装置 1が一定期間に 発行した複数の受理証明書の内容を集約したデータに対して高強度デジタル署名 し、公表データとするデジタル署名作成部 14a、高強度デジタル署名を付加された公 表データを電子的に公表する電子的情報公表部 15a、及び受理証明書をはじめとす るイベント順序証明に関する情報を記憶する記憶部 16aを有する構成である。
[0315] 上述したように、イベント順序証明要求集約部 12aは、順次集約木を用いてイベント 順序証明要求をまとめるが、この順次集約木について図 35を用いて説明する。図 35 は、一定期間(例えば 1週間など証明装置 laが取り纏めデータを公表するサイクル、 順次集約期間という)において、利用者装置 21からの証明要求に含まれるデジタル' データの全部あるいは一部を、所定の順次割当データ計算手順に従って計算した 結果であるデジタル ·データ (これを順次割当データと呼ぶ。例えば、証明要求に含 まれるデジタル ·データのハッシュ値)を経時的に順次左側から割り当てる値とする順 次集約木の一具体例を示す図である。尚、利用者装置 21からの各証明要求が割り当 てられた順次集約木のリーフを登録点ともいう。
[0316] 順次集約木の各ノード (リーフを除く)に割り当てられる値の計算方法は、以下の通 りである。順次集約木の親の割当値は、左側の子の割当値 H'と右側の子の割当値 H "を連接 (ビット列とビット列の結合)し、所定の衝突困難一方向ハッシュ関数 hを適用 した結果であるハッシュ値を計算することにより求められるものであり、これを h(H, II H ")と表す。このようにして下位のレベルの割当値から上位のレベルの割当値を計算し て、最終的に最上位のレベル (ルート)の割当値 (ルート値) Hを求める。
[0317] 以下においては、図 35に示すように、 16個のリーフを有する順次集約木の場合に ついて説明する。尚、順次集約木リーフの数や高さは、順次集約期間が終了するま で確定しない。また、順次集約木においては、リーフへの値の割当は左力 順次行 われ、レベルが 0より大きいノード (即ちリーフではないノード)に対する値の割当は、 それが可能になったときにインクリメンタルに行われる。従って、図 35の同一の縦線 上にある複数のノードに対しては、値の割当が同一の処理単位の中でほぼ同時に行 われる。
ここで、順次集約木のレベル』·、番号 iのノードを ο、 οの割当値を ν οと表して、 図 35に示す具体例を説明する。
[0318] 今、順次集約木リーフに割り当てるハッシュ値が V(0,5)であるとき(登録点が (0,5)で あるとき)、このハッシュ値 V(0,5)からルート値 H (=V(4,0》を求めるには、 V(0,5)に V(0 ,4)を左力も連接して、ノ、ッシュ値 hi'を計算し、該ハッシュ値 hl,に V(l,3)を右側から 連接してハッシュ値 h2'を計算し、該ハッシュ値 h2'〖こ V(2,0)を左側力 連接してハツ シュ値 h3'を計算し、さらに該ハッシュ値 h3'に V(3,l)を右側力も連接してハッシュ値 H (=V(4, 0))を計算すればよい。このような手順により V(0,5)とそれを補完するデータ( ここでは V(0, 4), V(l,3), V(2,0), V(3,l))力 ルート値 Hが計算できるとき、 V(0,5)はノヽ ッシュ関数 hによりルート値 Hにリンクするという。また、順次集約木における V(0,5)の 補完データ (以下、順次集約補完データと 、う)は、
[(V(0,4) , L) , (V(l,3) , R) , (V(2,0) , L) , (V(3,l) , R)]
となる。ここで、 L及び Rは、各々、 2つのデジタル 'データを連接する際に左力 連 接こと、及び右から連接することを表す。
[0319] イベント順序証明応答作成部 13aは、図 36に示すような受理証明書 EOC(y)を含む 証明応答を作成し、利用者装置 21に送信するようになっている。受理証明書 EOC(y) は、利用者から送付されたデジタル 'データ y、上述した順次割当データ計算手順に よりデジタル ·データ yから計算された順次割当データ z、順次割当データ zが割当て られた順次集約木を一意に特定できる順次集約木番号、順次割当データ zが割当て られた順次集約木リーフを一意に特定できる順次集約木リーフ番号、およびその時 点で取得できる順次集約補完データの一部 (これを登録点の即時補完データと言う) SKの位置情報及び割当値を含むように構成されて!、る。
[0320] また、証明応答には、利用者装置 21の過去の各登録点の遅延補完データ TKの位 置情報及び割当値も含むように構成されている。尚、遅延補完データ TKとは、当該 の証明応答発行後に取得できる順次集約補完データをいい、例えば、図 35におい ては、 V(0,5)にとつて、 V(2,0), V(0,4)は即時補完データである力 V(l,3), V(3,l)は V( 0, 15)が割当られた時点以降に取得可能な遅延補完データである。また、一般に、あ るリーフ alとそれより右に位置するもう一つのリーフ a2において、リーフ a2の割当処理 が終了した時点で定まるリーフ alの遅延補完データを、 alの a2における遅延補完デ ータという。図 35においては、ノード (0,5)のノード (0,10)における遅延補完データは、 ノード (1,3)である。
[0321] ここで、本実施の形態における証明応答の具体例を図 37を用いて説明する。尚、 以下においては、本実施の形態における証明応答の形式を「シーケンス補完方式」 と呼ぶ。今、ある利用者装置 21からの登録点が XI (ノード (0, 2)) , X2 (ノード (0, 11)) , X3 (ノード (0, 18)) , X4 (ノード (0, 21)) , X5 (ノード (0, 29)) , X6 (ノード (0, 31))である とする。
[0322] シーケンス補完の方式においては各登録点において以下のようなデータが利用者 装置 21に返されるようになって 、る。
[0323] (1) XI点における証明応答には、 XI点の即時補完データが返される(具体的には 、ノード (1,0)の割当値)。
[0324] (2) X2点における証明応答には、 X2点の即時補完データ、及び XI点の X2点にお ける遅延補完データが返される(具体的には、 X2点の即時補完データとして、ノード ( 3,0),ノード (1,4),ノード (0,10)の割当値、 XI点の X2点における遅延補完データとして 、ノード (0,3),ノード (2,1))の割当値。
[0325] (3) X3点における証明応答には、 X3点の即時補完データ、並びに XI点及び X2点 の X3点における遅延補完データが返される(具体的には、 X3点の即時補完データと して、ノード (4,0),ノード (1,8)の割当値、 XI点の X3点における遅延補完データとして 、ノード (0,3),ノード (2,1),ノード (3,1)の割当値、 X2点の X3点における遅延補完デー タとして、ノード (2,3)の割当値)。
[0326] (4) X4点における証明応答には、 X4点の即時補完データ、並びに XI点、 X2点及 び X3点の X4点における遅延補完データが返される(具体的には、 X4点の即時補完 データとして、ノード (4,0),ノード (2,4),ノード (0,20)の割当値、 XI点の X4点における 遅延補完データとして、ノード (0,3),ノード (2,1),ノード (3,1)の割当値、 X2点の X4点 における遅延補完データとして、ノード (2,3)の割当値、 X3点の X4点における遅延補 完データとして、ノード (0,19)の割当値)。 [0327] 以下、 X5及び X6においても同様である。このように、シーケンス補完方式において は、証明応答として、ある登録点に関して、該登録点の即時補完データ及びある登 録点より前に登録された各登録点の該登録点における遅延補完データが含まれるよ うになつている。尚、各証明応答は、利用者装置 21ごとに管理されるようになっている
[0328] 利用者装置 21は、コンピュータネットワーク 3aを介して証明装置 laとデータを送受信 する送受信部 21a、所定のデジタル,データを含む証明要求を複数回行うイベント順 序証明要求証部 22a、証明要求に対する証明応答に含まれた受理証明書を検証す るイベント順序証明検証部 23a、受理証明書を含む証明応答をはじめとしてイベント 順序証明に関する情報を記憶する記憶部 24aを有する構成である。
[0329] ここで、イベント順序証明検証部 23aは、受理証明書に対して以下の検証機能を備 える。
[0330] 第 1の検証機能としては、証明装置 laのデジタル署名作成部 14a及び電子的情報 公表部 15aを介して公表される公表情報に、受理証明書に含まれる順次割当データ 力 Sハッシュ関数を介してリンクすることを検証するものである。具体的には、順次集約 木のルート値として公表された値と利用者装置 21で計算されたルート値が一致するか 否か検証するものである。
[0331] 第 2の検証機能としては、公表情報が公開される前であっても、利用者装置 21の後 述する動作により、利用者装置 21間における受理証明書発行の時間的前後を検証 するものである。
[0332] 以下、第 2の検証機能を図 38を用いて説明するが、その前に、合流点及び認証点 の説明をする。
[0333] ある順次集約木のリーフ aに対して、 aからルートに至るパスを aのルート'パスと呼び 、 rtPath(a)と書く。また、 rtPath(a)に属するノードのルート以外のものの兄弟ノード (sibl ing node)からなるノードの並びを認証パスと呼び、 authPath(a)と書く。
[0334] このとき、ある順次集約木の 2つのリーフ alと a2について、 alより右に a2が位置する とき、 alからルートに至るパスと a2からルートに至るパスの合流する点を、 alと a2の合 流点と呼び、合流点のレフト'チャイルド (左側の子)を alの a2による認証点と呼ぶ。例 えば、図 37において、登録点 XIの登録点 X2による認証点は (3, 0)の点であり、登録 点 X2の登録点 X3による認証点は (4, 0)の点である。
[0335] 今、 2つの利用者装置 2A及び 2Bが、それぞれ、シーケンス補完方式により、各登録 点の証明応答を取得するものとし、図 38に示す a, al, a2, af^利用者装置 2Aの登録 点、 bを利用者装置 2Bの登録点とする。尚、 afは、暫定終端点と呼ばれるもので、利 用者装置 2Aの登録点のうち、最も右に位置する登録点である。図 38においては、利 用者装置 2Aの 1つの登録点 aがあり、それより右に位置する利用者装置 2Bの登録点 b があり、さらにその右に位置する利用者装置 2Aの登録点 al¾ある。
[0336] ここで、シーケンス補完方式においては、一般に、登録点 aが登録点 bより左に位置 する場合、認証点のラベル (割当値)は登録点 bの証明応答 (即時補完データ)に含 まれており、また、登録点 bにおけるイベント順序証明処理が終了した時点以降 (例え ば、登録点 afの時点)においては、登録点 aの遅延補完データ力 計算できるラベル には、認証点のラベルが含まれるので、登録点 aの登録点 afにおける遅延補完データ 力 計算される認証点の割当値と、登録点 bの即時補完データに含まれる認証点の 割当値が一致する力否かを検証することにより、登録点 aと登録点 bの時間的前後を 検証することができる(詳しくは、後述の順次集約木の性質の項目(3)を参照)。
[0337] 従って、図 38の場合、登録点 al^現時点としたときの現時点順次集約木における、 登録点 aの登録点 bによる認証点。の割当値 V(o)がー致すれば、登録点 aの登録が登 録点 bの登録より前に起こったことを客観的に証明することができる。イベント順序証 明検証部 23aは、このことを後述する動作により検証するものである。
[0338] 尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置 (C PU : Central Processing Unit)、プログラムやデータを収納する機能を有する RAM(Ra ndom Access Memory)等からなる主記憶装置 (メモリ)、ハードディスク(HD)等の電源 断時にもデータを記憶し続けることができる 2次記憶装置を有する電子的な装置から 構成されている。このうち、証明装置 laのイベント順序証明要求集約部 12a、イベント 順序証明応答作成部 13a、デジタル署名作成部 14a及び電子的情報公表部 15a、並 びに利用者装置 21のイベント順序証明要求部 22a及びイベント順序証明検証部 23a の処理は、上記 CPUによる演算制御機能を具体的に示したものに他ならない。また、 証明装置 laの記憶部 16a及び利用者装置 21の記憶部 24aは、上記主記憶装置ある!/、 は 2次記憶装置の機能を備えたものである。
[0339] (4- 2.システム動作)
次に、以上の構成を有するイベント順序証明システム 100aにおけるイベント順序証 明方法、およびイベント順序証明検証方法を図 39乃至 41を用いて説明する。ここで 、図 39は、 1つの順次集約期間において証明装置 laが受理証明書を含む及び証明 応答を作成する動作を説明するシーケンス図であり、図 40及び 41は、利用者装置 21 が受理証明書に対して第 2の検証を行う動作を説明するシーケンス図である。
[0340] まず、図 39を参照して、イベント順序証明方法について説明する。
[0341] 利用者装置 21が証明装置 laにデジタル ·データ yを含む証明要求を送信すると、証 明装置 laは送受信部 11aを介して、該デジタル ·データ yを含む証明要求を受信する ( ステップ S 10a, S20a)o
次に、イベント順序証明要求集約部 12aが、デジタル ·データ yを入力の一部あるい は全部として順次割当データ zを計算し、該順次割当データ zを順次集約木リーフ〖こ 割り当てて、インクリメンタルに順次集約木を構成していくとともに、イベント順序証明 応答作成部 13aは、受理証明書を含む証明応答 (シーケンス補完の方式;登録点の 即時補完データ及び登録点より前に登録された各登録点の該登録点における遅延 補完データ)を作成し、送受信部 11aを介して利用者装置 21に証明応答を送信する( ステップ S30a, S40a, S50a)。
[0342] これにより、利用者装置 21は、受理証明書を含む証明応答を取得することができる( ステップ S60a)。そして、利用者装置 21は、このステップ SlOa及び S60aの証明要求送 信及び証明応答受信を繰り返す。
[0343] 一方、証明装置 laでは、順次集約のための一定期間 (順次集約期間)内において は、上述した証明装置 laの動作は繰り返され、順次集約期間が終了すると、電子的 情報公表部 17aは、順次集約木のルート値を計算し、このルート値を電子的に公表 する(ステップ S70a, S80a, S90a)。
[0344] 次に、図 40を参照しながら、イベント順序証明検証方法について説明する。これは 、利用者装置 21の第 2の検証機能に相当するものである。尚、図 40は、利用者装置 2 Aと 2B間のデータのやりとりを示すものである力 利用者装置 2Aが利用者装置 2Bに 後置点判定要求 (利用者装置 2Aが受け取った受理証明書の登録点より時間的に後 の受理証明書に対する順序判定を利用者装置 2Bに要求する)行うものである。
[0345] まず、利用者装置 2Aは、検証した 、受理証明書 EOC(a) (登録点 aにおける受理証 明書)を付けて後置点判定要求を利用者装置 2Bに送信する (ステップ Sl lOa)。後置 点判定要求を受信した利用者装置 2Bは、受け取った受理証明書 EOC(a)からリーフ 番号 n(a)を抽出し、リーフ番号 n(a)より大きなリーフ番号を利用者装置 2Bの登録点の 中力も検索する (ステップ S120a, S130a) oリーフ番号 n(a)より大きなリーフ番号が利用 者装置 2Bの登録点にある場合には、該登録点の一つ bを選び、そのリーフ番号 n(b) を利用者装置 2Aに送信する(ステップ S140a, S150a) oこれに対して、リーフ番号 n(a) より大きなリーフ番号が利用者装置 2Bの登録点にない場合には、比較可能データな しの旨のメッセージを利用者装置 2Aに送信する (ステップ S142a)。
[0346] リーフ番号 n(b)を利用者装置 2B力も受信した利用者装置 2Aは、リーフ番号 n(b)より 大きなリーフ番号を持つ利用者装置 2Aの暫定登録点 a 選び、登録点 aの暫定終端 点 afにおける遅延補完データ lateData (a,af)を取得し、利用者装置 2Bに送信する (ス テツプ S160a, S170a, S180a, S190a)。尚、比較可能データなしの旨のメッセージを利 用者装置 2B力も受信したときは、検証を終了する (ステップ S144 。
[0347] 利用者装置 2Aから遅延補完データ lateData (a,af)を受信した利用者装置 2Bは、リ ーフ識別番号 n(a)と n(b)力も登録点 aの登録点 bに対する認証点。を計算し、受け取つ た受理証明書 EOC(a)と遅延補完データ lateData (a,af)力 認証点の割当値を計算す る (ステップ S210a)。次に、登録点 bの受理証明書 EOC(b)に含まれる即時補完データ に上記計算で求めた認証点の割当値が含まれて 、る力否かを検証し、認証点の割 当値が含まれているときは、登録点 aが登録点 bより時間的に前に登録されたという判 定結果を利用者装置 2Aに送信する (ステップ S220a, S230a) o一方、認証点の割当 値が含まれて 、な 、ときは、登録点 aが登録点 bより時間的に前に登録されたことを証 明できず、何らかの不正があるという判定結果を利用者装置 2Aに送信する (ステップ S220a, S240a)。
[0348] この結果、利用者装置 2Aは、判定結果を受信し、取得するので、 2利用者間にお いて受理証明書発行の時間的前後を検証することができる (ステップ S250a, S260a)
[0349] 尚、上述したイベント順序証明検証方法は、利用者装置 2Aが利用者装置 2Bに後 置点判定要求行うものであつたが、前置点判定要求 (利用者装置 2Aが受け取った受 理証明書の登録点より時間的に前の受理証明書に対する順序判定を利用者装置 2 Bに要求する)を行うようにしてもよい。図 41は、利用者装置 2Aが利用者装置 2Bに前 置点判定要求行う場合の利用者装置 2Aと 2B間のデータのやりとりを示すシーケンス 図である。
[0350] まず、利用者装置 2Aは、検証したい受理証明書 EOC(a) (登録点 aにおける受理証 明書)を付けて前置点判定要求を利用者装置 2Bに送信する (ステップ S310a)。前置 点判定要求を受信した利用者装置 2Bは、受け取った受理証明書 EOC(a)からリーフ 番号 n(a)を抽出し、リーフ番号 n(a)より小さいリーフ番号、及びリーフ番号 n(a)より大き V、リーフ番号を利用者装置 2Bの登録点の中から検索する(ステップ S320a, S330a)。 リーフ番号 n(a)より小さいリーフ番号及びリーフ番号 n(a)より大きいリーフ番号が利用 者装置 2Bの登録点にある場合には、リーフ番号 n(a)より小さいリーフ番号の登録点 b を選ぶとともに、リーフ番号 n(a)より大きいリーフ番号の暫定登録点 bf^選ぶ (ステップ S340a, S350a)。尚、該当する登録点がない場合には、比較可能データなしの旨のメ ッセージを利用者装置 2Aに送信する (ステップ S342 。そして、利用者装置 2Aは、比 較可能データなしの旨のメッセージを利用者装置 2B力 受信したときは、検証を終了 する(ステップ S344a)。
[0351] 次 、で、利用者装置 2Bは、登録点 bの暫定登録点 bfにおける遅延補完データ lateD ata(b,bf)を取得し、リーフ識別番号 n(a)と n(b)力も登録点 aの登録点 bに対する認証点 0を計算し、受理証明書 EOC(b)と遅延補完データ lateData (b,bf)力 認証点の割当 値を計算する (ステップ S360a, S370a) o次に、登録点 aの受理証明書 EOC(a)に含ま れる即時補完データに上記計算で求めた認証点の割当値が含まれている力否かを 検証し、認証点の割当値が含まれているときは、登録点 aが登録点 bより時間的に後 に登録されたという判定結果を利用者装置 2Aに送信する(ステップ S380a, S390a) o 一方、認証点の割当値が含まれていないときは、登録点 aが登録点 bより時間的に後 に登録されたことを証明できず、何らかの不正があるという判定結果を利用者装置 2A に送信する(ステップ S380a, S400a) o
[0352] この結果、利用者装置 2Aは、判定結果を受信し、取得するので、 2利用者間にお いて受理証明書発行の時間的前後を検証することができる (ステップ S410a, S420a)
[0353] 尚、上述したイベント順序証明検証方法は、利用者装置 2A及び利用者装置 2Bが 受理証明書発行の時間的前後を検証したものであつたが、本発明はこれに限定され ず、当事者以外の第 3者機関 (例えば、上記第 1乃至第 3の実施の形態におけるィべ ント順序証明監査装置 3)が検証を行ってもよい。この場合には、利用者装置 2A及び 利用者装置 2Bが検証に必要な情報を第 3者機関に送信し、第 3者機関 (イベント順 序証明監査装置 3)が検証を行うものである。
[0354] 従って、第 4の実施の形態のイベント順序証明システム 100aによれば、木構造を用 いてイベント順序を証明するイベント順序証明システムにおいて、利用者装置 21から 証明要求を受付けた証明装置 laが、該証明要求に対して受理証明書を含むシーケ ンス補完方式 (登録点に関して、該登録点の即時補完データ及び該登録点より前に 登録された各登録点の該登録点における遅延補完データを証明応答に含む)による 証明応答を発行し、利用者装置 21がこの証明応答を用いて、利用者装置 21間におけ る受理証明書発行の時間的前後を検証することができるので、証明要求をまとめた 公表データが電子的に公表される前であっても、受理証明書の正当性を検証するこ とがでさる。
[0355] <第 5の実施の形態 >
(5- 1.システム構成)
図 42は、本発明の第 5の実施の形態に係るイベント順序証明システム 200aのシス テム構成図である。イベント順序証明システム 200aは、証明装置 4a、複数の利用者装 置 5I (I=A,B, 〜,N)、及び、以上の各装置を相互に接続する、例えば、インターネット 網、電話回線網などにより構成されるコンピュータネットワーク 3aを備えており、証明 装置 4aが利用者装置 51からの証明要求に応えて、受理証明書を含む証明応答を利 用者装置 51に返信するようになっている。そして、利用者装置 51は、証明装置 4aから 受け取つたこの複数の証明応答力 受理証明書を検証することができるようになって いる。
[0356] ここで、本実施の形態と第 4の実施の形態とは、証明応答の形式が異なるものであ り、本実施の形態では、「シーケンス補完方式」とは別の後述する「連鎖補完方式」に より証明応答が作成されるようになっている。これは、上述したシーケンス補完方式に おいては、各利用者装置 21の各登録点において、当該の利用者装置 21の過去の登 録点全てに対してその遅延補完データを当該の利用者装置 21に返送しなければな らないため、過去の登録点が増加するのに比例して、証明応答のデータ量が増加す るが、本実施の形態の連鎖補完方式においては、証明応答のデータ量の増加が抑 制されるようになつている。尚、本実施の形態においては、上記実施の形態と異なる 構成及び機能を説明し、その他の構成及び機能に関しては同一部分には同一符号 を付して説明を省略する。
[0357] 証明装置 4aは、コンピュータネットワーク 3aを介して利用者装置 51とデータの送受信 を行う送受信部 l la、利用者装置 51からの証明要求として送信されたデジタル 'デ一 タを順次集約木を用いてまとめるイベント順序証明要求集約部 12a、受理証明書を含 む証明応答を作成するイベント順序証明応答作成部 41a、証明装置 4aが一定期間に 発行した複数の受理証明書の内容を集約したデータに対して高強度デジタル署名 し、公表データとするデジタル署名作成部 14a、高強度デジタル署名を付加された公 表データを電子的に公表する電子的情報公表部 15a、及び受理証明書をはじめとす るイベント順序証明に関する情報を記憶する記憶部 42aを有する構成である。
[0358] イベント順序証明応答作成部 41aは、図 43に示すような受理証明書 EOC(y)を含む 証明応答を作成し、利用者装置 51に送信するようになっている。受理証明書 EOC(y) は、利用者から送付されたデジタル 'データ y、上述した順次割当データ計算手順に よりデジタル ·データ yから計算された順次割当データ z、順次割当データ zが割当て られた順次集約木を一意に特定できる順次集約木番号、順次割当データ zが割当て られた順次集約木のリーフを一意に特定できる順次集約木リーフ番号、およびその 時点で取得できる順次集約補完データの一部 (これを登録点の即時補完データと言 う) SKの位置情報及び割当値を含むように構成されて!、る。 [0359] また、証明応答には、利用者装置 51の直前の登録点の遅延補完データ TK2の位置 情報及び割当値も含むように構成されている。
[0360] ここで、本実施の形態における証明応答の具体例を図 37を用いて説明する。尚、 上述したように、この証明応答の形式を「連鎖補完方式」と呼ぶ。今、ある利用者装置 51からの登録点が XI (ノード (0, 2)) , X2 (ノード (0, 11)) , X3 (ノード(0, 18)) , X4 (ノ ード (0, 21)) , X5 (ノード (0, 29)) , X6 (ノード (0, 31))であるとする。
[0361] 連鎖補完方式においては各登録点において以下のようなデータが利用者装置 51 に返されるようになって!/、る。
[0362] (1) XI点における証明応答には、 XI点の即時補完データが返される(具体的には 、ノード (1,0)の割当値)。
[0363] (2) X2点における証明応答には、 X2点の即時補完データ、及び XI点の X2点にお ける遅延補完データが返される(具体的には、 X2点の即時補完データとして、ノード( 3,0) ,ノード (1,4),ノード (0,10)の割当値、 XI点の X2点における遅延補完データとし て、ノード (0,3),ノード (2,1)の割当値)。
[0364] (3) X3点における証明応答には、 X3点の即時補完データ、及び X2点の X3点にお ける遅延補完データが返される(具体的には、 X3点の即時補完データとして、ノード( 4,0),ノード (1,8)の割当値、 X2点の X3点における遅延補完データとして、ノード (2,3) の割当値)。
[0365] (4) X4点における証明応答には、 X4点の即時補完データ、及び X3点の X4点にお ける遅延補完データが返される(具体的には、 X4点の即時補完データとして、ノード( 4,0),ノード (2,4),ノード (0,20)の割当値、 X3点の X4点における遅延補完データとして 、ノード (0,19)の割当値)。
[0366] 以下、 X5及び X6においても同様である。このように、連鎖補完方式においては、証 明応答として、ある登録点に関して、該登録点の即時補完データ及び該登録点の直 前登録点の該登録点における遅延補完データが含まれるようになつている。これによ り、連鎖補完方式においては、過去の登録点が増えても証明要求に対する証明応答 のデータ量が比例的に増加しな 、ので、証明装置 4aと利用者装置 51間の通信デー タ量を抑制することができる。尚、各証明応答は、利用者装置 51ごとに管理されるよう になっている。
[0367] 次に、連鎖補完方式の証明応答であっても、利用者装置 51は、実質的には、シー ケンス補完方式の証明応答と同一のデータが得られることを図 44及び図 45を参照し て説明する。
[0368] 図 44に示すように、順次集約木 ST2の 3つのリーフ al, a2, a3が左からこの順番であ るものとすると、 a2点の a3点における遅延補完データ、 a2点の即時補完データ、及 び al点の a2点における遅延補完データから、 alの a3点における遅延補完データは、 以下のように計算される。
[0369] まず、 a2点の a3点における遅延補完データの中で最もレベルが高いノードのレべ ルを j2と置く。また、 alの a2による認証点を AP(al, a2)、その兄弟ノードを AP'(al, a2)と 書き、 AP(al, a2)のレベルを jlと置く。
[0370] このとき、第 1に、 al点の a3点における遅延補完データに含まれる認証パスノードの うちレベルが jはりも小さいものの割当値は、 al点の a2点における遅延補完データに 含まれる。
[0371] また、第 2に、 al点の a3点における遅延補完データに含まれる認証パスノードのうち レベルが jlに等し 、ものの割当値は、 a2点の a3点における遅延補完データおよび a2 点の即時補完データ力 計算できる。
[0372] さらに、第 3に、 al点の a3点における遅延補完データに含まれる認証パスノードのう ちレベルが jlにより大きいものの集合は、 a2点の a3点における遅延補完データに含ま れる認証パスノードのうちレベルが jlより大きいものの集合と等しい。従って、 al点の a 3点における遅延補完データに含まれる認証パスノードのうちレベルが jはり大きいも のの割当値は、 a2点の a3点における遅延補完データ力も計算できる。
[0373] 以上から、 al点の a3点における遅延補完データは、以下の 3つのデータから計算 することができる。
[0374] (1) a2点の a3点における遅延補完データ
(2) a2点の即時補完データ
(3) al点の a2点における遅延補完データ
尚、上記の(1)〜(3)力も al点の a3点における遅延補完データを計算する処理を 完全化波及処理と呼ぶ。
[0375] この完全ィヒ波及処理を用いることにより、利用者装置 51は、連鎖補完方式の証明応 答力 シーケンス補完方式の証明応答を計算することができるようになって!/、る。図 4 5はこの計算方法を示す表である。ここで、図 45は、シーケンス補完方式及び連鎖補 完方式にお 1、て、各登録点に必要な即時補完データ及び遅延補完データを示して いる。尚、連鎖補完方式における証明応答の即時補完データ及び遅延補完データ は、 2重線に囲まれる部分のデータである。また、図 45に示す矢印は計算の方向を 示している。例えば、図 45によれば、 a2の a3における遅延補完データ(Pl)、 a2の即 時補完データ(P2)、及び alの a2における遅延補完データ(P3)から、 alの a3における 遅延補完データ (P4)が計算できることを示して 、る。
[0376] 同様にして、 a3の a4における遅延補完データ(P5)、 a3の即時補完データ(P6)、及 び a2の a3における遅延補完データ(P1)から、 a2の a4における遅延補完データ(P7) が計算できる。そして、これを繰り返すことにより、連鎖補完方式であっても、最終的 には、図 45に示す遅延補完データすべてが計算できることになる、これは、シーケン ス補完方式の証明応答に他ならない遅延補完データである。
[0377] 従って、本実施の形態の連鎖補完方式であっても、利用者装置 51においては、図 4 5示すような完全化波及処理を行うことにより、第 1の実施の形態と同様の検証をする ことができるものである。尚、この完全ィ匕波及処理に関しては、後述する「インクリメン タル完全化」の処理として、詳しく説明する。
[0378] 利用者装置 51は、コンピュータネットワーク 3aを介して証明装置 4aとデータを送受信 する送受信部 21a、所定のデジタル,データを含む証明要求を複数回行うイベント順 序証明要求証部 22a、証明要求に対する証明応答に含まれた受理証明書を検証す るイベント順序証明検証部 51a、受理証明書を含む証明応答をはじめとしてイベント 順序証明に関する情報を記憶する記憶部 52aを有する構成である。
[0379] ここで、イベント順序証明検証部 51aは、第 4の実施の形態のイベント順序証明検証 部 23aの機能に加えて、後述するインクリメンタル完全ィ匕の処理を行う機能を具備す るもので、受理証明書に対して以下の検証機能を備える。
[0380] 第 1の検証機能としては、証明装置 4aのデジタル署名作成部 14a及び電子的情報 公表部 15aを介して公表される公表情報に、受理証明書に含まれる順次割当データ 力 Sハッシュ関数を介してリンクすることを検証するものである。具体的には、順次集約 木のルート値が公表された値と利用者装置 51で計算されたルート値が一致する力否 か検証するものである。
[0381] 第 2の検証機能としては、公表情報が公開される前であっても、利用者装置 51間に おける受理証明書発行の時間的前後を検証するものである。
[0382] 以下、第 2の検証機能を図 39を用いて説明する。
[0383] 今、 2つの利用者装置 5A及び 5Bが、それぞれ、連鎖補完方式により、各登録点の 証明応答を取得するものとし、図 39に示す a, al, a2, al^利用者装置 5Aの登録点、 b を利用者装置 5Bの登録点とする。尚、 afは、暫定終端点である。図 39においては、 利用者装置 5Aの 1つの登録点 aがあり、それより右に位置する利用者装置 5Bの登録 点 bがあり、さらにその右に位置する利用者装置 5Aの登録点 al¾ある。
[0384] 本実施の形態においては、まず、利用者装置 5Aの登録点 aに対して、 al^暫定終端 点として、図 45に示す完全化波及処理を行う。これにより、シーケンス補完方式と同 一の証明応答が得られるので、その後は、第 4の実施の形態のときと同一の方法を 実施することにより、登録点 aと登録点 bの時間的前後を検証することができる。即ち、 本実施の形態にぉ 、ても、登録点 al^現時点としたときの現時点順次集約木におけ る、登録点 aの登録点 bによる認証点 0の割当値 V(o)がー致すれば、登録点 aの登録 が登録点 bの登録より前に起こったことを客観的に証明することができる。
[0385] 尚、以上の各装置は、少なくとも演算機能及び制御機能を備えた中央処理装置 (C PU : Central Processing Unit)、プログラムやデータを収納する機能を有する RAM(Ra ndom Access Memory)等からなる主記憶装置 (メモリ)、ハードディスク(HD)等の電源 断時にもデータを記憶し続けることができる 2次記憶装置を有する電子的な装置から 構成されている。このうち、証明装置 4aのイベント順序証明応答作成部 41a及び利用 者装置 51のイベント順序証明検証部 51aの処理は、上記 CPUによる演算制御機能を 具体的に示したものに他ならない。また、証明装置 4aの記憶部 42a及び利用者装置 5 Iの記憶部 52aは、上記主記憶装置あるいは 2次記憶装置の機能を備えたものである [0386] (5- 2.システム動作)
ここで、以上の構成を有するイベント順序証明システム 200aにおけるイベント順序証 明方法に関しては、図 39における証明装置 la及び利用者装置 21を、それぞれ証明 装置 4a及び利用者装置 51に置き換えたものと同一であるため、説明を省略する。また 、イベント順序証明検証方法に関しては、図 40及び図 41における利用者装置 2A及 び 2Bを、それぞれ利用者装置 5A及び 5Bに置き換えたものであるとともに、事前ステツ プとして、利用者装置 5A及び 5Bそれぞれにおいて、後述するインクリメンタル完全ィ匕 処理を実行すれば、その後の動作は、図 40及び図 41の動作と同一であるため、説 明を省略する。
[0387] < 2- 3.証明装置 4aのデータ記憶方法 >
(第 1の方法)
次に、連鎖補完方式における証明装置 4aのデータ記憶方法について、より詳細に 説明する。まず、第 1の方法は、証明装置 4aが順次集約木を記憶部 42a上に構成す ることにより、上述の連鎖補完の方式を実現する方法 (以下、方法 Aという)である。
[0388] 図 46は、方法 Aを採用したときの記憶部 42aに記憶されるデータの概略構成を示す 図である。図 46に示すように、記憶部 42aには、順次集約木そのもの、即ち、証明要 求が割り当てられたノード、計算可能なノードの位置情報及び割当値を記憶するとと もに、各利用者装置 51ごとに直前登録点の位置情報を記憶するようになっている。
[0389] この方法 Aにお 、ては、証明要求を証明装置 4aが受信するたびに、記憶部 42a上 に記憶する順次集約木に、レベル力^のノード、即ちリーフを加え、レベルが 1以上の ノードで割当値が計算できるものに対しては、そのノードを順次集約木に追加しその 割当値を付加して、記憶部 42a上に順次集約木を構築するようになって 、る。
[0390] 以下に、方式 Aにおける証明装置 4aの動作を図 47を用いて説明する。ここで、図 4 7は、証明装置 4aのイベント順序証明要求集約部 12a及びイベント順序証明応答作 成部 41aの機能を示すフローチャート図である。
[0391] まず、証明装置 4aは利用者装置 51から証明要求を受けると、証明要求から順次割 当データを生成し、順次集約木の新しいリーフに割り当てて、新登録点とするとともに 、該登録点のノード情報 (位置情報及び割当値)を記憶する (ステップ Sl lOla, S1103 a) 0
[0392] 次 、で、新登録点の即時補完データを即時補完データの定義に従って、記憶部 42 aに記憶された順次集約木力 取得する (ステップ SI 105a)。
[0393] 次いで、新登録点の追加により、レベルが 1以上のノードで割当値が計算できるも のに対しては、割当値を計算して、そのノードの位置情報及び割当値を記憶部 41aに 記憶する(ステップ SI 107a)。
[0394] 次 、で、直前登録点の遅延補完データを、遅延補完データの定義に従って、記憶 部 41aに記憶された利用者装置 51ごとの直前登録点及び順次集約木から取得する( ステップ S 1109a)。
[0395] 次 、で、新登録点を直前登録点とし、該利用者装置 51の直前登録点として記憶す るとともに、ステップ SI 105a及び SI 109aで取得した即時補完データ及び遅延補完デ ータを含む証明応答を作成し、利用者装置 51に送信する (ステップ S111 la, S1113a, S1115a)。
[0396] (第 2の方法)
次に、第 2の方法は、証明装置 4aが順次集約木を記憶部 42a上に構成するのでは なぐスタック構造を記憶部 42aに構成することにより、上述の連鎖補完の方式を実現 する方法 (以下、方法 Bという)である。方法 Bは、順次集約木の大きさにほぼ比例し て必要記憶量が増加する方法 Aをさらに改善したものであり、スタック構造を用いて 順次集約木のノード割当値、各順序証明要求に対する即時補完データ、及び遅延 補完データを計算するので、必要記憶量を減少することができ、証明装置 4aの記憶 部 42aに収まらな 、大きさの順次集約木の取り扱 、を可能とすることができる。
[0397] 図 48は、方法 Bを採用したときの記憶部 42aに記憶されるデータの概略構成を示す 図である。図 48に示すように、記憶部 42aには、即時補完データ (位置情報及び割当 値)を記憶する第 1のスタック 421aと利用者装置 51ごとに遅延補完データを記憶する 記憶部 422aを備えており、利用者装置 51ごとに遅延補完データを記憶する記憶部 42 2aは、直前登録点 (位置情報) 423a及び遅延補完データ (位置情報及び割当値)を 記憶する第 2のスタック 424aで構成されている。尚、第 1又は第 2のスタックの要素とな るようなデータをスタックフレームと呼ぶ。 [0398] ここで、上記 2種類のスタックのうち第 1のスタックは、従来力 用いられているデータ 構造で &)る。 f列 X·ば、 R. Merkle: becrecy, Autnentication, and Public Key Systems, UMI Research Press, 1982.の 36ページには二分木のルートノードの割当て値を計 算するための再帰的手順 H(a, b)が記載されている力 この再帰的手順を 1つのスタ ックを用 、て標準的に実装するとき、このスタックは上記第 1のスタックと同様の使わ れ方をする。
[0399] 以下に、方式 Bにおける証明装置 4の動作を図 49を用いて説明する。ここで、図 49 は、証明装置 4aのイベント順序証明要求集約部 12a及びイベント順序証明応答作成 部 41aの機能を示すフローチャート図である。
[0400] まず、証明装置 4aは利用者装置 51から証明要求を受けると、証明要求から順次割 当データを生成し、順次集約木の新しいリーフに割り当てて、新登録点とする (ステツ プ S1121a, S1123a) 0
[0401] 次 、で、新登録点の即時補完データを第 1のスタック 421aから取得する (ステップ S1 125a) o
[0402] 次いで、新登録点の位置情報及び割当値を含むスタックフレームを第 1のスタック に追加する (ステップ S1127a)。その際、新たに第 1のスタックに追加されたスタックフ レームが、他の利用者装置 51において、直前登録点の補完データに対応するもので あるときは、該スタックフレームを該当する利用者装置 51の第 2のスタックに追加する( ステップ S 1129a, SI 131a)。
[0403] 次いで、第 1のスタックに兄弟ノードである 2つのノードに対応する 2つのスタックフレ ームが存在する限り、当該の 2つのノードの親に当たるノードの位置情報と割当値を 含むスタックフレームを生成し、当該の 2つのノードに対応するスタックフレームを第 1 スタックから除き、上記新たに生成したスタックフレームを第 1スタックに追加する (ステ ップ SI 133a, SI 135a, SI 137a, SI 139a)。その際、新たに第 1のスタックに追加された スタックフレームが、他の利用者装置 51において、直前登録点の補完データに対応 するものであるときは、該スタックフレームを該当する利用者装置 51の第 2のスタックに 追加する(ステップ SI 141a, SI 143a)。
[0404] 次いで、当該の利用者装置 51に対する第 2のスタックから直前登録点の新登録点 における遅延補完データを取得し,当該の利用者装置 51に対する第 2のスタックを空 にする(ステップ S1145a)。
[0405] 次 、で、新登録点を直前登録点とし、該利用者装置 51の直前登録点として記憶す るとともに、ステップ SI 125a及び SI 145aで取得した即時補完データ及び遅延補完デ ータを含む証明応答を作成し、利用者装置 51に送信する (ステップ SI 147a, SI 149a, S1151a)。
[0406] 上記動作を図 37に示す具体例を用いて説明する。尚、新登録点を X4として説明す る。
[0407] まず、証明装置 4aは利用者装置 51から証明要求を受けると、証明要求から順次割 当データを生成し、順次集約木の新しいリーフである登録点 X4に割り当てて、新登 録点とする(ステップ S 112 la, SI 123a)。
[0408] 次 、で、新登録点 X4の即時補完データであるノード (3,0)の割当値を第 1のスタック 421aのスタックフレーム 0から、ノード (2,4)の割当値を第 1のスタック 421aのスタックフレ ーム 1から、ノード (0,20)の割当値を第 1のスタック 421aのスタックフレーム 2からそれぞ れ取得する(ステップ S 1125a)。
[0409] 次 、で、新登録点(0,21)の位置情報及び割当値を含むスタックフレーム 3を第 1の スタックに追加する (ステップ S1127a)。その際、新たに第 1のスタックに追加されたス タックフレームが、他の利用者装置 51において、直前登録点の補完データに対応す るものであるときは、該スタックフレームを該当する利用者装置 51の第 2のスタックに追 加する(ステップ S 1129a, SI 131a)。
[0410] 次いで、第 1のスタックに兄弟ノードに対応する 2つのスタックフレームが存在するの で (スタックフレーム 2及び 3)、当該の 2つのノードの親に当たるノード(1,10)の位置情 報と割当値を含むスタックフレームを新たに生成し、当該兄弟ノードに対応するスタツ クフレーム (スタックフレーム 2a及び 3a)を第 1のスタックから除き、上記新たに生成し たスタックフレームを新たなスタックフレーム 2aとして第 1のスタックに追加する(ステツ プ S1133a, S1135a, S1137a, S1139a)。その際、新たに第 1のスタックに追加されたス タックフレームが、他の利用者装置 51において、直前登録点の補完データに対応す るものであるときは、該スタックフレームを該当する利用者装置 51の第 2のスタックに追 加する(ステップ SI 141a, SI 143a)。
[0411] 次いで、当該の利用者装置 51に対する第 2のスタックから直前登録点 X3の新登録 点 X4における遅延補完データであるノード (0,19)の割当値を第 2のスタック 424aのス タックフレーム 0から取得し,当該の利用者装置 51に対する第 2のスタックを空にする( ステップ SI 145a)。
[0412] 次 、で、新登録点 X4を直前登録点 X3とし、該利用者装置 51の直前登録点 423aとし て記憶するとともに、ステップ SI 125a及び SI 145aで取得した即時補完データ及び遅 延補完データを含む証明応答を作成し、利用者装置 51に送信する (ステップ S1147a , SI 149a, S1151a)。
[0413] (第 2の方法の実装例)
以下に、上述した方法 Bを用いた証明装置 4aの証明応答作成の一実装例を説明 する。
[0414] 図 50は証明装置 4aの記憶部 42aの構成を示す図である。図 50に示すように、順次 集約木のノード割当値を計算するノード割当値計算用スタック (以下では _stackと呼 ぶ)及び遅延補完用データ構造の配列(以下では _chain_comple_data_vecと呼ぶ)を 持つ。 _stackの要素はスタックフレームからなるスタック構造であり、各スタックフレー ムは place部と value部力もなる。このうち place部は順次集約木のノード位置を表すプ レースを保持し、そのノードのレベルを示す level部とレベル内の番号を示す index部 の組からなる。 value部はそのノードの割当値を保持する。 _chain_comple_data_vecは テータ構造 chain— comple— dataの目 ii歹 Uであり、テータ構造 chain— comple— dataは late— cco mple— stack咅 |5、 prev— point咅 |5、 prev— point— old咅 |5、及び old— tree— id咅 |5力りなる。このう 、 1 ate_ccomple_stack部は _stackと同様にスタックフレームからなるスタック構造であり、 pr eV_p0int部は直前の登録点を表す識別番号 (非負整数または nil)を表し、 prev_point_ old部は現在の集約木より前に生成された集約木における直前の登録点を表す識別 番号(非負整数または nil)を表し、 olcLtreejd部は prev_point_old部が nilではな!/、とき p reV_p0int_0ld部が示す登録点が属する集約木の識別番号 (非負整数または nil )で ある。
[0415] 図 51は、証明装置 4aにおける連鎖補完の手順 GET_REQを示す。この手順で使用 される変数及び関数は以下のとおりである。
[0416] ·ν0はデジタル 'データ(通常はハッシュ値)を保持する変数である。
[0417] 'idxOは利用者識別番号を表す整数を保持する変数である。
[0418] 'JeviLptrは次に受付けたイベント順序証明要求を割当てるリーフの識別番号を保 持する変数であり、初期値は 0である。
[0419] 'placeOは順次集約木のノード位置を表すプレースを保持する変数である。
[0420] · sflmOはスタックフレームを保持する変数である。
[0421] ' F(v0)はイベント順序証明要求に含まれるデジタル 'データ νθを順次集約木リーフ に割当てるデータに変換する関数を表す。 F(vO)は νθと等し 、とすることにしてもよ!/ヽ し、あるいは νθに所定のハッシュ関数 (例えば、 SHA1)を適用した結果とすることにし てもよい。
[0422] ·_ΐι^_ί(1は順次集約木の識別番号を保持する変数である。
[0423] -make-stackflmCplaceO, V0)はプレース placeとデジタル 'データ V0を引数とし、 place 0を place部として持ち、 VO^value部としてもつスタックフレームを返す関数である。
[0424] · stack_bufはある瞬間のスタックの状態を保持する変数である。
[0425] -handle— chain— comple(idO、 tree— idO, idxO, VO,
prev— pointO, immed— stack— dataO, late— stack— dataO )
は、順次集約木の識別子 tree_id0、リーフの識別子 idx0、割当てデータ V0、 即時補 完データ immed_stack_data0、遅延補完データ late_stack_data0から構成される受理証 明書を作成し、利用者識別番号 idOを持つ利用者装置 5iに向けて送付する関数を表 す。
[0426] 証明装置 4aが証明要求を受信する度に、要求者力 受付けたデジタル ·データを V 0、要求者の識別番号を idOとしてこの手順が呼び出される(ステップ ST101a〜STl 17a
) o
[0427] 図 52は、図 51の手順 GET_REQから呼び出される、ノード値計算処理の手順 COM P_NODE_VALSを表す。この手順で使用される変数及び関数は以下のとおりである。
[0428] · sflmlbはスタックフレームを保持する変数である。
[0429] 'placelbはプレースを保持する変数である。 [0430] 'idxlbは整数を保持する変数である。
[0431] 'levlbは整数を保持する変数である。
[0432] 'vallbはデジタル 'データ(通常はハッシュ値)を保持する変数である。
[0433] · sflmObはスタックフレームを保持する変数である。
[0434] 'placeObはプレースを保持する変数である。
[0435] 'levObは整数を保持する変数である。
[0436] · lev_nw及び idx_nwは整数を保持する変数である。
[0437] ·ϋοο χ)は実数 Xを引数として、 Xを超えない最大の整数を返す関数である。さらに y ≠ 0に対して、 floor(x, y) = floor(xZy)と書く。即ち、 floor(x, y)は xを yで割った際の 整商である。
[0438] •hash_comb2(val0, vail)はビット列で表される 2つのデジタル ·データ valOと vailを引 数とし、 valOと vailを連接し、所定のハッシュ関数 (SHA1等)を適用した結果を返す関 数とする。
[0439] 図 53は、図 51の手順 GET_REQ及び図 52の手順 COMP_NODE_VALSから呼び出 される、遅延データ設定処理の手順 REGISTER_COMPLE_DATAを表す。この手順で 使用される変数及び関数は以下のとおりである。
[0440] · placeはプレースを保持する変数であり、 sflmはスタック ·フレームを保持する変数で ある。
[0441] *idは利用者識別番号を表す整数を保持する変数である。
[0442] ·Νは登録された利用者の総数を保持する変数である。
[0443] - auth_node_pl(prev_point, place)は川頁次リーフの識別番号である prev_pointとプレ ース placeを引数とし、 placeの割当値力 ¾rev_pointの遅延補完データに含めるべきも のであれば trueをさもなければ falseを返す関数である。 place = (j, 0としたとき、 auth_ node_pl(prev_point, place);¾¾rueとなるための必要十分条件は、 floor(prev_point,2が 偶数で、 i = floo pre point^^ + lとなることである。
[0444] 次に、図 54及至図 56を参照しながら、 1つ集約間隔が終わり、該集約間隔に対す る順次集約木を終端し、次の集約間隔に対する次の順次集約木を初期化する順次 集約木切替処理にっ 、て説明する。 [0445] 図 54は順次集約木切替処理のメインルーチンを表す。このルーチンにおいては、 図 55で記述されたサブルーチン TERMINATE_STREE_SUB1と図 56で記述されたサ ブルーチン TERMINATE_STREE_SUB2を実行後、大域変数 _tree_idを 1だけインクリメ ントし、 2つの大域変数 Jev0_ptrと _stackを初期化した後終了する。これらの大域変数 は図 51で記述した手順 GET_REQで用いたものである。
[0446] 図 55で記述する TERMINATE_STREE_SUB1は、その集約間隔が終了する時点で 構成されて 、る順次集約木を基に必要に応じてノードを追加し、それらのノードには 前以て定めた手順に従って所定のハッシュ値を割当、当該の集約木のルート値を定 義する処理を記述して!/、る。
[0447] 図 57を参照しながら、 TERMINATE_STREE_SUB1の動作を、特定の状況に則して 具体的に説明する。リーフ識別番号 9の処理が終了後、リーフ識別番号 10の処理に 入る前に集約間隔が終了し、 TERMINATE_STREE_SUB1を呼び出す状況を考える。 開始の時点では _stackの状態は、トップから見て [(1, 4), V(l, 4)]と [(3, 0), V(3, 0)]を 含むものとなっている。手順 TERMINATE_STREE_SUB1により、ノード(1,5)と (2, 3)に ダミーのハッシュ値を割当て、この順次集約木のルート値を定め、同時に各登録点の 完全認証パスデータ (ルート値が計算できる認証パスノードの集まり)を定義すること 力 以下の(1)〜(4)に示すようにできる。
[0448] (1)ステップ ST1211aにより、局所変数 sfoil_xbに [(1, 4), V(l, 4)]が設定され、—stack は [(3, 0), V(3, 0)]のみを含むものとなる。次にステップ ST1212aにより局所変数 place_ xbに (1, 4)が、 idx_xbに 4が設定される。
[0449] ステップ ST1213aでは idx_xbが偶数か否かの判定をする力 現在の idx_xbの値 4は 偶数であるので、ステップ ST1214aに進む。
[0450] ステップ ST1214aでは _stackが nilであるか否か判定するが、 _stackは nilではな!/、の でステップ ST1215aに進む。
[0451] ステップ ST1215aでは、局所変数 lev_xbに 1を設定し、 val_xbに V(l, 4)を設定し、 idx_ lbに 1 +4 = 5を設定する。さらに、 place_lbに (lev_xb, idx_lb) = (1, 5)を設定。この 位置情報(1, 5)が最初のダミー'ノードを表す。この最初のダミー'ノードに割当てる ハッシュ値を計算する関数 dummyjiashを呼びだし、その返り値を dum_val_lbに設定 する。さらに sftnLlbに
make- stackflm(place— lb, dum— val— lb) = [(1, 5), dum— val— lb]
を設定する。ここで make_stackflmはノードの位置情報とハッシュ値を引数としてスタツ クフレームを生成する関数である。ここで plac_lbと s&iLlbを引数として REGISTER_C OMPLE_DATA (図 53で定義したもの)を呼び出す。
[0452] 続 、て、ステップ ST1216aにお!/、て、 lev_nwに 2を設定し、 idx_nwに floor(idx_xb, 2)
= floor(4, 2) = 2を設定し、さらに placejiwに (2, 2)を設定する。続いて、 val_nwに ha sh_comb2(val_xb, dum_val_lb)を設定する。 hash_comb2は 2つのハッシュ値を引数とし て、それらを連接し、所定のノ、ッシュ関数を適用した結果を返す関数である。 s&iLnw に make— stackflm(place— nw, val—nw)を設定し、 sftnl—nw — stackにプッンュする。これに より、 _stackは [(2, 2), V(2,2)], [(3, 0), V(3, 0)]を含む構成となる。更に placejiwと sftnl_ nwを引数として REGISTER_COMPLE_DATAを呼び出す。ここでステップ ST1211aに 戻る。
[0453] (2)ステップ ST1211aにおいて _stackを 1つポップし、 sflm_xbに [(2, 2), V(2, 2)]を設 定する。(ここで _stackの状態は、 [(3, 0), V(3, 0)]となる。)更に place_xbに (2, 2)を、 idx_ xbに 2を設定する。
[0454] ステップ ST1213aにおいて idx_xbの値 2は偶数と判定されステップ ST1214aに進み、— stackは nilではないので、さらにステップ ST1215aに進む。 lev_xbに 2を設定し、 val_xb に V(2, 2)を設定し、 idx_lbに 3を設定し、 place_lbに (2, 3)を設定し、 dum_val_lbに dum my_hashの返し値を設定し、この値を V(2, 3)と表す。さらに s&iLlbに
make— stackflm(place— lb, dum— val—lb) = [(2, 3), V(2, 3)]
を設定する。ここで place_lbと sftnUbを引数として REGISTER_COMPLE_DATAを呼 び出す。
[0455] 続 、て、ステップ ST1216aにお!/、て、 lev_nwに 3を設定し、 idx_nwに floor(val_xb, 2)
= floor(2, 2) = 1を設定し、さらに placejiwに (3, 1)を設定する。続いて、 val_nwに ha sh_comb2(val_xb, dum— val—lb)を設定し、この値を V(3, 1)と書く。 s&il—nwに make- stack flm((3, 1), V(3, 1》を設定し、 sftnLnwを _stackにプッシュする。これにより、 _stackは [(3, 1), V(3,l)], [(3, 0), V(3, 0)]を含む構成となる。さらに placejiwと sftnLnwを引数として REGISTER_COMPLE_DATAを呼び出す。ここでステップ ST1211aに戻る。
[0456] (3)ステップ ST1211aにおいて _stackを 1つポップし、 sflm_xbに [(3, 1), V(3, 1)]を設 定する。し stackの状態は、 [(3, 0), V(3, 0)]となっている。)さらに、 place— xbに (3, 1)を 設定し、 idx_xbに 1を設定する。
[0457] ST1213aにおいて idx_xbの値 1は奇数と判定され、 ST1217aに進み、 lev_xbに 3を設 定し、 vaLxbに V(3, 1)を設定する。 _stackをポップしポップされた [(3, 0), V(3, 0)]を sftnl
Obに設定する。さらに、 place_0bに (3, 0)を、 lev_0bに 3を、 idx_0bに 0を、 val_0bに V(3, 0) を設定する。
[0458] ステップ ST1218aにおいて、 lev_nwに 4を設定し、 indx_nwに floor(l, 2) = 0を設定し、 place_nwに(4, 0)を設定し、 val_nwに hash_comb2(V(3,0), V(3, l》を設定する。この値 を V(4, 0)とする。 sftnl—nwに make- stackflm((4, 0), V(4, 0》を設定し、 sftnl—nwを— stack にプッシュする。これにより、 _stackは [(4,0), V(4, 0)]を含む構成となる。 さらに place_n wと sftnLnwを引数として REGISTER_COMPLE_DATAを呼び出す。ここでステップ ST1 211aに戻る。
[0459] (4)ステップ ST1211aにおいて、 _stackを 1つポップし、 sflm_xbに [(4, 0), V(4, 0)]を 設定する。し stackの状態は nilとなっている。)さらに、 place_xbに (4, 0)を設定し、 idx_x bに 0を設定する。ステップ ST1213aにおいて idx_xbの値 0は偶数と判断され、ステップ S T1214aに進み _stackは nilであるので、ステップ ST1219aに進み、返し値に V(4, 0)を設 定して終了する。
以上の結果、この手順の返し値は当該の順次集約木のルート値である V(4,0)とな る。
[0460] 次に、図 56で記述されたサブルーチン TERMINATE_STREE_SUB2について説明す る。
[0461] まず以下の変数および定数が使用される。
[0462] ·利用者装置の識別子である非負整数を保持する変数 id
,利用者装置の総数を表す定数 N
•図 50の遅延補完用スタックの配列 _chain_comple_data_vecの各要素と同じ構造を 持つ chain— comple—data2 •非負整数または nilを保持する変数 prev_chain_point2。
[0463] 次に TERMINATE_STREE_SUB2の動作につ!、て説明する。
[0464] id =0, · · ·, N—1について図 56のブロック 1を実行する。
[0465] ブロック 1の中では以下の動作をする。
[0466] chain— comple—data2【こ— chain— comple— data— vec[ia]を設定し、 prev— chain— point2【こ chain
— comple_data2の prev_point部を設定する (ステップ ST1222a)。
[0467] prev_chain_point2が nilであればブロックを終了する(ステップ ST1223a)。
[0468] さもなけれは、 chain— comple— data2の prev— point— old部を prev— chain— point2に、 prev— p oint部を nilに、 olcLtree部に現在の集約木識別子を各々設定し、次に _chain_comple_d ata_vec[id]に chain_comple_data2を設定する(ステップ ST1224a)。
[0469] < 5 -4.利用者装置 51におけるインクリメンタル完全ィ匕 >
次に、利用者装置 51におけるインクリメンタル完全ィ匕の処理について、詳しく説明す る。ここで、インクリメンタル完全ィ匕には、大別して(1)インクリメンタル個別完全ィ匕と(2
)インクリメンタル一括完全ィ匕の 2つの処理があり、いずれかが利用者装置 51において 実行されるものである。尚、上述した「完全ィ匕波及処理」は、インクリメンタル一括完全 化の中の一機能を説明したものである。
[0470] (インクリメンタル個別完全化)
利用者装置 2Aのある集約間隔 Iに属するか或 ヽは或 ヽはその次の集約間隔の最 初の登録点であるよう登録点 a 暫定終端点とする。
[0471] al¾ある集約間隔 Iの次の集約間隔の最初の登録点であるとき、当該の集約間隔 I に対する追伸点と呼ぶ。
[0472] 集約間隔 Iの間に、この暫定終端点 aほでに登録した登録点の集合を a(0), a(l),…
, a(n)とする。(通常は、 a(n) = afCあるが、 ai¾追伸点であるときはこうはならない。 ) このとき、登録点の集合から、 af^暫定終端点としたときの 1つあるいは複数の順次 集約小木が構成され、構成された順次集約小木の集まりを、 a 暫定終端点としたと きの順次集約フォレストと呼ぶことにする。
[0473] 図 58を参照して、順次集約フォレストと順次集約小木について具体的に説明する。
[0474] al^当該の集約間隔にあるとき、 al^リーフ番号 (非負整数)を表し、 afの二進表現 においては k(l), k(2),… )桁において 1が立つものとする(但し最小桁は 0桁とす る)。図 58においては、 m = 4としている。ここで、 k(m)は 0でもよく、 k(l) > k(2) > k(
3) >… > k(m)とならなければならない。このとき、上記順次集約フォレストに属する n番目の順次集約小木のリーフの数は 2k(n)となる。図 58においては、 ST2(1), · · ·, ST2(
4)が順次集約小木を表して 、る。
[0475] インクリメンタル個別完全ィ匕とは、指定された a≡ {a(0), a(l), · · ·, a(n)}について、以 下の計算(1)〜 (3)を行うことである。
[0476] (l) aが属する順次集約小木 ST (ユニークに定まる)を計算する。
[0477] (2)順次集約フォレストにお 、て上記 STより左に位置する 1つある 、は複数の順次 集約小木のルートの割当値を、 a(0), · · ·, a(n) (及び af)で取得する補完データから計 算する。
[0478] (3) STにおける aの認証パスを authPathST(a)とおくと、 authPathST(a)に属するノー ドの割当値を、 a(0), · · ·, a(n) (及び af)で取得する補完データから計算する。
[0479] 尚、インクリメンタル個別完全ィ匕の定義は、以下に定義する現時点順次集約木を用 いて行うこともできる。ここで、現時点順次集約木とは、 af^暫定終端点としたときの順 次集約フォレストを含むような最小の二分木を、 a 暫定終端点としたときの現時点順 次集約木という。
[0480] 図 59は、現時点順次集約木の枝を実線及び点線で示すものである。このうち、点 線で示す枝が順次集約フォレストには含まれないが現時点順次集約木を構成するた めに追加した枝である。また黒で塗りつぶされた小円が順次集約フォレストに含まれ るノードであり、塗りつぶしがな 、小円が現時点順次集約木を構成するために追加し たノードである。現時点順次集約木を CSTと表し、 CSTにおける aの認証パスを authP athCST(a)とおく。このとき、インクリメンタル個別完全ィ匕とは、指定された a≡ {a(0), a( 1), · · ·, a(n)}について、 authPathCST(a)に属し、既に割当値が定まっているノードの 割当値を、 a(0), · · ·, a(n) (及び af)で取得する補完データから計算することと同値であ る。
[0481] 尚、順次集約フォレストのリーフの数の総数を Nとしたとき、現時点順次集約木の高 さ hは N≤ 2kとなる最小の非負整数 kとなる。 [0482] 上述したことを踏まえて、第 2の検証機能を説明した図 38に戻ると、登録点 aに対し て、 al^暫定終端点としてインクリメンタル個別完全ィ匕を行うと、認証点 0の割当値 V(o) が計算できることになる。これにより、登録点 al^現時点としたときの現時点順次集約 木における、登録点 aの登録点 bによる認証点。の計算された割当値 V(o)力 登録点 b で取得される即時補完データに含まれれば、登録点 aの登録が登録点 bの登録より前 に起こったことを客観的に証明することができる。
[0483] 次に、図 60及び図 61を参照しながら、インクリメンタル完全個別化の動作について 説明する。図 60は、インクリメンタル完全個別化の動作を示すフローチャート図であ る。
[0484] まず、暫定終端点 aはり以前の登録点で集約間隔 Iに属する登録点 aを 1つ指示する
(ステップ S510a)。図 61に示す順次集約フォレストにおいては、インデックス 18のリー フ(ノード (0,18))を aとしている。
[0485] 次に、登録点 aが属する順次集約小木 STを計算する (ステップ S520a)。図 61に示す 順次集約フォレストにおいては、構成済み順次集約小木のうち左から 2番目の ST2(2) 力 Tとなる。
[0486] 次に、登録点 aの STにおける各遅延認証パスノード sを計算する (ステップ S530a)。
図 61に示す順次集約フォレストにおいては、インデックス 19のリーフ(ノード (0, 19))と レベル 2のインデックス 5のノード((ノード (2,5))が遅延認証パスノードとなる。
[0487] 次に、各遅延認証パスノード sの取得参照点をそれぞれ決定する (ステップ S540a)。
ここで、取得参照点及び取得タイミング点について説明する。尚、以下では、ある登 録点 aの即時補完データと、 aの次の登録点 alで取得される aの遅延補完データの合 併を、登録点 aの連鎖補完データとよぶ。
[0488] 登録点 a0が与えられたとき、その authPath(aO)でレベル jのノード (j, s(j))の割当値 V(j, s(j))を計算するために十分な情報を補完データ力も直接取得できる力あるいは該デ ータを基に計算により取得できる要求登録点を V(j, s(j))の取得参照点と呼ぶ。そして 、上記の必要な補完データを受信する登録点を取得タイミング点と呼ぶ。
[0489] 例えば、図 37に示す順次集約木において、登録点 X3が与えられたとき、遅延補完 データの 1つであるノード (0, 19)の取得参照点は、登録点 X3 (ノード(0,18) )、取得タ イミング点は、登録点 X4 (ノード (0,21) )となる。また、登録点 X3が与えられたとき、即 時補完データの 1つであるノード (4,0)の取得参照点及び取得タイミング点は、登録 点 X3 (ノード (0,18) )となる。一般に、即時補完データに関しては、取得参照点と取得 タイミング点は一致する。
[0490] 次に、ステップ S540aで決定された取得参照点をもとに、各認証パスノード sの割当 値を計算する (ステップ S550a)。
[0491] 以上により、登録点 aにおけるインクリメンタル完全ィ匕の処理が終了し、この計算結 果を用いて、登録点 aの割当値を含む入力に衝突困難ハッシュ関数を適用し、 V(roo t(ST》を計算することができる。尚、上述した計算が可能であるのは、 sの割当値の取 得参照点および取得タイミング点がともに、暫定登録点 af以前であることによる。
[0492] (インクリメンタル個別完全ィ匕の実装例)
以下に、上述したインクリメンタル個別完全ィ匕の一実装例を説明する。
[0493] まず、順次集約小木 STを決定する計算手順 FOREST_SSTを図 62に示す。これは、 図 62のステップ S520aに相当するものである。
[0494] この手順で使用される変数及び関数は以下のとおりである。
[0495] ·入力としては、リーフ識別子 a (非負整数)、暫定終端点の識別子 fin (非負整数)
•出力としては、 aが属する順次集約小木の一番左のリーフ識別子 start (非負整数) 、 aが属する順次集約小木の一番左のリーフ識別子 last (非負整数)
•変数としては、非負整数を保持する変数 rest, ht, lealnum
•使用される関数として、 log (X)は、 log (X)以下の最大の整数、 expt(x, y)は、 xの y乗
2 2
このアルゴリズムは、リーフ識別子 a (非負整数)と暫定終端点の識別子 fin (非負整 数)を入力とし、該暫定終端点の登録が終了した時点における順次集約フォレストに 属する順次集約小木で aが属するものを STとしたとき、 STの一番左に位置するリーフ の識別子 start (非負整数)と一番右に位置するリーフの識別子 last (非負整数)の組 を出力するものである。当該の順次集約小木 STのリーフの数は、 last— start + 1となり 、当該の順次集約小木の高さは、 log (last— start + 1)となる。
2
[0496] 図 61で示した具体例について、図 62の手順を適用すると以下のようになる。リーフ 識別子 aを 18とおき,暫定終端点の識別子 finを 26とおく。このとき、図 62の手順に従 つて計算すると、 startとして 16が返され、 lastとして 23が返される。この出力から、 aが 属する順次集約小木は、図 61の ST2(2)であることが分かる。
[0497] 次に、インクリメンタル完全ィ匕における認証パスノード割当値の取得参照点決定手 順1^じ105_051^0 丁_ を図63に示す。この手順は、指定された要求登録点の指 定されたレベルの認証パスノードの割当値力 どの要求登録点の即時補完データあ るいは遅延補完データ力 得られるかを決定するものであり、図 60のステップ S540a に相当するものである。
[0498] 図 64は、手順 DECIDE_GET_POINT_Aにおいて使われるデータ構造と変数の一部 を表す。データ構造 chaindataは leaf— index咅 |5、 rgt— value咅 |5、 immediate咅 |5、 late咅 |5力ら なる構造である。 Mを一つの利用者装置 51がーつの集約間隔に送出する順序証明 要求の最大数とする。
[0499] この手順で使用されるその他の変数及び関数は以下のとおりである。
[0500] ·変数 chiandata_storeは要素数が Mの配列で、配列の各要素がデータ構造 chaindat aを保持するようなものである(図 64参照)。
[0501] · chaindataOはデータ構造 chaindataを保持する変数である。
[0502] ' aOは順次集約木のリーフ識別子を表す整数を保持する変数である。
[0503] '順次集約木のノード (j,i)に対して、 subTree(j, 0は (j, 0をルートとするような順次集 約木の部分木を表す。
[0504] ·順次集約木の部分木 STに対して、 leafs(ST)は STのリーフの集合を表す。例えば、 1 eafs(subTree(j, 0)は部分木 subTree(j, 0のリーフの集合である。また、 height(ST)は ST の高さを表す。
[0505] 次に、図 63に示すインクリメンタル完全ィ匕の認証パスノード割当値の取得参照点決 定手順 (DECIDE_GET_POINT_A)のアルゴリズムの根拠を図 65に示す図をもとに説 明する。
[0506] ここで、 al^暫定終端点とする構成済みフォレスト内の順次集約小木のうち aOが属す ものを STとおく(a0≡ leafs(ST))。
[0507] また、 ST内の a0の認証パスを authPathST(aO)とおき、
authPathST(aO) = [(0, s(0)), (1, s(l)), · · ·, (k 1, s(k— 1》] と置く。(但し、 kは構成済みフォレスト内の aが属する順次集約小木 STの高さである。 即ち、 k = height(ST)。)以下では、非負整数 n, mに対して、 [n〜m]は n以上で m以下 の整数の集合を表すものとする。
[0508] 各 j≡ [0··· k— 1]に対して、(j, s(j))がどの登録点の補完データ力も計算できるかを 決定するアルゴリズムを以下に示す。
[0509] rtPathST(aO)を STにおける aのルート'パスとおき、
rtPathST(aO) = [(0, r(0)), (1, r(l)), ···, (k 1, r(k 1》, (k, r(k))]
とする。 r(0) = aO、 root(ST) = (k, r(k))である。 j≡ [0'"k— 1]とする。
[0510] (1) 0, r(j))が (j+1, r(j+l》の left- childであるとき
s(j) = rO)+lであり、 0, s(j))は (j+1, r(j+l》の right- childである。 leafs(subTree(j, r(j)》 に属する要求登録点の中で、最も右に位置する点を計算し、 alと置く。
[0511] (l-l)al ≠ afのとき
alの次の要求登録点を a2と置く(al ≠ afCはないのでこのような a2が在る。 a2≤ af
)o
[0512] (1-1-I)a2 ≡ leafs(subTree(j, s(j)》のとき
leafs(subTreeO, s(j)))に属する要求登録点で最も右に位置するものを a3と置く。
[0513] (1 1 1 1) a3 = last(leafs(subTree(j, s(j)》であるとき(図 65 (a)を参照)
即時補完データ immedData(a3)は、 subTree(j, s(j》における a3の完全補完データ cm pltData(subTree(j, s(j)), a3)を含む。従って、
immedData(a3) ト Vリ, sリノ)
(尚、 X ト Yは, X力も Yが計算できることを表す。 )
このとき、 V(j, s(j))の取得参照点および取得タイミング点は共に a3としてよい。
[0514] (l-l-l-2)a3≠ last(leafs(subTree(j, s(j)》であるとき
(l-l-l-2-l)a3≠ afCあるとき(図 65(b)を参照)
a3の次の要求登録点を a4と置く。 (a3≠ aぬので、このような a4がある。 a4≤ af。 a4 は追伸点である可能性もある。 )
a3の a4による認証点のレベルを fとすると、 j" ≥ j+1
従って、順次集約木の性質により、 V(j, s(j))は a3で取得する即時補完データと、 a4で 取得する (a3に対する)遅延補完データ力 計算できる。即ち、
immedData、a3) U lateData、a3,a4) 卜 V(j, s(j))
(尚、 aを a3の a4による認証点とすると、 immedData(a4)には V(a)が入っている力 これ が V(j, sO))とは限らないことに注意する必要がある。 )
このとき、 V(j, s(j))の取得参照点を a3、取得タイミング点を a4としてよい。 a3 ≤ a つ a 4≤ afCある。
[0515] (1— 1— 1— 2— 2) a3 = afCあるとき(図 65 (c)を参照)
このとき、 al^暫定終端点とする構成済みフォレストにおいて G, sO))を含む順次集 約小木はない。
[0516] よって, STは (J, s(j))を含むことは無い。従ってこのような場合はあり得ない。
[0517] (l - l - 2) a2 ≡ leafs(subTree(j, s(j)》ではな 、とき(図 65 (d)を参照)
VO, s(j)) lateData(al, a2)である。
[0518] VO, s(j))の取得参照点を al、 V(j, s(j))の取得タイミング点を a2としてよい。
[0519] al ≤ a つ a2≤ af
(l - 2) al = afCあるとき(図 65 (e)を参照)。
[0520] このとき、 al^暫定終端点とする構成済みフォレスト内に (J, s(j))を含む順次集約小 木はない。
[0521] よって、 STは (J, s(j))を含むことは無い。従って、このような場合はあり得ない。
[0522] (2) 0, r(j))が (j+1, r(j+l》の right- childであるとき(図 65 (f)を参照)
rO) = s(j)+lであり、 0, s(j》は (j+1, r(j+l》の left- childである。
[0523] VO, s(j)) immedData(a)
VO, s(j))の取得参照点および取得タイミング点を共に aOとしてよい。 a0≤ af 以上から、図 63に示すインクリメンタル完全ィ匕の認証パスノード割当値の取得参照 点決定手順 (DECIDE_GET_POINT_A)は、すべての場合分けを考慮した手順となつ て!、るので、図 63に示すアルゴリズムは正し!/、ことがわかる。
[0524] 次に、要求登録点 aが与えられたとき、その authPath(a)に含まれるレベル jのノード (j, a(j))の割り当て値 V(j, a(j))を計算する手順 COMPLETION_SUBlを図 66に示す (但し 、 0≤ j < kで kは順次集約木の高さ)。これは、図 70のステップ S550aを中心に説明 するフローチャートである。
[0525] この手順で使用される変数及び関数は以下のとおりである。
[0526] · chaindataO及び chaindatalはデータ構造 chaindataを保持する変数である。
[0527] · immedDatal及び lateDatalはデータ構造 stackflmの線形リストを保持する変数であ る。
[0528] . chaindata—storeは当該の集約期間における、各登録点において証明応答として受 信したデータを格納する配列である。配列の各要素は、図 64で定義した chaindataの 構造を持つ。この配列の潘目の要素は、当該の集約間隔における潘目の登録点の 即時補完データと、その直後の登録点で取得した i番目の登録点の遅延補完データ を含む。
[0529] (1)本手順は 2つの引数(入力)をもち、第 1の引数を配列 chaindata_storeの index を表す整数 iOとし、第 2の引数を順次集約木のレベルを表す整数 jとする (ステップ S55 01a)。
[0530] (2)局所変数 chaindataOに chaindata_store[iO]を設定し(ステップ S5502a)、局所変 数 a0を chaindatalの leafjndex部とし(ステップ S5503a)、変数 alに authPath(aO)のレべ ル jのノードの indexを設定する(ステップ S5504a)。
[0531] (3)図 63に記述の認証パスノード割当値の取得参照点決定手順 DECIDE_POINT_ Aにより V(j, a(j))の取得参照点 a2 (要求登録点の 1つで、その点で得られた連鎖補完 データから、 V(j, a(j))が計算できるもの)を決定する (ステップ S5505 。
[0532] (4)配列 chaindata_storeを探索し、 leafjndex部が a2であるような配列要素の indexと なる整数 ilを決定する(ステップ S5506a)。
[0533] (5)変数 chaindatalに chaindata_store[il]を設定する (ステップ S5507a)。
[0534」 (6)変数 rgt— vailに chaindatalの rgt— val咅 |5 、変数 immedDatalに chaindatalの imme diate部を,変数 lateDatalに chaindatalの late部を、各々設定する(ステップ S5508a)。
(7) rgt_vall、 immedDatal,あるいは lateDatalに place部が (j, al)となるスタックフレ ームが含まれるかどうか判定する(S5509a)。
[0535] (7— 1)含まれれば、その値を返す (ステップ S5510a)。 [0536] (7— 2)含まれないときは、 immedDatalと lateDatalから、ハッシュ関数を介して計算 できるノードの割当値をレベル 0からレベル jまで順次計算する(ステップ S5511a)。
[0537] (7— 2—1)上記で順次計算された割り当て値に V(j, a(j))が含まれる力否力判定す る(ステップ S5512a)。
[0538] (7— 2— 1 1)含まれれば、その値を返す (ステップ S5513a)。
[0539] (7— 2— 1 2)含まれなければ、エラーとする(ステップ S5514a)。
[0540] 図 67は、要求登録点 aが与えられたとき、その authPath(a)に含まれるレベル jのノー ド G, a(j》の割り当て値 V(j, a(j))のリスト
[V(0, a(0)), V(l, a(l)), · · ·, V(k— 1, a(k— 1》]
を計算する手順 COMPLETION_SUBlを表す (但し、 0≤ j < kで kは順次集約木の 高さ)
この手順で使用される変数及び関数は以下のとおりである。
[0541] 'kを順次集約木の高さとする。
[0542] · auth_node_valsは長さ kの配列で、各配列要素はハッシュ値を保持するものとする。
[0543] まず、 図 66の COMPLETION_SUBlを各 j (0≤j< k)に適用し、 authPath(a)に属す る各ノードの割当値を計算し、計算結果を auth_node_vals[j]に格納する (ステップ S552
3a, S5524a)。
[0544] 次に、 auth_node_valsを返り値とし、終了する(ステップ S5525a)。
[0545] (インクリメンタル一括完全化)
上述したインクリメンタル完全化の方法は、完全化の対象となる受理証明書を指定 し、その指定された受理証明書の個別完全ィ匕を行う方法である。次に述べるインクリ メンタル完全化の方法は、ある利用者装置 51が連続して取得した一連の受理証明書 を一括して、上記のインクリメンタル個別完全ィ匕により計算されるものと同じデータを 計算する方法である。この種類のインクリメンタル完全ィ匕をインクリメンタル一括完全 化と呼ぶ。即ち、一連の登録点 a(0), a(l), · · ·, a(n)全てに対して上記のインクリメンタ ル個別完全ィ匕により計算されるものと同じデータを一括して計算することを、インクリメ ンタルー括完全ィ匕という。
[0546] インクリメンタル一括完全ィ匕は、上述した完全ィ匕波及処理を用いた以下の手順によ り実行できる。
[0547] (l) a(0), · ··, a(n)を、ある集約間隔 Iに属する、ある利用者装置 51による一連の登録 点とする。
[0548] (2)利用者装置 51による a(n)の次の登録点を afとする。 afは追伸点であってもよい。
[0549] (3)図 68で記述した手順 COMPLETION_BULK_BACKWARDlにより、各 a = a(n), · ··, a(0)を、この順にインクリメンタル完全ィ匕を行う。
[0550] この手順により、各登録点 a(n— i)(伹 U=0, · ··, n)に対して al^暫定終端点とした場 合のインクリメンタル個別完全ィ匕が実現されることが、以下のように数学的帰納法によ り示される(図 69及び図 70を参照)。以下では、簡単のため a(0), · ··, a(n)が共通の順 次集約小木 ST2に属し、 afは ST2の各リーフよりも右に位置する場合を考える。尚、一 般の場合も同様である。
[0551] i = 0, · ··, nについて、手順 COMPLETION_BULK_BACKWARDlにより追加されたも のを含む a(n— 0の遅延補完データと、 a(n— 0で受信した即時補完データの合併は、 a (n—i)の ST2における全ての認証パスノードの割当値を含んでいることを示せばよい。
[0552] (1)帰納法のベース
i = 0のときを考える。このとき、 a(n— 0 = a(n)である。手順 COMPLETION_BULK_B ACKWARD1により、 a(n)に対しては afの登録処理の終了時点における a(n)の遅延遅 延補完データが追加される(図 68のステップ S5003a)。ここで、 afの登録処理の終了 時点にぉ 、ては順次集約小木のルート値は確定して 、るので、手順 COMPLETION BULK_BACKWARD1により追加されたものを含む a(n)の遅延補完データと、 a(n)で受 信した即時補完データの合併は、 a(n)の ST2における全ての認証パスノードの割当値 を含んでいる。
[0553] (2)帰納ステップ
il≡ {0, · ··, n— 1}とし、 i = ilとしたとき、手順 COMPLETION— BULK— BACKWARD 1により追加されたものを含む a(n—i)の遅延補完データと、 a(n— 0で受信した即時補 完データの合併は、 a(n—i)の ST2における全ての認証パスノードの割当値を含んで いるものと仮定する。 i =il + lに対しても同じことが成立つことを示せばよい。このこと は、以下のように完全化波及処理を用いることにより示すことができる。 [0554] a2 = a(n— il), al = a(n— (il + l》とおき、 alの a2による認証点を AP(al, a2)、その 兄弟ノードを AP'(al, a2)、さらに AP(al, a2)のレベルを jlと置く(図 70を参照)。
[0555] 以下で述べる順次集約木の性質により、順序集約小木 ST2における alの ST2にお ける認証パスノードのうちレベルが jlより小さいもの割当値は、図 68のステップ S5004a にお 、て追加されるデータに含まれる。
[0556] alの ST2における認証パスノードのうちレベルが jlに等しいものの割当値は、図 68 のステップ S5007aにおいて追加されるデータに含まれる。
[0557] alの ST2における認証パスノードのうちレベルが jlより大きいものの割当値は、図 68 のステップ S5008aにおいて追加されるデータに含まれる。
[0558] 以上により、手順 COMPLETION_BULK_BACKWARDlにより追加されたものを含む al = a(n— (i+ l》の遅延補完データと a(n— (i+ 1))で受信した即時補完データの合 併は、 a(n— (i+ 1》の ST2における全ての認証パスノードの割当値を含むことが導か れる。
[0559] 以上(1)及び(2)〖こより、 i=0, · ··, nについて、手順 COMPLETION_BULK_BACK WARD1により追加されたものを含む a(n— i)の遅延補完データと、 a(n— i)で受信した 即時補完データの合併は、 a(n—i)の ST2における全ての認証パスノードの割当値を 含んでいることが示される。
[0560] なお、同様の帰納法により、図 68のステップ S5006aで判定結果が NOとなり、エラ 一となることはな 、ことも示される。
[0561] (メモリの効率化)
上記は、 1つの集約間隔において連鎖補完方式により利用者装置 51力 Sイベント順 序証明応答として取得したデータを計算機のメモリに読み込むことができるできる場 合の処理方式である。 集約間隔における利用者装置 51による登録点が多数に上り 上記の取得データを計算機のメモリに読み込むことができな 、場合には、以下の方 式により取得データの一部をメモリに読み込み、完全認証パスデータを段階的に計 算することにより、当該の集約間隔における全ての登録点の完全認証パスデータを 計算することができる。
[0562] 上記の計算は、以下のステップ(1)〜(5)により行われる。 [0563] (1)ある集約間隔にある利用者装置 51が受信した補完データのうちから、登録点の インデックスが特定の条件を満たすもののみを間引き抽出し、間引き抽出データを構 成する。
[0564] 間引き抽出するための条件として、間引き間隔となる正整数 mを指定し、登録点の インデックスが mで割り切れるもののみを抽出することにしてもよい。図 71に示す具体 例においては、インデックス 0から 10までをもつ登録点(黒い点で示されている)から、 間引き間隔を 5として、 5で割り切れるインデックス即ち 0, 5,10を持つ登録点を抽出し、 間弓 Iき抽出データを構成して 、る。
[0565] (2)登録点のインデックスが隣あう間弓 Iき抽出データのインデックスで挟まれて!/、る ような登録点の登録値および補完データからなる局所データを構成する。このような 局所データは、一般には複数構成される。
[0566] 図 72に示す具体例においては、間引き抽出データの 1番目のインデックス 0と 2番 目のインデックス 5に挟まれたインデックスを持つ登録点、を集め第 1の局所データを構 成している。図 73に示す具体例においては、間引き抽出データの 2番目のインデック ス 5と 3番目のインデックス 10に挟まれたインデックスを持つ登録点を集め第 2の局所 データを構成している。
[0567] (3)上記(2)で構成された各局所データを、その局所データの最も右に位置する登 録点を暫定終端点として扱い、前記のインクリメンタル完全ィヒの処理を行う。この処理 を局所データの局所完全化と呼ぶ。
[0568] この処理により計算される遅延補完データを用いて、当該の局所データに属する登 録点のうち最も右に位置するものを alとしたとき、当該の局所データに属する各登録 点 aについて、 aの alによる認証点を AP(a, al)としたとき, aの認証パスノードの中で、 le vel(AP(a, al》より低いレベルのものに対しては、その割当値を計算することができる。 さらに、ここで割当値を計算できる aの認証パスノードの割当値は、 aの認証パスノード のうち alの処理が終了した時点で割当値が定まっているもの全てを含んでいる。即ち 、登録点 aの al時点の遅延補完データを含んで 、る。
[0569] 図 72に示す具体例においては、この局所データの局所完全化の処理により、イン デッタス 0の登録点の遅延補完データとして、ノード (1, 0), (2, 1)の割当値が計算さ れ、インデックス 1の登録点の遅延補完データとして、ノード (2, 1)の割当値が計算さ れ、インデックス 3の登録点の遅延補完データとして、ノード (1, 5)の割当値が計算さ れる。
[0570] この局所データに属する登録点のうち最も右に位置するものはインデックス 5の登録 点でありこれを alと置くと、この局所データに属する各登録点 aについて、 level(AP(a, al》より小さ 、レベルの認証パスノードの割当値が計算できる。例えば、 aをインデック ス 0の登録点とすると、 AP(a, al)は (3, 0)であり、 aの認証パスノードのうちレベル力 ¾よ り小さいもの (0, 0), (1, 0), (2, 1)の割当値を計算できる。 aの alにおける遅延補完デ ータは (1, 0), (2, 1)の割当値であるので、 al時点における遅延補完データは計算で きることがわ力る。この局所データに属する他の登録点についても同様である。
[0571] (4)上記(3)の処理の結果、間引き抽出データの隣あう 2つの登録点 alと a2につい て、 alの a2時点における遅延補完データを取得することが出来る。このデータを用い て前記の証明書完全ィ匕のメインルーチン COMPLETION_MAINlを適用し、間引き抽 出データに含まれる各登録点で取得する証明書の完全化、即ち該登録点の全ての 認証パスノードの割当値を計算する。この処理を間引き抽出データの大域完全化と 呼ぶ。
[0572] 図 74で示す具体例においては、間引き抽出データのインデックス 0, 1, 2の登録点 、即ち、リーフ番号 1, 11, 3の登録点の証明書の完全ィ匕を行い、当該の 3つの登録点 の全ての認証パスノードの割当値を計算することができる。例えば、間引き抽出デー タのインデックス 0の登録点の認証パスノードは (0, 0), (1, 1), (2, 1), (3, 1), (4, 1)で あるが、これら全ての割当値を計算することができる。
[0573] (5)上記(3)で構成した局所完全化された局所データの各々と、上記 (4)で構成し た大域完全化された間引き抽出データを用いて、当該の局所データに含まれる各登 録点で取得する証明書の完全ィ匕を行う。この処理を局所データの大域完全化と呼ぶ
[0574] 局所データの大域完全ィ匕の手順は、詳しくは以下の通りである。
[0575] (5— 1)ある局所データの登録点を a(0), a(l), · · ·, a(n) = alとするとき、 alの全ての 認証パスノードの割当値は、ステップ (4)で計算済みである。これを、 V(0), V(l), · · ·, V(k- l)とする。
[0576] (5— 2)従って、 alのルートパスに属する各ノードの割当値も計算できる。これを
V'(0), V'(l), · · ·, V'(k- l), V'(k)とする。
[0577] (5— 3)各 a = a(0), · · ·, a(n—l)について、 aの alによる認証点を AP(a, al)とし、 kl
= level(AP(a, a(n》とおく。
[0578] (5— 4)ステップ(3)により、 aの認証パスノードのうちレベルが klより小さいものの割 当値は計算可済みである。
[0579] (5— 5)また、レベルが klの aの認証パスノードは alのルートパスに属するノードでレ ベルが klのものと一致する。従って、このような認証パスノードの割当値は、上記(5 2)で計算した V'(kl)となる。
[0580] (5— 6) kl < j < kとなる jについて、 aの認証パスノードのうちレベル力 のものは、 a 1の認証パスノードのうちのレベル力 のものと一致する。従って、その認証パスノード の割当値は、上記(5— 1)で計算した V'(j)である。
[0581] 以上、(5— 1)〜(5— 6)により、各 a = a(0), · · ·, a(n 1)について aの全ての認証パ スノードの割当値を計算することが出来る。
[0582] 図 72で示す具体例にっ 、て言えば、インデックス 2の登録点(リーフ識別番号 5)の 認証パスノードは、 (0, 4), (1, 3), (2, 0), (3, 1), (4, 1)である。また alをインデックス 5 の登録点 (リーフ識別番号 11)とすると、 AP(a, al) = (3, 0)であり、 kl = level(AP(a, a 1)) = 3である。 aの認証パスノードのうちレベルが kl = 3より小さい (0, 4), (1, 3), (2, 0)についてはそれらの割当値は、上記ステップ(5— 3)で計算できる(図 72、図 75参 照)。また、レベルが kl = 3の認証パスノード (3, 1)の割当値は(5— 2)で計算できる( 図 74、図 75参照)。また、レベルが kl = 3より大きい (4, 1)についてはステップ(5— 1 )で計算できる(図 74、図 75参照)。
以上のステップ(1)〜(5)の手順により、取得した証明書の完全ィ匕を行うために、同 時にメモリ上に保持する必要のあるデータは、間引き抽出データと、一つの局所デー タのみである。登録点の総数を Nとし,上記ステップ(1)で用いる間引き間隔を mとす ると、同時にメモリ上に保持する必要がある登録点の数は、(N/m)+mとなる。 m = Nとすると、(N/m)+m = 2 · Nとなり、必要なメモリ容量のオーダを Ν力 Νに削減 することが可能となる。
[0583] < 5- 5.利用者装置 51の補完データによるルート値計算 >
次に、利用者装置 51の補完データによるルート値計算について、説明する。これは 、利用者装置 51の第 1の検証機能におけるルート値計算について詳しく説明するもの である。
[0584] ある集約間隔 IIが終了したとき、利用者装置 51は、集約間隔 IIの間に送信した 1つ の証明要求 RQに対する受理証明書の個別完全化を上述の方法で実行することによ り、完全認証パスデータを計算することができる。完全認証パスデータから、以下に 示す(1)〜(5)に示す手順により、当該の集約間隔の順次集約木のルートの割当値 が計算できる。
[0585] まず完全認証パスデータは、即時補完データと遅延補完データからなる。即時補 完データや遅延補完データは、(位置情報, LRタグ,割当値 (ハッシュ値))で示す形 式の補完データ要素力 力 成るものとする。尚、 LRタグは Lというタグ力 Rというタグ のどちらかの値をとる。ここで、上記の位置情報はレベル情報を含むものとする。レべ ル情報の間には以下のような 2項関係くくが定義されているものとする。
[0586] 任意の登録点について、その完全認証パスデータに含まれる補完データ要素を
(位置情報 PG), LRタグ T(i),割当値 Η(0) (但し, i = 1, · ··, n)
とし、位置情報 PG)に含まれるレベル情報を level(PG))と表すと、 2項関係 < <は
level(P(l》, · ··, level(P(n))
の間に線形順序を定義するものとする。
[0587] 位置情報を 1つの集約木におけるレベル (非負整数で表される)とレベル内のイン デッタスの組み合わせとし、位置情報のうちレベル情報は組み合わせの第 1要素とす ると、上記 2項関係くくとしては、整数の大小関係くをとればよい。
[0588] 図 76は、完全認証パスデータによる順次集約木のルート値の計算方法を示すフロ 一チャートである。同図によれば、完全認証パスデータのチヱック、即ち、即時補完 データは Lタグ、遅延補完データは Rタグを有するかのチェック、及び完全認証パス データに重なるレベル情報がな 、かのチェックを確認した後、レベル情報の順序でソ ートし、各割当値を LRタグに合わせて連接して、ルート値を計算する (ステップ S3101 a, S3102a, S3103a, S3104a, S3105a, S3106a)。
[0589] 次に、図 77及び図 78に示すように、ある集約間隔の順次集約木のリーフの 1つとし て、前の集約間隔の順次集約木のルート値を取り入れる場合について説明する。こ のような場合には、異なる順次集約木間における受理証明書発行の時間的前後を 検証することが簡単にできるという効果がある。例えば、図 78において、利用者装置 2Aの登録点 aが順次集約木 ST(5)の部分木 ST1(5)のリーフに割り当てられており、ま た、利用者装置 2Bの登録点 bが順次集約木 ST(6)の部分木 ST1(6)のリーフに割り当て られているときは、 aと bの合流点がノード R(6)、 aの bによる認証点がノード R(5)になるの で、登録点 aから計算された認証点 R(5)の値力 登録点 bの即時補完データに含まれ ていれば、登録点 aの登録は登録点 bの登録より時間的に前であることを検証すること ができる。
[0590] 図 77は、図 78のように複数の順次集約木がリンクされた状況において、 1つの順次 集約木 ST(n)を抽出したものである。
[0591] ここで、ルート R(n-l)は、順次集約木 ST(n— 1)と順次集約木 ST(n)に共通するノード で、
レベル情報 (L, TID(n- l), k(n- l))
レべノレ内 index 0
位置情報 ((L, TID(n- l), k(n- l)), 0)
である。尚、上述のレベル情報は、
(LRタグ,非負整数の集約木番号,非負整数の集約木内のレベル情報)
で表現されており、 LRタグは、 Lというタグと Rというタグのどちらかの値をとる。
[0592] また、部分木 STl(n)のルート Rl(n)は、
レベル情報 (R, TID(n- l), kl(n))
レべノレ内 index 1
位置情報 ((R, TID(n- l), kl(n)), 1)
であり、ここで、 kl(n)は STl(n)の高さである。
[0593] また、部分木 STl(n)に関しては、ルート Rl(n)以外のノードについては、
レベル情報 (R, TID(n), j) ルート Rl(n)以外のノードの位置情報は ((R, TID(n), j), i)である。
[0594] ここで, j, iは非負整数であり、 leafs(STl(n》の各要素の位置情報は ((R, TID(n), 0), i
)と表すことができる。
[0595] また、 R(n)は順次集約木 ST(n)と ST(n+ l)に共通するノードで、
レベル情報 (L, TID(n), k(n))
レべノレ内 index 0
位置情報((L, TID(n), k(n)), 0) (但し、 k(n) = kl(n) + lとする)
割当値 V(R(n》 = h(V(R(n- l)) || V(Rl(n)》
である。
また、順次集約小木 STl(n)とルート R(n— 1)、ルート R(n)力もなる二分木を ST(n)と書 く。即ち、
root(ST(n)) = R(n)、
leftChild(R(n)) = R(n—1)、
rightChild(R(n)) = Rl(n)。
[0596] 第 n番目の集約期間に対応する順次集約木は ST(n)である。
[0597] 但し、 n = 0に対しては、 R(n—1)の代わりに所定の割当値を持ったノード IRを用いる
(図 78参照)。 IRの位置情報は ((L, - 1, 0), 0)である。
[0598] このとき、 2つの拡張レベル情報の間の順序 < <を次のように定義する。
[0599] Vjl , j'2, Tl, T2≥ 0 [(R, Τ2, j2) < < (し, Tl, jl)]、
Vjl , j'2, Tl, T2≥ 0 [Tl < T2→ (し, Tl, jl)くく (し, T2, j2)]、
Vjl , j'2, Tl≥ 0 [jl < j2→ (R, Tl, jl) < < (R, Tl, j2)]。
[0600] この定義により、二項関係 < <は任意の登録点の認証パスノードの集合に線形順 序を定めるものであることが導かれる。
[0601] 図 79は、この定義された 2項関係 < <を用いて補完データによる集約木ルート値を 計算する一例を示すもので、計算は以下のようになる。
[0602] 位置情報 ((R, 10, 0), 5)のノードに対して、即時補完データは、
[(((L, 9, k(9)), 0), L, V(R(9))),
(((R, 10, 2), 0) , L, V((R, 10, 2), 0)), (((R, 10, 0), 4), L, V((R, 10, 0), 4))]
となる。ここで , 10, 2) < < (L, 9, 10)である。
[0603] 遅延補完データは、 [(((R, 10, 1), 3), R, V((R, 10, 1), 3》]
補完データからのルート値の計算を図 76のフローに従って行う。
[0604] (1)即時補完データの各要素は Lタグを持つことをチェックする→合格
(2)遅延補完データの各要素は Rタグを持つことをチェックする→合格
(3)即時補完データと遅延補完データを合併する
合併結果は、
[(((L, 9, k(9)), 0), L, V(R(9))),
(((R, 10, 2), 0), L, V((R, 10, 2), 0)),
(((R, 10, 0), 4), L, V((R, 10, 0), 4)),
(((R, 10, 1), 3), R, V((R, 10, 1), 3))]
となる。
[0605] (4)合併結果の中に、重なるレベル情報がな ヽことを確認する→合格
(5)合併結果を、レベル情報の順序くく基準にソートする ソート結果は,
瞧, 10, 0), 4), L, V((R, 10, 0), 4)),
(((R, 10, 1), 3), R, V((R, 10, 1), 3)),
(((R, 10, 2), 0), L, V((R, 10, 2), 0)),
(((L, 9, k(9)), 0), L, V(R(9)))]
となる。
[0606] (6)ステップ(5)のソートの結果を
0(0), LR(0), V(0)), · ··, 0(k- l), LR(k- l), V(k— 1》
とおき、当該の登録点の登録値を V(0)とおき、以下のように再帰的に
W(0), W(l), · ··, W(k- l), W(k)
を定義する。
[0607] (i)W(O) = V(0)
(ii) LR(j) = Lのとき、 WO+ 1) = h(V0) II W(j)) LRO) = Rのとき、 WO+ 1) = h(W0) II V(j))
これに従って計算すると、 k = 4であり、 WO)は以下のように計算できる。
[0608] W(0) = V((R, 10, 0), 5),
W(l) = h(V((R, 10, 0), 4) II V((R, 10, 0), 5) ),
W(2) = h(W(l) II V((R, 10, 1), 3)),
W(3) = h(V((R, 10, 2), 0) II W(2)),
W(4) = h(V(R(9)) II W(3))
となる。 W(3) = V(R1(10)), W(4) = V(R(10》である。
[0609] 従って、第 5の実施の形態のイベント順序証明システム 200aによれば、第 4の実施 の形態と同じ効果を得ることができる。即ち、木構造を用いてイベント順序を証明する イベント順序証明システムにおいて、利用者装置 51から証明要求を受付けた証明装 置 4aが、該証明要求に対して受理証明書を含む連鎖補完方式 (登録点に関して、登 録点の即時補完データ及び直前登録点の登録点における遅延補完データを証明 応答データに含む)による証明応答を発行したときでも、利用者装置 51がこの証明応 答を用いて、インクリメンタル完全ィ匕を行うと、利用者装置 51間における受理証明書発 行の時間的前後を検証することができるので、証明要求をまとめた公表データが電 子的に公表される前であっても、受理証明書の正当性を検証することができる。
[0610] また、連鎖補完方式には、シーケンス補完方式よりも、証明応答のデータ量が少な くて済むという効果がある。さらには、連鎖補完方式においても、証明装置 4aは、順 次集約木そのものを記憶部に記憶させる方法は勿論、スタック構造を用いた記憶方 法も用いることができるので、証明装置 4aの必要記憶容量を大幅に減少させることも できる。
[0611] また、利用者装置 51におけるインクリメンタル完全ィ匕処理においても、個別完全ィ匕 及び一括完全化の双方を具備するので、状況に応じて最適なインクリメンタル完全 化を行うことにより、受理証明書の正当性を検証することができる。さらに、証明応答 データすベてを利用者装置 51のメモリ上に記憶させず、部分的な局所データだけを 記憶させる方式であっても、インクリメンタル完全ィ匕を行うことができるので、利用者装 置 51の必要なメモリ量を大幅に減少させることができる。 [0612] また、順次集約期間が終了後においては、利用者装置 51は、インクリメンタル完全 化の処理により、完全補完データを取得できるので、順次集約木のルート値を計算 することができる。さらに、前の集約間隔の順次集約木のルート値を次の順次集約木 のリーフの割当値とする場合には、順次集約木をまたがった受理証明書発行の時間 的前後を検証することが簡単にできる。
[0613] 以上、本発明の実施例について説明してきた力 本発明の要旨を逸脱しない範囲 において、本発明の実施例に対して種々の変形や変更を施すことができる。例えば 、上記実施の形態においては、順次集約木として二分木を用いたが、本発明は二分 木に限定されるものではなぐ 1つの親が複数の子を持つ有向木であればよいもので ある。
[0614] また、利用者装置 21又は 51は、一定時間間隔終了前に、証明装置 la又は 4aが運用 を中断、あるいは順次集約木のルート値を計算するのに必要なデータを消失したとき 、証明装置 la又は 4aの運用中断あるいはデータ消失の時点までに受信し記憶した 順序証明応答から、計算可能な割当値を持つ順次集約木のノードのうちで、その親 のノードの割当値が計算できないような 1つあるいは複数のノードの位置情報と割当 値を、電子的に公表する利用者サイド電子的情報公表手段を有してもよい。そして、 この場合、所定の検証機関が、この公表情報が矛盾しないことを検証するようにして ちょい。
[0615] <順次集約木の性質 >
第 4及び第 5の実施の形態で用いた順次集約木の性質について詳しく説明する。
[0616] 順次集約木のリーフ番号 iについて、 iで識別される順次集約木のリーフに順次割当 値を割り当てる元となった証明要求を受付けて該リーフに割当値を割り当てる一連の 処理を該リーフに対する処理ラウンドと言い round(i)と表す。
[0617] 今、甲を利用者装置、乙を監査装置とし、 i0と ilを i0 < ilなる二つの順次集約木リ ーフ番号とし、 round(iO)において甲は受理証明書を受信し、乙は round(il)において 監査用受理証明書を受信したものとする。このとき、 i0の ilによる認証点は以下の性 質を持つ。
[0618] (1)認証点の割当値は、監査点、即ちノード (0, il)の即時補完データに含まれる。 [0619] (2)上記認証点を ( , 0とおき、 round(jl)終了時にリーフ (0, iO)が属する順次集約 小木を ST2とし、 (0, iO)の ST2における認証パスを authPathST2(0, iO))としたとき、 auth PathST2(0, i0》に属するノードで、レベルが より小さいものに対する割当値は、ノード (0, iO)に対応するラウンドで受理証明書を受理した利用者が、ノード (0, il)に対応 するラウンド以降において受信できる遅延補完データあるいは受信した即時補完デ ータに含まれる。
[0620] 即ち、 il≤ i2とすると、 authPathST2(0, i0》に属するノードで、レベルカ より小さいも のに対する割当値は、 immedData(iO)あるいは lateData(K), i2)に含まれる。
[0621] (3) ST2におけるリーフ (0, iO)のルート'パスを rtPathST2(0, iO)としたとき、上記認証 点の割当値及びに rtPathST2(0, iO)属するノードでレベルが該認証点のレベルより小 さいノードの割当値は、ノード (0, iOで受理証明書を受理した利用者が、ノード (0, il) に対応するラウンド以降において受信する遅延補完データおよびノード (0, iO)で受信 した受理証明書 (即時補完データを含む)から計算することができる。
[0622] (性質の証明)
以下では、利用者に渡す受理証明書に、即時補完データを含める場合について 説明する。利用者に渡す受理証明書に即時補完データを含めず、その代わりに遅 延補完データにこの情報を含める場合でも同様の議論により同じ結論が得られる。
[0623] (1)まず、項目(1)について図 80、図 81を用いつつ説明する。
[0624] (場合 1)最初に、図 80を参照して、 iOと ilが il時点における順次集約フォレスト内の 1つの順次集約小木 ST2に属する場合を考える。ここで、合流点を (j, i)、そのレフト' チャイルドである認証点を ( , i')とおく。ノード (0, il)の順次集約小木 ST2における ルート'パス rtPathST2(0, il)において、(0, il)から出発して、合流点に至る直前のノ ードを (Γ, Πとおく。このとき、認証点は、(Γ, Πの左補完点である。従って、認証パ ス authPathTST2(il)の定義から、 (0", i'), L)はノード(0, il)の ST2における認証パスに 含まれる。また、ノード (j', i')への値の割当ては、 round(il)より前に終了している。 よ つて、 (0", i'), L, V0", i'))は (0, il)に対する即時補完データに含まれる。
[0625] (場合 2)次に、図 81を参照して、 iOと ilが il時点における順次集約フォレスト内のど の順次集約小木にも同時には属さない場合を考える。このとき、 iOは il時点における 順次集約フォレスト内のある順次集約小木 ST2'に属する。このとき、登録点 (0, に 対する即時補完データの定義により、 V(root(ST2'))は、登録点 (0, il)に対する即時 補完データに含まれる。
[0626] (2)次に項目(2)について図 82乃至 85を用いつつ説明する。
[0627] (場合 1)最初に、図 82及び 83を参照して、 i0と ilが il時点における順次集約フォレ スト内の 1つの順次集約小木 ST2に属する場合を考える。
[0628] k = height(ST2)とおく。
[0629] 認証点( , ί')はノード(0, iO)のルート'パス rtPathST2(0, iO)に含まれる。ここで、 rtPathST2(0, iO) = [(0, r(0)), · ··, (j,, r(j'》, (j' + l, rO' + D), · ··, (k, r(k》] とする。また、 authPathST2(0, iO)の要素で、レベル力 'より小さいノードの並びを
[(0, s(0)), · ··, O' - i, sO' - D)]
とおく。各 jl≡ [O..j'— Ι]に対して、 V(jl, r(jl》が immedData(iO)あるいは lateData(iO, i 2)に含まれることを示せばよい。
[0630] authPathST2(0, iO)の定義により、 authPathST2(0, iO)のレベル jlの要素 p2 = (jl, s( jl》は、 rtPathST2(0, iO》のレベル jl + 1の要素 p3 = (jl+1, r(jl+l》のライト'チヤィル ドであるか或いはレフト'チャイルドである。どちらであるかによって場合分けする。
[0631] (場合 1— 1) p2が p3のライト'チャイルドであるとき、図 82に示すように、 p2の割当値 V(p2)は、 il≤ i2なる i2において、甲が受信できる遅延補完データ lateDataGO, i2)に 含まれる。なぜならば、リーフ (0, il)に対応するラウンドのイベント順序証明処理が終 わった時点で、図 82の Bで表された SB2の部分木の割当値は計算可能であり計算さ れ割当て済みである。従って、その時点以降で発行される登録点 iOに対する遅延補 完データには Bのルート p2の割当値 V(p2)が含まれるからである。
[0632] (場合 1— 2) p2が p3のレフト'チャイルドであるとき、図 83に示すように、ノード p2の 割当値 V(p2)は、登録点 iOに対する即時補完データに含まれる。何故ならば、図 83の piをルートとする部分木 Bについて、
VI≡ leafs(B)[i < iO]
であり、従って iOで識別されるラウンドの開始時に、 leafs(B)の割当値は確定している。 よって、 p2 = root(B)の割当値は、 iOで識別されるラウンドにおいて確定しており、従 つて p2は iO時点において値が確定している iOの認証パスノードの集合に含まれるから である。
[0633] (場合 2)次に、図 84及び図 85を参照して、 iOと ilが il時点における順次集約フォレ スト内のどの順次集約小木にも同時には属さない場合を考える。このとき、 iOは il時点 における順次集約フォレスト内のある順次集約小木 ST3に属し、 root(ST3)が iOの ilに よる認証点となる。 k =height(ST3)と置く。認証点 (j', i')は (0, iO)のルートパス rtPathS T3(0, iO)に含まれる。ここで、
rtPathST3(0, iO) = [(0, r(0)), · ··, (j,, r(j'》, (j' + l, rO' + D), · ··, (k, r(k》] とする。また、 authPathST3(0, iO)の要素で、レベルカ より小さいノードの並びを
[(0, s(0)), · ··, O' - i, sO' - D)]
とおく。各 jl≡ [O..j'— Ι]に対して、 V(jl, r(jl》が immedData(iO)あるいは lateData(iO, i 2)に含まれることを示せばよい。
[0634] authPathST3(0, iO)の定義により、 authPathST3(0, iO)のレベル jlの要素 p2 = (jl, s( jl》は、 rtPathST3(0, iO》のレベル jl + 1の要素 p3 = (jl+1, r(jl+l》のライト'チヤィル ドであるか或いはレフト'チャイルドである。どちらであるかによって場合分けする。
[0635] (場合 2—l) p2が p3のライト'チャイルドであるとき、図 84に示すように、 p2の割当値 V(p2)は、 il≤ i2な i2において、甲が受信できる遅延補完データ lateDataGO, i2)に含 まれる。なぜならば、リーフ (0, il)に対応するラウンドのイベント順序証明処理が終わ つた時点で、図 84の Bで表された SB3の部分木の割当値は計算可能であり計算され 割当て済みであり、従ってその時点以降で発行される登録点 iOに対する遅延補完デ 一タには Bのルート p2の割当値 V(p2)が含まれるからである。
[0636] (場合 2— 2) p2が p3のレフト'チャイルドであるとき、図 85に示すように、ノード p2の 割当値 V(p2)は、登録点 iOに対する即時補完データに含まれる。何故ならば、図 85の piをルートとする部分木 Bについて、
Vi≡ leafs嫌 < iO]
であり、従って iOで識別されるラウンドの開始時に、 leafs(B)の割当値は確定している。 よって、 p2 = root(B)の割当値は、 iOで識別されるラウンドにおいて確定しており、従 つて p2は iO時点において値が確定している iOの認証パスノードの集合に含まれるから である。
[0637] (3)認証パスの定義及び項目(2)から、各 jl≡ [0.. ]に対して、 V(jl, (jl》を以下の ように再帰的に計算することが出来る。
[0638] まず、 V(jl, r(jl》は受理証明書に含まれているノード (0, i0)の割当値とする。
[0639] 次に、 jl≡ [0.. — 1]に対して、 V(jl, rOD)が計算されたと仮定し、 V(jl+1, r(jl+l》 を以下のように計算する。 r(jl) < s(jl)のときは、
V01+1, rO'1+D) = h(V(jl, rOD) II V(jl, s(jl》)
とし、 s(jl) < rODのときは、
VOl+1, rO'l+D) = h(V(jl, sOD) II V(jl, rOD))
とする。
産業上の利用可能性
[0640] 本発明によれば、木構造を用いてイベント順序を証明するイベント順序証明システ ムにおいて、イベント順序証明要求をまとめた公表データを用いなくても、イベント順 序証明機関から発行されたイベント順序受理証明書の検証を行うことができる。
[0641] この結果、公表期間の途中であっても、受け取ったイベント順序受理証明書の正当 性を検証することができ、利用者の利便性の向上を図ることができる。また、イベント 順序証明機関に障害が発生しても、障害に強いイベント順序証明システムを構築す ることがでさる。

Claims

請求の範囲
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う利用者装置と、前記 利用者装置からの前記証明要求に対する証明書を作成する証明装置と、前記証明 書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたィベン ト順序証明システムにおけるイベント順序証明方法であって、
前記証明装置が前記利用者装置からの証明要求を受信する順序証明要求受信ス テツプと、
前記証明装置が前記証明要求に含まれるデジタル情報から予め定めた手順に従 つて順次割当データを作成する順次割当データ計算ステップと、
前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左力 順次 割り当てることによって一定時間間隔ごとに 1つの集約木が生成される順次集約木に おいて、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した 連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計 算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終 了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集 約ステップと、
前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てら れた順次集約木及び該順次集約木のリーフを特定する第 1の順次集約木特定情報 を含む証明書を作成する証明書作成ステップと、
前記証明装置が前記証明書を前記利用者装置に送信する証明書送信ステップと 前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登 録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前 記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約 木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、 前記証明装置が、前記証明要求を前記順次集約木に割り当てた以後に、第 1の監 查要求を前記順次集約木に割り当て、前記証明書と同一の作成方法により、第 1の 監査用証明書を作成するとともに、前記監査要求を前記順次集約木に割り当てた時 点における第 1の監査用の即時補完情報を前記順次集約木から取得し、前記第 1の 監査用証明書に含める監査用証明書作成ステップと、
前記証明装置が前記第 1の監査用証明書を前記監査装置に送信する監査用証明 書送信ステップと、
前記証明装置が、前記第 1の監査要求を前記順次集約木に割り当てた以後に、前 記利用者装置からの前記証明書の補完情報の要求を受信する補完情報要求受信 ステップと、
前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前 記順次集約木のリーフを特定する第 2の順次集約木特定情報、及び前記補完情報 の要求を割り当てた時点において取得可能な補完情報を前記順次集約木力 取得 し、遅延補完情報とする遅延補完情報作成ステップと、
前記証明装置が前記証明書の前記遅延補完情報を前記利用者装置に送信する 遅延補完情報送信ステップと、
を有することを特徴とするイベント順序証明方法。
[2] 前記証明書作成ステップにお!、て、前記証明装置は、前記第 1の順次集約木特定 情報に前記証明書の即時補完情報を含めることを特徴とする請求項 1記載のィベン ト順序証明方法。
[3] 前記監査用証明書作成ステップは、さらに、前記証明装置が、前記証明要求を前 記順次集約木に割り当てた以前に、第 2の監査要求を前記順次集約木に割り当て、 前記証明書と同一の作成方法により、第 2の監査用証明書を作成するとともに、前記 第 2の監査要求を前記順次集約木に割り当てた時点における第 2の監査用の即時 補完情報を前記順次集約木から取得し、前記第 2の監査用証明書に含めるステップ を備え、
前記証明装置が、前記一定時間間隔終了後に前記監査用証明書作成ステップで 作成された各監査用証明書の補完情報すベてを前記順次集約木から取得し、各監 查用証明書の遅延補完情報とする監査用遅延補完情報作成ステップと、
前記証明装置が前記第 1及び第 2の監査用証明書の前記遅延補完情報を前記監 查装置に送信する監査用遅延補完情報送信ステップと、
をさらに有することを特徴とする請求項 1又は 2記載のイベント順序証明方法。
[4] 前記順次割当データ計算ステップにおいて、前記証明装置は、前記証明要求に含 まれる前記デジタル情報に対して所定の衝突困難一方向関数を適用した結果値を 前記順次割当データとして計算することを特徴とする請求項 1乃至 3のいずれか 1項 に記載のイベント順序証明方法。
[5] 前記証明書作成ステップにお!、て、前記証明装置は、前記証明書にデジタル署名 を施すことを特徴とする請求項 1乃至 4のいずれか 1項に記載のイベント順序証明方 法。
[6] 前記証明装置が、前記一定時間間隔終了後に前記順次集約木の前記ルート値を 電子的に公表する電子的情報公表ステップをさらに有することを特徴とする請求項 1 乃至 5のいずれか 1項に記載のイベント順序証明方法。
[7] 前記利用者装置力 複数の証明要求が為されたときには、前記証明書送信ステツ プは、前記証明装置が、各証明要求を前記順次集約木に割り当てた時間的順序で 、各証明要求に対する証明書を送信するステップをさらに有することを特徴とする請 求項 1乃至 6のいずれか 1項に記載のイベント順序証明方法。
[8] 前記利用者装置力 複数の証明要求が為されたときに、
前記証明装置が前記順序証明要求集約ステップで生成される前記順次集約木に 関する情報を記憶する順次集約木記憶ステップと、
前記順次集約木において、リーフ alより右に位置するリーフ a2の割当処理が終了し た時点で定まる前記リーフ alの遅延補完情報を、前記リーフ alの前記リーフ a2におけ る遅延補完情報といい、さらに、最新の証明要求力 作成された順次割当データが 割り当てられた前記順次集約木のリーフを新登録点とすると、
前記証明装置が前記複数の証明要求の登録点に関する情報を記憶する登録点記 憶ステップと、
をさらに有し、
前記証明書作成ステップにおいて、前記証明装置は、各記憶ステップにおいて記 憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当て られた前記順次集約木及び該順次集約木のリーフを特定する第 1の順次集約木特 定情報と、前記新登録点の即時補完情報と、前記利用者装置の過去のすべての登 録点の前記新登録点における遅延補完情報と、を併せることによって前記新登録点 に対する証明書を作成することを特徴とする請求項 2記載のイベント順序証明方法。
[9] 前記利用者装置力 複数の証明要求が為されたときに、
前記証明装置が前記順序証明要求集約ステップで生成される前記順次集約木に 関する情報を記憶する順次集約木記憶ステップと、
前記順次集約木において、リーフ alより右に位置するリーフ a2の割当処理が終了し た時点で定まる前記リーフ alの遅延補完情報を、前記リーフ alの前記リーフ a2におけ る遅延補完情報といい、さらに、最新の証明要求力 作成された順次割当データが 割り当てられた前記順次集約木のリーフを新登録点とすると、
前記証明装置が前記新登録点に対する直前の登録点に関する情報を記憶する登 録点記憶ステップと、
をさらに有し、
前記証明書作成ステップにおいて、前記証明装置は、各記憶ステップにおいて記 憶された情報から、該新登録点の順次割当データと、該順次割当データが割り当て られた前記順次集約木及び該順次集約木のリーフを特定する順次集約木特定情報 と、前記新登録点の即時補完情報と、前記利用者装置の前記直前の登録点の前記 新登録点における遅延補完情報と、を併せることによって前記新登録点に対する証 明書を作成することを特徴とする請求項 2記載のイベント順序証明方法。
[10] 前記順次集約木記憶ステップにお!、て、前記証明装置は、前記順次集約木に関 する情報として、前記順次集約木において割当処理がされた各ノードの位置及び割 当値を記憶することを特徴とする請求項 8又は 9記載のイベント順序証明方法。
[11] 前記証明装置は、前記新登録点の前記即時補完情報と、前記利用者装置の前記 直前の登録点の前記新登録点における前記遅延補完情報とを別々にスタック化して 記憶することを特徴とする請求項 9記載のイベント順序証明方法。
[12] 前記証明装置が前記一定時間間隔終了後に前記順次集約木の前記ルート値を電 子的に公表する電子的情報公表ステップをさらに有することを特徴とする請求項 8乃 至 11の 、ずれか 1項に記載のイベント順序証明方法。
[13] 前記一定時間間隔終了前に、前記証明装置が運用を中断、あるいは前記順次集 約木のルート値を計算するのに必要なデータを消失したときに、前記利用者装置が 、前記証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明 書から、計算可能な割当値を持つ前記順次集約木のノードのうちで、その親のノード の割当値が計算できないような 1つあるいは複数のノードの位置情報と割当値を、電 子的に公表する利用者サイド電子的情報公表ステップをさらに有することを特徴とす る請求項 8乃至 12のいずれ力 1項に記載のイベント順序証明方法。
[14] 前記順序証明要求集約ステップにおいて、前記証明装置は、前記一定時間間隔 終了後に前記順次集約木の前記ルート値を、次の順次集約木のリーフに割り当てら れた新たな登録点の即時補完情報となるように、前記次の順次集約木のリーフに割 り当てることを特徴とする請求項 8乃至 13のいずれか 1項に記載のイベント順序証明 方法。
[15] 所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも 1つの利用 者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記 証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたィ ベント順序証明システムにおけるイベント順序証明監査方法であって、
前記証明装置が前記利用者装置から第 1の証明要求を受信する順序証明要求受 信ステップと、
前記証明装置が前記第 1の証明要求に含まれるデジタル情報から予め定めた手順 に従って順次割当データを作成する順次割当データ計算ステップと、
前記証明装置が、一連の順次割当データを時刻順に有向木のリーフに左力 順次 割り当てることによって一定時間間隔ごとに 1つの集約木が生成される順次集約木に おいて、同一の親を有する複数の子に割り当てられたそれぞれの割当値を連接した 連接値に所定の衝突困難一方向関数を適用した結果値を前記親の割当値とする計 算方法により、計算可能なノードの割当値を計算するとともに、前記一定時間間隔終 了後に前記順次集約木のルートに割り当てるルート値を計算する順序証明要求集 約ステップと、
前記証明装置が、前記順次割当データ、並びに前記順次割当データが割り当てら れた順次集約木及び該順次集約木のリーフを特定する第 1の順次集約木特定情報 を含む第 1の証明書を作成する証明書作成ステップと、
前記証明装置が前記第 1の証明書を前記利用者装置に送信する証明書送信ステ ップと、
前記第 1の証明要求が割り当てられた前記順次集約木のリーフを登録点として定 義し、該登録点力 前記順次集約木のルート値を計算するのに必要なノードに関す る情報を前記第 1の証明書の補完情報と定義し、該補完情報のうち、前記第 1の証 明要求を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補 完情報と定義すると、
前記証明装置が、複数の監査要求を前記順次集約木に割り当て、前記第 1の証明 書と同一の作成方法により、複数の監査用証明書を作成するとともに、各監査要求を 前記順次集約木に割り当てた時点における監査用の即時補完情報を前記順次集約 木から取得し、各監査用証明書に含める監査用証明書作成ステップと、
前記証明装置が前記複数の監査用証明書を前記監査装置に送信する監査用証 明書送信ステップと、
前記証明装置が、前記第 1の証明書送信後に、前記利用者装置からの前記第 1の 証明書の補完情報の要求を受信する補完情報要求受信ステップと、
前記証明装置が、前記補完情報の要求が割り当てられた前記順次集約木及び前 記順次集約木のリーフを特定する第 2の順次集約木特定情報、及び前記補完情報 の要求を割り当てた時点において取得可能な補完情報を前記順次集約木力 取得 し、遅延補完情報とする遅延補完情報作成ステップと、
前記証明装置が前記第 1の証明書の前記遅延補完情報を前記利用者装置に送信 する遅延補完情報送信ステップと、
前記監査装置が、前記証明装置から前記複数の監査用証明書を受信する監査用 証明書受信ステップと、
前記監査装置が、前記利用者装置から前記第 1の証明書及び前記第 1の証明書 の前記遅延補完情報を含む前記第 1の証明書に対する監査要求を受信する監査要 求受信ステップと、
前記監査装置が、前記複数の監査用証明書の中から、前記第 1の証明書に対する 監査要求の第 1及び第 2の順次集約木特定情報に基づいて、前記第 1の証明書より 生成された時間的順序が後、かつ前記遅延補完情報より生成された時間的順序が 前である監査用証明書を選択する第 1の監査用証明書選択ステップと、
前記監査装置が、前記順次集約木の特定のノードに対して、前記第 1の監査用証 明書選択ステップで選択された監査用証明書に含まれる該ノードの割当値と、前記 第 1の証明書に対する監査要求力 計算された該ノードの割当値が一致する力否か の検証に基づいて、前記第 1の証明書の正当性を監査し、前記第 1の証明書の証明 要求の受付時刻と前記第 1の監査用証明書選択ステップで選択された監査用証明 書の監査要求の受付時刻との前後関係を証明する第 1の証明書監査ステップと、 前記監査装置が前記第 1の証明書の監査結果を前記利用者装置に送信する監査 結果送信ステップと、
を有することを特徴とするイベント順序証明監査方法。
[16] 前記監査用証明書受信ステップは、さらに、前記監査装置が前記第 1の監査用証 明書選択ステップで選択された監査用証明書を受信した第 1の時刻を時刻提供装置 力も取得するステップを備え、
前記第 1の証明書監査ステップにおいて、前記監査装置は、前記第 1の証明書の 前記証明要求の前記受付時刻が前記第 1の時刻よりも時間的に前であることを示す 区間時刻証を前記監査結果に含めることを特徴とする請求項 15記載のイベント順序 証明監査方法。
[17] 前記証明装置が、前記一定時間間隔終了後に前記監査用証明書作成ステップに おいて作成された前記複数の監査用証明書の前記補完情報すベてを前記順次集 約木から取得し、各監査用証明書の遅延補完情報とする監査用遅延補完情報作成 ステップと、
前記証明装置が前記複数の監査用証明書の前記遅延補完情報を前記監査装置 に送信する監査用遅延補完情報送信ステップと、 前記監査装置が、前記複数の監査用証明書の中から、前記第 1の証明書に対する 監査要求の第 1の順次集約木特定情報に基づいて、前記第 1の証明書より時間的 順序が前の監査用証明書を選択する第 2の監査用証明書選択ステップと、
前記監査装置が、前記順次集約木の特定のノードに対して、前記第 1の証明書に 対する監査要求に含まれる該ノードの割当値と、前記第 2の監査用証明書選択ステ ップで選択された監査用証明書及び該監査用証明書の前記遅延補完情報から計算 された該ノードの割当値が一致する力否かの検証に基づいて、前記第 1の証明書の 正当性を監査し、前記第 1の証明書の前記証明要求の前記受付時刻と前記第 2の 監査用証明書選択ステップで選択された監査用証明書の監査要求の受付時刻との 前後関係を証明する第 2の証明書監査ステップと、
をさらに有することを特徴とする請求項 15又は 16記載のイベント順序証明監査方 法。
[18] 前記利用者装置又は他の利用者装置力 第 2の証明要求が為されたときには、前 記監査装置が、前記第 2の証明要求に対して作成された第 2の証明書に対する監査 結果と、前記第 1及び第 2の証明書の第 1の順次集約木特定情報に基づいて、前記 第 1及び第 2の証明書間における証明要求の受付時刻の前後関係を判定する証明 書間順序判定ステップをさらに有し、
前記監査結果送信ステップにおいて、前記監査装置は、前記複数の証明書間に おける要求受付の時間的順序を前記監査結果に含めることを特徴とする請求項 17 記載のイベント順序証明監査方法。
[19] 前記監査装置が前記複数の監査用証明書及び前記複数の監査用証明書の遅延 補完情報力 前記順次集約木のルート値を計算するルート値計算ステップと、 前記監査装置が電子的に公表された前記順次集約木のルート値と前記計算され たルート値が一致するか否かの検証を行うルート値検証ステップと、
をさらに有することを特徴とする請求項 17又は 18記載のイベント順序証明監査方 法。
[20] 前記監査装置が、前記第 1の監査用証明書選択ステップで選択された監査用証明 書及び該監査用証明書の遅延補完情報を前記利用者装置に送信する監査用補完 情報送信ステップをさらに有することを特徴とする請求項 17乃至 19のいずれか 1項 に記載のイベント順序証明監査方法。
[21] 前記監査用証明書受信ステップは、さらに、前記監査装置が前記第 2の監査用証 明書選択ステップで選択された監査要求を前記証明装置に送信した第 2の時刻を時 刻提供装置から取得するステップを有し、
前記第 2の証明書監査ステップにおいて、前記監査装置は、前記第 1の証明書の 前記証明要求の前記受付時刻が前記第 2の時刻より時間的に後であることを示す区 間時刻証を監査結果に含めることを特徴とする請求項 17乃至 20のいずれか 1項に 記載のイベント順序証明監査方法。
[22] 前記第 1の証明監査ステップにおいて、前記監査装置は、前記監査結果にデジタ ル署名を施すことを特徴とする請求項 15乃至 21のいずれか 1項に記載のイベント順 序証明監査方法。
[23] 所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行い、証明書の作成を 促す利用者装置と、該証明書の真偽を監査する監査装置とに通信ネットワークを介 して相互に接続され、前記証明書を作成するイベント順序証明装置であって、 前記利用者装置から証明要求を受信する順序証明要求受信手段と、
前記証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割当デ ータを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左力 順次割り当てることによ つて一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親 を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の 衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計 算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次 集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、 前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木 及び該順次集約木のリーフを特定する第 1の順次集約木特定情報を含む証明書を 作成する証明書作成手段と、 前記証明書を前記利用者装置に送信する証明書送信手段と、
前記証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、該登 録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報を前 記証明書の補完情報と定義し、該補完情報のうち、前記証明要求を前記順次集約 木に割り当てた時点において取得可能な補完情報を即時補完情報と定義すると、 前記証明要求を前記順次集約木に割り当てた以後に、第 1の監査要求を前記順次 集約木に割り当て、前記証明書と同一の作成方法により、第 1の監査用証明書を作 成するとともに、前記第 1の監査要求を前記順次集約木に割り当てた時点における 第 1の監査用の即時補完情報を前記順次集約木から取得し、該第 1の監査用証明 書に含める監査用証明書作成手段と、
前記第 1の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、 前記第 1の監査要求を前記順次集約木に割り当てた以後に、前記利用者装置から の前記証明書の補完情報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリ ーフを特定する第 2の順次集約木特定情報、及び前記補完情報の要求を割り当て た時点にお!、て取得可能な補完情報を前記順次集約木から取得し、遅延補完情報 とする遅延補完情報作成手段と、
前記証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情報送 信手段と、
を有することを特徴とするイベント順序証明装置。
[24] 前記証明書作成手段は、前記第 1の順次集約木特定情報に前記第 1の証明書の 即時補完情報を含めることを特徴とする請求項 23記載のイベント順序証明装置。
[25] 前記監査用証明書作成手段は、さらに、前記証明要求を前記順次集約木に割り当 てた以前に、第 2の監査要求を前記順次集約木に割り当て、前記証明書と同一の作 成方法により、第 2の監査用証明書を作成するとともに、前記第 2の監査要求を前記 順次集約木に割り当てた時点における第 2の監査用の即時補完情報を前記順次集 約木から取得し、該第 2の監査用証明書に含める手段を備え、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記第 1及 び第 2の監査用証明書の補完情報すベてを前記順次集約木から取得し、各監査用 証明書の遅延補完情報とする監査用遅延補完情報作成手段と、
前記第 1及び第 2の監査用証明書の前記遅延補完情報を前記監査装置に送信す る監査用遅延補完情報送信手段と、
をさらに有することを特徴とする請求項 23又は 24記載のイベント順序証明装置。
[26] 前記順次割当データ計算手段は、前記証明要求に含まれる前記デジタル情報に 対して所定の衝突困難一方向関数を適用した結果値を前記順次割当データとして 計算することを特徴とする請求項 23乃至 25のいずれか 1項に記載のイベント順序証 明装置。
[27] 前記証明書作成手段は、前記証明書にデジタル署名を施すことを特徴とする請求 項 23乃至 26のいずれか 1項に記載のイベント順序証明装置。
[28] 前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する 電子的情報公表手段をさらに有することを特徴とする請求項 23乃至 27のいずれか 1 項に記載のイベント順序証明装置。
[29] 前記利用者装置力 複数の証明要求が為されたときに、各証明要求を前記順次集 約木に割り当てた時間的順序で、各証明要求に対する証明書を送信する手段を有 することを特徴とする請求項 23乃至 28のいずれか 1項に記載のイベント順序証明装 置。
[30] 前記利用者装置力 複数の証明要求が為されたときに、
前記順序証明要求集約手段により生成される前記順次集約木に関する情報を記 憶する順次集約木記憶手段と、
前記順次集約木において、リーフ alより右に位置するリーフ a2の割当処理が終了し た時点で定まる前記リーフ alの遅延補完情報を、前記リーフ alの前記リーフ a2におけ る遅延補完情報といい、さらに、最新の証明要求力 作成された順次割当データが 割り当てられた前記順次集約木のリーフを新登録点とすると、
前記複数の証明要求の登録点に関する情報を記憶する登録点記憶手段と、 を有し、
前記証明書作成手段は、各記憶手段によって記憶された情報から、該新登録点の 順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順 次集約木のリーフを特定する第 1の順次集約木特定情報と、前記新登録点の即時補 完情報と、前記利用者装置の過去のすべての登録点の前記新登録点における遅延 補完情報と、を併せることによって前記新登録点に対する証明書を作成することを特 徴とする請求項 24記載のイベント順序証明装置。
[31] 前記利用者装置力 複数の証明要求が為されたときに、
前記順序証明要求集約手段で生成される前記順次集約木に関する情報を記憶部 に記憶する順次集約木記憶手段と、
前記順次集約木において、リーフ alより右に位置するリーフ a2の割当処理が終了し た時点で定まる前記リーフ alの遅延補完情報を、前記リーフ alの前記リーフ a2におけ る遅延補完情報といい、さらに、最新の証明要求力 作成された順次割当データが 割り当てられた前記順次集約木のリーフを新登録点とすると、
前記直前の登録点に関する情報を前記記憶部に記憶する登録点記憶手段と、 をさらに有し、
前記証明書作成手段は、各記憶手段によって記憶された情報から、該新登録点の 順次割当データと、該順次割当データが割り当てられた前記順次集約木及び該順 次集約木のリーフを特定する順次集約木特定情報と、該新登録点の即時補完情報 を備える前記証明書と、前記利用者装置の前記直前の登録点の前記新登録点にお ける遅延補完情報と、を併せることによって前記新登録点に対する証明書を作成す ることを特徴とする請求項 24記載のイベント順序証明装置。
[32] 前記順次集約木記憶手段は、前記順次集約木に関する情報として、前記順次集 約木において割当処理がされた各ノードの位置及び割当値を記憶することを特徴と する請求項 30又は 31記載のイベント順序証明装置。
[33] 前記順次集約木記憶手段は、前記新登録点の前記即時補完情報を記憶する第 1 のスタックと、前記利用者装置の前記直前の登録点の前記新登録点における前記遅 延補完情報を記憶する第 2のスタックとを有することを特徴とする請求項 31記載のィ ベント順序証明装置。
[34] 前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する 電子的情報公表手段をさらに有することを特徴とする請求項 30乃至 33のいずれか 1 項に記載のイベント順序証明装置。
[35] 前記利用者装置は、前記一定時間間隔終了前に、前記イベント順序証明装置が 運用を中断、あるいは前記順次集約木のルート値を計算するのに必要なデータを消 失したときに、イベント順序証明装置の運用中断あるいはデータ消失の時点までに 受信し記憶した証明書から、計算可能な割当値を持つ前記順次集約木のノードのう ちで、その親のノードの割当値が計算できないような 1つあるいは複数のノードの位 置情報と割当値を、電子的に公表する利用者サイド電子的情報公表手段をさらに有 することを特徴とする請求項 30乃至 34のいずれか 1項に記載のイベント順序証明装 置。
[36] 前記順序証明要求集約手段は、前記一定時間間隔終了後に前記順次集約木の 前記ルート値を、次の順次集約木のリーフに割り当てられた新たな登録点の即時補 完情報となるように、前記次の順次集約木のリーフに割り当てることを特徴とする請求 項 30乃至 35のいずれか 1項に記載のイベント順序証明装置。
[37] 所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも 1つの利用 者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置とに通 信ネットワークを介して接続され、前記証明書の真偽を監査するイベント順序証明監 查装置であって、
前記証明装置は、
前記利用者装置からの第 1の証明要求を受信する順序証明要求受信手段と、 前記第 1の証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割 当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左力 順次割り当てることによ つて一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親 を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の 衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計 算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次 集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、 前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木 及び該順次集約木のリーフを特定する第 1の順次集約木特定情報を含む第 1の証 明書を作成する証明書作成手段と、
前記第 1の証明書を前記利用者装置に送信する証明書送信手段と、
前記第 1の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、 該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報 を前記第 1の証明書の補完情報と定義し、該補完情報のうち、前記第 1の証明要求 を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報 と定義すると、
複数の監査要求を前記順次集約木に割り当て、前記第 1の証明書と同一の作成方 法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順 次集約木に割り当てた時点における監査用の前記即時補完情報を前記順次集約木 から取得し、各監査用証明書に含める監査用証明書作成手段と、
前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、 前記第 1の証明書送信後に、前記利用者装置からの前記第 1の証明書の補完情 報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリ ーフを特定する第 2の順次集約木特定情報、及び前記補完情報の要求を割り当て た時点にお!、て取得可能な補完情報を前記順次集約木から取得し、遅延補完情報 とする遅延補完情報作成手段と、
前記第 1の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情 報送信手段と、
を備え、
前記証明装置から前記複数の監査用証明書を受信する監査用証明書受信手段と 前記利用者装置から前記第 1の証明書及び前記遅延補完情報を含む前記第 1の 証明書に対する監査要求を受信する監査要求受信手段と、 前記複数の監査用証明書の中から、前記第 1の証明書に対する監査要求の第 1及 び第 2の順次集約木特定情報に基づいて、前記第 1の証明書より生成された時間的 順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証 明書を選択する第 1の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第 1の監査用証明書選択手段で選 択された監査用証明書に含まれる該ノードの割当値と、前記第 1の証明書に対する 監査要求力 計算された該ノードの割当値が一致する力否かの検証に基づいて、前 記第 1の証明書の正当性を監査し、前記第 1の証明書の証明要求の受付時刻と前 記第 1の監査用証明書選択手段によって選択された監査用証明書の監査要求の受 付時刻との前後関係を証明する第 1の証明書監査手段と、
前記第 1の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と を備えることを特徴とするイベント順序証明監査装置。
[38] 前記監査用証明書受信手段は、さらに、前記第 1の監査用証明書選択手段によつ て選択された監査用証明書を受信した第 1の時刻を時刻提供装置力 取得する手 段を備え、
前記第 1の証明書監査手段は、前記第 1の証明書の前記証明要求の前記受付時 刻が前記第 1の時刻よりも時間的に前であることを示す区間時刻証を前記監査結果 に含めることを特徴とする請求項 37記載のイベント順序証明監査装置。
[39] 前記証明装置は、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記複数 の監査用証明書の補完情報すベてを前記順次集約木から取得し、各監査用証明書 の遅延補完情報とする監査用遅延補完情報作成手段と、
前記複数の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査 用遅延補完情報送信手段と、
をさらに備え、
前記複数の監査用証明書の中から、前記第 1の証明書に対する監査要求の第 1の 順次集約木特定情報に基づいて、前記第 1の証明書より時間的順序が前の監査用 証明書を選択する第 2の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第 1の証明書に対する監査要求に 含まれる該ノードの割当値と、前記第 2の監査用証明書選択手段で選択された監査 用証明書及び該監査用証明書の前記遅延補完情報から計算された該ノードの割当 値が一致する力否かの検証に基づいて、前記第 1の証明書の正当性を監査し、前記 第 1の証明書の前記証明要求の前記受付時刻と前記第 2の監査用証明書選択手段 によって選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第 2の証明書監査手段と、
をさらに備えることを特徴とする請求項 37又は 38記載のイベント順序証明監査装 置。
[40] 前記利用者装置又は他の利用者装置から第 2の証明要求が為されたときに、前記 第 2の証明要求に対して作成された第 2の証明書に対する監査結果と、前記第 1及 び第 2の証明書の第 1の順次集約木特定情報に基づいて、前記第 1及び第 2の証明 書間における証明要求の受付時刻の前後関係を判定する証明書間順序判定手段 をさらに備え、
前記監査結果送信手段は、前記複数の証明書間における要求受付の時間的順序 を前記監査結果に含めることを特徴とする請求項 39記載のイベント順序証明監査装 置。
[41] 前記複数の監査用証明書及び該複数の監査用証明書の遅延補完情報から前記 順次集約木のルート値を計算するルート値計算手段と、
電子的に公表された前記順次集約木のルート値と前記計算されたルート値が一致 するか否かの検証を行うルート値検証手段と、
をさらに備えることを特徴とする請求項 39又は 40記載のイベント順序証明監査装 置。
[42] 前記第 1の監査用証明書選択手段で選択された監査用証明書及び該監査用証明 書の遅延補完情報を前記利用者装置に送信する監査用補完情報送信手段をさらに 備えることを特徴とする請求項 39乃至 41のいずれか 1項に記載のイベント順序証明 監査装置。 [43] 前記監査用証明書受信手段は、さらに、前記第 2の監査用証明書選択手段によつ て選択された監査要求を前記証明装置に送信した第 2の時刻を時刻提供装置から 取得する手段を備え、
前記第 2の証明書監査手段は、前記第 1の証明書の前記証明要求の前記受付時 間が前記第 2の時刻より時間的に後であることを示す区間時刻証を監査結果に含め ることを特徴とする請求項 39乃至 42のいずれか 1項に記載のイベント順序証明監査 装置。
[44] 前記第 1の証明書監査手段は、前記監査結果にデジタル署名を施すことを特徴と する請求項 39乃至 43のいずれか 1項に記載のイベント順序証明監査装置。
[45] 請求項 1乃至 14の 、ずれか 1項に記載のイベント順序証明方法の各ステップを前 記証明装置に実行させることを特徴とするイベント順序証明プログラム。
[46] 請求項 15乃至 22のいずれか 1項に記載のイベント順序証明監査方法の各ステツ プを前記監査装置に実行させることを特徴とするイベント順序証明監査プログラム。
[47] 所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う少なくとも 1つの利用 者装置と、利用者装置からの証明要求に対する証明書を作成する証明装置と、前記 証明書の真偽を監査する監査装置とが通信ネットワークを介して相互に接続されたィ ベント順序証明検証システムにおける前記利用者装置のためのイベント順序証明検 証プログラムであって、
前記証明装置は、
前記利用者装置からの第 1の証明要求を受信する順序証明要求受信手段と、 前記第 1の証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割 当データを作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左力 順次割り当てることによ つて一定時間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親 を有する複数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の 衝突困難一方向関数を適用した結果値を前記親の割当値とする計算方法により、計 算可能なノードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次 集約木のルートに割り当てるルート値を計算する順序証明要求集約手段と、 前記順次割当データ、並びに前記順次割当データが割り当てられた順次集約木 及び該順次集約木のリーフを特定する第 1の順次集約木特定情報を含む第 1の証 明書を作成する証明書作成手段と、
前記第 1の証明書を前記利用者装置に送信する証明書送信手段と、
前記第 1の証明要求が割り当てられた前記順次集約木のリーフを登録点と定義し、 該登録点から前記順次集約木のルート値を計算するのに必要なノードに関する情報 を前記第 1の証明書の補完情報と定義し、該補完情報のうち、前記第 1の証明要求 を前記順次集約木に割り当てた時点において取得可能な補完情報を即時補完情報 と定義すると、
複数の監査要求を前記順次集約木に割り当て、前記第 1の証明書と同一の作成方 法により、複数の監査用証明書を作成するとともに、前記複数の監査要求を前記順 次集約木に割り当てた時点におけるそれぞれの監査用の即時補完情報を前記順次 集約木から取得し、前記複数の監査用証明書に含める監査用証明書作成手段と、 前記複数の監査用証明書を前記監査装置に送信する監査用証明書送信手段と、 前記第 1の証明書送信後に、前記利用者装置からの前記第 1の証明書の補完情 報の要求を受信する補完情報要求受信手段と、
前記補完情報の要求が割り当てられた前記順次集約木及び前記順次集約木のリ ーフを特定する第 2の順次集約木特定情報、及び前記補完情報の要求を割り当て た時点にお!、て取得可能な補完情報を前記順次集約木から取得し、遅延補完情報 とする遅延補完情報作成手段と、
前記第 1の証明書の前記遅延補完情報を前記利用者装置に送信する遅延補完情 報送信手段と、
を有し、
前記監査装置は、
前記証明装置から、前記複数の監査用証明書を受信する監査用証明書受信手段 と、
前記利用者装置から、前記第 1の証明書及び前記遅延補完情報を含む前記第 1 の証明書に対する監査要求を受信する監査要求受信手段と、 前記複数の監査用証明書の中から、前記第 1の証明書に対する監査要求の第 1及 び第 2の順次集約木特定情報に基づいて、前記第 1の証明書より生成された時間的 順序が後、かつ前記遅延補完情報より生成された時間的順序が前である監査用証 明書を選択する第 1の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第 1の監査用証明書選択手段によ つて選択された監査用証明書に含まれる該ノードの割当値と、前記第 1の証明書に 対する監査要求から計算された該ノードの割当値が一致するか否かの検証に基づ いて、前記第 1の証明書の正当性を監査し、前記第 1の証明書の証明要求の受付時 刻と前記第 1の監査用証明書選択手段によって選択された監査用証明書の監査要 求の受付時刻の前後関係を証明する第 1の証明書監査手段と、
前記第 1の証明書の監査結果を前記利用者装置に送信する監査結果送信手段と を有し、
前記第 1の証明要求を前記証明装置に送信する順序証明要求送信ステップと、 前記証明装置から、前記第 1の証明書を受信する証明書受信ステップと、 前記第 1の証明書の前記補完情報の要求を前記証明装置に送信する補完情報要 求送信ステップと、
前記証明装置から、前記第 1の証明書の前記補完情報を受信する補完情報受信 ステップと、
前記監査要求を前記監査装置に送信する監査要求送信ステップと、
前記第 1の証明書の監査結果を受信する監査結果受信ステップと、
を前記利用者装置に実行させることを特徴とするイベント順序証明検証プログラム。 前記監査用証明書受信手段は、前記第 1の監査用証明書選択手段によって選択 された監査用証明書を受信した第 1の時刻を時刻提供装置力 取得する手段を有し 前記第 1の証明書監査手段は、前記第 1の証明書の前記証明要求の前記受付時 刻が前記第 1の時刻よりも時間的に前であることを示す区間時刻証を前記監査結果 に含め、
前記第 1の証明要求を前記証明装置に送信する時点の第 3の時刻を前記時刻提 供装置から取得し、該第 3の時刻を所定の手順に従って計算した値を前記第 1の証 明要求に含める順序証明要求作成ステップを
前記利用者装置に実行させることを特徴とする請求項 47記載のイベント順序証明 検証プログラム。
[49] 前記証明装置は、
前記一定時間間隔終了後に前記監査用証明書作成手段で作成された前記複数 の監査用証明書の補完情報すベてを前記順次集約木から取得し、各監査用証明書 の遅延補完情報とする監査用遅延補完情報作成手段と、
前記複数の監査用証明書の前記遅延補完情報を前記監査装置に送信する監査 用遅延補完情報送信手段と、
を有し、
前記監査装置は、
前記複数の監査用証明書の中から、前記第 1の証明書に対する監査要求の第 1の 順次集約木特定情報に基づいて、前記第 1の証明書より時間的順序が前の監査用 証明書を選択する第 2の監査用証明書選択手段と、
前記順次集約木の特定のノードに対して、前記第 1の証明書に対する監査要求に 含まれる該ノードの割当値と、前記第 2の監査用証明書選択手段で選択された監査 用証明書及び該監査用証明書の遅延補完情報から計算された該ノードの割当値が 一致する力否かの検証に基づいて、前記第 1の証明書の正当性を監査し、前記第 1 の証明書の前記証明要求の前記受付時刻と前記第 2の監査用証明書選択手段によ つて選択された監査用証明書の監査要求の受付時刻の前後関係を証明する第 2の 証明書監査手段と、
を有することを特徴とする請求項 47又は 48記載のイベント順序証明検証プロダラ ム。
[50] 前記監査装置は、
前記利用者装置又は他の利用者装置から第 2の証明要求が為されたときに、前記 第 2の証明要求に対して作成された第 2の証明書に対する監査結果と、前記第 1及 び第 2の証明書の第 1の順次集約木特定情報に基づいて、前記第 1及び第 2の証明 書間における証明要求の受付時刻の前後関係を判定する証明書間順序判定手段 を有し、
前記監査結果送信手段は、前記第 1及び第 2の証明書間における前記証明要求 の前記受付時間の前記前後関係を前記監査結果に含め、
前記第 1の証明書に対する監査要求は、前記第 2の証明書との時間的順序の判定 要求を含むことを特徴とする請求項 49記載のイベント順序証明検証プログラム。
[51] 前記監査装置は、
前記第 1の監査用証明書選択手段で選択された監査用証明書及び該監査用証明 書の遅延補完情報を前記利用者装置に送信する監査用補完情報送信手段を有し、 前記監査装置から送信された監査用証明書及び該監査用証明書の遅延補完情 報を受信するステップを
前記利用者装置に実行させることを特徴とする請求項 49記載のイベント順序証明 検証プログラム。
[52] 前記監査用証明書受信手段は、前記第 2の監査用証明書選択手段によって選択 された監査要求を前記証明装置に送信した第 2の時刻を時刻提供装置から取得す る手段を有し、
第 2の証明書監査手段は、前記第 1の証明書の前記証明要求の前記受付時刻が 前記第 2の時刻より時間的に後であることを示す区間時刻証を監査結果に含め、 前記第 1の証明要求を前記証明装置に送信した時点の第 3の時刻を前記時刻提 供装置から取得し、該第 3の時刻を所定の手順に従って計算した値を前記第 1の証 明要求に含める順序証明要求作成ステップを
前記利用者装置に実行させることを特徴とする請求項 48乃至 51のいずれか 1項に 記載のイベント順序証明検証プログラム。
[53] 前記証明装置から受信した前記第 1の証明書、及び前記一定時間間隔終了後に 取得した該第 1の証明書の補完情報すベてから、前記順次集約木のルート値を計算 するルート値計算ステップと、 前記一定時間間隔終了後に電子的に公表された前記順次集約木のルート値と前 記計算されたルート値が一致するか否かの検証を行うルート値検証ステップと、 を
前記利用者装置に実行させることを特徴とする請求項 47乃至 52のいずれか 1項に 記載のイベント順序証明検証プログラム。
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う第 1及び第 2の利用 者装置と、各利用者装置力 の複数の証明要求に対して複数の証明書を作成する イベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに 証明書の正当性を検証させるイベント順序証明検証プログラムであって、
前記イベント順序証明装置は、
前記第 1及び第 2の利用者装置から複数の証明要求を受信する順序証明要求受 信手段と、
各証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割当データ を作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時 間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親を有する複 数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一 方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノ ードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のル ートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順 次集約木記憶手段と、
各証明要求力 作成された順次割当データが割り当てられた前記順次集約木のリ ーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算するのに必 要なノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち、前 記順次割当データを前記順次集約木に割り当てた時点にお 、て取得可能な補完情 報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点以後 において取得可能な補完情報を遅延補完情報と定義し、リーフ aはり右に位置するリ ーフ a2の割当処理が終了した時点で定まる前記リーフ alの遅延補完情報を、前記リ ーフ alの前記リーフ a2における遅延補完情報といい、さらに、最新の前記要求から作 成された順次割当データが割り当てられた前記順次集約木のリーフを新登録点とす ると、
利用者装置ごとに前記複数の証明要求の登録点に関する情報を記憶する登録点 記憶手段と、
各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順 次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定 する順次集約木特定情報と、前記新登録点の即時補完情報と、各利用者装置の過 去のすべての登録点の新登録点における遅延補完情報と、を併せることによって前 記新登録点に対する証明書を作成する証明書作成手段と、
前記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、 を有し、
各利用者装置は、
複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、 前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書 を受信する証明書受信手段と、
前記受信した複数の証明書を記憶する証明書記憶手段と、
前記受信し記憶した複数の証明書のうち、検証対象の証明書を検証するコンビュ ータに送信する検証要求送信手段と、
前記コンピュータから前記検証対象の証明書に対する検証結果を受信する検証結 果受信手段と、
を有し、
前記第 1及び第 2の利用者装置から検証対象の証明書を 1つずつ受信するか、或 いは前記第 1の前記利用者装置から検証対象の証明書を 2つ受信する証明書受信 ステップと、
前記受信した 2つの証明書の順次集約木特定情報に基づいて、前記 2つの証明書 のうち発行された順序が時間的に前であると判断された証明書を第 1の証明書、後 であると判断された証明書を第 2の証明書とすると、前記第 1の証明書を送信した利 用者装置に対して前記第 2の証明書の順次集約木特定情報を送信する順次集約木 特定情報送信ステップと、
前記第 1の証明書を送信した利用者装置から、前記第 1の証明書の前記第 2の証 明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステ ップと、
前記順次集約木の特定のノードに対して、前記第 2の証明書に含まれるノードの割 当値と、前記第 1の証明書および前記遅延補完情報から計算されたノードの割当値 がー致する力否かの検証に基づいて、各証明書の正当性及び前記第 1の証明書の 登録点が前記第 2の証明書の登録点より時間的に前であることを証明する検証ステ ップと、
検証結果を前記第 1及び第 2の利用者装置、或いは前記第 1又は第 2の利用者装 置に送信する検証結果送信ステップと、
を前記コンピュータに実行させることを特徴とするイベント順序証明検証プログラム 各利用者装置は、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは 前記順次集約木のルート値を計算するのに必要なデータを消失したとき、イベント順 序証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書か ら、計算可能な割当値を持つ前記順次集約木のノードのうちで、その親のノードの割 当値が計算できないような 1つあるいは複数のノードの位置情報と割当値を、電子的 に公表する利用者サイド電子的情報公表手段、
を有し、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは 前記順次集約木のルート値を計算するのに必要なデータを消失したとき、前記利用 者装置により前記利用者サイド電子的情報公表手段で公表されたノードの割当値と 、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受 信したデータ力 該ノード割当値が計算できるときには計算されたノードの割当値が 一致する力否かにより、前記証明書受信ステップで受信したデータと前記遅延補完 情報受信ステップで受信したデータが改ざんされて 、な 、ことの検証を行う利用者サ イド公表値による検証ステップ
を前記コンピュータに実行させることを特徴とする請求項 54記載のイベント順序証 明検証プログラム。
所定のデジタル情報を生成するイベントの時系列において、あるイベントを生成し た相対的な時刻、即ち時間的順序、を証明する証明要求を行う第 1及び第 2の利用 者装置と、各利用者装置力 の複数の証明要求に応えて複数の証明書を作成する イベント順序証明装置とに通信ネットワークを介して相互に接続されたコンピュータに 証明書の正当性を検証させるイベント順序証明検証プログラムであって、
前記イベント順序証明装置は、
前記第 1及び第 2の利用者装置から複数の証明要求を受信する順序証明要求受 信手段と、
各証明要求に含まれるデジタル情報力 予め定めた手順に従って順次割当データ を作成する順次割当データ計算手段と、
一連の順次割当データを時刻順に有向木のリーフに左から順次割り当て、一定時 間間隔ごとに 1つの集約木が生成される順次集約木において、同一の親を有する複 数の子に割り当てられたそれぞれの割当値を連接した連接値に所定の衝突困難一 方向関数を適用した結果値を前記親の割当値とする計算方法により、計算可能なノ ードの割当値を計算するとともに、前記一定時間間隔終了後に前記順次集約木のル ートに割り当てるルート値を計算する順序証明要求集約手段と、
前記順序証明要求集約手段で生成される順次集約木に関する情報を記憶する順 次集約木記憶手段と、
各証明要求力 作成された順次割当データが割り当てられた前記順次集約木のリ ーフを登録点と定義し、該登録点力 前記順次集約木のルート値を計算するのに必 要な他のノードに関する情報を前記登録点の補完情報と定義し、該補完情報のうち 、前記順次割当データを前記順次集約木に割り当てた時点にお 、て取得可能な補 完情報を即時補完情報、前記順次割当データを前記順次集約木に割り当てた時点 以後において取得可能な補完情報を遅延補完情報と定義し、リーフ aはり右に位置 するリーフ a2の割当処理が終了した時点で定まる前記リーフ alの遅延補完情報を、 前記リーフ alの前記リーフ a2における遅延補完情報といい、さらに、最新の前記要求 から作成された順次割当データが割り当てられた前記順次集約木のリーフを新登録 点とすると、
利用者装置ごとに前記直前の登録点に関する情報を記憶する登録点記憶手段と、 各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順 次割当データが割り当てられた順次集約木及び該順次集約木のリーフを特定する 順次集約木特定情報と、新登録点の即時補完情報と、前記利用者装置の前記直前 の登録点の前記新登録点における遅延補完情報と、を併せることによって前記新登 録点に対する証明書を作成する証明書作成手段と、
作成された証明応答を前記利用者装置に送信する証明応答送信手段と、 を有し、
各利用者装置の各登録点のうち、前記順次集約木の最も右に割り付けられた登録 点を暫定終端点とし、該暫定終端点の割付処理が終了した時点において、所定の 登録点の取得可能な補完情報すベてを計算することを、前記所定の登録点の証明 書に対するインクリメンタル完全化と定義すると、
各利用者装置は、
複数の証明要求を前記イベント順序証明装置に送信する証明要求送信手段と、 前記イベント順序証明装置から前記複数の証明要求に対する前記複数の証明書 を受信する証明書受信手段と、
前記受信した複数の証明書を記憶する証明書記憶手段と、
前記受信し記憶した複数の証明書のうち、検証対象の証明書に対して前記インクリ メンタル完全ィヒの処理を行うインクリメンタル完全ィヒ手段と、
前記インクリメンタル完全ィ匕された証明書を検証する検証要求をコンピュータに送 信する検証要求送信手段と、
前記コンピュータ力 前記検証対象の前記証明書に対する検証結果を受信する検 証結果受信手段と、
を有し、
前記第 1及び第 2の利用者装置から検証対象の証明書を 1つずつ受信するか、或 いは前記第 1の利用者装置力 検証対象の証明書を 2つ受信する証明書受信ステツ プと、
前記受信した 2つの証明書の順次集約木特定情報に基づいて、前記 2つの証明書 のうち発行された順序が時間的に前であると判断された証明書を第 1の証明書、後 であると判断された証明書を第 2の証明書とすると、前記第 1の証明書を送信した利 用者装置に、前記第 2の証明書の順次集約木特定情報を送信する順次集約木特定 情報送信ステップと、
前記第 1の証明書を送信した利用者装置から、前記第 1の証明書の前記第 2の証 明書の発行以降の登録点における遅延補完情報を受信する遅延補完情報受信ステ ップと、
前記順次集約木の特定のノードに対して、前記第 2の証明書に含まれるノードの割 当値と、前記第 1の証明書および前記遅延補完情報から計算されたノードの割当値 がー致する力否かの検証に基づいて、各証明書の正当性及び前記第 1の証明書の 登録点が前記第 2の証明書の登録点より時間的に前であることを証明する検証ステ ップと、
検証結果を前記第 1及び第 2の利用者装置、或いは前記第 1又は第 2の利用者装 置に送信する検証結果送信ステップと、
を前記コンピュータに実行させることを特徴とするイベント順序証明検証プログラム 各利用者装置は、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは 前記順次集約木のルート値を計算するのに必要なデータを消失したとき、イベント順 序証明装置の運用中断あるいはデータ消失の時点までに受信し記憶した証明書か ら、計算可能な割当値を持つ順次集約木のノードのうちで、その親のノードの割当値 が計算できないような 1つあるいは複数のノードの位置情報と割当値を、電子的に公 表する利用者サイド電子的情報公表手段、
を有し、
前記一定時間間隔終了前に、前記イベント順序証明装置が運用を中断、あるいは 前記順次集約木のルート値を計算するのに必要なデータを消失したとき、前記利用 者装置により前記利用者サイド電子的情報公表手段で公表されたノードの割当値と 、前記証明書受信ステップで受信したデータと前記遅延補完情報受信ステップで受 信したデータ力 該ノード割当値が計算できるときには計算されたノードの割当値が 一致する力否かにより、前記証明書受信ステップで受信したデータと前記遅延補完 情報受信ステップで受信したデータが改ざんされて 、な 、ことの検証を行う利用者サ イド公表値による検証ステップ
を前記コンピュータに実行させることを特徴とする請求項 56記載のイベント順序証 明検証プログラム。
前記利用者装置力 複数の証明要求が為されたときに、
前記順序証明要求集約手段で生成される前記順次集約木に関する情報を記憶す る順次集約木記憶手段と、
前記順次集約木において、リーフ alより右に位置するリーフ a2の割当処理が終了し た時点で定まる前記リーフ alの遅延補完情報を、前記リーフ alの前記リーフ a2におけ る遅延補完情報といい、さらに、最新の証明要求力 作成された順次割当データが 割り当てられた前記順次集約木のリーフを新登録点とすると、
前記直前の登録点に関する情報を記憶する登録点記憶手段と、
各記憶手段によって記憶された情報から、該新登録点の順次割当データと、該順 次割当データが割り当てられた前記順次集約木及び該順次集約木のリーフを特定 する順次集約木特定情報と、前記新登録点の即時補完情報を備える前記証明書と 、前記利用者装置の前記直前の登録点の前記新登録点における遅延補完情報と、 を併せることによって前記新登録点に対する証明書を作成する前記証明書作成手 段と、
前記作成された複数の証明書を前記利用者装置に送信する証明書送信手段と、 を有し、 前記利用者装置の各登録点のうち、前記順次集約木の最も右に割り付けられた登 録点を暫定終端点と定義し、該暫定終端点の割付処理が終了した時点において、 所定の登録点の取得可能な補完情報すベてを計算することを、前記所定の登録点 の証明書に対するインクリメンタル完全化と定義すると、
前記複数の証明要求を前記証明装置に送信する要求送信ステップと、 前記証明装置から前記複数の証明要求に対する前記複数の証明書を受信する証 明書受信ステップと、
前記受信した複数の証明書を記憶する証明書記憶ステップと、
前記受信し記憶した複数の証明書のうち、検証対象の証明書に対して前記インクリ メンタル完全ィ匕の処理を行うインクリメンタル完全化ステップと、
を前記利用者装置に実行させることを特徴とする請求項 47に記載のイベント順序証 明検証プログラム。
[59] 前記インクリメタル完全化は、前記利用者装置が前記証明装置から受信し記憶した 前記複数の証明書を用いて、木構造を構成することなく実行されることを特徴とする 請求項 56乃至 58のいずれか 1項に記載のイベント順序証明検証プログラム。
[60] 前記インクリメタル完全化は、所定の登録点の、前記暫定終端点の割付処理が終 了した時点において取得可能な補完情報の各要素に対して、前記利用者装置が前 記証明装置力 受信し記憶した 1つあるいは複数の証明書の中から該要素を直接含 む力あるいは該要素を計算するために十分な情報含むような 1つの証明書を選出し 、該証明書力 該要素を計算することにより実行されることを特徴とする請求項 59に 記載のイベント順序証明検証プログラム。
[61] 前記インクリメンタル完全化は、前記利用者装置の前記暫定終端点より左に位置す るすべての登録点に対して行うことを特徴とする請求項 59記載のイベント順序証明 検証プログラム。
[62] 前記暫定終端点の、左に位置する前記利用者装置の登録点 alとその左に位置し 前記登録点 alに最も近!、該利用者装置のもう一つの登録点 a2につ 、て、
前記登録点 alの該暫定終端点の割付処理が終了した時点において取得可能な補 完情報の全てと、前記登録点 a2及び alにおける受理証明書から、前記登録点 の 該暫定終端点の割付処理が終了した時点において取得可能な補完情報の全てを 計算することを完全化波及処理と定義すると、
前記インクリメタル完全ィ匕は、
前記暫定終端点の、左に位置し、該暫定終端点に最も近い、前記利用者装置の登 録点 aに対して該暫定終端点の割付処理が終了した時点において取得可能な補完 情報すベてを前記利用者装置が受信し記憶した証明書から取得あるいは計算する ことから始まり、暫定終端点の左に位置する各登録点の該暫定終端点の割付処理が 終了した時点において取得可能な補完情報すベてを計算する処理を、このような登 録点のうち一番右に位置する前記登録点 aからはじめ、前記完全ィヒ波及処理を用い て、順次その左に位置する登録点に対して実行することにより木構造を構成すること なく実行されることを特徴とする請求項 61に記載のイベント順序証明検証プログラム
[63] 前記インクリメタル完全化は、前記暫定終端点までの各登録点を適宜抽出し、この 抽出された登録点間の局所領域に分割し、分割された各局所領域にお!ヽて最も右 に割り付けられた登録点を暫定終端点と仮定して、インクリメタル完全ィ匕を行うととも に、抽出された各登録点の取得可能な補完情報すベてを計算する方法により行わ れることを特徴とする請求項 56乃至 62のいずれか 1項に記載のイベント順序証明検 証プログラム。
[64] 前記証明装置は、
前記一定時間間隔終了後に前記順次集約木の前記ルート値を電子的に公表する 電子的情報公表手段を有し、
前記一定時間間隔終了後に、前記所定の登録点に関する情報と前記インクリメン タル完全化ステップで計算された補完情報から、前記順次集約木のルート値を計算 するルート値計算ステップと、
電子的に公表された前記順次集約木の前記ルート値と前記計算されたルート値が 一致するか否かの検証を行うルート値検証ステップと、
を前記利用者装置に実行させることを特徴とする請求項 56乃至 63のいずれか 1項 に記載のイベント順序証明検証プログラム。 請求項 48又は 52記載のイベント順序証明検証プログラムを実行する利用者装置 が前記要求に付した時刻を検証するコンピュータが読み取り可能なイベント時刻検 証プログラムであって、
前記監査結果を取得する監査結果取得ステップと、
前記監査結果に対応する前記要求を取得する順序証明要求取得ステップと、 前記第 3の時刻と、前記第 1又は第 2の時刻のうち少なくとも 1以上との時間差に基 づ 、て、前記第 3の時刻の正当性を判定する時刻検証ステップと、
前記判定結果を出力するステップと、
を前記コンピュータに実行させることを特徴とするイベント時刻検証プログラム。
PCT/JP2005/015085 2004-08-19 2005-08-18 イベント順序証明方法 WO2006019143A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200580002822.2A CN1910850B (zh) 2004-08-19 2005-08-18 事件顺序证明方法
US10/587,132 US7634653B2 (en) 2004-08-19 2005-08-18 Event-ordering certification method
JP2006525004A JP4390805B2 (ja) 2004-08-19 2005-08-18 イベント順序証明方法
EP05772742.2A EP1699163A4 (en) 2004-08-19 2005-08-18 METHOD FOR CERTIFYING THE EVENT ORDER

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004239465 2004-08-19
JP2004-239465 2004-08-19
JP2004244178 2004-08-24
JP2004-244178 2004-08-24

Publications (1)

Publication Number Publication Date
WO2006019143A1 true WO2006019143A1 (ja) 2006-02-23

Family

ID=35907526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/015085 WO2006019143A1 (ja) 2004-08-19 2005-08-18 イベント順序証明方法

Country Status (5)

Country Link
US (1) US7634653B2 (ja)
EP (1) EP1699163A4 (ja)
JP (1) JP4390805B2 (ja)
CN (1) CN1910850B (ja)
WO (1) WO2006019143A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101212628B1 (ko) 2007-12-19 2012-12-14 지멘스 엔터프라이즈 커뮤니케이션즈 게엠베하 운트 코. 카게 패킷-지향 수신 톤 신호를 생성된 톤 신호와 동기화하기 위한 방법 및 수신 유니트
JP2018533320A (ja) * 2015-09-14 2018-11-08 ティー0.コム,インコーポレーテッド 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7725728B2 (en) * 2005-03-23 2010-05-25 Business Objects Data Integration, Inc. Apparatus and method for dynamically auditing data migration to produce metadata
US8122087B2 (en) * 2006-03-21 2012-02-21 Aol Inc. Matching engine for comparing data feeds with user profile criteria
IL178488A0 (en) * 2006-10-05 2008-01-20 Nds Ltd Improved key production system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US10554662B2 (en) * 2015-06-30 2020-02-04 Mcafee, Llc Security service for an unmanaged device
US11032756B2 (en) * 2017-03-24 2021-06-08 Qualcomm Incorporated Binary tree based PDCCH search space design
JP7379369B2 (ja) * 2018-04-13 2023-11-14 プレイド インク ユーザ口座集計データのセキュア分配を含むユーザ口座へのアクセスのセキュア許可

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005110225A (ja) * 2003-09-08 2005-04-21 Nippon Telegr & Teleph Corp <Ntt> 時刻証明方法、時刻証明監査方法、時刻証明装置、監査装置、時刻証明プログラム、時刻証明監査プログラム、時刻証明検証プログラム、およびプログラム記録媒体
JP2005130488A (ja) * 2003-10-03 2005-05-19 Nippon Telegr & Teleph Corp <Ntt> 時刻証明装置、時刻証明要求受付装置、時刻証明方法、時刻証明要求受付方法、時刻証明プログラム、時刻証明要求受付プログラム、時刻証明検証プログラム、およびプログラム記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
US7069443B2 (en) * 2000-06-06 2006-06-27 Ingeo Systems, Inc. Creating and verifying electronic documents
JP2003244139A (ja) * 2002-02-20 2003-08-29 Amano Corp 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体
US7694330B2 (en) * 2003-05-23 2010-04-06 Industrial Technology Research Institute Personal authentication device and system and method thereof
US7418597B2 (en) * 2003-08-15 2008-08-26 Venati, Inc. Apparatus for accepting certificate requests and submission to multiple certificate authorities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005110225A (ja) * 2003-09-08 2005-04-21 Nippon Telegr & Teleph Corp <Ntt> 時刻証明方法、時刻証明監査方法、時刻証明装置、監査装置、時刻証明プログラム、時刻証明監査プログラム、時刻証明検証プログラム、およびプログラム記録媒体
JP2005130488A (ja) * 2003-10-03 2005-05-19 Nippon Telegr & Teleph Corp <Ntt> 時刻証明装置、時刻証明要求受付装置、時刻証明方法、時刻証明要求受付方法、時刻証明プログラム、時刻証明要求受付プログラム、時刻証明検証プログラム、およびプログラム記録媒体

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HOTTA E. ET AL: "Scalable de Tan'itsu Kogekiten no Nai Ivent Junjo Shomei System Jitsugen Kiko. (Implementation Mechanisms of Scalable Event-Ordering System without Single Point of Attack)", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS GIJUTSU KENKYU HOKOKU ISEC 2004-85-97., vol. 104, no. 422, 2 November 2004 (2004-11-02), pages 1 - 8, XP002996853 *
ORIHARA S. ET AL: "Ivent Junjo Shomei System no Kyoi Binseki. (Threat analysis of Event-Ordering Systems)", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS GIJUTSU K NKYU HOKOKU ISEC 2004-98-105., vol. 104, no. 527, 10 December 2004 (2004-12-10), pages 39 - 45, XP002996854 *
See also references of EP1699163A4 *
UNE M. ET AL: "Digital Timestamp Gijutsu no Gengyo to Kadai.", IMES DISCUSSION PAPER SERIES 99-J-36, October 1999 (1999-10-01), INSTITUTE OF MONETARY AND ECONOMIC STUDIES BANK OF JAPAN, pages 7-20, 26-28, 40-42, XP002996852, Retrieved from the Internet <URL:http://www.imes.boj.org.jp/jdps99/99-J-36.pdf> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101212628B1 (ko) 2007-12-19 2012-12-14 지멘스 엔터프라이즈 커뮤니케이션즈 게엠베하 운트 코. 카게 패킷-지향 수신 톤 신호를 생성된 톤 신호와 동기화하기 위한 방법 및 수신 유니트
JP2018533320A (ja) * 2015-09-14 2018-11-08 ティー0.コム,インコーポレーテッド 時間を中心としたマークルハッシュ木などのハッシュ木を使用するデータ検証方法およびシステム

Also Published As

Publication number Publication date
CN1910850B (zh) 2010-05-12
JPWO2006019143A1 (ja) 2008-05-08
JP4390805B2 (ja) 2009-12-24
EP1699163A1 (en) 2006-09-06
EP1699163A4 (en) 2014-03-26
CN1910850A (zh) 2007-02-07
US7634653B2 (en) 2009-12-15
US20080307221A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
WO2006019143A1 (ja) イベント順序証明方法
CN109936457B (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
JP4816458B2 (ja) グループ署名システム、メンバ状態判定装置、グループ署名方法及びメンバ状態判定プログラム
US8661240B2 (en) Joint encryption of data
CN112069550B (zh) 一种基于智能合约方式的电子合同存证系统
US8015398B2 (en) Set membership proofs in data processing systems
Wang An abuse-free fair contract-signing protocol based on the RSA signature
García et al. Beating the birthday paradox in dining cryptographer networks
Susilo et al. A new and efficient fail-stop signature scheme
CN115516817A (zh) 具有秘密共享的(ec)dsa阈值签名
JP4602729B2 (ja) 時刻証明装置、時刻証明要求受付装置、時刻証明方法、時刻証明要求受付方法、時刻証明プログラム、時刻証明要求受付プログラム、時刻証明検証プログラム、およびプログラム記録媒体
KR100642979B1 (ko) 서명속성을 이용한 전자서명 및 그 검증방법과 이를실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체
Wang On the security of a group signature scheme with forward security
Seo et al. Accumulable optimistic fair exchange from verifiably encrypted homomorphic signatures
Le et al. Flexible signatures: Making authentication suitable for real-time environments
US10637663B2 (en) Signature verification system, signature-device, verification device, and signature verification method
CN112184440A (zh) 数据处理方法、装置、节点设备及存储介质
Schuldt et al. On-line non-transferable signatures revisited
JP5457991B2 (ja) ディジタル署名・検証システム、ディジタル署名・検証方法、署名装置、検証装置、及びそれらのプログラム
Le et al. Signtiming scheme based on aggregate signature
Saxena et al. A digital cash protocol based on additive zero knowledge
Susilo et al. Provably secure fail-stop signature schemes based on RSA
Safavi-Naini et al. Threshold fail-stop signature schemes based on discrete logarithm and factorization
CN114499872A (zh) 一种基于工业互联网的星火链跨链方法及设备
Chu et al. Distributed key generation as a component of an integrated protocol

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2006525004

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2005772742

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005772742

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580002822.2

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005772742

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 10587132

Country of ref document: US