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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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
본 발명은 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램에 관한 것으로, 보다 상세하게는 클라이언트의 중요한 정보들이 외부에 공개되지 않도록 데이터를 클라우드에 안전하게 저장하고 분석하기 위한 방법 및 프로그램에 관한 것이다.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
클라이언트 컴퓨터(100)는 매핑테이블 생성부(110), 비식별화 모듈(130), 해쉬키 요청부(120), 해쉬키 매칭부(123), 식별화 모듈(140), 분석데이터 표출부(150) 및 데이터복원 모듈(160)을 포함하고, 클라우드 서버(200)는 해쉬키 생성부(210), 데이터 저장부(220) 및 데이터 분석부(230)를 포함한다.The client computer 100 includes a mapping table generation unit 110, a
매핑테이블 생성부(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
이때, 클라이언트 컴퓨터(100)의 비식별화 모듈(130)은 매핑테이블 생성부(110)에서 생성한 매핑테이블(115)을 이용하여 비식별화를 진행하도록 한다.At this time, the de-identification
또한, 클라이언트 컴퓨터(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
클라이언트 컴퓨터(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
클라우드 서버(200)의 해쉬키 생성부(210)는 해쉬키를 생성하여 저장하고, 클라이언트 컴퓨터(100)로 전송한다.The hash key generation unit 210 of the
클라이언트 컴퓨터(100)의 해쉬키 매칭부(123)는 클라우드 서버(200)로부터 해쉬키가 수신되면, 클라우드 서버(200)와 통신하여 해쉬키 생성부(210)에 저장된 해쉬키와 동일한지 검증한다. 해쉬키 매칭부(123)의 검증결과에 따라서 해쉬키가 일치한다고 판단하면, 비식별화 모듈(130)이 원본데이터의 비식별화를 진행하도록 한다.When the hash key is received from the
예컨대, 클라이언트 컴퓨터(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
여기서, 해쉬키는 데이터의 비식별화 및 식별화를 진행하기 위한 암호를 의미한다. 따라서, 클라이언트 컴퓨터(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
클라이언트 컴퓨터(100)의 비식별화 모듈(130)이 비식별화를 완료하면, 생성된 비식별 데이터를 클라우드 서버(200)로 전송한다.When the
클라우드 서버(200)의 데이터 저장부(220)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 저장한다.The
클라우드 서버(200)의 데이터 분석부(230)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 분석한다.The data analysis unit 230 of the
바람직하게는, 데이터 분석부(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
이때, 데이터 분석부(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
클라이언트 컴퓨터(100)의 식별화 모듈(140)은 클라이언트 컴퓨터(100)가 클라우드 서버(200)로부터 전송받은 비식별 분석데이터를 식별화한다.The
이때, 해쉬키 요청부(120)는 식별화 모듈(140)이 식별화를 진행하기 전에 해쉬키를 요청한다.At this time, the hash key request unit 120 requests the hash key before the
이때, 해쉬키는 원본데이터를 비식별화하기 위해 클라우드 서버(200)의 해쉬키 생성부(210)에서 생성한 해쉬키를 사용하며, 클라이언트 컴퓨터(100)가 해쉬키 생성부(210)에 해쉬키를 요청하여 전송받을 수 있다.At this time, the hash key uses the hash key generated by the hash key generation unit 210 of the
해쉬키 매칭부(123)는 클라이언트 컴퓨터(100)가 클라우드 서버(200)로부터 해쉬키를 수신하면, 클라우드 서버(200)와 통신하여 수신된 해쉬키가 해쉬키 생성부(210)에 저장된 해쉬키와 동일한지 검증하고, 해쉬키가 동일하면 식별화 모듈(140)이 식별화를 진행하도록 한다.The hash
식별화 모듈(140)은 원본데이터가 비식별화될 때 사용되었던 매핑테이블(115)을 이용하여 비식별 분석데이터를 식별화하여 식별 분석데이터로 변환한다.The
분석데이터 표출부(150)는 식별 분석데이터를 클라이언트 컴퓨터(100)를 통해 표출한다.The analysis
이때, 분석데이터 표출부(150)는 식별 분석데이터를 그래프 이미지로 표출하도록 하며, 보다 상세하게는, 각각의 데이터마다 다양한 그래프 이미지로 표출할 수 있도록 하는 기능을 포함하여 사용자가 용이하게 데이터 분석결과를 확인할 수 있도록 한다.At this time, the analysis
또한, 분석데이터 표출부(150)는 Explorer, Google Chrome, Firefox 등과 같이 클라우드 서버(200)에 직접 접속할 수 있는 웹브라우저(Web Browser) 상에서 직접 분석 결과를 확인할 수도 있고, Excel, Word와 같은 프로그램과 연동되어 분석 결과를 확인할 수도 있다.In addition, the analysis
데이터복원 모듈(160)은 원본데이터 복원이 필요한 경우, 클라우드 서버(200)에 비식별 데이터 전송을 요청하고, 클라우드 서버(200)는 데이터 저장부(220)에 저장된 비식별 데이터를 클라이언트 컴퓨터(100)로 전송한다. 그리고, 클라이언트 컴퓨터(100)는 식별화 모듈(140)에 전송받은 비식별 데이터의 식별화를 요청한다.When the
예컨대, 데이터복원 모듈(160)은 클라이언트 컴퓨터(100)에 원본데이터가 필요할 경우, 데이터 저장부(220)에 저장된 비식별 데이터를 전송받아 식별화를 진행하여 원본데이터를 복원하도록 하는 구성이다.For example, when the original data is needed in the client computer 100, the
이때, 해쉬키 요청부(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
위와 같은 본 발명의 구성들로 인하여, 클라우드 서버(200)가 해킹과 같은 외부의 침입에 의해 정보가 외부로 노출되어도, 데이터의 비식별화를 진행하였던 매핑테이블(115)은 클라이언트 컴퓨터(100)에 저장되어 있기 때문에 비식별 데이터를 식별화할 수 없고, 해쉬키를 입력해야 하기 때문에 이중 보안으로 정보를 지킬 수 있는 효과가 있다.Due to the above-described configurations of the present invention, even when the
도 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
비식별화 모듈(130)이 매핑테이블(115)을 이용하여 원본데이터를 비식별화하기 위해서 해쉬키가 필요하기 때문에 클라우드 서버(200)로 해쉬키를 요청하도록 한다.Since the
이후, 클라우드 서버(200)의 해쉬키 생성부(210)는 해쉬키를 생성하여 저장한다. (S5030)Thereafter, the hash key generation unit 210 of the
차후에 클라이언트 컴퓨터(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
이후, 클라이언트 컴퓨터(100)가 수신된 해쉬키를 검증한다. (S507) 보다 상세하게는, 해쉬키 매칭부(123)가 클라이언트 컴퓨터(100)에 수신된 해쉬키와 클라우드 서버(200)의 해쉬키 생성부(210)에 저장된 해쉬키를 검증하는 단계를 거치도록 한다.Then, the client computer 100 verifies the received hash key. (S507) In more detail, the hash
이후, 해쉬키 검증이 완료되면, 비식별화 모듈(130)이 매핑테이블(115)을 이용하여 원본데이터를 비식별화한다. (S509) 보다 상세하게는, 클라이언트 컴퓨터(100)의 비식별화 모듈(130)이 원본데이터를 매핑테이블(115)을 이용하여 비식별화하되, 원본데이터 중에서 숫자형 정보를 특정 선형함수를 이용하여 비식별화하고, 원본데이터 중에서 문자형 정보를 임의의 문자열로 대체하여 비식별화하도록 한다.Then, when the hash key verification is completed, the
이때, 매핑테이블 생성부(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
그리고, 차후 식별화 모듈(140)이 비식별된 데이터를 식별화하기 위해 동일한 매핑테이블(115)을 이용하여 식별화를 진행해야 하기 때문에 클라이언트 컴퓨터(100)는 원본데이터를 비식별화할 때 사용했던 매핑테이블(115)을 기억하도록 한다.In addition, since the
이후, 클라이언트 컴퓨터(100)가 비식별 데이터를 클라우드 서버(200)로 전송한다. (S511)Thereafter, the client computer 100 transmits the non-identifying data to the
이후, 데이터 저장부(220)는 클라이언트 컴퓨터(100)로부터 전송받은 비식별 데이터를 저장한다. (S513)Thereafter, the
이후, 데이터 분석부(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
이후, 클라이언트 컴퓨터(100)의 식별화 모듈(140)은 비식별 분석데이터를 식별화한다. (S519)Then, the
이때, 해쉬키 요청부(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
이후, 해쉬키 매칭부(123)가 전송된 해쉬키를 클라우드 서버(200)와 통신하여 검증하고, 식별화를 진행하도록 한다.Then, the hash
이후, 분석데이터 표출부(150)는 식별 분석데이터를 클라이언트 컴퓨터(100)를 통해서 표출하도록 한다. (S521)Thereafter, the analysis
도 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
이때, 선형함수는 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
이와 같이, 비식별화 모듈(130)이 비식별화를 진행하도록 하고, 식별화 모듈(140)이 식별화를 진행할 때는, 비식별화를 진행할 때 사용했던 매핑테이블(115)의 선형함수를 그대로 사용여 a, b, Y값을 통해 연산하여 X값을 구하면 데이터 식별화가 완료된다.As such, when the
도 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
또한, 비식별화 모듈(130)이 이름들에 대한 비식별화를 진행할 때도 이와 동일한 방법으로 비식별화를 진행하도록 한다.In addition, when the
이와 같이, 비식별화 모듈(130)이 비식별화를 진행하도록 하고, 식별화 모듈(140)이 식별화를 진행할 때는, 비식별화를 진행할 때 사용했던 매핑테이블(115)을 로딩하여 변수명을 원래대로 교체하면 데이터 식별화가 완료된다.As such, when the
위와 같이, 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.
상기 비식별 데이터 생성 단계는,
매핑테이블 생성부가 기 설정된 매핑테이블 생성 규칙에 따라서 매핑테이블을 생성하는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
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.
상기 비식별 데이터 생성 단계는,
상기 원본데이터 중에서 비식별화할 데이터를 선택받는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
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.
상기 식별 분석데이터로 변환하는 단계 다음에,
상기 클라이언트 컴퓨터가 상기 식별 분석데이터를 그래프 이미지로 표출하는 단계를 더 포함하는, 중요 정보의 외부 유출 방지를 위한 클라우드 내 데이터 저장 및 분석 방법.
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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170112889A (en) * | 2016-03-29 | 2017-10-12 | 한국전자통신연구원 | Cloud service compatibility verification apparatus and method therefor |
-
2017
- 2017-11-29 KR KR1020170161933A patent/KR102105368B1/en active IP Right Grant
Patent Citations (2)
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 |