KR102656660B1 - Method and off-chain system for security data management using block chain - Google Patents
Method and off-chain system for security data management using block chain Download PDFInfo
- Publication number
- KR102656660B1 KR102656660B1 KR1020210188739A KR20210188739A KR102656660B1 KR 102656660 B1 KR102656660 B1 KR 102656660B1 KR 1020210188739 A KR1020210188739 A KR 1020210188739A KR 20210188739 A KR20210188739 A KR 20210188739A KR 102656660 B1 KR102656660 B1 KR 102656660B1
- Authority
- KR
- South Korea
- Prior art keywords
- chain
- data
- chain block
- item
- security
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013523 data management Methods 0.000 title claims abstract description 13
- 238000007726 management method Methods 0.000 claims description 95
- 238000013500 data storage Methods 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 22
- 238000013524 data verification Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 150000003839 salts Chemical class 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
보안 데이터 관리 방법 및 그 시스템이 개시된다. 이 시스템은 클라이언트 단말로부터 수신한 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록을 생성하는 단계, 상기 제1 보안 데이터에 대한 해시 연산을 통해 제1 해시값을 산출하고, 상기 제1 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록하는 단계, 그리고 상기 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록에 저장된 데이터들에 대한 해시 연산을 통해 산출된 제2 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록하는 단계를 포함함으로써, 상호 연결되는 블록체인 오프체인 구조를 통해 보안 데이터를 관리할 수 있다.A secure data management method and system are disclosed. This system includes the steps of generating a first off-chain block for first security data received from a client terminal, calculating a first hash value through a hash operation on the first security data, and 1 Recording a hash value in the TupleData item of the first off-chain block, and calculating through hash operation on data stored in the second off-chain block created before the first off-chain block. By including the step of recording the second hash value in the PreviousTuple item of the first off-chain block, security data can be managed through an interconnected blockchain off-chain structure.
Description
본 개시는 블록체인 기술을 이용한 보안 데이터 관리 방법 및 오프체인 시스템에 관한 것이다.This disclosure relates to a secure data management method and off-chain system using blockchain technology.
블록 체인(block chain)에는 온체인(On-Chain) 방식과 오프체인(Off-Chain) 방식이 존재한다.There are two types of block chain: On-Chain and Off-Chain.
온체인(On-Chain)이란 블록체인 시스템 내부에 거래 내역(데이터)등을 기록하는 방식을 의미하며 온체인에 저장된 데이터는 모든 참여 노드가 공유하는 것을 의미한다.On-Chain refers to a method of recording transaction details (data) within the blockchain system, and data stored on-chain is shared by all participating nodes.
오프체인(Off-Chain)이란 블록체인 시스템과 관련되어 있지만, 블록체인 시스템 외부에 위치하여 동작하는 것으로, 오프체인에 저장된 데이터는 동일한 사법관할에 속한 참여 노드에게만 공유되며, 블록체인 네트워크 외부에서 트랜잭션(Transaction)이 기록된다는 뜻으로 트랜잭션은 거래 뿐만 아니라 여러 액션(Actions)이 포함되어 있는 것을 의미한다.Off-Chain is related to the blockchain system, but operates outside the blockchain system. Data stored in the off-chain is shared only with participating nodes belonging to the same jurisdiction, and transactions occur outside the blockchain network. This means that a transaction is recorded, meaning that it includes not only a transaction but also several actions.
이처럼, 블록 체인(block chain)의 온체인(on-chain)에는 기록하고자 하는 데이터를 저장할 수 있다. 다만, 온체인(on-chain)에는 개인정보 및 의료정보 등의 민감한 정보는 저장할 수 없다.In this way, the data you want to record can be stored on-chain in the block chain. However, sensitive information such as personal information and medical information cannot be stored on-chain.
개인정보호보호법 제21조 제1항에 따르면, "개인정보처리자는 보유기간의 경과, 개인정보의 처리 목적 달성 등 그 개인정보가 불필요하게 되었을 때에는 지체없이 그 개인정보를 파기해야 한다" 라고 명시하고 있다. 동법 제36조 제1항에도 "정보주체는 개인정보처리자에게 그 개인정보의 정정이나 삭제를 요구할 수 있다"고 규정하고 있다.According to Article 21, Paragraph 1 of the Personal Information Protection Act, “The personal information processor must destroy the personal information without delay when the personal information becomes unnecessary, such as when the retention period has passed or the purpose of processing personal information has been achieved.” there is. Article 36, Paragraph 1 of the same Act also stipulates that “the information subject may request the personal information processor to correct or delete the personal information.”
따라서, 블록 체인(block chain)은 저장된 데이터를 삭제할 수 없는 특성상 개인 정보/의료 정보를 저장할 수 없기 때문에 개인정보 및 의료정보 등의 민감한 정보는 오프체인(Off-chain)에서 저장 관리할 수 밖에 없다.Therefore, since block chain cannot store personal information/medical information due to the nature of the stored data not being deleted, sensitive information such as personal information and medical information has no choice but to be stored and managed off-chain. .
그러나, 온체인(On-chain)은 데이터의 무결성과 안정성이 검증되었지만, 오프체인(Off-chain)은 악의적 공격, 시스템 결함, 인적 오류 등의 사고로 인한 데이터의 위변조 취약점이 존재한다. 이에 검증된 온체인(On-chain)의 핵심 기술을 활용하여 오프체인(Off-chain)의 데이터 무결성과 안정성을 강화할 필요가 있다.However, although on-chain data integrity and stability have been verified, off-chain data is vulnerable to forgery and falsification due to accidents such as malicious attacks, system defects, and human errors. Accordingly, it is necessary to strengthen the data integrity and stability of off-chain by utilizing proven core technologies of on-chain.
본 개시는 개인 데이터, 의료 데이터 등과 같은 보안 데이터를 블록 체인(block chain)의 오프체인(Off-chain) 블록으로 생성하여 관리하고, 보안 데이터 간 상호 연결성을 부여하여 관리하는 방법 및 그 시스템을 제공하는 것이다.This disclosure provides a method and system for generating and managing secure data such as personal data, medical data, etc. as an off-chain block of a block chain, and managing the security data by providing interconnectivity between them. It is done.
한 특징에 따르면, 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 보안 데이터를 관리하는 방법으로서, 클라이언트 단말로부터 수신한 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록(Block)을 생성하는 단계, 상기 제1 보안 데이터에 대한 해시(Hash) 연산을 통해 제1 해시값을 산출하고 상기 제1 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록하는 단계, 그리고 상기 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록에 저장된 데이터들에 대한 해시 연산을 통해 제2 해시값을 산출하고 상기 제2 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록하는 단계를 포함한다.According to one feature, a method of managing security data by a computing device operating by at least one processor, generating a first off-chain block for first security data received from a client terminal. A step of calculating a first hash value through a hash operation on the first security data and recording the first hash value in the TupleData item of the first off-chain block, and A second hash value is calculated through a hash operation on the data stored in the second off-chain block created before the first off-chain block, and the second hash value is calculated as the previous tuple (PreviousTuple) of the first off-chain block. Includes the step of recording items.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계는, 상기 제2 오프체인 블록의 튜플데이터 항목에 저장된 값 및 상기 제2 오프체인 블록의 이전 튜플 항목에 저장된 값을 조합하고, 조합한 값에 대한 해시 연산을 통해 상기 제2 해시값을 산출하고, 상기 제2 오프체인 블록의 이전 튜플 항목에는, 상기 제2 오프체인 블록보다 이전에 생성된 제3 오프체인 블록에 저장된 데이터들에 대한 해시 연산을 통해 산출된 제3 해시값이 기록되어 있을 수 있다.The step of recording in the previous tuple item is to combine the value stored in the tuple data item of the second off-chain block and the value stored in the previous tuple item of the second off-chain block, and create a hash for the combined value. The second hash value is calculated through an operation, and the previous tuple item of the second off-chain block is entered through a hash operation on the data stored in the third off-chain block created before the second off-chain block. The calculated third hash value may be recorded.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계는, 상기 조합한 값에 상기 제2 오프체인 블록의 튜플 고유번호를 추가하여 상기 해시 연산을 수행하고, 상기 튜플 고유번호는, 오프체인 블록에 고유하게 할당되는 식별자일 수 있다.In the step of recording in the PreviousTuple item, the hash operation is performed by adding the tuple unique number of the second off-chain block to the combined value, and the tuple unique number is unique to the off-chain block. It may be an assigned identifier.
상기 제1 오프체인 블록 및 상기 제2 오프체인 블록은, 오프체인 블록에 고유하게 할당되는 식별자인 튜플 고유번호, 보안 데이터에 고유하게 할당되는 식별자인 보안 고유번호, 사용자 단말로부터 수신한 보안 데이터를 관리하는 보안 데이터 관리 저장소에 보안 데이터의 존재 유무에 따른 설정값이 기록되는 Division 항목, 상기 튜플데이터 항목, 그리고 상기 이전 튜플 항목을 포함할 수 있다.The first off-chain block and the second off-chain block include a tuple unique number, which is an identifier uniquely assigned to the off-chain block, a security unique number, which is an identifier uniquely assigned to security data, and security data received from the user terminal. The managed security data management storage may include a Division item in which settings according to the presence or absence of security data are recorded, the tuple data item, and the previous tuple item.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계 이후, 상기 제1 보안 데이터에 대한 보안 데이터 상호 연결을 나타내는 설정값을 포함하는 상태 정보를 생성하고, 상기 상태 정보를 저장하는 단계를 더 포함할 수 있다.After the step of recording in the PreviousTuple item, the step of generating state information including a setting value indicating a secure data interconnection for the first secure data and storing the state information may be further included. .
상기 생성하는 단계 이전에, 클라이언트 단말로부터 제1 보안 데이터를 수신하는 단계, 그리고 상기 제1 보안 데이터에 보안 고유번호를 할당하는 단계를 더 포함하고, 상기 보안 고유번호는, 상기 제1 오프체인 블록에 포함되고, 상기 제1 보안 데이터에 대한 상태 정보를 식별하는데 사용될 수 있다.Before the generating step, it further includes receiving first security data from a client terminal, and assigning a security identification number to the first security data, wherein the security identification number is the first off-chain block. It is included in and can be used to identify status information about the first security data.
상기 할당하는 단계 이후, 상기 보안 고유번호를 식별자로 사용하는 상기 제1 보안 데이터에 대한 상태 정보를 생성하는 단계를 더 포함하고, 상기 상태 정보는, 상기 제1 보안 데이터의 등록, 수정, 삭제를 포함하는 상태 변화, 그리고오프체인 블록 간의 상호 연결 상태를 나타내는 설정값을 포함할 수 있다.After the allocating step, it further includes the step of generating status information for the first secure data using the security identification number as an identifier, wherein the status information is used to register, modify, and delete the first secure data. It can include state changes, and settings indicating the interconnection state between off-chain blocks.
상기 튜플데이터(TupleData) 항목에 기록하는 단계 이후, 상기 제1 보안 데이터에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 단계를 더 포함할 수 있다.After the step of recording in the TupleData item, the hash value calculated for the first security data is compared with the hash value recorded in the TupleData item of the first off-chain block to determine whether they match. The step of performing integrity verification may further be included.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계 이후, 상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 값에 대한 해시값을 연산하는 단계, 그리고 연산한 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 단계를 더 포함할 수 있다.After the step of recording in the PreviousTuple item, the value recorded in the TupleData item of the second off-chain block, and the value recorded in the PreviousTuple item of the second off-chain block It may further include calculating a hash value for the hash value, and performing integrity verification to determine whether there is a match by comparing the calculated hash value with the hash value recorded in the previous tuple item of the first off-chain block. You can.
다른 특징에 따르면, 보안 데이터를 관리하는 블록 체인(block chain) 오프체인(Off-chain) 시스템으로서, 클라이언트 단말로부터 오프체인 관리 대상인 제1 보안 데이터를 수신하는 오프체인 데이터 저장 관리부, 상기 제1 보안 데이터에 대한 제1 오프체인 블록을 생성하고, 제1 오프체인 블록을 상기 제1 보안 데이터 이전에 수신된 제2 보안 데이터의 제2 오프체인 블록과 연결시키는 오프체인 데이터 연결 관리부, 그리고 상기 오프체인 데이터 저장 관리부가 수신하는 보안 데이터의 상태 정보 및 오프체인 블록들 간의 연결 상태를 관리하는 오프체인 데이터 상태 관리부를 포함한다.According to another feature, it is a block chain off-chain system that manages security data, including an off-chain data storage management unit that receives first security data subject to off-chain management from a client terminal, and the first security An off-chain data connection management unit that generates a first off-chain block for data and connects the first off-chain block with a second off-chain block of second secure data received before the first secure data, and the off-chain It includes an off-chain data state management unit that manages the status information of the security data received by the data storage management unit and the connection status between off-chain blocks.
상기 오프체인 데이터 연결 관리부는, 상기 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록(Block)을 생성하고, 상기 제1 보안 데이터에 대한 해시(Hash) 연산을 통해 산출한 제1 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록하고, 상기 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록으로부터 추출한 이전 데이터들에 대한 해시 연산을 통해 산출한 제2 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록하며, 상기 제2 해시값은, 상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값을 토대로 생성될 수 있다.The off-chain data connection management unit generates a first off-chain block for the first security data, and generates a first off-chain block calculated through a hash operation for the first security data. The hash value is recorded in the TupleData item of the first off-chain block, and the hash value is calculated through hash operation on previous data extracted from the second off-chain block created before the first off-chain block. 2 The hash value is recorded in the PreviousTuple item of the first off-chain block, and the second hash value is the hash value recorded in the TupleData item of the second off-chain block, and the first 2 It can be generated based on the hash value recorded in the previous tuple item of the off-chain block.
상기 오프체인 데이터 상태 관리부는, 상기 제1 오프체인 블록의 이전 튜플 항목의 기록을 확인한 후, 상기 제1보안 데이터에 대한 오프체인 블록간 상호 연결을 나타내는 설정값을 포함하는 상태 정보를 생성할 수 있다.The off-chain data state management unit can generate state information including a setting value indicating the interconnection between off-chain blocks for the first security data after checking the record of the previous tuple item of the first off-chain block. there is.
상기 블록체인 오프체인 시스템은, 상기 제1 보안 데이터에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증과, 상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 값에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 오프체인 데이터 검증부를 더 포함할 수 있다.The blockchain off-chain system includes integrity verification that compares the hash value calculated for the first security data with the hash value recorded in the TupleData item of the first off-chain block to determine whether there is a match, The hash value calculated for the value recorded in the TupleData item of the second off-chain block and the value recorded in the PreviousTuple item of the second off-chain block is stored in the first off-chain block. It may further include an off-chain data verification unit that performs integrity verification by comparing the hash value recorded in the previous tuple item to determine whether it matches.
실시예에 따르면, 블록 체인(block chain)의 온체인(On-chain)에 기록할 수 없는 민감한 정보, 즉, 개인 데이터, 의료 데이터 등과 같은 보안 데이터를 오프체인(Off-chain) 블록을 생성하여 저장 및 관리하고, 보안 데이터들간 상호 연결성을 부여하여 데이터 무결성을 보장 및 안정성을 높일 수 있다.According to the embodiment, sensitive information that cannot be recorded on-chain of the block chain, that is, secure data such as personal data and medical data, is created by creating an off-chain block. By storing and managing security data and providing interconnectivity between secure data, data integrity can be guaranteed and stability increased.
도 1은 실시예에 따른 보안 데이터 관리 시스템을 개략적으로 도시한 도면이다.
도 2는 실시예에 따른 보안 데이터 관리를 위한 블록체인 오프체인 시스템의 구성을 나타낸 블록도이다.
도 3은 실시예에 따른 보안 데이터를 오프체인 블록에 기록하는 내용을 설명한다.
도 4는 실시예에 따른 오프체인 블록간 상호 연결 구조를 설명한다.
도 5는 실시예에 따른 보안 데이터의 정합성 검증 동작을 설명한다.
도 6은 실시예에 따른 보안 데이터 관리 방법을 설명하는 흐름도이다.
도 7은 실시예에 따른 오프체인 데이터 연결 관리부의 동작을 설명하는 순서도이다.
도 8은 실시예에 따른 오프체인 데이터 상태 관리부의 동작을 설명하는 순서도이다.
도 9는 한 실시예에 따른 오프체인 데이터 검증부의 동작을 설명하는 순서도이다.
도 10은 다른 실시예에 따른 오프체인 데이터 검증부의 동작을 설명하는 순서도이다.
도 11은 한 실시예에 따른 컴퓨팅 장치의 구성도이다1 is a diagram schematically showing a security data management system according to an embodiment.
Figure 2 is a block diagram showing the configuration of a blockchain off-chain system for security data management according to an embodiment.
Figure 3 explains recording security data in an off-chain block according to an embodiment.
Figure 4 explains the interconnection structure between off-chain blocks according to an embodiment.
Figure 5 explains the consistency verification operation of security data according to an embodiment.
Figure 6 is a flowchart explaining a security data management method according to an embodiment.
Figure 7 is a flowchart explaining the operation of the off-chain data connection management unit according to an embodiment.
Figure 8 is a flowchart explaining the operation of the off-chain data state management unit according to an embodiment.
Figure 9 is a flowchart explaining the operation of the off-chain data verification unit according to one embodiment.
Figure 10 is a flowchart explaining the operation of the off-chain data verification unit according to another embodiment.
11 is a configuration diagram of a computing device according to one embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to “include” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…unit”, and “…module” used in the specification refer to a unit that processes at least one function or operation, which may be implemented through hardware or software or a combination of hardware and software. You can.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, etc., and a program that is executed in conjunction with the hardware is stored in a designated location. The hardware has a configuration and performance capable of executing the method of the present invention. The program includes instructions that implement the operating method of the present invention described with reference to the drawings, and executes the present invention by combining it with hardware such as a processor and memory device.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.In this specification, “transmission or provision” may include not only direct transmission or provision, but also indirect transmission or provision through another device or by using a circuitous route.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described as singular may be interpreted as singular or plural, unless explicit expressions such as “one” or “single” are used.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, the same reference numbers refer to the same elements regardless of the drawings, and “and/or” includes each and all combinations of one or more of the mentioned elements.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In this specification, terms including ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component without departing from the scope of the present disclosure.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.In the flowcharts described herein with reference to the drawings, the order of operations may be changed, several operations may be merged, certain operations may be divided, and certain operations may not be performed.
도 1은 실시예에 따른 보안 데이터 관리 시스템을 개략적으로 도시한 도면이다.1 is a diagram schematically showing a security data management system according to an embodiment.
도 1을 참고하면, 보안 데이터 관리 시스템은 블록체인 오프체인(BlockChain Off-Chain) 시스템(100), 클라이언트 단말(200), 서비스 서버(300) 및 블록체인 온체인(BlockChain On-Chain) 플랫폼(400)을 포함할 수 있다.Referring to Figure 1, the secure data management system includes a BlockChain Off-
보안 데이터 관리 시스템은 오프체인과 온체인 혼합방식으로 블록체인의 보안성을 강화한다.The secure data management system strengthens the security of blockchain through a hybrid off-chain and on-chain method.
블록체인 오프체인 시스템(100)은 데이터 무결성과 안정성이 검증된 블록체인의 핵심기술을 활용하여 오프체인에 보안 데이터를 저장하고, 보안 데이터들을 상호 연결하여 관리함으로써, 데이터 무결성 보장 및 안정성을 강화한다.The blockchain off-chain system (100) utilizes the core technology of blockchain, which has proven data integrity and stability, to store secure data in the off-chain and manage the secure data by interconnecting them, thereby ensuring data integrity and strengthening stability. .
여기서, 보안 데이터는 온체인에 저장할 수 없고, 오프체인에 저장해야 하는 개인 정보, 의료 정보, 민감 정보 등을 의미하며, 이들을 통칭하여 보안 데이터로 호칭하기로 한다.Here, security data refers to personal information, medical information, sensitive information, etc. that cannot be stored on-chain and must be stored off-chain, and these are collectively referred to as security data.
블록체인 오프체인 시스템(100)은 오프체인에 저장되는 보안 데이터의 보안을 강화하기 위해 보안 데이터를 관리하고 보안 데이터간 상호연결을 관리한다. 블록체인 오프체인 시스템(100)은 보안 데이터를 해시(Hash)화하여 관리한다. 블록체인 오프체인 시스템(100)은 데이터의 연속성이 유지되도록 정합성을 검증한다.The blockchain off-
한 실시예에 따르면, 블록체인 오프체인 시스템(100)은 데이터베이스 관리 시스템(Relational DataBase Management System, RDBMS)일 수 있다.According to one embodiment, the blockchain off-
클라이언트 단말(200)은 서비스 서버(300)로 서비스 데이터를 전송하여 서비스 데이터의 저장을 요청할 수 있다.The
서비스 서버(300)는 클라이언트 단말(200)로부터 수신한 서비스 데이터가 보안 데이터이면, 블록체인 오프체인 시스템(100)으로 보안 데이터를 전달하여 저장을 요청할 수 있다.If the service data received from the
서비스 서버(300)는 클라이언트 단말(200)로부터 수신한 서비스 데이터가 보안 데이터가 아니라면, 블록체인 온체인 플랫폼(400)으로 보안 데이터를 전달하여 저장을 요청할 수 있다.If the service data received from the
블록체인 온체인 플랫폼(400)은 복수의 블록체인 노드가 참여하는 상호 합의(또는, 분산 합의)의 과정을 통해 서비스 데이터를 온체인 데이터로 기록한다.The blockchain on-
블록체인 온체인 플랫폼(400)은 이미 알려진 블록체인 네트워크의 구성에 해당하므로, 자세한 설명은 생략한다.Since the blockchain on-
이때, 보안 데이터는 온체인에 기록/관리할 수 없는 오프체인 대상 데이터로서, 예를들어, 의료 정보, 개인 정보, 민감 정보 등을 말한다.At this time, security data refers to off-chain target data that cannot be recorded/managed on-chain, for example, medical information, personal information, sensitive information, etc.
클라이언트 단말(200)과 서비스 서버(300)는 상호 접속되어, 보안 데이터의 등록, 변경, 삭제와 같은 처리를 수행할 수 있다. 예컨대, 클라이언트 단말(200)은 의료 기관 담당자 단말이고, 서비스 서버(300)는 의료 기관 서버일 수 있다. 이때, 보안 데이터는 의료 정보로서, 의료 기관 담당자가 환자의 의료 정보를 클라이언트 단말(200)을 통해 입력하면, 서비스 서버(300)로 전달될 수 있다.The
도 2는 실시예에 따른 보안 데이터 관리를 위한 블록체인 오프체인 시스템의 구성을 나타낸 블록도이고, 도 3은 실시예에 따른 보안 데이터를 오프체인 블록에 기록하는 내용을 설명하는 도면이고, 도 4는 실시예에 따른 오프체인 블록간 상호 연결 구조를 설명하는 도면이고, 도 5는 실시예에 따른 보안 데이터의 정합성 검증 동작을 설명한다.FIG. 2 is a block diagram showing the configuration of a blockchain off-chain system for security data management according to an embodiment, FIG. 3 is a diagram illustrating recording security data in an off-chain block according to an embodiment, and FIG. 4 is a diagram explaining the interconnection structure between off-chain blocks according to an embodiment, and Figure 5 explains the consistency verification operation of security data according to an embodiment.
도 2를 참고하면, 블록체인 오프체인 시스템(100)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치이다. 블록체인 오프체인 시스템(100)은 본 개시에서 설명하는 동작을 위한 컴퓨터 프로그램을 탑재하고, 컴퓨터 프로그램은 프로세서에 의해 실행된다.Referring to FIG. 2, the blockchain off-
블록체인 오프체인 시스템(100)은 오프체인 데이터 저장 관리부(110), 오프체인 데이터 상태 관리부(120), 오프체인 데이터 연결 관리부(130) 및 오프체인 데이터 검증부(140)를 포함한다. The blockchain off-
오프체인 데이터 저장 관리부(110)는 클라이언트 단말(200)로부터 오프체인 관리 대상인 보안 데이터를 수신한다. 오프체인 데이터 저장 관리부(110)는 클라이언트 단말(200)로부터 저장 요청된 보안 데이터를 관리하기 위한 저장소를 구비할 수 있다.The off-chain data
오프체인 데이터 저장 관리부(110)는 수신한 보안 데이터에 고유한 번호, 즉, 보안 고유번호를 할당하여 보안 데이터를 구분할 수 있도록 한다. 보안 고유번호는 오프체인 블록 간 상호 연결성을 부여할 때 참조키로 이용된다.The off-chain data
오프체인 데이터 저장 관리부(110)는 보안 고유번호가 할당된 복수의 보안 정보로 구성된 보안 데이터를 오프체인 데이터 연결 관리부(130)로 전송하여 저장을 요청한다.The off-chain data
오프체인 데이터 저장 관리부(110)는 보안 고유번호를 오프체인 데이터 상태 관리부(120)에게 전달하여 공유한다.The off-chain data
오프체인 데이터 상태 관리부(120)는 보안 데이터의 상태 정보 및 오프체인 블록들 간의 연결 상태를 관리한다.The off-chain data
오프체인 데이터 상태 관리부(120)는 오프체인 데이터 저장 관리부(110)가 공유하는 보안 고유번호로 식별되는 보안 데이터의 상태 정보를 생성하여 저장 및 관리한다. 오프체인 데이터 상태 관리부(120)는 보안 고유번호로 식별되는 상태 정보를 저장 및 관리하는 저장소를 구비할 수 있다.The off-chain data
오프체인 데이터 상태 관리부(120)는 오프체인 데이터 저장 관리부(110) 및 오프체인 데이터 연결 관리부(130)와 연동하여 보안 데이터의 상태 변화 및 보안 데이터들간 연결 상태를 모니터링하고, 모니터링 결과에 따라 최신 상태 정보를 보안 데이터의 상태 정보에 반영한다.The off-chain data
오프체인 데이터 상태 관리부(120)는 오프체인 데이터 연결 관리부(130)와 연동하여 실시간으로 보안 데이터의 오프체인 기록/연결 상태를 모니터링하고, 모니터링 결과에 따른 상태 정보를 생성할 수 있다.The off-chain data
보안 데이터의 상태 정보는 복수의 항목으로 구성되며, 복수의 항목은 보안 고유번호, BlockNo, Txid, State, Whether을 포함한다. The status information of security data consists of multiple items, and the multiple items include a security unique number, BlockNo, Txid, State, and Whether.
BlockNo은 블록체인 기록후 반환되는 블록체인 블록번호가 기록된다. BlockNo is the blockchain block number returned after blockchain recording.
Txid는 블록체인 기록후 반환되는 블록체인 트랜잭션이 기록된다.Txid records the blockchain transaction that is returned after recording on the blockchain.
BlockNo와 Txid에 기록되는 정보를 통해 보안 데이터가 아닌 블록체인 온체인 플랫폼(400)에 기록된 온체인 데이터에 대한 정보도 오프체인 데이터 상태 관리부(120)에서 관리할 수 있다. 즉, 오프체인 데이터 상태 관리부(120)는 블록체인 온체인 플랫폼(400)으로부터 비보안 데이터의 온체인 기록후 블록번호와 트랜잭션 해시를 전달받아 이를 각각 BlockNo와 Txid에 기록함으로써, 실제 블록체인에 기록된 데이터를 확인할 수 있다.Through the information recorded in BlockNo and Txid, information about on-chain data recorded in the blockchain on-
State는 보안 데이터의 상태 변화가 기록된다. 상태 변화는 보안 데이터의 등록 상태를 나타내는 설정값(I, Insert), 보안 데이터의 수정 상태를 나타내는 설정값(U, Update), 보안 데이터의 삭제 상태를 나타내는 설정값(D, Delete)을 포함한다. 오프체인 데이터 상태 관리부(120)는 오프체인 데이터 저장 관리부(110)로부터 보안 고유번호로 식별되는 보안 데이터의 등록, 수정, 삭제 여부를 수신하고, 그에 따른 보안 데이터의 상태를 나타내는 설정값(I, D, U)을 State에 기록한다.State records changes in the state of security data. Status changes include a setting value (I, Insert) indicating the registration status of security data, a setting value (U, Update) indicating the modification status of security data, and a setting value (D, Delete) indicating the deletion status of security data. . The off-chain data
Whether는 보안 데이터간 상호 연결 여부를 나타내는 설정값이 기록된다. Whether는 오프체인 블록에 보안 데이터가 저장되어 정상적으로 연결되었을 경우, 정상 연결 상태를 나타내는 설정값(Y), 미연결 상태를 나타내는 설정값(N)이 기록된다. 오프체인 데이터 상태 관리부(120)는 오프체인 데이터 연결 관리부(130)로부터 각 보안 데이터의 오프체인 블록 간 연결 유무를 수신하고, 그에 따른 연결 상태를 나타내는 설정값(Y, N)을 Whether에 기록한다.Whether is a setting value that indicates whether or not security data is interconnected. Whether security data is stored in an off-chain block and when connected normally, a setting value (Y) indicating a normal connection state and a setting value (N) indicating a non-connected state are recorded. The off-chain data
오프체인 데이터 상태 관리부(120)는 오프체인 데이터 연결 관리부(130)로부터 기록 대상인 보안 데이터의 오프체인 블록으로부터 이전 튜플(TuplePrevious) 항목의 기록을 확인한 후, 확인 내용에 따라 설정값(Y 또는 N)을 Whether에 기록할 수 있다. The off-chain data
오프체인 데이터 연결 관리부(130)는 오프체인 데이터 저장 관리부(110)로부터 전달되는 보안 데이터에 대한 오프체인 블록을 생성한다. 오프체인 데이터 연결 관리부(130)는 상호 연결되는 구조의 오프체인 블록들을 저장 및 관리하는 저장소를 구비할 수 있다.The off-chain data
오프체인 데이터 연결 관리부(130)는 현재 요청된 보안 데이터에 대하여 생성한 제1 오프체인 블록(#1001)(1301)을 이전에 생성한 제2 오프체인 블록(#1002)(1302)과 상호 연결시킨다.The off-chain data
각각의 오프체인 블록(1301, 1302, 1303)은 복수의 항목을 포함하고, 복수의 항목은 튜플(Tuple) 고유번호, 보안 고유번호, Division, 튜플 데이터(TupleData), 이전튜플(TuplePrevious)을 포함한다. Each off-chain block (1301, 1302, 1303) includes multiple items, and the multiple items include a tuple unique number, security unique number, Division, TupleData, and TuplePrevious. do.
튜플(Tuple) 고유번호는 보안 데이터 상호 연결시 부여되는 고유번호로서, 오프체인 블록의 식별자라 할 수 있다.Tuple unique number is a unique number given when interconnecting secure data, and can be considered an identifier of an off-chain block.
보안 고유번호는 오프체인 데이터 저장 관리부(110)로부터 전달된다.The security unique number is transmitted from the off-chain data
Division는 오프체인 데이터 저장 관리부(110)에 보안 데이터의 존재 유무에 따른 설정값(1, 0)이 기록된다. 오프체인 데이터 저장 관리부(110)에 보안 데이터가 존재하는 경우, Division는 존재를 나타내는 설정값(1)이 기록된다. 오프체인 데이터 저장 관리부(110)에 보안 데이터가 없으면, Division는 비존재를 의미하는 설정값(0)이 기록된다. 이때, 보안 데이터가 수정된 경우, Division는 이전 값은 존재하지 않는 데이터 상태를 의미하는 설정값(0)이 기록된다.In the Division, setting values (1, 0) according to the presence or absence of security data are recorded in the off-chain data
상태 변화(수정/삭제)가 발생한 보안 데이터는 가장 최신의 보안 데이터만 정합성 검증 대상이 된다. 상태 변화(수정/삭제) 전의 데이터는 오프체인에 존재하지 않기 때문에 데이터 검증이 불가능하기 때문이다. 상태 변화에 따른 오프체인(Off-chain)에 보안 데이터의 존재 여부를 구분하기 위해 Division 항목으로 구분을 하며 값이 '0'인 경우 보안 데이터가 존재하지 않은 상태를 말하며, 값이 '1'로 설정된 보안 데이터만 정합성 검증 대상이 된다.For security data that has changed status (edited/deleted), only the most recent security data is subject to consistency verification. This is because the data before the state change (edit/delete) does not exist off-chain, so data verification is impossible. In order to distinguish whether security data exists off-chain according to status changes, it is divided into division items. If the value is '0', it means that no security data exists, and if the value is '1', it means that the security data does not exist. Only set security data is subject to consistency verification.
튜플데이터(TupleData)는 보안 정보 테이블의 한 Row(튜플)의 보안 데이터에 대한 해시 연산을 통해 산출된 해시값이 기록된다. 예를들어, 보안 데이터는 의료 정보, 개인 정보, 그밖에 민감 정보 등을 포함할 수 있다.TupleData is a hash value calculated through a hash operation on the security data of one row (tuple) of the security information table. For example, secure data may include medical information, personal information, and other sensitive information.
이전튜플(TuplePrevious)은 보안 데이터간(또는 오프체인 블록간) 상호 연결을 나타내는 값이 기록된다. The previous tuple (TuplePrevious) records a value representing the interconnection between secure data (or between off-chain blocks).
해시는 단방향 암호화 알고리즘으로 복호화가 불가능하고, 제3자에게 누출되더라도 확인이 거의 불가능하지만, 오프체인(Off-chain)에서 보안성을 극대화하고자 도 3 및 도 4와 같이 해시 연산 동작이 이루어진다.Hash is a one-way encryption algorithm that cannot be decrypted and is almost impossible to confirm even if leaked to a third party. However, hash calculation operations are performed as shown in Figures 3 and 4 to maximize security off-chain.
도 3을 참조하면, 오프체인 데이터 연결 관리부(130)는 보안 고유번호, 튜플의 모든 보안 정보, 그리고 Salt값을 조합하고, 조합 데이터에 대한 암호화를 수행한다. 여기서, Salt값은 임의의 랜덤값을 의미한다.Referring to FIG. 3, the off-chain data
오프체인 데이터 연결 관리부(130)는 암호화 데이터에 대한 Key Stretching Hash 연산을 통해 해시값(=Key Stretching Hash(암호화(보안고유번호+보안정보-1+보안정보-2+...+Salt값)))을 산출한다. 여기서, Key Stretching Hash는 적어도 2번 이상의 해시 함수(예, SHA256) 연산을 포함할 수 있다.The off-chain data
오프체인 데이터 연결 관리부(130)는 산출한 해시값을 기록 대상인 보안 데이터의 오프체인 블록(#1001)(1301)의 튜플데이터(TupleData)에 기록한다.The off-chain data
도 4를 참조하면, 오프체인 데이터 연결 관리부(130)는 기록 대상인 보안 데이터의 오프체인 블록(#1001)(1301) 보다 이전에 생성된 이전 오프체인 블록(#1002)(1302)으로부터 튜플 고유번호, 튜플데이터(TupleData)에 기록된 값, 이전튜플(TuplePrevious)에 기록된 값을 추출한다. 오프체인 데이터 연결 관리부(130)는 이전 오프체인 블록(#1002)(1302)으로부터 추출한 값들과 Salt값을 조합하고, 조합 데이터에 암호화를 수행한다. 오프체인 데이터 연결 관리부(130)는 암호화 데이터에 대해 Key Stretching Hash 연산을 통해 해시값(=Key Stretching Hash(암호화(Tuple고유번호+TupleData+TuplePrevious+...+Salt값)))을 산출한다. 오프체인 데이터 연결 관리부(130)는 산출한 해시값을 보안 데이터의 오프체인 블록(#1001)(1301)의 이전튜플(TuplePrevious)에 기록한다. Referring to FIG. 4, the off-chain data
이전 오프체인 블록(#1002)(1302)의 이전튜플(TuplePrevious)에는 이전 오프체인 블록(#1002)(1302) 보다 이전에 생성된 오프체인 블록(#1003)(1303)으로부터 추출한 데이터들에 대한 해시값이 기록되어 있다. 즉, 오프체인 데이터 연결 관리부(130)는 오프체인 블록(#1003)(1303)으로부터 튜플 고유번호, 튜플데이터(TupleData)에 기록된 값, 이전튜플(TuplePrevious)에 기록된 값을 추출한다. 오프체인 데이터 연결 관리부(130)는 오프체인 블록(#1003)(1303)으로부터 추출한 값들과 Salt값을 조합하고, 조합 데이터에 암호화를 수행한다. TuplePrevious of the previous off-chain block (#1002) (1302) contains data extracted from the off-chain block (#1003) (1303) created before the previous off-chain block (#1002) (1302). The hash value is recorded. That is, the off-chain data
오프체인 데이터 연결 관리부(130)는 암호화 데이터에 대해 Key Stretching Hash 연산을 통해 해시값(=Key Stretching Hash(암호화(Tuple고유번호+TupleData+TuplePrevious+...+Salt값)))을 산출한다. 오프체인 데이터 연결 관리부(130)는 산출한 해시값을 보안 데이터의 오프체인 블록(#1002)(1302)의 이전튜플(TuplePrevious)에 기록한다.The off-chain data
이와 같이, 이전튜플(TuplePrevious)에는 이전 오프체인 블록의 데이터가 기록됨으로써, 오프체인 블록들(1301, 1302, 1303) 간에 상호 연결되는 구조가 형성된다. 따라서, 온체인(On-chain)에서 제한적으로 저장하지 못한 민감한 정보까지 오프-체인(Off-chain)내에 모두 해시(Hash)화하여 저장함으로써, 보안 데이터의 무결성을 보장하고 정합성 검증을 통해 안정성을 높일 수 있다.In this way, the data of the previous off-chain block is recorded in the previous tuple, thereby forming a structure in which the off-chain blocks 1301, 1302, and 1303 are interconnected. Therefore, by hashing and storing all sensitive information that cannot be stored on-chain in an off-chain manner, the integrity of security data is guaranteed and stability is ensured through consistency verification. It can be raised.
오프체인 블록(1301, 1302, 1303)의 튜플데이터(TupleData)와 이전튜플(TuplePrevious)에는 클라이언트 단말(200)로부터 저장이 요청된 모든 보안 데이터가 해시(Hash)화 되어 기록되어 있다.All security data requested to be stored from the
튜플데이터(TupleData)와 이전튜플(TuplePrevious)는 보안 데이터의 무결성을 보장하고, 정합성 검증을 통해 보안 데이터의 안정성을 높이는 용도로 이용된다. 오프체인 데이터 검증부(140)는 튜플데이터(TupleData)에 기록된 값, 이전튜플(TuplePrevious)에 기록된 값에 대한 정합성 검증을 수행한다.TupleData and TuplePrevious are used to ensure the integrity of security data and increase the stability of security data through consistency verification. The off-chain
오프체인 데이터 검증부(140)는 현재 요청된 보안 데이터에 대하여 연산한 해시값을 현재 오프체인 블록(#1001)(1301)의 튜플데이터(TupleData)에 기록된 해시값과 비교하여 일치 여부를 판단하는 정합성 검증을 수행한다.The off-chain
오프체인 데이터 검증부(140)는 이전 오프체인 블록(#1002)(1302)으로 추출한 튜플 고유번호, 튜플데이터(TupleData)에 기록된 값, 이전튜플(PreviousTuple)에 기록된 값을 조합 및 암호화하여 해시값을 산출한다. 오프체인 데이터 검증부(140)는 산출한 해시값을 현재 오프체인 블록(#1001)(1301)의 이전 튜플(PreviousTuple)에 기록된 해시값과 비교하여 일치 여부를 판단하는 정합성 검증을 수행한다. The off-chain
오프체인 데이터 검증부(140)는 보안 고유번호 또는 튜플 고유번호로 식별되는 보안 데이터의 정합성 검증 결과를 저장 및 관리하기 위한 저장소를 구비할 수 있다.The off-chain
도 6은 실시예에 따른 보안 데이터 관리 방법을 설명하는 흐름도로서, 도 1 ~ 도 5에서 설명한 구성 요소와 연계하여 설명한다.Figure 6 is a flowchart explaining a security data management method according to an embodiment, and is explained in connection with the components described in Figures 1 to 5.
도 6을 참고하면, 오프체인 데이터 저장 관리부(110)는 클라이언트 단말(200)로부터 현재 시점의 보안 데이터, 즉, 제1 보안 데이터를 수신한다(S101).Referring to FIG. 6, the off-chain data
오프체인 데이터 저장 관리부(110)는 제1 보안 데이터에 보안 고유번호를 할당한다(S102). The off-chain data
오프체인 데이터 저장 관리부(110)는 S102에서 할당한 보안 고유번호를 오프체인 데이터 상태 관리부(120)에 공유한다(S103).The off-chain data
오프체인 데이터 저장 관리부(110)는 오프체인 데이터 연결 관리부(130)에게 보안 고유번호 및 제1 보안 데이터를 전달하여 데이터 기록을 요청한다(S104).The off-chain data
오프체인 데이터 저장 관리부(110)는 S104에서 요청된 제1 보안 데이터에 대한 오프체인 블록을 생성한다(S105).The off-chain data
오프체인 데이터 저장 관리부(110)는 데이터 연결 관리 동작, 즉, 도 3 및 도 4에서 설명한 동작을 수행한다(S106).The off-chain data
오프체인 데이터 저장 관리부(110)는 오프체인 데이터 상태 관리부(120)와 데이터 연결 관리 상태 정보를 공유한다(S107). S107 과정에서 제1 보안 데이터에 대한 상태 정보의 Whether값이 설정될 수 있다.The off-chain data
오프체인 데이터 저장 관리부(110)는 제1 보안 데이터에 대한 상태 정보를 생성 및 저장한다(S108). S108은 S103 이후 수행될 수도 있고, S107 이후 수행될 수도 있으며, 특정 단계 이후 동작으로 제한받지는 않는다.The off-chain data
오프체인 데이터 저장 관리부(110)는 오프체인 데이터 저장 관리부(110)로부터 제1 보안 데이터에 대한 변경, 삭제와 같은 업데이트가 확인(S109)되면, 오프체인 데이터 연결 관리부(130)와 연동하여 업데이트된 데이터에 대한 연결 관리 동작을 수행하고, 상태 정보에 반영한다(S110).When an update such as change or deletion of the first security data is confirmed by the off-chain data storage management unit 110 (S109), the off-chain data
도 7은 실시예에 따른 오프체인 데이터 연결 관리부의 동작을 설명하는 순서도로서, 도 1 ~ 도 5에서 설명한 구성 요소와 연계하여 설명한다.Figure 7 is a flowchart explaining the operation of the off-chain data connection management unit according to the embodiment, and is explained in connection with the components described in Figures 1 to 5.
이때, 도 7은 도 6의 S104 이후에 수행될 수 있다. At this time, FIG. 7 may be performed after S104 of FIG. 6.
도 7을 참고하면, 오프체인 데이터 연결 관리부(130)는 클라이언트 단말(200)로부터 수신한 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록(Block)을 생성한다(S201).Referring to FIG. 7, the off-chain data
오프체인 데이터 연결 관리부(130)는 제1 보안 데이터의 보안 고유번호, 모든 보안 정보, 그리고 Salt값을 조합하고, 조합 데이터에 대한 암호화를 수행한다(S202).The off-chain data
오프체인 데이터 연결 관리부(130)는 S202의 암호화 데이터에 대한 해시 연산을 수행하고(S203), 해시 연산값을 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록한다(S204).The off-chain data
오프체인 데이터 연결 관리부(130)는 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록에 저장된 데이터들, 즉, 튜플 고유번호, 튜플데이터 항목의 값, 이전튜플 항목의 값들 및 Salt값을 조합하고, 조합 데이터에 대한 암호화 후 해시 연산을 수행한다(S205).The off-chain data
오프체인 데이터 연결 관리부(130)는 S205에서 연산된 해시값을 제1 오프체인 블록의 이전튜플 항목에 기록한다(S206).The off-chain data
도 8은 실시예에 따른 오프체인 데이터 상태 관리부의 동작을 설명하는 순서도로서, 도 1 ~ 도 5에서 설명한 구성 요소와 연계하여 설명한다.Figure 8 is a flowchart explaining the operation of the off-chain data state management unit according to the embodiment, and is explained in connection with the components described in Figures 1 to 5.
이때, 도 8은 도 6에서 S108 동작 및/또는 S110의 상태 정보 적용을 설명한다.At this time, FIG. 8 explains the application of state information in operation S108 and/or S110 in FIG. 6.
도 8을 참고하면, 오프체인 데이터 상태 관리부(120)는 도 6의 S102에서 제1 보안 데이터에 할당된 보안 고유번호로 식별되는 상태 정보를 생성한다(S301).Referring to FIG. 8, the off-chain data
오프체인 데이터 상태 관리부(120)는 오프체인 데이터 연결 관리부(130)로부터 확인된 제1 보안 데이터에 대한 제1 오프체인 블록의 데이터 연결 동작 후 오프체인 블록의 연결을 나타내는 설정값을 상태 정보에 기록한다(S302).The off-chain data
도 9는 한 실시예에 따른 오프체인 데이터 검증부의 동작을 설명하는 순서도로서, 도 1 ~ 도 5에서 설명한 구성 요소와 연계하여 설명한다.Figure 9 is a flowchart explaining the operation of the off-chain data verification unit according to an embodiment, and is explained in connection with the components described in Figures 1 to 5.
이때, 도 9는 도 6의 S108 이후의 동작일 수 있다.At this time, FIG. 9 may be an operation after S108 of FIG. 6.
도 9를 참고하면, 오프체인 데이터 검증부(140)는 검증 대상인 보안 데이터에 대한 해시 연산을 통해 해시값을 산출한다(S401).Referring to FIG. 9, the off-chain
오프체인 데이터 검증부(140)는 검증 대상인 보안 데이터의 오프체인 블록으로부터 튜플데이터(TupleData) 항목에 기록된 해시값을 추출한다(S402).The off-chain
오프체인 데이터 검증부(140)는 S401에서 산출한 해시값을 S402에서 추출한 해시값과 비교하여 일치 여부를 판단하는 정합성 검증을 수행한다(S403).The off-chain
도 10은 다른 실시예에 따른 오프체인 데이터 검증부의 동작을 설명하는 순서도로서, 도 1 ~ 도 5에서 설명한 구성 요소와 연계하여 설명한다.Figure 10 is a flowchart explaining the operation of an off-chain data verification unit according to another embodiment, and is explained in connection with the components described in Figures 1 to 5.
이때, 도 10은 도 6의 S108 이후의 동작일 수 있다.At this time, FIG. 10 may be an operation after S108 of FIG. 6.
도 10을 참고하면, 오프체인 데이터 검증부(140)는 검증 대상 보안 데이터의 제1 오프체인 블록 이전의 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 값, 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 값, 그리고 제2 오프체인 블록의 튜플 고유번호 및 Salt값을 조합하고, 조합 데이터의 암호화후 해시값을 연산한다(S501).Referring to FIG. 10, the off-chain
오프체인 데이터 검증부(140)는 제1 오프체인 블록으로부터 이전 튜플(PreviousTuple) 항목에 기록된 해시값을 추출한다(S502).The off-chain
오프체인 데이터 검증부(140)는 S501에서 연산한 해시값을 S502에서 추출한 해시값과 비교하여 일치 여부를 판단하는 정합성 검증을 수행한다(S503).The off-chain
한편, 도 11은 한 실시예에 따른 컴퓨팅 장치의 구성도이다.Meanwhile, Figure 11 is a configuration diagram of a computing device according to one embodiment.
도 11을 참고하면, 도 1 ~ 10에서 설명한 블록체인 오프체인 시스템(100)은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(500)일 수 있다.Referring to FIG. 11, the blockchain off-
컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 프로세서(510)에 의하여 수행되는 프로그램을 로드하는 메모리(520), 프로그램 및 각종 데이터를 저장하는 스토리지(530), 통신 인터페이스(540), 그리고 이들을 연결하는 버스(550)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(500)는 다양한 구성 요소가 더 포함될 수 있다. 프로그램은 메모리(520)에 로드될 때 프로세서(510)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 명령어들(instruction)을 포함할 수 있다. 즉, 프로세서(510)는 명령어들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 명령어는 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.The
프로세서(510)는 도 1 ~ 도 10에서 설명한 오프체인 데이터 저장 관리부(110), 오프체인 데이터 상태 관리부(120), 오프체인 데이터 연결 관리부(130) 및 오프체인 데이터 검증부(140)의 동작을 수행하도록 하는 명령어들을 메모리(520)에 로드하여 실행할 수 있다.The
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. The
메모리(520)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(520)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 스토리지(530)로부터 하나 이상의 프로그램을 로드할 수 있다. 메모리(520)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 않는다.
스토리지(530)는 프로그램을 비임시적으로 저장할 수 있다. 스토리지(530)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(540)는 컴퓨팅 장치(500)의 유무선 통신을 지원한다. 이를 위해, 통신 인터페이스(540)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. The
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present disclosure described above are not only implemented through devices and methods, but may also be implemented through programs that implement functions corresponding to the configurations of the embodiments of the present disclosure or recording media on which the programs are recorded.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.Although the embodiments of the present disclosure have been described in detail above, the scope of the rights of the present disclosure is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present disclosure defined in the following claims are also possible. It falls within the scope of rights.
Claims (13)
클라이언트 단말로부터 수신한 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록(Block)을 생성하는 단계,
상기 제1 보안 데이터에 대한 해시(Hash) 연산을 통해 제1 해시값을 산출하고 상기 제1 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록하는 단계,
상기 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록에 저장된 데이터들에 대한 해시 연산을 통해 제2 해시값을 산출하고 상기 제2 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록하는 단계, 그리고
보안 고유번호로 식별되는 상기 제1 보안 데이터에 대한 상태 정보를 생성하여 저장하는 단계를 포함하고,
상기 상태 정보는,
보안 데이터의 등록, 수정, 삭제 중 적어도 하나를 포함하는 상태 변화 정보, 그리고 보안 데이터간 상호 연결 여부를 나타내는 설정값을 포함하며,
상기 설정값은,
상기 이전 튜플 항목에 기록된 정보를 기초로 기록되며,
오프체인 블록에 보안 데이터가 저장되어 정상적으로 연결되었는지 여부에 따른 정상 연결 상태를 나타내는 설정값 및 미연결 상태를 나타내는 설정값
을 포함하는, 방법.A method of managing secure data by a computing device operated by at least one processor, comprising:
Generating a first off-chain block for the first security data received from the client terminal,
Calculating a first hash value through a hash operation on the first security data and recording the first hash value in the TupleData item of the first off-chain block,
A second hash value is calculated through a hash operation on the data stored in the second off-chain block created before the first off-chain block, and the second hash value is calculated as the previous tuple (PreviousTuple) of the first off-chain block. ) Steps to record the items, and
Generating and storing status information about the first security data identified by a security unique number,
The status information is,
Contains status change information including at least one of registration, modification, and deletion of security data, and a setting value indicating whether or not security data is interconnected,
The above settings are:
It is recorded based on the information recorded in the previous tuple item,
A setting value indicating a normal connection state and a setting value indicating an unconnected state depending on whether security data is stored in an off-chain block and connected normally.
Method, including.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계는,
상기 제2 오프체인 블록의 튜플데이터 항목에 저장된 값 및 상기 제2 오프체인 블록의 이전 튜플 항목에 저장된 값을 조합하고, 조합한 값에 대한 해시 연산을 통해 상기 제2 해시값을 산출하고,
상기 제2 오프체인 블록의 이전 튜플 항목에는,
상기 제2 오프체인 블록보다 이전에 생성된 제3 오프체인 블록에 저장된 데이터들에 대한 해시 연산을 통해 산출된 제3 해시값이 기록되어 있는, 방법.In paragraph 1:
The step of recording in the PreviousTuple item is,
Combining the value stored in the tuple data item of the second off-chain block and the value stored in the previous tuple item of the second off-chain block, calculating the second hash value through a hash operation on the combined value,
In the previous tuple item of the second off-chain block,
A method in which a third hash value calculated through a hash operation on data stored in a third off-chain block created before the second off-chain block is recorded.
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계는,
상기 조합한 값에 상기 제2 오프체인 블록의 튜플 고유번호를 추가하여 상기 해시 연산을 수행하고,
상기 튜플 고유번호는,
오프체인 블록에 고유하게 할당되는 식별자인, 방법.In paragraph 2,
The step of recording in the PreviousTuple item is,
Perform the hash operation by adding the tuple unique number of the second off-chain block to the combined value,
The tuple unique number is,
Method, which is an identifier uniquely assigned to an off-chain block.
상기 제1 오프체인 블록 및 상기 제2 오프체인 블록은,
오프체인 블록에 고유하게 할당되는 식별자인 튜플 고유번호,
보안 데이터에 고유하게 할당되는 식별자인 보안 고유번호,
사용자 단말로부터 수신한 보안 데이터를 관리하는 보안 데이터 관리 저장소에 보안 데이터의 존재 유무에 따른 설정값이 기록되는 Division 항목,
상기 튜플 항목, 그리고
상기 이전 튜플 항목
을 포함하는, 방법.In paragraph 1:
The first off-chain block and the second off-chain block are,
Tuple unique number, which is an identifier uniquely assigned to an off-chain block,
A security identification number, which is an identifier uniquely assigned to secure data;
Division item in which settings based on the presence or absence of security data are recorded in the security data management storage that manages security data received from the user terminal;
The tuple items above, and
The previous tuple item above
Method, including.
상기 생성하는 단계 이전에,
클라이언트 단말로부터 제1 보안 데이터를 수신하는 단계, 그리고
상기 제1 보안 데이터에 보안 고유번호를 할당하는 단계를 더 포함하고,
상기 보안 고유번호는,
상기 제1 오프체인 블록에 포함되고, 상기 제1 보안 데이터에 대한 상태 정보를 식별하는데 사용되는, 방법.In paragraph 1:
Before the generating step,
Receiving first security data from a client terminal, and
Further comprising assigning a security identification number to the first security data,
The security unique number is,
A method included in the first off-chain block and used to identify state information for the first secure data.
상기 튜플데이터(TupleData) 항목에 기록하는 단계 이후,
상기 제1 보안 데이터에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 단계
를 더 포함하는, 방법.In paragraph 1:
After the step of recording in the TupleData item,
Comparing the hash value calculated for the first security data with the hash value recorded in the TupleData item of the first off-chain block to perform integrity verification to determine whether they match.
A method further comprising:
상기 이전 튜플(PreviousTuple) 항목에 기록하는 단계 이후,
상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 값에 대한 해시값을 연산하는 단계, 그리고
연산한 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 단계
를 더 포함하는, 방법.In paragraph 1:
After recording in the PreviousTuple item,
Calculating a hash value for the value recorded in the TupleData item of the second off-chain block and the value recorded in the PreviousTuple item of the second off-chain block, and
Comparing the calculated hash value with the hash value recorded in the PreviousTuple item of the first off-chain block to perform integrity verification to determine whether there is a match.
A method further comprising:
클라이언트 단말로부터 오프체인 관리 대상인 제1 보안 데이터를 수신하는 오프체인 데이터 저장 관리부,
상기 제1 보안 데이터에 대한 제1 오프체인 블록을 생성하고, 제1 오프체인 블록을 상기 제1 보안 데이터 이전에 수신된 제2 보안 데이터의 제2 오프체인 블록과 연결시키는 오프체인 데이터 연결 관리부, 그리고
상기 오프체인 데이터 저장 관리부가 수신하는 보안 데이터의 상태 정보 및 오프체인 블록들 간의 연결 상태를 관리하는 오프체인 데이터 상태 관리부를 포함하고,
상기 오프체인 데이터 상태 관리부는,
상기 제1 오프체인 블록의 이전 튜플 항목에 기록된 정보를 기초로, 보안 고유번호로 식별되는 상기 제1 보안 데이터에 대한 상태 정보를 생성하여 저장하고,
상기 상태 정보는,
보안 데이터의 등록, 수정, 삭제 중 적어도 하나를 포함하는 상태 변화 정보, 그리고 보안 데이터간 상호 연결 여부를 나타내는 설정값을 포함하며,
상기 설정값은,
상기 이전 튜플 항목에 기록된 정보를 기초로 기록되며,
오프체인 블록에 보안 데이터가 저장되어 정상적으로 연결되었는지 여부에 따른 정상 연결 상태를 나타내는 설정값 및 미연결 상태를 나타내는 설정값
을 포함하는, 블록체인 오프체인 시스템.As a block chain off-chain system that manages secure data,
An off-chain data storage management unit that receives first security data subject to off-chain management from a client terminal,
An off-chain data connection management unit that generates a first off-chain block for the first security data and connects the first off-chain block with a second off-chain block of the second security data received before the first security data, and
An off-chain data state management unit that manages the state information of the security data received by the off-chain data storage management unit and the connection state between off-chain blocks,
The off-chain data state management unit,
Based on the information recorded in the previous tuple item of the first off-chain block, status information for the first security data identified by a security unique number is generated and stored,
The status information is,
Contains status change information including at least one of registration, modification, and deletion of security data, and a setting value indicating whether or not security data is interconnected,
The above settings are:
It is recorded based on the information recorded in the previous tuple item,
A setting value indicating a normal connection state and a setting value indicating an unconnected state depending on whether security data is stored in an off-chain block and connected normally.
Blockchain off-chain system, including.
상기 오프체인 데이터 연결 관리부는,
상기 제1 보안 데이터에 대한 제1 오프체인(Off-chain) 블록(Block)을 생성하고, 상기 제1 보안 데이터에 대한 해시(Hash) 연산을 통해 산출한 제1 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록하고, 상기 제1 오프체인 블록보다 이전에 생성된 제2 오프체인 블록으로부터 추출한 이전 데이터들에 대한 해시 연산을 통해 산출한 제2 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록하며,
상기 제2 해시값은,
상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값을 토대로 생성되는, 블록체인 오프체인 시스템.In paragraph 10:
The off-chain data connection management unit,
A first off-chain block for the first security data is generated, and the first hash value calculated through a hash operation for the first security data is used as the first off-chain block. A second hash value is recorded in the TupleData item of the block and calculated through a hash operation on previous data extracted from the second off-chain block created before the first off-chain block. Recorded in the PreviousTuple item of the chain block,
The second hash value is,
A blockchain off-chain system generated based on the hash value recorded in the TupleData item of the second off-chain block and the hash value recorded in the PreviousTuple item of the second off-chain block.
상기 제1 보안 데이터에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증과, 상기 제2 오프체인 블록의 튜플데이터(TupleData) 항목에 기록된 값, 그리고 상기 제2 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 값에 대하여 연산한 해시값을 상기 제1 오프체인 블록의 이전 튜플(PreviousTuple) 항목에 기록된 해시값과 비교하여 일치 여부를 판단하는 무결성 검증을 수행하는 오프체인 데이터 검증부
를 더 포함하는, 블록체인 오프체인 시스템.In paragraph 11:
Integrity verification that compares the hash value calculated for the first security data with the hash value recorded in the TupleData item of the first off-chain block to determine whether it matches, and the tuple of the second off-chain block The hash value calculated for the value recorded in the data (TupleData) item and the value recorded in the previous tuple (PreviousTuple) item of the second off-chain block is recorded in the previous tuple (PreviousTuple) item of the first off-chain block. Off-chain data verification unit that performs integrity verification by comparing the hash value and determining whether it matches.
A blockchain off-chain system that further includes.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163508 | 2021-11-24 | ||
KR20210163508 | 2021-11-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230076699A KR20230076699A (en) | 2023-05-31 |
KR102656660B1 true KR102656660B1 (en) | 2024-04-11 |
Family
ID=86543874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210188739A KR102656660B1 (en) | 2021-11-24 | 2021-12-27 | Method and off-chain system for security data management using block chain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102656660B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977159B1 (en) * | 2018-12-28 | 2019-06-21 | (주)그린아이티코리아 | Security service providing apparatus and method supporting lightweight security |
JP2020182214A (en) * | 2019-04-24 | 2020-11-05 | 國際信任機器股▲ふん▼有限公司 | Verification system and method for cooperation of blockchain and off-chain device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727712B (en) * | 2019-10-15 | 2021-06-04 | 腾讯科技(深圳)有限公司 | Data processing method and device based on block chain network, electronic equipment and storage medium |
KR102331451B1 (en) * | 2020-03-16 | 2021-11-29 | 이화여자대학교 산학협력단 | Digital content transaction method and blockchain system for digital content transaction |
-
2021
- 2021-12-27 KR KR1020210188739A patent/KR102656660B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977159B1 (en) * | 2018-12-28 | 2019-06-21 | (주)그린아이티코리아 | Security service providing apparatus and method supporting lightweight security |
JP2020182214A (en) * | 2019-04-24 | 2020-11-05 | 國際信任機器股▲ふん▼有限公司 | Verification system and method for cooperation of blockchain and off-chain device |
Also Published As
Publication number | Publication date |
---|---|
KR20230076699A (en) | 2023-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846416B2 (en) | Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same | |
EP3452929B1 (en) | System for evaluating telemetry data | |
US11334562B2 (en) | Blockchain based data management system and method thereof | |
CN109033405B (en) | Method and apparatus for maintaining blockchain, server, and computer-readable storage medium | |
US10762479B2 (en) | Method and system for processing blockchain-based real-time transaction | |
CN109246179B (en) | Method and apparatus for maintaining blockchain, server, and computer-readable storage medium | |
US20180293557A1 (en) | Method of charging electronic currency automatically based on blockchain and system thereof | |
KR102002509B1 (en) | Privite blockchain system including notarizing center and notarial method thereof | |
KR101986081B1 (en) | Method for sharing and verifing a block between specific nodes in a blockchain | |
WO2021018088A1 (en) | Trusted authentication method, network device, system and storage medium | |
JP2020528689A (en) | Event lock encryption methods and systems implemented on the blockchain | |
JP2020515092A (en) | Blockchain monitoring and management | |
WO2018222066A1 (en) | Industrial network using a blockchain for access control, and access control method | |
CN111566641A (en) | Storing and accessing medical data sets on blockchains | |
US20200364212A1 (en) | System and method of supporting reflection of transactions between blockchain networks | |
CN110119390B (en) | Financial information outsourcing management system based on block chain | |
CN108846297B (en) | A method of distributing and retrieve data in the block chain network with peer node | |
KR102564106B1 (en) | System and Method for Intelligent mediating based enhanced smart contract for privacy protection | |
KR20210142983A (en) | Off-chain data sharing system and method thereof | |
KR102656660B1 (en) | Method and off-chain system for security data management using block chain | |
US20210365433A1 (en) | Method and apparatus for managing data based on blockchain | |
US20200160943A1 (en) | Security system and node device used in same | |
US20220200809A1 (en) | Management system, management method, upper block chain calculation device, and program | |
JP2023553593A (en) | Device management method using blockchain network, related devices and computer programs | |
KR20210066348A (en) | A terminal device and a method for consturcting secure block chain based on neural block clusters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |