CN112106322B - 基于密码的阈值令牌生成 - Google Patents
基于密码的阈值令牌生成 Download PDFInfo
- Publication number
- CN112106322B CN112106322B CN201880093249.8A CN201880093249A CN112106322B CN 112106322 B CN112106322 B CN 112106322B CN 201880093249 A CN201880093249 A CN 201880093249A CN 112106322 B CN112106322 B CN 112106322B
- Authority
- CN
- China
- Prior art keywords
- token
- hash
- server
- client
- servers
- 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
- 238000000034 method Methods 0.000 claims abstract description 99
- 230000004044 response Effects 0.000 claims description 77
- 230000015654 memory Effects 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 72
- 238000004422 calculation algorithm Methods 0.000 description 53
- 230000008569 process Effects 0.000 description 43
- 239000000203 mixture Substances 0.000 description 25
- 238000012795 verification Methods 0.000 description 20
- 230000001010 compromised effect Effects 0.000 description 11
- 229910052757 nitrogen Inorganic materials 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 229910052799 carbon Inorganic materials 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- XKRFYHLGVUSROY-UHFFFAOYSA-N Argon Chemical compound [Ar] XKRFYHLGVUSROY-UHFFFAOYSA-N 0.000 description 3
- 230000027455 binding Effects 0.000 description 3
- 238000009739 binding Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 241000227068 Aulosepalum Species 0.000 description 2
- 229910052786 argon Inorganic materials 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229910052698 phosphorus Inorganic materials 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- FMFKNGWZEQOWNK-UHFFFAOYSA-N 1-butoxypropan-2-yl 2-(2,4,5-trichlorophenoxy)propanoate Chemical compound CCCCOCC(C)OC(=O)C(C)OC1=CC(Cl)=C(Cl)C=C1Cl FMFKNGWZEQOWNK-UHFFFAOYSA-N 0.000 description 1
- 241000239290 Araneae Species 0.000 description 1
- 101100001674 Emericella variicolor andI gene Proteins 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 208000020329 Zika virus infectious disease Diseases 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- NCEXYHBECQHGNR-UHFFFAOYSA-N chembl421 Chemical compound C1=C(O)C(C(=O)O)=CC(N=NC=2C=CC(=CC=2)S(=O)(=O)NC=2N=CC=CC=2)=C1 NCEXYHBECQHGNR-UHFFFAOYSA-N 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- UFULAYFCSOUIOV-UHFFFAOYSA-N cysteamine Chemical compound NCCS UFULAYFCSOUIOV-UHFFFAOYSA-N 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000009938 salting Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本文公开的实施例涉及基于密码的阈值认证的方法和系统,所述方法和系统将认证服务器的作用分布在多个服务器当中。任何t个服务器可共同验证密码并生成认证令牌,而任何t‑1个服务器无法伪造有效令牌或安装离线字典攻击。
Description
相关申请交叉引用
本申请要求2018年5月8日提交的标题为“基于密码的阈值令牌生成(PASSWORDBASED THRESHOLD TOKEN GENERATION)”的第62/668,725号美国临时申请案的权益,其以全文引用的方式并入本文中。
背景技术
基于令牌的认证经常用于保护和获得对互联网上和企业网络上的资源、服务和应用程序的被授权访问。存在许多方式来执行基于令牌的认证,其中基于密码的技术最为常见。
例如,存在广泛使用的开放标准,例如JSON Web令牌(JWT)和安全断言标记语言(SAML),所述标准通过允许用户使用用户名/密码验证等标准机制进行初始认证来促进单点登录认证。随后,用户获得认证令牌并在cookie中或在其计算装置的其它本地存储装置中本地存储所述认证令牌。在此令牌到期之前,可在无任何用户参与的情况下呈现所述令牌以获得对各种应用程序的访问。
其它基于令牌的认证的开放标准,例如开放授权(OAuth)和OpenID,利用类似的认证机制。通过受保护资源的所有者的批准,由认证服务器将访问令牌发给用户。用户可向资源服务器提供访问令牌,以便在无需与资源服务器相关联的任何密码或凭证的情况下获得对受保护资源的访问。许多公司利用这些开放标准来使其用户能够在用户不必透露其密码的情况下与第三方应用程序或网站共享有关其帐户的信息。
还存在利用基于令牌的认证的网络认证协议,例如Kerberos。这些协议由企业(例如,Windows服务器中的活动目录(Active Directory))用于周期性地但不频繁地通过用户的凭证来认证用户并向用户发布票据授予票据(TGT),用户可使用所述TGT来请求访问企业网络上的各种服务,例如打印机、内部网站等。
基于令牌的认证的典型过程流程可涉及用户通过认证服务器(例如通过将用户密码的散列发送到认证服务器)初始地注册用户名/密码。认证服务器存储每个用户的散列的密码和凭证,同时还会基于主秘密密钥来发放用于用户的认证令牌。可通过计算消息上的数字签名或消息认证码(MAC)来生成此令牌。用户的计算装置可接收并存储令牌,可提供所述令牌以获得对受保护资源的访问。
然而,认证服务器充当单点故障。攻破认证服务器的恶意攻击者可恢复主秘密密钥并伪造认证令牌,以获得对受保护资源和信息的访问。此外,攻击者可获得存储的散列的密码以用作离线字典攻击的一部分来恢复用户凭证。尽管存在例如加盐和新的内存依赖散列函数的技术来阻止攻击者,但此类技术对于攻击者来说只是更为资源密集或困难,而不能从根本上解决具有单点故障的问题。
因此,需要一种能解决此问题的基于令牌的认证的方法,使得密钥和用户凭证无法被破解(例如,被获得进入认证服务器的攻击者破解)。
发明内容
本公开涵盖用于基于密码的阈值令牌生成和认证的方法和计算系统,所述方法和计算系统可用于以抵御服务器攻破的方式保护和授权对安全资源、服务和应用程序的访问,而服务器攻破可能会破解长期密钥和用户凭证。实施例可使用基于密码的阈值认证,其将认证服务器作用分布在多个服务器当中。
在一些实施例中,注册过程可在每个服务器处建立散列部分,其中所述散列部分是通过服务器与客户端之间的消息生成的。例如,服务器可使用秘密份额对用户凭证的盲化散列进行加密,客户端可对加密的盲化散列解盲化以生成要在服务器处保存的散列部分。为了获得令牌,客户端可发送使用新接收到的用户凭证新生成的盲化散列,所述盲化散列可由服务器使用相应的秘密份额来再次加密。通过散列部分加密的令牌份额可在其匹配服务器处保存的散列部分时由客户端使用新生成的散列部分来解密,这将是初始用户凭证与新接收到的用户凭证匹配时的情况。
下文详细描述本公开的这些和其它实施例。例如,其它实施例涉及与本文所描述的方法相关联的系统、装置和计算机可读介质。
可参考以下详细描述和附图来更好地理解本公开的实施例的性质和优势。
附图说明
图1示出描绘现有的基于软件的秘密管理协议的流程图。
图2示出认证令牌的示例内容。
图3A示出在基于密码的阈值认证(PbTA)协议下的注册流程图。
图3B示出在基于密码的阈值认证(Password-based Threshold Authentication,PbTA)协议下的登录流程图。
图4示出与阈值一对多Diffie-Hellman密钥交换算法(Threshold One-MoreDiffie-Hellman,TOMDH)博弈相关联的定义。
图5示出与不可预测性相关联的定义,所述不可预测性是与阈值不经意伪随机函数(threshold oblivious pseudo-random function)相关联的性质。
图6示出与不经意性相关联的定义,所述不经意性是与阈值不经意伪随机函数相关联的性质。
图7示出与PbTA的安全博弈相关联的定义。
图8示出与基于PASsword的阈值认证(PASsword-based ThresholdAuthentication,PASTA)相关联的一组定义和要求。
图9示出描绘根据本发明的实施例在PASTA下生成令牌的框图。
图10示出描绘根据本发明的实施例在PASTA下的注册阶段的框图。
图11示出描绘根据本发明的实施例在PASTA下请求令牌的框图。
图12示出线图,展示在基于PASTA的方案中客户端侧的计算时间对阈值t的依赖性。
图13示出条形图,展示在LAN和WAN网络中与朴素解决方案(solution)相比,基于PASTA的方案在运行时中的乘法开销。
图14示出与对称密钥PbTA方案相关联的定义。
图15示出与安全双方密钥协定协议相关联的定义。
图16示出描述根据本发明实施例的客户端获得令牌的流程图。
图17示出描述根据本发明实施例的多个服务器中的服务器提供令牌份额的流程图。
图18示出可结合根据本发明的实施例的系统和方法使用的示例计算机系统的框图。
术语
在本公开中,提出用于基于密码的阈值令牌生成和认证的方法和计算系统,所述方法和计算系统可用于以抵御服务器攻破的方式保护和授权对安全资源、服务和应用程序的访问,而服务器攻破可能会破解长期密钥和用户凭证。在论述这些方法和系统的实施例的细节之前,对一些术语的描述可有助于理解各种实施例。
“处理器”可包括任何合适的一个或多个数据计算装置。处理器可包括一起工作以实现所要功能的一个或多个微处理器。处理器可包括CPU,所述CPU包括足以执行用于执行用户和/或系统生成的请求的程序组件的至少一个高速数据处理器。所述CPU可以是微处理器,例如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron);IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale;以及/或类似处理器。
“存储器”可以是可存储电子数据的任何合适的一个或多个装置。合适的存储器可包括非瞬态计算机可读介质,其存储可由处理器执行以实施所要方法的指令。存储器的示例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
“应用程序”可以是存储在计算机可读介质(例如,存储器元件或安全元件)上的计算机代码或其它数据,所述计算机代码或其它数据可由处理器执行以完成任务。
“基于令牌的认证”可指使用广泛范围的开放标准和网络认证协议实现网络上、移动应用程序中和企业网络上的单点登录体验的任何过程:传统上关于基于令牌的认证方案,客户端会使用其用户名/密码向认证服务器进行最初认证,以获得通过主秘密密钥生成的密码令牌,并存储令牌以便将来访问各种服务和应用程序。然而,认证服务器呈现单点故障,如果被攻破,会使攻击者能够伪造任意令牌或安装离线字典攻击以恢复客户端凭证。
“基于密码的令牌生成”可指普通的基于密码的令牌生成协议,其通常是用于生成在基于令牌的认证中使用的令牌的传统方式。一般来说,存在初始注册阶段,客户端在此期间会通过将其用户名和散列的密码 存储在身份服务器上来注册其用户名/密码。在登录阶段,客户端将其用户名和散列的密码h′发送到服务器;服务器针对用户名校验是否h′=h。如果校验通过,则服务器会使用主秘密密钥msk计算令牌authmsk(x),并将令牌发送到客户端,其中auth是MAC或数字签名,并且x是要签名的数据。在此方法中,如果服务器被攻破,则主秘密密钥msk和散列的密码h都会被破解。因此,可使用离线字典攻击恢复客户端的密码。
“基于密码的阈值令牌生成”可指生成认证令牌(例如,发放给用户以获得对受保护资源的访问)的过程,其包括在满足或未满足某一资源阈值时令牌生成或恢复的内置限制。例如,可存在一起共同工作以生成认证令牌的多个认证服务器,使得仅在阈值数目的认证服务器被破解时才可能获得与令牌生成相关联的长期密钥和用户凭证。
“基于密码的阈值认证”可大体上指涉及基于密码的阈值令牌生成的任何基于令牌的认证方法,或根据术语中的字母大小写,所述术语可具体指基于密码的阈值认证(Password-based Threshold Authentication,在本文中缩写为PbTA)。
“基于密码的阈值认证”或PbTA是一种协议,其建立的特定目标是,使基于密码的令牌生成能抵御服务器攻破,而服务器攻破可能会破解长期密钥和用户凭证。在存在可能攻破身份服务器子组的敌手的情况下,PbTA建立必要的令牌不可伪造性和密码安全性的安全要求。为了实现这种不可伪造性和密码安全性,PbTA可能会将身份提供商(例如,认证服务器)作用分布在n个服务器当中,所述服务器共同验证客户端的密码并为客户端生成认证令牌。PbTA使任何t(2≤t≤n)个服务器能够认证客户端并生成有效令牌,而最多破解t-1个服务器的任何攻击者无法伪造有效令牌或安装离线词典攻击。
“基于PASsword的阈值认证”或PASTA是基于令牌的认证的总体框架,涉及阈值不经意伪随机函数(TOPRF)和任意阈值令牌生成(threshold token generation,TTG)方案(即,阈值MAC或数字签名)。PASTA可遵守PbTA协议,并且符合令牌不可伪造性和密码安全性的安全要求。
“消息认证码”(message authentication code,MAC),有时称为标记,是用于认证消息并确认消息未被改变且来自所述发送方的一个短信息。因此,MAC可通过允许验证者检测消息内容的任何改变来保护消息的数据完整性以及其真实性。MAC的作用可与密码散列函数类似,并且必须抵抗选定明文攻击下存在的伪造。MAC与数字签名的不同之处在于,MAC均使用同一秘密密钥生成和验证。因此,MAC的发送方和接收方必须在发起通信(例如,对称加密)之前协定同一秘密密钥。
“阈值不经意伪随机函数(TOPRF)”可以是满足不可预测性(在函数输出中)和不经意性这两个性质的函数。如果在函数应用于随机输入值时难以预测函数的输出,则所述函数符合不可预测性性质。如果在输出(例如将函数应用于输入值的结果)可获得时难以猜测输入值,则所述函数符合不经意性性质。
“阈值令牌生成(TTG)方案”是生成用于基于令牌的认证中的令牌的方式,其中生成认证令牌的任务分布在一组n个服务器当中,使得必须联系至少阈值t数目的服务器来计算令牌。TTG提供强大的不可伪造性保证:即使服务器中的t′<t个服务器遭攻陷(corrupt),任何时候需要关于某一新值的令牌,都必须联系至少t-t′个服务器。
具体实施方式
在本节中,首先提供对基于令牌的认证的概述,然后是本文所用的某些记法的基本正式定义。随后论述基于密码的阈值认证(PbTA)协议以及遵守PbTA的令牌认证的系统方法的实施例,所述实施例可用于以抵御服务器攻破的方式保护和授权对安全资源、服务和应用程序的访问,而服务器攻破可能会破解长期密钥和用户凭证。具体地说,认证服务器的作用可分布在多个服务器计算机当中,所述多个服务器计算机必须一起共同操作以执行令牌生成或认证。任何t个服务器能够共同验证密码并生成认证令牌,而t-1个服务器无法完成这一点。因此,如果t-1个服务器被攻击者破解,攻击者将无法伪造有效令牌或安装离线字典攻击。
论述PbTA之后解释作为建构PbTA方案的总体框架的基于PASsword的阈值认证(PASTA),所述框架允许利用基于密码的阈值令牌生成的不同方法,同时仍保留PbTA的常见特征,例如强密码安全性和不可伪造性。提供遵守PASTA的一些示例性阈值令牌生成方案,并将这些方案的性能结果与基于令牌的认证的典型性能结果进行比较。为此目的呈现各种证明。
I.基于令牌的认证的概述
典型的基于令牌的认证方法利用普通的基于密码的令牌生成协议来生成认证令牌,这无法抵御认证服务器攻破。图1示出描绘一般实施于许多基于令牌的认证方案中的示例令牌生成阶段的流程图。
应注意,图1中显示的令牌生成阶段前面是单次初始注册阶段(未示出),在单次初始注册阶段期间,客户端102注册其用户名/密码,并且客户端102将其用户名和散列的密码h=H(密码)存储在ID服务器105(一种服务器计算机)上。更具体地说,作为注册阶段的部分,客户端102可向ID服务器105注册(用户名||密码),其中H是防冲突散列函数(可在浏览器中实施)。每客户端密码对执行一次注册步骤。在注册步骤之后,ID服务器105可拥有主秘密钥匙(msk)和客户端的散列的密码(h)。
在步骤1,在登录阶段,客户端102将其用户名(uid)和散列的密码h'发送到ID服务器105。由于ID服务器105已从注册阶段拥有了散列的密码h,因此ID服务器105查看是否h′=h(例如其在注册期间记录的用户名的值)。
在步骤2,如果校验通过,则ID服务器105使用主秘密密钥msk来计算所述用户名的令牌authmsk(x),其中auth是MAC或数字签名,并且x是要签名的数据(例如,认证请求中提供的用户名或其它数据)。
在步骤3,ID服务器105可将令牌发送到客户端102,所述客户端可存储令牌以用于获取对例如应用程序服务器104的受保护资源的访问。当客户端102寻求登录到应用程序服务器104时,接着在步骤4,客户端102可向应用程序服务器104提供令牌。应用程序服务器104可具有验证密钥(vk),以校验签名的(即,利用主秘密密钥msk签名的)令牌对于要签名的数据有效。在步骤5,应用程序服务器104可准予或拒绝客户端102对受保护资源的访问。
图2示出这些现有的基于令牌的认证方案中使用的典型认证令牌的示例内容,所述认证方案利用普通的基于密码的令牌生成协议来生成认证令牌。具体地说,此图示出使用散列消息认证码(HMAC)的样本JSONWeb令牌的内容。
在图2中,base64编码令牌的内容示于左图202上。这是发送和存储的内容。解码内容显示在右侧,在右图204、206和208中。当内容被解码时,令牌含有带有算法和令牌类型的标头(在图204中示出)、包括各种属性的有效负载(在图206中示出)以及标头/有效负载的HMAC(在图208中示出)。
现在回来参考图1,从图1中可看出,在典型的基于令牌的认证方案中,如果ID服务器105被攻破,则主秘密密钥msk和散列的密码h都会被破解。尽管被散列,客户端密码仍可使用离线字典攻击予以恢复。在字典攻击中,攻击者可尝试不同的密码,并将所述不同密码散列以查看它们是否匹配特定用户名的条目。字典可用于选择要尝试的密码。此类攻击可揭示与特定散列相对应的密码,其中所述密码可能与其它服务器一起使用,因为用户通常重复使用密码。由于攻击者具有散列和用户名的列表,因此攻击者可能已经能够获得此特定服务的访问权。使用加盐(例如添加某一程度的随机性到用户名)或使用内存依赖函数,可减缓针对散列的密码的离线字典攻击,但它们未从根本上解决问题。
现在预期对这些传统的基于令牌的认证方法的各种特征和修改,以实现解决这些问题的特定目标。在本文所描述的基于令牌的认证系统的一些实施例中,可通过将主秘密密钥(msk)分布在多个认证服务器当中而使其抵御攻破。具体地说,主秘密密钥可分布在服务器当中,使得服务器中的任何服务器可一起使用阈值认证(TA)方案(即,阈值MAC或签名)来生成令牌。然而,在无必要的阈值t个服务器(例如t-1或更少)的情况下,服务器无法伪造有效令牌或恢复msk。
为了保护用户散列的密码免遭恢复,在一些实施例中,散列函数(H)可替换为伪随机函数F。每个客户端可生成和使用其自身秘密密钥k,且其秘密密钥k存储在认证服务器(例如ID服务器105)处。为实现这一点,不经意伪随机函数(OPRF)协议可允许客户端获得h=Fk(pw)而无须记住/获得k或向服务器揭示关于其密码(pw)的任何信息。这可防止偷听者对密码的恢复,但被破解服务器仍可安装字典攻击,因为它知道k且因此可计算不同密码的Fk(pw′)。
为了消除字典攻击的可能性,在一些实施例中,可使用阈值不经意伪随机函数(TOPRF)来替代散列函数,并且每个客户端的秘密密钥k可在服务器之间共享,使得其中任何t个服务器可共同计算Fk(pw)但任何t-1个服务器无法计算。然而,所得登录协议将至少需要四个消息:客户端和服务器执行TOPRF协议(这使客户端至少需要两个消息来计算h),客户端将其返回到服务器作为第三消息以进行验证,并且服务器通过令牌认证方案的令牌份额响应以作为第四消息。
因此,为了减小往返消息和交互的数目,在一些实施例中,服务器可存储h=Fk)pw)(来自注册阶段),发送其在从h(即,Eh(·),其中E是对称密钥加密方案)导出的密钥下加密的令牌认证方案的消息(例如其令牌份额)的加密。此消息连同TOPRF的第二消息一起发送。如果客户端在TOPRF的第一消息中使用了正确的密码,则客户端可计算h并解密密文以获得t个令牌份额,并将令牌份额组合以恢复可用于获得安全资源访问权的最终令牌。然而,可能仍存在客户端伪装攻击可能性的细微安全问题。具体地说,攻击者可能破解单个服务器并检取h,然后即使在不知道h所属的客户端密码的情况下也伪装成所述客户端。然后,攻击者可参与登录协议以获得令牌;由于攻击者知道h,因此它可在从不知道客户端的密码的情况下解密服务器发送的密文并将令牌份额组合以获得有效令牌。
为了消除客户端伪装攻击的可能性,在一些实施例中,可修改注册阶段,使得在注册阶段计算h的客户端仅发送hi=H′(h,i)到服务器i,其中H′假设为随机预言。换句话说,从不向任何服务器揭示或由任何服务器存储h,并且每个服务器仅习知其对应的hi。因此,客户端伪装攻击不再起作用,因为破解最多t-1个服务器仅向攻击者揭示hi中的t-1个,攻击者仍会缺少一个份额来生成有效令牌。
最后,存在以下问题:攻击者能够获得所有可能密码的所有PRF值h=PRFk(password),然后利用针对一个客户端的在线攻击来针对另一客户端。具体地说,攻击者通过与服务器参与单点登录协议来伪装成另一客户端。由于攻击者已知道所有可能的PRF值,因此它可尝试使用收集到的PRF值字典(离线)来解密从服务器发送的密文,以找到正确值并因此恢复密码。应注意,将客户端用户名包括为PRF的输入的部分不能解决问题,因为服务器无法在不向结构添加此效果昂贵的零知识证明的情况下校验攻击者在TOPRF协议中并入了什么用户名。
一个自然解决方案是使每个客户端具有不同TOPRF密钥,以使得从一个客户端习得的PRF值观对于任何其它客户端都是无用的。这意味着服务器需要在全局设置阶段生成足够大量的TOPRF密钥,但这并不现实。然而,每个客户端可生成其自身的TOPRF密钥和秘密份额,其在注册阶段将所述TOPRF密钥和秘密份额分布在服务器之间。因此,在一些实施例中,每个客户端生成其自身的可分布在服务器当中的唯一TOPRF密钥和唯一秘密份额集。在一些实施例中,客户端可能不必持久存储所述唯一TOPRF密钥或密钥份额,因为客户端能够在没有所述唯一TOPRF密钥或密钥份额的情况下生成认证令牌。
这些修改和特征涵盖于基于密码的阈值认证(PbTA)方案中,将在本文所用的某些记法和术语的以下基本的正式定义之后进一步描述所述方案。
II.基本概念
A.记法
本节定义并描述了在整个公开中将会出现的一些记法。
令κ表示安全参数。令Z表示所有整数的集合,并且Zn表示集{0,1,2,...,n-1}。与Zn相同但移除0。令a,b∈,a≤b条件下的[a,b]表示集{a,a+1,...,b-1,b}。[b]表示集[1,b]。N表示自然数集。
令x←$S表示x是从集合S随机统一取样。令PPT为概率多项式时间的速记并且negl表示可忽略函数。
令[[a]]充当(a,a1,...,an)的速记,其中a1,...,an是a的份额。具体方案将指定如何生成份额。n的值自上下文可知。
令预言描述中的任何“要求”语句都与对输入施行一些校验相关联。如果任何校验失败,则预言输出⊥。
在任何安全博弈中(例如与图7相关联的安全博弈),令<O>表示博弈中限定的所有预言的集合。例如,如果博弈限定预言则对于敌手Adv,Adv<O>表示Adv有权访问集合/>
B.秘密共享和秘密份额
本公开参考份额,例如秘密份额。在此类情况下,秘密(例如令牌或密钥)可分成份额,所述份额可在不直接揭示秘密的情况下进行分布。拥有足够量的份额可实现根据所述份额来重建秘密。
沙米尔的秘密共享(Shamir's secret sharing)可指生成秘密的份额以使得阈值份额足以重建秘密但任何较小数目会将秘密完全隐蔽的方式。例如,令GenShare为算法,其采用输入p、n、t、{(i,αi)}i∈S s.t.t≤n<p,p为素数,并且|S|<t。对于所有i∈S,其在Zps.t.f(i)=αi上挑选次数(degree)为t-1的随机多项式f,并输出f(0)、f(1)、...、F(n)。
为了生成(T、N)——秘密s∈Zp的沙米尔共享,给予Genshare p、n、t和(0、s)作为输入以产生份额s0、s1、...、sn。使用如上文所定义的速记,可将输出紧凑地写为给定份额中的任何t个或更多个份额,比如{sj}j∈T,其中|T|≥t,可高效地找出系数{λj}j∈T,使得s=f(0)=∑j∈Tλj·sj。然而,知晓多达t-1个份额在s随机选自Zp的情况下不会揭示任何关于s的信息。
本公开还引用循环群生成器。令GroupGen为PPT算法,当输入为1κ时输出(p,g,G),其中p=Θ(κ),p为素数,G是阶次p的群,并且д是G的生成器。乘法用于表示群运算。
C.难度假设
本公开参考阈值阈值不经意伪随机函数(TOPRF)。可假设被视作TOPRF的函数满足已证实与TOPRF相关联的某些性质。例如,在随机预言模型中,可假设阈值不经意PRF(TOPRF)在间隙阈值一对多Diffie-Hellman密钥交换算法(Gap-TOMDH)下是UC安全的。Gap-TOMDH可能在通用群模型中很难。
具体地说,对于和/>其中t′<t≤n,限定MAXt′,t(q1,...,qn)为/>的最大值,使得存在二进制向量/>以使得每个ui中具有t-t′数目的1,并且/>(对向量的所有运算都是按分量的整数运算。)向前看,t和t′将是TOPRF和PbTA的安全定义中的参数(t将是阈值,而t′是攻陷方的数目)。
因此,如果对于所有t′,t,n,N使得t′<t≤n并且对于所有PPT敌手Adv,存在可忽略函数negl s.t.,则循环群生成器GroupGen满足间隙阈值一对多Diffie-Hellman密钥交换算法(Gap-TOMDH)假设。One-MoreAdv(1κ,t′,t,n,N)输出1,其中概率最多为negl(κ)。One-MoreAdv(1κ,t′,t,n,N)如下定义:
One-MoreAdv(1κ,t′,t,n,N):
1.
2.
3.其中/>
4.
5.q1,...,qn:=0
6.
7.输出1,当且仅当
-
-g′i∈{g1,...,gN}且/>并且
-s.t.i≠j,g′i≠g′j。
·要求:
·将qi递增1
·返回
·要求:g1,g2,h1,
·返回1,当且仅当s.t./>且/>
在图4中进一步示出One-MoreAdv(1κ,t′,t,n,N),但在此处为了方便起见已予以重现。
这可参考Gap-TOMDH博弈进行论述,其中次数为t-1的随机多项式被挑选,但Adv要在t′点选择其值(步骤3和4)。Adv获得对两个预言的访问:
·对于其不知道的ki,允许其计算/>其中ki是在i处随机选择的多项式的值。对于每个此类调用,计数器qi递增。
·允许其校验离散日志g2w.r.t.g1与离散日志h2w.r.t.h1是否相同。
直观地讲,为了计算形式为的一对,Adv应在某种程度上获得对k0的访问。其清楚地知晓ki,/>但/>之外的份额仅可在指数中借助于预言/>而获得。Adv的一个选择是调用/>其中i的至少t-t′个不同值的(i,g)在/>外部,然后将这些值连同其所知的ki组合在一起以获得/>
如果Adv坚持此策略,则其需要完全重复此策略来针对不同基数h计算其可针对不同基在[n]的不同子集上调用/>但MAXt′,t(q1,...,qn)将是其将能够通过此过程生成的类型/>的最大数目对。
当然,敌手不会限于按上文所描述的方式产生对。然而,Gap-TOMDH假设不管PPT敌手采用什么策略,其实际上也就只能到达这个程度。
D.阈值令牌生成
如先前所提及,阈值令牌生成(TTG)方案,或者阈值认证(TA)方案,将生成认证令牌的任务分布在一组n个务器当中,使得必须联系至少阈值t数目的服务器来计算令牌。TTG提供强大的不可伪造性保证:即使服务器中的t′<t个服务器遭攻陷(corrupt),任何时候需要关于某一新值x的令牌,都必须联系至少t-t′个服务器。
这些TTG方案可进一步正式定义为四个PPT算法(Setup、PartEval、Combine、Verify)中的元组:
·此算法生成秘密密钥sk,密钥的份额sk1、sk2、...、skn,验证密钥vk,以及公共参数pp。将份额ski给第i方。(pp将是下文算法中的隐式输入。)
·PartEval(ski,x)→yi。此算法生成某一输入的令牌份额。第i方通过利用ski和x运行PartEval来计算x的第i份额yi。
·Combine({i,yi}i∈S)=:tk/⊥。此算法组合从集合S中的各方接收到的份额以生成令牌tk。如果算法失败,其输出由⊥标示。
·Verify(vk,tk)=:1/0。此算法使用验证密钥vk验证令牌tk是否有效。(输出1表示有效性。)
为了校验一致性,对于所有κ∈N,任何n,t∈N,使得t≤n,通过Setup(1κ,n,t)生成的所有(vk,pp),所有值x,以及大小至少为t的任何集/>如果对于i∈S,yi←PartEval(ski,x),则Verify(vk,Combine({(i,yi)}i∈S))=1。
TTG方案还遵守并满足不可伪造性(Unforgeability)性质,其可正式定义为,对于所有PPT敌手Adv,存在可忽略函数negl,使得以下不可伪造性博弈输出1的概率最多是negl(κ):
UnforgeabilityTOP,Adv(1κ,n,t):
·初始化。运行Setup(1κ,n,t)以获得(sk,vk,pp)。提供pp到Adv。
·攻陷。从Adv接收一组攻陷方其中/>提供/>到Adv。
·评估。响应于Adv的查询(Eval,x,i),其中返回yi:=PartEval(ski,x)。以Adv希望的次数重复此步骤。
·质询。Adv输出校验是否
-以及
-
如果两个校验均成功,输出1。
因此,可通过首先运行Setup(1k,n,t)获得(vk,pp)来确认TTG方案不可伪造。公共参数(pp)被给予敌手Adv。然后从Adv获得一组攻陷方B,其中t′:|B|<t。秘密密钥份额{ski}i∈B被给予Adv。响应于Adv的查询(Eval,x,i),其中i∈[n]\B,计算并返回yiPartEval(ski,x)。此步骤可重复Adv希望的次数。Adv然后会使用那些应答来输出(x*,tk*)。这些值用于校验不可伪造性;如果Adv的查询(Eval,x*,i)}|<t–t'并且Verify(vk,tk*)的值=1,则所述TTG方案不可伪造。不可伪造性性质满足了这个要求:必须不可能在利用某个值联系少于t-t'个服务器的情况下生成关于该值的有效令牌。
本公开现在开始论述如本文所预期的基于密码的阈值认证(PbTA)协议,该协议为了增加安全性而引入了优于传统的基于令牌的认证方案的修改和特征。
III.基于密码的阈值认证
A.PbTA简介
在基于密码的阈值认证(PbTA)协议下,身份提供商(例如,认证服务器)作用被分布在n个服务器当中,所述服务器共同验证客户端的密码并为客户端生成认证令牌。PbTA使任何t(2≤t≤n)个服务器能够认证客户端并生成有效令牌,而最多破解t-1个服务器的任何攻击者无法伪造有效令牌或安装离线词典攻击。
更具体地说,在基于密码的阈值认证(PbTA)系统中,存在n个服务器和任何数目的客户端。PbTA自然分为四个阶段:(i)全局设置阶段;(ii)注册阶段;(iii)登录阶段;以及(iv)验证阶段。在全局设置阶段期间,主秘密密钥在服务器当中共享,服务器稍后将所述主秘密密钥用于生成认证令牌。在注册阶段,客户端C基于其用户名和密码计算注册消息(每个服务器一个消息),并将所述消息发送到服务器,每个服务器处理其接收的消息并存储该客户端的唯一记录。在登录阶段,客户端通过发送其中并入有其用户名/密码和要包括在令牌中的额外信息的请求消息来发起认证。每个服务器使用其用户记录来计算响应。此响应含有客户端最终想要获得的认证令牌的份额。如果客户端的密码匹配,则客户端能够将令牌份额组合且最终确定单个有效令牌以用于将来的访问。在验证阶段期间,可使用验证算法来验证最终确定的令牌,所述验证算法采用公用或专用(取决于令牌类型)验证密钥来验证所述令牌是使用唯一主秘密密钥而生成。验证过程也可分布在多个服务器当中(基于MAC的令牌可能需要这一点)。
在PbTA下,服务器的身份可以是固定和公开的。具体地说,客户端能够使用加密到第i服务器的公用密钥PKi。在一些实施例中,仅在注册过程中需要公用密钥,而在令牌生成期间不需要。客户端不需要存储任何永久秘密信息。客户端唯一需要的秘密是其密码,所述密码不会存储在任何位置。客户端用于注册和登陆的装置可存储系统的某些公共参数(例如服务器的公用密钥)。
PbTA方案可正式定义为满足正确性要求的七个PPT算法(GlobalSetup、SignUp、Store、Request、Respond、Finalize、Verify)中的元组。
GlobalSetup(1κ,n,t,P)→(sk,vk,pp,(SK1,...,SKn))算法将安全参数、服务器数目n、阈值t和密码空间P作为输入。为了令牌生成,其输出秘密密钥sk、密钥的份额sk1、sk2、...、skn以及验证密钥vk。为了与服务器的安全通信,其生成IND-CCA2公用密钥加密密钥对(PK1,SK1)、...、(PKn,SKn)。公共参数pp包括GlobalSetup的所有输入、公用密钥PK1、...、PKn和其它信息。(pp将是下文算法中的隐式输入。)n个服务器将由S1、...、Sn标示。对于i∈[n],Si接收(ski,SKi,pp)并初始化一组记录
在注册阶段期间,SignUp(C,pwd)→{(C,msgi)}i∈[n]算法将客户端id C和密码pwd∈P作为输入,并为每个服务器输出消息。Store(SKi,C,msgi):reci,C算法将秘密密钥SKi、客户端id C和消息msg作为输入,并输出记录reci,C。在不存在C的记录的情况下,Si在其记录列表reci中存储(C,reci,C),否则,其不做任何动作。
在登录阶段,算法将客户端id C、密码pwd、值x和集合/>作为输入,并输出秘密状态st和请求消息/>对于/>将reqi发送到Si。Respond(ski,reci,C,x,reqi)→resi算法将秘密密钥份额ski、记录集reci、客户端id C、值x和请求消息reqi作为输入,并输出响应消息resi。算法将秘密状态st和响应消息/>作为输入,并输出令牌tk。
在验证阶段期间,Verify(vk,C,x,tk)→{0,1}.算法将验证密钥vk、客户端id C、值x和令牌tk作为输入,并输出1(表示有效性)或0。
对于所有任何/>以使得t≤n、所有{PKi}i∈[n]和P、由Setup(1κ,n,t,{PKi}i∈[n],P)生成的所有(sk,vk,pp)、任何客户端id C、任何密码pwd∈P、任何值x以及大小至少为t的任何/>满足正确性,条件是:
·((C,msg1),...,(C,msgn))←SignUp(C,pwd),
·reci,C:=Store(Ski,C,msgi),其中i∈[n],
·
·resi←Respond(ski,reci,C,x,reqi),其中
·
则Verify(vk,C,x,tk)=1。
为了更好地理解PbTA方案的运行方式,分别在图3A和图3B中示出在PbTA协议下的注册和登录阶段。
具体地说,图3A示出在基于密码的阈值认证(PbTA)协议下的注册流程图。
PbTA方案中可存在两个或更多个认证服务器。在图中示出的实施例中,示出三个服务器:ID服务器311、ID服务器312和ID服务器313。
在一些实施例中,每个认证服务器可拥有和利用客户端301共享和已知的不同秘密份额。这些秘密份额可在初始设置阶段期间生成。
然而,在其它实施例中,客户端301可生成一组密码份额并将其分布在认证服务器当中。系统中每个认证服务器可能有不同的秘密份额。在下文更详细地论述此类实施例。
在注册过程期间,客户端301从用户接收用户标识符(例如,用户名)和密码凭证。在一些实施例中,客户端301可计算密码的散列(h)。
代替由客户端301将此唯一散列的密码(h)发送到每个可用服务器,客户端301可通过仅客户端知道的随机性来创建密码的盲化散列。可将盲化散列发送给每个服务器。
在一些实施例中,客户端301还可根据充当主秘密密钥的散列的密码(h)生成一组秘密份额(ski)。因此,秘密份额将从h导出,并且秘密份额的数目将对应于认证服务器的数目。
在步骤1,客户端301发送密码i的盲化散列、对应的秘密份额和用户标识符到三个ID服务器中的每个服务器:ID服务器311、ID服务器312和ID服务器313。在一些实施例中,如图所示,客户端301可针对每个服务器生成消息记录uid,其可含有用户名或用户标识符(uid)、盲化散列和/或从h导出的用于该服务器的对应秘密份额。
在一些实施例中,客户端301还可通过将服务器的对应秘密份额应用到盲化散列来为每个服务器生成散列部分。客户端301可在所述消息内或在单独通信中发送该散列部分。每个散列部分可称为hi,其中hi=H′(h,i)对应服务器i,并且H′假设为随机预言。在图中,示出三个服务器,因此客户端301向相应服务器提供三个散列部分,h1、h2和h3。这相对于图10和11进行了额外详细描述。
在步骤2,每个ID服务器可存储其接收的记录或信息,例如消息中对应于特定用户标识符的秘密份额,以及还基于用户标识符保存的对应散列部分(例如,来自客户端301)。
在一些实施例中,客户端301不必继续存储散列的密码(h)、生成的秘密份额或散列的部分,因为客户端301能够在客户端301请求用于生成认证令牌的令牌份额时从认证服务器间接检取该信息。
图3B示出在注册之后在基于密码的阈值认证(PbTA)协议下的登录流程图。
在步骤1,客户端351向三个ID服务器中的每个服务器发送请求消息:ID服务器361、ID服务器362和ID服务器363。每个请求消息在图中指示为请求uid。客户端351从每个服务器请求加密令牌份额(例如,其对令牌认证方案的消息的加密)。在每个消息中,客户端351可提供用户标识符,认证服务器可使用所述用户标识符来检取与该用户标识符(其在注册过程期间存储)相关联的秘密份额ski。令牌份额可在从该服务器的用户散列部分hi(即,使用Eh(·),其中E是对称密钥加密方案)导出的密钥下加密,所述密钥在注册过程期间保存。
在步骤2,每个ID服务器计算其令牌的加密份额,在图中指示为令牌i uid。每个服务器针对与客户端351相关联的用户提供基于该服务器的用户散列部分hi加密的令牌份额。例如,ID服务器361可将h1用于加密密钥,ID服务器361可将h2用于加密密钥,诸如此类。
在步骤3,每个ID服务器在响应消息中将其加密令牌份额发送到客户端351。加密令牌份额标记为令牌i uid。
在步骤4,客户端351可解密响应消息中的所有加密令牌份额,以获得所有令牌份额(在此实例中为三个)。客户端351可解密每个加密令牌份额,因为客户端351最初生成在注册过程期间分布到认证服务器的所有散列部分hi,并且客户端351可使用每个服务器的对应散列部分来解密从该服务器接收的加密令牌份额。替代地(例如,如果客户端351未本地保存散列部分),客户端351可从可用于确定散列部分的服务器接收部分散列响应。相对于图10和11进一步描述了此方法。通过所有令牌份额,客户端351可将其组合以恢复最终令牌,所述最终令牌可用来获得对安全资源(例如,应用程序服务器352)的访问。最终令牌标记为令牌uid。
在步骤5,客户端351将完整令牌发送到应用程序服务器352,所述应用程序服务器具有可用于验证令牌的验证密钥(vk)。在步骤6,应用程序服务器352将通知客户端351其是否成功(例如令牌是否有效)。
在一些实施例中,客户端351可能未本地存储在注册期间分布到认证服务器的秘密份额或散列部分hi,这意味着客户端351可能需要来自认证服务器的额外信息才能解密加密令牌份额。关于图10到11更详细地论述此类实施例。
由于现在已经了解了PbTA方案的基本操作,现在进一步论述在PbTA方案中发现的重要特征。
B.阈值不经意伪随机函数(TOPRF)
PbTA的一个特征是使用阈值不经意伪随机函数(TOPRF)。伪随机函数(PRF)系列是确定性函数的带密钥系列。从所述系列随机选择的函数与随机函数无区别。不经意PRF(OPRF)是PRF到双方场景的扩展,其中服务器S持有密钥,而P方持有输入。S可在基于输入计算PRF值时帮助P,但这样做时,P不应获得任何其它信息,并且S不应习得P的输入。阈值不经意伪随机函数(TOPRF)是对此的进一步扩展,其天然满足不经意性和不可预测性这两个性质。
具体地说,TOPRF可被称为-阈值不经意伪随机函数(TOPRF)TOP,其为四个PPT算法(Setup、Encode、Eval、Combine)的元组:
·Setup(1κ,n,t)→(sk,pp)。此算法生成n秘密密钥份额sk1、sk2、...、skn和公共参数pp。份额ski被给予i方。
·Encode(x,ρ)=:c。此算法使用随机性生成x∈χ的编码c。
·Eval(ski,c)→zi。此算法从编码生成TOPRF的份额值。i方通过利用ski和c运行Eval而从c计算出第i份额zi。
·Combine(x,{(i,zi)}i∈S,ρ)=:h/⊥。此算法组合从集合S中的各方接收到的份额,使用随机性ρ以生成值h。如果算法失败,其输出由⊥标示。
通过TOPRF,不管用于编码x的随机性和其份额被组合的各方集合如何,Combine算法的输出不会改变(只要Combine算法给定用于编码的相同随机性即可)。更具体地说,对于所有任何/>以使得t≤n、由Setup(1κ,n,t)生成的所有(sk,pp)、任何值x∈χ、任何随机性/>以及大小至少为t的任何两个集合/>如果c:=Encode(x,ρ),c′:=Encode(x,ρ′),zi←Eval(ski,c),其中i∈S,并且z′j←Eval(skj,c′),其中j∈S′,则Combine(x,{(i,zi)}i∈S,ρ)=Combine(x,{(j,z′j)}j∈S′,ρ′)≠⊥。
此特征使令牌份额能够组合成令牌,并且Combine算法的输出可被称为TOPRF基于x的输出,并由TOP(sk,x)标示。
Combine算法可分为两个独立算法,PubCombine和Decode。PubCombine可由仅有权访问部分评估zi的任何人运行;其输出编码PRF值z′。Decode可与Combine相同或其可采用(x,z′,ρ)作为输入。由于任何x∈χ、大小至少为t的/>如果c:=Encode(x,ρ)且zi←Eval(ski,c),其中i∈S,则对于任何i,如果z′i≠zi,则PubCombine({(i,zi)}i∈S)≠PubCombine({(i,z′i)}i∈S)。这意味着如果任何部分评估被篡改,则PubCombine可用于检测这一情况。
TOPRF协议可在随机预言模型中在间隙阈值一对多Diffie-Hellman密钥交换算法(Gap-TOMDH)假设下是UC安全的,而该Gap-TOMDH在通用群模型中较难。
可假设这种难度。令U为长度n的二元向量集。向量u∈U的权重是其中的1的数目。令t′,t∈N s.t.t′<t≤n。限定MAXt′,t(q1,...,qn)为 的最大值,/>权重/>(对向量的所有运算是按分量限定。)
图4示出与间隙阈值一对多Diffie-Hellman密钥交换算法(Gap-TOMDH)博弈相关联的进一步假设。
在图4中所示的内容下,循环群生成器GroupGen满足(t′,t,n,N)-阈值一对多Diffie-Hellman密钥交换算法(TOMDH)假设,其中t′<t≤n,条件是,对于所有PPT敌手Adv,存在可忽略函数negl s.t.。One-MoreAdv(1κ,t′,t,n,N)输出1,概率最多为negl(κ)。
TOPRF方案还可具有两个性质:不可预测性和不经意性。不可预测性意指基于随机值,必须难以预测TOPRF输出,而不经意性意指即使TOPRF输出可获得,但随机值本身难以猜测。
图5示出与不可预测性相关联的假设和定义,所述不可预测性是与TOPRF相关联的性质。
因此,如果对于所有t≤n以及所有PPT敌手Adv,存在可忽略函数negls.t.,则认为TOPRF/>TOP:=(Setup,Encode,Eval,Combine]不可预测。
其中术语不可预测性(Unpredictability)定义见图5。
图6示出与不经意性相关联的假设和定义,所述不经意性是与TOPRF相关联的性质。
因此,如果对于所有t≤n以及所有PPT敌手Adv,存在可忽略函数negls.t.,则认为TOPRF/>TOP:=(Setup,Encode,Eval,Combine]是不经意的。
其中术语不经意性(Obliviousness)在图6中定义。
TOPRFTOP可基于输入空间χ的TOMDH假设而描述如下:[topsep=0pt]
·Setup(1κ,n,t)。运行GroupGen(1κ)以获得从/>随机挑选sk。令sk←GenShare(p,n,t(0,sk))为sk的(t,n)-沙米尔共享。令/> 和为散列函数。输出sk和/>
·Encode(x,ρ)。输出
·Eval(ski,c)。输出
·Combine(x,{(i,zi)}i∈S,ρ)。如果|S|<t-1,则输出⊥。否则,使用S查找系数{λi}i∈S并输出
很容易发现TOP是个一致的方案。
可将PubCombine({(i,zi)}i∈S)限定到输出z,其为Combine中的中间值。给定x、z和ρ,则Combine的输出固定。因此,如果部分评估的任意集产生相同的z,则Combine将输出相同的结果。此外,如果PubCombine产生不同于z的则/>并且Combine的输出将有较高概率不同(假设/>是防冲突的)。
除了具有不可预测性和不经意性的TOPRF外,PbTA还列出了一些安全要求,例如密码安全性和令牌不可伪造性。在安全博弈的上下文内可更好地理解这两个性质。
图7示出与PbTA的安全博弈相关联的假设。安全博弈先前已在基本概念部分进行了详述。在此上下文内,正式定义PbTA的两个安全性质(密码安全性和令牌不可伪造性)。这些安全性质的正式证明位于本公开的末尾。
如果对于所有t≤n、所有密码空间P和在SecGameΠ,Adv(1κ,n,t,P)(图7)中对于/>输出/>的所有PPT敌手Adv,存在可忽略函数negl s.t.,则PbTA方案∏是密码安全的。
如果对于所有t≤n,所有密码空间P和在SecGameΠ,Adv(1κ,n,t,P)(图7)中输出/>的所有PPT敌手Adv,存在可忽略函数negl s.t.,则PbTA方案Π是不可伪造的。
如果/>
否则,如果
IV.PASTA
A.PASTA简介
与PbTA相关联的这些不同概念可被考虑并用于制定基于PASsword的阈值认证(PASTA),其为建构PbTA方案的总体框架,其允许使用不同的基于密码的阈值令牌生成方法。PASTA提供了一种方法来以黑盒方式组合任何阈值令牌生成方案(TTG),例如阈值MAC或数字签名以及任何阈值不经意伪随机函数(TOPRF),以建构确保强密码安全性和不可伪造性的PbTA方案。
因此,PASTA可适用于对称密钥令牌(即MAC)和公用密钥令牌(即数字签名)两者,同时仍遵守PbTA协议的严格安全要求,并且符合令牌不可伪造性和密码安全性的要求。虽然对称密钥和公用密钥令牌的验证程序在专用或公用方面不同,但其令牌生成程序都是专用的。由于PASTA侧重于生成令牌,因此其可适用于两种类型的令牌。
在一些实施例中,在PASTA下生成的认证方案可能需要最少的客户端交互。具体地说,在单次全局设置以秘密共享主秘密密钥之后,服务器不必彼此通信,而且客户端可通过单个“注册”消息向认证服务器注册其用户名/密码。注册的客户端可使用双消息协议登录,所述协议确保如果客户端密码正确,则客户端会获得有效认证令牌。
图8示出与基于PASsword的阈值认证(PASTA)相关联的正式要求和描述的集合。例如,可看出,TTG方案包括四个算法(TTG.Setup、TTG.Parteval、TTG.Combine和TTG.Verify),并且TOPRF也包括四个算法(TOP.Setup、TOP.Encode、TOP.Eval和TOP.Combine)。PASTA可以极轻权重的方式使用这两个主要的基础原语TTG和TOPRF。
可包括三个算法(Request、Respond和Finalize)的登录阶段不会在原语可能有的内容的基础上添加任何公用密钥运算。当运行Request算法时,运行一次TOP.Encode。Respond运行TOP.Eval和TTG.PartEval两者,但每一个仅一次。Finalize运行TOP.Combine和TTG.Combine各一次。即使Finalize中的解密次数与t成比例,这些运算也是极快的对称密钥运算。因此,PASTA最低限度地利用其所基于的两个原语,而其性能主要受控于这些原语的效率。
在遵守PASTA的一些实施例中,可使用密钥绑定对称密钥加密方案,使得当密文被错误密钥解密时,解密失败。可极高效地在随机预言模型中(例如通过将秘密密钥的散列附加于每个密文)获得密钥绑定。
在登录阶段,PASTA框架可假设服务器与客户端通过认证的信道通信,使得敌手无法代表诚实服务器向客户端发送任意消息。PASTA并不假设这些信道提供任何机密性。如果在另一方向存在认证的信道,即,服务器可标识其接收的每个消息的发送方,则无需密码,并且PbTA方案无实际意义。
PASTA可提供与典型PbTA方案相关联的强密码安全性和不可伪造性的正式保证。具体地说,如果TTG是不可伪造阈值令牌生成方案,TOP是不可预测和不经意TOPRF,并且对称密钥加密方案(SKE)是密钥绑定CPA安全对称密钥加密方案,则PASTA下的PbTA方案在H建模为随机预言时是密码安全和不可伪造的。
尤其从证明安全性的视角看,PASTA的重要特征是对TOPRF和TTG的使用重叠性极小。TOPRF的输出用于加密TTG的部分评估,但在此之外,这两者独立地操作。因此,即使TTG以某一方式遭破坏,但这不会影响客户端密码的安全。此外,即使TOPRF遭破坏,但仍将需要阈值数目的服务器来生成令牌。
B.基于PASTA的方案的示例操作
参考图9到11描述和论述对于PASTA下的所有方案都常见的这些重要特征。
总的来说,与图1中的技术相比,PASTA下的认证方案的实施例可使用多个服务器,其中需要指定数目(例如t)的服务器来提供有效响应以用于生成有效令牌。服务器可存储主密钥的不同份额(例如秘密份额),使得如果(t-1)个服务器被破解,则主密钥不会被破解。t的值可以是可变参数。但是,如果在每个服务器处仍存储用户名和散列的列表,则此类解决方案不会阻止字典攻击。并且,期望不要重建密钥,因为这样可允许密钥被破解。因此,实施例可使服务器提供t个有效响应(例如令牌份额,其可使用相应密钥份额生成),并且客户端可重建令牌。
图9示出根据本发明的实施例在PASTA下完整令牌的生成。提供此图以示出完整令牌可如何通过组合令牌份额而生成,这一概念在图10到11中展开。
在登录阶段,客户端902可例如从用户输入获得用户标识符以及凭证(例如,对应于用户标识符的密码)。然后,客户端902向n个服务器中的每一者发送请求消息904,其中每个消息含有用户标识符和要添加到令牌的额外数据x,例如时间戳、有效期、访问策略等。在一些实施例中,请求消息904还可包括用户提供的凭证的盲化散列。可存在与客户端902相关联的散列引擎。在所示图中,存在五个服务器:服务器912、914、916、918和920。
每个服务器接收请求消息,并使用其在注册阶段为该用户存储的信息来计算响应消息。服务器可查找其为该用户标识符存储的密码份额。在一些实施例中,服务器可查找存储的对应于用户标识符的散列部分。在一些实施例中,对于每个服务器来说,对应于用户标识符的秘密份额和散列部分是不同的。
每个服务器可基于用户标识符和对应于该用户标识符的秘密份额来生成认证令牌份额905。然后,每个服务器可对此令牌份额905加密,并且服务器可一起在响应消息中将加密令牌份额905发回客户端902。可使用存储的与用户标识符对应的散列部分导出的密钥来加密此令牌份额905。
客户端902能够解密每个加密令牌份额905。然后,客户端902可根据来自n个响应消息(例如产生于每个服务器处的认证)的所有令牌份额905重建认证令牌910。可存在组合令牌份额905以生成令牌910的组合引擎以及验证此令牌910的验证算法。
因此,每个服务器基本上提供令牌份额905(即,在请求得到验证的情况下)到客户端902,其中令牌份额通过例如先前描述的沙米尔的秘密共享的方法生成,使得具有足够阈值的份额足以重建令牌910。例如在图中所示,如果服务器914和916已被破解,这两个服务器仅具有总计五个令牌份额905中的两个令牌份额,这意味着无法伪造令牌910。此外,服务器914和916将不能确定密码,所述密码仅由客户端902拥有。因此,来自服务器912、914、916、918和920的所有五个响应都需要是有效的,以便恢复令牌。少于此数目的任何数目将导致无法恢复客户端902所拥有的密码或令牌910。
在各种实施例中,所述方案可使用各种类型的非交互阈值令牌生成(NITTG),例如基于对称密钥的MAC,基于公用密钥的MAC、秘密共享(沙米尔)RSA式数字签名或基于配对的数字签名。NITTG可允许客户端902向所有服务器发送消息,服务器可在无来自客户端902的任何进一步交互的情况下生成其令牌份额,并将所述令牌份额发回客户端902。
在一些实施例中,可使用如本文所描述的阈值不经意伪随机函数(TOPRF)来执行组合引擎。为了实现对令牌份额的组合,客户端902可对密码(或其它凭证)进行散列,但客户端将在注册阶段(图10中描述)使散列盲化并将密码的盲化散列发送到服务器。归因于盲化,服务器在该过程中不会接收到关于密码的任何信息。客户端可为每个服务器生成特殊密钥,其中每个特殊密钥被发送到相应服务器。
图10示出根据本发明的实施例在PASTA下的注册阶段。
在注册阶段,客户端1005的用户可注册服务。多个服务器(在此情况下,存在5个服务器:服务器1012、1014、1016、1018和1020)的使用可对客户端1005的用户隐藏。然而,可建立和固定服务器的数目,以及其它安全参数,例如阈值t。
在一些实施例中,服务器的数目、阈值等可能已用于生成全局适用秘密密钥(sk)、密钥份额(例如,秘密份额sk1、sk2等)以及验证密钥(vk)。秘密份额的数目将对应于服务器的数目,并且每个秘密份额可分布到不同服务器。可与客户端共享这些秘密份额。
在一些实施例中,每个客户端(例如,客户端1005)可选择或生成唯一秘密密钥和与服务器数目相对应的数个密钥份额(例如,秘密份额)。例如,可基于所选密码或散列的密码来生成秘密份额。这些秘密份额可一对一分布在服务器当中,并且对于客户端和/或用户可以是唯一的。因此,每个服务器将接收和存储对应于系统中的每个客户端和/或用户的唯一秘密份额。相对于图10和11进一步描述了此类实施例。
在此类实施例中,客户端1005可在用户首次注册时向用户请求用户名和密码凭证。客户端1005可生成密码的散列(h)。在一些实施例中,客户端301可使用TOPRF对密码进行散列。在一些实施例中,客户端1005可将散列的密码盲化以创建散列的密码的盲化散列。例如,可通过提升到随机值R的幂来盲化所述散列。
客户端1005可将用户标识符、散列的密码的盲化散列和/或对应的秘密份额发送到每个服务器。例如,到第一服务器1012的消息1001可含有用户标识符和盲化散列,并且可能含有秘密份额sk1。在一些实施例中,每个服务器可基于其所发放的秘密份额、用户标识符和/或密码的盲化散列来生成用户的唯一记录,然后基于用户标识符存储所述唯一记录。
在一些实施例中,通过将提供给每个服务器的密码份额应用于其接收到的盲化散列,每个服务器可使用所述秘密份额来生成部分应答(也称为部分散列响应)。例如,可由服务器1012接收盲化散列,所述服务器将所述盲化散列提升到服务器1012的秘密份额sk1,由此获得结果(称为部分应答),所述结果是提升到R乘以sk1的量的幂的散列的密码。每个服务器的部分散列响应将不同,因为每个服务器的秘密份额不同。在一些实施例中,每个服务器可将部分应答发回到客户端1005。例如,服务器1012可通过消息1002发送所述部分应答。
对于接收到的每个部分应答,客户端1005处理并解盲化接收到的部分应答,由此获得可发送回到相应服务器的散列部分hi。例如,对于从服务器1002接收的部分应答,客户端1005可通过将部分应答提升到R倒数的幂来移除R,由此获得散列部分h1(密码的散列提升到sk1的幂)。每个服务器随后存储其接收到的相应散列部分,其中基于用户标识符来存储所述散列部分。
在一些实施例中,每个服务器可基于其所发放的秘密份额、用户标识符和/或盲化散列来使用所述秘密份额生成用户的唯一记录,然后基于用户标识符存储所述唯一记录。
在一些实施例中,每个服务器可将部分应答发回到客户端1005。例如,服务器1012可通过消息1002发送所述部分应答。对于每个服务器,客户端接着解盲化接收到的部分应答,由此获得可发送回到相应服务器的散列部分hi。然后,每个服务器基于用户标识符存储相应的散列部分。
因此,对于特定用户标识符,认证服务器将具有在注册过程期间接收到的密码的盲化散列、密码份额以及在注册过程期间接收到的散列部分。
注册后,客户端可在登录过程期间请求令牌。
图11示出根据本发明的实施例的在PASTA下请求令牌。
在前一注册阶段,n个服务器(在此示例中为5个:服务器1112、1114、1116、1118和1120)中的每一者可能已接收到并存储了与来自注册阶段的用户标识符(例如用户名)一致的秘密份额(ski)和散列部分(hi)。这些内容可能存储在与用户相关联的唯一记录中。
在登录过程期间,客户端1105可向尝试访问受保护资源的用户请求用户标识符(例如,用户名)和密码凭证。此密码凭证应与注册过程期间所用的密码凭证相同。客户端1105可生成由用户供应的此密码凭证的盲化散列。
然后,客户端1105可将令牌请求消息1101发送到多个服务器中的每一者(图中示出五个服务器,包括服务器1112、1114、1116、1118和1120)。每个请求1101可包括密码的盲化散列、要签名的数据x(例如,用户名、时间戳、有效期和访问策略),以及——如果x中未包括——用户名。每个服务器可使用用户名来标识散列部分hi以及对应于用户名的在注册过程期间发放给服务器的秘密份额。
服务器可使用要签名的数据x和秘密份额来生成令牌份额。可使用存储的与在注册过程期间接收到的用户名相关联的散列部分hi加密此令牌份额。同时,使用与注册阶段中使用的相同算法,服务器还可使用与令牌请求消息1101中提供的用户名和盲化散列相关联的服务器的秘密份额来计算部分应答(例如,部分散列响应)。例如,如果在注册过程期间,盲化散列被提升到服务器的秘密份额的幂,则通过将提供于令牌请求消息1101中的盲化散列通过服务器的秘密份额提升而将再次计算部分应答。
然后,每个服务器可将消息1102发送回到客户端1105,所述消息可包括对应服务器生成的部分应答和加密令牌份额。仅需要阈值数目的响应,因此并不需要发生注册的每个服务器的响应。
客户端1105接着可通过解盲化接收到的部分应答来生成每个服务器的对应散列部分hi。在注册阶段中使用的盲化/解盲化过程可不同于此请求阶段使用的盲化/解盲化,因为每个解盲化都会提供散列部分。如果密码相同,则获得的散列部分应与注册过程中的对应散列部分相同。换句话说,如果用户在请求消息中使用了正确的密码,则客户端1105将能够重建对应于所有服务器的所有散列部分(例如,h1、H2、H3、H4、H5)。这些散列部分可用于解密从服务器接收的所有对应加密令牌份额(例如,如果服务器使用其存储的h1副本加密令牌份额,则客户端可使用根据部分应答重建的h1来解密所述令牌份额,所述部分应答与加密令牌份额在同一消息中接收)。所有令牌份额解密后,客户端1105能够将其组合以生成令牌1110,所述令牌然后可用于获得对受保护资源的访问。
以此方式,服务器实际上不会习得密码的散列,因为它们仅获得盲化的散列。此外,每个服务器甚至可能接收不同的盲化散列。并且,每当客户端进行请求,盲化的散列可改变。并且,每个服务器存储不同散列部分,即,秘密份额和散列的结果。因此,即使攻击者破解服务器,但其无法再执行字典攻击,因为秘密在服务器当中共享,并且没有一个服务器知道实际密钥。例如图中所示,如果服务器1114和1116已被破解,则攻击者将仅能够获得两个部分应答(例如与散列部分h2和h3相关联)并且仅解密总计五个令牌份额中的两个令牌份额。将需要破解所有五个服务器1112、1114、1116、1118和1120以便产生令牌1110或通过字典攻击获得密码。
V.性能评估
虽然图9到11描绘了基于PASTA的方案当中的一些共性,但一个偏差来源可能是所用的阈值令牌生成(TTG)方案。基于MAC或数字签名,可存在基于密码的令牌生成的各种实施方案。本文预期并综述了遵守PASTA的四个不同的认证方案示例(基于不同的阈值令牌生成方案),包括:(1)对称密钥阈值MAC;(2)公用密钥阈值MAC;(3)基于阈值配对的签名;以及(4)基于阈值RSA的签名。
A.实施细节
针对这四个TTG方案中的每一者实施PASTA并观察结果揭示,关于性能,每个类型的令牌都可能具有其自身的优势和缺点。此测试使用来自AES-NI的伪随机函数(PRF)和来自Blake2[2]的散列函数执行;椭圆曲线运算、配对运算和RSA运算来自Relic库[12]。AES-NI中的密钥长度为128位。TOP和基于公用密钥的MAC中所用的循环群是256位Barreto-Naehrig曲线(BN曲线)上的群G_1[13]。在256位BN曲线上实施配对。基于RSA的签名的密钥长度是2048位。
为了评估这四个方案的性能,在具有2x24核2.2GHz CPU和64GB RAM的单个服务器上运行实验。各方在同一服务器的不同核上运行,并且使用Linux tc命令模拟网络连接:LAN设置为10Gbps网络带宽和0.1ms往返时延;WAN设置为40Mbps网络带宽和模拟的80ms往返时延。
B.令牌生成时间
下表(表1)示出客户端在PASTA下注册后在登录阶段生成单个令牌的总运行时。示出各种类型的令牌在LAN和WAN设置和不同(n,t)值时的结果,其中n是服务器的数目,而t是阈值。报告的时间是10,000个令牌请求的平均值。
(n,t) | 对称MAC | 公用MAC | 配对签名 | RSA签名 | |
*LAN | (2,2) | 1.3 | 1.7 | 1.7 | 14.5 |
(3,2) | 1.3 | 1.7 | 1.7 | 14.5 | |
(6,2) | 1.3 | 1.7 | 1.7 | 14.5 | |
(10,2) | 1.3 | 1.7 | 1.7 | 14.5 | |
(10,3) | 1.6 | 2.1 | 2.1 | 15.1 | |
(10,5) | 2.3 | 3.0 | 3.0 | 16.8 | |
(10,7) | 3.0 | 3.9 | 3.9 | 19.1 | |
(10,10) | 4.1 | 5.4 | 5.4 | 22.6 | |
*WAN | (2,2) | 81.4 | 81.8 | 81.8 | 94.6 |
(3,2) | 81.4 | 81.8 | 81.8 | 94.6 | |
(6,2) | 81.4 | 81.8 | 81.8 | 94.6 | |
(10,2) | 81.4 | 81.9 | 81.9 | 94.6 | |
(10,3) | 81.7 | 82.2 | 82.2 | 95.0 | |
(10,5) | 82.4 | 83.1 | 83.1 | 96.9 | |
(10,7) | 83.1 | 83.9 | 83.9 | 99.2 | |
(10,10) | 84.2 | 85.4 | 85.4 | 102.8 |
表1在LAN和WAN设置中,对于服务器数目n和阈值t,PASTA下用于生成单个令牌的总运行时(以毫秒为单位)。
注意,对于相同的阈值t=2和相同类型的令牌,n的不同值产生类似运行时。这是因为对于阈值t,客户端仅需要与t个服务器通信,而且每个服务器的通信和计算成本都相同,因此总运行时也应该相同。因此,总运行时独立于n并且仅取决于阈值t。对于阈值t的其它值,仅针对n=10报告运行时,但n的其它值的运行时大致相同。
另注意,对于相同的(n,t)和相同类型的令牌,WAN设置中的运行时大致是LAN设置中的运行时加上80ms的往返时延。这是因为在PASTA下,客户端并行地发送请求到服务器以及接收服务器的响应。通信复杂度极小,因此大部分通信开销大致是往返时延。值得注意的是,PASTA涉及最少两轮交互,因此此开销在WAN设置中不可避免。
基于公用密钥的MAC和基于配对的签名的运行时在相同设置下几乎相同。这是因为基于公用密钥的MAC和基于配对的签名的方案都是在成群的256位Barreto-Naehrig曲线(BN曲线)[13]上实施。此组支持3类配对操作,并且被认为符合决定性Diffie-Hellman密钥交换算法(DDH)假设,因此这两个原语都适合。
最后,所述表未报告用户注册的运行时,因为:(i)每个用户只完成一次用户注册;以及(ii)用户注册比获得令牌更高效。
C.时间分解
下表(表2)示出LAN设置中三个不同(n,t)值的运行时分解。对于表中的每个值(n,t),第一行是总运行时,而第二行和第三行分别是客户端侧和单个服务器上的计算时间。
对称MAC | 公用MAC | 配对签名 | RSA签名 | |
(10,2) | 1.3 | 1.7 | 1.7 | 14.5 |
客户端 | 1.0 | 1.2 | 1.2 | 2.8 |
服务器 | 0.2 | 0.4 | 0.4 | 11.4 |
(10,5) | 2.3 | 3.0 | 3.0 | 16.8 |
客户端 | 1.9 | 2.4 | 2.4 | 5.2 |
服务器 | 0.2 | 0.4 | 0.4 | 11.4 |
(10,10) | 4.1 | 5.4 | 5.4 | 22.6 |
客户端 | 3.7 | 4.6 | 4.6 | 10.7 |
服务器 | 0.2 | 0.4 | 0.4 | 11.5 |
表2LAN设置中的运行时分解(以毫秒为单位)。
如表中所示,对于相同的令牌类型,单个服务器上的计算时间不会改变。另一方面,客户端上的计算会随着阈值而增长。
图12示出线图,展示在基于PASTA的方案中客户端侧的计算时间对阈值t的此依赖性。具体地说,对于所有四种类型的令牌,可看出计算时间在阈值t中以线性方式增长。
D.与朴素解决方案的比较
这些各种基于PASTA的方案的性能还可与不遵守PASTA的其它基于令牌的认证方案(称为朴素解决方案)进行比较。选择两个朴素解决方案:普通解决方案和阈值解决方案。在普通解决方案下,客户端通过其用户名/密码向单个服务器进行认证。服务器验证其凭证且接着使用主秘密密钥发放认证令牌。在阈值解决方案下,利用阈值认证方案。阈值认证方案的秘密密钥份额sk1、sk2、...、skn分布在服务器当中。客户端通过其用户名/密码向t个服务器进行认证,其中每个服务器验证其凭证且接着发放令牌的份额。客户端组合从服务器接收的份额以生成最终令牌。
在普通解决方案中,被攻破服务器将使攻击者能够(i)恢复主秘密密钥;以及(ii)执行离线字典攻击,以恢复用户的密码。当相比于普通解决方案,基于PASTA的方案呈现保护主秘密密钥和用户密码的额外成本。在阈值解决方案中,如果多达t-1个服务器被攻破,则主秘密密钥保持安全,但用户密码容易受到离线字典攻击。当相比于阈值解决方案,基于PASTA的方案呈现保护用户密码的额外成本。
下表(表3)示出客户端在使用普通解决方案和阈值解决方案注册后针对不同的(n,t)值生成单个令牌的总运行时。报告的时间是在LAN和WAN设置中的10,000个令牌请求的平均值。对于相同的设置和相同类型的令牌,出于上文针对所述协议论述的相同原因,WAN网络中的运行时大致是LAN网络中的运行时加上80ms的往返时延。
表3针对LAN和WAN网络中的不同设置使用朴素解决方案生成单个令牌的总运行时(以毫秒为单位)。
注意,在阈值解决方案中,总运行时独立于n并且仅取决于阈值t。因此,仅示出针对相同n=10和不同阈值的运行时。
通过图13将这两个朴素解决方案的结果与针对四个基于PASTA的方案获得的结果进行比较。更具体地说,图13示出条形图,展示在LAN和WAN网络中与朴素解决方案相比,基于PASTA的方案在运行时中的乘法开销。
两个图表分别表示LAN和WAN网络中的比较。在每个图表中,第一组四个条表示与普通解决方案相比的所有四个基于PASTA的方案的开销。应注意,普通解决方案中不存在(n,t)的概念,因此选择设置(5,3)以与普通解决方案进行比较。如果将普通解决方案与其它(n,t)设置进行比较,结果将略有不同。每个图中其余的五组条(每组具有四个条)表示针对各种(n,t)值与阈值解决方案相比的所有四个基于PASTA的方案的开销。与那些方案比较时,在基于PASTA的方案与阈值解决方案之间使用相同的(n,t)设置。
在LAN网络中,注意,基于RSA的令牌生成几乎没有开销。基于公用密钥的MAC和基于配对的签名的开销是个小常数。基于对称密钥的MAC的开销较高。这是因为朴素解决方案仅涉及对称密钥运算,而我们的解决方案涉及贵得多的公用密钥运算。由于必须要公用密钥运算来实现PbTA系统,因此这种开销是必要的。
在WAN网络中,由于最耗时的部分是基于PASTA的方案以及朴素解决方案中的网络时延,因此与朴素解决方案相比,所有基于PASTA的方案的开销都极其小。具体地说,在所有设置和所有令牌类型中,开销小于5%。
因此,从这些结果可看出,在登录阶段,在客户端通过互联网(例如WAN网络)连接到服务器的最可能情境中,与使用散列的密码和单服务器令牌生成的朴素解决方案相比,使用基于PASTA的方案获得抵抗服务器攻破的安全性的开销最多是6%。这主要是因为:在此情况下,对于所有令牌类型,网络时延在总运行时间中占了大部分。
与朴素单服务器解决方案相比,针对LAN设置中基于对称密钥的令牌,基于PASTA的方案可能开销较大,因为公用密钥运算在PASTA的运行时间中占主导,而朴素解决方案仅有对称密钥运算。然而,登录(即密码验证+令牌生成)的总运行时仍然很快,范围从(n,t)=(3,2)、对称密钥MAC令牌情况下的1.3ms到(n,t)=(10,10)基于RSA的令牌情况下的22ms,其中n是服务器数目,并且t是阈值。
因此,在客户端和服务器通过互联网通信的最可能设置中,与朴素单服务器解决方案相比,基于PASTA的方案中保护秘密和凭证免遭攻破的开销极低(1-6%)。由于公用密钥与对称密钥密码术的固有成本,在LAN中,基于MAC的令牌情况下的开销较高(但仍然仅为几毫秒)。
在这些示例性基于PASTA的方案中,阈值MAC TTG提供了更高效的解决方案,但令牌不能公开验证,因为验证器需要秘密密钥进行验证。涉及阈值RSA和阈值基于配对的令牌生成的基于PASTA的方案更昂贵但可公开验证。在基于签名的基于PASTA的方案中,基于配对的方案较快,因为签名无需配对,但基于RSA的解决方案的优势在于产生与现有应用程序兼容的标准RSA签名。
值得注意的是,与出于比较目的而呈现的两个朴素单服务器解决方案相比,存在其它替代方案。然而,即使存在高效替代方案,但此类替代方案通常无法满足PbTA协议的要求。
例如,阈值密码认证的密钥交换(T-PAKE)后跟着阈值签名/MAC的简单构成既不符合效率也不符合PbTA协议的安全要求。为了效率,需要最低限度的交互;服务器在单次设置程序之后不必彼此通信,并且密码验证和令牌生成可在两个(最优)轮次中同时执行(例如,(1)客户端发送请求消息到服务器的子组并且服务器通过其自身的消息响应;以及(2)如果客户端密码匹配,则客户端可组合服务器响应以获得有效令牌,或者客户端未得知任何内容)。相比之下,最高效的T-PAKE方案需要客户端与服务器之间至少三个轮次的交互以及服务器之间的额外通信(当与阈值令牌生成组合时可进一步增多)。为了安全起见,尚不清楚如何使此类构成符合不可伪造性和密码安全性的PbTA要求。
作为不可行替代方案的另一示例,基于密码的秘密共享(PBSS)考虑了在多个服务器当中共享秘密的相关问题,其中如果客户端的密码验证,则服务器可重建秘密。然而,这不会使秘密始终保持分布以用在阈值认证方案中。此外,通常在其中每个客户端都有其自身的唯一秘密的单客户端设置中研究PBSS,而多客户端设置和用于所有客户端的共用主密钥会引入额外技术挑战。
与这些替代方案相比,基于PASTA的方案将自然符合不可伪造性和密码安全性的严格PbTA要求。此外,基于PASTA的方案充当可基于单向函数的黑盒使用而构造的安全双方密钥协定协议。可证实基于PASTA的认证方案的这些关键益处。
VI.证明
A.TOPRF-不可预测性
假设存在PPT敌手Adv,使得:
考虑Adv的两个情况。在第一情况中,存在使得当Adv调用具有k个不同有效(x,y)对的/>时,/>在此情况下,Adv可用于破坏间隙TOMDH假设。在第二情况中,对于任何/>当Adv调用具有k个有效(x,y)对的/>时,在此情况下,可证实上式在理论上关联到PPT敌手Adv的信息不成立。
更仔细地查看第一情况,可构建敌手B,其可打破间隙TOMDH假设(例如,使得不存在可忽略函数negl s.t.,One-MoreAdv(1κ,t′,t,n,N)输出1,概率最多为negl(κ))。其首先从TOMDH博弈中接收/>向Adv呈现并取回/>然后随机生成/>发送/>到TOMDH博弈,并发送/>到Adv。然后对/>取样,设/>设/>并且设k:=0。此TOMDH博弈在图4中定义。
然后对于计算/>针对所有/>调用/>以获得/>并且计算/>其将(g1,y1)添加到LIST,设q=1,并且如下处理Adv的预言查询:
·基于Adv对的调用:挑选未使用gj,其中j∈[N],设c:=gj,对于计算zi←Eval(ski,c),并且对于所有/>调用/>以获得zi。使用[n]查找系数{λi}i∈[n]并计算/>将(gj,yj)添加到LIST,并且将q递增1。计算/>并返回/>到Adv。
·基于Adv对的调用:调用TOMDH博弈中的/>并将输出返回到Adv。
·基于Adv对的调用:如果/>则诚实地计算/>并返回到Adv。否则,令/>如果/>并且/>(即(gj,y)是新的有效对),则将k递增1,添加(gj,y)到LIST,并且在TOMDH博弈中输出LIST,条件是诚实地计算/>并返回到Adv。
·基于Adv对的调用:如果/>则返回/>否则,挑选未使用gj,其中j∈[N],设/>并将gj返回到Adv。
Adv在博弈UnpredictabilityTOP,Adv(1κ,n,t)中的观察(view)是理论上与随机预言模型中由模拟的观察不可区分的信息。这可通过混合体论据来证明:
·Hyb0:第一混合体是Adv在现实博弈UnpredictabilityTOP,Adv(1κ,n,t)中的观察。
·Hyb1:除了在对的响应中c被随机取样为/>此混合体与Hyb0相同。此混合体是理论上与Hyb0不可区分的信息,因为/>是素数阶的循环群。
·Hyb2:除了的输出是/>中的真随机群元素外,此混合体与Hyb1相同。Hyb1和Hyb2的不可区分源于随机预言模型。
·Hyb3:此混合体是由模拟的Adv的观察。其与Hyb2相同,但随机群元素替换为gj的元素,其中j∈[N]。由于gj的元素也是在TOMDH博弈中从/>随机取样而来,因此两个混合体不可区分。
根据B的构建,得知其中MAXt′,t(q′1,...,q′n)来自TOMDH博弈,并且/>来自不可预测性博弈。由于/>因此/>的输出具有以下数目的有效对:
因此,打破间隙TOMDH假设。
在第二情况中,对于任何当Adv调用具有k个有效(x,y)对的/>时,对于任何PPT敌手Adv,存在可忽略函数negl s.t.。
PredictingAdv(1κ)和预测博弈正式定义如下。
PredictingAdv(1κ):
1.对于每个x∈χ:h←${0,1}κ,
2.
3.k:=0
4.
5.当且仅当输出
·将k递增1
·返回
·如果返回1;否则返回0
可能会构建打破预测博弈的敌手 的构建如下。首先运行Setup(1κ,n,t)以生成(sk,pp),向Adv呈现pp并取回/>随后将/>给予Adv。设/>然后按照以下方式处理Adv的预言查询:
·基于Adv对的调用:取样/>对于i∈[n]计算zi←Eval(ski,c),并返回/>到Adv。
·基于Adv对的调用:Eval(ski,c)
·基于Adv对的调用:调用/>并将输出返回到Adv。
·基于Adv对的调用:
-如果则令/>
-如果并且/>则取样h←${0,1}κ并设/>
-如果并且/>(即(x,y)是有效对),则调用/>以获得h。设/>
返回h到Adv。
·基于Adv对的调用:诚实地计算/>并返回输出。
Adv在博弈UnpredictabilityTOP,Adv(1κ,n,t)中的观察是理论上与随机预言模型中由模拟的观察不可区分的信息。这可通过混合体论据来证明:
·Ayb0:第一混合体是Adv在现实博弈UnpredictabilityTOP,Adv(1κ,n,t)中的观察。
·Hyb1:除了在对的响应中c被随机取样为/>此混合体与Hyb0相同。此混合体是理论上与Hyb0不可区分的信息,因为/>是素数阶的循环群。
·Hyb2:除了的输出是真随机串外,此混合体与Hyb1相同。Hyb1和Hyb2的不可区分源于随机预言模型。/>
·Hyb3:此混合体是由模拟的Adv的观察。其与Hyb2相同,但/>并非在所述博弈中取样,而是在预测博弈/>中取样,并且用于有效(x,y)对的/>在预测博弈中取样。由于这些值在这两个混合体中随机取样,因此两个混合体不可区分。
因此,如果Adv打破博弈UnpredictabilityTOP,Adv(1κ,n,t),则会打破预测博弈:
这是理论上不可能的信息,会导致矛盾,因此证明结束。
B.TOPRF--输入不经意性
在本节中,已证实TOPRF的输入不经意性(Obliviousness)。假设存在PPT敌手Adv以使得
考虑Adv的以下两个情况。在第一情况中,存在使得当Adv调用具有k个不同有效(x,y)对的/>时,/>在这种情况下,Adv可用来打破间隙TOMDH假设。在第二情况中,对于任何/>当Adv调用具有k个有效(x,y)对的/>时,在这种情况下,可在理论上证实该信息,以上公式不成立。
转到第一情况,存在使得当Adv调用具有k个不同有效(x,y)对的/>时,可构建打破间隙TOMDH假设的敌手/>(例如,使得不存在可忽略函数negl s.t.,One-MoreAdv(1κ,t′,t,n,N)输出1,概率最多为negl(κ))。证据与关于不可预测性的第一情况相同。
在第二情况中,每当第k次Adv调用具有有效(x,y)对的时,该次对于任何PPT敌手Adv,存在可忽略函数negl s.t.
GuessingAdv(1κ)和猜测博弈正式定义如下。
GuessingAdv(1κ):
1.
2.k:=0
3.
4.当且仅当输出/>
·将k递增1
·如果返回1;否则返回0
可构建打破猜测博弈的敌手 的构建如下。首先运行Setup(1κ,n,t)以生成(sk,pp),将pp呈现给Adv并取回/>然后将/>给予Adv。取样/>设然后如下处理Adv的预言查询:
·基于Adv对的调用:取样/>对于i∈[n]计算zi←Eval(ski,c),并返回/>到Adv。
·基于Adv对的调用:返回Exal(ski,c)
·基于Adv对的调用:
-如果则令/>
-如果并且/>则取样h←${0,1}κ并设/>
-如果并且/>(即(x,y)是有效对),则调用/>如果输出为1,则/>否则取样h←${0,1}κ。设/>
返回h到Adv。
·基于Adv对的调用:诚实地计算/>并返回输出。
Adv在博弈ObliviousnessTOP,Adv(1κ,n,t)中的观察是理论上与随机预言模型中由模拟的观察不可区分的信息。这可通过混合体论据来证明:
·Hyb0:第一混合体是Adv在现实博弈ObliviousnessTOP,Adv(1κ,n,t)中的观察。
·Hyb1:除了在对的响应中c被随机取样为/>此混合体与Hyb0相同。此混合体是理论上与Hyb0不可区分的信息,因为/>是素数阶的循环群。
·Hyb2:除了的输出是真随机串外,此混合体与Hyb1相同。Hyb1和Hyb2的不可区分源于随机预言模型。
·Hyb3:此混合体是由模拟的Adv的观察。其与Hyb2相同,但/>并非在所述博弈中取样,而是在猜测博弈/>中取样。由于/>在这两个混合体中随机取样为因此两个混合体不可区分。
因此,如果Adv打破博弈ObliviousnessTOP,Adv(1κ,n,t),则会打破猜测博弈:
/>
这是理论上不可能的信息,会导致矛盾,因此证明结束。
C.PASTA--密码安全性
PASTA的密码安全性主要依赖于TOP的不经意性。直观地讲,如果TOPRF用在客户端密码上,则TOPRF的不经意性会使密码难以猜测。然而,可存在若干攻击PbTA方案的不同方式。例如,用于编码密码的随机性可能以某种方式泄漏(破解TOPRF的安全性)。敌手Adv可能会在客户端与服务器之间重放消息,向服务器发送虚假请求,向客户端提供虚假响应,等等。它还可能利用阈值认证方案中的漏洞攻击TOPRF。
可构建敌手其可将敌手Adv在密码安全博弈中的优势转化为在TOPRF不经意性博弈(图6)中的类似优势。/>将在不经意性中运行Adv,在内部模拟其密码安全而在外部扮演敌手的角色。
可隐式地将目标客户端/>的密码设置为在不经意性中选择的随机值。如果Adv猜测密码,/>可输出相同的猜测。但是,为了针对Adv适当模拟SecGame,/>需要以Adv无法区分的方式运行预言。具体地说,/>需要对/>情况下的密码、/>情况下的最终TOPRF值以及/>情况下用于编码的随机性ρ进行部分TOPRF评估zi。/>可借助于不经意性提供的预言/>和/>来处理前两个问题,但在不经意性里无法实现ρ。
此问题可使用中间混合体来解决。图7中的安全博弈的预言可修改。原始博弈称为Hyb0,而新博弈称为Hyb1。在图7中,Hyb0基本上用PASTA取代Π。
Hyb0:PASTA的SecGame如下所示:
SecGamePASTA,Adv(1κ,n,t,P):
·(tsk,tvk,tpp)←TTG.Setup(1κ,n,t)
·对于所有i∈[n],vk:=tvk和pp:=(κ,n,t,P,tpp),设ski:=tski。
·
·对于i∈[n],PwodList,/>
·ct:=0,LiveSession=[]
·对于所有C,i∈[n]以及x,Qc,i,Qc,x:=0
·
·
·如果返回PwdList[C]
·要求:PwdList[C]=⊥
·pwd←$P
·添加(C,pwd)到PwdList
·(k,opp)←TOP.Setup(1κ,n,t)
·对于i∈[n],h:=TOP(k,pwd)并且/>
·对于所有i∈[n],reci,C:=(ki,hi)
·对于所有i∈[n],添加reci,C到reci
·如果PwdList[C]=⊥或输出⊥
·对于随机ρ,c:=TOP.Encode(PwdList[C],ρ)
·对于i∈[n],设reqi:=c
·
·对于添加reqi到ReqListC,i
·将ct递增1
·返回
·要求:
·如果返回⊥;否则,将reci,C解析为(ki,hi)
·如果则将QC,i递增1
·zi:=TOP.Eval(ki,reqi)
·yi←TTG.PartEval(tski,C||x)
·设resi:=(zi,SKE.Encrypt(hi,yi))
·将QC,x递增1
·返回resi
·st:=LiveSessions[ct]
·将resi解析为(z′i,ctxt′i)并将st解析为
·如果输出⊥
·
·对于并且y′i:=SKE.Decrypt(h′i,ctxt′i)
·设
·添加tk到TokList
·返回tk
·返回tTG.Verify(tvk,C||x,tk)
混合体Hyb1:PASTA的SecGame如下所示:
SecGamePASTA,Adv(1κ,n,t,P):
与Hyb0相同,但当时,以下预言表现不同.下面我们仅描述它们在这种情况下的行为,以红色突出显示区别。当/>时,所述预言以与Hyb0相同的方式表现。
·如果或/>输出⊥
·对于随机ρ,
·设reqi:=c其中i∈[n]zi:=TOP.Eval(ki,reqi)
·对于添加reqi到/>
·将ct递增1
·返回
·要求:
·如果返回⊥;否则,将/>解析为(ki,hi)
·如果则将/>递增1如果/>
-zi:=TOP.Eval(ki,reqi)
否则:
-令zi为与LiveSessions中的输入中的i相关联的值
·
·设resi:=(zi,SKE.Encrypt(hi,yi))
·将递增1
·返回resi
·
·将resi解析为(z′i,ctxt′i)
·如果输出⊥如果/>
-返回⊥
·对于并且y′i:=SKE.Decrypt(h′i,ctxt′i)
·设
·添加tk到TokList
·返回tk
在Hyb1中,对于目标客户端若干预言表现不同。/>为/>提前评估TOPRF。其自身存储LiveSessions中的部分评估zi和最终结果h。重要的是,其并不存储ρ。当/>被调用时,它会校验/>是否在reqi∈ReqListC,i之前为Si生成了reqi。如果是,则从LiveSessions选取zi。现在,在/>中是否使用了提前计算的zi对于敌手来说并无影响,因为zi决定性地从ki和reqi导出。
对于预言/>也表现得不同。首先要注意,如果TOP./>等于TOP./>则组合任一集合将产生相同的值。Hyb1中唯一的不同在于,h是事先计算的。再次说明,如上所述的相同原因,这并无影响。
Hyh0与Hyh1不同的关键步骤是在PubCombine的两个输出不匹配时。Hyb0没有对这种情况进行任何测试,而Hyb1只是输出⊥。为了让这些混合体不可区分,我们需要证明在Hyb0中如果PubCombine的输出不匹配,其也会输出⊥(至少具有较高概率)。
注意,针对Hyb0明确定义正确的zi和h;它们可从pwd和ρ导出。如果有人在此混合体中进行公共组合测试并且失败,则有高概率h′≠h。因此,使用的防冲突性,可证明h′i≠hi。现在注意,在/>中必须有诚实的Sj,因此ctxt′j只能由Sj生成(回顾我们认证信道假设)。当在hj下加密的密文ctxt′j被解密而h′j≠hj时,解密有高概率会失败,这归因于SKE的密钥盲化性质。因此,就像Hyb1,Hyb0返回⊥。
由于缺少编码随机性ρ不会阻止对的成功模拟,因此仍然需要利用TOPRF不经意性来隐藏目标客户的密码。为此目的,下面正式描述敌手/>
与Hyb1相同,但当时,以下预言的模拟情况不同。在下文,仅针对此情况描述这些预言,其中以红色突出显示区别。输出Adv所做的一切。
·要求:添加/>unknown)到PwdList输出/>取回/>查询以获得/>其中i∈[n]其中/>其中/>
·对于所有i∈[n],添加到reci
·如果或/>输出⊥查询/>以获得(c,{zi}i∈[n],h)
·对于i∈[n],设reqi:=c
·
·对于添reqi到/>
·将ct递增1
·返回/>
·要求:
·如果返回⊥;否则,将/>解析为(ki,hi)
·如果则将/>递增
·如果
-查询以获得zi
·否则:
-令zi为与LiveSessions中的输入中的i相关联的值
·
·设resi:=(zi,SKE.Encrypt(hi,yi))
·将递增1
·返回resi
当时输出消息时,应解释为发送消息给不经意性博弈。以下是Hyb1与/>对其的模拟之间的差异。/>的模拟仅对于/>而有所不同。在Hyb1中,针对/>随机挑选的密码用于计算h,而在/>的模拟中,/>的密码隐式设置为通过不经意性挑选的随机输入/>并且/>被调用以获取h。显然,这种区别不会影响Adv。虽然有一个其它区别,但当在Hyb1中知道所有k1,...,kn时,/>仅知道攻陷服务器的ki。因此,对于/> 将/>定义为(0,hi)。
就如注册预言,请求预言仅在时才会表现不同。然而,大家可以很容易地看到,差异并不显著:当Hyb1使用/>计算c、zi和h时,/>调用/>以使用/>获取这些值。
最后,在/>的模拟中调用/>以获取zi(因为它不知道诚实服务器的ki),但在Hyb1中直接计算此值。这也不会产生任何影响。需要注意的重要事项是,当且仅当不经意性的计数器qi递增,计数器/>将递增。因此,/>的最终值将与qi相同。因此,/>将成功地将Adv猜测/>的密码的可能性转换为猜测/>
D.PASTA–不可伪造性
在本节中,PASTA的不可伪造性得到证实。考虑的情况。此处,/>甚至可能被攻陷,因此Adv可能知道其密码。注意,不管i的值如何以及无论是否在/>的每次调用上都会递增。因此如果不论/>是否被攻陷,Adv都没有足够份额来生成有效令牌。在此情况中,可通过调用阈值令牌生成方案TTG的不可伪造性来正式证明不可伪造性。/>
当时,只能在/>永不被攻陷时预期不可伪造性。我们需要展示,对于任何/>为/>生成有效令牌会有效地达到猜测/>的密码。Hyb0的不可区分性仍然成立,因为它只依赖于PubCombine和认证的信道的性质。
可构建敌手其可使用敌手Adv来打破PASTA的不可伪造性保证,从而打破TOPRF的不可预测性。自然而然要问的第一个问题是,/>能否以/>打破不经意性的相同方式来打破TOPRF的不可预测性。未必如此,因为两个设置中存在一些关键差异:
即使和/>均有权获取既能编码又能评估的预言/>但/>的预言返回最终TOPRF输出h,而/>的预言不能做到这一点。因此对于/>尚不清楚/>和/>将如何生成hi。
能够将Adv的密码安全博弈的输出直接用在不经意性博弈中,但/>却不能。Adv现在输出用于认证方案的令牌,而/>应猜测关于/>的(隐藏)密码的TOPRF输出h。
因此,的行为在以下方式上与/>有所不同。在模拟开始时,/>挑选随机数字r1,...,rn并将其代替h1,...,hn用在注册预言中。LiveSessions不能再将h包含在内,因此在最终确定预言中需要时将再次使用r1,...,rn。如果Adv任何时候查询关于h′||i的/> 将关于h′查询/>以校验是否h′=h。如果/>返回1,则/>发送ri到Adv。
这也给了一种猜测h的方式。如果Adv针对某h′||i查询/>并且/>关于h′返回1,则/>在不可预测性博弈中仅输出h′。然而,不保证Adv将进行此类查询。我们所知道的只是Adv可产生有效令牌。因此,Adv可仅在关于h查询/>时才产生有效令牌。
由第i服务器发送的任何令牌份额都使用hi加密。在高层级,Adv可解密来自比如第j诚实服务器的至少一个令牌份额,以构建令牌。获取此密钥的一个方式是通过关于h||j查询
VII.阈值认证方案描述
在本节中,已描述实施的阈值认证方案(例如,如在性能评估章节所论述):
·Naor、Pinkas和Reingold[61]的作为公用密钥阈值MAC的基于DDH的DPRF方案
·Naor、Pinkas和Reingold[61]的作为对称密钥MAC的仅PRF的DPRF方案
·Shoup[65]的作为基于RSA假设的阈值签名方案的阈值RSA签名方案
·Boldyreva[25]的作为基于间隙-DDH假设的阈值签名方案的基于配对的签名方案
Naor、Pinkas和Reingold[61]的作为公用密钥阈值MAC的基于DDH的DPRF方案如下所述:
要素:设是素数阶p的乘法循环组,其中DDH假设成立,并且是建模为随机预言的散列函数。设GenShare是沙米尔的秘密共享方案。
·Setup(1κ,n,t)→(sk,vk,pp)。抽取并获得(s,s1,...,sn)←GenShare(n,t,p,(0,s))。设/>ski:=si且vk:=s。将(ski,pp)给第i方。(pp将是下文算法中的隐式输入。)
·PartEval(ski,x)→yi。计算且输出hi。
·Combine({i,yi}i∈S)=:tk/⊥。如果|S|<t,则输出⊥。否则对于i∈S,将yi解析为hi并且输出
·Verify(vk,x,tk)=:1/0。当且仅当时,返回1。
Naor、Pinkas和Reingold[61]的作为对称密钥MAC的仅PRF的DPRF方案如下所述:
要素:设f:{0,1}k×{0,1}*→{0,1}*为伪随机函数。
·Setup(1κ,n,t)→(sk,vk,pp)。对于f,挑选个密钥k1,...,kd←${0,1}κ。设D1,...,Dd是[n]的d个不同的(n-t+1)大小的子集。
对于i∈[n],设ski:={kj|i∈Djforallj∈[d]}且vk:=(k1,...,kd)。设pp:=f且将(ski,pp)给第i方。
·PartEval(ski,x)→yi。对于所有k∈ski,计算hi,k:=fk(x)且输出
·Combine({i,yi}i∈S)=:tk/⊥。如果|S|<t,则输出⊥。否则对于i∈S,将yi解析为设{sk′i}i∈S是互不相交的集合,使得对于每一个i,∪i∈S sk′i={k1,...,kd}且/>输出/>
·Verify(vk,x,tk)=:1/0。当且仅当其中vk={k1,...,kd}时,返回1。
Shoup[65]的作为基于RSA假设的阈值签名方案的阈值RSA签名方案如下所述:
要素:设GenShare是沙米尔的秘密共享方案,且是建模为随机预言的散列函数。
·Setup(1κ,n,t)→(sk,vk,pp)。设p′,q′是长度相等的两个随机选择的大素数,并且设p:=2p′+1且q=2q′+1。设N:=pq。随机选择另一个大素数e并且计算d≡e-1modΦ(N),其中是一欧拉函数(Euler's totient function)。然后(d,d1,...,dn)←GenShare(n,t,Φ(N),(0,d))。设ski:=di且vk:=(N,e)。设pp:=Δ,其中Δ:=n!。将(pp,vk,ski)给第i方。
·PartEval(ski,x)→yi。输出
·Combine({i,yi}i∈S)=:tk/⊥。如果|S|<t,则输出⊥,否则计算其中/>通过扩展欧几里德GCD算法找到整数(a,b),使得4Δ2a+eb=1。然后计算/>输出tk。
·Verify(vk,x,tk)=1/0。当且仅当时,返回1。
Boldyreva[25]的作为基于间隙-DDH假设的阈值签名方案的基于配对的签名方案如下所述:
要素:设是素数阶p的乘法循环组,其支持配对并且其中CDH较难。具体来说,存在高效的算法VerDDH(ga,gb,gc,g),其中对于任何/>当且仅当c=abmodp时,返回1,否则返回0。设/>是建模为随机预言的散列函数。设GenShare是沙米尔的秘密共享方案。
·Setup(1κ,n,t)→(sk,vk,pp)。抽取并获得(s,s1,...,sn)←GenShare(n,t,p,(0,s))。设/>ski:=si且vk:=gs。将(ski,pp)给第i方。
·PartEval(ski,x)→yi。计算且输出hi。
·Combine({i,yi}i∈S)=:tk/⊥。如果|S|<t,则输出⊥.否则对于i∈S,将yi解析为hi并且输出
·Verify(vk,x,tk)=:1/0。当且仅当时,返回1。
VIII.PASTA的公用密钥运行的必要性
在PASTA中,客户端在注册阶段使用公共密钥加密来加密其发送到服务器的消息,但是在登录阶段没有公用密钥操作。然而,PASTA的TOPRF组件可以用Jarecki等人的使用公用密钥操作的2Hash TDH协议[53]实例化。在此类实施例中,即使阈值认证方法是纯对称密钥,PASTA的实例化也在登录阶段中使用公用密钥操作。与朴素不安全解决方案相比,在某些情况下,这可能会成为重要的开销。一个自然的问题是,是否可以在登录阶段避免公用密钥操作(即使在一次性注册中使用了公用密钥操作),或者换种说法,这仅仅是PASTA及其实例的产物吗?
在本节中,证明了在构建任何安全的PbTA方案时,在登录阶段确实必须进行公用密钥操作。特别是,已经证明,如果可以构建PbTA,除了在注册过程中使用PKE加密/解密消息之外,仅使黑盒使用单向函数,那么也可通过仅使黑盒使用单向函数来构建安全的双方密钥协商协议。Impagliazzo和Rudich[50]指出,仅使黑盒使用单向函数的安全的双方密钥协商协议将暗示P,NP。因此,这提供了证据,表明在登录阶段仅使用对称密钥操作不太可能构建PbTA。换句话说,其它类型的公用密钥操作也是必需的。
为了证明这一点,首先定义了一种称为对称密钥PbTA的特殊类型的PbTA方案,除了注册过程中的加密/解密之外,所述方案仅使黑盒使用单向函数。然后,可以以黑盒方式根据对称密钥PbTA构建安全密钥协商协议。这形成安全的密钥协商协议,其仅使黑盒使用单向函数,因而与Impagliazzo和Rudich[50]的不可能结果相矛盾。
为了构建安全的密钥协商协议,考虑将密钥协商协议中的双方P1、分别视为单个客户端C和PbTA协议中的所有服务器的集合。将密码空间设为仅包含一个密码pwd,这意味着C的密码对于双方都是已知的。由于P2代表所有服务器的集合,因此它可以自行运行GlobalSetup和C的注册阶段。然后,双方运行登录阶段,以便P1获得x=0的令牌。由于双方都知道密码,因此P2可以自行模拟登录阶段,以生成x=0的令牌。生成的令牌是双方协商的密钥。
注意,生成的令牌可能不是密钥协商协议的有效输出,但是双方可以将随机性提取器应用于令牌并获得随机性以生成有效密钥。
密钥协商协议的安全性取决于对称密钥PbTA方案的不可伪造性。直观地讲,如果存在一个PPT敌手以不可忽略的概率输出由P1和P2协商的令牌,则敌手能够在对称密钥PbTA方案中以不可忽略的概率生成有效令牌,其中对于所有i,QC,i=0,这与不可伪造性相矛盾。
接下来,提供了对称密钥PbTA方案和安全的双方密钥协商协议的正式定义和证明。
图14示出与对称密钥PbTA方案相关联的定义。基于对称密钥密码的阈值认证(PbTA)方案Πsym可以正式定义为六个PPT算法的元组
其仅涉及单向函数的黑盒用法,并且可以用于构建PbTA方案以满足图14中列出的要求。
图15示出与安全的两方密钥协商协议相关联的描述和要求。
基于图14中的对称密钥PbTA方案的定义,可以显示,如图15所定义的安全的双方密钥协商协议可以以黑盒方式根据任何对称密钥PbTA方案构建。
设是对称密钥PbTA方案。如协议所示,它仅以黑盒方式使用对称密钥PbTA。由于令牌tk、tk′是使用相同的C、x和秘密密钥生成的,因此它们是等效的。因此,双方有关令牌达成共识(所述令牌可用于提取随机性以生成密钥)。现在,如果存在PPT敌手Adv以密钥协商协议输出由P1、P2达成共识的令牌,则可以构建另一个敌手/>这将打破对称密钥PbTA方案的不可伪造性。
敌手首先将pp解析为/>它不会攻陷任何服务器或客户端。接着其调用/>以获得{msgi}i∈[n],并且调用/>以对于所有/>注册C。接着其调用/>以获得/>并且调用/>以对于所有/>获得resi。/>运行Adv,其中输入为密钥协商协议的抄本,包括并且从Adv获得输出/>然后/>简单输出/>
在针对的安全博弈SecGameΠ,Adv(1κ,n,t,P)(图7)中,对于所有i,有QC,i=0。通过不可伪造性定义,存在可忽略函数negl,使得
然而,由于Adv以不可忽略的概率输出tk,因此令牌以不可忽略的概率有效,从而导致矛盾。
将以上定理与Impagliazzo和Rudich[25]的结果相结合,得出以下推论:如果存在对称密钥PbTA方案,则P≠NP。
此推论提供了证明不太可能构建对称密钥PbTA方案的证据。
IX.流程图
现在通过使用流程图总结本文描述的令牌认证方案的实施例。
A.客户端
现在转到图16,图示出根据本发明的实施例客户端获得令牌的流程图。
在前一注册阶段,n个服务器(在此示例中为5个:服务器1112、1114、1116、1118和1120)中的每一者可能已接收到并存储了与来自注册阶段的用户标识符(例如用户名)一致的秘密份额(ski)和散列部分(hi)。这些内容可能存储在与用户相关联的唯一记录中。
然后,客户端1105可将令牌请求消息1101发送到多个服务器中的每一者(图中示出五个服务器,包括服务器1112、1114、1116、1118和1120)。每个请求1101可以包括密码的盲化散列、要签名的数据x(例如,用户名),以及——如果x中未包括——用户名。每个服务器可使用用户名来标识散列部分hi以及对应于用户名的在注册过程期间发放给服务器的秘密份额。
服务器可使用要签名的数据x和秘密份额来生成令牌份额。可使用存储的与在注册过程期间接收到的用户名相关联的散列部分hi加密此令牌份额。同时,使用与注册阶段中使用的相同算法,服务器还可使用与令牌请求消息1101中提供的用户名和盲化散列相关联的服务器的秘密份额来计算部分应答(例如,部分散列响应)。例如,如果在注册过程期间,盲化散列被提升到服务器的秘密份额的幂,则通过将提供于令牌请求消息1101中的盲化散列通过服务器的秘密份额提升而将再次计算部分应答。
然后,每个服务器可将消息1102发送回到客户端1105,所述消息可包括对应服务器生成的部分应答和加密令牌份额。
客户端1105接着可通过解盲化接收到的部分应答来生成每个服务器的对应散列部分hi。在注册阶段中使用的盲化/解盲化过程可不同于此请求阶段使用的盲化/解盲化,因为每个解盲化都会提供散列部分。如果密码相同,则获得的散列部分应与注册过程中的对应散列部分相同。换句话说,如果用户在请求消息中使用了正确的密码,则客户端1105将能够重建对应于所有服务器的所有散列部分(例如,h1、H2、H3、H4、H5)。这些散列部分可用于解密从服务器接收的所有对应加密令牌份额(例如,如果服务器使用其存储的h1副本加密令牌份额,则客户端可使用根据部分应答重建的h1来解密所述令牌份额,所述部分应答与加密令牌份额在同一消息中接收)。所有令牌份额解密后,客户端1105能够将其组合以生成令牌1110,所述令牌然后可用于获得对受保护资源的访问。
以此方式,服务器实际上不会习得密码的散列,因为它们仅获得盲化的散列。此外,每个服务器甚至可能接收不同的盲化散列。并且,每当客户端进行请求,盲化的散列可改变。并且,每个服务器存储不同散列部分,即,秘密份额和散列的结果。因此,即使攻击者破解服务器,但其无法再执行字典攻击,因为秘密在服务器当中共享,并且没有一个服务器知道实际密钥。例如图中所示,如果服务器1114和1116已被破解,则攻击者将仅能够获得两个部分应答(例如与散列部分h2和h3相关联)并且仅解密总计五个令牌份额中的两个令牌份额。将需要破解所有五个服务器1112、1114、1116、1118和1120以便产生令牌1110或通过字典攻击获得密码。
在框1602,客户端可以接收用于获得对计算机资源的访问的凭证(例如,密码)。应与用户标识符或客户端标识符一起接收此凭证,所述用户标识符或客户端标识符与凭证相对应(例如,它们在注册过程期间一起注册)。例如,可以从希望访问受保护资源的用户输入的用户输入接收凭证和用户标识符。
在框1604,客户端可以散列凭证以获得第一散列(h)。在一些实施例中,可以使用任何散列函数。在一些实施例中,可以使用阈值不经意伪随机函数(TOPRF)来执行散列。在一些实施例中,客户端可以盲化第一散列以生成盲化散列。例如,可以将第一散列提升到随机选择的R的幂。在一些实施例中,可以从第一散列生成多个盲化散列,每个盲化散列都是不同的,并且预期分布到不同的认证服务器。
在框1606,客户端可以向多个服务器(例如,认证服务器)发送请求消息(例如,请求令牌份额),每个请求消息包括盲化散列和用户标识符。用户标识符可以是在初始注册过程期间与凭证相关联的用户名。因此,客户端不需要直接发送第一散列(h)。在利用多个盲化散列的实施例中,每个请求消息可以包含针对特定服务器的盲化散列。
服务器可以接收请求消息并利用用户标识符来查找来自注册过程的存储且链接到所述用户标识符的信息,例如在注册过程期间接收到的所述用户标识符的秘密份额和/或所述用户标识符的散列部分。每个服务器可以使用先前在注册过程期间接收到的所存储散列部分来对令牌份额进行加密。每个服务器还可以计算通过将共享秘密(如在注册期间接收到的针对所述用户标识符的)应用到请求消息中接收到的盲化散列而生成的部分散列响应。
在框1608,客户端可以从多个服务器接收响应消息。来自每个服务器的响应消息可以包括使用在请求消息中提供给对应服务器的盲化散列和在先前注册过程期间提供给对应服务器的秘密份额两者生成的部分散列响应。每个响应消息还可以包括来自对应服务器的加密令牌份额,所述加密令牌份额通过使用先前(例如,在注册过程期间)由客户端生成并发送到对应服务器的散列部分对令牌份额进行加密而生成。此散列部分可由客户端通过解盲化从服务器接收的部分应答而生成,其中所述部分应答通过将服务器的秘密份额应用到盲化散列(或更具体地,注册期间提供的密码的盲化散列)而生成。
在框1610,客户端可以从所有响应消息中解盲化每一个部分散列响应以从每个部分散列响应获得散列部分。换句话说,根据从服务器接收到的每个响应消息,客户端可能够通过以与生成请求消息中发送的盲化散列时所使用的盲化过程相反的方式解盲化部分散列响应而从自所述服务器接收到的部分散列响应重建散列部分。
在框1612,客户端可以使用对应的重建散列部分对每个加密令牌份额进行解密,以便获得各种令牌份额。由于每个服务器都用注册期间存储的散列部分加密了其令牌份额,然后假设对应的重建散列部分与先前存储的散列部分相同(例如,由用户提供的密码与注册的密码相同),因此与特定服务器相关联的重建散列部分可以用来解密从所述服务器接收的对应加密令牌份额(例如,来自响应消息)。所得的令牌份额数量应当等同于多个服务器中的服务器数量。
在框1614,客户端可以将所有令牌份额组合以获得访问令牌。这可以使用Combine算法来完成,所述算法组合所有令牌份额以生成令牌(例如,基于沙米尔的秘密共享)。由于只需要t个服务器来提供响应,所以注册可以包括向一个或多个额外服务器发送一个或多个额外散列部分。只需要所有服务器的一部分来提供响应消息以获得访问令牌。
A.服务器端
图17示出描述根据本发明实施例的多个服务器中的服务器提供令牌份额的流程图。
在框1702,多个服务器中的服务器可以从客户端接收请求消息。此请求消息可以包括凭证的第一散列的盲化散列以及用户标识符。可以由用户在客户端输入用户标识符(例如,用户名)以及在注册过程期间与所述用户名一起注册的凭证。客户端可以散列凭证以获得第一散列(h),然后盲化第一散列以生成盲化散列。例如,可以将第一散列提升到随机选择的R的幂。服务器将仅接收此盲化散列而不会知道凭证的值、第一散列的值或使用的散列算法。
在框1704,服务器可以使用盲化散列和秘密份额来生成部分散列响应。具体地说,服务器可以利用请求消息中的用户标识符来查找来自注册过程的存储且链接到所述用户标识符的信息,例如在注册过程期间接收到的所述用户标识符的秘密份额和/或所述用户标识符的散列部分。服务器可以采用此共享份额并将其应用到请求消息中接收到的盲化散列,以便生成部分散列响应(例如,以在注册过程期间服务器采用的方式类似的方式)。
在框1706,服务器还可以确定对应于用户标识符的散列部分,例如在注册过程期间接收到的所述用户标识符的散列部分。在注册过程期间,客户端将生成此散列部分并将其提供给服务器(例如,通过对从服务器接收的部分应答解盲化,其中通过将服务器的秘密份额应用于盲化散列而生成所述部分应答,或更具体地说,客户端在注册期间提供的密码凭证的盲化散列),服务器将此散列部分与用户标识符相关联地存储。
在框1708,服务器可以基于用户标识符和秘密共享来生成令牌共享。
在框1710,服务器可以使用与用户标识符对应的先前存储的散列部分对此令牌份额进行加密。
在框1712,服务器可以将响应消息发回客户端。响应消息可以包括计算的部分散列响应和加密令牌份额。当客户端接收到来自多个服务器中的所有服务器的响应消息时,客户端可能够使用这些响应消息的内容来重建提供给每个服务器的散列部分、解密所有加密令牌份额,然后组合令牌份额以生成认证令牌。先前在图16中描述了此过程。
X.实施
本文中提及的任何计算机系统都可利用任何合适数目个子系统。在图17中示出计算机系统10中的此类子系统的实例。在一些实施例中,计算机系统包括单一计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包括具有内部组件的多个计算机设备,每个计算机设备是子系统。计算机系统可以包括台式计算机和笔记本电脑、平板计算机、移动电话和其它移动装置。
图17中所示的子系统经由系统总线75互连。示出了诸如打印机74、键盘78、存储装置79、耦合到显示适配器82的监视器76等等的额外子系统。耦合到输入/输出(I/O)控制器71的外围装置和I/O装置可以通过本领域中已知的各种构件连接到计算机系统,所述构件例如是输入/输出(I/O)端口77(例如USB、)。例如,I/O端口77或外部接口81(例如以太网、Wi-Fi等)可用于将计算机系统10连接到广域网(例如因特网)、鼠标输入装置或扫描仪。经由系统总线75的互连允许中央处理器73与每个子系统连通且控制来自系统存储器72或存储装置79(例如固定磁盘,如硬盘驱动器或光盘)的多个指令的执行,以及子系统之间的信息交换。系统存储器72和/或存储装置79可以体现计算机可读介质。另一子系统是数据收集装置85,例如照相机、麦克风、加速度计等等。在本文中提及的任何数据可从一个组件输出到另一组件并且可输出到用户。
计算机系统可以包括多个相同组件或子系统,所述组件或子系统例如通过外部接口81、通过内部接口或经由可装卸式存储装置连接在一起,所述可装卸式存储装置可以从一个组件连接和移除到另一组件。在一些实施例中,计算机系统、子系统或设备可通过网络通信。在此类情况下,一个计算机可以被视为客户端且另一个计算机被视为服务器,其中每台计算机都可以是同一计算机系统的一部分。客户端和服务器可各自包括多个系统、子系统或组件。
实施例的各个方面可以使用硬件电路(例如,专用集成电路或现场可编程门阵列)和/或以模块化或集成方式借助大体上可编程处理器使用计算机软件以控制逻辑的形式实施。如本文所使用,处理器可以包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或联网的多个处理单元,以及专用硬件。基于本文中提供的公开内容和教示,本领域普通技术人员将知道并了解到使用硬件及硬件和软件的组合实施本发明的实施例的其它方式及/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在计算机可读介质上以进行存储和/或传输。合适的非瞬态计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如光盘(CD)或DVD(数字通用光盘)的光学介质、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序也可以使用载波信号来编码和传输,所述载波信号适合于经由符合多种协议的有线、光学和/或无线网络来传输,包括因特网。因此,可以使用以此类程序编码的数据信号来创建计算机可读介质。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,通过因特网下载)。任何此类计算机可读媒体可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或其内部,并且可以存在于系统或网络内的不同计算机产品上或其内部。计算机系统可以包括用于向用户提供本文中提及的任何结果的监视器、打印机或其它合适显示器。
本文所描述的任何方法可完全或部分地通过计算机系统执行,所述计算机系统包括可被配置以执行所述步骤的一个或多个处理器。因此,实施例可以涉及配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。虽然呈现为带编号的步骤,但本文的方法的步骤可以同时或在不同时间或以不同次序执行。另外,这些步骤的部分可与其它方法的其它步骤的部分一起使用。另外,步骤的全部或部分可以是任选的。另外,任何方法的任一个步骤可以利用用于执行这些步骤的模块、单元、电路或系统的其它构件来执行。
特定实施例的具体细节可按任何合适的方式组合而不脱离本发明实施例的精神和范围。然而,本发明的其它实施例可以涉及与每个个别方面或这些个别方面的特定组合相关的特定实施例。
上文对本发明的实例实施例的描述已经出于图示和描述的目的呈现。不旨在是详尽的,或将本发明局限为所描述的精确形式,并且根据上文的教示许多修改和变化是可能的。
除非具体地相反指示,否则“一(a/an)”或“所述(the)”的叙述打算意指“一个或多个”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。提到“第一”组件并不一定要求提供第二组件。而且,除非明确指出,否则提到“第一”或“第二”组件并不将提到的组件限制到特定位置。术语“基于”旨在表示“至少部分地基于”。
本文中所提及的所有专利、专利申请、公开案和描述都出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
XI.参考
[1]亚马逊OpenID。docs.aws.amazon.com/cognito/latest/developerguide/open-id.html。于2018年5月9日访问。
[2]BLAKE2-快速安全散列。blake2.net/。于2018年5月9日访问。
[3]脸书登录。developers.facebook.com/docs/facebook-login。于2018年5月9日访问。
[4]谷歌身份平台-OpenID连接。developers.google.com/identity/protocols/openidconnect。于2018年5月9日访问。
[5]JSON网络令牌。jwt.io/。于2018年5月9日访问。
[6]Kerberos:网络认证协议。web.mit.edu/kerberos/。于2018年5月9日访问。
[7]密码散列竞争。password-hashing.net/。于2018年5月9日访问。
[8]SAML工具包。developers.onelogin.com/saml。于2018年5月9日访问。
[9]OAuth 2.0授权框架:不记名令牌使用。tools.ietf.org/html/rfc6750。于2018年5月9日访问。
[10]OpenID连接。openid.net/connect/。
[11]Hashicorp库。www.vaultproject.io/docs/internals/token.html。于2018年5月9日访问。
[12]M.Abdalla、O.Chevassut、P.-A.Fouque和D.PointCheval。短秘密的简单阈值认证密钥交换(A simple threshold authenticated key exchange from shortsecrets)。B.K.Roy编辑,ASIACRYPT 2005,LNCS第3788卷,第566-584页。施普林格出版社(Springer),海德堡,2005年12月。
[13]M.Abdalla、M.Cornejo、A.Nitulescu和D.PointCheval。鲁棒密码保护的秘密共享(Robust password protected secret sharing)。I.G.Askoxylakis、S.Ioannidis、S.K.Katsikas和C.A.Meadows编辑,ESORICS 2016,第II部分,LNCS第9879卷,第61-79页。施普林格出版社(Springer),海德堡,2016年9月。
[14]M.Abdalla、P.-A.Fouque和D.Pointcheval。三方设置中基于密码的认证密钥交换(Password-based authenticated key exchange in the three-party setting)。S.Vaudenay编辑,PKC 2005,LNCS第3386卷,第65-84页。施普林格出版社(Springer),海德堡,2005年1月。
[15]M.Abdalla、S.Miner和C.Namprempre。前向安全阈值签名方案(Forward-secure threshold signature schemes)。RSA会议的密码学者跟踪,第441-456页。施普林格出版社(Springer),2001年。
[16]J.Alwen、B.Chen、C.Kamath、V.Kolmogorov、K.Pietrzak和S.Tessaro。关于并行随机预言模型中的scrypt复杂性和空间校验(On thecomplexity of scrypt andproofs of space in the parallel random oracle model)。M.Fischlin和J.-S.Coron编辑,EUROCRYPT 2016,第II部分,LNCS第9666卷,第358-387页。施普林格出版社(Springer),海德堡,2016年5月。
[17]J.Alwen、B.Chen、K.Pietrzak、L.Reyzin和S.Tessaro。SCRYPT最大程度地依赖内存(Scrypt is maximally memory-hard)。J.Coron和J.B.Nielsen编辑,EUROCRYPT2017,第II部分,LNCS第10211卷,第33-62页。施普林格出版社(Springer),海德堡,2017年5月。
[18]D.F.Aranha和C.P.L.Gouvêa。RELIC是高校密码库(RELIC is an EfficientLIbrary for Cryptography)。github.com/relic-toolkit/relic。
[19]A.Bagherzandi、S.Jarecki、N.Saxena和Y.Lu。密码保护的秘密共享(Password-protected secret sharing)。Y.Chen、G.Danezis和V.Shmatikov编辑,ACM CCS11,第433-444页。ACM出版社(ACM Press),2011年10月。
[20]P.S.L.M.Barreto和M.Naehrig。素数阶的易于配对的椭圆曲线(Pairing-friendly elliptic curves of prime order)。B.Preneel和S.Tavares编辑,SAC 2005,LNCS第3897卷,第319-331页。施普林格出版社(Springer),海德堡,2006年8月。
[21]M.Bellare、D.Pointcheval和P.Rogaway。认证密钥交换能抵御字典攻击(Authenticated key exchange secure against dictionary attacks)。B.Preneel编辑,EUROCRYPT 2000,LNCS第1807卷,第139-155页。施普林格出版社(Springer),海德堡,2000年5月。
[22]M.Bellare和R.Sandhu。实用双方RSA签名方案的安全性(The security ofpractical two-party RSA signature schemes)。密码研究预印本,报告2001/060,2001年。eprint.iacr.org/2001/060。
[23]J.Blocki和A.Datta。现金:可实现最佳密码保护的成本非对称安全散列算法(CASH:A cost asymmetric secure hash algorithm for optimal passwordprotection)。IEEE第29界计算机安全基础研讨会,CSF 2016,葡萄牙里斯本,2016年6月27-7月1日,第371-386页,2016年。
[24]J.Blocki和S.Zhou。关于Argon2i的深度-鲁棒性和累积pebbling成本(Onthe depth-robustness and cumulative pebbling cost of Argon2i)。Y.Kalai和L.Reyzin编辑,TCC 2017,第I部分,LNCS第10677卷,第445-465页。施普林格出版社(Springer),海德堡,2017年11月。
[25]A.Boldyreva。基于间隙Diffie-Hellman群签名方案的阈值签名、多重签名和盲签名(Threshold signatures,multisignatures and blind signatures based on thegap-Diffie-Hellman-group signature scheme)。Y.Desmedt编辑,PKC 2003,LNCS第2567卷,第31-46页。施普林格出版社(Springer),海德堡,2003年1月。
[26]D.Boneh、K.Lewi、H.W.Montgomery和A.Raghunathan。密钥同态PRF及其应用(Key homomorphic PRFs and their applications)。R.Canetti和J.A.Garay编辑,CRYPTO2013,第I部分,LNCS第8042卷,第410-428页。施普林格出版社(Springer),海德堡,2013年8月。
[27]V.Boyko、P.D.MacKenzie和S.Patel。使用Diffie-Hellman密钥交换算法的可证明安全的密码认证密钥交换(Provably secure password-authenticated keyexchange using Diffie-Hellman)。B.Preneel编辑,EUROCRYPT 2000,LNCS第1807卷,第156-171页。施普林格出版社(Springer),海德堡,2000年5月。
[28]J.Camenisch、R.R.Enderlein和G.Neven。双服务器密码认证秘密共享的UC-抵御瞬态损坏(Two-server password-authenticated secret sharing UC-secureagainst transient corruptions)。J.Katz编辑,PKC 2015,LNCS第9020卷,第283-307页。施普林格出版社(Springer),海德堡,2015年3月/4月。
[29]J.Camenisch、A.Lehmann、A.Lysyanskaya和G.Neven。备忘录:如何在敌对环境中根据单个密码来重建您的秘密(Memento:How to reconstruct your secrets from asingle password in a hostile environment)。J.A.Garay和R.Gennaro编辑,CRYPTO2014,第II部分,LNCS第8617卷,第256-275页。施普林格出版社(Springer),海德堡,2014年8月。
[30]J.Camenisch、A.Lehmann和G.Neven。最佳分布式密码验证(Optimaldistributed password verification)。I.Ray、N.Li和C.Kruegel编辑,ACM CCS 15,第182-194页。ACM出版社(ACM Press),2015年10月。
[31]J.Camenisch、A.Lehmann、G.Neven和K.Samelin。虚拟智能卡:如何使用密码和服务器签名(Virtual smart cards:How to sign with a password and a server)。V.Zikas和R.De Prisco编辑,SCN 16,LNCS第9841卷,第353-371页。施普林格出版社(Springer),海德堡,2016年8月/9月。
[32]J.Camenisch、A.Lysyanskaya和G.Neven。实用且通用可组合的双服务器密码认证秘密共享(Practical yet universally composable two-server password-authenticated secret sharing)。T.Yu、G.Danezis和V.D.Gligor编辑,ACM CCS 12,第525-536页。ACM出版社(ACM Press),2012年10月。
[33]R.Canetti。通用可组合的安全性:加密协议的新范式(Universallycomposable security:A new paradigm for cryptographic protocols)。第42界FOCS,第136-145页。IEEE计算机协会出版社(IEEE Computer Society Press),2001年10月。
[34]R.Canetti、S.Halevi、J.Katz、Y.Lindell和P.D.MacKenzie。通用可组合的基于密码的密钥交换(Universally composable password-based key exchange)。R.Cramer编辑,EUROCRYPT 2005,LNCS第3494卷,第404-421页。施普林格出版社(Springer),海德堡,2005年5月。
[35]I.和M.Koprowski。无受信任经销商的实用阈值RSA签名(Practical threshold RSA signatures without a trusted dealer)。B.Pfitzmann编辑,EUROCRYPT 2001,LNCS第2045卷,第152-165页。施普林格出版社(Springer),海德堡,2001年5月。
[36]Daniel Sewell。离线密码破解:针对它的攻击和最佳防御(OfflinePassword Cracking:The Attack and the Best Defense Against It)。www.alpinesecurity.com/blog/offline-password-cracking-the-attack-and-the-best-defense-against-it。于2018年5月9日访问。
[37]A.De Santis、Y.Desmedt、Y.Frankel和M.Yung。如何安全地共享功能(How toshare a function securely)。第26界ACM STOC,第522-533页。ACM出版社(ACM Press),1994年5月。
[38]Y.Desmedt和Y.Frankel。阈值密码系统(Threshold cryptosystems)。G.Brassard编辑,CRYPTO'89,LNCS第435卷,第307-315页。施普林格出版社(Springer),海德堡,1990年8月。
[39]M.Di Raimondo和R.Gennaro。可证明安全的阈值密码认证密钥交换(Provably secure threshold passwordauthenticated key exchange)。E.Biham编辑,EUROCRYPT 2003,LNCS第2656卷,第507-523页。施普林格出版社(Springer),海德堡,2003年5月。
[40]D.Dinu、D.Khovratovich、J.-P.Aumasson和S.Neves。Argon2。github.com/P-H-C/phc-winner-argon2。Github库:于2018年5月9日访问。
[41]N.FIPS.198:带密钥散列消息认证码(hmac)(The keyed-hash messageauthentication code(hmac))。美国国家标准与技术研究所,联邦信息处理标准,第29页,2002年。
[42]M.J.Freedman、Y.Ishai、B.Pinkas和O.Reingold。关键字搜索和不经意伪随机函数(Keyword search and oblivious pseudorandom functions)。J.Kilian编辑,TCC2005,LNCS第3378卷,第303-324页。施普林格出版社(Springer),海德堡,2005年2月。
[43]R.Ganesan。Yaksha:使用公用密钥密码法增强Kerberos(Yaksha:augmentingkerberos with public key cryptography)。1995年网络和分布式系统安全研讨会,(S)NDSS'95,加利福尼亚州圣地亚哥,1995年2月16日至17日,第132-143页,1995年。
[44]R.Gennaro、S.Goldfeder和A.Narayanan。阈值-最佳DSA/ECDSA签名和对比特币钱包安全性的应用(Threshold-optimal DSA/ECDSA signatures and an applicationto bitcoin wallet security)。M.Manulis、A.-R.Sadeghi和S.Schneider编辑,ACNS 16,LNCS第9696卷,第156-174页。施普林格出版社(Springer),海德堡,2016年6月。
[45]R.Gennaro、S.Halevi、H.Krawczyk和T.Rabin。动态和临时群阈值RSA(Threshold RSA for dynamic and ad-hoc groups)。N.P.Smart编辑,EUROCRYPT 2008,LNCS第4965卷,第88-107页。施普林格出版社(Springer),海德堡,2008年4月。
[46]R.Gennaro、S.Jarecki、H.Krawczyk和T.Rabin。鲁棒阈值DSS签名(Robustthreshold DSS signatures)。U.M.Maurer编辑,EUROCRYPT'96,LNCS第1070卷,第354-371页。施普林格出版社(Springer),海德堡,1996年5月。
[47]K.Gjosteen和O.Thuen。基于密码的签名(Password-based signatures)。公用密钥基础设施、服务和应用-第8届欧洲研讨会,EuroPKI2011,比利时鲁汶市,2011年9月15日至16日,修订后的文件修订版,第17-33页,2011年。
[48]A.Groce和J.Katz。用于基于密码的高效认证密钥交换的新框架(A newframework for efficient password-based authenticated key exchange)。E.Al-Shaer、A.D.Keromytis和V.Shmatikov编辑,ACM CCS 10,第516-525页。ACM出版社(ACMPress),2010年10月。
[49]Y.Harchol、I.Abraham和B.Pinkas。具有主动RSA阈值签名的分布式SSH密钥管理(Distributed ssh key management with proactive rsa threshold signatures)。密码研究预印本,报告2018/389,2018年。eprint.iacr.org/2018/389。
[50]R.Impagliazzo和S.Rudich。对单向排列可能的结果的限制(Limits on theprovable consequences of one-way permutations)。S.Goldwasser编辑,Crypto'88,LNCS第403卷,第8-26页。施普林格出版社(Springer),海德堡,1990年8月。
[51]S.Jarecki、A.Kiayias和H.Krawczyk。仅密码模型中的循环最佳密码保护秘密共享和T-PAKE(Round-optimal password-protected secret sharing and T-PAKE inthe password-only model)。P.Sarkar和T.Iwata编辑,Asiacrypt2014,第II部分,LNCS第8874卷,第233-253页。施普林格出版社(Springer),海德堡,2014年12月。
[52]S.Jarecki、A.Kiayias、H.Krawczyk和J.Xu。高效且可组合的密码保护秘密共享(或:如何在线保护您的比特币钱包)(Highly-efficient and composable password-protected secret sharing(or:How to protect your bitcoin wallet online))。IEEE欧洲安全与隐私研讨会,EuroS&P 2016,德国萨尔布吕肯,2016年3月21日至24日,第276-291页,2016年。
[53]S.Jarecki、A.Kiayias、H.Krawczyk和J.Xu。TOPPSS:基于阈值OPRF的成本最低的密码保护秘密共享(TOPPSS:Cost-minimal passwordprotected secret sharingbased on threshold OPRF)。D.Gollmann、A.Miyaji和H.Kikuchi编辑,ACNS 17,LNCS第10355卷,第39-58页。施普林格出版社(Springer),海德堡,2017年7月。
[54]J.Katz、P.MacKenzie、G.Taban和V.Gligor。双服务器仅密码认证的密钥交换(Two-server password-only authenticated key exchange)。J.Ioannidis、A.Keromytis和M.Yung编辑,应用密码学与网络安全(Applied Cryptography and Network Security),第1-16页,柏林,海德堡,2005年。施普林格出版社(Springer),柏林,海德堡。
[55]J.Katz、R.Ostrovsky和M.Yung。使用人类可记忆密码进行高效密码认证的密钥交换(Efficient password-authenticated key exchange using human-memorablepasswords)。B.Pfitzmann编辑,EUROCRYPT 2001,LNCS第2045卷,第475-494页。施普林格出版社(Springer),海德堡,2001年5月。
[56]J.Katz、R.Ostrovsky和M.Yung。仅密码密钥交换协议中的前向保密(Forwardsecrecy in password-only key exchange protocols)。S.Cimato、C.Galdi和G.Persiano编辑,SCN 02,LNCS第2576卷,第29-44页。施普林格出版社(Springer),海德堡,2003年9月。
[57]J.Katz和V.Vaikuntanathan。基于密码的循环最佳认证密钥交换(Round-optimal password-based authenticated key exchange)。Y.Ishai编辑,TCC 2011,LNCS第6597卷,第293-310页。施普林格出版社(Springer),海德堡,2011年3月。
[58]P.MacKenzie和M.K.Reiter。容易实现的联网密码装置(Networkedcryptographic devices resilient to capture)。国际信息安全杂志(InternationalJournal of Information Security),2(1):1-20,2003年。
[59]P.D.MacKenzie、T.Shrimpton和M.Jakobsson。阈值密码认证的密钥交换(Threshold passwordauthenticated key exchange)。M.Yung编辑,CRYPTO 2002,LNCS第2442卷,第385-400页。施普林格出版社(Springer),海德堡,2002年8月。
[60]K.M.Martin、J.Pieprzyk、R.Safavi-Naini、H.Wang和P.R.Wild。阈值macs(Threshold macs)。P.J.Lee和C.H.Lim编辑,信息安全与密码(Information Security andCryptology)-ICISC 2002,第237-252页,柏林,海德堡,2003年。施普林格出版社(Springer),柏林,海德堡。
[61]M.Naor、B.Pinkas和O.Reingold。分布式伪随机函数和KDC(Distributedpseudo-random functions and KDCs)。J.Stern编辑,EUROCRYPT'99,LNCS第1592卷,第327-346页。施普林格出版社(Springer),海德堡,1999年5月。
[62]K.G.Paterson和D.Stebila。一次性密码认证的密钥交换(One-time-password-authenticated key exchange)。R.Steinfeld和P.Hawkes编辑,ACISP 10,LNCS第6168卷,第264-281页。施普林格出版社(Springer),海德堡,2010年7月。
[63]Raluca Ada Popa。CS-161:计算机安全—Password hashing.www-inst.cs.berkeley.edu/~cs161/sp16/slides/3.11.password.pdf。讲座注释(加州大学伯克利分校);于2018年5月9日访问。
[64]D.Security。加密密码散列-正确操作(Salted Password Hashing-Doing itRight)。crackstation.net/hashing-security.htm?=rd。于2018年5月9日访问。
[65]V.Shoup。实用阈值签名(Practical threshold signatures)。B.Preneel编辑,EUROCRYPT 2000,LNCS第1807卷,第207-220页。施普林格出版社(Springer),海德堡,2000年5月。
[66]Tarsnap.Scrypt.github.com/Tarsnap/scrypt。Github库:于2018年5月9日访问。
[67]Thycotic团队。如何使用密码实现更好的网络安全。thycotic.com/company/blog/2015/05/12/how-to-use-passwords/。于2018年5月9日访问。
[68]D.Wang和P.Wang。使用智能卡对密码认证方案进行脱机字典攻击(Offlinedictionary attack on password authentication schemes using smart cards)。2014:1--16,01 2013。
[69]S.Xu和R.S.Sandhu。服务器辅助阈值签名的两种高效且可证明安全的方案。M.Joye编辑,CT-RSA 2003,LNCS第2612卷,第355-372页。施普林格出版社(Springer),海德堡,2003年4月。
[70]X.Yi、F.Hao、L.Chen和J.K.Liu。实用阈值密码认证的秘密共享协议(Practical threshold password-authenticated secret sharing protocol)。G.Pernul、P.Y.A.Ryan和E.R.Weippl编辑,Esorics 2015,第I部分,LNCS第9326卷,第347-365页。施普林格出版社(Springer),海德堡,2015年9月。
Claims (19)
1.一种用于通过客户端获得访问令牌的方法,所述方法包括:
接收用于获得对计算机资源的访问的凭证;
散列所述凭证以获得第一散列;
向多个服务器发送请求消息,每个请求消息包括所述第一散列的盲化散列和用户标识符;
从所述多个服务器接收响应消息,每个响应消息来自对应服务器,所述响应消息包括:
部分散列响应,其是使用发送到所述对应服务器的所述盲化散列和秘密份额而生成的,以及
来自所述多个服务器中的每一者的加密令牌份额,所述加密令牌份额是通过使用先前由所述客户端生成并发送到所述对应服务器的散列部分对令牌份额进行加密而生成的,所述散列部分是使用所述第一散列和所述秘密份额而生成的;
解盲化所述部分散列响应中的每一者以获得所述散列部分;
使用所述散列部分解密所述加密令牌份额以获得所述令牌份额;以及
组合所述令牌份额以获得所述访问令牌。
2.根据权利要求1所述的方法,还包括通过以下方式向所述多个服务器进行注册:
向所述多个服务器发送请求,每个请求包括所述第一散列的所述盲化散列和所述用户标识符;
从所述多个服务器接收响应,每个响应来自对应服务器并且包括对应的部分散列响应,所述对应的部分散列响应是使用发送到所述对应服务器的所述盲化散列以及对应的秘密份额而生成的;
解盲化所述对应的部分散列响应中的每一者以获得所述散列部分;以及
将所述散列部分发送到所述多个服务器。
3.根据权利要求2所述的方法,还包括:
生成多个秘密份额;以及
将所述多个秘密份额发送到所述多个服务器。
4.根据权利要求3所述的方法,其中所述多个秘密份额彼此不同。
5.根据权利要求2所述的方法,其中所述注册包括向一个或多个额外服务器发送一个或多个额外散列部分,并且其中仅需要所有服务器中的一部分服务器来提供响应消息以获得所述访问令牌。
6.根据权利要求1所述的方法,其中对于所述服务器中的每一者,所述盲化散列是相同的。
7.根据权利要求1所述的方法,其中对于所述服务器中的每一者,所述盲化散列是不同的。
8.根据权利要求1所述的方法,其中所述令牌份额和所述访问令牌是使用非交互阈值令牌生成方案生成的。
9.根据权利要求8所述的方法,其中所述非交互阈值令牌生成方案是以下中的一个:基于对称密钥的MAC,基于公用密钥的MAC,基于沙米尔的秘密共享RSA的数字签名或基于配对的数字签名。
10.根据权利要求8所述的方法,其中在将所述请求消息发送到所述多个服务器之后,接收来自所述多个服务器的所述响应消息而不进行任何进一步的交互。
11.根据权利要求1所述的方法,其中向所述多个服务器并行地发送所述请求消息。
12.一种由多个服务器计算机执行的方法,所述方法包括:
由所述多个服务器计算机中的两个或更多服务器计算机分别从客户端接收请求消息,所述请求消息中的每一者包括凭证的第一散列的盲化散列以及用户标识符;
由所述两个或更多服务器计算机中的相应服务器计算机执行操作,所述操作包括:
通过将所述相应服务器计算机的秘密份额应用于被发送到所述相应服务器计算机的盲化散列来生成盲化部分散列响应;
标识对应于所述用户标识符的散列部分,其中所述散列部分先前由所述相应服务器计算机从所述客户端接收到并且是由所述客户端使用所述第一散列和所述秘密份额而生成的;
基于所述用户标识符和所述秘密份额来生成所述相应服务器计算机的令牌份额;
使用被标识为对应于所述用户标识符的所述散列部分来加密所述令牌份额;以及
向所述客户端发送响应消息,所述响应消息包括所述盲化部分散列响应和加密令牌份额;
其中,所述客户端被适配用于:对从所述两个或更多服务器计算机接收到的盲化部分散列响应进行解盲化以获得与所述两个或更多服务器计算机相对应的相应散列部分,使用所述相应散列部分对从所述两个或更多服务器计算机接收的加密的令牌份额进行解密以获得所述两个或更多服务器计算机的相应令牌份额,并且组合所述相应令牌份额以获得访问令牌。
13.根据权利要求12所述的方法,还包括:
在接收所述请求消息之前,执行所述客户端的注册,其中执行所述注册包括:
由所述两个或更多服务器计算机中的每一者从所述客户端接收相应的注册请求,所述相应的注册请求中的每一者包括所述用户标识符和由用户提供的用于所述注册的注册凭证的盲化散列;
由所述两个或更多服务器计算机中的每一者向所述客户端发送相应的注册响应,所述相应的注册响应中的每一者包括通过将所述相应服务器计算机的秘密份额应用到在所述相应的注册请求中接收到的注册凭证的盲化散列来生成第一相应的盲化部分散列响应;
由所述两个或更多服务器计算机从所述客户端接收相应的注册散列部分,所述相应的注册散列部分由所述客户端通过解盲化从所述两个或更多服务器计算机接收到的所述第一相应的盲化部分散列响应而生成;以及
由所述两个或更多服务器计算机将所述相应的注册散列部分存储成与所述用户标识符相关联,
其中,用于加密所述相应服务器计算机的令牌份额的散列部分是所述相应的注册散列部分中的一者。
14.根据权利要求12所述的方法,其中所述秘密份额是从所述客户端接收的。
15.根据权利要求12所述的方法,其中所述令牌份额是使用非交互阈值令牌生成方案生成的。
16.根据权利要求15所述的方法,其中所述非交互阈值令牌生成方案是以下中的一个:基于对称密钥的MAC,基于公用密钥的MAC,基于沙米尔的秘密共享RSA的数字签名或基于配对的数字签名。
17.根据权利要求15所述的方法,其中在从所述客户端接收所述请求消息中的相应请求消息之后,由所述相应服务器计算机将所述响应消息发送到所述客户端而不进行来自所述客户端的任何进一步的交互。
18.一种计算机产品,包括计算机可读介质,所述计算机可读介质存储用于控制计算机系统以执行根据权利要求1至17中任一项所述的方法的多个指令。
19.一种系统,包括:
一个或多个处理器;以及
非瞬态计算机可读存储器,其存储指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至17中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862668725P | 2018-05-08 | 2018-05-08 | |
US62/668,725 | 2018-05-08 | ||
PCT/US2018/055947 WO2019216950A1 (en) | 2018-05-08 | 2018-10-15 | Password based threshold token generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112106322A CN112106322A (zh) | 2020-12-18 |
CN112106322B true CN112106322B (zh) | 2024-05-24 |
Family
ID=64083180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093249.8A Active CN112106322B (zh) | 2018-05-08 | 2018-10-15 | 基于密码的阈值令牌生成 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11509478B2 (zh) |
EP (1) | EP3791533A1 (zh) |
CN (1) | CN112106322B (zh) |
SG (1) | SG11202010960YA (zh) |
WO (1) | WO2019216950A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220014354A1 (en) * | 2019-03-07 | 2022-01-13 | Ziva Connect Pty Ltd | Systems, methods and devices for provision of a secret |
GB201907396D0 (en) * | 2019-05-24 | 2019-07-10 | Nchain Holdings Ltd | Hash function attacks |
GB2584154A (en) | 2019-05-24 | 2020-11-25 | Nchain Holdings Ltd | Knowledge proof |
US11570164B2 (en) * | 2019-07-30 | 2023-01-31 | Dell Products L.P. | System and method of single sign on to master website and silent authentication for subservient websites |
US11539517B2 (en) * | 2019-09-09 | 2022-12-27 | Cisco Technology, Inc. | Private association of customer information across subscribers |
US11683159B2 (en) * | 2019-11-07 | 2023-06-20 | Google Llc | Hybrid content protection architecture |
US11296875B2 (en) * | 2019-11-29 | 2022-04-05 | NEC Laboratories Europe GmbH | Password-authenticated public key establishment |
US11336438B2 (en) * | 2020-03-31 | 2022-05-17 | EMC IP Holding Company LLC | Remote approval and execution of restricted operations |
US11558183B2 (en) * | 2020-05-15 | 2023-01-17 | Bank Of America Corporation | System for exchanging symmetric cryptographic keys using computer network port knocking |
US20220006613A1 (en) * | 2020-07-02 | 2022-01-06 | International Business Machines Corporation | Secure secret recovery |
TWI772926B (zh) * | 2020-10-19 | 2022-08-01 | 財團法人資訊工業策進會 | 日誌處理裝置及其日誌處理方法 |
US11593472B2 (en) * | 2021-03-25 | 2023-02-28 | Dell Products, L.P. | Systems and methods for consolidated authentication for modern workspaces |
CN113904833B (zh) * | 2021-09-30 | 2022-07-22 | 北京大学 | 一种基于门限的动态多因素身份认证方法和通信方法 |
CN114143008B (zh) * | 2021-11-10 | 2024-04-05 | 重庆亲笔签数字科技有限公司 | 一种基于hash的电子签名加解密方法及系统 |
US20230179406A1 (en) * | 2021-12-06 | 2023-06-08 | Vmware, Inc. | Distributed Registration and Authentication via Threshold Secret Sharing |
CN115766033B (zh) * | 2022-11-18 | 2024-04-16 | 电子科技大学 | 面向隐私保护的门限单点登录方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1922845A (zh) * | 2004-02-23 | 2007-02-28 | 弗里塞恩公司 | 令牌验证系统和方法 |
US9753964B1 (en) * | 2017-01-19 | 2017-09-05 | Acquire Media Ventures, Inc. | Similarity clustering in linear time with error-free retrieval using signature overlap with signature size matching |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491752A (en) * | 1993-03-18 | 1996-02-13 | Digital Equipment Corporation, Patent Law Group | System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens |
US7690026B2 (en) * | 2005-08-22 | 2010-03-30 | Microsoft Corporation | Distributed single sign-on service |
US9658892B2 (en) * | 2011-08-31 | 2017-05-23 | International Business Machines Corporation | Management of storage cluster performance with hybrid workloads |
FR3027177B1 (fr) * | 2014-10-13 | 2016-11-04 | Morpho | Procede d'authentification d'un dispositif client aupres d'un serveur a l'aide d'un element secret |
US9860237B2 (en) * | 2015-10-08 | 2018-01-02 | International Business Machines Corporation | Password-based authentication in server systems |
US10574692B2 (en) * | 2016-05-30 | 2020-02-25 | Christopher Nathan Tyrwhitt Drake | Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements |
US20210089676A1 (en) * | 2018-02-16 | 2021-03-25 | Ecole Polytechnique Fédérale De Lausanne Epfl-Tto | Methods and systems for secure data exchange |
-
2018
- 2018-10-15 WO PCT/US2018/055947 patent/WO2019216950A1/en unknown
- 2018-10-15 SG SG11202010960YA patent/SG11202010960YA/en unknown
- 2018-10-15 CN CN201880093249.8A patent/CN112106322B/zh active Active
- 2018-10-15 US US17/053,022 patent/US11509478B2/en active Active
- 2018-10-15 EP EP18796562.9A patent/EP3791533A1/en active Pending
-
2022
- 2022-09-28 US US17/955,304 patent/US11722305B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1922845A (zh) * | 2004-02-23 | 2007-02-28 | 弗里塞恩公司 | 令牌验证系统和方法 |
US9753964B1 (en) * | 2017-01-19 | 2017-09-05 | Acquire Media Ventures, Inc. | Similarity clustering in linear time with error-free retrieval using signature overlap with signature size matching |
Non-Patent Citations (1)
Title |
---|
基于验证元的三方口令认证密钥交换协议;杨晓燕;侯孟波;魏晓超;;计算机研究与发展(10);第101-109页 * |
Also Published As
Publication number | Publication date |
---|---|
US20230074927A1 (en) | 2023-03-09 |
WO2019216950A1 (en) | 2019-11-14 |
SG11202010960YA (en) | 2020-12-30 |
CN112106322A (zh) | 2020-12-18 |
US11509478B2 (en) | 2022-11-22 |
US20210243026A1 (en) | 2021-08-05 |
EP3791533A1 (en) | 2021-03-17 |
US11722305B2 (en) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112106322B (zh) | 基于密码的阈值令牌生成 | |
Agrawal et al. | PASTA: password-based threshold authentication | |
Katz et al. | Two-server password-only authenticated key exchange | |
Wang | Efficient identity-based and authenticated key agreement protocol | |
JP4833489B2 (ja) | 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア | |
Acar et al. | Single password authentication | |
Camenisch et al. | Memento: How to reconstruct your secrets from a single password in a hostile environment | |
Emura et al. | Generic constructions of secure‐channel free searchable encryption with adaptive security | |
Katz et al. | Two-server password-only authenticated key exchange | |
Gao et al. | Post-quantum secure remote password protocol from RLWE problem | |
Pathak et al. | Secure authentication using zero knowledge proof | |
Kwon et al. | Efficient verifier-based password-authenticated key exchange in the three-party setting | |
Abusukhon et al. | An authenticated, secure, and mutable multiple‐session‐keys protocol based on elliptic curve cryptography and text‐to‐image encryption algorithm | |
Huszti et al. | A simple authentication scheme for clouds | |
EP3462668A1 (en) | Plaintext equivalence proof techniques in communication systems | |
Farash et al. | A provably secure and efficient two‐party password‐based explicit authenticated key exchange protocol resistance to password guessing attacks | |
Qian et al. | Anonymous password‐based key exchange with low resources consumption and better user‐friendliness | |
İşler et al. | Distributed single password protocol framework | |
Olimid | Cryptanalysis of a password-based group key exchange protocol using secret sharing | |
Yang et al. | A provably-secure and efficient verifier-based anonymous password-authenticated key exchange protocol | |
Tahir et al. | A scheme for the generation of strong cryptographic key pairs based on ICMetrics | |
Mehta et al. | Group authentication using paillier threshold cryptography | |
Tsai et al. | Provably secure three party encrypted key exchange scheme with explicit authentication | |
Jiang et al. | QPause: Quantum-Resistant Password-Protected Data Outsourcing for Cloud Storage | |
Kelsey et al. | TMPS: ticket-mediated password strengthening |
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 |