KR101375807B1 - Data management device - Google Patents

Data management device Download PDF

Info

Publication number
KR101375807B1
KR101375807B1 KR1020130053309A KR20130053309A KR101375807B1 KR 101375807 B1 KR101375807 B1 KR 101375807B1 KR 1020130053309 A KR1020130053309 A KR 1020130053309A KR 20130053309 A KR20130053309 A KR 20130053309A KR 101375807 B1 KR101375807 B1 KR 101375807B1
Authority
KR
South Korea
Prior art keywords
data
agent unit
infant
database
server
Prior art date
Application number
KR1020130053309A
Other languages
Korean (ko)
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 KR1020130053309A priority Critical patent/KR101375807B1/en
Application granted granted Critical
Publication of KR101375807B1 publication Critical patent/KR101375807B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

A data management device of the present invention is installed in a database in which original data is inputted and includes an agent unit for encrypting the original data. The agent unit can store the encrypted data, which is the original data encrypted, into the database.

Description

데이터 관리 장치{DATA MANAGEMENT DEVICE}DATA MANAGEMENT DEVICE}

본 발명은 데이터를 암호화 또는 복호화하거나 유아이디(UID, Unique IDentifier)로 전환하는 데이터 관리 장치에 관한 것이다.
The present invention relates to a data management device for encrypting or decrypting data or converting the data into a unique identifier (UID).

데이터베이스(database)는 동시에 복수의 적용 업무를 지원할 수 있도록 복수 이용자의 요구에 호응해서 데이터를 받아들이고 저장, 공급하기 위해 일정한 구조에 따라서 편성된 데이터의 집합이다.A database is a set of data organized according to a certain structure to receive, store, and supply data in response to the needs of multiple users so as to support multiple application tasks at the same time.

각종 데이터의 교환이 활발해지는 추세에 따라 데이터베이스에 입출력되는 데이터의 처리 속도와 함께 데이터의 보안에 대한 중요성이 부각되고 있다.As the exchange of various data becomes more active, the importance of data security as well as the processing speed of data input / output to the database is increasing.

한국공개특허공보 제2001-0052853호에는 순환 콘텐츠를 보호하기 위한 데이터 관리 프로그램이 개시되고 있으나, 데이터의 보안을 만족하는 동시에 데이터의 처리 속도를 향상시키는 방안은 개시되지 않고 있다.
Korean Patent Laid-Open Publication No. 2001-0052853 discloses a data management program for protecting cyclic content, but does not disclose a method of improving data processing speed while satisfying data security.

한국공개특허공보 제2001-0052853호Korean Laid-Open Patent Publication No. 2001-0052853

본 발명은 데이터를 신속하게 암호화, 복호화, 유아이디화할 수 있는 데이터 관리 장치를 제공하기 위한 것이다.An object of the present invention is to provide a data management apparatus capable of quickly encrypting, decrypting, and infantizing data.

본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not intended to limit the invention to the precise forms disclosed. Other objects, which will be apparent to those skilled in the art, It will be possible.

본 발명의 데이터 관리 장치는 원문 데이터가 입력되는 데이터베이스에 설치되는 것으로 상기 원문 데이터를 암호화하는 에이전트 유니트를 포함하고, 상기 에이전트 유니트는 상기 원문 데이터가 암호화된 암호화 데이터를 상기 데이터베이스에 저장할 수 있다.The data management apparatus of the present invention is installed in a database into which original text data is input, and includes an agent unit for encrypting the original text data. The agent unit may store encrypted data encrypted with the original text data in the database.

본 발명의 데이터 관리 장치는 데이터를 암호화하거나 복호화하는 에이전트 유니트 및 상기 에이전트 유니트를 관리하는 유아이디 서버를 포함하고, 상기 암호화 또는 상기 복호화에 필요한 암호화 키는 상기 유아이디 서버로부터 상기 에이전트 유니트로 전송되며, 상기 에이전트 유니트는 상기 암호화 또는 상기 복호화의 완료 후에 상기 암호화 키를 소거할 수 있다.The data management apparatus of the present invention includes an agent unit for encrypting or decrypting data and an infant ID server managing the agent unit, and an encryption key required for the encryption or decryption is transmitted from the infant ID server to the agent unit. An agent unit may erase the encryption key after completion of the encryption or decryption.

본 발명의 데이터 관리 장치는 마스터 키가 마련된 유아이디 서버 및 서브 키가 마련된 에이전트 유니트를 포함하고, 상기 에이전트 유니트는 상기 유아이디 서버로부터 전송된 상기 마스터 키와 상기 서브 키가 조합된 암호화 키를 이용하여 암호화 데이터 또는 상기 암호화 데이터가 복호화된 원문 데이터를 생성할 수 있다.The data management apparatus of the present invention includes an infant ID server provided with a master key and an agent unit provided with a sub key, wherein the agent unit is encrypted using an encryption key in which the master key and the sub key are transmitted from the infant ID server. Data or original text data obtained by decrypting the encrypted data may be generated.

본 발명의 데이터 관리 장치는 원문 데이터를 암호화하는 복수의 에이전트 유니트 및 상기 복수의 에이전트 유니트를 관리하는 유아이디 서버를 포함하고, 상기 유아이디 서버는 상기 각 에이전트 유니트에 에이전트 코드를 부여할 수 있다.The data management apparatus of the present invention includes a plurality of agent units for encrypting original text data and a child ID server managing the plurality of agent units, and the child ID server may assign an agent code to each agent unit.

본 발명의 데이터 관리 장치는 원문 데이터를 암호화하는 복수의 에이전트 유니트 및 상기 복수의 에이전트 유니트를 관리하는 유아이디 서버를 포함하고, 상기 각 에이전트 유니트는 서로 독립적으로 구동될 수 있다.The data management apparatus of the present invention includes a plurality of agent units for encrypting original text data and a child ID server for managing the plurality of agent units, and each agent unit may be driven independently of each other.

본 발명의 데이터 관리 장치는 원문 데이터의 보안 필드를 유아이디화하는 에이전트 유니트를 포함하고, 상기 유아이디화는 상기 보안 필드를 유아이디값으로 대체하는 것이고, 상기 에이전트 유니트는 상기 원문 데이터의 입력 전에 상기 유아이디값을 생성할 수 있다.The data management apparatus of the present invention includes an agent unit for kididizing a secure field of original text data, wherein the kididization replaces the secure field with a kidid value, and the agent unit is configured to input the kidid value before inputting the original data. Can be generated.

본 발명의 데이터 관리 장치는 보안 필드와 일반 필드로 구성된 원문 데이터를 유아이디화하는 에이전트 유니트를 포함하고, 상기 에이전트 유니트는 상기 보안 필드를 유아이디값으로 대체하고 상기 일반 필드를 혼합한 유아이디 데이터를 생성할 수 있다.An apparatus for managing data of the present invention includes an agent unit for formatting an original text data consisting of a security field and a general field, and the agent unit is configured to generate the child ID data in which the security field is replaced with an infant ID value and the general field is mixed. Can be.

본 발명의 데이터 관리 장치는 원문 데이터를 해쉬(Hash) 처리하고, 상기 해쉬 처리된 해쉬 데이터를 저장하는 에이전트 유니트를 포함하고, 상기 에이전트 유니트는 상기 원문 데이터의 입력시 상기 원문 데이터의 해쉬 데이터를 생성하고, 기저장된 해쉬 데이터와 비교함으로써 상기 원문 데이터의 유일성을 검사할 수 있다.The data management apparatus of the present invention includes an agent unit for hashing original text data and storing the hashed hash data, wherein the agent unit generates hash data of the original data when the original data is input. The uniqueness of the original data can be checked by comparing with the previously stored hash data.

본 발명의 데이터 관리 장치는 단말 노드와 데이터베이스의 사이에 위치하는 유아이디 서버 및 상기 데이터베이스에 위치하고, 상기 유아이디 서버의 마스터 키를 이용하여 상기 단말 노드로부터 입력된 원문 데이터를 암호화하는 에이전트 유니트를 포함할 수 있다.
The data management apparatus of the present invention may include an infant server located between a terminal node and a database, and an agent unit located in the database and encrypting original text data input from the terminal node using a master key of the infant server. have.

본 발명의 데이터 관리 장치에 따르면 데이터의 암호화, 복호화, 유아이디화를 신속하게 수행할 수 있다.
According to the data management apparatus of the present invention, it is possible to perform encryption, decryption, and child IDization of data quickly.

도 1은 본 발명의 데이터 관리 장치를 나타낸 블럭도이다.
도 2는 본 발명의 데이터 관리 장치를 구성하는 에이전트 유니트를 나타낸 블럭도이다.
도 3은 본 발명의 데이터 관리 장치에서 이용되는 에이전트 코드와 테이블 네임을 나타낸 개략도이다.
도 4는 본 발명의 데이터 관리 장치에서 생성된 유아이디값을 나타낸 개략도이다.
도 5는 본 발명의 데이터 관리 장치에서 데이터베이스에 저장되는 데이터를 나타낸 개략도이다.
도 6은 본 발명의 데이터 관리 장치의 데이터 흐름을 나타낸 개략도이다.
도 7은 에이전트 유니트와 유아이디 서버의 위치를 변경한 경우의 데이터 흐름을 나타낸 개략도이다.
1 is a block diagram showing a data management apparatus of the present invention.
2 is a block diagram showing an agent unit constituting the data management device of the present invention.
3 is a schematic diagram showing an agent code and a table name used in the data management apparatus of the present invention.
4 is a schematic diagram showing an infant ID value generated by the data management device of the present invention.
5 is a schematic diagram showing data stored in a database in the data management apparatus of the present invention.
6 is a schematic diagram showing a data flow of the data management apparatus of the present invention.
7 is a schematic diagram showing the data flow when the positions of the agent unit and the ID server are changed.

이하, 첨부된 도면들을 참조하여 본 발명에 따른 실시예를 상세히 설명한다. 이 과정에서 도면에 도시된 구성요소의 크기나 형상 등은 설명의 명료성과 편의상 과장되게 도시될 수 있다. 또한, 본 발명의 구성 및 작용을 고려하여 특별히 정의된 용어들은 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The sizes and shapes of the components shown in the drawings may be exaggerated for clarity and convenience. In addition, terms defined in consideration of the configuration and operation of the present invention may be changed according to the intention or custom of the user, the operator. Definitions of these terms should be based on the content of this specification.

도 1은 본 발명의 데이터 관리 장치를 나타낸 블럭도이고, 도 2는 본 발명의 데이터 관리 장치를 구성하는 에이전트 유니트(100)를 나타낸 블럭도이다.FIG. 1 is a block diagram showing a data management apparatus of the present invention, and FIG. 2 is a block diagram showing an agent unit 100 constituting the data management apparatus of the present invention.

도 1에 도시된 데이터 관리 장치는 에이전트 유니트(100)를 포함할 수 있다.The data management apparatus shown in FIG. 1 may include an agent unit 100.

에이전트 유니트(100)는 원문 데이터가 입력되는 데이터베이스(300)에 설치되는 것으로 원문 데이터를 암호화할 수 있다. 이를 위해 에이전트 유니트(100)에는 원문 데이터 ⓞ를 암호화 데이터 ⓔ로 마이그레이션(migration)시키는 암호화부(110)가 포함될 수 있다.The agent unit 100 may be installed in the database 300 into which the original text data is input and may encrypt the original text data. To this end, the agent unit 100 may include an encryption unit 110 for migrating the original data ⓞ to the encrypted data ⓔ.

암호화부(110)는 원문 데이터 ⓞ에 각종 암호화 알고리즘을 적용시킴으로써 암호화 데이터 ⓔ를 생성할 수 있다. 암호화 알고리즘은 일예로 DES, AES-128, AES-256, SEED-128, ARIA-128 등일 수 있으며, 암호화부(110)는 암호화 정책에 따라 선택된 암호화 알고리즘을 이용할 수 있다.The encryption unit 110 may generate encrypted data ⓔ by applying various encryption algorithms to the original data ⓞ. The encryption algorithm may be, for example, DES, AES-128, AES-256, SEED-128, ARIA-128, or the like, and the encryption unit 110 may use an encryption algorithm selected according to an encryption policy.

암호화부(110)는 원문 데이터 ⓞ가 암호화된 암호화 데이터 ⓔ를 데이터베이스(300)에 저장할 수 있다.The encryption unit 110 may store the encrypted data ⓔ in which the original text data ⓞ is encrypted in the database 300.

에이전트 유니트(100)는 원문 데이터 ⓞ를 유아이디화하고, 원문 데이터 ⓞ가 유아이디화된 유아이디 데이터 ⓣ를 암호화 데이터 ⓔ에 맵핑시켜 데이터베이스(300)에 저장할 수 있다. 이를 위해 에이전트 유니트(100)는 유아이디화부(150)를 포함할 수 있다.The agent unit 100 may infantize the original text data ⓞ, and map the original text data ⓞ to the encrypted data ⓔ and store it in the database 300. For this purpose, the agent unit 100 may include an infant ID unit 150.

한편, 에이전트 유니트(100)는 원문 데이터 ⓞ의 암호화 이후에 원문 데이터 ⓞ를 소거할 수 있다. 이에 따르면 데이터베이스(300)에는 암호화 데이터 ⓔ, 유아이디 데이터만 저장되고, 원문 데이터 ⓞ가 저장되지 않으므로 보안 강화에 유리하다.On the other hand, the agent unit 100 may erase the original data ⓞ after encryption of the original data ⓞ. According to this, only encrypted data ⓔ and infant ID data are stored in the database 300, and original text data ⓞ is not stored, which is advantageous for enhanced security.

또한, 암호화, 유아이디화를 수행하는 에이전트 유니트(100)가 데이터베이스(300)에 설치되므로 데이터베이스(300)와의 통신 속도를 극대화시킬 수 있다. 이에 따르면 데이터베이스(300)와의 데이터 송수신에 소모되는 시간을 줄임으로써 암호화, 유아이디화를 신속하게 수행할 수 있다.In addition, since the agent unit 100 that performs encryption and child IDization is installed in the database 300, communication speed with the database 300 can be maximized. According to this, by reducing the time spent transmitting and receiving data with the database 300, it is possible to quickly perform encryption and child IDization.

에이전트 유니트(100)에는 데이터베이스(300)에 저장된 암호화 데이터 ⓔ를 복호화시켜 원문 데이터 ⓞ를 복구하는 복호화부(130)가 마련될 수 있다. 이때 암호화 데이터 ⓔ의 복호화에는 암호화 키가 필요하다. 이때의 암호화 키는 암호화부(110)에 의한 원문 데이터 ⓞ의 암호화에도 그대로 적용될 수 있다.The agent unit 100 may be provided with a decryption unit 130 to recover the original data ⓞ by decrypting the encrypted data ⓔ stored in the database 300. At this time, the encryption key is required to decrypt the encrypted data ⓔ. In this case, the encryption key may be applied to the encryption of the original data ⓞ by the encryption unit 110 as it is.

데이터베이스(300)가 해킹되더라도 원문 데이터 ⓞ가 아닌 암호화 데이터 ⓔ가 유출되므로 원문 데이터 ⓞ의 보호가 가능하다. 그러나, 데이터베이스(300)의 해킹시 암호화 키가 함께 유출된다면 암호화 데이터 ⓔ의 복호화가 가능하므로 이에 대한 보안 대책이 요구된다. 에이전트 유니트(100)에 암호화키를 보관한다 하더라도 데이터베이스(300)에 설치되는 에이전트 유니트(100)의 특성상 데이터베이스(300)에 대한 해킹시 에이전트 유니트(100)도 해킹될 염려를 배제하기 힘들다. 따라서, 암호화 키에 대한 신뢰성 있는 보안 대책이 요구된다.Even if the database 300 is hacked, since the encrypted data ⓔ is leaked instead of the original data ⓞ, the original data ⓞ can be protected. However, if the encryption key is leaked together during the hacking of the database 300, it is possible to decrypt the encrypted data ⓔ, so security measures are required. Even if the encryption key is stored in the agent unit 100, it is difficult to exclude the fear that the agent unit 100 will also be hacked when hacking the database 300 due to the characteristics of the agent unit 100 installed in the database 300. Therefore, reliable security measures for encryption keys are required.

이러한 대책의 일환으로 본 발명의 데이터 관리 장치는 에이전트 유니트(100)를 관리하는 유아이디(UID, Unique IDentifier) 서버(200)를 포함할 수 있다.As part of such countermeasures, the data management apparatus of the present invention may include a unique IDentifier (UID) server 200 managing the agent unit 100.

유아이디 서버(200)는 암호화 또는 복호화에 필요한 암호화 키를 보관할 수 있다. 따라서, 암호화, 복호화 작업시 에이전트 유니트(100)는 유아이디 서버(200)로부터 암호화 키를 전송받아 이용할 수 있다.The infant server 200 may store an encryption key necessary for encryption or decryption. Therefore, during the encryption and decryption operation, the agent unit 100 may receive and use an encryption key from the baby server 200.

유아이디 서버(200)로부터 전송된 암호화 키가 에이전트 유니트(100) 또는 데이터베이스(300)에 저장된다면 앞에서 살펴본 문제가 그대로 도출될 수 있으므로, 에이전트 유니트(100)는 암호화 또는 복호화의 완료 후에 암호화 키를 소거할 수 있다.If the encryption key transmitted from the baby server 200 is stored in the agent unit 100 or the database 300, the above-described problem may be derived as it is, so that the agent unit 100 erases the encryption key after completion of encryption or decryption. can do.

이상의 실시예에 따르면 암호화 및 복호화를 수행하는 주체, 암호화 및 복호화에 필요한 암호화 키를 보관하는 주체가 분리되므로 원문 데이터 ⓞ를 신뢰성 있게 보호할 수 있다.According to the above embodiment, since the subject performing encryption and decryption and the subject storing the encryption key necessary for encryption and decryption are separated, the original data ⓞ can be reliably protected.

암호화 키의 보호를 위해 암호화 키는 유아이디 서버(200)와 에이전트 유니트(100)에 분리되어 보관될 수 있다.In order to protect the encryption key, the encryption key may be stored separately in the server ID 200 and the agent unit 100.

예를 들어 암호화 키는 마스터 키와 서브 키가 조합된 것일 수 있다. 이때, 마스터 키는 유아이디 서버(200)에 보관되고, 서브 키는 에이전트 유니트(100)에 보관될 수 있다. 만약, 하나의 유아이디 서버(200) ⓢ에서 n개(n은 자연수이다)의 에이전트 유니트(100)를 관리하는 경우 유아이디 서버(200) ⓢ에 마련된 하나의 마스터 키와 각 에이전트 유니트(100)에 마련된 n개의 서브 키가 존재할 수 있다. 이때, 각 에이전트 유니트(100)별로 할당된 서브 키는 서로 다를 수 있다. 참고로, 에이전트 유니트(100)는 데이터베이스(300)에 설치되므로, 데이터베이스(300)는 에이전트 유니트(100)의 개수와 동일한 n개가 마련될 수 있다. 또한, 각 에이전트 유니트(100)의 서브 키는 유아이디 서버(200)에 의해 생성되고 각 에이전트 유니트(100)로 할당될 수 있다.For example, the encryption key may be a combination of a master key and a sub key. In this case, the master key may be stored in the baby server 200 and the sub key may be stored in the agent unit 100. When managing n agent units 100 in one child server server ⓢ, n is a natural number, one master key provided in the child server server ⓢ and each agent unit 100 are provided. There may be n subkeys. In this case, the subkeys allocated to each agent unit 100 may be different. For reference, since the agent units 100 are installed in the database 300, n databases may be provided, which is equal to the number of agent units 100. In addition, a sub key of each agent unit 100 may be generated by the baby server 200 and assigned to each agent unit 100.

제1 에이전트 유니트 ①의 서브 키가 제1 서브 키, 제2 에이전트 유니트 ②의 서브 키가 제2 서브 키,...제n 에이전트 유니트 ⓝ의 서브 키가 제n 서브 키일 때, 각 에이전트 유니트(100)의 암호화 키는 다음과 같을 수 있다.When the subkey of the first agent unit ① is the first subkey, the subkey of the second agent unit ② is the second subkey, and the subkey of the nth agent unit ⓝ is the nth subkey, each agent unit ( The encryption key of 100) may be as follows.

제1 에이전트 유니트 ①의 암호화 키 = 마스터 키 + 제1 서브 키Encryption key of the first agent unit ① = master key + first sub key

제2 에이전트 유니트 ②의 암호화 키 = 마스터 키 + 제2 서브 키Encryption key of the second agent unit ② = master key + second sub key

......

제n 에이전트 유니트 ⓝ의 암호화 키 = 마스터 키 + 제n 서브 키Encryption key of control agent unit ⓝ = master key + control subkey

이에 따르면 제n 에이전트 유니트는 마스터 키와 제n 서브 키가 조합된 암호화 키를 이용하여 암호화 데이터 ⓔ를 생성하거나, 암호화 데이터 ⓔ가 복호화된 원문 데이터 ⓞ를 생성할 수 있다.Accordingly, the n-th agent unit may generate the encrypted data ⓔ using the encryption key in which the master key and the n-th subkey are combined, or generate the original text data ⓞ from which the encrypted data ⓔ is decrypted.

이상과 같이 하나의 암호화 키를 분리시켜 유아이디 서버(200)와 에이전트 유니트(100)에 나누어 보관함으로써 해킹의 위협으로부터 암호화 키를 보호할 수 있다. 다만, 암호화 또는 복호화시 유아이디 서버(200)로부터 에이전트 유니트(100)로 마스터 키가 전송되므로, 일시적으로 에이전트 유니트(100)에 마스터 키와 서브 키가 모두 존재하는 문제가 있을 수 있다. 이 상태에서 해킹의 위협을 최소화시키기 위해 에이전트 유니트(100)는 서브 키가 저장된 제1 저장부와 다른 제2 저장부에 유아이디 서버(200)로부터 전송된 마스터 키를 임시 저장할 수 있다. 이렇게 제2 저장부에 임시 저장된 마스터 키는 암호화 데이터 ⓔ 또는 원문 데이터 ⓞ의 생성 후 소거될 수 있다.As described above, the encryption key can be protected from the threat of hacking by separating and storing the encryption key in the infant server 200 and the agent unit 100. However, since the master key is transmitted from the ID server 200 to the agent unit 100 during encryption or decryption, there may be a problem that both the master key and the sub key exist temporarily in the agent unit 100. In this state, in order to minimize the threat of hacking, the agent unit 100 may temporarily store the master key transmitted from the ID server 200 in a second storage unit different from the first storage unit in which the sub key is stored. Thus, the master key temporarily stored in the second storage unit may be erased after generation of the encrypted data ⓔ or the original data ⓞ.

에이전트 유니트(100)가 해킹 대상이 되더라도 서로 다른 저장부인 제1 저장부와 제2 저장부를 동시에 해킹하는 것은 어렵다. 따라서, 서브 키와 별도로 마스터 키를 임시 저장하는 에이전트 유니트(100)에 따르면 마스터 키의 유출 위험을 최소화시킬 수 있다.Even if the agent unit 100 becomes a hacking target, it is difficult to simultaneously hack the first storage unit and the second storage unit which are different storage units. Therefore, according to the agent unit 100 that temporarily stores the master key separately from the sub key, the risk of leakage of the master key can be minimized.

원문 데이터 ⓞ를 암호화하는 에이전트 유니트(100)가 복수로 마련될 때, 유아이디 서버(200)는 복수의 에이전트 유니트(100)를 관리할 수 있다. 이때, 유아이디 서버(200)는 각 에이전트 유니트(100)에 에이전트 코드를 부여할 수 있다.When a plurality of agent units 100 for encrypting the original text data ⓞ are provided, the infant server 200 may manage the plurality of agent units 100. In this case, the baby server 200 may assign an agent code to each agent unit 100.

에이전트 유니트(100)가 서로 구분되는 복수의 데이터베이스(300)에 각각 설치될 때, 에이전트 코드는 각 에이전트 유니트(100)를 구분하는 식별자로 기능할 수 있다. 에이전트 코드는 일예로 앞에서 살펴본 ①, ②,..., ⓝ일 수 있다. 에이전트 유니트(100)는 각 데이터베이스(300)에 설치되므로 에이전트 코드는 데이터베이스(300)를 서로 구분하는 용도로 사용되어도 무방하다.When the agent unit 100 is installed in each of the plurality of databases 300 separated from each other, the agent code may function as an identifier for distinguishing each agent unit 100. Agent code may be, for example, ①, ②, ..., ⓝ. Since the agent unit 100 is installed in each database 300, the agent code may be used to distinguish the databases 300 from each other.

각 데이터베이스(300)에는 원문 데이터 ⓞ가 암호화된 암호화 데이터 ⓔ 및 에이전트 코드가 함께 저장될 수 있다.Each database 300 may store the encrypted data ⓔ and the agent code encrypted with the original data ⓞ.

하나의 데이터베이스(300)는 서로 다른 용도, 기능별로 구분된 복수의 테이블을 포함할 수 있다. 이때, 유아이디 서버(200)는 각 데이터베이스(300) 내의 저장 공간을 구분하는 테이블 네임(table name)을 추가로 부여할 수 있다.One database 300 may include a plurality of tables classified according to different uses and functions. In this case, the baby server 200 may additionally assign a table name for identifying a storage space in each database 300.

도 3은 본 발명의 데이터 관리 장치에서 이용되는 에이전트 코드와 테이블 네임을 나타낸 개략도이다.3 is a schematic diagram showing an agent code and a table name used in the data management apparatus of the present invention.

살펴보면 에이전트 유니트(100)에 에이전트 코드 ②가 부여되고 있다. 또한, 에이전트 유니트(100)가 설치된 데이터베이스(300)에 m개(m은 자연수이다)의 테이블이 포함되며, 이에 따라 a, b,..., m의 테이블 네임이 부여되고 있다.Looking at it, the agent code ② is assigned to the agent unit 100. In addition, m tables (m is a natural number) are included in the database 300 in which the agent unit 100 is installed, and thus, table names a, b, ..., m are assigned.

만약 테이블 b에 암호화 데이터 ⓔ가 저장된다면 해당 테이블에는 에이전트 코드 ②, 테이블 네임 b, 암호화 데이터 ⓔ가 맵핑되어 저장될 수 있다.If the encrypted data ⓔ is stored in the table b, the agent code ②, the table name b, and the encrypted data ⓔ may be mapped and stored in the table.

본 발명의 에이전트 유니트(100)는 서로 구분되는 데이터베이스(300)별로 마련된다. 따라서, 각 에이전트 유니트(100)를 식별할 수 있어야 하며 이를 위해 에이전트 코드가 이용될 수 있다.The agent unit 100 of the present invention is provided for each database 300 that is separated from each other. Therefore, each agent unit 100 should be able to be identified and an agent code may be used for this purpose.

각 에이전트 유니트(100)는 서로 독립적으로 구동될 수 있다. 이에 따르면 동일한 정보가 서로 다른 데이터베이스(300)로 입력되는 경우 각 에이전트는 해당 정보에 대한 암호화 데이터를 각각 생성한다.Each agent unit 100 may be driven independently of each other. According to this, when the same information is input to different databases 300, each agent generates encrypted data for the corresponding information.

만약 각 에이전트 유니트(100)가 연동된다면 동일한 정보에 대한 암호화 데이터는 어느 하나의 에이전트 유니트(100)에서만 처리되고 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에 저장될 것이다. 그러나 이에 따르면 복수의 데이터베이스(300)에서 동일한 정보를 저장하고자 하는 요구를 만족시킬 수 없다. 본 실시예에 따르면 각 에이전트가 독립적으로 구동되므로 복수의 데이터베이스(300)에 동일한 원문 데이터에 대응되는 암호화 데이터가 저장될 수 있다.If each agent unit 100 is interlocked, the encrypted data for the same information will be processed in only one agent unit 100 and stored in the database 300 in which the agent unit 100 is installed. However, according to this, the request to store the same information in the plurality of databases 300 may not be satisfied. According to the present embodiment, since each agent is independently driven, encrypted data corresponding to the same original text data may be stored in the plurality of databases 300.

도 5를 참조하면 동일한 원문 데이터 '701212-1234567'에 대해 에이전트 코드 '001'을 갖는 에이전트 유니트(100)는 원문 데이터를 암호화시켜 암호화 데이터 'asdfaqqqw3098kskj'를 생성한다. 이렇게 생성된 암호화 데이터는 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에서 테이블 네임 A를 갖는 테이블에 저장된다.Referring to FIG. 5, the agent unit 100 having the agent code '001' for the same original data '701212-1234567' encrypts the original text to generate encrypted data 'asdfaqqqw3098kskj'. The generated encrypted data is stored in a table having a table name A in the database 300 in which the agent unit 100 is installed.

또한, 에이전트 코드 '002'를 갖는 에이전트 유니트(100)는 해당 원문 데이터를 암호화시켜 암호화 데이터 'asfjlsfjalfjlljfljalrtyep'를 생성한다. 이렇게 생성된 암호화 데이터는 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에서 테이블 네임 B가 할당된 테이블에 저장된다.In addition, the agent unit 100 having the agent code '002' encrypts the original text data to generate encrypted data 'asfjlsfjalfjlljfljalrtyep'. The generated encrypted data is stored in a table to which the table name B is assigned in the database 300 in which the agent unit 100 is installed.

참고로, 테이블 네임은 유아이디 서버(200)가 관리하는 모든 데이터베이스(300)에 대해 다른 코드가 부여될 수 있다. 이에 따르면 테이블 네임이 알파벳으로 부여될 경우 모든 데이터베이스(300)의 테이블에는 테이블 네임으로 서로 중복되지 않은 알파벳이 부여될 수 있다. 이 경우가 도 5에 개시된다.For reference, the table name may be given a different code for every database 300 managed by the server ID 200. According to this, when the table name is given in alphabet, all tables of the database 300 may be given alphabets which are not duplicated as table names. This case is disclosed in FIG. 5.

또는 테이블 네임은 에이전트 코드로 구분되는 동일한 코드가 부여될 수 있다. 예를 들어 에이전트 코드가 001, 002이 존재하고, 에이전트 코드 001의 에이전트 유니트(100)가 설치된 데이터베이스(300)에 1개의 테이블이 마련되며, 에이전트 코드 002의 에이전트 유니트(100)가 설치된 데이터베이스(300)에 3개의 테이블이 마련된 경우를 가정한다. 이때, 에이전트 코드 001의 에이전트 유니트(100)가 설치된 데이터베이스(300)의 테이블에 알파벳 A가 테이블 네임으로 부여되고, 에이전트 코드 002의 에이전트 유니트(100)가 설치된 데이터베이스(300)의 각 테이블에 A, B, C가 부여될 수 있다. 2개의 데이터베이스(300)에 대해 테이블 네임 A가 중복되나, 에이전트 코드가 결부되어 001-A, 002-A와 같이 구분이 가능하므로 별다른 무리는 없다.Alternatively, the table name may be given the same code that is divided into agent codes. For example, one table is provided in the database 300 in which the agent codes 001 and 002 exist and the agent unit 100 of the agent code 001 is installed, and the database 300 in which the agent unit 100 of the agent code 002 is installed. Assume that 3 tables are provided in the). In this case, the letter A is assigned to the table of the database 300 in which the agent unit 100 of the agent code 001 is installed as a table name, and A, in each table of the database 300 in which the agent unit 100 of the agent code 002 is installed. B and C may be given. Table name A is duplicated for the two databases 300, but since the agent code is attached and distinguished such as 001-A and 002-A, there is no difference.

유아이디 서버(200)에 접속한 사용자는 유아이디 데이터를 이용하여 검색을 수행할 수 있다. 따라서, 유아이디 데이터가 동일하다면 혼동이 유발될 수 있다. 이를 방지하기 위해 유아이디 데이터는 유일한 것이 좋다. 유아이디 데이터는 원문 데이터의 보안 필드가 유아이디값으로 대체된 것이므로 유아이디값을 유일하게 형성함으로써 유아이디 데이터의 유일화를 도모할 수 있다. 그런데 독립 구동되는 에이전트 유니트(100)에 의하면 각 에이전트 유니트(100)별로 동일한 유아이디값을 생성하고 원문 데이터의 보안 필드를 동일한 유아이디값으로 대체할 수 있다. 이를 방지하기 위해 유아이디 서버(200)는 유아이디값이 유일하도록 관리할 수 있다.A user accessing the infant ID server 200 may perform a search using the infant ID data. Thus, confusion may arise if the baby ID data are identical. To avoid this, baby ID data should be unique. Since the security field of the original data is replaced with the infant ID value, the infant ID data can be uniquely formed by forming the infant ID value uniquely. However, according to the independent agent unit 100, the same infant ID value may be generated for each agent unit 100, and the security field of the original text data may be replaced with the same infant ID value. In order to prevent this, the baby ID server 200 may manage the baby ID to be unique.

예를 들어 유아이디 서버(200)는 유아이디값을 생성한 후 자신이 관할하는 모든 에이전트 유니트(100)에 유아이디값이 중복되지 않도록 분배할 수 있다. 또는 유아이디 서버(200)는 각 에이전트 유니트(100)에서 생성된 유아이디값을 에이전트 유니트(100)로부터 보고받고 중복된 유아이디값을 체크하며, 중복된 유아이디값을 삭제하도록 에이전트 유니트(100)에 지시할 수 있다.For example, after generating the baby ID value, the baby ID server 200 may distribute the baby ID value to all the agent units 100 having jurisdiction so that the baby ID value does not overlap. Alternatively, the infant ID server 200 may report the infant ID value generated by each agent unit 100 from the agent unit 100, check the duplicate infant ID value, and instruct the agent unit 100 to delete the duplicate infant ID value. Can be.

유아이디값은 영어 대문자, 영어 소문자, 숫자를 랜덤하게 혼합시켜 생성될 수 있다. 유아이디값에는 영어 문자를 1개 이상 포함하는 등의 제약 조건이 부여될 수 있다.The infant ID value may be generated by randomly mixing English uppercase letters, lowercase English letters, and numbers. Infant ID values may be subject to constraints including one or more English characters.

원문 데이터는 제3 자에게 노출되어도 무방한 일반 필드와 노출이 방지될 필요가 있는 보안 필드로 구성될 수 있다. 일예로, 원문 데이터가 '701212-1234567'인 경우 '701212-1'가 일반 필드이고 일반 필드가 제외된 '234567'이 보안 필드일 수 있다. '701212'가 생년월일을 나타내고 '-' 이후의 '1'이 성별을 나타낸다면 해당 일반 필드만으로는 개인을 특정하기 힘들다. 따라서, 보안 필드인 '234567'만 보호하면 원문 데이터의 보호에 충분할 수 있다. '234567'를 보호하기 위해 '234567'을 유아이디값으로 대체할 수 있다.The text data may be composed of a general field which may be exposed to a third party and a security field that needs to be prevented from being exposed. For example, when the original data is '701212-1234567', '701212-1' is a general field and '234567' without the general field may be a security field. If '701212' indicates date of birth and '1' after '-' indicates gender, it is difficult to identify an individual by the general field alone. Therefore, protecting only the secure field '234567' may be sufficient to protect the original data. In order to protect '234567', '234567' can be replaced with an infant ID value.

유아이디화부(150)에 의한 유아이디화는 다양한 방식으로 이루어질 수 있다. 예를 들어 유아이디값은 보안 필드와 동일한 자리수로 구성될 수 있다. 도 4에서는 '234567'과 동일한 자리수를 갖는 유아이디값 'aB3Def'을 이용하여 보안 필드를 대체하고 있다.Infant IDization by the infant IDization unit 150 may be performed in various ways. For example, the infant ID value may be configured with the same number of digits as the security field. In FIG. 4, the security field is replaced by using the infant ID value 'aB3Def' having the same digit as '234567'.

유아이디 데이터는 암호화 데이터와 함께 데이터베이스(300)에 저장되며 암호화 데이터에 대한 검색시 색인 용도로 사용될 수 있다. 유아이디값이 유일하다면 유아이디값만으로 암호화 데이터를 구성할 수 있다.The infant data is stored in the database 300 together with the encrypted data and may be used for indexing when searching for the encrypted data. If the infant ID value is unique, the encrypted data may be configured using only the infant ID value.

그러나, 유아이디값만으로 암호화 데이터가 구성된다면 데이터베이스(300)에 일반 필드가 저장되지 않으므로 일반 필드를 이용한 데이터의 통계 산출 등이 불가하다. 또한, 특정 유아이디값의 검색시 일반 필드를 소팅(sorting)시킨 후 소팅된 범위 내에서만 유아이디값을 검색하는 등의 작업이 불가능하므로 모든 유아이디값을 검색할 필요가 있다. 이에 따라 유아이디값 검색에 많은 시간이 소요되는 문제가 있다. 이러한 문제는 유아이디 서버(200)에서 모든 데이터베이스(300)의 데이터를 검색하고자 할 때 두드러지게 나타날 수 있다.However, if the encrypted data is composed only of the child ID value, since the general field is not stored in the database 300, statistical calculation of data using the general field is not possible. In addition, when searching for a specific child ID value, since it is impossible to sort the general field and search the child ID value only within the sorted range, it is necessary to search all the child ID values. Accordingly, there is a problem that takes a long time to search the infant ID value. This problem may be prominent when the child server 200 attempts to retrieve data of all databases 300.

본 발명의 데이터 관리 장치에 따르면 에이전트 유니트(100)는 유아이디 필드와 일반 필드로 구성된 유아이디 데이터를 생성할 수 있다. 이에 따르면 데이터베이스(300)에 일반 필드도 저장되므로 저장 필드를 이용하여 각종 통계 작업을 수행하고, 특정 유아이디값의 검색을 신속하게 수행할 수 있다. 아울러 이러한 검색 환경은 사용자의 인지가 어려운 유아이디값만으로 검색을 수행하는 환경과 비교하여 사용이 용이한 친사용자적인 환경에 해당한다.According to the data management apparatus of the present invention, the agent unit 100 may generate infant ID data including an infant ID field and a general field. According to this, since the general field is also stored in the database 300, various statistical operations can be performed using the storage field, and a specific infant ID value can be quickly searched. In addition, such a search environment corresponds to a user-friendly environment that is easier to use compared to an environment in which a search is performed using only a child ID value that is difficult for a user to recognize.

에이전트 유니트(100)가 하나 이상 존재할 때, 유아이디 서버(200)는 각 에이전트 유니트(100)의 유아이디 데이터를 취합하여 각 데이터베이스(300)와 별개로 마련된 저장소에 보관할 수 있다. 예를 들어 해당 저장소에는 도 5의 맨 아래 표와 같은 형식으로 데이터가 저장될 수 있다.When one or more agent units 100 exist, the infant ID server 200 may collect the infant ID data of each agent unit 100 and store them in a storage provided separately from each database 300. For example, the storage may be stored in a format such as the bottom table of FIG. 5.

이때, 에이전트 유니트(100)는 일반 필드 중 적어도 일부를 취합된 유아이디 데이터의 검색자로 이용할 수 있다. 해당 저장소에는 모든 데이터베이스(300)의 유아이디 데이터가 저장되므로 방대한 데이터가 저장될 수 있다. 유아이디 서버(200)를 통해 특정 유아이디 데이터를 검색하고자 하는 사용자는 인지가 용이한 일반 필드로 각 데이터를 소팅 또는 필터링시킨 후 유아이디값을 탐색하는 친사용자적인 환경을 제공받을 수 있다.In this case, the agent unit 100 may use at least a portion of the general field as a searcher for the collected child ID data. Since the baby ID data of all the database 300 is stored in the storage, vast data may be stored. A user who wants to search for specific child ID data through the child ID server 200 may be provided with a user-friendly environment for searching for child ID values after sorting or filtering each data into general fields that are easily recognized.

예를 들어 도 5에서 일반 필드인 '701212'를 검색자로 사용할 경우 '701212-1aB3Def'와 '701212-1aZ4Def'가 표시되고, 사용자는 뒤의 유아이디값을 육안으로 확인하면서 소망하는 데이터를 선택할 수 있다. 이에 따르면 인지가 어려운 'aB3Def'와 같은 유아이디값을 통한 검색을 최소화시킬 수 있다.For example, when the general field '701212' is used as a searcher in FIG. 5, '701212-1aB3Def' and '701212-1aZ4Def' are displayed, and the user can visually check the back child ID value and select desired data. . According to this, it is possible to minimize search through infant ID values such as 'aB3Def' which is difficult to recognize.

에이전트 유니트(100)의 유아이디화부(150)에 의한 유아이디 데이터의 생성 속도를 향상시키기 위해 유아이디화부(150)는 원문 데이터의 입력 전에 유아이디값을 생성할 수 있다.In order to increase the generation speed of the infant ID data by the infant ID unit 150 of the agent unit 100, the infant ID unit 150 may generate an infant ID value before inputting original text data.

도 4는 본 발명의 데이터 관리 장치에서 생성된 유아이디값을 나타낸 개략도이다.4 is a schematic diagram showing an infant ID value generated by the data management device of the present invention.

살펴보면, 유아이디값에 해당하는 RNG(Random Number Generator)로 'aB3Def', 'a33trZ',...가 원문 데이터의 입력 전에 복수로 마련되고 있음을 알 수 있다. 유아이디화부(150)는 원문 데이터의 입력시 유아이디값의 생성 순서대로 유아이디값을 원문 데이터에 적용시킬 수 있다.As a result, it can be seen that a plurality of 'aB3Def', 'a33trZ', ... are provided before inputting the original data as RNG (Random Number Generator) corresponding to the baby ID value. The infant IDization unit 150 may apply the infant ID value to the original text in the order of generating the infant ID value when the original text data is input.

일예로 원문 데이터 '701212-1234567'이 입력되면 유아이디화부(150)는 가장 먼저 생성된 유아이디값 'aB3Def'로 '701212-1234567'의 보안 필드인 '234567'을 대체할 수 있다. 이에 따르면 유아이디 데이터로 '701212-1aB3Def'가 생성된다. 이후 다른 원문 데이터가 입력되면 유아이디화부(150)는 두번째로 생성된 유아이디값 'a33trZ'를 이용해 유아이디화를 수행할 수 있다.For example, when the original data '701212-1234567' is input, the infant IDization unit 150 may replace '234567' which is a security field of '701212-1234567' with the first generated infant ID value 'aB3Def'. Accordingly, '701212-1aB3Def' is generated as the baby ID data. Then, when other text data is input, the infant IDization unit 150 may perform infant IDization using the second generated infant ID value 'a33trZ'.

이와 같이 유아이디화부(150)에서 유아이디값을 미리 생성해두고 원문 데이터에 적용하게 되면, 원문 데이터의 입력 후에 유아이디값을 생성하고 보안 필드를 대체하는 과정과 비교하여 유아이디화의 속도를 향상시킬 수 있다. 유아이디값의 유일화를 위해 유아이디 서버(200)와 통신이 이루어지는 경우라면 속도의 향상은 더욱 크게 나타날 것이다.As such, when the infant ID value is generated in advance and applied to the original data, the infant ID unit 150 may improve the speed of the infant ID by comparing the process of generating the infant ID value and replacing the security field after inputting the original data. . In the case where communication with the infant ID server 200 is performed for the uniqueness of the infant ID value, the speed improvement will be more significant.

도 5는 본 발명의 데이터 관리 장치에서 데이터베이스(300)에 저장되는 데이터를 나타낸 개략도이다.5 is a schematic diagram showing data stored in the database 300 in the data management apparatus of the present invention.

위에서 첫번째 도표는 에이전트 유니트(100)가 설치된 데이터베이스(300)에 저장되는 데이터를 나타낸다.The first diagram above shows data stored in the database 300 where the agent unit 100 is installed.

살펴보면, 하나의 원문 데이터에 대해 에이전트 코드(Agent Code), 테이블 네임(Table Name), 유아이디 데이터에 해당하는 UID, 유아이디값에 해당하는 RNG, 암호화 데이터에 해당하는 Encipherment, 해쉬 데이터에 해당하는 Hash가 맵핑되어 저장되고 있다. 원문 데이터는 데이터베이스(300)에 저장되지 않는다.Looking at the original text, Agent Code, Table Name, UID for infant data, RNG for infant data, Encipherment for encrypted data, and hash for hash data It is mapped and stored. Original text data is not stored in the database 300.

예를 들어 원문 데이터 '701212-1234567'이 입력되면, 에이전트 코드 001, 테이블 네임 A, UID 701212-1aB3Def, Encipherment asdfaqqqw3098kskj, Hash asfasa54a6asawesdfh54se가 저장될 수 있다. 해당 데이터베이스(300)의 테이블에서 에이전트 코드 001과 테이블 네임 A는 모든 원문 데이터에 대해 동일하므로 001과 A는 미리 저장될 수 있다. 이와 마찬가지로 원문 데이터의 입력 전에 유아이디값에 해당하는 RNG가 생성된다면 RNG도 미리 저장될 수 있다. 이때의 RNG는 최소한 동일 테이블 내에서는 유일성을 만족시켜야 한다. 물론, 사업 정책에 따라 유아이디 서버(200)가 개입하여 RNG는 모든 데이터베이스(300), 모든 테이블에서 유일성을 만족해도 무방하다.For example, when original data '701212-1234567' is input, agent code 001, table name A, UID 701212-1aB3Def, Encipherment asdfaqqqw3098kskj, and Hash asfasa54a6asawesdfh54se may be stored. Since the agent code 001 and the table name A in the table of the database 300 are the same for all original data, 001 and A may be stored in advance. Similarly, if an RNG corresponding to an infant ID value is generated before inputting original text data, the RNG may be stored in advance. At this time, RNG must satisfy uniqueness at least in the same table. Of course, the child ID server 200 is intervened according to the business policy, the RNG may satisfy the uniqueness in all the database 300, all tables.

유아이디 데이터에 해당하는 UID는 유아이디화부(150)에서 원문 데이터와 RNG를 참조하여 생성된 것으로 특정 데이터의 통계 작업 또는 검색시 색인으로 사용될 수 있다.The UID corresponding to the infant ID data is generated by referring to the original data and the RNG in the infant IDizer 150 and may be used as an index when performing statistical operations or searching for specific data.

Encipherment는 암호화부(110)에서 원문 데이터와 암호화 키, 암호화 알고리즘을 이용하여 생성된 것으로, 추후 원문 데이터의 복구시 이용될 수 있다.Encipherment is generated using the original data, the encryption key, and the encryption algorithm in the encryption unit 110, it can be used later to recover the original data.

Hash는 에이전트 유니트(100)에 포함된 해쉬부(미도시)에서 원문 데이터 또는 암호화 데이터인 Encipherment를 이용하여 생성된 것으로, 도면에는 암호화 데이터가 해쉬 처리된 것으로 개시되고 있다. 해쉬 데이터 Hash와 암호화 데이터 Encipherment는 함께 맵핑(mapping)되어 데이터베이스(300)에 저장될 수 있다.The hash is generated by using an encipherment which is original text data or encrypted data in a hash unit (not shown) included in the agent unit 100, and the figure discloses that the encrypted data is hashed. The hash data hash and the encrypted data encipherment may be mapped together and stored in the database 300.

Hash는 원문 데이터의 암호화시 원문 데이터의 유일성 검사에 이용될 수 있다. 서로 다른 데이터베이스(300) 또는 서로 다른 테이블에는 동일한 원문 데이터에 맵핑되는 암호화 데이터 등이 저장되어도 무방하다. 그러나 동일한 데이터베이스(300) 또는 동일한 테이블에 중복된 원문 데이터에 대응되는 암호화 데이터가 저장될 필요가 없다.Hash can be used to check the uniqueness of the original data when encrypting the original data. Encrypted data mapped to the same original text data may be stored in different databases 300 or different tables. However, it is not necessary to store encrypted data corresponding to duplicated original data in the same database 300 or the same table.

이를 방지하기 위해 에이전트 유니트(100)는 원문 데이터의 입력시 원문 데이터의 해쉬 데이터를 생성하고, 기저장된 해쉬 데이터와 비교함으로써 원문 데이터의 유일성을 검사할 수 있다.To prevent this, the agent unit 100 may check the uniqueness of the original data by generating the hash data of the original data when inputting the original data and comparing the hash data with previously stored hash data.

데이터베이스(300)에 기저장된 데이터에는 원문 데이터가 포함되지 않는다. 따라서, 원문 데이터의 유일성을 검증할 다른 대상이 필요하다. 이러한 대상으로 원문 데이터를 해쉬 처리하여 생성되거나 암호화 데이터를 해쉬 처리하여 생성된 해쉬 데이터가 이용될 수 있다.The data previously stored in the database 300 does not include the original text data. Therefore, there is a need for another object to verify the uniqueness of the original data. The hash data generated by hashing the original data or by encrypting the encrypted data may be used as the target.

에이전트 유니트(100)는 새로 입력된 원문 데이터의 해쉬 데이터를 기저장된 해쉬 데이터와 비교하고 일치하는 해쉬 데이터가 존재하면 기존에 입력된 원문 데이터로 판단할 수 있다. 비교 결과 일치하는 해쉬 데이터가 존재하지 않으면 신규 원문 데이터로 판단하고 데이터베이스(300)에 해당 원문 데이터의 UID 등을 저장할 수 있다.The agent unit 100 may compare the hash data of the newly input original text data with previously stored hash data, and determine that the original input data is existing if the matching hash data exists. If there is no matching hash data as a result of the comparison, it may be determined as new original data and the UID of the original text data may be stored in the database 300.

원문 데이터의 유일성을 검사하기 위해 새로 입력된 원문 데이터에 대한 해쉬 처리가 이루어지므로 자연스럽게 검색 속도가 저하된다.In order to check the uniqueness of the original data, the newly inputted original data is hashed, so that the search speed naturally decreases.

유아이디 서버(200)에서 모든 데이터베이스(300)를 타겟으로 입력된 원문 데이터를 해쉬 처리한다면 검색 속도의 저하 정도는 더욱 크게 나타날 것이다. 이 경우 모든 데이터베이스(300)를 검색 범위로 함으로써 비교 대상이 많아지는 문제도 있다.If the child server server 200 hashes the original data input to all the database 300 as a target, the degree of deterioration of the search speed will be greater. In this case, there is also a problem in that the comparison target is increased by making all databases 300 a search range.

그러나, 본 발명의 데이터 관리 장치에 따르면 에이전트 유니트(100)에서 자신을 타겟으로 입력된 원문 데이터만을 해쉬 처리하고, 자신이 설치된 데이터베이스(300)의 범위로 한정하여 기저장된 해쉬 데이터를 검색하므로 검색 속도의 저하를 최소화시킬 수 있다. 또는 유아이디 서버(200)에서 신규 원문 데이터가 타겟으로 하는 데이터베이스(300)로 범위를 한정(에이전트 코드 및 테이블 네임을 이용)하여 기저장된 해쉬 데이터를 검색할 수 있으므로 검색 속도의 저하를 줄일 수 있다.However, according to the data management apparatus of the present invention, the agent unit 100 hashes only original data input to itself as a target, and searches for previously stored hash data by limiting to the range of the database 300 in which the agent unit 100 is installed. Can be minimized. Alternatively, since the range of the original text data may be limited to the database 300 targeted by the new original data (using the agent code and the table name), the prestored hash data may be searched, thereby reducing the decrease in the search speed.

원문 데이터의 암호화 시간은 원문 데이터의 유일성 검사까지 포함하는 개념이므로, 결과적으로 본 발명에 따르면 암호화의 속도 역시 증가될 수 있다. 또한, 유일성의 검사 이후 해당 원문 데이터의 암호화를 유아이디 서버(200)에서 수행하는 대신 원문 데이터가 타겟으로 하는 데이터베이스(300)에 설치된 에이전트 유니트(100)에 일임함으로써 암호화의 속도를 더욱 증가시킬 수 있다.Since the encryption time of the original data includes the concept of checking the uniqueness of the original data, according to the present invention, the speed of encryption may also be increased. In addition, after checking the uniqueness, the encryption speed of the original data may be further increased by assigning the agent unit 100 installed in the database 300 to which the original text is targeted, instead of encrypting the original data in the infant ID server 200. .

서로 다른 데이터베이스(300)를 타겟으로 하는 대량의 원문 데이터가 입력된 경우 유아이디 서버(200)에서 모든 원문 데이터를 암호화하는 대신 마스터 키와 함께 원문 데이터를 적절한 데이터베이스(300)로 전송하면 되므로 유아이디 서버(200)의 부하를 최소화시킬 수 있다. 결과적으로 하나의 유아이디 서버(200)에서 암호화를 수행하는 대신 복수의 에이전트 유니트(100)에서 분할하여 암호화를 수행하는 환경이 구축되므로 암호화 시간을 단축시킬 수 있다. 부하가 줄어든 유아이디 서버(200)는 각 에이전트 유니트(100)의 암/복호화 정책을 설정하고, 접속자의 권한 인증 등의 인증 작업, RNG의 일괄 생성 작업, 감사 작업 등을 처리할 수 있다. 감사 작업의 예로 유아이디 서버(200)는 각 에이전트 유니트를 감시함으로써 원문 데이터의 암호화 현황, 암호화 데이터의 복호화 현황을 모니터링할 수 있다.When a large amount of text data targeting different databases 300 is input, instead of encrypting all text data in the infant server 200, the text data may be transmitted to the appropriate database 300 together with the master key. The load of 200) can be minimized. As a result, the encryption time can be shortened because an environment in which encryption is performed by dividing in the plurality of agent units 100 is performed instead of performing encryption in one baby server 200. The load reduction server 200 may set an encryption / decryption policy of each agent unit 100, and may process authentication tasks such as authorization of a visitor, batch creation of RNGs, and audit tasks. As an example of the audit operation, the server ID 200 may monitor the encryption status of the original data and the decryption status of the encrypted data by monitoring each agent unit.

유아이디 서버(200)에서 모든 데이터베이스(300)에 대해 원문 데이터의 유일성 검사와 함께 모든 원문 데이터의 암호화를 수행할 경우 초당 수행 가능한 암호화의 회수를 나타낸 TPS(Transaction Per Second)는 보통 3000~5000이다. 그러나, 원문 데이터의 유일성 검사를 데이터베이스(300) 단위로 분할하여 에이전트 유니트(100) 또는 유아이디 서버(200)에서 수행하고, 원문 데이터의 암호화를 해당 에이전트 유니트(100)에서 수행할 경우 TPS는 30000~50000으로 나타남을 확인하였다.When the server 200 performs encryption of all original data along with uniqueness checking of all original data for all databases 300, the TPS (Transaction Per Second) indicating the number of encryptions that can be performed per second is usually 3000 to 5000. However, when the uniqueness test of the original data is divided into the database 300 unit and performed by the agent unit 100 or the baby server 200, and the encryption of the original data is performed by the corresponding agent unit 100, the TPS is 30000 ~. It was confirmed that it appears as 50000.

정리하면 본 발명의 데이터 관리 장치는 단말 노드(10)와 데이터베이스(300)의 사이에 위치하는 유아이디 서버(200), 데이터베이스(300)에 위치하고 유아이디 서버(200)의 마스터 키를 이용하여 단말 노드(10)로부터 입력된 원문 데이터를 암호화하는 에이전트 유니트(100)를 포함함으로써 원문 데이터의 신속한 암호화가 가능하다. 이와 아울러 원문 데이터의 유아이디화, 암호화 데이터의 복호화도 각 에이전트 유니트(100)에서 수행되므로 신속한 유아이디화, 복호화가 가능하다.In summary, the data management apparatus of the present invention may be located in the infant ID server 200 located between the terminal node 10 and the database 300 and the terminal node using the master key of the infant ID server 200 located in the database 300. It is possible to quickly encrypt the original data by including the agent unit 100 for encrypting the original data input from 10). In addition, since the child IDization of the original text data and the decryption of the encrypted data are also performed in each agent unit 100, it is possible to quickly child IDize and decrypt.

이러한 구성에 따르면 신속한 암호화, 복호화, 유아이디화가 가능하므로 보안 처리 관계로 속도가 느린 SAP(Service Access Point) 시스템 뿐만 아니라 신속한 속도가 요구되는 일반 데이터베이스 시스템에도 암호화, 유아이디화 등의 보안 환경을 신뢰성 있게 제공할 수 있다.According to this configuration, fast encryption, decryption, and child IDization are possible, so that the security environment such as encryption, child ID, etc. can be reliably provided not only for a slow service access point (SAP) system due to security processing but also for a general database system that requires fast speed. can do.

도 6은 본 발명의 데이터 관리 장치의 데이터 흐름을 나타낸 개략도이고, 도 7은 에이전트 유니트(100)와 유아이디 서버(200)의 위치를 변경한 경우의 데이터 흐름을 나타낸 개략도이다. 도 6 및 도 7에 표기된 ①, ②, ③, ④ 등의 원문자는 앞의 에이전트 코드가 아닌 데이터의 흐름 순서를 나타낸다.FIG. 6 is a schematic diagram showing a data flow of the data management device of the present invention, and FIG. 7 is a schematic diagram showing a data flow when the positions of the agent unit 100 and the baby server 200 are changed. Original characters such as ①, ②, ③, and ④ shown in FIGS. 6 and 7 indicate the flow sequence of data, not the agent code.

먼저, 도 6의 데이터 흐름을 살펴본다.First, the data flow of FIG. 6 will be described.

① 유아이디 서버(200)는 단말 노드(10)로부터 원문 데이터를 수신받는다.① The baby server 200 receives the original text data from the terminal node (10).

② 유아이디 서버(200)는 수신된 원문 데이터를 에이전트 유니트(100)로 전송한다. 필요에 따라 유아이디 서버(200)는 마스터 키를 추가로 전송할 수 있다. 에이전트 유니트(100)가 복수인 경우 유아이디 서버(200)는 원문 데이터를 분석하거나 단말 노드(10)와 통신함으로써 원문 데이터가 타겟으로 하는 데이터베이스(300)를 확인한다. 그리고, 확인된 데이터베이스(300)에 설치된 에이전트 유니트(100)로 원문 데이터를 전송한다.② The infant server 200 transmits the received text data to the agent unit (100). If necessary, the baby server 200 may additionally transmit a master key. When there are a plurality of agent units 100, the ID server 200 checks the database 300 targeted by the text data by analyzing the text data or communicating with the terminal node 10. Then, the text data is transmitted to the agent unit 100 installed in the confirmed database 300.

에이전트 유니트(100)는 수신된 원문 데이터를 암호화시켜 데이터베이스(300)에 저장한다. 에이전트 유니트(100)는 데이터베이스(300)에 저장된 데이터를 유아이디 서버(200)로 전송할 수 있다. 유아이디 서버(200)는 각 에이전트 유니트(100)로부터 전송된 데이터를 도 5의 맨 아래 도표와 같은 형식으로 저장소에 저장할 수 있다. 유아이디 서버(200)는 저장소에 저장된 데이터를 이용하여 각 에이전트 유니트(100) 또는 데이터베이스(300)를 관리할 수 있다.The agent unit 100 encrypts the received original text data and stores the encrypted original text data in the database 300. The agent unit 100 may transmit data stored in the database 300 to the baby server server 200. The infant server 200 may store data transmitted from each agent unit 100 in a storage in a format as shown in the bottom chart of FIG. 5. The infant server 200 may manage each agent unit 100 or the database 300 using data stored in the storage.

다음, 도 7의 데이터 흐름을 살펴본다. 도 7에서 에이전트 유니트(100)는 데이터베이스(300)와 별개로 마련되고, 단말 노드(10)와 유아이디 서버(200)의 사이에 배치되고 있다.Next, the data flow of FIG. 7 will be described. In FIG. 7, the agent unit 100 is provided separately from the database 300 and is disposed between the terminal node 10 and the baby server 200.

① 단말 노드(10)는 원문 데이터를 송신하고, 에이전트 유니트(100)는 단말 노드(10)와 데이터베이스(300)의 사이에서 원문 데이터를 탈취한다.① The terminal node 10 transmits original text data, and the agent unit 100 steals original text data between the terminal node 10 and the database 300.

② 에이전트 유니트(100)는 원문 데이터의 암호화에 필요한 마스터 키를 유아이디 서버(200)에 요청한다.② The agent unit 100 requests the master server 200 for the master key necessary for encrypting the original text data.

③ 유아이디 서버(200)는 마스터 키를 에이전트 유니트(100)로 전송한다.③ The baby server 200 transmits the master key to the agent unit 100.

④ 마스터 키를 수신한 에이전트 유니트(100)는 원문 데이터를 암호화시킨 후 데이터베이스(300)로 전송한다.④ Upon receiving the master key, the agent unit 100 encrypts the original data and transmits the original data to the database 300.

도 7의 실시예를 도 6의 실시예와 비교하여 보면 데이터의 흐름이 복잡해짐을 알 수 있다. 만약 에이전트 유니트(100)와 데이터베이스(300)가 복수로 마련된다면 전체 시스템에서 매우 많은 회수의 데이터 전송이 이루어질 것이다. 그러나, 도 6의 실시예에 따르면 마스터 키가 마련된 유아이디 서버(200)를 경유하여 원문 데이터가 에이전트 유니트(100)로 입력되므로 데이터의 전송 회수를 크게 줄일 수 있다. 또한, 에이전트 유니트(100)가 데이터베이스(300)에 설치되므로 양자간의 통신 속도를 극대화시킬 수 있으며, 결과적으로 신속한 암호화, 복호화, 유아이디화가 가능하다.Comparing the embodiment of FIG. 7 with the embodiment of FIG. 6, it can be seen that data flow becomes complicated. If a plurality of agent units 100 and a database 300 are provided, a very large number of data transmissions will be made in the entire system. However, according to the embodiment of FIG. 6, since the original data is input to the agent unit 100 via the infant server 200 provided with the master key, the number of transfers of data can be greatly reduced. In addition, since the agent unit 100 is installed in the database 300, the communication speed between the two can be maximized, and as a result, rapid encryption, decryption, and child IDization are possible.

이러한 효과는 단말 노드(10)와 데이터베이스(300)의 사이에 유아이디 서버(200)를 배치하고, 데이터베이스(300)에 에이전트 유니트(100)를 설치함으로써 달성될 수 있다.This effect can be achieved by arranging the baby server 200 between the terminal node 10 and the database 300, and installing the agent unit 100 in the database 300.

이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined by the appended claims. Accordingly, the true scope of the present invention should be determined by the following claims.

10...단말 노드 100...에이전트 유니트
110...암호화부 130...복호화부
150...유아이디화부 200...유아이디 서버
300...데이터베이스
10 ... terminal node 100 ... agent unit
110 ... Encryption Department 130 ... Encryption Department
150 ... YouTube HD 200 ... YouID Server
300 ... database

Claims (20)

원문 데이터의 암호화 또는 복호화에 필요한 암호화 키가 마련된 유아이디 서버;
상기 원문 데이터가 암호화된 암호화 데이터 및 상기 원문 데이터가 유아이디화된 유아이디 데이터가 함께 저장되는 데이터베이스; 및
상기 각 데이터베이스에 설치되는 것으로, 상기 암호화 키를 이용하여 상기 암호화 데이터를 생성하거나 상기 암호화 키를 이용하여 상기 암호화 데이터를 복호화시켜 상기 원문 데이터를 복구하고, 자체 생성한 유아이디값을 이용하여 상기 유아이디 데이터를 생성하는 에이전트 유니트;를 포함하고,
상기 원문 데이터는 보안 필드와 일반 필드를 포함하며,
상기 유아이디 데이터는 상기 보안 필드가 상기 유아이디값으로 대체된 필드및 상기 일반 필드를 포함하고,
상기 데이터베이스에는 상기 원문 데이터가 저장되지 않으며,
상기 유아이디 데이터는 상기 암호화 데이터의 검색시 색인 용도로 사용되는 데이터 관리 장치.
An infant server provided with an encryption key for encrypting or decrypting original text data;
A database in which encrypted data in which the original text data is encrypted and infant ID data in which the original text data is inscribed are stored together; And
Installed in each database, generating the encrypted data using the encryption key or recovering the original data by decrypting the encrypted data using the encryption key, and using the generated child ID value, the infant ID data. It includes; Agent unit for generating,
The original data includes a security field and a general field,
The baby ID data includes a field in which the secure field is replaced with the baby ID value, and the general field;
The original data is not stored in the database,
The baby data is used for indexing when searching the encrypted data.
삭제delete 제1항에 있어서,
상기 에이전트 유니트는 상기 암호화 이후에 상기 원문 데이터를 소거하는 데이터 관리 장치.
The method of claim 1,
And the agent unit erases the original data after the encryption.
제1항에 있어서,
상기 에이전트 유니트는 상기 암호화 또는 상기 복호화의 완료 후에 상기 유아이디 서버로부터 전송된 상기 암호화 키를 소거하는 데이터 관리 장치.
The method of claim 1,
And the agent unit erases the encryption key transmitted from the infant server after completion of the encryption or decryption.
제1항에 있어서,
상기 암호화 키는 마스터 키와 서브 키가 조합된 것이고,
상기 유아이디 서버에는 상기 마스터 키가 마련되며,
상기 에이전트 유니트에는 상기 서브 키가 마련되고,
상기 에이전트 유니트는 상기 유아이디 서버로부터 전송된 상기 마스터 키와 상기 서브 키가 조합된 상기 암호화 키를 이용하여 상기 암호화 또는 상기 복호화를 수행하는 데이터 관리 장치.
The method of claim 1,
The encryption key is a combination of a master key and a sub key,
The master server is provided with the master key,
The sub-key is provided in the agent unit,
And the agent unit performs the encryption or the decryption by using the encryption key in which the master key and the sub key are transmitted from the server.
삭제delete 제5항에 있어서,
상기 에이전트 유니트는 상기 서브 키가 저장된 제1 저장부와 다른 제2 저장부에 상기 유아이디 서버로부터 전송된 상기 마스터 키를 임시 저장하고,
상기 마스터 키는 상기 암호화 또는 상기 복호화의 완료 후에 소거되는 데이터 관리 장치.
6. The method of claim 5,
The agent unit temporarily stores the master key transmitted from the ID server to a second storage unit different from the first storage unit in which the sub key is stored,
And the master key is erased after completion of the encryption or decryption.
제1항에 있어서,
상기 에이전트 유니트는 서로 구분되는 복수의 데이터베이스에 각각 설치되고,
상기 유아이디 서버는 상기 각 에이전트 유니트에 상기 각 에이전트 유니트의 식별자인 에이전트 코드를 부여하고,
상기 데이터베이스에는 상기 암호화 데이터 및 상기 유아이디 데이터와 함께 상기 에이전트 코드가 저장되는 데이터 관리 장치.
The method of claim 1,
The agent unit is installed in a plurality of databases that are separated from each other,
The ID server assigns each agent unit an agent code which is an identifier of each agent unit,
And the agent code is stored in the database along with the encrypted data and the ID data.
삭제delete 제8항에 있어서,
상기 유아이디 서버는 상기 각 데이터베이스 내의 저장 공간을 구분하는 테이블 네임(table name)을 부여하고,
상기 데이터베이스에는 상기 암호화 데이터, 상기 유아이디 데이터 및 상기 에이전트 코드와 함께 상기 테이블 네임이 저장되는 데이터 관리 장치.
9. The method of claim 8,
The ID server assigns a table name to distinguish the storage space in each database,
And the table name is stored in the database along with the encrypted data, the ID data, and the agent code.
삭제delete 제1항에 있어서,
상기 유아이디 서버는 상기 유아이디값이 유일하도록 관리하는 데이터 관리 장치.
The method of claim 1,
The baby ID server is a data management device for managing the baby ID value is unique.
제1항에 있어서,
상기 에이전트 유니트는 상기 원문 데이터의 입력 전에 상기 유아이디값을 생성하는 데이터 관리 장치.
The method of claim 1,
And the agent unit generates the child ID value before inputting the original text data.
제13항에 있어서,
상기 에이전트 유니트는 상기 유아이디값을 복수로 생성하고, 상기 원문 데이터의 입력시 상기 유아이디값의 생성 순서대로 상기 유아이디값을 상기 원문 데이터에 적용시키는 데이터 관리 장치.
14. The method of claim 13,
And the agent unit generates a plurality of the infant ID values, and applies the infant ID values to the original data in the order of generating the infant ID values when inputting the original text data.
삭제delete 제1항에 있어서,
상기 유아이디 서버는 상기 에이전트 유니트의 상기 유아이디 데이터를 취합하며, 상기 일반 필드 중 적어도 일부를 상기 취합된 유아이디 데이터의 검색자로 이용하는 데이터 관리 장치.
The method of claim 1,
And the infant ID server collects the infant ID data of the agent unit, and uses at least some of the general fields as searchers of the collected infant ID data.
제1항에 있어서,
상기 에이전트 유니트는 상기 원문 데이터가 해쉬(Hash) 처리된 해쉬 데이터를 생성하고,
상기 데이터베이스에는 상기 암호화 데이터 및 상기 유아이디 데이터와 함께 상기 해쉬 데이터가 저장되며,
상기 에이전트 유니트는 상기 원문 데이터의 입력시 상기 입력된 원문 데이터의 해쉬 데이터를 생성하고, 상기 데이터베이스에 저장된 해쉬 데이터와 비교함으로써 상기 입력된 원문 데이터의 유일성을 검사하는 데이터 관리 장치.
The method of claim 1,
The agent unit generates hash data in which the original data is hashed.
The hash data is stored in the database along with the encrypted data and the baby ID data.
And the agent unit checks the uniqueness of the input text data by generating hash data of the input text data and comparing the hash data stored in the database when the text data is input.
삭제delete 삭제delete 삭제delete
KR1020130053309A 2013-05-10 2013-05-10 Data management device KR101375807B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130053309A KR101375807B1 (en) 2013-05-10 2013-05-10 Data management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130053309A KR101375807B1 (en) 2013-05-10 2013-05-10 Data management device

Publications (1)

Publication Number Publication Date
KR101375807B1 true KR101375807B1 (en) 2014-04-01

Family

ID=50655986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130053309A KR101375807B1 (en) 2013-05-10 2013-05-10 Data management device

Country Status (1)

Country Link
KR (1) KR101375807B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089223A (en) * 2008-02-18 2009-08-21 이용훈 Encryption/decryption method for using official document

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090089223A (en) * 2008-02-18 2009-08-21 이용훈 Encryption/decryption method for using official document

Similar Documents

Publication Publication Date Title
US20210099287A1 (en) Cryptographic key generation for logically sharded data stores
US10146957B1 (en) Sensitive data aliasing
US10586057B2 (en) Processing data queries in a logically sharded data store
US9514330B2 (en) Meta-complete data storage
CN107209787B (en) Improving searching ability of special encrypted data
KR101371608B1 (en) Database Management System and Encrypting Method thereof
US10361840B2 (en) Server apparatus, search system, terminal apparatus, search method, non-transitory computer readable medium storing server program, and non-transitory computer readable medium storing terminal program
US20140089204A1 (en) Format-preserving cryptographic systems
CN102855448B (en) A kind of Field-level database encryption device
AU2017440029B2 (en) Cryptographic key generation for logically sharded data stores
US20120257743A1 (en) Multiple independent encryption domains
US10733317B2 (en) Searchable encryption processing system
CN103607420A (en) Safe electronic medical system for cloud storage
EP3335370B1 (en) Enhanced obfuscation or randomization for secure product identification and verification
CN110889121A (en) Method, server and storage medium for preventing data leakage
WO2014141802A1 (en) Information processing device, information processing system, information processing method, and program
GB2479074A (en) A key server selects policy rules to apply to a key request based on an identifier included in the request
KR100910303B1 (en) Data encryption and decryption apparatus using variable code table and method thereof
KR101375807B1 (en) Data management device
KR20110057369A (en) Data encryption apparatus and its method
CN113158210A (en) Database encryption method and device
JP2019198052A (en) Key generation system
CN117112503A (en) End-to-end encrypted file search system without privacy leakage
KONDAREDDY et al. Self-Determining Approach to Encrypted Cloud Databases
CN111914289A (en) Protection method and device for application program configuration information

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee