CN107342859B - 一种匿名认证方法及其应用 - Google Patents

一种匿名认证方法及其应用 Download PDF

Info

Publication number
CN107342859B
CN107342859B CN201710552227.0A CN201710552227A CN107342859B CN 107342859 B CN107342859 B CN 107342859B CN 201710552227 A CN201710552227 A CN 201710552227A CN 107342859 B CN107342859 B CN 107342859B
Authority
CN
China
Prior art keywords
client
key
parameter
application server
formula
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
Application number
CN201710552227.0A
Other languages
English (en)
Other versions
CN107342859A (zh
Inventor
张顺
范鸿丽
石润华
刘来祥
杨龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN201710552227.0A priority Critical patent/CN107342859B/zh
Publication of CN107342859A publication Critical patent/CN107342859A/zh
Application granted granted Critical
Publication of CN107342859B publication Critical patent/CN107342859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一个可追踪匿名认证方法及其应用,包括1、可信密钥生成中心生成系统参数,应用服务器的公私钥以及客户端的部分公私钥;2、任意一个客户端生成离线参数和在线签名;3、应用服务器对在线签名进行验证,并生成认证码发送给客户端;4、客户端对认证码进行验证,并得到应用服务器的后续服务。5、发生纠纷时,应用服务器将客户端的伪身份提交给密钥生成中心,密钥生成中心可以揭示客户端的真实身份。本发明能有效解决现有无线体域网络中匿名认证过程中客户端计算代价高以及应用服务器认证效率低的问题,同时实现客户端的身份可追踪,提高客户端的隐私性。

Description

一种匿名认证方法及其应用
技术领域
本发明涉及无证书签名与匿名身份认证技术领域,具体地说是一种适用于无线体域网中保护客户端身份隐私及数据机密性的匿名认证方法。
背景技术
在一般匿名认证的网络模型中,主要存在两种参与方:客户端以及应用服务器。客户端向应用服务器请求服务时,应用服务器首先确认客户端身份是否合法,确认客户端身份合法后才能为该客户端提供服务,其中客户端为资源受限的设备,应用服务器端是资源相对充足的设备。此外,为了保护客户端的隐私,主要有两种匿名方式:第一种是弱匿名,即只对网络中的其他客户端进行匿名,而对应用服务器公开其身份信息;第二种是强匿名,即对网络的其他客户端进行匿名的同时对应用服务器也进行匿名。显然第二种身份匿名有更高的安全性。典型应用场景如图1所示。因此匿名认证以及密钥协商协议可以使客户端在公开网络中隐藏自己的身份,并将数据传输到特定的应用服务器端进行存储分析。
已有的一些匿名认证协议提供了相互认证和客户端强匿名性。这些方案中强匿名认证主要体现在:
1)服务器维护一个验证表,通过验证表来验证请求服务客户端的合法身份。但是验证表的维护不仅会增加服务器的存储代价,而且会存在信息不同步的风险。并且一旦验证表被攻破,攻击者可以伪装成任意合法的用户,无法保证相互认证。
2)引入可信的第三方,第三方可以是重签名者,将客户端的签名进行重签名,可以隐藏客户端的身份。但是第三方必须是完全可信的,使其在实际中的应用受到了一定的限制。
目前,在匿名认证方法中首先要保证相互认证以及客户端的隐私,并且由于客户端是资源受限的设备,还需要考虑客户端的开销。此外,这些匿名认证协议中没有考虑到客户端身份的可追踪性。即客户端的行为不当时无法追踪到客户端的真实身份,导致恶意的客户端仍然可以获得合法的服务。
发明目的
本发明为了解决上述现有技术存在的不足之处,提供一种匿名认证方法及其应用,以期能有效的解决现有无线体域网中客户端匿名认证过程中客户端计算代价高以及认证效率低的问题,同时能实现客户端身份可追踪,从而提高客户端的安全性。
本发明为解决技术问题所采用的技术方案是:
本发明一种匿名认证方法的特点是应用于由一个可信的密钥生成中心KGC、若干个客户端和若干个应用服务器所构成的无线体域网环境中;记任意一个客户端为Ci、任意一个应用服务器为Sj,所述匿名认证方法是按如下步骤进行:
步骤1、所述密钥生成中心KGC生成自身的公私钥和系统参数,并公开所述系统参数;同时为所有应用服务器生成公私钥,记任意一个应用服务器Sj的公钥和私钥为PKj和skj
步骤2、任意一个客户端Ci选择一个随机数并生成部分伪身份PID′i后,将自身真实身份IDi与所述部分伪身份PID′i一起发送给所述密钥生成中心KGC;
步骤3、所述密钥生成中心KGC根据所接收到的客户端Ci的自身真实身份IDi与部分伪身份PID′i,并利用所述密钥生成中心KGC自身的私钥计算客户端Ci的另一部分伪身份PID″i;由所述部分伪身份PID′i和另一部分伪身份PID′i构成所述客户端Ci完整的伪身份PIDi
步骤4、所述密钥生成中心KGC为所述客户端Ci生成部分私钥si和公钥参数Wi,并将所述客户端Ci完整的伪身份PIDi、部分私钥si和公钥参数Wi通过安全信道一起发生给所述客户端Ci
步骤5、所述客户端Ci根据所述系统参数和公钥参数Wi验证所接收到的部分私钥si的合法性,若验证合法,则接受所述部分私钥si并执行步骤6;否则,拒绝所述部分私钥si并返回步骤2;
步骤6、所述客户端Ci选择一个随机数作为自身的秘密值xi,并利用所述秘密值xi生成所述客户端Ci的部分公钥PKi;由所述秘密值xi与所述部分私钥si共同组成所述客户端Ci完整的私钥(xi,si);由所述部分公钥PKi与所述公钥参数Wi共同组成所述客户端Ci完整的公钥(PKi,Wi);
步骤7、将所述客户端Ci准备向任一应用服务器发送消息之前的阶段作为所述客户端Ci的离线阶段;在所述离线阶段,所述客户端Ci利用式(1)-式(3)计算离线参数{Xi,X′i,randi,yi}:
bi=h1(PIDi,Xi) (2)
yi=si+bixi (3)
式(1)-式(3)中,Xi表示客户端Ci的签名验证参数,X′i表示客户端Ci的身份验证参数,randi表示随机数,P表示椭圆曲线中的生成元,bi表示客户端Ci的哈希值,h1(·)表示哈希函数;yi表示客户端Ci的离线签名;
步骤8、将所述客户端Ci确定向应用服务器Sj发送消息m的阶段作为所述客户端Ci的在线阶段;在所述在线阶段,所述客户端Ci根据所述消息m和离线参数{Xi,X′i,randi,yi},利用式(4)和式(5)生成在线签名,并利用式(6)对所生成的在线签名进行加密:
hi=h2(m,PIDi,Xi,t) (4)
σi=randi+hiyi (5)
式(4)-式(6)中,t为一个变量,表示当前时间戳,h2(·)表示另一个哈希函数;hi表示另一个哈希值,σi表示客户端Ci的消息签名;||表示连接串符号,表示密钥为h(X′i)的对称加密函数;Qi表示客户端Ci的密文;
步骤9、所述客户端Ci将消息签名的参数{Xi,Qi,t}发送给所述应用服务器Sj
步骤10、若所述应用服务器Sj在一段时间内只接受到一个消息签名的参数,则执行步骤10.1;若接收到n个消息签名的参数,则执行步骤10.2;
步骤10.1、所述应用服务器Sj使用自身的私钥skj以及所接收到的消息签名的参数验证单个消息签名的有效性;若有效,则执行步骤11;否则,所述应用服务器Sj拒绝与相应客户端进行消息通讯;
步骤10.2、所述应用服务器Sj使用自身的私钥skj以及所接收到的n个消息签名的参数,利用批认证方法对n个消息签名进行批量验证有效性;若均有效,则执行步骤11;否则,所述应用服务器Sj拒绝与n个客户端进行消息通讯;
步骤11、所述应用服务器Sj根据密钥协商协议得到与所述客户端Ci共享的会话密钥keyi,并利用所述会话密钥key生成认证码及相关消息后发给所述客户端Ci
步骤12、所述移动客户端Ci根据所述系统参数和相关消息得到所述会话密钥keyi,并利用所述会话密钥keyi对所述认证码进行验证;当验证通过时,利用所述会话密钥keyi得到所述应用服务器Sj的后续服务。
本发明所述的匿名认证方法的特点也在于,所述批认证方法是按如下步骤进行:
步骤10.2.1、所述应用服务器Sj逐一对每个消息签名参数中的验证时间戳t的有效性进行验证;若均有效,则直接执行步骤10.2.2;若发现存在无效的时间戳t,则丢弃无效的时间戳t所对应的消息签名的参数后,执行步骤10.2.2;
步骤10.2.2、假设有效的消息签名参数有d个,1<d≤n;所述应用服务器Sj使用自身的私钥skj以及所接收到的d个消息签名参数中的签名验证参数Xi,利用式(7)计算得到身份验证参数X′i,1≤i≤d;
X′i=skjXi (7)
步骤10.2.3、所述应用服务器Sj利用身份验证参数X′i计算密钥h(Xi′)的哈希值,利用所述密钥h(X′i)的哈希值对消息签名参数中的密文Qi进行解密,从而得到客户端Ci的身份参数(PIDi||σi||m||PKi||Wi);
步骤10.2.4、所述应用服务器Sj根据式(2)和式(4)重新计算哈希值hi和bi,并利用式(8)计算第三个哈希值ai
ai=h1(PIDi,Wi) (8)
步骤10.2.5、所述应用服务器Sj随机选择一组向量{e1,e2,....,ei,....,ed},其中,ei表示第i个向量,并有ei∈[1,2l],l为指数;再利用式(9)验证d个消息签名的有效性,若式(9)成立,则表示d个消息签名有效,否则表示d个消息签名无效;
式(9)中,Ppub为所述密钥生成中心KGC的公钥。
本发明一种匿名认证方法的应用的特点是,所述批认证方法应用于身份追踪过程中,并按如下步骤进行:
步骤13、所述应用服务器Sj将解密得到的客户端Ci的身份参数(PIDi||σi||m||PKi||Wi)中的伪身份PIDi提交给所述密钥生成中心KGC;
步骤14、所述密钥生成中心KGC根据自身私钥s,并利用式(10)计算所述客户端Ci的真实身份IDi,从而揭示所述客户端Ci的真实身份:
与现有的匿名认证技术相比,本发明的有益效果体现在:
1.相对于已有方法来说,本发明使用在线离线签名以及批认证技术,降低了客户端的计算代价以及签名效率,应用服务器的认证代价,提高了匿名认证方法的时效性。同时密钥生成中心生成客户端的伪身份,可以由此追踪到客户端的真实身份,提高了客户端的安全性。
2.本发明中客户端产生的签名只有客户端指定的应用服务器才能进行验证,即使签名消息被攻击者截获,攻击者也无法验证签名的合法性,进而无法得到签名者的身份,从而提高了客户端的安全性。
3.本发明中通过引入在线离线技术,在离线阶段可以预先计算一些复杂的运算,相对于已有工作来说,能够有效降低了计算能力有限的客户端的计算代价,从而在一定程度上提高了签名效率。
4.本发明中应用服务器同时收到多条验证消息时,可以使用批认证技术同时验证签名的有效性,从而降低了应用服务器端验证的开销。
5.本发明中密钥生成中心使用自身私钥生成客户端的部分伪身份。在出现纠纷时,密钥生成中心可以根据伪身份计算出客户端的真实身份,提高了客户端的安全性。
附图说明
图1为本发明应用场景图;
图2为本发明的网络模型图;
图3为本发明的消息签名及认证的详细流程图。
具体实施方式
如图1所示,一种匿名认证方法实施于若干个客户端和若干个应用服务器构成的无线体域网环境中。该应用环境中具体的实体模型如图2所示为:①密钥生成中心KGC。主要负责初始化生成系统参数,为应用服务器生成公私钥对以及为客户端生成伪身份和部分私钥等。②任意一个客户端Ci。一般为移动智能设备,如智能手机,数字管家等。特点为可移动,方便携带,存储空间有限,计算能力低。请求服务之前需要到KGC处注册,并获取相关安全参数。③任意一个应用服务器Sj。为客户端提供远程服务,如健康监护、远程医疗诊断等。该方法是按如下步骤进行
步骤1、密钥生成中心KGC生成自身的公私钥和系统参数,并公开系统参数;同时为所有应用服务器生成公私钥,记任意一个应用服务器Sj的公钥和私钥为PKj和skj
(1.1)密钥生成中心KGC初始化系统参数,输入的安全参数为λ,其中大素数p是按照如下步骤生成:
a)确定大素数p的位长d;根据具体的安全需求,设定安全参数λ=1024,则在椭圆曲线密码ECC体制中d=160;
b)随机生成1个位长为d比特的末位为1的奇数q;如160比特Solinas素数q=2159+217+1;
c)采用素数检测方法判断q是否为素数。若是,则令q=12pr-1;否则重新执行步骤b)。
(1.2)密钥生成中心KGC定义一个阶为q的循环加法群G,生成元组{Fp,E/Fp,G,P}。定义4个安全的hash函数:
(1.3)密钥生成中心KGC选取一个随机数令Ppub=sP。设定应用服务器Sj的私钥为skS,公钥为PKS=skSP。
(1.4)密钥生成中心KGC将{E,E/Fp,P,G,q,h,h1,h2,h3}作为系统公共参数,并将这些参数预设到所有客户端和应用服务器。
步骤2、任意一个客户端Ci选择一个随机数并生成部分伪身份PID′i后,将自身真实身份IDi与部分伪身份PID′i一起发送给密钥生成中心KGC;
(2.1)客户端Ci随机选取计算PID′i=riP。
(2.2)然后客户端向密钥生成中心KGC提交自己的真实身份IDi∈{0,1}*(如电子邮箱、身份证号等)和PID′i
步骤3、密钥生成中心KGC根据所接受到的客户端Ci的自身真实身份IDi与部分伪身份PID′i,并利用密钥生成中心KGC自身的私钥计算客户端Ci的另一部分伪身份PID″i;由部分伪身份PID′i和另一部分伪身份PID″i构成客户端Ci完整的伪身份PIDi
(3.1)密钥生成中心KGC检验所述客户端身份Ci的合法性。若合法,则密钥生成中心KGC计算
(3.2)结合接收到的部分伪身份PID′i,客户端Ci完整的伪身份为PIDi={PID′i,PID″i}。
步骤4、密钥生成中心KGC为客户端Ci生成部分私钥si和公钥参数Wi,并将客户端Ci完整的伪身份PIDi、部分私钥si和公钥参数Wi通过安全信道一起发生给客户端Ci
(4.1)密钥生成中心KGC随机选择计算Wi=wiP,ai=h1(PIDi,Wi),si=wi+ais。将{PIDi,Wi,si}通过安全信道传送给客户端Ci;这里,SSL(安全套接字协议,SecureSockets Layer)和TLS(传输层安全协议,Transport Layer Security)可以确保消息在网络中安全的传送,使用其中任意一个来建立安全信道。
步骤5、客户端Ci根据系统参数和公钥参数Wi验证所接收到的部分私钥si的合法性,若验证合法,则接受部分私钥si并执行步骤6;否则,拒绝部分私钥si并返回步骤2;
(5.1)收到{PIDi,Wi,si}后,客户端Ci首先通过公式(1)来验证部分密钥的合法性:
如果等式成立,客户端Ci接受si作为用户部分私钥,Wi作为公钥参数。
步骤5中密钥的安全性基于离散对数(discrete logarithmproblem,DLP):给定元素aP∈G,求解
步骤6、客户端Ci选择一个随机数作为自身的秘密值xi,并利用秘密值xi生成客户端Ci的部分公钥PKi;由秘密值xi与部分私钥si共同组成客户端Ci完整的私钥(xi,si);由部分公钥PKi与公钥参数Wi共同组成客户端Ci完整的公钥(PKi,Wi);
(6.1)客户端Ci随机选择计算PKi=xiP。
(6.2)客户端Ci的完整私钥(xi,si),完整公钥(PKi,Wi)。
步骤7、将客户端Ci准备向任一应用服务器发送消息之前的阶段作为客户端Ci的离线阶段;在离线阶段,客户端Ci利用式(1)-式(3)计算离线参数{Xi,X′i,randi,yi}:
bi=h1(PIDi,Xi) (2)
yi=si+bixi (3)
式(1)-式(3)中,Xi表示客户端Ci的签名验证参数,X′i表示客户端Ci的身份验证参数,randi表示随机数,P表示椭圆曲线中的生成元,bi表示客户端Ci的哈希值,h1(·)表示哈希函数;yi表示客户端Ci的离线签名;其中,离线计算阶段可以在资源充足的设备上进行计算,生成一系列的离线参数{Xi,X′i,randi,yi}进行存储。客户端每次可以选取一组参数,这样可以有效减少客户端的存储代价。具体实施如图3中步骤3所示;
步骤8、将客户端Ci确定向应用服务器Sj发送消息m的阶段作为客户端Ci的在线阶段;在在线阶段,客户端Ci根据消息m和离线参数{Xi,X′i,randi,yi},利用式(4)和式(5)生成在线签名,并利用式(6)对所生成的在线签名进行加密:
hi=h2(m,PIDi,Xi,t) (4)
σi=randi+hiyi (5)
式(4)-式(6)中,t为一个变量,表示当前时间戳,h2(·)表示另一个哈希函数;hi表示另一个哈希值,σi表示客户端Ci的消息签名;||表示连接串符号,表示密钥为h(′i)的对称加密函数;Qi表示客户端Ci的密文;具体实施如图3中步骤4所示;
步骤8中的签名(Xii)的不可伪造性可以规约到DLP问题。在第一类敌手下,签名的伪造形式可为:Xi=randiP,hi=h2(m,PIDi,Xi,t),σi=randi+hiyi,得到σi与原签名形式相同,所以利用分叉引理,当两个伪造的原始签名(m,Xii),满足m=m*时,挑战者可以计算σi=randi+hi(wi+aia+bixi),推出所以得到等式由此可以解决DLP,所以原始签名不可伪造。
在第二类敌手下,签名的伪造形式可为:Xi=randiP,hi=h2(m,PIDi,Xi,t),σi=randi+hiyi,得到σi与原签名形式相同,所以利用分叉引理,当两个伪造的原始签名(m,Xii),满足m=m*时,挑战者可以计算σi=randi+hi(wi+aia+bia),推出所以得到等式由此可以解决DLP,所以原始签名不可伪造。
步骤9、客户端Ci将消息签名的参数{Xi,Qi,t}发送给应用服务器Sj
步骤10、若应用服务器Sj在一段时间内只接受到一个消息签名的参数,则执行步骤10.1;若接收到n个消息签名的参数,则执行步骤10.2;
步骤10.1、应用服务器Sj使用自身的私钥skj以及所接收到的消息签名的参数验证单个消息签名的有效性;若有效,则执行步骤11;否则,应用服务器Sj拒绝与相应客户端进行消息通讯;
(10.1.1)收到{Xi,Qi,t}后,首先检查t′-t≤Δt是否成立。若不成立,则认为消息已经失效,丢弃该消息;如果成立,执行(10.1.2)。
(10.1.2)应用服务器Sj计算X′i=skSXi,然后解密发送的Qi得(PIDi||σi||m||PKi||Wi)。然后计算hi=h2(m,PIDi,Xi,ti),ai=h1(PIDi,Wi),bi=h(PIDi,Xi)。最后验证等式是否成立,若式(9)成立,则表示消息签名有效,否则表示消息签名无效;
步骤10.2、应用服务器Sj使用自身的私钥skj以及所接收到的n个消息签名的参数,利用批认证方法对n个消息签名进行批量验证有效性;若均有效,则执行步骤11;否则,应用服务器Sj拒绝与n个客户端进行消息通讯;
步骤10.2.1、应用服务器Sj逐一对每个消息签名参数中的验证时间戳t的有效性进行验证t′-t≤Δt是否成立;若均成立,则直接执行步骤10.2.2;若发现存在无效的时间戳t,则丢弃无效的时间戳t所对应的消息签名的参数后,执行步骤10.2.2;
步骤10.2.2、假设有效的消息签名参数有d个,1<d≤n;应用服务器Sj使用自身的私钥skj以及所接收到的d个消息签名参数中的签名验证参数Xi,利用式(7)计算得到身份验证参数X′i,1≤i≤d;
X′i=skjXi (7)
步骤10.2.3、应用服务器Sj利用身份验证参数X′i计算密钥h(X′i)的哈希值,利用密钥h(X′i)的哈希值对消息签名参数中的密文Qi进行解密,从而得到客户端Ci的身份参数(PIDi||σi||m||PKi||Wi);
步骤10.2.4、应用服务器Sj根据式(2)和式(4)重新计算哈希值hi和bi,并利用式(8)计算第三个哈希值ai
ai=h1(PIDi,Wi) (8)
步骤10.2.5、应用服务器Sj随机选择一组向量{e1,e2,....,ei,....,ed},其中,ei表示第i个向量,并有ei∈[1,2l],l为指数;再利用式(9)验证d个消息签名的有效性,若式(9)成立,则表示d个消息签名有效,否则表示d个消息签名无效;
式(9)中,Ppub为密钥生成中心KGC的公钥。
步骤10.2.5中公式(9)的正确性在于:
步骤11、应用服务器Sj根据密钥协商协议得到与客户端Ci共享的会话密钥keyi,并利用会话密钥keyi生成认证码及相关消息后发给客户端Ci
(11.1)应用服务器Sj选择一个随机数rand′i,计算Di=rand′iP,Ki=rand′iXi。利用式(10)计算客户端Ci的会话密钥keyi
keyi=h3(Xi,X′i,Di,Ki) (10)
式(10)中,h3(·)表示第三个哈希函数;Di表示会话密钥keyi的验证参数:Ki表示对称参数,且Ki=rand′iXi
(11.2)利用会话密钥keyi和验证参数Di生成认证码MACkey(Di),并将验证参数Di和认证码发送给客户端Ci进行验证;
步骤11中的会话密钥安全性基于CDH问题。采用Diffie-Hellman密钥协商方式,而Diffie-Hellman密钥协商协议的安全性基于CDH问题。
步骤12、客户端Ci根据系统参数和相关消息得到会话密钥keyi,并利用会话密钥keyi对认证码进行验证;当验证通过时,从而能利用会话密钥keyi得到应用服务器Sj的服务。
(12.1)客户端Ci根据验证参数Di和随机数randi,利用式(11)计算对称参数Ki′:
K′i=randiDi (11)
(12.2)客户端Ci根据验证参数Di和对称参数K′i,利用式(12)计算会话密钥keyi
keyi=h3(Xi,X′i,Di,K′i) (12)
(12.3)客户端Ci利用会话密钥keyi对认证码进行解密,得到验证参数D′i,并将解密得到的验证参数D′i和接收到的验证参数Di进行比较验证;若相同,则将会话密钥keyi作为客户端Ci与应用服务器Sj之间的会话密钥,否则,拒绝会话密钥keyi
步骤13、发生纠纷时,应用服务器Sj将解密得到的客户端Ci的身份参数(PIDi||σi||m||PKi||Wi)中的伪身份PIDi提交给密钥生成中心KGC;
步骤14、密钥生成中心KGC根据自身私钥s,并利用式(13)计算客户端Ci的真实身份IDi,从而揭示客户端Ci的真实身份:
下面通过实施例中的匿名认证中安全性需求,计算代价、存储代价以及通信代价来进一步详细说明本发明。
实施例:
对于基于验证表的匿名认证协议,如Liu的方案。对于基于假名池的方案,如Zhao的方案。为了提供与1024bits的RSA相同等级的安全性,采用定义在超奇异曲线E/FP:y2=x3+x上的Tate配对e:G1×G1→G2。q=2159+217+1是160-bit的Solonas素数,p=12qr-1是512-bit素数,用户的身份信息和时间戳均为32bits。对于基于ECC的协议,采用定义在F2163上的Koblitz椭圆曲线y2=x3+a·x2+b,其中在a=1,b是任意163-bit素数的情况下可以达到相同等级的安全性。其中一些主要的密码学操作符号表示如下:
Te表示执行一次双线性对操作的时间,TE表示执行一次模幂操作的时间,Tm→bp表示执行一次双线性对中的模乘操作的时间,Tm→ecc表示执行一次ECC中的模乘操作的时间。使用MIRACL密码函数库,在Windows XPOS系统,PIV 3-GHz处理器环境中,得到各个密码学操作的时间:Te=96.20,TE=53.85,Tm→bp=30.67,Tm→ecc=3.99。
a)安全性需求比较
将本发明的认证过程满足的安全性需求与已有实施例进行对比。由表1可见,本发明满足相互认证,前向安全性,不可链接性,会话密钥建立,可追踪以及无密钥托管安全需求,具有比Liu,Zhao方法更高的安全性。
b)计算代价比较
将本发明中的认证过程客户端产生主要的计算代价以及应用服务器验证代价与已有实施例进行对比。由表2,3所示,在Liu等人安全级别较高的第二个方案中,生成消息的签名需要1个幂操作以及4个双线性对中标乘操作,因此,Liu等人的第二个方案中客户端所需要的主要计算代价为4Tm→bp+1TE=176.53ms。在Zhao等人的方案中,生成消息的签名需要3个ECC中的模乘操作,因此,Zhao等人的客户端所需要的主要代价为3Tm→ecc=11.97ms。本发明使用在线离线签名技术,生成消息的签名只需要1个ECC中的模乘操作,所以本发明的客户端主要计算代价为1Tm→ecc=3.99ms,比Zhao和Liu方法的计算代价低。其中n表示请求消息数。
c)通信代价比较
将本发明中的认证过程通信代价与已有实施例进行对比。在Liu等人安全级别较高的第二个方案中,客户端需要发送{v,U,tc,T′,I′}给应用服务器,服务器发送MACkey(v),其中U,T′,I′是G1中的元素,tc是时间戳。因此,Liu等人的第二个方案中通信代价为1024*3+32+160=3264bits。在Zhao等人的方案中,客户端需要发送给应用服务器,服务器返回给客户端,其中为G群中的一个元素,其中为G群中的一个元素,为有限域上的一个元素。因此,Zhao等人方案的通信代价为160*5+32+64+32=928bits。本发明中,客户端需要发送{Xi,Qi,t}应用服务器,服务器返回{Di,MACkey(Di)}给客户端,Xi是G群中的一个元素,其中所以本发明的通信代价为160*7+32=1152bits。比Liu方法的通信代价低,比Zhao方案的通信代价要稍高。
d)存储代价比较
将本发明中的产生主要的存储代价与已有实施例进行对比。在Liu等人安全级别较高的第二个方案中客户端存储其中是G1中的元素,所以客户端的存储代价为1024*2+64=2112bits。应用服务器端存储sAP其中分别是G1,G2中的元素,n表示客户端的个数,所以服务器端的存储代价为160+(1024+512)*n=160+1536n。在Zhao等人的方案中,客户端需要存储假名池中的内容其中是G中的元素,m表示假名池的长度。所以客户端的存储代价为64+(160*3)m=(480m+64)bits。服务器端存储Ss,所以服务器端的存储代价为160bits。在本发明中,客户端需要存储以及离线参数{Xi,X′i,ci,s},所以客户端的存储代价为160*3m+160*4=480m+640bit,服务器端存储skS,所以服务器端的存储代价为160bits。
表1:实施例安全性对比
表2:实施例客户端计算代价对比
表3:实施例应用端计算代价对比
综上,本发明客户端的计算代价比Liu,Zhao方法低。通信代价比Zhao方法稍高,比Liu的方案要低。本发明的客户端的存储代价相比Zhao方法基本持平,比Liu的方案要高。但是,本发明实现了客户端身份可追踪,提高了客户端的安全性。所以,本发明很好的解决了现有无线体域网中客户端匿名认证过程中存储代价和计算代价高以及认证效率低的问题,而且能提供更高的安全性。

Claims (3)

1.一种匿名认证方法,其特征是应用于由一个可信的密钥生成中心KGC、若干个客户端和若干个应用服务器所构成的无线体域网环境中;记任意一个客户端为Ci、任意一个应用服务器为Sj,所述匿名认证方法是按如下步骤进行:
步骤1、所述密钥生成中心KGC生成自身的公私钥和系统参数,并公开所述系统参数;同时为所有应用服务器生成公私钥,记任意一个应用服务器Sj的公钥和私钥为PKj和skj
步骤2、任意一个客户端Ci选择一个随机数并生成部分伪身份PID′i后,将自身真实身份IDi与所述部分伪身份PID′i一起发送给所述密钥生成中心KGC;
步骤3、所述密钥生成中心KGC根据所接收到的客户端Ci的自身真实身份IDi与部分伪身份PID′i,并利用所述密钥生成中心KGC自身的私钥计算客户端Ci的另一部分伪身份PID″i;由所述部分伪身份PID′i和另一部分伪身份PID″i构成所述客户端Ci完整的伪身份PIDi
步骤4、所述密钥生成中心KGC为所述客户端Ci生成部分私钥si和公钥参数Wi,并将所述客户端Ci完整的伪身份PIDi、部分私钥si和公钥参数Wi通过安全信道一起发生给所述客户端Ci
步骤5、所述客户端Ci根据所述系统参数和公钥参数Wi验证所接收到的部分私钥si的合法性,若验证合法,则接受所述部分私钥si并执行步骤6;否则,拒绝所述部分私钥si并返回步骤2;
步骤6、所述客户端Ci选择一个随机数作为自身的秘密值xi,并利用所述秘密值xi生成所述客户端Ci的部分公钥PKi;由所述秘密值xi与所述部分私钥si共同组成所述客户端Ci完整的私钥(xi,si);由所述部分公钥PKi与所述公钥参数Wi共同组成所述客户端Ci完整的公钥(PKi,Wi);
步骤7、将所述客户端Ci准备向任一应用服务器发送消息之前的阶段作为所述客户端Ci的离线阶段;在所述离线阶段,所述客户端Ci利用式(1)-式(3)计算离线参数{Xi,X′i,randi,yi}:
bi=h1(PIDi,Xi) (2)
yi=si+bixi (3)
式(1)-式(3)中,Xi表示客户端Ci的签名验证参数,X′i表示客户端Ci的身份验证参数,randi表示随机数,P表示椭圆曲线中的生成元,bi表示客户端Ci的哈希值,h1(·)表示哈希函数;yi表示客户端Ci的离线签名;
步骤8、将所述客户端Ci确定向应用服务器Sj发送消息m的阶段作为所述客户端Ci的在线阶段;在所述在线阶段,所述客户端Ci根据所述消息m和离线参数{Xi,X′i,randi,yi},利用式(4)和式(5)生成在线签名,并利用式(6)对所生成的在线签名进行加密:
hi=h2(m,PIDi,Xi,t) (4)
σi=randi+hiyi (5)
式(4)-式(6)中,t为一个变量,表示当前时间戳,h2(·)表示另一个哈希函数;hi表示另一个哈希值,σi表示客户端Ci的消息签名;||表示连接串符号,表示密钥为h(X′i)的对称加密函数;Qi表示客户端Ci的密文;
步骤9、所述客户端Ci将消息签名的参数{Xi,Qi,t}发送给所述应用服务器Sj
步骤10、若所述应用服务器Sj在一段时间内只接受到一个消息签名的参数,则执行步骤10.1;若接收到n个消息签名的参数,则执行步骤10.2;
步骤10.1、所述应用服务器Sj使用自身的私钥skj以及所接收到的消息签名的参数验证单个消息签名的有效性;若有效,则执行步骤11;否则,所述应用服务器Sj拒绝与相应客户端进行消息通讯;
步骤10.2、所述应用服务器Sj使用自身的私钥skj以及所接收到的n个消息签名的参数,利用批认证方法对n个消息签名进行批量验证有效性;若均有效,则执行步骤11;否则,所述应用服务器Sj拒绝与n个客户端进行消息通讯;
步骤11、所述应用服务器Sj根据密钥协商协议得到与所述客户端Ci共享的会话密钥keyi,并利用所述会话密钥keyi 生成认证码及相关消息后发给所述客户端Ci
步骤12、所述客户端Ci根据所述系统参数和相关消息得到所述会话密钥keyi,并利用所述会话密钥keyi对所述认证码进行验证;当验证通过时,利用所述会话密钥keyi得到所述应用服务器Sj的后续服务。
2.根据权利要求1所述的匿名认证方法,其特征是所述批认证方法是按如下步骤进行:
步骤10.2.1、所述应用服务器Sj逐一对每个消息签名参数中的验证时间戳t的有效性进行验证;若均有效,则直接执行步骤10.2.2;若发现存在无效的时间戳t,则丢弃无效的时间戳t所对应的消息签名的参数后,执行步骤10.2.2;
步骤10.2.2、假设有效的消息签名参数有d个,1<d≤n;所述应用服务器Sj使用自身的私钥skj以及所接收到的d个消息签名参数中的签名验证参数Xi,利用式(7)计算得到身份验证参数X′i,1≤i≤d;
X′i=skjXi (7)
步骤10.2.3、所述应用服务器Sj利用身份验证参数X′i计算密钥h(X′i)的哈希值,利用所述密钥h(X′i)的哈希值对消息签名参数中的密文Qi进行解密,从而得到客户端Ci的身份参数(PIDi||σi||m||PKi||Wi);
步骤10.2.4、所述应用服务器Sj根据式(2)和式(4)重新计算哈希值hi和bi,并利用式(8)计算第三个哈希值ai
ai=h1(PIDi,Wi) (8)
步骤10.2.5、所述应用服务器Sj随机选择一组向量{e1,e2,....,ei,....,ed},其中,ei表示第i个向量,并有ei∈[1,2l],l为指数;再利用式(9)验证d个消息签名的有效性,若式(9)成立,则表示d个消息签名有效,否则表示d个消息签名无效;
式(9)中,Ppub为所述密钥生成中心KGC的公钥。
3.根据权利要求2所述的匿名认证方法,其特征是,所述批认证方法应用于身份追踪过程中,并按如下步骤进行:
步骤13、所述应用服务器Sj将解密得到的客户端Ci的身份参数(PIDi||σi||m||PKi||Wi)中的伪身份PIDi提交给所述密钥生成中心KGC;
步骤14、所述密钥生成中心KGC根据自身私钥s,并利用式(10)计算所述客户端Ci的真实身份IDi,从而揭示所述客户端Ci的真实身份:
CN201710552227.0A 2017-07-07 2017-07-07 一种匿名认证方法及其应用 Active CN107342859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710552227.0A CN107342859B (zh) 2017-07-07 2017-07-07 一种匿名认证方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710552227.0A CN107342859B (zh) 2017-07-07 2017-07-07 一种匿名认证方法及其应用

Publications (2)

Publication Number Publication Date
CN107342859A CN107342859A (zh) 2017-11-10
CN107342859B true CN107342859B (zh) 2018-04-20

Family

ID=60219514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710552227.0A Active CN107342859B (zh) 2017-07-07 2017-07-07 一种匿名认证方法及其应用

Country Status (1)

Country Link
CN (1) CN107342859B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683647B (zh) * 2018-04-28 2020-09-11 重庆交通大学 一种基于多重加密的数据传输方法
DE102018008730A1 (de) * 2018-11-07 2020-05-07 Audi Ag Verfahren und Vorrichtung zum Erheben von fahrzeugbasierten Datensätzen für vorgegebene Streckenabschnitte
CN109600218B (zh) * 2018-11-21 2021-02-12 北京航空航天大学 用户身份可追踪的匿名pki系统
CN109379372B (zh) * 2018-11-21 2019-10-11 长安大学 一种面向vanet的无证书和签名的条件匿名认证方法
CN111371730B (zh) * 2018-12-26 2021-11-30 中国科学院沈阳自动化研究所 边缘计算场景下支持异构终端匿名接入的轻量级认证方法
CN110737915B (zh) * 2019-09-26 2021-06-22 如般量子科技有限公司 基于隐式证书的抗量子计算匿名身份识别方法及系统
CN110995775B (zh) * 2019-10-11 2020-12-01 浙江口碑网络技术有限公司 一种业务数据处理方法、装置以及系统
CN111107071B (zh) * 2019-12-10 2022-04-05 重庆邮电大学 一种可保护隐私的电动汽车充电服务方法
CN111147472B (zh) * 2019-12-23 2023-02-28 全球能源互联网研究院有限公司 一种边缘计算场景下的智能电表轻量级认证方法及系统
CN111130758B (zh) * 2020-02-03 2021-07-06 电子科技大学 一种适用于资源受限设备的轻量级匿名认证方法
CN111884991B (zh) * 2020-06-08 2022-04-19 杭州电子科技大学 一种面向智能家居的用户可监管匿名身份认证方法
CN111865948A (zh) * 2020-07-09 2020-10-30 南阳理工学院 基于匿名身份的对等云认证和密钥协商方法、系统和计算机存储介质
CN114513316B (zh) * 2020-10-27 2024-01-16 国家电网有限公司大数据中心 一种基于身份的匿名认证方法、服务器及用户终端设备
CN112689283B (zh) * 2020-12-15 2021-11-23 青海大学 一种密钥保护和协商方法、系统和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624530A (zh) * 2012-03-14 2012-08-01 西安电子科技大学 无线体域网的无证书远程匿名认证方法
CN106850584A (zh) * 2017-01-06 2017-06-13 安徽大学 一种面向客户/服务器网络的匿名认证方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3659178B2 (ja) * 2001-02-22 2005-06-15 日本電信電話株式会社 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
GB2490483B (en) * 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
CN104917617B (zh) * 2015-05-26 2018-02-09 同济大学 一种加密群签名的混淆方法
CN106341232B (zh) * 2016-09-18 2019-04-09 中国科学院软件研究所 一种基于口令的匿名实体鉴别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624530A (zh) * 2012-03-14 2012-08-01 西安电子科技大学 无线体域网的无证书远程匿名认证方法
CN106850584A (zh) * 2017-01-06 2017-06-13 安徽大学 一种面向客户/服务器网络的匿名认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient and Anonymous Authentication Scheme for Wireless Body Area Networks;libing wu等;《Springer》;20160418;全文 *
Quantum Private Set Intersection Cardinality and its Application to Anonymous Authentication;run-hua shi等;《Information Science》;20161130;全文 *

Also Published As

Publication number Publication date
CN107342859A (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
CN107342859B (zh) 一种匿名认证方法及其应用
US8930704B2 (en) Digital signature method and system
CN106027241B (zh) 一种弹性非对称群组密钥协商的方法
Islam Provably secure dynamic identity-based three-factor password authentication scheme using extended chaotic maps
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
CN107124268A (zh) 一种可抵抗恶意攻击的隐私集合交集计算方法
CN102387019B (zh) 无证书部分盲签名方法
CN107947913A (zh) 一种基于身份的匿名认证方法与系统
CN110268676A (zh) 基于身份的自认证签名方案的私有密钥计算系统和方法
CN107437993A (zh) 一种基于无证书两方认证密钥协商方法和装置
CN103563288B (zh) 基于口令的单轮密钥交换协议
CN112106322A (zh) 基于密码的阈值令牌生成
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
CN106130716A (zh) 基于认证信息的密钥交换系统及方法
CN107659395A (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN106487786B (zh) 一种基于生物特征的云数据完整性验证方法及系统
CN103117860B (zh) 无证书盲环签名方法
CN104754570B (zh) 一种基于移动互联网络的密钥分发和重构方法与装置
CN107294696B (zh) 针对Leveled全同态密钥分配方法
CN109040060B (zh) 终端匹配方法和系统、计算机设备
CN101282216B (zh) 带隐私保护的基于口令认证的三方密钥交换方法
CN106850584B (zh) 一种面向客户/服务器网络的匿名认证方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
CN113051547B (zh) 多服务器架构下的双向认证与密钥协商方法
Yongliang et al. Elliptic curve cryptography based wireless authentication protocol

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