RU2351978C2 - Method for provision of data records set integrity - Google Patents

Method for provision of data records set integrity Download PDF

Info

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
Application number
RU2006116797/09A
Other languages
Russian (ru)
Other versions
RU2006116797A (en
Inventor
Маркус МИЕТТИНЕН (FI)
Маркус МИЕТТИНЕН
Киммо ХЯТЁНЕН (FI)
Киммо ХЯТЁНЕН
Original Assignee
Нокиа Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Нокиа Корпорейшн filed Critical Нокиа Корпорейшн
Publication of RU2006116797A publication Critical patent/RU2006116797A/en
Application granted granted Critical
Publication of RU2351978C2 publication Critical patent/RU2351978C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

FIELD: information technologies. ^ SUBSTANCE: system for storage of data records includes data base configured with the possibility to store and represent signed data, data source configured with the possibility to present data records for storage in data base, signing component configured with the possibility to sign data records, which should be saved in data base, control sum of integrity checkup, which is calculated on the basis of signed data record, control sum of data record integrity checkup, which precedes the signed data record, and verifying component configured with the possibility to verify integrity of selected data records by means of calculation of control sum for integrity checkup on the basis of verified data record, control sum of data record integrity checkup, which precedes verified data record, and storage key, and comparison of calculated control sum of integrity checkup to control sum of integrity checkup, which is stored in data base. ^ EFFECT: increased protection of recorded data. ^ 18 cl, 3 dwg

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 step 22. The signed data will be stored in the database. The database may contain separate fields for data and integrity checksum. The database may also contain additional information fields that can also be used to calculate the integrity checksum, for example, the name of the signatory. After storing the data in the database, the integrity checksum is stored in the memory of the signing device, as shown in step 24. This ensures that the previous integrity checksum used later does not change after it has been calculated.

Фиг.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 signing component 31, a database 32, a database administration console 33 and a verification component 34. The data source 30 can be any information system that produces data that needs to be stored in the database 32. The signing component 31 is implemented, for example, through a computer program running on a computer that is connected to the database system 32, or through a software module in the database system 32. The database 32 and the database administration console 33 can be any general-purpose database system, for example, an Oracle database management system. Verification component 34 is similar to signing component 31. If a public key encryption infrastructure is used, then signing component 31 has a secret key, and verification component 34 has a corresponding public key.

Для специалиста очевидно, что с развитием техники основная идея изобретения может быть осуществлена различными путями. Таким образом, изобретение и его реализация не ограничиваются примерами, описанными выше, а могут изменяться в рамках пунктов формулы изобретения.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. Способ сохранения записей данных в системе базы данных, в которой подписывающий компонент используется для подписывания записей данных, при этом указанный способ включает:
прием записи данных для сохранения в базе данных;
извлечение из памяти подписывающего компонента первой контрольной суммы проверки целостности, сохраненной вместе с записью данных, предшествующей сохраняемой записи данных;
вычисление второй контрольной суммы проверки целостности для сохраняемой записи данных криптографическим способом на основе ключа хранения, извлеченной первой контрольной суммы проверки целостности и сохраняемой записи данных;
сохранение записи данных и второй контрольной суммы проверки целостности в базе данных; и
сохранение второй контрольной суммы проверки целостности в памяти подписывающего компонента.
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.
2. Способ по п.1, в котором ключ хранения является секретным ключом инфраструктуры шифрования с открытым ключом.2. The method of claim 1, wherein the storage key is a secret key of the public key encryption infrastructure. 3. Способ по п.1, в котором в качестве извлекаемой первой контрольной суммы проверки целостности для первой строки базы данных используют сгенерированный вектор инициализации.3. The method according to claim 1, in which the generated initialization vector is used as the extracted first integrity check checksum for the first database row. 4. Способ по п.1, в котором извлеченная контрольная сумма проверки целостности для первой строки базы данных является цифровой подписью подписывающего компонента.4. The method according to claim 1, in which the extracted integrity check checksum for the first row of the database is a digital signature of the signing component. 5. Способ по п.1, в котором первая контрольная сумма проверки целостности извлекается из памяти подписывающего компонента.5. The method according to claim 1, in which the first checksum of the integrity check is extracted from the memory of the signing component. 6. Способ по п.1, в котором вторая контрольная сумма проверки целостности хранится в памяти подписывающего компонента.6. The method according to claim 1, in which the second integrity checksum is stored in the memory of the signing component. 7. Способ по п.1, в котором контрольная сумма проверки целостности содержит текущий последовательный номер.7. The method of claim 1, wherein the integrity check checksum comprises a current serial number. 8. Способ верификации целостности записей данных в базе данных, в которой для верификации целостности записей данных используется верифицирующий компонент, при этом указанный способ включает:
извлечение верифицируемой записи данных из базы данных;
извлечение контрольной суммы проверки целостности верифицируемой записи данных из базы данных, при этом контрольную сумму проверки целостности верифицируемой записи данных извлекают из памяти верифицирующего компонента, если верифицируемая запись является последней записью в базе данных;
извлечение первой контрольной суммы проверки целостности для записи данных, предшествующей извлеченной записи данных;
вычисление второй контрольной суммы проверки целостности для извлеченной записи данных на основе извлеченной записи данных, первой контрольной суммы проверки целостности и ключа хранения; и
сравнение второй контрольной суммы проверки целостности с контрольной суммой проверки целостности верифицируемой записи данных, причем верифицируемая запись данных считается аутентичной, если контрольная сумма проверки целостности верифицируемой записи данных и вторая контрольная сумма проверки целостности равны.
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.
9. Способ по п.8, в котором ключом хранения является открытый ключ инфраструктуры шифрования с открытым ключом.9. The method of claim 8, wherein the storage key is a public key of a public key encryption infrastructure. 10. Способ по п.8, в котором в качестве извлекаемой первой контрольной суммы проверки целостности для первой строки базы данных используют сгенерированный вектор инициализации.10. The method of claim 8, in which the generated initialization vector is used as the extracted first integrity check checksum for the first database row. 11. Способ по п.8, в котором извлекаемая контрольная сумма проверки целостности для первой строки базы данных является цифровой подписью уполномоченного лица, имеющего право подписи.11. The method according to claim 8, in which the extracted integrity checksum for the first row of the database is a digital signature of an authorized person authorized to sign. 12. Способ по п.8, в котором первая контрольная сумма проверки целостности извлекается из памяти верифицирующего компонента.12. The method of claim 8, in which the first integrity checksum is retrieved from the memory of the verification component. 13. Способ по п.8, в котором вторая контрольная сумма проверки целостности сохраняется в памяти верифицирующего компонента.13. The method of claim 8, in which the second integrity checksum is stored in the memory of the verification component. 14. Способ по п.8, в котором контрольная сумма проверки целостности содержит текущий последовательный номер.14. The method of claim 8, wherein the integrity check checksum comprises a current sequence number. 15. Система для хранения записей данных в системе базы данных, в которой подписывающий компонент используется для подписывания записей данных, а верифицирующий компонент используется для верификации целостности записей данных, при этом указанная система для хранения записей данных включает:
базу данных, сконфигурированную с возможностью сохранения и предоставления подписанных данных;
источник данных, сконфигурированный с возможностью предоставления записей данных для сохранения в базе данных;
подписывающий компонент, сконфигурированный с возможностью подписывания записей данных, которые должны быть сохранены в базе данных, контрольной суммой проверки целостности, вычисляемой на основании подписываемой записи данных, контрольной суммы проверки целостности записи данных, предшествующей подписываемой записи данных, и ключа хранения, при этом подписывающий компонент сконфигурирован с возможностью сохранения контрольной суммы проверки целостности в памяти подписывающего компонента; и
верифицирующий компонент, сконфигурированный с возможностью верифицировать целостность выбранных записей данных путем вычисления контрольной суммы проверки целостности на основании верифицируемой записи данных, контрольной суммы проверки целостности записи данных, предшествующей верифицируемой записи данных, и ключа хранения, и сравнения вычисленной контрольной суммы проверки целостности с контрольной суммой проверки целостности, хранимой в базе данных, при этом контрольную сумму проверки целостности верифицируемой записи данных извлекают из памяти верифицирующего компонента, если верифицируемая запись является последней записью в базе данных.
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.
16. Система по п.15, в которой подписывающий компонент и верифицирующий компонент используют инфраструктуру шифрования с открытым ключом для вычисления и верификации контрольной суммы.16. The system of claim 15, wherein the signing component and the verification component use the public key encryption infrastructure to calculate and verify the checksum. 17. Устройство, содержащее компьютерную программу для сохранения записей данных в системе базы данных, в которой подписывающий компонент используется для подписывания записей данных, при этом компьютерная программа выполняет следующие действия при ее выполнении в компьютерном устройстве:
прием записи данных, подлежащей сохранению в базе данных,
извлечение первой контрольной суммы проверки целостности, сохраненной вместе с записью данных, предшествующей записи данных, подлежащей сохранению;
вычисление второй контрольной суммы проверки целостности для добавляемой записи данных криптографическим способом на основе ключа хранения, извлеченной первой контрольной суммы проверки целостности и записи данных, подлежащей сохранению; и
сохранение записи данных и второй контрольной суммы проверки целостности в базе данных.
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. Устройство, содержащее компьютерную программу для верификации целостности записей данных в базе данных, при этом компьютерная программа выполняет следующие действия при выполнении в компьютерном устройстве:
извлечение записи данных, подлежащей верификации, из базы данных;
извлечение из базы данных контрольной суммы проверки целостности для верифицируемой записи данных;
извлечение первой контрольной суммы проверки целостности для записи данных, предшествующей извлеченной записи данных;
вычисление второй контрольной суммы проверки целостности для извлеченной записи данных на основе извлеченной записи данных, первой контрольной суммы проверки целостности и ключа хранения, и
сравнение второй контрольной суммы проверки целостности с контрольной суммой проверки целостности верифицируемой записи данных, причем запись данных считается аутентичной, если контрольная сумма проверки целостности верифицируемой записи данных и вторая контрольная сумма проверки целостности равны.
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.
RU2006116797/09A 2003-12-18 2004-12-17 Method for provision of data records set integrity RU2351978C2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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