KR101590351B1 - Distributed network protocol based data transmission apparatus and data encryption method thereof - Google Patents
Distributed network protocol based data transmission apparatus and data encryption method thereof Download PDFInfo
- Publication number
- KR101590351B1 KR101590351B1 KR1020150085315A KR20150085315A KR101590351B1 KR 101590351 B1 KR101590351 B1 KR 101590351B1 KR 1020150085315 A KR1020150085315 A KR 1020150085315A KR 20150085315 A KR20150085315 A KR 20150085315A KR 101590351 B1 KR101590351 B1 KR 101590351B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- message
- field
- crc
- shift operation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
본 발명의 실시예들은 분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치로 데이터를 전송할 때, 해당 데이터에 대한 보안을 강화하기 위한 암호화 기법에 대한 기술과 관련된다.Embodiments of the present invention relate to a technique for an encryption technique for enhancing security for a data transmission apparatus based on a distributed network protocol when transmitting data to a data reception apparatus.
최근 전력망에 IT를 접목하는 형태인 스마트 그리드(Smart Grid)가 활성화되어감에 따라, 전력망의 핵심 요소 중 하나인 SCADA(Supervisory Control and Data Acquisition) 시스템도 점차 기존의 폐쇄 형태가 아닌 개방형으로 변화해가고 있다.Recently, as the Smart Grid, which is a form of applying IT to the power grid, has been activated, the SCADA (Supervisory Control and Data Acquisition) system, which is one of the key elements of the power grid, It is going.
이에 따라 기존에 많은 취약점을 가지고 있었던 SCADA 시스템에 대한 보안 연구가 활발히 진행되고 있다. SCADA 시스템과 같은 제어 시스템에서는 데이터 전송 장치와 데이터 수신 장치 간의 데이터 송수신을 위한 프로토콜로 분산 네트워크 프로토콜(Distributed Network Protocol: DNP3)이 표준 프로토콜로 많이 사용되고 있는데, 이러한 분산 네트워크 프로토콜을 기반으로 하는 데이터 송수신 과정에서는 해커의 침입을 방지하여 보안을 강화시킬 수 있는 기법에 대한 연구가 필요하다.As a result, security studies on SCADA systems, which had many weaknesses in the past, are being actively conducted. In a control system such as a SCADA system, a Distributed Network Protocol (DNP3) is widely used as a standard protocol for transmitting and receiving data between a data transmission device and a data reception device. In a data transmission and reception process based on the distributed network protocol There is a need for research on techniques to enhance security by preventing hacker intrusion.
분산 네트워크 프로토콜 기반의 데이터 송수신 시스템에서 송수신되는 메시지는 도 1에 도시된 바와 같이, 복수의 데이터 필드들로 구성되어 있고, 각 데이터 필드에는 상기 메시지에 대한 헤더 데이터와 유저 데이터들이 위치해 있다.As shown in FIG. 1, a message transmitted and received in a data transmission / reception system based on a distributed network protocol is composed of a plurality of data fields, and header data and user data for the message are placed in each data field.
헤더 데이터 필드(110)는 상기 메시지의 "start, length, control, destination address, source address"와 같은 헤더 데이터들이 위치해 있는 데이터 필드와 상기 헤더 데이터들의 오류 검증을 위한 헤더 CRC(Cyclic redundancy check) 코드(111)가 위치해 있는 헤더 CRC 필드로 구성되어 있고, 유저 데이터 필드(120)는 적어도 하나의 유저 데이터가 위치해 있는 데이터 필드와 상기 적어도 하나의 유저 데이터 각각의 오류 검증을 위한 유저 데이터 CRC 코드(121, 122, 123)가 위치해 있는 유저 데이터 CRC 필드로 구성되어 있다.The
분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치에 대해 상기 도 1에 도시된 형식의 메시지를 전송하게 되면, 데이터 수신 장치는 수신된 메시지를 구성하는 복수 데이터 필드들 중에서 헤더 데이터 필드(110)를 구성하는 헤더 CRC 필드 상에 위치해 있는 헤더 CRC 코드(111)를 기초로 상기 헤더 데이터들에 대한 CRC 검증을 수행하여 상기 헤더 데이터들이 데이터 전송 과정에서 오류가 발생하지는 않았는지 여부를 판단한다.When a data transmission apparatus based on a distributed network protocol transmits a message of the format shown in FIG. 1 to the data receiving apparatus, the data receiving apparatus transmits a
이와 동시에, 상기 데이터 수신 장치는 상기 수신된 메시지를 구성하는 복수 데이터 필드들 중에서 유저 데이터 필드(120)를 구성하는 유저 데이터 CRC 필드 상에 위치해 있는 유저 데이터 CRC 코드(121, 122, 123)를 기초로 상기 적어도 하나의 유저 데이터에 대한 CRC 검증을 수행하여 상기 적어도 하나의 유저 데이터가 데이터 전송 과정에서 오류가 발생하지는 않았는지 여부를 판단한다.At the same time, the data receiving apparatus receives user data CRC codes (121, 122, 123) located on a user data CRC field constituting a
이러한 방식으로 분산 네트워크 프로토콜 기반의 데이터 전송 장치와 데이터 수신 장치는 서로 메시지를 송수신할 수 있다.In this way, the data transmission apparatus based on the distributed network protocol and the data reception apparatus can send and receive messages to each other.
이때, 상기 데이터 전송 장치와 상기 데이터 수신 장치 사이에 메시지가 송수신되는 과정에서 해커 등에 의해서 상기 메시지가 노출되거나 조작되는 경우, 분산 네트워크 프로토콜 기반의 데이터 송수신 시스템은 전력망 등과 같은 사회 기반 시설 제어에 많이 활용된다는 점에서 사회적으로 많은 문제점을 일으킬 수 있다.In this case, when the message is exposed or manipulated by a hacker or the like in the process of transmitting / receiving a message between the data transmission device and the data reception device, the data transmission / reception system based on the distributed network protocol is often used for controlling the infrastructure It can cause many problems in society.
따라서, 분산 네트워크 프로토콜 기반의 데이터 전송 장치로부터 데이터 수신 장치로 메시지가 전송될 때, 상기 메시지에 대한 강력한 암호화를 수행함으로써, 상기 메시지가 해커 등에 노출될 위험성을 최소화할 수 있는 보안 기법에 대한 연구가 필요하다.Accordingly, when a message is transmitted from a data transmission apparatus based on a distributed network protocol to a data reception apparatus, a study on a security technique that minimizes the risk of exposing the message to an hacker by performing strong encryption on the message need.
본 발명은 분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치로 메시지를 전송할 때, 원본 메시지의 특정 데이터 필드에 위치해 있는 소정의 데이터에 대해 순환 시프트 연산을 수행하여 변형된 메시지를 생성한 후 상기 변형된 메시지에 대해 암호화를 수행함으로써, 데이터 송수신 과정에서 매번 다른 암호화 데이터가 랜덤하게 생성되도록 유도하여 보안을 강화할 수 있도록 한다.When a data transmission apparatus based on a distributed network protocol transmits a message to a data receiving apparatus, a cyclic shift operation is performed on predetermined data located in a specific data field of an original message to generate a modified message, Encryption is performed on the received message, so that different encryption data are randomly generated every time during data transmission and reception, thereby enhancing security.
본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치는 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된(predetermined) 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 시프트 연산부, 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 메시지 암호화부 및 상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 메시지 전송부를 포함하고, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원한다.A data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention includes at least one data field located in at least one predetermined data field among a plurality of data fields constituting an original message to be transmitted to a data receiving apparatus A shift operation unit for generating a modified message by performing a cyclic shift operation on a bit string constituting 1-bit data by a random bit unit, a message arithmetic unit for encrypting the message based on the encryption key, And a message transmission unit for transmitting the encryption message to the data reception apparatus. When the encryption message is received, the data reception apparatus decrypts the encryption message based on the decryption key corresponding to the encryption key, Restore the message, and Performs cyclic redundancy check (CRC) verification on the modified message while performing a cyclic shift operation on a bit-by-bit basis for at least one second data located in the at least one predetermined data field on the modified message, And restores the original message from the modified message.
또한, 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치는 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 - 상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임 - 중에서 적어도 하나의 선정된 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 제1 시프트 연산부, 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 제2 시프트 연산부, 상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 제3 시프트 연산부, 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 메시지 암호화부 및 상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 메시지 전송부를 포함하고, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원한다.According to another embodiment of the present invention, a data transmission apparatus based on a distributed network protocol includes a plurality of data fields constituting an original message to be transmitted to a data receiving apparatus, One byte of which is at least one of the first data field and the at least one second data field, the at least one selected data field being at least one of the first data field and the at least one second data field, And performing a cyclic shift operation on the at least one second data value located in the at least one second data field by the random byte unit A second shift operation unit for performing a cyclic shift operation, A third shift operation unit performing a cyclic shift operation on the first data value and the at least one second data value by the random byte unit to generate a modified message; And a message transmission unit for transmitting the encryption message to the data reception apparatus. The data reception apparatus may further include a decryption key corresponding to the encryption key when the encryption message is received Decrypting the encrypted message based on the decrypted message and restoring the modified message; determining at least one third data value located in the at least one first data field on the modified message and in the at least one second data field Lt; RTI ID = 0.0 > 1 < / RTI > byte And a shift operation is performed in units of one byte for each of the at least one third data value and the at least one fourth data value after completion of the first cyclic shift operation Performs a CRC check on the modified message while performing the second process, and restores the original message from the modified message.
또한, 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 단계, 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 단계 및 상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 단계를 포함하고, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원한다.According to another aspect of the present invention, there is provided a method of encrypting data in a data transmission apparatus based on a distributed network protocol, the method comprising: transmitting at least one data field including at least one data field among a plurality of data fields, Generating a modified message by performing a cyclic shift operation on a bit string constituting one piece of first data by a random bit unit, generating an encrypted message by performing encryption on the basis of the encryption key for the modified message And transmitting the encrypted message to the data receiving apparatus, wherein the data receiving apparatus decrypts the encrypted message based on the decryption key corresponding to the encryption key when the encrypted message is received, Restores the message, Performing a cyclic shift operation on a bit-by-bit basis with respect to at least one second data located in the at least one predetermined data field on the page, performing CRC verification on the modified message, .
또한, 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 - 상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임 - 중에서 적어도 하나의 선정된 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 단계, 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 단계, 상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 단계, 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 단계 및 상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 단계를 포함하고, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원한다.According to another aspect of the present invention, there is provided a method of encrypting data in a data transmission apparatus based on a distributed network protocol, comprising: a plurality of data fields constituting an original message to be transmitted to a data receiving apparatus, At least one selected data field among at least one first data field and at least one second data field among at least one selected data field among the at least one first data field, Performing a cyclic shift operation on the at least one second data value in the at least one second data field by a random byte unit; , Performing a cyclic shift operation on the at least one first Generating a modified message by cyclically shifting the data value and the at least one second data value by the random byte unit, encrypting the modified message based on the encryption key, And transmitting the encryption message to the data receiving apparatus. When the encryption message is received, the data receiving apparatus decrypts the encryption message based on the decryption key corresponding to the encryption key Wherein the modified message comprises at least one third data value located in the at least one first data field on the modified message and at least one fourth data value located in the at least one second data field, Performs a circular shift operation on the whole by 1 byte Byte shift operation for each of the at least one third data value and the at least one fourth data value after completion of the first cyclic shift operation, And restores the original message from the modified message.
본 발명은 분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치로 메시지를 전송할 때, 원본 메시지의 특정 데이터 필드에 위치해 있는 소정의 데이터에 대해 순환 시프트 연산을 수행하여 변형된 메시지를 생성한 후 상기 변형된 메시지에 대해 암호화를 수행함으로써, 데이터 송수신 과정에서 매번 다른 암호화 데이터가 랜덤하게 생성되도록 유도하여 보안을 강화할 수 있다.When a data transmission apparatus based on a distributed network protocol transmits a message to a data receiving apparatus, a cyclic shift operation is performed on predetermined data located in a specific data field of an original message to generate a modified message, By encrypting the encrypted message, it is possible to enhance security by inducing different encrypted data to be randomly generated each time during data transmission and reception.
도 1은 분산 네트워크 프로토콜 기반의 데이터 전송 장치와 데이터 수신 장치가 송수신하는 메시지의 형식을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치로 전송하는 메시지에 대한 암호화 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 구조를 도시한 도면이다.
도 5는 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치가 데이터 수신 장치로 전송하는 메시지에 대한 암호화 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법을 도시한 순서도이다.
도 7은 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법을 도시한 순서도이다.1 is a diagram for explaining a format of a message transmitted and received between a data transmission apparatus based on a distributed network protocol and a data reception apparatus.
2 is a diagram illustrating a structure of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention.
3 is a diagram for explaining a process of encrypting a message transmitted from a data transmission apparatus based on a distributed network protocol to a data reception apparatus according to an embodiment of the present invention.
4 is a diagram illustrating a structure of a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention.
5 is a diagram for explaining a process of encrypting a message transmitted from a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention to a data reception apparatus.
6 is a flowchart illustrating a data encryption method of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention.
7 is a flowchart illustrating a data encryption method of a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 구조를 도시한 도면이다.2 is a diagram illustrating a structure of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)는 시프트 연산부(211), 메시지 암호화부(212) 및 메시지 전송부(213)를 포함한다.Referring to FIG. 2, a distributed network protocol-based
시프트 연산부(211)는 데이터 수신 장치(220)로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된(predetermined) 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성한다.The
여기서, 상기 순환 시프트 연산이란 "12345"라고 하는 데이터가 있을 때, 1개 데이터 단위로 순환 시프트 연산을 수행하면 "51234", "45123", "34512", "23451", "12345"와 같이, 데이터가 한자리씩 좌측에서 우측으로 순환하여 위치를 변경하는 연산을 의미한다.Here, in the cyclic shift operation, when there is data such as "12345", if a cyclic shift operation is performed in units of one data, as in "51234", "45123", "34512", "23451", "12345" And the data is rotated from left to right by one digit to change the position.
이때, 상기 랜덤한 비트 단위만큼 순환 시프트 연산을 수행한다는 의미는 상기 적어도 하나의 제1 데이터를 구성하는 비트열이 "001100"이라고 할 때, 상기 랜덤한 비트 단위가 3비트라고 하면, 상기 "001100"은 우측 3개의 비트 값인 "100"이 좌측 상단으로 이동하여 "100001"으로 변경되는 연산을 의미한다.Here, the meaning of performing the cyclic shift operation by the random bit unit is that when the bit string constituting the at least one first data is "001100 ", and the random bit unit is 3 bits, Quot; means an operation in which " 100 ", which is the value of the right three bits, moves to the upper left corner and is changed to "100001 ".
이러한 방식으로 시프트 연산부(211)는 상기 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 상기 변형된 메시지를 생성할 수 있다.In this manner, the
메시지 암호화부(212)는 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성한다.The
메시지 전송부(213)는 상기 암호화 메시지를 상기 데이터 수신 장치로 전송한다.The
이때, 데이터 수신 장치(220)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.According to an embodiment of the present invention, the at least one predetermined data field may include a CRC field in which a CRC code for CRC verification of the original message is inserted.
이때, 데이터 수신 장치(220)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the
또한, 본 발명의 일실시예에 따르면, 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함할 수 있다.In addition, according to an embodiment of the present invention, at least one predetermined data field includes a first CRC field in which a header CRC code for header data constituting the original message is inserted and a first CRC field in which user data constituting the original message And a second CRC field into which a user data CRC code is inserted.
이때, 데이터 수신 장치(220)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the
이하에서는 도 3을 참조하여, 도 2에 도시되어 있는 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the
도 3은 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)가 데이터 수신 장치(220)로 전송하는 메시지에 대한 암호화 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of encrypting a message transmitted from a
도 3에는 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)가 데이터 수신 장치(220)로 전송할 원본 데이터의 형식이 도시되어 있다.3 shows a format of original data to be transmitted to the
도 3에 도시되어 있는 바와 같이 상기 원본 데이터는 복수의 데이터 필드들로 구성되어 있고, 각 데이터 필드에는 소정의 데이터가 위치해 있다. 도 3에서 "Start", "Len" 등과 같이 구분되어 있는 각 셀들이 데이터 필드를 의미하고, 각 데이터 필드에 기재되어 있는 숫자는 각 데이터 필드에 포함되는 데이터의 크기로 단위는 바이트이다.As shown in FIG. 3, the original data is composed of a plurality of data fields, and predetermined data is located in each data field. In FIG. 3, "Start", "Len", and so on are referred to as data fields. Numbers written in each data field indicate the size of data included in each data field.
먼저, 시프트 연산부(211)는 데이터 수신 장치(220)로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된 데이터 필드(310)에 위치해 있는 적어도 하나의 제1 데이터(320)를 추출한다.First, the
이때, 적어도 하나의 선정된 데이터 필드(310)는 도 3에 도시되어 있는 바와 같이, 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.At this time, at least one
구체적으로 적어도 하나의 선정된 데이터 필드(310)는 도 3에 도시되어 있는 바와 같이, 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드(311)와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드(312)를 포함할 수 있다.3, the at least one
도 3에 도시되어 있는 바와 같이, 상기 원본 메시지로부터 120비트(15바이트)의 크기를 갖는 적어도 하나의 제1 데이터(320)의 추출이 완료되면, 시프트 연산부(211)는 적어도 하나의 제1 데이터(320)를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 상기 원본 메시지에 대한 변형된 메시지를 생성할 수 있다.3, when the extraction of the at least one
예컨대, 적어도 하나의 제1 데이터(320)의 비트열이 "111001"이라고 하고, 상기 랜덤한 비트 단위를 "2비트"라고 하는 경우, 적어도 하나의 제1 데이터(320)에 대해 순환 시프트 연산이 수행되면, "011110"이 될 수 있다.For example, when the bit string of at least one
이러한 방식으로 시프트 연산부(211)는 적어도 하나의 제1 데이터(320)를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행함으로써, 상기 원본 메시지에 대한 변형된 메시지를 생성할 수 있다.In this manner, the
이렇게, 상기 변형된 메시지가 생성되면, 메시지 암호화부(212)는 미리 지정된 암호화 키를 기초로 상기 변형된 메시지에 대해 암호화를 수행하여 암호화 메시지를 생성하고, 메시지 전송부(213)는 상기 암호화 메시지를 데이터 수신 장치(220)로 전송할 수 있다.When the modified message is generated, the
이렇게, 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)는 데이터 수신 장치(220)로 전송할 원본 메시지를 암호화할 때, 상기 원본 메시지에 대한 암호화를 수행하기 전에 상기 원본 메시지에 포함되어 있는 소정의 데이터들의 비트열을 랜덤하게 변경한 후 상기 암호화 키를 이용하여 암호화를 수행함으로써, 상기 원본 메시지에 대해 하나의 암호화 키를 통해 암호화를 수행하더라도 메시지를 전송할 때마다 매번 다른 암호화 메시지가 생성되도록 할 수 있다. 이를 통해, 해커 등이 상기 암호화 메시지를 중간에서 가로채더라도 상기 암호화 메시지로부터 상기 원본 메시지를 손쉽게 유추하지 못하도록 지원할 수 있다.In this way, when the
전술한 방식으로 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)가 상기 암호화 메시지를 데이터 수신 장치(220)로 전송하면, 데이터 수신 장치(220)는 상기 암호화 메시지로부터 상기 원본 메시지를 정확히 복원해야 한다.When the
이를 위해, 데이터 수신 장치(220)는 상기 암호화 메시지가 수신되면, 우선 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지에 대한 복원을 수행한다.To this end, when the encryption message is received, the
그러고 나서, 데이터 수신 장치(220)는 상기 변형된 메시지 상에서 도 3에 도시된 원본 메시지 상의 적어도 하나의 선정된 데이터 필드(310)와 동일한 필드에 위치해 있는 적어도 하나의 제2 데이터를 추출할 수 있다.The
그리고, 데이터 수신 장치(220)는 상기 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.Then, the
구체적으로, 데이터 수신 장치(220)는 상기 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서, 상기 적어도 하나의 제2 데이터 중 상기 원본 메시지 상의 제1 CRC 필드(311)와 동일한 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행할 수 있다.Specifically, the
이와 동시에, 데이터 수신 장치(220)는 상기 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서, 상기 적어도 하나의 제2 데이터 중 상기 원본 메시지 상의 제2 CRC 필드(312)와 동일한 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행할 수 있다.At the same time, the
즉, 데이터 수신 장치(220)는 상기 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 다수회 수행하여 상기 변형된 메시지의 헤더 데이터와 유저 데이터에 대한 CRC 검증을 수행한 후 CRC 검증 결과, 오류가 없는 결과가 도출되었을 때의 순환 시프트 연산 결과 값을 기초로 상기 원본 메시지를 추측할 수 있다.That is, the
만약, 상기 변형된 메시지 상의 상기 적어도 하나의 제2 데이터가 5비트의 크기를 갖는 데이터라면, 데이터 수신 장치(220)는 상기 적어도 하나의 제2 데이터를 1비트씩 순환 시프트 연산시키면서 오류가 발생하지 않을 때까지 CRC 검증을 수행하여 오류가 발생하지 않을 때의 메시지를 상기 원본 메시지로 복원할 수 있고, 이 때, 데이터 수신 장치(220)는 상기 원본 메시지를 복원하기 위해, 상기 CRC 검증 과정을 최대 5회까지 수행해야 할 것이다.If the at least one second data on the modified message is data having a size of 5 bits, the
결국, 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)는 데이터 수신 장치(220)로 메시지를 전송할 때, 원본 메시지의 특정 데이터 필드에 위치해 있는 소정의 데이터에 대해 랜덤한 비트 단위로 순환 시프트 연산을 수행하여 변형된 메시지를 생성한 후 상기 변형된 메시지에 대해 암호화를 수행하고, 데이터 수신 장치(220)는 암호화 메시지가 수신되면, 상기 암호화 메시지를 복호화한 후 복호화된 메시지 상에서 상기 순환 시프트 연산이 수행된 데이터 필드에 위치해 있는 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서, CRC 검증을 수행하여 상기 원본 데이터를 복원함으로써, 데이터 송수신 과정에서 매번 다른 암호화 데이터가 랜덤하게 생성되도록 유도하여 보안을 강화시킬 수 있다.As a result, when the
도 4는 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 구조를 도시한 도면이다.4 is a diagram illustrating a structure of a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention.
도 4를 참조하면, 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)는 제1 시프트 연산부(411), 제2 시프트 연산부(412), 제3 시프트 연산부(413), 메시지 암호화부(414) 및 메시지 전송부(415)를 포함한다.4, a
제1 시프트 연산부(411)는 데이터 수신 장치(420)로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들(여기서, 상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임) 중에서 적어도 하나의 선정된 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행한다.The first
제2 시프트 연산부(412)는 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행한다.The second
제3 시프트 연산부(413)는 상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성한다.The third
메시지 암호화부(414)는 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성한다.The
메시지 전송부(415)는 상기 암호화 메시지를 데이터 수신 장치(420)로 전송한다.The
이때, 데이터 수신 장치(420)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원한다.At this time, when the encryption message is received, the
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.According to an embodiment of the present invention, the at least one predetermined data field may include a CRC field in which a CRC code for CRC verification of the original message is inserted.
이때, 데이터 수신 장치(420)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the
또한, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함할 수 있다.In addition, according to an embodiment of the present invention, the at least one predetermined data field includes a first CRC field in which a header CRC code for header data constituting the original message is inserted and a first CRC field in which user data And a second CRC field in which a user data CRC code is inserted.
이때, 데이터 수신 장치(420)는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the
이하에서는 도 5를 참조하여, 도 4에 도시되어 있는 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the
도 5는 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)가 데이터 수신 장치(420)로 전송하는 메시지에 대한 암호화 과정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of encrypting a message transmitted from a
도 5에는 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)가 데이터 수신 장치(420)로 전송할 원본 데이터의 형식이 도시되어 있다.5 shows a format of original data to be transmitted to the
도 5에 도시되어 있는 바와 같이 상기 원본 데이터는 복수의 데이터 필드들로 구성되어 있고, 각 데이터 필드에는 소정의 데이터가 위치해 있다. 도 5에서 "Start", "Len" 등과 같이 구분되어 있는 각 셀들이 데이터 필드를 의미하고, 각 데이터 필드에 기재되어 있는 숫자는 각 데이터 필드에 포함되는 데이터의 크기로 단위는 바이트이다.As shown in FIG. 5, the original data is composed of a plurality of data fields, and predetermined data is placed in each data field. In FIG. 5, "Start", "Len", and the like denote data fields. Numbers written in each data field indicate the size of data included in each data field.
먼저, 제1 시프트 연산부(411)는 데이터 수신 장치(420)로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 총 15바이트의 크기를 갖는 적어도 하나의 선정된 데이터 필드(510)에 대해 8바이트의 크기를 갖는 적어도 하나의 제1 데이터 필드와 7바이트의 크기를 갖는 적어도 하나의 제2 데이터 필드로 구분할 수 있다.First, the first shift
이때, 적어도 하나의 선정된 데이터 필드(510)는 도 5에 도시되어 있는 바와 같이, 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.At this time, at least one
구체적으로 적어도 하나의 선정된 데이터 필드(510)는 도 5에 도시되어 있는 바와 같이, 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드(511)와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드(512)를 포함할 수 있다.5, the at least one
상기 적어도 하나의 제1 데이터 필드와 상기 적어도 하나의 제2 데이터 필드의 구분이 완료된 후 제1 시프트 연산부(411)는 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 8바이트의 크기를 갖는 적어도 하나의 제1 데이터 값(521)에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행할 수 있다.After the division of the at least one first data field and the at least one second data field is completed, the first
그리고, 제2 시프트 연산부(412)는 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 7바이트의 크기를 갖는 적어도 하나의 제2 데이터 값(522)에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행할 수 있다.The second
본 실시예에서 제1 시프트 연산부(411)와 제2 시프트 연산부(412)는 앞서 설명한 실시예와 달리 랜덤한 비트 단위로 순환 시프트 연산을 수행하는 것이 아니라, 랜덤한 바이트 단위로 순환 시프트 연산을 수행한다.The first
즉, 적어도 하나의 제1 데이터 값(521)이 "ABCDEFGH"이고, 적어도 하나의 제2 데이터 값(522)이 "QWERTYU"인 경우, 제1 시프트 연산부(411)가 2바이트 단위로 순환 시프트 연산을 수행하고, 제2 시프트 연산부(412)가 3바이트 단위로 순환 시프트 연산을 수행한다고 하면, 적어도 하나의 제1 데이터 값(521) "ABCDEFGH"은 "GHABCDEF"가 될 수 있고, 적어도 하나의 제2 데이터 값(522) "QWERTYU"은 "TYUQWER"이 될 수 있다.That is, when at least one
이렇게, 적어도 하나의 제1 데이터 값(521)과 적어도 하나의 제2 데이터 값(522) 각각이 순환 시프트 연산이 완료되면, 제3 시프트 연산부(413)는 상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값(521)과 적어도 하나의 제2 데이터 값(522) 전체에 대해 상기 랜덤한 바이트 단위만큼 다시한번 순환 시프트 연산을 수행함으로써, 상기 원본 메시지에 대한 변형된 메시지를 생성할 수 있다.When the at least one
즉, 제1 시프트 연산부(411)에서 "GHABCDEF"가 생성되었고, 제2 시프트 연산부(412)에서 "TYUQWER"가 생성되었다면, 제3 시프트 연산부(413)는 "GHABCDEF"와 "TYUQWER" 전체인 "GHABCDEFTYUQWER"라는 데이터에 대해 다시한번 랜덤한 바이트 단위로 순환 시프트 연산을 수행함으로써, 최종적으로 상기 변형된 메시지를 생성할 수 있다.In other words, if "GHABCDEF" is generated in the first shift
이렇게, 상기 변형된 메시지가 생성되면, 메시지 암호화부(414)는 미리 지정된 암호화 키를 기초로 상기 변형된 메시지에 대해 암호화를 수행하여 암호화 메시지를 생성하고, 메시지 전송부(415)는 상기 암호화 메시지를 데이터 수신 장치(420)로 전송할 수 있다.When the modified message is generated, the
이렇게, 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)는 데이터 수신 장치(420)로 전송할 원본 메시지를 암호화할 때, 상기 원본 메시지에 대한 암호화를 수행하기 전에 상기 원본 메시지에 포함되어 있는 소정의 데이터들을 제1 데이터와 제2 데이터로 구분한 후 각 데이터 별로 랜덤하게 순환 시프트 연산을 수행한 후 상기 제1 데이터와 상기 제2 데이터 전체에 대해서 다시한번 랜덤하게 순환 시프트 연산을 수행하여 상기 원본 메시지에 대한 변형된 메시지를 생성하고, 상기 변형된 메시지에 대해 상기 암호화 키를 이용하여 암호화를 수행함으로써, 상기 원본 메시지에 대해 하나의 암호화 키를 통해 암호화를 수행하더라도 메시지를 전송할 때마다 매번 다른 암호화 메시지가 생성되도록 할 수 있다. 이를 통해, 해커 등이 상기 암호화 메시지를 중간에서 가로채더라도 상기 암호화 메시지로부터 상기 원본 메시지를 손쉽게 유추하지 못하도록 지원할 수 있다.In this way, when the
전술한 방식으로 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)가 상기 암호화 메시지를 데이터 수신 장치(420)로 전송하면, 데이터 수신 장치(420)는 상기 암호화 메시지로부터 상기 원본 메시지를 정확히 복원해야 한다.When the
이를 위해, 데이터 수신 장치(420)는 상기 암호화 메시지가 수신되면, 우선 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지에 대한 복원을 수행할 수 있다.To this end, when the encryption message is received, the
그러고 나서, 데이터 수신 장치(420)는 상기 변형된 메시지 상에서 도 5에 도시된 원본 메시지 상의 8바이트 크기를 갖는 상기 적어도 하나의 제1 데이터 필드와 동일한 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 7바이트의 크기를 갖는 상기 적어도 하나의 제2 데이터 필드와 동일한 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행할 수 있다.Then, the
그러고 나서, 데이터 수신 장치(420)는 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행할 수 있다.Then, the
예컨대, 데이터 수신 장치(420)가 상기 암호화 메시지에 대해서 복호화를 수행한 결과, 복호화된 메시지 상에서 상기 적어도 하나의 제1 데이터 필드와 동일한 필드 상에 "GHABCDEF"가 위치해 있고, 상기 적어도 하나의 제2 데이터 필드와 동일한 필드 상에 "TYUQWER"가 위치해 있는 경우, 데이터 수신 장치(420)는 "GHABCDEFTYUQWER" 전체에 대해서 1바이트 단위로 순환 시프트 연산을 1차로 수행하여 "RGHABCDEFTYUQWE"를 생성하고, "RGHABCDEFTYUQWE"로부터 상기 적어도 하나의 제1 데이터 필드와 동일한 필드에 위치하는 데이터인 "RGHABCDE"와 상기 적어도 하나의 제2 데이터 필드와 동일한 필드에 위치하는 데이터인 "FTYUQWE" 각각에 대해 1바이트 단위로 순환 시프트 연산을 2차로 수행할 수 있다.For example, if the
이때, 데이터 수신 장치(420)는 상기 1차와 2차의 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, the
구체적으로, 데이터 수신 장치(420)는 상기 1차와 2차의 순환 시프트 연산을 수행하면서, 상기 변형된 메시지 상에서 상기 원본 메시지 상의 제1 CRC 필드(511)와 동일한 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행할 수 있다.Specifically, the
이와 동시에, 데이터 수신 장치(420)는 상기 1차와 2차의 순환 시프트 연산을 수행하면서, 상기 변형된 메시지 상에서 상기 원본 메시지 상의 제2 CRC 필드(512)와 동일한 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행할 수 있다.At the same time, the
즉, 데이터 수신 장치(420)는 상기 1차와 2차의 순환 시프트 연산을 다수회 수행하여 상기 변형된 메시지의 헤더 데이터와 유저 데이터에 대한 CRC 검증을 수행한 후 CRC 검증 결과, 오류가 없는 결과가 도출되었을 때의 순환 시프트 연산 결과 값을 기초로 상기 원본 메시지를 추측할 수 있다.That is, the
결국, 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)는 데이터 수신 장치(420)로 메시지를 전송할 때, 원본 메시지의 특정 데이터 필드에 위치해 있는 소정의 데이터를 두 개의 데이터 그룹으로 구분한 후 각 데이터 그룹에 대해 랜덤한 바이트 단위로 순환 시프트 연산을 수행한 후 상기 소정의 데이터 전체에 대해 다시한번 랜덤한 바이트 단위로 순환 시프트 연산을 수행하여 변형된 메시지를 생성한 후 상기 변형된 메시지에 대해 암호화를 수행하고, 데이터 수신 장치(420)는 암호화 메시지가 수신되면, 상기 암호화 메시지를 복호화한 후 복호화된 메시지 상에서 상기 순환 시프트 연산이 수행된 데이터 필드에 위치해 있는 데이터에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차 순환 시프트 연산이 수행된 데이터를 다시 두 개의 데이터 그룹으로 구분하여 각 데이터 그룹별로 1바이트 단위로 순환 시프트 연산을 2차로 수행하면서, CRC 검증을 수행하여 상기 원본 데이터를 복원함으로써, 데이터 송수신 과정에서 매번 다른 암호화 데이터가 랜덤하게 생성되도록 유도하여 보안을 강화시킬 수 있다.As a result, when transmitting a message to the
도 6은 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법을 도시한 순서도이다.6 is a flowchart illustrating a data encryption method of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention.
단계(S610)에서는 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성한다.In step S610, a bit stream constituting at least one first data located in at least one predetermined data field among the plurality of data fields constituting the original message to be transmitted to the data receiving apparatus is cyclically shifted by a bit unit Operation to generate a modified message.
단계(S620)에서는 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성한다.In step S620, the modified message is encrypted based on the encryption key to generate an encrypted message.
단계(S630)에서는 상기 암호화 메시지를 상기 데이터 수신 장치로 전송한다.In step S630, the encryption message is transmitted to the data receiving apparatus.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmits the at least one selected A CRC check on the modified message is performed while performing a cyclic shift operation on at least one second data located in a data field on a bit-by-bit basis to restore the original message from the modified message.
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.According to an embodiment of the present invention, the at least one predetermined data field may include a CRC field in which a CRC code for CRC verification of the original message is inserted.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmits the at least one selected Performing a cyclic shift operation on the at least one second data located in the data field in units of 1 bit while performing CRC verification of the modified message based on data located in the CRC field, The original message can be restored.
또한, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함할 수 있다.In addition, according to an embodiment of the present invention, the at least one predetermined data field includes a first CRC field in which a header CRC code for header data constituting the original message is inserted and a first CRC field in which user data And a second CRC field in which a user data CRC code is inserted.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmits the at least one selected Performing a cyclic shift operation on the at least one second data located in the data field in units of 1 bit while performing CRC verification on header data of the modified message based on data located in the first CRC field And perform a CRC check on the user data of the modified message based on the data located in the second CRC field to recover the original message from the modified message.
이상, 도 6을 참조하여 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 도 2와 도 3를 이용하여 설명한 분산 네트워크 프로토콜 기반의 데이터 전송 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The data encryption method of the data transmission apparatus based on the distributed network protocol according to the embodiment of the present invention has been described above with reference to FIG. Here, the data encryption method of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention is similar to that of the operation of a
도 7은 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법을 도시한 순서도이다.7 is a flowchart illustrating a data encryption method of a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention.
단계(S710)에서는 데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들(상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임)중에서 적어도 하나의 선정된 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행한다.In operation S710, at least one selected data field among a plurality of data fields constituting the original message to be transmitted to the data receiving apparatus (the size of each data value located on the plurality of data fields is 1 byte) And performs at least one first data field and at least one second data field to perform a cyclic shift operation on a random byte basis for at least one first data value located in the at least one first data field.
단계(S720)에서는 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행한다.In operation S720, a cyclic shift operation is performed on the at least one second data value located in the at least one second data field by the random byte unit.
단계(S730)에서는 상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성한다.In step S730, a cyclic shift operation is performed on the at least one first data value and the at least one second data value in which the cyclic shift operation is completed by the random byte unit to generate a modified message.
단계(S740)에서는 상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성한다.In step S740, the modified message is encrypted based on the encryption key to generate an encrypted message.
단계(S750)에서는 상기 암호화 메시지를 상기 데이터 수신 장치로 전송한다.In step S750, the encryption message is transmitted to the data receiving apparatus.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and the at least one first A first cyclic shift operation is performed in units of one byte for at least one third data value located in a data field and at least one fourth data value located in the at least one second data field, Performing a second shift operation for each of the at least one third data value and the at least one fourth data value after completion of the cyclic shift operation in units of one byte while performing a CRC check on the modified message To restore the original message from the modified message.
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함할 수 있다.According to an embodiment of the present invention, the at least one predetermined data field may include a CRC field in which a CRC code for CRC verification of the original message is inserted.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and the at least one first Performing a cyclic shift operation on the at least one third data value located in the data field and the at least one fourth data value located in the at least one second data field in units of one byte, Byte shift operation for each of the at least one third data value and the at least one fourth data value after completion of the first cyclic shift operation, Performs CRC verification of the modified message based on the data to determine whether the modified message Since it is possible to restore the original message.
또한, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 선정된 데이터 필드는 상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함할 수 있다.In addition, according to an embodiment of the present invention, the at least one predetermined data field includes a first CRC field in which a header CRC code for header data constituting the original message is inserted and a first CRC field in which user data And a second CRC field in which a user data CRC code is inserted.
이때, 상기 데이터 수신 장치는 상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원할 수 있다.At this time, when the encryption message is received, the data receiving device decrypts the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and the at least one first Performing a cyclic shift operation on the at least one third data value located in the data field and the at least one fourth data value located in the at least one second data field in units of one byte, Byte shifting operation for each of the at least one third data value and the at least one fourth data value after completion of the first-order cyclic shift operation is performed in the first CRC field Performing CRC verification on the header data of the modified message based on the located data, The second group can be restored to the original message from the modified message by performing a CRC verification of user data of said modified messages on the basis of the data located on the CRC field.
이상, 도 7을 참조하여 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법에 대해 설명하였다. 여기서, 본 발명의 다른 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 도 4와 도 5를 이용하여 설명한 분산 네트워크 프로토콜 기반의 데이터 전송 장치(410)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The data encryption method of the data transmission apparatus based on the distributed network protocol according to another embodiment of the present invention has been described above with reference to FIG. Hereinafter, a data encryption method of a data transmission apparatus based on a distributed network protocol according to another embodiment of the present invention will be described with reference to the configuration of operations of a
본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A data encryption method of a data transmission apparatus based on a distributed network protocol according to an embodiment of the present invention may be implemented by a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 따른 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the data encryption method of the data transmission apparatus based on the distributed network protocol according to an embodiment of the present invention may be implemented in the form of a program command which can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
210: 분산 네트워크 프로토콜 기반의 데이터 전송 장치
211: 시프트 연산부 212: 메시지 암호화부
213: 메시지 전송부
220: 데이터 수신 장치
410: 분산 네트워크 프로토콜 기반의 데이터 전송 장치
411: 제1 시프트 연산부 412: 제2 시프트 연산부
413: 제3 시프트 연산부 414: 메시지 암호화부
415: 메시지 전송부
420: 데이터 수신 장치210: Data transmission device based on distributed network protocol
211: Shift operation unit 212: Message encryption unit
213:
220: Data receiving device
410: Data transmission device based on distributed network protocol
411: first shift operation unit 412: second shift operation unit
413: third shift operation unit 414: message encryption unit
415:
420: Data receiving device
Claims (14)
데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된(predetermined) 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 시프트 연산부;
상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 메시지 암호화부; 및
상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 메시지 전송부
를 포함하고,
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지에 대한 CRC(Cyclic redundancy check) 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함하며,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치.A data transmission apparatus based on a distributed network protocol,
A cyclic shift operation is performed on a bit string constituting at least one first data located in at least one predetermined data field among a plurality of data fields constituting the original message to be transmitted to the data reception apparatus, A shift operation unit for generating a modified message by performing the operation;
A message encrypting unit for encrypting the modified message based on the encryption key to generate an encrypted message; And
A message transmission unit for transmitting the encryption message to the data reception device,
Lt; / RTI >
The at least one predetermined data field
And a CRC field in which a CRC code for CRC (Cyclic Redundancy Check) verification for the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one selected data field on the modified message, For performing CRC verification on the modified message based on data located in the CRC field while restoring the original message from the modified message while performing a cyclic shift operation on the second data of the modified data Protocol based data transfer device.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치.The method according to claim 1,
The at least one predetermined data field
A first CRC field in which a header CRC code for header data constituting the original message is inserted and a second CRC field in which a user data CRC code for user data constituting the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one selected data field on the modified message, Performs CRC verification on header data of the modified message on the basis of data located in the first CRC field while performing a cyclic shift operation in units of 1 bit for one second data, And restoring the original message from the modified message by performing CRC verification on the user data of the modified message based on the data located in the modified message.
데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 - 상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임 - 중에서 적어도 하나의 선정된(predetermined) 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 제1 시프트 연산부;
상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 제2 시프트 연산부;
상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 제3 시프트 연산부;
상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 메시지 암호화부; 및
상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 메시지 전송부
를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치.A data transmission apparatus based on a distributed network protocol,
A plurality of data fields constituting an original message to be transmitted to a data receiving apparatus, the size of each data value located on the plurality of data fields being at least one byte, at least one predetermined data field Wherein the first data field is divided into a first data field and at least one second data field, and the at least one first data value is located in the at least one first data field, An operation unit;
A second shift operation unit for performing a cyclic shift operation on the at least one second data value located in the at least one second data field by the random byte unit;
A third shift operation unit for performing a cyclic shift operation on the at least one first data value and the at least one second data value in which the cyclic shift operation is completed by the random byte unit to generate a modified message;
A message encrypting unit for encrypting the modified message based on the encryption key to generate an encrypted message; And
A message transmission unit for transmitting the encryption message to the data reception device,
Lt; / RTI >
The data receiving apparatus
Decrypting the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field on the modified message, And the at least one fourth data value located in the at least one second data field, and performs a cyclic shift operation on the first data value after the first round- Performs a CRC (Cyclic Redundancy Check) verification on the modified message while performing a mild shift operation for each of the at least one third data value and the at least one fourth data value in units of 1 byte Based on a distributed network protocol for restoring the original message from the modified message Transport.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치.5. The method of claim 4,
The at least one predetermined data field
And a CRC field in which a CRC code for CRC verification of the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field A first cyclic shift operation is performed first by one byte on the basis of one third data value and the at least one fourth data value located in the at least one second data field, Performing a second shifting operation for each of the at least one third data value and the at least one fourth data value after the completion of the shifting in units of one byte, Performs CRC verification on the message to restore the original message from the modified message A data transmission apparatus based on a distributed network protocol.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치.6. The method of claim 5,
The at least one predetermined data field
A first CRC field in which a header CRC code for header data constituting the original message is inserted and a second CRC field in which a user data CRC code for user data constituting the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field A first cyclic shift operation is performed first by one byte on the basis of one third data value and the at least one fourth data value located in the at least one second data field, Performing a second shift operation on the at least one third data value after completion and the at least one fourth data value in units of one byte, and performing a second shift operation on the basis of the data located in the first CRC field Performs CRC verification of header data of the modified message, Wherein the CRC check is performed on the user data of the modified message based on the data to restore the original message from the modified message.
데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 중에서 적어도 하나의 선정된(predetermined) 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터를 구성하는 비트열에 대해 랜덤한 비트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 단계;
상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 단계; 및
상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 단계
를 포함하고,
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지에 대한 CRC(Cyclic redundancy check) 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함하며,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터에 대해 1비트 단위로 순환 시프트 연산을 수행하면서 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법.A data encryption method for a data transmission apparatus based on a distributed network protocol,
A cyclic shift operation is performed on a bit string constituting at least one first data located in at least one predetermined data field among a plurality of data fields constituting the original message to be transmitted to the data reception apparatus, Generating a modified message;
Generating an encrypted message by encrypting the modified message based on the encryption key; And
Transmitting the encrypted message to the data receiving apparatus
Lt; / RTI >
The at least one predetermined data field
And a CRC field in which a CRC code for CRC (Cyclic Redundancy Check) verification for the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one selected data field on the modified message, For performing CRC verification on the modified message based on data located in the CRC field while restoring the original message from the modified message while performing a cyclic shift operation on the second data of the modified data A method for encrypting data in a protocol-based data transmission device.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 선정된 데이터 필드에 위치해 있는 상기 적어도 하나의 제2 데이터에 대해 상기 1비트 단위로 순환 시프트 연산을 수행하면서 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법.8. The method of claim 7,
The at least one predetermined data field
A first CRC field in which a header CRC code for header data constituting the original message is inserted and a second CRC field in which a user data CRC code for user data constituting the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one selected data field on the modified message, Performs CRC verification on header data of the modified message on the basis of data located in the first CRC field while performing a cyclic shift operation in units of 1 bit for one second data, And restoring the original message from the modified message by performing a CRC check on the user data of the modified message based on the data located in the modified message.
데이터 수신 장치로 전송할 원본 메시지를 구성하는 복수의 데이터 필드들 - 상기 복수의 데이터 필드들 상에 위치해 있는 각 데이터 값의 크기는 1바이트임 - 중에서 적어도 하나의 선정된(predetermined) 데이터 필드를 적어도 하나의 제1 데이터 필드와 적어도 하나의 제2 데이터 필드로 구분하여 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제1 데이터 값에 대해 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 단계;
상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제2 데이터 값에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하는 단계;
상기 순환 시프트 연산이 완료된 적어도 하나의 제1 데이터 값과 적어도 하나의 제2 데이터 값 전체에 대해 상기 랜덤한 바이트 단위만큼 순환 시프트 연산을 수행하여 변형된 메시지를 생성하는 단계;
상기 변형된 메시지에 대해 암호화 키를 기초로 암호화를 수행하여 암호화 메시지를 생성하는 단계; 및
상기 암호화 메시지를 상기 데이터 수신 장치로 전송하는 단계
를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 적어도 하나의 제4 데이터 값 전체에 대해 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 변형된 메시지에 대한 CRC(Cyclic redundancy check) 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법.A data encryption method for a data transmission apparatus based on a distributed network protocol,
A plurality of data fields constituting an original message to be transmitted to a data receiving apparatus, the size of each data value located on the plurality of data fields being at least one byte, at least one predetermined data field Performing a cyclic shift operation on at least one first data value separated by a first data field and at least one second data field in the at least one first data field by a random byte unit;
Performing a cyclic shift operation on the at least one second data value located in the at least one second data field by the random byte unit;
Performing a cyclic shift operation on the at least one first data value and the at least one second data value in which the cyclic shift operation is completed by the random byte unit to generate a modified message;
Generating an encrypted message by encrypting the modified message based on the encryption key; And
Transmitting the encrypted message to the data receiving apparatus
Lt; / RTI >
The data receiving apparatus
Decrypting the encrypted message based on the decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field on the modified message, And the at least one fourth data value located in the at least one second data field, and performs a cyclic shift operation on the first data value after the first round- Performs a CRC (Cyclic Redundancy Check) verification on the modified message while performing a mild shift operation for each of the at least one third data value and the at least one fourth data value in units of 1 byte Based on a distributed network protocol for restoring the original message from the modified message The encryption method of a data transmission device.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지에 대한 CRC 검증을 위한 CRC 코드가 삽입되어 있는 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법.11. The method of claim 10,
The at least one predetermined data field
And a CRC field in which a CRC code for CRC verification of the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field A first cyclic shift operation is performed first by one byte on the basis of one third data value and the at least one fourth data value located in the at least one second data field, Performing a second shifting operation for each of the at least one third data value and the at least one fourth data value after the completion of the shifting in units of one byte, Performs CRC verification on the message to restore the original message from the modified message A data transmission method of a data transmission apparatus based on a distributed network protocol.
상기 적어도 하나의 선정된 데이터 필드는
상기 원본 메시지를 구성하는 헤더 데이터에 대한 헤더 CRC 코드가 삽입되어 있는 제1 CRC 필드와 상기 원본 메시지를 구성하는 유저 데이터에 대한 유저 데이터 CRC 코드가 삽입되어 있는 제2 CRC 필드를 포함하고,
상기 데이터 수신 장치는
상기 암호화 메시지가 수신되면, 상기 암호화 키에 대응하는 복호화 키를 기초로 상기 암호화 메시지를 복호화하여 상기 변형된 메시지를 복원하고, 상기 변형된 메시지 상의 상기 적어도 하나의 제1 데이터 필드에 위치해 있는 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제2 데이터 필드에 위치해 있는 상기 적어도 하나의 제4 데이터 값 전체에 대해 상기 1바이트 단위로 순환 시프트 연산을 1차로 수행하고, 1차의 순환 시프트 연산이 완료된 이후의 상기 적어도 하나의 제3 데이터 값과 상기 적어도 하나의 제4 데이터 값 각각에 대해 상기 1바이트 단위로 순한 시프트 연산을 2차로 수행하면서, 상기 제1 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 헤더 데이터에 대한 CRC 검증을 수행하고, 상기 제2 CRC 필드에 위치해 있는 데이터를 기초로 상기 변형된 메시지의 유저 데이터에 대한 CRC 검증을 수행하여 상기 변형된 메시지로부터 상기 원본 메시지를 복원하는 분산 네트워크 프로토콜 기반의 데이터 전송 장치의 데이터 암호화 방법.12. The method of claim 11,
The at least one predetermined data field
A first CRC field in which a header CRC code for header data constituting the original message is inserted and a second CRC field in which a user data CRC code for user data constituting the original message is inserted,
The data receiving apparatus
Decrypting the encrypted message based on a decryption key corresponding to the encryption key to recover the modified message, and transmitting the decrypted message to the at least one first data field A first cyclic shift operation is performed first by one byte on the basis of one third data value and the at least one fourth data value located in the at least one second data field, Performing a second shift operation on the at least one third data value after completion and the at least one fourth data value in units of one byte, and performing a second shift operation on the basis of the data located in the first CRC field Performs CRC verification of header data of the modified message, And performing CRC verification of user data of the modified message based on the data to restore the original message from the modified message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150085315A KR101590351B1 (en) | 2015-06-16 | 2015-06-16 | Distributed network protocol based data transmission apparatus and data encryption method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150085315A KR101590351B1 (en) | 2015-06-16 | 2015-06-16 | Distributed network protocol based data transmission apparatus and data encryption method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101590351B1 true KR101590351B1 (en) | 2016-02-01 |
Family
ID=55354186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150085315A KR101590351B1 (en) | 2015-06-16 | 2015-06-16 | Distributed network protocol based data transmission apparatus and data encryption method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101590351B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190089493A (en) | 2018-01-23 | 2019-07-31 | 이장형 | Method of encrypting protocol for programmable logic controller |
KR20200009794A (en) * | 2018-07-20 | 2020-01-30 | 국방과학연구소 | Apparatus and method for controlling protocol for wireless communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010010722A1 (en) * | 1996-02-23 | 2001-08-02 | Sony Corporation | Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm |
US20130156183A1 (en) * | 2011-12-16 | 2013-06-20 | Yuichi Komano | Encryption key generating apparatus and computer program product |
KR101359789B1 (en) * | 2011-09-29 | 2014-02-10 | 한국전력공사 | System and method for security of scada communication network |
-
2015
- 2015-06-16 KR KR1020150085315A patent/KR101590351B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010010722A1 (en) * | 1996-02-23 | 2001-08-02 | Sony Corporation | Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm |
KR101359789B1 (en) * | 2011-09-29 | 2014-02-10 | 한국전력공사 | System and method for security of scada communication network |
US20130156183A1 (en) * | 2011-12-16 | 2013-06-20 | Yuichi Komano | Encryption key generating apparatus and computer program product |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190089493A (en) | 2018-01-23 | 2019-07-31 | 이장형 | Method of encrypting protocol for programmable logic controller |
KR20200009794A (en) * | 2018-07-20 | 2020-01-30 | 국방과학연구소 | Apparatus and method for controlling protocol for wireless communication |
KR102122505B1 (en) * | 2018-07-20 | 2020-06-26 | 국방과학연구소 | Apparatus and method for controlling protocol for wireless communication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245515B2 (en) | Random cipher pad cryptography | |
CN106341384B (en) | Method for facilitating secure communications | |
CN106067871B (en) | Method and system for securing data transmitted in a network | |
US10587407B2 (en) | Data encryption apparatus and method using an encryption key based on puncturing of a generator matrix | |
CN103475463B (en) | Encryption implementation method and device | |
CN103902342A (en) | System updating and upgrading method and system in enclosed environment | |
CN108170461B (en) | Differential upgrade package generation method, differential upgrade method and device | |
KR101913644B1 (en) | Code-based encryption apparatus and method capable of message authentication | |
JP5395051B2 (en) | A low complexity encryption method for content encoded by rateless codes | |
CN114640867A (en) | Video data processing method and device based on video stream authentication | |
KR20170069337A (en) | Method and apparatus for protecting application and program made by the method | |
KR101590351B1 (en) | Distributed network protocol based data transmission apparatus and data encryption method thereof | |
KR20180042607A (en) | Apparatus for one-way data transmission, apparatus for one-way data reception, and one-way data transmission method for using the same | |
WO2017062234A1 (en) | Mpeg transport frame synchronization | |
KR101687492B1 (en) | Storing method of data dispersively and credential processing unit | |
KR102181645B1 (en) | System and method for distributing and storing data | |
KR101224383B1 (en) | Security Communication method between devices | |
CN113573306B (en) | 5G-fused heterogeneous networking gateway encryption method and system | |
CN108111469B (en) | Method and device for establishing security channel in cluster | |
US20230041939A1 (en) | Data privacy protection based polar coding | |
KR101942033B1 (en) | Electronic device capable of decrypting code-based encrypted data in which t+a error codes are inserted and operating method thereof | |
KR102025619B1 (en) | Apparatus for encrypting packet and Apparatus for communicating packet of a massive data | |
KR102430518B1 (en) | Instrumentation contro device and method with strong security by encryption/decryption communication using slave station`s unique number | |
JP6717730B2 (en) | Terminal device, key providing system, key providing method, and computer program | |
KR101991731B1 (en) | Operating method of server and peer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181227 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191231 Year of fee payment: 5 |