CN110572268B - 一种匿名认证方法和装置 - Google Patents
一种匿名认证方法和装置 Download PDFInfo
- Publication number
- CN110572268B CN110572268B CN201910867226.4A CN201910867226A CN110572268B CN 110572268 B CN110572268 B CN 110572268B CN 201910867226 A CN201910867226 A CN 201910867226A CN 110572268 B CN110572268 B CN 110572268B
- Authority
- CN
- China
- Prior art keywords
- node
- signature
- information
- verification
- public key
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/3247—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 digital 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请实施例公开了一种匿名认证方法和装置,在包括多级节点的节点群中,处于第i级的第一节点的签名私钥是处于第i‑1级的第三节点的签名私钥对第一节点的身份信息加密得到的,当第一节点需要向第一验证节点进行认证时,第一节点可以采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥,该第二节点在节点群中的级数小于等于i‑1,由此,当第一验证节点获取该第一信息签名和验签标识时,会采用第二节点对应的公钥进行验证,由于第二节点的公钥未包括第一节点的身份信息,故在保证认证的前提下,不会暴露第一节点的实际身份,实现了对节点身份的匿名保护。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种匿名认证方法和装置。
背景技术
在区块链或其他应用场景中,参与通信的节点在与其他节点建立连接、发送、接收信息时,双方需要进行认证,判断对端是否是合法或有权限的对象。
相关技术中,节点a如果要被节点b认证,节点a需要向节点b发送体现自身身份的相关信息,从而导致身份泄露给节点b。难以做到认证的过程中对节点提供匿名保护。
发明内容
为了解决上述技术问题,本申请提供了一种匿名认证方法和装置,实现了认证过程中对节点身份的匿名保护,实现了节点群中的节点通过该节点群的名义向节点群外的验证节点进行匿名认证的功能。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种匿名认证方法,所述方法包括:
第一节点采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;所述第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
所述第一节点向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
可选的,若所述第一节点的签名私钥是采用所述第一加密模式通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第一节点的签名私钥中包含所述第三节点的身份信息。
可选的,若所述第一节点的签名私钥是采用第二加密模式,通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,在所述第二加密模式中,所述第二节点为所述第三节点,用于解密所述第一节点的签名私钥所签名信息的验签公钥为所述第三节点对应的公钥;
所述第一节点的签名私钥中不包含所述第三节点的身份信息,所述第三节点对应的公钥为根据所述节点群的群公钥和所述第三节点的身份信息扩展得到的。
可选的,所述第一信息签名被追踪私钥提取出的身份信息后缀用于标识所述第一节点的身份。
可选的,所述第一信息签名被追踪私钥提取出的身份信息后缀和所述第三节点对应的公钥用于标识所述第一节点的身份。
可选的,若所述第三节点为所述节点群中处于第0级的根节点,所述第三节点的签名私钥为所述节点群的群私钥,所述第三节点对应的公钥为所述节点群的群公钥。
可选的,所述方法还包括:
第一节点采用第二加密模式,通过签名私钥对第二信息签名得到第二信息签名;在所述第二加密模式中,用于解密所述第二信息签名的第二验签公钥为所述第一节点对应的公钥;
所述第一节点向第二验证节点发送所述第二信息签名和用于标识所述第二验签公钥的验签标识。
第二方面,本申请实施例提供一种匿名认证装置,所述装置包括第一加密单元和第一发送单元:
所述第一加密单元,用于采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
所述第一发送单元,用于向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
可选的,若所述第一节点的签名私钥是采用所述第一加密模式通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第一节点的签名私钥中包含所述第三节点的身份信息。
若所述第一节点的签名私钥是采用第二加密模式,通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,在所述第二加密模式中,所述第二节点为所述第三节点,用于解密所述第一节点的签名私钥所签名信息的验签公钥为所述第三节点对应的公钥;
所述第一节点的签名私钥中不包含所述第三节点的身份信息,所述第三节点对应的公钥为根据所述节点群的群公钥和所述第三节点的身份信息扩展得到的。
可选的,所述第一信息签名被追踪私钥提取出的身份信息后缀用于标识所述第一节点的身份。
可选的,所述第一信息签名被追踪私钥提取出的身份信息后缀和所述第三节点对应的公钥用于标识所述第一节点的身份。
可选的,若所述第三节点为所述节点群中处于第0级的根节点,所述第三节点的签名私钥为所述节点群的群私钥,所述第三节点对应的公钥为所述节点群的群公钥。
可选的,所述装置还包括第二加密单元和第二发送单元:
所述第二加密单元,用于采用第二加密模式,通过签名私钥对第二信息签名得到第二信息签名;在所述第二加密模式中,用于解密所述第二信息签名的第二验签公钥为所述第一节点对应的公钥;
所述第二发送单元,用于向第二验证节点发送所述第二信息签名和用于标识所述第二验签公钥的验签标识。
第三方面,本申请实施例提供一种匿名认证方法,所述方法包括:
第一节点通过私钥对信息签名得到信息签名;所述第一节点处于包括多级节点的节点群中的第i级;
所述第一节点根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i;
所述第一节点向所述验证节点发送所述信息和零知识证明,所述零知识证明是根据所述信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到的;所述证书集合中包括第二节点与第一节点间树结构所涉及节点的证书;针对所述节点群中的任一目标节点,所述目标节点的证书是所述目标节点的父节点通过自身私钥对所述目标节点的公钥签名得到的。
可选的,所述第一节点向所述验证节点发送所述信息和零知识证明,包括:
所述第一节点向所述验证节点发送加密数据、所述信息和零知识证明;所述加密数据为根据加密的所述第一节点的证书;所述第一节点的身份通过对所述加密数据进行解密得到。
第四方面,本申请实施例提供一种匿名认证装置,所述装置包括生成单元、确定单元和发送单元:
所述生成单元,用于通过私钥对信息签名得到信息签名;所述第一节点处于包括多级节点的节点群中的第i级;
所述确定单元,用于根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i;
所述发送单元,用于向所述验证节点发送所述信息和零知识证明,所述零知识证明是根据所述信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到的;所述证书集合中包括第二节点与第一节点间树结构所涉及节点的证书;针对所述节点群中的任一目标节点,所述目标节点的证书是所述目标节点的父节点通过自身私钥对所述目标节点的公钥签名得到的。
可选的,所述发送单元,具体用于:
向所述验证节点发送加密数据、所述信息和零知识证明;所述加密数据为根据加密的所述第一节点的证书;所述第一节点的身份通过对所述加密数据进行解密得到。
第五方面,本申请实施例提供一种用于匿名认证的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面或第三方面任一项所述的数据处理方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面或第三方面任一项所述的数据处理方法。
由上述技术方案可以看出,在包括多级节点的节点群中,处于第i级的第一节点的签名私钥是处于第i-1级的第三节点的签名私钥对第一节点的身份信息加密得到的,当第一节点需要向第一验证节点进行认证时,第一节点可以采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥,该第二节点在节点群中的级数小于等于i-1,由此,当第一验证节点获取该第一信息签名和用于标识第一验签公钥的验签标识时,会根据验签标识采用第二节点对应的公钥对第一信息签名进行验证,由于第二节点的公钥仅包括第二节点所在群的群身份信息,而未包括第一节点的身份信息,故在保证认证的前提下,并不会向第一验证节点暴露第一节点的实际身份,实现了认证过程中对节点身份的匿名保护。实现了节点群中的节点通过该节点群的名义向节点群外的验证节点进行匿名认证的功能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种第一节点所在节点群的结构示意图;
图2为本申请实施例提供的一种匿名认证方法的应用场景示意图;
图3为本申请实施例提供的一种匿名认证方法的流程图;
图4为本申请实施例提供的一种第一加密模式授权方式下的各节点的签名私钥示意图;
图5为本申请实施例提供的一种第二加密模式授权方式下的各节点对应的公钥示意图;
图6为本申请实施例提供的一种生成子节点群的场景示意图;
图7为一种结合属性签名和零知识证明的匿名认证方法流程图;
图8为本申请实施例提供的一种匿名认证方法的应用场景示意图;
图9为本申请实施例提供的一种第一节点所在节点群的架构示意图;
图10a为本申请实施例提供的一种匿名认证装置结构图;
图10b为本申请实施例提供的一种匿名认证装置结构图;
图11为本申请实施例提供的一种匿名认证装置结构图;
图12为本申请实施例提供的一种用于匿名认证的设备的结构图;
图13为本申请实施例提供的服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在区块链等场景中,参与通信的节点在与其他节点建立连接、发送、接收信息时,双方需要进行认证,判断对端是否是合法或有权限的对象。目前,被认证节点通常需要向执行认证节点发送体现其自身身份的信息,这样,很容易导致被认证节点向执行认证节点泄露其真实身份,由此难以做到认证过程中对节点提供匿名保护。
为此,本申请实施例提供了一种匿名认证方法,以希望为需要被认证的第一节点提供一种加密方式,使得该第一节点通过该种加密方式对通信信息签名并生成第一签名信息后,对该第一节点进行认证的第一验证节点可以通过另外的第二节点所对应的公钥进行验签。从而,在保证认证的前提下,由于第二节点对应的公钥中不包括第一节点的身份信息,从而未泄露第一节点的真实身份,进而实现了认证过程中对节点身份的匿名保护。实现了节点群中的节点通过该节点群的名义向节点群外的验证节点进行匿名认证的功能。
需要说明,本申请实施例中涉及的加密方式可以是群签名方式,或者为密码学方式。
首先,对本申请实施例的应用场景进行介绍。该方法可以应用到终端设备中,终端设备例如可以是智能终端、计算机、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑等设备。
该匿名认证方法还可以应用到服务器中,服务器是向终端设备提供匿名认证服务的设备,可以将用于发送至第一验证节点的第一信息和第二节点对应的公钥上传给服务器,服务器利用本申请实施例提供的匿名认证方法,生成第一签名信息和用于标识第一验签公钥的验签标识,并将该第一签名信息和验签标识发送至第一验证节点。其中,服务器可以是独立的服务器,也可以是集群中的服务器。
在具体实现中,该节点群可处于一个区块链中,也就是说,本申请实施例可以应用于区块链中。其中,区块链可以是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的应用模式。需要说明,区块链具有如下优势:区块链采取分布式数据的存储模式,使得不再存在中心化的硬件或管理机构,区块链中每个节点的权利和义务都是均等的,从而实现了数据处理的去中心化优势。以及,区块链中的数据对每个节点都是公开的,从而保证整个区块链的信息高度透明。另外,区块链内的数据无法篡改,也无法人为干预,保证了区块链中数据的客观性。
为了便于理解本申请的技术方案,下面结合实际应用场景对本申请实施例提供的匿名认证方法进行介绍。
参见图1,图1示出了本申请实施例提供的一种第一节点所在节点群的结构示意图,如图1所示,该图示出了包括有多级节点的节点群,其中,该节点群中处于第0级的节点可以是该节点群的根节点,该节点可以作为整个节点群的证书机构,该节点具有该节点群的群私钥和用于标识该节点群的身份信息的群公钥。由于在本申请实施例中,节点群中各个节点的身份可以基于其父节点的身份进行扩展得到,故该节点群包括的级数可以不小于3,即至少包括第0级至第2级。
其中,本申请实施例中一个节点的身份信息可以是用于表征这个节点身份的信息,例如第一节点的身份信息可以是第一节点的身份标识号码(Identity Document,ID)、用户名等。
在本申请实施例中,节点群中的授权是指一个节点为其子节点授予用于本节点群的签名私钥。例如,父节点对子节点的授权方法可以是父节点通过基于身份信息的分级签名方式实现的,父节点可以基于其签名私钥中的身份信息进行扩展,并将扩展得到的加密数据作为其子节点的签名私钥。
这种分级签名的方式可以将合法签名内包含的信息进行扩展,扩展后的签名依然是一个合法签名。本申请实施例中将这种分级签名的方式应用在身份信息的分级上,上级成员(例如处于第i级的节点)的身份信息经过扩展可以得到下级成员(例如处于第i+1级的节点)的身份信息,上级成员的签名私钥也可以经过对应的扩展成为下级成员的签名私钥。
下面对该节点群中节点间的授权过程进行简要介绍。如图1所示,处于第0级的根节点A可以根据群私钥对节点B和节点C进行授权,以分别授予节点B和节点C各自的签名私钥,在授权后,节点B和节点C成为该节点群中处于第1级的节点。同样,处于第1级的节点B可以根据自己的签名私钥可以对节点D和节点E授权,在授权后,节点D和节点E成为该节点群中处于第2级的节点,不再赘述。
下面以第一节点为例对该节点群中节点的授权方法进行说明。其中,第一节点可以是该节点群中处于第i级的节点,该第一节点是由该节点群中处于第i-1级的一个节点进行授权的,可以将该节点群中为第一节点授权的节点记为第三节点。其中,i大于0。
第三节点为第一节点授权的方式可以包括:第三节点的签名私钥可以体现第三节点的身份信息,第三节点可以应用其签名私钥对第一节点的身份信息进行签名的方式扩展出签名数据,并将该签名数据作为第一节点的签名私钥,实现对第一节点的授权。也就是说,对于第一节点的签名私钥,它是由第三节点通过第三节点的签名私钥对第一节点的身份信息进行加密(即签名)得到的。
由此可见,由于具有树形结构的节点群是通过分级授权的方式进行授权的,该节点群中的每一级的节点都可以根据树形结构对其子节点(处于下一级的节点)授权,实现了该节点群与同样具有树形结构的传统证书体系相兼容。使得可以使用目前的证书系统实现节点群中的分级授权。
在明确了本申请所涉及节点群的上述特点后,接下来,对第一节点执行的匿名认证方法进行介绍。
参见图2,该图为本申请实施例提供的一种匿名认证方法的应用场景示意图。如图2所示,节点群中处于第i级的第一节点201可以向第一验证节点202进行匿名认证,该第一验证节点202可以是任意一个节点。其中,第一节点201和第一验证节点202可以为终端或者为服务器,下面以第一节点201和第一验证节点202均为服务器为例进行说明。
首先,为了便于理解本申请实施例提供的匿名认证方法,下面以第一节点的上级节点为例,对节点群中节点的上级节点进行介绍。
第一节点的上级节点可以包括从根节点扩展至第一节点的分支上的全部节点。也可以认为,第一节点的上级节点包括:第一节点的父节点X1、节点X1的父节点X2、……、直至根节点。其中,第一节点的父节点X1可以是第一节点的上一级节点,节点X1的父节点X2可以是第一节点的上两级节点等。例如:假设第一节点为图1中的第3级节点G,则该第一节点的全部上级节点包括:节点D(节点G的父节点)、节点B(节点D的父节点)、节点A(节点B的父节点/根节点)。
接下来介绍本申请实施例提供的匿名认证方法。
当第一节点201需要向第一验证节点202发送信息(例如第一信息)时,第二验证节点202需要对第一节点201进行认证。第一节点201可以选择匿名认证的方式,即在实现认证的前提下不向第一验证节点202暴露自己的身份,而仅公开自身所在群的身份信息。
在选择进行匿名认证时,第一节点201可以采用第一加密模式、并应用其签名私钥对该第一信息进行签名,以得到第一信息签名。其中,第一信息可以是第一节点201需要匿名发送至第一验证节点202的通信内容,第一信息签名可以是第一节点对第一信息通过第一加密模式加密得到的签名数据。
下面对第一加密模式进行详细介绍,第一加密模式可以是一种匿名化签名方式,在本申请中可以用于授权和认证两个阶段。在本实施例中主要介绍认证阶段的应用。
第一节点通过应用第一加密模式、并采用其自身的签名私钥对第一信息进行签名后,为了不在认证过程中暴露自身身份,可以采用第二节点的公钥进行验签。该第二节点符合如下条件:第一节点的签名私钥中的身份信息与
第二节点对应的公钥中的身份信息,这两部分身份信息中包括有第一节点的全部上级节点的身份信息。也就是说,第二节点相当于是第一节点所在群的“根节点”,起到作为第一节点签名私钥的签发机构的作用。或者说,相对于证书系统,第二节点相当于是为第一节点签发证书的证书机构。
假设第一节点201为图1对应的示例中的第3级中的节点G,节点G的上级节点可以包括:根节点A、节点B和节点D。节点G的签名私钥中包括节点B、节点D和节点G的身份信息,节点A对应的公钥中包括有节点A的身份信息,即节点A可以作为节点G的签名私钥的签发机构。在该种场景下,当节点G需要向第一验证节点202进行匿名认证时,节点G可以应用其签名私钥、并采用第一加密模式对第一信息进行签名,得到第一信息签名,并将节点A作为第二节点,以节点A的公钥(即群公钥)作为第一验签公钥。
在节点G应用第一加密模式得到第一信息签名后,可以向第一验证节点202发送第一信息签名和验签标识。其中,验签标识可以用于标识解密第一信息签名的第一验签公钥。从而,第一验证节点202在接收到该第一信息签名和验签标识后,可以基于该验签标识确定出节点A的公钥对第一信息签名进行解密验签。
由于节点A的公钥中不包括节点G的身份信息,在将节点A的公钥作为第一验签公钥进行解密验签时,仅会公开节点G所在节点群的身份,而不会泄露第一节点201的身份信息。
由上述技术方案可以看出,在包括多级节点的节点群中,处于第i级的第一节点可以通过匿名认证的方式在第一验证节点处进行签名认证。在该方式中,用于验签的第一验签公钥为与第一节点同处一个节点群的第二节点的公钥,该公钥仅包括第二节点所在群的群身份信息,而未包括第一节点的身份信息,故在保证认证的前提下,并不会向第一验证节点暴露第一节点的实际身份,实现了认证过程中对节点身份的匿名保护。
接下来,将结合附图对本申请实施例提供的匿名认证方法进行介绍。
参见图3,该图示出了本申请实施例提供的一种匿名认证方法的流程图,所述方法包括:
S301:第一节点采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名。
节点群中的第一节点可以采用匿名认证的方式与其它节点进行通信,其中,可以将需要对第一节点进行匿名认证的节点记为第一验证节点,匿名认证的方式可以是指,在实现认证的前提下,不向第一验证节点暴露自己的身份,而仅公开自身所在群的身份信息。
在本申请实施例中,第一加密模式可以是一种匿名化的签名方式,当第一节点采用第一加密模式、并通过其签名私钥签名后得到第一信息签名时,用来对第一信息签名解密的第一验签公钥可以是该节点群中第二节点对应的公钥。其中,第二节点对应的公钥与第一节点的签名私钥中应当含有第一节点的全部上级节点的身份信息,即,第二节点相当于是第一节点所在群的“根节点”。这样,该第二节点在该节点群中的所处级数小于等于i-1。在具体实现中,每个节点对应的验签公钥可以是该节点对应的ID。
在一种可能的实现方式中,对第一节点授权的第三节点可以是节点群中处于第0级的根节点(即节点群的证书机构),这样,第三节点的签名私钥可以为节点群的群私钥,第三节点对应的公钥为节点群的群公钥,且第一节点在节点群中的所处级数为第1级。其中,证书机构可以是值得信赖的第三方实体颁发数字证书机构。
基于此,当第一节点应用第一加密模式进行匿名认证时,用于对其第一信息签名解密的第一验签公钥为第三节点对应的公钥。也就是说,上述中的第二节点为第三节点(即根节点)。
S302:第一节点向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
在本申请实施例中,验签标识可以是用于标识第一验签公钥的信息,通过该验签标识,方便第一验证节点基于该验签标识,从公钥中确定用于解密第一信息签名的第一验签公钥。
然后,第一节点可以将第一信息签名和验签标识发送至第一验证节点。当第一验证节点接收到该验签标识时,可以根据该验签标识,从节点群中确定第二节点对应的公钥作为第一验签公钥,以对第一信息签名进行解密(即验签)。
在本申请实施例中,第一节点可以应用上述S301-S302的方法进行匿名认证。另外,第一节点还可以采用非匿名认证方式与节点群外的节点进行通信。基于此,在一种可能的实现方式中,本申请实施例还提供一种非匿名化的认证方法,所述方法还可以包括:
S401:第一节点采用第二加密模式,通过签名私钥对第二信息签名得到第二信息签名。
在本申请实施例中,第一节点可以采用非匿名认证的方式向节点群外的第二验证节点进行通信,其中,非匿名认证的方式是指在认证过程中向第二验证节点暴露自己的真实身份。
当第一节点采用非匿名认证的方式进行通信时,可以采用第二加密方式,并通过其签名私钥对第二信息进行签名,得到第二信息签名。其中,第二信息可以是第一节点需要非匿名发送至第二验证节点的通信内容,第二信息签名可以是第一节点对第二信息通过第二加密模式加密得到的签名数据。
下面对第二加密模式进行详细介绍,第二加密模式可以是一种非匿名化签名方式,在本申请中可以用于授权和认证两个阶段。其中,在授权阶段中,若节点群中的节点应用第二加密模式进行授权,该节点可以根据自身的身份信息对群公钥进行扩展,来得到自身对应的公钥,从而其子节点可以根据公钥中的身份信息获知该节点的真实身份,实现非匿名授权,该种应用第二加密模式进行非匿名授权的方法会在后续内容进行详细介绍,在本实施例中主要介绍认证阶段的应用。
其中,第一节点对应的公钥可以是第一节点基于群公钥和自己的身份信息扩展得到的,第一节点对应的公钥中可以包括第一节点的身份信息。
在第一节点应用第二加密模式、并采用其自身的签名私钥对第二信息进行签名后,由于第一节点的签名私钥和对应的公钥中可以包括第一节点的全部上级节点的身份信息,因此,用于解密第二信息签名的第二验签公钥可以为第一节点对应的公钥。
S402:第一节点向第二验证节点发送第二信息签名和用于标识第二验签公钥的验签标识。
在本申请实施例中,验签标识可以用于标识第二验签公钥的信息,以方便第二验证节点基于该验签标识,从公钥中确定第二验签公钥。
第一节点可以将第二信息签名和验签标识发送至第二验证节点。当第二验证节点接收到该验签标识时,可以根据该验签标识,从节点群中确定第一节点对应的公钥作为第二验签公钥,以对第二信息签名进行解密。
当第二验证节点在根据验签标识确定第二验签公钥(第一节点对应的公钥)时,由于第二验签公钥中包括第一节点的身份信息,因此,第二验证节点可以根据其中的身份信息,获知所接收的第二信息签名的签发者为第一节点,从而实现第一节点的非匿名认证。
由上述技术方案可以看出,在包括多级节点的节点群中,处于第i级的第一节点的签名私钥是处于第i-1级的第三节点的签名私钥对第一节点的身份信息加密得到的,当第一节点需要向第一验证节点进行认证时,第一节点可以采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥,该第二节点在节点群中的级数小于等于i-1,由此,当第一验证节点获取该第一信息签名和用于标识第一验签公钥的验签标识时,会根据验签标识采用第二节点对应的公钥对第一信息签名进行验证,由于第二节点的公钥仅包括第二节点所在群的群身份信息,而未包括第一节点的身份信息,故在保证认证的前提下,并不会向第一验证节点暴露第一节点的实际身份,实现了认证过程中对节点身份的匿名保护。
接下来对前述提到的第一加密模式和第二加密模式的授权方式进行介绍。
第一种授权方式:通过第一加密模式进行授权。
如前述所述,第一加密模式是一种匿名化的加密方式,这样,第三节点应用第一加密模式对第一节点的授权是一种匿名化的授权方式。
在一种可能的实现方式中,当第三节点应用第一加密模式对第一节点进行授权时,第三节点可以应用自身的签名私钥,对第一节点的身份信息进行加密,得到第一节点的身份信息签名。另外,第三节点还可以将其自身的身份信息进行隐藏,得到第三节点的隐藏身份信息。然后,第三节点可以将其自身的隐藏身份信息、其签名私钥中的其上级节点的隐藏身份信息以及第一节点的身份信息签名进行综合,以组成一个综合信息来作为第一节点的签名私钥。其中,节点群中一个节点的隐藏身份信息可以是由该节点对其身份信息进行隐藏后得到的信息。可以看出,第一节点的签名私钥是采用第一加密模式、并通过第三节点的签名私钥对第一节点的身份信息加密得到的。
由此,第一节点的签名私钥中除了包含其自身的身份信息外,还可以包括有其第三节点的隐藏身份信息、以及第三节点的签名私钥中的第三节点的上级节点的隐藏身份信息。需要说明,第一节点在得到其签名私钥后,由于该签名私钥中包括的第三节点的身份信息是被隐藏的,因此,第一节点无法得知对其授权的第三节点,从而,实现了第三节点对第一节点的匿名授权。
在该授权方式下,第一节点用于签名和解签的公私钥对中,私钥为第一节点自己的签名私钥,公钥为第一节点所在群(例如根节点所标识的节点群)的群公钥。
下面进行举例说明:参见图4,该图示出了本申请实施例提供的一种第一加密模式授权方式下的各节点的签名私钥示意图,如图4所示,假设第一节点为图1中的第3级节点G,第三节点为图1中的第2级节点D,该第一节点的上级节点包括:节点A、节点B、节点D。其中,假设节点G的除根节点A外的其余上级节点都是应用第一加密模式(匿名授权)进行授权的,节点A具有群私钥a,节点B的身份信息为Sb,节点D的身份信息为Sd,节点G的身份信息为Sg。
其中,根节点A可以应用其群私钥a对节点B的身份信息Sb进行签名,得到节点B的身份信息签名Sb’;并将该节点B的身份信息签名作为节点B的签名私钥。
当节点B为节点D进行授权时,节点B可以应用第一加密模式,采用其签名私钥对节点D的身份信息Sd进行签名,得到节点D的身份信息签名Sd’;另外,节点B还可以将其身份信息Sb进行隐藏,得到隐藏身份信息Sb1,然后,节点B可以将节点D的身份信息签名Sd’和其隐藏身份信息Sb1进行综合,得到一个综合信息“Sb1+Sd’”,则,该综合信息“Sb1+Sd’”可以作为节点D的签名私钥。
类似的,当节点D为节点G进行授权时,节点D可以应用第一加密模式,采用其签名私钥对节点G的身份信息Sg进行签名,得到节点G的身份信息签名Sg’;另外,节点D还可以将其身份信息Sd进行隐藏,得到隐藏身份信息Sd1,然后,节点D可以将节点G的身份信息签名Sg’、其隐藏身份信息Sd1和其签名私钥中的节点B的隐藏身份信息Sb1进行综合,得到一个综合信息“Sb1+Sd1+Sg’”,则,该综合信息“Sb1+Sd1+Sg’”可以作为节点G的签名私钥。
可以看出,该示例中作为第一节点的节点G的签名私钥为“Sb1+Sd1+Sg’”,该签名私钥中包括有节点D(第三节点)的隐藏身份信息Sd1,即该签名私钥中包括了第三节点的身份信息。
另外,对于第一节点来说,若该第一节点的除根节点外的全部上级节点都是通过第一加密模式进行授权的,则,对于第一节点的每个上级节点,其签名私钥中可以包含该上级节点的全部上级节点的身份信息。从而,在该节点群中,随着节点所处级数的增加,节点的签名私钥中包括的身份信息越多,从而节点的签名私钥的数据量越大。例如:基于图4的示例,相比于处于第2级的节点D的签名私钥“Sd’+Sb1”,处于第3级的节点D的签名私钥“Sg’+Sd1+Sb1”的数据量更大。
此外,对于该节点群中处于相同级数的节点,它们的签名私钥中所包含的上级节点的身份信息数量是相同的。比如:在节点群中处于第2级的节点,其签名私钥中包括其自身的身份信息和为其授权的父节点(处于第1级数)的身份信息。即节点群中处于第2级的每个节点的签名私钥中可以包括2个节点的身份信息。由此,节点群中处于相同级数的节点的签名私钥的长度是近似的,进一步的,相同级数的节点应用其签名私钥进行签名后所得的信息签名长度(数据量)是近似的。
这样,在S301中,当第一节点采用第一加密模式并应用其签名私钥得到第一信息签名后,认证该第一节点的第一验证节点可以基于该第一信息签名的长度(即数据量),确定该第一节点在节点群中所处的级数。但是,对于该节点群中处于相同级数的节点来说,由于它们应用各自签名私钥得到的信息签名的长度是近似的,因此,第一验证节点无法从节点群中处于该级数的节点中准确的确定出该第一节点。从而,可以为该第一节点提供在其所处级数的匿名保护。
第二种授权方式:通过第二加密模式进行授权。
如前述所述,当第三节点采用该第二加密模式对第一节点进行授权时,该种授权方式实际为一种非匿名化的授权方式。
在一种可能的实现方式中,当节点群中的第三节点在对第一节点采用第二加密模式进行授权时,该第三节点可以应用其签名私钥对第一节点的身份信息进行签名,以得到一个身份信息签名,从而,可以将该身份信息签名作为第一节点的签名私钥。也就是说,该第一节点的签名私钥是采用第二加密模式、并通过第三节点的签名私钥对第一节点的身份信息加密得到的。
另外,该第三节点可以基于其身份信息对该节点群的群公钥进行扩展,得到该第三节点对应的公钥。即,第三节点对应的公钥可以为根据节点群的群公钥和第三节点的身份信息扩展得到的。此外,若该第三节点的上级节点也是应用第二加密模式进行授权的,则该第三节点的每个上级节点对应的公钥中都可以包括其自身的身份信息,这样,第三节点还可以将其上级节点对应的公钥中的身份信息加入该第三节点对应的公钥中。
由此看来,第三节点在应用第二加密模式对第一节点进行授权时,第三节点为第一节点生成的签名私钥中不包括第三节点的身份信息。而在该第三节点对应的公钥中,可以包括有该第三节点的身份信息,甚至还可以包括有第三节点的上级节点的身份信息。
在该授权方式下,第一节点用于签名和解签的公私钥对中,私钥为第一节点自己的签名私钥,公钥为第一节点所在群(第三节点所标识节点群)的群公钥。
需要说明,在第三节点对应的公钥中的身份信息不是在被隐藏后加入的,当第一节点得到该第三节点的公钥后,可以根据该第三节点对应的公钥中的身份信息,获知该第三节点的身份,从而实现第三节点对第一节点的非匿名授权。
接下来对第二加密模式的授权方式进行举例说明。
参见图5,该图示出了本申请实施例提供的一种第二加密模式授权方式下的各节点对应的公钥示意图,基于前述图1所示的节点群,假设第一节点为图1中的第3级节点G,第三节点为图1中的第2级节点D,该节点群中的根节点A对应的公钥为该节点群的群公钥Sa,节点B的身份信息为Sb,节点D的身份信息为Sd,节点G的身份信息为Sg。
节点A对节点B的授权方式为:根节点A应用其群私钥a对节点B的身份信息Sb进行签名,得到节点B的身份信息签名Sb’;并将该节点B的身份信息签名作为节点B的签名私钥。
其中,节点B可以应用其签名私钥,并采用第二加密模式对节点D进行授权。节点B可以用其签名私钥对节点D的身份信息Sd进行加密,得到身份信息签名Sd’,并将该身份信息签名Sd’作为节点D的签名私钥。另外,节点B可以在该群公钥的基础上,基于其身份信息Sb,扩展出该节点B对应的公钥为“Sa+Sb”。
类似的,节点D可以应用其签名私钥,采用第二加密模式对节点G进行授权。节点D可以用其签名私钥对节点G的身份信息Sg进行加密,得到身份信息签名Sg’,并将该身份信息签名Sg’作为节点G的签名私钥。另外,节点D可以在该群公钥的基础上,基于其身份信息Sd和节点B对应公钥中的身份信息Sb,扩展出该节点D对应的公钥为“Sa+Sb+Sd”。
另外,在第三节点应用第二加密模式对第一节点进行授权的情形下,由于第一节点的签名私钥中不包括第三节点的身份信息,而该节点群中仅在第三节点对应的公钥中包括该第三节点的身份信息,因此,该节点群中第三节点对应的公钥和第一节点的签名私钥中的身份信息包括了第一节点的全部上级节点的身份信息。
也就是说,在节点群中能够对第一节点的签名私钥所签名信息解密的验签公钥是第三节点对应的公钥,同样,在S201中对第一信息签名解密的第一验签公钥为第三节点对应的公钥,如此,本申请实施例中的第二节点为第三节点。
这样,在S302中,在第一节点向第一验证节点发送的验签标识中,可以标识第一验签公钥为第三节点对应的公钥。从而,第一验证节点在根据该验签标识从节点群中确定出第一验签公钥(第三节点对应的公钥)后,可以根据该第一验签公钥中包含的第三节点的身份信息,获知第三节点的身份,即在此次第一节点的认证过程中,会泄露第三节点(第一节点的上级节点)的身份信息,但仍不会泄露第一节点的身份信息,保证了第一节点的匿名化。
实际上,当第三节点应用第二加密模式对第一节点进行授权时,该第一节点的签名私钥中不具有第三节点和第三节点的每个上级节点的身份信息。这样,第三节点相当于是第一节点的根节点,而从该第一节点开始应用第一加密模式进行扩展授权的节点可以和第三节点组成一个子节点群,该子节点群的根节点即为第三节点。
例如:参见图6,该图示出了本申请实施例提供的一种生成子节点群的场景示意图,如图6所示,对于以节点A为根节点的节点群,假设该节点群中的第2级节点D应用第二加密模式对节点G进行授权,且该节点G应用第一加密模式的方式对节点H和节点I进行授权,节点H应用第一加密模式的方式对节点J进行授权,该种情形下,节点D可以是节点G的根节点,由节点D、节点G、节点H、节点I和节点J组成了一个以节点D为根节点的子节点群。
需要说明,本申请实施例中可以应用于节点群中的方法,也可以用于子节点群中。
在实际场景中,为了提高节点群和验证节点的安全性,还需要具有对节点群中进行匿名认证的节点的追踪功能,以防止无法查找出节点群中采用匿名认证方式发送违规信息的节点。
而当前的匿名认证方案很难实现节点的追踪,比如:目前的结合属性签名和零知识证明的匿名认证方案。其中,属性签名可以是基于用户的一个或多个属性(比如:用户的性别、用户名等)进行签名的方式。零知识证明可以用于证明对象1与对象2满足一定的关系,但不泄露该对象1的其他信息。
下面对该方案进行简要介绍,参见图7,该图示出了一种结合属性签名和零知识证明的匿名认证方法流程图,如图7所示,在该匿名认证方案中,证书机构可以用其私钥对节点的一个或多个属性进行签名,以将得到的签名数据作为该节点的用户证书。其中,用户证书可以用于证明节点具有合法的用户身份。
当节点采用匿名认证方式通信时,可以结合通信内容对其用户证书的合法性做出零知识证明,并基于该零知识证明得到表征该节点具有通信权限的知识签名。其中,该零知识证明隐藏了节点的用户证书,而仅展示该用户证书中的与此次认证所需权限有关的属性。在具体实现中,用户可以应用Fiat-Shamir方法对证书的合法性做出知识签名。该Fiat-Shamir方法可以是一种将交互式零知识证明转化为非交互式零知识证明(兼容的知识签名)的方法。
该节点可以将该知识签名发送给对其进行认证的验证节点,验证节点在接收到该知识签名后,可以验证该知识签名中零知识证明的准确性,如验证该知识签名、用户证书及证书机构公私钥对之间的关联性,验证零知识证明中展示的属性是否包含于用户证书中,以及验证需要认证的通信内容是否包含在知识签名中,等等。
在该方案中,包括证书机构在内的任何节点都无法确定出一个签名是由哪个节点发出的,即无法实现匿名认证时的节点追踪。
基于此,本申请实施例提供的匿名认证方法,可以实现对匿名认证的节点进行追踪。
在本申请实施例中,基于本申请实施例中节点群的树形结构,并结合节点群中根据身份信息的分级扩展,节点群中节点的公私钥中会携带该节点所在树形结构中所涉及节点的完整身份信息,由此,便于根据节点在信息签名中签名私钥和/或对应的公钥中包括的其全部上级节点的身份信息,实现信息签名的签发节点的追踪。
在本申请实施例提供的匿名认证节点追踪方法中,提供一个拥有追踪私钥的权威机构,该权威机构可以应用其追踪私钥从签名信息中追踪到该签名信息的签发节点。其中,该追踪私钥可以用于从签名信息中提取用户身份。下面以第一节点为例对该追踪方法进行说明。
权威机构可以用其签名私钥从第一节点签发的第一信息签名中提取节点的身份信息。在一种可能的实现方式中,若该第一节点为节点群中所处级数不小于1级的节点,且该第一节点的上级节点都是应用第一加密模式(匿名授权方式)进行授权的,则,提取出的身份信息可以包括:第一节点和第一节点的除根节点外所有上级节点的身份信息。其中,可以将第一节点的除根节点外所有上级节点和第一节点的身份信息作为第一节点的完整身份信息,通过该提取的身份信息,可以在节点群中唯一的确定出第一节点。在该提取的身份信息中,各个节点的身份信息可以是根据节点的所处级数的递增顺序排列的,这样,第一节点的身份信息可以排列在所提取的身份信息的后缀。
其中,可以基于该提取出的身份信息,从节点群的根节点开始依次确定出第一节点的每个上级节点,由于该提取出的身份信息的后缀为第一节点的身份信息,因此,在依据提取出的身份信息确定至最后一个节点时,该最后一个节点即为第一节点,进而追踪到第一节点的身份。可以看出,追踪私钥从第一信息签名提取出的身份信息后缀可以用于标识第一节点的身份。
例如:基于图4对应的示例,假设第一节点为该节点群中的第3级节点G,则,可以由追踪私钥从第一信息签名中提取出身份信息:“Sb、Sd、Sg”,从而,可以基于该提取出的身份信息,分别确定出第1级节点B、第2级节点D和第3级节点G,依据该提取的身份信息后缀“Sg”,可以确定出第一节点为第3级节点G。
另外,在一种可能的实现方式中,若第三节点采用第二加密模式(非匿名授权方式)对第一节点进行授权的,则,由追踪私钥从第一信息签名中提取的身份信息仅包括该第一节点的身份信息,此外,可以从第三节点对应的公钥中确定出第一节点的上级用户的身份信息,这样,确定出的该第一节点的上级用户的身份信息和该第一节点的身份信息共同组成了第一节点的完整的身份信息。基于该第一节点的完整的身份信息,可以在节点群中唯一的确定出第一节点。可以看出,被追踪私钥从第一信息签名提取出的身份信息后缀和第三节点对应的公钥,可以用于标识第一节点的身份。
需要说明,在非匿名授权的节点追踪中,所涉及的加密可以是指“制作签名”的方式,所涉及的解密可以是指“验证签名”的方式。
例如:基于前述图5对应的示例,假设第一节点为该节点群中的第3级节点G,其第一信息签名是由第一节点的签名私钥(即Sg’)签名得到的,因此,通过追踪私钥可以从该第一信息签名中提取出该节点G的身份信息Sg,另外,可以从第三节点对应的公钥(即节点D对应的公钥Sa+Sb+Sd)中提取出节点B和节点D的身份信息Sb和Sd,从而,将从第三节点对应的公钥中提取的节点的身份信息和从第一信息签名中提取出的身份信息组成“Sb、Sd、Sg”,该组成的身份信息可以为第一节点的完整的身份信息。可以基于该身份信息“Sb、Sd、Sg”,从节点群的根节点开始依次确定出第一节点的每个上级节点:节点B、节点D、节点D,在依据该完整的身份信息确定至最后一个节点(即节点D)时,该节点D即为第一节点。
由此可见,该方法可以对依据节点群中的签名信息,来追踪该签名信息的签发节点,从而提高了节点群和验证节点的安全性。
接下来,将结合实际应用场景对本申请实施例提供的匿名认证方法进行介绍。参见图8,该图示出了本申请实施例提供的一种匿名认证方法的应用场景示意图。
如图8所示,该节点群中包括作为第0级根节点的证书机构,该证书机构可以具有群公钥和群私钥。其中,证书机构对节点1和节点2进行授权,节点1对下级节点3和下级节点4授权。证书机构对节点1或节点2采用第二加密模式进行授权:应用群私钥对节点的身份信息进行签名,以将相应得到的身份信息签名作为节点的签名私钥。
节点1对下级节点3和下级节点4的授权方式可以包括两种方式:应用第一加密模式授权或者应用第二加密模式授权。其中,这两种授权方式如前所述,此处不再赘述。
在本申请实施中,节点1、节点2、下级节点3和下级节点4都可以分别应用第一加密模式(匿名认证方式)进行签名,以向该节点群外的验证节点进行匿名认证。或者可以应用第二加密模式(非匿名认证方式)进行签名,以向该节点群外的验证节点进非匿名认证。其中,节点应用第一加密模式或第二加密模式进行签名的方法如前所述,此处不再赘述。
例如:如图8所示,节点1和节点2都可以分别向验证节点2发送信息签名1和信息签名2的匿名认证信息,以向验证节点2进行匿名认证。但由于这两个信息签名都是通过群公钥验签的,因此验证节点2无法获知信息签名的签发者,从而保证了节点1和节点2的匿名认证。
可以理解,当节点群中的节点向两个不同的验证用户分别发送匿名认证信息时,这两个验证节点虽然接收到同一个节点发送的匿名认证信息,但由于这两个验证节点都是应用群公钥对接收的匿名认证信息进行验签的,因此无法根据这两个匿名认证信息,关联出这两个匿名认证信息是由同一个节点发送的。
例如:如图8所示,节点1可以分别向验证节点1和验证节点2发送信息签名1’和信息签名1,而验证节点1和验证节点2针对其接收到的信息签名,都是通过群公钥验签的,因此,验证节点1和验证节点2都无法将这两个信息签名关联为由一个节点发送的。
基于目前节点认证过程中无法为节点提供匿名保护的问题,本申请实施例还提供了另外一种匿名认证方法,该方法可以包括:
S501:第一节点通过私钥对信息签名得到信息签名。
在本申请实施例中,第一节点可以是一个处于节点群中第i级的节点,该节点群如前所述,此处不再赘述。
参见图9,该图示出了本申请实施例提供的一种第一节点所在节点群的架构示意图,如图9所示,在该节点群中,除根节点外的节点可以基于其父节点为其颁发证书,来实现对该节点的授权,下面对节点群中父节点对其子节点的授权方式进行介绍。
为了方便描述,可以将该节点群中除证书机构外的任意一个节点记为目标节点,将该节点群中为目标节点授权的节点记为目标节点的父节点。
目标节点的父节点对目标节点授权的方式可以包括:目标节点自身生成有一对密钥对,该密钥对包括目标节点的私钥和公钥。目标节点可以将其公钥发送至其父节点,目标节点的父节点接收该目标节点对应的公钥,并应用自身的私钥对该目标节点对应的公钥进行签名,以得到目标节点的证书。然后,父节点将该证书发送至目标节点,完成对目标节点的授权。
也就是说,针对节点群中的任一目标节点,目标节点的证书是该目标节点的父节点通过自身私钥对目标节点的公钥签名得到的。
当第一节点需要采用匿名认证的方式向节点群外的验证节点通信时,第一节点可以通过其私钥对信息签名,以得到信息签名。其中,这里的信息可以是第一节点需要向验证节点匿名发送的通信内容。该信息签名即为第一节点通过其私钥对信息进行签名得到的签名数据。
S502:第一节点根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i。
对第一节点匿名认证的验证节点可以具有验证需求,该验证需求可以是验证节点对验证匿名认证的节点的需求,验证需求中可以包括验证节点在第一节点所在节点群中信任的节点。
第一节点可以根据验证节点的验证需求,从其上级节点中确定出验证节点信任的一个节点,可以将该确定出的验证节点信任的节点记为第二节点。其中,假设确定出的第二节点在节点群中处于第j级,j小于i。
S503:所述第一节点向所述验证节点发送所述信息和零知识证明。
第一节点在确定第二节点后,可以获取第二节点与第一节点间的树结构所涉及节点的证书。其中,第二节点与第一节点间的树结构所涉及的节点可以包括第一节点和第一节点的上p级节点,1≤p≤(i-j)。举例说明:假设第一节点为图9中的第3级节点F,第二节点为图9中的第1级节点A。该种场景下,第二节点与第一节点间的树结构所涉及节点可以包括:节点A、节点C和节点F。也就是包括:第一节点、第一节点的上1级节点、第一节点的上2(i-j=2)级节点。
其中,可以将第二节点与第一节点间的树结构所涉及节点的证书记为证书集合。需要说明,该证书集合中不包括第二节点的父节点为第二节点签名的证书。
然后,第一节点可以根据S501中得到的信息签名,第一节点的公钥、第二节点的公钥和证书集合生成一个零知识证明。
其中,零知识证明可以用于证明对象1与对象2满足一定关系,但不泄露该对象1的其他信息。
第一节点在生成零知识证明后,可以将信息和生成的零知识证明发送至验证节点,验证节点在接收到该信息和零知识证明后,可以验证该零知识证明是否有效,若确定零知识证明有效,则接受该信息,若确定零知识证明无效,则拒绝接受该信息。
由上述技术方案可以看出,在包括多级节点的节点群中,其中的任一目标节点都具有其父节点应用自身私钥对目标节点的公钥加密得到的证书,当处于第i级的第一节点需要向验证节点进行认证时,第一节点应用其私钥对信息进行签名,得到信息签名,并根据验证节点的验证需求,确定验证节点信任的第二节点,该第二节点在节点群中的级数j小于i。此外,第一节点可以获取第二节点与第一节点间的树结构所涉及节点的证书,作为证书集合,并基于第一节点加密的信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到零知识证明。由此,验证节点在接收到第一节点发送的信息和零知识证明后,仅对零知识证明的有效性进行验证。由于零知识证明仅向验证节点公开了第二节点与第一节点间的权限关系,而未向验证节点公开第一节点的身份,在保证认证的前提下,实现了认证过程中对节点身份的匿名保护。
在实际场景中,为了提高节点群和验证节点的安全性,还需要具有对节点群中进行匿名认证的节点的追踪功能。
基于此,在一种可能的实现方式中,在S503中第一节点向验证节点发送信息和零知识证明的方法,可以包括:
在本申请实施例中,可以提供一个与零知识证明兼容的加密算法,该加密算法对应有一个私钥,该私钥可以用于对应用该加密算法加密的数据进行解密,以得到加密前的数据。
在本申请实施例中,在执行S503之前,第一节点可以应用该加密算法对其公钥进行加密,以得到一个加密数据,其中,该加密数据即为加密的第一节点的公钥。
从而,在S503中,第一节点可以向验证节点发送加密数据、信息和零知识证明。当需要追踪上述加密数据、信息和零知识证明的签发者时,可以通过该加密算法的私钥对其中的加密数据进行解密,从而可以得到第一节点的公钥,进而获知第一节点的身份。
该方法通过加密算法来实现签发节点的追踪,从而提高了节点群和验证节点的安全性。
基于前述实施例提供的匿名认证方法,本申请实施例提供一种匿名认证装置,参见图10a,该图示出了本申请实施例提供的一种匿名认证装置结构图,所述装置包括第一加密单元1001和第一发送单元1002:
所述第一加密单元1001,用于采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
所述第一发送单元1002,用于向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
在一种可能的实现方式中,若所述第一节点的签名私钥是采用所述第一加密模式通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第一节点的签名私钥中包含所述第三节点的身份信息。
若所述第一节点的签名私钥是采用第二加密模式,通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,在所述第二加密模式中,所述第二节点为所述第三节点,用于解密所述第一节点的签名私钥所签名信息的验签公钥为所述第三节点对应的公钥;
所述第一节点的签名私钥中不包含所述第三节点的身份信息,所述第三节点对应的公钥为根据所述节点群的群公钥和所述第三节点的身份信息扩展得到的。
在一种可能的实现方式中,所述第一信息签名被追踪私钥提取出的身份信息后缀用于标识所述第一节点的身份。
在一种可能的实现方式中,所述第一信息签名被追踪私钥提取出的身份信息后缀和所述第三节点对应的公钥用于标识所述第一节点的身份。
在一种可能的实现方式中,若所述第三节点为所述节点群中处于第0级的根节点,所述第三节点的签名私钥为所述节点群的群私钥,所述第三节点对应的公钥为所述节点群的群公钥。
在一种可能的实现方式中,参加图10b,该图示出了本申请实施例提供的一种匿名认证装置结构图,所述装置还包括第二加密单元1003和第二发送单元1004:
所述第二加密单元1003,用于采用第二加密模式,通过签名私钥对第二信息签名得到第二信息签名;在所述第二加密模式中,用于解密所述第二信息签名的第二验签公钥为所述第一节点对应的公钥;
所述第二发送单元1004,用于向第二验证节点发送所述第二信息签名和用于标识所述第二验签公钥的验签标识。
由上述技术方案可以看出,在包括多级节点的节点群中,处于第i级的第一节点的签名私钥是处于第i-1级的第三节点的签名私钥对第一节点的身份信息加密得到的,当第一节点需要向第一验证节点进行认证时,第一节点可以采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥,该第二节点在节点群中的级数小于等于i-1,由此,当第一验证节点获取该第一信息签名和用于标识第一验签公钥的验签标识时,会根据验签标识采用第二节点对应的公钥对第一信息签名进行验证,由于第二节点的公钥仅包括第二节点所在群的群身份信息,而未包括第一节点的身份信息,故在保证认证的前提下,并不会向第一验证节点暴露第一节点的实际身份,实现了认证过程中对节点身份的匿名保护。实现了节点群中的节点通过该节点群的名义向节点群外的验证节点进行匿名认证的功能。
基于前述实施例提供的匿名认证方法,本申请实施例提供一种匿名认证装置,参见图11,该图示出了本申请实施例提供的一种匿名认证装置结构图,所述装置包括生成单元1101、确定单元1102和发送单元1103:
所述生成单元1101,用于通过私钥对信息签名得到信息签名;所述第一节点处于包括多级节点的节点群中的第i级;
所述确定单元1102,用于根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i;
所述发送单元1103,用于向所述验证节点发送所述信息和零知识证明,所述零知识证明是根据所述信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到的;所述证书集合中包括第二节点与第一节点间树结构所涉及节点的证书;针对所述节点群中的任一目标节点,所述目标节点的证书是所述目标节点的父节点通过自身私钥对所述目标节点的公钥签名得到的。
可选的,所述发送单元1103,具体用于:
向所述验证节点发送加密数据、所述信息和零知识证明;所述加密数据为根据加密的所述第一节点的证书;所述第一节点的身份通过对所述加密数据进行解密得到。
由上述技术方案可以看出,在包括多级节点的节点群中,其中的任一目标节点都具有其父节点应用自身私钥对目标节点的公钥加密得到的证书,当处于第i级的第一节点需要向验证节点进行认证时,第一节点应用其私钥对信息进行签名,得到信息签名,并根据验证节点的验证需求,确定验证节点信任的第二节点,该第二节点在节点群中的级数j小于i。此外,第一节点可以获取第二节点与第一节点间的树结构所涉及节点的证书,作为证书集合,并基于第一节点加密的信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到零知识证明。由此,验证节点在接收到第一节点发送的信息和零知识证明后,仅对零知识证明的有效性进行验证。由于零知识证明仅向验证节点公开了第二节点与第一节点间的权限关系,而未向验证节点公开第一节点的身份,在保证认证的前提下,实现了认证过程中对节点身份的匿名保护。
本申请实施例还提供了一种用于匿名认证的设备,下面结合附图对用于匿名认证的设备进行介绍。请参见图12所示,本申请实施例提供了一种用于处理的设备1200,该设备1200还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端设备为手机为例:
图12示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图12,手机包括:射频(Radio Frequency,简称RF)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(wireless fidelity,简称WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图12对手机的各个构成部件进行具体的介绍:
RF电路1210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1280处理;另外,将设计上行的数据发送给基站。通常,RF电路1210包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路1210还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1230可包括触控面板1231以及其他输入设备1232。触控面板1231,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1231上或在触控面板1231附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1231。除了触控面板1231,输入单元1230还可以包括其他输入设备1232。具体地,其他输入设备1232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1240可包括显示面板1241,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1241。进一步的,触控面板1231可覆盖显示面板1241,当触控面板1231检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板1241上提供相应的视觉输出。虽然在图12中,触控面板1231与显示面板1241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1231与显示面板1241集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1241和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1260、扬声器1261,传声器1262可提供用户与手机之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出;另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出处理器1280处理后,经RF电路1210以发送给比如另一手机,或者将音频数据输出至存储器1220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块1270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
手机还包括给各个部件供电的电源1290(比如电池),优选的,电源可以通过电源管理系统与处理器1280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器1280还具有以下功能:
采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;所述第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
本申请实施例提供的用于下车站点确定的设备可以是服务器,请参见图13所示,图13为本申请实施例提供的服务器1300的结构图,服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1322(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1230通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。
其中,CPU1322用于执行如下步骤:
采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;所述第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (15)
1.一种匿名认证方法,其特征在于,所述方法包括:
第一节点采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;所述第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
所述第一节点向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
2.根据权利要求1所述的方法,其特征在于,若所述第一节点的签名私钥是采用所述第一加密模式通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第一节点的签名私钥中包含所述第三节点的身份信息。
3.根据权利要求1所述的方法,其特征在于,若所述第一节点的签名私钥是采用第二加密模式,通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,在所述第二加密模式中,所述第二节点为所述第三节点,用于解密所述第一节点的签名私钥所签名信息的验签公钥为所述第三节点对应的公钥;
所述第一节点的签名私钥中不包含所述第三节点的身份信息,所述第三节点对应的公钥为根据所述节点群的群公钥和所述第三节点的身份信息扩展得到的。
4.根据权利要求2所述的方法,其特征在于,所述第一信息签名被追踪私钥提取出的身份信息后缀用于标识所述第一节点的身份。
5.根据权利要求3所述的方法,其特征在于,所述第一信息签名被追踪私钥提取出的身份信息后缀和所述第三节点对应的公钥用于标识所述第一节点的身份。
6.根据权利要求1-5任意一项所述的方法,其特征在于,若所述第三节点为所述节点群中处于第0级的根节点,所述第三节点的签名私钥为所述节点群的群私钥,所述第三节点对应的公钥为所述节点群的群公钥。
7.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
第一节点采用第二加密模式,通过签名私钥对第二信息签名得到第二信息签名;在所述第二加密模式中,用于解密所述第二信息签名的第二验签公钥为所述第一节点对应的公钥;
所述第一节点向第二验证节点发送所述第二信息签名和用于标识所述第二验签公钥的验签标识。
8.一种匿名认证装置,其特征在于,所述匿名认证装置应用于第一节点,所述装置包括第一加密单元和第一发送单元:
所述第一加密单元,用于采用第一加密模式,通过签名私钥对第一信息签名得到第一信息签名;在所述第一加密模式中,用于解密所述第一信息签名的第一验签公钥为第二节点对应的公钥;第一节点和第二节点均属于包括多级节点的节点群,在所述节点群中,处于第i级的第一节点的签名私钥为通过处于第i-1级的第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第二节点所处级数小于等于i-1;
所述第一发送单元,用于向第一验证节点发送所述第一信息签名和用于标识所述第一验签公钥的验签标识。
9.根据权利要求8所述的装置,其特征在于,若所述第一节点的签名私钥是采用所述第一加密模式通过所述第三节点的签名私钥对所述第一节点的身份信息加密得到的,所述第一节点的签名私钥中包含所述第三节点的身份信息。
10.一种匿名认证方法,其特征在于,所述方法包括:
第一节点通过私钥对信息签名得到信息签名;所述第一节点处于包括多级节点的节点群中的第i级;
所述第一节点根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i;
所述第一节点向所述验证节点发送所述信息和零知识证明,所述零知识证明是根据所述信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到的;所述证书集合中包括第二节点与第一节点间树结构所涉及节点的证书;针对所述节点群中的任一目标节点,所述目标节点的证书是所述目标节点的父节点通过自身私钥对所述目标节点的公钥签名得到的。
11.根据权利要求10所述的方法,其特征在于,所述第一节点向所述验证节点发送所述信息和零知识证明,包括:
所述第一节点向所述验证节点发送加密数据、所述信息和零知识证明;所述加密数据为加密的所述第一节点的公钥;所述第一节点的身份通过对所述加密数据进行解密得到。
12.一种匿名认证装置,其特征在于,所述匿名认证装置应用于第一节点,所述第一节点处于包括多级节点的节点群中的第i级,所述装置包括生成单元、确定单元和发送单元:
所述生成单元,用于通过私钥对信息签名得到信息签名;
所述确定单元,用于根据验证节点的验证需求,确定所述验证节点所信任的第二节点,所述第二节点处于所述节点群中的第j级,j小于i;
所述发送单元,用于向所述验证节点发送所述信息和零知识证明,所述零知识证明是根据所述信息签名、所述第一节点的公钥、所述第二节点的公钥和证书集合得到的;所述证书集合中包括第二节点与第一节点间树结构所涉及节点的证书;针对所述节点群中的任一目标节点,所述目标节点的证书是所述目标节点的父节点通过自身私钥对所述目标节点的公钥签名得到的。
13.根据权利要求12所述的装置,其特征在于,所述发送单元,具体用于:
向所述验证节点发送加密数据、所述信息和零知识证明;所述加密数据为加密的所述第一节点的公钥;所述第一节点的身份通过对所述加密数据进行解密得到。
14.一种用于匿名认证的设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-7或10-11中任一项所述的匿名认证方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-7或10-11中任一项所述的匿名认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867226.4A CN110572268B (zh) | 2019-09-12 | 2019-09-12 | 一种匿名认证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867226.4A CN110572268B (zh) | 2019-09-12 | 2019-09-12 | 一种匿名认证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572268A CN110572268A (zh) | 2019-12-13 |
CN110572268B true CN110572268B (zh) | 2021-06-15 |
Family
ID=68779829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910867226.4A Active CN110572268B (zh) | 2019-09-12 | 2019-09-12 | 一种匿名认证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572268B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259093B (zh) * | 2021-04-21 | 2022-03-25 | 山东大学 | 基于身份基加密的层级签名加密系统与构建方法 |
CN115396225B (zh) * | 2022-08-31 | 2023-04-11 | 北京华宜信科技有限公司 | 一种数据平台用户身份认证方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9635000B1 (en) * | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
CN108809953A (zh) * | 2018-05-22 | 2018-11-13 | 飞天诚信科技股份有限公司 | 一种基于区块链的匿名身份认证的方法及装置 |
CN109345438A (zh) * | 2018-10-11 | 2019-02-15 | 北京理工大学 | 一种隐私保护的联盟打车方法及系统 |
CN109963282A (zh) * | 2019-03-28 | 2019-07-02 | 华南理工大学 | 在ip支持的无线传感网络中的隐私保护访问控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100544254C (zh) * | 2005-03-29 | 2009-09-23 | 联想(北京)有限公司 | 一种实现网络接入认证的方法 |
-
2019
- 2019-09-12 CN CN201910867226.4A patent/CN110572268B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9635000B1 (en) * | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
CN108809953A (zh) * | 2018-05-22 | 2018-11-13 | 飞天诚信科技股份有限公司 | 一种基于区块链的匿名身份认证的方法及装置 |
CN109345438A (zh) * | 2018-10-11 | 2019-02-15 | 北京理工大学 | 一种隐私保护的联盟打车方法及系统 |
CN109963282A (zh) * | 2019-03-28 | 2019-07-02 | 华南理工大学 | 在ip支持的无线传感网络中的隐私保护访问控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110572268A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472166B (zh) | 一种电子签章方法、装置、设备及介质 | |
CN112733107B (zh) | 一种信息验证的方法、相关装置、设备以及存储介质 | |
ES2836114T3 (es) | Método de envío de información, método de recepción de información, aparato y sistema | |
CN110598482B (zh) | 基于区块链的数字证书管理方法、装置、设备及存储介质 | |
EP3308522B1 (en) | System, apparatus and method for multi-owner transfer of ownership of a device | |
CN113395159B (zh) | 一种基于可信执行环境的数据处理方法以及相关装置 | |
WO2017186100A1 (zh) | 身份认证方法、系统及设备 | |
KR20180107162A (ko) | 지능 설비를 조종하는 방법, 장치, 시스템과 기억 매체 | |
CN108614878B (zh) | 协议数据管理方法、装置、存储介质及系统 | |
WO2017041599A1 (zh) | 业务处理方法及电子设备 | |
CN110611905A (zh) | 信息共享方法、终端设备、存储介质及计算机程序产品 | |
WO2019052281A1 (zh) | 基于区块链的移动终端认证管理方法、装置及相应的移动终端 | |
WO2017118412A1 (zh) | 一种更新密钥的方法、装置和系统 | |
CN109600223A (zh) | 验证方法、激活方法、装置、设备及存储介质 | |
CN110417543B (zh) | 一种数据加密方法、装置和存储介质 | |
CN109768977B (zh) | 流媒体数据处理方法、装置以及相关设备和介质 | |
CN110826103B (zh) | 基于区块链的文档权限处理方法、装置、设备及存储介质 | |
CN104954126B (zh) | 敏感操作验证方法、装置及系统 | |
CN105678553A (zh) | 一种处理订单信息的方法、装置和系统 | |
CN107154935B (zh) | 业务请求方法及装置 | |
US10454905B2 (en) | Method and apparatus for encrypting and decrypting picture, and device | |
CN111181909B (zh) | 一种身份信息的获取方法及相关装置 | |
CN108763876B (zh) | 一种资源版权校验方法、装置以及设备 | |
CN111475832B (zh) | 一种数据管理的方法以及相关装置 | |
CN110598386B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40015637 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |