用于执行双因素认证的方法与流程

文档序号:18888896发布日期:2019-10-15 21:24阅读:333来源:国知局
本发明涉及一种用于在客户端和依赖方之间执行双因素认证的方法。客户端例如是移动电话、平板电脑、计算机(pc)或类似物。依赖方例如是能够实现对服务、特别是对安全的软件应用的访问的装置,诸如主机、服务器或类似物。在双因素认证中,优选地使用工业标准u2f(通用第二因素,英语:universalsecondfactor,德语:universellerzweiterfaktor)。u2f规范由fido联盟(线上快速身份质询联盟,英语:fastidentityonline)管理。
背景技术
::通常,通过如下方式发起双因素认证,方式是,为了进行认证,服务提供商(依赖方)询问用户名并且必要时询问相应的密码作为第一因素,其中用户名识别了用户并且密码认证了用户。服务提供商检查这些数据并且如果数据正确,则以u2f的形式开始第二因素的检查(占有)。在第一步骤中,服务提供商(依赖方)将数据分组发送到客户计算机、诸如网络浏览器。该数据分组包括质询(这是一些随机选择的数据)、应用标识符(appid)和密钥标识符(keyhandle),其在初始登录时被储存。客户计算机检查应用标识符,对该应用标识符补充附加的数据、诸如通路标识符(channelid),并且将该数据以散列形式转发给u2f设备。u2f设备例如可以是具有键控器的usb加密狗。u2f设备借助密钥标识符(keyhandle)确定与该会话匹配的私钥(kpriv),并且利用该私钥来对应用标识符和质询的散列值进行签名,从而形成经签名的返回响应。附加地,计数器(counter)被集成到响应中,以便可以辨认重复的u2f设备。客户计算机、诸如网络浏览器将这些数据转发到服务提供商,该服务提供商利用公钥(publickey)检查签名s和其中包含的数据,如果这些数据正确,则授予访问权限。fido-u2f中的挑战在于,fido-u2f被设计为用于在pc或类似物上使用,在pc或者类似物上还可以在usb接口中使用usb加密狗作为第二因素。虽然可以经由nfc或者蓝牙呈现第二因素,然而在这种情况下需要特殊的认证器,该特殊的认证器通常必须特意并且专门地为fido的使用而采购。然而,还希望可以在另外的电子装置、诸如移动电话上进行符合fido-u2f的双因素认证。就这方面来说,还希望可以将用户中已存在的具有非接触式接口的数据载体、诸如信用卡与移动电话相结合用作第二因素,以便根据fido-u2f执行双因素认证。针对进行签名,fido-u2f需要使用椭圆曲线。信用卡或支付卡通常不具有此功能。替换地,允许使用rsa以根据fido-uaf进行签名。在此,除了rsa签名之外,fido还需要产生rsa密钥对。该rsa密钥的产生会在卡上占用太多的计算时间,使得实施时间对于用户是不可接受的,并且在当前的信用卡上不能实现。替换地,可以将联邦德国的新身份证(npa)用作第二因素,并且通过无线电连接与移动电话耦合。但是,目前eid功能仅在该领域中存在的身份证的30-35%中启用。此外,在每次使用时,eid功能需要附加地输入六位数的密码,该六位数的密码必须在将npa保持在移动电话的nfc接口上的期间输入。技术实现要素:本发明要解决的技术问题是,提供一种用于在客户端和依赖方之间执行双因素认证的方法,该方法解决了来自现有技术的已知的问题并且能够实现使用用户已经拥有的装置用于u2f-认证。该方法应当被构造为,使得非专门针对fido使用而设计的装置也可以被用作第二因素,而无需第二因素的发行者(英语:issuer)批准和/或无需依赖方能够辨认与标准化fido方法的区别。该技术问题利用根据独立权利要求1的方法来解决。该方法的优选的设计方案可以在从属权利要求中找到。本发明基于的基本思路是,使用数据载体、特别是emv卡作为第二方式因素(u2f),其中数据载体经由客户端(例如移动电话)与令牌服务器连接。由此,令牌服务器可以(在不必保留用户数据库的条件下)接管另外的服务、诸如资源密集型密钥导出。相应地,本发明涉及一种用于在客户端和依赖方之间执行双因素认证的方法,包括以下步骤:在客户端和依赖方之间执行认证;将认证附加数据从依赖方传送到客户端;通过客户端从令牌服务器请求服务器质询(emv质询);将服务器质询从令牌服务器传送到客户端;在客户端和数据载体之间执行数据交换,其中客户端从数据载体获得数据载体认证数据,其中至少部分地在使用来自服务器质询的数据的情况下计算数据载体认证数据;将认证数据从客户端传送到令牌服务器,其中认证数据包括来自客户端和数据载体之间的数据交换的数据、特别是数据载体认证数据,以及认证附加数据;通过令牌服务器检查认证数据;在令牌服务器中产生认证响应;将认证响应从令牌服务器传送到客户端;以及将认证响应从客户端传送到依赖方,并且通过依赖方检查认证响应。利用根据本发明的方法,可以特别有利地在使用用户的数据载体的情况下执行双因素认证,其中数据载体不必专门地与双因素认证方法中的使用匹配。此外,不必对数据载体、特别是emv数据载体执行pin验证。此外,在该方法中,可以有利地使用简单的令牌服务器,该令牌服务器没有针对每个用户储存了数据的用户数据库。因此,可以在选择数据载体和选择令牌服务器时节省成本。特别地,简单地选择在该方法中待使用的数据载体的方面降低了对于用户的入门障碍,因为用户可以简单地在该方法中使用其已有的数据载体中的一个。与通常的名称相反,依赖方也可以用作与服务装置(诸如网上商店、电子邮件服务等)相对的确认实例。于是,依赖方起认证服务的作用,也称为认证作为一种服务(aaas),其中认证服务接管用于服务装置的(双因素)认证。根据本发明,客户端是诸如移动电话、平板电脑、pc或类似物的装置。依赖方是能够实现对服务、特别是对安全的软件应用的访问的装置,诸如主机、服务器或类似物。依赖方的示例是用户希望获得访问的网络服务,特别是网上商店、银行访问、电子邮件应用或类似物。在客户端和依赖方之间执行认证时,例如查询用户名和密码。数据载体认证数据例如是客户端从数据载体获得的证书、例如发行者证书(发行者)和/或特定于数据载体的证书,以及数据载体认证数据是通过在客户端和数据载体之间的数据交换在使用来自服务器质询的数据的情况下所确定的数据。由此,可以确保数据载体认证数据还考虑服务器质询的内容。数据载体认证数据可以包括附加的数据。从客户端传送到令牌服务器的认证数据有利地包括来自客户端和数据载体之间的数据交换的数据和数据载体认证数据以及来自客户端和依赖方之间的认证的认证附加数据。由此确保在接收到服务器质询时,数据载体在客户端和数据载体之间的数据交换时实际地存在。由于始终依据服务器质询来计算数据载体认证数据,因此将数据载体认证数据多次引入认证数据是显而易见的,其中在每次调用时改变服务器质询。由此,可以有利地防止重放攻击(replay-angriff),因为令牌服务器记住随机产生的服务器质询并且使用该随机产生的服务器质询来检查数据载体数据。根据一种实施方式,在客户端和依赖方之间执行认证时,递交密钥标识符(特别是防止未授权访问的私钥(userprivatekey)、特别是加密的私钥)、质询(特别是fido质询)和/或应用标识符(特别是fido应用标识符)。基于这些数据,可以有利地计算认证响应。由此,确保针对每个双因素认证单独地计算认证响应。此外,本发明可以包括检查应用标识符以及检查在进行认证时利用哪个装置证明第二因素。由此,有利地通知客户端例如数据载体可以被用作第二因素(u2f)。以这种方式针对用户简化了该方法。根据特别优选的实施方式,为了执行该方法、特别是为了执行数据交换,不需要相对于数据载体的pin输入。取而代之,数据载体(u2f)可以相对于令牌服务器认证自身,并且令牌服务器可以优选地借助加密方法相对于依赖方认证自身。不需要、但可以选择性地设置数据载体相对于令牌服务器的pin验证。如果身份证件、特别是德国身份证(npa)被用作数据载体,则始终需要相对于数据载体以及相对于依赖方的pin验证,也就是双pin验证,其必要时可能会被认为是麻烦的。在emv卡中,pin验证不是强制性需要的。此外,根据本发明的另外的特别优选的实施方式,服务器质询除了别的之外具有随机数。随机数例如可以被构造为4字节长的数。通过将随机数发送到客户端,随后可以将随机数例如以签名的形式一起包含在数据载体认证数据中。由此,令牌服务器可以有利地再检查是否已将数据载体实际上“呈现”给了客户端。此外,根据优选的实施方式,为了在客户端和数据载体之间执行数据交换,可以在客户端和数据载体之间建立非接触式和/或接触式的连接。因此,可以经由空中接口将数据载体与客户端连接。为此,通过例如将数据载体保持在客户端(移动电话/平板电脑)的nfc接口上,优选地可以在数据载体和客户端之间建立nfc连接。替换地,可以将数据载体接触式地引入客户端(pc)的读卡器中。根据本发明的另一方面,通过令牌服务器对认证数据的检查可以提供如下证据:在客户端和数据载体之间执行数据交换时,数据载体是物理上存在的。在考虑数据载体认证数据的情况下计算认证数据。来自服务器质询的数据一起输入数据载体认证数据中。因此,认证数据的检查可以有利地提供如下证据:在客户端和数据载体之间执行数据交换期间,数据载体、即第二因素(u2f)是物理上存在的。由此满足了双因素认证中的基本要求。根据另外的实施方式,在通过令牌服务器检查认证数据时,令牌服务器可以在成功检查时根据认证数据解密客户端密钥,其中在产生认证响应时使用客户端密钥。在客户端密钥中有利地包括安全地存储在令牌服务器中的令牌服务器主密钥,以及仅源于数据载体、依赖方和客户端的数据。客户端密钥有利地是所谓的enc/mac包装密钥和/或密钥标识符,其中包括加密的fido私钥(fidoprivkey)。由此,可以有利地低成本地提供令牌服务器,因为在令牌服务器中不必存储用户数据。仅令牌服务器主密钥必须在令牌服务器中、优选在hsm(硬件安全模块)中安全地保管。根据本发明,设置一种客户端,该客户端适合于在根据上述实施方案的方法中使用,其中客户端是移动终端、平板电脑和/或pc。根据这些实施方案,可以特别有利地实施根据本发明的方法。此外,根据本发明的方法可以特别有利地利用配置为用于在根据上述实施方案的方法中使用的系统来实施。根据另外的实施方式,用户的认证不直接在令牌服务器和依赖方之间进行,而是经由其之间连接的认证服务(“身份联合服务”,英文:identityfederationservice)进行。在这种情况下,依赖方经由行业标准联合协议(例如,openidconnect或saml)在认证服务中请求用户认证。由此,认证服务将借助客户端、令牌服务器和数据载体请求用户进行认证。认证过程如上所述地进行,但是是相对于认证服务而不是相对于依赖方进行。在成功认证之后,认证服务相对于依赖方证明了认证,必要时补充了认证服务可以基于其所存储的用户数据执行的、特定于用户的证明或另外的身份数据。总之,利用根据本发明的方法可以将几乎每个数据载体用作第二因素,特别是emv卡可以被用作fido-u2f的第二因素。数据载体不需要具有针对fido所需的加密能力。因此,对于许多人来说取消了采购和保留额外的“第二装置”的必要性。此外,不需要数据载体的发行者(发卡机构)同意实施该方法。由此,该方法可以在没有实质的开销的条件下实现。所需的令牌服务器不需要在其中存储有用户数据/客户端数据的数据库。因此,令牌服务器简单并且成本低。仅使用hsm来保持令牌服务器主密钥是有利的。通过在计算数据载体认证数据时使用服务器质询,根据本发明的方法相对于客户端上的木马病毒是安全的。该方法的另外的优点是,仅短暂地在客户端和数据载体之间执行数据交换期间,数据载体必须保持在客户端的附近。由此将无意地中断认证的可能性保持为低。附图说明图1示意性地示出了根据本发明的双因素认证的流程;图2在更详细的图示中示出了根据本发明的双因素认证的流程;以及图3示出了表示根据本发明的双因素认证的流程图。具体实施方式下面,参考图1至图3详细地描述本发明的示例性的实施方式。在由权利要求所限定的保护范围内,可以进行关于所描述的方法的改变。图1示意性地示出了根据本发明的在客户端和依赖方之间的双因素认证的流程。客户端例如是移动电话、平板电脑、计算机(pc)或类似物。依赖方例如是能够实现对服务、特别是对安全的软件应用的访问的装置,诸如主机、服务器或类似物。在双因素认证中,优选地使用工业标准u2f(通用第二因素,英语:universalsecondfactor,德语:universellerzweiterfaktor)。u2f规范由fido联盟管理。在根据本发明的双因素认证中,首先(步骤1)在客户端和依赖方之间执行认证。这例如可以通过在网络浏览器中输入用户名和密码来执行。在下一步骤2中,将认证附加数据从依赖方传送到客户端。认证附加数据例如可以是(fido)密钥标识符、fido质询和(fido)应用标识符。这些术语从fido标准中充分已知,因此除了以下对术语的简要描述之外,省略了描述。密钥标识符识别并且具有私钥(userprivatekey),用于以加密的方式后续对用户相对于依赖方的认证。质询是用于加密操作的常规质询,例如随机数。应用标识符识别(网络)服务,在该服务中用户想要认证自身。在随后的可选的步骤3中,可以检查应用标识符。此外,可以在步骤3中检查以何种方式可以证明第二因素(u2f)。在该情况下,假设允许数据载体作为第二因素。在后续步骤4中,客户端从令牌服务器请求服务器质询。如果待使用的数据载体是emv卡,则该服务器质询也可以被称为emv质询。服务器质询包括令牌服务器提供的随机数(unpredictablenumber)。例如,随机数至少长4个字节。在稍后的步骤6(见下文)中由数据载体检查服务器质询,特别是进行签名。通过签名,令牌服务器可以检查数据载体是否已经实际呈现给客户端。由于在服务器质询中包含随机数,因此由攻击者进行重放攻击的可能性变得更加困难。在步骤4中,可以在请求服务器质询的范围内从客户端向令牌服务器传送认证附加数据。替换地,可以在步骤7中传送这些认证附加数据(见下文)。在步骤4和/或7中是否将认证附加数据传送到令牌服务器是无关紧要的。随后,在另外的步骤5中将服务器质询从令牌服务器传送到客户端。随后,在客户端和数据载体之间执行数据交换(步骤6)。在数据交换的过程中,数据载体例如非接触式地或者接触式地与客户端连接。在数据载体和客户端之间对数据进行交换。例如,客户端可以从数据载体获得至少一个证书,特别是issuerpkcert和cardpkcert。此外,在步骤6中,客户端将服务器质询发送到数据载体,其中数据载体计算数据载体认证数据,并且服务器质询一起输入数据载体认证数据的计算中。由于服务器质询一起输入数据载体认证数据的计算中,因此来自服务器质询的随机数也一起输入计算中。根据本发明,客户端仅从数据载体接收数据载体认证数据而不检查该数据载体认证数据,因为根据本发明,在稍后的时刻在令牌服务器中进行检查(步骤8-10)。在令牌服务器中进行检查的稍后时刻,不再需要将数据载体与客户端连接。在后续的步骤7中,将认证数据从客户端传送到令牌服务器,其中认证数据包括来自客户端和数据载体之间的数据交换的数据、特别是数据载体认证数据,以及认证附加数据。来自与数据载体的交换的数据例如可以包括issuerpkcert、cardpkcert和数据载体认证数据。来自与依赖方的交换的数据可以包括密钥标识符、应用标识符的散列以及客户端数据的散列,其中客户端数据具有原始(fido)质询。在下一步骤8中,通过令牌服务器检查传送到令牌服务器的认证数据。在检查中,令牌服务器可以借助现有的“支付方案公钥(paymentschemepublickey)”检查issuerpkcert,借助现在已检查的“发行方公钥(issuerpublickey)”检查cardpkcert,并且借助现在已检查的“卡公钥(cardpublickey)”检查数据载体认证数据。如果所有检查都成功,则确保数据载体认证数据源于真正的数据载体(例如emv卡)或者由真正的数据载体进行签名,即,实际地呈现对应的数据载体。例如,在使用emv卡时,令牌服务器可以说服自己,唯一地识别emv卡的数据(主账号(primaryaccountnumber)、pan序号(可选)和到期日)源于所使用的emv卡。在此,令牌服务器实施由终端在已知的emv交易中执行的步骤。在成功检查的情况下,令牌服务器在下一个可选步骤9中从认证数据解密客户端密钥。为此,令牌服务器例如可以解密私钥(也被称为客户端密钥),该私钥(必要时与另外的数据一起)包含在现有的密钥标识符(参见上文)中。可以从以下数据中导出用于解密密钥标识符的优选地所需的(对称)密钥“kwrap”:令牌服务器的主密钥(德语:hauptschlüssel)、个人帐号(pan)、(可选)pan序列号、(可选)到期日、(可选)另外的数据。根据替换方案,密钥“kwrap”例如可以是关于卡数据(pan、pan序列号、到期日等)的散列值的加密或解密的结果。用于密钥导出的所有的与用户相关的数据源于客户端、数据载体或依赖方。用户数据库不必保留在令牌服务器中。由此可以容易地配置令牌服务器,并且结果可以成本更低地配置令牌服务器。仅必须安全地保管根据优选的实施方式待使用的令牌服务器的主密钥,以确保该方法的安全性。为此提供hsm(硬件安全模块,英语:hardwaresecuritymodule)。随后,在下一步骤10中,在令牌服务器中产生认证响应。在数据载体的当前情况下,认证响应用于确认第二因素(u2f)的真实性。在本实施例中,可以借助私钥产生(fido)认证响应消息,其中其是借助私钥关于散列(应用标识符)、散列(客户端数据)的签名,其中利用该散列还间接地对依赖方的原始fido质询进行签名、对计数器(emv卡的应用事务计数器)等进行处理。此后,在随后步骤11中,将认证响应必要时结合另外的数据发送到客户端,并且在那里在另外的步骤12中发送到依赖方。替换地,也可以将认证响应直接发送到依赖方。随后(步骤13),依赖方检查认证响应;在前述实施例中,依赖方检查(fido)认证响应(的签名)。为此,依赖方使用公钥(客户端密钥)。该检查可以根据fido标准进行,因此不再进一步解释。图2示出了在使用emv卡作为数据载体时根据本发明的认证的流程。emv卡通常是根据emv规范(europayinternational,mastercard和visa)构造的支付卡。目前,emv卡被指定为不能计算在非对称加密系统中使用的并且在fido-u2f认证中需要的椭圆曲线。对应地,根据本发明的方法除了别的之外适用于使用emv卡(数据载体)作为第二因素(u2f),因为emv卡可以以与令牌服务器共同作用的方式来扩展根据fido所需的计算。在此,图2示出了根据本发明的双因素认证的示例性流程,在该双因素认证中用户尝试在浏览器(fido客户端)中登录依赖方的网页。图2中所示的步骤基本上与图1中已经说明的步骤对应,因此省略重复的详细描述。图3示出了表示根据本发明的双因素认证的流程图,其中,与图2类似,同样地使用emv卡作为数据载体。图3中的流程基本上对应于图1和图2中所示的流程,因此省略重新的描述。另外的实施例是具有如上所述的emv卡也具备的功能的移动电话、例如智能手机。该功能例如可以在移动电话的安全元件(se)(例如sim卡)中、在移动电话的可信执行环境(tee)(即,针对使用的安全的运行时环境)中或者在移动电话的主机卡仿真(hce)(即,基于nfc的移动支付方法中的用于芯片卡虚拟化的技术)中实施。由此,移动电话具有虚拟的卡功能。本领域技术人员从以上描述中认识到,在权利要求的保护范围内,可以对根据本发明的方法进行各种各样的改变。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1