KR102338191B1 - 지도 학습을 이용한 데이터 암호화 장치 및 방법 - Google Patents

지도 학습을 이용한 데이터 암호화 장치 및 방법 Download PDF

Info

Publication number
KR102338191B1
KR102338191B1 KR1020200141600A KR20200141600A KR102338191B1 KR 102338191 B1 KR102338191 B1 KR 102338191B1 KR 1020200141600 A KR1020200141600 A KR 1020200141600A KR 20200141600 A KR20200141600 A KR 20200141600A KR 102338191 B1 KR102338191 B1 KR 102338191B1
Authority
KR
South Korea
Prior art keywords
data
supervised learning
field
sensitive
plaintext data
Prior art date
Application number
KR1020200141600A
Other languages
English (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 KR1020200141600A priority Critical patent/KR102338191B1/ko
Priority to PCT/KR2020/014867 priority patent/WO2022092347A1/ko
Application granted granted Critical
Publication of KR102338191B1 publication Critical patent/KR102338191B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

지도 학습을 이용한 데이터 암호화 장치 및 방법이 제공된다. 상기 방법은, 제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계, 기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계, 제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계, 제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계, 상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계 및 관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계를 포함한다.

Description

지도 학습을 이용한 데이터 암호화 장치 및 방법{DATA ENCRYPTION APPARATUS AND METHOD USING SUPERVISED LEARNING}
본 발명은 지도 학습을 이용한 데이터 암호화 장치 및 방법에 관한 것이다.
개인 정보란 개인에 관한 정보로서 성명, 주민등록번호, 주소 등 특정한 개인을 식별할 수 있는 정보를 말한다. 개인 보의 침해, 누설, 도용 등을 방지하기 위하여, 물리적 및 기술적 안전 조치가 요구된다. 개인 보의 보호를 위한 여러 기술적 조치 중 가장 대표적이며 근본적인 방법은 암호화이다.
특히, 다양한 개인 정보 중에서도 누출되거나 훼손되었을 때 그 소유자에게 상당한 부정적 영향을 끼치는 정보를 민감 정보라고 하는데, 이러한 민감 정보에 대한 암호화는 필수적이다.
한편, 클라우드 컴퓨팅은 인터넷 상의 서버를 통하여 데이터 저장, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 사용할 수 있는 컴퓨팅 환경이다. 즉, 인터넷이 연결된 환경에서 수많은 사용자의 컴퓨터로부터 수신되는 데이터를 저장하고, 수많은 사용자는 언제 어디서든 클라우드 컴퓨팅 서비스를 사용할 수 있다.
이때, 클라우드 컴퓨팅 서비스 제공자는 수많은 사용자로부터 입력되는 민감 정보를 포함한 데이터를 암호화하여 저장하는데, 동일한 민감 정보를 포함하고 있음에도 사용자별로 입력되는 데이터가 상이하게 분류되기 때문에, 관리자가 각 사용자별로 입력되는 데이터에 민감 정보가 포함되어 있는지를 일일이 확인하여 암호화를 수행해왔다.
이는 비효율적인 방법으로서 관리자의 리소스를 낭비하는 문제가 있고, 또한 관리자의 주관적 판단에 의해 수행되는 것이기 때문에 정확도가 낮아 민감 정보가 보호되지 못하는 위험한 상황이 발생할 수도 있다는 문제가 있다.
등록특허공보 제10-1688811호, 2016.12.22.
본 발명이 해결하고자 하는 과제는 형태 보존 암호화된 데이터를 이용하여 지도 학습을 수행하고, 지도 학습 결과에 기초하여 민감 정보에 대한 데이터를 암호화하는 지도 학습을 이용한 데이터 암호화 장치 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 지도 학습을 이용한 데이터 암호화 방법은, 제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계, 기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계, 제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계, 제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계, 상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계 및 관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계를 포함한다.
본 발명에 따라, 상기 제1 암호문 데이터를 생성하는 단계는, 제1 평문 데이터 내의 제1 민감 필드에 대해서만 형태 보존 암호화한 제1 암호문 데이터를 생성할 수 있다.
본 발명에 따라, 상기 관리자 클라이언트로부터, 상기 제2 민감 필드에 대해서만 형태 보존 암호화하도록 하는 요청을 수신하는 단계, 제2 사용자 클라이언트로부터 제3 평문 데이터를 수신하는 단계 및 상기 요청에 따라, 상기 암호 알고리즘을 기반으로 제3 평문 데이터 내의 필드 중에서 제2 민감 필드에 대해서만 형태 보존 암호화하여 제2 암호문 데이터를 생성하는 단계를 더 포함할 수 있다.
본 발명에 따라, 상기 지도 학습을 수행하는 단계는, 제1 민감 필드와 관련된 라벨 및 형태 보존 암호화된 밸류를 학습 데이터셋으로 하여 지도 학습할 수 있다.
본 발명에 따라, 상기 제2 민감 필드를 식별하는 단계는, 제2 평문 데이터 내의 필드 중 밸류의 형태가, 제1 민감 필드의 형태 보존 암호화된 밸류의 형태와 동일한 필드를 추출하는 단계 및 상기 추출된 필드의 키를 제1 민감 필드의 키와 동일한 라벨로 분류하여, 상기 추출된 필드를 제2 민감 필드로 식별하는 단계를 포함할 수 있다.
본 발명에 따라, 상기 지도 학습 결과에 기초하여, 제3 암호문 데이터의 형태 보존 암호화된 밸류에서 이상 징후를 감지하는 단계를 더 포함할 수 있다.
본 발명에 따라, 상기 지도 학습을 수행하는 단계는, 상기 제1 암호문 데이터 내의 모든 필드의 키를 추출하는 단계, 상기 추출된 키를 지도 학습하는 단계를 포함할 수 있다.
본 발명에 따라, 상기 지도 학습 결과에 기초하여, 제3 암호문 데이터의 키에서 이상 징후를 감지하는 단계를 더 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 지도 학습을 이용한 데이터 암호화 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 지도 학습을 이용한 데이터 암호화 장치는, 메모리, 송수신기(transceiver) 및 상기 송수신기를 통해 제1 사용자 클라이언트로부터 제1 평문 데이터가 수신될 경우, 기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하고, 제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨, 키 및 밸류를 포함한 필드 데이터를 추출하여 지도 학습을 수행하고, 상기 수행된 지도 학습의 결과를 상기 메모리에 저장하고, 상기 송수신기를 통해 제2 사용자 클라이언트로부터 제2 평문 데이터가 수신될 경우, 상기 암호 알고리즘을 기반으로 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하며, 상기 송수신기를 통해 관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 정보를 송신하는 프로세서를 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상술한 본 발명에 의하면, 민감 필드가 설정된 특정 사용자의 암호문 데이터를 지도 학습하고, 이에 기초하여 다른 사용자의 평문 데이터에 민감 정보 포함 여부를 판단함으로써 자동으로 민감 필드를 식별할 수 있다. 이후, 다른 사용자의 평문 데이터에서 식별된 민감 필드에 대해서만 암호화가 수행될 수 있다.
사용자별로 입력되는 평문 데이터에서 민감 정보를 포함하는 민감 필드를 자동으로 식별함으로써, 관리자 리소스 낭비를 차단하고 효율적인 시스템 관리가 가능하다.
형태 보존 암호화된 데이터를 지도 학습함으로써, 동일한 민감 정보가 사용자별로 상이하게 분류되어 있어도 형태가 동일한 값에 대해서는 동일한 민감 정보로 분류함으로써, 보안 취약점을 제거할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 지도 학습을 이용한 데이터 암호화 장치를 포함하는 시스템 구성도이다.
도 2 및 도 3은 본 발명에 따른 지도 학습을 이용한 데이터 암호화 방법의 순서도이다.
도 4는 본 발명에 따른 도 2의 S450의 구체적인 방법의 순서도이다.
도 5는 본 발명에 따른 밸류에서 이상 징후 감지 방법의 순서도이다.
도 6 및 도 7은 본 발명에 따른 키에서 이상 징후 감지 방법의 순서도이다.
도 8은 본 발명에 따른 민감 정보 그룹을 설명하기 위한 예시도이다.
도 9는 본 발명에 따른 제1 평문 데이터 및 제1 암호문 데이터를 설명하기 위한 예시도이다.
도 10은 본 발명에 따른 제1 민감 필드를 설명하기 위한 예시도이다.
도 11은 본 발명에 따른 제2 평문 데이터를 설명하기 위한 예시도이다.
도 12는 본 발명에 따른 제2 민감 필드를 설명하기 위한 예시도이다.
도 13은 본 발명에 따른 밸류에서의 이상 징후를 감지하는 것을 설명하기 위한 예시도이다.
도 14 및 도 15는 본 발명에 따른 키에서의 이상 징후를 감지하는 것을 설명하기 위한 예시도이다.
도 16은 본 발명에 따른 지도 학습 수행 및 결과 적용에 대한 전체적인 프로세스를 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서, 민감 정보는 관리자에 의해 선택된 개인 정보를 의미한다. 관리자는 다양한 개인 정보 중에서 암호화가 필수적이라고 생각하는 개인 정보를 민감 정보로 선택한다. 예를 들어, 다양한 개인 정보 중에서 관리자는 이름 및 주민 번호를 민감 정보로 선택할 수 있다.
본 명세서에서, 민감 필드는 복수의 개인 정보 중에서 관리자에 의해 민감 정보로 설정된 개인 정보를 포함하는 필드로서, 형태 보존 암호화의 대상이 되는 필드를 의미한다. 예를 들어, 이름 및 주민 번호가 민감 정보로 설정된 경우, 복수의 필드(예를 들어, 이름, 주소, 주민 번호, 나이를 포함하는 3개의 필드) 중에서 이름 및 주민 번호가 포함되는 것으로 판단되는 2개의 필드만이 민감 필드로 식별되어 형태 보존 암호화되는 것이다.
도 1은 본 발명에 따른 지도 학습을 이용한 데이터 암호화 장치를 포함하는 시스템 구성도이다.
도 2 및 도 3은 본 발명에 따른 지도 학습을 이용한 데이터 암호화 방법의 순서도이다.
도 4는 본 발명에 따른 도 2의 S450의 구체적인 방법의 순서도이다.
도 5는 본 발명에 따른 밸류에서 이상 징후 감지 방법의 순서도이다.
도 6 및 도 7은 본 발명에 따른 키에서 이상 징후 감지 방법의 순서도이다.
도 8은 본 발명에 따른 민감 정보 그룹을 설명하기 위한 예시도이다.
도 9는 본 발명에 따른 제1 평문 데이터 및 제1 암호문 데이터를 설명하기 위한 예시도이다.
도 10은 본 발명에 따른 제1 민감 필드를 설명하기 위한 예시도이다.
도 11은 본 발명에 따른 제2 평문 데이터를 설명하기 위한 예시도이다.
도 12는 본 발명에 따른 제2 민감 필드를 설명하기 위한 예시도이다.
도 13은 본 발명에 따른 밸류에서의 이상 징후를 감지하는 것을 설명하기 위한 예시도이다.
도 14 및 도 15는 본 발명에 따른 키에서의 이상 징후를 감지하는 것을 설명하기 위한 예시도이다.
도 16은 본 발명에 따른 지도 학습 수행 및 결과 적용에 대한 전체적인 프로세스를 설명하기 위한 흐름도이다.
도 1을 참조하면, 지도 학습을 이용한 데이터 암호화 장치(100)(이하, 데이터 암호화 장치)는 송수신기(110), 메모리(120) 및 프로세서(130)을 포함한다. 다만, 본 발명에서의 데이터 암호화 장치(100)는 도 1에 도시된 구성요소들 보다 많거나, 또는 적은 구성요소들을 포함할 수 있다.
데이터 암호화 장치(100)는 데이터 암호화 서비스를 제공하는 회사가 관리하는 서버 장치를 의미할 수 있으며, 또는 클라우드 컴퓨팅 서비스를 제공하는 회사가 관리하는 서버 장치를 의미할 수도 있다.
데이터 암호화 장치(100)는 사용자별로 상이하게 입력되는 데이터에서 민감 정보를 포함하는 민감 필드를 식별하고, 민감 필드에 대해서 형태 보존 암호화를 수행한다. 이에 대한 상세한 설명은 후술한다.
데이터 암호화 장치(100)는 송수신기(110)를 통해 사용자 클라이언트(200) 및 관리자 클라이언트(300)와 통신한다.
송수신기(110)는 데이터 암호화 장치(100)와 무선 통신 시스템 사이, 데이터 암호화 장치(100)와 사용자 클라이언트(200) 사이, 데이터 암호화 장치 (100)와 관리자 클라이언트(300) 사이, 또는 데이터 암호화 장치(100)와 외부 서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 데이터 암호화 장치(110)는, 데이터 암호화 장치(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 송수신기(110)는, 무선 인터넷 모듈 및 근거리 통신 모듈 등을 포함할 수 있다.
무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 데이터 암호화 장치(100)에 내장되거나 외장될 수 있다. 무선 인터넷 모듈은 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있으며, 상기 무선 인터넷 모듈은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
메모리(120)는 데이터 암호화 장치(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(120)는 데이터 암호화 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 데이터 암호화 장치(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
프로세서(130)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 데이터 암호화 장치(100)의 전반적인 동작을 제어한다. 프로세서(130)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(120)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
사용자 클라이언트(200)는 네트워크를 통해서 데이터 암호화 장치(100)와 통신한다. 네트워크는 유선, 무선 또는 유선 및 무선의 조합으로 제공된다. 네트워크의 규모, 토폴로지, 통신 방식 등은 실시예에 따라 다양하게 제공될 수 있다. 예를 들어, 네트워크는 인터넷일 수 있다.
사용자 클라이언트(200)는 사용자에 의해 사용되며, 네트워크를 통해서 통신 가능한 전자 장치를 나타낸다. 예를 들어, 사용자 클라이언트(100)는 스마트폰, 태블릿, 노트북, 데스크톱 등과 같은 전자 장치를 포함한다. 그러나, 이에 제한되는 것은 아니며, 사용자 클라이언트(200)는 스마트티비, 스마트와치, 웨어러블 밴드, 인공지능 스피커 등과 같은 네트워크를 통해서 통신 가능한 임의의 전자 장치를 포함한다.
여기서, 사용자는 데이터 암호화 서비스를 사용하는 개인 또는 회사일 수 있으며, 또는클라우드 컴퓨팅 서비스를 사용하는 개인 또는 회사일 수 있다.
관리자 클라이언트(300)는 네트워크를 통해서 데이터 암호화 장치(100)와 통신한다. 네트워크는 유선, 무선 또는 유선 및 무선의 조합으로 제공된다. 네트워크의 규모, 토폴로지, 통신 방식 등은 실시예에 따라 다양하게 제공될 수 있다. 예를 들어, 네트워크는 인터넷일 수 있다.
관리자 클라이언트(300)는 관리자에 의해 사용되며, 네트워크를 통해서 통신 가능한 전자 장치를 나타낸다. 예를 들어, 관리자 클라이언트(300)는 스마트폰, 태블릿, 노트북, 데스크톱 등과 같은 전자 장치를 포함한다. 그러나, 이에 제한되는 것은 아니며, 관리자 클라이언트(300)는 스마트티비, 스마트와치, 웨어러블 밴드, 인공지능 스피커 등과 같은 네트워크를 통해서 통신 가능한 임의의 전자 장치를 포함한다.
여기서, 관리자는 데이터 암호화 서비스를 제공하는 회사의 직원(담당자)를 의미할 수 있으며, 또는 클라우드 컴퓨팅 서비스를 제공하는 회사의 직원(담당자)를 의미할 수도 있다.
이하에서는, 송수신기(110), 메모리(120) 및 프로세서(130)을 포함하는 데이터 암호화 장치(100)가 지도 학습을 이용하여 데이터를 암호화하는 방법을 상세히 설명하도록 한다.
설명에 앞서, 프로세서(130)는 관리자에 의해 선택된 복수의 민감 정보를 하나의 그룹으로 그룹핑하여 메모리(120)에 저장해 놓는다. 이때, 복수의 민감 정보는 관리자에 의해 각각 라벨링된다. 예를 들어, 도 8에 도시된 바와 같이, 민감 정보 그룹에는 "이름", "주민번호", "신용카드"로 라벨링된 민감 정보가 포함되어 있을 수 있다.
도 2를 참조하면, 프로세서(130)는 송수신기(110)를 통해 제1 사용자 클라이언트(200)로부터 제1 평문 데이터를 수신한다(S410).
제1 평문 데이터는 복수의 필드를 포함하며, 각 필드에 대한 키(key) 와 밸류(value)로 구성된다. 각 필드에 대해서 밸류 값으로 제1 사용자의 개인 정보가 입력된다. 여기서, 밸류 값은 아직 암호화되기 전인 평문 데이터이다.
도 9a를 참조하면, 제1 평문 데이터는 제1 사용자의 이름, 성별, 주민번호, 나이 및 신용카드 정보를 포함한다. 예를 들어, 키 값이 "name"인 필드에는 제1 사용자의 이름이 밸류 값으로 입력되고, 키 값이 "gender"인 필드에는 제1 사용자의 성별이 밸류 값으로 입력될 수 있다.
S410 이전에, 관리자 클라이언트(300)는 제1 사용자 클라이언트(200)로부터 등록을 위한 평문 데이터(이하, 등록용 평문 데이터)를 수신한다.
수신된 등록용 평문 데이터에 상기 민감 정보 그룹에 포함된 개인 정보가 있는 경우, 해당 개인 정보가 입력된 필드의 키 값을 민감 정보 그룹에 매핑한다.
예를 들어, 민감 정보 그룹에 "이름", "주민번호", "신용카드"가 포함되고, 제1 사용자 클라이언트(200)로부터 수신된 등록용 평문 데이터에 제1 사용자의 이름, 성별, 주민번호, 나이 및 신용카드 정보가 포함되어 있다면, 민감 정보가 포함된 필드의 키, 즉 "name"을 민감 정보 그룹 내의 "이름" 라벨로 분류하여 매핑하고, "regnum"을 민감 정보 그룹 내의 "주민번호" 라벨로 분류하여 매핑하고, "credit"을 민감 정보 그룹 내의 "신용카드" 라벨로 분류하여 매핑한다.
이렇게 제1 사용자에 대한 민감 정보 등록이 완료되면, 이를 메모리(120)에 저장하고, 이후에 제1 사용자 클라이언트(200)로부터 수신되는 제1 평문 데이터에서 키 값이 "name", "regnum", "credit"인 필드에 대해서만 형태 보존 암호화를 수행하는 것이다.
프로세서(130)는 기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성한다(S420).
제1 암호문 데이터는 제1 평문 데이터와 동일한 필드를 가지며, 각 필드에 대한 키(key) 와 밸류(value)로 구성된다.
이때, 제1 암호문 데이터에는 제1 평문 데이터와는 다르게 결합키 관련 필드가 더 포함될 수 있다. 여기서, 결합키는 평문 데이터를 형태 보존 암호화하여 암호 데이터로 생성하는 데 사용되는 값이다. 본 발명에서 결합키 관련 필드는 지도 학습에 활용되지 않는 것으로 설명하지만 이에 제한되는 것은 아니다.
프로세서(130)는 제1 평문 데이터 내의 제1 민감 필드에 대해서만 형태 보존 암호화한 제1 암호문 데이터를 생성한다.
제1 민감 필드는 제1 평문 데이터 내의 필드 중에서 민감 정보가 포함된 필드를 의미한다.
도 9a 및 도 9b를 참조하면, 제1 사용자의 이름, 성별, 주민번호, 나이 및 신용카드 정보를 포함하는 제1 평문 데이터에서, 등록 시 민감 정보 그룹에 매핑된 키(즉, "name", "regnum", "credit")에 대한 밸류에 대해서만 형태 보존 암호화되었다.
즉, 이름이 "홍길동"에서 "??뜯냐"로 형태 보존 암호화되고, 주민번호가 "831012-******"에서 "899837-******"로 형태 보존 암호화되고, 신용카드가 "1234-0024-8511-3209"에서 "5268-9738-9287-2487"로 형태 보존 암호화되었다.
여기서, 암호 알고리즘은 FPE(Format Preserving Encryption) 알고리즘일 수 있다.
형태 보존 암호화는 암호 알고리즘(FPE 알고리즘)을 통해 평문 데이터와 암호문 데이터가 동일하지는 않지만, 길이 및 문자 종류가 일치하도록 변환되는 것을 의미한다. 예를 들어, 한글-한글, 영어-영어, 숫자-숫자, 태국어-태국어, 아랍어-아랍어 등과 같이 같은 범주로 변환될 수 있다.
본 발명에 따라, 암호 알고리즘은 평문 데이터를 동일 유니코드 세트(Unicode Set)별로 인지함으로써 여러 가지 문자가 섞여 있는 경우에도 형태 보존 암호화할 수 있다.
다시 도 2를 참조하면, 프로세서(130)는 제1 암호문 데이터 내의 필드 중 제1 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행한다(S430).
필드 데이터는 각 필드의 라벨, 키 및 밸류를 포함한다. 여기서, 라벨은 민감 정보 그룹 내의 복수의 민감 정보에 대해서 관리자가 부여한 것이다. 즉, 도 10에 도시된 바와 같이, 민감 정보가 포함된 필드(필드 2, 필드 4 및 필드 6)의 필드 데이터는 민감 정보에 부여된 라벨, 필드의 키와 밸류를 포함하지만, 민감 정보가 포함되지 않은 필드(필드 1, 필드 3 밀드 6)의 필드 데이터는 키 및 밸류만 포함할 수 있다.
도 10을 참조하면, 프로세서(130)는 6개의 필드 중 제1 민감 필드에 해당하는 필드 2, 필드 4 및 필드 6의 필드 데이터를 추출하여 지도 학습을 수행한다. 여기서, 필드 1은 결합키와 관련된 필드로서 암호문 데이터에만 포함되어 있는 필드이다. 나머지 필드 2 내지 필드 6은 평문 데이터의 필드와 동일하다.
구체적으로, 프로세서(130)는 제1 민감 필드의 라벨 및 형태 보존 암호화된 밸류를 학습 데이터셋으로 하여 지도 학습한다.
즉, 형태 보존 암호화된 밸류를 입력값으로 하고, 라벨을 출력값으로 하여 지도 학습을 수행한다. 예를 들어, 형태 보존 암호화된 밸류가 "??뜯냐"이고 라벨이 "이름"인 경우, 이를 입력값 및 출력값으로 하여 3글자의 문자열 또는 3글자의 괴문자열은 라벨이 이름인 것으로 지도 학습을 수행할 수 있다. 이로써, 3글자의 문자열 또는 3글자의 괴문자열(존재하지 않는 한글)이 입력되면 "이름" 라벨로 분류될 수 있다.
상술한 바와 같이, 제1 암호문 데이터는 민감 필드가 이미 식별되어 있는 것으로서, 지도 학습을 수행하기 위해 활용되는 데이터이다.
이렇게 제1 암호문 데이터를 이용하여 지도 학습이 완료되면, 프로세서(130)는 지도 학습 결과를 메모리(120)에 저장한다.
그리고, 이후 민감 필드가 아직 식별되지 않은, 즉 새로운 사용자 클라이언트(이하, 제2 사용자 클라이언트)(200)로부터 입력되는 제2 평문 데이터에 지도 학습 결과를 적용하고, 이에 기초하여 제2 평문 데이터의 필드 중 제2 민감 필드를 식별할 수 있다.
다시 도 2를 참조하면, 프로세서(130)는 송수신기(110)를 통해 제2 사용자 클라이언트(200)로부터 제2 평문 데이터를 수신한다(S440).
제2 평문 데이터는 복수의 필드를 포함하며, 각 필드에 대한 키(key) 와 밸류(value)로 구성된다. 각 필드에 대해서 밸류 값으로 제2 사용자의 개인 정보가 입력된다. 여기서, 밸류 값은 아직 암호화되기 전인 평문 데이터이다.
도 11를 참조하면, 제2 평문 데이터는 제2 사용자의 이름 및 주소 정보를 포함한다. 예를 들어, 키 값이 "user-name"인 필드에는 제2 사용자의 이름, 즉 "김철수"가 밸류 값으로 입력되고, 키 값이 "addr"인 필드에는 제2 사용자의 주소, 즉 "서울시 서초구 **********"가 밸류 값으로 입력될 수 있다.
다시 도 2를 참조하면, 프로세서(130)는 상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별한다(S450).
구체적으로, 도 4를 참조하면, 프로세서(130)는 제2 평문 데이터 내의 필드 중 밸류의 형태가, 제1 민감 필드의 형태 보존 암호화된 밸류의 형태와 동일한 필드를 추출하고(S452), 상기 추출된 필드의 키를 제1 민감 필드의 키와 동일한 라벨로 분류하여, 상기 추출된 필드를 제2 민감 필드로 식별한다(S452).
도 10 및 12를 참조하면, 제2 평문 데이터의 2개의 밸류, 즉 "김철수" 및 "서울시 서초구 **********"를, 제1 민감 필드의 형태 보존 암호화된 "??뜯냐", "899837-******" 및 "5268-9738-9287-2487"와 비교했을 때, "김철수"와 "??뜯냐"의 형태가 동일한 것으로 판단될 수 있다.
이에 따라, 도 12를 참조하면, 프로세서(130)는 밸류 값이 "김철수"인 필드 2의 키 값, 즉 "user-name"을 민감 정보 그룹에 매핑하게 된다.
즉, 프로세서(130)는 "user-name"을 밸류 값이 "??뜯냐"인 제1 민감 필드의 키 값, 즉 "name"과 동일한 라벨, 즉 "이름" 라벨로 분류함으로써, 민감 정보 그룹에 매핑하게 된다.
프로세서(130)는 키 값을 민감 정보 그룹에 매핑이 완료되면, 필드 2를 제2 민감 필드로 식별할 수 있게 된다.
이로써, 제1 평문 데이터와 제2 평문 데이터에 동일한 민감 정보(사용자의 이름 정보)가 포함되었지만 키 값이 다른 경우(제1 평문 데이터의 키 값은 "name", 제2 평문 데이터의 키 값은 "user-name")에도, 동일한 라벨("이름")로 분류될 수 있게 된다.
상기 도 10 및 도 12에서는 민감 정보 그룹에 그룹핑되어 있지 않은 개인 정보(예를 들어, 나이, 주소 등)에는 라벨링이 되어 있지 않은 것으로 도시 및 설명하였지만, 이에 제한되지 않고 민감 정보 그룹에 그룹핑되어 있지 않은 개인 정보도 기본값으로 라벨링되어 있을 수도 있다.
다시 도 2를 참조하면, 프로세서(130)는 송수신기(110)를 통해 관리자 클라이언트(300)로 상기 식별된 제2 민감 필드를 추천한다(S460).
제2 민감 필드를 추천하는 것은 관리자에게 해당 필드가 중요한 개인 정보를 포함하고 있다는 것을 알리기 위함이며, 관리자는 추천에 따라 이후 제2 사용자 클라이언트로부터 수신되는 제2 평문 데이터에 대해서 추천된 필드에 대해서만 형태 보존 암호화 수행되도록 할 수 있다.
구체적으로, 도 3을 참조하면, 프로세서(130)는 송수신기(110)를 통해 관리자 클라이언트(300)로부터, 상기 제2 민감 필드에 대해서만 형태 보존 암호화하도록 하는 요청을 수신한다(S510).
프로세서(130)는 상기 암호화 요청에 따라 제2 사용자에 대한 민감 정보 등록을 완료하고, 이를 메모리(120)에 저장한다.
프로세서(130)는 송수신기(110)를 통해 제2 사용자 클라이언트(200)로부터 제3 평문 데이터를 수신한다(S520).
여기서, 제3 평문 데이터는 제2 평문 데이터와 제2 사용자 클라이언트(200)로부터 수신되는 것은 동일하지만, 수신 시점이 다르다. 즉, 제2 평문 데이터는 제2 민감 필드가 식별되기 전에 제2 사용자 클라이언트(200)로부터 수신된 것이고, 제3 평문 데이터는 제2 민감 필드가 식별된 후에 제2 사용자 클라이언트(200)로부터 수신된 것이다.
프로세서(130)는 상기 요청에 따라, 상기 암호 알고리즘을 기반으로 제3 평문 데이터 내의 필드 중에서 제2 민감 필드에 대해서만 형태 보존 암호화하여 제2 암호문 데이터를 생성한다(S530).
즉, 제2 사용자 클라이언트(200)로부터 수신되는 제3 평문 데이터에서 키 값이 "user-name"인 제2 민감 필드에 대해서만 형태 보존 암호화를 수행하는 것이다.
예를 들어, 각각 "user-name" 및 "addr"의 키를 갖는 제3 평문 데이터의 필드 중에서 키 값이 "user-name"인 필드에 대해서만 형태 보존 암호화되어, 제2 암호문 데이터의 각 필드의 밸류는 "?易尸?" 및 "서울시 서초구 **********"이 될 수 있다.
상술한 바와 같이, 본 발명은 제1 사용자의 형태 보존 암호화된 암호문 데이터로 지도 학습하고, 제2 사용자의 평문 데이터를 지도 학습 모델에 적용하여 민감 정보를 식별하는 것으로 설명하였다. 이와 같이, 암호화된 데이터와 암호화되지 않은 평문 데이터를 비교할 수 있는 이유는, 기본적으로 형태 보존 암호화를 하기 때문이다. 즉, 형태 보존 암호화를 통해 의미는 달라질지라도, 암호문 데이터를 평문 데이터의 구조와 동일하게 유지할 수 있기 때문이다.
이에 따라, 주민번호, 카드번호 및 전화번호 등과 같이 정형화된 텍스트의 경우에는 형태 보존 암호화를 통해 암호화하여도 각각의 정보를 구분하는 것이 가능하다.
그러나, 이름과 제품명 같은 비정형 텍스트의 경우, 평문 데이터와 암호문의 교차 탐색이 불가능할 수도 있다. 이러한 경우에는, 미리 구축된 평문 데이터를 추가적으로 활용하여 지도 학습하거나, 또는 평문 데이터에 대한 지도 학습 모델을 추가적으로 구축하여 사용할 수도 있다.
이하에서는 도 5 및 도 13을 참조하여, 밸류에서의 이상 징후를 감지하는 방법에 대해서 설명하도록 한다.
도 5를 참조하면, S430에서 지도 학습이 완료되면, 프로세서(130)는 지도 학습 결과에 기초하여, 제3 암호문 데이터의 형태 보존 암호화된 밸류에서 이상 징후를 감지한다(S610).
구체적으로, 프로세서(130)는 제1 민감 필드의 라벨과 매칭되는 제3 암호문 데이터의 형태 보존 암호화된 밸류의 형태의 정상 여부를 판단하고, 판단 결과에 따라 이상 징후를 감지할 수 있다.
여기서, 제3 암호문 데이터는 지도 학습 결과에 적용하는 모든 암호문 데이터를 의미한다. 즉, 지도 학습을 수행하기 위한 학습 데이터(즉, 제1 사용자의 제1 암호문 데이터)를 제외한, (제1 사용자를 제외한) 모든 사용자로부터 입력되는 평문 데이터를 형태 보존 암호화한 데이터인 것이다. 본 발명에 따라, 제3 암호문 데이터는 제2 암호문 데이터일 수도 있다.
도 13을 참조하면, 필드 2, 필드 4 및 필드 6의 3개의 형태 보존 암호화된 밸류 값에 대해서 지도 학습 결과를 적용하는 경우, 지도 학습 결과에 따르면, 라벨이“이름"인 밸류는 3글자의 괴문자열(존재하지 않는 한글)이 입력되어야 하는데, 1글자의 괴문자열(존재하지 않는 한글)과 2글자의 영어가 입력되었기 때문에, 필드 2의 밸류가 비정상인 것을 감지할 수 있게 된다.
라벨이 "주민번호"인 밸류 및 라벨이 "신용카드"인 밸류는 지도 학습 결과와 일치하는 형태로 입력되었기 때문에, 필드 4 및 필드 6은 정상인 것으로 판단할 수 있다.
이하에서는 도 6, 도 7, 도 14 및 도 15를 참조하여, 키에서의 이상 징후를 감지하는 방법에 대해서 설명하도록 한다.
S430에서, 프로세서(130)는 제1 암호문 데이터 내의 필드 중 제1 민감 필드의 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하였다.
뿐만 아니라, S430에서, 프로세서(130)는 제1 암호문 데이터의 모든 필드에 대한 지도 학습도 수행할 수 있다.
제1 암호문 데이터의 모든 필드에 대한 지도 학습이 완료되면, 프로세서(130)는 지도 학습 결과를 메모리(120)에 저장한다.
구체적으로, 도 6을 참조하면, 프로세서(130)는 제1 암호문 데이터 내의 모든 필드의 키를 추출하고(S431), 상기 추출된 키를 지도 학습한다(S432).
본 발명에 따라, 프로세서(130)는 추출된 키를 일렬로 연결하여 1차원 데이터로 변환할 수 있다. 예를 들어, 플랫튼(flatten)을 수행하여 추출된 키를 1차원 데이터로 변환할 수 있다.
도 14를 참조하면, 제1 암호문 데이터의 5개의 필드를 알파벳 순서대로 배열하여, 즉, "combination-key", "name", "gender", "regnum", "age"을 "age", "combination-key", "gender", "name", "regnum"의 순으로 배열하여, 일렬로 연결한다. 이렇게 일렬로 연결된 1차원 데이터를 지도 학습한다.
도 7을 참조하면, S432에서 지도 학습이 완료되면, 프로세서(130)는 지도 학습 결과에 기초하여, 제3 암호문 데이터의 키에서 이상 징후를 감지한다(S710).
여기서, 제3 암호문 데이터는 지도 학습 결과에 적용하는 모든 암호문 데이터를 의미한다. 즉, 지도 학습을 수행하기 위한 학습 데이터(즉, 제1 사용자의 제1 암호문 데이터)를 제외한, (제1 사용자를 제외한) 모든 사용자로부터 입력되는 평문 데이터를 형태 보존 암호화한 데이터인 것이다. 본 발명에 따라, 제3 암호문 데이터는 제2 암호문 데이터일 수도 있다.
도 15를 참조하면, 제3 암호문 데이터의 6개의 필드를 알파벳 순서대로 배열하여, 즉 "combination-key", "name", "regnum", "gender", "credit", "age"을 "age", "combination-key", "credit", "gender", "name", "regnum"의 순으로 배열하여, 일렬로 연결한다. 예를 들어, 플랫튼을 수행하여 1차원 데이터로 변환할 수 있다.
이렇게 일렬로 연결된 1차원 데이터에 지도 학습 결과를 적용하면, 제3 암호문 데이터의 전체 키 중에서 "credit"가 비정상인 것을 감지할 수 있게 된다.
이하에서는, 도 16을 참조하여, 데이터를 이용하여 지도 학습을 수행하고, 지도 학습 결과를 적용하는 전체적인 프로세스에 대해서 정리하여 설명하도록 한다.
먼저, 프로세서(130)는 제1 사용자에 대해서 민감 정보 등록을 수행한다. 즉, 제1 사용자로부터 수신되는 등록용 평문 데이터에서 민감 정보가 포함되었는지를 파악하고, 민감 정보가 포함되었다면, 민감 정보가 포함된 필드의 키를 민감 정보 그룹에 그룹핑한다. 도 16에 도시된 바와 같이, 제1 사용자로부터 "name: 정우성"이라는 등록용 평문 데이터를 입력받았을 때, 이를 민감 정보로 파악하여 키 값인 "name"을 "이름" 라벨로 분류하여 그룹핑을 완료한다.
이후, 제1 사용자로부터 "name: 김태희"라는 제1 평문데이터를 입력받으면, 제1 평문데이터의 키 값인 "name"을 보고, "김태희"라는 정보가 민감 정보임을 식별하여 암호화를 수행하게 된다.
이에 따라, 제1 암호문 데이터 "name: ?x긁뱉"이 생성되고, 키 값인 "name"과 밸류 값인 "?x긁뱉"은 지도 학습에 사용되게 된다.
이후, 제1 사용자와는 다른 제2 사용자로부터 "user-name: 박보영"이라는 제2 평문 데이터를 입력받으면, 밸류 값인 "박보영"을 지도 학습 모델에 적용한다.
적용 결과, "박보영"은 민감 정보 그룹의 "이름" 라벨에 속한 "name"과 형태가 동일한 것으로 판단되어, 키 값인 "user-name"은 "name"과 동일한 라벨로 분류되어 그룹핑된다.
이후, 제2 사용자로부터 "user-name: 김소희"이라는 제3 평문 데이터를 입력받으면, "user-name"이 민감 정보 그룹의 "이름" 라벨에 속해 있는 것을 이미 알고 있기 때문에, "김소희"라는 정보가 민감 정보임을 식별하여 암호화를 수행하게 된다.
이상에서 전술한 본 발명의 일 실시예에 따른 지도 학습을 이용한 데이터 암호화 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 데이터 암호화 장치
110 : 송수신기
120 : 메모리
130 : 프로세서
200 : 사용자 클라이언트
300 : 관리자 클라이언트

Claims (10)

  1. 서버에 의해 수행되는 방법으로서,
    제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계;
    기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계;
    제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계;
    제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계;
    상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계; 및
    관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계;를 포함 하고,
    상기 제1 암호문 데이터를 생성하는 단계는,
    제1 평문 데이터 내의 제1 민감 필드에 대해서만 형태 보존 암호화한 제1 암호문 데이터를 생성하는,
    지도 학습을 이용한 데이터 암호화 방법.
  2. 제1항에 있어서,
    상기 관리자 클라이언트로부터, 상기 제2 민감 필드에 대해서만 형태 보존 암호화하도록 하는 요청을 수신하는 단계;
    제2 사용자 클라이언트로부터 제3 평문 데이터를 수신하는 단계; 및
    상기 요청에 따라, 상기 암호 알고리즘을 기반으로 제3 평문 데이터 내의 필드 중에서 제2 민감 필드에 대해서만 형태 보존 암호화하여 제2 암호문 데이터를 생성하는 단계;를 더 포함하는,
    지도 학습을 이용한 데이터 암호화 방법.
  3. 서버에 의해 수행되는 방법으로서,
    제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계;
    기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계;
    제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계;
    제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계;
    상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계; 및
    관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계;를 포함하고,
    상기 지도 학습을 수행하는 단계는,
    제1 민감 필드와 관련된 라벨 및 형태 보존 암호화된 밸류를 학습 데이터셋으로 하여 지도 학습하는,
    지도 학습을 이용한 데이터 암호화 방법.
  4. 제3항에 있어서,
    상기 제2 민감 필드를 식별하는 단계는,
    제2 평문 데이터 내의 필드 중 밸류의 형태가, 제1 민감 필드의 형태 보존 암호화된 밸류의 형태와 동일한 필드를 추출하는 단계; 및
    상기 추출된 필드의 키를 제1 민감 필드의 키와 동일한 라벨로 분류하여, 상기 추출된 필드를 제2 민감 필드로 식별하는 단계;를 포함하는,
    지도 학습을 이용한 데이터 암호화 방법.
  5. 서버에 의해 수행되는 방법으로서,
    제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계;
    기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계;
    제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계;
    제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계;
    상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계; 및
    관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계;를 포함하고,
    상기 지도 학습 결과에 기초하여, 제3 암호문 데이터의 형태 보존 암호화된 밸류에서 이상 징후를 감지하는 단계;를 더 포함하는,
    지도 학습을 이용한 데이터 암호화 방법.
  6. 서버에 의해 수행되는 방법으로서,
    제1 사용자 클라이언트로부터 제1 평문 데이터를 수신하는 단계;
    기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하는 단계;
    제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨(label), 키(key) 및 밸류(value)를 포함한 필드 데이터를 추출하여 지도 학습을 수행하는 단계;
    제2 사용자 클라이언트로부터 제2 평문 데이터를 수신하는 단계;
    상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하는 단계; 및
    관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 단계;를 포함하고,
    상기 지도 학습을 수행하는 단계는,
    상기 제1 암호문 데이터 내의 모든 필드의 키를 추출하는 단계; 및
    상기 추출된 키를 지도 학습하는 단계;를 포함하는,
    지도 학습을 이용한 데이터 암호화 방법.
  7. 제6항에 있어서,
    상기 지도 학습 결과에 기초하여, 제3 암호문 데이터의 키에서 이상 징후를 감지하는 단계;를 더 포함하는,
    지도 학습을 이용한 데이터 암호화 방법.
  8. 컴퓨터와 결합하여 제1항 내지 제7항 중 어느 한 항의 지도 학습을 이용한 데이터 암호화 방법을 수행하기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
  9. 지도 학습을 이용한 데이터 암호화 장치에 있어서,
    메모리;
    송수신기(transceiver); 및
    상기 송수신기를 통해 제1 사용자 클라이언트로부터 제1 평문 데이터가 수신될 경우, 기 설정된 암호 알고리즘을 기반으로 제1 평문 데이터를 형태 보존 암호화한 제1 암호문 데이터를 생성하고,
    제1 암호문 데이터 내의 필드 중 기 설정된 민감 정보가 포함된 제1 민감 필드와 관련된 라벨, 키 및 밸류를 포함한 필드 데이터를 추출하여 지도 학습을 수행하고,
    상기 수행된 지도 학습 결과를 상기 메모리에 저장하고,
    상기 송수신기를 통해 제2 사용자 클라이언트로부터 제2 평문 데이터가 수신될 경우, 상기 지도 학습 결과에 기초하여, 제2 평문 데이터 내의 필드 중 민감 정보가 포함된 제2 민감 필드를 식별하며,
    상기 송수신기를 통해 관리자 클라이언트로 상기 식별된 제2 민감 필드를 추천하는 정보를 송신하는 프로세서;를 포함하고,
    상기 프로세서는,
    제1 평문 데이터 내의 제1 민감 필드에 대해서만 형태 보존 암호화한 제1 암호문 데이터를 생성하는,
    지도 학습을 이용한 데이터 암호화 장치.
  10. 삭제
KR1020200141600A 2020-10-28 2020-10-28 지도 학습을 이용한 데이터 암호화 장치 및 방법 KR102338191B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200141600A KR102338191B1 (ko) 2020-10-28 2020-10-28 지도 학습을 이용한 데이터 암호화 장치 및 방법
PCT/KR2020/014867 WO2022092347A1 (ko) 2020-10-28 2020-10-29 지도 학습을 이용한 데이터 암호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141600A KR102338191B1 (ko) 2020-10-28 2020-10-28 지도 학습을 이용한 데이터 암호화 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102338191B1 true KR102338191B1 (ko) 2021-12-13

Family

ID=78831881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141600A KR102338191B1 (ko) 2020-10-28 2020-10-28 지도 학습을 이용한 데이터 암호화 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102338191B1 (ko)
WO (1) WO2022092347A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688811B1 (ko) 2015-05-08 2016-12-22 (주)케이사인 데이터 암복호화 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170081506A (ko) * 2016-01-04 2017-07-12 한국전자통신연구원 부분 데이터 암호를 이용한 데이터 저장 장치 및 방법
CN109670312A (zh) * 2017-10-13 2019-04-23 华为技术有限公司 安全控制方法及计算机系统
US11036700B2 (en) * 2018-12-31 2021-06-15 Microsoft Technology Licensing, Llc Automatic feature generation for machine learning in data-anomaly detection
KR102089688B1 (ko) * 2019-04-12 2020-04-24 주식회사 이글루시큐리티 준지도학습을 통한 인공지능 기반 보안이벤트 분석시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688811B1 (ko) 2015-05-08 2016-12-22 (주)케이사인 데이터 암복호화 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Harry Chandra Tanuwidjaja, et al. "Privacy-Preserving Deep Learning on Machine Learning as a Service A Comprehensive Survey." IEEE Access, Vol. 8, pp.167425-167447(2020.09.10.) 1부.* *
김평, 등 "프라이버시 보존 분류 방법 동향 분석." 정보보호학회지 27(3), pp.33-41(2017.) 1부.* *

Also Published As

Publication number Publication date
WO2022092347A1 (ko) 2022-05-05

Similar Documents

Publication Publication Date Title
US10560472B2 (en) Server-supported malware detection and protection
US11663460B2 (en) Data exchange method, data exchange device and computing device
US11729198B2 (en) Mapping a vulnerability to a stage of an attack chain taxonomy
US20210365445A1 (en) Technologies for collecting, managing, and providing contact tracing information for infectious disease response and mitigation
US20160344773A1 (en) Integrated Development Environment (IDE) for Network Security Configuration Files
US10749886B1 (en) Analyzing diversely structured operational policies
CN105827582B (zh) 一种通信加密方法、装置和系统
CN108090351A (zh) 用于处理请求消息的方法和装置
CN115039379A (zh) 使用分类器层级确定设备属性的系统和方法
Wang et al. TextDroid: Semantics-based detection of mobile malware using network flows
US11693967B2 (en) Machine learning-based method and system for detecting plaintext passwords
Iadarola et al. Image-based Malware Family Detection: An Assessment between Feature Extraction and Classification Techniques.
Rasheed et al. Adversarial attacks on featureless deep learning malicious URLs detection
CN110489992A (zh) 基于大数据平台的脱敏方法及系统
CN111541758B (zh) 页面更新方法及装置
KR102338191B1 (ko) 지도 학습을 이용한 데이터 암호화 장치 및 방법
CN116055067B (zh) 一种弱口令检测的方法、装置、电子设备及介质
CN107846351A (zh) 一种聊天消息敏感信息加密方法及装置
Ambika An economical machine learning approach for anomaly detection in IoT environment
CN111177536A (zh) 基于设备指纹对未登录用户传送定制信息的方法、装置及电子设备
CN116561777A (zh) 数据处理方法以及装置
CN113037743B (zh) 一种云端服务器文件的加密方法及系统
US20200089896A1 (en) Encrypted log aggregation
Wang et al. A Few‐Shot Malicious Encrypted Traffic Detection Approach Based on Model‐Agnostic Meta‐Learning
US20240184981A1 (en) Automated document harvesting and regenerating by crowdsourcing in enterprise social networks

Legal Events

Date Code Title Description
GRNT Written decision to grant