为一段数据提供散列值的方法、电子设备和计算机程序技术

技术编号:16309495 阅读:41 留言:0更新日期:2017-09-27 03:08
公开了一种为一段数据提供散列值的方法,其中散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险。方法包括为定义散列函数的散列树结构的根收集一个或多个根时间戳,其中根时间戳是来自过去的根时间戳,确定是否可以从服务器接收到现时值,并且当无法从服务器接收到现时值时,通过所述一段数据和所述根时间戳的散列函数来提供散列值,或者当成功从服务器接收到现时值时,通过所述现时值、所述一段数据和所述根时间戳的散列函数来提供散列值。还公开了一种电子设备和一种计算机程序。

Method for providing hash value for a piece of data, electronic device and computer program

A method is disclosed for providing hash values for a piece of data in which the hash value sets a timestamp for the section of data at verification time to limit the risk of conflicts between hash values. The method includes collecting one or more timestamps for the root hash tree structure defines the hash function of the root, the root is the root of the timestamp timestamp from the past, can determine whether the current value received from the server, and when not received from the server when the current value, through a hash function of the data and the root of the timestamp to provide the hash value, or when the success of the current value received from the server, through the hash function is time, the section data and the time stamp to provide the root hash value. An electronic device and a computer program are also disclosed.

【技术实现步骤摘要】
【国外来华专利技术】为一段数据提供散列值的方法、电子设备和计算机程序
本专利技术通常涉及一种为一段数据提供散列值的方法,其中散列值在验证时为所述一段数据规定时间戳。所述方法目的在于限制散列值之间的冲突的风险。本专利技术进一步涉及执行所述方法的电子设备和用于实现所述方法的计算机程序。
技术介绍
“大数据”、云和物联网(IoT)是分布式数据网络的快速扩张区域和分布式数据的采集的示例。收集在多个源节点处生成的数据以用于处理和/或分析。源节点的示例包括例如在家庭自动化数据网络或者工业处理数据网络中执行测量并且提供测量数据的传感器网络。另外的示例包括生成例如用于操作安全性的事件日志记录的数据中心中的服务器。诸如上面示例的数据网络的操作依靠从分布式数据源和控制过程接收的数据的完整性。这意味着当数据被收集时,验证自从数据离开源节点以后数据未被篡改不得不是可能的。此外,数据源不得不是可信的。这意味着所指示的源(例如由接收的数据或者包括数据的数据分组指示的源节点)是数据的实际始发者。取决于操作安全性要求,只有收集数据的计划中的接受者可以验证完整性和可靠性的方面是不足的。相反,要求第三方可以审计源节点和收集节点之间的数据交换。用于鉴别数据源的传统技术实现了公共密钥密码技术,例如在节点之间交换的所有数据上使用具有签名的公共密钥基础设施(PKI)。然而,生成签名在诸如传感器的简约源节点(还被称为“低端设备”)中是资源消耗的。此外,与将要被交换的数据相比,签名对带宽和/或存储的影响是不相称地大(例如,因为节点不得不为审计做好准备,所以大量签名不得不在节点中被存储相对长的时间段)。此外,可由PKI验证的签名已知是不方便建立和随时间过去维护的,尤其是如果不得不区分数据的许多源的话,即借助于不同证书来识别。其它传统技术(例如下面被称为QI-KSI)实现了Merkle树。聚合Merkle树中的交换的数据的散列值是高效的,因为Merkle树的“根”提供所有单独的散列值的压缩的摘要,使得Merkle树减少了存储需求。然而,需要相当大的努力来安排将要被用于鉴别的树的每叶中的密钥。AhtoBuldas、AndresKroonmaa和RistoLaanoja已经在“KeylessSignatures’Infrastructure:HowtoBuildGlobalDistributedHash-Trees”(下面被称为[1])中、在“EfficientQuantum-ImmuneKeylessSignatureswithIdentity”(下面被称为[2])中、在“EfficientImplementationofKeylessSignatureswithHashSequenceAuthentication”(下面被称为[3])中以及在“SecurityProofsfortheBLTSignatureScheme”(下面被称为[4])中公开了某些原理。AhtoBuldas和SvenLaur已经在“Knowledge-BindingCommitmentswithApplicationsinTime-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示意性说明了计算机可读介质和处理设备。具体实施方式本文公开的某些实施例通常涉及安全性的
,并且更具体地涉及散列函数的领域。为了更容易理解本专利技术的贡献,下面展示了对用于提供被用于时间戳的散列函数的机制的介绍。为了进一步有助于阅读本公开,下面列示了常用的缩写词。缩写词缩写词解释BLTKSI的扩展CRH日历根散列GW网关KSI无密钥签名基础设施HMAC特定消息鉴别码算法构造MAC消息鉴别码算法(一般的)PKI公共密钥基础设施TSA时间戳授权PKI公共密钥基础设施QI-KSI量子免疫KSI,例如BLTRHMerkle类型树的根散列HPMerkle类型树的散列路径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基于众所周知的Merkl本文档来自技高网
...
为一段数据提供散列值的方法、电子设备和计算机程序

【技术保护点】
一种为一段数据提供散列值的方法,其中所述散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险,所述方法包括为定义散列函数的散列树结构的根收集(100)一个或多个根时间戳,其中所述根时间戳是来自过去的根时间戳;确定(108)是否能够从服务器接收到现时值;以及当无法从所述服务器接收到所述现时值时,通过所述一段数据和所述根时间戳的散列函数来提供(110)所述散列值,或者当成功从所述服务器接收到所述现时值时,通过所述现时值、所述一段数据和所述根时间戳的所述散列函数来提供(112)所述散列值。

【技术特征摘要】
【国外来华专利技术】2015.02.20 US 62/118,9731.一种为一段数据提供散列值的方法,其中所述散列值在验证时为所述一段数据规定时间戳,以用于限制散列值之间的冲突的风险,所述方法包括为定义散列函数的散列树结构的根收集(100)一个或多个根时间戳,其中所述根时间戳是来自过去的根时间戳;确定(108)是否能够从服务器接收到现时值;以及当无法从所述服务器接收到所述现时值时,通过所述一段数据和所述根时间戳的散列函数来提供(110)所述散列值,或者当成功从所述服务器接收到所述现时值时,通过所述现时值、所述一段数据和所述根时间戳的所述散列函数来提供(112)所述散列值。2.如权利要求1所述的方法,其中所述根时间戳是日历根散列。3.如权利要求1或2所述的方法,其中所述散列函数是加密消息鉴别码函数。4.如权利要求3所述的方法,其中所述加密消息鉴别码函数是将当成功从所述服务器接收到所述现时值时的所述现时值和所述根时间戳中的至少一个用作密钥的键控的散列加密消息鉴别...

【专利技术属性】
技术研发人员:A马西莫夫B斯米特斯M赫尔
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:瑞典,SE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1