KR101879839B1 - Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof - Google Patents

Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof Download PDF

Info

Publication number
KR101879839B1
KR101879839B1 KR1020160108087A KR20160108087A KR101879839B1 KR 101879839 B1 KR101879839 B1 KR 101879839B1 KR 1020160108087 A KR1020160108087 A KR 1020160108087A KR 20160108087 A KR20160108087 A KR 20160108087A KR 101879839 B1 KR101879839 B1 KR 101879839B1
Authority
KR
South Korea
Prior art keywords
data
field
temporary
encryption key
data table
Prior art date
Application number
KR1020160108087A
Other languages
Korean (ko)
Other versions
KR20180023186A (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 KR1020160108087A priority Critical patent/KR101879839B1/en
Publication of KR20180023186A publication Critical patent/KR20180023186A/en
Application granted granted Critical
Publication of KR101879839B1 publication Critical patent/KR101879839B1/en

Links

Images

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1073Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/602Providing cryptographic facilities or services
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • G06F2221/0764

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

대용량 데이터베이스의 암호화키 라이프 사이클 관리를 지원하는 데이터베이스 암호화 처리 장치 및 그 동작 방법이 개시된다. 본 발명은 데이터 암호화에 사용하기 위한 상기 복수의 암호화키들 각각에 대응하는 유효 사용기간을 정해놓은 후 데이터베이스에 저장되어 있는 데이터 테이블의 특정 필드에 삽입되어 있는 복수의 데이터들에 대한 암호화키 갱신 명령이 인가되면, 상기 복수의 데이터들 중 최신의 암호화키로 암호화되어 있지 않은 데이터들에 대해서만 최신의 암호화키로 새롭게 암호화하여 갱신을 수행함으로써, 오래된 암호화키의 사용으로 인한 보안 상의 위협을 방지하고, 대용량의 데이터베이스에 대한 암호화키 갱신 작업을 신속하게 처리할 수 있도록 지원할 수 있다.A database encryption processing device and an operation method thereof for supporting encryption key lifecycle management of a large-capacity database are disclosed. The present invention is characterized in that an encryption key update command for a plurality of data inserted in a specific field of a data table stored in a database is set after determining a validity period corresponding to each of the plurality of encryption keys for use in data encryption The encryption key is newly encrypted with the latest encryption key only for the data not encrypted with the latest encryption key among the plurality of data to thereby perform the update so as to prevent the security threat due to the use of the old encryption key, The encryption key update operation can be quickly handled.

Description

대용량 데이터베이스의 암호화키 라이프 사이클 관리를 지원하는 데이터베이스 암호화 처리 장치 및 그 동작 방법{DATABASE ENCRYPTION APPARATUS FOR SUPPORTING LIFE-CYCLE MANAGEMENT OF THE ENCRYPTION KEY FOR LARGE DATABASE AND OPERATING METHOD THEREOF}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database encryption processing apparatus and a database encryption processing apparatus that support an encryption key lifecycle management of a large-

본 발명은 대용량 데이터베이스에 저장되어 있는 데이터들의 노출에 따른 보안 상의 위협을 방어하기 위한 기술들과 관련된다.The present invention relates to techniques for defending against security threats due to exposure of data stored in a large database.

최근, 인터넷 등이 널리 보급됨에 따라, 사용자들은 전자상거래 사이트 등을 통해 쇼핑을 하거나, 인터넷뱅킹과 같은 웹 기반의 금융 거래를 이용하는 경우가 증가하고 있다.Recently, with the widespread use of the Internet and the like, users are increasingly shopping through e-commerce sites or using web-based financial transactions such as Internet banking.

보통, 사용자들이 이러한 웹 기반의 서비스를 이용하기 위해서는 보안 상의 문제로 웹 사이트에 회원으로 등록할 필요가 있다.In general, users need to register as a member of a web site because of security concerns in order to use these web-based services.

또한, 최근에는 대부분의 웹 사이트에서 사용자들을 회원으로 가입하도록 유도하여 가입된 회원만이 웹 사이트에서 제공하는 정보나 기능을 모두 이용할 수 있도록 제한을 두는 경우가 많다.Also, in recent years, most web sites have been encouraging users to join as members, limiting their access to all the information and functions provided by the website.

보통, 일반적인 웹 사이트에서는 회원 가입 시에 사용자들의 주민등록번호와 같은 개인 정보를 수집하는 경우가 많다. 이렇게 수집된 개인 정보는 각 사이트 운영사의 개인 정보 데이터베이스에 저장되어 관리되곤 한다.Generally, in general websites, personal information such as users' resident registration numbers are collected at the time of membership. The collected personal information is stored and managed in the personal information database of each site operator.

이로 인해, 최근에는 키로깅(Keylogging), 스니핑(Sniffing), 피싱(Phishing) 등 점차 고도화되어 가고 있는 해킹 기술로 인해 개인 정보가 유출되어 경제적, 사회적 피해가 발생하는 경우가 비일비재하여 개인 정보 보호의 필요성이 증가하고 있다.Due to this, in recent years, personal information is leaked due to increasingly advanced hacking techniques such as keylogging, sniffing, phishing, etc., resulting in economic and social damages. The need is increasing.

이에 따라, 각 사이트의 운영사는 개인 정보 데이터베이스에 저장되어 있는 회원들의 개인 정보의 유출을 방지하기 위해, 다양한 암호화 기술을 이용하여 회원들의 개인 정보를 암호화하여 개인 정보 데이터베이스에 저장해 두는 경우가 많다.Accordingly, in order to prevent leakage of personal information of members stored in the personal information database, the operator of each site often encrypts the personal information of members using various encryption techniques and stores the personal information in a personal information database.

이렇게, 많은 양의 데이터를 암호화하여 저장 및 관리하는 가장 대표적인 기술로는 소정의 암호화키를 생성한 후 해당 암호화키를 이용하여 평문 데이터들을 암호화한 후 암호화된 데이터들을 데이터베이스에 저장하는 방식이 존재한다.As a typical technique for encrypting, storing and managing a large amount of data, there is a method of generating a predetermined encryption key, encrypting the plaintext data using the encryption key, and storing the encrypted data in a database .

하지만, 이러한 데이터 암호화 관리 방식은 암호화키가 노출되는 경우, 데이터베이스에 저장되어 있는 데이터들이 제3자에게 손쉽게 노출될 수 있다는 점에서 보안 상의 취약성을 가지고 있다.However, this data encryption management method has a security vulnerability in that data stored in the database can be easily exposed to a third party when an encryption key is exposed.

따라서, 데이터베이스에 저장되어 있는 암호화 데이터들의 노출 가능성을 최소화하기 위해서, 하나의 암호화키로 모든 평문 데이터들을 암호화하여 관리하는 것이 아니라, 상황에 따라 평문 데이터의 암호화에 사용되는 암호화키를 이전 암호화키와는 다른 암호화키를 사용하도록 하고, 이미 암호화되어 있는 암호화 데이터들도 이전 암호화키와는 다른 암호화키로 다시 암호화를 수행하는 방식의 갱신 작업을 수행함으로써, 보안을 강화할 수 있는 데이터 암호화 관리 기법의 도입이 필요하다.Therefore, in order to minimize the possibility of exposure of the encrypted data stored in the database, it is not necessary to encrypt and manage all plaintext data with one encryption key, but rather to encrypt the encryption key used for encryption of plaintext data with the previous encryption key It is necessary to adopt a data encryption management technique capable of enhancing security by performing a renewal operation of using a different encryption key and encrypting the already encrypted data with an encryption key different from the previous encryption key Do.

본 발명은 데이터 암호화에 사용하기 위한 복수의 암호화키들 각각에 대응하는 유효 사용기간을 정해놓은 후 데이터베이스에 저장되어 있는 데이터 테이블의 특정 필드에 삽입되어 있는 복수의 데이터들에 대한 암호화키 갱신 명령이 인가되면, 상기 복수의 데이터들 중 최신의 암호화키로 암호화되어 있지 않은 데이터들에 대해서만 최신의 암호화키로 새롭게 암호화하여 갱신을 수행함으로써, 오래된 암호화키의 사용으로 인한 보안 상의 위협을 방지하고, 대용량의 데이터베이스에 대한 암호화키 갱신 작업을 신속하게 처리할 수 있도록 지원하고자 한다.The present invention is characterized in that an effective period of use corresponding to each of a plurality of encryption keys for use in data encryption is determined and then an encryption key update command for a plurality of data inserted in a specific field of a data table , Encryption is newly performed with the latest encryption key only for the data that is not encrypted with the latest encryption key among the plurality of data to thereby prevent security threat due to use of the old encryption key, And to support the processing of the update of the encryption key for the user.

본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치는 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부, 복수의 데이터 테이블들 - 상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있고, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있음 - 이 저장되어 있는 데이터베이스, 상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인하는 암호화키 확인부, 상기 데이터베이스를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 암호화키 식별부, 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인하는 데이터 확인부, 상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 데이터 추출부 및 상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신하는 데이터 갱신부를 포함한다.The database encryption processing apparatus according to an embodiment of the present invention includes a key storage unit for storing a plurality of encryption keys and information on a validity period preliminarily designated for data encryption for each of the plurality of encryption keys, And a plurality of data tables, wherein the plurality of data tables include a plurality of data records in which data corresponding to a plurality of different fields are inserted, and a plurality of different data tables Wherein the data inserted in the fields of the plurality of data tables are encrypted by encryption keys corresponding to information on valid period of use belonging to the time when data is input, On the first field belonging to the first data table A first encryption key stored in association with information on the latest valid period of use among the plurality of encryption keys from the key storage unit, An encryption key identifying unit for identifying an encryption key used for encryption of each of the plurality of first data inserted in the first field belonging to the first data table with reference to the database, And determining at least one second data that is not encrypted with the first encryption key among the plurality of first data when the identification of the encryption key used to encrypt each of the plurality of first data is completed A data checking unit for checking whether or not the plurality of A data extracting unit for extracting the at least one second data from among the first data and an encryption key used for encryption of each of the at least one second data from the key storing unit, Decrypting each of the extracted at least one second data to generate at least one first plaintext data and encrypting each of the at least one first plaintext data based on the first encryption key to generate at least one first update data The at least one second data of the plurality of first data inserted in the first field of the first data table stored in the database into the at least one first update data And a data updating unit for updating the data.

또한, 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법은 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부를 유지하는 단계, 복수의 데이터 테이블들 - 상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있고, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있음 - 이 저장되어 있는 데이터베이스를 유지하는 단계, 상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인하는 단계, 상기 데이터베이스를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계, 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인하는 단계, 상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 단계 및 상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신하는 단계를 포함한다.Also, a method of operating a database encryption processing apparatus according to an embodiment of the present invention is a method of encrypting a plurality of encryption keys and information on a validity period preliminarily designated for use in data encryption, And a plurality of data tables in which data corresponding to a plurality of different fields are inserted are included in the plurality of data tables, The data inserted in the plurality of different fields constituting each of the encryption keys are encrypted by the encryption keys corresponding to the information on the effective use period belonging to the time when the data is input, Maintaining the plurality of data tables When the encryption key update command for a plurality of first data inserted in a first field belonging to the first data table among the plurality of encryption keys is input, Encrypting each of the plurality of first data inserted in the first field belonging to the first data table with reference to the database, When the identification of the encryption key used for encryption of each of the plurality of first data is completed, identifying at least one of the plurality of first data that is not encrypted with the first encryption key Identifying a second data item; inserting, from the database, on the first field belonging to the first data table Extracting the at least one second data from the plurality of first data having the at least one second data and extracting an encryption key used for encrypting each of the at least one second data from the key storage unit, Decrypting each of the extracted at least one second data to generate at least one first plaintext data and encrypting each of the at least one first plaintext data based on the first encryption key to generate at least one first Updating the at least one second data among the plurality of first data inserted in the first field of the first data table stored in the database, And updating it with data.

본 발명은 데이터 암호화에 사용하기 위한 복수의 암호화키들 각각에 대응하는 유효 사용기간을 정해놓은 후 데이터베이스에 저장되어 있는 데이터 테이블의 특정 필드에 삽입되어 있는 복수의 데이터들에 대한 암호화키 갱신 명령이 인가되면, 상기 복수의 데이터들 중 최신의 암호화키로 암호화되어 있지 않은 데이터들에 대해서만 최신의 암호화키로 새롭게 암호화하여 갱신을 수행함으로써, 오래된 암호화키의 사용으로 인한 보안 상의 위협을 방지하고, 대용량의 데이터베이스에 대한 암호화키 갱신 작업을 신속하게 처리할 수 있도록 지원할 수 있다.The present invention is characterized in that an effective period of use corresponding to each of a plurality of encryption keys for use in data encryption is determined and then an encryption key update command for a plurality of data inserted in a specific field of a data table , Encryption is newly performed with the latest encryption key only for the data that is not encrypted with the latest encryption key among the plurality of data to thereby prevent security threat due to use of the old encryption key, It is possible to support the processing of the encryption key update operation for the user.

도 1은 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 구조를 도시한 도면이다.
도 2 내지 도 4는 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법을 도시한 순서도이다.
1 is a block diagram illustrating a database encryption processing apparatus according to an embodiment of the present invention.
2 to 4 are views for explaining the operation of the database encryption processing apparatus according to an embodiment of the present invention.
5 is a flowchart illustrating an operation method of a database encryption processing apparatus according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 구조를 도시한 도면이다.1 is a block diagram illustrating a database encryption processing apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치(110)는 키 저장부(111), 데이터베이스(112), 암호화키 확인부(113), 암호화키 식별부(114), 데이터 확인부(115), 데이터 추출부(116) 및 데이터 갱신부(117)를 포함한다.1, a database encryption processing apparatus 110 according to an exemplary embodiment of the present invention includes a key storage unit 111, a database 112, an encryption key verification unit 113, an encryption key identification unit 114, A data checking unit 115, a data extracting unit 116, and a data updating unit 117.

키 저장부(111)에는 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있다.The key storage unit 111 stores a plurality of encryption keys and information on effective usable periods predetermined for use in data encryption with respect to each of the plurality of encryption keys in association with each other.

관련해서, 키 저장부(111)에는 도 2의 도면부호 210에 도시된 바와 같이, 복수의 암호화키들(211, 212, 213, 214)과 복수의 암호화키들(211, 212, 213, 214) 각각에 대응하는 유효 사용기간에 대한 정보가 대응되어 저장되어 있을 수 있다.2, a plurality of encryption keys 211, 212, 213, and 214 and a plurality of encryption keys 211, 212, 213, and 214, respectively, are stored in the key storage unit 111, May be stored in association with each other.

데이터베이스(112)에는 복수의 데이터 테이블들이 저장되어 있다.The database 112 stores a plurality of data tables.

여기서, 데이터베이스(112)에 저장되어 있는 상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있다.Here, the plurality of data tables stored in the database 112 include a plurality of data records in which data corresponding to a plurality of different fields are inserted.

관련해서, 도 3에는 상기 복수의 데이터 테이블들의 구조를 설명하기 위한 예시가 도시되어 있다.In this regard, FIG. 3 shows an example for explaining the structure of the plurality of data tables.

도 3의 도면부호 310에 도시된 바와 같이, 데이터베이스(112)에 저장되어 있는 복수의 데이터 테이블들 각각에는 "성명", "주소", "주민등록번호", "전화번호", "계좌번호"와 같은 복수의 서로 다른 필드들(311) 별로 대응되는 데이터가 삽입되어 있을 수 있다.As shown in reference numeral 310 in FIG. 3, each of the plurality of data tables stored in the database 112 stores a name, an address, a resident registration number, a telephone number, and an account number Data corresponding to a plurality of different fields 311 may be inserted.

여기서, 도면부호 312에 도시된 바와 같이, "성명: 홍길동, 주소: 서울시, 주민등록번호: 123456-7890123, 전화번호: 010-1234-5678, 계좌번호: 123-456-789"처럼 데이터 테이블 상에 저장되어 있는 각각의 구분 가능한 데이터의 집합체를 데이터 레코드라고 하며, 상기 복수의 데이터 테이블들 각각에는 도면부호 312와 같이, 서로 다른 복수의 필드들(311) 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있을 수 있다.Here, as shown in the reference numeral 312, it is stored in the data table as "Name: Hong Kil-dong, Address: Seoul City, Resident Registration No. 123456-7890123, Phone: 010-1234-5678, Account No. 123-456-789" A plurality of data records in which data corresponding to a plurality of different fields 311 are inserted, such as a reference numeral 312, are stored in each of the plurality of data tables, May be included.

이때, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있다.At this time, the data inserted on the plurality of different fields constituting each of the plurality of data tables are encrypted by the encryption keys corresponding to the information on the effective use period belonging to the time when the data is inputted have.

예컨대, 소정의 평문 데이터 1이 2013.05.06일에 도 2의 도면부호 220에 도시된 바와 같은 데이터 테이블의 필드 2 상에 입력되었다고 하는 경우, 상기 평문 데이터 1은 암호화키 1(211)로 암호화됨에 따라 데이터 1(221)로 암호화된 후 상기 데이터 테이블의 필드 2 상에 저장될 수 있다.For example, when it is assumed that the predetermined plaintext data 1 is inputted on the field 2 of the data table as shown at 220 in FIG. 2 on May 31, 2016, the plaintext data 1 is encrypted with the encryption key 1 (211) May be encrypted with data 1 (221) and then stored on field 2 of the data table.

참고로, 도 3의 도면부호 310에 도시된 데이터 테이블에서는 복수의 서로 다른 필드들(311) 상에 삽입되어 있는 데이터들이 평문 값으로 표현되어 있지만, 이는 데이터 테이블의 구조를 쉽게 설명하기 위해서 각 필드에 삽입되어 있는 데이터를 평문 값으로 표현한 것일 뿐, 데이터베이스(112)에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 해당 데이터가 데이터 테이블에 입력되는 시점에 속해 있는 유효 사용 기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있다.3, data inserted in a plurality of different fields 311 are represented by plain text values. However, in order to easily describe the structure of the data table, The data inserted in the plurality of different fields constituting each of the plurality of data tables stored in the database 112 is stored in the data table And the encryption keys corresponding to the information on the effective use period belonging to the time point of input are respectively encrypted.

암호화키 확인부(113)는 상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 키 저장부(111)로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인한다.When an encryption key update command for a plurality of first data inserted in a first field belonging to a first data table among the plurality of data tables is input, 111) to identify the first encryption key stored in association with information on the latest valid period of use of the plurality of encryption keys.

암호화키 식별부(114)는 데이터베이스(112)를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별한다.The encryption key identifying unit 114 refers to the database 112 and identifies an encryption key used for encrypting each of the plurality of first data inserted in the first field belonging to the first data table .

이때, 본 발명의 일실시예에 따르면, 키 저장부(111)에는 상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있을 수 있고, 데이터베이스(112)에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들 각각에는 각 데이터들의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.According to an embodiment of the present invention, an index value for identifying each of the plurality of encryption keys may be additionally stored in the key storage unit 111 in correspondence with each of the plurality of encryption keys, Data constituting an index value for an encryption key used for encryption of each data is stored in each of the data inserted in a plurality of different fields constituting each of the plurality of data tables stored in the storage unit 112 Can be combined.

이때, 암호화키 식별부(114)는 인덱스 확인부(118) 및 식별부(119)를 포함할 수 있다.In this case, the encryption key identifying unit 114 may include an index checking unit 118 and an identifying unit 119.

인덱스 확인부(118)는 데이터베이스(112)를 참조하여 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인한다.The index check unit 118 refers to the database 112 and checks data constituting an index value combined with each of the plurality of first data inserted in the first field of the first data table .

식별부(119)는 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 키 저장부(111)에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별한다.The identification unit 119 identifies an index value corresponding to each of the plurality of encryption keys stored in the key storage unit 111 based on the data constituting the index value combined with each of the plurality of first data And identifies an encryption key used for encrypting each of the plurality of first data.

데이터 확인부(115)는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인한다.When the identification of the encryption key used for encryption of each of the plurality of first data is completed, the data verification unit 115 determines at least one of the plurality of first data, which is not encrypted with the first encryption key, 2 Check the data.

데이터 추출부(116)는 데이터베이스(112)로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출한다.The data extracting unit 116 extracts the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database 112.

데이터 갱신부(117)는 키 저장부(111)로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 데이터베이스(112)에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신한다.The data updating unit 117 extracts the encryption key used for encryption of each of the at least one second data from the key storage unit 111 and then extracts each of the extracted at least one second data based on the extracted encryption key Encrypts at least one first plaintext data based on the first encryption key to generate at least one first update data, and stores the at least one first update data in a database 112 And updates the at least one second data among the plurality of first data inserted in the first field of the first data table into the at least one first update data.

이때, 본 발명의 일실시예에 따르면, 데이터 추출부(116)는 임시 데이터 테이블 생성부(120), 추출부(121) 및 데이터 저장부(122)를 포함할 수 있다.The data extracting unit 116 may include a temporary data table generating unit 120, an extracting unit 121, and a data storing unit 122 according to an embodiment of the present invention.

임시 데이터 테이블 생성부(120)는 두 개의 필드를 갖는 임시 데이터 테이블을 생성한다.The temporary data table generating unit 120 generates a temporary data table having two fields.

추출부(121)는 데이터베이스(112)로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출한다.The extraction unit 121 extracts the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database 112. [

데이터 저장부(122)는 상기 추출된 적어도 하나의 제2 데이터를 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 제1 임시 필드 상에 삽입한다.The data storage unit 122 inserts the extracted at least one second data onto the first temporary field, which is one of the two fields included in the temporary data table.

이때, 데이터 갱신부(117)는 데이터 복호화부(123), 갱신 데이터 생성부(124), 갱신 데이터 저장부(125), 갱신 데이터 선별부(126) 및 데이터 교환부(127)를 포함할 수 있다.At this time, the data updating unit 117 may include a data decoding unit 123, an update data generating unit 124, an update data storage unit 125, an update data selection unit 126, and a data exchange unit 127 have.

데이터 복호화부(123)는 키 저장부(111)로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터 각각을 복호화하여 상기 적어도 하나의 제1 평문 데이터를 생성한다.The data decryption unit 123 extracts the encryption key used for encrypting each of the at least one second data from the key storage unit 111, and extracts the encryption key, which is embedded in the first temporary field, And decodes each of the at least one second data to generate the at least one first plaintext data.

갱신 데이터 생성부(124)는 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 상기 적어도 하나의 제1 갱신 데이터를 생성한다.The update data generation unit 124 encrypts each of the at least one first plaintext data based on the first encryption key to generate the at least one first update data.

갱신 데이터 저장부(125)는 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 제2 임시 필드 상에 상기 적어도 하나의 제1 갱신 데이터를 삽입한다.The update data storage unit 125 inserts the at least one first update data on the second temporary field, which is another one of the two fields included in the temporary data table.

갱신 데이터 선별부(126)는 데이터베이스(112)에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별한다.The update data selector 126 selects the first data stored in the first field of the first data table stored in the database 112 and the first temporary field of the temporary data table The at least one second data inserted in the first field is selected by comparing the at least one second data inserted in the first field.

데이터 교환부(127)는 상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환한다.The data exchanging unit 127 exchanges each of the at least one second data selected on the first field for the first data table with the at least one first data field inserted on the second temporary field of the temporary data table 1 update data with the corresponding update data.

이하에서는 도 2를 참조하여, 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치(110)의 동작에 대해 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the database encryption processing apparatus 110 according to an embodiment of the present invention will be described in detail with reference to FIG. 2, for example.

우선, 키 저장부(111)에는 도면부호 210에 도시된 바와 같이, 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214)가 저장되어 있고, 각 암호화키들(211, 212, 213, 214)에 대해, 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 대응되어 저장되어 있으며, 이와 동시에 각 암호화키들(211, 212, 213, 214)에 대해 미리 할당되어 있는 인덱스 값이 저장되어 있다고 가정한다.First, the encryption key 1 (211), the encryption key 2 (212), the encryption key 3 (213), and the encryption key 4 (214) are stored in the key storage unit (111) 212, 213, and 214, information on a validity period predetermined for use in data encryption is stored in association with each of the encryption keys 211, 212, 213, and 214, It is assumed that an index value that has been previously allocated to the index value is stored.

또한, 데이터베이스(112)에는 복수의 데이터 테이블들이 저장되어 있는데, 이때, 상기 복수의 데이터 테이블들 중 제1 데이터 테이블의 필드 2 상에는 도면부호 220에 도시된 바와 같이, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)이 저장되어 있다고 가정한다.In addition, a plurality of data tables are stored in the database 112. At this time, on the field 2 of the first data table among the plurality of data tables, data 1, 2, 3, 4 , 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230).

이때, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)은 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10에 각각 대응하는 암호화 데이터들로, 각 평문 데이터들이 상기 제1 데이터 테이블에 저장될 때, 키 저장부(111) 상에서 각 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화된 데이터들인 것으로 가정한다.The data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) When each plaintext data is stored in the first data table with the encryption data corresponding to each of the plaintext data corresponding to the plaintext data stored in the key storage unit 111, It is assumed that the encrypted data is encrypted with the encryption key stored corresponding to the information on the effective use period to which the point in time is included.

예컨대, 평문 데이터 1이 2013.05.06일에 상기 제1 데이터 테이블 상에 입력되었다고 하는 경우, 데이터 1(221)은 상기 평문 데이터 1이 암호화키 1(211)로 암호화되어 생성된 데이터일 수 있다.For example, when plaintext data 1 is input on the first data table 2013.05.06, the data 1 221 may be data generated by encrypting the plaintext data 1 with the encryption key 1 (211).

그리고, 데이터베이스(112)에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들 각각에는 각 데이터들의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있는데, 예컨대, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각에는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.Each of the data inserted in a plurality of different fields constituting each of the plurality of data tables stored in the database 112 is configured with an index value for an encryption key used for encryption of each data For example, data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230 are used for encrypting data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) The data constituting the index value for the encrypted key may be combined.

예컨대, 데이터 1(221)이 암호화키 1(211)로 암호화가 수행된 데이터인 경우, 데이터 1(221)에는 암호화키 1(211)에 대응하는 인덱스 값인 "1"이라는 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.For example, when the data 1 221 is data whose encryption is performed by the encryption key 1 211, the data 1 221 includes data constituting an index value "1 ", which is an index value corresponding to the encryption key 1 211 May be combined.

이렇게, 데이터베이스(112)에 저장되어 있는 상기 제1 데이터 테이블의 필드 2 상에 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)이 각각 소정의 암호화키로 암호화되어 삽입되어 상태에서 관리자에 의해 데이터베이스(112)에 저장되어 있는 복수의 데이터 테이블들 중 상기 제1 데이터 테이블에 속해있는 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)에 대한 암호화키 갱신 명령이 입력되면, 암호화키 확인부(113)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)를 확인할 수 있다.2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225) on the field 2 of the first data table stored in the database 112 , 226, 227, 228, 229, and 230 are encrypted with a predetermined encryption key and inserted into the database 112, Encryption of data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, When the key update command is input, the encryption key verification unit 113 receives the encryption key 1 (211), encryption key 2 (212), encryption key 3 (213), and encryption key 4 (214) from the key storage unit 111 It is possible to confirm the encryption key 4 (214), which is an encryption key stored in correspondence with information on the latest validity period of use.

이때, 암호화키 식별부(114)에 포함되어 있는 인덱스 확인부(118)는 데이터베이스(112)를 참조하여 상기 제1 데이터 테이블의 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인할 수 있다.The index identifying unit 118 included in the encryption key identifying unit 114 refers to the database 112 and extracts the data 1, 2, 3, 4, and 5 inserted in the field 2 of the first data table, It is possible to confirm data constituting an index value coupled to each of 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230).

그리고, 식별부(119)는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 키 저장부(111)에 저장되어 있는 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 각각에 대응하는 인덱스 값을 확인하여 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각의 암호화에 사용된 암호화키를 식별할 수 있다.The identification unit 119 identifies the data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) Encryption key 2 (212), encryption key 3 (213), encryption key 4 (214) stored in the key storage unit (111) based on the data constituting the index value combined with the encryption key 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) It is possible to identify the encryption key used for each encryption.

관련해서, 데이터 1, 2, 3, 4(221, 222, 223, 224)에 대해서는 "1"이라는 인덱스 값을 구성하는 데이터가 결합되어 있고, 데이터 4, 5, 6, 7(224, 225, 226, 227)에 대해서는 "2"라는 인덱스 값을 구성하는 데이터가 결합되어 있으며, 데이터 8, 9(228, 229)에 대해서는 "3"이라는 인덱스 값을 구성하는 데이터가, 데이터 10(230)에 대해서는 "4"라는 인덱스 값을 구성하는 데이터가 결합되어 있다고 하는 경우, 식별부(119)는 데이터 1, 2, 3, 4(221, 222, 223, 224)에 대해서 "1"이라는 인덱스 값에 대응하는 암호화키인 암호화키 1(211)이 데이터 암호화에 사용된 암호화키임을 식별할 수 있고, 데이터 4, 5, 6, 7(224, 225, 226, 227)에 대해서 "2"라는 인덱스 값에 대응하는 암호화키인 암호화키 2(212)가 데이터 암호화에 사용된 암호화키임을 식별할 수 있으며, 데이터 8, 9(228, 229)에 대해서 "3"이라는 인덱스 값에 대응하는 암호화키인 암호화키 3(213)이 데이터 암호화에 사용된 암호화키임을 식별할 수 있고, 데이터 10(230)에 대해서 "4"라는 인덱스 값에 대응하는 암호화키인 암호화키 4(214)가 데이터 암호화에 사용된 암호화키임을 식별할 수 있다.5, 6, and 7 (224, 225, and 224) are associated with the data constituting the index value "1 & 226 and 227 are combined with data constituting the index value of "2 ", data constituting the index value" 3 "for the data 8 and 9 (228 and 229) The identification unit 119 sets the index value of "1" to data 1, 2, 3 and 4 (221, 222, 223 and 224) It is possible to identify that the encryption key 1 (211) corresponding to the corresponding encryption key is the encryption key used for the data encryption and the index value of "2" for the data 4, 5, 6, 7 (224, 225, 226, The encryption key 2 212, which is an encryption key corresponding to the data 8, 9 (228, 229), can be identified as the encryption key used for data encryption, It is possible to identify that the encryption key 3 (213) as the encryption key corresponding to the encryption key is the encryption key used for the data encryption and the encryption key 4 (4) corresponding to the index value "4 " (214) is an encryption key used for data encryption.

이렇게, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 데이터 확인부(115)는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)로 암호화가 수행되지 않은 데이터들을 확인할 수 있다.The encryption used for the encryption of the data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, When the identification of the key is completed, the data checking unit 115 checks the data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228 , 229, and 230, which are stored in association with the information on the latest valid period of use, can be confirmed by the encryption key 4 (214).

본 실시예에서는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 10(230)만이 암호화키 4(214)로 암호화되었다고 가정하였으므로, 데이터 확인부(115)는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중에서 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 확인할 수 있다.The data 10 230 of the data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) among the data groups 225, 226, 227, 228, 229, .

이때, 데이터 추출부(116)에 포함되어 있는 임시 데이터 테이블 생성부(120)는 도면부호 240에 도시된 바와 같이, 임시 필드 1과 임시 필드 2라는 두 개의 필드를 갖는 임시 데이터 테이블을 생성할 수 있다.At this time, the temporary data table generating unit 120 included in the data extracting unit 116 can generate a temporary data table having two fields, i.e., a temporary field 1 and a temporary field 2, have.

그러고 나서, 추출부(121)는 데이터베이스(112)로부터 상기 제1 데이터 테이블에 속해 있는 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 추출할 수 있다.The extracting unit 121 extracts data 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10 inserted in the field 2 belonging to the first data table from the database 112 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225) among the data 221, 222, 223, 224, 225, 226, 227, 228, , 226, 227, 228, 229).

그리고, 데이터 저장부(122)는 상기 추출된 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 도면부호 240에 도시된 바와 같이 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 임시 필드 1 상에 삽입할 수 있다.The data storage unit 122 stores the extracted data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) It may be inserted on the temporary field 1, which is one of the two fields included in the temporary data table, as indicated by reference numeral 240.

그 이후, 데이터 갱신부(117)에 포함되어 있는 데이터 복호화부(123)는 키 저장부(111)로부터 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229) 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 임시 필드 1에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 복호화하여 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9를 생성할 수 있다.2, 3, 4, 5, 6, 7, 8, and 9 (221, 222, and 223) from the key storage unit 111. The data decryption unit 123, 223, 224, 225, 226, 227, 228, and 229, and extracts the encryption keys used for encrypting the data 1, 2, 3, 4, and 5 inserted in the temporary field 1 2, 3, 4, 5, 6, 7, 8, and 9 by decrypting the plaintext data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, Can be generated.

그리고, 갱신 데이터 생성부(124)는 가장 최신의 유효 사용기간을 갖는 암호화키 4(214)를 기초로 상기 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9 각각을 암호화하여 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)를 생성할 수 있다.The update data generation unit 124 encrypts each of the plaintext data 1, 2, 3, 4, 5, 6, 7, 8, and 9 based on the encryption key 4 (214) 241, 242, 243, 244, 245, 246, 247, 248, 249 can be generated as the update data 1, 2, 3, 4, 5, 6, 7,

그러고 나서, 갱신 데이터 저장부(125)는 도면부호 240에 도시된 바와 같이, 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 임시 필드 2 상에 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)를 삽입할 수 있다.Then, the update data storage unit 125 stores update data 1, 2, 3, 4, and 5 on the temporary field 2, which is another one of the two fields included in the temporary data table, 5, 6, 7, 8, 9 (241, 242, 243, 244, 245, 246, 247, 248, 249).

이렇게, 도면부호 240에 도시된 바와 같이, 상기 임시 데이터 테이블 상에 데이터의 삽입이 완료되면, 갱신 데이터 선별부(126)는 데이터베이스(112)에 저장되어 있는 상기 제1 데이터 테이블의 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)과 상기 임시 데이터 테이블의 상기 임시 필드 1 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 비교하여 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 선별해 낼 수 있다.When the insertion of the data on the temporary data table is completed, the update data selector 126 selects the field 2 phase of the first data table stored in the database 112 223, 224, 225, 226, 227, 228, 229, 230 inserted in the temporary data table 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 The data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) inserted in the temporary field 1 of The data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) Data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) can be selected.

그러고 나서, 데이터 교환부(127)는 상기 제1 데이터 테이블에 대해 상기 필드 2 상에서 선별된 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229) 각각을 상기 임시 데이터 테이블의 상기 임시 필드 2 상에 삽입되어 있는 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249) 중 대응되는 갱신 데이터로 교환함으로써, 상기 필드 2 상에 저장되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화되어 있지 않은 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화된 데이터인 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)로 갱신함으로써, 오래된 암호화키의 사용으로 인한 데이터의 노출 가능성을 최소화시킬 수 있다.Then, the data exchange unit 127 transmits data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 2, 3, 4, 5, 6, 7, 8, 9 (241, 242, 229) inserted in the temporary field 2 of the temporary data table, 2, 3, 4, 5, 6, 7, 8, 9, and 9 stored on the field 2 by exchanging the updated data with the corresponding update data among the update data in the fields 2, 243, 244, 245, 246, 247, 248, 2, 3, 4, and 5 that are not encrypted by the encryption key 4 (214) having the latest validity period of the latest validity period among the valid encryption keys (221, 222, 223, 224, 225, 226, 227, 228, 229, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) encrypted with the encryption key 4 (214) , 2, 3, 4, 5, 6, 7, 8, 9 (241, 242, 243, 244, 245, 246, 247, 248, 249) It is possible to minimize the possibility of exposure of the data caused by the data.

지금까지 도 2를 참조하여, 본 발명에 따른 데이터베이스 암호화 처리 장치(110)의 동작에 대해 예를 들어 상세히 설명하였다. 이하에서는 도 1을 참조하여 본 발명에 따른 데이터베이스 암호화 처리 장치(110)의 구조에 대해 계속 설명하기로 한다.The operation of the database encryption processing apparatus 110 according to the present invention has been described in detail with reference to FIG. 2, for example. Hereinafter, the structure of the database encryption processing apparatus 110 according to the present invention will be described with reference to FIG.

본 발명의 일실시예에 따르면, 데이터베이스(112)에는 상기 복수의 데이터 테이블들 중 서로 동일한 필드를 포함하고 있는 데이터 테이블들이 존재하는 경우, 서로 동일한 필드를 포함하고 있는 데이터 테이블들 간에 마스터 테이블과 그에 종속되는 슬레이브 테이블로 구분하기 위한 FK(Foreign Key) 제약 조건이 미리 설정되어 있을 수 있다.According to an embodiment of the present invention, when data tables including the same fields among the plurality of data tables exist in the database 112, A Foreign Key (FK) constraint condition for distinguishing a slave table as a dependent slave table may be preset.

관련해서, 도 3을 참조하여 마스터 테이블과 그에 종속되는 슬레이브 테이블에 대해 보다 상세히 설명하면 다음과 같다.Referring to FIG. 3, the master table and its dependent slave tables will be described in more detail as follows.

도 3의 도면부호 310에 도시된 바와 같이, "성명", "주소", "주민등록번호", "전화번호", "계좌번호"라는 필드로 구성된 데이터 테이블 1(310)과 도면부호 320에 도시된 바와 같이, "성명", "주민등록번호", "직업"이라는 필드로 구성된 데이터 테이블 2(320)가 데이터베이스(112)에 저장되어 있다고 가정하자.As shown in reference numeral 310 in FIG. 3, the data table 1 310 and the data table 320, which are composed of fields of "name", "address", "resident registration number", "telephone number", "account number" Assume that the data table 2 320 composed of fields of "name", "resident registration number" and "job" is stored in the database 112 as shown in FIG.

여기서, 데이터 테이블 1(310)과 데이터 테이블 2(320)는 "성명"과 "주민등록번호"라는 서로 동일한 필드를 포함하고 있는데, 추후 데이터 테이블 1(310)과 데이터 테이블 2(320)에 대해 암호화를 수행할 때, 데이터 테이블 1(310)에 대해 암호화 처리를 먼저 완료하게 되면, 데이터 테이블 2(320)에 대해서는 "성명"과 "주민등록번호"라는 필드의 데이터에 대해 다시 암호화를 수행할 필요가 없이, 데이터 테이블 1(310)에서 암호화 처리가 완료된 "성명"과 "주민등록번호" 필드의 데이터를 데이터 테이블 2(320)의 "성명"과 "주민등록번호" 필드에 삽입하면 되고, 데이터 테이블 2(320)에서는 오로지 "직업" 필드의 데이터에 대해서만 암호화 처리를 수행하면 되기 때문에 데이터 테이블 2(320)에 대한 암호화 처리를 보다 빠르게 수행할 수 있을 것이다.Here, the data table 1 (310) and the data table 2 (320) include the same fields of "name" and "resident registration number" It is not necessary to perform encryption again on the data of the fields "Name" and "Social Security Number" in the data table 2 320. In this case, The data of the "name" and "resident registration number" field in which the encryption processing is completed in the data table 1 310 is inserted into the "name" and "resident registration number" fields of the data table 2 320. In the data table 2 320, The encryption process for the data table 2 320 can be performed more quickly because the encryption process is performed only on the data of the "job" field.

이때, 데이터 테이블 1(310)에 대해 우선적으로 암호화 처리가 수행되어야만 데이터 테이블 1(310)에서 암호화 처리가 완료된 "성명"과 "주민등록번호" 필드의 데이터를 데이터 테이블 2(320)에서 그대로 사용할 수 있으므로, 데이터 테이블 1(310)을 "마스터 테이블", 데이터 테이블 2(320)를 데이터 테이블 1(310)에 종속되는 "슬레이브 테이블"이라고 한다.At this time, data of the "name" and "resident registration number" fields in which the encryption processing has been completed in the data table 1 310 can be used as it is in the data table 2 320 only when encryption processing is preferentially performed on the data table 1 (310) , The data table 1 310 is referred to as a "master table ", and the data table 2 320 is referred to as a" slave table "

결국, 데이터 테이블 2(320)의 "성명"과 "주민등록번호" 필드는 마스터 테이블인 데이터 테이블 1(310)의 "성명"과 "주민등록번호" 필드에 종속되기 때문에 데이터 테이블 2(320)의 "성명"과 "주민등록번호" 필드에 대해서는 데이터 테이블 1(310)의 "성명"과 "주민등록번호" 필드를 참조하도록 FK 제약 조건을 설정할 수 있다.As a result, since the "name" and "resident registration number" fields of the data table 2 320 are dependent on the "name" and "resident registration number" fields of the data table 1 310 which is the master table, FK constraint can be set to refer to the "name" field and the "resident registration number" field of the data table 1 310 for the "resident registration number" field.

FK 제약 조건이란 마스터 테이블인 데이터 테이블 1(310)과 슬레이브 테이블인 데이터 테이블 2(320)와의 관계와 같이, 양 데이터 테이블 간의 상, 하 관계를 만들어주는 외부 참조키로서, 도 3에서는 슬레이브 테이블인 데이터 테이블 2(320)의 "성명"과 "주민등록번호" 필드가 마스터 테이블인 데이터 테이블 1(310)의 "성명"과 "주민등록번호" 필드를 참조하도록 FK 제약 조건이 설정되어 있으므로, 데이터 테이블 2(320)의 "성명"과 "주민등록번호" 필드에 데이터가 입력되기 위해서는 반드시 마스터 테이블인 데이터 테이블 1(310)의 "성명"과 "주민등록번호" 필드 상에 동일 데이터가 입력되어 있어야 한다.The FK constraint condition is an external reference key for establishing an upper-lower relationship between the two data tables, such as a relationship between the data table 1 310, which is the master table, and the data table 2 320, which is the slave table. Since the FK constraint is set so that the "name" and "social security number" fields of the data table 2 320 refer to the "name" and "social security number" fields of the data table 1 310 as the master table, The same data must be input on the "name" and "resident registration number" fields of the data table 1 310, which is a master table, in order for data to be input in the "name" and "resident registration number"

이때, 본 발명의 일실시예에 따르면, 데이터 갱신부(117)는 연결 테이블 확인부(128) 및 제약 조건 제거부(129)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the data updating unit 117 may further include a connection table checking unit 128 and a constraint condition removing unit 129.

연결 테이블 확인부(128)는 데이터베이스(112) 상에서 상기 제1 데이터 테이블의 상기 제1 필드에 대해 제1 FK 제약 조건이 설정되어 있는 경우, 상기 제1 데이터 테이블과 상기 제1 FK 제약 조건으로 연결되어 있는 상기 제1 필드와 동일한 필드를 갖는 제2 데이터 테이블을 확인한다.If a first FK constraint condition is set for the first field of the first data table on the database 112, the connection table checking unit 128 determines whether the first data table is connected to the first FK constraint And a second data table having the same field as the first field.

제약 조건 제거부(129)는 데이터베이스(112) 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해서 설정되어 있는 상기 제1 FK 제약 조건을 제거한다.The constraint removing unit 129 removes the first FK constraint set on the first data table and the second data table on the database 112. [

이때, 본 발명의 일실시예에 따르면, 갱신 데이터 선별부(126)는 데이터베이스(126)에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하고, 데이터베이스(112)에 저장되어 있는 상기 제2 데이터 테이블의 상기 제1 필드와 동일한 필드 상에 삽입되어 있는 복수의 제3 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 복수의 제3 데이터들 중 상기 적어도 하나의 제2 데이터와 일치하는 적어도 하나의 제4 데이터를 선별할 수 있다.In this case, according to an embodiment of the present invention, the update data selector 126 selects the update data to be stored in the first data table stored in the database 126, The at least one second data inserted in the first temporary field of the temporary data table is compared to the at least one second data of the plurality of first data inserted in the first field, A plurality of third data inserted in the same field as the first field of the second data table stored in the database 112 and the third temporary data inserted in the first temporary field of the temporary data table Comparing the at least one second data with the at least one second data of the plurality of third data, Can be selected.

이때, 데이터 교환부(127)는 상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하고, 상기 제2 데이터 테이블에 대해 상기 제1 필드와 동일한 필드 상에서 선별된 상기 적어도 하나의 제4 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환할 수 있다.At this time, the data exchanging unit 127 exchanges each of the at least one second data selected on the first field for the first data table with the at least one first data field inserted on the second temporary field of the temporary data table Of the first data in the temporary data table to the corresponding update data in the temporary data table, and for each of the at least one fourth data selected on the same field as the first field for the second data table, With the corresponding update data among the at least one first update data inserted in the first update data.

이때, 본 발명의 일실시예에 따르면, 데이터 갱신부(117)는 제약 조건 재설정부(130)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the data updating unit 117 may further include a restricting condition resetting unit 130.

제약 조건 재설정부(130)는 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 적어도 하나의 제1 갱신 데이터를 통한 데이터 교환이 완료되면, 데이터베이스(112) 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 제1 FK 제약 조건을 재설정한다.The constraint resetting unit 130 may be configured to reset the first data table and the second data table on the database 112 when the data exchange through the at least one first update data is completed for the first data table and the second data table, 2 < / RTI > data table.

이하에서는 도 2와 도 4를 참조하여 본 발명에 따른 연결 테이블 확인부(128), 제약 조건 제거부(129), 제약 조건 재설정부(130)의 동작에 대해 예를 들어 상세히 설명하기로 한다.Hereinafter, operations of the connection table confirmation unit 128, the constraint condition remover 129, and the constraint condition reconfiguration unit 130 according to the present invention will be described in detail with reference to FIG. 2 and FIG. 4, for example.

우선, 앞서 설명한 바와 같이, 키 저장부(111)에는 도면부호 210에 도시된 것처럼, 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214)가 저장되어 있고, 각 암호화키들(211, 212, 213, 214)에 대해, 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 대응되어 저장되어 있으며, 이와 동시에 각 암호화키들(211, 212, 213, 214)에 대해 미리 할당되어 있는 인덱스 값이 저장되어 있다고 가정하자.First, as described above, the encryption key 1 (211), the encryption key 2 (212), the encryption key 3 (213), and the encryption key 4 (214) are stored in the key storage unit 111 And the information on the validity period predetermined for use in the data encryption is stored corresponding to each of the encryption keys 211, 212, 213, 214. At the same time, the encryption keys 211, 212, 213, 213, and 214, are stored in advance.

또한, 데이터베이스(112)에는 복수의 데이터 테이블들이 저장되어 있는데, 이때, 상기 복수의 데이터 테이블들 중 제1 데이터 테이블의 필드 2 상에는 도면부호 220에 도시된 바와 같이, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)이 저장되어 있다고 가정하자.In addition, a plurality of data tables are stored in the database 112. At this time, on the field 2 of the first data table among the plurality of data tables, data 1, 2, 3, 4 , 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230)

이때, 데이터베이스(112)에는 도 4의 도면부호 410에 도시된 바와 같이, 상기 제1 데이터 테이블의 필드 2와 동일한 필드를 갖는 제2 데이터 테이블이 저장되어 있고, 상기 제2 데이터 테이블의 필드 2 상에는 데이터 1, 4, 5, 7, 9, 10(221, 224, 225, 227, 229, 230)이 저장되어 있으며, 상기 제1 데이터 테이블이 마스터 테이블, 상기 제2 데이터 테이블이 슬레이브 테이블로 설정되어 있고, 상기 제2 데이터 테이블의 필드 2는 상기 제1 데이터 테이블의 필드 2를 참조하도록 제1 FK 제약 조건이 설정되어 있다고 가정하자.4, a second data table having the same field as the field 2 of the first data table is stored in the database 112, and on the field 2 of the second data table, Data 1, 4, 5, 7, 9 and 10 (221, 224, 225, 227, 229 and 230) are stored and the first data table is set as a master table and the second data table is set as a slave table , And field 2 of the second data table is set to refer to field 2 of the first data table.

그리고, 데이터 1, 2, 3, 4(221, 222, 223, 224)에 대해서는 암호화키 1(211)로 암호화가 되어 있고, 데이터 4, 5, 6, 7(224, 225, 226, 227)에 대해서는 암호화키 2(212)로 암호화가 되어 있으며, 데이터 8, 9(228, 229)에 대해서는 암호화키 3(213)으로 암호화가 되어 있고, 데이터 10(230)에 대해서는 암호화키 4(214)로 암호화가 되어 있다고 가정하자.Data 1, 2, 3 and 4 (221, 222, 223, and 224) are encrypted by encryption key 1 211 and data 4, 5, 6, and 7 (224, 225, The data 8 and 9 228 and 229 are encrypted with the encryption key 3 213 and the data 10 230 is encrypted with the encryption key 4 214, .

이때, 관리자에 의해 데이터베이스(112)에 저장되어 있는 복수의 데이터 테이블들 중 상기 제1 데이터 테이블에 속해있는 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)에 대한 암호화키 갱신 명령이 입력되면, 암호화키 확인부(113)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)를 확인할 수 있다.At this time, data 1, 2, 3, 4, 5, 6, 7, 8 inserted in the field 2 belonging to the first data table among the plurality of data tables stored in the database 112 by the administrator, The encryption key verification unit 113 checks whether or not the key storage unit 111 has received the encryption key update command to the encryption key verification unit 113, Which is the encryption key stored in correspondence with the information on the latest effective period of use among the encryption key 1 (211), encryption key 2 (212), encryption key 3 (213) and encryption key 4 (214) (214).

그리고, 암호화키 식별부(114)는 데이터베이스(112)를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각의 암호화에 사용된 암호화키를 식별할 수 있다.The encryption key identifying unit 114 refers to the database 112 and identifies the data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230).

이렇게, 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 데이터 확인부(115)는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)로 암호화가 수행되지 않은 데이터들을 확인할 수 있다.The encryption used for the encryption of the data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, When the identification of the key is completed, the data checking unit 115 checks the data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228 , 229, and 230, which are stored in association with the information on the latest valid period of use, can be confirmed by the encryption key 4 (214).

본 실시예에서는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 10(230)만이 암호화키 4(214)로 암호화되었다고 가정하였으므로, 데이터 확인부(115)는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중에서 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 확인할 수 있다.The data 10 230 of the data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) among the data groups 225, 226, 227, 228, 229, .

이때, 데이터 추출부(116)에 포함되어 있는 임시 데이터 테이블 생성부(120)는 도 2의 도면부호 240에 도시된 바와 같이, 임시 필드 1과 임시 필드 2라는 두 개의 필드를 갖는 임시 데이터 테이블을 생성할 수 있다.At this time, the temporary data table generating unit 120 included in the data extracting unit 116 generates a temporary data table having two fields, i.e., temporary field 1 and temporary field 2, as indicated by reference numeral 240 in FIG. 2 Can be generated.

그러고 나서, 추출부(121)는 데이터베이스(112)로부터 상기 제1 데이터 테이블에 속해 있는 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 추출할 수 있다.The extracting unit 121 extracts data 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10 inserted in the field 2 belonging to the first data table from the database 112 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225) among the data 221, 222, 223, 224, 225, 226, 227, 228, , 226, 227, 228, 229).

그리고, 데이터 저장부(122)는 상기 추출된 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 도면부호 240에 도시된 바와 같이 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 임시 필드 1 상에 삽입할 수 있다.The data storage unit 122 stores the extracted data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) It may be inserted on the temporary field 1, which is one of the two fields included in the temporary data table, as indicated by reference numeral 240.

그 이후, 데이터 갱신부(117)에 포함되어 있는 데이터 복호화부(123)는 키 저장부(111)로부터 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229) 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 임시 필드 1에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 복호화하여 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9를 생성할 수 있다.2, 3, 4, 5, 6, 7, 8, and 9 (221, 222, and 223) from the key storage unit 111. The data decryption unit 123, 223, 224, 225, 226, 227, 228, and 229, and extracts the encryption keys used for encrypting the data 1, 2, 3, 4, and 5 inserted in the temporary field 1 2, 3, 4, 5, 6, 7, 8, and 9 by decrypting the plaintext data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, Can be generated.

그리고, 갱신 데이터 생성부(124)는 가장 최신의 유효 사용기간을 갖는 암호화키 4(214)를 기초로 상기 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9 각각을 암호화하여 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)를 생성할 수 있다.The update data generation unit 124 encrypts each of the plaintext data 1, 2, 3, 4, 5, 6, 7, 8, and 9 based on the encryption key 4 (214) 241, 242, 243, 244, 245, 246, 247, 248, 249 can be generated as the update data 1, 2, 3, 4, 5, 6, 7,

그러고 나서, 갱신 데이터 저장부(125)는 도면부호 240에 도시된 바와 같이, 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 임시 필드 2 상에 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)를 삽입할 수 있다.Then, the update data storage unit 125 stores update data 1, 2, 3, 4, and 5 on the temporary field 2, which is another one of the two fields included in the temporary data table, 5, 6, 7, 8, 9 (241, 242, 243, 244, 245, 246, 247, 248, 249).

이렇게, 도면부호 240에 도시된 바와 같이, 상기 임시 데이터 테이블 상에 데이터의 삽입이 완료되면, 연결 테이블 확인부(128)는 데이터베이스(112) 상에서 상기 제1 데이터 테이블과 상기 제1 FK 제약 조건으로 연결되어 있는 상기 필드 2와 동일한 필드를 갖는 도면부호 410에 도시된 바와 같은 상기 제2 데이터 테이블을 확인할 수 있다.When the insertion of the data on the temporary data table is completed, the connection table checking unit 128 searches the database 112 for the first data table and the first FK constraint The second data table as shown at reference numeral 410 having the same field as the connected field 2 can be identified.

그리고, 제약 조건 제거부(129)는 데이터베이스(112) 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해서 설정되어 있는 상기 제1 FK 제약 조건을 제거할 수 있다.The constraint removing unit 129 may remove the first FK constraint condition set for the first data table and the second data table on the database 112. [

그 이후, 갱신 데이터 선별부(126)는 데이터베이스(112)에 저장되어 있는 상기 제1 데이터 테이블의 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)과 상기 임시 데이터 테이블의 상기 임시 필드 1 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 비교하여 상기 필드 2 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 선별해 낼 수 있다.Thereafter, the update data selection unit 126 updates the data 1, 2, 3, 4, 5, 6, 7, 8, and 9 inserted in the field 2 of the first data table stored in the database 112, The data 1, 2, 3, 4, 5, and 5 inserted in the temporary field 1 of the temporary data table, and the data 1, 2, 3, 4, 5, 2, 3, 4, 5, 6, 7, 8, and 9 inserted on the field 2 by comparing the data 1, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229, 222, 223, 224, 225, 226, 227, 228, 229).

이와 동시에, 갱신 데이터 선별부(126)는 데이터베이스(112)에 저장되어 있는 상기 제2 데이터 테이블의 필드 2 상에 삽입되어 있는 데이터 1, 4, 5, 7, 9, 10(221, 224, 225, 227, 229, 230)과 상기 임시 데이터 테이블의 상기 임시 필드 1 상에 삽입되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 비교하여 상기 필드 2 상에 삽입되어 있는 데이터 1, 4, 5, 7, 9, 10(221, 224, 225, 227, 229, 230) 중 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)와 일치하는 데이터인 데이터 1, 4, 5, 7, 9(221, 224, 225, 227, 229)를 선별해 낼 수 있다.At the same time, the update data selection unit 126 updates the data 1, 4, 5, 7, 9, 10 (221, 224, 225) inserted in the field 2 of the second data table stored in the database 112 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225) inserted in the temporary field 1 of the temporary data table, , 226, 227, 228, and 229) of the data 1, 2, 3, 4, 5, 7, 9, 10 4, 5, 7, 9 (221), which correspond to 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) , 224, 225, 227, 229).

그러고 나서, 데이터 교환부(127)는 상기 제1 데이터 테이블에 대해 상기 필드 2 상에서 선별된 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229) 각각을 상기 임시 데이터 테이블의 상기 임시 필드 2 상에 삽입되어 있는 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249) 중 대응되는 갱신 데이터로 교환함으로써, 상기 필드 2 상에 저장되어 있는 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화되어 있지 않은 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(221, 222, 223, 224, 225, 226, 227, 228, 229)를 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화된 데이터인 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249)로 갱신할 수 있고, 이와 동시에 상기 제2 데이터 테이블에 대해 상기 필드 2 상에서 선별된 데이터 1, 4, 5, 7, 9(221, 224, 225, 227, 229) 각각을 상기 임시 데이터 테이블의 상기 임시 필드 2 상에 삽입되어 있는 갱신 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9(241, 242, 243, 244, 245, 246, 247, 248, 249) 중 대응되는 갱신 데이터로 교환함으로써, 상기 필드 2 상에 저장되어 있는 데이터 1, 4, 5, 7, 9, 10(221, 224, 225, 227, 229, 230) 중 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화되어 있지 않은 데이터 1, 4, 5, 7, 9(221, 224, 225, 227, 229)를 최신의 유효 사용기간을 갖는 암호화키 4(214)로 암호화된 데이터인 갱신 데이터 1, 4, 5, 7, 9(241, 244, 245, 247, 249)로 갱신할 수 있다.Then, the data exchange unit 127 transmits data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 2, 3, 4, 5, 6, 7, 8, 9 (241, 242, 229) inserted in the temporary field 2 of the temporary data table, 2, 3, 4, 5, 6, 7, 8, 9, and 9 stored on the field 2 by exchanging the updated data with the corresponding update data among the update data in the fields 2, 243, 244, 245, 246, 247, 248, 2, 3, 4, and 5 that are not encrypted by the encryption key 4 (214) having the latest validity period of the latest validity period among the valid encryption keys (221, 222, 223, 224, 225, 226, 227, 228, 229, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 228, 229) encrypted with the encryption key 4 (214) 242, 243, 244, 245, 246, 247, 248, 249), and at the same time, the second day The data 1, 4, 5, 7, 9 (221, 224, 225, 227, 229) selected on the field 2 for the table are added to the temporary data 2, 2, 3, 4, 5, 6, 7, 8, 9 (241, 242, 243, 244, 245, 246, 247, 248, 249) 4, which are not encrypted by the encryption key 4 (214) having the latest valid period of use among the data 1, 4, 5, 7, 9, 10 (221, 224, 225, 227, 229, 4, 5, 7, and 9 (241, 244) that are data encrypted with the encryption key 4 (214) having the latest validity period of the latest validity period of 5, 7, 9 (221, 224, 225, , 245, 247, 249).

그 이후, 제약 조건 재설정부(130)는 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 데이터 갱신이 완료되면, 데이터베이스(112) 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 제1 FK 제약 조건을 재설정함으로써, 최종적으로 상기 제1 데이터 테이블과 상기 제2 데이터 테이블의 필드 2 상에 저장되어 있는 데이터들에 대해 최신 유효 사용기간을 갖는 암호화키인 암호화키 4(214)로 갱신 암호화 처리를 수행할 수 있다.Thereafter, when the data updating is completed for the first data table and the second data table, the constraint resetter 130 resets the constraints on the first data table and the second data table on the database 112, The FK constraint is reset to update the encryption key 4 (214), which is an encryption key having the latest validity period, with respect to the data finally stored in the first data table and the field 2 of the second data table Encryption processing can be performed.

도 5는 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법을 도시한 순서도이다.5 is a flowchart illustrating an operation method of a database encryption processing apparatus according to an embodiment of the present invention.

단계(S510)에서는 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부를 유지한다.In step S510, the key storage unit stores the plurality of encryption keys and the information on the validity period preliminarily used for data encryption with respect to each of the plurality of encryption keys in association with each other.

단계(S520)에서는 복수의 데이터 테이블들(상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있고, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있음)이 저장되어 있는 데이터베이스를 유지한다.In step S520, a plurality of data tables (the plurality of data tables include a plurality of data records in which data corresponding to a plurality of different fields are inserted, and each of the plurality of data tables is configured The data inserted in the plurality of different fields are encrypted by the encryption keys corresponding to the information on the effective use period belonging to the time when the data is input).

단계(S530)에서는 상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인한다.If an encryption key update command for a plurality of first data inserted in a first field belonging to the first data table among the plurality of data tables is input in step S530, The first encryption key corresponding to the latest valid period of use of the encryption keys of the first encryption key.

단계(S540)에서는 상기 데이터베이스를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별한다.In step S540, the encryption key used for encrypting each of the plurality of first data inserted in the first field belonging to the first data table is identified by referring to the database.

이때, 본 발명의 일실시예에 따르면, 상기 키 저장부에는 상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있을 수 있고, 상기 데이터베이스에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들 각각에는 각 데이터들의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.According to an embodiment of the present invention, an index value for identifying each of the plurality of encryption keys may be additionally stored in the key storage unit in association with each of the plurality of encryption keys, Data constituting an index value for an encryption key used for encrypting each data may be combined in each of the data inserted on a plurality of different fields constituting each of the plurality of stored data tables have.

이때, 단계(S540)에서는 상기 데이터베이스를 참조하여 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 단계 및 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계를 포함할 수 있다.At this time, in step S540, referring to the database, checking data constituting an index value coupled to each of the plurality of first data inserted in the first field of the first data table, and And an index value corresponding to each of the plurality of encryption keys stored in the key storage unit based on data constituting an index value coupled to each of the plurality of first data, And identifying the encryption key used for each encryption.

단계(S550)에서는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인한다.In operation S550, when the identification of the encryption key used to encrypt each of the plurality of first data is completed, at least one second data, which is not encrypted with the first encryption key, .

단계(S560)에서는 상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출한다.In step S560, the at least one second data among the plurality of first data inserted in the first field belonging to the first data table is extracted from the database.

단계(S570)에서는 상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신한다.In step S570, the encryption key used to encrypt each of the at least one second data is extracted from the key storage unit, and the extracted at least one second data is decrypted based on the extracted encryption key to generate at least one Encrypts each of the at least one first plaintext data based on the first encryption key to generate at least one first update data and then generates the first plaintext data of the first data Updates the at least one second data of the plurality of first data inserted in the first field of the table with the at least one first update data.

이때, 본 발명의 일실시예에 따르면, 단계(S560)에서는 두 개의 필드를 갖는 임시 데이터 테이블을 생성하는 단계, 상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 단계 및 상기 추출된 적어도 하나의 제2 데이터를 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 제1 임시 필드 상에 삽입하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S560, a temporary data table having two fields is generated, and the temporary data table inserted in the first field belonging to the first data table Extracting the at least one second data from among a plurality of first data and extracting the extracted at least one second data on a first temporary field that is one of two fields included in the temporary data table The method comprising:

이때, 단계(S570)에서는 상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터 각각을 복호화하여 상기 적어도 하나의 제1 평문 데이터를 생성하는 단계, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 상기 적어도 하나의 제1 갱신 데이터를 생성하는 단계, 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 제2 임시 필드 상에 상기 적어도 하나의 제1 갱신 데이터를 삽입하는 단계, 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하는 단계 및 상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하는 단계를 포함할 수 있다.At this time, in step S570, the encryption key used to encrypt each of the at least one second data is extracted from the key storage unit, and the at least one Encrypting each of the at least one first plaintext data based on the first encryption key to generate the at least one first plaintext data by decrypting each of the at least one first plaintext data Inserting the at least one first update data on a second temporary field that is another one of the two fields included in the temporary data table, The method of claim 1, wherein the first data and the first temporary data of the temporary data table Selecting at least one second data among the plurality of first data inserted on the first field by comparing the at least one second data inserted on the field, Exchanging each of the at least one second data selected on the first field for corresponding update data of the at least one first update data inserted on the second temporary field of the temporary data table . ≪ / RTI >

이때, 본 발명의 일실시예에 따르면, 상기 데이터베이스에는 상기 복수의 데이터 테이블들 중 서로 동일한 필드를 포함하고 있는 데이터 테이블들이 존재하는 경우, 서로 동일한 필드를 포함하고 있는 데이터 테이블들 간에 마스터 테이블과 그에 종속되는 슬레이브 테이블로 구분하기 위한 FK 제약 조건이 미리 설정되어 있을 수 있다.According to an embodiment of the present invention, when there are data tables including the same fields among the plurality of data tables, the data tables among the plurality of data tables including the same fields may include a master table, An FK constraint for distinguishing a slave table as a dependent slave table may be set in advance.

이때, 단계(S570)에서는 상기 데이터베이스 상에서 상기 제1 데이터 테이블의 상기 제1 필드에 대해 제1 FK 제약 조건이 설정되어 있는 경우, 상기 제1 데이터 테이블과 상기 제1 FK 제약 조건으로 연결되어 있는 상기 제1 필드와 동일한 필드를 갖는 제2 데이터 테이블을 확인하는 단계 및 상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해서 설정되어 있는 상기 제1 FK 제약 조건을 제거하는 단계를 더 포함할 수 있다.If a first FK constraint condition is set for the first field of the first data table on the database in step S570, the first data table and the first FK constraint condition Identifying a second data table having the same field as the first field and removing the first FK constraint set for the first data table and the second data table on the database .

이때, 상기 적어도 하나의 제2 데이터를 선별하는 단계는 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하고, 상기 데이터베이스에 저장되어 있는 상기 제2 데이터 테이블의 상기 제1 필드와 동일한 필드 상에 삽입되어 있는 복수의 제3 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 복수의 제3 데이터들 중 상기 적어도 하나의 제2 데이터와 일치하는 적어도 하나의 제4 데이터를 선별할 수 있고, 상기 교환하는 단계는 상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하고, 상기 제2 데이터 테이블에 대해 상기 제1 필드와 동일한 필드 상에서 선별된 상기 적어도 하나의 제4 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환할 수 있다.The selecting of the at least one second data may include selecting at least one of the plurality of first data inserted in the first field of the first data table stored in the database, One of the plurality of first data inserted in the first field is selected by comparing the at least one second data inserted in one temporary field and stored in the database Wherein the first data field includes a plurality of third data inserted on the same field as the first field of the second data table and the at least one second data inserted on the first temporary field of the temporary data table, And comparing at least one fourth data corresponding to the at least one second data among the plurality of third data And wherein the step of exchanging each of the at least one second data selected on the first field with respect to the first data table is performed on the at least one second field of the temporary data table, For each of the first and second update tables, for each of the first update data, and for each of the at least one fourth data selected on the same field as the first field for the second data table, Field can be exchanged for the corresponding update data among the at least one first update data inserted on the field.

이때, 본 발명의 일실시예에 따르면, 단계(S570)에서는 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 적어도 하나의 제1 갱신 데이터를 통한 데이터 교환이 완료되면, 상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 제1 FK 제약 조건을 재설정하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, in step S570, when data exchange through the at least one first update data is completed for the first data table and the second data table, 1 < / RTI > data table and the second data table. ≪ RTI ID = 0.0 >

이상, 도 5를 참조하여 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법은 도 1 내지 도 4를 이용하여 설명한 데이터베이스 암호화 처리 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation of the database encryption processing apparatus according to the embodiment of the present invention has been described above with reference to FIG. Here, the operation method of the database encryption processing apparatus according to an embodiment of the present invention may correspond to the operation of the operation of the database encryption processing apparatus 110 described with reference to FIG. 1 to FIG. 4, Is omitted.

본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a database encryption processing apparatus according to an exemplary embodiment of the present invention may be implemented by a computer program stored in a storage medium for execution via a combination with a computer.

또한, 본 발명의 일실시예에 따른 데이터베이스 암호화 처리 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the method of operating the database encryption processing apparatus according to an exemplary embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 데이터베이스 암호화 처리 장치
111: 키 저장부 112: 데이터베이스
113: 암호화키 확인부 114: 암호화키 식별부
115: 데이터 확인부 116: 데이터 추출부
117: 데이터 갱신부 118: 인덱스 확인부
119: 식별부 120: 임시 데이터 테이블 생성부
121: 추출부 122: 데이터 저장부
123: 데이터 복호화부 124: 갱신 데이터 생성부
125: 갱신 데이터 저장부 126: 갱신 데이터 선별부
127: 데이터 교환부 128: 연결 테이블 확인부
129: 제약 조건 제거부 130: 제약 조건 재설정부
110: Database encryption processing device
111: Key storage unit 112: Database
113: encryption key verification unit 114: encryption key identification unit
115: data checking unit 116: data extracting unit
117: data updating unit 118: index checking unit
119: Identification unit 120: Temporary data table generation unit
121: Extractor 122: Data storage unit
123: Data decoding unit 124:
125: update data storage unit 126: update data selection unit
127: Data exchange unit 128: Connection table confirmation unit
129: constraint removing unit 130: constraint resetting unit

Claims (12)

복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부;
복수의 데이터 테이블들 - 상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있고, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있음 - 이 저장되어 있는 데이터베이스;
상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인하는 암호화키 확인부;
상기 데이터베이스를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 암호화키 식별부;
상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인하는 데이터 확인부;
상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 데이터 추출부; 및
상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신하는 데이터 갱신부
를 포함하고,
상기 데이터 추출부는
두 개의 필드를 갖는 임시 데이터 테이블을 생성하는 임시 데이터 테이블 생성부;
상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 추출부; 및
상기 추출된 적어도 하나의 제2 데이터를 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 제1 임시 필드 상에 삽입하는 데이터 저장부
를 포함하며,
상기 데이터 갱신부는
상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터 각각을 복호화하여 상기 적어도 하나의 제1 평문 데이터를 생성하는 데이터 복호화부;
상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 상기 적어도 하나의 제1 갱신 데이터를 생성하는 갱신 데이터 생성부;
상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 제2 임시 필드 상에 상기 적어도 하나의 제1 갱신 데이터를 삽입하는 갱신 데이터 저장부;
상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하는 갱신 데이터 선별부; 및
상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하는 데이터 교환부
를 포함하는 데이터베이스 암호화 처리 장치.
A key storage unit in which a plurality of encryption keys and information on a validity period predetermined for use in data encryption are stored in association with each other for each of the plurality of encryption keys;
A plurality of data tables, wherein the plurality of data tables include a plurality of data records in which data corresponding to a plurality of different fields are inserted, and a plurality of different data tables Wherein the data inserted in the fields is encrypted with encryption keys corresponding to information on a valid period of use belonging to a time point at which data is input;
When an encryption key update command for a plurality of first data inserted in a first field belonging to a first data table among the plurality of data tables is input, An encryption key verifying unit for verifying the first encryption key stored in correspondence with information on the latest valid period of use;
An encryption key identifying unit for referring to the database and identifying an encryption key used for encrypting each of the plurality of first data inserted in the first field belonging to the first data table;
When the identification of the encryption key used for encryption of each of the plurality of first data is completed, data confirmation for checking at least one second data that is not encrypted with the first encryption key among the plurality of first data part;
A data extracting unit for extracting the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database; And
Extracts an encryption key used for encryption of each of the at least one second data from the key storage unit, decrypts each extracted at least one second data based on the extracted encryption key, Encrypting each of the at least one first plaintext data based on the first encryption key to generate at least one first update data and then generating at least one first update data in the first data table stored in the database A data updating unit updating the at least one second data among the plurality of first data inserted on the field into the at least one first update data,
Lt; / RTI >
The data extracting unit
A temporary data table generating unit for generating a temporary data table having two fields;
An extraction unit for extracting the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database; And
And a data storage unit for inserting the extracted at least one second data onto a first temporary field, which is one of two fields included in the temporary data table,
/ RTI >
The data updating unit
Extracting an encryption key used for encrypting each of the at least one second data from the key storage unit, decrypting each of the at least one second data inserted on the first temporary field based on the extracted encryption key, A data decoding unit for generating the at least one first plaintext data;
An update data generation unit for encrypting each of the at least one first plaintext data based on the first encryption key to generate the at least one first update data;
An update data storage unit for inserting the at least one first update data on a second temporary field which is another one of the two fields included in the temporary data table;
The first temporary field being inserted in the first field of the first data table stored in the database and the at least one second temporary field inserted in the first temporary field of the temporary data table, An update data selector for comparing the data and selecting the at least one second data among the plurality of first data inserted in the first field; And
Wherein each of the at least one second data selected on the first field for the first data table is associated with a corresponding one of the at least one first update data inserted on the second temporary field of the temporary data table Data exchange unit for exchanging data
And a database encryption processing unit.
제1항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있고,
상기 데이터베이스에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들 각각에는 각 데이터들의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있으며,
상기 암호화키 식별부는
상기 데이터베이스를 참조하여 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 인덱스 확인부; 및
상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 식별부
를 포함하는 데이터베이스 암호화 처리 장치.
The method according to claim 1,
The key storage unit
An index value for identifying each of the plurality of encryption keys is additionally stored corresponding to each of the plurality of encryption keys,
Data constituting an index value for an encryption key used for encrypting each data is combined with each of data inserted in a plurality of different fields constituting each of the plurality of data tables stored in the database In addition,
The encryption key identifying unit
An index check unit for referring to the database and confirming data constituting an index value combined with each of the plurality of first data inserted in the first field of the first data table; And
And an index value corresponding to each of the plurality of encryption keys stored in the key storage unit based on data constituting an index value coupled to each of the plurality of first data, An identification unit for identifying an encryption key used for each encryption
And a database encryption processing unit.
삭제delete 제1항에 있어서,
상기 데이터베이스에는
상기 복수의 데이터 테이블들 중 서로 동일한 필드를 포함하고 있는 데이터 테이블들이 존재하는 경우, 서로 동일한 필드를 포함하고 있는 데이터 테이블들 간에 마스터 테이블과 그에 종속되는 슬레이브 테이블로 구분하기 위한 FK(Foreign Key) 제약 조건이 미리 설정되어 있고,
상기 데이터 갱신부는
상기 데이터베이스 상에서 상기 제1 데이터 테이블의 상기 제1 필드에 대해 제1 FK 제약 조건이 설정되어 있는 경우, 상기 제1 데이터 테이블과 상기 제1 FK 제약 조건으로 연결되어 있는 상기 제1 필드와 동일한 필드를 갖는 제2 데이터 테이블을 확인하는 연결 테이블 확인부; 및
상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해서 설정되어 있는 상기 제1 FK 제약 조건을 제거하는 제약 조건 제거부
를 더 포함하고,
상기 갱신 데이터 선별부는
상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하고, 상기 데이터베이스에 저장되어 있는 상기 제2 데이터 테이블의 상기 제1 필드와 동일한 필드 상에 삽입되어 있는 복수의 제3 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 복수의 제3 데이터들 중 상기 적어도 하나의 제2 데이터와 일치하는 적어도 하나의 제4 데이터를 선별하며,
상기 데이터 교환부는
상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하고, 상기 제2 데이터 테이블에 대해 상기 제1 필드와 동일한 필드 상에서 선별된 상기 적어도 하나의 제4 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하는 데이터베이스 암호화 처리 장치.
The method according to claim 1,
In the database,
When there are data tables including the same fields among the plurality of data tables, a foreign key (FK) constraint for distinguishing between master tables and slave tables dependent thereon, If the condition is set in advance,
The data updating unit
If a first FK constraint is set for the first field of the first data table in the database, a field identical to the first field connected to the first data table and the first FK constraint A connection table verifying unit for verifying a second data table having the second data table; And
The first data table and the second FK constraint set for the second data table on the database,
Further comprising:
The update data selector
The first temporary field being inserted in the first field of the first data table stored in the database and the at least one second temporary field inserted in the first temporary field of the temporary data table, Comparing the data with each other to sort the at least one second data among the plurality of first data inserted in the first field, and comparing the at least one second data with the first field of the second data table stored in the database Fields of the plurality of third data and the at least one second data inserted on the first temporary field of the temporary data table to compare the at least one third data among the plurality of third data Selecting at least one fourth data that matches the second data,
The data exchange unit
Wherein each of the at least one second data selected on the first field for the first data table is associated with a corresponding one of the at least one first update data inserted on the second temporary field of the temporary data table Data for each of the at least one first data field and at least one second data field inserted into the second temporary field of the temporary data table, And replaces the first update data with the corresponding update data of the first update data.
제4항에 있어서,
상기 데이터 갱신부는
상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 적어도 하나의 제1 갱신 데이터를 통한 데이터 교환이 완료되면, 상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 제1 FK 제약 조건을 재설정하는 제약 조건 재설정부
를 더 포함하는 데이터베이스 암호화 처리 장치.
5. The method of claim 4,
The data updating unit
When the exchange of data through the at least one first update data is completed for the first data table and the second data table, the first FK constraint for the first data table and the second data table Restriction Constraints < RTI ID = 0.0 >
Further comprising:
복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부를 유지하는 단계;
복수의 데이터 테이블들 - 상기 복수의 데이터 테이블들에는 서로 다른 복수의 필드들 별로 대응되는 데이터가 삽입되어 있는 복수의 데이터 레코드들이 포함되어 있고, 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들은 데이터가 입력되는 시점에 속해 있는 유효 사용기간에 대한 정보에 대응되는 암호화키들로 각각 암호화가 수행되어 있음 - 이 저장되어 있는 데이터베이스를 유지하는 단계;
상기 복수의 데이터 테이블들 중 제1 데이터 테이블에 속해 있는 제1 필드 상에 삽입되어 있는 복수의 제1 데이터들에 대한 암호화키 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제1 암호화키를 확인하는 단계;
상기 데이터베이스를 참조하여 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계;
상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 제1 데이터들 중 상기 제1 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 데이터를 확인하는 단계;
상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 단계; 및
상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 추출된 적어도 하나의 제2 데이터 각각을 복호화하여 적어도 하나의 제1 평문 데이터를 생성하고, 상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 적어도 하나의 제1 갱신 데이터를 생성한 후 상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 상기 적어도 하나의 제1 갱신 데이터로 갱신하는 단계
를 포함하고,
상기 적어도 하나의 제2 데이터를 추출하는 단계는
두 개의 필드를 갖는 임시 데이터 테이블을 생성하는 단계;
상기 데이터베이스로부터 상기 제1 데이터 테이블에 속해 있는 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 추출하는 단계; 및
상기 추출된 적어도 하나의 제2 데이터를 상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 어느 하나인 제1 임시 필드 상에 삽입하는 단계
를 포함하며,
상기 갱신하는 단계는
상기 키 저장부로부터 상기 적어도 하나의 제2 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터 각각을 복호화하여 상기 적어도 하나의 제1 평문 데이터를 생성하는 단계;
상기 제1 암호화키를 기초로 상기 적어도 하나의 제1 평문 데이터 각각을 암호화하여 상기 적어도 하나의 제1 갱신 데이터를 생성하는 단계;
상기 임시 데이터 테이블에 포함되어 있는 두 개의 필드 중 다른 하나인 제2 임시 필드 상에 상기 적어도 하나의 제1 갱신 데이터를 삽입하는 단계;
상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하는 단계; 및
상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하는 단계
를 포함하는 데이터베이스 암호화 처리 장치의 동작 방법.
The method comprising: maintaining a key storage unit in which a plurality of encryption keys and information on a validity period predetermined for use in data encryption for each of the plurality of encryption keys are stored corresponding to each other;
A plurality of data tables, wherein the plurality of data tables include a plurality of data records in which data corresponding to a plurality of different fields are inserted, and a plurality of different data tables Wherein the data inserted in the fields are encrypted with encryption keys corresponding to information on a valid period of use belonging to a time point at which data is input;
When an encryption key update command for a plurality of first data inserted in a first field belonging to a first data table among the plurality of data tables is input, Confirming a stored first encryption key in correspondence with information on a latest valid period of use;
Identifying an encryption key used for encrypting each of the plurality of first data inserted in the first field belonging to the first data table with reference to the database;
Checking at least one second data that is not encrypted with the first encryption key among the plurality of first data when identification of the encryption key used to encrypt each of the plurality of first data is completed;
Extracting the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database; And
Extracts an encryption key used for encryption of each of the at least one second data from the key storage unit, decrypts each extracted at least one second data based on the extracted encryption key, Encrypting each of the at least one first plaintext data based on the first encryption key to generate at least one first update data and then generating at least one first update data in the first data table stored in the database Updating the at least one second data of the plurality of first data inserted on the field with the at least one first update data
Lt; / RTI >
The step of extracting the at least one second data
Generating a temporary data table having two fields;
Extracting the at least one second data among the plurality of first data inserted in the first field belonging to the first data table from the database; And
Inserting the extracted at least one second data onto a first temporary field that is one of two fields included in the temporary data table
/ RTI >
The step of updating
Extracting an encryption key used for encrypting each of the at least one second data from the key storage unit, decrypting each of the at least one second data inserted on the first temporary field based on the extracted encryption key, Generating the at least one first plaintext data;
Encrypting each of the at least one first plaintext data based on the first encryption key to generate the at least one first update data;
Inserting the at least one first update data on a second temporary field that is another one of the two fields included in the temporary data table;
The first temporary field being inserted in the first field of the first data table stored in the database and the at least one second temporary field inserted in the first temporary field of the temporary data table, Comparing the data and selecting the at least one second data among the plurality of first data inserted in the first field; And
Wherein each of the at least one second data selected on the first field for the first data table is associated with a corresponding one of the at least one first update data inserted on the second temporary field of the temporary data table Exchange with data
The method comprising the steps of:
제6항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있고,
상기 데이터베이스에 저장되어 있는 상기 복수의 데이터 테이블들 각각을 구성하는 서로 다른 복수의 필드들 상에 삽입되어 있는 데이터들 각각에는 각 데이터들의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있으며,
상기 암호화키를 식별하는 단계는
상기 데이터베이스를 참조하여 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 단계; 및
상기 복수의 제1 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 제1 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계
를 포함하는 데이터베이스 암호화 처리 장치의 동작 방법.
The method according to claim 6,
The key storage unit
An index value for identifying each of the plurality of encryption keys is additionally stored corresponding to each of the plurality of encryption keys,
Data constituting an index value for an encryption key used for encrypting each data is combined with each of data inserted in a plurality of different fields constituting each of the plurality of data tables stored in the database In addition,
Wherein identifying the encryption key comprises:
Confirming data constituting an index value coupled to each of the plurality of first data inserted in the first field of the first data table with reference to the database; And
And an index value corresponding to each of the plurality of encryption keys stored in the key storage unit based on data constituting an index value coupled to each of the plurality of first data, Identifying the encryption key used for each encryption
The method comprising the steps of:
삭제delete 제6항에 있어서,
상기 데이터베이스에는
상기 복수의 데이터 테이블들 중 서로 동일한 필드를 포함하고 있는 데이터 테이블들이 존재하는 경우, 서로 동일한 필드를 포함하고 있는 데이터 테이블들 간에 마스터 테이블과 그에 종속되는 슬레이브 테이블로 구분하기 위한 FK(Foreign Key) 제약 조건이 미리 설정되어 있고,
상기 갱신하는 단계는
상기 데이터베이스 상에서 상기 제1 데이터 테이블의 상기 제1 필드에 대해 제1 FK 제약 조건이 설정되어 있는 경우, 상기 제1 데이터 테이블과 상기 제1 FK 제약 조건으로 연결되어 있는 상기 제1 필드와 동일한 필드를 갖는 제2 데이터 테이블을 확인하는 단계; 및
상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해서 설정되어 있는 상기 제1 FK 제약 조건을 제거하는 단계
를 더 포함하고,
상기 적어도 하나의 제2 데이터를 선별하는 단계는
상기 데이터베이스에 저장되어 있는 상기 제1 데이터 테이블의 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 제1 필드 상에 삽입되어 있는 상기 복수의 제1 데이터들 중 상기 적어도 하나의 제2 데이터를 선별하고, 상기 데이터베이스에 저장되어 있는 상기 제2 데이터 테이블의 상기 제1 필드와 동일한 필드 상에 삽입되어 있는 복수의 제3 데이터들과 상기 임시 데이터 테이블의 상기 제1 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제2 데이터를 비교하여 상기 복수의 제3 데이터들 중 상기 적어도 하나의 제2 데이터와 일치하는 적어도 하나의 제4 데이터를 선별하며,
상기 교환하는 단계는
상기 제1 데이터 테이블에 대해 상기 제1 필드 상에서 선별된 상기 적어도 하나의 제2 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하고, 상기 제2 데이터 테이블에 대해 상기 제1 필드와 동일한 필드 상에서 선별된 상기 적어도 하나의 제4 데이터 각각을 상기 임시 데이터 테이블의 상기 제2 임시 필드 상에 삽입되어 있는 상기 적어도 하나의 제1 갱신 데이터 중 대응되는 갱신 데이터로 교환하는 데이터베이스 암호화 처리 장치의 동작 방법.
The method according to claim 6,
In the database,
When there are data tables including the same fields among the plurality of data tables, a foreign key (FK) constraint for distinguishing between master tables and slave tables dependent thereon, If the condition is set in advance,
The step of updating
If a first FK constraint is set for the first field of the first data table in the database, a field identical to the first field connected to the first data table and the first FK constraint Confirming a second data table having the second data table; And
Removing the first FK constraint condition set for the first data table and the second data table on the database
Further comprising:
The step of selecting the at least one second data
The first temporary field being inserted in the first field of the first data table stored in the database and the at least one second temporary field inserted in the first temporary field of the temporary data table, Comparing the data with each other to sort the at least one second data among the plurality of first data inserted in the first field, and comparing the at least one second data with the first field of the second data table stored in the database Fields of the plurality of third data and the at least one second data inserted on the first temporary field of the temporary data table to compare the at least one third data among the plurality of third data Selecting at least one fourth data that matches the second data,
The exchanging
Wherein each of the at least one second data selected on the first field for the first data table is associated with a corresponding one of the at least one first update data inserted on the second temporary field of the temporary data table Data for each of the at least one first data field and at least one second data field inserted into the second temporary field of the temporary data table, To the corresponding update data of the first update data.
제9항에 있어서,
상기 갱신하는 단계는
상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 적어도 하나의 제1 갱신 데이터를 통한 데이터 교환이 완료되면, 상기 데이터베이스 상에서 상기 제1 데이터 테이블과 상기 제2 데이터 테이블에 대해 상기 제1 FK 제약 조건을 재설정하는 단계
를 더 포함하는 데이터베이스 암호화 처리 장치의 동작 방법.
10. The method of claim 9,
The step of updating
When the exchange of data through the at least one first update data is completed for the first data table and the second data table, the first FK constraint for the first data table and the second data table Steps to reset the condition
Further comprising the steps of:
제6항, 제7항, 제9항 또는 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the method of any one of claims 6, 7, 9 and 10. 제6항, 제7항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 7, 9, or 10 through a combination with a computer.
KR1020160108087A 2016-08-25 2016-08-25 Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof KR101879839B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160108087A KR101879839B1 (en) 2016-08-25 2016-08-25 Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160108087A KR101879839B1 (en) 2016-08-25 2016-08-25 Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof

Publications (2)

Publication Number Publication Date
KR20180023186A KR20180023186A (en) 2018-03-07
KR101879839B1 true KR101879839B1 (en) 2018-07-18

Family

ID=61688973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160108087A KR101879839B1 (en) 2016-08-25 2016-08-25 Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof

Country Status (1)

Country Link
KR (1) KR101879839B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143780A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Method and device for managing secret information in database
JP2002000954A (en) * 2000-06-22 2002-01-08 Suzuka Circuitland Co Ltd Game car facility
JP2002217896A (en) * 2001-01-23 2002-08-02 Matsushita Electric Ind Co Ltd Method for cipher communication and gateway device
JP2006005557A (en) * 2004-06-16 2006-01-05 Toshiba Corp Storage medium processing method, storage medium processing device, and program
KR100740360B1 (en) * 2000-06-21 2007-07-16 소니 가부시끼 가이샤 Information recording/reproducing apparatus and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143780A (en) * 1997-11-05 1999-05-28 Hitachi Ltd Method and device for managing secret information in database
KR100740360B1 (en) * 2000-06-21 2007-07-16 소니 가부시끼 가이샤 Information recording/reproducing apparatus and method
JP2002000954A (en) * 2000-06-22 2002-01-08 Suzuka Circuitland Co Ltd Game car facility
JP2002217896A (en) * 2001-01-23 2002-08-02 Matsushita Electric Ind Co Ltd Method for cipher communication and gateway device
JP2006005557A (en) * 2004-06-16 2006-01-05 Toshiba Corp Storage medium processing method, storage medium processing device, and program

Also Published As

Publication number Publication date
KR20180023186A (en) 2018-03-07

Similar Documents

Publication Publication Date Title
US10986073B2 (en) Vaultless tokenization engine
KR100731242B1 (en) Encoding backup method and decoding restore method
CN106452764B (en) Method for automatically updating identification private key and password system
JP7259971B2 (en) User credential control system and user credential control method
CN106506159A (en) Encryption method and equipment for key safety
KR101817152B1 (en) Method for providing trusted right information, method for issuing user credential including trusted right information, and method for obtaining user credential
CN111104691A (en) Sensitive information processing method and device, storage medium and equipment
CN111242611B (en) Method and system for recovering digital wallet key
CN104636444A (en) Database encryption and decryption method and device
CN107040520A (en) A kind of cloud computing data-sharing systems and method
Guirat et al. Formal verification of the W3C web authentication protocol
CN105786581A (en) Multistage server and method for network data operation
JP2012065123A (en) Ic card system, communication terminal therefor and portable terminal therefor
KR101936272B1 (en) Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof
KR101388935B1 (en) Two channel based user authentication apparatus and method
CN110955909B (en) Personal data protection method and block link point
JP2007020065A (en) Decryption backup method, decryption restoration method, attestation device, individual key setting machine, user terminal, backup equipment, encryption backup program, decryption restoration program
CN113112354A (en) Transaction processing method of block chain network, block chain network and storage medium
CN104636659B (en) A kind of log-on data generation method and device
JP4445331B2 (en) Database apparatus, system and program
KR101879839B1 (en) Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof
CN102404363A (en) Access method and access device
JPWO2011058629A1 (en) Information management system
CN112865981B (en) Token acquisition and verification method and device
KR101869067B1 (en) Data encryption storing apparatus for encryption key change and update through key positioning and operating method thereof

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