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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting 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
Description
- 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.
- 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.
- 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 . . . )
- 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). - 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 . . . )
- 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.
-
-
- 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.
- 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.
- 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)
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)
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)
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)
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)
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 |
-
2008
- 2008-03-20 US US12/052,032 patent/US20090238365A1/en not_active Abandoned
-
2009
- 2009-03-19 WO PCT/IB2009/000552 patent/WO2009115903A1/en active Application Filing
- 2009-03-19 EP EP09722288A patent/EP2272026A1/en not_active Withdrawn
-
2010
- 2010-09-20 US US12/885,726 patent/US8904182B2/en active Active
Patent Citations (8)
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)
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 |