KR102105368B1 - Data storage and analysis methods and programs in the cloud to prevent the leakage of important information - Google Patents

Data storage and analysis methods and programs in the cloud to prevent the leakage of important information Download PDF

Info

Publication number
KR102105368B1
KR102105368B1 KR1020170161933A KR20170161933A KR102105368B1 KR 102105368 B1 KR102105368 B1 KR 102105368B1 KR 1020170161933 A KR1020170161933 A KR 1020170161933A KR 20170161933 A KR20170161933 A KR 20170161933A KR 102105368 B1 KR102105368 B1 KR 102105368B1
Authority
KR
South Korea
Prior art keywords
data
client computer
identification
cloud server
identifying
Prior art date
Application number
KR1020170161933A
Other languages
Korean (ko)
Other versions
KR20190063095A (en
Inventor
양승준
Original Assignee
주식회사 아이디케이스퀘어드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이디케이스퀘어드 filed Critical 주식회사 아이디케이스퀘어드
Priority to KR1020170161933A priority Critical patent/KR102105368B1/en
Publication of KR20190063095A publication Critical patent/KR20190063095A/en
Application granted granted Critical
Publication of KR102105368B1 publication Critical patent/KR102105368B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램이 개시된다. 클라이언트 컴퓨터가 매핑테이블을 이용하여 원본데이터를 비식별화하는 단계; 상기 클라이언트 컴퓨터가 클라우드 서버로 상기 비식별 데이터를 전송하는 단계; 상기 클라우드 서버가 상기 비식별 데이터를 저장 및 분석하는 단계; 상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 비식별 분석데이터를 전송받는 단계; 및 상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하는 단계;를 포함한다.Methods and programs for safely storing and analyzing data in the cloud are disclosed. The client computer de-identifying the original data using the mapping table; The client computer transmitting the non-identifying data to a cloud server; Storing and analyzing the non-identifying data by the cloud server; Receiving, by the client computer, non-identification analysis data from the cloud server; And identifying, by the client computer, the non-identification analysis data using the mapping table.

Description

중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법 및 프로그램 {Data storage and analysis methods and programs in the cloud to prevent the leakage of important information}Data storage and analysis methods and programs in the cloud to prevent the leakage of important information}

본 발명은 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램에 관한 것으로, 보다 상세하게는 클라이언트의 중요한 정보들이 외부에 공개되지 않도록 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램에 관한 것이다.The present invention relates to a method and program for safely storing and analyzing data in the cloud, and more particularly, to a method and program for safely storing and analyzing data in the cloud so that important information of the client is not disclosed to the outside. .

기존에는 기업들이 별도의 데이터센터를 구축해서 운영하였지만, 최근들어 클라우드 서비스에서 컴퓨팅 인프라 자원을 빌려서 운영하고 있고, 점진적으로 기업 자체의 데이터센터를 줄이고 많은 영역에서 클라우드 서비스를 도입해서 활용하고 있다.In the past, companies have built and operated separate data centers, but recently, they have borrowed and operated computing infrastructure resources from cloud services, and gradually reduced their own data centers and introduced and utilized cloud services in many areas.

그러나, 이러한 클라우드 서버가 해킹되거나, 관리자 외의 사람이 접속할 경우 클라우드 서버의 전체 데이터가 불특정 다수에게 공개되고, 고객들의 중요한 정보가 인터넷 상으로 퍼질 수 있는 문제점이 있다.However, when such a cloud server is hacked, or when a person other than an administrator accesses it, the entire data of the cloud server is disclosed to an unspecified number of people, and there is a problem that important information of customers can spread over the Internet.

본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2012-0128827호 등에 개시되어 있으나, 상술한 문제점에 대한 근본적인 해결책은 제시되고 있지 못하는 실정이다.The technology that is the background of the present invention is disclosed in Korean Patent Publication No. 10-2012-0128827, etc., but a fundamental solution to the above-mentioned problem has not been proposed.

상술한 바와 같은 문제점을 해결하기 위한 본 발명은 원본데이터를 매핑테이블을 통해 비식별화하여 클라우드 서버에 업로드하는 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램을 제공할 수 있다.The present invention for solving the above-described problems can provide a method and a program for safely storing and analyzing data uploaded to a cloud server by de-identifying the original data through a mapping table.

또한, 본 발명은 클라우드 서버에서 비식별 데이터를 분석하여 클라이언트 컴퓨터로 전송하고, 클라이언트 컴퓨터에서 분석된 비식별 데이터를 식별화하여 분석된 데이터를 확인할 수 있는 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램을 제공할 수 있다.In addition, the present invention analyzes non-identifying data from a cloud server and transmits it to a client computer, and identifies and analyzes the non-identifying data analyzed by the client computer to safely store and analyze data in the cloud And programs.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법은, 클라이언트 컴퓨터가 매핑테이블을 이용하여 원본데이터를 비식별화하는 단계; 상기 클라이언트 컴퓨터가 클라우드 서버로 상기 비식별 데이터를 전송하는 단계; 상기 클라우드 서버가 상기 비식별 데이터를 저장 및 분석하는 단계; 상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 비식별 분석데이터를 전송받는 단계; 및 상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하는 단계;를 포함한다.A method for safely storing and analyzing data in the cloud according to an embodiment of the present invention for solving the above-described problems includes: a client computer de-identifying original data using a mapping table; The client computer transmitting the non-identifying data to a cloud server; Storing and analyzing the non-identifying data by the cloud server; Receiving, by the client computer, non-identification analysis data from the cloud server; And identifying, by the client computer, the non-identification analysis data using the mapping table.

또한, 상기 비식별화하는 단계는, 원본데이터 중 숫자형 정보를 매핑테이블의 특정 선형함수를 이용하여 비식별화하는 단계; 및 원본데이터 중 문자형 정보를 매핑테이블의 임의의 문자열로 대체하여 비식별화하는 단계;를 포함한다. In addition, the step of de-identifying may include: de-identifying numeric information in the original data using a specific linear function of the mapping table; And replacing character type information among the original data with an arbitrary character string in the mapping table to de-identify.

또한, 상기 비식별화하는 단계는, 매핑테이블 생성부가 기 설정된 매핑테이블 생성 규칙에 따라서 매핑테이블을 생성하는 단계;를 더 포함한다.In addition, the step of de-identifying further includes the step of generating a mapping table according to a preset mapping table generation rule by the mapping table generator.

또한, 상기 비식별화하는 단계는, 상기 원본데이터 중에서 비식별화할 데이터를 선택받는 단계;를 더 포함한다.In addition, the step of de-identifying further includes the step of receiving data to be de-identified from the original data.

또한, 상기 비식별화하는 단계 이전에, 클라이언트 컴퓨터가 비식별화를 진행하기 위한 해쉬키를 클라우드 서버로 요청하는 단계; 상기 클라우드 서버가 해쉬키를 생성하여 저장하고, 클라이언트 컴퓨터로 해쉬키를 전송하는 단계; 및 상기 클라이언트 컴퓨터가 클라우드 서버와 통신하여 수신된 해쉬키를 검증하는 단계;를 더 포함하고, 상기 식별화하는 단계 이전에, 상기 클라이언트 컴퓨터가 식별화를 진행하기 위한 해쉬키를 클라우드 서버로 요청하는 단계; 상기 클라우드 서버가 해쉬키 저장부에 저장된 해쉬키를 클라이언트 컴퓨터로 전송하는 단계; 및 상기 클라이언트 컴퓨터가 클라우드 서버와 통신하여 수신된 해쉬키를 검증하는 단계;를 더 포함한다.In addition, prior to the de-identifying step, the client computer requesting a hash key to proceed with the de-identification to the cloud server; Generating and storing the hash key by the cloud server, and transmitting the hash key to the client computer; And verifying the hash key received by the client computer in communication with the cloud server. Before the identifying step, the client computer requests the hash key for identification to the cloud server. step; Transmitting the hash key stored in the hash key storage unit to the client computer by the cloud server; And verifying the hash key received by the client computer communicating with the cloud server.

또한, 상기 식별화하는 단계 다음에, 상기 클라이언트 컴퓨터가 상기 식별 분석데이터를 그래프 이미지로 표출하는 단계;를 더 포함한다.In addition, after the identifying step, the client computer displaying the identification analysis data as a graph image; further includes.

또한, 원본데이터 복원이 필요한 경우, 클라이언트 컴퓨터가 클라우드 서버로 비식별 데이터 전송을 요청하는 단계; 및 상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 클라우드 서버로부터 전송받은 비식별 데이터를 식별화하는 단계;를 포함한다.In addition, when it is necessary to restore the original data, the client computer requesting the transfer of non-identifying data to the cloud server; And identifying, by the client computer, non-identification data transmitted from the cloud server using the mapping table.

상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법은, 클라우드 서버가 해쉬키를 생성하여 저장하고, 클라이언트 컴퓨터로 전송하는 단계; 상기 클라이언트 컴퓨터가 수신된 해쉬키를 검증하고, 매핑테이블을 이용하여 원본데이터를 비식별화하는 단계; 상기 클라우드 서버가 클라이언트 컴퓨터로부터 비식별 데이터를 전송받는 단계; 상기 클라우드 서버가 상기 비식별 데이터를 분석하는 단계; 상기 클라우드 서버가 상기 비식별 분석데이터를 클라이언트 컴퓨터로 전송하는 단계; 및 상기 클라이언트 컴퓨터가 해쉬키를 검증하고, 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하는 단계;를 포함한다.A method for safely storing and analyzing data in the cloud according to another embodiment of the present invention for solving the above-described problems includes: a cloud server generating and storing a hash key and transmitting it to a client computer; Verifying the hash key received by the client computer and de-identifying the original data using a mapping table; The cloud server receiving non-identifying data from a client computer; Analyzing, by the cloud server, the non-identifying data; Transmitting, by the cloud server, the non-identification analysis data to a client computer; And verifying the hash key by the client computer and identifying the non-identifying analysis data using the mapping table.

본 발명의 다른 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 언급된 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법을 실행하며, 매체에 저장된다.The program for safely storing and analyzing data in the cloud according to another embodiment of the present invention is combined with a hardware computer to execute a method for safely storing and analyzing the above-mentioned data in the cloud, and stored in a medium.

상기와 같은 본 발명에 따르면, 원본데이터를 클라이언트 컴퓨터 내의 매핑테이블을 통해 비식별화하여 클라우드 서버에 업로드하기 때문에, 클라우드 서버가 타인에게 노출 또는 해킹되어도 데이터를 식별할 수 없는 효과가 있다.According to the present invention as described above, since the original data is de-identified through the mapping table in the client computer and uploaded to the cloud server, the data cannot be identified even if the cloud server is exposed or hacked by others.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 시스템의 블록도.
도 2는 본 발명의 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법의 흐름도.
도 3은 본 발명의 실시예에 따른 숫자형 정보를 비식별화하는 것을 예시한 예시도.
도 4는 본 발명의 실시예에 따른 문자형 정보를 비식별화하는 것을 예시한 예시도.
도 5는 도 3 및 도 4를 통해 원본데이터를 비식별화하여 비식별 데이터로 변환한 것을 예시한 예시도.
1 is a block diagram of a system for safely storing and analyzing data in the cloud according to an embodiment of the present invention.
2 is a flowchart of a method for safely storing and analyzing data in the cloud according to an embodiment of the present invention.
3 is an exemplary diagram illustrating de-identification of numeric information according to an embodiment of the present invention.
4 is an exemplary diagram illustrating the de-identification of character information according to an embodiment of the present invention.
5 is an exemplary view illustrating that the original data is converted into non-identified data by de-identifying the original data through FIGS. 3 and 4.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only the present embodiments allow the disclosure of the present invention to be complete, and are common in the art to which the invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, “comprises” and / or “comprising” does not exclude the presence or addition of one or more other components other than the components mentioned. Throughout the specification, the same reference numerals refer to the same components, and “and / or” includes each and every combination of one or more of the mentioned components. Although "first", "second", etc. are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless explicitly defined.

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

설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to the description, the meaning of terms used in the present specification will be briefly described. However, it should be noted that the description of terms is intended to aid understanding of the present specification, and is not used to limit the technical spirit of the present invention unless explicitly described as a limitation of the present invention.

- 비식별화: 정보(예: 개인정보, 회사 내 정보, 대외비 등)를 식별할 수 없도록 해당 정보의 일부 또는 전부를 변환하는 일련의 과정 또는 방법을 의미한다. 해당 정보의 접근(관리)가 허가된 관리자, 담당자 이외의 사람이 해당 정보를 보고도 식별할 수 없도록 암호화하는 것을 의미한다.-De-identification: Refers to a series of processes or methods that convert some or all of the information so that it cannot be identified (eg, personal information, company information, confidentiality, etc.). It means to encrypt the information so that it is not identifiable even by a person other than the administrator or the person in charge who has access (management) of the information.

- 식별화: 비식별화된 데이터는 해당 데이터의 관리가 허가된 관리자, 담당자가 데이터에 접속하여도 식별할 수 없기 때문에, 비식별화된 데이터를 알아볼 수 있도록 복호화하는 것을 의미한다.-Identification: De-identified data means decryption so that the de-identified data can be recognized because it cannot be identified even when the administrator or the person in charge who is authorized to manage the data accesses the data.

- 원본데이터: 클라이언트가 클라우드에 백업, 분석을 위해 컴퓨터로 업로드한 데이터로, Excel과 같은 프로그램으로 만든 파일일 수 있다.-Original data: Data uploaded to the computer by the client for backup and analysis in the cloud, and may be files created by a program such as Excel.

- 비식별 데이터: 원본데이터가 비식별화된 데이터를 의미한다.-Non-identified data: Original data refers to un-identified data.

- 비식별 분석데이터: 비식별 분석데이터가 클라우드 서버에서 분석된 것으로, 식별할 수 없는 상태의 분석데이터를 의미한다.-Non-identification analysis data: The non-identification analysis data is analyzed in the cloud server, and refers to analysis data in an unidentifiable state.

- 식별 분석데이터: 비식별 분석데이터가 클라이언트 컴퓨터에서 식별화 된 것으로, 식별할 수 있는 상태의 분석데이터를 의미한다.-Identification analysis data: Non-identification analysis data is identified on the client computer, and refers to analysis data in a identifiable state.

도 1은 본 발명의 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 시스템의 블록도이다.1 is a block diagram of a system for safely storing and analyzing data in the cloud according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 시스템은 클라이언트 컴퓨터(100) 및 클라우드 서버(200)를 포함한다.Referring to FIG. 1, a system for safely storing and analyzing data in the cloud according to an embodiment of the present invention includes a client computer 100 and a cloud server 200.

클라이언트 컴퓨터(100)는 매핑테이블 생성부(110), 비식별화 모듈(130), 해쉬키 요청부(120), 해쉬키 매칭부(123), 식별화 모듈(140), 분석데이터 표출부(150) 및 데이터복원 모듈(160)을 포함하고, 클라우드 서버(200)는 해쉬키 생성부(210), 데이터 저장부(220) 및 데이터 분석부(230)를 포함한다.The client computer 100 includes a mapping table generation unit 110, a non-identification module 130, a hash key request unit 120, a hash key matching unit 123, an identification module 140, and an analysis data display unit ( 150) and a data restoration module 160, and the cloud server 200 includes a hash key generation unit 210, a data storage unit 220, and a data analysis unit 230.

매핑테이블 생성부(110)는 원본데이터가 입력되면 비식별화를 진행하기 위해 기 설정된 매핑테이블(115) 생성 규칙에 따라서 매핑테이블(115)을 생성한다. 매핑테이블(115)의 생성에 관한 보다 자세한 내용은 뒤에서 자세히설명하도록 한다.The mapping table generation unit 110 generates a mapping table 115 according to a preset mapping table 115 generation rule to proceed with de-identification when original data is input. More details on the creation of the mapping table 115 will be described in detail later.

비식별화 모듈(130)은 클라이언트 컴퓨터(100)가 원본데이터를 입력받으면, 매핑테이블(115)을 이용하여 입력받은 원본데이터를 비식별화하여 비식별 데이터를 생성한다.When the client computer 100 receives the original data, the de-identification module 130 de-identifies the received original data using the mapping table 115 to generate non-identification data.

이때, 클라이언트 컴퓨터(100)의 비식별화 모듈(130)은 매핑테이블 생성부(110)에서 생성한 매핑테이블(115)을 이용하여 비식별화를 진행하도록 한다.At this time, the de-identification module 130 of the client computer 100 performs de-identification by using the mapping table 115 generated by the mapping table generation unit 110.

또한, 클라이언트 컴퓨터(100)는 차후 비식별 데이터의 식별화를 위하여 비식별화를 진행한 매핑테이블(115)을 기억하도록 하는 것이 바람직하다.In addition, it is preferable that the client computer 100 stores the mapping table 115 that has undergone de-identification for identification of the non-identification data.

이때, 비식별화 모듈(130)은 원본데이터 중에서 문자형 정보를 매핑테이블(115)의 임의의 문자열로 대체하여 비식별화하고, 숫자형 정보를 매핑테이블(115)의 특정 선형함수를 이용하여 비식별화하도록 한다. 비식별화에 관한 보다 자세한 내용은 뒤에서 자세히 설명하도록 한다.At this time, the de-identification module 130 replaces the character-type information among the original data with an arbitrary character string of the mapping table 115, and de-identifies the numeric information using the specific linear function of the mapping table 115. Identify it. More details on de-identification will be explained later.

클라이언트 컴퓨터(100)의 해쉬키 요청부(120)는 매핑테이블(115)을 통해 비식별화를 진행하기 전에, 해쉬키를 요청한다. 이때, 해쉬키는 클라우드 서버(200)의 해쉬키 생성부(210)가 생성하는 것이기 때문에 클라우드 서버(200)에 해쉬키를 요청하도록 한다.The hash key request unit 120 of the client computer 100 requests the hash key before de-identification through the mapping table 115. At this time, since the hash key is generated by the hash key generator 210 of the cloud server 200, the hash key is requested to the cloud server 200.

클라우드 서버(200)의 해쉬키 생성부(210)는 해쉬키를 생성하여 저장하고, 클라이언트 컴퓨터(100)로 전송한다.The hash key generation unit 210 of the cloud server 200 generates and stores the hash key and transmits it to the client computer 100.

클라이언트 컴퓨터(100)의 해쉬키 매칭부(123)는 클라우드 서버(200)로부터 해쉬키가 수신되면, 클라우드 서버(200)와 통신하여 해쉬키 생성부(210)에 저장된 해쉬키와 동일한지 검증한다. 해쉬키 매칭부(123)의 검증결과에 따라서 해쉬키가 일치한다고 판단하면, 비식별화 모듈(130)이 원본데이터의 비식별화를 진행하도록 한다.When the hash key is received from the cloud server 200, the hash key matching unit 123 of the client computer 100 communicates with the cloud server 200 to verify whether it is the same as the hash key stored in the hash key generation unit 210. . If it is determined that the hash keys match according to the verification result of the hash key matching unit 123, the de-identification module 130 proceeds to de-identify the original data.

예컨대, 클라이언트 컴퓨터(100)가 Explorer, Google Chrome, Firefox 같은 웹브라우저(Web Broser) 프로그램을 사용할 경우, 웹브라우저를 통해 클라우드 서버(200)에 접속되고, 클라우드 서버(200)로부터 해쉬키를 수신하면, 웹브라우저 내에서 해쉬키가 적용되어 비식별화 또는 식별화를 진행하도록 하는 것을 의미한다.For example, when the client computer 100 uses a web browser program such as Explorer, Google Chrome, and Firefox, when it is connected to the cloud server 200 through a web browser and receives a hash key from the cloud server 200 , It means that the hash key is applied in the web browser to proceed with de-identification or identification.

여기서, 해쉬키는 데이터의 비식별화 및 식별화를 진행하기 위한 암호를 의미한다. 따라서, 클라이언트 컴퓨터(100)는 클라우드 서버(200)로부터 전송받은 해쉬키가 없으면 데이터의 비식별화 또는 식별화를 진행할 수 없다.Here, the hash key means a password for de-identification and identification of data. Therefore, the client computer 100 cannot proceed with de-identification or identification of data without the hash key received from the cloud server 200.

클라이언트 컴퓨터(100)의 비식별화 모듈(130)이 비식별화를 완료하면, 생성된 비식별 데이터를 클라우드 서버(200)로 전송한다.When the de-identification module 130 of the client computer 100 completes the de-identification, the generated non-identification data is transmitted to the cloud server 200.

클라우드 서버(200)의 데이터 저장부(220)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 저장한다.The data storage unit 220 of the cloud server 200 stores non-identification data received from the client computer 100.

클라우드 서버(200)의 데이터 분석부(230)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 분석한다.The data analysis unit 230 of the cloud server 200 analyzes non-identification data received from the client computer 100.

바람직하게는, 데이터 분석부(230)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 분석하여 비식별 분석데이터를 생성하고, 데이터 저장부(220)에 저장한다.Preferably, the data analysis unit 230 analyzes the non-identification data received from the client computer 100 to generate non-identification analysis data, and stores the non-identification analysis data in the data storage unit 220.

이때, 데이터 분석부(230)는 문자형 정보(이름, 부서, 직급 등)와 같이 분석의 대상이 아닌 정보들은 그대로 유지하고, 숫자형 정보(나이, 근속년수, 연봉, 성과점수 등)와 같은 정보들은 분석 대상이기 때문에 분석을 실시하는 것이 바람직하다.At this time, the data analysis unit 230 maintains information that is not subject to analysis, such as character-type information (name, department, job title, etc.), and information such as numeric information (age, years of service, annual salary, performance score, etc.) It is preferable to conduct an analysis because they are subject to analysis.

또한, 클라이언트 컴퓨터(100)의 비식별화 모듈(130)이 숫자형 정보들에 대해서 선형함수를 이용하여 비식별화하였기 때문에, 각각의 숫자형 정보들은 서로 간의 비율을 유지하고 있기 때문에, 비식별 데이터의 분석이 가능하다.In addition, since the de-identification module 130 of the client computer 100 de-identifies the numeric information using a linear function, each numeric-type information maintains a ratio between each other, so the de-identification Analysis of data is possible.

클라이언트 컴퓨터(100)의 식별화 모듈(140)은 클라이언트 컴퓨터(100)가 클라우드 서버(200)로부터 전송받은 비식별 분석데이터를 식별화한다.The identification module 140 of the client computer 100 identifies the non-identification analysis data received from the cloud server 200 by the client computer 100.

이때, 해쉬키 요청부(120)는 식별화 모듈(140)이 식별화를 진행하기 전에 해쉬키를 요청한다.At this time, the hash key request unit 120 requests the hash key before the identification module 140 proceeds with the identification.

이때, 해쉬키는 원본데이터를 비식별화하기 위해 클라우드 서버(200)의 해쉬키 생성부(210)에서 생성한 해쉬키를 사용하며, 클라이언트 컴퓨터(100)가 해쉬키 생성부(210)에 해쉬키를 요청하여 전송받을 수 있다.At this time, the hash key uses the hash key generated by the hash key generation unit 210 of the cloud server 200 to de-identify the original data, and the client computer 100 hash the hash key generation unit 210 You can request the key and receive it.

해쉬키 매칭부(123)는 클라이언트 컴퓨터(100)가 클라우드 서버(200)로부터 해쉬키를 수신하면, 클라우드 서버(200)와 통신하여 수신된 해쉬키가 해쉬키 생성부(210)에 저장된 해쉬키와 동일한지 검증하고, 해쉬키가 동일하면 식별화 모듈(140)이 식별화를 진행하도록 한다.The hash key matching unit 123, when the client computer 100 receives the hash key from the cloud server 200, communicates with the cloud server 200, the received hash key hash key stored in the hash key generator 210 Is verified, and if the hash key is the same, the identification module 140 proceeds with identification.

식별화 모듈(140)은 원본데이터가 비식별화될 때 사용되었던 매핑테이블(115)을 이용하여 비식별 분석데이터를 식별화하여 식별 분석데이터로 변환한다.The identification module 140 identifies the non-identification analysis data using the mapping table 115 that was used when the original data was de-identification, and converts the non-identification analysis data into identification analysis data.

분석데이터 표출부(150)는 식별 분석데이터를 클라이언트 컴퓨터(100)를 통해 표출한다.The analysis data display unit 150 displays the identification analysis data through the client computer 100.

이때, 분석데이터 표출부(150)는 식별 분석데이터를 그래프 이미지로 표출하도록 하며, 보다 상세하게는, 각각의 데이터마다 다양한 그래프 이미지로 표출할 수 있도록 하는 기능을 포함하여 사용자가 용이하게 데이터 분석결과를 확인할 수 있도록 한다.At this time, the analysis data display unit 150 allows the identification analysis data to be displayed as a graph image, and more specifically, includes a function for allowing each data to be displayed as a variety of graph images, so that the user can easily analyze the data. So that you can check

또한, 분석데이터 표출부(150)는 Explorer, Google Chrome, Firefox 등과 같이 클라우드 서버(200)에 직접 접속할 수 있는 웹브라우저(Web Browser) 상에서 직접 분석 결과를 확인할 수도 있고, Excel, Word와 같은 프로그램과 연동되어 분석 결과를 확인할 수도 있다.In addition, the analysis data display unit 150 may directly check the analysis results on a web browser that can directly access the cloud server 200, such as Explorer, Google Chrome, Firefox, and the like, such as programs such as Excel and Word. You can also check the analysis results in conjunction.

데이터복원 모듈(160)은 원본데이터 복원이 필요한 경우, 클라우드 서버(200)에 비식별 데이터 전송을 요청하고, 클라우드 서버(200)는 데이터 저장부(220)에 저장된 비식별 데이터를 클라이언트 컴퓨터(100)로 전송한다. 그리고, 클라이언트 컴퓨터(100)는 식별화 모듈(140)에 전송받은 비식별 데이터의 식별화를 요청한다.When the data restoration module 160 needs to restore the original data, the cloud server 200 requests non-identification data transmission, and the cloud server 200 transmits the non-identification data stored in the data storage unit 220 to the client computer 100 ). Then, the client computer 100 requests the identification of the non-identification data transmitted to the identification module 140.

예컨대, 데이터복원 모듈(160)은 클라이언트 컴퓨터(100)에 원본데이터가 필요할 경우, 데이터 저장부(220)에 저장된 비식별 데이터를 전송받아 식별화를 진행하여 원본데이터를 복원하도록 하는 구성이다.For example, when the original data is needed in the client computer 100, the data restoration module 160 is configured to receive the non-identifying data stored in the data storage unit 220 and perform identification to restore the original data.

이때, 해쉬키 요청부(120)는 비식별 분석데이터를 식별화할 때와 동일하게 해쉬키 입력을 요청하고, 수신된 해쉬키를 검증하여 동일하다고 판단되면 식별화 모듈(140)이 식별화를 진행하도록 하여 비식별 데이터를 식별화하여 원본데이터로 변환하도록 한다.At this time, the hash key request unit 120 requests the hash key input in the same way as when identifying the non-identification analysis data, and if it is determined that the received hash key is the same, the identification module 140 proceeds with identification Then, non-identifying data is identified and converted into original data.

위와 같은 본 발명의 구성들로 인하여, 클라우드 서버(200)가 해킹과 같은 외부의 침입에 의해 정보가 외부로 노출되어도, 데이터의 비식별화를 진행하였던 매핑테이블(115)은 클라이언트 컴퓨터(100)에 저장되어 있기 때문에 비식별 데이터를 식별화할 수 없고, 해쉬키를 입력해야 하기 때문에 이중 보안으로 정보를 지킬 수 있는 효과가 있다.Due to the above-described configurations of the present invention, even when the cloud server 200 exposes information to the outside due to external intrusion such as hacking, the mapping table 115 that has proceeded with the de-identification of data is the client computer 100. Because it is stored in the non-identifiable data cannot be identified, and hash key must be entered, so there is an effect of protecting information with double security.

도 2는 본 발명의 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법의 흐름도이다.2 is a flowchart of a method for safely storing and analyzing data in the cloud according to an embodiment of the present invention.

도 2를 참조하여 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 흐름에 대해서 설명하도록 한다.A flow for safely storing and analyzing data in the cloud will be described with reference to FIG. 2.

클라이언트 컴퓨터(100)가 클라우드 서버(200)로 해쉬키를 요청한다. (S5010)The client computer 100 requests a hash key to the cloud server 200. (S5010)

비식별화 모듈(130)이 매핑테이블(115)을 이용하여 원본데이터를 비식별화하기 위해서 해쉬키가 필요하기 때문에 클라우드 서버(200)로 해쉬키를 요청하도록 한다.Since the de-identification module 130 needs a hash key to de-identify the original data using the mapping table 115, it requests the hash key to the cloud server 200.

이후, 클라우드 서버(200)의 해쉬키 생성부(210)는 해쉬키를 생성하여 저장한다. (S5030)Thereafter, the hash key generation unit 210 of the cloud server 200 generates and stores the hash key. (S5030)

차후에 클라이언트 컴퓨터(100)가 식별화를 진행할 때 동일한 해쉬키가 필요하기 때문에, 해쉬키를 재전송하기 위하여 해쉬키를 저장하는 것이 바람직하다.Since the same hash key is required when the client computer 100 proceeds with identification later, it is desirable to store the hash key to retransmit the hash key.

이후, 클라우드 서버(200)가 클라이언트 컴퓨터(100)로 해쉬키를 전송한다. (S505)Thereafter, the cloud server 200 transmits a hash key to the client computer 100. (S505)

이후, 클라이언트 컴퓨터(100)가 수신된 해쉬키를 검증한다. (S507) 보다 상세하게는, 해쉬키 매칭부(123)가 클라이언트 컴퓨터(100)에 수신된 해쉬키와 클라우드 서버(200)의 해쉬키 생성부(210)에 저장된 해쉬키를 검증하는 단계를 거치도록 한다.Then, the client computer 100 verifies the received hash key. (S507) In more detail, the hash key matching unit 123 verifies the hash key received in the client computer 100 and the hash key stored in the hash key generator 210 of the cloud server 200. To do.

이후, 해쉬키 검증이 완료되면, 비식별화 모듈(130)이 매핑테이블(115)을 이용하여 원본데이터를 비식별화한다. (S509) 보다 상세하게는, 클라이언트 컴퓨터(100)의 비식별화 모듈(130)이 원본데이터를 매핑테이블(115)을 이용하여 비식별화하되, 원본데이터 중에서 숫자형 정보를 특정 선형함수를 이용하여 비식별화하고, 원본데이터 중에서 문자형 정보를 임의의 문자열로 대체하여 비식별화하도록 한다.Then, when the hash key verification is completed, the de-identification module 130 de-identifies the original data using the mapping table 115. (S509) More specifically, the de-identification module 130 of the client computer 100 de-identifies the original data using the mapping table 115, but uses a specific linear function for numeric information among the original data. To de-identify, replace character type information in the original data with an arbitrary string to de-identify.

이때, 매핑테이블 생성부(110)가 기 설정된 매핑테이블(115) 생성 규칙에 따라서 매핑테이블(115)을 생성하는 단계를 더 포함하는 것이 바람직하다.At this time, it is preferable that the mapping table generation unit 110 further includes the step of generating the mapping table 115 according to a preset mapping table 115 generation rule.

또한, 비식별화 모듈(130)이 원본데이터 중에서 비식별화할 데이터를 선택받는 단계를 더 포함하는 것이 바람직하다.In addition, it is preferable that the de-identification module 130 further includes receiving data to be de-identified from the original data.

그리고, 차후 식별화 모듈(140)이 비식별된 데이터를 식별화하기 위해 동일한 매핑테이블(115)을 이용하여 식별화를 진행해야 하기 때문에 클라이언트 컴퓨터(100)는 원본데이터를 비식별화할 때 사용했던 매핑테이블(115)을 기억하도록 한다.In addition, since the identification module 140 has to proceed with identification using the same mapping table 115 to identify the unidentified data, the client computer 100 used to de-identify the original data. The mapping table 115 is stored.

이후, 클라이언트 컴퓨터(100)가 비식별 데이터를 클라우드 서버(200)로 전송한다. (S511)Thereafter, the client computer 100 transmits the non-identifying data to the cloud server 200. (S511)

이후, 데이터 저장부(220)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 저장한다. (S513)Thereafter, the data storage unit 220 stores non-identification data transmitted from the client computer 100. (S513)

이후, 데이터 분석부(230)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 분석한다. (S515) 보다 상세하게는, 데이터 분석부(230)는 매핑테이블(115)의 선형함수를 이용하여 비식별화된 숫자형 정보들을 분석하도록 한다.Thereafter, the data analysis unit 230 analyzes the non-identification data received from the client computer 100. (S515) More specifically, the data analysis unit 230 analyzes de-identified numeric information using the linear function of the mapping table 115.

이후, 클라우드 서버(200)는 비식별 분석데이터를 클라이언트 컴퓨터(100)로 전송한다. (S517)Thereafter, the cloud server 200 transmits the non-identification analysis data to the client computer 100. (S517)

이후, 클라이언트 컴퓨터(100)의 식별화 모듈(140)은 비식별 분석데이터를 식별화한다. (S519)Then, the identification module 140 of the client computer 100 identifies the non-identification analysis data. (S519)

이때, 해쉬키 요청부(120)는 식별화를 진행하기 전에 클라이언트 컴퓨터(100)로 해쉬키 입력을 요청한다.At this time, the hash key request unit 120 requests the hash key input to the client computer 100 before proceeding with identification.

클라이언트 컴퓨터(100)에 해쉬키가 존재할 경우, 해쉬키를 선택하여 해쉬키 매칭부(123)가 해쉬키 검증을 진행하도록 하고, 클라이언트 컴퓨터(100)에 해쉬키가 없을 경우, 클라우드 서버(200)로 해쉬키를 요청하여 해쉬키 생성부(210)에 저장된 해쉬키를 전송받는다.If a hash key exists in the client computer 100, the hash key is selected to cause the hash key matching unit 123 to perform the hash key verification, and if the client computer 100 does not have a hash key, the cloud server 200 Request the hash key to receive the hash key stored in the hash key generation unit 210.

이후, 해쉬키 매칭부(123)가 전송된 해쉬키를 클라우드 서버(200)와 통신하여 검증하고, 식별화를 진행하도록 한다.Then, the hash key matching unit 123 verifies the transmitted hash key by communicating with the cloud server 200, and proceeds with identification.

이후, 분석데이터 표출부(150)는 식별 분석데이터를 클라이언트 컴퓨터(100)를 통해서 표출하도록 한다. (S521)Thereafter, the analysis data display unit 150 displays the identification analysis data through the client computer 100. (S521)

도 3은 본 발명의 실시예에 따른 숫자형 정보를 비식별화하는 것을 예시한 예시도이고, 도 4는 본 발명의 실시예에 따른 문자형 정보를 비식별화하는 것을 예시한 예시도이며, 도 5는 도 3 및 도 4를 통해 원본데이터를 비식별화하여 비식별 데이터로 변환한 것을 예시한 예시도이다.3 is an exemplary diagram illustrating de-identification of numeric information according to an embodiment of the present invention, and FIG. 4 is an exemplary diagram illustrating de-identification of character-type information according to an embodiment of the present invention. 5 is an exemplary view illustrating that the original data is de-identified and converted into non-identified data through FIGS. 3 and 4.

본 발명의 실시예에 따른 비식별화 모듈(130)은 매핑테이블(115)을 이용하여 비식별화하되, 숫자형 정보를 선형함수를 통해 연산하여 비식별화하고, 문자형 정보를 임의의 문자열로 대체하여 비식별화한다.The de-identification module 130 according to an embodiment of the present invention de-identifies using the mapping table 115, but de-identifies by calculating numerical information through a linear function and converts character information into an arbitrary string. Instead, it is de-identified.

이때, 선형함수는 Y = aX 또는 Y = aX + b 의 1차함수를 이용하게 되는데, b의 사용 유무는 발명의 실시자가 용이하게 선택하도록 한다. 여기서, X는 독립변수로 원본데이터를 의미하고, Y는 a, b, X에 따라 값이 달라지는 종속변수로 비식별 데이터를 의미한다.At this time, the linear function uses the first order function of Y = aX or Y = aX + b, and the use of b allows the practitioner of the present invention to easily select. Here, X means original data as an independent variable, and Y means non-identifying data as a dependent variable whose value varies according to a, b, and X.

여기서, 나머지 오류(Round-off Error)가 발생하지 않도록 a의 값은 2의 지수로 하는 것이 바람직하고, 데이터 분석을 위해 비식별화를 진행할 때는 b를 사용하지 않거나, b의 값을 a의 값보다 상당히 작은 값을 사용하도록 하는 것이 분석결과에 오차를 줄이는데 효과적이다.Here, it is preferable to set the value of a to an exponent of 2 so that the remaining error (Round-off Error) does not occur. When performing de-identification for data analysis, b is not used, or the value of b is the value of a. Using a significantly smaller value is effective in reducing errors in the analysis results.

따라서, 매핑테이블 생성부(110)는 기 설정된 매핑테이블(115) 생성 규칙에 따라서 매핑테이블(115)을 생성하며, 매핑테이블(115) 생성 규칙은 Y = aX + b의 1차함수이며, a의 값을 2의 지수로 하도록 한다.Accordingly, the mapping table generation unit 110 generates the mapping table 115 according to the preset mapping table 115 generation rule, and the mapping table 115 generation rule is a first order function of Y = aX + b, a Let the value of be an exponent of 2.

도 3을 참조하여 A의 데이터 중에서 숫자형 정보를 비식별화하는 것을 설명하도록 한다.With reference to FIG. 3, it will be described to de-identify numeric information among data of A.

1. 연봉에 대한 매핑테이블(115)로, Y = 0.000625X - 0.8125 (a=0.000625, b=-0.8125)의 선형함수를 사용하게 된다.1. As a mapping table 115 for the annual salary, a linear function of Y = 0.000625X-0.8125 (a = 0.000625, b = -0.8125) is used.

2. 성과에 대한 매핑테이블(115)로, Y = 0.322580645X - 2.064516129 (a=0.322580645, b=-2.064516129)의 선형함수를 사용하게 된다.2. As a mapping table 115 for performance, a linear function of Y = 0.322580645X-2.064516129 (a = 0.322580645, b = -2.064516129) is used.

위 실시예는 매핑테이블 생성부가 기 설정된 매핑테이블 생성 규칙에 따라서 연봉에 대하여 "Y = 0.000625X - 0.8125"의 매핑테이블(115)을 생성하고, 성과에 대하여 "Y = 0.322580645X - 2.064516129"의 매핑테이블(115)을 생성한 것을 예시하고 있다.In the above embodiment, the mapping table generation unit generates a mapping table 115 of "Y = 0.000625X-0.8125" for an annual salary according to a preset mapping table generation rule, and a mapping of "Y = 0.322580645X-2.064516129" for performance. The table 115 is illustrated.

비식별화 모듈(130)이 위와 같은 각각의 매핑테이블(115)을 이용하여 비식별화를 진행하면, 도 3의 아래와 같은 비식별 데이터로 변환된다. (예: 홍길동의 연봉은 0.000625×1,500 -0.8125 = 0.125, 비둘기의 연봉은 0.000625×1,300 - 0.8125 = 0)When the de-identification module 130 performs de-identification using each mapping table 115 as described above, it is converted to the non-identification data as shown in FIG. 3. (Example: Honggil-dong's annual salary is 0.000625 × 1,500 -0.8125 = 0.125, and pigeon's annual salary is 0.000625 × 1,300-0.8125 = 0)

이와 같이, 비식별화 모듈(130)이 비식별화를 진행하도록 하고, 식별화 모듈(140)이 식별화를 진행할 때는, 비식별화를 진행할 때 사용했던 매핑테이블(115)의 선형함수를 그대로 사용여 a, b, Y값을 통해 연산하여 X값을 구하면 데이터 식별화가 완료된다.As such, when the de-identification module 130 proceeds with de-identification, and when the identification module 140 proceeds with identification, the linear function of the mapping table 115 used when de-identification is performed is maintained. Using the a, b, and Y values to calculate the X value, data identification is completed.

도 4를 참조하여 A의 데이터 중에서 문자형 정보를 비식별화하는 것을 설명하도록 한다.Referring to FIG. 4, description will be made of de-identifying character type information among data of A.

문자형 정보는 이름, 직급, 부서, 연봉, 성과 등과 같이 숫자형 정보들의 제목, 목차를 의미하는 경우가 많고, 직접적인 수치 분석의 대상이 되지 않으므로, 숫자형 정보와 다르게 불특정 변수명으로 비식별화를 진행한다.Character type information often means the title and table of contents of numeric information such as name, job title, department, salary, performance, etc., and is not subject to direct numerical analysis. To proceed.

예컨대, 비식별화 모듈(130)은 도 4와 같이 연봉: AASS$#TG#231, 성과: SKEJL#$SD343s, 직급: 34JLDRT*)($#R, 부서: FALJ$#($%US3, 사원: ACD, 대리: $SJ3, IT: ?SE#, 마케팅: JS3R로 변환하여 비식별화하도록 한다.For example, the de-identification module 130, as shown in FIG. 4, annual salary: AASS $ # TG # 231, performance: SKEJL # $ SD343s, rank: 34JLDRT *) ($ # R, department: FALJ $ # ($% US3, Employee: ACD, Agency: $ SJ3, IT:? SE #, Marketing: Convert to JS3R to de-identify.

또한, 비식별화 모듈(130)이 이름들에 대한 비식별화를 진행할 때도 이와 동일한 방법으로 비식별화를 진행하도록 한다.In addition, when the de-identification module 130 performs de-identification of names, de-identification is performed in the same manner.

이와 같이, 비식별화 모듈(130)이 비식별화를 진행하도록 하고, 식별화 모듈(140)이 식별화를 진행할 때는, 비식별화를 진행할 때 사용했던 매핑테이블(115)을 로딩하여 변수명을 원래대로 교체하면 데이터 식별화가 완료된다.As such, when the de-identification module 130 proceeds with de-identification, and when the identification module 140 proceeds with identification, the mapping table 115 used when proceeding with de-identification is loaded and the variable name Replace the original data to complete the data identification.

위와 같이, A의 데이터에 대한 숫자형 정보와 문자형 정보의 비식별화를 진행하면 도 5와 같은 비식별 데이터가 생성된다.As described above, when de-identification of numeric information and character-type information for data of A is performed, non-identification data as shown in FIG. 5 is generated.

이상에서 전술한 본 발명의 일 실시예에 따른 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The method for safely storing and analyzing data according to an embodiment of the present invention described above in the cloud may be implemented as a program (or application) to be executed in combination with a hardware server, and stored in a medium.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-described program is C, C ++, JAVA, machine language, etc., in which a processor (CPU) of the computer can be read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program. It may include a code (Code) coded in the computer language of. Such code may include functional code related to a function defining functions required to execute the above methods, and control code related to an execution procedure necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, the code may further include a memory reference related code to which location (address address) of the internal or external memory of the computer should be referred to additional information or media necessary for the computer's processor to perform the functions. have. Also, when the processor of the computer needs to communicate with any other computer or server in the remote to execute the functions, the code can be used to communicate with any other computer or server in the remote using the communication module of the computer. It may further include a communication-related code for whether to communicate, what information or media to transmit and receive during communication, and the like.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium refers to a medium that stores data semi-permanently and that can be read by a device, rather than a medium that stores data for a short moment, such as registers, caches, and memory. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers that the computer can access or various recording media on the user's computer. In addition, the medium may be distributed over a computer system connected through a network to store computer-readable codes in a distributed manner.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, a software module executed by hardware, or a combination thereof. The software modules may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer readable recording medium well known in the art.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. The embodiments of the present invention have been described above with reference to the accompanying drawings, but a person skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing its technical spirit or essential features. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive.

100: 클라이언트 컴퓨터
110: 매핑테이블 생성부
115: 매핑테이블
120: 해쉬키 요청부
123: 해쉬키 매칭부
130: 비식별화 모듈
140: 식별화 모듈
150: 분석데이터 표출부
160: 데이터복원 모듈
200: 클라우드 서버
210: 해쉬키 생성부
220: 데이터 저장부
230: 데이터 분석부
100: client computer
110: mapping table generation unit
115: mapping table
120: hash key request
123: hash key matching unit
130: de-identification module
140: identification module
150: analysis data display unit
160: data restoration module
200: cloud server
210: hash key generation unit
220: data storage
230: data analysis unit

Claims (9)

클라이언트 컴퓨터가 매핑테이블을 이용하여 원본데이터를 비식별화하여 비식별 데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 클라우드 서버로 상기 비식별 데이터를 전송하는 단계;
상기 클라우드 서버가 상기 비식별 데이터를 저장하고, 분석하여 비식별 분석데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 상기 비식별 분석데이터를 수신하는 단계; 및
상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하여 식별 분석데이터로 변환하는 단계를 포함하며,
상기 비식별 데이터 생성 단계는,
원본데이터 중 숫자형 정보를 매핑테이블의 특정 선형함수를 이용하여 비식별화하는 단계; 및
원본데이터 중 문자형 정보를 매핑테이블의 임의의 문자열로 대체하여 비식별화하는 단계를 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
Generating, by the client computer, unidentified data by de-identifying the original data using the mapping table;
The client computer transmitting the non-identifying data to a cloud server;
The cloud server storing and analyzing the non-identification data to generate non-identification analysis data;
The client computer receiving the non-identifying analysis data from the cloud server; And
And the client computer identifying the non-identification analysis data using the mapping table and converting the non-identification analysis data into identification analysis data.
The non-identifying data generation step,
De-identifying the numeric information among the original data using a specific linear function of the mapping table; And
A method of storing and analyzing data in the cloud for preventing external leakage of important information, including the step of de-identifying by replacing character-type information among the original data with an arbitrary string in the mapping table.
클라이언트 컴퓨터가 비식별화를 진행하기 위한 해쉬키를 클라우드 서버로 요청하는 단계;
상기 클라우드 서버가 해쉬키를 생성하여 저장하고, 상기 클라이언트 컴퓨터로 상기 해쉬키를 전송하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버와 통신하여 수신된 해쉬키를 검증하는 단계;
검증결과에 따라서 해쉬키가 일치한다고 판단되면, 상기 클라이언트 컴퓨터가 매핑테이블을 이용하여 원본데이터를 비식별화하여 비식별 데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버로 상기 비식별 데이터를 전송하는 단계;
상기 클라우드 서버가 상기 비식별 데이터를 저장하고, 분석하여 비식별 분석데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 상기 비식별 분석데이터를 수신하는 단계;
상기 클라이언트 컴퓨터가 식별화를 진행하기 위한 해쉬키를 클라우드 서버로 요청하는 단계;
상기 클라우드 서버가 해쉬키 저장부에 저장된 해쉬키를 상기 클라이언트 컴퓨터로 전송하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버와 통신하여 수신된 해쉬키를 검증하는 단계; 및
검증결과에 따라서 해쉬키가 일치한다고 판단되면, 상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하여 식별 분석데이터로 변환하는 단계를 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
A client computer requesting a hash key for de-identification to the cloud server;
Generating and storing a hash key by the cloud server, and transmitting the hash key to the client computer;
Verifying the hash key received by the client computer communicating with the cloud server;
If it is determined that the hash keys match according to the verification result, the client computer de-identifying the original data using the mapping table to generate non-identifying data;
The client computer transmitting the non-identifying data to the cloud server;
The cloud server storing and analyzing the non-identification data to generate non-identification analysis data;
The client computer receiving the non-identifying analysis data from the cloud server;
Requesting, by the client computer, a hash key to proceed with identification to a cloud server;
The cloud server transmitting the hash key stored in the hash key storage unit to the client computer;
Verifying the hash key received by the client computer communicating with the cloud server; And
If it is determined that the hash key is matched according to the verification result, the client computer using the mapping table to identify the non-identifying analysis data and converting it into identification analysis data, for preventing the leakage of important information to the outside How to store and analyze data in the cloud.
클라이언트 컴퓨터가 매핑테이블을 이용하여 원본데이터를 비식별화하여 비식별 데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 클라우드 서버로 상기 비식별 데이터를 전송하는 단계;
상기 클라우드 서버가 상기 비식별 데이터를 저장하고, 분석하여 비식별 분석데이터를 생성하는 단계;
상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 비식별 분석데이터를 수신하는 단계; 및
상기 클라이언트 컴퓨터가 상기 매핑테이블을 이용하여 상기 비식별 분석데이터를 식별화하여 식별 분석데이터로 변환하는 단계를 포함하며,
원본데이터 복원이 필요한 경우,
상기 클라이언트 컴퓨터가 상기 클라우드 서버로 비식별 데이터 전송을 요청하는 단계; 및
상기 클라이언트 컴퓨터가 상기 클라우드 서버로부터 비식별 데이터를 수신하고, 상기 매핑테이블을 이용하여 상기 클라우드 서버로부터 전송받은 비식별 데이터를 식별화하는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
Generating, by the client computer, unidentified data by de-identifying the original data using the mapping table;
The client computer transmitting the non-identifying data to a cloud server;
The cloud server storing and analyzing the non-identification data to generate non-identification analysis data;
Receiving, by the client computer, non-identification analysis data from the cloud server; And
And the client computer identifying the non-identification analysis data using the mapping table and converting the non-identification analysis data into identification analysis data.
When original data restoration is necessary,
Requesting the client computer to transmit non-identifying data to the cloud server; And
The client computer receives the non-identification data from the cloud server, and further comprising the step of identifying the non-identification data received from the cloud server using the mapping table, in the cloud for preventing external leakage of important information Methods of data storage and analysis.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 비식별 데이터 생성 단계는,
매핑테이블 생성부가 기 설정된 매핑테이블 생성 규칙에 따라서 매핑테이블을 생성하는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
The method according to any one of claims 1 to 3,
The non-identifying data generation step,
The mapping table generation unit further comprises the step of generating a mapping table according to a preset mapping table generation rule, data storage and analysis method in the cloud to prevent leakage of important information.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 비식별 데이터 생성 단계는,
상기 원본데이터 중에서 비식별화할 데이터를 선택받는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
The method according to any one of claims 1 to 3,
The non-identifying data generation step,
Further comprising the step of selecting the data to be de-identified from the original data, data storage and analysis method in the cloud to prevent leakage of important information.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 식별 분석데이터로 변환하는 단계 다음에,
상기 클라이언트 컴퓨터가 상기 식별 분석데이터를 그래프 이미지로 표출하는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
The method according to any one of claims 1 to 3,
After the step of converting to the identification analysis data,
The client computer further comprising the step of displaying the identification analysis data as a graph image, data storage and analysis method in the cloud to prevent leakage of important information.
하드웨어인 컴퓨터와 결합되어, 제1항 내지 제3항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 프로그램.A data storage and analysis program in the cloud for preventing external leakage of important information stored in a medium in order to execute the method of any one of claims 1 to 3 in combination with a computer that is hardware. 삭제delete 삭제delete
KR1020170161933A 2017-11-29 2017-11-29 Data storage and analysis methods and programs in the cloud to prevent the leakage of important information KR102105368B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170161933A KR102105368B1 (en) 2017-11-29 2017-11-29 Data storage and analysis methods and programs in the cloud to prevent the leakage of important information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170161933A KR102105368B1 (en) 2017-11-29 2017-11-29 Data storage and analysis methods and programs in the cloud to prevent the leakage of important information

Publications (2)

Publication Number Publication Date
KR20190063095A KR20190063095A (en) 2019-06-07
KR102105368B1 true KR102105368B1 (en) 2020-04-28

Family

ID=66850174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170161933A KR102105368B1 (en) 2017-11-29 2017-11-29 Data storage and analysis methods and programs in the cloud to prevent the leakage of important information

Country Status (1)

Country Link
KR (1) KR102105368B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102252873B1 (en) * 2020-08-26 2021-05-17 연세대학교 산학협력단 Method and system for managing clinical data based on cloud
KR102603724B1 (en) * 2022-12-05 2023-11-17 주식회사 데이터메이커 Data management system and method for machine learning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458820B1 (en) 2013-10-15 2014-11-07 순천향대학교 산학협력단 Secure Data Management Scheme in Cloud Environment in the Public Sector
KR101630752B1 (en) 2014-12-02 2016-06-16 주식회사 춘하지원 Data Processing Method for Distributable and Unidentifiable Big Data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170112889A (en) * 2016-03-29 2017-10-12 한국전자통신연구원 Cloud service compatibility verification apparatus and method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458820B1 (en) 2013-10-15 2014-11-07 순천향대학교 산학협력단 Secure Data Management Scheme in Cloud Environment in the Public Sector
KR101630752B1 (en) 2014-12-02 2016-06-16 주식회사 춘하지원 Data Processing Method for Distributable and Unidentifiable Big Data

Also Published As

Publication number Publication date
KR20190063095A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
US11936789B1 (en) Biometric reference template record
US10719567B2 (en) Database query processing on encrypted data
CN110493007B (en) Block chain based information verification method, device, equipment and storage medium
CN111989893B (en) Method, system and computer readable device for generating and linking zero knowledge proofs
US9858426B2 (en) Computer-implemented system and method for automatically identifying attributes for anonymization
CN109716707B (en) Server apparatus and method for distributed electronic recording and transaction history
KR102414732B1 (en) Method for managing Digital Identity based on Blockchain
EP3275115B1 (en) Database server and client for query processing on encrypted data
US10200198B2 (en) Making cryptographic claims about stored data using an anchoring system
US20100154066A1 (en) System and Method for Managing Security Testing
US10885516B2 (en) Secure validation using hardware security modules
CN110232484B (en) Risk strategy optimization method, device and equipment and computer readable storage medium
US20220261916A1 (en) Cloud-based system and method for claiming insurance for out-of-pocket medical expenses
CN112613051A (en) Data encryption storage method and device, computer equipment and storage medium
TW202201243A (en) Systems and methods for creating enhanced documents for perfect automated parsing
KR102105368B1 (en) Data storage and analysis methods and programs in the cloud to prevent the leakage of important information
CN114186275A (en) Privacy protection method and device, computer equipment and storage medium
US10192066B2 (en) Semantic restriction
US11182491B2 (en) Data protection using functional encryption
WO2021257555A1 (en) Verified templates
CN111143399A (en) Data processing method, data processing device, storage medium and computer equipment
WO2018034192A1 (en) Information processing device, information processing method, and storage medium
US11436671B2 (en) Secure multi-party computation for sensitive credit score computation
CN115982778B (en) OBS file access method, system, device, electronic equipment and storage medium
US20220309599A1 (en) System and method for authorizing transfer requests of physical locations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant