CN107210910A - 为一段数据提供散列值的方法、电子设备和计算机程序 - Google Patents
为一段数据提供散列值的方法、电子设备和计算机程序 Download PDFInfo
- Publication number
- CN107210910A CN107210910A CN201680011146.3A CN201680011146A CN107210910A CN 107210910 A CN107210910 A CN 107210910A CN 201680011146 A CN201680011146 A CN 201680011146A CN 107210910 A CN107210910 A CN 107210910A
- Authority
- CN
- China
- Prior art keywords
- hash
- data
- value
- timestamp
- hashed 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.)
- Granted
Links
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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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/3242—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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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
- 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/321—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 a third party or a trusted authority
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
公开了一种为一段数据提供散列值的方法,其中散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险。方法包括为定义散列函数的散列树结构的根收集一个或多个根时间戳,其中根时间戳是来自过去的根时间戳,确定是否可以从服务器接收到现时值,并且当无法从服务器接收到现时值时,通过所述一段数据和所述根时间戳的散列函数来提供散列值,或者当成功从服务器接收到现时值时,通过所述现时值、所述一段数据和所述根时间戳的散列函数来提供散列值。还公开了一种电子设备和一种计算机程序。
Description
技术领域
本发明通常涉及一种为一段数据提供散列值的方法,其中散列值在验证时为所述一段数据规定时间戳。所述方法目的在于限制散列值之间的冲突的风险。本发明进一步涉及执行所述方法的电子设备和用于实现所述方法的计算机程序。
背景技术
“大数据”、云和物联网(IoT)是分布式数据网络的快速扩张区域和分布式数据的采集的示例。收集在多个源节点处生成的数据以用于处理和/或分析。源节点的示例包括例如在家庭自动化数据网络或者工业处理数据网络中执行测量并且提供测量数据的传感器网络。另外的示例包括生成例如用于操作安全性的事件日志记录的数据中心中的服务器。
诸如上面示例的数据网络的操作依靠从分布式数据源和控制过程接收的数据的完整性。这意味着当数据被收集时,验证自从数据离开源节点以后数据未被篡改不得不是可能的。此外,数据源不得不是可信的。这意味着所指示的源(例如由接收的数据或者包括数据的数据分组指示的源节点)是数据的实际始发者。
取决于操作安全性要求,只有收集数据的计划中的接受者可以验证完整性和可靠性的方面是不足的。相反,要求第三方可以审计源节点和收集节点之间的数据交换。用于鉴别数据源的传统技术实现了公共密钥密码技术,例如在节点之间交换的所有数据上使用具有签名的公共密钥基础设施(PKI)。
然而,生成签名在诸如传感器的简约源节点(还被称为“低端设备”)中是资源消耗的。此外,与将要被交换的数据相比,签名对带宽和/或存储的影响是不相称地大(例如,因为节点不得不为审计做好准备,所以大量签名不得不在节点中被存储相对长的时间段)。此外,可由PKI验证的签名已知是不方便建立和随时间过去维护的,尤其是如果不得不区分数据的许多源的话,即借助于不同证书来识别。
其它传统技术(例如下面被称为QI-KSI)实现了Merkle树。聚合Merkle树中的交换的数据的散列值是高效的,因为Merkle树的“根”提供所有单独的散列值的压缩的摘要,使得Merkle树减少了存储需求。然而,需要相当大的努力来安排将要被用于鉴别的树的每叶中的密钥。
Ahto Buldas、Andres Kroonmaa和Risto Laanoja已经在“Keyless Signatures’Infrastructure: How to Build Global Distributed Hash-Trees”(下面被称为[1])中、在“Efficient Quantum-Immune Keyless Signatures with Identity”(下面被称为[2])中、在“Efficient Implementation of Keyless Signatures with Hash SequenceAuthentication”(下面被称为[3])中以及在“Security Proofs for the BLT SignatureScheme”(下面被称为[4])中公开了某些原理。Ahto Buldas和Sven Laur已经在“Knowledge-Binding Commitments with Applications in Time-Stamping”(下面被称为[5])中公开了某些原理。
期望提供用于提供仍然提供相当程度的确定性的时间戳的实际实现。
发明内容
本发明基于可以通过有意的冲突来篡改使用散列函数的时间戳(即篡改的时间戳的散列结果被做成与正确的时间戳冲突)的理解。发明人已经发现通过使用时间戳的“新鲜”输入值(即在时间戳操作之前长时间无法知道的值,因此使得难以提供有意的冲突)可以限制篡改时间戳的这种方式。
根据第一方面,提供了一种为一段数据提供散列值的方法,其中散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险。所述方法包括为定义散列函数的散列树结构的根收集一个或多个根时间戳,其中根时间戳是来自过去的根时间戳,确定是否可以从服务器接收到现时值(nonce),以及当无法从服务器接收到现时值时,通过所述一段数据和所述根时间戳的散列函数来提供散列值,或者当成功从服务器接收到现时值时,通过所述现时值、所述一段数据和所述根时间戳的散列函数来提供散列值。
根时间戳可以是日历根散列。
散列函数可以是加密消息鉴别码函数。所述加密消息鉴别码函数可以是将当成功从服务器接收到现时值时的现时值和根时间戳中的至少一个用作密钥的键控的散列加密消息鉴别码函数。
来自过去的根时间戳可以包括一个或多个根散列值,其中根散列值中最老的一个从在为所述一段数据提供散列值之前的至多时间T发布的根散列发出。时间T可以取决于所述一段数据的大小,使得与更大的数据量相比,更小的数据量被给回更少的时间。
所述方法可以包括注册所提供的散列值。
根据第二方面,提供一种电子设备,所述电子设备包括被布置成实现用于限制散列值之间的冲突的风险的功能模块的处理器,其中功能模块被布置成执行根据第一方面的方法。
电子设备可以是无线设备。
电子设备可以是网络节点。
根据第三方面,提供一种包括指令的计算机程序,所述指令当在电子设备的处理器上被执行时促使电子设备执行根据第一方面的方法。
附图说明
参考附图,通过下面的本发明的优选实施例的说明性的和非限制的详细描述,将会更好地理解本发明的上面的以及附加的目的、特征和优势。
图1说明了散列树结构。
图2说明了Merkle树和对应的散列路径。
图3示意性说明了KSI体系结构。
图4说明了KSI体系结构的简化视图。
图5说明了QI-KSI中的签名文件的模型。
图6说明了QI-KSI签名协议。
图7说明了QI-KSI解决方案中的修改的OTSK。
图8是说明根据实施例的方法的流程图。
图9示意性说明了具有网络节点和无线设备的无线网络,其中可以根据实施例来实现发明。
图10示意性说明了计算机可读介质和处理设备。
具体实施方式
本文公开的某些实施例通常涉及安全性的技术领域,并且更具体地涉及散列函数的领域。为了更容易理解本发明的贡献,下面展示了对用于提供被用于时间戳的散列函数的机制的介绍。为了进一步有助于阅读本公开,下面列示了常用的缩写词。
缩写词
缩写词解释
BLT KSI的扩展
CRH 日历根散列
GW 网关
KSI 无密钥签名基础设施
HMAC 特定消息鉴别码算法构造
MAC 消息鉴别码算法(一般的)
PKI 公共密钥基础设施
TSA 时间戳授权
PKI 公共密钥基础设施
QI-KSI 量子免疫KSI,例如BLT
RH Merkle类型树的根散列
HP Merkle类型树的散列路径
LRS 散列路径的左-右序列
AHP 聚合散列路径
ARH 聚合根散列
CHP 日历散列路径
CRH 日历根散列
TTP 可信的第三方
TTP-SA 可信的第三方签名授权
CA 证书授权
SK 秘密密钥
PK 公共密钥
HC 散列链
OTSK 一次性签名密钥
OTAK 一次性鉴别密钥
对KSI的介绍
KSI代表“无密钥签名基础设施”。本节基于开放源,诸如主要关于加密的电子打印基于web的数据库的论文[1-5]的出版物,其中作者描述了KSI的不同方面。在参考文献[1-5]中使用的术语“无密钥签名”可以被视为是稍微令人误解的。从客户的角度来看,在密码术领域中可以被代替使用的另一个术语是给定散列值的“时间戳”。为了与早期的工作有一致的术语,在下面的文本中我们将仍然坚持术语KSI。
Merkle树和散列路径
图1说明了Merkle散列树,其中H是预定义的散列函数。KSI基于众所周知的Merkle散列树构造、散列树结构。散列树或Merkle树是其中每一个非叶节点用它的子节点的标签的散列来标注的树。散列树是有用的,因为它们允许大数据结构的内容的高效且安全的验证。散列树是散列列表和散列链的一般化。展示叶节点是给定散列树的一部分需要处理与树的节点的数量的对数成比例的数据量;这与其中所述量与节点的数量成比例的散列列表形成对照。图1示出了具有4个叶的这样的树的示例。树的叶是预定义的散列函数H的摘要。下一层包括具有来源于邻近的子叶的、作为叶的摘要的级联的散列的散列值h01和h23的两个节点。根散列(RH)被计算为级联h01||h23(级联的顺序是重要的)的散列。这样,给定树的叶上的值,可以计算实际上将所有的叶的值绑定在一起的根散列。即,改变任何叶中的任何值暗示了RH值的改变。
我们将使用的另一个概念是从选定的叶值开始的、为有助于导出根散列的散列值的有序序列的散列路径(HP)。图2示出了正如图2a中所说明的具有8个叶的Merkle树的示例以及正如图2b中所说明的包括RH的完整导出所需要的树的“缺失”节点的序列的针对叶h3的对应散列路径。注意,每个节点中的“缺失”散列值或者从左(L)或者从右(R)侧被添加到子的散列值。给定HP的“L”和“R”标记的有序序列是给定HP的左-右序列(LRS)。
因此,路径可以被写为4个散列值的序列{h3;h2(L);h01(L);h4567(R)},并且具有可以明确计算根散列的“L-R”标记的序列。
还值得注意的是,如果利用下列规则将LRS翻译成二进制表示,则LRS被1对1映射到叶的索引:更接近于根的L-R标记表示索引的最高有效位并且更接近于叶的L-R标记表示索引的最低有效位;将L翻译成位值1并且将R翻译成位值0。
实际上,在针对h3的散列路径的图2b中所说明的示例中,L-R序列是“RLL”并且将它翻译到正确的索引0112=3。
作为最后的注解,我们注意到,当我们穿过树时,我们实际上可以改变散列函数。在那种情形下,每个合并节点中使用的散列函数的标识符不得不被编码成路径。
KSI体系结构
在图3中示出了KSI体系结构的基础图。即,图3说明了KSI的全局Merkle树和它的层。在给定的时隙处,KSI使得对于许多用户来说将它们的散列值共同插入分布式Merkle树并且计算共同的根散列成为可能。
KSI系统体系结构包括聚合器的若干层,每个的功能性是基本上从子连接接受多个散列值、产生本地根散列并且将它推到上层以用于进一步聚合。在每层上物理上存在有分布遍及全世界的许多聚合器,但是在图3中从下面的单个客户到顶部的RH仅有一个散列路径被示出。
客户或设备可以使用被称为网关的入口点来推它自己的散列值。核心网络(CN)是将散列值累加成大的Merkle树的最后的“站”并且因此计算聚合根散列(ARH)。
另外,CN具有额外的修改的Merkle树以在给定的时间将时间戳添加到ARH。通过下述方式来组织日历树:它包括当前的ARH和过去的所有先前的ARH的历史两者。日历树的结果是日历根散列(CRH)。
作为聚合的结果,客户接收回从客户的散列值到聚合根散列的聚合散列路径(AHP)并且还接收回从ARH到实际上是CRH的全局时间戳散列值的日历散列路径(CHP)。
核心网络在规则的间隔处打拍,例如,比方说每秒一次,这意味着每一秒更新CRH和日历树。CN还保持每秒时隙的全局时间戳的历史(过去的所有历史的CRH和ARH的组合)。
这样,客户或任何别的人可以稍后验证在某个时间t的保存的聚合散列路径和日历散列路径的组合导致正确值。即,AHP的LRS可以被用作网关的静态标识符(如果网关到KSI基础设施的连接是静态的话),并且当创建了散列路径时,CHP的LRS被用来验证时间。
可以在报纸中周期性地公布全局时间戳值CRH,使得核心网络无法自己及时地将全局时间戳修改回去。
为了验证目的,可以或者离线或者在线接收CRH。对于离线使用情形,可以通过(可以是周期性地每月一次)印刷的出版物来取得CRH。对于在线验证使用情形,可以由可信的实体(或许包括证书)来对CRH签名,并且接着可以由客户和/或应用在任何时间为了验证目的来下载它。
在KSI的一般体系结构中,客户(和/或应用)的入口点是它本身可以是聚合层的网关(GW),但是基于KSI的时间戳基础设施来为各种服务另外提供客户的前端。这样,网关可以被视为应当靠近用户被定位的或者实际上在用户的侧上的基于服务器的服务引擎。
网关可以帮助的可能的服务的列表包括:给定散列值的时间戳、在对文件签名时的帮助等等。所有那些服务并不真正地是KSI的一部分,但是它们中的某些是QI-KSI的一部分。
图4说明了KSI结构的简化视图,并且我们现在可以参考KSI体系结构的简化的图4。
标识符对身份
KSI返回聚合散列路径以及日历散列路径。AHP可以被认为是网关的标识符,因为全局Merkle树中的L-R序列确定网关被连接到KSI的方式。然而,如果某些条件是有效的,则这个标识符可以是有效的:
(a)网关到KSI的叶的逻辑连接是静态的
(b)发布将网关的身份与标识符绑定的证书。
稍后我们将看到如何在QI-KSI签名模型中使用标识符。
对QI-KSI的介绍
QI-KSI代表“量子免疫KSI”。本节主要基于在本公开的介绍性部分中标识的论文[2]和[4]。
QI-KSI是KSI的扩展并且提供两种基于散列的技术。到今天为止,基于散列的密码术被认为是量子免疫的,所以这就是名字“量子免疫”的原因。QI-KSI在KSI的时间戳服务的帮助下建议基于散列的鉴别的技术和基于散列的数字签名体系结构。
用于鉴别的散列链
这是基于一次性密码技术。客户(和/或应用)选择(散列摘要的大小的)随机秘密值zn并且生成散列链(HC)如下:zi = H(zi+1)(对于i=0……n-1)并且H是选定的散列函数。
接着与客户打算向其鉴别他自己的服务器侧(经由某个信道)共享值z0。
在任何给定的时间,服务器保持值zk(开始时服务器保持值z0)。当客户想要鉴别他自己时,他使用并且向服务器发送值zk+1。服务器验证H(zk+1)=zk,并且如果值一致,则鉴别是成功的。在后面的情形中,服务器丢弃zk并且改为保持zk+1以用于将来的鉴别。
这样,一个秘密密钥zn可以适用于n个鉴别。
散列序列遍历技术
在这个方案中,每当客户想要鉴别他自己时,需要由zn来重新计算值zk。如果n是大的并且没有容量来存储或者重新计算整个散列链,则这可能是个问题。这个问题的解决方案是被称为“散列序列遍历”的技术。由D. Coppersmith和M. Jakobsson在“HMAC: Keyed-Hashing for Message Authentication”,IETF,RFC2104中建议了这样的技术。为了比仅仅从zn到zk顺序散列更快地导出zk,如果可以保持散列序列的中间散列值的log(n)的话,可以在平均log(n)时间内导出散列链的逆序。在直觉层面上,M.Jakobsson和D. Coppersmith技术的简短描述可以给出如下。假定客户可以保持值zn/2,那么任何值zk的导出将要求至多n/2个散列,而不是n个。现在让我们假定客户保持了两个中间值zn/2和zn1/4。因此,散列链zk的第一半的元素(对于k ≤ n/2)将要求重新计算至多n/4个散列。当k变得大于n/2时,在时间n1/4散列操作中可以移除中间值zn1/4并且线性导出新值zn3/4,使得同样在至多n/4个散列中可以计算散列链zk的第二半的元素(对于k>n/2)。已经证明了具有log(n)个中间散列值,用来导出逆序的散列链的总时间平均是log(n)。
QI-KSI签名模型
在图5中示出了在QI-KSI中的签名文件的模型。客户(或者网关,如果签名密钥被委托的话)需要创建秘密签名密钥并且得到来自CA的关于公共密钥的证书。在这个模型中,我们观看其中可信的第三方(TTP)相当于签名授权(TTP-SA)并且处理签名过程的一部分以及执行客户的签名请求的时间戳的解决方案。
在QI-KSI中,签名者首先创建他自己的秘密密钥和公共密钥对。签名者选定随机秘密密钥zn。接着,值的序列(散列链)被计算为zi=H(zi+1)(对于i=0……n-1)并且H是选定的散列函数。
值z0是公共密钥并且由外部认证授权(CA)生成用于公共密钥z0的相关证书。在从确定证书是有效的之后的时间的众所周知的日期开始的有效时间t0秒(从日期1970-01-01和时间 00:00:00开始的秒数)内将值z0与用户的身份绑定。更确切地说,证书应当包括至少下列字段:Cert:={客户的身份记录;z0,t0,TTP-SA的身份和标识符},其中TTP-SA的标识符可以是TTP-SA被静态附加到的全局KSI Merkle树中的叶的索引。
在QI-KSI鉴别方法中,QI-KSI签名密钥看起来与散列链相似,但是差异来自符号zk中的索引k的含义。值zk(k=1……n)被用作一次性签名密钥(OTSK),它们中的每一个只可以被用在从全局开始时间开始的正好第(t0+k)秒的某个KSI的时间帧(再次调用,核心网络以每秒一次的速度“打拍”并且产生全局时间戳值)。
QI-KSI签名协议
在图6中示出QI-KSI签名协议(参见例如论文[2])。如果客户想要在某个时隙t>t0(使得t=t0+i)对一段数据(例如某个消息M)签名,则他取得OTSK zi并且计算x=H(H(M);zi)。将x的值连同用户的ID发送到TTP-SA。TTP-SA检查客户的证书未被取消。接着,TTP-SA将x||ID的散列推到KSI以便于获得时间戳。被返回的团点Si包含TTP-SA的标识符,就是它的AHP的静态LRS、散列路径和日历路径。CA将Si发送回给用户。在返回时间戳之后,并且当前时间t变得大于t0+i秒,可以揭示OTSK zi。签名者接着公布签名为<ID,i,zi,Si>。
验证者可以检查zi实际上是z0的第i个前像,并且时间戳对应于t0+i。
用于验证的QI-KSI改进的OTSK
图7说明了QI-KSI解决方案中的修改的OTSK。正如较早描述的,在QI-KSI签名协议中,签名者可以利用散列序列反向技术在log(n)个中间散列值的帮助下来在log(n)时间内导出OTSK zi。
对于想要检查签名的验证者来说问题出现,因为他只知道zi但是需要相对于公共密钥z0来验证它。验证者并不具有那些中间散列值并且因此不得不执行从zi开始且一直走到z0的i个散列。
为了减少验证过程的时间和/或复杂性,建议对OTSKs的下列修改。正如图7中所示出的,这包括在OTSK的顶部建造又一个修改的Merkle树。
客户的证书另外地包括根散列r并且签名另外地包括从OTSK zi到根r的散列路径。因此,验证者只需要检查参与散列根生成的那个zi,并且散列路径的L-R序列被翻译成正确的索引i。
因为效率原因,签名者需要保持散列树的相关部分,并且在签名过程中可以利用log(n)个中间散列值来在log(n)时间内部分地重新计算通向根散列r的散列树的部分。那个计算还要求以高效的方式知道其它值zi,但是另一方面却可以如美国临时专利申请No62/118,808中所展示的那样利用散列链遍历技术来做这部分。
与KSI同步
重要的是由TTP-SA返回的Si对应于已经由客户使用的OTSK zi。QI-KSI建议客户实际上需要使用3个(或多于3个)密钥zi、zi+1和zi+2并且将并行请求发送到TTP-SA以用于时间戳的想法。签名者将获得3个时间戳S’,但是戳的时间将对应于zi……zi+2中的唯一一个。
全部这个还意味着签名者可以产生每3个时隙一个签名,即每3秒一个签名。
主要由于签名者具有在时间方面进行发现冲突所需要的计算的可能性的事实导致发现冲突的能力是不希望有的效果。可以通过减少签名者不得不执行他的计算的时间来减轻问题。理想地,签名者只获得散列它的数据所需要的时间。这样的解决方案(类似比利时卡ID eID中的一个解决方案)使用可信的时间戳代理(TSA)。这里,通过与TSA的交互,直到TSA传递第一时间戳才开始执行散列。这可以防止不诚实的用户进行为了发现一对D和D’所需要的计算,但是它还意味着它将在用户可以诚实地处理的数据的量方面限制他/她。另外,在KSI的上下文中,只在给定的间隔处发布时间戳,并且用户以KSI散列树的根散列值的形式来仅仅散列已经过去的时间的时间戳。因此到比利时的eID时为止的解决方案无法被应用于KSI并且我们愿意避免具有对可以被处理的数据的量的限制,即使由于计算资源导致的某些限制将是不可避免的。
其中不诚实的用户愿意设法发现冲突的情形的示例将是是否用户愿意创建两个文件Dreal和Dfake,其中Hash(Dreal)将等于Hash(Dfake)。想象下列情况。用户创建文件Dreal并且将值放入KSI散列树中。用户取回时间戳并且现在具有匹配文件的时间戳。然而,用户也已经创建了对他更有益的文件Dfake。用户现在还可以使时间戳与Dfake文件匹配并且主张Dfake文件是真实的文件。不同的文件可以例如包含价格信息或者其它商业协定,其中Dfake文件对用户更有益。实际上,如果用户具有充足的时间,则可以做这个,并且这个具有操作Dreal和Dfake两者以便于发现其中Dreal和Dfake两者看起来令人信服且有用以及其中它们两者生成相同的散列值(意味着Hash(Dreal)等于Hash(Dfake))的组合的可能性。
根据某些实施例,如果文件将要在散列树中被加以时间戳,那么用户不得不a)使用来自过去的至少一个或多个根时间戳并且b)在提交文件的散列时的过程中至少使用由KSI GW给出的现时值。通过使用散列的适当选定或者优选地MAC函数,用户没有更长的时间来搜索冲突。在特定的实施例中,由于怀有恶意的用户本质上没有时间来执行必要的计算的事实导致以使得极其难以发现冲突的方式来执行散列计算。因此,当与类似在BLT中的签名特征结合被使用时,这给出了更安全的数字签名。这可以例如防止不同种类的欺诈情况,像上面提及的一种情况。验证者还可以做出合理的假设:签名者在对于消息的长度来说是合理的时间开始他的散列处理。
在上面,描述了可能的上下文,其中可以有利地使用本文所公开的实施例。然而,在其它上下文中也可以有利地使用本文所公开的某些实施例。本文公开了多个实施例。某些实施例基于导致更高效使用硬件资源(诸如处理器和/或存储器)的实现,这又可以导致减少的能量消耗和/或减少所需的硬件。
请注意,在下面讨论散列函数时,在某些实施例中,可以以首先处理最左边的参数并且接着处理最左边的参数的右边的参数等等的方式顺序地用数据供给函数Hash。因此,参数的次序可以是重要的。然而,作为结果的函数HT只是概念符号并且在这里参数的次序可以不具有重要性。
在某些实施例中,如果文件将要在散列树中被加以时间戳,则应用不会呈现数据D的散列,而是应用完全无法预先进行的计算的结果。应用取得来自过去的开始时间戳散列并且开始散列过程。例如,可以使用日历根散列(CRH)(可以使用GW处可得到的不可预测的(从应用的观点)值的其它选择)。在散列计算期间,应用可以被或者可以不被要求在散列过程中在预先确定的或者随机的间隔处添加还处在过去的后续的CRH值,例如
其中crh(tx)表示时间tx处的CRH的值并且t1<t2<…<tk。另外,数据D可以被分成段D0、D1等等,其中D0被认为是第一段并且D1在后面等等。当大的日志数据文件不得不被散列时,这可能是方便的,因为应用可以较早地开始散列。如果应用通过仅仅为少量数据在时间上老早就开始过程来设法赢得时间的话,则看见这个的验证者可能会变得怀疑。因此,我们从此以后假定t1在时间上是可接受地且充分地往回去的,但是不会更多,以允许散列将要被执行。
某些实施例可以通过迫使用户散列取决于用户将(例如,借助于客户软件从服务器)接收的随机现时值r来实现防冲突的甚至更好的保护。例如,KSI解决方案中的API可以允许用户客户向正在网关GW中运行的服务器请求现时值。
因此r到用户的传递和用户提交HT(D,CRH,r))之间的时间是在若干微秒内。注意,与较早描述的TSA情形相比,这更高效,因为r可不需要被加以时间戳。在TSA情形中,它是TSA签名的数据对象,包含时间、随机值以及可能其它数据,并且因此是计算成本高的(时间复杂)。
现在,为了简化进一步的讨论,假定我们没有插入中间时间戳crh(t2)、…、crh(tn)。让我们还表示s=crh(t1)。在这种情形下,我们可以简单地写
(1)
在上面,当将s和现时值r看作密钥时,HT可以被看作键控的散列函数并且因此可以被视作加密消息鉴别码(MAC)函数。安全性可以通过使用具有像HMAC的被证实的良好性质的MAC函数而因此被改进[7]。但是,因为HMAC被定义使得
其中对于加密Hash函数来说,其中通过在字节长度B的数据的块(这个块大小对于压缩函数来说是内部的并且与或者数据D的大小或者段D0、D1等等的大小无关)上迭代基本压缩函数来散列数据。
ipad=字节0x36重复的B次
opad=字节0x5C重复的B次。
在散列过程的开始不得不知道r的值,在我们的设置中,情况并非如此,也不是期望的某事。通过重新定义HMAC为
(2)
我们可以解决这个问题。可以以各种方式来定义Z(s,r)。解决方案可以是具有Z(s,r)=r。使得Z(s,r)取决于s和r两者的解决方案将是备选方案,其中一个示例可以是将Z定义为比特流z[i]、z[i+1]等等,其中根据下列来定义z[i]:
如果r[i]等于0,则z[2i]=s[i],并且z[2i+1]=r[i]
如果r[i]等于1,则z[2i]=r[i],并且z[2i+1]=s[i]
其中i=0、……、m-1,m是r和s的比特长度。如果例如由于现有的硬件实现导致修改的HMAC的使用是不可能的,则可以使用下列备选方案
(3)
因此我们由等式(1-3)看到使用普通的散列或MAC函数以及先前的根散列值来阻止冲突搜索的改进的散列是可行的。在我们的讨论中,我们使用CRH值,因为这些在GW处是可得到的。在与GW的交互是不可能接收到现时值的情形下,如由(3)定义的所提交的散列简单变为
(4)
注意,可以使用其它MAC构造,而不是HMAC。
在某些实施例中,与提交现时值结合来使用过去的时间戳以防止用户有时间来执行冲突的搜索。用户基本上没有时间来进行多个计算以便于发现当通过散列函数运行时将生成相同的散列码的两个消息。在一个实施例中,用户设备可以基于数据,使用一对或多对旧日历值Hcr(x)和数据Dy的段作为indata(进入数据)来计算散列值,接着注册散列值并且接收时间戳。在另一个实施例中,用户设备可以基于数据,使用一对或多对旧日历值Hcr(x)和数据Dy的段作为indata(进入数据)以及从KSI网关获得现时值来计算散列值,接着注册散列值并且接收时间戳。
在另一个实施例中,保持散列三结构的设备的不同部件将在预先确定的间隔处共同处理所呈现的数据的导出值以获得被公布的被称为时间戳的根散列值,使得将要被处理的所呈现的散列值取决于先前公布的根散列值。由先前呈现的公式可以容易地理解其它实施例。
图8是示意性说明根据实施例的方法的流程图。方法为一段数据提供散列值。散列值在验证时为所述一段数据规定时间戳。方法的益处是限制散列值之间的冲突的风险,特别是对于篡改时间戳的有意冲突。方法包括为定义散列函数的散列树结构的根收集一个或多个根时间戳。根时间戳是来自过去的根时间戳。方法可以因此包括收集100较早的时间戳的根散列并且计算102所述一段数据的散列。可以例如根据预先确定的规则或政策来确定104是否需要更多的较早的时间戳的根散列。如果需要另外的根散列(是),则利用另外的根散列重复步骤100-104。如果不需要另外的根散列(否),设法从服务器接收106现时值。方法进一步包括确定108是否可以从服务器接收到现时值。当无法从服务器接收到现时值时,方法通过所述一段数据和所述根时间戳的散列函数来提供110散列值。当成功从服务器接收到现时值时,方法通过所述现时值、所述一段数据和所述根时间戳的散列函数来提供112散列值。根时间戳可以是日历根散列。散列函数可以是加密消息鉴别码函数。加密消息鉴别码函数可以是键控的散列加密消息鉴别码函数。当成功从服务器接收到现时值时,键控的散列加密消息鉴别码函数可以将现时值用作密钥。键控的散列加密消息鉴别码函数可以将根时间戳用作密钥。 这些的组合也是可行的。来自过去的根时间戳可以包括一个或多个根散列值。可以选择根散列值中最老的一个根散列值来从在为所述一段数据提供散列值之前的至多时间T发布的根散列发出。时间T可以取决于所述一段数据的大小,使得与更大的数据量相比,更小的数据量被给回更少的时间。这些约束可以为避免对于篡改时间戳的有意冲突做准备。方法可以包括注册114所提供的散列值。
图9说明了根据特定的实施例的包括网络节点200和无线设备(WD)210的更详细视图的无线网络。为简单起见,图2只描绘了网络220、网络节点200和200a以及WD 210。网络节点200包括处理器202、存储装置203、接口201和天线201a。同样地,WD 210包括处理器212、存储装置213、接口211和天线211a。这些部件可以一起工作以便于提供网络节点和/或无线设备功能性,诸如提供无线网络中的无线连接并且考虑估计的DL CC的变化。在不同的实施例中,无线网络可以包括任何数量的有线或无线网络、网络节点、基站、控制器、无线设备、中继站和/或可以无论是经由有线连接还是经由无线连接有助于或参与数据和/或信号的传递的任何其它部件。
网络220可以包括IP网络、公共交换电话网络(PSTN)、分组数据网络、光网络、广域网(WAN)、局域网(LAN)、无线局域网(WLAN)、有线网络、无线网络、城域网和使能设备之间通信的其它网络中的一个或多个。
网络节点200包括处理器202、存储装置203、接口201和天线201a。这些部件被描绘为位于单个更大盒子内的单独的盒子。然而,实际上,网络节点可以包括组成单个说明的部件的多个不同的物理部件(例如,接口201可以包括用于耦合有线连接的线的端子和用于无线连接的无线电收发器)。同样地,网络节点200可以由可以各自具有它们自己的相应处理器、存储装置和接口部件的多个物理上分离的部件(例如,NodeB部件和RNC部件、BTS部件和BSC部件等等)组成。在其中网络节点200包括多个分离的部件(例如,BTS和BSC部件)的某些情况中,可以在若干网络节点之中共享分离的部件中的一个或多个部件。例如,单个RNC可以控制多个NodeB。在这样的情况下,每个唯一的NodeB和BSC对可以是分离的网络节点。在某些实施例中,网络节点200可以被配置成支持多个无线电接入技术(RAT)。在这样的实施例中,可以复制某些部件(例如,用于不同RAT的分离的存储装置203)并且可以再次使用某些部件(例如,相同的天线201a可以被RAT共享)。
处理器202可以是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门列阵、或者任何其它合适的计算设备、资源当中的一个或多个的组合,或者是或单独地或与其它网络节点200部件(诸如存储装置203)结合能够操作用来提供网络节点200功能性的硬件、软件和/或编码逻辑的组合。例如,处理器202可以执行存储在存储装置203中的指令。这样的功能性可以包括将本文讨论的各种无线特征提供给包括本文公开的特征或益处中的任何特征或益处的无线设备,诸如WD 210。
存储装置203可以包括任何形式的易失性或非易失性计算机可读存储器,包括(不限于)持久性存储装置、固态存储器、远程安装的存储器、磁媒体、光媒体、随机存取存储器(RAM)、只读存储器(ROM)、可移动媒体或者任何其它合适的本地或远程存储器部件。存储装置203可以存储由网络节点200利用的、包括软件和编码逻辑的任何合适的指令、数据或信息。可以使用存储装置203来存储由处理器202进行的任何计算和/或经由接口201接收的任何数据。
网络节点200还包括可以被用于网络节点200、网络220、和/或WD 210之间的信令和/或数据的有线或无线传递的接口201。例如,接口201可以执行可以被需要以允许网络节点200通过有线连接发送数据和从网络200接收数据的任何格式化、译码或翻译。接口201还可以包括可以被耦合到天线201a或天线201a的一部分的无线电发射器和/或接收器。无线电可以接收将经由无线连接被发出去到其它网络节点或WD的数字数据。无线电可以将数字数据转换成具有适当的信道和带宽参数的无线电信号。接着可以经由天线201a将无线电信号传输到适当的接收者(例如WD 210)。
天线201a可以是能够无线传输和接收数据和/或信号的任何类型的天线。在某些实施例中,天线201a可以包括可操作用来在例如2 GHz和66 GHz之间传输/接收无线电信号的一个或多个全向、扇形或面板天线。可以使用全向天线来在任何方向上传输/接收无线电信号,可以使用扇形天线来从特定区域内的设备传输/接收无线电信号,并且面板天线可以是被用来在相对直的线上传输/接收无线电信号的视线天线。
WD 210可以是能够将数据和/或信号无线发送到网络节点(诸如网络节点200和/或其它WD)和从网络节点(诸如网络节点200和/或其它WD)无线接收数据和/或信号的任何类型的无线端点、移动站、移动电话、无线本地环路电话、智能电话、用户设备、桌上型计算机、PDA、蜂窝电话、平板电脑、膝上型电脑、VoIP电话或者手机。WD 210包括处理器212、存储装置213、接口211和天线211a。和网络节点200一样,WD 210的部件被描绘为位于单个更大盒子内的单独的盒子,然而,实际上,无线设备可以包括组成单个说明的部件的多个不同的物理部件(例如,存储装置213可以包括多个分立的微芯片,每个微芯片表示总存储装置容量的一部分)。
处理器212可以是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门列阵、或者任何其它合适的计算设备、资源当中的一个或多个的组合,或者是或单独地或与其它WD 210部件(诸如存储装置213)结合能够操作用来提供WD 210功能性的硬件、软件和/或编码逻辑的组合。这样的功能性可以包括提供本文讨论的各种无线特征,包括本文公开的特征或益处中的任何特征或益处。
存储装置213可以是任何形式的易失性或非易失性存储器,包括(不限于)持久性存储装置、固态存储器、远程安装的存储器、磁媒体、光媒体、随机存取存储器(RAM)、只读存储器(ROM)、可移动媒体或者任何其它合适的本地或远程存储器部件。存储装置213可以存储由WD 210利用的、包括软件和编码逻辑的任何合适的数据、指令或信息。可以使用存储装置213来存储由处理器212进行的任何计算和/或经由接口211接收的任何数据。
接口211可以被用于WD 210和网络节点200之间的信令和/或数据的无线传递。例如,接口211可以执行可以被需要以允许WD 210通过无线连接发送数据和从网络节点200接收数据的任何格式化、译码或翻译。接口211还可以包括可以被耦合到天线211a或者天线211a的一部分的无线电发射器和/或接收器。无线电可以接收将经由无线连接被发出去到网络节点201的数字数据。无线电可以将数字数据转换成具有适当的信道和带宽参数的无线电信号。接着可以经由天线211a将无线电信号传输到网络节点200。
天线211a可以是能够无线传输和接收数据和/或信号的任何类型的天线。在某些实施例中,天线211a可以包括可操作用来在2 GHz和66 GHz之间传输/接收无线电信号的一个或多个全向、扇形或面板天线。为简单起见,就无线信号正在被使用的方面来说,天线211a可以被认为是接口211的一部分 。
在某些实施例中,上面描述的不见可以被用来实现在用于基于散列树的时间戳的冲突阻止方法中使用的一个或多个功能模块。功能模块可以包括软件、计算机程序、子程序、库、源代码或者由例如处理器运行的任何其它形式的可执行指令。一般地说,可以在硬件中和/或在软件中实现每个功能模块。优选地,可以由处理器212和/或202、可能与存储装置213和/或203合作来实现一个或多个或所有功能模块。处理器212和/或202以及存储装置213和/或203可以因此被布置成允许处理器212和/或202从存储装置213和/或203提取指令并且执行所提取的指令以允许相应的功能模块来执行本文公开的任何特征或功能。模块可以进一步被配置成执行未在本文中明确描述但是将会在本领域技术人员所能了解的范围内的其它功能或步骤。
根据本发明的方法适合于借助于处理装置(诸如计算机和/或处理器)的实现,尤其适合于其中上面展示的处理元件202、212包括处理安全性功能的处理器的情形。因此,提供了包括被布置成促使处理装置、处理器或计算机执行根据参考图8所描述的实施例中的任何实施例的方法中的任何方法的步骤的指令的计算机程序。正如在图10中所说明的,计算机程序优选地包括在计算机可读介质1000上存储的程序代码,其可以由处理装置、处理器、或计算机1002加载并且执行以促使它相应地执行根据本发明的实施例(优选地如参考图8所描述的实施例中的任何实施例)的方法。计算机1002和计算机程序产品1000可以被布置成顺序执行程序代码,其中逐步地执行方法中的任何方法中的动作。处理装置、处理器或计算机1002优选地是通常被称为嵌入式系统的事物。因此,图10中的所描绘的计算机可读介质1000和计算机1002应当被解释为仅仅是出于说明目的来提供原理的理解,并且不被解释为元件的任何直接说明。
Claims (11)
1.一种为一段数据提供散列值的方法,其中所述散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险,所述方法包括
为定义散列函数的散列树结构的根收集(100)一个或多个根时间戳,其中所述根时间戳是来自过去的根时间戳;
确定(108)是否能够从服务器接收到现时值;以及
当无法从所述服务器接收到所述现时值时,通过所述一段数据和所述根时间戳的散列函数来提供(110)所述散列值,或者
当成功从所述服务器接收到所述现时值时,通过所述现时值、所述一段数据和所述根时间戳的所述散列函数来提供(112)所述散列值。
2.如权利要求1所述的方法,其中所述根时间戳是日历根散列。
3.如权利要求1或2所述的方法,其中所述散列函数是加密消息鉴别码函数。
4.如权利要求3所述的方法,其中所述加密消息鉴别码函数是将当成功从所述服务器接收到所述现时值时的所述现时值和所述根时间戳中的至少一个用作密钥的键控的散列加密消息鉴别码函数。
5.如权利要求1至4中的任何一项所述的方法,其中来自过去的所述根时间戳包括一个或多个根散列值,并且所述根散列值中最老的一个根散列值从在为所述一段数据提供所述散列值之前的至多时间T发布的根散列发出。
6.如权利要求5所述的方法,其中所述时间T取决于所述一段数据的大小,使得与更大的数据量相比,更小的数据量被给回更少的时间。
7.如权利要求1至6中的任何一项所述的方法,包括注册(114)所提供的散列值。
8.一种电子设备(200,210),包括被布置成实现用于限制散列值之间的冲突的风险的功能模块的处理器(202,212),其中所述功能模块被布置成执行根据权利要求1至7中的任何一项所述的方法。
9.如权利要求8所述的电子设备,是无线设备(210)。
10.如权利要求8所述的电子设备,是网络节点(200)。
11.一种计算机程序,包括指令,所述指令当在电子设备(200,210)的处理器(202,212,1002)上被执行时促使所述电子设备(200,210)执行根据权利要求1至7中的任何一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562118973P | 2015-02-20 | 2015-02-20 | |
US62/118,973 | 2015-02-20 | ||
PCT/EP2016/050857 WO2016131575A1 (en) | 2015-02-20 | 2016-01-18 | Method of providing a hash value for a piece of data, electronic device and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107210910A true CN107210910A (zh) | 2017-09-26 |
CN107210910B CN107210910B (zh) | 2021-03-23 |
Family
ID=55229655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680011146.3A Active CN107210910B (zh) | 2015-02-20 | 2016-01-18 | 为一段数据提供散列值的方法、电子设备和计算机程序 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10396995B2 (zh) |
EP (1) | EP3259873B1 (zh) |
CN (1) | CN107210910B (zh) |
PL (1) | PL3259873T3 (zh) |
WO (1) | WO2016131575A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113261039A (zh) * | 2019-01-23 | 2021-08-13 | 索尼集团公司 | 信息处理装置、信息处理方法和信息处理程序 |
US11316669B2 (en) | 2018-10-10 | 2022-04-26 | Tencent Technology (Shenzhen) Company Limited | Audit result data storage method and device, audit result data query method and device, and audit item storage method and device |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977109B1 (ko) * | 2015-11-17 | 2019-08-28 | (주)마크애니 | 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법 |
EP3378190A4 (en) * | 2015-11-22 | 2019-06-26 | Unbound Tech Ltd | METHOD OF IMPLEMENTING KEY MESSAGE AUTHENTICATION CODE (HMAC) USING A MULTIPARTITE CALCULATION WITHOUT BOOLEAN DOORS |
GB2548851B (en) * | 2016-03-30 | 2018-07-25 | The Ascent Group Ltd | Validation of the integrity of data |
JP6818623B2 (ja) * | 2017-04-27 | 2021-01-20 | 株式会社東芝 | 情報処理装置 |
JP6685968B2 (ja) * | 2017-05-15 | 2020-04-22 | Kddi株式会社 | データ管理システム、データ管理方法及びデータ管理プログラム |
DE112018002942T5 (de) * | 2017-07-06 | 2020-03-05 | Robert Bosch Gmbh | Verfahren und System zur datenschutzwahrenden Social-Media-Werbung |
US11184176B2 (en) * | 2018-09-26 | 2021-11-23 | Guardtime Sa | System and method for generating data signatures over non-continuously bidirectional communication channels |
US20200259663A1 (en) * | 2019-02-07 | 2020-08-13 | Guardtime Sa | One-Time Data Signature System and Method with Untrusted Server Assistance |
CN110991955B (zh) * | 2019-11-27 | 2023-04-18 | 太原理工大学 | 一种基于信息矩的组群数量多样性估计方法 |
CN113438089A (zh) * | 2021-06-29 | 2021-09-24 | 山东新一代标准化研究院有限公司 | 一种基于区块链的电力物联网设备通信方法及其网络设备 |
CN113420250A (zh) * | 2021-07-19 | 2021-09-21 | 卢恩妍 | 一种基于物联网的数据控制方式及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319290A (zh) * | 1998-08-18 | 2001-10-24 | Rlj时标公司 | 借助于二进制链接方案的时间标记 |
CN101534196A (zh) * | 2008-03-12 | 2009-09-16 | 因特伟特公司 | 用于安全调用rest api的方法和装置 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097811A (en) | 1995-11-02 | 2000-08-01 | Micali; Silvio | Tree-based certificate revocation system |
US8171524B2 (en) | 1995-10-02 | 2012-05-01 | Corestreet, Ltd. | Physical access control |
US7353396B2 (en) | 1995-10-02 | 2008-04-01 | Corestreet, Ltd. | Physical access control |
US6397329B1 (en) | 1997-11-21 | 2002-05-28 | Telcordia Technologies, Inc. | Method for efficiently revoking digital identities |
FI107205B (fi) | 1999-02-16 | 2001-06-15 | Sonera Oyj | Menetelmä tiedon turvaamiseksi |
US7409557B2 (en) | 1999-07-02 | 2008-08-05 | Time Certain, Llc | System and method for distributing trusted time |
KR100771258B1 (ko) | 2000-05-09 | 2007-10-29 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 본인 인증 시스템과 본인 인증 방법 및 휴대 전화 장치 |
US7478243B2 (en) | 2001-03-21 | 2009-01-13 | Microsoft Corporation | On-disk file format for serverless distributed file system with signed manifest of file modifications |
US20020184504A1 (en) | 2001-03-26 | 2002-12-05 | Eric Hughes | Combined digital signature |
US7340610B1 (en) | 2004-08-31 | 2008-03-04 | Hitachi, Ltd. | Trusted time stamping storage system |
JP4788213B2 (ja) | 2005-07-13 | 2011-10-05 | 富士ゼロックス株式会社 | タイムスタンプ検証プログラム及びタイムスタンプ検証システム |
WO2007087363A2 (en) | 2006-01-24 | 2007-08-02 | Brown University | Efficient content authentication in peer-to-peer networks |
JP2007243574A (ja) | 2006-03-08 | 2007-09-20 | Konica Minolta Business Technologies Inc | タイムスタンプ取得装置、タイムスタンプ取得方法及びタイムスタンプ取得プログラム |
US8086842B2 (en) | 2006-04-21 | 2011-12-27 | Microsoft Corporation | Peer-to-peer contact exchange |
DE602006006454D1 (de) | 2006-10-10 | 2009-06-04 | Ntt Docomo Inc | Verfahren und Vorrichtung zur Authentifizierung |
JP4477616B2 (ja) | 2006-10-19 | 2010-06-09 | 株式会社日立製作所 | 署名システム及び署名方法 |
US8352737B2 (en) | 2007-12-20 | 2013-01-08 | Nokia Corporation | Methods, apparatuses, and computer program products for authentication of fragments using hash trees |
JP2009182864A (ja) | 2008-01-31 | 2009-08-13 | Hitachi Kokusai Electric Inc | 署名装置、検証装置、プログラム、署名方法、検証方法及びシステム |
US8397062B2 (en) | 2009-04-21 | 2013-03-12 | University Of Maryland, College Park | Method and system for source authentication in group communications |
TWI399960B (zh) | 2009-12-24 | 2013-06-21 | Univ Vanung | The use of semi-anonymous voucher data group network reporting method |
JP2011205234A (ja) | 2010-03-24 | 2011-10-13 | Nec Corp | タイムスタンプ付与システム、タイムスタンプ付与方法、タイムスタンプ付与プログラム |
US8956231B2 (en) * | 2010-08-13 | 2015-02-17 | Cfph, Llc | Multi-process communication regarding gaming information |
CN103416021B (zh) | 2011-03-16 | 2016-08-17 | 国际商业机器公司 | 用于实现数字签名审核的方法、系统和装置 |
US8874921B2 (en) | 2011-06-20 | 2014-10-28 | Guardtime IP Holdings, Ltd. | System and method for generating keyless digital multi-signatures |
US9106567B2 (en) | 2011-12-21 | 2015-08-11 | Silver Spring Networks, Inc. | System and method for setting a path to an access point across a wireless mesh network |
US8850199B2 (en) | 2012-04-27 | 2014-09-30 | Certicom Corp. | Hashing prefix-free values in a signature scheme |
EP2891267B1 (en) | 2012-08-30 | 2022-04-06 | Triad National Security, LLC | Multi-factor authentication using quantum communication |
TWI483138B (zh) | 2012-10-12 | 2015-05-01 | Acer Inc | 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體 |
KR101640210B1 (ko) | 2013-01-16 | 2016-07-15 | 한국전자통신연구원 | 도메인 내 경로 설정 및 검증을 위한 패킷 처리장치 및 그 방법 |
US20140245020A1 (en) | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification System and Method with Extra Security for Lower-Entropy Input Records |
US9268969B2 (en) | 2013-08-14 | 2016-02-23 | Guardtime Ip Holdings Limited | System and method for field-verifiable record authentication |
US9178708B2 (en) * | 2013-12-02 | 2015-11-03 | Guardtime Ip Holdings Limited | Non-deterministic time systems and methods |
US9614682B2 (en) | 2014-04-11 | 2017-04-04 | Guardtime IP Holdings, Ltd. | System and method for sequential data signatures |
US9608829B2 (en) * | 2014-07-25 | 2017-03-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
US10193696B2 (en) | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
US10841097B2 (en) | 2016-07-08 | 2020-11-17 | Mastercard International Incorporated | Method and system for verification of identity attribute information |
-
2016
- 2016-01-18 WO PCT/EP2016/050857 patent/WO2016131575A1/en active Application Filing
- 2016-01-18 CN CN201680011146.3A patent/CN107210910B/zh active Active
- 2016-01-18 PL PL16701429T patent/PL3259873T3/pl unknown
- 2016-01-18 EP EP16701429.9A patent/EP3259873B1/en active Active
- 2016-01-18 US US15/310,756 patent/US10396995B2/en active Active
-
2019
- 2019-08-13 US US16/538,926 patent/US10972284B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319290A (zh) * | 1998-08-18 | 2001-10-24 | Rlj时标公司 | 借助于二进制链接方案的时间标记 |
CN101534196A (zh) * | 2008-03-12 | 2009-09-16 | 因特伟特公司 | 用于安全调用rest api的方法和装置 |
Non-Patent Citations (2)
Title |
---|
AHTO BULDAS: "Optimally Efficient Accountable Time-Stamping", 《SPRINGER-VERLAG BERLIN HEIDELBERG》 * |
YIH-CHUN HU1,MARKUS JAKOBSSON,ADRIAN PERRIG: "Efficient Constructions for One-Way Hash Chains", 《SPRINGER-VERLAG BERLIN HEIDELBERG》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316669B2 (en) | 2018-10-10 | 2022-04-26 | Tencent Technology (Shenzhen) Company Limited | Audit result data storage method and device, audit result data query method and device, and audit item storage method and device |
US11700113B2 (en) | 2018-10-10 | 2023-07-11 | Tencent Technology (Shenzhen) Company Limited | Audit result data storage method and device, audit result data query method and device, and audit item storage method and device |
CN113261039A (zh) * | 2019-01-23 | 2021-08-13 | 索尼集团公司 | 信息处理装置、信息处理方法和信息处理程序 |
Also Published As
Publication number | Publication date |
---|---|
US10396995B2 (en) | 2019-08-27 |
US20170126410A1 (en) | 2017-05-04 |
PL3259873T3 (pl) | 2019-07-31 |
WO2016131575A1 (en) | 2016-08-25 |
CN107210910B (zh) | 2021-03-23 |
US20190372774A1 (en) | 2019-12-05 |
EP3259873B1 (en) | 2018-12-12 |
EP3259873A1 (en) | 2017-12-27 |
US10972284B2 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107210910A (zh) | 为一段数据提供散列值的方法、电子设备和计算机程序 | |
US10511440B2 (en) | Methods of proving validity and determining validity, electronic device, server and computer programs | |
EP3130104B1 (en) | System and method for sequential data signatures | |
CN112199649B (zh) | 基于区块链的移动边缘计算下的匿名身份验证方法 | |
Sato et al. | Long-term public blockchain: Resilience against compromise of underlying cryptography | |
US20170155647A1 (en) | Method for setting up a secure end-to-end communication between a user terminal and a connected object | |
EP3202103B1 (en) | Technique for handling data in a data network | |
Yadav et al. | An EAP-based mutual authentication protocol for WLAN-connected IoT devices | |
EP4062299A1 (en) | Multi-party and multi-use quantum resistant signatures and key establishment | |
US11184176B2 (en) | System and method for generating data signatures over non-continuously bidirectional communication channels | |
US20160315779A1 (en) | Entity Authentication in Network | |
US11277269B2 (en) | System and methods for generating and authenticating verifiable network traffic | |
Ding et al. | Equipping smart devices with public key signatures | |
Gehani et al. | Past: probabilistic authentication of sensor timestamps | |
CN113438089A (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 |