CN113221133A - 数据传输方法以及装置 - Google Patents

数据传输方法以及装置 Download PDF

Info

Publication number
CN113221133A
CN113221133A CN202110381403.5A CN202110381403A CN113221133A CN 113221133 A CN113221133 A CN 113221133A CN 202110381403 A CN202110381403 A CN 202110381403A CN 113221133 A CN113221133 A CN 113221133A
Authority
CN
China
Prior art keywords
certificate
attribute
information
rule
node
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.)
Pending
Application number
CN202110381403.5A
Other languages
English (en)
Inventor
郭青霄
王云浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202110381403.5A priority Critical patent/CN113221133A/zh
Publication of CN113221133A publication Critical patent/CN113221133A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本申请公开了一种数据传输方法及装置,所述方法包括:获取第一信息;根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;使用所述第二证书对所述第一信息进行签名,得到第二信息;发送所述第二信息、所述第二证书和所述第一规则。本申请可以隐藏证书中的敏感信息,实现保护节点数据隐私的同时,也减少了节点与CA的通信开销。

Description

数据传输方法以及装置
技术领域
本申请实施例涉及截取签名的隐私证书传输方法,尤其涉及一种数据传输方法及装置。
背景技术
在现有的区块链系统尤其是联盟链fabric中,一般使用公钥基础设施(PKI,Public Key Infrastructure)实现准许机制。公钥证书是用户的身份与所持有公钥的结合。用户可以向fabric证书颁发机构(CA,Certificate Authority)申请证书。但基于PKI机制的签名验签方案中,验证者收到签名消息,先验证证书链;这样,验签者会得到用户的证书,证书中包含很多属性信息,这样会泄露用户的隐私。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种数据传输方法及装置。
本申请实施例的技术方案是这样实现的:
根据本申请实施例的第一方面,提供一种数据传输方法,应用于区块链网络中的第一节点,包括:
获取第一信息;
根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;
使用所述第二证书对所述第一信息进行签名,得到第二信息;
发送所述第二信息、所述第二证书和所述第一规则。
作为一种实现方式,在根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理之前,所述方法还包括:从第二节点获取第一证书和第一规则;其中,所述第一证书由第二节点生成并签名。
作为一种实现方式,所述第一信息用于指示待发送消息;所述根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书,包括:
获得第一参数,所述第一参数用于指示在发送所述待发送消息的过程中在所述第一证书包括的至少一个第二类属性中需要进行隐藏处理的属性或者不需要进行隐藏处理的属性;
依据第一参数,获得目标第二类属性,所述目标第二类属性为需要在发送所述待发送消息的过程中进行隐藏处理的第二类属性;
对第一证书中的所述目标第二类属性进行隐藏处理以及对第一证书中的第一类属性不进行隐藏处理,得到第二证书。
作为一种实现方式,所述对第一证书的至少部分第二类属性进行隐藏处理,包括:
对所述至少部分第二类属性进行哈希变换。
作为一种实现方式,在从第二节点获取第一证书之后,所述方法还包括:
对第一证书进行合法性验证;
在验证通过的情况下,根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理。
作为一种实现方式,所述第一规则还用于指示所述第一证书中的第二类属性均不进行隐藏处理;
相应的,所述对第一证书进行合法性验证,包括:
利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息;
获得第一证书的原始签名信息;
将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;
依据匹配结果,对第一证书进行合法性验证。
作为一种实现方式,所述利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息,包括:
获得所述第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性的哈希值;
依据所述哈希值,获得第一参考量;
依据第一参考量和第一证书的原始签名信息,计算第一证书的参考签名信息;
相应的,所述将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;依据匹配结果,对第一证书进行合法性验证,包括:
判断第一证书的参考签名信息与第一证书的原始签名信息是否一致;
判断为一致的情况下,对第一证书的合法性验证通过。
根据本申请实施例的第二方面,提供一种数据传输方法,应用于区块链网络中的第二节点,包括:
获得为第一节点签发的至少两个属性;
获得第一规则;
依据所述第一规则和所述至少两个属性,生成第一证书的签名信息;
依据第一证书的签名信息和所述至少两个属性,得到第一证书;其中,第一证书包括有第一类属性和第二类属性;第一类属性为所述至少两个属性中不能够进行隐藏处理的属性、基于所述第一规则而确定;所述第二类属性为所述至少两个属性信息中除第一类属性之外的其它属性信息;
发送所述第一证书以及第一规则。
作为一种实现方式,所述依据所述第一规则和所述至少两个属性信息,生成第一证书的签名信息,包括:
利用第一规则,将所述至少两个属性进行哈希运算,得到运算结果;
依据运算结果,获得第一参考量;
依据第一参考量,得到第一证书的签名信息。
根据本申请实施例的第三方面,提供一种数据传输方法,应用于区块链网络中的第三节点,包括:
接收第一节点发送的第二信息、第二证书及第一规则;其中,第二证书为第二节点对第一节点为其签发的第一证书中的至少部分第二类属性进行隐藏处理而得到的证书,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性、基于第一规则而确定;第二信息为所述第一节点使用第二证书对其要发送的第一信息进行签名而得到;
获得第二证书的原始签名信息;
对第二证书中已进行隐藏处理的第二类属性进行解析;
利用第二证书的原始签名信息以及解析出的第二类属性,对第二证书进行合法性验证;
验证通过的情况下,对第二信息进行验证。
作为一种实现方式,所述利用第二证书的签名信息以及解析出的第二类属性,对第二证书进行合法性验证,包括:
获得解析出的第二类属性的哈希值;
依据第一规则获得第一类属性的哈希值;
依据第二证书的原始签名信息、以及第一类属性和第二属性的哈希值,获得第二证书的参考签名信息;
将第二证书的参考签名信息与第二证书的原始签名信息进行匹配;
依据匹配结果,对第二证书进行合法性验证。
根据本申请实施例的第四方面,提供一种数据传输装置,应用于区块链网络中的第一节点,包括:
获取单元,用于获取第一信息;
处理单元,用于根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;
签名单元,用于使用所述第二证书对所述第一信息进行签名,得到第二信息;
发送单元,用于发送所述第二信息、所述第二证书和所述第一规则。
本申请实施例中,在可截取签名机制下,fabric CA对用户签发证书时,可以根据可截取签名规则,对区块链中节点申请的证书进行签名,节点根据截取策略以及自身想要暴露的隐私属性对fabric CA签发的证书进行变换,将变换后的证书及签名发送给验证者。本申请实施例使得节点在不同交易中,根据隐私属性的不同策略使用CA签发的同一证书对不同交易进行签名。在不出示完整证书的情况下认证证书的部分内容,即验证者仍然能够利用fabric CA的公钥验证变换证书的合法性及签名的有效性。在区块链账本上,由于同一用户进行不同交易时,使用包含不同截取信息的证书进行签名,账本上存储的证书状态是不同的。因此在查询交易时暴露给对方的证书即是被保护的证书。对于区块链中的节点可以隐藏证书中的敏感信息,实现保护节点数据隐私的目的,同时也减少了节点与CA的通信开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例的数据传输方法的流程示意图;
图2为本申请实施例的数据传输方法的流程示意图;
图3为本申请实施例的数据传输方法的流程示意图;
图4为本申请实施例的数据传输方法的整体流程示意图;
图5为本申请实施例的数据传输装置的结构示意图;
图6为本申请实施例的数据传输装置的结构示意图;
图7为本申请实施例的数据传输装置的结构示意图;
图8为本申请实施例的电子设备的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面结合附图及具体实施例对本申请作进一步详细的说明。
图1为本申请实施例的数据传输方法的流程示意图,如图1所示,本申请实施例的数据传输方法应用于区块链网络中的第一节点,包括以下步骤:
步骤101,获取第一信息。
本申请实施例中,第一信息用于指示待发送消息。第一信息确定是否需要向消息接收对象是否隐藏相应的信息,以对第一节点的相关信息进行隐私保护,防止相关信息被暴露。也就是说,对于消息接收对象而言,第一节点可以根据消息接收对象的认证特性等信息,确定哪些信息可以向其隐藏,也不影响当前的证书认证,以此可以最大程度保护第一节点的隐私信息。
本申请实施例中,在获取第一信息之前,还包括:第一节点从第二节点获取第一证书和第一规则;其中,所述第一证书由第二节点生成并签名。所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性。
本申请实施例中,第一规则用于对第一证书中包含的相关信息是否能作隐藏进行相应的指示,以使第一节点基于第一规则,并结合第一信息,对能作隐藏处理的第一证书中的相关信息根据消息接收对象确定具体隐藏哪些信息。
步骤102,根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书。
具体地,第一节点获得第一参数,所述第一参数用于指示在发送待发送消息的过程中在第一证书包括的至少一个第二类属性中需要进行隐藏处理的属性或者不需要进行隐藏处理的属性;依据第一参数,获得目标第二类属性,目标第二类属性为需要在发送所述待发送消息的过程中进行隐藏处理的第二类属性。
本申请实施例中,第一参数可以来自于其他节点,也可以作为配置信息被配置于第一节点中,第一参数可以对应于某一消息接收对象,也可以对应于某一类消息接收对象。作为一种实现方式,第一参数可以指示对第一证书中的哪些信息可以作隐藏处理,也可以指示对哪些信息不能作隐藏处理。
本申请实施例中,所述对第一证书的至少部分第二类属性进行隐藏处理,包括:对所述至少部分第二类属性进行哈希变换。
步骤103,使用所述第二证书对所述第一信息进行签名,得到第二信息。
本申请实施例中,当得到第二证书后,利用第二证书对所述第一信息进行签名,得到第二信息。作为一种实现方式,签名的方式可以采用椭圆曲线数字签名算法(ECDSA,Elliptic Curve Digital Signature Algorithm)签名算法或SM2签名算法。
步骤104,发送所述第二信息、所述第二证书和所述第一规则。
对第二信息进行签名后,将第二信息、第二证书及第一规则等向验证节点发送,以使验证节点基于第二信息、第一规则对第二证书进行签名验证,确定第一节点是否为合法节点。
作为一种实现方式,在从第二节点获取第一证书之后,本申请实施例的数据传输方法还包括:对第一证书进行合法性验证;也就是说,当接收到第一证书之后,需要对第一证书进行签名验证,以对其合法性进行验证。在验证通过的情况下,根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理。
本申请实施例中,所述第一规则还用于指示所述第一证书中的第二类属性均不进行隐藏处理;相应的,所述对第一证书进行合法性验证,包括:
利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息;获得第一证书的原始签名信息;将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;依据匹配结果,对第一证书进行合法性验证。
本申请实施例中,所述利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息,包括:获得所述第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性的哈希值;依据所述哈希值,获得第一参考量;依据第一参考量和第一证书的原始签名信息,计算第一证书的参考签名信息;相应的,所述将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;依据匹配结果,对第一证书进行合法性验证,包括:判断第一证书的参考签名信息与第一证书的原始签名信息是否一致;判断为一致的情况下,对第一证书的合法性验证通过。
图2为本申请实施例的数据传输方法的流程示意图,如图2所示,本申请实施例的数据传输方法应用于区块链网络中的第二节点,包括以下步骤:
步骤201,获得为第一节点签发的至少两个属性。
本申请实施例中,当需要向第一节点发送第一证书,需要获取相关信息生成第一证书,并向第一节点发送,以使第一节点基于第一证书进行相关业务的签名认证。这里,首先获取为第一节点签发的至少两个属性,这里的属性可以是业务相关属性。
步骤202,获得第一规则;
本申请实施例中,第一规则还用于指示待生成的第一证书中承载的至少两个属性中的相关属性是否可以进行隐藏。
具体地,为第一节点签发的至少两个属性包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性第一规则还用于指示所述第一证书中的第二类属性均不进行隐藏处理。
步骤203,依据所述第一规则和所述至少两个属性,生成第一证书的签名信息。
具体地,利用第一规则,将所述至少两个属性进行哈希运算,得到运算结果;依据运算结果,获得第一参考量;依据第一参考量,得到第一证书的签名信息。作为一种实现方式,第二节点可以基于X509的证书生成机制,第一规则包括可截取签名,证书颁发过程的签名需要换成可截取签名。
步骤204,依据第一证书的签名信息和所述至少两个属性,得到第一证书。
其中,第一证书包括有第一类属性和第二类属性;第一类属性为所述至少两个属性中不能够进行隐藏处理的属性、基于所述第一规则而确定;所述第二类属性为所述至少两个属性信息中除第一类属性之外的其它属性信息。
步骤205,发送所述第一证书以及第一规则。
本申请实施例中,当生成第一证书后,第二节点向第一节点发送所述第一证书以及第一规则,以使第一节点基于第一证书及第一规则进行签名运算,以便在向第三节点发送第二证书时,可以基于相关信息及第一规则,对其中的相关属性进行隐藏,以实现隐私保护。
图3为本申请实施例的数据传输方法的流程示意图,如图3所示,本申请实施例的数据传输方法应用于区块链网络中的第三节点,所述方法包括:
步骤301,接收第一节点发送的第二信息、第二证书及第一规则。
其中,第二证书为第二节点对第一节点为其签发的第一证书中的至少部分第二类属性进行隐藏处理而得到的证书,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性、基于第一规则而确定;第二信息为所述第一节点使用第二证书对其要发送的第一信息进行签名而得到。
步骤302,获得第二证书的原始签名信息。
本申请实施例中,当第三节点接收到第一节点发送的签名认证请求后,获得第二证书的原始签名信息。
作为一种实现方式,根据第一节点传输的第一规则进行判断,若第一规则满足第一条件,说明第二证书是标准X509证书,则按照标准X509规则进行验签;若第一规则满足第二条件,说明第二证书是可截取签名规则下签发的证书,需要根据原始签名信息对第二证书进行相应解析。
步骤303,对第二证书中已进行隐藏处理的第二类属性进行解析。
本申请实施例中,当确定第二证书为可截取签名规则下签发的证书后,需要根据第一规则确定第二证书中的第二类属性,这些第二类属性为隐藏处理后的属性,需要根据隐藏规则对第二类属性进行解析,从而能够获得隐藏前的第二类属性。
步骤304,利用第二证书的原始签名信息以及解析出的第二类属性,对第二证书进行合法性验证。
具体地,获得解析出的第二类属性的哈希值;依据第一规则获得第一类属性的哈希值;依据第二证书的原始签名信息、以及第一类属性和第二属性的哈希值,获得第二证书的参考签名信息;将第二证书的参考签名信息与第二证书的原始签名信息进行匹配;依据匹配结果,对第二证书进行合法性验证。
步骤305,验证通过的情况下,对第二信息进行验证。
本申请实施例中,第三节点验证证书合法之后,按照正常验签规则验证第二证书私钥下的信息签名,第三节点可以通过公钥验证,确定隐私处理后的第二证书的有效性,进而确定验证通过的第二证书对第二信息的签名。
以下通过一具体示例,进一步阐明本申请实施例的技术方案的实质。
图4为本申请实施例的数据传输方法的整体流程示意图,如图4所示,本申请实施例的数据传输方法包括以下步骤:
CA根据user需求签发公钥证书cert0,其中包含user的多个身份信息;用户user可以对cert0进行可截取签名,对证书cert0进行变换,即对cert0证书中的属性内容进行截取,转换为cert1,其中cert1中仅包含了部分信息;user利用cert1对应的私钥对信息α1进行签名,验证者Verifier-1收到签名之后会,根据可截取签名的性质仍然能够通过cert1证书链的验证,进而验证消息的签名。用户根据自已想要暴露的属性,对证书cert0进行变换,变换为cert2,此时验证者收到的证书cert2及利用该证书私钥进行的签名,同样验证者Verifier-2可以在不获取用户全部信息的情况下,利用CA的公钥验证cert2的合法性,进而验证消息的签名。
作为一种示例,前述的CA可以作为前述实施例的第二节点来理解,user可以作为前述实施例的第一节点来理解,Verifierl、Verifier2可以作为第三节点来理解,如可以分别为不同的业务验证者。Gert0作为第一证书来理解,cert1、cert2作为第二证书来理解。
以下详细阐述本申请实施例的实现细节。
CA为user颁发证书的过程中,M为user申请的待签名原始消息,且按照要求被分成用mi表示的n个子消息段,其中i∈{1,2,...,n}代表子消息段在M中的编号;CEAS表示内容截取访问控制结构,在CEAS中,对每个子消息段规定了必须截取和可选截取两种方式,可分别用“1”和“0”表示;这里的CEAS可以作为前述实施例的第一规则来理解。这里的截取,表示哪些信息段可以被user处理而隐藏,M′表示截取后的消息,CI(M′)表示M′中所包含的M中子消息段编号的集合,所有子消息段的编号必须与M一致。例如M=(ID,PK,attr1,attr2)中m1=ID,m2=PK,m3=attr1,...,m4=attr2,CEAS={1,1,0,0},CI(M′)={1,2}和M′={m1,m2,?,?}是合法的,表示CA规定user必须截取的消息包括user标识(ID)和用户公钥信息(PK),对于证书中的属性信息为可截取选项。其中,M′中的“?”表示可隐藏。
本申请实施例中,CA可以基于X509的证书生成机制,引入可截取签名后,证书颁发过程的签名需要换成可截取签名。具体过程包括CA的原始签名阶段,用户可截取签名阶段,验证签名阶段。以下详细说明之。
其中,原始签名阶段为:CA签发证书采用的基于ECDSA或SM2可截取签名算法,本实施案例中仅以ECDSA为例进行详细叙述,按照以下步骤对证书进行签名:
1)CA设置可截取规则CEAS,对于必选子消息i∈CEAS,计算hCEAS=H2(mi,CEAS);对于非必选子消息i∈Γ\CEAS,计算hi=H2(mi,CEAS);H2()表示H2哈希运算。
2)CA按照X509证书结构要求封装用户信息,并计算
Figure BDA0003013135170000121
3)随机选取k∈[1,n-1],计算K=kG=(x1,y1);G为椭圆曲线数字签名算法中椭圆曲线上的基点,x1、y1为G基点的坐标。
4)计算
Figure BDA0003013135170000122
则CA对用户证书的签名为(σ,r);mod表示取模运算。H()表示哈希运算。
CA将签发的证书cert0及截取规则CEAS发给user。
通过ECDSAS签名算法截取签名,具体包括:user(签名截取者)收到CA颁发的证书cert0及截取规则CEAS后,首先验证证书cert0的合法性,然后根据截取规则对证书进行变换。其中,cert0包含CA的签名信息(σ,r),验签及截取过程具体如下:
1)user首先解析证书cert0,计算hCEAS=H2(mi,CEAS),i∈CEAS;hi=H2(mi,CEAS),i∈Г\CEAS;
2)user恢复
Figure BDA0003013135170000123
3)计算
Figure BDA0003013135170000124
4)计算μ1G+μ2QCA=(x2,y2),令v=x2modn,若v=r,则签名验证通过,表示cert0是合法的;否则,cert0无效;这里,μ1G+μ2QCA=(x2,y2)表示椭圆曲线数字签名算法中的基点验证方式,r表示椭圆半径,基于此方式对签名进行验证的具体过程,这里不再赘述。
5)user验证证书cert0通过之后,根据截取规则CEAS,设置截取子集CI(M),令M′=CI(M),其中mi,i∈Г\CI(M),表示user要隐藏的信息;
6)user将证书扩展域原来存储属性明文的地方,替换为隐藏属性的哈希值,即对于i∈Γ\CI(M),截取者计算hi=H2(mi,CEAS);
7)经过对cert0证书截取签名变换之后的证书cert1中的签名值仍然为(σ,r),cert1证书中user隐藏的属性值是以hi∈Γ\cI(M)形式存在,而非明文。
user利用变化之后的证书cert1对信息α进行签名,将信息α及签名结果和证书cert1,截取规则CEAS,CI(M)及(hi)i∈Г\CI(M)发给验证者Verifier1、Verifier2进行验证。本申请实施例中,信息α可以作前述实施例的第一信息理解。
验证签名过程如下:
验证者(Verifier1、Verifier2)收到变换之后的证书cert1之后,验证证书中签名的有效性。
1)首先根据user传输的信息进行判断,确定其中的
Figure BDA0003013135170000133
说明cert1证书是标准X509证书,则按照标准X509规则进行验签;若
Figure BDA0003013135170000134
说明该证书是可截取签名规则下签发的证书。
2)user首先验证CEAS∈CI(M)是否成立,若成立,则继续下一步的操作;否则,终止算法。
3)然后对证书cert1进行解析,获取证书中的签名(σ,r);
4)检验r∈[1,n-1]是否成立,若成立,则进行下一步操作;否则,验证不通过;
5)检验σ∈[1,n-1]是否成立,若成立,则进行下一步操作;否则,验证不通过;
6)解析证书cert1,获取扩展域中的值,计算hCEAS=H2(mi,CEAS),i∈CEAS,计算hi=H2(mi,CEAS),i∈CI(M)\CEAS,对于隐藏的属性值,获取到的是其哈希值hi∈Γ\CI(M)
7)恢复
Figure BDA0003013135170000131
8)计算w=σ-1mod n,
Figure BDA0003013135170000132
9)计算小G+μ2QCA=(x2,y2),令v=x2mod n,若v=r,则签名验证通过,否则,不通过;
10)验证者验证证书合法之后,按照正常验签规则验证该证书私钥下的信息签名即可。
通过以上过程,验证者可以仍然可以通过CA的公钥验证经过用户变换之后的隐私证书cert1的有效性,进而验证通过cert1对消息的签名。
本申请实施例中,user可以根据需要,对第一证书中的属性信息进行选择,确定需要隐藏哪个或哪些属性,如可以根据验证者的业务属性,确定隐藏的属性,从而根据不同的验证者而生成相应的cert1、cert2,并发送给相应的验证者进行验证,这里不再赘述cert2的验证过程,可参见前述cert1的验证方式。
图5为本申请实施例的数据传输装置的结构示意图,如图5所示,本申请实施例的数据传输装置应用于区块链网络中的第一节点,所述数据传输装置包括:
获取单元50,用于获取第一信息;
处理单元51,用于根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;
签名单元52,用于使用所述第二证书对所述第一信息进行签名,得到第二信息;
发送单元53,用于发送所述第二信息、所述第二证书和所述第一规则。
作为一种实现方式,处理单元51在根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理之前,所述获取单元50还用于:从第二节点获取第一证书和第一规则;其中,所述第一证书由第二节点生成并签名。
作为一种实现方式,所述第一信息用于指示待发送消息;所述处理单元51还用于:
获得第一参数,所述第一参数用于指示在发送所述待发送消息的过程中在所述第一证书包括的至少一个第二类属性中需要进行隐藏处理的属性或者不需要进行隐藏处理的属性;
依据第一参数,获得目标第二类属性,所述目标第二类属性为需要在发送所述待发送消息的过程中进行隐藏处理的第二类属性;
对第一证书中的所述目标第二类属性进行隐藏处理以及对第一证书中的第一类属性不进行隐藏处理,得到第二证书。
作为一种实现方式,所述处理单元51还用于:
对所述至少部分第二类属性进行哈希变换。
作为一种实现方式,在从第二节点获取第一证书之后,所述处理单元51还用于:
对第一证书进行合法性验证;
在验证通过的情况下,根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理。
作为一种实现方式,所述第一规则还用于指示所述第一证书中的第二类属性均不进行隐藏处理;
相应的,所述处理单元51还用于:
利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息;
获得第一证书的原始签名信息;
将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;
依据匹配结果,对第一证书进行合法性验证。
作为一种实现方式,获得所述第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性的哈希值;依据所述哈希值,获得第一参考量;依据第一参考量和第一证书的原始签名信息,计算第一证书的参考签名信息;
相应的,所述处理单元51还用于:
判断第一证书的参考签名信息与第一证书的原始签名信息是否一致;
判断为一致的情况下,对第一证书的合法性验证通过。
本申请实施例的数据传输装置中,获取单元50、处理单元51、签名单元52和发送单元53,在实际应用中均可由电子设备中的中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,MicrocontrollerUnit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
图6为本申请实施例的数据传输装置的结构示意图,如图6所示,本申请实施例的数据传输装置应用于区块链网络中的第二节点,所述数据传输装置包括:
获得单元60,用于获得为第一节点签发的至少两个属性;以及,获得第一规则;
生成单元61,用于依据所述第一规则和所述至少两个属性,生成第一证书的签名信息;以及,依据第一证书的签名信息和所述至少两个属性,得到第一证书;其中,第一证书包括有第一类属性和第二类属性;第一类属性为所述至少两个属性中不能够进行隐藏处理的属性、基于所述第一规则而确定;所述第二类属性为所述至少两个属性信息中除第一类属性之外的其它属性信息;
发送单元62,用于发送所述第一证书以及第一规则。
作为一种实现方式,所述生成单元61,还用于:
利用第一规则,将所述至少两个属性进行哈希运算,得到运算结果;
依据运算结果,获得第一参考量;
依据第一参考量,得到第一证书的签名信息。
本申请实施例的数据传输装置中,获得单元60、生成单元61和发送单元62,在实际应用中均可由电子设备中的中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
图7为本申请实施例的数据传输装置的结构示意图,如图7所示,本申请实施例的数据传输装置应用于区块链网络中的第三节点,所述数据传输装置包括:
接收单元70,用于接收第一节点发送的第二信息、第二证书及第一规则;其中,第二证书为第二节点对第一节点为其签发的第一证书中的至少部分第二类属性进行隐藏处理而得到的证书,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性、基于第一规则而确定;第二信息为所述第一节点使用第二证书对其要发送的第一信息进行签名而得到;
获得单元71,用于获得第二证书的原始签名信息;
解析单元72,用于对第二证书中已进行隐藏处理的第二类属性进行解析;
验证单元73,用于利用第二证书的原始签名信息以及解析出的第二类属性,对第二证书进行合法性验证;验证通过的情况下,对第二信息进行验证。
所述验证单元73,还用于:
获得解析出的第二类属性的哈希值;
依据第一规则获得第一类属性的哈希值;
依据第二证书的原始签名信息、以及第一类属性和第二属性的哈希值,获得第二证书的参考签名信息;
将第二证书的参考签名信息与第二证书的原始签名信息进行匹配;
依据匹配结果,对第二证书进行合法性验证。
本申请实施例的数据传输装置中,接收单元70、获得单元71、解析单元72和验证单元73,在实际应用中均可由电子设备中的中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,MicrocontrollerUnit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
需要说明的是,本申请实施例的数据传输装置,由于所要解决问题的原理与前述的数据传输方法相似,因此,数据传输装置的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
下面,参考图8来描述根据本申请实施例的电子设备11。
如图8所示,电子设备11包括一个或多个处理器111和存储器112。
处理器111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的个人标识承载体的实现方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入设备113可以包括例如键盘、鼠标等等。
该输出装置114可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种数据传输方法,应用于区块链网络中的第一节点,包括:
获取第一信息;
根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;
使用所述第二证书对所述第一信息进行签名,得到第二信息;
发送所述第二信息、所述第二证书和所述第一规则。
2.根据权利要求1所述的方法,在根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理之前,所述方法还包括:从第二节点获取第一证书和第一规则;其中,所述第一证书由第二节点生成并签名。
3.根据权利要求1所述的方法,所述第一信息用于指示待发送消息;所述根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书,包括:
获得第一参数,所述第一参数用于指示在发送所述待发送消息的过程中在所述第一证书包括的至少一个第二类属性中需要进行隐藏处理的属性或者不需要进行隐藏处理的属性;
依据第一参数,获得目标第二类属性,所述目标第二类属性为需要在发送所述待发送消息的过程中进行隐藏处理的第二类属性;
对第一证书中的所述目标第二类属性进行隐藏处理以及对第一证书中的第一类属性不进行隐藏处理,得到第二证书。
4.根据权利要求1所述的方法,所述对第一证书的至少部分第二类属性进行隐藏处理,包括:
对所述至少部分第二类属性进行哈希变换。
5.根据权利要求1或2所述的方法,在从第二节点获取第一证书之后,所述方法还包括:
对第一证书进行合法性验证;
在验证通过的情况下,根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理。
6.根据权利要求5所述的方法,所述第一规则还用于指示所述第一证书中的第二类属性均不进行隐藏处理;
相应的,所述对第一证书进行合法性验证,包括:
利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息;
获得第一证书的原始签名信息;
将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;
依据匹配结果,对第一证书进行合法性验证。
7.根据权利要求6所述的方法,所述利用第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性,获得第一证书的参考签名信息,包括:
获得所述第一类属性和第一规则指示的第一证书中均不进行隐藏处理的第二类属性的哈希值;
依据所述哈希值,获得第一参考量;
依据第一参考量和第一证书的原始签名信息,计算第一证书的参考签名信息;
相应的,所述将第一证书的参考签名信息与第一证书的原始签名信息进行匹配;依据匹配结果,对第一证书进行合法性验证,包括:
判断第一证书的参考签名信息与第一证书的原始签名信息是否一致;
判断为一致的情况下,对第一证书的合法性验证通过。
8.一种数据传输方法,应用于区块链网络中的第二节点,包括:
获得为第一节点签发的至少两个属性;
获得第一规则;
依据所述第一规则和所述至少两个属性,生成第一证书的签名信息;
依据第一证书的签名信息和所述至少两个属性,得到第一证书;其中,第一证书包括有第一类属性和第二类属性;第一类属性为所述至少两个属性中不能够进行隐藏处理的属性、基于所述第一规则而确定;所述第二类属性为所述至少两个属性信息中除第一类属性之外的其它属性信息;
发送所述第一证书以及第一规则。
9.一种数据传输方法,应用于区块链网络中的第三节点,包括:
接收第一节点发送的第二信息、第二证书及第一规则;其中,第二证书为第二节点对第一节点为其签发的第一证书中的至少部分第二类属性进行隐藏处理而得到的证书,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性、基于第一规则而确定;第二信息为所述第一节点使用第二证书对其要发送的第一信息进行签名而得到;
获得第二证书的原始签名信息;
对第二证书中已进行隐藏处理的第二类属性进行解析;
利用第二证书的原始签名信息以及解析出的第二类属性,对第二证书进行合法性验证;
验证通过的情况下,对第二信息进行验证。
10.一种数据传输装置,应用于区块链网络中的第一节点,包括:
获取单元,用于获取第一信息;
处理单元,用于根据所述第一信息以及第一规则,对第一证书的至少部分第二类属性进行隐藏处理,得到第二证书;其中,所述第一证书包括至少一个第一类属性和至少一个第二类属性,所述第一类属性为不能够进行隐藏处理的属性,所述第一规则用于确定所述第一类属性;
签名单元,用于使用所述第二证书对所述第一信息进行签名,得到第二信息;
发送单元,用于发送所述第二信息、所述第二证书和所述第一规则。
CN202110381403.5A 2021-04-09 2021-04-09 数据传输方法以及装置 Pending CN113221133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110381403.5A CN113221133A (zh) 2021-04-09 2021-04-09 数据传输方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110381403.5A CN113221133A (zh) 2021-04-09 2021-04-09 数据传输方法以及装置

Publications (1)

Publication Number Publication Date
CN113221133A true CN113221133A (zh) 2021-08-06

Family

ID=77086798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110381403.5A Pending CN113221133A (zh) 2021-04-09 2021-04-09 数据传输方法以及装置

Country Status (1)

Country Link
CN (1) CN113221133A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114614992A (zh) * 2022-03-11 2022-06-10 深圳市名竹科技有限公司 签名值输出及验证方法、装置、计算机设备、存储介质
CN116886319A (zh) * 2023-09-08 2023-10-13 海马云(天津)信息技术有限公司 证书校验方法及装置、通信设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007053655A (ja) * 2005-08-19 2007-03-01 Kddi R & D Laboratories Inc 属性情報交換システムおよび同システムにおけるプライバシ保護方法
CN107370600A (zh) * 2017-08-14 2017-11-21 华南理工大学 一种生成核心身份数字证书和身份侧面数字证书的方法
CN111259449A (zh) * 2020-01-19 2020-06-09 深圳市博威创盛科技有限公司 隐私数据的处理方法、清理器以及云端存储系统
CN112381540A (zh) * 2020-11-13 2021-02-19 从法信息科技有限公司 基于零知识证明验证签署文书的方法、装置和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007053655A (ja) * 2005-08-19 2007-03-01 Kddi R & D Laboratories Inc 属性情報交換システムおよび同システムにおけるプライバシ保護方法
CN107370600A (zh) * 2017-08-14 2017-11-21 华南理工大学 一种生成核心身份数字证书和身份侧面数字证书的方法
CN111259449A (zh) * 2020-01-19 2020-06-09 深圳市博威创盛科技有限公司 隐私数据的处理方法、清理器以及云端存储系统
CN112381540A (zh) * 2020-11-13 2021-02-19 从法信息科技有限公司 基于零知识证明验证签署文书的方法、装置和电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114614992A (zh) * 2022-03-11 2022-06-10 深圳市名竹科技有限公司 签名值输出及验证方法、装置、计算机设备、存储介质
CN114614992B (zh) * 2022-03-11 2023-10-13 深圳市名竹科技有限公司 签名值输出及验证方法、装置、计算机设备、存储介质
CN116886319A (zh) * 2023-09-08 2023-10-13 海马云(天津)信息技术有限公司 证书校验方法及装置、通信设备

Similar Documents

Publication Publication Date Title
US10609039B2 (en) Traitor tracing for obfuscated credentials
US8433897B2 (en) Group signature system, apparatus and storage medium
WO2022095244A1 (zh) 跨链交易方法、系统、装置、设备和存储介质
CN112801663B (zh) 区块链存证方法、装置、系统、设备和介质
CN109981680B (zh) 一种访问控制实现方法、装置、计算机设备及存储介质
CN113301022B (zh) 基于区块链和雾计算的物联网设备身份安全认证方法
CN113221133A (zh) 数据传输方法以及装置
CN115460019B (zh) 基于数字身份的目标应用提供方法和装置、设备和介质
US10158490B2 (en) Double authentication system for electronically signed documents
CN112332980B (zh) 一种数字证书签发和验签方法、设备及存储介质
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN112380287B (zh) 一种分布式可信声明生成方法和系统、设备及存储介质
CN116132071B (zh) 基于区块链的标识解析节点身份认证方法和装置
CN115550060B (zh) 基于区块链的可信证书验证方法、装置、设备和介质
CN116170144B (zh) 智能电网匿名认证方法、电子设备及存储介质
CN116566626A (zh) 环签名方法和设备
CN115967508A (zh) 数据访问控制方法及装置、设备、存储介质、程序产品
CN113904873A (zh) 一种认证方法、装置、计算设备及存储介质
CN117278213B (zh) 基于多项式承诺的方法、电子设备及可读存储介质
CN112749964B (zh) 一种信息监控方法、系统、设备及存储介质
CN116975936B (zh) 金融资质证明方法、金融资质验证方法
CN116975937B (zh) 匿名证明方法、匿名验证方法
KR20190041203A (ko) 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
CN116896440B (zh) 基于区块链的声明数据的验证方法和装置、设备和介质
CN115964733B (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