KR101287096B1 - 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법 - Google Patents

다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법 Download PDF

Info

Publication number
KR101287096B1
KR101287096B1 KR1020110143731A KR20110143731A KR101287096B1 KR 101287096 B1 KR101287096 B1 KR 101287096B1 KR 1020110143731 A KR1020110143731 A KR 1020110143731A KR 20110143731 A KR20110143731 A KR 20110143731A KR 101287096 B1 KR101287096 B1 KR 101287096B1
Authority
KR
South Korea
Prior art keywords
user
location
location information
anonymization
server group
Prior art date
Application number
KR1020110143731A
Other languages
English (en)
Other versions
KR20130075380A (ko
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 KR1020110143731A priority Critical patent/KR101287096B1/ko
Publication of KR20130075380A publication Critical patent/KR20130075380A/ko
Application granted granted Critical
Publication of KR101287096B1 publication Critical patent/KR101287096B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것으로, 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 방법은, 클라이언트가 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키(key)를 각각 결합한 제 1 데이터 쌍을 수신받으며, 제 1 데이터 쌍에 기초하여 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하고, 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하며, 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 제 2 익명화 서버 그룹으로부터 수신한다.

Description

다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법{Apparatus and method for protecting personal location information in massive user environment}
본 발명은 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 기술에 관한 것으로, 특히 다수의 사용자가 위치 기반 서비스를 사용하는 환경에서 사용자 개인에게 적합한 프라이버시(privacy) 보호 프레임워크(framework)에 기반한 위치 정보 보호 장치, 방법 및 그 방법을 기록한 기록매체에 관한 것이다.
위치 기반 서비스(location based service, LBS)는 사용자의 위치 정보를 이용하여 길 찾기, 주변 친구 검색 등을 제공하는 서비스이다. 과거 피처폰 환경에서는 사용자의 위치만을 사용한 기본적인 서비스만이 제공되던 환경에서는 제한된 수의 사용자만이 서비스를 이용하였다. 그러나 스마트폰이 일반화됨에 따라 사용자의 프로필이나 주변 정보 등을 활용하여 보다 다양한 형태의 위치 기반 서비스가 등장하였고, 이를 사용하는 사람들의 수 역시 급증함에 따라 대용량 데이터를 처리하는 것이 중요한 문제로 부각되었다.
한편, 이러한 위치 기반 서비스의 사용은 사용자들에게 생활에서의 편이를 제공하나 사용자의 위치 정보를 직접적으로 사용함에 따른 개인의 프라이버시 침해에 대한 우려 역시 존재한다(예를 들어, 범죄자가 사용자의 현재 위치가 집이 아님을 확인한 뒤 가택 침입을 한다든지, 사용자의 위치 정보 기록을 바탕으로 스토킹을 할 수 있는 수단으로 악용될 수 있다.). 따라서, 이하에서 인용된 비특허문헌을 통해 제시된 바와 같이 위치 기반 서비스 사용에 따른 프라이버시 보호를 위한 연구들이 이루어져 왔다.
그러나, 통신사들에 의해 위치 기반 서비스의 제공이 관리되던 과거와 달리 오늘날의 스마트폰 사용 환경에서는 애플의 앱스토어나 안드로이드 마켓과 같은 경로를 통해 서비스 제공자와 사용자들이 직접적으로 연결된다. 또한, 위치 기반 서비스를 사용하는 사용자의 수 역시 과거와는 비교할 수 없을 정도로 증가하였다. 따라서, 많은 수의 사용자가 위치 기반 서비스를 이용하는 환경에서 개인 사용자가 요구하는 수준의 안전하고 유연한 프라이버시 보호 기법이 요구된다.
Mohamed F. Mokbel, Chi-yin Chow, Walid G. Aref, "The New Casper: Query Processing for Location Services without Compromising Privacy", The 32nd International Conference on Very Large Data Bases, pp.763-774, 2006.
본 발명의 실시예들이 해결하고자 하는 기술적 과제는, 위치 기반 서비스를 이용하는 사용자의 수가 폭발적으로 증가함에 따라 중앙처리 방식의 서비스 제공자에게 보다 많은 시스템 자원이 요구되고 서비스 제공자의 부하가 증가함으로써 이러한 사용자의 서비스 요청에 대한 응답이 지연되는 문제를 해결하며, 사용자 개인에게 위치 정보 서비스를 제공함에 있어서 사용자 개인의 위치 정보 내지 개인 식별 정보가 노출되는 보안의 취약성을 해소하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 방법은, 클라이언트가 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키(key)를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받는 단계; 상기 클라이언트가 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하는 단계; 및 상기 클라이언트가 상기 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하고, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신하는 단계;를 포함한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서, 상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며, 상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 제 1 데이터 쌍을 수신받는 단계는, 상기 클라이언트가 복수의 사용자 각각을 식별할 수 있는 복수 개의 사용자 식별자(ID)를 제 1 익명화 서버 그룹에 전송하는 단계; 및 상기 제 1 익명화 서버 그룹을 구성하는 개별 익명화 서버별로 동일한 값을 갖는 복수 개의 키(key)를 생성하여 상기 수신된 사용자 식별자(ID)와 결합함으로써 상기 제 1 익명화 서버 그룹에 의해 생성된 제 1 데이터 쌍 {key,ID}을 상기 클라이언트가 수신하는 단계를 포함한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 제 2 데이터 쌍을 생성하는 단계는, 상기 클라이언트가 상기 제 1 데이터 쌍에 포함된 사용자 식별자(ID)를 상기 사용자의 위치 정보(location)로 대체함으로써, 상기 키(key)와 상기 사용자의 위치 정보(location)를 각각 결합한 제 2 데이터 쌍 {key,location}을 생성한다.
또한, 일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법은, 상기 클라이언트가 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하는 단계; 및 상기 클라이언트가 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 단계;를 더 포함한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 제 1 익명화 서버 그룹은 맵리듀스(MapReduce) 알고리즘에 따르는 매퍼(mapper)이고, 상기 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서(reducer)이다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 사용자의 위치 정보를 익명화하는 방법은, 클라이언트가 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받는 단계; 상기 클라이언트가 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하는 단계; 상기 클라이언트가 상기 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하고, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신하는 단계; 상기 클라이언트가 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하는 단계; 및 상기 클라이언트가 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 단계;를 포함하고, 상기 위치 기반 질의를 상기 위치 기반 서비스 제공자에게 전송되기 이전에, 상기 사용자의 위치 정보를 인근 위치 정보로 대체함으로써 공간 정보를 익명화하는 단계를 더 포함한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 공간 정보를 익명화하는 단계는, 상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 하나의 위치를 선택하는 단계; 및 상기 선택된 위치에 대한 정보로서 상기 사용자의 위치 정보를 대체하여 상기 위치 기반 질의를 재생성하는 단계;를 포함한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 방법에서, 상기 대체되는 인근 위치 정보는 상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 사용자의 밀도가 가장 높은 공간이다.
한편, 이하에서는 상기 기재된 사용자의 위치 정보를 익명화하는 방법들을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 장치는, 식별 정보를 익명화하는 제 1 익명화 서버 그룹 및 제 2 익명화 그룹과 통신하는 통신부; 및 적어도 하나의 프로세서(processor)를 구비하여 연산을 수행하는 처리부;를 포함하고, 상기 처리부는, 복수 개의 사용자 식별자를 생성하여 상기 통신부를 통해 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받으며, 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하고, 상기 생성된 제 2 데이터 쌍을 상기 통신부를 통해 제 2 익명화 서버 그룹에 전송하며, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 장치에서, 상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서, 상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며, 상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 장치에서, 상기 처리부는, 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 상기 통신부를 통해 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하며, 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 장치에서, 상기 사용자의 위치를 포함하는 인근 위치 정보 및 그에 대한 사용자의 밀도 정보를 저장하는 저장부;를 더 포함하고, 상기 처리부는, 상기 위치 기반 질의를 상기 위치 기반 서비스 제공자에게 전송되기 이전에, 상기 저장부에 저장된 사용자의 밀도 정보를 이용하여 상기 사용자의 위치 정보를 상기 인근 위치 정보 중 어느 하나로 대체함으로써 공간 정보를 익명화한다.
일 실시예에 따른 상기 사용자의 위치 정보를 익명화하는 장치에서, 상기 제 1 익명화 서버 그룹은 맵리듀스 알고리즘에 따르는 매퍼이고, 상기 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서이다.
본 발명의 실시예들은 복수 개의 익명화 서버 그룹들을 이용하여 사용자의 식별 정보를 분산 처리를 통해 익명화함으로써, 위치 기반 서비스를 이용하는 사용자의 수가 폭발적으로 증가하더라도 대용량의 데이터를 효과적으로 처리할 수 있으므로 사용자의 서비스 요청에 대한 빠른 응답 속도를 보장할 수 있으며, 개인화된 위치 정보 서비스를 이용함에 있어서 분리된 익명화 서버 그룹을 통해 사용자 개인의 식별자와 위치 정보 간의 연결 관계를 노출시키지 않음으로써 강인한 보안성을 제공할 수 있다.
도 1은 본 발명의 실시예들이 활용될 수 있는 위치 기반 서비스의 요청 서비스 제공 구조를 예시한 도면이다.
도 2는 위치 기반 서비스에서, 위치 및 식별 정보의 익명화 수준을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예들이 채택하고 있는 맵리듀스 프레임워크를 예시한 도면이다.
도 4는 본 발명의 실시예들이 제안하는 사용자 위치 정보 익명화 프레임워크의 구조를 도시한 도면이다.
도 5a 내지 도 5b는 본 발명의 실시예들에 따른 도 4의 프레임워크에서 사용자의 위치 정보를 익명화하는 과정을 순차적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 도 6에 이어서 위치 기반 서비스 제공자에게 질의하는 방법을 도시한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 사용자의 위치 정보를 익명화하는 방법에서 공간 정보를 익명화하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 장치를 도시한 블록도이다.
도 10은 본 발명의 실시예들에 따라 구현된 위치 정보 익명화 기술과 종래의 익명화 기술의 응답 속도를 비교한 실험 결과를 예시한 도면이다.
도 11은 본 발명의 실시예들에 따라 구현된 위치 정보 익명화 기술과 종래의 익명화 기술의 필터링 수를 비교한 실험 결과를 예시한 도면이다.
본 발명의 실시예들을 설명하기에 앞서, 위치 기반 서비스를 제공함에 있어서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 다양한 기술적 배경에 대해 개괄적으로 검토하도록 하겠다.
도 1은 본 발명의 실시예들이 활용될 수 있는 위치 기반 서비스의 요청 서비스 제공 구조를 예시한 도면으로서, 사용자가 자신이 휴대하는 휴대 단말기(10)를 이용하여 위치 기반 서비스를 이용하고 있는 상황을 가정하고 있다. 예를 들어, 사용자가 현재 자신의 위치로부터 목적지까지의 대중교통을 이용하고자 할 경우, 사용자가는 현재 위치와 목적지의 위치를 입력값으로서 제공하고, 이러한 입력값에 기초하여 적절한 대중교통 정보를 수신할 수 있을 것이다. 이러한 위치 기반 서비스는 제공하는 주체는 특정 서비스 제공자(50)가 될 것이며, 물리적으로는 원격지에 위치한 위치 기반 서비스 제공 서버가 될 것이다.
즉, 사용자 단말기(10)로부터 '사용자의 위치 정보(현재의 위치 정보)'와 '위치 기반 질의(목적지까지의 대중교통 정보)'가 위치 기반 서비스 제공자(50)에게 전송되면, 위치 기반 서비스 제공자(50)는 입력된 정보를 기반으로 필요한 연산을 수행한 후, 그 질의 결과를 사용자 단말기(10)로 회신하게 된다. 이하에서 기술될 본 발명의 실시예들은 이러한 위치 기반 서비스가 이루어지는 환경에서 활용될 수 있는 것으로, 특히 다수의 사용자가 동시 다발적으로 위치 기반 서비스를 요청하는 경우를 가정하고 있다.
위치 기반 서비스에서의 프라이버시 보호는 크게 사용자의 정확한 위치 정보를 숨기는 위치 정보 익명화와 서비스 사용자의 실제 식별 정보(예를 들어, 주민번호 또는 이름 등이 될 수 있다.)를 숨기는 식별 정보의 익명화로 분류될 수 있다. 또한 익명화 과정을 수행하는 주체가 중앙의 익명화 서버인지 개인인지에 따라 중앙집중형과 분산형으로 나뉠 수 있다. 위치 정보의 익명화를 위해서는 사용자의 현재 위치를 일정 크기 이상으로 확장하거나, 더미(dummy)를 생성하여 여러 위치에 분포시키는 기법 등이 활용될 수 있으며, 일정 영역 안에 k 명(단, k는 양의 정수)의 사용자가 존재하거나 k 개 이상의 더미를 생성하는 k-anonymity의 변형이 사용될 수 있다.
종래의 기술들은 중앙에 신뢰할 수 있는 익명화 서버를 두어 그리드 형태의 맵으로 사용자의 위치 정보를 일반화한 익명화 영역을 생성하는, 중앙집중형-위치 정보 익명화 영역 생성 방법을 중심으로 연구가 주로 이루어져 왔다. 이는 신뢰할 수 있는 서버를 사용하여 간단한 알고리즘으로 사용자의 위치 정보를 보호할 수 있다는 장점이 있으나 신뢰할 수 있는 익명화 서버가 반드시 존재해야 하며 중앙의 익명화 서버가 단독으로 익명화 직업을 수행하기에 사용자 수가 증가함에 따라 서버측 연산 부하량이 증가하는 단점이 존재한다. 또한 서버측이 임의로 익명화 공간 영역(Anonymized Spatial Region, ASR)을 지정함에 의해 발생하는 개인의 설정에 따른 프라이버시 정도를 조절하지 못하며, 무엇보다 오늘날의 변화된 환경에 적합하지 않다.
한편, 이를 보완하기 위해 P2P 형태의 익명화 연구들이 수행되어 왔다. P2P 형태의 익명화 기법에서는 서비스 사용자들이 서로의 위치 정보를 공유하여 자신의 위치 정보를 일반화하는 기법이다. 이러한 위치 정보는 암호화 등의 과정을 통해 서로에게 노출되지 않도록 보호되며 중앙의 익명화 서버를 필요로 하지 않는다는 장점이 있다. 그러나 이 경우 네트워크 상황이나 주변 사용자와의 거리에 따라 익명화 영역 구성에 시간이 필요하며, 사용자들간의 위치 정보 교환에 따른 악의적인 사용자에 의한 공격 위협이 존재한다.
이상에서 소개한 바와 같이, 기존의 익명화 기법들은 사용자의 위치 정보를 보호함에 있어서, 일정한 한계를 지닌다. 이하에서는 우선, 위치 기반 서비스에서의 프라이버시를 보호하는 기술들을 평가할 수 있는 객관적인 기준을 제시하고, 궁극적으로 본 발명의 실시예들이 달성하고자 하는 기준과 그에 따른 기술적 수단을 제안하고자 한다.
위치 기반 서비스에서 프라이버시 보호 수준을 측정하는 방법은 크게 위치 익명화와 개인 식별 정보 익명화이다. 위치 익명화는 사용자의 위치를 일반화한 정도로써 익명화 수준을 측정하고 개인 식별 정보 익명화는 일정 영역에 존재하는 특정인을 추론할 수 있는 확률을 바탕으로 익명화 수준을 측정한다. 만약 민감한 위치에 존재하는 사용자가 자신의 위치를 노출하지 않기 위해 일정 수준까지 위치 정보를 일반화하였다고 하자. 그럼에도 인근에 다른 사용자가 없고 민감한 위치에 해당하는 건물이 근처에 유일하다면 해당 사용자가 민감한 위치의 건물에 접근했다는 것이 노출될 수 있으므로 위치 익명화는 만족되나 개인 식별 정보 익명화를 만족시키지 못했다고 할 수 있다. 반대로 특정 영역에 일정 수 이상의 사용자가 존재한다고 하여도 위치 익명화가 충분히 이루어지지 않았다면 해당 사용자가 해당 위치의 건물에 접근하였다는 것이 노출될 수 있다. 따라서 사용자의 프라이버시가 지켜지기 위해서는 두 기준 모두가 만족되어야 한다.
도 2는 위치 기반 서비스에서, 위치 및 식별 정보의 익명화 수준을 설명하기 위한 도면으로서, 위치 익명화와 식별 정보 익명화에 따른 각각의 경우를 나타낸다. 도 2에서 음영으로 표시된 영역은 익명화가 수행되는 영역을 나타내고, 사각형 점은 사용자 본인의 위치를 나타내며, 원형 점은 다른 사용자의 위치를 나타낸다.
도 2의 (A)를 참조하면, 익명화 영역은 4개의 블록에 걸쳐 수행되고 있고, 사용자가 위치한 가장 작은 식별 블록 내에는 사용자 외에도 3명의 다른 사용자가 위치해 있음을 알 수 있다. 즉, 도 2의 (A)의 경우는, 익명화 영역이 넓은지 여부를 나타내는 '위치에 따른 익명화 수준'은 높으며, 다수의 사용자에 의해 식별 정보를 감출 수 있는 정도를 나타내는 '식별 정보 익명화 수준'도 높은 것을 알 수 있다.
도 2의 (B)를 참조하면, 익명화 영역은 4개의 블록에 걸쳐 수행되고 있고, 사용자가 위치한 가장 작은 식별 블록 내에는 사용자 1명만이 위치해 있음을 알 수 있다. 즉, 도 2의 (B)의 경우는, '위치에 따른 익명화 수준'은 높으나, '식별 정보 익명화 수준'은 낮은 것을 알 수 있다.
도 2의 (C)를 참조하면, 익명화 영역은 1개의 블록에서 수행되고 있고, 사용자가 위치한 가장 작은 식별 블록 내에는 사용자 외에도 3명의 다른 사용자가 위치해 있음을 알 수 있다. 즉, 도 2의 (C)의 경우는, '위치에 따른 익명화 수준'은 낮으나, '식별 정보 익명화 수준'은 높은 것을 알 수 있다.
도 2의 (D)를 참조하면, 익명화 영역은 1개의 블록에서 수행되고 있고, 사용자가 위치한 가장 작은 식별 블록 내에는 사용자 1명만이 위치해 있음을 알 수 있다. 즉, 도 2의 (D)의 경우는, '위치에 따른 익명화 수준'은 낮고, '식별 정보 익명화 수준'도 낮은 것을 알 수 있다.
도 2의 익명화 수준을 2가지 기준(위치에 따른 익명화 수준, 식별 정보 익명화 수준)에 따라 분류하면 다음의 표 1과 같다.
식별 정보 익명화 수준 높음 식별 정보 익명화 수준 낮음
위치 익명화 수준 높음 A B
위치 익명화 수준 낮음 C D
한편, 본 발명의 실시예들은 사용자의 위치 정보를 익명화함에 있어서, 다수의 사용자로부터 발생하는 서비스 요청을 효과적으로 처리하기 위해 종래의 중앙처리 방식이 아닌 분산/병렬 처리를 활용하고자 한다. 이를 위해 이하에서는 분산/병렬 처리를 위한 기술적 수단으로서 맵리듀스(MapReduce) 알고리즘을 소개하고자 한다.
오늘날 웹 상의 데이터가 폭발적으로 증가하면서 대용량의 데이터를 효과적으로 관리하기 위한 .여러 시스템들이 도입되고 있다. 이 중 맵리듀스(MapReduce)알고리즘은 구글(Google)이 공개한 기술로써 저가의 컴퓨터로 구성된 클러스터 환경에서 PB 이상의 대용량 데이터를 병렬로 처리하기 위한 분산 프로그래밍 모델이다. 오늘날 맵리듀스의 오픈소스 구현체인 하둡(Hadoop)을 중심으로 아마존, 링크드인, 페이스북과 같은 대용량 데이터를 다루는 서비스에서 맵리듀스 모델을 채용하고 있으며 대용량 데이터를 다루는 것이 요구되는 시스템에서 많은 주목을 받고 있다.
도 3은 본 발명의 실시예들이 채택하고 있는 맵리듀스 프레임워크를 예시한 도면으로서, 맵리듀스의 전체적인 구조를 제시하고 있다. 도 3에서, 맵리듀스 수행 시 파일 시스템은 큰 파일을 블록 단위로 분할하여 맵(Map) 함수를 수행하는 매퍼(Mapper) 태스크들에 할당한다. Map 함수는 임의의 키-값 상을 읽어 이를 필터링하거나 다른 값으로 변환하는 작업을 수행한다. Map 함수의 수행 결과는 Mapper가 수행된 노드의 로컬 디스크에 기록되며 모든 Mapper가 작업을 종료하면 맵리듀스의 스케쥴러가 리듀서(Reducer) 태스크를 수행한다. Reducer는 여러 노드들로부터 키 값을 기준으로 각 Reducer가 처리해야 할 키-값 쌍을 이전 Mapper들의 로컬 디스크로부터 읽어온다. 이후 키(key) 값을 기준으로 정렬 연산을 수행하고 이렇게 정렬된 키-값 쌍 등을 동일 키 값을 기준으로 그룹화를 수행하여 그 결과를 출력한다.
이제, 이하에서 기술될 본 발명의 실시예들은 위치 기반 서비스에서의 프라이버시를 보호하기 위한 맵리듀스 형태의 아이디 배분을 제안함으로써 사용자의 식별 정보가 노출되는 것을 방지함과 동시에 차후 대용량 데이터를 처리해야 할 환경에서의 서비스 확장성을 제공할 수 있는 프레임워크를 제안하고자 한다. 비록 본 발명의 실시예들이 사용자의 위치 정보를 익명화함에 있어서, 맵리듀스 알고리즘을 차용하고는 있으나, 이러한 기술의 활용은 본 발명의 실시예들이 채택하고 있는 아이디어를 구현하기 위한 기술적 수단 중 일례에 불과하며, 단지 맵리듀스 알고리즘에 한정되는 것이 아니다. 따라서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 이러한 맵리듀스 알고리즘 이외에 본 발명의 실시예들이 제안하고 있는 기술적 사상과 대응하는 다양한 기술적 수단 및 알고리즘을 활용할 수 있음을 알 수 있다.
도 4는 본 발명의 실시예들이 제안하는 사용자 위치 정보 익명화 프레임워크의 구조를 도시한 도면으로서, 사용자 단말기(10) 및 위치 기반 서비스 제공자(50) 이외에 매퍼(20)와 리듀서(30)를 활용하고 있다.
우선, 사용자는 사용자 단말기(10)를 통해 자신의 식별자(ID)를 매퍼(20)에 전송하고, 매퍼(20)로부터 키(key)를 할당받는다. 그런 다음, 사용자 단말기(10)는 사용자 식별자(ID)를 대신하여 자신의 위치 정보와 키를 결합하여 리듀서(30)에게 전송하게 된다. 이 때, 리듀서(30)는 수신된 데이터를 키 값을 기준으로 그룹화한 후, 사용자 단말기(10)에게 해당 키 그룹을 회신한다. 이제, 사용자는 사용자 단말기(10)를 통해 수신된 키 그룹에 위치 기반 질의를 결합하고, 위치 기반 서비스 제공자(50)에게 질의를 전송한다. 그러면, 위치 기반 서비스 제공자(50)는 질의 결과를 생성하여 사용자 단말기(10)에게 반환한다.
도 4에서 매퍼(20)와 리듀서(30)는 복수 개의 분리된 서버 그룹으로서, 다수의 사용자로부터 사용자 식별 정보 내지 위치 정보를 익명화 처리하는 역할을 수행한다. 또한, 매퍼(20)와 리듀서(30)는 각각 사용자 식별자와 위치 정보만을 처리하기 때문에 서로 상대방이 갖는 정보는 접근할 수 없다. 즉, 매퍼(20)는 위치 정보를 알 수 없고, 리듀서(30)는 사용자 식별자를 알 수 없다. 이를 통해 제 3 자가 사용자 식별자와 위치 정보 상호 간의 관계를 유추할 수 없으므로, 견고한 보안성을 제공할 수 있다. 나아가, 위치 기반 서비스 제공자(50)는 다수의 질의를 수신하므로 어떠한 질의가 특정 사용자에 대응하는지를 알 수 없으므로, 개인 사용자의 익명성이 보장될 수 있다.
도 5a 내지 도 5b는 본 발명의 실시예들에 따른 도 4의 프레임워크에서 사용자의 위치 정보를 익명화하는 과정을 순차적으로 도시한 도면이다.
도 5a에서, 사용자들은 사용자 단말기(10)를 통해 자신의 ID를 매퍼(20)에게 전송한다. 이 때, 다수의 사용자들마다 자신을 식별할 수 있는 고유의 ID가 생성된다. 매퍼(20)는 사용자의 ID를 받아 같은 값을 지니는 키가 k개(단, k는 양의 정수) 이상 되도록 ID에 key를 할당하여 {ID,KEY} 쌍을 생성하여 사용자에게 돌려준다. 매퍼(20)는 복수 개의 서버로 구성될 수 있으므로, 각각의 개별 매퍼마다 동일한 key가 부여될 수 있다. 이 때, 매퍼에서 생성한 key와 결합하는 사용자의 ID는 임의로 할당되게 된다.
도 5b에서, 사용자들은 사용자 단말기(10)를 통해 자신에게 할당된 {ID,key} 쌍에서 ID에 해당하는 정보 대신 자신의 현재 위치 정보를 넣어 리듀서(30)에게 전송한다. 사용자 ID는 각각 개별 사용자를 식별하는 역할을 하므로, 교체되는 위치 정보 역시 개별 사용자의 위치 정보에 해당한다. 리듀서(30)는 수집된 {Key, 위치} 정보들을 key를 기준으로 정렬하고 같은 key 값을 지니는 그룹끼리 하나의 그룹으로 묶어 각 사용자들에게 돌려준다.
도 5c에서, 사용자는 사용자 단말기(10)를 통해 자신이 수신한 k명 이상의 {Key,위치 정보} 그룹 정보에 질의를 결합하여 위치 기반 서비스 제공자(50)에게 전송한다. 이러한 key 그룹은 개별 사용자에 대응하는 하나의 질의뿐만 아니라 다수의 질의를 포함하게 되어, 사용자 개인을 은닉하는 효과가 나타나게 된다. 이제, 위치 기반 서비스 제공자(50)는 자신에게 전송된 질의를 처리하여 그 결과를 질의를 한 사용자에게 회신한다. 앞서 설명한 바와 같이 질의가 k개였다면, 회신되는 질의 결과 역시 k개일 것이다. 물론, 이 중 사용자 자신에게 대응되는 질의 및 결과는 하나뿐이다. 마지막으로, 사용자는 k개의 질의 결과 중 자신에게 해당하는 하나의 정보만을 취하고 나머지를 폐기한다.
이상의 과정을 통해 사용자는 자신의 ID와 위치 정보간의 연관성을 익명화를 수행하는 매퍼(20)나 리듀서(30) 중 어느 쪽에도 노출시키지 않을 수 있으며 위치 기반 서비스의 이용 시에도 k개 이상의 위치 정보를 함께 전송함으로써 서비스 사용자의 정확한 위치 정보가 노출되는 것을 방지할 수 있다. 또한, 맵리듀스 알고리즘을 응용한 프레임워크를 사용하므로 사용자 수 증가에 따른 확장성 문제에도 능동적으로 적용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 방법을 도시한 흐름도로서, 사용자 단말기, 즉 클라이언트를 중심으로 그 수행 동작을 순차적으로 설명한다. 이하에서, 제 1 익명화 서버 그룹은 맵리듀스(MapReduce) 알고리즘에 따르는 매퍼(mapper)이고, 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서(reducer)로서 구현될 수 있다. 특히, 앞서 도 4 내지 도 5c를 통해 소개한 바와 같이, 상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서, 상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며, 상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없는 것이 바람직하다.
610 단계에서, 클라이언트는 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키(key)를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받는다. 보다 구체적으로, 상기 제 1 데이터 쌍을 수신받는 단계는, 상기 클라이언트가 복수의 사용자 각각을 식별할 수 있는 복수 개의 사용자 식별자(ID)를 제 1 익명화 서버 그룹에 전송하고, 상기 제 1 익명화 서버 그룹을 구성하는 개별 익명화 서버별로 동일한 값을 갖는 복수 개의 키(key)를 생성하여 상기 수신된 사용자 식별자(ID)와 결합함으로써 상기 제 1 익명화 서버 그룹에 의해 생성된 제 1 데이터 쌍 {key,ID}을 상기 클라이언트가 수신한다.
620 단계에서, 상기 클라이언트는 상기 610 단계를 통해 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성한다. 보다 구체적으로, 상기 제 2 데이터 쌍을 생성하는 단계는, 상기 클라이언트가 상기 제 1 데이터 쌍에 포함된 사용자 식별자(ID)를 상기 사용자의 위치 정보(location)로 대체함으로써, 상기 키(key)와 상기 사용자의 위치 정보(location)를 각각 결합한 제 2 데이터 쌍 {key,location}을 생성한다.
630 단계에서, 상기 클라이언트는 상기 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하고, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신한다.
이상과 같은 과정을 통해 클라이언트는 자신의 식별자와 위치 정보 간의 관계를 익명화 서버에 노출시키지 않고도 익명화를 분산 처리할 수 있다. 이제, 클라이언트는 이렇게 익명화된 위치 정보에 기초하여 다양한 위치 기반 질의를 할 수 있다.
도 7은 본 발명의 일 실시예에 따른 도 6에 이어서 위치 기반 서비스 제공자에게 질의하는 방법을 도시한 흐름도로서, 앞서 도 6에서 소개한 610 단계 내지 630 단계에 계속하여 위치 기반 질의를 수행하게 된다.
640 단계에서, 클라이언트는 상기 630 단계를 통해 수신된 키 그룹에 특정 위치 기반 질의를 결합하여 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신한다.
650 단계에서, 클라이언트는 수신된 복수 개의 질의 결과 중 자신에게 필요한 질의 결과만을 선별하기 위한 검사를 수행한다. 이를 위해 클라이언트는 상기 640 단계를 통해 수신된 복수 개의 질의 결과 중 사용자의 위치 정보를 참조하여 자신의 위치 정보와 비교한다.
만약, 위치 정보가 서로 일치할 경우에는 661 단계로 진행하여 자신의 위치 정보와 일치하는 사용자의 위치 정보에 해당하는 질의 결과만을 추출하고, 그렇지 않은 경우 662 단계로 진행하여 나머지 질의 결과들을 폐기한다.
이상과 같은 과정을 통해 클라이언트는 자신의 위치 정보를 위치 정보 서비스 제공자에게 노출시키지 않고도 위치 정보 서비스를 제공받을 수 있다. 이하에서는 개인화된 위치 익명화 공간을 달성할 수 있는 기술적 수단에 대해 소개하도록 한다.
위치 기반 서비스에서 프라이버시 보장을 위해서는 앞서 표 1을 통해 설명한 바와 같이 식별정보 익명화와 위치 익명화가 동시에 달성되어야 할 필요가 있다. 본 발명의 실시예들을 통해 제안된 프레임워크를 통해 식별 정보 익명화의 요구 사항은 만족시킬 수 있음을 보였다. 한편, 기존의 연구에서 위치 익명화는 위치 정보를 보다 넓은 범위로 일반화시킴으로써 사용자의 정확한 위치가 추론되지 못하게 하는 방식을 사용하였다. 이를 위해 주로 그리드 맵(grid map)을 트리 형태로 계층화하거나 힐버트 커브(Hilbert curve)를 사용하여 위치 익명화를 수행하였다. 그러나 기존의 기법들은 사용자 개인이 원하는 수준의 위치 익명화를 수행하지 못한다는 단점이 존재한다. 따라서, 이하에서 제시되는 본 발명의 다른 실시예들은 사용자가 자신이 원하는 수준만큼의 프라이버시 요구에 맞게 위치 정보를 일반화할 수 있는 개인화된 위치 익명화 기법(PASR: Personalized Anonymized Spatial Region Technique)을 제안한다.
PASR은 자신의 현재 위치를 중심으로 일정 크기만큼의 위치를 일반화하여 위치 기반 서비스 제공자에게 전송할 수 있다. 이 때, 자신의 위치가 익명화 공간의 중심에 위치할 경우 사용자의 위치에 대한 추론이 가능하다. 따라서 이를 피하기 위해 해당 일반화 영역 안의 장소에 랜덤하게 위치를 지정하고 이를 중심으로 PASR을 생성한다.
즉, 사용자의 위치 정보를 익명화하는 방법에 있어서, 위치 기반 질의를 위치 기반 서비스 제공자에게 전송되기 이전에, 사용자의 위치 정보를 인근 위치 정보로 대체함으로써 공간 정보를 익명화할 수 있다. 이를 위해, 상기 공간 정보를 익명화하는 단계는, 사용자의 위치를 중심으로 일정 범위 내의 공간 중 하나의 위치를 선택하고, 선택된 위치에 대한 정보로서 사용자의 위치 정보를 대체하여 위치 기반 질의를 재생성하게 된다.
다만, 이 경우 지도 상에서 사람이 전혀 존재하지 않는 공간(예를 들어, 호수나 접근 통제 지역의 경우가 그러하다.)을 중심으로 익명화 영역이 생성될 경우, 공격자는 그러한 익명화 공간 내에 사용자가 존재할 수 없음을 인지함으로써 해당 공간을 배제하고 나머지 공간에 사용자가 존재할 것이라고 추론할 수 있다. 따라서 이러한 상황을 피하기 위하여 사전에 입수된 공간의 밀도 정보를 바탕으로 사용자의 밀도가 가장 높은 공간으로 PASR 영역의 중심을 선정하는 것이 바람직하다.
도 8은 본 발명의 다른 실시예에 따른 사용자의 위치 정보를 익명화하는 방법에서 공간 정보를 익명화하는 방법을 설명하기 위한 도면이다.
도 8의 (A)는 사용자의 위치를 기준으로 반지름 R을 프라이버시 수준에 따른 범위로 결정하여 익명화 공간을 설정하는 방법을 예시하고 있다. 이 경우, 반지름 R에 의해 형성된 공간 내의 임의의 위치를 선택하여 사용자의 현재 위치를 대체할 수 있다.
도 8의 (B)는 사용자의 위치를 기준으로 일정한 영역을 익명화 공간으로 설정하되, 전체 영역을 소 영역으로 분할(예를 들어, 도 8의 (B)에 도시된 바와 같이 전체 영역의 중심점을 기준으로 특정 각도 θ에 따라 소 영역으로 분할할 수 있을 것이다.)하여 각 영역마다 밀도 정보를 파악하고, 각각의 영역 중 가장 사용자의 밀도가 높은 공간을 선택할 수 있다. 이 때, 사용자의 밀도가 높다는 것은 사용자 개인의 위치 정보를 은닉하기 유리함을 의미한다. 따라서, 위치 익명성을 강화하기 위해 본 발명의 실시예들은 미리 파악된 공간의 밀도 정보에 기초하여 사용자의 밀도가 가장 높은 공간 내의 특정 위치를 선택하여, 자신의 현재 위치를 대체하는 것이 바람직하다. 즉, 대체되는 인근 위치 정보는 사용자의 위치를 중심으로 일정 범위 내의 공간 중 사용자의 밀도가 가장 높은 공간이 된다.
도 9는 본 발명의 일 실시예에 따른 사용자의 위치 정보를 익명화하는 장치를 도시한 블록도로서, 이러한 사용자의 위치 정보를 익명화하는 장치는 일례로서 사용자 단말기(10) 내에 구현될 수 있을 것이다. 따라서, 사용자의 위치 정보를 익명화하는 장치는 매퍼(20), 리듀서(30) 및 위치 기반 서비스 제공자(50)와 상호 작용할 수 있다. 사용자 단말기(10)는 다시 처리부(11) 및 통신부(13)를 포함할 수 있으며, 구현상의 필요에 따라 저장부(15)를 더 포함할 수 있다. 이들 각각의 구성들의 역할은 앞서 기술한 도 6 내지 도 7의 익명화 방법을 통해 수행되는 과정에 대응하는 것으로서, 여기서는 설명의 중복을 피하기 위해 장치적인 구성을 중심으로 그 개요만을 약술하도록 한다.
통신부(13)는 식별 정보를 익명화하는 제 1 익명화 서버 그룹 및 제 2 익명화 그룹과 통신하는 수단이다. 이 때, 제 1 익명화 서버 그룹은 맵리듀스 알고리즘에 따르는 매퍼(20)이고, 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서(30)로서 구현될 수 있음은 당연하다. 또한, 상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서, 상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며, 상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없는 것이 바람직하다.
처리부(11)는 적어도 하나의 프로세서(processor)를 구비하여 일련의 사용자 위치 정보 익명화 연산을 수행한다. 보다 구체적으로, 처리부(11)는, 복수 개의 사용자 식별자를 생성하여 상기 통신부(13)를 통해 제 1 익명화 서버 그룹(20)에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹(20)으로부터 수신받는다. 그런 다음, 처리부(11)는 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하고, 상기 생성된 제 2 데이터 쌍을 상기 통신부(13)를 통해 제 2 익명화 서버 그룹(30)에 전송하며, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹(30)으로부터 수신한다.
나아가, 처리부(11)는, 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 상기 통신부(13)를 통해 위치 기반 서비스 제공자(50)에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자(50)로부터 수신한다. 그런 다음, 처리부(11)는 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득할 수 있다. 이를 위해 처리부(11)는, 상기 수신된 복수 개의 질의 결과 중 사용자의 위치 정보를 참조하여 자신의 위치 정보와 비교하고, 상기 비교 결과 자신의 위치 정보와 일치하는 사용자의 위치 정보에 해당하는 질의 결과만을 추출하며, 나머지 질의 결과들을 폐기하는 것이 바람직하다.
한편, 위치 익명화를 강화하기 위해, 도 9에 도시된 사용자의 위치 정보를 익명화하는 장치(사용자 단말기, 10)는, 사용자의 위치를 포함하는 인근 위치 정보 및 그에 대한 사용자의 밀도 정보를 저장하는 저장부(15)를 더 포함할 수 있다. 이 경우 처리부(11)는, 상기 위치 기반 질의를 상기 위치 기반 서비스 제공자(50)에게 전송되기 이전에, 상기 저장부(15)에 저장된 사용자의 밀도 정보를 이용하여 상기 사용자의 위치 정보를 상기 인근 위치 정보 중 어느 하나로 대체함으로써 공간 정보를 익명화할 수 있다. 특히, 보다 효과적인 위치 익명화를 위해 상기 대체되는 인근 위치 정보는 상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 사용자의 밀도가 가장 높은 공간인 것이 바람직하다.
이하에서는 본 발명의 실시예들을 통해 구현된 사용자의 위치 정보를 익명화하는 기술의 성능을 검증하기 위해 실시된 실험 결과를 제시하도록 한다. 실험은 질의 시 소요되는 응답 속도와 k값 증가에 따른 필터링 발생 비용을 기존의 중앙집중형 기법과 비교를 통해 제시하도록 한다. 종래의 중앙집중형 기법의 구현을 위해 그리드의 기본 단위는 100m2으로 설정하였으며, 각 그리드의 인구 밀도는 실제 서울시 인구 밀도를 바탕으로 최저 8명에서 최대 30명까지로 랜덤하게 발생시켰다. 실험을 위해 10,000개의 그리드를 실험에 사용되는 영역으로 가정하였다. 실험 환경은 Pentium Dual-Core 2.6GHz 프로세서와 2GB DDR2 메모리가 장착된 마이크로소프트 윈도우7 32bit 운영체제 사양의 컴퓨터로 서버를 구현하였고 삼성 갤럭시탭에 위치 정보 서비스 사용자에 해당하는 클라이언트를 구현하였다.
도 10은 본 발명의 실시예들에 따라 구현된 위치 정보 익명화 기술과 종래의 익명화 기술의 응답 속도를 비교한 실험 결과를 예시한 도면이다. 도 10은 분당 서비스 요청 횟수에 따른 응답 속도를 도시하고 있다. 분당 1,000번부터 30,000번까지의 서비스 요청에 대해 종래의 중앙집중형 기법(New Casper)과 비교하여 실험을 수행하였다. 본 발명의 실시예들에 따른 제안 기법은 매퍼와 리듀서를 두어 서비스 요청을 분산 처리하므로 대량의 데이터 요청에 확장성 있게 대응할 수 있음을 확인할 수 있다. 특히, 서비스 요청 횟수가 증가할 경우 종래의 중앙집중형 기법에서 발생하는 병목 현상이 발생하지 않으므로 보다 좋은 성능을 보인다.
도 11은 본 발명의 실시예들에 따라 구현된 위치 정보 익명화 기술과 종래의 익명화 기술의 필터링 수를 비교한 실험 결과를 예시한 도면이다. 도 11은 동일한 키의 개수를 의미하는 k 값의 증가에 따라 사용자가 원치 않은 결과에 대한 필터링 발생 개수를 도시하고 있다. 종래의 중앙집중형 기법(New Casper)의 경우, quad-tree의 형태로 익명화 영역을 확장하므로 k 값이 일정 수준 이상을 초과할 시에 급격히 필터링 개수가 증가한다. 반면, 본 발명의 실시예들에 따른 제안 기법은 개인화된 익명화 공간 영역(PASR)을 생성하여 강화된 위치 익명화 성능을 제공하므로 k 값의 증가에 따른 선형적인 필터링 개수 증가를 보인다.
상기된 본 발명의 실시예들에 따르면, 복수 개의 익명화 서버 그룹들을 이용하여 사용자의 식별 정보를 분산 처리를 통해 익명화함으로써, 위치 기반 서비스를 이용하는 사용자의 수가 폭발적으로 증가하더라도 대용량의 데이터를 효과적으로 처리할 수 있으므로 사용자의 서비스 요청에 대한 빠른 응답 속도를 보장할 수 있으며, 개인화된 위치 정보 서비스를 이용함에 있어서 분리된 익명화 서버 그룹을 통해 사용자 개인의 식별자와 위치 정보 간의 연결 관계를 노출시키지 않음으로써 강인한 보안성을 제공할 수 있다.
특히, 본 발명의 실시예들은 스마트폰 보급이 일반화된 환경에서의 위치 기반 서비스를 사용할 때의 프라이버시 보호 프레임워크를 제안하고 있으며, 맵리듀스 기법을 응용하여 실제 식별정보와 위치 정보간의 관계를 단절시키면서도 대량의 데이터 처리가 필요할 경우 확장성을 보장할 수 있다. 또한, 개인화된 익명화 공간 생성을 통해 사용자 프라이버시 요구 사항을 만족시키며, 동시에 잘못되거나 불필요한 질의 결과값을 제공받아 이를 사용자 측에서 필터링하는 비용을 최소화하였다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10 : 사용자 단말기
11 : 처리부 13 : 통신부
15 : 저장부
20 : 매퍼(MAPPER) 30 : 리듀서(REDUCER)
50 : 위치 기반 서비스 제공자(location based service provider)

Claims (18)

  1. 사용자의 위치 정보를 익명화하는 방법에 있어서,
    클라이언트가 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키(key)를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받는 단계;
    상기 클라이언트가 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하는 단계; 및
    상기 클라이언트가 상기 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하고, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신하는 단계;를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서,
    상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며,
    상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 제 1 데이터 쌍을 수신받는 단계는,
    상기 클라이언트가 복수의 사용자 각각을 식별할 수 있는 복수 개의 사용자 식별자(ID)를 제 1 익명화 서버 그룹에 전송하는 단계; 및
    상기 제 1 익명화 서버 그룹을 구성하는 개별 익명화 서버별로 동일한 값을 갖는 복수 개의 키(key)를 생성하여 상기 수신된 사용자 식별자(ID)와 결합함으로써 상기 제 1 익명화 서버 그룹에 의해 생성된 제 1 데이터 쌍 {key,ID}을 상기 클라이언트가 수신하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 제 2 데이터 쌍을 생성하는 단계는,
    상기 클라이언트가 상기 제 1 데이터 쌍에 포함된 사용자 식별자(ID)를 상기 사용자의 위치 정보(location)로 대체함으로써, 상기 키(key)와 상기 사용자의 위치 정보(location)를 각각 결합한 제 2 데이터 쌍 {key,location}을 생성하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 클라이언트가 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하는 단계; 및
    상기 클라이언트가 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 단계;를 더 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 단계는,
    상기 수신된 복수 개의 질의 결과 중 사용자의 위치 정보를 참조하여 자신의 위치 정보와 비교하는 단계; 및
    상기 비교 결과, 자신의 위치 정보와 일치하는 사용자의 위치 정보에 해당하는 질의 결과만을 추출하고, 나머지 질의 결과들을 폐기하는 단계;를 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 제 1 익명화 서버 그룹은 맵리듀스(MapReduce) 알고리즘에 따르는 매퍼(mapper)이고,
    상기 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서(reducer)인 것을 특징으로 하는 방법.
  8. 사용자의 위치 정보를 익명화하는 방법에 있어서,
    클라이언트가 복수 개의 사용자 식별자를 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받는 단계;
    상기 클라이언트가 상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하는 단계;
    상기 클라이언트가 상기 생성된 제 2 데이터 쌍을 제 2 익명화 서버 그룹에 전송하고, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신하는 단계;
    상기 클라이언트가 상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하는 단계; 및
    상기 클라이언트가 상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 단계;를 포함하고,
    상기 위치 기반 질의를 상기 위치 기반 서비스 제공자에게 전송되기 이전에, 상기 사용자의 위치 정보를 인근 위치 정보로 대체함으로써 공간 정보를 익명화하는 단계를 더 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 공간 정보를 익명화하는 단계는,
    상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 하나의 위치를 선택하는 단계; 및
    상기 선택된 위치에 대한 정보로서 상기 사용자의 위치 정보를 대체하여 상기 위치 기반 질의를 재생성하는 단계;를 포함하는 방법.
  10. 제 8 항에 있어서,
    상기 대체되는 인근 위치 정보는 상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 사용자의 밀도가 가장 높은 공간인 것을 특징으로 하는 방법.
  11. 제 1 항 내지 제 10 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 사용자의 위치 정보를 익명화하는 장치에 있어서,
    식별 정보를 익명화하는 제 1 익명화 서버 그룹 및 제 2 익명화 그룹과 통신하는 통신부; 및
    적어도 하나의 프로세서(processor)를 구비하여 연산을 수행하는 처리부;를 포함하고,
    상기 처리부는,
    복수 개의 사용자 식별자를 생성하여 상기 통신부를 통해 제 1 익명화 서버 그룹에 전송하고, 상기 사용자 식별자와 개별 익명화 서버별로 동일한 값을 갖는 키를 각각 결합한 제 1 데이터 쌍을 상기 제 1 익명화 서버 그룹으로부터 수신받으며,
    상기 수신된 제 1 데이터 쌍에 기초하여 상기 키와 사용자의 위치 정보를 각각 결합한 제 2 데이터 쌍을 생성하고, 상기 생성된 제 2 데이터 쌍을 상기 통신부를 통해 제 2 익명화 서버 그룹에 전송하며, 상기 제 2 데이터 쌍에 대해 동일한 키를 기준으로 그룹화한 키 그룹을 상기 제 2 익명화 서버 그룹으로부터 수신하는 것을 특징으로 하는 장치.
  13. 제 12 항에 있어서,
    상기 제 1 익명화 서버 그룹과 상기 제 2 익명화 서버 그룹은 서로 분리된 장치로서,
    상기 제 1 익명화 서버 그룹은 상기 사용자의 식별자를 수신할 수 있으나 상기 사용자의 위치 정보를 수신할 수 없으며,
    상기 제 2 익명화 서버 그룹은 상기 사용자의 위치 정보를 수신할 수 있으나 상기 사용자의 식별자를 수신할 수 없는 것을 특징으로 하는 장치.
  14. 제 12 항에 있어서,
    상기 처리부는,
    상기 수신된 키 그룹에 소정 위치 기반 질의를 결합하여 상기 통신부를 통해 위치 기반 서비스 제공자에게 전송하고, 상기 질의에 대응하는 복수 개의 질의 결과를 상기 위치 기반 서비스 제공자로부터 수신하며,
    상기 수신된 복수 개의 질의 결과로부터 자신의 위치 정보에 대응하는 질의 결과만을 획득하는 것을 특징으로 하는 장치.
  15. 제 14 항에 있어서,
    상기 처리부는,
    상기 수신된 복수 개의 질의 결과 중 사용자의 위치 정보를 참조하여 자신의 위치 정보와 비교하고, 상기 비교 결과 자신의 위치 정보와 일치하는 사용자의 위치 정보에 해당하는 질의 결과만을 추출하며, 나머지 질의 결과들을 폐기하는 것을 특징으로 하는 장치.
  16. 제 12 항에 있어서,
    상기 사용자의 위치를 포함하는 인근 위치 정보 및 그에 대한 사용자의 밀도 정보를 저장하는 저장부;를 더 포함하고,
    상기 처리부는,
    상기 위치 기반 질의를 상기 위치 기반 서비스 제공자에게 전송되기 이전에, 상기 저장부에 저장된 사용자의 밀도 정보를 이용하여 상기 사용자의 위치 정보를 상기 인근 위치 정보 중 어느 하나로 대체함으로써 공간 정보를 익명화하는 것을 특징으로 하는 장치.
  17. 제 16 항에 있어서,
    상기 대체되는 인근 위치 정보는 상기 사용자의 위치를 중심으로 소정 범위 내의 공간 중 사용자의 밀도가 가장 높은 공간인 것을 특징으로 하는 장치.
  18. 제 12 항에 있어서,
    상기 제 1 익명화 서버 그룹은 맵리듀스 알고리즘에 따르는 매퍼이고,
    상기 제 2 익명화 서버 그룹은 상기 맵리듀스 알고리즘에 따르는 리듀서인 것을 특징으로 하는 장치.
KR1020110143731A 2011-12-27 2011-12-27 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법 KR101287096B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110143731A KR101287096B1 (ko) 2011-12-27 2011-12-27 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110143731A KR101287096B1 (ko) 2011-12-27 2011-12-27 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130075380A KR20130075380A (ko) 2013-07-05
KR101287096B1 true KR101287096B1 (ko) 2013-07-16

Family

ID=48989280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110143731A KR101287096B1 (ko) 2011-12-27 2011-12-27 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101287096B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479498B1 (ko) 2013-02-13 2015-01-09 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의를 위한 안전한 모니터링 기법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102233380B1 (ko) * 2015-11-04 2021-03-26 에스케이텔레콤 주식회사 질의 및 데이터 경로 관리장치 및 컴퓨터 프로그램
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
KR20220141927A (ko) 2017-04-27 2022-10-20 스냅 인코포레이티드 지도-기반 소셜 미디어 플랫폼들에 대한 위치 프라이버시 관리
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135442A (ja) 2004-11-02 2006-05-25 Nippon Telegr & Teleph Corp <Ntt> 位置匿名性をもつ通信装置及び通信方式
US20110201305A1 (en) 2010-02-12 2011-08-18 Mark Buer Method and system for ensuring user and/or device anonymity for location based services (lbs)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135442A (ja) 2004-11-02 2006-05-25 Nippon Telegr & Teleph Corp <Ntt> 位置匿名性をもつ通信装置及び通信方式
US20110201305A1 (en) 2010-02-12 2011-08-18 Mark Buer Method and system for ensuring user and/or device anonymity for location based services (lbs)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
위치기반 서비스에서 프라이버시를 위한 연속질의와 질의 로그 익명화 기법[박소미 외 2명, 2010 한국컴퓨터종합학술대회, 2010년] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479498B1 (ko) 2013-02-13 2015-01-09 아주대학교산학협력단 도로 네트워크에서 움직이는 k-최근접 질의를 위한 안전한 모니터링 기법
US10169468B2 (en) 2013-02-13 2019-01-01 Ajou University Industry—Academic Cooperation Foundation Secure monitoring technique for moving k-nearest queries in road network

Also Published As

Publication number Publication date
KR20130075380A (ko) 2013-07-05

Similar Documents

Publication Publication Date Title
Sun et al. Security and privacy in the medical internet of things: a review
Vellela et al. Strategic Survey on Security and Privacy Methods of Cloud Computing Environment
US10181049B1 (en) Method and apparatus for secure and privacy-preserving querying and interest announcement in content push and pull protocols
Mouratidis et al. Shortest path computation with no information leakage
Sen et al. Double cache approach with wireless technology for preserving user privacy
Hu et al. An access control scheme for big data processing
Mukherjee et al. Intelligent edge computing: Security and privacy challenges
KR101287096B1 (ko) 다수 사용자가 존재하는 환경에서 개인의 위치 정보를 보호하는 장치 및 방법
US9298808B2 (en) Encrypted search acceleration
Praveena et al. Anonymization in social networks: a survey on the issues of data privacy in social network sites
KR20200121583A (ko) 데이터 비식별화처리를 이용한 데이터 분산처리 장치 및 방법
Zhang et al. An efficient privacy-preserving multi-keyword query scheme in location based services
Petrov et al. Context-aware deep learning-driven framework for mitigation of security risks in BYOD-enabled environments
Olakanmi et al. FELAS: fog enhanced look ahead secure framework with separable data aggregation scheme for efficient information management in internet of things networks
Peng et al. A blockchain‐based mobile crowdsensing scheme with enhanced privacy
Yadav et al. Big data hadoop: Security and privacy
Khan A formal method for privacy‐preservation in cognitive smart cities
Bandara et al. Blockchain and self-sovereign identity empowered cyber threat information sharing platform
Abouelmehdi et al. Big data emerging issues: Hadoop security and privacy
de Fuentes et al. Privacy models in wireless sensor networks: A survey
Buccafurri et al. A privacy-preserving solution for tracking people in critical environments
Rao et al. A novel framework for privacy preserving in location based services
Pandit et al. Conceptual framework and a critical review for privacy preservation in context aware systems
Sharghivand et al. Data Security and Privacy in Industrial IoT
Rajashekar et al. A survey on user’s location detail privacy-preserving models

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160704

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 7