KR20230027369A - 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치 - Google Patents

무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치 Download PDF

Info

Publication number
KR20230027369A
KR20230027369A KR1020210108812A KR20210108812A KR20230027369A KR 20230027369 A KR20230027369 A KR 20230027369A KR 1020210108812 A KR1020210108812 A KR 1020210108812A KR 20210108812 A KR20210108812 A KR 20210108812A KR 20230027369 A KR20230027369 A KR 20230027369A
Authority
KR
South Korea
Prior art keywords
important information
unmanned mobile
mobile vehicle
source file
data
Prior art date
Application number
KR1020210108812A
Other languages
English (en)
Other versions
KR102592874B1 (ko
Inventor
김덕진
이상욱
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210108812A priority Critical patent/KR102592874B1/ko
Priority to US17/698,582 priority patent/US20230061849A1/en
Publication of KR20230027369A publication Critical patent/KR20230027369A/ko
Application granted granted Critical
Publication of KR102592874B1 publication Critical patent/KR102592874B1/ko

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

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

Abstract

실시예에 따른 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치는, 무인 이동체가 통신 또는 저장하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성하는 생성 모듈을 포함할 수 있다.
여기서, 시큐어 인코더의 소스 파일 및 시큐어 디코더 소스 파일은, 무인 이동체가 데이터의 통신 또는 저장을 수행 시, 데이터 중에서 중요 정보를 추출하여 암호화 또는 복호화하도록 무인 이동체의 프로그램을 빌드하는데 사용될 수 있다.
따라서, 무인 이동체는, 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 사용하여 빌드된 프로그램에 의해, 데이터의 통신 또는 저장을 수행할 때, 중요 정보만을 추출하여 암호화 및 복호화할 수 있다.

Description

무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치{Unmanned Aerial Vehicle, Apparatus for Generating Source Files Providing Confidential Information Protection of Unmanned Aerial Vehicle}
기재된 실시예는 무인 이동체의 중요 정보를 선택적으로 암호화하여 보호하기 위해 기술이다.
무선 통신 기술과 다양한 전자 장비 기술의 발달로 무인 이동체는 새로운 미래 산업 분야로 떠오르고 있으며, 향후 관련 시장이 크게 확대될 것으로 전망된다. 따라서, 이러한 무인 이동체의 보안과 정보 보호의 필요성도 강조되고 있다.
종래 기술 중에는 저장된 중요 정보를 삭제하는 것이 있다. 그러나, 무인 이동체의 특성상 배터리에 문제가 발생하거나 내부 장치의 갑작스런 전자기적 이슈로 인하여 삭제 기능이 제대로 동작하지 않는 경우가 발생할 수 있다. 따라서, 중요 정보를 저장하는 경우에는 기밀성을 강화하는 기술이 요구된다.
기밀성을 강화화기 위한 종래 기술로는 무인 이동체가 가지고 있는 비밀키를 이용하여 데이터를 전체적으로 암호화하는 기술들이 있다. 하지만 암호화하려는 데이터의 크기가 암호화 블록의 크기보다 작거나 혹은 블록의 정수 배가 아닌 경우, 패딩 데이터가 추가되어 암호문의 길이가 평문보다 늘어날 수 있다.
그런데, 이를 적용하기 위해서는 기존의 무인 이동체 통신프로토콜을 변경해야 하는 문제점이 발생한다. 그리고, 이 경우 암호화 여부가 용이하게 판단될 수 있다. 또한, 메시지의 일부 중요 정보만을 암호화할 필요가 있을 때에는 종래의 암호화 기술들이 적합하지 않다.
기재된 실시예는 무인 이동체에서 처리 및 저장하는 정보 중에서 민감하고 중요한 정보를 간편하게 선택적으로 암호화하여 기밀성을 강화하는데 그 목적이 있다.
실시예에 따른 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치는, 생성 모듈을 포함하는 적어도 하나의 프로그램이 기록된 메모리 및 생성 모듈을 포함하는 적어도 하나의 프로그램을 실행하는 프로세서를 포함할 수 있다.
여기서, 생성 모듈은, 무인 이동체가 통신 또는 저장하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일을 사용하여 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성할 수 있다.
여기서, 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일은, 무인 이동체가 데이터의 통신 또는 저장을 수행 시, 데이터 중에서 중요 정보를 추출하여 암호화 또는 복호화하도록 무인 이동체의 프로그램을 빌드하는데 사용될 수 있다.
따라서, 생성 모듈은, 설정 파일의 내용을 분석하여 무인 이동체 프로그램 언어에 상응하게 빌드할 수 있는 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성할 수 있다.
한편, 설정 파일은, 통신 메시지 식별자(ID) 및 통신 메시지에 포함된 적어도 하나의 중요 항목 정보를 포함할 수 있다.
또한, 설정 파일은, 통신 메시지의 중요 항목 값의 범위를 더 포함할 수 있다.
여기서, 중요 항목은, 무인 이동체에 저장하는 중요 파라미터를 포함할 수 있다.
이러한 설정 파일은, 데이터의 구조를 표현할 수 있는 XML, YAML 및 JSON를 포함하는 파일 형태들 중 적어도 하나의 파일 형태로 구현될 수 있다.
실시예에 따른 무인 이동체는, 적어도 하나의 프로그램을 실행하는 프로세서를 포함할 수 있다.
여기서, 프로그램은, 무인 이동체가 통신하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 생성된 시큐어 인코더 소스 파일을 포함한 소스 파일을 사용하여 빌드된 것일 수 있다.
무인 이동체에 빌드된 프로그램은, 메시지를 생성하는 단계, 생성한 메시지에서 보호 대상으로 미리 설정된 중요 정보만을 추출하여 암호화하는 단계 및 중요 정보가 암호화된 메시지를 전송하는 단계를 수행할 수 있다.
이때, 암호화하는 단계에서, 미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화할 수 있다.
또한, 암호화하는 단계에서, 메시지가 전송될 다른 무인 이동체와 미리 공유한 암호화 키에 의해 데이터의 중요 정보에 대해 암호화할 수 있다.
실시예에 따른 무인 이동체는, 적어도 하나의 프로그램이 기록된 메모리 및 적어도 하나의 프로그램을 실행하는 프로세서를 포함할 수 있다.
여기서, 프로그램은, 무인 이동체가 통신하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 생성된 시큐어 디코더 소스 파일을 포함한 소스 파일을 사용하여 빌드된 것일 수 있다.
또한, 프로그램은, 중요 정보가 암호화된 메시지를 수신하는 단계, 수신한 메시지에서 보호 대상으로 미리 설정된 중요 정보를 복호화하는 단계 및 중요 정보가 복호화된 메시지에 대한 프로세스를 수행하는 단계를 수행할 수 있다.
이때, 복호화하는 단계에서, 메시지를 전송한 다른 무인 이동체와 미리 공유한 암호화 키에 의해 데이터의 중요 정보에 대해 복호화할 있다.
실시예에 따른 무인 이동체는, 적어도 하나의 프로그램이 기록된 메모리 및 적어도 하나의 프로그램을 실행하는 프로세서를 포함할 수 있다.
여기서, 프로그램은, 무인 이동체가 저장하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 생성된 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 포함한 소스 파일들을 사용하여 빌드된 것일 수 있다.
여기서, 프로그램은, 데이터를 획득하는 단계, 획득된 데이터에서 보호 대상으로 미리 설정된 중요 정보만을 추출하여 암호화하는 단계 및 중요 정보가 암호화된 데이터를 저장하는 단계를 수행할 수 있다.
또한, 프로그램은, 저장된 암호화된 데이터를 로딩하는 단계 및 데이터에서 보호 대상으로 미리 설정된 중요 정보를 복호화하는 단계를 더 수행할 수 있다.
이때, 암호화하는 단계 및 복호화하는 단계에서, 미리 설정된 암호화 조건에 따라 중요 정보의 형태를 보존하여 암호화 또는 복호화할 수 있다.
실시예에 따라, 무인 이동체에서 기존에 사용 중인 통신 프로토콜을 변경하지 않고, 통신 메시지의 기밀성을 강화할 수 있다. 이는 형태 보존 암호화 기술을 이용하고, 기존 프로토콜과 호환성을 고려하여 메시지 내부 각 항목들의 데이터 크기 및 타입을 변경하지 않고 암호화하기 때문이다.
또한, 전체 통신 메시지를 암호화하는 것이 아니라, 중요한 부분만 선택적으로 암호화할 수 있기 때문에, 암호화로 인한 부하를 줄일 수 있고, 암호화 여부를 쉽게 판단할 수 없도록 암호화가 가능하다.
또한, 통신 메시지와 같이, 무인 이동체 내부의 중요 정보나 파라미터 값을 암호화할 수 있기 때문에, 비인가된 접근으로부터 무인 이동체 내부 중요 정보를 보호할 수 있다.
또한, 중요 정보를 기록한 설정 파일을 이용해서 안전하게 메시지를 송수신 및 저장할 수 있는 시큐어 인코더와 시큐어 디코더를 생성하고 이를 개발에 사용하기 때문에, 이를 이용하여 편리하고 효과적으로 무인 이동체에서 사용하는 중요 정보의 기밀성을 강화할 수 있다.
도 1은 실시예에 따른 무인 이동체에 중요 정보 보호 기능을 제공하기 위한 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 장치(10)에 포함된 생성 모듈을 설명하기 위한 도면이다.
도 3은 실시예에 따라 중요 정보가 암호화된 통신 메시지의 예시도이다.
도 4는 실시예에 따른 무인 이동체에서의 중요 정보 보호 통신 방법을 설명하기 위한 순서도이다.
도 5는 실시예에 따른 무인 이동체에서의 중요 정보 보호 저장 방법을 설명하기 위한 순서도이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
도 7은 실시예에 따른 무인 이동체 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명은 무인 이동체의 중요 정보를 선택적으로 암호화하여 통신 및 저장 시 기밀성을 강화할 수 있는 방법을 제시한다.
무인 이동체 활용이 크게 증가함에 따라 무인 이동체와 제어 시스템 간의 다양한 데이터가 송수신되고, 무인 이동체에 저장하는 데이터 양도 증가되고 있다. 이와 더불어 이러한 데이터에 포함된 민감하거나 중요한 정보가 노출되는 위험도 함께 높아지고 있다.
이를 해결하기 위해 실시예에서는 형태 보존 암호화(Format-Preserving Encryption) 기술을 이용하여 무인 이동체의 중요 정보를 선택적으로 안전하게 보호하는 장치 및 방법을 제시한다.
그러면, 이하에서는 도 1 내지 도 7을 참조하여 실시예에 따른 무인 이동체에서 중요 정보 보호하기 위한 방안을 상세히 설명하기로 한다.
도 1은 실시예에 따른 무인 이동체에 중요 정보 보호 기능을 제공하기 위한 시스템의 개략적인 구성도이다.
도 1을 참조하면, 실시예에 따른 시스템은 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치(이하 '장치'로 기재함)(10) 및 무인 이동체(20)를 포함할 수 있다.
여기서, 장치(10)는, 도 6을 참조하여 후술되는 일반적인 컴퓨터 시스템으로 개발자가 소유한 장치일 수 있고, 무인 이동체(20)에 빌드되어 실행되는 프로그램을 업로드하는 시스템일 수 있다.
이러한 장치(10)는, 무인 이동체(20)가 데이터를 송/수신하거나 저장할 때, 중요 정보를 보호하는 기능을 제공하는 소스 파일을 생성하는 프로그램인 생성 모듈을 포함한다. 이러한 생성 모듈의 상세한 설명은 도 2를 참조하여 후술하기로 한다.
무인 이동체(20)에는 장치(10)에 의해 생성된 시큐어 인코더/디코더 소스 파일들을 포함하여 무인 이동체(20)의 기밀성을 강화하기 위한 기능들이 추가된 프로그램, 즉, 펌웨어가 탑재된다. 이때, 도 1에는 하나의 무인 이동체(20)가 도시되어 있으나, 무인 이동체(20)는 복수 개일 수도 있다.
따라서, 실시예에 따른 무인 이동체(20)는 빌드된 프로그램이 데이터의 통신 및 저장을 수행함에 있어, 데이터 전체를 암호화 및 복호화하는 것이 아니라 중요 정보만을 선택적으로 추출하여 암호화 및 복호화를 수행할 수 있다. 이에 대한 상세한 설명은 도 4 및 도 5를 참조하여 후술하기로 한다.
도 2는 도 1에 도시된 장치(10)에 포함된 생성 모듈을 설명하기 위한 도면이고, 도 3은 실시예에 따라 중요 정보가 암호화된 통신 메시지의 예시도이다.
도 2를 참조하면, 실시예에 따른 생성 모듈(11)은, 무인 이동체(20)가 통신 또는 저장하는 데이터 중에 보호 대상인 중요 필드를 기록한 설정 파일(Configuration files)로부터 시큐어 인코더 소스 파일(Secure Encoder files) 및 시큐어 디코더 소스 파일(Secure Decoder files)을 생성한다.
실시예에 따라, 장치(10)는 무인 이동체(20)가 통신 또는 저장 기능을 수행할 때 사용하는 데이터 중에 보호 대상으로 선택된 중요 필드가 기록된 설정 파일을 저장한다. 여기서, 무인 이동체(20)가 복수 개일 경우, 장치(10)는 복수의 무인 이동체들 각각에 대한 상이한 복수의 설정 파일들을 저장할 수 있다. 그러나, 경우에 따라 복수의 무인 이동체들을 위해 저장된 설정 파일이 동일할 수도 있다.
그러면, 생성 모듈(11)이 무인 이동체(20)에서의 통신 및 저장 기능을 안전하게 구현하기 위해, 전술한 설정 파일에 기록된 내용을 기반으로 안전한 통신과 저장 기능을 수행하는 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성할 수 있게 된다.
이때, 생성 모듈(11)은, 설정 파일의 내용을 분석하여 무인 이동체(20)에서 사용하는 프로그램 언어에 상응하게 빌드할 수 있는 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성할 수 있다.
이때, 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일은 각각 통신 또는 저장 기능 수행 시, 중요한 정보를 암호화 및 복호화하는 기능을 포함할 수 있다.
따라서, 무인 이동체(20)에 소스 파일들을 포함하여 빌드하면, 무인 이동체(20)는 안전한 통신 및 저장 기능을 사용할 수 있는 무인 이동체 프로그램을 획득할 수 있다.
이때, 설정 파일은, 암호화가 필요한 중요 정보를 갖는 항목들에 대한 내용을 포함할 수 있다.
또한, 설정 파일은, 데이터의 구조를 표현할 수 있는 XML, YAML, JSON를 포함하는 파일 형태들 중 하나로 구현될 수 있다. 또는 설정하려는 내용에 맞추어 데이터베이스(DB)가 사용될 수도 있다.
다음은 <표 1>은 YAML 파일 형식의 설정 파일 내용의 일부 예시이다.
(...)
message:
id: 888
name: hot_message
field:
-
type: uint16_t
name: axis
from: -1000
to: 1000
-
type: float
name: param1
range:
from: 0.15
to: 0.85
(...)
설정 파일은, 통신 메시지 식별자(ID) 및 통신 메시지에서 암호화가 필요한 중요 항목 필드를 포함할 수 있다. 예컨대, <표 1>과 같이 설정 파일에는 통신 메시지의 ID인 '888', 이름인 'hot_message' 및 중요 항목 필드(field)가 설정될 수 있다.
또한, 설정 파일에는, 통신 메시지의 중요 항목 필드의 범위가 더 설정될 수 있다. 예컨대, 1부터 1000까지의 값만 가질 수 있는 항목인 경우, 설정 파일에 이를 설정해두면, 추후 해당 항목의 값을 암호화할 때 결과값이 1~1000 사이의 값만 갖도록 표현할 수 있다. 이러한 속성으로 인해 어떤 항목이 암호화된 것인지 설정 내용을 알지 못한 상태에서 통신 메시지의 내용만으로는 암호화 여부를 식별하기 어렵게 만들 수 있다.
이때, 설정 파일은, 무인 이동체(20)에 저장하는 중요 파라미터를 포함할 수도 있다. 무인 이동체(20)에서 사용하는 다양한 파라미터 정보 중에 중요 파라미터 항목을 설정해 놓으면, 이를 메모리 또는 저장 장치에 저장할 때 암호화하여 쓰기(Write)하고, 저장된 내용을 읽기(Read)할 때는 복호화하여 사용할 수 있다.
전술한 바와 같이 설정 파일을 기반으로 생성된 시큐어 인코더 소스 파일을 기반으로 실행된 시큐어 인코더는, 무인 이동체(20)가 통신 또는 저장하는 데이터 중에서 중요 정보 필드를 추출하여 암호화할 수 있다. 예컨대, 도 3에 도시된 바와 같이, 전체 통신 메시지 전체 데이터에서 중요 정보 필드만이 암호화될 수 있다.
또한, 시큐어 인코더는, 설정 파일을 기반으로 생성된 것이므로, 중요 정보의 위치 및 길이를 알고 있다. 또한, 시큐어 인코더는, 그 중요 정보가 암호화된 이후 표현될 수 있는 값의 범위도 알 수 있다. 따라서, 시큐어 인코더는, 미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화할 수 있다. 이때, 형태 보존 암호화 기술은 국내등록특허공보 제10-1516574호 및 제10-1790325호에 기록된 방법을 사용할 수 있다.
이때, 시큐어 인코더는, 수신 컴포넌트와 미리 공유한 암호화 키에 의해 데이터의 중요 정보에 대해 암호화할 수 있다.
한편, 전술한 바와 같이 설정 파일을 기반으로 생성된 시큐어 디코더 소스 파일을 기반으로 실행된 시큐어 디코더는, 무인 이동체(20)가 통신 또는 저장하는 데이터 중에서 중요 정보를 추출하여 복호화할 수 있다.
이때, 시큐어 디코더는, 송신 컴포넌트와 미리 공유한 암호화 키에 의해 데이터의 중요 정보에 대해 복호화할 수 있다.
전술한 바와 같은 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 사용하여 빌드된 프로그램에 의해 동작되는 무인 이동체(20)는 중요 정보를 통신 및 저장하는 기능을 수행할 수 있다. 우선, 도 4를 참조하여 무인 이동체 중요 정보 보호 통신 방법을 살펴보고, 도 5를 참조하여 무인 이동체 중요 정보 보호 저장 방법을 살펴보기로 한다.
도 4는 실시예에 따른 무인 이동체에서의 중요 정보 보호 통신 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 무인 이동체에서의 중요 정보 보호 통신 방법은 각각 송신 컴포넌트(Sender Component)(100) 및 수신 컴포넌트(Receiver Component)(200)로 동작하는 두 무인 이동체들 간에 메시지 암호화 통신 방법이다.
상세하게는, 송신 컴포넌트(Sender Component)(100)는, 송신할 메시지를 생성한다(S110). 이때, 생성된 메시지는 메시지 버퍼에 저장될 수 있다.
그런 후, 송신 컴포넌트(100)는, 메시지의 중요 정보 필드를 추출하여 암호화한다(S120).
이때, 암호화하는 단계(S120)는, 무인 이동체가 통신하는 데이터 중에 보호 대상인 중요 정보 필드를 기록한 설정 파일로부터 생성된 시큐어 인코더 소스 파일을 사용하여 빌드된 프로그램에 의해 수행될 수 있다.
이때, 시큐어 인코더 소스 파일은 메시지 버퍼에 기록된 데이터 중에 중요 정보가 기록된 항목의 위치와 길이를 알고 있다. 그리고, 시큐어 인코더 소스 파일은, 그 정보가 암호화된 이후 표현될 수 있는 값의 범위도 알 수 있다. 따라서, 암호화하는 단계(S120)에서는, 미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화할 수 있다.
또한, 암호화하는 단계(S120)에서는, 수신 컴포넌트(Receiver Component)(200)와 미리 공유된 암호화 키(Encryption Key)에 의해 데이터의 중요 정보 필드에 대해 암호화할 수 있다. 이때, 중요 정보 필드만 암호화된 메시지는 메시지 버퍼에 저장될 수 있다.
송신 컴포넌트(100)는, 메시지 버퍼에 저장된 메시지를 수신 컴포넌트(200)로 전송한다(S130).
그러면, 수신 컴포넌트(200)에서는, 중요 정보가 암호화된 메시지를 수신한다(S210). 이때, 수신된 메시지는 메시지 버퍼에 저장될 수 있다.
수신 컴포넌트(200)는, 메시지 버퍼에 저장된 메시지에서 암호화된 중요 정보 필드를 복호화한다(S220).
이때, 복호화하는 단계(S220)는, 무인 이동체가 통신하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 생성된 시큐어 디코더 소스 파일을 사용하여 빌드된 프로그램에 의해 수행될 수 있다.
이때, 복호화하는 단계(S220)에서는, 송신 컴포넌트(100)와 미리 공유한 복호화 키(Decryption Key)에 의해 데이터의 중요 정보 필드에 대해 복호화할 수 있다. 이때, 복호화된 메시지는 메시지 버퍼에 저장될 수 있다.
그런 후, 수신 컴포넌트(200)는, 복호화된 메시지에 대한 프로세스를 수행한다(S230).
도 5는 실시예에 따른 무인 이동체에서의 중요 정보 보호 저장 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 무인 이동체에서의 중요 정보 보호 저장 방법은 무인 이동체가 기록 컴포넌트(Writer Component)(300) 또는 판독 컴포넌트(Reader Component)(400)로 동작하여 데이터를 암호화하여 저장하고, 저장된 암호화된 데이터를 로딩하여 복호화한다.
이때, 데이터는 다양한 파라미터들이 포함될 수 있다. 실시예에 따라, 무인 이동체는 이 중에서 중요 파라미터를 추출하여 암호화 및 복호화하게 된다.
무인 이동체는 중요 파라미터의 값을 저장할 때, 해당 값을 형태 보존 암호화 기술로 암호화하여 저장한다.
상세하게는, 기록 컴포넌트(300)는, 저장할 파라미터를 획득한다(S310). 이때, 파라미터 정보는 'TYPE', 'NAME' 및 'VALUE'형태로 구성될 수 있다.
즉, 무인 이동체에는 여러 정보들이 파라미터 형태로 전달된다. 그리고 이러한 정보들의 각 항목의 크기는 수 바이트 크기로 작다. 예컨대, 4 바이트 크기의 정수형이나 실수형의 항목들이 많이 존재한다.
그런 후, 기록 컴포넌트(300)는, 파라미터들에서 중요한 파라미터의 'VALUE'를 추출하여 암호화한다(S320). 즉, 도 5에 도시된 바와 같이, ‘TYPE', 'NAME' 및 'VALUE' 중에서 ‘VALUE'를 암호화한다. 이때, 암호화하는 단계(S320)는, 무인 이동체가 저장하는 파라미터들 중에 보호 대상인 중요 파라미터를 기록한 설정 파일로부터 생성된 시큐어 인코더 소스 파일을 사용하여 빌드된 프로그램에 의해 수행될 수 있다.
이때, 시큐어 인코더 소스 파일은 파라미터들 중에 중요 파라미터가 기록된 항목의 위치와 길이를 알고 있다. 그리고, 시큐어 인코더 소스 파일은 그 정보가 암호화된 이후 표현될 수 있는 값의 범위도 알 수 있다.
따라서, 암호화하는 단계(S320)에서는, 미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화할 수 있다. 즉, 기록 컴포넌트(300)는, 형태 보존 암호화 기술을 이용하여 이처럼 작은 크기의 정보들을 선택적으로 항목 별로 암호화할 수 있다. 암호화 이후의 값의 형태도 해당 항목이 표현될 수 있는 범위의 값의 형태로 생성되어 암호화 여부가 쉽게 판단되기 어렵게 할 수 있다.
참고로 블록 암호화 기술을 이용할 때, 암호화할 파라미터의 크기가 이처럼 작은 경우 패딩이 추가되어 암호문의 크기가 늘어나고, 이 때문에 기존 통신 프로토콜과 호환되지 않는다.
또한, 암호화하는 단계(S320)에서는, 판독 컴포넌트(400)와 미리 공유된 암호화 키(Encryption Key)를 이용하여 파라미터에 대해 암호화할 수 있다.
그런 후, 기록 컴포넌트(300)는, 중요 파라미터만 암호화된 파라미터 정보를 저장한다(S330).
그러면, 판독 컴포넌트(400)에서는, 저장되어 있는 암호화된 파라미터 정보를 로딩한다(S410).
판독 컴포넌트(400)는, 로딩된 파라미터 정보에서 암호화된 중요 파라미터를 복호화한다(S420).
이때, 복호화하는 단계(S420)는, 무인 이동체가 저장하는 데이터 중에 보호 대상인 중요 파라미터를 기록한 설정 파일로부터 생성된 시큐어 디코더 소스 파일을 사용하여 빌드된 프로그램에 의해 수행될 수 있다.
이때, 복호화하는 단계(S420)에서는, 기록 컴포넌트(300)와 미리 공유한 복호화 키(Decryption Key)에 의해 데이터의 중요 파라미터에 대해 복호화할 수 있다.
그런 후, 판독 컴포넌트(400)는, 복호화된 파라미터에 대한 프로세스를 수행한다(S430).
전술한 바와 같이 저장된 암호화된 값은 이를 저장한 무인 이동체와 암호화 키를 공유하고 있는 원격 제어 시스템에서만 복호화될 수 있기 때문에, 비인가된 접근으로부터 중요 정보를 보호할 수 있다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 장치(10)는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다.
이때, 실시예에 따라, 메모리(1030)나 스토리지(1060)에 저장된 프로그램은 전술한 도 2에서 설명한 생성 모듈(11)이 포함될 수 있다. 이러한 생성 모듈(11)은 프로세서(1010)에 의해 실행될 수 있다.
메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
도 7은 실시예에 따른 무인 이동체 구성을 나타낸 도면이다.
여기서, 무인 이동체(20)에 포함된 다른 구성 요소들은 본 발명의 요지를 흐릴 수 있으므로, 도 7에서는 본 발명의 동작을 위한 구성 요소만을 도시하기로 한다.
실시예에 따른 무인 이동체(20)는 서로 신호를 주고 받을 수 있는 통신부(21), 프로세서(22) 및 메모리(23)를 포함할 수 있다.
통신부(21)는, 다른 무인 이동체 또는 무인 이동체를 조종하는 사용자 단말을 포함하는 다른 컴퓨터 장치들과 통신망을 통해 신호를 송수신할 수 있다.
프로세서(22)는 메모리(23)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행할 수 있다.
이때, 실시예에 따라, 메모리(1030)에 저장된 프로그램은 전술한 바와 같이, 장치(10)에 의해 생성된 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 사용하여 빌드된 무인 이동체 프로그램이 포함될 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. 생성 모듈을 포함하는 적어도 하나의 프로그램이 기록된 메모리; 및
    생성 모듈을 포함하는 적어도 하나의 프로그램을 실행하는 프로세서를 포함하며,
    생성 모듈은,
    무인 이동체가 통신 또는 저장하는 데이터 중에 보호 대상인 중요 정보를 기록한 설정 파일로부터 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성하되,
    시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일은,
    무인 이동체가 데이터의 통신 또는 저장을 수행 시, 데이터 중에서 중요 정보를 추출하여 암호화 또는 복호화하도록 무인 이동체의 프로그램을 빌드하는데 사용되는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치.
  2. 제1 항에 있어서, 생성 모듈은,
    설정 파일의 내용을 분석하여 무인 이동체 프로그램 언어에 상응하게 빌드할 수 있는 시큐어 인코더 소스 파일 및 시큐어 디코더 소스 파일을 생성하는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일 생성 장치.
  3. 제1 항에 있어서, 설정 파일은,
    통신 메시지 식별자(ID) 및 통신 메시지에 포함된 적어도 하나의 중요 항목 정보를 포함하는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일 생성 장치.
  4. 제3 항에 있어서, 설정 파일은,
    통신 메시지의 중요 항목 값의 범위를 더 포함하는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일 생성 장치.
  5. 제1 항에 있어서, 중요 정보는,
    무인 이동체에 저장하는 중요 파라미터를 포함하는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일 생성 장치.
  6. 제1 항에 있어서, 설정 파일은,
    데이터의 구조를 표현할 수 있는 XML, YAML 및 JSON를 포함하는 파일 형태들 중 적어도 하나의 파일 형태로 구현되는, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일 생성 장치.
  7. 적어도 하나의 프로그램이 기록된 메모리; 및
    적어도 하나의 프로그램을 실행하는 프로세서를 포함하며,
    프로그램은,
    메시지를 생성하는 단계;
    생성한 메시지에서 보호 대상으로 미리 설정된 중요 정보만을 추출하여 암호화하는 단계; 및
    중요 정보가 암호화된 메시지를 전송하는 단계를 수행하는, 무인 이동체.
  8. 제7 항에 있어서, 암호화하는 단계는,
    미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화하는, 무인 이동체.
  9. 제7 항에 있어서, 설정 파일은,
    통신 메시지 식별자(ID), 통신 메시지에 포함된 적어도 하나의 중요 항목 정보 및 통신 메시지의 중요 항목 값의 범위를 포함하는, 무인 이동체.
  10. 제7 항에 있어서, 프로그램은,
    중요 정보가 암호화된 메시지를 수신하는 단계;
    수신한 메시지에서 보호 대상으로 미리 설정된 중요 정보를 복호화하는 단계; 및
    중요 정보가 복호화된 메시지에 대한 프로세스를 수행하는 단계를 수행하는, 무인 이동체.
  11. 제10 항에 있어서, 설정 파일은,
    통신 메시지 식별자(ID), 통신 메시지에 포함된 적어도 하나의 중요 항목 정보 및 통신 메시지의 중요 항목 값의 범위를 포함하는, 무인 이동체.
  12. 적어도 하나의 프로그램이 기록된 메모리; 및
    적어도 하나의 프로그램을 실행하는 프로세서를 포함하며,
    프로그램은,
    데이터를 획득하는 단계;
    획득된 데이터에서 보호 대상으로 미리 설정된 중요 정보만을 추출하여 암호화하는 단계; 및
    중요 정보가 암호화된 데이터를 저장하는 단계를 수행하는, 무인 이동체.
  13. 제12 항에 있어서,
    저장된 데이터를 로딩하는 단계; 및
    데이터에서 보호 대상으로 미리 설정된 중요 정보를 복호화하는 단계를 더 수행하는, 무인 이동체.
  14. 제13 항에 있어서, 암호화하는 단계 및 복호화하는 단계는,
    미리 설정된 암호화 조건에 따라 데이터의 중요 정보의 형태를 보존하여 암호화 또는 복호화하는, 무인 이동체.
KR1020210108812A 2021-08-18 2021-08-18 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치 KR102592874B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210108812A KR102592874B1 (ko) 2021-08-18 2021-08-18 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치
US17/698,582 US20230061849A1 (en) 2021-08-18 2022-03-18 Unmanned aerial vehicle and apparatus for generating source files providing confidential information protection of unmanned aerial vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210108812A KR102592874B1 (ko) 2021-08-18 2021-08-18 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치

Publications (2)

Publication Number Publication Date
KR20230027369A true KR20230027369A (ko) 2023-02-28
KR102592874B1 KR102592874B1 (ko) 2023-10-25

Family

ID=85288984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210108812A KR102592874B1 (ko) 2021-08-18 2021-08-18 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치

Country Status (2)

Country Link
US (1) US20230061849A1 (ko)
KR (1) KR102592874B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932924B1 (ko) * 2007-12-17 2009-12-21 한국전자통신연구원 Mac하드웨어 전처리장치 및 방법
KR101845610B1 (ko) * 2016-06-21 2018-04-04 동국대학교 경주캠퍼스 산학협력단 이동체 정보 보안 시스템 및 이를 이용한 이동체 정보 보안 방법
KR102130166B1 (ko) * 2017-10-13 2020-08-05 한국전자통신연구원 다중 타겟의 임베디드 소프트웨어 개발 장치 및 방법
KR102144404B1 (ko) * 2018-09-05 2020-08-12 엔에이치엔 주식회사 블록체인 기반 주행기록 데이터 저장방법 및 이를 실행하는 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932924B1 (ko) * 2007-12-17 2009-12-21 한국전자통신연구원 Mac하드웨어 전처리장치 및 방법
KR101845610B1 (ko) * 2016-06-21 2018-04-04 동국대학교 경주캠퍼스 산학협력단 이동체 정보 보안 시스템 및 이를 이용한 이동체 정보 보안 방법
KR102130166B1 (ko) * 2017-10-13 2020-08-05 한국전자통신연구원 다중 타겟의 임베디드 소프트웨어 개발 장치 및 방법
KR102144404B1 (ko) * 2018-09-05 2020-08-12 엔에이치엔 주식회사 블록체인 기반 주행기록 데이터 저장방법 및 이를 실행하는 시스템

Also Published As

Publication number Publication date
US20230061849A1 (en) 2023-03-02
KR102592874B1 (ko) 2023-10-25

Similar Documents

Publication Publication Date Title
CN107801165B (zh) 业务短信推送方法、装置、计算机设备和存储介质
EP2506488B1 (en) Secure dynamic on-chip key programming
US7817799B2 (en) Maintaining encryption key integrity
US8495365B2 (en) Content processing apparatus and encryption processing method
US20170272407A1 (en) Encrypted communications method and communications terminal, and computer storage medium
US11405202B2 (en) Key processing method and apparatus
CN109274644A (zh) 一种数据处理方法、终端和水印服务器
WO2016047115A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記憶媒体
CN1830030B (zh) 含加密指示信息的记录载体提供方法、记录/读取装置及方法
CN113987557A (zh) 一种文件加密处理方法、***、电子设备和存储介质
CN108133147B (zh) 可执行代码的保护方法、设备及可读存储介质
CN116662941A (zh) 信息加密方法、装置、计算机设备和存储介质
US20180145829A1 (en) Data management method
US11126992B2 (en) Method for facilitating transactions, computer program product and mobile device
US20220029797A1 (en) Communication system, key management server device, router, and computer program product
CN116455572B (zh) 数据加密方法、装置及设备
WO2016047111A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記憶媒体
KR101346284B1 (ko) 암호화 파일의 생성 방법 및 해독 방법과 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US9697372B2 (en) Methods and apparatuses for securing tethered data
JP3537959B2 (ja) 情報復号化装置
CN108021817A (zh) 一种加解密存储器访问接口实现***及方法
KR102592874B1 (ko) 무인 이동체, 무인 이동체의 중요 정보 보호 기능을 제공하는 소스 파일을 생성하는 장치
CN117118972A (zh) 一种可记录文件流转过程的方法、装置、设备及介质
CN113282939B (zh) 一种基于PowerPC与可拆卸存储设备卸载数据加解密方法及***
CN110008724A (zh) 固态硬盘控制器安全加载方法、装置及存储介质

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