针对web应用的用户和设备认证的制作方法

文档序号:17745191发布日期:2019-05-24 20:35阅读:144来源:国知局
针对web应用的用户和设备认证的制作方法

诸如智能电话、平板计算机、可穿戴计算设备和个人计算机的计算设备的用户通常需要以如下方式与web应用和其他在线资源交互:在该方式中用户被认证以增强安全性并且使针对诸如假冒和欺诈的问题的机会最小化。



技术实现要素:

计算设备支持web认证(webauthn)应用程序接口(api),该api被配置为暴露可以替代针对在使用如借记卡和信用卡的、包括嵌入式计算机芯片的智能支付工具的事务的emv(europay,mastercard和visa)标准中被利用的功能的功能。兼容webauthn的计算设备的功能类似于传统芯片中的物理卡和pin(个人识别号码),其中芯片用作支付设备的证明,并且pin用作支付账户持有者的证明。

webauthnapi与以前被称为fido2.0(快速身份在线)的web认证协议的部分兼容,该协议描述了使用跨web浏览器应用的生物计量设备执行在线认证的可互操作方式。当webauthn被配置为emv替代时,它的能力被利用以执行个性化过程以将计算设备加密地绑定到设备用户(即,支付账户持有者)。个性化过程与id和验证(id&v)的emv活动相似,并且可以在由诸如银行的金融机构支持的webauthn实现中被执行。银行的webauthn实现被配置为支持认证工作流和授权工作流两者。

在认证中,银行使用例如双因素认证来建立支付账户持有者的存在。webauthn在与webauthn兼容的计算设备上实现makecredential工作流,其中密钥对的私有部分受设备保护并且公共部分被递送给银行以用于后续验证。因此,webauthn密钥可以充当针对emv物理卡密钥(例如,有限使用密钥(luk)、单用户密钥(suk)和卡主密钥(cmk))的替代。证明可以由webauthn使用getattestation工作流实现证明以进一步加强计算设备与用户之间的绑定。

在事务期间,例如利用基于web的商家(即,收款人),当与webauthn兼容的计算设备用户发信号通知支付意图时,设备基本上用作收款人的emv终端。与网站/收款人相关联的主机向与webauthn兼容的计算设备发出生成应用密码(ac)命令,该命令发起利用银行的认证。可以利用现有的webauthn密钥对,或者可以进行新的个性化过程以建立信任关系。makecredential/getattestation工作流使得与webauthn兼容的计算设备在签署由银行所需要的事务细节和/或其他专有信息时向用户挑战存在的证据。这种挑战模仿用户录入pin或提供签名的传统emv终端请求。

如果认证成功,则与webauthn兼容的计算设备通过webauthn向主机生成支付密码,该支付密码模拟在传统emv过程中支持芯片的卡签署事务细节的方式。支付密码可以由收款人用于支付授权以接收资金。备选地,与webauthn兼容的设备可以将支付密码直接地递送给银行,以由此模拟emv终端的操作。

可以定制和定做给定的webauthn实现以满足特定需求。例如,金融机构可以动态地或自动地施加特定的安全措施,诸如某些加密方法,并且执行发起事务的计算设备的分析。与emv标准相比,webauthn还可以支持更高的安全性。例如,由于嵌入式芯片的存储器和处理限制,传统的信用卡或借记卡通常是受限的。相反,webauthnapi可以在具有用于安全性的专用硬件(例如,密码处理器)的完全配备的计算设备上被实现,并且可以通过网络而被更新。webauthn因此支持与emv的功能同等,同时跨多个电子商务场景提供更多灵活性和安全性。

提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或所有缺点的实现。应当理解,上述主题可以实现为计算机控制的装置、计算机进程、计算系统、或者诸如一个或多个计算机可读存储介质等制品。通过阅读以下“具体实施方式”和回顾相关附图,这些和各种其他特征将是很清楚的。

附图说明

图1示出了用户计算设备在其中通过网络与认证服务和主机通信的说明性环境;

图2a-至图2b示出了计算设备与认证服务之间的说明性交互;

图3示出了计算设备上的说明性用户体验;

图4a至图4b示出了在事务期间在计算设备、主机和认证服务之间被执行的说明性动作;

图5示出了与计算设备上的webauthnapi相关联的附加安全信息的分类;

图6示出了用于认证服务的附加安全标准的分类;

图7至图9示出了分别由计算设备、主机和认证服务执行的说明性方法;

图10是可以被部分地用于实现用于web应用的当前用户和设备认证的说明性计算机系统(诸如个人计算机(pc))的简化框图;

图11示出了可以被部分地用于实现用于web应用的当前用户和设备认证的说明性设备的框图;

图12是诸如移动电话或智能电话的说明性设备的框图;以及

图13是说明性多媒体控制台的框图。

相同的附图标记在附图中表示相同的元件。除非另有说明,否则元件未按比例绘制。

具体实施方式

图1示出了与各个用户105相关联的各种计算设备110的说明性环境100,计算设备110被配置有与在一个或多个服务器上被支持的认证服务120和网站主机125通信的网络能力。各种设备和服务器可以通过网络115彼此通信。网络可以包括任何类型的网络或网络集合,诸如个域网、局域网、广域网或因特网。因此,每个设备可以被配置有蓝牙、wi-fi或硬连线(例如,以太网电缆)以传输和接收信号、消息等。

计算设备110可以包括例如智能电话、平板计算机、pc(个人计算机)、膝上型计算机、游戏控制台等。环境中的各种设备可以支持不同的特征、功能和能力(这里通常被称为“特征”)。在给定设备上被支持的某些特征可能类似于在其他设备上被支持的特征,而其他特征对于给定设备可能是唯一的。在各种设备110上被支持的特征之间的重叠和/或区别程度可以根据实现而变化。例如,一些设备110可以支持触摸控制、手势识别和语音命令,而其他设备可以启用更受限的用户界面。一些设备可以支持视频消费和互联网浏览,而其他设备可以支持更受限的媒体处理和网络接口特征。

此外,计算设备110可以通过网络115访问主机125,或者备选地当用户在诸如abc公司130的实体店时,可以访问主机125。例如,用户105可以在abc公司或用户希望执行事务(诸如针对商品或服务的事务)的任何商店。作为响应,abc公司可以提供对主机125的访问,诸如通过网络,由此使与用户相关联的计算设备110与主机125通信。因此,与主机125相关联的服务器可以在abc公司现场,或者可以由在abc公司处的另一计算设备可访问。

图2a至图2b示出了示例性架构200和250,其中计算设备110通过网络115利用认证服务120而被个性化。该设备可以包括各种应用,包括允许用户访问因特网上的网站的浏览器应用205。浏览器应用可以包括webauthn能力,包括webauthnapi210作为用于设备个性化/标识和验证(id&v)215的方法。例如,webauthnapi可以北用作认证访问认证服务的设备的方法。webauthn提供了一种方法,其中服务可以验证被用于访问服务的计算设备是与特定用户帐户相关联的授权的计算设备。每当新设备被个性化时,授权服务可以向用户帐户传输通知或电子邮件,以使得用户知道新授权的设备。

认证服务120可以请求用户认证225来认证访问帐户的用户。例如,这可以包括双因素认证策略,诸如用户名和口令,并且然后对用户的电子邮件帐户的通知。备选地,可以采用任何数目的认证技术和组合,诸如pin、模式输入、使用生物计量传感器255(诸如指纹扫描、虹膜扫描、面部识别、语音识别等)的生物计量数据。

在用户105已经由认证服务120认证之后,webauthnapi210可以与认证服务的webauthnapi220对应以对由用户利用的计算设备110进行id&v。webauthnapi210可以生成webauthn非对称密钥对230(例如,私钥240和公钥252)。私钥可以被存储在安全密码处理器(包括可信平台模块(tpm)245)中。如果计算设备不支持任何硬件来存储私钥,则私钥可以备选地被存储在软件中。

当生成webauthn密钥对时,实现密钥/设备证明235过程。具体地,对于设备证明,公钥252通过网络115被传输给认证服务以用于存储。这提供了对webauthn密钥对的认证,从而使得认证服务现在可以认证与以加密方式被存储的私钥相关联的特定设备。私钥不被传输到认证服务,并且仅被存储在经历个性化过程的计算设备上。当设备使用私钥传输数字签名时,可以认证设备,该私钥只能通过公钥而被解密。

如图2b中所示,在完成设备的个性化过程之后,用户可以执行与建立的账户相关联的事务260。图3示出了高级环境300,其中设备的显示器验证与用户相关联的指纹,并且然后在执行图2a至图2b的webauthn密钥对230和密钥/设备证明235步骤之后注册该设备。

图4a示出了计算设备110、主机125和认证服务120之间的说明性交互400。如图4a和图4b中所示,主机125还可以被配置有分别与计算设备和认证服务的webauthnapi210和220通信和互操作的webauthnapi405。此外,各种设备和服务器可以通过网络进行通信,但是用户可以备选地被定位在诸如实体店(例如,abc公司)(图1)的实际机构处。

用户可以访问与主机125相关联的网站,并且因此发起事务(例如,购买商品和/或服务)410。事务的发起可以包括用户支付商品或服务的意图。随后,主机可以传输针对由计算设备415生成的应用密码(ac)的请求。ac可以例如提供关于事务的细节。通常,在通过emvco标准而被实现的芯片和pin事务中,ac可以指示是否在线执行事务(与发卡机构直接通信)以及事务是被拒绝还是被批准等。在webauthn协议和api的上下文中,可以在线执行事务,从而使得认证服务可以认证事务的准确性(例如,计算设备和用户)。

设备可以将生成的ac与用户认证420数据一起传输给认证服务120,从而使得服务可以适当地认证设备。在这个阶段,webauthn协议用先前生成的私钥来加密数字签名,该私钥是在个性化过程期间被开发(图2a至图2b)。可以将加密的数字签名传输给服务以认证计算设备。具体地,利用由服务存储的相应公钥来验证数字签名,该数字签名只能通过公钥而被解密。使用该对私钥和公钥,认证服务确定该计算设备是先前被个性化的相同设备。

如果设备110先前未与被存储在认证服务120上的用户帐户相关联,则可以开始上面讨论的个性化过程。例如,在设备生成ac并且随后被引导到服务之后,服务可以向用户提供将该特定设备个性化的选项,如关于图2a、图2b和图3而被讨论的。

如上所述,作为webauthnmakecredential和getattestation工作流的一部分,与webauthn兼容的设备向用户挑战存在,如由附图标记425所示,由此签署事务细节和银行可能需要的任何其他专有数据。这与请求用户输入pin(或符号)的支付终端基本上相同,如同传统的emv场景。在典型的实现中,可以使用双因素认证(诸如口令和电子邮件通知)或者用于虹膜扫描、指纹扫描或面部识别的生物计量传感器。用于认证用户的证明声明可以由设备与支付密码一起生成。

假定成功的用户认证,则设备110可以生成并且向主机125提供支付密码430。支付密码可以授权主机从服务接收用于事务的资金。在这一说明性示例中,证明陈述和支付密码在相同的工作流中出处理。在其他实现中,在满足所有各种认证步骤之前,设备可以不生成支付密码。然后,主机将支付密码转发给服务,该服务授权向主机435的支付。作为备选,设备可以将支付密码转发给服务,由此验证并且向主机提供针对事务的资金。

图4b示出了说明性交互450,其中可以利用webauthnapi实现附加安全措施。例如,除了用户认证420,设备还可以传输附加安全信息或证书455。该服务还可以在事务期间包括附加安全措施/标准460。附加安全信息可以由跨设备实现webauthn系统的管理员或企业可重新配置和可定制。因此,webauthn的配置可以跨行业或实现而不同。

图5提供了附加安全信息/证书455的示例的分类500。例如,附加安全信息可以包括计算设备505的类型、设备是否已经被植根(root)510、是否已经改变了设备的引导序列515、ssl(安全套接字层)证书520的真实性以及用以验证客户端设备525的真实性的附加安全信息。

图6提供了认证服务120可以跨webauthn设备和/或服务器实现的附加安全标准460的示例的分类600。例如,附加安全标准可以包括设备的硬件要求(例如,需要tpm)605、网络要求(例如,限制某些网络以避免中间人攻击)610、向设备615传输电子邮件或应用通知、标识网站的可信度620、实现附加用户认证(例如,口令、生物计量数据)625、加密标准(例如,诸如rsa2048和sha256的加密类型)630以及请求ssl证书以用于可行性635。

在步骤455和460被执行的附加安全信息和措施可以是恒定的(例如,发生在每个事务中),或者可以是动态的。例如,可以基于潜在的可疑活动和/或周期性地执行附加措施。如果定期执行,则这可以在预设数目的事务(总计或与特定用户帐户相关联)之后或者在事务之间的预定时间量之后发生。

在一个示例性实施例中,如果认证服务标识出已经改变了计算设备的引导序列,则服务可以动态地对该情况做出反应并且执行图6中所例示的附加步骤之一。例如,服务可以针对用户请求附加认证步骤,诸如向用户的需要用户响应的电子邮件确认。

图7是用于授权用户以用于事务的说明性方法700的流程图。除非特别说明,否则流程图中示出和所附文本中描述的方法或步骤不限于特定的次序或顺序。另外,其中的一些方法或步骤可以同时发生或执行,并且不是所有方法或步骤都必须在给定实现中根据这种实现的要求来执行,并且可以任选地使用一些方法或步骤。

在步骤705中,利用认证服务将计算设备个性化。个性化可以包括将计算设备与用户帐户相关联。在步骤710中,使用web浏览器应用发起事务。在步骤715中,传输利用webauthn私钥而被加密的数字签名。这一数字签名可以被用于认证计算设备。在步骤720中,生成授权发起的事务的确认密码。

图8是可以由远程服务执行的方法800。在步骤805中,从包括浏览器应用内的webauthnapi的设备接收用户认证凭证。在步骤810中,响应于接收的用户凭证而标识一个或多个安全措施。在步骤815中,传输标识的安全措施。在步骤820中,响应于传输的安全措施而接收安全凭证。在步骤825,关于在安全凭证被验证时是否授权事务进行确定。

图9是可以由远程服务器执行的方法900。在步骤905中,接收与用户相关联的认证凭证。在步骤910中,验证接收的认证凭证与用户帐户相关联。在步骤915中,接收由计算设备生成的公钥。公钥可以与被存储在计算设备上的私钥相关联。在步骤920中,将计算设备指定为与账户相关联的授权的计算设备。远程服务器可以仅授权源自授权的计算设备的事务。

图10是本webauthn作为emv以用于电子商务目的的诸如pc、客户端机器或服务器的说明性计算机系统1000的简化框图。计算机系统1000包括处理器1005、系统存储器1011和系统总线1014,系统总线1014将包括系统存储器1011在内的各种系统组件耦合到处理器1005。系统总线1014可以是使用各种总线架构中的任何一种的若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或本地总线。系统存储器1011包括只读存储器(rom)1017和随机存取存储器(ram)1021。基本输入/输出系统(bios)1025(包含有助于在计算机系统1000内的元件之间传送信息的基本例程,诸如在启动期间)被存储在rom1017中。计算机系统1000还可以包括用于从内部设置的硬盘(未示出)读取和向其写入的硬盘驱动1028、用于从可移除磁盘1033(例如,软盘)读取或向其写入的磁盘驱动1030、以及用于从可移除光盘1043(诸如cd(光盘)、dvd(数字通用光盘)或其他光学介质)读取或向其写入的光盘驱动1038。硬盘驱动1028、磁盘驱动1030和光盘驱动1038分别通过硬盘驱动接口1046、磁盘驱动接口1049和光盘驱动接口1052连接到系统总线1014。驱动器及其相关的计算机可读存储介质为计算机系统1000提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。虽然该说明性示例包括硬盘、可移除磁盘1033和可移除光盘1043,但是在本webauthn作为emv以用于电子商务目的的一些应用中也可以使用可以存储由计算机可访问的数据的其他类型的计算机可读存储介质,诸如磁带盒、闪存卡、数字视频盘、数据盒、随机存取存储器(ram)、只读存储器(rom)等。另外,如本文中使用的,术语计算机可读存储介质包括介质类型的一个或多个实例(例如,一个或多个磁盘、一个或多个cd等)。出于本说明书和权利要求的目的,“计算机可读存储介质”及其变体是非暂态的并且不包括波、信号和/或其他暂态和/或无形通信介质。

多个程序模块可以被存储在硬盘1028、磁盘1030、光盘1030、rom1017或ram1021上,包括操作系统1055、一个或多个应用程序1057、其他程序模块1060、和程序数据1063。用户可以通过诸如键盘1066的输入设备和诸如鼠标的指示设备1068向计算机系统1000中录入命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、轨迹球、触摸板、触摸屏、触敏设备、语音命令模块或设备、用户动作或用户手势捕获设备等。这些和其他输入设备通常通过耦合到系统总线1014的串行端口接口1071连接到处理器1005,但是可以通过其他接口来连接,诸如并行端口、游戏端口或通用串行总线(usb)。监视器1073或其他类型的显示设备也经由诸如视频适配器1075等接口连接到系统总线1014。除了监视器1073之外,个人计算机通常还包括其他外围输出设备(未示出),诸如扬声器和打印机。图10中所示的说明性示例还包括主机适配器1078、小型计算机系统接口(scsi)总线1083、以及连接到scsi总线1083的外部存储设备1076。

计算机系统1000在网络环境中使用到一个或多个远程计算机(诸如远程计算机1088)的逻辑连接来可操作。远程计算机1088可以被选择为另一个人计算机、服务器、路由器、网络pc、对等设备或其他公共网络节点,并且通常包括上面关于计算机系统1000描述的很多或所有元件,尽管图10中仅示出了单个代表性远程存储器/存储装置1090。图10中描绘的逻辑连接包括局域网(lan)1093和广域网(wan)1095。这种网络环境通常部署在例如办公室、企业范围的计算机网络、内联网和因特网中。

当在lan网络环境中使用时,计算机系统1000通过网络接口或适配器3196连接到局域网1093。当在wan网络环境中使用时,计算机系统1000通常包括宽带调制解调器1098、网络网关或用于通过诸如因特网等广域网1095建立通信的其他装置。宽带调制解调器1098(其可以是内部或外部的)经由串行端口接口1071连接到系统总线1014。在网络环境中,与计算机系统1000或其部分有关的程序模块可以被存储在远程存储器存储设备1090中。应当注意,图10中所示的网络连接是说明性的,并且可以使用在计算机之间建立通信链路的其他方法,这取决于在本webauthn作为emv以用于电子商务目的的应用的特定要求。

图11示出了用于能够执行本文中描述的用于web应用的用户和设备认证的各种组件的设备的说明性架构1100。因此,图11中所示的架构1100示出了可以适用于服务器计算机、移动电话、pda、智能电话、台式计算机、上网本计算机、平板计算机、gps设备、游戏控制台和/或膝上型计算机。架构1100可以用于执行本文中呈现的组件的任何方面。

图11中所示的架构1100包括cpu(中央处理单元)1102、包括ram1106和rom1108的系统存储器1104、以及将存储器1104耦合到cpu1102的系统总线1110。包含有助于在架构1100内的元件之间传送信息的基本例程(诸如在启动期间)的基本输入/输出系统被存储在rom1108中。架构1100还包括用于存储软件代码或用于实现应用、文件系统和操作系统的其他计算机执行代码的大容量存储设备1112。

大容量存储设备1112通过连接到总线1110的大容量存储控制器(未示出)连接到cpu1102。大容量存储设备1112及其相关的计算机可读存储介质为该架构1100提供非易失性存储。

尽管本文中包含的计算机可读存储介质的描述涉及大容量存储设备,诸如硬盘或cd-rom驱动器,但是本领域技术人员可以理解,计算机可读存储介质可以是可以由架构1100访问的任何可用存储介质。

作为示例而非限制,计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。例如,计算机可读介质包括但不限于ram、rom、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、闪存或其他固态存储器技术、cd-rom、dvd、hd-dvd(高清晰度dvd)、蓝光或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或可以用于存储期望的信息并且可以由架构1100访问的任何其他介质。

根据各种实施例,架构1100可以使用通过网络到远程计算机的逻辑连接在联网环境中操作。架构1100可以通过连接到总线1110的网络接口单元1116连接到网络。可以理解,网络接口单元1116还可以用于连接到其他类型的网络和远程计算机系统。架构1100还可以包括输入/输出控制器1118以用于接收和处理来自多个其他设备的输入,包括键盘、鼠标或电子笔(图11中未示出)。类似地,输入/输出控制器1118可以向显示屏、打印机或其他类型的输出设备(也在图11中未示出)提供输出。

可以理解,本文中描述的软件组件在被加载到cpu1102中并且被执行时可以将cpu1102和整体架构1100从通用计算系统变换为被定制为促进本文中呈现的功能的专用计算系统。cpu1102可以由任何数目的晶体管或其他分立电路元件构成,其可以单独地或共同地呈现任何数目的状态。更具体地,响应于本文中公开的软件模块内包含的可执行指令,cpu1102可以作为有限状态机进行操作。这些计算机可执行指令可以通过指定cpu1102如何在状态之间转换来变换cpu1102,从而变换构成cpu1102的晶体管或其他分立硬件元件。

对本文中呈现的软件模块进行编码还可以变换本文中呈现的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的特定变换可以取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机可读存储介质的技术,而不管计算机可读存储介质被表征为主存储器还是辅助存储器等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则可以通过变换半导体存储器的物理状态来将本文中公开的软件编码在计算机可读存储介质上。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可以转换这样的组件的物理状态,以便在其上存储数据。

作为另一示例,本文中公开的计算机可读存储介质可以使用磁或光技术来实现。在这样的实现中,当在其中编码软件时,本文中呈现的软件可以变换磁性或光学介质的物理状态。这些变换可以包括改变给定磁介质内到特定位置的磁特性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性以改变这些位置的光学特性。在不脱离本说明书的范围和精神的情况中,物理介质的其他变换是可能的,其中前述示例仅用于促进该讨论。

鉴于以上内容,可以理解,在架构1100中发生很多类型的物理变换以便存储和执行本文中呈现的软件组件。还可以理解,架构1100可以包括其他类型的计算设备,包括手持式计算机、嵌入式计算机系统、智能电话、pda以及本领域技术人员已知的其他类型的计算设备。还预期架构1100可以不包括图11中所示的所有组件,可以包括在图11中未明确示出的其他组件,或者可以使用完全不同于图11中所示的架构的架构。

图12是诸如移动电话或智能电话等包括各种可选的硬件和软件组件的说明性设备1200的功能框图,总体上在1202处被示出。移动设备中的任何组件1202可以与任何其他组件通信,但是,为了便于说明,未示出所有连接。移动设备可以是各种计算设备(例如,蜂窝电话、智能电话、手持计算机、pda等)中的任何一种,并且可以允许与一个或多个移动通信网络1204进行无线双向通信,诸如蜂窝电话或卫星网络。

所示的设备1200可以包括控制器或处理器1210(例如,信号处理器、微处理器、微控制器、asic(专用集成电路)或其他控制和处理逻辑电路)以用于执行诸如信号编码、数据处理、输入/输出处理、功率控制和/或其他功能等任务。操作系统1212可以控制组件1202的分配和使用,包括功率状态、锁定上(above-lock)状态和锁定下(below-lock)状态,并且提供对一个或多个应用程序1214的支持。应用程序可以包括通用移动计算应用(例如,图像捕获应用、电子邮件应用、日历、联系人管理器、web浏览器、消息传递应用)或任何其他计算应用。

所示的设备1200可以包括存储器1220。存储器1220可以包括不可移除存储器1222和/或可移除存储器1224。不可移除存储器1222可以包括ram、rom、闪存、硬盘或其他众所周知的存储器存储技术。可移除存储器1224可以包括闪存或用户识别模块(sim)卡(其在gsm(全球移动通信系统)系统中是众所周知的)或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器1220可以用于存储用于运行操作系统1212和应用程序1214的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络发送到一个或多个网络服务器或其他设备/或从一个或多个网络服务器或其他设备接收的网页、文本、图像、声音文件、视频数据或其他数据集。

存储器1220还可以被布置为或包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的一个或多个计算机可读存储介质。例如,计算机可读介质包括但不限于ram、rom、eprom、eeprom、闪存或其他固态存储器技术、cd-rom(压缩盘rom)、dvd、(数字多功能盘)hd-dvd(高清晰度dvd)、蓝光或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储期望的信息并且可以由设备1200访问的任何其他介质。

存储器1220可以用于存储订户标识符(诸如国际移动订户身份(imsi))和设备标识符(诸如国际移动设备标识符(imei))。这样的标识符可以被传输给网络服务器以标识用户和设备。设备1200可以支持一个或多个输入设备1230;诸如触摸屏1232;麦克风1234,用于实现用于语音识别、语音命令等的语音输入;相机1236;物理键盘1238;轨迹球1240;和/或接近传感器1242;以及一个或多个输出设备1250,诸如扬声器1252和一个或多个显示器1254。在某些情况中,也可以利用使用手势识别的其他输入设备(未示出)。其他可能的输出设备(未示出)可以包括压电或触觉输出设备。某些设备可以提供多于一个输入/输出功能。例如,触摸屏1232和显示器1254可以组合成单个输入/输出设备。

无线调制解调器1260可以耦合到天线(未示出),并且可以支持处理器1210与外部设备之间的双向通信,如本领域众所周知的。调制解调器1260被一般性地示出并且可以包括用于与移动通信网络1204和/或其他基于无线电的调制解调器(例如,蓝牙1264或wi-fi1262)通信的蜂窝调制解调器。无线调制解调器1260通常被配置用于与一个或多个蜂窝网络通信,诸如gsm网络,用于单个蜂窝网络内、蜂窝网络之间或设备与公共交换电话网络(pstn)之间的数据和语音通信。

该设备还可以包括至少一个输入/输出端口1280、电源1282、卫星导航系统接收器1284(诸如gps接收器)、加速计1286、陀螺仪(未示出)、和/或物理连接器1290,其可以是usb端口、ieee1394(firewire)端口和/或rs-232端口。所示的组件1202不是必需的或详尽的,因为可以删除任何组件并且可以添加其他组件。

图13是多媒体控制台1300的说明性功能框图。多媒体控制台1300具有中央处理单元(cpu)1301,cpu1301具有一级高速缓存1302、二级高速缓存1304和闪存rom(只读存储器)1306。一级高速缓存1302和二级高速缓存1304临时存储数据,并且从而减少存储器访问周期的数目,从而提高了处理速度和吞吐量。cpu1301可以被配置有多于一个核,并且因此被配置有附加的一级高速缓存1302和二级高速缓存1304。闪存rom1306可以被存储在多媒体控制台1300通电时在引导过程的初始阶段加载的可执行代码。

图形处理单元(gpu)1308和视频编码器/视频编解码器(编码器/解码器)1314形成用于高速和高分辨率图形处理的视频处理流水线。数据经由总线从gpu1308传送到视频编码器/视频编解码器1314。视频处理流水线向a/v(音频/视频)端口1340输出数据以传输给电视或其他显示器。存储器控制器1310连接到gpu1308以便于处理器访问各种类型的存储器1312,诸如但不限于ram。

多媒体控制台1300包括优选地在模块1318上实现的i/o控制器1320、系统管理控制器1322、音频处理单元1323、网络接口控制器1324、第一usb(通用串行总线)主机控制器1326、第二usb控制器1328和前面板i/o子组件1330。usb控制器1326和1328用作外围控制器1342(1)和1342(2)、无线适配器1348和外部存储器设备1346(例如,闪存、外部cd/dvdrom驱动器、可移除介质等)的主机。网络接口控制器1324和/或无线适配器1348提供对网络(例如,因特网、家庭网络等)的访问,并且可以是各种各样的有线或无线适配器组件中的任何一种,包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等。

提供系统存储器1343以存储在引导过程中被加载的应用数据。提供媒体驱动1344,并且其可以包括dvd/cd驱动器、硬盘驱动或其他可移除介质驱动器等。媒体驱动1344可以在多媒体控制台1300内部或外部。应用数据可以经由媒体驱动1344来访问以用于由多媒体控制台1300执行、重放等。媒体驱动1344经由诸如串行ata总线或其他高速连接(例如,ieee1394)等总线连接到i/o控制器1320。

系统管理控制器1322提供与确保多媒体控制台1300的可用性相关的各种服务功能。音频处理单元1323和音频编解码器1332形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元1323与音频编解码器1332之间传送。音频处理流水线向a/v端口1340输出数据以用于由具有音频能力的外部音频播放器或设备再现。

前面板i/o子组件1330支持电源按钮1350和弹出按钮1352的功能以及在多媒体控制台1300的外表面上暴露的任何led(发光二极管)或其他指示器的功能。系统电源模块1339向多媒体控制台1300的组件提供电力。风扇1338冷却多媒体控制台1300内的电路。

cpu1301、gpu1308、存储器控制器1310和多媒体控制台1300内的各种其他组件经由一个或多个总线互连,包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构的处理器或本地总线。作为示例,这种架构可以包括外围组件互连(pci)总线、pci-express总线等。

当多媒体控制台1300通电时,应用数据可以从系统存储器1343加载到存储器1312和/或高速缓存1302和1304中并且在cpu1301上执行。应用可以呈现图形用户界面,图形用户界面在导航到多媒体控制台1300上可用的不同媒体类型时提供一致的用户体验。在操作中,可以从媒体驱动1344启动或播放媒体驱动1344内包含的应用和/或其他媒体以向多媒体控制台1300提供附加功能。

通过简单地将系统连接到电视或其他显示器,多媒体控制台1300可以作为独立系统进行操作。在该独立模式下,多媒体控制台1300允许一个或多个用户与系统交互,观看电影或者收听音乐。然而,通过网络接口控制器1324或无线适配器1348可用的宽带连接的集成,多媒体控制台1300还可以作为更大的网络社区的参与者来进行操作。

当多媒体控制台1300通电时,保留设定量的硬件资源以供多媒体控制台操作进行系统使用。这些资源可以包括存储器(例如,16mb)、cpu和gpu周期(例如,5%)、网络带宽(例如,8kbps)等的保留。因为这些资源在系统引导时被保留,所以保留的资源从应用的视图中不存在。

特别地,存储器保留优选地足够大以包含启动内核、并发系统应用和驱动程序。cpu保留优选地是恒定的,从而使得如果系统应用不使用保留的cpu使用,则空闲线程将消耗任何未使用的周期。

关于gpu保留,通过使用gpu中断来调度代码以将弹出窗口渲染为覆盖图来显示由系统应用(例如,弹出窗口)生成的轻量级消息。覆盖所需的存储量取决于覆盖区域大小,并且覆盖优选地随屏幕分辨率而缩放。在并发系统应用使用完整用户界面的情况中,优选的是使用独立于应用分辨率的分辨率。可以使用缩放器来设置该分辨率,从而消除对于改变频率和进行tv重新同步的需要。

在多媒体控制台1300引导并且系统资源被保留之后,并发系统应用执行以提供系统功能。系统功能被封装在一组系统应用中,这些系统应用在上述保留的系统资源内执行。操作系统内核标识作为系统应用线程与游戏应用线程的线程。系统应用优选地被调度以在预定的时间和间隔在cpu1301上运行以便为应用提供一致的系统资源视图。调度是为了最小化在控制台上运行的游戏应用的高速缓存中断。

当并发系统应用需要音频时,由于时间敏感性,音频处理相对于游戏应用被异步调度。当系统应用活动时,多媒体控制台应用管理器(下面描述)控制游戏应用音频级别(例如,静音、衰减)。

输入设备(例如,控制器1342(1)和1342(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用与游戏应用之间切换使得每个应用具有设备的焦点。应用管理器优选地控制输入流的切换,而不需要知道游戏应用的知识,并且驱动程序保持关于焦点开关的状态信息。

现在,通过说明而不是所有实施例的详尽列表来呈现用于web应用的当前用户和设备认证的各种示例性实施例。示例包括一种在具有web浏览器应用的计算设备上被执行的方法,该web浏览器应用被配置有webauthnapi(应用程序接口),该计算设备能够访问网络,该方法包括:利用认证服务将计算设备个性化,其中个性化包括将计算设备与用户帐户相关联;使用web浏览器应用发起事务;传输利用webauthn私钥而被加密的数字签名以认证计算设备;以及生成授权发起的事务的确认密码。

在另一示例中,事务在由web浏览器应用访问的网站处被发起,并且认证服务与网站不相关联。在另一示例中,该方法还包括:提供证明挑战(challenge)以验证用户的真实性;并且响应于证明挑战而接收证明响应。在另一示例中,证明挑战包括pin(个人标识号)、口令、模式输入或生物计量数据中的一种或多种,生物计量数据包括指纹验证、虹膜扫描或面部识别。在另一示例中,生成的确认密码被传输给与网站或认证服务相关联的服务器之一。在另一示例中,生成的确认密码包括关于事务的细节。在另一示例中,该方法还包括配置web浏览器应用的webauthnapi以包括向认证服务提供与数字签名分离的附加安全信息。在另一示例中,附加安全信息包括计算设备的类型、计算设备是否已经被植根、对计算设备的引导序列的改变或对安全套接字层(ssl)证书的验证中的一种或多种。在另一示例中,web浏览器应用的webauthnapi是可重新配置的,以使得被提供给认证服务的附加安全信息基于专有编程而可定制。在另一示例中,该方法还包括从认证服务接收附加安全标准,附加安全标准包括硬件要求、网络要求、电子邮件通知、应用通知、网站可信度、附加用户认证、加密标准或安全套接字层(ssl)检查。在另一示例中,个性化包括建立webauthn私钥和webauthn公钥,其中私钥被存储在安全密码处理器(包括可信平台模块(tpm))中。

另一示例包括一种具有到网络和webauthnapi(应用程序接口)的连接的计算服务器,其包括:一个或多个处理器;存储计算机可读指令的存储器,计算机可读指令在由一个或多个处理器执行时执行包括以下步骤的方法:从包括浏览器应用内的webauthnapi的设备接收用户认证凭证;响应于接收的用户凭证而标识一个或多个安全措施;传输标识的安全措施;响应于传输的安全措施而接收安全凭证;以及确定在安全凭证被验证时是否授权事务。

在另一示例中,安全措施是可配置的,以使得安全措施基于专有编程而可定制。在另一示例中,可定制的安全措施包括硬件要求、网络要求、向设备传输电子邮件或通知、与设备交互的网站的可信度、附加用户认证、设置加密标准或请求ssl(安全套接字层)证书可行性中的一种或多种。在另一示例中,计算服务器还包括传输证明挑战以验证用户设备的真实性,其中证明挑战与附加安全措施分离。

另一示例包括存储指令的一种或多种计算机可读存储器设备,这些指令在由设置在计算机服务器中的一个或多个处理器执行时引起计算机服务器:接收与用户相关联的认证凭证;验证接收的认证凭证是否与用户帐户相关联;接收由计算设备生成的公钥,其中公钥与被存储在计算设备上的私钥相关联;并且将计算设备指定为与账户相关联的授权的计算设备,其中计算机服务器仅授权来自授权的计算设备的事务。

在另一示例中,一个或多个处理器还引起计算机服务器将附加计算设备标识为授权的计算设备。在另一示例中,计算设备、附加计算设备和计算机服务器包括允许计算机服务器建立和标识授权的计算设备的webauthnapi(应用程序接口)。在另一示例中,webauthnapi使用可自定义的加密标准。在另一示例中,计算机服务器向计算设备或计算设备与之交互的远程服务器中的一个或多个提供对要完成的事务的授权。

基于前述内容,可以理解,本文中已经公开了用于web应用的用户和设备认证的技术。尽管已经用计算机结构特征、方法和变换动作、特定计算机器和计算机可读存储介质专用的语言描述了本文中提出的主题,但是应当理解,所附权利要求中限定的本发明不一定限于本文中描述的特定特征、动作或介质。相反,特定特征、动作和介质被公开作为实现权利要求的示例形式。

上述主题仅以说明的方式提供,而不应当被解释为限制。可以对本文中描述的主题进行各种修改和改变,而不遵循所示出和描述的示例实施例和应用,并且没有脱离在所附权利要求中阐述的本发明的真实精神和范围。

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