KR102283953B1 - Apparatus and method for transmitting/receiving based on blockchain - Google Patents

Apparatus and method for transmitting/receiving based on blockchain Download PDF

Info

Publication number
KR102283953B1
KR102283953B1 KR1020190065112A KR20190065112A KR102283953B1 KR 102283953 B1 KR102283953 B1 KR 102283953B1 KR 1020190065112 A KR1020190065112 A KR 1020190065112A KR 20190065112 A KR20190065112 A KR 20190065112A KR 102283953 B1 KR102283953 B1 KR 102283953B1
Authority
KR
South Korea
Prior art keywords
nonce
message
authentication code
encryption
unit
Prior art date
Application number
KR1020190065112A
Other languages
Korean (ko)
Other versions
KR20200138865A (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 케이포시큐리티(주)
Priority to KR1020190065112A priority Critical patent/KR102283953B1/en
Publication of KR20200138865A publication Critical patent/KR20200138865A/en
Application granted granted Critical
Publication of KR102283953B1 publication Critical patent/KR102283953B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

본 발명은 블록체인 기반 데이터 송수신 장치 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따르면, 블록체인 기반 데이터 송수신 장치 및 방법은 P2P 네트워크 기반 블록체인 시스템에서 데이터 송수신을 할 때 데이터의 무결성과 안정성을 보장하고 시스템의 부하는 줄일 수 있다. The present invention relates to a block chain-based data transmission and reception apparatus and method. According to an embodiment of the present invention, a block chain-based data transmission/reception apparatus and method can ensure data integrity and stability and reduce system load when transmitting and receiving data in a P2P network-based block chain system.

Description

블록체인 기반 데이터 송수신 장치 및 방법 {APPARATUS AND METHOD FOR TRANSMITTING/RECEIVING BASED ON BLOCKCHAIN}Blockchain-based data transmission/reception device and method {APPARATUS AND METHOD FOR TRANSMITTING/RECEIVING BASED ON BLOCKCHAIN}

본 발명은 블록체인 기반 데이터 송수신 장치 및 방법에 관한 것으로, 보다 상세하게는 블록체인 시스템 기반의 P2P 네트워크 방식에서 네트워크 패킷 보호를 위한 암복호화 알고리즘을 제공하는 안전한 데이터 송수신 장치 및 방법에 관한 것이다.The present invention relates to a block-chain-based data transmission/reception apparatus and method, and more particularly, to a secure data transmission/reception apparatus and method for providing an encryption/decryption algorithm for protecting network packets in a P2P network method based on a block chain system.

블록체인 시스템은 P2P 네트워크 기반 시스템이다. P2P 네트워크에서 네트워크 패킷 보호를 위한 암복호화 알고리즘 및 키 분배 알고리즘들은 블록체인 시스템의 범위 밖으로 시스템 구축자 또는 시스템 서비스 제공자가 설치하여 사용되는 부분이다. 하지만 블록체인 시스템이 암호화폐 기반 서비스를 진행하면서 안전한 데이터 송수신 방식이 전체 블록체인 시스템의 안정성을 확보하는데 필수불가결한 요소로 변하였다. The blockchain system is a P2P network-based system. In a P2P network, encryption/decryption algorithms and key distribution algorithms for network packet protection are installed and used by system builders or system service providers outside the scope of the blockchain system. However, as the blockchain system proceeds with cryptocurrency-based services, the secure data transmission/reception method has changed to an essential element in securing the stability of the entire blockchain system.

이에 1세대 블록체인 암호 화폐의 근간인 비트코인(Bitcoin)은 P2P통신에 있어 Https를 적용하고 있으며, 이때 Https를 위한 인증서는 시스템에서 제공되지 않는다. 2세대 이더리움(Ethereum)에서도 동일한 방식을 제공하고 있으며, 3세대 하이퍼래저 패브릭(Hyperledger Fabric)도 Https를 적용하지만 인증서 발급을 시스템에서 제공함으로써 보다 진보된 안전한 방식을 제공한다.Accordingly, Bitcoin, the basis of the first-generation block chain cryptocurrency, applies Https for P2P communication, and at this time, a certificate for Https is not provided in the system. 2nd generation Ethereum provides the same method, and 3rd generation Hyperledger Fabric also applies Https, but provides a more advanced and secure method by providing certificate issuance in the system.

한편 기존의 블록체인 시스템은 네트워크 패킷 보안을 위해 SSL/TLS 방식이 키 쉐어링(Key Sharing) 방식을 사용한다. SSL/TLS 방식은 안전한 메시지 전송을 위해 핸드쉐이크(handshake) 과정을 통해 암호화키를 생성해 내고 생성된 세션키를 활용해 메시지를 암복호화하는 방식이다. 이는 중앙집중적인 시스템을 위해 고안된 것으로 P2P네트워크를 기반으로 하는 블록체인 시스템에는 과도한 트래픽을 발생시킨다. 과도한 트래픽은 P2P 네트워크 기반의 블록체인 시스템의 의사결정(합의) 도달 시간에 결정적인 지연 사유를 제공함으로써 블록체인 시스템에서 P2P네트워크 확장에 제약을 발생시킨다. 합의에 도달하는 방식과 절차는 대표 서버(노드)에서 나머지 3개의 참여 서버(노드)에 메시지를 브로드캐스팅함으로써 시작한다. 각 노드는 전송받은 메시지를 검증하고 그 다음 단계로 상태를 변화시키기 위해 전송받은 메시지와 자신의 정보를 덧붙여 메시지를 구성한 후 나머지 노드들에게 브로드캐스팅한다. 이러한 방식으로 4단계룰 걸쳐, 4개의 노드는 가자 브로드캐스팅을 하게 되고 최종 단계에서는 각 노드들이 자신의 메시지 이외 타 노드로부터 받은 최종단계 메시지의 개수가 3개 이상이면 합의된 것으로 간주하고 블록을 생성한 후 종료한다. 이 때, 각 노드 간 데이터 전송방식은 https 이기 때문에 한번의 메시지를 보내기 위해 실절적으로 11번(핸드쉐이킹)+1번(메시지 전송)=12번의 메시지를 주고 받는다. 따라서 SSL/TLS 방식은 하나의 서버와 다수의 클라이언트 간 안전한 데이터 전달을 위해 고안된 고보안성 방식으로 중앙집중적 네트워크 방식에 적합한 방식이나 블록체인 시스템이 지향하는 완전한 P2P 네트워크(complete P2P network) 방식에는 적합하지 않다.On the other hand, in the existing blockchain system, SSL/TLS method uses key sharing method for network packet security. In the SSL/TLS method, an encryption key is generated through a handshake process for secure message transmission, and the message is encrypted and decrypted using the generated session key. This is designed for a centralized system and generates excessive traffic in a blockchain system based on a P2P network. Excessive traffic creates a constraint on the expansion of the P2P network in the blockchain system by providing a decisive reason for delay in the decision (consensus) arrival time of the P2P network-based blockchain system. The method and procedure for reaching consensus starts by broadcasting a message from the representative server (node) to the remaining three participating servers (nodes). Each node verifies the received message and to change the state to the next step, adds the received message and its own information to compose a message and broadcasts it to the rest of the nodes. In this way, over the four-step rule, four nodes start broadcasting, and in the final step, if the number of final-step messages received from other nodes other than their own messages is 3 or more, it is considered as agreed and a block is created. and then quit At this time, since the data transmission method between each node is https, in order to send a single message, 11 (handshaking)+1 (message transmission) = 12 messages are exchanged effectively. Therefore, the SSL/TLS method is a high-security method designed for secure data transfer between a single server and multiple clients, and is suitable for a centralized network method, but is not suitable for a complete P2P network method aimed at by a block chain system. not.

블록체인 시스템은 블록의 무결성을 제공하고 오류 허용 체이닝(Fault Tolerant Chaining) 방식을 제공하므로 SSL/TLS 방식이 제공하는 데이터 패킷의 안정성은 블록체인 시스템이 제공해주는 무결성과 오류 감내 의사결정방식의 보안성과는 상관관계가 없다. 즉, 전체 블록체인 시스템에 높은 부하를 주면서까지 SSL/TLS 방식 네트워크 패킷 전송(P2P 네트워크 기반)의 높은 안정성에 의존할 필요가 없다. 이는 P2P 네트워크 기반 블록체인 시스템의 성능(합의도달시간, 시간내 합의도출시간, 최대 노드 확장개수 등)의 저해요소로 작용될 수 있다.Since the blockchain system provides block integrity and provides the Fault Tolerant Chaining method, the stability of data packets provided by the SSL/TLS method depends on the integrity of the block chain system and the security of the error-tolerant decision-making method. has no correlation In other words, there is no need to rely on the high stability of SSL/TLS method network packet transmission (based on P2P network) while putting a high load on the entire blockchain system. This can act as a hindrance to the performance of the P2P network-based blockchain system (consensus time, time to reach consensus within time, the maximum number of nodes to expand, etc.).

본 발명의 배경기술은 대한민국 공개특허 제10-2018-0117124호에 개시되어 있다.The background technology of the present invention is disclosed in Korean Patent Laid-Open No. 10-2018-0117124.

본 발명은 P2P 네트워크 상의 데이터를 블록체인 정보(송수신자 주소값)을 안전한 패킷 생성/검증 방식으로 이용하므로 데이터 위변조 가능성을 제거하여 보안성과 무결성을 보증할 수 있는 블록체인 기반 데이터 송수신 장치 및 방법을 제공한다.The present invention provides a block-chain-based data transmission/reception device and method that can ensure security and integrity by eliminating the possibility of data forgery and falsification by using block-chain information (sender address value) in a secure packet generation/verification method using data on a P2P network. to provide.

본 발명은 단순하면서 직관적인 방식으로 P2P네트워크에서 발생되는 트래픽을 보호하여 기존 대비 1/12 낮은 트래픽이 발생하여 시스템 부하를 줄일 수 있는 블록체인 기반 데이터 송수신 장치 및 방법을 제공한다.The present invention provides a block-chain-based data transmission/reception device and method that can reduce system load by protecting traffic generated in a P2P network in a simple and intuitive manner, thereby generating 1/12 lower traffic than before.

본 발명은 동종 또는 이종 블록체인 시스템 간 데이터 전달이 가능한 블록체인 기반 데이터 송수신 장치 및 방법을 제공한다.The present invention provides a block-chain-based data transmission/reception device and method capable of transferring data between homogeneous or heterogeneous block-chain systems.

본 발명의 일 측면에 따르면, 블록체인 기반 데이터 송수신 장치를 제공한다. According to one aspect of the present invention, there is provided a block chain-based data transmission and reception device.

본 발명의 일 실시예에 따른 수신자 정보로 헤더부를 생성하는 입력부, 송신 메시지를 수신자 정보로 암호화하여 암호 메시지를 생성하는 암호화 모듈, 암호 메시지를 송수신하는 송수신부 및 암호 메시지를 수신자 정보로 복호화하는 복호화 모듈을 포함할 수 있다.According to an embodiment of the present invention, an input unit for generating a header unit with recipient information, an encryption module for generating an encrypted message by encrypting a transmission message with recipient information, a transceiver for transmitting and receiving an encrypted message, and a decryption for decrypting the encrypted message into recipient information according to an embodiment of the present invention It can contain modules.

본 발명의 다른 일 측면에 따르면, 블록체인 기반 데이터 송수신 방법 및 이를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a computer-readable recording medium in which a block chain-based data transmission/reception method and a computer program executing the same are recorded.

본 발명의 일 실시예에 따른 블록체인 기반 데이터 송수신 방법 및 기록매체는 수신인 정보로 헤더부를 구성하는 단계, 임의 값인 논스를 생성하는 단계, 논스에서 키 유도 알고리즘을 이용해 논스 키를 추출하는 단계, 송신 메시지를 암호화하여 암호 메시지를 생성하는 단계, 해시함수를 이용한 논스 키와 암호 메시지의 해시 값을 메시지 인증코드로 추출하는 단계, 논스를 암호화하여 암호 논스를 생성하는 단계, 메시지 인증코드를 암호화하여 암호 인증코드를 생성하는 단계 및 헤더부, 암호 논스, 암호 메시지 및 암호 인증코드를 전송하는 단계를 포함할 수 있다.A block chain-based data transmission/reception method and recording medium according to an embodiment of the present invention includes the steps of configuring a header part with recipient information, generating a nonce that is an arbitrary value, extracting a nonce key using a key derivation algorithm from the nonce, and transmitting Encrypting the message to generate a cryptographic message, extracting the nonce key using a hash function and the hash value of the cryptographic message as a message authentication code, encrypting the nonce to generate a cryptographic nonce, encrypting the message authentication code It may include the step of generating an authentication code and transmitting the header part, the encryption nonce, the encryption message and the encryption authentication code.

본 발명의 일 실시예에 따른 블록체인 기반 데이터 송수신 방법 및 기록매체는 헤더부, 암호 논스, 암호 메시지 및 암호 인증코드를 수신하는 단계, 암호 인증코드를 복호화하여 메시지 인증코드를 추출하는 단계, 암호 논스를 복호화하여 논스를 추출하는 단계, 논스에서 키 유도 알고리즘으로 논스 키를 추출하는 단계, 해시함수를 이용해 논스 키와 암호 메시지의 해시 값을 산출하는 단계; 및 해시 값과 상기 메시지 인증코드를 비교하는 단계를 포함할 수 있다.A block chain-based data transmission/reception method and recording medium according to an embodiment of the present invention includes the steps of: receiving a header part, an encryption nonce, an encryption message and an encryption authentication code; decrypting the encryption authentication code to extract a message authentication code; extracting the nonce by decrypting the nonce, extracting the nonce key from the nonce using a key derivation algorithm, calculating a hash value of the nonce key and the encrypted message using a hash function; and comparing the hash value with the message authentication code.

본 발명의 일 실시 예에 따르면, 블록체인 기반 데이터 송수신 장치 및 방법은 P2P 네트워크 기반 블록체인 시스템에서 데이터 송수신을 할 때 단순하면서 직관적인 방식으로 P2P네트워크에서 발생되는 트래픽을 보호하여 기존 대비 1/12 낮은 트래픽이 발생하여 시스템 부하를 줄일 수 있다.According to an embodiment of the present invention, a block chain-based data transmission/reception apparatus and method protects traffic generated in a P2P network in a simple and intuitive manner when transmitting and receiving data in a P2P network-based block chain system, 1/12 compared to the existing method Low traffic can occur, reducing the system load.

본 발명의 일 실시 예에 따르면, 블록체인 정보(송수신자 주소값)을 안전한 패킷 생성/검증 방식으로 데이터 위변조 가능성을 제거하여 데이터이 무결성과 안정성을 보장한다.According to an embodiment of the present invention, data integrity and stability are ensured by removing the possibility of data forgery and falsification of block chain information (sender address value) in a secure packet generation/verification method.

본 발명의 일 실시 예에 따르면, 블록체인 기반 데이터 송수신 장치 및 방법은 블록체인 시스템의 네트워크 명과 블록체인 시스템의 네트워크 주소를 저장하므로 동종 또는 이종 블록체인 시스템 간 데이터 전달이 가능하다.According to an embodiment of the present invention, the block chain-based data transmission and reception apparatus and method store the network name of the block chain system and the network address of the block chain system, so that data transfer between the same or heterogeneous block chain system is possible.

도 1 내지 도 7은 본 발명의 일 실시 예에 따른 데이터 송수신 장치를 설명하기 위한 도면들.
도 8 및 도 9는 본 발명의 일 실시예에 따른 데이터 송수신 방법을 설명하기 위한 도면들.
도 10 은 본 발명의 일 실시 예에 따른 데이터 송수신 방법의 전체 흐름도.
1 to 7 are diagrams for explaining an apparatus for transmitting and receiving data according to an embodiment of the present invention.
8 and 9 are diagrams for explaining a data transmission/reception method according to an embodiment of the present invention.
10 is an overall flowchart of a data transmission/reception method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Also, as used herein and in the claims, the terms "a" and "a" and "a" are to be construed to mean "one or more" in general, unless stated otherwise.

이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. do it with

도 1 내지 도 7은 본 발명의 일 실시 예에 따른 데이터 송수신 장치를 설명하기 위한 도면들이다.1 to 7 are diagrams for explaining an apparatus for transmitting and receiving data according to an embodiment of the present invention.

도 1을 참조하면, 데이터 송수신 장치(10)는 P2P 네트워크 기반으로 데이터를 안전하게 송수신하면서 네트워크에 부하를 감소시킨다. 기존의 SSL/TLS 방식은 암호화 패킷을 전달하기 위해 키 쉐어링 절차를 수행한다. 키 쉐어링 절차는 패킷 전달을 위해 P2P 간 11번의 트랜젝션을 발생시킨 후 마지막에 암호화 패킷을 전송하는 방식이다. 예를 들어 N개의 피어(peer)가 존재할 때 하나의 데이터 전송을 위해 총 (11+1) X N! 만큼의 데이터 전달이슈가 발생하게 된다. 특히 이러한 전송방식은 이미 안정성이 확보된 블록체인 시스템에서는 불필요하게 과도한 부하를 발생시킨다. 데이터 송수신 장치(10)는 동적으로 패킷을 암호화하여 1회의 패킷 전송으로 안정성을 확보하고 시스템 부하도 감소시킨다.Referring to FIG. 1 , the data transmission/reception device 10 reduces the load on the network while safely transmitting and receiving data based on a P2P network. The existing SSL/TLS method performs a key-sharing procedure to deliver an encrypted packet. The key sharing procedure is a method of transmitting an encryption packet at the end after generating 11 transactions between P2P for packet delivery. For example, when there are N peers, a total of (11+1) X N! As many data transfer issues occur. In particular, this transmission method unnecessarily generates excessive load in a blockchain system that has already secured stability. The data transmission/reception device 10 dynamically encrypts packets to ensure stability through one-time packet transmission and also reduces system load.

도 2 를 참고하면 데이터 송수신 장치(10)는 입력부(100), 암호화 모듈(200), 송수신부(300) 및 복호화 모듈(400)을 포함한다.Referring to FIG. 2 , the data transmission/reception device 10 includes an input unit 100 , an encryption module 200 , a transmission/reception unit 300 , and a decryption module 400 .

입력부(100)는 수신인 정보(120)와 송신 메시지(150)를 입력받는다. 입력부(100)는 수신인 정보(120)를 기반으로 헤더부(110)를 생성한다.The input unit 100 receives the recipient information 120 and the transmission message 150 . The input unit 100 generates the header unit 110 based on the recipient information 120 .

도3를 참조하면 헤더부(110)는 데이터를 송수신할 때 필요한 정보를 관리한다. 수신자 정보(120), 발신자 정보(130)를 포함하고, 타입정보(140)를 더 포함한다. Referring to FIG. 3 , the header unit 110 manages information necessary for transmitting and receiving data. It includes receiver information 120 and sender information 130 , and further includes type information 140 .

수신자 정보(120)은 수신자 주소(121) 및 수신자 주소가 속한 시스템 정보(123)를 포함한다. 예를 들면 블록체인 시스템에서 수신자 주소(121)는 수신자의 전자지갑일 수 있다. 시스템 정보(123)는 다양한 블록체인 시스템의 네트워크명이다. 예를 들면, 시스템 정보(123)은 비트코인, 이더리움, EOS, 하이퍼 레저 등 일 수 있다. 기존의 이종 블록체인 시스템은 전자지갑의 생성방법이 다르기 때문에 이종간 데이터 전달이 불가능하다. 하지만 데이터 송수신 장치(10)는 헤더부(110)에 블록체인 시스템의 네트워크 명과 블록체인 시스템의 네트워크 주소를 저장하므로 동종 또는 이종 블록체인 시스템 간 데이터 전달이 가능하다. 또한 블록체인 시스템에서 노드(node)간 P2P 네트워크 뿐만 아니라 노드(node)와 전자지갑(wallet)간 데이터 전달 및 암호화폐 거래도 가능하다. 현재 거래소에서 복잡한 과정을 거쳐 사람을 통해 진행되는 전자지갑, 블록, 트랜잭션의 노드간 전파가 거래소를 거치지 않고 빠르게 전파될 수 있다.The recipient information 120 includes a recipient address 121 and system information 123 to which the recipient address belongs. For example, in a blockchain system, the recipient address 121 may be the recipient's electronic wallet. The system information 123 is a network name of various blockchain systems. For example, the system information 123 may be Bitcoin, Ethereum, EOS, Hyper Ledger, or the like. In the existing heterogeneous blockchain system, it is impossible to transfer data between different types because the creation method of the electronic wallet is different. However, since the data transmission/reception device 10 stores the network name of the block chain system and the network address of the block chain system in the header unit 110 , data transfer between the same or heterogeneous block chain system is possible. In addition, in the blockchain system, not only P2P networks between nodes, but also data transfer and cryptocurrency transactions between nodes and electronic wallets are possible. In the current exchange, the inter-node propagation of electronic wallets, blocks, and transactions that are carried out through humans through a complex process can be propagated quickly without going through the exchange.

발신자 정보(130)는 발신자 주소(131) 및 발신자 주소(131)가 속한 시스템 정보(133)를 포함한다. 시스템 정보(133)는 다양한 블록체인 시스템의 네트워크명이다. 예를 들면, 시스템은 비트코인, 이더리움, EOS, 하이퍼 래저 등 일 수 있다.The sender information 130 includes a sender address 131 and system information 133 to which the sender address 131 belongs. The system information 133 is a network name of various blockchain systems. For example, the system may be Bitcoin, Ethereum, EOS, Hyper Ledger, etc.

타입정보(140)는 전자지갑, 블록, 트랜잭션 등 전송하려는 데이터의 타입이다.The type information 140 is a type of data to be transmitted, such as an electronic wallet, a block, or a transaction.

도 4를 참조하면 실제 네트워크 패킷을 전달할 때 사용되는 데이터 예시로 발신자(From) 및 수신자(To) 정보에 주소를 포함하여 블록체인 시스템의 네트워크명을 포함한다.Referring to FIG. 4 , as an example of data used when transmitting an actual network packet, the network name of the block chain system is included by including the address in the sender (From) and receiver (To) information.

다시 도2를 참조하면, 입력부(100)는 수신인 주소(121)와 송신 메시지(150)를 암호화 모듈(200)로 전송한다.Referring back to FIG. 2 , the input unit 100 transmits the recipient address 121 and the transmission message 150 to the encryption module 200 .

도 5을 참고하면, 암호화 모듈(200)은 송신할 데이터의 안정성을 확보하기 위한 암호화 작업을 수행한다. 암호화 모듈(200)은 논스 생성부(210), 메시지 암호부(220), 암호해시부(230), 논스 암호부(240) 및 인증코드 암호부(250)를 포함한다.Referring to FIG. 5 , the encryption module 200 performs an encryption operation to secure the stability of data to be transmitted. The encryption module 200 includes a nonce generating unit 210 , a message encryption unit 220 , an encryption hash unit 230 , a nonce encryption unit 240 , and an authentication code encryption unit 250 .

논스 생성부(210)는 송신 메시지(150)를 수신하면 논스(211)를 생성한다. 논스(211)는 송신자가 데이터를 송신할 때마다 랜덤하게 생성되는 임의의 값이다. 논스 생성부(210)는 키 유도 알고리즘(KDF; Key Derivation Function)으로 논스(211)에서 논스 키(221)를 추출한다. 생성된 논스 키(221)와 송신 메시지(150)를 메시지 암호부(220)에 전송한다.The nonce generator 210 generates a nonce 211 upon receiving the transmission message 150 . The nonce 211 is an arbitrary value that is randomly generated whenever the sender transmits data. The nonce generator 210 extracts the nonce key 221 from the nonce 211 using a key derivation function (KDF). The generated nonce key 221 and the transmission message 150 are transmitted to the message encryption unit 220 .

메시지 암호부(220)는 송신 메시지(150)를 암호화 알고리즘으로 통해 암호화 메시지(223)를 생성한다. 이때 암호키는 논스 키(221)를 사용하고 암호화 알고리즘은 AES128 알고리즘일 수 있다. 메시지 암호부(220)는 암호 메시지(223)와 논스 키(221)를 암호해시부(230)로 전송한다.The message encryption unit 220 generates an encrypted message 223 through the transmission message 150 using an encryption algorithm. In this case, the encryption key may be a nonsense key 221 and the encryption algorithm may be an AES128 algorithm. The message encryption unit 220 transmits the encryption message 223 and the nonce key 221 to the encryption hash unit 230 .

암호해시부(230)는 암호 메시지(223)와 논스 키(221)를 해시함수에 적용해 메시지 인증코드(MAC, 231)를 생성한다. 암호해시부(230)는 메시지 인증코드(231)를 논스 암호부(240)와 인증코드 암호부(250)로 전송한다. 논스 암호부(240)는 논스(211)를 암호화하여 암호 논스(241)를 생성한다. 이때 암호키는 메시지 인증코드(231)이고, 암호화 알고리즘은 AES 128 알고리즘을 이용할 수 있다.The cryptographic hash unit 230 applies the cryptographic message 223 and the nonce key 221 to the hash function to generate a message authentication code (MAC, 231). The encryption hash unit 230 transmits the message authentication code 231 to the nonce encryption unit 240 and the authentication code encryption unit 250 . The nonce encryption unit 240 encrypts the nonce 211 to generate an encryption nonce 241 . At this time, the encryption key is the message authentication code 231, and the encryption algorithm may use the AES 128 algorithm.

인증코드 암호부(250)는 메시지 인증코드(231)를 암호화하여 암호 인증코드(251)를 생성한다. 이때 암호키는 수신자 주소(121)이고, 암호화 알고리즘은 AES 128 알고리즘을 이용할 수 있다.The authentication code encryption unit 250 encrypts the message authentication code 231 to generate an encryption authentication code 251 . In this case, the encryption key is the recipient address 121, and the encryption algorithm may use the AES 128 algorithm.

도 6을 참조하면 송수신부(300, 도2 참조)는 입력부(100)에서 생성된 헤더부(110)와 암호화 모듈(200)에서 생성된 안전패킷부(160)를 수신인에게 전송한다. 안전패킷부(160)는 암호 논스(241), 암호 메시지(223) 및 암호 인증코드(251)를 포함한다. 송수신부(300)는 헤더부(110)의 블록체인 시스템 정보를 이용해 거래소를 통하지 않고 이종 블록체인 시스템으로 데이터 전송이 가능하다.Referring to FIG. 6 , the transceiver 300 (refer to FIG. 2 ) transmits the header unit 110 generated by the input unit 100 and the secure packet unit 160 generated by the encryption module 200 to the recipient. The secure packet unit 160 includes an encryption nonce 241 , an encryption message 223 , and an encryption authentication code 251 . The transceiver 300 can transmit data to a heterogeneous block chain system without going through an exchange using the block chain system information of the header unit 110 .

도 7를 참조하면 복호화 모듈(400)은 인증코드 복호부(410), 논스 복호부(420), 복호해시부(430), 검증부(440) 및 메시지 복호부(450)를 포함한다. 복호화 모듈(400)은 송수신부(300)에서 전송받은 암호화 데이터를 복호화한다.Referring to FIG. 7 , the decryption module 400 includes an authentication code decryption unit 410 , a nonce decryption unit 420 , a decryption hash unit 430 , a verification unit 440 , and a message decryption unit 450 . The decryption module 400 decrypts the encrypted data transmitted from the transceiver 300 .

인증코드 복호부(410)는 송수신부(300)에서 수신받은 암호 인증코드(251)를 복호화하여 메시지 인증코드(231)를 추츨한다. 이때 복호키는 암호키로 사용했던 수신자 주소(121)이다. 인증코드 복호부(410)는 복호화된 메시지 인증코드(231)를 논수 복호부(420)로 전송한다.The authentication code decryption unit 410 extracts the message authentication code 231 by decrypting the encryption authentication code 251 received from the transceiver 300 . At this time, the decryption key is the recipient address 121 used as the encryption key. The authentication code decoding unit 410 transmits the decrypted message authentication code 231 to the non-number decoding unit 420 .

논스 복호부(420)는 암호 논스(241)를 복호화하여 논스(211)를 추출한다. 이 때 복호키는 메시지 인증코드(231)이고, 예를 들면 논스 복호부(420)는 AES 128 알고리즘을 이용하여 복호화할 수 있다.The nonce decryption unit 420 decrypts the encrypted nonce 241 to extract the nonce 211 . At this time, the decryption key is the message authentication code 231, for example, the nonce decryption unit 420 may decrypt it using the AES 128 algorithm.

논스 복호부(420)는 논스(211)에서 KDF 알고리즘을 이용해 논스 키(221)를 추출한다. 논스 복호부(420)는 논스 키(221)를 복호해시부(430)에 전송한다. The nonce decoding unit 420 extracts the nonce key 221 from the nonce 211 using the KDF algorithm. The nonce decryption unit 420 transmits the nonce key 221 to the decryption hash unit 430 .

복호해시부(430)는 송수신부(300)로부터 수신한 암호 메시지(223)와 논스 키(221)를 해시함수를 사용하여 해시 값(431)을 생성한다. The decryption hash unit 430 generates a hash value 431 using a hash function for the encryption message 223 and the nonce key 221 received from the transceiver 300 .

검증부(440)는 해시 값(431)과 메시지 인증코드(231)를 비교하여 동일하면 무결한 데이터로 판단한다. 검증부(440)는 데이터가 무결하다고 판단되면 암호 메시지(223)를 메시지 복호부(450)로 전송한다.The verification unit 440 compares the hash value 431 with the message authentication code 231 and determines that the data is the same if the same. The verification unit 440 transmits the encrypted message 223 to the message decryption unit 450 when it is determined that the data is intact.

메시지 복호부(450)는 암호 메시지(223)를 논스 키(221)로 복호화하여 수신한 메시지 즉, 발신자가 송신한 송신 메시지(221)을 추출한다. 예를 들면 메시지 복호부(450)는 AES 128 알고리즘을 이용해 복호화할 수 있다.The message decryption unit 450 decrypts the encrypted message 223 with the nonce key 221 to extract the received message, that is, the transmission message 221 transmitted by the sender. For example, the message decoding unit 450 may decode the message using the AES 128 algorithm.

도 8 및 도 9는 본 발명의 일 실시예에 따른 데이터 송수신 방법을 설명하기 위한 도면들이다.8 and 9 are diagrams for explaining a data transmission/reception method according to an embodiment of the present invention.

도 8을 참조하면, 데이터 송수신 장치(10)는 입력받은 데이터를 암호화하여 전송한다. Referring to FIG. 8 , the data transmission/reception device 10 encrypts and transmits received data.

단계 S810에서 데이터 송수신 장치(10)는 송신할 송신 메시지(150)와 수신자 정보(120)를 입력받는다. 수신자 정보(120)는 수신자가 사용하는 블록체인 시스템의 정보가 포함되어 있다.In step S810 , the data transmission/reception device 10 receives a transmission message 150 and recipient information 120 to be transmitted. Recipient information 120 includes information on the block chain system used by the recipient.

단계 S820에서 데이터 송수신 장치(10)는 수신자 정보(120)를 포함한 헤더부(110)를 생성한다. 해더부(110)는 수신자 주소(121)와 수신자 주소가 속한 시스템 정보(123), 발신자 주소(131)와 발신자 주소가 속한 시스템 정보(133)를 포함하고 타입정보(140)를 더 포함한다.In step S820 , the data transmission/reception device 10 generates the header unit 110 including the receiver information 120 . The header unit 110 includes a recipient address 121 and system information 123 to which the recipient address belongs, a sender address 131 and system information 133 to which the sender address belongs, and further includes type information 140 .

단계 S830에서 데이터 송수신 장치(10)는 랜덤한 값인 논스(211)를 생성한다.In step S830, the data transceiver 10 generates a nonce 211, which is a random value.

단계 S840에서 데이터 송수신 장치(10)는 KDF 알고리즘을 이용해 논스(211)에서 논스 키(221)를 추출한다.In step S840, the data transmission/reception device 10 extracts the nonce key 221 from the nonce 211 using the KDF algorithm.

단계 S850에서 데이터 송수신 장치(10)는 송신 메시지(150)를 암호화하여 암호 메시지(223)를 생성한다. 이때 데이터 송수신 장치(10)는 논스 키(221)를 암호키로 하고 AES128 알고리즘으로 송신 메시지(150)를 암호화 할 수 있다.In step S850 , the data transmission/reception device 10 encrypts the transmission message 150 to generate an encryption message 223 . In this case, the data transceiver 10 may use the nonce key 221 as an encryption key and encrypt the transmission message 150 using the AES128 algorithm.

단계 860에서 데이터 송수신 장치(10)는 논스 키(221)와 암호 메시지(223)를 해시함수를 통해 메시지 인증코드(MAC, 231)를 추출한다.In step 860, the data transmission/reception device 10 extracts the message authentication code (MAC, 231) through the hash function of the nonce key 221 and the encrypted message 223.

단계 S870에서 데이터 송수신 장치(10)는 논스(211)를 암호화하여 암호 논스(241)를 생성한다. 이때 사용되는 암호키는 메시지 인증코드(231)이고, 암호화 알고리즘은 AES128 알고리즘 일 수 있다.In step S870, the data transceiver 10 encrypts the nonce 211 to generate the encrypted nonce 241. The encryption key used at this time may be the message authentication code 231, and the encryption algorithm may be the AES128 algorithm.

단계 S880에서 데이터 송수신 장치(10)는 메시지 인증코드(231)를 암호화하여 암호 인증코드(251)를 생성한다. 이때 사용되는 암호키는 수신자 주소(121)이고 암호화 알고리즘은 AES128 알고리즘 일 수 있다.In step S880, the data transmission/reception device 10 encrypts the message authentication code 231 to generate the encryption authentication code 251. The encryption key used at this time may be the recipient address 121 and the encryption algorithm may be an AES128 algorithm.

단계 S890에서 데이터 송수신 장치(10)는 생성한 헤더부(110), 암호 논스(241), 암호 메시지(223) 및 암호 인증코드(251)를 함께 전송한다.In step S890 , the data transmission/reception device 10 transmits the generated header unit 110 , the encryption nonce 241 , the encryption message 223 and the encryption authentication code 251 together.

도 9을 참조하면, 데이터 송수신 장치(10)는 수신받은 데이터를 복호화하여 수신 메시지를 추출한다. Referring to FIG. 9 , the data transmission/reception apparatus 10 decodes received data and extracts a received message.

데이터 송수신 장치(10)는 헤더부(110)의 수신인 정보가 현재 사용자의 정보와 일치하는 경우 수신 데이터를 복호화하는 작업을 시작한다.When the recipient information of the header unit 110 matches the current user's information, the data transceiver 10 starts decoding the received data.

단계 S910에서 데이터 송수신 장치(10)는 헤더부(110)와 함께 암호 논스(241), 암호 메시지(223) 및 암호 인증코드(251)를 수신한다. In step S910 , the data transmission/reception device 10 receives the encryption nonce 241 , the encryption message 223 , and the encryption authentication code 251 together with the header unit 110 .

단계 S920에서 데이터 송수신 장치(10)는 현재 사용자의 주소정보로 복호키로 사용하여 암호 인증코드(251)의 복호화 작업을 거쳐서 메시지 인증코드(231)을 추출한다.In step S920, the data transmission/reception device 10 extracts the message authentication code 231 through the decryption operation of the encryption authentication code 251 using the current user's address information as a decryption key.

단계 S930에서 데이터 송수신 장치(10)는 암호 논스(241)를 복호화하여 논스(211)를 추출한다. 이때 복호키는 메시지 인증코드(231)이고 복호화 알고리즘은 AES128 알고리즘일 수 있다.In step S930 , the data transmission/reception device 10 decrypts the encrypted nonce 241 to extract the nonce 211 . In this case, the decryption key may be the message authentication code 231 and the decryption algorithm may be an AES128 algorithm.

단계 S940 에서 데이터 송수신 장치(10)는 논스(211)를 KDF 알고리즘을 통해 논스 키(221)를 추출한다.In step S940 , the data transceiver 10 extracts the nonce key 221 from the nonce 211 through the KDF algorithm.

단계 S950에서 데이터 송수신 장치(10)는 논스 키(221)와 암호 메시지(223)을 해시함수를 이용해서 해시 값(451)을 추출한다.In step S950 , the data transmission/reception device 10 extracts a hash value 451 from the nonce key 221 and the encrypted message 223 using a hash function.

단계 S960에서 데이터 송수신 장치(10)는 해시 값(451)과 메시지 인증코드(231)를 비교하여 데이터의 무결성을 검증한다. 해시 값과 메시지 인증코드(231)가 동일하면 메시지는 무결하므로 단계 S970에서 데이터 송수신 장치(10)는 암호 메시지(223)를 복호하하여 수신메시지를 추출한다. 이때 데이터 송수신 장치(10)는 복호키는 논스 키(221)로 하고 복호화 알고리즘은 AES128 알고리즘일 수 있다.In step S960, the data transmission/reception device 10 compares the hash value 451 with the message authentication code 231 to verify the integrity of the data. If the hash value and the message authentication code 231 are the same, the message is intact. In step S970, the data transmission/reception device 10 decrypts the encrypted message 223 to extract the received message. In this case, the data transceiver 10 may use the nonce key 221 as the decryption key and the AES128 algorithm as the decryption algorithm.

도 10은 본 발명의 일 실시 예에 따른 데이터 송수신 방법을 도식화한 도면이다. 10 is a diagram schematically illustrating a data transmission/reception method according to an embodiment of the present invention.

단계 S1011에서 데이터 송수신 장치(10)는 수신자 정보와 송신할 메시지가 입력되면 논스(211)를 생성한다.In step S1011 , the data transceiver 10 generates a nonce 211 when recipient information and a message to be transmitted are input.

단계 S1013에서 데이터 송수신 장치(10)는 키 유도 알고리즘(Key Derivation Fuction)을 이용해 논스 키(221)를 생성한다.In step S1013 , the data transmission/reception device 10 generates a nonce key 221 using a key derivation function.

단계 S1015에서 데이터 송수신 장치(10)는 송신 메시지(150)를 논스 키(221)로 암호화하여 암호 메시지(223)를 생성한다. 이때 암호화 알고리즘은 AES128알고리즘 일 수 있다.In step S1015 , the data transmission/reception device 10 encrypts the transmission message 150 with the nonce key 221 to generate an encryption message 223 . In this case, the encryption algorithm may be an AES128 algorithm.

단계 S1017에서 데이터 송수신 장치(10)는 논스 키(221)와 암호 메시지(223)를 해시함수를 이용해 해시 값을 추출한다. 이 때 추출한 해시 값이 메시지 인증코드(231)이다. In step S1017, the data transmission/reception device 10 extracts a hash value of the nonce key 221 and the encryption message 223 using a hash function. At this time, the extracted hash value is the message authentication code 231 .

단계 S1019에서 데이터 송수신 장치(10)는 논스(211)를 암호화하여 암호 논수(241)를 추출할 때 암호키는 메시지 인증코드(231)이고 AES128 알고리즘을 이용할 수 있다.In step S1019, when the data transmitting/receiving device 10 encrypts the nonce 211 and extracts the encrypted nonsense 241, the encryption key is the message authentication code 231 and the AES128 algorithm may be used.

단계 S1021에서 데이터 송수신 장치(10)는 메시지 인증코드(231)의 암호화를 거쳐 암호 인증코드(251)를 추출한다. 이 때 암호키는 수신자 주소(121)이고, AES128 알고리즘으로 암호화할 수 있다.In step S1021 , the data transmission/reception device 10 extracts the encryption authentication code 251 through encryption of the message authentication code 231 . At this time, the encryption key is the recipient address 121, and can be encrypted with the AES128 algorithm.

단계 1031에서 데이터 송수신 장치(10)는 수신자 정보(120)가 포함된 헤더부(110) 와 암호 논스(241), 암호 메시지(223) 및 암호 인증코드(251)가 포함된 안전 패킷부(160)의 형태로 송신하고 수신한다.In step 1031 , the data transmission/reception device 10 includes a header unit 110 including recipient information 120 , a secure packet unit 160 including an encryption nonce 241 , an encryption message 223 , and an encryption authentication code 251 . ) in the form of sending and receiving.

단계 S1051에서 데이터 송수신 장치(10)는 수신한 암호 인증코드(251)를 복호화를 거쳐 메시지 인증코드(231)를 추출한다. 이 때, 복호키는 수신인 주소(121)이고, 복호화 알고리즘은 암호화할 때 사용한 알고리즘으로 AES128 알고리즘일 수 있다In step S1051 , the data transmission/reception device 10 decrypts the received encryption authentication code 251 to extract the message authentication code 231 . In this case, the decryption key is the addressee address 121, and the decryption algorithm is an algorithm used for encryption and may be an AES128 algorithm.

단계 S1053에서 데이터 송수신 장치(10)는 수신한 암호 논스(241)를 메시지 인증코드(231)를 복호키로 해서 복호화하여 논스(211)를 추출한다. 이 때 복호화 알고리즘은 암호화할 때 사용한 AES128 알고리즘일 수 있다.In step S1053, the data transmission/reception device 10 decrypts the received encryption nonce 241 using the message authentication code 231 as a decryption key to extract the nonce 211. In this case, the decryption algorithm may be the AES128 algorithm used for encryption.

단계 S1055에서 데이터 송수신 장치(10)는 논스(211)를 키 유도 알고리즘으로 논스 키(221)를 생성한다.In step S1055, the data transceiver 10 generates a nonce key 221 using the nonce 211 as a key derivation algorithm.

단계 S1057에서 데이터 송수신 장치(10)는 수신한 암호 메시지(223)와 논스 키(221)의 해시 값을 구한다.In step S1057, the data transmission/reception device 10 obtains a hash value of the received encryption message 223 and the nonce key 221.

단계 S1059에서 데이터 송수신 장치(10)는 해시 값과 메시지 인증코드(231)를 비교 검증한다. 단계 S1059에서 해시 값과 메시지 인증코드(231)가 동일하면 데이터 무결성을 보증한다.In step S1059, the data transmission/reception device 10 compares and verifies the hash value and the message authentication code 231 . If the hash value and the message authentication code 231 are the same in step S1059, data integrity is guaranteed.

단계 S1061은 해시 값과 메시지 인증코드(231)가 동일하면 논스 키(221)를 복호키로 하여 수신한 암호 메시지(223)를 복호화하여 수신메시지 즉 발신자의 송신메시지(150)를 추출한다. 이 때 복호화 알고리즘은 암호화할 때 사용한 AES128 알고리즘일 수 있다.In step S1061, if the hash value and the message authentication code 231 are the same, the received encrypted message 223 is decrypted using the nonce key 221 as the decryption key to extract the received message, that is, the sender's transmitted message 150. In this case, the decryption algorithm may be the AES128 algorithm used for encryption.

데이터 송수신 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The data transmission/reception method may be implemented in the form of program instructions that 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 computer readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - Includes magneto-optical media and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. In addition, the above-mentioned medium may be a transmission medium such as an optical or metal wire or waveguide including a carrier wave for transmitting a signal designating a program command, a data structure, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes 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.

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at focusing on the embodiments thereof. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

10: 데이터 송수신 장치
100: 입력부 110: 헤더부
120: 수신자 정보 121: 수신자 주소
123: 수신자의 시스템 정보 130: 발신자 정보
121: 발신자 주소 123: 발신자의 시스템 정보
140: 타입 정보 150: 송신 메시지
160: 안전 패킷부 200: 암호화 모듈
210: 논스 생성부 211: 논스
220: 메시지 암호부 221: 논스 키
223: 암호 메시지 230: 암호해시부
231: 메시지 인증코드 240: 논스 암호부
241: 암호 논스 250: 인증코드 암호부
251: 암호 인증코드 300: 송수신부
400: 복호화 모듈 410: 인증코드 복호부
420: 논스 복호부 430: 복호해시부
440: 검증부 450: 메시지 복호부
10: data transceiver
100: input unit 110: header unit
120: recipient information 121: recipient address
123: system information of the recipient 130: information of the sender
121: sender address 123: sender's system information
140: type information 150: send message
160: secure packet unit 200: encryption module
210: nonce generator 211: nonce
220: message encryption unit 221: non-key
223: password message 230: password hash unit
231: message authentication code 240: nonce encryption unit
241: password nonce 250: authentication code encryption unit
251: password authentication code 300: transceiver
400: decryption module 410: authentication code decryption unit
420: nonce decoding unit 430: decoding hash unit
440: verification unit 450: message decoding unit

Claims (23)

블록체인 기반 데이터의 송수신 장치에 있어서,
헤더부를 생성하는 입력부;
안전 패킷부를 생성하는 암호화 모듈;
상기 헤더부 및 안전 패킷부를 포함하는 블록체인 기반 데이터를 송수신하는 송수신부; 및
수신된 데이터를 복호화하는 복호화 모듈을 포함하되,
상기 안전 패킷부는
암호 논스, 암호 메시지 및 암호 인증코드를 포함하고
상기 암호화 모듈은
송신 메시지가 입력될 때마다 랜덤으로 임의의 논스 및 논스 키를 생성하는 논스 생성부;
상기 송신 메시지를 암호화하여 암호 메시지로 생성하는 메시지 암호부;
상기 암호 메시지 및 상기 논스 키를 이용해 메시지 인증코드를 생성하는 암호해시부;
상기 메시지 인증코드를 이용해 암호 논스를 생성하는 논스 암호부; 및
상기 메시지 인증코드를 암호화하여 암호 인증코드를 생성하는 인증코드 암호부를 포함하고,
상기 헤더부는
수신자 정보 및 발신자 정보를 포함하되,
상기 수신자 정보는
블록체인 시스템의 네트워크 주소인 수신자 주소 및 상기 수신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고,
상기 발신자 정보는
블록체인 시스템의 네트워크 주소인 발신자 주소 및 상기 발신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고,
상기 시스템 정보로 이종 블록체인 시스템 간 데이터를 송수신하는
블록체인 기반 데이터 송수신 장치.
A device for transmitting and receiving block chain-based data,
an input unit generating a header unit;
an encryption module for generating a secure packet part;
a transceiver unit for transmitting and receiving block chain-based data including the header unit and the safety packet unit; and
A decryption module for decrypting the received data,
The safety packet part
It contains a password nonce, a password message, and a password verification code.
The encryption module is
a nonce generator for randomly generating a random nonce and a nonce key whenever a transmission message is input;
a message encryption unit generating an encrypted message by encrypting the transmitted message;
a cryptographic hashing unit for generating a message authentication code using the cryptographic message and the nonce key;
a nonce encryption unit for generating an encryption nonce using the message authentication code; and
Comprising an authentication code encryption unit for generating a password authentication code by encrypting the message authentication code,
the header part
including recipient information and sender information;
The recipient information is
It contains the recipient address, which is the network address of the block chain system, and system information, which is the network name of the block chain system to which the recipient address belongs,
The sender information is
It contains the sender address, which is the network address of the block chain system, and system information, which is the network name of the block chain system to which the sender address belongs,
Transmitting and receiving data between heterogeneous blockchain systems with the system information
Blockchain-based data transceiver.
삭제delete 제1항에 있어서,
상기 논스 생성부는
키 유도 함수를 이용해 논스에서 논스 키를 추출하는 블록체인 기반 데이터 송수신 장치.
According to claim 1,
The nonce generating unit
A blockchain-based data transceiver that extracts a nonce key from a nonce using a key derivation function.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 복호화 모듈은
암호 인증코드를 복호화하여 메시지 인증코드를 추출하는 인증코드 복호부;
암호 논스를 복호화하여 논스를 추출하고, 논스 키를 생성하는 논스 복호부;
해시 함수를 이용해 암호 메시지와 논스 키의 해시 값을 산출하는 복호해시부;
상기 해시 값과 상기 메시지 인증코드를 비교하는 검증부; 및
상기 암호 메시지를 복호화하는 메시지 복호부를 포함하되,
상기 논스 복호부는
키 유도 함수를 이용해 상기 논스에서 상기 논스 키를 추출하고,
상기 검증부는
상기 해시 값과 상기 메시지 인증코드가 동일하면 데이터 무결성을 보증하는 블록체인 기반 데이터 송수신 장치.
According to claim 1,
The decryption module
an authentication code decryption unit that decrypts the password authentication code and extracts the message authentication code;
a nonce decryption unit that decrypts the cryptographic nonce to extract the nonce and generates a nonce key;
a decryption hash unit for calculating a hash value of an encryption message and a nonce key using a hash function;
a verification unit comparing the hash value with the message authentication code; and
Comprising a message decryption unit for decrypting the encrypted message,
The nonce decoding unit
extracting the nonce key from the nonce using a key derivation function;
The verification unit
A block-chain-based data transmission/reception device that guarantees data integrity when the hash value and the message authentication code are the same.
삭제delete 삭제delete 삭제delete 삭제delete 블록체인 기반의 데이터 송수신 장치의 블록체인 기반 데이터 송수신 방법에 있어서,
헤더부를 생성하는 단계;
임의 값인 논스를 생성하는 단계;
상기 논스에서 논스 키를 추출하는 단계;
송신 메시지를 암호화하여 암호 메시지를 생성하는 단계;
상기 논스 키와 상기 암호 메시지를 해시 함수를 통해 메시지 인증코드를 추출하는 단계;
상기 메시지 인증코드를 암호화하여 암호 인증코드를 생성하는 단계;
상기 헤더부, 암호 논스, 상기 암호 메시지 및 상기 암호 인증코드를 전송하는 단계를 포함하되,
상기 헤더부는
수신자 정보 및 발신자 정보를 포함하고,
상기 수신자 정보는
블록체인 시스템의 네트워크 주소인 수신자 주소 및 상기 수신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고,
상기 발신자 정보는
블록체인 시스템의 네트워크 주소인 발신자 주소 및 상기 발신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고,
상기 시스템 정보로 이종 블록체인 시스템 간 데이터를 송수신하는 블록체인 기반 데이터 송수신 방법.
In the block chain-based data transmission/reception method of a block-chain-based data transmission/reception device,
generating a header part;
generating a nonce that is a random value;
extracting a nonce key from the nonce;
generating an encrypted message by encrypting the transmitted message;
extracting a message authentication code from the nonce key and the encrypted message through a hash function;
generating an encryption authentication code by encrypting the message authentication code;
Comprising the step of transmitting the header part, the encryption nonce, the encryption message and the encryption authentication code,
the header part
including recipient information and sender information;
The recipient information is
It contains the recipient address, which is the network address of the block chain system, and system information, which is the network name of the block chain system to which the recipient address belongs,
The sender information is
It contains the sender address, which is the network address of the block chain system, and system information, which is the network name of the block chain system to which the sender address belongs,
A block-chain-based data transmission/reception method for transmitting and receiving data between heterogeneous block-chain systems using the system information.
삭제delete 삭제delete 삭제delete 블록체인 기반의 데이터 송수신 장치가 블록체인 기반 데이터 송수신 방법에 있어서,
헤더부, 암호 논스, 암호 메시지 및 암호 인증코드를 수신하는 단계;
상기 암호 인증코드를 복호화하여 메시지 인증코드를 추출하는 단계;
상기 암호 논스를 복호화하여 논스를 추출하는 단계;
상기 논스에서 논스 키를 추출하는 단계;
해시 함수를 이용해 상기 논스 키와 상기 암호 메시지의 해시 값을 추출하는 단계; 및
상기 해시 값과 상기 메시지 인증코드를 비교하여 데이터의 무결성을 검증하는 단계를 포함하고,
상기 헤더부는
수신자 정보 및 발신자 정보를 포함하고,
상기 수신자 정보는
블록체인 시스템의 네트워크 주소인 수신자 주소 및 상기 수신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고,
상기 발신자 정보는
블록체인 시스템의 네트워크 주소인 발신자 주소 및 상기 발신자 주소가 속한 블록체인 시스템의 네트워크 명인 시스템 정보를 포함하고
상기 시스템 정보로 이종 블록체인 시스템 간 데이터를 송수신하는 블록체인 기반 데이터 송수신 방법.
A block-chain-based data transmission/reception device is a block-chain-based data transmission/reception method,
receiving the header part, the cryptographic nonce, the cryptographic message and the cryptographic authentication code;
extracting a message authentication code by decrypting the encryption authentication code;
extracting a nonce by decrypting the encrypted nonce;
extracting a nonce key from the nonce;
extracting a hash value of the nonce key and the encrypted message using a hash function; and
Comprising the step of verifying the integrity of the data by comparing the hash value and the message authentication code,
the header part
including recipient information and sender information;
The recipient information is
It contains the recipient address, which is the network address of the block chain system, and system information, which is the network name of the block chain system to which the recipient address belongs,
The sender information is
It contains the sender address, which is the network address of the blockchain system, and system information, which is the network name of the blockchain system to which the sender address belongs,
A block-chain-based data transmission/reception method for transmitting and receiving data between heterogeneous block-chain systems using the system information.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제13항 또는 제17항의 블록체인 기반 데이터 송수신 방법을 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.
A computer program recorded in a computer-readable recording medium that executes the block chain-based data transmission/reception method of claim 13 or 17.
KR1020190065112A 2019-06-03 2019-06-03 Apparatus and method for transmitting/receiving based on blockchain KR102283953B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190065112A KR102283953B1 (en) 2019-06-03 2019-06-03 Apparatus and method for transmitting/receiving based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190065112A KR102283953B1 (en) 2019-06-03 2019-06-03 Apparatus and method for transmitting/receiving based on blockchain

Publications (2)

Publication Number Publication Date
KR20200138865A KR20200138865A (en) 2020-12-11
KR102283953B1 true KR102283953B1 (en) 2021-07-30

Family

ID=73786338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190065112A KR102283953B1 (en) 2019-06-03 2019-06-03 Apparatus and method for transmitting/receiving based on blockchain

Country Status (1)

Country Link
KR (1) KR102283953B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150064647A (en) * 2013-12-03 2015-06-11 삼성전자주식회사 Method for protecting contents and terminal for providing contents protection function
KR101972110B1 (en) * 2017-06-16 2019-04-25 서강대학교산학협력단 security and device control method for fog computer using blockchain technology

Also Published As

Publication number Publication date
KR20200138865A (en) 2020-12-11

Similar Documents

Publication Publication Date Title
JP5101620B2 (en) Security method and security system for security processing of authentication key material in an ad hoc wireless network
EP2984782B1 (en) Method and system for accessing device by a user
CN108282329B (en) Bidirectional identity authentication method and device
US20070258468A1 (en) Intermediate network node supporting packet analysis of encrypted payload
CN104023013A (en) Data transmission method, server side and client
CN108347404B (en) Identity authentication method and device
KR20110057448A (en) A method of user-authenticated quantum key distribution
JPH118620A (en) System and method for efficiently executing authentication of communication channel and facilitating detection of illegal forgery
EP3170282B1 (en) Data distributing over network to user devices
US20170134369A1 (en) Method and apparatus for providing time-assisted authentication protocol
CN110545285B (en) Internet of things terminal security authentication method based on security chip
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
EP3909196B1 (en) One-time pads encryption hub
CN114765543A (en) Encryption communication method and system of quantum cryptography network expansion equipment
KR102283953B1 (en) Apparatus and method for transmitting/receiving based on blockchain
JP5512559B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION SYSTEM, ENCRYPTION METHOD, PROGRAM
CN116743372A (en) Quantum security protocol implementation method and system based on SSL protocol
EP4290804A1 (en) Method and apparatus for realizing secure multicast in blockchain network
CN103312671B (en) The method and system of validate service device
JP2013042331A (en) Unidirectional communication system, method, and program
CN108429717B (en) Identity authentication method and device
US20230041783A1 (en) Provision of digital content via a communication network
KR20190133972A (en) TERMMINAL DEVICE, SERVER, SYSTEM AND METHOD FOR OPERATING MESSAGE ENCRYPTION KEY USING DEVICE AUTHENTICATION KEY IN IoT ENVIRONMENT
KR102145679B1 (en) Method for evading mitm attack for https protocol
Chaoui et al. A new secure model for the use of cloud computing in big data analytics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant