CN113468614A - 一种基于Bulletproofs的Kerberos跨域认证方法 - Google Patents
一种基于Bulletproofs的Kerberos跨域认证方法 Download PDFInfo
- Publication number
- CN113468614A CN113468614A CN202110835057.3A CN202110835057A CN113468614A CN 113468614 A CN113468614 A CN 113468614A CN 202110835057 A CN202110835057 A CN 202110835057A CN 113468614 A CN113468614 A CN 113468614A
- Authority
- CN
- China
- Prior art keywords
- user
- domain
- ticket
- server
- message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002452 interceptive effect Effects 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000012790 confirmation Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 2
- 101710091608 Probable diacyglycerol O-acyltransferase tgs2 Proteins 0.000 abstract 3
- 101710091635 Probable diacyglycerol O-acyltransferase tgs1 Proteins 0.000 abstract 1
- 102100039146 Trimethylguanosine synthase Human genes 0.000 abstract 1
- 238000005457 optimization Methods 0.000 description 11
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及跨域认证技术领域,其公开了一种基于Bulletproofs的Kerberos跨域认证方法,在进行跨域认证时,用户无需提交含自身身份信息的相关票据也能证明自己的合法身份,避免了用户身份信息的泄露。该方法包括:a.用户向本域认证服务器AS1请求访问服务器S;b.AS1向用户发送访问域内票据许可服务器TGS1的票据;c.用户向TGS1请求访问外域票据许可服务器TGS2的票据;d.TGS1向用户发送访问TGS2的票据;e.用户通过构造非交互Bulletproofs的参数向TGS2请求访问服务器S;f.TGS2通过非交互Bulletproofs的验证方法验证用户信息的合法性,然后向用户发送访问服务器S的票据;g.用户向服务器S发送认证请求;h.服务器S接受用户的认证,并向用户发送建立通信的消息,双方建立正式通信。
Description
技术领域
本发明涉及跨域认证技术领域,具体涉及一种基于Bulletproofs(一种非交互式零知识证明协议)的Kerberos(一种计算机网络授权协议)跨域认证方法。
背景技术
当用户跨域访问资源时,由于和访问域的认证服务器之间不存在事先的信任关系,因此访问域的认证服务器需要联合用户本域的认证服务器对用户进行认证。另外在跨域访问的过程中,为了防止恶意实体跟踪用户的资源访问记录和会话,需要在认证过程中隐藏用户真实身份,提供匿名性服务。普适环境中的跨域认证方案在实现安全认证和会话密钥建立的同时应满足匿名性和不可跟踪性,即用户访问域认证服务器的时候,其他用户无法确定跨域访问的合法用户的真实身份以及不同会话的来源。
在现实社会中,身份欺诈是不可避免的,因此我们访问服务器的时候常常需要证明自己的身份。通讯和数据的安全也取决于能否正确验证用户的身份信息。例如:银行的ATM机能够将钱款发送给它识别的账号的持卡人,大大减轻了柜台工作人员的负担,提高了效率。对于计算机内的资源的访问和使用,以及安全区域的出入都需要以精确的身份认证为基础。而传统认证过程中的身份认证都是通过检查“物”(口令或者身份证明信息)的有效性来确认用户身份的,那么能不能在不需要提供这些身份信息的前提下,就能够证明身份的合法性呢。这就需要零知识证明技术。零知识证明是这样一种技术,被认证方P掌握某些秘密信息,P设法让认证方V相信他确实掌握哪些信息,但又不让V知道是哪些信息。
目前越来越多的用户需要进行跨辖区的身份认证,使得在本辖区内合法的用户也能够合法的访问其他辖区,而不需要重新去注册。Kerberos跨域认证协议就是在Kerberos认证协议的基础上提供了跨辖区的认证管理功能,但是由于其采用对称密钥加密算法而存在不少的缺陷,基于公钥体制的Kerberos认证协议在原有认证协议的基础上引入公开密钥加密体制,使得整个认证系统具有了抗否认性,而更加安全。但是他们却存在一个共同的缺陷:就是他们对于身份的确认建立在用户提交包含有自己身份信息的证明文件的基础之上,也就是说用户想要向其他辖区证明自己的合法性,就必须要提供本辖区服务器为其颁发的“身份证明文件"。这样虽然能够轻易的证明用户的合法性,但是同时却使其他辖区的服务器也掌握了该用户的相关信息如用户名、用户地址等,造成用户信息的泄露,且无法实现用户的匿名登录或者匿名访问。
对于用户的身份信息,在本辖区内可以认为是公开的,但是这些信息是不应该传递到其他辖区。而且信息在本辖区内传递比在辖区之间传递更为安全。因此本发明希望找到一种方法,使得用户在进行跨域认证的情况下,不需要提交与自己身份信息相关的票据,仍然能够证明自己的合法性,即其他辖区的认证服务器或者应用服务器不需要知道用户是谁,用户在哪,它仅仅需要知道用户是合法的就足够了。
发明内容
本发明所要解决的技术问题是:提出一种基于Bulletproofs的Kerberos跨域认证方法,在进行跨域认证时,用户无需向外域服务器提交包含自身身份信息的相关票据也能证明自己的合法身份,避免了用户身份信息的泄露。
本发明解决上述技术问题采用的技术方案是:一种基于Bulletproofs的Kerberos跨域认证方法,包括以下步骤:
a.用户C向本域的认证服务器AS1请求访问外域应用服务器S;
e.用户C构造非交互Bulletproofs认证的参数,也即证明自己身份且不包含自身敏感信息的数据;用户C根据获得的票据向外域票据许可服务器TGS2请求访问外域应用服务器S,并向外域票据许可服务器TGS2传递非交互Bulletproofs认证的参数;
f.外域票据许可服务器TGS2根据获得的非交互Bulletproofs认证的参数,通过非交互Bulletproofs认证方法验证用户C的身份,在确定用户身份后,向用户C发送访问外域应用服务器S的票据Tickets;
g.用户C根据获得的外域应用服务器S的票据Tickets,向外域应用服务器S发送认证请求;
h.外域应用服务器S接受用户C的认证,并向用户C发送建立通信的消息,双方建立正式通信。
作为进一步优化,步骤a包括:
作为进一步优化,步骤b包括:
b1.本域认证服务器AS1接收用户C发送的消息M1;
b4.若用户C的身份存在且合法,则本域认证服务器AS1构造消息Q2, 其中,为本域认证服务器AS1构造的域内票据许可服务器TGS1与用户C的共享的会话秘钥,为域内票据许可服务器号,IDc为用户C的用户号;
b6.本域认证服务器AS1构造消息M2,
b7.本域认证服务器AS1对消息M2采用用户C的公钥KPc进行加密,并发送给用户C。
作为进一步优化,步骤C包括:
c1.用户C接收来自本域认证服务器AS1发送的消息M2;
C2.用户C采用其私钥KRc解密消息M2;
C3.用户C根据解密信息中的随机数判断消息M2是否为重放;
c5.在验证票据确由TGS1签发后,用户C构造身份验证码Auth1, 其中,Random2为用户生成的另一个防止重放的随机数,IDc为用户C的用户号,表示使用用户C和域内票据服务器TGS1的会话秘钥加密消息;
作为进一步优化,步骤d包括:
d1.域内票据许可服务器TGS1接收用户C发送的消息M3;
d4.若用户C的身份信息正确且未被篡改,则域内票据许可服务器TGS1构造消息Q3,
d6.域内票据许可服务器TGS1构造消息M4,
d7.域内票据许可服务器TGS1采用用户C的公钥KPc对消息M4加密,并发送给用户C。
作为进一步优化,步骤d3中,所述域内票据许可服务器TGS1验证用户C的身份的正确性以及是否被篡改,具体包括:
域内票据许可服务器TGS1从Q2获得根据获得的解密Auth1,得到IDc和Random2,根据解密得到的IDc与消息Q2中的IDc,确认票据是否为原始申请用户所拥有,确认用户C的身份的正确性以及是否被篡改。
作为进一步优化,步骤e包括:
e1.用户C接收域内票据许可服务器TGS1发送的消息M4;
e2.用户C采用其私钥KRc对解密消息M4;
e3.用户C根据解密信息中的随机数判断消息M4是否为重放;
e5.用户C构造非交互Bulletproofs认证的参数M0;
其各个参数的具体生成过程包括:
e51.参数sL,sR是两个盲化因子,产生过程如下:
以参数v表示用户C私钥KRc所对应的整数,首先将v转化为二进制向量a,进而构造向量aL=a,aR=a-1,然后产生两个从aL、aR中盲化出来的盲化因子sL,sR;
e52.参数y,z是生成的两个随机数,产生过程如下:
e55.参数t(x),δ(y,z)是Bulletproofs的证明参数,其中,
δ(y,z)=(z-z2)<1,yn>-z3<1,2n>
t(x)=t0+t1x+t2x2
其中,x为用于构造多项式t(x)的随机私钥,t0、t1、t2分别为多项式t(x)自变量前的系数;
e57.参数V,T1,T2由Pedersen承诺得到:V=com(v)、T1=com(t1)、T2=com(t2);
基于向量的Pedersen承诺A=Com(aL,aR),承诺S=Com(sL,sR),参数通过公式获得,其中为承诺A=Com(aL,aR)对应的盲化因子参数,为承诺S=Com(sL,sR)对应的盲化因子参数。
作为进一步优化,步骤f包括:
f1.外域票据许可服务器TGS2接收用户C发送的消息M5;
f3.外域票据许可服务器TGS2基于解密后的信息,采用非交互Bulletproofs认证方法,判断用户是否合法;
f4.若用户合法,则外域票据许可服务器TGS2构造消息Q4、构造访问外域应用服务器的票据Tickets、构造用户C和外域应用服务器S的会话秘钥Kc,s,其中, 然后采用外域票据许可服务器TGS2的私钥对Q4进行签名,生成签名信息并基于消息Q4和签名信息构造访问外域应用服务器的票据Tickets, 表示使用外域应用服务器S的公钥加密消息;
f6.外域票据许可服务器TGS2构造消息M6,
f7.外域票据许可服务器TGS2采用用户C的公钥KPc对消息M6加密,并发送给用户C。
作为进一步优化,步骤f3中,所述采用非交互Bulletproofs认证方法,判断用户是否合法,具体包括:外域票据许可服务器TGS2通过从用户C那里获得的参数消息M0,验证下列两个等式是否成立:
其中,x是外域票据许可服务器TGS2用于验证等式的随机秘钥,承诺S=Com(sL,sR),P是外域票据许可服务器TGS2根据从用户C获得的参数进行计算后获得的结果;若上述等式成立,则能够证明信息的合法性和正确性。
作为进一步优化,步骤g包括:
g1.用户C接收外域票据许可服务器TGS2发送的消息M6;
g2.用户C采用其私钥KRc对解密消息M6;
g3.用户C根据解密信息中的随机数判断消息M6是否为重放;
g5.若票据Tickets正确,则用户C生成另一个防止重放的随机数Random4,并基于Random4和IDRealm构造则生成新的身份验证码Auth2, 表示使用用户C和外域应用服务器S的会话秘钥Kc,s加密消息;
g6.用户C构造消息M7,
g7.用户C采用外域应用服务器S的公钥KPS对消息M7进行加密,并发送给服务器S。
作为进一步优化,步骤h包括:
h1.外域应用服务器S接收用户C发送的消息M7;
h2.外域应用服务器S采用其私钥KRs解密消息M7;
h4.外域应用服务器S利用从外域票据许可服务器TGS2获得的会话密钥Kc,s解密Auth2,得到参数IDRealm、rQ3、Random4,判断该IDRealm和是否与解密Tickets所得到Q4中的IDRealm和一致,以确认票据是否为原始申请用户所持有,从而验证消息M7的正确性和合法性;
h5.验证通过,则外域应用服务器S构造消息M8:
M8={Random4+1}
h6.外域应用服务器S采用用户C和服务器S之间的会话密钥Kc,s对消息M8进行加密,并将加密后的消息M8发送给用户C,作为双方相互鉴别的消息;
h7.用户C与外域应用服务器S建立正式通信。
本发明的有益效果是:解决Kerberos跨域认证模型中,用户在跨域认证过程中需要提交包含自己身份信息的证明票据的缺陷,运用零知识证明的思想,使得用户无需提交相关票据也能证明自己的合法身份,避免了用户身份信息的泄露;
使用Bulletproofs零知识证明使用非交互方式的零知识证明方法,减少了用户和服务器之间的交互次数,当跨域认证系统比较大的时候,会大大的减少系统的通信量。
附图说明
图1是本发明实施例的总体方法流程。
具体实施方式
为了便于理解,首先对本发明中可能出现的相关参数符号说明如下:
1)ID名称参数:
AS表示认证服务器,其中,AS1为本域的认证服务器;
TGS表示票据许可服务器,其中,TGS1为域内票据许可服务器,TGS2为外域票据许可服务器;
2)秘钥参数:
(3)票据参数:
(4)签名信息:
(rM,sM)表示对信息M的签名,例如消息Q1的签名信息消息Q2的签名信息本域票据许可服务器票据的签名信息外域票据许可服务器票据的签名信息身份验证码Auth1的签名信息消息Q3的签名信息外域应用服务器S的签名信息身份验证码Auth2的签名信息其中,rM和sM是两个根据消息M产生的用于认证用户信息的加密算法参数。
本发明旨在提出一种基于Bulletproofs的Kerberos跨域认证方法,在进行跨域认证时,用户无需提交含自身身份信息的相关票据也能证明自己的合法身份,避免了用户身份信息的泄露。
实施例:
如图1所示,本实施例中的基于Bulletproofs的Kerberos跨域认证方法流程包括:
S1、用户C向本域的认证服务器AS1请求访问外域应用服务器S;
S5、用户C构造非交互Bulletproofs认证的参数,也即证明自己身份且不包含自身敏感信息的数据;用户C根据获得的票据向外域票据许可服务器TGS2请求访问外域应用服务器S,并向外域票据许可服务器TGS2传递非交互Bulletproofs认证的参数;
S6、外域票据许可服务器TGS2根据获得的非交互Bulletproofs认证的参数,通过非交互Bulletproofs认证方法验证用户C的身份,在确定用户身份后,向用户C发送访问外域应用服务器S的票据Tickets;
S7、用户C根据获得的外域应用服务器S的票据Tickets,向外域应用服务器S发送认证请求;
S8、外域应用服务器S接受用户C的认证,并向用户C发送建立通信的消息,双方建立正式通信。
下面针对各个步骤的具体实施手段进行详细说明。
S102、用户C构造消息M1:
S201、本域认证服务器AS1接收用户C发送的消息M1;
S202、本域认证服务器AS1采用自己的私钥KRas1解密消息M1;
S204、如果用户C的身份存在且合法,则本域认证服务器AS1构造消息Q2,
S206、本域认证服务器AS1构造消息M2:
S207、本域认证服务器AS1对消息M2采用用户C的公钥KPc进行加密后发送给用户,加密后的消息M2为:
对于步骤S3,本步骤中,用户C收到消息M2后,首先判断消息是否重放;然后验证的正确性。接着,用户C构造身份验证码,并用自己的私钥KRc对身份验证码进行签名得到最后,用户C构造消息M3,使用TGS1的公钥进行加密,将加密后的M3发送至TGS1请求跨域访问票据,包括以下步骤:
S301、用户C接收来自本域认证服务器AS1发送的加密后的消息M2;
S302、用户C采用自己的私钥KRc对加密后的消息M2进行解密;
S303、用户C根据解密后的信息中的随机数判断消息M2是否重放;具体方法为,用户C用自己的私钥KRc解密消息后,判断消息中的参数Random+1是否是自己发出的随机数+1,以判断该消息是否为重放;
S305、用户确定票据无误后,用户C构造身份验证码Auth1,
S306、用户C构造消息M3:
对于步骤S4,本步骤中,在TGS1收到消息M3后,首先用自己的私钥解密得到各种信息。然后确认身份验证码确实是由用户C发出,并且确认Q2确实是由AS1发出,判断票据是否为原始申请用户所拥有,如果一致,TSG1则开始构造身份信息Q3,以及签名得到并生成跨域访问票据接着,TSG1为票据签名生成最后,TSG1构造消息M4,将消息M4发送至用户C,包括以下步骤:
S401、域内票据许可服务器TGS1接收用户C发送的加密后的消息M3;
S403、域内票据许可服务器TGS1验证消息M3的正确性以及是否被篡改;
S404、域内票据许可服务器TGS1对消息M3验证通过后,则域内票据许可服务器TGS1构造消息Q3,
S406、域内票据许可服务器TGS1构造消息M4:
S407、域内票据许可服务器TGS1采用用户C的公钥KPc对消息M4进行加密,加密后的M4:
对于步骤S5,本步骤中,用户C收到消息M4后,首先用自己的私钥KRc解密得到各种信息,并验证是否重放。然后用TGS1的公钥验证以确认是由TGS1签发的。接着,用户C用解密得到参数Q3和最后,C构造消息M5,将消息M5发送给域B的TGS2,包括以下步骤:
S501、用户C接收域内票据许可服务器TGS1发送的加密后的消息M4;
S502、用户C采用自己的私钥KRc对加密后的消息M4进行解密;
S503、用户C基于解密获得的信息判断消息M4是否重放;
S505、用户C构造非交互Bulletproofs零知识证明的参数M0;
参数M0是不包含用户个人信息,却又能向认证服务器证明自己身份的信息,该消息中仅包含用户来自的域ID,而不含用户ID用户地址等敏感信息:
其各个参数的具体生成过程包括:
1)参数sL,sR是两个盲化因子,产生过程如下:
以参数v表示用户C私钥KRc所对应的整数,首先将v转化为二进制向量a,进而构造向量aL=a,aR=a-1,然后产生两个从aL、aR中盲化出来的盲化因子sL,sR;
2)参数y,z是生成的两个随机数,产生过程如下:
5)参数t(x),δ(y,z)是Bulletproofs的证明参数,其中,
δ(y,z)=(z-z2)<1,yn>-z3<1,2n>
t(x)=t0+t1x+t2x2
其中,δ(y,z)为不包含秘密数的多项式,y(x)为包含秘密数且盲化后的多项式l(x)和r(x)的内积,t0、t1、t2分别为多项式t(x)自变量前的系数,x为用于构造多项式t(x)的随机私钥,在实施例中为用户C的私钥KRc;
t(x)的构造过程如下:
l(x)=l0+l1x=(aL+sLx)-z1
t(x)=<l(x),r(x)>=t0+t1x+t2x2
t2=<l1,r1>
t1=<l0+l1,r0+r1>-t0-t2
7)参数V,T1,T2由Pedersen承诺得到:V=com(v)、T1=com(t1)、T2=com(t2);
基于向量的Pedersen承诺A=Com(aL,aR),承诺S=Com(sL,sR),参数通过公式获得,其中为承诺A=Com(aL,aR)对应的盲化因子参数,为承诺S=Com(sL,sR)对应的盲化因子参数。
最终,结合步骤(1)~(8)获得的参数,就可以构造消息M0:
S506、用户C构造消息M5:
对于步骤S6,本步骤中,外域也即域B的TGS2收到消息M5后,用自己的私钥解密,得到各种参数信息。然后验证用户的信息,TGS2为用户C构建访问服务的票据Tickets,用服务器S的公钥进行加密,并为票据Tickets签名,生成最后,TGS2构造消息M6,将消息发送到用户C,包括以下步骤:
S601、外域票据许可服务器TGS2接收用户C发送的加密后的消息M5;
S603、外域票据许可服务器TGS2基于解密后的信息,采用非交互Bulletproofs零知识证明验证消息M5的正确性,判断用户是否合法;
本步骤外域票据许可服务器TGS2通过从用户C那里获得的参数消息M0,验证下列两个等式是否成立:
其中,x是外域票据许可服务器TGS2用于验证等式的随机秘钥,在实施例中由TGS2通过秘钥生成算法随机生成,承诺S=Com(sL,sR),P是外域票据许可服务器TGS2根据从用户C获得的参数进行计算后获得的结果;
如果等式成立,则判断是否达到零知识证明轮数,如果未达到,则向用户C发出继续验证的消息,如果达到零知识证明轮数且轮询问全部成立,则域B(外域)的TGS2基于对域A(本域)的TGS1的信任,相信用户C是合法用户。
若计算出来得出P=<I(x),G>+<r(x),H′>,则能够验证“t(x)=<l(x),r(x)>”,从而验证用户的身份信息。
具体的,内积协议如下:使用以下符号定义系统
c=<a,b>
P=<a,G>+<b,H>
根据上述定义,需要进行以下这一个知识证明:
P=<a,G>+<b,H>∧c=<a,b>
P=<a,G>+<b,H>+cwB=<a,b>wB
继续引入以下符号对上面的等式进行简化:
k=lgn
P′=P+cwB
Q=wB
则获得:
P′=<a,G>+<b,H>+<a,b>Q
引入一个中间变量uk,并且对原始的a,b,G,H进行如下压缩变换:
Lk=<alo,Ghi>+<bhi,Hlo>+<alo,bhi>·Q
Rk=<ahi,Glo>+<blo,Hhi>+<ahi,blo>·Q
如果用户确实是诚实地在随机选择uk之前对Lk和Rk进行了承诺计算,并且上面这个等式成立,则原始的等式(关于Rk的那个等式)是极大概率成立。接下来可以继续对Pk-1压缩,与上面过程类似地引入中间变量uk-1,…,一直到到达最后的a(0),b(0),G(0),H(0)有:
将上面的等式按照定义Pk=P′=P+cwB和Q=wB,进行重写后发现:
用户在步骤S5中,可以简单地发送2个标量和给验证者,这样后者可以直接校验上面这个最终步的等式是否成立。总体的内积协议有lg n步,证明者可以一次性将所有的(Lj,Rj)发送给验证者,j=k…1,至此,对于证明l(x),r(x)的正确性,一共需要发送2lgn+2个元素,大大的减少了验证双方通信的数据量。
S604、若用户合法,则外域票据许可服务器TGS2构造消息Q4、构造访问外域应用服务器的票据Tickets、构造用户C和外域应用服务器S的会话秘钥Kc,s,其中,
S606、外域票据许可服务器TGS2构造消息M6:
S607、外域票据许可服务器TGS2采用用户C的公钥KPc对消息M6加密,加密后的消息M6为:
对于步骤S7,本步骤中,用户C收到消息M6后,用自己的私钥KRc解密得到参数。接着,判断Tickets是否为TGS2产生,如果正确,用户C则生成新的身份验证码Auth2,并用自己的私钥KRc对Auth2进行签名得到最后,用户C构造消息M7,使用S的公钥加密,将消息M7发送至外域应用服务器S,包括以下步骤:
S701、用户C接收外域票据许可服务器TGS2发送的加密后的消息M6;
S702、用户C采用自己的私钥KRc对加密后的消息M6进行解密;
S703、用户C根据解密信息中的随机数判断消息M6是否为重放;
S705、若票据Tickets正确,则用户C生成另一个防止重放的随机数Random4,并基于Random4和IDRealm构造则生成新的身份验证码Auth2, 表示使用用户C和外域应用服务器S的会话秘钥Kc,s加密消息;
S706、用户C构造消息M7:
S707、用户C采用外域应用服务器S的公钥KPS对消息M7进行加密,加密后的M7为:
对于步骤S8,本步骤中,服务器S利用自己的私钥KRs解密收到的消息M7,得到对应的参数,确认身份验证码确实由用户C产生,并且验证签名确认票据Tickets确实由TSG2签发。利用会话密钥Kc,s解密身份验证码,确认票据是否为初始申请票据的用户所持有,如果都没有问题,服务器S便构造消息M8,消息用用户C和服务器S之间的会话密钥加密,并且将消息M2发送给用户C作相互鉴别。之后用户和应用服务器之间后续通信正式开始,包括以下步骤:
S801、外域应用服务器S接收用户C发送的加密后的消息M7;
S802、外域应用服务器S采用自己的私钥KRs对加密后的消息M7进行解密;
S804、为了验证消息M7的正确性和合法性,外域应用服务器S利用从外域票据许可服务器TGS2获得的会话密钥Kc,s解密Auth2,得到参数IDRealm,Random4,判断该IDRealm和是否与解密Tickets所得到Q4中的IDRealm和一致,以确认票据是否为原始申请用户所持有,从而验证消息M7的正确性和合法性。
S805、外域应用服务器S构造消息M8:
M8={Random4+1}
Claims (12)
1.一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,包括以下步骤:
a.用户C向本域的认证服务器AS1请求访问外域应用服务器S;
e.用户C构造非交互Bulletproofs认证的参数,也即证明自己身份且不包含自身敏感信息的数据;用户C根据获得的票据向外域票据许可服务器TGS2请求访问外域应用服务器S,并向外域票据许可服务器TGS2传递非交互Bulletproofs认证的参数;
f.外域票据许可服务器TGS2根据获得的非交互Bulletproofs认证的参数,通过非交互Bulletproofs认证方法验证用户C的身份,在确定用户身份后,向用户C发送访问外域应用服务器S的票据Tickets;
g.用户C根据获得的外域应用服务器S的票据Tickets,向外域应用服务器S发送认证请求;
h.外域应用服务器S接受用户C的认证,并向用户C发送建立通信的消息,双方建立正式通信。
3.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤b包括:
b1.本域认证服务器AS1接收用户C发送的消息M1;
b4.若用户C的身份存在且合法,则本域认证服务器AS1构造消息Q2, 其中,为本域认证服务器AS1构造的域内票据许可服务器TGS1与用户C的共享的会话秘钥,为域内票据许可服务器号,IDc为用户C的用户号;
b6.本域认证服务器AS1构造消息M2,
b7.本域认证服务器AS1对消息M2采用用户C的公钥KPc进行加密,并发送给用户C。
4.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤C包括:
c1.用户C接收来自本域认证服务器AS1发送的消息M2;
C2.用户C采用其私钥KRc解密消息M2;
C3.用户C根据解密信息中的随机数判断消息M2是否为重放;
c5.在验证票据确由TGS1签发后,用户C构造身份验证码Auth1, 其中,Random2为用户生成的另一个防止重放的随机数,IDc为用户C的用户号,表示使用用户C和域内票据服务器TGS1的会话秘钥加密消息;
5.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤d包括:
d1.域内票据许可服务器TGS1接收用户C发送的消息M3;
d6.域内票据许可服务器TGS1构造消息M4,
d7.域内票据许可服务器TGS1采用用户C的公钥KPc对消息M4加密,并发送给用户C。
6.如权利要求5所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤d3中,所述域内票据许可服务器TGS1验证用户C的身份的正确性以及是否被篡改,具体包括:
7.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤e包括:
e1.用户C接收域内票据许可服务器TGS1发送的消息M4;
e2.用户C采用其私钥KRc对解密消息M4;
e3.用户C根据解密信息中的随机数判断消息M4是否为重放;
e5.用户C构造非交互Bulletproofs认证的参数M0;
8.如权利要求7所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤e5中,所述用户C构造非交互Bulletproofs认证的参数M0,
其各个参数的具体生成过程包括:
e51.参数sL,sR是两个盲化因子,产生过程如下:
以参数v表示用户C私钥KRc所对应的整数,首先将v转化为二进制向量a,进而构造向量aL=a,aR=a-1,然后产生两个从aL、aR中盲化出来的盲化因子sL,sR;
e52.参数y,z是生成的两个随机数,产生过程如下:
e55.参数t(x),δ(y,z)是Bulletproofs的证明参数,其中,
δ(y,z)=(z-z2)<1,yn>-z3<1,2n>
t(x)=t0+t1x+t2x2
其中,x为用于构造多项式t(x)的随机私钥,t0、t1、t2分别为多项式t(x)自变量前的系数;
e57.参数V,T1,T2由Pedersen承诺得到:V=com(v)、T1=com(t1)、T2=com(t2);
9.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤f包括:
f1.外域票据许可服务器TGS2接收用户C发送的消息M5;
f3.外域票据许可服务器TGS2基于解密后的信息,采用非交互Bulletproofs认证方法,判断用户是否合法;
f4.若用户合法,则外域票据许可服务器TGS2构造消息Q4、构造访问外域应用服务器的票据Tickets、构造用户C和外域应用服务器S的会话秘钥Kc,s,其中, 然后采用外域票据许可服务器TGS2的私钥对Q4进行签名,生成签名信息并基于消息Q4和签名信息构造访问外域应用服务器的票据Tickets, 表示使用外域应用服务器S的公钥加密消息;
f6.外域票据许可服务器TGS2构造消息M6,
f7.外域票据许可服务器TGS2采用用户C的公钥KPc对消息M6加密,并发送给用户C。
11.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤g包括:
g1.用户C接收外域票据许可服务器TGS2发送的消息M6;
g2.用户C采用其私钥KRc对解密消息M6;
g3.用户C根据解密信息中的随机数判断消息M6是否为重放;
g5.若票据Tickets正确,则用户C生成另一个防止重放的随机数Random4,并基于Random4和IDRealm构造则生成新的身份验证码Auth2, 表示使用用户C和外域应用服务器S的会话秘钥Kc,s加密消息;
g6.用户C构造消息M7,
g7.用户C采用外域应用服务器S的公钥KPS对消息M7进行加密,并发送给服务器S。
12.如权利要求1所述的一种基于Bulletproofs的Kerberos跨域认证方法,其特征在于,步骤h包括:
h1.外域应用服务器S接收用户C发送的消息M7;
h2.外域应用服务器S采用其私钥KRs解密消息M7;
h4.外域应用服务器S利用从外域票据许可服务器TGS2获得的会话密钥Kc,s解密Auth2,得到参数IDRealm、rQ3、Random4,判断该IDRealm和是否与解密Tickets所得到Q4中的IDRealm和一致,以确认票据是否为原始申请用户所持有,从而验证消息M7的正确性和合法性;
h5.验证通过,则外域应用服务器S构造消息M8:
M8={Random4+1}
h6.外域应用服务器S采用用户C和服务器S之间的会话密钥Kc,s对消息M8进行加密,并将加密后的消息M8发送给用户C,作为双方相互鉴别的消息;
h7.用户C与外域应用服务器S建立正式通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110835057.3A CN113468614B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Bulletproofs的Kerberos跨域认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110835057.3A CN113468614B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Bulletproofs的Kerberos跨域认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468614A true CN113468614A (zh) | 2021-10-01 |
CN113468614B CN113468614B (zh) | 2024-10-18 |
Family
ID=77882100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110835057.3A Active CN113468614B (zh) | 2021-07-23 | 2021-07-23 | 一种基于Bulletproofs的Kerberos跨域认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468614B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114050932A (zh) * | 2021-11-10 | 2022-02-15 | 安徽健坤通信股份有限公司 | 分布式系统的网络安全验证方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185316B1 (en) * | 1997-11-12 | 2001-02-06 | Unisys Corporation | Self-authentication apparatus and method |
WO2008020991A2 (en) * | 2006-07-28 | 2008-02-21 | Brown University | Notarized federated identity management |
US20100317420A1 (en) * | 2003-02-05 | 2010-12-16 | Hoffberg Steven M | System and method |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
US20190372763A1 (en) * | 2017-02-09 | 2019-12-05 | Huawei International Pte. Ltd. | System and method for computing private keys for self certified identity based signature schemes |
CN111339509A (zh) * | 2020-03-03 | 2020-06-26 | 李斌 | 一种基于侧链的区块链跨链身份认证方法 |
CN111539718A (zh) * | 2020-01-19 | 2020-08-14 | 南京邮电大学 | 一种基于侧链的区块链跨链身份认证方法 |
CN112789841A (zh) * | 2018-08-28 | 2021-05-11 | 思杰系统有限公司 | 在远程访问或基于云的网络环境中访问资源 |
-
2021
- 2021-07-23 CN CN202110835057.3A patent/CN113468614B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185316B1 (en) * | 1997-11-12 | 2001-02-06 | Unisys Corporation | Self-authentication apparatus and method |
US20100317420A1 (en) * | 2003-02-05 | 2010-12-16 | Hoffberg Steven M | System and method |
WO2008020991A2 (en) * | 2006-07-28 | 2008-02-21 | Brown University | Notarized federated identity management |
CN103780618A (zh) * | 2014-01-22 | 2014-05-07 | 西南交通大学 | 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法 |
US20190372763A1 (en) * | 2017-02-09 | 2019-12-05 | Huawei International Pte. Ltd. | System and method for computing private keys for self certified identity based signature schemes |
CN112789841A (zh) * | 2018-08-28 | 2021-05-11 | 思杰系统有限公司 | 在远程访问或基于云的网络环境中访问资源 |
CN111539718A (zh) * | 2020-01-19 | 2020-08-14 | 南京邮电大学 | 一种基于侧链的区块链跨链身份认证方法 |
CN111339509A (zh) * | 2020-03-03 | 2020-06-26 | 李斌 | 一种基于侧链的区块链跨链身份认证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114050932A (zh) * | 2021-11-10 | 2022-02-15 | 安徽健坤通信股份有限公司 | 分布式系统的网络安全验证方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113468614B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6515246B2 (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
US20200013026A1 (en) | Systems and methods for blockchain addresses and owner verification | |
KR100962399B1 (ko) | 익명 공개 키 기반구조 제공 방법 및 이를 이용한 서비스제공 방법 | |
US9021572B2 (en) | Anonymous access to a service by means of aggregated certificates | |
US20220327530A1 (en) | Digital signature generation using a cold wallet | |
CN106341232B (zh) | 一种基于口令的匿名实体鉴别方法 | |
US12120249B2 (en) | Private key security in the cloud | |
CN113360943B (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN105187405A (zh) | 基于信誉的云计算身份管理方法 | |
Paquin | U-prove technology overview v1. 1 | |
Xiong et al. | Priam: Privacy preserving identity and access management scheme in cloud | |
Kurmi et al. | A survey of zero-knowledge proof for authentication | |
Damgård et al. | Stronger security and constructions of multi-designated verifier signatures | |
JP2004348709A (ja) | コンテンツ利用者認証システム及び方法 | |
Li et al. | AvecVoting: Anonymous and verifiable E-voting with untrustworthy counters on blockchain | |
Takaragi et al. | Secure revocation features in eKYC-privacy protection in central bank digital currency | |
CN113468614B (zh) | 一种基于Bulletproofs的Kerberos跨域认证方法 | |
CN117749369A (zh) | 一种基于区块链和ipfs的安全遥感图像数据共享系统及方法 | |
JP3513324B2 (ja) | ディジタル署名処理方法 | |
CN114978622A (zh) | 一种基于区块链和零知识证明的匿名凭证验证方法及系统 | |
Wei et al. | A general compiler for password-authenticated group key exchange protocol in the standard model | |
Harn et al. | An efficient group authentication for group communications | |
Tang et al. | Identity‐Based Identification Scheme without Trusted Party against Concurrent Attacks | |
CN115860750B (zh) | 一种电动汽车电力交易身份认证隐私保护方法 | |
CN114005190B (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 |