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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-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
Description
본 발명은 데이터베이스에서 저장 방법 및 무결성 확인 방법에 관한 것으로서, 보다 상세하게는 분리된 데이터베이스에 나누어 저장하는 환경에서 공통 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에서 원본 레코드 가 데이터베이스 제1데이터베이스 (110)과 제2데이터베이스 (120)에 각각의 제1,제2레코드 과 로 나뉘어 저장되는 환경(100)을 나타낸다. 추가하여 다른 원본 레코드가 분리되어 저장되어 있을 수 있다. Original record in Figure 1 Database
공통 ID 생성/확인 단계는 제1데이터베이스 (110)이나 제2데이터베이스 (120) 어느쪽에서나 프로세스를 시작하는 것이 모두 가능하며, 본 발명의 실시예에서는 제1데이터베이스 (110)에서부터 처음 처리되는 경우만 설명하기로 한다. Common ID generation / verification step is the
제2데이터베이스 (120)가 각 단계를 시작하는 경우는 이후의 실시예에서 제1,2데이터베이스 (110)과 (120)를 대체하는 것으로 완전히 기술된다. 실시예에서 사용되는 해쉬 함수 는 임의의 길이를 가지는 비트 스트링을 고정된 길이의 스트링으로 변환하는 암호학적 해쉬 함수(Cryptographic hash function) 이다. 해쉬 함수의 출력 길이는 실시예에서 적용되는 데이터베이스 시스템의 보안 정책에 따라 결정된다. Second database When 120 starts each step, the first and second databases in the following embodiments. 110 and It is fully described as replacing 120. Hash Function Used in the Examples 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) 분산 데이터베이스 환경에서 원본 레코드 는 각 제1,2데이터베이스인 (110)과 (120)에 각각의 제1,2레코드 과 로 분리되어 저장(210) 된다. (Step 1) Source Records in a Distributed Database Environment Is the first and
(단계2) 제1데이터베이스 (110)은 저장된 제1레코드 으로부터 해쉬 함수 를 계산하고, 를 제2데이터베이스 로 전송(220)한다. (Step 2)
(단계3) 제2데이터베이스 (120)는 저장된 제2레코드 의 해쉬함수 를 계산하고, 제1데이터베이스 (110)으로부터 전송(220)된 과 계산된 를 이용하여 공통 ID 를 산출한다. 제2데이터베이스 (120)는 공통 ID 를 제2레코드 에 추가하고, 를 제1데이터베이스 (110)로 전송(230)한다. (Step 3)
(단계4) 데이터베이스 (110)은 데이터베이스 (120)로부터 전송(230)된 와 계산된 을 이용하여 를 계산하고, 수신(230) 받은 공통 ID 와 계산된 를 비교하여 로서 일치하면 를 레코드 에 추가하고, 그렇지 않으면 에러 메시지를 출력(240)하고 공통 ID 생성 단계를 중단한다. (Step 4)
실시예 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데이터베이스 (110)은 외부로부터 제1레코드 에 대한 참조 요청을 받고(310), 제1레코드 을 출력(320)한다. (Step 1)
(단계2) 제1데이터베이스 (110)은 참조하려는 제1레코드 으로부터 공 통 ID 를 읽고 제1레코드의 해쉬함수 을 계산한다. 그리고 제2데이터베이스 (120)로 공통 ID와 해쉬함수 을 전송(330)한다. (Step 2)
(단계3) 제2데이터베이스 (120)는 전송(330)된 공통 ID 에 해당하는 제2레코드 를 찾아내고 제2레코드의 해쉬함수 를 산출한다. 전송(330)된 와 계산된 로부터 를 산출한다. (Step 3)
(단계4) 제2데이터베이스 (120)는 수신(330) 받은 공통 ID 와 상기 (단계3)에서 계산된 를 비교하여, 로 일치하면 데이터가 위ㆍ변조되지 않았다고 판단하고 레코드 를 출력(340)한다. 로서 일치하지 않으면 데이터베이스에 저장된 데이터가 위ㆍ변조되었다고 판단하고, 에러 메시지를 출력(340)한다. (Step 4)
실시예 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데이터베이스 (610)와 (620)는 비밀키 를 공유하고 있다고 가정한다. 그리고 실시예 3)과 실시예 4)에서 는 를 비밀키로 가지는 대칭키 방식 암호 알고리즘을 나타내며, 와 는 각각 데이터베이스 의 식별자(identifier)와 데이터베이스 가 생성한 넌스(nonce)를 의미한다. 암호문을 생성할 때의 시간인 타임스탬프(time stamp), 데이터베이스간에 주고받는 암호문에 순차적으로 부여되는 일련 번호(sequence number) 등이 넌스(nonce)로 사용될 수 있다. 본 실시예에서는 대칭키 방식 암호 알고리즘을 사용하였지만, 본 발 명이 적용되는 데이터베이스 시스템의 보안 정책에 따라 다양한 암호 알고리즘이 적용될 수 있다. Where different first and
또한, 식별자 는 안전하지 않은 채널 상(실시예3,4)에서 수신받은 암호문이 중간에 변조되지 않았음을 증명하는 역할을 수행하며, 예컨대, 공격자가 임의의 암호문(정당한 키로 암호화되지 않은 암호문)을 데이터베이스 에 전달했을 때, 데이터베이스 는 암호문을 복호화한 후 복호화된 데이터에 정당한 식별자 가 포함되어 있는지 여부를 확인함으로써, 전송된 암호문이 정당한 데이터베이스 로부터 전송되었음을 확인할 수 있다. 따라서, 비밀키 K를 알지 못하는 경우, 공격자는 식별자 가 포함된 암호문을 만들어내는 것이 불가능하다.Also, identifier 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). When passed to, the database Is a valid identifier for the decrypted data after decrypting the ciphertext. Database by checking whether a valid ciphertext is sent You can see that it was sent from. Thus, if the secret key K is not known, the attacker can identify the identifier 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) 분산 데이터베이스 환경에서 원본 레코드 는 각 제1,제2데이터베이스 (610)과 (620)에 각각의 제1,제2레코드 과 로 분리되어 저장(410)된다. (Step 1) Source Records in a Distributed Database Environment Is the first and
(단계2) 제1데이터베이스 (610)은 저장된 제1레코드 로부터 제1레코드의 해쉬함수 를 산출하고, 산출된 과 제1데이터베이스 식별자 , 넌수 의 대칭키암호문 을 계산한다. 제1데이터베이스 (610)은 을 제2데이터베이스 (620)로 전송(420)한다. (Step 2)
(단계3) 제2데이터베이스 (620)는 저장된 제2레코드 로부터 제2레코드의 해쉬함수 를 계산하고, 제1데이터베이스 으로부터 전송(420)된 대칭키암호문 를 복호화하여 을 복구하고, 제1데이터 식별자 와 넌수 가 정당한 값인지 확인한다. (Step 3)
여기서, 제1데이터 식별자 는 제1,제2데이터베이스 (610)와 (620)에서 알고 때문에 복구한 식별자와 비교함으로써 정당한 값인지 확인할 수 있다. 또한, 데이터베이스간에 송수신되는 암호문에 순차적으로 부가되는 일련번호의 경우, 데이터베이스들간의 합의된 일련번호 생성 방법을 통하여 확인할 수 있다.Where the first data identifier Is the first and
제1데이터식별자 와 넌수 가 정당한 값이 아닐 경우, 제2데이터베이스 (620)는 에러 메시지를 출력하고 공통 ID 생성 단계를 중단한다. 그렇지 않으면, 계산한 과 복구된 를 연접시킨 후 다시 해쉬 함수를 적용하여 공통 ID 를 계산한다. First Data Identifier And non number Is not a legal value, the
그리고 공통 ID 를 제2레코드 에 추가한 후, 에 대한 암호문 를 생성하여 데이터베이스 (610)로 전송(430)한다.And common ID 2nd record After adding to Ciphertext for Create a database And transmits to 610.
(단계4) 제1데이터베이스 (610)은 데이터베이스 (620)로부터 전송(230)된 암호문 를 복호화하여을 복구하고, 제2데이터식별자 와 넌수 가 정당한 값인지 확인한다. 만약 와 가 정당한 값이 아닐 경우, 에러 메시지를 출력하고 공통 ID 생성 단계를 중단한다. 정당한 값인 경우, 계산한 과 복구된 로부터 를 계산하고, 수신된 공통 ID 와 계산된 를 비교하여 로 일치하면 공통 ID 를 제1레코드 에 추가한다. 그렇지 않으면 에러 메시지를 출력(440)하고 공통 ID 생성 단계를 중단한다. (Step 4)
실시예 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데이터베이스 (610)은 외부로부터 제1레코드 에 대한 참조 요청(510)을 받고, 제1레코드 을 출력(520)한다. (Step 1)
(단계2) 제1데이터베이스 (610)은 참조하려는 제1레코드 으로부터 함께 저장되어 있는 공통 ID 를 읽어 내고 제1레코드의 해쉬함수 을 계산한다. 그리고 에 대한 대칭키암호문 을 생성하여 제2데이터베이스 (620)에 전송(530)한다. (Step 2)
(단계3) 제2데이터베이스 (620)는 전송(530)된 공통 ID 에 해당하는 제2레코드 를 찾아내어 제2레코드의 해쉬함수 를 계산한다. 그리고 제1데이터베이스 제1(610)로부터 전송(530)된 대칭키암호문 을 복호화하여 을 복구하고, 제1데이터 식별자 과 넌수 이 정 당한 값인지 확인한다. 만약 와 이 정당한 값이 아닐 경우, 에러 메시지를 출력(540)하고 공통 ID 확인 단계를 중단한다. 정당한 값인 경우, 복구한 과 계산된 로부터 를 계산한다.(Step 3)
(단계4) 제2데이터베이스 (620)는 전송된(530) 공통 ID 와 (단계3)에서 계산된 를 비교하여, 로 일치하면 데이터가 위ㆍ변조되지 않은 것으로 판단하고 레코드 를 출력(340)한다. 이면 데이터베이스에 저장된 데이터가 위ㆍ변조되었다고 판단하고, 에러 메시지를 출력(340)한다.(Step 4)
실시예 1)에서 4)까지는 제1,제2데이터베이스 (610)과 (620)가 두 개로 나누어지는 경우를 설명하였으나, 본 발명에서 사용되는 공통 ID는 세 개 이상의 데이터베이스로 나누어지는 경우에도 역시 적용 가능하다. 이 경우 원본 레코드가 분산 저장되는 데이터베이스의 수가 n개라면 각 레코드에 추가되어야 하는 공통 ID는 가 된다.In Examples 1) to 4), the first and
위의 실시예 1)에서 4)까지와 데이터베이스의 수가 n인 경우에 대하여 공통 ID는 해쉬 함수만을 이용하여 생성하였으나, 메시지 인증 코드(MAC, Message Authentication Code)를 사용하여 만들 수도 있다. 이 경우 분산된 모든 데이터베이스는 메시지 인증 코드(MAC)를 생성하기 위한 공통의 키 k'를 공유하고 있어야 하며, 이 공통 키 k'는 실시예 3과 4에서 사용된 키 k와는 상이할 수도 있다. 이때, 공통 ID는 해쉬 함수와 메시지 인증 코드(MAC)를 사용하여 만들어지며, 가 된다.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), 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)
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)
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)
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)
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 |
-
2009
- 2009-01-07 KR KR1020090001295A patent/KR101015401B1/en not_active IP Right Cessation
Cited By (7)
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 |