KR20220164265A - Method, System and Program of Drone Control, Pilot Certification and Drone Identification - Google Patents
Method, System and Program of Drone Control, Pilot Certification and Drone Identification Download PDFInfo
- Publication number
- KR20220164265A KR20220164265A KR1020210072814A KR20210072814A KR20220164265A KR 20220164265 A KR20220164265 A KR 20220164265A KR 1020210072814 A KR1020210072814 A KR 1020210072814A KR 20210072814 A KR20210072814 A KR 20210072814A KR 20220164265 A KR20220164265 A KR 20220164265A
- Authority
- KR
- South Korea
- Prior art keywords
- code
- drone
- virtual
- command
- control
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 17
- 238000004891 communication Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 16
- 238000010845 search algorithm Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001605 fetal effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G5/00—Traffic control systems for aircraft, e.g. air-traffic control [ATC]
- G08G5/0004—Transmission of traffic-related information to or from an aircraft
- G08G5/0013—Transmission of traffic-related information to or from an aircraft with a ground station
-
- B64C2201/146—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
본 발명은 드론 제어, 조종자 인증 및 드론 식별 방법, 시스템 및 프로그램에 관한 것이다.The present invention relates to a method, system, and program for drone control, pilot authentication, and drone identification.
최근 들어, 무인비행체(드론) 기술이 발전하면서 서비스 산업에서의 무인비행체의 이용이 증가하는 실정이다.Recently, as unmanned aerial vehicle (drone) technology develops, the use of unmanned aerial vehicles in the service industry is increasing.
이러한, 무인비행체를 제어하기 위해 별도의 제어장치가 사용되며, 제어장치와 무인비행체 간의 무선통신신호를 통해 제어가 수행될 수 있다.A separate control device is used to control the unmanned air vehicle, and control may be performed through a wireless communication signal between the control device and the unmanned air vehicle.
그러나, 무인비행체를 제어하기 위한 특정 명령어를 코드로 단순히 변환하여 전송하는 경우, 타인이 제어장치에 대한 명령어 코드를 쉽게 확인할 수 있게 된다. However, when a specific command for controlling an unmanned aerial vehicle is simply converted into a code and transmitted, another person can easily check the command code for the control device.
이에 따라, 동일한 명령어를 동일한 무선통신신호(예를 들어, RF신호로 제어신호가 전송되는 경우에 동일한 주파수의 RF신호)를 이용하여 전송해서 컨트롤러를 통제할 수 있게 된다. Accordingly, it is possible to control the controller by transmitting the same command using the same wireless communication signal (eg, RF signal of the same frequency when the control signal is transmitted as an RF signal).
즉, 사용자는 제어장치에 대한 제어권을 타인에게 탈취당하는 상황이 발생하게 된다.That is, a situation arises in which the control right for the control device is stolen by another person.
한편, 항공 교통 관제 업무를 집행하는 항공 교통 관제 센터에서 비행기의 경로에 무인비행체가 있는 경우, 이를 통제할 방안이 없고, 해당 무인비행체가 허가된 무인비행체인지 아닌지를 판단할 수 없는 상황이다.On the other hand, if there is an unmanned aerial vehicle in the path of an airplane in an air traffic control center that executes air traffic control, there is no way to control it, and it is impossible to determine whether the unmanned aerial vehicle is a licensed unmanned aerial vehicle or not.
따라서, 무인비행체 제어시 허가되지 않은 타인이 무인비행체를 제어하지 못하도록 하고, 항공 교통 관제 센터에서 무인비행체의 허가여부를 판단할 수 있는 방안이 필요하다.Accordingly, there is a need for a method for preventing an unauthorized person from controlling the unmanned aerial vehicle and determining whether the unmanned aerial vehicle is permitted by an air traffic control center.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송할 수 있다.In order to solve the above problems, the present invention authenticates a user who controls a drone, and when a control signal for controlling a drone is generated in a controller, a virtual code may be included in a command and transmitted.
또한, 본 발명은 컨트롤러에서 드론으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터로 전송할 수 있다.In addition, in the present invention, the controller may receive GPS data from the drone and transmit the received GPS signal, user identification OTAC, and control signal OTAC to the air traffic control center.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 과제를 해결하기 위한 본 발명에 따른 사용자 인증을 위한 일회성 액세스 코드를 생성하여 사용자 인증을 요청하는 사용자 인증수단-상기 사용자 인증수단은, 애플리케이션 또는 인증용카드를 포함함-, 상기 일회성 액세스 코드를 기반으로 사용자 인증을 수행후, 명령어에 가상코드를 포함한 제어신호를 생성하여 드론으로 전송하는 컨트롤러, 상기 수신한 제어신호를 기반으로 구동하고, 영상정보와 현재 위치정보를 상기 컨트롤러로 전송하는 상기 드론 및 상기 컨트롤러로부터 상기 드론의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 전송받는 항공 교통 관제 센터를 포함할 수 있다.User authentication means for requesting user authentication by generating a one-time access code for user authentication according to the present invention for solving the above problems - the user authentication means includes an application or an authentication card -, the one-time access code After performing user authentication based on, the controller generates a control signal including a virtual code in a command and transmits it to the drone, and the controller drives based on the received control signal and transmits image information and current location information to the controller and an air traffic control center that receives the current location information of the drone, the one-time access code, and a control signal from the drone and the controller.
여기서, 상기 항공 교통 관제 센터는, 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로 상기 사용자가 인증된 사용자인지를 판단하고, 상기 드론이 상기 제어신호에 맞게 구동되는지를 판단할 수 있다.Here, the air traffic control center may determine whether the user is an authenticated user based on the current location information, the one-time access code, and the control signal, and determine whether the drone is driven in accordance with the control signal. .
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer readable recording medium recording a computer program for executing the method may be further provided.
상기와 같은 본 발명에 따르면 본 발명은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송함으로써 상기 드론과 매칭된 상기 컨트롤러와 이외의 장치로 제어하는 것을 방지할 수 있는 효과가 있다.According to the present invention as described above, the present invention authenticates the user who controls the drone, and when the controller generates a control signal for controlling the drone, the controller includes a virtual code in the command and transmits the controller and the drone matched with the drone. There is an effect of preventing control by other devices.
또한, 본 발명은 컨트롤러에서 드론으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터로 전송함으로써, 상기 항공 교통 관제 센터에서 무인비행체의 허가여부를 판단할 수 있고, 이를 제어할 수 있는 효과가 있다.In addition, the present invention receives GPS data from the drone in the controller and transmits the received GPS signal, user identification OTAC, and control signal OTAC to the air traffic control center, so that the air traffic control center can determine whether the unmanned aerial vehicle is permitted. It can, and there is an effect that can control it.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 발명에 따른 드론을 제어하기 위한 시스템(1)을 설명하는 도면이다.
도 2는 본 발명에 따른 드론을 제어하는 컨트롤러(10)를 개략적으로 나타낸 블록도이다.
도 3은 본 발명에 따른 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 사용자 인증수단(20) 중 인증용카드(22)를 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.
도 5는 본 발명에 따른 드론(30)을 개략적으로 설명하기 위한 도면이다.1 is a diagram illustrating a
2 is a schematic block diagram of a
3 is a diagram for explaining that user authentication is performed through an application 21 installed in a user terminal among user authentication means 20 according to the present invention.
Figure 4 is a diagram for explaining the user authentication through the authentication card 22 of the user authentication means 20 according to the present invention.
5 is a diagram for schematically explaining the
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only these embodiments are intended to complete the disclosure of the present invention, and are common in the art to which the present invention belongs. It is provided to fully inform the person skilled in the art of the scope of the invention, and the invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" does not exclude the presence or addition of one or more other elements other than the recited elements. Like reference numerals throughout the specification refer to like elements, and “and/or” includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to the description, the meaning of the terms used in this specification will be briefly described. However, it should be noted that the description of terms is intended to help the understanding of the present specification, and is not used in the sense of limiting the technical spirit of the present invention unless explicitly described as limiting the present invention.
도 1은 본 발명에 따른 드론(30)을 제어하기 위한 시스템(1)을 설명하는 도면이다.1 is a diagram illustrating a
도 2는 본 발명에 따른 드론(30)을 제어하는 컨트롤러(10)를 개략적으로 나타낸 블록도이다.2 is a schematic block diagram of a
도 3은 본 발명에 따른 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.3 is a diagram for explaining that user authentication is performed through an application 21 installed in a user terminal among user authentication means 20 according to the present invention.
도 4는 본 발명에 따른 사용자 인증수단(20) 중 인증용카드(22)를 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the user authentication through the authentication card 22 of the user authentication means 20 according to the present invention.
도 5는 본 발명에 따른 드론(30)을 개략적으로 설명하기 위한 도면이다.5 is a diagram for schematically explaining the
도 1 내지 도 5를 참조하여, 본 발명에 따른 3D 프린터(20)를 이용하여 태아 영상에 대한 모형을 생성하기 위한 시스템(1)에 대해서 설명하도록 한다.Referring to FIGS. 1 to 5 , a
시스템(1)은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러(10)에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송함으로써 상기 드론과 매칭된 상기 컨트롤러(10)와 이외의 장치로 제어하는 것을 방지할 수 있는 효과를 가질 수 있다.The
또한, 시스템(1)은 컨트롤러(10)에서 드론(30)으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터(40)로 전송함으로써, 상기 항공 교통 관제 센터(40)에서 무인비행체의 허가여부를 판단할 수 있고, 이를 제어할 수 있는 효과를 가질 수 있다.In addition, the
여기서, 도 1의 swIDch IFF 코드는, 파일럿 신원 정보, 우호적인 것으로 등록된 드론, 드론의 위치 등을 포함할 수 있다.Here, the swIDch IFF code of FIG. 1 may include pilot identity information, a drone registered as friendly, the location of the drone, and the like.
시스템(1)은 모든 선택한 시간 프레임(예 : 매초)에 대해 일회성 동적 코드로 보안 통신이 가능하고, 조종사나 드론의 보안이 훼손되면 즉시 드론의 '친화성'평가가 가능하다.
또한, 시스템(1)은 영공에서 비행하는 UAV를 식별하여 중요한 인프라 (공항, 공장 등)를 보호하는데 도움이될 수 있다.In addition,
그리고, 시스템(1)은 조종기와 드론 간의 명령 (보안)을 확보하여 잠재적 인 납치 방지할 수 있으며, 공항 영공에서 날아 다니는 소형 상업용 드론의 식별 (IFF) 정보를 안전하게 공유할 수 있다.In addition,
이러한, 시스템(1)은 드론(30)을 제어하기 위한 컨트롤러(10), 사용자 인증수단(20), 드론(30), 항공 교통 관제 센터(40) 및 통신망(미도시)을 포함할 수 있다. 시스템(1)은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.The
컨트롤러(10)는 3가지 유형의 고유 코드를 생성할 수 있다. 여기서, 상기 3가지 유형의 고유 코드는, 어떤 조종사(이하, 사용자)가 드론(30)을 제어하고 있는지 식별하기 위한 사용자 정보(swIDch 파일럿 ID), 보안 드론 제어명령 통신을 위한 swIDch Command, 비행하는 드론(30)이 친숙하고 등록된 드론임을 식별하기 위한 드론 정보(swIDch IFF)일 수 있다.The
여기서, 사용자 정보와 비행 드론 정보는 항상 페어링될 수 있다. 따라서, 드론(30)이 해킹되면 사용자가 페어링을 해제할 수 있으므로 드론(30)은 더 이상 아군 드론이되지 않고 공항 레이더 시스템에 표시되게 될 수 있다.Here, user information and flying drone information can always be paired. Therefore, if the
레이더에 대한 모든 통신(IFF 및 사용자 정보(파일럿 ID))은 항상 암호화되어야하며 제어명령은 무선 주파수 기반 통신을 위해 해시될 수 있다. 여기서, 제어명령은 크기가 200 바이트 미만일 수 있다.All communications to the radar (IFF and user information (pilot ID)) must always be encrypted and control commands can be hashed for radio frequency based communications. Here, the size of the control command may be less than 200 bytes.
컨트롤러(10)는 사용자 인증수단(10)을 통해 사용자(조종사)의 인증을 수행하고, 인증된 사용자가 맞다면, 드론(30)을 제어할 수 있는 권한을 부여할 수 있다.The
이후, 컨트롤러(10)는 명령어에 상기 명령어 해킹의 피해를 받지 않도록 하기 위한 가상코드를 포함한 제어신호를 생성하여 드론(30)으로 전송할 수 있다.Thereafter, the
드론(30)은 상기 명령어와 가상코드가 포함되는 제어신호를 수신하여 상기 명령어를 추출하고, 상기 명령어에 따라 구동될 수 있다. The
이때, 드론(30)은 실시간 또는 기 설정된 주기로 현재 위치정보(GPS)와 드론식별정보를 모두 상기 컨트롤러(10)로 전송할 수 있다. 또는, 드론(30)은 현재 위치정보만을 상기 컨트롤러(10)로 전송할 수 있다. 또는 드론(30)은 드론식별정보를 상기 항공 교통 관제 센터(40)로 브로드 캐스팅할 수 있다.At this time, the
먼저, 컨트롤러(10)는 상기 드론(30)으로부터 현재 위치정보(GPS)만을 수신받은 경우, 상기 드론(30)에 대한 드론식별정보를 생성하여 상기 현재 위치정보, 드론식별정보, 사용자의 식별코드와 함께 상기 항공 교통 관제 센터(40)로 전송할 수 있다.First, when the
다음으로, 컨트롤러(10)는 상기 드론(30)으로부터 상기 현재 위치정보(GPS)와 드론식별정보를 전송받은 경우, 이를 사용자의 식별코드와 함께 항공 교통 관제 센터(40)로 전송해서 어느 위치의 드론(30)에 대한 식별코드인지 판단할 수 있도록 할 수 있다.Next, when the
여기서, 상기 식별코드는 사용자 인증코드(조종사 인증코드)와 제어코드 조합으로 생성될 수 있다.Here, the identification code may be generated by a combination of a user authentication code (pilot authentication code) and a control code.
이에 따라, 항공 교통 관제 센터(40)는 상기 식별코드를 수신하면 해당 코드로 어떤 사용자가 드론(30)을 제어하는지 판단할 수 있고, 해당 위치의 드론(30)의 움직임과 비교하여 검증도 가능할 수 있다.Accordingly, when the air
이하, 시스템(1)의 각 구성요소에 대해 상세히 후술하도록 한다.Hereinafter, each component of the
먼저, 컨트롤러(10)는 무선통신으로 상기 드론(30)과 연결되어 상기 드론(30)을 제어할 수 있다.First, the
컨트롤러(10)는 제1 제어모듈(110) 및 제1 무선통신모듈(120)을 포함할 수 있다. 상기 컨트롤러(10)는, 제1 제어모듈(110)에 해당하는 프로그램이 내장(Embeded)되거나 제1 제어모듈(110)에 해당하는 프로그램 또는 어플리케이션이 설치된 장치일 수 있다. The
예를 들어, 컨트롤러(10)는 제1 제어모듈(110)에 해당하는 어플리케이션이 설치된 스마트폰이나 제1 제어모듈(110)이 내장된 무선 조종기일 수 있다.For example, the
한편, 본 명세서에서 컨트롤러(10)는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 장치는 컴퓨터 및 이동 단말기 형태가 될 수 있다. 상기 컴퓨터는 클라이언트로부터 요청을 수신하여 정보처리를 수행하는 서버 형태가 될 수 있다. 상기 이동 단말기는 휴대폰, 스마트 폰(smart phone), PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 노트북 PC, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.On the other hand, in this specification, the
도 3을 보면, 제1 제어모듈(110)은 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자가 본인 ID와 일회성 액세스 코드를 생성하여 로그인하는 경우, 상기 ID와 일회성 액세스 코드를 기반으로 사용자 인증을 수행할 수 있다.Referring to FIG. 3, the first control module 110, among the user authentication means 20, uses the application 21 installed in the user terminal to generate and log in the user's own ID and one-time access code, the ID and one-time access User authentication can be performed based on code.
또는, 도 4를 보면, 제1 제어모듈(110)은 사용자 인증수단(20) 중 인증용카드(22)를 통해 인증용카드데이터를 획득하는 경우, 상기 인증용카드데이터를 기반으로 사용자 인증을 수행할 수 있다.Alternatively, referring to FIG. 4 , when the first control module 110 obtains authentication card data through the authentication card 22 of the user authentication means 20, user authentication is performed based on the authentication card data. can be done
일 실시예로, 인증용카드(22)는 인증용카드데이터를 포함하고 있는 공카드로서, 보안을 위해 사용자 인증이 필요한 경우에만 사용될 수 있다. 사용자 인증시, 인증용카드(22)는 컨트롤러(10)로 인증용카드데이터를 제공하여 컨트롤러(10)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 할 수 있다.In one embodiment, the card for authentication 22 is a blank card containing card data for authentication and can be used only when user authentication is required for security. Upon user authentication, the authentication card 22 provides authentication card data to the
제1 제어모듈(110)은 드론(30)이 명령어를 탐색할 수 있는 정보를 포함하는 가상코드를 생성하는 역할을 수행할 수 있다. 즉, 제1 제어모듈(110)은 가상코드생성함수에 따라 가상코드를 생성한다.The first control module 110 may serve to generate virtual code including information for the
제1 제어모듈(110)은 사용자로부터 입력된 제어명령에 따라 가상코드를 생성하는 역할을 수행할 수 있다. The first control module 110 may play a role of generating a virtual code according to a control command input from a user.
일 예로, 상기 제1 제어모듈(110)은 사용자명령수신부(111), 가상코드생성부(112) 및 세부코드생성부(113)를 포함할 수 있다.For example, the first control module 110 may include a user command receiver 111, a virtual code generator 112, and a detailed code generator 113.
가상코드생성부(112)는 하나 이상의 세부코드를 조합하여 가상코드로 생성하는 역할을 수행할 수 있다. 여기서, 상기 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것일 수 있다. The virtual code generator 112 may play a role of generating a virtual code by combining one or more detailed codes. Here, the virtual code may be generated by combining a plurality of detailed codes according to a specific rule.
가상코드생성함수는 세부코드생성함수 및 세부코드결합함수의 전부 또는 일부를 포함할 수 있다. 상기 세부코드결합함수는 복수의 세부코드를 조합하는 규칙일 수 있다. 복수의 세부코드를 결합하여 하나의 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. The virtual code generating function may include all or part of the detailed code generating function and the detailed code combining function. The detailed code combining function may be a rule for combining a plurality of detailed codes. Various methods may be applied as a method of generating one virtual code by combining a plurality of detailed codes.
상기 세부코드결합함수의 일 예로, 가상코드생성부(112)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 가상코드를 생성할 수 있다. As an example of the detailed code combining function, the virtual code generator 112 may generate a virtual code by alternately arranging an N-digit first code and an N-digit second code.
또한, 다른 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 가상함수에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.Also, as another example, the detailed code combination function may be a function that combines a second code after the first code. As the number of detailed codes included in the virtual function increases, the detailed code combination function can also be created in various ways.
상기 세부코드생성부(113)는 하나 이상의 세부코드를 생성하는 역할을 수행한다. 가상코드생성함수는 각각의 세부코드생성함수를 포함할 수 있다. The detailed code generator 113 serves to generate one or more detailed codes. The virtual code generating function may include each detailed code generating function.
예를 들어, 가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상코드를 생성할 수 있다. For example, the virtual code generating function may generate a plurality of detailed codes using a plurality of detailed code generating functions, and generate a virtual code using a detailed code combining function combining the plurality of detailed codes.
일 예로, 세부코드생성부(113)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성할 수 있다. For example, the detailed code generating unit 113 may generate a first code and a second code by including a first function and a second function as the detailed code generating function.
여기서, 제1코드와 제2코드는 드론(30) 내에서 명령어의 저장위치를 탐색하기 위한 상관관계를 가지나, 제어신호생성수단은 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.Here, the first code and the second code have a correlation for searching the storage location of the command within the
또한, 일 예로, 가상코드가 제1코드 및 제2코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1코드와 제2코드는 명령어가 저장된 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. Also, for example, when the virtual code is generated by combining the first code and the second code according to a specific rule, the first code and the second code may play respective roles for searching for a storage location where a command is stored. there is.
예를 들어, 제1코드는 저장위치탐색의 시작지점을 설정하고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정할 수 있다. For example, the first code may set a starting point of the storage location search, and the second code may set a search path from the starting point to the storage location according to a specific search method.
즉, 제어신호생성수단으로부터 단위카운트마다 정상적으로 생성된 가상코드가 제공되면, 드론(30)은 제1코드에 대응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 명령어의 저장위치로 판단할 수 있다.That is, when the control signal generating unit provides a normally generated virtual code for each unit count, the
세부코드생성부(113)가 세부코드를 생성하는 방식의 일 예로, 세부코드생성부(113)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 제어신호생성수단은 단위카운트마다 새로운 가상코드를 생성할 수 있다. 단위카운트마다 신규로 생성되는 가상코드는 중복되어 생성되지 않을 수 있다. As an example of how the detailed code generator 113 generates a detailed code, the detailed code generator 113 generates a new detailed code for each unit count, and accordingly, the control signal generator generates a new virtual code for each unit count. can create Virtual codes newly generated for each unit count may not be duplicated.
구체적으로, 세부코드생성부(113)는, 단위카운드마다 신규생성되는 가상코드가 특정한 사용자 또는 특정한 제어신호생성수단에게 정해진 기간동안 중복생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자간에도 중복생성되지 않도록 설정될 수 있다.Specifically, the detailed code generator 113 prevents the virtual code newly generated for each unit count from being duplicated for a specific user or specific control signal generating means for a predetermined period of time, and also from being duplicated among users belonging to a specific group. It can be set not to.
가상코드의 중복생성을 방지하는 구체적인 일 예로, M개 문자로 N자리의 상기 제1코드 또는 상기 제2코드를 생성하는 경우, 가상코드생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1코드 또는 제2코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭할 수 있다. As a specific example of preventing duplicate virtual codes, when generating the first code or the second code of N digits with M characters, the detailed code generating function included in the virtual code generating function generates MN codes. It can be generated with the first code or the second code, and each code can be matched for each count from the initial point in time when the detailed code generation function is driven.
예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매초에 상이한 MN개의 코드를 매칭할 수 있다. For example, when the unit count is set to 1 second, different MN codes can be matched every second from the time when the detailed code generating function is first driven.
그리고, 특정한 세부코드생성함수를 이용하는 주기를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않을 수 있다. In addition, if the period of using a specific detailed code generation function is set to a time length shorter than the time length corresponding to the MN count (eg, MN seconds when 1 count is 1 second), the first code or the second code is used During this process, the same code may not be duplicated.
즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 제어신호생성수단에 가상코드생성요청을 하는 경우, 제어신호생성수단은 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.That is, when the count increases as time passes and the user requests the control signal generating unit to generate a virtual code at a specific point in time, the control signal generating unit converts the code value matched to the count corresponding to the specific point in time into the first It can be generated by code or second code.
가상코드의 중복생성을 방지하는 구체적인 다른 예로, 가상코드생성함수의 사용주기가 경과되면, 제1코드 또는 제2코드를 생성하는 함수(즉, 제1함수 또는 제2함수)를 변경하거나 제1코드와 제2코드의 매칭관계를 변경하여 이전 사용주기와 상이한 가상코드가 생성되도록 할 수 있다. As another specific example of preventing redundant virtual code generation, when the use cycle of the virtual code generating function elapses, the function generating the first code or the second code (ie, the first function or the second function) is changed or the first function is not generated. A matching relationship between the code and the second code may be changed so that a virtual code different from a previous use cycle may be generated.
가상코드가 제1함수에 의해 생성되는 제1코드와 제2함수에 의해 생성되는 제2코드가 결합되는 경우, 제1코드생성함수 또는 제2코드생성함수가 변경되면, 제어신호생성수단은 제1코드 또는 제2코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전주기와 상이한 가상코드를 생성하는 가상코드생성함수를 신규 사용주기에 적용할 수 있다. When the virtual code is a combination of the first code generated by the first function and the second code generated by the second function, if the first code generating function or the second code generating function is changed, the control signal generating means As the order in which the first code or the second code appears differs from the previous usage period, a virtual code generation function that generates a virtual code different from the previous period may be applied to the new usage period.
또한, 제어신호생성수단은 이전 사용주기에서 사용된 가상코드와 동일한 코드가 신규 사용주기 내 각 카운트의 가상코드로 등장하지 않도록(즉, 제1함수에 따라 생성되는 제1코드와 제2함수에 따라 생성되는 제2코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1함수와 제2함수를 선택할 수 있다. In addition, the control signal generating means prevents the same code as the virtual code used in the previous usage period from appearing as a virtual code of each count in a new usage period (that is, the first code and the second function generated according to the first function) The first function and the second function may be selected so that the matching relation of the second code generated according to the above is not included among the matching relations included in the previous usage period in all counts of the new usage period.
즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 가상코드생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 가상코드가 생성되지 않는 신규 사용주기의 가상코드생성함수를 적용할 수 있다.That is, after the usage cycle in which MN codes can be applied once has elapsed, the virtual code generating function of the new usage cycle in which no virtual code overlapping with the previous usage cycle is not generated can be applied by adjusting or updating the virtual code generating function. there is.
이 때, 제1 제어모듈(110) 및 드론(30)은 가상코드생성함수를 갱신하는 규칙을 저장할 수 있다. 즉, 제1 제어모듈(110) 및 드론(30)은 복수의 제1함수와 제2함수를 각 사용주기에 적용하는 순서 또는 규칙을 저장할 수 있다.At this time, the first control module 110 and the
또한, 가상코드의 중복생성을 방지하는 구체적인 다른 예로, 다른 명령어에 대해 동일한 가상코드가 동일시점에 생성되지 않도록, 가상코드에 포함되는 제1코드 또는 제2코드 중 어느 하나는 적어도 명령어마다 동일시점에 항상 상이하게 존재하는 값(즉, 명령어고유값)을 반영하여 생성될 수 있다. In addition, as another specific example of preventing the duplicate creation of virtual codes, any one of the first code or the second code included in the virtual code is at least the same for each instruction so that the same virtual code is not generated at the same time for different instructions. It can be created by reflecting a value (ie, a command-specific value) that always exists differently in .
일 예로, 명령어고유값은 특정한 드론(30)과 제어신호생성수단 간의 초기설정 시에 각각의 명령어를 저장한 저장위치에 대응되는 단위카운트 또는 시점(예를 들어, 드론(30) 내에 특정한 저장위치탐색알고리즘이 구동된 최초시점으로부터 특정시간이 경과한 후 특정한 명령어를 저장하여 특정한 명령어에 대한 세부코드생성함수가 적용되기 시작한 시점)으로부터 현재까지 경과된 시간(또는 카운트수)일 수 있다. For example, the unique command value is a unit count or time point corresponding to the storage location where each command is stored during initial setting between the
하나의 드론(30)에 대해 복수의 명령어를 포함하는 경우, 각각의 명령어를 매칭시킨 카운트를 동일하지 않게 하면(즉, 저장위치탐색알고리즘 상의 동일한 위치 또는 시점에 여러 명령어를 저장하지 않으면), 명령어가 매칭된 시점(또는 카운트)으로부터 사용자로부터 명령입력이 수행된 시점까지의 경과된 시간은 각 명령어마다 상이하게 될 수 있다. In the case of including a plurality of commands for one
따라서, 세부코드생성함수 중 적어도 어느 하나는 명령어를 저장위치탐색알고리즘에 저장한 시점(또는 카운트)으로부터 특정시점까지의 경과된 시간을 명령어고유값으로 이용하여, 각 시점마다 각각의 제어신호생성수단에서 생성되는 가상코드가 상이하도록 할 수 있다. Therefore, at least one of the detailed code generating functions uses the time elapsed from the time (or count) when the command is stored in the storage location search algorithm to a specific point in time as a command-specific value, and each control signal generating means for each point in time The virtual codes generated in may be different.
이를 통해, 드론(30)가 사용자를 구별하기 위한 데이터를 별도로 수신하지 않고 가상코드를 수신하는 것만으로 제어신호생성수단의 구별이 가능하도록 할 수 있다.Through this, it is possible for the
예를 들어, 제1 제어모듈(110)에서 사용자의 조작에 의해 선택될 수 있는 명령어는 드론(30)을 조작하기 위한 상승, 하강, 전진, 후진 등을 포함할 수 있다. 드론(30)에 대한 명령어는 하나의 그룹으로 설정되고, 드론(30) 내에 포함된 하나의 저장위치탐색알고리즘에 의해 가상코드 내의 명령어 탐색이 수행될 수 있다. For example, commands that can be selected by a user's manipulation in the first control module 110 may include ascending, descending, moving forward, backward, etc. for manipulating the
세부코드생성함수는 각각의 명령어가 저장위치탐색알고리즘 내에 저장된 시점으로부터 경과된 시간길이를 변수로 적용함에 따라 동일시점에 동일한 가상코드가 생성되지 않도록 할 수 있다. The detailed code generation function can prevent the same virtual code from being generated at the same time point by applying the length of time that has elapsed from the point at which each command is stored in the storage location search algorithm as a variable.
또한, 드론(30)는 두개의 명령어가 동시에 수신되더라도 각각의 명령어를 정확히 인식할 수 있다. 상기 저장위치탐색알고리즘은 카운트 경과에 따라 현재 카운트와 매칭되는 저장위치가 변경되는 알고리즘일 수 있다. In addition, the
또한, 특정한 명령어가 저장위치탐색알고리즘 내의 특정한 저장위치에 매칭된 시점으로부터 경과된 시간길이는 시간이 흐름에 따라 계속 증가하게 되므로, 특정한 명령어에 대한 세부코드(예를 들어, 제2코드)는 동일한 값이 생성되지 않고 계속 다른 값이 생성될 수 있다. In addition, since the length of time that has elapsed from the time when a specific command matches a specific storage location in the storage location search algorithm continues to increase over time, the detailed code (eg, the second code) for the specific command is the same A value may not be generated and another value may continue to be generated.
또한, 가상코드의 중복생성을 방지하는 구체적인 또 다른 예로, 전체주기에서 사용자에 무관하게 중복된 가상코드가 발생되지 않도록, 제1코드는 드론(30) 내에서 특정한 명령어에 대한 제1함수가 구동되는 초기시점(예를 들어, 드론(30)와 제어신호발생수단을 최초 연동된 시점, 드론(30) 생산 후 최초 구동 시점, 또는 초기화 시점)으로부터 각 카운트마다 매칭된 코드 중에서 가상코드 생성요청이 된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 명령어가 저장위치탐색알고리즘 내에 매칭된 시점으로부터 경과된 시간(즉, 명령어고유값)을 반영하여 생성되는 코드값으로 설정하고, 가상코드를 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. In addition, as another specific example of preventing the duplicate creation of virtual codes, the first code drives the first function for a specific command within the
제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 명령어마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 가상코드는 모든 제어신호생성수단과 모든 시점에 상이한 코드값이 출력되게 될 수 있다.Since the first code has a different code value for each count and the second code has a different code value for each instruction at the same time, the virtual code combining the first code and the second code is Different code values may be output.
다른 예로, 가상코드는 명령어 유형을 구별하기 위한 명령어식별코드를 포함한다. 즉, 가상코드생성부(112)는 특정한 명령어가 사용자로부터 입력되면 이에 대응되는 명령어식별코드를 추출하여 가상코드에 포함시킬 수 있다. 명령어식별코드는 드론(30)이 가상코드를 수신하면 바로 대응되는 명령어를 파악할 수 있도록 할 수 있다. As another example, the virtual code includes an instruction identification code for distinguishing instruction types. That is, when a specific command is input from the user, the virtual code generator 112 may extract a command identification code corresponding to the specific command and include it in the virtual code. When the
드론(30)은 명령어식별코드를 통해 명령어를 파악한 후 가상코드 내의 세부코드를 기반으로 가상코드를 검증하여 명령어를 제어명령으로 입력할 지 여부를 판단할 수 있다.After recognizing the command through the command identification code, the
또한, 명령어식별코드는, 상기 가상코드 내에 미리 정해진 위치에 결합될 수 있다. 각 명령어 별로 가상코드생성함수가 부여되는 경우, 드론(30)은 가상코드에서 명령어식별코드를 먼저 추출하여야 명령어 유형을 판단할 수 있어야 한다. In addition, the command identification code may be coupled to a predetermined position within the virtual code. When a virtual code generation function is given for each command, the
따라서, 명령어식별코드는 별도의 함수 없이 분리가능하도록 가상코드 내의 미리 정해진 위치(예를 들어, 가상코드의 제일 앞 N자리수)에 결합될 수 있다.Accordingly, the command identification code may be coupled to a predetermined position (eg, the first N digits of the virtual code) in the virtual code so as to be separable without a separate function.
가상코드가 명령어식별코드를 포함하는 경우, 일실시예로, 드론(30)은 특정한 드론(30)에 대한 각각의 명령어를 별도의 그룹으로 구분하여 각각의 명령어를 별도의 저장위치탐색알고리즘 또는 가상코드생성함수를 이용하고, 제1 제어모듈(110)은 각각의 명령어에 대응되는 명령어식별코드를 포함한 가상코드를 전송한다. If the virtual code includes a command identification code, in one embodiment, the
구체적으로, 가상코드생성부(112)는 명령어식별코드에 특정한 명령어에 대응되는 OTP함수를 기반으로 생성된 가상보안코드를 추가하여 가상코드를 생성할 수 있다. Specifically, the virtual code generator 112 may generate a virtual code by adding a virtual security code generated based on an OTP function corresponding to a specific command to the command identification code.
드론(30)은 가상코드를 수신한 후에 명령어식별코드를 이용하여 명령어 유형을 판단하고, 가상보안코드를 이용하여 가상코드가 정상적으로 생성된 것인지 검증할 수 있다.After receiving the virtual code, the
또한, 가상코드생성부(112)는 특정한 명령어식별코드에 매칭된 저장위치탐색알고리즘에 부합하는 복수의 세부코드(예를 들어, 제1코드 및 제2코드)를 생성하고, 명령어식별코드와 결합하여 가상코드를 생성할 수 있다. In addition, the virtual code generator 112 generates a plurality of detailed codes (eg, first code and second code) that conform to the storage location search algorithm matched to the specific command identification code, and combines them with the command identification code. to generate virtual code.
즉, 드론(30)은 각각의 명령어에 대한 저장위치탐색알고리즘을 개별적으로 구동할 수 있다. That is, the
이에 따라, 가상코드생성부(112)는 드론(30) 내의 개별 저장위치탐색알고리즘에 대응되도록 각각의 명령어에 대한 가상코드생성함수를 별도로 포함할 수 있다. Accordingly, the virtual code generating unit 112 may separately include a virtual code generating function for each command to correspond to an individual storage location search algorithm in the
또한, 다른 일예로, 상기 가상코드생성함수(구체적으로, 각각의 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용될 수 있다. 즉, 제어신호생성수단(즉, 제어신호생성모듈(100))은 각각의 드론(30) 또는 각각의 명령어에 대한 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 상이하게 적용할 수 있다. Also, as another example, any one of a plurality of listing rules for arranging M characters in ascending order may be applied to the virtual code generating function (specifically, each detailed code generating function). That is, the control signal generating means (ie, the control signal generating module 100) may differently apply the rule of listing M characters in ascending order to the detailed code generating function for each
구체적으로, 각각의 드론(30)마다(즉, 상이한 식별값을 가지는 디바이스마다) 각 디바이스의 독립적인 제어를 위해 상이한 나열규칙이 적용된 가상코드생성함수가 적용될 수 있고, 가상코드가 명령어식별코드를 포함하는 경우에 각각의 저장위치탐색알고리즘에 따라 상이한 나열규칙이 적용된 가상코드생성함수가 적용될 수 있다.Specifically, a virtual code generation function to which different enumeration rules are applied may be applied for independent control of each device for each drone 30 (ie, each device having a different identification value), and the virtual code is a command identification code. In the case of including, a virtual code generation function to which different listing rules are applied may be applied according to each storage location search algorithm.
예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C, ?? , Z 순서가 될 수 있고, A, C, B, ?? , Z 순서가 될 수도 있다. 가상코드생성함수에서 나열규칙이 달라짐에 따라 가상코드생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 될 수 있다. For example, a listing rule for listing the uppercase letters of the alphabet in ascending order would be A, B, C, ?? , can be in the order Z, A, C, B, ?? , may be in the Z order. As the listing rules are changed in the virtual code generating function, the order in which codes are matched sequentially to each count from the initial point in time when the virtual code generating function is driven may be different.
드론(30)은 동일한 나열규칙에 따라 생성된 코드가 각 카운트에 매칭되어 있거나, 동일한 나열규칙 자체를 가상코드생성함수에 포함하여 저장할 수 있다. The
따라서, 각 디바이스별 또는 각 명령어별(가상코드가 명령어식별코드를 포함하는 경우) 가상코드생성함수가 상이한 세부코드결합함수를 포함하거나 상이한 문자 나열규칙을 포함하여, 각 그룹별로 상이한 가상코드생성함수를 가지도록 할 수 있다. Therefore, the virtual code generating function for each device or each command (when the virtual code includes the instruction identification code) includes a different detailed code combining function or a different character listing rule, so that each group has a different virtual code generating function. can be made to have
또한, 가상코드는 가상보안코드를 포함할 수 있다. 예를 들어, 가상코드는 하나 이상의 세부코드와 가상보안코드를 포함하거나 가상보안코드를 세부코드로 포함할 수 있다. 상기 보안코드는 특정한 보안코드생성함수를 기반으로 생성되는 코드로서, 정상적인 가상코드인지 여부를 검증하기 위해 이용될 수 있다. 상기 보안코드생성함수는 시간데이터와 제어신호생성수단 또는 드론(30)의 고유값을 함수값으로 사용하여 특정한 자릿수의 보안코드를 생성할 수 있다. Also, the virtual code may include a virtual security code. For example, the virtual code may include one or more detailed codes and a virtual security code, or may include a virtual security code as a detailed code. The security code is a code generated based on a specific security code generating function, and can be used to verify whether it is a normal virtual code. The security code generating function may generate a security code of a specific digit by using time data and control signal generating means or a unique value of the
가상보안코드를 활용하여 가상코드의 정상여부를 판단하는 과정의 일 예는 다음과 같다. 드론(30)은 초기 설정 시에 제어신호생성수단의 고유값(예를 들어, 제어용 어플리케이션이 설치된 스마트폰의 고유값 등)을 수신하여 명령어의 저장위치에 함께 저장하거나 명령어 저장위치에 연결된 별도의 저장공간에 저장할 수 있다. An example of a process of determining whether the virtual code is normal by using the virtual security code is as follows. During the initial setting, the
제어신호생성수단이 가상보안코드를 포함한 가상코드를 생성하여 드론(30)에 제공하면, 드론(30)는 세부코드를 기반으로 가상코드가 생성된 시간데이터를 획득하고, 내부에 저장된 특정한 제어신호생성수단의 고유값을 추출하여 시간데이터와 함께 가상보안코드생성함수(예를 들어, OTP(One-Time Password) 함수)에 적용하여 가상보안코드를 산출한다. 드론(30)는 제어신호생성수단에서 수신한 가상보안코드(즉, 수신가상보안코드)와 내부에 저장된 가상보안코드생성함수로 산출한 가상보안코드(즉, 생성가상보안코드)가 일치하는 지 판단할 수 있다. When the control signal generating unit generates a virtual code including a virtual security code and provides it to the
제어신호생성수단에서 가상코드를 생성하는 시점과 드론(30)(200)에서 가상코드를 수신한 시점 사이에 차이가 존재할 수 있으므로, 드론(30)(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상코드를 수신한 시점으로부터 특정 카운트 이전까지)의 가상보안코드(즉, OTP번호)를 계산하여, 제어신호생성수단으로부터 수신된 수신가상보안코드와 일치하는 값이 존재하는지 확인한다. 제2 제어모듈(320)은 수신가상보안코드와 생성가상보안코드가 일치하면 정상적인 가상코드로 판단하여 명령어를 제어명령으로 결정할 수 있다.Since there may be a difference between the time at which the control signal generating means generates the virtual code and the time at which the drone 30 (200) receives the virtual code, the drone 30 (200) considers the time delay within a specific time range. Calculate the virtual security code (ie, OTP number) within (for example, from the time of receiving the virtual code to before a specific count), and check whether there is a value that matches the received virtual security code received from the control signal generating means Check. If the received virtual security code and the generated virtual security code match, the second control module 320 may determine the command as a control command by determining it as a normal virtual code.
또한, 다른 예로, 가상보안코드생성함수는 각 카운트마다 다른 l자리(l은 자연수)의 코드를 생성하여 함수값으로 함께 적용할 수 있다. 즉, 가상보안코드생성함수는 l자리의 랜덤코드생성함수(예를 들어, l자리의 코드를 생성하는 OTP함수)를 포함할 수 있다. In addition, as another example, the virtual security code generation function may generate a different l-digit (l is a natural number) code for each count and apply it together as a function value. That is, the virtual security code generating function may include a 1-digit random code generating function (eg, an OTP function generating an 1-digit code).
상기 제1 무선통신모듈(120)은 상기 가상코드를 드론(30)로 전송하기 위해 무선통신신호로 출력하는 역할을 수행한다. 제1 무선통신모듈(120)은 가상코드를 외부로 제공할 수 있는 다양한 구성을 포함할 수 있다. 제1 무선통신모듈(120)은 무선인터넷모듈, 근거리통신모듈, RF신호모듈 등의 전부 또는 일부를 포함할 수 있다.The first wireless communication module 120 serves to output the virtual code as a wireless communication signal to transmit to the
제1 제어모듈(110)은 상기 드론(30)으로부터 실시간 또는 기 설정된 주기 또는 상기 제어신호 전송 후 상기 드론(30)의 현재 위치정보(GPS) 또는 영상정보를 수신할 수 있다.The first control module 110 may receive current location information (GPS) or image information of the
제1 제어모듈(110)은 상기 수신한 상기 드론(30)의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 항공 교통 관제 센터(40)로 전송할 수 있다.The first control module 110 may transmit the received current location information of the
도 5를 보면, 드론(30)은, 제2 무선통신모듈(310), 제어기, 센서모듈을 포함한다.Referring to FIG. 5 , the
상기 제2 무선통신모듈(310)은 컨트롤러(10)로부터 가상 제어명령어를 포함하는 무선통신신호를 수신하는 역할을 수행할 수 있다.The second wireless communication module 310 may serve to receive a wireless communication signal including a virtual control command from the
상기 센서모듈은 드론(30) 제어를 위한 센싱데이터를 획득하는 역할을 수행한다. 예를 들어, 드론(30)은 센서모듈은 자이로스코프, 가속도센서, 지자기센서, GPS수신기, 기압센서 등을 포함할 수 있다. The sensor module serves to acquire sensing data for controlling the
또한, 센서모듈에 복수의 센서가 포함되는 경우, 센서모듈은 센서융합기를 더 포함한다. 센서융합기는 복수의 센서데이터를 통해 획득되는 상태측정치(예를 들어, 자이로스코프, 가속도센서 또는 지자기센서를 통해 획득되는 회전운동상태측정치, GPS수신기, 기압센서를 통해 획득되는 병진운동상태측정치)를 융합하여 드론(30)의 상태추정치를 산출하고, 이를 제어기에 전달한다.In addition, when a plurality of sensors are included in the sensor module, the sensor module further includes a sensor fusion device. The sensor fusion device uses state measurements obtained through a plurality of sensor data (eg, rotational motion state measurements obtained through a gyroscope, acceleration sensor, or geomagnetic sensor, translational motion state measurements obtained through a GPS receiver, and barometric pressure sensor). By convergence, a state estimation value of the
상기 제어기는 가상 제어명령어를 기반으로 하나 이상의 구동부(예를 들어, 모터)에 제공할 제어명령을 산출하는 역할을 수행한다. 상기 제어기는 가상 제어명령어를 기반으로 실제 제어명령어를 산출하는 제2 제어모듈(320) 제2 제어모듈(320)에 시간데이터를 제공하는 시간측정모듈(340, CLOCK) 및 제2 제어모듈(320)에서 전달된 실제 제어명령어와 센서모듈에서 제공된 상태추정치를 기반으로 제어명령을 산출하는 제어명령산출모듈(330)를 포함한다.The controller serves to calculate a control command to be provided to one or more driving units (eg, a motor) based on a virtual control command. The controller includes a second control module 320 that calculates an actual control command based on a virtual control command, a time measurement module 340 (CLOCK) that provides time data to the second control module 320, and a second control module 320. ) and a control
일 예로, 상기 제2 제어모듈(320)은 가상 제어명령어에서 하나 이상의 세부코드를 추출하는 세부코드추출부, 및 세부코드를 기반으로 실제 제어명령어를 탐색하는 명령어 탐색부를 포함한다. 또한, 상기 제2 제어모듈(320)은 가상 제어명령어가 정상적으로 현시점에 생성된 것에 해당하는지 검증하는 검증부를 더 포함할 수 있다. 기 설명된 제어모듈 내의 각 구성에 대한 상세한 설명은 생략한다.For example, the second control module 320 includes a detailed code extraction unit extracting one or more detailed codes from a virtual control command and a command search unit searching for an actual control command based on the detailed codes. In addition, the second control module 320 may further include a verification unit for verifying whether the virtual control command corresponds to one normally generated at the present time. A detailed description of each component in the previously described control module will be omitted.
상기 제어명령산출모듈(330)은 제2 제어모듈(320)로부터 실제 제어명령어와 센서모듈로부터 상태추정치를 수신하여, 사용자로부터 요청된 제어명령에 따라 드론(30)이 움직이기 위한 하나 이상의 구동부(예를 들어, 모터)에 대한 개별제어명령을 산출한다. 예를 들어, 제어명령산출모듈(330)은 실제 제어명령어를 기반으로 각 구동부 제어 시에 안정적인 움직임을 위해 센서모듈에서 획득된 상태추정치를 반영한다. 또한, 복수의 구동부가 이용되는 경우, 제어명령산출모듈(330)은 제어명령 달성을 위한 개별 구동부의 움직임을 산출한 후, 이를 위한 개별 제어명령을 생성하여 구동부에 전송한다.The control
상기 제2 제어모듈(320)은 제2 무선통신모듈(220)과 제어명령산출모듈(330) 사이에 칩으로 삽입되어 전기적으로 연결될 수도 있고, 제어명령산출모듈(330)이 내장된 칩 내부에 함께 소프트웨어 모듈로 포함되면서 제어명령산출모듈(330) 이전에 수신한 가상 비행명령어를 전처리할 수 있다. The second control module 320 may be inserted as a chip between the second wireless communication module 220 and the control
이를 통해, 기존의 드론(30)의 기본적인 구조 및 제어 프로세스를 변경하지 않고 가상 제어명령어를 이용한 제어방식을 적용할 수 있다. 또한, 제2 제어모듈(320)이 제어명령산출모듈(330)을 포함하는 칩에 함께 소프트웨어로 포함되는 경우, 하드웨어 구성이 전혀 추가되지 않아 드론(30)의 무게 증가가 발생하지 않을 수 있다.Through this, it is possible to apply a control method using a virtual control command without changing the basic structure and control process of the existing
제2 제어모듈(320)은 상기 제2 무선통신모듈(220)을 통해 상기 드론(30)의 현재 위치정보(GPS)를 상기 컨트롤러(10)로 기 설정된 주기 또는 상기 제어신호를 수신할 때 전송할 수 있다.The second control module 320 transmits the current location information (GPS) of the
항공 교통 관제 센터(40)는 항공 교통 관제 업무를 집행하는 곳으로 상기 컨트롤러(10)로부터 상기 드론(30)의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 획득할 수 있다.The air
이후, 상기 항공 교통 관제 센터(40)는 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로, 상기 드론(30)의 사용자가 인증된 사용자인기, 상기 드론(30)이 상기 제어신호를 기반으로 제대로 동작하고 있는지를 판단할 수 있다.Thereafter, the air
도 6은 본 발명에 따른 드론을 제어하기 위한 시스템(1)을 설명하는 예시도이다.6 is an exemplary view illustrating a
시스템(1)은 모바일 앱 액세스 관리를 통해 드론(30)에 안전하게 액세스할 수 있다. 여기서, 시스템(1)은 네트워크 없이도 안전한 액세스를 위한 일회성 임의 코드를 생성할 수 있다.
또한, 시스템(1)은 컨트롤러(10)와 드론(30) 간의 소프트웨어 기반 보안 드론 명령 통신이 가능하고, 드론 명령 통신을 위해 생성된 일회성 임의 코드를 사용할 수 있다.In addition, the
그리고, 시스템(1)은 하드웨어가 필요하지 않으므로 드론(30)의 무게와 전력 소비가 증가하지 않도록 할 수 있고, 무선 주파수 기반 전송으로 장거리 통신 범위(~20마일) 보장할 수 있다.In addition, since the
또한, 시스템(1)은 영공에서 아군 드론을 안정적으로 식별할 수 있으며, 조종사나 드론이 해킹당했는지 즉시 인식하여 위험도를 평가할 수 있다.In addition, the
도 7과 도 8은 기존의 드론의 약점과 취약점을 설명한 예시도이다.7 and 8 are exemplary diagrams explaining weaknesses and vulnerabilities of existing drones.
도 7과 도 8을 보면, 기존의 드론은 무선 통신을 통한 데이터 간섭 및 차단이될 수 있고, 암호화가 없어 보안에 취약하며, 이에 따라 조작을 통한 경로 변경이 가능하고, 악성 코드 감염에 취약하다.Referring to FIGS. 7 and 8, conventional drones can interfere with and block data through wireless communication, are vulnerable to security due to lack of encryption, and thus can change routes through manipulation, and are vulnerable to malicious code infection. .
도 9는 AES 암호화를 위해 드론에 별도로 설치되는 하드웨어를 나타낸 도면이다.9 is a diagram showing hardware separately installed in a drone for AES encryption.
기존의 드론은 암호화 기술이 없고, 군용 드론의 경우도 AES 암호화를 사용하는데, 이를 위해 드론에 별도로 설치되는 추가 하드웨어가 필요하다. Existing drones do not have encryption technology, and military drones also use AES encryption, which requires additional hardware separately installed on the drone.
여기서, AES 암호화는 다른 추가 하드웨어 (이미지 권한)가 필요한 CMVP로 검증될 수 있다.Here, AES encryption can be verified with CMVP which requires other additional hardware (image rights).
또한, 상기 하드웨어는 스마트폰과 비슷한 크기로, 드론의 무게가 증가되고, 전력 소비 또한 증가되며, 배터리 수명이 감소될 수 있으며, 소형, 상업용 드론에 맞추기에는 너무 클 수 있다.Additionally, the hardware is similar in size to a smartphone, which increases the weight of the drone, increases power consumption, may reduce battery life, and may be too large to fit into small, commercial drones.
도 10은 본 발명에 따른 드론의 장점을 설명하기 위한 도면이다.10 is a diagram for explaining the advantages of a drone according to the present invention.
본 발명에 따른 드론(30)의 장점은, 보안 명령은 무선 주파수 통신을 사용하여 데이터가 200 바이트 미만이어야 하고, 1 초에 최소 20 개의 명령 코드 전송할 수 있다.An advantage of the
또한, 동적 보안 통신이 가능하고, 드론 무게의 증가 없으며, 추가 하드웨어가 필요하지 않다.In addition, dynamic secure communication is possible, there is no increase in drone weight, and no additional hardware is required.
또한, 군용 드론 용 CMVP 프로토콜을 기반으로 작업이 가능하다.In addition, it is possible to work based on the CMVP protocol for military drones.
도 11은 본 발명에 따른 시스템(1)을 위한 필요한 통신방식을 설명하기 위한 도면이다.11 is a diagram for explaining a necessary communication method for the
본 발명에 따른 시스템(1)은 암호화된 데이터는 너무 커서(> 200 바이트) 무선 주파수 (RF)를 통해 전송할 수 없으며 5G를 통해서만 전송할 수 있다. 그러나, 5G의 전송 거리는 너무 짧다(<0.6 마일). In the
여기서, swIDch는 훨씬 더 넓은 영역(> 20 마일)을 포괄하는 무선 주파수를 통해 동적 보안 명령을 보낼 수 있다.Here, swIDch can send dynamic security commands over radio frequencies covering a much larger area (>20 miles).
도 12는 기존의 항공기 식별 방법을 설명하기 위한 도면이다.12 is a diagram for explaining a conventional aircraft identification method.
먼저, 항공 교통 관제 센터가 아군인지 적군인지 자동을 식별(IFF)하기 위해 레이더를 통해 항공기에 심문 신호를 보낼 수 있다. 다음으로, 항공기의 응답기가 비행 전 식별 코드 세트에 응답할 수 있다. 이후, 항공 교통 관제 센터가 레이더에 표시된 위치로 항공기가 기 입력된 항공기정보에 매칭되는 우호적 상태인지 확인할 수 있다.First, the air traffic control center can send an interrogation signal to the aircraft via radar to automatically identify friend or foe (IFF). Next, the aircraft's transponder may respond with a set of pre-flight identification codes. Thereafter, the air traffic control center can confirm whether the aircraft is in a friendly state matching the pre-entered aircraft information to the location indicated on the radar.
도 13은 기존의 아군인지 적군인지 자동을 식별(IFF)하는 것의 제한사항을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining limitations of conventional automatic identification (IFF) of friend or foe.
UAV에 대한 아군인지 적군인지 자동을 식별(IFF)하는 것의 제한사항은 현재 IFF 방법은 항공기에 트랜스 폰더 (하드웨어)가 필요하다. 그런데 소형 상업용 드론은 추가 하드웨어를 설치하기위한 물리적 공간이 제한되어 있다. 또한, 드론의 효과는 무게와 전력 소비에 따라 달라진다. 그리고, 응답기를 위한 공간이 없다. 그러므로 이러한 위의 요인으로 인해 IFF 기능이 없을 수밖에 없다.A limitation of friendly or hostile automatic identification (IFF) for UAVs is that current IFF methods require a transponder (hardware) on the aircraft. However, small commercial drones have limited physical space to install additional hardware. Also, the effectiveness of a drone depends on its weight and power consumption. And, there is no space for a transponder. Therefore, due to the above factors, there is no choice but to have an IFF function.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
Claims (2)
상기 일회성 액세스 코드를 기반으로 사용자 인증을 수행후, 명령어에 가상코드를 포함한 제어신호를 생성하여 드론으로 전송하는 컨트롤러;
상기 수신한 제어신호를 기반으로 구동하고, 영상정보와 현재 위치정보를 상기 컨트롤러로 전송하는 상기 드론; 및
상기 컨트롤러로부터 상기 드론의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 전송받는 항공 교통 관제 센터;
를 포함하는, 시스템.User authentication means for requesting user authentication by generating a one-time access code for user authentication, wherein the user authentication means includes an application or an authentication card;
After performing user authentication based on the one-time access code, a controller generates a control signal including a virtual code in a command and transmits it to the drone;
the drone driving based on the received control signal and transmitting image information and current location information to the controller; and
an air traffic control center that receives the current location information of the drone, the one-time access code, and a control signal from the controller;
Including, system.
상기 항공 교통 관제 센터는,
상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로 상기 사용자가 인증된 사용자인지를 판단하고,
상기 드론이 상기 제어신호에 맞게 구동되는지를 판단하는, 시스템.According to claim 1,
The air traffic control center,
Determine whether the user is an authenticated user based on the current location information, the one-time access code, and the control signal;
A system for determining whether the drone is driven according to the control signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072814A KR20220164265A (en) | 2021-06-04 | 2021-06-04 | Method, System and Program of Drone Control, Pilot Certification and Drone Identification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072814A KR20220164265A (en) | 2021-06-04 | 2021-06-04 | Method, System and Program of Drone Control, Pilot Certification and Drone Identification |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220164265A true KR20220164265A (en) | 2022-12-13 |
Family
ID=84439238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210072814A KR20220164265A (en) | 2021-06-04 | 2021-06-04 | Method, System and Program of Drone Control, Pilot Certification and Drone Identification |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220164265A (en) |
-
2021
- 2021-06-04 KR KR1020210072814A patent/KR20220164265A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250417B2 (en) | Virtual code-based control system, method, and program, control device, and control signal generating means | |
US11117664B2 (en) | Authentication of users for securing remote controlled devices | |
US10713959B2 (en) | Low altitude aircraft identification system | |
US9651944B2 (en) | Unmanned aerial vehicle piloting authorization | |
CN112687122B (en) | Information transmission method, vehicle, cloud terminal and cockpit in automatic driving process | |
US11209815B2 (en) | Drone control registration | |
US10135624B2 (en) | Wireless sensor architecture | |
KR102269913B1 (en) | System, method and program for controlling device by virtual code, controlled device, and the means for making control signal | |
US10172171B2 (en) | System for connecting a mobile device to a wireless network of an aircraft | |
WO2018209683A1 (en) | Identify authentication method and device, machine readable storage medium, and system | |
US8495722B1 (en) | Method and system for controlling access to an aircraft-based wireless network | |
EP3680793B1 (en) | System, method, and program for providing virtual code, virtual code generating device, and virtual code verifying device | |
CN110337390A (en) | For system of defense from the passive vehicle access control system of bluetooth low energy (BLE) and its method of relay attack | |
US20190149322A1 (en) | Verifying identity identifier transmitted by an aerial vehicle | |
JP6708958B2 (en) | Information processing terminal, information processing system, program, and control method | |
Samanth et al. | Security in internet of drones: A comprehensive review | |
KR20180066872A (en) | A drone controlled through communication network and control method of the drone | |
KR20220164265A (en) | Method, System and Program of Drone Control, Pilot Certification and Drone Identification | |
Kwon | Vulnerability analysis of the Mavlink protocol for Unmanned Aerial Vehicles | |
KR20220057074A (en) | System for rental a drone | |
KR102575304B1 (en) | System and method for authenticating drone and apparatus for executing the system | |
US20220109985A1 (en) | Virtual code-based control system, method and program, control device and control signal generating means for unmanned moving object | |
KR102401920B1 (en) | System for authenticating a user of drone | |
KR102522599B1 (en) | Electronic device for providing location-based bidirectional key exchange protocol and operating method thereof | |
WO2022209040A1 (en) | Moving body authentication device, moving body authentication system, moving body authentication method, and non-transitory computer-readable medium |