RU2351978C2 - Method for provision of data records set integrity - Google Patents
Method for provision of data records set integrity Download PDFInfo
- Publication number
- RU2351978C2 RU2351978C2 RU2006116797/09A RU2006116797A RU2351978C2 RU 2351978 C2 RU2351978 C2 RU 2351978C2 RU 2006116797/09 A RU2006116797/09 A RU 2006116797/09A RU 2006116797 A RU2006116797 A RU 2006116797A RU 2351978 C2 RU2351978 C2 RU 2351978C2
- Authority
- RU
- Russia
- Prior art keywords
- checksum
- integrity
- data record
- data
- database
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
Изобретение касается способа, системы и компьютерной программы для обеспечения целостности набора записей данных, хранящихся в базе данных или аналогичном средстве хранения информации.The invention relates to a method, system and computer program for ensuring the integrity of a set of data records stored in a database or similar information storage medium.
УРОВЕНЬ ТЕХНИКИBACKGROUND
Многие компьютеризированные приложения производят огромные количества данных, которые должны сохраняться. Обычно события компьютеризированных приложений заносятся в файл протокола. Файлы протокола - один из наиболее важных источников информации для системных операторов, разработчиков программного обеспечения, персонала службы безопасности и других различных групп.Many computerized applications produce huge amounts of data that must be stored. Typically, computerized application events are logged in a log file. Log files are one of the most important sources of information for system operators, software developers, security personnel, and various other groups.
Традиционно данные файлов протокола последовательно записываются в файл протокола. Основные элементы большинства файлов протокола - записи протокола, которые в файле протокола часто представляются как строки. Очень важно, чтобы структура и содержание файла протокола оставались аутентичными. В частности, для соблюдения безопасности особенно важно, чтобы строки не могли быть изменены или удалены любым способом без уведомления администратора о сделанных изменениях.Traditionally, protocol file data is sequentially written to a protocol file. The main elements of most protocol files are protocol records, which are often represented as strings in a protocol file. It is very important that the structure and contents of the log file remain authentic. In particular, for safety reasons, it is especially important that the lines cannot be changed or deleted in any way without notifying the administrator of the changes made.
Широко известны способы обеспечения целостности файла протокола. Например, могут использоваться коды аутентификации сообщения (message authentication codes, MAC) или цифровые подписи, чтобы связать криптографический код с каждым файлом протокола. Более поздние неавторизованные модификации могут быть обнаружены, поскольку если содержимое файла изменяется, то изменяется цифровая подпись или код аутентификации. Однако эти разновидности способов не защищают целостность данных до тех пор, пока защищаемому файлу не назначены цифровая подпись или другой вид аутентифицирующего кода.Widely known methods for ensuring the integrity of the log file. For example, message authentication codes (MACs) or digital signatures can be used to associate a cryptographic code with each protocol file. Later unauthorized modifications may be detected, because if the contents of the file change, then the digital signature or authentication code changes. However, these variations of the methods do not protect data integrity until a digital signature or other type of authentication code is assigned to the protected file.
Однако во многих приложениях количество сохраняемых данных огромно. Таким образом, возникает потребность в хранении данных протокола или подобных им данных в реляционной базе данных. В этом случае задача защиты целостности несколько изменяется. В реляционных базах данных данные хранятся в таблицах, состоящих из кортежей признаков, так называемых записей. Обычно записи протокола сохраняются в базе данных так, чтобы каждая строка протокола соответствовала записи конкретной таблицы базы данных.However, in many applications, the amount of data stored is huge. Thus, there is a need for storing protocol data or similar data in a relational database. In this case, the integrity protection task changes somewhat. In relational databases, data is stored in tables consisting of tuples of attributes, the so-called records. Typically, protocol records are stored in the database so that each line of the protocol corresponds to a record of a particular database table.
Защита целостности в реляционных базах данных традиционно основывается на ограничении прав доступа для пользователей базы данных, чтобы неавторизованные пользователи не могли изменять содержание базы данных. Управление доступом производится системой управления реляционной базой данных (relational database management system, RDBMS). Другой путь обеспечения целостности базы данных состоит в сохранении ее в виде файла на диске и приложении к нему криптографического кода, как было описано выше.Integrity protection in relational databases has traditionally been based on restricting access rights for database users so that unauthorized users cannot modify the contents of the database. Access control is performed by the relational database management system (RDBMS). Another way to ensure the integrity of the database is to save it as a file on disk and attach cryptographic code to it, as described above.
Этот подход часто неудобен, так как многие таблицы базы данных динамичны по их природе и должны обновляться очень часто. В базе данных протокола, например, записи протокола, производимые в течение дня, должны все время вставляться в соответствующую таблицу базы данных, тогда как количество сохраняемых данных может быть огромным, как в случае банковских транзакций. Замораживание содержимого таблиц базы данных и защита ее целостности криптографической контрольной суммой полезны только тогда, когда можно быть уверенным, что содержимое таблицы больше не будет обновляться. Применительно к базе данных протокола это означает, что для накопления информации должны использоваться ежедневные таблицы базы данных. Недостаток такого решения состоит в том, что запросы, которые требуют доступа к данным за несколько дней, должны для исполнения запроса выполнять поиск в нескольких таблицах.This approach is often inconvenient, since many database tables are dynamic in nature and need to be updated very often. In the protocol database, for example, protocol records produced during the day should be inserted all the time in the corresponding database table, while the amount of data stored can be huge, as in the case of bank transactions. Freezing the contents of database tables and protecting its integrity with a cryptographic checksum is only useful when you can be sure that the contents of the table will no longer be updated. In relation to the protocol database, this means that daily database tables should be used to accumulate information. The disadvantage of this solution is that queries that require access to data for several days must search in several tables to execute the query.
Патент США 5978475 описывает способ верификации целостности файла протокола. Однако вышеупомянутый патент не раскрывает никаких средств для размещения данных в базе данных, в которой администратор имеет все возможности изменять данные в записях данных.US Pat. No. 5,978,475 describes a method for verifying the integrity of a protocol file. However, the aforementioned patent does not disclose any means for storing data in a database in which the administrator has every opportunity to change the data in the data records.
Большой недостаток традиционных решений состоит также в том, что они не могут применяться в ситуации, когда используется система баз данных, и администратору базы данных нельзя полностью доверять. В большинстве систем управления базами данных администратор базы данных имеет близкие к неограниченным права на изменение базы данных и ее содержимого. Любые данные, которые вставлены в базу данных, могут быть злонамеренно изменены администратором, даже прежде чем данные будут криптографически защищены от неавторизованных модификаций.A major drawback of traditional solutions is that they cannot be applied in situations where a database system is used, and the database administrator cannot be completely trusted. In most database management systems, the database administrator has close to unlimited rights to modify the database and its contents. Any data that is inserted into the database can be maliciously changed by the administrator, even before the data is cryptographically protected from unauthorized modifications.
Главный недостаток известных решений состоит в проблеме управления правами доступа к базе данных. Следующий недостаток состоит в том, что данные не могут быть сохранены в файлах с цифровой подписью, поскольку они постоянно изменяются. Третий главный недостаток состоит в том, что необходимо полагаться на администратора базы данных. В настоящее время администратор - это обычно технический работник, который фактически даже не должен знать информацию, хранящуюся в базе данных. Таким образом, имеется потребность в способе, который позволяет множеству людей следить за целостностью содержимого базы данных и проверять эту целостность, имея права доступа к данным, хранимым в базе данных.The main disadvantage of the known solutions is the problem of managing access rights to the database. A further disadvantage is that the data cannot be stored in digitally signed files, as they are constantly changing. The third major drawback is that you must rely on the database administrator. Currently, an administrator is usually a technical worker who, in fact, does not even need to know the information stored in the database. Thus, there is a need for a method that allows many people to monitor the integrity of the contents of a database and verify this integrity, having access rights to data stored in the database.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
Изобретение раскрывает способ обеспечения целостности данных в системах баз данных. Изобретение раскрывает решение для создания доступных общему просмотру баз данных с публично доступными контрольными суммами, которые могут использоваться для верификации целостности. Согласно настоящему изобретению контрольная сумма проверки целостности вычисляется криптографическим способом по хранимым данным, контрольной сумме предыдущей записи и ключу хранения. Ключ хранения известен только лицам, которые имеют право подписывать данные в базе данных. Лицо, имеющее право подписи, может и должно отличаться от администратора базы данных. Одно из решений состоит в том, чтобы использовать криптографию с открытым ключом, в которой подписывающее лицо вычисляет контрольную сумму проверки целостности с помощью своего секретного ключа, а лицо, желающее проверить целостность, может использовать свой открытый ключ для верификации. Вычисленная контрольная сумма присоединяется к записи данных. Первая запись может быть генерируемой начальной записью, либо может использовать предварительно согласованную предыдущую контрольную сумму, которая необходима, чтобы вычислить ее собственную контрольную сумму. При верификации контрольная сумма проверки целостности вычисляется аналогично и сравнивается с предварительно вычисленной контрольной суммой, присоединенной к определенной записи данных.The invention discloses a method for ensuring data integrity in database systems. The invention discloses a solution for creating publicly viewable databases with publicly accessible checksums that can be used to verify integrity. According to the present invention, the integrity check checksum is calculated in a cryptographic manner from the stored data, the checksum of the previous record and the storage key. The storage key is known only to persons who have the right to sign data in the database. The person who has the right to sign may and must differ from the administrator of the database. One solution is to use public key cryptography, in which the signatory calculates the integrity checksum using his private key, and the person who wants to verify the integrity can use his public key for verification. The calculated checksum is appended to the data record. The first record can be a generated initial record, or it can use the previously agreed previous checksum, which is necessary to calculate its own checksum. During verification, the integrity check checksum is calculated similarly and compared with a pre-calculated checksum attached to a specific data record.
Преимущество изобретения состоит в получении аутентичной базы данных с проверкой целостности. С помощью способа согласно изобретению база данных может быть подписана так, что содержимое базы данных могут изменять только уполномоченные лица, имеющие право подписи. Согласно изобретению записи данных, хранящиеся в базе данных, не могут быть удалены или изменены любым способом без нарушения цепочки вычисленных контрольных сумм проверки целостности.An advantage of the invention is to obtain an authentic integrity check database. Using the method according to the invention, the database can be signed so that the contents of the database can only be changed by authorized persons who have the right to sign. According to the invention, data records stored in a database cannot be deleted or modified in any way without breaking the chain of calculated integrity checksums.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
Сопровождающие чертежи, которые приложены, чтобы обеспечить лучшее понимание изобретения, и составляют часть данного описания, иллюстрируют варианты выполнения изобретения и вместе с описанием помогают пояснить принципы изобретения. На чертежах:The accompanying drawings, which are attached to provide a better understanding of the invention, and form part of this description, illustrate embodiments of the invention and together with the description help to explain the principles of the invention. In the drawings:
фиг.1 - блок-схема, иллюстрирующая основной принцип верификации целостности согласно изобретению,figure 1 is a block diagram illustrating the basic principle of verification of integrity according to the invention,
фиг.2 - схема последовательности операций, иллюстрирующая вариант сохранения записи данных согласно изобретению,2 is a flowchart illustrating an embodiment of storing a data record according to the invention,
фиг.3 - блок-схема, иллюстрирующая вариант выполнения системы согласно схеме, представленной на фиг.2.figure 3 is a block diagram illustrating an embodiment of a system according to the scheme shown in figure 2.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
Ниже подробно описаны варианты выполнения настоящего изобретения, примеры которых проиллюстрированы на сопровождающих чертежах.Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings.
Фиг.1 представляет блок-схему основного принципа верификации целостности. Согласно фиг.1 входные данные могут быть приняты в любой подходящей форме. Однако изобретение наиболее полезно в случаях, когда имеется большое количество записей данных, поступающих в быстром темпе. Подобными записями могут быть, например, записи данных файлов протокола транзакций банка, которые обычно хранятся в больших базах данных. Эти файлы протокола должны быть аутентичны, и они должны включать каждое событие, чтобы они при необходимости могли быть приняты в гражданском суде.Figure 1 is a block diagram of a basic principle of integrity verification. According to figure 1, the input data can be taken in any suitable form. However, the invention is most useful in cases where there are a large number of data records coming in at a fast pace. Such records may be, for example, data records of bank transaction protocol files, which are usually stored in large databases. These log files must be authentic, and they must include every event so that they can be admitted to a civil court if necessary.
Согласно фиг.1, данные поступают в подписывающий компонент 10. Подписывающий компонент 10 имеет своего собственного администратора, имеющего полномочия для подписывания записей данных. Подписывание может осуществляться в форме цифровой подписи, шифрования или одностороннего хеширования. В данном описании под подписыванием понимается вычисление контрольной суммы и присоединение вычисленной контрольной суммы к записи данных. Далее ключ подписывания упоминается как ключ хранения, который может быть любым типом ключа подписывания. С другой стороны, может быть полезным использовать традиционный способ шифрования с открытым ключом, позволяющий включать имя подписавшей стороны в каждую подписанную запись. Ключ может быть введен в систему подобно тому, как это делается в системах безопасной почты, в которых ключ включает секретный файл ключа и секретную часть пароля, которая вводится с клавиатуры в устройство шифрования. Ключ также может быть введен посредством смарт-карты или подобным образом, или посредством любого другого подходящего устройства.According to figure 1, the data enters the signing component 10. The signing component 10 has its own administrator having the authority to sign data records. Signing can take the form of digital signature, encryption or one-way hashing. In this description, signing refers to calculating a checksum and attaching the calculated checksum to a data record. Hereinafter, the signing key is referred to as a storage key, which may be any type of signing key. On the other hand, it may be useful to use the traditional public key encryption method, which allows you to include the name of the signatory in each signed record. The key can be entered into the system in the same way as it is done in secure mail systems, in which the key includes the secret key file and the secret part of the password, which is entered from the keyboard into the encryption device. The key can also be entered via a smart card or the like, or by any other suitable device.
Способ согласно изобретению состоит в подписывании каждой записи данных контрольной суммой проверки целостности, которая вычисляется исходя из записи данных, которая должна быть подписана, контрольной суммы проверки целостности предыдущей записи и ключа хранения. Вычисленная контрольная сумма проверки целостности затем присоединяется к записи данных. Она может быть присоединена непосредственно к данным, либо база 11 данных может содержать отдельное поле для контрольной суммы проверки целостности. Поскольку вычисленная контрольная сумма проверки целостности зависит от предыдущей контрольной суммы проверки целостности, невозможно удалить одну или более строку из середины записей, без того чтобы не нарушить целостность, так как для верификации необходима полная цепочка контрольных сумм проверки целостности. Подписанные данные с контрольными суммами проверки целостности будут храниться в базе 11 данных. Администратор базы данных может выполнять различные задания в отношении хранимых данных, но он не может тайно изменять содержимое данных или удалять записи данных.The method according to the invention consists in signing each data record with an integrity check checksum, which is calculated from the data record to be signed, the integrity checksum of the previous record and the storage key. The calculated integrity check checksum is then attached to the data record. It can be attached directly to the data, or the database 11 may contain a separate field for the checksum of the integrity check. Since the calculated integrity check checksum depends on the previous integrity check checksum, it is impossible to remove one or more lines from the middle of the records without violating the integrity, since a complete integrity checksum chain is required for verification. Signed data with integrity checksums will be stored in database 11. The database administrator can perform various tasks regarding stored data, but he cannot secretly modify the contents of the data or delete data records.
Верификация целостности последовательности записей данных выполняется так же, как и подписывание. Верифицирующий компонент 12 вычисляет контрольную сумму проверки целостности на основе подписываемой записи данных, предыдущей контрольной суммы проверки целостности и ключа хранения. Вычисленная контрольная сумма проверки целостности затем сравнивается с контрольной суммой, хранящейся в базе 11 данных. Если контрольные суммы не равны, то база данных была изменена и не является аутентичной. Способ имеет то преимущество, что целостность записи данных может быть быстро проверена без необходимости проверять целостность всей базы данных. Верификация может быть начата в любой точке потока последовательных записей данных. Следует отметить, что аутентичность записи, из которой была извлечена предыдущая контрольная сумма проверки целостности, не может гарантироваться. Таким образом, процесс верификации должен быть начат с извлечения контрольной суммы проверки целостности записи данных, предшествующей верифицируемой записи данных.Verification of the integrity of the sequence of data records is performed in the same way as signing. The verification component 12 calculates an integrity check checksum based on a signed data record, a previous integrity check checksum, and a storage key. The calculated integrity check checksum is then compared with the checksum stored in the database 11. If the checksums are not equal, then the database has been modified and is not authentic. The method has the advantage that the integrity of the data record can be quickly verified without having to verify the integrity of the entire database. Verification can be started at any point in the stream of consecutive data records. It should be noted that the authenticity of the record from which the previous integrity check checksum was extracted cannot be guaranteed. Thus, the verification process should begin by extracting the checksum of the integrity of the data record preceding the verified data record.
Если для подписывания используется криптография с открытым ключом, то уполномоченное лицо, обладающее правом подписи, подписывает записи в подписывающем компоненте 10 с помощью своего секретного ключа. Ключ может быть создан для подписывания определенной базы данных и может быть разделен с доверенной группой, имеющей право подписи. При верификации целостности открытый ключ лица, обладающего правом подписи, используется для расшифровки контрольной суммы.If public key cryptography is used for signing, then an authorized person with the right to sign signs the entries in the signing component 10 using his private key. A key can be created to sign a specific database and can be shared with a trusted group that has the right to sign. When checking integrity, the public key of the person with the right to sign is used to decrypt the checksum.
Имеются различные способы начального создания базы данных. Поскольку не имеется никакой предыдущей доступной контрольной суммы проверки целостности, вместо предыдущей контрольной суммы проверки целостности для первой строки базы данных может использоваться вектор инициализации. Первая строка может включать фактические данные или данные, связанные с инициализацией. Например, вектор инициализации может включать информацию, касающуюся инициализации, такую как дату, и цифровую подпись ответственного лица в качестве контрольной суммы. Таким образом, имеется предыдущая контрольная сумма для первой реальной записи данных. Вектор или строка инициализации могут использоваться также в середине базы данных, что позволяет распределять данные по блокам. Распределение данных по блокам не изменяет процедуру верификации.There are various ways to initially create a database. Since there is no previous integrity check checksum available, an initialization vector can be used instead of the previous integrity checksum for the first row of the database. The first line may include actual data or data related to initialization. For example, an initialization vector may include information regarding initialization, such as a date, and a digital signature of the person in charge as a checksum. Thus, there is a previous checksum for the first real data record. A vector or initialization string can also be used in the middle of the database, which allows you to distribute data into blocks. The distribution of data in blocks does not change the verification procedure.
Фиг.2 иллюстрирует последовательность операций для одного варианта сохранения записи данных. На шаге 20 принимаются данные от любой подходящей информационной системы. Данные аналогичны тем, которые принимаются в варианте выполнения, показанном на фиг.1. После приема данных на шаге 21 вычисляется контрольная сумма проверки целостности. Контрольная сумма проверки целостности может быть вычислена любым общеизвестным способом, как рассмотрено при описании варианта выполнения изобретения, показанного на фиг.1. Вычисление контрольной суммы проверки целостности основывается на предыдущей контрольной сумме, т.е. контрольной сумме, приложенной к предыдущей записи данных, на подписываемых данных и на ключе хранения. Только лица, имеющие право подписывать записи данных, знают ключ хранения. Предыдущая контрольная сумма читается из памяти подписывающего устройства. Если контрольная сумма проверки целостности всегда читается из базы данных, то администратор базы данных может злонамеренно удалить последнюю строку базы данных без особых проблем, поскольку цепь контрольных сумм проверки целостности не будет нарушена. Имеются также другие средства обеспечения аутентичности последней строки, например использование текущего последовательного номера как части параметров контрольной суммы.FIG. 2 illustrates a flowchart for one embodiment of storing a data record. At step 20, data is received from any suitable information system. The data are similar to those accepted in the embodiment shown in FIG. After receiving the data in step 21, the integrity check checksum is calculated. The integrity check checksum can be calculated by any well-known method, as discussed in the description of the embodiment of the invention shown in FIG. The calculation of the integrity check checksum is based on the previous checksum, i.e. the checksum applied to the previous data record on the data to be signed and on the storage key. Only persons authorized to sign data records know the storage key. The previous checksum is read from the memory of the signing device. If the integrity check checksum is always read from the database, the database administrator can maliciously delete the last row of the database without any problems, because the integrity check checksum chain will not be broken. There are also other means of ensuring the authenticity of the last line, for example, using the current sequence number as part of the checksum parameters.
Запись данных подписывается путем присоединения вычисленной контрольной суммы проверки целостности к записи данных, как показано на шаге 22. Подписанные данные будут сохранены в базе данных. База данных может содержать отдельные поля для данных и контрольной суммы проверки целостности. База данных может также содержать дополнительные информационные поля, которые также могут использоваться для вычисления контрольной суммы проверки целостности, например имя подписавшей стороны. После сохранения данных в базе данных контрольная сумма проверки целостности сохраняется в памяти подписывающего устройства, как показано на шаге 24. Этим гарантируется, что предыдущая контрольная сумма проверки целостности, используемая позже, не изменяется после того, как она была вычислена.The data record is signed by attaching the calculated integrity check checksum to the data record, as shown in
Фиг.3 иллюстрирует блок-схему одного из вариантов выполнения изобретения. На фиг.3 все компоненты показаны в виде отдельных блоков, но для специалиста очевидно, что компоненты могут быть реализованы также в программной форме. Система функционирует согласно способу, представленному на фиг.2. Поэтому ее функционирование подробно не описывается.Figure 3 illustrates a block diagram of one embodiment of the invention. In Fig. 3, all components are shown as separate blocks, but it will be apparent to those skilled in the art that the components can also be implemented in software form. The system operates according to the method presented in figure 2. Therefore, its operation is not described in detail.
Система согласно изобретению включает источник 30 данных, подписывающий компонент 31, базу 32 данных, консоль 33 администрирования базы данных и верифицирующий компонент 34. Источником 30 данных может быть любая информационная система, которая производит данные, которые нужно сохранить в базе 32 данных. Подписывающий компонент 31 реализован, например посредством компьютерной программы, выполняемой в компьютере, который связан с системой 32 базы данных, или посредством программного модуля в системе 32 базы данных. Базой 32 данных и консолью 33 администрирования базы данных может быть любая система баз данных общего назначения, например система управления базами данных Oracle. Верифицирующий компонент 34 аналогичен подписывающему компоненту 31. Если используется инфраструктура шифрования с открытым ключом, то подписывающий компонент 31 имеет секретный ключ, а верифицирующий компонент 34 имеет соответствующий открытый ключ.The system according to the invention includes a data source 30, a
Для специалиста очевидно, что с развитием техники основная идея изобретения может быть осуществлена различными путями. Таким образом, изобретение и его реализация не ограничиваются примерами, описанными выше, а могут изменяться в рамках пунктов формулы изобретения.For a specialist it is obvious that with the development of technology the main idea of the invention can be implemented in various ways. Thus, the invention and its implementation are not limited to the examples described above, but may vary within the framework of the claims.
Claims (18)
прием записи данных для сохранения в базе данных;
извлечение из памяти подписывающего компонента первой контрольной суммы проверки целостности, сохраненной вместе с записью данных, предшествующей сохраняемой записи данных;
вычисление второй контрольной суммы проверки целостности для сохраняемой записи данных криптографическим способом на основе ключа хранения, извлеченной первой контрольной суммы проверки целостности и сохраняемой записи данных;
сохранение записи данных и второй контрольной суммы проверки целостности в базе данных; и
сохранение второй контрольной суммы проверки целостности в памяти подписывающего компонента.1. A method of storing data records in a database system in which a signing component is used to sign data records, wherein said method includes:
receiving data records for storage in the database;
retrieving from the memory of the signing component the first checksum of the integrity check stored with the data record preceding the stored data record;
computing a second integrity check checksum for the stored data record in a cryptographic manner based on the storage key, the first integrity check checksum and the stored data record extracted;
storing the data record and the second integrity check checksum in the database; and
storing the second integrity check checksum in the memory of the signing component.
извлечение верифицируемой записи данных из базы данных;
извлечение контрольной суммы проверки целостности верифицируемой записи данных из базы данных, при этом контрольную сумму проверки целостности верифицируемой записи данных извлекают из памяти верифицирующего компонента, если верифицируемая запись является последней записью в базе данных;
извлечение первой контрольной суммы проверки целостности для записи данных, предшествующей извлеченной записи данных;
вычисление второй контрольной суммы проверки целостности для извлеченной записи данных на основе извлеченной записи данных, первой контрольной суммы проверки целостности и ключа хранения; и
сравнение второй контрольной суммы проверки целостности с контрольной суммой проверки целостности верифицируемой записи данных, причем верифицируемая запись данных считается аутентичной, если контрольная сумма проверки целостности верифицируемой записи данных и вторая контрольная сумма проверки целостности равны.8. A method for verifying the integrity of data records in a database, in which a verification component is used to verify the integrity of data records, the method comprising:
extracting a verified record of data from the database;
extracting the checksum of the integrity check of the verified data record from the database, while the checksum of the integrity check of the verified data record is extracted from the memory of the verifying component if the verified record is the last record in the database;
extracting a first integrity check checksum for the data record preceding the extracted data record;
calculating a second integrity check checksum for the extracted data record based on the extracted data record, the first integrity check checksum and the storage key; and
comparing the second integrity check checksum with the integrity checksum of the verified data record, wherein the verified data record is considered authentic if the integrity checksum of the verified data record and the second integrity checksum are equal.
базу данных, сконфигурированную с возможностью сохранения и предоставления подписанных данных;
источник данных, сконфигурированный с возможностью предоставления записей данных для сохранения в базе данных;
подписывающий компонент, сконфигурированный с возможностью подписывания записей данных, которые должны быть сохранены в базе данных, контрольной суммой проверки целостности, вычисляемой на основании подписываемой записи данных, контрольной суммы проверки целостности записи данных, предшествующей подписываемой записи данных, и ключа хранения, при этом подписывающий компонент сконфигурирован с возможностью сохранения контрольной суммы проверки целостности в памяти подписывающего компонента; и
верифицирующий компонент, сконфигурированный с возможностью верифицировать целостность выбранных записей данных путем вычисления контрольной суммы проверки целостности на основании верифицируемой записи данных, контрольной суммы проверки целостности записи данных, предшествующей верифицируемой записи данных, и ключа хранения, и сравнения вычисленной контрольной суммы проверки целостности с контрольной суммой проверки целостности, хранимой в базе данных, при этом контрольную сумму проверки целостности верифицируемой записи данных извлекают из памяти верифицирующего компонента, если верифицируемая запись является последней записью в базе данных.15. A system for storing data records in a database system in which a signing component is used to sign data records, and a verification component is used to verify the integrity of data records, wherein said system for storing data records includes:
a database configured to store and provide signed data;
a data source configured to provide data records for storage in a database;
a signing component configured to sign data records to be stored in the database, an integrity check checksum calculated on the basis of the data record being signed, a data record integrity checksum preceding the data record being signed, and a storage key, while the signing component configured to store the integrity checksum in the memory of the signing component; and
a verification component configured to verify the integrity of the selected data records by calculating the integrity check checksum based on the verified data record, the data record integrity checksum, the previous data record being verified, and the storage key, and comparing the calculated integrity check checksum with the verification checksum the integrity stored in the database, while the checksum of the integrity check of the verified record data x is extracted from the memory component of the verification, if verifiable record is the last record in the database.
прием записи данных, подлежащей сохранению в базе данных,
извлечение первой контрольной суммы проверки целостности, сохраненной вместе с записью данных, предшествующей записи данных, подлежащей сохранению;
вычисление второй контрольной суммы проверки целостности для добавляемой записи данных криптографическим способом на основе ключа хранения, извлеченной первой контрольной суммы проверки целостности и записи данных, подлежащей сохранению; и
сохранение записи данных и второй контрольной суммы проверки целостности в базе данных.17. A device containing a computer program for storing data records in a database system in which a signing component is used to sign data records, while the computer program performs the following actions when it is executed in a computer device:
receiving a data record to be stored in the database,
retrieving the first integrity check checksum stored with the data record preceding the data record to be stored;
calculating a second integrity check checksum for the added data record in a cryptographic manner based on the storage key, the first integrity check checksum and the data record to be stored; and
storing the data record and the second integrity check checksum in the database.
извлечение записи данных, подлежащей верификации, из базы данных;
извлечение из базы данных контрольной суммы проверки целостности для верифицируемой записи данных;
извлечение первой контрольной суммы проверки целостности для записи данных, предшествующей извлеченной записи данных;
вычисление второй контрольной суммы проверки целостности для извлеченной записи данных на основе извлеченной записи данных, первой контрольной суммы проверки целостности и ключа хранения, и
сравнение второй контрольной суммы проверки целостности с контрольной суммой проверки целостности верифицируемой записи данных, причем запись данных считается аутентичной, если контрольная сумма проверки целостности верифицируемой записи данных и вторая контрольная сумма проверки целостности равны. 18. A device containing a computer program for verifying the integrity of data records in a database, while the computer program performs the following actions when executed in a computer device:
retrieving the data record to be verified from the database;
retrieving an integrity check checksum from the database for the verified data record;
extracting a first integrity check checksum for the data record preceding the extracted data record;
calculating a second integrity check checksum for the extracted data record based on the extracted data record, the first integrity check checksum and storage key, and
comparing the second integrity check checksum with the integrity checksum of the verified data record, the data record being considered authentic if the integrity checksum of the verified data record and the second integrity checksum are equal.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI20031856A FI20031856A0 (en) | 2003-12-18 | 2003-12-18 | Procedure for ensuring the integrity of data registration |
FI20031856 | 2003-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2006116797A RU2006116797A (en) | 2008-01-27 |
RU2351978C2 true RU2351978C2 (en) | 2009-04-10 |
Family
ID=29763550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2006116797/09A RU2351978C2 (en) | 2003-12-18 | 2004-12-17 | Method for provision of data records set integrity |
Country Status (10)
Country | Link |
---|---|
US (1) | US20050138046A1 (en) |
EP (1) | EP1695219A1 (en) |
JP (1) | JP2007510209A (en) |
KR (1) | KR100829977B1 (en) |
CN (1) | CN1894671A (en) |
BR (1) | BRPI0418205A (en) |
FI (1) | FI20031856A0 (en) |
RU (1) | RU2351978C2 (en) |
TW (1) | TWI291109B (en) |
WO (1) | WO2005059752A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2667608C1 (en) * | 2017-08-14 | 2018-09-21 | Иван Александрович Баранов | Method of ensuring the integrity of data |
RU2667780C2 (en) * | 2014-08-01 | 2018-09-24 | Сони Корпорейшн | Method of content format conversion verification |
WO2019059797A1 (en) * | 2017-09-20 | 2019-03-28 | Роман Евгеньевич ЧЕРЕПАНОВ | Method and device for controlling an event log database |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949666B2 (en) * | 2004-07-09 | 2011-05-24 | Ricoh, Ltd. | Synchronizing distributed work through document logs |
US8769135B2 (en) * | 2004-11-04 | 2014-07-01 | Hewlett-Packard Development Company, L.P. | Data set integrity assurance with reduced traffic |
US7702988B2 (en) * | 2005-10-24 | 2010-04-20 | Platform Computing Corporation | Systems and methods for message encoding and decoding |
US20070143250A1 (en) * | 2005-12-20 | 2007-06-21 | Beckman Coulter, Inc. | Adaptable database system |
US7606795B2 (en) * | 2007-02-08 | 2009-10-20 | International Business Machines Corporation | System and method for verifying the integrity and completeness of records |
US8996483B2 (en) * | 2007-03-28 | 2015-03-31 | Ricoh Co., Ltd. | Method and apparatus for recording associations with logs |
JP4765977B2 (en) * | 2007-03-29 | 2011-09-07 | 日本電気株式会社 | Replication system and data synchronization confirmation method |
US20090083188A1 (en) * | 2007-09-26 | 2009-03-26 | Cadillac Jack, Inc. | Secure Data Systems and Methods |
FR2926381A1 (en) * | 2008-01-11 | 2009-07-17 | Sagem Securite Sa | METHOD OF SECURE TRANSFER OF DATA |
US20090193265A1 (en) * | 2008-01-25 | 2009-07-30 | Sony Ericsson Mobile Communications Ab | Fast database integrity protection apparatus and method |
US8984301B2 (en) * | 2008-06-19 | 2015-03-17 | International Business Machines Corporation | Efficient identification of entire row uniqueness in relational databases |
US10128893B2 (en) | 2008-07-09 | 2018-11-13 | Secureall Corporation | Method and system for planar, multi-function, multi-power sourced, long battery life radio communication appliance |
US11469789B2 (en) | 2008-07-09 | 2022-10-11 | Secureall Corporation | Methods and systems for comprehensive security-lockdown |
US10447334B2 (en) | 2008-07-09 | 2019-10-15 | Secureall Corporation | Methods and systems for comprehensive security-lockdown |
CN101482887B (en) * | 2009-02-18 | 2013-01-09 | 北京数码视讯科技股份有限公司 | Anti-tamper verification method for key data in database |
DE102010011022A1 (en) * | 2010-03-11 | 2012-02-16 | Siemens Aktiengesellschaft | Method for secure unidirectional transmission of signals |
WO2013138785A1 (en) * | 2012-03-16 | 2013-09-19 | Secureall Corporation | Electronic apparatuses and methods for access control and for data integrity verification |
CN104035833A (en) * | 2013-03-07 | 2014-09-10 | 联发科技股份有限公司 | Method And System For Verifying Machine Readable Code Integrity |
US20150358296A1 (en) * | 2014-06-09 | 2015-12-10 | Royal Canadian Mint/Monnaie Royale Canadienne | Cloud-based secure information storage and transfer system |
AT517151B1 (en) * | 2015-04-24 | 2017-11-15 | Alexandra Hermann Ba | Method for authorizing access to anonymously stored data |
US9720950B2 (en) | 2015-06-15 | 2017-08-01 | International Business Machines Corporation | Verification of record based systems |
KR102013415B1 (en) * | 2017-09-06 | 2019-08-22 | 충남대학교산학협력단 | System and method for verifying integrity of personal information |
RU2697953C2 (en) | 2018-02-06 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | System and method of deciding on data compromising |
SE1951008A1 (en) * | 2019-09-04 | 2021-03-05 | Fingerprint Cards Ab | Secure storage of sensor setting data |
US11347895B2 (en) * | 2019-12-03 | 2022-05-31 | Aptiv Technologies Limited | Method and system of authenticated encryption and decryption |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
US4864616A (en) * | 1987-10-15 | 1989-09-05 | Micronyx, Inc. | Cryptographic labeling of electronically stored data |
JP3472681B2 (en) * | 1997-04-07 | 2003-12-02 | 富士通株式会社 | Data storage method, program recording medium, and data storage device |
US5978475A (en) * | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US6557044B1 (en) * | 1999-06-01 | 2003-04-29 | Nortel Networks Limited | Method and apparatus for exchange of routing database information |
FI20000178A (en) * | 2000-01-28 | 2001-07-29 | Nokia Networks Oy | Data recovery in a distributed system |
US7020835B2 (en) * | 2000-10-19 | 2006-03-28 | Oracle International Corporation | Enhancements to data integrity verification mechanism |
US20030023850A1 (en) * | 2001-07-26 | 2003-01-30 | International Business Machines Corporation | Verifying messaging sessions by digital signatures of participants |
AU2003216191A1 (en) * | 2002-02-08 | 2003-09-02 | Ingrian Networks, Inc. | Verifying digital content integrity |
US6968349B2 (en) * | 2002-05-16 | 2005-11-22 | International Business Machines Corporation | Apparatus and method for validating a database record before applying journal data |
-
2003
- 2003-12-18 FI FI20031856A patent/FI20031856A0/en unknown
-
2004
- 2004-02-18 US US10/779,759 patent/US20050138046A1/en not_active Abandoned
- 2004-12-10 TW TW093138304A patent/TWI291109B/en not_active IP Right Cessation
- 2004-12-17 BR BRPI0418205-7A patent/BRPI0418205A/en not_active IP Right Cessation
- 2004-12-17 WO PCT/FI2004/000774 patent/WO2005059752A1/en active Application Filing
- 2004-12-17 RU RU2006116797/09A patent/RU2351978C2/en not_active IP Right Cessation
- 2004-12-17 KR KR1020067011660A patent/KR100829977B1/en not_active IP Right Cessation
- 2004-12-17 EP EP04805169A patent/EP1695219A1/en not_active Withdrawn
- 2004-12-17 CN CNA2004800375384A patent/CN1894671A/en active Pending
- 2004-12-17 JP JP2006537334A patent/JP2007510209A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2667780C2 (en) * | 2014-08-01 | 2018-09-24 | Сони Корпорейшн | Method of content format conversion verification |
RU2667608C1 (en) * | 2017-08-14 | 2018-09-21 | Иван Александрович Баранов | Method of ensuring the integrity of data |
WO2019059797A1 (en) * | 2017-09-20 | 2019-03-28 | Роман Евгеньевич ЧЕРЕПАНОВ | Method and device for controlling an event log database |
Also Published As
Publication number | Publication date |
---|---|
KR20060100466A (en) | 2006-09-20 |
EP1695219A1 (en) | 2006-08-30 |
JP2007510209A (en) | 2007-04-19 |
CN1894671A (en) | 2007-01-10 |
FI20031856A0 (en) | 2003-12-18 |
TWI291109B (en) | 2007-12-11 |
KR100829977B1 (en) | 2008-05-19 |
WO2005059752A1 (en) | 2005-06-30 |
TW200529016A (en) | 2005-09-01 |
RU2006116797A (en) | 2008-01-27 |
US20050138046A1 (en) | 2005-06-23 |
BRPI0418205A (en) | 2007-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2351978C2 (en) | Method for provision of data records set integrity | |
US11849023B2 (en) | Verifiable redactable audit log | |
US7000118B1 (en) | Asymmetric system and method for tamper-proof storage of an audit trial for a database | |
US8639947B2 (en) | Structure preserving database encryption method and system | |
US8190915B2 (en) | Method and apparatus for detecting data tampering within a database | |
Hacigümüş et al. | Ensuring the integrity of encrypted databases in the database-as-a-service model | |
US6981151B1 (en) | Digital data storage systems, computers, and data verification methods | |
US20080313475A1 (en) | Methods and systems for tamper resistant files | |
Peterson et al. | Design and Implementation of Verifiable Audit Trails for a Versioning File System. | |
JP2002135247A (en) | Digital information storing method | |
KR20190027207A (en) | System and method for verifying integrity of personal information | |
CN100452026C (en) | Data once writing method and database safety management method based on the same method | |
Burns et al. | Verifiable audit trails for a versioning file system | |
US20160092886A1 (en) | Methods of authorizing a computer license | |
US20230107805A1 (en) | Security System | |
Nazarko et al. | OVERVIEW OF DATABASE INFORMATION PROTECTION APPROACHES IN MODERN DATABASE MANAGEMENT SYSTEMS | |
Morovat et al. | Verifying integrity of big data in cloud databases | |
JP2002006739A (en) | Authentication information generating device and data verifying device | |
AU720583B2 (en) | A method for protecting data | |
Pal et al. | Enhancing file data security in linux operating system by integrating secure file system | |
CN114979168A (en) | Multi-mechanism information sharing system and method based on block chain | |
CN112632639A (en) | Block chain-based distributed trusted log management method | |
Hardjono | Applications of cryptography for the security of database and distributed database systems | |
Posse et al. | Evaluation of Data Integrity Methods in Storage: Oracle Database | |
Yang et al. | An Accountability Scheme for Oblivious RAMs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20101218 |