信息提供方法、装置及系统和信息获取方法及装置与流程

文档序号:20113221发布日期:2020-03-17 19:27阅读:118来源:国知局
信息提供方法、装置及系统和信息获取方法及装置与流程

本公开涉及计算机技术领域,具体地,涉及信息提供方法及装置、信息获取方法及装置和信息提供系统。



背景技术:

区块链技术利用链式数据结构来验证和存储数据,并利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问安全。在利用区块链技术处理交易时,针对客户端发起的交易,通常在该交易通过验证时才会调用智能合约来执行该交易,因而能够保证交易安全性。数据一旦被写入每个节点上的区块链,一方面,意味着数据在区块链网络中被公开,另一方面,写入区块链的数据也难以被删除与篡改。此外,中心化设备也可以采用类似于区块链存储(可以视为中心化的区块链存储)的方式对数据进行存储。

在信息传播场景中,出于保护著作权或保密等目的,需要限制用户对预定信息的查看权限。例如,在现实生活中,某些信息具有时效性(如演唱会门票在开场之后作废)。在这种场景下需要限制用户查看信息的时间。区块链技术的安全性和可靠性能够好地实现这种需求。因而,区块链技术在信息传播场景中有广泛的应用前景。



技术实现要素:

鉴于上述,本公开提供了一种信息提供方法及装置、信息获取方法及装置和信息提供系统。利用本公开的方法、装置及系统,通过对预定信息进行加密处理后存储对应的密钥索引,并基于过期时间删除对应于加密密钥的解密密钥,从而能够准确地限制用户查看预定信息的时间。

根据本公开的一个方面,提供了一种用于提供信息的方法,包括:从区块链中获取加密信息的区块链交易哈希,所述加密信息是利用针对预定信息的加密密钥对所述预定信息进行加密处理而生成的;以及存储密钥索引并设置针对与所述加密密钥对应的解密密钥的过期时间,所述密钥索引指示所述区块链交易哈希对应的解密密钥,所述过期时间指示在当前时间达到或超过所述过期时间时删除所述解密密钥。

可选地,在一个示例中,存储密钥索引并设置针对与所述加密密钥对应的解密密钥的过期时间可以包括:基于所述区块链交易哈希和所述解密密钥,生成密钥索引存储指示,所述密钥索引存储指示包括所述密钥索引和所述过期时间;以及将所述密钥索引存储指示发送给密钥存储数据库,以将所述密钥索引存储在所述密钥存储数据库中以及指示基于所述过期时间删除所述解密密钥。

可选地,在一个示例中,所述密钥索引存储指示可以进一步基于密钥存储数据库访问密钥生成。

可选地,在一个示例中,所述加密密钥和所述解密密钥可以是针对所述预定信息随机生成的。

可选地,在一个示例中,所述密钥索引可以被缓存在易失性存储器中,并在当前时间达到所述过期时间时被删除。

可选地,在一个示例中,所述密钥索引可以被缓存在非易失性存储器中,并在以预定时间间隔确定出当前时间大于或等于所述过期时间时被删除。

可选地,在一个示例中,所述方法还可以包括:将加密信息发送到区块链系统中,以将所述加密信息存储到区块链中。

可选地,在一个示例中,所述方法还可以包括:从信息发布用户的终端设备获取所述预定信息和针对所述预定信息的过期时间;以及利用加密密钥对所述预定信息进行加密,以生成所述加密信息。

根据本公开的另一方面,还提供一种用于获取信息的方法,包括:基于区块链交易哈希,从区块链中获取对应于所述区块链交易哈希的加密信息,所述加密信息是利用加密密钥对预定信息加密而生成的;基于所述区块链交易哈希,获取对应于所述加密密钥的解密密钥;以及利用所述解密密钥对所述加密信息进行解密,以得到所述预定信息。

可选地,在一个示例中,基于所述区块链交易哈希,获取对应于所述加密密钥的解密密钥可以包括:基于所述区块链交易哈希和密钥存储数据库访问密钥,从密钥存储数据库中获取对应于所述加密密钥的解密密钥。

根据本公开的另一方面,还提供一种用于提供信息的装置,包括:加密信息获取单元,被配置为从区块链中获取加密信息的区块链交易哈希,所述加密信息是利用针对预定信息的加密密钥对所述预定信息进行加密处理而生成的;以及密钥索引存储单元,被配置为存储密钥索引并设置针对与所述加密密钥对应的解密密钥的过期时间,所述密钥索引指示所述区块链交易哈希对应的解密密钥,所述过期时间指示在当前时间达到或超过所述过期时间时删除所述解密密钥。

可选地,在一个示例中,所述密钥索引存储单元可以包括:密钥索引存储指示生成模块,被配置为基于所述区块链交易哈希和所述解密密钥,生成密钥索引存储指示,所述密钥索引存储指示包括所述密钥索引和所述过期时间;以及密钥索引存储指示发送模块,被配置为将所述密钥索引存储指示发送给密钥存储数据库,以将所述密钥索引存储在所述密钥存储数据库中以及指示基于所述过期时间删除所述解密密钥。

可选地,在一个示例中,所述密钥索引存储指示可以进一步基于密钥存储数据库访问密钥生成。

可选地,在一个示例中,所述加密密钥和所述解密密钥可以是针对所述预定信息随机生成的。

可选地,在一个示例中,所述装置还可以包括:加密信息上链单元,被配置为将加密信息发送到区块链系统中,以将所述加密信息存储到区块链中。

可选地,在一个示例中,所述装置还可以包括:信息数据接收单元,被配置为从信息发布用户的终端设备获取所述预定信息和针对所述预定信息的过期时间;以及加密处理单元,被配置为利用加密密钥对所述预定信息进行加密处理,以生成所述加密信息。

根据本公开的另一方面,还提供一种用于获取信息的装置,包括:加密信息获取单元,被配置为基于区块链交易哈希,从区块链中获取对应于所述区块链交易哈希的加密信息,所述加密信息是利用加密密钥对预定信息加密而生成的;解密密钥获取单元,被配置为基于所述区块链交易哈希,获取对应于所述加密密钥的解密密钥;以及加密信息解密单元,被配置为利用所述解密密钥对所述加密信息进行解密,以得到所述预定信息。

可选地,在一个示例中,所述解密密钥获取单元可以被配置为:基于所述区块链交易哈希和密钥存储数据库访问密钥,从密钥存储数据库中获取对应于所述加密密钥的解密密钥。

根据本公开的另一方面,还提供一种信息提供系统,包括:如上所述的信息提供装置;以及密钥存储数据库,包括:密钥索引存储单元,被配置为基于所述密钥存储指示,存储所述密钥索引;以及密钥索引删除单元,被配置为基于所述密钥存储指示中的所述过期时间删除所述密钥索引。

可选地,在一个示例中,所述密钥索引存储单元可以被配置为:基于所述密钥存储指示,将所述密钥索引缓存在易失性存储器中,所述密钥索引删除单元可以被配置为:在当前时间达到所述过期时间时删除所述密钥索引。

可选地,在一个示例中,所述密钥索引存储单元可以被配置为:基于所述密钥存储指示,将所述密钥索引存储在非易失性存储器中。所述密钥索引删除单元可以被配置为:在以预定时间间隔确定出当前时间大于或等于所述过期时间时被删除。

根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的信息提供方法。

根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的信息提供方法。

根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的信息获取方法。

根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的信息获取方法。

利用本公开的方法、装置和系统,通过将对预定信息进行加密的加密密钥所对应的解密密钥和加密信息的区块链交易哈希存储为密钥索引,并设置针对解密密钥的过期时间,以基于过期时间删除解密密钥,从而使得获取信息的用户只能在给定时间之前获取信息,超过该给定时间后由于解密密钥被销毁而无法获取预定信息。由此,能够实现对预定信息的有效期限的限制。

利用本公开的方法、装置和系统,通过将密钥索引存储在密钥存储数据库中并指示密钥存储数据库基于过期时间删除密钥索引,能够利用密钥存储数据库来管理解密密钥。此外,通过设置密钥存储数据库访问权限,能够防止解密密钥被篡改,并能够限制获取信息的用户权限。

利用本公开的方法、装置和系统,通过针对预定信息随机地生成加密密钥和对应的解密密钥,当解密密钥被删除之后,将很难再次获得预定信息,从而能够提高对预定信息有效期限的严格限制。

利用本公开的方法、装置和系统,通过从信息发布用户的终端设备接收预定信息和过期时间,并在利用加密密钥进行加密之后将加密信息发送到区块链系统中进行区块链上链处理,能够为信息发布用户提供信息发布入口,从而信息发布用户可以根据自身需求发布预定信息并设置该预定信息的过期时间。

附图说明

通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:

图1示出了可用于执行根据本公开的实施例的信息提供方法或信息获取方法的环境的示例的示意图;

图2示出了执行根据本公开的实施例的信息提供方法或信息获取方法的系统架构的示例的示意图;

图3是根据本公开的一个实施例的信息提供方法的流程图;

图4是根据本公开的一个实施例的信息提供方法中的密钥索引存储过程的流程图;

图5是根据本公开的一个实施例的信息提供方法和信息获取方法的一个应用示例的流程图;

图6是根据本公开的一个实施例的信息提供方法中的密钥索引存储和删除过程的一个示例的流程图;

图7是根据本公开的一个实施例的信息提供方法中的密钥索引存储和删除过程的另一示例的流程图;

图8是根据本公开的一个实施例的信息提供装置的结构框图;

图9是图8所示的信息提供装置中的密钥索引存储单元的一个示例的结构框图;

图10是根据本公开的另一实施例的信息提供装置的结构框图;

图11是根据本公开的一个实施例的信息获取装置的结构框图;

图12是根据本公开的一个实施例的信息提供系统的结构框图;

图13是根据本公开的一个实施例的用于实现信息提供方法的计算设备的结构框图;

图14是根据本公开的一个实施例的用于实现信息获取方法的计算设备的结构框图。

具体实施方式

以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

现在结合附图来描述本公开的信息提供方法及装置、信息获取方法及装置和信息提供系统。

区块链是一种按照时间顺序来将数据区块顺序相连组合而成的链式数据结构,并且以密码学方式保证数据区块不可篡改和不可伪造。区块链包括一个或多个区块。区块链中的每个区块通过包括该区块链中紧接其之前的前一个区块的加密散列而链接到该前一个区块。每个区块还包括时间戳、该区块的加密哈希以及一个或多个交易(transaction)。对已经被区块链网络的节点验证的交易进行哈希处理并形成merkle树。在merkle树中,对叶节点处的数据进行哈希处理,并且针对merkle树的每个分支,在该分支的根处级联该分支的所有哈希值。针对merkle树执行上述处理,直到整个merkle树的根节点。merkle树的根节点存储代表该merkle树中的所有数据的哈希值。当一个哈希值声称是merkle树中存储的交易时,可以通过判断该哈希值是否与merkle树的结构一致来进行快速验证。

区块链是用于存储交易的数据结构。区块链网络是用于管理、更新和维护一个或多个区块链结构的计算节点网络。如上所述,区块链网络可以包括公有区块链网络、私有区块链网络或联盟区块链网络。

在公有区块链网络中,共识过程由共识网络的节点控制。例如,在公有区块链网络中可以存在成千上万个实体协作处理,每个实体操作该公有区块链网络中的至少一个节点。因此,公有区块链网络可以被认为是参与实体的公有网络。在一些示例中,大多数实体(节点)必须按序对每个区块进行签名,并且将签名后的区块添加到区块链网络的区块链中。公有区块链网络的示例可以包括特定对等支付网络。此外,术语“区块链”不特别指代任何特定的区块链。

公有区块链网络支持公有交易。公有交易在公有区块链网络内的所有节点之间共享,并且存储在全局区块链中。全局区块链是指跨所有节点复制的区块链。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络内实现共识协议。共识协议的示例包括但不限于:工作量证明(pow,proof-of-work),权益证明(pos,proof-of-stake)和权威证明(poa,proof-of-authority)。在本公开中,采用pow作为非限制性示例。

私有区块链网络被提供来用于特定实体。私有区块链网络中的各个节点的读写权限被严格控制。因此,私有区块链网络通常也称为许可网络,其对允许谁参与网络以及的网络参与水平(例如,仅在某些交易情形下)进行限制。在私有区块链网络中,可以使用各种类型的访问控制机制(例如,现有参与方对添加新实体进行投票,监管机构控制许可等)。

联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权节点控制。例如,由若干个(例如,10个)实体(例如,金融机构,保险公司)组成的联盟可以操作联盟区块链网络,每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是参与实体的私有网络。在一些示例中,每个参与实体(节点)必须按序对每个区块进行签名,并将该区块添加到区块链。在一些示例中,可以由参与实体(节点)的子集(例如,至少7个实体)来对每个区块进行签名,并将该区块添加到区块链。

在本公开中参考联盟区块链网络来详细描述本公开的实施例。然而,可以预期,本公开的实施例可以在任何适合的区块链网络中实现。

区块链是防篡改的共享数字分类账,其在公有或私有对等网络中记录交易。分类账被分发到网络中的所有成员节点,并且网络中发生的资产交易历史记录被永久记录在区块中。

共识机制确保分布式区块链网络中的所有网络节点按照相同的顺序执行交易,并且随后写入相同的分类账。共识模型可以用于解决拜占庭问题。

图1示出了可用于执行根据本公开的实施例的信息提供方法信息或获取方法的环境100的示例的示意图。在一些示例中,环境100使得实体能够参与区块链网络102。如图1所示,环境100包括网络104、和计算设备/系统106、108。在一些示例中,网络104可以包括局域网(lan),广域网(wan),因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络104。在一些示例中,计算设备/系统106、108通过网络104相互通信,以及通过网络104实现与区块链网络102之间的通信,以及区块链网络102中的节点(或,节点设备)通过网络104来进行通信。通常,网络104表示一个或多个通信网络。在一些情况下,计算设备/系统106、108可以是云计算系统(未示出)的节点,或者每个计算设备/系统106、108可以是单独的云计算系统,其包括通过网络104互连的多个计算机并且用作分布式处理系统。

在所说明的示例中,计算设备/系统106、108中的每个可以包括能够参与作为区块链网络102中的节点的任何合适的计算系统。计算设备/系统的示例包括但不限于,服务器,台式计算机,笔记本电脑,平板电脑设备和智能手机等。在一些示例中,计算设备/系统106、108上可以安装有用于与区块链网络102交互的一个或多个计算机实现的服务。例如,计算设备/系统106可以上可以安装有第一实体(例如,用户a)的服务,比如,第一实体用于管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。计算设备/系统108可以上可以安装有第二实体(例如,用户b)的服务,比如,第二实体用于管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。在图1的示例中,区块链网络102被表示为节点的对等网络,并且计算设备/系统106、108分别作为参与区块链网络102的第一实体和第二实体的节点。

图2示出了执行根据本公开的实施例的信息提供方法信息或获取方法的系统架构200的示例的示意图。系统架构200的示例包括分别与参与方a,参与方b和参与方c对应的参与方系统202、204、206。每个参与方(例如,用户,企业)参与被提供来作为对等网络的区块链网络212。区块链网络212包括多个节点214,其中,节点214中的至少一些节点在区块链216中记录信息,并且所记录的信息不可更改。尽管在区块链网络212内示意性地示出了单个区块链216,但是可以提供区块链216的多个副本,并且在区块链网络212中维护多个副本,如稍后详细描述的。

在所示出的示例中,每个参与方系统202、204、206分别由参与方a,参与方b和参与方c提供,或者被提供来作为参与方a,参与方b和参与方c,并且充当区块链网络212内的对应节点214。如这里所使用的,节点通常是指连接到区块链网络212的单个系统(例如,计算机,服务器),并且使得相应的参与方能够参与区块链网络。在图2示出的示例中,参与方对应于每个节点214。然而,一个参与方可以操作区块链网络212内的多个节点214,和/或多个参与方可以共享单个节点214。在一些示例中,参与方系统202、204、206使用协议(例如,超文本传输协议安全(https))和/或使用远程过程调用(rpc)来与区块链网络212通信,或者通过区块链网络212进行通信。

节点214在区块链网络212的参与度可以不同。例如,一些节点214可以参与共识过程(例如,作为将区块添加到区块链216的矿工节点),而其他节点214不参与共识过程。作为另一示例,一些节点214存储区块链216的完整副本,而其他节点214仅存储区块链216的部分副本。在图2的示例中,参与方系统202、204、206各自存储区块链216的完整副本216'、216”、216”'。

区块链(例如,图2中的区块链216)由一连串的区块组成,每个区块存储数据。数据的示例可以包括表示两个或更多参与方之间的交易的交易数据。在本公开中,交易被使用来作为非限制性示例,可以预期的是,任何适当的数据都可以存储在区块链中(例如,文档,图像,视频,音频)。交易的示例可以包括但不限于交换有价值的东西(例如,资产,产品,服务和货币等)。交易数据被不可更改地存储在区块链中。

在存储在区块中之前,对交易数据进行哈希处理。哈希处理是将(作为字符串数据提供的)交易数据转换为固定长度的哈希值(也被作为字符串数据提供)的过程。通过对交易数据进行哈希处理后,即使交易数据出现轻微更改,也会导致得到完全不同的哈希值。哈希值通常是通过使用哈希函数来对交易数据进行哈希处理而生成的。哈希函数的示例包括但不限于安全散列算法(sha)-256,其输出256比特的哈希值。

多个交易的交易数据可以在被哈希化之后存储在区块中。例如,对两个交易数据进行哈希处理得到两个哈希值,然后,对所得到的两个哈希值再次进行哈希处理以得到另一哈希值。重复该过程,直到对于要存储在区块中的所有交易,得到单个哈希值。该哈希值被称为merkle根哈希,并且被存储在区块的头部。任何交易的更改都会导致其哈希值发生变化,最终导致merkle根哈希值发生变化。

通过共识协议来将区块添加到区块链中。区块链网络中的多个节点参与共识协议,并且经过竞争之后将区块添加到区块链中。这样的节点被称为矿工节点(或记账节点)。以上介绍的pow用作非限制性示例。

矿工节点执行共识过程来将交易(所对应的区块)添加到区块链。虽然多个矿工节点参与共识过程,但只有一个矿工节点可以将区块写入区块链。也就是说,矿工节点在共识过程中竞争以将其区块添加到区块链中。更详细地,矿工节点周期性地从交易池中收集待处理的交易(例如,直到达到在区块中可以包括的交易数量的预定限制,如果有的话)。交易池包括来自区块链网络中的参与方的交易消息。矿工节点创建区块,并将交易添加到区块中。在将交易添加到区块之前,矿工节点检查待添加的交易中是否存在区块链的区块中具有的交易。如果该交易已被添加到另一个区块中,则该交易将被丢弃。

矿工节点生成区块头,对区块中的所有交易进行哈希处理,并且成对地组合哈希值以生成进一步的哈希值,直到针对区块中的所有交易得到单个哈希值(merkle根哈希)。然后,将merkle根哈希添加到区块头中。矿工还确定区块链中的最新区块(即,添加到区块链的最后一个区块)的哈希值。矿工节点还可以在区块头中添加随机数值(noune值)和时间戳。在挖掘过程中,矿工节点尝试找到满足所需参数的哈希值。矿工节点不断更改nonce值,直到找到满足所需参数的哈希值。

区块链网络中的每个矿工都试图找到满足所需参数的哈希值,并且以这种方式彼此竞争。最终,一个矿工节点找到满足所需参数的哈希值,并将该哈希值通告给区块链网络中的所有其他矿工节点。其他矿工节点验证哈希值,如果确定为正确,则验证区块中的每个交易,接受该区块,并将该区块附加到它们的区块链副本中。以这种方式,区块链的全局状态在区块链网络内的所有矿工节点上达成一致。上述过程是pow共识协议。

在图2所提供的示例中,参与方a想要向参与方b发送一定数量的资金。参与方a生成交易消息,并将交易消息发送到区块链网络,该交易消息被增加到交易池中。区块链网络中的每个矿工节点创建区块,并从交易池中获取交易,并将交易添加到区块。按照这种方式,参与方a所发布的交易被添加到矿工节点的区块中。

在一些区块链网络中,实施密码技术来维护交易的隐私性。例如,如果两个节点想要保持交易私密性,使得区块链网络中的其他节点不能获悉交易细节,则节点可以对交易数据进行加密处理。加密方法的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥进行加密(根据明文生成密文)和解密(根据密文生成明文)的加密过程。在对称加密中,多个节点可以使用相同的密钥,因此每个节点都可以对交易数据进行加密/解密。

非对称加密中使用密钥对来进行加密和解密,且每个密钥对包括的私钥和公钥不同。对于一个节点来说,其具有的非对称加密的密钥对中的私钥需要保密存储;公钥可以公开出去,让其它节点获得。如果用公钥对数据进行加密,只有用对应的私钥才能解密。例如,再次参考图1。参与方a可以使用参与方b的公钥来加密数据,并将加密后的数据发送至参与方b。参与方b可以使用其私钥来解密从参与方a发来的加密数据(密文)并解密得到原始数据(明文)。使用节点的公钥加密的消息,只能使用成对秘钥中对应的私钥解密。

非对称加密还可以用于提供数字签名,这使得交易中的参与方能够确认交易中的其他参与方以及交易的有效性。例如,参与方a可以对消息进行数字签名,而另一个参与方b可以根据参与方a的数字签名确认消息是由该参与方a发送的。数字签名还可以用于确保消息在传输过程中不被篡改。例如,再次参考图1。参与方a将向参与方b发送消息。参与方a生成消息的哈希值,然后使用其私钥对哈希值进行加密来生成数字签名。参与方a将该数字签名附加到消息,并将具有数字签名的消息发送给参与方b。参与方b使用参与方a的公钥解密数字签名,从而解密出对应的哈希值。参与方b对所接收的消息进行哈希处理以得到另一哈希值,然后比较两个哈希值。如果哈希值相同,则参与方b可以确认该消息确实来自参与方a,并且未被篡改。

在以下示例中,信息提供方法可以由信息提供装置执行,信息获取方法可以由信息获取装置执行。

图3是根据本公开的一个实施例的信息提供方法的流程图。

如图3所示,在块302,从区块链中获取加密信息的区块链交易哈希。加密信息是利用针对预定信息的加密密钥对预定信息进行加密处理而生成的。

信息提供装置可以将加密信息发送到区块链系统中,以由区块链系统执行区块链上链操作。区块链上链操作可以包括共识处理、智能合约执行处理等过程。在加密信息被存储到区块链中之后,信息提供装置可以从区块链中获取加密信息和该加密信息在区块链中的区块链交易哈希。预定信息或加密信息可以预先存储在信息提供装置中。

预定信息可以存储在信息提供装置中,信息提供装置可以对存储的预定信息进行加密处理以生成加密信息。在另一示例中,加密信息可以存储在信息提供装置中,从而不需要由信息提供装置来进行加密处理。在一个示例中,可以从信息发布用户接收由信息发布用户进行加密处理的加密信息。预定信息例如可以是文本、音频、视频、图片等任意格式。在一个示例中,加密信息也可以不是由信息提供装置发送到区块链系统中进行上链的。

加密密钥可以是基于预定信息的具体内容,利用密钥生成算法生成的。例如,可以基于预定信息生成针对预定信息的非对称密钥,以作为加密密钥和解密密钥。在另一示例中,还可以预先生成密钥库,在对预定信息进行加密时,从密钥库中选取一个或一组密钥进行加密处理。加密处理还可以利用对称加密算法实现,在该示例中,加密密钥与解密密钥相同。

在获取到区块链交易哈希之后,在块304,存储密钥索引并设置针对与加密密钥对应的解密密钥的过期时间,密钥索引指示区块链交易哈希对应的解密密钥,过期时间指示在当前时间达到或超过过期时间时删除解密密钥。

密钥索引可以存储在信息提供装置的本地存储器中。在存储密钥索引之后,可以监听当前时间是否达到或超过过期时间,当监听到当前时间达到或超过过期时间时,删除所存储的解密密钥。例如,密钥索引可以存储在本地缓存中,在当前时间达到过期时间时清理缓存,从而删除加密密钥。再例如,密钥索引可以存储在本地的非易失性存储器中,并以预定时间间隔确定当前时间是否达到或超过过期时间,如果当前时间已达到或超过过期时间则删除密钥索引。

在另一示例中,密钥索引可以存储在密钥存储数据库中,例如可以参照图4所示的过程来存储密钥索引。图4是根据本公开的一个实施例的信息提供方法中的密钥索引存储过程的流程图。

如图4所示,在块402,基于区块链交易哈希和解密密钥,生成密钥索引存储指示。密钥索引存储指示包括密钥索引和过期时间。在一个示例中,可以将区块链交易哈希、解密密钥和过期时间作为一组对应数据,以生成密钥存储指示。

在生成密钥存储指示后,在块404,将密钥索引存储指示发送给密钥存储数据库,以将密钥索引存储在密钥存储数据库中以及指示基于过期时间删除解密密钥。密钥存储数据库例如可以被设置在信息提供装置的本地数据库中。密钥存储数据库在接收到区块链交易哈希、解密密钥和过期时间后,可以将区块链交易哈希和解密密钥存储为密钥索引,从而可以基于区块链交易哈希来从密钥存储数据库中获取对应的解密密钥。在存储密钥索引时,密钥存储数据库可以基于所接收到的过期时间设置该密钥索引的删除时间,并在当前时间达到或超过过期时间时将其删除。

密钥存储数据库还可以独立于信息提供装置而设置。例如,密钥存储数据库可以是提供密钥管理服务的密钥管理服务器。在该示例中,密钥存储数据库可以设置有密钥存储数据库访问权限,以防止他人恶意篡改所存储的密钥索引。信息提供装置可以基于密钥存储数据库访问密钥生成密钥索引存储指示,以将密钥索引存储到密钥存储数据库中并设置过期时间。密钥存储数据库访问密钥例如可以是数字身份证书,信息提供装置可以用私钥对包括区块链交易哈希、解密密钥和过期时间的消息进行加密处理,以由密钥存储数据库基于数字身份证书中的公钥进行验证。当验证通过时,密钥存储数据库可以执行密钥索引存储和过期时间设置操作。

图5是根据本公开的一个实施例的信息提供方法和信息获取方法的一个应用示例的流程图。在该示例中,信息发布用户可以将想要发布的信息和针对该信息设置的过期时间发送给信息提供装置。

如图5所示,在502,信息提供装置接收信息发布用户发布的预定信息和过期时间。例如,预定信息的内容可以是“某某演唱会门票第001位”,过期时间可以设置为日期或时刻,例如“2019-3-3010:00:00”。过期时间还可以以期间的形式设置,当密钥索引被存储之后经过该期间后过期。例如过期时间可以设置为24小时,当密钥索引被存储之后经过24小时过期。

在接收到预定信息时,在504,可以针对所接收到的预定信息随机生成加密密钥和解密密钥。可以针对预定信息而随机生成对称密钥,以作为加密密钥和解密密钥。还可以基于随机内容,随机地生成非对称加密密钥和解密密钥。然后在506,利用所生成的加密密钥对预定信息进行加密处理,以得到加密信息。对应于所生成的密钥,加密处理可以是对称加密或非对称加密。当在504随机生成对称密钥时,采用对称加密方式,当在504生成的是非对称密钥时,采对非对称加密方式。

在另一示例中,可以由信息发布用户的终端设备对预定信息进行加密后,将加密信息和过期时间、解密密钥发送给信息提供装置。

在生成加密信息之后,在508,信息提供装置将加密信息发送到区块链系统中,以将加密信息保存到区块链中。在加密信息被保存到区块链中之后,在510,信息提供装置可以从区块链中获取加密信息的区块链交易哈希。

然后,在512,信息提供装置可以基于区块链交易哈希、对应于加密密钥的解密密钥和过期时间生成密钥索引存储指示,并在514,将密钥索引存储指示发送给密钥存储数据库,以指示密钥索引存储数据库存储区块链交易哈希和解密密钥的密钥索引。

密钥索引存储数据库在接收到密钥存储指示后,在516,基于密钥存储指示中的区块链交易哈希和解密密钥来存储密钥索引,并且基于所接收到的过期时间删除密钥索引。密钥存储数据库可以利用如图6和7所示的示例来存储和删除密钥索引。

当信息获取装置想要获取预定信息时,可以在518,基于区块链交易哈希,从区块链中获取加密信息。信息获取装置可以从区块链系统中下载对应于区块链交易哈希的加密信息,还可以向区块链系统发送加密信息请求,以由区块链系统将对应于区块链交易哈希的加密信息发送给信息获取装置。区块链交易哈希可以预先存储在信息获取装置中,还可以由信息提供装置发送给信息获取装置。例如,当信息发布用户发布预定信息之后,信息提供装置可以在对预定信息进行加密处理并上链处理之后,将获取到的区块链交易哈希发送给授权查看该预定信息的信息获取装置,以由信息获取装置基于区块链交易哈希获取对应的加密信息。

密钥存储数据库的访问权限可以包括写入权限和读取权限。可以设置为仅信息提供装置具有密钥存储数据库的写入权限,从而只有信息提供装置可以存储或更改密钥索引。信息提供装置还可以具有读取权限。在一个示例中,预定信息可以是公开信息。此时,密钥存储数据库可以不限制读取权限,信息获取装置可以不需要凭借密钥存储数据库访问密钥即可获取解密密钥。在另一示例中,预定信息可以是非公开信息,只有被授权的信息获取装置能够获取预定信息。在该示例中,信息获取装置可以基于其拥有的密钥存储数据库访问密钥来获取解密密钥。作为示例,信息获取装置的密钥存储数据库访问密钥例如可以是数据身份证书。信息获取装置可以利用该数字身份证书中的私钥对包括区块链交易哈希的密钥获取请求进行加密,从而密钥存储数据库可以利用相应的公钥对经过加密的密钥获取请求进行验证,在验证通过时可以将解密密钥发送给信息获取装置,或允许信息获取装置下载解密密钥。

在获取到区块链交易哈希之后,在520,信息获取装置可以基于区块链交易哈希从密钥存储数据库获取对应的解密密钥。信息获取装置可以利用区块链交易哈希从密钥存储数据库中的密钥索引中查询得到解密密钥。在另一示例中,密钥索引可以存储在信息提供装置中,信息获取装置可以基于区块链交易哈希从信息提供装置中获取解密密钥。

在获取到解密密钥之后,在522,信息获取装置可以利用解密密钥对加密信息进行解密,以得到预定信息。

作为应用场景的示例,信息获取装置例如可以是演唱会门票检票设备。演唱会门票上可以存储有区块链交易哈希。信息获取装置可以通过扫描标识码的方式获取门票上的区块链交易哈希,从而可基于该区块链交易哈希获取加密信息和解密密钥,当利用解密密钥对加密信息解密得到的预定信息与门票上的信息一致时确定检票通过。而当门票过期时,由于解密密已被删除,将无法获取预定信息,从而该门票不能通过检票。

以下参考图6和图7对密钥索引的存储和删除过程进行说明。密钥索引的存储和删除过程可以由密钥存储数据库来执行。图6是根据本公开的一个实施例的信息提供方法中的密钥索引存储和删除过程的一个示例的流程图。

如图6所示,在块602,在接收到密钥存储指示时,将密钥索引缓存在易失性存储器中,并设置密钥索引的过期时间。然后,在块604,确定当前时间是否达到过期时间。

在当前时间达到过期时间时,在块606,删除所缓存的密钥索引。作为示例,密钥存储数据库可以基于缓存系统(例如tair缓存系统)实现。当密钥索引被缓存在易失性存储器中时,可以利用缓存系统的缓存清理功能在达到过期时间时清理所缓存的密钥索引。

通过该示例,能够在达到过期时间时立即删除解密密钥,从而能够提高解密密钥删除的时效性,降低时间延迟,以提高对预定信息过期时间的控制精确度。

图7是根据本公开的一个实施例的信息提供方法中的密钥索引存储和删除过程的另一示例的流程图。

如图7所示,在块702,在接收到密钥存储指示时,将密钥索引存储在非易失性存储器中。然后,在块704,确定预定时间间隔是否期满。

当预定时间间隔期满时,在块706,确定当前时间是否达到或超过过期时间。在将密钥索引存储在非易失性存储器中之后,可以启动定时器,当定时器期满时确定当前时间是否达到或超过过期时间。如果当前时间达到或超过过期时间,则在块708,删除所存储的密钥索引。

通过该示例,由于密钥索引存储在非易失性存储器中,能够避免因设备故障而导致解密密钥丢失。

图8是根据本公开的一个实施例的信息提供装置的结构框图。如图8所示,信息提供装置800包括区块链交易哈希获取单元810和密钥索引存储单元820。

区块链交易哈希获取单元810被配置为从区块链中获取加密信息的区块链交易哈希,加密信息是利用针对预定信息的加密密钥对预定信息进行加密处理而生成的。密钥索引存储单元820被配置为存储密钥索引并设置针对与加密密钥对应的解密密钥的过期时间,密钥索引指示区块链交易哈希对应的解密密钥,过期时间指示在当前时间达到或超过过期时间时删除解密密钥。在一个示例中,加密密钥和对应于加密密钥的解密密钥可以是针对预定信息随机生成的。

图9是图8所示的信息提供装置中的密钥索引存储单元的一个示例的结构框图。如图9所示,密钥索引存储单元820包括密钥索引存储指示生成模块821和密钥索引存储指示发送模块822。

密钥索引存储指示生成模块821被配置为基于区块链交易哈希和解密密钥,生成密钥索引存储指示,密钥索引存储指示包括密钥索引和过期时间。在一个示例中,密钥索引存储指示生成模块821可以进一步基于密钥存储数据库访问密钥来生成密钥索引存储指示。

在生成密钥索引存储指示之后,密钥索引存储指示发送模块822将密钥索引存储指示发送给密钥存储数据库,以将密钥索引存储在密钥存储数据库中以及指示基于过期时间删除解密密钥。

图10是根据本公开的另一实施例的信息提供装置的结构框图。如图10所示,信息提供装置1000包括信息数据接收单元1010、加密处理单元1020、加密信息上链单元1030、块链交易哈希获取单元1040和密钥索引存储单元1050

信息数据接收单元1010被配置为从信息发布用户的终端设备获取预定信息和针对预定信息的过期时间。加密处理单元1020被配置为利用加密密钥对预定信息进行加密处理,以生成加密信息。在生成加密信息之后,加密信息上链单元1030将加密信息发送到区块链系统中,以将加密信息存储到区块链中。块链交易哈希获取单元1040被配置为从区块链中获取加密信息的区块链交易哈希。密钥索引存储单元1050被配置为存储密钥索引并设置针对与加密密钥对应的解密密钥的过期时间。

在其它示例中,信息提供装置可以不包括图10中的某些单元。例如可以不包括信息数据接收单元,此时预定信息可以存储在信息提供装置中。

图11是根据本公开的一个实施例的信息获取装置的结构框图。如图11所示,信息获取装置1100包括加密信息获取单元1110、解密密钥获取单元1120和加密信息解密单元1130。

加密信息获取单元1110被配置为基于区块链交易哈希,从区块链中获取对应的加密信息。加密信息是利用加密密钥对预定信息加密而生成的。解密密钥获取单元1120被配置为基于区块链交易哈希,获取对应于加密密钥的解密密钥。加密信息解密单元1130被配置为利用解密密钥对所述加密信息进行解密,以得到预定信息。

在另一示例中,解密密钥获取单元可以被配置为基于区块链交易哈希和密钥存储数据库访问密钥,从密钥存储数据库中获取对应于加密密钥的解密密钥。

图12是根据本公开的一个实施例的信息提供系统的结构框图。如图12所示,信息提供系统1200包括信息提供装置1210和密钥存储数据库1220。

信息提供装置1210可以是参照图8-图10所述的装置。密钥存储数据库1220包括密钥索引存储单元1221和密钥索引删除单元1222。密钥索引存储单元1221被配置为存储密钥索引。密钥索引删除单元1222被配置为基于过期时间删除所述密钥索引。

在一个示例中,密钥索引存储单元1221可以被配置为基于密钥存储指示,将密钥索引缓存在易失性存储器中。密钥索引删除单元1222被配置为在当前时间达到过期时间时删除所述密钥索引。

在另一示例中,密钥索引存储单元1221被配置为基于密钥存储指示,将密钥索引存储在非易失性存储器中。密钥索引删除单元1222被配置为在以预定时间间隔确定出当前时间达到或超过过期时间时被删除。

以上参照图1到图12,对根据本公开的信息提供方法及装置、信息获取方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。

本公开的信息提供装置和信息获取装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见。

本公开的信息提供装置和信息获取装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,信息提供装置和信息获取装置例如可以利用计算设备实现。

图13是根据本公开的一个实施例的用于实现信息提供方法的计算设备的结构框图。如图13所示,计算设备1300包括处理器1310、存储器1320、内存1330、通信接口1340和内部总线1350,并且处理器1310、存储器(例如,非易失性存储器)1320、内存1330、通信接口1340经由总线1350连接在一起。根据一个实施例,计算设备1300可以包括至少一个处理器1310,该至少一个处理器1310执行在计算机可读存储介质(即,存储器1320)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器1320中存储计算机可执行指令,其当执行时使得至少一个处理器1310:从区块链中获取加密信息的区块链交易哈希;以及存储密钥索引并设置针对与所述加密密钥对应的解密密钥的过期时间。

应该理解,在存储器1320中存储的计算机可执行指令当执行时使得至少一个处理器1310进行本公开的各个实施例中以上结合图1-10描述的各种操作和功能。

图14是根据本公开的一个实施例的用于实现信息获取方法的计算设备的结构框图。如图14所示,计算设备1400包括处理器1410、存储器1420、内存1430、通信接口1440和内部总线1450,并且处理器1410、存储器(例如,非易失性存储器)1420、内存1430、通信接口1440经由总线1450连接在一起。根据一个实施例,计算设备1400可以包括至少一个处理器1410,该至少一个处理器1410执行在计算机可读存储介质(即,存储器1420)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器1420中存储计算机可执行指令,其当执行时使得至少一个处理器1410:基于区块链交易哈希,从区块链中获取对应于所述区块链交易哈希的加密信息,所述加密信息是利用加密密钥对预定信息加密而生成的;基于所述区块链交易哈希,从密钥存储数据库中获取对应于所述加密密钥的解密密钥;以及利用所述解密密钥对所述加密信息进行解密,以得到所述预定信息。

应该理解,在存储器1420中存储的计算机可执行指令当执行时使得至少一个处理器1410进行本公开的各个实施例中以上结合图1-2、5、11-12描述的各种操作和功能。

根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-10或图1-2、5、11-12描述的各种操作和功能。

具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。

可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1