KR102522599B1 - 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법 - Google Patents

위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR102522599B1
KR102522599B1 KR1020200161239A KR20200161239A KR102522599B1 KR 102522599 B1 KR102522599 B1 KR 102522599B1 KR 1020200161239 A KR1020200161239 A KR 1020200161239A KR 20200161239 A KR20200161239 A KR 20200161239A KR 102522599 B1 KR102522599 B1 KR 102522599B1
Authority
KR
South Korea
Prior art keywords
uav
information
user terminal
user
location information
Prior art date
Application number
KR1020200161239A
Other languages
English (en)
Other versions
KR20220073298A (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 KR1020200161239A priority Critical patent/KR102522599B1/ko
Priority to US18/038,844 priority patent/US20240056292A1/en
Priority to PCT/KR2020/019021 priority patent/WO2022114369A1/ko
Publication of KR20220073298A publication Critical patent/KR20220073298A/ko
Application granted granted Critical
Publication of KR102522599B1 publication Critical patent/KR102522599B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다양한 실시예에 따른 전자 장치는, 데이터베이스; 및 프로세서를 포함하고, 상기 프로세서는, 사용자 단말로부터 사용자 ID, 상기 사용자 ID에 대응하는 적어도 하나의 사용자 익명 ID, 및 상기 사용자 단말의 위치 정보를 수신하고, 무인기로부터 무인기 ID, 상기 무인기 ID에 대응하는 적어도 하나의 무인기 익명 ID, 및 상기 무인기의 위치 정보를 수신하고, 상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신함에 따라, 상기 사용자 단말의 위치 정보 및 상기 무인기의 위치 정보에 기반하여, 상기 사용자 단말과 상기 무인기 간의 키 교환 프로토콜을 제공할 수 있다. 이밖에 다른 실시예들이 가능하다.

Description

위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법 {ELECTRONIC DEVICE FOR PROVIDING LOCATION-BASED BIDIRECTIONAL KEY EXCHANGE PROTOCOL AND OPERATING METHOD THEREOF}
본 개시의 다양한 실시예들은, 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법에 관한 것이다. 구체적으로 무인기(예: 드론)과 사용자 단말 간의 위치 기반 양방향 키 교환 프로토콜을 제공하는 방법 및 장치에 관한 것이다.
무인기(예: 드론, UAV)는 조종사가 직접 탑승하지 않고 GPS 장치 등을 이용하여 원격 조종 또는 자동 비행이 가능한 동력 비행체로서, 군사적 용도뿐 아니라 영상 촬영, 택배 서비스, 농약 살포, 지능형 교통 관리, 3D 맵 정보 획득 등 다양한 분야에 걸쳐 사용 범위가 확장되고 있는 추세이다. 이러한 무인기는 사용자(관리자)의 단말과 양방향 통신 방식으로 연결되어 소정의 정보 또는 명령을 단말과 송수신할 수 있다.
사용자는 사용자 단말을 이용하여 인접 위치에서 대기하거나 비행 중인 무인기와 양방향 통신으로 연결되어 정보를 주고 받을 수 있다. 그러나 종래의 경우에는 서버에 등록된 단일 사용자 ID 및 무인기 ID를 통해 서버를 매개로 사용자 단말과 무인기 간의 키 교환을 통해 양방향 통신이 수행될 수 있었으며, 이 경우 변경 불가능한 사용자 ID 또는 무인기 ID 정보가 노출됨에 따른 프라이버시 침해 문제를 피할 수 없었다.
이에 따라, 고정된 사용자 ID(또는 무인기 ID)를 대체하여 사용자 익명 ID를 이용하는 방안이 검토되고 있으나, 이 역시도 하나의 사용자 ID에 대응하는 하나의 사용자 익명 ID가 사용되는 것이므로, 익명 ID가 사용된 시간이나 장소 정보에 따라 실제 사용자가 추정될 수 있었으며, 프라이버시 침해 문제에 대한 완전한 해결책이 되지 못하고 있다.
한편, 종래의 경우에는 사용자 단말 측에서 특정 무인기와의 양방향 연결을 원하는 경우에 한하여 통신 연결이 가능했으며, 무인기에서 사용자 단말로 키 교환을 요청하고 양방향 통신이 수행될 수는 없었으나, 자율적으로 비행하며 소정의 영상 정보를 획득하는 무인기 측에서 인접하는 범위 내의 사용자 단말 측으로 정보를 제공할 필요성이 대두됨에 따라, 무인기 측에서 먼저 사용자 단말 측으로 키 교환 요청을 할 수 있는 기술이 요구되고 있다.
본 개시의 다양한 실시예들은, 사용자 단말과 무인기 간 양방향 통신에 있어서 강한 익명성을 보장하는 한편, 무인기 측에서 사용자 단말 측으로 먼저 키 교환 요청을 할 수 있는 프로토콜 및 위치 정보에 기반한 키 교환 프로토콜을 제공하는 전자 장치 및 방법을 제공하고자 한다.
다양한 실시예에 따른 전자 장치는, 데이터베이스; 및 프로세서를 포함하고, 상기 프로세서는, 사용자 단말로부터 사용자 ID, 상기 사용자 ID에 대응하는 적어도 하나의 사용자 익명 ID, 및 상기 사용자 단말의 위치 정보를 수신하고, 무인기로부터 무인기 ID, 상기 무인기 ID에 대응하는 적어도 하나의 무인기 익명 ID, 및 상기 무인기의 위치 정보를 수신하고, 상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신함에 따라, 상기 사용자 단말의 위치 정보 및 상기 무인기의 위치 정보에 기반하여, 상기 사용자 단말과 상기 무인기 간의 키 교환 프로토콜을 제공하도록 설정될 수 있다.
다양한 실시예에 따른 위치 기반 양방향 키 교환 프로토콜 제공 방법은, 적어도 하나의 사용자 단말로부터 수신된 사용자 ID 정보에 기반하여, 상기 적어도 하나의 사용자 단말에 대응하는 사용자 정보를 등록하는 단계; 적어도 하나의 무인기로부터 수신된 무인기 ID 정보에 기반하여, 상기 적어도 하나의 무인기 정보를 등록하는 단계; 상기 사용자 단말 또는 상기 무인기 중 적어도 하나에 대한 위치 정보를 수신하는 단계; 및 상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신하는 것에 응답하여, 상기 위치 정보에 기반하여, 어느 하나의 사용자 단말과 어느 하나의 무인기 간의 키 교환 프로토콜을 제공하는 단계를 포함할 수 있다.
다양한 실시예에 따른 위치 기반 양방향 키 교환 프로토콜을 제공하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체로서, 상기 키 교환 프로토콜 제공 방법은, 적어도 하나의 사용자 단말로부터 수신된 사용자 ID 정보에 기반하여, 상기 적어도 하나의 사용자 단말에 대응하는 사용자 정보를 등록하는 단계; 적어도 하나의 무인기로부터 수신된 무인기 ID 정보에 기반하여, 상기 적어도 하나의 무인기 정보를 등록하는 단계; 상기 사용자 단말 또는 상기 무인기 중 적어도 하나에 대한 위치 정보를 수신하는 단계; 및 상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신하는 것에 응답하여, 상기 위치 정보에 기반하여, 어느 하나의 사용자 단말과 어느 하나의 무인기 간의 키 교환 프로토콜을 제공하는 단계를 포함할 수 있다.
다양한 실시예에 따르면, IoD 환경에서 보안성이 개선된 양방향 키 교환 프로토콜을 제공할 수 있으며, 위치 기반으로 연결을 수행할 장치를 자동으로 제안할 뿐 아니라 무인기 측에서 먼저 키 교환 요청을 수행할 수 있는 개선된 시스템, 장치, 및 방법을 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 위치 기반 양방향 키 교환 프로토콜을 제공하는 시스템에 관한 구성 블록도이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 사용자 단말과 무인기 간의 키 교환 프로토콜 제공 방법에 관한 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 사용자 ID를 등록하는 방법에 관한 흐름도이다.
도 4은 본 개시의 일 실시예에 따른 무인기 ID를 등록하는 방법에 관한 흐름도이다.
도 5a 내지 도 5b는 본 개시의 일 실시예에 따른 사용자 단말의 위치 정보 전송 방법에 관한 흐름도이다.
도 6a 내지 도 6b는 본 개시의 일 실시예에 따른 무인기의 위치 정보 전송 방법에 관한 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 개시의 다양한 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
도 1은 본 개시의 일 실시예에 따른 위치 기반 양방향 키 교환 프로토콜을 제공하는 시스템에 관한 개략적인 구성 블록도이다.
다양한 실시예에 따르면, 위치 기반 양방향 키 교환 프로토콜을 제공하는 IoD(internet of Drons) 환경의 시스템(100)은, 사용자 단말(110)과 무인기(130) 간의 양방향 통신을 위한 키 교환 프로토콜을 지원하는 서버(120)를 포함할 수 있다.
서버(120)는, 사용자 단말(110)과 무인기(130) 간의 키 교환 프로토콜과 관련된 각종 제어 기능을 수행할 수 있다. 키 교환 프로토콜은, 일반적으로 두 개체(예: 사용자 단말(110), 무인기(130))가 대칭키를 교환하고, 해당 키를 이용하여 메시지를 암호화하는 방식으로 통신 시 보안성을 갖도록 하는 것을 의미할 수 있다. 또한, IoD 환경에서의 키 교환 프로토콜은, 사용자 단말(110)과 무인기(130)가 서버(120)를 통해 상호 통신할 수 있는 키를 교환하는 것을 의미할 수 있다.
다양한 실시예에서, 서버(120)는, 대칭키 암호화 시스템, 공개키 암호화 시스템, 해시 함수, 메시지 인증 코드(이하 "MAC"), 또는 생체정보를 이용한 퍼지 추출 중 적어도 하나의 기술을 이용할 수 있다. 예를 들면, 본 발명의 일 실시예에 따른 서버(120)는 대칭키 암호화 시스템, 해시 함수, 및 MAC을 이용하여, 사용자 단말(120)과 무인기(130) 간의 키 교환 프로토콜을 지원할 수 있다.
사용자 단말(120)은, 이동성을 가지며 소정의 통신 모듈을 포함하는 장치로서, 예를 들면, 휴대폰, 스마트폰, 휴대용 콘솔, 네비게이션, 랩탑 컴퓨터, 또는 태블릿 중 어느 하나에 해당할 수 있으며, 사용자 장비(UE), 모바일 스테이션, 단말, STA, 사용자 장치, 휴대용 전자 장치 등으로 지칭될 수 있다. 한 실시예에서 상기 사용자 단말(120)은 위치가 고정된 장치에 해당할 수도 있다.
사용자 단말(120)은 무인기(130)에 제어 명령을 전송하거나, 또는 무인기(130)로부터 소정의 정보(예: 영상 정보)를 수신하기 위한 장치일 수 있다. 상기 제어 명령은, 예컨대 무인기(130)의 동작 또는 이동성을 제어하기 위한 정보에 해당할 수 있다.
무인기(130)는, 조종사가 탑승하지 않은 상태에서 지정된 기능을 수행할 수 있는 장치일 수 있으며, 이동성을 갖는 무인 비행체에 해당할 수 있다. 예컨대, 무인기(130)는 지정된 기능을 수행하기 위하여 방향을 변경하거나 고도를 변경하며 비행할 수 있다. 예를 들면, 무인기(130)는 통신 연결된 서버(110) 또는 사용자 단말(120)의 제어에 따라 비행하며 소정의 정보를 선택적으로 취합할 수 있으며, 또는 자율적으로 비행하며 영상 정보를 획득하고 관련 정보에 기반하여 위험 여부를 탐지하고 관련 정보를 인접 위치 내의 서버(110) 또는 사용자 단말(120)에 제공할 수도 있다.
한편, 본 개시의 다양한 실시예에 따르면, 서버(120)는 프로세서 및 데이터베이스를 포함할 수 있다.
예컨대, 상기 서버(120)의 프로세서는, 서버(120)의 동작이나 기능 실행과 관련하여 전반적으로 서버(120)의 다른 구성 요소들을 제어할 수 있다. 또한, 데이터베이스는 프로세서의 동작과 관련된 명령어들 및 본 개시의 다양한 실시예에서 적어도 하나의 사용자 단말(110) 및 무인기(130)와 관련된 각종 정보들을 저장할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치(예: 서버(120))의 사용자 단말과 무인기 간의 키 교환 프로토콜 제공 방법에 관한 흐름도이다.
도 2를 참조하면, 일 실시예에 따른 서버(120)는, 단계 210에서, 사용자 단말(110) 및 무인기(130)로부터 각각 사용자 ID 및 무인기 ID를 등록하기 위한 소정의 정보를 수신할 수 있다.
본 개시에서, 상기 사용자 ID를 등록하는 동작과 관련하여, 도 3을 함께 참조하여 설명하도록 한다. 도 3은 일 실시예에 따른 사용자 단말에서 서버로 사용자 ID를 등록하는 방법에 관한 흐름도이다.
구체적으로, 단계 310에서, 사용자 단말(110)은, 사용자가 설정한 사용자 ID 및 비밀번호의 사용자 입력 정보를 수신할 수 있다.
또한, 사용자 단말(110)은 상기 사용자 입력에 기반하여, 단계 320에서, 상기 사용자 ID에 대응하는 제1 사용자 익명 ID를 생성할 수 있다. 예컨대, 사용자 단말(110)에서 생성하는 적어도 하나의 사용자 익명 ID는, 상기 사용자 ID에 대응하여 생성되는 임의의 난수 값에 기반하여 결정된 임시의 일회성 ID에 해당할 수 있다.
단계 330에서, 서버(120)는 이와 같은 사용자 ID 및 제1 사용자 익명 ID에 관한 정보를 사용자 단말(120)로부터 수신할 수 있다.
단계 340에서, 서버(120)는 상기 사용자 ID와 소정의 비밀값(msk)을 이용하여 제1 인증값을 생성할 수 있으며, 단계 350에서, 생성한 제1 인증값을 사용자 단말(110)로 전송할 수 있다.
이에 따라, 서버(120)는, 단계 370에서, 상기 사용자 단말(110)로부터 수신한 사용자 ID 및 제1 사용자 익명 ID를 서버(120)에 포함된 데이터베이스(미도시)에 저장할 수 있으며, 또한, 상기 생성한 제1 인증값을 상기 데이터베이스에 저장할 수 있다.
한편, 단계 360에서 사용자 단말(110)도 상기 제1 사용자 익명 ID와 상기 서버(120)로부터 수신한 제1 인증값 정보를, 사용자 ID 및 비밀번호 정보에 기반하여, 암호화하고, 상기 암호화된 제1 사용자 익명 ID 및 제1 인증값을 사용자 단말(110)의 메모리에 저장할 수 있다. 이로써 서버(120)는 특정 사용자에 대응하는 사용자 ID를 등록하는 절차를 완료할 수 있다.
한편, 무인기(130)에서도 사용자 단말(120)과 마찬가지로 무인기 ID를 서버(120)에 등록하는 절차가 우선적으로 수행될 수 있으며, 이와 관련하여 도 4를 함께 참조하여 설명하도록 한다.
도 4를 참조하면, 무인기(130)는, 단계 410에서, 미리 설정된 무인기 ID에 기반하여, 임의의 무인기 익명 ID를 생성할 수 있으며, 단계 420에서, 상기 무인기 ID 및 상기 무인기 익명 ID를 서버(120)로 전송할 수 있다.
또한, 서버(120)는 단계 430에서, 상기 무인기 ID와 소정의 비밀값(msk)을 이용하여, 제2 인증값을 생성하고, 단계 460에서 제2 인증값을 상기 데이터베이스에 저장할 수 있다. 또한, 서버(120)는, 단계 460에서, 무인기(130)로부터 수신한 무인기 ID 및 무인기 익명 ID를 데이터베이스에 저장할 수 있다.
한편 서버(120)는, 단계 440에서, 상기 생성한 제2 인증값에 관한 정보를 무인기(130)로 전송할 수 있으며, 단계 450에서, 무인기(130)는 무인기 ID, 무인기 익명 ID, 및 상기 제2 인증값을 무인기(130)에 포함된 메모리에 저장할 수 있다. 이와 같은 절차를 통해 서버(120)는 특정 무인기에 대응하는 무인기 ID를 등록하는 절차를 완료할 수 있다.
서버(120)는 전술한 방식으로 하나 이상의 사용자들(또는, 각 사용자들에 대응하는 사용자 단말들) 및 하나 이상의 무인기들에 대한 등록 정보(ID 정보)를 수신하고, 데이터베이스에 이를 보관할 수 있다.
도 5a 및 도 5b는 본 개시의 일 실시예에 따른 사용자 단말(110)의 위치 정보 전송 방법에 관한 흐름도이고, 도 6a 및 도 6b는 본 개시의 일 실시예에 따른 무인기(130)의 위치 정보 전송 방법에 관한 흐름도이다. 이하 도 5a 내지 도 6b를 함께 참조하여 도 2의 단계 220의 다양한 실시예에 따른 서버(120)에서 위치 정보를 수신하는 방법에 관해 구체적으로 설명하도록 한다.
단계 220에서, 일 실시예에 따른 서버(120)는, 사용자 단말(110)의 위치 정보 및/또는 무인기(130)의 위치 정보를 수신할 수 있다.
사용자 단말(110) 및/또는 무인기(130)는, 서버(120)에 접근하여 자신들의 등록된 ID와 관련된 소정의 정보를 서버(120)와 송수신하고자 하는 경우마다, 임시적인 익명 ID(예: 사용자 익명 ID, 무인기 익명 ID)를 이용하는 방식을 사용함으로써 개선된 보안성을 제공할 수 있다. 예컨대, 단계 22에서, 사용자 단말(110) 또는 무인기(130)에서 서버(120)로 각각의 위치 정보를 제공하는 경우에도, 상기 사용자 단말(110) 및 무인기(130)는 익명 ID를 이용하여 서버(120)와 정보를 송수신하고, 서버(120)에 기 등록한 사용자 ID 또는 무인기 ID와 관련하여 정보(예: 위치 정보)를 업데이트할 수 있다.
구체적으로, 일 실시예에 따른 사용자 단말(110)은, 도 5a의 단계 510에서, 사용자 ID 등록 시 입력되었던 사용자 ID 및 비밀번호에 대한 사용자 입력 정보를 수신할 수 있다.
단계 515에서, 사용자 단말(110)은 수신된 사용자 ID 및 비밀번호를 통해, 상기 사용자 ID 등록 단계에서 암호화하여 메모리에 저장했던 제1 사용자 익명 ID 정보 및 제1 인증값 정보를 복호화할 수 있다.
한편, 단계 520에서, 사용자 단말(110)은 적어도 하나의 센서를 이용하여, 상기 사용자 단말(110)의 현재 위치 정보 및 상기 위치 정보의 센싱 시점에 대응하는 시간 정보를 획득할 수 있다.
또한, 단계 525에서, 사용자 단말(110)은, 상기 사용자 ID에 기반하여, 또 다른 임의의 사용자 익명 ID로서, 제2 사용자 익명 ID를 생성할 수 있다.
또한, 사용자 단말(110)는, 단계 530에서, 상기 복호화하여 획득한 제1 인증값을 이용하여, 제1 암호화 키 및 제1 MAC 키를 생성할 수 있다. 한편 서버(120)도 데이터베이스에 제1 인증값을 저장하고 있으므로, 사용자 단말(110)로부터 제1 사용자 익명 ID를 수신하는 경우 상기 제1 사용자에 대응하는 제1 인증값의 정보를 확인할 수 있다. 또한, 서버(120)는 사용자 단말(110)과 마찬가지로 상기 제1 인증값을 이용하여 제1 암호화 키와 제1 MAC 키를 생성할 수 있으므로, 사용자 단말(110) 측에서 암호화되거나 MAC 되어 전달된 정보를 서버(120)에서 확인하거나 또는 검증할 수 있다.
예를 들어, 사용자 단말(110)은, 단계 535에서, 제1 암호화 키를 이용하여, 사용자 ID, 제2 사용자 익명 ID, 사용자 단말(110)의 위치 정보 및 상기 위치 정보에 대응하는 시간 정보를 암호화할 수 있다. 또한, 단계 540에서, 제1 MAC 키를 이용하여, 상기 암호화된 암호문(예: 사용자 ID, 제2 사용자 익명 ID, 사용자 단말(110)의 위치 정보, 및 시간 정보에 대한 암호문)과 제1 사용자 익명 ID를 MAC 하고, 제1 MAC 값을 획득할 수 있다.
다음으로, 서버(120)는, 단계 545에서, 사용자 단말(110)로부터, 상기 암호문, 제1 사용자 익명 ID, 및 제1 MAC 값에 관한 정보를 수신할 수 있다.
전술한 바와 같이 서버(120)는, 단계 550에서, 상기 수신된 제1 사용자 익명 ID를 이용하여 데이터베이스로부터, 상기 제1 사용자 익명 ID에 대응하는 사용자 ID와 제1 인증값을 확인할 수 있다. 또한, 서버(120)는 확인한 제1 인증값을 이용하여, 단계 555에서, 제1 암호화 키와 제1 MAC 키를 생성할 수 있다.
예를 들어, 서버(120)는, 단계 560에서, 상기 제1 암호화 키를 이용하여, 사용자 단말(110)로부터 수신한 암호문(예: 사용자 ID, 제2 사용자 익명 ID, 사용자 단말(110)의 위치 정보 및 시간 정보에 대한 암호문)을 복호화할 수 있으며, 이로부터 사용자 ID, 제2 사용자 익명 ID, 위치 정보, 및 시간 정보를 확인할 수 있다. 또한, 단계 570에서, 제1 MAC 키를 이용하여, 상기 제1 MAC 값의 유효성(또는 무결성)을 인증(또는, 검증)할 수 있다.
한편, 서버(120)는 단계 570에서, 상기 복호화를 통해 획득한 시간 정보에 기반하여, 사용자 단말(110)의 위치 정보를 획득한 시점에 대응하는 시간 정보가 현재의 시간과 비교하여 지정된 크기 이상으로 차이(시차)가 있는지 확인할 수 있다. 예컨대, 서버(120)는 미리 설정된 시간 범위 이상으로 현재 시간 정보와 수신된 시간 정보 간에 시간차가 발생한 경우에는, 상기 사용자 단말(110)의 위치 정보를 저장(또는, 업데이트)하는 동작을 수행하지 않고 상기 위치 정보를 무시할 수 있다. 예컨대, 서버(120)는 현재 시간과 상기 위치 정보를 획득한 시간 사이에 큰 시간차가 발생하지 않은 것으로 판단할 경우, 단계 575에서, 상기 위치 정보를 사용자 단말(110)의 현재 위치 정보로서 데이터베이스에 저장(또는, 업데이트)할 수 있다.
예를 들면, 서버(120)는, 상기 위치 정보를 사용자 ID, 제2 사용자 익명 ID, 및 제1 인증값과 함께 저장할 수 있으며, 상기 사용자 ID에 대응하는 사용자 단말의 현재 위치를 상기 저장한 위치 정보에 기반하여 예측할 수 있다.
한편, 사용자 단말(110)은, 단계 580에서, 생성한 제2 사용자 익명 ID와 상기 제1 인증값을, 다시 사용자 ID와 비밀번호에 기반하여 암호화하고, 사용자 단말(120)에 포함된 메모리에 이를 저장(또는, 보관)할 수 있다. 예컨대, 단계 585에서, 사용자 단말(110)은 상기 서버(120)에 제공한 위치 관련 정보도 상기 메모리에 상기 암호화한 정보와 함께 보관할 수 있다.
사용자 단말(110)로부터의 위치 정보 제공 방법과 유사한 방식으로, 서버(120)는, 단계 220에서, 무인기(130)의 위치 정보도 수신(또는 업데이트)할 수 있다.
이와 관련하여, 도 6a 내지 도 6b를 함께 참조하면, 단계 610에서, 일 실시예에 따른 무인기(130)는 특정 시점에 적어도 하나의 센서를 이용하여 무인기(130)의 위치 정보를 센싱할 수 있다. 예를 들면, 무인기(130)는, 상기 위치 정보의 센싱 시점에 해당하는 시간 정보를 상기 위치 정보와 함께 확인할 수 있다.
단계 615에서, 무인기(130)는, 서버(120)와 정보 송수신 시 무인기의 고유 정보에 해당하는 무인기 ID의 익명성을 보장하기 위하여, 적어도 하나의 무인기 익명 ID(예컨대, 제2 무인기 익명 ID)를 생성할 수 있다. 단계 620에서, 무인기(130)는, 무인기 ID를 서버에 등록하는 단계에서 무인기(130)의 메모리에 저장되었던 제2 인증값을 이용하여, 제2 암호화 키와 제2 MAC 키를 생성하여, 서버(120)로 전송할 특정 정보를 처리할 수 있다.
예컨대, 무인기(130)는, 단계 625에서, 제2 암호화 키를 이용하여, 무인기 ID, 제2 무인기 익명 ID, 위치 정보, 및 시간 정보를 암호화할 수 있다.
또한, 무인기(130)는, 단계 630에서, 제2 MAC 키를 이용하여, 상기 암호화된 정보에 관한 암호문(예: 무인기 ID, 제2 무인기 익명 ID, 위치 정보, 및 시간 정보에 대한 암호문)과 무인기 ID 등록 시 사용했던 제1 무인기 익명 ID를 MAC 하여, 제2 MAC 값을 획득할 수 있다.
한편, 단계 635에서, 서버(120)는 상기 무인기(130)로부터, 암호문, 제1 무인기 익명 ID, 및 제2 MAC 값을 수신할 수 있다.
예컨대, 서버(120)는, 도 6b의 단계 640에서, 상기 무인기(130)로부터 수신한 제1 무인기 익명 ID를 이용하여, 상기 제1 무인기 익명 ID와 매핑되어 기 저장된 무인기 ID 및 제2 인증값을 확인할 수 있다. 또한, 단계 645에서, 서버(120)는 상기 제2 인증값을 이용하여 제2 암호화 키와 제2 MAC 키를 생성할 수 있다.
예를 들면, 서버(120)는, 단계 650에서, 제2 암호화 키를 이용하여, 상기 수신한 암호문(예: 무인기 ID, 제2 무인기 익명 ID, 위치 정보, 및 시간 정보에 대한 암호문)을 복호화할 수 있으며, 단계 655에서, 제2 MAC 키를 이용하여, 제2 MAC 값의 유효 여부를 검증할 수 있다.
한편 서버(120)는, 단계 660에서, 상기 복호화된 정보들 중 시간 정보에 기반하여, 상기 시간 정보가 미리 설정된 조건에 기반하여 현재 시간 정보와 비교하여 유효한지 여부를 확인하고, 상기 시간 정보가 유효한 것으로 확인되면 상기 시간 정보에 대응하는 위치 정보를 현재 무인기(130)의 위치 정보로서 저장할 수 있다. 예컨대, 서버(120)는 설정된 기준 조건에 따라 상기 시간 정보와 현재 시간과의 시차가 임계 값 미만인 경우, 상기 시간 정보가 유효하다고 판단할 수 있다.
이 경우, 단계 665에서, 서버(120)는, 상기 위치 정보를, 무인기 ID, 제2 무인기 익명 ID, 및 제2 인증값과 함께 매핑하여 데이터베이스에 업데이트하여 저장할 수 있다.
한편, 단계 670에서, 무인기(130) 측에서도, 상기 무인기 ID, 제2 무인기 익명 ID, 제2 인증값, 및 위치 정보를 무인기(130)에 포함된 메모리에 저장할 수 있다.
이로써, 서버(120)는 기 등록된 사용자(사용자에 대응하는 사용자 단말(110)) 및/또는 무인기(130)의 위치 정보를 수신 및 업데이트하여 관리할 수 있다.
다양한 실시예에 따르면, 서버(120)는 미리 설정된 시점 또는 지정된 시간 주기마다 사용자에 의해 로그인된 특정 사용자 단말(110) 또는 비행 중인 무인기(130)에 대한 위치 정보를 수신하고 각 기기들의 위치 정보를 주기적으로 확인할 수 있다.
다음으로, 단계 230에서, 서버(120)는, 사용자 단말(110) 또는 무인기(130) 중 어느 하나로부터 상대 기기에 대한 키 교환 요청을 수신할 수 있다. 또한, 단계 240에서, 상기 키 교환을 요청한 사용자 단말(110) 또는 무인기(130)의 유효성을 확인하고, 각각의 위치 정보에 기반하여 특정 무인기(130) 또는 사용자 단말(110)과 키 교환이 진행될 수 있도록 중계하는 역할을 할 수 있다.
본 개시의 다양한 실시예에서 사용자 단말(110) 또는 무인기(130)는 각각 복수의 개수로 마련될 수 있다. 서버(120)는, 예컨대 사용자 단말(110)이 유효한 조건 하에서 특정 무인기(130)와의 키 교환을 요청한 경우로 판단하면, 상기 사용자 단말(110)의 위치 정보에 기반하여, 인접하는 어느 하나의 무인기(130)를 확인하고, 해당 무인기(130)와 키 교환이 진행되도록 제어할 수 있다. 또한, 서버(120)는, 무인기(130)로부터 유효한 조건 하에 특정 사용자 단말(110)과의 키 교환이 요청된 경우에도, 상기 무인기(130)의 위치 정보에 기반하여, 미리 설정된 조건에 기반하여 인접한 위치 범위 내에 위치하는 사용자 단말(110)을 식별하고, 해당 사용자 단말(110) 중 적어도 일부(예: 소정 반경 내에 위치한 사용자 ID가 등록된 사용자 단말(110) 전부, 또는 사용자가 무인기(130)로부터의 키 요청 수신에 동의한 경우에 해당하는 사용자 단말(110) 등)를 대상으로 키 교환 및 정보 송수신이 수행되도록 제어할 수 있다.
단계 230 및 240에 관해 보다 구체적으로 설명하면, 일 실시예에서, 사용자 단말(110)은 특정 무인기(130)와의 양방향 키 교환 프로토콜이 수행되도록 하기 위하여, 서버(120)에게로 키 교환 요청과 관련된 소정의 정보를 전송할 수 있다.
예를 들면, 사용자 단말(110)은, 도 5a의 단계 510 내지 단계 540을 참조하여 설명한 것과 유사한 방식으로, 서버(120) 측으로 키 교환 요청 정보를 전송할 수 있다.
예컨대, 사용자 단말(110)은 사용자 ID 및 비밀번호에 대한 입력 정보를 수신하고, 이로부터 암호화된 제1 인증값(도 5b의 단계 580 참조)을 복호화할 수 있다. 한편, 사용자 단말(110)은 키 교환 요청을 수행하고자 하는 해당 시점의 최신 시간 정보를 확인할 수 있으며, 서버(120)와의 정보 송수신을 할 예정이므로 새로운 사용자 익명 ID로서 제3 사용자 익명 ID와 난수값 정보를 생성할 수 있다. 사용자 단말(110)은 제1 인증값을 이용하여 제1 암호화 키와 제1 MAC 키를 생성하고, 상기 제1 암호화 키를 이용하여, 사용자 ID, 제3 사용자 익명 ID, 위치 정보, 최신 시간 정보, 및 난수값에 대하여 암호화하여 암호문을 생성할 수 있다. 또한, 제1 MAC 키를 이용하여, 상기 암호문, 제2 사용자 익명 ID(또는, 제1 사용자 익명 ID), 및 서버 ID를 MAC 하여 제3 MAC 값을 획득할 수 있다.
서버(120)는, 사용자 단말(110)로부터 제2 사용자 익명 ID와 서버 ID, 암호문, 및 제3 MAC 값을 수신할 수 있다.
서버(120)는, 상기 서버 ID에 기반하여, 상기 사용자 단말(110)로부터 수신된 정보가 서버(120)로 전송되는 것임을 확인할 수 있다. 예컨대, 서버(120)는, 네트워크 상에 복수의 다른 서버들이 존재하는 경우에도, 상기 서버 ID를 이용하여, 해당 정보가 자신에게 전송된 정보임을 식별할 수 있다. 이를 위해 서버(120)는 외부(예: 사용자 단말, 무인기 등)로부터 특정 정보가 수신될 경우, 우선 수신된 정보에 상기 서버(120)에 대응하는 서버 ID 가 포함되어 있는지 여부를 확인하고, 포함되어 있는 경우에 한하여 상기 수신된 정보를 처리할 수 있다. 또한, 이러한 과정은 앞서 구체적으로 설명되지 않았지만 도 3 내지 도 6b를 참조하여 설명한 사용자 ID 등록 단계, 무인기 ID 등록 단계, 위치 정보 전송 단계 중 적어도 하나에서도 마찬가지로 적용될 수 있음은 물론이다.
서버(120)는 상기 수신한 제2 사용자 익명 ID를 이용하여 데이터베이스로부터 기 저장된 사용자 ID 및 제1 인증값(도 5b의 단계 575 참조)을 확인할 수 있다. 서버(120)는, 상기 제1 인증값을 이용하여 제1 암호화 키 및 제1 MAC 키를 생성할 수 있으며, 제1 암호화 키를 이용하여 암호문(예: 사용자 ID, 제3 사용자 익명 ID, 위치 정보, 최신 시간 정보, 및 난수값 정보를 암호화한 암호문)을 복호화하고, 제1 MAC 키를 이용하여 제3 MAC 값을 검증(또는 인증)할 수 있다. 서버(120)는, 복호화된 최신 시간 정보를 확인하고, 상기 최신 시간 정보에 기반하여 위치 정보가 유효하다고 판단되면, 상기 위치 정보에 기반하여 범위 내에 위치하는 적어도 하나의 무인기(130)(예: 가장 가까운 무인기 등)를 탐색할 수 있다.
이때 서버(120)는, 탐색된 특정 무인기(130)에 대응하는 인증값(예: 제2 인증값)을 확인하고, 상기 인증값을 이용하여 암호화 키 및 MAC 키를 생성할 수 있다. 예컨대, 서버(120)는 데이터베이스로부터 상기 탐색된 인접하는 무인기(130)에 대응하는 제2 인증값을 확인(도 4의 단계 460 참조)하고, 상기 제2 인증값을 이용하여 제2 암호화 키 및 제2 MAC 키를 생성할 수 있다. 서버(120)는, 생성된 제2 암호화 키를 이용하여 사용자의 익명 ID(제3 사용자 익명 ID) 및 사용자가 생성한 난수값을 암호화하여 암호문을 생성할 수 있다. 또한, 제2 MAC 키를 이용하여, 상기 암호문, 서버 ID, 무인기의 익명 ID (예: 제2 무인기 익명 ID)를 MAC 할 수 있다. 또한, 서버(120)는 상기 서버 ID, 무인기의 익명 ID(예: 제2 무인기 익명 ID), 및 암호문을 상기 탐색된 무인기(130)에게 전송할 수 있다.
한편, 무인기(130) 측에서는 자신의 제2 인증값(도 4의 단계 450 참조)을 이용하여 제2 암호화 키와 제2 MAC 키를 생성할 수 있으며, 이를 통해 수신된 암호문을 복호화하고, 수신된 MAC 값을 검증할 수 있다. 무인기(130)는, 새로운 익명 ID로서 제3 무인기 익명 ID를 생성하고, 또한 제2 난수값을 생성할 수 있다. 무인기(130)는 상기 생성한 제3 무인기 익명 ID 및 제2 난수값을 암호화하고 암호문을 MAC 하여 서버로 전송할 수 있다.
다시 서버(120)는, 수신한 암호문(예: 제3 무인기 익명 ID 및 제2 난수값을 암호화한 암호문)을 상기 제2 인증값에 기반하여 복호화하고 MAC 검증할 수 있다. 서버(120)는 상기 복호화한 정보(예: 제3 무인기 익명 ID, 제2 난수값)를 사용자 단말(110) 측의 제1 인증값을 이용하여 다시 암호화하고 MAC 하여 사용자 단말(110)에게 전송할 수 있다. 이러한 과정을 통해, 사용자 단말(110)은 무인기(130)의 익명 ID(제3 무인기 익명 ID)와 제2 난수값을 확인 및 저장할 수 있고, 무인기(130)에서도 상기 사용자(110)의 익명 ID(제3 사용자 익명 ID) 및 난수값을 확인 및 저장할 수 있게 된다. 상기 저장된 익명 ID 및 난수값에 기반하여 사용자 단말(110)과 무인기(130)는 양방향 통신을 수행할 수 있다.
단계 230 및 240와 관련하여, 무인기(130) 측에서 인접하는 사용자 단말(110)로 키 교환을 요청하는 프로세스도, 전술한 사용자 단말(110)로부터의 키 교환 요청 프로세스와 유사하게 수행될 수 있다.
예를 들어, 무인기(130)는, 상기 키 교환 요청을 수행하고자 하는 시점의 최신 시간 정보를 확인(추출)하고, 새로운 익명 아이디(예: 제3 무인기 익명 ID)와 난수값(예: 제2 난수값)을 생성할 수 있으며, 상기 최신 시간 정보, 제3 무인기 익명 ID, 제2 난수값 정보를 제2 인증값을 이용하여 암호화하고 MAC 하여 관련 정보를 서버(120)로 전송할 수 있다.
서버(120)는, 수신한 정보에 기반하여 해당 무인기(130)가 상기 서버(120)에 등록된 기기인지 확인하는 단계를 더 포함할 수 있다. 서버(120)는 상기 확인 결과 키 교환 요청 정보가 수신된 무인기(130)가 상기 서버(120)에 등록된 기기로 확인되면, 데이터베이스에 저장된 적어도 하나의 사용자 단말(예: 사용자 단말(110))의 위치 정보에 기반하여, 상기 무인기(130)의 위치 정보에 대응하는 반경 내에 위치하는 사용자 단말(110)을 확인할 수 있다. 이때 확인되는 사용자 단말(110)은 반경 내에 위치하는 모든 사용자 단말(110)을 포함할 수 있으나, 이에 제한되는 것은 아니고 사용자 설정 등에 기반하여 선택적으로 결정될 수도 있음은 물론이다.
서버(120)는 확인된 적어도 하나의 사용자 단말(110)에 대응하여 데이터베이스에 저장된 익명 ID(예: 제2 사용자 익명 ID)와 인증값(예: 제1 인증값)을 확인할 수 있으며, 해당 인증값(예: 제1 인증값)에 기반하여, 상기 제3 무인기 익명 ID와 제2 난수값을 암호화 및 MAC 하고, 각각의 정보를 대응하는 사용자 단말(110)로 전송할 수 있다.
이와 같은 정보를 수신한 사용자 단말(110)은, 사용자 ID 및 비밀번호에 기반하여 상기 인증값(예: 제1 인증값)을 복호화하고, 제1 인증값을 이용하여 상기 수신된 정보를 복호화하고 MAC 검증함으로써, 인접하는 무인기(130)의 익명 ID 및 난수값을 확인할 수 있다. 상기 사용자 단말(110)은 다시 신규 익명 ID를 생성하고, 난수값을 생성하고, 상기 인증값을 이용하여 암호화 및 MAC 하여, 해당 정보를 서버(120)로 전송할 수 있으며, 서버(120)는 상기 인증값을 이용하여 상기 수신한 정보를 복호화 및 MAC 검증하여 확인할 수 있다. 다시 서버(120)는 무인기(130)에 대응하는 인증값(예: 제2 인증값)을 이용하여 상기 정보를 암호화 및 MAC 하여 무인기(130)에게 전송하면, 무인기는(130) 상기 무인기(130)에 대응하는 인증값을 이용하여 상기 정보(예: 사용자의 익명 ID, 사용자 단말(110)로부터 생성된 난수값)를 복호화, MAC 검증함으로써 확인할 수 있다.
이에 따라, 사용자 단말(110) 및 무인기(130)는 익명 ID 및 난수값에 기반하여 세션키들을 생성하고, 획득한 세션키를 통해 안전하게 양방향 통신을 수행할 수 있다. 또한, 만약 사용자 단말(110)이나 무인기(130)의 위치, 시간 패턴 등에 기초하여, 상기 익명 ID가 외부로 노출될 가능성이 있더라도 상기 사용자 단말(110)과 무인기(130)는 매번 새로운 익명 ID를 사용함에 따라, 강한 익명성 "G 보안성을 확보할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (10)

  1. 전자 장치에 있어서,
    데이터베이스; 및
    프로세서를 포함하고,
    상기 프로세서는,
    사용자 단말로부터 사용자 ID, 상기 사용자 ID에 대응하는 적어도 하나의 사용자 익명 ID, 및 상기 사용자 단말의 위치 정보를 수신하고,
    무인기로부터 무인기 ID, 상기 무인기 ID에 대응하는 적어도 하나의 무인기 익명 ID, 및 상기 무인기의 위치 정보를 수신하고,
    상기 사용자 단말 또는 상기 무인기 중 적어도 하나로부터 상기 위치 정보에 대응하는 시간 정보를 수신하고,
    상기 시간 정보의 유효 여부에 기초하여, 상기 위치 정보를 상기 데이터베이스에 저장하며,
    상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신함에 따라, 상기 사용자 단말의 위치 정보 및 상기 무인기의 위치 정보에 기반하여, 상기 사용자 단말과 상기 무인기 간의 키 교환 프로토콜을 제공하는, 전자 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 사용자 ID 및 상기 전자 장치의 비밀값을 이용하여 상기 사용자 단말에 대응하는 제1 인증값을 생성하여 상기 데이터베이스에 저장하고,
    상기 제1 인증값을 상기 사용자 단말로 전송하고,
    상기 사용자 단말로부터 상기 제1 인증값에 기반하여 암호화되어 수신되는 정보를 상기 제1 인증값을 이용하여 확인하는, 전자 장치.
  3. 제 2 항에 있어서,
    상기 사용자 단말로부터 수신되는 암호화된 정보는, 상기 적어도 하나의 사용자 익명 ID를 포함하는, 전자 장치.
  4. 제 1 항에 있어서,
    상기 프로세서는,
    상기 무인기 ID 및 상기 전자 장치의 비밀값을 이용하여 상기 무인기에 대응하는 제2 인증값을 생성하여 상기 데이터베이스에 저장하고,
    상기 제2 인증값을 상기 무인기로 전송하고,
    상기 무인기로부터 상기 제2 인증값에 기반하여 암호화되어 수신되는 정보를 상기 제2 인증값을 이용하여 확인하는, 전자 장치.
  5. 제 4 항에 있어서,
    상기 무인기로부터 수신되는 암호화된 정보는, 상기 적어도 하나의 무인기 익명 ID를 포함하는, 전자 장치.
  6. 삭제
  7. 위치 기반 양방향 키 교환 프로토콜 제공 방법에 있어서,
    적어도 하나의 사용자 단말로부터 수신된 사용자 ID 정보에 기반하여, 상기 적어도 하나의 사용자 단말에 대응하는 사용자 정보를 등록하는 단계;
    적어도 하나의 무인기로부터 수신된 무인기 ID 정보에 기반하여, 상기 적어도 하나의 무인기 정보를 등록하는 단계;
    상기 사용자 단말 또는 상기 무인기 중 적어도 하나에 대한 위치 정보를 수신하는 단계; 및
    상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신하는 것에 응답하여, 상기 위치 정보에 기반하여, 어느 하나의 사용자 단말과 어느 하나의 무인기 간의 키 교환 프로토콜을 제공하는 단계를 포함하고,
    상기 위치 정보를 수신하는 단계는,
    상기 위치 정보에 대응하는 시간 정보를 수신하는 단계; 및
    상기 시간 정보의 유효 여부에 기초하여, 상기 위치 정보를 저장하는 단계를 더 포함하는, 키 교환 프로토콜 제공 방법.
  8. 제 7 항에 있어서,
    상기 사용자 ID 정보를 수신하는 것에 기반하여, 상기 사용자 ID 정보를 이용하여 생성된 제1 인증값을 상기 사용자 단말에 전송하는 단계; 및
    상기 무인기 ID 정보를 수신하는 것에 기반하여, 상기 무인기 ID 정보를 이용하여 생성된 제2 인증값을 상기 무인기에 전송하는 단계를 더 포함하는, 키 교환 프로토콜 제공 방법.
  9. 삭제
  10. 위치 기반 양방향 키 교환 프로토콜을 제공하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체로서,
    상기 키 교환 프로토콜 제공 방법은,
    적어도 하나의 사용자 단말로부터 수신된 사용자 ID 정보에 기반하여, 상기 적어도 하나의 사용자 단말에 대응하는 사용자 정보를 등록하는 단계;
    적어도 하나의 무인기로부터 수신된 무인기 ID 정보에 기반하여, 상기 적어도 하나의 무인기 정보를 등록하는 단계;
    상기 사용자 단말 또는 상기 무인기 중 적어도 하나에 대한 위치 정보를 수신하는 단계; 및
    상기 사용자 단말 또는 상기 무인기 중 어느 하나로부터 키 교환 요청 정보를 수신하는 것에 응답하여, 상기 위치 정보에 기반하여, 어느 하나의 사용자 단말과 어느 하나의 무인기 간의 키 교환 프로토콜을 제공하는 단계를 포함하고,
    상기 위치 정보를 수신하는 단계는,
    상기 위치 정보에 대응하는 시간 정보를 수신하는 단계; 및
    상기 시간 정보의 유효 여부에 기초하여, 상기 위치 정보를 저장하는 단계를 더 포함하는, 비일시적 기록매체.
KR1020200161239A 2020-11-26 2020-11-26 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법 KR102522599B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200161239A KR102522599B1 (ko) 2020-11-26 2020-11-26 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법
US18/038,844 US20240056292A1 (en) 2020-11-26 2020-12-23 Electronic device for providing bidirectional key exchange protocol on basis of location and operation method thereof
PCT/KR2020/019021 WO2022114369A1 (ko) 2020-11-26 2020-12-23 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200161239A KR102522599B1 (ko) 2020-11-26 2020-11-26 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20220073298A KR20220073298A (ko) 2022-06-03
KR102522599B1 true KR102522599B1 (ko) 2023-04-18

Family

ID=81756065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200161239A KR102522599B1 (ko) 2020-11-26 2020-11-26 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US20240056292A1 (ko)
KR (1) KR102522599B1 (ko)
WO (1) WO2022114369A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100394041B1 (ko) * 2000-01-05 2003-08-06 이임영 소액 전자상거래 방법
EP3443727A4 (en) * 2017-03-21 2019-04-24 SZ DJI Technology Co., Ltd. MONITORING PROCESS AND SYSTEM
KR20190116042A (ko) * 2018-04-04 2019-10-14 한국전자통신연구원 사용자 위치기반 무인기 미션제어 시스템 및 방법
US20200310408A1 (en) * 2018-06-25 2020-10-01 Todd Carper Unmanned aerial vehicle system providing secure communication, data transfer, and tracking
KR102181741B1 (ko) * 2018-11-05 2020-11-24 (주)파슨텍 드론을 관제하는 서버, 방법 및 컴퓨터 프로그램
KR102182912B1 (ko) * 2020-08-28 2020-11-25 (주)군집텍 드론 군집 비행 제어 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)*

Also Published As

Publication number Publication date
KR20220073298A (ko) 2022-06-03
WO2022114369A1 (ko) 2022-06-02
US20240056292A1 (en) 2024-02-15

Similar Documents

Publication Publication Date Title
US10412061B2 (en) Method and system for encrypted communications
US8923817B2 (en) Mobility device security
US20200100108A1 (en) Wireless access credential system
US20170366360A9 (en) Method and system for security and authentication of aircraft data transmissions
CN111030996B (zh) 一种访问资源的方法及装置
EP3340202B1 (en) Encrypted communication system and method for controlling encrypted communication system
US9325507B2 (en) System and method for managing mobile device using device-to-device communication
WO2016201733A1 (zh) 安全验证方法、安全验证装置和安全验证系统
KR102255468B1 (ko) 2단계 인증을 이용한 사물 인터넷 기기의 암호 키 발급 장치 및 방법
WO2018176312A1 (zh) 配对方法、设备、机器可读存储介质以及系统
US20160191482A1 (en) System and method for providing authenticated communications from a remote device to a local device
US20170264615A1 (en) System, information processing apparatus, and storage medium
KR102027659B1 (ko) 무인기의 암호화키 전송 시스템 및 방법
KR101558557B1 (ko) 아이디와 패스워드 입력 방식을 대체하는 휴대 전화번호 기반의 회원인증 방법 및 서버 시스템
WO2017152875A1 (zh) 车辆安全通信方法、装置、车辆多媒体系统及车辆
JP7106965B2 (ja) 情報処理装置、認証制御システム、及び認証制御プログラム
CN103152326A (zh) 一种分布式认证方法及认证系统
US9197413B1 (en) Hybrid secure communication system and method
US20210344676A1 (en) Method and system for securing communications between a lead device and a secondary device
KR102522599B1 (ko) 위치 기반 양방향 키 교환 프로토콜을 제공하는 전자 장치 및 이의 동작 방법
US20230198963A1 (en) Method and system for satellite tasking
KR20220057074A (ko) 드론 대여 시스템
US20240073684A1 (en) Electronic device for providing bidirectional key agreement protocol and operating method thereof
KR20210076416A (ko) 속성기반 암호를 적용한 무인비행체계 보안통신 방법
KR101834632B1 (ko) 이동체 정보 보안 시스템 및 이를 이용한 이동체 정보 보안 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right