用于使用一次性密码的分布式离线登录的方法和系统的制作方法

文档序号:7978689阅读:173来源:国知局
用于使用一次性密码的分布式离线登录的方法和系统的制作方法
【专利摘要】一种用于将分布式登录服务扩展到离线计算设备的方法和系统,包括在离线计算设备上对一次性密码(OTP)、随机数和唯一标识符进行加密以便生成授权请求消息。使用移动设备作为代理以便将所述授权请求消息转发到访问控制服务器用于授权。对授权响应消息进行解密以便获得随机数。对所述随机数进行重新加密以便生成授权响应消息。使用所述移动设备作为代理以便将所述授权响应消息转发到所述离线计算设备。对所述授权响应消息进行解密以便获得随机数。将从所述授权响应消息获得的所述随机数与原始随机数进行比较。所述计算设备根据从所述授权响应消息获得的随机数与所述原始随机数的比较结果来允许或者拒绝访问。
【专利说明】用于使用一次性密码的分布式离线登录的方法和系统

【背景技术】
[0001] 计算设备已经普遍存在于日常生活中,一个人整天与大量这样的设备进行交互已 经变得很常见。出于多种原因,那些计算设备中的许多总是连接到诸如互联网的一个或多 个网络。这样的连接性允许计算设备从远程设备和服务器处接收安全补丁、软件更新、固件 更新以及各种其它形式的信息和数据。
[0002] 然而,由于各种因素,向某些设备提供稳健的连接性可能并不可行。这些设备中的 许多具有到网络的受限访问或者不具有到网络的访问,这使管理和服务这样的设备变得困 难。而且,由于缺乏连接性,这些设备中的许多不能够与远程登录服务器进行可靠通信,并 且结果是经常使用普通的用户名和密码被配置。这样的通常做法导致这些设备受到大量安 全威胁,因为这样的设备缺少快速和安全地改变密码或者撤销用户的授权的能力。

【专利附图】

【附图说明】
[0003] 在附图中通过示例而非限制的方式说明了本文描述的发明。为了说明的简洁和清 晰,附图中说明的元件不一定按照比例绘制。例如,为了清晰起见,一些元件的尺寸可以相 对于其它元件被放大。进而,在被认为合适的情况下,在附图当中重复附图标记以便指示相 对应的或者类似的元件。
[0004] 图1是用于将分布式登录服务扩展到离线计算设备的系统的至少一个实施例的 简化框图;
[0005] 图2是用于将分布式登录服务扩展到图1的离线计算设备的方法的至少一个实施 例的简化的活动流程图;
[0006] 图3是由图1和图2的计算设备执行的用于扩展分布式登录服务的方法的至少一 个实施例的简化流程图;
[0007] 图4是由图1和图2的移动设备执行的用于扩展分布式登录服务的方法的至少一 个实施例的简化流程图;以及
[0008] 图5是由图1和图2的访问控制服务器执行的用于扩展分布式登录服务的方法的 至少一个实施例的简化流程图。

【具体实施方式】
[0009] 尽管本公开的概念会受到各种修改和可替代形式的影响,但是在附图中通过示例 的方式示出了并且在本文详细描述了其具体的示例性实施例。然而,应该理解,这并不意在 将本公开的概念局限于所公开的特定形式,而是相反,意在涵盖与本公开和所附的权利要 求一致的所有修改、等同物和替代形式。
[0010] 在下面的描述中,阐释了诸如逻辑实现、操作码、指定操作数的手段、资源分割/ 共享/复制实现、系统部件的类型和相互关系以及逻辑分割/集成选择等等的各种具体细 节以便提供对本公开更加全面的理解。然而,本领域的技术人员将意识到,本公开的实施例 可以在不具有这样的具体细节的情况下被实施。在其它实例中,没有详细示出控制结构、门 级电路以及全软件指令序列以便避免使本发明难于理解。利用所包括的描述,本领域的普 通技术人员将能够在不必进行过度试验的情况下来实现适当的功能。
[0011] 说明书中对"一个实施例"、"实施例"、"示例实施例"等等的引用指示所描述的实 施例可以包括特定的特征、结构或特性,但是并非每一个实施例都必须包括该特定的特征、 结构或特性。而且,这样的短语不必指代相同的实施例。进而,当结合实施例描述特定的特 征、结构或特性时,提出了无论是否被简要描述,结合其它实施例实现这样的特征、结构或 者特性在本领域技术人员的知识范围内。
[0012] 本发明实施例可以被实现在硬件、固件、软件或者其任意组合中。实现在计算机系 统中的本发明实施例可以包括部件之间的一个或多个基于总线的互连或链路和/或部件 之间的一个或多个点对点互连。本发明的实施例也可以被实现为由暂态或者非暂态机器可 读介质承载或者被存储在暂态或者非暂态机器可读介质上的指令,该指令可以由一个或多 个处理器读取并执行。机器可读介质可以被体现为用于以机器(例如,计算设备)可读的 形式存储或者传输信息的任何设备、机制或者物理结构。例如,机器可读介质可以被体现为 只读存储器(ROM)、随机存取存储器(RAM)、磁存储介质、光学存储介质、闪存设备、迷你 SD 卡或者微SD卡、记忆棒、电信号及其它。
[0013] 在附图中,为了容易描述,可以示出诸如代表设备、模块、指令块以及数据元素的 那些元件的示意性元件的具体布置或排序。然而,本领域技术人员应当理解,附图中所述示 意性元件的具体排序或布置并不意在暗示要求处理的特定顺序或序列或者处理的分离。进 而,附图中包括示意性元件并不意在暗示在所有实施例中都要求这样的元件,或者在一些 实施例中,由这样的元件代表的特征可以不被包括在其它元件中或者不与其它元件进行组 合。
[0014] 通常,用于代表指令块的示意性元件可以使用任何合适形式的机器可读指令来实 现,该机器可读指令例如是软件或固件应用、程序、函数、模块、例程、进程、过程、插件、小程 序、小部件、代码段和/或其它。并且每一个这样的指令可以使用任何合适的编程语言、库、 应用编程接口(API)和/或其它软件开发工具来实现。例如,一些实施例可以使用Java、 C++和/或其它编程语言来实现。类似地,用于代表数据或信息的示意性元件可以使用任 何合适的电子布置或结构来实现,该电子布置或结构例如是寄存器、数据存储、表、记录、阵 列、索引、散列、映射、树、列表、图、文件(任何文件类型)、文件夹、目录、数据库和/或其它。
[0015] 进而,在其中诸如实线或者虚线或者箭头的连接元件用于说明两个或更多个其它 示意性元件之间的连接、关系或关联性的附图中,不存在这样的连接元件并不意在暗示不 存在连接、关系或关联性。换言之,为了避免使本发明难于理解,元件之间的一些连接、关系 或关联性并未在图中示出。此外,为了便于说明,单个元件可以用于代表元件之间的多个连 接、关系或关联性。例如,在连接元件代表信号、数据或指令的通信时,本领域技术人员应当 理解,这样的连接元件可以根据需要代表一个或多个信号路径(例如,总线)以便实现该通 ?目。
[0016] 现在参照图1,用于将分布式登录服务扩展到离线设备的系统100包括计算设备 102和访问控制服务器162。在一些实施例中,计算设备102包括"离线"设备,该"离线" 设备具有到诸如网络180的一个或多个网络的受限访问或者不具有到该网络的访问。此外 或者可替代的,在其它实施例中,离线计算设备102可以具有到私有网络的访问,而不是访 问网络180。在使用中,如下面更加详细讨论的,在使用访问控制服务器162认证用户时, 移动设备132用作离线计算设备102的代理。为此,离线计算设备102生成要由访问控制 服务器162验证的授权请求消息。离线计算设备102生成授权请求消息的视觉和/或电子 表示,该消息之后变为可用以便由移动设备132捕获。一旦被获得,该授权请求消息就由作 为代理的移动设备132通过网络180传输到访问控制服务器162。基于包含在授权请求消 息中的信息,访问控制服务器162确定是否应该授权对离线计算设备102的访问。对确定 授权对离线计算设备102的访问做出响应,访问控制服务器162生成授权响应消息并且将 该授权响应消息传输到再次用作代理的移动设备132。在进行接收时,移动设备132生成 该授权响应消息的视觉和/或电子表示,该消息之后变为可用以便由离线计算设备102捕 获。离线计算设备接着基于对包含在授权请求消息内的信息与包含在授权响应消息内的信 息进行比较,确定是否应该允许访问。
[0017] 计算设备102可以被体现为能够执行本文描述的功能的任意类型的计算设备。例 如,计算设备102可以被体现为台式计算机、膝上型计算机、移动互联网设备、手持计算机、 智能电话、平板计算机、个人数字助理、电话设备或者其它计算设备。在一个特定实施例中, 计算设备102被体现为自动柜员机。在图1所说明的实施例中,计算设备102包括处理器 104、1/0子系统110、存储器108、数据存储设备118以及一个或多个外围设备126。在一些 实施例中,前述部件中的一些可以被结合在计算设备102的母板上,而其它部件可以例如 经由外围端口可通信地耦合到母板。而且,应当意识到,计算设备102可以包括为了描述的 清晰而在图1中没有说明的其它部件、子部件以及在计算机和/或计算设备中常见的设备。
[0018] 计算设备102的处理器104可以被体现为能够执行软件/固件的任意类型的处理 器,例如微处理器、数字信号处理器、微控制器等等。处理器104被说明性地体现为具有处 理器核心106的单核处理器。然而,在其它实施例中,处理器104可以被体现为具有多个处 理器核心106的多核处理器。此外,计算设备102可以包括具有一个或多个处理器核心106 的附加处理器104。
[0019] 计算设备102的I/O子系统110可以被体现为电路和/或部件以便促进与处理器 104和/或计算设备102的其它部件的输入/输出操作。在一些实施例中,I/O子系统110 可以被体现为存储器控制器集线器(MCH或"北桥")、输入/输出控制器集线器(ICH或"南 桥")或者固件设备。在这样的实施例中,I/O子系统110的固件设备可以被体现为用于存 储基本输入/输出系统(BIOS)数据和/或指令和/或其它信息(例如,在计算设备102的 引导期间使用的BIOS驱动)的存储器设备。然而,在其它实施例中,可以使用具有其它配 置的I/O子系统。例如,在一些实施例中,I/O子系统110可以被体现为平台控制器集线器 (PCH)。在这样的实施例中,存储器控制器集线器(MCH)可以被结合在处理器104中或者以 其它方式与处理器104相关联,并且处理器104可以直接与存储器108进行通信(如由图1 中的虚线示出)。此外,在其它实施例中,I/O子系统110可以形成片上系统(SoC)的一部 分,并且连同处理器104和计算设备102的其它部件一起被结合在单个集成电路芯片上。
[0020] I/O子系统110可以包括安全引擎(SE) 112,该SE可以被体现为嵌入式微处理器, 例如独立于处理器104操作以便提供不能够由处理器104或者计算设备102的其它部件 访问的安全且隔离的环境的安全协处理器。在一些实施例中,SE 112可以管理由计算设备 102使用以便保护计算设备102和移动设备132和/或访问控制服务器162之间的数据和 /或通信的一个或多个加密密钥的存储。在这样的实施例中,该一个或多个加密密钥可以被 存储在存储器108中对于SE 112可访问但是对于计算设备102的其它部件不可访问的部 分中。在其它实施例中,SE 112可以生成一次性密码(OTP),该OTP被部分地用于将分布式 登录服务扩展到离线计算设备102,下面将进行更加详细的描述。
[0021] 处理器104经由多个信号路径可通信地耦合到I/O子系统110。这些信号路径(以 及图1中说明的其它信号路径)可以被体现为能够促进计算设备102的部件之间的通信的 任何类型的信号路径。例如,信号路径可以被体现为任意数量的电线、电缆、光导、印刷电路 板迹线、通孔、总线、中间设备和/或其它类似物。
[0022] 计算设备102的存储器108可以被体现为或者以其它方式包括一个或多个存储器 设备或者数据存储单元,例如包括动态随机存取存储器设备(DRAM)、同步动态随机存取存 储器设备(SDRAM)、双倍数据率同步动态随机存取存储器设备(DDR SDRAM)、掩模只读存储 器(ROM)设备、可擦除可编程ROM (EPROM)、电可擦除可编程ROM (EEPR0M)设备、闪存设备、和 /或其它易失性和/或非易失性存储器设备。存储器108经由多个信号路径可通信地耦合 至IJ I/O子系统110。各种数据和软件可以被存储在存储器设备108中。例如,构成由处理器 104执行的软件栈的一个或多个操作系统、应用、程序、库和驱动可以在执行期间驻留在存 储器108中。而且,作为存储器管理操作的一部分,可以在存储器108和数据存储设备118 之间交换存储在存储器108中的软件和数据。
[0023] 在其它实施例中,计算设备102可以包括附加的存储器设备。例如,计算设备102 可以包括下面更加详细讨论的安全存储器114,该安全存储器114可以存储用于保护计算 设备102的数据或通信的一个或多个加密密钥116。安全存储器114可以被体现为与主存 储器108分离的存储器设备或者存储器108的安全隔离区。尽管图1中仅说明了两个存储 器设备108和114,但是在其它实施例中,计算设备102可以包括任意数量的附加存储器设 备。
[0024] 计算设备102还可以包括一个或多个数据存储设备118。该一个或多个数据存储 设备118可以被体现为配置用于数据的短期或长期存储的任意类型的一个或多个设备,例 如存储器设备和电路、存储卡、硬盘驱动、固态驱动或者其它数据存储设备。
[0025] 此外,计算设备102可以包括通信电路122,以便促进通过网络180与一个或多个 远程计算设备的通信。计算设备102可以例如取决于一个或多个网络180的特定类型而使 用任意适合的通信协议来通过网络180与其它计算设备进行通信。在一些实施例中,通信 电路122可以包括近场通信(NFC)电路124。无需使用网络180,计算设备102可以使用NFC 电路124向一个或多个远程计算设备传递信息或数据。例如,计算设备102可以使用NFC 电路124向移动设备132传递信息或数据,如下面讨论的,移动设备132也可以包括NFC电 路 154。
[0026] 在一些实施例中,计算设备102可以包括照相机120或者用于捕获由一个或多个 远程计算设备显示的视觉图像或对象的扫描仪。例如,计算设备102可以使用照相机120捕 获由移动设备132显示的一个或多个图像。照相机120可以被体现为任何类型的照相机, 例如能够生成由一个或多个远程计算设备显示或者由计算设备102的用户提供的图像的 静物照相机、摄影机或者类似物。在一些实施例中,照相机120可以被结合在计算设备102 的壳体内,或者可以是可通信地耦合到计算设备102的外围设备126。例如,照相机120可 以被结合在计算设备102的显示屏附近,或者被放置在计算设备102的临近位置中。
[0027] 计算设备102的外围设备126可以包括任意数量的外围或接口设备。例如,外围 设备126可以包括显示器、触摸屏、键盘、鼠标、外部扬声器和/或其它外围设备。外围设备 126经由多个信号路径可通信地耦合到I/O子系统110,从而允许I/O子系统110和/或处 理器104从外围设备126接收输入并且向外围设备126发送输出。包括在外围设备126中 的特定设备可以例如取决于计算设备102的期望用途。
[0028] 在所示出的说明性实施例中,外围设备126包括被体现为图像外围卡的图像处理 单元的图形电路128。图形处理单元用于执行各种图形处理功能,例如加速图形的生成或 者类似功能。这样,图形处理单元典型地用于支持计算设备102上图形的生成。然而,图形 处理单元也可以用于处理由照相机120捕获的视觉图像和/或执行计算设备102的其它任 务。例如,图形处理单元可以结合处理器104或者独立于处理器104来执行计算设备的软 件/固件。在一些实施例中,处理器104也可以包括与处理器核心106 -起被限定在公共 裸片上的图形电路128。
[0029] 移动设备132可以被体现为能够执行下面描述的代理功能的任意类型的便携式 设备。与计算设备102类似,移动设备132可以包括在便携式计算机中常见的各种部件。在 图1的说明性实施例中,移动设备132包括处理器134、存储器138、1/0子系统140、数据存 储设备148、照相机150、通信电路152以及一个或多个外围设备156。通信电路152可以包 括NFC电路154,该NFC电路154用于不通过网络180在移动设备132和计算设备102之间 直接进行通信。如在图1的说明性实施例中示出的,数据存储设备148、照相机150、通信电 路152和NFC电路154可以包括移动设备132的单独部件。当然,应当理解,在其它实施例 中,外围设备156可以包括数据存储设备148、照相机150、通信电路152和NFC电路154中 的一个或多个。
[0030] 访问控制服务器162可以被体现为能够执行本文描述的认证功能的任意类型的 服务器。访问控制服务器162可以包括在服务器计算机中常见的各种部件。在图1的说明 性实施例中,访问控制服务器162包括处理器164、存储器166、数据存储设备170以及通信 电路172。存储器166可以存储由访问控制服务器162使用以便保护访问控制服务器162 和计算设备102和/或移动设备132之间的数据和/或通信的一个或多个加密密钥168。 在一些实施例中,存储器166可以存储一次性密码(0ΤΡ),该0ΤΡ可以用于促进分布式登录 服务到离线计算设备102的扩展。
[0031] 现在参照图2,示出了用于将分布式登录服务扩展到离线计算设备102的方法200 的说明性实施例。在操作中,计算设备102对用户请求访问计算设备102做出响应而生成授 权请求分组。在这样的实施例中,用户可以正在请求访问计算设备102的一个或多个部件, 或者用户可以正在请求访问在计算设备102上执行的一个或多个功能或程序。为了生成授 权请求分组,计算设备102可以使用加密密钥对由计算设备102生成的一次性密码(0ΤΡ)、 计算设备102生成的随机数以及计算设备102的唯一标识符进行加密。随机数可以被体现 为意在仅在例如阻碍重放袭击的密码功能中使用一次的随机数或者伪随机数。
[0032] 在一些实施例中,计算设备102在数据传输202中与移动设备132共享所生成的 授权请求分组。在这样的实施例中,计算设备102可以使用条形码和/或一个或多个NFC 数据交换来与移动设备132共享所生成的授权请求分组。
[0033] 在接收到所生成的授权请求分组时,移动设备132可以从正在请求访问计算设备 102的用户获得用户证书。在一些实施例中,用户证书对于请求访问计算设备102的用户是 唯一的。在从用户获得用户证书之后,在数据传输204中,移动设备132通过网络180向访 问控制服务器162传输授权请求分组和用户证书。
[0034] 在从移动设备132接收到授权请求分组和用户证书时,访问控制服务器162使用 加密密钥对该授权请求分组进行解密以便获得0ΤΡ、随机数和计算设备102的唯一标识符。 应当理解,用于对授权请求分组进行解密的加密密钥与用于对授权请求分组进行加密的加 密密钥相对应。在一些实施例中,访问控制服务器162验证0ΤΡ和计算设备102的唯一标 识符。此外或者可替代的,在一些实施例中,访问控制服务器162验证由移动设备132获得 的用户证书。
[0035] 对验证0ΤΡ、计算设备102的唯一标识符以及由移动设备132获得的用户证书做出 响应,访问控制服务器162使用加密密钥对随机数进行重新加密,以便生成授权响应分组。 应当理解,用于对随机数进行重新加密的加密密钥可以是与用于对0ΤΡ、随机数和计算设备 102的唯一标识符进行加密的加密密钥相对应的或者不同的密钥。在对随机数进行重新加 密之后,在数据传输206中,访问控制服务器162通过网络180将所生成的授权响应分组传 输到移动设备132。
[0036] 在接收到所生成的授权响应分组之后,在数据传输208中,移动设备132与计算设 备102共享所生成的授权响应分组。在这样的实施例中,移动设备132使用条形码和/或 一个或多个NFC数据交换来与计算设备102共享所生成的授权响应分组。应当理解,移动 设备132与计算设备102共享授权响应分组时所使用的条形码和/或一个或多个NFC数据 交换与计算设备102与移动设备132共享授权请求分组时所使用的条码和/或一个或多个 NFC数据交换不同。
[0037] 在接收到授权响应分组时,计算设备102对授权响应分组进行解密以便获得由访 问控制服务器162重新加密的随机数。应当理解,用于对授权响应分组进行解密的加密密 钥与用于对授权响应分组进行加密的加密密钥相对应。在一些实施例中,计算设备102确 认由访问控制服务器162重新加密的随机数与由计算设备102初始生成的随机数相同。之 后,计算设备102可以基于确认该随机数来确定是否允许或者拒绝对计算设备102的访问。
[0038] 如上面讨论的,在一些实施例中,计算设备102可以被体现为自动柜员机 (ATM) 102。在这样的实施例中,对用户请求访问ATM 102的一个或多个部件或功能做出响 应,ATM 102可以生成授权请求分组。为此,ATM102可以首先使用例如一个或多个密码算法 来生成0ΤΡ和随机数。ATM 102接着对0ΤΡ、随机数和ATM 102的唯一标识符进行加密以便 生成授权请求分组。
[0039] 在其中ATM 102具有到网络180的受限接入或者不具有到网络180的接入的实施 例中,ATM使用移动设备132作为代理来将授权请求分组传输到访问控制服务器162。在那 些实施例中,ATM 102可以将授权请求分组编码或者以其它方式转换为NFC标签或条形码, 接着该NFC标签或条形码可以被移动设备132读取或捕获。在从由ATM 102提供的NFC标 签或条形码接收到授权请求分组时,移动设备132通过网络180将该分组连同用户证书一 起转发到访问控制服务器162。
[0040] 访问控制服务器162可以接着对授权请求分组进行解码并且验证包含在其中的 信息。如果该信息(即OTP、随机数和ATM 102的唯一标识符)被验证,则访问控制器162 对随机数进行重新加密以便生成授权响应分组,用于传输到ATM 102。
[0041] 如上面讨论的,在一些实施例中,ATM 102具有到网络180的受限访问或者不具有 到网络180的访问。与先前类似,移动设备132可以用作访问控制服务器162和ATM 102 之间的代理。在这样的实施例中,访问控制服务器162通过网络180将授权响应分组传输 到移动设备132。移动设备132可以将授权响应分组编码或者以其它方式转换为NFC标签 或条形码,该NFC标签或条形码可以随后被ATM 102读取或捕获。
[0042] 在这样的实施例中,ATM 102对授权响应消息进行解密以便获得被访问控制服务 器162重新加密的随机数。为了确定是否允许对一个或多个所请求的部件或功能的访问, ATM 102可以对从授权响应分组获得的随机数与ATM 102初始生成的随机数进行比较。在 这样的实施例中,如果随机数相匹配,则ATM 102可以允许用户访问一个或多个所请求的 部件或功能。
[0043] 现在参照图3,在使用中,离线计算设备102可以执行用于将分布式登录服务扩展 到计算设备102的方法300。方法300开始于方框302,其中计算设备102确定用户是否正 在请求访问计算设备102。如上面讨论的,用户可以请求访问计算设备102的一个或多个部 件,或者访问在计算设备102上执行的一个或多个功能或程序。对确定用户正在请求访问 计算设备102做出响应,方法300前进到方框304。
[0044] 在方框304中,如上面讨论的,计算设备102生成一次性密码(0ΤΡ)。为此,在一些 实施例中,计算设备102的安全引擎(SE) 112可以使用合适的加密算法来根据提供到计算 设备102的种子生成0ΤΡ。此外,为了防止0ΤΡ由恶意的第三方获得,SE 112可以将0ΤΡ、 算法、种子和/或任何其它相关的数据存储在计算设备102的安全存储器114中。应当理 解,尽管在所描述的实施例中SE 112仅使用一种算法来生成0ΤΡ,但是在其它实施例中,SE 112可以使用多于一种算法。
[0045] 此外,在方框304中,计算设备102可以生成随机数。随机数可以被体现为随机数 字或者伪随机数字。计算设备102可以使用合适的加密算法来根据提供到计算设备102的 种子生成随机数。在说明性实施例中,用于生成随机数的算法和种子与用于生成0ΤΡ的算 法和种子不同。此外,应当理解,在说明性实施例中,所生成的每一个随机数被计算设备102 使用一次。
[0046] 计算设备102还可以与唯一标识符相关联。唯一标识符可以被体现为从一个或多 个其它计算设备唯一地识别计算设备102的数字,由字符、单词或者任何其它合适的标记 构成的字母数字字符串。例如,在一些实施例中,唯一标识符可以包括与计算设备102相关 联的唯一序列号。在这样的实施例中,访问控制服务器162的数据存储设备170可以存储 唯一序列号到计算设备的映射。
[0047] 返回参照图3,在方框306中,计算设备102可以使用从安全存储器114取回的加 密密钥116来对0ΤΡ、随机数和唯一标识符进行加密,以便生成授权请求分组。此外或可替 代的,计算设备102可以使用存储在存储器166和/或计算设备102的数据存储设备118 中的一个或多个加密密钥(可以在加密的状态下存储在这些设备中)来对0ΤΡ、随机数和唯 一标识符进行加密。应当理解,计算设备102可以使用任何适当的加密技术来对0ΤΡ、随机 数和唯一标识符进行加密。例如,计算设备102可以使用一个或多个对称密钥算法(即,共 享密钥)、非对称密钥算法(即公钥/私钥对)或者其它适当的加密技术来对OTP、随机数 和唯一标识符进行加密并且生成授权请求分组。在对0TP、随机数和计算设备102的唯一标 识符进行加密以便生成授权请求分组之后,方法300前进到方框308。
[0048] 在方框308中,计算设备102将所生成的授权请求分组传输到访问控制服务器162 用于授权。在这样的实施例中,计算设备102通过首先与移动设备132共享所生成的授权请 求分组来使用移动设备132作为代理。为此,计算设备102可以在方框310中生成包括授权 请求分组的NFC标签或条形码。在这样的实施例中,计算设备102可以将授权请求分组编 码或者以其它方式转换为NFC标签或条形码。应当理解,由计算设备102生成的NFC标签 可以被体现为物理NFC标签或者计算设备102上的"软" NFC标签。此外,计算设备102可 以按照适合于由移动设备132捕获的任何条形码格式来对授权请求分组进行编码。例如, 计算设备102可以将授权请求分组编码为诸如快速响应(QR)码的2D条形码,或者任何其 它适合的条形码格式。移动设备132可以从计算设备102捕捉或者以其它方式接收授权请 求分组,并且将该授权请求分组重新传输到访问控制服务器162,用于授权。
[0049] 在方框312中,计算设备102确定是否从访问控制服务器162接收到授权响应分 组。在一些实施例中,授权响应分组包括由计算设备102生成的但是随后被访问控制服务 器162重新加密的随机数。此外,如上面讨论的,访问控制服务器162使用移动设备132作 为代理用于传输授权响应分组。为此,计算设备102可以使用照相机120和/或NFC电路 124来从由移动设备132生成的条形码或NFC标签捕捉和/或接收授权响应分组。在使用 移动设备132作为代理确定从访问控制服务器162接收到授权分组时,方法300前进到方 框 314。
[0050] 在方框314中,计算设备102对授权响应分组进行解密以便获得随机数。为此,计 算设备102使用加密密钥116或者从安全存储器114取回的相对应的加密密钥。此外或可 替代的,计算设备102可以使用存储在存储器166和/或计算设备102的数据存储设备118 中的一个或多个加密密钥来对授权响应分组进行解密。应当理解,计算设备102可以使用 任何合适的解密技术来对授权响应分组进行解密并且获得随机数。例如,计算设备102可 以使用一个或多个对称密钥算法(即,共享密钥)、非对称密钥算法(即公钥/私钥对)或 者任何其它适当的加密机制来对授权响应分组进行解密并且获得随机数。在对授权响应分 组进行解密并且获得随机数之后,方法300前进到方框316。
[0051] 在方框316中,计算设备102可以确定从解密的授权响应分组获得的随机数是否 与由计算设备102初始生成的随机数相匹配。在一些实施例中,初始生成的随机数可以从 安全存储器114、存储器108或者数据存储设备118取回。如果计算设备102在方框316中 确定从解密的授权响应分组获得的随机数与由计算设备102初始生成的随机数相匹配,则 方法300前进到方框320,其中允许对计算设备102的访问。然而,如果计算设备102在方 框316处确定从解密的授权响应分组获得的随机数与由计算设备102初始生成的随机数不 匹配,则方法300前进到方框318,其中对计算设备102的访问被拒绝。
[0052] 如上面讨论的,移动设备132被计算设备102用作代理。为此,参照图4,移动设备 132可以执行用于将分布式登录服务扩展到离线计算设备102的方法400。方法400开始 于方框402,其中移动设备132确定用户是否正在尝试访问计算设备102。在这样的实施例 中,移动设备132可以基于从一个或多个外围设备156接收到指示访问请求的输入来确定 用户正在尝试访问计算设备102。例如,移动设备132可以确定用户已经按压移动设备的一 个或多个键,启动了一个或多个应用程序用于在移动设备132上执行,和/或执行了指示用 户期望访问计算设备102的任何其它动作。如果移动设备132在方框402处确定用户正在 尝试访问计算设备102,则方法400前进到方框404。
[0053] 在方框404中,移动设备132确定是否已经从计算设备102接收到授权请求分组。 如上面讨论的,对确定用户正在尝试访问计算设备102的一个或多个部件、功能和/或程序 做出响应,计算设备102可以生成授权请求分组。移动设备132可以使用照相机150和/ 或NFC电路154来从由计算设备102生成的条形码或NFC标签捕捉和/或接收授权请求分 组。在确定授权请求分组已经被接收到之后,方法400前进到方框406。
[0054] 在方框406中,移动设备132从请求访问计算设备102的用户获得用户证书。例 如,在一些实施例中,移动设备132可以获得用户的用户名和密码。此外或可替代的,在其 它实施例中,移动设备132可以从用户获得个人识别码(PIN)。用户证书可以经由移动设备 132的一个或多个外围设备156 (即键盘、触摸屏、语音识别部件等等)从用户获得。在方框 408中,在一些实施例中,移动设备132也可以生成与用户的访问请求相关联的附加安全数 据。例如,移动设备132可以生成移动设备132的位置(即,经纬度、城市、州、国家等等)。 在这样的实施例中,移动设备132的外围设备156也可以包括用于确定移动设备132的位 置的位置电路(即,全球定位系统(GPS)电路、RF三角测量电路等等)。此外或可替代的, 移动设备132可以生成用户请求访问计算设备102的日期和/或时间。
[0055] 在方框410中,在获得用户证书和任何其它安全数据之后,移动设备132将从计 算设备102接收到的授权请求分组连同用户证书和安全数据一起传输到访问控制服务器 162。在这样的实施例中,移动设备132通过网络180将授权请求分组、用户证书和任何安 全数据传输到访问控制服务器162。方法400前进到方框412。
[0056] 在方框412中,移动设备132确定是否已经通过网络180从访问控制服务器162 接收到授权响应分组。如果移动设备132确定从访问控制服务器162接收到了授权响应分 组,则方法400前进到方框414。
[0057] 在方框414中,移动设备132可以生成包括授权响应分组的NFC标签或条形码。在 这样的实施例中,移动设备132可以将授权响应分组编码或者以其它方式转换为NFC标签 或条形码。应当理解,由移动设备132生成的NFC标签可以被体现为物理NFC标签或者移 动设备132上的"软" NFC标签。此外,移动设备132可以按照适合于由移动设备132捕获 的任何条形码格式来对授权响应分组进行编码。例如,移动设备132可以将授权响应分组 编码为诸如快速响应(QR)码的2D条形码,或者任何其它适当的条形码格式。计算设备102 可以从移动设备132捕获或者以其它方式接收授权响应分组。
[0058] 现在参照图5,在使用中,访问控制服务器162可以执行用于将分布式登录服务扩 展到离线计算设备102的方法500。方法500开始于方框502,其中访问控制服务器162确 定是否已经从计算设备102接收到授权请求分组。在一些实施例中,授权请求分组包括由 计算设备102生成的0ΤΡ、由计算设备102生成的随机数以及计算设备102的唯一标识符。 如上面讨论的,计算设备102使用移动设备132作为代理,用于将授权请求分组传输到访问 控制服务器162。这样,访问控制服务器162可以确定移动设备132是否通过网络180重新 传输了授权请求分组。在确定已经使用移动设备132作为代理从计算设备102接收到授权 请求分组时,方法500前进到方框504。
[0059] 在方框504中,访问控制服务器162使用加密密钥来对授权请求分组进行解密以 便获得0ΤΡ、随机数和计算设备102的唯一标识符。应当理解,用于对授权请求分组进行解 密的加密密钥与用于对授权请求分组进行加密的加密密钥相对应。方法500接着前进到方 框 506。
[0060] 在方框506中,访问控制服务器162确定是否应当向用户提供对计算设备102的 访问。为此,访问控制服务器162验证从授权请求分组获得的0ΤΡ和计算设备102的唯一 标识符。在一些实施例中,访问控制服务器162可以包括安全引擎(SE)或者其它安全执行 环境。这些实施例的SE或者其它安全执行环境可以使用相同或相对应的密码算法和种子, 以便在访问控制服务器162上生成与由计算设备102生成的0ΤΡ相对应的0ΤΡ。这样,使用 平台标识符,访问控制服务器162可以确定从授权请求分组获得的0ΤΡ是否与在访问控制 服务器162上生成的0ΤΡ相匹配。在一些实施例中,如果从授权请求分组获得的0ΤΡ与由 访问控制服务器162生成的0ΤΡ不匹配,则访问控制服务器162可以确定不应该允许用户 访问计算设备102。然而,如果从授权请求分组获得的0ΤΡ与由访问控制服务器162生成的 0ΤΡ相匹配,则访问控制服务器162可以确定应当向用户提供到计算设备102的访问。
[0061] 此外,如上面讨论的,移动设备132可以传输授权请求分组连同从用户获得的用 户证书。这样,访问控制服务器162也可以验证用户被授权访问计算设备102。在操作中, 访问控制服务器162可以将该用户证书与存储在数据存储设备170中的一个或多个相对应 的用户证书进行比较。例如,访问控制服务器162可以将由用户在移动设备132上输入的 并且随后由访问控制服务器162接收的用户名和密码与存储在数据存储设备170中的相对 应的用户名和密码进行比较。在一些实施例中,如果由移动设备132获得的用户证书与存 储在访问控制服务器162的数据存储设备170中的用户证书不匹配,则访问控制服务器162 可以确定不应该允许用户访问计算设备102。在其它实施例中,如果由移动设备132获得的 用户证书与存储在访问控制服务器162的数据存储设备170中的用户证书相匹配,则访问 控制服务器162可以确定应当允许用户访问计算设备102。
[0062] 此外或可替代的,如前面讨论的,移动设备132还可以向访问控制服务器162传输 与访问请求相关联的附加安全数据。在操作中,访问控制服务器162可以确定该附加安全 数据是否符合由计算设备102的管理员设置的一个或多个访问安全政策。例如,访问控制 服务器162可以确定是否允许特定的用户在一天当中的某个特定时间、从特定位置、在计 算设备102的基准邻近内或者基于与计算设备102的使用相对应的任何其它访问安全策略 来访问计算设备102。
[0063] 返回到方框506,如果访问控制服务器162确定不应该允许用户访问计算设备 102,则方法500循环回到方框502。然而,如果访问控制服务器162确定应该允许用户访问 计算设备102,则方法500前进到方框508。
[0064] 在方框508,对确定用户被授权访问计算设备102做出响应,访问控制服务器162 对由计算设备102生成的随机数进行重新加密。在操作中,访问控制服务器162使用加密 密钥对随机数进行重新加密以便生成授权响应分组。应当理解,用于对随机数进行重新加 密的加密密钥可以是与用于对0ΤΡ、随机数和计算设备102的唯一标识符进行加密的加密 密钥相对应的密钥或者不同的密钥。方法500接着前进到方框510。
[0065] 在方框510中,当对随机数进行重新加密之后,访问控制服务器162将所生成的授 权响应分组传输到计算设备102。如上面讨论的,访问控制服务器162使用移动设备132作 为代理来将授权响应分组传输到计算设备102。为此,访问控制服务器162通过网络180将 授权响应分组传输到移动设备132。之后,移动设备132使用条形码和/或一个或多个NFC 数据交换来与计算设备102共享所生成的授权响应分组。
[0066] 尽管在附图和前面的描述中详细说明和描述了本公开,但是这样的说明和描述被 认为在性质上是示例性的而非限制性的,应当理解,仅示出和描述了说明性实施例,并且期 望保护与本公开及所列权利要求相一致的所有变化和修改。
【权利要求】
1. 一种系统,包括: 计算设备,用于(i)生成一次性密码(OTP)和随机数,(ii)使用所述计算设备的加密密 钥对所述OTP、所述随机数和唯一标识符进行加密,以便生成授权请求消息,并且(iii)与 移动设备共享所述授权请求消息;以及 访问控制服务器,用于(i)从所述移动设备接收所述授权请求消息和用户证书,(ii) 根据所述授权请求消息和所述用户证书,确定用户是否被授权访问所述计算设备,(iii)根 据确定所述用户是否被授权访问所述计算设备来生成授权响应消息,并且(iv)将所述授 权响应消息传输到所述移动设备以便与所述计算设备共享,其中,所述计算设备用于根据 所述授权响应消息来确定是允许还是拒绝到所述计算设备的访问。
2. 如权利要求1所述的系统,其中,所述计算设备包括显示器,所述计算设备用于将所 述授权请求消息编码为快速响应(QR)码并且将所述QR码显示在所述显示器上。
3. 如权利要求1所述的系统,进一步包括所述移动设备,其中,所述计算设备和所述移 动设备分别包括近场通信(NFC)电路,所述计算设备用于生成包括存储在其中的所述授权 请求消息的NFC标签。
4. 如权利要求3所述的系统,其中,对所述移动设备的所述NFC电路接触到所述计算设 备的所述NFC标签做出响应,所述计算设备用于传输存储在所述NFC标签内的所述授权请 求消息。
5. 如权利要求1所述的系统,其中,所述访问控制服务器进一步用于使用所述计算设 备的所述加密密钥来对所述授权请求消息进行解密,以便获得所述OTP、所述随机数以及所 述计算设备的唯一标识符。
6. 如权利要求5所述的系统,其中,所述访问控制服务器用于根据所述授权请求消息 和所述用户证书来确定所述用户是否被授权访问所述计算设备包括:验证所述OTP、所述 唯一标识符以及所述用户证书。
7. 如权利要求6所述的系统,其中,所述访问控制服务器用于根据确定所述用户是否 被授权访问所述计算设备来生成所述授权响应消息包括:对确定所述用户被授权访问所述 计算设备做出响应,使用所述访问控制服务器的加密密钥对由所述计算设备生成的所述随 机数进行重新加密。
8. 如权利要求7所述的系统,其中,所述计算设备进一步用于使用所述访问控制服务 器的所述加密密钥对由所述移动设备共享的所述授权响应消息进行解密,以便获得由所述 访问控制服务器重新加密的所述随机数。
9. 如权利要求8所述的系统,其中,所述计算设备根据所述授权响应消息确定是允许 还是拒绝到所述计算设备的访问包括:验证由所述访问控制服务器重新加密的所述随机数 是否与由所述计算设备生成的所述随机数相匹配。
10. 如权利要求9所述的系统,其中,所述计算设备进一步用于: 对确定由所述访问控制服务器重新加密的所述随机数与由所述计算设备生成的所述 随机数相匹配做出响应,允许访问;并且 对确定由所述访问控制服务器重新加密的所述随机数与由所述计算设备生成的所述 随机数不相匹配做出响应,拒绝访问。
11. 如权利要求1、2、3或5中的任意一项所述的系统,其中,所述计算设备用于在所述 计算设备的安全引擎(SE)中生成所述OTP和所述随机数。
12. 如权利要求1、2、3或5中的任意一项所述的系统,其中,所述计算设备进一步包括 安全引擎(SE),用于从安全存储器存储取回所述计算设备的所述加密密钥以及所述访问控 制服务器的所述加密密钥,所述安全存储器存储对于所述SE是能够访问的并且对于所述 计算设备的其它部件是不能够访问的。
13. -种方法,包括: 在计算设备上生成一次性密码(0TP)和随机数; 对所述0TP、所述随机数和所述计算设备的唯一标识符进行加密以便生成授权请求分 组; 与移动设备共享所述授权请求分组; 接收由所述移动设备转发的授权响应分组,所述授权响应分组包括由访问控制服务器 重新加密的所述随机数; 对由所述访问控制服务器加密的所述授权响应分组进行解密;并且 根据所述授权响应分组来确定是允许还是拒绝到所述计算设备的访问。
14. 如权利要求13所述的方法,其中,与移动设备共享所述授权请求分组包括:对所述 授权请求分组进行编码以便生成快速响应(QR)码。
15. 如权利要求14所述的方法,其中,与移动设备共享所述授权请求分组包括:将所述 QR码显示在所述计算设备上用于由所述移动设备捕获。
16. 如权利要求13所述的方法,其中,与移动设备共享所述授权请求分组包括:对所述 授权请求分组进行编码以便在所述计算设备上生成近场通信(NFC)标签,所述授权请求分 组被存储在所述NFC标签内。
17. 如权利要求16所述的方法,其中,与移动设备共享所述授权请求分组包括:对所述 移动设备的NFC电路接触到所述计算设备的所述NFC标签做出响应,传输存储在所述NFC 标签中的所述授权请求分组。
18. 如权利要求13、14或16中的任意一项所述的方法,其中,确定是允许还是拒绝到所 述计算设备的访问包括:确定由所述访问控制服务器重新加密的所述随机数是否与由所述 计算设备生成的所述随机数相匹配。
19. 如权利要求18所述的方法,其中,到所述计算设备的访问至少被按照下面中的至 少一种进行操作: 对确定由所述访问控制服务器重新加密的所述随机数与由所述计算设备生成的所述 随机数相匹配做出响应,所述访问被允许;以及 对确定由所述访问控制服务器重新加密的所述随机数与由所述计算设备生成的所述 随机数不相匹配做出响应,所述访问被拒绝。
20. 如权利要求13、14或16中的任意一项所述方法,其中,在计算设备上生成一次性密 码(0TP)和随机数包括:在所述计算设备的安全引擎(SE)中生成所述0TP。
21. 如权利要求13、14或16中的任意一项所述的方法,进一步包括使用计算设备的安 全引擎(SE)从所述计算设备的安全存储器存储取回所述计算设备的加密密钥和所述访问 控制服务器的加密密钥,所述安全存储器存储对于所述SE是能够访问的并且对于所述计 算设备的其它部件是不能够访问的。
22. 包括多个指令的至少一个机器可读介质,对被执行做出响应,所述指令使计算设备 执行下列操作: 在所述计算设备的安全引擎(SE)中生成一次性密码(OTP)和随机数; 使用所述计算设备的加密密钥对所述OTP、所述随机数和唯一标识符进行加密,以便生 成授权请求分组,所述计算设备的所述加密密钥被存储在所述计算设备的安全存储器中, 所述计算设备的所述安全存储器对于所述SE是能够访问的并且对于所述计算设备的其它 部件是不能够访问的。 与移动设备共享所述授权请求分组; 接收由所述移动设备转发的授权响应分组,所述授权响应分组包括使用访问控制服务 器的加密密钥被重新加密的所述随机数; 使用所述访问控制服务器的所述加密密钥对所述授权响应分组进行解密,以便获得由 所述访问控制服务器重新加密的所述随机数,所述访问控制服务器的所述加密密钥被存储 在所述安全存储器中;以及 根据确定由所述访问控制服务器重新加密的所述随机数是否与由所述计算设备初始 生成的所述随机数相匹配,确定是允许还是拒绝到所述计算设备的访问。
23. 如权利要求22所述的至少一个机器可读介质,其中,与移动设备共享所述授权 请求分组包括:生成快速响应(QR)码和具有存储在其中的所述授权请求分组的近场通信 (NFC)标签中的至少一个。
24. 如权利要求22所述的至少一个机器可读介质,其中,接收由所述移动设备转发的 授权响应分组包括:捕获由所述移动设备生成并且显示的快速响应(QR)码,所述QR码包括 被编码在其中的所述授权响应分组。
25. 如权利要求22所述的至少一个机器可读介质,其中,接收由所述移动设备转发的 授权响应分组包括:对所述计算设备的NFC电路接触到由所述移动设备生成的所述NFC标 签做出响应,从由所述移动设备生成的近场通信(NFC)标签接收所述授权响应分组。
26. -种计算设备,包括: 处理器; 安全引擎(SE); 安全存储器,用于存储一个或多个加密密钥,所述安全存储器能够被所述SE访问并且 不能够被所述计算设备的其它部件访问;以及 存储器,具有存储在其中的多个指令,响应于被所述处理器执行,所述指令使所述处理 器: 生成一次性密码(OTP)和随机数; 使用所述SE取回存储在所述安全存储器中的所述计算设备的加密密钥; 使用所述计算设备的所述加密密钥对所述OTP、所述随机数和唯一标识符进行加密以 便生成授权请求分组; 与移动设备共享所述授权请求分组; 接收由所述移动设备转发的授权响应分组,所述授权响应分组包括使用访问控制服务 器的加密密钥被重新加密的所述随机数; 使用所述SE从所述安全存储器取回所述访问控制服务器的所述加密密钥; 使用所述访问控制服务器的所述加密密钥对所述授权响应分组进行解密;并且 根据所述授权响应分组来确定是允许还是拒绝到所述计算设备的访问。
27.如权利要求26所述的计算设备,其中,与移动设备共享所述授权请求分组包括:生 成快速响应(QR)码和具有存储在其中的所述授权请求分组的近场通信(NFC)标签中的至 少一个。
【文档编号】H04L29/06GK104160652SQ201180075966
【公开日】2014年11月19日 申请日期:2011年12月27日 优先权日:2011年12月27日
【发明者】B·科里翁 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1