KR20220140778A - 데이터 관리 시스템 - Google Patents

데이터 관리 시스템 Download PDF

Info

Publication number
KR20220140778A
KR20220140778A KR1020227031166A KR20227031166A KR20220140778A KR 20220140778 A KR20220140778 A KR 20220140778A KR 1020227031166 A KR1020227031166 A KR 1020227031166A KR 20227031166 A KR20227031166 A KR 20227031166A KR 20220140778 A KR20220140778 A KR 20220140778A
Authority
KR
South Korea
Prior art keywords
data
hash value
server
encryption key
management
Prior art date
Application number
KR1020227031166A
Other languages
English (en)
Inventor
신이치 스기우라
노부유키 나카하라
미카 아사노
Original Assignee
시스나 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시스나 가부시키가이샤 filed Critical 시스나 가부시키가이샤
Publication of KR20220140778A publication Critical patent/KR20220140778A/ko

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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Circuits Of Receivers In General (AREA)
  • Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)

Abstract

전자적인 데이터 교환의 내용이 기본적으로 공개되는 블록체인의 시스템적인 취약성을 악의가 있는 사람이 찾아내는 것은 가능한 일이며, 취약성을 노려 부정 액세스 등으로 의도하지 않은 제삼자에게 기밀 정보 등을 유출시키는 것은 현실에서 일어날 수 있기 때문에, 시큐리티 대책이 충분하다고는 할 수 없다. 본 발명에서는, 콜로니 서버가 단말로부터 수신한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 기억하고, 센터 서버가 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 기억함으로써, 관리 대상 데이터를 분산시켜 관리할 뿐만 아니라, 부정 액세스 등에 의해 콜로니 서버로부터 본체 데이터가 유출되었다 하더라도, 애당초 본체 데이터는, 관리 대상 데이터의 일부의 데이터에 지나지 않고, 본체 데이터만으로는 가치가 없기 때문에, 부정 액세스에 대해 굳건한 시큐리티를 실현하기 위한 시스템 등을 제공할 수 있다.

Description

데이터 관리 시스템
[0001] 본 발명은, 인터넷 등의 네트워크를 통해 기밀 정보, 전자환(換), 부기 전문(附記電文), 암호 자산, 가상 통화(通貨), 전자 통화, 유가 증권 등의 데이터(이하, 「관리 대상 데이터」라고 함)를, 클라우드를 구성하는 복수의 서버에서 안전하게 저장(保存)하고, 이용자가 사용하는 정보 처리 단말로부터의 요구에 따라, 해당 단말이 관리 대상 데이터를 적절히 취득할 수 있도록 하기 위한 시스템, 방법, 장치 및 프로그램에 관한 것이다.
[0002] 구체적으로는, 본 발명은, 이용자의 스마트폰, 컴퓨터 등의 정보 처리 단말과 인터넷 등의 네트워크를 통해 접속된 서버(이하, 「콜로니 서버(colony server)」라고 함)가, 이용자의 정보 처리 단말로부터 업로드된 관리 대상 데이터를, 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 그 이후의 데이터를 포함하는 본체 데이터로 분할하여, 콜로니 서버와 클로즈드 네트워크 (closed network)를 통해 접속된 서버(이하, 「센터 서버」라고 함)에 부분 데이터를 송신하고, 센터 서버는 수신한 부분 데이터를 암호화하여, 블록체인의 하나의 블록으로서 기억하고, 부분 데이터의 해시값(hash value)을 소정의 간격으로 갱신하는 동시에, 본체 데이터의 해시값을 부분 데이터의 값과 동일한 값으로 갱신함으로써, 고도의 시큐리티(security)를 실현하면서, 관리 대상 데이터를 안전하게 유통시킬 수 있도록 하는 기술에 관한 것이다.
[0003] 예컨대, 금융 상품 등의 거래는, 종래에는, 금융 기관이나 정부 등의 신뢰할 수 있는 중앙집권 기관을 경유하여 실시되어 왔지만, 최근, 이용자 간의 P2P(Peer to Peer)에 의해 직접적인 거래를 대체하는 기술로서, 블록체인을 이용한 분산 장부 기술(Distributed Ledger Techonology)이 있다.
[0004] 분산 장부 기술은, 주로, 분산 장부 시스템에 대한 참가자 간의 거래에 있어서, 중앙집권 기관이 아니라(임의의 내지는 특정한) 참가자에 의한 합의(合意) 형성이나 승인에 의해 거래를 확정시킬 수가 있다. 또한, 분산 장부 기술은, 복수의 거래(transaction)를 블록으로서 한 데 모아, 줄줄이 엮어서 블록체인이라 불리는 분산 장부에 기록하고, 연속되는 블록에 해시 계산을 실시함으로써, 부정한 조작(개찬[改竄])을 실질적으로 불가능하게 할 수 있다. 나아가, 분산 장부 기술은, 참가자 전원이 동일한 장부 데이터를 공유함으로써, 참가자 전원에게 있어서의 거래 확인을 가능하게 한다.
[0005] 이상과 같은 특징으로부터, 블록체인 등의 분산 장부 기술은, 신뢰할 수 있는 데이터의 관리 및 공유나, 계약에 근거한 거래의 집행 및 관리를 행하는 구조로서, 금융 분야나 IoT(Internet of Thing) 등의 폭넓은 분야에서의 응용이 검토되고 있다. 그 하나의 응용예로서, 비트코인 등의 암호 자산의 거래에는, 이미 블록체인 등의 분산 장부 기술이 실장(實裝; mounting)되고 있다. 암호 자산은, 가상 통화라고도 불리고 있다.
[0006] 스마트폰 등의 정보 처리 단말을 이용하여, 네트워크 경유에 의한 온라인으로, 이용자가 암호 자산(가상 통화, 다양한 금융 상품 등)을 매매하는 전자 상거래에서는, 그 거래 기록을 블록체인 상에 기록할 수 있다. 예컨대, 일본 특허공개공보 제2019-106639호(특허문헌 1)에는, 상기와 같은 전자 상거래를 블록체인 상에서 행할 수 있는 전자 상거래 장치 등이 기재되어 있으며, 블록체인 상에서는, 당사자 간의 신뢰 관계나 제삼자에 대한 신뢰가 존재하지 않더라도, 거래 기록의 부정 조작의 곤란성 등으로 인해, 컨텐츠를 빼돌리는 행위 등을 막을 수 있다.
일본 특허공개공보 제2019-106639호
[0008] 상기와 같이, 암호 자산의 전자 상거래는, 블록체인을 이용함으로써 실현될 수 있는데, 블록체인에서는, 거래의 공정성이, 해당 블록체인을 구성하는 각 노드에 의해 보증되므로, 거래 내용이 기본적으로 공개된다는 성질이 있기 때문에, 악의를 가진 자가 블록체인의 시스템적인 취약성을 찾는 것은 가능하다. 그리고, 취약성이 발견되었을 경우에, 그 취약성을 노려 부정 액세스 등으로 의도치 않은 제삼자에게 암호 자산을 유출시키는 것은 현실에서 일어날 수 있기 때문에, 블록체인의 시큐리티 대책이 충분하다고는 할 수 없다.
[0009] 또한, 블록체인 상에 기록되는 거래의 공정성을 보증하기 위해서는, 컴퓨터에 의해, 블록체인에 있어서의 복수의 블록이 각각 올바른 기록임을 검증하는 검증 작업이 필요해진다. 예컨대, 비트코인에서 채용되고 있는 프루프 오브 워크(POW; Proof of Work)라고 하는 구조에서는, 블록체인에 새로운 블록을 추가하기 위해, 논스(nonce)라 불리는 값을 전원당첨식으로 변화시켜, 소정의 조건을 만족하는 해시값(예컨대, 일정 횟수의 「0」의 연속으로부터 시작되는 해시값)을 산출하는 것에, 컴퓨터의 방대한 계산이 필요해지고, 그 계산을 위해 대량의 전력이 소비되게 된다.
[0010] 이러한 과제를 해결하기 위해, 본 발명에서는, 기밀 정보, 전자환, 부기 전문, 암호 자산, 가상 통화, 전자 통화, 유가 증권 등의 관리 대상 데이터를 클라우드 상에서 안전하게 저장하고, 온라인으로 적절히 이용자에게 배포하기 위해, 단말과, 콜로니 서버와, 센터 서버를 적어도 구비하는 데이터 관리 시스템을 제공한다. 본 발명에 따른 데이터 관리 시스템에 있어서, 콜로니 서버가 단말로부터 수신한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 기억하고, 센터 서버가 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 기억함으로써, 관리 대상 데이터를 부분 데이터와 본체 데이터로 분산시켜 관리할 뿐만 아니라, 부정 액세스 등에 의해 콜로니 서버로부터 본체 데이터가 유출되었다 하더라도, 애당초 본체 데이터는, 관리 대상 데이터의 일부의 데이터에 지나지 않아, 본체 데이터만으로는 가치가 없으며, 본체 데이터만으로부터는, 관리 대상 데이터를 복원하는 것이 불가능하다. 이와 같이, 본 발명에서는, 비록 콜로니 서버로부터 본체 데이터가 부정하게 유출되었다 하더라도, 실질적인 피해를 받는 일이 없는 굳건한 시큐리티를 실현한 데이터 관리 시스템, 방법, 장치 및 프로그램(이하, 간단히 「데이터 관리 시스템 등」이라고도 함)을 제공한다.
[0011] 또한, 본 발명에서, 센터 서버는 수신한 부분 데이터를 암호화하여, 블록체인의 하나의 블록으로서 기억하고, 부분 데이터의 해시값을 소정의 간격으로 갱신하는 동시에, 콜로니 서버에 있어서의 본체 데이터의 해시값을 부분 데이터의 해시값과 동일한 값으로 갱신시킴으로써, 부정 액세스 등에 의해 콜로니 서버로부터 본체 데이터가 유출된 경우라 하더라도, 해당 본체 데이터와 쌍을 이루는 부분 데이터를 포함하는 암호화 키를 특정하고자 하더라도, 암호화 키의 해시값은 소정의 간격으로 갱신되기 때문에, 부정하게 유출된 본체 데이터에 포함되는 해시값에 일치하는 해시값을 포함하는 암호화 키는 존재하지 않게 되어, 부정하게 유출된 본체 데이터로부터 관리 대상 데이터를 복원하는 것을 불가능하게 하는 데이터 관리 시스템 등을 제공한다.
[0012] 나아가, 본 발명에서, 센터 서버는, 관리 대상 데이터의 전체가 아니라 일부의 데이터인 부분 데이터만을 블록체인 상에 기억할 수 있기 때문에, 비교적 작은 기억 영역으로 블록체인을 관리할 수 있고, 센터 서버를 정부나 은행 등의 신뢰할 수 있는 기관에서 운용함으로써, 블록체인의 공정성을 보증하는 계산 작업을 간략화 혹은 생략할 수 있는 데이터 관리 시스템 등을 제공한다.
[0013] 본 발명에 따른 데이터 관리 시스템의 하나의 실시형태로서,
상기 데이터 관리 시스템은,
단말과,
상기 단말과 제1 네트워크를 통해 접속된 콜로니 서버와,
상기 콜로니 서버와 제2 네트워크를 통해 접속된 센터 서버
를 적어도 구비하며,
상기 단말은, 관리 대상 데이터에 관한 요구를 상기 콜로니 서버에 송신하고,
상기 콜로니 서버는, 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를, 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 분할 송신부와,
상기 센터 서버로부터 해시값을 받아, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 본체 데이터 관리부와,
상기 해시값을 갱신하는 해시 갱신부
를 포함하고,
상기 센터 서버는, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하고, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 상기 해시값을 기억하는 부분 데이터 관리부와,
상기 암호화 키와 함께 기억된 상기 해시값을 상기 콜로니 서버에 송신하는 해시 통지부와,
상기 해시값을 이용하여 상기 암호화 키를 식별하여 취득하는 암호화 키 취득부
를 포함하고,
상기 해시 통지부는, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버에 송신하고,
상기 해시 갱신부는, 상기 새로운 해시값을 받아, 상기 본체 데이터에 관련지어 기억된 상기 해시값을 상기 새로운 해시값으로 갱신하고,
상기 암호화 키 취득부는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하여 취득하고,
상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는 것을 특징으로 한다.
[0014] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 부분 데이터 관리부는, 상기 부분 데이터 외에, 상기 관리 대상 데이터의 파일명 및 시간 중 적어도 하나(一方)를 포함시켜, 암호화를 행하고,
상기 암호화 키는, 상기 부분 데이터 외에, 상기 파일명 및 상기 시간 중 적어도 하나를 포함하는 것을 특징으로 한다.
[0015] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 관리 대상 데이터에 관한 요구는, 상기 단말에 있어서 업로드된, 상기 관리 대상에 대응하는 관리 대상 데이터를 포함하는 것을 특징으로 한다.
[0016] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 관리 대상 데이터에 관한 요구는, 상기 콜로니 서버에 있어서 상기 관리 대상에 대응하는 관리 대상 데이터를 생성시키는 요구인 것을 특징으로 한다.
[0017] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 소정의 사이즈는, 상기 관리 대상 데이터의 선두로부터 30바이트 이하인 것을 특징으로 한다.
[0018] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 소정의 간격은, 24시간 이하의 간격인 것을 특징으로 한다.
[0019] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 제1 네트워크는 인터넷이며, 상기 제2 네트워크는 클로즈드 네트워크인 것을 특징으로 한다.
[0020] 본 발명에 따른 데이터 관리 시스템의 바람직한 실시형태로서,
상기 콜로니 서버의 분할 송신부는, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고,
상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는 것을 특징으로 한다.
[0021] 본 발명에 따른 데이터 관리 방법의 하나의 실시형태로서, 상기 데이터 관리 방법은,
단말과,
상기 단말과 제1 네트워크를 통해 접속된 콜로니 서버와,
상기 콜로니 서버와 제2 네트워크를 통해 접속된 센터 서버
를 적어도 구비한 데이터 관리 시스템에 의해 실행되는 데이터 관리 방법으로서,
상기 단말이 관리 대상 데이터에 관한 요구를 상기 콜로니 서버에 송신하는 단계와,
상기 콜로니 서버가 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 단계와,
상기 센터 서버가, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하는 단계와,
상기 센터 서버가, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 해시값을 기억하는 단계와,
상기 센터 서버가, 상기 해시값을 상기 콜로니 서버에 송신하는 단계와,
상기 콜로니 서버가, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 단계
를 포함하며,
상기 센터 서버는, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버에 송신하고,
상기 콜로니 서버는, 상기 본체 데이터에 관련지어 기억된 상기 해시값을, 상기 새로운 해시값으로 갱신하고,
상기 센터 서버는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하여 취득하고,
상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는 것을 특징으로 한다.
[0022] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 센터 서버는, 상기 암호화 키를 생성하는 단계에 있어서, 상기 부분 데이터 외에, 상기 관리 대상 데이터의 파일명 및 시간 중 적어도 하나를 포함시켜, 암호화를 행하고,
상기 암호화 키는, 상기 부분 데이터 외에, 상기 파일명 및 상기 시간 중 적어도 하나를 포함하는 것을 특징으로 한다.
[0023] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 관리 대상 데이터에 관한 요구는, 상기 단말에 있어서 업로드된, 상기 관리 대상에 대응하는 관리 대상 데이터를 포함하는 것을 특징으로 한다.
[0024] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 관리 대상 데이터에 관한 요구는, 상기 콜로니 서버에 있어서 상기 관리 대상에 대응하는 관리 대상 데이터를 생성시키는 요구인 것을 특징으로 한다.
[0025] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 소정의 사이즈는, 상기 관리 대상 데이터의 선두로부터 30바이트 이하인 것을 특징으로 한다.
[0026] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 소정의 간격은, 24시간 이하의 간격인 것을 특징으로 한다.
[0027] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 제1 네트워크는 인터넷이며, 상기 제2 네트워크는 클로즈드 네트워크인 것을 특징으로 한다.
[0028] 본 발명에 따른 데이터 관리 방법의 바람직한 실시형태로서,
상기 콜로니 서버가 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 단계는,
상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고, 상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는 것을 특징으로 한다.
[0029] 본 발명에 따른 콜로니 서버 장치의 하나의 실시형태로서, 상기 콜로니 서버 장치는,
단말로부터 관리 대상 데이터에 관한 요구를 받는 수단과,
상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 센터 서버 장치에 송신하는 분할 송신 수단과,
상기 센터 서버 장치로부터, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 식별하기 위한 해시값을 받아, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 본체 데이터 관리 수단
을 포함하며,
상기 콜로니 서버 장치는, 상기 센터 서버 장치로부터, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값을, 소정의 간격으로 수신하고,
상기 콜로니 서버 장치는, 상기 본체 데이터에 관련지어 기억된 상기 해시값을, 상기 소정의 간격으로, 상기 새로운 해시값으로 갱신하고,
상기 콜로니 서버 장치는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 센터 서버 장치에 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별시키기 위해, 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구를 상기 센터 서버 장치에 송신하고,
상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는 것을 특징으로 한다.
[0030] 본 발명에 따른 콜로니 서버 장치의 바람직한 실시형태로서,
상기 분할 송신 수단은, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고,
상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는 것을 특징으로 한다.
[0031] 본 발명에 따른 센터 서버 장치의 하나의 실시형태로서, 상기 센터 서버 장치는,
센터 서버 장치로서,
콜로니 서버 장치로부터, 관리 대상 데이터의 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 받는 수단과,
상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하고, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 해시값을 기억하는 부분 데이터 관리 수단과,
상기 암호화 키와 함께 기억된 상기 해시값을 상기 콜로니 서버 장치에 송신하는 해시 통지 수단
을 포함하며,
상기 해시 통지 수단은, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버 장치에 송신하고,
상기 센터 서버 장치는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버 장치로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하고,
상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
상기 관리 대상 데이터는, 상기 부분 데이터와, 상기 관리 대상 데이터의 선두로부터 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 결합함으로써 복원되는 것을 특징으로 한다.
[0032] 본 발명에 따른 센터 서버 장치의 바람직한 실시형태로서,
상기 부분 데이터는, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 포함하며,
상기 본체 데이터는, 상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 포함하는 것을 특징으로 한다.
[0033] 본 발명에 따른 프로그램의 하나의 실시형태로서, 상기 프로그램은, 컴퓨터에 의해 실행됨으로써, 상기 컴퓨터를 상기 콜로니 서버 장치의 각 수단으로서 기능시키는 것을 특징으로 한다.
[0034] 본 발명에 따른 프로그램의 하나의 실시형태로서, 상기 프로그램은, 컴퓨터에 의해 실행됨으로써, 상기 컴퓨터를 상기 센터 서버 장치의 각 수단으로서 기능시키는 것을 특징으로 한다.
[0035] 본 발명에 따른 데이터 관리 시스템, 방법, 장치 및 프로그램에 의하면, 콜로니 서버가 단말로부터 수신한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 기억하고, 센터 서버가 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 기억함으로써, 관리 대상 데이터를 분산시켜 관리할 뿐만 아니라, 부정 액세스 등에 의해 콜로니 서버로부터 본체 데이터가 유출되었다 하더라도, 애당초 본체 데이터는, 관리 대상 데이터의 일부의 데이터에 지나지 않고, 본체 데이터만으로는 가치가 없기 때문에, 부정 액세스에 대해 굳건한 시큐리티를 실현할 수 있다.
[0036] 또한, 본 발명에 따른 데이터 관리 시스템 등에 의하면, 센터 서버의 관리하에 있는 블록체인에 있어서의 하나의 블록에 암호화 키로서 기억한 부분 데이터의 해시값을, 소정의 간격으로 갱신하는 동시에, 콜로니 서버에 있어서의 본체 데이터의 해시값을 부분 데이터의 해시값과 동일한 값으로 갱신시킴으로써, 부정 액세스 등에 의해 콜로니 서버로부터 본체 데이터가 유출된 경우라 하더라도, 부정하게 유출된 본체 데이터와 쌍을 이루는 부분 데이터를 포함하는 암호화 키의 해시값은 소정의 간격으로 갱신되기 때문에, 해당 본체 데이터의 해시값에 일치하는 해시값을 포함하는 암호화 키는 존재하지 않게 되어, 부정하게 유출된 본체 데이터를 해석하더라도, 관리 대상 데이터를 복원하기 위해 필요한 암호화 키에 도달하는 것은 곤란해져, 관리 대상 데이터를 복원하는 것은 실질적으로 불가능하도록 할 수 있다.
[0037] 나아가, 본 발명에 따른 데이터 관리 시스템 등에 의하면, 센터 서버는, 관리 대상 데이터의 전체가 아니라 일부의 데이터인 부분 데이터만을 블록체인 상에 기억할 수 있기 때문에, 비교적 작은 기억 영역으로 블록체인을 관리할 수 있다. 이에 의해, 센터 서버에서 블록체인에 새로운 블록을 형성하는 경우 등에 있어서, 해시값의 계산 등은 비교적 작은 정보에 근거하여 행할 수 있게 되기 때문에, 컴퓨터에 있어서의 계산량을 대폭적으로 감소시키는 것을 기대할 수 있다. 그리고, 센터 서버를 정부나 은행 등의 신뢰할 수 있는 기관에서 운용함으로써, 블록체인의 공정성을 보증하는 검증 작업을 간략화 혹은 생략할 수가 있어, 컴퓨터를 이용한 방대한 계산 및 그에 따른 전력 소비를 억제할 수 있다.
[0038] 도 1은, 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템의 구성을 나타낸 개략적인 구성도(시스템 구성도)이다.
도 2는, 본 발명의 하나의 실시형태에 따른 서버 및 정보 처리 단말의 하드웨어 구성의 일례를 나타낸 개략적인 구성도(블록도)이다.
도 3은, 본 발명의 하나의 실시형태에 따른 센터 서버 및 콜로니 서버의 개략적인 구성도(블록도)이다.
도 4는, 센터 서버 및 콜로니 서버의 데이터 처리의 순서의 일례를 나타낸 도면이다.
도 5는, 콜로니 서버로부터 센터 서버로의 관리 대상 데이터의 등록 처리의 개요를 나타낸 도면이다.
도 6은, 센터 서버에서 관리되는 블록체인의 기본적인 구성의 개요를 나타낸 개략도이다.
도 7은, 관리 대상 데이터를 센터 서버에 등록하는 처리의 흐름을 나타낸 시퀀스도이다.
도 8은, 센터 서버로부터 관리 대상 데이터를 취득하는 처리의 흐름을 나타낸 시퀀스도이다.
도 9는, 관리 대상 데이터를 같은 콜로니 서버에 접속된 단말 간에 양도하는 처리의 흐름을 나타낸 시퀀스도이다.
도 10은, 관리 대상 데이터를 다른 콜로니 서버에 접속된 단말 간에 양도하는 처리의 흐름을 나타낸 시퀀스도이다.
도 11은, 관리 대상 데이터를 다른 콜로니 서버에 접속된 단말 간에 양도하는 처리의 흐름을 나타낸 시퀀스도이다.
도 12는, 은행 간의 금융 상품 거래에 본 발명에 따른 데이터 관리 시스템을 적용한 예를 나타낸 도면이다.
도 13은, 이벤트 참가자에 대한 특전 부여에 본 발명에 따른 데이터 관리 시스템을 적용한 예를 나타낸 도면이다.
도 14는, 관리 대상 데이터를 암호화 키와 본체 데이터로 분할하는 처리의 흐름을 나타낸 데이터 관리 시스템의 전체적인 플로 차트이다.
도 15는, 센터 서버로부터 액세스 가능한 블록체인에 있어서의 하나의 블록과, 콜로니 서버로부터 액세스 가능한 본체 데이터와의 관계를 나타낸 도면이다.
도 16은, 콜로니 서버에 있어서 독립적으로 기억되는 본체 데이터의 개요를 나타낸 도면이다.
도 17은, 센터 서버에 있어서 블록체인에 새롭게 암호화 키를 포함하는 블록을 접속하는 처리의 흐름을 나타낸 플로 차트이다.
도 18은, 센터 서버의 관리하에 있는 블록체인의 구성을 나타낸 도면이다.
도 19는, 센터 서버의 데이터베이스에 기억되는 각종 정보의 개요를 나타낸 도면이다.
도 20은, 콜로니 서버의 데이터베이스에 기억되는 정보의 개요를 나타낸 도면이다.
도 21은, 블록체인에 있어서 부정 조작을 검출하였을 때의 각 블록의 동결 및 수복 처리의 개요를 나타낸 도면이다.
도 22는, 블록체인을 감시하여 부정 조작을 검출하였을 때의 처리의 흐름을 나타낸 플로 차트이다.
도 23은, 블록체인에 있어서의 블록을 동결하는 처리의 흐름을 나타낸 플로 차트이다.
도 24는, 블록체인을 수복하는 처리의 흐름을 나타낸 플로 차트이다.
[0039] 이하에서는 도면을 참조하여, 본 발명의 하나의 실시형태에 대해 설명한다. 또한, 실시형태를 설명하기 위한 모든 도면에 있어서, 동일한 것에는 원칙적으로 동일한 부호를 붙이고, 그 반복적인 설명은 생략한다. 본 발명의 각각의 실시형태는, 독립된 것이 아니며, 각각 조합하여 적절히 실시할 수 있다.
[0040] 도 1은, 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템의 구성을 나타낸 시스템 구성도이다. 데이터 관리 시스템은, 예시적으로, 센터 서버(10)와, 콜로니 서버(20)와, 정보 처리 단말(30)을 포함한다. 정보 처리 단말(30)은, 예컨대, 퍼스널 컴퓨터, 노트북, 스마트폰, 휴대전화 등의 인터넷에 접속 가능한 단말이다. 본 발명에 따른 데이터 관리 시스템은, 유가물, 기밀 정보, 전자환, 부기 전문 등의 전자적인 데이터를 관리 대상으로 한다. 여기에서는, 관리 대상이 되는 전자적인 데이터를 관리 대상 데이터라고 부른다. 관리 대상 데이터는, 본 발명에 따른 데이터 관리 시스템에 있어서의 센터 서버(10), 콜로니 서버(20), 및 정보 처리 단말(30)의 각 기억 수단에 기억 가능하며, 필요에 따라서 송수신 가능한 데이터이다. 또한, 관리 대상 데이터는, 본 발명에 따른 데이터 관리 시스템에 있어서, 전자적인 데이터로서 취급 가능한 데이터라면 어떠한 내용의 데이터라도 좋다. 또한, 유가물이란, 금전상의 가치가 있는 것이며, 예컨대, 암호 자산, 가상 통화, 전자 통화, 유가 증권, 기밀 정보 등이다. 센터 서버(10)와 콜로니 서버(20)는, 네트워크(N1)를 통해 접속된다. 네트워크(N1)는, 예컨대, 전용회선으로 접속된 인트라넷이며, 클로즈드 네트워크이다. 콜로니 서버(20)와 정보 처리 단말(30)은, 네트워크(N2)를 통해 접속된다. 네트워크(N2)는, 예컨대, 인터넷 등의 오픈된 네트워크이다. 네트워크(N1 및 N2)는, 이에 한정되는 것이 아니며, 요구되는 시큐리티 레벨 등에 따라, 적절히, 클로즈드 네트워크로 할지 오픈 네트워크로 할지를 선택할 수 있다.
[0041] 정보 처리 단말(30)은, 예컨대, 인터넷 등인 네트워크(N2)를 통해 콜로니 서버(20)에 액세스하는 것은 가능하지만, 센터 서버(10)와는 클로즈드 네트워크인 네트워크(N1)를 통해 접속되어 있지 않기 때문에, 직접적으로 액세스할 수는 없다. 센터 서버(10)에 액세스가 가능한 것은, 네트워크(N2)를 통해 접속된 콜로니 서버(20)뿐이다. 도 1에 나타낸 실시형태에서는, 센터 서버(10)는, 1대지만 복수 대를 설치해도 된다.
[0042] 도 2는, 본 발명의 하나의 실시형태에 따른 서버 및 정보 처리 단말의 하드웨어 구성의 일례를 나타낸 블록도이다. 또한, 도면 내에서는, 센터 서버(10)의 하드웨어에 대응하는 부호에는 괄호를 붙이지 않고 기재하며, 콜로니 서버(20) 및 정보 처리 단말(30)의 하드웨어에 대응하는 부호에는 괄호를 붙여서 기재한다.
[0043] 센터 서버(10)는, 예시적으로, CPU(Central Processing Unit)(11)와, ROM(Read Only Memory) 및 RAM(Random Access Memory) 등으로 이루어진 메모리(12)와, 버스(13)와, 입출력 인터페이스(14)와, 입력부(15)와, 출력부(16)와, 기억부(17)와, 통신부(18)를 구비하고 있다.
[0044] CPU(11)는, 메모리(12)에 기록되어 있는 프로그램, 또는, 기억부(27)에서 메모리(12)로 로드된 프로그램에 따라 각종 처리를 실행한다. CPU(11)는, 예컨대, 서버 장치를 본 발명의 센터 서버로서 기능시키기 위한 프로그램을 실행할 수 있다. 또한, 센터 서버의 적어도 일부의 기능을, 특정 용도를 위한 집적회로 (ASIC) 등에 의해 하드웨어적으로 실장하는 것도 가능하다. 본 발명의 기타의 서버, 정보 처리 단말에 대해서도 마찬가지이다.
[0045] 메모리(12)에는, CPU(11)가 각종 처리를 실행하는 데 있어서 필요한 데이터 등도 적절히 기억된다. CPU(11) 및 메모리(12)는, 버스(13)를 통해 서로 접속되어 있다. 이 버스(13)에는, 입출력 인터페이스(14)도 접속되어 있다. 입출력 인터페이스(14)에는, 입력부(15)와, 출력부(16)와, 기억부(17)와, 통신부(18)가 접속되어 있다.
[0046] 입력부(15)는, 각종 버튼, 터치 패널 혹은 마이크 등으로 구성되어, 센터 서버(10)의 관리자 등의 지시 조작에 따라 각종 정보를 입력한다. 또한, 입력부(15)는, 센터 서버(10)의 다른 각부(各部)를 수용하는 본체와는 독립된, 키보드나 마우스 등의 입력 장치에 의해 실현되어도 된다.
[0047] 출력부(16)는, 디스플레이나 스피커 등으로 구성되어 있어, 화상 데이터나 음성 데이터를 출력한다. 출력부(16)가 출력한 화상 데이터나 음악 데이터는, 디스플레이나 스피커 등으로부터, 화상이나 음악으로서 유저가 인식 가능하게 출력된다.
[0048] 기억부(17)는, DRAM(Dynamic Random Access Memory) 등의 반도체 메모리로 구성되어, 각종 데이터를 기억한다.
[0049] 통신부(18)는, 다른 장치와의 사이에서 행하는 통신을 실현한다. 예컨대, 통신부(18)는, 네트워크(N1)를 통해, 콜로니 서버(20)와의 사이에서 서로 통신을 행한다.
[0050] 또한, 센터 서버(10)에는, 도시되어 있지 않지만 드라이브가 필요에 따라 적절히 설치된다. 드라이브에는, 예컨대, 자기 디스크, 광디스크, 광자기 디스크, 혹은 반도체 메모리 등으로 구성되는 리무버블 미디어(removable media)가 적절히 장착된다. 리무버블 미디어에는, 암호 자산의 거래를 실행하기 위한 프로그램이나, 텍스트 데이터, 화상 데이터 등의 각종 데이터가 격납(格納)된다. 드라이브에 의해 리무버블 미디어로부터 판독된 프로그램이나, 화상 데이터 등의 각종 데이터는, 필요에 따라 기억부(17)에 설치(install)된다.
[0051] 다음으로, 콜로니 서버(20)의 하드웨어의 구성에 대해 설명한다. 콜로니 서버(20)는, 도 2에 나타낸 바와 같이, 예시적으로, CPU(21)와, 메모리(22)와, 버스(23)와, 입출력 인터페이스(24)와, 입력부(25)와, 출력부(26)와, 기억부(27)와, 통신부(28)를 구비하고 있다. 이들 각부(各部)는, 상술한 센터 서버(10)가 구비하는, 부호만이 상이한 동명(同名)의 각부와 동등한 기능을 갖고 있다. 따라서, 중복되는 설명을 생략한다. 정보 처리 단말(30)에 대해서도 마찬가지이다. 또한, 정보 처리 단말(30)을, 휴대형 장치로서 구성하는 경우에는, 정보 처리 단말(30)이 구비하는 각 하드웨어와, 디스플레이나 스피커를 일체의 장치로서 실현하도록 해도 된다.
[0052] 도 3을 참조하여 데이터 관리 시스템을 구성하는 센터 서버(10) 및 콜로니 서버(20)의 기능적 구성에 대해 설명한다. 도 3은, 본 발명의 하나의 실시형태에 따른 센터 서버 및 콜로니 서버의 블록도이다. 센터 서버(10)는, 센터 서버측의 데이터 관리를 위한 프로그램이 실행된 경우, CPU(11)에 있어서, 부분 데이터 관리부(111)와, 해시 통지부(112)와, 암호화 키 취득부(113)가 기능한다. 또한, 기억부(17)의 일부의 기억 영역에는, 콜로니 정보 기억부(171)와, 유저 정보 기억부(172)와, 암호화 키 기억부(173)가 설정된다. 콜로니 정보 기억부(171), 유저 정보 기억부(172) 및 암호화 키 기억부(173)에 기억되는 정보의 상세(詳細)는 후술한다.
[0053] 센터 서버(10)의 부분 데이터 관리부(111)는, 콜로니 서버(20)로부터 송신시키는 관리 대상 데이터의 일부의 데이터인 부분 데이터를 암호화하고, 암호화한 부분 데이터를 암호화 키로서 기억한 블록을 생성하여, 블록을 블록체인에 추가할 수 있다. 또한, 부분 데이터 관리부(111)는, 부분 데이터 외에, 관리 대상 데이터의 파일명 및 시간 중 적어도 하나를 포함시켜, 암호화를 행해도 되며, 암호화 키에는, 부분 데이터 외에, 그 파일명 및 시간 중 적어도 하나를 포함시켜도 된다.
[0054] 해시 통지부(112)는, 소정의 간격으로 암호화 키를 기억한 블록의 블록 해시값을, 해당 블록 해시값과는 다른 해시값으로 갱신하고, 갱신된 블록 해시값을 새로운 해시값으로서 콜로니 서버에 송신할 수 있다. 소정의 간격은, 24시간 이하의 간격으로 할 수 있으며, 예컨대, 1시간, 6시간, 12시간, 24시간 등을 지정할 수 있다. 또한, 소정의 간격은, 24시간을 초과하는 시간을 지정할 수도 있다.
[0055] 암호화 키 취득부(113)는, 콜로니 서버(20)로부터의 요구(관리 대상 데이터에 관한 요구)에 포함되는 해시값에 근거하여, 암호화 키 기억부(173)에 기억된 암호화 키를 식별하여, 해당 암호화 키를 취득할 수 있다. 예컨대, 암호화 키 취득부(113)는, 소정의 간격으로, 암호화 키와 함께 암호화 키 기억부(173)에 기억된 해시값이 갱신되었을 경우에는, 콜로니 서버(20)로부터의 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 해당 새로운 해시값을 이용하여 암호화 키 기억부(173)로부터 원하는 암호화 키를 식별하여, 해당 암호화 키를 취득할 수 있다.
[0056] 콜로니 서버(20)는, 콜로니 서버측의 데이터 관리를 위한 프로그램이 실행된 경우, CPU(21)에 있어서, 분할 송신부(211)와, 본체 데이터 관리부(212)와, 해시 갱신부(213)가 기능한다. 또한, 기억부(27)의 일부의 기억 영역에는, 해시 정보 기억부(271)와, 본체 데이터 기억부(272)가 설정된다. 해시 정보 기억부(271) 및 본체 데이터 기억부(272)에 기억되는 정보의 상세는 후술한다.
[0057] 콜로니 서버(20)의 분할 송신부(211)는, 정보 처리 단말(30)로부터의 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 부분 데이터를 센터 서버(10)에 송신할 수 있다. 여기서, 소정의 사이즈는, 예컨대, 관리 대상 데이터의 선두로부터 30바이트 이하로 할 수 있다. 소정의 사이즈는, 이에 한정되는 것이 아니며, 적절히 설정할 수 있다.
[0058] 또한, 분할 송신부(211)는, 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 부분 데이터로 하고, 선두로부터 소정의 사이즈+1 이후의 데이터를 대신하여, 관리 대상 데이터의 임의의 일부분(즉, 부분 데이터) 이외의 잔여 부분의 데이터를 본체 데이터로 하도록 분할할 수도 있다.
[0059] 본체 데이터 관리부(212)는, 센터 서버(10)로부터 블록 해시값을 받아, 본체 데이터에 관련지어 블록 해시값을 본체 데이터의 해시값으로서 해시 정보 기억부(271)에 기억할 수 있다. 또한, 본체 데이터 관리부(212)는, 정보 처리 단말(30)로부터 콜로니 서버(20)에 업로드되는 관리 대상 데이터의 본체 데이터를 본체 데이터 기억부(272)에 기억할 수 있다.
[0060] 해시 갱신부(213)는, 센터 서버(10)의 해시 통지부(112)로부터 통지되는 새로운 해시값을 받아, 해당 새로운 해시값으로 본체 데이터에 관련지어 기억된 해시값을 갱신할 수 있다. 새로운 해시값은, 본체 데이터에 관련지어 이미 기억되어 있는 해시값과는 다른 해시값이다.
[0061] 도 4는, 센터 서버 및 콜로니 서버의 데이터 처리의 순서의 일례를 나타낸다. 먼저, 콜로니 서버(20)에서, 이용자의 정보 처리 단말(30)로부터 관리 대상 데이터의 업로드(혹은, 콜로니 서버(20)에서 관리 대상 데이터의 생성)를 행하고(단계 1), 관리 대상 데이터를 압축하여(단계 2), 관리 대상 데이터에 상당하는 압축 데이터의 0과 1의 비트열(列)을, MIME(Multipurpose Internet Mail Extensions)에 근거하여, 16진수의 텍스트 데이터로 치환한다(단계 3). 도 4에 나타낸 일례에서는, 관리 대상 데이터를 압축하고 있지만, 이에 한정되는 것이 아니며, 관리 대상 데이터를 압축하지 않아도 된다. MIME는, 인터넷의 전자 메일의 규격을 확장하여, 다양한 형식을 취급할 수 있도록 한 규격이다.
[0062] 다음으로, 콜로니 서버(20)에서, 예컨대, 관리 대상 데이터에 상당하는 16진수 텍스트 데이터의 선두 30바이트를 부분 데이터로서 잘라내고(커트하고)(단계 4), 31바이트 이후의 데이터를 본체 데이터로서 데이터베이스(예컨대, 본체 데이터 기억부(272))에 등록(기억)한다(단계 5).
[0063] 그리고, 부분 데이터(선두 30바이트의 데이터)는, 콜로니 서버(20)로부터 관리 대상 데이터의 등록 파일명과 함께, 센터 서버(10)로 송신된다. 센터 서버(10)에서는, 부분 데이터(선두 30바이트의 데이터)와 관리 대상 데이터의 파일명을 수신하고(단계 6), 이들에 근거하여 관리 대상 데이터의 일부인 부분 데이터의 암호화를 행한다(단계 7). 예컨대, 부분 데이터를 암호화하여 암호화 키(DBED(Data Binary Encrypted Data)라고도 함)를 생성한다. 암호화 키(DBED)를 블록체인(또는 블록체인 데이터 트리(Block chain data tree))의 하나의 블록으로서 추가(등록)하고(단계 8), 블록체인 해시(Block chain hash)를 생성, 즉, 블록체인에 추가된 블록의 블록 해시값을 계산한다(단계 9). 마지막으로, 센터 서버(10)로부터 콜로니 서버(20)로 블록 해시값을 송신하고, 콜로니 서버(20)에서, 바이너리 라지 오브젝트(BLOB; binary large object)로서, 바이너리 데이터인 블록 해시값을 데이터베이스(예컨대, 해시 정보 기억부(271))에 등록한다(단계 10).
[0064] 도 5는, 콜로니 서버로부터 센터 서버로의 관리 대상 데이터의 등록 처리의 개요를 나타낸다. 이용자(X)(유저(X))는, 정보 처리 단말(30X)을 이용하여, 네트워크(N1)를 통해, 콜로니 서버(20)에 로그인하고 관리 대상 데이터를 콜로니 서버(20)에 업로드한다. 콜로니 서버(20)에 업로드된 관리 대상 데이터는, 상술한 바와 같이, MIME(예컨대 MIME64)에 근거하여, 예컨대, ABCDEFG2345678 등과 같이 문자열화(文字列化)되어, 관리 대상 데이터를 나타내는 파일명과 함께 다음의 처리로 넘겨진다. 콜로니 서버(20)에 있어서, 문자열화된 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 부분 데이터(예컨대, ABC)와, 소정의 사이즈+1 이후의 본체 데이터(예컨대, DEFG2345678)로 분할하고, 부분 데이터는 파일명과 함께, 네트워크(N2)를 통한 암호화 통신에 의해, 센터 서버(10)로 송신된다. 도 4 및 도 5에 나타낸 예에서는, 문자열화된 관리 대상 데이터의 선두로부터 소정의 사이즈까지의 데이터를 부분 데이터로 하고, 그 이후의 데이터를 본체 데이터로 하고 있지만, 이에 한정되는 것은 아니며, 부분 데이터는, 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 포함하고, 본체 데이터는, 소정의 사이즈+1 이후의 데이터를 대신하여, 관리 대상 데이터의 임의의 일부분 이외의 잔여 부분의 데이터를 포함하는 것도 가능하다.
[0065] 이와 같이, 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템은, 콜로니 서버(20)가 정보 처리 단말(30)로부터 수신한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 기억하고, 센터 서버(10)가 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 기억함으로써, 관리 대상 데이터를 분산시켜 관리할 뿐만 아니라, 부정 액세스 등에 의해 콜로니 서버(20)로부터 본체 데이터가 유출되었다 하더라도, 애당초 본체 데이터는, 관리 대상 데이터의 일부의 데이터에 지나지 않고, 본체 데이터만으로는 가치가 없기 때문에, 부정 액세스에 대해 굳건한 시큐리티를 실현할 수가 있다.
[0066] 또한, 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템은, 센터 서버(10)가, 관리 대상 데이터의 전체가 아니라 일부의 데이터인 부분 데이터만을 블록체인 상에 기억할 수 있기 때문에, 비교적 작은 기억 영역으로 블록체인을 관리할 수 있다. 이에 의해, 센터 서버(10)에서 블록체인에 새로운 블록을 형성하는 경우 등에 있어서, 해시값의 계산 등은 비교적 작은 정보에 근거하여 행할 수 있게 되므로, 센터 서버(10) 등의 컴퓨터에 있어서의 계산량을 대폭적으로 감소시키는 것을 기대할 수 있다. 그리고, 센터 서버(10)를 정부나 은행 등의 신뢰할 수 있는 기관에서 운용함으로써, 블록체인의 공정성을 보증하는 검증 작업을 간략화 혹은 생략할 수 있어, 컴퓨터를 이용한 방대한 계산 및 그에 따른 전력 소비를 억제할 수 있다.
[0067] 도 6은, 센터 서버에서 관리되는 블록체인의 기본적인 구성의 개요를 나타낸다. 블록체인(100)의 하나의 블록(101A)은, 서로 다른 2개의 블록 해시값(Block Chain Hash(1)와 Block Chain Hash(2), 예컨대, 0xaa708c8c, 0x038b67cf)과, 관리 대상 데이터의 부분 데이터를 암호화한 암호화 키(예컨대, ddyymmSUGIURA100)를 포함한다. 일측(一方)의 블록 해시값(Block Chain Hash(1))은, 앞(前)의 블록의 블록 해시값과 동일한 해시값이며, 해시값이 동일한 것에 근거하여 블록(101A)은 앞의 블록과 결합된다. 마찬가지로 타측(他方)의 블록 해시값(Block Chain Hash(2))은, 뒤의 블록 해시값과 동일한 해시값이며, 해시값이 동일한 것에 근거하여, 블록(101A)은 뒤의 블록과도 결합된다.
[0068] 도 7은, 관리 대상 데이터를 센터 서버에 등록하는 처리의 흐름을 나타낸 시퀀스도이다. 이용자는 정보 처리 단말(30)을 이용해, 예컨대 인터넷을 통해 콜로니 서버(20)에 로그인(사인인[signin])하여 액세스하고(단계 S101), 콜로니 서버(20)는, 이용자의 정보 처리 단말(30)을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답을 정보 처리 단말(30)에 송신한다(단계 S102). 그리고, 이용자는, 정보 처리 단말(30) 상에서, 관리 대상 데이터의 업로드 또는 관리 대상 데이터의 생성 리퀘스트를 선택하고(단계 S103), 콜로니 서버(20)에 관리 대상 데이터를 업로드하거나, 또는 관리 대상 데이터의 생성 리퀘스트를 송신한다(단계 S104). 콜로니 서버(20)에서는, 업로드 또는 생성된 관리 대상 데이터에 대해, 상술한 바와 같이, 압축, 문자열화 등의 암호화 처리를 행하고, 예컨대, 선두로부터 30바이트까지의 부분 데이터와 31바이트 이후의 본체 데이터로 분할하여, 선두 30바이트의 부분 데이터를 센터 서버(10)에 송신한다(단계 S106).
[0069] 센터 서버(10)에 있어서, 블록체인에 추가하기 위해 1개의 블록을 생성하고(단계 S107), 선두 30바이트의 부분 데이터 외에 적어도 관리 대상 데이터에 관련된 시간(예컨대, 업로드 일시, 작성 일시 등) 및 관리 대상 데이터에 대응하는 파일명 중 적어도 하나(一方)를 포함시켜 암호화를 행하여, 부분 데이터 외에 파일명 및 시간(업로드 일시, 작성 일시 등) 중 적어도 하나를 포함하는 암호화 키를 생성한다(단계 S108). 본 실시예에서는, 암호화 시에, 부분 데이터 외에, 시간, 파일명을 이용하고 있지만, 이에 한정되는 것이 아니며, 기타의 문자열, 데이터 등(예컨대, 이용자의 로그인 ID, 패스워드)을 이용할 수도 있다. 암호화 키를 복호화함으로써, 암호화 키에 포함되는 부분 데이터를 복원(추출)할 수 있다.
[0070] 센터 서버(10)는, 생성한 블록에 암호화 키를 포함시켜, 블록체인에 해당 블록을 추가하고(단계 S109), 추가된 블록의 블록 해시값을 콜로니 서버(20)에 송신한다(단계 S110). 콜로니 서버(20)에 있어서, 수신한 블록 해시값을 본체 데이터와 함께 데이터베이스(본체 데이터 기억부(272))에 기억하여, 부분 데이터가 결락(缺落)된 관리 대상 데이터(즉, 본체 데이터)를 생성한다(단계 S111). 마지막으로, 콜로니 서버(20)는, 관리 대상 데이터의 생성이 완료된 경우에, 완료 통지를 정보 처리 단말(30)에 송신한다(단계 S112).
[0071] 도 8은, 센터 서버로부터 관리 대상 데이터를 취득하는 처리의 흐름을 나타낸 시퀀스도이다. 이용자는 정보 처리 단말(30)을 이용해, 예컨대 인터넷을 통해 콜로니 서버(20)에 로그인(사인인)하여 액세스하고(단계 S201), 콜로니 서버(20)는, 이용자의 정보 처리 단말(30)을 이용한 로그인이 성공한 경우에, 로그인 성공(OK)의 응답을 정보 처리 단말(30)에 송신하는(단계 S202) 동시에, 관리 대상 데이터 등의 목록을 송신한다(단계 S203).
[0072] 이용자는, 정보 처리 단말(30)의 화면 상에 표시되는 관리 대상 데이터 등의 목록으로부터, 원하는 관리 대상 데이터의 취득을 위해 필요한 항목을 선택하고(단계 S204), 정보 처리 단말(30)은, 이용자가 선택한 항목과 함께, 관리 대상 데이터 취득의 리퀘스트를 콜로니 서버(20)에 송신한다(단계 S205). 콜로니 서버(20)에 있어서, 정보 처리 단말(30)로부터의 리퀘스트에 근거하여, 데이터베이스로부터 리퀘스트(요청)된 관리 대상 데이터(에 대응하는 본체 데이터)를 특정하여 검증을 행한다(단계 S206). 검증의 결과, 문제가 없으면, 관리 대상 데이터의 31바이트 이후의 데이터인 본체 데이터를 정보 처리 단말(30)에 송신하는(단계 S207) 동시에, 본체 데이터에 관련지어 기억되어 있는 블록 해시값에 근거하여, 본체 데이터에 대응하는 부분 데이터를 센터 서버(10)에 리퀘스트한다(단계 S208).
[0073] 센터 서버(10)는, 리퀘스트에 따라, 블록체인의 블록을 검증하고(단계 S209), 암호화 키로부터 관리 대상 데이터의 선두로부터 30바이트의 데이터인 부분 데이터를 복원(복호)하여, 콜로니 서버(20)에 송신한다(단계 S210). 콜로니 서버(20)는 수신한 부분 데이터를 정보 처리 단말(30)에 송신하고(단계 S211), 정보 처리 단말(30)에 있어서, 수신한 부분 데이터를 본체 데이터에 결합하여, 관리 대상 데이터를 생성한다(단계 S212).
[0074] 도 9는, 관리 대상 데이터를 같은 콜로니 서버에 접속된 단말 간에 양도하는 처리의 흐름을 나타낸 시퀀스도이다. 같은 콜로니 서버(20)에 접속된 정보 처리 단말(30X)의 이용자(X)로부터 정보 처리 단말(30Y)의 이용자(Y)에게 관리 대상 데이터를 양도하는 경우, 이용자(X)는 정보 처리 단말(30X)을 이용해, 예컨대 인터넷을 통해 콜로니 서버(20)에 로그인(사인인)하여 액세스하고(단계 S301), 콜로니 서버(20)는, 이용자의 정보 처리 단말(30X)을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답을 정보 처리 단말(30X)에 송신하는(단계 S302) 동시에, 관리 대상 데이터 등의 목록을 송신한다(단계 S303).
[0075] 이용자(X)는, 정보 처리 단말(30X)의 화면 상에 표시되는 관리 대상 데이터 등의 목록으로부터, 관리 대상 데이터의 양도를 위해 필요한 항목을 선택하고(단계 S304), 양도처인 이용자(Y)의 유저 ID를 입력하는(단계 S305) 동시에, 양도의 리퀘스트를 콜로니 서버(20)에 송신한다(단계 S306).
[0076] 콜로니 서버(20)는, 양도처의 유저 ID를 검증하여(단계 S307), 문제가 없으면, 다운로드 URL을 생성하고(단계 S308), 양도처인 이용자(Y)의 메일 주소를 센터 서버(10)에 리퀘스트하여(단계 S309), 응답(OK)과 함께 메일 주소를 취득한다(단계 S310). 콜로니 서버(20)는, 취득한 메일 주소 앞(정보 처리 단말(30Y))으로 다운로드 URL을 전자 메일로 통지한다(단계 S311).
[0077] 양도처인 이용자(Y)는, 정보 처리 단말(30Y)에서 전자 메일을 확인하고, 다운로드 URL을 이용해 콜로니 서버(20)에 로그인하여, 관리 대상 데이터의 본체 데이터인 31바이트 이후의 데이터를 다운로드한다(단계 S312). 콜로니 서버(20)는, 본체 데이터가 다운로드되면, 해당 본체 데이터의 블록 해시값을 센터 서버(10)에 송신한다(단계 S313). 센터 서버(10)는, 수신한 해시값에 일치하는 해시값을 갖는 블록을 블록체인으로부터 특정하고, 블록에 포함되는 관리 대상 데이터를 검증한다(단계 S314). 센터 서버(10)는, 검증의 결과 올바른 경우에, 관리 대상 데이터의 선두 30바이트인 부분 데이터를 콜로니 서버(20)에 송신하고(단계 S315), 콜로니 서버(20)는 수신한 부분 데이터를 정보 처리 단말(30Y)에 송신한다(단계 S316). 마지막으로, 정보 처리 단말(30Y)에 있어서, 수신한 부분 데이터를 본체 데이터에 결합하여, 관리 대상 데이터를 복원(생성)한다(단계 S317).
[0078] 도 10 및 도 11은, 관리 대상 데이터를 다른 콜로니 서버에 접속된 단말 간에 양도하는 처리의 흐름을 나타낸 시퀀스도이며, 도 10 및 도 11의 시퀀스도에 걸쳐서, 콜로니 서버(20A)(콜로니 A)에 접속된 정보 처리 단말(30X)로부터 콜로니 서버(20B)(콜로니 B)에 접속된 정보 처리 단말(30Y)로 관리 대상 데이터를 양도하는 처리의 흐름을 나타낸다.
[0079] 우선, 도 10을 참조하면, 이용자(X)는 정보 처리 단말(30X)을 이용해, 예컨대 인터넷을 통해 콜로니 서버(20A)에 로그인(사인인)하여 액세스하고(단계 S401), 콜로니 서버(20)는, 이용자의 정보 처리 단말(30X)을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답(실패한 경우에는, 로그인 실패(NG)의 응답)을 정보 처리 단말(30X)에 송신하는(단계 S402) 동시에, 관리 대상 데이터 등의 목록을 송신한다(단계 S403).
[0080] 이용자(X)는, 정보 처리 단말(30X)의 화면 상에 표시되는 관리 대상 데이터 등의 목록으로부터, 관리 대상 데이터의 양도를 위해 필요한 항목을 선택하여(단계 S404), 양도처인 이용자(Y)의 유저 ID와, 콜로니 서버(20B)의 ID를 지정하는(단계 S405) 동시에, 양도의 리퀘스트를 콜로니 서버(20A)에 송신한다(단계 S406). 콜로니 서버(20A)는, 리퀘스트된 관리 대상 데이터의 본체 데이터를 특정하고, 본체 데이터의 블록 해시값과 양도처인 이용자(Y)의 유저 ID를 포함하는 리퀘스트를 센터 서버(10)에 송신한다(단계 S407).
[0081] 센터 서버(10)는, 수신한 유저 ID 및 블록 해시값을 검증하여(단계 S408), 검증의 결과 올바르면, 그 취지의 응답(OK)과 함께 양도처인 이용자(Y)의 메일 주소를 콜로니 서버(20A)에 송신하고(단계 S409), 콜로니 서버(20)는, 관리 대상 데이터의 양도를 행할지의 여부에 대한 최종 확인을 정보 처리 단말(30X)에 송신한다(단계 S410). 정보 처리 단말(30X)은, 양도의 실행을 승인한다는 취지의 응답(OK)과 함께 최종적인 양도의 리퀘스트를 콜로니 서버(20A)에 송신하고(단계 S411), 콜로니 서버(20A)는, 리퀘스트를 센터 서버(10)에 송신한다(단계 S412).
[0082] 센터 서버(10)는 관리 대상 데이터의 선두 30바이트를 포함하는 부분 데이터를 콜로니 서버(20B)에 송신한다(단계 S413). 여기서, 도 11을 참조하면, 콜로니 서버(20B)는, 이용자(X)로부터의 관리 대상 데이터의 양도가 있다는 취지의 통지를, 양도처인 이용자(Y)의 정보 처리 단말(30Y)에 통지한다(단계 S414). 이용자(Y)는, 정보 처리 단말(30Y)의 화면 상에 표시되는 통지 등에 따라, 정보 처리 단말(30Y)로부터 로그인하여 콜로니 서버(20B)에 액세스하고(단계 S415), 정보 처리 단말(30Y)은, 센터 서버(10)로부터 보내져 온 관리 대상 데이터의 선두 30바이트인 부분 데이터를 수신한다(단계 S416).
[0083] 도 10을 다시 참조하면, 콜로니 서버(20A)는 리퀘스트를 센터 서버(10)에 송신한 직후 또는 실질적으로는 동시에, 관리 대상 데이터의 31바이트 이후의 데이터인 본체 데이터를 다운로드하기 위한 URL을 생성한다(단계 S417). 도 11을 참조하면, 다운로드 URL을 생성한(단계 S417) 후, 콜로니 서버(20A)는, 다운로드 URL을 전자 메일로, 정보 처리 단말(30Y)에 송신하고(단계 S418), 양도처인 이용자(Y)는, 정보 처리 단말(30Y)에 있어서 전자 메일을 확인하고, 다운로드 URL을 이용해 콜로니 서버(20A)에 로그인하여, 관리 대상 데이터의 본체 데이터인 31바이트 이후의 데이터를 다운로드한다(단계 S419). 마지막으로, 정보 처리 단말(30Y)에 있어서, 수신한 부분 데이터를 본체 데이터에 결합하여, 관리 대상 데이터를 복원한다(단계 S420).
[0084] 도 12는, 은행 간의 금융 상품 거래에 본 발명에 따른 데이터 관리 시스템을 적용한 예를 나타낸 도면이다. 본 발명의 시스템은, 예컨대 지방은행 A로부터 지방은행 B로의 송금에 대해, 중앙은행(예컨대, 일본은행) 내의 임의의 복수의 승인자에 의한 인증을 간편하게 행하는 것이 가능하다. 복수의 승인자에 의해 인증을 행함으로써, 거짓 행세에 의한 송금 등을 미연에 방지할 수 있다. 은행 A로부터 은행 B로의 송금(예컨대, 관리 대상 데이터로서 전자 통화의 송신)은, 도 7에 나타낸, 관리 대상 데이터를 센터 서버에 등록하는 처리, 도 10 및 도 11에 나타낸, 관리 대상 데이터를 다른 콜로니 서버에 접속된 단말 간에 양도하는 처리에 근거하여 실현될 수 있다.
[0085] 은행 A의 담당자(송신자)는, 은행 A 서버(콜로니 서버 A)에 접속된 단말을 이용해, 인터넷 등의 공중회선을 통해, 은행 A 서버에 로그인하여 액세스하고, 은행 A 서버는, 은행 A의 담당자의 단말을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답을 해당 단말에 송신한다. 그리고, 은행 A의 담당자는, 단말상에서, 관리 대상 데이터의 일례인 전자 통화의 업로드 또는 전자 통화의 생성 리퀘스트를 선택하여, 은행 A 서버에 전자 통화를 업로드하거나, 또는 전자 통화의 생성 리퀘스트를 송신한다. 은행 A 서버에서는, 업로드 또는 생성된 전자 통화에 대해, 압축, 문자열화 등의 암호화 처리를 행하고, 예컨대, 선두로부터 30바이트까지의 부분 데이터와 31바이트 이후의 본체 데이터로 분할하여, 선두 30바이트의 부분 데이터를, 전용회선(클로즈드 네트워크)을 통해 중앙은행 서버(센터 서버)에 송신한다(단계 1).
[0086] 중앙은행 서버에 있어서, 선두 30바이트의 부분 데이터를 블록체인에 추가하기 위해 1개의 블록을 생성하고, 선두 30바이트의 부분 데이터 외에 적어도 관리 대상 데이터인 전자 통화에 관련된 시간(예컨대, 업로드 일시, 작성 일시 등) 및 관리 대상 데이터인 전자 통화에 대응하는 파일명 중 적어도 하나(一方)를 포함시켜 암호화를 행하여, 부분 데이터 외에 파일명 및 시간(업로드 일시, 작성 일시 등) 중 적어도 하나를 포함하는 암호화 키를 생성한다. 중앙은행 서버는, 생성한 블록에 암호화 키를 포함시켜, 블록체인에 해당 블록을 추가하고, 추가된 블록의 블록 해시값(도 12 중의 「+hash」)를 은행 A 서버에 송신한다(단계 2). 블록 해시값은, 중앙은행 서버에 있어서 소정의 간격으로 갱신되어, 은행 A 서버에 송신된다.
[0087] 은행 A 서버에 있어서, 수신한 블록 해시값을 본체 데이터와 함께 데이터 베이스에 기억하여, 부분 데이터가 결락된 전자 통화(즉, 본체 데이터)를 생성한다. 마지막으로, 은행 A 서버는, 전자 통화의 등록(생성)이 완료된 경우에, 완료 통지를 은행 A의 담당자의 단말에 송신한다. 관리 대상 데이터인 전자 통화는 중앙은행 서버 등록 시에, 해당 서버 내의 블록체인에 영속적으로 관리 등록되기 때문에, 송금 리퀘스트는 후일(後日) 등의 다른 타이밍으로 해도 문제가 없다.
[0088] 여기서, 관리 대상 데이터인 전자 통화의 부분 데이터(예컨대, 선두 30바이트)를 포함하는 암호화 키는, 전자 통화의 본체 데이터(예컨대, 선두 31바이트 이후의 데이터)를 복원하기 위한 정보(이하, 「복원 정보」라고도 함)이다. 즉, 복원 정보(선두 30바이트를 포함하는 암호화 키에 해당)는, 소정 바이트의 데이터 열이라고 한다면, 이 데이터를 임의의 인원수만큼으로 분할하여 부절(符節)로서 사용할 수 있다. 복원 정보인 부분 데이터를, 임의의 인원수만큼으로 분할하는 것을, 여기서는 부절화(符節化)라고 부른다.
[0089] 부절화의 알고리즘(처리 순서)은, 예컨대, 복원 정보로부터 세 명분의 부절을 생성하는 경우에, 우선, 2개의 랜덤한 소정 바이트의 데이터 열을 부절로서 생성한다. 그런 다음, 2개의 부절의 데이터 열을 이진화(二進化)하고, 마지막으로, 이진화된 2개의 부절의 데이터 열의 총합의 하위 1비트가 복원 정보가 되도록, 3개째의 부절의 데이터 열을 생성한다. 예컨대, 3개의 부절(부절 1, 부절 2 및 부절 3)의 데이터 열이 하기와 같은 경우, 각 부절의 데이터 열의 제1 열째는, 1, 0, 1이므로, 총합은 10(2진수)이 되고, 하위 1비트는 0이며, 제2 열째는, 1, 1, 1이므로, 총합은 11이 되고, 하위 1비트는 1이 된다.
부절 1 |1|1|1|0|0|0|0|1|0|0|0|0|1|0|1|1|0|1|1|0|0|0|0|1|
부절 2 |0|1|0|0|1|0|1|0|1|0|0|0|0|0|0|1|0|1|0|0|1|0|1|1|
부절 3 |1|1|0|0|1|0|1|0|1|1|1|0|1|0|0|0|0|1|0|0|1|0|0|1|
이상과 같은 방법으로, 3개의 부절을 맞춤으로써, 전자 통화를 복원하기 위한 하기와 같은 복원 정보(암호화 키)를 생성할 수 있다.
복원 정보 |0|1|1|0|0|0|0|1|0|1|1|0|0|0|1|0|0|1|1|0|0|0|1|1|
이와 같이, 복원 정보(암호화 키)를 부절로서 분할하여 관리함으로써, 예컨대, 은행 A로부터 은행 B로의 송금에 대해, 중앙은행 내에 있어서 복수의 승인자에게 각각 부절을 갖게 하고 그러한 부절을 이용함으로써, 금융 거래의 인증을 간편하게 행하는 것이 가능하다. 또한, 복수의 승인자인 척 거짓 행세하여, 위법하게 금융 거래를 실행하는 것도 사실상 불가능하다.
[0090] 은행 A 서버에 접속된 은행 A의 담당자(송신자)의 단말로부터, 은행 B 서버에 접속된 은행 B의 담당자(수신자)의 단말로 관리 대상 데이터의 일례인 전자 통화를 양도(송금)하는 경우, 은행 A의 담당자(송신자)는, 단말을 이용해, 예컨대 인터넷 등의 공중회선을 통해 은행 A 서버에 로그인(사인인)하여 액세스하고, 은행 A 서버는, 은행 A의 담당자(송신자)의 단말을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답을 해당 단말에 송신하는 동시에, 전자 통화 등의 목록을 송신한다.
[0091] 은행 A의 담당자(송신자)는, 단말의 화면상에 표시되는 전자 통화 등의 목록으로부터, 전자 통화의 양도를 위해 필요한 항목을 선택하여, 송금처인 은행 B 서버(콜로니 서버 B)의 주소(address) 등의 식별 정보(ID)와, 담당자(수신자)의 유저 ID를 입력하는 동시에, 송신의 리퀘스트를 은행 A 서버에 송신한다.
[0092] 은행 A 서버는, 리퀘스트된 전자 통화의 본체 데이터를 특정하고, 본체 데이터의 블록 해시값과 송금처인 은행 B의 담당자의 유저 ID를 포함하는 리퀘스트를 중앙은행 서버에 송신한다. 중앙은행 서버는, 수신한 유저 ID 및 블록 해시값을 검증하여, 검증의 결과 올바르면, 그 취지의 응답(OK)과 함께 송금처인 은행 B의 담당자의 메일 주소를 은행 A 서버에 송신하고, 은행 A 서버는, 전자 통화의 송금을 행할지의 여부에 대한 최종 확인을 은행 A의 담당자의 단말에 송신한다.
[0093] 은행 A의 담당자는, 송금의 실행을 승인하는 경우에, 단말로부터 승인한다는 취지의 응답을 행하는 동시에 최종적인 송금의 리퀘스트를 은행 A 서버에 송신하고, 은행 A 서버는, 전자 통화의 송금처인 수신자의 유저 ID를 검증하여, 문제가 없으면, 다운로드 URL을 생성하고, 송금처인 은행 B의 담당자(수신자)의 메일 주소를 중앙은행 서버에 리퀘스트하여, 응답(OK)과 함께 메일 주소를 취득한다. 은행 A 서버는, 취득한 메일 주소 앞(은행 B의 담당자의 단말)으로 다운로드 URL을 전자 메일로 통지한다(단계 3). 또한, 이때, 중앙은행 서버는 전자 통화의 선두 30바이트를 포함하는 부분 데이터를 은행 B 서버에 송신한다. 은행 B 서버는, 은행 A의 담당자로부터의 전자 통화의 송금이 있다는 취지의 통지를, 송금처인 은행 B의 담당자의 단말에 통지한다.
[0094] 은행 B의 담당자(수신자)는, 단말에 있어서 전자 메일을 확인하고, 다운로드 URL을 이용하여, 인터넷 등의 공중회선을 통해 은행 A 서버에 로그인하여, 다운로드를 요구한다(단계 4). 은행 A 서버는, 요구에 따라, 관리 대상 데이터인 전자 통화의 본체 데이터(31바이트 이후의 데이터)를 다운로드 가능하게 하여, 은행 B의 담당자의 단말은 본체 데이터를 다운로드할 수 있다(단계 5).
[0095] 또한, 은행 B 서버는, 은행 A의 담당자로부터의 전자 통화의 송금이 있다는 취지의 통지를, 송금처의 담당자의 단말에 통지한다.  은행 B의 담당자는, 단말로부터 은행 B 서버에 액세스하고, 은행 B 서버는, 중앙은행 서버로부터 보내져 온 전자 통화의 선두 30바이트인 부분 데이터를 포함하는 암호화 키(복원 정보)를, 전용회선을 통해 취득한다(단계 6).  은행 B의 담당자(수신자)의 단말은, 인터넷 등의 공중회선을 통해, 암호화 키를 다운로드할 수 있다(단계 7).  그리고, 은행 B의 담당자의 단말에 의해, 암호화 키에 포함되는 부분 데이터와 본체 데이터를 결합함으로써, 전자 통화가 복원된다.  이에 의해, 은행 A로부터 은행 B로의 송금이 완료된다.
[0096] 이와 같이, 은행 B의 담당자는, 메일 등의 임의의 통지를 받아, 콜로니 서버인 은행 B 서버에 로그인을 하고, 전자 통화의 부분 데이터를 포함하는 암호화 키를 취득함으로써, 부분 데이터가 빠져 있는 전자 통화를, 완전한 전자 통화로 복원(복호)하는 것이 가능하다. 이때, 은행 B 서버에서는 복원 처리를 하지 않고, 은행 B의 담당자의 단말의 웹브라우저상에서 복원 처리의 리퀘스트를 받아, 단말에 있어서 복원 처리를 실행할 수 있다. 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템의 본 스킴(scheme)에 있어서, 콜로니 서버(은행 B 서버)상에서는, 템포러리로서의 실체는 생성되지 않기 때문에, 부정하게 액세스되는 일은 없다. 또한, 각 서버상에서는 매우 근소한 캐시가 남기 때문에, 거래 공정에 따라 적절한 데이터 말소가 이루어지도록 구성할 수도 있다.
[0097] 도 13은, 이벤트 참가자에 대한 특전 부여에 본 발명에 따른 데이터 관리 시스템을 적용한 예를 나타낸 도면이다. 본 발명의 시스템은, 미리 정해진 장소에 감으로써, 쿠폰, 포인트 등의 특전이 부여되는 등의 이벤트에도, 응용할 수 있다. 예컨대, 전철을 타고 미리 정해진 역에서 하차함으로써, 캐릭터 스탬프 등의 특전을 받을 수 있는 스탬프 랠리와 같은 이벤트에도 응용할 수 있고, 또한, 전철의 차량 혼잡도에 따라, 승객을 혼잡한 차량으로부터 비어 있는 차량으로 유도하고, 실제로 혼잡한 차량으로부터 비어 있는 차량으로 이동한 승객에게 특전을 부여하는 구조에도 응용할 수 있다. 나아가, 미리 지정된 이벤트 회장에 입장하는 것에 특전을 부여하고, 이벤트 회장에서 지시받은 특정 장소에 가는 것에, 특전을 부여하는 등의 구조에도 본 발명의 시스템을 응용할 수 있다.
[0098] 예컨대, 특전에 상당하는 전자 데이터(이하, 「특전 데이터」라고 함)를 받는 측의 스마트폰 등의 휴대단말에 있어서, 마이크 등으로 소리를 알아듣고, 특정한 소리의 주파수에 응답하여, 특전 부여의 리퀘스트를 휴대단말로부터 콜로니 서버에 송신함으로써, 특전 데이터의 취득을 실행할 수 있다. 특정한 장소를 식별할 수 있다면, 마이크 등으로 소리를 알아듣는 것 대신에, 휴대단말의 GPS 정보여도 된다.
[0099] 또한, 전철의 혼잡 완화에 응용한 예로서, 승차 중에, 전철 내에 흐르는 안내 음성 등의 특정한 소리(소리의 주파수)에 따라, 승객의 휴대단말로 하여금 특전 데이터를 취득시키도록, 휴대단말에 통지하여 특전 데이터의 취득을 재촉할 수 있다. 이러한 특전 부여의 구조에 의해, 전철에서 혼잡한 차량으로부터, 비어 있는 차량으로 승객을 이동시키기 위해, 비어 있는 차량의 내부에서, 특전 데이터의 취득을 가능하게 하는 안내 음성 등의 특정한 소리가 흐르게 함으로써, 승객의 이동을 재촉할 수 있다.
[0100] 또한, 이벤트 회장의 특정한 장소에서, 특전 데이터의 취득을 가능하게 하는 안내 음성, 광고 등의 특정한 소리가 흐르게 함으로써, 이벤트 참가자를 이동시킬 수도 있다. 본 시스템을 이벤트에 응용하였을 경우, 도 13을 참조하여 설명하자면, 이벤트 운영자(송신자)는, 이벤트 운영 서버 A(콜로니 서버 A)에 접속된 단말을 이용하여, 인터넷 등의 공중회선을 통해, 이벤트 운영 서버 A에 로그인하여 액세스하고, 이벤트 운영 서버 A는, 이벤트 운영자의 단말을 이용한 로그인이 성공하였을 경우에, 로그인 성공(OK)의 응답을 해당 단말에 송신한다. 그리고, 이벤트 운영자는, 단말상에서, 관리 대상 데이터의 일례인 특전 데이터의 업로드 또는 특전 데이터의 생성 리퀘스트를 선택하여, 이벤트 운영 서버 A에 특전 데이터를 업로드하거나, 또는 특전 데이터의 생성 리퀘스트를 송신한다. 이벤트 운영 서버 A에서는, 업로드 또는 생성된 특전 데이터에 대해, 압축, 문자열화 등의 암호화 처리를 행하고, 예컨대, 선두로부터 30바이트까지의 부분 데이터와 31바이트 이후의 본체 데이터로 분할하여, 선두 30바이트의 부분 데이터를, 전용회선(클로즈드 네트워크)을 통해 센터 서버에 송신한다(단계 1).
[0101] 센터 서버에 있어서, 선두 30바이트의 부분 데이터를 블록체인에 추가하기 위해 1개의 블록을 생성하고, 선두 30바이트의 부분 데이터 외에 적어도 관리 대상 데이터인 특전 데이터에 관련된 시간(예컨대, 업로드 일시, 작성 일시 등) 및 관리 대상 데이터인 특전 데이터에 대응하는 파일명 중 적어도 하나를 포함시켜 암호화를 행하고, 부분 데이터 외에 파일명 및 시간(업로드 일시, 작성 일시 등) 중 적어도 하나를 포함하는 암호화 키를 생성한다. 센터 서버는, 생성한 블록에 암호화 키를 포함시켜, 블록체인에 해당 블록을 추가하고, 추가된 블록의 블록 해시값(도 13 중의 「+Hash」)를 이벤트 운영 서버 A에 송신한다(단계 2). 블록 해시값은, 센터 서버에 있어서 소정의 간격으로 갱신되어, 이벤트 운영 서버 A에 송신된다.
[0102] 이벤트 운영 서버 A에 있어서, 수신한 블록 해시값을 본체 데이터와 함께 데이터 베이스에 기억하여, 부분 데이터가 결락된 특전 데이터(즉, 본체 데이터)를 생성한다. 마지막으로, 이벤트 운영 서버 A는, 특전 데이터의 등록(생성)이 완료된 경우에, 완료 통지를 이벤트 운영자의 단말에 송신한다. 특전 데이터는 센터 서버 등록 시에, 해당 서버 내의 블록체인에 영속적으로 관리 등록되기 때문에, 특전 부여의 리퀘스트는 후일 등의 다른 타이밍으로 해도 문제가 없다.
[0103] 이벤트 운영 서버 A에 접속된 이벤트 운영자의 단말로부터, 이벤트 운영 서버 B(콜로니 서버 B)에 접속된 이벤트 참가자(수신자)의 단말로 특전 데이터를 양도하는(특전을 부여하는) 경우, 이벤트 참가자의 휴대단말이, 미리 정해진 장소로 이동한 것에 기인하여, 즉, 미리 정해진 장소로 이동한 것을 트리거(trigger)로 하여, 특전 부여를 위해 특전 데이터의 본체 데이터 및 부분 데이터를 포함하는 암호화 키를, 각 서버(이벤트 운영 서버 A 및 B)에 요구할 수 있다(단계 3∼단계 7).
[0104] 이벤트의 일례로서, 전철을 타고 정해진 역에 설치된 스탬프를 모으는 스탬프 랠리의 예를 들어 본다. 이벤트 참가자가, 전철을 타고 미리 정해진 역에서 하차함으로써, 캐릭터의 전자적인 스탬프나 포인트 등의 특전을 얻을 수 있도록, 하차역의 위치 정보와 실질적으로 일치하는 위치로, 이벤트 참가자의 휴대단말이 이동한 것, 또는, 하차역에서 흐르는 음성 안내당의 소리의 특정 주파수를 휴대단말의 마이크 등으로 집음(集音: 소리를 모음)한 것을 트리거로 하여, 특전 부여의 리퀘스트를 각 서버(이벤트 운영 서버 A 및 B)에 송신할 수 있다.
[0105] 또한, 이러한 이벤트에 한정되지 않고, 마찬가지의 방법으로, 전철의 혼잡 완화에도 응용할 수 있다. 예컨대, 전철에서 혼잡한 차량으로부터 혼잡하지 않은 차량으로 이동할 것을 승객에게 재촉하기 위해, 이벤트 운영 서버 A(또는 이벤트 운영 서버 B)는, 특정한 차량(혼잡하지 않은 차량)으로 이동함으로써, 특전이 부여된다는 취지의 통지를 승객의 휴대단말에 통지할 수 있다. 혼잡하지 않은 차량의 내부에서는, 특전 데이터의 취득을 가능하게 하는 안내 음성 등의 소리의 특정 주파수를 흐르게 하여, 승객이 혼잡하지 않은 차량으로 이동하면, 해당 특정 주파수를 그 승객의 휴대단말의 마이크 등으로 집음한 것을 트리거로 하여, 특전 부여의 리퀘스트를 각 서버에 송신할 수 있다(이벤트 운영 서버 A 및 B).
[0106] 이벤트 참가자에 대한 특전 부여의 흐름의 각 단계(단계 3∼단계 7)는, 도 13에 나타낸 바와 같이, 이벤트 참가자가 지정된 장소(예컨대, 이벤트 회장)로 이동하여, 이벤트 참가자의 휴대단말의 GPS 등의 위치 정보가 그 장소를 나타낸 것을 트리거로 하여, 또는 지정된 장소에서 스피커 등으로부터 흐르는 소리를 휴대단말의 마이크 등으로 집음하고, 집음한 소리의 특정 주파수를 트리거로 하여, 특전 데이터의 본체 데이터를 요구한다(단계 3). 이벤트 운영 서버 A는, 특전 데이터 송신처의 이벤트 참가자(수신자)의 유저 ID를 검증하여, 문제가 없으면, 다운로드 URL을 생성하고, 송신처의 이벤트 참가자(수신자)의 메일 주소를 센터 서버에 리퀘스트하여, 응답(OK)과 함께 메일 주소를 취득한다. 이벤트 운영 서버 A는, 취득한 메일 주소 앞(이벤트 참가자의 단말)으로 다운로드 URL을 전자 메일로 통지한다(단계 4). 또한, 이때, 센터 서버는 특전 데이터의 선두 30바이트를 포함하는 부분 데이터를 이벤트 운영 서버 B에 송신한다. 이벤트 운영 서버 B는, 이벤트 운영자로부터의 특전 부여가 있다는 취지의 통지를, 송신처의 이벤트 참가자의 휴대단말에 통지한다.
[0107] 이벤트 참가자(수신자)는, 휴대단말에서 전자 메일을 확인하고, 다운로드 URL을 이용하여, 인터넷 등의 공중회선을 통해 이벤트 운영 서버 A에 로그인하여, 다운로드를 요구한다(단계 5). 이벤트 운영 서버 A는, 요구에 따라, 관리 대상 데이터인 특전 데이터의 본체 데이터(31바이트 이후의 데이터)를 다운로드 가능하게 하여, 이벤트 참가자의 휴대단말은 본체 데이터를 다운로드할 수 있다(단계 6).
[0108] 또한, 이벤트 운영 서버 B는, 이벤트 운영자로부터의 특전 부여가 있다는 취지의 통지를, 송신처의 이벤트 참가자의 휴대단말에 통지한다. 이벤트 참가자는, 휴대단말로부터 이벤트 운영 서버 B에 액세스하고, 이벤트 운영 서버 B는, 센터 서버로부터 보내져 온 특전 데이터의 선두 30바이트인 부분 데이터를 포함하는 암호화 키(복원 정보)를, 전용회선을 통해 취득한다(단계 8). 이벤트 참가자의 휴대단말은, 인터넷 등의 공중회선을 통해, 암호화 키를 다운로드할 수 있다(단계 9). 그리고, 이벤트 참가자의 휴대단말에 의해, 암호화 키에 포함되는 부분 데이터와 본체 데이터를 결합함으로써, 특전 데이터가 복원되어, 이벤트 참가자에게 특전 부여가 이루어진다. 이에 의해, 이벤트 운영자로부터 이벤트에 대한 특전 부여가 완료된다.
[0109] 이와 같이, 이벤트 참가자는, 메일 등의 임의의 통지를 받고, 콜로니 서버인 이벤트 운영 서버 B에 로그인을 하여, 특전 데이터의 부분 데이터를 포함하는 암호화 키를 취득함으로써, 부분 데이터가 빠져 있는 특전 데이터를, 완전한 특전 데이터로 복원(복호)하는 것이 가능하다. 이때, 이벤트 운영 서버 B에서는 복원 처리를 하지 않고, 이벤트 참가자의 웹 브라우저상에서 복원 처리의 리퀘스트를 받고, 휴대단말에서 복원 처리를 실행할 수 있다. 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템의 본 스킴에 있어서, 콜로니 서버(이벤트 운영 서버 B) 상에서는, 템포러리로서의 실체는 생성되지 않기 때문에, 부정하게 액세스되는 일은 없다. 또한, 각 서버상에서는 매우 근소한 캐시가 남기 때문에, 거래 공정에 따라 적절한 데이터 말소가 이루어지도록 구성할 수도 있다.
[0110] 도 13에 나타낸 하나의 실시예에서는, 이벤트 참가자에 대한 특전 부여에, 도 10 및 도 11에 나타낸 센터 서버에 접속된 2개의 콜로니 서버를 이용한 관리 대상 데이터의 양도(타(他) 콜로니인 경우) 방법을 응용하고 있지만, 이에 한정되는 것이 아니며, 도 9에 나타낸 센터 서버에 접속된 1개의 콜로니 서버를 이용한 관리 대상 데이터의 양도(자(自) 콜로니인 경우) 방법을 응용해도 된다.
[0111] 또한, 본 발명의 데이터 관리 시스템은, 도 12 및 도 13에 나타낸 실시예에 한정되는 것이 아니며, 음악, 영화, 서적 등의 저작물의 전자 데이터 전송에도 사용할 수 있어, 영화나 음악 전송의 플랫폼으로서 응용할 수 있다.
[0112] 본 발명은, 도 1에 나타낸 하나의 실시형태에 따른 데이터 관리 시스템에 있어서, 상술한 바와 같이, 콜로니 서버(20)와 정보 처리 단말(30) 간의 통신은, 인터넷 등의 개방적인 네트워크가 이용된다. 한편으로, 휴대전화 등의 무선국의 급속한 증가나 무선 통신의 고속화에 수반하여, 주파수의 수요가 증대되고 있어, 휴대전화 등의 통신량은 더욱 증대될 것으로 예상된다. 이 때문에, 전파의 할당이나 주파수의 재편을 행하여, 주파수 부족 상황을 완화하고, 새로운 주파수 수요에 적확하게 대응할 것이 요구되고 있다. 하나의 대응책이 될 수 있는 제5 세대 이동 통신 시스템(5G)은, 초고속, 저지연, 다수 접속 등이 시스템 요건으로 여겨지고 있으며, 그 실현을 향한 연구개발이 세계 각국에서 진행되고 있다. 특히, 종래의 이동 통신 시스템과는 달리, IoT의 기반이 될 것으로 기대되고 있으며, 방대한 수의 단말이 기지국에 접속되는 동시에, 다양한 서비스가 제공될 것으로 전망되고 있다.
[0113] 이러한 상황하에서, 본 발명은, 제5 세대 이동 통신 시스템(5G)에 근거한 통신을 행할 경우에, 휴대전화 등에서의 전파(주파수)의 유효한 이용에 기여할 수 있다. 예컨대, 도 12 및 도 13에 나타낸 실시예와 같이, 본 발명의 데이터 관리 시스템은, 관리 대상 데이터를 부분 데이터와 본체 데이터로 분할하여, 부분 데이터를 암호화한 암호화 키를 센터 서버에서 관리하고, 본체 데이터를 콜로니 서버에서 관리한다. 콜로니 서버와 정보 처리 단말 간의 통신은, 5G를 이용한 인터넷 회선을 통해 행할 수 있는데, 부분 데이터를 포함하는 암호화 키는, 애당초 근소한 사이즈(예컨대, 관리 대상 데이터의 선두 30바이트)이므로, 통신회선을 경색시키는 것이 아니며, 통신회선을 경색시킬 가능성이 있는 큰 사이즈의 본체 데이터는, 전송처의 정보 처리 단말에 대한 송신이 급한 것이 아닌 경우에는, 통신회선이 비어 있을 때, 자동적으로, 콜로니 서버로부터 본체 데이터를 다운로드하도록 해도 된다. 이에 의해, 본 발명은 전파(주파수)의 유효한 이유에 기여할 수 있다.
[0114] 도 14는, 관리 대상 데이터를 암호화 키와 본체 데이터로 분할하는 처리의 흐름을 나타낸 데이터 관리 시스템의 전체적인 플로 차트이다. 기밀 정보, 전자환, 부기 전문, 암호 자산, 가상 통화, 전자 통화, 유가 증권 등의 전자적인 데이터를 취급하는 경우에, 정보 처리 단말(30)은, 해당 전자적인 데이터를 관리 대상 데이터로서 콜로니 서버(20)에 업로드하고(단계 S501), 콜로니 서버(20)에 있어서 관리 대상 데이터의 암호화를 행한다(단계 S502). 예컨대, AES 암호화(AES-256-CBC)를 이용할 수 있다. 또한, 관리 대상 데이터의 암호화에 관해서는, 도 4 및 도 5에 나타낸 바와 같이 압축이나 MIME를 이용한 방법이어도 되며, 기타의 암호화 방법이어도 된다.
[0115] 콜로니 서버(20)는, 암호화한 관리 대상 데이터를, 소정 사이즈의 부분 데이터와, 해당 부분 데이터 이외의 나머지 데이터를 포함하는 본체 데이터로 분리한다(단계 S503). 예컨대, 부분 데이터는 암호화한 관리 대상 데이터의 선두로부터 30바이트까지의 데이터로 하고, 본체 데이터는 31바이트 이후부터 끝까지의 데이터로 할 수 있는데, 이에 한정되는 것은 아니다.
[0116] 센터 서버(10)측에서는, 부분 데이터(예컨대, 선두 30바이트의 데이터)를 저장하기 위한 블록체인의 하나의 블록을 생성하고(단계 S504), 부분 데이터를 포함하는 암호화 키를 생성하고(단계 S505), 생성된 현재의 블록 해시값을 콜로니 서버(20)에 통지한다(단계 S506). 콜로니 서버(20)측에서는, 데이터베이스(해시 정보 기억부(271))에 해시값을 격납한다(단계 S507). 데이터 관리 시스템에서 생성되는 부분 데이터를 포함하는 블록체인 및 본체 데이터의 상세는, 도 15∼도 16에 나타낸다.
[0117] 도 15는, 센터 서버로부터 액세스 가능한 블록체인에 있어서의 하나의 블록과, 콜로니 서버로부터 액세스 가능한 본체 데이터와의 관계를 나타낸다. 또한, 도 16은, 콜로니 서버에 있어서 독립적으로 기억되는 본체 데이터의 개요를 나타낸다. 블록체인(100)의 개요는, 도 6에 나타내었지만, 도 15에서 보다 구체적으로 나타내자면, 센터 서버(10)의 데이터베이스(암호화 키 기억부(173))에 기억되는 블록체인(100) 중 하나의 블록(101A)에는, 예컨대, 적어도 앞(前)의 블록의 해시값(102A)과, 현재의 블록의 해시값(104A)과, 암호화 키(105)를 포함한다. 해시값(102A 및 104A)은, 예컨대 64바이트의 데이터로 할 수 있다. 현재의 블록의 해시값(104A)은, 센터 서버(10)에 의해, 소정의 간격으로 새로운 해시값으로 갱신된다. 암호화 키(105)는, 갱신되는 일 없이 고정된 데이터이다. 암호화 키(105)는, 예컨대, 관리 대상 데이터의 파일명과, 거래 또는 파일 작성 등의 일시(日時)와, 선두로부터 30바이트의 데이터를 포함하고, 이들을 암호화한 데이터이다. 또한, 블록(101A)에는, 블록(101A)을 식별하기 위한 정보로서 4바이트의 파일 ID를 포함시킬 수 있다.
[0118] 도 15 및 도 16을 참조하면, 콜로니 서버(20)의 데이터베이스(본체 데이터 기억부(272))에는, 데이터 블록 그룹(群)(200)이 격납된다. 데이터 블록 그룹(200)에 포함되는 복수의 데이터 블록(201A∼201D)은, 블록체인을 구성하는 것이 아니며 서로 독립적으로 기억된다.
[0119] 1개의 데이터 블록(201A)에는, 예컨대, 적어도 현재의 블록의 해시값(204A)과, 본체 데이터(205A)를 포함한다. 해시값(204A)은, 예컨대 64바이트의 데이터로 할 수 있다. 본체 데이터(205A)는, 예컨대, 관리 대상 데이터의 31바이트 이후의 데이터이며, 필요에 따라, 관리 대상 데이터의 파일명, 이용자의 유저 ID를 적절히 포함시킬 수 있다. 또한, 데이터 블록(201A)에는, 데이터 블록(201A)을 식별하기 위한 정보로서 4바이트의 파일 ID를 포함시킬 수 있다.
[0120] 센터 서버(10)는, 현재의 블록의 해시값(104A)을 소정의 간격으로 갱신하여, 콜로니 서버(20)에 통지한다. 소정의 간격은, 24시간 이하에서 1시간, 2시간, 3시간, 4시간, 5시간, 6시간의 간격으로 해도 되고, 24시간보다 큰 간격으로 해도 된다. 콜로니 서버(20)는, 센터 서버(10)로부터의 통지를 받아, 해시값(104A)과 동일한 값으로, 해시값(204A)을 갱신함으로써, 마치, 블록체인에 있어서 암호화 키(105A)를 포함하는 블록의 해시값(104A)과, 본체 데이터(205A)를 포함하는 해시값(204A)이 링크되어 갱신되고 있는 듯이 동작한다. 이러한 동작을 본 발명에 있어서는, 대사(代射)라고도 표현한다. 즉, 해시값(104A)과 해시값(204A)이, 소정의 간격으로 갱신되는 것을, '링크되면서 대사된다'고도 한다.
[0121] 이와 같이, 본 발명에 따른 데이터 관리 시스템은, 관리 대상 데이터를 부분 데이터와 본체 데이터로 나누어 관리하며, 센터 서버(10)의 관리하에 있는 블록체인(100)에 있어서의 하나의 블록에 암호화 키로서 기억한 부분 데이터에 대응하는 해시값을, 소정의 간격으로 갱신하는 동시에, 콜로니 서버(20)에 있어서의 본체 데이터에 대응하는 해시값을, 부분 데이터에 대응하는 해시값과 동일한 값으로 갱신시킴으로써(즉, 링크되면서 대사되도록 함으로써), 부정 액세스 등에 의해 콜로니 서버(20)로부터 본체 데이터가 유출된 경우라 하더라도, 부정하게 유출된 본체 데이터와 쌍을 이루는 부분 데이터를 포함하는 암호화 키의 해시값은 소정의 간격으로 갱신되기 때문에, 해당 본체 데이터의 해시값에 일치하는 해시값을 포함하는 암호화 키는 존재하지 않게 되어, 부정하게 유출된 본체 데이터를 해석하더라도, 관리 대상 데이터를 복원하기 위해 필요한 암호화 키에 도달하는 것은 곤란해져, 관리 대상 데이터를 복원하는 것은 실질적으로 불가능하도록 할 수가 있다.
[0122] 본 발명의 하나의 실시형태에 따른 데이터 관리 시스템은, 기밀 정보, 전자환, 부기 전문, 암호 자산, 가상 통화, 전자 통화, 유가 증권 등의 전자 데이터를 관리 대상 데이터로 할 수 있으며, 취급하는 전자 데이터의 내용에는 실질적인 제한이 없다. 본 발명에 따른 데이터 관리 시스템에 있어서의 송신측에서는, 송신하는 데이터는 종류 및 사이즈에 가능한 한 제한이 없고, 센터 서버에서 관리하는 데이터는 가능한 한 소용량이며, 또한, 송신하는 데이터는 본체 데이터(일부 결락시킨 데이터)와 부분 데이터(결락 부분)로 분할되어, 각각 다른 네트워크를 이용하여 송수신되며, 인터넷 등의 공중회선을 통해 송수신 중인 데이터는 본체 데이터(부분 데이터를 제외한 관리 대상 데이터)여서, 본체 데이터를 해킹당하더라도, 일부 결락시킨 데이터이기 때문에 실질적인 손해는 없다는 특징을 갖는다. 한편, 본 발명에 따른 데이터 관리 시스템에 있어서의 수신측에서는, 수신하는 부분 데이터를 포함하는 암호화 키는 가능한 한 소용량이며, 수신 예정인 본체 데이터를 사전에 다운로드할 수 있어, 본체 데이터와는 다른 네트워크를 통해 수신한 암호화 키를 이용하여 본체 데이터로부터 관리 대상 데이터를 단말에서 복원할 수 있기 때문에, 송수신 중인 본체 데이터 또는 부분 데이터를 포함하는 암호화 키를, 따로따로 해킹당하더라도 실제적인 손해는 없다는 특징을 갖는다.
[0123] 도 17은, 센터 서버에 있어서 블록체인에 새롭게 암호화 키를 포함하는 블록을 접속하는 처리의 흐름을 나타낸 플로 차트이다. 도 17에 나타낸 플로 차트는, 예컨대, 도 7에 나타낸 바와 같이, 정보 처리 단말(30)로부터 콜로니 서버(20)를 통해 센터 서버(10)에 관리 대상 데이터의 하나인 전자 통화 데이터를 등록할 때의 처리의 흐름에 대응한다.
[0124] 콜로니 서버(20)는, 정보 처리 단말(30) 등으로부터, 관리 대상 데이터의 등록이나 생성 등, 관리 대상 데이터에 대한 액세스가 있으면(단계 S601), 센터 서버(10)에 그 취지를 통지하고(단계 S602), 센터 서버(10)에서는 블록체인(100)의 블록 검증이 행해진다(단계 S602). 센터 서버(10)는, 블록체인(100)에 있어서의 복수의 블록의 각각에 대해 유효한지 무효한지를 나타내는 유효 플래그를 각 블록에 관련지어 기억한다. 블록체인(100)의 현재의 블록(예컨대, 말미의 블록)에 대응하는 유효 플래그를 체크하여(단계 S604), 유효하지 않은 경우(단계 S604의 NO)에는, 에러 메시지 등의 통지 처리를 실행한다(단계 S612).
[0125] 블록체인(100)의 현재의 블록(말미의 블록)에 대응하는 유효 플래그가 유효를 나타내는 경우(예컨대, 단계 S604의 YES)에는, 센터 서버(10)에 있어서, 블록체인(100)에 새롭게 추가하기 위한 블록을 생성한다(단계 S605). 그리고, 센터 서버(10)는, 블록체인(100)에 새롭게 생성한 블록(신(新)블록)을 접속하기 위해, 신블록에 관리 대상 데이터의 부분 데이터(예컨대, 선두로부터 30바이트)를 격납한다(단계 S606). 나아가, 센터 서버(10)는, 지금까지 유효 플래그가 유효했던 블록(구(舊)블록)의 유효 플래그를, 무효를 나타내는 값으로 변경하고(단계 S607), 블록체인(100)에 신블록을 추가한다(단계 S608). 구체적으로는, 블록체인(100)에 있어서, 구블록에 신블록을 접속한다.
[0126] 이후, 센터 서버(10)는, 관리 대상 데이터의 부분 데이터(예컨대, 선두 30바이트의 데이터)의 추가가 완료되었다는 취지와 함께, 신블록의 블록 해시값을, 콜로니 서버(20)에 통지한다(단계 S609). 콜로니 서버(20)에서는, 관리 대상 데이터의 본체 데이터(예컨대, 31바이트 이후의 데이터)에 대응하는 해시값을, 센터 서버(10)로부터 통지된 신블록의 해시값으로 갱신한다(단계 S610). 콜로니 서버(20)는, 센터 서버(10)에 대한 전자 통화의 등록이 성공하였는지의 여부를 체크하여(단계 S610), 성공한 경우(단계 S611의 YES)에는 처리를 종료하고, 실패한 경우(단계 S611의 NO)에는 에러 메시지 등의 통지 처리를 실행한다(단계 S612).
[0127] 도 18은, 센터 서버의 관리하에 있는 블록체인의 구성을 나타낸다. 블록체인(100)에 있어서의 1개의 블록(101A)은, 기본적으로는, 도 17에 나타낸 구성과 마찬가지이며, 직전의 블록의 해시값(102A)과, 현재의 블록의 해시값(104A)과, 암호화 키(105A)를 포함한다. 기타의 블록(101B, 101C)에 관해서도 마찬가지이다. 블록(101A, 101B 및 101C)의 각각에는, 논스(103A, 103B 및 103C)가 포함되어, 예컨대, 프루프 오브 워크(Proof of Work)와 같은 수법에 의해, 다음 블록을 연결하기 위한 해시값의 계산에 이용할 수 있다. 센터 서버(10)가 1대인 경우에는, 블록체인의 검증을 생략할 수 있기 때문에, 논스를 사용할 필요가 없지만, 본 발명의 다른 실시형태로서, 데이터 관리 시스템이 복수의 센터 서버(10)를 구비하여, 블록체인(100)이 복수의 센터 서버(10)의 관리하에 있는 경우에는, 각 센터 서버(10)에 있어서, 블록체인의 검증을 행하여, 새로운 블록을 추가하기 위해, 논스를 사용할 수 있다.
[0128] 블록체인(100)에 있어서, 블록(101A)과 블록(101B)은, 해시값(104A)과 해시값(102B)이 동일한 값인 것에 의해 결합되고, 블록(101B)과 블록(101C)은, 해시값(104B)과 해시값(102C)이 동일한 값인 것에 의해 결합된다.
[0129] 도 19는, 센터 서버의 데이터베이스에 기억되는 각종 정보의 개요를 나타낸다. 센터 서버(10)의 데이터베이스로서, 예컨대, 도 2에 나타낸 바와 같이, 콜로니 정보를 기억하기 위한 콜로니 정보 기억부(171)와, 유저 정보를 기억하기 위한 유저 정보 기억부(172)와, 도 18에 나타낸 바와 같은 블록체인(100)을 기억하기 위한 암호화 키 기억부(173)를 구비한다. 도 19의 (a)에 나타낸 콜로니 정보는, 예컨대, 콜로니 정보 기억부(171)에 기억된다. 콜로니 정보로서는, 예컨대, 센터 서버(10)에 접속되는 하나 이상의 콜로니 서버(20)의 콜로니 서버 ID와, 콜로니 서버(20)에 정보 처리 단말(30)로부터 로그인하는 이용자의 유저 ID와, 콜로니 서버 ID 및 유저 ID가 유효(TRUE)인지, 어느 하나(一方)가 무효(FALSE)인지를 나타내는 유효 플래그를 포함한다. 예컨대, 센터 서버(10)는, 콜로니 정보 기억부(171)에 기억된 콜로니 정보를 참조하여, 유효 플래그에 근거하여 유효한 콜로니 서버 ID 및 유저 ID를 특정할 수 있다.
[0130] 도 19의 (b)에 나타낸 유저 정보는, 예컨대, 유저 정보 기억부(172)에 기억된다. 유저 정보로서는, 예컨대, 본 발명에 따른 데이터 관리 시스템의 이용자의 유저 ID와, 메일 주소와, 유저 ID 및 메일 주소가 유효(TRUE)인지, 어느 하나가 무효(FALSE)인지를 나타내는 유효 플래그를 포함한다. 예컨대, 센터 서버(10)는, 유저 정보 기억부(172)에 기억된 유저 정보를 참조하여, 유효 플래그에 근거하여 유효한 유저 ID 및 메일 주소를 특정할 수 있다. 또한, 본 실시형태에서는, 콜로니 정보 기억부(171)에 기억되는 콜로니 정보 및 유저 정보 기억부(172)에 기억되는 유저 정보는, 암호화 키 기억부(173)에 기억되는 블록체인(100)에 관련되는 데이터와는 독립적으로, 별개의 데이터로서 기억된다.
[0131] 도 20은, 콜로니 서버의 데이터베이스에 기억되는 정보의 개요를 나타낸다. 콜로니 서버(20)의 데이터베이스로서, 예컨대, 도 3에 나타낸 바와 같이, 해시 정보를 기억하기 위한 해시 정보 기억부(271)와, 도 16에 나타낸 바와 같은 본체 데이터의 데이터 블록 그룹(200)을 기억하기 위한 본체 데이터 기억부(272)를 구비한다. 도 20에 나타낸 해시 정보는, 예컨대, 해시 정보 기억부(271)에 기억된다. 해시 정보로서는, 예컨대, 유저 ID와, 본체 데이터를 저장하는 데이터 블록의 블록 해시(예컨대, 64바이트의 데이터)와, 관리 대상 데이터의 거래 일시(연/월/일/시:분:초(YYYY/MM/DD/HH:MM:SS))와, 적어도 블록 해시값이 유효(TRUE)인지, 무효(FALSE)인지를 나타내는 유효 플래그를 포함한다. 예컨대, 콜로니 서버(20)는, 해시 정보 기억부(271)에 기억된 해시 정보를 참조하여, 유효 플래그에 근거하여 유효한 해시값인지의 여부를 판단할 수 있다.
[0132] 센터 서버(10)에는, 블록체인의 부정 조작을 감시하기 위한 감시 봇과, 블록체인을 수복하기 위한 수복 봇을 구비하는 것이 가능하다. '봇'이란, 일정한 태스크(task)나 처리를 자동화하기 위한 어플리케이션이나 프로그램을 말한다. 도 21은, 예시적으로, 복수의 블록(301A∼301D)이 연결된 블록체인(300)에 대한, 감시 봇 및 수복 봇의 처리의 개요를 나타낸다. 즉, 도 21은, 블록체인에 있어서 부정 조작을 검출하였을 때의 각 블록의 동결 및 수복 처리의 개요를 나타낸다. 도 21에 블록체인의 일례로서 나타낸 블록체인(300)은, 도 18에 나타낸 블록체인(100)과 기본적으로는 동일한 구조를 갖는 블록체인이다.
[0133] 감시 봇은, 센터 서버(10)의 관리하에 있는 블록체인(300)을 상시(常時) 감시하는 것이 가능하다. 예컨대, 감시 봇이, 블록체인(300)에 있어서, 블록(301B)에 부정한 조작(부정한 개변(改變) 등)을 발견한 경우에는, 센터 서버(10) 또는 감시 봇은, 예컨대, 블록(301B)에 대응하는 플래그를 무효로 함으로써 블록(301B)을 무효화하는 동시에, 블록(301B) 이후의 블록, 즉, 블록(301B)에 연결된 블록(301C), 블록(301C)에 연결된 블록(301D)도 마찬가지로 무효화한다. 이와 같이 블록을 무효화하는 것을, 여기서는 '블록을 동결한다'고도 말한다.
[0134] 부정 조작이 발견됨에 따라, 부정 조작된 블록 이후의 블록을 동결한 후, 수복 봇에 의해, 블록체인(300)의 수복 처리가 실행된다. 수복 봇은, 센터 서버(10)의 관리하에 있는 블록체인(300)과는 독립적으로 관리된 장부 데이터베이스(도시 생략)를 참조하여, 올바른 거래 기록에 근거하여, 부정 조작된 블록(301B) 이후의 블록을 복원하기 위해, 블록을 수정한다. 예컨대, 은행 등의 금융 기관에 있어서, 센터 서버(10)를 운용하는 경우에는, 센터 서버(10)와는, 완전히 독립된 서버의 장부 데이터베이스에 의해 관리 대상 데이터의 거래 기록이 격납되어 있다. 이 장부 데이터베이스를 참조함으로써, 센터 서버(10)의 관리하에 있는 블록체인(300)을 복원할 수 있다.
[0135] 도 21에 나타낸 수복 처리의 예에서는, 수복 봇에 의해, 장부 데이터베이스를 참조하여 수복된 블록(302B)이 생성되고, 블록(301A)의 해시값을 고쳐쓰기(rewrite)하여, 블록(302B)의 해시값을 블록(301A)의 해시값과 동일하게 함으로써, 블록(301A)에, 블록(302B)을 결합한다. 마찬가지로, 블록(302C)은, 수복 봇에 의해, 장부 데이터베이스를 참조하여 수복된 블록이며, 블록(302C)의 해시값을 블록(302B)의 해시값과 동일하게 함으로써, 블록(302B)에, 블록(302C)을 결합한다. 블록(302D)에 대해서도 마찬가지이다.
[0136] 수정 봇의 수정 중에, 새로운 거래가 있었을 경우, 예컨대, 블록(302B)이 수정된 후에, 새로운 거래가 있으면, 블록(302B)과 블록(302C)의 사이에, 새로운 블록(303A)이 끼어든다. 즉, 블록(302B)이 수정된 후에, 새로운 거래 기록을 격납하는 블록(303A)이 생성되어, 블록(303A)의 해시값을, 수정된 블록(302B)의 해시값과 동일하게 함으로써, 블록(302B)에 블록(303A)이 연결된다. 마찬가지로, 블록(303A)에 블록(302C)이 연결되고, 블록(302C)에 블록(302D)이 연결된다.
[0137] 도 22는, 블록체인을 감시하여 부정 조작을 검출하였을 때의 처리의 흐름을 나타낸 플로 차트이다. 감시 봇은, 예컨대, 센터 서버(10)에 적어도 일시적으로 상주하며, 블록체인(예컨대, 블록체인(100))을 상시 감시하는 처리를 실행한다(단계 S701). 감시에 의해 블록체인에 있어서의 블록에 부정 조작(부정한 개변 등)이 발견되었는지의 여부를 체크하고(단계 S702), 발견되지 않은 경우(단계 S702의 NO)에는, 감시 처리(단계 S701)를 속행한다. 부정 조작이 발견된 경우(단계 S702의 YES)에는, 도 21에 나타낸 바와 같이, 감시 봇 또는 센터 서버(10)가, 부정 조작된 블록을 동결하는 처리를 실행한다(단계 S703). 그리고, 블록체인의 구성을 체크한(단계 S704) 후, 부정 조작된 블록 이후에 연결된 블록도 마찬가지로 동결 처리를 실행한다(단계 S705).
[0138] 블록체인의 부정 조작 블록을 동결한 후, 센터 서버(10)는, 관리자에게 메일을 송신하고(단계 S706), 메일 송신이 성공하였는지의 여부를 체크하여(단계 S707), 실패한 경우(단계 S707의 NO)에는, 메일 송신을 다시 실행한다(단계 S706). 메일 송신이 성공한 경우(단계 S707의 YES)에는, 블록체인 동결의 영향이 미치는 콜로니 서버(20)의 각각의 관리자에게 메일을 송신한다(단계 S708).
[0139] 각 콜로니 서버(20)의 관리자에 대한 메일 송신의 성공 여부를 체크하고(단계 S709), 성공한 경우(단계 S709의 YES)에는, 처리를 종료한다. 메일 송신이 실패한 경우(단계 S709의 NO)에는, 센터 서버(10)의 관리자에게 메일을 송신하여 그 취지를 연락하고(단계 S710), 메일 송신이 실패한 콜로니 서버의 관리자에 대한 메일 송신을 다시 시도한다(단계 S708).
[0140] 도 23은, 블록체인에 있어서의 블록을 동결하는 처리의 흐름을 나타낸 플로 차트이다. 도 22에 나타낸 플로 차트와는 다른 실시형태이다. 이용자가 수동으로 블록체인의 블록에 대응하는 데이터를 취득할 때나, 또는 봇의 대사 처리(갱신된 해시값을 통지하는 처리) 시 등에 있어서, 블록체인의 블록에 대응하는 데이터에 액세스한다(단계 S801). 해당 데이터에 대응하는 저장된 파일의 해시값을 비교하여(단계 S802), 부정 조작이 되어 있지 않은지를 체크한다(단계 S803). 부정 조작이 되어 있지 않은 경우(단계 S803의 YES)에는, 정상적으로 처리를 종료하고, 부정 조작이 되어 있는 경우(단계 S803의 NO)에는, 센터 서버(10)로부터 이용자(및 관리자)의 메일 주소를 취득하여(단계 S804), 이용자 및 콜로니 서버 관리자 앞으로 메일을 송신하고, 메일 송신이 성공하였는지의 여부를 체크한다(단계 S805). 메일 송신이 성공한 경우(단계 S805의 YES)에는, 해당하는 데이터를 동결한다(즉, 그 데이터가 무효임을 나타내기 위해, 그 데이터에 관련된 유효 또는 무효를 나타내는 플래그를 오프한다)(단계 S806). 메일 송신이 실패한 경우(단계 S805의 NO)에는, 다시 메일을 송신하고 메일의 송신 상황을 체크한다(단계 S805).
[0141] 도 24는, 블록체인을 수복하는 처리의 흐름을 나타낸 플로 차트이다. 블록체인의 동결 처리 후에, 센터 서버(10)에 있어서, 콜로니 서버(20)로부터 관리 대상 데이터의 부분 데이터와 함께 새롭게 블록을 추가하라는 지시를 받고(단계 S901), 블록체인의 말미가 동결 상태인지의 여부를 체크한다(단계 S902). 체인의 말미가 동결 상태로 있지 않은 경우(단계 S902의 NO)에는, 단계 S905로 진행한다. 블록체인의 말미가 동결 상태로 있는 경우(단계 S902의 YES)에는, 블록체인을 더듬어가며 동결되어 있지 않은 블록을 찾는다(단계 S903). 동결되어 있지 않은 블록을 발견하면, 동결되어 있지 않은 블록에 새로운 블록을 연결함으로써, 체인을 분기(分岐)시킨다(단계 S904). 그리고, 콜로니 서버(20)로부터 받은 부분 데이터를 포함하는 암호화 키를 생성하고(단계 S905), 암호화 키를 격납하여 블록체인을 생성한다(단계 S906). 마지막으로, 센터 서버(10)는, 도 7에 나타낸 관리 대상 데이터의 등록 처리와 마찬가지로, 콜로니 서버(20)에 생성한 블록의 해시값을 통지한다(단계 S907).
[0142] 본 발명에 따른 데이터 관리 시스템 등은, 인터넷 등의 네트워크를 통해 암호 자산, 가상 통화, 전자 통화, 유가 증권 등의 관리 대상 데이터를, 클라우드를 구성하는 복수의 서버에서 안전하게 저장하여, 이용자가 사용하는 정보 처리 단말로부터의 요구에 따라, 해당 단말로 하여금 관리 대상 데이터를 적절히 취득하도록 하는 전자 상거래 등에 이용 가능하다.
[0143] 10 : 센터 서버
11 : CPU
12 : 메모리
13 : 버스
14 : 입출력 인터페이스
15 : 입력부
16 : 출력부
17 : 기억부
18 : 통신부
20 : 콜로니 서버
20A : 콜로니 서버
20B : 콜로니 서버
21 : CPU
22 : 메모리
23 : 버스
24 : 입출력 인터페이스
25 : 입력부
26 : 출력부
27 : 기억부
28 : 통신부
30 : 정보 처리 단말
30X : 정보 처리 단말
30Y : 정보 처리 단말
100 : 블록체인
101A : 블록
101B : 블록
101C : 블록
102A : 해시값
102B : 해시값
102C : 해시값
103A : 논스
103B : 논스
104A : 해시값
104B : 해시값
105 : 암호화 키
105A : 암호화 키
111 : 부분 데이터 관리부
112 : 해시 통지부
113 : 암호화 키 취득부
171 : 콜로니 정보 기억부
172 : 유저 정보 기억부
173 : 암호화 키 기억부
200 : 데이터 블록 그룹
201A : 데이터 블록
204A : 해시값
205A : 본체 데이터
211 : 분할 송신부
212 : 본체 데이터 관리부
213 : 해시 갱신부
271 : 해시 정보 기억부
272 : 본체 데이터 기억부
300 : 블록체인
N1 : 네트워크
N2 : 네트워크
X : 이용자
Y : 이용자

Claims (22)

  1. 단말과,
    상기 단말과 제1 네트워크를 통해 접속된 콜로니 서버와,
    상기 콜로니 서버와 제2 네트워크를 통해 접속된 센터 서버
    를 적어도 구비하며,
    상기 단말은, 관리 대상 데이터에 관한 요구를 상기 콜로니 서버에 송신하고,
    상기 콜로니 서버는, 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를, 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 분할 송신부와,
    상기 센터 서버로부터 해시값을 받아, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 본체 데이터 관리부와,
    상기 해시값을 갱신하는 해시 갱신부
    를 포함하고,
    상기 센터 서버는, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하고, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 상기 해시값을 기억하는 부분 데이터 관리부와,
    상기 암호화 키와 함께 기억된 상기 해시값을 상기 콜로니 서버에 송신하는 해시 통지부와,
    상기 해시값을 이용하여 상기 암호화 키를 식별하여 취득하는 암호화 키 취득부
    를 포함하고,
    상기 해시 통지부는, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버에 송신하고,
    상기 해시 갱신부는, 상기 새로운 해시값을 받아, 상기 본체 데이터에 관련지어 기억된 상기 해시값을 상기 새로운 해시값으로 갱신하고,
    상기 암호화 키 취득부는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하여 취득하고,
    상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
    상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는,
    데이터 관리 시스템.
  2. 제1항에 있어서,
    상기 부분 데이터 관리부는, 상기 부분 데이터 외에, 상기 관리 대상 데이터의 파일명 및 시간 중 적어도 하나(一方)를 포함시켜, 암호화를 행하고,
    상기 암호화 키는, 상기 부분 데이터 외에, 상기 파일명 및 상기 시간 중 적어도 하나를 포함하는,
    데이터 관리 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 관리 대상 데이터에 관한 요구는, 상기 단말에 있어서 업로드된, 상기 관리 대상에 대응하는 관리 대상 데이터를 포함하는,
    데이터 관리 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 관리 대상 데이터에 관한 요구는, 상기 콜로니 서버에 있어서 상기 관리 대상에 대응하는 관리 대상 데이터를 생성시키는 요구인,
    데이터 관리 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 소정의 사이즈는, 상기 관리 대상 데이터의 선두로부터 30바이트 이하인,
    데이터 관리 시스템.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 소정의 간격은, 24시간 이하의 간격인,
    데이터 관리 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제1 네트워크는 인터넷이며, 상기 제2 네트워크는 클로즈드 네트워크(closed network)인,
    데이터 관리 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 콜로니 서버의 분할 송신부는, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고,
    상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는,
    데이터 관리 시스템.
  9. 단말과,
    상기 단말과 제1 네트워크를 통해 접속된 콜로니 서버와,
    상기 콜로니 서버와 제2 네트워크를 통해 접속된 센터 서버
    를 적어도 구비한 데이터 관리 시스템에 의해 실행되는 데이터 관리 방법으로서,
    상기 단말이 관리 대상 데이터에 관한 요구를 상기 콜로니 서버에 송신하는 단계와,
    상기 콜로니 서버가 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 단계와,
    상기 센터 서버가, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하는 단계와,
    상기 센터 서버가, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 해시값을 기억하는 단계와,
    상기 센터 서버가, 상기 해시값을 상기 콜로니 서버에 송신하는 단계와,
    상기 콜로니 서버가, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 단계
    를 포함하며,
    상기 센터 서버는, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버에 송신하고,
    상기 콜로니 서버는, 상기 본체 데이터에 관련지어 기억된 상기 해시값을, 상기 새로운 해시값으로 갱신하고,
    상기 센터 서버는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하여 취득하고,
    상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
    상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는,
    데이터 관리 방법.
  10. 제9항에 있어서,
    상기 센터 서버는, 상기 암호화 키를 생성하는 단계에 있어서, 상기 부분 데이터 외에, 상기 관리 대상 데이터의 파일명 및 시간 중 적어도 하나를 포함시켜, 암호화를 행하고,
    상기 암호화 키는, 상기 부분 데이터 외에, 상기 파일명 및 상기 시간 중 적어도 하나를 포함하는,
    데이터 관리 방법.
  11. 제9항 또는 제10항에 있어서,
    상기 관리 대상 데이터에 관한 요구는, 상기 단말에 있어서 업로드된, 상기 관리 대상에 대응하는 관리 대상 데이터를 포함하는,
    데이터 관리 방법.
  12. 제9항 또는 제10항에 있어서,
    상기 관리 대상 데이터에 관한 요구는, 상기 콜로니 서버에 있어서 상기 관리 대상에 대응하는 관리 대상 데이터를 생성시키는 요구인,
    데이터 관리 방법.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 소정의 사이즈는, 상기 관리 대상 데이터의 선두로부터 30바이트 이하인,
    데이터 관리 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 있어서,
    상기 소정의 간격은, 24시간 이하의 간격인,
    데이터 관리 방법.
  15. 제9항 내지 제14항 중 어느 한 항에 있어서,
    상기 제1 네트워크는 인터넷이며, 상기 제2 네트워크는 클로즈드 네트워크인,
    데이터 관리 방법.
  16. 제9항 내지 제15항 중 어느 한 항에 있어서,
    상기 콜로니 서버가 상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 상기 센터 서버에 송신하는 단계는,
    상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고,
    상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는,
    데이터 관리 방법.
  17. 콜로니 서버 장치로서,
    단말로부터 관리 대상 데이터에 관한 요구를 받는 수단과,
    상기 관리 대상 데이터에 관한 요구에 따라 취득 또는 생성한 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터와, 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터로 분할하여, 상기 부분 데이터를 센터 서버 장치에 송신하는 분할 송신 수단과,
    상기 센터 서버 장치로부터, 상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 식별하기 위한 해시값을 받아, 상기 본체 데이터에 관련지어 상기 해시값을 기억하는 본체 데이터 관리 수단
    을 포함하며,
    상기 콜로니 서버 장치는, 상기 센터 서버 장치로부터, 상기 본체 데이터에 관련지어 기억된 상기 해시값과는 일치하지 않는 새로운 해시값을, 소정의 간격으로 수신하고,
    상기 콜로니 서버 장치는, 상기 본체 데이터에 관련지어 기억된 상기 해시값을, 상기 소정의 간격으로, 상기 새로운 해시값으로 갱신하고,
    상기 콜로니 서버 장치는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 센터 서버 장치에 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별시키기 위해, 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구를 상기 센터 서버 장치에 송신하고,
    상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
    상기 관리 대상 데이터는, 상기 부분 데이터와 상기 본체 데이터를 결합함으로써 복원되는,
    콜로니 서버 장치.
  18. 제17항에 있어서,
    상기 분할 송신 수단은, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 상기 부분 데이터로 하고,
    상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 상기 본체 데이터로 하도록 분할하는,
    콜로니 서버 장치.
  19. 센터 서버 장치로서,
    콜로니 서버 장치로부터, 관리 대상 데이터의 선두로부터 소정의 사이즈까지의 데이터를 포함하는 부분 데이터를 받는 수단과,
    상기 부분 데이터를 적어도 포함하는 암호화한 데이터인 암호화 키를 생성하고, 상기 암호화 키와 함께 해당 암호화 키를 식별하기 위한 해시값을 기억하는 부분 데이터 관리 수단과,
    상기 암호화 키와 함께 기억된 상기 해시값을 상기 콜로니 서버 장치에 송신하는 해시 통지 수단
    을 포함하며,
    상기 해시 통지 수단은, 상기 암호화 키와 함께 기억된 상기 해시값을, 소정의 간격으로, 상기 해시값과는 일치하지 않는 새로운 해시값으로 갱신하여, 상기 새로운 해시값을 상기 콜로니 서버 장치에 송신하고,
    상기 센터 서버 장치는, 상기 암호화 키와 함께 기억된 상기 해시값이 갱신되었을 경우에는, 상기 콜로니 서버 장치로부터의 상기 새로운 해시값을 포함하는, 관리 대상 데이터에 관한 요구에 따라, 상기 새로운 해시값을 이용하여 상기 암호화 키를 식별하고,
    상기 부분 데이터는, 상기 암호화 키로부터 복원되고,
    상기 관리 대상 데이터는, 상기 부분 데이터와, 상기 관리 대상 데이터의 선두로부터 상기 소정의 사이즈+1 이후의 데이터를 포함하는 본체 데이터를 결합함으로써 복원되는,
    센터 서버 장치.
  20. 제19항에 있어서,
    상기 부분 데이터는, 상기 관리 대상 데이터를 선두로부터 소정의 사이즈까지의 데이터를 대신하여, 상기 관리 대상 데이터의 임의의 일부분으로부터 소정의 사이즈의 데이터를 포함하며,
    상기 본체 데이터는, 상기 소정의 사이즈+1 이후의 데이터를 대신하여, 상기 관리 대상 데이터의 상기 임의의 일부분 이외의 잔여 부분의 데이터를 포함하는,
    센터 서버 장치.
  21. 컴퓨터에 의해 실행됨으로써, 상기 컴퓨터를 제17항 또는 제18항에 기재된 콜로니 서버 장치의 각 수단으로서 기능시키는 프로그램.
  22. 컴퓨터에 의해 실행됨으로써, 상기 컴퓨터를 제19항 또는 제20항에 기재된 센터 서버 장치의 각 수단으로서 기능시키는 프로그램.
KR1020227031166A 2020-02-14 2021-02-10 데이터 관리 시스템 KR20220140778A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2020-022974 2020-02-14
JP2020022974A JP7448191B2 (ja) 2020-02-14 2020-02-14 データ管理システム
PCT/JP2021/004894 WO2021162025A1 (ja) 2020-02-14 2021-02-10 データ管理システム

Publications (1)

Publication Number Publication Date
KR20220140778A true KR20220140778A (ko) 2022-10-18

Family

ID=77292329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031166A KR20220140778A (ko) 2020-02-14 2021-02-10 데이터 관리 시스템

Country Status (9)

Country Link
US (1) US20230052572A1 (ko)
EP (1) EP4106266A4 (ko)
JP (1) JP7448191B2 (ko)
KR (1) KR20220140778A (ko)
CN (1) CN115104284A (ko)
AU (1) AU2021220060A1 (ko)
CA (1) CA3170989A1 (ko)
IL (1) IL295602A (ko)
WO (1) WO2021162025A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106639A (ja) 2017-12-13 2019-06-27 富士通株式会社 電子取引装置、電子取引方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072952A (ja) 2004-09-05 2006-03-16 Yumix:Kk デバイスを用いたネットワークサービスシステム
JP2008020964A (ja) 2006-07-10 2008-01-31 Nec Corp 情報管理システム、情報処理装置、情報管理方法及び制御プログラム
JP2016184917A (ja) 2015-03-25 2016-10-20 徳行 山田 監視システムおよび再生装置
WO2020037654A1 (zh) * 2018-08-24 2020-02-27 区链通网络有限公司 区块链数据保护方法、装置、***及计算机可读存储介质
CN110046156A (zh) * 2018-12-20 2019-07-23 阿里巴巴集团控股有限公司 基于区块链的内容管理***及方法、装置、电子设备
JP6683332B1 (ja) * 2019-08-26 2020-04-15 シスナ株式会社 有価物管理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019106639A (ja) 2017-12-13 2019-06-27 富士通株式会社 電子取引装置、電子取引方法及びプログラム

Also Published As

Publication number Publication date
CA3170989A1 (en) 2021-08-19
IL295602A (en) 2022-10-01
US20230052572A1 (en) 2023-02-16
JP2021129221A (ja) 2021-09-02
CN115104284A (zh) 2022-09-23
AU2021220060A1 (en) 2022-09-29
EP4106266A1 (en) 2022-12-21
WO2021162025A1 (ja) 2021-08-19
EP4106266A4 (en) 2024-03-06
JP7448191B2 (ja) 2024-03-12

Similar Documents

Publication Publication Date Title
Mohsin et al. Blockchain authentication of network applications: Taxonomy, classification, capabilities, open challenges, motivations, recommendations and future directions
US10652018B2 (en) Methods and apparatus for providing attestation of information using a centralized or distributed ledger
JP3222165U (ja) 相互認証構成によるユーザ認証に対する汎用分散型ソリューションを実現するシステム
CN110582793B (zh) 分布式交易共识网络上数字财产交易的匿名性和可追踪性
RU2747947C2 (ru) Системы и способы персональной идентификации и верификации
EP3509006B1 (en) Information sharing system
KR101984254B1 (ko) 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법
EP3701668B1 (en) Methods for recording and sharing a digital identity of a user using distributed ledgers
CN107994991A (zh) 一种数据处理方法、数据处理服务器及存储介质
CN110383757A (zh) 用于安全处理电子身份的***和方法
JP6683332B1 (ja) 有価物管理システム
CN108876593A (zh) 一种在线交易方法和装置
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
WO2019178440A1 (en) System and method for securing private keys behind a biometric authentication gateway
CN108737435A (zh) 一种账户初始化方法和装置
WO2021010030A1 (ja) 有価物管理システム
KR102083757B1 (ko) 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법
CN116305185A (zh) 数据处理方法、***及计算机可读存储介质
JP2020129284A (ja) プログラム、情報処理装置、及び情報処理方法
KR20220140778A (ko) 데이터 관리 시스템
CN114511321A (zh) 基于点对点的数据处理方法、***、计算设备及存储介质
Mahmood et al. A survey on privacy and policy aspects of blockchain technology
US20230267426A1 (en) Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets
JP2022117914A (ja) 情報機器、情報配信システム、情報配信支援プログラム、及び、情報配信方法
CN118118178A (zh) 基于区块链的数字资源处理方法、装置和计算机设备