CN116722988A - 一种基于零知识响应的鉴权方法、装置、设备及介质 - Google Patents

一种基于零知识响应的鉴权方法、装置、设备及介质 Download PDF

Info

Publication number
CN116722988A
CN116722988A CN202310718251.2A CN202310718251A CN116722988A CN 116722988 A CN116722988 A CN 116722988A CN 202310718251 A CN202310718251 A CN 202310718251A CN 116722988 A CN116722988 A CN 116722988A
Authority
CN
China
Prior art keywords
client
data
authentication
identifier
target data
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
CN202310718251.2A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202310718251.2A priority Critical patent/CN116722988A/zh
Publication of CN116722988A publication Critical patent/CN116722988A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于零知识响应的鉴权方法、装置、设备及介质,可应用于大数据领域或金融领域。运行零知识响应鉴权,向第一客户端发送响应结果,以便第一客户端根据第二客户端的公钥和响应结果,判断对第二客户端是否鉴权成功,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。第二客户端可直接向第一客户端发起请求,无需向数据中心请求,通过运行零知识响应鉴权,无需第二客户端向第一客户端发送第二客户端的权限码,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。

Description

一种基于零知识响应的鉴权方法、装置、设备及介质
技术领域
本申请涉及大数据领域,特别涉及一种基于零知识响应的鉴权方法、装置、设备及介质。
背景技术
在现有技术中,多数企业和机构存在层次化权限体系,在各层级进行数据共享时,往往存在数据权限管理问题。对于层级较多且各层级用户数多的企业,例如银行,传统的数据权限管理方式存在管理复杂、资源消耗大的缺陷。
目前,可以通过建立集中的数据中心部分解决此问题,但是集中的数据中心带来大量资源与管理消耗,若采用分散存储的方式,则数据互通过程中的鉴权环节易泄露用户信息。因此提供一种既不泄露用户的鉴权信息,又能避免资源消耗的鉴权方法,成为目前急需解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种基于零知识响应的鉴权方法、装置、设备及介质,数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。其具体方案如下:
一方面,本申请提供了一种基于零知识响应的鉴权方法,包括:
获取服务器发送的数据列表;所述数据列表包括目标数据标识和发布目标数据的第一客户端标识;所述目标数据标识用于标识所述目标数据,所述第一客户端标识用于标识第一客户端;
响应于第二客户端对应的用户对目标控件的触发操作,获取所述目标控件对应的所述目标数据标识;
根据所述目标数据标识和所述数据列表,确定所述第一客户端标识;
根据所述第一客户端标识,向所述第一客户端发送第二客户端标识和所述目标数据标识,以便所述第一客户端根据所述第二客户端标识在预设集合中查找,得到第二客户端的公钥;所述预设集合包括所述第二客户端标识和所述第二客户端标识对应的所述第二客户端的公钥;
运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求。
另一方面,本申请实施例还提供了一种基于零知识响应的鉴权装置,包括:
第一获取单元,用于获取服务器发送的数据列表;所述数据列表包括目标数据标识和发布目标数据的第一客户端标识;所述目标数据标识用于标识所述目标数据,所述第一客户端标识用于标识第一客户端;
第二获取单元,用于响应于第二客户端对应的用户对目标控件的触发操作,获取所述目标控件对应的所述目标数据标识;
确定单元,用于根据所述目标数据标识和所述数据列表,确定所述第一客户端标识;
发送单元,用于根据所述第一客户端标识,向所述第一客户端发送第二客户端标识和所述目标数据标识,以便所述第一客户端根据所述第二客户端标识在预设集合中查找,得到第二客户端的公钥;所述预设集合包括所述第二客户端标识和所述第二客户端标识对应的所述第二客户端的公钥;
运行单元,用于运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求。
另一方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行所述的基于零知识响应的鉴权方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行所述的基于零知识响应的鉴权方法。
本申请实施例提供了一种基于零知识响应的鉴权方法、装置、设备及介质,获取服务器发送的数据列表;数据列表包括目标数据标识和发布目标数据的第一客户端标识;目标数据标识用于标识目标数据,第一客户端标识用于标识第一客户端;响应于第二客户端对应的用户对目标控件的触发操作,获取目标控件对应的目标数据标识;根据目标数据标识和数据列表,确定第一客户端标识;根据第一客户端标识,向第一客户端发送第二客户端标识和目标数据标识,以便第一客户端根据第二客户端标识在预设集合中查找,得到第二客户端的公钥;预设集合包括第二客户端标识和第二客户端标识对应的第二客户端的公钥;运行零知识响应鉴权,向所述第一客户端发送响应结果,以便第一客户端根据第二客户端的公钥和所述响应结果,判断对第二客户端是否鉴权成功,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。
可见,在本申请实施例中,各个客户端可以独立存储各自的数据,无需建立统一的数据中心进行管理,降低了资源消耗,在第二客户端读取或修改第一客户端的目标数据时,第二客户端可直接向第一客户端发起请求,无需向数据中心请求,通过运行零知识响应鉴权,第一客户端可对第二客户端进行鉴权,无需第二客户端向第一客户端发送第二客户端的权限码,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请实施例提供的一种基于零知识响应的鉴权方法的流程示意图;
图2为本申请实施例提供的一种数据获取的流程示意图;
图3为本申请实施例提供的一种基于零知识响应的鉴权装置的结构框图;
图4为本申请实施例提供的一种计算机设备的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。
正如背景技术中的描述,目前,在多层级权限体系系统中可以采用两种方式进行数据管理,多层级权限体系系统不同层级的权限等级不同,比如领导层级的权限会大于一般员工的权限,一种方式是建立集中的多层级权限体系系统以实现数据共享,即在多层级权限体系系统中建立数据中心,各级下级机构将数据上传至数据中心进行统一管理。但是,建立及维护统一的数据中心消耗大量的人力物力,且数据中心会成为数据分享的瓶颈。具体地,根据数据存储还可以细分为两种方式,一种是中心、下级机构节点各存储一份数据,但这会造成数据冗余,浪费存储资源;一种是数据仅在数据中心存储,但是分行每次使用自身数据时需要向数据中心请求,数据传输与搬运增加网络资源消耗,同时降低处理数据的时效性。
另一种方式是建立分散的多层级权限体系系统从而实现数据共享,即各下级机构独立存储自身数据。在进行数据共享时,数据提供方与使用方之间互相出示身份权限信息,完成认证与鉴权。但是数据共享双方完成鉴权时,需要独立完成认证鉴权,传输权限信息,可能会引起权限信息相关数据的泄露,降低客户端的安全性。
基于以上技术问题,本申请实施例提供了一种基于零知识响应的鉴权方法、装置、设备及介质,获取服务器发送的数据列表;数据列表包括目标数据标识和发布目标数据的第一客户端标识;目标数据标识用于标识目标数据,第一客户端标识用于标识第一客户端;响应于第二客户端对应的用户对目标控件的触发操作,获取目标控件对应的目标数据标识;根据目标数据标识和数据列表,确定第一客户端标识;根据第一客户端标识,向第一客户端发送第二客户端标识和目标数据标识,以便第一客户端根据第二客户端标识在预设集合中查找,得到第二客户端的公钥;预设集合包括第二客户端标识和第二客户端标识对应的第二客户端的公钥;运行零知识响应鉴权,向所述第一客户端发送响应结果,以便第一客户端根据第二客户端的公钥和所述响应结果,判断对第二客户端是否鉴权成功,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。
可见,在本申请实施例中,各个客户端可以独立存储各自的数据,无需建立统一的数据中心进行管理,降低了资源消耗,在第二客户端读取或修改第一客户端的目标数据时,第二客户端可直接向第一客户端发起请求,无需向数据中心请求,通过运行零知识响应鉴权,第一客户端可对第二客户端进行鉴权,无需第二客户端向第一客户端发送第二客户端的权限码,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。
为了便于理解,下面结合附图对本申请实施例提供的一种基于零知识响应的鉴权方法、装置、设备及介质进行详细的说明。
参考图1所示,为本申请实施例提供的一种基于零知识响应的鉴权方法的流程示意图,该方法可以包括以下步骤。
S101,获取服务器发送的数据列表。
在本申请实施例中,服务器端可以提供客户端注册功能,服务器可以记录客户端标识和公钥,客户端标识可以为客户端ID。客户端可以提供发布数据功能,客户端可以存储数据及相关权限信息,不同的客户端可以对应不同的用户。
具体地,第一客户端可以在客户端发布目标数据,以供其他客户端使用目标数据,服务器具有数据列表,数据列表包括目标数据标识和发布目标数据的第一客户端标识,其中目标数据标识用于标识目标数据,目标数据标识可以为数据ID,通过计算目标数据的哈希值得到,第一客户端标识用于标识第一客户端。在第二客户端向第一客户端请求目标数据时,第二客户端可以请求服务器发送数据列表,从而获得数据列表,数据列表中具有多个数据标识和每个数据标识对应的发布客户端标识,以便第二客户端可以查找所需的数据标识。
在一种可能的实现方式中,在S101之前还可以包括一些准备步骤,第一客户端和第二客户端可以进行注册,从而使服务器为不同客户端分配对应的客户端标识。
具体地,在第二客户端的注册过程中,服务器可以响应于第二客户端对应的用户的注册操作,选择权限码s,并将权限码s发送至第二客户端;第二客户端根据权限码s和随机模数n确定第二客户端的公钥v,然后第二客户端向服务器发送第二客户端的公钥v,以便服务器根据第二客户端的公钥v为第二客户端分配第二客户端标识。
具体地,在准备阶段,服务器端进行初始化,选择两个素数,记为p和q,并公布随机模数n,n=pq,随机模数n由服务器确定,随机模数为两个素数的乘积。第二客户端可以在客户端发起注册,选择与随机模数n互素的秘密s,计算v=s2 mod n,第二客户端将v发送至服务器端注册为自己的公钥,秘密s可以作为第二客户端的权限码,服务器端为第二客户端分配第二客户端标识。同样的,第一客户端的注册过程与第二客户端相同,为简便起见,不再赘述。
在本申请实施例中,在数据发布过程中,客户端可以使用客户端发布数据,上传数据至客户端。客户端存储数据,计算哈希值作为数据标识,比如,第一客户端可以在客户端发布目标数据,并计算目标数据的哈希值作为目标数据标识。
具体地,第一客户端可以为目标数据设置访问控制列表,形成访问权限集合Uuser,访问权限集合Uuser包括允许访问目标数据的其他客户端的客户端标识,比如可以包括第二客户端标识。位于访问权限集合Uuser中的客户端可以访问目标数据,不位于访问权限集合Uuser中的客户端则不可以进行访问。
具体地,第一客户端对应的客户端可以向服务器端上报第一客户端标识和访问权限集合Uuser,服务器端可以进行记录,并查询访问权限集合Uuser中各客户端的客户端标识,根据客户端标识查找对应的公钥形成预设集合UV,将预设集合UV反馈至客户端,客户端记录预设集合UV。也就是说,预设集合UV包括允许访问的客户端标识和客户端标识对应的客户端公钥,以便第一客户端根据客户端标识查找客户端公钥,对客户端身份进行鉴权。
S102,响应于第二客户端对应的用户对目标控件的触发操作,获取目标控件对应的目标数据标识。
在本申请实施例中,第二客户端可以向第一客户端申请对目标数据进行读取或修改操作,第二客户端可以对目标控件进行点击或输入等操作,从而实现对目标控件的触发操作,响应于该触发操作,可以获取目标控件对应的目标数据标识。
S103,根据目标数据标识和数据列表,确定第一客户端标识。
在本申请实施例中,在服务器向第二客户端返回数据列表时,第二客户端可以根据目标数据标识在数据列表中查找,由于数据列表中具有目标数据标识和第一客户端标识的对应关系,则可以确定出发布目标数据的第一客户端标识,这样,第二客户端可以根据第一客户端标识向第一客户端请求目标数据。无需建立数据中心统一管理数据,避免资源浪费。
S104,根据第一客户端标识,向第一客户端发送第二客户端标识和目标数据标识,以便第一客户端根据第二客户端标识在预设集合中查找,得到第二客户端的公钥。
在本申请实施例中,根据第一客户端标识可以确定第一客户端,第二客户端可以向第一客户端发送第二客户端标识和目标数据标识,由于预设集合中包括第二客户端标识和第二客户端标识对应的第二客户端的公钥,第一客户端可以根据第二客户端标识在预设集合中查找,得到与第二客户端标识对应的第二客户端的公钥v,从而利用第二客户端的公匙对第二客户端进行身份验证。
S105,运行零知识响应鉴权,向第一客户端发送响应结果,以便第一客户端根据第二客户端的公钥和响应结果,判断对第二客户端是否鉴权成功,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。
在本申请实施例中,可以运行零知识响应鉴权,第二客户端可以向第一客户端发送响应结果,第一客户端可以根据第二客户端的公钥和响应结果对第二客户端进行鉴权,判断对第二客户端是否鉴权成功,无需第二客户端提供自己的权限码s,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。这样,无需第二客户端向第一客户端发送第二客户端的权限码s,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。
也就是说,在多层级权限体系系统中,任意两个客户端间进行数据共享时,不需要出示权限信息,即可完成鉴权,最大限度保护客户端权限信息不会泄露。数据各分行独立存储,避免了建立集中数据中心的资源消耗问题。在资源数量较多、存储分散、且客户端较多的情况下,使用权限码作为鉴权依据,比起基于角色的访问控制策略更加简单易管理。
在一种可能的实现方式中,零知识响应鉴权具有多轮验证,S105可以具体为,执行t轮验证,若t轮协议执行过后,验证成功率收敛于1,则对第二客户端鉴权成功,第一客户端接受第二客户端的读取请求或修改请求;否则,表示鉴权失败,第一客户端拒绝第二客户端的读取请求或修改请求。
具体地,在第i轮验证中,第二客户端可以选择随机数r,根据随机数r和随机模数n,确定第一数据x,比如x=r2 mod n,并将第一数据x发送至第一客户端,第一数据x可以作为证据。
具体地,第一客户端可以随机选择比特数e,比特数e可以为0或1,并将比特数e发送至第二客户端,比特数e可以作为挑战。
具体地,第二客户端根据第一客户端发送的比特数e,以及随机数r可以确定第二数据y。在比特数为0时,第二数据为随机数;在比特数为1时,第二数据根据随机数、第二客户端的权限码和随机模数确定。
也就是说,在比特数e为0时,y=r,在比特数e为1时,y=r·s mod n,第二客户端将第二数据y发送至第一客户端,第二数据y可以看作第二客户端对于挑战的响应。这样第一客户端可以根据第一数据x和第二数据y,判断在第i轮对第二客户端是否鉴权成功。
具体地,若y=0,则表示第二客户端拒绝证明;否则,说明第二客户端接受证明,第一客户端可以根据y2=x·ve mod n进行验证,若等号左右两边相等,说明在本轮验证中对第二客户端验证成功,否则说明对第二客户端验证失败。
接着可以判断i是否大于或等于预设阈值t,若否,则使i加一,返回执行在第i轮,选择随机数,根据随机数和随机模数,确定第一数据,并将第一数据发送至第一客户端;i的初始值为1。也就是说,执行t轮验证,在每一轮验证中都对第二客户端进行鉴权,确认鉴权成功或者鉴权失败,在t轮协议执行过后,若i大于或等于所述预设阈值,则可以判断对第二客户端的鉴权成功率是否收敛于1,若是,则向所述第一客户端发送鉴权成功消息,说明鉴权成功,以便第一客户端接受第二客户端对目标数据的读取请求或修改请求。其中鉴权成功率根据多轮对第二客户端的鉴权结果确定,比如在t轮验证中,有m轮鉴权成功,则鉴权成功率为m/t。
具体地,本鉴权协议抗伪装攻击,可以解释如下,挑战e=1是验证第二客户端是否有权限码s的知识,挑战e=0是防止假冒。若假冒第二客户端的敌手任选r,取x=r2 mod n,发送至第一客户端来试图进行假冒,则它能“正确”地回答挑战e=0(y=r);但不能回答挑战e=1(y=r·s mod n);若假冒第二客户端的敌手任选r,设x=r2/v mod n来试图进行假冒,则它能“正确”地回答挑战e=1(y=r·s mod n),但不能回答挑战e=0。这样,真正知道公钥对应的权限码s的第二客户端可以回答每个问题,其他人至多只能回答两个问题中的一个。执行1次协议被欺骗的概率为1/2,执行t次协议被欺骗的概率为2-t
参考图2所示,为本申请实施例提供的一种数据获取的流程示意图,首先第二用户对应的第二客户端请求发布数据列表,向服务器发送该请求,服务器根据该请求向第二用户对应的第二客户端返回发布数据列表,第二用户对应的第二客户端生成申请读取目标数据,并向第一用户对应的第一客户端发送该申请,第二用户对应的第二客户端选择随机数r,计算第一数据x=r2 mod n,将第一数据x发送至第一用户对应的第一客户端,第一用户对应的第一客户端随机选择比特e为0或1,并发送至第二用户对应的第二客户端,第二用户对应的第二客户端计算得到第二数据y=r或者y=r·s mod n,将第二数据y发送至第一用户对应的第一客户端,第一用户对应的第一客户端检查y2=x·ve mod n,重复进行t轮,然后第一用户对应的第一客户端向第二用户对应的第二客户端反馈结果,比如发送目标数据等。
本申请实施例提供了一种基于零知识响应的鉴权方法,获取服务器发送的数据列表;数据列表包括目标数据标识和发布目标数据的第一客户端标识;目标数据标识用于标识目标数据,第一客户端标识用于标识第一客户端;响应于第二客户端对应的用户对目标控件的触发操作,获取目标控件对应的目标数据标识;根据目标数据标识和数据列表,确定第一客户端标识;根据第一客户端标识,向第一客户端发送第二客户端标识和目标数据标识,以便第一客户端根据第二客户端标识在预设集合中查找,得到第二客户端的公钥;预设集合包括第二客户端标识和第二客户端标识对应的第二客户端的公钥;运行零知识响应鉴权,向所述第一客户端发送响应结果,以便第一客户端根据第二客户端的公钥和所述响应结果,判断对第二客户端是否鉴权成功,在第一客户端对第二客户端鉴权成功时,则第一客户端接受第二客户端对目标数据的读取请求或修改请求。
可见,在本申请实施例中,各个客户端可以独立存储各自的数据,无需建立统一的数据中心进行管理,降低了资源消耗,在第二客户端读取或修改第一客户端的目标数据时,第二客户端可直接向第一客户端发起请求,无需向数据中心请求,通过运行零知识响应鉴权,第一客户端可对第二客户端进行鉴权,无需第二客户端向第一客户端发送第二客户端的权限码,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。
基于以上基于零知识响应的鉴权方法,本申请实施例还提供了一种基于零知识响应的鉴权装置,参考图3所示,为本申请实施例提供的一种基于零知识响应的鉴权装置的结构框图,该装置可以包括:
第一获取单元201,用于获取服务器发送的数据列表;所述数据列表包括目标数据标识和发布目标数据的第一客户端标识;所述目标数据标识用于标识所述目标数据,所述第一客户端标识用于标识第一客户端;
第二获取单元202,用于响应于第二客户端对应的用户对目标控件的触发操作,获取所述目标控件对应的所述目标数据标识;
确定单元203,用于根据所述目标数据标识和所述数据列表,确定所述第一客户端标识;
发送单元204,用于根据所述第一客户端标识,向所述第一客户端发送第二客户端标识和所述目标数据标识,以便所述第一客户端根据所述第二客户端标识在预设集合中查找,得到第二客户端的公钥;所述预设集合包括所述第二客户端标识和所述第二客户端标识对应的所述第二客户端的公钥;
运行单元205,用于运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求。
具体地,所述零知识响应鉴权具有多轮验证,所述运行单元用于:
在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述随机模数为两个素数的乘积;
根据所述第一客户端发送的比特数,以及所述随机数确定第二数据,并发送至所述第一客户端,以便所述第一客户端根据所述第一数据和所述第二数据,判断在所述第i轮对所述第二客户端是否鉴权成功;
判断所述i是否大于或等于预设阈值,若否,则使所述i加一,返回执行所述在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述i的初始值为1;
若所述i大于或等于所述预设阈值,则判断对所述第二客户端的鉴权成功率是否收敛于1,若是,则向所述第一客户端发送鉴权成功消息,以便所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求;所述鉴权成功率根据多轮对所述第二客户端的鉴权结果确定。
具体地,在所述比特数为0时,所述第二数据为所述随机数;在所述比特数为1时,所述第二数据根据所述随机数、所述第二客户端的权限码和所述随机模数确定。
具体地,所述装置还包括:
选择单元,用于响应于所述第二客户端对应的用户的注册操作,选择权限码;
第二确定单元,用于根据所述权限码和随机模数确定所述第二客户端的公钥;所述随机模数由所述服务器确定;
第一发送单元,用于向所述服务器发送所述第二客户端的公钥,以便所述服务器根据所述第二客户端的公钥为所述第二客户端分配所述第二客户端标识。
具体地,所述目标数据标识通过计算所述目标数据的哈希值确定。
本申请实施例提供了一种基于零知识响应的鉴权装置,各个客户端可以独立存储各自的数据,无需建立统一的数据中心进行管理,降低了资源消耗,在第二客户端读取或修改第一客户端的目标数据时,第二客户端可直接向第一客户端发起请求,无需向数据中心请求,通过运行零知识响应鉴权,第一客户端可对第二客户端进行鉴权,无需第二客户端向第一客户端发送第二客户端的权限码,第一客户端也无需出示自己的权限码,即数据共享时不需要双方出示权限信息,既可完成鉴权,避免了信息泄露,保证了第一客户端和第二客户端的安全性。
又一方面,本申请实施例提供了一种计算机设备,参见图4,该图示出了本申请实施例提供的一种计算机设备的结构图,所述设备包括处理器310以及存储器320:
所述存储器310用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器320用于根据所述程序代码中的指令执行上述实施例提供的基于零知识响应的鉴权方法。
该计算机设备可以包括终端设备或服务器,前述的基于零知识响应的鉴权装置可以配置在该计算机设备中。
又一方面,本申请实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的基于零知识响应的鉴权方法。
另外,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的基于零知识响应的鉴权方法。
需要说明的是,本发明提供的一种基于零知识响应的鉴权方法、装置、设备及介质可用于大数据领域或金融领域。上述仅为示例,并不对本发明提供的一种基于零知识响应的鉴权方法、装置、设备及介质的应用领域进行限定。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。

Claims (10)

1.一种基于零知识响应的鉴权方法,其特征在于,包括:
获取服务器发送的数据列表;所述数据列表包括目标数据标识和发布目标数据的第一客户端标识;所述目标数据标识用于标识所述目标数据,所述第一客户端标识用于标识第一客户端;
响应于第二客户端对应的用户对目标控件的触发操作,获取所述目标控件对应的所述目标数据标识;
根据所述目标数据标识和所述数据列表,确定所述第一客户端标识;
根据所述第一客户端标识,向所述第一客户端发送第二客户端标识和所述目标数据标识,以便所述第一客户端根据所述第二客户端标识在预设集合中查找,得到第二客户端的公钥;所述预设集合包括所述第二客户端标识和所述第二客户端标识对应的所述第二客户端的公钥;
运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求。
2.根据权利要求1所述的方法,其特征在于,所述零知识响应鉴权具有多轮验证,所述运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求,包括:
在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述随机模数为两个素数的乘积;
根据所述第一客户端发送的比特数,以及所述随机数确定第二数据,并发送至所述第一客户端,以便所述第一客户端根据所述第一数据和所述第二数据,判断在所述第i轮对所述第二客户端是否鉴权成功;
判断所述i是否大于或等于预设阈值,若否,则使所述i加一,返回执行所述在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述i的初始值为1;
若所述i大于或等于所述预设阈值,则判断对所述第二客户端的鉴权成功率是否收敛于1,若是,则向所述第一客户端发送鉴权成功消息,以便所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求;所述鉴权成功率根据多轮对所述第二客户端的鉴权结果确定。
3.根据权利要求2所述的方法,其特征在于,在所述比特数为0时,所述第二数据为所述随机数;在所述比特数为1时,所述第二数据根据所述随机数、所述第二客户端的权限码和所述随机模数确定。
4.根据权利要求1所述的方法,其特征在于,在所述获取服务器发送的数据列表之前,所述方法还包括:
响应于所述第二客户端对应的用户的注册操作,选择权限码;
根据所述权限码和随机模数确定所述第二客户端的公钥;所述随机模数由所述服务器确定;
向所述服务器发送所述第二客户端的公钥,以便所述服务器根据所述第二客户端的公钥为所述第二客户端分配所述第二客户端标识。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述目标数据标识通过计算所述目标数据的哈希值确定。
6.一种基于零知识响应的鉴权装置,其特征在于,包括:
第一获取单元,用于获取服务器发送的数据列表;所述数据列表包括目标数据标识和发布目标数据的第一客户端标识;所述目标数据标识用于标识所述目标数据,所述第一客户端标识用于标识第一客户端;
第二获取单元,用于响应于第二客户端对应的用户对目标控件的触发操作,获取所述目标控件对应的所述目标数据标识;
确定单元,用于根据所述目标数据标识和所述数据列表,确定所述第一客户端标识;
发送单元,用于根据所述第一客户端标识,向所述第一客户端发送第二客户端标识和所述目标数据标识,以便所述第一客户端根据所述第二客户端标识在预设集合中查找,得到第二客户端的公钥;所述预设集合包括所述第二客户端标识和所述第二客户端标识对应的所述第二客户端的公钥;
运行单元,用于运行零知识响应鉴权,向所述第一客户端发送响应结果,以便所述第一客户端根据所述第二客户端的公钥和所述响应结果,判断对所述第二客户端是否鉴权成功,在所述第一客户端对所述第二客户端鉴权成功时,则所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求。
7.根据权利要求6所述的装置,其特征在于,所述零知识响应鉴权具有多轮验证,所述运行单元用于:
在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述随机模数为两个素数的乘积;
根据所述第一客户端发送的比特数,以及所述随机数确定第二数据,并发送至所述第一客户端,以便所述第一客户端根据所述第一数据和所述第二数据,判断在所述第i轮对所述第二客户端是否鉴权成功;
判断所述i是否大于或等于预设阈值,若否,则使所述i加一,返回执行所述在第i轮,选择随机数,根据所述随机数和随机模数,确定第一数据,并将所述第一数据发送至所述第一客户端;所述i的初始值为1;
若所述i大于或等于所述预设阈值,则判断对所述第二客户端的鉴权成功率是否收敛于1,若是,则向所述第一客户端发送鉴权成功消息,以便所述第一客户端接受所述第二客户端对所述目标数据的读取请求或修改请求;所述鉴权成功率根据多轮对所述第二客户端的鉴权结果确定。
8.根据权利要求7所述的装置,其特征在于,在所述比特数为0时,所述第二数据为所述随机数;在所述比特数为1时,所述第二数据根据所述随机数、所述第二客户端的权限码和所述随机模数确定。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5中任意一项所述的基于零知识响应的鉴权方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-5中任意一项所述的基于零知识响应的鉴权方法。
CN202310718251.2A 2023-06-16 2023-06-16 一种基于零知识响应的鉴权方法、装置、设备及介质 Pending CN116722988A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310718251.2A CN116722988A (zh) 2023-06-16 2023-06-16 一种基于零知识响应的鉴权方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310718251.2A CN116722988A (zh) 2023-06-16 2023-06-16 一种基于零知识响应的鉴权方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116722988A true CN116722988A (zh) 2023-09-08

Family

ID=87874866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310718251.2A Pending CN116722988A (zh) 2023-06-16 2023-06-16 一种基于零知识响应的鉴权方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116722988A (zh)

Similar Documents

Publication Publication Date Title
CN110598394B (zh) 一种权限验证方法、装置和存储介质
CN112311735B (zh) 可信认证方法,网络设备、系统及存储介质
CN101163010B (zh) 对请求消息的鉴权方法和相关设备
CN102195957B (zh) 一种资源共享方法、装置及系统
CN109919771B (zh) 一种应用分层区块链技术的工业互联网交易装置
US20120240212A1 (en) Systems and methods for generating modular security delegates for applications
CN110417790B (zh) 区块链实名制排队系统及方法
CN113779605A (zh) 一种基于联盟链的工业互联网Handle标识体系解析认证方法
CN105516110A (zh) 移动设备安全数据传送方法
CN112152778B (zh) 一种节点管理方法、装置、及电子设备
CN113259311B (zh) 基于区块链的去中心化身份认证系统
CN113055363A (zh) 一种基于区块链信任机制的标识解析系统实现方法
CN108881309A (zh) 大数据平台的访问方法、装置、电子设备及可读存储介质
CN114338242B (zh) 一种基于区块链技术的跨域单点登录访问方法及系统
CN101471878B (zh) 对等会话起始协议网络的安全路由方法、网络系统及设备
CN110910110B (zh) 一种数据处理方法、装置及计算机存储介质
CN114297678A (zh) 一种联盟链系统运行方法、装置、设备及存储介质
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
CN111614687A (zh) 一种身份验证方法、系统及相关装置
CN116722988A (zh) 一种基于零知识响应的鉴权方法、装置、设备及介质
CN113518124B (zh) 基于蜂窝式区块链网络的物联网设备认证方法
CN113824738A (zh) 一种区块链中节点通讯管理方法及系统
RU2688248C1 (ru) Система и способ передачи запросов пользователям
Toussaint A new method for analyzing the security of cryptographic protocols
CN113746630A (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