KR20180015986A - Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof - Google Patents

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

Info

Publication number
KR20180015986A
KR20180015986A KR1020160099699A KR20160099699A KR20180015986A KR 20180015986 A KR20180015986 A KR 20180015986A KR 1020160099699 A KR1020160099699 A KR 1020160099699A KR 20160099699 A KR20160099699 A KR 20160099699A KR 20180015986 A KR20180015986 A KR 20180015986A
Authority
KR
South Korea
Prior art keywords
data
encryption
encryption key
encrypted data
key
Prior art date
Application number
KR1020160099699A
Other languages
Korean (ko)
Other versions
KR101936272B1 (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 KR1020160099699A priority Critical patent/KR101936272B1/en
Publication of KR20180015986A publication Critical patent/KR20180015986A/en
Application granted granted Critical
Publication of KR101936272B1 publication Critical patent/KR101936272B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed are a data encryption management apparatus to support the lifecycle management of an encryption key and an operating method thereof. The data encryption management apparatus according to the present invention includes: a key storage unit which mutually matches and stores information about a predetermined effective use period in order to be used for data encryption about each of a plurality of encryption keys and the plurality of encryption keys; a database which stores a plurality of encryption data generated as encryption is performed with an encryption key stored in response to information about the effective use period where a time point, where a plurality of plain text data are inputted, belongs to in the key storage unit among the plurality of encryption keys about the plurality of plain text data; an encryption key extracting unit which extracts a first encryption key corresponding to information about the effective use period where a time point, where the first plain text data is inputted, belongs to from the key storage unit by confirming time information about the time point where the plain text data are inputted when first plain text data and a data storage command about the first plain text data are inputted; and a data storage unit which stores first encryption data in the database after generating the first encryption data by performing encryption about the first plain text data based on the extracted first encryption key.

Description

암호화키의 라이프 사이클 관리를 지원하는 데이터 암호화 관리 장치 및 그 동작 방법{DATA ENCRYPTION MANAGEMENT APPARATUS FOR SUPPORTING LIFE-CYCLE MANAGEMENT OF THE ENCRYPTION KEY AND OPERATING METHOD THEREOF}TECHNICAL FIELD [0001] The present invention relates to a data encryption management apparatus and a data encryption management apparatus that support lifecycle management of an encryption key and a data encryption /

본 발명은 다수의 평문 데이터들을 암호화하여 데이터베이스에 저장하는 시스템에서 데이터의 노출에 따른 보안 상의 위협을 방어하기 위한 기술들과 관련된다.The present invention relates to techniques for protecting security threats from exposure to data in a system for encrypting and storing a plurality of plaintext data in a 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.

본 발명은 데이터베이스에 저장되어 있는 암호화 데이터들의 노출 가능성을 최소화하기 위해서, 하나의 암호화키로 모든 평문 데이터들을 암호화하여 관리하는 것이 아니라, 상황에 따라 평문 데이터의 암호화에 사용되는 암호화키를 이전 암호화키와는 다른 암호화키를 사용하도록 하고, 이미 암호화되어 있는 암호화 데이터들도 이전 암호화키와는 다른 암호화키로 다시 암호화를 수행하는 방식의 갱신 작업을 수행함으로써, 보안을 강화할 수 있는 데이터 암호화 관리 기법을 제공하고자 한다.In order to minimize the possibility of exposure of encrypted data stored in a database, the present invention is not limited to encrypting and managing all plaintext data with one encryption key, To provide 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.

본 발명의 일실시예에 따른 데이터 암호화 관리 장치는 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부, 복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 상기 키 저장부 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있는 데이터베이스, 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출하는 암호화키 추출부 및 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 상기 데이터베이스에 저장하는 데이터 저장부를 포함한다.The data encryption management apparatus according to an embodiment of the present invention includes a key storage unit for storing a plurality of encryption keys and information on effective usable periods predetermined for use in data encryption for each of the plurality of encryption keys, , Encryption is performed on the plurality of plaintext data with the encryption key stored corresponding to the information on the validity period of time at which the plurality of plaintext data is input on the key storage unit of the plurality of encryption keys When the data storage command for the first plain text data and the first plain text data is input, the time information for the time when the first plain text data is input, And the first plaintext data is input from the second plaintext An encryption key extracting unit for extracting a first encryption key corresponding to information about the container and a second encrypting unit for encrypting the first plain text data based on the extracted first encryption key to generate first encrypted data, 1 < / RTI > encrypted data in the database.

또한, 본 발명의 일실시예에 따른 데이터 암호화 관리 장치의 동작 방법은 복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부를 유지하는 단계, 복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 상기 키 저장부 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있는 데이터베이스를 유지하는 단계, 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출하는 단계 및 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 상기 데이터베이스에 저장하는 단계를 포함한다.Also, an operation method of a data encryption / management device according to an embodiment of the present invention is a method of encrypting and decrypting a plurality of encryption keys and a plurality of encryption keys, And storing the plurality of plaintext data in association with the information on the validity period of time at which the plurality of plaintext data is input on the key storage unit of the plurality of encryption keys with respect to the plurality of plaintext data The method comprising the steps of: maintaining a database in which a plurality of encrypted data generated according to encryption performed with an encryption key is stored; when the first plaintext data and a data storage command for the first plaintext data are inputted, From the key storage unit, Extracting a first encryption key corresponding to information on a valid period of use in which the first plaintext data is input, and encrypting the first plaintext data based on the extracted first encryption key And storing the first encrypted data in the database after generating the first encrypted data.

본 발명에 따른 데이터 암호화 관리 장치 및 그 동작 방법은 데이터베이스에 저장될 새로운 평문 데이터가 입력되면, 상기 평문 데이터가 입력되는 시점에 대응하는 암호화키로 상기 평문 데이터를 암호화함으로써, 기존의 하나의 암호화키를 이용하여 일괄적으로 데이터 암호화 관리를 수행하는 데이터 암호화 관리 기법에 비해 보안이 강화되는 장점이 있다.The data encryption management apparatus and the method of operating the same according to the present invention are characterized in that when new plaintext data to be stored in a database is input, the plaintext data is encrypted with an encryption key corresponding to a time point of inputting the plaintext data, The security of the data is improved as compared with the data encryption management method that performs data encryption management in a lump.

또한, 본 발명에 따른 데이터 암호화 관리 장치 및 그 동작 방법은 관리자에 의해 데이터베이스에 저장되어 있는 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 상기 복수의 암호화 데이터들 중에서 데이터 암호화에 사용 가능하도록 미리 지정된 최신의 유효 사용기간을 갖는 암호화키가 아닌, 이전의 유효 사용기간을 갖는 암호화키들로 암호화가 수행된 암호화 데이터들만을 추출하여 추출된 암호화 데이터들을 상기 최신의 유효 사용기간을 갖는 암호화키로 다시 암호화를 수행함으로써, 이전의 유효 사용기간을 갖는 암호화키들이 노출되더라도 암호화 데이터의 갱신으로 인해 평문 데이터가 노출될 위험성을 최소화할 수 있다.In addition, the data encryption management device and the method of operating the same according to the present invention are characterized in that, when an encryption key update command is input for a plurality of encrypted data stored in a database by an administrator, Only the encrypted data whose encryption has been performed with the encryption keys having the previous valid period of use, which is not the encryption key having the latest effective use period predetermined in advance so as to enable the encrypted data to be encrypted, By performing encryption again with the key, the risk of exposure of the plaintext data due to the update of the encrypted data can be minimized even if the encryption keys with the previous validity period are exposed.

또한, 본 발명에 따른 데이터 암호화 관리 장치 및 그 동작 방법은 관리자에 의해 데이터베이스에 저장되어 있는 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 입력되면, 상기 복수의 암호화 데이터들 중에서 암호화키의 유지를 위해서 미리 지정된 유효기한이 경과한 암호화키로 암호화가 수행된 암호화 데이터들만을 추출하여 추출된 암호화 데이터들을 최신의 유효 사용기간을 갖는 암호화키로 다시 암호화를 수행함으로써, 유효기한이 경과한 암호화키들이 노출되더라도 암호화 데이터의 갱신으로 인해 평문 데이터가 노출될 위험성을 최소화할 수 있다.In addition, the data encryption management device and the method of operating the same according to the present invention may be configured such that when an encryption key partial updating command for a plurality of pieces of encrypted data stored in a database is input by an administrator, Only the encrypted data whose encryption has been performed with the encryption key having passed the predetermined expiration date is extracted and the extracted encryption data is encrypted again with the encryption key having the latest validity period so that the encryption keys whose expiration date has expired are exposed The risk of exposing plaintext data due to the update of the encrypted data can be minimized.

도 1은 본 발명의 일실시예에 따른 데이터 암호화 관리 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예 따른 데이터 암호화 관리 장치의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 데이터 암호화 관리 장치의 동작 방법을 도시한 순서도이다.
1 is a block diagram illustrating a data encryption management apparatus according to an embodiment of the present invention.
2 is a diagram for explaining the operation of the data encryption management apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating an operation method of a data encryption management 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 data encryption management apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 암호화 관리 장치(110)는 키 저장부(111), 데이터베이스(112), 암호화키 추출부(113) 및 데이터 저장부(114)를 포함한다.1, the data encryption management device 110 according to an exemplary embodiment of the present invention includes a key storage unit 111, a database 112, an encryption key extraction unit 113, and a data storage unit 114 do.

키 저장부(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.

데이터베이스(112)에는 복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 키 저장부(111) 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있다.In the database 112, a plurality of plaintext data are stored in the key storage unit 111 of the plurality of encryption keys in association with the information on the validity period to which the plurality of plaintext data is input, A plurality of generated encrypted data is stored as the encryption is performed with the key.

암호화키 추출부(113)는 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 키 저장부(111)로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출한다.When the data storage command for the first plain text data and the first plain text data is inputted, the encryption key extracting unit 113 checks the time information about the input time of the first plain text data and outputs the time information to the key storage unit 111 And extracts a first encryption key corresponding to information on a valid period of use in which the first plaintext data is input.

데이터 저장부(114)는 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 데이터베이스(112)에 저장한다.The data storage unit 114 encrypts the first plaintext data based on the extracted first encryption key to generate first encrypted data, and then stores the first encrypted data in the database 112.

이때, 본 발명의 일실시예에 따르면, 데이터 암호화 관리 장치(110)는 암호화키 확인부(115), 암호화키 식별부(116), 암호화 데이터 선택부(117), 복호화부(118), 갱신 암호화키 추출부(119) 및 데이터 갱신부(120)를 더 포함할 수 있다.According to an embodiment of the present invention, the data encryption management device 110 includes an encryption key verification unit 115, an encryption key identification unit 116, an encrypted data selection unit 117, a decryption unit 118, An encryption key extracting unit 119 and a data updating unit 120. [

암호화키 확인부(115)는 상기 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 키 저장부(111)로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제2 암호화키를 확인한다.When an encryption key update command for the plurality of pieces of encrypted data is input, the encryption key verification unit 115 receives from the key storage unit 111 information corresponding to the latest validity period of the plurality of encryption keys And confirms the stored second encryption key.

암호화키 식별부(116)는 데이터베이스(112)로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별한다.The encryption key identification unit 116 extracts the plurality of encrypted data from the database 112 and identifies an encryption key used for encryption of each of the plurality of encrypted data with respect to each of the plurality of encrypted data.

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

복호화부(118)는 키 저장부(111)로부터 상기 적어도 하나의 제2 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제2 암호화 데이터를 복호화하여 적어도 하나의 제2 평문 데이터를 생성한다.The decryption unit 118 extracts the encryption key used for encryption of each of the at least one second encrypted data from the key storage unit 111 and decrypts the at least one second encrypted data based on the extracted encryption key And generates at least one second plaintext data.

갱신 암호화키 추출부(119)는 키 저장부(111)로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출한다.The update encryption key extracting unit 119 extracts the second encryption key stored from the key storage unit 111 in correspondence with the latest effective period of use of the plurality of encryption keys.

데이터 갱신부(120)는 상기 제2 암호화키를 기초로 상기 적어도 하나의 제2 평문 데이터 각각을 암호화한 후 데이터베이스(112)에 저장되어 있는 상기 적어도 하나의 제2 암호화 데이터를 상기 적어도 하나의 제2 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체한다.The data updating unit 120 encrypts each of the at least one second plaintext data based on the second encryption key and transmits the at least one second encrypted data stored in the database 112 to the at least one 2 plaintext data is replaced with data encrypted with the second encryption key.

이때, 본 발명의 일실시예에 따르면, 키 저장부(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 encrypting each of the plurality of encrypted data may be combined with each of the plurality of encrypted data stored in the plurality of encrypted data.

이때, 암호화키 추출부(113)는 상기 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 키 저장부(111)로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 상기 제1 암호화키를 추출함과 동시에 상기 제1 암호화키에 대응되어 저장되어 있는 제1 인덱스 값을 추출할 수 있다.When the data storage command for the first plaintext data and the first plaintext data is inputted, the encryption key extracting unit 113 checks the time information about the input time of the first plaintext data, 111) extracts the first encryption key corresponding to the information on the valid period of use in which the first plaintext data is input and the first index value stored corresponding to the first encryption key Can be extracted.

그리고, 데이터 저장부(114)는 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 상기 제1 암호화 데이터를 생성하고, 상기 제1 암호화 데이터에 대해 상기 제1 인덱스 값을 구성하는 데이터를 결합한 후 상기 제1 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 데이터베이스(112)에 저장할 수 있다.The data storage unit 114 encrypts the first plaintext data based on the extracted first encryption key to generate the first encrypted data, and the first index And then stores the first encryption data combined with the data constituting the first index value in the database 112. [

이때, 본 발명의 일실시예에 따르면, 암호화키 식별부(116)는 인덱스 확인부(121) 및 식별부(122)를 포함할 수 있다.According to an embodiment of the present invention, the encryption key identifying unit 116 may include an index checking unit 121 and an identifying unit 122.

인덱스 확인부(121)는 데이터베이스(112)로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인한다.The index checking unit 121 extracts the plurality of pieces of encrypted data from the database 112, and checks data constituting an index value associated with each of the plurality of pieces of the encrypted data.

식별부(122)는 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 키 저장부(111)에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별한다.The identification unit 122 identifies the 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 coupled to each of the plurality of encrypted data And identifies an encryption key used for encrypting each of the plurality of encrypted data.

또한, 본 발명의 일실시예에 따르면, 키 저장부(111)에는 상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들의 유지를 위한 유효기한에 대한 정보가 추가로 대응되어 저장되어 있을 수 있다.Also, according to an embodiment of the present invention, the key storage unit 111 may further store information on expiration dates for holding the plurality of encryption keys for each of the plurality of encryption keys in association with each other .

이때, 암호화키 확인부(115)는 상기 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 인가되면, 데이터 암호화 관리 장치(110)에 설정되어 있는 현재 시간에 대한 정보를 확인한 후 키 저장부(111)로부터 상기 복수의 암호화키들 중 상기 현재 시간이 속해있는 유효기한보다 과거의 유효기한에 대한 정보에 대응되어 저장되어 있는 적어도 하나의 제3 암호화키를 확인할 수 있다.At this time, if the encryption key partial update command for the plurality of pieces of encrypted data is received, the encryption key validation unit 115 checks the information about the current time set in the data encryption management unit 110, 111) of at least one of the plurality of encryption keys stored in association with the information on the expiration date past the expiration date to which the current time belongs.

이때, 암호화키 식별부(116)는 데이터베이스(112)로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별할 수 있고, 암호화 데이터 선택부(117)는 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 적어도 하나의 제3 암호화키로 암호화가 수행된 적어도 하나의 제3 암호화 데이터를 선택할 수 있다.At this time, the encryption key identifying unit 116 extracts the plurality of encrypted data from the database 112, and identifies an encryption key used for encryption of each of the plurality of encrypted data with respect to each of the plurality of encrypted data When the identification of the encryption key used to encrypt each of the plurality of pieces of encrypted data is completed, the encrypted data selection unit 117 selects at least one of the plurality of pieces of encrypted data, It is possible to select one third encrypted data.

이때, 복호화부(118)는 키 저장부(111)로부터 상기 적어도 하나의 제3 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제3 암호화 데이터를 복호화하여 적어도 하나의 제3 평문 데이터를 생성할 수 있고, 갱신 암호화키 추출부(119)는 키 저장부(111)로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출할 수 있으며, 데이터 갱신부(120)는 상기 제2 암호화키를 기초로 상기 적어도 하나의 제3 평문 데이터 각각을 암호화한 후 데이터베이스(112)에 저장되어 있는 상기 적어도 하나의 제3 암호화 데이터를 상기 적어도 하나의 제3 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체할 수 있다.At this time, the decryption unit 118 extracts the encryption key used for encrypting each of the at least one third encrypted data from the key storage unit 111, and extracts the at least one third encrypted data based on the extracted encryption key And the update encryption key extracting unit 119 may generate at least one third plain text data from the key storage unit 111 and store it in correspondence with the latest effective use period information among the plurality of encryption keys And the data updating unit 120 encrypts each of the at least one third plain text data based on the second encryption key, The at least one third plaintext data may replace at least one third encrypted data with data encrypted with the second encryption key.

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

우선, 키 저장부(111)에는 도면부호 210에 도시된 바와 같이, 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214)가 저장되어 있고, 각 암호화키들(211, 212, 213, 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) For each of the encryption keys 211, 212, 213, and 214, information on the validity period preliminarily designated to be usable for data encryption and information on validity periods for maintaining the encryption keys 211, 212, 213, Information is stored in association with each other, and at the same time, an index value previously allocated to each of the encryption keys 211, 212, 213, and 214 is stored.

또한, 데이터베이스(112)에는 도면부호 220에 도시된 바와 같이, 암호화 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)이 저장되어 있다고 가정한다.2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, and 230 are stored.

이때, 암호화 데이터 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에 각각 대응하는 암호화 데이터들로, 각 평문 데이터들이 데이터 암호화 관리 장치(110)에 입력될 때, 키 저장부(111) 상에서 각 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화된 데이터들인 것으로 가정한다.At this time, the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) When each plaintext data is input to the data encryption management device 110 with the encryption data corresponding to each of the plaintext data 110, 3, 4, 5, 6, 7, 8, 9 and 10, It is assumed that the data is encrypted with the encryption key stored corresponding to the information on the effective use period to which the data is input.

예컨대, 평문 데이터 1이 2013.05.06일에 데이터 암호화 관리 장치(110)에 입력되었다고 하는 경우, 암호화 데이터 1(221)은 상기 평문 데이터 1이 암호화키 1(211)로 암호화되어 생성된 데이터일 수 있다.For example, when the plaintext data 1 is input to the data encryption management device 110 on May 31, 2013, the encrypted data 1 (221) is the data that is generated by encrypting the plaintext data 1 with the encryption key 1 (211) have.

이러한 상황 하에서 데이터 암호화 관리 장치(110)에 새로운 제1 평문 데이터가 입력되면서, 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 암호화키 추출부(113)는 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 키 저장부(111)로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출할 수 있다.When the first clear-text data is input to the data encryption management device 110 under the above-mentioned circumstances, when the data storage command for the first plain-text data is inputted, the encryption key extraction unit 113 extracts the first plain- It is possible to extract the first encryption key corresponding to the information on the effective use period to which the first plaintext data is input from the key storage unit 111 by checking the time information on the time.

만약, 상기 제1 평문 데이터가 2016.06.07일에 입력되었다면, 암호화키 추출부(113)는 도면부호 210에 도시된 바와 같은 키 저장부(111)로부터 2016.06.07일이 속해 있는 유효 사용기간인 "2016.01.01~2016.12.31"에 대응되어 저장되어 있는 암호화키 4(214)를 상기 제1 암호화키로 추출할 수 있다.If the first plaintext data is input on 2016.06.07, the encryption key extracting unit 113 extracts the encryption key from the key storage unit 111 as shown in reference numeral 210, The encryption key 4 (214) stored in correspondence with "2016.01.01 ~ 2016.12.31" can be extracted by the first encryption key.

그러고 나서, 데이터 저장부(114)는 상기 제1 평문 데이터에 대해 상기 추출된 제1 암호화키인 암호화키 4(214)로 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 도면부호 220에 도시된 바와 같은 데이터베이스(112) 상에 신규로 저장할 수 있다.Then, the data storage unit 114 encrypts the first plaintext data with the encryption key 4 (214), which is the extracted first encryption key, to generate first encrypted data, And may be newly stored on the database 112 as shown at 220.

이러한 방식으로, 본 발명에 따른 데이터 암호화 관리 장치(110)는 데이터베이스(112)에 저장될 새로운 평문 데이터가 입력되면, 상기 평문 데이터가 입력되는 시점에 대응하는 암호화키로 상기 평문 데이터를 암호화하기 때문에 항상 동일한 암호화키를 이용하여 평문 데이터를 암호화하지 않는다는 점에서 기존의 하나의 암호화키를 이용하여 일괄적으로 데이터 암호화 관리를 수행하는 데이터 암호화 관리 기법에 비해 보안이 강화되는 장점이 있다.In this way, when the new plaintext data to be stored in the database 112 is input, the data encryption management device 110 encrypts the plaintext data with the encryption key corresponding to the input time of the plaintext data, In addition, since the plaintext data is not encrypted using the same encryption key, security is enhanced compared to a data encryption management method that performs data encryption management in a lump using an existing one encryption key.

이때, 본 발명의 일실시예에 따르면, 암호화키 추출부(113)는 키 저장부(111)로부터 암호화키 4(214)를 추출할 때, 암호화키 4(214)에 대응되어 저장되어 있는 인덱스 값인 "4"라는 인덱스 값을 함께 추출할 수 있다.In this case, when extracting the encryption key 4 (214) from the key storage unit 111, the encryption key extraction unit 113 extracts the encryption key 4 (214) corresponding to the encryption key 4 (214) Value "4" can be extracted together.

이때, 데이터 저장부(114)는 상기 제1 평문 데이터를 암호화키 4(214)로 암호화를 수행하여 상기 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 데이터베이스(112) 상에 저장하기 전에 상기 "4"라는 인덱스 값을 구성하는 데이터를 상기 제1 암호화 데이터에 결합한 후 상기 "4"라는 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 데이터베이스(112)에 저장할 수 있다.At this time, the data storage unit 114 encrypts the first plaintext data with the encryption key 4 (214) to generate the first encrypted data, and after storing the first encrypted data in the database 112 The data composing the index value "4 " may be combined with the first encryption data, and the first encryption data combined with the data constituting the index value" 4 " may be stored in the database 112.

관련해서, 상기 제1 평문 데이터가 16바이트의 크기를 갖는 데이터라고 하는 경우, 데이터 저장부(114)는 상기 16바이트의 크기를 갖는 상기 제1 평문 데이터를 암호화키 4(214)로 암호화를 수행하여 16바이트의 크기를 갖는 상기 제1 암호화 데이터를 생성하고, 상기 "4"라는 인덱스 값을 2바이트의 크기를 갖는 데이터로 구성한 후("4"를 숫자로 취급함으로써, "4"라는 인덱스 값에 대해 "00000100"이라는 2바이트 크기를 갖는 데이터로 구성이 가능함) 상기 2바이트의 크기를 갖는 상기 "4"라는 인덱스 값을 구성하는 데이터를 상기 16바이트의 크기를 갖는 상기 제1 암호화 데이터에 결합함으로써, 18바이트의 크기를 갖는 암호화 데이터를 생성할 수 있다.In this case, if the first plaintext data is data having a size of 16 bytes, the data storage unit 114 encrypts the first plaintext data having the size of 16 bytes with the encryption key 4 (214) Quot; 4 "is made up of data having a size of 2 bytes (by treating" 4 "as a number, an index value" 4 " The data constituting the index value "4" having the size of 2 bytes is combined with the first encrypted data having the size of 16 bytes , It is possible to generate encrypted data having a size of 18 bytes.

그러고 나서, 데이터 저장부(114)는 상기 18바이트의 크기를 갖는 암호화 데이터를 base64 인코딩을 수행하는 등 소정의 후처리를 수행한 후 최종적으로 상기 "4"라는 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 데이터베이스(112)에 저장할 수 있다.Then, the data storage unit 114 performs predetermined post-processing such as performing base64 encoding on the encrypted data having the size of 18 bytes, and finally, combining the data constituting the index value "4 " And store the first encrypted data in the database 112.

이러한 방식으로, 데이터베이스(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) 각각의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.In this manner, the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, and 230 of the first to fourth embodiments of the present invention include encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, The data constituting the index value for the encryption key used for encryption may be combined.

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

이렇게, 데이터베이스(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)에 대한 암호화키 전부 갱신 명령이 입력되면, 암호화키 확인부(115)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)를 확인할 수 있다.The encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, The encryption key verification unit 115 reads the encryption key 1 from the key storage unit 111 through the encryption key 1 211, the encryption key 2 212 and the encryption key 3 213), and the encryption key 4 (214), which is an encryption key stored in association with information on the most recent valid period of use among the encryption key 4 (214).

이때, 암호화키 식별부(116)에 포함되어 있는 인덱스 확인부(121)는 데이터베이스(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) 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인할 수 있다.2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222) from the database 112. In this case, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 223, 224, 225, 226, 227, 228, 229, 230) 225, 226, 227, 228, 229, and 230, respectively.

그리고, 식별부(122)는 암호화 데이터 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 122 identifies the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 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 224, 225, 226, 227, 228, 229, 226, 227, 228, 229, 230 can 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"라는 인덱스 값을 구성하는 데이터가 결합되어 있다고 하는 경우, 식별부(122)는 암호화 데이터 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, 224) are combined with the data constituting the index value "1" for the encrypted data 1, 2, 3, 4 Data constituting an index value of "2" is associated with the encrypted data 8, 9 (228, 229) 2, 3, and 4 (221, 222, 223, and 224) are associated with the data constituting the index value "4 " 5, 6, 7 (224, 225, 226, 227) can be identified as the encryption key 1 211, which is the encryption key corresponding to the index value " It is possible to identify that the encryption key 2 212, which is the encryption key corresponding to the index value "2 ", is the encryption key used for data encryption , It is possible to identify the encryption key 3 (213), which is an encryption key corresponding to the index value "3 ", to the encrypted data 8 and 9 (228 and 229) Quot ;, the encryption key 4 (214), which is an encryption key corresponding to the index value "4 ", can be identified as the 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) 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 암호화 데이터 선택부(117)는 암호화 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키인 암호화키 4(214)로 암호화가 수행되지 않은 암호화 데이터들을 선택할 수 있다.In this way, it is possible to encrypt the encrypted 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 encryption key is completed, the encrypted data selection unit 117 transmits the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 224, 227, 228, 229, and 230, which are stored in association with the information on the latest validity period.

본 실시예에서는 암호화 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 암호화 데이터 10(230)만이 암호화키 4(214)로 암호화되었다고 가정하였으므로, 암호화 데이터 선택부(117)는 암호화 데이터 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)를 선택할 수 있다.In this embodiment, among the encrypted 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), since the encrypted data selector 230 is assumed to have been encrypted with the encryption key 4 (214) 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227) among the encrypted data 1, 2, 3, , 228, 229).

그러고 나서, 복호화부(118)는 키 저장부(111)로부터 암호화 데이터 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(221, 222, 223, 224, 225, 226, 227, 228, 229)를 복호화하여 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9를 생성할 수 있다.Then, the decryption unit 118 decrypts the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223, 224, 225, 226, 227, 2, 3, 4, 5, 6, 7, 8, and 9 (221, 222, 223, 224, and 228) based on the extracted encryption keys after extracting the encryption keys used in the encryption, 2, 3, 4, 5, 6, 7, 8, and 9 by decrypting the plaintext data 225, 226, 227, 228,

그리고, 갱신 암호화키 추출부(119)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키 4(214)를 추출할 수 있고, 데이터 갱신부(120)는 상기 추출된 암호화키 4(214)를 기초로 상기 평문 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9 각각을 암호화한 후 데이터베이스(112)에 저장되어 있는 암호화 데이터 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가 암호화키 4(214)로 암호화된 데이터들로 대체할 수 있다.The update encryption key extracting unit 119 extracts the latest validity of the encryption key 1 211, the encryption key 2 212, the encryption key 3 213 and the encryption key 4 214 from the key storage unit 111 The encryption key 4 214 corresponding to the information on the use period can be extracted and the data updating unit 120 can extract the plaintext data 1, 2, 3 2, 3, 4, 5, 6, 7, 8, 9 (221, 222, 223) stored in the database 112 after encrypting each of the encrypted data 1, 2, 2, 3, 4, 5, 6, 7, 8, 9 can be replaced with data encrypted with the encryption key 4 (214) have.

결국, 본 발명에 따른 데이터 암호화 관리 장치(110)는 관리자에 의해 데이터베이스(112)에 저장되어 있는 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 상기 복수의 암호화 데이터들 중에서 데이터 암호화에 사용 가능하도록 미리 지정된 최신의 유효 사용기간을 갖는 암호화키가 아닌, 이전의 유효 사용기간을 갖는 암호화키들로 암호화가 수행된 암호화 데이터들만을 추출하여 추출된 암호화 데이터들을 상기 최신의 유효 사용기간을 갖는 암호화키로 다시 암호화를 수행함으로써, 이전의 유효 사용기간을 갖는 암호화키들이 노출되더라도 암호화 데이터의 갱신으로 인해 평문 데이터가 노출될 위험성을 최소화할 수 있다.As a result, the data encryption management device 110 according to the present invention, when an encryption key all-update command for a plurality of encrypted data stored in the database 112 is input by an administrator, Only the encrypted data whose encryption has been performed with the encryption keys having the previous valid period of use, which is not the encryption key having the latest effective use period predetermined in advance so as to be usable for the latest valid period of use The risk of exposing the plaintext data due to the updating of the encrypted data can be minimized even if the encryption keys having the previous validity period are exposed.

지금까지는, 관리자에 의해서 암호화 데이터 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) 중에서 최신의 유효 사용기간을 갖는 암호화키가 아닌, 이전의 유효 사용기간을 갖는 암호화키들로 암호화가 수행된 암호화 데이터들만을 추출하여 추출된 암호화 데이터들을 상기 최신의 유효 사용기간을 갖는 암호화키로 다시 암호화를 수행하는 예에 대해 설명하였다.Up to now, it has been possible for the administrator to determine the number of encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230) The encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230, which is not the encryption key having the latest effective use period, extracts only the encrypted data that has been encrypted with the encryption keys having the previous effective period of use and extracts the extracted encrypted data with the encryption key having the latest effective use period An example of performing encryption again has been described.

관련해서, 본 발명의 다른 일실시예에 따르면, 관리자에 의해 암호화 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)에 대한 암호화키 일부 갱신 명령이 인가되면, 암호화키 확인부(115)는 데이터 암호화 관리 장치(110)에 설정되어 있는 현재 시간에 대한 정보를 확인한 후 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 상기 현재 시간이 속해있는 유효기한보다 과거의 유효기한에 대한 정보에 대응되어 저장되어 있는 적어도 하나의 암호화키를 확인할 수 있다.2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, and 230, the encryption key verification unit 115 checks the information about the current time set in the data encryption management device 110, 111 corresponding to the information on the expiration date in the past that is the expiration date to which the current time belongs among the encryption key 1 (211), the encryption key 2 (212), the encryption key 3 (213), and the encryption key 4 (214) It is possible to confirm at least one encryption key stored.

예컨대, 상기 현재 시간이 2016.04.15일로 확인되었다면, 암호화키 확인부(115)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 상기 현재 시간인 2016.04.15일이 속해있는 유효기한인 "2015.01.01~2016.05.31"과 "2016.01.01~2017.05.31"보다 과거의 유효기한인 "2013.01.01~2014.05.31" 및 "2014.01.01~2015.05.31"에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화키 1(211)과 암호화키 2(212)를 확인할 수 있다.For example, if the current time is confirmed to be 2016.04.15, the encryption key validation unit 115 receives the encryption key 1 211, the encryption key 2 212, the encryption key 3 213, 2015.01.01 ~ 2016.05.31 "and" 2016.01.01 ~ 2017.05.31 ", which are the valid period of the current time (2016.04.15) among the key 4 (214) 2014.05.31 "and" 2014.01.01 to 2015.05.31 ", the encryption key 1 (211) and the encryption key 2 (212) can be confirmed with the encryption key stored.

이때, 인덱스 확인부(121)는 데이터베이스(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) 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인할 수 있고, 식별부(122)는 암호화 데이터 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) 각각의 암호화에 사용된 암호화키를 식별할 수 있다.2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 230), and then extracts the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223) Stored in the key storage unit 111 on the basis of the data constituting the index values respectively associated with the encryption keys 1, 224, 225, 226, 227, 228, 229, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222) , 223, 224, 225, 226, 227, 228, 229, 230).

이때, 암호화 데이터 선택부(117)는 암호화 데이터 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(211)과 암호화키 2(212)로 암호화가 수행된 적어도 하나의 암호화 데이터를 선택할 수 있다.At this time, the encrypted data selection unit 117 selects the encrypted data 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228, 229, 2, 3, 4, 5, 6, 7, 8, 9, 10 (221, 222, 223, 224, 225, 226, 227, 228) , 229 and 230 can select at least one piece of encrypted data that has been encrypted with the encryption key 1 (211) and the encryption key 2 (212).

앞서 설명한 실시예에서, 암호화 데이터 1, 2, 3, 4(221, 222, 223, 224)에 대해서는 "1"이라는 인덱스 값을 구성하는 데이터가 결합되어 있고, 암호화 데이터 4, 5, 6, 7(224, 225, 226, 227)에 대해서는 "2"라는 인덱스 값을 구성하는 데이터가 결합되어 있다고 가정하였으므로, 암호화 데이터 선택부(117)는 암호화 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 암호화키 1(211)과 암호화키 2(212)로 암호화가 수행된 적어도 하나의 암호화 데이터로 암호화 데이터 1, 2, 3, 4, 5, 6, 7(221, 222, 223, 224, 225, 226, 227)을 선택할 수 있다.In the above-described embodiment, the data constituting the index value "1" is combined with the encrypted data 1, 2, 3, 4 (221, 222, 223, 224) 2, 3, 4, 5, 6, and 7, since the data constituting the index value "2" is concatenated with the encrypted data 224, 225, 226, At least one encryption key 1 (211) and encryption key 2 (212) among the encryption keys 1, 2, 7, 8, 9 and 10 (221, The encrypted data 1, 2, 3, 4, 5, 6, 7 (221, 222, 223, 224, 225, 226, 227) can be selected as the encrypted data.

그러고 나서, 복호화부(118)는 키 저장부(111)로부터 암호화 데이터 1, 2, 3, 4, 5, 6, 7(221, 222, 223, 224, 225, 226, 227) 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 암호화 데이터 1, 2, 3, 4, 5, 6, 7(221, 222, 223, 224, 225, 226, 227)를 복호화하여 평문 데이터 1, 2, 3, 4, 5, 6, 7을 생성할 수 있다.Then, the decryption unit 118 decrypts the encrypted data 1, 2, 3, 4, 5, 6, 7 (221, 222, 223, 224, 225, 226, 227) from the key storage unit 111 2, 3, 4, 5, 6, 7 (221, 222, 223, 224, 225, 226, 227) on the basis of the extracted encryption key to extract plaintext data 1 , 2, 3, 4, 5, 6, 7 can be generated.

이때, 갱신 암호화키 추출부(119)는 키 저장부(111)로부터 암호화키 1(211), 암호화키 2(212), 암호화키 3(213), 암호화키 4(214) 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키 4(214)를 추출할 수 있고, 데이터 갱신부(120)는 암호화키 4(214)를 기초로 평문 데이터 1, 2, 3, 4, 5, 6, 7 각각을 암호화한 후 데이터베이스(112)에 저장되어 있는 암호화 데이터 1, 2, 3, 4, 5, 6, 7(221, 222, 223, 224, 225, 226, 227)을 평문 데이터 1, 2, 3, 4, 5, 6, 7이 암호화키 4(214)로 암호화된 데이터들로 대체할 수 있다.At this time, the update encryption key extracting unit 119 extracts the latest validity of the encryption key 1 211, the encryption key 2 212, the encryption key 3 213, and the encryption key 4 214 from the key storage unit 111 The data update unit 120 can extract the encryption key 4 214 stored in correspondence with the information on the use period and the data update unit 120 can extract the plaintext data 1, 2, 3, 4, 5 2, 3, 4, 5, 6, 7 (221, 222, 223, 224, 225, 226, 227) stored in the database 112, 1, 2, 3, 4, 5, 6, 7 can be replaced with data encrypted with the encryption key 4 (214).

결국, 본 발명에 따른 데이터 암호화 관리 장치(110)는 관리자에 의해 데이터베이스(112)에 저장되어 있는 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 입력되면, 상기 복수의 암호화 데이터들 중에서 암호화키의 유지를 위해서 미리 지정된 유효기한이 경과한 암호화키로 암호화가 수행된 암호화 데이터들만을 추출하여 추출된 암호화 데이터들을 최신의 유효 사용기간을 갖는 암호화키로 다시 암호화를 수행함으로써, 유효기한이 경과한 암호화키들이 노출되더라도 암호화 데이터의 갱신으로 인해 평문 데이터가 노출될 위험성을 최소화할 수 있다.As a result, the data encryption management device 110 according to the present invention, when an encryption key partial update command for a plurality of encrypted data stored in the database 112 is input by an administrator, By extracting only the encrypted data whose encryption has been performed with the encryption key that has passed the predetermined expiration date and encrypting the extracted encrypted data by using the encryption key having the latest effective use period, The exposure of the plaintext data due to the update of the encrypted data can be minimized.

또한, 암호화키 일부 갱신 명령에 따른 암호화 데이터 갱신 과정은 앞서 설명한 암호화키 전부 갱신 명령에 따른 암호화 데이터 갱신 과정보다 갱신할 암호화 데이터의 양이 적기 때문에 암호화 데이터 갱신 과정을 보다 빠르게 처리할 수 있는 장점이 있다.The encrypted data update process according to the partial update command of the encryption key is advantageous in that it can process the encrypted data update process more quickly since the amount of the encrypted data to be updated is smaller than the encrypted data update process according to the previously described encryption key update command have.

본 발명의 일실시예에 따르면, 데이터 암호화 관리 장치(110)는 관리자가 수동으로 관련 명령을 인가할 경우에 암호화키 전부 갱신 명령에 따른 암호화 데이터 갱신 과정과 암호화키 일부 갱신 명령에 따른 암호화 데이터 갱신 과정이 수행되도록 구성될 수도 있으나, 관리자가 미리 설정해 놓은 데이터 갱신 처리 스케줄에 따라, 자동으로 해당 일자가 되면 암호화 데이터 갱신 과정이 수행되도록 구성될 수도 있다.According to an embodiment of the present invention, the data encryption management device 110 may be configured such that when an administrator manually applies an associated command, the data encryption management device 110 updates the encrypted data according to the encryption key all- However, it may be configured such that the encrypted data update process is performed automatically when the date is automatically set in accordance with the data update process schedule preset by the administrator.

도 3은 본 발명의 일실시예에 따른 데이터 암호화 관리 장치의 동작 방법을 도시한 순서도이다.3 is a flowchart illustrating an operation method of a data encryption management apparatus according to an embodiment of the present invention.

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

단계(S320)에서는 복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 상기 키 저장부 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있는 데이터베이스를 유지한다.In step S320, the plurality of plaintext data are encrypted with the encryption key stored in correspondence with the information on the effective period of time at which the plurality of plaintext data is input on the key storage unit of the plurality of encryption keys. And stores a plurality of generated encrypted data in a database.

단계(S330)에서는 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출한다.In step S330, when a data storage command for the first plaintext data and the first plaintext data is inputted, the time information on the time when the first plaintext data is input is checked and the first plaintext data And extracts the first encryption key corresponding to the information on the effective use period to which the point in time at which the input key is input belongs.

단계(S340)에서는 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제1 암호화 데이터를 상기 데이터베이스에 저장한다.In step S340, the first encryption unit 110 encrypts the first plaintext data based on the extracted first encryption key to generate first encrypted data, and then stores the first encrypted data in the database.

이때, 본 발명의 일실시예에 따르면, 상기 데이터 암호화 관리 장치의 동작 방법은 상기 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제2 암호화키를 확인하는 단계, 상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계, 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 제2 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 암호화 데이터를 선택하는 단계, 상기 키 저장부로부터 상기 적어도 하나의 제2 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제2 암호화 데이터를 복호화하여 적어도 하나의 제2 평문 데이터를 생성하는 단계, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하는 단계 및 상기 제2 암호화키를 기초로 상기 적어도 하나의 제2 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제2 암호화 데이터를 상기 적어도 하나의 제2 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the operation method of the data encryption management apparatus further includes a step of, when the encryption key update command for the plurality of pieces of encrypted data is input, The method comprising the steps of: identifying a second encryption key stored in association with information on an effective period of use of the plurality of encrypted data; extracting the plurality of encrypted data from the database; The method comprising the steps of: identifying an encryption key used for encryption; when identification of an encryption key used for encryption of each of the plurality of pieces of encrypted data is completed, at least one of the plurality of encrypted data, Selecting the second encrypted data from the key storage unit, Extracting an encryption key used for encrypting each of the one second encrypted data and decrypting the at least one second encrypted data based on the extracted encryption key to generate at least one second plaintext data, Extracting the second encryption key stored in association with information on the latest valid period of use of the plurality of encryption keys from the second encryption key, and extracting the second encryption key from the at least one second plaintext data And replacing the at least one second encrypted data stored in the database with the data encrypted with the second encryption key by the at least one second plaintext data.

이때, 본 발명의 일실시예에 따르면, 상기 키 저장부에는 상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있을 수 있고, 상기 데이터베이스에 저장되어 있는 상기 복수의 암호화 데이터들 각각에는 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있을 수 있다.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, The stored plurality of encrypted data may be combined with data constituting an index value for an encryption key used for encrypting each of the plurality of encrypted data.

이때, 단계(S330)에서는 상기 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 상기 제1 암호화키를 추출함과 동시에 상기 제1 암호화키에 대응되어 저장되어 있는 제1 인덱스 값을 추출할 수 있고, 단계(S340)에서는 상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 상기 제1 암호화 데이터를 생성하고, 상기 제1 암호화 데이터에 대해 상기 제1 인덱스 값을 구성하는 데이터 결합한 후 상기 제1 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 상기 데이터베이스에 저장할 수 있다.At this time, if a data storage command for the first plaintext data and the first plaintext data is input in step S330, time information on the time when the first plaintext data is input is checked, Extracting the first encryption key corresponding to information on a valid period of use at which the first plaintext data is input and extracting a first index value stored corresponding to the first encryption key, In operation S340, the first encrypted data is generated by performing encryption on the first plain text data based on the extracted first encryption key, and the first index value is constructed with respect to the first encrypted data After the data is combined, the first encryption data combined with the data constituting the first index value may be stored in the database.

이때, 본 발명의 일실시예에 따르면, 상기 암호화키를 식별하는 단계는 상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 단계 및 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계를 포함할 수 있다.In this case, according to an embodiment of the present invention, the step of identifying the encryption key may include extracting the plurality of pieces of encrypted data from the database, and then checking data constituting an index value coupled to each of the plurality of pieces of encrypted data 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 encrypted data, And identifying the encryption key used for each encryption.

또한, 본 발명의 일실시예에 따르면, 상기 키 저장부에는 상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들의 유지를 위한 유효기한에 대한 정보가 추가로 대응되어 저장되어 있을 수 있다.According to an embodiment of the present invention, the key storage unit may further store information on expiration dates for holding the plurality of encryption keys for each of the plurality of encryption keys, respectively.

이때, 상기 데이터 암호화 관리 장치의 동작 방법은 상기 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 인가되면, 상기 데이터 암호화 관리 장치에 설정되어 있는 현재 시간에 대한 정보를 확인한 후 상기 키 저장부로부터 상기 복수의 암호화키들 중 상기 현재 시간이 속해있는 유효기한보다 과거의 유효기한에 대한 정보에 대응되어 저장되어 있는 적어도 하나의 제3 암호화키를 확인하는 단계, 상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계, 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 적어도 하나의 제3 암호화키로 암호화가 수행된 적어도 하나의 제3 암호화 데이터를 선택하는 단계, 상기 키 저장부로부터 상기 적어도 하나의 제3 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제3 암호화 데이터를 복호화하여 적어도 하나의 제3 평문 데이터를 생성하는 단계, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하는 단계 및 상기 제2 암호화키를 기초로 상기 적어도 하나의 제3 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제3 암호화 데이터를 상기 적어도 하나의 제3 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 단계를 더 포함할 수 있다.In this case, when the partial update of the encryption key for the plurality of pieces of encrypted data is applied, the method for operating the data encryption management device checks information on the current time set in the data encryption management device, Identifying at least one third encryption key stored in association with information on a validity period that is earlier than an expiration date to which the current time belongs among the plurality of encryption keys, extracting the plurality of encrypted data from the database Identifying an encryption key used to encrypt each of the plurality of pieces of encrypted data with respect to each of the plurality of pieces of encrypted data, and if the identification of the encryption key used to encrypt each of the plurality of pieces of encrypted data is completed, Wherein the at least one third encryption Selecting at least one third encrypted data that has been encrypted with a key, extracting an encryption key used to encrypt each of the at least one third encrypted data from the key storage unit, And a second encryption key generation step of generating at least one third plaintext data by decoding one piece of the third encryption data to generate at least one third plaintext data, Encrypting each of the at least one third plaintext data based on the second encryption key, and transmitting the at least one third encrypted data stored in the database to the at least one third plaintext And replacing the data with data encrypted with the second encryption key .

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

본 발명의 일실시예에 따른 데이터 암호화 관리 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method for operating the data encryption management apparatus according to an embodiment of the present invention may be implemented by a computer program stored in a storage medium for execution through 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 data encryption management apparatus according to an 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: 식별부
110: Data encryption management device
111: Key storage unit 112: Database
113: encryption key extracting unit 114:
115: encryption key verification unit 116: encryption key identification unit
117: Encrypted data selection unit 118: Decryption unit
119: update encryption key extracting unit 120:
121: Index check unit 122: Identification unit

Claims (12)

복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부;
복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 상기 키 저장부 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있는 데이터베이스;
제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출하는 암호화키 추출부; 및
상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제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;
The encryption is performed with the encryption key stored corresponding to the information on the effective period of time at which the plurality of plaintext data is input on the key storage unit of the plurality of encryption keys, A database in which a plurality of pieces of encrypted data are stored;
When a data storage command for the first plain text data and the first plain text data is input, the time information for the time when the first plain text data is input is checked and the time point at which the first plain text data is input from the key storage unit An encryption key extracting unit for extracting a first encryption key corresponding to information on a valid period of use; And
Encrypting the first plaintext data based on the extracted first encryption key to generate first encrypted data, and storing the first encrypted data in the database,
The data encryption management apparatus comprising:
제1항에 있어서,
상기 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제2 암호화키를 확인하는 암호화키 확인부;
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 암호화키 식별부;
상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 제2 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 암호화 데이터를 선택하는 암호화 데이터 선택부;
상기 키 저장부로부터 상기 적어도 하나의 제2 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제2 암호화 데이터를 복호화하여 적어도 하나의 제2 평문 데이터를 생성하는 복호화부;
상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하는 갱신 암호화키 추출부; 및
상기 제2 암호화키를 기초로 상기 적어도 하나의 제2 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제2 암호화 데이터를 상기 적어도 하나의 제2 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 데이터 갱신부
를 더 포함하는 데이터 암호화 관리 장치.
The method according to claim 1,
And a second 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, when a command to update all of the plurality of encrypted data is input An encryption key verification unit;
An encryption key identifying unit for extracting the plurality of pieces of encrypted data from the database and identifying an encryption key used for encrypting each of the plurality of pieces of encrypted data with respect to each of the plurality of pieces of encrypted data;
When the identification of the encryption key used for encrypting each of the plurality of pieces of encrypted data is completed, selecting at least one second encrypted data that is not encrypted with the second encryption key among the plurality of pieces of encrypted data part;
Extracts an encryption key used for encryption of each of the at least one second encrypted data from the key storage unit, decrypts the at least one second encrypted data based on the extracted encryption key, A decoding unit for generating a decoding signal;
An update encryption key extraction unit for extracting the second encryption key stored in association with information on the most recent valid period of use among the plurality of encryption keys from the key storage unit; And
Encrypting each of the at least one second plaintext data based on the second encryption key and transmitting the at least one second encrypted data stored in the database to the second encryption key using the second encryption key The data updating unit replaces the encrypted data with the encrypted data.
Further comprising:
제2항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있고,
상기 데이터베이스에 저장되어 있는 상기 복수의 암호화 데이터들 각각에는 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있으며,
상기 암호화키 추출부는
상기 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 상기 제1 암호화키를 추출함과 동시에 상기 제1 암호화키에 대응되어 저장되어 있는 제1 인덱스 값을 추출하고,
상기 데이터 저장부는
상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 상기 제1 암호화 데이터를 생성하고, 상기 제1 암호화 데이터에 대해 상기 제1 인덱스 값을 구성하는 데이터를 결합한 후 상기 제1 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 상기 데이터베이스에 저장하는 데이터 암호화 관리 장치.
3. The method of claim 2,
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,
Wherein each of the plurality of encrypted data stored in the database is combined with data constituting an index value for an encryption key used for encrypting each of the plurality of encrypted data,
The encryption key extracting unit
When a data storage command for the first plaintext data and the first plaintext data is input, checks the time information about the time when the first plaintext data is input, Extracts the first encryption key corresponding to the information on the effective period of use and extracts the first index value stored corresponding to the first encryption key,
The data storage unit
Encrypting the first plaintext data based on the extracted first encryption key to generate the first encrypted data, combining the data constituting the first index value with the first encrypted data, And stores the first encrypted data combined with the data constituting the first index value in the database.
제3항에 있어서,
상기 암호화키 식별부는
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 인덱스 확인부; 및
상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 식별부
를 포함하는 데이터 암호화 관리 장치.
The method of claim 3,
The encryption key identifying unit
An index check unit for extracting the plurality of encrypted data from the database and checking data constituting an index value coupled to each of the plurality of encrypted data; 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 encrypted data, An identification unit for identifying an encryption key used for encryption
The data encryption management apparatus comprising:
제2항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들의 유지를 위한 유효기한에 대한 정보가 추가로 대응되어 저장되어 있고,
상기 암호화키 확인부는
상기 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 인가되면, 상기 데이터 암호화 관리 장치에 설정되어 있는 현재 시간에 대한 정보를 확인한 후 상기 키 저장부로부터 상기 복수의 암호화키들 중 상기 현재 시간이 속해있는 유효기한보다 과거의 유효기한에 대한 정보에 대응되어 저장되어 있는 적어도 하나의 제3 암호화키를 확인하고,
상기 암호화키 식별부는
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하며,
상기 암호화 데이터 선택부는
상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 적어도 하나의 제3 암호화키로 암호화가 수행된 적어도 하나의 제3 암호화 데이터를 선택하고,
상기 복호화부는
상기 키 저장부로부터 상기 적어도 하나의 제3 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제3 암호화 데이터를 복호화하여 적어도 하나의 제3 평문 데이터를 생성하고,
상기 갱신 암호화키 추출부는
상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하고,
상기 데이터 갱신부는
상기 제2 암호화키를 기초로 상기 적어도 하나의 제3 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제3 암호화 데이터를 상기 적어도 하나의 제3 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 데이터 암호화 관리 장치.
3. The method of claim 2,
The key storage unit
Information about a validity period for holding the plurality of encryption keys is additionally stored corresponding to each of the plurality of encryption keys,
The encryption key verification unit
Wherein when a partial update of an encryption key for the plurality of pieces of encrypted data is applied, information on a current time set in the data encryption management device is checked and then the current time among the plurality of encryption keys belongs At least one third encryption key stored in correspondence with the information on past validity period,
The encryption key identifying unit
Extracts the plurality of encrypted data from the database, identifies an encryption key used for encryption of each of the plurality of encrypted data for each of the plurality of encrypted data,
The encrypted data selection unit
When the identification of the encryption key used for encrypting each of the plurality of pieces of encrypted data is completed, selects at least one third encrypted data that has been encrypted with the at least one third encryption key among the plurality of pieces of encrypted data,
The decoding unit
Extracting an encryption key used for encrypting each of the at least one third encrypted data from the key storage unit, decrypting the at least one third encrypted data based on the extracted encryption key, Generate,
The update encryption key extracting unit
Extracts, from the key storage unit, the second encryption key stored in association with the latest effective period of use of the plurality of encryption keys,
The data updating unit
Encrypting each of the at least one third plaintext data based on the second encryption key, and then transmitting the at least one third encrypted data stored in the database to the at least one third plaintext data using the second encryption key A data encryption management device that replaces encrypted data.
복수의 암호화키들과 상기 복수의 암호화키들 각각에 대해 데이터 암호화에 사용 가능하도록 미리 지정된 유효 사용기간에 대한 정보가 서로 대응되어 저장되어 있는 키 저장부를 유지하는 단계;
복수의 평문 데이터들에 대해 상기 복수의 암호화키들 중 상기 키 저장부 상에서 상기 복수의 평문 데이터들이 입력된 시점이 속해 있는 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 암호화키로 암호화가 수행됨에 따라 생성된 복수의 암호화 데이터들이 저장되어 있는 데이터베이스를 유지하는 단계;
제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 제1 암호화키를 추출하는 단계; 및
상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 제1 암호화 데이터를 생성한 후 상기 제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;
The encryption is performed with the encryption key stored corresponding to the information on the effective period of time at which the plurality of plaintext data is input on the key storage unit of the plurality of encryption keys, Maintaining a database in which a plurality of encrypted data are stored;
When a data storage command for the first plain text data and the first plain text data is input, the time information for the time when the first plain text data is input is checked and the time point at which the first plain text data is input from the key storage unit Extracting a first encryption key corresponding to information on a valid period of use; And
Encrypting the first plaintext data based on the extracted first encryption key to generate first encrypted data, and storing the first encrypted data in the database
The data encryption management apparatus comprising:
제6항에 있어서,
상기 복수의 암호화 데이터들에 대한 암호화키 전부 갱신 명령이 입력되면, 상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 제2 암호화키를 확인하는 단계;
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계;
상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 제2 암호화키로 암호화가 수행되지 않은 적어도 하나의 제2 암호화 데이터를 선택하는 단계;
상기 키 저장부로부터 상기 적어도 하나의 제2 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제2 암호화 데이터를 복호화하여 적어도 하나의 제2 평문 데이터를 생성하는 단계;
상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하는 단계; 및
상기 제2 암호화키를 기초로 상기 적어도 하나의 제2 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제2 암호화 데이터를 상기 적어도 하나의 제2 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 단계
를 더 포함하는 데이터 암호화 관리 장치의 동작 방법.
The method according to claim 6,
And a second 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, when a command to update all of the plurality of encrypted data is input step;
Extracting the plurality of encrypted data from the database and identifying an encryption key used for encryption of each of the plurality of encrypted data with respect to each of the plurality of encrypted data;
Selecting at least one second encrypted data that is not encrypted with the second encryption key among the plurality of encrypted data when identification of the encryption key used to encrypt each of the plurality of encrypted data is completed;
Extracts an encryption key used for encryption of each of the at least one second encrypted data from the key storage unit, decrypts the at least one second encrypted data based on the extracted encryption key, ;
Extracting, from the key storage unit, the second encryption key stored in association with information on the latest valid period of use of the plurality of encryption keys; And
Encrypting each of the at least one second plaintext data based on the second encryption key, and transmitting the at least one second encrypted data stored in the database to the second encryption key using the second encryption key Replacing with encrypted data
Further comprising the steps of:
제7항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들 각각을 식별하기 위한 인덱스 값이 추가로 대응되어 저장되어 있고,
상기 데이터베이스에 저장되어 있는 상기 복수의 암호화 데이터들 각각에는 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키에 대한 인덱스 값을 구성하는 데이터가 결합되어 있으며,
상기 제1 암호화키를 추출하는 단계는
상기 제1 평문 데이터와 상기 제1 평문 데이터에 대한 데이터 저장 명령이 입력되면, 상기 제1 평문 데이터가 입력된 시점에 대한 시간 정보를 확인하여 상기 키 저장부로부터 상기 제1 평문 데이터가 입력된 시점이 속해있는 유효 사용기간에 대한 정보에 대응하는 상기 제1 암호화키를 추출함과 동시에 상기 제1 암호화키에 대응되어 저장되어 있는 제1 인덱스 값을 추출하고,
상기 제1 암호화 데이터를 상기 데이터베이스에 저장하는 단계는
상기 추출된 제1 암호화키를 기초로 상기 제1 평문 데이터에 대한 암호화를 수행하여 상기 제1 암호화 데이터를 생성하고, 상기 제1 암호화 데이터에 대해 상기 제1 인덱스 값을 구성하는 데이터를 결합한 후 상기 제1 인덱스 값을 구성하는 데이터가 결합된 상기 제1 암호화 데이터를 상기 데이터베이스에 저장하는 데이터 암호화 관리 장치의 동작 방법.
8. The method of claim 7,
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,
Wherein each of the plurality of encrypted data stored in the database is combined with data constituting an index value for an encryption key used for encrypting each of the plurality of encrypted data,
The step of extracting the first encryption key
When a data storage command for the first plaintext data and the first plaintext data is input, checks the time information about the time when the first plaintext data is input, Extracts the first encryption key corresponding to the information on the effective period of use and extracts the first index value stored corresponding to the first encryption key,
The step of storing the first encrypted data in the database
Encrypting the first plaintext data based on the extracted first encryption key to generate the first encrypted data, combining the data constituting the first index value with the first encrypted data, And storing the first encrypted data combined with the data constituting the first index value in the database.
제8항에 있어서,
상기 암호화키를 식별하는 단계는
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 확인하는 단계; 및
상기 복수의 암호화 데이터들 각각에 결합되어 있는 인덱스 값을 구성하는 데이터를 기초로 상기 키 저장부에 저장되어 있는 상기 복수의 암호화키들 각각에 대응하는 인덱스 값을 확인하여 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계
를 포함하는 데이터 암호화 관리 장치의 동작 방법.
9. The method of claim 8,
Wherein identifying the encryption key comprises:
Extracting the plurality of encrypted data from the database, and checking data constituting an index value coupled to each of the plurality of encrypted data; 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 encrypted data, Identifying the encryption key used for encryption
The data encryption management apparatus comprising:
제7항에 있어서,
상기 키 저장부에는
상기 복수의 암호화키들 각각에 대해 상기 복수의 암호화키들의 유지를 위한 유효기한에 대한 정보가 추가로 대응되어 저장되어 있고,
상기 데이터 암호화 관리 장치의 동작 방법은
상기 복수의 암호화 데이터들에 대한 암호화키 일부 갱신 명령이 인가되면, 상기 데이터 암호화 관리 장치에 설정되어 있는 현재 시간에 대한 정보를 확인한 후 상기 키 저장부로부터 상기 복수의 암호화키들 중 상기 현재 시간이 속해있는 유효기한보다 과거의 유효기한에 대한 정보에 대응되어 저장되어 있는 적어도 하나의 제3 암호화키를 확인하는 단계;
상기 데이터베이스로부터 상기 복수의 암호화 데이터들을 추출한 후 상기 복수의 암호화 데이터들 각각에 대해 상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키를 식별하는 단계;
상기 복수의 암호화 데이터들 각각의 암호화에 사용된 암호화키의 식별이 완료되면, 상기 복수의 암호화 데이터들 중 상기 적어도 하나의 제3 암호화키로 암호화가 수행된 적어도 하나의 제3 암호화 데이터를 선택하는 단계;
상기 키 저장부로부터 상기 적어도 하나의 제3 암호화 데이터 각각의 암호화에 사용된 암호화키를 추출한 후 추출된 암호화키를 기초로 상기 적어도 하나의 제3 암호화 데이터를 복호화하여 적어도 하나의 제3 평문 데이터를 생성하는 단계; 및
상기 키 저장부로부터 상기 복수의 암호화키들 중 가장 최신의 유효 사용기간에 대한 정보에 대응되어 저장되어 있는 상기 제2 암호화키를 추출하는 단계; 및
상기 제2 암호화키를 기초로 상기 적어도 하나의 제3 평문 데이터 각각을 암호화한 후 상기 데이터베이스에 저장되어 있는 상기 적어도 하나의 제3 암호화 데이터를 상기 적어도 하나의 제3 평문 데이터가 상기 제2 암호화키로 암호화된 데이터들로 대체하는 단계
를 더 포함하는 데이터 암호화 관리 장치의 동작 방법.
8. The method of claim 7,
The key storage unit
Information about a validity period for holding the plurality of encryption keys is additionally stored corresponding to each of the plurality of encryption keys,
The operation method of the data encryption /
Wherein when a partial update of an encryption key for the plurality of pieces of encrypted data is applied, information on a current time set in the data encryption management device is checked and then the current time among the plurality of encryption keys belongs Identifying at least one third encryption key stored in association with information on a past expiration date that is earlier than the expiration date;
Extracting the plurality of encrypted data from the database and identifying an encryption key used for encryption of each of the plurality of encrypted data with respect to each of the plurality of encrypted data;
Selecting at least one third encrypted data that has been encrypted with the at least one third encryption key among the plurality of encrypted data when the identification of the encryption key used to encrypt each of the plurality of encrypted data is completed ;
Extracting an encryption key used for encrypting each of the at least one third encrypted data from the key storage unit, decrypting the at least one third encrypted data based on the extracted encryption key, ; And
Extracting, from the key storage unit, the second encryption key stored in association with information on the latest valid period of use of the plurality of encryption keys; And
Encrypting each of the at least one third plaintext data based on the second encryption key and encrypting the at least one third encrypted data stored in the database with the second encryption key Replacing with encrypted data
Further comprising the steps of:
제6항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the method according to any one of claims 6 to 10. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.11. A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through a combination with a computer.
KR1020160099699A 2016-08-04 2016-08-04 Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof KR101936272B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160099699A KR101936272B1 (en) 2016-08-04 2016-08-04 Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160099699A KR101936272B1 (en) 2016-08-04 2016-08-04 Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof

Publications (2)

Publication Number Publication Date
KR20180015986A true KR20180015986A (en) 2018-02-14
KR101936272B1 KR101936272B1 (en) 2019-01-08

Family

ID=61229717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160099699A KR101936272B1 (en) 2016-08-04 2016-08-04 Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof

Country Status (1)

Country Link
KR (1) KR101936272B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210045326A (en) * 2019-10-16 2021-04-26 주식회사 피어테크 Key management mechanism for cryptocurrency wallet
KR102613932B1 (en) * 2023-08-28 2023-12-15 한화시스템(주) Combat system communication security system and its method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188320A (en) * 1997-09-03 1999-03-30 Toyo Commun Equip Co Ltd Data ciphering circuit
JP2003244131A (en) * 2002-02-20 2003-08-29 Matsushita Electric Ind Co Ltd Key management device, key management method, key management program, and computer readable recording medium with key management program recorded
JP2004096583A (en) * 2002-09-03 2004-03-25 Toshiba Corp Communication method and communication terminal
KR20100072881A (en) * 2008-12-22 2010-07-01 서울대학교산학협력단 System and method for data encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188320A (en) * 1997-09-03 1999-03-30 Toyo Commun Equip Co Ltd Data ciphering circuit
JP2003244131A (en) * 2002-02-20 2003-08-29 Matsushita Electric Ind Co Ltd Key management device, key management method, key management program, and computer readable recording medium with key management program recorded
JP2004096583A (en) * 2002-09-03 2004-03-25 Toshiba Corp Communication method and communication terminal
KR20100072881A (en) * 2008-12-22 2010-07-01 서울대학교산학협력단 System and method for data encryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210045326A (en) * 2019-10-16 2021-04-26 주식회사 피어테크 Key management mechanism for cryptocurrency wallet
KR102613932B1 (en) * 2023-08-28 2023-12-15 한화시스템(주) Combat system communication security system and its method

Also Published As

Publication number Publication date
KR101936272B1 (en) 2019-01-08

Similar Documents

Publication Publication Date Title
US10986073B2 (en) Vaultless tokenization engine
US11877213B2 (en) Methods and systems for asset obfuscation
KR101780636B1 (en) Method for issuing certificate information and blockchain-based server using the same
Ma et al. Cdrep: Automatic repair of cryptographic misuses in android applications
WO2012166566A1 (en) Tokenizing sensitive data
KR20050100334A (en) Encoding backup method and decoding restore method
CN104579663B (en) For the method for the validity for limiting digital certificate
KR20210051077A (en) Methods and systems for managing identification based on blockchain
US20150067799A1 (en) Electronic password generating method, electronic password generating apparatus and electronic password authentication system
KR101936272B1 (en) Data encryption management apparatus for supporting life-cycle management of the encryption key and operating method thereof
CA2946572C (en) Token-based system for excising data from databases
US9246677B2 (en) Method and system for secure data communication between a user device and a server
JP6712707B2 (en) Server system and method for controlling a plurality of service systems
JP4445331B2 (en) Database apparatus, system and program
KR101042557B1 (en) Document Security System having an enhanced security and Operating Method Thereof
JP2001202436A (en) Electronic application system, document storage device, and computer-readable recording medium
KR101869067B1 (en) Data encryption storing apparatus for encryption key change and update through key positioning and operating method thereof
US20140089025A1 (en) Authenticating a response to a change request
KR101879839B1 (en) Database encryption apparatus for supporting life-cycle management of the encryption key for large database and operating method thereof
KR101451828B1 (en) Data encryption and decryption device and method
KR101936273B1 (en) Database encryption apparatus for encryption scheduling optimized for large database and operating method thereof
KR101691169B1 (en) Method for distributing encrypt key, card reader, authentification server and system for distributing encrypt key thereof
Yu et al. Bytecode Obfuscation for Smart Contracts
KR102417811B1 (en) Document translation service server which provides document translation services with personal information protection function and the operating method thereof
CN108183789B (en) Electronic code generation and authentication method

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