WO2024090760A1 - 저전력 암호화 방법 및 시스템 - Google Patents

저전력 암호화 방법 및 시스템 Download PDF

Info

Publication number
WO2024090760A1
WO2024090760A1 PCT/KR2023/012468 KR2023012468W WO2024090760A1 WO 2024090760 A1 WO2024090760 A1 WO 2024090760A1 KR 2023012468 W KR2023012468 W KR 2023012468W WO 2024090760 A1 WO2024090760 A1 WO 2024090760A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
encryption
plaintext
encrypting
data
Prior art date
Application number
PCT/KR2023/012468
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020220138193A external-priority patent/KR102531876B1/ko
Application filed by 주식회사 쿼드마이너 filed Critical 주식회사 쿼드마이너
Publication of WO2024090760A1 publication Critical patent/WO2024090760A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • This invention relates to a low-power encryption method, and more specifically, to a method of generating an encryption block when connecting a data link and encrypting data using a pre-generated encryption block while operating a mobile device.
  • UAV Unmanned Aerial Vehicle
  • UAVs began to be developed for military purposes, but thanks to recent technological developments, it has been used in industries such as broadcast filming, communication relay, agriculture, traffic surveillance, disaster response, reconnaissance, delivery, and leisure.
  • industries such as broadcast filming, communication relay, agriculture, traffic surveillance, disaster response, reconnaissance, delivery, and leisure.
  • the market is rapidly expanding into the private sector.
  • UAVs perform their missions through remote control or automatic control using wireless communication technology, and must continuously communicate with the ground control system to properly perform a given mission, and the reliability of the wireless communication system is very important.
  • the UAV's wireless communication channel uses a wireless network that is always open, making it highly vulnerable to wireless security attacks.
  • UAVs are subject to various security threats such as communication hacking, controller hacking, and sensor hacking, and UAVs are in an environment where there is a very high possibility of physically damaging the UAV through hacking or hijacking the UAV and exploiting it for other purposes. .
  • UAV data link security technology encrypts data using encryption algorithms such as DES (Digital Encryption Standard), AES (Advanced Encryption Standard), ARIA (Academy, Research Institute, Agency), and SEED, and then modifies and modulates the modem. It is implemented in a structure that transmits and receives through .
  • the transmitter encrypts the transmission data, modulates it through a modem, and transmits it wirelessly, and the receiver typically demodulates and decrypts the received data to restore the data.
  • the encryption of data is implemented by being built into the data processing unit, which is a modem unit that performs modulation and demodulation in the data link, or is interfaced with a separate external encryption device to encrypt/decrypt the transmitted and received data.
  • the general encryption key operation method for UAV is to receive the encryption key from a control device that controls the data link or an external storage medium and store it inside the UAV, and the symmetric key method is generally used in which the UAV and the control station or radio station use the same key. am.
  • the data transmitted and received in the UAV's data link is UAV Tele-Command (TC), Telemetry (TM), or observation image information from the ground control system.
  • TC UAV Tele-Command
  • TM Telemetry
  • observation image information from the ground control system.
  • TC/TM data has a form that repeats in a certain pattern within the system standard, there is a very high possibility that a third party can infer or estimate the original data when collecting or observing data that is repeatedly transmitted and received over the radio.
  • the conventional general UAV data link security structure is difficult to maintain a high level of security in terms of the characteristics of transmitted and received data, encryption application method, and key management structure.
  • One embodiment of the present invention seeks to provide a low-power encryption method and encryption system designed to reduce the amount of power consumed for encryption while operating a mobile device.
  • the encryption method includes the steps of connecting a data link between a mobile device and a repeater, encrypting a key and counter stream to generate at least one encryption block, The step of storing the encrypted block is performed, and when it is determined that the mobile device is in operation, the method includes dividing the obtained data into plaintext blocks of the same size as the encrypted block and encrypting the plaintext block.
  • the encryption method and encryption system according to the present invention can encrypt data obtained during operation of a mobile device with low power, thereby increasing the operation time of the mobile device and providing high security.
  • 1 is a diagram showing a conventional CTR encryption method.
  • Figure 2 is a diagram for explaining the operating environment of an encryption system according to an embodiment of the present invention.
  • Figure 3 is a diagram for explaining the configuration of an encryption system according to an embodiment of the present invention.
  • Figure 4 is a diagram for explaining the operation of the encryption block generator and storage unit according to an embodiment of the present invention.
  • Figure 5 is a diagram for explaining the operation of the encryption unit.
  • Figure 6 is a diagram illustrating a decryption process of an encryption system according to an embodiment of the present invention.
  • FIG. 7 is a flowchart showing the encryption method of the device according to the present invention.
  • the encryption method includes the steps of connecting a data link between a mobile device and a repeater, encrypting a key and counter stream to generate at least one encryption block, and storing the encryption block, and If it is determined that is in operation, the process includes dividing the obtained data into plaintext blocks of the same size as the encryption blocks and encrypting the plaintext blocks.
  • 'mobile device' refers to all devices that communicate while moving, and specifically includes two-wheeled vehicles, passenger cars, vans, special vehicles, agricultural machinery, urban air mobility, drones, and robots. Additionally, these mobile devices include an encryption system and require a process of encrypting and transmitting the acquired data, or receiving and decrypting the encrypted data.
  • FIG. 1 is a diagram illustrating an encryption algorithm called conventional counter mode (CTR).
  • CTR conventional counter mode
  • the counter mode is configured to use nonce and counter values.
  • a nonce refers to a random value exchanged between communication devices during the key exchange process.
  • the nonce and counter are set to 96 bits and 32 bits, respectively.
  • the nonce remains the same when generating an encryption block stream (key stream), but the counter uses a different value for each individual key stream.
  • the counter uses a value incremented by 1 for each key stream.
  • the encryption system encrypts and stores counter-based data when the mobile device is charging or when a data link is connected, and when the mobile device is actually in operation, the obtained data is encrypted using a pre-generated encryption block and a simple operation. It is designed to minimize power consumption when the mobile device is in operation.
  • the present invention appears to be particularly useful in mobile devices that need to minimize power consumption while moving, such as drones, electric vehicles, and robots.
  • FIG. 2 is a diagram for explaining the operating environment of an encryption system according to an embodiment of the present invention.
  • the encryption system of the mobile device according to an embodiment of the present invention is connected to the control system through a wired or wireless communication network.
  • the encryption system of the mobile device can exchange keys with the control system or receive and decrypt encrypted data from the control system, and can encrypt and control externally acquired data, data generated in the mobile device, or data stored in advance. It can be sent to the system.
  • FIG 3 is a diagram for explaining the configuration of an encryption system according to an embodiment of the present invention.
  • the encryption system 100 of the present invention includes a communication unit 110, a determination unit 120, a data acquisition unit 130, an encryption block creation unit 140, a storage unit 150, and an encryption unit. (160) and may include a tag unit (170).
  • the encryption system 100 may communicate with a control system or another encryption system through the communication unit 110.
  • the communication unit 110 can connect to a network to transmit and receive various data.
  • the communication unit 110 may largely include a wired type and a wireless type. Since the wired type and the wireless type each have their own advantages and disadvantages, in some cases, the encryption system 100 may be provided with both the wired type and the wireless type at the same time.
  • a WLAN (Wireless Local Area Network) type communication method such as Wi-Fi can be mainly used.
  • cellular communication such as LTE, 5G, and 6G communication methods, can be used.
  • the wireless communication protocol is not limited to the above-described example, and any appropriate wireless type of communication method can be used.
  • LAN Local Area Network
  • USB Universal Serial Bus
  • the encryption system 100 may obtain encrypted mobile device control information from the control system 300-n through the communication unit 110.
  • the encryption system 100 can communicate with the encryption system 100-n of another mobile device through the communication unit 110 and obtain the encrypted location information, movement information, etc. of the other mobile device.
  • the encryption system 100 can transmit encrypted mobile device location information, movement information, and acquisition information to the control system 300-n through the communication unit 110, and the encryption system 100 of another mobile device -n) Encrypted mobile device location information, movement information, and acquisition information can be transmitted.
  • the determination unit 120 of the encryption system 100 determines whether the encryption system 100 or the mobile device is in operation. According to another embodiment of the present invention, the determination unit 120 of the encryption system 100 determines whether the encryption system 100 or the mobile device is charging. According to one embodiment of the present invention, the operation of the encryption system varies depending on whether the encryption system or the mobile device is in operation, and the determination unit 120 can determine whether the encryption system or the mobile device is charging or operating. . The determination unit 120 may determine whether the encryption system or the mobile device is charging or operating in a physical manner or in a non-physical manner.
  • the data acquisition unit 130 of the encryption system 100 acquires data to be encrypted. More specifically, the data acquisition unit 130 may include various measuring devices such as various sensors including LIDAR, GPS sensors, speedometers, cameras, and infrared cameras. According to a specific embodiment of the present invention, the data acquisition unit 130 may acquire video and image information around the encryption system through a camera, lidar sensor, etc. Additionally, the data acquisition unit 130 may acquire movement information, location information, etc. of the mobile device using a GPS sensor, speedometer, etc. That is, the data acquisition unit 130 can acquire data to be encrypted through various types of sensors. In addition, the data acquisition unit 130 may acquire data to be encrypted previously stored in the storage unit 150. That is, the data to be encrypted includes data acquired externally through the data acquisition unit and data previously stored in the storage unit 150.
  • Figure 4 is a diagram for explaining the operation of the encryption block generator 140 and the storage unit 150 according to an embodiment of the present invention.
  • the encryption block generator 140 can generate at least one encryption block by encrypting the key and counter stream when the mobile device is connected to the data link.
  • the encryption block generator 140 of the encryption system 100 encrypts the key and counter stream to generate at least one encryption block. More specifically, the counter stream input to the encryption block generator 140 means a value that is a combination of a nonce and a counter.
  • the nonce refers to a random value exchanged between the encryption system and the control system during the key exchange process
  • the counter refers to a number that sequentially increases from 1 according to the bit size.
  • the encryption block generator 140 can ensure that the values of the encryption blocks generated by encrypting the counter stream and the key all have different values.
  • the encryption block generator 140 can encrypt the counter stream using a block cipher engine.
  • the encryption block generator 140 may generate an encryption block when the determination unit 120 determines that the mobile device is charging.
  • the storage unit 150 of the encryption system 100 refers to a configuration for storing one or more encryption blocks generated through the encryption block generation unit 140 as a vector array.
  • the storage unit 150 stores encryption blocks as a vector array to further improve the speed of selecting encryption blocks in the future.
  • Figure 5 is a diagram for explaining the operation of the encryption unit 160.
  • the encryption unit 160 of the encryption system 100 is configured to encrypt acquired data. More specifically, the encryption unit 160 may encrypt data obtained from the data acquisition unit 130.
  • the encryption unit 160 may divide the data obtained from the data acquisition unit 130 into a certain size. If necessary, the encryption unit 160 may divide the obtained data into plaintext blocks of the same size as the encryption blocks. According to one embodiment of the present invention, the encryption unit 160 can divide the obtained data into n plaintext blocks, and repeat the step of encrypting the plaintext blocks n times to encrypt all n plaintext blocks. (n is an integer).
  • the encryption unit 160 can generate a random initial vector (IV) and use it to encrypt data.
  • the encryption unit 160 can improve the security of the encryption system by encrypting data using a random initial vector so that when data with the same content is encrypted and transmitted in different packets, they have different values.
  • the encryption unit 160 may generate a random initial vector and encrypt the value obtained by merging the initial vector with the counter with a key to obtain a first initial counter block and a second initial counter block.
  • the encryption unit 160 obtains a first initial counter block by encrypting the value merged with the initial vector and the counter (00000001) with the key, and encrypts the value merged with the initial vector and the counter (00000002) with the key.
  • the second initial counter block can be obtained. That is, the encryption unit 160 can obtain a first initial counter block and a second initial counter block by encrypting the initial vector and the merged value of the two different counters with each key.
  • the encryption unit 160 may perform encryption using a block cipher engine.
  • the reason for producing multiple initial counter blocks is to increase the complexity of encryption. If necessary, the encryption unit can obtain three or more initial counter blocks.
  • the encryption unit 160 can select one of the stored encryption blocks using the first initial counter block and operate it with the plaintext block to encrypt the plaintext block.
  • the encryption unit 160 can select one of the encryption blocks stored in the storage unit using the first initial counter block.
  • the encryption unit 160 may encrypt the plaintext block by calculating the value calculated from the selected encryption block and the second initial counter block with the plaintext block. If necessary, the operation performed in the encryption unit may be an XOR operation.
  • the encryption unit 160 can encrypt a plurality of plaintext blocks. More specifically, the encryption unit 160 can select one of the stored encryption blocks using the first initial counter block, which is referred to as the first encryption block. The encryption unit 160 may perform a first operation on the first encryption block with the second initial counter block and perform an operation on the first operation value with the first plaintext block to encrypt the first plaintext block.
  • the encryption unit 160 can select one of the stored encryption blocks using the encrypted first plaintext block, which is called a second encryption block.
  • the encryption unit 160 may perform a second operation on the second encryption block with the second initial counter block and perform a second operation on the second plaintext block to encrypt the second plaintext block.
  • the encryption unit 160 can encrypt the M plaintext block.
  • the encryption unit 160 can select one of the stored encryption blocks using the encrypted M-1 plaintext block, which is called the M-th encryption block.
  • the encryption unit 160 may perform the M operation on the M encryption block with the second initial counter block, and operate the M operation value with the M plain text block to encrypt the M plain text block (M is an integer, 2 ⁇ M ⁇ n).
  • the encryption unit 160 may perform first to nth operations, which may be XOR operations.
  • the tag unit 170 may generate an authentication tag to verify the integrity of the encrypted data.
  • the tag unit 170 generates an authentication tag using the general technology of GCM (Galois/Counter Mode), and a detailed description thereof will be omitted.
  • FIG. 6 is a diagram illustrating the decryption process of the encryption system 100 according to an embodiment of the present invention.
  • the encryption unit 160 can obtain plaintext by interpreting the encrypted network packet received from the control system or another encryption system. However, since the decryption process is carried out by reversing the encryption process, a detailed explanation thereof will be omitted.
  • FIG. 7 is a flowchart showing the encryption method of the device according to the present invention.
  • the encryption method of the device includes the steps of connecting the data link of the mobile device, encrypting the key and counter stream to create an encryption block, and storing the encryption block.
  • It may include dividing the obtained data into plaintext blocks of the same size as the encryption blocks, and encrypting the plaintext blocks.
  • Data links in flight systems such as UAVs control the aircraft and on-board equipment through wireless data communication between the ground equipment and the aircraft, and transmit mission video information obtained from the aircraft and status information on the on-board equipment to the ground to facilitate various missions.
  • It is a system that supports this and can be composed of an aircraft data communication device, a ground repeater, and a ground control device data communication device.
  • the data link connection step (S2100) of the mobile device refers to the step of connecting the mobile device to communicate with ground equipment and a ground repeater. Since this is the same as the conventional data link connection step, detailed description thereof will be omitted.
  • the device can generate at least one encryption block by encrypting the key and counter stream (S2200).
  • the counter stream is a combined value of a nonce and a counter, and the device can generate a plurality of encryption blocks by encrypting the key and counter stream. If necessary, the device can use a block cipher engine to generate an encryption block that encrypts the key and counter stream.
  • the device may store at least one generated encryption block as a vector array.
  • the device can reduce future power consumption by pre-executing the high-power consumption steps of the encryption process when the mobile device is connected to the data link.
  • the device can improve the selection speed of encryption blocks in subsequent steps by vectorizing and storing encryption blocks.
  • the device can acquire data to be encrypted (S3100) if it is determined that the mobile device is in operation. More specifically, the device may include various sensors including GPS sensors, speedometers, etc., measuring devices, cameras, etc., and may obtain various types of data from these. Additionally, the device can obtain data to be encrypted stored in the storage unit. In other words, the data to be encrypted includes both data acquired externally by the device and data previously stored in the storage unit.
  • the device may encrypt the acquired data if it determines that the mobile device is in operation. More specifically, the device can encrypt data through the step of dividing the acquired data (S3200) and encrypting the plaintext block (S3300).
  • the device may divide the acquired data into plaintext blocks of the same size as the encryption blocks. More specifically, the device can select only the part containing the data to be transmitted among the acquired data and divide it into plaintext blocks of the same size as the encrypted blocks.
  • the device can obtain a plaintext block by extracting and dividing only data acquired from a specific sensor among the acquired data, or extracting and dividing only data acquired at a specific time.
  • the device can generate random initial vector (IV) values.
  • the device can generate an initial counter block by encrypting the value of merging the initial vector with the counter with a key.
  • the device can perform encryption using a block cipher engine. If necessary, the device may generate at least one initial counter block. The device may select one of the encryption blocks using the first initial counter block and operate it with the plaintext block to encrypt the plaintext block.
  • the encryption system can have better security, while the power consumption used for encryption increases, so the number of initial counter blocks can be adjusted as needed. can be selected appropriately.
  • the device can encrypt a random initial vector (IV) to obtain a first initial counter block and a second initial counter block, that is, two initial counter blocks.
  • IV random initial vector
  • the device is capable of encrypting multiple plaintext blocks.
  • the method for encrypting two plaintext blocks is as follows.
  • the device In the step of encrypting the plaintext block, the device encrypts the value of merging the initial vector (IV) with the counter with the key to obtain a first initial counter block and a second initial counter block, and uses the first initial counter block to The first encryption block can be selected.
  • the device may perform a first operation on the first encryption block with the second initial counter block and operate the first operation value with the first plaintext block to encrypt the first plaintext block.
  • the device selects a second encryption block using the encrypted first plaintext block, performs a second operation on the second encryption block with the second initial counter block, and operates the second operation value with the second plaintext block to generate the second plaintext.
  • Blocks can be encrypted.
  • the device may repeatedly perform the encryption step, the calculation step, and the encryption step. More specifically, the device can encrypt the Mth plaintext block (2 ⁇ M ⁇ n, where M,n is an integer).
  • the device selects the M encryption block using the encrypted M-1 plaintext block, performs the M operation on it with the second initial counter block, and operates the M operation value with the M plaintext block to create the M plaintext block. It can be encrypted. At this time, the operation may be an XOR operation.
  • the device can encrypt plaintext blocks by repeating calculation and encryption.
  • the device can encrypt all of the acquired data by repeating the calculation and encryption steps as many times as the number of divided plaintext blocks.
  • the device can acquire new data or end encryption. When new data is acquired, the device may generate a new random initial vector value and repeatedly proceed with the encryption step from the data acquisition step.
  • the device encryption method includes the steps of determining whether the mobile device is charging, if it is determined that the mobile device is charging, generating an encryption block by encrypting the key and counter stream, and generating an encryption block. It may include a step of storing, and if it is determined that the mobile device is not charging, a step of acquiring data, a step of dividing the obtained data into plaintext blocks of the same size as the encryption block, and a step of encrypting the plaintext block.
  • the device may determine whether the mobile device is charging.
  • the device can determine whether power is supplied to the mobile device from outside using physical or non-physical methods. Since the following steps are the same, detailed description thereof will be omitted.
  • the present invention may include an encryption program stored in a computer-readable medium to execute the encryption method described above.
  • the encryption system and encryption method according to the present invention allows the device to perform a process with high power consumption when connected to a data link, and only performs simple calculations when the device is in operation, thereby reducing power consumption during operation of the mobile device. A high level of security was maintained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Control Of Eletrric Generators (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Abstract

본 발명은 이동장치 운행 중 전력 소모가 적은 암호화 방법 및 암호화 시스템에 관한 것이다. 본 발명의 일 실시예에 따른 암호화 방법은 이동장치와 중계기 간에 데이터 링크 연결 단계, 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 단계, 암호화 블럭을 저장하는 단계, 이동장치가 운용 중인지 판단하는 단계, 운용 중이라고 판단 시, 암호화대상 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계, 평문 블럭을 암호화하는 단계를 포함한다. 본 발명에 따른 암호화 시스템은 이동장치 운행 중 획득한 데이터를 저전력으로 암호화하여 이동장치의 운행시간을 늘리면서도 높은 보안성을 가지도록 할 수 있다.

Description

저전력 암호화 방법 및 시스템
이 발명은 저전력 암호화 방법에 관한 것으로, 더욱 상세하게는 데이터 링크 연결 시, 암호화 블럭을 생성하고, 이동장치 운용 중에 미리 생성된 암호화 블럭을 이용하여 데이터를 암호화하는 방법에 관한 것이다.
UAV(UAV:Unmanned Aerial Vehicle, 이하 무인기)는 군사적 목적으로 개발이 시작되었지만, 최근 기술 발전에 힘입어 방송촬영, 통신중계, 농업, 교통감시, 재난재해 대처, 정찰, 배송, 레저 등의 산업 및 민간 분야로 시장을 급속도로 넓혀 나가고 있다. UAV는 무선 통신 기술을 사용하여 원격 조종 또는 자동 조종을 통해 임무를 수행하며, 주어진 임무를 제대로 수행하기 위해서 지속적으로 지상 관제 시스템과 통신을 하여야 하며, 무선통신 시스템의 신뢰성이 매우 중요하다.
UAV의 무선 통신 채널은 항시 개방된 상태의 무선 네트워크를 이용하고 있어 무선 보안 공격에 대한 취약성이 높은 구조이다. 또한 UAV는 통신 해킹, 컨트롤러 해킹, 센서 해킹 등 다양한 보안 위협의 대상이 되고 있으며, UAV는 해킹을 통해 UAV를 물리적으로 파손시키거나 UAV를 탈취해 다른 용도로 악용할 가능성이 매우 높은 환경에 놓여 있다.
UAV의 무선 통신과 관련하여, 데이터 링크 스푸핑(Spoofing)은 UAV의 제어권을 완전하게 장악할 수 있으므로 매우 심각한 보안 문제라고 할 수 있다.
종래의 UAV 데이터 링크의 보안기술은 DES(Digital Encryption Standard), AES(Advanced Encryption Standard), ARIA(Academy, Research Institute, Agency), SEED와 같은 암호화 알고리즘을 이용하여 데이터를 암호화한 후, 모뎀의 변복조를 통해 송수신하는 구조로 구현된다. 송신부는 전송 데이터를 암호화한 후 모뎀을 통해 변조하여 무선 전송하며, 수신부는 수신 데이터를 복조 후 복호화 하여 데이터를 복원 처리하는 것이 일반적이다.
이때 데이터의 암호화는 데이터 링크에서 변복조를 수행하는 모뎀부인 데이터 처리부에 내장되어 구현되거나, 외부의 별도로 존재하는 암호 장치와 인터페이스 되어 송수신 데이터를 암호화/복호화하게 된다. 또한 UAV의 일반적인 암호키 운영 방식은 암호키를 데이터 링크를 제어하는 제어장치 또는 외부의 저장매체로부터 전송받아 UAV 내부에 저장하고, UAV와 제어국 또는 무선국이 동일한 키를 사용하는 대칭 키 방식이 일반적이다.
일반적으로 UAV의 데이터 링크의 송수신 데이터는 지상 관제 시스템으로부터의 UAV원격명령(Tele-Command)(TC), 상태측정(Telemetry)(TM) 또는 관측 영상 정보들이다. 특히 TC/TM 데이터들은 체계 규격 내에서 일정한 패턴으로 반복되는 형태를 가지므로, 제3자가 무선상에서 반복적으로 송수신 되는 데이터를 수집 또는 관찰할 경우 원본 데이터를 추측하거나 추정할 수 있는 가능성이 매우 높다.
종래의 일반적인 UAV 데이터 링크 보안구조는 송수신 데이터의 특성, 암호화 적용 방식, 키 관리 구조 관점에서 높은 측면의 보안성을 유지하기가 어렵다.
이에 더하여, 고도화된 암호화 방법은 암호화 과정에서 전력 소모량이 많아 UAV의 비행시간에 치명적이라는 문제점을 가진다.
본 발명의 일 실시예는 이동장치 운용 중 암호화에 소비되는 전력량을 줄일 수 있도록 고안된 저전력 암호화 방법 및 암호화 시스템을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 위와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명은 전술한 목적을 달성하기 위한 것으로, 본 발명의 일 실시예에 따른 암호화 방법은 이동장치와 중계기 간에 데이터 링크 연결 단계, 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 단계, 암호화 블럭을 저장하는 단계를 진행하고, 이동장치가 운용 중이라고 판단되면, 획득한 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계, 평문 블럭을 암호화하는 단계를 포함한다.
본 발명에 따른 암호화 방법 및 암호화 시스템은 이동장치 운행 중 획득한 데이터를 저전력으로 암호화하여 이동장치의 운행시간을 늘리면서도 높은 보안성을 가지도록 할 수 있다.
도 1은 종래의 CTR 암호화 방법을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 암호화 시스템의 운용 환경을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 암호화 시스템의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 암호화 블럭 생성부 및 저장부의 동작을 설명하기 위한 도면이다.
도 5는 암호화부의 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 암호화 시스템의 복호화 과정을 도시한 도면이다.
도 7은 본 발명에 따른 장치의 암호화 방법을 나타낸 순서도이다.
본 발명의 일 실시예에 따른 암호화 방법은 이동장치와 중계기 간에 데이터 링크 연결 단계, 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 단계, 암호화 블럭을 저장하는 단계를 진행하고, 이동장치가 운용 중이라고 판단되면, 획득한 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계, 평문 블럭을 암호화하는 단계를 포함한다.
본 출원의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 출원은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다.
명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명하며, 이에 대한 중복되는 설명은 생략하기로 한다.
본 출원과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 출원의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 이하의 실시예에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타낸 것으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 프로세스의 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 프로세스가 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
이하의 실시예에서, 구성 요소 등이 연결되었다고 할 때, 구성 요소들이 직접적으로 연결된 경우뿐만 아니라 구성요소들 중간에 구성 요소들이 개재되어 간접적으로 연결된 경우도 포함한다.
예컨대, 본 명세서에서 구성 요소 등이 전기적으로 연결되었다고 할 때, 구성 요소 등이 직접 전기적으로 연결된 경우뿐만 아니라, 그 중간에 구성 요소 등이 개재되어 간접적으로 전기적 연결된 경우도 포함한다.
본 명세서에서 '이동장치'란 이동하면서 통신하는 모든 기기를 의미하며, 구체적으로는 이륜차, 승용차, 승합차, 특수차, 농기계, 도심 항공 모빌리티 및 드론, 로봇을 포함하는 개념이다. 또한, 이러한 이동장치는 암호화 시스템을 포함하며, 획득된 데이터를 암호화하여 송신하거나, 암호화된 데이터를 수신하여 복호화하는 과정을 필요로 한다.
도 1은 종래의 카운터 모드(CTR)로 불리는 암호화 알고리즘을 도시화한 도면이다. 도 1을 참조하면, 카운터 모드는 비표(nonce) 및 카운터(counter) 값을 사용할 수 있도록 구성된다. 비표(nonce)는 키 교환 과정에서 통신 장치간 주고받는 랜덤값을 의미한다. 일반 적인 경우 비표(nonce) 및 카운터(counter)는 각각 96비트 및 32비트로 설정된다. 비표(nonce)는 암호화 블럭 스트림(key stream) 생성 시 동일하게 유지되나, 카운터는 개별 키 스트림(key stream)마다 다른 값을 사용한다. 일반적으로, 카운터는 키 스트림마다 1씩 증가시킨 값을 사용한다.
이하에서는 이 발명의 실시 예에 대하여 첨부된 도면을 참조하면서 더욱 구체적으로 설명하기로 한다.
본 발명에 따른 암호화 시스템은 이동장치가 충전 중일 때 또는 데이터 링크 연결 시 카운터 기반 데이터를 암호화하여 저장하고, 이동장치가 실제 운용 중일 때, 획득된 데이터를 미리 생성된 암호화 블럭과 간단한 연산을 통해 암호화를 진행하도록 하여 이동장치가 운용 중일 때 전력소모를 최소화할 수 있도록 고안되었다. 본 발명은 특히 드론, 전기차, 로봇과 같이 이동 중 전력 소모를 최소화해야 하는 이동장치에서 특히 유용할 것으로 보인다.
도 2는 본 발명의 일 실시예에 따른 암호화 시스템의 운용 환경을 설명하기 위한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 이동장치의 암호화 시스템은 통제 시스템과 유선 또는 무선 통신망으로 연결된다. 이동장치의 암호화 시스템은 통제 시스템과 키 교환을 하거나, 통제 시스템으로부터 암호화된 데이터를 수신하여 복호화할 수 있으며, 외부에서 획득된 데이터, 이동장치에서 생성된 데이터 또는 미리 저장되어 있던 데이터를 암호화하여 통제 시스템에 송신할 수 있다.
도 3은 본 발명의 일 실시예에 따른 암호화 시스템의 구성을 설명하기 위한 도면이다. 도 3을 참조하면, 본 발명의 암호화 시스템(100)은, 통신부(110), 판단부(120), 데이터 획득부(130), 암호화 블럭 생성부(140), 저장부(150), 암호화부(160), 태그부(170)를 포함할 수 있다.
암호화 시스템(100)은 통신부(110)를 통해 통제 시스템 또는 다른 암호화 시스템과 통신을 수행할 수 있다. 통신부(110)는 네트워크에 접속하여 각종 데이터를 송수신할 수 있다. 통신부(110)는 크게 유선 타입과 무선 타입을 포함할 수 있다. 유선 타입과 무선 타입은 각각의 장단점을 가지므로, 경우에 따라서 암호화 시스템(100)에는 유선 타입과 무선 타입이 동시에 마련될 수도 있다. 여기서, 무선 타입의 경우에는 주로 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식을 이용할 수 있다. 또는, 무선 타입의 경우에는 셀룰러 통신, 예컨대, LTE, 5G, 6G 계열의 통신 방식을 이용할 수 있다. 다만, 무선 통신 프로토콜이 상술한 예시에 제한되는 것은 아니며, 임의의 적절한 무선 타입의 통신 방식을 이용하는 것도 가능하다. 유선 타입의 경우에는 LAN(Local Area Network)이나 USB(Universal Serial Bus) 통신이 대표적인 예이며 그 외의 다른 방식도 가능하다.
암호화 시스템(100)은, 통신부(110)를 통해, 통제 시스템(300-n)으로부터 암호화된 이동장치 제어 정보를 획득할 수 있다. 또한, 암호화 시스템(100)은, 통신부(110)를 통해, 다른 이동장치의 암호화 시스템(100-n)과 통신할 수 있으며, 암호화된 다른 이동장치의 위치 정보, 이동 정보 등을 획득할 수 있다. 또한, 암호화 시스템(100)은, 통신부(110)를 통해, 통제 시스템(300-n)에 암호화된 이동장치 위치 정보, 이동 정보, 획득 정보를 송신할 수 있으며, 다른 이동장치의 암호화 시스템(100-n)에 암호화된 이동장치 위치 정보, 이동 정보, 획득 정보를 송신할 수 있다.
암호화 시스템(100)의 판단부(120)는 암호화 시스템(100) 혹은 이동장치가 운용 중인지 여부를 판단한다. 본 발명의 또 다른 실시예에 따르면 암호화 시스템(100)의 판단부(120)는 암호화 시스템(100) 혹은 이동장치가 충전 중인지 여부를 판단한다. 본 발명의 일 실시예에 따르면, 암호화 시스템 혹은 이동장치가 운용 중인지 여부에 따라 암호화 시스템의 동작이 달라지는 바, 판단부(120)는 암호화 시스템 혹은 이동장치의 충전 여부 또는 운용 여부를 판단할 수 있다. 판단부(120)는 암호화 시스템 혹은 이동장치의 충전 여부 또는 운용 여부를 물리적 방식으로 판단하거나, 비물리적 방식으로 판단할 수 있다.
암호화 시스템(100)의 데이터 획득부(130)는 암호화대상 데이터를 획득한다. 보다 구체적으로, 데이터 획득부(130)는 라이다, GPS센서, 속도계 등을 포함하는 다양한 센서, 카메라, 적외선 카메라 등 다양한 측정 장치를 포함할 수 있다. 본 발명의 구체적 일 실시예에 따르면, 데이터 획득부(130)는 카메라, 라이더 센서 등을 통해 암호화 시스템 주변 영상 및 이미지 정보를 획득할 수 있다. 또한, 데이터 획득부(130)는 GPS 센서, 속도계 등을 이용하여 이동장치의 이동 정보, 위치 정보 등을 획득할 수 있다. 즉, 데이터 획득부(130)는 다양한 종류의 센서를 통해 암호화대상 데이터를 획득할 수 있다. 이에 더하여, 데이터 획득부(130)는 저장부(150)에 미리 저장된 암호화대상 데이터를 획득할 수 있다. 즉 암호화대상 데이터는 데이터 획득부를 통해 외부에서 획득된 데이터와 저장부(150)에 미리 저장되어 있는 데이터를 포함한다.
도 4는 본 발명의 일 실시예에 따른 암호화 블럭 생성부(140) 및 저장부(150)의 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 암호화 블럭 생성부(140)는 이동장치가 데이터 링크에 연결되면 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성할 수 있다.
암호화 시스템(100)의 암호화 블럭 생성부(140)는 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성한다. 보다 구체적으로, 암호화 블럭 생성부(140)에 입력되는 카운터 스트림이란 비표(nonce)와 카운터(counter)가 병합된 값을 의미한다. 비표(nonce)는 암호화 시스템과 통제 시스템이 키 교환 과정에서 주고받는 랜덤 값을 의미하며, 카운터(counter)는 비트 크기에 맞춰 1부터 순차적으로 커지는 숫자를 의미한다. 암호화 블럭 생성부(140)는 카운터 스트림과 키를 암호화함으로써 생성되는 암호화 블럭의 값이 모두 다른 값을 가지도록 할 수 있다. 암호화 블럭 생성부(140)는 블럭 암호 엔진을 이용하여 카운터 스트림을 암호화할 수 있다.
또 다른 실시예에 따르면, 암호화 블럭 생성부(140)는 판단부(120)에 의해 이동장치가 충전 중인 것으로 판단되는 경우 암호화 블럭을 생성할 수 있다.
암호화 시스템(100)의 저장부(150)는 암호화 블럭 생성부(140)를 통해 생성된 하나 이상의 암호화 블럭을 벡터 어레이로 저장하기 위한 구성을 의미한다. 저장부(150)는 암호화 블럭을 벡터 어레이로 저장하여 향후 암호화 블럭을 선택하는 속도를 보다 향상시킬 수 있도록 한다.
도 5는 암호화부(160)의 동작을 설명하기 위한 도면이다.
암호화 시스템(100)의 암호화부(160)는 획득한 데이터를 암호화하기 위한 구성이다. 보다 구체적으로 암호화부(160)는 데이터 획득부(130)로부터 획득된 데이터를 암호화할 수 있다.
암호화부(160)는 데이터 획득부(130)에서 획득된 데이터를 일정한 크기로 분할할 수 있다. 필요에 따라, 암호화부(160)는 획득된 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할할 수 있다. 본 발명의 일 실시예에 따르면, 암호화부(160)는 획득된 데이터를 n 개의 평문 블럭으로 분할할 수 있으며, 평문 블럭을 암호화하는 단계를 n번 반복하여 n개의 평문 블럭 모두를 암호화할 수 있다(n은 정수).
암호화부(160)는 임의의 초기 벡터(IV)를 생성할 수 있으며, 이를 이용하여 데이터를 암호화할 수 있다. 암호화부(160)는 임의의 초기 벡터를 사용하여 데이터를 암호화함으로써 동일한 내용의 데이터가 서로 다른 패킷으로 암호화되어 전송되는 경우, 서로 다른 값을 가지도록 함으로써 암호화 시스템의 보안성을 향상시킬 수 있다. 도 5를 참조하면, 암호화부(160)는 임의의 초기 벡터를 생성하고, 초기 벡터를 카운터와 병합한 값을 키와 암호화하여 제1 초기 카운터 블럭 및 제2 초기 카운터 블럭을 획득할 수 있다.
보다 구체적으로, 암호화부(160)는 초기벡터와 카운터(00000001)와 병합한 값을 키와 암호화하여 제1 초기 카운터 블럭을 획득하고, 초기벡터와 카운터(00000002)와 병합한 값을 키와 암호화하여 제2 초기 카운터 블럭을 획득할 수 있다. 즉, 암호화부(160)는 초기벡터와 서로 다른 두 개의 카운터를 병합한 값을 각각 키와 암호화하여 제1 초기 카운터 블럭 및 제2 초기 카운터 블럭을 획득할 수 있다.
이때 암호화부(160)는 블럭 암호 엔진을 이용하여 암호화를 진행할 수 있다. 복수개의 초기 카운터 블럭을 제작하는 이유는 암호화의 복잡성을 높이기 위함이다. 필요에 따라, 암호화부는 3개 이상의 초기 카운터 블럭을 획득할 수 있다.
암호화부(160)는 제1 초기 카운터 블럭을 이용하여 저장된 암호화 블럭 중 하나를 선택하고, 이를 평문 블럭과 연산해 평문 블럭을 암호화할 수 있다.
보다 구체적으로 암호화부(160)는 제1 초기 카운터 블럭을 이용하여 저장부에 저장된 암호화 블럭 중 하나를 선택할 수 있다. 암호화부(160)는 선택된 암호화 블럭과 제2 초기 카운터 블럭을 연산한 값을 평문 블럭과 연산해 평문 블럭을 암호화할 수 있다. 필요에 따라, 암호화부에서 행해지는 연산은 XOR 연산일 수 있다.
암호화부(160)는 복수개의 평문 블럭을 암호화할 수 있다. 보다 구체적으로, 암호화부(160)는 제1 초기 카운터 블럭을 이용하여 저장된 암호화 블럭 중 하나를 선택할 수 있으며, 이를 제1 암호화 블럭이라고 한다. 암호화부(160)는 제1 암호화 블럭을 제2 초기 카운터 블럭과 제1 연산하고, 제1 연산 값을 제1 평문 블럭과 연산해 제1 평문 블럭을 암호화할 수 있다.
암호화부(160)는 암호화된 제1 평문 블럭을 이용하여 저장된 암호화 블럭 중 하나를 선택할 수 있으며, 이를 제2 암호화 블럭이라고 한다. 암호화부(160)는 제2 암호화 블럭을 제2 초기 카운터 블럭과 제2 연산하고, 제2 연산 값을 제2 평문 블럭과 연산해 제2 평문 블럭을 암호화할 수 있다.
암호화부(160)는 제M 평문 블럭을 암호화할 수 있다. 암호화부(160)는 암호화된 제M-1 평문 블럭을 이용하여 저장된 암호화 블럭 중 하나를 선택할 수 있으며, 이를 제M 암호화 블럭이라 한다. 암호화부(160)는 제M 암호화 블럭을 제2 초기 카운터 블럭과 제M 연산하고, 제M 연산 값을 제M 평문 블럭과 연산해 제M 평문 블럭을 암호화할 수 있다(M은 정수, 2<M≤n).
암호화부(160)는 제1 내지 제n 연산을 할 수 있으며, 이는 XOR연산일 수 있다.
태그부(170)는 제n 평문 블럭의 암호화가 완료되면, 암호화된 데이터의 무결성을 검증하기 위해 인증 태그를 생성할 수 있다. 태그부(170)는 GCM(Galois/Counter Mode)의 일반적인 기술을 사용하여 인증 태그를 생성하는 바, 이에 대한 자세한 설명은 생략한다.
도 6은 본 발명의 일 실시예에 따른 암호화 시스템(100)의 복호화 과정을 도시한 도면이다. 암호화부(160)는 통제 시스템 혹은 다른 암호화 시스템으로부터 수신한 암호화된 네트워크 패킷을 해석하여 평문을 획득할 수 있다. 다만, 복호화 과정은 암호화 과정을 역으로 수행하여 진행되는 바, 이에 대한 자세한 설명은 생략한다.
이하에서는 본 발명의 또 다른 실시예에 따른 장치의 암호화 방법을 설명하도록 하겠다.
도 7은 본 발명에 따른 장치의 암호화 방법을 나타낸 순서도이다.
도 7을 참고하면, 장치의 암호화 방법은 이동장치의 데이터 링크 연결 단계, 키와 카운터 스트림을 암호화하여 암호화 블럭을 생성하는 단계, 암호화 블럭을 저장하는 단계를 포함하고, 이동장치가 운용 중이라고 판단되면, 획득된 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계, 평문 블럭을 암호화하는 단계를 포함할 수 있다.
UAV 등 비행 시스템에서의 데이터 링크는 지상장비와 비행체 간에 무선 데이터 통신을 통해 비행체 및 탑재 장비를 제어하고, 비행체에서 획득한 임무영상정보와 탑재 장비에 대한 상태정보를 지상으로 전송하여 각종 임무를 원활히 수행할 수 있도록 지원하는 시스템으로, 비행체 데이터통신장치, 지상중계기, 지상통제장치 데이터 통신장치로 구성될 수 있다.
이동장치의 데이터 링크 연결 단계(S2100)는 이동장치를 지상장비, 지상중계기와 통신하기 위해 연결하는 단계를 의미한다. 이는 종래 데이터 링크 연결 단계와 동일한 바, 이에 대한 자세한 설명은 생략한다.
장치는 이동장치가 데이터 링크에 연결되면, 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성(S2200)할 수 있다. 카운터 스트림은 비표(nonce)와 카운터(counter)가 병합된 값이며, 장치는 키와 카운터 스트림을 암호화하여 복수개의 암호화 블럭을 생성할 수 있다. 필요에 따라, 장치는 블럭 암호 엔진을 이용하여 키와 카운터 스트림을 암호화한 암호화 블럭을 생성할 수 있다.
암호화 블럭 저장 단계(S2300)에서, 장치는 생성된 적어도 하나 이상의 암호화 블럭을 벡터 어레이로 저장할 수 있다. 장치는 이동장치가 데이터 링크에 연결되면 암호화과정에 중 전력 소모가 높은 단계를 미리 실행해 둠으로써, 향후 전력 소모를 줄일 수 있다. 장치는 암호화 블럭을 벡터화하여 저장함으로써 이어지는 단계에서 암호화 블럭의 선택 속도를 향상시킬 수 있다.
필요에 따라, 장치는 이동장치가 운용 중인 것으로 판단되는 경우, 암호화대상 데이터를 획득(S3100)할 수 있다. 보다 구체적으로 장치는 GPS센서, 속도계 등을 포함하는 다양한 센서, 측정 장치, 카메라 등을 포함할 수 있으며, 이들로부터 다양한 형태의 데이터를 획득할 수 있다. 또한, 장치는 저장부에 저장되어 있는 암호화대상 데이터를 획득할 수 있다. 즉, 암호화대상 데이터는 장치가 외부로부터 획득한 데이터 및 저장부에 미리 저장되어 있는 데이터를 모두 포함한다.
장치는, 이동장치가 운용 중이라고 판단되면, 획득된 데이터를 암호화할 수 있다. 보다 구체적으로, 장치는 획득된 데이터를 분할하는 단계(S3200) 및 평문 블럭을 암호화하는 단계(S3300)를 통해 데이터를 암호화할 수 있다.
획득된 데이터 분할 단계에서, 장치는 획득한 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할할 수 있다. 보다 구체적으로, 장치는 획득한 데이터 중 전송하려는 데이터를 포함하는 부분만을 선택하여 암호화 블럭과 동일한 크기의 평문 블럭으로 분할할 수 있다. 장치는 획득된 데이터 중 특정 센서로부터 획득된 데이터만을 추출하여 분할하거나, 특정 시간에 획득된 데이터만을 추출하여 분할하여 평문 블럭을 획득할 수 있다.
암호화 단계에서, 장치는 임의의 초기 벡터(IV) 값을 생성할 수 있다. 장치는 초기 벡터를 카운터와 병합한 값을 키와 암호화하여 초기 카운터 블럭을 생성할 수 있다. 이때, 장치는 블럭 암호 엔진을 이용하여 암호화를 실시할 수 있다. 필요에 따라, 장치는 적어도 하나 이상의 초기 카운터 블럭을 생성할 수 있다. 장치는 제1 초기 카운터 블럭을 이용하여 암호화 블럭 중 하나를 선택하고, 이를 평문 블럭과 연산해 평문 블럭을 암호화할 수 있다.
본 발명에 따르면, 장치가 생성하는 초기 카운터 블럭의 개수가 증가할수록 암호화 시스템은 더 우수한 보안성을 가질 수 있는 반면, 암호화에 사용되는 전력 사용량은 증가하게 되는 바, 필요에 따라 초기 카운터 블럭의 개수를 적절하게 선택할 수 있다.
본 발명의 구체적 일 실시예에 따르면, 장치는 임의의 초기 벡터(IV)를 암호화하여 제1 초기 카운터 블럭 및 제2 초기 카운터 블럭, 즉, 2개의 초기 카운터 블럭을 획득할 수 있다.
장치는 복수의 평문 블럭을 암호화할 수 있다.
2개의 평문 블럭을 암호화하는 방법은 다음과 같다.
평문 블럭을 암호화하는 단계에서, 장치는, 초기 벡터(IV)를 카운터와 병합한 값을 키와 암호화하여 제1 초기 카운터 블럭 및 제2 초기 카운터 블럭을 획득하고, 제1 초기 카운터 블럭을 이용하여 제1 암호화 블럭을 선택할 수 있다. 장치는 제1 암호화 블럭을 제2 초기 카운터 블럭과 제1 연산하고, 제1 연산 값을 제1 평문 블럭과 연산해 제1 평문 블럭을 암호화할 수 있다.
장치는 암호화된 제1 평문 블럭을 이용하여 제2 암호화 블럭을 선택하고, 제2 암호화 블럭을 제2 초기 카운터 블럭과 제2 연산하고, 제2 연산 값을 제2 평문 블럭과 연산해 제2 평문 블럭을 암호화할 수 있다.
장치는 암호화 단계에서, 연산단계 및 암호화 단계를 반복하여 수행할 수 있다. 보다 구체적으로, 장치는 제M 평문 블럭을 암호화할 수 있다(2<M≤n, M,n은 정수).
장치는 암호화된 제M-1 평문 블럭을 이용하여 제M 암호화 블럭을 선택하고, 이를 제2 초기 카운터 블럭과 제M 연산하고, 제M 연산 값을 제M 평문 블럭과 연산해 제M 평문 블럭을 암호화할 수 있다. 이 때 연산은 XOR연산일 수 있다.
장치는 연산과 암호화를 반복하여 평문 블럭을 암호화할 수 있다. 장치는 연산과 암호화 단계를 분할된 평문 블럭의 수만큼 반복하여 획득된 데이터 전체를 암호화할 수 있다.
장치는 데이터 전체가 암호화된 경우, 새로운 데이터를 획득하거나, 암호화를 종료할 수 있다. 장치는 새로운 데이터가 획득되는 경우, 새로운 임의의 초기 벡터 값을 생성하고, 데이터 획득 단계부터 반복적으로 암호화 단계를 진행할 수 있다.
*본 발명의 또 다른 실시예에 따르면, 장치의 암호화 방법은 이동장치가 충전 중인지 판단하는 단계, 이동장치가 충전 중이라고 판단되면, 키와 카운터 스트림을 암호화하여 암호화 블럭을 생성하는 단계, 암호화 블럭을 저장하는 단계를 포함하고, 이동장치가 충전 중이 아니라고 판단되면, 데이터 획득 단계, 획득된 데이터를 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계, 평문 블럭을 암호화하는 단계를 포함할 수 있다.
이동장치가 충전 중인지 판단하는 단계에서, 장치는 이동장치가 충전 중인지 판단할 수 있다. 장치는 이동장치에 외부로부터 전력이 공급되는지 여부를 물리적 혹은 비물리적인 방법에 의해 판단할 수 있다. 이하 단계는 동일한 바, 이에 대한 자세한 설명은 생략한다.
본 발명의 또 다른 실시예에 따르면, 본 발명은 이상 설명된 암호화 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 암호화 프로그램을 포함할 수 있다.
본 발명에 따른 암호화 시스템 및 암호화 방법은 장치가 데이터 링크 연결 시, 전력 사용량이 높은 프로세스를 진행하도록 하고, 장치가 운용 중일 때에는 간단한 연산만을 진행하도록 하여 이동장치 운행 중 전력 소모를 줄일 수 있도록 하였으며, 높은 수준의 보안성을 유지할 수 있도록 하였다.
이상에서 실시 형태들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 형태에 포함되며, 반드시 하나의 실시 형태에만 한정되는 것은 아니다. 나아가, 각 실시 형태에서 예시된 특징, 구조, 효과 등은 실시 형태들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 형태들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 형태를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 형태의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 즉, 실시 형태에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (16)

  1. 암호화 방법에 있어서,
    이동장치의 데이터 링크 연결 단계;
    키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 단계;
    상기 암호화 블럭을 저장하는 단계;
    이동장치가 운용 중인지 판단하는 단계;
    운용 중이라고 판단되는 경우, 암호화대상 데이터를 상기 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계;
    상기 평문 블럭을 암호화하는 단계;를 포함하는,
    암호화 방법.
  2. 제1 항에 있어서,
    상기 평문 블럭을 암호화하는 단계는,
    임의의 초기 벡터(IV)를 생성하는 단계;
    상기 초기 벡터를 카운터와 병합한 값을 상기 키와 암호화하여 제1 초기 카운터 블럭을 생성하는 단계;
    상기 제1 초기 카운터 블럭을 이용하여 상기 저장된 암호화 블럭 중 하나를 선택하는 단계;
    선택된 상기 암호화 블럭을 상기 평문 블럭과 연산해 평문 블럭을 암호화하는 단계;를 포함하는,
    암호화 방법.
  3. 제1 항에 있어서,
    이동장치가 충전 중인지 판단하는 단계;를 더 포함하고,
    이동장치가 충전 중이라고 판단되면,
    키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 단계;
    상기 암호화 블럭을 저장하는 단계;를 진행하고,
    이동장치가 충전 중이 아니라고 판단되면,
    암호화대상 데이터를 획득하는 단계;
    상기 획득된 데이터를 상기 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하는 단계;
    평문 블럭을 암호화하는 단계;를 포함하는,
    암호화 방법.
  4. 제2 항에 있어서,
    상기 평문 블럭을 암호화하는 단계는,
    상기 초기 벡터(IV)를 카운터와 병합한 값을 상기 키와 암호화하여 제1 초기 카운터 블럭 및 제2 초기 카운터 블럭을 획득하는 단계;
    상기 제1 초기 카운터 블럭을 이용하여 제1 암호화 블럭을 선택하는 단계;
    상기 제1 암호화 블럭을 제2 초기 카운터 블럭과 연산하는 제1 연산단계;
    상기 제1 연산 값을 제1 평문 블럭과 연산해 제1 평문 블럭을 암호화하는 단계;
    상기 암호화된 제1 평문 블럭을 이용하여 제2 암호화 블럭을 선택하는 단계;
    상기 제2 암호화 블럭을 상기 제2 초기 카운터 블럭과 연산하는 제2 연산단계;
    상기 제2 연산 값을 상기 제2 평문 블럭과 연산해 제2 평문 블럭을 암호화하는 단계;를 포함하는 암호화 방법.
  5. 제4 항에 있어서,
    상기 분할 단계는,
    상기 획득된 데이터를 상기 암호화 블럭과 동일한 크기의 n개의 평문 블럭으로 분할하는 단계를 포함하고,
    상기 평문 블럭을 암호화하는 단계는,
    제M 평문 블럭을 암호화하는 단계를 포함하며,
    상기 제M 평문 블럭을 암호화하는 단계는,
    상기 암호화된 제M-1 평문 블럭을 이용하여 제M 암호화 블럭을 선택하는 단계;
    상기 제M 암호화 블럭을 상기 제2 초기 카운터 블럭과 연산하는 제M 연산단계;
    상기 제M 연산 값을 상기 제M 평문 블럭과 연산해 제M 평문 블럭을 암호화하는 단계(2<M≤n, M,n은 정수);
    를 포함하는 암호화 방법.
  6. 제5 항에 있어서,
    암호화된 데이터의 무결성을 검증하기 위해 인증 태그를 생성하는 단계;를 더 포함하는,
    암호화 방법.
  7. 제6 항에 있어서,
    상기 암호화 블럭 생성 단계는,
    블럭 암호 엔진을 이용하여 상기 암호화 블럭을 생성하는,
    암호화 방법.
  8. 제7 항에 있어서,
    상기 연산은,
    XOR 연산인 것을 특징으로 하는,
    암호화 방법.
  9. 암호화를 수행하는 암호화 시스템으로서,
    네트워크를 통해 데이터를 송수신하는 통신부(110);
    이동장치의 운용 중인지 여부를 판단하는 판단부(120);
    외부로부터 데이터를 획득하는 데이터 획득부(130);
    상기 이동장치의 데이터 링크 연결 시, 키와 카운터 스트림을 암호화하여 적어도 하나 이상의 암호화 블럭을 생성하는 암호화 블럭 생성부(140);
    상기 암호화 블럭을 저장하는 저장부(150);
    상기 판단부(120)에 의해 상기 이동장치가 운용 중인 것으로 판단되는 경우,
    상기 데이터 획득부(130)를 통해 획득한 데이터를 암호화하는 암호화부(160);를 포함하는,
    암호화 시스템.
  10. 제8 항에 있어서,
    상기 암호화부(160)는,
    상기 획득한 데이터를 상기 암호화 블럭과 동일한 크기의 평문 블럭으로 분할하고,
    임의로 생성한 초기 벡터(IV)를 카운터와 병합한 값을 키와 암호화하여 제1 초기카운터 블럭과 제2 초기 카운터 블럭을 획득하고,
    상기 제1 초기 카운터 블럭을 이용하여 상기 저장부(150)에 저장된 상기 암호화 블럭 중 하나를 선택하고,
    상기 제2 초기 카운터 블럭과 선택된 암호화 블럭을 연산한 값을 상기 평문 블럭과 연산해 상기 평문 블럭을 암호화하는 것을 특징으로 하는,
    암호화 시스템.
  11. 제10 항에 있어서,
    상기 암호화부(160)는,
    상기 제1 초기 카운터 블럭을 이용하여 제1 암호화 블럭을 선택하고, 상기 제1 암호화 블럭을 제2 초기 카운터 블럭과 제1 연산하고, 제1 연산 값을 제1 평문 블럭과 연산해 제1 평문 블럭을 암호화고,
    상기 암호화된 제1 평문 블럭을 이용하여 상기 암호화 블럭 중 하나를 선택하고, 이를 상기 제2 초기 카운터 블럭과 제2 연산하고, 제2 연산 값을 상기 제2 평문 블럭과 연산해 제2 평문 블럭을 암호화하는,
    암호화 시스템.
  12. 제11 항에 있어서,
    상기 암호화부(160)는,
    상기 데이터 획득부(130)를 통해 획득된 데이터를 일정한 크기로 분할하여 n개의 평문 블럭을 생성하고,
    상기 암호화된 제M-1 평문 블럭을 이용하여 제M 암호화 블럭을 선택하고, 상기 제M 암호화 블럭을 상기 제2 초기 카운터 블럭과 제M 연산하고, 제M 연산 값을 상기 제M 평문 블럭과 연산해 제M 평문 블럭을 암호화하는(2<M≤n, M,n은 정수),
    암호화 시스템.
  13. 제12 항에 있어서,
    상기 연산은,
    XOR 연산인 것을 특징으로 하는,
    암호화 시스템.
  14. 제13 항에 있어서,
    상기 암호화 블럭 생성부(140)는,
    블럭 암호 엔진을 이용하여 카운터 스트림을 암호화하는 것을 특징으로 하는,
    암호화 시스템.
  15. 제14 항에 있어서,
    암호화된 데이터의 무결성을 검증하기 위해 인증 태그를 생성하는 태그부(170);를 더 포함하는,
    암호화 시스템.
  16. 제1 항 내지 제8 항의 방법 중 어느 하나의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 암호화 프로그램.
PCT/KR2023/012468 2022-10-25 2023-08-23 저전력 암호화 방법 및 시스템 WO2024090760A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2023-0059538 2022-10-25
KR10-2022-0138193 2022-10-25
KR1020220138193A KR102531876B1 (ko) 2022-10-25 2022-10-25 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템
KR1020230059538A KR20240057966A (ko) 2022-10-25 2023-05-09 저전력 암호화 방법 및 시스템

Publications (1)

Publication Number Publication Date
WO2024090760A1 true WO2024090760A1 (ko) 2024-05-02

Family

ID=90832133

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/012468 WO2024090760A1 (ko) 2022-10-25 2023-08-23 저전력 암호화 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR20240057966A (ko)
WO (1) WO2024090760A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369748B1 (ko) * 2006-12-04 2014-03-06 삼성전자주식회사 데이터 암호화 방법 및 그 장치
KR101414186B1 (ko) * 2014-03-27 2014-07-01 주식회사 삼문시스템 실시간 데이터 유출 방지 방법
KR101725127B1 (ko) * 2012-12-14 2017-04-27 한국전자통신연구원 아리아 암복호화 장치 및 방법
KR20180113288A (ko) * 2017-04-06 2018-10-16 상명대학교산학협력단 Iot 응용에 최적화된 인증 암호 장치 및 방법
KR102029883B1 (ko) * 2018-01-15 2019-10-10 동국대학교 산학협력단 드론을 이용한 블랙박스 서비스 방법 및 이를 수행하기 위한 장치와 시스템
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369748B1 (ko) * 2006-12-04 2014-03-06 삼성전자주식회사 데이터 암호화 방법 및 그 장치
KR101725127B1 (ko) * 2012-12-14 2017-04-27 한국전자통신연구원 아리아 암복호화 장치 및 방법
KR101414186B1 (ko) * 2014-03-27 2014-07-01 주식회사 삼문시스템 실시간 데이터 유출 방지 방법
KR20180113288A (ko) * 2017-04-06 2018-10-16 상명대학교산학협력단 Iot 응용에 최적화된 인증 암호 장치 및 방법
KR102029883B1 (ko) * 2018-01-15 2019-10-10 동국대학교 산학협력단 드론을 이용한 블랙박스 서비스 방법 및 이를 수행하기 위한 장치와 시스템
KR102531876B1 (ko) * 2022-10-25 2023-05-12 주식회사 쿼드마이너 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템

Also Published As

Publication number Publication date
KR20240057966A (ko) 2024-05-03

Similar Documents

Publication Publication Date Title
Allouch et al. MAVSec: Securing the MAVLink protocol for ardupilot/PX4 unmanned aerial systems
CN101103586B (zh) 在通信系统中加密/解密信号的装置和方法
CN104994112A (zh) 一种无人机与地面站通信数据链加密的方法
WO2016068655A1 (en) Method of performing device to device communication between user equipments
CN107204847B (zh) 空天车地轨道专用网络接入认证与密钥协商系统和方法
US20170019376A1 (en) Data Encryption and Authentication Using a Mixing Function in a Communication System
US11297496B2 (en) Encryption and decryption of management frames
KR102531876B1 (ko) 무인 무기체계 보안 통신을 위한 지능형 스마트 저전력 암호화 방법 및 시스템
Ismael Authentication and encryption drone communication by using HIGHT lightweight algorithm
WO2024090760A1 (ko) 저전력 암호화 방법 및 시스템
Islam et al. An expedite group key establishment protocol for Flying Ad-Hoc Network (FANET)
KR102087498B1 (ko) Lte 기반의 군집 무인항공시스템의 영상데이터 고속 암호화 방법
Cecchinato et al. A Secure Real-time Multimedia Streaming through Robust and Lightweight AES Encryption in UAV Networks for Operational Scenarios in Military Domain
Banu et al. Secure communication in wireless sensor networks using AES algorithm with delay efficient sleep scheduling
CN114786151A (zh) 一种基于空地通信的多路径端到端传输系统及应用方法
US8429729B1 (en) Secure wireless network setup using multicast packets
CN113645616A (zh) 一种适用于wban数据实时加密传输的超轻量级加密方法
Courtney et al. Implementation of secure 6LoWPAN communications for tactical wireless sensor networks
KR101918976B1 (ko) 클라우드 보안 시스템
Rotta et al. Secure Multi-hop Telemetry Broadcasts for UAV Swarm Communication
KR20180120287A (ko) 가디언모듈을 이용한 해킹 프리 드론 통신 시스템
Tsou et al. A High-security Internet of Drones Design by Integrating Physical-layer Key Generation and Blockchain
US10271215B1 (en) Management frame encryption and decryption
CN117811840B (zh) 多网络靶场协同的数据传输方法、装置、设备及介质
KR20180109651A (ko) Otp 양자난수를 이용한 클라우드 보안 시스템