客户端的认证
技术领域
各种实施例涉及用于认证客户端的方法、设备和计算机程序产品。
背景技术
在一切事物越来越多地连接和电子控制的世界中,认证客户端(或用户)越来越重要。
当今最常见的认证方法是用户通过密码(secret code)(例如个人识别码(PIN)代码或口令(password))认证自身。
在用户多次输入错误密码的情况下可能发生这种情形(例如如果用户忘记了密码或将其与另一密码混淆,这对用户必须记住的密码可能很容易发生)。这种情况下,用户通常在一定次数尝试之后被阻止。
如果用户使用指纹传感器进行认证,则如果用户的用于认证的手指受伤(例如割伤皮肤),则可能无法再进行认证。
可以在用户忘记密码或可能无法使用主认证方法的情况下用作后备认证方法的已知其他认证方法例如:
a)用户应回答“安全问题”,例如母亲的出生姓名或他最喜欢的颜色。
b)需要软件令牌(例如每短消息服务(SMS)向用户发送的或由移动应用生成的“机密(secret)”)。
c)需要由硬件令牌设备生成的机密。
但是,这些方法有缺点。静态的“安全问题”相当不安全,答案可以很容易猜到或调查到。此外,用户必须预先设置这些问题。软件令牌依赖于便携式设备,例如依赖于可能丢失、被盗或电池耗尽的智能电话。此外,移动设备是潜在攻击者的明显目标。硬件令牌是一种更安全的解决方案,但它需要专门的硬件,这些硬件可能会被损坏、丢失或遗忘(特别是不是每天使用时)。此外,硬件令牌通常包括电池,因此需要定期维护(例如更换电池或更换硬件令牌)。
发明内容
需要一种减轻这些缺点的替代认证方法。
独立权利要求的特征满足了这种需要,其中客户端可以是用户。从属权利要求限定了对独立权利要求的改进和进一步的实施例。
根据一个方面,提供了一种用于认证客户端的方法。所述方法包括确定将要用于所述客户端的认证的设备以及接收所述设备的参数值。所述方法进一步包括接收所述客户端的认证值以及基于所述认证值和所述参数值来认证所述客户端。
根据另一方面,提供了一种用于认证客户端的装置。所述装置适于执行确定将要用于所述客户端的认证的设备以及接收所述设备的参数值。所述装置还适于执行接收所述客户端的认证值以及基于所述认证值和所述参数值来认证所述客户端。
根据另一方面,提供了一种用于认证客户端的装置。所述装置包括:被配置为确定将要用于所述客户端的认证的设备的第一模块;以及被配置为接收所述设备的参数值的第二模块。所述装置还包括:用于接收所述客户端的认证值的第三模块;以及用于基于所述认证值和所述参数值来认证所述客户端的第四模块。所述第二和第三模块可以组合成一个模块。
根据另一方面,提供了一种用于认证客户端的装置。所述装置包括至少一个处理器。所述装置还包括存储器,所述存储器包含程序,所述程序包括能够由所述至少一个处理器执行的指令。所述至少一个处理器被配置为确定将要用于所述客户端的认证的设备以及接收所述设备的参数值。所述至少一个处理器还被配置为接收所述客户端的认证值以及基于所述认证值和所述参数值来认证所述客户端。
根据另一方面,提供了一种计算机程序。所述计算机程序包括由装置的至少一个处理器执行的程序代码,其中所述程序代码的执行使得所述至少一个处理器执行用于控制客户端的方法。所述方法包括确定将要用于所述客户端的认证的设备以及接收所述设备的参数值。所述方法进一步包括接收所述客户端的认证值以及基于所述认证值和所述参数值来认证所述客户端。
所述设备可以是所述客户端可以从其访问(例如读取)参数值的设备(例如参数值可以是里程表值的车辆)。
应当理解,在不脱离本发明的范围的情况下,上述特征和下面还要说明的特征不仅可以以所示的组合使用,而且可以以其他组合或单独使用。在其他实施例中,上述方面和实施例的特征可以彼此组合。
上述方法、装置和计算机程序提供的优点是,客户端可以访问的可用连接设备的参数能够用作用于客户端的认证的本机(native)令牌源。不需要用于令牌生成的特殊软件或硬件/特殊设备,这对用户更加友好。越来越多的连接设备扩展了能够用作用于认证的令牌源的设备基础。
在一个实施例中,这些连接设备中的多个设备能够被配置为用作潜在的令牌源。这使得大量现有设备能够用于认证,并且消除如果这些设备中的一些可能不可用(例如如果设备丢失、被盗、损坏、无法访问或电量耗尽)时的潜在问题。如果单个连接设备支持多个参数作为令牌源和/或如果支持多个设备作为令牌源,则能够每次认证尝试都更改要用作令牌源的参数值和/或设备,这进一步提高认证过程的安全性。其他可变参数能够用于认证,这使得几乎不可能猜测参数值并且提高认证过程的安全性。
由于对连接设备的访问通常通过单独的手段来保护,因此未经授权的人员不能轻易地访问用作令牌源的连接设备。
此外,能够避免黑客的潜在目标作为令牌源(例如智能电话)。相反,不太受黑客欢迎的目标能够用作令牌源。然而,如果使用智能电话作为令牌源的风险是可接受的,则所描述的用于认证的方法仍然能够与源自智能电话的一个或多个参数值一起使用。
附图说明
当结合示出示例实施例的附图阅读时,从以下详细描述中,本发明的前述和附加特征和效果将变得显而易见。附图中所示的元件和步骤示出了各种实施例,并且还示出了可选的元件和步骤。这些附图是:
图1a示出了包括用作令牌源的车辆的示例实施例,其中在受保护对象(securedobject)中执行认证;
图1b示出了包括用作令牌源的车辆的另一示例实施例,其中在网络实体中执行认证;
图1c示出了包括用作令牌源的车辆的另一示例实施例,其中在直接与车辆通信的受保护对象中执行认证;
图2a示出了关于图1a中所示的示例实施例的消息流程图的示例实施例;
图2b示出了关于图1b中所示的示例实施例的消息流程图的示例实施例;
图2c示出了关于图1c中所示的示例实施例的消息流程图的示例实施例;
图3示出了用于认证客户端的方法的示例实施例;
图4示出了用于认证客户端的装置的示例实施例;
图5示出了用于认证客户端的装置的另一示例实施例。
具体实施方式
在以下描述中,出于解释而非限制的目的阐述了细节,诸如关于可以用作令牌源的一个或多个设备以及一个或多个设备参数的示例实施例,以提供对本发明的透彻的理解。对于本领域技术人员来说显而易见的是,可以在脱离这些细节的其他实施例中实践本发明。例如,本领域技术人员将理解,可以利用可以提供可以在客户端的认证过程中使用的参数值的任何设备来实践本发明。这同样适用于执行认证的设备或装置,其可以是例如受保护对象、服务器或任何网络实体。
将参考附图详细描述实施例。本发明的范围不受下文描述的实施例或附图的限制,其仅用于说明。附图中所示的元件或步骤可以是可选的和/或它们的顺序可以是可更换的。
附图被视为示例示意图。附图中示出的流程图和元件不一定按比例示出。相反,表示各种元件使得它们的功能和一般目的对于本领域技术人员而言是显而易见的。附图中示出的或本文描述的功能块、设备、组件或其他物理或功能单元之间的任何连接或耦合也可以通过间接连接或耦合来实现。还可以通过任何固定或无线连接建立组件之间的耦合。功能块可以以硬件(HW)、固件、软件(SW)或其组合来实现。附图未必示出所示设备的所有元件和功能块。特别是可能未示出在以下描述中未使用或不需要的元件/块,即使它们可能是设备的组成部分。附图和描述集中于用于描述所要求保护的主题的元件和功能块。
关于完成客户端认证的用例描述了以下详细示例实施例。但是,这不应被解释为限制。可以在应完成客户端的认证的任何场景中使用所描述的方法、实体/设备/对象或客户端。例如,当客户端想要通过智能家居服务器访问他的家、当客户端想要访问锁定或受保护对象时或者当客户端想要访问保护服务器时,可以完成客户端的认证。其他用例可能是访问银行账户(例如在国外和卡被盗或丢失时进行紧急转账)、进入建筑物(例如办公室、车库、某人做家务工作的家,或打开包含密钥的盒子,例如酒店的房间)或访问网络服务(例如电子邮件)。
客户端可以是想要通过认证自身来访问受保护对象或信息的用户或个人。然而,客户端也可以是用户或个人用于执行认证过程的客户端设备。这样的设备可以是任何移动设备(例如智能电话、个人数字助理(PDA)、膝上型电脑或平板电脑)或用户用来执行认证的固定安装的设备(例如固定安装的显示器/触摸屏和/或固定安装的键盘)。
令牌是用于客户端的认证的密钥。令牌可以是客户端访问的连接设备的参数值。用作令牌的设备的参数值(最初不打算用于此目的)可以称为“本机”令牌。
受保护对象可以是需要认证以访问或访问其内容的任何对象。例如,受保护对象可以是用锁来保护的用户的家、用锁来保护的房间或门、保护信息或有形资产的保险箱或任何其他对象、网站或服务器、或禁止未经授权和/或无法通过认证的客户端/用户访问的任何事物。
网络实体可以是能够执行认证或参与认证过程的服务器或网络元件。网络实体可以是服务器,例如访问提供要在认证过程中用作令牌的参数值的设备的服务器。网络实体可以经由优选地被保护的连接(例如彼此信任的两个实体/设备之间的加密连接)与设备和另一实体/受保护对象通信。
要用于认证的设备(例如提供在认证过程中用作令牌的参数值)可以是连接到网络或实体/受保护对象的固定或移动设备。例如,安装在房屋中的智能仪表、车辆(例如汽车或摩托车)或用户的移动设备(例如智能电话、智能手表、数字耳机或相机)。可以通过特殊手段(例如PIN码或密钥,例如汽车钥匙)来保护对设备的用户/客户端访问。
认证类型可以涉及要用于认证的设备和/或参数值(令牌)的类型。认证类型可以是“经由车辆的认证”、“经由智能仪表的认证”、“经由智能设备的认证”或“经由可穿戴设备的认证”。认证类型可以涉及一组设备(例如车辆)或专用设备(例如具有特殊牌照或特殊车辆识别号的车辆)。此外,认证类型还可以包括可用作用于认证的令牌的一个或多个参数,例如在认证类型“经由车辆的认证”的情况下,类型还可以包括要使用的参数(里程表值、燃料水平、到下一次检验的里程、…)。
设备的参数值可以是与设备相关联的任何参数,例如智能仪表值、车辆里程表值、车辆燃料水平指示符、车辆仍然可以用剩余天然气驱动的公里数、当天到目前为止步行的步数(例如通过智能手表或可穿戴智能设备计数)、移动电话的最后一个被叫号码、过去一段时间移动电话使用的流量、移动设备的电池电量、耳机的当前音量级别、或存储在相机内存中的照片数量。参数值可以是设备的固定值或变量值,但是可变值是优选的,因为它由于其改变的性质而更安全(例如被窥视的可变参数值在一段时间之后已经过时)。
收发机是用于与另一设备或实体通信的元件。收发机可以包括单独的或组合的接收机(RX)和发射机(TX)组件。
当今许多日常使用和/或可由人访问的设备具有网络访问并且被连接(例如连接到互联网中的服务器、本地服务器或其他连接设备)。随着物联网(IoT)和机器型通信(MTC)的引入,预计未来连接设备的数量将增加。这些设备通常包括通常是可变参数的参数。对这些设备的访问通常限于特定组的特定人/用户,未经授权的访问被禁止。建议将一个或多个连接设备的这些参数值中的一个或多个用作用于认证目的的“密码”(“本机”令牌)源。
这使得能够使用替代方式通过利用现有设备和基础设施(与这些设备的连接)来认证客户端(例如用户)。它不依赖于移动设备(例如智能电话),但移动设备的使用不受限制。
图1a示出了所提出的解决方案的示例实施例。客户端1-1(例如用户)想要访问受保护对象1-2。受保护对象可以是例如客户端的房屋、保险箱或可以被锁定的任何其他对象。备选地,受保护对象也可以是在客户端寻求访问的设备或服务器或网页上(例如在线银行或购物应用或网页上)运行的应用。受保护对象1-2可以包括锁1-21、认证功能1-22和收发机1-23。如果客户端1-1被成功认证,则可以打开锁1-21,从而提供对受保护对象或信息的访问。认证功能1-22可以是受保护对象的一部分或者位于连接到受保护对象的单独设备上(未示出,例如控制对受保护对象的访问的服务器或设备)。
在以下对图1a中所示的示例的描述中,假定受保护对象是客户端寻求进入的客户端的房屋。房屋可以包括控制对房屋的进入的智能服务器,其中认证功能可以是智能服务器的一部分。
客户端1-1可以通过在入口门处的例如键盘或触摸屏(未示出)输入1-9PIN码来尝试进入房屋。备选地,客户端可以通过移动设备连接到智能家居并经由移动设备提供PIN。如果客户端几次(例如3次)输入或提供了错误的PIN码,智能家居可能会阻止这种认证方式,并可能要求替代类型的认证,这可能已由客户端预先配置。客户端可以预先配置(和/或启用)一个或多个替代认证类型(例如认证方法)。如果可能有(或预先配置)多种替代认证类型,则可能会询问客户端他想要使用的替代认证类型。认证功能1-22可以验证是否支持(或允许)客户端选择的认证类型。在所描述的实施例的变型中,甚至在他开始第一次认证尝试之前,可以首先询问客户端要使用的认证类型。在另一个变型中,认证功能1-22可以选择要使用的认证类型并通知客户端1-1。
在本示例中,要使用的认证类型(或由客户端或认证功能选择的认证类型)是“经由车辆的认证”(例如客户端的车辆1-4),其中车辆的里程表值可以用作密码(令牌)。车辆1-4的里程表值由受保护对象1-2的认证功能1-22从能够访问车辆1-4的网络实体1-3接收(1-18)。客户可以访问车辆以从车辆获得(1-19)(例如读取)里程表值并且将其作为认证值提供(1-9)给认证功能1-22。认证功能基于客户端1-1提供的认证值(例如读取的里程表)和经由网络实体1-3接收的参数(里程表)值执行认证,并且如果认证成功,则打开锁1-21或允许访问所请求的对象和/或信息。
网络实体1-3可以优选地经由加密的安全连接而连接到车辆1-4。网络实体1-3可以是例如车辆制造商的网络实体,其具有(或能够)访问车辆1-4的参数。网络实体1-3可以包括一个或多个收发机(1-33、1-35)和控制对车辆1-4的访问的控制功能1-34。网络实体1-3可以从车辆1-4请求(1-25)里程表值,并且车辆可以返回(1-26)里程表值作为对请求的响应。备选地,车辆1-4可以周期性地(例如每小时)向网络实体1-3报告里程表值,从而不需要专用请求(1-25)。
受保护对象1-2的认证功能1-22可以连接到网络实体1-3。该连接优选地是加密的安全连接。可以从网络实体1-3请求(1-16)车辆1-4的里程表值。响应于该请求,网络实体1-3可以提供(1-18)里程表值。备选地,网络实体1-3可以在没有任何专用请求1-16的情况下周期性地(例如每小时)向受保护对象1-2报告(1-18)车辆的里程表值。
如果里程表值由车辆1-4和/或网络实体1-3周期性地报告(1-26、1-18),则它可能与客户端从车辆1-4获得(1-19)的里程表值不匹配,因为报告(1-26、1-18)里程表值的时间和获得(1-19)里程表值的时间可能不相同。因此,认证功能1-22可以根据这些值的预期准确性来应用用于认证客户端的的不同标准。例如,认证功能1-22可以检查完全匹配,或者提供的值是否在定义的范围内以认证客户端1-1。备选地,认证功能1-22可以在认证客户端时忽略定义量的最低有效数字或比特以解决预期的不准确性。
在所描述的实施例的进一步改进中,可以选择参数作为通常不由设备显示或提供的密码(令牌)(例如,如果设备是车辆,完成上次保养时的日期或者里程表值可以用作用于认证的令牌)。可以由网络实体1-3启用客户端1-1对该信息的访问。
图1b示出了图1a中所示的示例实施例的变型。与图1a相比的主要区别在于认证功能1-32的位置,认证功能1-32在图1a中位于受保护对象1-2中而在图1b中位于网络实体1-3中。
图1b中所示的场景可以适用于例如拥有网络实体1-3的车辆制造商不允许访问车辆1-4的参数值(例如里程表值)的情况。在这种情况下,基于车辆的参数值(这里的里程表值)的认证可以在车辆制造商的领域内发生,例如在制造商的网络实体1-3中发生。
对具有与图1a中相似的附图标记的元件和步骤的描述也适用于图1b。客户端1-1经由访问控制功能1-24(其可以包括用于输入认证值和可选地认证类型的键盘或触摸屏)向受保护对象1-2提供认证值(从车辆获得(1-19)的里程表值)。认证值然后可选地与认证类型(1-12)一起被转发(1-20)到容纳认证功能1-32的网络实体1-3。如果客户端拥有例如能够用于认证的若干车辆或者如果在认证过程中可以将若干不同车辆参数用作“密码”(令牌),则可能需要认证类型。然后,由网络实体1-3的认证功能1-32基于从车辆1-4获得(1-18)的参数值和认证值(1-20)以及可选的由受保护对象1-2/客户端1-1提供的认证类型(1-12)来执行认证(该认证以与针对上面图1a所述的方式相当的方式完成)。然后,网络实体1-3将认证过程的结果(成功/不成功)返回(1-30)到受保护对象1-2,受保护对象1-2然后允许经由协调和控制对受保护对象1-2的访问的访问控制功能1-24来访问所请求的信息或对象。
图1c示出了图1a中所示的示例实施例的另一变型。与图1a相比的主要区别在于,受保护对象1-2可以直接与设备(车辆)1-4通信,并且因此图1a的网络实体1-3不再参与认证过程。受保护对象1-2和车辆1-4之间的连接可以经由固定、蓝牙、无线局域网(WLAN)、蜂窝或机器到机器连接来实现。该连接可以是直接连接,或者可以例如在蜂窝连接的情况下涉及若干中间(网络)元件。受保护对象1-2和车辆1-4之间的连接优选地是安全和/或加密连接,并且可以仅根据请求(例如如果客户端1-1选择经由车辆1-4的参数(此处是里程表)值进行认证作为认证类型,则由认证功能1-22触发)建立。
如关于图1a所描述的,车辆1-4可以根据请求或周期性地提供(1-18)参数值(此处是里程表值)(如果启用以及如果可以建立与受保护对象1-2中的认证功能1-22的连接)。
使用车辆作为用作“密码”(令牌)源的设备(如图1a至1c中所述)提供了引入另一安全级别的优点,因为车辆只能由拥有车钥匙的人进入。这同样适用于用作“密码”源的其他设备,例如,适用于位于上锁的房屋/位置中的智能仪表或者适用于由屏幕锁定码保护的便携式设备(例如智能电话或智能手表)。
与图1a至1c中所示的示例相关的所述解决方案不限于使用车辆作为“密码”(令牌)的源和车辆的里程表值作为“密码”(令牌)。可以使用可以由客户端和认证功能(经由网络实体1-3或直接)访问并且可以直接向认证功能提供也可以由客户端1-1获取的参数值的任何设备。这种设备的其他示例可以是智能仪表(其中密码可以是仪表值)或例如智能手表的移动设备(其中密码可以是受监控的客户端参数,例如今天完成的步数)或移动电话(其中密码可能是最后一个被叫号码、当天/周/月的来电/去电的分钟数等等)。
图2a示出了与图1a有关的消息流程图的示例实施例,其中客户端2-1的认证由受保护对象2-2执行,并且其中经由网络实体2-3提供将被用作“密码”(令牌)的设备2-4的参数值。
在可选步骤2-11中,可以在容纳认证功能的受保护对象2-2中配置所支持的认证类型。该配置可以例如由客户端(未示出)预先完成。所支持的认证类型可以是例如“经由车辆的认证”、“经由智能仪表的认证”或“经由智能设备的认证”。认证类型可以包括要使用的设备的标识。例如,如果客户端拥有多个“智能设备”,则“经由智能设备的认证”的简单指示可能还不够。因此,要使用的智能设备以及可选地要使用的参数可以被定义为所配置的认证类型的一部分。
可选步骤2-22示出了客户端2-1的主认证尝试。如果主认证尝试失败(可选步骤2-23),则客户端可以在步骤2-12中启动替代(例如后备)认证过程。主认证可能是默认认证类型(例如经由PIN的认证)。备选地,可能根本没有默认认证类型,并且客户端可以直接通过步骤2-12或通过提供认证值(在这种情况下,步骤2-19和2-20更早地发生,例如在步骤2-12的位置处发生)来启动认证过程。
在步骤2-12中,客户端2-1可以向受保护对象2-2中的认证功能指示将要使用的认证类型。如果只支持一种认证类型,则客户端可以省略此步骤。“将要使用的认证类型”指示可以包括关于要用于认证的设备2-4的信息。例如,如果在认证类型的相同的一般类别中存在多个设备(例如“经由车辆的认证”类型中的2个或更多个车辆),则认证可以包括用于识别设备的进一步信息(例如车辆标识,例如汽车或摩托车的牌照)。如果存在所支持的用于认证的设备2-4的多个参数,则认证类型还可以包括关于要用于认证过程的参数的信息。
在步骤2-13中,受保护对象2-2可以检查是否支持由客户端2-1指示的认证类型。该检查可以包括检查是否支持所识别的用于认证的设备和/或所识别的参数。如果不支持“将要使用的认证类型”(或所指示的设备或参数),则受保护对象2-2可以例如经由向客户端显示消息(例如错误消息,未示出)来向客户端2-1指示这一点,并终止认证尝试。步骤2-13是可选的,并且如果仅支持一种认证类型或省略步骤2-12,则可能不进行步骤2-13。在变型中,受保护对象可以自身从所支持的认证类型中选择将要使用的认证类型,然后例如通过在步骤2-15(在下文描述)中请求认证值来通知客户端所选择的认证类型。
在步骤2-14中,该设备以及可选的用于认证过程的参数由秘密对象(secretobject)2-2确定。该确定可以基于在步骤2-12中接收的认证类型信息来进行、可以基于所配置的设备以及可选地所配置的受保护对象中的参数信息来进行(例如,如果仅支持一种认证类型或者如果将使用默认认证类型/参数)、或者可以由受保护对象2-2基于所选择的认证类型来进行。在图2a所示的示例中,车辆2-4被确定为该设备,里程表值被确定作为将要使用的参数。
在可选步骤2-15中,受保护对象2-2向客户端2-1指示从客户端请求哪个值作为认证值。该指示是可选的,因为例如基于他可能已经在步骤2-12中向受保护对象指示的认证类型或者如果仅支持一个认证类型或设备或参数,客户端可能已经知道将要使用的认证值。请求2-15可以包括关于在步骤2-14中确定的设备和/或参数的信息。请求2-15也可以在不同的时间点(例如在步骤2-16和2-19之间)发送。
在步骤2-16中,受保护对象2-2可以从网络实体2-3请求将要用于认证过程的设备的参数的值。请求2-16可以包括设备2-4的标识和/或关于将要用于认证过程的参数的信息。步骤2-16是可选的,因为在备选实现中,网络实体2-3可以基于其自己的意向(例如每小时周期性地)(例如如果受保护实体可能早先订阅了网络实体2-3(未示出)处的参数值的定期报告)向受保护实体2-2报告将要用于认证过程的参数的值。如果设备支持多个参数,则能够通过更改要在每次认证尝试时使用的参数来提高安全性。
在可选步骤2-25中,网络实体2-3向设备2-4请求参数的值。请求2-25可以包括将要用于认证过程的参数的标识。与步骤2-16类似,步骤2-25是可选的,因为在备选实现中,设备2-4可以基于其自己的意向(例如每小时周期性地)(例如网络实体可能早先订阅了设备2-4(未示出)处的参数值的定期报告)向网络实体2-3报告参数的值。
在步骤2-26中,设备2-4向网络实体2-3提供参数值,然后网络实体2-3将步骤2-18中的参数值提供给受保护对象2-2。如上所述,步骤2-26和/或2-18可以基于请求或设备自己的意向(例如在固定的时间点或段)完成。
可选地,受保护实体2-2可以通过向网络实体2-3指示设备的参数值来启用对步骤2-17中的设备的参数值的访问。网络实体2-3可以在步骤2-31中将该指示转发给设备2-4。启用可以是例如解锁安全机制以允许访问设备(例如解锁车辆)和/或启用对参数值的访问(例如通过开启显示器和/或显示所请求的通常可能不显示的信息)。该参数可以是设备的任何参数,其从设备外部不是已知的或可见的。优选地,该参数是可变参数(例如车辆的里程表值)。参数值也可以是通常不能从设备访问但是通过特殊过程或者当访问被启用时(例如由客户端2-1或网络实体2-3)可以访问的值。
步骤2-16和2-17以及步骤2-25和2-31可以组合成一个步骤/消息(未示出)。例如,可以从受保护对象2-2接收对步骤2-31的触发,作为请求2-16的一部分。
作为步骤2-16/2-17的替代(或补充),客户端2-1还可以(例如通过用钥匙解锁车辆)在可选步骤2-24中启用对设备2-4的参数值的访问,和/或启用对参数值的访问。
客户端2-1访问设备2-4并在步骤2-19中从设备2-4获得参数值(例如客户端2-1从车辆显示器读取里程表值或将他的智能电话连接到车辆,该智能电话例如经由可能例如由网络实体2-3已经预先启用的WLAN或蓝牙从车辆取得参数值)。优选地,用于读取和显示参数值的设备是受保护对象,并且受保护连接用于该传输。
客户端2-1在步骤2-20中将在步骤2-19中获得的参数值作为认证值提供给受保护对象2-2。这可以通过经由键盘或触摸屏输入认证值或者通过任何其他手段(例如经由移动设备无线地)向受保护对象2-2提供认证值来完成。
最后,受保护对象2-2在步骤2-21中基于客户端在步骤2-20中提供的认证值和在步骤2-18中从网络实体2-3提供的参数值(在该示例中为里程表值)来执行客户端2-1的认证。如果认证和参数值相同,或者如果可能的偏差在定义的范围内(如果参数的报告在固定的时间点或周期性而不是根据请求发生,或者如果报告是根据请求发生并且参数值不断变化,这可能是需要的),则认证可能是成功的。该范围(可以是例如固定范围或者可以通过省略认证过程中的参数值和认证值的一些最低有效比特来定义)可以在受保护对象2中预先配置(未示出),或者可以例如与参数(在此是里程表)值一起或者事先从网络实体2-3或经由网络实体2-3从设备2-4接收。
参数值可以包括可以在受保护对象2-2中执行的认证过程中使用的时间戳和/或有效期戳(validity period stamp)(例如,时间戳可以用于计算要使用的范围或比特/数字,例如通过在计算范围时考虑当前时间与由设备2-4提供里程表值的时间之间的差)。
如果认证成功,则受保护对象2-2可以授权客户端访问所请求的信息或对象(例如解锁房屋的门)。如果认证不成功,则受保护对象2-2将禁止访问并且可以通知客户端所输入的认证信息未被接受。在可选步骤(未示出)中,受保护对象2-2可以通过例如通知客户端使用相同或备选认证类型重复认证过程来开始另一次认证试验。
图2b示出了消息流程图的另一示例实施例,这次涉及图1b。与图2a相比的主要差异是执行客户端2-1的认证的位置。在图2a中,受保护对象2-2执行认证,而在图2b中,网络实体2-3执行认证。因此,主要与认证功能的位置直接相关的步骤不同和/或被添加/移除或移动到与图2a中所示的步骤相比不同的实体。其他步骤,例如步骤2-22、2-23、2-24和2-19,与图2a的对应步骤相比是类似的,因此不再针对图2b详细描述。
在可选步骤2-11中,可以在容纳认证功能的网络实体2-3中配置所支持的认证类型。该步骤与图2a中所示的步骤2-11相当,但是可以执行它的位置已经从受保护对象2-2移动到网络实体2-3。
由于受保护对象2-2不再容纳图2b中的认证功能,因此受保护对象可以将在步骤2-12中使用的可选地接收(2-27)的认证类型转发给网络实体2-3。步骤2-12是可选的,并且仅在步骤2-27也完成时才完成。关于图2a所提及的对认证类型的类似考虑在此也适用。
与图2a中一样,可以在步骤2-13中检查所支持的认证类型,以及在步骤2-14中确定将要用于认证过程的设备以及可选的参数。然而,在图2b中,步骤2-13可以由由网络实体2-3执行,步骤2-14由网络实体2-3执行,因为认证功能位于网络实体2-3处。
在步骤2-15中,网络实体2-3可以从受保护对象2-2请求认证值,受保护对象2-2可以将请求转发2-28到客户端2-1。与上面图2a的请求2-15类似的考虑也适用于图1b的可选步骤2-15和2-28。
因为认证功能是网络实体2-3的一部分,所以网络实体可以在步骤2-16中向设备2-4请求参数(里程表)值。否则,可选步骤2-16与如图2a所示和关于图2a所述的步骤2-16相当。如先前关于图2a所描述的,请求2-16是可选的,因为设备2-4可以基于其自己的意向(例如在固定的时间点或周期)提供参数值。
如图2a中所描述的,网络实体2-3或客户端2-1可以在步骤2-17和/或2-24中启用对设备2-4的参数值的访问。
在步骤2-18中从设备2-4接收到参数(里程表)值并在步骤2-20中从客户端接收到认证值(由在步骤2中从客户端2-1接收认证值的受保护对象2-2转发)之后,网络实体2-3在步骤2-21中执行客户端的认证。关于与图2a中的该步骤相关提及的认证步骤2-21的相同考虑在此也适用。
在步骤2-30中,网络实体2-3将认证过程的结果报告给受保护对象2-2,例如以认证信息的形式(例如认证成功或失败)。然后,受保护对象2-2可以基于所接收的认证指示2-30,允许或拒绝对受保护对象和/或信息(未示出)的访问。
在图2a和2b中,受保护对象2-2与网络实体2-3之间的通信以及网络实体2-3与设备2-4之间的通信优选地经由受保护连接和/或以加密方式完成,以确保所传输的信息的隐私和机密性。因此,所涉及的设备/实体可以预先在彼此之间建立信任和可信连接。
图2c示出了与图1c有关的消息流程图的另一示例实施例。与图2a相比的主要差异在于认证过程中不涉及网络实体2-3。而是,受保护对象2-2直接与设备2-4通信。该通信可以经由有线或无线连接(例如经由蜂窝连接或经由WLAN/Wi-Fi或蓝牙)来完成。因此,与图2a中所示的步骤相比,主要改变了与设备2-4的通信相关的步骤。其他步骤(例如步骤2-11、2-22、2-23、2-12、2-13、2-14、2-15、2-24、2-19、2-20和2-21)对应于图2a的那些步骤,因此不再关于图2c予以详细描述。
在受保护对象2-2已经确定设备2-4以及可选地还有要从设备请求的参数之后,它可以在步骤2-16中向设备请求参数(本文是里程表)值。如对图2a中的对应步骤所描述的,该请求是可选的。备选地,设备可以基于其自己的意向例如在固定的时间点或周期性地报告参数值,而不需要步骤2-16中的请求。
在可选步骤2-17中,受保护对象2-2可以启用对设备2-4和/或所请求的参数的访问。然后,设备在步骤2-18中返回参数,这可以响应于该请求在固定时间点或周期性地完成。
在受保护对象2-2已经在步骤2-18中接收到参数值(在该实施例中为里程表值)并且在步骤2-20中已经从客户端2-1接收到认证值之后,受保护对象2-2在步骤2-21中执行如关于图2a所描述的认证。
在图2c中,受保护对象2-2与设备2-4之间的通信可以经由无线连接(例如蜂窝连接,经由WLAN/Wi-Fi或经由蓝牙)来完成。优选地,连接将是受保护连接和/或可以以加密方式完成,以确保例如所传输信息的隐私和机密性。因此,所涉及的设备/实体可以预先在彼此之间建立信任和可信连接。
图3示出了用于认证客户端的方法的示例实施例,其可以关于针对图1a至1c和2a至2c的实施例描述的场景来执行,但不限于这些实施例。
在可选步骤3-11中,一个或多个支持的认证类型可以被配置,可选地还包括用于认证的参数。如果配置了支持多个认证类型或具有要使用的各种设备或参数的一个认证类型,则可以配置这些认证类型的优先级顺序。优先级顺序可用于基于优先级向客户端询问特定认证类型和/或设备或参数的认证值。备选地,也可以以随机方式选择将要使用的认证类型。
在可选步骤3-12中,可以接收将要使用的认证类型的指示。该指示可以例如从客户端接收,如图2a至2c所示。替代地(未示出),可以从所支持的认证类型以优先化或随机的方式选择认证类型和/或设备或参数。可选地,可以使用多于一个认证类型进行认证,因此也可以接收或选择将要使用的多于一个认证类型的一个或多个指示。
在步骤3-13中,可以确定认证类型(例如在步骤3-12中接收的一个或多个认证类型)是否受支持。该步骤是可选的,因为备选地,也可以从如上所述的所支持的认证类型中选择该认证。
在步骤3-14中,确定将要用于客户端的认证的设备。可以基于所选择或所接收的认证类型来确定设备。除了设备之外,还可以确定将要用于认证的参数。在变型中,可以确定将要用于认证的多于一个参数(例如如果认证基于2个不同的参数值,这2个不同的参数值可以组合成一个值,例如里程表值+燃料水平,或者可以用作认证过程中的2个独立参数/认证值)。
在步骤3-15中,可以例如经由键盘或触摸屏或经由不同的设备或实体(例如经由客户端的平板电脑或智能电话)向客户端直接请求认证值。步骤3-15是可选的,因为客户端可以基于其自己的意向提供认证值,例如与要在步骤3-12中使用的认证类型的指示一起或者作为专用的单独动作(例如经由触摸屏/键盘提供认证值可以触发整个认证过程,这意味着认证过程已经知道认证值并且不再需要请求认证值)。可选地,客户端可以请求或提供多于一个认证值。
在可选步骤3-16中,可以请求设备的参数值。该请求可以包括参数的指示,例如如果支持设备的多于一个的参数用于认证。但是,如果仅支持一个参数,则请求还可以包括该参数。该请求可以直接导向该设备或导向可以向该设备转发该请求的中间实体。备选地,中间实体可以从自己的或外部的数据库中检索所请求的参数值,或者该请求可以被导向能够提供该值的数据库。步骤3-16是可选的,因为在备选实现中,可以在不请求参数值的情况下报告该参数值,例如在固定时间点或周期性地报告。在固定时间点或周期性的报告可以是预先配置的(例如在设备或另一个实体或数据库中),或者可能是先前初始请求的。可选地,可以请求多于一个参数值。
可选地,可以在步骤3-17中启用对设备的一个或多个参数值的访问。如果对参数值(或提供参数值的设备)的访问对于客户端可能不是直接可行的(例如对已锁定设备的访问、或对通常无法访问/显示或可读的参数值的访问),则可以执行此操作。步骤3-17还可以例如经由智能电话、平板电脑或笔记本电脑实现无线访问参数值的可能性。由于客户端也可以自身(例如在参数值是他的汽车的里程表值的情况下)获得对参数值的访问,步骤3-17是可选的。
在步骤3-18中,接收设备的(一个或多个)参数值。这可以基于步骤3-16的可选请求发生或自动发生(例如在固定时间点或周期性地)。一个或多个参数值可以直接从设备、从一些中间网络元件或从可以收集包括该参数值的信息的数据库(例如在来自从汽车收集信息的汽车制造商的数据库的汽车里程表值的情况下)接收。可以与参数值一起接收参数值的时间戳和准确性指示(例如当参数值不断变化时)。这些可以稍后在认证步骤3-21期间使用。
在步骤3-20中,接收客户端的认证值。这可以基于步骤3-15中的可选请求或没有任何请求地来完成(例如如果客户端在键盘中输入认证值,则这可以触发认证过程)。可选地,接收多于一个认证值。
在步骤3-21中,基于在步骤3-20中接收的认证值和在步骤3-18中接收的参数值来认证客户端。如果检测到认证值和参数值之间的匹配,或者如果认证值和参数值之间的差在特定范围内,则认证可以是成功的。该范围可以与步骤3-18中的参数值一起接收,或者可以是预先配置的。备选地,该范围也可以基于可以与参数值一起接收的时间和/或准确性信息来计算。准确性信息可以是固定范围,或者是可以基于在收集参数值之后经过的时间(从参数值的时间戳开始经过的时间)而变化的范围。如果多于一个参数值可以用于客户端的认证,则可能需要所有参数值与提供的认证值相比匹配或处于特定范围内以成功认证客户端,或者可能需要定义的子集匹配(例如所使用的值中至少3/4或80%)。
如果客户端的认证成功,则可以授权客户端访问期望访问的对象或信息(未示出)。如果认证不成功,则可以通知客户端并且可以使用替代认证类型或设备或参数重复认证过程。
结合图3描述的步骤也可以以与在图3中示出并在上面描述的顺序不同的顺序执行。因此,这些步骤的顺序不是限制性的。
图4示出了用于认证适于执行如图3所示的方法的客户端的装置4-2的示例实施例。该装置可以是例如图1a、1c的受保护对象1-2或图2a和2c中的受保护对象2-2或图1b的网络实体1-3或图2b的网络实体2-3。
装置4-2包括一个或多个接收模块4-12,其接收(4-1)参数值(如图3的步骤3-18和图2a、2b和2c的步骤2-18所示)和认证值(如图3的步骤3-20和图2a、2b和2c的步骤2-20所示)。可选地,接收模块还可以接收将要使用的认证类型的指示(如图3的步骤3-12和图2a、2b和2c的步骤2-12中所示)。此外,也可以经由接收模块4-12接收所支持的认证类型的配置(如图3的步骤3-11所示)。
装置4-2还可以包括一个或多个发送模块4-15,其可以发送(4-3)对认证值的请求(如图3的步骤3-15和图2a、2b和2c中的步骤2-15所示)。发送模块还可以发送对设备的参数值的请求(如图3的步骤3-16和图2a、2b和2c的步骤2-16所示)和用于启用对设备的参数值的访问的信息(如图3的步骤3-17和图2a、2b和2c的步骤2-17所示)。
装置4-2的一个或多个接收模块4-12和一个或多个发送模块4-15可以组合在一个或多个收发机模块4-10中。
此外,该装置可以包括用于配置所支持的认证类型(如图3的步骤3-11和图2a、2b和2c的步骤2-11所示)的配置模块4-11。如上所述,可以经由接收模块4-12接收配置信息。
该装置可以包括用于确定认证类型是否受支持(如图3的步骤3-13和图2a、2b和2c的步骤2-13所示)的确定模块4-13。
此外,该装置包括用于确定将要用于客户端的认证的设备和/或参数(如图3的步骤3-14和图2a、2b和2c的步骤2-14所示)的确定模块4-14。
装置4-2的可选请求模块4-15可以例如向客户端请求一个或多个认证值(如图3的步骤3-15和图2a、2b和2c的步骤2-15所示)。
装置4-2的可选请求模块4-16可以请求设备的一个或多个参数值(如图3的步骤3-16和图2a、2b和2c的步骤2-16所示)。
该装置可以进一步包括启用访问模块4-17,用于启用对设备的参数值的访问(如图3的步骤3-17和图2a、2b和2c的步骤2-17所示)。可选地,可以启用对多于一个参数值的访问。
该装置进一步包括用于基于所接收的一个或多个认证值和所接收的一个或多个参数值来认证客户端(如图3的步骤3-21和图2a、2b和2c的步骤2-21所示)的认证模块4-21。
模块4-11、4-13、4-14、4-15、4-16、4-17和4-21可以在HW中、在由一个或多个处理器执行的SW中、或者在两者的组合中实现(4-30)。
图4的上述模块适于执行关于图2a、2b、2c和3中的所述步骤描述的功能。
图5是用于认证客户端的装置5-2的示例框图。装置5-2适于执行如图3所示的方法。该装置可以是例如图1a、1c的受保护对象1-2、图2a和2c的受保护对象2-2、图1b的网络实体1-3或图2b的网络实体2-3。该装置可以是移动设备(如移动电话、智能电话、PDA或便携式计算机(例如膝上型电脑,6,平板电脑);服务器(例如可以收集车辆信息的车辆制造商的服务器或智能家居服务器)或网络实体(例如诸如认证或授权服务器的网络控制实体)。
该装置可以包括接口5-10、处理器5-21和存储器5-22。接口5-10可以进一步包括一个或多个接收机5-11和一个或多个发射机5-12。接收机5-11和发射机5-12可以组合在收发机5-10中。接收机可以接收信号5-1,发射机可以从装置5-2发送信号5-3和向装置5-2发送信号5-3。可以无线地(例如经由未示出的天线)接收和发送信号。处理器5-21可以执行指令以提供由受保护对象、网络实体或装置4-2提供的上述一些或所有功能。存储器5-22可以存储由处理器5-21执行的指令,例如用于执行如图3中描述的方法的指令。
处理器5-21可以包括在一个或多个模块中实现的硬件和软件的任何合适组合,以执行指令和操纵信息/数据,以便执行关于图3和装置4-2(例如受保护对象或网络实体)所示和所述的方法的一些或所有描述的功能。在一些实施例中,处理器5-21可以包括一个或多个计算机、一个或多个中央处理单元(CPU)、一个或多个微处理器、一个或多个应用和/或其他逻辑。
存储器5-22通常可操作以存储指令,例如计算机程序、软件、包括逻辑、规则、算法、代码、表等中的一个或多个的应用和/或能够由处理器执行的其他指令。存储器5-22的示例可以包括计算机存储器(例如随机存取存储器(RAM)或只读存储器(ROM))、大容量存储介质(例如硬盘)、可移动存储介质(例如紧凑型磁盘(CD)或数字视频磁盘(DVD))、和/或存储信息的任何其他易失性或非易失性、非暂时性计算机可读和/或计算机可执行存储设备。
装置4-2和5-2的备选实施例可以包括除了图4或5中所示的那些之外的附加组件。这些附加组件可以提供功能的特定方面,包括本文描述的任何功能和/或任何附加功能(包括支持本文所述的解决方案所需的任何功能)。
各种类型的元件可以包括具有相同物理硬件的组件,但是可以被配置(例如经由编程)以支持不同的无线电接入技术,或者可以表示部分或完全不同的物理组件。
本公开的一些实施例可以提供一个或多个技术优点。一些实施例可受益于一些优点或所有这些优点或不收益于这些优点。本领域普通技术人员可以容易地确定其他技术优点。
在第一方面,提供了一种用于认证客户端的方法的示例实施例。所述方法包括确定将要用于所述客户端的认证的设备。所述方法还包括接收所述设备的参数值以及接收所述客户端的认证值。此外,所述方法包括基于所述认证值和所述参数值,认证所述客户端。
根据第一方面的方法的改进可以包括以下中的一个或多个:
-其中,确定将要用于所述认证的设备可以进一步包括:确定将要用于所述认证的所述设备的参数;
-接收将要使用的认证类型的指示,其中,所述设备的所述确定可以基于所述认证类型;
-配置一个或多个支持的认证类型;
-确定所述认证类型是否受支持,以及如果所述认证类型不受支持,则终止所述认证;
-请求所述设备的所述参数值;
-其中,所述参数值可以是可变的值;
-其中,所述设备可以包括计数器,以及其中,所述参数值可以包括计数器值;
-其中,所述设备可以包括级别指示符,以及其中,所述参数值可以包括所指示的级别;
-其中,所述参数值可以包括所述设备的位置;
-启用对所述设备的所述参数值的访问;
-其中,启用对所述设备的所述参数值的访问可以包括以下中的至少一个:解锁所述设备,或使所述设备能够提供所述参数值;
-其中,所述认证类型可以是以下中的一个:经由车辆的认证、经由智能仪表的认证、以及经由可穿戴智能设备的认证;
-其中,所述认证类型可以包括以下中的至少一个:所述设备的标识符和所述设备的参数;
-其中,如果以下标准之一适用,则所述客户端被成功认证:
-所述认证值和所述参数值相等;
-所述认证值在所述参数值的定义范围内;以及
-所述认证值和所述参数值的定义数量的最高有效比特或数字相等;
-利用所述参数值接收以下中的至少一个:所述参数值的时间戳、所述参数值的范围指示、以及所述参数值的有效时间指示;
-从所述客户端请求所述认证值;以及
-其中,所述设备可以包括以下中的一个:车辆、智能仪表、以及可穿戴智能设备。
在第二方面,提供了一种计算机程序的示例实施例。所述计算机程序包括由装置的至少一个处理器执行的程序代码,其中,所述程序代码的执行使得所述至少一个处理器执行根据第一方面的方法。
根据第二方面的计算机程序的改进可以根据按照第一方面的方法的一个或多个改进或者以下中的一个或多个:
-所述计算机程序可以是计算机程序产品;
-所述计算机程序可以包括存储所述程序代码的非暂时性计算机可读存储介质。
在第三方面,提供了一种用于认证客户端的装置的示例实施例。所述装置适于执行以确定将要用于所述客户端的认证的设备。所述装置还适于执行以接收所述设备的参数值和所述客户端的认证值。所述装置还适于执行以基于所述认证值和所述参数值来认证所述客户端。
在第四方面,提供了一种用于认证客户端的装置的示例实施例。所述装置包括被配置为确定将要用于所述客户端的认证的设备的第一模块。所述装置还包括:被配置为接收所述设备的参数值的第二模块;以及被配置为接收所述客户端的认证值的第三模块。此外,所述装置包括用于基于所述认证值和所述参数值来认证所述客户端的第四模块。所述第二模块和所述第三模块可以组合成一个模块。
在第五方面,提供了一种用于认证客户端的装置的示例实施例。所述装置包括至少一个处理器。所述装置还包括存储器,所述存储器包含程序,所述程序包括能够由所述至少一个处理器执行的指令。所述至少一个处理器被配置为确定将要用于所述客户端的认证的设备以及接收所述设备的参数值。所述至少一个处理器还被配置为接收所述客户端的认证值以及基于所述认证值和所述参数值来认证所述客户端。
根据第三、第四或第五方面的装置的改进可以根据按照第一方面的方法的一个或多个改进。
此外,所述装置可以包括以下中的一个:受保护对象、认证服务器、智能家居服务器、以及移动设备。
应理解,如上所述的示例和实施例仅是说明性的并且易于进行各种修改。例如,概念可以用于到目前为止没有明确提到的其他类型的通信网络。此外,应该理解,可以通过在现有节点中使用相应设计的软件或者通过使用节点中的专用硬件来实现上述概念。
缩写:
CD 紧凑型盘
DVD 数字视频磁盘
HW 硬件
IoT 物联网
MTC 机器型通信
PIN 个人识别码
PDA 个人数字助理
RAM 随机存取存储器
ROM 只读存储器
RX 接收机
SMS 短消息服务
SW 软件
TX 发射机
Wi-Fi 任何类型的WLAN网络,WLAN的同义词
WLAN 无线局域网