KR20230046153A - Method and system for managing drones rental - Google Patents

Method and system for managing drones rental Download PDF

Info

Publication number
KR20230046153A
KR20230046153A KR1020210129282A KR20210129282A KR20230046153A KR 20230046153 A KR20230046153 A KR 20230046153A KR 1020210129282 A KR1020210129282 A KR 1020210129282A KR 20210129282 A KR20210129282 A KR 20210129282A KR 20230046153 A KR20230046153 A KR 20230046153A
Authority
KR
South Korea
Prior art keywords
drone
base station
user terminal
rental
signature value
Prior art date
Application number
KR1020210129282A
Other languages
Korean (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 KR1020210129282A priority Critical patent/KR20230046153A/en
Publication of KR20230046153A publication Critical patent/KR20230046153A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • 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/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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed are a drone rental method and system. According to an embodiment of the present invention, provided are a drone rental method and system, wherein the drone rental method includes the steps of: generating drone request information based on drone information at a user terminal; receiving the drone request information from a rental server, checking a drone ID included in the drone request information, and transmitting the drone request information to the drone corresponding to the drone ID; receiving the drone request information from the drone, checking whether the drone is rented, and generating payment request information and rental confirmation information; and receiving the payment request information and rental confirmation information from the user terminal and generating payment information. Therefore, the drone which suits a user's purpose can be easily rented.

Description

드론 대여 방법 및 시스템{METHOD AND SYSTEM FOR MANAGING DRONES RENTAL}Drone rental method and system {METHOD AND SYSTEM FOR MANAGING DRONES RENTAL}

본 발명의 실시예들은 드론 대여 기술과 관련된다.Embodiments of the present invention relate to drone rental technology.

드론은 무선전파로 조종할 수 있는 무인 항공기다. 카메라, 센서, 통신시스템 등이 탑재돼 있으며 25g부터 1200kg까지 무게와 크기도 다양하다.A drone is an unmanned aerial vehicle that can be controlled by radio waves. It is equipped with a camera, sensor, and communication system, and its weight and size range from 25g to 1200kg.

드론은 처음에 공군기나 고사포, 미사일의 연습사격에 적기 대신 표적 구실로 사용되었으나, 점차 무선기술의 발달과 함께 정찰기 개발되어 적의 내륙 깊숙히 침투하여 정찰, 감시의 용도로도 운용되었다. 근래에 들어 드론에 미사일 등 각종 무기를 장착하여 공격기로도 활용되고 있다. 드론의 활용 목적에 따라 다양한 크기와 성능을 가진 비행체들이 다양하게 개발되고 있는데 대형 비행체의 군사용뿐만 아니라, 초소형 드론도 활발하게 개발 연구되고 있다.At first, drones were used as targets instead of enemy planes for practice shooting of air force planes, antiaircraft guns, and missiles. In recent years, drones have been equipped with various weapons such as missiles to be used as attack aircraft. Depending on the purpose of drone use, various sizes and performance vehicles are being developed.

또한, 개인의 취미활동으로 개발되어 상품화된 것도 많이 있다. 정글이나 오지, 화산지역, 자연재해지역, 원자력 발전소 사고지역 등 인간이 접근할 수 없는 지역에 드론을 투입하여 운용한다. 최근에는 드론을 활용하여 농약을 살포하거나, 공기질을 측정하는 등 드론의 활용 범위가 점차 넓어지고 있다.In addition, there are many products that have been developed and commercialized as personal hobbies. Drones are put into and operated in areas inaccessible to humans, such as jungles, remote areas, volcanic areas, natural disaster areas, and nuclear power plant accident areas. In recent years, the range of use of drones has gradually expanded, such as spraying pesticides or measuring air quality using drones.

이에 따라, 드론을 렌탈하는 사업이 확대되고 있으나, 기존의 드론 렌탈 사업의 경우 사업자가 직접 이용자에게 전달하는 방식으로 진행되는 문제점이 있다.Accordingly, the business of renting drones is expanding, but in the case of the existing drone rental business, there is a problem in that the operator directly delivers the drone to the user.

대한민국 등록특허공보 제10-1866071호 (2018.06.01.)Republic of Korea Patent Registration No. 10-1866071 (2018.06.01.)

본 발명의 실시예들은 대여자로부터 제공된 드론을 이용하고자 하는 사용자에게 대여하기 위한 드론 대여 방법 및 시스템을 제공하기 위한 것이다.Embodiments of the present invention are to provide a drone rental method and system for renting a drone provided from a rental company to a user who wants to use it.

또한, 본 발명의 실시예들은 드론이 사용자가 대여하고자 하는 목적지로 이동하여 목적지 확인 및 인증을 수행하기 위한 드론 대여 방법 및 시스템을 제공하기 위한 것이다.In addition, embodiments of the present invention are to provide a drone rental method and system for moving a drone to a destination to be rented by a user and confirming and authenticating the destination.

본 발명의 예시적인 실시예에 따르면, 사용자 단말에서 드론 정보를 바탕으로 드론 요청 정보를 생성하는 단계, 대여 서버에서 상기 드론 요청 정보를 수신하고, 상기 드론 요청 정보에 포함된 드론 아이디를 확인하여 상기 드론 아이디에 대응하는 드론으로 상기 드론 요청 정보를 전송하는 단계, 드론에서 상기 드론 요청 정보를 수신하고, 드론 대여 여부를 확인하여 결제 요청 정보 및 대여 확인 정보를 생성하는 단계 및 상기 사용자 단말에서 상기 결제 요청 정보 및 대여 확인 정보를 수신하고, 결제 정보를 생성하는 단계를 포함하는 드론 대여 방법이 제공된다.According to an exemplary embodiment of the present invention, generating drone request information based on drone information in a user terminal, receiving the drone request information in a rental server, checking a drone ID included in the drone request information, and Transmitting the drone request information to a drone corresponding to the drone ID, receiving the drone request information from the drone, generating payment request information and rental confirmation information by checking whether or not the drone is rented, and making the payment in the user terminal A drone rental method including receiving request information and rental confirmation information and generating payment information is provided.

상기 드론 요청 정보를 생성하는 단계는 상기 대여 서버에서 복수의 드론으로부터 드론 정보들을 수신하고, 상기 드론 정보들을 기반으로 대여 가능한 드론을 확인할 수 있도록 대여 드론 리스트를 제공하는 단계 및 상기 사용자 단말에서 상기 대여 드론 리스트를 기반으로 대여하고자 하는 드론의 드론 정보를 선택하는 단계를 더 포함할 수 있다.The generating of the drone request information includes receiving drone information from a plurality of drones in the rental server and providing a rental drone list so that drones that can be rented can be identified based on the drone information, and the user terminal is provided with the rental drone list. The method may further include selecting drone information of a drone to be rented based on the drone list.

상기 드론 대여 방법은 상기 사용자 단말에서 사용자 단말 공개키 및 상기 결제 정보를 상기 대여 서버로 전송하는 단계 및 상기 드론에서 상기 대여 서버로부터 상기 사용자 단말 공개키 및 상기 결제 정보를 수신하고, 목적지로 이동하는 단계를 더 포함할 수 있다,The drone rental method includes transmitting the user terminal public key and the payment information from the user terminal to the rental server, and receiving the user terminal public key and the payment information from the rental server in the drone and moving to a destination. It may include more steps,

상기 드론 대여 방법은 상기 목적지에 도착한 후 상기 드론에서 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅하는 단계를 더 포함할 수 있다.In the drone rental method, after arriving at the destination, the drone generates a drone signature value by processing a location confirmation message including a drone-side random number value, a drone ID, a user ID, and a location confirmation request, and signing the location confirmation message with a drone private key. and broadcasting the location confirmation message and the drone signature value.

상기 드론 대여 방법은 상기 드론 서명값을 수신한 상기 사용자 단말에서 상기 드론 정보에 포함된 드론 공개키를 이용하여 상기 드론 서명값을 확인하는 단계, 상기 사용자 단말에서 상기 드론측 난수값 및 상기 사용자 아이디를 포함하는 인증 확인 메시지를 사용자 단말 비밀키로 서명 처리하여 생성한 사용자 단말 서명값을 상기 드론으로 전송하는 단계 및 상기 사용자 단말 서명값을 수신한 상기 드론에서 상기 사용자 단말 공개키를 이용하여 상기 사용자 단말 서명값을 확인하는 단계를 더 포함할 수 있다.The drone rental method includes: checking the drone signature value using a drone public key included in the drone information at the user terminal that has received the drone signature value; and, at the user terminal, the drone-side random number and the user ID. Sending a user terminal signature value generated by signing an authentication confirmation message including a user terminal signature with the user terminal private key to the drone, and the drone receiving the user terminal signature value uses the user terminal public key to transmit the user terminal signature value to the drone. A step of verifying the signature value may be further included.

상기 드론 서명값을 확인하는 단계는 상기 사용자 단말에서 상기 드론 서명값이 상기 드론 공개키에 대응하는 상기 드론 비밀키로 서명 처리된 것인지 확인하는 단계 및 상기 사용자 단말에서 상기 드론 비밀키로 서명 처리된 것으로 확인되면, 상기 드론에 대한 인증이 성공한 것으로 판단하는 단계를 더 포함할 수 있다.The step of verifying the drone signature value includes checking whether the drone signature value has been signed with the drone private key corresponding to the drone public key in the user terminal, and confirming that the drone signature value has been signed with the drone private key in the user terminal. If it is, the step of determining that authentication for the drone is successful may be further included.

상기 사용자 단말 서명값을 확인하는 단계는 상기 드론에서 상기 사용자 단말 서명값이 상기 사용자 단말 공개키에 대응하는 상기 사용자 단말 비밀키로 서명 처리된 것인지 확인하는 단계 및 상기 드론에서 상기 사용자 단말 비밀키로 서명 처리된 것으로 확인되면, 상기 사용자 단말에 대한 인증이 성공한 것으로 판단하는 단계를 더 포함할 수 있다.The checking of the user terminal signature value may include a step of verifying in the drone whether the signature value of the user terminal is signed with the user terminal private key corresponding to the user terminal public key, and a signature processing with the user terminal private key in the drone. If it is confirmed that authentication has been performed, the method may further include determining that authentication of the user terminal is successful.

상기 드론 대여 방법은 상기 위치 확인 메시지를 수신한 베이스 스테이션에서 상기 드론측 난수값, 상기 드론 아이디 및 베이스 스테이션 공개키를 포함하는 위치 식별 메시지를 생성하는 단계, 상기 베이스 스테이션에서 상기 위치 식별 메시지를 베이스 스테이션 비밀키로 서명 처리하여 베이스 스테이션 서명값을 생성하는 단계, 상기 베이스 스테이션에서 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 상기 드론으로 전송하는 단계 및 상기 드론에서 기 저장된 베이스 스테이션 공개키 중 상기 베이스 스테이션 공개키와 일치하는 베이스 스테이션 공개키가 존재하는 경우, 상기 일치하는 베이스 스테이션 공개키를 이용하여 상기 베이스 스테이션 서명값을 확인하는 단계를 더 포함할 수 있다.The drone rental method includes generating a location identification message including a drone-side random number value, the drone ID, and a base station public key at a base station receiving the location confirmation message; Generating a base station signature value by processing a signature with a station private key, transmitting the base station public key and the base station signature value from the base station to the drone, and the base station public key pre-stored in the drone. The method may further include verifying the base station signature value using the matching base station public key if there is a base station public key that matches the station public key.

상기 베이스 스테이션이 복수 개인 경우 기 설정된 영역별로 각각 위치하며, 상기 목적지로 이동하는 단계 이전에, 상기 복수의 베이스 스테이션에서 각각 베이스 스테이션 공개키 및 베이스 스테이션 비밀키를 발급받는 단계, 상기 대여 서버에서 상기 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 획득하는 단계 및 상기 드론에서 상기 대여 서버로부터 상기 사용자 단말 공개키, 상기 결제 정보, 상기 복수의 베이스 스테이션 아이디 및 상기 복수의 베이스 스테이션 공개키를 수신하여 저장하는 단계를 더 포함할 수 있다.If there are a plurality of base stations, each of which is located in a preset area, and before moving to the destination, a step of issuing a base station public key and a base station private key from each of the plurality of base stations; Acquiring valid IDs of multiple base stations and public keys of multiple base stations located at a destination, and in the drone, from the rental server, the user terminal public key, the payment information, IDs of multiple base stations, and public keys of multiple base stations. The method may further include receiving and storing the station public key.

상기 베이스 스테이션 서명값을 확인하는 단계는 상기 드론에서 상기 베이스 스테이션 서명값이 상기 베이스 스테이션 공개키에 대응하는 상기 베이스 스테이션 비밀키로 서명 처리된 것인지 확인하여 상기 베이스 스테이션 서명값의 유효성을 검증하는 단계 및 상기 드론에서 상기 유효성이 검증된 베이스 스테이션 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단할 수 있다.The verifying of the base station signature value may include verifying validity of the base station signature value by verifying in the drone whether the base station signature value is signed with the base station private key corresponding to the base station public key; and When the base station signature value whose validity has been verified in the drone is equal to or greater than a preset standard, it may be determined that the positioning is successful.

본 발명의 다른 예시적인 실시예에 따르면, 드론 정보를 바탕으로 드론 요청 정보를 생성하는 사용자 단말, 상기 드론 요청 정보를 수신하고, 상기 드론 요청 정보에 포함된 드론 아이디를 확인하여 상기 드론 아이디에 대응하는 드론으로 상기 드론 요청 정보를 전송하는 대여 서버 및 상기 드론 요청 정보를 수신하고, 드론 대여 여부를 확인하여 결제 요청 정보 및 대여 확인 정보를 생성하는 드론을 포함하며, 상기 사용자 단말은 상기 결제 요청 정보 및 대여 확인 정보를 수신하고, 결제 정보를 생성하는 드론 대여 시스템이 제공된다.According to another exemplary embodiment of the present invention, a user terminal that generates drone request information based on drone information, receives the drone request information, checks a drone ID included in the drone request information, and responds to the drone ID. and a rental server that transmits the drone request information to a drone that receives the drone request information, and a drone that checks whether or not the drone is rented and generates payment request information and rental confirmation information, wherein the user terminal includes the payment request information and a drone rental system for receiving rental confirmation information and generating payment information.

상기 사용자 단말은 상기 대여 서버로부터 제공되는 대여 드론 리스트를 기반으로 대여하고자 하는 드론의 드론 정보를 선택할 수 있다.The user terminal may select drone information of a drone to be rented based on a rental drone list provided from the rental server.

상기 사용자 단말은 사용자 단말 공개키 및 상기 결제 정보를 상기 대여 서버로 전송하며, 상기 드론은 상기 대여 서버로부터 상기 사용자 단말 공개키 및 상기 결제 정보를 수신하고, 목적지로 이동할 수 있다.The user terminal transmits the user terminal public key and the payment information to the rental server, and the drone may receive the user terminal public key and the payment information from the rental server and move to a destination.

상기 드론은 상기 목적지에 도착한 후, 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅할 수 있다.After arriving at the destination, the drone generates a drone signature value by processing a location confirmation message including a drone-side random number value, a drone ID, a user ID, and a location confirmation request, and signing the location confirmation message with the drone secret key, A confirmation message and the drone signature value may be broadcast.

상기 사용자 단말은 상기 드론 서명값을 수신하고, 상기 드론 정보에 포함된 드론 공개키를 이용하여 상기 드론 서명값을 확인하며, 상기 드론측 난수값 및 상기 사용자 아이디를 포함하는 인증 확인 메시지를 사용자 단말 비밀키로 서명 처리하여 생성할 수 있다.The user terminal receives the drone signature value, verifies the drone signature value using the drone public key included in the drone information, and sends an authentication confirmation message including the drone-side random number value and the user ID to the user terminal. It can be created by signing with a private key.

상기 드론은 상기 사용자 단말 서명값을 수신하고, 상기 사용자 단말 공개키를 이용하여 상기 사용자 단말 서명값을 확인할 수 있다.The drone may receive the user terminal signature value and verify the user terminal signature value using the user terminal public key.

상기 드론 대여 시스템은 기 설정된 영역별로 각각 위치하여, 상기 위치 확인 메시지를 수신하며, 상기 드론측 난수값, 상기 드론 아이디 및 베이스 스테이션 공개키를 포함하는 위치 식별 메시지를 생성하고, 상기 위치 식별 메시지를 베이스 스테이션 비밀키로 서명 처리하여 베이스 스테이션 서명값을 생성하며, 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 상기 드론으로 전송하는 복수의 베이스 스테이션을 포함할 수 있다.The drone rental system is located for each preset area, receives the location confirmation message, generates a location identification message including the drone-side random number value, the drone ID, and the base station public key, and transmits the location identification message. It may include a plurality of base stations that generate a base station signature value by performing signature processing with a base station private key, and transmit the base station public key and the base station signature value to the drone.

상기 드론은 상기 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 획득한 대여 서버로부터 상기 복수의 베이스 스테이션 아이디 및 상기 복수의 베이스 스테이션 공개키를 수신하여 저장하며, 상기 저장된 베이스 스테이션 공개키 중 상기 베이스 스테이션 공개키와 일치하는 베이스 스테이션 공개키가 존재하는 경우, 상기 일치하는 베이스 스테이션 공개키를 이용하여 상기 베이스 스테이션 서명값을 확인할 수 있다.The drone receives and stores the plurality of base station IDs and the plurality of base station public keys from a rental server that has obtained a plurality of valid base station IDs and a plurality of base station public keys located in the destination, and stores the plurality of base station IDs and base station public keys. If there is a base station public key that matches the base station public key among station public keys, the base station signature value can be verified using the matching base station public key.

상기 드론은 상기 베이스 스테이션 서명값이 상기 베이스 스테이션 공개키에 대응하는 상기 베이스 스테이션 비밀키로 서명 처리된 것인지 확인하여 상기 베이스 스테이션 서명값의 유효성을 검증하고, 상기 유효성이 검증된 베이스 스테이션 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단할 수 있다.The drone verifies the validity of the base station signature value by checking whether the base station signature value has been signed with the base station private key corresponding to the base station public key, and the validated base station signature value is the base station signature value. If it is equal to or greater than the set criterion, it may be determined that the positioning is successful.

본 발명의 또 다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 드론 대여 방법으로서, 사용자 단말로부터 드론 요청 정보를 수신하고 드론 대여 여부를 확인하며, 결제 요청 정보 및 대여 확인 정보를 생성하여 상기 사용자 단말로 전송하는 단계, 상기 사용자 단말로부터 사용자 단말 공개키, 결제 정보, 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 수신하여 저장하는 단계, 상기 목적지에 도착한 후, 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅하는 단계, 복수의 베이스 스테이션으로부터 전송되는 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 기초로 현재 위치를 확인하는 단계 및 상기 사용자 단말로부터 전송되는 사용자 단말 서명값을 기초로 상기 사용자 단말에 대하여 인증하는 단계를 포함하는 드론 대여 방법이 제공된다.According to another exemplary embodiment of the present invention, a drone rental method performed in a computing device having one or more processors and a memory for storing one or more programs executed by the one or more processors, from a user terminal Receiving drone request information, confirming whether or not to rent a drone, generating payment request information and rental confirmation information, and transmitting the information to the user terminal. Receiving and storing a base station ID and a plurality of base station public keys, after arriving at the destination, a drone-side random number value, a drone ID, a location confirmation message including a user ID and a location confirmation request, and the location confirmation message Generating a drone signature value by signature processing with a private key, and broadcasting the location confirmation message and the drone signature value, the current location based on the base station public key and the base station signature value transmitted from a plurality of base stations. There is provided a drone rental method including the step of verifying and authenticating the user terminal based on the user terminal signature value transmitted from the user terminal.

본 발명의 실시예들에 따르면, 드론을 이용하고자 하는 사용자가 대여자로부터 제공된 드론 중에서 사용자의 목적에 맞는 드론을 용이하게 대여할 수 있는 효과가 있다.According to embodiments of the present invention, there is an effect that a user who wants to use a drone can easily rent a drone suitable for the user's purpose from among drones provided by a rental company.

또한, 본 발명의 실시예에 따르면, 드론이 사용자가 대여하고자 하는 목적지로 이동하여 목적지 확인 및 인증을 수행함으로써, 드론이 목적지가 아닌 다른 장소에서 작업을 수행하는 것을 방지할 수 있는 효과가 있다.In addition, according to an embodiment of the present invention, the drone moves to the destination to be rented by the user and checks and authenticates the destination, thereby preventing the drone from performing work in a place other than the destination.

도 1은 본 발명의 일 실시예에 따른 드론 대여 시스템을 설명하기 위한 구성도
도 2는 본 발명의 일 실시예에 따른 드론 대여 시스템의 드론을 설명하기 위한 블록도
도 3은 본 발명의 일 실시예에 따른 드론 대여 시스템의 베이스 스테이션을 설명하기 위한 블록도
도 4는 본 발명의 일 실시예에 따른 드론 대여 방법에서 위치 확인 과정을 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 드론 대여 방법을 설명하기 위한 흐름도
도 6은 본 발명의 일 실시예에 따른 드론 대여 방법에서 위치 확인 및 인증을 수행하는 방법을 설명하기 위한 흐름도
도 7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a configuration diagram for explaining a drone rental system according to an embodiment of the present invention
2 is a block diagram for explaining a drone of a drone rental system according to an embodiment of the present invention.
3 is a block diagram for explaining a base station of a drone rental system according to an embodiment of the present invention.
4 is a view showing a location confirmation process in a drone rental method according to an embodiment of the present invention
5 is a flowchart for explaining a drone rental method according to an embodiment of the present invention
6 is a flowchart for explaining a method of performing location check and authentication in a drone rental method according to an embodiment of the present invention.
7 is a block diagram for illustrating and describing a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is only for describing the embodiments of the present invention and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성 된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, embodiments of the present invention may include a program for performing the methods described in this specification on a computer, and a computer readable recording medium including the program. The computer readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be specially designed and configured for the present invention, or may be commonly available in the field of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and specially configured to store and execute program instructions such as ROM, RAM, and flash memory. hardware devices included. Examples of the program may include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter.

이하에서 개시하는 스마트 파밍 농장은 다양한 유형의 전자 데이터 수집 센서를 사용하여 자산과 자원을 효율적으로 관리하는데 필요한 정보를 제공하는 지역으로, 액세스 포인트(AP) 등 통신 네트워크 인프라가 구역마다 존재하는 지역을 의미할 수 있다. 이때, 액세스 포인트는 이하에서 개시하는 베이스 스테이션(400)과 동일 구성일 수 있다.The smart farming farm disclosed below is an area that provides information necessary for efficient management of assets and resources using various types of electronic data collection sensors, and is an area where communication network infrastructure such as access points (AP) exists in each area. can mean At this time, the access point may have the same configuration as the base station 400 disclosed below.

도 1은 본 발명의 일 실시예에 따른 드론 대여 시스템을 설명하기 위한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 드론 대여 시스템의 드론을 설명하기 위한 블록도이며, 도 3은 본 발명의 일 실시예에 따른 드론 대여 시스템의 베이스 스테이션을 설명하기 위한 블록도이다.1 is a block diagram for explaining a drone rental system according to an embodiment of the present invention, FIG. 2 is a block diagram for explaining a drone of the drone rental system according to an embodiment of the present invention, and FIG. It is a block diagram for explaining a base station of a drone rental system according to an embodiment of the present invention.

도 1 내지 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 드론 대여 시스템은 사용자 단말(100), 대여 서버(200), 드론(300) 및 복수의 베이스 스테이션(400)을 포함할 수 있다.1 to 3, the drone rental system according to an embodiment of the present invention may include a user terminal 100, a rental server 200, a drone 300, and a plurality of base stations 400. can

사용자 단말(100), 대여 서버(200), 드론(300) 및 복수의 베이스 스테이션(400)은 각각 통신 네트워크를 사용하여 연결됨에 따라, 통신가능할 수 있다.As the user terminal 100, the rental server 200, the drone 300, and the plurality of base stations 400 are each connected using a communication network, communication may be possible.

몇몇 실시 예들에서, 통신 네트워크는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.In some embodiments, the communication network includes the Internet, one or more local area networks, wire area networks, cellular networks, mobile networks, other types of networks, or combinations of these networks. can do.

사용자 단말(100)은 드론(300)을 대여하고자 하는 사용자의 단말기일 수 있다. 예를 들어, 사용자는 드론(300)을 활용하여 스마트 파밍(물주기, 농약/비료 살포, 모니터링 등)을 통한 스마트 파밍 농장을 운영하는 사람일 수 있다. 사용자 단말(100)은 인터넷 또는 모바일 접속용 단말로, 예를 들어, 데스크톱, 노트북 등의 PC, 스마트폰, 태블릿 등의 휴대 단말 등을 포함하여, 인터넷 또는 모바일 접속이 가능한 모든 장치를 포함할 수 있다. 사용자 단말(100)은 대여 서버(200) 및 드론(300)과 무선 통신을 이용하여 데이터 통신을 수행할 수 있다. The user terminal 100 may be a terminal of a user who wants to rent the drone 300. For example, the user may be a person who operates a smart farming farm through smart farming (watering, pesticide/fertilizer spraying, monitoring, etc.) using the drone 300 . The user terminal 100 is a terminal for Internet or mobile access, and may include, for example, all devices capable of Internet or mobile access, including PCs such as desktops and laptops, mobile terminals such as smart phones and tablets, and the like. there is. The user terminal 100 may perform data communication with the rental server 200 and the drone 300 using wireless communication.

또한, 사용자 단말(100)은 드론 대여 서비스를 제공하기 위한 어플리케이션이 설치될 수 있다. 상기 어플리케이션은 사용자 단말(100)의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 상기 어플리케이션은 사용자 단말(100)의 프로세서에 의해 실행 가능한 명령어의 소정의 집합을 포함한다. 상기 명령어는 사용자 단말(100)의 프로세서로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다. 사용자 단말(100)의 컴퓨터 판독 가능 저장 매체는 사용자 단말(100) 상에서 상기 어플리케이션과 같은 명령어 집합을 실행하기 위한 운영 체제의 컴포넌트들을 포함한다. 예를 들어, 이러한 운영 체제는 애플(Apple) 사의 iOS 또는 구글(Google) 사의 Android 일 수 있다.In addition, an application for providing a drone rental service may be installed in the user terminal 100 . The application may be stored in a computer readable storage medium of the user terminal 100 . The application includes a predetermined set of commands executable by the processor of the user terminal 100 . The command may cause a processor of the user terminal 100 to perform an operation according to an exemplary embodiment. The computer readable storage medium of the user terminal 100 includes components of an operating system for executing a command set such as the application on the user terminal 100 . For example, such an operating system may be Apple's iOS or Google's Android.

여기서, 드론 대여 서비스를 제공하기 위한 어플리케이션은 사용자가 드론 대여 서비스를 이용하기 위하여 드론 요청 정보를 입력할 수 있는 입력 인터페이스(예를 들어, 다수의 메뉴 중 선택, 키 입력)을 제공할 수 있다. 예를 들어, 드론 요청 정보는 드론 아이디(ID_D), 드론(300)의 사용 시간, 드론(300)을 대여할 지역(목적지), 드론(300)이 수행할 작업 등을 포함할 수 있다.Here, the application for providing the drone rental service may provide an input interface (eg, selection from a plurality of menus, key input) through which the user may input drone request information in order to use the drone rental service. For example, the drone request information may include a drone ID (ID_D), usage time of the drone 300, a rental area (destination) of the drone 300, a task to be performed by the drone 300, and the like.

사용자 단말(100)은 드론 요청 정보를 대여 서버(200)로 전송하고, 대여 서버(200)로부터 결제 요청 정보 및 대여 확인 정보를 수신할 수 있다. 이 때, 사용자는 대여 서버(200)에서 대여 드론 리스트를 조회하여 대여하고자 하는 드론의 드론 정보를 선택할 수 있다. 여기서, 드론 정보는 드론(300)의 성능, 드론 아이디(ID_D), 드론(300)의 공개키(pk_D), 대여 가격, 수행 가능한 기능, 비행 및 수행 가능한 장소, 주소 등을 포함할 수 있다. 또한, 사용자 단말(100)은 대여 서버(200)로부터 수신한 결제 요청 정보에 대해 결제를 수행하여 결제 정보를 생성하고, 대여 서버(200)로 결제 정보를 전송할 수 있다. 여기서, 결제 정보는 사용자 아이디(ID_C), 결제 내역 등을 포함할 수 있다. 또한, 사용자 단말(100)은 대여 서버(200)로 사용자 단말(100)의 공개키(pk_C)를 전송할 수 있다.The user terminal 100 may transmit drone request information to the rental server 200 and receive payment request information and rental confirmation information from the rental server 200 . At this time, the user may search the rental drone list in the rental server 200 and select drone information of a drone to be rented. Here, the drone information may include performance of the drone 300, a drone ID (ID_D), a public key (pk_D) of the drone 300, a rental price, a function that can be performed, a location where flight and performance can be performed, an address, and the like. In addition, the user terminal 100 may perform payment on the payment request information received from the rental server 200 to generate payment information, and transmit the payment information to the rental server 200 . Here, the payment information may include a user ID (ID_C), payment details, and the like. In addition, the user terminal 100 may transmit the public key (pk_C) of the user terminal 100 to the rental server 200 .

또한, 사용자 단말(100)은 목적지에 도착한 드론(300)으로부터 브로드캐스팅(broadcasting)된 드론(300)의 서명값 및 위치 확인 메시지가 수신되면, 해당 드론(300)의 공개키(pk_D)를 이용하여 드론(300)의 서명값을 확인할 수 있다. 사용자 단말(100)은 드론(300)의 서명값이 드론(300)의 공개키(pk_D)에 대응하는 드론(300)의 비밀키(sk_D)로 서명 처리된 것으로 확인되면, 드론(300)에 대한 인증이 성공한 것으로 판단할 수 있다. 사용자 단말(100)은 드론(300)의 서명값이 드론(300)의 공개키(pk_D)에 대응하는 드론(300)의 비밀키(sk_D)로 서명 처리된 것으로 확인되면, 드론(300)측 난수값, 사용자 아이디(ID_C)를 포함하는 인증 확인 메시지를 사용자 단말(100)의 비밀키(sk_C)로 서명 처리하여 생성한 사용자 단말(100)의 서명값을 드론(300)으로 전송할 수 있다. 여기서, 드론(300)의 서명값은 난수값, 드론 아이디(ID_D), 사용자 아이디(ID_C) 및 위치 확인 요청을 포함하는 위치 확인 메시지를 드론(300)의 비밀키(sk_D)로 서명 처리하여 생성할 수 있다.In addition, when the user terminal 100 receives the signature value and location confirmation message of the drone 300 broadcasted from the drone 300 arriving at the destination, the user terminal 100 uses the public key (pk_D) of the drone 300. Thus, the signature value of the drone 300 can be confirmed. When the user terminal 100 confirms that the signature value of the drone 300 is signed with the private key (sk_D) of the drone 300 corresponding to the public key (pk_D) of the drone 300, the drone 300 It can be judged that the authentication has succeeded. When the user terminal 100 confirms that the signature value of the drone 300 is signed with the private key (sk_D) of the drone 300 corresponding to the public key (pk_D) of the drone 300, the drone 300 side A signature value of the user terminal 100 generated by signing an authentication confirmation message including a random number value and a user ID (ID_C) with the secret key (sk_C) of the user terminal 100 may be transmitted to the drone 300 . Here, the signature value of the drone 300 is generated by signing a location confirmation message including a random number value, a drone ID (ID_D), a user ID (ID_C), and a location confirmation request with the secret key (sk_D) of the drone 300. can do.

한편, 본 발명에서는 암호 기반 인증을 위하여 공개 키 기반 구조(PKI: Public Key Infrastructure)를 사용할 수 있다. 공개 키 기반 구조는 기공지된 기술로 자세한 설명은 생략하기로 한다.Meanwhile, in the present invention, a public key infrastructure (PKI) may be used for encryption-based authentication. The public key infrastructure is a known technology, and a detailed description thereof will be omitted.

대여 서버(200)는 드론 대여 서비스를 관리하기 위한 서버일 수 있다. 한편, 본 발명에서는 대여 서버(200)가 사용자와 대여자를 중개하는 것으로 기재하였으나, 이에 한정되는 것은 아니며, 사용자와 대여자가 직접 드론 대여 서비스를 진행할 수 있다.The rental server 200 may be a server for managing drone rental services. Meanwhile, in the present invention, it is described that the rental server 200 mediates the user and the borrower, but is not limited thereto, and the user and the borrower may directly proceed with the drone rental service.

한편, 블록체인(blockchain security technology)은 공공 거래 장부라고도 부르며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 기존 금융 회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 블록체인은 대표적인 온라인 가상 화폐인 비트코인에 적용되어 있는데, 비트코인은 누구나 열람할 수 있는 장부에 거래 내역을 투명하게 기록하며, 비트코인을 사용하는 여러 컴퓨터가 10분에 한 번씩 이 기록을 검증하여 해킹을 막는다. 거래 명세가 담긴 블록이 사슬처럼 이어져 있는 블록체인(blockchain) 기술을 기반으로 하며 인터넷만 연결되어 있으면 어디서든 전송이 가능하다. 본 발명에서는 누구나 참여할 수 있는 형태의 퍼블릭 블록체인(Public Blockchain)과 사전에 허가를 받은 사람만 참여할 수 있는 프라이빗 블록체인(Private Blockchain)을 모두 사용하여 데이터를 기록할 수 있다. 예를 들어, 본 실시예에서 대여 서버(200)는 블록체인 기술을 사용할 수 있다. 또한, 본 실시예에서 대여 서버(200)로 수신되는 정보들은 트랜잭션으로 생성되어 저장될 수 있다. 여기서, 트랜잭션은 블록체인의 상태를 변경하는 노드간 전송되는 메시지일 수 있다.On the other hand, blockchain security technology, also called public transaction ledger, is a technology that prevents hacking that may occur when trading with virtual currency. In the case of existing financial companies, transaction records are stored in a centralized server, whereas blockchain sends transaction details to all users participating in transactions and uses a method to prevent data forgery by comparing them for each transaction. Blockchain is applied to Bitcoin, a representative online virtual currency. Bitcoin transparently records transaction details in a ledger that anyone can view, and several computers using Bitcoin verify this record once every 10 minutes. to prevent hacking. It is based on blockchain technology in which blocks containing transaction details are connected like a chain, and can be transmitted anywhere as long as there is an internet connection. In the present invention, data can be recorded using both a public blockchain in which anyone can participate and a private blockchain in which only those who have received permission in advance can participate. For example, in this embodiment, the rental server 200 may use blockchain technology. Also, in this embodiment, information received from the rental server 200 may be generated and stored as a transaction. Here, a transaction may be a message transmitted between nodes that changes the state of the blockchain.

예시적인 실시예에서, 대여 서버(200)는 복수의 드론(300)으로부터 각각 드론 정보들을 수신할 수 있다. 예를 들어, 대여 서버(200)는 드론 정보들을 저장하고, 사용자가 사용자 단말(100)을 통하여 대여 가능한 드론(300)들을 확인할 수 있도록 대여 드론 리스트를 제공할 수 있다. 또한, 대여 서버(200)는 사용자 단말(100)로부터 드론 요청 정보를 수신하고, 드론 요청 정보에 포함된 드론 아이디를 확인하여 드론 아이디에 대응하는 드론(300)으로 드론 요청 정보를 전송할 수 있다.In an exemplary embodiment, the rental server 200 may receive drone information from each of the plurality of drones 300 . For example, the rental server 200 may store drone information and provide a rental drone list so that the user can check drones 300 available for rental through the user terminal 100 . In addition, the rental server 200 may receive drone request information from the user terminal 100, check the drone ID included in the drone request information, and transmit the drone request information to the drone 300 corresponding to the drone ID.

또한, 대여 서버(200)는 해당 드론(300)으로부터 결제 요청 정보 및 대여 확인 정보를 수신하고, 사용자 단말(100)로 결제 요청 정보 및 대여 확인 정보를 전송할 수 있다.In addition, the rental server 200 may receive payment request information and rental confirmation information from the corresponding drone 300 and transmit the payment request information and rental confirmation information to the user terminal 100 .

또한, 대여 서버(200)는 사용자 단말(100)로부터 결제 정보 및 사용자 단말(100)의 공개키(pk_C)를 수신하고, 드론(300)으로 결제 정보, 사용자 단말(100)의 공개키(pk_C)를 전송할 수 있다. 또한, 대여 서버(200)는 사용자 단말(100)로부터 결제 정보 및 사용자 단말(100)의 공개키(pk_C)를 수신하면, 드론(300)을 대여할 지역에 위치한 유효한 복수의 베이스 스테이션(400)의 아이디(ID_B) 및 공개키(pk_B)를 확인하고, 드론(300)으로 복수의 베이스 스테이션(400)의 아이디(ID_B) 및 공개키(pk_B)를 전송할 수 있다.In addition, the rental server 200 receives payment information and the public key (pk_C) of the user terminal 100 from the user terminal 100, and the drone 300 receives the payment information and the public key (pk_C) of the user terminal 100. ) can be transmitted. In addition, when the rental server 200 receives payment information and the public key (pk_C) of the user terminal 100 from the user terminal 100, a plurality of valid base stations 400 located in the area where the drone 300 is to be rented. The ID (ID_B) and public key (pk_B) of , and the ID (ID_B) and public key (pk_B) of the plurality of base stations 400 may be transmitted to the drone 300 .

드론(300)은 드론 정보 생성부(310), 대여 확인부(320), 키 저장부(330) 및 위치 확인부(340)를 포함할 수 있다. The drone 300 may include a drone information generation unit 310, a rental confirmation unit 320, a key storage unit 330, and a location confirmation unit 340.

한편, 본 실시예에서 드론(300)은 드론 정보 생성부(310), 대여 확인부(320), 키 저장부(330) 및 위치 확인부(340) 만을 포함하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 드론에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다. 예를 들어, 본 실시예의 드론(300)이 스마트 파밍(물주기, 농약/비료 살포, 모니터링 등)을 수행하기 위한 구성을 더 포함할 수 있다.Meanwhile, in this embodiment, the drone 300 is described as including only the drone information generation unit 310, the rental confirmation unit 320, the key storage unit 330, and the location confirmation unit 340, but this is This is merely an example of the technical idea of the example, and those skilled in the art in the technical field to which this embodiment belongs may modify and transform variously the components included in the drone within the scope of not departing from the essential characteristics of this embodiment. will be applicable. For example, the drone 300 of this embodiment may further include a configuration for performing smart farming (watering, pesticide/fertilizer spraying, monitoring, etc.).

드론 정보 생성부(310)는 드론(300)을 식별하기 위한 드론 정보를 생성할 수 있다. 이 때, 드론 정보는 해당 드론(300)을 소유한 대여자에 의하여 생성될 수도 있다. 여기서, 드론 정보는 드론(300)의 성능, 드론 아이디(ID_D), 드론(300)의 공개키(pk_D), 대여 가격, 수행 가능한 기능, 비행 및 수행 가능한 장소, 주소 등을 포함할 수 있다.The drone information generation unit 310 may generate drone information for identifying the drone 300 . At this time, the drone information may be generated by a lender who owns the drone 300 . Here, the drone information may include performance of the drone 300, a drone ID (ID_D), a public key (pk_D) of the drone 300, a rental price, a function that can be performed, a location where flight and performance can be performed, an address, and the like.

대여 확인부(320)는 대여 서버(200)로부터 드론 요청 정보를 수신하고, 드론 대여 여부를 확인할 수 있다. 여기서, 드론 요청 정보는 드론 아이디(ID_D), 드론(300)의 사용 시간, 드론(300)을 대여할 지역, 드론(300)이 수행할 작업 등을 포함할 수 있으며, 드론 대여 여부는 드론 요청 정보에 포함된 내용이 가능한지 확인하여 결정할 수 있다. 또한, 대여 확인부(320)는 드론 대여가 가능하다고 확인되면, 대여 확인 정보 및 결제 요청 정보를 대여 서버(200)로 전송할 수 있다. 이 때, 드론(300)은 대여 확인부(320)가 결제 정보를 수신하면 목적지로 이동할 수 있다.The rental confirmation unit 320 may receive drone request information from the rental server 200 and check whether or not the drone is rented. Here, the drone request information may include the drone ID (ID_D), the usage time of the drone 300, the area to rent the drone 300, the task to be performed by the drone 300, etc. This can be determined by checking whether the content contained in the information is viable. In addition, if it is confirmed that the rental of the drone is possible, the rental confirmation unit 320 may transmit rental confirmation information and payment request information to the rental server 200 . At this time, the drone 300 may move to the destination when the rental confirmation unit 320 receives payment information.

또한, 대여 확인부(320)는 사용자 단말(100)로부터 사용자 단말(100)의 서명값이 수신되면, 해당 사용자 단말(100)의 공개키(pk_C)를 이용하여 사용자 단말(100)의 서명값을 확인할 수 있다. 대여 확인부(320)는 사용자 단말(100)의 서명값이 사용자 단말(100)의 공개키(pk_C)에 대응하는 사용자 단말(100)의 비밀키(sk_C)로 서명 처리된 것으로 확인되면, 사용자 단말(100)에 대한 인증이 성공한 것으로 판단할 수 있다.In addition, when the rental confirmation unit 320 receives the signature value of the user terminal 100 from the user terminal 100, the signature value of the user terminal 100 using the public key (pk_C) of the corresponding user terminal 100. can confirm. When the rental confirmation unit 320 confirms that the signature value of the user terminal 100 is signed with the private key (sk_C) of the user terminal 100 corresponding to the public key (pk_C) of the user terminal 100, the user It may be determined that authentication of the terminal 100 is successful.

키 저장부(330)는 대여 서버(200)로부터 사용자 단말(100)의 공개키(pk_C)를 수신하여 저장할 수 있다. 또한, 키 저장부(330)는 대여 서버(200)로부터 목적지에 위치한 유효한 복수의 베이스 스테이션(400)의 아이디(ID_B) 및 공개키(pk_B)를 수신하여 저장할 수 있다. 여기서, 복수의 베이스 스테이션(400)의 공개키들(pk_B)은 드론(300)과 같이 메모리 사용이 상대적으로 제한된 디바이스에 적용하기 위하여 블룸 필터(bloom filter)로 구성하여 저장될 수 있다. The key storage unit 330 may receive and store the public key (pk_C) of the user terminal 100 from the rental server 200 . In addition, the key storage unit 330 may receive and store IDs (ID_B) and public keys (pk_B) of a plurality of valid base stations 400 located in the destination from the rental server 200 . Here, the public keys pk_B of the plurality of base stations 400 may be configured as a bloom filter and stored in order to be applied to a device with relatively limited use of memory, such as the drone 300 .

위치 확인부(340)는 목적지에 도착한 후, 난수값, 드론 아이디(ID_D), 사용자 아이디(ID_C) 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 위치 확인 메시지를 드론(300)의 비밀키(sk_D)로 서명 처리하여 생성한 서명값을 브로드캐스팅하고, 복수의 베이스 스테이션(400)으로부터 전송되는 베이스 스테이션(400)의 서명값 및 베이스 스테이션(400)의 공개키(pk_B)를 기초로 자신의 위치를 확인할 수 있다. 구체적으로, 위치 확인부(340)는 기 저장된 복수의 베이스 스테이션(400)의 공개키들 중 수신한 베이스 스테이션(400)의 공개키(pk_B)와 일치하는 공개키가 존재하는지 확인할 수 있다. 또한, 위치 확인부(340)는 일치하는 공개키가 존재하는 경우, 일치하는 공개키를 이용하여 서명값의 유효성을 검증할 수 있다. 즉, 베이스 스테이션(400)의 서명값이 베이스 스테이션(400)의 공개키에 대응하는 베이스 스테이션(400)의 비밀키로 서명 처리된 것인지 확인하여 서명값의 유효성을 검증할 수 있다. 여기서, 베이스 스테이션(400)의 서명값은 드론(300)측 난수값, 드론 아이디(ID_D), 베이스 스테이션(400)의 공개키(pk_B)을 포함하는 위치 식별 메시지를 베이스 스테이션(400)의 비밀키(sk_B)로 서명 처리하여 생성할 수 있다.After arriving at the destination, the positioning unit 340 transmits a positioning message including a random number value, a drone ID (ID_D), a user ID (ID_C) and a positioning request, and a positioning message to the drone 300's secret key (sk_D ) and broadcasts the signature value generated by signature processing, and based on the signature value of the base station 400 transmitted from the plurality of base stations 400 and the public key (pk_B) of the base station 400, its location can be checked. Specifically, the positioning unit 340 may check whether a public key identical to the received public key (pk_B) of the base station 400 exists among the previously stored public keys of the plurality of base stations 400 . In addition, if there is a matching public key, the positioning unit 340 may verify the validity of the signature value using the matching public key. That is, the validity of the signature value can be verified by checking whether the signature value of the base station 400 is signed with the private key of the base station 400 corresponding to the public key of the base station 400 . Here, the signature value of the base station 400 is the secret of the base station 400 by sending a location identification message including a random number value on the drone 300 side, a drone ID (ID_D), and a public key (pk_B) of the base station 400. It can be generated by signing with the key (sk_B).

위치 확인부(340)는 유효성이 검증된 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단하고, 드론(300)이 목적지에 도착한 것으로 판단할 수 있다. 여기서, 기 설정된 기준은 목적지에 위치한 유효한 복수의 베이스 스테이션(400)의 수 중 설정된 값일 수 있다.The location confirmation unit 340 may determine that the location confirmation has succeeded and that the drone 300 has arrived at the destination when the signature value for which validity has been verified is equal to or greater than a preset standard. Here, the preset criterion may be a set value among the number of valid base stations 400 located at the destination.

베이스 스테이션(400)은 키 생성부(410), 위치 생성부(420) 및 서명 처리부(430)를 포함할 수 있다.The base station 400 may include a key generating unit 410 , a location generating unit 420 and a signature processing unit 430 .

키 생성부(410)는 키 발급 서버를 통해 자신의 공개키 및 비밀키를 발급받을 수 있다.The key generating unit 410 may receive its own public key and private key through a key issuing server.

위치 생성부(420)는 드론(300)으로부터 전송되는 위치 확인 메시지를 수신하면, 드론(300)측 난수값, 드론 아이디(ID_D), 베이스 스테이션(400)의 공개키(pk_B)을 포함하는 위치 식별 메시지를 생성할 수 있다.When the location generating unit 420 receives the location confirmation message transmitted from the drone 300, the location including the random number value of the drone 300, the drone ID (ID_D), and the public key (pk_B) of the base station 400 Identification messages can be generated.

서명 처리부(430)는 위치 식별 메시지를 베이스 스테이션(400)의 비밀키(sk_B)로 서명 처리하여 생성한 베이스 스테이션(400)의 서명값, 및 베이스 스테이션(400)의 공개키를 드론(300)으로 전송할 수 있다. 이때, 서명 처리부(430)는 ESDSA(elliptic curve digital signature algorithm) 알고리즘 기반의 디지털 서명을 수행할 수 있다.The signature processing unit 430 signs the location identification message with the secret key (sk_B) of the base station 400 and transmits the signature value of the base station 400 and the public key of the base station 400 to the drone 300. can be sent to At this time, the signature processing unit 430 may perform a digital signature based on an elliptic curve digital signature algorithm (ESDSA) algorithm.

도 4와 같이, A 영역(예를 들어, 스마트 파밍 농장)에 위치하는 복수의 베이스 스테이션(400a, 400b, 400c)은 드론(300)이 A 영역에 진입함에 따라, 드론(300)으로부터 브로드캐스팅된 위치 확인 메시지를 수신할 수 있다. 이후, 복수의 베이스 스테이션(400a, 400b, 400c)은 서명값 및 공개키를 드론(300)으로 전송함으로써, 드론(300)이 자신의 위치를 확인할 수 있도록 할 수 있다.As shown in FIG. 4, the plurality of base stations 400a, 400b, and 400c located in area A (eg, smart farming farm) broadcast from the drone 300 as the drone 300 enters area A. position confirmation message can be received. Thereafter, the plurality of base stations 400a, 400b, and 400c transmit signature values and public keys to the drone 300 so that the drone 300 can confirm its location.

도 5는 본 발명의 일 실시예에 따른 드론 대여 방법을 설명하기 위한 흐름도이다. 도 5에 도시된 방법은 예를 들어, 전술한 드론 대여 시스템에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.5 is a flowchart for explaining a drone rental method according to an embodiment of the present invention. The method shown in FIG. 5 may be performed by, for example, the drone rental system described above. In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

501 단계에서, 복수의 드론(300) 각각은 드론(300)을 식별하기 위한 드론 정보를 생성할 수 있다. 이 때, 드론 정보는 해당 드론(300)을 소유한 대여자에 의하여 생성될 수도 있다. 여기서, 드론 정보는 드론(300)의 성능, 드론 아이디(ID_D), 드론(300)의 공개키(pk_D), 대여 가격, 수행가능한 기능, 비행 및 수행가능한 장소, 주소 등을 포함할 수 있다. 복수의 드론(300) 각각은 생성한 드론 정보를 대여 서버(200)로 전송할 수 있다.In step 501, each of the plurality of drones 300 may generate drone information for identifying the drone 300. At this time, the drone information may be generated by a lender who owns the drone 300 . Here, the drone information may include performance of the drone 300, a drone ID (ID_D), a public key (pk_D) of the drone 300, a rental price, a function that can be performed, a place where it can fly and can be performed, an address, and the like. Each of the plurality of drones 300 may transmit generated drone information to the rental server 200 .

502 단계에서, 사용자 단말(100)은 드론(300)을 대여하기 위하여 드론 요청 정보를 생성할 수 있다. 드론 요청 정보는 드론 아이디(ID_D), 드론(300)의 사용 시간, 드론(300)을 대여할 지역(목적지), 드론(300)이 수행할 작업 등을 포함할 수 있다. 이 때, 사용자는 대여 서버(200)에서 드론 정보들을 조회하여 대여할 드론(300)을 선택할 수 있다. 사용자 단말(100)은 생성한 드론 요청 정보를 대여 서버(200)로 전송할 수 있다.In step 502, the user terminal 100 may generate drone request information in order to rent the drone 300. The drone request information may include a drone ID (ID_D), usage time of the drone 300, a rental area (destination) of the drone 300, a task to be performed by the drone 300, and the like. At this time, the user may select the drone 300 to be rented by inquiring drone information from the rental server 200 . The user terminal 100 may transmit generated drone request information to the rental server 200 .

503 단계에서, 대여 서버(200)는 사용자 단말(100)로부터 드론 요청 정보를 수신하면, 드론 요청 정보에 포함된 드론 아이디를 확인할 수 있다.In step 503, upon receiving drone request information from the user terminal 100, the rental server 200 may check the drone ID included in the drone request information.

504 단계에서, 대여 서버(200)는 드론 아이디에 대응하는 드론(300)으로 드론 요청 정보를 전송할 수 있다.In step 504, the rental server 200 may transmit drone request information to the drone 300 corresponding to the drone ID.

505 단계에서, 드론(300)은 대여 확인 정보 및 결제 요청 정보를 대여 서버(200)로 전송할 수 있다. 구체적으로, 드론(300)은 대여 서버(200)로부터 드론 요청 정보를 수신하고, 드론 대여 여부를 확인할 수 있다. 여기서, 드론(300)은 드론 요청 정보에 포함된 내용이 가능한지 확인하여 결정할 수 있다. 또한, 드론(300)은 드론 대여가 가능하다고 확인되면, 대여 확인 정보 및 결제 요청 정보를 대여 서버(200)로 전송할 수 있다. 대여 서버(200)는 대여 확인 정보 및 결제 요청 정보를 해당 사용자 단말(100)로 전송할 수 있다.In step 505, the drone 300 may transmit rental confirmation information and payment request information to the rental server 200. Specifically, the drone 300 may receive drone request information from the rental server 200 and check whether or not the drone is rented. Here, the drone 300 may determine whether the content included in the drone request information is available. In addition, if it is confirmed that drone rental is possible, the drone 300 may transmit rental confirmation information and payment request information to the rental server 200 . The rental server 200 may transmit rental confirmation information and payment request information to the corresponding user terminal 100 .

506 단계에서, 사용자 단말(100)은 대여 서버(200)로부터 대여 확인 정보 및 결제 요청 정보를 수신하고, 결제 정보를 생성할 수 있다. 여기서, 결제 정보는 사용자 아이디(ID_C), 결제 내역 등을 포함할 수 있다. 대여 서버(200)는 결제 정보를 해당 드론(300)으로 전송할 수 있다. In step 506, the user terminal 100 may receive rental confirmation information and payment request information from the rental server 200 and generate payment information. Here, the payment information may include a user ID (ID_C), payment details, and the like. The rental server 200 may transmit payment information to the corresponding drone 300 .

이 때, 드론(300)은 결제 정보를 수신하면 목적지로 이동할 수 있다.At this time, the drone 300 may move to the destination upon receiving payment information.

따라서, 본 발명의 실시예들에 따르면, 드론(300)을 이용하고자 하는 사용자가 대여자로부터 제공된 드론(300) 중에서 사용자의 목적에 맞는 드론(300)을 용이하게 대여할 수 있는 효과가 있다.Therefore, according to the embodiments of the present invention, there is an effect that a user who wants to use the drone 300 can easily rent the drone 300 suitable for the user's purpose from among the drones 300 provided by the rental company.

도 6은 본 발명의 일 실시예에 따른 드론 대여 방법에서 위치 확인 및 인증을 수행하는 방법을 설명하기 위한 흐름도이다. 도 6에 도시된 방법은 예를 들어, 전술한 드론 대여 시스템에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.6 is a flowchart for explaining a method of performing location check and authentication in a drone rental method according to an embodiment of the present invention. The method shown in FIG. 6 may be performed by, for example, the aforementioned drone rental system. In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

601 단계에서, 복수의 베이스 스테이션(400) 각각은 공개키 및 비밀키를 발급받을 수 있다. 베이스 스테이션(400)이 복수 개인 경우 기 설정된 영역별로 각각 위치할 수 있다.In step 601, each of the plurality of base stations 400 may receive a public key and a private key. When there are a plurality of base stations 400, they may be located in each preset area.

602 단계에서, 사용자 단말(100)은 결제 정보 및 사용자 단말(100)의 공개키를 생성할 수 있다. 구체적으로, 사용자 단말(100)은 대여 서버(200)로부터 대여 확인 정보 및 결제 요청 정보를 수신하면, 결제 정보 및 사용자 단말(100)의 공개키를 생성할 수 있으며, 결제 정보 및 사용자 단말(100)의 공개키를 대여 서버(200)로 전송할 수 있다. 여기서, 결제 정보는 사용자 아이디(ID_C), 결제 내역 등을 포함할 수 있다.In step 602 , the user terminal 100 may generate payment information and a public key of the user terminal 100 . Specifically, when receiving rental confirmation information and payment request information from the rental server 200, the user terminal 100 may generate payment information and a public key of the user terminal 100, and may generate the payment information and the user terminal 100. ) may be transmitted to the rental server 200. Here, the payment information may include a user ID (ID_C), payment details, and the like.

603 단계에서, 대여 서버(200)는 해당 목적지에 위치한 복수의 베이스 스테이션(400)을 확인할 수 있다. 구체적으로, 대여 서버(200)는 사용자 단말(100)로부터 결제 정보 및 사용자 단말(100)의 공개키(pk_C)를 수신하면, 드론(300)을 대여할 지역에 위치한 유효한 복수의 베이스 스테이션(400)의 아이디(ID_B) 및 공개키(pk_B)를 확인할 수 있다.In step 603, the rental server 200 may check the plurality of base stations 400 located in the corresponding destination. Specifically, when the rental server 200 receives payment information and the public key (pk_C) of the user terminal 100 from the user terminal 100, a plurality of valid base stations 400 located in an area where the drone 300 is to be rented. ) ID (ID_B) and public key (pk_B) can be checked.

604 단계에서, 대여 서버(200)는 결제 정보, 사용자 단말(100)의 공개키(pk_C), 복수의 베이스 스테이션(400)의 아이디(ID_B) 및 공개키(pk_B)를 드론(300)으로 전송할 수 있다.In step 604, the rental server 200 transmits payment information, the public key (pk_C) of the user terminal 100, IDs (ID_B) and public keys (pk_B) of the plurality of base stations 400 to the drone 300. can

605 단계에서, 드론(300)은 목적지에 도착한 후, 난수값, 드론 아이디(ID_D), 사용자 아이디(ID_C) 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 위치 확인 메시지를 드론(300)의 비밀키(sk_D)로 서명 처리하여 생성한 서명값을 브로드캐스팅할 수 있다.In step 605, after arriving at the destination, the drone 300 transmits a location confirmation message including a random number, a drone ID (ID_D), a user ID (ID_C) and a location confirmation request, and a location confirmation message to the drone 300's private key. The signature value created by processing the signature with (sk_D) can be broadcast.

606 단계에서, 베이스 스테이션(400)은 드론(300)으로부터 전송되는 위치 확인 메시지를 수신하면, 드론(300)측 난수값, 드론 아이디(ID_D), 베이스 스테이션(400)의 공개키(pk_B)을 포함하는 위치 식별 메시지를 생성할 수 있다. 또한, 베이스 스테이션(400)은 위치 식별 메시지를 베이스 스테이션(400)의 비밀키(sk_B)로 서명 처리하여 베이스 스테이션(400)의 서명값을 생성할 수 있다. 또한, 베이스 스테이션(400)은 베이스 스테이션(400)의 서명값 및 베이스 스테이션(400)의 공개키를 드론(300)으로 전송할 수 있다. In step 606, when the base station 400 receives the location confirmation message transmitted from the drone 300, the drone 300-side random number value, the drone ID (ID_D), and the public key (pk_B) of the base station 400 are sent. It is possible to generate a location identification message that includes. In addition, the base station 400 may generate a signature value of the base station 400 by processing the location identification message with the secret key sk_B of the base station 400 . In addition, the base station 400 may transmit the signature value of the base station 400 and the public key of the base station 400 to the drone 300 .

607 단계에서, 드론(300)은 복수의 베이스 스테이션(400)으로부터 전송되는 베이스 스테이션(400)의 서명값 및 베이스 스테이션(400)의 공개키(pk_B)를 기초로 자신의 위치를 확인할 수 있다. 구체적으로, 드론(300)은 기 저장된 복수의 베이스 스테이션(400)의 공개키들 중 수신한 베이스 스테이션(400)의 공개키(pk_B)와 일치하는 공개키가 존재하는지 확인할 수 있다. 또한, 드론(300)은 일치하는 공개키가 존재하는 경우, 일치하는 공개키를 이용하여 서명값의 유효성을 검증할 수 있다. 즉, 베이스 스테이션(400)의 서명값이 베이스 스테이션(400)의 공개키에 대응하는 베이스 스테이션(400)의 비밀키로 서명 처리된 것인지 확인하여 서명값의 유효성을 검증할 수 있다. In step 607, the drone 300 may check its location based on the signature value of the base station 400 transmitted from the plurality of base stations 400 and the public key (pk_B) of the base station 400. Specifically, the drone 300 may check whether a public key identical to the received public key (pk_B) of the base station 400 exists among the previously stored public keys of the plurality of base stations 400 . In addition, the drone 300 can verify the validity of the signature value by using the matching public key when there is a matching public key. That is, the validity of the signature value can be verified by checking whether the signature value of the base station 400 is signed with the private key of the base station 400 corresponding to the public key of the base station 400 .

드론(300)은 유효성이 검증된 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단하고, 드론(300)이 목적지에 도착한 것으로 판단할 수 있다. 여기서, 기 설정된 기준은 목적지에 위치한 유효한 복수의 베이스 스테이션(400)의 수 중 설정된 값일 수 있다.The drone 300 may determine that the location check has succeeded and determine that the drone 300 has arrived at the destination when the signature value for which validity has been verified is equal to or greater than a preset standard. Here, the preset criterion may be a set value among the number of valid base stations 400 located at the destination.

608 단계에서, 사용자 단말(100)은 드론(300)으로부터 전송되는 위치 확인 메시지 및 서명값을 수신하면, 드론(300)의 공개키(pk_D)를 이용하여 드론(300)의 서명값을 확인할 수 있다. In step 608, when the user terminal 100 receives the location confirmation message and signature value transmitted from the drone 300, it can check the signature value of the drone 300 using the public key (pk_D) of the drone 300. there is.

사용자 단말(100)은 드론(300)의 서명값이 드론(300)의 공개키(pk_D)에 대응하는 드론(300)의 비밀키(sk_D)로 서명 처리된 것으로 확인되면 드론(300)에 대한 인증이 성공한 것으로 판단할 수 있다.When the user terminal 100 confirms that the signature value of the drone 300 is signed with the private key (sk_D) of the drone 300 corresponding to the public key (pk_D) of the drone 300, It can be determined that authentication is successful.

609 단계에서, 사용자 단말(100)은 드론(300)의 서명값이 드론(300)의 공개키(pk_D)에 대응하는 드론(300)의 비밀키(sk_D)로 서명 처리된 것으로 확인되면, 드론(300)측 난수값, 사용자 아이디(ID_C)를 포함하는 인증 확인 메시지를 생성할 수 있다. 또한, 사용자 단말(100)은 인증 확인 메시지를 사용자 단말(100)의 비밀키(sk_C)로 서명 처리하여 사용자 단말(100)의 서명값을 생성할 수 있다. 또한, 사용자 단말(100)은 사용자 단말(100)의 서명값을 드론(300)으로 전송할 수 있다.In step 609, when the user terminal 100 confirms that the signature value of the drone 300 is signed with the private key (sk_D) of the drone 300 corresponding to the public key (pk_D) of the drone 300, the drone An authentication confirmation message including a random number value at 300 and a user ID (ID_C) may be generated. In addition, the user terminal 100 may generate a signature value of the user terminal 100 by processing the authentication confirmation message with the secret key sk_C of the user terminal 100 . In addition, the user terminal 100 may transmit the signature value of the user terminal 100 to the drone 300.

610 단계에서, 드론(300)은 사용자 단말(100)로부터 전송되는 서명값을 수신하면, 사용자 단말(100)의 공개키(pk_C)를 이용하여 사용자 단말(100)의 서명값을 확인할 수 있다.In step 610, when the drone 300 receives the signature value transmitted from the user terminal 100, it can check the signature value of the user terminal 100 using the public key (pk_C) of the user terminal 100.

드론(300)은 사용자 단말(100)의 서명값이 사용자 단말(100)의 공개키(pk_C)에 대응하는 사용자 단말(100)의 비밀키(sk_C)로 서명 처리된 것으로 확인되면, 사용자 단말(100)에 대한 인증이 성공한 것으로 판단할 수 있다.When the drone 300 confirms that the signature value of the user terminal 100 is signed with the private key (sk_C) of the user terminal 100 corresponding to the public key (pk_C) of the user terminal 100, the user terminal ( 100) may be determined to be successful.

따라서, 본 발명의 실시예에 따르면, 드론(300)이 사용자가 대여하고자 하는 목적지로 이동하여 목적지 확인 및 인증을 수행함으로써, 드론(300)이 목적지가 아닌 다른 장소에서 작업을 수행하는 것을 방지할 수 있는 효과가 있다.Therefore, according to an embodiment of the present invention, the drone 300 moves to the destination that the user wants to rent and performs destination confirmation and authentication, thereby preventing the drone 300 from performing work in a place other than the destination. There are possible effects.

도 7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.7 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 사용자 단말(100)일 수 있다. 또한, 컴퓨팅 장치(12)는 대여 서버(200)일 수 있다. 또한, 컴퓨팅 장치(12)는 드론(300)일 수 있다. 또한, 컴퓨팅 장치(12)는 베이스 스테이션(400)일 수 있다. The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be user terminal 100 . Additionally, the computing device 12 may be the rental server 200 . Computing device 12 may also be drone 300 . Computing device 12 may also be a base station 400 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , a computer readable storage medium 16 and a communication bus 18 . Processor 14 may cause computing device 12 to operate according to the above-mentioned example embodiments. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by processor 14 are configured to cause computing device 12 to perform operations in accordance with an illustrative embodiment. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Program 20 stored on computer readable storage medium 16 includes a set of instructions executable by processor 14 . In one embodiment, computer readable storage medium 16 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other forms of storage media that can be accessed by computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communications bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . An input/output interface 22 and a network communication interface 26 are connected to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output devices 24 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or a photographing device. input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included inside the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. may be

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those skilled in the art will understand that various modifications are possible to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

100 : 사용자 단말
200 : 대여 서버
300 : 드론
310 : 드론 정보 생성부
320 : 대여 확인부
330 : 키 저장부
340 : 위치 확인부
400 : 베이스 스테이션
410 : 키 생성부
420 : 위치 생성부
430 : 서명 처리부
100: user terminal
200: rental server
300: drone
310: drone information generation unit
320: rental confirmation unit
330: key storage unit
340: location confirmation unit
400: base station
410: key generation unit
420: location generating unit
430: signature processing unit

Claims (20)

사용자 단말에서, 드론 정보를 바탕으로 드론 요청 정보를 생성하는 단계;
대여 서버에서, 상기 드론 요청 정보를 수신하고, 상기 드론 요청 정보에 포함된 드론 아이디를 확인하여 상기 드론 아이디에 대응하는 드론으로 상기 드론 요청 정보를 전송하는 단계;
드론에서, 상기 드론 요청 정보를 수신하고, 드론 대여 여부를 확인하여 결제 요청 정보 및 대여 확인 정보를 생성하는 단계; 및
상기 사용자 단말에서, 상기 결제 요청 정보 및 대여 확인 정보를 수신하고, 결제 정보를 생성하는 단계를 포함하는, 드론 대여 방법.
generating drone request information based on drone information in a user terminal;
receiving, at the rental server, the drone request information, checking a drone ID included in the drone request information, and transmitting the drone request information to a drone corresponding to the drone ID;
generating payment request information and rental confirmation information by receiving the drone request information and checking whether or not the drone is rented, in a drone; and
And receiving, at the user terminal, the payment request information and rental confirmation information, and generating payment information.
청구항 1에 있어서,
상기 드론 요청 정보를 생성하는 단계는,
상기 대여 서버에서, 복수의 드론으로부터 드론 정보들을 수신하고, 상기 드론 정보들을 기반으로 대여 가능한 드론을 확인할 수 있도록 대여 드론 리스트를 제공하는 단계; 및
상기 사용자 단말에서, 상기 대여 드론 리스트를 기반으로 대여하고자 하는 드론의 드론 정보를 선택하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 1,
The step of generating the drone request information,
receiving, at the rental server, drone information from a plurality of drones, and providing a rental drone list so that drones available for rental can be identified based on the drone information; and
The drone rental method of claim 1 , further comprising selecting, in the user terminal, drone information of a drone to be rented based on the rental drone list.
청구항 1에 있어서,
상기 드론 대여 방법은,
상기 사용자 단말에서, 사용자 단말 공개키 및 상기 결제 정보를 상기 대여 서버로 전송하는 단계; 및
상기 드론에서, 상기 대여 서버로부터 상기 사용자 단말 공개키 및 상기 결제 정보를 수신하고, 목적지로 이동하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 1,
The drone rental method,
transmitting, at the user terminal, the user terminal public key and the payment information to the rental server; and
The drone rental method further comprising receiving, in the drone, the user terminal public key and the payment information from the rental server, and moving to a destination.
청구항 3에 있어서,
상기 드론 대여 방법은,
상기 목적지에 도착한 후 상기 드론에서, 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 3,
The drone rental method,
After arriving at the destination, the drone generates a drone signature value by signing a location confirmation message including a drone-side random number value, a drone ID, a user ID, and a location confirmation request and the location confirmation message with a drone private key, and The drone rental method further comprising broadcasting a confirmation message and the drone signature value.
청구항 4에 있어서,
상기 드론 대여 방법은,
상기 드론 서명값을 수신한 상기 사용자 단말에서, 상기 드론 정보에 포함된 드론 공개키를 이용하여 상기 드론 서명값을 확인하는 단계;
상기 사용자 단말에서, 상기 드론측 난수값 및 상기 사용자 아이디를 포함하는 인증 확인 메시지를 사용자 단말 비밀키로 서명 처리하여 생성한 사용자 단말 서명값을 상기 드론으로 전송하는 단계; 및
상기 사용자 단말 서명값을 수신한 상기 드론에서, 상기 사용자 단말 공개키를 이용하여 상기 사용자 단말 서명값을 확인하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 4,
The drone rental method,
verifying the drone signature value using a drone public key included in the drone information, at the user terminal that has received the drone signature value;
transmitting, in the user terminal, a user terminal signature value generated by signing an authentication confirmation message including the drone-side random number value and the user ID with the user terminal private key; and
and verifying the user terminal signature value using the user terminal public key in the drone that has received the user terminal signature value.
청구항 5에 있어서,
상기 드론 서명값을 확인하는 단계는,
상기 사용자 단말에서, 상기 드론 서명값이 상기 드론 공개키에 대응하는 상기 드론 비밀키로 서명 처리된 것인지 확인하는 단계; 및
상기 사용자 단말에서, 상기 드론 비밀키로 서명 처리된 것으로 확인되면, 상기 드론에 대한 인증이 성공한 것으로 판단하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 5,
The step of checking the drone signature value,
checking, at the user terminal, whether the drone signature value is signed with the drone private key corresponding to the drone public key; and
The drone rental method of claim 1 , further comprising determining that authentication of the drone is successful when it is confirmed that the signature process has been performed with the drone private key in the user terminal.
청구항 5에 있어서,
상기 사용자 단말 서명값을 확인하는 단계는,
상기 드론에서, 상기 사용자 단말 서명값이 상기 사용자 단말 공개키에 대응하는 상기 사용자 단말 비밀키로 서명 처리된 것인지 확인하는 단계; 및
상기 드론에서, 상기 사용자 단말 비밀키로 서명 처리된 것으로 확인되면, 상기 사용자 단말에 대한 인증이 성공한 것으로 판단하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 5,
The step of checking the user terminal signature value,
In the drone, checking whether the user terminal signature value is signed with the user terminal private key corresponding to the user terminal public key; and
In the drone, if it is confirmed that the signature is processed with the user terminal private key, determining that authentication of the user terminal is successful.
청구항 4에 있어서,
상기 드론 대여 방법은,
상기 위치 확인 메시지를 수신한 베이스 스테이션에서, 상기 드론측 난수값, 상기 드론 아이디 및 베이스 스테이션 공개키를 포함하는 위치 식별 메시지를 생성하는 단계;
상기 베이스 스테이션에서, 상기 위치 식별 메시지를 베이스 스테이션 비밀키로 서명 처리하여 베이스 스테이션 서명값을 생성하는 단계;
상기 베이스 스테이션에서, 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 상기 드론으로 전송하는 단계; 및
상기 드론에서, 기 저장된 베이스 스테이션 공개키 중 상기 베이스 스테이션 공개키와 일치하는 베이스 스테이션 공개키가 존재하는 경우, 상기 일치하는 베이스 스테이션 공개키를 이용하여 상기 베이스 스테이션 서명값을 확인하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 4,
The drone rental method,
generating, at the base station that has received the location confirmation message, a location identification message including the drone-side random number value, the drone ID, and the base station public key;
generating, at the base station, a base station signature value by signing the location identification message with a base station private key;
transmitting, at the base station, the base station public key and the base station signature value to the drone; and
In the drone, if there is a base station public key that matches the base station public key among pre-stored base station public keys, the step of verifying the base station signature value using the matching base station public key How to rent a drone.
청구항 8에 있어서,
상기 베이스 스테이션이 복수 개인 경우 기 설정된 영역별로 각각 위치하며,
상기 목적지로 이동하는 단계 이전에,
상기 복수의 베이스 스테이션에서, 각각 베이스 스테이션 공개키 및 베이스 스테이션 비밀키를 발급받는 단계;
상기 대여 서버에서, 상기 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 획득하는 단계; 및
상기 드론에서, 상기 대여 서버로부터 상기 사용자 단말 공개키, 상기 결제 정보, 상기 복수의 베이스 스테이션 아이디 및 상기 복수의 베이스 스테이션 공개키를 수신하여 저장하는 단계를 더 포함하는, 드론 대여 방법.
The method of claim 8,
If there are a plurality of base stations, they are located in each preset area,
Before moving to the destination,
issuing a base station public key and a base station private key, respectively, from the plurality of base stations;
obtaining, at the rental server, valid IDs of a plurality of base stations located in the destination and public keys of a plurality of base stations; and
The drone rental method of claim 1, further comprising receiving and storing, in the drone, the user terminal public key, the payment information, the plurality of base station IDs, and the plurality of base station public keys from the rental server.
청구항 8에 있어서,
상기 베이스 스테이션 서명값을 확인하는 단계는,
상기 드론에서, 상기 베이스 스테이션 서명값이 상기 베이스 스테이션 공개키에 대응하는 상기 베이스 스테이션 비밀키로 서명 처리된 것인지 확인하여 상기 베이스 스테이션 서명값의 유효성을 검증하는 단계; 및
상기 드론에서, 상기 유효성이 검증된 베이스 스테이션 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단하는, 드론 대여 방법.
The method of claim 8,
The step of checking the base station signature value,
verifying, in the drone, validity of the base station signature value by checking whether the base station signature value is signed with the base station private key corresponding to the base station public key; and
In the drone, if the base station signature value whose validity is verified is greater than or equal to a preset reference value, it is determined that the location check is successful.
드론 정보를 바탕으로 드론 요청 정보를 생성하는 사용자 단말;
상기 드론 요청 정보를 수신하고, 상기 드론 요청 정보에 포함된 드론 아이디를 확인하여 상기 드론 아이디에 대응하는 드론으로 상기 드론 요청 정보를 전송하는 대여 서버; 및
상기 드론 요청 정보를 수신하고, 드론 대여 여부를 확인하여 결제 요청 정보 및 대여 확인 정보를 생성하는 드론을 포함하며,
상기 사용자 단말은,
상기 결제 요청 정보 및 대여 확인 정보를 수신하고, 결제 정보를 생성하는, 드론 대여 시스템.
a user terminal generating drone request information based on drone information;
a rental server that receives the drone request information, checks a drone ID included in the drone request information, and transmits the drone request information to a drone corresponding to the drone ID; and
Includes a drone that receives the drone request information and checks whether or not the drone is rented to generate payment request information and rental confirmation information;
The user terminal,
A drone rental system for receiving the payment request information and rental confirmation information and generating payment information.
청구항 11에 있어서,
상기 사용자 단말은,
상기 대여 서버로부터 제공되는 대여 드론 리스트를 기반으로 대여하고자 하는 드론의 드론 정보를 선택하는, 드론 대여 시스템.
The method of claim 11,
The user terminal,
A drone rental system for selecting drone information of a drone to be rented based on a rental drone list provided from the rental server.
청구항 11에 있어서,
상기 사용자 단말은,
사용자 단말 공개키 및 상기 결제 정보를 상기 대여 서버로 전송하며,
상기 드론은,
상기 대여 서버로부터 상기 사용자 단말 공개키 및 상기 결제 정보를 수신하고, 목적지로 이동하는, 드론 대여 시스템.
The method of claim 11,
The user terminal,
Transmitting the user terminal public key and the payment information to the rental server;
The drone,
A drone rental system for receiving the user terminal public key and the payment information from the rental server and moving to a destination.
청구항 13에 있어서,
상기 드론은,
상기 목적지에 도착한 후, 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅하는, 드론 대여 시스템.
The method of claim 13,
The drone,
After arriving at the destination, a drone signature value is generated by signing a location confirmation message including a drone-side random number value, a drone ID, a user ID, and a location confirmation request and the location confirmation message with a drone private key, and the location confirmation message and A drone rental system that broadcasts the drone signature value.
청구항 14에 있어서,
상기 사용자 단말은,
상기 드론 서명값을 수신하고, 상기 드론 정보에 포함된 드론 공개키를 이용하여 상기 드론 서명값을 확인하며, 상기 드론측 난수값 및 상기 사용자 아이디를 포함하는 인증 확인 메시지를 사용자 단말 비밀키로 서명 처리하여 생성하는, 드론 대여 시스템.
The method of claim 14,
The user terminal,
The drone signature value is received, the drone signature value is verified using the drone public key included in the drone information, and the authentication confirmation message including the drone-side random number value and the user ID is signed with the user terminal private key. created by drone rental system.
청구항 15에 있어서,
상기 드론은,
상기 사용자 단말 서명값을 수신하고, 상기 사용자 단말 공개키를 이용하여 상기 사용자 단말 서명값을 확인하는, 드론 대여 시스템.
The method of claim 15
The drone,
The drone rental system for receiving the user terminal signature value and verifying the user terminal signature value using the user terminal public key.
청구항 14에 있어서,
상기 드론 대여 시스템은,
기 설정된 영역별로 각각 위치하여, 상기 위치 확인 메시지를 수신하며, 상기 드론측 난수값, 상기 드론 아이디 및 베이스 스테이션 공개키를 포함하는 위치 식별 메시지를 생성하고, 상기 위치 식별 메시지를 베이스 스테이션 비밀키로 서명 처리하여 베이스 스테이션 서명값을 생성하며, 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 상기 드론으로 전송하는 복수의 베이스 스테이션을 포함하는, 드론 대여 시스템.
The method of claim 14,
The drone rental system,
It is located for each pre-set area, receives the location confirmation message, generates a location identification message including the drone-side random number value, the drone ID, and the base station public key, and signs the location identification message with the base station private key. and a plurality of base stations generating a base station signature value by processing, and transmitting the base station public key and the base station signature value to the drone.
청구항 17에 있어서,
상기 드론은,
상기 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 획득한 대여 서버로부터 상기 복수의 베이스 스테이션 아이디 및 상기 복수의 베이스 스테이션 공개키를 수신하여 저장하며, 상기 저장된 베이스 스테이션 공개키 중 상기 베이스 스테이션 공개키와 일치하는 베이스 스테이션 공개키가 존재하는 경우, 상기 일치하는 베이스 스테이션 공개키를 이용하여 상기 베이스 스테이션 서명값을 확인하는, 드론 대여 시스템.
The method of claim 17
The drone,
The plurality of base station IDs and the plurality of base station public keys are received and stored from a rental server that has obtained a plurality of valid base station IDs and a plurality of base station public keys located in the destination, and stores the stored base station public key. wherein, if there is a base station public key that matches the base station public key, the base station signature value is verified using the matching base station public key.
상기 18에 있어서,
상기 드론은,
상기 베이스 스테이션 서명값이 상기 베이스 스테이션 공개키에 대응하는 상기 베이스 스테이션 비밀키로 서명 처리된 것인지 확인하여 상기 베이스 스테이션 서명값의 유효성을 검증하고, 상기 유효성이 검증된 베이스 스테이션 서명값이 기 설정된 기준 이상인 경우, 위치 확인이 성공한 것으로 판단하는, 드론 대여 시스템.
In the above 18,
The drone,
It is verified whether the base station signature value is signed with the base station private key corresponding to the base station public key to verify the validity of the base station signature value, and if the validated base station signature value is greater than or equal to a predetermined standard, In this case, the drone rental system that determines that the location check is successful.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 드론 대여 방법으로서,
사용자 단말로부터 드론 요청 정보를 수신하고 드론 대여 여부를 확인하며, 결제 요청 정보 및 대여 확인 정보를 생성하여 상기 사용자 단말로 전송하는 단계;
상기 사용자 단말로부터 사용자 단말 공개키, 결제 정보, 목적지에 위치하는 유효한 복수의 베이스 스테이션 아이디 및 복수의 베이스 스테이션 공개키를 수신하여 저장하는 단계;
상기 목적지에 도착한 후, 드론측 난수값, 드론 아이디, 사용자 아이디 및 위치 확인 요청을 포함하는 위치 확인 메시지 및 상기 위치 확인 메시지를 드론 비밀키로 서명 처리하여 드론 서명값을 생성하고, 상기 위치 확인 메시지 및 상기 드론 서명값을 브로드캐스팅하는 단계;
복수의 베이스 스테이션으로부터 전송되는 상기 베이스 스테이션 공개키 및 상기 베이스 스테이션 서명값을 기초로 현재 위치를 확인하는 단계; 및
상기 사용자 단말로부터 전송되는 사용자 단말 서명값을 기초로 상기 사용자 단말에 대하여 인증하는 단계를 포함하는, 드론 대여 방법.
one or more processors; and
A drone rental method performed in a computing device having a memory for storing one or more programs executed by the one or more processors,
receiving drone request information from a user terminal, checking whether or not to rent a drone, and generating and transmitting payment request information and rental confirmation information to the user terminal;
receiving and storing a user terminal public key, payment information, a plurality of valid base station IDs and a plurality of base station public keys located in a destination from the user terminal;
After arriving at the destination, a drone signature value is generated by signing a location confirmation message including a drone-side random number value, a drone ID, a user ID, and a location confirmation request and the location confirmation message with a drone private key, and the location confirmation message and broadcasting the drone signature value;
verifying a current location based on the base station public key and the base station signature value transmitted from a plurality of base stations; and
and authenticating the user terminal based on the user terminal signature value transmitted from the user terminal.
KR1020210129282A 2021-09-29 2021-09-29 Method and system for managing drones rental KR20230046153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210129282A KR20230046153A (en) 2021-09-29 2021-09-29 Method and system for managing drones rental

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210129282A KR20230046153A (en) 2021-09-29 2021-09-29 Method and system for managing drones rental

Publications (1)

Publication Number Publication Date
KR20230046153A true KR20230046153A (en) 2023-04-05

Family

ID=85884569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210129282A KR20230046153A (en) 2021-09-29 2021-09-29 Method and system for managing drones rental

Country Status (1)

Country Link
KR (1) KR20230046153A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866071B1 (en) 2016-10-17 2018-06-08 동서대학교산학협력단 management method using unmanned drones rental system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866071B1 (en) 2016-10-17 2018-06-08 동서대학교산학협력단 management method using unmanned drones rental system

Similar Documents

Publication Publication Date Title
US11572713B1 (en) Smart lock box
US11121857B2 (en) Systems, devices, and methods for in-field authenticating of autonomous robots
CN110633963B (en) Electronic bill processing method, electronic bill processing device, computer readable storage medium and computer readable storage device
CN109714348B (en) Authority processing method, device, equipment and medium based on block chain
US20200204999A1 (en) Home Network Access
CN112073400A (en) Access control method, system and device and computing equipment
US9178871B2 (en) Authentication and authorization method and system
CN111176794B (en) Container management method, device and readable storage medium
CN105229987A (en) The initiatively mobile authentication of associating
CN104008324A (en) Terminal and server for applying security policy, and method of controlling the same
CN105743841A (en) Intelligent hotel room facility control authority distribution method, client and system
KR102542631B1 (en) Method and system for verifying blockchain data stored in a storage format different from blockchain
CN106713315B (en) Login method and device of plug-in application program
EP2577616B1 (en) A method of authorizing a person, an authorizing architecture and a computer program product
CN105577619A (en) Method and system for logging in client and client
US10506431B2 (en) Authentication method, mobile communications authentication platform, and device
KR102170031B1 (en) Method, Recording medium and Blockchain system for confirming blockchain transaction using location information
KR20230046153A (en) Method and system for managing drones rental
US20230074627A1 (en) Method and system for detecting forgery of mobile application by using user identifier and signature collection
US20200184430A1 (en) Electronic ticket management system, electronic ticket management method and electronic ticket management program
US20220086164A1 (en) Edge-node authentication and security for functions as a service
US20150156607A1 (en) Mobile device location
KR101464940B1 (en) Method and system for performing payment by authentication of user
US11223618B2 (en) Control of delegation rights
KR102432545B1 (en) Location verification method and system for smart city, and mobile communication device therefor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination