KR102362855B1 - Method and apparatus for ensuring continuity and forgery prevention of exchange data between ships and land stations based on blockchain and maritime digital platform system - Google Patents
Method and apparatus for ensuring continuity and forgery prevention of exchange data between ships and land stations based on blockchain and maritime digital platform system Download PDFInfo
- Publication number
- KR102362855B1 KR102362855B1 KR1020210096537A KR20210096537A KR102362855B1 KR 102362855 B1 KR102362855 B1 KR 102362855B1 KR 1020210096537 A KR1020210096537 A KR 1020210096537A KR 20210096537 A KR20210096537 A KR 20210096537A KR 102362855 B1 KR102362855 B1 KR 102362855B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- block
- hash
- digital platform
- maritime
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H04L2209/38—
Abstract
Description
본 발명은 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템에 관한 것이다.The present invention relates to a method and apparatus for ensuring continuity and forgery prevention of exchange data between a blockchain-based ship and land station, and a maritime digital platform system using the same.
선박 시스템의 정보통신기술(ICT) 적용에 따른 해상 사이버 보안환경이 변화되고 있다. 스마트 선박의 출현, 디지털 통신 도입, 조선해양 IT기자재의 증가로 인해 선내 장비가 독립된 형태로 운영되던 과거와 달리 네트워크화 되고 있으며, 장비 간, 시스템 간 데이터를 공유하는 사례가 증가하고 있다. 또한, 국제해사기구(IMO, international maritime organization)의 e-Navigation 협약 이행이 가시화 되면서 선내 및 선육간 통신환경의 개선과 선박과 선박 간(ship to ship), 선박과 육상 간(ship to shore) 연계 기술개발이 활발히 진행되는 등 해상 사이버 환경이 급격히 변화되고 있다. The maritime cyber security environment is changing according to the application of information and communication technology (ICT) in ship systems. Due to the advent of smart ships, the introduction of digital communication, and the increase of shipbuilding and offshore IT equipment, onboard equipment is being networked unlike in the past when it was operated in an independent form, and the cases of sharing data between equipment and systems are increasing. In addition, as the implementation of the International Maritime Organization (IMO) e-Navigation Convention became visible, the communication environment on board and between ships was improved, and ship-to-ship and ship-to-shore linkages were made. The maritime cyber environment is rapidly changing with active technological development.
하지만 이러한 변화에도 불구하고 해운산업에서는 운송선박 및 항만시설에 대한 보안에 대비하지 않고 있어 IT 기술 확대에 따른 해상 사이버 사고 위험에 대한 경고가 이어지고 있다. USCG (united states coast guard)의 해상사이버 보안연구 결과 자동화 네트워크 설비가 많은 디지털 선박과 항만 터미널의 사이버 보안 위험도가 매우 높은 것으로 확인되었다. However, despite these changes, the shipping industry is not preparing for the security of transport ships and port facilities, so warnings about the risk of maritime cyber accidents due to the expansion of IT technology are continuing. As a result of a maritime cybersecurity study by the United States Coast Guard (USCG), it was confirmed that the cybersecurity risk of digital ships and port terminals with many automated network facilities was very high.
한편, 해상 사이버 보안 이슈도 제기되고 있다. 노르웨이 해양플랫폼에서 2015년 30건 이상의 사이버 사고가 감지되었으며, 석유 시추 중이던 오일 플랫폼의 위치가 해킹에 의해 아프리카 대륙으로 변조되어 시스템이 일시적으로 다운되는 사고가 발생하였다. 소말리아 해적들은 선사의 사이버 시스템을 해킹해 선박의 화물과 보안상태를 확인하여 아덴만 운항 선박에 해적행위를 하고 있으며, 2017년 6월 27일 전 세계를 덮친 랜섬웨어 Petya 공격으로 세계 최대 해운선사인 A. P. Moller-Maersk 76개 터미널중 63개가 마비되어 3억 달러의 손실이 발생 되는 등 사이버공격에 의한 해상 보안 사고가 현실화 되고 있다. Meanwhile, maritime cybersecurity issues are also being raised. In 2015, more than 30 cyber incidents were detected on a Norwegian offshore platform, and the location of the oil platform during oil drilling was altered to the African continent by hacking, causing the system to temporarily shut down. Somali pirates are pirating ships operating in the Gulf of Aden by hacking the ship's cyber system to check the ship's cargo and security status. Maritime security incidents due to cyberattacks are becoming a reality, with 63 out of 76 terminals in Moller-Maersk being paralyzed, resulting in a loss of $300 million.
이와 같이, 국제적으로 해상분야는 이내비게이션이라고 하는 패러다임 전환을 맞이하고 있으며, 현재 진행중인 '한국형 이내비게이션 사업'은 국제적으로 논의되고 있는 가장 근접한 이내비게이션 서비스로 평가 받고 있다. As such, the international maritime sector is facing a paradigm shift called navigation, and the ongoing 'Korean navigation business' is evaluated as the closest navigation service being discussed internationally.
현재 국제적으로 가장 큰 이슈가 되고 있는 사이버 보안을 선제적으로 예방할 수 있는 기술이 요구되고 있다. A technology that can preemptively prevent cyber security, which is currently the biggest international issue, is required.
국제 해사 디지털 플랫폼을 통해 국가간 정보교환이 활발히 이루어지면서 국제 해사 디지털 플랫폼내에서 국가간 정보교환시 발생할 수 있는 데이터의 위 변조를 사전에 방지하기 위한 기술이 요구되고 있다. As information exchange between countries is actively conducted through the international maritime digital platform, a technology for preventing the forgery of data that may occur during information exchange between countries within the international maritime digital platform is required in advance.
종래에 블록화된 데이터를 수신하는 과정에 합의되지 않은(위변조된) 데이터 블록이 하나라도 발생하면 데이터를 첫번째 블록(Block)부터 다시 받아야 하는 전송지연의 발생이 불가피했다.In the conventional process of receiving blocked data, when even one non-consensus (forged) data block occurs, transmission delay in which data must be received again from the first block is inevitable.
종래 기술은 블록체인 기반의 데이터를 블록(Block) 단위로 수신하는 과정에 데이터 위변조 여부를 감지할 방법이 없다. 종래 기술은 네트워크 구간의 암호화를 위해 개인키/공개키 기반으로 블록 데이터 전체를 암호화하여 전송하고 데이터를 수신한 클라이언트가 전문을 복호화 하는 과정을 거치기 때문에 보안성이 요구되는 실시간 데이터를 전송하는데 한계가 있었다.In the prior art, there is no method of detecting whether data is forged or falsified in the process of receiving block-chain-based data in block units. The prior art has a limitation in transmitting real-time data requiring security because it encrypts and transmits the entire block data based on the private key/public key for network section encryption, and the client receiving the data decrypts the full text. there was.
본 발명의 실시예들은 해시 코드 기반의 데이터 블록의 위변조 검증을 통해 오염된 블록만 선택적으로 재전송 받음으로써, 데이터 전송시간 단축 및 네트워크 비용을 절약하고, 데이터 위변조를 방지하기 위한, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템을 제공하고자 한다.Embodiments of the present invention reduce data transmission time and network cost by selectively retransmitting only contaminated blocks through forgery verification of hash code-based data blocks, and to prevent data forgery, block chain-based ships and An object of the present invention is to provide a method and apparatus for ensuring continuity of data exchanged between land stations and preventing forgery and falsification, and a maritime digital platform system using the same.
본 발명의 실시예들은 블록체인 기반의 해사 디지털 플랫폼 장치를 통해 앱웹 서비스 단말 또는 선박용 단말과 프라이빗 블록체인 네트워크 상의 블록체인 서버 간의 블록 데이터 전송 과정에서의 사이버 보안을 강화하고 안전한 정보공유 체계를 구축하기 위한, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템을 제공하고자 한다. Embodiments of the present invention strengthen cyber security in the process of block data transmission between an app web service terminal or a ship terminal and a block chain server on a private block chain network through a block chain-based maritime digital platform device and establish a safe information sharing system. For this purpose, we want to provide a method and device for ensuring the continuity of exchange data between ships and land stations based on block chain and preventing forgery and forgery, and a maritime digital platform system using the same.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위의 환경에서도 다양하게 확장될 수 있을 것이다.However, the problem to be solved by the present invention is not limited thereto, and may be variously expanded in an environment within the scope not departing from the spirit and scope of the present invention.
본 발명의 일 실시예에 따르면, 연속성 보장 및 위변조 방지 장치에 의해 수행되는 연속성 보장 및 위변조 방지 방법에 있어서, 해사 디지털 플랫폼 장치로부터 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 복호화하여 제1 해시 값을 산출하는 단계; 상기 해사 디지털 플랫폼 장치에 요청하여 블록 단위로 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출하는 단계; 상기 산출된 제1 해시 값과 상기 산출된 제2 해시 값을 비교하여 상기 수신된 블록 데이터의 위변조 여부를 검사하는 단계; 및 상기 해사 디지털 플랫폼 장치에 위변조된 블록 데이터를 선택적으로 재전송 요청하는 단계를 포함하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법이 제공될 수 있다. According to an embodiment of the present invention, in the continuity guarantee and forgery prevention method performed by the continuity guarantee and forgery prevention device, receiving encrypted hash data from a maritime digital platform device, and decrypting the received encrypted hash data calculating a first hash value; Calculating a second hash value by converting block data received in block units by requesting the maritime digital platform device into a hash code; checking whether the received block data is forged or falsified by comparing the calculated first hash value with the calculated second hash value; And a method for ensuring continuity of exchange data between a block chain-based ship and a land station and preventing forgery can be provided, comprising the step of selectively retransmitting the forged and forged block data to the maritime digital platform device.
상기 방법은, 잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신하는 단계를 더 포함하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법이 제공될 수 있다.The method further comprises the step of confirming whether residual block data exists, and further requesting and receiving the residual block data from the maritime digital platform device. Guaranteed and tamper-resistant methods may be provided.
상기 제1 해시 값을 산출하는 단계는, S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크에 저장되어 있는 상기 블록 데이터를 상기 해사 디지털 플랫폼 장치에 요청하여 수신할 수 있다. In the step of calculating the first hash value, the block data stored in a private blockchain network in which S-100-based plaintext data is blocked may be requested and received from the maritime digital platform device.
상기 제1 해시 값을 산출하는 단계는, 상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제1 해시 값을 산출할 수 있다. The calculating of the first hash value includes receiving hash data encrypted with the public key of the client terminal from the maritime digital platform device, and decrypting the received encrypted hash data with the private key of the client terminal to obtain a first hash value can be calculated.
한편, 본 발명의 다른 실시예에 따르면, 해사 디지털 플랫폼 장치로부터 암호화된 해시 데이터를 수신하고, 상기 해사 디지털 플랫폼 장치에 요청하여 블록 단위로 블록 데이터를 수신하는 데이터 처리 모듈; 상기 수신된 암호화된 해시 데이터를 복호화하는 암복호화 모듈; 및 상기 복호화된 해시 데이터로부터 제1 해시 값을 산출하고, 상기 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출하고, 상기 산출된 제1 해시 값과 상기 산출된 제2 해시 값을 비교하여 상기 수신된 블록 데이터의 위변조 여부를 검사하는 블록 검사 모듈을 포함하고, 상기 데이터 처리 모듈은 상기 해사 디지털 플랫폼 장치에 위변조된 블록 데이터를 선택적으로 재전송 요청하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 장치가 제공될 수 있다. On the other hand, according to another embodiment of the present invention, a data processing module for receiving encrypted hash data from a maritime digital platform device, and requesting the maritime digital platform device to receive block data in block units; an encryption/decryption module for decrypting the received encrypted hash data; and calculating a first hash value from the decrypted hash data, converting the received block data into a hash code to calculate a second hash value, and calculating the calculated first hash value and the calculated second hash value and a block inspection module for comparing and checking whether the received block data is forged or not, wherein the data processing module selectively retransmits the forged and forged block data to the maritime digital platform device, between a block chain-based ship and a land station A device for ensuring continuity of exchanged data and preventing forgery may be provided.
상기 데이터 처리 모듈은, 잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신할 수 있다. The data processing module may check whether residual block data exists, and may additionally request and receive the residual block data from the maritime digital platform device.
상기 데이터 처리 모듈은, S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크에 저장되어 있는 상기 블록 데이터를 상기 해사 디지털 플랫폼 장치에 요청하여 수신할 수 있다. The data processing module may request and receive the block data stored in a private blockchain network in which S-100-based plaintext data is blocked from the maritime digital platform device.
상기 암복호화 모듈은, 상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제1 해시 값을 산출할 수 있다. The encryption/decryption module may receive hash data encrypted with the public key of the client terminal from the maritime digital platform device, and decrypt the received encrypted hash data with the private key of the client terminal to calculate a first hash value.
한편, 본 발명의 다른 실시예에 따르면, 블록체인 네트워크에 연결되고, 상기 블록체인 네트워크 상의 데이터에 대해 데이터 블록과 해시 블록이 순차적으로 연결된 블록 데이터를 저장하는 블록체인 서버; 상기 블록체인 서버로부터 데이터 블록 각각에 대한 해시 블록이 순차적으로 연결된 해시 데이터를 수신받아 미리 저장하는 해사 디지털 플랫폼 장치; 및 상기 해사 디지털 플랫폼 장치에 요청한 데이터에 대해 상기 블록체인 서버로부터 상기 해사 디지털 플랫폼 장치를 통해 수신받는 블록 데이터의 위변조 검사를 수행하고, 위변조 검사 결과 오염된 블록 데이터에 대해 재전송을 요청하여 수정된 블록 데이터를 블록 단위로 수신받는 클라이언트 단말을 포함하고, 상기 해사 디지털 플랫폼 장치는, 데이터 전송시간 단축 및 네트워크 비용 절약을 위해, 상기 클라이언트 단말의 데이터 요청에 따라 미리 저장된 해시 데이터를 암호화하여 상기 클라이언트 단말에 전송하고, 상기 블록체인 서버로부터 상기 클라이언트 단말의 데이터 요청에 대응되는 블록 데이터를 전달받아 상기 클라이언트 단말에 전송하고, 상기 클라이언트 단말은, 상기 해사 디지털 플랫폼 장치로부터 암호화된 해시 데이터를 수신하고, 상기 해사 디지털 플랫폼 장치에 요청하여 블록 단위로 블록 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 복호화하고, 상기 복호화된 해시 데이터로부터 제1 해시 값을 산출하고, 상기 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출하고, 상기 산출된 제1 해시 값과 상기 산출된 제2 해시 값을 비교하여 상기 수신된 블록 데이터의 위변조 여부를 검사하고, 상기 해사 디지털 플랫폼 장치에 위변조된 블록 데이터를 선택적으로 재전송 요청하여 수신받은 연속성 보장 및 위변조 방지 장치를 포함하는, 해사 디지털 플랫폼 시스템이 제공될 수 있다. On the other hand, according to another embodiment of the present invention, a block chain server connected to a block chain network and storing block data in which a data block and a hash block are sequentially connected for data on the block chain network; a maritime digital platform device for receiving and storing in advance hash data in which hash blocks for each data block are sequentially connected from the block chain server; And for the data requested by the maritime digital platform device, the block data received from the block chain server through the maritime digital platform device forgery inspection is performed, and the block data modified by requesting retransmission of the block data contaminated as a result of the forgery inspection and a client terminal receiving data in block units, wherein the maritime digital platform device encrypts the hash data stored in advance according to the data request of the client terminal in order to shorten the data transmission time and save network cost to the client terminal transmit, receive block data corresponding to the data request of the client terminal from the block chain server and transmit it to the client terminal, the client terminal receives encrypted hash data from the maritime digital platform device, the maritime Receive block data in block units by requesting a digital platform device, decrypt the received encrypted hash data, calculate a first hash value from the decrypted hash data, and convert the received block data into a hash code to calculate a second hash value, compare the calculated first hash value with the calculated second hash value to check whether the received block data is forged or falsified, and the forged block data to the maritime digital platform device A maritime digital platform system can be provided, including a device for ensuring continuity and forgery prevention received by selectively requesting retransmission.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment should include all of the following effects or only the following effects, so the scope of the disclosed technology should not be understood as being limited thereby.
본 발명의 실시예들은 해시 코드 기반의 데이터 블록의 위변조 검증을 통해 오염된 블록만 선택적으로 재전송 받음으로써, 데이터 전송시간 단축 및 네트워크 비용을 절약하고, 데이터 위변조를 방지할 수 있다. Embodiments of the present invention can reduce data transmission time, save network cost, and prevent data forgery by selectively retransmitting only contaminated blocks through forgery verification of hash code-based data blocks.
본 발명의 실시예들은 클라이언트 단말의 데이터 요청에 대해 우선 미리 저장된 블록 데이터의 해시 데이터를 클라이언트 단말에 전송한 후, 블록체인 서버로부터 해당 블록 데이터를 블록 단위로 클라이언트 단말에 전송함으로써, 데이터 전송시간을 단축할 수 있고 네트워크 비용을 절약할 수 있다. Embodiments of the present invention reduce the data transmission time by first transmitting hash data of block data stored in advance to the client terminal in response to a data request from the client terminal, and then transmitting the block data from the block chain server to the client terminal in block units. It can be shortened and the network cost can be saved.
본 발명의 실시예들은 국제 해사 디지털 플랫폼 내에서 국가간 정보교환시 발생할 수 있는 데이터의 위변조를 사전에 방지하기 위해, 블록체인 기반의 데이터를 블록(Block) 단위로 수신하는 과정에 블록 단위의 검사 방식을 통해 위/변조 여부를 검사하고, 오염된 블록만 선택적으로 재전송함으로써, 선택적으로 재전송받는 방안을 모듈화하고 이를 통해 해사 서비스를 제공받는 선박용 항해 장비 또는 컨텐츠 서비스에 제공할 수 있다. In order to prevent forgery and falsification of data that may occur during information exchange between countries within the international maritime digital platform, the embodiments of the present invention perform block-based inspection in the process of receiving block-chain-based data in block units. By inspecting forgery/falsification through the method and selectively retransmitting only the contaminated blocks, the selective retransmission method can be modularized and provided to navigation equipment or content services for ships receiving maritime services through this method.
본 발명의 실시예들은 블록체인 데이터의 블록 단위의 위/변조 여부를 검사함으로써, 스니핑을 통한 메시지 위/변조에 대응하고, 위/변조된 데이터만 선택적으로 재전송받음으로써 전송 속도를 단축할 수 있다. Embodiments of the present invention can respond to message forgery/falsification through sniffing by checking whether block chain data is forged/falsified in block units, and reduce the transmission speed by selectively retransmitting only forged/modulated data. .
현재 진행중인 '한국형 이내비게이션 사업'이 국제적으로 논의되고 있는 가장 근접한 이내비게이션 서비스로 평가 받고 있으며, 본 발명의 실시예들을 통해 현재 국제적으로 가장 큰 이슈가 되고 있는 사이버 보안을 선제적으로 예방할 수 있는 기술을 확보할 수 있다. The current 'Korean-style navigation business' is evaluated as the closest navigation service being discussed internationally, and technology that can preemptively prevent cyber security, which is currently the biggest issue internationally, through embodiments of the present invention can be obtained
도 1은 본 발명의 일 실시예에 따른 해사 디지털 플랫폼 시스템의 구성도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 장치와 해사 디지털 플랫폼 장치의 구성을 나타낸 도면이다.
도 4는 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법에 대한 순서도이다.
도 5는 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법에서 위변조 여부 판단 방법에 대한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 해사 디지털 플랫폼 시스템에서의 연속성 보장 및 위변조 방지 방법에 대한 순서도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 방법에서 비교 검사 결과를 나타낸 도면이다. 1 is a block diagram of a maritime digital platform system according to an embodiment of the present invention.
2 and 3 are diagrams showing the configuration of a device for preventing forgery and forgery and ensuring continuity of exchange data between a block chain-based ship and a land station according to an embodiment of the present invention.
4 is a flowchart for a method of ensuring continuity of exchange data between a blockchain-based ship and a land station and preventing forgery.
5 is a flowchart of a method for determining whether or not forgery is detected in a method for ensuring continuity of exchange data between a block chain-based ship and a land station and preventing forgery.
6 is a flowchart for a method for ensuring continuity and preventing forgery in a maritime digital platform system according to an embodiment of the present invention.
7 and 8 are diagrams illustrating comparative inspection results in a method for ensuring continuity and preventing forgery according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it can be understood to include all transformations, equivalents or 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 obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention, precedent, or emergence of new technology of those of ordinary skill in the art. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as "comprises" or "have" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in the description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. do.
도 1은 본 발명의 일 실시예에 적용되는 해사 디지털 플랫폼 시스템의 구성도이다. 1 is a block diagram of a maritime digital platform system applied to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 적용되는 해사 디지털 플랫폼 시스템(10)은 해사 디지털 플랫폼 장치(200), 블록체인 서버(300)가 연결되는 블록체인 네트워크(30) 및 클라이언트 단말(100)을 포함한다. 여기서, 클라이언트 단말(100)에는 앱웹 서비스 단말(110) 또는 선박용 단말(120)이 포함될 수 있다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 해사 디지털 플랫폼 시스템(10)이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 해사 디지털 플랫폼 시스템(10)이 구현될 수 있다.As shown in Figure 1, the maritime
이하, 도 1의 해사 디지털 플랫폼 시스템(10)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.Hereinafter, a detailed configuration and operation of each component of the maritime
본 발명의 일 실시예에서는 클라이언트 단말(100)은 블록체인 서버(300)로부터 암호화된 블록별 해시 데이터를 수신받고, 이후 전송되는 블록 데이터를 블록단위로 검사하고, 오염된 블록 데이터만 선택적으로 재전송 요청하여 수정된 블록 데이터를 재수신받는 방법에 관한 것으로서, 해시 및 블록 데이터의 수신과 블록 데이터의 위변조를 처리하는 전체 해사 디지털 플랫폼 시스템(10)의 구성도는 도 1과 같다. In an embodiment of the present invention, the
프라이빗(Private) 블록체인 네트워크(30)는 S-100 기반의 평문 데이터를 블록화하고 해사 디지털 플랫폼 장치(200)가 요청하는 블록 데이터를 제공하는 시스템이다. 프라이빗 블록체인 네트워크(30)는 적어도 하나의 블록체인 서버(300)를 포함한다. 적어도 하나의 블록체인 서버(300)는 프라이빗 블록체인 네트워크(30)를 통해 연결되거나, 서로 연결될 수 있다. 블록체인 서버(300)는 데이터를 파편화(세그멘테이션)한 블록의 데이터 블록과 해시 블록을 모두 가지고 있다. 여기서, 하나의 블록 데이터에는 각 블록에 대한 데이터 블록과 해시 블록이 포함되어 있다. 블록체인 서버(300)는 우선 저장된 전체 데이터에 대한 해시 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. 여기서, 해시 데이터는 각 블록에 대한 해시 블록이 순차적으로 연결되어 구성된다.The
해사 디지털 플랫폼 장치(200)는 각 데이터 블록에 대응되는 해시 데이터만을 보유하고 있다. 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)로부터 전체 데이터에 대한 블록별로 해시 데이터를 수신받아 저장한다. 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)에서 생성되는 S-100기반 데이터의 메타 정보와 해시 코드 정보를 저장한다. 그리고 해사 디지털 플랫폼 장치(200)는 앱웹(APPWeb) 서비스 단말(110) 또는 선박용 단말(120)이 요청하는 블록 데이터를 제공하는 데이터 유통 플랫폼으로 동작한다. The maritime
앱웹(APPWeb) 서비스 단말(110)은 웹브라우저를 통해 접속하는 사용자가 요청하는 블록 데이터를 해사 디지털 플랫폼 장치(200)를 활용하여 제공해주는 해사 데이터 제공 서비스를 지원한다. The app web (APPWeb)
선박용 단말(120)은 선박의 항행장비에 탑재되는 소프트웨어에 따라 동작하며, 선박 사용자가 요청하는 블록 데이터를 해사 디지털 플랫폼 장치(200)를 통해 다운로드하여 선박 사용자에게 제공한다. The
앱웹 서비스 단말(110) 또는 선박용 단말(120)에는 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 장치(400)가 구현된다. 본 발명의 일실시예에 따른 앱웹 서비스 단말(110) 또는 선박용 단말(120)은 구현된 연속성 보장 및 위변조 방지 장치(400)를 통해 블록체인 기반의 데이터를 블록(Block) 단위로 수신하는 과정에 블록 단위의 위변조 검사를 수행하고, 블록 데이터가 오염된 경우 오염된 블록 데이터만을 새로 해사 디지털 플랫폼 장치(200)를 통해 수신할 수 있다. The app
상기와 같은 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 장치(400)는 해시 코드 기반의 데이터 블록의 위변조 검증을 통해 오염된 블록만 선택적으로 재전송 받을 수 있다. 이를 통해, 본 발명의 일 실시예는 데이터 전송 시간 단축 및 네트워크 비용을 절약, 데이터 위변조를 방지할 수 있다. As described above, the
도 2 및 도 3은 본 발명의 일 실시예에 따른 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 장치(400), 해사 디지털 플랫폼 장치(200) 및 블록체인 서버(300)의 세부적인 구성을 나타낸 도면이다. 2 and 3 are a block chain-based device for ensuring continuity of exchange data between a ship and a land station and
우선, 도 2 및 도 3은 A-A로 연결되어 있다. 도 2 및 도 3에 도시된 바와 같이, 해사 디지털 플랫폼 장치(200)는 제1 데이터 저장 모듈(210), 제1 암복호화 모듈(220) 및 제1 데이터 합의노드 모듈(230)을 포함한다. First, FIGS. 2 and 3 are connected by A-A. As shown in FIGS. 2 and 3 , the maritime
블록체인 서버(300)는 제2 데이터 합의노드 모듈(310) 및 제2 데이터 저장 모듈(320)을 포함한다. The
다음으로, 연속성 보장 및 위변조 방지 장치(400)는 제2 암복호화 모듈(410), 블록 검사 모듈(420) 및 데이터 처리 모듈(430)을 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 연속성 보장 및 위변조 방지 장치(400)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 연속성 보장 및 위변조 방지 장치(400)가 구현될 수 있다.Next, the apparatus for ensuring continuity and preventing
이하, 도 2 및 도 3의 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 장치(400)가 포함된 앱웹 서비스 단말(110) 또는 선박용 단말(120)과, 해사 디지털 플랫폼 장치(200)와, 블록체인 서버(300)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다. Hereinafter, the app
우선, 블록체인 서버(300)의 제2 데이터 저장 모듈(320)은 데이터를 파편화(세그멘테이션)한 블록의 데이터 블록과 해시 블록을 모두 가지고 있다. 여기서, 데이터 블록과 해시 블록은 쌍으로 저장되고, 해시 블록을 기준으로 순차적으로 연결되어 있다. 즉, 제2 데이터 저장 모듈(320)은 블록체인 형식으로 각각 연결된 복수의 데이터 블록과 해시 블록이 쌍으로 연결된 블록 데이터를 저장하고 있다. 제2 데이터 저장 모듈(320)은 하나의 블록 데이터인 DATA 1에 대해 복수의 데이터 블록(DATA BLOCK)과 해당 데이터 블록에 대응되는 해시 블록을 포함한다. 예컨대, 도 2 및 도 3에 도시된 바와 같이, 해시 블록은 블록 해시-시작(BLOCK HASH-START), 블록 해시 1(BLOCK HASH1), 블록 해시 2(BLOCK HASH2), 블록 해시 3(BLOCK HASH3), 블록 해시-종료(BLOCK HASH-END)로 연결되어 있다. 해시 블록은 블록 해시-시작(BLOCK HASH-START)부터 순차적으로 다음 해시 블록까지 순차적으로 연결되어 저장된다. 다른 블록 데이터인 블록 데이터 2(DATA2)와 블록 데이터 3(DATA2)에 대해서도 동일한 방식으로 데이터 블록과 해시 블록이 쌍으로 묶이고, 해시 블록의 해시 값을 기준으로 순차적으로 연결되어 있다. First, the second
한편, 블록체인 서버(300)는 저장된 전체 데이터에 대한 해시 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. 여기서, 이후, 블록체인 서버(300)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터 요청이 있으면, 요청된 블록에 대한 블록 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. On the other hand, the
블록체인 서버(300)의 제2 데이터 합의노드 모듈(310)은 앱웹 서비스 단말(110) 또는 선박용 단말(120)로부터 해사 디지털 플랫폼 장치(200)를 통해 블록 데이터의 재송신 요청이 있는 경우, 해사 디지털 플랫폼 장치(200)의 제1 데이터 합의노드 모듈(230)과 데이터 합의노드 과정을 통해 유효성 검증을 수행한다. 그리고 제2 데이터 합의노드 모듈(310)에서 유효성 검증이 수행된 후 노드들의 합의를 통해 수정된 블록 데이터는 해사 디지털 플랫폼 장치(200)를 통해 재송신을 요청한 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 송신된다. When there is a request for retransmission of block data from the app
다음으로, 해사 디지털 플랫폼 장치(200)의 제1 데이터 저장 모듈(210)은 블록체인 서버(300)로부터 데이터에 대한 블록별 해시 데이터를 수신하여 저장한다. 제1 데이터 저장 모듈(210)은 데이터에 대한 각 블록 데이터의 해시 데이터만을 저장한다. 제1 데이터 저장 모듈(210)은 데이터의 데이터 블록이 포함된 블록 데이터를 저장하고 있지 않고, 순차적으로 연결된 해시 데이터를 저장하고 있다. 즉, 해시 블록은 내 앞의 이전 블록의 해시 블록을 기반으로 다음 블록인 이후 블록의 해시 블록이 상호 연결관계를 가지고 있다. 제1 데이터 저장 모듈(210)은 하나의 블록 데이터인 DATA 1에 대해 순차적으로 연결된 복수의 해시 블록을 저장한다. 예컨대, 도 2 및 도 3에 도시된 바와 같이, 해시 데이터는 블록 해시-시작(BLOCK HASH-START), 블록 해시 1(BLOCK HASH1), 블록 해시 2(BLOCK HASH2), 블록 해시 3(BLOCK HASH3), 블록 해시-종료(BLOCK HASH-END)로 연결되어 있다. 해시 데이터는 블록 해시-시작(BLOCK HASH-START)부터 순차적으로 다음 해시 블록까지 순차적으로 연결되어 저장된다. 다른 블록 데이터인 블록 데이터 2(DATA2)에 대해서도 동일한 방식으로 데이터 블록을 제외한 해시 블록이 해시 블록의 해시 값을 기준으로 순차적으로 연결되어 있다. Next, the first
그리고 해사 디지털 플랫폼 장치(200)는 클라이언트 단말(100)이 요청한 블록 데이터의 블록 단위 해시 데이터를 클라이언트 단말(100)의 공개키를 이용하여 암호화한 후, 해당 클라이언트 단말(100)에 전송한다. 여기서, 클라이언트 단말(100)은 해사 디지털 플랫폼 장치(200)와 통신하는 앱웹 서비스 단말(110) 또는 선박용 단말(120)일 수 있다. 이와 같이, 해사 디지털 플랫폼 장치(200)의 제1 암복호화 모듈(220)은 앱웹 서비스 단말(110) 또는 선박용 단말(120)로부터 필요한 데이터 요청이 있는 경우, 요청받은 데이터의 해시 데이터를 해당 단말의 공개키로 암호화하여 데이터 요청이 수신된 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 전송한다. Then, the maritime
이후, 해사 디지털 플랫폼 장치(200)의 제1 데이터 합의노드 모듈(230)은 앱웹 서비스 단말(110) 또는 선박용 단말(120)로부터 오염된 블록 데이터의 재송신 요청이 있는 경우, 블록체인 서버(300)의 제2 데이터 합의노드 모듈(310)과 데이터 합의노드 과정을 통해 유효성 검증을 수행하고, 제2 데이터 합의노드 모듈(310)에서 유효성 검증이 수행되어 수정된 블록 데이터를 수신받는다. 그리고 제1 데이터 합의노드 모듈(230)은 유효성 검증이 수행되어 수정된 블록 데이터를 재송신을 요청한 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 송신한다. Then, when there is a request for retransmission of the contaminated block data from the app
한편, 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 포함된 연속성 보장 및 위변조 방지 장치(400)의 구성 및 동작에 대해서 설명하기로 한다. On the other hand, the configuration and operation of the continuity guarantee and
우선, 제2 암복호화 모듈(410)은 해사 디지털 플랫폼 장치(200)의 제1 암복호화 모듈(220)에서 암호화된 블록 단위의 해시 데이터를 자신의 개인키를 활용하여 복호화하여 제1 해시 값을 산출한 후, 블록 검사 모듈(420)에 저장한다.First, the second encryption/
그리고 데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)에 필요한 데이터를 요청하고 블록 단위로 수신하여 블록 검사 모듈(420)에 해당 블록 데이터를 입력한다. And the
블록 검사 모듈(420)은 입력 받은 블록 데이터를 해시화하여 해시 코드로 변환하고 제2 해시 값을 산출하여 미리 저장해 놓은 제1 해시 값과 비교하고 결과를 데이터 처리 모듈(430)에 입력한다.The
블록 검사 모듈(420)은 입력된 블록 데이터의 값이 정상인 경우, 해사 디지털 플랫폼 장치(200)에 다음 블록 데이터를 요청한다. 수신된 블록 데이터가 비정상 일 경우 해당 데이터 블록을 재요청하여 수신받고, 이를 블록 검사 모듈(420)에 입력하여 위변조 여부를 다시 검사한다. 블록 검사 모듈(420)은 데이터 전송의 완료되었을 경우 데이터 처리 모듈(430)의 작업을 중지한다.When the value of the input block data is normal, the
한편, 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 구현된 연속성 보장 및 위변조 방지 장치(400)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다. On the other hand, a detailed configuration and operation of each component of the continuity guarantee and
데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)로부터 암호화된 해시 데이터를 수신하고, 해사 디지털 플랫폼 장치(200)에 요청하여 블록 단위로 블록 데이터를 수신한다. The
제2 암복호화 모듈(410)은 데이터 처리 모듈(430)에서 수신된 암호화된 해시 데이터를 복호화한다. The second encryption/
블록 검사 모듈(420)은 제2 암복호화 모듈(410)에서 복호화된 해시 데이터로부터 제1 해시 값을 산출하고, 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출한다. 블록 검사 모듈(420)은 산출된 제1 해시 값과 산출된 제2 해시 값을 비교하여 수신된 블록 데이터의 위변조 여부를 검사한다. The
그리고 데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)에 위변조된 블록 데이터를 선택적으로 재전송 요청한다. And the
실시예들에 따르면, 데이터 처리 모듈(430)은 잔여 블록 데이터가 존재하는지 여부를 확인하고, 해사 디지털 플랫폼 장치(200)에 잔여 블록 데이터를 추가로 요청하여 수신할 수 있다. According to embodiments, the
실시예들에 따르면, 데이터 처리 모듈(430)은 S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크(30)에 저장되어 있는 블록 데이터를 해사 디지털 플랫폼 장치(200)에 요청하여 수신할 수 있다. According to the embodiments, the
실시예들에 따르면, 제2 암복호화 모듈(410)은 해사 디지털 플랫폼 장치(200)에서 클라이언트 단말(100)의 공개키로 암호화된 해시 데이터를 수신하고, 수신된 암호화된 해시 데이터를 클라이언트 단말(100)의 비밀키로 복호화하여 제1 해시 값을 산출할 수 있다.According to embodiments, the second encryption/
다음은 본 발명의 일 실시예의 시스템 구성에서 서비스 서버인 해사 디지털 플랫폼 장치(200)와 클라이언트 단말(100)인 앱웹 서비스 단말(110) 또는 선박용 단말(120) 간 송신 및 수신 동작에 대한 절차를 설명하기로 한다. The following describes a procedure for transmitting and receiving operations between the maritime
도 4은 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법에 대한 순서도이다. 4 is a flowchart of a method for ensuring continuity of exchange data between a blockchain-based ship and a land station and preventing forgery.
도 4에 대한 단계별 설명은 다음과 같다.A step-by-step description of FIG. 4 is as follows.
단계 S101에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 암호화된 해시 데이터를 수신한다. 단계 S101는 블록 데이터를 수신하기 전 위/변조 여부의 검사 기준이 되는 해시 데이터를 사전에 수신하는 절차이다. In step S101, the continuity guarantee and
단계 S102에서, 연속성 보장 및 위변조 방지 장치(400)는 해시 데이터를 복호화하여 블록 검사 모듈(420)에 저장한다. 단계 S102는 해사 디지털 플랫폼 장치(200)가 클라이언트 단말(100)의 공개키로 암호화하여 보낸 해시 데이터를 클라이언트 단말(100)의 비밀키로 복호화하여 위변조 여부를 검사하는 프로그램에 저장하는 절차이다. In step S102, the continuity assurance and
단계 S103에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 송신요청한다. 단계 S103는 블록 데이터를 요청하여 수신하거나, 위/변조된 블록을 버리고 다시 요청하는 절차이다.In step S103, the continuity guarantee and
단계 S104에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 수신한다. 단계 S104는 해사 디지털 플랫폼 장치(200)로부터 전송되거나 재전송 받은 블록 데이터를 클라이언트 단말(100)의 로컬 디스크에 저장하는 절차이다.In step S104, the continuity guarantee and
단계 S105에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조 여부를 확인한다. 단계 S105는 최초 수신한 해시 데이터와 수신한 블록 데이터의 해시 값을 비교하여 위/변조여부를 검사하는 절차이다.In step S105, the continuity guarantee and
단계 S106에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조가 아니면 원본 메시지에 포함한다. 단계 S106는 위/변조되지 않은 블록 데이터를 메시지로 포함시키는 절차이다.In step S106, the continuity assurance and
반면, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조이면 블록 데이터를 재송신 요청하는 단계 S103을 수행한다. On the other hand, the continuity guarantee and
단계 S107에서, 연속성 보장 및 위변조 방지 장치(400)는 잔여 블록이 존재하는지 여부를 확인한다. 단계 S107는 추가로 다운로드 받아야 할 블록 데이터가 있는지 판단하는 절차이다.In step S107, the continuity guarantee and
단계 S108에서, 연속성 보장 및 위변조 방지 장치(400)는 잔여 블록이 존재하면, 블록 데이터를 재송신 요청하는 단계 S103을 수행하고, 잔여 블록이 존재하지 않으면, 블록 데이터를 수신 완료한다. 단계 S108은 메시지 생성에 필요한 모든 데이터를 수신하여 해사 디지털 플랫폼 장치(200)와 연결을 끊는 절차이다.In step S108, the
도 5는 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법에서 위변조 여부 판단 방법에 대한 순서도이다. 5 is a flowchart of a method for determining whether or not forgery is detected in a method for ensuring continuity of exchange data between a blockchain-based ship and a land station and preventing forgery.
도 5에 대한 단계별 설명은 다음과 같다.A step-by-step description of FIG. 5 is as follows.
단계 S201에서, 연속성 보장 및 위변조 방지 장치(400)는 해시 데이터를 수신한다. In step S201, the continuity guarantee and
단계 S202에서, 연속성 보장 및 위변조 방지 장치(400)는 해시 데이터를 복호화한다. In step S202, the continuity guarantee and
단계 S203에서, 연속성 보장 및 위변조 방지 장치(400)는 블록별 해시 코드로 변환하여 제1 해시 값을 산출한다. 연속성 보장 및 위변조 방지 장치(400)는 최초 수신하여 복호화 해놓은 해시 메시지에서 수신한 해시 블록에 해당하는 제1 해시 값을 검출한다.In step S203, the continuity guarantee and
한편, 단계 S204에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 수신한다. On the other hand, in step S204, the continuity guarantee and
단계 S205에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시 코드로 변환한다. 그리고 연속성 보장 및 위변조 방지 장치(400)는 변환된 해시 코드를 통해 제2 해시 값을 산출한다. In step S205, the continuity guarantee and
단계 S206에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값 비교를 통해 블록 검사를 수행한다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시 값을 비교하여 동일한 값을 보유했는지 검사한다.In step S206, the continuity guarantee and
단계 S207에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일한지 여부인지를 확인한다. In step S207, the continuity guarantee and
단계 S208에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일하면, 블록 데이터를 원본 메시지에 포함시킨다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시값이 동일한 경우 원본 메시지에 포함시킨다.In step S208, if the hash value is the same, the continuity guarantee and
단계 S209에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일하지 않으면, 블록 데이터를 삭제한다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시값이 동일하지 않은 경우 블록 데이터를 삭제한다. In step S209, the continuity assurance and
도 6은 본 발명의 일 실시예에 따른 해사 디지털 플랫폼 시스템에서의 연속성 보장 및 위변조 방지 방법에 대한 순서도이다. 6 is a flowchart for a method for ensuring continuity and preventing forgery in a maritime digital platform system according to an embodiment of the present invention.
도 6은 해사 디지털 플랫폼 시스템(10)에서 선박용 단말(120) 또는 앱웹 서비스 단말(110)에 포함된 연속성 보장 및 위변조 방지 장치(400)와, 해사 디지털 플랫폼 장치(200)와, 블록체인 서버(300) 간의 연속성 보장 및 위변조 방지 동작을 나타내고 있다. 6 is a continuity assurance and
단계 S301에서, 클라이언트 단말(100)에 포함된 연속성 보장 및 위변조 방지 장치(400)는 선박용 단말(120) 또는 앱웹 서비스 단말(110)에서 필요한 데이터를 해사 디지털 플랫폼 장치(200)에 요청한다. 클라이언트 단말(100)이 필요한 데이터는 프라이빗 블록체인 네트워크(30)에 포함된 블록체인 서버(300)에 저장되어 있다. In step S301, the continuity assurance and
단계 S302에서, 해사 디지털 플랫폼 장치(200)는 클라이언트 단말(100)에 포함된 연속성 보장 및 위변조 방지 장치(400)로부터 요청받은 데이터의 해시셋을 데이터를 요청한 해당 단말의 공개키로 암호화하여 전송한다. 여기서, 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)에 저장된 블록 데이터의 해시 데이터만을 저장하고 있다. In step S302, the maritime
단계 S303에서, 해사 디지털 플랫폼 장치(200)는 요청받은 전체 블록 데이터를 블록체인 서버(300)에 요청한다. In step S303, the maritime
단계 S304에서, 블록체인 서버(300)는 요청받은 전체 블록 데이터를 해사 디지털 플랫폼 장치(200)에 송신한다. In step S304 , the
단계 S303 및 단계 S304는 해사 디지털 플랫폼 장치(200)가 클라이언트 단말(100)에 데이터 전송을 준비하기 위한 데이터 전송 준비 단계로 동작한다. Steps S303 and S304 operate as a data transmission preparation step for the maritime
단계 S305에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S302에서 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 자신의 비밀키로 복호화하여 제1 해시값을 산출한다. In step S305, the continuity guarantee and
단계 S306에서, 연속성 보장 및 위변조 방지 장치(400)는 필요한 데이터 중에서 블록 단위의 블록 데이터를 해사 디지털 플랫폼 장치(200)에 요청한다. In step S306, the continuity guarantee and
단계 S307에서, 해사 디지털 플랫폼 장치(200)는 단계 S304에서 수신받은 전체 블록 데이터 중에서 블록 단위로 블록 데이터를 연속성 보장 및 위변조 방지 장치(400)에 송신한다. In step S307, the maritime
단계 S308에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 단위로 수신받은 블록 데이터를 해시화하여 제2 해시 값을 산출하고, 단계 S305에서 산출된 제1 해시 값과 제2 해시 값을 비교한다.In step S308, the
단계 S309에서, 연속성 보장 및 위변조 방지 장치(400)는 제1 해시 값과 제2 해시 값이 서로 불일치하는지를 확인한다. In step S309, the continuity guarantee and
단계 S310에서, 연속성 보장 및 위변조 방지 장치(400)는 제1 해시 값과 제2 해시 값이 서로 불일치하면, 오염된 블록 데이터의 블록 정보를 해사 디지털 플랫폼 장치(200)에 송신한다.In step S310, when the first hash value and the second hash value do not match each other, the continuity guarantee and
단계 S311에서, 해사 디지털 플랫폼 장치(200)는 제1 해시 값과 제2 해시 값이 서로 불일치되는 제2 해시 값에 대응되는 블록 데이터 검증을 블록체인 서버(300)에 요청한다. In step S311, the maritime
단계 S312에서, 블록체인 서버(300)는 블록 데이터 검증에 대해 요청받은 블록 데이터를 해사 디지털 플랫폼 장치(200) 및 블록체인 서버(300)에 각각 포함된 제1 데이터 합의노드 모듈(230)과 제2 데이터 합의노드 모듈(310)을 이용하여 블록 데이터를 수정한다. In step S312, the
단계 S313에서, 블록체인 서버(300)는 수정된 블록 데이터를 해사 디지털 플랫폼 장치(200)에 송신한다. In step S313 , the
단계 S314에서, 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)로부터 수신받은 수정된 블록 데이터를 연속성 보장 및 위변조 방지 장치(400)에 송신한다. In step S314 , the maritime
단계 S306 내지 단계 S314는 블록 데이터의 전송이 끝날 때까지 반복된다. Steps S306 to S314 are repeated until the transmission of the block data is finished.
단계 S315에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S301에서 요청한 필요한 데이터 중에서 마지막 블록 데이터까지 해사 디지털 플랫폼 장치(200)로부터 수신하면 연결을 종료한다. In step S315, the continuity assurance and
도 7 및 도 8은 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 방법에서 비교 검사 결과를 나타낸 도면이다. 7 and 8 are diagrams illustrating comparative inspection results in a method for ensuring continuity and preventing forgery according to an embodiment of the present invention.
도 7에는 연속성 보장 및 위변조 방지 장치(400)가 블록 데이터를 비교 검사하여 정상 데이터를 나타내는 트루(True) 상태로 판정한 예시를 나타내고 있다. 7 shows an example in which the continuity guarantee and
단계 S401에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 복호화하여 제1 해시값(1stHash) “1052345099”를 산출한다. In step S401, the continuity guarantee and
단계 S402에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터(Received Data Block) “Data112345678”를 수신한다. In step S402, the continuity assurance and
단계 S403에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시화하여 수신된 블록 데이터의 제2 해시 값(Received Data Block Hash) “1052345099”를 산출한다. In step S403 , the continuity guarantee and
단계 S404에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S401 에서 산출된 제1 해시 값 “1052345099”과 제2 해시 값 “1052345099”을 비교하고, 비교 결과 제1 해시 값 “1052345099”과 제2 해시 값 “1052345099”이 서로 일치하여 해당 블록 데이터를 정상 데이터를 나타내는 트루(True) 상태로 판정한다.In step S404, the continuity guarantee and
한편, 도 8에는 연속성 보장 및 위변조 방지 장치(400)가 블록 데이터를 비교 검사하여 비정상 데이터를 나타내는 폴스(Falsee) 상태로 판정한 예시를 나타내고 있다. Meanwhile, FIG. 8 shows an example in which the continuity guarantee and
단계 S501에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 복호화하여 제1 해시값(1stHash) “1052345099”를 산출한다. In step S501, the continuity guarantee and
단계 S502에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터(Received Data Block) “Data876543211”을 수신한다. In step S502, the continuity assurance and
단계 S503에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시화하여 수신된 블록 데이터의 제2 해시 값(Received Data Block Hash) “1052345130”을 산출한다. In step S503, the continuity guarantee and
단계 S504에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S501에서 산출된 제1 해시 값 “1052345099”와 제2 해시 값 “1052345130”을 비교하고, 비교 결과 제1 해시 값 “1052345099”과 제2 해시 값 “1052345130”이 서로 불일치하여 해당 블록 데이터를 비정상 데이터를 나타내는 폴스(False) 상태로 판정한다.In step S504, the continuity assurance and
한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. Meanwhile, according to an embodiment of the present invention, the various embodiments described above are implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer). can be The device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments. When the instruction is executed by the processor, the processor may perform a function corresponding to the instruction by using other components directly or under the control of the processor. Instructions may include code generated or executed by a compiler or interpreter. The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.In addition, according to an embodiment of the present invention, the methods according to the various embodiments described above may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.In addition, according to an embodiment of the present invention, the various embodiments described above are stored in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. can be implemented in In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
한편, 상술한 다양한 실시예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.Meanwhile, computer instructions for performing the processing operation of the device according to the above-described various embodiments may be stored in a non-transitory computer-readable medium. The computer instructions stored in the non-transitory computer-readable medium, when executed by the processor of the specific device, cause the specific device to perform the processing operation in the device according to the various embodiments described above. The non-transitory computer-readable medium refers to a medium that stores data semi-permanently, not a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device. Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
또한, 상술한 다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.In addition, each of the components (eg, a module or a program) according to the above-described various embodiments may be composed of a single or a plurality of entities, and some sub-components of the above-described corresponding sub-components may be omitted, or other Sub-components may be further included in various embodiments. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component are sequentially, parallel, repetitively or heuristically executed, or at least some operations are executed in a different order, are omitted, or other operations are added. can be
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In the above, preferred embodiments of the present invention have been illustrated and described, but the present invention is not limited to the specific embodiments described above, and is commonly used in the technical field pertaining to the present disclosure without departing from the gist of the present invention as claimed in the claims. Various modifications are possible by those having the knowledge of, of course, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.
10: 해사 디지털 플랫폼 시스템
100: 클라이언트 단말
110: 앱웹 서비스 단말
120: 선박용 단말
200: 해사 디지털 플랫폼 장치
210: 제1 데이터 저장 모듈
220: 제1 암복호화 모듈
230: 제1 데이터 합의노드 모듈
30: 블록체인 네트워크
300: 블록체인 서버
310: 제2 데이터 합의노드 모듈
320: 제2 데이터 저장 모듈
400: 연속성 보장 및 위변조 방지 장치
410: 제2 암복호화 모듈
420: 블록 검사 모듈
430: 데이터 처리 모듈10: Maritime Digital Platform System
100: client terminal
110: App web service terminal
120: marine terminal
200: maritime digital platform device
210: first data storage module
220: first encryption/decryption module
230: first data consensus node module
30: Blockchain Network
300: Blockchain Server
310: second data consensus node module
320: second data storage module
400: continuity guarantee and forgery prevention device
410: second encryption/decryption module
420: block check module
430: data processing module
Claims (9)
상기 해사 디지털 플랫폼 장치가 상기 블록체인 서버로부터 데이터 블록 각각에 대한 해시 블록이 순차적으로 연결된 해시 데이터를 수신받아 미리 저장하는 단계;
상기 해사 디지털 플랫폼 장치가 데이터 전송시간 단축 및 네트워크 비용 절약을 위해, 상기 클라이언트 단말의 데이터 요청에 따라 상기 미리 저장된 해시 데이터를 암호화하여 상기 클라이언트 단말에 전송하는 단계;
상기 클라이언트 단말이 상기 해사 디지털 플랫폼 장치로부터 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 복호화하고, 상기 복호화된 해시 데이터로부터 제1 해시 값을 산출하는 단계;
상기 해사 디지털 플랫폼 장치가 상기 블록체인 서버로부터 상기 클라이언트 단말의 데이터 요청에 대응되는 블록 데이터를 전달받아 상기 클라이언트 단말에 전송하는 단계;
상기 클라이언트 단말이 상기 해사 디지털 플랫폼 장치에 요청하여 블록 단위로 블록 데이터를 수신하고, 상기 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출하는 단계;
상기 클라이언트 단말이 상기 산출된 제1 해시 값과 상기 산출된 제2 해시 값을 비교하여 상기 수신된 블록 데이터의 위변조 여부를 검사하되, 제1 해시 값과 제2 해시 값이 서로 불일치하는지를 확인하는 단계; 및
상기 클라이언트 단말이 제1 해시 값과 제2 해시 값이 서로 불일치하면, 위변조 검사 결과 오염된 블록 데이터에 대해 오염된 블록 데이터의 블록 정보를 상기 해사 디지털 플랫폼 장치에 송신하여 상기 해사 디지털 플랫폼 장치에 선택적으로 재전송을 요청하는 단계;
상기 해사 디지털 플랫폼 장치가 제1 해시 값과 제2 해시 값이 서로 불일치되는 제2 해시 값에 대응되는 블록 데이터 검증을 상기 블록체인 서버에 요청하는 단계;
상기 블록체인 서버가 블록 데이터 검증에 대해 요청받은 블록 데이터를 해사 디지털 플랫폼 장치 및 블록체인 서버에 각각 포함된 제1 데이터 합의노드 모듈과 제2 데이터 합의노드 모듈을 이용하여 블록 데이터를 수정하는 단계;
상기 블록체인 서버가 수정된 블록 데이터를 상기 해사 디지털 플랫폼 장치에 송신하는 단계;
상기 해사 디지털 플랫폼 장치가 상기 블록체인 서버로부터 수신받은 수정된 블록 데이터를 상기 클라이언트 단말에 송신하는 단계; 및
상기 클라이언트 단말이 위변조 검사 결과 오염된 블록 데이터에 대해 상기 해사 디지털 플랫폼 장치에 선택적으로 재전송을 요청하여 수정된 블록 데이터를 블록 단위로 수신받는 단계를 포함하고,
상기 블록체인 서버는, 블록체인 네트워크에 연결되고, 상기 블록체인 네트워크 상의 데이터에 대해 데이터 블록과 해시 블록이 순차적으로 연결된 블록 데이터를 저장하고,
상기 해시 데이터는 블록 데이터 중에서 데이터 블록을 제외한 해시 블록이 해시 블록의 해시 값을 기준으로 블록 해시-시작(BLOCK HASH-START)부터 순차적으로 블록 해시 1(BLOCK HASH1), 블록 해시 2(BLOCK HASH2), 블록 해시 3(BLOCK HASH3), …, 블록 해시-종료(BLOCK HASH-END)까지 순차적으로 연결되는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법. In the method of ensuring continuity and preventing forgery, performed by the maritime digital platform system including the blockchain server, the maritime digital platform device, and the client terminal,
receiving, by the maritime digital platform device, hash data in which hash blocks for each data block are sequentially connected from the block chain server, and storing the hash data in advance;
Transmitting, by the maritime digital platform device, to the client terminal by encrypting the hash data stored in advance according to the data request of the client terminal in order to shorten the data transmission time and save network costs;
receiving, by the client terminal, encrypted hash data from the maritime digital platform device, decrypting the received encrypted hash data, and calculating a first hash value from the decrypted hash data;
receiving, by the maritime digital platform device, block data corresponding to the data request of the client terminal from the block chain server and transmitting the block data to the client terminal;
receiving, by the client terminal, block data in block units by requesting from the maritime digital platform device, converting the received block data into a hash code to calculate a second hash value;
The client terminal compares the calculated first hash value with the calculated second hash value to check whether the received block data has been forged or forged, and checking whether the first hash value and the second hash value do not match each other ; and
When the first hash value and the second hash value do not match with each other, the client terminal transmits block information of the contaminated block data to the maritime digital platform device for the contaminated block data as a result of the forgery inspection to the maritime digital platform device requesting retransmission to
requesting, by the maritime digital platform device, to verify block data corresponding to a second hash value in which a first hash value and a second hash value do not match with each other;
modifying, by the block chain server, the block data requested for block data verification using a first data consensus node module and a second data consensus node module included in the digital platform device and the block chain server, respectively;
transmitting, by the block chain server, the modified block data to the maritime digital platform device;
transmitting, by the maritime digital platform device, the modified block data received from the block chain server to the client terminal; and
Comprising the step of receiving, by the client terminal in block units, the modified block data by selectively requesting retransmission to the maritime digital platform device for the block data contaminated as a result of the forgery inspection,
The block chain server is connected to a block chain network and stores block data in which a data block and a hash block are sequentially connected for data on the block chain network,
The hash data is block hash 1 (BLOCK HASH1), block hash 2 (BLOCK HASH2) sequentially from block hash-start (BLOCK HASH-START) based on the hash value of the hash block except for the data block among the block data. , block hash 3 (BLOCK HASH3), … , a block-chain-based method to ensure continuity of exchange data between ships and land stations and prevent forgery, which is sequentially connected until the end of block hash-end.
잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신하는 단계를 더 포함하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법. According to claim 1,
Checking whether residual block data exists, and further requesting and receiving the residual block data from the maritime digital platform device Way.
상기 제1 해시 값을 산출하는 단계는,
S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크에 저장되어 있는 상기 블록 데이터를 상기 해사 디지털 플랫폼 장치에 요청하여 수신하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법. According to claim 1,
Calculating the first hash value includes:
S-100-based plaintext data is blocked and the block data stored in a private blockchain network is requested and received from the maritime digital platform device, ensuring continuity of exchange data between a blockchain-based ship and land station; How to prevent forgery.
상기 제1 해시 값을 산출하는 단계는,
상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제1 해시 값을 산출하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법. According to claim 1,
Calculating the first hash value includes:
Between a block chain-based ship and a land station, receiving hash data encrypted with the public key of the client terminal from the maritime digital platform device, and decrypting the received encrypted hash data with the private key of the client terminal to calculate a first hash value How to ensure continuity of exchange data and prevent forgery.
블록체인 네트워크에 연결되고, 상기 블록체인 네트워크 상의 데이터에 대해 데이터 블록과 해시 블록이 순차적으로 연결된 블록 데이터를 저장하는 블록체인 서버;
상기 블록체인 서버로부터 데이터 블록 각각에 대한 해시 블록이 순차적으로 연결된 해시 데이터를 수신받아 미리 저장하고, 데이터 전송시간 단축 및 네트워크 비용 절약을 위해, 상기 클라이언트 단말의 데이터 요청에 따라 상기 미리 저장된 해시 데이터를 암호화하여 상기 클라이언트 단말에 전송하는 해사 디지털 플랫폼 장치; 및
상기 해사 디지털 플랫폼 장치로부터 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 복호화하고, 상기 복호화된 해시 데이터로부터 제1 해시 값을 산출하는 클라이언트 단말을 포함하고,
상기 해사 디지털 플랫폼 장치가 상기 블록체인 서버로부터 상기 클라이언트 단말의 데이터 요청에 대응되는 블록 데이터를 전달받아 상기 클라이언트 단말에 전송하고,
상기 클라이언트 단말이 상기 해사 디지털 플랫폼 장치에 요청하여 블록 단위로 블록 데이터를 수신하고, 상기 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출하고,
상기 클라이언트 단말이 상기 산출된 제1 해시 값과 상기 산출된 제2 해시 값을 비교하여 상기 수신된 블록 데이터의 위변조 여부를 검사하되, 제1 해시 값과 제2 해시 값이 서로 불일치하는지를 확인하고,
상기 클라이언트 단말이 제1 해시 값과 제2 해시 값이 서로 불일치하면, 위변조 검사 결과 오염된 블록 데이터에 대해 오염된 블록 데이터의 블록 정보를 상기 해사 디지털 플랫폼 장치에 송신하여 상기 해사 디지털 플랫폼 장치에 선택적으로 재전송을 요청하고,
상기 해사 디지털 플랫폼 장치가 제1 해시 값과 제2 해시 값이 서로 불일치되는 제2 해시 값에 대응되는 블록 데이터 검증을 상기 블록체인 서버에 요청하고,
상기 블록체인 서버가 블록 데이터 검증에 대해 요청받은 블록 데이터를 해사 디지털 플랫폼 장치 및 블록체인 서버에 각각 포함된 제1 데이터 합의노드 모듈과 제2 데이터 합의노드 모듈을 이용하여 블록 데이터를 수정하고,
상기 블록체인 서버가 수정된 블록 데이터를 상기 해사 디지털 플랫폼 장치에 송신하고,
상기 해사 디지털 플랫폼 장치가 상기 블록체인 서버로부터 수신받은 수정된 블록 데이터를 상기 클라이언트 단말에 송신하고,
상기 클라이언트 단말이 위변조 검사 결과 오염된 블록 데이터에 대해 상기 해사 디지털 플랫폼 장치에 선택적으로 재전송을 요청하여 수정된 블록 데이터를 블록 단위로 수신받고,
상기 해시 데이터는 블록 데이터 중에서 데이터 블록을 제외한 해시 블록이 해시 블록의 해시 값을 기준으로 블록 해시-시작(BLOCK HASH-START)부터 순차적으로 블록 해시 1(BLOCK HASH1), 블록 해시 2(BLOCK HASH2), 블록 해시 3(BLOCK HASH3), …, 블록 해시-종료(BLOCK HASH-END)까지 순차적으로 연결되는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지를 위한 해사 디지털 플랫폼 시스템. In the maritime digital platform system including a blockchain server, a maritime digital platform device, and a client terminal,
a block chain server connected to a block chain network and storing block data in which data blocks and hash blocks are sequentially connected to data on the block chain network;
In order to receive and store in advance hash data in which hash blocks for each data block are sequentially connected from the block chain server, and to reduce data transmission time and network cost, the hash data stored in advance according to the data request of the client terminal Haehae digital platform device for encrypting and transmitting to the client terminal; and
A client terminal that receives encrypted hash data from the maritime digital platform device, decrypts the received encrypted hash data, and calculates a first hash value from the decrypted hash data,
The maritime digital platform device receives block data corresponding to the data request of the client terminal from the block chain server and transmits it to the client terminal,
The client terminal receives block data in block units by requesting the maritime digital platform device, converts the received block data into a hash code to calculate a second hash value,
The client terminal compares the calculated first hash value with the calculated second hash value to check whether the received block data has been forged or altered, and checks whether the first hash value and the second hash value do not match each other,
When the first hash value and the second hash value do not match with each other, the client terminal transmits block information of the contaminated block data to the maritime digital platform device for the contaminated block data as a result of the forgery inspection to the maritime digital platform device request retransmission to
The maritime digital platform device requests the block chain server to verify block data corresponding to a second hash value in which the first hash value and the second hash value do not match each other,
The block chain server analyzes the block data requested for block data verification and corrects the block data using the first data consensus node module and the second data consensus node module included in the digital platform device and the block chain server, respectively,
The blockchain server transmits the modified block data to the maritime digital platform device,
The maritime digital platform device transmits the modified block data received from the block chain server to the client terminal,
The client terminal selectively requests retransmission to the maritime digital platform device for the block data contaminated as a result of the forgery inspection and receives the corrected block data in block units,
The hash data is block hash 1 (BLOCK HASH1), block hash 2 (BLOCK HASH2) sequentially from block hash-start (BLOCK HASH-START) based on the hash value of the hash block except for the data block among the block data. , block hash 3 (BLOCK HASH3), … , a maritime digital platform system to ensure the continuity of exchange data between ships and land stations based on blockchain, sequentially connected until the block hash-end, and to prevent forgery.
상기 클라이언트 단말은,
잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지를 위한 해사 디지털 플랫폼 시스템. 6. The method of claim 5,
The client terminal is
A maritime digital platform for ensuring continuity of exchange data between a blockchain-based ship and land station and preventing forgery and forgery, which checks whether residual block data exists, and additionally requests and receives the residual block data from the maritime digital platform device system.
상기 클라이언트 단말은,
S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크에 저장되어 있는 상기 블록 데이터를 상기 해사 디지털 플랫폼 장치에 요청하여 수신하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지를 위한 해사 디지털 플랫폼 시스템.6. The method of claim 5,
The client terminal is
S-100-based plaintext data is blocked and the block data stored in a private blockchain network is requested and received from the maritime digital platform device, ensuring continuity of exchange data between a blockchain-based ship and land station; Maritime digital platform system to prevent forgery.
상기 클라이언트 단말은,
상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제1 해시 값을 산출하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지를 위한 해사 디지털 플랫폼 시스템.6. The method of claim 5,
The client terminal is
Between a block chain-based ship and a land station, receiving hash data encrypted with the public key of the client terminal from the maritime digital platform device, and decrypting the received encrypted hash data with the private key of the client terminal to calculate a first hash value Maritime digital platform system to ensure continuity of exchange data and prevent forgery.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200174198 | 2020-12-14 | ||
KR20200174198 | 2020-12-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102362855B1 true KR102362855B1 (en) | 2022-02-14 |
Family
ID=80254060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210096537A KR102362855B1 (en) | 2020-12-14 | 2021-07-22 | Method and apparatus for ensuring continuity and forgery prevention of exchange data between ships and land stations based on blockchain and maritime digital platform system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102362855B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714199A (en) * | 2024-01-10 | 2024-03-15 | 山东科技大学 | Ocean data access authorization control method based on blockchain and certificate verification |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101868029B1 (en) * | 2017-03-10 | 2018-06-18 | 현대카드 주식회사 | Method and system for sharing file based on blockchain |
KR20190127124A (en) * | 2018-05-03 | 2019-11-13 | 주식회사 지행아이티 | Method and apparatus for verifying integrity of source code and related data using blockchain |
KR20200048440A (en) * | 2018-10-30 | 2020-05-08 | 삼성에스디에스 주식회사 | System for providing retrieval service based on blockchain and method of the same |
KR20200119601A (en) * | 2019-04-10 | 2020-10-20 | 현대모비스 주식회사 | Apparatus and method for secure update of a binary data in vehicle |
-
2021
- 2021-07-22 KR KR1020210096537A patent/KR102362855B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101868029B1 (en) * | 2017-03-10 | 2018-06-18 | 현대카드 주식회사 | Method and system for sharing file based on blockchain |
KR20190127124A (en) * | 2018-05-03 | 2019-11-13 | 주식회사 지행아이티 | Method and apparatus for verifying integrity of source code and related data using blockchain |
KR20200048440A (en) * | 2018-10-30 | 2020-05-08 | 삼성에스디에스 주식회사 | System for providing retrieval service based on blockchain and method of the same |
KR20200119601A (en) * | 2019-04-10 | 2020-10-20 | 현대모비스 주식회사 | Apparatus and method for secure update of a binary data in vehicle |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714199A (en) * | 2024-01-10 | 2024-03-15 | 山东科技大学 | Ocean data access authorization control method based on blockchain and certificate verification |
CN117714199B (en) * | 2024-01-10 | 2024-05-07 | 山东科技大学 | Ocean data access authorization control method based on blockchain and certificate verification |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681853B (en) | Logistics information transmission method, system and device based on block chain | |
KR20180029695A (en) | System and method for transmitting data using block-chain | |
US11533184B2 (en) | Method and apparatus for online and offline generation of unique digital certificates | |
CN104660589A (en) | Method and system for controlling encryption of information and analyzing information as well as terminal | |
CN113515766A (en) | File transmission method and device | |
KR102362855B1 (en) | Method and apparatus for ensuring continuity and forgery prevention of exchange data between ships and land stations based on blockchain and maritime digital platform system | |
KR20170120029A (en) | Method and device for preventing manipulation of a data transmission | |
CN1257629C (en) | Method and appts. for secure transmission of data | |
US10862675B2 (en) | Method for exchanging messages between security-relevant devices | |
CN111160504A (en) | Method, device and equipment for generating dynamic two-dimensional code and storage medium | |
CN101980471B (en) | Digital signature method, and method, device and system for verifying digital signature | |
CN116545776B (en) | Data transmission method, device, computer equipment and storage medium | |
CN107222453B (en) | file transmission method and device | |
KR101513195B1 (en) | Mail forwarding method for enhancing security using gateway sever | |
CN111869160B (en) | Method and apparatus for secure transmission of a message from a transmitting device to a receiving device | |
CN108965108B (en) | Message pushing method and related equipment | |
US20240022432A1 (en) | Digital signature security system for messages | |
JP2003069581A (en) | Unjust packet prevention method and preventing apparatus of radio multi-hop network | |
CN114449505A (en) | NFC label data transmission method | |
CN114065302A (en) | Data processing method, device, equipment, medium and block chain network | |
CN106535144A (en) | Sending method for encrypted short message and terminal | |
CN114445072A (en) | Block chain transaction method and block chain transaction system | |
CN111614653A (en) | Communication method, system, electronic device and readable storage medium | |
CN112929871A (en) | OTA upgrade package acquisition method, electronic device and storage medium | |
CN117852107B (en) | Ocean scientific investigation data sharing platform based on block chain and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |