发明内容
本申请实施例提供了一种查看历史交易信息的方法、装置及电子设备,以解决用户的私钥丢失后,如何找回该用户的历史交易信息的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出了一种查看历史交易信息的方法,所述方法包括:
接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第二方面,提出了一种查看历史交易信息的方法,所述方法包括:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第三方面,提出了一种查看历史交易信息的装置,所述装置包括:
第一接收模块,用于接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
确定模块,用于基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
响应模块,用于在所述第一设备是与所述目标区块链账户绑定的当前身份标识设备时,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第四方面,提出了一种查看历史交易信息的装置,所述装置包括:
第三接收模块,用于接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
第二确定模块,用于基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
第二响应模块,用于在确定所述第一U盾是与所述目标区块链账户绑定的当前身份标识设备时,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第五方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第六方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第七方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
由以上本申请实施例提供的技术方案可见,本申请实施例提供的方案至少具备如下一种技术效果:由于可在存储有目标区块链账户的原有私钥的历史身份标识设备丢失或更换后,预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,当前身份标识设备中存储有第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥,这样当接收到访问目标区块链账户的第一设备是当前身份标识设备时,可以开放查看目标区块链账户对应的历史交易信息的权限,使得用户可以查看目标区块链账户的历史交易信息,从而解决了原有私钥丢失后无法找回目标区块链账户对应的历史交易信息的问题。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决用户的私钥丢失后,无法找回该用户的历史交易信息的问题,本说明书实施例提供一种查看历史交易信息的方法及装置,该方法和装置的执行主体可以是区块链平台。
为了便于理解本说明书实施例提供的技术方案,下面先结合图1至图3对本说明书实施例提供的技术方案的应用场景进行说明。
如图1所示,在本说明书实施例提供的技术方案的一个应用场景中,交互主体可以包括用户11、金融机构12、第三方机构13、区块链平台14和密钥对存储设备——U盾15,其中,金融机构12可以是银行,第三方机构13可以是国家指定的安全证书发放机构,例如电子商务认证授权机构(Certificate Authority,CA)。
继续参考图1可知,在本说明书实施例中,这几个交互主体之间的交互过程可以包括:①区块链平台14从第三方机构13获取根证书的公钥,或者说,第三方机构13事先向区块链平台14发放根证书的公钥;②在用户11访问区块链平台14上的目标区块链账户的原有私钥A丢失后,向金融机构12申请新私钥B;③金融机构12向第三方机构13提交申请新私钥B的请求;④第三方机构13在验证金融机构12提交的用户信息合法的情况下,向金融机构12颁发新私钥B;⑤金融机构12将新私钥B及新私钥B对应的公钥存储在U盾15中,并将U盾15发放给用户11;⑥用户11请求将U盾15绑定至区块链平台14中的目标区块链账户;⑦区块链平台14验证B的合法性,在验证B合法时,将U盾15绑定至目标区块链账户,这样用户11便可以利用存储有新私钥B的U盾15访问目标区块链账户,以查看目标区块链账户对应的历史交易信息。
如图2所示,在一个例子中,图1中所示的用户11可以是企业用户M、企业用户N和企业用户X等用户中的任一个,且企业用户M、企业用户N和企业用户X可以分别通过不同金融机构发放的U盾访问区块链平台14,例如,企业用户M、企业用户N和企业用户X分别用M银行U盾、N银行U盾和X银行U盾访问区块链平台14。
进一步地,如图3所示,在本说明书实施例中,用户11不仅可以是有良好信用记录的核心企业,还可以是核心企业下游的一级供应商、二级供应商等远离核心企业的中小微企业。我们知道,中小微企业融资一直是社会难题,如何借助核心企业的信用获得更为平等的融资机会和资源是供应链金融的目标。然而,当前的融资服务更多的是围绕核心企业的直接上下游完成的,对于远离核心企业的二级、三级中小微企业,获得核心企业的信用并非易事。一个可线上运行、高可信的信用流转平台或可解决这一问题,该信用流转平台可为中小微企业提供安全、强隐私保护的信用流转需求。该信用流转平台定位为高效协同的可信平台,实现核心企业信用的传递,让更多远离核心企业的小微企业获得平等高效的金融服务。
该信用流转平台以区块链技术为底层实现技术,因此,在本说明书实施例中,图1和图2中所示的区块链平台14可以理解为是包括信用流转平台141和区块链142的一个综合平台,其中,信用流转平台141用于维护不需要保存在区块链中的信息(不需要上链的信息),例如用户在该平台上注册会员时的会员信息,以及U盾的标识信息(详见下文)等,相应的,区块链142用于保存需要上链的信息,例如交易信息等。
下面结合附图1至图7,对本说明书实施例提供的一种查看历史交易信息的方法进行详细的说明。
如图4所示,本说明书实施例提供的一种查看历史交易信息的方法,可以应用于图1和图2中所示的区块链平台14,该方法可以包括如下步骤:
步骤402、接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息。
区块链账户,可以是用户在区块链平台14中的信用流转平台141上注册一个会员之后,向区块链142申请的一个地址,且该地址和该会员存在绑定关系。目标区块链账户,可以是原有私钥丢失后,需要用新私钥访问以找回历史交易信息的区块链账户。其中,原有私钥,可以是已丢失或需要升级的私钥A,原有私钥存储在与目标区块链账户绑定的历史身份标识设备中,在一个例子中,原有私钥的丢失可以是存储有原有私钥的历史身份标识设备的丢失或故障引起的,原有私钥的升级可以是历史身份标识设备的换代升级引起的;新私钥可以第三方机构重新颁发的私钥B,新私钥存储在当前与目标区块链账户绑定的当前身份标识设备中。
身份标识设备,是指存储有访问区块链账户的密钥对的载体,一般情况下,一个区块链账户对应一个有效的身份标识设备,用户可以通过身份标识设备成功访问区块链账户。身份标识设备具体可以是U盾、移动设备等具有身份标识能力的电子设备。当身份标识设备为U盾时,可以很好地保证私钥的离线和私有化,保证了私钥的安全,且U盾是有国家做背书的安全凭证,相对于其他的移动设备更安全。
身份标识设备的标识信息,可以是能唯一区分该设备的标识信息,例如,当身份标识设备是U盾时,其标识信息可以是U盾的唯一编号。
第一设备是原有私钥丢失后,用户实际用于访问目标区块链账户的身份标识设备。
步骤404、基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备;如果是执行步骤406,否则可以结束本流程。
其中,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥。
当前身份标识设备,是与目标区块链绑定的历史身份标识设备丢失后,当前与目标区块链账户重新绑定的身份标识设备。可以理解,当用户通过第一设备中存储的私钥访问目标区块链账户时,区块链平台需要判断该第一设备是否为与目标区块链账户绑定的当前身份标识设备,如果是,说明第一设备是可以访问目标区块链账户的合法身份标识设备,否则说明第一设备不是访问目标区块链账户的合法身份标识设备。
区块链平台(具体可以是前文所述的信用流转平台)可以维护目标区块链账户与当前身份标识设备的标识信息的映射关系,这样当区块链接收到通过第一设备中存储的私钥访问目标区块链账户的请求时,可以基于该映射关系判断第一设备是否为与目标区块链账户绑定的当前身份标识设备。
步骤406、响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
具体的,新私钥可以是第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥。
可以理解,由于所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发,且第三方机构的根证书是一种更为安全的密钥生成依据,因此利用根证书生成的新私钥很难被篡改,进而可以实现目标区块链账户的私钥由原有密钥安全地切换至新私钥的目的。
当前身份标识设备与目标区块链账户的绑定在下一个实施例中详细说明,此处暂不赘述。
还可以理解,当开放查看所述目标区块链账户对应的历史交易信息的权限之后,用户可以顺利地查看、找回目标区块链账户对应的历史交易信息。
具体的,在第一个例子中,如果原有私钥A丢失前,用户没有对区块链上目标区块链账户对应的历史交易信息进行加密存储,则步骤406可以包括:响应所述访问请求,展示所述目标区块链账户对应的历史交易信息以供用户查看(因为历史交易信息对具有访问权限的新私钥来说是开放的)。也即,用户在利用合法的新私钥B访问目标区块链账户时,可以直接查看该目标区块链账户下对应的存储的历史交易信息。
在第二个例子中,如果原有私钥丢失前,用户利用区块链平台上的黑盒加密算法对区块链上的目标区块链账户对应的历史交易信息进行了加密,则步骤406可以包括:响应所述访问请求,基于预存的用于解密所述历史交易信息的密钥解密得到所述历史交易信息并展示。
也即,用户在密钥A丢失前,可以在区块链上对应存储用于解密所述目标区块链账户对应的历史交易信息的密钥,这样用户在利用新私钥B获得访问目标区块链账户的权限之后,可以触发区块链利用黑盒算法及存储的密钥解密得到目标区块链账户对应的历史交易信息并展示,以供用户查看。
其中,黑盒加密算法可以如下算法中的任一种:非对称加密(RSA)算法、数据加密标准(Data Encryption Standard,DES)算法、3DES算法、三重数据加密(Triple DataEncryption Algorithm,TDEA)算法和Blowfish算法等算法。
需要说明的是,在本说明书实施例中,交易过程中的交易信息加密过程与交易完成后的交易信息存储时的加密是两个独立的过程。在交易过程中,用私钥签名,公钥解签,具体的,买方发起转账给卖家的交易,会用私钥签名,区块链会根据买家的公钥来验证交易发起方的合法性。在交易信息的存储过程中,为了保护用户信息的安全,还会对账单流水明细(如其中的商品交易明细,收货地址等信息)等交易信息进行加密,在该过程中可以用区块链平台的黑盒加密算法进行加密。
在上第二个例子中,可以通过在目标数据结构体中增加扩展字段,所述目标数据结构体用于存储加密后的所述历史交易信息;并利用所述扩展字段存储用于解密所述历史交易信息的密钥。
例如,如表1所示,可以在原有私钥A丢失前的每一条交易信息对应的数据结构体中存储解密该条交易信息的密钥。
表1
交易结构体m1 |
(交易信息,密钥1) |
交易结构体n1 |
(交易信息,密钥2) |
交易结构体x1 |
(交易信息,密钥3) |
··· |
··· |
同理,为了防止新私钥B丢失之后,利用再次重新颁发的新私钥C找回历史交易信息,如表2所示,在使用新私钥B期间,也可以保存每条交易信息对应的解密密钥。
表2
交易结构体m2 |
(交易信息,密钥4) |
交易结构体n2 |
(交易信息,密钥5) |
交易结构体x2 |
(交易信息,密钥6) |
··· |
··· |
表3示出了区块链上用于存储交易信息的数据结构体详细信息,在表3所示的数据结构体中除了存储包括交易信息的其他字段外,可以在字段“锁定脚本”中新增一个键值对用于记录解密交易信息的密钥。
表3
总之,本说明书实施例提供的一种查看历史交易信息的方法,由于可在存储有目标区块链账户的原有私钥的历史身份标识设备丢失、故障或更新换代后,预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,当前身份标识设备中存储有第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥,这样当接收到访问目标区块链账户的第一设备是当前身份标识设备时,可以开放查看目标区块链账户对应的历史交易信息的权限,使得用户可以查看目标区块链账户的历史交易信息,从而解决了原有私钥丢失后无法找回目标区块链账户对应的历史交易信息的问题。
下面结合一实施例,对预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备的过程进行说明。
如图5所示,说明书实施例提供的一种查看历史交易信息的方法,在步骤402之前,还可以包括如下步骤:
步骤408、接收将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述当前身份标识设备的请求。
如前文所述,历史身份标识设备是存储原有私钥的目标区块链账户的身份标识设备,当因历史身份标识设备的丢失或故障引起原有私钥丢失,或者因历史身份标识设备的换代升级引起的原有私钥升级时,用户可以向第三方机构重新申请获得新私钥,在申请获得存储在当前身份标识设备中的新私钥之后,用户需要将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,才能重新取得访问目标区块链账户的权限。
例如,如图1所示,当原有私钥A丢失后,用户11可以通过金融机构12向第三方机构13申请颁发新私钥B,并将存储有新私钥B的身份标识设备绑定至目标区块链账户之后,才能重新取得访问目标区块链账户的权限,进而找回历史交易信息。
并且,为了保证第三方机构颁发的针对目标区块链账户的新私钥B不被篡改,第三方机构可以基于颁发原有私钥A的同一根证书颁发新私钥B,从而使与目标区块链账户绑定的身份标识设备顺利地由历史身份标识设备切换到当前身份标识设备。如图7所示,原有私钥A和新私钥B可以由第三方机构基于三级根证书r2颁发。在图7中,R为顶级根证书,一般不对外开放,r1和r2是基于R和预设算法生成的下级根证书。
在此基础上,可选地,生成原有私钥A和新私钥B的根证书可以是除顶级根证书外的下级根证书,且在本说明书实施例中,可以基于所述顶级根证书和预设算法,生成所述下级根证书,以便于第三方机构颁发私钥,以及便于区块链平台对新私钥B的合法性进行验证。其中,用于生成下级根证书的预设算法请参照相关技术,此处不加赘述。
由于在非对称加密算法中,密钥是成对的,例如,原有私钥A对应的公钥可以为m1,新私钥B对应的公钥可以为m2。因此,可选地,除了私钥之外,身份标识设备中还存储有私钥对应的公钥,其中,私钥由第三方机构颁发,私钥对应的公钥可以基于预设算法生成,其中,用于生成公钥的预设算法也请参照相关技术,此处不加赘述。
步骤410、验证所述当前身份标识设备中存储的新私钥是否为访问所述目标区块链账户的合法私钥。
如图6所示,作为一个例子,步骤410可以包括:
子步骤602、基于所述根证书的公钥确定所述新私钥是否被篡改。
具体的,假设所述新私钥包括真实值和基于所述根证书的私钥对所述真实值进行签名的签名值,其中,所述基于所述根证书的公钥确定所述新私钥是否被篡改,包括:基于所述预设根证书的公钥,对所述新私钥中的签名值进行解签得到解签值;判断所述解签值与所述新私钥中的真实值是否一致;若一致,确定所述新私钥合法;否则,确定所述新私钥不合法。
例如,假设新私钥B包括C和利用根证书r2对C进行签名得到的签名值D,也即B=C+D,其中,C可以是一个字符串,则可以利用根证书r2对D进行解签得到解签值E,如果E等于C,说明新私钥B没有被篡改;如果E不等于C,说明新私钥B已被篡改。
子步骤604、基于预设方式确定所述新私钥是否是针对所述目标区块链账户的私钥。
在一种方式中,第三方机构在颁发新私钥时,可以在新私钥中携带所述新私钥对应的区块链账户的标识信息,例如携带与该区块链账户绑定的区块链平台上的会员的会员信息,则子步骤504可以包括:判断所述新私钥中携带的区块链账户的标识信息,与所述目标区块链账户对应的标识信息是否匹配;若匹配,确定所述新私钥是针对所述目标区块链账户的私钥;否则,确定所述新私钥不是针对所述目标区块链账户的私钥。
在另一种方式中,第三方机构可以维护区块链账户与区块链平台上的会员信息的对应关系,这样在颁发新私钥时,直接依据该对应关系指定该新私钥针对的区块链账户,这样,子步骤604可以包括:判断所述新私钥针对的区块链账户与所述目标区块链账户是否一致;若一致,确定所述新私钥是针对所述目标区块链账户的私钥;否则,确定所述新私钥不是针对所述目标区块链账户的私钥。
应理解,确定新私钥是否是针对目标区块链账户的私钥的方式可以不限于上述两种,本说明书不一一列举。
子步骤606、在所述新私钥未被篡改,且所述新私钥是针对所述目标区块链账户的私钥时,确定所述新私钥是访问所述目标区块链账户的合法私钥。反之,在所述新私钥被篡改,和/或所述新私钥不是针对所述目标区块链账户的私钥时,确定所述新私钥不是访问所述目标区块链账户的合法私钥。
步骤412、当所述新私钥是访问所述目标区块链账户的合法私钥时,将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述前身份标识设备。
本说明书实施例提供的一种查看历史交易信息的方法,由于在目标区块链账户的原有私钥丢失或升级后,可接收用于将存储有第三方机构基于同一根证书重新颁发的新私钥的当前身份标识设备绑定至目标区块链账户的请求,并在验证新私钥为访问目标区块链账户的合法私钥之后,将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,实现了将目标区块链账户的私钥从所述原有私钥切换为所述新私钥的目的。在此基础上,目标区块链账户对应的用户就可以采用存储有新私钥的当前身份标识设备访问目标区块链账户,进而找回目标区块链账户对应的历史交易信息。
可选地,在步骤412之后,步骤404之前,本说明书实施例提供的一种查看历史交易信息的方法,还可以包括:存储当前身份标识设备的标识信息与所述目标区块链账户的映射关系,以供区块链平台在接收到通过第一设备中存储的私钥访问目标区块链账户的访问请求之后,确定第一设备是否为与目标区块链账户绑定的当前身份标识设备,从而确定是否响基于第一设备的访问请求。
例如,可以将当前身份标识设备的标识信息与所述目标区块链账户的映射关系保存在如图1所示的区块链平台14中的信用流转平台141中。
其中,当前身份标识设备的标识信息,除了包括当前身份标识设备的唯一编号外,还可以包括但不限于发放当前身份标识设备的金融机构的标识信息(如银行名称或代码)、当前身份标识设备的版本信息(如第几代U盾)、用户身份信息(如身份证号)等等。
下面通过一个更为详细地实施例说明说明书提供的一种查看历史交易信息的方法,该方法可以包括:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
可以理解,在该实施例中,由于可在存储有目标区块链账户的原有私钥的历史身份标识设备丢失或更换后,预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,当前身份标识设备中存储有第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥,这样当接收到访问目标区块链账户的第一U盾是当前身份标识设备时,可以开放查看目标区块链账户对应的历史交易信息的权限,使得用户可以查看目标区块链账户的历史交易信息,从而解决了原有私钥丢失后无法找回目标区块链账户对应的历史交易信息的问题。
此外,在该实施例中,将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述前身份标识设备与上文中相同,此处不再重复描述。
以上是对本说明书提供一种查看历史交易信息的方法的说明,下面对本说明书提供的电子设备进行介绍。
图8是本说明书的一个实施例提供的电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成查看历史交易信息的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
或者,处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发
上述如本说明书图4所示实施例揭示的查看历史交易信息的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field -Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图4的查看历史交易信息的方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图4所示实施例的方法,并具体用于执行以下操作:
接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,具体用于执行以下操作:
接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息;
基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥;
如果是,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发
下面对本说明书提供的一种查看历史交易信息的装置进行说明。
图9是本说明书提供的查看历史交易信息的装置900的结构示意图。请参考图9,在一种软件实施方式中,查看历史交易信息的装置900可应用于区块链平台,装置900可包括:第一接收模块901、第一确定模块902和第一响应模块903。
第一接收模块901,用于接收基于第一设备中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一设备的标识信息。
第一确定模块902,用于基于所述标识信息与预设标识信息的匹配关系,确定所述第一设备是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥。
第一响应模块903,用于在所述第一设备是与所述目标区块链账户绑定的当前身份标识设备时,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二设备时产生的交易信息,所述第二设备是与所述目标区块链账户绑定的历史身份标识设备,所述第二设备中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
可以理解,由于所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发,且第三方机构的根证书是一种更为安全的密钥生成依据,因此利用根证书生成的新私钥很难被篡改,进而可以实现目标区块链账户的私钥由原有密钥安全地切换至新私钥的目的。
还可以理解,当开放查看所述目标区块链账户对应的历史交易信息的权限之后,用户可以顺利地查看、找回目标区块链账户对应的历史交易信息。
具体的,在第一个例子中,如果原有私钥A丢失前,用户没有对区块链上目标区块链账户对应的历史交易信息进行加密存储,则第一响应模块903可以响应所述访问请求,并展示所述目标区块链账户对应的历史交易信息以供用户查看(因为历史交易信息对具有访问权限的新私钥来说是开放的)。也即,用户在利用合法的新私钥B访问目标区块链账户时,可以直接查看该目标区块链账户下对应的存储的历史交易信息。
在第二个例子中,如果原有私钥丢失前,用户利用区块链平台上的黑盒加密算法对区块链上的目标区块链账户对应的历史交易信息进行了加密,则第一响应模块903可以响应所述访问请求,基于预存的用于解密所述历史交易信息的密钥解密得到所述历史交易信息并展示。
也即,用户在密钥A丢失前,可以在区块链上对应存储用于解密所述目标区块链账户对应的历史交易信息的密钥,这样用户在利用新私钥B获得访问目标区块链账户的权限之后,可以触发区块链利用黑盒算法及存储的密钥解密得到目标区块链账户对应的历史交易信息并展示,以供用户查看。
在上第二个例子中,可以通过在目标数据结构体中增加扩展字段,所述目标数据结构体用于存储加密后的所述历史交易信息;并利用所述扩展字段存储用于解密所述历史交易信息的密钥。
总之,本说明书实施例提供的查看历史交易信息的装置900,由于可在存储有目标区块链账户的原有私钥的历史身份标识设备丢失、故障或更新换代后,预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,当前身份标识设备中存储有第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥,这样当接收到访问目标区块链账户的第一设备是当前身份标识设备时,可以开放查看目标区块链账户对应的历史交易信息的权限,使得用户可以查看目标区块链账户的历史交易信息,从而解决了原有私钥丢失后无法找回目标区块链账户对应的历史交易信息的问题。
下面结合一实施例,对预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备的过程进行说明。
如图10所示,说明书实施例提供的查看历史交易信息的装置900,还可以包括:第二接收模块904、验证模块905和绑定模块906。
第二接收模块904,用于接收将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述当前身份标识设备的请求。
验证模块905,用于验证所述当前身份标识设备中存储的新私钥是否为访问所述目标区块链账户的合法私钥。
如图11所示,作为一个例子,验证模块905可以包括:第一确定子模块1101、第二确定子模块1102和第三确定子模块1103。
第一确定子模块1101,用于基于所述根证书的公钥确定所述新私钥是否被篡改。
具体的,假设所述新私钥包括真实值和基于所述根证书的私钥对所述真实值进行签名的签名值,第一确定子模块1101可以基于所述预设根证书的公钥,对所述新私钥中的签名值进行解签得到解签值;判断所述解签值与所述新私钥中的真实值是否一致;若一致,确定所述新私钥合法;否则,确定所述新私钥不合法。
第二确定子模块1102,用于基于预设方式确定所述新私钥是否是针对所述目标区块链账户的私钥。
在一种方式中,第三方机构在颁发新私钥时,可以在新私钥中携带所述新私钥对应的区块链账户的标识信息,例如携带与该区块链账户绑定的区块链平台上的会员的会员信息,则第二确定子模块1102可以用于:判断所述新私钥中携带的区块链账户的标识信息,与所述目标区块链账户对应的标识信息是否匹配;若匹配,确定所述新私钥是针对所述目标区块链账户的私钥;否则,确定所述新私钥不是针对所述目标区块链账户的私钥。
在另一种方式中,第三方机构可以维护区块链账户与区块链平台上的会员信息的对应关系,这样在颁发新私钥时,直接依据该对应关系指定该新私钥针对的区块链账户,这样第二确定子模块1102可以用于:判断所述新私钥针对的区块链账户与所述目标区块链账户是否一致;若一致,确定所述新私钥是针对所述目标区块链账户的私钥;否则,确定所述新私钥不是针对所述目标区块链账户的私钥。
应理解,确定新私钥是否是针对目标区块链账户的私钥的方式可以不限于上述两种,本说明书不一一列举。
第三确定子模块1103,用于在所述新私钥未被篡改,且所述新私钥是针对所述目标区块链账户的私钥时,确定所述新私钥是访问所述目标区块链账户的合法私钥。反之,在所述新私钥被篡改,和/或所述新私钥不是针对所述目标区块链账户的私钥时,确定所述新私钥不是访问所述目标区块链账户的合法私钥。
绑定模块906,用于当所述新私钥是访问所述目标区块链账户的合法私钥时,将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述前身份标识设备。
本说明书实施例提供的查看历史交易信息的装置900,由于在目标区块链账户的原有私钥丢失或升级后,可接收用于将存储有第三方机构基于同一根证书重新颁发的新私钥的当前身份标识设备绑定至目标区块链账户的请求,并在验证新私钥为访问目标区块链账户的合法私钥之后,将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,实现了将目标区块链账户的私钥从所述原有私钥切换为所述新私钥的目的。在此基础上,目标区块链账户对应的用户就可以采用存储有新私钥的当前身份标识设备访问目标区块链账户,进而找回目标区块链账户对应的历史交易信息。
可选地,本说明书实施例提供的查看历史交易信息的装置900,还可以包括:存储模块,用于存储当前身份标识设备的标识信息与所述目标区块链账户的映射关系,以供区块链平台在接收到通过第一设备中存储的私钥访问目标区块链账户的访问请求之后,确定第一设备是否为与目标区块链账户绑定的当前身份标识设备,从而确定是否响基于第一设备的访问请求。
下面通过一个更为详细地实施例说明说明书提供的一种查看历史交易信息的装置,该装置可以包括:第三接收模块、第二确定模块和第二响应模块。
第三接收模块,用于接收基于第一U盾中存储的私钥访问目标区块链账户的访问请求,所述访问请求中携带有所述第一U盾的标识信息。
第二确定模块,用于基于所述标识信息与预设标识信息的匹配关系,确定所述第一U盾是否为与所述目标区块链账户绑定的当前身份标识设备,所述预设标识信息是所述当前身份标识设备的标识信息,所述当前身份标识设备中存储有访问所述目标区块链账户的新私钥。
第二响应模块,用于在确定所述第一U盾是与所述目标区块链账户绑定的当前身份标识设备时,响应所述访问请求,开放查看所述目标区块链账户对应的历史交易信息的权限,所述历史交易信息是与所述目标区块链账户绑定的身份标识设备为第二U盾时产生的交易信息,所述第二U盾是与所述目标区块链账户绑定的历史身份标识设备,所述第二U盾中存储有访问所述目标区块链账户的原有私钥,所述原有私钥和所述新私钥由第三方机构基于同一根证书颁发。
可以理解,在该实施例中,由于可在存储有目标区块链账户的原有私钥的历史身份标识设备丢失或更换后,预先将与目标区块链账户绑定的身份标识设备由历史身份标识设备切换至当前身份标识设备,当前身份标识设备中存储有第三方机构基于颁发原有私钥的同一根证书颁发的、针对该目标区块链账户的新私钥,这样当接收到访问目标区块链账户的第一U盾是当前身份标识设备时,可以开放查看目标区块链账户对应的历史交易信息的权限,使得用户可以查看目标区块链账户的历史交易信息,从而解决了原有私钥丢失后无法找回目标区块链账户对应的历史交易信息的问题。
此外,在该实施例中,将与所述目标区块链账户绑定的身份标识设备由所述历史身份标识设备切换至所述前身份标识设备与上文中相同,此处不再重复描述。
需要说明的是,查看历史交易信息的装置900能够实现图4的方法实施例的方法,具体可参考图4所示实施例的查看历史交易信息的方法,不再赘述。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制时,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。