KR101375807B1 - Data management device - Google Patents
Data management device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Abstract
Description
본 발명은 데이터를 암호화 또는 복호화하거나 유아이디(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.
본 발명은 데이터를 신속하게 암호화, 복호화, 유아이디화할 수 있는 데이터 관리 장치를 제공하기 위한 것이다.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
도 1에 도시된 데이터 관리 장치는 에이전트 유니트(100)를 포함할 수 있다.The data management apparatus shown in FIG. 1 may include an
에이전트 유니트(100)는 원문 데이터가 입력되는 데이터베이스(300)에 설치되는 것으로 원문 데이터를 암호화할 수 있다. 이를 위해 에이전트 유니트(100)에는 원문 데이터 ⓞ를 암호화 데이터 ⓔ로 마이그레이션(migration)시키는 암호화부(110)가 포함될 수 있다.The
암호화부(110)는 원문 데이터 ⓞ에 각종 암호화 알고리즘을 적용시킴으로써 암호화 데이터 ⓔ를 생성할 수 있다. 암호화 알고리즘은 일예로 DES, AES-128, AES-256, SEED-128, ARIA-128 등일 수 있으며, 암호화부(110)는 암호화 정책에 따라 선택된 암호화 알고리즘을 이용할 수 있다.The
암호화부(110)는 원문 데이터 ⓞ가 암호화된 암호화 데이터 ⓔ를 데이터베이스(300)에 저장할 수 있다.The
에이전트 유니트(100)는 원문 데이터 ⓞ를 유아이디화하고, 원문 데이터 ⓞ가 유아이디화된 유아이디 데이터 ⓣ를 암호화 데이터 ⓔ에 맵핑시켜 데이터베이스(300)에 저장할 수 있다. 이를 위해 에이전트 유니트(100)는 유아이디화부(150)를 포함할 수 있다.The
한편, 에이전트 유니트(100)는 원문 데이터 ⓞ의 암호화 이후에 원문 데이터 ⓞ를 소거할 수 있다. 이에 따르면 데이터베이스(300)에는 암호화 데이터 ⓔ, 유아이디 데이터만 저장되고, 원문 데이터 ⓞ가 저장되지 않으므로 보안 강화에 유리하다.On the other hand, the
또한, 암호화, 유아이디화를 수행하는 에이전트 유니트(100)가 데이터베이스(300)에 설치되므로 데이터베이스(300)와의 통신 속도를 극대화시킬 수 있다. 이에 따르면 데이터베이스(300)와의 데이터 송수신에 소모되는 시간을 줄임으로써 암호화, 유아이디화를 신속하게 수행할 수 있다.In addition, since the
에이전트 유니트(100)에는 데이터베이스(300)에 저장된 암호화 데이터 ⓔ를 복호화시켜 원문 데이터 ⓞ를 복구하는 복호화부(130)가 마련될 수 있다. 이때 암호화 데이터 ⓔ의 복호화에는 암호화 키가 필요하다. 이때의 암호화 키는 암호화부(110)에 의한 원문 데이터 ⓞ의 암호화에도 그대로 적용될 수 있다.The
데이터베이스(300)가 해킹되더라도 원문 데이터 ⓞ가 아닌 암호화 데이터 ⓔ가 유출되므로 원문 데이터 ⓞ의 보호가 가능하다. 그러나, 데이터베이스(300)의 해킹시 암호화 키가 함께 유출된다면 암호화 데이터 ⓔ의 복호화가 가능하므로 이에 대한 보안 대책이 요구된다. 에이전트 유니트(100)에 암호화키를 보관한다 하더라도 데이터베이스(300)에 설치되는 에이전트 유니트(100)의 특성상 데이터베이스(300)에 대한 해킹시 에이전트 유니트(100)도 해킹될 염려를 배제하기 힘들다. 따라서, 암호화 키에 대한 신뢰성 있는 보안 대책이 요구된다.Even if the
이러한 대책의 일환으로 본 발명의 데이터 관리 장치는 에이전트 유니트(100)를 관리하는 유아이디(UID, Unique IDentifier) 서버(200)를 포함할 수 있다.As part of such countermeasures, the data management apparatus of the present invention may include a unique IDentifier (UID)
유아이디 서버(200)는 암호화 또는 복호화에 필요한 암호화 키를 보관할 수 있다. 따라서, 암호화, 복호화 작업시 에이전트 유니트(100)는 유아이디 서버(200)로부터 암호화 키를 전송받아 이용할 수 있다.The
유아이디 서버(200)로부터 전송된 암호화 키가 에이전트 유니트(100) 또는 데이터베이스(300)에 저장된다면 앞에서 살펴본 문제가 그대로 도출될 수 있으므로, 에이전트 유니트(100)는 암호화 또는 복호화의 완료 후에 암호화 키를 소거할 수 있다.If the encryption key transmitted from the
이상의 실시예에 따르면 암호화 및 복호화를 수행하는 주체, 암호화 및 복호화에 필요한 암호화 키를 보관하는 주체가 분리되므로 원문 데이터 ⓞ를 신뢰성 있게 보호할 수 있다.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
예를 들어 암호화 키는 마스터 키와 서브 키가 조합된 것일 수 있다. 이때, 마스터 키는 유아이디 서버(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
제1 에이전트 유니트 ①의 서브 키가 제1 서브 키, 제2 에이전트 유니트 ②의 서브 키가 제2 서브 키,...제n 에이전트 유니트 ⓝ의 서브 키가 제n 서브 키일 때, 각 에이전트 유니트(100)의 암호화 키는 다음과 같을 수 있다.When the subkey of the
제1 에이전트 유니트 ①의 암호화 키 = 마스터 키 + 제1 서브 키Encryption key of the
제2 에이전트 유니트 ②의 암호화 키 = 마스터 키 + 제2 서브 키Encryption key of the
......
제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
에이전트 유니트(100)가 해킹 대상이 되더라도 서로 다른 저장부인 제1 저장부와 제2 저장부를 동시에 해킹하는 것은 어렵다. 따라서, 서브 키와 별도로 마스터 키를 임시 저장하는 에이전트 유니트(100)에 따르면 마스터 키의 유출 위험을 최소화시킬 수 있다.Even if the
원문 데이터 ⓞ를 암호화하는 에이전트 유니트(100)가 복수로 마련될 때, 유아이디 서버(200)는 복수의 에이전트 유니트(100)를 관리할 수 있다. 이때, 유아이디 서버(200)는 각 에이전트 유니트(100)에 에이전트 코드를 부여할 수 있다.When a plurality of
에이전트 유니트(100)가 서로 구분되는 복수의 데이터베이스(300)에 각각 설치될 때, 에이전트 코드는 각 에이전트 유니트(100)를 구분하는 식별자로 기능할 수 있다. 에이전트 코드는 일예로 앞에서 살펴본 ①, ②,..., ⓝ일 수 있다. 에이전트 유니트(100)는 각 데이터베이스(300)에 설치되므로 에이전트 코드는 데이터베이스(300)를 서로 구분하는 용도로 사용되어도 무방하다.When the
각 데이터베이스(300)에는 원문 데이터 ⓞ가 암호화된 암호화 데이터 ⓔ 및 에이전트 코드가 함께 저장될 수 있다.Each
하나의 데이터베이스(300)는 서로 다른 용도, 기능별로 구분된 복수의 테이블을 포함할 수 있다. 이때, 유아이디 서버(200)는 각 데이터베이스(300) 내의 저장 공간을 구분하는 테이블 네임(table name)을 추가로 부여할 수 있다.One
도 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
만약 테이블 b에 암호화 데이터 ⓔ가 저장된다면 해당 테이블에는 에이전트 코드 ②, 테이블 네임 b, 암호화 데이터 ⓔ가 맵핑되어 저장될 수 있다.If the encrypted data ⓔ is stored in the table b, the
본 발명의 에이전트 유니트(100)는 서로 구분되는 데이터베이스(300)별로 마련된다. 따라서, 각 에이전트 유니트(100)를 식별할 수 있어야 하며 이를 위해 에이전트 코드가 이용될 수 있다.The
각 에이전트 유니트(100)는 서로 독립적으로 구동될 수 있다. 이에 따르면 동일한 정보가 서로 다른 데이터베이스(300)로 입력되는 경우 각 에이전트는 해당 정보에 대한 암호화 데이터를 각각 생성한다.Each
만약 각 에이전트 유니트(100)가 연동된다면 동일한 정보에 대한 암호화 데이터는 어느 하나의 에이전트 유니트(100)에서만 처리되고 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에 저장될 것이다. 그러나 이에 따르면 복수의 데이터베이스(300)에서 동일한 정보를 저장하고자 하는 요구를 만족시킬 수 없다. 본 실시예에 따르면 각 에이전트가 독립적으로 구동되므로 복수의 데이터베이스(300)에 동일한 원문 데이터에 대응되는 암호화 데이터가 저장될 수 있다.If each
도 5를 참조하면 동일한 원문 데이터 '701212-1234567'에 대해 에이전트 코드 '001'을 갖는 에이전트 유니트(100)는 원문 데이터를 암호화시켜 암호화 데이터 'asdfaqqqw3098kskj'를 생성한다. 이렇게 생성된 암호화 데이터는 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에서 테이블 네임 A를 갖는 테이블에 저장된다.Referring to FIG. 5, the
또한, 에이전트 코드 '002'를 갖는 에이전트 유니트(100)는 해당 원문 데이터를 암호화시켜 암호화 데이터 'asfjlsfjalfjlljfljalrtyep'를 생성한다. 이렇게 생성된 암호화 데이터는 해당 에이전트 유니트(100)가 설치된 데이터베이스(300)에서 테이블 네임 B가 할당된 테이블에 저장된다.In addition, the
참고로, 테이블 네임은 유아이디 서버(200)가 관리하는 모든 데이터베이스(300)에 대해 다른 코드가 부여될 수 있다. 이에 따르면 테이블 네임이 알파벳으로 부여될 경우 모든 데이터베이스(300)의 테이블에는 테이블 네임으로 서로 중복되지 않은 알파벳이 부여될 수 있다. 이 경우가 도 5에 개시된다.For reference, the table name may be given a different code for every
또는 테이블 네임은 에이전트 코드로 구분되는 동일한 코드가 부여될 수 있다. 예를 들어 에이전트 코드가 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
유아이디 서버(200)에 접속한 사용자는 유아이디 데이터를 이용하여 검색을 수행할 수 있다. 따라서, 유아이디 데이터가 동일하다면 혼동이 유발될 수 있다. 이를 방지하기 위해 유아이디 데이터는 유일한 것이 좋다. 유아이디 데이터는 원문 데이터의 보안 필드가 유아이디값으로 대체된 것이므로 유아이디값을 유일하게 형성함으로써 유아이디 데이터의 유일화를 도모할 수 있다. 그런데 독립 구동되는 에이전트 유니트(100)에 의하면 각 에이전트 유니트(100)별로 동일한 유아이디값을 생성하고 원문 데이터의 보안 필드를 동일한 유아이디값으로 대체할 수 있다. 이를 방지하기 위해 유아이디 서버(200)는 유아이디값이 유일하도록 관리할 수 있다.A user accessing the
예를 들어 유아이디 서버(200)는 유아이디값을 생성한 후 자신이 관할하는 모든 에이전트 유니트(100)에 유아이디값이 중복되지 않도록 분배할 수 있다. 또는 유아이디 서버(200)는 각 에이전트 유니트(100)에서 생성된 유아이디값을 에이전트 유니트(100)로부터 보고받고 중복된 유아이디값을 체크하며, 중복된 유아이디값을 삭제하도록 에이전트 유니트(100)에 지시할 수 있다.For example, after generating the baby ID value, the
유아이디값은 영어 대문자, 영어 소문자, 숫자를 랜덤하게 혼합시켜 생성될 수 있다. 유아이디값에는 영어 문자를 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
유아이디 데이터는 암호화 데이터와 함께 데이터베이스(300)에 저장되며 암호화 데이터에 대한 검색시 색인 용도로 사용될 수 있다. 유아이디값이 유일하다면 유아이디값만으로 암호화 데이터를 구성할 수 있다.The infant data is stored in the
그러나, 유아이디값만으로 암호화 데이터가 구성된다면 데이터베이스(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
본 발명의 데이터 관리 장치에 따르면 에이전트 유니트(100)는 유아이디 필드와 일반 필드로 구성된 유아이디 데이터를 생성할 수 있다. 이에 따르면 데이터베이스(300)에 일반 필드도 저장되므로 저장 필드를 이용하여 각종 통계 작업을 수행하고, 특정 유아이디값의 검색을 신속하게 수행할 수 있다. 아울러 이러한 검색 환경은 사용자의 인지가 어려운 유아이디값만으로 검색을 수행하는 환경과 비교하여 사용이 용이한 친사용자적인 환경에 해당한다.According to the data management apparatus of the present invention, the
에이전트 유니트(100)가 하나 이상 존재할 때, 유아이디 서버(200)는 각 에이전트 유니트(100)의 유아이디 데이터를 취합하여 각 데이터베이스(300)와 별개로 마련된 저장소에 보관할 수 있다. 예를 들어 해당 저장소에는 도 5의 맨 아래 표와 같은 형식으로 데이터가 저장될 수 있다.When one or
이때, 에이전트 유니트(100)는 일반 필드 중 적어도 일부를 취합된 유아이디 데이터의 검색자로 이용할 수 있다. 해당 저장소에는 모든 데이터베이스(300)의 유아이디 데이터가 저장되므로 방대한 데이터가 저장될 수 있다. 유아이디 서버(200)를 통해 특정 유아이디 데이터를 검색하고자 하는 사용자는 인지가 용이한 일반 필드로 각 데이터를 소팅 또는 필터링시킨 후 유아이디값을 탐색하는 친사용자적인 환경을 제공받을 수 있다.In this case, the
예를 들어 도 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
도 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
일예로 원문 데이터 '701212-1234567'이 입력되면 유아이디화부(150)는 가장 먼저 생성된 유아이디값 'aB3Def'로 '701212-1234567'의 보안 필드인 '234567'을 대체할 수 있다. 이에 따르면 유아이디 데이터로 '701212-1aB3Def'가 생성된다. 이후 다른 원문 데이터가 입력되면 유아이디화부(150)는 두번째로 생성된 유아이디값 'a33trZ'를 이용해 유아이디화를 수행할 수 있다.For example, when the original data '701212-1234567' is input, the
이와 같이 유아이디화부(150)에서 유아이디값을 미리 생성해두고 원문 데이터에 적용하게 되면, 원문 데이터의 입력 후에 유아이디값을 생성하고 보안 필드를 대체하는 과정과 비교하여 유아이디화의 속도를 향상시킬 수 있다. 유아이디값의 유일화를 위해 유아이디 서버(200)와 통신이 이루어지는 경우라면 속도의 향상은 더욱 크게 나타날 것이다.As such, when the infant ID value is generated in advance and applied to the original data, the
도 5는 본 발명의 데이터 관리 장치에서 데이터베이스(300)에 저장되는 데이터를 나타낸 개략도이다.5 is a schematic diagram showing data stored in the
위에서 첫번째 도표는 에이전트 유니트(100)가 설치된 데이터베이스(300)에 저장되는 데이터를 나타낸다.The first diagram above shows data stored in the
살펴보면, 하나의 원문 데이터에 대해 에이전트 코드(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
예를 들어 원문 데이터 '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,
유아이디 데이터에 해당하는 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
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
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
이를 방지하기 위해 에이전트 유니트(100)는 원문 데이터의 입력시 원문 데이터의 해쉬 데이터를 생성하고, 기저장된 해쉬 데이터와 비교함으로써 원문 데이터의 유일성을 검사할 수 있다.To prevent this, the
데이터베이스(300)에 기저장된 데이터에는 원문 데이터가 포함되지 않는다. 따라서, 원문 데이터의 유일성을 검증할 다른 대상이 필요하다. 이러한 대상으로 원문 데이터를 해쉬 처리하여 생성되거나 암호화 데이터를 해쉬 처리하여 생성된 해쉬 데이터가 이용될 수 있다.The data previously stored in the
에이전트 유니트(100)는 새로 입력된 원문 데이터의 해쉬 데이터를 기저장된 해쉬 데이터와 비교하고 일치하는 해쉬 데이터가 존재하면 기존에 입력된 원문 데이터로 판단할 수 있다. 비교 결과 일치하는 해쉬 데이터가 존재하지 않으면 신규 원문 데이터로 판단하고 데이터베이스(300)에 해당 원문 데이터의 UID 등을 저장할 수 있다.The
원문 데이터의 유일성을 검사하기 위해 새로 입력된 원문 데이터에 대한 해쉬 처리가 이루어지므로 자연스럽게 검색 속도가 저하된다.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
그러나, 본 발명의 데이터 관리 장치에 따르면 에이전트 유니트(100)에서 자신을 타겟으로 입력된 원문 데이터만을 해쉬 처리하고, 자신이 설치된 데이터베이스(300)의 범위로 한정하여 기저장된 해쉬 데이터를 검색하므로 검색 속도의 저하를 최소화시킬 수 있다. 또는 유아이디 서버(200)에서 신규 원문 데이터가 타겟으로 하는 데이터베이스(300)로 범위를 한정(에이전트 코드 및 테이블 네임을 이용)하여 기저장된 해쉬 데이터를 검색할 수 있으므로 검색 속도의 저하를 줄일 수 있다.However, according to the data management apparatus of the present invention, the
원문 데이터의 암호화 시간은 원문 데이터의 유일성 검사까지 포함하는 개념이므로, 결과적으로 본 발명에 따르면 암호화의 속도 역시 증가될 수 있다. 또한, 유일성의 검사 이후 해당 원문 데이터의 암호화를 유아이디 서버(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
서로 다른 데이터베이스(300)를 타겟으로 하는 대량의 원문 데이터가 입력된 경우 유아이디 서버(200)에서 모든 원문 데이터를 암호화하는 대신 마스터 키와 함께 원문 데이터를 적절한 데이터베이스(300)로 전송하면 되므로 유아이디 서버(200)의 부하를 최소화시킬 수 있다. 결과적으로 하나의 유아이디 서버(200)에서 암호화를 수행하는 대신 복수의 에이전트 유니트(100)에서 분할하여 암호화를 수행하는 환경이 구축되므로 암호화 시간을 단축시킬 수 있다. 부하가 줄어든 유아이디 서버(200)는 각 에이전트 유니트(100)의 암/복호화 정책을 설정하고, 접속자의 권한 인증 등의 인증 작업, RNG의 일괄 생성 작업, 감사 작업 등을 처리할 수 있다. 감사 작업의 예로 유아이디 서버(200)는 각 에이전트 유니트를 감시함으로써 원문 데이터의 암호화 현황, 암호화 데이터의 복호화 현황을 모니터링할 수 있다.When a large amount of text data targeting
유아이디 서버(200)에서 모든 데이터베이스(300)에 대해 원문 데이터의 유일성 검사와 함께 모든 원문 데이터의 암호화를 수행할 경우 초당 수행 가능한 암호화의 회수를 나타낸 TPS(Transaction Per Second)는 보통 3000~5000이다. 그러나, 원문 데이터의 유일성 검사를 데이터베이스(300) 단위로 분할하여 에이전트 유니트(100) 또는 유아이디 서버(200)에서 수행하고, 원문 데이터의 암호화를 해당 에이전트 유니트(100)에서 수행할 경우 TPS는 30000~50000으로 나타남을 확인하였다.When the
정리하면 본 발명의 데이터 관리 장치는 단말 노드(10)와 데이터베이스(300)의 사이에 위치하는 유아이디 서버(200), 데이터베이스(300)에 위치하고 유아이디 서버(200)의 마스터 키를 이용하여 단말 노드(10)로부터 입력된 원문 데이터를 암호화하는 에이전트 유니트(100)를 포함함으로써 원문 데이터의 신속한 암호화가 가능하다. 이와 아울러 원문 데이터의 유아이디화, 암호화 데이터의 복호화도 각 에이전트 유니트(100)에서 수행되므로 신속한 유아이디화, 복호화가 가능하다.In summary, the data management apparatus of the present invention may be located in the
이러한 구성에 따르면 신속한 암호화, 복호화, 유아이디화가 가능하므로 보안 처리 관계로 속도가 느린 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
먼저, 도 6의 데이터 흐름을 살펴본다.First, the data flow of FIG. 6 will be described.
① 유아이디 서버(200)는 단말 노드(10)로부터 원문 데이터를 수신받는다.① The
② 유아이디 서버(200)는 수신된 원문 데이터를 에이전트 유니트(100)로 전송한다. 필요에 따라 유아이디 서버(200)는 마스터 키를 추가로 전송할 수 있다. 에이전트 유니트(100)가 복수인 경우 유아이디 서버(200)는 원문 데이터를 분석하거나 단말 노드(10)와 통신함으로써 원문 데이터가 타겟으로 하는 데이터베이스(300)를 확인한다. 그리고, 확인된 데이터베이스(300)에 설치된 에이전트 유니트(100)로 원문 데이터를 전송한다.② The
에이전트 유니트(100)는 수신된 원문 데이터를 암호화시켜 데이터베이스(300)에 저장한다. 에이전트 유니트(100)는 데이터베이스(300)에 저장된 데이터를 유아이디 서버(200)로 전송할 수 있다. 유아이디 서버(200)는 각 에이전트 유니트(100)로부터 전송된 데이터를 도 5의 맨 아래 도표와 같은 형식으로 저장소에 저장할 수 있다. 유아이디 서버(200)는 저장소에 저장된 데이터를 이용하여 각 에이전트 유니트(100) 또는 데이터베이스(300)를 관리할 수 있다.The
다음, 도 7의 데이터 흐름을 살펴본다. 도 7에서 에이전트 유니트(100)는 데이터베이스(300)와 별개로 마련되고, 단말 노드(10)와 유아이디 서버(200)의 사이에 배치되고 있다.Next, the data flow of FIG. 7 will be described. In FIG. 7, the
① 단말 노드(10)는 원문 데이터를 송신하고, 에이전트 유니트(100)는 단말 노드(10)와 데이터베이스(300)의 사이에서 원문 데이터를 탈취한다.① The
② 에이전트 유니트(100)는 원문 데이터의 암호화에 필요한 마스터 키를 유아이디 서버(200)에 요청한다.② The
③ 유아이디 서버(200)는 마스터 키를 에이전트 유니트(100)로 전송한다.③ The
④ 마스터 키를 수신한 에이전트 유니트(100)는 원문 데이터를 암호화시킨 후 데이터베이스(300)로 전송한다.④ Upon receiving the master key, the
도 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
이러한 효과는 단말 노드(10)와 데이터베이스(300)의 사이에 유아이디 서버(200)를 배치하고, 데이터베이스(300)에 에이전트 유니트(100)를 설치함으로써 달성될 수 있다.This effect can be achieved by arranging the
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
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 ...
110 ...
150 ...
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.
상기 에이전트 유니트는 상기 암호화 이후에 상기 원문 데이터를 소거하는 데이터 관리 장치.
The method of claim 1,
And the agent unit erases the original data after the encryption.
상기 에이전트 유니트는 상기 암호화 또는 상기 복호화의 완료 후에 상기 유아이디 서버로부터 전송된 상기 암호화 키를 소거하는 데이터 관리 장치.
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.
상기 암호화 키는 마스터 키와 서브 키가 조합된 것이고,
상기 유아이디 서버에는 상기 마스터 키가 마련되며,
상기 에이전트 유니트에는 상기 서브 키가 마련되고,
상기 에이전트 유니트는 상기 유아이디 서버로부터 전송된 상기 마스터 키와 상기 서브 키가 조합된 상기 암호화 키를 이용하여 상기 암호화 또는 상기 복호화를 수행하는 데이터 관리 장치.
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.
상기 에이전트 유니트는 상기 서브 키가 저장된 제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.
상기 에이전트 유니트는 서로 구분되는 복수의 데이터베이스에 각각 설치되고,
상기 유아이디 서버는 상기 각 에이전트 유니트에 상기 각 에이전트 유니트의 식별자인 에이전트 코드를 부여하고,
상기 데이터베이스에는 상기 암호화 데이터 및 상기 유아이디 데이터와 함께 상기 에이전트 코드가 저장되는 데이터 관리 장치.
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.
상기 유아이디 서버는 상기 각 데이터베이스 내의 저장 공간을 구분하는 테이블 네임(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.
상기 유아이디 서버는 상기 유아이디값이 유일하도록 관리하는 데이터 관리 장치.
The method of claim 1,
The baby ID server is a data management device for managing the baby ID value is unique.
상기 에이전트 유니트는 상기 원문 데이터의 입력 전에 상기 유아이디값을 생성하는 데이터 관리 장치.
The method of claim 1,
And the agent unit generates the child ID value before inputting the original text data.
상기 에이전트 유니트는 상기 유아이디값을 복수로 생성하고, 상기 원문 데이터의 입력시 상기 유아이디값의 생성 순서대로 상기 유아이디값을 상기 원문 데이터에 적용시키는 데이터 관리 장치.
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.
상기 유아이디 서버는 상기 에이전트 유니트의 상기 유아이디 데이터를 취합하며, 상기 일반 필드 중 적어도 일부를 상기 취합된 유아이디 데이터의 검색자로 이용하는 데이터 관리 장치.
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.
상기 에이전트 유니트는 상기 원문 데이터가 해쉬(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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090089223A (en) * | 2008-02-18 | 2009-08-21 | 이용훈 | Encryption/decryption method for using official document |
-
2013
- 2013-05-10 KR KR1020130053309A patent/KR101375807B1/en not_active IP Right Cessation
Patent Citations (1)
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 |