KR20100081873A - Method of storing data and checking integrity of data, using common id in separated database system - Google Patents

Method of storing data and checking integrity of data, using common id in separated database system Download PDF

Info

Publication number
KR20100081873A
KR20100081873A KR1020090001295A KR20090001295A KR20100081873A KR 20100081873 A KR20100081873 A KR 20100081873A KR 1020090001295 A KR1020090001295 A KR 1020090001295A KR 20090001295 A KR20090001295 A KR 20090001295A KR 20100081873 A KR20100081873 A KR 20100081873A
Authority
KR
South Korea
Prior art keywords
database
record
common
hash function
records
Prior art date
Application number
KR1020090001295A
Other languages
Korean (ko)
Other versions
KR101015401B1 (en
Inventor
이필중
서재우
양연형
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 포항공과대학교 산학협력단
Priority to KR1020090001295A priority Critical patent/KR101015401B1/en
Publication of KR20100081873A publication Critical patent/KR20100081873A/en
Application granted granted Critical
Publication of KR101015401B1 publication Critical patent/KR101015401B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A method for storing a record using a common id in a distributed database system and a method for checking integrity are provided to supply connectivity of distributed data using a common ID generated in each database. CONSTITUTION: A common ID to which a hash function value is applied corresponds to a corresponding record. Hash function values among the first to n-th records are connected through a communication channel between the first and second databases(110,120) so that the hash function value is calculated. The first and second databases receive a reference request of an original copy record. The record is illegally copied/forged according to whether a common ID is matched with the hash function value. The common ID corresponds to the first and second records saved in the first and second databases.

Description

분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법{Method of storing data and checking integrity of data, using common ID in separated database system}Method of storing data and checking integrity of data, using common ID in separated database system}

본 발명은 데이터베이스에서 저장 방법 및 무결성 확인 방법에 관한 것으로서, 보다 상세하게는 분리된 데이터베이스에 나누어 저장하는 환경에서 공통 ID를 이용하여 개별 데이터베이스에 저장된 자료를 연결하고 추후에 이들 자료 일부의 위ㆍ변조를 탐지할 수 있는 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법에 관한 것이다. The present invention relates to a storage method and an integrity checking method in a database. More specifically, in an environment of dividing and storing a database in a separate database, the present invention connects data stored in individual databases using a common ID, and later forges or modulates some of these data. The present invention relates to a record storing method and an integrity checking method using a common ID in a distributed database system capable of detecting a problem.

일반적으로 분산 데이터베이스는 자료의 분리 저장에 의한 부하 분담과, 관련된 자료를 관련된 장소에 보관하는 지역성 보장, 민감한 자료를 분산하여 저장하므로 얻어지는 안전성 재고 등을 위해 사용된다. 분산 데이터베이스에서 자료를 분산하는 방식은 크게 수평적 분할과 수직적 분할로 나눌 수 있다. In general, distributed databases are used for load sharing by separating and storing data, ensuring locality of storing related data in related places, and safety inventory obtained by distributing and storing sensitive data. The way data is distributed in a distributed database can be divided into horizontal partitions and vertical partitions.

수평적 분할은 전체 자료 중 일부의 레코드를 개별 데이터베이스에 저장하는 방식으로, 전체 자료 중 일부라 할지라도 각각의 레코드는 완전한 정보를 가지고 있는 방식이다. 수직적 분할은 각각의 레코드의 필드를 분할하여 특정 필드 또는 필드들의 묶음을 개별 데이터베이스에 저장하는 방식이다. 이 경우 각 데이터베이스는 전체 레코드 수와 동일한 수의 부분 레코드를 저장하지만 이들 레코드는 그 스스로는 완전한 정보를 가지고 있지 않게 된다. Horizontal partitioning is a way to store some records of a whole piece of data in a separate database, where each record has complete information, even if it is part of the whole piece of data. Vertical partitioning is a method of dividing a field of each record to store a specific field or group of fields in a separate database. In this case, each database stores the same number of partial records as the total number of records, but these records themselves do not have complete information.

수직적 분할 방식에서는 분산된 필드들을 나중에 취합하여 하나의 완전한 레코드를 얻기 위하여 각 필드들을 연결해 주는 방법이 존재해야 한다. 본 발명에서는 공통 ID를 이용하여 분산돼 있는 각 필드들을 연결하는 방식을 사용한다. 공통 ID를 이용할 경우 이 ID를 어떻게 만드는가에 따라서 그 특성이 달라질 수 있다. 종래의 기술에서는 난수(random number)나 일련 번호(sequence number) 등을 사용한다. 이렇게 하면 지역 자율성(local autonomy)을 보장하는 것이 가능하다는 장점이 있다. In the vertical partitioning scheme, there must be a way to combine the distributed fields later to combine the fields in order to obtain a complete record. In the present invention, a method of concatenating distributed fields using a common ID is used. If you use a common ID, its characteristics can vary depending on how you create this ID. In the prior art, a random number, a sequence number, or the like is used. This has the advantage of ensuring local autonomy.

그러나 이러한 경우 추가적인 대책을 사용하지 않으면 분산되어 있는 개별 데이터베이스에서 자료의 불법적인 조작이 일어나도 감지할 수 없으며, 이를 방지하기 위해 데이터베이스를 계층적으로 구성하여 상위 데이터베이스에서 하위 데이터베이스의 자료 변경 등을 지속적으로 감시하는 방법이 추가적으로 수행되어야 한다.In this case, however, if additional measures are not used, illegal manipulation of data may not be detected in the distributed individual databases.To prevent this, the database is hierarchically organized to continuously change the data in the lower database. Surveillance methods should be additionally performed.

이에 따라 데이터베이스 환경의 수직적 분할 방식에서 추가적인 서비스가 없이 저장되는 자료 자체가 무결성을 보장할 수 있는 자료 저장 방법이 요구되어 왔다.Accordingly, there has been a demand for a data storage method that can guarantee the integrity of data stored without additional services in the vertical partitioning of the database environment.

본 발명이 이루고자하는 기술적 과제는 자료를 데이터베이스에 나누어 저장하는 분산 데이터베이스 시스템에서 각각 분리되어 저장된 자료들의 연결성을 제공하기 위하여 개별 데이터베이스에서 공통 ID를 생성하고, 각 데이터베이스에서 생성된 공통 ID를 이용하여 분산된 자료들의 연결성을 제공하는 데 그 목적이 있다. The technical problem to be achieved in the present invention is to generate a common ID in a separate database in order to provide connectivity of stored data separately in a distributed database system that divides and stores the data in a database, distributed using a common ID generated in each database Its purpose is to provide connectivity for the data.

본 발명의 다른 기술적 과제는 각 데이터베이스가 상기 생성된 공통 ID로 연결되어 서로 다른 데이터베이스에 저장되는 분산된 자료들의 무결성을 확인하는 방법을 제공하는 데 그 목적이 있다.Another object of the present invention is to provide a method for checking the integrity of distributed data stored in different databases by connecting each database to the generated common ID.

상기 과제를 달성하기 위한 본 발명에 의한 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법은,In the distributed database system according to the present invention for achieving the above object is a record storage method and integrity checking method using a common ID,

복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장한 제1 내지 제n 레코드에 대한 해쉬함수값을 각각 생성하는 단계; 상기 데이터베이스 간의 통신 채널을 통하여 상기 제1 내지 제n 레코드간의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 적용한 공통 ID를 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 각 데이터베이스의 레코드의 해쉬함수값들을 연접시켜 재산출한 해쉬함수값이 일치하는지 여부에 따라 레코드의 위ㆍ변조를 판단하는 단계;를 포함함을 특징으로 한다.Generating a hash function value for each of the first to nth records in which original records are separated and stored corresponding to a plurality of n distributed databases; Concatenating a hash function value between the first to nth records through a communication channel between the databases, and setting and storing a common ID corresponding to the hash function value corresponding to the record; And when the database receives the reference request of the original record, the common ID corresponding to the record stored in the database is concatenated with the hash function values of the records of each distributed database so that the hash function value of the record is matched. And determining forgery and alteration.

또한, n이 2인 경우, 상기 공통 ID를 설정하여 저장하는 단계는, In addition, when n is 2, setting and storing the common ID,

제1 데이터베이스에서 저장하고 있는 제1레코드의 해쉬함수값을 산출하여 제2 데이터베이스에 전송하는 (a)단계; 상기 제2 데이터베이스에서 산출한 제2레코드의 해쉬함수값과 상기 제1 데이터베이스로부터 수신한 제1레코드의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 공통 ID로 설정하는 (b)단계;를 포함함을 특징으로 한다.(A) calculating a hash function value of the first record stored in the first database and transmitting the hash function value to the second database; (B) concatenating the hash function value of the second record calculated by the second database and the hash function value of the first record received from the first database to set the recalculated hash function value as a common ID; It is characterized by.

또한, 상기 (b)단계에서 상기 제1 데이터베이스에서 제1레코드의 해쉬함수값과 제2데이터베이스로부터 수신한 제2레코드의 해쉬함수값을 연접시켜 재산출한 해쉬함수값과 상기 공통 ID가 일치한 경우 상기 공통 ID 생성시 에러없음을 판단하는 단계를 더 포함함을 특징으로 한다.Further, when the hash function value of the first record and the hash function value of the second record received from the second database are concatenated in step (b), the hash function value recalculated matches the common ID. And determining no error when generating the common ID.

또한, 본 발명의 다른 목적을 달성하기 위한 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법은,In addition, in the distributed database system to achieve another object of the present invention, the record storage method and the integrity checking method using a common ID,

복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장하고 제1 내지 제n 레코드에 대한 해쉬함수값을 각각 생성하는 단계; 상기 데이터베이스 간의 통신 채널을 통하여 각 데이터베이스 간에 정보 데이터를 전송하여, 산출된 제1 내지 제n 레코드간의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 공통 ID로서 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 데이터베이스의 레코드의 해쉬함수값을 연접시켜 해쉬함수값을 재산출하고, 에러가 없으면 각 레코드를 출력하는 단계;를 포함함을 특징으로 한다.Separating and storing original records corresponding to a plurality of n distributed databases, and generating hash function values for the first to nth records, respectively; Transmitting information data between databases through a communication channel between the databases, concatenating the calculated hash function values between the first to nth records, and storing and regenerating the hash function values corresponding to the corresponding records as a common ID. ; And when the database receives the reference request of the original record, reconcatenates the hash function value of the records of the distributed database with the common ID corresponding to the record stored in the database, and regenerates the hash function value. Outputting; characterized in that it comprises a.

또한, 상기 데이터베이스 간의 통신은 암호 통신을 사용하여 안전성이 보장됨을 특징으로 한다.In addition, the communication between the database is characterized in that the security is ensured by using a cryptographic communication.

또한, 상기 방법들에서 해쉬함수를 대신해서 메시지 인증 코드를 사용함을 특징으로 한다.In addition, the above method is characterized by using a message authentication code in place of the hash function.

본 발명 의하면, 자료를 분리하여 저장하는 데이터베이스 환경에서 공통 ID와 저장된 자료만으로 자료의 무결성을 확인하고 분리된 레코드를 참조할 수 있다. 또한, 저장된 자료의 무결성을 확인하기 위해서 자료의 수정에 대한 지속적인 로그를 유지하는 등의 별도의 과정이 필요 없으며 로그를 유지ㆍ관리하기 위한 별도의 데이터베이스 공간이 필요 없다. According to the present invention, in a database environment in which data is separated and stored, the integrity of the data can be checked only with a common ID and the stored data, and the separated records can be referred to. In addition, to check the integrity of the stored data, there is no need for a separate process such as maintaining a continuous log of data modification, and a separate database space is not required to maintain and manage the log.

이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또한, 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be made based on the contents throughout the specification.

데이터베이스에 신원정보와 같은 민감한 자료들이 저장되어 있을 경우, 이 자료들을 분산하여 저장하면 자료 노출로 인한 개인의 프라이버시 침해를 줄일 수 있다. 이와 같이 자료를 분산시켜 저장하더라도 각 데이터베이스에 분산된 형태로 저장되어 있는 자료들을 연결하기 위해서는 공통 ID가 필요하다. 본 발명에서는 데이터베이스에서 분산된 자료를 연결하는 공통 ID를 생성하는 방법과 일부의 데이터베이스에 저장된 데이터들이 위ㆍ변조되었을 경우 상기 생성된 공통 ID를 이용하여 이를 감지할 수 있는 방법을 설명한다. 그리고 분산 데이터베이스 환경에서 개별 데이터베이스들 간에 공모하여 자료를 임의로 변경하는 상황은 다루지 않는다. 상기 생성된 공통 ID는 개별 데이터베이스에 나뉘어 저장된 자료들의 연결성과 무결성을 제공하며 저장된 자료들에 대해서는 다른 어떠한 정보도 제공하지 않는다.If sensitive data such as identity information is stored in the database, distributing and storing these data can reduce the privacy breach caused by data exposure. Even though data are distributed and stored in this way, a common ID is required to connect the data stored in each database in a distributed form. The present invention describes a method of generating a common ID for connecting distributed data in a database, and a method of detecting the same by using the generated common ID when data stored in some databases are forged or forged. And it does not cover the situation of changing data arbitrarily among individual databases in a distributed database environment. The generated common ID provides connectivity and integrity of data stored in separate databases and does not provide any other information about the stored data.

도 1은 본 발명이 적용되는 분산된 데이터베이스 시스템을 도시한다. 1 illustrates a distributed database system to which the present invention is applied.

도 1에서 원본 레코드

Figure 112009000927652-PAT00001
가 데이터베이스 제1데이터베이스
Figure 112009000927652-PAT00002
(110)과 제2데이터베이스
Figure 112009000927652-PAT00003
(120)에 각각의 제1,제2레코드
Figure 112009000927652-PAT00004
Figure 112009000927652-PAT00005
로 나뉘어 저장되는 환경(100)을 나타낸다. 추가하여 다른 원본 레코드가 분리되어 저장되어 있을 수 있다. Original record in Figure 1
Figure 112009000927652-PAT00001
Database first database
Figure 112009000927652-PAT00002
110 and the second database
Figure 112009000927652-PAT00003
120, each of the first and second records
Figure 112009000927652-PAT00004
and
Figure 112009000927652-PAT00005
The environment 100 is divided into and stored. In addition, other original records may be stored separately.

공통 ID 생성/확인 단계는 제1데이터베이스

Figure 112009000927652-PAT00006
(110)이나 제2데이터베이스
Figure 112009000927652-PAT00007
(120) 어느쪽에서나 프로세스를 시작하는 것이 모두 가능하며, 본 발명의 실시예에서는 제1데이터베이스
Figure 112009000927652-PAT00008
(110)에서부터 처음 처리되는 경우만 설명하기로 한다. Common ID generation / verification step is the first database
Figure 112009000927652-PAT00006
110 or the second database
Figure 112009000927652-PAT00007
It is possible to start the process from either side, and in the embodiment of the present invention the first database
Figure 112009000927652-PAT00008
Only the first case processing from 110 will be described.

제2데이터베이스

Figure 112009000927652-PAT00009
(120)가 각 단계를 시작하는 경우는 이후의 실시예에서 제1,2데이터베이스
Figure 112009000927652-PAT00010
(110)과
Figure 112009000927652-PAT00011
(120)를 대체하는 것으로 완전히 기술된다. 실시예에서 사용되는 해쉬 함수
Figure 112009000927652-PAT00012
는 임의의 길이를 가지는 비트 스트링을 고정된 길이의 스트링으로 변환하는 암호학적 해쉬 함수(Cryptographic hash function) 이다. 해쉬 함수의 출력 길이는 실시예에서 적용되는 데이터베이스 시스템의 보안 정책에 따라 결정된다. Second database
Figure 112009000927652-PAT00009
When 120 starts each step, the first and second databases in the following embodiments.
Figure 112009000927652-PAT00010
110 and
Figure 112009000927652-PAT00011
It is fully described as replacing 120. Hash Function Used in the Examples
Figure 112009000927652-PAT00012
Is a cryptographic hash function that converts an arbitrary length string of bits into a fixed length string. The output length of the hash function is determined according to the security policy of the database system applied in the embodiment.

이하 첨부한 도면을 참조하면서 분산 데이터베이스 환경에서 각 데이터베이스들 간의 통신 채널이 안전한 경우와 안전하지 않은 경우에 대해 공통 ID 생성 단계와 공통 ID 확인 단계를 설명한다. 본 발명에서 고려하는 안전한 통신 채널은 전송되는 자료들이 외부 공격자에게 노출되거나 혹은 외부 공격자에 의해 위ㆍ변조 등의 개입이 불가능한 통신 채널이다. 이러한 통신 채널을 구현하는 방법은 공지 기술이므로 본 발명에서는 다루지 않는다. Hereinafter, a common ID generation step and a common ID verification step will be described for a case where a communication channel between each database is secure and insecure in a distributed database environment with reference to the accompanying drawings. The secure communication channel considered in the present invention is a communication channel in which data to be transmitted is exposed to an external attacker or cannot be tampered with by an external attacker. Since a method of implementing such a communication channel is a known technology, it is not covered in the present invention.

실시예 1)과 실시예 2)는 분산 데이터베이스 환경에서 각 데이터베이스들 간의 통신 채널이 안전한 경우에 대해 공통 ID 생성 단계와 공통 ID 확인 단계를 설명한다. Embodiments 1) and 2) describe a common ID generation step and a common ID confirmation step for a case where a communication channel between databases is secure in a distributed database environment.

실시예 1)Example 1

도 2를 참조하면서 본 발명에 따라 데이테베이스들 간의 통신 채널이 안전한 분산 데이터베이스 환경에서 각 데이터베이스에 저장되는 자료들에 대한 공통 ID를 생성하는 일 실시예를 기술한다. Referring to FIG. 2, an embodiment is described in which a communication channel between databases generates a common ID for data stored in each database in a secure distributed database environment according to the present invention.

(단계1) 분산 데이터베이스 환경에서 원본 레코드

Figure 112009000927652-PAT00013
는 각 제1,2데이터베이스인
Figure 112009000927652-PAT00014
(110)과
Figure 112009000927652-PAT00015
(120)에 각각의 제1,2레코드
Figure 112009000927652-PAT00016
Figure 112009000927652-PAT00017
로 분리되어 저장(210) 된다. (Step 1) Source Records in a Distributed Database Environment
Figure 112009000927652-PAT00013
Is the first and second databases
Figure 112009000927652-PAT00014
110 and
Figure 112009000927652-PAT00015
120, each of the first and second records
Figure 112009000927652-PAT00016
and
Figure 112009000927652-PAT00017
It is separated and stored 210.

(단계2) 제1데이터베이스

Figure 112009000927652-PAT00018
(110)은 저장된 제1레코드
Figure 112009000927652-PAT00019
으로부터 해쉬 함수
Figure 112009000927652-PAT00020
를 계산하고,
Figure 112009000927652-PAT00021
를 제2데이터베이스
Figure 112009000927652-PAT00022
로 전송(220)한다. (Step 2) First Database
Figure 112009000927652-PAT00018
110, the stored first record
Figure 112009000927652-PAT00019
Hash function from
Figure 112009000927652-PAT00020
And calculate
Figure 112009000927652-PAT00021
To the second database
Figure 112009000927652-PAT00022
To transmit (220).

(단계3) 제2데이터베이스

Figure 112009000927652-PAT00023
(120)는 저장된 제2레코드
Figure 112009000927652-PAT00024
의 해쉬함수
Figure 112009000927652-PAT00025
를 계산하고, 제1데이터베이스
Figure 112009000927652-PAT00026
(110)으로부터 전송(220)된
Figure 112009000927652-PAT00027
과 계산된
Figure 112009000927652-PAT00028
를 이용하여 공통 ID
Figure 112009000927652-PAT00029
를 산출한다. 제2데이터베이스
Figure 112009000927652-PAT00030
(120)는 공통 ID
Figure 112009000927652-PAT00031
를 제2레코드
Figure 112009000927652-PAT00032
에 추가하고,
Figure 112009000927652-PAT00033
를 제1데이터베이스
Figure 112009000927652-PAT00034
(110)로 전송(230)한다. (Step 3) second database
Figure 112009000927652-PAT00023
120, the stored second record
Figure 112009000927652-PAT00024
Hash function
Figure 112009000927652-PAT00025
Calculate the first database
Figure 112009000927652-PAT00026
Transmitted from (110) (220)
Figure 112009000927652-PAT00027
And calculated
Figure 112009000927652-PAT00028
Using common ID
Figure 112009000927652-PAT00029
Calculate Second database
Figure 112009000927652-PAT00030
120 is a common ID
Figure 112009000927652-PAT00031
2nd record
Figure 112009000927652-PAT00032
Add to,
Figure 112009000927652-PAT00033
To the first database
Figure 112009000927652-PAT00034
Transmit 230 to 110.

(단계4) 데이터베이스

Figure 112009000927652-PAT00035
(110)은 데이터베이스
Figure 112009000927652-PAT00036
(120)로부터 전송(230)된
Figure 112009000927652-PAT00037
와 계산된
Figure 112009000927652-PAT00038
을 이용하여
Figure 112009000927652-PAT00039
를 계산하고, 수신(230) 받은 공통 ID
Figure 112009000927652-PAT00040
와 계산된
Figure 112009000927652-PAT00041
를 비교하여
Figure 112009000927652-PAT00042
로서 일치하면
Figure 112009000927652-PAT00043
를 레코드
Figure 112009000927652-PAT00044
에 추가하고, 그렇지 않으면 에러 메시지를 출력(240)하고 공통 ID 생성 단계를 중단한다. (Step 4) Database
Figure 112009000927652-PAT00035
110 is a database
Figure 112009000927652-PAT00036
Transmitted 230 from 230
Figure 112009000927652-PAT00037
And calculated
Figure 112009000927652-PAT00038
Using
Figure 112009000927652-PAT00039
, The received common ID received 230
Figure 112009000927652-PAT00040
And calculated
Figure 112009000927652-PAT00041
By comparing
Figure 112009000927652-PAT00042
If it matches as
Figure 112009000927652-PAT00043
Records
Figure 112009000927652-PAT00044
Otherwise, output an error message (240) and stop the common ID generation step.

실시예 2) Example 2)

도 3을 참조하면서 본 발명에 따라 데이터베이스들 간의 통신 채널이 안전한 분산 데이터베이스 환경에서 데이터베이스에 저장된 데이터들의 위ㆍ변조 여부를 상기 생성된 공통 ID를 이용하여 확인하는 일 실시예를 기술한다. Referring to FIG. 3, an embodiment of checking whether forgery or forgery of data stored in a database in a distributed database environment in which a communication channel between databases is secured is described using the generated common ID.

(단계1) 제1데이터베이스

Figure 112009000927652-PAT00045
(110)은 외부로부터 제1레코드
Figure 112009000927652-PAT00046
에 대한 참조 요청을 받고(310), 제1레코드
Figure 112009000927652-PAT00047
을 출력(320)한다. (Step 1) First database
Figure 112009000927652-PAT00045
110, the first record from the outside
Figure 112009000927652-PAT00046
Received a reference request for (310), the first record
Figure 112009000927652-PAT00047
Output
320.

(단계2) 제1데이터베이스

Figure 112009000927652-PAT00048
(110)은 참조하려는 제1레코드
Figure 112009000927652-PAT00049
으로부터 공 통 ID
Figure 112009000927652-PAT00050
를 읽고 제1레코드의 해쉬함수
Figure 112009000927652-PAT00051
을 계산한다. 그리고 제2데이터베이스
Figure 112009000927652-PAT00052
(120)로 공통 ID와 해쉬함수
Figure 112009000927652-PAT00053
을 전송(330)한다. (Step 2) First Database
Figure 112009000927652-PAT00048
110, the first record to be referred to
Figure 112009000927652-PAT00049
Common ID from
Figure 112009000927652-PAT00050
Read and hash function of first record
Figure 112009000927652-PAT00051
. And a second database
Figure 112009000927652-PAT00052
Common ID and Hash Functions with 120
Figure 112009000927652-PAT00053
Send (330).

(단계3) 제2데이터베이스

Figure 112009000927652-PAT00054
(120)는 전송(330)된 공통 ID
Figure 112009000927652-PAT00055
에 해당하는 제2레코드
Figure 112009000927652-PAT00056
를 찾아내고 제2레코드의 해쉬함수
Figure 112009000927652-PAT00057
를 산출한다. 전송(330)된
Figure 112009000927652-PAT00058
와 계산된
Figure 112009000927652-PAT00059
로부터
Figure 112009000927652-PAT00060
를 산출한다. (Step 3) second database
Figure 112009000927652-PAT00054
120 is the common ID transmitted 330
Figure 112009000927652-PAT00055
Second record corresponding to
Figure 112009000927652-PAT00056
Find the hash function of the second record
Figure 112009000927652-PAT00057
Calculate Sent (330)
Figure 112009000927652-PAT00058
And calculated
Figure 112009000927652-PAT00059
from
Figure 112009000927652-PAT00060
Calculate

(단계4) 제2데이터베이스

Figure 112009000927652-PAT00061
(120)는 수신(330) 받은 공통 ID
Figure 112009000927652-PAT00062
와 상기 (단계3)에서 계산된
Figure 112009000927652-PAT00063
를 비교하여,
Figure 112009000927652-PAT00064
로 일치하면 데이터가 위ㆍ변조되지 않았다고 판단하고 레코드
Figure 112009000927652-PAT00065
를 출력(340)한다.
Figure 112009000927652-PAT00066
로서 일치하지 않으면 데이터베이스에 저장된 데이터가 위ㆍ변조되었다고 판단하고, 에러 메시지를 출력(340)한다. (Step 4) Second Database
Figure 112009000927652-PAT00061
120 receives the received common ID
Figure 112009000927652-PAT00062
And calculated in step 3 above.
Figure 112009000927652-PAT00063
By comparing
Figure 112009000927652-PAT00064
If the match is found, the data is judged not to be forged or altered.
Figure 112009000927652-PAT00065
It outputs (340).
Figure 112009000927652-PAT00066
If it does not match, it is determined that the data stored in the database is forged or forged, and an error message is output (340).

실시예 3)과 실시예 4)는 분산 데이터베이스 환경에서 각 데이터베이스들 간의 통신 채널이 안전하지 않은 경우에 대해 공통 ID 생성 단계와 공통 ID 확인 단계를 설명한다. Embodiments 3) and 4) describe a common ID generation step and a common ID verification step for a case where a communication channel between each database is not secure in a distributed database environment.

여기서 서로 다른 제1,2데이터베이스

Figure 112009000927652-PAT00067
(610)와
Figure 112009000927652-PAT00068
(620)는 비밀키
Figure 112009000927652-PAT00069
를 공유하고 있다고 가정한다. 그리고 실시예 3)과 실시예 4)에서
Figure 112009000927652-PAT00070
Figure 112009000927652-PAT00071
를 비밀키로 가지는 대칭키 방식 암호 알고리즘을 나타내며,
Figure 112009000927652-PAT00072
Figure 112009000927652-PAT00073
는 각각 데이터베이스
Figure 112009000927652-PAT00074
의 식별자(identifier)와 데이터베이스
Figure 112009000927652-PAT00075
가 생성한 넌스(nonce)를 의미한다. 암호문을 생성할 때의 시간인 타임스탬프(time stamp), 데이터베이스간에 주고받는 암호문에 순차적으로 부여되는 일련 번호(sequence number) 등이 넌스(nonce)로 사용될 수 있다. 본 실시예에서는 대칭키 방식 암호 알고리즘을 사용하였지만, 본 발 명이 적용되는 데이터베이스 시스템의 보안 정책에 따라 다양한 암호 알고리즘이 적용될 수 있다. Where different first and second databases
Figure 112009000927652-PAT00067
610 and
Figure 112009000927652-PAT00068
620 is the secret key
Figure 112009000927652-PAT00069
Suppose you are sharing. And in Examples 3) and 4)
Figure 112009000927652-PAT00070
Is
Figure 112009000927652-PAT00071
Represents a symmetric-key cryptographic algorithm with
Figure 112009000927652-PAT00072
Wow
Figure 112009000927652-PAT00073
Each database
Figure 112009000927652-PAT00074
Identifier and database
Figure 112009000927652-PAT00075
The nonce generated by. A time stamp, which is a time for generating a cipher text, and a sequence number sequentially assigned to cipher texts exchanged between databases may be used as a nonce. In the present embodiment, a symmetric key type encryption algorithm is used, but various encryption algorithms may be applied according to the security policy of the database system to which the present invention is applied.

또한, 식별자

Figure 112009000927652-PAT00076
는 안전하지 않은 채널 상(실시예3,4)에서 수신받은 암호문이 중간에 변조되지 않았음을 증명하는 역할을 수행하며, 예컨대, 공격자가 임의의 암호문(정당한 키로 암호화되지 않은 암호문)을 데이터베이스
Figure 112009000927652-PAT00077
에 전달했을 때, 데이터베이스
Figure 112009000927652-PAT00078
는 암호문을 복호화한 후 복호화된 데이터에 정당한 식별자
Figure 112009000927652-PAT00079
가 포함되어 있는지 여부를 확인함으로써, 전송된 암호문이 정당한 데이터베이스
Figure 112009000927652-PAT00080
로부터 전송되었음을 확인할 수 있다. 따라서, 비밀키 K를 알지 못하는 경우, 공격자는 식별자
Figure 112009000927652-PAT00081
가 포함된 암호문을 만들어내는 것이 불가능하다.Also, identifier
Figure 112009000927652-PAT00076
Certifies that the ciphertext received on an insecure channel (Examples 3 and 4) has not been tampered with, for example, an attacker may have a database of random ciphertexts (ciphertexts that are not encrypted with a valid key).
Figure 112009000927652-PAT00077
When passed to, the database
Figure 112009000927652-PAT00078
Is a valid identifier for the decrypted data after decrypting the ciphertext.
Figure 112009000927652-PAT00079
Database by checking whether a valid ciphertext is sent
Figure 112009000927652-PAT00080
You can see that it was sent from. Thus, if the secret key K is not known, the attacker can identify the identifier
Figure 112009000927652-PAT00081
It is not possible to generate a ciphertext containing.

실시예 3) Example 3

도 4를 참조하면서 본 발명에 따라 데이터베이스들 간의 통신 채널이 안전하지 않은 분산 데이터베이스 환경에서 각 데이터베이스에 저장되는 데이터들에 대한 공통 ID를 생성하는 실시예를 설명하기로 한다. An embodiment of generating a common ID for data stored in each database in a distributed database environment in which a communication channel between databases is not secured according to the present invention will be described with reference to FIG. 4.

(단계1) 분산 데이터베이스 환경에서 원본 레코드

Figure 112009000927652-PAT00082
는 각 제1,제2데이터베이스
Figure 112009000927652-PAT00083
(610)과
Figure 112009000927652-PAT00084
(620)에 각각의 제1,제2레코드
Figure 112009000927652-PAT00085
Figure 112009000927652-PAT00086
로 분리되어 저장(410)된다. (Step 1) Source Records in a Distributed Database Environment
Figure 112009000927652-PAT00082
Is the first and second database
Figure 112009000927652-PAT00083
610 and
Figure 112009000927652-PAT00084
Each of the first and second records at 620
Figure 112009000927652-PAT00085
and
Figure 112009000927652-PAT00086
Separated into and stored (410).

(단계2) 제1데이터베이스

Figure 112009000927652-PAT00087
(610)은 저장된 제1레코드
Figure 112009000927652-PAT00088
로부터 제1레코드의 해쉬함수
Figure 112009000927652-PAT00089
를 산출하고, 산출된
Figure 112009000927652-PAT00090
과 제1데이터베이스 식별자
Figure 112009000927652-PAT00091
, 넌수
Figure 112009000927652-PAT00092
의 대칭키암호문
Figure 112009000927652-PAT00093
을 계산한다. 제1데이터베이스
Figure 112009000927652-PAT00094
(610)은
Figure 112009000927652-PAT00095
을 제2데이터베이스
Figure 112009000927652-PAT00096
(620)로 전송(420)한다. (Step 2) First Database
Figure 112009000927652-PAT00087
610 is a stored first record
Figure 112009000927652-PAT00088
Hash function of the first record
Figure 112009000927652-PAT00089
To calculate the
Figure 112009000927652-PAT00090
And first database identifier
Figure 112009000927652-PAT00091
, Non number
Figure 112009000927652-PAT00092
Symmetric Key Cryptography
Figure 112009000927652-PAT00093
. First database
Figure 112009000927652-PAT00094
610 is
Figure 112009000927652-PAT00095
To the second database
Figure 112009000927652-PAT00096
And transmits to 620.

(단계3) 제2데이터베이스

Figure 112009000927652-PAT00097
(620)는 저장된 제2레코드
Figure 112009000927652-PAT00098
로부터 제2레코드의 해쉬함수
Figure 112009000927652-PAT00099
를 계산하고, 제1데이터베이스
Figure 112009000927652-PAT00100
으로부터 전송(420)된 대칭키암호문
Figure 112009000927652-PAT00101
를 복호화하여
Figure 112009000927652-PAT00102
을 복구하고, 제1데이터 식별자
Figure 112009000927652-PAT00103
와 넌수
Figure 112009000927652-PAT00104
가 정당한 값인지 확인한다. (Step 3) second database
Figure 112009000927652-PAT00097
620 is a stored second record
Figure 112009000927652-PAT00098
Hash function of the second record
Figure 112009000927652-PAT00099
Calculate the first database
Figure 112009000927652-PAT00100
Symmetric Key-Password Sent from 420
Figure 112009000927652-PAT00101
By decrypting
Figure 112009000927652-PAT00102
Recover the first data identifier
Figure 112009000927652-PAT00103
And non number
Figure 112009000927652-PAT00104
Is a valid value.

여기서, 제1데이터 식별자

Figure 112009000927652-PAT00105
는 제1,제2데이터베이스
Figure 112009000927652-PAT00106
(610)와
Figure 112009000927652-PAT00107
(620)에서 알고 때문에 복구한 식별자와 비교함으로써 정당한 값인지 확인할 수 있다. 또한, 데이터베이스간에 송수신되는 암호문에 순차적으로 부가되는 일련번호의 경우, 데이터베이스들간의 합의된 일련번호 생성 방법을 통하여 확인할 수 있다.Where the first data identifier
Figure 112009000927652-PAT00105
Is the first and second database
Figure 112009000927652-PAT00106
610 and
Figure 112009000927652-PAT00107
By knowing at 620, a comparison can be made with the recovered identifier to see if it is a legitimate value. In addition, in the case of serial numbers sequentially added to cipher texts transmitted and received between databases, it can be confirmed through a method for generating serial numbers agreed between databases.

제1데이터식별자

Figure 112009000927652-PAT00108
와 넌수
Figure 112009000927652-PAT00109
가 정당한 값이 아닐 경우, 제2데이터베이스
Figure 112009000927652-PAT00110
(620)는 에러 메시지를 출력하고 공통 ID 생성 단계를 중단한다. 그렇지 않으면, 계산한
Figure 112009000927652-PAT00111
과 복구된
Figure 112009000927652-PAT00112
를 연접시킨 후 다시 해쉬 함수를 적용하여 공통 ID
Figure 112009000927652-PAT00113
를 계산한다. First Data Identifier
Figure 112009000927652-PAT00108
And non number
Figure 112009000927652-PAT00109
Is not a legal value, the second database
Figure 112009000927652-PAT00110
620 outputs an error message and stops the common ID generation step. Otherwise, calculated
Figure 112009000927652-PAT00111
And recovered
Figure 112009000927652-PAT00112
Concatenate and apply hash function again to apply common ID.
Figure 112009000927652-PAT00113
Calculate

그리고 공통 ID

Figure 112009000927652-PAT00114
를 제2레코드
Figure 112009000927652-PAT00115
에 추가한 후,
Figure 112009000927652-PAT00116
에 대한 암호문
Figure 112009000927652-PAT00117
를 생성하여 데이터베이스
Figure 112009000927652-PAT00118
(610)로 전송(430)한다.And common ID
Figure 112009000927652-PAT00114
2nd record
Figure 112009000927652-PAT00115
After adding to
Figure 112009000927652-PAT00116
Ciphertext for
Figure 112009000927652-PAT00117
Create a database
Figure 112009000927652-PAT00118
And transmits to 610.

(단계4) 제1데이터베이스

Figure 112009000927652-PAT00119
(610)은 데이터베이스
Figure 112009000927652-PAT00120
(620)로부터 전송(230)된 암호문
Figure 112009000927652-PAT00121
를 복호화하여
Figure 112009000927652-PAT00122
을 복구하고, 제2데이터식별자
Figure 112009000927652-PAT00123
와 넌수
Figure 112009000927652-PAT00124
가 정당한 값인지 확인한다. 만약
Figure 112009000927652-PAT00125
Figure 112009000927652-PAT00126
가 정당한 값이 아닐 경우, 에러 메시지를 출력하고 공통 ID 생성 단계를 중단한다. 정당한 값인 경우, 계산한
Figure 112009000927652-PAT00127
과 복구된
Figure 112009000927652-PAT00128
로부터
Figure 112009000927652-PAT00129
를 계산하고, 수신된 공통 ID
Figure 112009000927652-PAT00130
와 계산된
Figure 112009000927652-PAT00131
를 비교하여
Figure 112009000927652-PAT00132
로 일치하면 공통 ID
Figure 112009000927652-PAT00133
를 제1레코드
Figure 112009000927652-PAT00134
에 추가한다. 그렇지 않으면 에러 메시지를 출력(440)하고 공통 ID 생성 단계를 중단한다. (Step 4) First Database
Figure 112009000927652-PAT00119
610 is a database
Figure 112009000927652-PAT00120
Ciphertext transmitted 230 from 620
Figure 112009000927652-PAT00121
By decrypting
Figure 112009000927652-PAT00122
The second data identifier
Figure 112009000927652-PAT00123
And non number
Figure 112009000927652-PAT00124
Is a valid value. if
Figure 112009000927652-PAT00125
Wow
Figure 112009000927652-PAT00126
If is not a valid value, an error message is output and the common ID generation step is stopped. If it is a legitimate value,
Figure 112009000927652-PAT00127
And recovered
Figure 112009000927652-PAT00128
from
Figure 112009000927652-PAT00129
, The common ID received
Figure 112009000927652-PAT00130
And calculated
Figure 112009000927652-PAT00131
By comparing
Figure 112009000927652-PAT00132
Common matches if
Figure 112009000927652-PAT00133
1st record
Figure 112009000927652-PAT00134
Add to Otherwise, an error message is output 440 and the common ID generation step is aborted.

실시예 4)Example 4

도 5를 참조하여, 본 발명에 따라 데이터베이스들 간의 통신 채널이 안전하지 않은 분산 데이터베이스 환경에서 데이터베이스에 저장된 데이터들이 위ㆍ변조되었을 경우 상기 생성된 공통 ID를 이용하여 이를 확인하는 실시예를 설명한다.Referring to FIG. 5, an embodiment in which a communication channel between databases is secured by using the generated common ID when the data stored in the database is forged or forged in a distributed database environment will be described.

(단계1) 제1데이터베이스

Figure 112009000927652-PAT00135
(610)은 외부로부터 제1레코드
Figure 112009000927652-PAT00136
에 대한 참조 요청(510)을 받고, 제1레코드
Figure 112009000927652-PAT00137
을 출력(520)한다. (Step 1) First database
Figure 112009000927652-PAT00135
610, the first record from the outside
Figure 112009000927652-PAT00136
Receive request 510 for, first record
Figure 112009000927652-PAT00137
It outputs (520).

(단계2) 제1데이터베이스

Figure 112009000927652-PAT00138
(610)은 참조하려는 제1레코드
Figure 112009000927652-PAT00139
으로부터 함께 저장되어 있는 공통 ID
Figure 112009000927652-PAT00140
를 읽어 내고 제1레코드의 해쉬함수
Figure 112009000927652-PAT00141
을 계산한다. 그리고
Figure 112009000927652-PAT00142
에 대한 대칭키암호문
Figure 112009000927652-PAT00143
을 생성하여 제2데이터베이스
Figure 112009000927652-PAT00144
(620)에 전송(530)한다. (Step 2) First Database
Figure 112009000927652-PAT00138
610 is a first record to be referred to
Figure 112009000927652-PAT00139
Common IDs stored together from
Figure 112009000927652-PAT00140
Hash function of first record after reading
Figure 112009000927652-PAT00141
. And
Figure 112009000927652-PAT00142
Symmetric Key Cryptography for
Figure 112009000927652-PAT00143
To create a second database
Figure 112009000927652-PAT00144
620 is sent to (620).

(단계3) 제2데이터베이스

Figure 112009000927652-PAT00145
(620)는 전송(530)된 공통 ID
Figure 112009000927652-PAT00146
에 해당하는 제2레코드
Figure 112009000927652-PAT00147
를 찾아내어 제2레코드의 해쉬함수
Figure 112009000927652-PAT00148
를 계산한다. 그리고 제1데이터베이스 제1
Figure 112009000927652-PAT00149
(610)로부터 전송(530)된 대칭키암호문
Figure 112009000927652-PAT00150
을 복호화하여
Figure 112009000927652-PAT00151
을 복구하고, 제1데이터 식별자
Figure 112009000927652-PAT00152
과 넌수
Figure 112009000927652-PAT00153
이 정 당한 값인지 확인한다. 만약
Figure 112009000927652-PAT00154
Figure 112009000927652-PAT00155
이 정당한 값이 아닐 경우, 에러 메시지를 출력(540)하고 공통 ID 확인 단계를 중단한다. 정당한 값인 경우, 복구한
Figure 112009000927652-PAT00156
과 계산된
Figure 112009000927652-PAT00157
로부터
Figure 112009000927652-PAT00158
를 계산한다.(Step 3) second database
Figure 112009000927652-PAT00145
620 is the common ID transmitted 530
Figure 112009000927652-PAT00146
Second record corresponding to
Figure 112009000927652-PAT00147
Find the hash function of the second record
Figure 112009000927652-PAT00148
Calculate And the first database first
Figure 112009000927652-PAT00149
Symmetric key ciphertext transmitted from 610 to 530
Figure 112009000927652-PAT00150
By decrypting
Figure 112009000927652-PAT00151
Recover the first data identifier
Figure 112009000927652-PAT00152
And non number
Figure 112009000927652-PAT00153
Check if this is a valid value. if
Figure 112009000927652-PAT00154
Wow
Figure 112009000927652-PAT00155
If this is not a valid value, an error message is output 540 and the common ID checking step is aborted. If justified, recovered
Figure 112009000927652-PAT00156
And calculated
Figure 112009000927652-PAT00157
from
Figure 112009000927652-PAT00158
Calculate

(단계4) 제2데이터베이스

Figure 112009000927652-PAT00159
(620)는 전송된(530) 공통 ID
Figure 112009000927652-PAT00160
와 (단계3)에서 계산된
Figure 112009000927652-PAT00161
를 비교하여,
Figure 112009000927652-PAT00162
로 일치하면 데이터가 위ㆍ변조되지 않은 것으로 판단하고 레코드
Figure 112009000927652-PAT00163
를 출력(340)한다.
Figure 112009000927652-PAT00164
이면 데이터베이스에 저장된 데이터가 위ㆍ변조되었다고 판단하고, 에러 메시지를 출력(340)한다.(Step 4) Second Database
Figure 112009000927652-PAT00159
620 is transmitted 530 common ID
Figure 112009000927652-PAT00160
And calculated in step 3
Figure 112009000927652-PAT00161
By comparing
Figure 112009000927652-PAT00162
If the match is found, the data is judged to be not forged or altered.
Figure 112009000927652-PAT00163
It outputs (340).
Figure 112009000927652-PAT00164
If it is determined that the data stored in the database has been forged and forged, an error message is output (340).

실시예 1)에서 4)까지는 제1,제2데이터베이스

Figure 112009000927652-PAT00165
(610)과
Figure 112009000927652-PAT00166
(620)가 두 개로 나누어지는 경우를 설명하였으나, 본 발명에서 사용되는 공통 ID는 세 개 이상의 데이터베이스로 나누어지는 경우에도 역시 적용 가능하다. 이 경우 원본 레코드가 분산 저장되는 데이터베이스의 수가 n개라면 각 레코드에 추가되어야 하는 공통 ID는
Figure 112009000927652-PAT00167
가 된다.In Examples 1) to 4), the first and second databases
Figure 112009000927652-PAT00165
610 and
Figure 112009000927652-PAT00166
Although the case in which 620 is divided into two has been described, the common ID used in the present invention is also applicable to a case in which three or more databases are divided. In this case, if the number of databases where the source record is distributed is stored, then the common ID that should be added to each record is
Figure 112009000927652-PAT00167
Becomes

위의 실시예 1)에서 4)까지와 데이터베이스의 수가 n인 경우에 대하여 공통 ID는 해쉬 함수만을 이용하여 생성하였으나, 메시지 인증 코드(MAC, Message Authentication Code)를 사용하여 만들 수도 있다. 이 경우 분산된 모든 데이터베이스는 메시지 인증 코드(MAC)를 생성하기 위한 공통의 키 k'를 공유하고 있어야 하며, 이 공통 키 k'는 실시예 3과 4에서 사용된 키 k와는 상이할 수도 있다. 이때, 공통 ID는 해쉬 함수와 메시지 인증 코드(MAC)를 사용하여 만들어지며,

Figure 112009000927652-PAT00168
가 된다.In the above embodiments 1) to 4) and the number of databases is n, the common ID is generated using only a hash function, but may be created using a message authentication code (MAC). In this case, all distributed databases must share a common key k 'for generating a message authentication code (MAC), which may be different from the key k used in the third and fourth embodiments. In this case, the common ID is created using a hash function and a message authentication code (MAC),
Figure 112009000927652-PAT00168
Becomes

이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범주에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

도 1은 본 발명이 적용되는 분산된 데이터베이스 시스템을 설명하기 위한 도면이다. 1 is a diagram illustrating a distributed database system to which the present invention is applied.

도 2는 본 발명에 의한 분산된 데이터베이스에 대응하여 저장된 레코드에 대한 공통 ID 생성을 설명하기 위한 도면이다. FIG. 2 is a diagram for describing generation of a common ID for records stored corresponding to a distributed database according to the present invention.

도 3은 본 발명에 의한 분산된 데이터베이스에 대응되어 저장된 레코드의 위ㆍ변조 유무를 확인하는 방법을 설명하기 위한 도면이다.FIG. 3 is a view for explaining a method of checking forgery or forgery of records stored corresponding to a distributed database according to the present invention.

도 4는 본 발명에 의한 저장된 레코드에 대한 공통 ID 생성의 다른 실시예를 설명하기 위한 도면이다. 4 is a diagram for explaining another embodiment of generating a common ID for a stored record according to the present invention.

도 5는 본 발명에 의한 분산된 데이터베이스에 대응되어 저장된 레코드의 위ㆍ변조 유무를 확인하는 다른 실시예의 방법을 설명하기 위한 도면이다.5 is a view for explaining a method of another embodiment for confirming the forgery and forgery of records stored corresponding to a distributed database according to the present invention.

Claims (9)

복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장한 제1 내지 제n 레코드에 대한 해쉬함수값을 각각 생성하는 단계; Generating a hash function value for each of the first to nth records in which original records are separated and stored corresponding to a plurality of n distributed databases; 상기 데이터베이스 간의 통신 채널을 통하여 상기 제1 내지 제n 레코드간의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 적용한 공통 ID를 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 Concatenating a hash function value between the first to nth records through a communication channel between the databases, and setting and storing a common ID corresponding to the hash function value corresponding to the record; And 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 각 데이터베이스의 레코드의 해쉬함수값들을 연접시켜 재산출한 해쉬함수값이 일치하는지 여부에 따라 레코드의 위ㆍ변조를 판단함을 특징으로 하는 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법. When the database receives the reference request of the original record, the upper part of the record is determined according to whether the hash function value of the distributed database records is concatenated by concatenating the common ID corresponding to the record stored in the database. ㆍ A record storing method and a method of checking integrity using a common ID in a distributed database system characterized by determining a modulation. 제1항에 있어서, n이 2인 경우, 상기 공통 ID를 설정하여 저장하는 단계는, The method of claim 1, wherein when n is 2, setting and storing the common ID includes: 제1 데이터베이스에서 저장하고 있는 제1레코드의 해쉬함수값을 산출하여 제2 데이터베이스에 전송하는 (a)단계;(A) calculating a hash function value of the first record stored in the first database and transmitting the hash function value to the second database; 상기 제2 데이터베이스에서 산출한 제2레코드의 해쉬함수값과 상기 제1 데이터베이스로부터 수신한 제1레코드의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 공통 ID로 설정하는 (b)단계;를 포함함을 특징으로 하는 레코드 저장 방법 및 무결성 확인 방법. (B) concatenating the hash function value of the second record calculated by the second database and the hash function value of the first record received from the first database to set the recalculated hash function value as a common ID; Record storage method and integrity verification method characterized in that. 제2항에 있어서, 상기 (b)단계에서 상기 제1 데이터베이스에서 제1레코드의 해쉬함수값과 제2데이터베이스로부터 수신한 제2레코드의 해쉬함수값을 연접시켜 재산출한 해쉬함수값과 상기 공통 ID가 일치한 경우 상기 공통 ID 생성시 에러없음을 판단하는 단계를 더 포함함을 특징으로 하는 레코드 저장 방법 및 무결성 확인 방법. 3. The hash function of claim 2, wherein the hash function value of the first record and the hash function value of the second record received from the second database are concatenated in step (b). And if there is a match, determining that there is no error in generating the common ID. 복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장하고 제1 내지 제n 레코드에 대한 해쉬함수값을 각각 생성하는 단계; Separating and storing original records corresponding to a plurality of n distributed databases, and generating hash function values for the first to nth records, respectively; 상기 데이터베이스 간의 통신 채널을 통하여 각 데이터베이스간에 정보 데이터를 전송하여, 산출된 제1 내지 제n 레코드간의 해쉬함수값을 연접시켜 재산출한 해쉬함수값을 공통 ID로서 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 Transmitting information data between respective databases through a communication channel between the databases, concatenating the calculated hash function values between the first to nth records, and storing and resetting the hash function values corresponding to the corresponding records as a common ID. ; And 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 데이터베이스의 레코드의 해쉬함수값을 연접시켜 해쉬함수값을 재산출하는 단계;를 포함함을 특징으로 하는 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법.And reconstructing the hash function value by concatenating the hash function value of the records of the distributed database with the common ID corresponding to the record stored in the database when the database receives the reference request of the original record. Record storage and integrity checking method using common ID in distributed database system. 제1항 내지 4항 중 어느 한 항에 있어서, 상기 데이터베이스 간의 통신은 암호 통신을 사용하여 안전성이 보장됨을 특징으로 하는 분산된 데이터베이스 시스템 에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법.The method according to any one of claims 1 to 4, wherein the communication between the databases is secured using cryptographic communication. 복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장한 제1 내지 제n 레코드에 대한 메시지 인증 코드를 각각 생성하는 단계; Generating a message authentication code for each of the first to nth records in which original records are separated and stored corresponding to a plurality of n distributed databases; 상기 데이터베이스 간의 통신 채널을 통하여 상기 제1 내지 제n 레코드간의 메시지 인증 코드를 연접시켜 재산출한 메시지 인증 코드를 적용한 공통 ID를 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 Concatenating a message authentication code between the first to nth records through a communication channel between the databases, and setting and storing a common ID corresponding to the record authentication message corresponding to the record; And 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 각 데이터베이스의 레코드의 메시지 인증 코드들을 연접시켜 재산출한 메시지 인증 코드가 일치하는지 여부에 따라 레코드의 위ㆍ변조를 판단함을 특징으로 하는 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법. When the database receives a request for referencing an original record, a message is generated based on whether the message authentication code generated by matching the common ID corresponding to the record stored in the database with the message authentication codes of the records of each distributed database match. ㆍ A record storing method and a method of checking integrity using a common ID in a distributed database system characterized by determining a modulation. 제6항에 있어서, n이 2인 경우, 상기 공통 ID를 설정하여 저장하는 단계는, The method of claim 6, wherein when n is 2, setting and storing the common ID includes: 제1 데이터베이스에서 저장하고 있는 제1레코드의 메시지 인증 코드를 산출하여 제2 데이터베이스에 전송하는 (a)단계;(A) calculating a message authentication code of the first record stored in the first database and transmitting the message authentication code to the second database; 상기 제2 데이터베이스에서 산출한 제2레코드의 메시지 인증 코드와 상기 제1 데이터베이스로부터 수신한 제1레코드의 메시지 인증 코드를 연접시켜 재산출한 메시지 인증 코드를 공통 ID로 설정하는 (b)단계;를 포함함을 특징으로 하는 레코드 저장 방법 및 무결성 확인 방법. (B) concatenating the message authentication code of the second record calculated by the second database and the message authentication code of the first record received from the first database and setting the recalculated message authentication code as a common ID; Record storage method and integrity verification method characterized in that. 제7항에 있어서, 상기 (b)단계에서 상기 제1 데이터베이스에서 제1레코드의 메시지 인증 코드와 제2데이터베이스로부터 수신한 제2레코드의 메시지 인증 코드를 연접시켜 재산출한 메시지 인증 코드와 상기 공통 ID가 일치한 경우 상기 공통 ID 생성시 에러없음을 판단하는 단계를 더 포함함을 특징으로 하는 레코드 저장 방법 및 무결성 확인 방법. The message authentication code and the common ID of claim 7, wherein the message authentication code of the first record and the message authentication code of the second record received from the second database are concatenated in step (b). And if there is a match, determining that there is no error in generating the common ID. 복수 n개로 분산된 데이터베이스에 대응하여 원본 레코드를 분리하여 저장하고 제1 내지 제n 레코드에 대한 메시지 인증 코드를 각각 생성하는 단계; Separating and storing original records corresponding to a plurality of n distributed databases, and generating message authentication codes for first to nth records, respectively; 상기 데이터베이스 간의 통신 채널을 통하여 각 데이터베이스간에 정보 데이터를 전송하여, 산출된 제1 내지 제n 레코드간의 메시지 인증 코드를 연접시켜 재산출한 메시지 인증 코드를 공통 ID로서 해당 레코드에 대응시켜 설정하여 저장하는 단계; 및 Transmitting information data between respective databases through a communication channel between the databases, concatenating the calculated message authentication codes between the first to nth records, and setting and storing the recalculated message authentication codes as the common IDs corresponding to the corresponding records. ; And 상기 데이터베이스가 원본 레코드의 참조 요청을 수신하면, 상기 데이터베이스에 저장된 레코드에 대응된 공통 ID와 분산된 데이터베이스의 레코드의 메시지 인증 코드를 연접시켜 메시지 인증 코드를 재산출하는 단계;를 포함함을 특징으로 하는 분산된 데이터베이스 시스템에서 공통 ID를 이용한 레코드 저장 방법 및 무결성 확인 방법.When the database receives a reference request of an original record, reconcating a message authentication code by concatenating a message ID code of a record of a distributed database with a common ID corresponding to a record stored in the database; Record storage and integrity checking method using common ID in distributed database system.
KR1020090001295A 2009-01-07 2009-01-07 Method of checking integrity of data by storing data of common ID in separated database system KR101015401B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090001295A KR101015401B1 (en) 2009-01-07 2009-01-07 Method of checking integrity of data by storing data of common ID in separated database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090001295A KR101015401B1 (en) 2009-01-07 2009-01-07 Method of checking integrity of data by storing data of common ID in separated database system

Publications (2)

Publication Number Publication Date
KR20100081873A true KR20100081873A (en) 2010-07-15
KR101015401B1 KR101015401B1 (en) 2011-02-22

Family

ID=42642203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090001295A KR101015401B1 (en) 2009-01-07 2009-01-07 Method of checking integrity of data by storing data of common ID in separated database system

Country Status (1)

Country Link
KR (1) KR101015401B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101247564B1 (en) * 2013-01-24 2013-03-26 토피도 주식회사 Method of protecting data from malicious modification in data base system
KR101285281B1 (en) * 2012-03-29 2013-08-23 주식회사 씨디에스 Security system and its security method for self-organization storage
KR101443508B1 (en) * 2013-03-14 2014-09-23 한양대학교 에리카산학협력단 Method and system of data integrity verification for cloud computing
WO2017034103A1 (en) * 2015-08-26 2017-03-02 엘지전자(주) Method and device by which terminal transmits/receives data in wireless communication system
WO2017126721A1 (en) * 2016-01-21 2017-07-27 엘지전자(주) Method and apparatus for transmitting and receiving data of terminal in wireless communication system
CN111625540A (en) * 2020-05-11 2020-09-04 福建慧政通信息科技有限公司 Method and device for verifying data synchronization integrity of relational database
KR102578567B1 (en) * 2023-03-29 2023-09-15 한화시스템(주) Apparatus and method for verifying data integrity in Hadoop (HDFS)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102032266B1 (en) * 2017-07-05 2019-10-15 도담에너시스 주식회사 Method, terminal and system for transmitting sensor data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005148917A (en) 2003-11-12 2005-06-09 Ntt Data Itec Corp Document work flow system
JP4234628B2 (en) 2004-03-18 2009-03-04 島津システムソリューションズ株式会社 Link table generation method and signal selection apparatus using link table
JP4619261B2 (en) 2005-10-21 2011-01-26 株式会社エヌ・ティ・ティ・データ Copy management apparatus and program
KR20060111596A (en) * 2006-06-21 2006-10-27 에릭코스 피트소스 Methods and systems for providing integrity and trust in data management and data distribution processes

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101285281B1 (en) * 2012-03-29 2013-08-23 주식회사 씨디에스 Security system and its security method for self-organization storage
KR101247564B1 (en) * 2013-01-24 2013-03-26 토피도 주식회사 Method of protecting data from malicious modification in data base system
KR101443508B1 (en) * 2013-03-14 2014-09-23 한양대학교 에리카산학협력단 Method and system of data integrity verification for cloud computing
WO2017034103A1 (en) * 2015-08-26 2017-03-02 엘지전자(주) Method and device by which terminal transmits/receives data in wireless communication system
WO2017126721A1 (en) * 2016-01-21 2017-07-27 엘지전자(주) Method and apparatus for transmitting and receiving data of terminal in wireless communication system
CN111625540A (en) * 2020-05-11 2020-09-04 福建慧政通信息科技有限公司 Method and device for verifying data synchronization integrity of relational database
KR102578567B1 (en) * 2023-03-29 2023-09-15 한화시스템(주) Apparatus and method for verifying data integrity in Hadoop (HDFS)

Also Published As

Publication number Publication date
KR101015401B1 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
US11115209B2 (en) Methods and systems for preparing and performing an object authentication
KR101015401B1 (en) Method of checking integrity of data by storing data of common ID in separated database system
US11880831B2 (en) Encryption system, encryption key wallet and method
US9847880B2 (en) Techniques for ensuring authentication and integrity of communications
US8918635B2 (en) Apparatus and method for access control of content in distributed environment network
US20100005318A1 (en) Process for securing data in a storage unit
JP5260523B2 (en) Radio frequency identification (RFID) authentication and key distribution system therefor
US10630474B2 (en) Method and system for encrypted data synchronization for secure data management
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
CN102843232B (en) Generate secure device secret key
KR101103403B1 (en) Control method of data management system with emproved security
US20130259227A1 (en) Information processing device and computer program product
CN109905384B (en) Data migration method and system
US8631235B2 (en) System and method for storing data using a virtual worm file system
US8181869B2 (en) Method for customizing customer identifier
JP4105583B2 (en) Wireless tag security expansion method, ID management computer device, proxy server device, program thereof, and recording medium of the program
CN117692134A (en) Key update management system and key update management method
US20220123942A1 (en) Method and system for information transmission
KR102496436B1 (en) Method of storing plurality of data pieces in storage in blockchain network and method of receiving plurality of data pieces
US20170264440A1 (en) Proximity-Based Collaborative Information Security
CN106203138B (en) A kind of access control system of electronic product code
KR101575992B1 (en) A Machine Capable of Storing Firmware Event Log and Method of Storing Firmware Event Log Thereof
RU2816848C2 (en) Methods and systems for preparing and verifying authenticity of object
JP4636494B2 (en) Method for ensuring practical security in RFID

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140219

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee