CN110837633B - 智能凭证实现方法、***及可读存储介质 - Google Patents
智能凭证实现方法、***及可读存储介质 Download PDFInfo
- Publication number
- CN110837633B CN110837633B CN201910982638.2A CN201910982638A CN110837633B CN 110837633 B CN110837633 B CN 110837633B CN 201910982638 A CN201910982638 A CN 201910982638A CN 110837633 B CN110837633 B CN 110837633B
- Authority
- CN
- China
- Prior art keywords
- credential
- data
- server
- certificate
- voucher
- 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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种智能凭证实现方法,应用于M个凭证服务器中,其中,M为大于2的整数,包括:接收客户终端发送的凭证请求;根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;将所述智能准入凭证返回给所述客户终端。
Description
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种智能凭证实现方法、***及可读存储介质。
背景技术
随着互联网技术的飞速发展,使得凭证数据在互联网中应用也越来越多,现有的凭证数据***凭证数据服务方和凭证数据的客户方,其中,凭证数据服务方是用于进行计算、验证、管理和存储凭证数据的机构,是整个***的核心;凭证数据的客户,即使用凭证数据的客户方,为凭证数据服务方的合作伙伴,需要借助凭证来完成日常运营工作,上述凭证数据***的运行逻辑为传统的C-S模式,即由客户方提出验证商户请求,服务方收到请求凭证后,由服务方对凭证进行计算、验证并把所有结果数据补充后返回给客户方。
发明内容
本说明书实施例提供了一种智能凭证实现方法、***及可读存储介质,能够有效提高凭证数据的安全性能。
本说明书实施例第一方面提供了一种智能凭证实现方法,应用于M个凭证服务器中,其中,M为大于2的整数,包括:
接收客户终端发送的凭证请求;
根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
将所述智能准入凭证返回给所述客户终端。
本说明书实施例第二方面提供了一种智能凭证实现设备,包括M个凭证服务器,其中,M为大于2的整数,包括:
接收单元,用于接收客户终端发送的凭证请求;
凭证生成单元,用于根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
凭证发送单元,将所述智能准入凭证返回给所述客户终端。
本说明书实施例第三方面还提供了一种智能凭证实现***,包括由M个凭证服务器组成的凭证联盟和客户终端,其中,M为大于2的整数,包括:
所述客户终端,用于生成凭证请求,并将所述凭证请求发送给所述M个凭证服务器;
所述凭证联盟,用于接收所述凭证请求,根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;将所述智能准入凭证返回给所述客户终端;
所述客户终端,用于接收所述智能准入凭证。
本说明书实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述智能凭证实现方法的步骤。
本说明书实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述智能凭证实现方法的步骤。
本说明书实施例的有益效果如下:
基于上述技术方案,根据凭证请求,从M个凭证服务器中确定用于响应凭证请求的N个凭证服务器,并获取N个凭证服务器响应凭证请求而生成的智能准入凭证,然后将智能准入凭证返回给客户终端;而智能准入凭证是基于N个凭证数据而生成的,使得客户终端根据智能准入凭证而推导出N个凭证数据中每个凭证数据的具体值的概率极低,在客户终端推导出每个凭证数据的具体值极低的情况下,使得每个凭证数据相对于客户终端来讲其保密性能极高,如此,能够有效提高凭证数据的安全性能。
附图说明
图1为本说明书实施例中智能凭证实现***的整体架构图;
图2为本说明书实施例中M个凭证服务器和多个客户终端的连接结构图;
图3为本说明书实施例中M个凭证服务器和客户终端数据交互的结构示意图;
图4为本说明书实施例中智能凭证实现方法的方法流程图;
图5为本说明书实施例中智能凭证实现设备的结构示意图;
图6为本说明书实施例中电子设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,如图1所示,本说明书实施例提供一种安全多方计算的智能凭证实现***,包括:客户终端100和由M个凭证服务器组成的凭证联盟200,每个凭证服务器中存储自身的公钥和私钥,其中,M为大于2的整数;
客户终端100,用于生成凭证请求,并将所述凭证请求发送给凭证联盟200;
凭证联盟200,用于接收所述凭证请求,根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,并将所述智能准入凭证返回给客户终端100,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数。
此时,可以所述N个凭证服务器中一个或多个凭证服务器获取到所述N个凭证数据,然后再根据所述N个凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证可以是N个凭证数据之和、之差、乘积和除积等,本说明书不作具体限制。
具体来讲,在一个或多个凭证服务器获取到所述N个凭证数据时,可以通过共享的方式进行实现,此时,凭证数据在通过共享的方式进行实现时,可以使得凭证数据在传输过程中不进行加密;当然,为了提高凭证数据的保密性能,也可以使得凭证数据在传输过程中进行加密,此时,每个凭证服务器中保存有其它凭证服务器的公钥。例如,参见图3,若凭证服务器C将自身计算出的凭证数据传递给A时,可以使用A的公钥对C计算出的凭证数据进行加密后传输给A。
例如参见图3,若所述N个凭证服务器为A、B、C和D,可以将B、C和D各自生成的凭证数据发送给A,A根据自身生成的凭证数据和接收到3个凭证数据相加,得到4个凭证数据之和并其作为所述智能准入凭证然后发送给客户终端100;此时,由于客户终端100接收到的是4个凭证数据之和,并不能获得所述N个凭证服务器中的任意一个凭证服务器的计算结果,能够有效降低任意一个凭证服务器的计算结果泄露给客户方的概率,使得每个凭证服务器的计算结果的保密性能更好,降低了客户方即使通过穷举攻击也不能获取其它客户方的智能准入凭证的概率。
本说明书实施例中,M个凭证服务器中,每个凭证服务器对应一个凭证服务方,其中,每个凭证服务器可以由一个或多个服务器组成,本说明书不作具体限制。
本说明书实施例中,凭证联盟200中的每个凭证服务器均可以对应一个或多个客户终端100,使得凭证联盟200能够为多个客户终端100提供凭证服务。
本说明书实施例中,客户终端100例如可以是智能手机、笔记本电脑、台式电脑、一体机和智能手表等终端;凭证服务器例如可以是笔记本电脑、台式电脑、一体机和服务器等电子设备,本说明书不作具体限制。
本说明书实施例中,如图2所示,凭证联盟200由凭证服务器A、凭证服务器B、凭证服务器C、凭证服务器D和凭证服务器E这5个凭证服务器组成,上述5个凭证服务器中的每个凭证服务器可以对应一个或多个客户终端。
具体地,参见图2,A对应的4个客户终端,分别为客户终端20、客户终端21、客户终端22和客户终端23,以及D对应2个客户终端,分别为客户终端24和客户终端25,其中,每个客户终端对应一个客户方。
此时,上述5个凭证服务器中每个凭证服务器均使用非对称加密算法,且有自身的公钥和私钥,每个凭证服务器将自身的公钥通过广播等传输方式发送给凭证联盟中的所有凭证服务器,使得每个凭证服务器中均存储有所有凭证服务器的公钥。
本说明书实施例中,由于智能准入凭证是基于N个凭证数据而生成的,且N个凭证数据为N个凭证服务器用于响应所述凭证请求而生成的,而返回给客户终端的是智能准入凭证,使得客户终端根据智能准入凭证推导出N个凭证数据的概率极低,进而促使客户终端并不能根据智能准入凭证而获取到N个凭证数据中每个凭证数据的具体值,在客户终端推导出每个凭证数据的具体值极低的情况下,使得每个凭证数据相对于客户终端来讲其保密性能极高,如此,能够有效提高凭证数据的安全性能。
本说明书实施例中,凭证联盟200接收到所述凭证请求之后,再根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;
凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;
凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;
凭证联盟200,若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,用于将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;
凭证联盟200,用于在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
本说明书实施例中,所述第1凭证服务器为所述服务器排序中首个响应所述凭证请求的凭证服务器。
具体来讲,在对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据时,可以通过随机数对所述第1凭证数据进行掩盖,也可以将所述第1凭证数据乘以固定值进行掩盖,所述固定值可以由所述第1凭证服务器或凭证联盟200或用户自行设定,本说明书不作具体限制。
例如,参见图3,若凭证联盟200中的一个服务方的客户方发起凭证请求,若响应所述凭证请求的第1凭证服务器为凭证服务器A,客户方为ClieNt对应客户终端20其id为mid;A收到凭证请求后,首先利用本地的凭证算法和数据,计算出ID为mid的商户得分记为ScoreA,然后将ScoreA乘以固定值为10,得到10ScoreA(第1凭证掩盖数据),若下一个响应凭证请求的凭证服务器为B,则将10ScoreA发送给B。
其中,B接收到10ScoreA之后,在B中生成ScoreB,然后计算出(10ScoreA+ScoreB),若下一个凭证服务器为C,则将(10ScoreA+ScoreB)发送给C;
其次,C接收到(10ScoreA+ScoreB)之后,在C中生成ScoreC,然后计算出(10ScoreA+ScoreB+ScoreC),若下一个凭证服务器为A,则将(10ScoreA+ScoreB+ScoreC)发送给A;
最后,A接收到(10ScoreA+ScoreB+ScoreC)之后,计算出(10ScoreA+ScoreB+ScoreC)-10ScoreA+ScoreA=(ScoreA+ScoreB+ScoreC),将(ScoreA+ScoreB+ScoreC)发送给客户终端20。
此时,凭证联盟200中3个或3个以上的凭证服务器响应凭证请求,然后将响应凭证请求的3个或3个以上的计算结果之和或乘积等智能准入凭证返回给客户方,使得客户方仅能获得上述计算结果之和,而不能获得凭证联盟中任意一个凭证服务器的计算结果,能够有效降低任意一个凭证服务器的计算结果泄露给客户方的概率,使得每个凭证服务器的计算结果的保密性能更好,降低了客户方即使通过穷举攻击也不能获取其它客户方的智能准入凭证的概率。
而且,若客户方获取到其它客户方的ID之后,根据其它客户方的ID,可以根据凭证请求从凭证联盟中获取其它客户方的智能准入凭证,能够有效提高智能准入凭证可查询的客户方群体增多。
另外,当凭证联盟中存在至少3个凭证服务器未发生故障时,若接收到客户方的凭证请求,可以使用至少3个凭证服务器响应凭证请求,生成对应的智能准入凭证并返回给客户方,使得智能凭证实现***仍可正常提供服务,能够有效提高智能凭证实现***的可用性。
本说明书实施例中,凭证联盟200接收到所述凭证请求之后,再根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;
凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据和随机数,使用第1加密秘钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据,并将所述第1凭证加密数据发送给所述第2凭证服务器,其中,所述第1凭证掩盖数据是根据所述第1凭证数据和所述随机数得到的,所述第1加密秘钥包括所述第2凭证服务器的公钥;
凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,使用第K加密秘钥对第K凭证掩盖数据进行加密,得到第K凭证加密数据;
凭证联盟200,若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,用于将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;
凭证联盟200,若所述第K凭证服务器为第N凭证服务器时,用于将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;
凭证联盟200,用于在所述第1凭证服务器接收到所述第N凭证加密数据之后,通过所述第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到所述第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
本说明书实施例中,凭证联盟200,用于在确定第1凭证服务器之后,第1凭证服务器响应所述凭证请求,在第1凭证服务器中生成第1凭证数据和随机数,可以使用第2凭证服务器的公钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据并将其发送给第2凭证服务器,其中,第1凭证掩盖数据可以是第1凭证数据和随机数之和,也可以是第1凭证数据和随机数的乘积,还可以是第1凭证数据和随机数的除积,还可以凭证数据和随机数之和的对数等,本说明书不作具体限制。
具体来讲,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据,使用所述第(K+1)凭证服务器的公钥对所述第K掩盖加密数据进行加密,得到所述第K凭证加密数据并将其发送给所述第(K+1)凭证服务器,其中,所述第K掩盖加密数据是根据第K凭证数据和第(K-1)凭证掩盖数据得到的;
其中,K依次从2取到(N-1),直至第N凭证服务器响应所述凭证请求,通过所述第N凭证数据服务器接收第(N-1)凭证服务器发送的第(N-1)凭证加密数据,使用第N凭证服务器的私钥对所述第(N-1)凭证加密数据进行解密,得到第(N-1)凭证掩盖数据;在所述第N凭证服务器中生成第N凭证数据,使用所述第1凭证服务器的公钥对所述第N掩盖加密数据进行加密,得到所述第N凭证加密数据并将其发送给所述第1凭证服务器,其中,所述第N掩盖加密数据是根据第N凭证数据和第(N-1)凭证掩盖数据得到的;
在所述第1凭证服务器接收到所述第N凭证加密数据之后,使用第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
例如,参见图3,若凭证联盟200中的一个服务方的客户方发起凭证请求,若响应所述凭证请求的第1凭证服务器为凭证服务器A,客户方为ClieNt对应客户终端20其id为mid;A收到凭证请求后,首先利用本地的凭证算法和数据,计算出ID为mid的商户得分记为ScoreA,生成一个大随机数RaNdom,若下一个响应凭证请求的凭证服务器为B,则使用B的公钥加密(ScoreA+RaNdom),得到第1凭证加密数据然后将其发送给B。
其中,B接收到第1凭证加密数据之后,然后使用B的私钥对第1凭证加密数据解密,得到(ScoreA+RaNdom);在B中生成ScoreB,然后计算出(ScoreA+ScoreB+Random),若下一个凭证服务器为C,则使用C的公钥加密(ScoreA+ScoreB+Random),得到第2凭证加密数据然后将其发送给C;
其次,C接收到第2凭证加密数据之后,然后使用C的私钥对第2凭证加密数据解密,得到(ScoreA+ScoreB+Random);在C中生成ScoreC,然后计算出(ScoreA+ScoreB+ScoreC+Random),若下一个凭证服务器为A,则使用A的公钥加密(ScoreA+ScoreB+ScoreC+Random),得到第3凭证加密数据然后将其发送给A;
最后,A接收到第3凭证加密数据之后,然后使用C的私钥对第3凭证加密数据解密,得到(ScoreA+ScoreB+ScoreC+Random),根据A中的Random,计算出(ScoreA+ScoreB+ScoreC+Random)-Random=(ScoreA+ScoreB+ScoreC),将(ScoreA+ScoreB+ScoreC)发送给客户终端20。
此时,凭证联盟200中3个或3个以上的凭证服务器响应凭证请求,然后将响应凭证请求的3个或3个以上的计算结果之和(即智能准入凭证)返回给客户方,使得客户方仅能获得上述计算结果之和,而不能获得凭证联盟中任意一个凭证服务器的计算结果,能够有效降低任意一个凭证服务器的计算结果泄露给客户方的概率,使得每个凭证服务器的计算结果的保密性能更好,降低了客户方即使通过穷举攻击也不能获取其它客户方的智能准入凭证的概率。
而且,若客户方获取到其它客户方的ID之后,根据其它客户方的ID,可以根据凭证请求从凭证联盟中获取其它客户方的智能准入凭证,能够有效提高智能准入凭证可查询的客户方群体增多。
另外,当凭证联盟中存在至少3个凭证服务器未发生故障时,若接收到客户方的凭证请求,可以使用至少3个凭证服务器响应凭证请求,生成对应的智能准入凭证并返回给客户方,使得智能凭证实现***仍可正常提供服务,能够有效提高智能凭证实现***的可用性。
本说明书实施例中,凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥和所述第1凭证掩盖数据加密,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
本说明书实施例中,第1凭证掩盖数据可以是第1凭证数据和随机数之和,也可以是第1凭证数据和随机数的乘积,还可以是第1凭证数据和随机数的除积,还可以凭证数据和随机数之和的对数等,本说明书不作具体限制。
具体来讲,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)掩盖加密数据和第(K-1)对称秘钥;使用第(K-1)对称秘钥对第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第k对称秘钥,使用第K对称秘钥对第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用第(K+1)凭证服务器的公钥对第K对称秘钥和第K凭证掩盖数据加密,得到第K凭证加密数据。
凭证联盟200,若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,用于将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;
凭证联盟200,若所述第K凭证服务器为第N凭证服务器时,用于将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;
在第1凭证服务器接收到第N凭证加密数据之后,使用第1凭证服务器的私钥对第N凭证加密数据进行解密,得到第N掩盖加密数据和第N对称秘钥;使用第N对称秘钥对第N掩盖加密数据进行解密,得到第N凭证掩盖数据;根据第N凭证掩盖数据和随机数,得到智能准入凭证,其中,智能准入凭证是根据第1凭证数据至第N凭证数据生成的。
例如,参见图3,若凭证联盟200中的一个服务方的客户方发起凭证请求,若响应所述凭证请求的第1凭证服务器为凭证服务器A,客户方为ClieNt对应客户终端20其id为mid;A收到凭证请求后,首先利用本地的凭证算法和数据,计算出ID为mid的商户得分记为ScoreA,生成一个大随机数RaNdom和生成一条对称加密密钥keyAB,然后利用keyAB加密(ScoreA+RaNdom),得到加密后的(ScoreA+RaNdom)用(ScoreA+RaNdom)-表示;若下一个响应凭证请求的凭证服务器为B,则使用B公钥加密(ScoreA+RaNdom)-和keyAB,得到第1凭证加密数据然后将其发送给B;
其中,B接收到第1凭证加密数据之后,然后使用B的私钥对第1凭证加密数据解密,得到(ScoreA+RaNdom)-和keyAB,再使用keyAB对(ScoreA+RaNdom)-进行解密,得到(ScoreA+RaNdom);在B中生成ScoreB和keyBC,然后计算出(ScoreA+ScoreB+Random),利用keyBC加密(ScoreA+ScoreB+Random),得到(ScoreA+ScoreB+Random)-;若下一个凭证服务器为C,则使用C的公钥加密(ScoreA+ScoreB+Random)-和keyBC,得到第2凭证加密数据然后将其发送给C;
其次,C接收到第2凭证加密数据之后,然后使用C的私钥对第2凭证加密数据解密,得到(ScoreA+ScoreB+Random)-和keyBC,再使用keyBC对(ScoreA+ScoreB+Random)-行解密,得到(ScoreA+ScoreB+Random);在C中生成ScoreC和keyCA,然后计算出(ScoreA+ScoreB+ScoreC+Random),利用keyCA加密(ScoreA+ScoreB+ScoreC+Random),得到(ScoreA+ScoreB+ScoreC+Random)-;若下一个凭证服务器为A,则使用A的公钥加密(ScoreA+ScoreB+ScoreC+Random)-和keyBC,得到第3凭证加密数据然后将其发送给A;
最后,A接收到第3凭证加密数据之后,然后使用A的私钥对第3凭证加密数据解密,得到(ScoreA+ScoreB+ScoreC+Random)-和keyCA,再使用keyCA对(ScoreA+ScoreB+ScoreC+Random)-行解密,得到(ScoreA+ScoreB+ScoreC+Random,根据A中的Random,计算出(ScoreA+ScoreB+ScoreC+Random)-Random=(ScoreA+ScoreB+ScoreC),将(ScoreA+ScoreB+ScoreC)发送给客户终端20。
此时,上述步骤中每一步骤中的均通过随机数对凭证服务器计算出的凭证数据进行掩盖,使得每个凭证服务器获取到的数据均包含了有随机数,而随机数仅有第1凭证服务器知道真实结果,使得后续的每个凭证服务器均不能了解其它凭证服务器计算出的凭证数据的真实结果,而当第1凭证服务器接收到最后返回的组合信息之后,由于组合信息中包含了至少两个凭证服务器计算出的凭证数据,使得第1凭证服务器根据自身计算出的凭证数据和随机数,还原出至少两个凭证服务器计算出的凭证数据的真实结果的概率极低,从而能够有效降低每个凭证服务器获取到其它凭证服务器计算出的凭证数据的真实结果的概率,进而确保每个凭证服务器计算出的凭证数据的私密性。
另外,凭证联盟200中3个或3个以上的凭证服务器响应凭证请求,然后将响应凭证请求的3个或3个以上的计算结果之和、之差或乘积(即智能准入凭证)返回给客户方,使得客户方仅能获得上述计算结果之和,而且每个凭证服务器计算出的凭证数据相对于其它凭证服务器均是保密的,进而使得客户方不能获得凭证联盟中任意一个凭证服务器的计算结果,能够有效降低任意一个凭证服务器的计算结果泄露给客户方的概率,使得每个凭证服务器的计算结果的保密性能更好,降低了客户方即使通过穷举攻击也不能获取其它客户方的智能准入凭证的概率。
而且,若客户方获取到其它客户方的ID之后,根据其它客户方的ID,可以根据凭证请求从凭证联盟中获取其它客户方的智能准入凭证,能够有效提高智能准入凭证可查询的客户方群体增多。
进一步的,当凭证联盟中存在至少3个凭证服务器未发生故障时,若接收到客户方的凭证请求,可以使用至少3个凭证服务器响应凭证请求,生成对应的智能准入凭证并返回给客户方,使得智能凭证实现***仍可正常提供服务,能够有效提高智能凭证实现***的可用性。
本说明书实施例中,凭证联盟200,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥加密,得到第1秘钥加密数据;根据所述第1掩盖加密数据和所述1秘钥加密数据,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
具体来讲,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据中的第(K-1)秘钥加密数据进行解密,得到第(K-1)对称秘钥;使用所述第(K-1)对称秘钥对所述第(K-1)凭证加密数据中的第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第K对称秘钥,使用所述第K对称秘钥对所述第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用所述第(K+1)凭证服务器的公钥对所述第K对称秘钥加密,得到第K秘钥加密数据;根据所述第K掩盖加密数据和所述K秘钥加密数据,得到所述第K凭证加密数据;
凭证联盟200,若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,用于将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;
凭证联盟200,若所述第K凭证服务器为第N凭证服务器时,用于将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;
在所述第1凭证服务器接收到所述第N凭证加密数据之后,使用所述第1凭证服务器的私钥对所述第N凭证加密数据中的第N秘钥加密数据进行解密,得到第N对称秘钥;使用所述第N对称秘钥对所述第N凭证加密数据中的第N掩盖加密数据进行解密,得到第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
本说明书实施例中,所述N个凭证服务器组成一个凭证联盟,每个凭证服务器采用非对称加密算法,每个凭证服务器中存储属于自身的公钥和私钥,以及每个凭证服务器中存储有凭证联盟中所有凭证服务器的公钥。
本说明书实施例提供的智能凭证实现***包括由M个凭证服务器组成的凭证联盟和凭证客户方,其中,凭证联盟具体用于计算、验证、管理和存储凭证数据,凭证联盟内的各方凭证服务器都不需要存在数据和计算能力的共享;而凭证客户方具体为使用凭证数据的客户终端,是凭证联盟内其中一个凭证服务器的合作伙伴,需要借助凭证数据来完成日常运营工作,在实际应用过程中,所述凭证客户方例如是一些收单方、中小企业和银行机构等。
具体来讲,如图3所示,智能凭证实现***包括由凭证服务器A、凭证服务器B、凭证服务器C、凭证服务器D和凭证服务器E组成的凭证联盟200和多个客户终端,其中,上述5个凭证服务器都拥有属于自身的公钥和私钥,用于后续的加解密操作,每个凭证服务器使用的均是非对称加密算法,非对称加密的私钥由各方独自保管,所有公钥公开给凭证联盟中的所有成员;如此,所述M个凭证服务器中的每个凭证服务器中存储自身的私钥,且每个凭证服务器中存储有所述M个凭证服务器中每个凭证服务器的公钥。
本说明书实施例中,上述5个凭证服务器中的每个凭证服务器均对应一个凭证服务方,以及每个凭证服务器均可以由1个或1个以上的服务器组成,本说明书不作具体限制。
具体地,继续参见图3,当智能凭证实现***接收到客户方发起的凭证请求之后,凭证数据***开始运行,从上述5个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,在N=5时,其具体实现步骤包括步骤S1-S7,具体如下:
步骤S1:首先,联盟中的一个服务方的客户方发起凭证请求,不妨先假设被请求的凭证服务器为A,客户方为Client对应客户终端20其id为mid,则S1的过程可以用符号表示如下:
Client→A:querymid
其中,querymid表示需要请求id为mid的客户方的智能准入凭证;
步骤S2:凭证服务器A收到凭证请求后,首先利用本地的凭证算法和数据,计算出ID为mid的商户得分记为ScoreA,生成一个大随机数Random,生成一条对称加密密钥keyAB,然后利用keyAB加密ScoreA+Random,然后选定一个凭证服务器(假设为B)使用其公钥加密对称密钥keyAB,然后发送B,符号可以表示为:
步骤S3:凭证服务器B收到A发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyAB,然后利用keyAB,解密获得ScoreA+Random,由于大随机数的存在,B不知道A的计算结果的具体值;然后B利用本地的凭证算法和数据,计算id为mid的商户在其本地的得分记为ScoreB,然后根据解密的ScoreA+Random,计算出ScoreA+ScoreB+Random,然后选定一个其他成员(假设为C)生成keyBC进行对称加密,然后使用C的公钥对keyBC进行加密,组合信息后发送给C采用符号表示为:
步骤S4:凭证服务器C收到B发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyBC,然后利用keyBC,解密获得ScoreA+ScoreB+Random,由于大随机数的存在,C不知道A、B的计算结果的具体值;然后C利用本地的凭证算法和数据,计算id为mid的商户在其本地的得分记为ScoreC,然后根据解密的ScoreA+ScoreB+Random,计算ScoreA+ScoreB+ScoreC+Random,然后选定一个其他成员(假设为D)生成keyCD进行对称加密,然后使用D的公钥对keyCD进行加密,组合信息后发送给D采用符号表示为:
步骤S5:凭证服务器D收到C发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyCD,然后利用keyCD,解密获得ScoreA+ScoreB+ScoreC+Random,由于大随机数的存在,D不知道A、B和C的计算结果的具体值;然后C利用本地的凭证算法和数据,计算id为mid的商户在其本地的得分记为ScoreD,并根据解密得到的解密获得ScoreA+ScoreB+ScoreC+Random,计算出ScoreA+ScoreB+ScoreC+ScoreD+Random,然后选定一个其他成员(假设为E)生成keyDE进行对称加密,然后使用E的公钥对keyDE进行加密,组合信息后发送给E采用符号表示为:
步骤S6:凭证服务器E收到D发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyDE,然后利用keyDE,解密获得ScoreA+ScoreB+ScoreC+ScoreD+Random,由于大随机数的存在,E不能知道A、B、C和D的计算结果的具体值;然后E利用本地的凭证算法和数据,计算id为mid的商户在其本地的得分记为ScoreE,并根据解密获得ScoreA+ScoreB+ScoreC+ScoreD+Random,计算出ScoreA+ScoreB+ScoreC+ScoreD+ScoreE+Rando;此时,由于凭证联盟里所有凭证服务器已完成投票,需要将凭证联盟的计算结果返回给A,因此生成keyEA进行对称加密,然后使用A的公钥对keyEA进行加密,组合信息后发送给A采用符号表示为:
步骤S7:凭证服务器A收到E发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyEA,然后利用keyEA,解密获得ScoreA+ScoreB+ScoreC+ScoreD+ScoreE+Random,然后利用之前生成的大随机数Random,两者相减,则可以得到客户方的智能准入凭证为:
ScoreA+ScoreB+ScoreC+ScoreD+ScoreE
最后,A将通过步骤S7获取的智能准入凭证返回给客户方Client,此时,由于A仅能知道其余成员计算结果的和,并不知道ScoreB、ScoreC、ScoreD和ScoreE的具体值,所以在智能准入凭证的计算过程中,对于所有凭证服务器来说都是不知道其它凭证服务器的计算结果,有效提高了响应凭证请求的每个凭证服务器的计算结果的保密性能,从而实现了安全多方计算的分布式智能准入凭证。
本说明书实施例中,对S0-S7中使用的数学符号进行简单的约定和描述:
SEncrypt(msg,key)指对明文msg利用密钥key进行某种对称加密算法加密后的输出结果;
SDecrypt(msg,key)指对明文msg利用密钥key进行某种对称加密算法的密文解密后的输出结果;
AEncrypt(msg,key)指对明文msg利用密钥key进行某种非对称加密算法加密后的输出结果;
ADecrypt(msg,key)指对明文msg利用密钥key进行某种非对称加密算法的密文解密后的输出结果;
Hash(msg)指对明文msg进行哈希算法压缩后的输出结果;
keyx指某次对称加密的密钥;
Random指***运行时的一次生成的随机数;
A→B指实体A向实体B发送一个消息。
本说明书实施例中,非对称加密算法例如可以是RSA、Elgamal、背包算法、Rabin、D-H和ECC(椭圆曲线加密算法)等,对称加密算法例如可以是DES(Data EncryptionStandard)、3DES(Triple DES)和AES(Advanced Encryption Standard)等。
具体地,在n=4时,其具体实现步骤包括步骤S11-S16,具体如下:
步骤S11:首先,凭证联盟中的一个凭证服务器的客户方发起凭证请求,不妨先假设被请求的凭证服务器为B,客户方为Client其id为mid,则S11的过程可以用符号表示如下:
Client→B:querymid
其中,querymid表示需要请求id为mid的客户方的智能准入凭证;
步骤S12:凭证服务器B收到凭证请求后,首先利用本地的凭证算法和数据,计算出ID为mid的商户得分记为ScoreB,生成一个大随机数Random,生成一条对称加密密钥keyBA,然后利用keyBA加密ScoreB+Random,然后选定一个凭证服务器(假设为A)使用其公钥加密对称密钥keyBA,然后发送给A,符号可以表示为:
步骤S13:凭证服务器A收到B发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyBA,然后利用keyBA,解密获得ScoreB+Random,由于大随机数的存在,A不知道B的计算结果的具体值;然后A利用本地的凭证算法和数据,计算id为mid的客户方在其本地的得分记为ScoreA,然后根据解密的ScoreB+Random,计算出ScoreA+ScoreB+Random,然后选定一个其他成员(假设为C)生成keyAC进行对称加密,然后使用C的公钥对keyAC进行加密,组合信息后发送给C采用符号表示为:
步骤S14:凭证服务器C收到A发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyAC,然后利用keyAC,解密获得ScoreA+ScoreB+Random,由于大随机数的存在,C不知道A、B的计算结果的具体值;然后C利用本地的凭证算法和数据,计算id为mid的客户方在其本地的得分记为ScoreC,然后根据解密的ScoreA+ScoreB+Random,计算ScoreA+ScoreB+ScoreC+Random,然后选定一个其他成员(假设为D)生成keyCD进行对称加密,然后使用D的公钥对keyCD进行加密,组合信息后发送给D采用符号表示为:
步骤S15:凭证服务器D收到C发送的组合信息后,首先利用自己的私钥对解密,获得对称加密密钥keyCD,然后利用keyCD,解密获得ScoreA+ScoreB+ScoreC+Random,由于大随机数的存在,D不知道A、B和C的计算结果的具体值;然后D利用本地的凭证算法和数据,计算id为mid的商户在其本地的得分记为ScoreD,并根据解密得到的解密获得ScoreA+ScoreB+ScoreC+Random,计算ScoreA+ScoreB+ScoreC+ScoreD+Random;此时,由于N=4,凭证联盟中有4个凭证服务器已完成投票,需要将计算得到结果返回给A,因此生成keyDA进行对称加密,然后使用A的公钥对keyDA进行加密,组合信息后发送给A采用符号表示为:
步骤S16:凭证服务器A收到D发送的组合信息之后,首先利用自己的私钥对解密,获得对称加密密钥keyDA,然后利用keyDA,解密获得ScoreA+ScoreB+ScoreC+ScoreD+Random,然后利用之前生成的大随机数Random,两者相减,则可以得到客户方Client的智能准入凭证为:
ScoreA+ScoreB+ScoreC+ScoreD
最后,A将步骤S16获取的凭证数据返回给客户方Client,此时由于A只知道其余成员计算结果的和,并不知道ScoreB、ScoreC和ScoreD的具体值,所以这个过程对于所有凭证服务器来说,每个凭证服务器仅能知道自身的计算结果,而不知道其它凭证服务器的计算结果,促使每个凭证服务器的计算结果相对于其它凭证服务器均是保密的,从而实现了安全多方计算的分布式智能准入凭证。
本说明书实施例中,客户方Client的智能准入凭证不仅可以为N个凭证服务器的计算结果之和,还可以为N个凭证服务器的计算结果的乘积,还可以为N个凭证服务器的计算结果的对数等,本说明书不作具体限制。
例如,客户方Client的智能准入凭证为N个凭证服务器的计算结果的乘积时,参考步骤S1-S7,A接收D发送的组合信息,进行解密后获得ScoreA×ScoreB×ScoreC×ScoreD×ScoreE×Random,然后利用之前生成的大随机数Random,两者相除,则可以得到
ScoreA×ScoreB×ScoreC×ScoreD×ScoreE
最后,A将上述计算结果作为智能准入凭证返回给客户方Client。
本说明书实施例中,所述凭证算法例如可以是哈希算法和HMAC算法等,本说明书不作具体限制。
此时,上述步骤中每一步骤中的均通过随机数对凭证服务器计算出的凭证数据进行掩盖,使得每个凭证服务器获取到的数据均包含了有随机数,而随机数仅有第1凭证服务器知道真实结果,使得后续的每个凭证服务器均不能了解其它凭证服务器计算出的凭证数据的真实结果,而当第1凭证服务器接收到最后返回的组合信息之后,由于组合信息中包含了至少两个凭证服务器计算出的凭证数据,使得第1凭证服务器根据自身计算出的凭证数据和随机数,还原出至少两个凭证服务器计算出的凭证数据的真实结果的概率极低,从而能够有效降低每个凭证服务器获取到其它凭证服务器计算出的凭证数据的真实结果的概率,进而确保每个凭证服务器计算出的凭证数据的私密性。
另外,凭证联盟200中3个或3个以上的凭证服务器响应凭证请求,然后将响应凭证请求的3个或3个以上的计算结果之和、之差或乘积(即智能准入凭证)返回给客户方,使得客户方仅能获得上述计算结果之和,而且每个凭证服务器计算出的凭证数据相对于其它凭证服务器均是保密的,进而使得客户方不能获得凭证联盟中任意一个凭证服务器的计算结果,能够有效降低任意一个凭证服务器的计算结果泄露给客户方的概率,使得每个凭证服务器的计算结果的保密性能更好,降低了客户方即使通过穷举攻击也不能获取其它客户方的智能准入凭证的概率。
而且,若客户方获取到其它客户方的ID之后,根据其它客户方的ID,可以根据凭证请求从凭证联盟中获取其它客户方的智能准入凭证,能够有效提高智能准入凭证可查询的客户方群体增多。
进一步的,当凭证联盟中存在至少3个凭证服务器未发生故障时,若接收到客户方的凭证请求,可以使用至少3个凭证服务器响应凭证请求,生成对应的智能准入凭证并返回给客户方,使得智能凭证实现***仍可正常提供服务,能够有效提高智能凭证实现***的可用性。
第二方面,基于与第一方面的同一发明构思,本说明书实施例提供一种智能凭证实现方法,应用于M个凭证服务器中,其中,M为大于2的整数,如图4所示,包括:
步骤S402、接收客户终端发送的凭证请求;
步骤S404、根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
步骤S406、将所述智能准入凭证返回给所述客户终端。
在一种可选的实施方式中,所述获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,包括:
根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;
根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;
根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;
若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;
若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;
在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
在一种可选的实施方式中,所述获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,包括:
根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;
根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据和随机数,使用第1加密秘钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据,并将所述第1凭证加密数据发送给所述第2凭证服务器,其中,所述第1凭证掩盖数据是根据所述第1凭证数据和所述随机数得到的,所述第1加密秘钥包括所述第2凭证服务器的公钥;
根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,使用第K加密秘钥对第K凭证掩盖数据进行加密,得到第K凭证加密数据,其中,K依次从2取到N;
若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;
若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;
在所述第1凭证服务器接收到所述第N凭证加密数据之后,通过所述第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到所述第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
在一种可选的实施方式中,所述根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,包括:
根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥加密,得到第1秘钥加密数据;根据所述第1掩盖加密数据和所述1秘钥加密数据,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
在一种可选的实施方式中,所述根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,包括:
若当前凭证服务器为第K凭证服务器,且所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据中的第(K-1)秘钥加密数据进行解密,得到第(K-1)对称秘钥;使用所述第(K-1)对称秘钥对所述第(K-1)凭证加密数据中的第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第K对称秘钥,使用所述第K对称秘钥对所述第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用所述第(K+1)凭证服务器的公钥对所述第K对称秘钥加密,得到第K秘钥加密数据;根据所述第K掩盖加密数据和所述K秘钥加密数据,得到所述第K凭证加密数据。
在一种可选的实施方式中,所述M个凭证服务器中的每个凭证服务器中存储自身的私钥,且每个凭证服务器中存储有所述M个凭证服务器中每个凭证服务器的公钥。
第三方面,基于与第一方面的同一发明构思,本说明书实施例提供一种智能凭证实现设备,包括M个凭证服务器,其中,M为大于2的整数,如图5所示,包括:
接收单元501,用于接收客户终端发送的凭证请求;
凭证生成单元502,用于根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
凭证发送单元503,将所述智能准入凭证返回给所述客户终端。
在一种可选的实施方式中,凭证生成单元502,用于用于根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
在一种可选的实施方式中,凭证生成单元502,用于根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据和随机数,使用第1加密秘钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据,并将所述第1凭证加密数据发送给所述第2凭证服务器,其中,所述第1凭证掩盖数据是根据所述第1凭证数据和所述随机数得到的,所述第1加密秘钥包括所述第2凭证服务器的公钥;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,使用第K加密秘钥对第K凭证掩盖数据进行加密,得到第K凭证加密数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;在所述第1凭证服务器接收到所述第N凭证加密数据之后,通过所述第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到所述第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
在一种可选的实施方式中,凭证生成单元502,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥加密,得到第1秘钥加密数据;根据所述第1掩盖加密数据和所述1秘钥加密数据,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
在一种可选的实施方式中,凭证生成单元502,用于根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第(N-1)凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据中的第(K-1)秘钥加密数据进行解密,得到第(K-1)对称秘钥;使用所述第(K-1)对称秘钥对所述第(K-1)凭证加密数据中的第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第K对称秘钥,使用所述第K对称秘钥对所述第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用所述第(K+1)凭证服务器的公钥对所述第K对称秘钥加密,得到第K秘钥加密数据;根据所述第K掩盖加密数据和所述K秘钥加密数据,得到所述第K凭证加密数据。
在一种可选的实施方式中,M个凭证服务器中的每个凭证服务器中存储自身的私钥,且每个凭证服务器中存储有所述M个凭证服务器中每个凭证服务器的公钥。
第四方面,基于与前述实施例中智能凭证实现方法同样的发明构思,本说明书实施例还提供一种电子设备,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述智能凭证实现方法的任一方法的步骤。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
第五方面,基于与前述实施例中智能凭证实现方法的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述智能凭证实现方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (13)
1.一种智能凭证实现方法,应用于M个凭证服务器中,其中,M为大于2的整数,包括:
接收客户终端发送的凭证请求;
根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
将所述智能准入凭证返回给所述客户终端;
其中,所述获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,包括:根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
2.如权利要求1所述的实现方法,所述获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,包括:
根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;
根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据和随机数,使用第1加密秘钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据,并将所述第1凭证加密数据发送给所述第2凭证服务器,其中,所述第1凭证掩盖数据是根据所述第1凭证数据和所述随机数得到的,所述第1加密秘钥包括所述第2凭证服务器的公钥;
根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,使用第K加密秘钥对第K凭证掩盖数据进行加密,得到第K凭证加密数据,其中,K依次从2取到N;
若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;
若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;
在所述第1凭证服务器接收到所述第N凭证加密数据之后,通过所述第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到所述第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
3.如权利要求2所述的方法,所述根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,包括:
根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥加密,得到第1秘钥加密数据;根据所述第1掩盖加密数据和所述1秘钥加密数据,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
4.如权利要求3所述的实现方法,所述根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,包括:
若当前凭证服务器为第K凭证服务器,且所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据中的第(K-1)秘钥加密数据进行解密,得到第(K-1)对称秘钥;使用所述第(K-1)对称秘钥对所述第(K-1)凭证加密数据中的第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第K对称秘钥,使用所述第K对称秘钥对所述第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用所述第(K+1)凭证服务器的公钥对所述第K对称秘钥加密,得到第K秘钥加密数据;根据所述第K掩盖加密数据和所述K秘钥加密数据,得到所述第K凭证加密数据。
5.如权利要求1-4任一项所述的实现方法,所述M个凭证服务器中的每个凭证服务器中存储自身的私钥,且每个凭证服务器中存储有所述M个凭证服务器中每个凭证服务器的公钥。
6.一种智能凭证实现设备,包括M个凭证服务器,其中,M为大于2的整数,包括:
接收单元,用于接收客户终端发送的凭证请求;
凭证生成单元,用于根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;
凭证发送单元,将所述智能准入凭证返回给所述客户终端;
其中,所述凭证生成单元,用于根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
7.如权利要求6所述的实现设备,所述凭证生成单元,用于根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据和随机数,使用第1加密秘钥对第1凭证掩盖数据进行加密,得到第1凭证加密数据,并将所述第1凭证加密数据发送给所述第2凭证服务器,其中,所述第1凭证掩盖数据是根据所述第1凭证数据和所述随机数得到的,所述第1加密秘钥包括所述第2凭证服务器的公钥;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据进行解密,得到第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,使用第K加密秘钥对第K凭证掩盖数据进行加密,得到第K凭证加密数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证加密数据发送给所述第(K+1)凭证服务器,其中,所述第K凭证掩盖数据是根据所述第(K-1)凭证掩盖数据和所述第K凭证数据得到的,所述第K加密秘钥包括所述第(K+1)凭证服务器的公钥;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证加密数据发送给所述第1凭证服务器,其中,所述第N凭证掩盖数据是根据所述第(N-1)凭证掩盖数据和所述第N凭证数据得到的,所述第N加密秘钥包括所述第1凭证服务器的公钥;在所述第1凭证服务器接收到所述第N凭证加密数据之后,通过所述第1凭证服务器的私钥对所述第N凭证加密数据进行解密,得到所述第N凭证掩盖数据;根据所述第N凭证掩盖数据和所述随机数,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的。
8.如权利要求7所述的实现设备,所述凭证生成单元,用于根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据、随机数和第1对称秘钥,使用所述第1对称秘钥对所述第1凭证掩盖数据进行加密,得到第1掩盖加密数据;使用所述第2凭证服务器的公钥对所述第1对称秘钥加密,得到第1秘钥加密数据;根据所述第1掩盖加密数据和所述1秘钥加密数据,得到所述第1凭证加密数据并将其发送给所述第2凭证服务器,其中,所述第1加密秘钥包括所述第2凭证服务器的公钥和所述第1对称秘钥。
9.如权利要求8所述的实现设备,所述凭证生成单元,用于根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第(N-1)凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证加密数据,使用所述第K凭证服务器的私钥对所述第(K-1)凭证加密数据中的第(K-1)秘钥加密数据进行解密,得到第(K-1)对称秘钥;使用所述第(K-1)对称秘钥对所述第(K-1)凭证加密数据中的第(K-1)掩盖加密数据进行解密,得到第(K-1)凭证掩盖数据;在所述第K凭证服务器中生成第K凭证数据和第K对称秘钥,使用所述第K对称秘钥对所述第K凭证掩盖数据进行加密,得到第K掩盖加密数据;使用所述第(K+1)凭证服务器的公钥对所述第K对称秘钥加密,得到第K秘钥加密数据;根据所述第K掩盖加密数据和所述K秘钥加密数据,得到所述第K凭证加密数据。
10.如权利要求6-9 任一项所述的实现设备,所述M个凭证服务器中的每个凭证服务器中存储自身的私钥,且每个凭证服务器中存储有所述M个凭证服务器中每个凭证服务器的公钥。
11.一种智能凭证实现***,包括由M个凭证服务器组成的凭证联盟和客户终端,其中,M为大于2的整数,包括:
所述客户终端,用于生成凭证请求,并将所述凭证请求发送给所述M个凭证服务器;
所述凭证联盟,用于接收所述凭证请求,根据所述凭证请求,从所述M个凭证服务器中确定用于响应所述凭证请求的N个凭证服务器,并获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,其中,所述智能准入凭证是基于N个凭证数据而生成的,所述N个凭证数据为所述N个凭证服务器用于响应所述凭证请求而生成的,所述N个凭证数据与所述N个凭证服务器一一对应,N为大于2且不大于M的整数;将所述智能准入凭证返回给所述客户终端;所述获取所述N个凭证服务器响应所述凭证请求而生成的智能准入凭证,包括:根据所述凭证请求,确定所述N个凭证服务器用于响应所述凭证请求的服务器排序;根据所述服务器排序,在所述N个凭证服务器中的第1凭证服务器响应所述凭证请求过程中,在所述第1凭证服务器中生成第1凭证数据,对所述第1凭证数据进行掩盖,得到第1凭证掩盖数据,并将所述第1凭证掩盖数据发送给第2凭证服务器;根据所述服务器排序,在所述N个凭证服务器中的第2凭证服务器至第N凭证服务器依次响应所述凭证请求过程中,若当前凭证服务器为第K凭证服务器,接收第(K-1)凭证服务器发送的第(K-1)凭证掩盖数据;以及在所述第K凭证服务器中生成第K凭证数据,根据所述第(K-1)凭证掩盖数据和所述第K凭证数据,得到所述第K凭证掩盖数据,其中,K依次从2取到N;若所述第K凭证服务器为第2凭证服务器至第(N-1)凭证服务器中的任意一个凭证服务器时,将所述第K凭证掩盖数据发送给所述第(K+1)凭证服务器;若所述第K凭证服务器为第N凭证服务器时,将所述第N凭证掩盖数据发送给所述第1凭证服务器;在所述第1凭证服务器接收到所述第N凭证掩盖数据之后,根据所述第N凭证掩盖数据、所述第1凭证掩盖数据和所述第1凭证数据,得到所述智能准入凭证,其中,所述智能准入凭证是根据所述第1凭证数据至所述第N凭证数据生成的;
所述客户终端,用于接收所述智能准入凭证。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-5任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982638.2A CN110837633B (zh) | 2019-10-16 | 2019-10-16 | 智能凭证实现方法、***及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982638.2A CN110837633B (zh) | 2019-10-16 | 2019-10-16 | 智能凭证实现方法、***及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837633A CN110837633A (zh) | 2020-02-25 |
CN110837633B true CN110837633B (zh) | 2021-10-08 |
Family
ID=69575334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910982638.2A Active CN110837633B (zh) | 2019-10-16 | 2019-10-16 | 智能凭证实现方法、***及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837633B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1127593A1 (en) * | 2000-02-21 | 2001-08-29 | Jacob Hulleman | Voucher as well as method for issuing and collecting the voucher |
CN1532661A (zh) * | 2003-03-20 | 2004-09-29 | ������������ʽ���� | 信息提供以及用户验证设备、方法、程序和记录媒体 |
CN101243642A (zh) * | 2005-08-19 | 2008-08-13 | 三星电子株式会社 | 同时执行多个基于预共享密钥的认证的方法和执行该方法的设备 |
KR20090110400A (ko) * | 2008-04-18 | 2009-10-22 | (주)기즈모생각 | 인터넷을 통한 무료 및 할인쿠폰 발행 시스템 및 그 방법 |
CN102257505A (zh) * | 2008-12-28 | 2011-11-23 | 高通股份有限公司 | 用于提供经授权装置接入的设备和方法 |
CN103563290A (zh) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | 在公共加密体系结构服务中组合密钥控制信息 |
CN104392184A (zh) * | 2014-11-13 | 2015-03-04 | 北京海泰方圆科技有限公司 | 一种多级电子文件凭证生成和校验的方法 |
CN104995895A (zh) * | 2012-12-14 | 2015-10-21 | 微软技术许可有限责任公司 | 兼容扩展卸载令牌大小 |
CN106997532A (zh) * | 2016-01-22 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 电子凭证的核销方法、***及服务器 |
CN107026838A (zh) * | 2016-11-18 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种电子凭证的发放方法及装置 |
CN107230105A (zh) * | 2017-05-27 | 2017-10-03 | 上海非码网络科技有限公司 | 基于电子凭证收取消费款的方法、***、装置及服务器 |
CN107481140A (zh) * | 2017-07-24 | 2017-12-15 | 湖南搜云网络科技股份有限公司 | 凭证标识码处理方法及***、服务器及存储介质 |
WO2018014930A1 (en) * | 2016-07-18 | 2018-01-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Remote provision of a subscriber entity |
JP2018148293A (ja) * | 2017-03-02 | 2018-09-20 | 日本電信電話株式会社 | クレデンシャル生成システム及び方法、クライアント端末、サーバ装置、発行依頼装置、クレデンシャル発行装置並びにプログラム |
TWI668590B (zh) * | 2018-11-21 | 2019-08-11 | 中華電信股份有限公司 | 憑證有效性驗證系統及其方法 |
CN110197398A (zh) * | 2019-05-17 | 2019-09-03 | 口碑(上海)信息技术有限公司 | 电子券的信息处理方法及装置 |
CN110222799A (zh) * | 2019-04-28 | 2019-09-10 | 新大陆(福建)公共服务有限公司 | 一种基于二维码的两级凭证方法及凭证机构的应用*** |
-
2019
- 2019-10-16 CN CN201910982638.2A patent/CN110837633B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1127593A1 (en) * | 2000-02-21 | 2001-08-29 | Jacob Hulleman | Voucher as well as method for issuing and collecting the voucher |
CN1532661A (zh) * | 2003-03-20 | 2004-09-29 | ������������ʽ���� | 信息提供以及用户验证设备、方法、程序和记录媒体 |
CN101243642A (zh) * | 2005-08-19 | 2008-08-13 | 三星电子株式会社 | 同时执行多个基于预共享密钥的认证的方法和执行该方法的设备 |
KR20090110400A (ko) * | 2008-04-18 | 2009-10-22 | (주)기즈모생각 | 인터넷을 통한 무료 및 할인쿠폰 발행 시스템 및 그 방법 |
CN102257505A (zh) * | 2008-12-28 | 2011-11-23 | 高通股份有限公司 | 用于提供经授权装置接入的设备和方法 |
CN103563290A (zh) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | 在公共加密体系结构服务中组合密钥控制信息 |
CN104995895A (zh) * | 2012-12-14 | 2015-10-21 | 微软技术许可有限责任公司 | 兼容扩展卸载令牌大小 |
CN104392184A (zh) * | 2014-11-13 | 2015-03-04 | 北京海泰方圆科技有限公司 | 一种多级电子文件凭证生成和校验的方法 |
CN106997532A (zh) * | 2016-01-22 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 电子凭证的核销方法、***及服务器 |
WO2018014930A1 (en) * | 2016-07-18 | 2018-01-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Remote provision of a subscriber entity |
CN107026838A (zh) * | 2016-11-18 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种电子凭证的发放方法及装置 |
JP2018148293A (ja) * | 2017-03-02 | 2018-09-20 | 日本電信電話株式会社 | クレデンシャル生成システム及び方法、クライアント端末、サーバ装置、発行依頼装置、クレデンシャル発行装置並びにプログラム |
CN107230105A (zh) * | 2017-05-27 | 2017-10-03 | 上海非码网络科技有限公司 | 基于电子凭证收取消费款的方法、***、装置及服务器 |
CN107481140A (zh) * | 2017-07-24 | 2017-12-15 | 湖南搜云网络科技股份有限公司 | 凭证标识码处理方法及***、服务器及存储介质 |
TWI668590B (zh) * | 2018-11-21 | 2019-08-11 | 中華電信股份有限公司 | 憑證有效性驗證系統及其方法 |
CN110222799A (zh) * | 2019-04-28 | 2019-09-10 | 新大陆(福建)公共服务有限公司 | 一种基于二维码的两级凭证方法及凭证机构的应用*** |
CN110197398A (zh) * | 2019-05-17 | 2019-09-03 | 口碑(上海)信息技术有限公司 | 电子券的信息处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110837633A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601407B2 (en) | Fast oblivious transfers | |
US12028454B2 (en) | Multi-party threshold authenticated encryption | |
US11677566B2 (en) | Systems and methods for signing of a message | |
US20100306525A1 (en) | Efficient distribution of computation in key agreement | |
US11405365B2 (en) | Method and apparatus for effecting a data-based activity | |
US11374910B2 (en) | Method and apparatus for effecting a data-based activity | |
CN111586142B (zh) | 一种安全多方计算方法及*** | |
CN112953700B (zh) | 一种提升安全多方计算效率的方法、***及存储介质 | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** | |
EP1330702B1 (en) | Method and system of using an insecure crypto-accelerator | |
US20240163084A1 (en) | Method of data transmission, and electronic devic | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
US11637817B2 (en) | Method and apparatus for effecting a data-based activity | |
WO2022167163A1 (en) | Threshold key exchange | |
US10447475B1 (en) | System and method for managing backup of cryptographic keys | |
CN112737783B (zh) | 一种基于sm2椭圆曲线的解密方法及设备 | |
CN114866312B (zh) | 一种保护数据隐私的共有数据确定方法及装置 | |
CN110837633B (zh) | 智能凭证实现方法、***及可读存储介质 | |
CN114050897B (zh) | 一种基于sm9的异步密钥协商方法及装置 | |
JP2006227411A (ja) | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 | |
CN113946855A (zh) | 一方传输微量数据的隐私数据求交方法及*** | |
TWI767682B (zh) | Ecqv衍生子憑證產生系統、方法及電腦可讀媒介 | |
CN116599662A (zh) | 针对弱口令的审计方法及装置 | |
CN117349888A (zh) | 一种车辆仿真模型联合训练方法、***、设备及存储介质 | |
CN116668033A (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 |