KR102199808B1 - 드론 센서 기반 진난수 생성 방법 및 장치 - Google Patents
드론 센서 기반 진난수 생성 방법 및 장치 Download PDFInfo
- Publication number
- KR102199808B1 KR102199808B1 KR1020190104841A KR20190104841A KR102199808B1 KR 102199808 B1 KR102199808 B1 KR 102199808B1 KR 1020190104841 A KR1020190104841 A KR 1020190104841A KR 20190104841 A KR20190104841 A KR 20190104841A KR 102199808 B1 KR102199808 B1 KR 102199808B1
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- bits
- sensor
- drone
- low
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000011230 binding agent Substances 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- QSHDDOUJBYECFT-UHFFFAOYSA-N mercury Chemical compound [Hg] QSHDDOUJBYECFT-UHFFFAOYSA-N 0.000 description 1
- 229910052753 mercury Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012857 radioactive material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D45/00—Aircraft indicators or protectors not otherwise provided for
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Navigation (AREA)
- Toys (AREA)
Abstract
드론에 구비된 센서의 측정값에 기초하여 진난수를 생성하는 드론 센서 기반 진난수 생성 방법 및 장치가 개시된다. 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법은 드론에 구비된 센서에 의해 제공되는 센싱값을 고난수성 비트들과 저난수성 비트들로 나누어 저장하는 단계, 상기 저난수성 비트들에 소정의 연산을 수행하고 연산 결과에 따라 고난수성 비트들을 변환하는 단계, 상기 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하는 단계, 시간에 따라 변하는 상기 센싱값에 대하여 상기 단계들을 반복 수행하여 상기 배열을 채우는 단계 및 상기 채워진 배열을 상기 바이트 단위로 스왑하여 최종 난수열을 생성하는 단계를 포함한다.
Description
본 발명은 진난수 생성 방법 및 장치에 관한 것으로, 특히, 드론에 구비된 센서의 측정값에 기초하여 진난수를 생성하는 드론 센서 기반 진난수 생성 방법 및 장치에 관한 것이다.
드론은 세계 시장 규모가 2020년 115억 달러로 성장할 전망을 보이는 등 급격한 성장을 이루었다. 이미 국경 순찰과 기상 데이터 수집 등에 드론이 활용되며 드론을 이용한 산업이 성숙기에 접어들었다. 최근에는 우편이나 택배 산업에 드론이 활용되기 시작했는데, 특히, 아마존은 2017년 “Multi-Level Fulfillment Center for Unmanned Aerial Vehicles(무인 항공기를 위한 다층 물류 센터)”라는 이름의 특허를 등록하며, 실제 서비스 상용화 준비를 하고 있다. 또한 드론은 재난 현장에서 실시간으로 영상을 지휘소에 전송하고, 명령을 받는 재난 관리 시스템과 자율주행 등에 활용될 수 있어 그 활용분야를 넓혀가고 있다. 그러나 드론 산업이 생태계와 시장의 성장을 우선순위로 두고 발전을 하면서 드론의 보안 위협이 이슈가 되었다. 최근에는 DJI의 드론을 해킹하여 드론이 수집한 비행 경로, 사진, 영상 등의 기록을 볼 수 있어 미 육군은 DJI드론의 사용을 전면 금지하는 내용의 공문을 하달하였다. 또 이란은 정찰 중이던 미 공군의 드론을 GPS 조작하여 강제 착륙시키는 스푸핑(spoofing) 공격을 하였고, 2016년도에는 일본에서 열린 보안 컨퍼런스 ‘2016 PacSec’에서 이카루스라는 시스템이 드론에 적용된 DSMx 통신 프로토콜의 취약점을 이용해 해킹을 하는 기술을 시연해 보였다. 이처럼 드론의 보안 사고가 잇따라 일어나면서, 드론에 안전한 보안 프로토콜을 탑재하여 통신하고 데이터를 보호해야할 필요성이 대두되었다. 그 예로, 드론에서는 디바이스 인증을 위해 전자 서명과 같은 인증 프로토콜이 필요하고, 드론을 이용한 데이터 수집 시에는 수집한 데이터를 안전하게 보호할 수 있어야 한다. 또한 드론을 통해 실시간으로 명령을 하고 관리하는 재난 관리 시스템 및 자율주행 등에는 통신을 안전하게 할 수 있는 암호화 체계가 필요하다. 보안 프로토콜의 안전성은 안전한 암호 키의 생성과 보호에 달려 있으며, 이러한 암호 키를 생성하는데 난수가 사용이 된다. 따라서 안전한 난수 발생기의 설계는 보안 프로토콜의 안전성과 직결된다.
한편, 암호 시스템에서 난수는 암호 키의 안전성과 밀접하게 관련되어 있기 때문에 난수 발생기는 매우 중요한 역할을 한다. 따라서 안전한 난수 발생기의 설계는 매우 중요한 연구 주제 중의 하나이다.
난수 발생기는 크게 진난수 발생기(TRNG, True Random Number Generator)와 의사난수 발생기(PRNG, Pseudo Random Number Generator)로 분류될 수 있다. 진난수 발생기는 하드웨어 기반으로 설계되며, 예측 불가능성을 지니는 자연 현상과 비결정론적인 물리 현상을 기반으로 하여 난수를 생성한다.
예를 들어 진난수 발생기는 반도체나 레지스터에서 발생하는 전자적 노이즈 혹은 방사성 물질의 붕괴 시간 등의 잡음원 신호를 이용한다. 의사난수 발생기는 소프트웨어 기반으로 설계되며, seed라는 초기값을 입력 받아서 해쉬 함수, 블록 암호, 공개키 암호 등의 결정론적 알고리즘을 통해 난수를 생성한다.
기존 PC용 보안 소프트웨어에서는 Linux PRNG나 오픈 소스 암호 라이브러리의 의사난수 발생기를 사용하였다. 이러한 난수 발생기는 데스크톱 PC의 마우스나 키보드와 같은 사용자/외부 주변장치, 인터럽트 요청 시간, 디스크를 읽고 쓰는 시간 등 PC에서 얻을 수 있는 자원을 seed로 이용하여 난수를 생성하였다.
그러나 IoT와 스마트 홈에 대한 개념이 등장함에 따라 경량화된 디바이스들에 보안성을 제공하는 것이 중요해지고, 제한된 리소스를 갖는 디바이스들에 기존 난수 발생기를 구현하는 것이 어려운 문제가 발생하면서, 경량화된 디바이스들에 적합한 난수 발생기에 대한 연구들이 진행되고 있다.
드론은 이륙과 착륙, 비행을 하는 등 움직임을 다양하게 가져간다는 점에서 센서가 출력하는 값의 특성이 기존에 연구되고 있는 경량화된 디바이스인 스마트폰이나 IoT 디바이스들과는 다르다.
본 발명이 이루고자 하는 기술적인 과제는 드론에 구비된 센서의 측정값에 기초하여 진난수를 생성하는 드론 센서 기반 진난수 생성 방법 및 장치를 제공하는 것이다
본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법은 드론에 구비된 센서에 의해 제공되는 센싱값을 고난수성 비트들과 저난수성 비트들로 나누어 저장하는 단계, 상기 저난수성 비트들에 소정의 연산을 수행하고 연산 결과에 따라 고난수성 비트들을 변환하는 단계, 상기 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하는 단계, 시간에 따라 변하는 상기 센싱값에 대하여 상기 단계들을 반복 수행하여 상기 배열을 채우는 단계 및 상기 채워진 배열을 상기 바이트 단위로 스왑하여 최종 난수열을 생성하는 단계를 포함한다.
실시 예에 따라, 상기 고난수성 비트들은 상기 센싱값 중에서 하위 비트들이며, 상기 저난수성 비트들은 상기 센싱값 중에서 상위 비트들일 수 있다.
실시 예에 따라, 상기 고난수성 비트들과 상기 저난수성 비트들은 상기 센싱값의 비트들 중에서 상기 센서의 종류에 따라 정해지는 위치에서 선택될 수 있다.
실시 예에 따라, 상기 소정의 연산은 상기 저난수성 비트들을 XOR 연산하는 것일 수 있다.
실시 예에 따라, 상기 고난수성 비트들을 변환하는 단계는 상기 연산 결과에 따라 상기 고난수성 비트들을 유지 또는 반전할 수 있다.
실시 예에 따라, 상기 최종 난수열을 생성하는 단계는 상기 채워진 배열의 인덱스를 믹스하는 단계 및 상기 믹스된 인덱스 순서에 따라 상기 채워진 배열의 데이터를 스왑하여 상기 최종 난수열을 생성하는 단계를 포함할 수 있다.
상기 센서는 자이로 센서, 가속도 센서, 고도 센서 및 이미지 센서 중에서 하나일 수 있다.
본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 장치는 드론에 구비된 센서에 의해 제공되는 센싱값을 고난수성 비트들과 저난수성 비트들로 나누는 디바이더(divider), 상기 저난수성 비트들에 소정의 연산을 수행하고 연산 결과에 따라 고난수성 비트들을 변환하는 컨버터(converter), 상기 변환된 고난수성 비트들을 바이트 단위로 배열에 바인딩하는 바인더(binder) 및 상기 바인더에 의해 시간에 따라 변하는 상기 센싱값에 대응하는 상기 변환된 고난수성 비트들로 상기 배열이 채워지면 상기 채워진 배열을 상기 바이트 단위로 스왑하여 최종 난수열을 생성하는 믹서(mixer)를 포함한다.
실시 예에 따라, 상기 디바이더는 상기 센싱값 중에서 하위 비트들을 상기 고난수성 비트들로 분류하고 상기 센싱값 중에서 상위 비트들을 상기 저난수성 비트들로 분류할 수 있다.
실시 예에 따라, 상기 디바이더는 상기 센싱값의 비트들 중에서 상기 센서의 종류에 따라 정해지는 위치에 따라 상기 고난수성 비트들과 상기 저난수성 비트들을 추출하여 나눌 수 있다.
실시 예에 따라, 상기 소정의 연산은 상기 저난수성 비트들을 XOR 연산하는 것일 수 있다.
실시 예에 따라, 상기 컨버터는 상기 연산 결과에 따라 상기 고난수성 비트들을 유지 또는 반전할 수 있다.
실시 예에 따라, 상기 믹서는 상기 채워진 배열의 인덱스를 믹스하고 상기 믹스된 인덱스 순서에 따라 상기 채워진 배열의 데이터를 스왑하여 상기 최종 난수열을 생성할 수 있다.
실시 예에 따라, 상기 센서는 자이로 센서, 가속도 센서, 고도 센서 및 이미지 센서 중에서 하나일 수 있다.
본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법 및 장치는 드론에 구비된 센서의 측정값에 기초하여 진난수를 생성하여 다른 하드웨어 추가 없이 기본적으로 드론에 구비되는 하드웨어를 이용해 진난수를 생성할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 장치의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법을 설명하기 위한 플로우 차트(flow chart)이다.
도 3은 도 1에 도시된 디바이더가 센싱값으로부터 고난수성 비트들과 저난수성 비트들을 나누는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 4는 도 1에 도시된 바인더가 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하여 상기 배열을 채우는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 5는 생성된 배열을 바이트 단위로 스왑하는 과정을 실행하기 위한 알고리즘의 일례를 나타낸다.
도 1은 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 장치의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법을 설명하기 위한 플로우 차트(flow chart)이다.
도 3은 도 1에 도시된 디바이더가 센싱값으로부터 고난수성 비트들과 저난수성 비트들을 나누는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 4는 도 1에 도시된 바인더가 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하여 상기 배열을 채우는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 5는 생성된 배열을 바이트 단위로 스왑하는 과정을 실행하기 위한 알고리즘의 일례를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 장치의 블록도를 나타내며, 도 2는 본 발명의 실시 예에 따른 드론 센서 기반 진난수 생성 방법을 설명하기 위한 플로우 차트(flow chart)이다.
도 1 및 도 2를 참조하면, 드론(10)은 진난수 생성 장치(100) 및 센서(200)를 포함한다. 도 1에서는 설명의 편의를 위해 본 발명의 핵심적인 기술적 사상을 설명하기 위한 구성만을 도시하였으나, 본 발명의 개념은 이에 한정되지 않는다.
센서(200)는 드론(10)의 상태를 센싱하고 센싱값을 진난수 생성 장치(100)로 출력한다. 실시 예에 따라, 센서(200)는 자이로 센서(gyro sensor), 가속도 센서(accelerometer), 고도 센서(altimeter) 및 이미지 센서(image sensor) 중에서 적어도 하나일 수 있다.
진난수 생성 장치(100)는 디바이더(110), 컨버터(130), 바인더(150) 및 믹서(170)을 포함한다.
도 1에 도시된 진난수 생성 장치(100), 즉, 디바이더(110), 컨버터(130), 바인더(150) 및 믹서(170)는 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수 있고, 또는 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체를 의미할 수 있다.
다시 말해, 진난수 생성 장치(100), 즉, 디바이더(110), 컨버터(130), 바인더(150) 및 믹서(170)는 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
진난수 생성 장치(100)는 센서(200)로부터 센싱값(V)을 획득하고, 센싱값(V)에 기초하여 난수, 즉, 최종 난수열(T)를 생성한다.
디바이더(110)는 센서(200)로부터 제공되는 센싱값(V)을 획득한다(S100).
디바이더(110)는 센서(200)로부터 제공되는 센싱값(V)을 고난수성 비트들(G)과 저난수성 비트들(B)로 분류한다(S110). 디바이더(110)는 분류된 고난수성 비트들(G)과 저난수성 비트들(B)을 메모리(미도시)에 일시적으로 저장할 수 있다.
본 명세서 고난수성이란 상대적으로 난수성이 높다는 의미이며 저난수성이란 상대적으로 난수성이 낮다는 의미이다. 즉, 고난수성 비트들(G)은 센싱값(V)의 다른 비트들보다 난수성이 높은 비트들을 의미하고 저난수성 비트들(B)은 센싱값(V)의 다른 비트들보다 난수성이 낮은 비트들을 의미한다.
실시 예에 따라, 디바이더(110)는, 일반적으로 센싱값(V)에서 상위 비트들의 변화는 적고 하위 비트들의 변화가 크므로, 센싱값(V) 중에서 상위 비트들을 저난수성 비트들(B)로 분류하고 센싱값(V) 중에서 하위 비트들을 고난수성 비트들(G)로 분류한다.
이때, 디바이더(110)는 드론(10)의 상태에 따라 저난수성 비트들(B)의 개수와 고난수성 비트들(G)의 개수를 조절할 수 있다. 예를 들어, 드론(10)이 정지하고 있으면 센싱값(V)에서 상위 비트들의 변화가 적으므로 저난수성 비트들(B)로 분류되는 상위 비트들의 개수를 증가시키고 고난수성 비트들(G)로 분류되는 하위 비트들의 개수를 감소시킬 수 있다. 반대로, 드론(10)이 동작, 즉, 이동하고 있으면 센싱값(V)의 비트들이 전체적으로 변화가 크므로 저난수성 비트들(B)로 분류되는 상위 비트들의 개수를 감소시키고 고난수성 비트들(G)로 분류되는 하위 비트들의 개수를 증가시킬 수 있다.
다른 실시 예에 따라, 디바이더(110)는 센서(200)의 종류에 따라 정해지는 위치(즉, 센싱값(V)의 비트들 내에서의 위치)를 기준으로 고난수성 비트들(G)과 저난수성 비트들(B)을 선택할 수 있다.
예를 들어, 센서 데이터베이스(미도시)에 센서(200)로부터 제공되는 센싱값(V)에서 고난수성을 갖는 비트에 대한 위치와 저난수성을 갖는 비트에 대한 위치가 저장되어 있고, 디바이더(110)는 센싱값(V)을 제공하는 센서(200)의 종류에 대응하는 비트 위치 정보(즉, 센싱값(V)에서 고난수성을 갖는 비트에 대한 위치와 저난수성을 갖는 비트에 대한 위치에 대한 정보)를 로드하여 로드된 비트 위치 정보에 따라 고난수성 비트들(G)과 저난수성 비트들(B)을 선택할 수 있다.
구체적으로, A 제조사의 B 가속도 센서를 시험한 결과 10 비트 크기의 센싱값에서 1, 2, 4, 8, 9 번째 비트들이 고난수성을 갖는다고 하면 이에 대한 정보를 상기 센서 데이터베이스에 저장해놓고, 향후, 디바이더(110)가 A 제조사의 B 가속도 센서에 의해 제공되는 센싱 값(V)으로부터 고난수성 비트들(G)과 저난수성 비트들(B)을 추출할 때 1, 2, 4, 8, 9 번째 비트들을 고난수성 비트들(G)로 추출하고 나머지 비트들을 저난수성 비트들(B)로 추출할 수 있다.
도 3은 도 1에 도시된 디바이더가 센싱값으로부터 고난수성 비트들과 저난수성 비트들을 나누는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 3을 참조하면, 디바이더(110)는 센서 데이터베이스로부터 센서(200)의 종류에 따른 비트 위치 정보를 로드하고 센싱값(V)에서 난수성 높은 비트들이 존재하는 것으로 알려진 위치에서 비트들을 추출하여 고난수성 비트들(G)로 분류하고 센싱값(V)에서 난수성 낮은 비트들이 존재하는 것으로 알려진 위치에서 비트들을 추출하여 저난수성 비트들(B)로 분류한다.
도 3에 도시된 바와 같이, 디바이더(110)는 센싱값(V)의 일부 비트들만 고난수성 비트들(G)과 저난수성 비트들(B)로 추출하고 나머지 비트들은 버릴 수 있다.
다시 도 1 및 2를 참조하면, 디바이더(110)는 분류된 고난수성 비트들(G)과 저난수성 비트들(B)을 컨버터(130)로 출력한다.
컨버터(130)는 저난수성 비트들(B)에 기초하여 고난수성 비트들(G)을 변환한다. 구체적으로, 컨버터(130)는 저난수성 비트들(B)에 소정의 연산을 수행하고(S120) 수행된 연산 결과에 따라 고난수성 비트들(G)을 변환한다(S130).
실시 예에 따라, 상기 소정의 연산은 XOR(exclusive OR) 연산일 수 있다. 즉, 컨버터(130)는 저난수성 비트들(B)에 XOR 연산을 수행하고 그 결과에 따라 고난수성 비트들(G)을 변환할 수 있다.
예를 들어, 저난수성 비트들(B)을 XOR 연산한 결과가 '0'인 경우, 컨버터(130)는 고난수성 비트들(G)을 반전(inverse)하여 변환된 고난수성 비트들(S)로서 출력할 수 있다.
다른 예를 들어, 저난수성 비트들(B)을 XOR 연산한 결과가 '1'인 경우, 컨버터(130)는 고난수성 비트들(G)을 그대로 변환된 고난수성 비트들(S)로서 출력할 수 있다.
본 발명에서는 종래에 난수 생성에 사용되지 않고 버려지는 저난수성 비트들(B)을 고난수성 비트들(G)의 변환에 사용함으로써 최종적으로 생성되는 난수의 난수성(randomness)을 향상시킬 수 있다.
바인더(150)는 변환된 고난수성 비트들(G)을 배열(K)에 저장한다(S140). 구체적으로, 바인더(150)는 컨버터(130)로부터 출력되는 변환된 고난수성 비트들(G)을 바이트 단위로 배열(K)에 저장한다.
실시 예에 따라, 컨버터(130)로부터 출력되는 변환된 고난수성 비트들(G)이 1바이트 보다 클 때 바인더(150)는 1바이트만 저장하고 1바이트 이외의 데이터는 버릴 수 있다.
바인더(150)는 변환된 고난수성 비트들(G)을 바이트 단위로 인덱스를 부여하여 배열(K)에 저장할 수 있다.
바인더(150)는 시간에 따라 변화하는 센싱값(V)에 대응하는 변환된 고난수성 비트들(S)을 계속하여 배열(K)에 바인딩한다.
도 4는 도 1에 도시된 바인더가 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하여 상기 배열을 채우는 과정에 대한 일례를 보다 상세하게 설명하기 위한 도면을 나타낸다.
도 4를 참조하면, 바인더(150)는 변환된 고난수성 비트들(S)을 바이트 단위로 배열(K)에 순서대로, 즉, 인덱스 0 부터 n(n은 1 이상의 자연수)까지, 저장한다.
다시 도 1 및 도 2를 참조하면, 배열(K)이 변환된 고난수성 비트들(S)로 채워지지 않았으면(S150의 'NO' 브랜치), 시간에 따라 변화하는 센싱값(V)에 대응하는 변환된 고난수성 비트들(S)을 계속하여 배열(K)에 바인딩한다.
배열(K)이 변환된 고난수성 비트들(S)로 채워지면(S150의 'YES' 브랜치), 바인더(150)는 배열(K)를 믹서(170)로 출력한다.
믹서(170)는 배열(K)을 스왑하여 최종 난수열(T)을 생성한다(S160). 구체적으로, 믹서(170)는 배열(K)을 바이트 단위로 스왑하여 최종 난수열(T)을 생성할 수 있다.
실시 예에 따라, 믹서(170)는 배열(K)의 인덱스를 믹스하고, 믹스된 인덱스 순서에 따라 배열(K)를 스왑, 즉, 배열(K)의 데이터를 재정렬하여 최종 난수열(T)를 생성할 수 있다.
이때, 믹서(170)가 인덱스를 믹스하는 과정은 다양하게 설정될 수 있다. 예를 들어, 믹서(170)는 도 5에 도시된 알고리즘에 따라 배열(K)을 스왑하여 최종 난수열(T)을 생성할 수 있다. 도 5에 따르면, 믹서(170)는 배열(K)의 i번째 요소와 난수열(T)의 i번째 요소에 따라 기존 인덱스(i)에 대응하는 믹스 인덱스(j)를 계산하고, 기존 인덱스(i)에 대응하는 데이터와 믹스 인덱스(j)에 대응하는 데이터를 스왑하는 과정을 통해 최종 난수열(T)를 생성할 수 있다.
본 발명에서는 믹서(170)를 통해 배열(K)을 스왑하여 최종 난수열(T)를 생성함으로써 배열(K)를 그대로 난수로 사용하는 경우보다 난수성 및 암호학적 안전성을 향상시킬 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10; 드론
100; 진난수 생성 장치
110; 디바이더(divider)
130; 컨버터(converter)
150; 바인더(binder)
170; 믹서(mixer)
200; 센서
100; 진난수 생성 장치
110; 디바이더(divider)
130; 컨버터(converter)
150; 바인더(binder)
170; 믹서(mixer)
200; 센서
Claims (14)
- 드론에 구비된 센서에 의해 제공되는 센싱값을 고난수성 비트들과 저난수성 비트들로 나누어 저장하는 단계;
상기 저난수성 비트들에 소정의 연산을 수행하고 연산 결과에 따라 고난수성 비트들을 변환하는 단계;
상기 변환된 고난수성 비트들을 바이트 단위로 배열에 저장하는 단계;
시간에 따라 변하는 상기 센싱값에 대하여 상기 단계들을 반복 수행하여 상기 배열을 채우는 단계; 및
상기 채워진 배열을 상기 바이트 단위로 스왑하여 최종 난수열을 생성하는 단계를 포함하며,
상기 고난수성 비트들의 개수와 상기 저난수성 비트들의 개수는 상기 드론의 상태에 따라 조절되는 드론 센서 기반 진난수 생성 방법. - 제1항에 있어서,
상기 고난수성 비트들은 상기 센싱값 중에서 하위 비트들이며, 상기 저난수성 비트들은 상기 센싱값 중에서 상위 비트들인 드론 센서 기반 진난수 생성 방법. - 제1항에 있어서,
상기 고난수성 비트들과 상기 저난수성 비트들은 상기 센싱값의 비트들 중에서 상기 센서의 종류에 따라 정해지는 위치에서 선택되는 드론 센서 기반 진난수 생성 방법. - 제1항에 있어서,
상기 소정의 연산은 상기 저난수성 비트들을 XOR 연산하는 것인 드론 센서 기반 진난수 생성 방법. - 제4항에 있어서,
상기 고난수성 비트들을 변환하는 단계는,
상기 연산 결과에 따라 상기 고난수성 비트들을 유지 또는 반전하는 드론 센서 기반 진난수 생성 방법. - 제1항에 있어서,
상기 최종 난수열을 생성하는 단계는,
상기 채워진 배열의 인덱스를 믹스(mix)하는 단계; 및
상기 믹스된 인덱스 순서에 따라 상기 채워진 배열의 데이터를 스왑하여 상기 최종 난수열을 생성하는 단계를 포함하는 드론 센서 기반 진난수 생성 방법. - 제1항에 있어서,
상기 센서는 자이로 센서, 가속도 센서, 고도 센서 및 이미지 센서 중에서 하나인 드론 센서 기반 진난수 생성 방법. - 드론에 구비된 센서에 의해 제공되는 센싱값을 고난수성 비트들과 저난수성 비트들로 나누는 디바이더(divider);
상기 저난수성 비트들에 소정의 연산을 수행하고 연산 결과에 따라 고난수성 비트들을 변환하는 컨버터(converter);
상기 변환된 고난수성 비트들을 바이트 단위로 배열에 바인딩하는 바인더(binder); 및
상기 바인더에 의해 시간에 따라 변하는 상기 센싱값에 대응하는 상기 변환된 고난수성 비트들로 상기 배열이 채워지면, 상기 채워진 배열을 상기 바이트 단위로 스왑하여 최종 난수열을 생성하는 믹서(mixer)를 포함하며,
상기 디바이더는 상기 드론의 상태에 따라 상기 고난수성 비트들의 개수와 상기 저난수성 비트들의 개수를 조절하는 드론 센서 기반 진난수 생성 장치. - 제8항에 있어서,
상기 디바이더는 상기 센싱값 중에서 하위 비트들을 상기 고난수성 비트들로 분류하고 상기 센싱값 중에서 상위 비트들을 상기 저난수성 비트들로 분류하는 드론 센서 기반 진난수 생성 장치. - 제8항에 있어서,
상기 디바이더는 상기 센싱값의 비트들 중에서 상기 센서의 종류에 따라 정해지는 위치에 따라 상기 고난수성 비트들과 상기 저난수성 비트들을 추출하여 나누는 드론 센서 기반 진난수 생성 장치. - 제8항에 있어서,
상기 소정의 연산은 상기 저난수성 비트들을 XOR 연산하는 것인 드론 센서 기반 진난수 생성 장치. - 제11항에 있어서,
상기 컨버터는 상기 연산 결과에 따라 상기 고난수성 비트들을 유지 또는 반전하는 드론 센서 기반 진난수 생성 장치. - 제8항에 있어서,
상기 믹서는 상기 채워진 배열의 인덱스를 믹스하고 상기 믹스된 인스 순서에 따라 상기 채워진 배열의 데이터를 스왑하여 상기 최종 난수열을 생성하는 드론 센서 기반 진난수 생성 장치. - 제8항에 있어서,
상기 센서는 자이로 센서, 가속도 센서, 고도 센서 및 이미지 센서 중에서 하나인 드론 센서 기반 진난수 생성 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190034122 | 2019-03-26 | ||
KR1020190034122 | 2019-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200114981A KR20200114981A (ko) | 2020-10-07 |
KR102199808B1 true KR102199808B1 (ko) | 2021-01-07 |
Family
ID=72884427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190104841A KR102199808B1 (ko) | 2019-03-26 | 2019-08-27 | 드론 센서 기반 진난수 생성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102199808B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2607943A (en) * | 2021-06-17 | 2022-12-21 | Haldex Brake Prod Ab | A method and system for seed generation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352904A (ja) * | 2004-06-11 | 2005-12-22 | Canon Inc | 乱数発生方法及び乱数発生装置 |
JP2018128783A (ja) * | 2017-02-07 | 2018-08-16 | ルネサスエレクトロニクス株式会社 | 乱数生成装置及び乱数生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101804499B1 (ko) * | 2016-03-23 | 2018-01-10 | 서울대학교산학협력단 | 이진수를 난수로 변환 또는 난수를 이진수로 변환하는 방법 및 그 장치 |
KR102057525B1 (ko) * | 2016-12-29 | 2019-12-19 | 단암시스템즈 주식회사 | 무인 항공기에서 전자 보안 시스템 |
-
2019
- 2019-08-27 KR KR1020190104841A patent/KR102199808B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352904A (ja) * | 2004-06-11 | 2005-12-22 | Canon Inc | 乱数発生方法及び乱数発生装置 |
JP2018128783A (ja) * | 2017-02-07 | 2018-08-16 | ルネサスエレクトロニクス株式会社 | 乱数生成装置及び乱数生成方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200114981A (ko) | 2020-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637649B2 (en) | Random cipher pad cryptography | |
CN109643285B (zh) | 加密的用户数据传输及储存 | |
EP4369229A2 (en) | Securing systems employing artificial intelligence | |
US10044703B2 (en) | User device performing password based authentication and password registration and authentication methods thereof | |
CN108664780B (zh) | 允许基于不同级别的解锁机制的各种设备访问 | |
Kleidermacher et al. | Embedded systems security: practical methods for safe and secure software and systems development | |
US8356347B2 (en) | Migrating a virtual TPM instance and preserving uniqueness and completeness of the instance | |
EP3010176B1 (en) | Method and receiver entity for secure execution of software | |
CN109791566B (zh) | 控制加密车载数据访问的系统和方法 | |
CN108351925A (zh) | 对加密设备的解锁和恢复 | |
EP3465508B1 (en) | Method, apparatus, and computer-readable medium for masking data | |
US20170372087A1 (en) | Method and system for data management | |
WO2023167870A1 (en) | Technologies for creating and transferring non-fungible token based identities | |
US20120233712A1 (en) | Method and Device for Accessing Control Data According to Provided Permission Information | |
US11093627B2 (en) | Key provisioning | |
KR102199808B1 (ko) | 드론 센서 기반 진난수 생성 방법 및 장치 | |
Husnjak et al. | UAV forensics: DJI Mavic air noninvasive data extraction and analysis | |
US11227164B2 (en) | Methods and systems for neighborhood safety | |
CN111066076A (zh) | 登记终端、检索终端、检索服务器、检索系统、登记程序和检索程序 | |
CN113545022A (zh) | 数据处理、加密、解密方法、设备和存储介质 | |
Weissman | MLS-PCA: A high assurance security architecture for future avionics | |
US12061728B2 (en) | Content distribution integrity control | |
US20190042770A1 (en) | Systems and methods for attached digital storage devices | |
Syafaat et al. | Implementation of AES-128 Cryptography on Unmanned Aerial Vehicle and Ground Control System | |
US10637832B2 (en) | Method and apparatus providing a framework for secure information lifecycle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |