CN113472807A - 用户间的隐私通信方法和装置 - Google Patents
用户间的隐私通信方法和装置 Download PDFInfo
- Publication number
- CN113472807A CN113472807A CN202110797456.5A CN202110797456A CN113472807A CN 113472807 A CN113472807 A CN 113472807A CN 202110797456 A CN202110797456 A CN 202110797456A CN 113472807 A CN113472807 A CN 113472807A
- Authority
- CN
- China
- Prior art keywords
- user
- client
- information
- communication
- authorization
- 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.)
- Granted
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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书提供了一种用户间的隐私通信方法和装置,通信服务系统接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥;获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,以使所述第一用户的客户端和所述第二用户的客户端基于建立的通信连接进行通信。
Description
技术领域
本说明书一个或多个实施方式涉及网络通信领域,尤其涉及一种用户间的隐私通信方法和装置。
背景技术
现有的用户间通信场景中,请求通信的用户需要获知被请求通信用户的联系信息,例如,电话号码、即时通信账户信息等,请求通信的用户将其获知的被请求通信用户的联系信息发送至通信服务端,以由通信服务端在请求通信的用户和被请求通信的用户之间建立起通信通道。上述通信方式中,用户的联系信息可能被其他用户恶意泄露,从而引发信息安全问题。
发明内容
有鉴于此,本说明书一个或多个实施方式提供了用户间的隐私通信方装置和计算机设备。
为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:
根据本说明书一个或多个实施方式的第一方面,提出了一种用户间的隐私通信方法,应用于通信服务系统,包括:
接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥;
获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,以使所述第一用户的客户端和所述第二用户的客户端基于建立的通信连接进行通信。
根据本说明书一个或多个实施方式的第二方面,提出了一种用户间的隐私通信方法,应用于第一用户的客户端,包括:
接收第二用户的客户端生成的授权密钥,其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
生成用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息;
向所述通信服务系统发送通信申请信息,所述通信申请信息包括所述零知识证明信息,以使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
根据本说明书一个或多个实施方式的第三方面,提出了一种用户间的隐私通信方法,应用于第二用户的客户端,所述方法包括:
接收第一用户的客户端发送的授权请求信息;
基于所述授权请求信息生成授权密钥;其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
将所述授权密钥发送至所述第一用户的客户端,以使所述第一用户的客户端基于所述授权密钥,生成针对所述授权密钥的零知识证明信息,并向所述通信服务系统发送包括所述零知识证明信息的通信申请信息;并使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
根据本说明书一个或多个实施方式的第四方面,提出了一种用户间的隐私通信装置,应用于通信服务系统,包括:
接收单元,接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
验证单元,基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥;
获取单元,获取所述零知识证明的验证结果;
连接单元,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,以使所述第一用户的客户端和所述第二用户的客户端基于建立的通信连接进行通信。
根据本说明书一个或多个实施方式的第五方面,提出了一种用户间的隐私通信装置,应用于第一用户的客户端,包括:
接收单元,接收第二用户的客户端生成的授权密钥,其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
生成单元,生成用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息;
发送单元,向所述通信服务系统发送通信申请信息,所述通信申请信息包括所述零知识证明信息,以使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
根据本说明书一个或多个实施方式的第六方面,提出了一种用户间的隐私通信装置,应用于被请求与第一用户建立通信的第二用户的客户端,所述装置包括:
接收单元,接收所述第一用户的客户端发送的授权请求信息;
生成单元,基于所述授权请求信息生成授权密钥;其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
发送单元,将所述授权密钥发送至所述第一用户的客户端,以使所述第一用户的客户端基于所述授权密钥,生成针对所述授权密钥的零知识证明信息,并向所述通信服务系统发送包括所述零知识证明信息的通信申请信息;并使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
根据本说明书一个或多个实施方式的第七方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行所述通信服务系统所执行的用户间的隐私通信方法。
根据本说明书一个或多个实施方式的第八方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行所述第一用户的客户端所执行的用户间的隐私通信方法。
根据本说明书一个或多个实施方式的第九方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行所述第二用户的客户端所执行的用户间的隐私通信方法。
基于本说明书各个实施方式提供的用户间的隐私通信方法、装置、计算机设备和计算机可读存储介质,通信服务系统可在第一用户和第二用户未知对方的联系信息明文(如电话号码)的条件下,为第一用户和第二用户建立通信连接,有效防范了用户的隐私泄露风险。
附图说明
图1是一示例性实施例提供的用户间的隐私通信方法的应用环境示意图。
图2是一示例性实施例提供的在区块链中创建智能合约和调用智能合约的示意图。
图3是一示例性实施方式提供的应用于第一用户的终端、第二用户的终端和通信服务系统的用户间的隐私通信方法的流程图。
图4是一示例性实施方式提供的应用于通信服务系统的用户间的隐私通信装置的示意图。
图5是一示例性实施方式提供的应用于第一用户的终端的用户间的隐私通信装置的示意图。
图6是一示例性实施方式提供的应用于第二用户的终端的用户间的隐私通信装置的示意图。
图7运行本说明书所提供的用户间的隐私通信装置实施方式的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书一个或多个实施方式相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施方式的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施方式中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施方式中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施方式中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施方式中也可能被合并为单个步骤进行描述。
现有的用户间通信场景中,请求通信的用户需要获知被请求通信用户的联系信息,例如,电话号码、或即时通信账户的账号信息等,请求通信的用户将其获知的被请求通信用户的联系信息发送至通信服务端,以由通信服务端在请求通信的用户和被请求通信的用户之间建立起通信通道。上述通信方式中,用户的联系信息可能被其他用户恶意泄露,从而引发信息安全问题。
有鉴于此,本说明书一个或多个实施方式提供了用户间的隐私通信方法,在用户间不互知对方具有隐私性质的联系信息的前提下,可为多个用户建立通信连接。图1实例了本说明书提供的一示例性实施方式中用户间的隐私通信方法的应用环境示意图。如图1所示,本实施方式所述的通信服务系统中包含通信服务端,在一些实施方式中,上述通信服务系统还包含区块链网络。
如图1所示,在环境100中,一个或多个客户端侧计算设备(例如111a、111b、111c、111d)可以通过各种通信网络耦接到服务器端118。服务器端118可以通过各种通信网络耦接到一个或多个区块链网络(例如112、113)。每个区块链网络可以维护一个或多个区块链。每个区块链可以对应于唯一的区块链ID。附加的计算设备可以耦接到一个或多个区块链网络中的每一个。例如,区块链用户侧计算设备(例如114a、114b)可以通过各种通信网络耦接到区块链网络112。
客户端侧计算设备(例如,计算机、服务器、移动电话等)不限于单个设备,并且可以包括集群中的一个或多个计算设备。客户端侧计算设备可以安装有专用软件,例如用于与服务器端118通信的消息队列(MQ)服务软件。在一示出的实施方式中,通信运营商可部署服务器(即上述通信服务端)作为上述客户端侧计算设备(例如111a)。第一用户和第二用户持有的终端可作为上述通信服务端的客户端。
在一些实施例中,服务器端118可以提供区块链即服务(BaaS)或称为BaaS端。在一个实施例中,BaaS端提供基于区块链技术的企业级平台服务,为其客户端侧计算设备(例如111a、111b、111c、111d)提供企业级区块链服务。
值得注意的是,在又一些示出的实施方式中,区块链网络中可能并未设置用于管理区块链服务的服务器或Baas端,此时,客户端侧计算设备(例如111a、111b、111c、111d)可以直接与区块链网络中的一个或多个节点设备直接通信,以从该节点设备处获得区块链服务。本说明书对此不作限定。
本说明书一个或多个实施例所述的区块链或区块链网络(图1所示的112,113),具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的账本数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
每个区块链节点可以在服务器或服务器集群中实现。服务器集群可以采用负载平衡。每个区块链节点可以对应于经由诸如TCP/IP的各种类型的通信方法耦接在一起的一个或多个物理硬件设备或者虚拟设备。根据分类,区块链节点还可以被称为全节点、Geth节点、共识节点等。
在一些实施例中,区块链用户侧计算设备114a、114b可以包括轻节点。轻节点可能无法下载完整的区块链,但是可以只下载区块头以验证区块链交易的真实性。轻节点可以由全节点(例如,区块链网络中的区块链节点)提供服务并有效地依赖于全节点来访问区块链的更多功能。通过安装适当的软件,可以在诸如膝上型电脑、移动电话等的电子设备中实现轻节点。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。可以预期,本说明书所提供的实施方式能够在合适类型的区块链中实现。
计算设备可将数据构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
无论区块链采用哪种共识算法,记账节点均可以将接收到的交易打包以生成最新区块,并将生成的最新区块发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块的过程中,也可以执行该区块中的包含的交易。
需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的对应状态会随之发生变化。例如,以账户模型构架的区块链中,外部账户或者智能合约账户的账户状态,通常也会随着交易的执行而发生相应的变化。
例如,当区块中的一笔“转账交易”执行完毕后,与该“转账交易”相关的转出方账户和转入方账户的余额(即这些账户的Balance字段的字段值),通常也会随之发生变化。
又如,区块中的“智能合约调用交易”则用以调用区块链上部署的智能合约,在节点设备对应的EVM内调用上述智能合约以执行上述“智能合约调用交易”,并将执行上述智能合约调用交易后、智能合约账户的账户状态更新在该智能合约的账户中。
在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
创建智能合约和调用智能合约的示意图如图2所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
用户将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点查看合约账户的账户状态,例如,上述账户状态可以Key-Value对的形式存储到智能合约的Storage树中。调用智能合约的交易的执行结果,可以是以交易收据(receipt)的形式,存储到MPT收据树中。
智能合约可以以规定的方式在区块链中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
本说明书以下示出的一个或多个实施方式提供了用户间的隐私通信方法,可应用于图1所示的环境中。图3示意了一示例性实施方式提供的用户间的隐私通信方法流程图,该方法可包括:
步骤302,第一用户的客户端发送授权请求信息,上述授权请求信息用于请求获取第二用户的授权密钥,以作为第二用户的隐私联系信息。
本实施方式并不限定上述授权请求信息的具体内容,例如可以包括第一用户的身份信息(第一用户在通信服务系统中注册的第一公钥、或第一用户的昵称、实名信息),还可以包括第一用户发送的请求语等其他信息。
本实施方式也不限定上述授权请求信息的发送方式,在一示出的实施方式中,第一用户可以向第二用户面对面提起通信申请或保存隐私联系信息申请,此时,第一用户的客户端生成所述授权请求信息,通过以近距离通信的方式将所述授权请求信息发送至第二用户的客户端。上述近距离通信的方式包括但不限于蓝牙、NFC、扫码通信等方式。
在又一示出的实施方式中,第一用户的客户端可通过通信服务端作为信息中转中介,将上述授权请求信息发送至第二用户的客户端;由于第一用户未知第二用户的实际联系信息,上述授权请求信息中可包含第二用户的用户标识(例如第二用户对应的第二公钥),以使通信服务端将上述授权请求信息发送至与第二用户的用户标识对应的第二用户的客户端。
在又一示出的实施方式中,当第一用户的客户端和第二用户的客户端都作为区块链用户侧计算设备(如图1所示的114a或114b)时,第一用户的客户端可向区块链发送上述授权请求信息,该授权请求信息可包含第二用户的用户标识(例如第二用户对应的第二公钥),以使第二用户的客户端通过同步区块链数据而获得上述授权请求信息。
在上述多种实施方式中,为了保证信息安全,第一用户的客户端可以加密上述授权请求信息,例如,使用第二用户对应的第二公钥加密上述授权请求信息。
步骤304,第二用户的客户端响应于获取到的所述第一用户的授权请求信息,基于所述授权请求信息生成授权密钥,其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接。
在本说明书中,第二用户的客户端生成的上述授权密钥,可被视为第二用户基于第一用户的授权请求信息而为第一用户生成的专属隐私联系信息。
本实施方式并不限定上述授权密钥的具体生成方式,在一示出的实施方式中,第一用户在通信系统中认证的第一公钥为其对应持有的第一私钥为(s1,t1,r1);第二用户在通信系统中认证的第二公钥为其对应持有的第二私钥为(s2,t2,r2)。
第一用户的客户端生成的授权请求信息为I1,第二用户的客户端响应于获取到的I1,基于I1和其持有的第二私钥(s2,t2,r2),生成授权密钥N1→2,授权密钥N1→2满足公式1:
N1→2×s2+I1=r2×s2+t2。
步骤306,第二用户的客户端将上述授权密钥发送至第一用户的客户端。
本实施方式也不限定上述授权密钥的发送方式,例如,第一用户的客户端和第二用户的客户端可采用近距离通信的方式,以蓝牙、NFC、扫码通信等方式将上述授权密钥发送至第一用户的客户端;或者,也可通过第一用户的客户端和第二用户的客户端均连接的通信服务端作为信息中转媒介来中转传递上述授权密钥;第一用户的客户端和第二用户的客户端也可以使用区块链作为数据传输媒介来传递上述授权密钥。上述具体的发送方式可参考第一用户的客户端发送上述申请信息的具体发送方式,在此不再赘述。而且为了保护上述授权密钥的安全性,第二用户的客户端可使用第一用户对应的第一公钥来加密上述授权密钥。
步骤308,第一用户的客户端基于所述授权请求信息和所述授权密钥,生成针对所述授权密钥的零知识证明信息。
当上述授权密钥是第二用户的客户端基于所述授权请求信息和所述第二用户持有的第二私钥生成时,上述第一用户的客户端可能需要与所述第二私钥对应的第二公钥,以生成上述零知识证明信息。
值得注意的是,在第一用户的客户端和第二用户的客户端使用近距离通信的方式传输上述申请信息或授权密钥时,第一用户和第二用户的客户端可能尚未获得对方的公钥,因此,第一用户的客户端和第二用户的客户端可以通过近距离通信等方式获得对方的公钥信息。
本实施方式并不限定上述零知识证明信息的生成算法,例如,在上述实施方式中,当第一用户的客户端获取到第二用户的客户端基于授权请求信息I1,和自身持有的第二私钥(s2,t2,r2)生成的授权密钥N1→2后,第一用户的客户端可基于满足公式2:
的N1→2、I1和(g2,h2,c2),生成针对授权密钥N1→2的零知识证明信息σ1→2(基于离散对数难题,N1→2难以在公式2中基于第二公钥和I1而被求得)。本实施方式并不限定针对授权密钥N1→2的零知识证明信息σ1→2的具体生成算法,例如可选用Sigma类零知识证明生成算法。
步骤310,第一用户的客户端向通信服务系统发送通信申请信息,所述通信申请信息可包含用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息和第一用户请求建立通信连接的对象——第二用户的用户标识。
上述第二用户的用户标识可以包括第二用户对应的第二公钥,也可包含在与第二用户在通信系统中注册的其他用户标识信息,以使通信服务系统可基于上述第二用户的用户标识,获取到第二用户对应的第二公钥。
步骤312,通信服务系统基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥。
具体的验证算法与上述零知识证明的生成算法相对应。当上述授权密钥是基于第二用户持有的第二私钥和所述授权请求信息而生成时,上述通信服务系统可基于与第二私钥对应的第二公钥、所述授权请求信息和所述零知识证信息对所述第一用户是否持有所述授权密钥进行验证。
在一示出的实施方式中,如图1所示,上述通信服务系统可包括通信服务端111a,所述通信服务端111a内部署有零知识证明逻辑。在该实施方式中,所述通信服务系统基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证的具体过程可包括:所述通信服务端调用自身部署的所述零知识证明逻辑,基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证。
在又一示出的实施方式中,所述通信服务系统包括图1所示的通信服务端(如111a)和与通信服务端对接的区块链网络;当上述区块链网络中设置有Baas端时,所述通信服务端与Baas端对接,当上述区块链网络中未设置Baas端时,所述通信服务端与区块链中的一个或多个节点设备对接。所述区块链上部署有用于进行零知识证明验证的智能合约;上述通信服务系统基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证的具体过程可包括:
响应于所述第一用户的客户端发送的所述零知识证明信息,通信服务端向与其对接的区块链网络触发智能合约调用交易,该调用交易可包括上述零知识证明信息(当上述授权密钥是第二用户的客户端基于第二私钥和所述授权请求信息生成时,上述调用交易还包括所述授权请求信息和所述第二用户的用户标识),以使所述区块链的节点设备调用所述智能合约的合约代码包含的零知识证明逻辑,基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证,并将验证结果保存至所述区块链。
智能合约在调用的过程中产生的执行结果(包括中间结果和最终的调用结果),通常都会以事件(Event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在节点设备的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听节点设备的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果。因此在本实施方式中,上述调用交易的执行结果可以以事件的形式被保存在与上述智能合约的调用交易对应的交易日志中。与上述通信服务端对接的BaaS端或者节点设备,通过监听节点设备存储的交易日志,可获取到上述验证结果。
在又一示出的实施方式中,所述通信服务系统被去中心化地部署为区块链网络,亦即,所述通信服务系统包括区块链网络中的一个或多个节点设备;所述第一用户的客户端和第二用户的客户端与所述区块链网络中的节点设备对接。所述区块链上部署有用于进行零知识证明验证的智能合约;上述通信服务系统基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证的具体过程可包括:
响应于所述第一用户的客户端向所述区块链发送的智能合约调用交易,该调用交易可包括上述零知识证明信息(当上述授权密钥是第二用户的客户端基于第二私钥和所述授权请求信息生成时,上述调用交易还包括所述授权请求信息和所述第二用户的用户标识),以使所述区块链的节点设备调用所述智能合约的合约代码包含的零知识证明逻辑,基于所述零知识证明信息对所述第一用户是否持有所述授权密钥进行零知识验证,并将验证结果保存至所述区块链。
步骤314,获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,以使所述第一用户的客户端和所述第二用户的客户端基于建立的通信连接进行通信。
本说明书并不限定通信服务系统所执行的、建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接的具体连接方式。在一示出的实施方式中,通信服务系统执行的通信连接的具体方式包括:当上述通信服务端获取到指示第一用户持有第二用户为其生成的授权密钥的验证结果后,上述通信服务端可以向第二用户的客户端发起接通提示,例如“您有一通隐私通话请求,是否接通?”,响应于第二用户在其客户端上触发的同意操作,上述通信服务系统可为第一用户客户端和第二用户客户端建立通话通道,以使两用户可以在不互知对方通信号码的条件下开展通话。
在又一示出的实施方式中,第一用户的客户端可以向上述通信服务端发送待发送至第二用户的目标消息,通信服务系统执行的通信连接的具体方式包括:当上述通信服务端获取到指示第一用户持有第二用户为其生成的授权密钥的验证结果后,上述通信服务端可以将上述目标消息发送至第二用户的客户端。
值得注意的是,为了进一步防止其他恶意用户在非法获取上述授权密钥和授权请求信息后生成针对上述授权密钥的零知识证明信息,或者,非法获取上述第一用户的客户端发送的零知识证明信息、授权请求信息,以将上述零知识证明、授权请求信息和第二用户的用户标识发送至通信服务系统,从而非法获得与第二用户的客户端进行通信连接的权利,在本说明书示出的又一实施方式中,上述授权请求信息可以包括第一用户的身份信息,此时,上述通信服务系统在进一步执行对所述第一用户的客户端和所述第二公钥对应的第二用户的客户端的通信连接逻辑之前,还可执行如下对第一用户的身份验证过程:
获取第一用户的客户端基于持有的第一私钥对所述零知识证明信息、第二用户的用户标识和所述授权请求信息中的至少部分内容所作的数字签名;
基于第一用户的公钥,对所述数字签名进行验证;
如果对所述数字签名的验证通过,进一步验证所述第一用户的公钥与所述授权请求信息包含的第一用户的身份信息是否匹配;上述第一用户的身份信息可以为第一用户在通信服务系统中注册的唯一性身份信息,如第一公钥、实名信息、账户信息、区块链用户标识信息等等;
如果所述第一用户的公钥与所述授权请求信息包含的第一用户的身份信息匹配,且经验证所述第一用户持有所述授权密钥,进一步执行对所述第一用户的客户端和所述第二公钥对应的第二用户的客户端的通信连接逻辑。
类似地,上述身份验证过程可以由通信服务系统所包含的通信服务端调用本身部署的身份验证逻辑来执行,也可以被部署为区块链网络中智能合约的身份验证逻辑,由区块链的节点设备调用上述智能合约的身份验证逻辑来执行,上述通信服务端可获取调用智能合约后生成的身份验证结果,以进一步判断是否继续执行对所述第一用户的客户端和所述第二公钥对应的第二用户的客户端的通信连接逻辑。
在上述示出的一种或多种实施方式中,是由通信服务系统中的通信服务端中心化地执行对所述第一用户的客户端和所述第二公钥对应的第二用户的客户端的通信连接逻辑,可以预期,上述通信连接逻辑也可被部署为区块链上智能合约声明的执行逻辑,从而由区块链网络去中心化地执行零知识证明验证、第一用户的身份验证、和对所述第一用户的客户端和所述第二公钥对应的第二用户的客户端的通信连接,完成第一用户和第二用户间的隐私通信。
此时,上述第一用户的客户端和第二用户的客户端可直接被部署为区块链用户侧计算设备,如图1所示的114a、114b,与作为上述通信服务系统的区块链网络112,协作完成上述步骤302至312所提供的用户间的隐私通信方法;上述零知识验证逻辑、身份验证逻辑、通信连接逻辑可以被部署在同一智能合约中,也可被部署在不同的智能合约中,本实施方式对此不作限定。
本说明书上述的一个或多个实施方式提供了用户间的隐私通信方法,第一用户的客户端可以将上述授权密钥存储为第二用户为其生成的“专属通信号码”,以在需要与第二用户发生通信时,执行上述步骤308至310所述的方法而获得通信服务系统的通信连接服务。其他用户即使通过非法手段获得上述授权密钥,也会由于不能通过通信服务系统的身份验证,而不能获得与第二用户的客户端通信的权利。
在又一示出的实施方式中,第二用户为了防止被已授权的第一用户长期或重复进行通信请求,第二用户的客户端除了为第一用户生成授权密钥,还可为该授权密钥生成对应的有效性信息,并基于其持有的第二私钥对上述有效性信息进行数字签名;上述有效性信息可包括:第二用户授权的通信次数(例如一次性有效),或第二用户授权的通信有效期(例如一个月)。之后,第一用户的客户端发送的通信申请信息中还需包括上述授权密钥的有效性信息,以及,上述对上述有效性信息进行数字签名;以使上述通信服务系统在基于第二公钥对上述数字签名验证通过后,验证本次通信申请是否符合第二用户设置的上述有效性信息,如果不符合,则直接拒绝第一用户的客户端的通信申请。
因此,上述一个或多个实施方式提供的用户间的隐私通信方法,可以显著降低第二用户被未授权用户通信打扰的概率,有效防范了第二用户的隐私泄露风险。
与上述流程实现对应,本说明书的实施方式还提供了用户间的隐私通话装置40、50和60。装置40、50、60可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图7所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图4所示,本说明书提供了一种用户间的隐私通信装置,应用于通信服务系统,包括:
接收单元402,接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
验证单元404,基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥;
获取单元406,获取所述零知识证明的验证结果;
连接单元408,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,以使所述第一用户的客户端和所述第二用户的客户端基于建立的通信连接进行通信。
在又一示出的实施方式中,所述第一用户和第二用户在通信服务系统中存储有对应的第一公钥和第二公钥;
所述授权密钥是第二用户的客户端响应于获取到的所述第一用户的授权请求信息,基于所述授权请求信息和自身持有的与所述第二公钥对应的第二私钥而生成的;
所述零知识证明信息是第一用户的客户端基于与所述第二公钥、所述授权请求信息、和从所述第二用户的客户端接收的所述授权密钥而生成的,且所述通信申请信息还包含第二用户的用户标识和所述授权请求信息。
在又一示出的实施方式中,所述授权请求信息包括所述第一用户的身份信息;
所述验证单元404,在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,还响应于获取到的所述通信申请信息,验证所述第一公钥对应的用户身份信息,与所述授权请求信息包含的第一用户的身份信息是否匹配;
如果是,所述连接单元408进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接;如果否,所述连接单元拒绝所述第一用户的客户端的通信申请。
在又一示出的实施方式中,所述通信申请信息还包括所述第二用户的终端为所述授权密钥设置的有效性信息,所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值;
所述验证单元404,在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,响应于获取到的所述通信申请信息,验证所述第一用户与第二用户之间的通信次数是否达到所述次数阈值;
如果是,所述连接单元408拒绝所述第一用户的客户端的通信申请。
在又一示出的实施方式中,所述通信申请信息还包括所述第二用户的终端为所述授权密钥设置的有效性信息,所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的有效期限;
所述验证单元404,在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,响应于获取到的所述通信申请信息,验证当前时刻是否已超出所述有效期限;
如果是,所述连接单元408拒绝所述第一用户的客户端的通信申请。
在又一示出的实施方式中,所述通信服务系统包括与区块链网络对接的通信服务端;所述第一用户的客户端和第二用户的客户端与所述通信服务端对接;所述区块链上部署有用于进行零知识证明验证的智能合约;
所述验证单元404,进一步由所述通信服务端响应于所述第一用户的客户端发送的所述通信申请信息,向所述区块链网络触发智能合约调用交易,以使所述区块链调用所述智能合约中的合约代码包含的零知识证明逻辑,基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥;
所述获取单元406,进一步由所述通信服务端从与其对接的区块链网络中获取所述智能合约调用交易对应的执行结果,所述执行结果包括所述零知识证明的验证结果。
在又一示出的实施方式中,所述通信服务系统包括由若干台通信服务端作为节点设备组成的区块链网络;所述第一用户的客户端和第二用户的客户端与所述区块链网络中的节点设备对接;所述区块链上部署有用于进行零知识证明验证的智能合约;
所述验证单元404,进一步由所述区块链的节点设备响应于所述第一用户的客户端发送的所述通信申请信息,调用所述智能合约中的合约代码包含的零知识证明逻辑,基于所述零知识证明信息进行零知识证明,以验证所述第一用户是否持有所述授权密钥。
在又一示出的实施方式中,所述连接单元408,进一步用于:
向所述第二用户的客户端发送连接建立请求;
响应于所述第二用户在所述第二用户的客户端上触发的与所述连接建立请求对应的授权操作,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
如图5所示,本说明书还提供了一种用户间的隐私通信装置50,包括:
接收单元502,接收第二用户的客户端生成的授权密钥,其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
生成单元504,生成用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息;
发送单元506,向所述通信服务系统发送通信申请信息,所述通信申请信息包括所述零知识证明信息,以使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
在又一示出的实施方式中,所述第一用户和第二用户在通信服务系统中认证有对应的第一公钥和第二公钥;
所述授权密钥是第二用户的客户端响应于获取到的所述第一用户的客户端发送的授权请求信息,基于所述授权请求信息和自身持有的与所述第二公钥对应的第二私钥而生成的;
所述生成单元504,进一步用于基于与所述第二私钥对应的第二公钥、所述授权请求信息、和所述授权密钥,生成针对所述授权密钥的零知识证明信息,所述通信申请信息包含第二用户的用户标识和所述授权请求信息。
在又一示出的实施方式中,所述授权请求信息包括所述第一用户的身份信息。
在又一示出的实施方式中,所述通信申请信息还包括所述第二用户的终端为所述授权密钥设置的有效性信息;所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值,或所述第二用户授权的与第一用户进行通信连接的有效期限。
如图6所示,本说明书还提供了一种用户间的隐私通信装置60,应用于被请求与第一用户建立通信的第二用户的客户端,所述装置60包括:
接收单元602,接收所述第一用户的客户端发送的授权请求信息;
生成单元604,基于所述授权请求信息生成授权密钥;其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
发送单元606,将所述授权密钥发送至所述第一用户的客户端,以使所述第一用户的客户端基于所述授权密钥,生成针对所述授权密钥的零知识证明信息,并向所述通信服务系统发送包括所述零知识证明信息的通信申请信息;并使所述通信服务系统基于所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
在又一示出的实施方式中,所述第一用户和第二用户在通信服务系统中认证有对应的第一公钥和第二公钥;
所述生成单元604,进一步用于基于所述授权请求信息和自身持有的第二私钥生成授权密钥。
在又一示出的实施方式中,所述生成单元604,进一步用于生成与所述授权密钥对应的有效性信息;所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值,或所述第二用户授权的与第一用户进行通信连接的有效期限;
所述发送单元606,进一步用于将所述有效性信息发送至所述第一用户的客户端;其中,所述通信申请信息还包含所述有效性信息,以使所述通信服务系统基于所述通信服务系统验证所述第一用户与第二用户的已有通信次数是否超出所述次数阈值,或者,验证当前时刻是否已超出所述有效期限,如果是,拒绝所述第一用户的客户端的通信申请。
上述装置40、50、60中各个单元的功能和作用的实现过程具体详见上述通信服务系统、第一用户的客户端、第二用户客户端所执行的用户间的隐私通信方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施方式阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中通信服务系统所执行的用户间的隐私通信方法的各个步骤。对上述通信服务系统所执行的用户间的隐私通信方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中第一用户的客户端所执行的用户间的隐私通信方法的各个步骤。对第一用户的客户端所执行的用户间的隐私通信方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中第二用户客户端所执行的用户间的隐私通信方法的各个步骤。对上述第二用户客户端所执行的用户间的隐私通信方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施方式可提供为方法、系统或计算机程序产品。因此,本说明书的实施方式可采用完全硬件实施方式、完全软件实施方式或结合软件和硬件方面的实施方式的形式。而且,本说明书的实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (21)
1.一种用户间的隐私通信方法,应用于通信服务系统,所述方法包括:
接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;其中,所述授权密钥是所述第二用户的客户端响应于获取到的所述第一用户的授权请求信息,基于所述授权请求信息和所述第二用户持有的第二私钥而生成的;所述零知识证明信息是所述第一用户的客户端基于与所述第二私钥对应的第二公钥、所述授权请求信息、和从所述第二用户的客户端接收的授权密钥而生成的;
基于所述第二公钥、所述授权请求信息和所述零知识证明信息,进行零知识证明;
获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
2.根据权利要求1所述的方法,所述通信服务系统中存储有与第一用户对应的第一公钥和与第二用户对应的第二公钥;
所述通信申请信息还包含第二用户的用户标识和所述授权请求信息;所述第二用户的用户标识包括与所述第二用户对应的第二公钥。
3.根据权利要求2所述的方法,所述授权请求信息包括所述第一用户的身份信息;
在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,所述方法还包括:
响应于获取到的所述通信申请信息,验证所述第一公钥对应的用户身份信息,与所述授权请求信息包含的第一用户的身份信息是否匹配;
如果是,进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接;如果否,拒绝所述第一用户的客户端的通信申请。
4.根据权利要求1所述的方法,所述通信申请信息还包括所述第二用户的客户端为所述授权密钥设置的有效性信息,所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值;
在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,所述方法还包括:
响应于获取到的所述通信申请信息,验证所述第一用户与第二用户之间的通信次数是否达到所述次数阈值;
如果是,拒绝所述第一用户的客户端的通信申请。
5.根据权利要求1所述的方法,所述通信申请信息还包括所述第二用户的客户端为所述授权密钥设置的有效性信息,所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的有效期限;
在进一步建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接之前,所述方法还包括:
响应于获取到的所述通信申请信息,验证当前时刻是否已超出所述有效期限;
如果是,拒绝所述第一用户的客户端的通信申请。
6.根据权利要求1至5中任一权利要求所述的方法,所述通信服务系统包括与区块链网络对接的通信服务端;所述第一用户的客户端和第二用户的客户端与所述通信服务端对接;所述区块链上部署有用于进行零知识证明验证的智能合约;
所述基于所述第二公钥、所述授权请求信息和所述零知识证明信息,进行零知识证明,包括:
所述通信服务端响应于所述第一用户的客户端发送的所述通信申请信息,向所述区块链网络触发智能合约调用交易,以使所述区块链调用所述智能合约中的合约代码包含的零知识证明逻辑,基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明;
所述获取所述零知识证明的验证结果,包括:
所述通信服务端从与其对接的区块链网络中获取所述智能合约调用交易对应的执行结果,所述执行结果包括所述零知识证明的验证结果。
7.根据权利要求1至5中任一权利要求所述的方法,所述通信服务系统包括由若干台通信服务端作为节点设备组成的区块链网络;所述第一用户的客户端和第二用户的客户端与所述区块链网络中的节点设备对接;所述区块链上部署有用于进行零知识证明验证的智能合约;
所述基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明,包括:
所述区块链的节点设备响应于所述第一用户的客户端发送的所述通信申请信息,调用所述智能合约中的合约代码包含的零知识证明逻辑,基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明。
8.根据权利要求1所述的方法,所述建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接,包括:
向所述第二用户的客户端发送连接建立请求;
响应于所述第二用户在所述第二用户的客户端上触发的与所述连接建立请求对应的授权操作,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
9.一种用户间的隐私通信方法,应用于第一用户的客户端,所述方法包括:
接收第二用户的客户端响应于获取到的第一用户的授权请求信息,基于所述授权请求信息和所述第二用户持有的第二私钥而生成的授权密钥,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
基于与所述第二私钥对应的第二公钥、所述授权请求信息和所述授权密钥,生成用于验证所述第一用户是否持有由所述第二用户的客户端生成的所述授权密钥的零知识证明信息;
向通信服务系统发送通信申请信息;其中,所述通信申请信息包括所述零知识证明信息,以使所述通信服务系统基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
10.根据权利要求9所述的方法,所述通信服务系统中存储有与所述第一用户对应的第一公钥和与所述第二用户对应的第二公钥;
所述通信申请信息还包含第二用户的用户标识和所述授权请求信息;所述第二用户的用户标识包括与所述第二用户对应的第二公钥。
11.根据权利要求10所述的方法,所述授权请求信息包括所述第一用户的身份信息。
12.根据权利要求10所述的方法,所述通信申请信息还包括所述第二用户的客户端为所述授权密钥设置的有效性信息;所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值,或所述第二用户授权的与第一用户进行通信连接的有效期限。
13.一种用户间的隐私通信方法,应用于第二用户的客户端,所述方法包括:
接收第一用户的客户端发送的授权请求信息;
基于所述授权请求信息和所述第二用户持有的第二私钥生成授权密钥;其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
将所述授权密钥发送至所述第一用户的客户端,以使所述第一用户的客户端基于与所述第二私钥对应的第二公钥、所述授权请求信息和所述授权密钥,生成针对所述授权密钥的零知识证明信息,并向通信服务系统发送包括所述零知识证明信息的通信申请信息;并使所述通信服务系统基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明,获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
14.根据权利要求13所述的方法,所述通信服务系统中存储有与所述第一用户对应的第一公钥和与所述第二用户对应的第二公钥。
15.根据权利要求14所述的方法,还包括:
生成与所述授权密钥对应的有效性信息;所述有效性信息包括所述第二用户授权的与第一用户进行通信连接的次数阈值,或所述第二用户授权的与第一用户进行通信连接的有效期限;
将所述有效性信息发送至所述第一用户的客户端;其中,所述通信申请信息还包含所述有效性信息,以使所述通信服务系统验证所述第一用户与第二用户的已有通信次数是否超出所述次数阈值,或者,验证当前时刻是否已超出所述有效期限,如果是,拒绝所述第一用户的客户端的通信申请。
16.一种用户间的隐私通信装置,应用于通信服务系统,所述装置包括:
接收单元,接收第一用户的客户端发送的通信申请信息,所述通信申请信息包括用于验证所述第一用户是否持有由第二用户的客户端生成的授权密钥的零知识证明信息,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;其中,所述授权密钥是所述第二用户的客户端响应于获取到的所述第一用户的授权请求信息,基于所述授权请求信息和所述第二用户持有的第二私钥而生成的;所述零知识证明信息是所述第一用户的客户端基于与所述第二私钥对应的第二公钥、所述授权请求信息、和从所述第二用户的客户端接收的授权密钥而生成的;
验证单元,基于所述第二公钥、所述授权请求信息和所述零知识证明信息,进行零知识证明;
获取单元,获取所述零知识证明的验证结果;
连接单元,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
17.一种用户间的隐私通信装置,应用于第一用户的客户端,所述装置包括:
接收单元,接收第二用户的客户端响应于获取到的第一用户的授权请求信息,基于所述授权请求信息和所述第二用户持有的第二私钥而生成的授权密钥,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
生成单元,基于与所述第二私钥对应的第二公钥、所述授权请求信息和所述授权密钥,生成用于验证所述第一用户是否持有由所述第二用户的客户端生成的所述授权密钥的零知识证明信息;
发送单元,向通信服务系统发送通信申请信息;其中,所述通信申请信息包括所述零知识证明信息,以使所述通信服务系统基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
18.一种用户间的隐私通信装置,应用于第二用户的客户端,所述装置包括:
接收单元,接收所述第一用户的客户端发送的授权请求信息;
生成单元,基于所述授权请求信息和所述第二用户持有的第二私钥生成授权密钥;其中,所述授权密钥用以指示所述第二用户授权所述第一用户与其建立通信连接;
发送单元,将所述授权密钥发送至所述第一用户的客户端,以使所述第一用户的客户端基于与所述第二私钥对应的第二公钥、所述授权请求信息和所述授权密钥,生成针对所述授权密钥的零知识证明信息,并向通信服务系统发送包括所述零知识证明信息的通信申请信息;并使所述通信服务系统基于所述第二公钥、所述授权请求信息和所述零知识证明信息进行零知识证明,并获取所述零知识证明的验证结果,如果所述验证结果指示所述第一用户持有所述授权密钥,建立所述第一用户的客户端和所述第二用户的客户端之间的通信连接。
19.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至8任意一项所述的方法。
20.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求9至12任意一项所述的方法。
21.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求13至15任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797456.5A CN113472807B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110197411.4A CN112583593B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
CN202110797456.5A CN113472807B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110197411.4A Division CN112583593B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472807A true CN113472807A (zh) | 2021-10-01 |
CN113472807B CN113472807B (zh) | 2023-03-21 |
Family
ID=75113953
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797456.5A Active CN113472807B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
CN202110197411.4A Active CN112583593B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110197411.4A Active CN112583593B (zh) | 2021-02-22 | 2021-02-22 | 用户间的隐私通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113472807B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326535B (zh) * | 2021-06-01 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种信息验证方法及装置 |
CN113689601B (zh) * | 2021-08-04 | 2023-10-24 | 支付宝(杭州)信息技术有限公司 | 基于区块链的通行验证方法、装置、电子设备及存储介质 |
CN113556362B (zh) * | 2021-09-13 | 2023-02-14 | 广州市悦智计算机有限公司 | 基于区块链智能合约的加密会话建立及维持方法 |
CN114553437B (zh) * | 2022-03-02 | 2023-12-05 | 安徽师范大学 | 基于医疗区块链的授权验证方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102013141A (zh) * | 2009-08-10 | 2011-04-13 | 北京多思科技发展有限公司 | 一种认证方法以及认证系统 |
WO2016053081A1 (en) * | 2014-10-01 | 2016-04-07 | Mimos Berhad | Method for secure network establishment via authentication of single-use passwords with counter measures against password replay |
CN108769061A (zh) * | 2018-06-25 | 2018-11-06 | 北京奇虎科技有限公司 | 登录方法、登录验证方法以及相应的装置、电子设备 |
CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
US20200076615A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Trusted identity solution using blockchain |
CN111431936A (zh) * | 2020-04-17 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 基于可验证声明的授权处理方法、装置、设备及系统 |
CN111753002A (zh) * | 2019-03-26 | 2020-10-09 | 国际商业机器公司 | 基于同意的数据管理 |
CN111818186A (zh) * | 2020-08-31 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法和系统 |
CN111885079A (zh) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合处理数据的方法及装置 |
CN112231769A (zh) * | 2020-10-29 | 2021-01-15 | 深圳壹账通智能科技有限公司 | 基于区块链的数值验证方法、装置、计算机设备和介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708162B (zh) * | 2019-09-02 | 2023-06-09 | 深圳壹账通智能科技有限公司 | 资源的获取方法、装置、计算机可读介质及电子设备 |
CN111797427A (zh) * | 2020-06-04 | 2020-10-20 | 中国科学院信息工程研究所 | 一种兼顾隐私保护的区块链用户身份监管方法及系统 |
-
2021
- 2021-02-22 CN CN202110797456.5A patent/CN113472807B/zh active Active
- 2021-02-22 CN CN202110197411.4A patent/CN112583593B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102013141A (zh) * | 2009-08-10 | 2011-04-13 | 北京多思科技发展有限公司 | 一种认证方法以及认证系统 |
WO2016053081A1 (en) * | 2014-10-01 | 2016-04-07 | Mimos Berhad | Method for secure network establishment via authentication of single-use passwords with counter measures against password replay |
CN108769061A (zh) * | 2018-06-25 | 2018-11-06 | 北京奇虎科技有限公司 | 登录方法、登录验证方法以及相应的装置、电子设备 |
US20200076615A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Trusted identity solution using blockchain |
CN109257182A (zh) * | 2018-10-24 | 2019-01-22 | 杭州趣链科技有限公司 | 一种基于同态的密码学承诺与零知识范围证明的区块链隐私保护方法 |
CN111753002A (zh) * | 2019-03-26 | 2020-10-09 | 国际商业机器公司 | 基于同意的数据管理 |
CN111431936A (zh) * | 2020-04-17 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 基于可验证声明的授权处理方法、装置、设备及系统 |
CN111885079A (zh) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的多方联合处理数据的方法及装置 |
CN111818186A (zh) * | 2020-08-31 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法和系统 |
CN112231769A (zh) * | 2020-10-29 | 2021-01-15 | 深圳壹账通智能科技有限公司 | 基于区块链的数值验证方法、装置、计算机设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113472807B (zh) | 2023-03-21 |
CN112583593B (zh) | 2021-05-25 |
CN112583593A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112583593B (zh) | 用户间的隐私通信方法和装置 | |
CN112307455B (zh) | 基于区块链的身份认证方法及装置、电子设备 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN108965250B (zh) | 一种数字证书安装方法及系统 | |
KR20200083544A (ko) | 자산 관리 방법 및 장치, 및 전자 디바이스 | |
CN111047443B (zh) | 用户评分方法及装置、电子设备、计算机可读存储介质 | |
US20200265438A1 (en) | Systems and methods for estimating authenticity of local network of device initiating remote transaction | |
CN111639932B (zh) | 一种基于区块链的离线资源转移方法及装置 | |
CN112200575B (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
CN111222841B (zh) | 一种基于区块链的数据分配方法及其设备、存储介质 | |
JP2019510316A (ja) | アカウントリンキング及びサービス処理提供の方法及びデバイス | |
CN108933838A (zh) | 应用数据处理方法及装置 | |
JP2024516119A (ja) | セキュアなセンサデータ配信 | |
US20240152888A1 (en) | Universal payment channel | |
CN113221165B (zh) | 一种基于区块链的用户要素认证方法及装置 | |
CN113259464B (zh) | 组建区块链子网的方法和区块链系统 | |
CN116451280A (zh) | 基于区块链的资产管理方法和装置 | |
CN113765674B (zh) | 一种基于区块链的跨平台注册方法及装置 | |
CN111555870B (zh) | 一种密钥运算方法及装置 | |
CN113315758A (zh) | 信息代理方法和装置 | |
CN117882416A (zh) | 区块链密钥生成 | |
CN114331447B (zh) | 一种跨链消息提交方法及装置 | |
CN114866409B (zh) | 基于密码加速硬件的密码加速方法及装置 | |
EP4107643B1 (en) | Methods, module and blockchain for distributed public keystore | |
CN112835976A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |