KR101161585B1 - Data transferring system and method using network coding - Google Patents

Data transferring system and method using network coding Download PDF

Info

Publication number
KR101161585B1
KR101161585B1 KR1020100099613A KR20100099613A KR101161585B1 KR 101161585 B1 KR101161585 B1 KR 101161585B1 KR 1020100099613 A KR1020100099613 A KR 1020100099613A KR 20100099613 A KR20100099613 A KR 20100099613A KR 101161585 B1 KR101161585 B1 KR 101161585B1
Authority
KR
South Korea
Prior art keywords
node
network
transmitting
receiving node
block
Prior art date
Application number
KR1020100099613A
Other languages
Korean (ko)
Other versions
KR20110069695A (en
Inventor
박홍식
박지용
김태화
류미선
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Publication of KR20110069695A publication Critical patent/KR20110069695A/en
Application granted granted Critical
Publication of KR101161585B1 publication Critical patent/KR101161585B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Abstract

본 발명은 송신측 노드로부터 송신되는 패킷들을 중간 노드에서 수집한 후 이를 인코딩하여 수신측 노드에 전송하는 네트워크 코딩을 이용한 망에서의 보안 처리 시스템으로서, 이를 위하여 본 발명의 실시 예에 따른 송신측 노드는, 수신측 노드와 보안 채널을 형성한 후 수신측 노드와 보안 키를 공유하는 채널 형성부와, 수신측 노드에 전송할 전송 데이터를 블록으로 나눈 후 각 블록을 암호화하여 전송 패킷을 생성하며, 암호화된 각 블록에 대한 체크섬 값을 각각 계산한 후 계산된 체크섬 값을 수신측 노드에 전송하는 데이터 처리부와, 생성된 전송 패킷을 중간 노드를 통해 수신측 노드에 전송하는 전송부를 포함하며, 수신측 노드는, 송신측 노드로부터 수신한 전송 패킷에 대한 체크섬 값을 계산한 후 계산된 체크섬 값과 송신측 노드에서 수신한 체크섬 값간의 비교를 통해 상기 수신한 전송 패킷에 대한 무결성을 검사한다.The present invention is a security processing system in a network using network coding that collects packets transmitted from a transmitting node at an intermediate node and then encodes and transmits the packets to the receiving node. To this end, according to an embodiment of the present invention, After generating a secure channel with the receiving node, the channel forming unit sharing the security key with the receiving node, and the transmission data to be transmitted to the receiving node divided into blocks and encrypts each block to generate a transmission packet, And a data processor for transmitting the calculated checksum value to the receiving node after calculating each checksum value for each of the blocks, and a transmitting unit for transmitting the generated transmission packet to the receiving node through an intermediate node. Calculates the checksum value for the transmission packet received from the transmitting node and then receives the calculated checksum value and the receiving node. Through a comparison of a checksum value to check the integrity of the received transport packet.

Description

네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법{DATA TRANSFERRING SYSTEM AND METHOD USING NETWORK CODING}Data transmission system and method in network using network coding {DATA TRANSFERRING SYSTEM AND METHOD USING NETWORK CODING}

본 발명은 네트워크 코딩을 이용한 망에서의 데이터 전송에 관한 것으로, 더욱 상세하게는 네트워크 코딩을 이용하여 송신측 노드에서 전송되는 패킷을 수신한 후 선형 연산을 통해 계산된 패킷의 체크섬 값과 송신측 노드로부터 수신한 체크섬 값간의 비교를 통해 패킷의 무결성을 검사할 수 있는 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법에 관한 것이다.
The present invention relates to data transmission in a network using network coding. More particularly, the present invention relates to a checksum value of a packet calculated through a linear operation after receiving a packet transmitted from a transmitting node using network coding, and to a transmitting node. The present invention relates to a data transmission system and method in a network using network coding that can check the integrity of a packet through comparison between checksum values received from the system.

일반적으로 네트워크 코딩은 송신측 노드와 중간 노드에서 데이터를 인코딩하여 데이터를 전송하는 기존의 방식과는 다른 새로운 네트워크 패러다임이다. 네트워크 코딩의 수신측 노드는 중간 노드가 들어오는 데이터들을 모아 재인코딩하여 모든 아웃고잉(out-going) 링크로 보내는 데이터를 다양한 경로를 통해 수신한 후, 여러 인코딩된 데이터들을 모아 디코딩하여 송신측 노드에서 보낸 데이터를 얻어낸다. 여기에서 기존의 라우팅을 통하여 원하는 수신측 노드에 데이터를 전송하는 일반적인 전송 방식과는 다른 문제점이 발생한다. In general, network coding is a new network paradigm that is different from the existing method of transmitting data by encoding data at a transmitting node and an intermediate node. The receiving node of the network coding collects and re-encodes incoming data from the intermediate node through all the outgoing links and receives them through various paths, and then collects and decodes the encoded data at the transmitting node. Get the sent data. Here, a problem arises that is different from the general transmission method of transmitting data to a desired receiving node through existing routing.

먼저, 송신측 노드에서 원하는 수신측 노드가 아닌 다른 모든 노드들이 데이터를 받게 되고, 원하지 않는 노드라 할지라도 일정량의 데이터를 수신한 후에는 송신측 노드에서 데이터를 디코딩할 수 있기 때문에 기밀성이 보장되지 않는 문제점이 있다. First, all nodes other than the intended receiving node at the sending node receive the data, and even if the node is not desired, confidentiality is not guaranteed because the receiving node can decode the data after receiving a certain amount of data. There is a problem.

네트워크 코딩의 다른 문제점은 전송되는 데이터가 송신측 노드에서 보낸 데이터와 다른 무결성 문제점이 있는데, 즉 네트워크 코딩은 중간 노드들이 수신한 패킷을 재인코딩하여 전송하기 때문에 무결성 문제가 항상 발생할 수 있다.Another problem of network coding is that the transmitted data is different from the data sent by the transmitting node. In other words, the integrity problem may always occur because network coding re-encodes and receives the packets received by the intermediate nodes.

또한, 수신측 노드의 디코딩률을 저하시키는 요인으로는 데이터 전송에서 발생하는 전송 에러와 악의적으로 보거스(bogus) 패킷(packet)을 주입하여 수신측의 디코딩을 방해할 수 있다. 네트워크 코딩을 이용하는 망의 경우 수신측 노드의 디코딩률은 망의 성능에 영향을 끼치는 중요한 요소 중의 하나이다. 이를 해결하기 위하여 포워드-에러-정정(forward-error-correction) 기법을 이용할 수 있으나, 이 경우 에러 복구를 위하여 송신측 노드에서 데이터 전송 시 리던던시 비트(redundancy bit)를 추가하여 보내야 하기 때문에 전송률을 저하시킨다. 또한, 에러 복구를 위한 수신측 노드의 오버헤드가 급격히 증가하기 때문에 일정량의 데이터를 빠르게 수신한 후 디코딩해야하는 네트워크 코딩에는 적합하지 않다.
In addition, as a factor of lowering the decoding rate of the receiving node, a transmission error occurring in the data transmission and a bogus packet may be injected intentionally, thereby preventing the decoding of the receiving side. In the case of a network using network coding, the decoding rate of the receiving node is one of the important factors affecting the network performance. To solve this problem, forward-error-correction technique can be used. In this case, however, redundancy bit should be added when transmitting data at the sending node for error recovery. Let's do it. In addition, since the overhead of the receiving node for error recovery is sharply increased, it is not suitable for network coding that needs to receive and decode a certain amount of data quickly.

상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 블록 단위의 체크섬을 이용하여 데이터를 수신하는 즉시 무결성을 검사하여 에러가 있는 패킷을 버릴 수 있는 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법을 제공하는데 있다.In order to solve the above problems, an object of the present invention is to provide a data transmission system in a network using a network coding that can discard an error packet by checking the integrity immediately upon receiving data using a block-based checksum and To provide a method.

또한, 본 발명은 블록 암호화 방식을 통해 데이터 전송의 기본 단위인 블록 단위로 암호화하는 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법을 제공하는데 있다.The present invention also provides a data transmission system and method in a network using network coding that encrypts a block unit, which is a basic unit of data transmission, through a block encryption scheme.

본 발명은 하나의 보안 키를 수신측 노드와 송신측 노드간에 형성된 보안 채널을 통해 공유하여 무결성과 기밀성을 보장할 수 있는 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법을 제공하는데 있다.The present invention provides a system and method for transmitting data in a network using network coding that can share one security key through a security channel formed between a receiving node and a transmitting node to ensure integrity and confidentiality.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 목적을 달성하기 위한 본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템은 송신측 노드로부터 송신되는 패킷들을 중간 노드에서 수집한 후 이를 인코딩하여 수신측 노드에 전송하는 네트워크 코딩을 이용한 망에서의 보안 처리 시스템으로서, 상기 송신측 노드는, 상기 수신측 노드와 보안 채널을 형성한 후 상기 수신측 노드와 보안 키를 공유하는 채널 형성부와, 상기 수신측 노드에 전송할 전송 데이터를 블록으로 나눈 후 각 블록을 암호화하여 전송 패킷을 생성하며, 상기 암호화된 각 블록에 대한 체크섬 값을 각각 계산한 후 상기 계산된 체크섬 값을 상기 수신측 노드에 전송하는 데이터 처리부와, 상기 생성된 전송 패킷을 상기 중간 노드를 통해 상기 수신측 노드에 전송하는 전송부를 포함하며, 상기 수신측 노드는, 상기 송신측 노드로부터 수신한 전송 패킷에 대한 체크섬 값을 계산한 후 상기 계산된 체크섬 값과 상기 송신측 노드에서 수신한 체크섬 값간의 비교를 통해 상기 수신한 전송 패킷에 대한 무결성을 검사한다.In order to achieve the object of the present invention, a data transmission system in a network coding network according to an embodiment of the present invention collects packets transmitted from a transmitting node in an intermediate node, encodes the packets, and transmits the encoded data to the receiving node. A security processing system in a used network, wherein the transmitting node comprises a channel forming unit which shares a security key with the receiving node after forming a secure channel with the receiving node, and transmits data to be transmitted to the receiving node. A data processing unit for generating a transmission packet by encrypting each block after dividing it into blocks, calculating a checksum value for each encrypted block, and transmitting the calculated checksum value to the receiving node, and the generated transmission. A transmitter for transmitting a packet to the receiving node through the intermediate node, wherein the receiving node After checking the checksum value for the transport packet received from the transmitting node, the integrity check of the received transport packet is checked through a comparison between the calculated checksum value and the checksum value received from the transmitting node.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 데이터 처리부는, 상기 망의 상황을 고려하여 맥스-플로우 값을 계산한 후 상기 맥스-플로우 값을 전송의 기본 단위인 블록 사이즈로 설정하고, 상기 설정된 블록 사이즈에 맞도록 상기 전송 데이터를 상기 블록으로 나눈 후 상기 블록 각각을 상기 보안 키로 암호화하여 상기 전송 패킷을 생성하는 전송 패킷 생성부를 포함할 수 있다.In the data transmission system in a network coding network according to an embodiment of the present invention, the data processing unit calculates the max-flow value in consideration of the network situation, and then converts the max-flow value into a block size that is a basic unit of transmission. And a transmission packet generation unit configured to generate the transmission packet by dividing the transmission data into the block to fit the set block size and encrypting each of the blocks with the security key.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 데이터 처리부는, 상기 암호화된 블록 내 각 비트의 데이터를 상기 보안 키와 연산을 통해 상기 각 비트에 대한 값을 계산하고, 상기 계산된 각 비트에 대한 값을 합한 후 상기 블록 각각에 대한 체크섬 값을 계산하여 상기 전송 패킷에 대한 전체 체크섬 값을 생성한 후 이를 상기 수신측 노드에 전송하는 체크섬 계산부를 포함할 수 있다.In the data transmission system in the network coding network according to an embodiment of the present invention, the data processing unit calculates a value for each bit through the security key and the operation of the data of each bit in the encrypted block, the calculation And a checksum calculator for generating a total checksum value for the transport packet by calculating a checksum value for each of the blocks after summing the values for each bit, and transmitting the total checksum value to the receiving node.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 수신측 노드는, 상기 수신한 전송 패킷에서 실제 데이터와 상기 보안 키간의 선형 연산 값 및 상기 전송 패킷이 거치는 중간 노드들의 코딩 정보를 갖는 글로벌 인코딩 벡터와 상기 송신측 노드로부터 수신한 체크섬 값간의 선형 연산 값간의 비교를 통해 상기 무결성 검사를 수행할 수 있다.In a data transmission system in a network coding network according to an embodiment of the present invention, the receiving node may determine a linear operation value between actual data and the security key in the received transmission packet and coding information of intermediate nodes through which the transmission packet passes. The integrity check may be performed by comparing a linear operation value between a global encoding vector having a value and a checksum value received from the transmitting node.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 수신측 노드는, 상기 무결성 검사의 결과 에러가 발생된 패킷을 무시하고, 에러가 없는 패킷들만을 이용하여 디코딩을 수행할 수 있다.In a data transmission system in a network coding network according to an embodiment of the present invention, the receiving node may ignore a packet in which an error occurs as a result of the integrity check and perform decoding using only packets without errors. .

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 수신측 노드는, 상기 에러가 발생된 패킷이 기 설정된 개수 이상일 경우 상기 에러가 발생된 패킷에 대한 정보를 상기 보안 채널을 통해 상기 송신측 노드에 전송하고, 상기 보안 채널을 통해 상기 정보에 대응되는 블록을 상기 송신측 노드로부터 수신한 후 이를 디코딩에 이용할 수 있다.In a data transmission system in a network coding network according to an embodiment of the present invention, when the receiving node has a predetermined number or more, the receiving node receives information about the packet in which the error occurs through the secure channel. After transmitting to the transmitting node and receiving a block corresponding to the information from the transmitting node through the secure channel, it can be used for decoding.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 송신측 노드는, 상기 송신측 노드에서 상기 정보에 대응되는 블록을 상기 보안 키를 이용하여 암호화한 후 이를 상기 수신측 노드로 전송할 수 있다.In a data transmission system in a network coding network according to an embodiment of the present invention, the transmitting node encrypts a block corresponding to the information in the transmitting node using the security key and transmits the same to the receiving node. Can be.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 시스템에서 상기 수신측 노드는, 상기 송신측 노드로부터 수신한 암호화된 블록을 상기 보안 키로 복호화한 후 상기 복호화한 블록에 대한 디코딩을 수행할 수 있다.In a data transmission system in a network coding network according to an embodiment of the present invention, the receiving node may decode the encrypted block received from the transmitting node with the security key and then decode the decrypted block. have.

다른 견지에서 본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법은 송신측 노드로부터 송신되는 패킷들을 중간 노드에서 수집한 후 이를 인코딩하여 수신측 노드에 전송하는 네트워크 코딩을 이용한 망에서의 데이터 전송 방법으로서, 상기 송신측 노드와 상기 수신측 노드간에 보안 채널을 형성하여 보안 키를 공유하는 단계와, 상기 송신측 노드에서 전송 데이터를 블록으로 나눈 후 상기 각 블록을 암호화하여 전송 패킷을 생성하는 단계와, 상기 암호화된 각 블록에 대한 체크섬 값을 각각 계산하고, 상기 계산된 체크섬 값을 상기 수신측 노드에 전송하는 단계와, 상기 생성된 전송 패킷을 상기 중간 노드를 통해 상기 수신측 노드에 전송하는 단계와, 상기 수신측 노드에서 수신한 전송 패킷에 대한 체크섬 값을 계산한 후 상기 계산된 체크섬 값과 상기 송신측 노드에서 수신한 체크섬 값간의 비교를 통해 상기 수신한 전송 패킷에 대한 무결성을 검사하는 단계를 포함한다.In another aspect, a data transmission method in a network coding network according to an embodiment of the present invention collects packets transmitted from a transmitting node at an intermediate node, encodes the data, and transmits the data to the receiving node. A transmission method comprising the steps of: sharing a security key by establishing a secure channel between the transmitting node and the receiving node, dividing the transmission data into blocks at the transmitting node, and encrypting each block to generate a transmission packet; Calculating a checksum value for each encrypted block, and transmitting the calculated checksum value to the receiving node, and transmitting the generated transmission packet to the receiving node through the intermediate node. And calculating a checksum value for the transport packet received at the receiving node. Through a comparison of the checksum value with a checksum value received from the transmitting node comprises the steps of checking the integrity of the received transport packet.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법에서 상기 전송 패킷을 생성하는 단계는, 상기 망 상황을 고려하여 맥스-플로우 값을 계산하는 단계와, 상기 계산된 맥스-플로우 값을 전송의 기본 단위인 블록 사이즈로 설정하고, 상기 설정된 블록 사이즈에 맞도록 상기 전송 데이터를 상기 블록으로 나누는 단계와, 상기 블록 각각을 암호화하여 상기 전송 패킷을 생성하는 단계를 포함할 수 있다.In the data transmission method in a network coding network according to an embodiment of the present invention, generating the transport packet may include calculating a max-flow value in consideration of the network situation, and transmitting the calculated max-flow value. The method may include setting a block size that is a basic unit of, dividing the transmission data into the blocks so as to correspond to the set block size, and encrypting each of the blocks to generate the transport packet.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법에서 상기 무결성 검사를 수행하는 단계는, 상기 수신측 노드에서 수신한 전송 패킷에서 실제 데이터와 상기 보안 키간의 선형 연산을 통해 제 1 값을 산출하는 단계와, 상기 전송 패킷에 거치는 중간 노드들의 코딩 정보를 갖는 글로벌 인코딩 벡터와 상기 송신측 노드로부터 수신한 체크섬 값간의 선형 연산을 통해 제 2 값을 산출하는 단계와, 상기 제 1 값과 제 2 값간의 비교를 통해 상기 무결성 검사를 수행하는 단계를 포함할 수 있다.In the data transmission method in a network coding network according to an embodiment of the present invention, the performing the integrity check may include: determining a first value through a linear operation between actual data and the security key in a transmission packet received at the receiving node; Calculating a second value through a linear operation between a global encoding vector having coding information of intermediate nodes passing through the transport packet and a checksum value received from the transmitting node, and calculating the first value and the second value. And performing the integrity check by comparing the two values.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법에서 상기 수신측 노드에 전송하는 단계는, 상기 암호화된 블록 내 각 비트의 데이터를 상기 보안 키와 연산을 통해 상기 각 비트에 대한 값을 계산하고, 상기 계산된 각 비트에 대한 값을 합한 후 상기 블록 각각에 대한 체크섬 값을 계산하여 상기 전송 패킷에 대한 전체 체크섬 값을 생성한 후 이를 상기 수신측 노드에 전송할 수 있다.In the data transmission method in the network coding network according to an embodiment of the present invention, the step of transmitting to the receiving node, the data of each bit in the encrypted block through the security key and the operation for the value of each bit After calculating, summing the calculated values for each bit and calculating a checksum value for each of the blocks, a total checksum value for the transport packet may be generated and transmitted to the receiving node.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법은 상기 수신측 노드에서 상기 무결성 검사 결과에 따라 에러가 발생된 패킷을 무시하고, 에러가 없는 패킷들만을 이용하여 디코딩하는 단계를 더 포함할 수 있다.The data transmission method in a network coding network according to an embodiment of the present invention further includes the step of ignoring a packet in which an error occurs according to the integrity check result at the receiving node, and decoding using only packets without errors. can do.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법은 상기 에러가 발생된 패킷이 기 설정된 개수 이상일 경우 상기 디코딩이 불가능한 블록에 대한 정보를 상기 보안 채널을 통해 상기 송신측 노드에 전송하는 단계와, 상기 송신측 노드로부터 상기 정보에 대응되는 블록을 상기 보안 채널을 통해 수신한 후 이를 디코딩하는 단계를 더 포함할 수 있다.In a data coding method in a network coding network according to an exemplary embodiment of the present invention, when the number of packets in which an error occurs is greater than or equal to a predetermined number, transmitting information on the block that cannot be decoded to the transmitting node through the secure channel. And receiving a block corresponding to the information from the transmitting node through the secure channel and decoding the same.

본 발명의 실시 예에 따른 네트워크 코딩 망에서의 데이터 전송 방법에서 상기 보안 채널을 통해 수신한 후 이를 디코딩하는 단계는, 상기 송신측 노드에서 상기 정보에 대응되는 블록을 상기 보안 키를 이용하여 암호화한 후 이를 상기 수신측 노드로 전송하는 단계와, 상기 수신측 노드에서 수신한 암호화된 블록을 상기 보안 키로 복호화하는 단계와, 상기 복호화한 블록에 대한 디코딩을 수행하는 단계를 포함할 수 있다.
In the method of transmitting data in a network coding network according to an embodiment of the present invention, the step of receiving the data through the secure channel and then decoding the received data includes encrypting a block corresponding to the information at the transmitting node using the security key. Thereafter, the method may include transmitting the same to the receiving node, decrypting the encrypted block received at the receiving node with the security key, and decoding the decrypted block.

본 발명은 송수신측 노드간의 보안 채널을 통해 공유되는 보안 키를 이용하여 전송 데이터를 여러 개의 블록으로 나누어 암호화한 후 각 암호화된 블록에 대한 체크섬 값을 계산하여 수신측 노드에 전송하고, 수신측 노드에서 네트워크 코딩을 이용하여 송신측 노드로부터 송출되는 패킷을 수신한 후 선형 연산을 통해 계산된 패킷의 체크섬 값과 송신측 노드로부터 보안 채널을 통해 수신한 체크섬 값간의 비교를 통해 패킷의 무결성을 검사함으로써, 네트워크 코딩을 이용하여 데이터를 전송함에 있어서 기밀성과 무결성을 보장할 수 있는 효과가 있다.
According to the present invention, after transmitting and encrypting transmission data into a plurality of blocks by using a security key shared through a security channel between transmitting and receiving nodes, a checksum value for each encrypted block is calculated and transmitted to the receiving node, and the receiving node. After receiving the packet sent from the sending node by using network coding, the integrity of the packet is checked by comparing the checksum value of the packet calculated through linear operation with the checksum value received through the secure channel from the sending node. However, there is an effect of ensuring confidentiality and integrity in transmitting data using network coding.

도 1은 본 발명의 실시 예에 따른 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템을 도시한 블록도이며,
도 2는 본 발명의 실시 예에 따라 전송 데이터를 블록으로 나눠어 전송 패킷을 생성하는 과정을 설명하기 위한 도면이며,
도 3은 본 발명의 실시 예에 다라 각 암호화된 블록들의 전송 패킷에 대한 체크섬 값을 계산하는 과정을 설명하기 위한 도면이며,
도 4는 본 발명의 실시 예에 따른 네트워크 코딩을 이용한 망 구성에서 데이터 송신 과정을 도시한 흐름도이다.
1 is a block diagram illustrating a data transmission system in a network using network coding according to an embodiment of the present invention.
2 is a diagram illustrating a process of generating a transport packet by dividing the transport data into blocks according to an embodiment of the present invention.
3 is a diagram illustrating a process of calculating a checksum value for a transport packet of each encrypted block according to an embodiment of the present invention.
4 is a flowchart illustrating a data transmission process in a network configuration using network coding according to an embodiment of the present invention.

본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. The objects and effects of the present invention and the technical configurations for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like.

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The present embodiments are merely provided to complete the disclosure of the present invention and to fully inform the scope of the invention to those skilled in the art, and the present invention is defined by the scope of the claims. It will be. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 실시 예에서는 송수신측 노드간의 보안 채널을 통해 공유되는 보안 키를 이용하여 전송 데이터를 여러 개의 블록으로 나누어 암호화한 후 각 암호화된 블록에 대한 체크섬 값을 계산하여 수신측 노드에 전송하고, 수신측 노드에서 네트워크 코딩을 이용하여 송신측 노드로부터 송출되는 패킷을 수신한 후 선형 연산을 통해 계산된 패킷의 체크섬 값과 송신측 노드로부터 보안 채널을 통해 수신한 체크섬 값간의 비교를 통해 패킷의 무결성을 검사할 수 있는 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법에 대해 설명한다.In an embodiment of the present invention, after transmitting and encrypting the transmission data into a plurality of blocks using a security key shared through a secure channel between the transmitting and receiving nodes, the checksum value for each encrypted block is calculated and transmitted to the receiving node. After receiving the packet sent from the sending node by using network coding at the receiving node, the integrity of the packet is compared by comparing the checksum value of the packet calculated through linear operation with the checksum value received through the secure channel from the transmitting node. A data transmission system and method in a network using a network coding that can check the present invention are described.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템을 도시한 블록도로서, 송신측 노드(100), 중간 노드(120) 및 수신측 노드(140) 등을 포함할 수 있다. 송신측 노드(100)는 채널 형성부(102), 데이터 처리부(104) 및 전송부(106) 등을 포함할 수 있으며, 데이터 처리부(104)는 전송 패킷 생성부(104a) 및 체크섬 계산부(104b) 등을 포함할 수 있다.1 is a block diagram illustrating a data transmission system in a network using network coding according to an exemplary embodiment of the present invention, which includes a transmitting node 100, an intermediate node 120, a receiving node 140, and the like. Can be. The transmitting node 100 may include a channel forming unit 102, a data processing unit 104, a transmission unit 106, and the like, and the data processing unit 104 may include a transmission packet generator 104a and a checksum calculator ( 104b) and the like.

송신측 노드(100)의 채널 형성부(102)는 수신측 노드(140)와 보안 채널을 형성한 후 보안 채널을 이용하여 보안 키와 체크섬 값을 공유하며, 수신측 노드(140)의 디코딩에 필요한 추가 데이터 요청을 수신한다.The channel forming unit 102 of the transmitting node 100 forms a secure channel with the receiving node 140 and then shares the security key and checksum value using the secure channel, and decodes the receiving node 140. Receive additional data requests as needed.

송신측 노드(100)의 데이터 처리부(104)는 네트워크 코딩을 이용하여 데이터를 전송하기 위해서 수신측 노드(140)까지의 망 상황 고려하여 맥스-플로우 값을 계산한 후 이를 토대로 전송의 기본 단위인 블록 사이즈를 결정하며, 결정된 블록 사이즈에 맞춰서 전송 데이터를 블록으로 나눈다.The data processing unit 104 of the transmitting node 100 calculates the max-flow value in consideration of the network situation up to the receiving node 140 in order to transmit data using network coding, and then calculates the max-flow value based on the basic unit of transmission. The block size is determined, and the transmission data is divided into blocks according to the determined block size.

또한, 데이터 처리부(104)의 전송 패킷 생성부(104a)는 전송할 데이터를 블록으로 나눈 후 보안 키로 암호화하여 전송 패킷을 생성하는데, 이러한 과정에 대해 설명하면 아래와 같다.In addition, the transport packet generator 104a of the data processor 104 generates a transport packet by dividing the data to be transmitted into blocks and encrypting the data with a security key, which will be described below.

먼저, 블록 사이즈에 맞춰서 전송할 데이터는, 도 2에 도시된 바와 같이, h개(b1, b2, b3, ……, bn-1, bn) 블록으로 나누어지게 되며, 각 블록은 n 비트로 구성된다. 여기서, 각 블록이 암호화됨에 따라 전송할 데이터의 첫 번째 블록(b1)은 암호화된 정보(200)인 X1,1, X1,2, X1,3, ……, X1,n으로 구성되며, h번째 블록(bn)은 암호화된 정보(200)인 Xh,1, Xh,2, Xh,3, ……, Xh,N으로 구성된다. 또한, 각 블록에는 암호화된 정보(200) 외에도 h 비트의 글로벌 인코딩 벡터(global encoding vector)(210)가 추가된다. 이러한 과정을 통해 각 암호화된 블록은 h 비트의 글로벌 인코딩 벡터(210)와 암호화된 n 비트의 정보(200)로 이루어진 전송 패킷으로 구성된다.First, data to be transmitted according to a block size is divided into h blocks (b 1 , b 2 , b 3 ,..., B n-1 , b n ) as shown in FIG. It consists of n bits. Here, as each block is encrypted, the first block b 1 of data to be transmitted is X 1,1 , X 1,2 , X 1,3 ,... Which are encrypted information 200. … , X 1, n , and the h th block (b n ) is X h, 1 , X h, 2 , X h, 3 ,... … , X h, N In addition, in addition to the encrypted information 200, a h-bit global encoding vector 210 is added to each block. Through this process, each encrypted block is composed of a transport packet consisting of a global encoding vector 210 of h bits and information 200 of encrypted n bits.

데이터 처리부(104)의 체크섬 계산부(104b)는 각 암호화된 블록들의 전송 패킷에 대한 체크섬 값을 계산하고, 계산된 체크섬 값을 수신측 노드(140)에 전송한다.The checksum calculator 104b of the data processor 104 calculates a checksum value for the transport packet of each encrypted block and transmits the calculated checksum value to the receiving node 140.

송신측 노드(100)가 각 암호화된 블록들의 전송 패킷에 대한 체크섬 값을 계산하는 과정에 대해 도 3을 참조하여 설명한다.A process in which the transmitting node 100 calculates a checksum value for a transmission packet of each encrypted block will be described with reference to FIG. 3.

도 3에 도시된 바와 같이, 암호화된 블록 내 암호화된 정보(200)인 각 비트와 보안 키(k1, k2, k3, …, kN)를 곱한 각 비트별 결과값을 더하여 하나의 블록에 대한 체크섬 값(SKC1)을 계산한다. 이와 같은 방법으로 각각의 암호화된 블록에 대한 체크섬 값을 계산한 후 이 체크섬 값들을 모아 전송하고자하는 데이터에 대한 전체 체크섬 값(SKC)을 생성한다. 즉, X1,1과 암호화 키(k1)를 곱한 결과값, X1,2와 암호화 키(k2)를 곱한 결과값, X1,3과 암호화 키(k3)를 곱한 결과값, ……, X1,N과 암호화 키(kN)를 곱한 결과값을 각각 연산한 후 각 결과값을 더함으로써, 암호화된 첫 번째 블록에 대한 체크섬 값(SKC1)을 계산한다. 이런 방식으로, h번째 블록까지의 체크섬 값(SKCh)을 계산함으로써, 전체 체크섬(SKC)을 계산할 수 있다.3, the angle of the inside the encrypted block encryption information 200 bits and a secret key in addition one of the result of each bit multiplied by the (k 1, k 2, k 3, ..., k N) Compute the checksum value (SKC 1 ) for the block. In this way, the checksum value for each encrypted block is calculated, and the checksum values are collected to generate a total checksum value (SKC) for the data to be transmitted. That is, the result of multiplying X 1,1 by the encryption key (k 1 ), the result of multiplying X 1,2 by the encryption key (k 2 ), the result of multiplying X 1,3 by the encryption key (k 3 ), … … Compute the checksum value (SKC 1 ) for the first encrypted block by calculating the result of multiplying X 1, N by the encryption key (k N ) and adding each result. In this way, the total checksum SKC can be calculated by calculating the checksum value SKC h up to the h-th block.

여기서, 암호화 키(k=k1, k2, k3, …, kN)는 전송 채널을 통해 송수신측 노드(100, 140)가 공유하는 보안 키이며, 암호화된 정보인 n 비트의 i 번째 블록 Xi는 "[Xi,1, ……, Xi,N]"이라고 할 때 무결성 검사를 위한 i 번째 블록 Xi의 체크섬(SKCi)은 아래의 수학식 1로 나타낼 수 있다.Here, the encryption key (k = k 1 , k 2 , k 3 , ..., k N ) is a security key shared by the transmitting and receiving nodes 100 and 140 through a transmission channel, and is the i-th n-th bit of encrypted information. When the block X i is "[X i, 1 ,..., X i, N ]", the checksum SKC i of the i th block X i for integrity checking may be represented by Equation 1 below.

[수학식 1][Equation 1]

Figure 112010065987910-pat00001
Figure 112010065987910-pat00001

이와 같은 과정을 통해 송신측 노드(100)는 h개의 블록으로 나누어진 전체 데이터에 대한 체크섬 값, 즉 전체 체크섬 값(SKC=[SKC1 … SKCh])을 계산할 수 있으며, 계산된 전체 체크섬 값(SKC)을 데이터 전송 전에 채널 형성부(102)와 수신측 노드(140)의 보안 채널을 통해 수신측 노드(140)에게 전송함으로써, 수신측 노드(140)는 패킷을 수신하는 즉시 수신된 패킷에 대한 무결성 검사를 수행할 수 있다.Through this process, the transmitting node 100 may calculate a checksum value for all data divided into h blocks, that is, a total checksum value (SKC = [SKC 1 … SKC h ]), and the calculated total checksum value By transmitting the (SKC) to the receiving node 140 through the secure channel of the channel forming unit 102 and the receiving node 140 before data transmission, the receiving node 140 receives the received packet immediately after receiving the packet. Integrity checks can be performed.

전송부(106)는 전송 패킷 생성부(104a)에서 생성된 전송 패킷을 중간 노드(120)들을 통해 수신측 노드(140)에 전송하는데, 실용적인 네트워크 코딩을 이용하여 전송 데이터에 상응하는 전송 패킷을 전송할 경우 중간 노드(120)들의 코딩을 거치면서 수신측 노드(140)에 전송되는 패킷은 중간 노드(120)들의 코딩 정보를 갖는 글로벌 인코딩 벡터(g(e))와 실제 데이터를 갖는 y((e))를 연속하여 표시하는데, 아래의 수학식 2와 같다.The transmission unit 106 transmits the transmission packet generated by the transmission packet generator 104a to the receiving node 140 through the intermediate node 120. The transmission packet corresponding to the transmission data is transmitted using practical network coding. In the case of transmission, the packet transmitted to the receiving node 140 through the coding of the intermediate nodes 120 is a global encoding vector g (e) having coding information of the intermediate nodes 120 and y (( e)) is displayed continuously, as shown in Equation 2 below.

[수학식 2][Equation 2]

Figure 112010065987910-pat00002
Figure 112010065987910-pat00002

수신측 노드(140)에서 데이터를 수신하게 되면, 수신한 패킷들을 선형 연산을 이용하여 즉시 체크섬을 계산한 후 계산된 체크섬과 송신측 노드(100)에서 전송 패킷을 전송하기 전에 채널 형성부(102)와 수신측 노드(140)의 보안 채널을 통해 전송한 체크섬 값들간의 비교를 통해 무결성을 검사하며, 검사 결과 에러가 있는 패킷을 무시하고 에러가 없는 패킷들만을 수신하여 디코딩에 이용한다.When the receiving node 140 receives the data, the received packet is immediately calculated using a linear operation, and then the channel forming unit 102 is transmitted before the checksum and the transmitting node 100 transmit the transmitted packet. Integrity is checked through comparison between the checksum values transmitted through the secure channel of the receiving node 140 and ignores packets with errors as a result of the check, and receives only packets without errors and uses them for decoding.

수신측 노드(140)에서 무결성 검사 과정은 아래의 수학식 3으로 정의할 수 있다.The integrity check process at the receiving node 140 may be defined by Equation 3 below.

[수학식 3]&Quot; (3) "

Figure 112010065987910-pat00003
Figure 112010065987910-pat00003

상기의 수학식 3에서 알 수 있듯이, 수신측 노드(140)에서 데이터(y(e))를 수신하게 되면 보안 키(K)와 실제 데이터(y(e))의 선형 연산인 K?y(e) 값인 체크섬 값과 글로벌 인코딩 벡터의 선형 연산 값인 SKC?g(e)를 비교하여 무결성을 확인한다.As shown in Equation 3 above, when the receiving node 140 receives the data y (e), K? Y (which is a linear operation of the security key K and the actual data y (e)) is received. e) Integrity is checked by comparing the checksum value, which is a value, and the SKC? g (e), a linear operation value of the global encoding vector.

보안 키(K)와 수신한 데이터((y(e))의 벡터 연산 값이 체크섬 값(SKC)과 수신한 글로벌 인코딩 벡터(g(e))의 벡터 연산값과 같음은 아래의 수학식 4로 증명할 수 있다.The vector operation value of the security key K and the received data (y (e)) is equal to the vector operation value of the checksum value SKC and the received global encoding vector g (e). Prove that.

[수학식 4]&Quot; (4) "

Figure 112010065987910-pat00004
Figure 112010065987910-pat00004

Figure 112010065987910-pat00005
Figure 112010065987910-pat00005

수신측 노드(140)는 네트워크 코딩의 특성 상 일정 시간이 지나게 되면 에러가 발생한 패킷들을 제외하고도 디코딩에 필요한 충분한 양의 패킷들을 수신할 수 있다. 이러한 이유로 무결성 검사를 통해 버려지는 데이터가 있어도 해당 데이터를 디코딩할 수 있다.The receiving node 140 may receive a sufficient amount of packets necessary for decoding except for packets in which an error occurs after a predetermined time due to the characteristics of network coding. For this reason, data that is discarded through integrity check can be decoded.

한편, 수신측 노드(140)는 망의 상태가 나쁘거나 악의적으로 임의의 사용자가 주입한 부적절한 패킷들이 많을 경우 디코딩이 불가능, 즉 기 설정된 개수 이상의 패킷이 무결성 검사에서 무시될 수 있는데, 이러한 경우 보안 채널을 통해 송신측 노드(100)에게 디코딩이 불가능한 블록, 즉 무결성 검사를 통해 무시되는 전송 패킷에 대한 정보를 보내게 된다. 이에 따라, 송신측 노드(100)는 수신측 노드(140)로부터 수신한 정보에 대응되는 블록을 보안 키를 이용하여 암호화한 후 이를 보안 채널을 통해 수신측 노드(140)에 전송한다. On the other hand, the receiving node 140 can not be decoded when the network state is bad or there are a lot of inappropriate packets injected malicious by any user, that is, more than a predetermined number of packets can be ignored in the integrity check, in this case secure channel Through this, the transmitting node 100 sends information about a block that cannot be decoded, that is, a transport packet that is ignored through integrity check. Accordingly, the transmitting node 100 encrypts a block corresponding to the information received from the receiving node 140 using the security key and transmits the block to the receiving node 140 through the secure channel.

수신측 노드(140)는 디코딩을 위한 충분한 양의 데이터가 수신되면 해당 블록을 디코딩하고, 데이터 수신 전 송신측 노드(100)로부터 전송받은 보안 키를 이용하여 암호화된 데이터를 복호화한다.When a sufficient amount of data for decoding is received, the receiving node 140 decodes the corresponding block, and decrypts the encrypted data using the security key received from the transmitting node 100 before receiving the data.

상기와 같은 구성을 갖는 네트워크 코딩을 이용한 망 구성에서 데이터 전송하는 과정에 대해 도 4를 참조하여 설명한다.A process of data transmission in a network configuration using network coding having the above configuration will be described with reference to FIG. 4.

도 4는 본 발명의 실시 예에 따른 네트워크 코딩을 이용한 망 구성에서 데이터 송신 과정을 도시한 흐름도이다.4 is a flowchart illustrating a data transmission process in a network configuration using network coding according to an embodiment of the present invention.

도 4를 참조하면, 소스 노드인 송신측 노드(100)는 보안 키를 공유하기 위해 수신측 노드(140)와 보안 채널을 형성한다(S400).Referring to FIG. 4, the transmitting node 100, which is a source node, forms a secure channel with the receiving node 140 to share a security key (S400).

그런 다음, 송신측 노드(100)는 보안 채널을 통해 보안 키를 수신측 노드(140)에 전송함으로써, 송신측 노드(100)와 수신측 노드(140)간에 보안 키를 공유한다(S402).Then, the transmitting node 100 transmits the security key to the receiving node 140 through the secure channel, thereby sharing the security key between the transmitting node 100 and the receiving node 140 (S402).

이후, 송신측 노드(100)는 네트워크 코딩을 이용하여 전송 데이터를 송신하기 위해 수신측 노드까지의 망 상황을 고려하여 맥스-플로우 값을 계산한다(S404). 이때, 계산된 맥스-플로우 값은 전송의 기본 단위인 블록 사이즈를 정하는데 이용되는데, 즉 맥스-플로우 값을 이용하여 전송 데이터를 다수의 블록으로 나눈다(S406).Thereafter, the transmitting node 100 calculates the max-flow value in consideration of the network situation up to the receiving node in order to transmit the transmission data using network coding (S404). In this case, the calculated max-flow value is used to determine a block size that is a basic unit of transmission, that is, the transmission data is divided into a plurality of blocks using the max-flow value (S406).

그리고 나서, 송신측 노드(100)는 각 블록에 대한 암호화를 수행하고(S408), 암호화된 블록 각각에 대한 체크섬 값을 계산한 후 계신된 체크섬 값을 수신측 노드(140)에 전송한다(S410).Then, the transmitting node 100 performs encryption on each block (S408), calculates a checksum value for each encrypted block, and transmits the outgoing checksum value to the receiving node 140 (S410). ).

그런 다음, 송신측 노드(100)는 암호화된 각 블록들을 중간 노드(120)를 거쳐 수신측 노드(140)에 전송(S412)하는데, 이때 송신측 노드(100)는 암호화된 각 블록에 글로벌 인코딩 벡터를 추가하여 하나의 패킷을 만든 후 이를 실용적 네트워크 코딩을 이용하여 전송할 경우 중간 노드(120)들의 코딩을 거치면서 수신측 노드(140)에 전송되는 패킷은 중간 노드(120)들의 코딩 정보를 갖는 글로벌 인코딩 정보와 실제 데이터를 갖는 y(e)를 연속하여 표시될 수 있다.Then, the transmitting node 100 transmits each encrypted block to the receiving node 140 via the intermediate node 120 (S412), where the transmitting node 100 globally encodes each encrypted block. When one packet is added by adding a vector and then transmitted using practical network coding, the packet transmitted to the receiving node 140 through the coding of the intermediate nodes 120 has coding information of the intermediate nodes 120. The y (e) having the global encoding information and the actual data can be displayed successively.

수신측 노드(140)에서 데이터를 수신하게 되면, 수신한 패킷들을 선형 연산을 이용하여 체크섬 값을 계산(S414)하고, 계산된 체크섬 값과 송신측 노드(100)에서 전송 데이터를 전송하기 전에 전송한 체크섬 값간의 비교를 통해 무결성을 검사한다(S414).When the receiving node 140 receives data, the received packets are calculated using a linear operation (S414), and the calculated checksum values are transmitted before the transmitting node 100 transmits the transmission data. Integrity is checked through a comparison between one checksum value (S414).

S414의 검사 결과, 수신측 노드(140)는 에러가 있는 패킷의 경우 무시하고(S416), 에러가 없는 패킷만을 수신하여 디코딩에 이용될 패킷을 분류한다(S418).As a result of the check in S414, the receiving node 140 ignores the packet in error (S416), receives only the packet without an error, and classifies the packet to be used for decoding (S418).

한편, 수신측 노드(140)는 기 설정된 시간 동안 디코딩에 필요한 양의 패킷들이 수신되었는지를 판단하며(S420), S420의 판단 결과 기 설정된 시간 동안 디코딩에 필요한 양의 패킷들이 수신되지 않을 경우, 즉 기 설정된 개수 이상의 패킷들이 무결성 검사 시 무시되는 경우 보안 채널을 통해 송신측 노드(100)에 디코딩이 불가능한 블록에 대한 정보를 전송한다(S422). 이에 따라, 송신측 노드(100)는 디코딩이 불가능한 블록에 대한 정보에 해당되는 블록들을 암호화한 후 이를 보안 채널을 통해 수신측 노드(140)에 전송하고, 수신측 노드(140)는 보안 채널을 통해 수신한 블록을 보안 키를 이용하여 복호화(S424)한 후 S420으로 진행하여 이후 단계를 수행한다.On the other hand, the receiving node 140 determines whether the amount of packets required for decoding for a predetermined time has been received (S420), if the amount of packets required for decoding for a predetermined time is not received, i.e. If more than a predetermined number of packets are ignored during the integrity check, information about a block that cannot be decoded is transmitted to the transmitting node 100 through a secure channel (S422). Accordingly, the transmitting node 100 encrypts the blocks corresponding to the information about the block that cannot be decoded and transmits the blocks to the receiving node 140 through the secure channel, and the receiving node 140 transmits the secure channel. After decrypting the block received through the security key (S424), the process proceeds to S420 to perform a subsequent step.

S420의 판단 결과, 기 설정된 시간 동안 디코딩에 필요한 양의 패킷들이 수신되는 경우 수신측 노드(140)는 수신된 패킷들(에러가 없는 패킷들)을 이용하여 디코딩을 한다(S426).As a result of the determination of S420, when the amount of packets required for decoding for a predetermined time is received, the receiving node 140 decodes using the received packets (packets without error) (S426).

본 발명의 실시 예에 따르면, 송수신측 노드(100, 140)간의 보안 채널을 통해 공유되는 보안 키를 이용하여 전송 데이터를 여러 개의 블록으로 나누어 암호화한 후 각 암호화된 블록에 대한 체크섬 값을 계산하여 수신측 노드(140)에 전송하고, 수신측 노드(140)에서 네트워크 코딩을 이용하여 송신측 노드(100)로부터 송출되는 패킷을 수신한 후 선형 연산을 통해 수신한 패킷에 대한 체크섬 값을 계산하여 패킷 전송 전에 송신측 노드(100)로부터 수신한 체크섬 값간의 비교를 통해 패킷의 무결성을 검사함으로써, 네트워크 코딩을 이용하여 데이터 전송에 있어서 기밀성과 무결성을 보장할 수 있다.According to an embodiment of the present invention, the transmission data is divided into a plurality of blocks by using a security key shared through a secure channel between the transmitting and receiving nodes 100 and 140, and then a checksum value is calculated for each encrypted block. The packet is transmitted to the receiving node 140, the receiving node 140 receives the packet transmitted from the transmitting node 100 using network coding, and then calculates a checksum value for the received packet through linear operation. By checking the integrity of the packet by comparing the checksum values received from the transmitting node 100 before the packet transmission, it is possible to ensure confidentiality and integrity in data transmission using network coding.

이상 본 발명의 구체적 실시 형태를 참조하여 본 발명을 설명하였으나, 이는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능 블록들 또는 수단들은 프로그램 형식으로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 본 명세서 및 청구범위에서 별개인 것으로 설명된 모듈 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 다양한 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등물에 의해 정해져야 한다.
The present invention has been described above with reference to specific embodiments of the present invention, but this is only illustrative and does not limit the scope of the present invention. Those skilled in the art can change or modify the described embodiments without departing from the scope of the present invention. Each of the functional blocks or means described in the present specification may be implemented in a program form, and may be implemented separately, or two or more may be integrated into one. Components such as modules described as separate in the specification and claims may be merely functionally distinct and may be physically implemented by one means, and components such as means described as a single element may be divided into several components. It can be made in combination. In addition, each method step described herein may be changed in order without departing from the scope of the present invention, and other steps may be added. In addition, the various embodiments described herein may be implemented independently as well as each other as appropriate. Therefore, the scope of the invention should be defined by the appended claims and their equivalents, rather than by the described embodiments.

100 : 송신측 노드 102 : 채널 형성부
104a : 전송 패킷 생성부 104b : 체크섬 계산부
104 : 데이터 처리부 106 : 전송부
120 : 중간 노드 140 : 수신측 노드
100: transmitting node 102: channel forming unit
104a: transmission packet generator 104b: checksum calculator
104: data processing unit 106: transmission unit
120: intermediate node 140: receiving node

Claims (15)

송신측 노드로부터 송신되는 패킷들을 중간 노드에서 수집한 후 이를 인코딩하여 수신측 노드에 전송하는 네트워크 코딩을 이용한 망에서의 보안 처리 시스템으로서,
상기 송신측 노드는,
상기 수신측 노드와 보안 채널을 형성한 후 상기 수신측 노드와 보안 키를 공유하는 채널 형성부와,
상기 수신측 노드에 전송할 전송 데이터를 블록으로 나눈 후 각 블록을 암호화하여 전송 패킷을 생성하며, 상기 암호화된 각 블록에 대한 체크섬 값을 각각 계산한 후 상기 계산된 체크섬 값을 상기 수신측 노드에 전송하는 데이터 처리부와,
상기 생성된 전송 패킷을 상기 중간 노드를 통해 상기 수신측 노드에 전송하는 전송부를 포함하며,
상기 수신측 노드는,
상기 송신측 노드로부터 수신한 전송 패킷에 대한 체크섬 값을 계산한 후 상기 계산된 체크섬 값과 상기 송신측 노드에서 수신한 체크섬 값간의 비교를 통해 상기 수신한 전송 패킷에 대한 무결성을 검사하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
A security processing system in a network using network coding that collects packets transmitted from a transmitting node at an intermediate node, encodes the packets, and transmits the encoded packets to the receiving node.
The transmitting node,
A channel forming unit configured to share a security key with the receiving node after forming a secure channel with the receiving node;
After dividing the transmission data to be transmitted to the receiving node into blocks, encrypting each block to generate a transmission packet, calculating the checksum value for each encrypted block, and then transmitting the calculated checksum value to the receiving node. A data processing unit
A transmission unit for transmitting the generated transmission packet to the receiving node through the intermediate node;
The receiving node,
After calculating the checksum value for the transport packet received from the transmitting node, the integrity of the received transport packet is checked by comparing the calculated checksum value with the checksum value received from the transmitting node.
Data transmission system in a network using network coding.
제 1 항에 있어서,
상기 데이터 처리부는,
상기 망의 상황을 고려하여 맥스-플로우 값을 계산한 후 상기 맥스-플로우 값을 전송의 기본 단위인 블록 사이즈로 설정하고, 상기 설정된 블록 사이즈에 맞도록 상기 전송 데이터를 상기 블록으로 나눈 후 상기 블록 각각을 상기 보안 키로 암호화하여 상기 전송 패킷을 생성하는 전송 패킷 생성부를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 1,
Wherein the data processing unit comprises:
After calculating the max-flow value in consideration of the network situation, the max-flow value is set to a block size which is a basic unit of transmission, and the block is divided after the transmission data is divided into the block to fit the set block size. And a transport packet generator for encrypting each of the security keys to generate the transport packet.
Data transmission system in a network using network coding.
제 1 항에 있어서,
상기 데이터 처리부는,
상기 암호화된 블록 내 각 비트의 데이터를 상기 보안 키와 연산을 통해 상기 각 비트에 대한 값을 계산하고, 상기 계산된 각 비트에 대한 값을 합한 후 상기 블록 각각에 대한 체크섬 값을 계산하여 상기 전송 패킷에 대한 전체 체크섬 값을 생성한 후 이를 상기 수신측 노드에 전송하는 체크섬 계산부를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 1,
Wherein the data processing unit comprises:
The data of each bit in the encrypted block is calculated through calculation with the security key, the value for each bit is added, the value for each calculated bit is added, the checksum value for each block is calculated, and the transmission is performed. A checksum calculator for generating a total checksum value for a packet and transmitting the total checksum value to the receiving node;
Data transmission system in a network using network coding.
제 1 항에 있어서,
상기 수신측 노드는, 상기 수신한 전송 패킷에서 실제 데이터와 상기 보안 키간의 선형 연산 값 및 상기 전송 패킷이 거치는 중간 노드들의 코딩 정보를 갖는 글로벌 인코딩 벡터와 상기 송신측 노드로부터 수신한 체크섬 값간의 선형 연산 값간의 비교를 통해 상기 무결성 검사를 수행하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 1,
The receiving node is a linear between a global operation vector having a linear operation value between actual data and the security key in the received transmission packet and coding information of intermediate nodes through which the transmission packet passes and a checksum value received from the transmitting node. Performing the integrity check by comparing between operation values
Data transmission system in a network using network coding.
제 1 항에 있어서,
상기 수신측 노드는, 상기 무결성 검사의 결과 에러가 발생된 패킷을 무시하고, 에러가 없는 패킷들만을 이용하여 디코딩을 수행하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 1,
The receiving node ignores a packet in which an error occurs as a result of the integrity check, and performs decoding using only packets without errors.
Data transmission system in a network using network coding.
제 5 항에 있어서,
상기 수신측 노드는, 상기 에러가 발생된 패킷이 기 설정된 개수 이상일 경우 상기 에러가 발생된 패킷에 대한 정보를 상기 보안 채널을 통해 상기 송신측 노드에 전송하고, 상기 보안 채널을 통해 상기 정보에 대응되는 블록을 상기 송신측 노드로부터 수신한 후 이를 디코딩에 이용하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 5, wherein
The receiving node transmits information about the packet in which the error occurs to the transmitting node through the secure channel when the number of packets in which the error occurs is greater than or equal to a preset number, and corresponds to the information through the secure channel. Receive a block from the transmitting node and use it for decoding
Data transmission system in a network using network coding.
제 6 항에 있어서,
상기 송신측 노드는, 상기 송신측 노드에서 상기 정보에 대응되는 블록을 상기 보안 키를 이용하여 암호화한 후 이를 상기 수신측 노드로 전송하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method according to claim 6,
The transmitting node encrypts a block corresponding to the information in the transmitting node using the security key and transmits the block to the receiving node.
Data transmission system in a network using network coding.
제 7 항에 있어서,
상기 수신측 노드는, 상기 송신측 노드로부터 수신한 암호화된 블록을 상기 보안 키로 복호화한 후 상기 복호화한 블록에 대한 디코딩을 수행하는
네트워크 코딩을 이용한 망에서의 데이터 전송 시스템.
The method of claim 7, wherein
The receiving node decrypts the encrypted block received from the transmitting node with the security key and then decodes the decrypted block.
Data transmission system in a network using network coding.
송신측 노드로부터 송신되는 패킷들을 중간 노드에서 수집한 후 이를 인코딩하여 수신측 노드에 전송하는 네트워크 코딩을 이용한 망에서의 데이터 전송 방법으로서,
상기 송신측 노드와 상기 수신측 노드간에 보안 채널을 형성하여 보안 키를 공유하는 단계와,
상기 송신측 노드에서 전송 데이터를 블록으로 나눈 후 상기 각 블록을 암호화하여 전송 패킷을 생성하는 단계와,
상기 암호화된 각 블록에 대한 체크섬 값을 각각 계산하고, 상기 계산된 체크섬 값을 상기 수신측 노드에 전송하는 단계와,
상기 생성된 전송 패킷을 상기 중간 노드를 통해 상기 수신측 노드에 전송하는 단계와,
상기 수신측 노드에서 수신한 전송 패킷에 대한 체크섬 값을 계산한 후 상기 계산된 체크섬 값과 상기 송신측 노드에서 수신한 체크섬 값간의 비교를 통해 상기 수신한 전송 패킷에 대한 무결성을 검사하는 단계를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
A data transmission method in a network using network coding in which packets transmitted from a transmitting node are collected at an intermediate node and then encoded and transmitted to the receiving node,
Establishing a secure channel between the transmitting node and the receiving node to share a security key;
Generating a transmission packet by dividing the transmission data into blocks by the transmitting node and encrypting each block;
Calculating checksum values for each of the encrypted blocks, and transmitting the calculated checksum values to the receiving node;
Transmitting the generated transport packet to the receiving node through the intermediate node;
Checking the integrity of the received transport packet by calculating a checksum value of the transport packet received by the receiving node and then comparing the calculated checksum value with the checksum value received by the transmitting node. doing
Data transmission method in a network using network coding.
제 9 항에 있어서,
상기 전송 패킷을 생성하는 단계는,
상기 망 상황을 고려하여 맥스-플로우 값을 계산하는 단계와,
상기 계산된 맥스-플로우 값을 전송의 기본 단위인 블록 사이즈로 설정하고, 상기 설정된 블록 사이즈에 맞도록 상기 전송 데이터를 상기 블록으로 나누는 단계와,
상기 블록 각각을 암호화하여 상기 전송 패킷을 생성하는 단계를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
The method of claim 9,
Generating the transport packet,
Calculating a max-flow value in consideration of the network situation;
Setting the calculated max-flow value to a block size that is a basic unit of transmission, dividing the transmission data into the blocks so as to meet the set block size;
Encrypting each of the blocks to generate the transport packet;
Data transmission method in a network using network coding.
제 9 항에 있어서,
상기 무결성 검사를 수행하는 단계는,
상기 수신측 노드에서 수신한 전송 패킷에서 실제 데이터와 상기 보안 키간의 선형 연산을 통해 제 1 값을 산출하는 단계와,
상기 전송 패킷에 거치는 중간 노드들의 코딩 정보를 갖는 글로벌 인코딩 벡터와 상기 송신측 노드로부터 수신한 체크섬 값간의 선형 연산을 통해 제 2 값을 산출하는 단계와,
상기 제 1 값과 제 2 값간의 비교를 통해 상기 무결성 검사를 수행하는 단계를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
The method of claim 9,
Performing the integrity check,
Calculating a first value through a linear operation between actual data and the security key in a transmission packet received at the receiving node;
Calculating a second value through a linear operation between a global encoding vector having coding information of intermediate nodes passing through the transport packet and a checksum value received from the transmitting node;
Performing the integrity check through a comparison between the first value and a second value.
Data transmission method in a network using network coding.
제 9 항에 있어서,
상기 수신측 노드에 전송하는 단계는,
상기 암호화된 블록 내 각 비트의 데이터를 상기 보안 키와 연산을 통해 상기 각 비트에 대한 값을 계산하고, 상기 계산된 각 비트에 대한 값을 합한 후 상기 블록 각각에 대한 체크섬 값을 계산하여 상기 전송 패킷에 대한 전체 체크섬 값을 생성한 후 이를 상기 수신측 노드에 전송하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
The method of claim 9,
The step of transmitting to the receiving node,
The data of each bit in the encrypted block is calculated through calculation with the security key, the value for each bit is added, the value for each calculated bit is added, the checksum value for each block is calculated, and the transmission is performed. Generating a full checksum value for a packet and sending it to the receiving node
Data transmission method in a network using network coding.
제 9 항에 있어서,
상기 데이터 전송 방법은,
상기 수신측 노드에서 상기 무결성 검사 결과에 따라 에러가 발생된 패킷을 무시하고, 에러가 없는 패킷들만을 이용하여 디코딩하는 단계를 더 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
The method of claim 9,
The data transmission method,
Ignoring the error-prone packet according to the integrity check result at the receiving node, and decoding using only the error-free packet;
Data transmission method in a network using network coding.
제 13 항에 있어서,
상기 데이터 전송 방법은,
상기 에러가 발생된 패킷이 기 설정된 개수 이상일 경우 상기 디코딩이 불가능한 블록에 대한 정보를 상기 보안 채널을 통해 상기 송신측 노드에 전송하는 단계와,
상기 송신측 노드로부터 상기 정보에 대응되는 블록을 상기 보안 채널을 통해 수신한 후 이를 디코딩하는 단계를 더 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
The method of claim 13,
The data transmission method,
Transmitting information on the block that cannot be decoded to the transmitting node through the secure channel when the error occurred packet is more than a preset number;
Receiving a block corresponding to the information from the transmitting node through the secure channel and decoding the block;
Data transmission method in a network using network coding.
제 14 항에 있어서,
상기 보안 채널을 통해 수신한 후 이를 디코딩하는 단계는,
상기 송신측 노드에서 상기 정보에 대응되는 블록을 상기 보안 키를 이용하여 암호화한 후 이를 상기 수신측 노드로 전송하는 단계와,
상기 수신측 노드에서 수신한 암호화된 블록을 상기 보안 키로 복호화하는 단계와,
상기 복호화한 블록에 대한 디코딩을 수행하는 단계를 포함하는
네트워크 코딩을 이용한 망에서의 데이터 전송 방법.
15. The method of claim 14,
Receiving over the secure channel and then decoding it,
Encrypting, by the transmitting node, the block corresponding to the information using the security key and transmitting the same to the receiving node;
Decrypting the encrypted block received at the receiving node with the security key;
Performing decoding on the decoded block;
Data transmission method in a network using network coding.
KR1020100099613A 2009-12-17 2010-10-13 Data transferring system and method using network coding KR101161585B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20090126182 2009-12-17
KR1020090126182 2009-12-17

Publications (2)

Publication Number Publication Date
KR20110069695A KR20110069695A (en) 2011-06-23
KR101161585B1 true KR101161585B1 (en) 2012-07-04

Family

ID=44401472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100099613A KR101161585B1 (en) 2009-12-17 2010-10-13 Data transferring system and method using network coding

Country Status (1)

Country Link
KR (1) KR101161585B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130155A (en) 2017-05-29 2018-12-07 주식회사 스마트코어 Method and apparatus for transmitting data using a data map between devices

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101501168B1 (en) * 2013-08-12 2015-03-12 홍익대학교 산학협력단 Feedback apparatus for network coding and method for data transmission of network coding
KR102201642B1 (en) * 2014-11-28 2021-01-13 삼성전자주식회사 Physically unclonable function circuit and key enrolling method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130155A (en) 2017-05-29 2018-12-07 주식회사 스마트코어 Method and apparatus for transmitting data using a data map between devices

Also Published As

Publication number Publication date
KR20110069695A (en) 2011-06-23

Similar Documents

Publication Publication Date Title
CN102884746B (en) Process transmission grouping
CN111404672B (en) Quantum key distribution method and device
WO2008013008A1 (en) Secret communication method and secret communication device thereof
KR20090108052A (en) Information transmission security method
JP2004274459A (en) Method for delivering quantum key and communication apparatus
US20170302445A1 (en) Key exchange method and key exchange system
US20050063547A1 (en) Standards-compliant encryption with QKD
KR20190024729A (en) Data receiving device, data transmission system, and key generating device
US9002000B2 (en) Method for conversion of a first encryption into a second encryption
KR101161585B1 (en) Data transferring system and method using network coding
EP3309995B1 (en) Key exchange method, key exchange system, key distribution device, communication device, and program
JP4963835B2 (en) ENCRYPTION METHOD AND DECRYPTION METHOD, APPARATUS, SYSTEM, AND PROGRAM USING THE METHOD
US11212078B2 (en) Method for sending digital data over a number of channels
CN107231628A (en) A kind of secure data fusion method suitable for many application scenarios
JP4843511B2 (en) Broadcast encryption method, information decryption method, apparatus thereof, program thereof, and recording medium thereof
KR101575040B1 (en) Different Units Same Security for instrumentation control
US8036383B2 (en) Method and apparatus for secure communication between cryptographic systems using real time clock
KR101575050B1 (en) Different Units Same Security
CN109996025B (en) Quantum communication-based adaptive audio and video communication method, device and system
JP5367023B2 (en) Information encryption method, information encryption apparatus, program, and recording medium
Venkadesh et al. Techniques to enhance security in SCTP for multi-homed networks
CN108737075B (en) Method, device and system for generating shared key
JPWO2004105310A1 (en) ENCRYPTION DEVICE, ENCRYPTION METHOD, AND ENCRYPTION PROGRAM
WO2023218575A1 (en) Key exchange system, hub device, qkd device, method, and program
Birrane Delay-Tolerant Security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee