用于无密码计算机登录的服务辅助移动配对的系统和方法与流程

文档序号:15885758发布日期:2018-11-09 18:50阅读:139来源:国知局
用于无密码计算机登录的服务辅助移动配对的系统和方法与流程

鉴于各种关于密码和用户权限方面的计算机网络要求的增加,使用密码和用户名对计算设备上的用户进行认证通常对大多数人造成了一定程度的困难。例如,用户可以在各种不同的计算设备上拥有各种账户,所有账户都有不同的用户名和密码,这些用户名和密码需要字母数字和特殊字符的组合。具体地讲,每个账户可能需要密码具有特定数量的字符,包括数字、字母和特殊字符。所有这些密码和用户名都要求用户记住和回想太多的数据。此外,当机器上存在具有按键跟踪功能的恶意代码时,在登录尝试期间使用密码可能存在安全问题。有些用户可能会受到引诱而下载该恶意代码,这使得基于密码的认证容易受到黑客攻击。此外,通过伪造营销链接诱骗用户泄露用户名和密码的电子邮件网络钓鱼企图也可能将用户的密码和用户名泄露给黑客。

作为针对基于密码的认证的解决办法,与计算机中用户相关联的移动个人设备的近端检测功能可以使得无密码登录功能更安全。具体地讲,考虑到用户在尝试登录到计算机期间很可能携带有移动设备,因此与计算机相关联的移动设备可以用作自然认证器。也就是说,一些计算环境可以使用近端检测功能以在用户登录期间将移动设备与同一用户的计算设备配对。已有促进无密码计算机登录的尝试,其中用户能够使用用户注册的移动设备(诸如电话或可穿戴设备)中的批准点击来批准登录尝试。但是,此类解决方案通常通过使用低功耗蓝牙(ble)来利用移动设备的近端检测。也就是说,一些计算环境可以与使用ble协议的移动设备配对。但是,在许多计算环境中,不存在ble功能。因此,当前面临的一个挑战是支持所有计算设备和环境,例如具有混合类型的计算机模型的部署,其不具备ble检测功能。例如,具有版本7的机器(其不具有ble检测)目前是常用环境。一些供应商提供ble加密狗供用户安装以解决该问题。然而,ble加密狗使得无密码登录变得更加繁琐,因为这只是时间和计算资源的又一次浪费。正是在这种情况下,以下实施方案应运而生。



技术实现要素:

提供了用于使用网络服务将移动设备与计算设备安全配对以进行无密码登录的系统和方法的实施方案。应当理解,本实施方案可以以多种方式实现,诸如过程、装置、系统、设备或方法。下面描述了几个发明实施方案。

在一些实施方案中,提供了用于数据通信的系统和方法。该方法可以包括从计算设备向网络服务器发送配对请求,其中配对请求包括计算机认证数据和计算机公共密钥。该方法还可以包括响应于配对请求,使用网络服务器将移动设备与计算设备配对。例如,在设备配对期间,计算设备可以生成配对秘密密钥和相关联的qr图像,用户被提示使用移动设备扫描该图像。移动设备内的配对代理可以读取计算机认证数据并从中解析计算机公共密钥。配对代理还可以从扫描的qr图像中提取配对秘密密钥以验证配对请求,并且生成密码加密密钥以用于加密计算设备上的用户登录密码。该方法可以实现不对称加密,由此密码加密密钥可以存储在移动端,同时登录密码作为加密版本存储在计算机端。密码加密密钥通过计算机的公共密钥以加密形式发送到计算机端。计算机可以使用加密密钥在注册时加密登录密码或在登录时解密加密密码。

在一些实施方案中,提供了数据通信系统。数据通信系统可以包括计算设备,其可操作以从计算设备向网络服务器发送配对请求,其中配对请求包括计算机认证数据和计算机公共密钥。网络服务器可以包括耦接到处理器的存储器,处理器可操作以响应于配对请求将移动设备与计算设备配对。该移动设备可以包括第二处理器,该第二处理器可操作以基于计算机公共密钥对密码加密密钥进行加密,并将加密的密码加密密钥和移动认证数据传送给计算设备。计算设备还可以进一步操作以使用计算机公共密钥对加密的密码加密密钥进行解密。此外,计算设备可操作以使用密码加密密钥加密登录密码并存储该加密版本的登录密码;同时删除密码加密密钥。

在一些实施方案中,有形非暂态计算机可读介质具有指令,其中所述指令当由处理器执行时,使得处理器执行本文所述的数据通信方法。该方法可以包括从计算设备向网络服务器发送配对请求,其中配对请求包括计算机认证数据和计算机公共密钥。该方法还可以包括响应于配对请求,使用网络服务器将移动设备与计算设备配对。在移动设备处,该方法可以包括由移动设备基于计算机公共密钥对密码加密密钥进行加密。该密码加密密钥可以与移动认证数据一起传送到计算设备,其中计算设备认证该移动认证数据。该方法还可以包括:响应于验证的数据,使用计算机公共密钥对加密的密码加密密钥进行解密,并且利用密码加密密钥对登录密码进行加密。该加密的登录密码可以被存储,同时密码加密密钥被删除。

根据以下结合附图的具体实施方式,实施方案的其他方面和优点将变得显而易见,所述附图以举例的方式示出了所描述的实施方案的原理。

附图说明

通过参考以下结合附图的描述可完全理解所描述的实施方案及其优点。在不脱离所描述的实施方案的实质和范围的情况下,这些附图决不限制本领域技术人员可对所描述的实施方案进行的形式和细节上的任何更改。

图1是根据一些实施方案的使用网络服务将移动设备与计算机安全配对以进行无密码登录的数据通信系统的透视图。

图2a-1和图2a-2是根据一些实施方案的使用网络服务将移动设备与计算机安全配对以进行无密码登录的数据通信系统的示例性具体实施。

图2b是在一些实施方案中,在接收配对之后,用于图2a的移动设备的一个或多个移动设备的数据通信系统移动端的示例性图形用户界面(gui)图。

图2c是在一些实施方案中用于图2a的可穿戴移动设备中的一个或多个可穿戴移动设备的用于验证配对请求的数据通信系统移动端的示例性gui的另一图。

图3a示出了根据一些实施方案的用于无密码计算机登录的通信和/或操作体系架构。

图3b示出了根据一些实施方案的用于具有ble流优化的无密码计算机登录的通信和/或操作架构。

图4是示出了根据一些实施方案的数据通信系统的配对协议的框图。

图5是示出了根据一些实施方案的数据通信系统的第二配对协议的框图。

图6a是根据一些实施方案的使用网络服务将移动设备与计算机安全配对以进行无密码登录的方法的流程图。

图6b是根据一些实施方案的用于通过网络服务使用无密码登录登录到计算机的方法660的流程图。

图7是示出了可实现本文所述的实施方案的示例性计算设备的示意图。

具体实施方式

以下实施方案描述了使用网络服务将移动设备与计算机安全配对以进行无密码登录的数据通信系统和方法。对于本领域技术人员而言显而易见的是,缺少某些或全部这些具体细节也能实施该实施方案。在其他情况下,为了免去不必要地混淆实施方案,未详细描述众所周知的处理操作。

用于数据通信的系统和方法可以包括从计算设备向网络服务器发送配对请求,其中配对请求包括计算机认证数据和计算机公共密钥。该方法还可以包括响应于配对请求,使用网络服务器将移动设备与计算设备配对。例如,在设备配对期间,计算设备可以生成配对秘密密钥和相关联的qr图像,用户被提示使用移动设备扫描该图像。移动设备内的配对代理可以读取计算机认证数据并从中解析计算机公共密钥。配对代理还可以从扫描的qr图像中提取配对秘密密钥以验证配对请求,并且生成密码加密密钥以用于加密计算设备上的用户登录密码。该方法可以实现不对称加密,由此登录密码(或密码加密密钥)可以存储在移动端,同时登录密码作为加密版本存储在计算机端。因此,由于只有计算机具有计算机公共密钥,因此只有计算机可以解密密码。

这种用于数据通信的系统和方法包括通过配对的移动设备修改的计算机登录协议,其确保端到端安全性,使得云计算服务无法冒充任何客户端。此外,修改的计算机登录协议消除了对单独的企业托管的网关实用程序的需要,其中该实用程序用于在配对计算设备和移动设备时保护用户登录,从而消除了将计算机认证凭据从计算机设备发送到云计算服务的需要。相反,用于数据通信的该系统和方法的认证方案实现了配对pin的使用,其中该配对pin在计算机侧显示并且在启用该功能的移动侧进行输入或扫描。例如,在一个实施方案中,配对pin可以是随机生成的具有6至10位的数字串。此外,可以使用长秘密密钥或直接嵌入在qr图像中的计算机公共密钥实现该功能。扫描qr图像进行本地认证和配对可以提高易用性、增强安全性并促进用户友好的应用程序。

这种用于数据通信的系统和方法定义了一种协议,该协议通过网络服务诸如云服务在任何两个客户端组件之间建立信任和秘密交换,其中所述网络服务不限于特定的凭据提供商。这种用于数据通信的系统和方法不仅使用数据对象诸如公共密钥以在设备之间建立信任。由于缺乏对发送源的认证,这种基本交换可能会受到“中间人”攻击。具体地讲,数据通信系统可以使用云服务来辅助配对计算设备和移动设备。在计算设备和移动设备之间交换的数据可以是唯一已知的并且存储在这些设备上;而不是网络服务器上。因此,为了提高计算机安全性,尽管参与了设备配对,但网络服务器不能加密消息、解密加密的密码密钥或发现交换的数据。这避免了“中间人”攻击,即第三方能够承担网络服务器或两个设备中的任何一者的角色和权限。该实施方案防止未经授权将设备与计算机或计算机与移动设备配对。具体地讲,在配对阶段期间,响应于配对请求,网络服务可以用作配对计算设备与移动设备的联络方。

在一些实施方案中,当计算设备和移动设备处于近端范围内并且具有使用近端检测协议(诸如低功耗蓝牙(ble))直接进行连接的功能时,该系统和方法使用网络服务器用于注册和集中管理。在该实施方案中,网络服务器不充当用于配对设备的中介。相反,网络服务器出于管理目的诸如跟踪和监视服务消耗,对计算机和移动设备两者注册中央网络服务。这使得服务提供商的系统管理员能够在例如电话丢失或被盗的情况下关闭配对功能。同时,中央网络服务不能冒充任何设备。此外,网络服务器能够利用客户账户来识别和跟踪计算设备,而不使用特殊客户账户凭据诸如账户证书。尽管用于数据通信的该系统和方法可以利用计算设备和移动设备的近端检测功能,但是近端检测功能的存在对于本公开的数据通信的系统和方法的成功实施不是必需的。这使得本文描述的系统适用于更广泛的传统计算机以供企业部署。

以下将说明更多有关细节。然而,对本领域技术人员而言,显而易见,缺少这些具体细节也能实施本发明。在一些情况下,为避免使本发明表述不清,将以框图形式(而非详细说明)说明众所周知的结构和设备。

在随后的部分详细说明中,将从计算机存储器中数据位操作的算法和符号表示角度进行说明。这些算法描述和表示是数据处理领域技术人员用以向其他同行表述其工作本质的有效手段。此处的算法通常为一系列能达到所需结果的有序步骤。所述步骤是指那些需要对物理量进行的物理操作步骤。通常(但并非必须),这些物理量以能够被存储、传输、组合、比较以及其他方式操作的电信号或磁信号的形式出现。已经证明,主要出于常见用途原因,有时可将这些信号方便地称为位、值、元素、符号、字符、项、数等等。

然而,应该牢记,所有这些名称和类似术语均将与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非特别说明,否则从以下讨论显而易见,可以理解,在整个说明书中,利用诸如“提供”、“生成”、“安装”、“监视”、“强制执行”、“接收”、“记录”、“拦截”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其对表示计算机系统寄存器和存储器中物理(电子)量的数据进行操作,并将所述数据转换为表示所述计算机系统存储器或寄存器(或其他此类信息存储、传输或显示设备)中其他类似物理量的其他数据。

本发明还涉及一种用于执行本文中操作的设备。该设备可出于所需目的而专门构造,或者其可包括由存储在计算机中的计算机程序选择性地启动或重新配置的通用计算机。此类计算机程序可存储在一种计算机可读存储介质中,例如其不限于如软盘、光盘、cd-rom和磁光盘在内的任何类型的磁盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适用于存储电子指令的任何类型的介质,每种介质均耦接至计算机系统总线。

本文提及的“一个实施方案”或“实施方案”是指结合该实施方案所描述的特定特征、结构或特性包括在本发明的至少一个实施方案中。本说明书不同场合出现的短语“在一个实施方案中”并不一定涉及同一实施方案。相同的编号表示图示中的相同元件。

参考图1,示出了用于使用网络服务将移动设备与计算设备安全配对以进行无密码登录的系统和方法的示例性实施方案。该系统在网络服务计算环境150内包括至少一个客户端计算设备110、至少一个移动设备120和至少一个网络服务器140。计算设备110和移动设备120两者均可耦接到网络服务器140。计算设备110、网络服务器140和移动设备120可驻留在相同lan上,或者驻留在可通过互联网耦接在一起但被防火墙、路由器和/或其他网络设备分开的不同lan上。在一个实施方案中,计算设备110可通过移动通信网络联接到网络150。类似地,移动设备120可以通过移动通信网络联接到网络150。在另一个实施方案中,计算设备110、网络服务器140和移动设备120可以驻留在不同的网络上。

每个计算设备110可以包括客户端配对代理112、存储器114和处理器116。虽然未示出,但是每个计算设备110可包括监视器,用于在计算设备和移动设备的配对阶段期间显示与计算设备相关联的qr图像或pin。例如,可以通过使用配对pin、长密钥和/或直接嵌入在qr图像中的计算机公共密钥来进行本地认证过程。计算设备110的示例可以包括但不限于个人计算机、膝上型电脑、pda、移动电话、网络设备等。客户端配对代理110可用于生成配对请求,包括由用户发起的计算机认证数据和计算机公共密钥(参考下面使用网络服务器的配对方法进一步详细讨论)。客户端配对代理110还可用于通过网络服务器140间接地将这些请求传送给移动设备120。一旦通过移动通知服务提示,客户端配对代理110也可以在配对阶段期间发起显示与计算设备110相关联的qr图像或pin。此外,客户端配对代理110可以与存储器114和处理器116耦接,以解密响应于配对请求而发送的由移动设备120生成的密码加密密钥(在下面给出的配对方法中提供了更多细节)。客户端配对代理100还可以使用qr码的替代信道向附近的移动设备传输配对pin,例如,使用ble作为一种替代方案(如果计算设备具有这种功能)。

在一些实施方案中,移动设备120可以包括移动配对代理122、存储器124和处理器126。移动配对代理122可用于通过网络服务器140间接地将配对批准传达给计算设备110。移动配对代理122可以基于请求与移动设备配对的计算机的公共密钥生成并加密密码加密密钥。在一些实施方案中,代理122还能够扫描qr码或接收客户端配对代理112已经发送的ble消息。尽管未示出,但在各种实施方案中,移动设备120可以是网络设备、移动电话、智能电话、寻呼机、射频(rf)设备、红外(ir)设备、个人数字助理(pda)、机顶盒、相机、结合上述设备中的至少两种的集成设备等。

在一个实施方案中,网络服务器140可包括配对模块142、存储器144和处理器146。在一个实施方案中,数据通信系统100可以使用云服务来辅助配对计算设备110和移动设备120。在计算设备和移动设备之间交换的数据可以是唯一已知的,并且存储在设备(110,120)上而不是网络服务器140上。因此,尽管参与了设备(110,120)的配对,但网络服务器140无法解密经加密的密码密钥或发现交换的数据。具体地讲,在配对阶段期间,响应于配对请求,配对模块142可以用作配对计算设备110与移动设备120的联络方。例如,当计算设备110发送配对请求时,配对模块142可向移动设备120发送移动推送通知,指示已经发起配对请求并在移动设备120处请求来自用户的响应。配对模块142还可以在安装移动配对代理时注册移动设备120,使得网络服务器140可以在允许配对请求完成之前检测移动设备是否被注册。也就是说,在一些实施方案中,在未注册移动设备120的情况下,配对模块142可以拒绝由计算设备110发送的配对请求。通过注册,网络服务能够发起与移动设备120的联系,以验证由移动设备使用现有移动凭据诸如凭据标识符、用户标识符和一次性密码或拥有签名证明等发送的数据。因此,配对模块142能够跟踪配对服务的使用。此外,配对模块142可以请求来自检测到的实体提供商的服务使用权利响应,使得配对模块142可以基于来自实体提供商的验证来认证配对请求,并且跟踪其使用。在替代方案中,配对模块142可以使用sms、语音呼叫等请求来自移动设备的响应。在该实施方案中,用户可以选择输入在计算设备的监视器上显示的pin,或者可以扫描显示在其上的qr图像。在另一个实施方案中,计算设备110可以生成配对秘密密钥并将该密钥与qr图像关联,以显示在与计算设备110相关联的监视器上。在又一个实施方案中,如果计算设备具有ble功能,则计算设备110可以使用ble来经由ble静默地传输配对秘密密钥到移动设备。

网络服务计算环境150可包括例如服务器计算机140或提供计算功能的任何其他系统。另选地,网络服务计算环境150可以采用例如布置在一个或多个服务器库或计算机库或其他布置中的多个计算设备。这样的计算设备可以位于单个安装中或者可以分布在许多不同的地理位置。例如,网络服务计算环境150可以包括多个计算设备,这些设备一起可包括云计算资源、网格计算资源和/或任何其他分布式计算布置。在一些情况下,网络服务计算环境150可对应于弹性计算资源,其中处理、网络、存储或其他计算相关资源的分配容量可随时间变化。

在一个实施方案中,在移动设备120和计算设备110配对之后,配对模块142还可以通过向移动设备120声明移动推送通知来辅助响应于无密码登录请求。在该无密码登录期间,移动配对代理122可以从请求计算设备110提取计算机公共密钥,并且作为响应,检测移动设备与计算设备之间是否存在配对。移动配对代理还可以加密并发送密码加密密钥至客户端计算设备110,客户端计算设备可以解密密码加密密钥。此密码加密密钥可用于加密和解密用户登录密码。在无密码登录期间,客户端配对代理能够解密先前在移动设备120和计算设备110的配对阶段期间存储的加密的用户登录密码。

图2a-1和图2a-2是根据一些实施方案的使用网络服务将移动设备与计算机安全配对以进行无密码登录的数据通信系统的示例性具体实施。如图2a-1所示,响应于配对请求,在计算设备监视器上显示qr图像。在移动设备扫描qr图像之后,用户将根据配对后的配对协议和登录协议登录到计算设备中(将参考图4至图6a详细描述)。在图2a-2中,pin(个人识别号码)可以由计算机显示并由用户输入到移动设备中,以进行如下文进一步描述的相互认证数据验证。图2b示出了在一些实施方案中,在接收配对之后,用于图1、图2a-1和图2a-2的移动设备120的一个或多个移动设备的数据通信系统移动端的示例性图形用户界面(gui)图。如图2b所示,云服务150可以向移动设备120a声明移动通知推送,包括计算设备、关联的用户凭据(诸如电子邮件地址)和凭据标识符的通知。如图所示,移动设备120a的用户可以通过选择按钮来选择是否批准或拒绝配对请求。图2c是在一些实施方案中用于图2a的可穿戴移动设备120b中的一个或多个可穿戴移动设备的用于验证配对请求的数据通信系统的移动端的示例性gui的另一图。佩戴手表、移动设备120b的用户可以通过触摸触敏用户屏幕来确认配对请求。例如,向上滑动一个手指可表示批准,而向下滑动一个手指可表示拒绝。移动设备120可被配置为感测响应于移动推送通知而做出的各种手势,包括检测做出该手势的手指的数量以及轻扫、轻击的方向或手指比出的形状。

图3a示出了根据一些实施方案的用于无密码计算机登录的通信和/或操作体系架构。如图所示,计算设备110通过由具有推送服务功能的网络服务器140执行的云服务与移动设备120配对。推送服务可以在云服务外部或位于网络服务器140内部。作为第一动作,可以通过近端检测服务诸如ble或间接通过云辅助服务来进行移动设备与计算设备的配对。其次,计算设备可以提交公共密钥以及可选地企业令牌,诸如携带关于用户的陈述的安全断言标记语言(saml)令牌,所述陈述是一个实体关于另一个实体所做出的要求集合。此外,可发生云服务辅助配对,其中公共密钥和令牌被用于验证配对请求并通过移动推送服务提示移动设备,如图所示。接下来,计算机设备可以显示pin、长密钥和/或直接嵌入在qr图像中的计算机公共密钥。作为响应,移动设备的用户可以输入pin和/或长密钥。在替代方案中,移动设备的用户可以选择扫描qr图像。在另一种替代方案中,如果两个设备之间存在此种功能,则不显示计算机生成的长密钥并且静默地将其传输到相邻ble配对设备。此外,移动设备可以生成移动公共密钥(m_pub)和密码加密密钥。移动设备可以加密密码加密密钥并将该加密的密钥发送到网络服务器140执行的云服务,连同一次性密码(otp)令牌证明和从配对pin生成的验证数据或者在两个设备之间本地传输的秘钥。最后,计算设备可以检索打包的(加密的)密码加密密钥以及移动设备的公共密钥。如图所示,移动设备密钥对(m_kp)和密码加密密钥保持存储在移动设备上,同时计算机交换密钥对(c_kp)和加密的密码保持存储在计算设备中。这样,密钥对可以用于安全的端到端数据交换。在初始配置交换之后,每一端都持有另一端的公共密钥。当将来一端需要将数据发送给另一端时,其将使用另一端的公共密钥以加密数据。这样,只有预期的目标端可以解密接收到的数据。因此,移动密钥对(m_kp)和计算机密钥对(c_kp)可用于未来的安全数据交换。例如,在一些实施方案中,交换密钥对可用于未来计费和管理目的。

图3b示出了根据一些实施方案的用于具有ble流优化的无密码计算机登录的通信和/或操作架构。在一些实施方案中,当计算设备110和移动设备120具有近端检测(诸如ble)时,数据通信的系统和方法可以用于增强设备和安全实用程序的配对。作为第一动作,可以通过近端检测服务诸如ble进行移动设备与计算设备的配对。其次,计算设备可以提交公共密钥以及企业令牌诸如携带陈述的安全断言标记语言(saml)令牌,所述陈述是一个实体关于另一个实体所做出的要求的集合。此外,计算机设备可以可选地显示pin,同时经由ble静默地传输pin到移动设备120以供视觉确认。作为响应,在视觉匹配检查时,移动设备的用户可以可选地批准pin,并且发起与移动交换密钥对(m_kp)和计算机交换密钥对(c_kp)的密钥交换。移动设备可以利用计算机的公共密钥对密码加密密钥(打包密钥)进行加密,并且将该加密的密钥可选地连同来自先前注册该服务的移动凭据的一次性密码(otp)和利用pin生成的认证数据一并发送至云服务。作为响应,云服务可以对配对和账户管理进行辅助,其中每个移动和计算设备的跟踪连同服务消耗的监视一起发生。最后,计算设备可以检索打包的(加密的)密码加密密钥以及移动认证数据以及移动设备的公共密钥。

图4是示出了根据一些实施方案的数据通信系统的配对协议的框图。如图1所示,数据通信系统100可以包括存储在计算设备110内(在存储器114中)并由处理器116执行的配对计算机应用程序(c_pa)。此外,如图1所示,系统100可以包括存储在移动设备120内(在存储器124中)并由处理器126执行的配对移动应用程序(m_pa)。移动设备120可以包括用于配对通信和/或qr读取功能的设备。系统100还可以包括云服务以促进移动设备和计算机之间的通信;以及代表云服务向用户的移动设备发送通知的移动推送服务。

安全配对和密码交换流程可以包括使用计算设备110生成配对和数据交换密钥。例如,计算机配对应用程序c_pa可以生成本地一次性配对密钥(c_lps)和持续数据交换密钥对c_kp。配对密钥c_lps可以在发起配对请求(协议的步骤1,如图所示)期间在计算设备屏幕中显示为qr码。可选地,计算设备可以显示作为移动键盘友好pin的明确密钥值。qr图像也可以包含用户信息诸如用户名。此外,qr图像可能包括c_pa的公共秘钥值,但这可能会造成密度过高而无法识别。因此,qr图像的优选呈现是短qr友好配对密钥之一。

其次,计算设备110可以请求配对。例如,配对计算机应用程序(c_pa)可向云服务发送配对请求,指示其使用移动推送来通知用户注册的移动设备。在一个实施方案中,该请求不仅可以包括其私钥的拥有证明(pop),而且还可以包括通过客户端的公共密钥(c_pub)从配对密钥导出的计算机认证数据(c_authdata)(协议的步骤2,如图所示)。例如,计算设备可以使用散列算法函数(诸如金钥杂凑讯息鉴别码(hmac))来生成计算机认证数据:

c_authdata=hmac(kdf(c_lps),contextdata|c_pub)

[1]

contextdata=username|c_keyid

[2]

其中,kdf是密钥导出函数,其使用伪随机函数从密钥值诸如主密钥、密码或密码短语等中导出一个或多个秘密密钥。在一个实施方案中,秘密密钥可以从c_lps中导出。上下文数据(contextdata)可以是用户名或计算机密钥标识符(c_keyid)。使用这种格式,数据的接收者(无论是网络服务器还是移动设备)能够验证数据是否来自原始来源,并且因此可以检测通过“中间人”实施的任何更改。

可选地,该请求还可能包括关联功能。在一个实施方案中,请求可以包括向云服务提供计算设备的服务使用权利证明的关联数据。在该过程中,环境的授权身份提供商可以使用其登录用户名和密码或其他认证方法验证计算设备和关联用户。作为对验证用户的响应,授权身份提供商可以将其认证声明(例如,saml)发送到云服务作为认证用户的证明。

接下来,云配对服务可以验证移动设备注册,并且响应于验证的注册,触发移动应用程序运行。在一个实施方案中,云服务可以在注册的移动设备的数据库中搜索请求的移动设备以进行配对(协议的步骤3,如图所示)。当匹配发生时,云配对服务可以发起针对推送服务的动作,以向用户移动设备发送具有事务id的移动推送通知(协议的步骤4,如图所示)。在一些实施方案中,由于文件大小要求和隐私考虑,原始配对请求消息可能不包括在推送通知内。

此外,还将发生移动配对安全性的处理。用户可以可选地输入在计算设备的显示器上显示的明确pin或扫描qr图像,作为对qr功能受限情况的后备。在用户选择输入pin的情况下,配对移动应用程序(m_pa)可从位于云配对服务上的初始配对请求有效载荷读取计算机认证数据(协议的步骤5和6,如图所示)。在替代方案中,配对移动应用程序(m_pa)可提示用户扫描并读取显示在计算设备的监视器上的qr码图像(协议的步骤6,如图所示)。在ble功能可用的其他情况下,移动设备可以经由ble通道静默地接收配对密钥(c_lps),而无需使用qr扫描。移动应用程序验证配对请求,并且存储计算设备的公共密钥(c_pub)。

在pin输入或qr图像扫描或基于ble的c_lps获取后,可能会发生移动密码加密密钥交换。在一个实施方案中,配对移动应用程序(m_pa)可生成其自己的数据交换密钥对(m_kp)和密码加密密钥k_pwd。应用程序(m_pa)可使用请求计算机的公共密钥c_pub连同其认证数据以加密密码加密密钥k_pwd。此外,可以通过将移动应用程序(m_pa)配对到云配对服务来发送该加密密钥k_pwd(或k_enc)(协议的步骤7,如图所示)。在一些实施方案中,移动应用程序可以发送拥有证明(pop)和使用散列算法函数(hmac)(类似于用于生成计算机认证数据的那个)导出的移动认证数据以及在附近本地接收的c_lps。该数据交换还可以包括移动公共密钥(m_pub)和配对的移动设备密钥标识符(m_kid)。例如,配对移动应用程序(m_pa)可以使用hmac算法来生成移动认证数据:

cipherdata=encrypt(k_pwd,c_pub)

[3]

m_pop=signed(cipherdata,m_priv)

[4]

m_authdata=hmac(kdf(c_lps),m_kid|username|cipherdata|pop)

[5]

其中,解密数据(cipherdata)是基于请求计算机的公共密钥c_pub的密码加密密钥k_pwd的加密版本。解密数据(cipherdata)和移动私钥(m_priv)的签名函数可用于生成拥有证明(m_pop)。此外,可以使用带密钥的散列函数、杂凑秘密密钥的hmac、配对的移动设备密钥标识符(m_kid)、用户名、解密数据(cipherdata)以及拥有证明(m_pop)生成移动认证数据(m_authdata)。与上述类似,可以使用计算机设备已知的c_lps从密钥导出函数中导出秘密密钥。

在完成计算机设备与移动设备的配对时,云配对服务可以注册设备并且为每个设备存储多个配对变量(该协议的步骤8,如图所示)。此时,计算设备可以验证从与移动设备相关的云服务接收的响应数据(协议的步骤10,如图所示)。例如,可以使用c_lps、计算机的私人配对密钥验证移动设备。其中,配对计算机应用程序(c_pa)可以验证数据,该数据从具有基于配对密钥的认证数据的移动设备发送。此时,计算设备可以存储配对的移动设备密钥标识符(m_kid)、移动公共密钥(m_pub),并且使用密码加密密钥(k_pwd)加密其计算机登录密码。配对计算机应用程序(c_pa)可以存储加密的密码,并且在加密之后丢弃加密密钥。此外,可以在计算设备和云服务之间确认配对和注册(协议的步骤11和12,如图所示)。

在计算机设备与移动设备配对之后,无密码计算机登录可包括从计算机应用程序(c_pa)到云服务的请求,以执行至移动设备的移动推送以检索密码加密密钥。该请求可包括计算机的数据交换密钥标识符和其私钥的拥有证明(pop)。作为响应,移动应用程序(m_pa)可以请求用户确认以批准该登录请求。在验证请求方先前已与移动设备配对后,移动应用程序(m_pa)也可使用请求方的公共密钥(c_pub)以加密形式发送密码加密密钥(k_pwd)。先前配对的计算设备将能够解密加密的密码加密密钥(k_pwd),获取用户的密码并且使用标准登录实用程序登录到该账户。

在一些实施方案中,当计算设备应用程序c_pa将配对请求消息发送到云配对服务时,不必使用认证凭据。这也可能是对网络服务的匿名请求。

在一个实施方案中,可以使用qr图像将计算机公共密钥(c_pub)传输到m_pa,而无需经过网络服务来解决“中间人”情况。当使用qr图像时,移动应用程序m_pa将不需要进行往返以检索由计算设备发送的配对请求。但是,qr数据可能过于密集,可能会导致扫描qr码的时间更长。

在一些实施方案中,当用户具有多个移动设备时,可以实现向所有相关的推送使能设备的移动推送广播。在一些实施方案中,推送广播可以仅包括配对请求标识符。在推送广播期间不需要直接发送实际请求消息。这可允许更大的请求数据量;然而,移动推送广播可能需要更多时间。

在一些实施方案中,为了尝试减轻向网络服务发送垃圾邮件,可能在来自计算机应用程序c_pa的请求中使用一次性密码或其他先前已知的云服务凭据。

在移动设备对配对请求的响应期间,可以触发移动应用程序m_pa来检索和响应配对请求消息。如果用户选择输入pin,移动应用程序m_pa调用云服务以检索实际消息。移动应用程序m_pa也可以从推送消息发送请求事务id。此外,移动应用程序m_pa可以使用其移动推送凭据向云服务发送认证数据。因此,移动应用程序m_pa从云服务接收配对请求数据。如果用户选择扫描qr码,移动应用程序m_pa从qr图像中提取c_lps以及可选地c_pub。

在该示例中,在基于c_lps对给定数据的配对请求进行验证之后,可以从移动设备端生成密钥对,包括移动公共密钥m_pub、移动私钥m_priv和设备标识符(m_id)。移动配对应用程序可生成随机数据加密密钥m_dk并存储计算机标识符(c_id)、公共密钥(c_pub)、用户标识符(用户标识)、设备标识符(m_id)、移动公共密钥(m_pub)、移动私钥(m_priv)和数据加密密钥(m_dk)。作为响应,移动配对应用程序可以将消息构造回到云网络服务以用于计算设备轮询。具体地讲,移动配对应用程序m_pa可向云服务发送配对响应消息(pairingresp),其中移动推送凭据被用于服务认证。

在处理配对响应(pairingresp)期间,云服务可以使用移动凭据来认证移动设备。云服务可以注册配对标识符(c_id、m_id、用户名、企业id)并存储来自响应消息的数据。云服务可以通过发送消息“pairingresp”以响应于计算设备的轮询请求以获得配对响应。当c_id和事务id与云服务存储的内容匹配时,可以接受轮询请求。该检查是可选的,以增加安全性。

在配对响应的处理期间,计算设备验证具有从c_lps以相同密钥导出算法导出的密钥的认证数据,并且验证移动认证数据m_pop。计算设备可以解密cipherdata以利用其私钥c_priv获得数据密钥“m_dk”。此外,计算设备可以以安全的方式存储移动设备标识符(m_id)和移动设备的公共密钥m_pub,以备未来使用。此时,两个设备(计算设备c_pa和移动设备m_pa)已经交换并且建立了具有进行端到端安全数据交换功能的相互信任。

建立的配对可用于辅助无密码的计算机登录。在这种使用情况下,计算设备可以进一步使用加密密钥m_dk来加密密码。出于安全目的,不会存储密码加密密钥m_dk。

在一些实施方案中,计算机设备将确认消息发送回云服务以及可选地移动设备以确认配对。同时,该确认可用于未来计费和管理目的,其中计算设备被确认为已注册的合法设备。

当云配对服务注册用于未来验证通信的计算设备时,网络服务可以执行消息验证并且在服务数据库中注册计算机和移动设备标识符cid、m_id之间的配对。

图5是示出根据一些实施方案的用于数据通信系统的第二配对协议的框图,其中企业用户身份在供企业管理员进行配对管理的云端注册。类似于图4的协议,可以使用由网络服务器140执行的云服务将计算设备c_pa与移动设备m_pa配对。图4和图5的协议之间的区别在于,第二配对协议包括获取对云服务的企业用户身份声明的步骤,从而允许云服务将用户与设备绑定以进行企业管理。

图6a是根据一些实施方案的使用网络服务将移动设备与计算机安全配对以进行无密码登录的方法600的流程图。在动作610中,在移动设备注册云配对服务。此外,可在移动设备注册企业服务提供商。例如,移动设备可以注册到网络服务器,其中可以生成移动凭据数据,包括与移动设备相关联的用户标识符和电话号码。稍后,初始移动推送通知可基于移动otp凭据以用于附加安全性。

在动作612中,计算设备可通过向网络服务器发送请求来发起配对请求。配对请求可包含计算设备的认证数据、计算机公共密钥和拥有证明密钥。计算机设备也可生成配对和数据交换密钥。例如,计算设备内的计算机配对应用程序c_pa可生成本地一次性配对密钥(c_lps)和持续数据交换密钥对c_kp。数据交换密钥对c_kp可能在未来用于验证目的。

在判定动作614中,网络服务器可验证与配对请求相对应的移动设备是否被注册。如果移动设备未被注册,则网络服务器可以拒绝配对请求,如动作638所示。如果移动设备被注册,则在动作616中,计算设备可以显示与计算机公共密钥和秘密配对密钥(c_lps)对应的pin或qr图像。计算设备在显示qr图像之前先生成该图像。pin可以是预先选择的字母数字代码,或者可以在发起配对请求之前或期间由计算设备随机生成。另选地,动作616可以在检测到移动设备注册之前发生,其中计算设备紧接在发起配对请求之后显示pin或qr图像。如果ble功能可用,计算设备可以使用ble将c_lps传输到可与ble在本地配对而无需使用qr扫描的移动设备。

在动作618中,在移动设备中提示用户输入pin或扫描qr图像以获取c_lps。在一些实施方案中,网络服务器可以发起具有事务标识符的移动推送通知,其中移动推送通知还包括计算机认证数据。计算机认证数据可以在计算设备发起配对请求之前生成。计算机认证数据可以基于配对秘密密钥。此外,在动作619中,网络服务器可以接收计算机认证数据。

在判定动作620中,移动设备应用程序m_pa可以确定由移动设备用户输入的pin是否可以验证来自计算设备的请求。另选地,移动设备可以确定扫描的qr图像或ble接收的c_lps是否可以验证配对请求中提供的认证数据。当在任何一种情况下都不存在匹配时,移动设备可以在动作638中拒绝配对请求。尽管未示出,但移动设备用户可以被给予不止一次的机会来输入正确的pin或重新扫描qr图像或重试c_lps的ble传输。具体地讲,该过程将循环回到动作618。作为pin、qr图像或经由ble通道检索c_lps的重复尝试可以被预设为特定尝试次数,其中配对请求最终被拒绝,并且过程在动作640中结束。然而,当匹配发生时,移动设备可继续提取计算机公共密钥。在替代方案中(尽管未示出),移动设备可以从网络服务器请求相同的信息。

在动作624中,移动设备可以生成密码加密密钥并且加密密码加密密钥。在替代方案中,移动设备可以从存储器中检索密码加密密钥。密码加密密钥的加密可以使用在配对发起请求中发送的计算机公共密钥来实现。在动作626中,可以将加密的密码加密密钥传送给计算设备。此外,移动设备可以在相同的动作626中生成并传送移动认证数据。具体地讲,加密的密钥可以被传送到网络服务器,网络服务器再将其转发给计算设备。

一旦接收到加密的密钥和移动认证数据,计算设备即可以在判定动作628中检测移动认证数据是否有效。当移动认证数据无效时,计算设备可以在动作638中通过网络服务器间接拒绝配对请求。另一方面,当移动认证数据有效时,计算设备可以在动作630中使用计算机私钥对加密的密钥进行解密。

在动作632中,计算设备可以使用密码加密密钥来加密与其用户账户相关联的登录密码。在动作634中,该加密的登录密码可在无密码登录期间由计算设备存储以便将来使用。此外,在动作636中,为了用户安全的目的,可以删除密码加密密钥。

图6b是根据一些实施方案的用于通过网络服务使用无密码登录登录到计算机的方法660的流程图。在动作662中,请求计算设备可请求对特定计算设备的无密码登录访问。具体地讲,该请求可以被发送到网络服务器,作为响应网络服务器在判定动作664中检测计算设备和移动设备先前是否已经配对。当不存在先前配对时,在动作668中拒绝无密码登录访问。当存在先前的配对时,网络服务器在动作666中向移动设备声明移动推送通知。移动推送将提醒移动设备用户无密码登录请求。尽管未示出,但是此时用户可能有机会拒绝登录请求。在动作670所示的替代方案中,移动设备可以检索无密码登录请求的数据有效载荷,并且从登录请求中提取计算机认证数据和公共密钥。在替代方案中,网络服务器可以提取计算机认证数据和公共密钥并将其传送到移动设备。

在动作672中,移动设备可以使用计算机公共密钥来加密密码密钥。该加密的密码密钥可以在动作674中传送到计算设备,其中计算设备在动作676中使用其计算机公共密钥解密该加密的密码密钥。此外,在动作678中,计算设备可以解密先前在配对阶段期间存储的加密的登录密码。最后,在动作680中,计算机设备可以使用登录密码执行登录。

应当理解,可以利用数字处理系统诸如常规通用计算机系统执行这里描述的方法。可以使用设计或编程为仅执行一项功能的专用计算机。图7是示出了可实现本文所述的实施方案的示例性计算设备的示意图。根据一些实施方案,图7的计算设备700可用于执行用于执行使用网络服务安全地将移动设备与计算机配对以进行无密码登录的方法的功能的实施方案。计算设备700包括通过总线706耦接到存储器704的中央处理单元(cpu)702和大容量存储设备708。大容量存储设备708表示持续数据存储设备诸如软盘驱动器或固定盘驱动器,在一些实施方案中,其可以是本地或远程的。在一些实施方案中,大容量存储设备708可以实现备份存储。存储器704可以包括只读存储器、随机存取存储器等。在一些实施方案中,驻留在计算设备上的应用程序可以存储在计算机可读介质(诸如存储器704或大容量存储设备708)上或通过计算机可读介质访问。应用程序也可以是调制电子信号的形式,该调制电子信号通过计算设备的网络调制解调器或其他网络接口调制访问。应当理解,在一些实施方案中,cpu702可以体现在通用处理器、专用处理器或专门编程的逻辑设备中。

显示器712通过总线706与cpu702、存储器704和大容量存储设备708进行通信。显示器712被配置为显示与本文描述的系统相关联的任何可视化工具或报告。输入/输出设备710耦接到总线706以便将命令选择中的信息传送到cpu702。应当理解,去往和来自外部设备的数据可以通过输入/输出设备710传送。cpu702可被定义为执行本文所述的功能以实现参考图1至图6b所描述的功能。在一些实施方案中,体现该功能的代码可以被存储在存储器704或大容量存储设备708中以供处理器诸如cpu702执行。计算设备上的操作系统可以是iostm、ms-windowstm、os/2tm、unixtm、linuxtm或其他已知的操作系统。应当理解,本文所述的实施方案还可与虚拟化计算系统结合。

上文对诸多细节做出陈述。然而,对本领域技术人员而言,显而易见,缺少这些具体细节也能实施本发明。在一些情况下,为避免使本发明表述不清,将以框图形式(而非详细说明)说明众所周知的结构和设备。

应当理解,上述描述旨在做示例性描述,而非限制性描述。在阅读并理解上述描述后,许多其他实施方案对于本领域技术人员而言将是显而易见的。虽然本文已结合具体示例性实施方案对本发明进行说明,但应认识到,本发明并不限于所述的实施方案,在不脱离所附权利要求书的精神和范围情况下,本发明在实施中可做有关修改和变更。因此,应以说明性意义而非限制性意义看待本说明书和附图。因此,应结合所附权利要求书以及所述权利要求书有权获得的等效物的完整范围,共同确定本发明的范围。

本文公开了详细的示例性实施方案。然而,出于描述实施方案的目的,本文所公开的具体功能细节仅仅是代表性的。然而,实施方案可体现为许多另选形式,并且不应被理解为仅限于本文所述的实施方案。

应当理解,虽然术语第一、第二等可以在本文中用于描述各种步骤或计算,但是这些步骤或计算不应受到这些术语的限制。这些术语仅用于将一个步骤或计算与另一个步骤或计算进行区分。例如,第一计算可被称为第二计算,并且类似地,第二步骤可被称为第一步骤,而不脱离本公开的范围。如本文所用,术语“和/或”和“i”符号包括一个或多个相关联的所列项目的任何和所有组合。如本文所用,除非上下文另外明确地指出,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。还应当理解,当在本文中使用时,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(including)”指明存在所述特征、整体、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其组合。因此,本文所使用的术语仅仅是为了描述具体实施方案,并非旨在进行限制。

还应该指出的是,在一些另选具体实施中,所提及的功能/动作可以不按照附图中指出的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个图实际可基本上同时执行,或者有时可以相反的顺序执行。考虑到上述实施方案,应当理解,这些实施方案可采用涉及存储在计算机系统中的数据的各种计算机实现的操作。这些操作是需要物理量的物理操纵的那些操作。通常(但并非必须),这些物理量以能够被存储、传输、组合、比较以及其他方式操作的电信号或磁信号的形式出现。此外,所执行的操纵通常被称为术语诸如产生、识别、确定或比较。本文所述的形成实施方案的一部分的任何操作是可用的机器操作。这些实施方案还涉及用于执行这些操作的设备或装置。该装置可根据所需目的而特别构造,或者该装置可以是通用计算机,该通用计算机由存储在计算机中的计算机程序选择性地激活或配置。具体地讲,各种通用机器可以与根据本文的教导内容编写的计算机程序一起使用,或者可以更方便地构造更专用的装置来执行所需操作。

模块、应用程序、层、代理或其他方法可操作实体可被实现为硬件、固件或执行软件的处理器或它们的组合。应当理解,在本文所公开的基于软件的实施方案的情况下,软件可体现在物理机器诸如控制器中。例如,控制器可以包括第一模块和第二模块。控制器可被配置为执行例如方法、应用程序、层或代理的各种动作。

这些实施方案也可实施为非暂态计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储设备,所述数据随后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、附网存储(nas)、只读存储器、随机存取存储器、cd-rom、cd-r、cd-rw、磁带、闪存存储器设备以及其他光学和非光学数据存储设备。计算机可读介质还可以分布在网络耦接的计算机系统上,使得计算机可读代码以分布式方式存储和执行。本文所述的实施方案可以利用包括手持设备、平板电脑、微处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等的各种计算机系统配置来实施。这些实施方案也可以在分布式计算环境中实施,其中任务由通过基于有线或无线网络链接的远程处理设备执行。

尽管方法操作是以特定顺序描述的,但是应当理解,其他操作可以在所描述的操作之间执行,所描述的操作可被调整使得它们在稍微不同的时间发生,或者所描述的操作可以分布在系统中,该系统允许以与处理相关联的各种间隔发生处理操作。

在各种实施方案中,本文所述的方法和机制的一个或多个部分可以形成云计算环境的一部分。在此类实施方案中,根据一个或多个各种模型,资源可以作为服务通过互联网提供。此类模型可包括基础设施即服务(iaas)、平台即服务(paas)和软件即服务(saas)。在iaas中,计算机基础结构作为服务提供。在这种情况下,计算装置通常由服务提供商拥有和运营。在paas模型中,开发人员用于开发软件解决方案的软件工具和底层装置可作为服务提供并由服务提供商托管。saas通常包括作为按需服务的服务提供商许可软件。服务提供商可托管该软件,或者可将软件部署到客户一段给定的时间。上述模型的许多组合是可能的并且是可以预期的。

各种单元、电路或其他组件可被描述或要求为“被配置为”执行一个或多个任务。在此类上下文中,通过指示单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路),短语“被配置为”被用于如此表示结构。这样,即使当指定的单元/电路/组件当前不可操作(例如,未开启)时,也可以说单元/电路/组件被配置为执行任务。与“被配置为”语言一起使用的单元/电路/组件包括硬件;例如,电路、存储可执行以实现操作的程序指令的存储器等。记住,单元/电路/组件“被配置为”执行一个或多个任务明确表示针对该单元/电路/组件,不援引35u.s.c.112,第六段。另外,“被配置为”可包括由软件和/或固件(例如,fpga或执行软件的通用处理器)操纵以能够执行相关任务的方式进行操作的通用结构(例如,通用电路)。“被配置为”还可包括调整制造过程(例如,半导体制造设施)以制造适于实现或执行一个或多个任务的设备(例如,集成电路)。

出于阐释目的,已参考特定实施方案进行了以上描述。然而,以上示例性讨论并非旨在是穷举的或将本发明限制为所公开的精确形式。鉴于上述教导,许多修改形式和变型形式都是可能的。为了最好地解释这些实施方案的原理及其实际应用,选择并描述了实施方案,由此使得本领域其他技术人员能最好地利用这些实施方案以及具有可适合所设想的具体用途的各种修改形式。因此,本实施方案被认为是例示性的而非限制性的,并且本发明不限于本文给出的细节,而是可以在所附权利要求的范围和等同物内进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1