KR101321800B1 - Data protecting method and apparatus by replacing representative value - Google Patents

Data protecting method and apparatus by replacing representative value Download PDF

Info

Publication number
KR101321800B1
KR101321800B1 KR1020120037404A KR20120037404A KR101321800B1 KR 101321800 B1 KR101321800 B1 KR 101321800B1 KR 1020120037404 A KR1020120037404 A KR 1020120037404A KR 20120037404 A KR20120037404 A KR 20120037404A KR 101321800 B1 KR101321800 B1 KR 101321800B1
Authority
KR
South Korea
Prior art keywords
information
data
representative value
generating
converting
Prior art date
Application number
KR1020120037404A
Other languages
Korean (ko)
Other versions
KR20130025800A (en
Inventor
김상현
Original Assignee
김상현
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김상현 filed Critical 김상현
Publication of KR20130025800A publication Critical patent/KR20130025800A/en
Application granted granted Critical
Publication of KR101321800B1 publication Critical patent/KR101321800B1/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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 단계, 상기 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 적어도 하나 이상의 부분 데이터를 추출하는 단계 및 상기 적어도 하나 이상의 부분 데이터에 대하여 상기 입력받은 대표값 생성 규칙을 이용하여 대표값으로 치환하는 단계를 포함하는 데이터 보호 방법 및 장치를 제공한다.According to an embodiment of the present invention, a method for generating a representative value is provided by receiving an original text data which is a target value generation target and a representative value generation rule for converting the original text data, and parsing the original data based on a preset expression. And extracting at least one partial data and replacing the at least one partial data with a representative value using the input representative value generation rule.

Description

대표값 치환을 이용한 데이터 보호 방법 및 장치{DATA PROTECTING METHOD AND APPARATUS BY REPLACING REPRESENTATIVE VALUE}DATA PROTECTING METHOD AND APPARATUS BY REPLACING REPRESENTATIVE VALUE}

본 발명은 원문 데이터를 보호하는 방법에 관한 것으로서, 더욱 상세하게는 원문 데이터와 형태와 길이가 같지만 논리적인 연관성이 없는 대표값으로 치환함으로써 원문 데이터를 보호하는 방법에 관한 것이다.The present invention relates to a method of protecting original text data, and more particularly, to a method of protecting original text data by substituting a representative value having the same shape and length as the original data but having no logical relation.

종래의 데이터베이스 관리시스템(DBMS)에서 테이블 내의 필드데이터를 암호 알고리즘을 이용하여 암호화 시 원 문데이터(문자열)와 암호화된 데이터(바이너리) 간의 타입 및 길이가 상이하여 테이블의 타입 또는 길이 변경 없이는 암호화된 데이터를 원문테이블에 저장할 수 없었다. 테이블 내의 문자타입의 필드데이터를 암호 알고리즘(AES, 3DES, SEED, ARIA 등)을 이용하여 암호화 과정을 거친 암호화 데이터는 바이너리 타입으로 변환된다. In a conventional database management system (DBMS), when encrypting field data in a table using an encryption algorithm, the type and length between the original data (string) and the encrypted data (binary) are different so that the encrypted data can be encrypted without changing the type or length of the table. The data could not be stored in the original table. Encrypted data obtained by encrypting character data of a table in a table using an encryption algorithm (AES, 3DES, SEED, ARIA, etc.) is converted into a binary type.

바이너리 타입의 암호화 데이터는 문자 타입의 필드에 직접 저장할 수 없으며, 인코딩 알고리즘(Base64 등)을 이용하여 문자 타입으로 변환 과정을 거쳐 저장한다. 인코딩 과정은 알고리즘에 따라 정도의 차이는 있으나 데이터의 길이가 증가하며, 인코딩된 데이터를 저장하기 위해서는 데이블 내의 필드 길이를 증가시켜야 했다.Binary type encrypted data cannot be directly stored in a character type field, and is converted to a character type using an encoding algorithm (Base64, etc.). The encoding process varies depending on the algorithm, but the length of the data increases, and in order to store the encoded data, the field length in the table has to be increased.

본 발명에서 해결하고자 하는 과제는, 원문 데이터와 형태와 길이가 같지만 논리적인 연관성이 없는 대표값으로 치환하는 대표값 치환에 의한 원문 데이터를 보호하는 방법을 제공하는 데 있다.The problem to be solved by the present invention is to provide a method of protecting the original data by the representative value substitution is substituted for the representative value having the same shape and length as the original data but no logical correlation.

상술한 과제를 해결하기 위한 본 발명의 일 실시예는 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 단계; 상기 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 단계; 및 대표값 치환을 위하여 측정된 시스템 정보 및 상기 대표값 생성 규칙에 기초하여 상기 추출된 부분 데이터를 대표값으로 치환하는 단계를 포함하는 데이터 보호 방법을 제공한다.One embodiment of the present invention for solving the above-mentioned problems is a step of receiving the text data to be the target value generation target and the representative value generation rule for converting the text data; Parsing the text data based on a preset expression to extract partial data for generating a representative value; And replacing the extracted partial data with a representative value based on the measured system information for the representative value substitution and the representative value generation rule.

또한, 상기 대표값으로 치환하는 단계는 상기 입력받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성하는 단계; 상기 생성된 적어도 하나 이상의 데이터 변환 규칙을 상기 부분 데이터에 매칭시키는 단계; 및 상기 시스템 정보를 이용하여 상기 매칭된 데이터 변환 규칙에 따라 상기 추출된 부분 데이터를 대표값으로 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.The replacing of the representative value may include generating at least one data conversion rule by parsing the input representative value generation rule; Matching the generated at least one data transformation rule to the partial data; And generating the extracted partial data as a representative value according to the matched data conversion rule using the system information.

또한, 상기 대표값으로 생성하는 단계는 상기 시스템 정보를 이용하여 시드(seed) 데이터를 생성하는 단계; 및 상기 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator :PRNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 상기 매칭된 데이터 변환 규칙을 기초로 상기 대표값을 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.The generating of the representative value may include generating seed data using the system information; And generating the representative value based on the matched data conversion rule using any one of the generated seed data and a preset local random number generator (PRNG) or a client PRNG. It can be characterized by.

또한, 상기 시드(seed) 데이터를 생성하는 단계는 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하는 단계; 및 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 상기 시스템 정보에 기초하여 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계를 포함하는 것을 특징으로 할 수 있다.The generating of the seed data may include generating first message authentication information for data integrity and encryption; And converting the first message authentication information into seed data based on the system information including physical specification information and network entropy information of the system.

바람직하게는, 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계는 시스템의 구동 성능을 측정하여 획득된 네트워크 시스템의 시각, 물리적 주소(MAC) 또는 메모리를 포함하는 상기 시스템의 물리적 사양 정보 중 적어도 어느 하나를 이용하여 변환하는 단계; 및 시스템의 네트워크 성능을 측정하여 획득된 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 시스템의 네트워크 엔트로피 정보 중 적어도 어느 하나를 이용하여 변환하는 단계를 포함하는 것을 특징으로 할 수 있다.Preferably, converting the first message authentication information into seed data includes a physical specification of the system including a time, a physical address (MAC), or a memory of the network system obtained by measuring a driving performance of the system. Converting using at least one of the information; And converting at least one of route hop information obtained by measuring network performance of the system, network entropy information of the system including a socket transfer rate, a ping delay rate, or a predetermined random number string. It may be characterized in that it comprises a.

바람직하게는, 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계는 상기 시스템 정보 중 로컬 시스템의 시각 및 물리적 주소(MAC) 정보를 이용하여 상기 제1 메시지 인증 정보를 제1 변환 정보로 생성하는 단계; 상기 생성된 제1 변환 정보를 상기 시스템 정보 중 클라이언트 시스템의 시각 및 물리적 주소(MAC)정보를 이용하여 제2 변환 정보로 생성하는 단계; 상기 생성된 제2 변환 정보를 상기 시스템 정보 중 네트워크 엔트로피 정보를 이용하여 제3 변환 정보로 생성하는 단계; 및 상기 생성된 제3 변환 정보를 상기 네트워크 시스템 중 로컬 시스템의 메모리 정보를 이용하여 시드(seed) 데이터로 변환하는 단계를 포함하는 것을 특징으로 할 수 있다.The converting of the first message authentication information into seed data may include converting the first message authentication information into first conversion information by using time and physical address (MAC) information of a local system among the system information. Generating to; Generating the first converted information as second converted information by using time and physical address (MAC) information of a client system among the system information; Generating the generated second transformation information into third transformation information by using network entropy information of the system information; And converting the generated third conversion information into seed data using memory information of a local system of the network system.

바람직하게는, 상기 제3 변환 정보로 생성하는 단계는 상기 로컬 시스템의 시각 정보를 이용하여 상기 네트워크 엔트로피 정보의 연산 반복 횟수를 산출하는 단계; 네트워크 엔트로피 정보의 변환을 위한 제2 메시지 인증 정보를 생성하는 단계; 상기 제2 메시지 인증 정보를 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 시스템의 네트워크 엔트로피 정보 중 적어도 어느 하나를 이용하여 상기 산출된 연산 반복 횟수만큼 변환하여 메시지 변환 정보를 생성하는 단계; 및 상기 생성된 메시지 변환 정보를 이용하여 상기 생성된 제2 변환 정보를 제3 변환 정보로 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.Preferably, the generating of the third conversion information comprises: calculating the number of iterations of the operation of the network entropy information using the time information of the local system; Generating second message authentication information for converting network entropy information; The calculated number of operations iterations using the second message authentication information using at least one of route hop information, socket per second rate, ping delay rate, or network entropy information of a system including a predetermined random number string. Converting as much as possible to generate message conversion information; And generating the generated second conversion information as third conversion information by using the generated message conversion information.

또한, 전송 중 에러 검출에 사용되는 체크섬(checksum)을 산출하고, 산출된 체크섬(checksum)을 이용하여 최종 대표값을 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.The method may further include calculating a checksum used for error detection during transmission, and generating a final representative value using the calculated checksum.

바람직하게는, 상기 최종 대표값을 생성하는 단계는 생성된 대표값을 체크섬을 생성하기 위한 코드로 변환하고, 상기 변환된 코드 및 난수 문자열을 이용하여 체크섬(checksum)을 산출하는 단계; 및 상기 산출된 체크섬을 상기 대상값중 적어도 일부에 대체하여 최종 대표값을 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.Preferably, the generating of the final representative value may include converting the generated representative value into a code for generating a checksum and calculating a checksum using the converted code and a random number string; And generating a final representative value by replacing the calculated checksum with at least a portion of the target value.

상술한 과제를 해결하기 위한 본 발명의 다른 실시예는 대표값 생성의 대상이 되는 복수의 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 단계; 상기 복수의 원문 데이터들에 대하여 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 단계; 및 대표값 치환을 위하여 측정된 시스템 정보 및 상기 대표값 생성 규칙에 기초하여 상기 추출된 부분 데이터를 대표값으로 치환하는 단계를 포함하며, 상기 대표값으로 치환하는 단계는 상기 복수의 원문 데이터의 순서와 일치하도록 복수의 대표값으로 치환하는 것을 특징으로 하는 데이터 보호 방법을 제공한다.Another embodiment of the present invention for solving the above problems is a step of receiving a plurality of text data to be the target value generation target and the representative value generation rule for converting the text data; Extracting partial data for generating a representative value by parsing the plurality of original data based on a preset expression; And substituting the extracted partial data with a representative value based on the measured system information and the representative value generation rule for substituting the representative value, wherein the substituting the representative value comprises the order of the plurality of original data. According to the present invention, a data protection method is provided, wherein the data is replaced with a plurality of representative values.

상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예는 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 데이터 입력부; 상기 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 부분 데이터 추출부; 및 대표값 치환을 위하여 측정된 시스템 정보 및 상기 대표값 생성 규칙에 기초하여 상기 추출된 부분 데이터를 대표값으로 치환하는 대표값 치환부를 포함하는 데이터 보호 장치를 제공한다.Another embodiment of the present invention for solving the above problems is a data input unit for receiving the original data to be the target value generation target and the representative value generation rule for converting the original data; A partial data extraction unit for parsing the original text data based on a preset expression and extracting partial data for generating a representative value; And a representative value substitution unit for replacing the extracted partial data with a representative value based on the measured system information for the representative value substitution and the representative value generation rule.

본 발명의 실시예들에 따른 대표값 치환에 의한 원문 데이터를 보호하는 방법은 원문 데이터와 형태와 길이가 같지만 논리적인 연관성이 없는 대표값으로 치환함으로써, 원문 데이터를 더욱 안전하게 보호할 수 있는 효과가 있다.According to embodiments of the present invention, a method of protecting original data by representative value substitution may be performed by replacing the original data with a representative value having the same shape and length as the original data but having no logical relation, thereby protecting the original data more safely. have.

도 1은 본 발명의 일 실시예에 따른 대표값 치환을 이용한 데이터 보호 방법을 도시한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 대표값 치환을 이용한 데이터 보호 방법 중 원문 데이터를 파싱하는 단계 및 대표값 치환 단계에 대하여 보다 상세히 도시한 순서도이다.
도 3은 본 발명의 다른 실시예에 따른 시드 데이터로 변환하는 단계를 도시한 순서도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 대표값 생성 규칙을 사용하여 대표값이 생성되는 과정을 도시한 참고도이다.
도 6은 본 발명의 일 실시예에 따른 체크섬을 산출하는 단계를 더 포함하는 데이터 보호 방법에 대하여 도시한 순서도이다.
도 7은 체크섬(checksum)을 산출하는 단계를 도시한 참고도이다.
도 8은 본 발명의 일 실시예에 다라 복수의 원문 데이터에 대하여 상대적인 순서를 유지하며 복수의 대표값으로 치환하는 데이터 보호 방법에 대한 순서도이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 다라 복수의 원문 데이터에 대하여 상대적인 순서를 유지하며 복수의 대표값으로 치환하는 데이터 보호 과정을 도시한 참고도이다.
도 10은 본 발명의 일 실시예에 따른 데이터 보호 장치를 도시한 블록도이다.
1 is a flowchart illustrating a data protection method using representative value substitution according to an embodiment of the present invention.
2 is a flowchart illustrating a parsing of original text data and a representative value substitution step in a data protection method using representative value substitution according to an embodiment of the present invention.
3 is a flowchart illustrating a step of converting seed data according to another embodiment of the present invention.
4 and 5 are reference diagrams illustrating a process of generating a representative value using the representative value generation rule according to an embodiment of the present invention.
6 is a flow chart illustrating a data protection method further comprising calculating a checksum according to an embodiment of the present invention.
7 is a reference diagram illustrating a step of calculating a checksum.
8 is a flowchart illustrating a data protection method of maintaining a relative order with respect to a plurality of original data and substituting a plurality of representative values according to an embodiment of the present invention.
9A and 9B are reference diagrams illustrating a data protection process of replacing a plurality of representative values while maintaining a relative order with respect to a plurality of original data according to an embodiment of the present invention.
10 is a block diagram illustrating a data protection device according to an embodiment of the present invention.

이하에서는 본 발명의 일부 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울러 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합하지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments are a combination of elements and features of the present invention in a predetermined form. Each component or characteristic may be considered optional unless otherwise expressly stated. Each component or feature may be implemented in a form that is not combined with other components or features. In addition, some of the elements and / or features may be combined to form an embodiment of the present invention. The order of the operations described in the embodiments of the present invention may be changed. Some configurations or features of certain embodiments may be included in other embodiments, or may be replaced with corresponding configurations or features of other embodiments.

본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. Embodiments of the present invention may be implemented by various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.For a hardware implementation, the method according to embodiments of the present invention may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) , Field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of an implementation by firmware or software, the method according to embodiments of the present invention may be implemented in the form of a module, a procedure or a function for performing the functions or operations described above. The software code can be stored in a memory unit and driven by the processor. The memory unit may be located inside or outside the processor, and may exchange data with the processor by various well-known means.

이하의 설명에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention, and are not intended to limit the scope of the invention.

도 1은 본 발명의 일 실시예에 따른 대표값 치환을 이용한 데이터 보호 방법을 도시한 순서도이다. 도 1을 참조하여 대표값 치환을 이용한 데이터 보호 방법을 설명한다. 1 is a flowchart illustrating a data protection method using representative value substitution according to an embodiment of the present invention. A data protection method using representative value substitution will be described with reference to FIG. 1.

S110 단계는 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는다. In step S110, the original text data, which is a target value generation target, and a representative value generation rule for converting the original text data are received.

본 발명의 일 실시예에 따르면, 원문 데이터와 대표값 생성 규칙이 입력되는 방법은 사용되는 환경에 따라 달리 설정될 수 있다. 즉, SAP시스템에서는 ABAP(Advanced Business Application Programming) 추출 파라미터, 웹환경에서는 SOAP(Simple Object Access Protocol)/WSDL(Web Services Description Language) 파라미터를 통하여 입력 받을 수 있다. According to an embodiment of the present invention, the method of inputting the text data and the representative value generation rule may be set differently according to the environment used. That is, the SAP system may receive input through an Advanced Business Application Programming (ABAP) extraction parameter and in a web environment through a SOAP (Simple Object Access Protocol) / WSDL (Web Services Description Language) parameter.

또한, 대표값 생성 규칙을 입력받는 과정에서 대표값이 저장될 테이블 위치가 지정되며, 원문 데이터의 암호화 정보가 함께 설정될 수 있다. 원문 데이터의 암호화 정보는 하드웨어 키 보호 모듈 사용 여부, 암호화 알고리즘 (AES, DES, 3DES, SEED 등), 암호화 모드 (CBC, ECB), 초기화 벡터 등을 포함한다.In addition, in the process of receiving the representative value generation rule, a table position where the representative value is stored is designated, and encryption information of the original data may be set together. The encryption information of the original data includes whether to use a hardware key protection module, an encryption algorithm (AES, DES, 3DES, SEED, etc.), an encryption mode (CBC, ECB), an initialization vector, and the like.

S130 단계는 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출한다. 미리 설정된 표현식이란 원문데이터의 표현값에 대하여 대표값 생성 규칙을 부분적으로 적용할 수 있도록 하기 위해 사용자가 미리 설정한 규칙을 의미한다. 미리 설정된 표현식은 괄호()와 Curly Brace {}를 통하여 원문 데이터가 분해되는 양상이 지정될 수 있다. 본 발명에서 부분 데이터를 추출하는 구성은 데이터의 원문으로부터 일부를 추출할 수도 있으며, 추출된 일부를 이용하여 사용자가 미리 설정한 규칙에 따라 생성하는 구성을 포함한다.In operation S130, the original data is parsed based on a preset expression to extract partial data for generating a representative value. The preset expression means a rule preset by the user in order to partially apply the representative value generation rule to the expression value of the original data. Preset expressions can be specified in terms of decomposing the original data through parentheses () and Curly Brace {}. In the present invention, the configuration for extracting the partial data may extract a portion from the original text of the data, and includes a configuration for generating according to a rule preset by the user using the extracted portion.

또한 표현식은 대상 문자열이 지정될 수 있으며 “.”는 임의의 모든 문자를 지정하도록 설정된다. 숫자 및 문자만을 지정하고자 할 경우에는 [0-9a-zA-Z]로 지정하면 된다. 이와 같이 표현식을 사용하여 모든 원문 분해 요구 사항을 지정되도록 설정될 수 있다. The expression can also specify a target string and the "." Is set to any arbitrary character. If you want to specify only numbers and letters, specify [0-9a-zA-Z]. In this way, expressions can be set to specify all text decomposition requirements.

S150 단계는 대표값 치환을 위하여 측정된 시스템 정보 및 상기 대표값 생성 규칙에 기초하여 상기 추출된 부분 데이터를 대표값으로 치환한다. 본 발명의 일 실시예에 따르면, 대표값 생성 규칙은 “=”은 분해된 원문 데이터 부분를 보존,“\t”는 난문을 생성하여 토큰화, “일반 문자”는 해당 원문 데이터 부분을 치환하도록 설정된다. 난문을 생성하는 “\t” 규칙은 난문 공간을 지정하는 부가적인 속성을 하나의 숫자로 지정하도록 설정될 수 있으며, 지정되지 않을 경우 기본 대표값 생성 규칙에 지정된 속성을 따르도록 설정된다. 숫자 및 문자만을 지정하고자 할 경우에는 [0-9a-zA-Z]로 지정하면 된다. 이와 같이 정규 표현식을 사용하여 모든 원문 분해 요구 사항을 지정할 수 있다. 기본 대표값 생성 규칙은 대표값 치환을 위해 기본적으로 설정된 규칙으로 사용자로부터 별도로 규칙이 설정되지 않는 경우 적용되도록 설정된 규칙을 말한다. “\to”으로 설정된 경우 숫자로만 대표값을 생성하도록 설정된다. 따라서, 복수의 원문 데이터에 대하여 순서를 유지하며 대표값을 생성할 수 있도록 한다. “\t1”로 설정된 경우 대표값은 “al2fed”와 같이 16진수 및 알파벳 소문자로 생성하도록 설정된다. “\t2”로 설정된 경우 대표값은 “A12FED”와 같이 16진수 및 알파벳 대문자로 생성하도록 설정된다. “\t3”로 설정된 경우 대표값은 “A12fed”와 같이 16진수 및 알파벳 대문자 및 소문자를 혼합하여 생성하도록 설정된다. “\t4”로 설정된 경우 대표값은 “cz4qt7”와 같이 숫자 및 문자, 소문자 알파벳을 혼합하여 생성하도록 설정된다. “\t5”로 설정된 경우 대표값은 “CZ4QTZ”와 같이 숫자 및 문자, 대문자 알파벳을 혼합하여 생성하도록 설정된다. “\t6”로 설정된 경우 대표값은 “Cz4QtZ”와 같이 숫자 및 문자, 대문자 알파벳을 혼합하여 생성하도록 설정된다. In step S150, the extracted partial data is replaced with the representative value based on the measured system information and the representative value generation rule for the representative value substitution. According to an embodiment of the present invention, the representative value generation rule is set to “=” to preserve the decomposed text data portion, “\ t” to generate a difficulty text, and to tokenize and “normal character” to replace the text data portion. do. The “\ t” rule for generating a random number can be set to specify an additional attribute that specifies the random number space as a single number, if not specified, to follow the attribute specified in the default representative value generation rule. If you want to specify only numbers and letters, specify [0-9a-zA-Z]. As such, regular expressions can be used to specify all text decomposition requirements. The basic representative value generation rule is a rule set basically for substitution of representative values and refers to a rule set to be applied when a rule is not set separately from the user. When set to "\ to", only representative values are generated. Therefore, it is possible to generate the representative value while maintaining the order of the plurality of original data. If it is set to “\ t1”, the representative value is set to generate in hexadecimal and lowercase alphabet like “al2fed”. If it is set to "\ t2", the representative value is set to generate in hexadecimal and alphabet uppercase like "A12FED". When set to "\ t3", the representative value is set to generate a mixture of hexadecimal characters, uppercase and lowercase alphabets, such as "A12fed". When set to “\ t4”, the representative value is set to generate a mixture of numbers, letters, and lowercase alphabets such as “cz4qt7”. When set to "\ t5", the representative value is set to generate a mixture of numbers, letters, and uppercase alphabets, such as "CZ4QTZ". When set to "\ t6", the representative value is set to generate a mixture of numbers, letters, and uppercase alphabets like "Cz4QtZ".

도 2를 참조하여 본 발명의 일 실시예에 따른 원문 데이터를 파싱하는 단계 및 대표값 치환 단계에 대하여 보다 상세히 설명한다. Referring to Figure 2 will be described in more detail with respect to the step of parsing the text data and the representative value replacement step according to an embodiment of the present invention.

S210단계는 입력받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성한다. 본 발명의 실시예에 따르면 특정 기호, 문자 등을 기준으로 입력받은 대표값 생성 규칙을 구별하여 대표값 생성 규칙을 데이터 변환 규칙으로 파싱할 수 있다. 예를 들어, 데이터 변환 규칙을 생성하기 위한 기준이 “|”으로 설정된 경우 대표값 생성 규칙이“=|\t|00”로 입력되었다면, “=”,”\t”,”00”과 같은 3개의 데이터 변환 규칙이 생성된다. In operation S210, at least one data conversion rule is generated by parsing the input representative value generation rule. According to an embodiment of the present invention, the representative value generation rule may be parsed as a data conversion rule by distinguishing the representative value generation rule received based on a specific symbol, character, or the like. For example, if the criterion for generating data conversion rule is set to “|”, and the representative value generation rule is entered as “= | \ t | 00”, then “=”, ”\ t”, ”00” Three data conversion rules are created.

S220단계는 생성된 적어도 하나 이상의 데이터 변환 규칙을 부분 데이터에 매칭한다. 예를 들어, 원문 데이터를 3개의 부분 데이터로 분할한 경우, 개별 부분 데이터에 대하여 3개의 데이터 변환 규칙을 매칭시킨다. In operation S220, the generated at least one data conversion rule is matched with the partial data. For example, when original text data is divided into three partial data, three data conversion rules are matched with respect to the individual partial data.

S230단계는 데이터의 무결성 및 암호화을 위한 제1 메시지 인증 정보를 생성한다. 메시지 인증 정보란 데이터가 왜곡되지 않았다는 것을 증명하기 위한 정보로서 임의의 길이의 값을 암호화하여 출력된 것이다. 예를 들어, 메시지 인증 정보는 메시지 다이제스트(Message Digest)로 구현될 수 있으며, 이는 데이터 무결성을 보장할 수 있는 기본적 정보로, 단방향 해쉬 기능(one-way hash function)을 가진다. 따라서, 원본 데이터의 미세한 변조라도 감지할 수 있으며, 해쉬값만으로 원본 데이터를 알아낼 수 없고, 원본 데이터를 압축하는 효과를 얻을 수 있다. 본 발명의 경우, SHA-256 메시지 다이제스트(Message Digest)방식이 바람직하다.Step S230 generates first message authentication information for integrity and encryption of data. The message authentication information is information for verifying that data is not distorted and is output by encrypting a value of arbitrary length. For example, the message authentication information may be implemented as a message digest, which is basic information that can guarantee data integrity, and has a one-way hash function. Therefore, even a slight modulation of the original data can be detected, the original data can not be detected only by the hash value, and the effect of compressing the original data can be obtained. In the case of the present invention, SHA-256 message digest method is preferable.

S240단계는 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 시스템 정보에 기초하여 제1 메시지 인증 정보를 시드(seed) 데이터로 변환한다. 시스템의 물리적 사양 정보는 시스템의 구동 성능을 측정하여 획득된 네트워크 시스템의 시각, 물리적 주소(MAC) 또는 메모리를 포함하는 정보를 포함한다. 네트워크 엔트로피 정보는 네트워크의 활동량을 표시하는 정보로서 시스템의 네트워크 성능을 측정하여 획득된 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 정보이다. 즉, 제1 메시지 인증 정보를 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보를 이용하여 암호화 및 무결설 검증을 위한 시드(seed) 데이터를 생성한다. 따라서, 시스템의 사양 정보에 대한 사칙연산, 진수변환, 또는 치환과 같은 사용자가 미리 설정한 컴퓨터에서 수행 가능한 연산을 이용하여 시드 데이터를 생성한다. 시드 데이터를 생성하는 것은 암호화와 연관된 것이므로 사용자가 임의로 설정함으로서 외부에 시드 데이터 생성 규칙이 유출되는 것을 방지하는 것이 바람직하다. In operation S240, the first message authentication information is converted into seed data based on system information including physical specification information and network entropy information of the system. The physical specification information of the system includes information including the time, physical address (MAC) or memory of the network system obtained by measuring the driving performance of the system. The network entropy information is information indicating the amount of activity of the network, and includes route hop information obtained by measuring network performance of the system, transmission rate per socket, ping delay rate, or a predetermined random number string. That is, the first message authentication information is generated using the physical specification information of the system and the network entropy information to generate seed data for encryption and zero defect verification. Therefore, the seed data is generated by using a user-preset computer operation such as arithmetic operation, hex conversion, or substitution of the specification information of the system. Since generating seed data is associated with encryption, it is desirable to prevent the seed data generation rule from leaking to the outside by the user's arbitrary setting.

S250단계는 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator: PRNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 대표값을 생성한다. 로컬 난수 발생기란 데이터 저장장치, 데이터 서버와 같이 네트워크에서 호스트 기능을 수행하는 시스템상 동작하는 난수 발생기를 의미한다. 즉, 본 발명의 일 실시예에 따라 로컬(또는 호스트)시스템과 클라이언트 시스템으로 구성된 시스템에서 구현될 수 있다. In operation S250, a representative value is generated using any one of seed data and a predetermined local random number generator (PRNG) or a client PRNG. The local random number generator refers to a random number generator that operates on a system that performs a host function in a network, such as a data storage device and a data server. That is, it may be implemented in a system consisting of a local (or host) system and a client system according to an embodiment of the present invention.

도 3을 참조하여 본 발명의 다른 실시예에 따른 시드 데이터로 변환하는 단계를 설명한다. Referring to FIG. 3, a step of converting seed data according to another embodiment of the present invention will be described.

S241 단계는 시스템 정보 중 로컬 시스템의 시각 및 물리적 주소(MAC) 정보를 이용하여 제1 메시지 인증 정보를 제1 변환 정보로 생성한다. 로컬 시스템의 시각이란 로컬(또는 호스트(host)) 시스템의 시각 정보를 말하는 것이며, 로컬 시스템의 물리적 주소(MAC) 정보란 네트워크의 매체 액세스 제어(Medium Access Control)에 대한 정보로서 네트워크 기기를 식별할 수 있게 하는 일종의 장치 식별자를 의미한다. S243 단계는 생성된 제1 변환 정보를 시스템 정보 중 클라이언트 시스템의 시각 및 물리적 주소(MAC)정보를 이용하여 제2 변환 정보로 생성한다. 클라이언트 시스템이란 로컬(또는 호스트) 시스템에 연결되는 다수의 개별 시스템을 의미하는 것으로 개별 클라이언트는 사용자로부터 데이터 등을 입력받을 수 있다.In step S241, the first message authentication information is generated as first conversion information by using time and physical address (MAC) information of the local system among the system information. The time of the local system refers to the time information of the local (or host) system, and the physical address (MAC) information of the local system is information about the medium access control of the network and identifies a network device. It is a kind of device identifier that enables it. In operation S243, the generated first conversion information is generated as the second conversion information by using time and physical address (MAC) information of the client system among the system information. The client system refers to a plurality of individual systems connected to a local (or host) system. The individual clients may receive data and the like from a user.

S245 단계는 생성된 제2 변환 정보를 시스템 정보 중 네트워크 엔트로피 정보를 이용하여 제3 변환 정보로 생성한다. 네트워크 엔트로피 정보란 상술한 바와 같이 네트워크의 활동량, 네트워크 성능 등을 알려주는 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 정보를 의미한다. In operation S245, the generated second conversion information is generated as third conversion information by using network entropy information among system information. As described above, the network entropy information means route hop information indicating network activity, network performance, and the like, information including a socket rate, a ping delay rate, or a predetermined random string.

본 발명의 일 실시예에 따르면, S245 단계는 네트워크 엔트로피 정보의 연산 반복 횟수를 산출하는 단계, 제2 메시지 인증 정보를 생성하는 단계, 메시지 변환 정보를 생성하는 단계, 및 제3 변환 정보를 생성하는 단계를 포함한다.According to an embodiment of the present invention, the step S245 may include calculating operation repetition number of network entropy information, generating second message authentication information, generating message conversion information, and generating third conversion information. Steps.

네트워크 엔트로피 정보의 연산 반복 횟수를 산출하는 단계는 로컬 시스템의 시스템상 정보를 이용하여 연산 반복 횟수를 산출한다. 예를 들어, S241 단계에서 측정된 로컬 시스템의 시각 정보를 Long 타입의 데이터로 변환하고, 변환된 수치를 10으로 나눈 나머지 값을 연산 반복 횟수로 산출한다. The calculating of the repetition count of the network entropy information is calculated using the information on the system of the local system. For example, the time information of the local system measured in step S241 is converted into data of long type, and the remaining value obtained by dividing the converted value by 10 is calculated as the number of operation iterations.

제2 메시지 인증 정보를 생성하는 단계는 네트워크 엔트로피 변환을 위한 제2 메시지 인증 정보로서 MD5(Message Digest algorithm 5) Message Digest 방식으로 구현되는 것이 적절하다. The step of generating the second message authentication information is appropriately implemented as a Message Digest algorithm 5 (MD5) Message Digest method as the second message authentication information for network entropy conversion.

메시지 변환 정보를 생성하는 단계는 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 시스템의 네트워크 엔트로피 정보 중 적어도 어느 하나를 이용하여 상기 산출된 연산 반복 횟수만큼 변환하여 제2 메시지 변환 정보를 생성한다. 예를 들어, 시드 데이터의 보안성을 강화하기 위하여 클라이언트 라우트 홉(Route hop) 정보, 클라이언트 소켓 초당 전송률, 클라이언트 핑(ping) 지연율 및 클라이언트에서 미리 설정된 난수 문자열을 순차적으로 곱하는 과정을 산출된 연산 반복 횟수만큼 반복하여 메시지 변환 정보를 생성한다.Generating the message conversion information may be performed by repeating the calculated operation using at least one of route hop information, socket transmission rate per second, ping delay rate, or network entropy information of a system including a predetermined random number string. The second message conversion information is generated by converting the number of times. For example, in order to enhance the security of the seed data, iteratively repeats a process of sequentially multiplying the client route hop information, the client socket transmission rate per second, the client ping delay rate, and a random number string preset by the client. Repeat the number of times to generate message conversion information.

제3 변환 정보를 생성하는 단계는 생성된 메시지 변환 정보를 이용하여 제2 변환 정보를 제3 변환 정보로 생성한다. The generating of the third conversion information generates the second conversion information as the third conversion information by using the generated message conversion information.

S247 단계는 생성된 제3 변환 정보를 네트워크 시스템 중 로컬 시스템의 메모리 정보를 이용하여 시드(seed) 데이터로 변환한다. 로컬 시스템의 메모리 정보란 로컬 시스템의 전체 메모리 정보, 가용 메모리 정보 등을 포함한다. 본 발명의 일 실시예에 따르면, 로컬 시스템 전체 메모리에 관한 정보 및 로컬 시스템 가용 메모리 정보를 순차적으로 제3 변환 정보에 갱신(update)시킴으로서 시드(seed) 데이터를 생성한다.In operation S247, the generated third conversion information is converted into seed data using memory information of a local system of the network system. The memory information of the local system includes total memory information of the local system, available memory information, and the like. According to an embodiment of the present invention, seed data is generated by sequentially updating the information on the entire local system memory and the local system available memory information to the third transformation information.

도 4 및 도 5는 대표값 생성 규칙을 사용하여 대표값이 생성되는 과정을 도시한 참고도이다. 도 4를 참조하여 대표값 생성 과정을 설명한다. 예를 들어, 원문 데이터가 “8809271849326”으로 입력된 경우, 미리 설정된 정규 표현식에 따라 원문 데이터를 파싱(parsing)한다. 본 예에서는 최초 7자리, 나머지 자리, 끝 2자리로 지정된 경우를 설명한다. 따라서, 처음 7자리 데이터인 “8809271”, 나머지 “8493”, 끝 2자리”26”으로 구성된 부분 데이터에 대하여 대표값 생성 규칙을 적용하여 대표값을 생성한다. 대표값 생성 규칙이 “=|\t|00”인 경우 “|”을 기준으로 “=”,”\t”,”00”대표값 생성 규칙을 분할한다. 처음 7자리의 데이터인 “8809271”에 대하여 대표값 생성 규칙이 “=”이 적용되므로 “8809271”을 대표값으로 생성한다. 2번째 부분인 “8493”에 대하여 토큰화를 수행하게 되며, “\t”로만 기재되어 있는 바, 기본 대표값 생성 규칙에 지정되어 있는 속성에 따라 대표값으로 치환한다. 예를 들어, 16진수 및 대소문자 알파벳으로 기본 대표값 생성 규칙이 설정되어 있는 경우 “8493”은 “a3fe”로 변환한다. 나머지 자리에 대하여는 “26”을 “00”으로 치환한다. 4 and 5 are reference diagrams illustrating a process of generating a representative value using the representative value generation rule. A representative value generation process will be described with reference to FIG. 4. For example, when the text data is input as "8809271849326", the text data is parsed according to a preset regular expression. This example describes the case where the first seven digits, the remaining digits, and the last two digits are designated. Therefore, the representative value is generated by applying the representative value generation rule to the partial data consisting of the first seven digits of data “8809271”, the remaining “8493” and the last two digits “26”. If the representative value generation rule is “= | \ t | 00”, the “=”, ”\ t”, ”00” representative value generation rule is divided based on “|”. Since “=” is applied to the representative value generation rule for “8809271” which is the first seven digits of data, “8809271” is generated as the representative value. Tokenization is performed on the second part, “8493”. It is written only as “\ t” and is replaced with the representative value according to the attribute specified in the basic representative value generation rule. For example, if the default representative value generation rule is set in hexadecimal and upper and lower case alphabets, “8493” is converted to “a3fe”. For the remaining positions, replace "26" with "00".

도 5의 경우에는 “8493”에 대하여“\t6”을 적용하는바, 생성된 대표값은 “Cz4Q”가 되어 모든 알파벳으로 확장되어 치환된 것을 도시한다. In the case of Fig. 5, "\ t6" is applied to "8493", and the generated representative value becomes "Cz4Q", which shows that all letters are expanded and substituted.

도 6은 본 발명의 일 실시예에 따른 체크섬을 산출하는 단계를 더 포함하는 데이터 보호 방법에 대하여 도시한 순서도이다. 도 6을 참조하여 설명하며, 상술한 데이터 보호 방법과 동일한 내용은 상술한 내용으로 대체한다.6 is a flow chart illustrating a data protection method further comprising calculating a checksum according to an embodiment of the present invention. A description will be given with reference to FIG. 6, and the same content as the above-described data protection method is replaced with the above description.

S110 단계에서 원문 데이터 및 대표값 생성 규칙을 입력받는다.In step S110, the text data and the representative value generation rule are received.

S130 단계에서 원문 데이터를 파싱하여 부분데이터를 생성한다.In step S130, the original data is parsed to generate partial data.

S150 단계에서 시스템 정보 및 대표값 생성 규칙에 기초하여 부분데이터를 대표값으로 치환한다.In operation S150, the partial data is replaced with the representative value based on the system information and the representative value generation rule.

S170 단계에서 전송 중 에러 검출에 사용되는 체크섬(checksum)을 산출하고, 산출된 체크섬(checksum)을 이용하여 최종 대표값을 생성한다. 본 발명의 일 실시예에 따르면, 최종 대표값을 생성하는 단계는 체크섬(checksum)을 산출하는 단계 및 최종 대표값을 생성하는 단계을 포함한다.In operation S170, a checksum used for error detection during transmission is calculated, and a final representative value is generated using the calculated checksum. According to an embodiment of the present invention, generating the final representative value includes calculating a checksum and generating a final representative value.

체크섬(checksum)을 산출하는 단계는 생성된 대표값을 체크섬을 생성하기 위한 코드로 변환하고, 상기 변환된 코드 및 난수 문자열을 이용하여 체크섬(checksum)을 산출한다. 본 발명의 일 실시예에 따르면, 대표값 중 전부 또는 일부에 대하여 코드로 변환할 수 있으며 대표값의 마지막 자리를 제외한 각 자리의 문자를 아스키 코드 값으로 변환할 수 있다. 따라서, 변환된 아스키 코드값을 클라이언트 등에서 생성되어 전송된 난수 문자열의 각 해당 아스키 코드값 및 자리수와 함께 곱하고, 곱한값을 모두 더하여 체크섬(chekcksum)을 산출한다. 난수 문자열은 사용자에 의하여 미리 설정될 수도 있고 클라이언트마다 정의되도록 설정될 수 도 있다.The calculating of the checksum may be performed by converting the generated representative value into a code for generating a checksum, and calculating a checksum using the converted code and the random number string. According to an embodiment of the present invention, all or part of the representative value may be converted into a code, and characters of each digit except the last digit of the representative value may be converted into ASCII code values. Accordingly, the converted ASCII code value is multiplied with each corresponding ASCII code value and the number of digits of the random number string generated and transmitted by the client, and the sum is added to calculate a checksum. The random number string may be preset by the user or set to be defined for each client.

최종 대표값을 생성하는 단계는 산출된 체크섬을 상기 대상값 중 적어도 일부에 대체하여 최종 대표값을 생성한다. 본 발명의 일 실시예에 따르면, 산출된 체크섬을 10으로 나눈 나머지를 대표값의 마지막 자리에 대체하여 최종 대표값을 생성할 수 있다. Generating a final representative value generates a final representative value by replacing the calculated checksum with at least some of the target values. According to an embodiment of the present invention, the final representative value may be generated by replacing the remainder obtained by dividing the calculated checksum by 10 at the last position of the representative value.

도 7은 체크섬(checksum)을 산출하는 단계를 도시한 참고도이다. 도 7을 참조하여 체크섬을 산출하는 단계를 설명하면, 예를 들어, 대표값으로 “809271Cz4Q00”이 생성된 경우, 생성된 대표값에 대하여 각각 아스키 코드로 변환한다. 또한, 클라이언트마다 정의된 난수 문자열인 클라이언트 정의 난수 문자열“QtSaBE7txzZYq”에 대하여 각각 아스키 코드로 변환하고 문자열의 자리수와 함께 대표값을 변환한 아스키 코드에 곱한다. 즉, “809271Cz4Q00”의 제일 처음 자리인 “8”의 아스키 코드 변환값인 “56”, “QtSaBE7txzZYq”의 제일 첫 문자인 “Q”의 아스키 코드 변환값인 “81” 및 “Q”는 문자열의 12자리에 위치하고 있으므로 12를 곱한다. 따라서, 56*81*12의 값을 가지게 되며, 동일한 과정을 대표값에 대하여 미리 정해진 범위만큼 수행한다. 수행된 값들을 모두 더하면 “453576”이라는 체크섬(checksum)이 산출된다. 산출된 체크섬에 대하여 10으로 나눈 나머지인 6을 대표값의 마지막 자리에 대체하여 “809271Cz4Q06”을 최종 대표값으로 생성한다. 7 is a reference diagram illustrating a step of calculating a checksum. Referring to FIG. 7, the step of calculating the checksum is described. For example, when “809271Cz4Q00” is generated as the representative value, the generated representative value is converted into an ASCII code. In addition, the client-defined random string "QtSaBE7txzZYq", which is a random string defined for each client, is converted into an ASCII code, and the ASCII code obtained by converting the representative value with the digits of the string is multiplied. That is, ASCII code conversion value of “8”, which is the first digit of “809271Cz4Q00”, “56”, ASCII code conversion value of “Q” which is the first character of “QtSaBE7txzZYq”, Since it is located at 12 digits, multiply by 12. Therefore, it has a value of 56 * 81 * 12 and performs the same process by a predetermined range with respect to the representative value. Adding all the results together yields a checksum of "453576". For the calculated checksum, 6, the remainder divided by 10, is replaced with the last digit of the representative value to generate “809271Cz4Q06” as the final representative value.

도 8은 본 발명의 일 실시예에 다라 복수의 원문 데이터에 대하여 상대적인 순서를 유지하며 복수의 대표값으로 치환하는 데이터 보호 방법에 대한 순서도이다. 상술한 데이터 보호 방법과 동일한 내용은 상술한 내용으로 대체한다. 8 is a flowchart illustrating a data protection method of maintaining a relative order with respect to a plurality of original data and substituting a plurality of representative values according to an embodiment of the present invention. The same contents as the above-described data protection method are replaced with the above contents.

S310 단계에서 대표값 생성의 대상이 되는 복수의 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는다.In operation S310, a plurality of original text data that is a target value generation target and a representative value generation rule for converting the original text data are received.

S330 단계에서 복수의 원문 데이터들에 대하여 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출한다.In operation S330, partial data for generating a representative value is extracted by parsing the plurality of original data based on a preset expression.

S350 단계에서 복수의 원문 데이터들에 대하여 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 대표값으로 치환하며, S350단계에서 대표값으로 치환하는 단계는 복수의 원문 데이터의 순서와 일치하도록 복수의 대표값으로 치환한다. 본 발명에서 원문 데이터의 순서와 일치하도록 복수의 대표값으로 치환하는 단계는 “Order Preserving Encryption for Numeric Data”(Argawal 외3인, SIGMOD(Special Interest Group on Management of Data),2004)을 참조한다. 즉, 각 원문 데이터 부분을 각각 A, B라 하고 대표값 부분을 A’, B’라 할 때, A < B 이며 A’ < B’이다.In operation S350, the partial data for generating a representative value is parsed based on a preset expression for the plurality of original data and replaced with the representative value, and in step S350, the representative data is replaced with the representative data. Replace with a plurality of representative values to match the order of. In the present invention, the step of substituting a plurality of representative values to match the order of the original data refers to "Order Preserving Encryption for Numeric Data" (Argawal et al., Special Interest Group on Management of Data (2004), 2004). In other words, when each text data portion is A and B, and the representative value portions are A 'and B', A <B and A '<B'.

S350 단계는 입력받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성하는 단계, 생성된 적어도 하나 이상의 데이터 변환 규칙을 부분 데이터에 매칭시키는 단계 및 시스템 정보를 이용하여 매칭된 데이터 변환 규칙에 따라 추출된 부분 데이터를 대표값으로 생성하는 단계를 포함한다. 본 발명의 일 실시예에 따르면, 대표값으로 생성하는 단계는 시스템 정보를 이용하여 시드(seed) 데이터를 생성하는 단계 및 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator :PRNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 매칭된 데이터 변환 규칙을 기초로 대표값을 생성하는 단계를 포함한다. 바람직하게는 시드(seed) 데이터를 생성하는 단계는 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하는 단계 및 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 시스템 정보에 기초하여 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계를 포함하는 것을 특징으로 한다.In step S350, parsing the input representative value generation rule to generate at least one or more data conversion rules, matching the generated at least one or more data conversion rules to partial data, and matching the matched data conversion rules using system information. And generating partial data extracted according to the representative value. According to an embodiment of the present invention, the step of generating the representative value may include generating seed data using system information and generated seed data and a preset local random number generator: Generating representative values based on the matched data conversion rules using either PRNG) or client PRNG. Preferably, generating seed data comprises generating first message authentication information for data integrity and encryption, and first message authentication based on system information including physical specification information and network entropy information of the system. And converting the information into seed data.

도 9a 및 도 9b를 참조하여 설명하면 “8809271” < “9001172” 이므로, 각각의 대표값이 이의 순서를 유지하여 “2461495”와 “3122773”으로 생성되도록 하는 것이다. 이러한 구성은 주민등록번호의 앞 7자리와 같이 범위 검색에 빈번히 사용되는 데이터를 보호하기에 바람직하다.Referring to FIGS. 9A and 9B, since "8809271" <"9001172", each representative value is generated to be "2461495" and "3122773" by maintaining its order. This configuration is desirable to protect data that is frequently used for range searches, such as the first seven digits of a social security number.

도 10은 본 발명의 일 실시예에 따른 데이터 보호 장치를 도시한 블록도이다. 도 10을 참조하여 데이터 보호 장치를 설명하며, 상술한 데이터 보호 방법과 동일한 내용은 상술한 내용으로 대체한다. 데이터 보호 장치는 데이터 입력부(100), 부분 데이터 추출부(200) 및 대표값 치환부(300)를 포함한다.10 is a block diagram illustrating a data protection device according to an embodiment of the present invention. A data protection device will be described with reference to FIG. 10, and the same content as the above-described data protection method is replaced with the above description. The data protection device includes a data input unit 100, a partial data extracting unit 200, and a representative value replacing unit 300.

데이터 입력부(100)는 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는다.The data input unit 100 receives original text data that is a target value generation target and a representative value generation rule for converting the original text data.

부분 데이터 추출부(200)는 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출한다.The partial data extracting unit 200 parses the original text data based on a preset expression and extracts partial data for generating a representative value.

대표값 치환부(300)는 대표값 치환을 위하여 측정된 시스템 정보 및 상기 대표값 생성 규칙에 기초하여 상기 추출된 부분 데이터를 대표값으로 치환한다.The representative value replacing unit 300 replaces the extracted partial data with the representative value based on the measured system information and the representative value generation rule for the representative value substitution.

본 발명의 일 실시예에 따르면 대표값 치환부는 데이터 변환 규칙 생성부(310), 부분 데이터 매칭부(330) 및 대표값 생성부(350)를 포함한다.According to an embodiment of the present invention, the representative value replacing unit includes a data conversion rule generating unit 310, a partial data matching unit 330, and a representative value generating unit 350.

데이터 변환 규칙 생성부(310)는 입력받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성한다.The data conversion rule generator 310 parses the input representative value generation rule to generate at least one data conversion rule.

부분 데이터 매칭부(330)는 생성된 적어도 하나 이상의 데이터 변환 규칙을 부분 데이터에 매칭시킨다.The partial data matching unit 330 matches the generated at least one data conversion rule with the partial data.

대표값 생성부(350)는 시스템 정보를 이용하여 매칭된 데이터 변환 규칙에 따라 추출된 부분 데이터를 대표값으로 생성한다.The representative value generator 350 generates the partial data extracted according to the matched data conversion rule using the system information as the representative value.

바람직하게는 대표값 생성부(350)는 시스템 정보를 이용하여 시드(seed) 데이터를 생성하는 시드 데이터 생성부(351) 및 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator :PRNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 매칭된 데이터 변환 규칙을 기초로 대표값을 생성하는 대표값 변환부(357)를 포함한다.Preferably, the representative value generator 350 may include a seed data generator 351 for generating seed data using system information, a generated seed data, and a preset local random number generator. Representative value conversion unit 357 for generating a representative value based on the matched data conversion rule using either: PRNG) or the client PRNG.

시드(seed) 데이터 생성부(351)는 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하는 제1 메시지 인증 정보 생성부(353) 및 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 시스템 정보에 기초하여 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 시드 데이터 변환부(355)를 포함한다.
The seed data generator 351 may include a first message authentication information generator 353 for generating first message authentication information for data integrity and encryption, and system information including physical specification information and network entropy information of the system. And a seed data converter 355 converting the first message authentication information into seed data based on the.

본 발명에 의한 실시예들은 컴퓨터 프로그램으로 작성 가능하다. 이 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(Computer Readable Media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 실시예를 구현한다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
Embodiments of the present invention can be written in a computer program. The code and code segments that make up this computer program can be easily deduced by a computer programmer in the field. In addition, the computer program is stored in a computer readable medium (Computer Readable Media), and the embodiment is implemented by being read and executed by a computer. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.

이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로, 상기 개시된 실시예 들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.
So far I looked at the center of the preferred embodiment for the present invention. It will be understood by those skilled in the art that the present invention may be embodied in various other forms without departing from the spirit or essential characteristics thereof. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope should be construed as being included in the present invention.

Claims (18)

데이터 입력부가 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 단계;
데이터 추출부가 상기 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 단계;
대표값 치환부가 상기 입력 받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성하는 단계;
상기 대표값 치환부가 상기 생성된 적어도 하나 이상의 데이터 변환 규칙을 상기 부분 데이터에 매칭시키는 단계;
상기 대표값 치환부가 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하는 단계;
상기 대표값 치환부가 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 상기 시스템 정보에 기초하여 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계; 및
상기 대표값 치환부가 상기 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator: RPNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 상기 부분 데이터에 매칭된 데이터 변환 규칙을 기초로 상기 대표값을 생성하는 단계;
를 포함하되, 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계는,
상기 시스템 정보 중 로컬 시스템의 시각 및 물리적 주소(MAC) 정보를 이용하여 상기 제1 메시지 인증 정보를 제1 변환 정보로 생성하는 단계;
상기 생성된 제1 변환 정보를 상기 시스템 정보 중 클라이언트 시스템의 시각 및 물리적 주소(MAC)정보를 이용하여 제2 변환 정보로 생성하는 단계;
상기 생성된 제2 변환 정보를 상기 시스템 정보 중 네트워크 엔트로피 정보를 이용하여 제3 변환 정보로 생성하는 단계; 및
상기 생성된 제3 변환 정보를 네트워크 시스템 중 로컬 시스템의 메모리 정보를 이용하여 시드(seed) 데이터로 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 보호 방법.
Receiving, by a data input unit, original text data that is a target value generation target and a representative value generation rule for converting the original text data;
Extracting, by a data extracting unit, partial data for generating a representative value by parsing the original data based on a preset expression;
Generating at least one data conversion rule by parsing the input representative value generation rule by a representative value substitution unit;
The representative value replacing unit matching the generated at least one data conversion rule to the partial data;
Generating, by the representative value substitution unit, first message authentication information for data integrity and encryption;
Converting, by the representative value replacing unit, the first message authentication information into seed data based on the system information including physical specification information and network entropy information of the system; And
The representative value substitute is based on a data conversion rule matched to the partial data using any one of the generated seed data and a predetermined local random number generator (RPNG) or a client PRNG. Generating a value;
Including, but converting the first message authentication information to seed (seed) data,
Generating the first message authentication information as first translation information by using time and physical address (MAC) information of a local system among the system information;
Generating the first converted information as second converted information by using time and physical address (MAC) information of a client system among the system information;
Generating the generated second transformation information into third transformation information by using network entropy information of the system information; And
And converting the generated third conversion information into seed data using memory information of a local system of a network system.
삭제delete 삭제delete 삭제delete 제1 항에 있어서, 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계는
시스템의 구동 성능을 측정하여 획득된 네트워크 시스템의 시각, 물리적 주소(MAC) 또는 메모리를 포함하는 상기 시스템의 물리적 사양 정보 중 적어도 어느 하나를 이용하여 변환하는 단계; 및
시스템의 네트워크 성능을 측정하여 획득된 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 시스템의 네트워크 엔트로피 정보 중 적어도 어느 하나를 이용하여 변환하는 단계를 포함하는 것을 특징으로 하는 데이터 보호 방법.
The method of claim 1, wherein the converting the first message authentication information into seed data comprises:
Measuring driving performance of the system and converting the system using at least one of physical specification information of the system including a time, a physical address (MAC), or a memory of the network system; And
Converting at least one of route hop information obtained by measuring the network performance of the system, the network entropy information of the system including a socket transfer rate, a ping delay rate, or a predetermined random number string. Data protection method comprising a.
삭제delete 제1 항에 있어서, 상기 제3 변환 정보로 생성하는 단계는
상기 로컬 시스템의 시각 정보를 이용하여 상기 네트워크 엔트로피 정보의 연산 반복 횟수를 산출하는 단계;
네트워크 엔트로피 정보의 변환을 위한 제2 메시지 인증 정보를 생성하는 단계;
상기 제2 메시지 인증 정보를 라우트 홉(Route hop) 정보, 소켓 초당 전송률, 핑(ping) 지연율 또는 미리 설정된 난수 문자열을 포함하는 시스템의 네트워크 엔트로피 정보 중 적어도 어느 하나를 이용하여 상기 산출된 연산 반복 횟수만큼 변환하여 메시지 변환 정보를 생성하는 단계; 및
상기 생성된 메시지 변환 정보를 이용하여 상기 생성된 제2 변환 정보를 제3 변환 정보로 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 보호 방법.
The method of claim 1, wherein the generating of the third transform information comprises:
Calculating a repetition number of operations of the network entropy information using time information of the local system;
Generating second message authentication information for converting network entropy information;
The calculated number of operations iterations using the second message authentication information using at least one of route hop information, socket per second rate, ping delay rate, or network entropy information of a system including a predetermined random number string. Converting as much as possible to generate message conversion information; And
And generating the generated second conversion information as third conversion information by using the generated message conversion information.
제1 항에 있어서,
전송 중 에러 검출에 사용되는 체크섬(checksum)을 산출하고, 산출된 체크섬(checksum)을 이용하여 최종 대표값을 생성하는 단계를 더 포함하는 것을 특징으로 하는 데이터 보호 방법.
The method according to claim 1,
Calculating a checksum used for error detection during transmission, and generating a final representative value using the calculated checksum.
제8 항에 있어서, 상기 최종 대표값을 생성하는 단계는
생성된 대표값을 체크섬을 생성하기 위한 코드로 변환하고, 상기 변환된 코드 및 난수 문자열을 이용하여 체크섬(checksum)을 산출하는 단계; 및
상기 산출된 체크섬을 상기 대표값 중 적어도 일부에 대체하여 최종 대표값을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 보호 방법.
The method of claim 8, wherein generating the final representative value
Converting the generated representative value into code for generating a checksum, and calculating a checksum using the converted code and a random string; And
And replacing the calculated checksum with at least a portion of the representative value to produce a final representative value.
데이터 입력부가 대표값 생성의 대상이 되는 복수의 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 단계;
데이터 추출부가 상기 복수의 원문 데이터들에 대하여 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 단계; 및
대표값 치환부가 상기 입력 받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성하는 단계;
상기 대표값 치환부가 상기 생성된 적어도 하나 이상의 데이터 변환 규칙을 상기 부분 데이터에 매칭시키는 단계;
상기 대표값 치환부가 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하는 단계;
상기 대표값 치환부가 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 상기 시스템 정보에 기초하여 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계; 및
상기 대표값 치환부가 상기 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator: RPNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 상기 부분 데이터에 매칭된 데이터 변환 규칙을 기초로 상기 대표값을 생성하는 단계;
를 포함하되, 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하는 단계는,
상기 시스템 정보 중 로컬 시스템의 시각 및 물리적 주소(MAC) 정보를 이용하여 상기 제1 메시지 인증 정보를 제1 변환 정보로 생성하는 단계;
상기 생성된 제1 변환 정보를 상기 시스템 정보 중 클라이언트 시스템의 시각 및 물리적 주소(MAC)정보를 이용하여 제2 변환 정보로 생성하는 단계;
상기 생성된 제2 변환 정보를 상기 시스템 정보 중 네트워크 엔트로피 정보를 이용하여 제3 변환 정보로 생성하는 단계; 및
상기 생성된 제3 변환 정보를 네트워크 시스템 중 로컬 시스템의 메모리 정보를 이용하여 시드(seed) 데이터로 변환하는 단계를 포함하며,
여기서, 상기 대표값을 생성하는 단계는 상기 복수의 원문 데이터의 순서와 일치하도록 복수의 대표값을 생성하는 것을 특징으로 하는 데이터 보호 방법.
Receiving, by a data input unit, a plurality of original text data that is a target value generation target and a representative value generation rule for converting the original text data;
Extracting, by a data extracting unit, partial data for generating a representative value by parsing the plurality of original data based on a preset expression; And
Generating at least one data conversion rule by parsing the input representative value generation rule by a representative value substitution unit;
The representative value replacing unit matching the generated at least one data conversion rule to the partial data;
Generating, by the representative value substitution unit, first message authentication information for data integrity and encryption;
Converting, by the representative value replacing unit, the first message authentication information into seed data based on the system information including physical specification information and network entropy information of the system; And
The representative value substitute is based on a data conversion rule matched to the partial data using any one of the generated seed data and a predetermined local random number generator (RPNG) or a client PRNG. Generating a value;
Including, but converting the first message authentication information to seed (seed) data,
Generating the first message authentication information as first translation information by using time and physical address (MAC) information of a local system among the system information;
Generating the first converted information as second converted information by using time and physical address (MAC) information of a client system among the system information;
Generating the generated second transformation information into third transformation information by using network entropy information of the system information; And
Converting the generated third conversion information into seed data using memory information of a local system of a network system;
The generating of the representative value may include generating a plurality of representative values to match the order of the plurality of original text data.
삭제delete 삭제delete 삭제delete 대표값 생성의 대상이 되는 원문 데이터 및 상기 원문 데이터를 변환하기 위한 대표값 생성 규칙을 입력받는 데이터 입력부;
상기 원문 데이터를 미리 설정된 표현식을 기초로 파싱(paring)하여 대표값을 생성하기 위한 부분 데이터를 추출하는 부분 데이터 추출부; 및
상기 입력 받은 대표값 생성 규칙을 파싱하여 적어도 하나 이상의 데이터 변환 규칙을 생성하고, 상기 생성된 적어도 하나 이상의 데이터 변환 규칙을 상기 부분 데이터에 매칭시키며, 데이터 무결성 및 암호화를 위한 제1 메시지 인증 정보를 생성하며, 시스템의 물리적 사양 정보 및 네트워크 엔트로피 정보가 포함된 상기 시스템 정보에 기초하여 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하며, 상기 생성된 시드(seed) 데이터 및 미리 설정된 로컬 난수 발생기(Pseudo Random Number Generator: RPNG) 또는 클라이언트 PRNG 중 어느 하나를 이용하여 상기 부분 데이터에 매칭된 데이터 변환 규칙을 기초로 상기 대표값을 생성하는 대표값 치환부;
를 포함하고, 상기 대표값 치환부는 상기 제1 메시지 인증 정보를 시드(seed) 데이터로 변환하되,
상기 시스템 정보 중 로컬 시스템의 시각 및 물리적 주소(MAC) 정보를 이용하여 상기 제1 메시지 인증 정보를 제1 변환 정보로 생성하고,
상기 생성된 제1 변환 정보를 상기 시스템 정보 중 클라이언트 시스템의 시각 및 물리적 주소(MAC)정보를 이용하여 제2 변환 정보로 생성하며,
상기 생성된 제2 변환 정보를 상기 시스템 정보 중 네트워크 엔트로피 정보를 이용하여 제3 변환 정보로 생성하며,
상기 생성된 제3 변환 정보를 네트워크 시스템 중 로컬 시스템의 메모리 정보를 이용하여 시드(seed) 데이터로 변환하는 것을 특징으로 하는 데이터 보호 장치.
A data input unit configured to receive original text data that is a target value generation target and a representative value generation rule for converting the original text data;
A partial data extraction unit for parsing the original text data based on a preset expression and extracting partial data for generating a representative value; And
Parse the input representative value generation rule to generate at least one data conversion rule, match the generated at least one data conversion rule to the partial data, and generate first message authentication information for data integrity and encryption. And converting the first message authentication information into seed data based on the system information including physical specification information and network entropy information of the system, and generating the seed data and a preset local random number generator. A representative value substitution unit configured to generate the representative value based on a data conversion rule matched to the partial data using either Pseudo Random Number Generator (RPNG) or a client PRNG;
Wherein, The representative value substitution unit converts the first message authentication information into seed (seed) data,
Generating the first message authentication information as first conversion information by using time and physical address (MAC) information of a local system among the system information;
Generating the first converted information as second converted information by using time and physical address (MAC) information of a client system among the system information;
Generating the second converted information as third converted information by using network entropy information among the system information;
And converting the generated third conversion information into seed data using memory information of a local system of a network system.
삭제delete 삭제delete 삭제delete 제1 항, 제5항, 제7항 내지 제10 항 중 어느 한 항의 데이터 보호 방법을 컴퓨터에서 실행가능하도록 기록한 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.

A computer readable recording medium having recorded thereon the data protection method of any one of claims 1, 5, and 7 to 10 for executable by a computer.

KR1020120037404A 2011-09-02 2012-04-10 Data protecting method and apparatus by replacing representative value KR101321800B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110088953 2011-09-02
KR20110088953 2011-09-02

Publications (2)

Publication Number Publication Date
KR20130025800A KR20130025800A (en) 2013-03-12
KR101321800B1 true KR101321800B1 (en) 2013-11-21

Family

ID=48177352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120037404A KR101321800B1 (en) 2011-09-02 2012-04-10 Data protecting method and apparatus by replacing representative value

Country Status (1)

Country Link
KR (1) KR101321800B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221331A1 (en) * 2020-04-29 2021-11-04 (주)폰트릭스 Method for encoding text, and device for implementing same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3553984B2 (en) * 1992-06-03 2004-08-11 富士通株式会社 Apparatus and method for generating character string replacement rule
KR20060130570A (en) * 2003-11-28 2006-12-19 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and apparatus for encoding or decoding a bitstream
KR20110029164A (en) * 2008-07-07 2011-03-22 제너럴 인스트루먼트 코포레이션 Adaptive generation of a pseudo random number generator seed

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3553984B2 (en) * 1992-06-03 2004-08-11 富士通株式会社 Apparatus and method for generating character string replacement rule
KR20060130570A (en) * 2003-11-28 2006-12-19 코닌클리케 필립스 일렉트로닉스 엔.브이. Method and apparatus for encoding or decoding a bitstream
KR20110029164A (en) * 2008-07-07 2011-03-22 제너럴 인스트루먼트 코포레이션 Adaptive generation of a pseudo random number generator seed

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221331A1 (en) * 2020-04-29 2021-11-04 (주)폰트릭스 Method for encoding text, and device for implementing same
KR20210134135A (en) * 2020-04-29 2021-11-09 (주)폰트릭스 Method of securing text and device implementing thereof
KR102401229B1 (en) * 2020-04-29 2022-05-25 (주)폰트릭스 Method of securing text and device implementing thereof

Also Published As

Publication number Publication date
KR20130025800A (en) 2013-03-12

Similar Documents

Publication Publication Date Title
Boyle et al. Function secret sharing: Improvements and extensions
US11709948B1 (en) Systems and methods for generation of secure indexes for cryptographically-secure queries
US9977918B2 (en) Method and system for verifiable searchable symmetric encryption
EP3168771B1 (en) Poly-logarythmic range queries on encrypted data
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
CN107070847B (en) Frequency hidden order preserving encryption
JP5442161B2 (en) SEARCH SYSTEM, SEARCH SYSTEM SEARCH METHOD, INFORMATION PROCESSING DEVICE, SEARCH PROGRAM, Corresponding Keyword Management Device, and Corresponding Keyword Management Program
US20130262863A1 (en) Searchable encryption processing system
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN110110163A (en) Safe substring search is with filtering enciphered data
Awad et al. Chaotic searchable encryption for mobile cloud storage
US8699703B2 (en) System and method for pseudo-random polymorphic tree construction
CN111587452B (en) Registration device, search operation device, data management device, and computer-readable storage medium
US10984130B2 (en) Efficiently querying databases while providing differential privacy
Khan et al. Secure ranked fuzzy multi-keyword search over outsourced encrypted cloud data
Kermanshahi et al. Geometric range search on encrypted data with forward/backward security
Horalek et al. Analysis of the use of Rainbow Tables to break hash
CN106656500A (en) Encryption device and method
KR101321800B1 (en) Data protecting method and apparatus by replacing representative value
Moataz et al. Substring search over encrypted data
Loh et al. A multi-client DSSE scheme supporting range queries
Kissel et al. Verifiable symmetric searchable encryption for multiple groups of users
CN113626485B (en) Searchable encryption method and system suitable for database management system
Chen et al. Memory leakage-resilient dynamic and verifiable multi-keyword ranked search on encrypted smart body sensor network data
KR102123440B1 (en) Encryption method for supporting range query in multi-client environment and apparatus using the same

Legal Events

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