CN117997631A - 获取服务票据的方法及*** - Google Patents
获取服务票据的方法及*** Download PDFInfo
- Publication number
- CN117997631A CN117997631A CN202410231824.3A CN202410231824A CN117997631A CN 117997631 A CN117997631 A CN 117997631A CN 202410231824 A CN202410231824 A CN 202410231824A CN 117997631 A CN117997631 A CN 117997631A
- Authority
- CN
- China
- Prior art keywords
- service
- client
- random number
- bill
- ticket
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013475 authorization Methods 0.000 claims abstract description 93
- 230000005540 biological transmission Effects 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000000306 component Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种获取服务票据的方法及***,其中,该方法包括:客户端生成第一数组,第一数组中包括N个数值,第i个数值为第一值,第一数组中的其他数值为第二值,i大于或等于1,N大于1;票据授权服务器生成第二数组,其中,第二数组中包括N个数值对,N个数值对按序排列,第j个数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;客户端和票据授权服务器通过第一数组和第二数组进行N次不经意传输,以使所述客户端获取所述第i个服务票据。通过本发明解决了相关技术中用户在获取服务票据过程中存在隐私泄露的问题,进而达到了保护用户隐私的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种获取服务票据的方法及***。
背景技术
在现代网络环境中,隐私变得越来越重要。用户并不希望一个中心实体知道他们访问哪些服务或应用,更不用说具体的访问时间和频率。
Kerberos作为目前常用的网络身份验证协议,在其身份验证架构中,密钥分发中心(Key Distribution Center,简称KDC)扮演着核心的角色,由于KDC在Kerberos***中强力的中心化角色,当用户想要使用特定服务时,他们必须首先从KDC获取一个服务票据,这意味着KDC知道每个用户何时以及想要访问哪个服务。这种对KDC的依赖,实际上使得Kerberos在保护用户隐私方面有所欠缺。在一些敏感的应用场景中,这种潜在的隐私泄露可能使Kerberos不适合作为首选的身份验证方法。
针对上述问题,目前尚未存在有效解决方案。
发明内容
本发明实施例提供了一种获取服务票据的方法及装置,以至少解决相关技术中用户在获取服务票据过程中存在隐私泄露的问题。
根据本发明的一个实施例,提供了一种获取服务票据的方法,包括:客户端生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;票据授权服务器生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;所述客户端和所述票据授权服务器通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取第i个服务票据。
在一个示例性实施例中,所述客户端和所述票据授权服务器通过如下方式进行第m次不经意传输,m是大于或等于1小于或等于N的整数:所述票据授权服务器生成密钥对,其中,所述密钥对包括公钥和私钥,所述公钥包括模数P,公共指数e,所述私钥包括私有指数d;所述票据授权服务器生成第一随机数和第二随机数;所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输。
在一个示例性实施例中,所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输,包括:所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值;所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输。
在一个示例性实施例中,所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值,包括:
v=(xb+ke)mod P
其中,v是所述第一运算值,xb是所述第一随机数或所述第二随机数,所述m等于i的情况下xb是所述第一随机数,所述m不等于i的情况下xb是所述第二随机数,k是所述客户端生成的随机数,P是所述模数,e是所述公共指数。
在一个示例性实施例中,所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输,包括:所述票据授权服务器使用所述第一运算值与所述第一随机数进行第二运算,得到第二运算值,包括:
k1=(v-x1)d mod P
其中,k1是所述第二运算值,v是所述第一运算值,x1是所述第一随机数,P是所述模数;
所述票据授权服务器使用所述第一运算值与所述第二随机数进行第三运算,得到第三运算值,包括:
k0=(v-x0)d mod P
其中,k0是所述第三运算值,v是所述第一运算值,x0是所述第二随机数,P是所述模数;所述票据授权服务器使用所述第二运算值对所述第m个所述数值对中的第m个服务票据进行加密,得到第一加密信息,包括:
m′1=m1+k1
其中,m′1是所述第一加密信息,m1是所述第m个所述数值对中的第m个服务票据,k1是所述第二运算值;
所述票据授权服务器使用所述第三运算值对第m个所述数值对中的第三数值进行加密,得到第二加密信息,包括:
m′0=m0+k0
其中,m′0是所述第二加密信息,m0是所述第m个所述数值对中的第三数值,k0是所述第三运算值;
所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端。
在一个示例性实施例中,在所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端之后,所述方法还包括:所述m等于i的情况下,所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据;在所述m不等于i的情况下,所述客户端使用所述随机数对第二加密信息进行解密,得到第三数值。
在一个示例性实施例中,在所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据之后,所述方法还包括:所述客户端将所述第i个服务票据发送至应用服务器,以在所述应用服务器获取与所述第i个服务票据对应的服务。
根据本发明的另一个实施例,提供了一种获取服务票据的***,包括:客户端,用于生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;票据授权服务器,用于生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;所述客户端和所述票据授权服务器还用于通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取第i个服务票据。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述任一项中所述的方法的步骤。
通过本发明,客户端生成第一数组,其中,第一数组中包括N个数值,第i个数值为第一值,第一数组中的其他数值为第二值,i大于或等于1,N大于1;票据授权服务器生成第二数组,其中,第二数组中包括N个数值对,N个数值对按序排列,第j个数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;客户端和票据授权服务器通过第一数组和第二数组进行N次不经意传输,以使所述客户端获取所述第i个服务票据。
在客户端与票据授权服务器的不经意传输过程中,客户端作为接收者服务票据授权服务器作为发送者,客户端可以在服务票据授权服务器持有的N个数值对中选择想要的服务票据进行接收,而服务票据授权服务器不知道客户端具体得到的是哪个服务票据。这样可以达到保护用户隐私的目的,进而解决了相关技术中用户在获取服务票据获取过程中存在隐私泄露的问题,达到保护用户隐私的效果。
附图说明
图1是Kerberos协议执行的总体流程图;
图2本发明实施例的一种获取服务票据的方法的移动终端的硬件结构框图;
图3是根据本发明实施例的获取服务票据的方法的流程图;
图4是根据本发明实施例的改进的Kerberos服务票据获取阶段的流程图;
图5是根据本发明实施例的不经意传输算法的流程图。
具体实施方式
为了更好的理解本申请提供的实例,下面对本申请中的英文简称解释说明:
密钥分发中心:Key Distribution Center,简称KDC。
不经意传输:Oblivious Transfer,简称OT。
身份验证服务器:Authentication Server,简称AS。
票据授权服务器:Ticket Granting Server,简称TGS。
会话密钥:Session Key,简称SK。
下面简要介绍计算机网络授权协议Kerberos:
Kerberos是一个基于票据的网络身份验证协议,用于通过不安全的网络环境验证用户或主机的身份。该协议基于对称密钥密码学,中心化地由一个称为密钥分发中心(KeyDistribution Center,简称KDC)的实体管理,其核心组件主要包括:
域(Realm):″realm″表示一个身份验证的管理域,其目的是确定一个身份验证服务器有权验证用户、主机或服务的边界。基本上,只有当用户/服务与该域的身份验证服务器共享一个秘密(密码/密钥)时,该用户/服务才属于那个域。
主体(Principal):主体是用来指代身份验证服务器数据库中条目的名称。每一个给定域的用户、主机或服务都与一个主体关联。
客户端(Client):使用Kerberos协议与其他实体(如服务)进行通信的用户或***。
票据(Ticket):票据是客户端呈现给应用服务器以证明其身份真实性的东西。票据由身份验证服务器发出,并使用它们所针对的服务的秘密密钥进行加密。由于这个密钥只在身份验证服务器和提供服务的服务器之间共享,甚至请求票据的客户端也不能知道或改变其内容。其中,票据中包含的主要信息包括:请求用户的主体(通常是用户名)、票据所针对的服务的主体、可以使用票据的客户端机器的IP地址、票据有效性开始的日期和时间(以时间戳格式)、票据的最大生命周期、会话密钥等。
加密(Encryption):Kerberos经常需要对身份验证的各个参与者之间传递的消息(票据和验证器)进行加密和解密。需要说明的是,Kerberos只使用对称密钥加密,即加密和解密使用的是同一个密钥。
密钥分发中心(KDC):在Kerberos环境中的身份验证服务器,基于其为访问服务的票据分发功能,被称为密钥分发中心,或简称KDC。由于它完全位于一个物理服务器上(它通常与一个进程相对应),所以从逻辑上可以考虑将其分为三个部分:数据库、身份验证服务器(AS)和票据授权服务器(TGS),其中:
数据库是与用户和服务关联的条目的容器。使用主体来引用一个条目,每个条目包含信息包括:与条目关联的主体;加密密钥;与主体关联的票据的最大有效期;描述票据行为的属性或标志;密码的过期日期;主体的过期日期,过了这个日期,将不再发出票据。
身份验证服务器(AS)是KDC的一部分,它回应来自客户端的初始身份验证请求,此时用户尚未进行身份验证,必须输入密码。作为对身份验证请求的响应,AS发出一个特殊的票据,称为票据授权票据,或简称为TGT,其关联的主体是krbtgt/REALM@REALM。如果用户成功通过身份验证,他们可以使用TGT获取其他服务票据,而无需重新输入密码。
票据授权服务器(TGS)主要向拥有有效TGT的客户端分发服务票据,确保身份的真实性,以便在应用程序服务器上获取所请求的资源。鉴于访问TGS需要出示TGT,因此,TGS可以视为一个应用服务器,其提供服务票据的发行行为可以视为一项服务。
会话密钥(Session Key):用户和服务与KDC共享一个秘密。对于用户来说,这个秘密是从他们的密码派生出来的密钥,而对于服务来说,此秘密是它们的秘密密钥(由管理员设置)。这些密钥被称为长期密钥,在工作会话改变时并不会变化。同时,用户还需要与服务共享一个秘密。当客户端在服务器上打开一个工作会话的时间内,由KDC在发放票据时生成的密钥被称为会话密钥。
验证器(Authenticator):客户端在包含票据的请求中添加另一个数据包(验证器),其中包含用户主体和时间戳(当时的时间),并使用会话密钥加密。在必须提供服务的服务器收到此请求后,解包第一张票据,提取会话密钥,如果用户实际上是票据所说的那个人,服务器就能够解密验证器,提取时间戳。同时,如果后者与服务器时间的差异小于2分钟(但容差可以配置),则认证成功,强调了属于同一领域的机器之间同步的关键性。
图1是Kerberos协议执行的总体流程图,如图1所示,Kerberos的基本操作步骤如下所示:
1)身份验证服务器请求(AS_REQ)
AS_REQ是初始用户认证请求。这个消息是发送给KDC组件的,该组件是身份验证服务器(AS);客户端请求KDC(更具体地说是AS)颁发一个票据授权票据(Ticket GrantingTicket,TGT)。
2)身份验证服务器响应(AS_REP)
AS_REP是身份验证服务器对前一个请求的回复。基本上,它包含了TGT(使用TGS的密钥加密)和会话密钥(使用请求用户的密钥加密)。
3)票据授权服务器请求(TGS_REQ)
TGS_REQ是客户端向票据授权服务器(TGS)请求服务票据的消息。这个数据包包含了从前一个消息中获得的TGT和一个由客户端生成并使用会话密钥加密的认证器;
4)票据授权服务器响应(TGS_REP)
TGS_REP是票据授权服务器对前一个请求的回复。里面包含了所请求的服务票据(用服务的密钥加密)和一个由TGS生成的服务会话密钥,该密钥使用AS生成的前一个会话密钥进行加密;
5)服务应用请求(AP_REQ)
AP_REQ是客户端发送给应用服务器的请求,以访问某个服务。组件包括从TGS在前一个回复中获得的服务票据,以及再次由客户端生成的认证器,但这次使用TGS生成的服务会话密钥进行加密;
6)服务应用响应(AP_REP)
AP_REP是应用服务器给客户端的回复,用来证明它确实是客户端期望的服务器。这一阶段并不是必需的。只有在需要相互认证的情况下,客户端才会请求服务器提供这个回复数据包。
Kerberos协议通过一个中央实体来确保一个不安全的网络上的客户端和服务端之间的安全通信,其关键优点在于它的互相认证特性以及它为交互过程中的消息提供的加密支持。
尽管Kerberos为网络通信提供了强大的安全性,但其中心化的特点也带来了隐私方面的挑战。特别地,当用户想要使用特定服务时,必须先从KDC获取一个服务票据。这意味着KDC知道每个用户何时以及想要访问哪个服务。这种架构下,KDC能够累积大量关于用户行为和偏好的数据,从而有可能对用户的隐私造成威胁。
下面简要介绍不经意传输OT:
不经意传输协议是密码学中的一种基本协议,它使得一方(发送者)能够向另一方(接收者)发送多个信息中的一个,而不知道接收者选择了哪个信息。例如,在其最基本的形式1-out-of-2 OT中,发送者有两个信息,而接收者可以选择接收这两个信息中的任何一个,但发送者不知道接收者的选择。OT协议的关键特性是它保护了接收者的选择隐私,同时确保了发送者的信息保密性。
因此,基于OT协议的保密特性,本发明通过在Kerberos协议中结合不经意传输协议(OT),在用户向KDC请求特定的服务票据的过程中,实现KDC会给予用户需要的服务票据的同时,并不能清楚的知道用户需要什么特定服务,从而达到保护用户隐私的目的。
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语″第一″、“第二″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图2是本发明实施例的一种获取服务票据的方法的移动终端的硬件结构框图。如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器204,其中,上述移动终端还可以包括用于通信功能的传输设备206以及输入输出设备208。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的获取服务票据的方法对应的计算机程序,处理器202通过运行存储在存储器204内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备206包括一个网络适配器(Networm Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备206可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的获取服务票据的方法,图3是根据本发明实施例的获取服务票据的方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,客户端生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;
上述第一数组可以是一维数组,该数组中包含N个数值,其中,第i个数值等于第一值,该第一值可以是1,其他数值均等于第二值,该第二值可以是0。
客户端根据服务信息表生成一个比特位的一维数组b=[0,0,...0,1,0,.....,0],其中,该一维数组由N个数值组成,第i个数值为1,其他数值均为0。
步骤S304,票据授权服务器生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;
上述第二数组包含N个数值对,其中,每个数值对均由第三数值和服务票据(TGS_REP)组成,所述第三数值可以是0,所述服务票据用于从应用服务器获取相应的服务,第二数组中的服务票据按序排列。
票据授权服务器(TGS)根据服务信息表生成一个待发送的信息的一维数组(m0,m1)=[(0,TGS_REP0),(0,TGS_REP1),(0,TGS_REP2),…,(0,TGS_REPj),...,(0,TGS_REPN)],其中,该一维数组由N个数值对组成,每个数值对中均包含数值0和所述服务票据。
步骤S306,所述客户端和所述票据授权服务器通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取第i个服务票据。
上述不经意传输(OT)可以是1-out-of-2 OT,上述第i个服务票据可以是通过第i次不经意传输获取的服务票据。
客户端与TGS之间要进行N次1-out-of-2 OT协议计算。在每次OT中,根据客户端要发送的比特位b的数值给TGS,获取客户端需要的服务票据。例如,比特位b的数值当进行到第i次OT时为1,其他OT时均为0时,由于第i次的比特设置为1,则在第i次的OT中就可获得它想要的TGS_REPi。
在服务票据获取阶段,通过把服务请求以及响应的流程适配成一种1-out-of-NOT协议的流程形式,实现了隐私服务获取的功能。
作为一个可选的实施方式,图4是根据本发明实施例的改进的Kerberos服务票据获取阶段的流程图,图中数组b为第一数组,图中所示的第一数组中的第一值为1,第二值为0。图中0和1仅作为实例,在实际应用中,第一值和第二值可以设置为其他数值,第一值和第二值满足不相等的条件即可,例如,第一值可以是1,第二值为2等,可根据实际情况任意设置。(m0,m1)是第二数组,(0,TGS_REPi)是数值对,0是第三数值(图中仅为示例,第三数值可以根据实际情况进行设置,例如,第三数值还可以是1、2、3等,第三数值用于表示无意义的数值),TGS_REPi是第i个服务票据。
如图4所示,获取服务票据的具体流程如下:
步骤S1,TGS在收到客户端发来的TGS_REQ后,根据票据授权票据(TGT)进行用户的身份验证,并在客户端成功通过验证后,把TGS的RSA(Rivest-Shamir-Adleman,一种公钥密码***)密钥对的公钥部分以及维护的服务信息表,使用从TGT提取的会话密钥SKTGS进行加密后,发送给客户端;
步骤S2,客户端收到消息后,使用自身从身份验证服务器响应(AS_REP)提取的会话密钥SkTGS进行解密,得到TGS的RSA公钥(P,e)以及服务信息表。之后,根据服务信息表,确定请求的服务在此表中的序列为第i个(i-th);
步骤S3,客户端与TGS之间要进行N次1-out-of-2 OT协议计算。这些OT协议的顺序要与服务表的服务排列顺序保持一致。在每次OT中,根据上述中的OT算法描述,客户端要发送比特位b以及随机数k给TGS,其中,b的值当进行到第i次OT时为1,其他OT时均为0;
步骤S4,而对于TGS而言,在每次OT中,都有一个特定服务参与计算,且这个服务所在OT的发生顺序必须与服务表中的顺序相一致。故TGS在一次OT中所持有的两个待发送的信息(m0,m1)为(0,TGS_REP);
步骤S5,在每一次OT中,TGS提供了一个形式为(无任何信息,包含一个服务的TGS_REP响应数据包)的信息对给客户端,且不知道客户端选择了哪一个。当进行了N次OT后,TGS提供了所有服务表的服务主体相关的TGS_REP给客户端,因为每一次都不能确定客户端的选择比特b的值为何,所以TGS不能知道客户端想要的服务为何。而客户端,只需要先确定所需服务在服务表中的次序,之后在特定服务的序列编号的OT中,把选择比特设置为1,就可获得它想要的TGS_REP。
客户端与TGS之间根据KDC创建并维护的一个器域内的应用服务信息表进行多次1-of-out-2 OT交互,并在每次OT中,TGS提供一个无效数据与一个服务的TGS_REP数据包。由于TGS不知道客户端的选择比特是何值,因此无法获知客户端获取的是哪一个TGS_REP数据包,从而实现TGS_REP数据包的隐私获取。
可选地,上述步骤的执行主体可以是后台处理器,或者其他的具备类似处理能力的设备,还可以是至少集成有图像获取设备以及数据处理设备的机器,其中,图像获取设备可以包括摄像头等图形采集模块,数据处理设备可以包括计算机、手机等终端,但不限于此。
通过上述步骤,客户端生成第一数组,其中,第一数组中包括N个数值,第i个数值为第一值,第一数组中的其他数值为第二值,i大于或等于1,N大于1;票据授权服务器生成第二数组,其中,第二数组中包括N个数值对,N个数值对按序排列,第j个数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;客户端和票据授权服务器通过第一数组和第二数组进行N次不经意传输,以使所述客户端获取所述第i个服务票据。
基于1-out-of-2 OT协议算法,在以此服务票据申请的过程中,通过进行多次1-out-of-2 OT来实现1-out-of-N OT的效果,即从N(N>2)个信息中隐私选取想要的服务票据,使得KDC作为Kerberos的中心实体,在用户请求特定服务的票据时,在不知道用户请求的是何特定服务的前提下,依然能为用户提供服务票据,为用户的服务请求行为提供了隐私保障,解决了相关技术中用户在获取服务票据过程中存在隐私泄露的问题,提高了服务票据获取的隐私性。
作为一个可选的实施方式,所述客户端生成第一数组,包括:所述客户端接收所述票据授权服务器发送的第一服务列表,其中,所述第一服务列表中记录了N个服务的身份标识,所述N个服务的身份标识按序排列;所述客户端根据所述第一服务列表中的所述服务的身份标识生成所述第一数组。
其中,所述客户端根据所述第一服务列表中的所述服务的身份标识生成所述第一数组,包括:所述客户端生成初始数组,其中,所述初始数组中包括N个所述第二值;在所述客户端将所述第i个身份标识对应的服务确定为目标请求服务的情况下,所述客户端将所述初始数组的第i个数值替换为所述第一值。
上述目标服务列表中记录了服务的身份标识,身份标识可包括但不限于服务的名称、服务的描述、服务的权限范围中的一个或多个。这些信息可以帮助授权服务器对应用服务进行管理和授权,并确保安全地访问用户数据。
作为一个可选的实施方式,所述票据授权服务器生成第二数组,包括:所述票据授权服务器获取第二服务列表,其中,所述第二服务列表中记录了N个所述服务票据,所述N个服务票据按序排列,且所述第二服务列表中的所述服务票据与所述第一服务列表中的身份标识一一对应,所述第二服务列表中的每个服务票据与所述第一服务列表中与该服务票据对应的身份标识的序号相同;所述票据授权服务器将第二服务列表中的每个服务票据与所述第三数值进行组合,得到所第二数组。
票据授权服务器在其自身中创建并维护一个其域内的第一服务列表和第二服务列表,第一服务列表中记录的是服务的身份标识,第二服务列表中记录的是服务票据,服务、身份标识和服务票据是一一对应的,在第一服务列表中身份标识的序号与第二服务列表中与该身份标识对应的服务票据的序号是一致的。例如,服务1的身份标识为abc、该身份标识abc在第一服务列表中的序号为8,则第二服务列表中序号为8的服务票据是服务1对应的服务票据。当客户端请求特定服务的服务票据时,票据授权服务器会回应第一服务列表给所述客户端,以便客户端知道特定服务的排列次序。在之后的不经意传输阶段,票据授权服务器会发送一系列服务相关的数据包时,也可以按照表格中的服务顺序进行。此外,第一服务列表和第二服务列表的内容会随着域内服务的注册与注销进行更新。通过创建并维护第一服务列表和第二服务列表,并按照一定顺序排列并分配编号,能够更容易地识别和跟踪各个应用服务,有助于更有效地管理和维护其域内的应用服务,从而提高了管理效率。此外,还可以提供更好的安全性和可靠性,票据授权服务器可以更准确地验证和授权各个应用服务的请求,避免未经授权的访问。同时,将应用服务信息表(第一服务列表和第二服务列表可以统称为应用服务信息表)与Kerberos结合,票据授权服务器可以更灵活地管理和支持不同类型的应用服务,也为将来增加新的应用服务提供了便利,提升了整个***的扩展性和适应性,从而为用户提供更好的体验。
作为一个可选的实施方式,所述客户端和所述票据授权服务器通过如下方式进行第m次不经意传输,m是大于或等于1小于或等于N的整数:所述票据授权服务器生成密钥对,其中,所述密钥对包括公钥和私钥,所述公钥包括模数P,公共指数e,所述私钥包括私有指数d;所述票据授权服务器生成第一随机数和第二随机数;所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输。
上述第一随机数x1和第二随机数x0是两个随机的自然数,票据授权服务器(TGS)生成了一个RSA密钥对,其中,(P,e)为TGS的公钥,d为TGS的私钥,该公钥中,P是公共模数,根据生成密钥对时选择的密钥长度来自动生成,加密和解密过程中的模运算,e是公共指数,通常被选为一个较小的质数,能够提供足够的安全性,而私钥d是私有指数,根据生成密钥对时选择的密钥长度来自动生成的,用于解密加密的数据。同时,TGS也生成了两个随机数,即第二随机数x0和第一随机数x1,连同公共模数与公共指数(P和e)一起发送给客户端。
具体地,所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值;所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输。
客户端根据实际需求,通过选择比特位b(bit)的取值,例如0或1,确定数值xb的取值为第一随机数x1或是第二随机数x0,根据选择的数值xb以及模数P和公共指数e得到第一运算值后,将第一运算值发送至TGS,从而实现第m次不经意传输。
作为一个可选的实施方式,所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值,包括:
v=(xb+ke)mod P
其中,v是所述第一运算值,xb是所述第一随机数或所述第二随机数,所述m等于i的情况下xb是所述第一随机数,所述m不等于i的情况下xb是所述第二随机数,k是所述客户端生成的随机数,P是所述模数,e是所述公共指数。
上述在m等于i的情况下,选择比特位b为1,此时xb是所述第一随机数x1,在m不等于i的情况下,选择比特位b为0,此时xb是所述第二随机数x0,通过xb、模数P和公共指数e,计算并生成第一运算值v,从而盲化客户端对比特位b的选择。
作为一个可选的实施方式,所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输,包括:所述票据授权服务器使用所述第一运算值与所述第一随机数第二运算,得到第二运算值;所述票据授权服务器使用所述第一运算值与所述第二随机数第三运算,得到第三运算值;所述票据授权服务器使用所述第二运算值对所述第m个所述数值对中的第m个服务票据进行加密,得到第二加密信息,得到第一加密信息,使用所述第三运算值对第m个所述数值对中的第三数值进行加密;所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端。
TGS根据生成的第一随机数x1和第二随机数x0与接收到的第一随机数v结合,分别得到第二运算值k1和第三运算值k0,此时,第二运算值k1等于客户端生成的随机数k。同时,使用第二运算值k1对第m个数值对中的第m个服务票据进行加密,得到第一加密信息m1’,使用第三运算值k0对第m个数值对中第三数值进行加密,得到第二加密信息m0’,并将第一加密信息m1’和第二加密信息m0’发送给客户端。
第一加密信息m1’和第二加密信息m0’分别为:
m′1=m1+k1
m′0=m0+k0
其中,m′1为第一加密信息,m1为所述第m个所述数值对中的第m个服务票据,k1为第二运算值,m′0为第二加密信息,m0为第m个所述数值对中的第三数值,k0为第三运算值。
由于TGS不知道客户端选择的b的值,因此,TGS无法确定k1和k0中哪一个等于k,从而盲化了客户端的选择。
具体地,所述票据授权服务器使用所述第一运算值与所述第一随机数第二运算,得到第二运算值,包括:
k1=(v-x1)d mod P
其中,k1是所述第二运算值,v是所述第一运算值,x1是所述第一随机数,P是所述模数。
具体地,所述票据授权服务器使用所述第一运算值与所述第二随机数第三运算,得到第三运算值,包括:
k0=(v-x0)d mod P
其中,k0是所述第三运算值,v是所述第一运算值,x0是所述第二随机数,P是所述模数。
作为一个可选的实施方式,在所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端之后,所述方法还包括:所述m等于i的情况下,所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据;在所述m不等于i的情况下,所述客户端使用所述随机数对第二加密信息进行解密,得到第三数值。
客户端在接收到TGS发送的第一加密信息和第二加密信息后,使用生成的随机数k对加密信息进行机密。由于客户端知道随机数k,但其并不知道私钥d,因此客户端只能获取其选择的比特位b对应的信息,而不能获取其他信息,从而在保护用户隐私的同时,保证了其他信息的安全性。
例如,在m等于i的情况下,客户端选择的比特位b为1,则客户端使用随机数k对第一加密信息进行解密,得到第i个服务票据;在m不等于i的情况下,客户端选择的比特位b为0,则客户端使用随机数k对第二加密信息进行解密,得到第三数值。
作为一个可选的实施方式,在所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据之后,所述方法还包括:所述客户端将所述第i个服务票据发送至应用服务器,以在所述应用服务器获取与所述第i个服务票据对应的服务。
作为一个可选的实施方式,图5是根据本发明实施例的l-out-of-2不经意传输算法的流程图,如图5所示,1-out-of-2不经意传输的具体流程如下所示:
步骤S1,发送者(票据授权服务器TGS)生成了一个RSA密钥对,包括模数P,公共指数e和私有指数d;
步骤S2,发送者同时生成了两个随机数x1和x0,并且连同公共模数与指数(P和e)一起发送给接收者(客户端);
步骤S3,接收者选择比特位b(bit)为0或1,并由此决定选择xb;
步骤S4,接收者生成一个随机值v,并使用随机数v,通过计算v=(xb+ke)modN来盲化xb,接收者将v发送给发送者;
步骤S5,发送者使用发送者的两个随机数和v组合,得到两个数值:k1=(v-x1)dmodP和k0=(v-x0)dmod P。若接受者选择的比特位b为1,则k1就等于k,此时,另一个数值k0将是无意义的随机数。同时,由于发送者不知道接收者选择的b的值,所以发送者无法确定k0和k1中哪一个等于k;
步骤S6,发送者将两个待发送信息与可能的每一个密钥组合得到两个加密信息,m′1=m1+k1和m′0=m0+k0,然后将两个加密信息都发送给接收者;
步骤S7,接收者知道k,所以他能够计算mb=m′b-k。但是,由于接收者不知道d,所以不能计算k1-b=(v-x1-b)dmod P,所以不能确定m(1-b)。
通过1-out-of-2不经意传输,对于发送者拥有两条信息m0和m1,接收者由于可以选择比特位b的取值,因此可以接收到需要的信息而不被发送者知道其选择,同时,发送者也可以确保接收者只接收到其中一条信息,从而保证了其他信息的安全性。
作为一个可选的实施方式,OT算法和Kerberos***相结合后服务票据获取的具体步骤如下:
步骤S1,KDC生成RSA密钥对;
KDC在进行Kerberos服务前,提前生成RSA密钥对,该密钥对包括私有指数(d),以及模数(P)和公共指数(e)。根据RSA算法的性质,要传递的信息大小不能超过模数(P),所以N不能小于服务票据的大小。
步骤S2,身份验证服务器请求与响应(AS_REQ,AS_REP);
客户端请求KDC(更具体地说是AS)颁发一个票据授权票据(TGT),身份验证服务器(AS)对客户端的请求进行回复,包括TGT(使用TGS的密钥加密)和会话密钥(使用请求用户的密钥加密)。
步骤S3,票据授权服务请求(TGS_REQ);
由于用户想要在获取特定服务票据时,保护其行为的隐私性,即KDC或者TGS不能知道用户想获取的是哪个服务的票据,因此,在请求数据包中,不能包含特定服务的主体名称,而是一个可以提示KDC进行隐私服务获取的标识之类的数据信息,例如,Private_Get_Serverice_Tag等,需要说明的是,所述标识并不在此具体定义,只起到提示KDC用户想开启隐私获取服务功能,所述请求数据包的格式可以如下:
TGS_REQ=(Private_Get_Service_Tag,Lifetime,Authenticator){TGT}KTGS
其中,TGS_REQ表示票据授权服务请求,Private_Get_Serverice_Tag为提示KDC用户想开启隐私获取服务功能的标识,Lifetime为票据生命周期,Authenticator为用户的验证器,TGT为票据授权票据。
步骤S4,OT协议交互;
为了实现隐私的服务票据获取,客户端与TGS之间要进行多次1-out-of-2 OT协议交互来实现1-out-of-N OT的效果,N为域内服务的数量。具体步骤如下:
把TGS的RSA公钥部分以及维护的服务信息表,先使用从TGT提取的会话密钥SKTGS进行加密后,发送给客户端。
客户端收到消息后,使用自身从AS_REP提取的会话密钥SkTGS进行解密,得到TGS的RSA公钥(P,e)以及服务信息表。之后根据服务信息表,确定请求的服务在此表中的序列为第i个(i-th)。
客户端与TGS之间要进行N次1-out-of-2 OT协议计算。这些OT协议的顺序要与服务表的服务排列顺序保持一致。在每次OT中,根据上述中的OT算法描述,客户端要发送比特位b以及随机数k给TGS,其中b的值当进行到第i次OT时为1,其他OT时均为0。
而对于TGS而言,在每次OT中,都有一个特定服务参与计算,且这个服务所在OT的发生顺序必须与服务表中的顺序相一致。故TGS在一次OT中所持有的两个待发送的信息(m0,m1)为(0,TGS_REPi)。
在每一次OT中,TGS提供了(无任何信息,以及包含一个服务的TGS_REP响应数据包)的信息对给客户端,且不知道客户端选择了哪一个。当进行了N次OT后,TGS提供了所有服务表的服务主体相关的TGSREP给客户端,因为每一次都不能确定客户端的选择比特b的值为何,所以TGS不能知道客户端想要的服务为何。而客户端,只需要先确定所需服务在服务表中的次序,之后在特定服务的序列编号的OT中,把选择比特设置为1,就可获得它想要的TGS_REP。
步骤S5,服务应用请求(AP_REQ);
客户端发送给应用服务器请求,以访问某个服务。组件包括从TGS中获得的服务票据,以及再次由客户端生成的认证器,但这次使用TGS生成的服务会话密钥进行加密。
在Kerberos的基础上,KDC引入了RSA加密***,并生成自己的密钥对,包括公钥(P,e),私钥(d),防止了第三人攻击,即有人伪装KDC发布公钥,也为OT协议在Kerberos上运作提供了可能。
同时,KDC创建并维护其域内的应用服务信息表,应用服务可以按一定顺序进行排列并按此顺序分配编号,当用户请求特定服务票据时,KDC回应此表格信息给用户,让用户知道特定服务的排列次序,并按照表格中的服务顺序进行1-out-of-N OT,使得KDC作为Kerberos的中心实体,在用户请求特定服务的票据时,在不知道用户请求的是何特定服务的前提下,依然能为用户提供服务票据,为用户的服务请求行为提供了隐私保障。
此外,此服务信息表格的内容会随着域内服务的注册与注销进行更新。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种获取服务票据的***,该***用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。上述***包括:客户端,用于生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;票据授权服务器,用于生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;所述客户端和所述票据授权服务器还用于通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取所述第i个服务票据。
作为一个可选的实施方式,所述客户端和所述票据授权服务器用于通过如下方式进行第m次不经意传输,m是大于或等于l小于或等于N的整数:所述票据授权服务器生成密钥对,其中,所述密钥对包括公钥和私钥,所述公钥包括模数P,公共指数e,所述私钥包括私有指数d;所述票据授权服务器生成第一随机数和第二随机数;所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输。
作为一个可选的实施方式,所述客户端还用于对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值;所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输。
作为一个可选的实施方式,所述客户端还用于通过如下方式对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值:
v=(xb+ke)mod P
其中,v是所述第一运算值,xb是所述第一随机数或所述第二随机数,所述m等于i的情况下xb是所述第一随机数,所述m不等于i的情况下xb是所述第二随机数,k是所述客户端生成的随机数,P是所述模数和e是所述公共指数。
作为一个可选的实施方式,所述票据授权服务器还用于使用所述第一运算值与所述第一随机数进行第二运算,得到第二运算值;使用所述第一运算值与所述第二随机数进行第三运算,得到第三运算值;使用所述第二运算值对所述第m个所述数值对中的第m个服务票据进行加密,得到第一加密信息,使用所述第三运算值对第m个所述数值对中的第三数值进行加密,得到第二加密信息;将所述第一加密信息和所述第二加密信息发送至所述客户端。
作为一个可选的实施方式,所述票据授权服务器还用于通过如下方式使用所述第一运算值与所述第一随机数第二运算,得到第二运算值:
k1=(v-x1)d mod P
其中,k1是所述第二运算值,v是所述第一运算值,x1是所述第一随机数,P是所述模数。
作为一个可选的实施方式,所述票据授权服务器还用于通过如下方式使用所述第一运算值与所述第二随机数第三运算,得到第三运算值:
k0=(v-x0)d mod P
其中,k0是所述第三运算值,v是所述第一运算值,x0是所述第二随机数,P是所述模数。
作为一个可选的实施方式,在所述票据授权服务将所述第一加密信息和所述第二加密信息发送至所述客户端之后,所述m等于i的情况下,所述客户端还用于使用所述随机数对第一加密信息进行解密,得到第i个服务票据;在所述m不等于i的情况下,客户端还用于使用所述随机数对第二加密信息进行解密,得到第三数值。
作为一个可选的实施方式,在所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据之后,所述客户端还用于将所述第i个服务票据发送至应用服务器,以在所述应用服务器获取与所述第i个服务票据对应的服务。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请各个实施例中所述方法的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种获取服务票据的方法,其特征在于,包括:
客户端生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;
票据授权服务器生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;
所述客户端和所述票据授权服务器通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取第i个服务票据。
2.根据权利要求1所述的方法,其特征在于,所述客户端和所述票据授权服务器通过如下方式进行第m次不经意传输,m是大于或等于1小于或等于N的整数:
所述票据授权服务器生成密钥对,其中,所述密钥对包括公钥和私钥,所述公钥包括模数P,公共指数e,所述私钥包括私有指数d;
所述票据授权服务器生成第一随机数和第二随机数;
所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输。
3.根据权利要求2所述的方法,其特征在于,所述票据授权服务器将所述公钥、所述第一随机数和所述第二随机数发送至所述客户端,以通过所述公钥、所述第一随机数和所述第二随机数与所述客户端进行第m次不经意传输,包括:
所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值;
所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输。
4.根据权利要求3所述的方法,其特征在于,所述客户端对所述第一随机数或所述第二随机数,以及所述模数P和所述公共指数e进行第一运算,得到第一运算值,包括:
v=(xb+ke)mod P
其中,v是所述第一运算值,xb是所述第一随机数或所述第二随机数,所述m等于i的情况下xb是所述第一随机数,所述m不等于i的情况下xb是所述第二随机数,k是所述客户端生成的随机数,P是所述模数,e是所述公共指数。
5.根据权利要求4所述的方法,其特征在于,所述客户端将所述第一运算值发送至所述票据授权服务器,以通过所述第一运算值进行所述第m次不经意传输,包括:
所述票据授权服务器使用所述第一运算值与所述第一随机数进行第二运算,得到第二运算值,包括:
k1=(v-x1)dmod P
其中,k1是所述第二运算值,v是所述第一运算值,x1是所述第一随机数,P是所述模数;
所述票据授权服务器使用所述第一运算值与所述第二随机数进行第三运算,得到第三运算值包括:
k0=(v-x0)dmod P
其中,k0是所述第三运算值,v是所述第一运算值,x0是所述第二随机数,P是所述模数;
所述票据授权服务器使用所述第二运算值对所述第m个所述数值对中的第m个服务票据进行加密,得到第一加密信息,包括:
m′1=m1+k1
其中,m′1是所述第一加密信息,m1是所述第m个所述数值对中的第m个服务票据,k1是所述第二运算值;
所述票据授权服务器使用所述第三运算值对第m个所述数值对中的第三数值进行加密,得到第二加密信息,包括:
m′0=m0+k0
其中,m′0是所述第二加密信息,m0是所述第m个所述数值对中的第三数值,k0是所述第三运算值;
所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端。
6.根据权利要求5所述的方法,其特征在于,在所述票据授权服务器将所述第一加密信息和所述第二加密信息发送至所述客户端之后,所述方法还包括:
所述m等于i的情况下,所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据;
在所述m不等于i的情况下,所述客户端使用所述随机数对第二加密信息进行解密,得到第三数值。
7.根据权利要求6所述的方法,其特征在于,在所述客户端使用所述随机数对第一加密信息进行解密,得到第i个服务票据之后,所述方法还包括:
所述客户端将所述第i个服务票据发送至应用服务器,以在所述应用服务器获取与所述第i个服务票据对应的服务。
8.一种获取服务票据的***,其特征在于,包括:
客户端,用于生成第一数组,其中,所述第一数组中包括N个数值,第i个数值为第一值,所述第一数组中的其他数值为第二值,其中,i大于或等于1,N大于1;
票据授权服务器,用于生成第二数组,其中,所述第二数组中包括N个数值对,所述N个数值对按序排列,第j个所述数值对中包括:第三数值和第j个服务票据,第j个服务票据用于从应用服务器获取相应的服务,j大于或等于1;
所述客户端和所述票据授权服务器还用于通过所述第一数组和所述第二数组进行N次不经意传输,以使所述客户端获取第i个服务票据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410231824.3A CN117997631A (zh) | 2024-02-29 | 2024-02-29 | 获取服务票据的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410231824.3A CN117997631A (zh) | 2024-02-29 | 2024-02-29 | 获取服务票据的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117997631A true CN117997631A (zh) | 2024-05-07 |
Family
ID=90897318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410231824.3A Pending CN117997631A (zh) | 2024-02-29 | 2024-02-29 | 获取服务票据的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117997631A (zh) |
-
2024
- 2024-02-29 CN CN202410231824.3A patent/CN117997631A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2619420C (en) | Distributed single sign-on service | |
US8281136B2 (en) | Techniques for key distribution for use in encrypted communications | |
US7343014B2 (en) | Method for sharing the authorization to use specific resources | |
JP4800624B2 (ja) | 暗号鍵を入れ替えるためのシステム、装置及び方法 | |
EP1927211B1 (en) | Authentication method and apparatus utilizing proof-of-authentication module | |
JP5265744B2 (ja) | 導出鍵を用いたセキュアメッセージングシステム | |
KR100990320B1 (ko) | 공용 서버로부터 콘텐츠를 요청할 때 클라이언트프라이버시를 제공하는 방법 및 시스템 | |
US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
KR20070057871A (ko) | 다항식에 기초한 인증 방법 | |
WO2020206014A1 (en) | Digital rights management authorization token pairing | |
US11451369B2 (en) | Method and system for multi-authority controlled functional encryption | |
Cheng | An architecture for the Internet Key Exchange protocol | |
CN107248997B (zh) | 多服务器环境下基于智能卡的认证方法 | |
JP2006279269A (ja) | 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム | |
KR20160100078A (ko) | 금융거래 서비스를 지원하는 클라이언트 단말기 및 이를 인증하기 위한 서버, 인증 방법 및 이를 실행시키기 위하여 매체에 저장되는 어플리케이션 | |
JP3914193B2 (ja) | 認証を得て暗号通信を行う方法、認証システムおよび方法 | |
KR102303253B1 (ko) | 블록체인 플랫폼 사용주체의 분산식별자 관리 시스템 | |
KR101165350B1 (ko) | 유비쿼터스 컴퓨팅 네트워크 환경에서 커뮤니티 컴퓨팅을 위한 디바이스 멤버 인증방법 | |
CN112035820B (zh) | 一种用于Kerberos加密环境下的数据解析方法 | |
Saxena et al. | A Lightweight and Efficient Scheme for e-Health Care System using Blockchain Technology | |
JP2007074745A (ja) | 認証を得て暗号通信を行う方法、認証システムおよび方法 | |
CN117997631A (zh) | 获取服务票据的方法及*** | |
CN114005190B (zh) | 用于课堂考勤***的人脸识别方法 | |
KR100883899B1 (ko) | 스마트 카드를 이용한 삼자간 키 교환 방법, 그 기록 매체및 스마트 카드를 이용한 삼자간 키 교환 시스템 | |
Crispo et al. | Symmetric key authentication services revisited |
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 |