KR102253953B1 - K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 - Google Patents
K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 Download PDFInfo
- Publication number
- KR102253953B1 KR102253953B1 KR1020200071092A KR20200071092A KR102253953B1 KR 102253953 B1 KR102253953 B1 KR 102253953B1 KR 1020200071092 A KR1020200071092 A KR 1020200071092A KR 20200071092 A KR20200071092 A KR 20200071092A KR 102253953 B1 KR102253953 B1 KR 102253953B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- value
- equation
- data
- location tracking
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/14—Receivers specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Radar, Positioning & Navigation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치는, 미리 설정된 k값을 기초로 시간 정보에 대한 HMAC 값인 Q값을 산출하고, 상기 Q값들을 기초로 단조증가 다항식을 이용하여 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하여 특정 주체의 위치추적정보를 비식별화하여 생성 및 저장할 수 있다.
Description
본 발명은 위치추적정보 보안 기법 및 장치에 관한 것으로, 보다 상세하게는 K-익명성 모델 및 데이터 교란화를 이용하여 보안성이 강화되면서도 통계정보 추출이 용이한 위치추적정보 보안 기법 및 장치에 관한 것이다.
빅데이터 기술이 발달되면서 특정 개인이나 장치의 위치정보를 추적하는 기술도 중요해지고 있다. 개인이나 장치의 특정한 위치 정보는 GPS 좌표 정보인 위도 및 경도로 표현 가능하다.
위치추적정보는 공간 정보인 GPS 좌표를 시간 정보와 연결시킨 것이다. 예를 들어, 특정 시간에 GPS 좌표를 맵핑하면 그 시간에 어느 위치에 있었는지를 파악할 수 있게 된다. 따라서 GPS 정보를 주기적으로(예를 들어, 10초 단위로) 수집하면 특정 개인이나 장치의 위치를 추적할 수 있는 위치추적정보로 활용이 가능하다.
이러한 위치추적정보를 활용하는 어플리케이션의 경우 지도 정보에 매칭하여 특정 개인의 시간별 이동 경로를 쉽게 출력할 수 있다. 하지만 위치추적기능을 제공하는 이러한 어플리케이션이 위치정보를 지속적으로 보관하는 경우 심각한 프라이버시 침해 문제가 발생할 수 있다.
특히, 위치추적 서비스를 제공하는 서비스의 데이터베이스가 해킹을 당하는 경우 개인정보가 유출되는 심각한 문제가 발생할 수 있다. 이를 해결하기 위하여 위치정보를 암호화하여 보관하는 방법을 생각해 볼 수 있다. 하지만, 암호화된 상태에서는 통계정보의 추출을 할 수 없고, 통계정보 추출을 위하여 모든 데이터를 원본 데이터로 복호화 하기도 쉽지 않다.
또한, 한국공개특허 제10-2019-0124195호에서는 K-익명성 모델을 이용한 데이터 비식별화 방법이 개시되어 있으나, 데이터 처리 시간을 단축할 수 있는 방법만 개시하고 있을 뿐 위치추적정보에 대한 보안성을 강화시키면서 통계 추출이 용이한 기술에 대해서는 개시하고 있지 않다.
따라서, 외부 해킹에 대하여 보안성이 강화되면서도 통계정보 추출이 용이하여 실시간 위치정보추적이 가능한 위치추적정보 보안 기법이 필요한 실정이다.
본 발명은 위와 같은 문제를 해결하기 위한 것으로, 상세하게는 K-익명성 모델 및 데이터 교란화를 이용하여 보안성이 강화되면서도 통계정보 추출이 용이한 위치추적정보 보안 기법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 위한 위치추적정보 보안 기법은, (a) ID 정보, 시간 정보 및 GPS 정보를 포함하는 데이터 레코드를 수신하는 단계와, (b) K- 익명화를 위한 k값을 설정하는 단계와, (c) 상기 설정된 k값을 기초로 k개의 상기 시간 정보에 대한 HMAC 값인 Q값들을 산출하는 단계와, (d) 상기 Q값들을 기초로 단조증가 다항식을 이용하여 상기 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하는 단계와, (e) 상기 산출된 k개의 Q값 및 교란화된 GPS 정보를 데이터베이스화하여 저장하는 단계를 포함할 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 기법은, 상기 (c) 단계에서 상기 Q값은 하기 수학식 1에 의하여 산출될 수 있다.
<수학식 1>
(상기 수학식 1에서 HMAC는 Hash-based Message Authentication Code 알고리즘이며, TS는 상기 시간 정보의 타임스탬프 정보이며, K_CNT는 상기 k값이 기초한 카운트 숫자이며, PK는 사전에 공유된 비밀키 정보이다)
또한 본 발명의 일실시예에 따른 위치추적정보 보안 기법은, 상기 GPS 정보가 위도 정보 및 경도 정보를 포함하고, 상기 (d) 단계에서 상기 교란화된 GPS 정보는 하기 수학식 2 및 수학식 3에 의하여 산출될 수 있다.
<수학식 2>
(상기 수학식 2에서 PRNG는 의사난수발생기를 의미하며, mod m는 의사난수발생기에서 발생가능한 최대값이 m임을 의미한다)
<수학식 3>
(상기 수학식 3에서 QI는 상기 Q값을 숫자로 치환시킨 값이며, COR는 음수인 입력값을 양수로 변환하기 위한 미리 설정된 보정값을 나타낸다)
또한 본 발명의 일실시예에 따른 위치추적정보 보안 기법의 상기 QI값은 상기 Q값을 기초로 아스키 코드 변환에 의하여 산출될 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 기법의 상기 COR 값은 입력값 x가 상기 위도 정보인 경우 90으로 설정되고, 상기 입력값 x가 상기 경도 정보인 경우 180으로 설정될 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 기법은, (f) 상기 비밀키(PK) 정보를 포함하는 위치추적정보 요청을 수신하는 단계와, (g) 상기 비밀키(PK) 정보에 대응되는 Q값을 산출하는 단계와, (h) 상기 (g) 단계에서 산출된 상기 Q값에 대응되는 QI값을 산출하는 단계와, (i) 상기 (h) 단계에서 산출된 상기 QI값에 대응되는 교란화되어 저장되어 있는 위도 정보 및 경도 정보를 하기 수학식 4를 이용하여 복호화하는 단계를 더 포함할 수 있다.
<수학식 4>
본 발명의 일실시예에 따른 위치추적정보 보안 장치는, 네트워크를 통하여 ID 정보, 시간 정보 및 GPS 정보를 포함하는 데이터 레코드 및 위치추적요청 정보를 수신하는 통신부와, K-익명화를 위해 미리 설정된 k값을 기초로 상기 수신된 시간 정보에 대한 HMAC 값인 Q값들을 산출하는 Q값 산출부와, 상기 Q값들을 기초로 단조증가 다항식을 이용하여 상기 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하는 데이터 교란부와, 상기 통신부에서 수신된 정보를 기초로 상기 Q값 산출부 및 상기 데이터 교란부의 동작을 제어하며, 상기 산출된 Q값 및 교란화된 GPS 정보를 상기 k값에 대응되는 개수로 데이터 리스트를 생성하는 제어부와, 상기 제어부에서 생성된 상기 데이터 리스트를 저장하는 저장부를 포함할 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 장치의 상기 Q값은 상기 수학식 1에 의하여 산출될 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 장치의 상기 GPS 정보는 위도 정보 및 경도 정보를 포함하고, 상기 교란화된 GPS 정보는 상기 수학식 2 및 수학식 3에 의하여 산출될 수 있다.
또한 본 발명의 일실시예에 따른 위치추적정보 보안 장치의 상기 제어부는 상기 통신부를 통하여 상기 비밀키(PK) 정보를 포함하는 위치추적정보 요청을 수신하면, 상기 비밀키(PK) 정보에 대응되는 Q값과, 상기 Q값에 대응되는 QI값을 산출하고, 상기 QI값에 대응되는 교란화되어 저장되어 있는 위도 정보 및 경도 정보를 상기 수학식 4를 이용하여 복호화할 수 있다.
본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치는 위치정보추적의 보안성을 강화시키면서도 통계정보 추출을 용이하게 할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치의 개략 구성도이다.
도 2는 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치가 생성 및 저장하는 데이터 리스트의 일 예를 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 비식별화 데이터 리스트 생성 및 저장 방법을 설명하는 순서도이다.
도 4는 본 발명의 일실시예에 따른 K-익명서 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 위치추적정보 요청에 따른 데이터 처리 방법을 설명하는 순서도이다.
도 2는 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치가 생성 및 저장하는 데이터 리스트의 일 예를 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 비식별화 데이터 리스트 생성 및 저장 방법을 설명하는 순서도이다.
도 4는 본 발명의 일실시예에 따른 K-익명서 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 위치추적정보 요청에 따른 데이터 처리 방법을 설명하는 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치에 대하여 도면들을 참고하여 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치의 개략 구성도이며, 도 2는 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치가 생성 및 저장하는 데이터 리스트의 일 예를 나타내는 도면이다.
도 1을 참조하면 본 발명의 일실시예에 다른 위치추적정보 보안 장치(100)는 제어부(120)와, 통신부(130)와, Q값 산출부(150)와, 데이터 교란부(170)와, 저장부(190)를 포함하여 구성된다.
통신부(130)는 네트워크를 통하여 외부 장치로부터 데이터를 수신하여 제어부(120)로 전송하고, 제어부(120)의 제어 신호를 전달받아 외부 장치로 전송하는 역할을 한다. 이때, 네트워크는 유선 또는 무선 통신 방식 중 하나로 선택될 수 있다.
통신부(130)는 외부 장치로부터 ID 정보, 시간 정보 및 GPS 정보를 포함하는 데이터 레코드 및 위치추적요청 정보를 수신할 수 있다.
ID 정보는 특정 주체(개인, 장치 등)의 신원 정보를 의미하며 개인인 경우 이름, 할당된 번호 등이 될 수 있다.
시간 정보는 특정 주체의 GPS 정보에 대응되는 시간 정보를 의미하며, 년월일 및 시각 정보를 포함한다. 데이터 레코드의 데이터 수신 주기에 따라 시간 정보는 1초 단위, 5초 단위, 10초 단위, 1분 단위 등의 미리 설정된 주기로 수신될 수 있다.
GPS 정보는 위도 정보 및 경도 정보를 포함하는 좌표 정보로 이루어진다.
위치추적요청 정보 요청은 권한을 가진 특정 개인 또는 단체가 특정 개인 또는 다수에 대한 위치추적을 위한 정보 요청을 의미하며, 미리 사전에 공유된 비밀키에 해당하는 PK(Pre-Shared Key) 정보를 포함한다.
제어부(120)는 통신부(130)에서 수신된 정보를 기초로 Q값 산출부(150) 및 데이터 교란부(170)의 동작을 제어하며, 산출된 Q값 및 교란화된 GPS 정보를 k값에 대응되는 개수로 데이터 리스트를 생성하는 역할을 한다.
저장부(190)는 제어부(120)에서 생성된 데이터 리스트를 데이터베이스화하여 저장하는 역할을 한다.
Q값 산출부(150)는 K-익명화를 위해 미리 설정된 k값을 기초로 상기 수신된 시간 정보에 대한 HMAC 값인 Q값들을 산출하는 역할을 한다. 이때, Q값을 산출하는 수식은 아래의 수학식 1과 같다.
(상기 수학식 1에서 HMAC는 Hash-based Message Authentication Code 알고리즘이며, TS는 상기 시간 정보의 타임스탬프 정보이며, K_CNT는 상기 k값이 기초한 카운트 숫자이며, PK는 사전에 공유된 비밀키 정보이다)
K-익명성은 데이터 비식별화의 프라이버시 보호 모델 중 하나로 특정 단일 데이터만 저장할 경우 개인의 식별 가능성의 위험이 있으므로 데이터 저장 시 k값 이상의 데이터를 동시에 저장하여 식별 가능성을 낮추는 방식이다.
예를 들어, k가 3이라면 위치 데이터 1개를 저장할 때 동시에 3 개의 데이터를 저장한다. 이 때, 한 개의 데이터는 실제 데이터이고 나머지 두 개의 데이터는 가상의 데이터가 된다.
인가된 관리자 등에 사전 공유된 비밀키에 해당하는 PK를 알고 있어야 어느 것이 진짜 데이터인지 파악할 수 있게 된다.
K-익명화를 위하여 상기 수학식 1과 같이 해시 기반 메시지 인증 코드(HMAC)를 이용하여 Q값을 생성한다.
TS는 타임스탬프(Time Stamp)를 의미하며 위에서 언급한 바와 같이 미리 설정된 주기로 데이터가 입력되는 경우 데이터가 입력되는 특정 시각을 의미한다.
K_CNT는 미리 설정된 k값에 따라서 카운트되는 숫자에 해당한다. 예를 들어, k가 3인 경우 K_CNT 값은 1, 2, 3 값을 가지게 된다. 이때, K_CNT 값이 1일 경우 원본 데이터이고, 2나 3일 경우에는 가짜 데이터로 취급할 수 있다.
본 발명은 상기 수학식 1에서와 같이 PK 정보를 기초로 특정 타임스탬프(TS) 정보를 HMAC 알고리즘을 이용하여 문자형 데이터의 Q값으로 변환시킴과 동시에 k개의 K_CNT 값에 해당하는 출력값을 모두 계산하여 k개의 Q값을 산출한다.
이러한 방식으로 저장되는 데이터베이스에는 시간 정보는 포함되지 않으며, k개의 Q값들만이 저장된다. 따라서, 데이터베이스가 해킹이 되는 경우에도 시간 정보는 노출되지 않는다.
또한, Q값 정보들이 해킹된다고 하더라도 비밀키(PK) 정보를 모르는 경우 어떤 값들이 원본 데이터인지 알 수가 없어 원본 데이터에 대한 해킹이 실질적으로 불가능하게 된다.
도 2에는 본 발명의 제어부(120)가 생성하는 데이터 리스트의 일 예가 도시되어 있다. k값이 3으로 설정된 경우에 신원정보가 ID_a인 사람의 위도, 경도, Q값이 3 개의 데이터 셋으로 저장되어 있음을 확인할 수 있다.
본 발명은 보안성을 더욱 강화하기 위하여 위도와 경도 값은 단조증가 다항식을 이용하여 교란화된 데이터를 저장시킨다.
데이터 교란부(170)는 산출된 Q값들을 기초로 단조증가 다항식을 이용하여 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하는 역할을 한다.
또한, 데이터 교란부(170)는 위치추적정보 요청이 있는 경우 산출된 Q 및 QI 정보를 바탕으로 후술할 수학식 4를 이용하여 비밀키를 이용하여 원본 GPS 정보를 산출할 수 있다. 물론, 이는 일실시예이며 수학식 4를 이용한 원본 GPS 정보의 산출을 제어부(120)가 직접 하도록 구성될 수도 있다.
1번 데이터 리스트는 위도가 'f(La)_1', 경도가 'f(Lo)_1', Q값이 'Q_1', ID가 'ID_a' 로 나타나 있다. 여기서, La는 특정 타임스탬프에서의 ID_a가 위치한 위도값을, Lo는 특정 타임스탬프에서의 ID_a가 위치한 경도값을 나타낸다.
'_1' 표시는 K_CNT가 1일 경우의 값이라는 의미이며, 함수 f는 데이터 교란을 위한 단조증가 다항식으로 이루어지는 함수를 나타낸다.
2번 및 3번 데이터 리스트 역시 K_CNT 값이 각각 2 및 3인 경우로 계산된 것을 제외하고는 동일하다.
위도 및 경도 정보를 포함하는 GPS 정보의 교란화는 아래의 수학식 2 및 수학식 3을 이용하여 수행된다.
(상기 수학식 2에서 PRNG는 의사난수발생기를 의미하며, mod m는 의사난수발생기에서 발생가능한 최대값이 m임을 의미한다)
(상기 수학식 3에서 QI는 상기 Q값을 숫자로 치환시킨 값이며, COR는 음수인 입력값을 양수로 변환하기 위한 미리 설정된 보정값을 나타낸다)
수학식 2는 수학식 3의 데이터 교란화를 위한 단조증가 다항식에 적용되는 의사난수발생기를 의미한다.
수학식 2는 의사난수발생기(PRNG)가 “PK+K_CNT” 값을 시드(Seed)로 하여 n 번째 의사난수를 발생하되, 발생 가능한 의사난수의 최대값이 m 값으로 제한되도록 정의하고 있다.
수학식 2의 의사난수발생기를 이용하여 수학식 3이 정의된다. 앞에서 설명한 대로 HMAC 값인 Q값은 해시값이므로 문자형 데이터에 해당한다. 따라서, 수학식 적용을 위하여 Q값은 아스키 코드 변환 등을 활용하여 숫자로 치환되어 QI값으로 지정된다.
COR 값은 입력값이 음수인 경우 이를 양수로 만들어주기 위한 보정값으로 입력값이 위도인 경우에는 COR 값은 90으로 설정될 수 있으며, 입력값이 경도인 경우에는 COR 값은 180으로 설정될 수 있다.
수학식 3은 단조증가함수 형식으로 되어 있는데, 단조증가함수란 x1 < x2 이면 반드시 f(x1) < f(x2)를 만족하는 함수이다. 이러한 단조증가함수를 사용하는 이유는 통계 처리를 가능하게 하기 위함이다.
다시 말하면, 함수를 적용한 원본 데이터의 결과값이 단조증가의 성격을 가지게 되면 다항식을 적용하더라도 SQL 질의 등 통계 처리가 그대로 가능하게 된다.
제어부(120)는 통신부(130)를 통하여 비밀키(PK) 정보를 포함하는 위치추적정보 요청을 수신하면, 비밀키(PK) 정보에 대응되는 Q값과, 상기 Q값에 대응되는 QI값을 산출하고, 상기 QI값에 대응되는 교란화되어 저장되어 있는 위도 정보 및 경도 정보를 하기 수학식 4를 이용하여 복호화할 수 있다.
따라서, 도 2와 같은 데이터 리스트가 해킹이 된다고 하더라도 특정 신원 ID를 가진 자가 언제 어디에 있었는지를 파악할 수가 없게 된다.
데이터 리스트의 정보에는 시간 정보가 HMAC 알고리즘으로 변환되어 표시되어 시간 정보의 파악이 불가능하고, 위도 및 경도 값 역시 단조증가 다항식을 이용하여 교란화 되어 있어 위치 정보의 파악도 불가능하다.
위도, 경도 및 Q값 모두가 비밀키에 기반하여 교란화되어 있기 때문에 사전에 공유된 비밀키를 알지 못하면 원본 데이터를 알 수가 없다.
또한, 도 1에서와 같이 K-익명화 적용을 위하여 미리 설정된 k값에 해당하는 개수로 데이터가 복수로 저장되어 교란화된 데이터 중에서도 어떤 데이터가 원본 데이터인지 파악할 수가 없다.
이런 높은 보안성을 확보함과 동시에 수학식 3에서 단조증가 다항식을 적용하여 SQL 질의 등의 통계 처리가 가능하여 실시간 통계처리 서비스에 쉽게 적용이 가능하다.
도 3은 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 비식별화 데이터 리스트 생성 및 저장 방법을 설명하는 순서도이다.
도 3을 참조하면, 본 발명의 통신부(130)는 네트워크를 통하여 외부 장치로부터 데이터 레코드를 수신한다(S310). 데이터 레코드는 상술한 바와 같이 ID 정보, 시간 정보 및 GPS 정보를 포함한다.
다음으로 제어부(120)는 K-익명성 적용을 위한 k값을 설정할 수 있다(S320). 단, S320 단계를 S310 단계 이전에 수행되거나 생략될 수 있다. 즉, k값은 사전이 미리 특정한 값으로 설정되어 저장되어 있을 수 있다.
다음 특정 시간에 대한 Q(HMAC)값을 산출할 수 있다(S330). 이때, 특정 시간은 상술한 타임스탬프 값을 의미할 수 있다. 예를 들어, 2020년 6월 5일 오후 2시 10분 10초가 특정 타임스탬프 값일 수 있다. 만약, 미리 설정된 주기가 10초인 경우라면 다음 타임스탬프 값은 2020년 6월 5일 오후 2시 10분 20초가 된다.
Q값은 상술한 수학식 1에 의하여 산출될 수 있으며, K_CNT 값이 변수로 포함되어 있으므로 상기 k값에 따라서 복수개의 Q값이 산출된다.
다음으로 GPS 정보를 교란화 한다(S340). GPS 정보 교란화는 상술한 수학식 2 및 수학식 3에 의하여 수행될 수 있다. 수학식 2 및 3에서도 K_CNT 값이 변수로 포함되어 있으므로 상기 k값에 따라서 복수개의 교란화 데이터가 산출된다.
제어부(120)는 단계 S330 및 SS340에서 산출된 데이터를 기반으로 비식별화 데이터 리스트를 생성한다(S350). k값이 3인 경우 생성된 데이터 리스트는 도 2와 같은 수 있다.
제어부(120)는 상기 생성된 비식별화 데이터 리스트를 저장부(190)에 저장한다(S360) 저장부(190)에 저장된 데이터 리스트는 추후 위치추적정보 요청이 있는 경우에 도 4에서와 같이 추출이 가능하다.
도 4는 본 발명의 일실시예에 따른 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법의 위치추적정보 요청에 따른 데이터 처리 방법을 설명하는 순서도이다.
제어부(120)는 통신부(130)를 통하여 외부 장치로부터 위치추적정보 요청을 수신한다(S410). 이때, 위치추적정보 요청 정보는 비밀키(PK) 정보를 포함한다.
또한, 위치추적정보 요청 정보에는 비밀키(정보) 외에 ID 정보, 시간 정보 및 GPS 정보 중 적어도 하나 이상의 정보를 포함할 수 있다.
만약, 2020년 3월 31일 오전 9시 13분 30초부터 '홍길동'이라는 사람의 이동 경로를 추적하고 싶은 경우 상기 요청 정보에는 비밀키 정보, ID가 홍길동이라는 정보 그리고 원하는 검색 시간이 2020년 3월 31일 오전 9시 13분 30초 이후라는 정보가 포함된다.
Q값 산출부(150)는 비밀키를 이용하여 Q값을 산출한다(S420). Q값 산출은 상술한 바와 같이 수학식 1을 이용하여 진행된다.
만약, 사전 공유된 PK가 '12345' 인 경우라면 하기 수학식 5와 같이 계산될 수 있다.
다음 데이터 교란부(170)는 산출된 Q값을 기초로 GPS 정보를 복호화할 수 있다(S430).
상기 수학식 5로 Q가 산출되면 예를 들어 아래와 같은 구문으로 질의할 수 있다.
“SELECT latitude, longitude from TABLE where ID = '홍길동' and Q = [계산된 Q값]”
상기와 같은 구문으로 질의하면 상기 수학식 4를 이용하여 원본의 위도 및 경도를 구할 수 있다. 위에서 계산된 Q값을 아스키 코드 변환한 QI값이 '924'라고 가정하면 아래의 수학식 6 및 수학식 7에 의하여 위도 및 경도가 계산될 수 있다.
제어부(120)는 상기 복호화된 GPS 정보 및 타임스탬프 정보를 포함하는 위치추적정보를 요청한 외부 장치에 통신부(130)를 통하여 송신할 수 있다(S440).
다음 10초 후의 정보는 수학식 5에서 30을 40으로 치환하여 같은 방식으로 계산할 수 있다. 물론 K_CNT가 1인 경우에 원본 데이터인 경우이므로 K_CNT가 1인 경우만 계산하였다.
K_CNT 값이 2이 경우 및 3인 경우도 계산이 가능하지만 이는 전혀 의미 없는 가상의 값이 된다. 물론, 원본 데이터가 K_CNT가 1인 경우로 설정한 것은 일 예에 불과하고 원본 데이터가 K_CNT가 2인 경우나 3인 경우로 설정할 수도 있다. 따라서, 해킹이 되더라도 이러한 정보를 알지 못하는 한 원본 데이터가 어떤 것인지는 알 수 없게 된다.
위에서 특정 개인의 특정 시간에 대한 위치정보추적을 요청한 경우를 설명하였지만 다른 경우로 특정 장소의 위치데이터 통계 질의를 하는 경우를 상정할 수 있다.
예를 들어, 제어부(120)가 수신한 요청 정보가 2020년 3월 31일 오전 9시 13분 30초경을 기점으로 위도 34.455521 ~ 33.458688 및 경도 126.559427 ~ 126.561881 사이에 사람이 몇 명이 존재하는지 문의한 것이 될 수 있다.
먼저 수학식 1이 상기 시간을 TS 값으로, K_CNT를 1의 값으로 입력하여 Q값을 산출할 수 있다.
Q값이 산출되는 아래의 구문으로 질의하여 범위 내의 결과를 얻을 수 있다.
“SELECT COUNT(ID) FROM TABLE where latitude >= f(33.455521) and latitude <=f(33.458688) and longitude >= f(126.559427) and longitude <= f(126.561881)”
본 발명은 위와 같은 기법을 통해 데이터베이스가 외부의 해커 또는 인가되지 않은 내부의 관리자에 전부 노출되더라도 위치정보 역분석이 불가능하여 고객의 GPS 추적 정보를 안전하게 보호할 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 위치추적정보 보안 장치 120: 제어부
130: 통신부 150: Q값 산출부
170: 데이터 교란부 190: 저장부
130: 통신부 150: Q값 산출부
170: 데이터 교란부 190: 저장부
Claims (10)
- (a) ID 정보, 시간 정보 및 GPS 정보를 포함하는 데이터 레코드를 수신하는 단계;
(b) K-익명화를 위한 k값을 설정하는 단계;
(c) 상기 설정된 k값을 기초로 k개의 상기 시간 정보에 대한 HMAC 값인 Q값들을 산출하는 단계;
(d) 상기 Q값들을 기초로 단조증가 다항식을 이용하여 상기 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하는 단계;
(e) 상기 산출된 k개의 Q값 및 교란화된 GPS 정보를 데이터베이스화하여 저장하는 단계를 포함하며,
상기 (c) 단계에서 상기 Q값은 하기 수학식 1에 의하여 산출되고,
<수학식 1>
(상기 수학식 1에서 HMAC는 Hash-based Message Authentication Code 알고리즘이며, TS는 상기 시간 정보의 타임스탬프 정보이며, K_CNT는 상기 k값이 기초한 카운트 숫자이며, PK는 사전에 공유된 비밀키 정보임)
상기 GPS 정보는 위도 정보 및 경도 정보를 포함하고, 상기 (d) 단계에서 상기 교란화된 GPS 정보는 하기 수학식 2 및 수학식 3에 의하여 산출되는 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법.
<수학식 2>
(상기 수학식 2에서 PRNG는 의사난수발생기를 의미하며, mod m는 의사난수발생기에서 발생가능한 최대값이 m임을 의미함)
<수학식 3>
(상기 수학식 3에서 QI는 상기 Q값을 숫자로 치환시킨 값이며, COR는 음수인 입력값을 양수로 변환하기 위한 미리 설정된 보정값을 나타냄) - 삭제
- 삭제
- 제1항에 있어서,
상기 QI값은 상기 Q값을 기초로 아스키 코드 변환에 의하여 산출되는 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법. - 제1항에 있어서,
상기 COR 값은 입력값 x가 상기 위도 정보인 경우 90으로 설정되고, 상기 입력값 x가 상기 경도 정보인 경우 180으로 설정되는 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법. - 네트워크를 통하여 ID 정보, 시간 정보 및 GPS 정보를 포함하는 데이터 레코드 및 위치추적요청 정보를 수신하는 통신부;
K-익명화를 위해 미리 설정된 k값을 기초로 상기 수신된 시간 정보에 대한 HMAC 값인 Q값들을 산출하는 Q값 산출부;
상기 Q값들을 기초로 단조증가 다항식을 이용하여 상기 GPS 정보를 교란화한 k개의 교란화된 GPS 정보를 산출하는 데이터 교란부; 및
상기 통신부에서 수신된 정보를 기초로 상기 Q값 산출부 및 상기 데이터 교란부의 동작을 제어하며, 상기 산출된 Q값 및 교란화된 GPS 정보를 상기 k값에 대응되는 개수로 데이터 리스트를 생성하는 제어부; 및
상기 제어부에서 생성된 상기 데이터 리스트를 저장하는 저장부를 포함하며,
상기 Q값은 하기 수학식 1에 의하여 산출되고,
<수학식 1>
(상기 수학식 1에서 HMAC는 Hash-based Message Authentication Code 알고리즘이며, TS는 상기 시간 정보의 타임스탬프 정보이며, K_CNT는 상기 k값이 기초한 카운트 숫자이며, PK는 사전에 공유된 비밀키 정보임)
상기 GPS 정보는 위도 정보 및 경도 정보를 포함하고, 상기 교란화된 GPS 정보는 하기 수학식 2 및 수학식 3에 의하여 산출되는 K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 장치.
<수학식 2>
(상기 수학식 2에서 PRNG는 의사난수발생기를 의미하며, mod m는 의사난수발생기에서 발생가능한 최대값이 m임을 의미함)
<수학식 3>
(상기 수학식 3에서 QI는 상기 Q값을 숫자로 치환시킨 값이며, COR는 음수인 입력값을 양수로 변환하기 위한 미리 설정된 보정값을 나타냄) - 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200071092A KR102253953B1 (ko) | 2020-06-11 | 2020-06-11 | K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200071092A KR102253953B1 (ko) | 2020-06-11 | 2020-06-11 | K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102253953B1 true KR102253953B1 (ko) | 2021-05-20 |
Family
ID=76142706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200071092A KR102253953B1 (ko) | 2020-06-11 | 2020-06-11 | K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102253953B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090041408A (ko) * | 2006-07-21 | 2009-04-28 | 닛본 덴끼 가부시끼가이샤 | 암호 장치, 기록 매체, 및 방법 |
KR20120075895A (ko) * | 2010-12-29 | 2012-07-09 | 고려대학교 산학협력단 | 사용자 인증 방법 |
JP2018078578A (ja) * | 2012-02-22 | 2018-05-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | デバイス識別子を不明瞭にするための方法およびデバイス |
KR20190124195A (ko) | 2019-10-28 | 2019-11-04 | (주)이지서티 | 개량된 k-익명성 모델 이용 데이터 셋 비식별화 방법 및 장치 |
-
2020
- 2020-06-11 KR KR1020200071092A patent/KR102253953B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090041408A (ko) * | 2006-07-21 | 2009-04-28 | 닛본 덴끼 가부시끼가이샤 | 암호 장치, 기록 매체, 및 방법 |
KR20120075895A (ko) * | 2010-12-29 | 2012-07-09 | 고려대학교 산학협력단 | 사용자 인증 방법 |
JP2018078578A (ja) * | 2012-02-22 | 2018-05-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | デバイス識別子を不明瞭にするための方法およびデバイス |
KR20190124195A (ko) | 2019-10-28 | 2019-11-04 | (주)이지서티 | 개량된 k-익명성 모델 이용 데이터 셋 비식별화 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097522B2 (en) | Encrypted query-based access to data | |
US9876766B2 (en) | Method for anonymisation by transmitting data set between different entities | |
US9021259B2 (en) | Encrypted database system, client terminal, encrypted database server, natural joining method, and program | |
CN105610793B (zh) | 一种外包数据加密存储与密文查询系统及其应用方法 | |
US8276206B2 (en) | Systems and methods for partial matching searches of encrypted retained data | |
CN107078899B (zh) | 混淆数据的方法 | |
RU2011150271A (ru) | Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных | |
CN106612320A (zh) | 云存储中一种加密数据的去重方法 | |
JP2010061103A (ja) | 高速検索可能な暗号化のための方法、装置およびシステム | |
CN111510464B (zh) | 一种保护用户隐私的疫情信息共享方法及系统 | |
JP2017225116A5 (ko) | ||
WO2017033843A1 (ja) | 検索可能暗号処理システム | |
CN108632385B (zh) | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 | |
CN110474908A (zh) | 交易监管方法与装置、存储介质及计算机设备 | |
JP2022151535A (ja) | データ共有システム、データ共有方法、およびデータ共有プログラム | |
KR101476039B1 (ko) | 데이터베이스 암호화 방법 및 이의 실시간 검색 방법 | |
CN111368328A (zh) | 数据存储方法、装置、计算机可读存储介质及电子设备 | |
CN114491637A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN106407837A (zh) | 一种具备隐私保护能力的时间数据加密处理方法 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
CN104794243A (zh) | 基于文件名的第三方密文检索方法 | |
KR102253953B1 (ko) | K-익명성 모델 및 데이터 교란화를 이용한 위치추적정보 보안 기법 및 장치 | |
EP3704617B1 (en) | Privacy-preserving log analysis | |
JP5799635B2 (ja) | 暗号データ検索システム、装置、方法及びプログラム | |
Wen et al. | Blockchain-empowered contact tracing for COVID-19 using crypto-spatiotemporal information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |