用于联合认证的基于第二因素的域选择的制作方法

未命名 08-18 阅读:104 评论:0

用于联合认证的基于第二因素的域选择


背景技术:

1.本发明总体上涉及用户名的认证领域,并且更具体地涉及在云计算环境中通过域(realm)的自动选择来认证用户名。
2.使用由云提供者操作的云计算资源而不是将应用保持在内部/现场的趋势是不间断的。主题“云”仍然是cio的前三个优先级中的一个。然而,使用混合云和更复杂的云计算产品的持续趋势也成为it组织和用户的负担。随着云计算中心继续增长和计算和存储容量增加,对这样的资源的访问也可能变得更复杂。这必须与对云计算资源的更安全访问中所涉及的复杂性相结合。双因素认证已成为非常经常受政府法规支配的许多垂直行业的要求。
3.现在,大型云经常支持与客户拥有的用户储存库的联合登录。因此,每个这种存储库可以由表示为“域”id的标识符表示。然而,域标识符可以是长的复杂加密的id(标识符)。对于用户来说,不容易或者完全不可能记住晦涩的id。通常,必须在搜索期间手动选择目标范围id,因为用户名在所有用户储存库中不是唯一的。此外,手动域选择可能涉及大量域,这使得不可能选择正确的域。从用户的角度来看,基本上每个认真的云计算供应商都存在这个问题。
4.然而,域选择字段的替换,即静态域列表,也存在如上所述的基本上相同的限制和约束。
5.从安全角度来看,第二因素认证(也称为双因素认证)是防止密码攻击的现有技术。这样的第二因素可以使用基于时间的一次性密码或基于时间的一次性密码代码(time-based one-time password code,totp代码)来实现。由此,totp机制是针对所使用的认证服务器上的每个域的每个用户建立的并且被导出到客户端应用中。由客户端app生成的totp代码仅在一定时间量内有效,并且必须在输入用户名/密码组合以在认证服务器上验证之后提供。这个过程对于所有信誉好的云提供者基本上是相同的。然而,由于要求在所有选择的域标识符中进行键入,因此这仍然是繁琐的过程。
6.存在描述此处提出的解决方案的技术背景的若干已知的文献。美国专利号9,419,968b1描述了一种用于基于本地客户端的登录的移动推送用户认证。由此,认证服务器从本地客户端处的用户接口接收用于基于本地客户端登录到远程服务器的密码。该方法确定通行证的一部分是否包括一次性密码(one-time password,otp)。当密码包括otp时,该方法验证通行证的剩余部分作为第一认证因素,并验证otp作为第二认证。
7.此外,美国专利申请公开号2020/0153814a1描述了一种用于经由联合授权服务器与标识符提供方进行认证的方法,其中,联合授权服务器具有到至少一个身份提供方的至少一个接口。每个标识符提供方被配置为使用相应的验证方法来验证用户身份。由此,该方法包括:通过网页接收登录数据,该登录数据至少指示身份提供方和用户。
8.然而,在云计算环境中需要输入域的标识(特别是由复杂的或晦涩的标识符表示的)的已知缺点仍然存在。因此,需要克服当前解决方案的这种限制,并且在大型云计算系统中提供对云计算域的容易的访问。


技术实现要素:

9.根据本发明的一个方面,可以提供一种用于认证用户名的计算机实现的方法。该方法可以包括维护用户名和域的映射,并且基于认证应用接收用户名和针对该用户名的基于时间的一次性密码代码(totp代码)。该方法可以进一步包括:在接收到totp代码时,基于接收的用户名和接收的totp从该映射中确定域,并且请求该域中的与用户名相关的证书的输入。此外,该方法可以包括在接收到请求的证书时,通过确定接收的凭据匹配用于该域的预期证书来认证用户名。
10.根据本发明的另一方面,可以提供一种用于认证用户名的认证系统。该认证系统可以包括通信地耦合到处理器的存储器,该存储器存储程序代码部分,程序代码部分被适配成使处理器能够执行维护用户名和域的映射,并且基于认证应用接收用户名和针对该用户名的基于时间的一次性密码代码(totp代码)。
11.此外,该认证系统可以包括在接收到totp代码时,基于接收的用户名和接收的totp从映射中确定域,并且请求该域中的与用户名相关的证书的输入。
12.此外,该方法可以包括在接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来验证用户名。
13.所提出的用于认证用户名的方法可以提供多个优点、技术效果、贡献和/或改进:
14.可增强大型和复杂云计算环境中的用户接受(即,用户友好性)。与已知技术相比,登录不再受限制并且不再需要从可能包括晦涩(域-)id的长列表中手动选择域。这可显著地增强对选择的云计算登录过程的用户体验。
15.还可以观察到改进的安全性,即没有密码攻击可能,因为在成功的totp过程之前密码字段在用户界面中不会变得可用。它还可有助于激励用户和客户在云计算环境中启用他们的储存库的第二因素认证方法,这进而还可以增加在云计算环境中存储和操作的数据和应用的安全性。
16.由此,登录域(即,选择域、提供用户名、验证密码和验证totp代码)的传统序列被显著地并且有利地改变,因为该序列现在可以是:提供用户名、验证totp代码并且通过已知的totp代码自动选择域。最后,验证该域的密码。所以,以用户不再需要关注域id的积极效果来改变序列。
17.在下文中,将描述本发明构思的另外的实施例。
18.根据有用的实施例,该方法还可以包括在两个步骤中接收用户名和totp代码。因此,用户可以在第一步骤中例如通过按压“回车”来确认用户名,并且在第二步骤中例如通过第二次按压“回车”来确认相应的密码或者通过点击用户界面的确认字段来确认totp代码。
19.根据另一个引人注意的实施例,该方法还可以包括提供被适配成用于接收该用户名和/或totp代码的用户界面。所以,用户可以在一个单个事务中输入用户名和totp代码。这可以增加这里提出的解决方案的用户体验的接受值。因此,并且根据另一个实施例,该方法还可以包括

在一步过程中接收用户名和totp代码,由此进一步增加了可用性。
20.根据该方法的允许的实施例,用户界面可以是图形用户界面或命令行界面。基本上,可以使用任何类型的用户界面。这还可以具有以下优点:在用户接口的多个部分可以被实现为api(应用编程接口)的情况下,还可以使用另一个程序来实现认证。
21.根据该方法的有利的实施例,域可以从由以下构成的组中选择:云计算环境中的应用、市场、软件开发环境、社交媒体平台组件、和互联网商店。基本上,在可能存在不同域的云计算环境中要求用户认证的任何应用或应用组都是可实现的,可以有利地使用所提出的概念。
22.根据该方法的另一优选实施例,维护映射可以由认证服务器执行。这可具有以下优点:可信系统(即,认证服务器)可用于安全且容易登录多领域计算环境所需的不同变量的可靠映射。
23.根据该方法的增强的实施例,认证应用可以是客户端侧totp码生成器。
24.根据该方法的增强的实施例,该映射还可以包括totp代码。所以,对于最完整的映射关系,可以存在所有三个元素:用户名、域标识符、和totp代码。使这三个元素可用,可以成功地实现针对特定域的用户名的直接前向认证。
25.根据该方法的一个附加的实施例,可以使用表、链表或数据库来执行映射。此外,还可使用本领域技术人员已知的其他映射机制。然而,可能需要并且包括用户名、域(即,域标识符)和totp代码的三元组可以被直接访问。
26.根据可选的实施例,该方法还可以包括确定totp代码仍然有效,并且当totp代码不再有效时,终止在该方法之下的过程。在这种情况下,不可能进行域的任何认证和任何预选择。
27.此外,实施例可以采取可从计算机可用或计算机可读介质访问的相关计算机程序产品的形式,该计算机可用或计算机可读介质提供用于由计算机或任何指令执行系统使用或与其结合使用的程序代码。为了本描述的目的,计算机可用或计算机可读介质可以是可以包含用于存储、通信、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用的装置的任何设备。附图简要说明
28.图1示出了根据本发明实施例的云计算节点。
29.图2示出了根据本发明实施例的云计算环境。
30.图3示出了根据本发明实施例的抽象模型层。
31.图4是示出根据本发明实施例的认证用户名的方法的操作步骤的流程图。
32.图5是根据本发明实施例的用于利用多个组件认证用户名的方法的数据流程图。
33.图6是示出根据本发明实施例的包括认证系统的计算环境的功能框图。
具体实施方式
34.应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
35.云计算是一种服务交付模型,用于使得能够方便地、按需地访问可配置计算资源(例如,可配置计算资源的共享池)的共享池。网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务),其能够以最小的管理努力或与服务的提供商的交互快速地供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
36.特性如下:
37.按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
38.广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和pda)的使用。
39.资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
40.快速弹性:能够快速和弹性地提供能力,在一些情况下自动地,以快速扩展和快速释放以快速缩减。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
41.测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
42.服务模型如下:
43.软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如网络浏览器(例如,基于网络的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。除了有限的用户特定的应用配置设置的可能的例外,消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施。
44.平台即服务(paas):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
45.基础设施即服务(iaas):提供给消费者的能力是提供消费者能够部署和运行任意软件(可以包括操作系统和应用)的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制,以及对所选的联网组件(例如,主机防火墙)的可能受限的控制。
46.部署模型如下:
47.私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
48.社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
49.公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
50.混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
51.云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
52.现在参见图1,示出了云计算节点的示例的示意图。云计算节点10仅仅是合适的云计算节点的一个示例,并不旨在对本文所述的本发明的实施例的使用或功能的范围提出任何限制。无论如何,云计算节点10能够被实现和/或执行上文阐述的任何功能。
53.在云计算节点10中,存在计算机系统/服务器12,其可与许多其他通用或专用计算系统环境或配置一起操作。可以适用于计算机系统/服务器12的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统、和包括上述任何系统或设备的分布式云计算环境等。
54.计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
55.如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28和将包括系统存储器28的不同系统组件耦合到处理器16的总线18。
56.总线18表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例而非限制,此类体系结构包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)局部总线以及外围组件互连(pci)总线。
57.计算机系统/服务器12通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器12访问的任何可用介质,并且其包括易失性和非易失性介质、可移动和不可移动介质。
58.系统存储器28可包含呈易失性存储器形式的计算机系统可读媒体,例如随机存取存储器(ram)30和/或高速缓冲存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过示例的方式,存储系统34可以被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)中读取和向其写入。尽管未示出,可以提供用于从可移动非易失性磁盘(例如,“软盘”)读取或向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(如cd-rom、dvd-rom或其他光学介质)读取或向其写入的光盘驱动器。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线18。如以下将进一步描绘和描述的,存储器28可以包括具有被配置为执行本发明的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。
59.通过示例而非限制的方式,具有一组(至少一个)程序模块42的程序/实用程序40,以及操作系统、一个或多个应用程序、其他程序模块和程序数据,可以存储在存储器28中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现方式。程序模块42通常执行如在此描述的本发明的实施例的功能和/或方法。
60.计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、定点设备、显示器24等)通信;和/或使得计算机系统/服务器12能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可经由输入/输出(i/o)接口22进行。此外,计算机系统/服务器12可以通过网络适配器20与一个或多个网络通信,例如局域网(lan)、通用广域网(wan)和/或公共网络(例如互联网)。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统/服务器12结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器、和数据归档存储系统等。
61.现在参见图2,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图2中所示的计算设备54a-n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
62.现在参见图3,示出了由云计算环境50(图2)提供的一组功能抽象层。应当事先理解,图3中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
63.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
64.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
65.在示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
66.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育递送93;数据分析处理94;事务处理95;以及认证96。
67.在本说明书的上下文中,可以使用以下惯例、术语和/或表达:
68.术语“认证(authentication)”可表示验证用户标识符(user identifier,uid)的处理,并且基于此,授予对特定计算资源(例如,应用程序、存储空间、网络组件等)的访问。
69.术语“用户名”可表示用户账户的标识符,其可用作包含在复杂云计算环境的域中的登录标识符。
70.术语“域(realm)”可表示较大云计算环境中的动态可配置计算资源的子组。域因此可以是较大云计算环境的有限部分上的特定视图。
71.术语“基于时间的一次性密码代码”(简称“totp代码”)可表示仅在预定义时间段内有效的数字代码。如果预定义的时间段可能期满,则totp码可能不再是可用的。用于特定用户id(即,用户名或uid)的totp代码可以由特定的认证应用可用。技术人员还可以知道这些流行的客户端侧认证应用的替代方案。
72.术语“认证应用”可以表示独立于云计算环境可用的并被安装在适于生成totp代码的客户端侧计算系统上的应用。
73.术语“证书”可表示使得能够与用户名一起访问计算资源的秘密数字代码。一旦用户名和证书或密码变得可用,就可以将用户名和证书组合与先前保存的用户名/证书组合进行比较。在匹配的情况下,可以给予对所请求的资源的访问。
74.可以注意到,云软件通过面向服务以专注于状态性(具有例外)、低耦合、模块性和语义互操作性来充分利用云范例。
75.在下文中,将给出附图和相关实施例的详细描述。附图中的所有指令是示意性的。首先,给出了用于认证用户名的本发明方法的实施例的框图。此后,将描述进一步的实施例以及用于认证用户名的认证系统的实施例。
76.图4示出了认证用户名的过程100的优选实施例的框图。成功的认证可以被提供给对例如云应用、云计算资源(例如,存储和数据)或市场、网络app等的访问。该过程包括:在步骤102中维护用户名和域的映射;在步骤104中,接收用户名(优选地通过用户接口,可替代地经由api),以及基于可以在客户端侧执行的认证应用的针对该用户名的基于时间的一次性密码代码(totp代码)(例如,潜在地基于用户偏好(例如,与权限相关)选择的)。由此,域管理系统自动选择正确的域。
77.过程100还包括,在接收到totp代码时,在步骤106中,基于接收的用户名和接收的totp从映射中确定域,并且在步骤108中,请求证书(例如与该域中的用户名相关的密码)的输入。
78.过程100还包括在步骤110中接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来认证用户名。如果接收的证书与用于该域的预期证书不匹配,则应拒绝访问。
79.图5示出了涉及元素用户202、浏览器204、认证应用程序206、认证服务器208和域_x 210的建议概念的实际实施例的数据流程图200,域_x 210表示具有身份或标识符“x”的特定域。
80.在第一步骤中,用户202向浏览器204提供用户名(212),即,他们输入其用户名。这经由客户端侧认证应用206打开totp对话214。为此,请求针对用户id(即,用户名)的请求“获得针对uid的totp代码”(216),并将其发送至认证应用程序206。这使得totp代码对于浏览器204可用(218)。从这里,totp代码被认证服务器208验证(220),认证服务器208获得针对uid的域(222)。此外,由认证服务器208验证域id(224)。然后,将选择的域_x(具体地,相关的标识符)返回到浏览器204(226)。基于此,开始浏览器204与用户202之间的可能的对话
(228)。
81.在用户输入(230)与其用户名(即,uid)相关的其密码之后,在域_x 210中验证密码和uid(即,用户名)(232)。对于这样的验证,验证请求从浏览器204发送到认证服务器208,认证服务器208进而允许通过域_x 210来验证密码(234)。将确认(例如,“ok”)返回(236)至认证服务器208。基于此,认证服务器208确认(238)用户登录到域_x 210。因此,这里描述的登录过程也使用双因素认证过程,但是以更方便的方式用于云计算环境的域中的登录过程。
82.图6示出了用于认证用户名的这里提出的认证服务器300的实施例的框图。实现方式可以在存储器302或处理器304(两者然后彼此通信耦合)和存储在存储器中的程序代码部分的组合中发生,使得处理器可以执行活动。可替代地,功能还可被实现为模块和/或单元的一部分。以下描述反映两种选择。
83.因此,这些程序代码部分被适配成使处理器能够执行维护(例如,由维护单元306)用户名和域的映射,并且通过接收器308基于认证应用接收用户名和针对用户名的基于时间的一次性密码代码(totp代码)。
84.程序代码部分还可以使处理器能够:在接收到totp代码时,基于接收的用户名和接收的totp从该映射中确定(例如,由确定单元310)域,并且请求(由请求模块312)请求该域中的与用户名相关的证书的输入。
85.此外,程序代码部分还可使处理器能够:在接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来认证(例如由认证模块314)用户名。
86.在硬件实现的情况下,单元和模块可通信地耦合以用于信号和数据交换。这尤其可应用于存储器302、处理器304、维护单元306、接收器308、确定单元310、请求模块312和认证模块314。它们可按1:1方式互连,或者可替换地,它们可连接到用于数据和信号交换的认证系统内部总线系统316。
87.本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
88.计算机可读存储介质可以是可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、具有记录在其上的指令的诸如穿孔卡或槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
89.本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火
墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
90.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
91.下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
92.这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
93.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
94.附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
95.已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是清晰的。在此所使用的术语被选择来最好地解释实施例的原
理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解在此所披露的实施例。
96.简而言之,本发明构思可以总结如下:
97.一种用于用户名认证的方法,所述方法包括:维护用户名和域的映射;基于认证应用接收用户名和针对该用户名的基于时间的一次性密码代码(totp代码);在接收到totp代码时,基于接收的用户名和接收的totp从映射中确定域;以及请求该域中的与用户名相关的证书的输入;以及在接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来对用户名进行认证。
98.该方法还包括在两个步骤中接收该用户名和该totp代码。
99.该方法还包括在一个步骤过程中接收该用户名和该totp代码。
100.根据以上段落中的任一个所述的方法,还包括提供被适配成用于接收该用户名和/或该totp代码的用户界面。
101.该方法还包括,其中用户界面是图形用户界面或命令行界面。
102.根据以上段落中的任一个所述的方法,其中域是从至少包括云计算环境中的应用、市场、软件开发环境、社交媒体平台组件、互联网商店的组中选择的。
103.根据以上段落中的任一个所述的方法,其中维护映射由认证服务器执行。
104.根据以上段落中的任一个所述的方法,其中认证应用是客户端侧totp码生成器。
105.根据以上段落中的任一个所述的方法,其中,该映射还包括totp代码。
106.根据以上段落中的任一个所述的方法,其中,映射是使用表、链表或数据库执行的。
107.根据以上段落中的任一个所述的方法,还包括:确定该totp码仍然有效;以及在该totp码不再有效时,终止在该方法之下的过程。
108.一种用于用户名认证的认证系统,该认证系统包括:存储器,其通信地耦合到处理器,存储器存储适于使得处理器能够执行以下操作的程序代码部分:维护用户名和域的映射,基于认证应用接收用户名和针对该用户名的基于时间的一次性密码代码(totp代码),在接收该totp代码时基于接收的用户名和接收的totp从映射中确定域,以及请求该域中的与用户名相关的证书的输入,以及在接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来对用户名进行认证。
109.该认证系统,其中这些程序代码部分被适配成使该处理器还能够在两个步骤接收该用户名和该totp代码。
110.该认证系统,其中这些程序代码部分被适配成使该处理器还能够在一个步骤过程中接收该用户名和该totp代码。
111.该认证系统,其中这些程序代码部分被适配成使该处理器还能够提供被适配成用于接收该用户名和/或该totp代码的用户界面。
112.该认证系统,其中用户界面是图形用户界面或命令行界面。
113.该认证系统,其中该域是从至少包括云计算环境中的应用、市场、软件开发环境、社交媒体平台组件、互联网商店的组中选择的。
114.该认证系统,其中维护映射是由认证服务器执行的。
115.该认证系统,其中认证应用是客户端侧totp码生成器。
116.该认证系统,其中映射还包括totp代码。
117.认证系统,其中映射是使用表、链表或数据库来执行的。
118.该认证系统,其中这些程序代码部分被适配成使该处理器还能够确定该totp码仍是有效的,并且在该totp码不再有效时,终止在该方法之下的过程。
119.一种用于用户名认证的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有体现在其中的程序指令,该程序指令可由一个或多个计算系统或控制器执行以使一个或多个计算系统:维护用户名和域的映射,基于认证应用接收用户名和针对该用户名的基于时间的一次性密码代码(totp代码),在接收到该totp代码时基于接收的用户名和接收的totp从该映射中确定域,以及请求该域中的与用户名相关的证书的输入,并且当接收到请求的证书时,通过确定接收的证书匹配用于该域的预期证书来对用户名进行认证。

技术特征:
1.一种用于认证用户名的计算机实现的方法,所述方法包括:由一个或多个处理器维护用户名和域的映射;由一个或多个处理器基于认证应用来接收用户名和针对所述用户名的基于时间的一次性密码代码(totp代码);在接收到所述totp码时:由一个或多个处理器基于接收的用户名和接收的totp从所述映射中确定域;以及由一个或多个处理器请求所述域中的与所述用户名相关的证书的输入;以及在接收到请求的证书时,由一个或多个处理器通过确定接收的证书匹配用于所述域的预期证书来认证所述用户名。2.根据权利要求1所述的方法,进一步包括:由一个或多个处理器在两个步骤中接收所述用户名和所述totp代码。3.根据权利要求1或2所述的方法,进一步包括:由一个或多个处理器提供被适配为接收所述用户名和所述totp代码的用户界面。4.根据权利要求3所述的方法,其中,所述用户界面选自由图形用户界面和命令行界面组成的组。5.根据权利要求1到4中任一项所述的方法,进一步包括:由一个或多个处理器在单个步骤过程中接收所述用户名和所述totp代码。6.根据权利要求1到5中任一项所述的方法,其中,所述域是从由云计算环境中的应用、市场、软件开发环境、社交媒体平台组件和互联网商店组成的组中选择的。7.根据权利要求1至6之一所述的方法,其中,所述认证应用是客户端侧totp码生成器。8.根据权利要求1至7中任一项所述的方法,其中,所述映射还包括totp代码。9.根据权利要求1至8中任一项所述的方法,其中,所述映射是使用从由表、链表以及数据库组成的组中选择的内容来执行的。10.根据权利要求1至9中任一项所述的方法,进一步包括:由一个或多个处理器确定所述totp码仍然有效;以及当所述totp码不再有效时,由一个或多个处理器终止过程。11.一种用于认证用户名的计算机程序产品,所述计算机程序产品包括:一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:用于维护用户名和域的映射的程序指令;用于基于认证应用接收用户名和针对所述用户名的基于时间的一次性密码代码(totp代码)的程序指令;用于在接收到所述totp代码时执行以下操作的程序指令:基于接收的用户名和接收的totp从所述映射中确定域;以及请求所述域中的与所述用户名相关的证书的输入;以及在接收到所述请求的证书时,通过确定接收的证书匹配用于所述域的预期证书来认证所述用户名。12.根据权利要求11所述的计算机程序产品,进一步包括:共同地存储在该一个或多个计算机可读存储介质上的程序指令,用于以两个步骤接收
所述用户名和所述totp代码。13.根据权利要求11或12所述的计算机程序产品,进一步包括:共同地存储在该一个或多个计算机可读存储介质上的程序指令,用于提供被适配为用于接收所述用户名和所述totp代码的用户界面。14.根据权利要求13所述的计算机程序产品,其中,所述用户界面选自由图形用户界面和命令行界面组成的组。15.根据权利要求11至14中任一项所述的计算机程序产品,进一步包括:共同地存储在所述一个或多个计算机可读存储介质上的程序指令,用于在单个步骤过程中接收所述用户名和所述totp代码。16.根据权利要求11至15中任一项所述的计算机程序产品,其中,所述域是从由云计算环境中的应用、市场、软件开发环境、社交媒体平台组件和互联网商店组成的组中选择的。17.根据权利要求11至16中任一项所述的计算机程序产品,其中,所述认证应用是客户端侧totp码生成器。18.根据权利要求11至17中任一项所述的计算机程序产品,其中,所述映射还包括totp代码。19.根据权利要求11至18中任一项所述的计算机程序产品,其中,所述映射是使用从由表、链表以及数据库组成的组中选择的内容来执行。20.根据权利要求11至19中任一项所述的计算机程序产品,进一步包括:共同存储在所述一个或多个计算机可读存储介质上的程序指令,用于确定所述totp码仍然有效;以及共同地存储在该一个或多个计算机可读存储介质上的程序指令,用于在所述totp代码不再有效时终止过程。21.一种用于认证用户名的计算机系统,所述计算机系统包括:一个或多个计算机处理器、一个或多个计算机可读存储介质、以及共同存储在所述一个或多个计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个执行的程序指令,所述程序指令包括:用于维护用户名和域的映射的程序指令;用于基于认证应用接收用户名和针对所述用户名的基于时间的一次性密码代码(totp代码)的程序指令;用于在接收到所述totp代码时执行以下操作的程序指令:基于接收的用户名和接收的totp从所述映射中确定域;以及请求所域中的与所述用户名相关的证书的输入;以及在接收到请求的证书时,通过确定接收的证书匹配用于所述域的预期证书来认证所述用户名。22.根据权利要求21所述的计算机系统,进一步包括:共同地存储在该一个或多个计算机可读存储介质上的程序指令,用于在两个步骤中接收所述用户名和所述totp代码。23.根据权利要求21或22所述的计算机系统,进一步包括:共同地存储在该一个或多个计算机可读存储介质上的程序指令,用于提供被适配为用
于接收所述用户名和所述totp代码的用户界面。24.根据权利要求23所述的计算机系统,其中,所述用户界面选自由图形用户界面和命令行界面组成的组。25.根据权利要求21至24中任一项所述的计算机系统,进一步包括:共同地存储在所述一个或多个计算机可读存储介质上的程序指令,用于在单个步骤过程中接收所述用户名和所述totp代码。

技术总结
在用于认证用户名的方法中,处理器维护用户名和域的映射。处理器基于认证应用接收用户名和针对用户名的基于时间的一次性密码代码(TOTP代码)。处理器在接收到TOTP代码时:基于接收的用户名和接收的TOTP从该映射中确定域;以及请求该域中的与用户名相关的证书的输入。在接收到请求的证书时,处理器通过确定接收的证书匹配用于该域的预期证书来认证用户名。证书匹配用于该域的预期证书来认证用户名。证书匹配用于该域的预期证书来认证用户名。


技术研发人员:T
受保护的技术使用者:国际商业机器公司
技术研发日:2021.12.05
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐