KR102415628B1 - Dim을 이용한 드론 인증 방법 및 장치 - Google Patents

Dim을 이용한 드론 인증 방법 및 장치 Download PDF

Info

Publication number
KR102415628B1
KR102415628B1 KR1020180124740A KR20180124740A KR102415628B1 KR 102415628 B1 KR102415628 B1 KR 102415628B1 KR 1020180124740 A KR1020180124740 A KR 1020180124740A KR 20180124740 A KR20180124740 A KR 20180124740A KR 102415628 B1 KR102415628 B1 KR 102415628B1
Authority
KR
South Korea
Prior art keywords
drone
server
certificate
key
identification information
Prior art date
Application number
KR1020180124740A
Other languages
English (en)
Other versions
KR20200043855A (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 KR1020180124740A priority Critical patent/KR102415628B1/ko
Publication of KR20200043855A publication Critical patent/KR20200043855A/ko
Application granted granted Critical
Publication of KR102415628B1 publication Critical patent/KR102415628B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/80Wireless

Landscapes

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

Abstract

드론을 관리하는 서버로부터, 서버의 인증서를 포함하는 드론 인증 요구를 수신하는 단계, 공인 인증 기관의 공개키를 이용하여 서버의 인증서를 검증하는 단계, 그리고 서버의 인증서가 검증되면, 서버의 인증서로부터 추출된 공개키에 기반하여 생성되는 제1 비밀값에 기반하여, 서버와 드론 간의 통신을 위한 암호키를 생성하는 단계를 포함하는 드론 인증 방법과, 위 방법을 사용하여 인증을 수행하는 드론 식별 모듈, 및 무인 비행 장치가 제공된다.

Description

DIM을 이용한 드론 인증 방법 및 장치{METHOD AND APPARATUS FOR AUTHENTICATING DRONE USING DIM}
본 기재는 DIM을 이용하여 드론을 인증하는 방법 및 장치에 관한 것이다.
최근 소형 무인비행장치(드론)이 다양한 분야에서 활용되고 있지만, 드론을 이용한 불법 행위도 증가하고 있다. 드론이 불법 행위에 악용되는 것을 방지하기 위해 드론의 비행 허가제가 시행되었지만, 허가되지 않은 드론의 비행 사례도 발생하고 있다. 따라서 드론의 비행 중에 허가여부를 판단하는 것이 필요하다. 또한, 군사용 드론과 같은 특수 목적 드론은 주기적으로 인증되어야 하고, 드론에서 전송되는 데이터가 암호화되어야 한다. 이를 위해 드론과 드론 관리 서버 사이의 상호 인증 기술 및 암호키 생성 기술이 요구된다. 그리고 드론에서 송신되는 식별 정보가 올바른 정보인지 검증될 필요가 있다.
종래 인터넷에서 PC와 서버 사이의 SSL/TLS 핸드쉐이크 프로토콜과 같은 인증 및 키생성 프로토콜은, 교환되는 메시지의 종류가 많고, 통신 경로도 다양하며, 키 생성 과정이 다수의 단계로 나뉘어져 있어서 사물인터넷 장치로 분류되는 드론에는 적합하지 않다. 예를 들어, 인터넷 분야의 인증 프로토콜에서, 클라이언트는 서버에게 먼저 상호인증을 위한 시작 메시지를 송신하기 때문에, 각 통신 경로마다 하나의 메시지가 서버로 송신되는데, 이는 드론의 통신환경을 고려할 때 적합하지 않다. 또한, 인터넷 분야의 키 생성 프로토콜에서, 클라이언트는 암호키 생성을 위한 비밀값을 일방적으로 생성한 후 서버의 공개키로 암호화하여 서버에게 전달하지만, 드론과 드론 관리 서버가 각각 동일한 방식으로 비밀값을 유도하고 이로부터 암호키를 생성하는 방식이 드론 시스템에 더 적합하다. 또한, 종래 드론을 식별하기 위해 드론 기체에 저장되어 있는 드론 ID(즉, 비행체 ID)가 드론 식별 정보로서 사용되었지만, 이는 해킹에 취약하고, 식별 정보의 복제가 용이하다는 단점을 갖는다. 따라서 불법적으로 제작된 드론이 식별 정보의 해킹 및 복제를 통해 합법 드론으로 위장하여도 이를 식별하기 어렵다.
한 실시예는 드론 식별 모듈을 이용한 드론 인증 방법을 제공한다.
다른 실시예는 드론 인증을 수행하는 드론 식별 모듈을 제공한다.
또 다른 실시예는 드론 식별 모듈을 이용하여 드론 관리 서버와의 인증을 수행하는 무인 비행 장치를 제공한다.
한 실시예에 따르면 드론의 인증 방법이 제공된다. 상기 드론 인증 방법은, 드론을 관리하는 서버로부터, 서버의 인증서를 포함하는 드론 인증 요구를 수신하는 단계,
공인 인증 기관의 공개키를 이용하여 서버의 인증서를 검증하는 단계, 그리고 서버의 인증서가 검증되면, 서버의 인증서로부터 추출된 공개키에 기반하여 생성되는 제1 비밀값에 기반하여, 서버와 드론 간의 암호 통신을 위한 암호키를 생성하는 단계를 포함하고, 제1 비밀값은 드론의 인증서로부터 추출된 드론의 공개키에 기반하여 서버에 의해 생성되는 제2 비밀값과 동일하고, 암호키는 제2 비밀값에 기반하여 서버에 의해 생성되는 암호키와 동일하다.
상기 드론 인증 방법에서 서버와의 암호 통신을 위한 암호키를 생성하는 단계는, 제1 난수를 생성하는 단계, 그리고 제1 비밀값, 제1 난수, 및 서버에 의해 생성된 제2 난수를 키 유도 함수의 변수로서 사용하여 암호키를 생성하는 단계를 포함하고, 제2 난수는 드론 인증 요구에 포함될 수 있다.
상기 드론 인증 방법에서 키 유도 함수는 해시 함수일 수 있다.
상기 드론 인증 방법은, 드론의 개인키와 서버의 공개키를 사용하여 제1 비밀값을 생성하는 단계를 더 포함할 수 있다.
상기 드론 인증 방법에서 서버의 공개키는 서버의 개인키와 타원 곡선 암호 알고리즘의 베이스 포인트의 곱이고, 제1 비밀값은 드론의 개인키와 서버의 공개키의 곱일 수 있다.
상기 드론 인증 방법은, 제1 난수를 생성하는 단계, 드론의 아이디 및 드론에 연결된 드론 식별 모듈의 고유 식별 정보에 기반하여 드론의 드론 식별 정보를 생성하는 단계, 그리고 제1 난수, 드론 식별 정보, 및 드론의 인증서를 서버에게 전송하는 단계를 더 포함할 수 있다.
상기 드론 인증 방법은, 드론의 아이디와 드론에 연결된 드론 식별 모듈의 고유 식별 정보를 바탕으로 드론의 드론 식별 정보의 서명값을 생성하는 단계, 그리고 드론의 아이디, 고유 식별 정보, 및 서명값을 주기적으로 서버에게 송신하는 단계를 더 포함하고, 서명값은 드론을 식별하기 위해서 서버에 의해 사용될 수 있다.
상기 드론 인증 방법에서 드론의 아이디, 고유 식별 정보, 및 서명값을 주기적으로 서버에게 송신하는 단계는, 드론의 아이디, 고유 식별 정보, 및 서명값을 암호키를 사용하여 암호화하는 단계를 포함할 수 있다.
다른 실시예에 따르면 드론 식별 모듈이 제공된다. 상기 드론 식별 모듈은, 프로세서, 메모리, 및 인터페이스 장치를 포함하고, 프로세서는 메모리에 저장된 프로그램을 실행하여, 드론으로부터, 드론을 관리하는 서버의 인증서를 포함하는 드론 인증 요구와, 드론의 아이디를 인터페이스 장치를 통해 수신하는 단계, 공인 인증 기관의 공개키를 이용하여 서버의 인증서를 검증하는 단계, 그리고 서버의 인증서가 검증되면, 서버의 인증서로부터 추출된 공개키에 기반하여 생성되는 제1 비밀값에 기반하여, 서버와 드론 간의 암호 통신을 위한 암호키를 생성하는 단계를 수행하고, 제1 비밀값은 드론의 인증서로부터 추출된 공개키에 기반하여 서버에 의해 생성되는 제2 비밀값과 동일하고, 암호키는 제2 비밀값으로부터 서버에 의해 생성되는 암호키와 동일하다.
상기 드론 식별 모듈에서 프로세서는 서버와 드론 간의 암호 통신을 위한 암호키를 생성하는 단계를 수행할 때, 제1 난수를 생성하는 단계, 그리고 제1 비밀값, 제1 난수, 및 서버에 의해 생성된 제2 난수를 키 유도 함수의 변수로서 사용하여 암호키를 생성하는 단계를 수행하고, 제2 난수는 드론 인증 요구에 포함될 수 있다.
상기 드론 식별 모듈에서 키 유도 함수는 해시 함수일 수 있다.
상기 드론 식별 모듈에서 프로세서는 프로그램을 실행하여, 드론의 개인키와 서버의 공개키를 사용하여 제1 비밀값을 생성하는 단계를 더 수행할 수 있다.
상기 드론 식별 모듈에서 서버의 공개키는 서버의 개인키와 타원 곡선 암호 알고리즘의 베이스 포인트의 곱이고, 제1 비밀값은 드론의 개인키와 서버의 공개키의 곱일 수 있다.
상기 드론 식별 모듈에서 프로세서는 프로그램을 실행하여, 제1 난수를 생성하는 단계, 드론의 아이디 및 드론에 연결된 드론 식별 모듈의 고유 식별 정보에 기반하여 드론의 드론 식별 정보를 생성하는 단계, 그리고 제1 난수, 드론 식별 정보, 및 드론의 인증서를 서버에게 전송하는 단계를 더 수행할 수 있다.
상기 드론 식별 모듈에서 드론의 아이디와 드론 식별 모듈에 미리 저장된 고유 식별 정보를 바탕으로 드론의 드론 식별 정보의 서명값을 생성하는 단계, 그리고 드론의 아이디, 고유 식별 정보, 및 서명값을 주기적으로 서버에게 송신하는 단계를 더 포함하고, 서명값은 드론을 식별하기 위해서 서버에 의해 사용될 수 있다.
상기 드론 식별 모듈에서 프로세서는 드론의 아이디, 고유 식별 정보, 및 서명값을 주기적으로 서버에게 송신하는 단계를 수행할 때, 드론의 아이디, 고유 식별 정보, 및 서명값을 암호키를 사용하여 암호화하는 단계를 수행할 수 있다.
또 다른 실시예에 따르면, 무인 비행 장치가 제공된다. 상기 무인 비행 장치는, 프로세서, 메모리, 무인 비행 장치를 관리하는 서버와의 통신을 위한 무선 통신부, 및 식별 모듈과의 연결을 위한 인터페이스 장치를 포함하고, 프로세서는 메모리에 저장된 프로그램을 실행하여, 서버로부터 무선 통신부를 통해 서버의 인증서를 포함하는 인증 요구를 수신하고, 인터페이스 장치를 통해 인증 요구 및 무인 비행 장치의 아이디를 식별 모듈에게 전달하는 단계, 식별 모듈에 의해 서버의 인증서가 검증되면, 서버에게 무선 통신부를 통해 무인 비행 장치의 인증서, 무인 비행 장치의 식별 정보, 제1 난수를 송신하는 단계, 그리고 서버에게 무선 통신부를 통해, 드론 식별 모듈에 의해 서버의 인증서에 기반하여 생성된 암호키를 사용하여 암호화된 데이터를 송신하는 단계를 수행하고, 암호키는 드론 인증서 및 제1 난수에 기반하여 서버에 의해 생성되는 암호키와 동일하다.
상기 무인 비행 장치에서, 암호키는 식별 모듈에 의해 생성된 비밀값, 제1 난수, 및 인증 요구에 포함된 제2 난수의 곱이고, 비밀값은 서버의 인증서로부터 추출된 서버의 공개키와 무인 비행 장치의 개인키의 곱일 수 있다.
상기 무인 비행 장치에서 프로세서는 프로그램을 실행하여, 무인 비행 장치의 아이디, 식별 모듈의 고유 식별 정보, 및 무인 비행 장치의 아이디 및 고유 식별 정보를 바탕으로 생성된 무인 비행 장치의 식별 정보의 서명값을 서버에게 무선 통신부를 통해 주기적으로 송신하는 단계를 더 수행할 수 있다.
드론 및 드론 관리 서버는, 드론과 드론 관리 서버 사이의 명시적이고 일방적인 키 교환 없이 독립적으로 인증 및 식별을 수행할 수 있다.
도 1 및 도 2는 한 실시예에 따른 드론과 드론 관리 서버를 나타내는 블록도이다.
도 3은 한 실시예에 따른 DIM을 나타낸 블록도이다.
도 4는 한 실시예에 따른 드론 및 드론 관리 서버의 상호 인증 및 암호키 생성 방법을 나타낸 흐름도이다.
도 5는 한 실시예에 따른 드론 및 드론 관리 서버의 주기적 드론 식별 방법을 나타낸 흐름도이다.
도 6은 한 실시예에 따른 드론 및 드론 관리 서버의 드론 식별 정보의 암호화 방법을 나타낸 흐름도이다.
도 7은 다른 실시예에 따른 DIM을 나타낸 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 기재의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 기재는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 기재를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1 및 도 2는 한 실시예에 따른 드론과 드론 관리 서버를 나타내는 블록도이다.
도 1 및 2를 참조하면, 한 실시예에 따른 드론(200)과 드론 관리 서버(300)는 WiFi 등의 근거리 무선 통신(WLAN) 네트워크 또는 LTE 등의 무선 이동 통신 네트워크를 통해 연결된다. 본 기재에서 드론(200)은 무인 비행 장치의 예시이며, 설명의 간략함을 위해 아래에서 '드론'이라는 용어는 무인 비행 장치와 동일한 의미로 사용된다. 도 1에서 드론 식별 모듈(Drone Identity Module, DIM)(100)은 드론(200) 내에 포함된다. 도 1에서 DIM(100)은 드론(200)과 인터페이스 장치를 통해 연결된다. 예를 들어 DIM(100)은 USIM(Universal Subscriber Identification Module) 타입의 IC 카드 또는 SD 카드 등에 탑재되어, 드론(200)의 카드 슬롯 등의 인터페이스 장치를 통해 드론(200)과 연결될 수 있다. 도 2를 참조하면 DIM(100)은 보안 보드에 부착되어, 드론(200)과 UART(Universal asynchronous receiver/transmitter), 시리얼 통신, USB(Universal Serial Bus) 등의 인터페이스 규격으로 연결된다. 도 2의 보안 보드는 드론의 보안 기능을 담당하는 하드웨어 장치로서, DIM(100)과 연결될 수 있도록 카드 슬롯을 포함할 수 있다. 도 1 및 도 2에서 DIM(100)은 미리 결정된 폼팩터(form factor)를 갖는 하드웨어 장치일 수도 있고 또는 논리적 기능을 가진 소프트웨어 모듈일 수도 있으며, 이에 한정되지 않는다.
도 1과 같이 DIM(100)이 드론과 직접 연결될 때, 드론(200)은 드론 관리 서버(300)로부터 상호 인증 및 암호키 생성을 위한 데이터를 수신하고 상호 인증 및 암호키 생성을 위한 데이터를 애플리케이션 프로토콜 데이터 유닛(application protocol data unit, APDU) 형태로 변환하여 DIM(100)에게 전달한다. 이후 DIM(100)은 상호 인증 및 암호키 생성에 관한 기능을 수행한다. 이후 DIM(100)으로부터 APDU 형태의 데이터를 수신한 드론(200)은 무선 통신 규격에 적합한 형태로 APDU 형태의 데이터를 변환하고 드론 관리 서버(300)에게 전달할 수 있다.
도 2와 같이 DIM(100)이 보안 보드를 통해 드론(200)과 연결될 때, 드론 관리 서버(300)로부터 상호 인증 및 암호키 생성을 위한 데이터를 수신한 드론(200)은, 상호 인증 및 암호키 생성을 위한 데이터를 보안 보드와 드론(200) 간의 연결 인터페이스를 통해 보안 보드에게 전달하고, 보안 보드가 상호 인증 및 암호키 생성을 위한 데이터를 APDU 형태로 변환하여 DIM(100)에게 전달한다. 이후 보안 보드는 DIM(100)으로부터 수신된, APDU 형태의 데이터를 드론(200)을 거쳐 드론 관리 서버(300)에게 전달한다.
한 실시예에 따르면, DIM(100)은 드론(200) 및 드론 관리 서버(300) 간의 상호 인증을 수행하고, 암호키를 생성하는 주체로서, DIM(100)의 고유 식별 번호, 드론의 인증서, 공인 인증 기관(Certificate Authority, CA)의 공개키를 저장한다. 도 2와 같이 DIM(100)과 드론(200) 간의 통신을 위해 보안 보드가 사용되면, 보안 보드는 상호 인증 및 암호키 생성을 위한 데이터를 APDU 데이터로 변환/역변환 할 수 있다. 또한 보안 보드는, 드론이 촬영한 영상과 같은 대용량 데이터를 고속으로 암호화할 수 있다.
위에서는 USIM 유형의 DIM(100)으로의 데이터 전송을 위해 APDU 규격이 사용되었지만, DIM(100)이 USIM이 아닌 다른 하드웨어 유형이면 그에 적합한 데이터 규격이 DIM(100)으로의 데이터 전송을 위해 사용될 수 있다. 예를 들어, DIM(100)이 소프트웨어 모듈일 때, DIM(100)은 드론(200)과의 데이터 송수신을 위한 애플리케이션 프로그래밍 인터페이스(application programming interface, API)를 가질 수 있다.
도 3은 한 실시예에 따른 DIM을 나타낸 블록도이다.
도 3을 참조하면, 한 실시예에 따른 DIM(100)은 서버 인증부(110), 암호키 생성부(120), 서명값 생성부(130), 암호화부(140), 및 저장부(150)를 포함한다.
서버 인증부(110)는 CA의 공개키를 이용하여 드론 관리 서버의 인증서를 검증할 수 있다.
암호키 생성부(120)는 드론 관리 서버의 인증서가 검증되면, 드론 관리 서버의 인증서로부터 드론 관리 서버의 공개키를 추출하고, 추출된 공개키와 드론의 개인키를 바탕으로 비밀값을 계산한다. 이때, 드론 관리 서버도 드론 관리 서버의 개인키와, 드론의 인증서로부터 추출된 드론의 공개키를 바탕으로 비밀값을 계산하는데, 이때 암호키 생성부(120)에 의해 계산된 비밀값과 드론 관리 서버에 의해 계산된 비밀값은 서로 동일하다. 즉, DIM(100) 및 드론 관리 서버에 의해 각각 계산된 비밀값은 직접적인 교환 없이도 동일하게 계산될 수 있다. 그리고, 암호키 생성부(120)는 암호키 생성을 위해 난수를 생성할 수 있고, 비밀값, 드론 관리 서버로부터 수신된 난수, 암호키 생성부(120)에서 생성된 난수를 변수로 갖는 키 유도 함수를 사용하여 암호키를 생성한다. 이후 암호키는 드론과 드론 관리 서버 간의 데이터 교환 시 데이터의 암호화 및 복호화에 사용될 수 있다. 암호키 생성부(120)에 의해 생성된 암호키 또한, 드론 관리 서버에 의해 생성된 암호키와 동일하다.
서명값 생성부(130)는 드론 관리 서버에서 드론을 식별하기 위해 검증하는, 드론 식별 정보의 서명값을 생성한다. 서명값 생성부(130)는 드론의 아이디 및 DIM(100)의 고유 식별 번호를 바탕으로 드론 식별 정보를 생성하고, 전자 서명 알고리즘을 사용하여 드론 식별 정보의 서명값을 생성한다.
암호화부(140)는 암호키 생성부(120)에 의해 생성된 암호키를 사용하여 드론과 드론 관리 서버 간에 송수신되는 데이터를 암호화한다.
저장부(150)는 인증 기관의 개인키로 서명되는 드론의 인증서(Certd), 드론의 개인키(dd), 드론의 공개키(Qd)를 저장한다. 또한, 저장부(150)는 DIM(100)의 고유 식별 정보를 저장하고 있고, 드론의 아이디를 저장할 수 있으며, 서버로부터 수신되는 서버의 인증서, 서버의 아이디, 및 서버에서 생성된 난수를 저장할 수 있다. 또한, 저장부(150)는 서버의 인증서에 기반하여 추출되는 서버의 공개키, 서버의 공개키에 기반하여 생성되는 비밀값, 및 암호키 생성부(120)에서 생성된 난수와 암호키를 저장할 수 있다.
도 4는 한 실시예에 따른 드론 및 드론 관리 서버의 상호 인증 및 암호키 생성 방법을 나타낸 흐름도이다.
드론(200)은 비행하기 전 또는 비행을 위한 이륙 직후 드론 관리 서버(300)에게 상호 인증 요구를 송신한다(S110). 이때, DIM(100)은 드론 인증서(Certd), 드론 개인키(dd), 및 드론 개인키에 기반하여 생성된 드론 공개키(Qd(=ddP), P는 타원 곡선 암호 알고리즘의 베이스 포인트이다)를 저장하고 있다. 드론 인증서 Certd는 CA 개인키로 서명되어 있다. 또한, 드론 관리 서버(300)도 서버 인증서(Certs), 서버 개인키(ds), 및 서버 개인키에 기반하여 생성된 서버 공개키(Qs(=dsP))를 저장하고 있다. 서버 인증서 Certs 또한 CA 개인키로 서명되어 있다. 한 실시예에 따른 DIM(100) 및 드론 관리 서버(300)는 각각 공개키 암호 알고리즘의 타원 곡선 암호(Elliptic curve cryptograph, ECC)를 사용할 수 있고, 다른 암호 알고리즘을 사용할 수도 있으며, 이에 한정되지 않는다.
드론 관리 서버(300)는 난수(rands)를 생성하고, 생성된 난수(rands)를 포함하는 드론 인증 요구 메시지를 드론(200)에게 전달한다. 이때 드론 인증 요구 메시지는 서버의 식별정보인 아이디(ids), 인증서(Certs)를 더 포함할 수 있다. 한 실시예에 따른 드론 관리 서버(300)는 한 개의 통신 경로를 통해 난수(rands), 서버의 아이디(ids), 및 서버의 인증서(Certs)를 한 번에 드론(200)에게 전송할 수 있다. 이후 드론(200)은 드론 관리 서버(300)로부터 수신한 난수(rands), 아이디(ids), 및 인증서(Certs)를 자신의 비행체 아이디(idd)와 함께 DIM(100)에게 전달한다(S120). DIM(100)은 드론(200)으로부터 수신되는, 드론 관리 서버(300)의 아이디(ids) 및 인증서(Certs)를 이용하여 드론 관리 서버(300)를 검증한다(S130). DIM(100)은 CA의 공개키를 이용하여 인증서(Certs)를 검증한다. 이때 인증서(Certs)는 발급시 CA의 비밀키에 의해 전자 서명되어 있으므로 DIM(100)은 CA의 공개키를 이용하여 인증서(Certs)의 서명값을 검증할 수 있다. DIM(100)은 서명 생성 및 검증을 위해 타원 곡선 디지털 서명 알고리즘(Elliptic Curve Digital Signature Algorithm, ECDSA)을 사용할 수 있고, 또는 RSA 알고리즘 등 다른 공개키 기반 서명 알고리즘을 사용할 수 있다.
DIM(100)이 서버의 아이디(ids) 및 서버의 인증서(Certs)를 이용하여 드론 관리 서버(300)의 인증에 성공하면, DIM(100)은 드론(200)의 비행체 아이디(idd) 및 고유 식별 정보를 결합하여 드론 식별 정보를 생성한다. 그리고 DIM(100)은 난수(randd) 및 인증서(Certd)와 함께 생성된 드론 식별 정보를 드론(200)을 경유하여 드론 관리 서버(300)에게 전달한다(S140). 즉, 한 실시예에 따르면, 드론 식별 정보, 난수(randd), 및 인증서(Certd)는 1회의 통신 경로를 통해 드론(200)에서 드론 관리 서버(300)에게 한꺼번에 전송될 수 있다. 이때 드론 식별 정보의 생성에 사용되는 고유 식별 정보는 DIM(100)에 미리 저장되어 있다. DIM(100)은 해킹이 불가능하므로 고유 식별 정보는 제3자에게 탈취되지 않는다. 또한 불법 드론이 합법 드론의 비행체 아이디를 복사하여 사용하더라도 DIM의 고유 식별 정보가 없는 이상 불법 드론은 드론 관리 서버(300)에 의해 인증될 수 없다.
드론(200)으로부터 드론 식별 정보, 난수(randd), 인증서(Certd)를 수신한 드론 관리 서버(300)는 CA의 공개키를 이용하여 인증서(Certd)의 서명값을 검증한다(S150). 드론(200)의 인증서(Certd)도 CA의 비밀키에 의해 전자서명 되어 있기 때문이다. 드론 관리 서버(300)가 드론(200)의 인증서(Certd)에 기반하여 드론(200)의 인증에 성공하면, 드론 관리 서버(300)는 인증 성공 메시지를 드론(200)을 통해 DIM(100)에게 전달한다(S160). 이후 드론(200) 및 드론 관리 서버(300)는 데이터 통신의 암호화/복호화에 사용될 암호키를 생성한다. 한 실시예에 따르면, 드론(200)의 DIM(100)은 드론 관리 서버(300)의 인증서(Certs)로부터 공개키 Qs를 추출하고 추출된 공개키 Qs에 기반하여 비밀값 z(z=ddQs=dddsP)를 계산한다. 드론 관리 서버(300)도 드론(200)의 인증서(Certd)로부터 공개키 Qd를 추출하고, 추출된 공개키 Qd를 바탕으로 비밀값 z(z=dsQd=dsddP)를 계산한다(S170).
한 실시예에 따른 DIM(100)(또는 드론(200)) 및 드론 관리 서버(300)는 ECDH(Elliptic Curve Diffie Hellman) 알고리즘에 기반한 키 교환 방식을 사용할 수 있고, 디피-헬먼(Diffie-Hellman, DH) 키교환 알고리즘 등 이미 알려진 다른 방식의 키교환 알고리즘을 사용할 수 있으며, 이에 한정되지 않는다. 이후 DIM(100) 및 드론 관리 서버(300)는 각각 비밀값 z, 드론 관리 서버(300)가 드론(200)에게 보낸 난수(rands), 및 드론(200)이 드론 관리 서버(300)에게 보낸 난수(randd)를 키 유도 함수의 변수로서 사용하여 암호키 ek=H(z, rands, randd)를 생성한다. H는 SHA256 등의 해시 함수(hash function)이다. 한 실시예에 따른 DIM(100) 및 드론 관리 서버(300)는 암호키 생성을 위해 해쉬 함수 외에 다른 키 유도 함수를 사용할 수 있으며, 이에 한정되지 않는다.
한 실시예에 따른 암호키 생성 방법에서 비밀값 z는 드론(200)에서 생성되어 드론 관리 서버(300)에게 전달되지 않는다. 즉, 한 실시예에 따르면, DIM(100)과 드론 관리 서버(300)는 각각 서로의 인증에 성공한 후 동일한 방식으로 동일한 비밀값 z를 생성하고 비밀값 z로부터 암호키를 유도한다. DIM(100) 및 드론 관리 서버(300)가 암호키를 유도할 때 적용하는 키 유도 함수가 동일하므로, 둘은 동일한 암호키를 비밀값의 교환 또는 전달 없이 생성할 수 있다.
도 5는 한 실시예에 따른 드론 및 드론 관리 서버의 주기적 드론 식별 방법을 나타낸 흐름도이다.
도 4에 따른 DIM(100)(또는 드론(200))과 드론 관리 서버(300) 간의 상호 인증이 완료된 후, 드론(200)의 비행 중에 드론 관리 서버(300)에게 드론 식별 정보를 주기적으로 전송하고, 드론 관리 서버(300)는 주기적으로 전송되는 드론 식별 정보를 바탕으로 드론(200)을 식별한다.
도 5를 참조하면, 드론(200)이 DIM(100)에게 비행체 아이디를 전달하면(S210), DIM(100)은 비행체 아이디를 DIM(100)에 미리 저장되어 있는 고유 식별 정보와 결합하여 드론 식별 정보에 관한 서명값 "Sig(비행체ID∥고유식별정보)"을 생성한다(S220). 예를 들어, 한 실시예에 따른 DIM(100)은 ECDSA와 같은 전자 서명 알고리즘을 사용하여 서명값 "Sig(비행체ID∥고유식별정보)"를 생성할 수 있다. 이후 DIM(100)은 드론(200)을 거쳐 드론 관리 서버(300)에게 "비행체ID∥고유식별정보∥Sig(비행체ID∥고유식별정보)"를 전송한다(S230). 드론 관리 서버(300)는 드론 인증서(Certd)의 드론 공개키(Qd)를 이용하여 서명값 Sig(비행체ID∥고유식별정보)를 검증한다(S240). 이때 도 4에 따라 드론 관리 서버(300)가 드론 상호 인증에 실패하였거나 또는 유효한 드론 인증서를 가지고 있지 않다면, 드론 관리 서버(300)는 드론(200)의 주기적 식별 절차에도 실패하게 된다.
한 실시예에 따른 DIM(100) 및 드론 관리 서버(300)는 드론 식별 정보의 서명값의 생성 및 검증에 ECDSA를 사용하였지만, 다른 공개키 기반 서명 알고리즘도 사용할 수 있고, 이에 한정되지 않는다.
도 6은 한 실시예에 따른 드론 및 드론 관리 서버의 드론 식별 정보의 암호화 방법을 나타낸 흐름도이다.
도 6을 참조하면, 드론(200) 및 드론 관리 서버(300)는 드론 식별 인증 절차를 암호화할 수 있다. 이때, DIM(100)은 도 4에 도시된 상호 인증 절차에서 생성된 암호키 ek를 사용하여 드론 식별 정보 및 드론 식별 정보의 서명값을 암호화할 수 있다. 이때 암호화 알고리즘은 AES(Advanced Encryption Standard) 등의 대칭키 기반 암호화 알고리즘을 포함한다. 도 6에서 드론(200)으로부터 비행체 ID를 수신(S310)한 DIM(100)은 서명값 "Sig(비행체ID∥고유식별정보)"를 생성하고, 암호키 ek를 사용하여 "비행체ID∥고유식별정보"와 "Sig(비행체ID∥고유식별정보)"를 암호화한다(S320). DIM(100)으로부터 드론(200)을 거쳐 암호화된 메시지(E_ek[비행체ID∥고유식별정보∥Sig(비행체ID∥고유식별정보)])를 수신(S330)한 드론 관리 서버(300)는 상호 인증 절차에서 생성된 암호키를 사용하여 암호화된 메시지를 복호하고 서명값을 검증함으로써 드론(200)을 식별한다(S340). 따라서, 드론(200)이 드론 관리 서버(300)에게 전송하는 드론 식별 정보와 드론 식별 정보의 검증값은 드론(200)과 드론 관리 서버(300) 간의 통신 상에서 보호될 수 있다. 즉, 드론 관리 서버(300)만이 드론 식별 정보 및 검증값을 복호하여 드론 식별 정보가 올바른지 여부를 검증할 수 있다.
위에서 설명한 바와 같이 한 실시예에 따른 드론과 드론 관리 서버 간의 상호 인증 절차에 따르면, USIM과 같은 형태로 드론에 부착되거나 또는 다양한 방법으로 드론과 긴밀히 유선 연결될 수 있는 DIM을 사용하여 암호키 또는 암호키 생성을 위한 비밀값의 명시적인 전송 없이 드론과 드론 관리 서버 간의 상호 인증이 수행될 수 있다. DIM은 고유 식별 정보와, 드론의 개인키, 드론의 인증서 등을 미리 저장하고 있으며, 드론과 드론 관리 서버 간의 상호 인증, 드론 식별, 암호 연산의 수행 능력을 갖춘 기능적 모듈이다. DIM은 USIM 카드, 마이크로 SD 카드, eSIM 등 다양한 유형의 하드웨어 형상일 수 있고 또는 소프트웨어로서 구현된 논리적인 기능 모듈일 수 있으며, 그러한 하드웨어 및 소프트웨어의 결합일 수 있다. 해킹 불가능한 DIM을 이용함으로써, 무허가 드론 또는 불법 드론은 드론 관리 서버와의 상호 인증에 성공할 수 없고, 드론 관리 서버는 쉽게 무허가 드론 및 불법 드론을 식별할 수 있다.
도 7은 다른 실시예에 따른 DIM을 나타낸 블록도이다.
한 실시예에 따른 DIM은, 컴퓨터 시스템, 예를 들어 컴퓨터 판독 가능 매체로 구현될 수 있다. 도 7을 참조하면, 컴퓨터 시스템(700)은, 버스(770)를 통해 통신하는 프로세서(710), 메모리(730), 사용자 인터페이스 입력 장치(750), 사용자 인터페이스 출력 장치(760), 및 저장 장치(740) 중 적어도 하나를 포함할 수 있다. 컴퓨터 시스템(700)은 또한 네트워크에 결합된 통신 장치(720)를 포함할 수 있다. 프로세서(710)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(730) 또는 저장 장치(740)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 메모리(730) 및 저장 장치(740)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(read only memory) 및 RAM(random access memory)를 포함할 수 있다. 본 기재의 실시예에서 메모리는 프로세서의 내부 또는 외부에 위치할 수 있고, 메모리는 이미 알려진 다양한 수단을 통해 프로세서와 연결될 수 있다. 메모리는 다양한 형태의 휘발성 또는 비휘발성 저장 매체이며, 예를 들어, 메모리는 읽기 전용 메모리(read-only memory, ROM) 또는 랜덤 액세스 메모리(random access memory, RAM)를 포함할 수 있다. 통신 장치(720)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터에 구현된 방법으로서 구현되거나, 컴퓨터 실행 가능 명령이 저장된 비일시적 컴퓨터 판독 가능 매체로서 구현될 수 있다. 한 실시예에서, 프로세서에 의해 실행될 때, 컴퓨터 판독 가능 명령은 본 기재의 적어도 하나의 양상에 따른 방법을 수행할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. 구체적으로, 본 발명의 실시예에 따른 방법(예, 네트워크 관리 방법, 데이터 전송 방법, 전송 스케줄 생성 방법 등)은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은, 본 발명의 실시예를 위해 특별히 설계되어 구성된 것이거나, 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치를 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등일 수 있다. 프로그램 명령은 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 통해 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (19)

  1. 드론 식별 모듈이 드론을 인증하는 방법으로서,
    상기 드론을 관리하는 서버로부터, 상기 서버의 인증서를 포함하는 드론 인증 요구를 수신하는 단계,
    공인 인증 기관의 공개키를 이용하여 상기 서버의 인증서를 검증하는 단계,
    상기 서버의 인증서가 검증되면, 상기 서버의 인증서로부터 공개키를 추출하고, 추출된 공개키 및 상기 드론의 개인키에 기반하여 제1 비밀값을 계산하는 단계, 그리고
    상기 제1 비밀값 및 키 유도 함수를 사용하여 상기 서버와 상기 드론 간의 암호 통신을 위한 암호키를 생성하는 단계
    를 포함하고,
    상기 제1 비밀값은, 상기 서버가 상기 드론의 인증서로부터 추출된 상기 드론의 공개키에 기반하여 생성하는 제2 비밀값과 동일하고, 상기 암호키는, 상기 서버가 상기 제2 비밀값에 기반하여 생성하는 암호키와 동일한, 드론 인증 방법.
  2. 제1항에서,
    상기 서버와의 암호 통신을 위한 상기 암호키를 생성하는 단계는,
    제1 난수를 생성하는 단계, 그리고
    상기 제1 비밀값, 상기 제1 난수, 및 상기 서버에 의해 생성된 제2 난수를 상기 키 유도 함수의 변수로서 사용하여 상기 암호키를 생성하는 단계
    를 포함하고,
    상기 제2 난수는 상기 드론 인증 요구에 포함되는, 드론 인증 방법.
  3. 제2항에서,
    상기 키 유도 함수는 해시 함수인, 드론 인증 방법.
  4. 제1항에서,
    상기 드론의 개인키와 상기 서버의 공개키를 사용하여 상기 제1 비밀값을 생성하는 단계
    를 더 포함하는 드론 인증 방법.
  5. 제4항에서,
    상기 서버의 공개키는 상기 서버의 개인키와 타원 곡선 암호 알고리즘의 베이스 포인트의 곱이고, 상기 제1 비밀값은 상기 드론의 개인키와 상기 서버의 공개키의 곱인, 드론 인증 방법.
  6. 제1항에서,
    제1 난수를 생성하는 단계,
    상기 드론의 아이디 및 상기 드론에 연결된 드론 식별 모듈의 고유 식별 정보에 기반하여 상기 드론의 드론 식별 정보를 생성하는 단계, 그리고
    상기 제1 난수, 상기 드론 식별 정보, 및 상기 드론의 인증서를 상기 서버에게 전송하는 단계
    를 더 포함하는 드론 인증 방법.
  7. 제1항에서,
    상기 드론의 아이디와 상기 드론에 연결된 드론 식별 모듈의 고유 식별 정보를 바탕으로 상기 드론의 드론 식별 정보의 서명값을 생성하는 단계, 그리고
    상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 주기적으로 상기 서버에게 송신하는 단계
    를 더 포함하고,
    상기 서명값은 상기 드론을 식별하기 위해서 상기 서버에 의해 사용되는, 드론 인증 방법.
  8. 제7항에서,
    상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 주기적으로 상기 서버에게 송신하는 단계는,
    상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 상기 암호키를 사용하여 암호화하는 단계
    를 포함하는, 드론 인증 방법.
  9. 드론 식별 모듈로서,
    프로세서, 메모리, 및 인터페이스 장치를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,
    드론으로부터, 상기 드론을 관리하는 서버의 인증서를 포함하는 드론 인증 요구와, 상기 드론의 아이디를 상기 인터페이스 장치를 통해 수신하는 단계,
    공인 인증 기관의 공개키를 이용하여 상기 서버의 인증서를 검증하는 단계,
    상기 서버의 인증서가 검증되면, 상기 서버의 인증서로부터 공개키를 추출하고, 추출된 공개키 및 상기 드론의 개인키에 기반하여 제1 비밀값에 계산하는 단계, 그리고
    상기 제1 비밀값 및 키 유도 함수를 사용하여 상기 서버와 상기 드론 간의 암호 통신을 위한 암호키를 생성하는 단계
    를 수행하고,
    상기 제1 비밀값은, 상기 서버가 상기 드론의 인증서로부터 추출된 공개키에 기반하여 생성하는 제2 비밀값과 동일하고, 상기 암호키는, 상기 서버가 상기 제2 비밀값으로부터 생성하는 암호키와 동일한, 드론 식별 모듈.
  10. 제9항에서,
    상기 프로세서는 상기 서버와 상기 드론 간의 암호 통신을 위한 상기 암호키를 생성하는 단계를 수행할 때,
    제1 난수를 생성하는 단계, 그리고
    상기 제1 비밀값, 상기 제1 난수, 및 상기 서버에 의해 생성된 제2 난수를 상기 키 유도 함수의 변수로서 사용하여 상기 암호키를 생성하는 단계
    를 수행하고,
    상기 제2 난수는 상기 드론 인증 요구에 포함되는, 드론 식별 모듈.
  11. 제10항에서,
    상기 키 유도 함수는 해시 함수인, 드론 식별 모듈.
  12. 제9항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 드론의 개인키와 상기 서버의 공개키를 사용하여 상기 제1 비밀값을 생성하는 단계
    를 더 수행하는, 드론 식별 모듈.
  13. 제12항에서,
    상기 서버의 공개키는 상기 서버의 개인키와 타원 곡선 암호 알고리즘의 베이스 포인트의 곱이고, 상기 제1 비밀값은 상기 드론의 개인키와 상기 서버의 공개키의 곱인, 드론 식별 모듈.
  14. 제9항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    제1 난수를 생성하는 단계,
    상기 드론의 아이디 및 상기 드론에 연결된 드론 식별 모듈의 고유 식별 정보에 기반하여 상기 드론의 드론 식별 정보를 생성하는 단계, 그리고
    상기 제1 난수, 상기 드론 식별 정보, 및 상기 드론의 인증서를 상기 서버에게 전송하는 단계
    를 더 수행하는, 드론 식별 모듈.
  15. 제9항에서,
    상기 드론의 아이디와 상기 드론 식별 모듈에 미리 저장된 고유 식별 정보를 바탕으로 상기 드론의 드론 식별 정보의 서명값을 생성하는 단계, 그리고
    상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 주기적으로 상기 서버에게 송신하는 단계
    를 더 포함하고,
    상기 서명값은 상기 드론을 식별하기 위해서 상기 서버에 의해 사용되는, 드론 식별 모듈.
  16. 제15항에서,
    상기 프로세서는 상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 주기적으로 상기 서버에게 송신하는 단계를 수행할 때,
    상기 드론의 아이디, 상기 고유 식별 정보, 및 상기 서명값을 상기 암호키를 사용하여 암호화하는 단계
    를 수행하는, 드론 식별 모듈.
  17. 무인 비행 장치로서,
    프로세서, 메모리, 상기 무인 비행 장치를 관리하는 서버와의 통신을 위한 무선 통신부, 및 식별 모듈과의 연결을 위한 인터페이스 장치를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,
    상기 서버로부터 상기 무선 통신부를 통해 상기 서버의 인증서를 포함하는 인증 요구를 수신하고, 상기 인터페이스 장치를 통해 상기 인증 요구 및 상기 무인 비행 장치의 아이디를 상기 식별 모듈에게 전달하는 단계,
    상기 식별 모듈에 의해 상기 서버의 인증서가 검증되면, 상기 서버에게 상기 무선 통신부를 통해 상기 무인 비행 장치의 인증서, 상기 무인 비행 장치의 식별 정보, 제1 난수를 송신하는 단계, 그리고
    상기 서버에게 상기 무선 통신부를 통해, 상기 식별 모듈에 의해 상기 서버의 인증서에 기반하여 생성된 암호키를 사용하여 암호화된 데이터를 송신하는 단계
    를 수행하고,
    상기 암호키는, 상기 서버가 상기 무인 비행 장치의 인증서 및 상기 제1 난수에 기반하여 생성하는 암호키와 동일한, 무인 비행 장치.
  18. 제17항에서,
    상기 암호키는 상기 식별 모듈에 의해 생성된 비밀값, 상기 제1 난수, 및 상기 인증 요구에 포함된 제2 난수의 곱이고, 상기 비밀값은 상기 서버의 인증서로부터 추출된 상기 서버의 공개키와 상기 무인 비행 장치의 개인키의 곱인, 무인 비행 장치.
  19. 제18항에서,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 무인 비행 장치의 아이디, 상기 식별 모듈의 고유 식별 정보, 및 상기 무인 비행 장치의 아이디 및 상기 고유 식별 정보를 바탕으로 생성된 상기 무인 비행 장치의 식별 정보의 서명값을 상기 서버에게 상기 무선 통신부를 통해 주기적으로 송신하는 단계
    를 더 수행하는, 무인 비행 장치.
KR1020180124740A 2018-10-18 2018-10-18 Dim을 이용한 드론 인증 방법 및 장치 KR102415628B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180124740A KR102415628B1 (ko) 2018-10-18 2018-10-18 Dim을 이용한 드론 인증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180124740A KR102415628B1 (ko) 2018-10-18 2018-10-18 Dim을 이용한 드론 인증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200043855A KR20200043855A (ko) 2020-04-28
KR102415628B1 true KR102415628B1 (ko) 2022-07-01

Family

ID=70456233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180124740A KR102415628B1 (ko) 2018-10-18 2018-10-18 Dim을 이용한 드론 인증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102415628B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102411850B1 (ko) 2021-05-11 2022-06-22 유비벨록스(주) 드론 식별 시스템
CN116233841B (zh) * 2023-02-02 2023-08-25 深圳市华赛睿飞智能科技有限公司 一种交互认证方法和相应装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271875A1 (en) * 2001-06-21 2003-01-02 Koninklijke Philips Electronics N.V. Device arranged for exchanging data, and method of manufacturing
KR101366243B1 (ko) * 2006-12-04 2014-02-20 삼성전자주식회사 인증을 통한 데이터 전송 방법 및 그 장치
KR20180041532A (ko) * 2016-10-14 2018-04-24 삼성전자주식회사 전자 장치들 간 연결 방법 및 장치
KR20180057468A (ko) * 2016-11-21 2018-05-30 고려대학교 산학협력단 하이브리드 pki 기반 드론 인증 시스템 및 드론 관리 서버

Also Published As

Publication number Publication date
KR20200043855A (ko) 2020-04-28

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
US10708062B2 (en) In-vehicle information communication system and authentication method
CN113545006B (zh) 远程授权访问锁定的数据存储设备
US10015159B2 (en) Terminal authentication system, server device, and terminal authentication method
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN111614621B (zh) 物联网通信方法和系统
JP2002344438A (ja) 鍵共有システム及び装置並びにプログラム
US11831752B2 (en) Initializing a data storage device with a manager device
KR101531662B1 (ko) 사용자 단말과 서버간 상호 인증 방법 및 시스템
CN111740995B (zh) 一种授权认证方法及相关装置
US10693645B2 (en) Security management system for performing a secure transmission of data from a token to a service provider server by means of an identity provider server
US11582607B2 (en) Wireless security protocol
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
CN112383395A (zh) 密钥协商方法及装置
CN115150180A (zh) 存储设备管理方法、存储设备、管理设备及存储介质
US12118103B2 (en) Certificates in data storage devices
KR102415628B1 (ko) Dim을 이용한 드론 인증 방법 및 장치
CN113115255A (zh) 证书下发、密钥认证、车辆解锁方法、设备及存储介质
CN116015906B (zh) 用于隐私计算的节点授权方法、节点通信方法和装置
KR102523416B1 (ko) 이미지에 대한 보안 기능을 제공하는 보안 장치, 이를 포함하는 카메라 장치 및 카메라 장치를 제어하는 시스템 온 칩
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム
CN112887983A (zh) 设备身份认证方法、装置、设备及介质
EP3035589A1 (en) Security management system for authenticating a token by a service provider server
US12101418B2 (en) Cryptographic keys for authorization requests from a data storage device

Legal Events

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