CN112970236B - 协作风险感知认证 - Google Patents
协作风险感知认证 Download PDFInfo
- Publication number
- CN112970236B CN112970236B CN201980073561.5A CN201980073561A CN112970236B CN 112970236 B CN112970236 B CN 112970236B CN 201980073561 A CN201980073561 A CN 201980073561A CN 112970236 B CN112970236 B CN 112970236B
- Authority
- CN
- China
- Prior art keywords
- authentication
- token
- assurance
- shares
- level
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2111—Location-sensitive, e.g. geographical location, GPS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
Abstract
发起者装置可以将见证请求广播到一个或多个认证装置。然后,所述一个或多个认证装置可以从一系列保证级别中确定保证级别,并确定对应于所述保证级别的令牌份额。接着,所述发起者装置可以从所述一个或多个认证装置接收包括对应于所述保证级别的所述令牌份额的至少一个见证响应。所述发起者装置可以使用令牌份额集来生成认证令牌。然后,所述发起者装置可以将所述认证令牌传输到认证服务器,其中所述认证服务器验证所述认证令牌。
Description
优先权主张
本申请是国际专利申请,其要求2018年11月15日提交的第62/768,002号美国专利申请的提交日的权益,所述美国专利申请出于所有目的以全文引用的方式并入本文中。
背景技术
多因素认证(MFA)是一种通过使用多个证据建立用户身份来提高认证安全性的方法,通常归类为“你了解的事物、你拥有的事物和你所归属的事物”。存在许多MFA方案,其中最流行的是2因素认证(2FA)方案,用户不仅需要拥有正确的密码,还需要确认拥有经由某个预先建立的信道(例如,短消息服务(SMS)、智能手机推送通知、电子邮件)从认证服务器发送或经由预先建立的机制(例如硬件令牌、app)生成的质询码。
令人遗憾的是,将MFA从两个因素扩展到三个或更多个因素即使提高了安全性也会影响可用性,因为处理更多因素目前需要更多的用户交互。安全性与可用性之间的这种折衷是如今认证方法令人遗憾的一个特点。
本公开的实施例单独地以及共同地解决此问题和其它问题。
发明内容
本公开的实施例提供了用于实施协作风险感知认证的方法、设备和系统。
在本公开的一些实施例中,发起者装置可以将见证请求广播到一个或多个认证装置。然后,所述一个或多个认证装置可以从一系列保证级别中确定保证级别,并确定对应于所述保证级别的令牌份额。接着,所述发起者装置可以从所述一个或多个认证装置接收包括对应于所述保证级别的所述令牌份额的至少一个见证响应。所述发起者装置可以使用令牌份额集来生成认证令牌。然后,所述发起者装置可以将所述认证令牌传输到认证服务器,其中所述认证服务器验证所述认证令牌。
在本公开的其它实施例中,认证装置可以从发起者装置接收见证请求。然后,认证装置可以基于信任得分确定与发起者装置相关联的第一保证级别。可以从一系列保证级别中确定第一保证级别。认证装置随后可以获得对应于第一保证级别的令牌份额,然后将针对第一保证级别的令牌份额传输到发起者装置。
下文详细描述这些和其它实施例。例如,其它实施例涉及与本文所描述的方法相关联的系统、装置和计算机可读介质。
可参考以下详细描述和附图来更好地理解本公开的实施例的性质和优势。
附图说明
图1示出本公开的实施例与其它MFA和2FA方案的比较。
图2示出说明根据本公开的实施例的协作风险感知认证系统的框图。
图3示出根据本公开的实施例的高级架构。
图4示出根据本公开的实施例的由发起者装置接收的令牌份额。
图5示出说明根据本公开的实施例的发起者装置的框图。
图6示出说明根据本公开的实施例的认证装置的框图。
图7示出根据本公开的实施例的装置类别的图示。
图8示出说明根据本公开的实施例的认证方法的流程图。
图9示出根据本公开的实施例的装置的生命周期的图示。
图10示出说明根据本公开的实施例的认证令牌生成方法的流程图。
图11示出说明根据本公开的实施例的见证响应生成方法的流程图。
图12示出比较本公开的实施例与MFA和2FA方案之间的可用性和可部署性的表。
图13示出比较本公开的实施例与MFA和2FA方案之间的安全性的表。
图14示出根据本公开的实施例的安全性改进的图。
图15示出根据本公开的实施例的揭发者数目的影响的图。
图16示出根据本公开的实施例的信任计量精确度的影响的图。
图17示出根据本公开的实施例的信任传播的影响的图。
图18示出根据一些实施例的计算机系统的框图。
术语
在论述本公开的实施例之前,一些术语的描述可有助于理解本公开的实施例。
术语“服务器计算机”可以包括功能强大的计算机或计算机群集。举例来说,服务器计算机可以是大型主机、小型计算机群组或作为一个单元运作的一组计算机。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,且可以包括用于服务来自一个或多个其它计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。术语“计算机系统”通常可以指包括可耦合到一个或多个数据库的一个或多个服务器计算机的系统。
“存储器”可以是可以存储电子数据的任何合适的装置或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实现期望方法的指令。存储器的示例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
“处理器”可以包括任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。所述CPU可以是微处理器,例如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron);IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale;和/或类似处理器。
术语“密码密钥”(或简单的“密钥”)可以包括用于加密或解密的事物。例如,密码密钥可指两个大素数的乘积。密码密钥可用在例如RSA(Rivest、Shamir、Adleman)或AES(高级加密标准)的密码系统中,并且可用于加密明文且产生密文输出,或解密密文且产生明文输出。密码密钥可以是对称的,在这种情况下,同一密钥用于加密和解密,或不对称,在这种情况下,不同密钥用于加密和解密。
术语“明文”可以包括明文形式的文本。例如,这可指在无需任何处理的情况下可由人或计算机读取的文本,例如短语“你好,近来如何?”其还可指呈未加密形式的文本。数字或其它符号也可适合作为明文。
术语“密文”可以包括加密形式的文本。例如,这可指在人或计算机可读之前必须解密的文本。密文可通过任何数目的密码算法或例如RSA或AES的密码系统生成。
“用户装置”可以是由用户操作的装置。用户装置的示例可以包括移动手机、智能手机、个人数字助理(PDA)、膝上型计算机、台式计算机、服务器计算机、语音控制助理、例如汽车的车辆、精简客户端装置、平板PC等。另外,用户装置可以是任何类型的可穿戴技术装置,例如,手表、耳机、眼镜等。用户装置可以包括能够处理用户输入的一个或多个处理器。用户装置还可以包括用于接收用户输入的一个或多个输入传感器。如本领域已知的,有能够检测用户输入的各种输入传感器,例如加速度计、照相机、麦克风等。由输入传感器获得的用户输入可以来自各种数据输入类型,包括但不限于,音频数据、视觉数据或生物特征数据。用户装置可以包括用户可以操作的任何电子装置,所述电子装置还可以提供与网络的远程通信能力。远程通信能力的示例包括使用移动手机(无线)网络、无线数据网络(例如,3G、4G或类似网络)、Wi-Fi、Wi-Max,或可提供对例如互联网或专用网络等网络的访问的任何其它通信介质。
在一些实施例中,用户装置可以执行各种功能并且可以在过程中以不同卷操作。例如,用户装置可以是发起者装置和/或认证装置。例如,用户可以具有四个装置,包括用户装置、发起者装置和两个认证装置。
“发起者装置”可以包括可以发起过程的装置。在一些实施例中,发起者可以包括通过与其它装置协作而发起令牌生成的装置。发起者装置可以是用户装置。
“认证装置”可以包括能够进行认证的装置。在一些实施例中,认证装置可以是同意与发起者装置协作以计算认证令牌的装置。认证装置可以是用户装置。
“揭发者”可以包括在恶意装置上进行通知的实体和/或装置。在一些实施例中,揭发者可以包括可以直接观察恶意活动并且可以将关于恶意活动的信息散布到可能对恶意活动视而不见的其它装置的装置。
“认证服务器”可以包括能够进行认证的服务器。认证服务器可以由认证器操作,所述认证器可以包括能够进行认证的实体。在一些实施例中,认证器可以包括通过验证令牌来提供服务并针对服务认证用户的实体。
“信任得分”可以包括信任度的值。例如,信任得分可以显示装置对其相邻装置(即,直接通信范围内的装置)的信任度。信任得分可以基于观察到的其它装置的行为和/或其感知位置。每个装置都可以保持所述装置的所有相邻者的信任得分向量。信任得分可能并不代表一种特定交互,但它可以指示装置的行为和/或配置“正常”和“可靠”。
术语“保证级别”可以包括实体关于某事具有多少置信度的度量或指示。例如,保证级别可以是针对每个认证计算的值。保证级别可以取决于发起者装置的信任级别、认证的时间和位置、装置的认证历史、装置的用户偏好和/或发起者装置的位置。在一些实施例中,保证级别可以对应于满足某些认证策略要求。
“装置行为”可以包括装置的行为。在一些实施例中,可以通过第二装置和/或实体观察实时装置行为。装置行为可以包括例如分组数目、分组大小、源、目的地、加入或离开支付的决策、接近度等特征。
“认证行为”可以包括在认证期间的装置行为。在一些实施例中,认证行为可以包括在以往认证期间的行为。每个装置可以存储包括其相邻者在时间窗口内执行的认证行为的认证历史。认证行为可以包括例如认证时间和认证位置等特征。一般来说,许多特征可能使用大量存储装置,然而,在一些实施例中,装置可以存储来自每个发起者的见证请求的时间戳以限制存储在认证历史中的数据量。
“阈值密码法”可以包括可以阈值方式使用以减少对秘密密钥的曝光的密码方案。代替将秘密密钥存储在一个装置上,可以使秘密密钥分布于若干装置之间,使得执行密码操作至少需要阈值数目的秘密密钥。例如,可以通过使公钥签名方案的解密密钥分布于5个装置之间来保护所述解密密钥。如果阈值设置为2,则至少需要2个装置来使用解密密钥解密任何密文。
“秘密”可以包括作为密码过程的部分而隐藏的值或事物。密码过程的安全性可能依赖于只有很少几方知道所述秘密。例如,秘密可以是密码密钥。秘密的暴露可能允许既定方以外的各方对消息进行加密或解密。
“共享秘密”可以包括多方之间共享的秘密值或事物。例如,共享秘密可以是密码密钥,所述密码密钥被分割以使得多方各自拥有该密码密钥的一部分。例如,128位密码密钥可在8方当中分割,使得每方保持所述密码密钥中的16个位。
“秘密份额”可以包括从共享秘密导出的值。举例来说,秘密份额可以是秘密值的前12个位。秘密份额也可以是与某个数字进行二进制异或运算的秘密值。一些情况下,秘密份额可与数个其它秘密份额组合以便再生秘密。在一些实施例中,秘密份额可以是令牌份额。可以使用令牌份额来获得认证令牌。
具体实施方式
当前的认证技术面临着安全性与可用性的折衷。例如,双因素认证是以每轮都需要用户交互为代价提高安全性的一种方法。大多数2FA方法都束缚于用户的手机,如果手机不可用就会失败。本公开的实施例允许能够利用用户拥有的装置的无缝且风险感知的认证方法。
本公开的实施例通过使用阈值消息认证码(MAC)来提高安全性同时保持可用性。实施例还可以利用用户装置的知识,而不是需要用户知识和/或交互。使用本公开的实施例,可以由用户拥有的多个装置协作生成认证令牌。认证令牌可能伴有风险因素,所述风险因素向认证服务器指示认证令牌的可靠性。实施例可以利用1)用于装置的信任计量系统,以确定风险因素,以及2)阈值密码法,以保证没有单点失效。一些实施例不假设装置的任何安全元素或物理安全性。
以下各节更详细地描述用于执行协作风险感知认证的方法和系统。第I节介绍关于认证安全性的当前问题的实施例。第II节提供根据本公开的实施例的设计的概述,包括威胁模型、优点和方法。第III节描述相关工作。第IV节论述执行协作风险感知认证的系统。第V节描述协作风险感知认证方法。第VI节提供安全性分析。第VII节提供本公开的实施例的评估。第VIII节描述根据本公开的实施例的协作风险感知认证的示例应用。第IX节包括结论。第X节描述根据一些实施例的计算机系统。第XI节提供参考文献。
I.简介
物联网(IoT)的可用性和采用意味着用户在日常活动中拥有超过一个装置,并且经常有多个装置。根据2018年的一项最新研究[23],用户(美国)平均拥有4.4个装置,其中35.9%拥有六个或更多个装置(这一比例高于2017年的23.4%)。这些装置从智能手机、膝上型计算机、平板电脑、智能电视、游戏机、语音控制助理、联网汽车、电子阅读器、活动/健身跟踪器、智能手表到智能家居装置(冰箱、恒温器、摄像头)。通常每天使用的装置具有关于其用户的足够信息以协作地提供用户(数字)身份的证据。此外,多个装置允许通过消除任何单点失效来实现冗余。实施例提供用用户装置标识用户的新的无摩擦方式。图1示出了实施例(统称为协作风险感知认证(CoRA)的各种实施例)与其它MFA和2FA方案的视觉比较。
图1示出本公开的实施例与其它MFA和2FA方案的比较。增加因素数目可能会提高安全性,但是它可能会影响当今技术的可用性。例如,只有密码的认证系统最易于使用,但不安全。安全密码很难记住,因此在可用性方面排名较低。Yubikey提供更多可用性,但它有单点失效的缺点。本公开的实施例弥合了高度可用的无缝认证与高度安全的MFA之间的间隙。
在成功建立装置之间的接近度之后,无缝认证通过使各种装置彼此通信以交换所需信息(身份证据)而解决了MFA的可用性挑战。因此,与其将质询码从一个装置转移到另一装置,不如使装置彼此极为接近从而使过程自动化。现有无缝认证方案专注于两个因素,并通过将主装置(例如,膝上型计算机)与移动装置(例如,智能手机[6]、智能手表[20])配对来提供2FA安全性。采用这些无缝2FA方案的主要障碍是安全性和可用性。如果到移动装置或移动装置本身的预先建立的信道被破坏,则方案的安全性会降级到只有密码的认证的安全性。另一方面,如果移动装置不存在、断电或以其它方式不可用,则无缝2FA方案无法继续。
本公开的实施例可利用用户通常随身携带多个装置(例如,IoT装置)的事实。此外,IoT装置是联网的,并且能够直接或经由枢纽连接到互联网。因此,用户的IoT装置集合可以一起交换信息、测量上下文并认证用户,从而创建能在其上部署无缝MFA的理想平台。为此,本公开的实施例允许尽可能多的因素参与认证过程并产生高度可靠的身份。
有许多可用装置能充当无缝MFA认证器至少会带来三个挑战。首先,并非所有装置都始终可用,因此,CORA可以允许某些因素不存在,并且可以在所产生的身份中反映这种不存在。其次,可以假设一些装置将(物理地或虚拟地)被破坏,因此在一些实施例中,装置可能不会将所有秘密存储在任何单个装置中。第三,预期会有一些破坏,因此实施例可以排除此类被破坏装置参与认证过程。
另一个挑战是用户隐私。虽然如上所述,装置变动和装置破坏会影响验证过程的正确性和安全性,但此上下文中的隐私是指认证服务器在认证过程的每个实例期间所习得的关于用户的信息量。在一些实施例中,认证服务器无法学习超出建立高度保证性身份所需的任何信息。具体地,在IoT上下文中,用户可能希望将认证期间使用的装置集保持私有,例如,装置位置、装置状态等。这样做会增加认证方案的复杂性。实际上,如果不关心隐私,那么对于隐私侵入式MFA方案来说,每个装置传送密码证据(例如,基于与服务器共享的秘密密钥,每装置一个MAC)以供认证服务器计数的简单方案就足够了。此初始方案持续向服务器提供关于用户何时使用哪些装置的信息。本公开的实施例旨在消除这种隐私问题。
实施例可以在保护用户隐私的同时应对这些挑战。除了可以伴随认证令牌的保证级别之外,关于装置或用户的其它信息不会发送至认证服务器。在一些实施例中,装置可以使用接近度检查来标识附近存在的对等装置,应用异常检测以确定这些接近的对等装置中哪些是可信的,与可信装置一起参与一系列阈值MAC方案,并最终计算认证令牌,所述认证令牌捕获参与装置的数目(表示为密码阈值)、这些装置之间共享的信任(表示为保证级别)以及有关认证请求本身的信息(账户的用户名、所需的认证级别等)。因此,根据本公开的实施例的隐私保护认证方案扩展到任何数目的因素,提供风险信息,并保持无缝认证的可用性。
实施例可以提供以下改进,本文将进一步详细论述这些改进。如第IV.B节描述,风险感知阈值密码方案可以允许装置基于它在其它装置中的信任而决定是否参与分布式密码协议。在第IV节中,示出了如何在风险感知阈值密码方案之上构建多级别风险感知认证方法。在第VI和VII节中,对在存在各种物理和虚拟攻击者的情况下如何执行“可信装置网络”认证方法进行了评估。
此外,在第III节中论述了相关工作。在第VIII节中论述了本公开的实施例的示例应用。
II.设计
根据本公开的实施例的系统可以允许用户在由同一用户拥有和/或操作的其它用户装置的帮助下经由其任何用户装置认证到远程服务器(例如,认证服务器)。使用由同一用户拥有的都有助于认证任务的几个用户装置能同时提高安全性和可用性。在本节中,将解释CoRA多装置认证方案的威胁模型、目标和方法。
出于CoRA的目的,用户可以拥有在计算、安全性、感测和生物特征输入方面具有不同能力的一些数目N个用户装置。数目K∈[1,N]个用户装置可在任何给定时间可用于用户执行认证任务。例如,用户可以拥有五个装置,即膝上型计算机、智能手表、智能手机、智能汽车和智能冰箱,但在旅行时只有其中两个在手上(例如,手表和手机)。
A.威胁模型
可以假设,攻击者可以通过窃取用户装置并获取物理控制或通过利用装置软件或硬件中的漏洞来破坏用户装置而获得对用户装置的控制。当攻击者控制用户装置时,可以假设他们可以完全访问用户装置上的数据和代码。换句话说,他们可以使他们控制的用户装置拒绝参与认证任务、或以错误数据参与、或触发伪认证请求等。为简单起见,攻击者控制的装置将被称为恶意装置,而非恶意装置将被称为诚实装置。
如果攻击者可以认证为远程服务器的受害用户,而无需用户发起认证任务,则攻击者可为成功的。然而,本文将不论述胁迫和社会工程攻击下的认证。
可以假设用户的密码被破坏(对于任何MFA方案来说都是如此),并将重点放在保护除密码外也可用于认证的多个次要因素的目标上。攻击者知道密码,并且要么是控制用户装置的被破坏子集的远程攻击者要么是控制用户装置之间的通信信道的本地攻击者。可以假设攻击者不控制所有用户装置,否则由于攻击者知道密码并控制所有装置,就无法将它们与用户区分开来。
B.优点
本公开的实施例提供了若干个优点。例如,实施例能提高安全性、改进可用性、抗装置破坏以及加强隐私。本文将进一步详细描述这些优点。
1.提高安全性
提高安全性意味着攻击者成功的门槛更高,并且根据实施例,这意味着攻击者需要控制许多用户的装置以成功地将所述用户认证到认证服务器。这意味着随着用户拥有的用户装置的数目增加,CoRA认证的安全性保证可能更强。注意,严格增加可用于认证的装置数目不会增强安全性,而是会降低安全性,这是因为攻击面增加了(即,攻击者在决定破坏次要因素时有更多的用户装置可供选择)。换句话说,认证可用的装置数目的增加可以与认证所需的装置数目的增加相配合。此特性用以下等式示出,其中k是固定阈值,p是固定破坏概率,并且n是用户装置的数目。对于二项式分布,对于固定阈值k、固定破坏概率p(对于一个装置)和不断增加的装置数目n(假设装置破坏是iid(独立且相同分布)),安全性降低。
2.改进可用性
改进可用性意味着用户必须记住比现有方案更少的秘密,并且认证所需的交互限于发起认证任务。这至少排除了交互式2FA方案风格中的任何方法,其中用户必须手动输入在单独的用户装置(2FA信道)上接收的代码。
3.对装置破坏具有弹性
除了安全性和可用性之外,在一些实施例中,认证方案可以考虑用于认证的用户装置可能是恶意的这一事实。除认证证明外,认证服务器还可以接收风险信息。这与大多数现有的提供二进制结果(要么用户完全通过认证,要么用户没有通过认证)的认证方案形成对比。
4.隐私
消除认证任务风险的典型方法是收集关于用户、用户的装置及其环境的尽可能多的数据,将此数据发送至认证服务器,并使用某种形式的异常检测来触发次要升级认证发现引文,其中用户必须另外执行以证明其身份。除了可用性降低之外,基于上下文数据的升级认证还违反本公开的实施例的隐私目标。一个目标是将发送至认证服务器的信息量减到最少,以维护用户隐私。
隐私目标可以关于每个认证操作来定义。认证服务器可以学习参与操作的用户装置的数目和其相关联风险评估,但无法学习哪些用户装置参与,也无法学习关于其上下文的任何内容(例如,位置等)。一个重要的区别是,隐私目标适用于认证操作,但不适用于从系统中添加和删除用户装置的操作。可以假设,用户将其拥有的所有用户装置的列表暴露给认证服务器是合适的,这样认证服务器可以将接触其的任何用户装置标识为属于给定用户。
C.方法
在本公开的实施例中,认证服务器可以维持已知属于用户的用户装置的列表—这可以被称为注册用户装置集。每个用户装置都可以在认证服务器注册,并且可以与认证服务器共享密码秘密。另外,每个用户装置可以接收阈值密码方案的一个或多个实例的密码密钥份额。当删除用户装置(例如,由于使用寿命结束或由于盗窃)时,认证服务器和剩余用户装置可以生成并共享新的密码密钥。用户装置可以维持注册集中的每个对等用户装置的信任得分;信任得分可以使用成对用户装置之间的交互历史上的异常检测来计算。因此,用户装置可以相互验证其属于同一用户,可以参与阈值密码方案以共同计算密文,并且可以自行决定其注册的对等用户装置中的哪一个可以在任何给定时刻可信。
当用户尝试认证到认证服务器时,例如通过在Web浏览器中输入其密码,Web浏览器可以经由本地通信方案(例如,通过WebAuthn[24])连接到注册的用户装置中的一个。在认证操作的持续时间内被称为发起者装置的此用户装置可以发现极为接近的所有其它注册用户装置。本地可用的用户装置与发起者装置一起可以形成存在的用户装置的集。
此时,发起者装置可以向所有存在的用户装置发起针对认证令牌的联合计算的请求。接收请求的每个用户装置可以根据其对于发起者装置的自身信任得分和其对于其它存在的用户装置的自身信任得分来确定是否参与此联合计算。例如,如果总共有五个用户装置(包括发起者装置)存在,但发起者装置由两个其它用户装置所信任,则三个用户装置可以共同计算认证令牌。认证令牌可以反映参与其计算的用户装置的数目。
一旦发起者装置和参与用户装置计算认证令牌,发起者装置可以将认证令牌提供到Web浏览器,Web浏览器可以将认证令牌发送至认证服务器。现在,认证服务器具有关于用户身份的若干证据:在浏览器中输入的密码、发起者装置的装置身份,以及定义参与的用户装置的数目的认证令牌。然后可以使用这些项作出认证决策,例如处理请求、继续进行支付交易、允许访问安全系统和/或位置等。
III.相关工作
接下来,将论述各项相关工作以及每项相关工作的缺点。零交互认证(ZIA)最早由Corner等人[5]提出,旨在通过要求用户佩戴在短程上与膝上型计算机通信以证明接近度的额外装置来以无缝方式改进认证的安全性。随着智能手机的出现,大量的工作集中在利用智能手机上的可用资源和传感器实现ZIA的远程绑定技术上。本节将描述距离限定研究的概述。
Halevi等人[9]提出基于音频和光数据等环境传感器的安全接近度检测方案。PhoneAuth[6]使用手机与膝上型计算机之间的蓝牙通信来证明2FA的接近度。援救用无人机[17]提供纯粹的环境物理感测方法,以确保检验器和验证器的接近度从而防止重放攻击。Marforio等人[12]提出基于位置的验证方法,所述方法依赖于一些手机中可用的可信环境。隔音[11]通过同时在手机和膝上型计算机上录制音频并在手机上比较这两种音频来证明用户装置的接近度。虽然隔音是无缝、浏览器兼容且有效的,但只有当手机未被破坏时它才会保持安全[19]。监听手表[20]提出将两个装置中的记录角色和比较角色分开,并且还使音频对于服务器发送的代码更加具体。虽然这项工作可以防范远近攻击,但它仍容易使手机或手机与Web服务器之间的通信链接被破坏。由于手机的接受或拒绝消息不受手表响应的约束,因此被破坏手机只需验证与膝上型计算机(浏览器)处于同一位置即可。
虽然上述无缝2FA有助于提高可用性,但它们都依赖于一个信息源和一个装置,所述信息源和装置可以由分布式系统(例如,CoRA)代替,以改进安全性和可靠性。具体地,如果其它用户装置拒绝参与认证,则CoRA使发起者装置在密码法上无法计算优于一级的令牌。此外,先前工作明确或暗示地假设所有手机都有安全的环境,而事实并非总是如此。通过秘密共享秘密,CoRA允许灵活地选择具有足够计算能力的附近用户装置中的任一个,以即使在用户装置不具有安全元素的情况下也可以发起2FA,这对于大多数IoT装置来说会是这种情况。
[13]中的无摩擦认证系统还提出使用多个装置和阈值RSA签名来认证用户。本公开的实施例通过若干示例方式改进和增强其方法:(i)实施例能够使用阈值MAC(使用AES),这形成更有效且更广泛可用的实施方案;(ii)实施例引入多个保证级别,每个保证级别与不同的秘密共享密钥相关联;和(iii)实施例提供向系统添加新用户装置和级别的机制,这需要针对每个密码实例化仔细调整密钥生成和共享。
Truong等人[22;21]的工作调查了用于安全验证接近度的不同信道,并得出结论,如果攻击者不能同时破坏多个信道,则融合多个源将提高安全性。实施例可以通过使用在其硬件和软件上多样并且更难以同时破坏的多个用户装置来防范此类对手。
IV.系统架构
现在呈现了示例细节,并呈现了实施例的架构和主要组件。首先,将论述两种类型的密码方案的定义。然后,将描述本公开的实施例的系统以及高级架构。接着是对发起者装置和认证装置的描述。最后,将论述装置类别。
A.定义
将论述两种类型的密码方案:消息认证码(MAC)和数字签名。这两者均用于确认消息来自指定发送方。MAC可被视为数字签名的对称密钥(同一密钥或一个密钥)模拟。在MAC方案中,可以使用秘密密钥来认证消息。验证认证的消息也需要同一秘密密钥。另一方面,数字签名方案中有两个密钥:签名密钥和验证密钥。如名称所暗示的,签名密钥用于对消息进行签名,而验证密钥用于检查签名是否有效。安全MAC方案可以保证只有在知道秘密密钥的情况下消息才能被认证。数字签名可以提供类似的保证:只有在知道签名密钥的情况下才能对消息进行签名。
MAC和数字签名两者都在阈值设定中进行了研究。Naor等人[14]在1999年介绍了分布式伪随机函数(PRF)的概念。PRF是一种MAC,其中认证的消息看起来像随机字符串。它们以两种不同方式构造分布式PRF,首先基于认为决策Diffie-Hellman(DDH)假设所持的循环群组,然后基于任何标准PRF。这些构造具有极为不同的特性,并将在第IV.B节中详细论述。文献中对数字签名方案进行了更深入的研究。已经提出各种标准签名方案的阈值版本,比如数字签名方案(DSS)、RSA、Boneh-Lynn-Shacham(BLS)、椭圆曲线数字签名算法(ECDSA)等。RSA[16]和BLS[3]的阈值版本详见第IV.B节。
本公开的实施例可以使用这两个方案,因为它们的签名生成过程是非交互式的。给定消息的情况下,每个用户装置可以使用其签名密钥的份额生成有关消息的部分签名。这些部分签名随后可通过任何合适的装置(例如,发起者装置)组合—不需要与用户装置进一步交互,并且用户装置可能不需要彼此通信。
现在将描述非交互式阈值认证方案中的算法。通过使用更通用的术语,将针对阈值MAC和签名两者制定共同的定义。具体地,使用文字标记(即,认证令牌)代替MAC的认证消息且代替针对门限签名的签名。秘密密钥可以指门限签名方案的签名密钥。尽管下面的设置算法将产生单独的验证密钥,但是应理解,对于MAC,它与秘密密钥相同。
用于门限签名的非交互式方案可由四个算法组成:1)设置(Setup),2)生成部分令牌(GenPartTok),3)组合(Combine),和4)验证(Verify)。设置可以采用用户装置的数目n和阈值t作为输入,并且可以输出验证密钥和秘密密钥的n个份额的列表。生成部分令牌可以采用消息和其中一个秘密密钥份额作为输入,并且可以输出部分令牌。组合可以采用至少t个部分令牌作为输入,并且可以将它们组合以产生完整令牌。最后,验证可以采用验证密钥和完整令牌作为输入,并且可以在令牌有效的情况下输出1。
接下来,将论述阈值方案中的级别。如果阈值MAC方案具有阈值3,则至少需要3个用户装置来正确地认证消息。在某些情况下,比如本文所考虑的设置,这可能限制性太强,其中用户可能在一天中的某些时间拥有其全部用户装置之外的1个或2个用户装置。因此,为了使阈值方案更灵活,可以定义级别的概念。使用阈值密码法的系统可具有多个级别,每个级别与不同的阈值相关联。较低级别对应于较低阈值并且可以提供较低保证(因为需要存在较少数目的用户装置)。而较高级别可以涉及更多用户装置并且可以提供更较高保证。
从实施角度来看,每个级别可以是用对应阈值实例化的阈值方案的单独实例(即,单独密钥份额、验证密钥等)。在一些实施例中,系统设计者可以基于对需求的仔细研究来选择级别的数目和每个级别的阈值的值。在其它实施例中,使用系统的应用程序可以决定如何解释不同级别。例如,如果呈现级别1的MAC,支付应用程序可以允许最多5美元的转账。作为另一示例,数据传输应用程序可以允许以MAC的保证级别标记的数据的传输。
B.认证的阈值MAC
将论述四种不同的阈值认证机制。1)基于任何伪随机函数的阈值消息认证码(MAC)[14]。本公开的实施例可以使用AES。2)基于循环群组中的DDH假设的难度的阈值MAC[14]。3)因Shoup而形成的RSA的阈值版本[16]。4)基于Gap-Diffie-Hellman的难度的BLS签名的阈值版本[3]。
本公开的实施例可以分别使用AES-MAC、DDH-MAC、RSA-Sig和BLS-Sig作为它们的简称。这些方案中的每一个都有其优缺点,但如本文所述,AES-MAC最适合本公开的实施例。
认证机制中可使用令牌份额以及认证令牌。令牌份额可以是认证令牌的一部分。令牌份额可以从密钥份额确定。每个用户装置都可以存储密钥份额,用户装置可以使用密钥份额来确定令牌份额。在一些实施例中,每个用户装置可以存储多于一个密钥份额。每个存储的密钥份额可以对应于保证级别,因此从密钥份额导出的令牌份额也可以对应于保证级别。在一些实施例中,令牌份额可以是从待签名数据和密钥份额导出的认证令牌的一部分。
第一认证机制可以是AES-MAC。Naor等人[14]提出基于任何伪随机函数(PRF)的简单阈值MAC构造。PRF可以是键控函数,其输出在不了解密钥的情况下是无法预测的。设f为PRF,n为装置的总数目且t为阈值。可以将n个装置的集分为大小为n-t+1的子集,并且PRF密钥可以与它们中的每一个相关联。设U表示个密钥的整个集合。U可为主秘密。可以针对装置所属的所有子集为装置提供密钥,因此每个装置都可以获得/>个密钥。换句话说,装置的密钥份额可以由/>个PRF密钥的集定义。
有关消息m的MAC可定义为所有fk(m)的异或运算,其中k∈U。为了计算MAC,可以将m发送至n个装置中的任何t个装置。设S表示t个装置的集。S中的每个装置可以用其拥有的每个PRF密钥对有关m的f求值,并将所有求值发回。应注意,大小n-t+1的每个子集可以与S交集,因此对于任何k∈U,S中至少有一个装置具有k。因此,根据发回的求值,可以消除重复项并对其余项进行异或运算以获得MAC。
现在,考虑t-1个装置的任何子集S′。可存在不与S′交集的大小n-t+1的至少一个子集。所以在U中至少有一个密钥,即k*,是S′中没有一个装置知道的。结果,S′无法预测fk*(m)的输出,且因此无法计算有关m的MAC。装置可以使用AES在上述构造中示例化PRFf。它可以具有128位的固定块大小,即,输入和输出为128位。取决于所需的安全性级别,密钥大小可以是例如128、192或256位。
第二认证机制可以是DDH-MAC。Naor等人基于决策Diffie-Hellman(DDH)问题的难度提出另一阈值MAC构造。设p为大素数且为小于p的非负整数集。设G为其中DDH被广泛认为是难的阶群组p,例如有限域上的椭圆曲线群组。可以选择来自/>的随机数s作为主秘密,并使用Shamir秘密共享方案[25]将其分成n个份额s1,...,sn,每个装置一个份额。该共享方案具有这样的性质:如果可用的份额少于t,则s无法恢复。要计算关于消息m的部分MAC,装置散列m以获得群组元素h并将h提升到si(G中的求幂运算)。可以使用拉格朗日插值组合部分求值,拉格朗日插值涉及t个求幂运算。最终MAC可以是hs。
第三认证机制可以是RSA-Sig。Shoup[16]给出第一个非交互式阈值RSA签名。他的方案与常规RSA的设置方式相同。通过使用Shamir秘密共享,秘密密钥以与先前方案相同的方式分布在装置之间。计算部分签名涉及一个模块化求幂运算,而组合部分值需要个t+2求幂运算。
第四认证机制可以是BLS-Sig。Boldyreva[3]提出一种简单的方法来设置BLS签名的阈值。构造与上述DDH-MAC非常相似,但安全性现在依赖于Gap-Diffie-Hellman问题的难度。对于主密钥s,验证密钥是gs,其中g是G的生成器。为了验证关于m的签名σ,可以检查(h,gs,σ)是否是有效的DDH元组,即是否σ=hs,其中h是m的散列。
基于计算开销(对于生成令牌份额和对于组合份额)、存储和传送开销(对于密钥份额、对于令牌份额和对于令牌)以及安全性特性(容易添加新的装置、防止认证服务器破坏的安全性)对这些方案进行比较。这些度量中的每一个取决于方案的安全性参数。对于128位安全性,NIST[2]和ECRYPT-CSA[32]建议AES密钥大小为128位,RSA为3072位,ECC(椭圆曲线密码法)为256位,其可用于DDH-MAC和BLS-Sig。我们将假设装置的最大数目为六,因为很大比例的群体拥有六个或更少的装置[23]。DDH-MAC和BLS-Sig都可以素数阶的椭圆曲线群组进行示例化。具体而言,使用曲线secp256k1[26]。下表1提供了四个方案的求值汇总。在表1中,验证器破坏的值是意味着当认证服务器被破坏时,方案是不安全的。此外,在配备2.9GHz Intel Core i7处理器和16GB内存的MacBook Pro笔记本电脑上,测量了阈值MAC与签名计算时间的比较。
表1(*AES-MAC的组合份额运算仅涉及消除重复项并进行异或运算,因此与其它认证机制相比,所花费的时间可忽略不计。)
可以针对固定级别根据以下度量来评估四个方案。1)密钥份额的大小:这是需要持续存储在每个用户装置上的秘密数据量。2)令牌份额的大小:这是每个用户装置将发送给发起者装置的数据量。3)完整令牌的大小:这是发起者装置将发送给验证器(即,认证服务器)的数据量。4)计算部分令牌的时间:这是每个用户装置计算令牌份额所花费的时间。5)组合部分令牌的时间:这是发起者装置用于组合令牌份额并计算完整令牌(即,认证令牌)所花费的时间。6)添加装置:此度解释了添加新用户装置并授予其密钥份额的简单程度和可扩展程度。7)防止验证器破坏的安全性。
接下来,将针对阈值认证机制论述上述七个度量。
密钥份额.RSA的密钥份额大小可以为3072位,而DDH-MAC和BLS-Sig可以为256位。AES-MAC的密钥份额大小可以是AES密钥大小的倍,最多1280位。因此,即使在最坏的情况下,AES-MAC也比基于ECC的方案贵一点点,并且比RSA-Sig更好。
令牌份额.令牌份额大小可类似于所有阈值认证方案的密钥份额大小(点压缩可用于ECC[27],AES块大小可为128位)。
完整标记.虽然完整令牌大小类似于DDH-MAC、RSA-Sig和BLS-Sig的令牌份额大小,但对于AES-MAC,令牌大小要小得多—128位,因为最终令牌是AES输出的异或运算。
生成份额.回想一下,在AES-MAC中,装置对其拥有的每个PRF密钥进行PRF求值。因此,它进行次AES求值。在n≤6的情况下,在t=3或4时,l的最大值可为10。另一方面,所有其它方案都要求对令牌份额生成进行求幂运算。RSA-Sig需要在复合阶整数群组中进行求幂运算,且DDH-MAC和BLS-Sig需要在椭圆曲线群组中进行求幂运算(在本文描述的实例化下),这比AES求值慢100倍以上。因此,即使AES-MAC对AES进行10次求值,生成令牌份额仍然比其它方案快得多。
组合份额.对于AES-MAC,组合份额非常简单:消除重复份额并对其余份额进行异或运算即可,而DDH-MAC、RSA-Sig和BLS-Sig需要对阈值大小进行线性求幂运算。例如,装置可以从令牌份额集中删除重复令牌份额,然后对所述令牌份额集中的剩余令牌份额进行异或运算以确定认证令牌。具体而言,DDH-MAC和BLS-Sig需要t次求幂运算,而RSA-Sig需要t+2次。这三种方案还进行其它群组运算,但求幂运算占据主导地位。因此,AES-MAC在此方面远胜于其它方案。使用t=3来报告上表1中的组合时间。可以选择t=3,因为三是中间阈值;这对于AES-MAC是最坏情况;且其它方案仅在较高阈值下表现较差。
添加装置.要添加新用户装置,需要生成主秘密的份额。对于对称密钥认证(MAC),验证器将具有主秘密,并且可以帮助添加新用户装置。另一方面,对于不对称认证(签名),注册的用户装置本身将帮助新用户装置获得主秘密的份额。这需要使用更先进的工具,如安全的多方计算。至少t个用户装置必须同时在线,并且在几轮中彼此通信[30]。
认证器破坏.虽然对称认证可以容易地添加新用户装置,但它可以使实施例容易受到验证器破坏的影响。例如,如果认证服务器被恶意方破坏,则可能发生验证器破坏。
C.秘密份额
在一些实施例中,令牌份额可以基于秘密共享系统或从秘密共享系统导出。秘密共享系统可以是n分之m秘密共享系统。在此类系统中,秘密份额总数目n中的m个秘密份额(即,令牌份额)的任何集合可足以生成或重新创建共享秘密(即,认证令牌)。这些秘密份额可从共享秘密(或“秘密”)导出,例如密钥份额,并且可对用户装置网络中的其它装置隐藏不见。
一个秘密共享方法是Shamir的秘密共享。在Shamir的秘密共享中,共享秘密被编码为多项式P(x)中的系数,通常是零阶系数P(O)。多项式的次数(比系数数目少一,或是多项式中的最大幂指数)等于值m-1。多项式的系数可随机或通过其它合适的方法生成。n个支持装置中的每个支持装置可被给予多项式的一个或多个取样值作为其秘密份额。例如,在5个装置的群组中,可为第一装置提供P(1)和P(2),为第二装置提供P(3)和P(4),依此类推,直到为第5装置提供P(9)和P(10)。这可使用任何合适的安全预配系统来实现。例如,受信任外部服务器可与用户装置网络中的每个支持装置执行Diffie-Hellman密钥交换。接着,受信任外部服务器可将秘密份额传输到其对应的装置。
假设m小于n,给定m个秘密份额,有可能重建多项式P(x)。这是因为m个唯一点唯一地定义具有次数m-1的多项式。有可能通过多项式插值法形式,例如使用拉格朗日多项式(Lagrange Polynomial),来重建多项式。
一旦构建多项式,值P(O)就可被确定并且用作密码过程的部分。例如,值P(O)可由加密装置用作密码密钥。或者,秘密份额和共享秘密可用作更复杂的操作的部分,使得其值被掩盖。代替重建P(O),可重建从P(O)导出或与之相关联的值。此外,所生成的值通常与密码临时数相关联,所述密码临时数即单次随机生成的值。以此方式,共享秘密仍被隐藏,但从所述共享秘密导出的值可始终由加密和解密装置生成。因此,所述值可用作对称加密密钥或用于导出对称加密密钥,从而使加密装置能够产生认证密码并且使解密装置能够解密所述认证密码。
Shamir的秘密共享是用于分配秘密份额以使得可重建共享秘密的许多方法中的一个方法。存在许多其它此类方法,而上文描述仅在于作为非限制性示例。更多细节参见第PCT/US2018/025089号PCT申请,其以全文引用的方式并入本文用于所有目的。
D.系统概述
图2示出根据本公开的一些实施例的包括多个组件的系统200的框图。系统200包括第一认证装置210到第N认证装置212、发起者装置220、用户装置230和认证服务器240。
第一认证装置210可以与第N认证装置212可操作地通信。在一些实施例中,可以存在任何合适数目的认证装置,例如3个、4个、5个、10个等。每个认证装置可以彼此可操作地通信。
发起者装置220可以与每个认证装置(例如,第一认证装置210和第N认证装置212)以及用户装置230可操作地通信。在一些实施例中,发起者装置220可以与认证服务器240可操作地通信。用户装置230可以与发起者装置220以及认证服务器240可操作地通信。
图2中所示的实体、提供商、网络与装置之间的消息可利用安全通信协议使用通信网络来传输,所述安全通信协议例如但不限于:文件传输协议(FTP);超文本传输协议(HTTP);安全超文本传输协议(HTTPS)、安全套接层(SSL)、ISO(例如,ISO 8583)等。通信网络可以包括任何合适的通信介质。通信网络可以是以下各项中的一个和/或它们的组合:直接互连;互联网;局域网(LAN);城域网(MAN);将任务作为互联网上的节点进行操作(OMNI);安全的自定义连接;广域网(WAN);无线网络(例如,采用例如但不限于无线应用协议(WAP)、I-模式等协议)等。
第一认证装置210、第N认证装置212、发起者装置220和用户装置230都可以是用户装置,因为它们是用户拥有和/或操作的。这些装置(即,第一认证装置210、第N认证装置212、发起者装置220和用户装置230)可以包括电子装置,例如膝上型计算机、台式计算机、语音控制助理、智能手机、智能手表、智能汽车、智能电视、视频游戏控制台等。在一些实施例中,用户装置230可以是发起者装置220。
例如,用户装置230可以是用户可以操作以与认证服务器240通信的膝上型计算机。发起者装置220可以是可以与发起者装置220通信(例如,蓝牙通信)的用户的智能手机。第一认证装置210和第N认证装置212可以分别是智能电视和语音控制助理。
认证服务器240可以是服务器计算机。在步骤1,认证服务器240可以被配置成从用户装置230接收凭证,例如用户名和密码。在步骤2,认证服务器240还可被配置成生成质询请求并将其传输到用户装置230。在一些实施例中,质询请求可以针对用户请求凭证之外的额外认证。在步骤7,认证服务器240还可被配置成接收和验证认证令牌。
用户装置230可以被配置成从用户接收凭证,然后在步骤1将凭证传输到认证服务器240。用户装置230还可被配置成在步骤2从认证服务器240接收质询请求,且在步骤3将质询请求转发到发起者装置220。
在步骤3,发起者装置220可以被配置成接收质询请求以及生成见证请求。在一些实施例中,见证请求可以包括对令牌份额的请求。在步骤4,发起者装置220可以将见证请求广播到一个或多个认证装置(即,第一认证装置210和第N认证装置212)。发起者装置220还可被配置成在步骤5从一个或多个认证装置接收包括令牌份额和保证级别的至少一个见证响应。通常,发起者装置220可以从一个或多个认证装置中的每一个接收见证响应。然而,由于许多原因,例如连接中断、认证装置断电等,发起者装置220可能不会从认证装置接收见证响应。每个见证响应可以包括不止一个令牌份额,其中每个令牌份额对应于唯一的保证级别。例如,见证响应可以包括三个令牌份额,三个令牌份额中的每一个对应于不同的保证级别。
发起者装置220可进一步被配置成确定最高保证级别,且可根据接收的最高保证级别的令牌份额生成认证令牌。发起者装置220还可被配置成在步骤6和7将认证令牌经由用户装置230传输到认证服务器240。在一些实施例中,发起者装置220可以被配置成将认证令牌直接传输到认证服务器240。
第一认证装置210可以被配置成在步骤4从发起者装置220接收见证请求。第一认证装置210还可被配置成基于信任得分确定与发起者装置相关联的保证级别。第一认证装置210还可被配置成获得对应于第一保证级别的令牌份额以及当存在低于第一保证级别的保证级别时获得对应于较低保证级别的任何其它令牌份额,然后在步骤5将令牌份额传输到发起者装置220。
第N认证装置212可以与第一认证装置相似。在一些实施例中,第N认证装置212可以被配置成执行与第一认证装置210类似的功能。
E.示例用法
图3示出用于实施本公开的实施例的装置的示例集。图3示出包括多个组件的系统300。系统300包括智能手表310、语音控制助理320、智能电视330、智能手机340、膝上型计算机350和认证服务器360。智能手表310、语音控制助理320和智能电视330可以是认证装置。智能手机340可以是发起者装置。膝上型计算机350可以是用户装置。
用户可以在膝上型计算机350的浏览器中输入他们的凭证(例如,用户名和密码)。在步骤1,膝上型计算机350可以将凭证传输到认证服务器360。认证服务器360可以确定凭证是否有效。如果认证服务器360可以验证凭证,则在步骤2,认证服务器360可以将MFA质询(即,质询请求)发送至膝上型计算机350。
在步骤3,在接收到质询请求之后,膝上型计算机350可以将质询请求发送至智能手机340(或任何其它当前用户装置)。在步骤4,智能手机340可以通过将见证请求消息发送至极为接近(例如,10英尺、20英尺、50英尺、200英尺等,这可以取决于用于传输见证请求的通信信道)的用户装置来发起与一个或多个认证装置的通信。如果用户装置(例如,智能手表310、语音控制助理320和智能电视330)信任智能手机340(如使用信任得分确定)并且确定智能手机340接近,则认证装置可以与智能手机340协作以针对质询生成MAC(例如,认证令牌)。在步骤5,智能手表310、语音控制助理320和智能电视330可以将令牌份额传输到智能手机340。
在智能手机340生成认证令牌之后,在步骤6,智能手机340可以将认证令牌以及对应的保证级别传输到膝上型计算机350和/或认证服务器360。在接收到认证令牌后,认证服务器360可以验证认证令牌,并且可以确定用户是否可以被认证。
图4示出发起者装置400接收的令牌份额。发起者装置400可以是智能手机340。智能手机340可以从分别标记为认证装置1、认证装置2和认证装置3的例如智能手表310、语音控制助理320和智能电视330的认证装置接收令牌份额。智能手机340接收的每个令牌份额可以与保证级别相关联。所示的令牌份额可以例如存储在存储器或其它合适的存储组件中。
在上文所描述的图3的步骤5期间,智能手机340可以从认证装置接收令牌份额。图4描绘了智能手机340接收的令牌份额。智能手机340可以从认证装置1接收四个令牌份额,包括对应于保证级别4、保证级别3、保证级别2和保证级别1中的每一个的令牌份额。智能手机340可以从认证装置2接收三个令牌份额,包括对应于保证级别3、保证级别2和保证级别1中的每一个的令牌份额。智能手机340还可以从认证装置3接收两个令牌份额,包括对应于保证级别2的令牌份额和对应于保证级别1的令牌份额。
为了确定针对特定保证级别的认证令牌,智能手机340可以确定是否存在对应于特定保证级别的至少阈值数目的令牌份额。例如,对应于保证级别4的令牌份额的阈值数目可等于6,对应于保证级别3的令牌份额的阈值数目可等于5,对应于保证级别2的令牌份额的阈值数目可等于3,对应于保证级别1的令牌份额的阈值数目可等于1。每个保证级别可以对应于令牌份额的任何合适阈值数目。
智能手机340可确定其未持有针对保证级别4的至少6个令牌份额。然后,智能手机340可以确定其未持有针对保证级别3的至少5个令牌份额。然后,智能手机340可以确定其持有针对保证级别2的至少3个令牌份额。然后,智能手机340可以使用本文描述的任何合适的方法来组合对应于保证级别2的三个令牌份额。在本示例中,描述了令牌份额的阈值数目,但是应理解,可以确定令牌份额的量并将其与令牌份额的阈值量进行比较,如本文进一步详细描述。
F.发起者装置
图5示出根据本公开的实施例的发起者装置500。示例性发起者装置500可以包括处理器502。处理器502可以耦合到存储器504、输出元件506、输入元件508、网络接口510和计算机可读介质512。计算机可读介质512可以包括保证级别模块512A和认证令牌模块512B。在一些实施例中,计算机可读介质512还可以包括信任得分模块,其可以类似于下文进一步详细描述的信任得分模块612A。
存储器504可以是能够存储数据、信息和/或代码的任何合适的存储器。存储器504可以存储密钥份额、令牌份额和/或信任得分。存储器504可以是安全存储器。密钥份额、令牌份额和信任得分可以使用本文描述的任何合适方法来确定,例如分别使用保证级别模块512A、认证令牌模块512B和信任得分模块。
一个或多个输出元件506可以包括可以输出数据的任何合适的装置。输出元件506的示例可以包括显示屏、扬声器和数据传输装置。
一个或多个输入元件508可以包括能够将数据输入到发起者装置500中的任何合适的装置。输入装置的示例包括按钮、触摸屏、触摸板、麦克风等。
计算机可读介质512可以包括可由处理器502执行以实施方法的代码,所述方法包括:由发起者装置将见证请求广播到一个或多个认证装置,其中所述一个或多个认证装置从一系列保证级别中确定保证级别,并确定对应于所述保证级别的令牌份额;由发起者装置从一个或多个认证装置接收包括对应于所述保证级别的令牌份额的至少一个见证响应;由发起者装置使用令牌份额集来生成认证令牌;以及由发起者装置将认证令牌传输到认证服务器,其中认证服务器验证所述认证令牌。
保证级别模块512A可以包括可由处理器502执行以确定保证级别的代码或软件。例如,保证级别模块512A可以基于信任得分、认证时间、认证位置、认证历史、用户偏好、令牌份额等来确定保证级别。保证级别模块512A可以确定一系列保证级别中的最高保证级别。所述一系列保证级别可以与从认证装置接收的令牌份额集相关联。保证级别模块可以确定至少包括阈值数目的令牌份额的最高保证级别。
在一些实施例中,保证级别模块512A可以通过将先前确定的第一量与阈值量进行比较来确定与至少包括阈值量的令牌份额的令牌份额集相关联的一系列保证级别中的第一保证级别。可通过对令牌份额集的权重求和来确定令牌份额的第一量。在一些实施例中,权重的更高值可以指示令牌份额更安全。
每个令牌份额可以与保证级别相关联。在一些实施例中,发起者装置500可以接收包括令牌份额和保证级别的数据项。数据项可以包括两个数据字段,即包括令牌份额的一个数据字段和包括对应保证级别的第二数据字段。
例如,一系列保证级别可以包括五个保证级别(例如,保证级别1、保证级别2和保证级别3)。保证级别模块512A可以确定发起者装置500持有令牌份额集中的七个令牌份额。五个令牌份额可以包括保证级别3的一个令牌份额、保证级别2的三个令牌份额和保证级别1的三个令牌份额。如果保证级别3的令牌份额的阈值数目等于两个令牌份额,则保证级别模块512A可以确定发起者装置500在保证级别3没有足够的令牌份额来创建保证级别3的认证令牌。然后,保证级别模块512A可以评估下一保证级别(例如,保证级别2)。如果保证级别3的令牌份额的阈值数目等于两个令牌份额,则保证级别模块512A可以确定发起者装置500在保证级别2具有足够的令牌份额来创建保证级别2的认证令牌。保证级别模块512A可以确定最高保证级别是保证级别2。
认证令牌模块512B可以包括可由处理器502执行以生成认证令牌的代码或软件。认证令牌模块512B能够使用从一个或多个认证装置接收的与最高保证级别相关联的令牌份额集来生成认证令牌。
网络接口510可以包括可以允许发起者装置500与外部计算机通信的接口。网络接口510可以使得发起者装置500能够将数据传送至另一装置(例如,用户装置、认证装置、认证服务器等)以及从另一装置传送数据。网络接口510的一些示例可以包括调制解调器、物理网络接口(例如以太网卡或其它网络接口卡(NIC))、虚拟网络接口、通信端口、个人计算机存储卡国际协会(PCMCIA)插槽和卡等。由网络接口510启用的无线协议可以包括Wi-FiTM。经由网络接口510传输的数据可以呈信号的形式,所述信号可以是电学、电磁、光学或能够由外部通信接口接收的任何其它信号(统称为“电子信号”或“电子消息”)。可以包括数据或指令的这些电子消息可以经由通信路径或信道在网络接口510与其它装置之间提供。如上所述,可以使用任何合适的通信路径或信道,例如电线或电缆、光纤、手机线、蜂窝链路、射频(RF)链路、WAN或LAN网络、互联网或任何其它合适的介质。
G.认证装置
图6示出根据本公开的实施例的认证装置600。示例性认证装置600可以包括处理器602。处理器602可以耦合到存储器604、输出元件606、输入元件608、网络接口610和计算机可读介质612。计算机可读介质612可以包括信任得分模块612A、保证级别模块612B和令牌份额模块612C。
存储器604可以是能够存储数据、信息和/或代码的任何合适的存储器。存储器604可以存储密钥份额、令牌份额和/或信任得分。存储器604可以是安全存储器。
一个或多个输出元件606可以类似于一个或多个输出元件506,一个或多个输入元件608可以类似于一个或多个输入元件508,并且网络接口510可以类似于网络接口510,在此将不再重复。
计算机可读介质612可以包括可由处理器602执行以实施方法的代码,所述方法包括:由认证装置从发起者装置接收见证请求;由认证装置基于信任得分确定与发起者装置相关联的第一保证级别,所述第一保证级别从一系列保证级别中确定;由认证装置获得对应于第一保证级别的令牌份额;以及由认证装置将针对第一保证级别的令牌份额传输到发起者装置。
信任得分模块612A可以包括可由处理器602执行以确定信任得分的代码或软件。信任得分模块612A可以基于由认证装置600在本地观察到的特征、从其它装置接收的数据和/或由其它装置接收的信任得分来确定(认证装置600的)信任得分。例如,认证装置600可以从其它装置接收数据,例如,网络数据,其可以包括数据传输速率(例如,在例如1秒、2秒、5秒等时间窗口上的kb/s)、数据接收速率、数据分组平均大小、源地址、域名系统(DNS)信息、IP地址、主机名、信号强度数据、Wi-Fi连接数据等。信任得分模块612A还可以基于数据和/或例如支付历史(例如,装置执行支付的频率、商家信息、交易金额等)、装置配置(例如,软件版本、安全元素数据等)、先前密码阈值数据(例如,过去成功和/或不成功交互的记录、装置参与认证的频率记录等)以及从系统中其它装置接收的信任得分等特征来确定信任得分。在一些实施例中,信任得分模块612A可以使用机器学习算法,例如决策树、神经网络和回归(例如,逻辑或线性)来确定信任得分。例如,决策树可以基于前述网络数据以及任何其它合适的数据来确定决策。在一些实施例中,在确定信任得分时,例如传输速率之类的一些特征在机器学习模型中的权重可能大于例如IP地址之类的其它特征。
网络数据可能影响信任得分。例如,如果网络数据指示发起者装置具有远高于平均传输速率的传输速率(例如,发起者装置传输的数据比其它装置多3至10倍),则信任得分模块612A可以确定发起者装置的信任得分较低(即,其可信度较低)。作为另一示例,如果网络数据指示发起者装置具有低数据接收速率,则信任得分模块612A可以确定较低的信任得分,因为发起者装置未从其它装置接收消息。例如,这可以指示其它装置不信任发起者装置。
此外,如果网络数据指示发起者装置正在传输与平均数据分组大小大致相同大小的数据分组,则信任得分模块612A可以确定发起者装置的信任得分较高(即,其可信度较高)。
作为又一示例,如果发起者装置具有包括在黑名单上的IP地址、主机名、域名系统信息和/或源地址,则信任得分模块612A可以确定小的信任得分。例如,信任得分模块612A可以将发起者装置的IP地址与存储的黑名单上包括的多个IP地址进行比较。如果发起者的IP地址与存储的黑名单上包括的IP地址匹配,则信任得分模块612A可以确定针对发起者装置的低信任得分(例如,0)。
信任得分模块612A可以基于信号强度数据确定信任得分。例如,如果信号强度数据指示认证装置600与发起者装置之间的低信号强度,则信任得分模块612A可以确定低信任得分。相反,如果信号强度数据指示两个装置之间的强信号,则信任得分模块可以确定较高信任得分。另外,在一些实施例中,如果网络数据指示认证装置600可经由Wi-Fi连接而连接发起者装置,则信任得分模块612A可确定较高信任得分。在一些实施例中,信任得分模块612A可以使用本文描述的方法的组合来确定信任得分。
例如,在一些实施例中,信任得分模块612A可以使用[7,15]中描述的分布式入侵检测技术来确定信任得分。
在一些实施例中,信任得分模块612A可以确定一个或多个信任得分,其中每个信任得分对应于网络中的不同装置(例如,用户装置)。例如,一个或多个信任得分基于由Eigen-Trust建立的过渡性信任,如[10]中所述。
信任得分模块612A可以输出信任得分。信任得分可用作保证级别模块612B的输入,其中认证装置600可确定认证装置600将在认证过程期间参与的保证级别。
保证级别模块612B可以包括可由处理器602执行以确定保证级别的代码或软件。保证级别模块612B可以类似于保证级别模块512A。例如,保证级别模块612B可以基于信任得分、认证时间、认证位置、认证历史、用户偏好等来确定保证级别。保证级别模块612B可以基于信任得分确定第一保证级别。第一保证级别可以是认证装置600确定参与的最高保证级别。信任得分可以是与发起者装置相关联的信任得分。如本文所述,可以从一系列保证级别中确定第一保证级别。
在一些实施例中,可以基于发起者的信任得分以及从认证装置600的角度基于发起者装置的接近度(即,距其的距离)来确定保证级别。接近度可以包括在接近度数据中。例如,如果认证装置600确定IP地址(或其它合适的数据项,例如GPS位置)指示发起者装置远离认证装置600(例如,在不同国家),则保证级别可以低于认证装置600确定发起者装置在附近(例如,在同一邮政编码、城市、建筑物等中)时的级别。
在其它实施例中,保证级别模块612B可以基于发起者装置的信任得分来确定保证级别。作为说明性示例,保证级别模块612B可以从信任得分模块612A检取信任得分。例如,信任得分可以是1至100的可能范围的值90。信任得分90可以对应于高度可信的装置。如根据预定转换表确定的,保证级别模块612B可以确定对应于信任得分90的保证级别可以是保证级别1。例如,信任得分80至100可以对应于保证级别1,信任得分50至80可以对应于保证级别2,并且信任得分0至50可以对应于保证级别3。然而,应理解,保证级别模块612B可以计算对应级别,而不是使用预定转换表。
保证级别模块612B可以输出第一保证级别。认证装置600可以将第一保证级别输入到令牌份额模块612C中,这时认证装置600可以确定对应于第一保证级别的令牌份额。
令牌份额模块612C可以包括可由处理器602执行以获得令牌份额的代码或软件。在一些实施例中,令牌份额模块612C能够从安全存储器检取令牌份额。令牌份额模块612C可以获得针对确定的第一保证级别的令牌份额以及当保证级别低于第一保证级别时获得对应于较低保证级别的任何其它令牌份额。
例如,令牌份额模块612C可以基于密钥份额确定令牌份额。令牌份额模块612C可以标识存储在存储器604中的与先前确定的保证级别(例如,保证级别2)相关联的密钥份额。令牌份额模块612C可以基于密钥份额以任何合适的方式确定令牌份额。例如,令牌份额可以是预定位数的密钥份额。作为另一示例,可以通过将例如装置标识符的存储值与密钥份额进行异或运算来确定令牌份额。
在一些实施例中,令牌份额模块612C可以通过使用密钥份额(例如,秘密密钥份额)和认证数据(即,用于认证装置)来确定令牌份额。令牌份额模块612C可以使用阈值MAC或本领域技术人员已知的签名方法计算令牌份额。例如,令牌份额模块612C可以使用AES-MAC、DDH-MAC、RSA-Sig或BLS-Sig来确定令牌份额。
H.装置类别
图7示出根据本公开的实施例的装置类别。图7包括注册的装置710、存在的装置720、用于认证的装置730以及可信装置740。图7示出存在的装置720、用于认证的装置730以及可信装置740都在注册的装置710内。如果装置未注册,则装置可能未参与认证过程,且可能不被视为存在的和可信的。
在一些实施例中,第一装置确定第二装置是可信装置740。第一装置可以确定对应于第二装置的信任得分。如果信任得分高于预定信任阈值,则第一装置可以确定第二装置是可信装置740。例如,第一装置可以确定对应于第二装置的信任得分等于值7。如果预定信任阈值等于值2,则第一装置可以确定第二装置可被视为可信装置740。然而,如果第一装置确定信任得分等于值1,则第一装置可确定不信任第二装置。
作为注册的装置710的装置可以包括在存在的装置720和/或可信装置740中。如果装置是注册的、存在的且可信的,则装置可以包括在用于认证的装置730中。
V.方法
接下来,将论述根据本公开的实施例的方法。首先将论述各种认证机制。接着描述信任得分的确定和使用。然后,将论述根据本公开的实施例的认证方法连同装置的注册以及删除。
A.信任得分确定
本公开的实施例可以通过在参与认证过程之前添加决策阶段来改进阈值密码法。每个用户装置都可以检查发起者装置的信任得分(如由所述用户装置确定),并且可以例如通过有助于MAC来确定是否参与和以什么级别参与阈值认证程序。发起者装置的信任得分基于1)由参与装置(即,认证装置)在本地观察到的特征和2)从网络接收的得分。在一些实施例中,信任得分可由信任计量确定。
每个用户装置可以基于网络数据确定信任得分。对分布式入侵检测,且更具体地,对IoT装置的入侵检测有着丰富的研究,参见[15;7]。本公开的实施例可利用在轻量级异常检测中的先进技术来构建信任计量。每个用户装置可以基于其收集的关于对等用户装置的信息来开发关于对等用户装置的意见(即,信任得分)。SVELTE是物联网中的实时入侵检测[15],它可以通过被动地观察网络流量来检测网络攻击。这项研究表明其入侵检测足够轻量,可以在IoT装置上运行。例如数据分组大小、目的地、源、每秒接收的字节数、认证请求数、请求时间、认证请求的参数等特征可以提高查找恶意活动的精确度,并感知关于装置相邻者的精确信任得分。分布式入侵检测,且更具体地,IoT装置的入侵检测的其它示例可见于[34,26,15,7,31,29]。
下表2列出了针对IoT系统设计的四种异常检测方案。SVELTE[15]展示了一种入侵检测过程,其足够轻,可以在IoT装置上运行,且如上所述。Doshi等人[7]的最新研究以高精确度但集中的方式检测DDoS攻击。ProFiot[29]通过分析传感器数据来检测装置破坏。IoT-IDM[31]通过使用一个装置以集中方式分析装置的网络流量来监控和分析流量,从而检测装置的恶意活动。对于本公开的实施例,基于网络的分布式入侵检测方案效果最佳,因此,我们认为SVELTE[15]是最适合的选项。
检测器 | 模型 | 威胁 | 精确度 |
SVELTE[15] | 分布式 | 路由 | 90-100% |
ML-IoT[7] | 集中式 | DDoS | 99.9% |
IoT-IDM[31] | 集中式 | 装置 | 96.2-100% |
ProFiOt[29] | 集中式 | 装置 | 93.7% |
表2(IoT异常检测方法的比较)
每个用户装置可以在网络中将信任得分传播到彼此。每个用户装置可以使用由对等用户装置宣传的数据(例如,信任得分、网络数据等)调整本地信任得分。所述调整可以基于由Eigen-Trust建立的过渡性信任的想法,如[10]中所述。用户装置可以信任所述用户装置信任的对等用户装置的意见。要计算在nodej中nodei的信任得分(示为Tij,使用加权平均值,其中权重是在其相邻者nodei中的信任度):
TSij=Σk(Tik×Tkj)
B.认证
图8示出说明根据本公开的实施例的认证方法的流程图。将在用户执行认证以访问安全网站的上下文中描述图8所示的方法。然而,应理解,本公开可应用于执行认证的其它情况(例如,具有更多或更少的用户装置、用户认证支付交易、访问位置和/或访问安全数据等)。虽然以特定顺序示出步骤,但是应理解,本公开的实施例可以包括具有以不同顺序进行的步骤的方法。另外,可以省略或添加步骤,并且这些步骤仍然可以在本公开的实施例内。
在步骤1,用户可以将凭证输入到用户装置802中。例如,凭证可以包括用户名和密码。用户可以以任何合适的方式将凭证输入到用户装置802中。例如,在一些实施例中,用户可以将凭证键入网站上的文本和/或数据字段。用户可以先前在网站上登记或注册。在其它实施例中,用户可以向可以是用户装置802的语音控制助理说出命令。用户装置802可以记录包括凭证的命令。
在任何情况下,在从用户接收凭证之后,用户装置802可以将凭证发送至认证服务器804。例如,如果用户输入凭证到用户装置802上的网页中,则用户装置802可以将凭证传输到与网页相关联的后端服务器,所述后端服务器可以是认证服务器804。可以通过本文所述的任何合适的通信信道将凭证传输到认证服务器804。
在从用户装置802接收凭证之后,认证服务器804可以确定凭证是否有效。在一些实施例中,可将凭证与先前存储的凭证进行比较以确定它们是否匹配。在其它实施例中,认证服务器804可以创建凭证的散列以与凭证的存储散列进行比较。例如,认证服务器804可以耦合到存储散列密码和/或要么加密凭证的数据库,所述散列密码和/或要么加密凭证可用于确定接收的凭证是否有效。在一些实施例中,有效凭证将被称为真实凭证。
如果认证服务器804确定凭证无效,则认证服务器804可以通知用户装置802凭证无效。在一些实施例中,用户装置802可以提示用户重新输入凭证。
在步骤2,如果认证服务器804确定凭证有效,则认证服务器804可以将质询请求传输到用户装置802。质询请求可以包括对来自用户装置802的认证令牌的请求。在一些实施例中,认证服务器804可以将质询请求传输到发起者装置806。
在步骤3,在接收到质询请求之后,用户装置802可以联系发起者装置806。在一些实施例中,发起者装置806可以接近用户装置802。例如,发起者装置806可以在用户装置802的通信范围(例如,蓝牙范围)中。在其它实施例中,发起者装置806可以是注册的装置,意味着用户先前向认证服务器804注册了发起者装置806。
在一些实施例中,发起者装置806可以基于内部触发器发起创建见证请求。例如,替代接收提示发起者装置806广播见证请求的质询请求,发起者装置806可基于用户输入确定广播见证请求。例如,用户可以为发起者装置806选择与认证服务器804传送安全凭证。发起者装置806可以确定广播见证请求,然后确定认证令牌,如本文所述。然后,发起者装置806可以将安全凭证连同认证令牌一起传输到认证服务器804。
在步骤4,发起者装置806可以将见证请求广播到包括认证装置808在内的一个或多个认证装置(即,证人)。在一些实施例中,发起者装置806可以与通信范围中的每个认证装置通信。通信范围可以基于所使用的通信信道的类型而变化,例如,发起者装置806可以经由蓝牙将见证请求传输到一个或多个认证装置,蓝牙可以具有高达大致100米的通信范围。在一些实施例中,存在与发起者装置806通信的任何合适数目的认证装置,例如大致一到十个装置的范围内。
以下步骤可由一个或多个认证装置执行。在接收到见证请求之后,认证装置808可以确定与发起者装置806相关联的信任得分。在其它实施例中,认证装置808可以周期性地确定与发起者装置806相关联的信任得分,并且可以在接收到见证请求时评估最近的信任得分。例如,认证装置808可以每5分钟、每小时两次、每小时、在认证之后和/或之前、每2小时、每天一次等确定信任得分。一个或多个认证装置可以本文描述的任何合适方式确定信任得分。
在步骤5,认证装置808可以确定是否参与和以什么保证级别参与认证。例如,每个认证装置可以基于信任得分确定与发起者装置806相关联的第一保证级别。可以从一系列保证级别中确定第一保证级别。例如,认证装置808可以存储与发起者装置806相关联的5分信任得分中的信任得分5。由于所述信任得分是可能最高的,因此当存在3个保证级别时,认证装置808可以确定以最高的保证级别(例如,保证级别3)参与认证(其中其它可能的保证级别为级别1和级别2)。
在步骤6,然后,认证装置808可以获得对应于第一保证级别的令牌份额以及当存在低于第一保证级别的保证级别时获得对应于较低保证级别的任何其它令牌份额。例如,认证装置808可以获得对应于保证级别3的令牌份额。认证装置808还可以获得对应于较低保证级别(其可以对应于保证级别1和保证级别2)的其它令牌份额。因此,在这种情况下,认证装置808可以确定三个不同的令牌份额。在一些实施例中,每个不同保证级别的令牌份额可能彼此不兼容,因为它们可能来自不同的密钥份额。在一些实施例中,认证装置808可以从安全存储器获得令牌份额。
在一些实施例中,认证装置808可以使用存储的密钥份额来确定令牌份额。例如,认证装置808可以存储共享密钥,例如对应于每个保证级别的密钥份额。如果存在三个保证级别,则认证装置808可以存储三个密钥份额。在一些实施例中,特定保证级别的密钥份额可以是在一个或多个认证装置和发起者装置之间共享的密码密钥的一小部分。例如,128位密码密钥可在8个装置之间分割,使得每个装置保持所述密码密钥中的16个位(即,密钥份额)。
例如,在一些实施例中,认证装置808可以获得对应于第一保证级别的令牌份额和对应于较低保证级别的任何其它令牌份额。认证装置808可以通过检取对应于第一保证级别的第一密钥份额和对应于任何其它令牌份额的任何其它密钥份额来获得令牌份额和其它令牌份额。认证装置808可以接着从第一密钥份额导出对应于第一保证级别的令牌份额。认证装置808接着可从任何其它密钥份额导出对应于较低保证级别的任何其它令牌份额。
认证装置808可以使用密钥份额来导出针对保证级别的令牌份额。在一些实施例中,令牌份额可以是预定位数的密钥份额。在其它实施例中,令牌份额可以等于与密钥份额进行异或运算的秘密值。
在步骤7,包括认证装置808的一个或多个认证装置可以将见证响应传输到发起者装置806。见证响应可以包括针对第一保证级别的令牌份额以及当存在低于第一保证级别的保证级别时包括针对较低保证级别的其它令牌份额。发起者装置806可以从一个或多个认证装置接收包括对应于保证级别的令牌份额的至少一个见证响应。在一些实施例中,发起者装置806可以接收包括对应于保证级别的令牌份额以及保证级别的见证响应。发起者装置806接收的令牌份额可以被称为令牌份额集。
例如,在一些实施例中,一个或多个认证装置可以生成包括对应于保证级别的令牌份额的至少一个见证响应。一个或多个认证装置还可以在至少一个见证响应中包括保证级别。以此方式,一个或多个认证装置可以将令牌份额和保证级别提供至发起者装置806。
在其它实施例中,见证请求可以指定一个或多个请求的保证级别保证级别。例如,发起者装置806可以包括其请求从一个或多个认证装置接收的一系列保证级别。指定一个或多个请求的保证级别可以包括任何数目的保证级别(例如,保证级别1-3、5-10、7等)。然后,一个或多个认证装置可以将包括对应于保证级别的令牌份额的至少一个见证响应传输到发起者装置806。包括在见证响应中的令牌份额的保证级别可以是请求的保证级别之一。例如,一个或多个认证装置可能不需要在见证响应消息中包括保证级别本身,因为在一些实施例中,发起者装置806可以明确地将响应份额映射至一个或多个请求的保证级别中的请求的保证级别。
在步骤8,在接收到对应于保证级别的令牌份额之后,发起者装置806可以确定与至少包括阈值数目的令牌份额的令牌份额集相关联的一系列保证级别中的最高保证级别。换句话说,发起者装置806接收的每个令牌份额可以与保证级别相关联。例如,令牌份额可以发送到列表中的发起者,列表中的第一项可以对应于级别一,第二项可以对应于级别二等。发起者装置806可以确定针对每个保证级别的令牌份额的阈值数目。例如,保证级别1可以与等于1个令牌份额的阈值数目的令牌份额相关联,而保证级别2可以与等于3个令牌份额的阈值数目的令牌份额相关联。保证级别可以具有任何合适阈值数目的令牌份额,并且可以是预定的。发起者装置806可以确定与令牌份额集相关联的最高保证级别。在一些实施例中,对于每个保证级别,令牌份额的阈值数目可以是预定的。
例如,令牌份额集可以包括从三个认证装置接收的令牌份额。来自第一认证装置的令牌份额可以包括三个令牌份额,一个令牌份额对应于保证级别1、保证级别2和保证级别3中的每一个。来自第二认证装置的令牌份额可以包括两个令牌份额,一个令牌份额对应于保证级别1,且一个令牌份额对应于保证级别2。来自第三认证装置的令牌份额可以包括两个令牌份额,一个令牌份额对应于保证级别1,且一个令牌份额对应于保证级别2。发起者装置806可以确定最高保证级别是保证级别2,因为发起者装置806接收到对应于最高保证级别(即保证级别2)的至少阈值数目的令牌份额(即,3个令牌份额)。发起者装置806可以确定最高保证级别不是保证级别3,因为发起者装置806仅接收到对应于保证级别3的1个令牌份额。这不符合保证级别3所需的令牌份额的阈值数目(即5个令牌份额)。
此外,在一些实施例中,发起者装置806可以获得与发起者装置806确定参与的最高保证级别相对应的发起者令牌份额以及当存在较低保证级别时获得任何其它令牌份额。发起者装置806可以包括令牌份额集中的发起者令牌份额。
然后,发起者装置806可以使用与最高保证级别相关联的令牌份额集来生成认证令牌。例如,如果最高保证级别为保证级别2,且发起者装置806至少接收到与保证级别2相关联的阈值数目的令牌份额,则发起者装置806可以生成对应于保证级别2的认证令牌。认证令牌可以本文描述的任何合适方式生成。
在步骤9,在生成认证令牌之后,发起者装置806可以将认证令牌传输到认证服务器804。在一些实施例中,发起者装置806还可以将保证级别传输到认证服务器804。
在其它实施例中,发起者装置806可以将认证令牌传输到用户装置802,所述用户装置可以将认证令牌转发到认证服务器804。
在接收到认证令牌之后,认证服务器804可以验证认证令牌。认证服务器804可以对照现有记录验证此信息以便认证用户。在其它实施例中,认证服务器804可以使用合适的加密密钥对认证令牌进行解密。一旦认证服务器804用正确的加密密钥成功地对认证令牌解密,认证服务器804就可以将期望值和/或数据与从解密认证令牌获得的值和/或数据进行比较。
在一些实施例中,认证服务器804还可以接收保证级别。然后,认证服务器804可以基于保证级别确定认证级别。例如,对于更高保证级别,认证服务器804可以在更高认证级别对用户进行认证。
在一些实施例中,认证服务器804和发起者装置806可以进一步通信,以共同确定一系列保证级别中的哪个保证级别是发起者装置806可以由认证服务器804认证的最低保证级别。例如,发起者装置806可以将两个认证令牌(例如,对应于保证级别1的第一认证令牌和对应于保证级别2的第二认证令牌)提供至认证服务器804。认证服务器804在接收到认证令牌时,可以将最高级别认证令牌(例如,对应于保证级别2)与认证可能需要的阈值级别(例如,保证级别3)进行比较。在确定最高保证级别不超过(例如,等于或大于)阈值级别之后,认证服务器804可以请求关于见证请求、见证响应、认证装置、令牌份额和/或与认证过程有关的任何其它合适的信息的进一步细节。例如,认证服务器804可以请求向发起者装置806提供令牌份额的认证装置的数目。在此示例中,发起者装置806可以用“两个装置”作出响应。然后,认证服务器804可以确定两个认证装置是创建对应于保证级别2的认证令牌所需的认证装置的最小数目,且因此每个认证装置使发起者装置806信任于保证级别2。基于认证装置的数目,认证服务器可以确定发起者装置806是否可以被认证。作为另一示例,如果发起者装置806用“二十个装置”作出响应,则认证服务器804可以确定提供令牌份额的认证装置的数目与未提供令牌份额的认证装置的数目之比较小。然后,认证服务器804可以确定发起者装置806无法被认证。
下文中用于见证请求和认证令牌生成的伪码进一步解释了发起者装置806从认证装置请求令牌份额以及组合接收的令牌份额的细节。在见证响应中解释了认证装置的任务。
1.见证请求和认证令牌生成
见证请求:为了创建认证令牌,节点可以将请求广播到对等节点以与节点协作建立令牌。数据项“令牌_份额”可以是从一个见证装置接收的令牌份额的列表。数据项“所有_份额”可以是“令牌_份额”的列表(即,份额列表的列表)。数据项(例如,“令牌_份额”)的列表(即数组)的索引可以是保证级别。例如,来自每个响应的第一令牌份额可以对应于保证级别1,来自每个响应的第二令牌份额可以对应于保证级别2等。
1:程序见证请求
2:对于装置∈注册的_装置执行
3:发送消息(装置;见证请求)
4:等待(1秒)
5:对于令牌_份额∈所有_份额执行
6:若长度(令牌_份额)≥阈值则
7:令牌←组合(令牌份额)
8:令牌.列表+=令牌
9:保证级别←最大级别(令牌_列表)
10:令牌←令牌_列表[保证级别]
11:发送消息(认证器;<令牌;保证级别>)
13:级别←0
14:对于令牌_份额∈消息执行
15:级别++
16:所有_份额[级别]+=令牌_份额
在上述过程中,可以为每个保证级别创建认证令牌。可以创建多个认证令牌,然后可以确定最高保证级别,且因此确定来自最高级别令牌份额的认证令牌。如果认证服务器804拒绝最高级别认证令牌(出于任何原因),则在确定最高保证级别之前为每个保证级别创建认证令牌可能是有益的,因为发起者装置806可以简单地发送列表中的(例如,“令牌_列表”中的)下一个认证令牌。然而,应理解,在其它实施例中,发起者装置806可确定最高保证级别令牌,且接着提供从与最高保证级别相关联的令牌份额集中确定的认证令牌。
2.见证响应
见证响应:认证装置可以用令牌份额来响应发起者装置。
1:程序见证请求
2:AL←保证级别(TS发起者)
3:对于级别≤AL执行
4:令牌份额←门限签名(级别)
5:令牌_份额_列表+=令牌份额
6:发送消息(发起者;令牌_份额_列表)
C.装置的不同状态
图9示出根据本公开的实施例的装置的生命周期。图9示出装置的生命周期的各个阶段。所述阶段可以包括未注册的902、注册的904、存在的906、可信的908以及存在且可信的910。不同方法示出一个阶段与另一个阶段之间的连接。例如,未注册的902装置可以使用注册()方法变成注册的904。装置可以使用任何合适的方法(例如,蓝牙、声音等)确定另一装置是存在的。例如,装置可以执行如第III节中描述的接近度检测方法。装置可以使用任何合适的方法确定其它装置的信任得分。例如,信任(即,信任得分)可以是相对的,并且可以表示第一装置信任第二装置的程度。新装置(例如,第二装置)的信任得分可设置为100%(假设装置在前几天是安全的),并且第一装置可以在第二装置被看作表现异常(例如,每小时尝试数百次认证)时降低第二装置的信任得分。
1.注册
经由用户名和密码等用户凭证以及如本文描述的认证过程,可以认证用户来完成新用户装置的注册。然而,一个不同之处在于,由于新用户装置的注册可能更敏感,因此实施例可以请求用户参与和批准。例如,可以提示用户确认新用户装置的注册。
可以使用对已注册的用户装置的批准来注册新用户装置,然而,并非所有用户装置都能够随时可用且极为接近。因此,本公开的实施例可以允许平稳的注册过程。可以证明添加新用户装置(即,提供对应于高保证级别的密钥份额)的用户装置越多,新用户装置可以接收的密钥份额就越高。例如,如果认证装置对新用户装置具有低信任得分并且提供低保证级别令牌份额,则可以(由认证服务器或其它合适的装置)对新用户装置发行对应于低保证级别令牌份额的密钥份额。这样,如果用户的密码和/或其它凭证被破坏,攻击者可能根据需要添加尽可能多的新用户装置。新用户装置仅接收对应于低保证级别的令牌份额,从而防范攻击者添加许多新用户装置以在高保证级别下执行认证。
考虑到一些已经注册的用户装置,以下步骤描述了如何添加新用户装置D。1)用户可以使用其用户名和密码登录到用户装置管理门户。2)D可以运行发现算法以在同一网络上查找其相邻者(即,对等用户装置)。3)D可以如本文所述充当发起者装置,并且可以联系附近的用户装置以作为用于注册的认证装置。4)每个已经注册的用户装置都可以显示用户必须确认的“新用户装置的权限请求”弹出窗口。接收用户确认的注册的用户装置可以生成令牌份额并将令牌份额传输到新用户装置。在一些实施例中,注册的用户装置可以将令牌份额传输到注册服务器、认证服务器和/或其它合适的装置。5)对于发送到注册服务器的级别t的令牌,新用户装置可以接收对应于所述保证级别的密钥份额。
在一些实施例中,添加新用户装置可以增加阈值,因此,可以为其它已经注册的用户装置中的每一个发送新密钥份额。
2.删除装置
在删除用户装置(即,执行删除()方法)时,可以通知所有用户装置(即,接近的或远程的)从其注册的用户装置列表中删除所述用户装置。用户装置还可以将与被删除用户装置相关联的信任得分设置为零。如果用户正在删除用户装置,则被删除用户装置可以被擦拭,因此可以从存储器删除任何密钥份额。然而,如果被删除用户装置被盗,则可以在认证器端(即,由认证服务器)以及在用户装置上更新所有级别的密钥份额。更新所有用户装置的密钥可能并不有效,但此任务不会经常发生。
D.示例方法
1.发起者装置
图10示出说明根据本公开的实施例的认证令牌生成方法的流程图。将在发起者装置广播请求令牌份额以供认证服务器认证的见证请求的上下文中描述图10所示的方法。
在步骤1002,发起者装置可以将见证请求广播到一个或多个认证装置。例如,发起者装置可以将见证请求广播到蓝牙通信信道范围内的任何合适数目的认证装置。见证请求可以包括令牌份额请求。
在一些实施例中,在广播见证请求之前,发起者装置可以从认证服务器接收质询请求。质询请求可以响应于发起者装置向认证服务器提供凭证。质询请求可以是针对认证的另一质询。在一些实施例中,质询请求可以指示认证服务器将认证发起者装置的保证级别。例如,质询请求可以指示保证级别3。认证服务器可以在接收到对应于保证级别3的认证令牌之后认证发起者装置。在一些实施例中,可以经由用户装置将质询请求从认证服务器传输到发起者装置。
在其它实施例中,在广播见证请求之前,可以基于例如用户输入、内部计时器和异常检测中的至少一者在内部确定见证请求。例如,用户可以在发起者装置上选择选项以执行认证。发起者装置在接收到用户输入后可以确定广播见证请求以便确定认证令牌。
作为另一示例,发起者装置可以基于内部计时器确定广播见证请求。发起者装置可以确定例如在5小时、3天、8周、6个月等之后发起认证过程。
作为又一示例,发起者装置可以基于异常检测来确定见证请求。发起者装置可以监测例如网络数据。发起者装置可以将网络数据与任何合适的异常检测阈值进行比较,以确定是否存在异常。如果发起者装置确定存在异常,则发起者装置可以广播见证请求作为优先认证措施,而不是等待认证服务器在认证时的质询请求。例如,如果网络数据中存在较大异常(例如,网络流量显著增加),则认证服务器可以生成质询请求以在异常事件期间提供额外安全性。鉴于异常事件,发起者装置可以优先生成见证请求并生成认证令牌以利用认证服务器进行认证。
在接收到见证请求之后,一个或多个认证装置中的每个认证装置可以从一系列保证级别中确定保证级别。每个认证装置还可以确定对应于保证级别的令牌份额。至少在图11中进一步详细描述了保证级别和令牌份额的确定
在步骤1004,发起者装置接着可从一个或多个认证装置接收包括对应于保证级别的令牌份额的至少一个见证响应。发起者装置可以接收任何合适数目的见证响应。例如,如果存在五个认证装置,则发起者装置可以接收一个、两个、三个、四个或五个见证响应。发起者装置可以将对应于保证级别的每个接收到的令牌份额包括在令牌份额集中。一系列保证级别中的每个保证级别可以对应于每个令牌份额集。
在一些实施例中,至少一个见证响应可以进一步包括保证级别。例如,一个或多个认证装置可以在传输到发起者装置的见证响应中分别提供令牌份额和保证级别。
在其它实施例中,见证请求可以指定一个或多个请求的保证级别。例如,在步骤1002,发起者装置可以广播见证请求,所述见证请求可以指定一个或多个请求的保证级别(例如,保证级别2、3、10、2-4等)。一个或多个请求的保证级别可以包括对应于令牌份额的保证级别。例如,认证装置可以包括与一个或多个请求的保证级别指定的保证级别相对应的令牌份额。
发起者装置可以确定与至少包括阈值量的令牌份额的令牌份额集相关联的一系列保证级别中的第一保证级别。例如,第一保证级别可以是发起者装置持有至少阈值数目的令牌份额的最高保证级别。令牌份额的阈值数目可以包括任何合适的阈值,并且可以是预定的。例如,保证级别数目1可以与5个份额的阈值数目的令牌份额相关联,而保证级别数目3可以与4个份额的阈值数目的令牌份额相关联。
在一些实施例中,发起者装置可以存储针对每个保证级别的发起者令牌份额。当确定第一保证级别时,发起者装置可以获得对应于例如第一保证级别的发起者令牌份额以及当存在较低保证级别时获得任何其它令牌份额。
在其它实施例中,发起者装置可以在确定第一保证级别之前确定令牌份额集的第一量。可以以任何合适的方式确定第一量。例如,在一些实施例中,每个令牌份额可以与权重相关联。权重可以指示发起认证装置的安全级别。权重的较高值可以指示令牌份额更安全。可通过对令牌份额集的权重求和来确定令牌份额的第一量。
可以基于例如认证装置的特性来确定与每个令牌份额相关联的权重。可能影响与令牌份额相关联的权重的认证装置的特性可以包括但不限于认证装置保护其自身的令牌份额的方式(例如,防篡改容器、针保护容器等)。
在确定第一量之后,发起者装置可以通过将第一量与阈值量进行比较来确定与至少包括阈值量的令牌份额的令牌份额集相关联的一系列保证级别中的第一保证级别。以此方式,可以不仅根据令牌份额的数目,而且还基于这些令牌份额中的每一个如何得到保护和维护来确定保证级别。如果认证装置不够安全(例如,某些令牌份额可能无法用于要求更高级别的保证),则某些令牌份额可能是不期望的。
在步骤1006,在接收到至少一个见证响应之后,发起者装置可以使用令牌份额集来生成认证令牌。发起者装置可以按本文描述的任何合适方式来生成认证令牌。例如,发起者装置可以从令牌份额集中删除重复令牌份额,然后对所述令牌份额集中的剩余令牌份额进行异或运算以确定认证令牌。
在一些实施例中,发起者装置可以生成对应于第一保证级别的一个或多个认证令牌以及当存在较低保证级别时生成任何较低保证级别。例如,发起者装置可以接收对应于保证级别数目1的6个令牌份额、对应于保证级别数目2的5个令牌份额,以及对应于保证级别数目3的2个令牌份额。每个保证级别可以对应于阈值数目的令牌份额,或在一些实施例中对应于阈值量的令牌份额,其可用于生成针对所述级别的认证令牌。例如,保证级别数目1可对应于阈值5,保证级别数目2可对应于阈值4,并且保证级别数目3可对应于阈值3。发起者装置可以生成针对保证级别数目2的一个认证令牌和针对保证级别数目1的第二认证令牌。
在步骤1008,在生成认证令牌之后,发起者装置可以将认证令牌传输到认证服务器。认证服务器在接收到认证令牌之后可以验证认证令牌。
在一些实施例中,发起者装置还可以将保证级别传输到认证服务器。例如,发起者装置可以将包括保证级别(例如,保证级别数目3)和对应于所述保证级别的认证令牌的消息传输到认证服务器。
在其它实施例中,发起者装置可以在生成一个或多个认证令牌之后传输一个或多个认证令牌。例如,发起者装置可以将列表或包括一个或多个认证令牌和分别对应于所述一个或多个认证令牌的一个或多个保证级别的其它合适的数据项传输到认证服务器。
2.认证装置
图11示出说明根据本公开的实施例的见证响应生成方法的流程图。将在认证装置在认证过程期间响应来自发起者装置的见证请求的上下文中描述图11所示的方法。参考图11描述的方法将描述为由认证装置执行。然而,应理解,图11的方法可由一个或多个认证装置中的每个认证装置执行。
在步骤1102之前,发起者装置可以生成并广播见证请求,如本文详细描述的。在步骤1102,认证装置可以接收见证请求。
在步骤1104,在接收到见证请求之后,认证装置可以基于信任得分确定与发起者装置相关联的第一保证级别,如本文详细描述的。可以从一系列保证级别中确定第一保证级别。
在一些实施例中,认证装置可以至少基于网络数据来确定与发起者装置相关联的信任得分。网络数据可以包括例如传输速率、数据接收速率、数据分组平均大小、源地址、域名系统信息、IP地址、主机名、信号强度数据、Wi-Fi连接数据等。认证装置可以基于例如历史典型传输速率与传输速率之间的差、历史典型数据接收速率与数据接收速率之间的差、和/或历史典型数据分组平均大小与数据分组平均大小之间的差来确定信任得分。
在其它实施例中,信任得分可以是本地(即,认证装置的本地)信任得分。认证装置可以从一个或多个额外认证装置接收一个或多个远程信任得分。在接收到远程信任得分之后,认证装置可以使用本地信任得分和一个或多个远程信任得分的加权平均值来确定信任得分,如本文所述。
在另外的其它实施例中,认证装置可以基于发起者装置的类型来确定信任得分。例如,相比用户可能带到潜在不安全位置的作为移动手机的发起者装置,认证装置可以更信任可保留在用户家中的作为台式计算机的发起者装置。
在步骤1106处,在确定第一保证级别之后,认证装置可以获得对应于第一保证级别的令牌份额。在一些实施例中,当存在低于第一保证级别的保证级别时,认证装置还可以获得对应于较低保证级别的任何其它令牌份额。例如,第一保证级别可以是保证级别数目3。认证装置可以获得对应于保证级别数目3的令牌份额,以及对应于保证级别数目2和保证级别数目1的令牌份额。
在一些实施例中,获得对应于第一保证级别的令牌份额和对应于较低保证级别的任何其它令牌份额可以包括检取对应于第一保证级别的第一密钥份额和对应于任何其它令牌份额的任何其它密钥份额。认证装置可以从如本文描述的任何合适的存储器检取密钥份额。然后,认证装置可以从第一密钥份额导出对应于第一保证级别的令牌份额。此外,认证装置可以从任何其它密钥份额导出对应于较低保证级别的任何其它令牌份额,如本文所述。在一些实施例中,第一密钥份额和任何其它密钥份额可以是在发起者装置和包括所述认证装置在内的一个或多个认证装置之间共享的密码密钥的一部分。
在步骤1108,在获得一个或多个令牌份额之后,认证装置可以在见证响应中将针对第一保证级别的令牌份额传输到发起者装置。在一些实施例中,认证装置还可以在见证响应中将针对每个较低保证级别的其它令牌份额传输到发起者装置。
VI.安全性分析
接下来,将论述当第一因素(即,密码)已被破坏并且攻击者正试图通过击败第二因素来进行恶意认证时对作为多因素认证(MFA)的本公开实施例的安全性分析。
将论述几种情况,包括:1)未使用注册用户装置的远程攻击者;2)操控上下文的对手;3)使用被破坏用户装置的远程攻击者;4)使用被盗的注册用户装置的攻击者;以及5)内部攻击者。
A.未使用注册用户装置的远程攻击者
任何使用未注册和未知装置的攻击者由于1)攻击者没有任何密钥和/或密钥份额,以及2)具有密钥份额的用户装置因为所述用户装置以前没有看到所述未知装置而不信任攻击者,因此未能发起本公开的实施例并且未能计算任何保证级别的任何认证令牌。
B.操控上下文的对手
无缝2FA方案的一个主要目标是证明自我认证的用户是拥有/操作第二装置(因素)的用户。实现此目标的一个方法是证明用户与第一和第二装置的接近度。为了证明接近度,已经使用了不同的信道:蓝牙(一般为无线电)、声音、温度和光。存在可以操纵环境和这些信道所观察到的内容的攻击[18],也称为操纵上下文的攻击者。
本公开的实施例通过使多个用户装置协作来防范这些攻击,因此使得更难以协调和扩展定向攻击。例如,使用吹干器来同时加热所有参与的用户装置(例如,使用户装置之间的所有温度测量值相似)并欺骗接近度测试已不再可行。
C.使用被破坏用户装置的远程攻击者
被破坏的已经注册的用户装置可以单独生成级别一(最低保证级别)的令牌。然而,网络中的其余用户装置可以逐渐检测到被破坏行为,并将其信任得分降低到零,并且不会与被破坏装置协作。本公开的实施例允许信任得分平稳下降。在认证时,认证装置可以输入认证时间、起点和认证参数(例如,支付金额、用户名),然后更新其本地信任得分。将检测到异常认证请求,并且可以调整信任得分。在一些实施例中,这可留给所有认证信息都可用的服务器端来进行。此外,认证服务器具有比用户装置更多的计算功率和带宽以执行完整分析。
D.使用被盗的注册用户装置的攻击者
在使用被盗的注册用户装置的攻击者的情况下,攻击者能做的最好是生成级别一的令牌,因为被盗的注册装置有足够的(即,一个)份额来生成认证令牌。然而,由于其余用户装置无法验证发起者装置的接近度,因此它们将是此认证的“证人”。
E.内部攻击者
如果攻击者知道用户的密码并且设法极为接近用户装置(例如,闯入用户的住宅),攻击者成功的几率会很高。本公开的一个方法实施例可以通过检测特定发起者装置的请求时间中的任何异常来防范这种攻击。
例如,用户在白天执行的大部分支付是通过将用户的手机用作发起者装置来执行的。如果语音控制助理首次发起认证过程,则可以被检测为异常的。用户装置可以确定不参与令牌生成。如果信任得分未能检测到异常,则可以留给认证服务器的欺诈检测服务来检测攻击。
VII.评估
接下来,将执行本公开的实施例的评估。本公开的实施例的安全性和可用性可以根据用户拥有的用户装置的数目、保证级别的数目和阈值MAC生成的阈值集来调整。首先,在以下两个用例中将考虑两组参数。然后,将本公开的实施例与先前的研究进行比较。之后,在Bonneau等人[4]的框架中提供实施例的比较分析。
第一用例可以包括5个用户装置、1个保证级别和阈值1。当五个注册用户装置中的任一个可用于认证时,这是简单情况,因为存在1个保证级别,并且任何1个装置都可以协助生成针对第一保证级别的令牌。此用例的安全性与使用一个装置的无缝2FA的安全性相当。如果一个装置被破坏,则认证可能被破坏。然而,可用性可能更高,因为五个用户装置中的一个在附近并且可用的几率更高。
第二用例可以包括5个用户装置、1个保证级别和阈值5。在这种情况下,用户需要使所有五个用户装置在附近,表现值得信任,且在正常环境中协作计算认证令牌。因为攻击者需要破坏和/或窃取所有五个用户装置,所以这种情况的安全性可以高于其它无缝2FA方案。可用性可以高于交互式2FA,然而,在五个用户装置中的一个不可用的情况下,可用性会低于无缝2FA。
A.比较分析
使用Bonneau等人[4]的框架来评估本公开的实施例的安全性、可用性和可部署性。
1.可用性
与对先前2FA方案的评估保持一致,一些实施例可能不是轻松记忆的和可针对用户扩展的,因为用户需要记住例如用户名和密码等凭证。然而,实施例可用于无密码认证,且在这种情况下,其将满足前两个可用性要求。一些实施例不需要用户携带任何用户装置,因为它可以机会性地利用用户周围的用户装置。此外,如果没有其它用户装置可用,则实施例可以退回到交互式2FA。与先前的无缝2FA方法相比,实施例在此类别中得分较高,因为实施例不依赖于一个特定的用户装置。与所有其它2FA方案类似,实施例并不是彻底轻松的,并且可能会遇到错误,因为用户必须输入密码并且可能会出错。
2.可部署性
就可访问性而言,本公开的实施例可以与其它无缝2FA方案相似。实施例可以具有根据用户可忽略不计的成本。然而,当实施例使用阈值MAC并且提供风险信息时,可以根据CoRA变更来更新认证服务器。一些实施例可以是浏览器兼容的,只要选择的接近度检查方法是浏览器兼容的。如果CoRA被用作无密码认证方案且在膝上型计算机上使用,它将不会与浏览器兼容(至少基于其当前实施方案)。CoRA是可访问的且具有根据用户可忽略不计的成本,特别是因为它可与用户可用的任何智能装置一起使用。
3.安全性
根据本公开的实施例的系统对内部观察具有弹性,因为它为每个认证生成新令牌,并且没有一个用户装置存储整个密钥。由于未向多个认证服务器发送相同信息,因此,CoRA本身可以是不可链接的且高度保护隐私。本公开的实施例还可以具有新的安全性度量,基于Shrestha等人[18]的论文中展示的攻击,所述度量对上下文操纵具有弹性。谷歌2SV(两步验证)和密码不受此类攻击的影响,phoneAuth可能会受到蓝牙攻击的破坏,并且隔音容易受到声音操纵的影响[19]。本公开的实施例针对上下文操纵攻击会更加安全,因为系统可具有多样性,例如,因为每个用户装置可具有用于接近度验证的不同信道。
B.精确度评估
可以使用某一度量来执行精确度评估,所述度量可以包括网络拓扑(例如,连接性、节点数目)、TM的精确度、检测延迟、传播延迟、攻击者的数目、攻击者的类型等。在一些实施例中,攻击者在泄漏信息并拒绝服务攻击的网络行为方面可能是恶意的。在其它实施例中,攻击者在宣传其它装置的错误信任得分的信任计量方面可能是恶意的,但在所有其它方面表现良好。在另外的其它实施例中,攻击者在对通过发送不正确的信息而非正确的令牌份额来破坏计算的阈值密码法方面可能是恶意的,但在所有其它方面表现良好。
图12示出比较本公开的实施例与MFA和2FA方案之间的可用性和可部署性的表。图13示出比较本公开的实施例与MFA和2FA方案之间的安全性的表。
图14示出所有节点(即,用户装置)捕获恶意发起者装置所需的信任计量轮数。本公开的一些实施例允许认证级别的平稳降级,这是今天的秘密共享方案所不提供的特性。在此实验中,网络具有全部连接的10个节点,还有一个尝试自我认证的被破坏节点。网络中有四个节点可以直接观察恶意节点的恶意行为,并运行精确度为0.90的异常检测器。信任信息可通过网络传播。在5轮之后,所有节点都可以更新其与恶意节点相关联的信任得分。此时,每个节点对恶意节点的信任程度不足以帮助恶意节点进行认证。恶意节点可以做的最好是在保证级别一对自身进行认证。
图15通过示出网络中存在一个揭发者(例如,只有路由器观察到异常行为)对比网络中的每个节点可以直接捕获恶意节点的异常行为的两种极端情况来呈现系统中揭发者数目的影响。对于并非所有节点都有直接连接来观察恶意行为的网络,运行信任计量的频率应更高以补偿缓慢检测。
图16展示信任计量的精确度对可检测到被破坏节点的速度的影响。在此示例中,存在四个揭发者节点。精确度从0.65变为1。信任得分基于精确度而更新。结果显示,尽管精确度起到了一定的作用,但即使使用低精确度的信任计量,在约20轮之后,恶意节点也会被隔离。在应用设置方面,如果信任计量的精确度较低,则可以更频繁地运行信任计量以增加捕获攻击者的几率。
通过将信任得分传播到其它节点,网络中的所有节点都可以收敛到一个信任视图上。在所有节点都无法直接观察到恶意节点的恶意行为的情况下,揭发者可以将信息传播到网络的其余部分。如果每个装置仅对其自身的本地观察结果起作用,则恶意节点可能始终能够在节点数目减去揭发者数目的级别协作生成令牌。
图17中描绘了这一点,其中仅存在四个揭发者,并且其余节点对发起者的恶意行为视而不见。
C.性能测量
下表3提供了三个IoT装置、手表、智能恒温器和家庭辅助装置的示例以及这些装置中的每一个的资源。这些装置中的每个装置至少有1GHz CPU、Wi-Fi连接和足够的内存可用于执行CoRA。表3示出并非所有智能家居装置都是资源有限的。
对于单核的1GHz装置,计算阈值MAC令牌大约需要124:8ms。与当今交互式2FA系统的25秒延迟相比,这一数字可忽略不计。
表3(智能家居装置示例及其资源)
根据本公开的实施例在认证时的两个操作可以包括见证装置上的令牌份额生成和发起者上的令牌份额组合。假设有六个注册装置,如果其中三个装置以保证级别2参与其中,则生成针对所有级别的令牌份额大约需要32ms,且找到最佳级别并组合份额大约需要7.5ms(见表4)。在配备2.36GHz CPU的智能手机上执行此测试。
现代IoT装置功能强大,足以与智能手机媲美。例如,Nest恒温器、华为Watch 2和Google Home等装置都配备1+GHz CPU和0.2-4GB的RAM。对于单核的1GHz装置,计算阈值MAC令牌平均大约需要124.8ms。此数字包括通信和阈值MAC计算。与当今交互式2FA系统的25秒延迟相比,这一数字可忽略不计[33]。表4示出在智能手机上以保证级别2测量的阈值MAC操作的性能(十次实验的平均值)。
操作 | 平均值(ms) | 标准装置 |
生成份额 | 32.10 | 1.37 |
组合份额 | 7.60 | 0.52 |
表4(通过十次实验在智能手机上以保证级别2测量的阈值MAC操作的性能)
VIII.应用
本节论述了根据本公开的实施例的具有多级和风险感知认证系统对于三个特定应用的优点:1)高保证性注册;2)基于认证令牌的保证级别授权用户花费资金的支付系统;以及3)基于令牌保证级别向用户提供读写权限的登录机制。
A.注册对比认证
具有多个保证级别的一个应用对于较敏感的任务需要更高的安全性而不是允许日常任务更具可用性。装置的注册是一次性但高度敏感的任务,需要最高的保证级别和最高的阈值。
B.CoRA和3D Secure
另一应用可能包括用户认证,以便他们可以继续进行支付交易。不出示卡情况占支付欺诈的60%到70%[28](即未能检测到攻击者未经授权的交易)。在线交易欺诈的一个补救措施是使用2FA,且更具体地,使用3D Secure[8]。当前版本的3D Secure可能并非无缝的,因为它使用户参与到认证中,以确保存在正确的用户;换句话说,它以用户不满意和潜在的购买放弃为代价提高了安全性。本公开的实施例允许无缝的MFA,同时保持相似的安全性级别。
接下来,将描述CoRA的特定用例。拥有六个注册智能装置的用户可以尝试进行在线支付。在用户输入其凭证(例如,信用卡信息)之后,用户装置中的一个(例如,膝上型计算机)可以与附近的用户装置通信,并询问“证人”。如果保证级别3的令牌由用户装置生成,则如本文所述,用户将被授权使用由其信用额度限制的支付。级别二的令牌可以授予最多100美元的支付。级别一的令牌可以允许最多20美元的花费。
C.用于敏感网站的CoRA登录
作为另一示例,本公开的实施例可以允许用户认证访问敏感网站、数据和/或位置。例如,如果用户在家中并且具有接近的多个用户装置(例如,在室内、房间内等),则可以生成级别三的令牌,其可以让用户完全访问敏感网站,例如银行账户。如果用户具有接近的两个用户装置,则用户可以被授权支付他们的账单,并在他们在同一家银行的账户之间转移资金。对于级别一的令牌,用户可以被授权查看近十笔交易,但不与账户交互。在任何时候,用户都能够通过经历交互2FA来实现完全访问。
IX.结论
本公开的实施例通过使用阈值密码法和异常检测来提供协作认证机制。实施例允许分布式MFA方案,其中应用层可以选择安全性和可用性的平衡。由用户装置协作生成的认证令牌可以伴有保证级别,所述保证级别可以帮助认证服务器进行访问控制并向用户授予适当的权限级别。本公开的实施例通过增加MFA中的参与装置的数目来提高安全性。实施例可以在用户装置不向认证服务器发送除保证级别之外的任何额外信息的意义上维护用户隐私。
X.计算机系统
本文中提及的任何计算机系统都可利用任何合适数目个子系统。图18中以计算机设备1800示出此类子系统的示例。在一些实施例中,计算机系统包括单个计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包括多个计算机设备,每个计算机设备都是具有内部组件的子系统。
图18中示出的子系统经由系统总线1805互连。示出额外子系统,例如打印机1804、键盘1808、存储装置1809、耦合到显示适配器1811的监视器1806等。外围装置和耦合到输入/输出(I/O)控制器1801的I/O装置可通过所属领域中已知的任何数目的装置,例如输入/输出(I/O)端口1007(例如USB、),连接到计算机系统。例如,I/O端口1807或外部接口1810(例如以太网、Wi-Fi等)可用于将计算机系统1800连接到例如互联网的广域网、鼠标输入装置或扫描仪。经由系统总线1805的互连允许中央处理器1803与每个子系统进行通信,并控制来自系统存储器1802或存储装置1809(例如,如硬盘驱动器或光盘的固定盘)的指令的执行,以及子系统之间的信息交换。系统存储器1802和/或存储装置1809可以体现计算机可读介质。在本文中提及的任何数据可从一个组件输出到另一组件并且可输出到用户。
计算机系统可以包括例如通过外部接口1810或通过内部接口连接在一起的多个相同组件或子系统。在一些实施例中,计算机系统、子系统或设备可以通过网络进行通信。在此类情况下,一个计算机可视为客户端,且另一计算机可视为服务器,其中每台计算机可以是同一计算机系统的一部分。客户端和服务器可以各自包括多个系统、子系统或组件。
应理解,可使用硬件(例如专用集成电路或现场可编程门阵列)和/或以模块化或集成方式通过通常可编程处理器使用计算机软件将任一个描述的实施例实施成控制逻辑的形式。如本文所用,处理器包括单核处理器、在同一集成芯片上的多核处理器或在单个电路板上或网络化的多个处理单元。基于本文中提供的公开内容和教示,所属领域的一般技术人员将知道和了解使用硬件以及硬件与软件的组合实施所描述实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift等任何合适的计算机语言或例如Perl或Python等脚本语言使用例如常规的或面向对象的技术的由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传递,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、闪存存储器等。计算机可读介质可以是此类存储或传送装置的任何组合。
此类程序还可使用适于通过符合包括互联网协议在内的多种协议的有线、光学和/或无线网络传送的载波信号来编码和传输。由此,可使用利用此类程序编码的数据信号来创建根据一些实施例的计算机可读介质。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,经由互联网下载)。任何此类计算机可读介质可驻存在单个计算机产品(例如,硬盘驱动器、CD或整个计算机系统)之上或之内,并且可存在于系统或网络内的不同计算机产品之上或之内。计算机系统可以包括用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
本文所描述的任何方法可完全或部分地通过计算机系统执行,所述计算机系统包括可被配置以执行所述步骤的一个或多个处理器。因此,实施例可涉及被配置成执行本文所述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或以不同的次序执行。另外,这些步骤的部分可与来自其它方法的其它步骤的部分一起使用。同样,一个步骤的全部或部分可以是可选的。另外,任何方法的任何步骤可以用模块、电路或用于执行这些步骤的其它手段来执行。
可在不脱离实施例的精神和范围的情况下以任何合适方式组合特定实施例的具体细节。然而,其它实施例可涉及与每个个别方面有关的特定实施例,或这些个别方面的特定组合。已出于说明和描述的目的呈现示范性实施例的以上描述。其并非在于是穷尽性的或将实施例限于描述的精确形式,而鉴于上文教示,许多修改和变化是可能的。选择和描述所述实施例以便最好地解释实施例的原理和其实际应用,由此使所属领域的其它技术人员能够最好地利用各种实施例和适合于预期的特定用途的对这些实施例的各种修改。
除非明确指示为相反情况,否则“一”或“所述”的叙述旨在表示“一个或多个”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。
本文中提及的所有专利、专利申请、公开和描述出于所有目的以引用方式全部并入本文。并非承认它们是现有技术。
XI.参考
1.算法、密钥大小和协议报告,h2020-ict-2014项目645421,ECRYPT CSA,2018
2.Barker,E.,NIST特别出版物800–57第1部分,第4版,2016
3.Boldyreva,A.,基于Gap-Diffie-Hellman群组签名方案的门限签名、多重签名和盲签名,载于第6届国际公共密钥密码法理论和实践研讨会论文集:公用密钥密码法(英国伦敦,2003),PKC'03,施普林格出版社(Springer-Verlag),第31-46页
4.Bonneau,J.等人,替换密码的探索:网络认证方案比较评估框架,载于安全与隐私(SP),2012年IEEE研讨会(2012),IEEE,第553-567页
5.Corner,M.D.和Noble,B.D.,零交互认证,载于第8届国际移动计算与网络会议论文集(2002),ACM,第1-11页
6.Czeskis,A.等人,通过机会主义密码身份断言加强用户认证,载于2012年ACM计算机与通信安全会议论文集(2012),ACM,第404–414页
7.Doshi,R.等人,消费者物联网装置的机器学习DDoS检测,载于arXiv预印本arXiv:1804.04159(2018)。
8.EMVCo.3D Secure v2.0,2017。
9.Halevi,T.等人,基于环境传感器数据的NFC装置安全接近度检测,载于欧洲计算机安全研究研讨会(2012),施普林格出版社(Springer),第379-396页
10.Kamvar,S.D.等人,P2P网络中声誉管理的本征信任算法,载于第12届国际万维网会议论文集(2003),ACM,第640–651页
11.Karapanos,N.等人,隔音:基于环境声音的可用双因素认证,载于USENIX安全研讨会(2015),第483-498页
12.Marforio,C.等人,智能手机作为支付的实用和安全位置验证令牌,载于NDSS(2014)
13.Mustafa,M.A.等人,无摩擦认证系统:安全与隐私分析和潜在解决方案,arXiv预印本arXiv:1802.07231(2018)
14.Naor,M.等人,分布式伪随机函数和KDC,载于第17届国际密码技术理论与应用会议论文集(柏林海德堡,1999),EUROCRYPT'99,施普林格出版社(Springer-Verlag),第327-346页
15.Raza,S.等人,物联网中的实时入侵检测,AD Hoc Networks期刊11,8(2013),2661–2674
16.Shoup,V.,实用门限签名,载于第19届国际密码技术理论与应用会议论文集(柏林海德堡,2000),EUROCRYPT'00,施普林格出版社(Springer-Verlag),第207-220页
17.Shrestha,B.等人,无人机救援:使用环境多感测的中继弹性认证,载于国际金融加密法和数据安全会议(2014),施普林格出版社(Springer),第349-364页
18.Shrestha,B.等人,面对上下文操纵对手的上下文接近度检测,arXiv预印本arXiv:1511.00905(2015)
19.Shrestha,B.等人,手机铃声:基于环境音频的零效应第二因素登录的危险,载于2016年ACM SIGSAC计算机与通信安全会议论文集(2016),ACM,第908-919页
20.Shrestha,P.和Saxena,No.,监听手表:使用具有远近攻击弹性的语音信号的可穿戴双因素认证,载于第11届ACM无线和移动网络安全与隐私会议论文集(2018),ACM,第99-110页
21.Truong,H.等人,比较和融合零交互认证中的中继攻击抵抗的不同传感器模式,载于普适计算与通信(PerCom),2014年IEEE国际会议(2014),IEEE,第163-171页
22.Truong,H.等人,使用上下文共存来加强零交互认证:设计、集成和可用性,普适和移动计算16(2015),187-204
23.VISA,AND PYMNTS.COM.我们将如何支付—联网消费者的一周。www.pymnts.com/news/payments-innovation/2018/pymnts-visa-study-on-how-connected-devices-and-voice-change-how-and-who-consumers-pay/在线提供,最后一次访问2018年11月1日,2018年10月
24.万维网联盟(W3C)。Webauthn.www.w3.org/TR/webauthn 4
25.Shamir,A.,如何共享密钥。ACM通讯22,11(1979),612–613
26.Al-Garadi,M.A.等人,物联网(IoT)安全性的机器和深度学习方法调查。arXiv预印本arXiv:1807.11023(2018)
26.CERTICOM研究。第2节:建议的椭圆曲线域参数。www.secg.org/sec2-v2.pdf在线提供,2010
27.IETF.椭圆曲线点的紧凑表示。www.tools.ietf.org/id/draft-jivsov-ecc-compact-05.html在线提供,2014
28.Juniper Research.,在线支付欺诈白皮书。www.experian.com/assets/decision-analytics/white-papers/juniper-research-online-payment-fraud-wp-2016.pdf在线提供,2016
29.Lee,S.-Y.等人,Proliot:基于机器学习方法的IoT装置的异常行为分析(ABP)。载于2017年第27届国际电信网络与应用会议(ITNAC)(2017),IEEE,第1-6页
30.Maurer,U.,使安全多方计算变得简单。离散应用数学154,2(2006),370–381。编码和密码法
31.Nobakht,M.等人,用于使用OpenFlow的智能家庭IoT的基于主机的入侵检测和缓解框架。载于可用性、可靠性和安全性(ARES),2016年第11届国际会议,2016年,IEEE,第147-156页
32.Smart,N.P.,算法、密钥大小和协议报告,H2020-ICT-2014项目645421,ECRYPTCSA。www.ecrypt.eu.org/csa/documents/D5.4-FinalAlgKeySizeProt.pdf在线提供,2018
33.Weir,C.S.等人,用户对电子银行认证令牌的安全性、便利性和可用性的看法。计算机与安全28,1-2(2009),47-62
34.Zarpelao,B.B.等人,物联网入侵检测调查。网络与计算机应用杂志84(2017),25–37
Claims (33)
1.一种方法,其包括:
由发起者装置将见证请求广播到多个认证装置,其中所述多个认证装置分别从一系列保证级别中确定关于所述发起者装置的一个或多个保证级别,并分别确定对应于所述一个或多个保证级别的令牌份额;
由所述发起者装置从所述多个认证装置接收多个见证响应,所述多个见证响应包括与所述一个或多个保证级别中的保证级别相对应的令牌份额集,其中所述令牌份额中的每一个令牌份额是认证令牌的一部分或者是使用密钥份额确定的,所述密钥份额是密码密钥的一部分;
由所述发起者装置通过组合所述令牌份额集中的所述令牌份额来生成所述认证令牌;以及
由所述发起者装置将所述认证令牌传输到认证服务器,其中所述认证服务器验证所述认证令牌。
2.根据权利要求1所述的方法,其中所述多个见证响应中的每一个见证响应进一步包括所述一个或多个保证级别中的至少一个保证级别。
3.根据权利要求1所述的方法,其中所述见证请求指定一个或多个请求的保证级别,并且其中所述一个或多个请求的保证级别包括对应于所述令牌份额集的所述保证级别。
4.根据权利要求1所述的方法,其中所述令牌份额集与所述一系列保证级别中的第一保证级别相关联,并且其中所述方法进一步包括:
确定所述令牌份额集中的所述令牌份额的第一量;以及
由所述发起者装置通过将所述第一量与令牌份额的阈值量进行比较来确定与至少包括所述阈值量的令牌份额的所述令牌份额集相关联的所述第一保证级别。
5.根据权利要求4所述的方法,其中通过对所述令牌份额集的权重求和来确定令牌份额的所述第一量,其中权重的更高值指示所述令牌份额更安全。
6.根据权利要求4所述的方法,进一步包括:
由所述发起者装置获得对应于所述第一保证级别的发起者令牌份额以及当存在较低保证级别时获得任何其它令牌份额。
7.根据权利要求4所述的方法,其中对于所述第一保证级别,令牌份额的所述阈值量是预定的。
8.根据权利要求4所述的方法,其中所述第一保证级别是所述发起者装置持有至少所述阈值量的令牌份额的最高保证级别。
9.根据权利要求4所述的方法,其中所述令牌份额被包括在对应于所述一个或多个保证级别的多个令牌份额中,所述第一保证级别包括分别与一个或多个令牌份额集相关联的一个或多个第一保证级别,并且其中所述认证令牌是一个或多个认证令牌。
10.根据权利要求4所述的方法,进一步包括:
由所述发起者装置将所述第一保证级别传输到所述认证服务器。
11.根据权利要求1所述的方法,其中,在广播所述见证请求之前,所述方法进一步包括:
由所述发起者装置从所述认证服务器接收质询请求。
12.根据权利要求11所述的方法,其中所述认证服务器在从用户装置接收到真实凭证之后生成所述质询请求。
13.根据权利要求11所述的方法,其中所述质询请求经由用户装置从所述认证服务器接收。
14.根据权利要求13所述的方法,其中所述认证令牌经由所述用户装置传输到所述认证服务器。
15.根据权利要求1所述的方法,其中所述多个认证装置在所述发起者装置的通信范围内。
16.根据权利要求1所述的方法,其中生成所述认证令牌进一步包括:
由所述发起者装置从所述令牌份额集中删除重复令牌份额;以及
由所述发起者装置对所述令牌份额集中的剩余令牌份额进行异或运算以确定所述认证令牌。
17.根据权利要求1所述的方法,其中所述见证请求通过蓝牙通信信道广播。
18.根据权利要求1所述的方法,其中,在广播所述见证请求之前,所述方法进一步包括:
由所述发起者装置基于用户输入、内部计时器和异常检测中的至少一者来确定所述见证请求。
19.一种方法,其包括:
由认证装置从发起者装置接收见证请求;
由所述认证装置基于信任得分确定关于所述发起者装置的第一保证级别,所述第一保证级别从一系列保证级别中确定;
由所述认证装置获得对应于所述第一保证级别的令牌份额,其中所述令牌份额是分别与多个认证装置相关联的多个令牌份额中的一个,其中所述多个令牌份额中的每一个令牌份额是认证令牌的一部分或者是使用密钥份额确定的,所述密钥份额是密码密钥的一部分,并且其中组合所述多个令牌份额导致所述认证令牌的生成;以及
由所述认证装置将针对所述第一保证级别的所述令牌份额传输到所述发起者装置。
20.根据权利要求19所述的方法,其中获得所述令牌份额进一步包括:
当存在低于所述第一保证级别的保证级别时,由所述认证装置获得对应于较低保证级别的一个或多个其它令牌份额。
21.根据权利要求20所述的方法,其中传输所述令牌份额进一步包括:
由所述认证装置传输针对每个较低保证级别的所述一个或多个其它令牌份额。
22.根据权利要求19所述的方法,其中所述发起者装置确定与从包括所述认证装置并且接近所述发起者装置的所述多个认证装置接收的阈值量的令牌份额相关联的最高保证级别。
23.根据权利要求19所述的方法,进一步包括:
由所述认证装置至少基于网络数据来确定与所述发起者装置相关联的所述信任得分。
24.根据权利要求23所述的方法,其中所述网络数据包括以下各项中的至少一项:传输速率、数据接收速率、数据分组平均大小、源地址、域名系统信息、IP地址、主机名、信号强度数据和Wi-Fi连接数据。
25.根据权利要求24所述的方法,其中所述信任得分是基于历史典型传输速率与所述传输速率之间的差、历史典型数据接收速率与所述数据接收速率之间的差以及历史典型数据分组平均大小与所述数据分组平均大小之间的差中的至少一者来确定的。
26.根据权利要求23所述的方法,其中所述信任得分是本地信任得分,并且其中确定所述信任得分进一步包括:
由所述认证装置从一个或多个额外认证装置接收一个或多个远程信任得分;以及
由所述认证装置使用所述本地信任得分和所述一个或多个远程信任得分的加权平均值来确定所述信任得分。
27.根据权利要求21所述的方法,其中获得对应于所述第一保证级别的所述令牌份额和对应于所述较低保证级别的所述一个或多个其它令牌份额进一步包括:
由所述认证装置检取对应于所述第一保证级别的第一密钥份额和对应于所述一个或多个其它令牌份额的一个或多个其它密钥份额;
由所述认证装置从所述第一密钥份额导出对应于所述第一保证级别的所述令牌份额;以及
由所述认证装置从所述一个或多个其它密钥份额导出对应于所述较低保证级别的所述一个或多个其它令牌份额。
28.根据权利要求27所述的方法,其中所述第一密钥份额和所述一个或多个其它密钥份额是在所述发起者装置和包括所述认证装置在内的所述多个认证装置之间共享的所述密码密钥的一部分。
29.一种计算机产品,其包括计算机可读介质,所述计算机可读介质存储用于控制计算机系统以执行权利要求1-28中任一项所述的方法的多个指令。
30.一种系统,包括:
根据权利要求29所述的计算机产品;以及
一个或多个处理器,用于执行存储在所述计算机可读介质上的所述多个指令。
31.一种系统,其包括用于执行权利要求1-28中任一项所述的方法的装置。
32.一种系统,其被配置成执行权利要求1-28中任一项所述的方法。
33.一种系统,其包括分别执行权利要求1-28中任一项所述的方法的步骤的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862768002P | 2018-11-15 | 2018-11-15 | |
US62/768,002 | 2018-11-15 | ||
PCT/US2019/048991 WO2020101787A1 (en) | 2018-11-15 | 2019-08-30 | Collaborative risk aware authentication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112970236A CN112970236A (zh) | 2021-06-15 |
CN112970236B true CN112970236B (zh) | 2023-07-04 |
Family
ID=70731651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980073561.5A Active CN112970236B (zh) | 2018-11-15 | 2019-08-30 | 协作风险感知认证 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11895113B2 (zh) |
EP (1) | EP3881517A4 (zh) |
KR (1) | KR20210077703A (zh) |
CN (1) | CN112970236B (zh) |
SG (1) | SG11202104780XA (zh) |
WO (1) | WO2020101787A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022059099A (ja) * | 2019-02-25 | 2022-04-13 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
GB2592364A (en) * | 2020-02-22 | 2021-09-01 | Mccabe Liam | Wireless network security system and method |
EP3897019A1 (en) * | 2020-04-17 | 2021-10-20 | Secure Thingz Limited | A provisioning control apparatus, system and method |
US11392684B2 (en) * | 2020-07-09 | 2022-07-19 | Bank Of America Corporation | Authentication of user activities based on establishing communication links between network devices |
US11641665B2 (en) | 2020-09-09 | 2023-05-02 | Self Financial, Inc. | Resource utilization retrieval and modification |
US20220075877A1 (en) * | 2020-09-09 | 2022-03-10 | Self Financial, Inc. | Interface and system for updating isolated repositories |
US11470037B2 (en) | 2020-09-09 | 2022-10-11 | Self Financial, Inc. | Navigation pathway generation |
US11475010B2 (en) | 2020-09-09 | 2022-10-18 | Self Financial, Inc. | Asynchronous database caching |
US20220123950A1 (en) * | 2020-10-15 | 2022-04-21 | Cisco Technology, Inc. | Multi-party cloud authenticator |
US11824866B2 (en) * | 2021-02-05 | 2023-11-21 | Cisco Technology, Inc. | Peripheral landscape and context monitoring for user-identify verification |
US11677552B2 (en) * | 2021-09-09 | 2023-06-13 | Coinbase Il Rd Ltd. | Method for preventing misuse of a cryptographic key |
WO2023073041A1 (en) * | 2021-10-26 | 2023-05-04 | Assa Abloy Ab | Hardware integrity control of an electronic device |
US20230188527A1 (en) * | 2021-12-15 | 2023-06-15 | Juniper Networks, Inc. | Use of sentiment analysis to assess trust in a network |
US11695772B1 (en) * | 2022-05-03 | 2023-07-04 | Capital One Services, Llc | System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user |
CN114978730B (zh) * | 2022-05-27 | 2023-09-15 | 深圳铸泰科技有限公司 | 一种感知态势处物联网安全检测方法及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243313A (zh) * | 2010-01-12 | 2016-01-13 | 维萨国际服务协会 | 用于对验证令牌的任何时候确认的方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1708528A1 (en) * | 2005-03-31 | 2006-10-04 | BRITISH TELECOMMUNICATIONS public limited company | Location based authentication |
WO2006121854A2 (en) * | 2005-05-06 | 2006-11-16 | Verisign, Inc. | Token sharing system and method |
US8504831B2 (en) | 2010-12-07 | 2013-08-06 | At&T Intellectual Property I, L.P. | Systems, methods, and computer program products for user authentication |
AU2012345478B2 (en) | 2011-12-01 | 2017-11-30 | Integrita Computing Systems India Private Limited | A method of generation and transmission of secure tokens based on tokens generated by TRNG and split into shares and the system thereof |
EP2645664A1 (en) * | 2012-03-30 | 2013-10-02 | Stopic, Bojan | Authentication system and method for operating an authentication system |
TW201417598A (zh) * | 2012-07-13 | 2014-05-01 | Interdigital Patent Holdings | 安全性關聯特性 |
US9148284B2 (en) | 2014-01-14 | 2015-09-29 | Bjoern Pirrwitz | Identification and/or authentication method |
EP3140798A4 (en) * | 2014-05-05 | 2017-12-20 | Visa International Service Association | System and method for token domain control |
US10050955B2 (en) | 2014-10-24 | 2018-08-14 | Netflix, Inc. | Efficient start-up for secured connections and related services |
US10083295B2 (en) * | 2014-12-23 | 2018-09-25 | Mcafee, Llc | System and method to combine multiple reputations |
EP3318036B1 (en) * | 2015-07-02 | 2022-11-23 | Convida Wireless, LLC | Resource-driven dynamic authorization framework |
CN105071938B (zh) | 2015-07-14 | 2018-08-21 | 中国科学技术大学 | 一种基于门限秘密共享的组认证方法 |
US20170149828A1 (en) * | 2015-11-24 | 2017-05-25 | International Business Machines Corporation | Trust level modifier |
US11301550B2 (en) * | 2016-09-07 | 2022-04-12 | Cylance Inc. | Computer user authentication using machine learning |
US10548013B2 (en) * | 2017-03-06 | 2020-01-28 | International Business Machines Corporation | Security of shared credentials in crowdsourced wireless networks |
US20180317085A1 (en) * | 2017-05-01 | 2018-11-01 | Avaya Inc. | Device authentication |
US20190280863A1 (en) * | 2018-03-06 | 2019-09-12 | BizOne Ltd. | Recovery of secret data in a distributed system |
US11038895B2 (en) * | 2018-09-28 | 2021-06-15 | Intel Corporation | Trust management mechanisms |
-
2019
- 2019-08-30 KR KR1020217013746A patent/KR20210077703A/ko not_active Application Discontinuation
- 2019-08-30 US US17/291,090 patent/US11895113B2/en active Active
- 2019-08-30 WO PCT/US2019/048991 patent/WO2020101787A1/en unknown
- 2019-08-30 SG SG11202104780XA patent/SG11202104780XA/en unknown
- 2019-08-30 EP EP19885336.8A patent/EP3881517A4/en active Pending
- 2019-08-30 CN CN201980073561.5A patent/CN112970236B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243313A (zh) * | 2010-01-12 | 2016-01-13 | 维萨国际服务协会 | 用于对验证令牌的任何时候确认的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020101787A1 (en) | 2020-05-22 |
US20210409405A1 (en) | 2021-12-30 |
US11895113B2 (en) | 2024-02-06 |
EP3881517A4 (en) | 2022-01-12 |
CN112970236A (zh) | 2021-06-15 |
EP3881517A1 (en) | 2021-09-22 |
KR20210077703A (ko) | 2021-06-25 |
SG11202104780XA (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112970236B (zh) | 协作风险感知认证 | |
Williams et al. | A survey on security in internet of things with a focus on the impact of emerging technologies | |
Kaur et al. | A lightweight and privacy-preserving authentication protocol for mobile edge computing | |
US9860057B2 (en) | Diffie-Hellman key agreement using an M-of-N threshold scheme | |
KR101486782B1 (ko) | 무한 중첩된 해시 체인들에 의한 1회용 패스워드 인증 | |
Wang et al. | A smart card based efficient and secured multi-server authentication scheme | |
CN112425136B (zh) | 采用多方计算(mpc)的物联网安全性 | |
US20160286393A1 (en) | Method and apparatus for seamless out-of-band authentication | |
Eldefrawy et al. | Mobile one‐time passwords: two‐factor authentication using mobile phones | |
Jeong et al. | An efficient authentication system of smart device using multi factors in mobile cloud service architecture | |
Nyangaresi | A formally validated authentication algorithm for secure message forwarding in smart home networks | |
Meng et al. | Low-latency authentication against satellite compromising for space information network | |
Altaf et al. | A novel authentication and key‐agreement scheme for satellite communication network | |
Nikooghadam et al. | Secure communication in CloudIoT through design of a lightweight authentication and session key agreement scheme | |
Zargar et al. | A lightweight authentication protocol for IoT‐based cloud environment | |
Sharma et al. | Advanced multi-factor user authentication scheme for E-governance applications in smart cities | |
Sharma et al. | Dual factor third‐party biometric‐based authentication scheme using quantum one time passwords | |
Saqib et al. | A systematic security assessment and review of Internet of things in the context of authentication | |
Rana et al. | Privacy-preserving key agreement protocol for fog computing supported internet of things environment | |
Khan et al. | A brief review on cloud computing authentication frameworks | |
US11343278B2 (en) | Apparatus and method for protecting location privacy of cooperative spectrum sensing users | |
Li et al. | An improved authentication with key agreement scheme on elliptic curve cryptosystem for global mobility networks | |
Bhattacharya et al. | ASPA-MOSN: An efficient user authentication scheme for phishing attack detection in mobile online social networks | |
Simplicio Jr et al. | Cryptanalysis of an efficient three‐party password‐based key exchange scheme | |
Dou et al. | CLAS: A novel communications latency based authentication scheme |
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 |