KR20230120792A - Method and computer program of verifying drone pilot qualifications based on Decentralized Identity - Google Patents

Method and computer program of verifying drone pilot qualifications based on Decentralized Identity Download PDF

Info

Publication number
KR20230120792A
KR20230120792A KR1020220017449A KR20220017449A KR20230120792A KR 20230120792 A KR20230120792 A KR 20230120792A KR 1020220017449 A KR1020220017449 A KR 1020220017449A KR 20220017449 A KR20220017449 A KR 20220017449A KR 20230120792 A KR20230120792 A KR 20230120792A
Authority
KR
South Korea
Prior art keywords
node
verified
drone
verification
computer
Prior art date
Application number
KR1020220017449A
Other languages
Korean (ko)
Other versions
KR102684733B1 (en
Inventor
최상철
박진우
최승훈
남기석
Original Assignee
백석문화대학교 산학협력단
전주비전대학교산학협력단
영남이공대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 백석문화대학교 산학협력단, 전주비전대학교산학협력단, 영남이공대학교 산학협력단 filed Critical 백석문화대학교 산학협력단
Priority to KR1020220017449A priority Critical patent/KR102684733B1/en
Publication of KR20230120792A publication Critical patent/KR20230120792A/en
Application granted granted Critical
Publication of KR102684733B1 publication Critical patent/KR102684733B1/en

Links

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/31User authentication
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/02Access restriction performed under specific conditions
    • H04W48/04Access restriction performed under specific conditions based on user or terminal location or mobility data, e.g. moving direction, speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Provided is a computer program stored in a computer-readable storage medium including instructions for allowing a processor of a verification node to perform the following steps. According to some embodiments, the steps include the steps of: generating a decentralized identifier (DID) for a verifying entity; in response to an access request obtained from a node to be verified, requesting a verifiable presentation (VP) for an entity to be verified from the node to be verified, the access request including a control request for a drone controlled by a verification node; if the VP is obtained from the node to be verified, verifying the VP using a registry based on a blockchain network; and if the verification of the VP is successful, granting control authority for the drone to the node to be verified. Therefore, provided are a method for verifying drone pilot qualifications with improved reliability and a program for implementing the same.

Description

분산 신원증명에 기반한 드론 조종 자격 검증 방법 및 이를 수행하는 컴퓨터 프로그램{Method and computer program of verifying drone pilot qualifications based on Decentralized Identity}Method and computer program of verifying drone pilot qualifications based on decentralized identity

본 발명은 드론 조종 자격 검증 방법에 관한 것으로, 더욱 상세하게는 분산 신원증명(DID: Decentralized Identity)을 이용하여 신뢰성이 향상된 드론 조종 자격 검증 방법 및 이를 구현하는 프로그램에 관한 것이다.The present invention relates to a drone pilot qualification verification method, and more particularly, to a drone pilot qualification verification method with improved reliability using decentralized identity (DID) and a program implementing the same.

최근 드론은 개인의 취미 생활부터 산업적 이용, 군사적 이용 등 다양한 영역에서 널리 활용되고 있다. 예를 들어, 배송업체는 드론을 이용하여 물건을 배송하고, 군 관계자는 드론을 이용하여 군사지역을 검색하고, 개인은 드론을 이용하여 사용자의 모습을 카메라로 촬영할 수 있다. 이와 같이 다양한 목적의 드론이 개발되고, 다양한 목적으로 사용되기 때문에 비행 중인 드론이 누구에 의해 조종되는지 어떤 목적으로 비행하는 것인지 알 수 없다. 또한 드론이 다른 사람에 의해 조종될 위험도 있으며, 드론에 의한 사고 발생시에 드론을 조종한 사람을 식별할 필요가 있다.Recently, drones are widely used in various fields such as personal hobbies, industrial use, and military use. For example, a delivery company may use a drone to deliver goods, a military official may use a drone to search a military area, and an individual may use a drone to photograph a user using a camera. Since drones for various purposes are developed and used for various purposes, it is unknown who controls the drone in flight and for what purpose it is flying. In addition, there is a risk that the drone is controlled by another person, and in the event of an accident caused by a drone, it is necessary to identify the person who operated the drone.

이에 항공안전법 시행령에서는 드론 기체의 신고 범위를 확대 규정하였고, 항공안전법 시행규칙에서는 드론의 분류에 따른 조종 자격 요건을 세분화하여 규정하였다. 다만, 여전히 드론 조종 자격이 없거나, 해당 드론의 조종에 요구되는 자격을 구비하지 못한 사용자가 드론을 조종하는 경우가 빈번하게 발생하고 있고, 이에 따라 사고의 위험, 제한 구역 내에서의 조종 등 문제점이 존재한다.Accordingly, the Enforcement Decree of the Aviation Safety Act expanded the scope of drone aircraft reporting, and the Enforcement Rule of the Aviation Safety Act subdivided and regulated pilot qualification requirements according to the classification of drones. However, there are still cases where drones are operated by users who are not qualified to operate drones or who do not have the qualifications required to operate the drones. As a result, problems such as the risk of accidents and operation within restricted areas occur frequently. exist.

상기의 문제를 해결하기 위하여 국내 등록특허 제2228579호에서는 생체 인증을 통한 드론 사용자 본인 인증 방법에 대하여 고안하였으나, 이는 단순히 실제 드론 사용자에 대한 정보를 확인하고, 사고 발생시 드론을 조종한 사용자를 확인하기 위한 것일 뿐, 드론 조종 자격을 검증하지 못한다는 한계가 존재한다.In order to solve the above problem, Korean Patent Registration No. 2228579 devised a drone user authentication method through biometric authentication. It is only for the purpose, but there is a limit that the drone pilot qualification cannot be verified.

국내 등록특허 제2228579호 (2021.03.10 공개)Domestic Patent No. 2228579 (published on March 10, 2021)

본 발명은 전술한 배경기술에 대응하여 안출된 것으로, 본 발명이 해결하고자 하는 기술적 과제는 신뢰성이 향상된 드론 조종 자격 검증 방법 및 이를 구현하는 프로그램을 제공하는 것이다.The present invention has been made in response to the above background art, and a technical problem to be solved by the present invention is to provide a method for verifying drone pilot qualification with improved reliability and a program implementing the same.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 검증 노드의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은:A computer program stored in a computer readable storage medium according to some embodiments of the present invention for achieving the above technical problem is disclosed. The computer program includes instructions for causing a processor of a verification node to perform the following steps:

검증 엔티티에 대한 분산 식별자(DID: Decentralized ID)를 생성하는 단계; 피검증 노드로부터 획득되는 액세스 요청에 대응하여, 피검증 엔티티에 대한 VP(Verifiable Presentation)를 상기 피검증 노드로 요청하는 단계 - 상기 액세스 요청에는 검증 노드에 의해 제어되는 드론의 제어 요청을 포함함 -; 상기 피검증 노드로부터 상기 VP를 획득한 경우, 블록체인 네트워크 기반의 레지스트리를 통해 상기 VP를 검증하는 단계; 및 상기 VP의 검증이 성공한 경우, 상기 드론에 대한 제어 권한을 상기 피검증 노드에 부여하는 단계를 포함할 수 있다.generating a decentralized identifier (DID) for the verification entity; In response to an access request obtained from a node to be verified, requesting a verifiable presentation (VP) for an entity to be verified to the node to be verified, wherein the access request includes a control request for a drone controlled by the node to be verified. ; verifying the VP through a blockchain network-based registry when the VP is obtained from the node to be verified; and if the verification of the VP is successful, granting control authority for the drone to the node to be verified.

일 실시예에 따라, 상기 제어 권한은 상기 드론의 전원 온오프 권한 및 상기 드론의 주행 권한을 포함할 수 있다.According to an embodiment, the control authority may include power on/off authority of the drone and driving authority of the drone.

일 실시예에 따라, 상기 VP는 상기 피검증 엔티티의 무인동력비행장치 조종 자격, 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보를 포함하는 VC(Verifiable Credential)를 포함할 수 있다.According to an embodiment, the VP may include a verifiable credential (VC) including at least one of information about the unmanned aerial vehicle piloting qualification, piloting experience, total piloting time, and recent piloting history of the entity to be verified.

이 때, 상기 주행 권한은 상기 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보에 기초하여 결정되는 상기 드론의 주행 고도 또는 상기 드론의 주행 속도에 대한 권한을 포함할 수 있다.In this case, the driving authority may include the authority for the driving altitude of the drone or the driving speed of the drone, which is determined based on at least one information of the piloting history, total piloting time, and recent piloting history.

일 실시예에 따라, 상기 VP는 상기 피검증 엔티티의 무인동력비행장치 조종 자격 및 상기 피검증 엔티티의 조종 허가 구역에 대한 정보를 포함하는 VC(Verifiable Credential)를 포함할 수 있다.According to an embodiment, the VP may include a Verifiable Credential (VC) including information about the piloting qualification of the unmanned aerial vehicle of the entity to be verified and the pilot area of the entity to be verified.

이 때, 상기 주행 권한은 상기 조종 허가 구역에 대한 권한을 포함할 수 있다.In this case, the driving authority may include authority for the steering permitted area.

일 실시예에 따라, 상기 단계들은, 상기 드론이 상기 조종 허가 구역을 벗어났다고 판단되는 경우, 상기 피검증 노드로 경고 알림을 전달하는 단계를 더 포함할 수 있다.According to an embodiment, the steps may further include transmitting a warning notification to the node to be verified when it is determined that the drone is out of the pilot permitted area.

일 실시예에 따라, 상기 단계들은, 상기 드론이 상기 조종 허가 구역을 벗어난 횟수가 기설정된 기준 횟수에 도달한 경우, 상기 드론의 RTH(Return To Home)를 활성화시키는 단계를 더 포함할 수 있다.According to an embodiment, the steps may further include activating a Return To Home (RTH) of the drone when the number of times the drone leaves the pilot permitted area reaches a predetermined reference number.

일 실시예에 따라, 상기 단계들은, 기정의된 추가 검증 조건을 만족하는 경우, 상기 피검증 노드로 상기 VP를 재요청하는 단계; 상기 VP를 획득한 경우, 상기 레지스트리를 통해 상기 VP를 재검증하는 단계; 및 상기 VP의 재검증이 성공한 경우 상기 제어 권한을 유지하고, 상기 VP의 재검증이 실패한 경우 상기 제어 권한을 회수하고 상기 드론의 RTH(Return To Home)를 활성화시키는 단계를 더 포함할 수 있다.According to an embodiment, the steps may include re-requesting the VP to the node to be verified when a predefined additional verification condition is satisfied; re-verifying the VP through the registry when the VP is acquired; and maintaining the control authority when the re-verification of the VP is successful, and retrieving the control authority and activating a Return To Home (RTH) of the drone when the re-verification of the VP fails.

일 실시예에 따라, 상기 추가 검증 조건은 직전 검증 후 기설정된 시간에 도달한 경우 만족할 수 있다.According to an embodiment, the additional verification condition may be satisfied when a preset time is reached after the previous verification.

일 실시예에 따라, 상기 추가 검증 조건은 상기 드론의 주행 상태에 대한 조건을 포함할 수 있다.According to an embodiment, the additional verification condition may include a condition for the driving state of the drone.

일 실시예에 따라, 상기 추가 검증 조건은 상기 드론의 호버링(Hovering) 지속 시간이 기설정된 시간에 도달한 경우 만족할 수 있다.According to an embodiment, the additional verification condition may be satisfied when a hovering duration of the drone reaches a preset time.

일 실시예에 따라, 상기 추가 검증 조건은 상기 드론의 주행 속도가 기설정된 속도 미만인 경우 만족할 수 있다.According to an embodiment, the additional verification condition may be satisfied when the driving speed of the drone is less than a preset speed.

본 발명의 몇몇 실시예에 따른 컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램이 제공된다. 상기 컴퓨터 프로그램은 피검증 노드의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은:A computer program stored in a computer readable storage medium according to some embodiments of the present invention is provided. The computer program includes instructions for causing a processor of a node to be verified to perform the following steps:

피검증 엔티티에 대한 분산 식별자(DID: Decentralized ID)를 생성하는 단계; 상기 DID를 이용하여 발급 노드로 VC(Verifiable Credential) 발행을 요청하는 단계; 상기 발급 노드로부터 상기 피검증 엔티티에 대한 VC를 획득하는 경우, 드론의 제어 요청을 포함하는 액세스 요청을 검증 노드로 제공하는 단계 -상기 드론은 상기 검증 노드에 의해 제어됨-; 상기 검증 노드로부터 상기 피검증 엔티티에 대한 VP(Verifiable Presentation) 요청을 수신하는 경우, 상기 VC를 포함하는 상기 피검증 엔티티의 VP를 생성하고, 상기 생성된 VP를 상기 검증 노드로 제공하는 단계; 상기 VP에 대한 검증이 성공한 경우, 상기 드론에 대한 제어 권한을 상기 검증 노드로부터 획득하는 단계를 포함할 수 있다.generating a decentralized ID (DID) for the entity to be verified; requesting issuance of a Verifiable Credential (VC) to an issuing node using the DID; when obtaining the VC for the entity to be verified from the issuing node, providing an access request including a control request of a drone to a verification node, wherein the drone is controlled by the verification node; generating a VP of the entity to be verified including the VC, and providing the created VP to the verification node when a request for a verifiable presentation (VP) of the entity to be verified is received from the verification node; When the verification of the VP is successful, obtaining control authority for the drone from the verification node.

일 실시예에 따라, 상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보 및 무인동력비행장치 교육 수료 정보 중 적어도 하나의 정보를 포함할 수 있다.According to an embodiment, the VC may include at least one information of unmanned aerial vehicle qualification information and unmanned aerial vehicle training completion information of the entity to be verified.

일 실시예에 따라, 상기 제어 권한은 상기 드론의 전원 온오프 권한 및 상기 드론의 주행 권한을 포함할 수 있다.According to an embodiment, the control authority may include power on/off authority of the drone and driving authority of the drone.

일 실시예에 따라, 상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보, 무인동력비행장치 교육 수료 정보, 상기 피검증 엔티티의 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보를 포함할 수 있다.According to an embodiment, the VC may provide information on at least one of unmanned aerial vehicle qualification information, unmanned aerial vehicle training completion information, piloting career, total piloting time, and recent piloting history of the entity to be verified. can include

이 때, 상기 주행 권한은 상기 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보에 기초하여 결정되는 상기 드론의 주행 고도 또는 상기 드론의 주행 속도에 대한 권한을 포함할 수 있다.In this case, the driving authority may include the authority for the driving altitude of the drone or the driving speed of the drone, which is determined based on at least one information of the piloting history, total piloting time, and recent piloting history.

일 실시예에 따라, 상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보, 무인동력비행장치 교육 수료 정보 및 상기 피검증 엔티티의 조종 허가 구역에 대한 정보를 포함할 수 있다.According to an embodiment, the VC may include unmanned aerial vehicle qualification information, unmanned aerial vehicle training completion information of the entity to be verified, and information on a pilot permitted area of the entity to be verified.

이 때, 상기 주행 권한은 상기 조종 허가 구역에 대한 권한을 포함할 수 있다.In this case, the driving authority may include authority for the steering permitted area.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

도 1은 본 발명의 몇몇 실시예에 따른 분산 신원증명을 이용한 드론 조종 자격 검증 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 몇몇 실시예에 따른 발급 노드, 피검증 노드 및 검증 노드의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 몇몇 실시예에 따른 분산 신원증명을 이용한 드론 조종 자격 검증 시스템의 연계 동작을 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 몇몇 실시예에 따른 VC(Verifiable Credential)의 구성을 예시적으로 설명하기 위한 도면이다.
도 5는 본 발명의 몇몇 실시예에 따른 VP(Verifiable Presentation)의 구성을 예시적으로 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예에 따라, 재검증을 수행하는 시스템의 연계 동작을 개략적으로 설명하기 위한 도면이다.
1 is a diagram for explaining a drone pilot qualification verification system using distributed identification according to some embodiments of the present invention.
2 is a diagram for explaining configurations of an issuing node, a to-be-verified node, and a verification node according to some embodiments of the present invention.
3 is a diagram for schematically explaining a linked operation of a drone piloting qualification verification system using distributed identification according to some embodiments of the present invention.
4 is a diagram for illustratively explaining the configuration of a Verifiable Credential (VC) according to some embodiments of the present invention.
5 is a diagram for illustratively explaining the configuration of a Verifiable Presentation (VP) according to some embodiments of the present invention.
6 is a diagram schematically illustrating an associated operation of a system performing re-verification according to some embodiments of the present invention.

이하, 본 발명의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that this is not intended to limit the present invention to the specific embodiments, but to cover various modifications, equivalents, and/or alternatives of the embodiments of the present invention.

최근 드론은 개인의 취미 생활부터 산업적 이용, 군사적 이용 등 다양한 영역에서 널리 활용되고 있다. 예를 들어, 배송업체는 드론을 이용하여 물건을 배송하고, 군 관계자는 드론을 이용하여 군사지역을 검색하고, 개인은 드론을 이용하여 사용자의 모습을 카메라로 촬영할 수 있다. 이와 같이 다양한 목적의 드론이 개발되고, 다양한 목적으로 사용되기 때문에 비행 중인 드론이 누구에 의해 조종되는지 어떤 목적으로 비행하는 것인지 알 수 없다. 또한 드론이 다른 사람에 의해 조종될 위험도 있으며, 드론에 의한 사고 발생시에 드론을 조종한 사람을 식별할 필요가 있다.Recently, drones are widely used in various fields such as personal hobbies, industrial use, and military use. For example, a delivery company may use a drone to deliver goods, a military official may use a drone to search a military area, and an individual may use a drone to photograph a user using a camera. Since drones for various purposes are developed and used for various purposes, it is unknown who controls the drone in flight and for what purpose it is flying. In addition, there is a risk that the drone is controlled by another person, and in the event of an accident caused by a drone, it is necessary to identify the person who operated the drone.

이에 항공안전법 시행령에서는 드론 기체의 신고 범위를 확대 규정하였고, 항공안전법 시행규칙에서는 드론의 분류에 따른 조종 자격 요건을 세분화하여 규정하였다. 다만, 여전히 드론 조종 자격이 없거나, 해당 드론의 조종에 요구되는 자격을 구비하지 못한 사용자가 드론을 조종하는 경우가 빈번하게 발생하고 있고, 이에 따라 사고의 위험, 제한 구역 내에서의 조종 등 문제점이 존재한다.Accordingly, the Enforcement Decree of the Aviation Safety Act expanded the scope of drone aircraft reporting, and the Enforcement Rule of the Aviation Safety Act subdivided and regulated pilot qualification requirements according to the classification of drones. However, there are still cases where drones are operated by users who are not qualified to operate drones or who do not have the qualifications required to operate the drones. As a result, problems such as the risk of accidents and operation within restricted areas occur frequently. exist.

상기의 문제를 해결하기 위하여 국내 등록특허 제2228579호에서는 생체 인증을 통한 드론 사용자 본인 인증 방법에 대하여 고안하였으나, 이는 단순히 실제 드론 사용자에 대한 정보를 확인하고, 사고 발생시 드론을 조종한 사용자를 확인하기 위한 것일 뿐, 드론 조종 자격을 검증하지 못한다는 한계가 존재한다.In order to solve the above problem, Korean Patent Registration No. 2228579 devised a drone user authentication method through biometric authentication. It is only for the purpose, but there is a limit that the drone pilot qualification cannot be verified.

이하에서, 도 1 내지 도 6을 참조하여 본 발명의 몇몇 실시예에 따른 방법, 시스템 및 컴퓨터 프로그램을 설명한다.Methods, systems and computer programs according to some embodiments of the present invention are described below with reference to FIGS. 1-6.

도 1은 본 발명의 몇몇 실시예에 따른 분산 신원증명을 이용한 드론 조종 자격 검증 시스템을 설명하기 위한 도면이고, 도 2는 본 발명의 몇몇 실시예에 따른 발급 노드, 피검증 노드 및 검증 노드의 구성을 설명하기 위한 도면이다.1 is a diagram for explaining a drone pilot qualification verification system using distributed identification according to some embodiments of the present invention, and FIG. 2 is a configuration of an issuing node, a verified node, and a verification node according to some embodiments of the present invention. It is a drawing for explaining.

도 1을 참조하면, 본 발명의 일 실시예에 따라 분산 신원증명(DID)를 이용한 드론 조종 자격 검증 시스템은 발급 노드(100), 피검증 노드(200), 검증 노드(300), 레지스트리(400) 및 통신 네트워크(500)를 포함할 수 있다. 설명의 편의를 위하여 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 블록체인 네트워크 기반의 레지스트리(400)와는 별개의 주체임을 가정한다. 그러나 본 발명에 있어서, 블록체인 네트워크 기반의 레지스트리(400)에 포함된 노드가 수행하는 모든 단계는 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)에 의하여 수행될 수도 있다고 해석될 수 있다.Referring to FIG. 1 , the drone piloting qualification verification system using distributed identification (DID) according to an embodiment of the present invention includes an issuing node 100, a verified node 200, a verification node 300, and a registry 400. ) and the communication network 500. For convenience of description, it is assumed that the issuing node 100, the verified node 200, and the verification node 300 are separate entities from the blockchain network-based registry 400. However, in the present invention, all steps performed by nodes included in the blockchain network-based registry 400 may be performed by the issuing node 100, the verified node 200, and/or the verification node 300. can be interpreted as

발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 통신 네트워크(500)를 통하여 레지스트리(400)에 포함된 적어도 하나의 노드와 통신하기 위한 메커니즘을 가지며, 상기 DID를 이용한 드론 조종 자격 검증 시스템에서의 임의의 형태의 노드를 의미할 수 있다. 예를 들어, 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스, PC(Personal Computer), 랩탑 컴퓨터, 워크스테이션 및/또는 네트워크 접속성을 갖는 임의의 전자 디바이스를 포함할 수 있다. 또한, 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 에이전트(Agent), API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 서버를 포함할 수도 있다. 또한, 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.The issuing node 100, the verified node 200, and the verifying node 300 have a mechanism for communicating with at least one node included in the registry 400 through the communication network 500, and the drone using the DID. It can mean any type of node in the steering qualification verification system. For example, the issuing node 100, the verified node 200, and the verifying node 300 may include microprocessors, mainframe computers, digital processors, portable devices, personal computers (PCs), laptop computers, workstations, and/or It may include any electronic device having network connectivity. In addition, the issuing node 100, the verified node 200, and the verifying node 300 may be implemented by at least one of an agent, an application programming interface (API), and a plug-in. May contain servers. Also, the issuing node 100, the verified node 200, and the verifying node 300 may include an application source and/or a client application.

발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 임의의 데이터 처리 및 저장을 수행할 수 있는 임의의 레지스트리(400)에 포함된 컴퓨팅 장치일 수도 있다.The issuing node 100, the verified node 200, and the verifying node 300 may be computing devices included in an arbitrary registry 400 capable of performing arbitrary data processing and storage.

일 실시예에 따라, 발급 노드(100)는 피검증 엔티티에 대한 신원 증명서를 발급하는 외부 인증 기관(issuer, 예를 들어, 정부 기관, 한국교통안전공단 등)에 의해 관리되는 노드일 수 있다. 즉, 피검증 엔티티의 신원 및 자격 인증을 먼저 수행한 엔티티와 관련된 노드일 수 있다. 일 실시예에 따라, 피검증 노드(200)는 드론을 조종하고자 하는 사용자에 의해 관리되는 노드(단말)일 수 있다. 즉, 피검증 엔티티에 의해 관리되는 컴퓨팅 장치일 수 있다. 일 실시예에 따라, 검증 노드(300)는 드론과 물리적으로 또는 논리적으로 연결되어 피검증 엔티티(예를 들어, 조종자)의 자격을 검증하는 노드(Verifier)일 수 있다.According to one embodiment, the issuing node 100 may be a node managed by an external authentication authority (issuer, eg, a government agency, Korea Transportation Safety Authority, etc.) that issues an identity certificate for an entity to be verified. That is, it may be a node associated with an entity that first performed identity and qualification authentication of the entity to be verified. According to an embodiment, the node to be verified 200 may be a node (terminal) managed by a user who wants to control a drone. That is, it may be a computing device managed by an entity to be verified. According to an embodiment, the verification node 300 may be a node (verifier) that is physically or logically connected to a drone to verify the qualifications of an entity to be verified (eg, a pilot).

발급 노드(100) 및 검증 노드(300)는 레지스트리(400)에 액세스하고자 하는 발급 엔티티 및 검증 엔티티와 관련될 수 있다. 피검증 노드(200)는 발급 노드(100)로부터 신원을 인증받고, 검증 노드(300)로부터 이를 검증받아 자신의 엔티티의 신원과 관련된 식별 정보를 레지스트리(400) 상에 기록하여는 피검증 엔티티와 관련될 수 있다.Issuing node 100 and verifying node 300 may be associated with an issuing entity and a verifying entity seeking access to registry 400 . The node to be verified 200 is authenticated by the issuing node 100, verified by the verification node 300, and records identification information related to the identity of its own entity on the registry 400. can be related

발급 노드(100)는 피검증 노드(200)의 요청에 응답하여, 피검증 노드(200)와 관련된 피검증 엔티티에 대한 신원 및 자격 인증을 수행할 수 있다. 일 실시예에 따라, 발급 노드(100)는 하나 또는 복수 개의 노드일 수 있다.The issuing node 100 may perform identity and qualification authentication for an entity to be verified related to the node to be verified 200 in response to a request of the node to be verified 200 . According to one embodiment, the issuing node 100 may be one or a plurality of nodes.

도 1의 시스템의 각각의 구성자는 PKI(Public Key Infrastructure) 기반의 키 쌍(개인키(private key) 및 공개키(public key)를 포함함)을 생성하고, 개인키는 해당 장치의 전자지갑에 저장하고, 공개키를 이용하여 DID 문서를 생성한 후, 블록체인(blockchain)에 저장함에 의해, 블록체인 기반의 검증 시스템을 이용할 수 있다. 기본적으로, DID 문서에는 신원 주체와 관련된 정보와 이 정보를 검증할 수 있는 방법, DID의 공개키 집합, 인증 프로토콜 집합, 해당 개체와 통신 또는 상호작용할 수 있는 서비스 엔드 포인트(endpoint)의 집합 등을 포함할 수 있다. DID의 장점들 중 하나는 DID는 개인 스스로 생성 및 관리하므로 자신이 불필요하다고 판단하거나 노출하기 원하지 않는 정보는 포함하지 않도록 관리할 수 있다는 것이다. 블록체인 기반의 레지스트리(400)에 저장된 DID 문서는 블록체인 네트워크를 통해, 앞서 설명한 각 구성자 및 각 구성자의 관계 기관에 공유될 수 있다.Each component of the system of FIG. 1 generates a PKI (Public Key Infrastructure)-based key pair (including a private key and a public key), and the private key is stored in the electronic wallet of the corresponding device. After storing, generating a DID document using a public key, and then storing it in a blockchain, a blockchain-based verification system can be used. Basically, a DID document contains information related to the identity subject, how this information can be verified, a set of public keys for the DID, a set of authentication protocols, and a set of service endpoints that can communicate or interact with the entity. can include One of the advantages of DID is that since DIDs are created and managed by individuals themselves, they can be managed so as not to include information that they deem unnecessary or do not want to be exposed. The DID document stored in the blockchain-based registry 400 can be shared with each configurator and related organizations of each configurator described above through a blockchain network.

본 발명의 몇몇 실시예에 따라, 블록체인 기반의 레지스트리(400)는 블록체인 기술에 기반하여 동작하는 복수의 노드들을 의미할 수 있다. 여기서, 블록체인 기술은 블록이 체인형태로 연결된 저장 구조를 사용하여, 관리 대상이 되는 데이터를 블록체인 네트워크에 포함된 복수의 노드들에 저장하는 분산 저장 기술이다.According to some embodiments of the present invention, the blockchain-based registry 400 may mean a plurality of nodes that operate based on blockchain technology. Here, blockchain technology is a distributed storage technology that uses a storage structure in which blocks are connected in a chain form to store data to be managed in a plurality of nodes included in a blockchain network.

블록체인 기반의 레지스트리(400)는 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)로부터 전달된 트랜잭션을 사전 결정된 합의 알고리즘에 기초하여 블록 형태로 저장할 수 있다. 블록 형태로 저장되는 데이터는 레지스트리(400)에 포함된 복수의 노드들에 의해 공유될 수 있다.The blockchain-based registry 400 may store transactions transmitted from the issuing node 100, the verified node 200, and/or the verifying node 300 in block form based on a predetermined consensus algorithm. Data stored in block form may be shared by a plurality of nodes included in the registry 400 .

레지스트리(400)는, 구현 형태에 따라서, 임의의 노드들이 합의 동작을 수행할 수 있는 Public 블록체인 네트워크 또는 사전 결정된 노드만이 합의 동작을 수행할 수 있는 Private 블록체인 네트워크를 포함할 수 있다.Depending on the type of implementation, the registry 400 may include a public blockchain network in which arbitrary nodes can perform consensus operation or a private blockchain network in which only predetermined nodes can perform consensus operation.

본 발명의 몇몇 실시예에 따른 레지스트리(400)에서 수행되는 합의 알고리즘은 PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stage) 알고리즘, PBFT(Practical Byzantine Fault Tolerance) 알고리즘, DBFT(Delegated Byzantine Fault Tolerance) 알고리즘, RBFT(Redundant Byzantine Fault Tolerance) 알고리즘, Sieve 알고리즘, Tendermint 알고리즘, Paxos 알고리즘, Raft 알고리즘, PoA(Proof of Authority) 알고리즘 및/또는 PoET(Proof of Elapsed Time) 알고리즘을 포함할 수 있다.Consensus algorithms performed in the registry 400 according to some embodiments of the present invention include a Proof of Work (PoW) algorithm, a Proof of Stake (PoS) algorithm, a Delegated Proof of Stage (DPoS) algorithm, and a Practical Byzantine Fault Tolerance (PBFT) algorithm. Algorithm, Delegated Byzantine Fault Tolerance (DBFT) Algorithm, Redundant Byzantine Fault Tolerance (RBFT) Algorithm, Sieve Algorithm, Tendermint Algorithm, Paxos Algorithm, Raft Algorithm, PoA (Proof of Authority) Algorithm, and/or PoET (Proof of Elapsed Time) Algorithm can include

본 발명의 몇몇 예시적인 실시예에서, 레지스트리(400)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 일 실시예에 따라, 이러한 계층 구조는 레지스트리(400)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다.In some demonstrative embodiments of the present invention, nodes in registry 400 may operate by a blockchain core package according to a hierarchical structure. According to an embodiment, this hierarchical structure defines the structure of data handled in the registry 400, a data layer that manages data, performs mining that validates blocks and generates blocks, and informs miners in the mining process. Consensus layer in charge of handling paid fees, execution layer that processes and executes smart contracts, common layer that implements and manages P2P network protocols, hash functions, digital signatures, encoding, and common storage, and various applications are created and processed and a managed application layer.

일 실시예에 따라, 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)는 레지스트리(400)에 포함된 노드일 수 있다. 이러한 예시에서, 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)는 지갑(wallet) 기능, 마이너(miner) 기능, 및 Full 블록체인 데이터의 저장 기능 중 적어도 하나의 기능을 구현할 수 있다.According to an embodiment, the issuing node 100 , the verified node 200 , and/or the verifying node 300 may be nodes included in the registry 400 . In this example, the issuing node 100, the verified node 200, and/or the verifying node 300 perform at least one of a wallet function, a miner function, and a full blockchain data storage function. can be implemented.

일 실시예에 따라, 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)는 레지스트리(400)로 쿼리(query) 또는 트랜잭션(transaction)을 발행할 수 있다. 본 발명에서의 쿼리는 레지스트리(400) 상에서 등록된 수신자의 식별 정보를 조회하는데 사용될 수 있다. 본 발명에서의 트랜잭션은 레지스트리(400) 상에 기록된 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는데 사용될 수 있다.According to one embodiment, the issuing node 100 , the verified node 200 , and/or the verifying node 300 may issue a query or transaction to the registry 400 . The query in the present invention can be used to search identification information of a registered receiver on the registry 400 . A transaction in the present invention may be used to update (modify/change/delete/add) data recorded on the registry 400.

일 실시예에 따라, 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)는 프로그래밍 언어로 작성된 애플리케이션 소스를 송수신할 수 있다. 예를 들어, 발급 노드(100), 피검증 노드(200) 및/또는 검증 노드(300)는 애플리케이션 소스를 컴파일링하여 클라이언트 애플리케이션을 생성할 수 있다. 예를 들어, 생성된 클라이언트 애플리케이션은 레지스트리(400)로 전달된 후 실행될 수 있다.According to an embodiment, the issuing node 100, the verified node 200, and/or the verifying node 300 may transmit and receive an application source written in a programming language. For example, the issuing node 100, the verified node 200, and/or the verifying node 300 may generate a client application by compiling an application source. For example, the generated client application may be transferred to the registry 400 and then executed.

일 실시예에 따라, 통신 네트워크(500)는 공중전화 교환망(PSTN: Public Switiched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.According to one embodiment, the communication network 500 may include a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and Very High Speed DSL (VDSL). Speed DSL), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and various wired communication systems such as local area networks (LAN) may be used.

또한, 본 발명에서 제시되는 통신 네트워크(500)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다. 본 발명에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 임의의 형태의 다른 통신 네트워크들에서도 사용될 수 있다.In addition, the communication network 500 presented in the present invention includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), SC-FDMA ( Single Carrier-FDMA) and other systems. The techniques described herein may be used not only in the networks mentioned above, but also in any type of other communication networks.

도 2를 참조하면, 본 발명의 일 실시예에 따른 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 각각 프로세서(110, 210, 310), 메모리(120, 220, 320) 및 통신부(130, 230, 330)를 포함할 수 있다.Referring to FIG. 2, the issuing node 100, the verified node 200, and the verifying node 300 according to an embodiment of the present invention include processors 110, 210, and 310, and memories 120, 220, and 320, respectively. ) and communication units 130, 230 and 330.

프로세서(110, 210, 310)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등과 같이 메모리 상에 저장된 명령어들을 실행시킴으로써 신원 및 자격 인증을 수행하기 위한 임의의 형태의 프로세서를 포함할 수 있다. 프로세서는 메모리에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 몇몇 실시예에 따른 신원 및 자격 인증을 수행할 수 있다. 프로세서는 신원 및 자격 인증 과정을 진행하기 위하여 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)의 컴포넌트들의 전반적인 동작들을 제어할 수 있다.The processors 110, 210, and 310 may be composed of one or more cores, and include a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit ( It may include any type of processor for performing identity and qualification authentication by executing instructions stored in memory, such as a tensor processing unit (TPU). A processor may read a computer program stored in memory to perform identity and entitlement authentication in accordance with some embodiments of the present invention. The processor may control overall operations of components of the issuing node 100, the verified node 200, and the verifying node 300 in order to proceed with the identity and qualification authentication process.

메모리(120, 220, 320)는 프로세서(110, 210, 310)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 임시 또는 영구 저장할 수도 있다. 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적 어도 하나의 타입의 저장매체를 포함할 수 있다. 이러한 메모리(120, 220, 320)는 프로세서(110, 210, 310)에 제어에 의하여 동작될 수 있다.The memories 120, 220, and 320 may store programs for operation of the processors 110, 210, and 310, and may temporarily or permanently store input/output data. Memory is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk At least one type of storage medium may be included. These memories 120, 220, and 320 may be operated under the control of the processors 110, 210, and 310.

통신부(130, 230, 330)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 통신부(130, 230, 330)는 발급 노드(100), 피검증 노드(200), 검증 노드(300), 레지스트리(400) 및 다른 블록체인 네트워크에 포함된 노드 중 적어도 하나와의 통신을 수행할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband) Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다.The communication units 130, 230, and 330 may include a wired/wireless Internet module for network access. The communication units 130, 230, and 330 may communicate with at least one of the issuing node 100, the verified node 200, the verification node 300, the registry 400, and nodes included in other blockchain networks. can Wireless Internet technologies include wireless LAN (WLAN) (Wi-Fi), wireless broadband (Wibro), world interoperability for microwave access (Wimax), high speed downlink packet access (HSDPA), and the like. As a wired Internet technology, XDSL (Digital Subscriber Line), FTTH (Fibers to the home), PLC (Power Line Communication), and the like may be used.

전술한 컴포넌트들은 예시적인 것으로서 본 발명의 권리범위가 전술한 컴포넌트들로 제한되지는 않는다. 즉, 본 발명의 실시예들에 대한 구현 양태에 따라서 추가적인 컴포넌트들이 포함되거나 또는 전술한 컴포넌트들 중 일부가 생략될 수 있음은 물론이다.The aforementioned components are exemplary and the scope of the present invention is not limited to the aforementioned components. That is, of course, additional components may be included or some of the aforementioned components may be omitted according to implementation aspects of the embodiments of the present invention.

도 3은 본 발명의 몇몇 실시예에 따른 분산 신원증명을 이용한 드론 조종 자격 검증 시스템의 연계 동작을 개략적으로 설명하기 위한 도면이고, 도 4는 본 발명의 몇몇 실시예에 따른 VC(Verifiable Credential)의 구성을 예시적으로 설명하기 위한 도면이고, 도 5는 본 발명의 몇몇 실시예에 따른 VP(Verifiable Presentation)의 구성을 예시적으로 설명하기 위한 도면이다.3 is a diagram for schematically explaining the linked operation of a drone pilot qualification verification system using distributed identity verification according to some embodiments of the present invention, and FIG. 4 is a diagram of VC (Verifiable Credential) 5 is a diagram for illustratively explaining a configuration of a Verifiable Presentation (VP) according to some embodiments of the present invention.

도 3을 참조하면, 본 발명의 몇몇 실시예에 따른 시스템, 방법 및 프로그램은 DID를 이용하여 피검증 엔티티(예를 들어, 조종자)의 조종 자격을 검증하고, 드론의 제어 권한을 부여할 수 있다.Referring to FIG. 3 , the system, method, and program according to some embodiments of the present invention verify the piloting qualification of the entity to be verified (eg, pilot) using the DID, and grant control authority to the drone. .

S1000 단계에서, 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)는 각각 발급 엔티티, 피검증 엔티티 및 검증 엔티티에 대한 분산 식별자(DID_ISSUER, DID_HOLDER, DID_VERIFIER)를 레지스트리(400)에 등록할 수 있다. 전술한 바와 같이, 발급 엔티티는 증명서를 발급하는 기관(예를 들어, 한국교통안전공단)을 의미하고, 피검증 엔티티는 드론을 조종하고자 하는 사용자를 의미하고, 검증 엔티티는 피검증 엔티티의 증명(신원) 검증을 수행하는 드론(또는 드론과 연계된 장치)을 의미할 수 있다.In step S1000, the issuing node 100, the verified node 200, and the verifying node 300 store distributed identifiers (DID_ISSUER, DID_HOLDER, and DID_VERIFIER) for the issuing entity, the verified entity, and the verifying entity, respectively, in the registry 400. can register. As described above, the issuing entity refers to an authority issuing a certificate (eg, Korea Transportation Safety Authority), the entity to be verified refers to a user who wants to pilot a drone, and the verification entity refers to the certification of the entity to be verified ( It may refer to a drone (or a device associated with a drone) that performs identity verification.

S2000 단계에서, 피검증 노드(200)는 발급 노드(100)로 VC 발행 요청(CLAIM)을 전송할 수 있다. 즉, 자격의 발급 주체(Issuer)인 발급 노드(100)로 VC 발행 요청(CLAIM)을 전달하는 피검증 노드(200)는 VC를 소유하고 관리하는 피검증 주체(엔티티), 또는 홀더(Holder)일 수 있다.In step S2000, the node to be verified 200 may transmit a VC issuance request (CLAIM) to the issuing node 100. That is, the verified node 200 that delivers the VC issuance request (CLAIM) to the issuing node 100, which is the issuer of the qualification, is the verified subject (entity) or holder that owns and manages the VC. can be

S3000 단계에서, 발급 노드(100)는 VC 발행 요청(CLAIM)에 대응하여 피검증 엔티티에 대한 VC를 발급하여 피검증 노드(200)로 전송할 수 있다. 이 때, 발급 노드(100)는 VC 발행 요청(CLAIM)을 내역을 확인하고, 요청하는 사항에 대한 자격이 존재하는지 여부를 확인하고, 피검증 엔티티의 자격이 확인되는 경우 VC를 발급하여 피검증 노드(200)로 전달할 수 있다.In step S3000, the issuing node 100 may issue a VC for the entity to be verified and transmit the VC to the node to be verified 200 in response to the VC issuance request (CLAIM). At this time, the issuing node 100 checks the details of the VC issuance request (CLAIM), checks whether or not the qualification for the requested item exists, and if the qualification of the entity to be verified is confirmed, issues the VC to verify It can be delivered to node 200.

도 4를 참조하면, 발급 노드(100)에 의해 발급되고, 피검증 노드(200)에 의해 관리되는 VC는 VC 메타데이터(CREDENTIAL METADATA), VC 발행 요청(CLAIM) 및 VC 증명(PROOF)을 포함할 수 있다.Referring to FIG. 4, the VC issued by the issuing node 100 and managed by the verified node 200 includes VC metadata (CREDENTIAL METADATA), VC issuance request (CLAIM), and VC proof (PROOF). can do.

VC 메타데이터(CREDENTIAL METADATA)는 발행자(Issuer, 발급 노드(100))에 대한 정보, 자격의 만료(유효) 기간, 발급 시간 등의 메타 데이터가 기록될 수 있다. VC 발행 요청(CLAIM)에는 홀더(Holder, 피검증 노드(200))가 요청한 Claim에 대한 정보가 그대로 기록될 수 있다. 예를 들어, VC 발행 요청(CLAIM)에는 피검증 엔티티의 ID 정보, 자격 정보, 학습 정보 등이 포함될 수 있다. VC 증명(PROOF)에는 VC를 검증하기 위한 시그니쳐 값(예를 들어, 발급 노드(100)의 개인키(Private Key))이 기록될 수 있다.In the VC metadata (CREDENTIAL METADATA), metadata such as information about the issuer (Issuer, issuing node 100), expiration (validity) period of qualification, and issuance time may be recorded. In the VC issuance request (CLAIM), information about the claim requested by the holder (Holder, node to be verified 200) may be recorded as it is. For example, the VC issuance request (CLAIM) may include ID information, qualification information, learning information, and the like of the entity to be verified. A signature value (for example, a private key of the issuing node 100) for verifying the VC may be recorded in the VC proof (PROOF).

일 실시예에 따라, VC에는 피검증 엔티티의 무인동력비행장치 자격 정보 및 무인동력비행장치 교육 수료 정보, 조종 경력, 총 조종 시간, 최근 조종 이력, 조종 허가 구역 등의 정보가 포함될 수 있다.According to one embodiment, the VC may include information such as unmanned aerial vehicle qualification information and unmanned aerial vehicle training completion information of the entity to be verified, pilot experience, total pilot time, recent pilot history, pilot permitted area, and the like.

다시 도 3을 참조하면, S4000 단계에서, 피검증 노드(200)는 검증 노드(300)로 드론에 대한 액세스 요청(RQ_ACCESS)을 전달할 수 있다. 액세스 요청(RQ_ACCESS)은 드론에 대한 제어 요청을 포함할 수 있다. Referring back to FIG. 3 , in step S4000 , the node to be verified 200 may transmit a drone access request (RQ_ACCESS) to the verification node 300 . The access request (RQ_ACCESS) may include a control request for a drone.

S5000 단계에서, 검증 노드(300)는 액세스 요청(RQ_ACCESS)에 대응하여 피검증 노드(200)로 VP 발행 요청(RQ_VP)을 전송할 수 있다. 드론의 관리 주체인 검증 노드(300)는 해당 드론의 제원 등의 정보가 저장되고, 해당 드론을 조종할 수 있는 자격 정보가 포함된 VP를 피검증 노드(200)로 요청할 수 있다.In step S5000, the verification node 300 may transmit a VP issuance request (RQ_VP) to the node to be verified 200 in response to the access request (RQ_ACCESS). The verification node 300, which is a management entity of the drone, may request, from the node to be verified 200, a VP in which information such as specifications of the corresponding drone is stored and qualification information for controlling the corresponding drone is included.

S6000 단계에서, 피검증 노드(200)는 VP 발행 요청(RQ_VP)에 대응하여 VP를 생성하여 검증 노드(300)로 전달할 수 있다.In step S6000, the node to be verified 200 may generate a VP in response to the VP issuance request (RQ_VP) and transmit it to the verification node 300.

도 5를 참조하면, VP는 VP 메타데이터(PRESENTATION METADATA), VC 및 VP 증명(PROOF)을 포함할 수 있다.Referring to FIG. 5 , VP may include VP metadata (PRESENTATION METADATA), VC, and VP proof (PROOF).

VP 메타데이터(PRESENTATION METADATA)는 VC의 관리주체인 피검증 엔티티(Holder, 피검증 노드(200))에 대한 정보, VP의 유형(Type) 등 VP의 메타데이터가 기록될 수 있다. VC에는 피검증 노드(200)가 발급 노드(100)로부터 발급받은 VC에 대한 정보가 그대로 기록될 수 있다. 일 실시예에 따라, 하나의 VP에는 복수의 VC가 포함될 수 있다. 즉, 검증에 필요한 자격 증빙 등이 여러 개일 경우, 복수의 VC가 VP에 포함될 수 있다. VP 증명(PROOF)에는 VP를 검증하기 위한 시그니쳐 값(예를 들어, 피검증 노드(200)의 개인키(Private Key))이 기록될 수 있다.In the VP metadata (PRESENTATION METADATA), metadata of the VP, such as information about the entity to be verified (Holder, the node to be verified 200), which is the management subject of the VC, and the type of the VP, may be recorded. In the VC, information on the VC issued by the node to be verified 200 from the issuing node 100 may be recorded as it is. According to an embodiment, one VP may include a plurality of VCs. That is, when there are several credentials required for verification, a plurality of VCs may be included in the VP. A signature value for verifying the VP (for example, a private key of the node 200 to be verified) may be recorded in the VP proof (PROOF).

다시 도 3을 참조하면, S7000 단계에서, 검증 노드(300)는 피검증 노드(200)로부터 획득한 VP에 대한 검증 절차를 수행할 수 있다. 도시된 바와 같이, 블록체인 기반의 레지스트리(400)를 이용하여 VP에 대한 검증을 수행할 수 있다.Referring back to FIG. 3 , in step S7000 , the verification node 300 may perform a verification procedure on the VP acquired from the node to be verified 200 . As shown, verification of the VP may be performed using the blockchain-based registry 400 .

S8000 단계에서, VP에 대한 검증이 성공한 경우(자격 조건을 만족하는 경우) 검증 노드(300)는 피검증 노드(200)로 드론에 대한 제어 권한(AUTHORITY_CONTROL)을 부여할 수 있다. 반대로, VP에 대한 검증이 실패한 경우(자격 조건을 만족하지 않는 경우) 검증 노드(300)는 피검증 노드(200)로 드론에 대한 제어 권한(AUTHORITY_CONTROL)을 부여하지 않을 수 있다. 일 실시예에 따라, 검증 노드(300)는 피검증 노드(200)로 검증 실패 메시지를 제공할 수 있다.In step S8000, if the verification of the VP succeeds (if the qualification conditions are satisfied), the verification node 300 may grant the drone control authority (AUTHORITY_CONTROL) to the verified node 200. Conversely, if verification of the VP fails (if the qualification condition is not satisfied), the verification node 300 may not grant control authority (AUTHORITY_CONTROL) for the drone to the verified node 200. According to an embodiment, the verification node 300 may provide a verification failure message to the verified node 200 .

일 실시예에 따라, 제어 권한(AUTHORITY_CONTROL)은 드론의 전원 온오프 권한 및 드론의 주행 권한을 포함할 수 있다. 즉, 신원 검증이 완료된 피검증 노드(200)에만 드론의 전원을 공급하고, 조종을 수행할 수 있는 권한을 부여할 수 있다.According to an embodiment, the control authority (AUTHORITY_CONTROL) may include power on/off authority of the drone and driving authority of the drone. That is, only the node to be verified 200 whose identity has been verified may be authorized to supply power to the drone and perform control.

일 실시예에 따라, VP에 피검증 엔티티의 무인동력비행장치 조종 자격, 조종 경력, 총 조종 시간, 최근 조종 이력 등의 정보를 포함하는 VC가 포함되는 경우, 피검증 노드(200)로 부여되는 조종 권한은 상기 VC에 기초하여 결정되는 드론의 주행 고도 또는 주행 속도에 대한 권한을 포함할 수 있다. 예를 들어, 조종 경력, 조종 시간, 최근 조종일로부터의 경과 시간 등에 대한 기준(범위)를 설정하고, 기준에 부합되는 주행 고도 또는 주행 속도에 대한 권한을 피검증 노드(200), 즉 조종자에게 이를 부여함으로써 조종 사고 발생의 위험성을 감소시킬 수 있다.According to an embodiment, if the VP includes the VC including information such as the qualification for piloting the unmanned aerial vehicle of the entity to be verified, the piloting experience, the total piloting time, and the recent piloting history, the value assigned to the node to be verified 200 The piloting authority may include authority for the driving altitude or driving speed of the drone determined based on the VC. For example, a criterion (range) for piloting experience, piloting time, elapsed time from a recent piloting date, etc. is set, and the authority for driving altitude or driving speed that meets the criteria is given to the node to be verified 200, that is, the pilot. This can reduce the risk of pilot accidents.

일 실시예에 따라, VP에 피검증 엔티티의 조종 허가 구역에 대한 정보가 포함되는 VC를 포함되는 경우, 피검증 노드(200)로 부여되는 조종 권한은 상기 VC에 기초한 허가 구역에 대한 권한을 포함할 수 있고, 허가 구역을 벗어났다고 판단되는 경우 검증 노드(300)는 피검증 노드(200)로 경고 알림을 전달할 수 있다. 일 실시예에 따라, 드론이 허가 구역을 벗어난 횟수가 기설정된 기준 횟수에 도달하는 경우 검증 노드(300)는 드론의 RTH(Return To Home)를 활성화시킬 수 있다.According to an embodiment, when the VP includes a VC including information on a permitted area for manipulation of an entity to be verified, the manipulation authority granted to the node to be verified 200 includes the authority for a permitted area based on the VC. and if it is determined that it is out of the permitted area, the verification node 300 may transmit a warning notification to the verified node 200 . According to an embodiment, the verification node 300 may activate RTH (Return To Home) of the drone when the number of times the drone leaves the permitted area reaches a predetermined reference number.

본 발명의 몇몇 실시예에 따라, DID 기반의 드론 조종 자격을 검증하고, 검증된 사용자에게만 제어 권한(AUTHORITY_CONTROL)을 부여함으로써 신뢰성 있는 검증이 가능하고, 무자격자의 조종으로 인한 사고의 위험성을 방지할 수 있다.According to some embodiments of the present invention, by verifying DID-based drone piloting qualification and granting control authority (AUTHORITY_CONTROL) only to verified users, reliable verification is possible and the risk of accidents due to unqualified piloting can be prevented. there is.

도 6은 본 발명의 몇몇 실시예에 따라, 재검증을 수행하는 시스템의 연계 동작을 개략적으로 설명하기 위한 도면이다. 재검증은 피검증 엔티티에 대한 최초 검증이 성공된 이후의 실시예인 바, 도 3을 참조하여 설명한 과정에 대한 설명은 생략한다.6 is a diagram schematically illustrating an associated operation of a system performing re-verification according to some embodiments of the present invention. Since re-verification is an embodiment after the first verification of the entity to be verified is successful, a description of the process described with reference to FIG. 3 will be omitted.

도 6을 참조하면, S9100 단계에서, 검증 노드(300)는 기정의된 추가 검증 조건을 만족하는 경우 피검증 노드(200)로 VP 재발행 요청(RQ_VP)을 전달할 수 있다. Referring to FIG. 6 , in step S9100, the verification node 300 may transmit a VP reissue request (RQ_VP) to the node to be verified 200 when a predefined additional verification condition is satisfied.

일 실시예에 따라, 추가 검증 조건은 직전 검증 후 기설정된 시간에 도달한 경우 만족하도록 설정될 수 있다. 예를 들어, 최초 검증이 수행된 후 10분 후 검증 노드(300)는 피검증 노드(200)로 VP 재발행 요청(RQ_VP)을 전송할 수 있다. 또한, 재검증 후 동일한 시간(예를 들어, 10분)이 경과된 경우 다시 VP 재발행 요청(RQ_VP)을 전송할 수 있다. 본 발명의 일 실시예에 따라, 주기적으로 재검증을 수행함으로써 최초 검증 이후 다른 사용자(조종자)에 의해 드론이 조종되는 행위를 방지하여 신뢰성 및 안정성을 향상시킬 수 있다.According to an embodiment, the additional verification condition may be set to be satisfied when a preset time is reached after the previous verification. For example, 10 minutes after the initial verification is performed, the verification node 300 may transmit a VP reissue request (RQ_VP) to the verified node 200 . In addition, when the same time (eg, 10 minutes) has elapsed after re-validation, the VP reissue request (RQ_VP) may be transmitted again. According to an embodiment of the present invention, by periodically performing re-verification, it is possible to improve reliability and stability by preventing another user (operator) from controlling the drone after the initial verification.

일 실시예에 따라, 추가 검증 조건은 드론의 주행 상태에 대한 조건을 포함할 수 있다. 예를 들어, 드론의 호버링(Hovering) 지속 시간이 기설정된 시간(예를 들어, 1분)에 도달하는 경우에 추가 검증 조건이 만족되고, 검증 노드(300)는 피검증 노드(200)로 VP 재발행 요청을 전송할 수 있다. 다른 예로서, 드론의 비행 속도가 기설정된 기준 속도 미만인 경우 추가 검증 조건이 만족되는 것으로 설정될 수 있다. 본 발명의 일 실시예에 따라, 드론의 주행 상태에 따라 VP의 재검증 수행여부를 결정함으로써 조종의 안정성을 확보하며 신원 검증을 수행할 수 있다.According to an embodiment, the additional verification condition may include a condition for the driving state of the drone. For example, when the hovering duration of the drone reaches a predetermined time (eg, 1 minute), the additional verification condition is satisfied, and the verification node 300 is the VP as the verified node 200. A reissue request can be sent. As another example, when the flight speed of the drone is less than a predetermined reference speed, an additional verification condition may be set to be satisfied. According to an embodiment of the present invention, it is possible to secure stability of piloting and perform identity verification by determining whether or not to perform VP re-verification according to the driving state of the drone.

S9200 단계에서 피검증 노드(200)는 VP 재발행 요청(RQ_VP)에 대응하여 VP를 검증 노드(300)로 제공하고, S9300 단계에서 검증 노드(300)는 레지스트리(400)를 이용하여 VP의 검증 동작을 수행할 수 있다. S9200 및 S9300 단계는 각각 도 3을 참조하여 설명한 S6000 단계 및 S7000 단계와 실질적으로 동일하게 구현되는 바, 이에 대한 구체적인 설명은 생략한다.In step S9200, the node to be verified 200 provides the VP to the verification node 300 in response to the VP reissue request (RQ_VP), and in step S9300, the verification node 300 performs a verification operation of the VP using the registry 400. can be performed. Steps S9200 and S9300 are implemented substantially the same as steps S6000 and S7000 described with reference to FIG. 3, respectively, and thus detailed descriptions thereof are omitted.

일 실시예에 따라, VP의 재검증이 성공한 경우 피검증 노드(200)로 부여된 제어 권한(AUTHORITY_CONTROL)을 유지하고, 실패한 경우 제어 권한(AUTHORITY_CONTROL)을 회수할 수 있다. 일 실시예에 따라, 실패한 경우 검증 노드(300)는 드론의 RTH를 활성화시킬 수 있다.According to an embodiment, if the re-verification of the VP is successful, the control authority (AUTHORITY_CONTROL) granted to the node to be verified 200 may be maintained, and if the re-verification of the VP is unsuccessful, the control authority (AUTHORITY_CONTROL) may be retrieved. According to one embodiment, in case of failure, the verification node 300 may activate RTH of the drone.

본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "A, Each of the phrases such as "at least one of B or C" may include any one of the items listed together in the corresponding one of the phrases, or all possible combinations thereof. Terms such as "first" and "second" may simply be used to distinguish a corresponding component from other corresponding components, and do not limit the corresponding components in other respects (eg, importance or order).

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시 예들은 기기(machine)(예: 발급 노드(100), 피검증 노드(200) 및 검증 노드(300)) 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기(예: 발급 노드(100), 피검증 노드(200) 및 검증 노드(300))의 프로세서(예: 프로세서(110, 210, 310))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document include one or more instructions stored in a storage medium readable by a machine (eg, the issuing node 100, the verified node 200, and the verifying node 300). It can be implemented as software that For example, processors (eg, processors 110, 210, 310) of devices (eg, issuing node 100, verified node 200, and verifying node 300) may include one or more instructions stored from a storage medium. At least one of these commands can be invoked and executed. This enables the device to be operated to perform at least one function according to the at least one command invoked. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.

일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.

다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the components described above may include a singular object or a plurality of entities. According to various embodiments, one or more components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.

Claims (16)

컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 검증 노드의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은:
검증 엔티티에 대한 분산 식별자(DID: Decentralized ID)를 생성하는 단계;
피검증 노드로부터 획득되는 액세스 요청에 대응하여, 피검증 엔티티에 대한 VP(Verifiable Presentation)를 상기 피검증 노드로 요청하는 단계 - 상기 액세스 요청에는 검증 노드에 의해 제어되는 드론의 제어 요청을 포함함 -;
상기 피검증 노드로부터 상기 VP를 획득한 경우, 블록체인 네트워크 기반의 레지스트리를 통해 상기 VP를 검증하는 단계; 및
상기 VP의 검증이 성공한 경우, 상기 드론에 대한 제어 권한을 상기 피검증 노드에 부여하는 단계를 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer readable storage medium, the computer program including instructions for causing a processor of a verification node to perform the following steps:
generating a decentralized identifier (DID) for the verification entity;
In response to an access request obtained from a node to be verified, requesting a verifiable presentation (VP) for an entity to be verified to the node to be verified, wherein the access request includes a control request for a drone controlled by the node to be verified. ;
verifying the VP through a blockchain network-based registry when the VP is obtained from the node to be verified; and
When the verification of the VP is successful, granting control authority for the drone to the verified node.
A computer program stored on a computer-readable storage medium.
청구항 1에 있어서,
상기 제어 권한은 상기 드론의 전원 온오프 권한 및 상기 드론의 주행 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The control authority includes power on/off authority of the drone and driving authority of the drone.
A computer program stored on a computer-readable storage medium.
청구항 2에 있어서,
상기 VP는 상기 피검증 엔티티의 무인동력비행장치 조종 자격, 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보를 포함하는 VC(Verifiable Credential)를 포함하고,
상기 주행 권한은 상기 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보에 기초하여 결정되는 상기 드론의 주행 고도 또는 상기 드론의 주행 속도에 대한 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 2,
The VP includes a Verifiable Credential (VC) including at least one information of an unmanned aerial vehicle piloting qualification, a piloting career, a total piloting time, and a recent piloting history of the entity to be verified,
The driving authority includes authority for the driving altitude of the drone or the driving speed of the drone determined based on at least one information of the piloting history, total piloting time, and recent piloting history.
A computer program stored on a computer-readable storage medium.
청구항 2에 있어서,
상기 VP는 상기 피검증 엔티티의 무인동력비행장치 조종 자격 및 상기 피검증 엔티티의 조종 허가 구역에 대한 정보를 포함하는 VC(Verifiable Credential)를 포함하고,
상기 주행 권한은 상기 조종 허가 구역에 대한 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 2,
The VP includes a Verifiable Credential (VC) including information about the unmanned aerial vehicle piloting qualification of the entity to be verified and the pilot area of the entity to be verified,
The driving authority includes authority for the steering permitted area,
A computer program stored on a computer-readable storage medium.
청구항 4에 있어서,
상기 단계들은,
상기 드론이 상기 조종 허가 구역을 벗어났다고 판단되는 경우, 상기 피검증 노드로 경고 알림을 전달하는 단계를 더 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 4,
These steps are
Further comprising transmitting a warning notification to the verified node when it is determined that the drone is out of the pilot permitted area.
A computer program stored on a computer-readable storage medium.
청구항 5에 있어서,
상기 단계들은,
상기 드론이 상기 조종 허가 구역을 벗어난 횟수가 기설정된 기준 횟수에 도달한 경우, 상기 드론의 RTH(Return To Home)를 활성화시키는 단계를 더 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 5,
These steps are
Further comprising activating RTH (Return To Home) of the drone when the number of times the drone leaves the pilot permitted area reaches a preset reference number,
A computer program stored on a computer-readable storage medium.
청구항 1에 있어서,
상기 단계들은,
기정의된 추가 검증 조건을 만족하는 경우, 상기 피검증 노드로 상기 VP를 재요청하는 단계;
상기 VP를 획득한 경우, 상기 레지스트리를 통해 상기 VP를 재검증하는 단계; 및
상기 VP의 재검증이 성공한 경우 상기 제어 권한을 유지하고, 상기 VP의 재검증이 실패한 경우 상기 제어 권한을 회수하고 상기 드론의 RTH(Return To Home)를 활성화시키는 단계를 더 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
These steps are
re-requesting the VP to the node to be verified when a predefined additional verification condition is satisfied;
re-verifying the VP through the registry when the VP is obtained; and
Maintaining the control authority if the re-verification of the VP is successful, and recovering the control authority and activating RTH (Return To Home) of the drone if the re-verification of the VP fails,
A computer program stored on a computer-readable storage medium.
청구항 7에 있어서,
상기 추가 검증 조건은 직전 검증 후 기설정된 시간에 도달한 경우 만족하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 7,
The additional verification condition is satisfied when a predetermined time is reached after the previous verification,
A computer program stored on a computer-readable storage medium.
청구항 7에 있어서,
상기 추가 검증 조건은 상기 드론의 주행 상태에 대한 조건을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 7,
The additional verification condition includes a condition for the driving state of the drone.
A computer program stored on a computer-readable storage medium.
청구항 9에 있어서,
상기 추가 검증 조건은 상기 드론의 호버링(Hovering) 지속 시간이 기설정된 시간에 도달한 경우 만족하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 9,
The additional verification condition is satisfied when the hovering duration of the drone reaches a preset time,
A computer program stored on a computer-readable storage medium.
청구항 7에 있어서,
상기 추가 검증 조건은 상기 드론의 주행 속도가 기설정된 속도 미만인 경우 만족하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 7,
The additional verification condition is satisfied when the driving speed of the drone is less than a preset speed,
A computer program stored on a computer-readable storage medium.
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 피검증 노드의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은:
피검증 엔티티에 대한 분산 식별자(DID: Decentralized ID)를 생성하는 단계;
상기 DID를 이용하여 발급 노드로 VC(Verifiable Credential) 발행을 요청하는 단계;
상기 발급 노드로부터 상기 피검증 엔티티에 대한 VC를 획득하는 경우, 드론의 제어 요청을 포함하는 액세스 요청을 검증 노드로 제공하는 단계 -상기 드론은 상기 검증 노드에 의해 제어됨-;
상기 검증 노드로부터 상기 피검증 엔티티에 대한 VP(Verifiable Presentation) 요청을 수신하는 경우, 상기 VC를 포함하는 상기 피검증 엔티티의 VP를 생성하고, 상기 생성된 VP를 상기 검증 노드로 제공하는 단계;
상기 VP에 대한 검증이 성공한 경우, 상기 드론에 대한 제어 권한을 상기 검증 노드로부터 획득하는 단계를 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer readable storage medium, the computer program including instructions for causing a processor of a node under test to perform the following steps, the steps:
generating a decentralized ID (DID) for the entity to be verified;
requesting issuance of a Verifiable Credential (VC) to an issuing node using the DID;
when obtaining the VC for the entity to be verified from the issuing node, providing an access request including a control request of a drone to a verification node, wherein the drone is controlled by the verification node;
generating a VP of the entity to be verified including the VC when receiving a request for a verifiable presentation (VP) of the entity to be verified from the verification node, and providing the generated VP to the verification node;
If the verification of the VP is successful, obtaining a control authority for the drone from the verification node.
A computer program stored on a computer-readable storage medium.
청구항 12에 있어서,
상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보 및 무인동력비행장치 교육 수료 정보 중 적어도 하나의 정보를 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 12,
The VC includes at least one information of unmanned aerial vehicle qualification information and unmanned aerial vehicle training completion information of the entity to be verified.
A computer program stored on a computer-readable storage medium.
청구항 12에 있어서,
상기 제어 권한은 상기 드론의 전원 온오프 권한 및 상기 드론의 주행 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 12,
The control authority includes power on/off authority of the drone and driving authority of the drone.
A computer program stored on a computer-readable storage medium.
청구항 14에 있어서,
상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보, 무인동력비행장치 교육 수료 정보, 상기 피검증 엔티티의 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보를 포함하고,
상기 주행 권한은 상기 조종 경력, 총 조종 시간 및 최근 조종 이력 중 적어도 하나의 정보에 기초하여 결정되는 상기 드론의 주행 고도 또는 상기 드론의 주행 속도에 대한 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 14,
The VC includes information on at least one of unmanned aerial vehicle qualification information, unmanned aerial vehicle training completion information, pilot career, total pilot time, and recent pilot history of the entity to be verified,
The driving authority includes authority for the driving altitude of the drone or the driving speed of the drone determined based on at least one information of the piloting history, total piloting time, and recent piloting history.
A computer program stored on a computer-readable storage medium.
청구항 14에 있어서,
상기 VC는 상기 피검증 엔티티의 무인동력비행장치 자격 정보, 무인동력비행장치 교육 수료 정보 및 상기 피검증 엔티티의 조종 허가 구역에 대한 정보를 포함하고,
상기 주행 권한은 상기 조종 허가 구역에 대한 권한을 포함하는,
컴퓨터 판독 가능한 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 14,
The VC includes unmanned aerial vehicle qualification information, unmanned aerial vehicle training completion information of the entity to be verified, and information on a pilot permitted area of the entity to be verified,
The driving authority includes authority for the steering permitted area,
A computer program stored on a computer-readable storage medium.
KR1020220017449A 2022-02-10 2022-02-10 Method and computer program of verifying drone pilot qualifications based on Decentralized Identity KR102684733B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220017449A KR102684733B1 (en) 2022-02-10 2022-02-10 Method and computer program of verifying drone pilot qualifications based on Decentralized Identity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220017449A KR102684733B1 (en) 2022-02-10 2022-02-10 Method and computer program of verifying drone pilot qualifications based on Decentralized Identity

Publications (2)

Publication Number Publication Date
KR20230120792A true KR20230120792A (en) 2023-08-17
KR102684733B1 KR102684733B1 (en) 2024-07-11

Family

ID=87800156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220017449A KR102684733B1 (en) 2022-02-10 2022-02-10 Method and computer program of verifying drone pilot qualifications based on Decentralized Identity

Country Status (1)

Country Link
KR (1) KR102684733B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160074897A (en) * 2014-12-19 2016-06-29 전자부품연구원 The method and apparatus for allowing right of flight of drone
KR102212287B1 (en) * 2020-11-11 2021-02-03 세종대학교산학협력단 System and method for authenticating drone and computing device for executing the system
KR102228579B1 (en) 2020-09-07 2021-03-16 주식회사 고스트패스 Electronic device that authenticates the user of a drone based on biometric information and method for operation thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160074897A (en) * 2014-12-19 2016-06-29 전자부품연구원 The method and apparatus for allowing right of flight of drone
KR102228579B1 (en) 2020-09-07 2021-03-16 주식회사 고스트패스 Electronic device that authenticates the user of a drone based on biometric information and method for operation thereof
KR102212287B1 (en) * 2020-11-11 2021-02-03 세종대학교산학협력단 System and method for authenticating drone and computing device for executing the system

Also Published As

Publication number Publication date
KR102684733B1 (en) 2024-07-11

Similar Documents

Publication Publication Date Title
US11196572B2 (en) Blockchain-based content verification
CN109074579B (en) Method and system for protecting computer software using distributed hash table and blockchain
US10902425B2 (en) System and method for biometric credit based on blockchain
US9712322B2 (en) Controlling exposure of sensitive data and operation using process bound security tokens in cloud computing environment
US11003760B2 (en) User account recovery techniques using secret sharing scheme with trusted referee
US20190190723A1 (en) Authentication system and method, and user equipment, authentication server, and service server for performing same method
JP2019219780A (en) Personal information management system, and service providing system, method and program
CN110326252A (en) The security provisions and management of equipment
KR102197218B1 (en) System and method for providing distributed id and fido based block chain identification
CN108701309A (en) A kind of distributed user profile authentication system for security of e-commerce transactions
TWI761428B (en) A system and a computer-implemented method for machine-to-machine authentication of an apparatus
JPH11175402A (en) Card type storage medium and access control method for the same and computer readable recording medium for recording access control program for card type storage medium
EP3937040B1 (en) Systems and methods for securing login access
US11356243B2 (en) Information management system with blockchain authentication
US12045805B2 (en) Multisignature key custody, key customization, and privacy service
JP2019219782A (en) Service providing system and service providing method
US10609013B2 (en) Twin factor authentication for controller
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
US20240171398A1 (en) Proof of presence using non-fungible tokens
KR102684733B1 (en) Method and computer program of verifying drone pilot qualifications based on Decentralized Identity
KR102375616B1 (en) Method and system for managing key to authenticate end user
KR102276527B1 (en) System for issuing object for preventing object from being tampered
CN114626100B (en) Consensus algorithm for distributed ledger wall technology
US20240205013A1 (en) Privacy preserving authentication augmented with physical biometric proof
US20220358458A1 (en) Secure blockchain supply management system

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