KR20160070286A - Cloud based computing platform system for preserving privacy and method for providing location based service - Google Patents

Cloud based computing platform system for preserving privacy and method for providing location based service Download PDF

Info

Publication number
KR20160070286A
KR20160070286A KR1020140176075A KR20140176075A KR20160070286A KR 20160070286 A KR20160070286 A KR 20160070286A KR 1020140176075 A KR1020140176075 A KR 1020140176075A KR 20140176075 A KR20140176075 A KR 20140176075A KR 20160070286 A KR20160070286 A KR 20160070286A
Authority
KR
South Korea
Prior art keywords
location
mobile terminal
based service
server
interest
Prior art date
Application number
KR1020140176075A
Other languages
Korean (ko)
Other versions
KR101648641B1 (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 KR1020140176075A priority Critical patent/KR101648641B1/en
Publication of KR20160070286A publication Critical patent/KR20160070286A/en
Application granted granted Critical
Publication of KR101648641B1 publication Critical patent/KR101648641B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed is a technology which can protect privacy of a mobile terminal based on a cloud server and can provide a location-based service. A method for providing a location-based service, which is performed in a privacy protecting cloud server may comprise the steps of: receiving a request for a location-based service from a mobile terminal; requesting the location-based service from a location-based service (LBS) server; receiving all points of interest, corresponding to a region in which the location-based service is requested, from the location-based service server; determining a preset reference number of mobile terminals among mobile terminals located in the region to which the location-based service belongs; and providing a point of interest to each of the terminal, having requested the location-based service, and the reference number of mobile terminals.

Description

프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템 및 그의 위치 기반 서비스 제공 방법{CLOUD BASED COMPUTING PLATFORM SYSTEM FOR PRESERVING PRIVACY AND METHOD FOR PROVIDING LOCATION BASED SERVICE}Technical Field [0001] The present invention relates to a privacy-protected cloud-based computing platform system and a method for providing the location-

본 발명의 실시예들은 모바일 클라우드 서버를 기반으로 위치 기반 서비스를 제공하는 기술에 관한 것이다.Embodiments of the present invention relate to techniques for providing location based services based on mobile cloud servers.

현재 스마트폰 등의 이동 단말은 개인 간의 단순한 의사 소통을 위한 수단으로 이용될 뿐만 아니라, 각 개인의 삶에 일부분이 되고 있다. 예를 들어, 이동 단말은 놀이, 편의 시설, 정보 등과 같이, 다양한 종류의 위치 기반 서비스(Location Based Service: LBS)를 제공받기 위해 이용된다. 구글, 아이폰 등의 어플리케이션은 온라인 상에 많이 존재하며, 이러한 어플리케이션에서 유용한 서비스를 얻기 위해, 대부분의 이동 단말은 하드웨어 용량 제한에 따른 보안, 저장 공간, 대역폭, 배터리 수명과 관련된 문제들에 직면하게 된다. 이러한 문제들을 해결하기 위해 이동 단말과 클라우드 컴퓨팅을 통합하는 연구가 진행되고 있으며, 이를 모바일 클라우딩 컴퓨팅이라고 부른다.Currently, mobile terminals such as smart phones are not only used as means for simple communication between individuals, but also become part of individual lives. For example, a mobile terminal is used to provide various types of location based services (LBS) such as play, convenience facilities, information, and the like. Applications such as Google and iPhone exist on-line, and in order to obtain useful services in such applications, most mobile terminals are faced with problems related to security, storage space, bandwidth, and battery life due to hardware capacity limitation . To solve these problems, studies are being conducted to integrate mobile terminals with cloud computing, which is called mobile cloud computing.

모바일 클라우드 컴퓨팅은, 인터넷 기반 컴퓨팅으로서, 공유된 자료, 소프트웨어, 정보들이 필요에 따라 컴퓨터와 같은 다른 기기에 제공한다. 클라우드 기반 서비스로는 서비스형 인프라(IaaS: Infrastructure as a Service), 서비스형 스토리지 (DaaS: Data storage as a Service), 서비스형 통신 (CaaS), 서비스형 보안 (SecaaS), 서비스형 하드웨어(HaaS), 서비스형 소프트웨어(SaaS), 서비스형 비지니스(BaaS), 서비스형 플랫폼(PaaS)이 존재한다. 클라우드 컴퓨팅은 보다 나은 수행 능력 적정한 소프트웨어 비용, 즉각적인 업데이트, 큰 저장 공간, 기기 독립성, 향상된 데이터 신뢰성, 개선된 문서 포맷의 호환성과 같은 이점이 있어서 많은 분야에서 연구가 진행되고 있다. 모바일 클라우드 컴퓨팅은 데이터 저장과 이동 단말 외부에서 발생하는 데이터 프로세싱 둘 다의 인프라를 제공한다.Mobile cloud computing is Internet-based computing, providing shared data, software, and information to other devices such as computers as needed. Cloud-based services include Infrastructure as a Service (IaaS), Data Storage as a Service (DaaS), CaaS, SecaaS, HaaS, , Service type software (SaaS), service type business (BaaS), and service type platform (PaaS). Cloud computing is being explored in many areas because of its benefits such as better performance, reasonable software costs, immediate updates, large storage space, device independence, improved data reliability, and improved document format compatibility. Mobile cloud computing provides the infrastructure for both data storage and data processing that occurs outside the mobile terminal.

위치 기반 서비스(LBS)는 이동 단말의 지리적 위치를 이용하여 편의 시설 검색, 길안내, 지도 서비스 등과 같은 다양한 서비스를 이동 단말에 제공하는 것을 일컫는다. 이러한 LBS는 사용자의 프라이버시(privacy) 보호 차원에서는 서비스가 제한적이며, 서비스 제공에 어려움이 존재한다. LBS 서비스를 이동 단말에 제공하기 위해서는 이동 단말의 위치 정보를 수집해야 하는데, 이러한 위치 정보 수집이 이동 단말을 소지한 사용자의 프라이버시를 침해하는 경우가 발생한다. The location-based service (LBS) refers to providing a variety of services to a mobile terminal using a geographical location of a mobile terminal, such as an accessory search, a route guidance, and a map service. In order to protect the privacy of users, the LBS has a limited service, and there are difficulties in providing the service. In order to provide the LBS service to the mobile terminal, location information of the mobile terminal must be collected. Such location information collection may infringe the privacy of the user having the mobile terminal.

예를 들어, 위치 기반 서비스를 제공받기 위해 이동 단말이 자신의 위치 정보를 LSB 제공자에게 제공하는 경우, 해커(공격자)가 상기 이동 단말이 전송한 위치 정보를 이용하여 사용자의 활동을 추적하여 사용자를 괴롭힐 수 있다. 해커 이외에 LBS 제공자 역시 사용자가 방문한 위치들을 연결하여 사용자의 개인적인 정보를 추론할 수 있고, 추론된 결과를 악의적으로 이용할 수 있다. 대부분의 사용자들은 프라이버시가 침해되지 않도록 신상 정보나 위치 정보를 공개하지 않으면서 다양한 위치 기반 서비스를 제공받기를 원한다. For example, when the mobile terminal provides its location information to the LSB provider in order to receive the location-based service, the hacker (attacker) tracks the user's activity using the location information transmitted by the mobile terminal, It can be harassed. In addition to hackers, the LBS provider can also infer user's personal information by linking the locations visited by the user and maliciously exploit the inferred results. Most users want to be provided with various location-based services without disclosing personal information or location information in order to avoid privacy breaches.

따라서, 사용자의 프라이버시를 보호하면서 위치 기반 서비스를 제공할 수 있는 기술이 요구된다.Therefore, there is a need for a technique capable of providing location-based services while protecting the user's privacy.

본 발명의 일실시예는 모바일 클라우드 컴퓨팅 환경에서 사용자의 프라이버시를 보호하면서 사용자가 요청한 위치 기반 서비스를 제공할 수 있는 프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템 및 그의 위치 기반 서비스 제공 방법을 제공하기 위한 것이다.An embodiment of the present invention is to provide a privacy-protected cloud-based computing platform system and a method of providing a location-based service that can provide a location-based service requested by a user while protecting user's privacy in a mobile cloud computing environment.

보다 자세하게는, 오봇(Orbot)을 이용하여 이동 단말과 클라우드 서버 간에 통신을 제공하여 이동 단말의 익명성을 제공하는 통신 보안, 및 다수의 이동 단말들에 위치 기반 서비스를 제공하여 LBS 서버에 이동 단말이 노출되지 않도록 하는 프라이버시 보호를 제공하기 위한 것이다.More particularly, the present invention relates to a communication security providing anonymity of a mobile terminal by providing communication between a mobile terminal and a cloud server using an Orbot, and a location-based service to a plurality of mobile terminals, So as to protect the privacy of the user.

프라이버시 보호 클라우드 서버에서 수행되는 위치 기반 서비스 제공 방법은, 이동 단말로부터 위치 기반 서비스를 요청받는 단계, 상기 위치 기반 서비스를 위치 기반 서비스(LBS) 서버에 요청하는 단계, 상기 위치 기반 서비스 서버로부터 상기 위치 기반 서비스가 요청된 지역에 해당하는 모든 관심 지점(POI)을 수신하는 단계, 상기 위치 기반 서비스가 속하는 지역에 위치한 이동 단말들을 대상으로, 기설정된 기준 개수의 이동 단말들을 결정하는 단계, 및 상기 위치 기반 서비스를 요청한 단말 및 상기 기준 개수의 이동 단말들 각각에 관심 지점을 제공하는 단계를 포함할 수 있다.A method for providing location-based services in a privacy-protected cloud server includes receiving a location-based service from a mobile terminal, requesting the location-based service from a location-based service (LBS) server, Based service, the method comprising the steps of: receiving all points of interest (POIs) corresponding to the requested area; determining mobile terminals of a predetermined reference number for the mobile terminals located in the area to which the location-based service belongs; And providing a point of interest to each of the terminals requesting the base service and the reference numbers of the mobile terminals.

일측면에 따르면, 상기 관심 지점을 제공하는 단계는, 상기 기준 개수의 이동 단말들 각각의 현재 위치, 상기 위치 기반 서비스를 요청한 단말의 현재 위치에 기초하여 위치 기반 서비스 서버에로부터 수신된 관심 지점들 중 각 이동 단말로부터 가장 가까운 관심 지점을 결정하는 단계, 및 결정된 관심 지점을 각 이동 단말에 제공하는 단계를 포함할 수 있다.According to an aspect, the step of providing the point of interest further comprises the step of providing points of interest received from the location-based service server based on the current location of each of the reference number of mobile terminals, the current location of the terminal requesting the location- Determining a nearest point of interest from each mobile terminal, and providing the determined point of interest to each mobile terminal.

다른 측면에 따르면, 상기 가장 가까운 관심 지점을 결정하는 단계는, 유클리디안 거리(Euclidian distance)에 기초하여 각 이동 단말의 현재 위치로부터 가장 가까운 지점에 위치하는 관심 지점(POI)을 결정할 수 있다.According to another aspect, determining the closest point of interest may determine a point of interest (POI) located closest to the current location of each mobile terminal based on the Euclidian distance.

또 다른 측면에 따르면, 상기 위치 기반 서비스를 요청한 이동 단말을 인증하는 단계를 더 포함할 수 있다.According to another aspect, the method may further include authenticating the mobile terminal requesting the location-based service.

또 다른 측면에 따르면, 상기 이동 단말을 인증하는 단계는, 상기 이동 단말에 기부여된 국제이동국식별번호(International Mobile Station Identity: IMSI)를 요청하는 단계, 및 상기 이동 단말로부터 수신된 IMSI가 데이터베이스에 기등록되어 있는지 여부를 확인하여 상기 이동 단말을 인증하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of authenticating the mobile terminal comprises the steps of: requesting an International Mobile Station Identity (IMSI) granted to the mobile terminal; and transmitting the IMSI received from the mobile terminal to the database And authenticating the mobile terminal by checking whether the mobile terminal has been registered.

또 다른 측면에 따르면, 상기 이동 단말을 인증하는 단계는, SHA-1 암호화를 이용하여 상기 이동 단말을 인증할 수 있다.According to another aspect, the step of authenticating the mobile terminal may authenticate the mobile terminal using SHA-1 encryption.

또 다른 측면에 따르면, 상기 기준 개수는, 이동 단말의 프라이버시를 강화하고자 하는 경우, 강화하고자 하는 프라이버시 비율에 비례하여 증가하도록 기설정될 수 있다.According to another aspect, the reference number may be set so as to increase in proportion to a privacy ratio to be enhanced when the privacy of the mobile terminal is to be enhanced.

또 다른 측면에 따르면, 상기 이동 단말은, 상기 위치 기반 서비스를 요청하지 않은 경우, 상기 프라이버시 보호 클라우드 서버로부터 수신된 관심 지점을 폐기할 수 있다.According to another aspect, the mobile terminal may discard a point of interest received from the privacy protection cloud server when the location-based service is not requested.

프라이버시 보호 클라우드 서버는, 이동 단말로부터 위치 기반 서비스를 요청받고, 상기 위치 기반 서비스를 위치 기반 서비스(LBS) 서버에 요청하는 서비스 처리부, 상기 위치 기반 서비스 서버로부터 상기 위치 기반 서비스가 요청된 지역에 해당하는 모든 관심 지점(POI)을 수신하는 관심 지점 수신부, 상기 위치 기반 서비스가 속하는 지역에 위치한 이동 단말들을 대상으로, 기설정된 기준 개수의 이동 단말들을 결정하는 이동 단말 결정부, 및 상기 위치 기반 서비스를 요청한 단말 및 상기 기준 개수의 이동 단말들 각각에 관심 지점을 제공하는 관심 지점 제공부를 포함할 수 있다.The privacy protection cloud server includes a service processing unit for receiving a location-based service from a mobile terminal and requesting the location-based service from a location-based service server (LBS) Based service; a mobile terminal determination unit for determining a predetermined number of mobile terminals for mobile terminals located in an area to which the location-based service belongs; And a point of interest provider that provides points of interest to the requested terminal and the reference number of mobile terminals, respectively.

일측면에 따르면, 상기 관심 지점 제공부는, 상기 기준 개수의 이동 단말들 각각의 현재 위치, 상기 위치 기반 서비스를 요청한 단말의 현재 위치에 기초하여 위치 기반 서비스 서버에로부터 수신된 관심 지점들 중 각 이동 단말로부터 가장 가까운 관심 지점을 결정하고, 결정된 관심 지점을 각 이동 단말에 제공할 수 있다.According to an aspect of the present invention, the point-of-interest providing unit is configured to transmit the point-of-interest service to each of the points of interest received from the location-based service server based on the current position of each of the reference number of mobile stations, Determine the closest point of interest from the terminal, and provide the determined point of interest to each mobile terminal.

다른 측면에 따르면, 상기 관심 지점 제공부는, 유클리디안 거리(Euclidian distance)에 기초하여 각 이동 단말의 현재 위치로부터 가장 가까운 지점에 위치하는 관심 지점(POI)을 결정할 수 있다.According to another aspect, the point of interest provider may determine a point of interest (POI) that is located closest to the current location of each mobile terminal based on the Euclidian distance.

또 다른 측면에 따르면, 상기 위치 기반 서비스를 요청한 이동 단말을 인증하는 인증부를 더 포함할 수 있다.According to another aspect, the mobile communication terminal may further include an authentication unit for authenticating the mobile terminal requesting the location-based service.

또 다른 측면에 따르면, 상기 인증부는, 상기 이동 단말에 기부여된 국제이동국식별번호(International Mobile Station Identity: IMSI)를 요청하고, 상기 이동 단말로부터 수신된 IMSI가 데이터베이스에 기등록되어 있는지 여부를 확인하여 상기 이동 단말을 인증할 수 있다.According to another aspect of the present invention, the authentication unit requests the International Mobile Station Identity (IMSI) assigned to the mobile terminal and confirms whether the IMSI received from the mobile terminal is already registered in the database Thereby authenticating the mobile terminal.

또 다른 측면에 따르면, 상기 인증부는, SHA-1 암호화를 이용하여 상기 이동 단말을 인증할 수 있다.According to another aspect, the authentication unit can authenticate the mobile terminal using SHA-1 encryption.

또 다른 측면에 따르면, 상기 이동 단말은, 오봇(Orbot)을 이용하여 상기 클라우드 서버와 통신을 수행하여 이동 단말의 익명성을 보장할 수 있다.According to another aspect, the mobile terminal can communicate with the cloud server using Orbot to guarantee anonymity of the mobile terminal.

프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템은, 오봇(Orbot)을 이용하여 익명으로 위치 기반 서비스를 클라우드 서버에 요청하는 이동 단말, 상기 위치 기반 서비스를 요청한 이동 단말의 프라이버시가 보호되도록 상기 이동 단말 및 기설정된 기준 개수의 이동 단말들에게 관심 지점(POI)을 제공하는 클라우드 서버, 및A privacy-protected cloud-based computing platform system includes a mobile terminal that requests anonymously location-based service to a cloud server using Orbot, a mobile terminal that requests the location-based service, A cloud server that provides Points of Interest (POIs) to mobile terminals, and

상기 클라우드 서버에서 요청된 위치 기반 서비스가 속하는 지역에 해당하는 모든 관심 지점(POI)을 검색하고, 검색된 관심 지점이 기록된 파일을 상기 클라우드 서버에 제공하는 위치 기반 서비스 서버를 포함할 수 있다.And a location-based service server that searches all POIs corresponding to the area to which the location-based service requested by the cloud server belongs, and provides the recorded file with the browsed POI to the cloud server.

일측면에 따르면, 상기 클라우드 서버는, 국제이동국식별번호(International Mobile Station Identity: IMSI)를 이용하여 상기 위치 기반 서비스를 요청한 이동 단말을 인증할 수 있다.According to an aspect of the present invention, the cloud server can authenticate a mobile terminal requesting the location-based service using an International Mobile Station Identity (IMSI).

모바일 클라우드 컴퓨팅 환경에서 사용자의 프라이버시를 보호하면서 사용자가 요청한 위치 기반 서비스를 제공할 수 있다.It is possible to provide location-based services requested by users while protecting user's privacy in a mobile cloud computing environment.

또한, 오봇(Orbot)을 이용하여 이동 단말과 클라우드 서버 간에 통신을 제공하여 이동 단말의 익명성을 제공하는 통신 보안을 제공할 수 있을 뿐만 아니라, 다수의 이동 단말들에 위치 기반 서비스를 제공하여 LBS 서버에 이동 단말이 노출되지 않도록 하는 프라이버시 보호할 수 있다.In addition to providing communication security that provides anonymity of a mobile terminal by providing communication between a mobile terminal and a cloud server using Orbot, it provides location-based services to a plurality of mobile terminals, It is possible to protect the privacy of the mobile terminal so that the mobile terminal is not exposed to the server.

도 1은 본 발명의 일실시예에 있어서, 프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템의 개략적인 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 클로킹을 이용하여 각 지역의 위치를 구성하는 동작을 설명하기 위해 제공되는 예시도이다.
도 3은 본 발명의 일실시예에 있어서, 클라우드 서버가 이동 단말의 익명성을 보장하면서 위치 기반 서비스를 제공하는 동작을 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서. 클라우드 서버의 세부 구성을 도시한 블록도이다.
도 5는 본 발명의 일실시예에 있어서, 이동 단말의 프라이버시를 보호하면서 위치 기반 서비스를 제공하는 세부 동작을 도시한 흐름도이다.
도 6 내지 도 9는 본 발명의 일실시예에 따른 시나리오 1 내지 시나리오 4를 설명하기 위해 제공되는 도면이다.
1 is a diagram illustrating a schematic structure of a privacy-protected cloud-based computing platform system in an embodiment of the present invention.
2 is an exemplary diagram provided to illustrate the operation of configuring the location of each region using cloaking in one embodiment of the present invention.
3 is a flowchart illustrating an operation in which a cloud server provides a location-based service while assuring anonymity of a mobile terminal in an embodiment of the present invention.
Figure 4 is an illustration of an embodiment of the present invention. And a detailed configuration of the cloud server.
5 is a flowchart illustrating a detailed operation for providing a location-based service while protecting the privacy of a mobile terminal in an embodiment of the present invention.
FIGS. 6 to 9 are diagrams for explaining scenarios 1 to 4 according to an embodiment of the present invention.

본 실시예들은 모바일 클라우드 컴퓨팅 환경에서 위치 기반 서비스 제공 시, 사용자의 익명성을 제공하여 프라이버시를 보호하는 기술을 설명하기 위한 것이다. 먼저, 본 실시예들의 이해를 돕기 위해 모바일 클라우드 컴퓨팅 플랫폼 및 위치 기반 서비스에 대해 간략히 설명하기로 한다.The embodiments are intended to illustrate techniques for protecting privacy by providing anonymity of a user when providing location-based services in a mobile cloud computing environment. First, a mobile cloud computing platform and a location-based service will be briefly described to facilitate understanding of the embodiments.

본 발명의 일실시예에 있어서, 프라이버시 보호 클라우드 컴퓨팅 플랫폼(Privacy Preserving Cloud Computing Platform: PPCCP)은 소프트웨어와 하드웨어 기능을 가질 수 있다. 위치 기반 서비스(LBS)를 이용하는 PPCCP는 인증되지 않은 클라우드 서버(untrusted cloud server)에 기반하며, 클라우드 서버와 이동 단말은 IMSI(International Mobile Station Identity)를 이용하여 악의적인 사용자 접근을 차단할 수 있다. 본 실시예들에서, 클라우드 서버는 이동 단말을 소지한 사용자가 위치 기반 서비스(LBS) 제공자에게 직접 노출되지 않도록 하는 중개자일 수 있다. 예를 들어, 사용자가 LBS 제공자에게 노출되지 않도록 아래의 보안 요건이 보장될 수 있다.In one embodiment of the invention, the Privacy Preserving Cloud Computing Platform (PPCCP) may have software and hardware capabilities. PPCCP using location based service (LBS) is based on untrusted cloud server, and cloud server and mobile terminal can block malicious user access by using International Mobile Station Identity (IMSI). In these embodiments, the cloud server may be an intermediary that prevents a user with a mobile terminal from being directly exposed to a location-based service (LBS) provider. For example, the following security requirements can be ensured so that users are not exposed to LBS providers.

(1) 프라이버시: 사용자가 위치 기반 서비스(LBS)를 제공받기 위해 수행하는 통신 단계 동안 해커 등의 공격자가 사용자의 위치를 알 수 없다.(One) Privacy: An attacker such as a hacker can not know the user's location during the communication phase that a user performs to receive a location-based service (LBS).

(2) 과도한 수집 방지: 서비스 제공자는 사용자의 위치 정보를 적정 범위만큼만 알 수 있다.(2) Prevention of excessive collection: The service provider can know only the appropriate range of user's location information.

(3) 인증: 서비스 제공자는 사용자의 위치가 정확한지 아닌지 확인할 수 있다.(3) Authentication: The service provider can check whether the user's location is correct or not.

(4) 위조 불가능성: 공격자는 사용자의 위치를 위조할 수 없다.(4) Unforgeability: An attacker can not forge a user's location.

(5) 재전송 공격 방지: 사용자의 위치 정보가 위치 기반 서비스를 위해 인증되고 사용될 때 위치 기반 서비스(LBS) 제공자는 사용자의 승인없이 사용자의 위치 정보를 재사용하지 않는다.
(5) Prevention of retransmission attacks: When a user's location information is authenticated and used for location-based services, the location-based service (LBS) provider does not reuse the user's location information without the user's approval.

위와 같은 보안 요건이 보장되도록 아래와 같이, 변경(Transformation), 개인 정보 검색(Private Information Retrieval), 클로킹/익명성 등이 이용될 수 있다.Transformation, Private Information Retrieval, Cloaking / Anonymity, etc. may be used to ensure that the above security requirements are ensured.

A. 변경(Transformation)A. Transformation

변경은 쿼리(query)를 안전한 방법으로 변경하여 서버가 사용자의 위치를 알아내지 못하게 하는 것으로, 암호화 프로토콜을 적용하는 기법 및 지리적 변경을 이용하는 기법이 존재한다. 전자는, 암호 프로토콜을 적용하여 강한 프라이버시를 제공하는 비공간적 변경으로서, 전산적, 통신적으로 많은 비용이 요구된다. 후자는, 지리적 변경을 통해 사용자의 위치를 책정하는 공간적 변경으로, 스케일링, 변형, 로테이션 등을 포함한다.The change is to change the query in a secure way so that the server does not know the location of the user. There is a technique to apply encryption protocol and a technique to use geographic change. The former is a non-spatial change that provides a strong privacy by applying a cryptographic protocol, which requires a great deal of computationally and telecommunication cost. The latter includes spatial changes that determine the location of the user through geographic changes, including scaling, transformation, rotation, and the like.

예를 들어, 스페이스 트위스트(Space Twist)라는 프레임워크(framework)는 인증되지 않은 LBS 서버를 구분하기 위해 이용된다. 스페이스 트위스트는, 앵커 포인트(anchor point)가 쿼리 포인트 근처에 있는 가짜 위치에서 멀어지는 거리에 따라 관심 지점(Points-Of-Interest: POI)의 위치를 점진적으로 요청 및 요청된 POI 정보를 수신한다. 앵커 포인트가 쿼리 포인트에 너무 가까이 선택된 경우, 종합적인 클로킹 영역을 생성하는데 어려움이 존재한다. 반면, 앵커 포인트가 너무 멀리 선택된 경우, 통신 비용 및 전산 처리 비용이 상당히 증가하게 된다.
For example, a framework called Space Twist is used to identify unauthenticated LBS servers. The space twist progressively requests the location of Points-Of-Interest (POI) according to the distance that the anchor point is away from the fake location near the query point, and receives the requested POI information. If the anchor point is selected too close to the query point, there is a difficulty in creating a comprehensive cloaking region. On the other hand, when the anchor point is selected too far, the communication cost and the computation cost are considerably increased.

B. 개인적 정보 검색(Private information Retrieval: PIR)B. Private Information Retrieval (PIR)

PIR은 사용자로 하여금 위치기반 서비스의 요청 노출없이 쿼리를 LBS 서버에 전송할 수 있게 한다. PIR의 경우, 공간적 쿼리를 지원하기 위한 프라이버시를 보장하지만, 하드웨어에 의존적이며, 보안 보조프로세서 공간이 제한적이고, 전산 처리가 복잡하며, 통신 비용이 증가한다.
The PIR allows a user to send a query to the LBS server without exposing the location-based service request. In the case of PIR, it guarantees privacy to support spatial queries, but it is hardware dependent, security coprocessor space is limited, computational complexity is increased, and communication cost is increased.

C. 클로킹(Cloaking)/익명성C. Cloaking / Anonymity

클로킹/익명성 기법은 K명의 사용자 그룹을 생성하여, K명사의 사용자들로부터 특정 사용자의 정확한 위치를 숨기거나 알기 어렵게 하는 것이다. K명의 사용자들은 클로킹 영역에서 실제로 존재할 수도 있고, 더미(dummies)일 수도 있다. 클로킹 영역의 생성은 클로킹이 어디서 이루어지느냐에 따라 집중형이 될 수도 있고, 분산형이 될 수도 있다.The cloaking / anonymity technique creates K user groups to hide or obscure the exact location of a particular user from users of K nouns. The K users may actually be in the cloaking region, or they may be dummies. Creation of the cloaking region may be concentrated or depending on where the cloaking takes place, or may be distributed.

집중형 클로킹(Centralized Cloacking)은 인증된 서버에 기반한다. 예를 들어, 인증된 서버는 사용자의 위치와 개인식별정보를 보호하기 위해 사용되는 서버로서, 인증된 위치 익명자일 수 있다. 위치 익명자를 사용자와 LBS 서버 사이에 두어, 사용자의 정확한 위치와 개인 정보가 공격자에게 제공되는 것들을 보호할 수 있다. 이처럼, 위치 익명자를 이용하는 경우, 위치 익명자는 모든 사용자의 위치와 개인 정보를 알고 있으므로, 신뢰할 수 있어야 한다. 만일, 위치 익명자가 고장 등의 이유로 제 기능을 발휘하지 못하는 경우, 사용자에게 제공되는 보안이 깨질 수 있다. 또한, 사용자가 위치 기반 서비스를 반복적으로 요청하는 경우, K 사용자들 가운데 특정 사용자가 노출될 수 있다. Centralized Cloacking is based on an authenticated server. For example, an authenticated server is a server used to protect a user's location and personally identifiable information, and may be an authenticated location anonymous person. Location Anonymity can be placed between the user and the LBS server to protect the user's precise location and personal information that is presented to the attacker. As such, when using the location anonymizer, the location anonymizer knows the location and personal information of all users, so it must be trustworthy. If the location anonymant fails to perform its function due to a failure or the like, the security provided to the user may be broken. In addition, when a user repeatedly requests a location-based service, a specific user among the K users can be exposed.

분산형 클로킹의 경우, 하나가 아닌 여러 쿼리를 위치 익명자에게 보냄에 따라 사용자의 위치와 이동 경로가 숨겨지나, 사용자가 전송하는 요청수가 많아짐에 따라 서버 반응 속도가 느려진다. 또한, LBS 공격으로 의심하여 사용자 요청을 무시하는 경우가 발생할 수 있다. 이처럼, 어떤 더미(dummies)가 선택되는지에 따라 사용자의 실제 정보가 쉽게 노출되거나 노출되지 않을 수 있다.In the case of distributed cloaking, the user's location and movement route are hidden by sending multiple non-single queries to the location anonymous, but the server response rate slows down as the number of requests sent by the user increases. In addition, it may happen that a user request is ignored by suspecting an LBS attack. As such, depending on which dummies are selected, the user's actual information may or may not be easily exposed.

협동적 클로킹은, 각 사용자가 주변의 사용자들과 K명의 사용자들을 찾아서 클로킹 지역을 생성한다. 주변에서 충분한 사용자를 찾을 수 없는 경우, 각 요청 수신자들은 K명의 사용자를 찾을 때까지 반복적으로 주변에 브로드캐스트를 수행함에 따라, 응답속도가 느려진다. Collaborative cloaking creates a cloaking region by finding each user and nearby users with K users. If not enough users are found in the vicinity, the response speed is slowed as each request recipient repeatedly broadcasts around until it finds K users.

이처럼, 클라우드 서버에 기반하여 이동 단말을 소지한 사용자의 익명성을 보장하려는 노력에도 불구하고, 위치 기반 서비스(LBS) 이용 시, 통신 위협 및 위치 프라이버시 위협이 존재할 수 있다. As described above, there is a threat of communication threat and location privacy when using a location-based service (LBS), despite efforts to secure anonymity of a user having a mobile terminal based on a cloud server.

통신 위협은, 위치 기반 서비스를 요청한 사용자의 익명성과 관련된 것으로서, 도청자나, LBS 제공자가 IP 주소의 메시지를 작성한 자의 신원을 결정할 수 없는 것을 뜻한다. 예를 들어, 통신 위협은, 사용자가 와이파이(WiFi)를 이용하여 위치 기반 서비스를 요청한 경우, 사용자의 IP를 이용하여 사용자의 실제 위치가 추적될 수 있음을 일컫는다.A communication threat is related to the anonymity of the user requesting the location-based service, which means that the eavesdropper or the LBS provider can not determine the identity of the person who created the message of the IP address. For example, a communication threat refers to the fact that, when a user requests a location-based service using WiFi, the actual location of the user can be tracked using the user's IP.

위치 프라이버시 위협은, 전송자의 익명성과 관련된 것으로서, 메시지 작성자에 대한 선지식을 가지거나, 관찰해서 얻은 위치 정보와의 연관성에 의해 기능을 제대로 발휘하기 어려울 수 있다. 예를 들어, 위치 프라이버시는 다음과 같은 3개의 카테고리로 구분될 수 있다. The location privacy threat may be related to the anonymity of the sender, and may be difficult to function properly due to the association with the location information obtained by observing the message creator. For example, location privacy can be divided into the following three categories.

첫째로, 제한적 공간 식별로서, 거주자 위치가 정확히 한 사람에게 속해 있음을 가정한다. 예를 들어 LBS 제공자가 어니스트(honest)하고, 프로세스와 메시지에 반응하는 경우로 가정하면, 전송받은 정보와 실세계의 정보를 기반으로 사용자 식별자를 결정할 수 있다. 만약, 공격자가 사용자의 위치 정보를 찾은 경우, 사용자의 실제 위치 장소를 찾을 수 있다. 그리고, 전화번호부를 이용하여 거주자를 쉽게 찾을 수 있다. 둘째로, 관찰 식별이다. 만일, 공격자가 한 위치에서 예전에 전송된 메시지를 알 수 있다고 가정하면, 발신자가 새로운 익명의 메시지를 보낼 때, 공격자는 발신자의 위치를 찾을 수 있고, 결국 그곳의 주인도 알 수 있다. 셋째로, 사용자에 대한 일련의 위치, 메시지와 연관된 위치 추적으로, 공격자는 사용자의 활동 기록을 알 수 있다.First, as a limited space identification, it is assumed that the resident location belongs to exactly one person. For example, assuming that the LBS provider is honest and responds to processes and messages, the user identifier can be determined based on the received information and the real world information. If the attacker finds the location information of the user, it can find the location of the user's actual location. And, it is easy to find a resident using the phone book. Second, it is observation identification. Assuming that an attacker can know a previously transmitted message from one location, when the sender sends a new anonymous message, the attacker can locate the sender and eventually find the owner there. Third, a set of locations for the user, location tracking associated with the message, allows the attacker to know the user's activity record.

이상의 통신 및 위치 프라이버시 위협 모델들에서, 사용자와 클라우드 서버 간의 인터넷 트래픽 또는 클라우드 서버와 LBS 제공자 사이의 트래픽을 모니터링하는 지역 도청자가 존재함을 추정할 수 있다. 그러나, 본 실시예들에서는, 트래픽이 주소를 숨기기 위해 프록시 웹사이트를 사용할지라도 모든 트레픽을 모니터링 할 수 있는 글로벌 도청자에 대해서는 생각지 않음을 가정한다. 또한 사용자의 이동 단말에 침투해 고객 측 어플리케이션과 그의 인터넷 연결을 해킹하는 공격자에 의해 사용되는 메케니즘은 고려하지 않는 것을 가정한다. 이외에, 트레이스 익명성을 막는 메케니즘의 활용에 대해서도 고려하지 않음을 가정한다. 예를 들어, 불필요한 익명성 요청과 특정 서비스를 매칭한다거나, 공격자에 의해 추적될 수 있는 어떤 특정 패턴의 특정지역 서비스 시퀀스를 요청하는 것과 같은 메케니즘, 그리고 악의적인 사용자가 플러딩(flooding) 시도에 의해 제안하는 모델을 공격할 수 있음을 가정한다.In the above communication and location privacy threat models, it can be assumed that there is a local eavesdropper monitoring the internet traffic between the user and the cloud server or the traffic between the cloud server and the LBS provider. However, in the present embodiments, it is assumed that the traffic does not think about a global eavesdropper capable of monitoring all traffic, even though it uses a proxy web site to hide the address. It also assumes that it does not take into account the mechanism used by an attacker to penetrate the user's mobile terminal and hack the customer's application and its Internet connection. In addition, we assume that we do not consider the use of mechanism to prevent trace anonymity. For example, mechanisms such as matching unnecessary anonymity requests with a particular service, requesting a specific local service sequence in a certain pattern that can be tracked by an attacker, and malicious users attempting to flood We assume that we can attack the proposed model.

이하에서는, 도면을 참조하여 프라이버시 보호 클라우드 서버를 기반으로 하는 컴퓨팅 플랫폼 시스템 및 그의 위치 기반 서비스 제공 방법에 대해 상세히 설명하기로 한다.Hereinafter, a computing platform system based on a privacy-protected cloud server and a method for providing a location-based service will be described in detail with reference to the drawings.

도 1은 본 발명의 일실시예에 있어서, 프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템의 개략적인 구조를 도시한 도면이다.1 is a diagram illustrating a schematic structure of a privacy-protected cloud-based computing platform system in an embodiment of the present invention.

도 1에 따르면, 프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템(100)은, 위치 기반 서비스를 요청하는 이동 단말(110), 이동 단말(110)을 검증하고, 검증된 이동 단말(110)에서 요청한 위치 기반 서비스를 LBS 서버(130)에 전송하는 클라우드 서버(120), 및 요청된 위치 기반 서비스에 해당하는 관심 지점(POI)을 전송하는 LBS 서버(130)를 포함할 수 있다.1, the privacy-protected cloud-based computing platform system 100 includes a mobile terminal 110 that requests location-based services, a mobile terminal 110 that verifies the location-based services requested by the verified mobile terminal 110, And a LBS server 130 for transmitting a POI corresponding to the requested location-based service.

여기서, 이동 단말(110)로는 스마트폰, 태블릿 PC 등이 이용될 수 있으며, 위치 기반 서비스와 관련된 웹/모바일 사이트의 접속 또는 서비스 전용 어플리케이션의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이동 단말(110)은 위치 기반 서비스를 제공 받기 위해 LBS 서버(130) 또는 클라우드 서버(120)에서 제공된 위치 기반 서비스 어플리케이션을 설치 및 실행할 수 있다. 그러면, 이동 단말(110)은 설치된 어플리케이션을 실행하여 위치 기반 서비스를 클라우드 서버(120)에 요청할 수 있다. 상기 어플리케이션은, 지역 식별자를 나타내는 소규모의 데이터베이스와 이동 단말을 소지한 사용자가 현재 위치한 지역을 찾기 위한 적은 양의 처리 루틴(routine)을 포함할 수 있다. 처리 루틴은, 클라우드 서버(120)가 지속적으로 사용자의 현재 위치를 인식하도록 하기 위한 것으로서, 일정 간격을 두고 주기적으로 서버의 인터넷 접속을 확인하는 데 이용될 수 있다. 클라우드 서버(120)의 요청에 기초하여, 상기 처리 루틴은, 오봇을 이용하여 이동 단말의 현재 위치를 클라우드 서버에 익명으로 전송할 수도 있다.Here, the mobile terminal 110 may be a smart phone, a tablet PC, or the like, and may refer to all terminals capable of accessing a web / mobile site related to a location-based service or installing and executing a service-dedicated application. The mobile terminal 110 can install and execute the location-based service application provided by the LBS server 130 or the cloud server 120 in order to receive the location-based service. Then, the mobile terminal 110 can execute the installed application and request the location-based service to the cloud server 120. The application may include a small database of area identifiers and a small amount of processing routines to locate the area where the user with the mobile terminal is currently located. The processing routine is for allowing the cloud server 120 to continuously recognize the current location of the user, and may be used to periodically check the Internet connection of the server at regular intervals. Based on the request of the cloud server 120, the processing routine may anonymously transmit the current location of the mobile terminal to the cloud server using the OBO.

클라우드 서버(120)는 이동 단말(110)과 위치 기반 서비스(LBS) 서버(130)를 연결하는 중개자일 수 있다. 위치 기반 서비스 제공 시, 클라우드 서버(120)를 이용함에 따라 프로세싱 파워, 신뢰성, 확장성을 포함한 클라우드가 제공하는 광속의 컴퓨팅 자재가 이용될 수 있다. The cloud server 120 may be an intermediary connecting the mobile terminal 110 and the location-based service (LBS) server 130. When the location-based service is provided, the cloud computing apparatus 120 may be used to utilize the computing resources of the cloud provided by the cloud including processing power, reliability, and scalability.

본 실시예들은, 클라우드 서버(120)가 고장, 오류 등으로 인해 제 기능을 발휘하지 않더라도 이동 단말(110)의 프라이버시를 보호하기 위한 구성들을 설명하기 위한 것이다. 이처럼, 이동 단말(110)의 프라이버시 보호를 위해, 본 실시예들에서 사용되는 모든 통신은 AES-126 비트(bit)암호화에 기반할 수 있다. 예를 들어, 위치 기반 서비스 요청을 위한 통신 시작 이전에, 이동 단말(110)과 클라우드 서버(120) 간에는 디피-헬만(Diffie-Hellman) 키 교환을 이용하여 암호화된 키들이 서로 공유될 수 있다. 예를 들어, 이동 단말(110)이 통신 개통, 또는 어플리케이션 설치 시에 클라우드 서버(120)와 상기 암호화된 키들을 서로 공유할 수 있다. 그러면, 위치 기반 서비스 요청 시, 클라우드 서버(120)는 상기 암호화된 키들을 이용하여 이동 단말(110)을 인증할 수 있다.The embodiments are for explaining configurations for protecting the privacy of the mobile terminal 110 even if the cloud server 120 does not perform its function due to failure, error, or the like. As such, in order to protect the privacy of the mobile terminal 110, all communications used in the present embodiments may be based on AES-126 bit encryption. For example, the keys encrypted using the Diffie-Hellman key exchange between the mobile terminal 110 and the cloud server 120 may be shared with each other before the start of communication for the location-based service request. For example, the mobile terminal 110 may share the encrypted keys with the cloud server 120 at the time of communication establishment or application installation. In response to the location-based service request, the cloud server 120 can authenticate the mobile terminal 110 using the encrypted keys.

이외에, 앞에서 언급한 통신 위협에 대한 보장을 제공하기 위해, 이동 단말(110)은 오봇(Orbot)을 이용하여 클라우드 서버(120)와 통신 연결을 수행할 수 있다. 여기서, 오봇은 안드로이드 기기들을 위한 구글 플레이에서 제공되는 무료 프록시 소프트웨어를 나타낼 수 있다. 오봇은, 인터넷 트래픽을 암호화함으로써, 인터넷을 안전하게 사용하는 토르(Tor)를 이용한다. 예를 들어, 이동 단말(110)은 오웹(Orweb)과 같이 오봇이 지원하는 웹브라우저를 설치하여 위치 기반 서비스를 요청하는 경우, 익명으로 클라우드(PPCCP) 서버(120)에 접근할 수 있다.In addition, the mobile terminal 110 may perform a communication connection with the cloud server 120 by using an Orbot in order to provide a guarantee against the communication threat mentioned above. Here, Obob can represent free proxy software provided by Google Play for Android devices. Obot uses Tor to securely use the Internet by encrypting Internet traffic. For example, when the mobile terminal 110 requests a location-based service by installing a web browser supported by Orb, such as Orweb, the mobile terminal 110 can access the cloud (PPCCP) server 120 anonymously.

그리고, 클라우드 서버(120)는 어떤 사용자(즉, 이동 단말)가 위치 기반 서비스를 요청했는지 확신할 수 없도록, LBS 서버(130)에 이동 단말(110)의 익명성을 보장하면서 위치 기반 서비스를 요청할 수 있다.Then, the cloud server 120 requests the LBS server 130 to provide location-based services while assuring the anonymity of the mobile terminal 110 so that it is not possible to confirm which user (i.e., mobile terminal) has requested the location-based service .

일례로, 이동 단말(110)의 익명성을 보장하기 위해, 클라우드 서버(120)는 세계의 지리적인 공간들을 클로킹 지역으로 구분할 수 있다. 전 세계가 2차원 그리드(grid)에 크기가 서로 다른 직사각형 모양의 지역들로 구성된다고 가정하면, 그 지역들 중 하나가 클로킹 지역으로 이용될 수 있다. 그리드에 포함되는 각 지역을 그리드 식별자를 이용하여 구분할 수 있다. 예를 들어, 도 2를 참조하면, 각 지역의 어느 하나의 모서리(왼쪽 위 모서리)의 GPS 좌표(201)가 해당 지역의 식별자로 설정될 수 있다. 도 2를 참조하면, 대한민국 지도를 클로킹 지역으로 구분한 경우, 지도 상에서 서로 다른 크기의 직사각형 지역들과 각 지역들의 식별자들로 그리드가 묘사될 수 있다. 여기서, 지도 상에서, 밀러 원기둥 투영법을 이용하여 다양한 크기의 지역들을 2차원 지도로 분할할 수 있다. 그리고, 분할된 각 지역 내 동일한 관심 지점(POI) 분포는 힐버트 공간 채움 곡선(Hilbert space-filling curve)을 이용하여 데이터베이스에 기구축될 수 있다.For example, in order to ensure the anonymity of the mobile terminal 110, the cloud server 120 may divide the geographic space of the world into cloaking regions. Assuming that the entire world is made up of rectangular shaped regions of different sizes on a two-dimensional grid, one of those regions can be used as a cloaking region. Each region included in the grid can be identified by using the grid identifier. For example, referring to FIG. 2, the GPS coordinates 201 of one corner (upper left corner) of each area may be set as an identifier of the corresponding area. Referring to FIG. 2, when the Korean map is divided into cloaking regions, the grid can be depicted by rectangular regions of different sizes on the map and identifiers of the regions. Here, on a map, regions of various sizes can be divided into two-dimensional maps using Miller Cylindrical projection. The same point of interest (POI) distribution in each of the divided regions can be constructed in the database using the Hilbert space-filling curve.

LBS 서버(130)는 독립적인 위치 기반 서비스 제공자로서, 관심 지점(POI) 데이터베이스를 기구축하여 관리 및 유지할 수 있다. POI 데이터베이스는 영역들에 대한 필드를 가지고 있으며, 영역 필드는 사용자 어플리케이션과 유사할 수 있다. 그리고, POI 데이터베이스는 지역 식별자 도표를 더 포함할 수 있다. 예를 들어, 클라우드 서버(120)로부터 지역 식별자와 지역 이름이 포함된 위치 기반 서비스가 요청된 경우, LBS 서버(130)는 POI 데이터베이스에서 특정한 지역에 요청된 서비스를 검색하고, 검색된 모든 POI를 텍스트(txt) 파일에 기록할 수 있다. 그리고, LBS 서버(130)는 텍스트 파일을 클라우드 서버(120)에 전송할 수 있다. 예를 들어, POI 데이터베이스에는 아래의 표 1과 같은 도표가 기구축되어 저장될 수 있다.LBS server 130 is an independent location-based service provider that can pre-build, manage, and maintain POI databases. The POI database has fields for areas, and the area field can be similar to a user application. And, the POI database may further include a region identifier table. For example, when a location-based service including a region identifier and a region name is requested from the cloud server 120, the LBS server 130 searches for a requested service in a specific region in the POI database, (txt) file. The LBS server 130 may transmit the text file to the cloud server 120. For example, the POI database can be pre-constructed and stored as shown in Table 1 below.

Region IDRegion ID Service NameService Name POI DetailPOI Detail 20142014 HospitalHospital KUMC, Ansan KUMC, Ansan

이하에서는 도 3 및 도 4를 참조하여, 클라우드 서버가 LBS 서버에 대해 이동 단말의 익명성을 보장하는 자세한 동작에 대해 설명하기로 한다.Hereinafter, with reference to FIG. 3 and FIG. 4, a detailed operation of assuring the anonymity of the mobile terminal with respect to the LBS server by the cloud server will be described.

도 3은 본 발명의 일실시예에 있어서, 클라우드 서버가 이동 단말의 익명성을 보장하면서 위치 기반 서비스를 제공하는 동작을 도시한 흐름도이고, 도 4는 본 발명의 일실시예에 있어서. 클라우드 서버의 세부 구성을 도시한 블록도이다. 도 3에서, 위치 기반 서비스를 제공하는 각 단계들(310 내지 350 단계)은 도 4의 서비스 처리부(410), 인증부(420), 관심 지점 수신부(430), 이동 단말 결정부(440), 및 관심 지점 제공부(450)에 의해 수행될 수 있다. FIG. 3 is a flowchart illustrating an operation of providing a location-based service while ensuring anonymity of a mobile terminal in an exemplary embodiment of the present invention, and FIG. And a detailed configuration of the cloud server. 3, each of the steps 310 to 350 of providing a location-based service includes the service processing unit 410, the authentication unit 420, the interest point receiving unit 430, the mobile terminal determination unit 440, And an interest point providing unit 450.

310 단계에서, 인증부(420)는 위치 기반 서비스를 요청한 이동 단말(401)을 인증할 수 있다. In step 310, the authentication unit 420 may authenticate the mobile terminal 401 requesting the location-based service.

예를 들어, 서비스 처리부(410)는 이동 단말(401)에 실행된 어플리케이션을 통해 이동 단말(401) 주변의 병원, 레스토랑, 버스 정류장 등의 위치 기반 서비스를 요청받을 수 있다. 이때, 이동 단말(401)은 디피-헬만(Diffie-Hellman) 키 교환을 이용하여 암호화된 공유키(Sk)를 이용하여 위치 기반 서비스를 요청하고자 하는 서비스 이름(Service) 및 지역 식별자를 암호화(Sk(Service||Region ID))하여 클라우드 서버(400)에 전송할 수 있다. 그러면, 인증부(420)는 이동 단말(401)을 인증하기 위해 이동 단말에 IMSI를 요청하고, IMSI를 이용하여 이동 단말에 대한 인증을 수행할 수 있다.For example, the service processing unit 410 can receive a location-based service such as a hospital, a restaurant, a bus stop, and the like around the mobile terminal 401 through an application executed by the mobile terminal 401. At this time, the mobile terminal 401 encrypts the service name and the area identifier for requesting the location-based service using the shared key S k encrypted using the Diffie-Hellman key exchange S k (Service || Region ID)) to the cloud server 400. Then, the authentication unit 420 requests the mobile terminal 401 to authenticate the mobile terminal 401, and authenticates the mobile terminal 401 using the IMSI.

320 단계에서, 이동 단말(401)의 인증이 성공한 경우, 서비스 처리부(410)는 LBS 서버(402) 위치 기반 서비스를 요청할 수 있다. 예를 들어, 서비스 처리부(410)는 복호화된 서비스 이름(Service) 및 지역 식별자(Region ID)를 LBS 서버(402)에 전송할 수 있다. 그러면, LBS 서버(402)는 요청된 위치 기반 서비스에 해당하는 모든 관심 지점들을 POI 데이터베이스에서 검색하여 클라우드 서버(400)로 전송할 수 있다.In step 320, when the authentication of the mobile terminal 401 is successful, the service processing unit 410 can request the LBS server 402 location-based service. For example, the service processing unit 410 may transmit the decoded service name (Service) and the region ID (Region ID) to the LBS server 402. Then, the LBS server 402 can search all the points of interest corresponding to the requested location-based service in the POI database and transmit it to the cloud server 400.

330단계에서, 관심 지점 수신부(430)는 LBS 서버(402)로부터 관심 지점을 수신하고 관심 지점 제공부(450)는 수신한 관심 지점을 이동 단말(401)에 전송할 수 있다.In step 330, the point of interest receiver 430 receives the point of interest from the LBS server 402 and the point of interest provider 450 can transmit the received point of interest to the mobile terminal 401.

340 단계에서, 이동 단말 결정부(440)는 위치 기반 서비스를 요청한 이동 단말의 익명성이 보장되도록 요청 단말 이외에 K개의 이동 단말을 결정할 수 있다. 예를 들어, 이동 단말 결정부(440)는 위치 기반 서비스가 요청된 지역에 위치하는 복수의 이동 단말들 중에서 기설정된 기준 개수(K)의 이동 단말들을 임의로 선택할 수 있다.In step 340, the mobile terminal determination unit 440 may determine K mobile terminals other than the request terminal so that the anonymity of the mobile terminal requesting the location-based service is guaranteed. For example, the mobile terminal determination unit 440 can arbitrarily select mobile terminals having a predetermined reference number K among a plurality of mobile terminals located in the requested area.

350 단계에서, 관심 지점 제공부(450)는 결정된 K개의 이동 단말 및 위치 기반 서비스를 요청한 이동 단말에 관심 지점을 전송할 수 있다. 즉, K+1개의 이동 단말들에 관심 지점이 제공될 수 있다.In step 350, the point of interest provider 450 may send a K point of interest to the determined K mobile terminals and the mobile terminal requesting the location based service. That is, K + 1 mobile terminals may be provided with points of interest.

이때, 위치 기반 서비스를 요청한 이동 단말은 관심 지점(POI)을 클라우드 서버(400)로부터 수신하여 병원 위치, 레스토랑 위치 등의 위치 기반 서비스를 제공받으나, 임의로 선택된 K개의 이동 단말들은 수신된 관심 지점(POI)을 폐기할 수 있다.At this time, the mobile terminal requesting the location-based service receives the POI from the cloud server 400 and provides location-based services such as a hospital location and a restaurant location. The K mobile terminals arbitrarily selected receive the POI (POIs) can be discarded.

이처럼, 위치 기반 서비스를 요청한 이동 단말 이외에 다수의 이동 단말들에 POI를 제공함에 따라, 위치 기반 서비스를 요청한 이동 단말의 위치가 LBS 서버, 또는 공격자가 알 수 없도록 이동 단말에 대한 익명성이 보장될 수 있다.By providing the POI to a plurality of mobile terminals in addition to the mobile terminal requesting the location-based service, the location of the mobile terminal requesting the location-based service is guaranteed to be anonymity for the LBS server or the mobile terminal so that the attacker can not know .

도 5는 본 발명의 일실시예에 있어서, 이동 단말의 프라이버시를 보호하면서 위치 기반 서비스를 제공하는 세부 동작을 도시한 흐름도이다. 도 5의 각 단계들(501 내지 514)는 도 4의 서비스 처리부(410), 인증부(420), 관심 지점 수신부(430), 이동 단말 결정부(440), 및 관심 지점 제공부(450)에 의해 수행될 수 있다. 도 4의 각 단계들을 설명함에 있어서, 도 3에서 설명한 내용과 중복되는 설명은 생략하기로 한다.5 is a flowchart illustrating a detailed operation for providing a location-based service while protecting the privacy of a mobile terminal in an embodiment of the present invention. Each of the steps 501 to 514 of FIG. 5 includes the service processing unit 410, the authentication unit 420, the interest point receiving unit 430, the mobile terminal determination unit 440, and the interest point providing unit 450, Lt; / RTI > In the following description of each step of FIG. 4, a description overlapping with that shown in FIG. 3 will be omitted.

501 단계에서 이동 단말(520)은 설치된 어플리케이션에서 제공하는 사용자 인터페이스를 통해 클라우드(PPCCP) 서버(530)에 위치 기반 서비스를 요청할 수 있다. In step 501, the mobile terminal 520 can request a location-based service to the cloud (PPCCP) server 530 through a user interface provided by the installed application.

위치 기반 서비스는, 이동 단말(520)과 클라우드 서버(530) 간에 기공유된 공유키(Sk)를 이용하여 암호화된 서비스 이름(Service) 및 지역 식별자(Region ID)를 포함할 수 있다.The location based service may include an encrypted service name and a region ID using the shared key S k shared between the mobile terminal 520 and the cloud server 530.

이때, 이동 단말(520)은 익명성 보장을 위해 오봇을 이용하여 클라우드 서버(530)에 위치 기반 서비스를 요청할 수 있다.At this time, the mobile terminal 520 can request a location-based service to the cloud server 530 using the ovot for ensuring anonymity.

502 단계에서, 서비스 처리부(410)는 위치 기반 서비스를 요청한 이동 단말을 인증하기 위해 이동 단말(520)에 IMSI를 요청할 수 있다. 클라우드 서버(530)는 이동 단말들을 인증하기 위해 기등록된 모든 사용자의 IMSI를 자신의 데이터베이스에 미리 저장하고 있을 수 있다.In step 502, the service processing unit 410 may request the IMSI from the mobile terminal 520 to authenticate the mobile terminal requesting the location-based service. The cloud server 530 may previously store the IMSI of all users previously registered in the database to authenticate the mobile terminals.

503 단계에서, IMSI 요청을 수신한 이동 단말(520)은, SHA-1 암호화 해시를 이용하여 자신의 IMSI를 암호화할 수 있다(SHA-1(IMSI)). 그리고, 이동 단말(520)은 암호화된 IMSI를 공유키(Sk)로 다시 암호화하여 클라우드 서버로 전송할 수 있다(Sk (SHA-1(IMSI))). 이처럼, IMSI 및 디피-헬만 암호화에 기초한 공유키를 이용하여 이동 단말과 클라우드 서버간의 통신이 수행되고, 오봇을 이용함에 따라, 클라우드 서버에 대한 이동 단말의 익명성이 보장될 뿐만 아니라, 클라우드 서버와 이동 단말 간의 통신을 도청하는 공격자로부터 이동 단말의 익명성이 보장될 수 있다.In step 503, the mobile terminal 520 receiving the IMSI request may encrypt its IMSI using the SHA-1 cryptographic hash (SHA-1 (IMSI)). The mobile terminal 520 may encrypt the encrypted IMSI with the shared key S k and transmit it to the cloud server S k (SHA-1 (IMSI)). Communication between the mobile terminal and the cloud server is performed using the shared key based on the IMSI and the Diffie-Hellman encryption. By using the obt, not only the anonymity of the mobile terminal with respect to the cloud server is guaranteed, The anonymity of the mobile terminal can be assured from an attacker who eavesdrops on communication between mobile terminals.

504 단계에서, 서비스 처리부(410)는 이동 단말의 IMSI를 수신할 수 있다. 그리고, 인증부(420)는 공유키 및 SHA-1 암호화 해시를 이용하여 상기 수신된 IMSI를 복호화하고, 복호화된 IMSI와 일치하는 IMSI를 자신의 데이터베이스에서 검색할 수 있다. 이때, 데이터베이스에 이동 단말(520)의 IMSI가 존재하는 경우, 인증부(420)는 이동 단말(520)을 성공적으로 인증할 수 있다.In step 504, the service processing unit 410 may receive the IMSI of the mobile terminal. The authentication unit 420 can decrypt the received IMSI using the shared key and the SHA-1 cryptographic hash, and retrieve the IMSI corresponding to the decrypted IMSI from its database. At this time, if the IMSI of the mobile terminal 520 exists in the database, the authentication unit 420 can successfully authenticate the mobile terminal 520.

505 단계에서, 이동 단말이 인증에 성공함에 따라, 서비스 처리부(410)는, LBS 서버(540)에 위치 기반 서비스를 요청할 수 있다. 예를 들어, 서비스 처리부(410)는 LBS 서버(540)에 복호화된 위치 기반 서비스에 포함된 서비스 이름(Service) 및 지역 식별자(Region ID)를 전송할 수 있다. 이때, 서비스 이름 및 지역 식별자는 LBS 서버(540)와 기공유된 공유키를 이용하여 암호화되어 LBS 서버(540)로 전송될 수 있다.In step 505, the service processor 410 may request the LBS server 540 for the location-based service according to the successful authentication of the mobile terminal. For example, the service processing unit 410 may transmit a service name and a region ID included in the location-based service decoded in the LBS server 540. At this time, the service name and the area identifier may be encrypted using the shared key shared with the LBS server 540 and transmitted to the LBS server 540.

이처럼, 클라우드 서버(530)는 이동 단말(520)에 대한 정보 없이 위치 기반 서비스만을 LBS 서버(540)에 요청함에 따라, LBS 서버(540)는 어떤 이동 단말이 위치 기반 서비스를 요청했는지 알 수 없다. 이에 따라, LBS 서버에 대한 이동 단말의 익명성이 보장되며, 클라우드 서버와 LBS 서버 간의 통신을 도청하는 공격자가 존재하더라도, 공격자 역시 어떤 이동 단말이 위치 기반 서비스를 요청했는지 알 수 없다.As described above, the cloud server 530 requests only the location-based service to the LBS server 540 without information on the mobile terminal 520, so that the LBS server 540 can not know which mobile terminal has requested the location-based service . Accordingly, the anonymity of the mobile terminal with respect to the LBS server is guaranteed, and even if there is an attacker who eavesdrops on communication between the cloud server and the LBS server, the attacker can not know which mobile terminal has requested the location-based service.

506 단계에서, LBS 서버는 POI 데이터베이스를 참조하여 상기 요청된 위치 기반 서비스에 속하는 지역의 모든 POI를 검색할 수 있다. 이때, LBS 서버(540)는 클라우드 서버(530)와 기공유된 공유키를 이용하여 수신된 서비스 이름 및 지역 식별자를 복호화하고, 복호화된 서비스 이름 및 지역 식별자를 POI 데이터베이스에서 검색할 수 있다.In step 506, the LBS server refers to the POI database to search for all POIs belonging to the requested location-based service. At this time, the LBS server 540 can decode the received service name and the area identifier using the shared key shared with the cloud server 530, and retrieve the decoded service name and the area identifier from the POI database.

예를 들어, A지역의 병원 검색 서비스가 요청된 경우, LBS 서버(540)는 POI 데이터베이스를 참조하여 요청된 지역 식별자(A 지역을 나타내는 ID)와 일치하는 지역에서 모든 병원(Service Name)을 관심 지점(POI)으로 검색할 수 있다. For example, if a hospital search service in region A is requested, the LBS server 540 refers to the POI database and searches all hospitals (Service Names) in the region matching the requested region identifier (ID representing area A) You can search by point (POI).

507 단계에서, LBS 서버(540)는 검색된 POI를 텍스트(txt) 파일에 기록할 수 있다.In step 507, the LBS server 540 may record the retrieved POI in a text (txt) file.

508 단계에서, LBS 서버(540)는 검색된 모든 POI들을 포함하는 텍스트 파일을 클라우드 서버(530)에 전송할 수 있다. 그러면, 관심 지점 수신부(430)는 LBS 서버(540)로부터 텍스트 파일을 수신할 수 있다.In step 508, the LBS server 540 may send a text file containing all of the retrieved POIs to the cloud server 530. Then, the point-of-interest receiver 430 can receive the text file from the LBS server 540. [

509 단계에서, 이동 단말 결정부(440)는 위치 기반 서비스를 요청한 이동 단말(520)의 위치 등이 노출되지 않도록, 임의의 이동 단말들을 결정할 수 있다.In step 509, the mobile terminal determination unit 440 may determine any of the mobile terminals so that the location of the mobile terminal 520 requesting the location-based service is not exposed.

예를 들어, 이동 단말 결정부(440)는 위치 기반 서비스가 요청된 A지역에 위치하는 복수의 이동 단말들 중에서 기설정된 기준 개수(K개)의 이동 단말들을 결정할 수 있다.For example, the mobile terminal determination unit 440 may determine a predetermined number (K) of mobile terminals among the plurality of mobile terminals located in the requested area A based on the location-based service.

510 단계에서, 이동 단말 결정부(440)는 결정된 K개의 이동 단말들(550)에 임시값을 전송할 수 있다. 이때, 이동 단말 결정부(440)는 K개의 이동 단말들(550)뿐만 아니라, 위치 기반 서비스를 요청한 이동 단말(520)에도 임시값을 전송할 수 있다. 여기서, 임시값은, K+1개의 이동 단말들의 현재 위치를 전송받기 위해 이용되는 정보값일 수 있다.In operation 510, the mobile terminal determination unit 440 may transmit temporary values to the determined K mobile terminals 550. At this time, the mobile terminal determination unit 440 may transmit temporary values not only to the K mobile terminals 550 but also to the mobile terminal 520 requesting the location based service. Here, the temporary value may be an information value used for receiving the current location of K + 1 mobile stations.

예를 들어, 이동 단말 결정부(440)는 위치 기반 서비스를 제공하는 어플리케이션을 설치한 K개의 이동 단말들을 결정할 수 있다. 그리고, 각 설치된 어플리케이션을 통해 임시값이 이동 단말들에 전송될 수 있다. For example, the mobile terminal determination unit 440 can determine K mobile terminals installed with applications providing location based services. Then, temporary values can be transmitted to the mobile stations through each installed application.

511 단계에서, 임시값을 수신한 K+1개의 이동 단말들은 설치된 어플리케이션을 통해 자신의 현재 위치를 클라우드 서버(530)로 전송할 수 있다. 예를 들어, 상기 설치된 어플리케이션은 각 단말의 현재 위치를 찾아 클라우드 서버(530)로 전송할 수 있다. 여기서, 현재 위치는, K+1개의 이동 단말들 각각의 GPS 위치 좌표를 포함할 수 있다.In step 511, the K + 1 mobile terminals receiving the provisional value may transmit their current location to the cloud server 530 through the installed application. For example, the installed application can find the current location of each terminal and transmit it to the cloud server 530. Here, the current position may include the GPS position coordinates of each of K + 1 mobile terminals.

512 단계에서, 관심 지점 제공부(450)는 수신된 각 이동 단말의 현재 위치와 텍스트 파일에 포함된 POI에 기초하여 각 이동 단말에 가장 가까운 POI를 단말 별로 결정할 수 있다.In step 512, the point of interest provider 450 may determine the POI closest to each mobile terminal on a per-mobile-terminal basis, based on the current location of each mobile terminal received and the POI included in the text file.

예를 들어, 관심 지점 제공부(450)는 유클리디안 디스턴스(Euclidean distance)를 이용하여 각 단말의 현재 위치로부터 가장 가까운 지점에 위치하는 POI를 결정할 수 있다.For example, the point of interest provider 450 may determine the POI located closest to the current location of each terminal using the Euclidean distance.

513 단계에서, 관심 지점 제공부(450)는 각 단말 별로 결정된 POI를 해당 이동 단말에 각각 전송할 수 있다.In step 513, the point of interest provider 450 may transmit the POI determined for each terminal to the corresponding mobile terminal.

예를 들어, 관심 지점 제공부(450)는 위치 기반 서비스를 요청한 이동 단말(520)로부터 가장 가까운 병원 정보를 이동 단말(520)에 전송하고, K개의 이동 단말들 중 단말 1부터 가장 가까운 병원 정보를 단말 1로 전송, 동일한 방법으로, 단말 2부터 단말 K 별로 가장 가까운 병원 정보를 단말 2내지 단말 K 각각에 전송할 수 있다.For example, the interest point providing unit 450 transmits the nearest hospital information from the mobile terminal 520 requesting the location-based service to the mobile terminal 520 and transmits the nearest hospital information from the terminal 1 To the terminal 1, and in the same way, the hospital information closest to the terminal 2 to the terminal K can be transmitted to the terminal 2 to the terminal K, respectively.

514 단계에서, K+1개의 이동 단말들은 관심 지점을 수신할 수 있다.In step 514, K + 1 mobile terminals can receive the point of interest.

이때, 위치 기반 서비스를 요청한 이동 단말(520)는 자신이 요청한 근처 병원 정보를 제공 받을 수 있으며, 위치 기반 서비스를 요청하지 않은 나머지 더미(dummies)의 K개의 이동 단말들은 수신된 POI를 폐기할 수 있다. At this time, the mobile terminal 520 requesting the location-based service can receive the nearby hospital information requested by itself, and the K mobile terminals of the remaining dummies that have not requested the location-based service can discard the received POI have.

이처럼, 위치 기반 서비스를 요청한 어느 하나의 단말이 아닌 K+1개의 이동 단말들 모두에 POI를 제공함에 따라 이동 단말의 프라이버시가 보장될 수 있다.As described above, the privacy of the mobile terminal can be guaranteed by providing the POI to all of the K + 1 mobile terminals other than the one terminal requesting the location based service.

이에 따라, 이동 단말의 프라이버시를 강화하고자 하는 경우, K의 개수가 증가하도록 기설정될 수 있다. 예를 들어, 프라이버시를 강화하기 위해 증가되는 비율에 비례하도록 기준 개수(K)가 증가될 수 있다.Accordingly, when the privacy of the mobile terminal is to be enhanced, the number of K can be increased. For example, the reference number K may be increased to be proportional to the rate of increase to enhance privacy.

이상의 도 5에서는, K개의 이동 단말을 결정하고, K+1개의 이동 단말들에 임시값 전송 및 현재 위치를 수신하는 509 내지 511 단계가 POI를 포함하는 텍스트 파일을 수신한 508 단계 이후에 수행되는 것으로 설명하였으나, 이는 실시예에 해당되며, 이동 단말 결정부(440)는 텍스트 파일을 수신하기 이전에 상기 509 내지 511 단계를 모두 수행할 수도 있고, 클라우드 서버(530)는 상기 509 내지 511 단계를 수행하는 중에 텍스트 파일을 LBS 서버로부터 수신할 수도 있다.5, the K mobile terminals are determined, and steps 509 through 511 for receiving the temporary value transmission and the current position to the K + 1 mobile terminals are performed after step 508 in which the text file including the POI is received The mobile terminal determination unit 440 may perform all the steps 509 through 511 before receiving the text file, and the cloud server 530 may perform steps 509 through 511 as described above. A text file may be received from the LBS server during execution.

예를 들어, 클라우드 서버(530)는 텍스트 파일을 수신할 때까지 기다리지 않고 LBS 서버(540)로 위치 기반 서비스를 요청한 이후에 바로 K개의 이동 단말들을 결정하고, 임시값을 전송하고, 현재 위치를 수신하는 509 내지 511 단계의 동작들을 수행할 수 있다. 그리고, 클라우드 서버(530)에서 상기 509 내지 511 단계의 동작들이 수행되는 동안 LBS 서버(540)는 POI 데이터베이스에서 POI를 검색하여 텍스트 파일을 생성하여 클라우드 서버에 전송할 수 있다. 이에 따라, 클라우드 서버(530)는 상기 509 내지 511 단계의 동작들이 수행되는 동안 텍스트 파일을 수신할 수도 있고, 수행이 완료된 이후에 텍스트 파일을 수신할 수도 있다.For example, after the cloud server 530 has requested the location-based service to the LBS server 540 without waiting for the text file to be received, it immediately determines K mobile terminals, transmits a temporary value, It is possible to perform the operations of steps 509 to 511 for receiving. While the operations of steps 509 to 511 are performed in the cloud server 530, the LBS server 540 may search POIs in the POI database to generate a text file and transmit the text file to the cloud server. Accordingly, the cloud server 530 may receive the text file while the operations of steps 509 to 511 are performed, or may receive the text file after the execution is completed.

또한, 이상에서 설명한 바와 같이, 클라우드 서버는, SHA-1 암호 해시를 이용하여 이동 단말이 악의적인 공격자에 노출되지 않도록 할 수 있다. 클라우드 서버는 자신의 데이터베이스에 SHA-1 해시로 암호화된 IMSI를 등록한 이후, 이동 단말로부터 위치 기반 서비스가 요청된 경우, 클라우드 서버는, 새로운 사용자의 해시를 자신의 데이터베이스에 저장할 수 있다. 클라우드 서버는 LBS 서버에 POI 파일을 요청하기 위해 인터페이스를 이용하는 데, 상기 인터페이스는 컴퓨팅 모듈을 통해 제공될 수 있다. 즉, 컴퓨팅 모듈을 통해 POI 요청 및 모든 POI가 기록된 텍스트 파일이 클라우드 서버와 LBS 서버 간에 수신될 수 있다.In addition, as described above, the cloud server can prevent the mobile terminal from being exposed to a malicious attacker using the SHA-1 cipher hash. After the cloud server has registered the IMSI encrypted with the SHA-1 hash into its database, the cloud server may store the hash of the new user in its database if the location based service is requested from the mobile terminal. The cloud server uses an interface to request a POI file to the LBS server, which interface may be provided through a computing module. That is, a text file in which a POI request and all POIs are recorded through the computing module can be received between the cloud server and the LBS server.

이처럼, IMSI를 이용함에 따라, 악의적인 공격자가 일정 시간 간격으로 계속해서 다수의 위치 기반 서비스를 클라우드 서버에 요청하더라도, 예를 들어, 서비스 거부(Denial of Service: DoS) 공격을 하더라도, 클라우드 서버는 공격자의 위협을 파악할 수 있다. 예를 들어, 클라우드 서버는 일정 시간 t동안 동일한 이동 단말에서 요청된 n개의 서비스와 임계값을 이용하여 공격자의 위협을 파악할 수 있다(t/n<ξ). DOS 공격이 탐지된 경우, 클라우드 서버는, 공격자와의 통신을 차단할 수 있다.Thus, even if a malicious attacker continuously requests a plurality of location-based services to the cloud server by using the IMSI, for example, even if a denial of service (DoS) attack occurs, Identify the attacker's threats. For example, the cloud server can detect an attacker's threat by using n services and threshold values requested from the same mobile terminal for a predetermined time t (t / n <ξ). If a DOS attack is detected, the cloud server can block communication with the attacker.

또한, 오봇을 이용하여 클라우드 서버와 이동 단말이 통신을 수행함에 따라, 패킷 안에 있는 OP가 이동 단말에 속한 것이 아니므로 클라우드 서버는 이동 단말의 정확한 위치를 파악할 수 없다. Also, since the cloud server and the mobile terminal perform communication using the OBOT, the OP in the packet does not belong to the mobile terminal, so that the cloud server can not grasp the exact location of the mobile terminal.

또한, K개의 이동 단말을 증가시켜 프라이버시 강화할 수 있는 바와 같이, 프라이버시와 컴퓨팅 비용 사이에는 트레이드 오프 관계가 존재한다. 예를 들어, 프라이버시가 강화될수록 K가 증가하나, K가 증가할수록 각 K개의 이동 단말 별로 계산되어야 할 POI가 증가할 수 있다. 즉, POI 계산을 위한 프로세스 시간이 증가할 수 있다. 이에 따라, 기준 개수 K는 프라이버시 및 프로세스 시간을 고려하여 적절한 값으로 기설정될 수 있다. 반대로, K를 감소시킨 경우, 프로세스 시간이 단축될 수 있다. In addition, there is a trade-off relationship between privacy and computing costs, as can be increased privacy by increasing K mobile terminals. For example, as privacy increases, K increases, but as K increases, the POI to be calculated for each K mobile terminals may increase. That is, the process time for POI calculation may increase. Accordingly, the reference number K can be set to an appropriate value in consideration of the privacy and the process time. Conversely, if K is reduced, the process time can be shortened.

이하에서는, 지금까지 설명한 프라이버시 보호 클라우드 서버(PPCCP) 기반의 위치 기반 서비스 제공 방법이 제공하는 사용자의 익명성을 얼마나 보호하는지에 대해 아래의 다양한 시나리오를 참조하여 설명하기로 한다.Hereinafter, how to protect the anonymity of the user provided by the location-based service providing method based on the privacy protection cloud server (PPCCP) described above will be described with reference to various scenarios as below.

시나리오 1: 이동 단말에서 클라우드 서버와의 통신이 더 이상 안전하지 않은 경우,Scenario 1: If communication with the cloud server in the mobile terminal is no longer secure,

도 6과 같이, 도청자 또는 공격자가 오봇(Orbot) 프록시 메케니즘을 중단시킨 경우, 도청자 또는 공격자는 AES-128비트 암호 메세지를 수신할 수 있다. 키(key)들이 기능을 잃었을지라도 도청자 또는 공겨자는 상기 메커니즘을 완벽히 중단시켰을 때 이동 단말(또는 사용자)가 클라우드 서버에 보낸 첫번째 메세지를 얻는 정도의 이익만 있을 것이다. 왜냐하면, 이동 단말과 클라우드 서버가 주고 받은 정보는 서비스 이름과 사용자의 IP를 포함하기 때문이다. 그리고, 도청자가 다른 메세지를 해석한다고 할지라도, 도청자는 가장 가까운 POI의 해시만을 얻을 수 있을 뿐이며, 이것으로는 어떤 이동 단말이 서비스를 요청했는지 알 수 없다.
As shown in FIG. 6, when an eavesdropper or an attacker interrupts the Orbot proxy mechanism, an eavesdropper or an attacker may receive an AES-128 bit cipher message. Even if the keys have lost their function, the eavesdropper or beneficiary will only benefit from getting the first message sent by the mobile terminal (or user) to the cloud server when the mechanism is completely stopped. This is because the information exchanged between the mobile terminal and the cloud server includes the service name and the user's IP. And even if the eavesdropper interprets another message, the eavesdropper can only get the hash of the nearest POI, which does not know which mobile terminal has requested the service.

시나리오 2: 클라우드(PPCCP) 서버에서 LBS 서버와의 보안 통신이 단절된 경우,Scenario 2: If the cloud (PPCCP) server is disconnected from the LBS server for secure communication,

도 7과 같이, 클라우드 서버와 LBS 서버 사이의 모든 메시지들 역시 암호화될 수 있다. 이때, 도청자 또는 공격자에게 키가 노출된 경우, 도청자 또는 공격자는 서비스 이름, 지역 식별자, POI 리스트를 포함한 텍스트 파일만을 획득할 수 있을 뿐, 이동 단말을 알 수 없다. 이에 따라, 이동 단말의 프라이버시가 보호되어, 도청자 또는 공격자는 상기 획득한 텍스트 파일만으로는 이동 단말을 공격할 수 없다. 또한, 이러한 클라우드 서버와 LBS 서버의 관계는 쿼리(query)를 이용하여 부가적인 정보를 얻으려는 호기심을 가진 세미-어니스트(semi-honest) 사용자들로부터 이동 단말의 프라이버시를 보호할 수 있다.
As shown in FIG. 7, all messages between the cloud server and the LBS server can also be encrypted. At this time, when the key is exposed to the eavesdropper or the attacker, the eavesdropper or the attacker can only obtain the text file including the service name, the area identifier, and the POI list, and can not know the mobile terminal. Accordingly, the privacy of the mobile terminal is protected, so that the eavesdropper or the attacker can not attack the mobile terminal only with the obtained text file. In addition, the relationship between the cloud server and the LBS server can protect the privacy of the mobile terminal from semi-honest users who are curious to obtain additional information using a query.

시나리오 3: 고장, 오류 등으로 인해 클라우드 서버가 제 기능을 하지 않는 경우,Scenario 3: If the cloud server is not functioning due to failure, error, etc.,

클라우드 서버는 이동 단말의 IMSI, 지역 식별 데이터베이스의 해시만을 가지고 있으므로, 도청자 또는 공격자가 제 기능을 잃은 클라우드 서버를 이용하여 이동 단말을 공격할 수 있는 어떠한 여지도 존재하지 않는다. 이는 다른 K명의 익명성 기반 접근법들이 사용자의 활동과 함께 완전한 자료를 가지고 있어야 하는 것을 고려해 볼 때 상당히 중요하다. 도 8과 같이, 본 실시예에 따른 클라우드 서버는 위치 기반 서비스를 위해 쿼리하는 이동 단말에 대한 어떠한 유용한 정보도 공격자에게 제공하지 않는다. 더욱이, 클라우드 서버는, 프로토콜에 있는 다른 K명의 이동 단말들에 대한 어떤 유용한 정보도 공격자에게 제공하지 않는다.
Since the cloud server has only the hash of the IMSI of the mobile terminal and the hash of the area identification database, there is no room for the eavesdropper or the attacker to attack the mobile terminal using the cloud server that has lost the function. This is important when considering that the anonymity-based approaches of the other K must have complete data with the user's activities. As shown in FIG. 8, the cloud server according to the present embodiment does not provide any useful information to the attacker for the mobile terminal querying for location-based services. Moreover, the cloud server does not provide any useful information to the attacker for the other K mobile terminals in the protocol.

시나리오 4: 클라우드 서버 자체가 악성인 경우,Scenario 4: If the cloud server itself is malicious,

클라우드(PPCCP) 서버는 LBS 제공자와 이동 단말 상이의 중개자이나, 클라우드 서버가 신뢰할 만한 제3자가 아닐 수도 있다. 이에 따라 클라우드 서버는 이동 단말의 IMSI와 일반적인 지역 식별 데이타베이스만 가지고 있을 뿐이다. 그리고, 클라우드(PPCCP) 서버와 연결된 각 이동 단말들은 오봇(Orbot)을 사용하여 클라우드 서버와 통신함에 따라, 클라우드 서버는 서비스를 요청한 이동 단말들의 실제 IP를 알 수 없다. 그리고, 클라우드 서버가 마지막에 취득하는 유일한 정보는 K개의 이동 단말들의 현재 위치들인데, 이것만으로 특정 위치를 특정 사용자와 연결 짓는 것은 불가능하다. 그리고, 도 9와 같이, 클라우드 서버는 각 이동 단말의 현재 위치로부터 가장 가까운 POI만을 산출하기 때문에, 서비스를 요청한 이동 단말을 공격할 수 없다.The cloud (PPCCP) server may not be an intermediary between the LBS provider and the mobile terminal, or a trusted third party of the cloud server. Accordingly, the cloud server has only the IMSI of the mobile terminal and a general region identification database. Also, as each mobile terminal connected to the cloud (PPCCP) server communicates with the cloud server using Orbot, the cloud server can not know the actual IP of the mobile terminals requesting the service. The only information that the cloud server obtains last is the current locations of the K mobile terminals, which makes it impossible to link a specific location with a specific user. As shown in FIG. 9, since the cloud server calculates only the POI closest to the current location of each mobile terminal, it can not attack the mobile terminal requesting the service.

이상에서 설명된 시스템은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템 및 시스템의 구성요소들은, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system described above may be implemented with hardware components, software components, and / or a combination of hardware components and software components. For example, the components of the system and system described in the embodiments may be, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array ), A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

프라이버시 보호 클라우드 서버에서 수행되는 위치 기반 서비스 제공 방법에 있어서,
이동 단말로부터 위치 기반 서비스를 요청받는 단계;
상기 위치 기반 서비스를 위치 기반 서비스(LBS) 서버에 요청하는 단계;
상기 위치 기반 서비스 서버로부터 상기 위치 기반 서비스가 요청된 지역에 해당하는 모든 관심 지점(POI)을 수신하는 단계;
상기 위치 기반 서비스가 속하는 지역에 위치한 이동 단말들을 대상으로, 기설정된 기준 개수의 이동 단말들을 결정하는 단계; 및
상기 위치 기반 서비스를 요청한 단말 및 상기 기준 개수의 이동 단말들 각각에 관심 지점을 제공하는 단계
를 포함하는 것을 특징으로 위치 기반 서비스 제공 방법.
A method of providing location-based services performed on a privacy protected cloud server,
Receiving a location-based service from a mobile terminal;
Requesting the location-based service to a location-based service (LBS) server;
Receiving all points of interest (POIs) corresponding to the requested area from the location-based service server;
Determining a predetermined number of mobile terminals for mobile terminals located in an area to which the location-based service belongs; And
Providing a point of interest to each of the terminal requesting the location-based service and the reference number of mobile terminals
The method comprising the steps of:
제1항에 있어서,
상기 관심 지점을 제공하는 단계는,
상기 기준 개수의 이동 단말들 각각의 현재 위치, 상기 위치 기반 서비스를 요청한 단말의 현재 위치에 기초하여 위치 기반 서비스 서버에로부터 수신된 관심 지점들 중 각 이동 단말로부터 가장 가까운 관심 지점을 결정하는 단계; 및
결정된 관심 지점을 각 이동 단말에 제공하는 단계
를 포함하는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
The method according to claim 1,
Wherein providing the point of interest comprises:
Determining a closest point of interest from each mobile terminal among the points of interest received from the location based service server based on the current location of each of the reference number of mobile terminals and the current location of the terminal requesting the location based service; And
Providing a determined point of interest to each mobile terminal
Wherein the location-based service providing method comprises:
제2항에 있어서,
상기 가장 가까운 관심 지점을 결정하는 단계는,
유클리디안 거리(Euclidian distance)에 기초하여 각 이동 단말의 현재 위치로부터 가장 가까운 지점에 위치하는 관심 지점(POI)을 결정하는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
3. The method of claim 2,
Wherein determining the closest point of interest comprises:
Wherein the point of interest (POI) located closest to the current location of each mobile terminal is determined based on the Euclidian distance.
제1항에 있어서,
상기 위치 기반 서비스를 요청한 이동 단말을 인증하는 단계
를 더 포함하는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
The method according to claim 1,
Authenticating the mobile terminal requesting the location-based service
Further comprising the step of:
제4항에 있어서,
상기 이동 단말을 인증하는 단계는,
상기 이동 단말에 기부여된 국제이동국식별번호(International Mobile Station Identity: IMSI) 해시를 요청하는 단계; 및
상기 이동 단말로부터 수신된 IMSI 해시가 데이터베이스에 기등록되어 있는지 여부를 확인하여 상기 이동 단말을 인증하는 단계
를 포함하는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
5. The method of claim 4,
The step of authenticating the mobile terminal comprises:
Requesting an International Mobile Station Identity (IMSI) hash granted to the mobile terminal; And
Authenticating the mobile terminal by checking whether the IMSI hash received from the mobile terminal is already registered in the database
Wherein the location-based service providing method comprises:
제4항에 있어서,
상기 이동 단말을 인증하는 단계는,
SHA-1 암호화를 이용하여 상기 이동 단말을 인증하는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
5. The method of claim 4,
The step of authenticating the mobile terminal comprises:
Wherein the mobile terminal is authenticated using SHA-1 encryption.
제1항에 있어서,
상기 기준 개수는,
이동 단말의 프라이버시를 강화하고자 하는 경우, 강화하고자 하는 프라이버시 비율에 비례하여 증가하도록 기설정되는 것을 특징으로 하는 위치 기반 서비스 제공 방법.
The method according to claim 1,
The reference number may be,
Wherein when the privacy of the mobile terminal is to be enhanced, the privacy ratio is increased in proportion to a privacy ratio to be enhanced.
제1항에 있어서,
상기 이동 단말은,
상기 위치 기반 서비스를 요청하지 않은 경우, 상기 프라이버시 보호 클라우드 서버로부터 수신된 관심 지점을 폐기하는 것을 특징으로 하는 프라이버시 보호 클라우드 기반 위치 기반 서비스 제공 방법.
The method according to claim 1,
The mobile terminal,
And if the location-based service is not requested, discarding the point-of-interest received from the privacy-protected cloud server.
이동 단말로부터 위치 기반 서비스를 요청받고, 상기 위치 기반 서비스를 위치 기반 서비스(LBS) 서버에 요청하는 서비스 처리부;
상기 위치 기반 서비스 서버로부터 상기 위치 기반 서비스가 요청된 지역에 해당하는 모든 관심 지점(POI)을 수신하는 관심 지점 수신부;
상기 위치 기반 서비스가 속하는 지역에 위치한 이동 단말들을 대상으로, 기설정된 기준 개수의 이동 단말들을 결정하는 이동 단말 결정부; 및
상기 위치 기반 서비스를 요청한 단말 및 상기 기준 개수의 이동 단말들 각각에 관심 지점을 제공하는 관심 지점 제공부
를 포함하는 것을 특징으로 프라이버시 보호 클라우드 서버.
A service processor for receiving a location-based service from a mobile terminal and requesting the location-based service from a location-based service (LBS) server;
A point of interest receiver for receiving all points of interest (POIs) corresponding to the requested area from the location-based service server;
A mobile terminal determining unit for determining a predetermined number of mobile terminals located in an area to which the location-based service belongs; And
Based service providing terminal and the reference number of mobile terminals,
Wherein the privacy protection server comprises:
오봇(Orbot)을 이용하여 익명으로 위치 기반 서비스를 클라우드 서버에 요청하는 이동 단말;
상기 위치 기반 서비스를 요청한 이동 단말의 프라이버시가 보호되도록 상기 이동 단말 및 기설정된 기준 개수의 이동 단말들에게 관심 지점(POI)을 제공하는 클라우드 서버; 및
상기 클라우드 서버에서 요청된 위치 기반 서비스가 속하는 지역에 해당하는 모든 관심 지점(POI)을 검색하고, 검색된 관심 지점이 기록된 파일을 상기 클라우드 서버에 제공하는 위치 기반 서비스 서버
를 포함하는 것을 특징으로 하는 프라이버시 보호 클라우드 기반 컴퓨팅 플랫폼 시스템.

A mobile terminal for anonymously requesting a location server based on an orbot to a cloud server;
A cloud server for providing a POI to the mobile terminal and a predetermined reference number of mobile terminals so that the privacy of the mobile terminal requesting the location based service is protected; And
Based service server that searches for all points of interest (POIs) corresponding to the area to which the location-based service requested by the cloud server belongs, and provides the recorded file with the recorded interest point to the cloud server,
Based cloud computing platform system. &Lt; RTI ID = 0.0 &gt; A &lt; / RTI &gt;

KR1020140176075A 2014-12-09 2014-12-09 Cloud based computing platform system for preserving privacy and method for providing location based service KR101648641B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140176075A KR101648641B1 (en) 2014-12-09 2014-12-09 Cloud based computing platform system for preserving privacy and method for providing location based service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140176075A KR101648641B1 (en) 2014-12-09 2014-12-09 Cloud based computing platform system for preserving privacy and method for providing location based service

Publications (2)

Publication Number Publication Date
KR20160070286A true KR20160070286A (en) 2016-06-20
KR101648641B1 KR101648641B1 (en) 2016-08-17

Family

ID=56354144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140176075A KR101648641B1 (en) 2014-12-09 2014-12-09 Cloud based computing platform system for preserving privacy and method for providing location based service

Country Status (1)

Country Link
KR (1) KR101648641B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200053000A (en) * 2018-10-26 2020-05-18 서울여자대학교 산학협력단 Cloud server and method of managing image file
CN112887973A (en) * 2021-01-19 2021-06-01 河南科技大学 Social networking location privacy protection method based on double k-anonymity
CN113407867A (en) * 2020-03-17 2021-09-17 赫尔环球有限公司 Method and apparatus for federated location fingerprinting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120103693A (en) * 2009-12-09 2012-09-19 퀄컴 인코포레이티드 Hierarchical information dissemination for location based systems
KR20120127523A (en) * 2008-05-27 2012-11-21 퀄컴 인코포레이티드 Method and apparatus for aggregating and presenting data associated with geographic locations
KR20140028935A (en) * 2012-08-31 2014-03-10 전북대학교산학협력단 K-nearest neighbour query processing method and system
KR20140133861A (en) * 2012-03-24 2014-11-20 인텔 코오퍼레이션 Location-based application recommendation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120127523A (en) * 2008-05-27 2012-11-21 퀄컴 인코포레이티드 Method and apparatus for aggregating and presenting data associated with geographic locations
KR20120103693A (en) * 2009-12-09 2012-09-19 퀄컴 인코포레이티드 Hierarchical information dissemination for location based systems
KR20140133861A (en) * 2012-03-24 2014-11-20 인텔 코오퍼레이션 Location-based application recommendation
KR20140028935A (en) * 2012-08-31 2014-03-10 전북대학교산학협력단 K-nearest neighbour query processing method and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200053000A (en) * 2018-10-26 2020-05-18 서울여자대학교 산학협력단 Cloud server and method of managing image file
CN113407867A (en) * 2020-03-17 2021-09-17 赫尔环球有限公司 Method and apparatus for federated location fingerprinting
CN112887973A (en) * 2021-01-19 2021-06-01 河南科技大学 Social networking location privacy protection method based on double k-anonymity

Also Published As

Publication number Publication date
KR101648641B1 (en) 2016-08-17

Similar Documents

Publication Publication Date Title
CN112260995B (en) Access authentication method, device and server
Schlegel et al. User-defined privacy grid system for continuous location-based services
US10298576B2 (en) Network-based client side encryption
Dürr et al. Position sharing for location privacy in non-trusted systems
US20140007215A1 (en) Mobile applications platform
CN110678770A (en) Location information verification
JP6207528B2 (en) Secure routing based on reliability
Jeong et al. An efficient authentication system of smart device using multi factors in mobile cloud service architecture
US10764294B1 (en) Data exfiltration control
Esposito et al. On data sovereignty in cloud-based computation offloading for smart cities applications
JP2016516341A (en) Secure routing based on the physical location of the router
CN113556230B (en) Data security transmission method, certificate related method, server, system and medium
Kulkarni et al. Privacy-preserving location-based services by using intel sgx
KR101648641B1 (en) Cloud based computing platform system for preserving privacy and method for providing location based service
Gope Anonymous mutual authentication with location privacy support for secure communication in M2M home network services
Jebri et al. Enhanced lightweight algorithm to secure data transmission in IoT systems
Yan et al. Privacy protection in 5G positioning and location-based services based on SGX
Song et al. Efficient dummy generation for considering obstacles and protecting user location
Rajarajeswari et al. Data confidentiality and privacy in cloud computing
Michalas et al. Locless: Do you really care where your cloud files are?
Moon et al. Authentications for internet of things security: threats, challenges and studies
Abbas et al. Privacy preserving cloud-based computing platform (PPCCP) for using location based services
US20110170693A1 (en) Stateless method and system for providing location information of target device
KR101760600B1 (en) A Trustless Broker Based Protocol to Discover Friends in Proximity-Based Mobile Social Network and System Therefor
Garg et al. Toward a secure crowdsourced location tracking system

Legal Events

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

Payment date: 20190603

Year of fee payment: 4