US20090238365A1 - Method and system to provide fine granular integrity to digital data - Google Patents

Method and system to provide fine granular integrity to digital data Download PDF

Info

Publication number
US20090238365A1
US20090238365A1 US12/052,032 US5203208A US2009238365A1 US 20090238365 A1 US20090238365 A1 US 20090238365A1 US 5203208 A US5203208 A US 5203208A US 2009238365 A1 US2009238365 A1 US 2009238365A1
Authority
US
United States
Prior art keywords
original data
integrity
digital
timestamp
chains
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/052,032
Inventor
Joan Miquel Bardera Bosch
Cevahir Demirkiran
Chirstophe Primault
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scytl Secure Electronic Voting SA
Original Assignee
Kinamik Data Integrity SL
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 Kinamik Data Integrity SL filed Critical Kinamik Data Integrity SL
Priority to US12/052,032 priority Critical patent/US20090238365A1/en
Assigned to KINAMIK DATA INTEGRITY, S.L. reassignment KINAMIK DATA INTEGRITY, S.L. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BARDERA BOSCH, JOAN MIQUEL, DEMIRKIRAN, CEVAHIR, PRIMAULT, CHRISTOPHE
Priority to EP09722288A priority patent/EP2272026A1/en
Priority to PCT/IB2009/000552 priority patent/WO2009115903A1/en
Publication of US20090238365A1 publication Critical patent/US20090238365A1/en
Priority to US12/885,726 priority patent/US8904182B2/en
Assigned to VENTURE LENDING & LEASING VI, INC. reassignment VENTURE LENDING & LEASING VI, INC. SECURITY AGREEMENT Assignors: KINAMIK DATA INTEGRITY, INC.
Assigned to VENTURE LENDING & LEASING VI, INC. reassignment VENTURE LENDING & LEASING VI, INC. TRANSFER STATEMENT Assignors: KINAMIK DATA INTEGRITY, INC.
Assigned to SCYTL SECURE ELECTRONIC VOTING S.A. reassignment SCYTL SECURE ELECTRONIC VOTING S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VENTURE LENDING & LEASING VI, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party

Definitions

  • the present invention relates to digital data integrity and more particularly to a technique to detect malicious tampering at a very fine granular level without the performance constraints of purely using digital signatures.
  • WORMs Write Once Read Many
  • digital signatures redundant off-site storage managed by different people, etc.
  • WORMs are slower than any other storage device and one risk is that a drive can be replaced by another one tampered
  • digital signatures have a high computational cost that makes impossible to use standalone in systems with significant transaction volume and do not prevent the change of order
  • duplicating the storage systems and administration have cost issues and difficult the further audit process.
  • the present invention addresses both issues, providing a cost efficient method and system to provide fine granular integrity to huge volumes of data guarantying immutability.
  • the use of both symmetric message authentication functions to create the links and digitally signatures for chunks of links make possible to generate immutable digital chains in a cost efficient way by using standard industry hardware and software.
  • the invention proposes a scalable system that can receive different digital data from multiple sources and generates integrity streams associated to the original data.
  • Message Authentication Codes are used to create a digital chain of integrity links.
  • the algorithm proposed in the preferred embodiment creates multiple parallel chains to achieve a high volume of transactions per second.
  • the symmetric session keys that are used at Message Authentication Codes to create the digital chain are stored encrypted using an asymmetric public key.
  • An audit tool component is presented to allow the owners of the corresponding asymmetric private key to verify data integrity and generate audit reports.
  • the use of a Public Key Infrastructure (PKI) and certificates assures that only those authorized can verify the integrity.
  • PKI Public Key Infrastructure
  • the system proposed is designed in a way that can process the digital data at binary level and at data format level.
  • the system processes the digital data at byte level making no difference which format the data have (audio, video, documents, transactions, files . . . )
  • FIG. 1 is an illustration of an exemplary embodiment of a system in which the invention may be implemented.
  • FIG. 2 is an illustration of a software architecture showing an exemplary implementation of the invention.
  • a data communications layer ( 505 ) that provides an API ( 600 ) to communicate with the data information sources ( 310 , 312 ), a cryptographic layer ( 510 ) that generates the immutable digital chains of integrity and an integrity communications layer ( 515 ) that sends to the appropriate receivers ( 311 ) and/or stores ( 320 ) the generated immutable digital chains of integrity.
  • FIG. 3 shows the architecture of the system with its functional modules.
  • an API Module ( 600 ) that receives the original data from the information sources.
  • This API Module passes the original data to the Integrity Generation Module ( 610 ) that generates the integrity, with the (optional) usage of the HSM module ( 650 ) and using the public keys certificated by a Trusted Third Party ( 660 ).
  • the immutable digital chains of integrity generated at Integrity Generation Module ( 610 ) is then communicated to the authorized receiver(s) by means of the Integrity Communication Module ( 620 ) and/or stored by the Storage Media Module ( 640 ).
  • the Audit Tool Module ( 630 ) with its web based interface allows the requests through the Integrity Communication Module ( 620 ) by providing both the original data and the integrity or only the original data and retrieving the integrity from the Storage Media Module ( 640 ) or by retrieving both the original data and the integrity from the Storage Media Module ( 640 ).
  • the present invention proposes to generate fine granular integrity to huge volumes of data in real time, involving the following steps:
  • the system described herein is preferably implemented as a software program, platform independent Java implementation, running in standard hardware. However, the system may be implemented in various embodiments using other well known implementations, such as, for example, Microsoft's .net technology or C++.
  • the executable applications, as described herein, are computer programs (software) stored within the main memory or a secondary memory on any suitable computer running preferably Linux or Windows. Such computer programs, when executed, enable a processor to perform the features of the present invention.
  • the system as disclosed herein can be implemented by a programmer, using commercially available development tools. Obviously, as technology changes, other computers and/or operating systems may be preferable in the future.
  • HSM Hardware Security Module
  • the system is proposed in a 3-tier software architecture: 1) the data communications tier ( 505 ), which is in charge of the connection with data sources; 2) the business or cryptographic tier ( 510 ), which is in charge to generate the immutable digital chains; 3) and the integrity communications tier ( 515 ), in charge to send said digital chain(s) to the appropriate receiver, that could be the same sender of data ( 312 ), a different one ( 311 ), a storage media ( 320 ), etc.
  • each tier can be run in a separate machine, or machines, allowing for improved processing performance.
  • multiprocessor machines, or many different independent computers can be used to improve performance.
  • Efficient layering can give structure to the application, promote scalability, and ease long-term maintenance requirements for the code.
  • the proposed system is designed in such a way that can process the digital data at a binary level and at a data format level.
  • the system processes the digital data at byte level making no difference which format the data have (audio, video, documents, transactions, files . . . )
  • the invention proposes as network ( 405 ) transport protocol to use industry standards, like the following ones, but not restricted to:
  • MACs are computed and verified with the same key, so that they can only be verified by the intended recipient.
  • the integrity is generated as immutable digital chains following the cryptographic protocol defined below:
  • the session key is used to compute a cryptographic message authentication code (MAC) for the entry to calculate its integrity and the MAC of the previous entry each time an entry is added to a digital chain. It is possible to change the session key after a predefined time or a predefined number of iterations and start using a new one as defined at step 1, to provide another level of security.
  • MAC cryptographic message authentication code
  • Metronome entries are added to the digital chain at predefined regular intervals, generated in the same way as the links that close a chain. Metronome entries provide by this way digital signatures to the chunk of messages contained in the digital chain between one metronome entry and the previous one in the chain, adding another level of security.
  • metronome entries contains at least the same information detailed at step 3 above but without the m i field (this is, only timestamping information). Additionally, in another embodiment the metronome entry could also contain a digital signature of its values.
  • the original data in another embodiment, it is also possible to include the original data inside the links of the digital chain, providing the integrity together with the original data (the messages m 1 to m n ).
  • the messages m 1 to m n original data
  • a symmetric encryption algorithm such as AES (preferred), DES, 3DES, IDEA, etc.
  • the secret key to be used for encryption could be the same key K used for integrity (MAC) or a different one also encrypted with a different public key belonging to a different entity, which will provide separation of roles between the entity allowed to verify the integrity and the one allowed to access the original data.
  • the process to verify the integrity considers recreating the same process followed during integrity generation from the last symmetric key K encryption link, and verifying MACs and digital signatures.
  • the entries are verified preserving the sequence order.
  • the attacker has no way to recreate the MACs (the only way is to know the session key) so he can't modify it without detection.
  • the preferred embodiment considers generating multiple concurrently maintained digital chains to reduce latency and take a better advantage of computational load.
  • the system will establish as many concurrent different session keys as chains (configurable). Every chain is independent of the other ones and works in an independent way, but all chains are securely linked together at creation time. In this way, any chain or the complete set of chains cannot be entirely deleted without detection.
  • metronome entries are added to all current chains at the same time, so all chains should have the same number of metronome entries. Metronome entries added at the same time have the same identifier value (it simplifies detecting truncation).
  • Said polynomial is not going to have a repeating root; i.e., the multiplicity of each root is going to be 1 and sum of multiplicities is going to be equal to the degree of the polynomial. This property is a direct consequence of the collision-resistance of MAC functions.
  • this polynomial Another advantage coming with this polynomial is that it is possible to obfuscate it without any need of encryption. This might be achieved even but not only by choosing a random number and adding it to the constant term of the polynomial. The size of the interval from which the random number is chosen might be set as a security parameter for the security of the polynomial. So it can be adjusted. Furthermore, this polynomial can be made public by signing it and sending it to different location inside the network. This will reduce the risk of polynomial to be harmed.
  • Another embodiment considers just timestamping and signing the polynomial. While the chain integrity values are coming, the system is going to sign the recomputed polynomial one by one. So, signing with the time stamp might reduce the replacement attacks if fake but “indistinguishable” chain values are generated and added to the computation process of the polynomial periodically. These periods must be small enough to prevent replacement attacks. Authenticity of time-stamp must be preserved in any case.
  • Another embodiment considers to create some number of polynomials instead of creating just one polynomial. This is going to be done by just using a pseudorandom function to determine which polynomial is to be updated. The reason for that is to prevent an adversary to understand which polynomial is updated.
  • the seed of the random function is going to be secret. That means when a replacement attack is done; it is going to be understood by the question “How can it be that all of the polynomials are the same for that period of time?”
  • Another embodiment considers a continuation of the first improvement: the polynomial is going to be updated for each new coming metronome value. After this; it is going to be signed homomorphically. To keep the degree of the polynomial at a reasonable level, we just have to cancel the last signed metronome entry and then we have to update it with the new coming metronome entry. For the last chain values (or link values) we update with them as usual but they are not going to be cancelled as metronome entries. They are going to stay as the real roots of the polynomial. To summarize, link values or the last chain values we add to the computation of the polynomial are going to be permanent, metronome entries added as roots are going to be temporary; they are going to be replaced by each new coming metronome entry.
  • the arithmetic to use is going to depend on the signature scheme as well as the fastest implementation which is going to be suitable. It is suggested to use binary arithmetic so that the computation of polynomial is going to be very fast. But in general a polynomial of degree n is going to be multiplied with a factor which has degree 1; so in any case it is fast.
  • Another embodiment in order to avoid the division of the polynomial each time for to replace the metronome roots, proposes to keep the polynomial which existed before the opening of a new integrity generation session (a polynomial created by the previous link/last chain values) Let's call this polynomial “P”.
  • P just consists of factors whose roots are of last link values (belonging to the previous integrity generation sessions) which are not divided.
  • Q another polynomial “Q”; which both contains last chain values as roots and last arrived metronome value as factors.
  • HSM Hardware Security Module
  • the integrity communications tier ( 515 ) is in charge to deliver the integrity.
  • the integrity is formed by at least one immutable digital chain, and in a preferred embodiment this chain is delivered to the emissor of the original data in real time as it is being created, link by link, using the same communications protocol established to receive the original data.
  • the owner of the original data possesses now an integrity token related to the original data, that can be verified by the owner of the asymmetric private key used to encrypt the symmetric session key(s) at any time.
  • An example of application could be a real time video system, such as a centralized CCTV server that received multiple video streams and stores the video in a never-ending file (when disk is full, instead of closing the file it continues storing data from the beginning generating a continuous stream file), where the integrity is generated at same time as the video and stored aside in the CCTV system.
  • the CCTV system will send to the proposed integrity system the stream of video in real time, the integrity system will generate the integrity and send it to the CCTV system also in real time and finally the CCTV system will store in its storage media the video stream together with the integrity stream (the digital chain).
  • the benefits over purely using digital signatures are evident in this example, because the integrity is generated continuously according the stream of video instead of snapshots.
  • the integrity is stored by the proposed system instead of being delivered, while the original data is not kept.
  • the system when an integrity verification is required, the system only needs to receive the original data and it will generate the integrity report using the previously stored integrity.
  • Another embodiment contemplates the integrity system to store both the integrity and the original data, together or separately in different storage medias.
  • the integrity system does also work as secure repository of data.
  • the audit tool will not only generate an integrity report but also export the original data, guaranteeing its integrity.
  • the system provides a web based interface audit tool ( 630 ) that is in charge to verify the integrity of the data, generate the integrity reports and in some cases deliver the original data.
  • the audit tool requires access to the asymmetric private key of the authorized receiver(s) of the integrity as well as the public key used by the system, in order to recover the symmetric session keys needed to verify the integrity by repeating the same process followed to generate it and comparing both results.
  • the public keys are all certified by a trusted third party ( 660 ).

Abstract

A method and system to generate fine granular integrity to huge volumes of data in real time at a very low computational cost. The invention proposes a scalable system that can receive different digital data from multiple sources and generates integrity streams associated to the original data. This invention provides full guarantees for data integrity; the order of data logged cannot be altered and content cannot be modified added or deleted without detection.

Description

    FIELD OF THE INVENTION
  • The present invention relates to digital data integrity and more particularly to a technique to detect malicious tampering at a very fine granular level without the performance constraints of purely using digital signatures.
  • BACKGROUND OF THE INVENTION
  • Today, almost all critical business records are generated, managed and stored electronically, creating efficiencies and cost-savings for businesses. Unfortunately, digital information can be easily deleted, altered and/or manipulated. For businesses, the burden of proof is on the company to ensure and attest to the accuracy and credibility of their electronic business records. This ability to prove the integrity of critical business records becomes especially important in litigation where executives are often called upon to support their claims of ownership of any discoverable records, as well as verify their history of creation and use.
  • It is important to remark the difference between involuntary changes on data (like those due to errors in transmission) and voluntary changes (tampering). When the objective is to detect involuntary changes, the integrity information is commonly calculated without any kind of security added because there is not an attacker that is also going to alter the integrity to hide the data changes. Examples of patents about verification of data integrity for involuntary changes are European Patent EP1665611 “Data transmission path comprising an apparatus for verifying data integrity”, U.S. Pat. No. 5,581,790 “Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels”, U.S. Pat. No. 7,330,998 “Data integrity verification”, U.S. Pat. No. 6,446,087 “System for maintaining the integrity of application data”, European Patent EP676068 “Data integrity check in buffered data transmission” and European Patent EP1198891 “Data integrity management for data storage systems” amongst others.
  • But when the objective is to detect tampering, the method used to provide data integrity needs to prevent as well the tampering on the integrity information, therefore some kind of cryptography is required. The invention proposed fits in this category.
  • Specially on those well regulated environments, operating with large volumes of sensitive information, it is needed to guarantee the integrity of their data with a system that eliminates the risk of data manipulation.
  • Electronic records have been proven to have been manipulated in cases ranging from stock options fraud to loan fraud to intellectual property disputes. Some recent examples of actual cases surrounding the manipulation of electronic records include:
      • Top executives at a successful technology company attempted to alter electronic records to hide a secret options-related slush fund to cover the tracks of their backdating options scheme.
      • A prominent real estate developer received an electronic version of a loan agreement to print and sign. Rather than just signing the document, he made subtle changes to it in order to make the terms of the loan more favorable to himself. The changes went undetected for a year until the loan was refinanced.
      • An auditor impeded a federal investigation by intentionally altering, destroying and falsifying the financial records of a now defunct credit card issuer in order to downplay or eliminate evidence that there were “red flags” that he should have caught.
      • Two major Wall Street firms settled with the SEC after being accused of “late trading”. Late trading or “after-hours” trading involves placing orders for mutual fund shares after the market close, but still getting that day's earlier price, rather than the next day's closing price.
      • A prominent scientist, funded by millions of dollars in state and private funding was charged with fraud and embezzlement, after admitting that he manipulated photo images of stem cells in his research.
  • The industry has been addressing these deficiencies by several means, including the use of WORMs (Write Once Read Many) devices, the use of digital signatures, redundant off-site storage managed by different people, etc., but all of them have aspects to demand a more efficient solution: WORMs are slower than any other storage device and one risk is that a drive can be replaced by another one tampered; digital signatures have a high computational cost that makes impossible to use standalone in systems with significant transaction volume and do not prevent the change of order; and duplicating the storage systems and administration have cost issues and difficult the further audit process.
  • The state of the art is based today in the use of digital signatures (Public Key Infrastructure based) accompanied by an accurate date and time stamp to provide authenticity to the data susceptible of further audit but the following issues are not addressed:
      • a) When processing a huge volume of data, the performance required is not cost efficient or even it is directly not possible to implement because lack of performance of digital signatures.
      • b) Digital signatures and timestamps do not provide by themselves the guarantee that there have not been registers deleted without notice, which in fact means immutability is not a feature of such log registries.
  • The present invention addresses both issues, providing a cost efficient method and system to provide fine granular integrity to huge volumes of data guarantying immutability. The use of both symmetric message authentication functions to create the links and digitally signatures for chunks of links make possible to generate immutable digital chains in a cost efficient way by using standard industry hardware and software.
  • There is a patent that proposes a primitive solution by using a cumulative hash function (U.S. Pat. No. 6,640,294) but it does not address the problem of malicious tampering because it is possible to recalculate the entire set of hashes to match the modified data values (it is clear when saying “[ . . . ] if there is an accidental error, attempts to recover the lost data can be made [ . . . ]” at column 3 line 32). U.S. Pat. No. 6,640,294 is also oriented to data storage. In contrast, the proposed invention:
      • Considers malicious tampering, therefore uses cryptographic functions, like Message Authentication Codes in combination with a secret key, to avoid malicious replacement of integrity. Timestamps are also included.
      • Provides authenticity, so it is not possible to impersonate the source of data.
      • It's not oriented to data storage but to integrity generation. The integrity is managed beside the data, so it is possible to keep together the data and integrity but also it is possible to only keep integrity and finally it is also possible to purely generate integrity and do not keep neither data nor integrity.
    SUMMARY OF THE INVENTION
  • With the proposed invention is possible to generate fine granular integrity to huge volumes of data in real time at a very low computational cost.
  • The invention proposes a scalable system that can receive different digital data from multiple sources and generates integrity streams associated to the original data.
  • Message Authentication Codes are used to create a digital chain of integrity links. The algorithm proposed in the preferred embodiment creates multiple parallel chains to achieve a high volume of transactions per second.
  • The symmetric session keys that are used at Message Authentication Codes to create the digital chain are stored encrypted using an asymmetric public key. An audit tool component is presented to allow the owners of the corresponding asymmetric private key to verify data integrity and generate audit reports. The use of a Public Key Infrastructure (PKI) and certificates assures that only those authorized can verify the integrity.
  • The system proposed is designed in a way that can process the digital data at binary level and at data format level. When working in binary mode the system processes the digital data at byte level making no difference which format the data have (audio, video, documents, transactions, files . . . )
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is best understood from the following detailed description when read in connection with the accompanying drawing. It is emphasized that, according to common practice, the various features of the drawing are not to scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity. Included in the drawing are the following Figures:
  • FIG. 1 is an illustration of an exemplary embodiment of a system in which the invention may be implemented. There are several information source(s) (310, 312) that communicate with the Integrity Generation System (305) through a Network (405). There are also some of the different receivers of the immutable digital chains of integrity: same receivers as senders of the original data (312), different ones (311) and storage media (320).
  • FIG. 2 is an illustration of a software architecture showing an exemplary implementation of the invention. There is a data communications layer (505) that provides an API (600) to communicate with the data information sources (310, 312), a cryptographic layer (510) that generates the immutable digital chains of integrity and an integrity communications layer (515) that sends to the appropriate receivers (311) and/or stores (320) the generated immutable digital chains of integrity.
  • FIG. 3 shows the architecture of the system with its functional modules. There is an API Module (600) that receives the original data from the information sources. This API Module passes the original data to the Integrity Generation Module (610) that generates the integrity, with the (optional) usage of the HSM module (650) and using the public keys certificated by a Trusted Third Party (660). The immutable digital chains of integrity generated at Integrity Generation Module (610) is then communicated to the authorized receiver(s) by means of the Integrity Communication Module (620) and/or stored by the Storage Media Module (640). When an integrity verification is requested, the Audit Tool Module (630) with its web based interface allows the requests through the Integrity Communication Module (620) by providing both the original data and the integrity or only the original data and retrieving the integrity from the Storage Media Module (640) or by retrieving both the original data and the integrity from the Storage Media Module (640).
  • DETAILED DESCRIPTION
  • The present invention proposes to generate fine granular integrity to huge volumes of data in real time, involving the following steps:
      • a) receiving the data. An API (Application Programming Interface) (600, 505) is provided to enable the communication with the different data sources;
      • b) processing the data applying cryptographic routines (510, 610) to generate one or more immutable digital chains that contain at least the original data related integrity information including timestamps; and
      • c) communicating said digital chain(s) to the appropriate receiver (620), that could be the same as the sender of data (312), a different one (311), a storage media (320), etc.
  • The system described herein is preferably implemented as a software program, platform independent Java implementation, running in standard hardware. However, the system may be implemented in various embodiments using other well known implementations, such as, for example, Microsoft's .net technology or C++. The executable applications, as described herein, are computer programs (software) stored within the main memory or a secondary memory on any suitable computer running preferably Linux or Windows. Such computer programs, when executed, enable a processor to perform the features of the present invention. The system as disclosed herein can be implemented by a programmer, using commercially available development tools. Obviously, as technology changes, other computers and/or operating systems may be preferable in the future.
  • In a preferred embodiment, the use of an industry standard Hardware Security Module (HSM) (650) at least to generate and keep secure the asymmetric cryptographic keys run provides a higher degree of security and full independence because even the system administrator can not access to these keys.
  • The system is proposed in a 3-tier software architecture: 1) the data communications tier (505), which is in charge of the connection with data sources; 2) the business or cryptographic tier (510), which is in charge to generate the immutable digital chains; 3) and the integrity communications tier (515), in charge to send said digital chain(s) to the appropriate receiver, that could be the same sender of data (312), a different one (311), a storage media (320), etc.
  • Designing the application in layers (tiers), is useful for many different reasons. In a multiple tier design, each tier can be run in a separate machine, or machines, allowing for improved processing performance. Depending on the design, multiprocessor machines, or many different independent computers can be used to improve performance. Efficient layering can give structure to the application, promote scalability, and ease long-term maintenance requirements for the code.
  • The proposed system is designed in such a way that can process the digital data at a binary level and at a data format level. When working in binary mode the system processes the digital data at byte level making no difference which format the data have (audio, video, documents, transactions, files . . . )
  • Receiving Data to Generate Its Integrity
  • To receive the original data information to generate its integrity, the proposed system provides an Application Programming Interface (600, 505). The invention proposes as network (405) transport protocol to use industry standards, like the following ones, but not restricted to:
      • Asynchronous messaging, like JMS;
      • Synchronous communication, like webservices using HTTP/S (TLS/SSL) calls over TCP/IP;
      • Other communication protocols such as syslog, SNMP, SMTP, secure syslog, etc.
    Generating Integrity: Immutable Digital Chains Definitions
      • Data messages mi: We'll call Message to the data information provided at any call to the proposed system in order to generate its integrity.
      • Entry: Tuple of values such as a Message, a Timestamp, a link and the type of the Message, etc.
      • Register: Ordered set of entries
      • PAud: Encryption with the public key of the entity authorized to verify the integrity
      • SS: Encryption with the system's private key
      • DSS: digital signature made by the system
      • ts: timestamp
      • ∥: concatenation
      • MAC: (Message Authentication Code) is an authentication tag derived by applying an authentication scheme, together with a secret key, to a message.
  • Unlike digital signatures, MACs are computed and verified with the same key, so that they can only be verified by the intended recipient. There are four types of MACs: (1) unconditionally secure, (2) hash function-based, (3) stream cipher-based or (4) block cipher-based.
  • In a preferred embodiment, the integrity is generated as immutable digital chains following the cryptographic protocol defined below:
    • 1. The proposed system establishes at least one session key (symmetric key) that will be kept secured by means of a digital envelope using public-key cryptography:
      • 1.1. The system generates randomly a session key, K.
      • 1.2. The system destroys securely the old previous session key (if it exists).
      • 1.3. The system encrypts the new key with the public key (PAud), obtaining K′=PAud(K)
      • 1.4. The system digitally signs the encrypted key K′ obtaining K″=DSS(K′)
      • 1.5. The system adds to at least one of the digital chains, at least the values K′, the K″, a timestamp, and the digital signature of all previous data. This is entry0=(m0,ts,DS0=SS(h(m0∥ts∥1))) where m0=PAud(K)
    • 2. Every time a message (unit of data) mi is received, a new link is added to its according digital chain preserving the sequence order. Every added entryi is derived to form the chain from the previous entry entryi-1 according to the formula: entryi=(ts,MACK(mi∥ts∥MACi-1))
    • 3. The chain would have no end being an infinite chain if the system is never stopped (for example if the server needs maintenance). When the system is shut down, the chain is securely closed by creating a special final entryN formed with a tuple of at least the following elements: the timestamp ts, the link with previous entry N−1 and by digitally signing said elements mN and ts together with previous IMACN-1; entryN=(ts,SS[h(mN∥ts∥MACN-1)]) where mN at least contains the chain identifier.
  • As seen, the session key is used to compute a cryptographic message authentication code (MAC) for the entry to calculate its integrity and the MAC of the previous entry each time an entry is added to a digital chain. It is possible to change the session key after a predefined time or a predefined number of iterations and start using a new one as defined at step 1, to provide another level of security.
  • Metronome entries are added to the digital chain at predefined regular intervals, generated in the same way as the links that close a chain. Metronome entries provide by this way digital signatures to the chunk of messages contained in the digital chain between one metronome entry and the previous one in the chain, adding another level of security. In a preferred embodiment, metronome entries contains at least the same information detailed at step 3 above but without the mi field (this is, only timestamping information). Additionally, in another embodiment the metronome entry could also contain a digital signature of its values.
  • In another embodiment, it is also possible to include the original data inside the links of the digital chain, providing the integrity together with the original data (the messages m1 to mn). In this embodiment, as an option, it is also possible to encrypt the messages m1 to mn (original data) using a symmetric encryption algorithm, such as AES (preferred), DES, 3DES, IDEA, etc. The secret key to be used for encryption could be the same key K used for integrity (MAC) or a different one also encrypted with a different public key belonging to a different entity, which will provide separation of roles between the entity allowed to verify the integrity and the one allowed to access the original data.
  • The process to verify the integrity considers recreating the same process followed during integrity generation from the last symmetric key K encryption link, and verifying MACs and digital signatures. The entries are verified preserving the sequence order.
  • If the system is compromised, the attacker has no way to recreate the MACs (the only way is to know the session key) so he can't modify it without detection.
  • Considering an attacker that chooses to simply delete or truncate a register rather than attempting to modify existing entries without detection. Of course, no new valid entries can be added once a register has been truncated, since intermediate links will have been lost, and this will be detected during verification.
  • Considering now an attacker that deletes entries from the end of the chain; in this scenario, the lack of new entries could suggest that no more data have been received recently (instead of being deleted). The use of metronome entries prevents this kind of attacks: if an attacker deletes entries from the end he will also delete the metronome entries or if he leaves the metronome entries, their digital signatures will not match and the authorized Auditor will detect the situation (where the last valid entry indicates the earliest time at which the register could have been truncated).
  • As said before, the preferred embodiment considers generating multiple concurrently maintained digital chains to reduce latency and take a better advantage of computational load. The system will establish as many concurrent different session keys as chains (configurable). Every chain is independent of the other ones and works in an independent way, but all chains are securely linked together at creation time. In this way, any chain or the complete set of chains cannot be entirely deleted without detection. Additionally, metronome entries are added to all current chains at the same time, so all chains should have the same number of metronome entries. Metronome entries added at the same time have the same identifier value (it simplifies detecting truncation).
  • In a preferred embodiment, as well as keeping the integrity inside the chains, it is also needed to contemplate other attacks than inside chains modification. That is, the deletion of some of the multiple chains generated.
  • Since we do not have as many chains as the entries existing inside the chains themselves, we may use mathematical operations to be able to detect the integrity of the whole set of chains.
  • Lets assume that we have a storage media (320) which is storing chains from n servers in a non-uniform way. That is, it is hard to put an order on the chains during the time they are being stored. And another thing is that if we group the chains and re-chain them all, if one of them is deleted we will not be able to detect the deletion of this chain.
  • To get rid of these drawbacks, we might take the last MAC values of each chain and create a polynomial by setting these values as roots, according the formula:

  • P(x)=πn i=1(x−x i)
  • As there will be more chains coming, we will continue creating this polynomial up to some limit. After that we are going to sign it. Then this allows us very easily to go backward or forward from the point we want among the chains. We can detect very easily if some chains are deleted by cancelling the remaining chain values (final MAC values inside the chains) and we can also recover the value of the chains deleted.
  • Said polynomial is not going to have a repeating root; i.e., the multiplicity of each root is going to be 1 and sum of multiplicities is going to be equal to the degree of the polynomial. This property is a direct consequence of the collision-resistance of MAC functions.
  • Moreover, if an attacker deletes an integrity value, she cannot compute a different value to make the polynomial look like the same. This is because polynomial rings are unique factorization domains, which means polynomials cannot be factored by different monomials.
  • Another advantage coming with this polynomial is that it is possible to obfuscate it without any need of encryption. This might be achieved even but not only by choosing a random number and adding it to the constant term of the polynomial. The size of the interval from which the random number is chosen might be set as a security parameter for the security of the polynomial. So it can be adjusted. Furthermore, this polynomial can be made public by signing it and sending it to different location inside the network. This will reduce the risk of polynomial to be harmed.
  • There are of course many other ways to create such structures where the order of computation is not important. For example modular multiplication of chain values which might be less costly than polynomials. But arithmetic of polynomials in modulo 2 is going to be fast since they are going to be convenient to implement. The need for security is unique factorization domains under some certain operation.
  • The polynomial is going to be updated or multiplied when a new chain arrives to the database by the chains value. That is; P(x) becomes P(x)·(x−x(n+1)). Re-signing all of the polynomial every time it's updated again and again is time consuming. To get rid of this trade-off it is proposed to use homomorphic encryption which is going to enable to sign only the new coming chain factor (x−x(n+1)) and multiply; because homomorphism means that DS(P(x))·DS(x−x(n+1))=DS(P(x)·(x−x(n+1)). This is going to be much more efficient than signing the updated polynomial.
  • Another embodiment considers just timestamping and signing the polynomial. While the chain integrity values are coming, the system is going to sign the recomputed polynomial one by one. So, signing with the time stamp might reduce the replacement attacks if fake but “indistinguishable” chain values are generated and added to the computation process of the polynomial periodically. These periods must be small enough to prevent replacement attacks. Authenticity of time-stamp must be preserved in any case.
  • Another embodiment considers to create some number of polynomials instead of creating just one polynomial. This is going to be done by just using a pseudorandom function to determine which polynomial is to be updated. The reason for that is to prevent an adversary to understand which polynomial is updated. The seed of the random function is going to be secret. That means when a replacement attack is done; it is going to be understood by the question “How can it be that all of the polynomials are the same for that period of time?”
  • Another embodiment considers a continuation of the first improvement: the polynomial is going to be updated for each new coming metronome value. After this; it is going to be signed homomorphically. To keep the degree of the polynomial at a reasonable level, we just have to cancel the last signed metronome entry and then we have to update it with the new coming metronome entry. For the last chain values (or link values) we update with them as usual but they are not going to be cancelled as metronome entries. They are going to stay as the real roots of the polynomial. To summarize, link values or the last chain values we add to the computation of the polynomial are going to be permanent, metronome entries added as roots are going to be temporary; they are going to be replaced by each new coming metronome entry.
  • The arithmetic to use is going to depend on the signature scheme as well as the fastest implementation which is going to be suitable. It is suggested to use binary arithmetic so that the computation of polynomial is going to be very fast. But in general a polynomial of degree n is going to be multiplied with a factor which has degree 1; so in any case it is fast.
  • Another embodiment, in order to avoid the division of the polynomial each time for to replace the metronome roots, proposes to keep the polynomial which existed before the opening of a new integrity generation session (a polynomial created by the previous link/last chain values) Let's call this polynomial “P”. By above discussion, P just consists of factors whose roots are of last link values (belonging to the previous integrity generation sessions) which are not divided. And there is another polynomial “Q”; which both contains last chain values as roots and last arrived metronome value as factors. By each new coming metronome entry mi, Q is going to be updated as Q=P·(x−mi) and Q is signed again as before.
  • Now, this overwrite operation prevents division of old metronome values. Furthermore, the cost of signing is kept constant. And the signature scheme does not have to be homomorphic.
  • The use of an industry standard Hardware Security Module (HSM) (650) where at least the pair of private & public keys for digital signatures are generated and the private key is hold securely, guarantees the immutability of the digital chain because nobody can access the private key used to sign, even those privileged users such as the system administrators.
  • Delivering the Integrity
  • The integrity communications tier (515) is in charge to deliver the integrity. As seen before, the integrity is formed by at least one immutable digital chain, and in a preferred embodiment this chain is delivered to the emissor of the original data in real time as it is being created, link by link, using the same communications protocol established to receive the original data. The owner of the original data possesses now an integrity token related to the original data, that can be verified by the owner of the asymmetric private key used to encrypt the symmetric session key(s) at any time. An example of application could be a real time video system, such as a centralized CCTV server that received multiple video streams and stores the video in a never-ending file (when disk is full, instead of closing the file it continues storing data from the beginning generating a continuous stream file), where the integrity is generated at same time as the video and stored aside in the CCTV system. The CCTV system will send to the proposed integrity system the stream of video in real time, the integrity system will generate the integrity and send it to the CCTV system also in real time and finally the CCTV system will store in its storage media the video stream together with the integrity stream (the digital chain). The benefits over purely using digital signatures are evident in this example, because the integrity is generated continuously according the stream of video instead of snapshots.
  • In another embodiment, the integrity is stored by the proposed system instead of being delivered, while the original data is not kept. In this scenario, when an integrity verification is required, the system only needs to receive the original data and it will generate the integrity report using the previously stored integrity.
  • Another embodiment contemplates the integrity system to store both the integrity and the original data, together or separately in different storage medias. In this scenario the integrity system does also work as secure repository of data. The audit tool will not only generate an integrity report but also export the original data, guaranteeing its integrity.
  • Audit Tool to Verify the Integrity
  • The system provides a web based interface audit tool (630) that is in charge to verify the integrity of the data, generate the integrity reports and in some cases deliver the original data. The audit tool requires access to the asymmetric private key of the authorized receiver(s) of the integrity as well as the public key used by the system, in order to recover the symmetric session keys needed to verify the integrity by repeating the same process followed to generate it and comparing both results. To guarantee the security of the process, in a preferred embodiment the public keys are all certified by a trusted third party (660).
  • While preferred embodiments of the invention have been shown and described herein, it will be understood that such embodiments are provided by way of example only. Numerous variations, changes and substitutions will occur to those skilled in the art without departing from the spirit of the invention. Accordingly, it is intended that the appended claims cover all such variations as fall within the spirit and scope of the invention.

Claims (11)

1. A method to generate fine granular integrity to huge volumes of data in real time at a very low computational cost for use with a computer the method comprising:
receiving original data from multiple sources (310, 600), over a communication way or network using predetermined protocols;
processing the original data by cryptographic means (510, 610) for generating one or more immutable digital chains that contain at least integrity information related to the original data including timestamps; and
communicating (515,620) said digital chains to a receiver, said receiver being one of: the same as the sender of the original data (312), a different receiver (311) or a storage media (320, 640),
wherein the generating the immutable digital chains comprises:
a) establishing at least one symmetric session key K;
b) securely destroying an old previous session key, if any;
c) encrypting said at least one symmetric session key K using an asymmetric public key of an authorized receiver PAud, thus obtaining K′=PAud(K) and also digitally sign it obtaining K″=DSs(K′);
d) creating at least one of the digital chains with said K′ and K″ values with a timestamp and a digital signature of previous values all together; or add to at least one of the digital chains said K′ and K″ values with a timestamp and a digital signature of previous values all together, and
e) every time a new unit mi of original data is received, a new link entryi is created to at least one of the digital chains according the formula entryi=(timestamp, MACK(mi,timestamp,MACi-1)), where MAC relates to Message Authentication Codes.
2. The method according to claim 1 wherein metronome entries are added to at least one digital chain at predefined regular intervals, even if no new units of original data are received.
3. The method according to claim 1 further comprising adding a last link to digital chains to securely close them when a shutdown of the system occurs.
4. The method according to claim 1 wherein the new link entry generated every time a new unit mi of original data is received also contains the content of the new unit mi of original data, according the formula entryi=(mi, timestamp, MACK(mi,timestamp,MACi-1))
5. The method according claim 4 wherein the content of the new unit mi of original data including at the new link entry generated is symmetrically encrypted, according the formula entry=(E(mi), timestamp, MACK(E(mi), timestamp,MACi-1)) using the same symmetrical session key K.
6. The method according claim 5 wherein the session key used for encryption is different than the session key used for message authentication codes.
7. The method according to claim 1 wherein an industry standard Hardware Security Module (HSM) or a smart card or a USB crypto-token is used to generate at least one private key, keep it always secret, and use it to carry out the asymmetric encryption and digital signatures related at least to one of said one or more immutable digital chains.
8. The method according to claim 7 wherein the Hardware Security Module (HSM) or smart card or USB crypto-token (650) is also used to execute the method to generate said one or more immutable digital chains.
9. A system to generate fine granular integrity to huge volumes of data in real time at a very low computational cost comprising at least one independent server hosting a software program, platform independent implementation that can run on standard hardware, comprising:
multiple sources (310, 600) for receiving original data over a communication way or network (405) using predetermined protocols;
cryptographic means (510, 610) processing the original data and generating one or more immutable digital chains that contain at least integrity information related to the original data including timestamps; and
a receiver to which said digital chains are communicated, said receiver being one of the same as the sender of the original data (312), a different receiver or a storage media (320, 640).
10. The system according to claim 9, wherein a device selected among an industry standard Hardware Security Module (HSM), a smart card or a USB crypto-token (650) is used to generate at least one private key, keep it always secret, and use it to carry out cryptographic operations.
11. A computer readable medium adapted to instruct a general purpose computer to generate fine granular integrity to huge volumes of data in real time at a very low computational cost, the method comprising:
receiving original data from multiple sources (310, 600), over a communication way or network (405) using predetermined protocols;
processing the original data by cryptographic means (510, 610) for generating one or more immutable digital chains that contain at least integrity information related to the original data including timestamps; and
communicating (515, 620) said digital chains to a receiver, said receiver being one of: the same as the sender of the original data (312), a different receiver (311) or a storage media (320, 640),
wherein generating the immutable digital chains comprises:
a) generating at least one symmetric session key K;
b) securely destroying an old previous session key, if any;
c) encrypting said at least one symmetric session key K using an asymmetric public key of an authorized receiver PAud, thus obtaining K′=PAud(K) and also digitally sign it obtaining K″=DSs(K′);
d) creating at least one of the digital chains with said K′ and K″ values with a timestamp and a digital signature of previous values all together; or add to at least one of the digital chains said K′ and K″ values with a timestamp and a digital signature of previous values all together; and
e) every time a net unit mi of original data is received, a new link entryi is created to at least one of the digital chains according the formula entryi=(timestamp, MACK(mi, timestamp, MACi-1)), where MAC relates to Message Authentication Codes.
US12/052,032 2008-03-20 2008-03-20 Method and system to provide fine granular integrity to digital data Abandoned US20090238365A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/052,032 US20090238365A1 (en) 2008-03-20 2008-03-20 Method and system to provide fine granular integrity to digital data
EP09722288A EP2272026A1 (en) 2008-03-20 2009-03-19 Method and system to provide fine granular integrity to digital data
PCT/IB2009/000552 WO2009115903A1 (en) 2008-03-20 2009-03-19 Method and system to provide fine granular integrity to digital data
US12/885,726 US8904182B2 (en) 2008-03-20 2010-09-20 Method and system to provide fine granular integrity to digital data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/052,032 US20090238365A1 (en) 2008-03-20 2008-03-20 Method and system to provide fine granular integrity to digital data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2009/000552 Continuation-In-Part WO2009115903A1 (en) 2008-03-20 2009-03-19 Method and system to provide fine granular integrity to digital data

Publications (1)

Publication Number Publication Date
US20090238365A1 true US20090238365A1 (en) 2009-09-24

Family

ID=40677559

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/052,032 Abandoned US20090238365A1 (en) 2008-03-20 2008-03-20 Method and system to provide fine granular integrity to digital data
US12/885,726 Active 2028-09-19 US8904182B2 (en) 2008-03-20 2010-09-20 Method and system to provide fine granular integrity to digital data

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/885,726 Active 2028-09-19 US8904182B2 (en) 2008-03-20 2010-09-20 Method and system to provide fine granular integrity to digital data

Country Status (3)

Country Link
US (2) US20090238365A1 (en)
EP (1) EP2272026A1 (en)
WO (1) WO2009115903A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095121A1 (en) * 2008-10-15 2010-04-15 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20110173451A1 (en) * 2008-03-20 2011-07-14 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8284932B2 (en) 2007-10-15 2012-10-09 Adobe Systems Incorporated Imparting cryptographic information in network communications
US20160172364A1 (en) * 2010-10-25 2016-06-16 SK Hynix Inc. Semiconductor device and method for forming the same
US9864878B2 (en) 2015-07-27 2018-01-09 International Business Machines Corporation Event log tamper detection
US10581860B2 (en) 2016-10-03 2020-03-03 Huawei International Pte. Ltd. Blacklist management method for IBC-based distributed authentication framework
CN111339050A (en) * 2018-12-03 2020-06-26 国网宁夏电力有限公司信息通信公司 Centralized security audit method and system based on big data platform
WO2020165486A1 (en) 2019-02-12 2020-08-20 Nokia Technologies Oy Method and apparatus for protecting integrity of digital information
US11410167B2 (en) * 2019-12-30 2022-08-09 Paypal, Inc. Efficient transaction reconciliation system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI599876B (en) * 2014-10-09 2017-09-21 緯創資通股份有限公司 Methods for debugging in a post (power-on self-test) and apparatuses using the same
GB2552453A (en) * 2016-05-23 2018-01-31 Maidsafe Found Method of creating a data chain in a data structure that can be cryptographically proven to contain valid data
US11368314B2 (en) * 2020-11-13 2022-06-21 Microsoft Technology Licensing, Llc Secure digital signing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581790A (en) * 1994-06-07 1996-12-03 Unisys Corporation Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
US6446087B1 (en) * 1998-11-04 2002-09-03 Lucent Technologies Inc. System for maintaining the integrity of application data
US6640294B2 (en) * 2001-12-27 2003-10-28 Storage Technology Corporation Data integrity check method using cumulative hash function
US6868406B1 (en) * 1999-10-18 2005-03-15 Stamps.Com Auditing method and system for an on-line value-bearing item printing system
US20050114666A1 (en) * 1999-08-06 2005-05-26 Sudia Frank W. Blocked tree authorization and status systems
US20050235154A1 (en) * 1999-06-08 2005-10-20 Intertrust Technologies Corp. Systems and methods for authenticating and protecting the integrity of data streams and other data
US20060129847A1 (en) * 2002-09-17 2006-06-15 Errikos Pitsos Methods and systems for providing a secure data distribution via public networks
US7330998B2 (en) * 2004-09-20 2008-02-12 Intel Corporation Data integrity verification

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557518A (en) * 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
DE4244275C1 (en) 1992-12-28 1994-07-21 Ibm Verification of data integrity with buffered data transmission
US7272639B1 (en) * 1995-06-07 2007-09-18 Soverain Software Llc Internet server access control and monitoring systems
US6058428A (en) * 1997-12-05 2000-05-02 Pictra, Inc. Method and apparatus for transferring digital images on a network
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US7178029B2 (en) * 1998-08-18 2007-02-13 Privador, Ltd Method and apparatus for validating a digital signature
JP3724962B2 (en) * 1998-11-13 2005-12-07 株式会社東芝 Information processing apparatus with access control function and storage medium
US6915475B1 (en) 1999-06-29 2005-07-05 Emc Corporation Data integrity management for data storage systems
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
EP1094424A3 (en) * 1999-10-22 2004-06-16 Hitachi, Ltd. Digital signing method
JP2004104750A (en) * 2002-07-17 2004-04-02 Hitachi Ltd Verify method of digital signature
US7134021B2 (en) * 1999-10-22 2006-11-07 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
US7266681B1 (en) * 2000-04-07 2007-09-04 Intertrust Technologies Corp. Network communications security agent
US6973499B1 (en) * 2000-04-07 2005-12-06 Intertrust Technologies Corp. Ticketing and keying for orchestrating distribution of network content
US20060053284A1 (en) * 2000-05-09 2006-03-09 Microsoft Corporation Restricted software and hardware usage on a computer
US20020032908A1 (en) * 2000-09-14 2002-03-14 General Instrument Corporation System and methods for automatically selecting, mapping and designating components for digital cable service distribution systems
US7290133B1 (en) * 2000-11-17 2007-10-30 Entrust Limited Method and apparatus improving efficiency of end-user certificate validation
US20020112162A1 (en) * 2001-02-13 2002-08-15 Cocotis Thomas Andrew Authentication and verification of Web page content
US7240194B2 (en) * 2002-03-22 2007-07-03 Microsoft Corporation Systems and methods for distributing trusted certification authorities
EP1349405A1 (en) * 2002-03-28 2003-10-01 Siemens Aktiengesellschaft Method for downloading a software program onto a mobile communication device
JP2004040344A (en) * 2002-07-02 2004-02-05 Hitachi Ltd Original warrant method and original warrant system
US7907729B2 (en) * 2002-09-13 2011-03-15 Bally Gaming, Inc. Rollback attack prevention system and method
US6784814B1 (en) * 2003-03-07 2004-08-31 Regents Of The University Of Minnesota Correction for pipelined analog to digital (A/D) converter
US7464270B2 (en) * 2003-07-23 2008-12-09 Microsoft Corporation Application identification and license enforcement
DE10343172B4 (en) 2003-09-18 2016-02-11 Robert Bosch Gmbh Data link having means for checking data integrity
KR20050094273A (en) * 2004-03-22 2005-09-27 삼성전자주식회사 Digital rights management structure, handheld storage deive and contents managing method using handheld storage device
IL161874A (en) * 2004-05-07 2012-09-24 Yves Villaret System and method for searching strings of records
US8122263B2 (en) * 2005-02-14 2012-02-21 Panasonic Corporation Application executing device, managing method, and program
US20060265402A1 (en) * 2005-05-20 2006-11-23 Andrew Edmond Grid network for distribution of files
US20070028211A1 (en) * 2005-07-29 2007-02-01 Microsoft Corporation Interpreter security mechanism
US8051299B2 (en) * 2006-03-20 2011-11-01 Hewlett-Packard Development Company, L.P. Computer security method and computer system
GB2453287B (en) * 2006-07-14 2010-05-19 Kinamik Data Integrity S L Method and system of generating immutable audit logs
GB2440761A (en) * 2006-08-11 2008-02-13 Cachelogic Ltd Using a proxy server as a cache in a peer to peer network to speed up the multicast distribution of large files.
US8892532B2 (en) * 2006-12-06 2014-11-18 Lsi Corporation Document management with verifiable time-of-archive capability
JP4584300B2 (en) * 2007-12-19 2010-11-17 富士通株式会社 Electronic signature program, computer-readable recording medium, electronic signature device, and electronic signature method
US20090238365A1 (en) * 2008-03-20 2009-09-24 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8621222B1 (en) * 2008-05-30 2013-12-31 Adobe Systems Incorporated Archiving electronic content having digital signatures
US7984286B2 (en) * 2008-06-25 2011-07-19 Intel Corporation Apparatus and method for secure boot environment
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US8914567B2 (en) * 2008-09-15 2014-12-16 Vmware, Inc. Storage management system for virtual machines
US8694761B2 (en) * 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
JP5387282B2 (en) * 2009-09-25 2014-01-15 富士通株式会社 Content processing device, program for guaranteeing partial integrity of content
FR2964812B1 (en) * 2010-09-09 2013-04-12 Mobilegov France AUTHENTICATION METHOD FOR ACCESSING A WEB SITE
DE102010040688A1 (en) * 2010-09-14 2012-03-15 Siemens Aktiengesellschaft Method and device for authenticating multicast messages
CA2716982C (en) * 2010-10-06 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Digital signatures on composite resource documents
US8874921B2 (en) * 2011-06-20 2014-10-28 Guardtime IP Holdings, Ltd. System and method for generating keyless digital multi-signatures
WO2013031124A1 (en) * 2011-08-26 2013-03-07 パナソニック株式会社 Terminal device, verification device, key distribution device, content playback method, key distribution method, and computer program
WO2013086113A2 (en) * 2011-12-09 2013-06-13 Tiversa Ip, Inc. System for forensic analysis of search terms
US9281948B2 (en) * 2012-02-09 2016-03-08 Microsoft Technology Licensing, Llc Revocation information for revocable items
US8914639B2 (en) * 2012-04-27 2014-12-16 Adobe Systems Incorporated Method and apparatus for one-step signature trust for digitally-signed documents
US20140059236A1 (en) * 2012-08-27 2014-02-27 Yuan-Chang Lo Process for Peer-To-Peer Download of Software Installer
RU2514138C1 (en) * 2012-09-28 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for verifying public key certificate to counteract "man-in-middle" attacks
US20140149730A1 (en) * 2012-11-26 2014-05-29 Dell Products L.P. Systems and methods for enforcing secure boot credential isolation among multiple operating systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581790A (en) * 1994-06-07 1996-12-03 Unisys Corporation Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
US6446087B1 (en) * 1998-11-04 2002-09-03 Lucent Technologies Inc. System for maintaining the integrity of application data
US20050235154A1 (en) * 1999-06-08 2005-10-20 Intertrust Technologies Corp. Systems and methods for authenticating and protecting the integrity of data streams and other data
US20050114666A1 (en) * 1999-08-06 2005-05-26 Sudia Frank W. Blocked tree authorization and status systems
US6868406B1 (en) * 1999-10-18 2005-03-15 Stamps.Com Auditing method and system for an on-line value-bearing item printing system
US6640294B2 (en) * 2001-12-27 2003-10-28 Storage Technology Corporation Data integrity check method using cumulative hash function
US20060129847A1 (en) * 2002-09-17 2006-06-15 Errikos Pitsos Methods and systems for providing a secure data distribution via public networks
US7330998B2 (en) * 2004-09-20 2008-02-12 Intel Corporation Data integrity verification

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8284932B2 (en) 2007-10-15 2012-10-09 Adobe Systems Incorporated Imparting cryptographic information in network communications
US9055051B2 (en) 2007-10-15 2015-06-09 Adobe Systems Incorporated Imparting cryptographic information in network communications
US8542825B2 (en) 2007-10-15 2013-09-24 Adobe Systems Incorporated Imparting cryptographic information in network communications
US20110173451A1 (en) * 2008-03-20 2011-07-14 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8904182B2 (en) * 2008-03-20 2014-12-02 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8918644B2 (en) 2008-10-15 2014-12-23 Adobe Systems Corporation Imparting real-time priority-based network communications in an encrypted communication session
US8245033B1 (en) 2008-10-15 2012-08-14 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US8205076B1 (en) 2008-10-15 2012-06-19 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20100095121A1 (en) * 2008-10-15 2010-04-15 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US8051287B2 (en) * 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20160172364A1 (en) * 2010-10-25 2016-06-16 SK Hynix Inc. Semiconductor device and method for forming the same
US9893071B2 (en) * 2010-10-25 2018-02-13 SK Hynix Inc. Semiconductor device and method for forming the same
US9864878B2 (en) 2015-07-27 2018-01-09 International Business Machines Corporation Event log tamper detection
US10581860B2 (en) 2016-10-03 2020-03-03 Huawei International Pte. Ltd. Blacklist management method for IBC-based distributed authentication framework
CN111339050A (en) * 2018-12-03 2020-06-26 国网宁夏电力有限公司信息通信公司 Centralized security audit method and system based on big data platform
WO2020165486A1 (en) 2019-02-12 2020-08-20 Nokia Technologies Oy Method and apparatus for protecting integrity of digital information
EP3924857A4 (en) * 2019-02-12 2022-09-21 Nokia Technologies Oy Method and apparatus for protecting integrity of digital information
US11410167B2 (en) * 2019-12-30 2022-08-09 Paypal, Inc. Efficient transaction reconciliation system

Also Published As

Publication number Publication date
WO2009115903A1 (en) 2009-09-24
EP2272026A1 (en) 2011-01-12
US8904182B2 (en) 2014-12-02
US20110173451A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
US20090238365A1 (en) Method and system to provide fine granular integrity to digital data
US8422682B2 (en) Method and system of generating immutable audit logs
KR101974060B1 (en) Method and system for validating ownership of digital assets using distributed hash tables and peer-to-peer distributed decoys
CN108076057B (en) Data security system and method based on block chain
US11233657B2 (en) Method and system for registering digital documents
Cucurull et al. Distributed immutabilization of secure logs
CN111183446B (en) Managing a blockchain-based centralized ledger system
EP3679686B1 (en) Managing blockchain-based centralized ledger systems
Thompson The preservation of digital signatures on the blockchain
CN111183427B (en) Managing a blockchain-based centralized ledger system
EP3808030B1 (en) Managing blockchain-based centralized ledger systems
CN111656386B (en) Managing transaction requests in ledger system
CA3098646C (en) Managing trust points in ledger systems
WO2021154157A1 (en) Blockchain-based data exchange
CN111630545B (en) Managing transaction requests in ledger system
Ćosić et al. (Im) proving chain of custody and digital evidence integrity with time stamp
JP2023530594A (en) Permitted Event Processing in Distributed Databases
Albeshri et al. A security architecture for cloud storage combining proofs of retrievability and fairness
CN111630549B (en) Managing transaction requests in ledger system
CN112950356A (en) Personal loan processing method, system, device and medium based on digital identity
CN113508407A (en) Method for operating a distributed database system, distributed database system and industrial automation system
Almarwani Secure, Reliable and Efficient Data Integrity Auditing (DIA) Solution for Public Cloud Storage (PCS)
CN117932687A (en) Carbon emission data calling method and device based on ring signature and computer equipment
El-Dein et al. Content auditing in the cloud environment
Tyagi et al. A Framework with Ciphertext Attribute-Based encryption for data security in the cloud

Legal Events

Date Code Title Description
AS Assignment

Owner name: KINAMIK DATA INTEGRITY, S.L., SPAIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BARDERA BOSCH, JOAN MIQUEL;DEMIRKIRAN, CEVAHIR;PRIMAULT, CHRISTOPHE;REEL/FRAME:020977/0254

Effective date: 20080314

AS Assignment

Owner name: VENTURE LENDING & LEASING VI, INC., CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:KINAMIK DATA INTEGRITY, INC.;REEL/FRAME:027500/0946

Effective date: 20111227

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: VENTURE LENDING & LEASING VI, INC., CALIFORNIA

Free format text: TRANSFER STATEMENT;ASSIGNOR:KINAMIK DATA INTEGRITY, INC.;REEL/FRAME:034928/0136

Effective date: 20150129

AS Assignment

Owner name: SCYTL SECURE ELECTRONIC VOTING S.A., SPAIN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VENTURE LENDING & LEASING VI, INC.;REEL/FRAME:036378/0561

Effective date: 20150817