System and method for generating a digital certificate
Abstract
Method of generating a digital certificate in a system consisting of a first computer of a service provider that incorporates a deposit and a second computer of a customer (401-404, 501-506), comprising the following steps: - reception on the service provider's computer a new digital file sent from the second computer; - assignment of a sequence value (202) to the new digital file on the service provider's computer and data storage including digital files and summary values (hash) of the repository (215); - generation of a first composite digital value by applying a first function (204) to a first plurality of the data stored in the repository, in which the first function computes a set of root values for an unconnected abstract binary forest (801) ; - generation of a first digital certificate in which the first digital certificate comprises at least the sequence value and the first composite digital value; - aggregation to the deposit of the new digital file; - generation of a sequence of summary values and storage of the sequence of summary values in the store (215), applying a second function (216) to a second plurality of data stored in the store, in which the second plurality of data includes the new digital file and in which the second function computes the binary forest of abstracts not connected (801); - generation of a composite sequence value (217); - generation of a second composite digital value (212) by applying a third function to a third plurality of the data stored in the warehouse; - generation of a digital interval value (214) by applying a fourth function to a fourth plurality of the data stored in the store, in which the digital interval value is based on the sequence value and the composite sequence value; and - generation of a second digital certificate, in which the second digital certificate consists of at least the sequence value and the digital interval value.

Term
Term ended
Projected expiry passed 22 December 2024, 1.8 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
19 claims: 2 independent, 17 dependent
- 1ES 2 293 377 T3 REIVINDICACIONES 1. Método de generación de un certificado digital en un sistema que consta de un primer ordenador de un proveedor de servicios que incorpora un depósito y un segundo ordenador de un cliente (401-404, 501-506), que comprende los siguientes pasos:- recepción en el ordenador del proveedor del servicio de un nuevo archivo digital enviado desde el segundo ordenador;- asignación de un valor de secuencia (202) al nuevo archivo digital en el ordenador del proveedor del servicio y el almacenamiento de datos incluyendo los archivos digitales y los valores resumen (hash) del depósito (215);- generación de un primer valor digital compuesto aplicando una primera función (204) a una primera pluralidad de los datos almacenados en el depósito, en el que la primera función computa un conjunto de valores raíz para un bosque binario de resúmenes no conectado (801);- generación de un primer certificado digital en el que el primer certificado digital comprende al menos el valor de secuencia y del primer valor digital compuesto;- agregación al depósito del nuevo archivo digital;- generación de una secuencia de valores resumen y almacenamiento de la secuencia de valores resumen en el depósito (215), aplicando una segunda función (216) a una segunda pluralidad de datos almacenados en el depósito, en el que la segunda pluralidad de datos incluye el nuevo archivo digital y en el que la segunda función computa el bosque binario de resúmenes no conectado (801);- generación de un valor de secuencia compuesto (217);- generación de un segundo valor digital compuesto (212) aplicando una tercera función a una tercera pluralidad de los datos almacenados en el depósito;- generación de un valor digital intervalo (214) aplicando una cuarta función a una cuarta pluralidad de los datos almacenados en el depósito, en el que el valor digital intervalo se basa en el valor de secuencia y el valor compuesto de secuencia;y - generación de un segundo certificado digital, en el que el segundo certificado digital consta de al menos el valor de secuencia y el valor digital intervalo.
- 2Método de acuerdo con la Reivindicación 1, en el que el valor de secuencia es representativo del orden en que se recibió el nuevo archivo digital.
- 3Método de acuerdo con la Reivindicación 1, que consta además del paso de aplicar al primera certificado digital una firma digital.
- 4Método de acuerdo con la Reivindicación 3, en el que el primer certificado digital se genera utilizando un algoritmo criptográfico asimétrico.
- 5Método de acuerdo con la Reivindicación 1, en el que el paso de generar el primer valor digital compuesto se realiza aplicando la primera función a todos los archivos digitales almacenados en el depósito.
- 6Método de acuerdo con la Reivindicación 1, en el que la primera y la tercera función no son la misma función.
- 7Método de acuerdo con la Reivindicación 1, en el que la primera y la tercera función son la misma función.
- 8Método de acuerdo con la Reivindicación 1, en el que el paso de la generación del segundo valor digital compuesto se realiza aplicando la tercera función a todos los archivos digitales almacenados en el depósito.
- 9Método de acuerdo con la Reivindicación 1, en el que el primer certificado digital consta además del nuevo archivo digital.
- 10Método de acuerdo con la Reivindicación 1, en el que el segundo certificado digital incorpora además al menos uno de los siguientes elementos:el nuevo archivo digital y el valor de secuencia compuesto.
- 11Método de acuerdo con la Reivindicación 1, en el que el depósito informático de los archivos digitales consta de una estructura de datos de un bosque binario de resúmenes no conectado. ES 2 293 377 T3
- 12Método de acuerdo con la Reivindicación 1, que consta además del paso de transmitir el segundo valor digital compuesto a un ordenador de un foro público.
- 13Método de acuerdo con la Reivindicación 1, que consta además del paso de transmitir el valor de secuencia compuesto a un ordenador de un foro público.
- 14Método de acuerdo con la Reivindicación 1, en el que el paso de la generación del primer valor digital compuesto se realiza antes del paso de generar el segundo valor digital compuesto.
- 15Método de evaluación de un certificado digital tal y como se genera de acuerdo con el método de cualesquiera de las reivindicaciones 1 a 14 que consta al menos de un valor de secuencia, un primer valor digital compuesto y un valor digital intervalo, en el que se genera el valor digital compuesto aplicando una primera función a una primera pluralidad de datos almacenados en un depósito de un proveedor de servicios, en el que la primera función computa un conjunto de valores raíz para un bosque binario de resúmenes no conectado y en el que el segundo valor digital se genera aplicando una segunda función a una segunda pluralidad de datos almacenados en un depósito del proveedor de servicios, en que dicho método comprende los siguientes pasos:generación de un segundo valor digital compuesto aplicando una tercera función al primer valor digital compuesto y el valor digital intervalo, y determinación de si o no el segundo valor digital compuesto refleja exactamente una tercera pluralidad de los datos almacenados en un ordenador de un foro público.
- 16Método de acuerdo con la Reivindicación 15, en el que el valor de secuencia es representativo del orden en que se ha recibido un archivo digital.
- 17Método de acuerdo con la Reivindicación 15, en el que el certificado digital consta además de un archivo digital.
- 18Método de acuerdo con la Reivindicación 15, en que el certificado digital consta además de un sello de tiempo digital.
- 19Método de acuerdo con la Reivindicación 1, adaptado para generar una pluralidad de certificados digitales en el que:el valor de secuencia aplicado al nuevo archivo digital en el ordenador del proveedor de servicios representa el orden en que se recibió el nuevo archivo digital;el paso de la generación del nuevo certificado digital es realizada aplicando la primera función a todos los archivos digitales almacenados en el depósito y en que la primera función consta de una primera función determinística con un componente de función resumen, y el nuevo archivo digital no se almacena en el depósito del ordenador del proveedor del servicio cuando se aplica la primera función determinística y en que la primera función determinística computa al menos un valor resumen raíz para un bosque binario de resúmenes no conectado;el nuevo certificado digital consta además del nuevo archivo digital;el método consta además del paso de aplicar una firma digital al primer certificado digital, en que la firma digital se aplica utilizando un algoritmo criptográfico asimétrico;tras la adición de un nuevo valor digital al depósito, el paso de la generación de una secuencia de valores resumen se realiza aplicando la segunda función a todos los archivos digitales almacenados en el depósito y en que la segunda función consta de una segunda función determinística con un componente de función resumen a todos los archivos digitales almacenados en el depósito;el paso de generación del segundo valor digital compuesto se realiza aplicando una tercera función a todos los archivos digitales almacenados en el depósito en el que la tercera función consta de una tercera función determinística con un componente de función resumen;el valor de secuencia compuesto es igual al número de archivos digitales almacenados en el depósito del ordenador del proveedor de servicios cuando se genera el segundo valor digital compuesto;el paso de la generación del valor digital intervalo se realiza por la aplicación de la cuarta función a una pluralidad de datos almacenados en el depósito, en que la cuarta función consta de una cuarta función determinística con un componente de función resumen;y el segundo certificado digital comprende adicionalmente al menos uno de los siguientes elementos: el nuevo archivo digital y el valor de secuencia compuesta.
Independent claims19
90 paragraphs in 5 sections, as filed
ES 2 293 377 T3
DESCRIPTION
System and method for generating digital certificates.
Cross reference to related requests
The present application claims the priority of US Provisional Application No. 60 / 531,865 filed on December 22, 2003.
Technical sector
The present invention relates to the creation and renewal of digital certificates. More specifically, the present invention deals with a secure system and a method for generating a digital certificate.
Background of the invention
Digital electronic documents are increasingly used for fact-finding. Stamps, signatures, special types of paper, and other tools were previously used to prove the authenticity of documents and other files. Apart from proving the authenticity of documents and files, these tools and others have been used to demonstrate that a document has been received or issued in a certain order. These ways of demonstrating authenticity and order are useful in various sectors, including banking, business, legal proceedings, and public administration. Today, such services are often offered by notaries, auditors, and the like.
Similar authentication and order verification services are required in the digitized electronic content market. In different sectors of this market, electronic service providers receive digital documents or files. For example, an electronic banking system receives a digital receipt for a purchase from a consumer. These service providers record the sequence of reception of the files and assign each file a "sequence value". After the service provider has received and registered the file, a digital certification is usually issued to the party providing the file. Later, the service provider or other party may need to verify the order in which specific files have been registered. To meet this need for verification, sequence values can be associated with digital files so that it can later be demonstrated that the sequence values accurately and authentically reflect the order of registration.
Such association of sequence numbers to digital files is typically done by asymmetric cryptography or, as an alternative method, by publication. A verifiable association is called a certificate of order. Without the corresponding verifiable associations, service providers could deny the validity of anything presented as a certificate.
When asymmetric cryptography is used to make the association verifiable, the service provider usually signs a digital file (containing a corresponding sequence value) with a digital signature or encryption system such as RSA. Public key cryptography is fast enough to allow almost instant generation of certificates. However, there is an inherent weakness in using asymmetric cryptography to create digital signatures: cryptographic signature keys can be compromised. After a key is compromised, certificates created with that key are no longer verifiable. Since the probability of a key being compromised increases over time, certificates created by key cryptography are only useful for a short time.
When publishing is used to make the association verifiable, the service provider usually publishes a digital file together with a sequential value in a widely verifiable way, for example, in a newspaper. If the service provider agrees to abide by certain rules in relation to posting , the content posted as certified by the service provider can be relied upon. Since cryptographic keys are not used in the publishing method, the key compromise problem does not exist. However, the publishing method is so slow that it is ineffective. Daily or weekly publication is realistic, but instant certificate creation is impossible, even though the modern e-market demands it.
To verify the authenticity of the certificate in the long term, and to do so efficiently, a combination of the associations based on publication and / or multiple key signatures can be used. However, since this combined approach implies the disadvantages of both systems, the certificates must be updated frequently, which implies an additional expense to maintain the validity of the associations.
There is another fundamental problem concerning the properties of the same sequence values, typically represented as integers. To some extent, the verifiable associations between digital files and integers can be viewed by the verifying parties to show that the files were actually assigned those sequence values.
However, the sequence numbers assigned to digital files often do not accurately reflect the actual temporal order in which the files were received. A malicious service provider can assign sequence numbers to files in any order they want. For this reason, the need has arisen to detect the behavior
ES 2 293 377 T3 erroneous from a service provider. The concept of listing files can be too abstract to reflect the registration process. For example, the statement that three files were checked in before a particular file does not provide any information on how the files were checked in. One way to overcome this problem is to define the sequence value for a particular file as the set of all files that precede a particular file in the repository. These "sequence values" represent the order of registration, but since they also record the history of the deposit, they cannot be denied by the service provider. However, if each of the sequence values reflects the complete history of the deposit, the values can become so large that their calculation and transmission are not feasible.
One way to confirm the history of a service provider is to include in the digital certificate issued to the party providing the files a cryptographic digest of all previously registered files. For example, a linear string hash can be created by applying a cryptographic hash function to a concatenation of a file just received and the file that was received immediately before. Such a method is disclosed in US Pat. n ° 5,136,646 in favor of Haber et al .. Cryptographic digests included in order certificates create one-way causal relationships between confirmations and thus can be used to verify your order without the risk of misconduct by the service provider, as any erroneous confirmation is detectable by a verifier examining the one-way causal summary string. The sequence values created by these processes are shorter due to the use of the cryptographic digest functions. However, the verification of these values still requires the calculation of all the files in the repository and therefore can consume significant processing resources. This process has the additional disadvantage that it cannot be done without an interaction with the service provider.
"Improving the availability of timestamping services" Ame Ansper, Ahto Buldas, Mart Saarepera, Jan Willemson, ACISP 2002, [Online] July 11, 2001, pages 1-16, Sydney, Australia, describes a method of digital time stamping used to preserve the evidentiary value of electronic documents, time stamping protocols and summary signal time stamping. This document describes a link-based approach, specifically linear assignment systems and threaded tree links to provide digital time stamping services.
It is now possible to create efficient verifiable associations with asymmetric cryptography. However, in a number of applications there is a need for longer term verifiable associations that are preferably verifiable without using cryptographic keys. Consequently, a need has arisen for a digital electronic file registration system with procedures that allow clients to substitute short-term digitally signed certificates (by asymmetric cryptography methods) with long-term certified evidence based on cryptographic compendia and publishing methods.
The present invention manages to overcome these problems, among others.
Summary of the invention
A system and method of generating a digital certificate is disclosed in which clients submit digital files to a registry service provider. The files are checked in and clients receive a digitally signed certificate that verifies the record (and record number) of the file. These digitally signed certificates can then be replaced by certified proof that is generated by applying a cryptographic summary function to the repository of all records.
In one embodiment of the present invention, a digital certificate generation system and method is disclosed in which a customer submits a digital file to a registration service provider. A composite digital value is generated representing at least a subset of the complete history of previously received records, wherein the composite digital value is generated by applying a deterministic algorithm to items stored in a repository. A confirmation certificate is then generated and transmitted to the client, wherein said certificate consists of at least the digital file, a sequence number assigned to the record, and the composite digital value. The certificate is digitally signed using an asymmetric cryptographic system. Subsequently, the digital file or a representation of it is added to the repository.
In another embodiment of the present invention, a system and method for publishing a cryptographic digest of a repository of digital files is disclosed. A composite digital value is generated that represents at least a subset of the complete history of the received records. Said composite digital value is generated by applying a deterministic algorithm to the items stored in the warehouse. In addition, a composite sequence number is generated that is set equal to the current sequence number of the repository. Said composite digital value, and the composite sequence number of the repository are then disclosed to the public.
In another embodiment of the present invention, a certifiable proof creation system and method for a digital file is disclosed in which an interval digital value is generated for the file relative to a published composite digital value. A certified proof is then generated, which includes at least the interval digital value and the sequence number of the record and which may further include a subset of the digital file itself, the composite digital value, and the composite sequence number.
ES 2 293 377 T3
The following specification, in conjunction with the following figures, will show other aspects and advantages of the invention.
Brief description of the figures
In order to understand the present invention, it will be described below as an example, in relation to the accompanying figures, in which:
Figure 1 is the general flowchart of the system and method of generating a digital certificate, which illustrates in a general way the steps necessary to register a digital file in a deposit, publish in cryptographic form a compendium of the deposit and generate a certified proof of the file. digital.
Figure 2 is a flow chart of a part of the system and method for generating a digital certificate, which illustrates in detail the procedure for registering a digital file in a deposit and generates a digital certificate that certifies the registration of the file.
Figure 3 is a flow chart of a part of the system and method for generating a digital certificate for a digital file.
Figure 4 is a flowchart of an application of the system and method of generating a digital certificate, illustrating the procedure for using a certified test to verify the sequence number and receipt of a digital file.
Figure 5 is a flow chart of an application of the system and method of generating a digital certificate, illustrating the procedure for using certified proofs to verify the sequence and reception numbers of more than one digital file.
Figure 6 is a state transition diagram of a part of the digital certificate generation system and method, illustrating the states and intermediate transitions of the generation of a first digital certificate.
Figure 7 is a state transition diagram of a part of the system and method of generating a digital certificate, illustrating the states and intermediate transitions of generating a second digital certificate.
Figure 8 is an illustration of the data structure used in the system and method of generating a digital certificate, illustrating a forest of summary binary trees.
Figure 9 is an illustration of the data structure used in the system and method of generating a digital certificate, illustrating a forest of summary binary trees represented as an indexed matrix.
Figure 10 is an illustration of the data structure used in the digital certificate generation system and method, illustrating a forest of summary binary trees arranged in a layered data structure.
Figure 11 is an illustration of a table used with the digital certificate generation system and method, illustrating the workflow of a digital file registration algorithm.
Figure 12 is an illustration of a table used with the digital certificate generation system and method, illustrating the workflow of an interval digital value generation algorithm.
Figure 13 is an illustration of a table used with the digital certificate generation system and method, further illustrating the workflow of an interval digital value generation algorithm.
Detailed description
Although the present invention can be embodied in many different ways, the figures show preferred embodiments that are described in detail in the present specification, it being understood that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit to the illustrated embodiments the broader aspect of the invention.
Referring in detail to the figures and initially to Figure 1, a system and method for generating a digital certificate is provided. In summary, the system and method consists of three main functionalities. The first main functionality is the registration of a new digital file. In step 101, the new file is created or received. A digital file is a representation of data, and the data can represent any type of digital information. For example, the data can be an electronic document, order information, identification information or any other type of information represented digitally. As a representation of the data, the digital file can include the entire data, it can consist of a part of the data or it can be any other representation of the data. In a preferred embodiment, the new digital file is received at step 101. In another preferred embodiment, the new digital file is created in step 101 based on received data, and is then stored in a digital file repository.
ES 2 293 377 T3
In step 102, a new deterministic function is applied to at least a subset of the digital files stored in the repository, thereby generating a first composite digital value. In a preferred embodiment, the first deterministic function is applied to all digital files stored in the warehouse, thus ensuring that the first composite digital value is a representation of the complete history of the warehouse and therefore reducing the possibility that the owner can later manipulate the contents of the tank.
Also, in step 102, a sequence number is assigned to the new digital file. In a preferred embodiment, the sequence number represents the order in which the new digital file is received. For example, if there are ten digital files stored in the repository when the new digital file is received, sequence number 11 will be assigned to the new digital file. However, the sequence number can be any representation of the time or order in which the new digital file is received.
In step 103, a first certificate is generated, so that the certificate verifies the receipt of the new digital file. The first certificate consists of at least the sequence number assigned to the new digital file and the composite digital value. In a preferred embodiment, since the sequence number indicates the time, or order in which the new digital file is received, and the first composite digital value represents the history of the deposit upon receipt of the new digital file, the first certificate can be use, therefore, to verify the sequence number.
In step 104, additional information can optionally be added to the first certificate. For example, in a preferred embodiment, the first certificate additionally consists of the new digital file or a part of it. Said inclusion is useful to verify that the content of the digital file has been correctly received by the repository. In another preferred embodiment, the additional information may be a timestamp indicating the exact moment the new digital file is received.
In step 105, a digital signature is applied to the first certificate. The digital signature can be any type of signature that allows the identity of the owner of the deposit to be authenticated. For example, the digital signature can be done on the basis of a private / public key encryption system, such as RSA. In a preferred embodiment, the first certificate is digitally signed using a private key of the owner of the repository. Preferably, the first certificate is transmitted to the creator or provider of the digital file.
In step 106, the new digital file or a representation thereof is added to the repository. Step 106, in which the new digital file is added to the repository, can be performed before or after the generation of the first composite digital value in step 102. In a preferred embodiment, the new digital file is added to the repository after the generation of the first digital certificate in step 103, so as to reduce the waiting time required for the provider of the new digital file to receive the first digital certificate. After adding the new digital file to the repository in step 106, it is possible to create or receive additional digital files, or, in other words, the system can return to step 101. The second main functionality of the system and method of generating a digital certificate is the publication of information corresponding to the deposit. In step 107, a second composite digital value is generated by applying a second deterministic function to at least a subset of the digital files stored in the repository. Like the first composite digital value, the second composite digital value represents the history of the warehouse at a point in time. In a particular embodiment, the first and second deterministic functions are not the same functions. Preferably, the second deterministic function applies to all digital files stored in the repository and thus the second composite digital value represents the entire history of the repository, thereby reducing the risk of the repository owner tampering with the repository.
In step 108, a composite sequence number is generated, in which the sequence number corresponds to the order in which the second composite digital value is generated. The sequence number thus composed is an indication of the temporal quality of the second composite digital value. In step 108, the second composite digital value and the composite sequence number are published, that is, they are broadcast to a public forum. The public forum can be any source of information available to the general public. For example, the public forum can be a newspaper, magazine, Internet website, or email.
The third main functionality of the system and method of generating a digital certificate is the creation of a second certificate that guarantees the authenticity of the sequence number of the new digital certificate. In step 109, an interval digital value is generated that is based on the first and second composite digital values. In a preferred embodiment, the interval digital value is the result of the application of a third deterministic function applied to the digital files stored in the repository upon receipt of the new digital file and the generation of the second composite digital value. Therefore, the interval digital value can reflect the history of the deposit between the receipt of the new digital file and the publication of the second composite digital value. However, the digital interval value can also be the result of applying a deterministic function applied to all digital files stored in the repository and will therefore reflect the complete history of the repository.
In step 110, a second certificate is generated, which includes at least the interval digital value and the sequence number of the new digital file.
Since the interval digital value reflects the history of the repository from the time the new digital file was added to the repository, or earlier, the interval digital value can be used to verify accuracy.
ES 2 293 377 T3 of the sequence number. Also, the interval digital value can be used to renew, that is, extend, the authenticity of the new digital file. Since the generation of the digital interval value is not based on the use of the encryption keys, the security of the second digital certificate is not subject to the risk of compromise of the encryption key.
Figure 2 shows a detailed indication of the steps in the method of generating a digital certificate. In step 106, the new digital file 200 is added to repository 210. In step 205, a first deterministic function is applied to at least a subset of the digital files stored in the repository to produce a first composite digital value 204. The step of adding the new digital file 200 to repository 106 can be performed either before or after the step of applying the first deterministic function 205 to repository 210. A sequence number 202 is assigned to the new digital file 200, in which the sequence number represents the time value of the new digital file 200, that is, the order in which the new digital file 200 was received.
In step 103, the first certificate 201 is generated. The first certificate 201 includes at least the first composite digital value 204 and the sequence number 202 of the new digital certificate 200. In addition, the first certificate
201 it may include the new digital file 200 and other additional data 207. In step 208, the first certificate 201 is signed with a digital signature 209, preferably based on a public key encryption system.
In step 213, a second deterministic function is applied to the digital files stored in repository 210 to generate a second composite digital value 212. A composite sequence number 217 is generated, preferably identical to the next available sequence number at that time in tank 210. At step 109, an interval digital value 214 is generated, which reflects the time difference between the receipt of the new digital file 200 and the generation of the second composite digital value 212.
Finally, in step 110, a second certificate 215 is generated, consisting of at least the sequence number
202 of the new digital file 200 and the interval digital value 212. Additionally, as indicated in step 110, the second certificate 215 may consist of all or part of the first certificate 201, and the composite sequence number 217.
Figure 3 indicates in detail the verification steps of the second certificate 215. A client 301 receives from the server 302 a first certificate 201, which was preferably signed with a digital signature 209. Optionally, upon receiving the first certificate 201, a signature verification procedure 308 to initially verify the authenticity of the first certificate 201. Preferably, the signature verification procedure 308 consists of the use of a key-based encryption system.
The first certificate 201 is received by a second client 303 and a signature verification procedure 308 is performed to verify the authenticity of the first certificate 201. In a preferred embodiment, if it is determined in step 308 that the digital signature 209 of the first certificate 201 is invalid, the second client 303 will not be able to confirm or validate the first certificate 201. If it is detected that the digital signature 209 of the first certificate 201 is valid, the first certificate 201 is transmitted to a second server 304 where it is renewed, extended and the first certificate is validated by applying the method described in this report to generate the second certificate 215. The second certificate 215 is then transmitted to the second server 304. The second composite digital value 212 and the published composite sequence number 217 are publicly available to the second client 303. Therefore, based on those values, the second certificate 215 and the first certificate 201, the second client 303 can verify the validity of the sequence number 202 using the verification process 307. By determining that the first certificate 201 and the second certificate 215 are consistent, the second client 303 can trust the authenticity of the sequence number 202 and the digital file 200 provided by the first client 301.
Referring to Figure 4, another embodiment of the digital file 200 verification system and method is illustrated in detail. A digital file 200 is transmitted from a client 402 to a verification server 401. The second certificate 215 is received from an extension server 403, where the second certificate generation process 215 has been carried out. The second composite digital value 212 and the composite sequence number 217, collectively referred to as the "public values" 212, are published to the public server 404 and arrive at the verification server 401. The second certificate 215, the digital file 200 and the values Public 212 are used in the verification process 405 now described. Consequently, the verification server 401 can trust the validity of the digital file 200 sent by the client 402.
Referring to Figure 5, an embodiment of the digital file recording system and method is illustrated in detail, in which a verification server 501 can verify the order of the sequence values 202 of "rival" digital files 200 provided. by the first and second clients 502 and 504 respectively. A first client 502 transmits to the verification server 501 a first digital file 503, accompanied by the second certificate 509 corresponding to the first digital file 503. A second client 504 transmits to the verification server 501 a second digital file 510, accompanied by the second certificate 511, which corresponds to the second digital file 510. Accordingly, the verification server 501 can use the system and method now described to determine which of the rival digital files 200 was registered first.
The public values 512, published on a public server 506, arrive at the verification server 501. Using the verification process 507 described, the verification server 501 can trust the digital files first.
ES 2 293 377 T3 and 200 seconds and the accompanying second certificates to determine which of the 200 digital files are authentic. Furthermore, since the sequence numbers 202 of the digital files 200 are reflected in the second certificates 215, the verification server 501 can also determine the authentic order in which the digital files 200 were received.
Referring to Figure 6, a state transition diagram is provided that further illustrates the states and the transitions between them for registering a new digital file and generating a first digital certificate. In step 603, the registration system is initialized. The sequence value is set to zero, the digital files in the repository are cleared, and the composite digital values are removed. At step 602, the system waits to receive a digital file. When a digital file is received, the first composite digital value is generated in step 604. In step 605, a sequence value is assigned to the new digital file, and a first digital certificate is generated in accordance with the procedures described in this report. The first digital certificate is digitally signed. Finally, the new digital file is added to the repository. Upon completion of registration at 605, the system returns to a waiting state 602 to receive another new digital file.
Referring to Figure 7, a state transition diagram is provided that further illustrates the states and transitions between them to extend the first digital certificate. The system begins at step 701 and at step 703 the system initializes. The second composite digital value is generated by applying the second deterministic function to the repository and the composite sequence value is generated. The system then proceeds to a state of waiting 702 for the receipt of a digital certificate. If no digital certificate is received, the system may intermittently return to step 703 to restart and regenerate the composite values. When a digital certificate is received, the interval digital value is generated in step 704, according to the process described in this report. After the interval digital value is generated, the system generates a second digital certificate in step 705. Finally, the system returns to a waiting state 702 to receive another digital certificate. In a preferred embodiment, since the generation of the second digital certificate is based on the content of the first digital certificate, the system can be used to renew or extend the authenticity of the first digital certificate. The system can also be used to verify the authenticity of the first digital certificate, and can also be used to verify the authenticity of the digital file corresponding to the first digital certificate.
Referring to Figure 8, a diagram is provided illustrating a data structure for use with the system and method of generating a digital certificate. In a preferred embodiment, the data structure is a forest of summary binary trees in which each parent vertex of a binary tree is a cryptographic summary of the child vertices. The construction of the binary summary tree is done on the spot based on the receipt of new digital files. The new digital files are represented by summary values of a predetermined size and stored as sheets 802 of the summary binary trees. Using a binary tree data structure means that you do not need to know the number of digital files stored in the repository and that you do not need to determine the topological parameters of the repository, eg height and width. Thus, Figure 8 represents the summary binary tree forest data structure of the repository after receiving six digital files.
The leaf vertices 802 of the forest are arranged naturally. The sequence number n of a leaf determines its position in the forest. If a new data file is received x<sub>n</sub>, it is first stored as a leaf with sequence value n and then the tree is updated. The upgrade process is organized so that only root vertices 801 in the forest participate in future generations of composite digital values. Thus the root vertex list serves as a status summary for use in generating composite digital values. During the process of generating a composite digital value, any vertex of the structure that can be computed is immediately computed and stored. All leaves 802 are stored in their computational order, preferably corresponding to the post-order traversal of the tree. Since the root vertices 801 already represent the summary values of the leaf vertices 802, the leaf vertices 802 need not be taken into account in generating a composite digital value. In this way, the summary binary tree forest data structure facilitates very fast processing of composite digital values.
Referring to Figure 9, a diagram is provided illustrating a data structure for use with the system and method of generating a digital certificate, in which the summary binary tree data structure is further illustrated as an indexed set. The elements of a set that represent the forest are stored in their computational order. To put it another way, items computed earlier in time have lower indices than items computed later.
The process of building the data structure in the form of a forest preferably depends on the use of a stack containing the root summary values h, ... h<sub>s</sub>, with h<sub>s</sub> at the top of the stack. Yes (x<sub>0</sub>... x<sub>n-1</sub>) are the leaves of the forest, the number of elements in the stack is identical to the number of bits put in the binary representation of n. Each added sheet modifies some values at the top of the stack, and the number of values that are modified is equal to the number of right-most 1-bits in the binary representation of n. For example, if n = 23 the nth addition changes three elements of the stack because 23 = 10111<sub>2</sub>.
Figure 10 is a diagram illustrating a data structure for use with the digital certificate generation system and method, in which the data structure is further illustrated as a layered forest of summary binary trees. It is preferable to organize the binary tree into strata in order to efficiently calculate the digital interval value.
ES 2 293 377 T3
Stratum n-th1001 is defined as a minimum subset of vertices that satisfy two assumptions. First, the stratum fulfills the assumption that, for all n, the sheet x<sub>n</sub> belongs to the nth stratum. Second, the stratum satisfies the assumption that if one of the child vertices of a vertex v belongs to the n-th stratum and the other child belongs to the (nk) -th stratum (where k € {0 ... n} , then vertex v must also belong to the nth stratum Figure 10 shows an example of a summary binary tree of six nodes organized in strata.
Referring to Figure 11, a table is provided illustrating the workflow of an algorithm for use with the system and method of generating a digital certificate. In a preferred embodiment, the algorithm for registering a digital file is provided, where n represents the sequence number of the repository and x represents a new digital file, as follows:
Composite_value = 0, Repository = (] n: = 0 repeat
ReceiveJRecord (x)
Reply (n, Composite_value, x)
Append (Repository, x)
Update (Repository, Composite.value, n, x) n: = n + 1
Figure 11 shows a workflow illustrating the application of this algorithm with digital file inputs (x<sub>0</sub>, x<sub>1</sub>, x<sub>2</sub>, x<sub>3</sub>, x<sub>4</sub>). The Update (Bucket, composite_value, n, x) function can be further defined as:
a: = n while Odd (a) do xHash (Pop (Composite_value), λ)
Append (Repository, x) aa »1
Push (Composite_value, x)
Referring to Figure 12, a table is provided illustrating the workflow for use with the system and method of generating a digital certificate. In a preferred embodiment, the algorithm for generating an interval digital value, where n represents the sequence number of the deposit and N represents the composite sequence value, will be as follows:
head: = [], tai! : = Π. j: = Hli + 1, b: »1 while /: = [(η Θ b) or (b - 1)] <N do if b & n = b
Append (head, Repository [2 / - j + 2]) else
Append (tai !, Repository [2 / - j]) b: = b «1
Figure 12 shows a workflow that illustrates the application of this algorithm in which n = 4 and N = 7. Figure 13 shows a workflow that illustrates the application of this algorithm where n = 3 and N = 7.
It will be understood that the invention can be carried out in other specific ways without abandoning the spirit or main characteristics thereof. Therefore, the present embodiments are to be considered in all respects as illustrative and not limiting, and the invention is not to be limited to the details of the present disclosure.
Contents5
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
26 members in 11 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 20030531865P | United States of America | – | |
| 53186503 | United States of America | P | |
| 53186503 | United States of America | P | |
| 20040005838 | United States of America | – | |
| 583804 | United States of America | A | |
| 583804 | United States of America | A | |
| 531865P04806422 | – | – | – |
| 5838 | – | – | – |
| US20030531865P | – | – | – |
| US20040005838 | – | – | – |
Members26
| Document | Office | Kind | |
|---|---|---|---|
| US2005138361A1 | United States of America | A1 | |
| WO2005064846A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1698100A1 | European Patent Office (EPO) | A1 | |
| JP2007515890A | Japan | A | |
| EP1698100B1 | European Patent Office (EPO) | B1 | |
| DE602004010300D1 | Germany | D1 | |
| PT1698100E | Portugal | E | |
| ES2293377T3This record | Spain | T3 | |
| DK1698100T3 | Denmark | T3 | |
| SI1698100T1 | Slovenia | T1 | |
| PL1698100T3 | Poland | T3 | |
| DE602004010300T2 | Germany | T2 | |
| US7698557B2 | United States of America | B2 | |
| US2010199087A1 | United States of America | A1 | |
| US2010199342A1 | United States of America | A1 | |
| JP4742049B2 | Japan | B2 | |
| US8312528B2 | United States of America | B2 | |
| US8347372B2 | United States of America | B2 | |
| CY1107889T1 | Cyprus | T1 | |
| US2013276058A1 | United States of America | A1 | |
| US8719576B2 | United States of America | B2 | |
| US2014282863A1 | United States of America | A1 | |
| US9122846B2 | United States of America | B2 | |
| US2016028721A1 | United States of America | A1 | |
| US9876779B2 | United States of America | B2 | |
| US2018152442A1 | United States of America | A1 |
Numbers
- Publication
- 2293377
- Publication, DOCDB
- 2293377
- Publication, EPODOC
- ES2293377T
- Application
- 4806422
- Application, DOCDB
- 04806422
- Application, EPODOC
- ES20040806422T
Titles2
- Spanish
- SISTEMA Y METODO PARA LA GENERACION DE CERTIFICADOS DIGITALES.
- English
- SYSTEM AND METHOD FOR THE GENERATION OF DIGITAL CERTIFICATES.
Classification
- CPC, 1
- H04L9/3263
- IPC, 3
- H04L9 32
- G06F1 00
- G06F21 00