CN113545004A - 具有减少攻击面的认证系统 - Google Patents

具有减少攻击面的认证系统 Download PDF

Info

Publication number
CN113545004A
CN113545004A CN202080019609.7A CN202080019609A CN113545004A CN 113545004 A CN113545004 A CN 113545004A CN 202080019609 A CN202080019609 A CN 202080019609A CN 113545004 A CN113545004 A CN 113545004A
Authority
CN
China
Prior art keywords
user
challenge
service provider
identity
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080019609.7A
Other languages
English (en)
Inventor
S·J·A·德雷赫
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of CN113545004A publication Critical patent/CN113545004A/zh
Pending legal-status Critical Current

Links

Images

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/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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3271Cryptographic 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 challenge-response
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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
    • 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/46Secure multiparty computation, e.g. millionaire problem
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Abstract

一些实施例涉及一种认证系统(100;101;102),用于计算服务提供商的认证令牌以向服务提供商认证用户系统,所述认证系统包括处理器,所述处理器被配置为与用户系统联合对加密用户身份进行盲化,并且根据经盲化的加密用户身份来计算针对服务提供商的加密身份。

Description

具有减少攻击面的认证系统
技术领域
本发明涉及认证系统、用户系统、助手服务器、认证服务器、服务提供商、第一用户设备、第二用户设备、认证方法、用户方法、认证服务器的认证方法、助手服务器的认证方法,第一用户设备的用户方法,第二用户设备的用户方法。
背景技术
荷兰政府发布了针对每个eIDAS安全级别的认证服务安全要求的指南[2]。在欧洲法规“电子识别和信任服务”(eIDAS[1])中,定义了数字身份的安全性。其基础之一是“设计隐私”原则,所述原则最小化隐私敏感的跟踪信息。多态假名(简称为PP,[3])被用作密码原语来识别个体。
指南声称其方案没有隐私热点,因为服务器上的数据只是加密。然而,这些加密本质上是可识别的访问令牌,攻击者可以窃取和滥用它们,而无需对特定个体发起攻击。这使得认证服务器成为这样的攻击者的单点安全漏洞。
指南提出了一种解决方案,即通过将假名存储在给予对应身份所有者的一些外部智能卡上。在某种程度上,这可以减轻关于对存储PP的上述攻击。然而,攻击者可以简单地等待认证服务器的PP到达。
此外,当用户需要向认证服务器进行认证时,除了发送他的PP外,用户还需要指明他想向谁认证。这会导致在服务器上分析信息。换句话说,从隐私的角度来看,认证服务器也是风险因素。
以下参考文献通过引用包含在本文中:
[1]EU commission.:REGULATION(EU)No 910/2014OF THE EUROPEAN PARLIAMENTAND OF THE COUNCIL of 23July 2014on electronic identification and trustservices for electronic transactions in the internal market and repealingDirective 1999/93/EC
[2]rijksoverheid.nl.:Uniforme set van eisen 1.0.https://www.rijksoverheid.nl/documenten/rapporten/2016/12/15/uniforme-set-van-eisen,2016[3]Eric Verheul.:Privacy protection in electronic education based onpolymorphic pseudonymization,Cryptology ePrint Archive:Report 2015/1228
[4]A.Fiat and A.Shamir.How to prove yourself:Practical solutions toidentification and signature problems.In Advances in Cryptology–CRYPTO’86,volume 263of LNCS,pages186–194,New York,1987.Springer.
[5]L.A.M Schoenmakers.:Lecture Notes Cryptographic Protocols Version1.32,http://www.win.tue.nl/~berry/CryptographicProtocols/LectureNotes.pdf
发明内容
已知的认证方法和服务器存在若干缺点。例如,攻击者相对容易获得加密的用户身份,因为它们存在于每个用户设备上。被盗的加密用户身份可能继而导致身份盗用。即使人们考虑到诸如ElGamal的概率方案中的加密可以采用多种形式(加密中使用的每个值r对应一种形式),仍然存在这些形式中的一种被攻击者窃取的风险,他可以冒充对应的用户。仅拥有许多可能的加密身份之一就足以冒充用户,因为它们都可以解密为用户的身份。
在已知系统中,无论是否使用智能卡,认证服务器都将在某个时刻拥有加密身份,以便能够针对对应的服务提供商进行转换。因此,对手必须攻破认证服务器才能收集PP。然后他可以冒充对应的用户,因为他控制了认证系统。事实上,攻入认证服务器提供了收集许多加密身份的可能性。换句话说,认证是单点突破。
已知系统的另一问题是可以通过跟踪用户的加密身份来分析用户的活动。虽然[2]要求保护没有“隐私热点”的方案,但如果他们的认证服务器负责验证至少由其认证数据(例如,PIN、OTP密钥、...的对到)索引的特定用户的认证数据,并将对应的EP转发给服务提供商,那么认证服务器可以区分个体并跟踪特定用户访问哪些服务提供商。换句话说,[2]中的认证服务器不会立即获悉用户的身份及其行为,但它仍然可以收集分析信息并获悉关于每个用户的身份的很多信息。OTP密钥可以是基于HMAC的一次性密码算法(HOTP),例如基于HMAC的一次性密码(OTP)算法,例如,如在开放认证倡议(OATH)中使用的。
提出了解决这些和其它问题的认证系统。提出了通用加密身份永远不需要在存储器中的实施例;既不在用户系统也不在认证系统。还提出了大大减少了分析信息的实施例。特别地,可能仍然存在仍可以跟踪一些信息服务器,例如,一些用户访问某个网站的事实,但是不知道是哪个网站,或者甚至不知道它是相同还是不同的网站;而另一服务器可能知道哪些服务器被访问,但没有与用户相关联的信息。因此,分析的可能性被降低为跟踪哪些服务器(例如网站)受欢迎,或者哪些用户(例如由一些识别信息索引,但不是他们实际的身份)经常访问服务。这是对已知系统的明显改进,在已知系统中可以容易地组合这些信息。
本发明可以在认证系统、用户系统和服务提供商中实现。前两者可以实现为单个设备,或多个协作设备的组合,或者实现为仅共享认证协议的预定部分的两个不同设备。本发明的各方面包括:认证系统、用户系统、服务提供商、认证服务器、助手服务器、第一用户设备、第二用户设备,以及操作和/或注册这些系统和设备中的任何一个的方法。
各种设备可以是电子设备。具体地,用户系统中的一些或全部设备可以是移动电子设备,例如移动电话、平板计算机等。例如,认证系统和用户系统可以由一个或多个设备或子系统来实现。助手服务器、认证服务器、服务提供商、第一用户设备和第二用户设备可以实现为设备,例如计算机、服务器等;它们也可以实现为多个协作设备。认证方法、用户方法、用于认证服务器的认证方法、用于助手服务器的认证方法、用于第一用户设备的用户方法、用于第二用户设备的用户方法可以被实现为电子实现的方法,例如计算机实现的方法等。
本文中描述的方法可以应用于广泛的实际应用中。这种实际应用包括提供对服务的访问,例如政府服务和非政府服务。这些服务可以设置由官方身份(例如,社保号等)或假名。
方法的实施例可以作为计算机实现的方法实现于计算机上,或者在专用硬件中,或者在两者的组合中。用于方法的实施例的可执行代码可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上的非暂时性程序代码,用于当在计算机上执行所述程序产品时执行方法的实施例。
在实施例中,计算机程序包括计算机程序代码,当该计算机程序在计算机上运行时,所述计算机程序代码适于执行方法的实施例的所有或部分步骤。优选地,计算机程序体现在计算机可读介质上。
本发明的另一方面提供一种使计算机程序可供下载的方法。当计算机程序被上传到例如Apple的App Store、Google的Play Store或Microsoft的Windows Store时,以及当计算机程序可从此类商店下载时,将使用该方面。
附图说明
将参考附图仅通过示例的方式描述本发明的进一步细节、各方面和实施例。图中的元件是为了简单和清楚而示出的并且不一定按比例绘制。在图中,对应于已经描述的元件的元件可以具有相同的附图标记。在附图中,
图1a-1g示意性地示出了认证系统、用户系统和服务提供商的实施例的示例;
图1h示意性地示出了认证系统、用户系统、服务提供商和主系统的实施例的示例;
图2示意性地示出了认证系统、用户系统、服务提供商和主系统的实施例的示例;
图3示意性地示出了认证系统、用户系统、服务提供商和主系统的实施例的示例;
图4示意性地示出了认证系统、用户系统、服务提供商和主系统的实施例的示例;
图5示意性地示出了认证方法的实施例的示例,
图6a示意性地示出了根据实施例的具有包括计算机程序的可写部分的计算机可读介质;
图6b示意性地示出了根据实施例的处理器系统的表示。
附图标记列表,在图1a-4、6a-6b中:
13 存储器
14 处理器
15 通信接口
100、101、102 认证系统
103 服务和认证系统
110 加密用户身份的第一份额
120 联合盲化单元
130 加密身份单元
150 通信接口
170 认证服务器
180 助手服务器
192 计算机网络
200、201、202 用户系统
210 加密用户身份的第二份额
220 联合盲化单元
250 通信接口
270 第一用户设备
280 第二用户设备
300 服务提供商
310 挑战
400 主系统
1000 计算机可读介质
1010 可写部分
1020 计算机程序
1100 设备
1110 系统总线
1120 处理器
1130 存储器
1140 用户接口
1150 通信接口
1160 存储设备
1161 操作系统
1162、1163 指令
具体实施方式
虽然本发明可能以多种不同形式实施,但在附图中示出并且将在本文中详细描述一个或多个具体实施例,应理解本公开将被视为本发明原理的示例并且不旨在将本发明限制于所示和描述的特定实施例。
下面,为了使于理解,在操作中描述实施例的元件。然而,很明显,各个元件被布置为执行被描述为由它们执行的功能。
此外,本发明不限于这些实施例,并且本发明在于本文描述的或在相互不同的从属权利要求中记载的每一个新颖特征或特征的组合。
在实施例中,向用户系统提供加密身份。这种加密身份是通用的,因为它并不特定于任何特定的服务提供商。服务提供商不接受通用加密身份。加密身份的第一密码份额被存储在用户系统中,而加密身份的第二密码份额被存储在认证系统中。认证系统和用户系统可以一起导出特定于特定服务提供商的新加密身份。计算出的特定加密身份将被为其创建的特定服务提供商所接受,但是它可能不被其他人接受。通常,用户系统和认证系统被提供有通用加密身份,例如,在注册操作期间,甚至在知道它们将需要哪些服务提供商之前。事实上,在注册用户系统时可能不存在哪个服务提供商。
特定的加密身份可以包含在认证令牌中,所述认证令牌可以允许用户系统或用户系统的某个设备访问服务提供商的服务。例如,令牌可以包括进一步的认证数据,例如签名。例如,可以向服务提供商提供认证令牌。服务提供商在接收到认证令牌时,可以从认证令牌中获取加密的用户身份。
我们假设系统中的每个用户都有唯一的身份,例如唯一的编号,例如序列号或社保号等。一些受信任组织可以访问一个人的社保号,而其它组织只能访问假名。假名可能对于不同方(例如,不同组织或网站等)不同,但对于特定服务提供商而言是不变的。
图1a-1g示意性地示出了认证系统、用户系统和服务提供商的实施例的示例。
图1a示意性地示出了认证系统100的实施例的示例。图1b示意性地示出了用户系统200的实施例的示例。图1c示意性地示出了服务提供商300的实施例的示例。
用户系统200可以被用户用来访问服务提供商300的服务。例如,服务提供商300可以例如通过计算机网络提供数字服务。例如,服务提供商300可以包括网络服务器,例如,向系统200的用户显示网站。用户系统200可以使用认证系统100向服务提供商300认证他自己。例如,用户系统200可以与被服务提供商300接受的认证系统100一起计算认证令牌。认证令牌使服务提供商300能够获得用户的身份或假名。认证令牌还可以包括传统的认证方式。例如,在实施例中,认证令牌包括认证系统100的签名,使得服务提供商300可以验证令牌是由认证系统100生成的。后者暗示用户被认证服务器接受。
系统100和200中的任何一个都可以使用多个设备或单个设备来体现。例如,在实施例中,认证系统可以包括认证服务器170和助手服务器180。例如,助手服务器180可以被配置为对加密身份进行盲化,而认证系统170可以被配置为产生特定于特定服务提供商的经盲化的加密身份。例如,在实施例中,用户系统可以包括第一用户设备270和第二用户设备280。例如,第一用户设备270可以被配置为执行对服务提供商300的实际认证,例如以打开与认证系统的会话,而第二用户设备280可以被配置为例如与助手服务器180一起联合计算经盲化的加密身份。一般而言,本文中示出的实施例中在单个设备中实现认证或用户系统可以适用于其中被实现为拆分到两个或更多设备上的实施例,反之亦然。
因此,存在四种组合:认证系统可被拆分为两个设备,但用户系统未被拆分(未单独示出)。认证系统未被拆分,但用户系统被拆分(图3)。认证系统未被拆分,且用户系统也未被拆分(图2)。认证系统被拆分,且用户系统也被拆分(图4)。在拆分认证系统中,收集分析信息更加困难。在拆分用户系统中,攻击者更难获得加密标识符,例如,因为去盲化的挑战和盲化的加密标识符不需要存在于同一设备或同一软件中,甚至临时都不需要。
图1a-1g中所示的各种设备可以通过计算机网络192彼此通信。例如,图1h示出了连接到计算机网络192的认证系统100、用户系统200和服务提供商300一起形成服务和认证系统103。如果认证系统100被拆分成多个设备,那么这些可以使用计算机网络在它们之间进行通信,可能是相同的计算机网络。
计算机网络可以是互联网、内联网、LAN、WLAN等。计算机网络192可以是互联网。计算机网络可以全部或部分有线,和/或全部或部分无线。例如,计算机网络可以包括以太网连接。例如,计算机网络可以包括无线连接,例如Wi-Fi、ZigBee等。设备包括连接接口,所述连接接口被布置为根据需要与其它设备和系统进行通信。例如,连接接口可以包括连接器,例如有线连接器,例如以太网连接器、光学连接器等,或者无线连接器,例如天线,例如Wi-Fi、4G或5G天线。例如,图1a-1g中所示的设备可以包括通信接口15。计算机网络192可以包括额外的元件,例如路由器、集线器等。通信接口15可用于接收数字通信,例如以一个或多个消息的形式,例如以电子形式发送和接收。
图1a-1g所示的设备的执行在处理器电路中实现,其示例在本文中示出。本文的附图示出了可以是处理器电路的功能单元的功能单元。例如,图2-4可用作处理器电路的可能功能组织的蓝图。处理器电路未与图2-4中的单元分开示出。例如,所示的功能单元可以全部或部分地以存储在设备(例如,图1a-1g的设备之一)处在电子存储器13中的计算机指令实现,并且可由微处理器14执行。在混合实施例中,功能单元部分以硬件实现,例如作为协处理器,例如密码协处理器,并且部分以在处理器14上存储和执行的软件实现。由通信接口建立的通信可以是使用密码(例如,使用https、SSL、TLS)完整性和/或机密性保护的。
图2示意性地示出了认证系统100、用户系统200、服务提供商300和主系统400的实施例的示例。如上所述,拆分认证系统和/或用户系统带来各种优点。然而,关于图2这些系统是在系统级别上描述的。对于认证系统100和用户系统200,未拆分或整体的实施例也是可能的。
认证系统100包括存储加密用户身份U的第一份额110的存储设备。在下面公开的详细实施例中,第一份额可以表示为
Figure BDA0003251883270000091
第一份额可以是分量,例如ElGamal加密的第一或随机分量,例如gr。虽然使用非对称同态密码加密方案是有效的,但这不是必需的,加密身份的份额可以根据任何多用途MPC算法,例如SPDZ协议。
用户系统200包括存储加密的用户身份的第二份额210的存储设备。在下面公开的详细实施例中,第二份额可以表示为
Figure BDA0003251883270000092
第二份额可以是分量,例如ElGamal加密的第二或依赖于数据的分量,例如hrU。
加密身份,例如身份
Figure BDA0003251883270000093
是通用加密身份。它并不特定于任何特定的服务提供商,例如服务提供商300。
在只有一个份额的情况下(第一份额110或第二份额210),人们不能使用加密的身份。认证系统和用户系统将需要合作以利用加密身份,例如,以从中推导出经盲化的加密身份。
用户的身份U可以用主公钥加密,例如对应于某个主私钥(例如x)的h。加密的身份份额可以由某个受信任方提供,例如政府机构。例如,身份可以是社保号等。身份可以是电话号码或SIM号码,并且可以例如由诸如电信提供商等的受信任方提供。身份可以由受信任方以加密形式提供,或者以加密身份的份额的形式提供。图2示出了主系统400。主系统400可以注册认证系统、服务提供商和/或用户系统。特别地,主系统可以选择公共主密钥和私有主密钥。
例如,在实施例中,主系统可以选择公共主密钥和私有主密钥。主系统可以使用它来加密或已经加密每个用户系统的身份。然后将加密身份中的份额发送给用户系统,并将另一份额发送给认证系统。
虽然在受信任方(例如,密钥主系统)计算加密身份是一种注册的便捷方式,但仍有若干替代方案。
例如,作为第一种替代方案,身份U可以由用户自己选择。在这种情况下,两个份额可以由用户计算,他保留其中一个并将另一个发送给认证系统。在发送份额之后,优选地将其从用户系统中删除。
作为第二种替代方案,用户系统200和认证系统100可以参与多方计算以联合计算加密身份。例如,认证系统和用户系统可以被布置为联合加密针对公共主密钥h的用户身份U,使得各自获得加密的用户身份的份额。多方计算可以从用户系统200中获取用户身份U作为私有输入,从而认证系统100不需要学习身份U。
然而,在许多设想的实际系统中,这种联合计算是不需要的,并且加密身份的份额将从受信任方处获得。份额中一个或两者可以与唯一编号相关联,所述编号还与用户系统相关联。例如,唯一编号可以是将用户系统200与其它用户系统区分开来的应用ID(例如AppId)。应用ID可以是数字,例如序列号、随机数等,可由用户系统200或受信任方等进行选择。唯一编号可能主要用于记账,且可能不适合登录服务提供商。
认证系统和用户系统两者都包括通信接口以根据需要相互通信并与其它方(例如服务提供商)通信。例如,通信可以通过计算机网络,例如互联网。一般而言,在系统100、200和300内部和之间的通信可以使用常规手段(例如https、SAML协议、SLL、TLS等)以密码方式保护完整性和/或机密性。
当用户系统需要登录或注册服务提供商的服务时,例如通过计算机网络,例如登录网站,服务提供商300选择挑战310,也表示为e。可以随机选择挑战。以去盲化形式将挑战发送给用户系统200并以盲化形式发送给认证系统100。盲化形式是有用的,因为可以使用经盲化的挑战来验证基于挑战的计算。此外,经盲化的挑战可用于将其它方绑定到挑战310的正确值。经盲化的挑战因此可防止会话劫持或重放攻击。
注意,可以使用传统的密码保护方式来保护盲化和去盲化的挑战,例如,以用户系统200的公钥加密和/或以服务提供商300的私钥签名。经盲化的挑战可以通过使用主公钥的指数中的挑战进行,例如,对于某些函数f,作为he或hf(e)
可以以重定向的形式从服务提供商(例如,从网站)接收经盲化的挑战。从服务提供商接收挑战可以通过以电子通信或通过光通信直接从网站接收挑战来完成。例如,服务提供商可以以条形码(例如,线性条形码)或二维条形码(例如,QR码)的形式显示挑战。光学代码可由用户系统200的设备读取,例如由配备有相机的智能电话读取。
一旦认证系统具有经盲化的挑战,且用户系统具有去盲化的挑战,它们就可以参与协议来获得经盲化的加密身份。经盲化的加密身份不直接用于认证,而是一种中间结果。因为它被认证系统100未知的挑战所盲化,所以允许认证系统对其执行计算是安全的。
用户系统200和认证系统100一起联合为挑战e盲化加密的用户身份。例如,认证系统可以包括访问第一份额的联合盲化单元120,并且用户系统可以包括访问第二份额的联合盲化单元220。联合盲化单元120和220被配置为协作并联合计算经盲化的加密身份。
联合盲化可以是所谓的多方计算,其中各方可能具有私人输入。在计算结束之后,各方不应知道比他们从他们开始的自己的输入和他们合法获得的结果中所能得到的更多的信息。优选地,多方还应能够验证另一方正确执行了其动作。如果有足够多的方受到损害,那么这些目标可能无法完全实现。
认证系统100将获得作为计算结果的经盲化的加密身份。优选地,他应该能够例如使用他的经盲化的挑战来验证经盲化的加密身份被正确计算。认证系统优选地不能从例如他的第一份额、经盲化的挑战和经盲化的加密身份导出完整的加密身份。
对于用户系统200,这也是期望的,但是如果用户系统能够导出他自己的加密身份,则这就不那么重要了。这是他自己的身份,所以好好保护它符合他的利益。此外,他不是许多身份可用的目标,因为认证系统是例如单点突破。在这种情况下,加密身份可能会被加密身份与挑战e的幂运算所盲化。经盲化的加密身份可以被称为BPPu。它可以被计算为(PPu)e
在实施例中,认证系统可以通过用户系统从服务提供商接收经盲化的挑战。例如,经盲化的挑战可以由用户系统转发到认证系统。这避免了需要在认证系统和服务提供商之间建立直接通信,并且由此消除了潜在的攻击点。例如,经盲化的挑战可以以重定向的形式转发到认证系统。例如,用户系统可以包括浏览器,并且认证系统和服务提供商可以包括网络服务器。通过从服务提供商网站重定向到认证系统网站,可以转发经盲化的挑战。完成的特定加密身份可以通过同样的方式从认证系统返回到服务提供商。
在实施例中,用户系统也可以自己计算经盲化的挑战。例如,用户系统可以接收去盲化的挑战e并使用它来计算经盲化的挑战,并将其转发给认证系统。用户系统不能简单地选择自己的挑战,因为服务提供商不接受产生的身份。然而,在实施例中,这可以被使用,使得用户系统的设备可以向认证系统证明它知道去盲化的挑战。这可以有利地用于拆分用户系统。
代替向用户系统200提供去盲化的挑战e,在变型中,用户系统200和认证系统100都由服务提供商提供以挑战的份额。以这种方式,去盲化的挑战不需要离开服务提供商。这降低了攻击者可能获得挑战e和经盲化的加密身份的风险,他可以根据挑战e和经盲化的加密身份来计算加密身份本身。在变型中,使用挑战中的份额以及加密身份中的份额作为私有输入来联合计算经盲化的加密身份。这可以使用ElGamal来完成。然而,如果不使用ElGamal,则可以使用其它多方计算。例如,挑战可以是由提供的服务生成并用作一次一密的位串,例如通过XOR;认证系统和用户系统中的每一个都可以接收一次一密中的份额。然后可以使用通用MPC协议来计算经盲化的加密身份。这样的好处是,例如通过用户知道挑战并观察BPP或BEP的攻击者无法找到PP或EP。例如,可以使用多方计算来计算BPP,而无需仅从一个挑战份额的知识中获得PP。具体地,人们可以使用以下协议:
服务器(份额e_s和PPb)将A=PPb^e_s发送给客户端,
客户端(份额e_c和PPa)计算B=A^e_c和C=PPa^e_c,并将B、
C发送回服务器。最后服务器计算:BPP=B,C^e_s
服务器上的攻击者在不了解e_c的情况下无法获得PPa,而在客户端上的攻击者在不了解e_s的情况下无法获得PPb。在其它地方,攻击者在不了解e_s和e_c的情况下无法从BPP导出PP。
联合盲化的结果可能是认证系统100可以访问经盲化的加密身份。他可以将经盲化的加密身份用于各种目的,如下文进一步详述的。此外,经盲化的加密身份被绑定到挑战e,从而即使攻击者获得了它,也将毫无用处,因为在下一会话中,服务提供商将选择不同的e。
例如,在实施例中,认证系统100可以根据专用于服务提供商的经盲化的加密身份来计算加密身份。为此,认证系统可以包括加密身份单元130。具体地,可以使用服务提供商的私钥和挑战e来解密特定加密身份,使得服务提供商获得用户的有效身份。在实施例中,特定加密身份受到完整性保护,例如通过使用认证系统的公钥对其进行签名。如果这样做,那么特定的加密身份不仅提供身份,而且还提供认证。例如,特定身份是及时的,因为它绑定到会话挑战,并且签名证明它是由认证系统100制作的。这继而意味着它是与访问通用加密身份的适当份额的用户系统一起制作的。
注意,在实施例中,可以允许服务提供商不能将特定加密认证为实际身份U。
至少有两种类型的加密身份可以根据经盲化的加密身份中计算出。服务提供商可以使用其私钥和挑战来解密两者。也就是说,这两种类型都是服务提供商300特有的加密身份。第一类加密身份可以由服务提供商解密,以获得用户U的实际身份。第二类加密身份可以由服务提供商解密以获得用户的假名。虽然假名与身份U本身不同,但如果进行两次认证,则是相同的。换句话说,假名可以完美地用作用户名等。但是,不同服务提供商的假名是不同的。用户的身份U与其假名之一可以通过单向函数相关。例如,单向函数可以将身份U和服务提供商的身份作为输入。进一步的输入是可能的,例如本地密钥种子,它可以是随机但固定的。计算针对服务提供商的加密身份还可以依赖于服务提供商的公钥,或允许通过服务提供商的私钥解密的密码系统数据。这可以使用底层加密方案的同态属性来获得。例如,认证方案可能会添加服务提供商的加密,同时保留掩蔽。为了额外的安全性,经盲化的加密身份甚至可以用认证系统的公钥加密,例如,这可以在联合计算期间完成,例如,以防止泄露的加密身份对不知如何知道的挑战攻击者产生任何好处。虽然认证系统100添加了服务提供商的加密,但它可以移除它自己的加密。但是,这不是必需的,尤其是在使用诸如TLS的基本安全性时。
例如,在实施例中,计算加密身份可以包括至少加密经盲化的加密用户身份的分量,加密被布置为用于可使用服务提供商的私钥解密加密身份。对于解密为实际身份的加密身份,这可能就足够了。例如,第二分量可以等于经盲化的加密身份的第二分量。在这种情况下,特定于针对服务提供商的加密身份不必是假名。例如,将加密身份从由主公钥加密修改为由服务提供商公钥加密;一直保持盲化形式。
为了获得解密为假名的针对服务提供商的加密身份,认证系统还可以用从服务提供商身份(N)导出的值进行盲化。例如,可以使用密钥导出函数、散列函数等来获得该值。导出可能取决于本地密钥种子。
在实施例中,认证系统可以存储转换密钥种子,服务提供商已被提供有根据转换密钥种子和服务提供商身份计算出的私钥。使用转换密钥种子,认证系统可以正确加密,使得服务提供商可以解密。服务提供商私钥可以从转换密钥种子和主私钥导出。认证系统可以访问转换密钥种子和主公钥,并被配置为将针对主私钥加密的数据转换为针对服务提供商私钥加密的数据。
现在特定于服务提供商的加密用户身份可以被发送给服务提供商。这可以直接完成,或可以通过用户系统完成,例如通过重定向。用户系统可以使用加密的用户身份向具有加密身份的服务提供商进行认证。例如,可以添加额外的认证措施,例如认证系统的签名和/或用户系统的签名。
图3示意性地示出了认证系统101、用户系统201、服务提供商300和主系统400的实施例的示例。该实施例类似于参考图2描述的实施例,除了用户系统202被拆分成两个部分,例如,由第一用户设备270和第二用户设备280体现。
第一用户设备270包括被布置为与服务提供商和认证系统通信的通信接口,第一用户设备被布置为接收经盲化的挑战(he),以将经盲化的挑战转发到认证系统,并接收特定的加密身份。
第一用户设备270可以充当认证系统100与服务提供商300之间的管道。例如,在实施例中,用户设备270可以是网络浏览器,用户可以利用该浏览器使用服务提供商的服务,并且因此他想用它登录。在实施例中,第一用户设备270不能访问去盲化的挑战e,也不能共享加密身份。
第二用户设备280包括被布置为与服务提供商和认证系统进行通信的通信接口,第二用户设备被布置为接收去盲化的挑战e,并联合地计算经盲化的加密身份。例如,第二用户设备280可以包括联合盲化单元220。
例如,可以在数字通信中获得去盲化的挑战。这可以是通过计算机网络的有线或无线消息,但也可以是光学消息。光学消息可以显示在第一设备的屏幕上,例如由服务提供商引起,并且然后可以由第二设备的相机捕捉。在解码图像之后,去盲化的挑战在第二设备上可用。
第二设备包括存储加密的用户身份的第二份额
Figure BDA0003251883270000151
的存储器。
在实施例中,第二设备280与认证系统接合以联合计算经盲化的加密身份。然后认证系统可以使用经盲化的加密身份来计算期望类型的特定加密身份。可以经由第一用户设备来将特定的加密身份转发给服务提供商,使得第一用户设备可以登录服务提供商。有趣的是,第二用户设备280可以通过计算经盲化的挑战并将其发送到认证系统100来向认证系统证明第二用户设备280对应于第一用户设备。认证系统可以验证它与从第一用户设备270接收到的经盲化的挑战相同。
当以份额通信挑战时,也可以使用拆分用户系统。例如,第一用户设备270可以从服务提供商300接收挑战的第一份额并将其转发到认证系统。第二用户设备280可以接收挑战的第二份额。使用两个份额,可以联合计算经盲化的加密身份,而无需任何认证系统和用户系统学习挑战,例如,使用加密多方计算。人们可以用一些其它机制进行补充以证明第一和第二用户设备之间的关系,例如,基于服务提供商或认证系统的挑战的挑战响应协议。替代地,第二用户设备可以从服务提供商接收经盲化的挑战he,例如,光学地。第二用户设备可以转发该值,同时也根据其份额联合计算经盲化的加密身份。这样,也可以证明第一与第二用户设备之间的关系;可以使用从服务提供商例如通过第一用户设备接收的经盲化的挑战he来验证联合计算出的经盲化的加密身份。
在实施例中,第二用户设备280被配置为联合地计算经盲化的加密身份。第一用户设备270被配置为向具有特定加密身份的服务提供商进行认证。这种拆分具有多种优点。例如,第二用户设备280可以与多个用户设备270一起使用;例如,第二用户设备280可以是运行适当软件(例如,app)的智能电话。此外,获得了在去盲化的挑战和经盲化的加密身份之间更好的分离。
第一用户设备以及第二用户设备都可以实现用户认证和/或访问系统以避免未经授权的访问,例如输入PIN码、生物特征、密码等。
第一和第二用户设备优选地是不同的软件单元,并且更优选地是不同的设备。第二用户设备可以是用户电话,例如在用户的便携式设备上运行的app。第一用户设备可以是台式计算机。相同的第二设备可以与许多第一设备一起使用,例如计算机。第一设备也可以是移动设备。然而,第一和第二用户设备可以嵌入在同一设备中。例如,在实施例中,第一和第二用户设备都可以被实现为在同一智能电话上的应用。在那种情况下,优选地,第一和第二用户设备具有到服务提供商和/或认证服务器的独立连接,使得一个用户设备可以接收另一个用户设备无法访问的信息,例如盲化或去盲化的挑战、经盲化的加密身份和特定加密身份。
图4示意性地示出了认证系统102、用户系统202、服务提供商300和主系统400的实施例的示例。在图4中,认证系统和用户设备是拆分的。注意,人们可以修改该实施例,或图2和图3的实施例,使得只有认证系统被拆分,而不是用户系统。
认证系统102包括助手服务器180和认证服务器170。联合地计算经盲化的加密身份的责任落在助手服务器180和第二用户设备280上。例如,助手服务器可以存储通用加密用户身份U的第一份额。此外,助手服务器180可以包括通信接口,所述通信接口被布置为接收经盲化的挑战。经盲化的挑战可能来自服务提供商,可能通过另一设备,例如认证服务器170和/或第一用户设备270。助手服务器被配置为与用户系统(特别是第二用户设备280)联合盲化,加密用户身份获得经盲化的加密用户身份。例如,助手服务器180可以包括联合盲化单元120。可以将经盲化的加密用户身份从助手服务器发送给认证服务器。然后,认证服务器可以针对期望类型的服务提供商计算期望的特定加密身份。例如,认证服务器170可以包括加密身份单元130。
有趣的是,助手服务器可能获悉用户的某种身份,或者至少某种代理,例如应用ID。然而,助手服务器不需要获悉服务提供商的身份。事实上,助手服务器根本不需要与服务提供商有任何直接联系。虽然经盲化的挑战可能来自服务提供商,例如,通过第一用户设备和认证服务器,但一旦助手服务器获悉经盲化的挑战,就不需要包括服务提供商的身份。
认证服务器可以接收经盲化的加密身份,并使用它来为服务提供商导出特定的加密身份。
例如,如参考图2-4所描述的服务提供商可以包括存储设备和通信接口。存储设备可以存储私钥,所述私钥可以用于对加密身份进行解密,从而获得身份U或假名。存储设备还可用于临时存储挑战。通信接口可以被配置为至少与用户系统通信,例如至少与用户设备270通信。例如,在实施例中,服务提供商可以包括通过通信接口服务的网络服务器。
服务提供商可以被配置为生成挑战e并计算对应于该挑战的经盲化的挑战。例如,这可以在接收到登录请求时完成。挑战可以被编码在光学可读图像中,使得它可以被用户系统光学读取,例如由第二设备280。经盲化的挑战可以被发送给用户系统,例如发送给第一用户设备270,并且从那里被发送到认证系统。例如,经盲化的挑战可以从服务提供商到第一用户设备到认证服务器到助手服务器。
最后,服务提供商接收加密身份,它可以用私钥解密,并且利用挑战(e)来去盲化。除此之外,服务提供商可以验证其它认证令牌,例如,由助手服务器和/或认证服务器的签名。例如,助手服务器可以对经盲化的挑战进行签名。例如,认证可以签署特定的加密身份。
在认证系统、用户系统、服务提供商、认证服务器、助手服务器、第一用户设备和第二用户设备的各种实施例中,可以从各种替代方案中选择通信接口。例如,接口可以是到局域网或广域网(例如互联网)的网络接口。如果两个设备在同一系统中,则它们可以通过应用接口(API)等进行通信。
认证系统、用户系统、服务提供商、认证服务器、助手服务器、第一用户设备和第二用户设备可以具有用户接口,所述用户接口可以包括公知的元素,例如一个或多个按钮、键盘、显示器、触摸屏,等等。用户接口可以被布置为容纳用于执行登录动作、读取挑战、输入PIN码等的用户交互。
设备中的存储设备可以实现为电子存储器,例如闪存,或磁存储器,例如硬盘等,或光学存储器,例如DVD。存储设备可以包括一起构成存储设备的多个分立存储器。
通常,认证系统、用户系统、服务提供商、认证服务器、助手服务器、第一用户设备和第二用户设备均包括微处理器,所述微处理器执行存储在系统和/或设备中的适当软件;例如,所述软件可能已被下载和/或存储在对应的存储器中,例如,诸如RAM的易失性存储器或诸如闪存的非易失性存储器。替代地,系统或设备可以全部或部分地以可编程逻辑实现,例如作为现场可编程门阵列(FPGA)。系统或设备可以全部或部分地实现为所谓的专用集成电路(ASIC),例如为它们的特定用途定制的集成电路(IC)。例如,电路可以在CMOS中实现,例如使用硬件描述语言,如Verilog、VHDL等。
实施例可以包括一个或多个电子电路来实现本文描述的对应单元。电子电路可以包括处理器电路和存储电路,所述处理器电路执行在存储电路中以电子方式表示的指令。
处理器电路可以以分布式方式实现,例如,作为多个子处理器电路。存储设备可以分布在多个分布式子存储设备上。部分或全部存储器可以是电子存储器、磁存储器等。例如,存储设备可以具有易失性和非易失性部分。存储设备的一部分可以是只读的。例如,设备可以具有一个或多个处理器或微处理器来执行存储在设备中的软件。电路也可以是FPGA、ASIC等。
本文的一些示例使用ElGamal加密方案。ElGamal很方便,因为它具有同态属性。ElGamal提供了一种将密文重新加密为加密相同数据的新密文的有效方法。ElGamal的语义安全性意味着任何观察者都无法确定两个密文是否是同一身份的加密。然而,可以针对另一加密方案适当地修改示例。代替ElGamal,可以使用其它非对称同态加密方案,特别是其它概率加密方案。同态加密方案的另一示例是例如Paillier。然而,甚至可以使用非同态加密方案。例如,可以通过在多方之间共享私钥并使用多方计算来修改密文来修改密文,而无需任一方获悉解密或私钥。
例如,加密可以根据概率加密方案,例如,方案可以是ElGamal。如果加密是概率性的,则存在许多不同的密文对同一身份进行加密。
下面基于ElGamal加密方案公开特定实施例。该示例使用密钥管理机构(KMA),例如主服务器400、认证系统、一个或多个服务提供商和用户系统。用户系统的意图是向服务提供商进行认证,但在注册时尚不知道用户可以使用哪些服务提供商。
在该示例中,底层加密使用由g生成的阶素数p的循环群G。KMA选择主私钥和主公钥。设h=gx∈G为主公钥,且
Figure BDA0003251883270000181
为ElGamal密码系统的对应主私钥。令μ:{0,1}*→G是以可逆方式将数字身份映射到G中元素的函数。KMA还选择转换密钥种子(DK)。
在注册阶段,转换密钥种子(DK)被分发到一个或多个认证系统。此外,KMA针对每个服务提供商N计算私钥或解密密钥xN。例如,人们可以选择
Figure BDA0003251883270000191
其中
Figure BDA0003251883270000192
是密钥推导函数,例如散列函数。注意,N的对应公钥等于
Figure BDA0003251883270000193
对于每个用户,计算多态假名。用户的多态假名U=μ(u)是U的ElGamal加密,即,
Figure BDA0003251883270000194
对于一些随机选择的
Figure BDA0003251883270000195
多态假名是加密用户身份;在这种情况下,是用户身份U的ElGamal加密。
有趣的是,PP在用户系统和认证系统之间拆分。通过这种方式,PP不被存储在用户系统或认证系统上。因此,如果攻击者闯入用户系统和认证系统中的任何一个,他将找不到PP。例如,PPu可以在认证服务器(认证系统)和用户(U)之间共享如下。认证系统存储为第一份额
Figure BDA0003251883270000196
用户存储为第二份额
Figure BDA0003251883270000197
现在,认证系统只有PP的随机部分,因此推断不出关于U或PPu的信息。另一方面,用户只有hrU∈G。值
Figure BDA0003251883270000198
不包含关于U的信息,因为对于任何U′都存在r′,使得
Figure BDA0003251883270000199
因此,仅从第一份额或仅从第二份额无法推导出关于完全加密的用户身份的信息。
存储在若干方式在认证系统和用户系统之间拆分PP。例如,在实施例中,受信任方(例如KMA)可以计算PP,并向认证系统和用户系统中的每一个发送份额,例如分量。这不需要由KMA完成,因为只需要公共主密钥h。例如,在实施例中,注册设备使用公共主密钥h对社保号进行加密,并将份额发送到认证系统和用户系统。在实施例中,用户可以计算PP。例如,用户可以为自己选择身份,例如全名等,并且根据其计算PP。之后,用户可以保留一个份额,并且可以将一份额发送给认证系统。也可以使用多方计算来计算拆分PP,例如,在认证系统和用户系统之间。
在注册后,在使用阶段,用户系统可能需要向服务提供商进行认证。在下面的协议中,服务提供商可以生成挑战e,并将挑战e发送到用户系统。通常,挑战将随机生成。服务提供商向认证系统发送经盲化的挑战he:=ge。用户系统和认证系统将对挑战e的加密用户身份进行盲化,以获得
Figure BDA0003251883270000201
例如,这可以使用多方计算来完成。在多方计算中,用户系统可以访问PP的一个份额和挑战e,而认证服务器(AS)可以访问PP的另一份额和经盲化的挑战。结果,至少认证服务器获得了盲化加密的用户身份BPPu。用户系统可以获得对经盲化的加密身份的访问,但这既不需要也不可取。优选地,多方计算的各方都未获悉关于完整PP的信息,特别是认证系统。此外,认证系统不学习去盲化的挑战e。优选地,协议还向认证系统证明用户系统可以访问去盲化的挑战e。后者可以经由对知识的零知识证明来完成,例如,作为MPC的一部分。零知识证明可以使用所谓的Fiat-Shamir启发法[4],基于散列函数
Figure BDA0003251883270000202
联合地计算经盲化的加密身份可以根据已知的多方计算协议来完成。
然而,优化的协议如下:
用户从服务提供商处获得随机挑战:服务提供商生成并向用户系统U发送随机
Figure BDA0003251883270000203
以及生成并向认证系统发送he=ge
PP的联合盲化。用户系统与认证系统建立连接。
(a)随机化
Figure BDA0003251883270000204
认证系统选择随机
Figure BDA0003251883270000205
并将
Figure BDA0003251883270000206
发送给用户U。(注意:用户将无法在不知道c的情况下重建
Figure BDA0003251883270000207
)
(b)转换为e:U计算A=Ce
Figure BDA0003251883270000208
(c)会话所有权证明:U选择随机
Figure BDA0003251883270000209
并计算a=Cr,b=gr
Figure BDA00032518832700002010
Figure BDA00032518832700002011
和ρ=r+ze mod p。
(d)回复认证系统:U向认证系统发送A、B、a、b、ρ
(e)验证证明:认证系统计算
Figure BDA00032518832700002012
并验证是否
(C)ρ==aAz
Figure BDA00032518832700002013
认证系统现在知道用户系统可以访问挑战e,使得he=ge并且A等于Ce
(f)完成盲化重建:认证系统设置
Figure BDA00032518832700002014
在该协议期间,没有一方看到完整的PPu。此外,BPPu只能在由挑战e索引的会话中使用,因此它对攻击者无用,因为在离散日志设置中e的范围非常大。
一旦认证系统可以访问经盲化的加密身份BPPu,认证系统就可以计算两个值之一。
用户U的经盲化的加密身份BEI是在某个服务提供商的ElGamal密钥下的Ue的ElGamal加密。所以用户U关于服务提供商N的EI的形式对于某种随机数r为:
Figure BDA0003251883270000211
它可以由给定BPPu的认证系统计算如下:
Figure BDA0003251883270000212
服务提供商可以用他的私人解密密钥解密,并用d=e-1mod p进行去盲化以获得U。
用户U的加密假名EP是某个服务提供商N的ElGamal密钥下的f(U,K,N)的ElGamal加密。人们可以选择f(U,K,N)为
Figure BDA0003251883270000213
因此,
Figure BDA0003251883270000214
这可以由认证系统从BPP计算如下:
Figure BDA0003251883270000215
正确性由ElGamal的同态属性产生。注意,BEPU,N可以被N解密和去盲化,因为服务提供商知道e,从而他能够计算d=e-1modp。服务提供商可以根据BEPU,N获得值
Figure BDA0003251883270000216
后者是U的假名,其是服务提供商N特有的。用户U每次向服务提供商N认证时,服务提供商都将获得相同的假名。然而,服务提供商将不获悉对应的值U。即使两个服务提供商合作,他们也将发现很难核对他们关于用户U的信息,因为他们不知道一个服务器上的哪个用户假名对应另一台服务器上的假名。
因此,服务提供商向用户提供了随机挑战来加密他的PP,从而产生我们所说的BPP。这种加密可确保BPP在任何其它上下文中都不可用。该协议不要求各方看到完整的PP,但至多看到BPP。
如果认证服务器被实现为单个设备,那么认证服务器仍然可以获得分析信息,即,服务器可以获悉连接到用户的某种形式的ID以及用户正在联系的服务提供商的ID。在实施例中,这通过在单独的服务器-助手服务器上执行BPP的重建来避免,所述服务器将重建的BPP转发到认证服务器,所述认证服务器可以转换结果并将结果发送给服务提供商。因此,单独的服务器将只获悉“特定用户希望使用他的PP”,而认证服务器将只获悉“某人希望联系某个服务提供商”。
在实施例中,向认证系统保证用户系统已经使用了对应于有效会话的正确挑战。通过这种方式,试图伪造用他们自己选择的密钥加密的BPP的攻击者将被挫败。该部分可以应用零知识证明。此外,还可以增强证据以证明用户身份的真实性。后者避免了必须再做一次证明。
通过两方拆分PP以及联合盲化将这些PP作为目标移除。虽然通过共享
Figure BDA0003251883270000221
索引的用户希望连接到服务提供商N,但认证系统仍可以获悉。在实施例中,这通过拆分BBPu的计算和使用BBPu来计算BEPU,N或BEIU,N到两个不同的服务器(助手服务器和认证服务器)来避免。
没有份额存储在认证服务器(AS)上,使得AS只能看到不能连接到特定用户交互的BBPu。用户系统可以在助手服务器(HS)的帮助下执行BPP的重建,所述助手服务器将重建的BPP转发到认证服务器。然后,助手服务器仅获悉“具有
Figure BDA0003251883270000222
的用户”希望使用他的PP,而认证服务器仅获悉“有人想要向服务提供商(N)进行认证”。
可以使用以下协议:
用户系统从服务提供商得到随机挑战。服务提供商生成并向用户U发送随机
Figure BDA0003251883270000223
以及生成并且向AS发送he=ge。用户系统连接到助手服务器。认证服务器将he转发给助手服务器。经盲化的挑战he也可以被直接发送给助手服务器。
PP的联合盲化
(a)随机化
Figure BDA0003251883270000224
HS选择随机
Figure BDA0003251883270000225
并将
Figure BDA0003251883270000226
发送给用户U。(注意:用户将无法在不知道c的情况下重建
Figure BDA0003251883270000227
)
(b)转换为e:U计算A=Ce
Figure BDA0003251883270000231
(c)会话所有权证明:U选择随机
Figure BDA0003251883270000232
并计算a=Cr,b=gr
Figure BDA0003251883270000233
和ρ=r+ze mod p。
(d)回复HS:U向HS发送A、B、a、b、ρ
(e)验证证明:HS计算
Figure BDA0003251883270000234
并验证是否
(C)ρ==aAz
Figure BDA0003251883270000235
现在HS知道U知道e,使得he=ge并且A等于Ce
(f)完成盲化重建:HS设置
Figure BDA0003251883270000236
向AS发送结果:HS向AS发送BPPu。可选地,BPPu可能会被额外地盲化,以确保即使e以某种方式泄漏,对应的PPu仍然无法与AS链接。注意,后者可选的盲化不需要单独的去盲化步骤。在某种意义上,这种盲化只是改变了加密的随机部分。解密将撤消所有随机化。
转换:将值BPPu转换为BEPU,N或BEIU,N并发送给服务提供商。
解密:服务提供商使用他的秘密密钥解密并使用e去盲化。
该协议可能包括经由挑战-响应协议进行的认证,但这涉及额外的通信,更多示例请参见[5]的第4章和第5章。在实施例中,在没有额外通信成本的情况下添加认证。
方法1:证明会话所有权可能依赖于散列函数
Figure BDA0003251883270000238
我们观察到
Figure BDA0003251883270000239
也可以是键控散列函数,例如HMAC。假设z值计算如下
Figure BDA0003251883270000237
其中,服务器和用户都有密钥和SessionData(其可能是空的,SessionCounter,来自服务器的挑战等)。现在“会话所有权证明”只有在用户实际具有服务器也具有的HMAC密钥时才能成功,否则用户计算出的z值将与由服务器计算出的值不匹配,并且服务器侧的验证将失败。此外,窃听者不能再计算z,并检查抄本是否是“可验证的抄本”,即,将验证的证明。
方法2:替代地或另外,人们可以使用具有预共享密钥的HMAC作为PRF来使ElGamal加密BPP盲化,如下所示。用户计算r′=HMAC(key,ge||SessionData),并替代地计算
A=gr′Ce
Figure BDA0003251883270000241
其它计算可以保持不变。
另一方面,服务器可能会计算r′=HMAC(key,he||SessionData)并验证(C)ρ==a(A/gr′)z
最后计算
Figure BDA0003251883270000242
与方法1相比,所述方法具有额外的优势,即协议强制执行对BPP进行盲化的动作,以便获得有效的BPP(如果h对HS保持隐藏)。此外,服务器可以区分由于没有使用正确的密钥(例如可能通过按下错误的PIN)或没有有效会话而导致的无效证明。事实上,如果秘钥是错误的,那么只有r′是错误的,使得仅有检查
Figure BDA0003251883270000243
不符合,而
(C)ρ==a(A/gr′)z仍是符合的。但是如果e是错误的,那么z是错误的,从而两个验证都会失败。
下面描述进一步的实施例,其中用户系统被拆分成第一用户设备和第二用户设备:例如,在桌面上运行的用户浏览器,以及例如在用户智能电话上运行的用户应用(App)。认证系统被拆分为助手服务器和认证服务器。App可以用app标识(例如,app ID)向助手服务器注册。加密身份的份额可以存储在与app ID相关联的助手服务器上。助手服务器和app都可以维护会话计数器。
1.用户经由网络浏览器连接到服务提供商。
2.用户请求服务并希望登录。
3.服务提供商向用户应用提供随机挑战e。例如,服务提供商可以例如经由弹出窗口显示随机挑战e的光学可读代码,例如QR码。用户浏览器被重定向到认证服务器,其中认证服务器获得he=ge作为会话ID。重定向可以使用标准SAML重定向。
4.AS以服务提供商N的身份存储he,然后将he转发给助手服务器。
5.助手服务器将he添加到打开的会话的列表中。
6.用户打开应用(App),例如“客户端软件”来读取挑战,例如扫描QR码。
7.App用其app ID、AppID和h=ge连接到助手服务器。
8.助手服务器验证是否存在值为he=h的空闲会话。
9.助手服务器取得对应于App ID的
Figure BDA0003251883270000251
并将he链接到AppID。现在he不再自由了。
10.助手服务器选择随机
Figure BDA0003251883270000252
并回复
Figure BDA0003251883270000253
11.用户输入访问代码,例如PIN。
12.App取得种子、e和SessionCounter。
13.App计算KU=H(seed||PIN)和r′=HMAC(KU||ge||sessionCounter)。
14.App计算A=gr′Ce
Figure BDA0003251883270000254
15.App选择随机
Figure BDA0003251883270000255
并计算a=Cr,b=gr
Figure BDA0003251883270000256
和ρ=r+zemodp。
16.App向助手服务器发送AppID、A、B、a、b、ρ
17.助手服务器取得对应于AppID的KU和sessionCounter,并计算r′=HMAC(KU,sessionCounter)。
18.助手服务器计算
Figure BDA0003251883270000257
并验证是否
(C)ρ==a(A/gr′)z,以及
Figure BDA0003251883270000258
19.如果只有第二检查为真,则推断“PIN不正确”;如果两者都为假,则推断“收到恶意消息”。否则,如果两者都为真:继续。
20.助手服务器设置
Figure BDA0003251883270000259
21.助手服务器向认证服务器发送BPPu以及he和认证的结论。
22.助手服务器递增SessionCounter,并以结论回复App。
23.App递增SessionCounter并向用户显示结论。
24.认证服务器取得对应于以he标识的会话的服务提供商的ID。
25.认证服务器请求BSNk经由公式(3)将BPPu(起到图1中PI的角色)转换为BEPU,N(起到图1中VI的作用)。
26.认证服务器用BEPU,N将浏览器重定向回依赖方。
27.服务提供商使用他的秘密密钥解密BPU,N并重建
Figure BDA00032518832700002510
28.用户被认证。
该实施例的许多元素是可选的和/或可以被替代物替换。例如,会话计数器或PIN码的使用是可选的。例如,在步骤13中,可以选择使用KU、会话计数器或HMAC等。步骤13中的种子可以是由App例如在注册时、例如在第一次输入PIN时生成的随机字符串。种子保护服务器上包含KU值的数据库,以通过彩虹表攻击大规模泄漏PIN。
图5示意性地示出了认证方法的实施例的示例。图5示出了包括用于用户系统的方法501和用于认证系统的方法551的总体方法500。本发明扩展到可以例如由助手服务器、认证服务器、第一用户设备和第二用户设备执行的方法的部分。本发明进一步扩展到可由服务提供商执行的方法。
方法501包括
-存储510加密的用户身份的第二份额,
-接收520由服务提供商生成的经盲化的挑战和去盲化的挑战。经盲化的挑战可以被转发到认证系统,如图5中的右向箭头所示,
-针对所述挑战与认证系统联合盲化530加密用户身份。联合盲化由图5中的虚线指示,
-接收540特定的加密身份并向服务提供商进行认证。
方法551包括
-存储550加密用户身份的第一份额,
-接收560对应于服务提供商生成的挑战的经盲化的挑战,
-针对所述挑战与用户系统联合盲化570加密用户身份,
-计算580针对服务提供商的加密身份,并将特定的加密身份发送到用户系统。这在图5中用左向箭头表示。
执行这些方法的许多不同方式都是可能的,这对于本领域技术人员来说是显而易见的。例如,可以按照所示的次序执行步骤,但是步骤的次序也可以改变或者一些步骤可以并行执行。此外,在步骤之间可以插入其它方法步骤。所插入的步骤可以表示诸如本文所述的方法的改进,或者可以与方法无关。例如,一些步骤可以至少部分地并行执行。此外,在开始下一步骤之前,给定的步骤可能尚未完全完成。
方法的实施例可以使用软件来执行,所述软件包括用于使处理器系统执行方法500的指令。软件可以仅包括由系统的特定子实体采取的那些步骤。软件可以存储在合适的存储介质中,例如硬盘、软盘、存储器、光盘等。软件可以作为信号沿着有线、无线或使用数据网络(例如互联网)发送。软件可以在服务器上可用于下载和/或远程使用。可以使用被布置为配置可编程逻辑(例如,现场可编程门阵列(FPGA))执行方法的比特流来执行该方法的实施例。
应当理解,本发明还扩展到计算机程序,特别是载体上或载体中的计算机程序,适用于将本发明付诸于实践。程序可以是源代码、目标代码、源代码与目标代码中间的代码形式,例如部分编译的形式,或者适合用于实现方法的实施例的任何其它形式。涉及计算机程序产品的实施例包括对应于所阐述的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可以细分为子程序和/或存储在可以静态或动态链接的一个或多个文件中。涉及计算机程序产品的另一实施例包括对应于陈述的系统和/或产品中的至少一个的每个单元的计算机可执行指令。
图6a示出了根据实施例的具有可写部分1010的计算机可读介质1000,所述可写部分1010包括计算机程序1020,计算机程序1020包括用于使处理器系统执行认证方法的指令;例如方法500、501、551或其部分。计算机程序1020可以作为物理标记或通过计算机可读介质1000的磁化而体现在计算机可读介质1000上。然而,也设想任何其它合适的实施例。此外,应当理解,虽然计算机可读介质1000在此被示为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质,例如硬盘、固态存储器、闪存等,并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行所述认证方法的指令。
图6b图示了用于实现根据实施例的设备的示例性硬件图1100。例如,硬件图1100可以被配置为实现认证系统、用户系统、认证服务器、第一用户设备、第二用户设备或服务提供商中的一个或多个。如图所示,设备1100包括经由一个或多个系统总线1110互连的处理器1120、存储器1130、用户接口1140、通信接口1150和存储设备1160。应当理解,所述图在一些方面构成抽象,并且设备1100的部件的实际组织可能比图示的更复杂。
处理器1120可以是能够执行存储在存储器1130或存储设备1160中的指令或以其它方式处理数据的任何硬件设备。因此,处理器可以包括微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类似设备。例如,处理器可能是Intel Core i7处理器、ARM Cortex-R8等。在实施例中,处理器可以是ARM Cortex M0。
存储器1130可以包括各种存储器,例如L1、L2或L3高速缓存或系统存储器。因此,存储器1130可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪存、只读存储器(ROM)或其它类似的存储器设备。显而易见的是,在处理器包括一个或多个ASIC(或其它处理设备)的实施例中,这些ASIC以硬件实现本文所述的一个或多个功能,可以省略在其它实施例中描述为对应于此类功能的软件。
用户接口1140可以包括用于与诸如管理员的用户进行通信的一个或多个设备。例如,用户接口1140可以包括用于接收用户命令的显示器、鼠标和键盘。在一些实施例中,用户接口1140可以包括可以经由通信接口1150呈现给远程终端的命令行界面或图形用户接口。
通信接口1150可以包括用于实现与其它硬件设备的通信的一个或多个设备。例如,通信接口1150可以包括被配置为根据以太网协议进行通信的网络接口卡(NIC)。例如,通信接口1150可以包括天线、连接器或两者等。另外,通信接口1150可以根据TCP/IP协议实现用于通信的TCP/IP栈。用于通信接口1150的各种替代或附加硬件或配置将是显而易见的。
存储设备1160可以包括一种或多种机器可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备或类似的存储介质。在各种实施例中,存储设备1160可以存储用于由处理器1120执行的指令或者可以由处理器1120操作的数据。例如,存储设备1160可以存储用于控制硬件1100的各种基本操作的基本操作系统1161。例如,存储设备可以存储指令1162以针对挑战与用户系统联合地盲化的加密用户身份,和/或指令1163以计算针对服务提供商的加密身份等。
显然,被描述为存储在存储设备1160中的各种信息可以被另外或替代地存储在存储器1130中。在这方面,存储器1130也可以被认为构成“存储设备”,并且存储设备1160可以被认为是“存储器”。各种其它布置将是显而易见的。此外,存储器1130和存储设备1160都可以被认为是“非瞬态机器可读介质”。如本文所使用的,术语“非瞬态”将被理解为排除瞬态信号但包括所有形式的存储设备,包括易失性和非易失性存储器。
虽然设备1100被示为包括每个所描述的部件中的一个,但是在各种实施例中可以复制各种部件。例如,处理器1120可以包括多个微处理器,这些微处理器被配置为独立地执行本文描述的方法或被配置为执行本文描述的方法的步骤或子例程,使得多个处理器协作以实现本文描述的功能。此外,在设备1100在云计算系统中实现的情况下,各种硬件部件可以属于单独的物理系统。例如,处理器1120可以包括第一服务器中的第一处理器和第二服务器中的第二处理器。
应当注意,上述实施例说明本发明而非限制,本领域的技术人员将能够设计出许多替代实施例。
在权利要求中,置于括号之间的任何参考标记不应被解释为限制权利要求。动词“包括”及其变体的使用不排除存在除了权利要求中陈述的元素或步骤之外的元素或步骤。元素前面的词语“一”或“一个”不排除存在多个这样的元素。在元素列表之前的诸如“至少一个”的表达表示从列表中选择所有元素或元素的任何子集。例如,表达“A、B和C中的至少一个”应理解为包括仅A、仅B、仅C、A和B两者、A和C两者、B和C两者或全部A、B和C。本发明可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实现。在列举了若干单元的设备权利要求中,这些单元中的若干单元可以由同一硬件项来体现。仅管在相互不同的从属权利要求中记载了特定措施,但是这并不表示不能有利地使用这些措施的组合。
在权利要求中,括号中的标号是指示例化实施例的附图中的附图标记或实施例的公式,从而增加了权利要求的可理解性。这些引用不应被解释为对权利要求的限制。

Claims (10)

1.一种认证系统(100;101;102),用于计算服务提供商的认证令牌以向所述服务提供商认证用户系统,所述认证系统包括:
存储设备,其存储:
加密用户身份(U)的第一份额
Figure FDA0003251883260000011
对应的用户系统存储所述加密用户身份的第二份额(210)
Figure FDA0003251883260000012
通信接口,其被配置为至少与所述用户系统进行通信,所述通信接口还被配置为接收与由所述服务提供商生成的挑战(e)相对应的挑战的第一份额(he),所述用户系统接收所述挑战(e)的第二份额;
处理器,其被配置为:
与所述用户系统联合对针对所述挑战(e)的所述加密用户身份进行盲化,经盲化的加密用户身份
Figure FDA0003251883260000013
是根据多个私有输入计算的,所述认证系统提供所述加密用户身份的所述第一份额
Figure FDA0003251883260000014
和所述挑战的所述第一份额(he)作为私有输入,所述用户系统提供所述加密用户身份的所述第二份额
Figure FDA0003251883260000015
和所述挑战的所述第二份额作为私有输入,其中,所述联合盲化是多方计算,所述认证系统获得所述经盲化的加密用户身份,
根据能够使用所述服务提供商的私钥和所述挑战(e)解密的所述经盲化的加密用户身份,计算针对所述服务提供商的加密身份。
2.根据前述权利要求中任一项所述的认证系统(102),所述认证系统包括助手服务器(180)和认证服务器(170),
所述助手服务器包括:
存储设备,其存储:
所述加密用户身份(U)的所述第一份额
Figure FDA0003251883260000016
通信接口,其被配置为接收经盲化的挑战,
处理器,其被配置为与所述用户系统联合对所述加密用户身份进行盲化,从而获得经盲化的加密用户身份,
认证服务器,其包括:
通信接口,其被配置为从所述助手服务器接收所述经盲化的加密用户身份,
处理器,其被布置为计算针对所述服务提供商的所述加密身份。
3.一种用户系统,包括第一用户设备(270)和第二用户设备(280),其中,
所述第一用户设备包括:
通信接口,其被布置为与所述服务提供商和所述认证系统进行通信,所述第一用户设备被布置为接收经盲化的挑战(he),以将所述经盲化的挑战转发给所述认证系统,并且被布置为接收所述加密身份。
所述第二用户设备包括:
存储设备,其存储所述加密用户身份的第二份额
Figure FDA0003251883260000021
以及
通信接口,其被布置为与所述服务提供商和所述认证系统进行通信,所述第二用户设备被布置为接收去盲化的挑战(e)并且被布置为联合地对所述加密身份进行盲化。
4.一种助手服务器,包括:
存储设备,其存储加密用户身份(U)的第一份额
Figure FDA0003251883260000022
对应的用户系统存储加所述密用户身份的第二份额
Figure FDA0003251883260000023
通信接口,其被配置为至少与所述用户系统进行通信,所述通信接口还被配置为接收与由服务提供商生成的挑战(e)相对应的经盲化的挑战(he;ge);
处理器,其被配置为:
与所述用户系统联合对针对所述挑战(e)的所述加密用户身份进行盲化,经盲化的加密用户身份
Figure FDA0003251883260000024
是根据多个私有输入计算的,所述助手服务器提供所述加密用户身份的所述第一份额
Figure FDA0003251883260000025
和所述经盲化的挑战(he)作为私有输入,所述用户系统提供所述加密用户身份的所述第二份额
Figure FDA0003251883260000026
和去盲化的挑战(e)作为私有输入,其中,所述联合盲化是多方计算,所述助手服务器获得所述经盲化的加密用户身份,
将所述经盲化的加密用户身份发送给认证服务器。
5.一种认证服务器,包括:
通信接口,其被配置为至少与助手系统和用户系统进行通信,所述通信接口被配置为接收经盲化的加密用户身份,所述经盲化的加密用户身份已经由所述助手服务器与所述用户系统联合计算出,
处理器,其被配置为根据能够使用所述服务提供商的私钥和挑战(e)解密的所述经盲化的加密用户身份来计算针对所述服务提供商的加密身份,并将所述加密身份发送到所述用户系统以用于向所述服务提供商进行认证。
6.一种服务提供商,其被配置为接受来自用户系统的认证令牌以进行认证,所述服务提供商包括:
存储设备,其存储私钥,
通信接口,其被配置为至少与所述用户系统进行通信,
处理器,其被配置为:
生成挑战(e)并计算与所述挑战(e)相对应的经盲化的挑战(he;ge),将所述挑战和所述经盲化的挑战发送到所述用户系统,
接收加密身份,
利用所述私钥对所述加密身份进行解密,并且利用所述挑战(e)进行去盲化。
7.一种第二用户设备,其用于计算服务提供商的认证令牌以向所述服务提供商认证用户系统,所述第二用户设备系统包括:
存储设备,其存储加密用户身份的第二份额
Figure FDA0003251883260000031
所述加密用户身份(U)的第一份额
Figure FDA0003251883260000032
被存储在认证系统处,
通信接口,其被配置为至少与所述服务提供商和所述认证系统进行通信,所述通信接口被配置为从所述服务提供商接收挑战(e),
处理器,其被配置为:
与所述认证系统联合对针对所述挑战(e)的所述加密用户身份进行盲化,经盲化的加密用户身份
Figure FDA0003251883260000041
是根据多个私有输入计算的,所述认证系统提供所述加密用户身份的所述第一份额
Figure FDA0003251883260000042
和经盲化的挑战(he)作为私有输入,所述用户系统提供所述加密用户身份的所述第二份额
Figure FDA0003251883260000043
和去盲化的挑战(e)作为私有输入,其中,所述联合盲化是多方计算,所述认证系统获得所述经盲化的加密用户身份。
8.一种用于认证系统的认证方法,其用于计算服务提供商的认证令牌以向所述服务提供商认证用户系统,所述认证方法包括:
存储:
加密用户身份(U)的第一份额
Figure FDA0003251883260000044
对应的用户系统存储所述加密用户身份的第二份额
Figure FDA0003251883260000045
至少与所述用户系统建立通信,并接收与由所述服务提供商生成的挑战(e)相对应的经盲化的挑战(he;ge);
与所述用户系统联合对针对所述挑战(e)的所述加密用户身份进行盲化,经盲化的加密用户身份
Figure FDA0003251883260000046
是根据多个私有输入计算的,所述认证系统提供所述加密用户身份的所述第一份额
Figure FDA0003251883260000047
和所述经盲化的挑战(he)作为私有输入,所述用户系统提供所述加密用户身份的所述第二份额
Figure FDA0003251883260000048
和去盲化的挑战(e)作为私有输入,其中,所述联合盲化是多方计算,因此获得所述经盲化的加密用户身份,
根据能够使用所述服务提供商的私钥和所述挑战(e)解密的经盲化的加密用户身份,计算针对所述服务提供商的加密身份。
9.一种用于计算服务提供商的认证令牌以向所述服务提供商认证用户系统的第二用户方法,所述第二用户设备方法包括:
存储加密用户身份的第二份额
Figure FDA0003251883260000049
所述加密用户身份(U)的第一份额
Figure FDA00032518832600000410
被存储在认证系统处,
至少与所述服务提供商和所述认证系统建立通信,所述通信接口被配置为从所述服务提供商接收挑战(e),
与所述认证系统联合对针对所述挑战(e)的所述加密用户身份进行盲化,经盲化的加密用户身份
Figure FDA0003251883260000051
是根据多个私有输入计算的,提供所述加密用户身份的所述第二份额
Figure FDA0003251883260000052
和去盲化的挑战(e)作为私有输入,所述认证系统提供所述加密用户身份的所述第一份额
Figure FDA0003251883260000053
和经盲化的挑战(he)作为私有输入,其中,所述联合盲化是多方计算,所述认证系统获得所述经盲化的加密用户身份。
10.一种瞬态或非瞬态计算机可读介质(1000),其包括表示使处理器系统执行根据权利要求15和/或16所述的方法的指令的数据(1020)。
CN202080019609.7A 2019-01-09 2020-01-03 具有减少攻击面的认证系统 Pending CN113545004A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19150995.9 2019-01-09
EP19150995.9A EP3681098A1 (en) 2019-01-09 2019-01-09 Authentication system with reduced attack surface
PCT/EP2020/050075 WO2020144110A1 (en) 2019-01-09 2020-01-03 Authentication system with reduced attack surface

Publications (1)

Publication Number Publication Date
CN113545004A true CN113545004A (zh) 2021-10-22

Family

ID=65010681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080019609.7A Pending CN113545004A (zh) 2019-01-09 2020-01-03 具有减少攻击面的认证系统

Country Status (4)

Country Link
US (1) US20220070009A1 (zh)
EP (2) EP3681098A1 (zh)
CN (1) CN113545004A (zh)
WO (1) WO2020144110A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496287B2 (en) * 2020-08-18 2022-11-08 Seagate Technology Llc Privacy preserving fully homomorphic encryption with circuit verification
US11575501B2 (en) 2020-09-24 2023-02-07 Seagate Technology Llc Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001272A1 (fr) * 2010-06-30 2012-01-05 France Telecom Procede d'authentification permettant de renforcer l'anonymat entre un fournisseur d'identites et un fournisseur de services
US20120084565A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Cryptographic device that binds an additional authentication factor to multiple identities
CN107968999A (zh) * 2016-10-18 2018-04-27 华为技术有限公司 一种隐私保护方法及相关设备
US20180234409A1 (en) * 2017-02-13 2018-08-16 Mark A. Nelson Privacy ensured brokered identity federation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001272A1 (fr) * 2010-06-30 2012-01-05 France Telecom Procede d'authentification permettant de renforcer l'anonymat entre un fournisseur d'identites et un fournisseur de services
US20120084565A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Cryptographic device that binds an additional authentication factor to multiple identities
CN107968999A (zh) * 2016-10-18 2018-04-27 华为技术有限公司 一种隐私保护方法及相关设备
US20180234409A1 (en) * 2017-02-13 2018-08-16 Mark A. Nelson Privacy ensured brokered identity federation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ERIC R. VERHEUL: "Privacy protection in electronic education basedon polymorphic pseudonymization", IACR EPRINT, pages 4 - 3 *

Also Published As

Publication number Publication date
EP3681098A1 (en) 2020-07-15
US20220070009A1 (en) 2022-03-03
WO2020144110A1 (en) 2020-07-16
EP3909197A1 (en) 2021-11-17

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
EP2639997B1 (en) Method and system for secure access of a first computer to a second computer
Das et al. A secure and efficient uniqueness-and-anonymity-preserving remote user authentication scheme for connected health care
EP2304636B1 (en) Mobile device assisted secure computer network communications
Jiang et al. A privacy enhanced authentication scheme for telecare medical information systems
US10797879B2 (en) Methods and systems to facilitate authentication of a user
Li et al. Applying biometrics to design three‐factor remote user authentication scheme with key agreement
Li et al. A secure chaotic maps and smart cards based password authentication and key agreement scheme with user anonymity for telecare medicine information systems
EP4066434B1 (en) Password-authenticated public key establishment
US10693638B1 (en) Protected cryptographic environment
JP2016502377A (ja) 安全計算を用いて安全性を提供する方法
GB2490483A (en) Digital signature method generating strong cryptographic parameter form weak security parameter.
KR20200107931A (ko) 멀티 포인트 인증을 위한 키 생성 및 보관을 위한 시스템 및 방법
US8397281B2 (en) Service assisted secret provisioning
Guo et al. Analysis and improvement of a robust smart card based-authentication scheme for multi-server architecture
Nagaraju et al. SecAuthn: Provably secure multi-factor authentication for the cloud computing systems
Das A secure and robust password-based remote user authentication scheme using smart cards for the integrated epr information system
Amintoosi et al. TAMA: three-factor authentication for multi-server architecture
KR102157695B1 (ko) 익명 디지털 아이덴티티 수립 방법
US20220070009A1 (en) Authentication system with reduced attack surface
US11170094B2 (en) System and method for securing a communication channel
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
Li et al. A simple and robust anonymous two‐factor authenticated key exchange protocol
US8543815B2 (en) Authentication method and related devices

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