用于管理用户认证的方法、装置和系统的利记博彩app
【专利摘要】用于管理用户认证的方法、装置和系统,其包括接收用来向第二计算装置、例如金融数据、电子商务服务器或者基于云的服务服务器认证第一计算装置、例如移动计算装置的用户的认证数据的认证限制。第一计算装置根据认证限制自动生成认证数据。认证数据可体现为强密码和用户名。认证数据可周期地或者以响应方式来更新或再生,以进一步增加认证数据的安全性。用户认证数据、认证限制和事务的历史可在安全执行环境中执行,以进一步增加方法、装置和系统的安全性。
【专利说明】用于管理用户认证的方法、装置和系统
【背景技术】
[0001]计算机系统和其它电子装置利用用户认证机制来检验用户的身份,并且控制对重要或敏感的数据和功能性的访问。存在用于这类目的的许多不同类型的用户认证机制,包括例如用户密码机制、基于证书的认证机制、质问-响应机制、安全令牌、生物测定、脸部和语音识别等。
[0002]依靠用户密码机制的系统越来越多地要求强密码,其可要求许多字符(例如20个字符或更长)的密码、使用特殊字符的密码和/或无意义结构。但是,在没有使用强密码的物理备用副本的情况下,强密码难以让用户记住并且在需要时回想,这降低密码本身的安全效能。另外,许多计算机系统、例如金融系统要求用户周期地更新或变更其密码。这类更新要求进一步增加用户保持强密码的困难。在用户与多个计算机系统和电子装置相互作用且它们中的每个可能要求频繁变更的强密码的环境中,情况尤其是这样。
【专利附图】
【附图说明】
[0003]在附图中作为举例而不是限制来说明本文所述的本发明。为了说明的简洁和清晰起见,图中所示的元件不一定按比例绘制。例如,为了清晰起见,一些元件的尺寸可能相对于其它元件经过放大。此外,在认为适当的情况下,在附图之间已重复参考标号,以便指示对应的元件或相似的元件。
[0004]图1是用于管理向多个供应商服务器或系统的用户认证的系统的至少一个实施例的简化框图;
图2是图1的计算装置的软件环境的至少一个实施例的简化框图;
图3是可由图1的计算装置来运行的、用于建立本地用户认证数据的方法的至少一个实施例的简化流程图;
图4是用于对于供应商服务器认证用户的方法的至少一个实施例的简化流程图;以及 图5是用于向图1的计算装置认证用户的方法的至少一个实施例的简化框图。
【具体实施方式】
[0005]虽然本公开的概念可允许各种修改和备选形式,但是其具体示范实施例作为举例已在附图中示出,并且本文中将详细描述。但是,应当理解,不是意在将本公开的概念限制到所公开的具体形式,相反,而是意在涵盖符合本公开和所附权利要求书的所有修改、等效和备选方案。
[0006]在以下描述中,提出了诸如逻辑实现、操作码、指定操作数的部件、资源划分/共享/重复实现、系统组件的类型和相互关系以及逻辑划分/综合选择之类的许多具体细节,以便提供对本公开的更透彻了解。然而,本领域的技术人员将会理解,即使没有这类具体细节,也可实施本公开的实施例。在其它情况下,没有详细示出控制结构、门级电路和完整软件指令序列,以免影响对本发明的理解。通过所包含的描述,本领域的技术人员将能够实现适当的功能性而无需过分实验。[0007]说明书中提到“ 一个实施例”、“实施例”、“ 一个示例实施例”等指示所述的实施例可包括特定特征、结构或特性,但可能不一定每一个实施例都包括该特定特征、结构或特性。此外,这类词语不一定指同一个实施例。此外,在结合一个实施例来描述特定特征、结构或特性时,无论是否明确描述,均认为结合其它实施例来实现这种特征、结构或特性是在本领域的技术人员的知识范围之内的。
[0008]本发明的实施例可通过硬件、固件、软件或者它们的任何组合来实现。在计算机系统中实现的本发明的实施例可包括组件之间的一个或多个基于总线的互连和/或组件之间的一个或多个点对点互连。本发明的实施例还可实现为由暂时机器可读介质或者非暂时机器可读介质所携带的指令或者存储于其上的指令,其可由一个或多个处理器来读取和运行。机器可读介质可体现为用于存储或传送机器(例如计算装置)可读形式信息的任何装置、机构或物理结构。例如,机器可读介质可体现为:只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪速存储器装置;迷你SD卡或微型SD卡、存储棒、电信
县坐坐万寸寸。
[0009]附图中,为了便于描述而可示出示意元件、例如表示装置、模块、指令块和数据元件的那些元件的特定排列或排序。但是,本领域的技术人员应当理解,附图中的示意元件的特定排序或排列不是意在暗示要求处理的特定顺序或序列或者过程的分离。此外,附图中包含示意元件不是意在暗示在所有实施例中都要求这种元件或者由这种元件所表示的特征不可包含在一些实施例中或者与一些实施例中的其它元件相结合。
[0010]一般来说,用来表示指令块的示意元件可使用任何适当形式的机器可读指令来实现,例如软件或固件应用、程序、功能、模块、例程、进程、过程、插件、小应用程序、小部件、代码段和/或其它来实现,并且每个这种指令可使用任何适当的编程语言、库、应用编程接口(API)和/或其它软件开发工具来实现。例如,一些实施例可使用Java、C++和/或其它编程语言来实现。类似地,用来表示数据或信息的示意元件可使用任何适当的电子布置或结构(例如寄存器、数据存储设备、表、记录、阵列、索引、哈希、映射、树、列表、图形、(任何文件类型的)文件、文件夹、目录、数据库和/或其它)来实现。
[0011]此外,附图中,在连接单元、例如实线或虚线或者箭头用来示出两个或更多其它示意元件之间的连接、关系或关联的情况下,没有任何这类连接单元并不是意在暗示没有连接、关系或关联能够存在。换言之,这些元件之间的一些连接、关系或关联在附图中可没有示出,以免影响对本公开的理解。另外,为了便于说明,单个连接单元可用来表示元件之间的多个连接、关系或关联。例如,在连接单元表示信号、数据或指令的传递的情况下,本领域的技术人员应当理解,这种单元可表示实现通信可能需要的一个或多个信号通路(例如总线)。
[0012]现在参照图1,用于管理用户认证的系统100包括计算装置102和多个远程供应商服务器104。计算装置102可以可选地通过网络106与每个供应商服务器104进行通信。在使用中,计算装置102配置成生成并保持认证数据,以向每个远程供应商服务器104认证计算装置102的用户。认证数据可包括相应远程供应商服务器104向其认证用户所需的任何类型数据。在一个实施例中,例如,认证数据体现为用户名和密码。但是,因为计算装置102生成和保持认证数据,而不是计算装置102的用户生成和保持认证数据,所以各远程供应商服务器104的用户名和密码可选择为跨远程供应商服务器104是格外强并且是独特的。备选地,在其它实施例中,认证数据可体现为数字身份数据,例如硬件标识号的哈希等。
[0013]如下面更详细论述,计算装置102通过从供应商服务器104接收或推断认证限制来生成认证数据。认证限制可体现为定义或限制认证数据的任何质量的任何类型数据,例如格式、大小、主题、置换、顺序、可用字符、字体、独特性或者认证数据的其它质量。例如,在一些实施例中,认证限制可定义最小密码长度以及关于一个或多个特殊字符(例如“&”字符)包含在密码中的要求。计算装置102生成认证数据,以便满足从每个远程供应商服务器104接收的认证限制。在一些实施例中,计算装置102以极少来自用户的输入或者没有来自用户的输入而生成和管理认证数据(例如,用户可以不知道所生成的用户名和密码)。另外,为了进一步增加认证数据的安全性或者响应供应商服务器104的要求,计算装置102可周期地或者以响应方式更新或变更认证数据。
[0014]一旦生成,计算装置102就可使用所生成的认证数据来使向远程供应商服务器104的用户认证过程(例如,登录过程)自动化。要这样做,在一些实施例中,计算装置102可首先向计算装置102本身认证用户。计算装置102可使用任何适当方法来认证用户,包括密码机制、生物测定数据、脸部/语音识别、密钥令牌等等。在一些实施例中,用户只需要向计算装置102认证一次。但是,在其它实施例中,计算装置102可要求用户周期地向计算装置102认证,或者响应与远程供应商服务器104之一进行通信的请求而向计算装置102认证。无论如何,因为用户只需要向计算装置102而不是向各供应商服务器128认证,所以用户可选择相对于多个强密码或装置可以更易于记住和/或管理的单个强密码或者其它安全措施。
[0015]如果向计算装置102成功地认证了用户,则用户可操作计算装置102以访问任一个远程供应商服务器104。在这样做时,计算装置102配置成通过检索对应供应商服务器104的所生成认证数据,并且传送或者以其它方式向相应供应商服务器104提供认证数据,以由此向供应商服务器104认证该用户,来使用户认证自动化。这样,计算装置102生成并保持每个供应商服务器104的独特强认证数据,这增加用户的总体安全性。
[0016]计算装置102可体现为能够执行本文所述功能的任何类型计算装置。在一个具体实施例中,计算装置102体现为移动计算装置,例如智能电话、平板计算机、膝上型计算机、移动因特网装置(MID)、个人数字助理或者其它移动计算装置或电子装置。在其它实施例中,计算装置102可体现为基本上静止的计算装置或电子装置,例如台式计算机、智能设备
坐寸ο
[0017]在图1的说明性实施例中,计算装置102包括处理器110、1/0子系统114、存储器116、通信电路118、数据存储装置120、安全引擎130和一个或多个外围装置160。在一些实施例中,若干上述组件可结合在计算装置102的主板上,而其它组件可经由例如外围端口在通信上耦合到主板。此外,应当理解,计算装置102可包括一般存在于移动计算装置中的其它组件、子组件和装置,为了描述的清楚起见,在图1中未示出它们。
[0018]计算装置102的处理器110可体现为能够运行软件/固件的任何类型处理器,例如微处理器、数字信号处理器、微控制器等。处理器110说明性地体现为具有处理器核心112的单核 处理器。但是,在其它实施例中,处理器110可体现为具有多个处理器核心112的多核处理器。另外,计算装置102可包括具有一个或多个处理器核心112的附加处理器110。[0019]计算装置102的I/O子系统114可体现为促进与处理器110和/或计算装置102的其它组件的输入/输出操作的电路和/或组件。在一些实施例中,I/o子系统114可体现为存储控制器集线器(MCH或“北桥”)、输入/输出控制器集线器(ICH或“南桥”)和固件装置。在这类实施例中,I/O子系统114的固件装置可体现为存储器装置,其用于存储基本输入/输出系统(BIOS)数据和/或指令和/或其它信息(例如在计算装置102的引导期间使用的BIOS驱动程序)。但是,在其它实施例中,可使用具有其它配置的I/O子系统。例如,在一些实施例中,I/O子系统114可体现为平台控制器集线器(PCH)。在这类实施例中,存储控制器集线器(MCH)可结合在处理器110中或者以其它方式与其关联,以及处理器110可与存储器116直接通信(如图1中的虚线所示)。另外,在其它实施例中,I/O子系统114可形成芯片上系统(SoC)的一部分,并且连同处理器110和计算装置102的其它组件结合在单个集成电路芯片上。
[0020]处理器110经由多个信号通路在通信上耦合到I/O子系统114。这些信号通路(以及图1所示的其它信号通路)可体现为能够促进计算装置102的组件之间的通信的任何类型信号通路。例如,信号通路可体现为任何数量的点对点链路、导线、线缆、光导、印刷电路板迹线、通孔、总线、中间装置等。
[0021]计算装置102的存储器116可体现为一个或多个存储器装置或数据存储位置,或者以其它方式包括一个或多个存储器装置或数据存储位置,包括例如动态随机存取存储器装置(DRAM)、同步动态随机存取存储器装置(SDRAM)、双倍数据速率同步动态随机存取存储器装置(DDR SDRAM)、掩模只读存储器(ROM)装置、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)装置、闪速存储器装置和/或其它易失性存储器装置和/或非易失性存储器装置。存储器116经由多个信号通路在通信上耦合到I/O子系统114。虽然图1中仅示出单个存储器装置116,但是在其它实施例中,计算装置102可包括附加存储器装置。各种数据和软件可存储在存储器116中。例如,组成由处理器110所运行的软件栈的一个或多个操作系统、应用、程序 、库和驱动程序在运行期间可驻留在存储器116中。
[0022]计算装置102的通信电路118可包括用于实现计算装置102与远程供应商服务器104之间通过网络106的通信的任何数量的装置和电路。计算装置102可根据例如(一个或多个)网络106的特定类型将任何适当通信协议用于通过网络106与供应商服务器104的通信。网络106可体现为任何数量的各种有线和/或无线通信网络。例如,网络106可体现为或者以其它方式包括局域网(LAN)、广域网(WAN)或公共可访问全球网络、例如因特网。另外,网络106可包括任何数量的附加装置,以促进计算装置102与(一个或多个)远程供应商服务器104之间的通信。
[0023]在一些实施例中,通信电路118还可包括非接触式通信机构,例如近场通信(NFC)电路或Bluetooth?通信电路。在这类实施例中,计算装置102可使用非接触式通信机构来与一个或多个本地供应商服务器180进行通信,以按照与用于向远程供应商服务器104认证用户的相似方式来认证计算装置102的用户。
[0024]数据存储装置120可体现为配置用于数据的短期存储或长期存储的一个或多个任何类型装置,例如存储器装置和电路、存储卡、硬盘驱动器、固态驱动器或者其它数据存储装置。各种软件程序、例如操作系统及关联软件应用可存储在数据存储装置120中,并且在计算装置102的操作期间从数据存储装置120中加载。[0025]安全引擎130可体现为配置成执行如以下更详细所述的安全性、加密和/或认证功能的任何类型硬件及关联固件。例如,安全引擎130可体现为或者以其它方式包括安全协处理器、带外处理器、置信平台模块(TPM)和/或可用于在计算装置102上建立安全环境的其它安全增强硬件和/或关联软件模块。在本说明性实施例中,安全引擎130包括用户认证模块140、安全存储装置150和密码引擎156。但是,应当理解,在其它实施例中,安全引擎130可包括附加模块和/或装置。
[0026]用户认证模块140可体现为配置成向供应商服务器104、180认证计算装置102的用户的各种软件、固件和/或关联硬件(例如逻辑单元)。要这样做,如以下更详细论述,用户认证模块140从供应商服务器104、180接收或推断认证限制,并且根据这类认证限制生成认证数据152。另外,用户认证模块140控制和管理向计算装置102本身认证用户。如上所述,认证数据可体现为供应商服务器104、180向相应供应商服务器104、180认证(例如登录)用户所需的任何类型数据,例如用户名及关联密码。用户认证模块140可将认证数据存储在安全存储装置150中,安全存储装置150可体现为安全引擎130本地的安全存储器或者体现为存储器116的安全分区。在一些实施例中,安全引擎130还可包括密码引擎156,以使用对应密码密钥154来执行各种密码功能。例如,在一些实施例中,计算装置102与供应商服务器104、180之间的通信可使用密码引擎156来加密。
[0027]在一些实施例中,计算装置102还可包括一个或多个外围装置160。这类外围装置可包括任何数量的附加输入/输出装置、接口装置和/或其它外围装置。例如,在一些实施例中,外围装置160可包括用于向计算装置102的用户显示信息的显示器以及用于接收来自用户的输入的键盘或其它输入装置。
[0028]供应商服务器104、180可体现为任何类型的数据服务器、计算装置或者要求认证计算装置102的用户 的其它电子装置。例如,在一些实施例中,一个或多个远程供应商服务器104可体现为金融数据服务器,例如银行服务器、配置成促进在线交易的电子商务服务器或者配置成向计算装置102提供基于云的服务的基于云的服务服务器。另外,在一些实施例中,本地供应商服务器180可体现为金融计算装置,例如自动柜员机(ATM)或者要求认证计算装置102的用户的其它金融计算装置。应当理解,虽然供应商服务器104、180在本文中称作“供应商服务器”,但是服务器104、180可体现为要求认证计算装置102的用户的任何类型电子装置。也就是说,在一些实施例中,供应商服务器104、180可以不体现为标准数据服务器,也不向用户提供特定产品或服务。例如,在一些实施例中,供应商服务器104、180可体现为要求用户认证的电子装置,例如智能设备、家用计算机等。
[0029]供应商服务器104、180可包括通常存在于服务器、计算装置和其它电子装置中的装置和结构,例如一个或多个处理器、存储器装置、I/o子系统、数据存储装置以及各种外围装置,为了描述的清楚起见,它们在图1中未示出。例如,每个远程供应商服务器104可包括通信电路172,以促进通过网络106与计算装置102的通信。类似地,本地供应商服务器180可包括通信电路182、例如非接触式通信电路,以促进与计算装置102的非接触式通信,如上所述。
[0030]现在参照图2,在使用中,计算装置102可建立操作环境200。环境200说明性地包括一个或多个软件应用202,其可配置成经由一个或多个应用程序接口 204(API)来与安全引擎130的用户认证模块140进行通信或以其他方式交互。软件应用202可体现为计算装置102上任何类型的软件应用可执行文件(例如计算装置102的操作系统上的可执行文件),并且要求使用用户认证模块140的认证功能性,如以下所述。例如,软件应用202可包括一个或多个万维网浏览器、金融管理应用、电子商务应用或者要求或促进向一个或多个供应商服务器104、180认证计算装置102的用户的其它软件应用。
[0031]如上所述,用户认证模块140控制和管理向供应商服务器104、180以及向计算装置102本身认证计算装置102的用户。为了促进这种功能性,在图2的说明性实施例中,用户认证模块包括装置认证模块210、供应商认证模块212、认证数据生成模块214、事件日志模块216和安全存储装置150。装置认证模块210促进和管理用户向计算装置102本身的认证。例如,如以下更详细论述,装置认证模块210可向用户请求诸如密码、生物测定数据、语音或脸部识别、安全令牌或者其它认证数据之类的认证数据,并且将这类用户认证数据存储在安全存储装置150中。装置认证模块210可周期地或者以响应方式来请求向计算装置102认证用户,并且基于安全存储装置150中存储的用户认证数据来检验用户的身份。这样,要求计算装置102的用户使用认证数据的单个实例(例如单个密码)向计算装置102认证,这可允许用户认证数据更强。例如,用户可将更强密码用于向计算装置102的认证,这是因为用户只需要记住单个密码以向多个供应商服务器104、180认证他自己/她自己,如以下所述。
[0032]供应商认证模块212管理和控制向供应商服务器104、180认证计算装置102的用户。要这样做,供应商认证模块212最初从供应商服务器104、180得到(例如接收、检索或推断)认证限制,其定义认证数据的各种方面或质量(例如密码长度、格式等)。供应商认证模块212将这类认证限制传递给认证数据生成模块214,认证数据生成模块214根据认证限制生成认证数据。也就是说,认证数据生成模块214生成可用来向相应供应商服务器104、180认证计算装置102的用户的认证数据(例如用户名和密码),并且将所生成认证数据存储在安全存储装置150中。要这样做,认证数据生成模块214可使用任何适当方法或算法来生成认证数据。例如,在一个实施例中,认证数据生成模块214可随机生成认证数据,使得随机化认证数据满足认证限制。在这类实施例中,认证数据生成模块214可随机化认证数据的任何方面或质量。例如,在认证数据是用户名和/或密码的实施例中,认证数据生成模块214可生成具有随机长度的随机化字符和/或随机化大写字母的用户名和/或密码,所述用户名和/或密码在被生成时仍然满足供应商服务器104、180的认证限制。另外,在一些实施例中,认证数据生成模块214可记录所生成认证数据的历史,以便确保每个所生成认证数据相对先前所生成认证数据是独特的,使得没有重复认证数据。
[0033]一旦认证数据生成模块214已经生成特定供应商服务器104、180的认证数据,供应商认证模块212就可从安全存储装置150中检索认证数据,并且将认证数据用于向相应供应商服务器104、180认证(例如登录)用户。例如,供应商认证模块212可通过如下方式向远程供应商服务器104提供认证数据:通过网络106传送认证数据。
[0034] 在一些实施例中,用户认证模块140还可包括事件日志模块216。事件日志模块216监视用户认证模块140的操作,并且记载(log)各种事件供以后分析。例如,如果发生一些安全事件(例如用户不能向计算装置102认证他自己/她自己),则事件日志模块216可记录这种安全事件。另外,在一些实施例中,如果安全事件的发生达到参考阈值,则事件日志模块216或者安全引擎130的其它安全模块可配置成执行一个或多个安全功能,例如锁定计算装置102、关闭通信电路118等。
[0035]现在参照图3,如上所述,计算装置102可运行用于建立本地用户认证数据的方法300,所述本地用户认证数据用于向计算装置102本身认证用户。方法300可由例如用户认证模块140的装置认证模块210来运行。方法300开始于框302,其中装置认证模块210确定用户对计算装置102而言是否为新用户。在一些实施例中,计算装置102可支持多个用户,其中每个用户可使用不同认证数据向相同或不同的供应商服务器104、180认证。装置认证模块210可通过基于先前建立的用户认证数据的输入提示用户输入这种信息和/或其它适当方法,来确定用户是新用户。如果用户不是新用户,则方法300进入框304,其中装置认证模块210确定现有用户是否愿意更新或变更他/她现有的认证数据。在一些实施例中,用户可发起认证数据的更新或变更。备选地,装置认证模块210可要求对用来向计算装置102认证用户的用户认证数据的周期性更新/变更。如果不要求对用户认证数据的更新/变更,则方法300退出。
[0036]但是,如果用户是新用户(框302),或者如果现有用户期望或者被提示更新/变更现有认证数据(框304),则方法300进入框306,其中装置认证模块210建立本地用户认证数据。如上所述,用户和/或装置认证模块210可根据例如计算装置102的类型和/或其预计功能使用任何类型的认证数据来向计算装置102认证用户。例如,如上所述,用户认证数据可体现为密码数据、生物测定数据、脸部/语音识别数据、密钥令牌数据等。用户可使用计算装置102本身来输入认证数据,或者以其它方式向装置认证模块210提供认证数据。
[0037]在框308,在一些实施例中,装置认证模块210可对用户认证数据进行加密。要这样做,装置认证模块210可利用密码引擎156来对用户认证数据进行加密。无论如何,在框310,装置认证模块210将用户认证数据存储在安全引擎130的安全存储装置150中。在计算装置102具有多个用户的实施例中,装置认证模块210可将用户认证数据与相应用户的标识数据关联地和/或与 用于向供应商服务器104、180认证用户的所生成认证数据关联地存储在安全存储装置150中,如以下所述。
[0038]现在参照图4,在使用中,计算装置102可运行用于向一个或多个供应商服务器104、180认证计算装置102的用户的方法400。方法400开始于框402,其中用户认证模块140的供应商认证模块212确定用户是否期望与供应商服务器104、180的事务。供应商认证模块212可基于例如计算装置102与对应供应商服务器104、180之间的通信业务、从用户或应用所接收的请求等,来进行这种确定。如果期望与供应商服务器104、180的事务,则方法400进入框404,其中供应商认证模块212识别供应商。要这样做,供应商认证模块212可再次监视计算装置102与供应商服务器104、180之间的通信业务,或者经由来自用户和/或应用的请求来发起。备选地,在一些实施例中,供应商服务器104、180可基于例如标识符或标识数据来通知计算装置102关于其身份。
[0039]在框406,供应商认证模块212确定当前供应商是否为现有供应商(即,是否对该特定供应商已经生成认证数据)。要这样做,供应商认证模块212可将任何适当方法用于确定当前供应商是否为现有供应商。例如,在一些实施例中,所生成认证数据与对应供应商的标识数据关联地存储在安全存储装置150中。在这类实施例中,供应商认证模块212可分析标识数据,以确定当前供应商是否为现有供应商。备选地,供应商认证模块212可保持现有供应商的列表,所述列表可存储在安全存储装置150中。[0040]如果供应商认证模块212确定当前供应商不是现有供应商,则在一些实施例中,方法400进入框408。在框408,计算装置102请求用户向计算装置102认证。也就是说,在一些实施例中,装置认证模块210可对于与一个或多个供应商服务器104、180的每个事务要求用户向计算装置102认证。备选地,在其它实施例中,装置认证模块210可以仅要求用户向计算装置认证一次(例如每个会话一次)。
[0041]为了向计算装置102认证用户,计算装置102的装置认证模块210可运行用户认证方法500,如图5所示。方法500开始于框502,其中装置认证模块210确定是否向计算装置102认证用户。如果是的话,则方法500进入框504,其中装置认证模块210请求用户输入用户认证数据。这种请求的形式可取决于例如用来认证用户的用户认证数据的类型。例如,在请求用户输入密码的实施例中,装置认证模块210可在计算装置102的显示屏幕上提示用户输入密码。备选地,在用户认证数据体现为脸部或语音识别数据的实施例中,装置认证模块210可请求用户看着计算装置102的照相装置或者对着计算装置102的话筒说话。无论如何,在框506,装置认证模 块210接收用户的认证数据。
[0042]在框508,装置认证模块210从安全存储装置150中检索预先建立的本地用户的认证数据。如上所述,装置认证模块210可使用图3的方法来生成用于向计算装置102认证用户的本地用户的认证数据。如果用户的预先建立认证数据以加密状态来存储,则装置认证模块210在框510可使用密码引擎156对认证数据进行解密。
[0043]在框512,装置认证模块210将所检索的预先建立用户认证数据与在框506提供给计算装置102的用户认证数据进行比较。如果装置认证模块210确定认证数据不匹配,则方法500进入框514,其中装置认证模块210拒绝用户的认证。在一些实施例中,事件日志模块216可将认证的拒绝作为安全事件来记录,和/或采取如上所述的附加安全措施。但是,如果装置认证模块210确定认证数据的确匹配,则方法500进入框516,其中装置认证模块210向计算装置102认证用户。
[0044]又参照图4的方法400,如果在框408成功地向计算装置102认证用户,则方法400进入框410,其中供应商认证模块212向供应商服务器104、180请求新用户注册。备选地,在一些实施例中,新用户注册请求可在框412从供应商服务器104、180接收。无论如何,在框414,供应商认证模块212确定供应商服务器104、180的认证限制。例如,在一些实施例中,供应商认证模块212可在框416直接向供应商服务器104、180请求认证限制。作为响应,供应商服务器104、180可向计算装置102传送认证限制。例如,在一些实施例中,计算装置102和供应商服务器104、180可利用预先建立的协议来传递认证限制。要这样做,计算装置102可询问供应商服务器104、180,以请求认证限制。认证限制响应可具有作为认证限制协议的一部分的预先建立格式(例如user_id/device_id、密码长度、密码到期等),或者可在计算装置102与供应商服务器104、180之间使用适当握手协议来判定。响应从计算装置102接收到对认证限制的请求,供应商服务器104、180可使用任何适当安全机制、例如共享秘密或Rivest-Shamir-Adleman (RSA)公有密钥对来建立与计算装置102的安全信道。用于建立认证限制的数据的传递以及认证限制本身的传递可使用对称密钥密码算法或不对称密钥密码算法来加密。
[0045]备选地,在一些实施例中,供应商认证模块212可在框416推断认证限制。要这样做,供应商认证模块212可使用任何适当方法或算法来推断对于用来向供应商服务器104、180认证用户的认证数据的限制。例如,在一些实施例中,供应商认证模块212可从网站的元数据或文本或者供应商服务器104、180的用户屏幕中提取信息。如上所述,认证限制可体现为定义或限制用来向供应商服务器104、180认证用户的认证数据的任何质量的任何类型数据,如上所述。
[0046]在一些实施例中,计算装置102的用户可在云服务器或远程服务器上存储用于生成认证数据的认证限制和/或用户策略。认证限制和/或用户策略的云存储或备份允许用户跨多个装置来同步认证限制、用户策略和认证数据。
[0047]一旦供应商认证模块212已经确定供应商服务器104、180的认证限制,供应商认证模块212可向认证数据生成模块214提供这类认证限制。随后,在框418,认证数据生成模块214根据认证限制生成用于向供应商服务器104、180认证用户的认证数据。如上所述,认证数据生成模块214可使用任何适当方法或算法来生成认证数据。在一个具体实施例中,用户认证数据体现为用户名及关联密码。在这类实施例中,例如,供应商认证模块212可使用如上所述的任何适当方法(例如随机化方法)来生成用户名和密码中的每个。应当理解,因为除了密码之外,还由认证数据生成模块214生成用户名,所以可增加认证数据的安全性。
[0048]作为补充或替代,在一些实施例中,认证数据可体现为独特地标识计算装置102的数字身份数据。这种数字身份数据可由计算装置102基于硬件平台的信任根、例如处理器110的标识号的哈希、以太网或WiFi?机器访问控制(MAC)地址的哈希、另一个硬件装置标识号或者由例如安全引擎130所生成的独特随机数或万能钥匙来生成。应当理解,这种基于硬件的数字身份数据的使用将对于对应供应商服务器104、180的访问进一步限制到计算装置102的特定平台。 [0049]在认证数据生成模块214已经生成用于向相应供应商服务器104、180认证计算装置102的用户的认证数据之后,方法400进入框422,其中认证数据生成模块214将新生成的认证数据存储在安全存储装置150中。如上所述,在一些实施例中,认证数据生成模块214借助于密码引擎156以加密状态来存储所生成认证数据。在一些实施例中,所生成的认证数据可与供应商标识数据关联地存储,以便允许检索各供应商服务器104、180的正确认证数据。另外,在一些实施例中,生成和存储认证数据,而不允许计算装置102的用户查看所生成的认证数据。也就是说,在一些实施例中,认证数据始终受到保护。
[0050]在认证数据生成模块214在框422存储新生成的认证数据之后,计算装置102可在框424完成对于新供应商的认证过程。要这样做,供应商认证模块212可从安全存储装置150中检索所生成的认证数据,并且向相应供应商服务器104、180传送或者以其它方式提供认证数据。在一些实施例中,供应商服务器104、180可在框426偶尔请求用户更新或变更认证数据(例如更新用户名或密码)。如果是的话,则方法400返回到框414,其中供应商认证模块212确定供应商服务器104、180的认证限制(其可能已经改变),并且认证数据生成模块214在框418基于新的认证限制或先前的认证限制来生成新的认证数据。但是,如果不要求对认证数据的更新,则方法400进入框428,其中计算装置102完成认证或登录过程。用户随后可操作计算装置102,以便与供应商服务器104、180如常交互。
[0051]现在又参照框406,如果供应商认证模块确定供应商是现有供应商,则在一些实施例中,方法400进入框430。在框430,计算装置102请求用户向计算装置102认证。如以上针对框408所述,计算装置102的装置认证模块210可运行用户认证方法500 (参见图5),以向计算装置102认证用户。
[0052]在已成功地向计算装置102认证用户之后(或者如果不要求用户认证),方法400进入框432,其中供应商认证模块212从安全存储装置150中检索与现有供应商对应的先前生成认证数据。如上所述,认证数据可体现为供应商服务器104、180认证计算装置102的用户所需的任何类型数据。例如,在一个实施例中,认证数据体现为用户名及关联密码。在这类实施例中,供应商认证模块212在框434检索用于现有供应商的用户名和密码。
[0053]如上所述,在一些实施例中,认证数据可以加密状态来存储在安全存储装置150中。如果是的话,供应商认证模块212在框436使用密码引擎156来对认证数据进行解密。方法400随后进入框424,其中供应商认证模块212向相应供应商服务器104、180传送或者以其它方式提供认证数据。此外,在框426,供应商服务器104、180可请求用户更新或变更认证数据。如果是的话,则方法400返回框414,其中供应商认证模块212确定供应商服务器104、180的认证限制(其可能已经改变)。但是,如果不要求对认证数据的更新,则方法400进入框428,其中计算装置102完成认证或登录过程。这样,计算装置102的用户可以以与这类认证数据的创建和/或维护的极少交互或者没有与这类认证数据的创建和/或维护的交互来生成和管理用于多个供应商服务器104、180的强认证数据。 [0054]虽然在附图和以上描述中详细说明和描述了本公开,但是这种说明和描述将被理解为在性质上是示范性而不是限制性的,要理解,仅示出和描述了说明性实施例,并且预期符合本公开和所述权利要求书的所有变更和修改将受到保护。
【权利要求】
1.一种计算装置,包括: 供应商认证模块,其用于从供应商计算装置接收认证限制,以向所述供应商计算装置认证所述计算装置的用户;以及 认证数据生成模块,其用于根据所述认证限制生成认证数据,以向所述供应商计算装置认证所述用户, 其中所述供应商认证模块用于通过向所述供应商计算装置提供所生成认证数据,来向所述供应商计算装置认证所述用户。
2.如权利要求1所述的计算装置,其中,所述供应商计算装置包括金融数据服务器、电子商务服务器和基于云的服务服务器其中之一。
3.如权利要求1所述的计算装置,其中,所述计算装置包括移动计算装置。
4.如权利要求1所述的计算装置,其中,所述认证限制包括用于生成用于向所述供应商计算装置认证所述用户的用户密码的密码限制。
5.如权利要求4所述的计算装置,其中,所述密码限制包括所述密码的最小字符长度以及非字母字符的要求中的至少一个。
6.如权利要求4所述的计算装置,其中,所述认证限制还包括用于生成用于向所述供应商计算装置认证所述用户的用户名的用户名限制。
7.如权利要求6所述的计算装置,其中,所述用户名限制包括所述用户名的最小字符长度以及非字母字符的要求中的至少一个。
8.如权利要求1所述的计算装置,其中,所述供应商认证模块用于按照预先建立的协议从所述供应商计算装置接收认证限制。
9.如权利要求8所述的计算装置,其中,所述供应商认证模块用于建立与所述供应商计算装置的安全通信信道,以接收所述认证限制。
10.如权利要求1所述的计算装置,其中,所述认证数据生成模块用于生成满足所述认证限制的密码。
11.如权利要求10所述的计算装置,其中,所述认证数据生成模块用于生成满足所述认证限制的用户名。
12.如权利要求1所述的计算装置,还包括其中存储了所述认证数据的安全数据存储装置,其中所述供应商认证模块还配置成用于: 接收来自所述供应商计算装置的登录提示; 从所述安全数据存储装置中检索所述认证数据;以及 向所述供应商计算装置提供所述认证数据,以向所述供应商计算装置认证所述用户。
13.如权利要求1所述的计算装置,其中,所述认证数据生成模块还用于周期地根据所述认证限制生成新认证数据。
14.如权利要求1所述的计算装置,其中: 所述供应商认证模块还用于从所述供应商计算装置接收更新所述认证数据的请求;以及 所述认证数据生成模块用于在没有来自所述用户的输入的情况下根据所述认证限制生成新认证数据。
15.如权利要求14所述的计算装置,其中,所述认证数据生成模块还用于接收用于向所述供应商计算装置认证用户的新认证限制,并且根据所述新认证限制生成所述新认证数据。
16.如权利要求1所述的计算装置,其中,认证数据生成模块用于在没有来自所述用户的输入的情况下根据所述认证限制生成所述认证数据。
17.如权利要求1所述的计算装置,其中,所述认证数据包括由所述计算装置的硬件组件的硬件标识号所形成的数字身份数据。
18.如权利要求17所述的计算装置,其中,所述数字身份数据是所述硬件标识号的哈希值。
19.如权利要求1所述的计算装置,还包括用于向所述计算装置认证所述用户的装置认证模块。
20.如权利要求19所述的计算装置,其中,所述装置认证模块用于在所述供应商认证模块向所述供应商计算装置提供所生成认证数据之前,向所述计算装置认证所述用户。
21.如权利要求20所述的计算装置,其中,所述装置认证模块用于:提示用户输入用户标识、用户名、密码、生物测定数据和密钥令牌中的至少一个;以及 根据所述用户标识、 所述用户名、所述密码、生物测定数据和所述密钥令牌中的所述至少一个来认证所述用户。
22.如权利要求1所述的计算装置,其中: 所述供应商认证模块还用于从多个附加供应商计算装置接收认证限制;以及 所述认证数据生成模块还用于在没有来自所述用户的输入的情况下根据所述对应认证限制生成用于所述多个附加供应商计算装置中每个附加供应商计算装置的独特认证数据,以向所述附加供应商计算装置中的每个附加供应商计算装置认证所述用户。
23.如权利要求1所述的计算装置,其中,所述供应商认证模块用于通过引起通过近场通信链路向所述供应商计算装置传送认证数据,来认证所述用户。
24.如权利要求1所述的计算装置,还包括安全存储装置,其中所述认证数据生成模块还用于将所生成认证数据存储在安全存储装置中,而没有通知所述用户关于所述认证数据的身份。
25.—种系统,包括: 多个供应商计算装置;以及 移动计算装置,其用于通过网络与所述多个供应商计算装置中的每个供应商计算装置进行通信,其中所述移动计算装置包括: 供应商认证模块,其用于从所述多个供应商计算装置中的每个供应商计算装置接收认证限制,以向所述供应商计算装置中的每个供应商计算装置认证所述移动计算装置的用户;以及 认证数据生成模块,其用于根据所述对应认证限制生成用于所述多个供应商计算装置中每个供应商计算装置的独特认证数据,以向各对应供应商计算装置认证所述用户。
26.如权利要求25所述的系统,其中,所述多个供应商计算装置中的每个供应商计算装置包括金融数据服务器、电子商务服务器和基于云的服务服务器其中之一。
27.如权利要求25所述的系统,其中,所述认证限制包括用于生成用于向各供应商计算装置认证所述用户的用户密码的密码限制。
28.如权利要求27所述的系统,其中,所述密码限制包括所述密码的最小字符长度以及非字母字符的要求中的至少一个。
29.如权利要求25所述的系统,其中,所述认证限制还包括用于生成用于向各供应商计算装置认证所述用户的用户名的用户名限制。
30.如权利要求29所述的系统,其中,所述用户名限制包括所述用户名的最小字符长度以及非字母字符的要求中的至少一个。
31.如权利要求25所述的系统,其中,所述供应商认证模块用于按照预先建立的协议从所述供应商计算装置接收认证限制。
32.如权利要求31所述的系统,其中,所述供应商认证模块用于建立与所述供应商计算装置的安全通信信道,以接收所述认证限制。
33.如权利要求25所述的系统,其中,所述认证数据生成模块用于生成用于各供应商计算装置的密码,所述密码满足各对应供应商计算装置的认证限制。
34.如权利要求33所述的系统,其中,所述认证数据生成模块用于生成用于各供应商计算装置的用户名,所述用户名满足各供应商计算装置的认证限制。
35.如权利要 求25所述的系统,其中,所述认证数据生成模块还用于周期地根据所述对应认证限制生成用于各供应商计算装置的新认证数据。
36.如权利要求25所述的系统,其中: 所述供应商认证模块还用于从所述供应商计算装置其中之一接收更新所述认证数据的请求;以及 所述认证数据生成模块用于在没有来自所述用户的输入的情况下根据所述对应认证限制生成新认证数据。
37.如权利要求25所述的系统,其中,所述认证数据生成模块用于在没有来自所述用户的输入的情况下根据所述认证限制生成所述认证数据。
38.如权利要求25所述的系统,其中,所述认证数据包括由所述计算装置的硬件组件的硬件标识号所形成的数字身份数据。
39.如权利要求38所述的系统,其中,所述数字身份数据是所述硬件标识号的哈希值。
40.如权利要求25所述的系统,其中,所述移动计算装置还包括用于向所述移动计算装置认证所述用户的装置认证模块。
41.如权利要求40所述的系统,其中,所述装置认证模块用于: 提示所述用户输入用户标识、用户名、密码、生物测定数据和密钥令牌中的至少一个;以及 根据所述用户标识、所述用户名、所述密码、生物测定数据和密钥令牌中的至少一个来认证所述用户。
42.如权利要求25所述的系统,其中,所述移动计算装置还包括安全存储装置,所述认证数据生成模块还用于将所生成认证数据存储在所述安全存储装置中,而没有通知所述用户关于所述认证数据的身份。
43.—种方法,包括: 采用第一计算装置来接收认证限制,以向第二计算装置认证用户; 在所述第一计算装置上根据所述认证限制生成认证数据,以向所述第二计算装置认证所述用户;以及 向所述第二计算装置传送所述认证数据,以向所述第二计算装置认证所述用户。
44.如权利要求43所述的方法,其中,接收认证限制包括接收用于生成用于向所述第二计算装置认证所述用户的用户密码的密码限制。
45.如权利要求44所述的方法,其中,所述密码限制包括所述密码的最小字符长度以及非字母字符的要求中的至少一个。
46.如权利要求44所述的方法,其中,接收认证限制包括接收用于生成用于向所述第二计算装置认证所述用户的用户名的用户名限制。
47.如权利要求46所述的方法,其中,所述用户名限制包括所述用户名的最小字符长度以及非字母字符的要求中的至少一个。
48.如权利要求43所述的方法,其中,接收认证限制包括按照预先建立的协议从所述第二计算装置接收认证限制。
49.如权利要求48所述的方法,还包括与所述第二计算装置的安全通信信道,以接收所述认证限制。
50.如权利要求43所述的方法,其中,生成认证数据包括生成满足所述认证限制的密码。
51.如权利要求50所述的方法,其中,生成认证数据包括生成满足所述认证限制的用户名。
52.如权利要求43所述的方法,其中,生成所述认证数据包括在移动计算装置上生成所述认证数据。
53.如权利要求43所述的方法,其中,接收所述认证限制包括从金融数据服务器、电子商务服务器和基于云的服务服务器中的至少一个接收认证限制,以向所述金融数据服务器、所述电子商务服务器和所述基于云的服务服务器中的至少一个认证所述用户。
54.如权利要求43所述的方法,还包括: 接收来自所述第二计算装置的登录提示; 从所述第一计算装置的安全数据存储装置中检索所述认证数据;以及 向所述第二计算装置传送所述认证数据,以向所述第二计算装置认证所述用户。
55.如权利要求43所述的方法,还包括: 从所述第二计算装置接收更新所述认证数据的请求;以及 在所述第一计算装置上并且在没有来自所述用户的输入的情况下根据所述认证限制生成新认证数据。
56.如权利要求55所述的方法,还包括: 采用所述第一计算装置来接收新认证限制,以向所述第二计算装置认证用户, 其中生成新认证数据包括根据所述新认证限制生成新认证数据。
57.如权利要求43所述的方法,还包括向所述第一计算装置认证所述用户。
58.如权利要求57所述的方法,其中,向所述第一计算装置认证所述用户包括在向所述第二计算装置传送所述认证数据之前,向所述第一计算装置认证所述用户。
59.如权利要求58所述的方法,其中,认证所述用户包括: 在所述第一计算装置上提示所述用户输入用户标识、用户名、密码、生物测定数据和密钥令牌中的至少一个;以及 根据所述用户标识、所述用户名、所述密码、生物测定数据和密钥令牌中的至少一个来向所述第一计算装置认证所述用户。
60.如权利要求43所述的方法,还包括: 采用所述第一计算装置从多个第三计算装置接收认证限制; 在所述第一计算装置上并且在没有来自所述用户的输入的情况下根据所述对应认证限制生成用于所述多个第三计算装置中每个第三计算装置的独特认证数据,以向所述第三计算装置中的每个第三计算装置认证所述用户。
61.如权利要求43所述的方法,其中,向所述第二计算装置传送所述认证数据包括在没有来自所述用户的输入的情况下自动使用所述认证数据使所述用户登录到所述第二计算装置中。
62.如权利要求43所述的方法,其中,接收认证限制包括响应所述用户在所述第二计算装置上没有用户帐户而接收认证限制。
63.如权利要求43所述的方法,其中,传送所述认证数据包括通过近场通信链路来传送所述认证数据。
64.如权利要求43所述的方法,还包括将所生成认证数据存储在所述第一计算装置的安全存储装置中,而没
65.如权利要求43所述的方法,其中,生成认证数据包括在没有来自所述用户的输入的情况下根据所述认证限制生成所述认证数据。
66.如权利要求43所述的方法,其中,生成认证数据包括生成由所述计算装置的硬件组件的硬件标识号所形成的数字身份数据。
67.一种移动计算装置,包括: 处理器;以及 存储器,其中存储了多个指令,所述多个指令在由所述处理器运行时使所述移动计算装置执行如权利要求43-66中任一项所述的方法。
68.包括其上所存储的多个指令的一个或多个机器可读介质,所述多个指令响应被运行而使移动计算装置执行如权利要求43-66中任一项所述的方法。
【文档编号】H04L9/32GK104025505SQ201180076051
【公开日】2014年9月3日 申请日期:2011年12月31日 优先权日:2011年12月31日
【发明者】G.普拉卡什, S.艾西, R.普尔纳钱德兰 申请人:英特尔公司