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 PDF

Info

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
Application number
KR1020210096537A
Other languages
Korean (ko)
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 (주)지엠티
Application granted granted Critical
Publication of KR102362855B1 publication Critical patent/KR102362855B1/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/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/3226Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • H04L2209/38

Abstract

The present invention relates to a method and apparatus for guaranteeing the continuity of exchange data and preventing forgery between a vessel and a land station based on blockchains, and a maritime platform system using the same. In accordance with one embodiment of the present invention, the method for guaranteeing the continuity of exchange data and preventing forgery between a vessel and a land station based on blockchains includes the following steps of: receiving encrypted hash data from a maritime digital platform apparatus, and decoding the received encrypted hash data to calculate a first hash value; requesting the maritime digital platform apparatus to calculate a second hash value by converting block data received block by block, into a hash code; comparing the calculated first hash value with the calculated second hash value to inspect whether the received block data is forged; and requesting the maritime digital platform apparatus to selectively retransmit the forged block data.

Description

블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템{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}Method and device for ensuring continuity of exchange data between ships and land stations based on block chain and preventing forgery and forgery and maritime digital platform system using the same PLATFORM SYSTEM}

본 발명은 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법 및 장치와 이를 이용한 해사 디지털 플랫폼 시스템에 관한 것이다.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 digital platform system 10 applied to an embodiment of the present invention is a blockchain network 30 to which the maritime digital platform device 200, the block chain server 300 are connected, and the client It includes the terminal 100 . Here, the client terminal 100 may include the app web service terminal 110 or the ship terminal 120 . However, not all illustrated components are essential components. The maritime digital platform system 10 may be implemented by more components than the illustrated components, and the maritime digital platform system 10 may be implemented by fewer components than that.

이하, 도 1의 해사 디지털 플랫폼 시스템(10)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.Hereinafter, a detailed configuration and operation of each component of the maritime digital platform system 10 of FIG. 1 will be described.

본 발명의 일 실시예에서는 클라이언트 단말(100)은 블록체인 서버(300)로부터 암호화된 블록별 해시 데이터를 수신받고, 이후 전송되는 블록 데이터를 블록단위로 검사하고, 오염된 블록 데이터만 선택적으로 재전송 요청하여 수정된 블록 데이터를 재수신받는 방법에 관한 것으로서, 해시 및 블록 데이터의 수신과 블록 데이터의 위변조를 처리하는 전체 해사 디지털 플랫폼 시스템(10)의 구성도는 도 1과 같다. In an embodiment of the present invention, the client terminal 100 receives encrypted block-by-block hash data from the block chain server 300, inspects the block data to be transmitted thereafter in block units, and selectively retransmits only the contaminated block data. As to a method for requesting and re-receiving modified block data, the block diagram of the entire maritime digital platform system 10 for processing the reception of hash and block data and forgery of block data is shown in FIG. 1 .

프라이빗(Private) 블록체인 네트워크(30)는 S-100 기반의 평문 데이터를 블록화하고 해사 디지털 플랫폼 장치(200)가 요청하는 블록 데이터를 제공하는 시스템이다. 프라이빗 블록체인 네트워크(30)는 적어도 하나의 블록체인 서버(300)를 포함한다. 적어도 하나의 블록체인 서버(300)는 프라이빗 블록체인 네트워크(30)를 통해 연결되거나, 서로 연결될 수 있다. 블록체인 서버(300)는 데이터를 파편화(세그멘테이션)한 블록의 데이터 블록과 해시 블록을 모두 가지고 있다. 여기서, 하나의 블록 데이터에는 각 블록에 대한 데이터 블록과 해시 블록이 포함되어 있다. 블록체인 서버(300)는 우선 저장된 전체 데이터에 대한 해시 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. 여기서, 해시 데이터는 각 블록에 대한 해시 블록이 순차적으로 연결되어 구성된다.The private blockchain network 30 is a system that blocks S-100-based plaintext data and provides block data requested by the maritime digital platform device 200 . The private blockchain network 30 includes at least one blockchain server 300 . At least one blockchain server 300 may be connected through the private blockchain network 30 or may be connected to each other. The blockchain server 300 has both a data block and a hash block of a block in which data is fragmented (segmented). Here, one block data includes a data block and a hash block for each block. The blockchain server 300 first transmits hash data for the entire stored data to the maritime digital platform device 200 . Here, the hash data is constructed by sequentially connecting the hash blocks for each block.

해사 디지털 플랫폼 장치(200)는 각 데이터 블록에 대응되는 해시 데이터만을 보유하고 있다. 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)로부터 전체 데이터에 대한 블록별로 해시 데이터를 수신받아 저장한다. 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)에서 생성되는 S-100기반 데이터의 메타 정보와 해시 코드 정보를 저장한다. 그리고 해사 디지털 플랫폼 장치(200)는 앱웹(APPWeb) 서비스 단말(110) 또는 선박용 단말(120)이 요청하는 블록 데이터를 제공하는 데이터 유통 플랫폼으로 동작한다. The maritime digital platform device 200 holds only hash data corresponding to each data block. The maritime digital platform device 200 receives and stores hash data for each block of the entire data from the block chain server 300 . The maritime digital platform device 200 stores meta information and hash code information of the S-100-based data generated by the block chain server 300 . And the maritime digital platform device 200 operates as a data distribution platform that provides the block data requested by the app web (APPWeb) service terminal 110 or the ship terminal 120.

앱웹(APPWeb) 서비스 단말(110)은 웹브라우저를 통해 접속하는 사용자가 요청하는 블록 데이터를 해사 디지털 플랫폼 장치(200)를 활용하여 제공해주는 해사 데이터 제공 서비스를 지원한다. The app web (APPWeb) service terminal 110 supports a maritime data providing service that provides block data requested by a user accessing through a web browser by utilizing the maritime digital platform device 200 .

선박용 단말(120)은 선박의 항행장비에 탑재되는 소프트웨어에 따라 동작하며, 선박 사용자가 요청하는 블록 데이터를 해사 디지털 플랫폼 장치(200)를 통해 다운로드하여 선박 사용자에게 제공한다. The ship terminal 120 operates according to software mounted on the ship's navigation equipment, and downloads block data requested by the ship user through the maritime digital platform device 200 and provides it to the ship user.

앱웹 서비스 단말(110) 또는 선박용 단말(120)에는 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 장치(400)가 구현된다. 본 발명의 일실시예에 따른 앱웹 서비스 단말(110) 또는 선박용 단말(120)은 구현된 연속성 보장 및 위변조 방지 장치(400)를 통해 블록체인 기반의 데이터를 블록(Block) 단위로 수신하는 과정에 블록 단위의 위변조 검사를 수행하고, 블록 데이터가 오염된 경우 오염된 블록 데이터만을 새로 해사 디지털 플랫폼 장치(200)를 통해 수신할 수 있다. The app web service terminal 110 or the ship terminal 120 is implemented with the continuity guarantee and forgery prevention device 400 according to an embodiment of the present invention. The app web service terminal 110 or the marine terminal 120 according to an embodiment of the present invention receives block chain-based data in block units through the implemented continuity guarantee and forgery prevention device 400 in the process of receiving Forgery inspection is performed on a block-by-block basis, and when the block data is contaminated, only the contaminated block data can be newly deciphered and received through the digital platform device 200 .

상기와 같은 본 발명의 일 실시예에 따른 연속성 보장 및 위변조 방지 장치(400)는 해시 코드 기반의 데이터 블록의 위변조 검증을 통해 오염된 블록만 선택적으로 재전송 받을 수 있다. 이를 통해, 본 발명의 일 실시예는 데이터 전송 시간 단축 및 네트워크 비용을 절약, 데이터 위변조를 방지할 수 있다. As described above, the apparatus 400 for ensuring continuity and forgery prevention according to an embodiment of the present invention can selectively receive only the corrupted block retransmission through forgery verification of the hash code-based data block. Through this, an embodiment of the present invention can reduce data transmission time, save network cost, and prevent data forgery.

도 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 forgery prevention device 400, maritime digital platform device 200 and block chain server 300 according to an embodiment of the present invention. It is a drawing showing a detailed configuration.

우선, 도 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 digital platform device 200 includes a first data storage module 210 , a first encryption/decryption module 220 , and a first data consensus node module 230 .

블록체인 서버(300)는 제2 데이터 합의노드 모듈(310) 및 제2 데이터 저장 모듈(320)을 포함한다. The blockchain server 300 includes a second data consensus node module 310 and a second data storage module 320 .

다음으로, 연속성 보장 및 위변조 방지 장치(400)는 제2 암복호화 모듈(410), 블록 검사 모듈(420) 및 데이터 처리 모듈(430)을 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 연속성 보장 및 위변조 방지 장치(400)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 연속성 보장 및 위변조 방지 장치(400)가 구현될 수 있다.Next, the apparatus for ensuring continuity and preventing forgery 400 includes a second encryption/decryption module 410 , a block checking module 420 , and a data processing module 430 . However, not all illustrated components are essential components. The continuity assurance and forgery prevention apparatus 400 may be implemented by more components than the illustrated components, and the continuity guarantee and forgery prevention apparatus 400 may be implemented by fewer components.

이하, 도 2 및 도 3의 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 장치(400)가 포함된 앱웹 서비스 단말(110) 또는 선박용 단말(120)과, 해사 디지털 플랫폼 장치(200)와, 블록체인 서버(300)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다. Hereinafter, the app web service terminal 110 or the ship terminal 120 including the device 400 to ensure continuity and forgery prevention of exchange data between the block chain-based ship and land station of FIGS. 2 and 3 and the maritime digital platform device ( 200) and the detailed configuration and operation of each component of the block chain server 300 will be described.

우선, 블록체인 서버(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 data storage module 320 of the block chain server 300 has both a data block and a hash block of a data fragmentation (segmentation) block. Here, the data block and the hash block are stored in pairs, and are sequentially connected based on the hash block. That is, the second data storage module 320 stores block data in which a plurality of data blocks and hash blocks are connected in pairs in a block chain format. The second data storage module 320 includes a plurality of data blocks (DATA BLOCK) for one block of data, DATA 1 , and a hash block corresponding to the data block. For example, as shown in FIGS. 2 and 3 , a hash block is a block hash-start (BLOCK HASH-START), a block hash 1 (BLOCK HASH1), a block hash 2 (BLOCK HASH2), a block hash 3 (BLOCK HASH3) , are connected by BLOCK HASH-END. Hash blocks are sequentially connected and stored from the block hash-start (BLOCK HASH-START) to the next hash block. For other block data, block data 2 (DATA2) and block data 3 (DATA2), data blocks and hash blocks are paired in the same way, and are sequentially connected based on the hash value of the hash block.

한편, 블록체인 서버(300)는 저장된 전체 데이터에 대한 해시 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. 여기서, 이후, 블록체인 서버(300)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터 요청이 있으면, 요청된 블록에 대한 블록 데이터를 해사 디지털 플랫폼 장치(200)에 전송한다. On the other hand, the blockchain server 300 transmits hash data for the entire stored data to the maritime digital platform device 200 . Here, when there is a block data request from the maritime digital platform device 200 , the block chain server 300 transmits block data for the requested block to the maritime digital platform device 200 .

블록체인 서버(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 web service terminal 110 or the marine terminal 120 through the maritime digital platform device 200, the second data consensus node module 310 of the block chain server 300, the maritime digital Validation is performed through the process of the first data consensus node module 230 and the data consensus node of the platform device 200 . And after the validation is performed in the second data consensus node module 310, the block data modified through the agreement of the nodes is the app web service terminal 110 or the marine terminal 120 that has requested retransmission through the maritime digital platform device 200 ) is sent to

다음으로, 해사 디지털 플랫폼 장치(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 data storage module 210 of the maritime digital platform device 200 receives and stores block-by-block hash data for data from the blockchain server 300 . The first data storage module 210 stores only hash data of each block data for data. The first data storage module 210 does not store block data including data blocks of data, but stores sequentially connected hash data. That is, the hash block is based on the hash block of the previous block in front of me, and the hash block of the subsequent block, which is the next block, has an interconnection relationship. The first data storage module 210 stores a plurality of sequentially connected hash blocks for one block data, DATA 1 . For example, as shown in FIGS. 2 and 3 , hash data is block hash-start (BLOCK HASH-START), block hash 1 (BLOCK HASH1), block hash 2 (BLOCK HASH2), block hash 3 (BLOCK HASH3) , are connected by BLOCK HASH-END. Hash data is sequentially connected and stored from the block hash-start (BLOCK HASH-START) to the next hash block. Hash blocks excluding data blocks are sequentially connected in the same manner with respect to block data 2 (DATA2), which is another block data, based on the hash value of the hash block.

그리고 해사 디지털 플랫폼 장치(200)는 클라이언트 단말(100)이 요청한 블록 데이터의 블록 단위 해시 데이터를 클라이언트 단말(100)의 공개키를 이용하여 암호화한 후, 해당 클라이언트 단말(100)에 전송한다. 여기서, 클라이언트 단말(100)은 해사 디지털 플랫폼 장치(200)와 통신하는 앱웹 서비스 단말(110) 또는 선박용 단말(120)일 수 있다. 이와 같이, 해사 디지털 플랫폼 장치(200)의 제1 암복호화 모듈(220)은 앱웹 서비스 단말(110) 또는 선박용 단말(120)로부터 필요한 데이터 요청이 있는 경우, 요청받은 데이터의 해시 데이터를 해당 단말의 공개키로 암호화하여 데이터 요청이 수신된 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 전송한다. Then, the maritime digital platform apparatus 200 encrypts block-by-block hash data of the block data requested by the client terminal 100 using the public key of the client terminal 100 and then transmits it to the corresponding client terminal 100 . Here, the client terminal 100 may be an app web service terminal 110 or a ship terminal 120 that communicates with the maritime digital platform device 200 . As such, when there is a data request required from the app web service terminal 110 or the ship terminal 120, the first encryption/decryption module 220 of the maritime digital platform device 200 transmits the hash data of the requested data to the terminal. It is encrypted with the public key and transmitted to the app web service terminal 110 or the ship terminal 120 from which the data request is received.

이후, 해사 디지털 플랫폼 장치(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 web service terminal 110 or the ship terminal 120, the first data consensus node module 230 of the maritime digital platform device 200, the block chain server 300 Validation is performed through the process of the second data consensus node module 310 and the data consensus node of In addition, the first data consensus node module 230 transmits the modified block data to the app web service terminal 110 or the marine terminal 120 requesting retransmission after validation is performed.

한편, 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 포함된 연속성 보장 및 위변조 방지 장치(400)의 구성 및 동작에 대해서 설명하기로 한다. On the other hand, the configuration and operation of the continuity guarantee and forgery prevention device 400 included in the app web service terminal 110 or the marine terminal 120 will be described.

우선, 제2 암복호화 모듈(410)은 해사 디지털 플랫폼 장치(200)의 제1 암복호화 모듈(220)에서 암호화된 블록 단위의 해시 데이터를 자신의 개인키를 활용하여 복호화하여 제1 해시 값을 산출한 후, 블록 검사 모듈(420)에 저장한다.First, the second encryption/decryption module 410 decrypts the block-unit hash data encrypted in the first encryption/decryption module 220 of the maritime digital platform device 200 using its own private key to obtain a first hash value. After calculating, it is stored in the block inspection module 420 .

그리고 데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)에 필요한 데이터를 요청하고 블록 단위로 수신하여 블록 검사 모듈(420)에 해당 블록 데이터를 입력한다. And the data processing module 430 requests the data required for the maritime digital platform device 200 and receives the data in block units and inputs the corresponding block data to the block inspection module 420 .

블록 검사 모듈(420)은 입력 받은 블록 데이터를 해시화하여 해시 코드로 변환하고 제2 해시 값을 산출하여 미리 저장해 놓은 제1 해시 값과 비교하고 결과를 데이터 처리 모듈(430)에 입력한다.The block checking module 420 hashes the received block data, converts it into a hash code, calculates a second hash value, compares it with a pre-stored first hash value, and inputs the result to the data processing module 430 .

블록 검사 모듈(420)은 입력된 블록 데이터의 값이 정상인 경우, 해사 디지털 플랫폼 장치(200)에 다음 블록 데이터를 요청한다. 수신된 블록 데이터가 비정상 일 경우 해당 데이터 블록을 재요청하여 수신받고, 이를 블록 검사 모듈(420)에 입력하여 위변조 여부를 다시 검사한다. 블록 검사 모듈(420)은 데이터 전송의 완료되었을 경우 데이터 처리 모듈(430)의 작업을 중지한다.When the value of the input block data is normal, the block check module 420 requests the next block data from the maritime digital platform device 200 . When the received block data is abnormal, a corresponding data block is requested again to be received, and it is input to the block checking module 420 to check again whether forgery or not. The block checking module 420 stops the operation of the data processing module 430 when data transmission is completed.

한편, 앱웹 서비스 단말(110) 또는 선박용 단말(120)에 구현된 연속성 보장 및 위변조 방지 장치(400)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다. On the other hand, a detailed configuration and operation of each component of the continuity guarantee and forgery prevention device 400 implemented in the app web service terminal 110 or the marine terminal 120 will be described.

데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)로부터 암호화된 해시 데이터를 수신하고, 해사 디지털 플랫폼 장치(200)에 요청하여 블록 단위로 블록 데이터를 수신한다. The data processing module 430 receives the encrypted hash data from the maritime digital platform device 200, and requests the maritime digital platform device 200 to receive block data in block units.

제2 암복호화 모듈(410)은 데이터 처리 모듈(430)에서 수신된 암호화된 해시 데이터를 복호화한다. The second encryption/decryption module 410 decrypts the encrypted hash data received from the data processing module 430 .

블록 검사 모듈(420)은 제2 암복호화 모듈(410)에서 복호화된 해시 데이터로부터 제1 해시 값을 산출하고, 수신된 블록 데이터를 해시 코드로 변환하여 제2 해시 값을 산출한다. 블록 검사 모듈(420)은 산출된 제1 해시 값과 산출된 제2 해시 값을 비교하여 수신된 블록 데이터의 위변조 여부를 검사한다. The block checking module 420 calculates a first hash value from the hash data decrypted by the second encryption/decryption module 410, and converts the received block data into a hash code to calculate a second hash value. The block checking module 420 compares the calculated first hash value with the calculated second hash value to check whether the received block data has been forged or altered.

그리고 데이터 처리 모듈(430)은 해사 디지털 플랫폼 장치(200)에 위변조된 블록 데이터를 선택적으로 재전송 요청한다. And the data processing module 430 selectively requests retransmission of the forged and forged block data to the maritime digital platform device 200 .

실시예들에 따르면, 데이터 처리 모듈(430)은 잔여 블록 데이터가 존재하는지 여부를 확인하고, 해사 디지털 플랫폼 장치(200)에 잔여 블록 데이터를 추가로 요청하여 수신할 수 있다. According to embodiments, the data processing module 430 may check whether residual block data exists, and may additionally request and receive the residual block data from the maritime digital platform apparatus 200 .

실시예들에 따르면, 데이터 처리 모듈(430)은 S-100 기반의 평문 데이터가 블록화되어 프라이빗(Private) 블록체인 네트워크(30)에 저장되어 있는 블록 데이터를 해사 디지털 플랫폼 장치(200)에 요청하여 수신할 수 있다. According to the embodiments, the data processing module 430 requests block data stored in the private blockchain network 30 in which S-100-based plaintext data is blocked to the maritime digital platform device 200, can receive

실시예들에 따르면, 제2 암복호화 모듈(410)은 해사 디지털 플랫폼 장치(200)에서 클라이언트 단말(100)의 공개키로 암호화된 해시 데이터를 수신하고, 수신된 암호화된 해시 데이터를 클라이언트 단말(100)의 비밀키로 복호화하여 제1 해시 값을 산출할 수 있다.According to embodiments, the second encryption/decryption module 410 receives the hash data encrypted with the public key of the client terminal 100 from the maritime digital platform device 200, and uses the received encrypted hash data to the client terminal 100 ) can be decrypted with the secret key to calculate a first hash value.

다음은 본 발명의 일 실시예의 시스템 구성에서 서비스 서버인 해사 디지털 플랫폼 장치(200)와 클라이언트 단말(100)인 앱웹 서비스 단말(110) 또는 선박용 단말(120) 간 송신 및 수신 동작에 대한 절차를 설명하기로 한다. The following describes a procedure for transmitting and receiving operations between the maritime digital platform device 200 as a service server and the app web service terminal 110 or the marine terminal 120 as the client terminal 100 in the system configuration of an embodiment of the present invention decide to do

도 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 forgery prevention device 400 receives the encrypted hash data from the maritime digital platform device (200). Step S101 is a procedure of pre-receiving hash data, which is a check standard for forgery/falsification, before receiving block data.

단계 S102에서, 연속성 보장 및 위변조 방지 장치(400)는 해시 데이터를 복호화하여 블록 검사 모듈(420)에 저장한다. 단계 S102는 해사 디지털 플랫폼 장치(200)가 클라이언트 단말(100)의 공개키로 암호화하여 보낸 해시 데이터를 클라이언트 단말(100)의 비밀키로 복호화하여 위변조 여부를 검사하는 프로그램에 저장하는 절차이다. In step S102, the continuity assurance and forgery prevention device 400 decrypts the hash data and stores it in the block check module 420 . Step S102 is a procedure of storing the hash data encrypted with the public key of the client terminal 100 and sent by the maritime digital platform device 200 with the private key of the client terminal 100 and stored in a program for checking whether or not forgery is falsified.

단계 S103에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 송신요청한다. 단계 S103는 블록 데이터를 요청하여 수신하거나, 위/변조된 블록을 버리고 다시 요청하는 절차이다.In step S103, the continuity guarantee and forgery prevention apparatus 400 requests to transmit the block data. Step S103 is a procedure of requesting and receiving block data, or discarding a forged/modulated block and requesting it again.

단계 S104에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 수신한다. 단계 S104는 해사 디지털 플랫폼 장치(200)로부터 전송되거나 재전송 받은 블록 데이터를 클라이언트 단말(100)의 로컬 디스크에 저장하는 절차이다.In step S104, the continuity guarantee and forgery prevention device 400 receives the block data. Step S104 is a procedure for storing block data transmitted or retransmitted from the maritime digital platform device 200 in the local disk of the client terminal 100 .

단계 S105에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조 여부를 확인한다. 단계 S105는 최초 수신한 해시 데이터와 수신한 블록 데이터의 해시 값을 비교하여 위/변조여부를 검사하는 절차이다.In step S105, the continuity guarantee and forgery prevention apparatus 400 checks whether the block data is forgery or not. Step S105 is a procedure of comparing the hash values of the initially received hash data and the received block data to check whether or not forgery is present.

단계 S106에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조가 아니면 원본 메시지에 포함한다. 단계 S106는 위/변조되지 않은 블록 데이터를 메시지로 포함시키는 절차이다.In step S106, the continuity assurance and forgery prevention apparatus 400 includes the original message if not forgery of the block data. Step S106 is a procedure for including forged/unmodulated block data as a message.

반면, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터의 위변조이면 블록 데이터를 재송신 요청하는 단계 S103을 수행한다. On the other hand, the continuity guarantee and forgery prevention apparatus 400 performs a step S103 of requesting retransmission of the block data if the block data is forged or forged.

단계 S107에서, 연속성 보장 및 위변조 방지 장치(400)는 잔여 블록이 존재하는지 여부를 확인한다. 단계 S107는 추가로 다운로드 받아야 할 블록 데이터가 있는지 판단하는 절차이다.In step S107, the continuity guarantee and forgery prevention apparatus 400 checks whether a residual block exists. Step S107 is a procedure for determining whether there is block data to be additionally downloaded.

단계 S108에서, 연속성 보장 및 위변조 방지 장치(400)는 잔여 블록이 존재하면, 블록 데이터를 재송신 요청하는 단계 S103을 수행하고, 잔여 블록이 존재하지 않으면, 블록 데이터를 수신 완료한다. 단계 S108은 메시지 생성에 필요한 모든 데이터를 수신하여 해사 디지털 플랫폼 장치(200)와 연결을 끊는 절차이다.In step S108, the apparatus 400 for ensuring continuity and forgery prevention performs step S103 of requesting retransmission of block data if there is a residual block, and completes reception of the block data if there is no residual block. Step S108 is a procedure of disconnecting the connection with the maritime digital platform device 200 by receiving all data necessary for message generation.

도 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 forgery prevention device 400 receives the hash data.

단계 S202에서, 연속성 보장 및 위변조 방지 장치(400)는 해시 데이터를 복호화한다. In step S202, the continuity guarantee and forgery prevention device 400 decrypts the hash data.

단계 S203에서, 연속성 보장 및 위변조 방지 장치(400)는 블록별 해시 코드로 변환하여 제1 해시 값을 산출한다. 연속성 보장 및 위변조 방지 장치(400)는 최초 수신하여 복호화 해놓은 해시 메시지에서 수신한 해시 블록에 해당하는 제1 해시 값을 검출한다.In step S203, the continuity guarantee and forgery prevention apparatus 400 calculates a first hash value by converting the hash code for each block. The continuity guarantee and forgery prevention apparatus 400 detects a first hash value corresponding to the received hash block from the initially received and decrypted hash message.

한편, 단계 S204에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 데이터를 수신한다. On the other hand, in step S204, the continuity guarantee and forgery prevention device 400 receives the block data.

단계 S205에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시 코드로 변환한다. 그리고 연속성 보장 및 위변조 방지 장치(400)는 변환된 해시 코드를 통해 제2 해시 값을 산출한다. In step S205, the continuity guarantee and forgery prevention apparatus 400 converts the received block data into a hash code. And the continuity guarantee and forgery prevention apparatus 400 calculates a second hash value through the converted hash code.

단계 S206에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값 비교를 통해 블록 검사를 수행한다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시 값을 비교하여 동일한 값을 보유했는지 검사한다.In step S206, the continuity guarantee and forgery prevention device 400 performs a block check through hash value comparison. The continuity guarantee and forgery prevention device 400 compares two hash values and checks whether the same value is maintained.

단계 S207에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일한지 여부인지를 확인한다. In step S207, the continuity guarantee and forgery prevention device 400 checks whether the hash value is the same.

단계 S208에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일하면, 블록 데이터를 원본 메시지에 포함시킨다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시값이 동일한 경우 원본 메시지에 포함시킨다.In step S208, if the hash value is the same, the continuity guarantee and forgery prevention apparatus 400 includes the block data in the original message. The continuity guarantee and forgery prevention apparatus 400 includes the two hash values in the original message when they are the same.

단계 S209에서, 연속성 보장 및 위변조 방지 장치(400)는 해시값이 동일하지 않으면, 블록 데이터를 삭제한다. 연속성 보장 및 위변조 방지 장치(400)는 두 해시값이 동일하지 않은 경우 블록 데이터를 삭제한다. In step S209, the continuity assurance and forgery prevention apparatus 400 deletes the block data if the hash values are not the same. The continuity guarantee and forgery prevention apparatus 400 deletes block data when the two hash values are not the same.

도 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 forgery prevention device 400 included in the marine terminal 120 or the app web service terminal 110 in the maritime digital platform system 10, the maritime digital platform device 200, and a block chain server ( 300) to ensure continuity and prevent forgery.

단계 S301에서, 클라이언트 단말(100)에 포함된 연속성 보장 및 위변조 방지 장치(400)는 선박용 단말(120) 또는 앱웹 서비스 단말(110)에서 필요한 데이터를 해사 디지털 플랫폼 장치(200)에 요청한다. 클라이언트 단말(100)이 필요한 데이터는 프라이빗 블록체인 네트워크(30)에 포함된 블록체인 서버(300)에 저장되어 있다. In step S301, the continuity assurance and forgery prevention device 400 included in the client terminal 100 requests data required from the marine terminal 120 or the app web service terminal 110 to the maritime digital platform device 200. Data required by the client terminal 100 is stored in the blockchain server 300 included in the private blockchain network 30 .

단계 S302에서, 해사 디지털 플랫폼 장치(200)는 클라이언트 단말(100)에 포함된 연속성 보장 및 위변조 방지 장치(400)로부터 요청받은 데이터의 해시셋을 데이터를 요청한 해당 단말의 공개키로 암호화하여 전송한다. 여기서, 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)에 저장된 블록 데이터의 해시 데이터만을 저장하고 있다. In step S302, the maritime digital platform device 200 encrypts the hash set of data requested from the continuity guarantee and forgery prevention device 400 included in the client terminal 100 with the public key of the terminal requesting the data and transmits it. Here, the maritime digital platform device 200 stores only hash data of block data stored in the block chain server 300 .

단계 S303에서, 해사 디지털 플랫폼 장치(200)는 요청받은 전체 블록 데이터를 블록체인 서버(300)에 요청한다. In step S303, the maritime digital platform device 200 requests the block chain server 300 for the requested entire block data.

단계 S304에서, 블록체인 서버(300)는 요청받은 전체 블록 데이터를 해사 디지털 플랫폼 장치(200)에 송신한다. In step S304 , the block chain server 300 transmits the requested entire block data to the maritime digital platform device 200 .

단계 S303 및 단계 S304는 해사 디지털 플랫폼 장치(200)가 클라이언트 단말(100)에 데이터 전송을 준비하기 위한 데이터 전송 준비 단계로 동작한다. Steps S303 and S304 operate as a data transmission preparation step for the maritime digital platform device 200 to prepare data transmission to the client terminal 100 .

단계 S305에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S302에서 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 자신의 비밀키로 복호화하여 제1 해시값을 산출한다. In step S305, the continuity guarantee and forgery prevention device 400 decrypts the hash data received from the maritime digital platform device 200 in step S302 with its own private key to calculate a first hash value.

단계 S306에서, 연속성 보장 및 위변조 방지 장치(400)는 필요한 데이터 중에서 블록 단위의 블록 데이터를 해사 디지털 플랫폼 장치(200)에 요청한다. In step S306, the continuity guarantee and forgery prevention device 400 requests block data in block units from among the necessary data to the maritime digital platform device 200.

단계 S307에서, 해사 디지털 플랫폼 장치(200)는 단계 S304에서 수신받은 전체 블록 데이터 중에서 블록 단위로 블록 데이터를 연속성 보장 및 위변조 방지 장치(400)에 송신한다. In step S307, the maritime digital platform device 200 transmits block data among the entire block data received in step S304 to the device 400 for ensuring continuity and preventing forgery.

단계 S308에서, 연속성 보장 및 위변조 방지 장치(400)는 블록 단위로 수신받은 블록 데이터를 해시화하여 제2 해시 값을 산출하고, 단계 S305에서 산출된 제1 해시 값과 제2 해시 값을 비교한다.In step S308, the apparatus 400 for ensuring continuity and forgery prevention calculates a second hash value by hashing the block data received in block units, and compares the first hash value and the second hash value calculated in step S305 .

단계 S309에서, 연속성 보장 및 위변조 방지 장치(400)는 제1 해시 값과 제2 해시 값이 서로 불일치하는지를 확인한다. In step S309, the continuity guarantee and forgery prevention apparatus 400 checks whether the first hash value and the second hash value do not match each other.

단계 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 forgery prevention apparatus 400 transmits block information of the contaminated block data to the maritime digital platform apparatus 200.

단계 S311에서, 해사 디지털 플랫폼 장치(200)는 제1 해시 값과 제2 해시 값이 서로 불일치되는 제2 해시 값에 대응되는 블록 데이터 검증을 블록체인 서버(300)에 요청한다. In step S311, the maritime digital platform device 200 requests the block chain server 300 to verify the block data corresponding to the second hash value in which the first hash value and the second hash value do not match each other.

단계 S312에서, 블록체인 서버(300)는 블록 데이터 검증에 대해 요청받은 블록 데이터를 해사 디지털 플랫폼 장치(200) 및 블록체인 서버(300)에 각각 포함된 제1 데이터 합의노드 모듈(230)과 제2 데이터 합의노드 모듈(310)을 이용하여 블록 데이터를 수정한다. In step S312, the block chain server 300 analyzes the block data requested for block data verification with the first data consensus node module 230 and the first data consensus node module 230 included in the digital platform device 200 and the block chain server 300, respectively. 2 Modify the block data using the data consensus node module 310 .

단계 S313에서, 블록체인 서버(300)는 수정된 블록 데이터를 해사 디지털 플랫폼 장치(200)에 송신한다. In step S313 , the block chain server 300 transmits the modified block data to the maritime digital platform device 200 .

단계 S314에서, 해사 디지털 플랫폼 장치(200)는 블록체인 서버(300)로부터 수신받은 수정된 블록 데이터를 연속성 보장 및 위변조 방지 장치(400)에 송신한다. In step S314 , the maritime digital platform device 200 transmits the modified block data received from the block chain server 300 to the continuity guarantee and forgery prevention device 400 .

단계 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 forgery prevention device 400 terminates the connection when receiving from the maritime digital platform device 200 up to the last block data among the necessary data requested in step S301.

도 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 forgery prevention apparatus 400 compares and inspects block data to determine a true state indicating normal data.

단계 S401에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 복호화하여 제1 해시값(1stHash) “1052345099”를 산출한다. In step S401, the continuity guarantee and forgery prevention device 400 decrypts the hash data received from the maritime digital platform device 200 to calculate a first hash value (1stHash) “1052345099”.

단계 S402에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터(Received Data Block) “Data112345678”를 수신한다. In step S402, the continuity assurance and forgery prevention device 400 receives the block data (Received Data Block) "Data112345678" from the maritime digital platform device (200).

단계 S403에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시화하여 수신된 블록 데이터의 제2 해시 값(Received Data Block Hash) “1052345099”를 산출한다. In step S403 , the continuity guarantee and forgery prevention apparatus 400 hashes the received block data to calculate a second hash value (Received Data Block Hash) “1052345099” of the received block data.

단계 S404에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S401 에서 산출된 제1 해시 값 “1052345099”과 제2 해시 값 “1052345099”을 비교하고, 비교 결과 제1 해시 값 “1052345099”과 제2 해시 값 “1052345099”이 서로 일치하여 해당 블록 데이터를 정상 데이터를 나타내는 트루(True) 상태로 판정한다.In step S404, the continuity guarantee and forgery prevention device 400 compares the first hash value “1052345099” calculated in step S401 and the second hash value “1052345099”, and as a result of the comparison, the first hash value “1052345099” and the second The hash value “1052345099” matches each other, and the corresponding block data is determined to be a true state indicating normal data.

한편, 도 8에는 연속성 보장 및 위변조 방지 장치(400)가 블록 데이터를 비교 검사하여 비정상 데이터를 나타내는 폴스(Falsee) 상태로 판정한 예시를 나타내고 있다. Meanwhile, FIG. 8 shows an example in which the continuity guarantee and forgery prevention apparatus 400 compares and inspects block data to determine a false state indicating abnormal data.

단계 S501에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 수신받은 해시 데이터를 복호화하여 제1 해시값(1stHash) “1052345099”를 산출한다. In step S501, the continuity guarantee and forgery prevention device 400 decrypts the hash data received from the maritime digital platform device 200 to calculate a first hash value (1stHash) “1052345099”.

단계 S502에서, 연속성 보장 및 위변조 방지 장치(400)는 해사 디지털 플랫폼 장치(200)로부터 블록 데이터(Received Data Block) “Data876543211”을 수신한다. In step S502, the continuity assurance and forgery prevention device 400 receives the block data (Received Data Block) "Data876543211" from the maritime digital platform device (200).

단계 S503에서, 연속성 보장 및 위변조 방지 장치(400)는 수신된 블록 데이터를 해시화하여 수신된 블록 데이터의 제2 해시 값(Received Data Block Hash) “1052345130”을 산출한다. In step S503, the continuity guarantee and forgery prevention apparatus 400 hashes the received block data to calculate a second hash value (Received Data Block Hash) “1052345130” of the received block data.

단계 S504에서, 연속성 보장 및 위변조 방지 장치(400)는 단계 S501에서 산출된 제1 해시 값 “1052345099”와 제2 해시 값 “1052345130”을 비교하고, 비교 결과 제1 해시 값 “1052345099”과 제2 해시 값 “1052345130”이 서로 불일치하여 해당 블록 데이터를 비정상 데이터를 나타내는 폴스(False) 상태로 판정한다.In step S504, the continuity assurance and forgery prevention device 400 compares the first hash value “1052345099” calculated in step S501 and the second hash value “1052345130”, and the comparison result is a first hash value “1052345099” and a second The hash value “1052345130” does not match each other, so the block data is determined as a false state indicating abnormal data.

한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(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.
제1항에 있어서,
잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신하는 단계를 더 포함하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지 방법.
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항에 있어서,
상기 제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 해시 값을 산출하는 단계는,
상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제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.
제5항에 있어서,
상기 클라이언트 단말은,
잔여 블록 데이터가 존재하는지 여부를 확인하고, 상기 해사 디지털 플랫폼 장치에 상기 잔여 블록 데이터를 추가로 요청하여 수신하는, 블록체인 기반 선박 및 육상국 간의 교환 데이터의 연속성 보장 및 위변조 방지를 위한 해사 디지털 플랫폼 시스템.
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.
제5항에 있어서,
상기 클라이언트 단말은,
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.
제5항에 있어서,
상기 클라이언트 단말은,
상기 해사 디지털 플랫폼 장치에서 클라이언트 단말의 공개키로 암호화된 해시 데이터를 수신하고, 상기 수신된 암호화된 해시 데이터를 클라이언트 단말의 비밀키로 복호화하여 제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.
삭제delete
KR1020210096537A 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 KR102362855B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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