CN111869159B - 篡改检测系统及篡改检测方法 - Google Patents
篡改检测系统及篡改检测方法 Download PDFInfo
- Publication number
- CN111869159B CN111869159B CN201880091348.2A CN201880091348A CN111869159B CN 111869159 B CN111869159 B CN 111869159B CN 201880091348 A CN201880091348 A CN 201880091348A CN 111869159 B CN111869159 B CN 111869159B
- Authority
- CN
- China
- Prior art keywords
- block
- hash
- transaction record
- block chain
- peer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Abstract
实施方式的篡改检测系统,是具备能够与1个以上的对等体中的某1个连接的1个以上的第1终端和检测装置的篡改检测系统,所述第1终端具备:取得部,从所述对等体取得块链中包含的块哈希;及发送部,将包含第1签名对象数据及所述第1签名对象数据的电子签名的第1交易记录发送至所述对等体,所述第1签名对象数据包含所述块哈希和基于所述第1终端的交易内容的数据,所述检测装置具备:接收部,从所述对等体接收所述块链;及检测部,在所述块链的块中包含的第1交易记录中包含的所述电子签名不是有效的、或者与所述块中包含的所述第1交易记录中包含的所述块哈希相同的块哈希未包含于所述块链的情况下,检测所述块链的篡改。
Description
技术领域
本发明的实施方式涉及篡改检测系统及篡改检测方法。
背景技术
以比特币(Bitcoin)为代表的加密货币被实用化。加密货币的汇款记录被保管于被称为块链的电子总账中。在比特币的情况下,通过采用被称为Proof of Work的方式,块链的篡改变得困难。Proof of Work是比特币的安全性的基础。另一方面,作为块链的应用,开始将不限于汇款的一般交易(Transaction)记录在电子总账中。另外,被称为智能合约的电子合约技术也作为块链被实用化。在块链的应用中,通过不使用Proof of Work的一般的一致性算法,维持多个等体间的块链的一致性的方式也被实用化。这样的块链被称为许可型(Permissioned)块链。
现有技术文献
专利文献
专利文献1:日本特开2017-207979号公报
发明内容
发明解决的技术问题
然而,在现有技术中,难以检测出块链的篡改。特别是,在许可型块链中,在对等体(peer)管理者进行了合谋的情况下,难以检测块链的篡改。
用于解决技术问题的手段
实施方式的篡改检测系统,是具备能够与1个以上的对等体中的某1个连接的1个以上的第1终端和检测装置的篡改检测系统,所述第1终端具备:取得部,从所述对等体取得块链中包含的块哈希;及发送部,将包含第1签名对象数据及所述第1签名对象数据的电子签名的第1交易记录发送至所述对等体,所述第1签名对象数据包含所述块哈希和基于所述第1终端的交易内容的数据,所述检测装置具备:接收部,从所述对等体接收所述块链;及检测部,在所述块链的块中包含的第1交易记录中包含的所述电子签名不是有效的、或者与所述块中包含的所述第1交易记录中包含的所述块哈希相同的块哈希未包含于所述块链的情况下,检测所述块链的篡改。
附图说明
图1是表示实施方式的篡改检测系统的功能构成的例子的图。
图2是表示实施方式的块链的数据结构的例子的图。
图3是表示实施方式的终端的动作例的流程图。
图4是表示实施方式的对等体的动作例的流程图。
图5是表示实施方式的检测部的动作例的图。
图6是表示实施方式的变形例1的块哈希的计算方法的例子的图。
图7是表示实施方式的变形例1的块链的数据结构的例子的图。
图8是表示实施方式的变形例1的检测部的动作例的图。
图9是表示实施方式的终端、对等体及检测装置的硬件构成的例子的图。
具体实施方式
以下,参照附图,对篡改检测系统及篡改检测方法的实施方式详细地进行说明。
[功能构成的示例]
图1是表示实施方式的篡改检测系统100的功能构成的例子的图。实施方式的篡改检测系统100具备终端10、对等体20及检测装置30。终端10、对等体20及检测装置30经由因特网等网络而连接。
终端10例如是由用户使用的智能设备及个人计算机等。对等体20是存储块链的计算机。块链是包含1个以上的交易记录的电子总账。检测装置30是检测在对等体20中存储的块链的篡改的装置。
首先,对实施方式的对等体20中存储的块链的数据结构的例子进行说明。
图2是表示实施方式的块链的数据结构的例子的图。在实施方式中,对块链的结构为链状的情况进行说明。此外,块链的结构不限于链状。块链的结构不是链状的情况的例子在实施方式的变形例1中后述。
在图2中,n表示与第n个块有关的数据。例如,块50n表示第n个块,块50n-3表示第n-3个块。另外,例如,块哈希51n表示第n个块50n的块哈希,块哈希51n-1表示第n-1个块50n-1的块哈希,块哈希51n-3表示第n-3个块50n-3的块哈希,块哈希51n-4表示第n-4个块50n-4的块哈希。在以下的说明中,在不区分n的情况下,省略n进行说明。
实施方式的块链,通过将汇总了多个交易记录53的块50按时间顺序追加而制作。对各个块50按时间序列的升序赋予块编号52。块编号52被使用于块链中包含的块50的确定。
块50n包括块哈希51n、前1个块50n-1的块哈希51n-1、0个以上的交易记录53n、及块50n的块编号52n。
块哈希51n是根据前1个块50n-1的块哈希51n-1、0个以上的交易记录53n、及块50n的块编号52n计算出的哈希值。哈希值是根据输出值(哈希值)计算输入值的逆运算困难、通过哈希冲突的概率非常低的哈希函数(例如SHA-256等)计算出的值。块哈希51n在生成块50n时计算。
在此,交易记录53n包含签名对象数据和该签名对象数据的电子签名55n,该签名对象数据包含块编号52n-3、块哈希51n-3及交易内容54n。即,第n个交易记录53n中包含以前的块50n-k的块哈希51n-k(在图2的例子中为k=3)。
另外,交易记录53n中包含的块编号52n-3不是必须的。如果在交易记录53n中包含块编号52n-3,则能够使确定块链中包含的对象的块哈希51n-3的处理更高速。
由于各模块50中包含的块哈希51被递归地计算,因此认为成为块哈希51的计算对象的交易记录53的集合是包含该交易记录53的块50以前的所有交易记录53。因此,例如,在进行了删除过去的交易记录53的篡改的情况下,包含进行了篡改的交易记录53的块50以后的块哈希51全部变化。
在此,对块链的篡改的例子进行说明。作为具体的方法,例如在删除了目标交易记录53之后,将包含该交易记录53作为计算对象的块哈希51全部重新计算,将新的块哈希51作为正当的块来覆盖于块链即可。另外,在Proof of Work方式的情况下,由于在全部块哈希51的再计算上花费巨大的时间,因此该重新计算的方法在事实上是不可能的。但是,即使在Proof of Work方式的情况下,信息理论安全性也不满足。因此,例如在采用Proof ofWork方式的加密货币中,在恶意的用户(或者恶意的用户的组)所具有的计算能力超过了其他的善意的用户所具有的计算能力的情况下,就现有技术而言,今后块链的篡改的检测可能变得困难。
实施方式的篡改检测系统100,是在存储于对等体20的时刻,能够更容易地检测出合法的块链从之后被篡改的情况下的篡改的系统。
另外,在实施方式中,块哈希51能够根据全部交易记录53的集合在理论上重新计算,但因处理的高效化的目的,按每个块50与交易记录53一起存储在对等体20中。
此外,块哈希51的计算方式可以是任意的。实施方式的块哈希51的计算方式设想了比Proof of Work方式约束少的计算方式,但也可以是Proof of Work方式。
返回到图1,接着,对终端10的动作的详细进行说明。另外,在图1的篡改检测系统100的例子中,记载了终端10为1个的情况,但终端10也可以是多个。即,与对等体20进行通信的终端10的数量可以是任意的。
终端10具备受理部11、取得部12、生成部13及发送部14。也参照图3的流程图,对受理部11、取得部12、生成部13及发送部14的动作的详细进行说明。
<终端的动作例>
图3是表示实施方式的终端10的动作例的流程图。
首先,受理部11在从用户受理了表示交易内容54n的数据的输入时(步骤S1),将该数据输入至生成部13。另外,交易内容54n可以是任意的。交易内容54n例如表示加密货币的汇款。
接着,取得部12从对等体20取得块链中包含的块哈希51n-k和包含该块哈希51n-k的块50n-k的块编号52n-k(步骤S2)。另外,在上述的图2的例子中k=3。k优选为更小,但不需要为最新(k=1)。
因此,块哈希51n-k及块编号52n-k的取得定时可以是任意的。例如,取得部12定期(例如,每1分钟、每1小时或每1天等)取得块链中包含的块哈希51n-k及块编号52n-k。然后,在取得了新的块哈希51n-k2及块编号52n-k2的情况下,取得部12废弃在取得该块哈希51n-k2及块编号52n-k2之前取得的块哈希51n-k及块编号52n-k。
另外,例如,取得部12也可以在生成部13生成交易记录53时,在从生成部13受理了取得请求的情况下,取得块哈希51n-k及块编号52n-k。
另外,例如,取得部12也可以在基于对等体20的块哈希51n-k及块编号52n-k的发送契机,从等体20被动地取得块哈希51n-k及块编号52n-k。
此外,选择取得对象的块哈希51n-k的方法可以是任意的。例如,取得部12可以基于块链中包含的块哈希51中的块编号52,取得更加新的块哈希51n-k。在实施方式中,块编号更大的块50n-k的块哈希51n-k成为取得对象。
此外,例如,取得部12可以基于块链中包含的块哈希51中的生成块哈希51的时刻,取得更加新的块哈希51n-k。
另外,例如,取得部12也可以取得块链中包含的块哈希51中的、已经存储在块链中的交易记录53在更多的哈希计算中被使用的块哈希51,作为更加新的块哈希51n-k。
取得部12将所取得的块哈希51n-k及块编号52n-k输入至生成部13。
接下来,生成部13从受理部11受理表示交易内容54n的数据,并从取得部12受理块哈希51n-k及块编号52n-k。生成部13使用终端10的密钥,生成块哈希51n-k、块编号52n-k及交易内容54n的电子签名55n。然后,生成部13生成包含块哈希51n-k、块编号52n-k、交易内容54n及电子签名55n的交易记录53n(第1交易记录)(步骤S3),并将该交易记录53n输入至发送部14。
接着,发送部14在从生成部13受理交易记录53n时,将该交易记录53n向对等体20发送(步骤S4)。
返回到图1,接着,对对等体20的动作的详细进行说明。另外,在图1的篡改检测系统100的例子中,记载了对等体20为1个的情况,但也可以存在多个对等体20。例如,也可以是,多个对等体管理者分别使1个以上的对等体20动作。
对等体20具备发送部21、接收部22、存储控制部23及存储部24。也参照图4的流程图,对发送部21、接收部22、存储控制部23及存储部24的动作的详细进行说明。
<对等体的动作例>
图4是表示实施方式的对等体20的动作例的流程图。
首先,接收部22在从终端10(发送部14)接收到交易记录53n时(步骤S11),将该交易记录53n输入至存储控制部23。
存储控制部23在从接收部22受理交易记录53n时,判定该交易记录53n中包含的电子签名55n是否有效(步骤S12)。在电子签名55n不是有效的的情况下(步骤S12,否),即,在交易记录53n已经被篡改的情况下,存储控制部23废弃该交易记录53n(步骤S14)。
在电子签名有效的情况下(步骤S12,是),存储控制部23使用交易记录53n中包含的块编号52n-k,确定在块链中存储的块哈希51n-k,判定所确定的块哈希51n-k与该交易记录53n中包含的块哈希51n-k是否一致(步骤S13)。在不一致的情况下(步骤S13,否),存储控制部23废弃该交易记录53n(步骤S14)。通过步骤S12及S13的处理,保证了在通过步骤S11的处理接收到的交易记录53n被存储于对等体20的时刻未被篡改。
在一致的情况下(步骤S13,是),存储控制部23判定是否生成块50n(步骤S15)。块50n中包含的交易记录53n不限于1个,也可以是多个。因此,存储控制部23例如在存储有规定数量的交易记录53n的情况下,生成包含该规定数量的交易记录53n的块50n。
在不生成块50n的情况下(步骤S15,否),存储控制部23将通过步骤S11的处理接收到的交易记录53n蓄积在存储控制部23的缓冲器等中(步骤S16)。
在生成块50n的情况下(步骤S15,是),存储控制部23生成包含存储控制部23的缓冲器等中蓄积的交易记录53n和通过步骤S11的处理接收到的交易记录53n的块50n,并将该块50n存储于存储部24的块链(步骤S17)。
接下来,发送部21将通过步骤S17的处理而生成的块50n的块编号52n和该块50n中包含的块哈希51n发送至终端10(步骤S18)。在步骤S18中发送的块哈希51n及块编号52n在第n+1个以后的块中包含的交易记录53中被使用。另外,也可以省略步骤S18的处理。例如,终端10的取得部12在生成第n+1个以后的块中包含的交易记录53时、自主地取得块哈希51n+1-k及块编号52n+1-k的情况下,省略步骤S18的处理。
返回到图1,接着,对检测装置30的动作的详细进行说明。另外,在图1的篡改检测系统100的例子中,记载了检测装置30为1个的情况,但检测装置30也可以是多个。
检测装置30具备接收部31及检测部32。在图1的例子中,通过将检测装置30设置于对等体20的外部,由此能够通过与对等体20的管理者独立的监查人来检测存储在对等体20中的块链的篡改。
接收部31在从对等体20(发送部21)接收到块链时,将该块链输入至检测部32。
检测部32通过判定块链的各块50来检测该块链的篡改。
图5是表示实施方式的检测部32的动作例的图。另外,图5的tx表示交易记录53(transaction)。
首先,检测部32重新计算在全部块50中包含的块哈希51,并且判定通过重新计算获得的哈希值是否与块50中包含的块哈希51一致(图5、第1行至第5行)。检测部32在通过重新计算而得到的哈希值与块50中包含的块哈希51不一致的情况下,检测出块链的篡改。
接着,检测部32判定块链的全部的块50中包含的交易记录53中包含的电子签名55是否有效(图5、第8行)。检测部32在块链的块中包含的交易记录53中包含的电子签名55不是有效的情况下,检测块链的篡改。
接着,检测部32在块链中不包含与块50中包含的交易记录53中包含的块哈希51相同的块哈希51的情况下,检测块链的篡改。具体而言,检测部32判定使用交易记录53中包含的块编号52从块链中确定的块50的块哈希51是否与交易记录中包含的块哈希51一致(图5、第9行~第12行)。检测部32在所确定的块50的块哈希51与交易记录中包含的块哈希51不一致的情况下,检测块链的篡改。
另外,图5所示的检测篡改的处理的顺序是一个例子,检测篡改的处理的顺序可以是任意的。
<实施方式的效果>
如以上说明的那样,实施方式的篡改检测系统100具备能够与1个以上的对等体20中的任一个连接的1个以上的终端10(第1终端)和检测装置30。在1个以上的终端10中,取得部12从对等体20取得块链中包含的块哈希51。然后,发送部14将包含块哈希51和基于终端10的交易内容54的数据(在实施方式中,为交易内容54本身)的签名对象数据(第1签名对象数据)、及包含签名对象数据的电子签名55的交易记录53(第1交易记录)发送至对等体20。另外,在检测装置30中,接收部31从对等体20接收块链。然后,检测部32在块链的块50中包含的交易记录53中包含的电子签名55不是有效的、或者块链中不包含与块50中包含的交易记录53中包含的块哈希51相同的块哈希51的情况下,检测块链的篡改。
由此,根据实施方式的篡改检测系统100,能够更容易地检测块链的篡改。特别是即使在许可型块链的对等体管理者进行了合谋的情况下,也能够更容易地检测块链的篡改。
更具体地说明,以往,交易记录的追加、删除、及顺序的调换等篡改并不是对交易记录本身进行篡改,因此在以往的交易记录本身的电子签名的验证中无法检测。另外,在全部的对等体的管理者合谋地进行了交易记录的追加、删除、及顺序的调换等的篡改的情况下,由于块链的内容在对等体之间也一致,因此难以通过对等体间的比较来检测篡改。
块哈希51以可视为大致100%的概率来唯一地确定作为其计算对象的交易记录53的组成。即,如果进行交易记录53的追加、删除、及顺序的调换等篡改,则实施方式的交易记录53中包含的块哈希51以视为大致100%的概率,与块链中包含的块哈希51不一致。
由于善意的用户不存在与篡改配合的理由,因此善意的用户的交易记录53如果被确认了电子签名55的有效性,则能够期待未被篡改(这是因为,在对其进行篡改时,善意的用户需要对篡改后的数据进行电子签名)。
因此,能够期待该交易记录53中包含的块哈希51未被篡改,作为结果,能够期待该成为计算对象的交易记录53未被篡改(这是因为,哈希函数的逆运算困难,偶然发生冲突的概率被视为大致0%)。
因此,通过实施方式的检测部32未检测到篡改的块链,越多包含善意的用户的交易记录53,则期待与对等体管理者的信用无关地,该块链未被篡改。
相反,对等体管理者为了对块链进行篡改,仅是对包含根据篡改目的的交易记录53计算出的块哈希51在内的全部交易记录53进行删除,或者使用篡改后的块哈希51对该用户委托再次的电子签名(后者是对篡改的合作委托)。善意的用户的交易记录53越多,被删除的交易记录53越多,该篡改的影响变得大规模,从其他视点发觉篡改的可能性高。
这样,根据实施方式,利用块链的善意的用户越多,则越是能够与对等体管理者的信用无关地、验证块链未被篡改这一情况。善意的用户的典型例是要验证的监查人本身。另外,即使在无法确定善意的用户的情况下,利害独立的用户越多,能够合理地推定善意的用户有相当数量,能够期待实施方式的效果。
(实施方式的变形例1)
接下来,对实施方式的变形例1进行说明。在变形例1的说明中,省略与上述的实施方式相同的说明,对与上述的实施方式不同的地方进行说明。
在变形例1中,将块链的结构一般化。例如,在不是Proof of Work方式的情况下,块链的结构不需要为链状,而且也不需要块编号52。本质是能够根据块链中包含的以前的交易记录53计算块哈希,该计算方法及在计算中使用的交易记录53的选择方法具有自由度。
在变形例1中,对通过被称为哈希树(Merkle Tree)的树结构的计算,根据以前的交易记录53来计算哈希值(块哈希51)的情况进行说明。
图6是表示实施方式的变形例1的块哈希51的计算方法的例子的图。图6的例子表示使用包含哈希值101a~101f、201a~201c和301a的哈希树的情况。例如,存储控制部23在生成新的块50时,使用哈希值201c和301a计算块哈希51,作为基于以前的交易记录53的块哈希51。获得的块哈希51连接到哈希树,哈希树得以更新。另外,检测部32在验证块链时,用各块50的交易记录53中包含的哈希值(块哈希51)检索哈希树,并判定该哈希值是否包含在哈希树中。
另外,在比特币中,在块内的哈希计算中使用了哈希树,但在块间为链状结构。在该变形例1中,在块的连接中也使用哈希树。通过块的连接关系具有哈希树的结构,由此例如能够进一步缩短用于验证特定的交易记录53(特定的块哈希51)包含在块链中这一情况的时间。
另外,在图6的例子中,交易记录53包含交易内容54、电子签名55、交易记录编号56、时刻57、执行结果58、哈希值59及哈希值201a。电子签名55的签名对象数据是哈希值59及哈希值201a。
与哈希树连接的哈希值101b,根据交易记录编号56、时刻57、执行结果58、哈希值59及哈希值201a来计算。
交易记录编号56表示确定交易内容54的编号。时刻57表示进行交易内容54的交易的时刻。执行结果58表示智能合约等处理的执行结果。哈希值59是根据交易内容54计算出的哈希值。在计算哈希值101b(块哈希51)时,代替交易内容54,使用基于交易内容54的哈希值59,由此,能够在交易内容54本身不会被公开的情况下进行块链的验证(篡改的检测)。
图7是表示实施方式的变形例1的块链的数据结构的例子的图。在变形例1中,块链的结构是树结构(参照图6)。
在图7中,x、y表示与哈希树中包含的特定的块相关的数据。在以下的说明中,在不区分块的情况下,省略x、y进行说明。
变形例1的块链通过将汇总了多个交易记录53后的块50追加到哈希树中来制作。
块50y包括块哈希51y、哈希值201z、哈希值301w及1个以上的交易记录53y。哈希值201z及301w是哈希树中包含的哈希值(基于过去的交易记录53计算出的块哈希51)。
块哈希51y是根据哈希值201z、哈希值301w及1个以上的交易记录53y计算出的哈希值。块哈希51y在生成块50y时计算。
这里,交易记录53y包含块哈希51x、电子签名55y、交易记录编号56y、时刻57y、执行结果58y及哈希值59y。哈希值59y是根据交易内容54y计算出的哈希值。
块哈希51x是以树结构存储的块50中的任一个块50x中包含的块哈希。电子签名55y的签名对象数据为块哈希51x及哈希值59y。
图8是表示实施方式的变形例1的检测部32的动作例的图。另外,图8的tx表示交易记录53(transaction)。
首先,检测部32重新计算存储在哈希树中的块哈希51,并判定通过重新计算获得的哈希值是否与存储在哈希树中的块哈希51一致(图8、第1行至第5行)。当通过重新计算获得的哈希值与存储在哈希树中的块哈希51不一致时,检测部32检测块链的篡改。
接着,检测部32判定以树结构连接的块50的交易记录53中包含的电子签名55是否有效(图5、第7行)。检测部32在交易记录53中包含的电子签名55不是有效的情况下,检测块链的篡改。
接着,检测部32在块链中不包含与块50中包含的交易记录53中包含的块哈希51相同的块哈希51的情况下,检测块链的篡改(图5、第8行至第10行)。
如以上说明的那样,根据实施方式的变形例1,即使在块链的结构为树结构的情况下,也能够更容易地检测块链的篡改。另外,通过代替交易内容54、而使用基于交易内容54的哈希值59,由此能够在不公开交易内容54本身的情况下进行块链的验证。
(实施方式的变形例2)
接着,对实施方式的变形例2进行说明。在变形例2的说明中,省略与上述的实施方式相同的说明,对与上述的实施方式不同的地方进行说明。
在变形例2中,对实施方式的终端10(第1终端)和生成不包含块哈希51及块编号52的交易记录的终端(第2终端)混合存在的情况下的动作进行说明。具体而言,对例如将生成不包含块哈希51及块编号52的交易记录的终端依次转移到实施方式的终端10(第1终端)的系统转移期等中的动作进行说明。
第1终端将上述的第1交易记录(包含块哈希51n-k、块编号52n-k、交易内容54n及电子签名55n的交易记录53n)发送至对等体20。
第2终端将包括包含第2终端的交易内容的签名对象数据(第2签名对象数据)及该签名对象数据的电子签名的交易记录(第2交易记录)发送至对等体20。
对等体20的存储控制部23将包含第1及第2交易记录中的至少一方的块存储于块链。存储控制部23关于第1交易记录,执行上述的步骤S13的处理,关于第2交易记录,不执行上述的步骤S13的处理。
在变形例2的结构中也是,在善意的用户以一定以上的频度登记第1交易记录的情况下,保证了与实施方式相同的效果。在此,善意的用户是指对交易记录赋予电子签名的用户,是独立于对等体管理者,不会因块链的篡改而获得利益的人。
(实施方式的变形例3)
接着,对实施方式的变形例3进行说明。在变形例3的说明中,省略与上述的实施方式相同的说明,对与上述的实施方式不同的地方进行说明。
在变形例3中,对作为善意的用户的特定的用户经由终端10定期地向块链存储交易记录53的情况进行说明。在此,所谓特定的用户,例如设想在第三者的立场中广泛信用的组织。该特定的用户所使用的终端10记录“定期的第三方的访问”作为交易内容54。交易本身的记录不是目的,其目的在于定期地将交易记录53存储在块链中。在交易记录53中包含块哈希51,特定的用户能够信用,因此能够验证成为该块哈希51的计算对象的交易记录53未被篡改。
另外,检测部32在特定的用户的交易记录53未被定期地存储在块链中的情况下,也能够检测篡改。例如,在有恶意的用户进行删除交易记录53的篡改,并没有存储应该定期存储在块链中的交易记录53的一部分或全部的情况下,会发觉该块链的篡改。
另外,也可以通过仅特定的用户使用实施方式的终端10,以上述的变形例2的方式运用篡改检测系统100,但在该情况下,块链的篡改的检测会全面地依赖于特定的用户的信用。
最后,对实施方式的终端10、对等体20及检测装置30的硬件构成的例子进行说明。
[硬件构成的示例]
图9是表示实施方式的终端10、对等体20及检测装置30的硬件构成的例子的图。终端10、对等体20及检测装置30具备控制装置401、主存储装置402、辅助存储装置403、显示装置404、输入装置405及通信装置406。控制装置401、主存储装置402、辅助存储装置403、显示装置404、输入装置405及通信装置406经由总线410连接。
控制装置401执行从辅助存储装置403读出到主存储装置402的程序。主存储装置402是ROM(Read Only Memory:只读存储器)及RAM(Random Access Memory:随机存取存储器)等存储器。辅助存储装置403是HDD(Hard Disk Drive:硬盘驱动器)及存储卡等。
显示装置404显示信息。显示装置404例如是液晶显示器等。输入装置405是受理输入的接口。输入装置405例如是键盘及鼠标等。显示装置404及输入装置405也可以是具有显示功能和输入功能的触摸面板等。通信装置406是用于与其他装置进行通信的接口。
由实施方式的终端10、对等体20及检测装置30执行的程序以能够安装的形式或者能够执行的形式的文件记录在CD-ROM、存储卡、CD-R及DVD等计算机可读取的存储介质中作为计算机程序产品被提供。
另外,也可以构成为通过将由实施方式的终端10、对等体20及检测装置30执行的程序存储于与互联网等网络连接的计算机上,并经由网络下载来提供。另外,也可以构成为并不下载由实施方式的终端10、对等体20及检测装置30执行的程序而经由互联网等网络提供。
另外,也可以构成为将实施方式的终端10、对等体20及检测装置30的程序预先组装于ROM等来提供。
由实施方式的终端10、对等体20及检测装置30执行的程序,成为包含上述的图1的功能块中的通过程序也能够实现的功能块的模块结构。在该各功能块中,作为实际的硬件,控制装置401从存储介质读出程序并执行,由此将上述各功能块加载到主存储装置402上。即,上述各功能块在主存储装置402上生成。
另外,也可以不通过软件实现上述图1的各功能块的一部分或全部,而通过IC等硬件来实现。
另外,在使用多个处理器实现各功能的情况下,各处理器既可以实现各功能中的1个,也可以实现各功能中的2个以上。
另外,实施方式的终端10、对等体20及检测装置30的动作方式可以是任意的。也可以使实施方式的终端10、对等体20及检测装置30作为例如构成网络上的云系统的装置进行动作。
对本发明的几个实施方式进行了说明,但这些实施方式是作为例子而提出的,并不意图限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围内,能够进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围及主旨内,并且包含在权利要求书所记载的发明及其等同的范围内。
例如,本领域技术人员能够容易地形成的变形也包含在发明的范围及主旨内,并且包含在权利要求书所记载的发明及其等同的范围内。具体而言,例如在上述的哈希值的计算中使用的数据结构不限于链状结构及树结构。哈希值的计算方法能够进行基于各种拓扑的计算、它们的计算的组合、及计算结果的递归利用等各种变形。
Claims (11)
1.一种篡改检测系统,具备能够与1个以上的对等体中的任一个连接的1个以上的第1终端及1个以上的检测装置,
所述第1终端具备:
取得部,从所述对等体取得块链中包含的块哈希;以及
发送部,将包含第1签名对象数据及所述第1签名对象数据的电子签名在内的第1交易记录发送至所述对等体,所述第1签名对象数据包含所述块哈希和基于所述第1终端的交易内容的数据,
所述检测装置具备:
接收部,从所述对等体接收所述块链;以及
检测部,在所述块链的块中包含的第1交易记录中包含的所述电子签名不是有效的、或者所述块链中不包含与所述块中包含的所述第1交易记录中包含的所述块哈希相同的块哈希的情况下,检测所述块链的篡改。
2.根据权利要求1所述的篡改检测系统,其中,
基于所述第1终端的交易内容的数据,是所述第1终端的交易内容或者所述第1终端的交易内容的哈希值中的任一方。
3.根据权利要求1所述的篡改检测系统,其中,
所述第1签名对象数据还包含与所述块哈希相对应的块的块编号,
所述检测部,在所述第1交易记录中包含的所述电子签名有效、并且使用所述第1交易记录中包含的块编号而从所述块链中确定的块的块哈希与所述第1交易记录中包含的块哈希一致的情况下,将包含所述第1交易记录的块存储于所述块链。
4.根据权利要求3所述的篡改检测系统,其中,
所述取得部基于所述块链中包含的块哈希中的所述块编号,取得更加新的块哈希。
5.根据权利要求1所述的篡改检测系统,其中,
所述取得部基于所述块链中包含的块哈希中的生成块哈希的时刻,取得更加新的块哈希。
6.根据权利要求1所述的篡改检测系统,其中,
所述取得部取得所述块链中包括的块哈希中的、已经存储在所述块链中的第1交易记录在更多的哈希计算中使用的块哈希,作为新的块哈希。
7.根据权利要求1所述的篡改检测系统,其中,
所述取得部定期地取得所述块链中包含的块哈希,在取得了新的块哈希的情况下,将在取得所述新的块哈希之前取得的块哈希废弃。
8.根据权利要求1所述的篡改检测系统,其中,
所述篡改检测系统还具备所述1个以上的对等体,
所述对等体具备存储控制部,在所述第1交易记录中包含的所述电子签名有效、并且所述块链中包含与所述第1交易记录中包含的所述块哈希相同的块哈希的情况下,所述存储控制部将包含所述第1交易记录的块存储于所述块链。
9.根据权利要求8所述的篡改检测系统,其中,
所述篡改检测系统还具备能够与1个以上的对等体中的任一个连接的1个以上的第2终端,
所述第2终端将包含第2签名对象数据及所述第2签名对象数据的电子签名的第2交易记录发送至所述对等体,所述第2签名对象数据包含所述第2终端的交易内容,
所述存储控制部将包含所述第1交易记录及所述第2交易记录中的至少一方的块存储于所述块链。
10.根据权利要求1所述的篡改检测系统,其中,
在所述1个以上的第1终端中包含供特定的用户定期地发送所述第1交易记录的终端,
所述检测部还判定从所述特定的用户定期发送的所述第1交易记录是否包含于所述块链,在从所述特定的用户定期地发送的所述第1交易记录的一部分或全部未包含于所述块链的情况下,检测所述块链的篡改。
11.一种篡改检测系统的篡改检测方法,所述篡改检测系统具备能够与1个以上的对等体中的任一个连接的1个以上的第1终端和1个以上的检测装置,所述篡改检测系统的篡改检测方法包括:
第1终端从所述对等体取得块链中包含的块哈希的步骤;
第1终端将包含第1签名对象数据及所述第1签名对象数据的电子签名在内的第1交易记录发送至所述对等体的步骤,所述第1签名对象数据包含所述块哈希和基于所述第1终端的交易内容的数据;
检测装置从所述对等体接收所述块链的步骤;以及
检测装置在所述块链的块中包含的第1交易记录中包含的所述电子签名不是有效的、或者所述块链中未包含与所述块中包含的所述第1交易记录中包含的所述块哈希相同的块哈希的情况下,检测所述块链的篡改的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/017331 WO2019207804A1 (ja) | 2018-04-27 | 2018-04-27 | 改ざん検出システム及び改ざん検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869159A CN111869159A (zh) | 2020-10-30 |
CN111869159B true CN111869159B (zh) | 2023-05-02 |
Family
ID=68295153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880091348.2A Active CN111869159B (zh) | 2018-04-27 | 2018-04-27 | 篡改检测系统及篡改检测方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11424935B2 (zh) |
JP (1) | JP6989694B2 (zh) |
CN (1) | CN111869159B (zh) |
WO (1) | WO2019207804A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11570002B2 (en) * | 2019-05-29 | 2023-01-31 | International Business Machines Corporation | Reduced-step blockchain verification of media file |
JP7344543B2 (ja) * | 2019-07-12 | 2023-09-14 | シスナ株式会社 | 有価物管理システム |
JP6884196B1 (ja) * | 2019-12-06 | 2021-06-09 | 三菱重工業株式会社 | 検知装置、改ざん検知システム、中央サーバ、参加者サーバ、改ざん検知方法、及びプログラム |
US11949788B1 (en) | 2020-11-21 | 2024-04-02 | CodeNotary Inc. | System and method to shorten cryptographic proofs |
US11588620B2 (en) | 2020-12-30 | 2023-02-21 | Itron, Inc. | Forming a blockchain in low-bandwidth, resource-constrained network |
US11720540B2 (en) | 2020-12-30 | 2023-08-08 | Itron, Inc. | Secure blockchain data recovery |
US11762844B2 (en) * | 2020-12-30 | 2023-09-19 | Itron, Inc. | Secure trimming of blockchain in a resource-constrained network |
CN112751677A (zh) * | 2021-02-03 | 2021-05-04 | 三和智控(北京)系统集成有限公司 | 一种构建公告链及系统的方法和装置 |
CN112669023A (zh) * | 2021-02-03 | 2021-04-16 | 三和智控(北京)系统集成有限公司 | 一种构建信用券系统或数字货币系统的方法和装置 |
JP2023018905A (ja) * | 2021-07-28 | 2023-02-09 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
WO2023119398A1 (ja) * | 2021-12-21 | 2023-06-29 | 株式会社東芝 | ブロックチェーンシステム、ブロックチェーンシステム更新方法及びプログラム |
CN114615038A (zh) * | 2022-03-02 | 2022-06-10 | 广州泰创信息技术有限公司 | 一种基于区块链数据安全处理的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363495B2 (en) * | 2001-02-22 | 2008-04-22 | Bea Systems, Inc. | System and method for message encryption and signing in a transaction processing system |
CN107369010A (zh) * | 2017-07-25 | 2017-11-21 | 光载无限(北京)科技有限公司 | 一种基于区块链的电子钱包的创建方法 |
JP6234539B1 (ja) * | 2016-11-16 | 2017-11-22 | PwCあらた有限責任監査法人 | データ構造、情報処理装置、プログラム、情報処理方法及びトランザクションシステム |
JP2017224017A (ja) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | 処理システムおよび処理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160260095A1 (en) * | 2015-03-02 | 2016-09-08 | Dell Products, Lp | Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger |
US9965628B2 (en) * | 2015-03-02 | 2018-05-08 | Dell Products Lp | Device reporting and protection systems and methods using a secure distributed transactional ledger |
AU2016246428B2 (en) * | 2015-04-05 | 2017-11-09 | Digital Asset (Switzerland) GmbH | Digital asset intermediary electronic settlement platform |
WO2016164496A1 (en) * | 2015-04-06 | 2016-10-13 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
US20170236120A1 (en) * | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
US10063572B2 (en) * | 2016-03-28 | 2018-08-28 | Accenture Global Solutions Limited | Antivirus signature distribution with distributed ledger |
JP6731783B2 (ja) | 2016-05-19 | 2020-07-29 | 株式会社野村総合研究所 | 改ざん検知システム、及び改ざん検知方法 |
JP6571609B2 (ja) * | 2016-07-28 | 2019-09-04 | Kddi株式会社 | ブロックチェーンを作成するシステム及びプログラム |
US10812270B2 (en) * | 2017-04-07 | 2020-10-20 | Citizen Hex Inc. | Techniques for increasing the probability that a transaction will be included in a target block of a blockchain |
WO2019028026A1 (en) * | 2017-07-31 | 2019-02-07 | Chronicled, Inc. | SYSTEM, METHOD AND DEVICE FOR SECURE AND CONFIDENTIAL DETENTION TRANSACTION USING NO KNOWLEDGE PROTOCOL |
US10754989B2 (en) * | 2018-03-27 | 2020-08-25 | International Business Machines Corporation | Runtime self-correction for blockchain ledgers |
US10740492B2 (en) * | 2018-04-11 | 2020-08-11 | American Express Travel Related Services Company, Inc. | Data enrichment environment using blockchain |
-
2018
- 2018-04-27 CN CN201880091348.2A patent/CN111869159B/zh active Active
- 2018-04-27 WO PCT/JP2018/017331 patent/WO2019207804A1/ja active Application Filing
- 2018-04-27 JP JP2020515460A patent/JP6989694B2/ja active Active
-
2020
- 2020-09-14 US US17/019,478 patent/US11424935B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363495B2 (en) * | 2001-02-22 | 2008-04-22 | Bea Systems, Inc. | System and method for message encryption and signing in a transaction processing system |
JP2017224017A (ja) * | 2016-06-13 | 2017-12-21 | 日本電信電話株式会社 | 処理システムおよび処理方法 |
JP6234539B1 (ja) * | 2016-11-16 | 2017-11-22 | PwCあらた有限責任監査法人 | データ構造、情報処理装置、プログラム、情報処理方法及びトランザクションシステム |
CN107369010A (zh) * | 2017-07-25 | 2017-11-21 | 光载无限(北京)科技有限公司 | 一种基于区块链的电子钱包的创建方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200412549A1 (en) | 2020-12-31 |
JPWO2019207804A1 (ja) | 2020-12-03 |
WO2019207804A1 (ja) | 2019-10-31 |
JP6989694B2 (ja) | 2022-01-05 |
CN111869159A (zh) | 2020-10-30 |
US11424935B2 (en) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111869159B (zh) | 篡改检测系统及篡改检测方法 | |
CN111566649B (zh) | 使用公有侧链验证存储在联盟区块链中的数据的完整性 | |
EP3635606B1 (en) | Blockchain for general computation | |
CN108900464B (zh) | 电子装置、基于区块链的数据处理方法和计算机存储介质 | |
US10200198B2 (en) | Making cryptographic claims about stored data using an anchoring system | |
CN110800250B (zh) | 受控加密私钥的发布 | |
US9495668B1 (en) | Computing solutions to a problem involving inversion of a one-way function | |
CN110601849B (zh) | 一种可信时间戳添加方法、装置和存储介质 | |
US11893552B2 (en) | Distributed consensus algorithm and apparatus for rapidly generating block | |
US7958367B2 (en) | Authentication system and apparatus | |
US20210176058A1 (en) | Consensus method used for miner node in blockchain system and blockchain system | |
EP2348444B1 (en) | Data processing apparatus | |
CN114598541A (zh) | 一种安全评估方法及装置、电子设备和可读存储介质 | |
AU2013205125B1 (en) | Method and system for the secure transfer and verification of ownership of digital sequences | |
WO2023236884A1 (zh) | 欺诈行为检测方法、装置、电子设备及可读存储介质 | |
Bezuidenhout et al. | Permissionless blockchain systems as pseudo-random number generators for decentralized consensus | |
CN111934882B (zh) | 基于区块链的身份认证方法、装置、电子设备及存储介质 | |
CN111290733B (zh) | 结算方法、设备和存储介质 | |
CN113961911A (zh) | 模型数据发送方法、模型数据整合方法及装置 | |
Yu et al. | Collusion attacks and fair time-locked deposits for fast-payment transactions in Bitcoin | |
US20210073812A1 (en) | Multi Format Crypto Token Wallet | |
CN112883360B (zh) | 应用程序的智能注册方法、装置、计算机设备及存储介质 | |
KR102626868B1 (ko) | 키 격리 기반의 서명 방법 및 시스템 | |
CN117716366A (zh) | 验证方法、服务器、以及程序 | |
CN115118507A (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 |