CN111201753B - 防篡改存储数据的方法、电子数据存储系统和电信系统 - Google Patents

防篡改存储数据的方法、电子数据存储系统和电信系统 Download PDF

Info

Publication number
CN111201753B
CN111201753B CN201880065888.3A CN201880065888A CN111201753B CN 111201753 B CN111201753 B CN 111201753B CN 201880065888 A CN201880065888 A CN 201880065888A CN 111201753 B CN111201753 B CN 111201753B
Authority
CN
China
Prior art keywords
data
block
blocks
stored
check value
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201880065888.3A
Other languages
English (en)
Other versions
CN111201753A (zh
Inventor
I·科马罗夫
M·佩施克
P·贾纳西克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technische Universitaet Berlin
Bundesdruckerei GmbH
Original Assignee
Technische Universitaet Berlin
Bundesdruckerei GmbH
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 Technische Universitaet Berlin, Bundesdruckerei GmbH filed Critical Technische Universitaet Berlin
Publication of CN111201753A publication Critical patent/CN111201753A/zh
Application granted granted Critical
Publication of CN111201753B publication Critical patent/CN111201753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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/602Providing cryptographic facilities or services
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3247Cryptographic 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 involving digital 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本发明涉及一种用于在双向链接的区块链结构(100)中防篡改存储数据(210)的方法。该方法包括:创建用于扩充区块链结构(100)的附加区块Bi(110),其包含作为有用数据(150)的待存储数据(210);创建附加区块Bi(110)与预定数量的在前区块的双向链接(109),其中,该双向链接(109)的创建包括:执行该附加区块(110)至预定数量的在前区块的反向关联和执行预定数量的在前区块至附加区块(110)的正向关联。

Description

防篡改存储数据的方法、电子数据存储系统和电信系统
技术领域
本发明涉及用于存储数据的一种方法和一种电子数据存储系统。本发明尤其涉及用于在双向链接的区块链结构中防篡改存储数据的一种方法和一种电子数据存储系统。
背景技术
改变或甚至有目的地篡改电子存储器中的数字编码数据的可能性是一项技术挑战。
从现有技术中知道了用于保护数据的区块链结构即区块链接结构。这些区块链结构是单向链接的区块链结构。例如采用相应的区块链结构以记录密码货币交易。
在此,区块链结构提供了以区块形式布置的数据组的可扩充名单。各自区块的完整性在现有技术中在采用各自区块的呈哈希值形式的密码校验值的情况下通过单向链接来保护。由于每个区块包含在前区块的密码校验值连同存储于在前区块中的密码校验值,故得到所述区块的链接。在此,每个区块包括基于所有在先区块内容的校验值。因此难以事后篡改这种区块链,因为为此不是只须篡改单独的区块,而是要篡改全部的在后区块,因为每个在后区块的校验值尤其基于要篡改的区块。如果要篡改的区块被实际篡改,则其校验值改变。这种改变后的校验值不再匹配于在后区块的校验值,由此可识别篡改并且在借助校验值检查时引起注意。
但是,已知的区块链结构仅实现单向链接和进而数据保护,因为在链接时总是只考虑在前区块的数据内容。因此,可以依据链接来检查是否已篡改了已公开的区块链结构的在先区块。但无法检查已公开的区块链结构是否完整。尤其是无法检查区块链结构的一部分是否可能已裁减。还无法检查最后区块是否已被篡改。
另外,在区块链结构的检查和保护中采用常见的哈希法。区块链结构的各自区块通过哈希值单向相互关联。为了能检查这种具有单向相互关联区块的区块链结构是否被篡改,人们不仅需要各自区块的全部信息,也需要其各自的哈希值。另外,这种区块链结构的检查需要以相应区块链结构的第一区块开始并以最后区块结束。
发明内容
本发明基于以下任务,即,提供一种改进的用于防篡改存储数据的方法。
本发明所基于的任务分别利用独立权利要求的特征来完成。在从属权利要求中说明本发明的实施方式。
实施方式涉及一种用于在采用双向链接的区块链结构情况下在电子存储器中防篡改存储数据的方法。该区块链结构包含若干区块,每个区块包含有用数据和关联数据,其中,该区块链结构的每个区块的有用数据能依据该区块链结构的、与相应区块双向链接的预定数量的区块的关联数据来验证。
该方法包括:
·提供双向链接的区块链结构,
·提供待存储数据,
·创建用于扩充该区块链结构的附加区块Bi,该附加区块包含作为有用数据的待存储数据,
·创建附加区块Bi与预定数量的在前区块的双向链接,所述在前区块在区块链结构中位于该附加区块之前,
其中,该双向链接的创建包括:执行附加区块至预定数量的在前区块的反向关联和执行预定数量的在前区块至附加区块的正向关联。
该反向关联包含:
o计算待存储数据的校验值,
o从待存储数据的校验值中抽取若干具有校验值片段的第一组,其中,所述第一组的数量对应于所述在前区块的预定数量,
o根据分布图在预定数量的在前区块的其中一个区块的关联数据中分散存储所述第一组中各自一个第一组的校验值片段,其中,该分布图与待存储数据相关。
此外,针对预定数量的在前区块中每个单独区块的正向关联包含:
o计算相应在前区块的有用数据的校验值,
o从相应在前区块的有用数据的校验值中抽取具有校验值片段的第二组,
o根据分布图在附加区块的关联数据中分散存储第二组的校验值片段,其中,该分布图与相应在前区块的有用数据相关。
实施方式可以具有以下优点,即,它们允许提供一种双向链接的区块链,其区块借助与区块相关的双向链接函数相互链接。链接此时允许区块链结构被双向检查是否真实或被篡改。在此,该区块链结构不是只能在一个方向上被检查,而是可在两个方向上被检查。
“区块链结构”是指形成区块链的数据结构。“区块链”是指有序排列的数据结构,其包括若干相互链接的数据块。尤其是,区块链是指如下数据库,其完整性即防随后篡改的安全性通过在各自在后数据组中存储在先数据组的校验值比如哈希值来保护。校验值在此对应配属于在先数据组的内容且明确表征该内容。如果在先数据组的内容被改变,则它不再满足检查特征,由此察知所述改变。在已知区块链结构的情况下,比如区块链的每个区块通过哈希值被明确识别并关联到区块链中的包含其哈希值的在前区块。
关于区块链的例子,参见https://en.wikipedia.org/wiki/Block_chain_ (database)。区块链概念例如在2008年由笔者中本聪撰写的白皮书中加以描述。在此实施例中,区块链的每个区块在其标题中包含全部在前区块标题的哈希。因此,区块的顺序被明确固定,因此出现一种链结构。通过如此实现的各自区块相互链接而做到了:在未同样改变所有在后区块的情况下无法随后改动在前区块。
例如可以如此提高区块链结构的安全性,即,其被公布或者说公众可获得,因此允许将区块链结构的现有副本与同一区块链结构的其它公布的或可获得的副本相比较。
数据用校验值是对应配属于相应数据的值,其如此明确表征该数据,即,数据完整性可以依据校验值被检查。例如根据相应数据获得校验值。呈校验和形式的校验值例如提供如下值,该值已根据作为初始数据的相应数据算出且被配置用于识别数据中的至少一个误码。根据校验和用计算规则的复杂性,可以识别或也纠正超过一个的错误。已知的校验值或校验和例如可以基于数据值加和、横额计算、奇偶校验位计算、数据权重平均值的计算或者更复杂的计算方法,比如像循环冗余检查或使用哈希函数。
校验值包括例如一串字符。它能以数字形式作为位串被示出。校验值片段是校验值串列的子串。这种子串包含一个或多个位。一组校验值片段是校验值串列的一组子串。在此,该子串可以分别包含同样数量的位或至少有时包含不同数量的位。例如,第一组校验值片段包含一串校验值的每个第n位、比如每个第2位、第3位或第4位,以该串的第一位开始;而第二组至第(n-1)组的校验值片段包含该串校验值的每个第n位比如每个第2位、第3位或第4位,以该串的第二、第三…第(n-1)位开始。
“将一组校验值片段分散存储在区块的关联数据中”表示根据分布图如下存储,即,各自校验值片段没有直接前后相继。因此,为了能识别在区块关联数据中的校验值片段而需要知道相应的分布图。
“将若干组校验值片段分散存储至区块链结构的若干区块”表示在若干区块的不同区块的关联数据中存储各自组。各自组又能分别分散存储在相应区块的关联数据中。
有用数据表示要防篡改存储在区块链结构的区块中的数据。有用数据包括例如语音数据、文字数据、符号数据、图形数据和/或声音数据、另外,有用数据也可以包含关于区块的或存储在区块中的其它数据的附加信息即元数据。例如附加信息包含对处理存储在区块中的其它数据的说明(比如数据格式或字符编码)和/或用于表征存储在区块中的其它数据的说明(比如作者、许可证等)。尤其是,有用数据例如可以包含相应区块的和/或其中所存储数据的一个或多个识别符、相应区块的和/或其中所存储数据的创建日期、对区块的和/或其中所存储数据的所有权人的说明、区块的和/或其中所存储数据的所有权人的公用密码密钥。
关联数据是如下数据,其允许验证有用数据的完整性。例如关联数据包含一个或多个与待验证有用数据相关的校验值和/或校验值片段。通过在区块链结构的、不同于以关联数据验证其有用数据的区块的另一区块中存储关联数据,实现在两个区块之间的链接、确切说单边链接。依据关联数据,可以在采用存储有该关联数据的区块情况下来验证在对其产生关联数据的另一区块内的有用数据的完整性。有用数据的篡改可以依据关联数据被识别。
反向关联表示与在区块链结构顺序中在前区块的单向链接,即与区块有用数据相关的校验值和/或校验值片段被存储在在前区块的关联数据中。正向关联表示与在区块链结构顺序中在后区块的单向链接,即与区块有用数据相关的校验值和/或校验值片段被存储在在后区块的关联数据中。通过在两个区块之间的呈单向链接形式的反向关联和正向关联的组合,其中,两个区块中的第一区块即在后区块通过反向关联密码连结至两个区块中的第二区块即在前区块并且第二区块通过正向关联密码连结至第一区块,最终在区块链结构的两个区块之间出现双向关联。
通过相互存储关联数据,即第一区块的第一有用数据的第一关联数据被存储在该区块链结构的第二区块中,而第二区块的第二有用数据的第二关联数据被存储在区块链结构的第一区块中,可以实现双向链接。因此,可以根据第一区块和存储于其中的第二关联数据来验证第二区块的第二有用数据,并且反向地可以根据第二区块和存储于其中的第一关联数据来验证第一区块的第一有用数据。为此,可以相比于已知的单向链接结构提高该区块链结构的安全性,因为区块通过关联数据相互密码保护。
通过校验值片段在区块链结构的区块的关联数据中的分散存储,可以提高密码连结的安全性。根据实施方式,必须知道校验值片段在关联数据中的分布图以便能识别关联数据片段,它们是针对区块链结构的某个区块的有用数据的校验值的校验值片段。这例如使篡改变得困难,因为若不知道分布图则不清楚该关联数据的哪个片段属于区块链结构的哪个区块的有用数据。
通过根据反向关联将关联数据分散存储在区块链结构的若干区块内,可以进一步提高安全性,因为在此情况下,有用数据的篡改需要附加篡改包含关联数据的若干区块。另外相反地,如果若干区块的有用数据的关联数据根据正向关联被存储在一区块中,而该区块的关联数据被存储在所述若干区块内,则在区块链结构的一区块和若干其它区块之间实现若干双向关联。
根据实施方式,为了验证区块链结构的区块的有用数据,计算所属的关联数据并且将其与分散存储在区块链结构中以便密码保护的关联数据相比较。根据实施方式,为了使有用数据验证成功,所计算的关联数据必须与分散存储的关联数据完全一致。根据替代实施方式,所计算的关联数据没有完全与分散存储的关联数据一致。例如当一致性程度达到预定的阈值时,所述验证已经成功。因此,并非以100%的概率表明相应有用数据是完整的,而是以不到100%的足够高的概率、例如75%、80%、85%、90%、95%、97%、98%或99%。为了让检查有用数据完整性的使用者或计算机系统将有用数据视为完整的而必须获得的一致性程度例如可以由所述使用者或计算机系统选择。尤其是,这种足够高的一致性程度可以针对区块链结构的不同区块的若干有用数据被分别单独选择。根据实施方式,一致性程度的选择例如与应用相关,即与有用数据的用途以及数据的正确性或完整性对相应应用的重要性相关。
如果关联数据被分散存储至区块链结构的若干区块,则可以根据足以使验证成功的一致性程度来仅考虑足以用于比较的、由若干区块中一子组所提供的部分关联数据。要获得的一致性程度越高,根据实施例被考虑用于比较以便能获得相应一致性程度的子组区块数量必然越高。
实施方式可以具有以下优点,当区块链结构的较少区块被考虑用于比较时,比较所需的计算成本以及为此所需的时间较少。因此,所述方法可以提供以下可能,即,不太紧要的有用数据或被考虑用于不太重要的应用的有用数据可被更快速检查。尽管如此,还总是可以实现用以100%证明被检有用数据的完整性的完整检查。
根据实施方式,为了分散存储关联数据而分别需要应在其中存储关联数据或其一部分的区块的所有权人的许可。所述许可例如能以用各自所有权人的私人密码密钥加密相应关联数据的形式进行。根据实施方式,该区块链结构包括预定数量的区块,其所有权人是一个或多个值得信赖的主管机关或信托服务供应商。所述区块例如如此被例如均匀地或不均匀地分散至所述区块链结构,即,在统计学上看,为了验证区块链结构的每个区块和/或预定最少量的区块,分别需要值得信赖的所有权人的至少一个这种区块的关联数据。例如使有用数据验证成功的最低一致性程度被预先限定,其如此匹配于值得信赖的所有权人的区块的分布,即,为了验证成功而考虑至少一个用值得信赖的所有权人的私人密钥加密的关联数据串以用于比较。为此必须例如用值得信赖的所有权人的对应于私人密钥的公用密码密钥来解密相应的关联数据串。例如每隔一个、每隔两个、每隔三个或每隔四个的区块被分配给值得信赖的所有权人。这可以附加提升方法安全性。
最后,关联数据的分散存储也可以依据在区块链结构的其有用数据应被密码保护的区块与应存储有关联数据以实现密码保护的区块之间的距离、即设于其间的区块的数量来进行。例如存储在区块内的关联数据份额与事先限定的距离成反比,即换言之,距离越大,存储在相应区块中的关联数据的份额越少。
根据实施方式,区块链结构的每个区块分别与区块链结构的若干在前区块和/或在后区块双向链接,其中,两个相互双向链接的区块分别包含关联数据,它们与两个相互双向链接的区块的各自另一区块的有用数据相关。
实施方式可以具有以下优点,通过与若干区块双向链接,可以提高安全性。在此情况下,若要成功篡改区块链结构的一区块的有用数据,必须还篡改若干其它区块的关联数据。
根据实施方式,该方法还在创建双向链接之前包括:
·将待存储数据分为若干数据组,
·对于每个数据组计算校验值,
·将数据组的校验值作为关联数据存储在附加区块Bi中,
其中,校验值片段在关联数据中的存储分别包括:至少部分覆写现有关联数据的片段。
实施方式可以具有以下优点,即,校验值被存储在如下区块的关联数据中,在该区块中也存储有对此算出校验值的待存储数据。就是说,因此不仅允许通过存储在区块链结构的其它区块的关联数据中的校验值或校验值片段来检查存储在区块中的数据的完整性。还可以考虑将具有待检查数据的区块本身的关联数据用于其完整性检查。这可以只依据具有待检查有用数据的区块来实现初步完整性检查。另外,可以通过区块链结构的与待检查区块双向链接的其它区块进行检查。由此还提高所存储有用数据的防篡改数据安全性。
根据实施方式,待存储数据的所述划分包括:将要存储在区块链结构的附加区块Bi中的数据Di分为等长的b个数据组,并且对于每个数据组计算作为校验值的哈希值Hx
其中,表示在将字符串s分为r个等长数据片段时的字符串s的第l个数据片段,/>表示第l个数据片段的哈希值。
实施方式可以具有以下优点,即,它们提供一种高效的用于计算待存储有用数据的校验值的方法。
根据实施方式,该数据组的校验值的存储还包括:
·对于数据组的待存储校验值创建纠错代码,
·作为关联数据在附加区块Bi中存储纠错代码。
纠错代码表示位结构例如位串,其由数据(如呈校验值形式的关联数据)的编码得出,并且提供允许识别和消除编码数据的错误的信息。
为了创建纠错代码而采用一种纠错方法。纠错方法是这样的方法,其用于识别并纠正数据存储时的错误。为了做到这一点,创建相应数据(如呈校验值形式的关联数据)的纠错代码,其包含比如呈纠错位形式的附加冗余,其可被用来确定并纠正相应数据(如呈校验值形式的关联数据)的错误。纠错位或奇偶校验位是如下的位,其是作为原本的数据(如关联数据)的一个或多个位的补充所产生的,并且用于检查这些数据的所述一个或多个位的完整性。
示例性纠错方法或由此得到的纠错代码例如可以包含一个或多个以下方法或代码:BCH(Bose-Ray-Chaudhuri)码、卷积码、喷泉码、戈莱码、汉明码、低密奇偶校验码(LDPC)、MDS码、诺斯姆-罗宾逊码(普雷帕拉塔码)、多维奇偶校验、秩码、里德-穆勒码、里德-所罗门码(RS)、重复累加码(RA)、单纯形码、八切分(SB8)、Trellis编码调制(TCM)、Turbo码(TCC、TPC等)、重复码、编织码、循环冗余检查。
实施方式可以具有以下优点,即,纠错代码的使用允许在正向关联或反向关联过程中利用通过正向关联或反向关联与相应区块双向链接的区块的校验值或校验值片段来部分覆写区块链结构的区块的关联数据。部分覆写将错误引入现有的关联数据、例如相应区块的有用数据的校验值或者事先创建的双向链接的校验值或校验值片段。纠错代码的使用允许不仅纠正、即重建部分覆写数据。为此,不仅可以利用部分覆写数据、也可以利用在覆写过程中新添加的数据即校验值或校验值片段来例如检查对此计算所述新添加数据的有用数据的数据完整性。
通过使用纠错代码,一方面可以减少要存储在关联数据中的数据量,另一方面纠错代码的部分覆写和添加使得难以识别出哪些关联数据属于哪个校验值或校验值片段或纠错代码。如果不知道这些,则由关联数据提供的校验值或校验值片段在数据篡改过程中无法被如此共同篡改,即,其事后将不会被注意到。
根据实施方式,待存储的校验值按照关联数据的两个串V1和V2布置,并且纠错代码作为关联数据的第三串V3以所述前两个串的按位XOR关联来创建:
V3[x]=XOR(V1[x],V2[x]),
其中,x表示各自串中的第x位。
实施方式可以具有以下优点,即,提供一种高效的用于创建纠错代码的方法。也被称为异或运算的XOR关联在两个要相互关联的位不同时结果为1,在两个要相互关联的位相同时结果为0。
根据实施方式,分别给区块链结构的每个区块分配所有权人,在这里,每个所有权人分别被分配有非对称的密码密钥对,该密码密钥对包括私人密码密钥和公用密码密钥。具有校验值片段的第一和第二组分别用配属于区块链结构中如下区块的所有权人的私人密码密钥被加密,在该区块的关联数据中存储有相应组的校验值片段。
实施方式可以具有以下优点,即,校验值片段通过加密被防篡改保护。为了产生篡改的校验值片段,篡改者必须持有相应所有权人的私人密钥。如果成组的校验片段被分散存储至区块链结构的分别具有不同所有权人的若干区块,则不是仅需要拥有一个私人密钥,而是需要若干私人密钥。另外,实施方式可以具有以下优点,即,所述校验值片段只能在相应所有权人许可情况下被存储在区块或者其关联数据中,因为仅相应的所有权人拥有所需的私人密钥。最后,加密可以具有其它优点,即,分散存储的校验片段的重建变得更困难,进而防篡改安全性被进一步提高。虽然加密可以用相应的非对称密码密钥对的公用密钥来解密,但为了解密必须首先识别出配套的待解密数据、即校验值片段,这在加密数据情况下比在未加密数据情况下更困难。
根据实施方式,具有校验值片段的第一和第二组分别按位分散地被存储在区块链结构的对应区块的关联数据中。
实施方式可以具有以下优点,即,可以通过按位分散来实现所存储校验值片段的最大程度的微粒分布和进而有效混合。这可以提供高度的防篡改安全性。另外,按位纠错方法可被用于保护校验值片段。
根据实施方式,第一组中的校验值片段数量分别根据区块链结构的、其关联数据中存储有相应组的校验值片段的区块距附加区块Bi的距离而变化。根据实施方式,第二组中的校验值片段数量分别根据区块链结构的、根据其有用数据计算并抽取相应组的校验值片段的区块距附加区块Bi的距离而变化。
实施方式可以具有以下优点,即,这些区块对某个区块的有用数据防篡改的贡献可随着其与相应区块的距离、即区块链结构中设于其间的其它区块的数量而变化。例如所述贡献可以随着距离而减小。如果要仅按照一定程度确认待检有用数据的完整性,则仅选择具有相关校验值片段的区块可能就足以用于所述检查。
根据实施方式,附加区块Bi的双向链接的创建包括:与区块链结构的紧接在附加区块Bi之前的k个区块Bv双向链接,其中,v=i-x且x=1,…,k,
其中,为了针对k个区块Bv中每一个区块的反向关联,根据待存储数据Di按照下式分别计算反向关联数据Verw
其中,H(Bi.Di)表示区块Bi的数据Di的哈希值,表示从偏移值g开始从字符串s中选择并接连排列每个第x字符,O(Bv).KPr表示区块Bv的所有权人O(Bv)的私人密码密钥KPr,E(m,K)表示用密码密钥K加密的字符串m,
对于反向关联数据Verw按照下式计算用于反向关联的定位子Porw
串s1和s2的接连排列,
其中,k个区块Bv的关联数据分别被分为个片段,并且针对k个区块Bv中每个区块的反向关联包括以下方法步骤,以p=0、q=1开始:
1)q=(((q+Porw[p]+1)%w)+1),
2)Bv.Vq[o+p]=Verw[p],在此
3)p=p+1,如果p≤|Verw|,其中,|Verw|表示反向关联数据Verw的长度,则反向关联以步骤1)继续,否则结束执行针对相应区块Bv的反向关联,
其中,为了针对k个区块Bv中每个区块的正向关联,根据相应区块Bv的数据Dv按照下式计算正向关联数据Vevw
对于正向关联数据Vevw按照下式计算用于反向关联的定位子Povw
块Bv中每个区块的正向关联包含以下方法步骤,以p=0、q=1开始:
1)q=(((q+Povw[p]+1)%w)+1),
2)Bi.Vq[o+p]=Vevw[p],在此,假设x≥2,否则o=1,
3)p=p+1,如果p≤|Vevw|,其中,|Vevw|表示正向关联数据Vevw的长度,则该方法以步骤1)继续,否则结束执行针对相应区块Bv的正向关联。
实施方式可以具有以下优点,即,提供一种高效的用于双向链接附加区块的方法。
双向链接例如以区块链结构的2、3、4、5、7或8个区块进行。
为了反向关联,根据附加区块Bi的有用数据Di针对应与其建立双向链接的每个区块计算反向关联数据Verw。为此,根据有用数据首先计算作为校验值的哈希值。从该哈希值中选择校验值片段或字符即位。如此出现的校验值片段组或位组用区块链结构的、在其关联数据中应存储有所述校验值片段组或位组的区块的所有权人的私人密钥来加密。通过计算反向关联数据Verw,有用数据的校验值的各自片段或位被分为若干组,并且应分别配属于其中一个应与其建立双向链接的区块。因此针对k个区块得到反向关联数据Verw的k个数据组,其中,每个具有反向关联数据Verw的数据组包含由有用数据的校验值分解而成的k组校验值片段中的一组。反向关联数据Verw的计算因此用于将校验值片段分散至k个区块。
另外,针对具有反向关联数据Verw的每个数据组计算用于反向关联的定位子Porw。为此,混入附加区块Bi的有用数据Di。根据混入的有用数据首先计算哈希值。从该哈希值中选择哈希值片段或位。如此形成的哈希值片段组或位组用区块链结构的如下区块的所有权人的私人密钥来加密,在该区块的关联数据中应存储有对此计算定位子Porw的反向关联数据Verw。定位子Porw的计算此时在此例子中仅因附加区块Bi的有用数据Di的附加混合而不同于反向关联数据Verw的计算。因此出现两组位或两串位,其具有一样的长度,但在位串的各自位置上具有不同的位值。在此情况下,定位子Porw用于确定反向关联数据Verw的位在该区块链结构的对此已计算反向关联数据Verw的k个区块的所属区块中的分布。
对于k个区块中的每一个区块执行例如以下算法:
关联数据例如分别被分为w=3个片段。参数p表示在位串Verw中的位,即Verw[p],其在采用位串Porw中的所属位即Porw[p]的情况下应该被存储在所属区块的关联数据中。参数q表示所属区块的关联数据的片段,在该区块中应该存储所述位。以p=0、q=1开始地,首先计算q:q=(((q+Porw[p]+1)%3)+1)。在此情况下,在这里得出q的值为1、2或3,一般适用q∈{1,2,…,w}。参数q也可以用其它任何整数值来开始。参数q确定应该在Bv的关联数据的w个片段Vq的哪个片段中存储反向关联数据的相应位Verw[p]:Bv.Vq[o+p]=Verw[p]。在此情况下,表示偏移,其与区块Bv的关联数据的第一片段V1的长度和区块Bv距附加区块Bi的距离x相关。接着,参数p被增值,即p=p+1。该循环持续迭代,直到反向关联数据Verw的所有位被分散开。
类似地,对于k个区块BV中的每个区块计算相应区块的有用数据的校验值,选择呈正向关联数据Vevw形式的一组校验值片段或位,并且在采用用于反向关联的定位子Povw情况下将其存储在附加区块Bi的关联数据的w个片段中。
根据实施方式,该方法还包括验证区块链结构的区块,其中,该验证包括:
·将待验证区块的有用数据分为若干数据组,
·对于每个数据组计算校验值,
·将计算的校验值与待验证区块的有用数据的由待验证区块关联数据所含的校验值相比较。
根据实施方式,所述验证还包括:在采用纠错代码情况下重建待验证区块的有用数据的由关联数据包含的校验值。
实施方式可以具有以下优点,即,它们提供一种高效的用于验证区块链结构的区块或由相应区块所包含的有用数据的方法。如果针对有用数据计算的校验值与作为用于待检查区块的关联数据所存储的校验值一致或者以足够高的程度一致,则可以由此推断出被检有用数据的完整性。
根据实施方式,验证还包括:
·计算在采用待验证区块的有用数据情况下创建的、且分散存储在区块链结构的与待验证区块双向链接的其它区块的关联数据中的校验值片段的至少一部分,
·将计算的校验值片段与存储的校验值片段相比较,其中,待验证的区块在相互比较的校验值片段一致的情况下被验证成功。
实施方式可以具有以下优点,即,它们提供一种高效的用于在采用双向链接的区块情况下验证区块链结构的区块或由相应区块所包含的有用数据的方法。
根据实施方式,在验证过程中,校验值和/或校验值片段的计算采用哈希函数来进行。实施方式可以具有以下优点,即,提供一种高效安全的用于计算校验值或校验值片段的方法。哈希函数将任意长度的位串映射至具有固定长度的位串。为了计算哈希值,可以采用例如SHA算法(安全哈希算法)。
根据实施方式,在验证过程中校验值片段的计算包括:分别用所有权人的私人密码密钥将校验值片段加密,该所有权人对应于区块链结构的在其关联数据中存储有相应校验值片段的区块。
实施方式可以具有以下优点,即,加密校验值片段在各自区块的关联数据中的分布与加密结果相关。即,为了能够识别出相应关联数据所含的位中的哪一位属于与检查相关的校验值片段,需要相应的分布图。但该分布图与加密结果相关。因此,所计算的校验值片段必须只在其能利用所存储的校验值片段被检查是否一致之前才被加密。但所述加密依据存储有将被考虑用于检查的校验值片段的相应区块的各自所有权人的私人密钥。因此,检查只能借助各自所有权人实现,只有所有权人具备所需的私人密钥。因此,检查只能在得到相应所有权人许可情况下进行。
根据实施方式,给相应的所有权人发送包含待加密校验值片段的加密请求。所有权人检查该请求并用其私人密钥将所述校验值片段加密。加密校验值片段由所有权人回发给加密请求的发信人。加密请求的发信人可以在采用所有权人的公用密钥情况下检查收到的加密校验值片段。当用公共密钥解密时,在加密无误情况下作为结果必然得到在该请求中发送的未被加密的校验值片段。
根据实施方式,待存储数据包含表征数字编码文件内容的数据,其中,待存储数据的提供包括:借助通信接口经由网络从创建数字编码文件的计算机系统接收数据,其中,该方法还包括:
·自请求的计算机系统借助通信接口经由网络接收对区块链结构的当前版本的请求,
·响应于收到的请求,借助通信接口经由网络发送扩充的区块链结构至请求的计算机系统。
实施方式可具有以下优点,即,可依据存储在区块链结构中的数据检查数字编码文件的完整性。对于现存的数字编码文件,表征该文件内容的数据可被计算。例如可计算数字编码文件内容的哈希值。所述数据可与区块链结构相比较:如果区块链结构包含相应数据,则数字编码文件的完整性被确认并且其被识别为真实可靠。如果区块链结构不包含相应数据,则数字编码文件的完整性被否定。区块链结构在此情况下可以提供以下优点,即,其尺寸在其仅包含数字编码文件的哈希值时可保持紧凑。另外,无法依据数字编码文件的哈希值推导出相应文件的内容,由此提高安全性。最后,区块链结构的当前版本例如可以通过网络被下载至便携式移动电信设备,并且甚至可在无网络链接可供使用(即便携式移动电信设备处于离线模式)时被用于检查数字编码文件。
“文件”尤其是指讯息报道、文字、证件、证书或证明文件、有价文件或安全文件,尤其是主权文件尤其是纸质和/或塑料质文件例如像电子证明文件且尤其是护照、身份证、签证、驾照、行车证、车辆出厂证、健康证或公司证明、或其它的身份文件、芯片卡、支付手段尤其是钞票、银行卡或信用卡、托运单或其它的权利证明。该文件尤其可以是例如国际航空局(ICAO)和/或BSI标准化的机读旅行证件。证件是呈文本形式或书面形式的说明,其将某种事实情况或事实固定下来。此外,证件可以证明证件出具者的身份。
数字编码文件是指用于电子数据处理的数据结构,其包含数字编码数据。在此情况下,它尤其可以是任何文件格式的电子文件,比如像文本文件、表格文件、声音文件、图像文件和/或视频文件。根据实施方式,电子文件是可执行的或不可执行的。数字编码文件可以是例如如下文件,其通过具有文件实体的文件的数字化、即通过将实体文件所包含的数据转化为二进制码而以文件格式编制或转为文件格式。尤其是,这种文件的有效性与固定配属的文件体的存在无关。
根据实施方式,例如可以如此创建数字编码文件,即,在计算机上生成具有相应文件数据的文件。另外,虚拟文件例如也可以通过扫描录入或影印文件实体比如纸质文件来创建。
根据实施方式,待存储数据包含交易数据,在这里,待存储数据的提供包括:通过通信接口经由网络从参与交易执行的计算机系统接收数据,其中,该方法还包括:
·自请求的计算机系统借助通信接口经由网络接收对区块链结构的当前版本的请求,
·响应于收到的请求,借助通信接口经由网络发送扩充的区块链结构至请求的计算机系统。
实施方式可以具有以下优点,即,依据录入在区块链结构中的数据可以记录交易。交易例如可以是密码货币/传统货币的交易、销售、寄送、所有权转移或物体和/或数字编码文件的转交。
根据实施方式,待存储数据包含装置的状态数据,其中,待存储数据的提供包括:借助通信接口经由网络从用传感器测量状态数据的计算机系统接收数据,其中,该方法还包括:
·自请求的计算机系统借助通信接口经由网络接收对区块链结构的当前版本的请求,
·响应于收到的请求,借助通信接口经由网络发送扩充的区块链结构至请求的计算机系统。
实施方式可具有以下优点,即,依据录入在区块链结构中的状态数据可记录装置的状态和/或状态历史。这种装置例如可以是生产装置、计算机系统的组成部件、锁闭设备、门禁装置或交通工具。“交通工具”在此是指移动交通工具。这种交通工具可例如用于运输货物(物流)、工具(机器或辅助装置)或人员(客运)。交通工具尤其也包括机动化交通工具。交通工具例如可以是陆上交通工具、水面交通工具和/或空中交通工具。陆地交通工具例如可以是汽车比如轿车、公交车或载货汽车、机动两轮车如摩托车、小型摩托车、微型机动车或机动自行车、农用拖拉机、叉车、高尔夫移动小车、吊车。此外,陆上交通工具也可以是有轨车辆。水上交通工具例如可以是船或艇。另外,空中交通工具例如可以是飞机或直升机。交通工具尤其也是指机动车。
“传感器”在此是指用于采集测量数据的元件。测量数据是如下数据,其定性或定量重现被测物的物理性能或化学性能(例如热量、温度、湿度、压力、声场大小、电磁场强、亮度、加速度、位置变化、pH值、离子强度、电化学势)和/或其物质特性。测量数据借助物理作用或化学作用来测知并被转变为可继续电子处理的电信号。另外,测量数据可以重现电子设备的比如因使用者使用而造成的状态和/或状态变化。
根据实施方式,状态数据也可以包含关于由该装置执行的功能的数据。例如因此可以记录下由生产装置执行的制造过程和/或加工过程。另外,例如可以记录下门禁装置的行为,其中,所记录的数据可以包含关于谁何时通过门禁装置进入受保护区域的信息。
实施方式涉及一种用于在双向链接的区块链结构中防篡改存储数据的电子数据存储系统,其中,该区块链结构包含若干区块,每个区块包含有用数据和关联数据,其中,区块链结构的每个区块的有用数据依据区块链结构的与相应区块双向链接的预定数量的区块的关联数据可被验证,其中,该数据存储系统包括处理器和带有机读指令的电子存储器,其中,由处理器执行机读指令促使该数据存储系统执行如下方法,该方法包括:
·提供双向链接的区块链结构,
·提供待存储数据,
·创建用于扩充区块链结构的附加区块Bi,其包含作为有用数据的待存储数据,
·创建附加区块Bi与在区块链结构中位于附加区块之前的预定数量的在前区块的双向链接,
其中,双向链接的创建包括:执行附加区块至预定数量的在前区块的反向关联和执行预定数量的在前区块至附加区块的正向关联,
其中,该反向关联包括:
o计算待存储数据的校验值,
o从待存储数据的校验值中抽取若干具有校验值片段的第一组,其中,所述第一组的数量对应于在前区块的预定数量,
o根据分布图在预定数量的在前区块的其中一个区块的关联数据中分散存储所述第一组中各自一个第一组的校验值片段,其中,该分布图与待存储数据相关,
其中,针对预定数量的在前区块中每个单独区块的正向关联包括:
o计算相应在前区块的有用数据的校验值,
o从相应在前区块的有用数据的校验值中抽取具有校验值片段的第二组,
o根据分布图在附加区块的关联数据中分散存储第二组的校验值片段,其中,该分布图与相应在前区块的有用数据相关。
根据实施方式,电子数据存储系统配置用于执行用于防篡改存储数据的方法的前述实施方式中的一个或多个。
根据实施方式,该电子数据存储系统包括文件系统。文件系统提供在数据存储器上的存档管理。数据比如数字编码文件可以作为文件被存储在数据存储器上。另外可以读取、改变或删除该文件。
根据实施方式,该电子数据存储系统包含数据库。数据库或数据库系统是指电子数据管理系统。数据库系统容许高效、无矛盾且长期地存储大量数据,所需部分以按照要求的不同显示形式提供给使用者和应用程序。数据库系统例如包括数据库管理系统和狭义上的数据库或数据池。数据库管理系统提供用于管理数据池的数据的管理软件。管理软件在内部管理结构化数据存储并控制全部的数据库读写访问。数据池包括大量待管理数据。数据比如数字编码文件在此情况下例如作为数据池的一部分被存储。
存储器例如可以包括可更换式存储器,即是用于计算机系统的非固定安装的、可更换的和/或便携的数据载体。可更换式存储器例如包括蓝光盘、CD、软盘、DVD、HD-DVD、磁带、MO/MOD、固态驱动器(SSD)、存储卡、U盘或可更换式硬盘。
实施方式涉及一种电信系统,其包括电子数据存储系统和用于经由网络通信的通信接口,其中,待存储数据的提供包括:借助通信接口经由网络接收数据,其中,所执行的方法还包括:
·自请求的电信系统借助通信接口经由网络接收对区块链结构的当前版本的请求,
·响应于收到的请求,借助通信接口经由网络发送扩充的区块链结构至请求的电信系统。
电信系统例如是配置用于经由网络通信的计算机系统。
网络例如可以是本地网尤其是局域网(LAN)、专用网络尤其是内联网或者虚拟专用网络(VPN)。例如计算机系统可具有用于连接至WLAN的标准无线电接口。另外,它可以是公共网络例如像互联网。另外,它可以是例如数字蜂窝移动无线电网络。
“计算机系统”在此是指如下设备,其借助可编程的计算规则在采用电子电路情况下处理数据。“程序”或“程序指令”在此无限制地是指任何类型的计算机程序,其包含用于控制计算机功能的机读指令。
计算机系统可以包括用于与网络连接的接口,其中,该网络可以是私人网络或公共网络,尤其是互联网或其它通信网。根据实施方式的不同,所述连接也可以通过移动无线电网络建立。
计算机系统可以例如是移动电信设备且尤其是智能手机、便携式计算机比如像笔记本电脑或掌上电脑、个人数字助理等。此外,它例如可以是智能手表或智能眼镜。另外,它可以是固定式计算机系统例如像个人电脑或绑定在客户端-服务器环境中的服务器。尤其是,它可以是具有数据库管理系统的服务器,其管理包含区块链结构的数据库。
“存储器”或“数据存储器”在此不仅是指易失电子存储器或数字存储介质,也是指非易失电子存储器或数字存储介质。
“非易失存储器”在此是指用于长久存储数据的电子存储器。非易失存储器可以作为不可变存储器来配置,其也被称为只读存储器(ROM),或者作为可变存储器来配置,其也称为非易失性存储器(NVM)。它在这里尤其可以是EEPROM,例如闪存EEPROM(简称为闪存)。非易失存储器的特点是,存储于其上的数据在供电装置关断后仍保留下来。
“易失电子存储器”在此是指用于暂存数据的存储器,其特点是所有数据在供电装置关断之后丢失。尤其是,它在此可以是易失直接存取存储器,也被称为随机存取存储器(RAM),或者是处理器的易失工作存储器。
“处理器”在此和以下是指逻辑电路,其用于执行程序指令。逻辑电路可以在一个或多个独立构件上、尤其在芯片上实现。尤其是,“处理器”是指微处理器或由若干处理器核心和/或若干微处理器构成的微处理器系统。
“接口”或“通信接口”在此是指借此可收发数据的接口,在此,该通信接口能以接触或非接触的方式配置。通信接口可以是内部接口或外部接口,其例如借助电线或以无线方式与对应的设备相连。无线通信用通信接口是指如下通信接口,其配置用于无线收发数据。通信可以例如根据RFID标准和/或NFC标准比如蓝牙进行。此外,通信接口可以配置用于经由局域无线电网络通信,例如根据IEEE-802.11系列标准和/或Wi-Fi。
接口例如能被配置为无线电接口,其允许经由数字蜂窝移动无线电网络通信,其可根据无线电标准例如像GSM、UMTS、LTE、CDMA或其它标准来构建。
通信一般可以例如经由网络进行。“网络”在此是指具有通信连接的任何传输介质,所述连接容许至少两个计算机系统之间的通信。网络可以例如包括本地网尤其是局域网(LAN)、专用网络尤其是内联网或者虚拟专用网络(VPN)。例如计算机系统可以具有用于连接至WLAN的标准无线电接口。另外,它可以是公共网络例如像互联网。
附图说明
以下,参照附图详述本发明的实施方式,其中:
图1示出示例性区块链结构的一个实施方式的示意性框图,
图2示出示例性区块的一个实施方式的示意性框图,
图3示出用于扩充双向区块链结构的示例性方法的示意性流程图,
图4示出用于创建区块的示例性方法的示意性框图,
图5示出用于检查区块的示例性方法的示意性流程图,
图6示出示例性数据存储系统的一个实施方式的示意性框图,
图7示出示例性电信系统的一个实施方式的示意性框图。
具体实施方式
以下实施方式的彼此对应的零部件用相同的附图标记标示。
图1示出示例性区块链结构100的一个实施方式,其包含i-1个区块102、104、106、108。区块102、104、106、108分别与区块链结构100的预定数量k的在前区块和在后区块双向链接,前提是k个区块在区块链结构100中位于各自区块102、104、106、108之前和之后。即,区块Bi-k-n与区块Bi-(k+1)-n至Bi-2k-n以及区块Bi-(k-1)-n至Bi-(n+1)双向链接,其中,例如k=4。于是,区块Bi-1与区块Bi-2至Bi-5双向链接。区块Bi-2与区块Bi-3至Bi-6以及区块Bi-1双向链接。区块Bi-3与区块Bi-4至Bi-7以及区块Bi-2至Bi-1双向链接。区块Bi-4与区块Bi-5至Bi-8以及与区块Bi-3至Bi-1双向链接。
区块链结构100应该被扩充附加区块110。为此,必须在附加区块Bi110与区块链结构100已有的最后k个区块Bi-1至Bi-k(在k=4时例如是区块Bi-1至Bi-4102,…,108)之间建立双向链接109。
为此,与附加区块Bi110的有用数据相关的关联数据被存储在区块链结构100的区块Bi-1至Bi-4102,…,108中。相反,在附加区块Bi110中存储分别与所述区块Bi-1至Bi- 4102,…,108之一的有用数据相关的关联数据。因此,可以根据在双向链接过程中存储在区块Bi至Bi-4102,…,110内的关联数据仅持续重建相应区块Bi至Bi-4102,…,110的有用数据的正确校验值,只要相应的有用数据保持不变。在例如附加区块110被篡改的情况下,区块Bi-1至Bi-4102,…,108的关联数据不再匹配于附加区块110的有用数据。另外,也可以在区块Bi110本身中存储与附加区块Bi110的有用数据相关的关联数据。依据该偏差可以识别相应的篡改。
图2举例示出图1的区块链结构100的区块Bi110。其它区块102,…,108具有相似结构。区块Bi110包含有用数据Di150和关联数据152。关联数据152被分解成个片段Vj154、156、158。在根据图1的例子中有三个片段:V1154、V2156、V3158。
区块链结构100的区块Bi110被分配有所有权人O(Bi),其创建区块110、添加有用数据150以及初始化关联数据152。根据实施方式,所有权人O(Bi)在与其它区块关联时部分地或按位地用校验值片段覆写关联数据152以产生双向关联。为此所有权人O(Bi)被分配有非对称密码密钥对(KPr,KPr),其包括所有权人O(Bi)的私人密码密钥O(Bi).KPr以及公用密码密钥O(Bi).KPr
区块链结构100被分配有链接值其例如被预先限定或针对区块链结构100被初始限定,并且确定每个区块在区块链结构的一方向上已与或将与多少其它区块双向链接。在k=4的情况下,区块Bi110例如与区块链结构100的四个在前区块和四个在后区块链接,前提是区块链结构100包含四个在区块Bi110之前的和四个在区块Bi之后的区块。即,链接值k限定了区块Bi以何种距离与其相邻区块双向链接。
为了将区块Bi110加入区块链结构100中,校验值片段必须借助反向关联或正向关联被存储在k个在前区块的关联数据中和在区块链结构100进一步加长过程中在k个在后区块的关联数据中、即被存储在区块Bi-k或Bi+k的关联数据中。为此,根据实施方式,区块Bi-k或Bi+k的各自所有权人O(Bi-k)或O(Bi+k)必须发出其许可。例如相应的校验值片段必须用各自所有权人O(Bi-k)或O(Bi+k)的私人密码密钥O(Bi-k).KPr或O(Bi+k).KPr来加密。在后区块Bi+k的所有权人O(Bi+k)必须在相应的区块Bi+k被连续添加至区块链结构110时连续发出其许可。
在关联数据152的片段154、156、158中例如存储有用数据150的若干数据组的校验值PW1,…,PW8以及纠错代码FC1,…,FC4。有用数据150例如被分为8个数据组。对于每个数据组,分别借助哈希函数例如SHA512(此时每个片段包含512位)计算呈哈希值PW1,…,PW8形式的校验值,并将其存储在关联数据152的前两个片段154、156中。对于哈希值PW1,…,PW8,还分别借助纠错方法成对地计算纠错代码,例如对于每个位x=1,…,512计算FCm[x]=XOR(PWm[x]、PWm+4[x])。所得到的纠错代码FC1,…,FC4被包含存储在关联数据152的第三片段158中。
为了区块链结构100的初始化,产生具有随机数据的例如k个区块,即,k个初始区块的有用数据和初始关联数据都是随机数据。k个初始区块例如由同一个将区块链结构100初始化的所有权人产生。在初始化之后,区块链结构100已经准备好通过添加含有相应有用数据的附加区块并将附加区块分别与k个已有区块双向链接来接纳有用数据。
附加区块Bi110被添加至具有长度|BC|=i-1的区块链结构100。在此,“为区块链结构扩充附加区块Bi110”包含:首先产生相应附加区块Bi110。接着,通过在Bi和区块链结构100的最后k个区块Bi-1,…,Bi-k之间执行反向关联和正向关联而将Bi和最后k个区块Bi-1,…,Bi-k相互双向链接。
为了产生附加区块Bi110,有用数据Di150被添加至附加区块Bi110,即,Bi.Di=Di。所添加的有用数据Di150被分为b个例如等长的数据组其中,/>表示在将字符串s分为r个等长的数据片段或数据组时的字符串s的第l个数据片段。对于b个数据组中的每一个分别算出哈希值H:
例如有用数据Di被分为8个等长片段,并且各有一哈希函数比如SHA512被用到所得到的数据组:
所得到的哈希值被分为偶数个片段或串,例如区块Bi110的关联数据152的两个串154、156。
区块Bi110的关联数据152的第一串154的哈希值和关联数据152的第二串156的哈希值按位地借助XOR被关联:
V3[x]=XOR(V1[x],V2[x]),
其中,例如x=1,…,b/n·L,b是每个串的哈希值数量,L是哈希值的长度。例如x=1,…,4·512,此时每个串有4个哈希值并且哈希值长度分别为512位。由此例如产生区块Bi110的关联数据152的第三片段V3158的四个所示的纠错代码FC1,…,FC4
一旦产生区块Bi110b,则它必须与已有区块链结构100的k个区块双向链接。为此采用反向关联和正向关联。
如此进行反向关联,即,对于区块Bi110的有用数据Di,计算例如呈哈希值形式的校验值,其被分为若干校验值片段。校验值片段被归组,每一组对应配属于k个区块Bv之一,此时v=i-x,其中,x=1,…,k,并且每一组被分散存储在相应区块Bv的关联数据中。为此,对于k个区块Bv中的每一个区块,根
希值的每个第x位被选出。即,在此示例性实施方式中,对于区块Bi-1选择哈希值的每个第一位、即所有位,对于区块Bi-2选择每个第二位、即所有位的一半,对于区块Bi-3选择每个第三位、即所有位的三分之一,对于区块Bi-4选择每个第四位、即所有位的四分之一。即,所选位的数量随着其对此设置用于存储的区块与区块Bi110的距离增大而减小。在本例子中,位数量与距离成反比。所选位被接连排列,从而出现一组校验值片段或位并且用所有权人O(Bv)的私人密码密钥KPr来加密。
为了计算用于反向关联的定位子Porw,附加区块Bi110的有用数据Di被分成若干r个数据组,例如r=2。根据实施方式,r个片段分别具有同样的长度。r个数据组的顺序被改变,所述数据组按照改变的顺序被串联。串联表示若干集合被关联成一个新的集合。关联的集合此时包含两个集合的元素的所有组合,此时尤其采用非交换关联运算。根据实施方式,字符串被相互串联,即接连排列成新的字符串。根据实施方式,每个串联的集合包含恰好一个元素,即一个字符串。对于按照改变的顺序所串联的数据组,例如借助SHA512计算呈哈希值形式的校验值。
自偏移o=1起,混入的有用数据Di的哈希值的每个第x位被选出。即,例如在此示例性实施方式中,对于区块Bi-1选择哈希值的每个第一位、即所有位,对于区块Bi-2选择每个第二位、即所有位的一半,对于区块Bi-3选择每个第三位、即所有位的三分之一,对于区块Bi-4选择每个第四位、即所有位的四分之一。所选位的数量此时又随着与附加区块Bi110的间距增大而减小。所选位被接连排列,从而出现一组校验值片段或位,并且用所有权人O(Bv)的私人密码密钥KPr来加密。
为了进一步操作,计算偏移:
其中,x=1,…,k。但也可以采用任何其它的x相关偏移o。偏移o被用于反向关联,在这里,对于k个区块Bv中的每一个区块执行以下方法步骤,以p=0、q=1开始:
1)q=(((q+Porw[p]+1)%3)+1),在关联数据152的三个片段154、156、158的情况下,
2)Bv.Vq[o+p]=Verw[p],和
3)p=p+1,如果p≤|Verw|,其中,|Verw|表示反向关联数据Verw的长度,则反向关联以步骤1)继续,否则结束执行针对相应区块Bv的反向关联。
为了在附加区块Bi110和区块Bv之间出现双向链接,还执行正向关联。对于k个区块Bv中的每一个区块,根据相应区块Bv的数据Dv分别计算正向关联数据以及用于反向关联的定位子Povw:/>另外,计算偏移/>假定x≥2,否则o=1。但也可以采用任何其它x相关偏移o。相应的偏移o被用于将k个区块Bv中的每一个区块与附加区块Bi110正向关联。正向关联包括例如以下方法步骤,以p=0、q=1开始:
1)q=(((q+Povw[p]+1)%w)+1),
2)Bi.Vq[o+p]=Vevw[p],
3)p=p+1,如果p≤|Vevw|,其中,|Vevw|表示正向关联数据Vevw的长度,则该方法以步骤1)继续,否则结束执行针对相应区块Bv的正向关联。
图3示出用于给双向链接的区块链结构扩充附加区块的示例性方法的一个实施方式。在步骤300中提供待扩充的区块链结构。在步骤302中提供在附加区块中作为有用数据待存储的数据。在步骤304中,创建用于区块链结构的附加区块。在此,在步骤302中提供的数据作为有用数据被存储在附加区块中。此外,有用数据的校验值作为关联数据被存储在附加区块中。此外,根据实施方式,针对校验值的纠错代码被存储在附加区块的关联数据中。在步骤306中创建附加区块的有用数据与该区块链结构的最后k个区块中每一个区块的反向关联。反向关联例如如关于图2所述地进行。在步骤308中创建最后k个区块中每一个区块的有用数据与附加区块的正向关联。正向关联例如如关于图2所述地进行。步骤306、308的反向和正向关联得到附加区块与区块链结构的最后k个区块的k个双向关联。最后在步骤310中存储扩充的区块链结构。
图4示出用于创建用于双向链接的区块链结构的附加区块的示例性方法的一个实施方式。在步骤400中,所提供的有用数据被存储在该附加区块中。在步骤402中,所存储的有用数据被分为若干数据组。在步骤404中,针对每个有用数据分别计算出校验值,例如借助哈希函数作为哈希值来计算。在步骤406中,有用数据的校验值例如如图2所示地被存储在附加区块的关联数据中。根据实施方式,校验值在存储之前用附加区块所有权人的私人密钥来加密。根据替代实施方式,所述校验值被未加密地存储。在步骤408中,针对存储的校验值计算纠错代码,并且在步骤410中也作为关联数据将其存储在该附加区块中。例如纠错代码在采用校验值对的按位XOR关联的情况下来计算。
图5示出用于检查双向链接的区块链结构的区块的示例性方法的一个实施方式。在步骤500中提供区块链结构。在此,提供该区块链结构的至少一部分,该部分包含待检查区块以及与待检查区块双向关联的其它区块。在步骤502中,根据待检查区块的有用数据针对所有的或一部分的在前区块和/或在后区块计算出反向关联数据和/或正向关联数据。例如计算出针对所有在前区块的所有反向关联数据或者针对所有在后区块的所有正向关联数据。根据其它实施方式,不仅计算反向关联数据、也计算正向关联数据。根据实施方式,确定对于哪个在前区块和/或在后区块要计算反向关联数据和/或正向关联数据。根据实施方式,确定针对多少在前区块和/或在后区块来计算反向关联数据和/或正向关联数据。在步骤504中,将所计算的反向关联数据和/或正向关联数据与待检查区块有用数据的、作为关联数据存储在在前区块和/或在后区块中的相应反向关联数据和/或正向关联数据相比较。为此,在步骤506中检查相互比较的反向关联数据和/或正向关联数据是否具有足够的高出预定阈值的一致性程度。如果是这种情况,则在步骤508中确认待检查区块的有用数据的数据完整性,例如通过产生确认信号。如果不是这种情况,则在步骤510中否认待检查区块的有用数据的数据完整性并且例如产生错误信号。附加地或替代地,在步骤504中例如计算待检查区块的有用数据的校验值。附加地,在采用存储在待检查区块的关联数据中的纠错代码情况下根据部分存储在关联数据中的校验值重建待检查区块的有用数据的完整的或纠错后的校验值。在步骤504中,将计算的校验值与在采用纠错代码情况下根据存储的关联数据重建的校验值相比较。
图6示出呈计算机系统形式的示例性数据存储系统200的一个实施方式的示意性框图,该数据存储系统用于在采用双向链接的区块链结构100情况下在电子存储器206中防篡改存储数据210。
计算机系统200包括处理器202,其配置用于执行程序指令204。通过执行程序指令204,处理器202如此控制计算机系统200,即,使它执行用于防篡改存储数据的方法的前述实施方式之一。
计算机系统200还包括存储器206,存储器中存储有用于执行正向关联和/反向关联以扩充和/或检查双向链接的区块链结构100的函数208。存储器206还包含应在采用双向链接的区块链结构100情况下被防篡改保护或防篡改存储的数据210。例如计算机系统200执行根据图3和图4的方法之一并且产生用于区块链结构100的附加区块,附加区块包含要防篡改存储的数据210并且与区块链结构100的最后区块双向关联。为了附加区块的双向关联,例如在采用函数208的情况下执行正向关联和/反向关联。
最后,计算机系统200包括通信接口214。通信接口214例如可以是用于经由网络通信的网络接口或者与可更换式数据载体通信的接口。通过通信接口214,例如可以提供数据210和/或区块链结构100。通信接口214还可以是用于由使用者输入指令和/或用于输出结果的用户接口。
根据实施方式,程序指令204例如可以包含数据库管理系统,其管理存储在存储器206中的区块链结构比如区块链结构100。
图7示出图6的示例性数据存储系统200,它被配置为电信系统,其借助通信接口214经由网络240可以与其它的计算机系统比如计算机系统220、250通信。例如数据210由计算机系统250经由网络240提供。
计算机系统250例如包括用于存储数据210的存储器256,所述数据应通过计算机系统200被防篡改保护。根据实施方式,数据210是表征数字编码文件的数据。例如数据210是数字编码文件的内容的哈希值。根据其它实施方式,数据210是由计算机系统250促成、记录和/或执行的交易的交易数据。根据其它实施方式,数据210是借助计算机系统250的传感器266测得的传感器数据。计算机系统250还包括处理器252,其配置用于执行程序指令254。根据实施方式,计算机系统250也能配置为电信系统,其可借助通信接口264经由网络240与计算机系统200通信。通过处理器252执行程序指令254促使计算机系统250例如发送数据210至计算机系统200。经由网络240传送数据210在此例如可以响应于请求地由计算机系统200促成进行,或自发地由计算机系统250促成进行。
图7还示出计算机系统220,其例如也配置为电信系统并且可借助通信接口264经由网络240与计算机系统200通信。计算机系统220例如包括含程序指令224的处理器222。处理器222配置用于执行程序指令224,在这里,通过处理器222执行程序指令224促使计算机系统220经由网络从计算机系统200请求被扩充了数据210的区块链结构100。响应于相应请求,计算机系统220例如接收到区块链结构100。根据实施方式,计算机系统220可以读取存储在区块链结构100中的数据。计算机系统220例如可以在采用存储在存储器226中的函数208情况下检查读取数据的完整性。利用函数208,可以复核区块链结构100的、将区块链结构100的区块双向相互链接的反向关联和/或正向关联,并检查其一致性或完整性。读取数据例如是用于证明数字编码文件的真实性的数据。相应文件例如自计算机系统250经由网络240被提供给计算机系统220。如果读取数据例如是文件内容的哈希值,则可以依据这些数据来检查所提供文件的真实性。例如针对该文件由计算机系统220计算哈希值。如果计算的哈希值与读取数据一致,则所提供的文件被认定为真实。
附图标记列表
100 区块链结构
102 区块
104 区块
106 区块
108 区块
109 双向关联
110 附加区块
150 有用数据
152 关联数据
154 关联数据的片段
156 关联数据的片段
158 关联数据的片段
200 计算机系统
202 处理器
204 程序指令
206 存储器
208 函数
210 数据
214 通信接口
220 计算机系统
222 处理器
224 程序指令
226 存储器
234 通信接口
240 网络
250 计算机系统
252 处理器
254 程序指令
256 存储器
264 通信接口
266 传感器
PW1,...,PW8校验值
FC1,…,FC4纠错代码

Claims (19)

1.一种用于在采用双向链接的区块链结构(100)的情况下在电子存储器(206)中防篡改存储数据(210)的方法,其中,该区块链结构(100)包含若干区块(102,…,108),每个区块包含有用数据和关联数据,其中,该区块链结构(100)的每个区块(102,…,108)的有用数据能依据该区块链结构(100)的、与相应区块(102,…,108)双向链接的预定数量的区块(102,…,108)的所述关联数据来验证,其中,该方法包括:
·提供该双向链接的区块链结构(100),
·提供待存储数据(210),
·创建用于扩充该区块链结构(100)的附加区块Bi(110),该附加区块包含作为有用数据(150)的所述待存储数据(210),
·创建该附加区块Bi(110)与预定数量的在前区块的双向链接(109),所述在前区块在该区块链结构(100)中位于该附加区块(110)之前,
其中,该双向链接(109)的创建包括:执行该附加区块(110)至所述预定数量的在前区块的反向关联和执行所述预定数量的在前区块至该附加区块(110)的正向关联,
其中,该反向关联包含:
1)计算所述待存储数据(210)的校验值,
2)从所述待存储数据(210)的校验值中抽取若干具有校验值片段的第一组,其中,所述第一组的数量对应于所述在前区块的预定数量,
3)根据分布图在所述预定数量的在前区块的其中一个区块的关联数据中分散存储所述第一组中各自一个第一组的校验值片段,其中,该分布图与待存储数据相关,
其中,针对所述预定数量的在前区块中每个单独区块的正向关联包括:
1)计算相应在前区块的有用数据的校验值,
2)从相应在前区块的有用数据的校验值中抽取第二组的校验值片段,
3)根据分布图在该附加区块的关联数据(152)中分散存储第二组的校验值片段,其中,该分布图与相应在前区块的有用数据相关。
2.根据权利要求1的方法,其中,该区块链结构(100)的每个区块(102,…,108)分别与该区块链结构(100)的若干在前区块和/或在后区块双向链接,其中,两个双向相互链接的区块分别包含关联数据,所述关联数据与两个双向相互链接的区块的各自另一个区块的有用数据相关。
3.根据权利要求1或2的方法,其中,该方法还在创建该双向链接(109)之前包括:
·将所述待存储数据(210)分为若干数据组,
·对于每个数据组计算校验值(PW1,…,PW8),
·作为关联数据(152)在该附加区块Bi(110)中存储该数据组的校验值(PW1,...,PW8),
其中,在所述关联数据中存储所述校验值片段分别包含:至少部分覆写已有关联数据的片段。
4.根据权利要求1或2的方法,其中,所述待存储数据(210)的划分包括:将待存储在该区块链结构(100)的附加区块Bi(110)中的数据(210)Di分为等长的b个数据组,其中,针对每个数据组计算作为校验值(PW1,…,PW8)的哈希值Hx
其中,表示在将字符串s分为r个等长数据片段时的所述字符串s的第l个数据片段,/>表示所述第l个数据片段的哈希值。
5.根据权利要求3的方法,其中,所述数据组的校验值(PW1,...,PW8)的存储还包括:
·对于所述数据组的待存储的校验值(PW1,...,PW8)创建纠错代码(FC1,...,FC4),
·作为关联数据(152)在该附加区块Bi(110)中存储该纠错代码(FC1,…,FC4)。
6.根据权利要求5的方法,其中,所述待存储的校验值(PW1,...,PW8)按照所述关联数据(152)的两个串V1(154)和V2(156)布置,并且该纠错代码(FC1,...,FC4)作为关联数据(152)的第三串V3(158)以前两个串V1(154)和V2(156)的按位XOR关联的形式来创建:
V3[x]=XOR(V1[x],V2[x]),
其中,x表示在各自串(154,156,158)中的第x位。
7.根据权利要求1或2的方法,其中,该区块链结构(100)的每个区块分别分配有所有权人,其中,每个所有权人分别分配有包含私人密码密钥和公用密码密钥的非对称密码密钥对,其中,具有校验值片段的所述第一组和第二组分别用配属于该区块链结构(100)中如下区块的所有权人的私人密码密钥被加密,在该区块的关联数据中存储有相应组的校验值片段。
8.根据权利要求1或2的方法,其中,具有校验值片段的所述第一组和第二组分别按位分散存储在该区块链结构(100)的相应区块的关联数据中。
9.根据权利要求1或2的方法,其中,在该第一组中的校验值片段数量分别依据该区块链结构(100)的、相应组的校验值片段存储在其关联数据中的区块(102,…,108)与该附加区块Bi(110)的间距而改变,其中,在该第二组中的校验值片段数量分别依据该区块链结构(100)的、根据其有用数据算出并抽取相应组校验值片段的区块(102,…,108)与该附加区块Bi(110)的间距而改变。
10.根据权利要求9的方法,其中,该附加区块Bi(110)的双向链接(109)的创建包含与该区块链结构(100)的k个区块Bv(102,…,108)的双向链接,其中,v=i-x并且x=1,…,k,所述k个区块紧接在该附加区块Bi(110)之前,
其中,为了针对所述k个区块Bv(102,…,108)中每一个区块的反向关联而根据所述待存储数据Di分别按照下式计算反向关联数据Verw
其中,H(Bi.Di)表示该区块Bi(110)的数据Di的哈希值,表示从偏移值g开始从字符串s中选择并接连排列每第x个字符,O(Bv).KPr表示该区块Bv(102,…,108)的所有权人O(Bv)的私人密码密钥KPr,E(m,K)表示用该密码密钥K加密的字符串m,
对于反向关联数据Verw按照下式计算用于反向关联的定位子Porw
所述字符串s1和s2的接连排列,
其中,所述k个区块Bv(102,…,108)的关联数据分别被分为个片段,并且其中,针对所述k个区块Bv(102,…,108)中每一个区块的反向关联包含以下方法步骤,以p=0、q=1开始:
4)q=(((q+Porw[p]+1)%w)+1),
5)Bv.Vq[o+p]=Verw[p],此时
6)p=p+1,如果p≤|Verw|,其中,|Verw|表示反向关联数据Verw的长度,则反向关联以步骤1)继续,否则结束执行针对相应区块Bv(102,…,108)的反向关联,
其中,为了针对所述k个区块Bv(102,…,108)中每一个区块的正向关联,根据相应区块Bv(102,…,108)的数据Dv按照下式计算正向关联数据Vevw
对于正向关联数据Vevw按照下式计算用于反向关联的定位子Povw
述k个区块Bv(102,…,108)中每一个区块的正向关联包含以下方法步骤,以p=0、q=1开始:
4)q=(((q+Povw[p]+1)%w)+1),
5)Bi.Vq[o+p]=Vevw[p],在此假定x≥2,否则o=1,
6)p=p+1,如果p≤|Vevw|,其中,|Vevw|表示正向关联数据Vevw的长度,则该方法以步骤1)继续,否则结束执行针对相应区块Bv(102,…,108)的正向关联。
11.根据权利要求5的方法,其中,该方法还包括:验证该区块链结构(100)的区块(110),其中,该验证包括:
·将待验证区块(110)的有用数据(150)分为若干数据组,
·对于每个数据组计算校验值,
·将计算的校验值与该待验证区块(110)的有用数据(150)的、由该待验证区块(110)的关联数据(152)所包含的校验值(PW1,...,PW8)相比较,其中,该待验证区块(110)的有用数据(150)的由所述关联数据(152)所包含的校验值(PW1,..,PW8)在采用该纠错代码(FC1,...,FC4)情况下被重建。
12.根据权利要求11的方法,其中,所述验证还包括:
·计算在采用该待验证区块(110)的有用数据(150)情况下创建的、且分散存储在该区块链结构(100)的与该待验证区块(110)双向链接的这些其它区块(102,…,108)的关联数据中的校验值片段的至少一部分,
·将计算的校验值片段与存储的校验值片段相比较,其中,该待验证区块(110)在相互比较的校验值片段一致的情况下被验证成功。
13.根据权利要求11或12的方法,其中,在所述验证过程中在采用哈希函数情况下进行所述校验值(PW1,...,PW8)的和/或校验值片段的计算。
14.根据权利要求11或12的方法,其中,在所述验证过程中的所述校验值片段计算包括:分别用配属于该区块链结构(100)的在其关联数据中存储有相应校验值片段的区块的所有权人的私人密码密钥来加密所述校验值片段。
15.根据权利要求1或2的方法,其中,所述待存储数据(210)包含表征数字编码文件内容的数据,其中,所述待存储数据(210)的提供包含:借助通信接口(214)经由网络(240)从创建该数字编码文件的计算机系统(250)接收所述数据,其中,该方法还包括:
·自请求的计算机系统(220)借助该通信接口(214)经由该网络(240)接收对该区块链结构(100)的当前版本的请求,
·响应于收到的请求,借助该通信接口(214)经由该网络(240)向请求的计算机系统(220)发送扩充的区块链结构。
16.根据权利要求1或2的方法,其中,所述待存储数据(210)包含交易数据,其中,所述待存储数据(210)的提供包含:借助通信接口(214)经由网络(240)从参与交易执行的计算机系统(250)接收所述数据,其中,该方法还包括:
·自请求的计算机系统(220)借助该通信接口(214)经由该网络(240)接收对该区块链结构(100)的当前版本的请求,
·响应于收到的请求,借助该通信接口(214)经由该网络(240)向请求的计算机系统(220)发送扩充的区块链结构。
17.根据权利要求1或2的方法,其中,所述待存储数据(210)包含装置的状态数据,其中,所述待存储数据(210)的提供包括:从借助传感器(266)测量状态数据的计算机系统(250)经由通信接口(214)经由网络(240)接收所述数据,其中,该方法还包括:
·自请求的计算机系统(220)借助该通信接口(214)经由该网络(240)接收对该区块链结构(100)的当前版本的请求,
·响应于收到的请求,借助该通信接口(214)经由该网络(240)发送扩充的区块链结构(100)至请求的计算机系统(220)。
18.一种用于在双向链接的区块链结构(100)中防篡改存储数据(210)的电子数据存储系统(200),其中,该区块链结构(100)包含若干区块(102,…,108),每个区块包含有用数据和关联数据,其中,该区块链结构(100)的每个区块(102,…,108)的有用数据依据该区块链结构(100)的与相应区块(102,…,108)双向链接的预定数量的区块的关联数据可被验证,其中,该数据存储系统包括处理器(202)和带有机读指令(204)的电子存储器(206),其中,由该处理器(202)执行所述机读指令(204)促使该数据存储系统(200)执行如下方法,该方法包括:
·提供该双向链接的区块链结构(100),
·提供待存储数据(210),
·创建用于扩充该区块链结构(100)的附加区块Bi(110),该附加区块包含作为有用数据(150)的所述待存储数据(210),
·创建该附加区块Bi(110)与在该区块链结构(100)中位于该附加区块(110)之前的预定数量的在前区块的双向链接(109),
其中,该双向链接(109)的创建包括:执行该附加区块(110)至所述预定数量的在前区块的反向关联和执行所述预定数量的在前区块至该附加区块(110)的正向关联,
其中,该反向关联包括:
1)计算所述待存储数据(210)的校验值,
2)从所述待存储数据(210)的校验值中抽取若干具有校验值片段的第一组,其中,所述第一组的数量对应于所述在前区块的预定数量,
3)根据分布图在预定数量的在前区块的其中一个区块的关联数据中分散存储所述第一组中各自一个第一组的校验值片段,其中,该分布图与所述待存储数据相关,
其中,针对预定数量的在前区块中每个单独区块的正向关联包括:
1)计算相应在前区块的有用数据的校验值,
2)从相应在前区块的有用数据的校验值中抽取具有校验值片段的第二组,
3)根据分布图在该附加区块的关联数据(152)中分散存储该第二组的校验值片段,其中,该分布图与相应在前区块的有用数据相关。
19.一种电信系统,其包括根据权利要求18的电子数据存储系统(200)和用于经由网络(240)通信的通信接口(214),其中,所述待存储数据(210)的提供包括:借助通信接口(214)经由网络(240)接收所述数据,其中,所执行的方法还包括:
·自请求的电信系统(220)借助该通信接口(214)经由该网络(240)接收对该区块链结构(100)的当前版本的请求,
·响应于收到的请求,借助该通信接口(214)经由该网络(240)发送扩充的区块链结构至请求的电信系统(220)。
CN201880065888.3A 2017-10-19 2018-09-20 防篡改存储数据的方法、电子数据存储系统和电信系统 Active CN111201753B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102017218736.0A DE102017218736A1 (de) 2017-10-19 2017-10-19 Bidirektionale verkettete Blockchain-Struktur
DE102017218736.0 2017-10-19
PCT/EP2018/075507 WO2019076574A1 (de) 2017-10-19 2018-09-20 Bidirektionale verkettete blockchain-struktur

Publications (2)

Publication Number Publication Date
CN111201753A CN111201753A (zh) 2020-05-26
CN111201753B true CN111201753B (zh) 2023-10-03

Family

ID=63798938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880065888.3A Active CN111201753B (zh) 2017-10-19 2018-09-20 防篡改存储数据的方法、电子数据存储系统和电信系统

Country Status (5)

Country Link
US (1) US11456858B2 (zh)
EP (1) EP3698517B1 (zh)
CN (1) CN111201753B (zh)
DE (1) DE102017218736A1 (zh)
WO (1) WO2019076574A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017209381A1 (de) * 2017-06-02 2018-12-06 Bundesdruckerei Gmbh Bidirektional verkettete Blockchain-Struktur
DE102017216839A1 (de) 2017-09-22 2019-03-28 Bundesdruckerei Gmbh Bidirektional verkettete erweiterte Blockchain-Struktur
DE102017216974A1 (de) * 2017-09-25 2019-05-16 Bundesdruckerei Gmbh Dataculestruktur und Verfahren zum manipulationssicheren Speichern von Daten
DE102017218736A1 (de) 2017-10-19 2019-04-25 Bundesdruckerei Gmbh Bidirektionale verkettete Blockchain-Struktur
US11271724B2 (en) * 2019-02-21 2022-03-08 Quantum Lock, Inc. One-time-pad encryption system and methods
US11151276B1 (en) * 2019-04-15 2021-10-19 Trend Micro Incorporated Systems and methods for data certificate notarization utilizing bridging from private blockchain to public blockchain
EP3791538B1 (en) * 2019-08-01 2023-04-12 Advanced New Technologies Co., Ltd. Shared blockchain data storage based on error correction code
CN116579551B (zh) * 2023-04-28 2023-12-08 广东技术师范大学 一种基于智能制造的智能管理系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016022864A2 (en) * 2014-08-06 2016-02-11 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN106295401A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
CN107231351A (zh) * 2017-05-25 2017-10-03 远光软件股份有限公司 电子证件的管理方法及相关设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6242244A (ja) * 1985-08-20 1987-02-24 Toshiba Corp 双方向ブロツクチエ−ン制御方式
WO2007129197A1 (en) * 2006-05-04 2007-11-15 Synaptic Laboratories Limited Cryptographic apparatus and process
CN101329656B (zh) * 2008-05-06 2010-06-02 无锡紫芯集成电路系统有限公司 一种Nand-Flash存储系统的管理方法
EP2506487B1 (en) * 2011-03-30 2013-10-23 Nagravision S.A. Method of encryption with bidirectional difference propagation
US10198363B2 (en) 2015-10-23 2019-02-05 Oracle International Corporation Reducing data I/O using in-memory data structures
US9608829B2 (en) * 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
WO2016160850A1 (en) * 2015-03-30 2016-10-06 Iperial, Inc. System and method for authenticating digital content
JP6364132B2 (ja) 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
US10075298B2 (en) * 2015-06-02 2018-09-11 ALTR Solutions, Inc. Generation of hash values within a blockchain
US20170352219A1 (en) 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
GB2541950B (en) 2015-09-07 2020-01-08 Arm Ip Ltd Methods for verifying data integrity
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
CN116843334A (zh) 2016-02-23 2023-10-03 区块链控股有限公司 基于区块链的合并式数据传输控制方法和系统
GB2548851B (en) 2016-03-30 2018-07-25 The Ascent Group Ltd Validation of the integrity of data
CN109313763B (zh) 2016-03-31 2023-02-28 比特飞翔区块链株式会社 层次型网络系统以及用于层次型网络系统的节点
US10068397B2 (en) * 2016-04-06 2018-09-04 Guardtime IP Holdings, Ltd. System and method for access control using context-based proof
US10404469B2 (en) * 2016-04-08 2019-09-03 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US9979718B2 (en) 2016-05-11 2018-05-22 Bank Of America Corporation System for managing security and access to resource sub-components
US20170346639A1 (en) * 2016-05-24 2017-11-30 Business Information Exchange System Corp. Public Key Infrastructure based on the Public Certificates Ledger
IL293232A (en) 2016-11-19 2022-07-01 Costanz Mario A A system and method for adjusting interaction with an object in a public account environment based on a "chain of blocks" (blockchain)
US10389518B2 (en) * 2017-01-27 2019-08-20 Entit Software Llc Blockchain hash value recomputation
DE102017205163A1 (de) 2017-03-27 2018-09-27 Bundesdruckerei Gmbh Hashwerte für die bidirektionale verkettete Blockchain
US10805067B1 (en) * 2017-04-26 2020-10-13 Wells Fargo Bank, N.A. Doubly linked blockchain
DE102017209381A1 (de) 2017-06-02 2018-12-06 Bundesdruckerei Gmbh Bidirektional verkettete Blockchain-Struktur
US10498718B2 (en) 2017-06-16 2019-12-03 Amazon Technologies, Inc. Device identification and authentication in a network
DE102017216839A1 (de) 2017-09-22 2019-03-28 Bundesdruckerei Gmbh Bidirektional verkettete erweiterte Blockchain-Struktur
DE102017218736A1 (de) 2017-10-19 2019-04-25 Bundesdruckerei Gmbh Bidirektionale verkettete Blockchain-Struktur
DE102017126349A1 (de) 2017-11-10 2019-05-16 Bundesdruckerei Gmbh Verfahren zum verknüpfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum überprüfen der integrität einer blockchain-struktur, vorrichtung und computerprogrammprodukt
US11341451B2 (en) 2018-10-10 2022-05-24 Questaweb Holdings Inc. Hierarchical blockchain architecture for global trade management
US11489914B2 (en) 2020-01-19 2022-11-01 Bernt Erik Bjontegard Contextual intelligence of every-thing communication platform integrating edge computation, augmented intelligence and distributed ledger data storage nodes and tokens for real world data interactions across internet of things with payment integration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016022864A2 (en) * 2014-08-06 2016-02-11 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN106295401A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
CN107231351A (zh) * 2017-05-25 2017-10-03 远光软件股份有限公司 电子证件的管理方法及相关设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JUAN GARAY ET AL.The Bitcoin Backbone Protocol:Analysis and Applications.INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH.2016,全文. *
中国人民银行合肥中心支行科技处课题组 *
张兆雷 ; 董贵山 ; 邓子建 ; 杨秋华 ; .一个基于区块链的电子证照管理服务模型.通信技术.2017,(第06期),全文. *
谢铉洋 ; .区块链结构、参与主体及应用展望.金融纵横.2017,(第01期),全文. *

Also Published As

Publication number Publication date
US20200344043A1 (en) 2020-10-29
EP3698517A1 (de) 2020-08-26
CN111201753A (zh) 2020-05-26
WO2019076574A1 (de) 2019-04-25
EP3698517B1 (de) 2022-05-04
US11456858B2 (en) 2022-09-27
DE102017218736A1 (de) 2019-04-25

Similar Documents

Publication Publication Date Title
CN111201753B (zh) 防篡改存储数据的方法、电子数据存储系统和电信系统
CN110520862B (zh) 存储数据的方法、电子数据存储系统及电信系统
CN110770732B (zh) 采用双向链接的区块链结构在电子存储器中防篡改存储数据的方法、电子数据存储系统和电信系统
CN111095255B (zh) 存储数据的方法、电子数据存储系统及电信系统
CN112292841B (zh) 利用区块链创建运输工具证书
EP3641220A1 (en) Cryptologic rewritable blockchain
CN102426640B (zh) 用于产品验证和激活的安全软件产品标识符
KR101702545B1 (ko) 데이터 인증방법 및 그 장치
CN111095864B (zh) 防篡改存储数据的方法、电子数据存储系统和电信系统
CN102419804B (zh) 具有冗余安全性的可靠的软件产品验证和激活
US20070028115A1 (en) Method for guaranteeing the integrity and authenticity of flashware for control devices
US20200313907A1 (en) Verifying vehicular identity
US11863661B2 (en) Secure monitoring using block chain
CN112907375B (zh) 数据处理方法、装置、计算机设备和存储介质
WO2020197776A1 (en) Error identification in executed code
US20220405391A1 (en) Secure Identity Chaining between Components of Trusted Computing Base
CN103544511A (zh) 一种防伪标识
CN110532290B (zh) 基于区块链的信息验证装置、方法及存储介质
US7949912B1 (en) System and method of securing data stored in a memory
US20150228126A1 (en) Communication method for a tolling system comprising a server and at least one on-board-unit
US11899776B2 (en) Electronic device and method for authenticating software based on blockchain
KR20220161304A (ko) 보안 요소에서 디지털 정보를 안전하게 프로세싱하는 방법
JP2024046181A (ja) 検証装置、検証方法、プログラム、および、検証システム
CN116112186A (zh) 一种电子签名防伪方法及系统
CN116938464A (zh) 数据处理方法及装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant