确定验证功能的查询系统和方法与流程

文档序号:15931158发布日期:2018-11-14 01:39阅读:568来源:国知局

本申请是国际申请号为pct/us2013/077888、申请日为2013年12月26日、发明名称为“确定验证功能的查询系统和方法”的pct申请进入中国国家阶段后申请号为201380068869.3的中国发明专利申请的分案申请。

本发明整体涉及数据处理系统的领域。更具体地讲,本发明涉及用于确定验证功能的查询系统和方法。

背景技术

现有系统已被设计为使用生物识别传感器在网络中提供安全用户验证。具体地讲,由在线快速身份验证(fido)联盟开发的在线安全交易插件(ostp)协议实现了强验证(例如,防止身份窃取和网络钓鱼)、安全交易(例如,防止对于交易的“浏览器中的恶意软件”和“中间人”攻击)以及客户端验证令牌(例如,指纹读取器、面部识别设备、智能卡、可信平台模块等)的登记/管理。现有ostp协议的细节可见于例如美国专利申请no.2011/0082801(“‘801申请”)和名称为ostpframework(ostp框架,2011年3月23日)的文件,这两者均描述了网络上的用户注册和验证的框架。



技术实现要素:

在一个实施例中,本申请提供一种方法,包括:接收用以识别一组可接受验证功能的策略;通过由客户端基于所述客户端的安全存储而识别对应于一组客户端验证功能的所述客户端上的一组验证设备来确定所述客户端的所述一组客户端验证功能;由所述客户端基于所述客户端的用户的隐私偏好等级和所确定的所述一组客户端验证功能来过滤所述一组可接受验证功能,以获得一组经过滤的一个或多个验证功能以用于验证所述用户;以及使用所述一组经过滤的一个或多个验证功能在网络上验证所述用户。

在另一个实施例中,本申请提供一种系统,其包括:客户端,其接收用以识别一组可接受验证功能的策略,且确定一组客户端验证功能,所述客户端包括安全存储,所述客户端基于所述安全存储来识别对应于所述一组客户端验证功能的所述客户端上的一组验证设备,所述客户端进一步包括策略过滤器,所述策略过滤器基于所述客户端的用户的隐私偏好等级和所确定的所述一组客户端验证功能来过滤所述一组可接受验证功能,以获得一组经过滤的一个或多个验证功能以用于验证所述客户端的用户;以及所述客户端使用所述一组经过滤的一个或多个验证功能在网络上验证所述用户。

在又一个实施例中,本申请提供一种其上存储有程序代码的机器可读媒体,当由机器执行所述程序代码时,所述程序代码致使所述机器执行以下操作:接收用以识别一组可接受验证功能的策略;通过由客户端基于所述客户端的安全存储而识别对应于一组客户端验证功能的所述客户端上的一组验证设备来确定所述客户端的所述一组客户端验证功能;由所述客户端基于所述客户端的用户的隐私偏好等级和所确定的所述一组客户端验证功能来过滤所述一组可接受验证功能,以获得一组经过滤的一个或多个验证功能以用于验证所述客户端的用户;以及使用所述一组经过滤的一个或多个验证功能在网络上验证所述用户。

附图说明

通过以下详细描述结合以下附图可获得对本发明的更好理解,其中:

图1a-b示出了安全验证系统架构的两个不同实施例。

图2为示出可如何查找到客户端设备上的验证设备的交易图。

图3为示出用户可如何在验证设备上进行登记的交易图。

图4为示出可如何将密钥注册到验证设备内的交易图。

图5为示出可如何在验证框架内实现用户验证的交易图。

图6为示出可如何验证交易详情的交易图。

图7示出了根据本发明的一个实施例实现的查询策略过滤器。

图8为示出如何在本发明的一个实施例中实现具有查询策略的注册操作的交易图。

图9示出了用于实现多个验证设备处理的架构的一个实施例。

图10a-10c示出了多个验证设备处理的本发明的三个实施例。

图11a-11b示出了用于检测并响应于随机质询超时的交易图。

图12示出了根据本发明的一个实施例实现隐私类别的架构。

图13为根据本发明的一个实施例实现隐私类别的交易图。

图14示出了使用签名对交易进行验证的架构的一个实施例。

图15-16示出了用于执行本发明的实施例的计算机系统的示例性实施例。

具体实施方式

下面描述了在客户端-服务器环境中用于智能实现验证框架的装置、方法和机器可读介质的实施例。在整个描述中,为了说明的目的,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员将显而易见的是,可在没有这些具体细节中的一些的情况下来实践本发明。在其他情况下,熟知的结构和设备未示出或以框图形式示出以避免使本发明的基本原理模糊不清。

下文讨论的本发明的实施例涉及具有验证功能的客户端设备,诸如生物识别设备。这些设备有时在本文中称为“令牌”。可使用各种不同的生物识别设备,包括但不限于指纹传感器、语音识别硬件/软件(例如,用于识别用户语音的麦克风和相关软件)、面部识别硬件/软件(例如,用于识别用户面部的相机和相关软件)以及光学识别功能(例如,用于扫描用户视网膜的光学扫描仪和相关软件)。验证功能还可包括非生物识别设备,诸如可信平台模块(tpm)和智能卡。

下文所述的本发明的实施例提供与现有验证技术相比的各种改进。例如,与需要客户端在网络上传送其验证功能中的全部(例如,其验证令牌/设备的全部)的详尽列表的当前技术相反,本发明的一个实施例实现查询策略,其中安全交易服务器将服务器策略初始传输至客户端,其指示由服务器接受的验证功能。客户端随后对服务器策略进行分析以识别验证功能的子集,从而减小对客户端的隐私影响。

在另一个实施例中,采用多个可配置的隐私保护级别。隐私类别为预先定义的并且可由终端用户选择和/或修改。在本发明的一个实施例中,隐私类别基于可使用所请求的信息识别客户端的概率来定义。在相对较高隐私级别下(具有相对较低隐私影响),有关客户端设备的相对较少信息被泄露以执行本文所述的验证技术。

本发明的另一个实施例同时提供多个设备的配置或验证,从而提高效率。例如,不是一次请求单个验证设备的注册或验证,而是可从服务器发送验证设备列表。随后通过在客户端上本地执行的一次操作或一系列顺序操作将对称和/或非对称密钥配置到多个令牌/设备中。为了验证,可针对给定交易同时选择几个令牌/设备。

本发明的另一个实施例提高了处理和管理服务器质询的效率。如今,在服务器向客户端发送随机质询(例如,加密临时数)之后,如果客户端在指定的超时时段内没有响应,则临时数不再有效并且客户端将响应于后续验证尝试接收到错误。例如,如果用户使客户端挂起以移至新位置(例如,闭合膝上型计算机上的盖子)并随后尝试验证,则验证尝试将被拒绝。在本发明的一个实施例中,客户端检测到随机质询已过期并且自动和透明地从服务器请求新的质询。服务器随后生成新的质询并将其传输至可用于进行验证的客户端。终端用户体验得到改进,因为用户不会接收到验证请求的错误或拒绝。

本发明的另一个实施例在安全交易服务器上采用交易签名,以使得无需在服务器上保持任何交易状态来保持与客户端的当前会话。将交易内容(诸如交易文本)发送至由服务器签名的客户端,当服务器作出响应时其发回带有签名的交易内容。服务器无需存储交易状态,因为其可通过验证签名来验证由客户端所接收的所签名交易响应为有效的。

虽然在上文描述为单独的实施例,但在单个综合验证系统内可以用各种方式将上述技术中的全部组合在一起。因此,本发明的给定实施例可与本文所述的一个或多个其他实施例组合以用于改进安全网络环境中的客户端和用户验证。

示例性系统架构

图1a-1b示出了包括用于验证用户的客户端和服务器端组件的系统架构的两个实施例。图1a所示的实施例使用基于浏览器插件的架构以用于与网站进行通信,而图1b所示的实施例不需要浏览器。本文所述的各种技术(诸如在验证设备上登记用户、在安全服务器上注册验证设备、以及验证用户)可在这些系统架构中的任一者上实现。因此,虽然图1a所示的架构用于展示下文所述的实施例中的一些的操作,但可容易地在图1b所示的系统上实现相同的基本原理(例如,通过移除作为用于服务器130与客户端上的安全交易服务101之间的通信的媒介的浏览器插件105)。

首先转向图1a,所示实施例包括客户端100,该客户端100配备有用于登记和验证终端用户的一个或多个验证设备110-112(有时在本领域中称为验证“令牌”)。如上所述,验证设备110-112可包括生物识别设备,诸如指纹传感器、语音识别硬件/软件(例如,用于识别用户语音的麦克风和相关软件)、面部识别硬件/软件(例如,用于识别用户面部的相机和相关软件)和光学识别功能(例如,用于扫描用户视网膜的光学扫描仪和相关软件),以及非生物识别设备,诸如可信平台模块(tpm)和智能卡。

验证设备110-112通过由安全交易服务101暴露的接口102(例如,应用程序编程接口或api)通信耦接到客户端。安全交易服务101为用于在网络上与一个或多个安全交易服务器132-133进行通信以及用于与在web浏览器104的上下文内执行的安全交易插件105进行交互的安全应用程序。如图所示,接口102还可提供对客户端100上的安全存储设备120的安全访问,该安全存储设备120存储有关验证设备110-112中的每一者的信息,诸如设备标识代码、用户标识代码、用户登记数据(例如,扫描的指纹或其他生物识别数据)以及用于执行本文所述的安全验证技术的密钥。例如,如下详细所述,唯一密钥可存储到验证设备中的每一者内并且当在网络(诸如internet)中与服务器130进行通信时使用。

如下所述,某些类型的网络交易受安全交易插件105支持,诸如利用网站131或其他服务器的http或https交易。在一个实施例中,响应于由安全企业或web目标130(在下文有时简称为“服务器130”)内的web服务器131插入到web页面的html代码内的特定html标签启动安全交易插件。响应于检测到这样的标签,安全交易插件105可将交易转发给安全交易服务101以进行处理。此外,对于某些类型的交易(诸如,安全密钥交换),安全交易服务101可打开与本地交易服务器132(即,与网站处于同一位置)或与场外交易服务器133的直接通信通道。

将安全交易服务器132-133耦接到用于存储支持下文所述的安全验证交易所需的用户数据、验证设备数据、密钥以及其他安全信息的安全交易数据库120。然而,应当注意,本发明的基本原理不需要分离图1a所示的安全企业或web目标130内的逻辑组件。例如,可在单个物理服务器或单独的物理服务器内实现网站131和安全交易服务器132-133。此外,网站131和安全交易服务器132-133可在集成软件模块内实现,该模块在一个或多个服务器上执行以用于执行下文所述的功能。

如上所述,本发明的基本原理不限于图1a所示的基于浏览器的架构。图1b示出了一种替代实施方式,其中独立应用程序154利用由安全交易服务101提供的功能在网络上验证用户。在一个实施例中,应用程序154被设计为建立与一个或多个网络服务151的通信会话,所述网络服务151依赖于安全交易服务器132-133以用于执行下文详述的用户/客户端验证技术。

在图1a-1b所示的实施例中的任一者中,安全交易服务器132-133可生成密钥,所述密钥随后被安全传输至安全交易服务101并存储到安全存储器120内的验证设备内。另外,安全交易服务器132-133管理服务器端上的安全交易数据库120。

设备查找、

登记、注册和验证概览

图2-6中示出了用于执行验证设备查找、登记、注册和验证的一系列示例性交易。在上文所述的ostp协议中采用了这些交易的一些方面(参见ostp框架(2011年3月23日)以获得额外细节,其以引用方式并入本文)。对这些交易的基本操作的了解将提供可在其中实现本发明的实施例的上下文。

下文所述的操作包括验证设备的检测(图2);在验证设备上的用户登记(图3);验证设备的注册(图4);在所注册验证设备上的用户验证(图5);以及验证后的安全交易实现(图6)。

图2示出了用于检测客户机上的验证设备的一系列交易。在成功完成设备检测之后,服务器130具有有关附接到客户端的验证设备的详尽信息并且将能够评估哪一个或多个设备最适于与增强安全性基础设施一起使用。只有服务器130过滤了验证设备的列表。用户将被提供该列表并且可选择验证设备中的一者(或组合)以用于安全交易的进一步验证和实现。

在操作中,用户在浏览器中通过用户名和密码进行验证并登录到网站。这是唯一一次需要用户提供用户名和密码。服务器130确定用户当前未使用增强的安全性(例如,通过查询安全交易数据库120)并向用户提供建议以更改到增强的安全性。

在一个实施例中,服务器130包括安全交易插件105检测到的html页面中的“查询设备”标签。响应于检测到该标签,安全交易插件105将请求重新路由至安全交易服务101,该安全交易服务101随后准备有关附接到系统的所有验证设备的详尽信息,包括设备的安全性特征。在一个实施例中,在使用预先指定的数据方案进行传输之前以xml格式打包信息。

安全交易插件105从安全交易服务101接收该信息,并且在一个实施例中,经由所注册的回调将信息传送至web页面的javascript。其随后选择如何在浏览器104中显示信息。经网站过滤的列表可显示给用户并且用户可选择验证设备中的一者或一个组合。

图3示出了在验证设备上登记用户的一系列交易。在一个实施例中,登记为使用由本文所述的本发明实施例所提供的增强安全性的前提条件。登记涉及获取用户的生物识别读取数据(例如,指纹、语音样本等)以使得在后续交易期间可使用相同验证设备验证用户。可仅仅在客户端上完成登记操作,无需与服务器130进行交互。为登记而提供的一个或多个用户界面可显示于浏览器扩展中或可显示于单独的应用程序或移动设备app中。

一检测到设备就可启动登记操作。用户可选择使用所查找到的设备中的一者或一组以实现增强的安全性。在操作中,用户可从浏览器、应用程序或移动设备app中的所显示设备列表中选择一个设备。对于图3所示的基于浏览器的实施方式,安全交易插件105显示设备专用的登记图形用户界面(gui)。安全交易插件105将设备标识符和登记请求传输至安全交易服务101并等待完成。如果用户已经在客户端上的验证设备上登记,则用户可能仅需要验证其身份(即,将不需要其再次登记)。如果用户当前未登记,则安全交易服务101通过激活物理验证设备(例如,经由设备接口102)来开始登记过程。用户随后与安全交易插件105gui进行交互并遵循指定的登记步骤(例如,扫描手指、对麦克风讲话、快拍图片等)。完成后,用户就将在验证设备上登记。重要的是,用户在设备上登记后,就可使用该登记在如本文所述的任何网站或网络服务上进行注册或验证。

图4示出了用于验证设备注册的一系列交易。在注册期间,在验证设备与安全交易服务器132-133中的一者之间共享密钥。该密钥存储在客户端100的安全存储器120和安全交易服务器132-133所使用的安全交易数据库120内。在一个实施例中,密钥为由安全交易服务器132-133中的一者生成的对称密钥。然而,在下文所述的另一个实施例中,可使用非对称密钥。在该实施例中,可通过安全交易服务器132-133存储公钥并且第二相关的私钥可存储在客户端上的安全存储器120中。此外,在一个实施例中(也在下文论述),可在客户端100上生成一个或多个密钥(例如,通过验证设备或验证设备接口而非安全交易服务器132-133)。

可使用安全密钥配置协议(诸如动态对称密钥配置协议(dskpp))在安全通信通道上与客户端共享密钥(参见例如请求注解(rfc)6063)。然而,本发明的基本原理不限于任何具体的密钥配置协议。

转向图4中所示的具体细节,一旦用户登记或用户验证完成,服务器130就生成必须在设备注册期间由客户端呈现的随机生成质询(例如,加密临时数)。随机质询可在有限时间段内有效。安全交易插件检测到随机质询并且将其转发至安全交易服务101。作为响应,安全交易服务启动与服务器130的带外会话(例如,带外交易)并且使用密钥配置协议与服务器130进行通信。服务器130通过用户名定位用户、验证随机质询、验证设备的验证代码(如果发送了一个验证代码),并为用户在安全交易数据库120中创建新的条目。其也可生成密钥,将密钥写入至数据库120并使用密钥配置协议将密钥发回安全交易服务101。一旦完成,验证设备和服务器130就可在使用对称密钥时共享相同密钥或在使用非对称密钥时共享不同密钥。

图5示出了用于在所注册验证设备上进行用户验证的一系列交易。一旦设备注册完成,服务器130就将接受由本地验证设备生成的令牌作为有效验证令牌。

转向图5所示的具体细节,其示出了基于浏览器的实施方式,用户在浏览器104中输入服务器130的统一资源定位符(url)。在使用独立应用程序或移动设备app(而非浏览器)的实施方式中,用户可输入网络服务的网络地址或者应用程序或app可自动尝试在网络地址处连接至网络服务。

对于基于浏览器的实施方式,网站将所注册设备的查询嵌入html页面中。这可以通过除了将查询嵌入html页面中以外的许多方式来完成,诸如通过javascript或使用http标头。安全交易插件105接收url并将其发送至安全交易服务101,该安全交易服务101将查找搜索到安全存储器120(如所述,该安全存储器120包括验证设备和用户信息的数据库)内并确定是否存在在该url内登记的用户。如果存在,则安全交易服务101向安全交易插件105发送与该url关联的所配置设备的列表。安全交易插件随后调用所注册的javascriptapi并将该信息传送至服务器130(例如,网站)。服务器130从所发送的设备列表中选择适当设备、生成随机质询并将设备信息和参数发回客户端。网站显示对应的用户界面并请求来自用户的验证。用户随后提供所请求的验证措施(例如,在指纹读取器上扫描手指、讲话进行语音识别等)。安全交易服务101识别用户(对于不支持存储用户的设备可跳过该步骤)、从数据库获取用户名、使用密钥生成验证令牌并经由安全交易插件将该信息发送至网站。服务器130根据安全交易数据库120识别用户并通过在服务器130上生成相同令牌(例如,使用其密钥副本)来验证令牌。一旦经过验证,将完成验证过程。

图6示出了在验证基于浏览器的实施方式之后的安全交易。安全交易被设计成针对某些类型的交易(例如,金融交易)提供更强的安全性。在所示实施例中,用户在提交每项交易之前对交易进行确认。使用所示技术,用户精确确认他/她想要提交的内容并精确确认他/她所看到的gui中显示的内容。换句话讲,该实施例确保无法通过“中间人”修改交易文本以提交用户未确认的交易。

在一个实施例中,安全交易插件105在浏览器上下文中显示窗口601以示出交易详情。安全交易服务器101周期性地(例如,以随机间隔)验证示于窗口中的文本不被任何人篡改。

以下例子将有助于突出显示该实施例的操作。用户从商业站点中选择要购买的物品并选择“结算”。商业站点将交易发送至服务提供商,该提供商具有实现本文所述的本发明实施例中的一者或多者的安全交易服务器132-133(例如,paypal)。商业站点对用户进行验证并完成交易。

安全交易服务器132-133接收交易详情(td)并且将“安全交易”请求置于html页面中并发送至客户端100。安全交易请求包括交易详情和随机质询(例如,随机临时数)。安全交易插件105检测到交易确认消息的请求并将所有数据转发至安全交易服务101。在不使用浏览器或插件的实施例中,信息可从安全交易服务器直接发送至客户端100上的安全交易服务。

对于基于浏览器的实施方式,安全交易插件105(在浏览器上下文中)向用户显示具有交易详情的窗口601并请求用户提供验证来确认交易。在不使用浏览器或插件的实施例中,安全交易服务101或应用程序154可显示窗口601。安全交易服务101启动计时器并验证显示给用户的窗口601的内容。验证周期可随机选择。安全交易服务101确保用户看到窗口601中的有效交易详情。如果其检测到内容已被篡改,则会阻止生成确认令牌。

在用户提供有效验证(例如,在指纹传感器上扫描手指)之后,设备识别用户并生成令牌(加密签名),其具有交易详情和随机质询(即,基于交易详情和临时数计算令牌)。这使得安全交易服务器132-133可确保在服务器与客户端之间未修改交易详情。安全交易服务101将所生成的令牌和用户名发送至安全交易插件105,该安全交易插件105将令牌转发至安全交易服务器132-133。安全交易服务器132-133通过用户名识别用户并对令牌进行验证。如果验证成功,则将确认消息发送至客户端并对交易进行处理。

安全查询的系统和方法

确定客户端验证功能的策略

如所提及的,本发明的一个实施例实现查询策略,其中安全交易服务器将服务器策略传输至客户端,其指示由服务器接受的验证功能。客户端随后对服务器策略进行分析以识别其所支持和/或用户指示想要使用的验证功能的子集。客户端随后使用与所提供策略匹配的验证令牌的子集注册和/或验证用户。因此,对客户端隐私的影响较低,因为客户端不需要传输有关其验证功能的详尽信息(例如,其验证设备的全部)或可用于唯一识别客户端的其他信息。

以举例而非限制性的方式,客户端可包括许多验证功能,诸如指纹传感器、语音识别功能、面部识别功能、眼睛/光学识别功能、可信平台模块(tpm)和智能卡等等。然而,出于隐私原因,用户可能不希望将其全部功能的细节泄露给请求服务器。因此,使用本文所述的技术,安全交易服务器可将服务器策略传输至客户端,指示其支持例如指纹、光学或智能卡验证。客户端随后可相对于其自身的验证功能比较服务器策略并选择可用验证选项中的一者或多者。

图7示出了用于实现这些技术的客户端-服务器架构的一个实施例。如图所示,在客户端100上实现的安全交易服务101包括策略过滤器701,以用于分析由服务器130提供的策略并识别要用于注册和/或验证的验证功能的子集。在一个实施例中,策略过滤器701实现作为在安全交易服务101的上下文内执行的软件模块。然而,应当注意,策略过滤器701可以用任何方式实现,同时仍遵从本发明的基本原理,并且可包括软件、硬件、固件或它们的任何组合。

图7所示的具体实施方式包括用于使用先前所述的技术建立与安全企业或web目标130(有时简称为“服务器130”)的通信的安全交易插件105。例如,安全交易插件可识别通过web服务器131插入到html代码内的特定html标签。因此,在该实施例中,将服务器策略提供给安全交易插件105,该安全交易插件105将其转发至实现策略过滤器701的安全交易服务101。

策略过滤器701可通过读取来自客户端的安全存储区域720中的功能来确定客户端验证功能。如前所述,安全存储器720可包括客户端验证功能的全部的存储库(例如,验证设备中的全部的识别代码)。如果用户已在其验证设备上登记了该用户,则用户的登记数据存储在安全存储器720内。如果客户端已在服务器130上注册了验证设备,则安全存储器也可存储与每个验证设备关联的加密私钥。

使用从安全存储器720提取的验证数据以及由服务器提供的策略,策略过滤器701随后可识别要使用的验证功能的子集。根据配置,策略过滤器701可识别受客户端和服务器两者所支持的验证功能的完整列表或者可识别完整列表的子集。例如,如果服务器支持验证功能a、b、c、d和e并且客户端具有验证功能a、b、c、f和g,则策略过滤器701可将通用验证功能的整个子集识别到服务器:a、b和c。或者,如果需要较高级别的隐私,如图7中的用户首选项730所指示,则可将更有限的验证功能子集识别到服务器。例如,用户可指示应当仅将单一的通用验证功能识别到服务器(例如,a、b或c中的一者)。在一个实施例中,用户可为客户端100的验证功能中的全部建立优先方案并且策略过滤器可选择服务器和客户端两者通用的最高优先级验证功能(或一组优先的n种验证功能)。

根据服务器130已启动的操作(注册或验证),安全交易服务130对经过滤的验证设备(110-112)的子集执行操作并经由如图7所示的安全交易插件105将操作响应发回服务器130。或者,在不依赖web浏览器的插件105组件的实施例中,可将信息从安全交易服务101直接发送至服务器130。

图8示出了交易图,该交易图示出了一系列具有查询策略交易的示例性注册的额外细节。在所示实施例中,用户先前尚未在服务器130上注册设备。因此,在801处,用户可输入用户名和密码作为初始的一次验证步骤,其在802处经由客户端浏览器104被转发至服务器130。然而,应当注意,不要求用户名和密码遵从本发明的基本原理。

因为在803处确定用户先前未注册有增强安全性,因此服务器130在804处将其服务器策略传输至客户端。如所提及的,服务器策略可包括受服务器130支持的验证功能的指示。在所示例子中,经由交易806将服务器策略传送至安全交易服务101。

在交易807处,安全交易服务101将服务器策略与客户端的功能(以及潜在的其他信息,诸如如上所述的设备优先级方案和/或用户首选项)进行比较以得出经过滤的验证功能列表。经过滤的设备(102)列表随后生成密钥(808和809)并随后向安全交易服务101提供这些密钥的公共部分,该安全交易服务101反过来将这些作为注册响应发回服务器130。服务器对验证设备进行认证并将公钥存储在安全交易数据库中。此处所采用的令牌认证为在注册期间对验证设备身份进行验证的过程。其使得服务器能够以加密方式确保客户端所报告的设备确实是其声称的设备。

作为另外一种选择或除此之外,在807处,可为用户提供查看列表和/或选择要与该具体服务器130一起使用的特定验证功能的机会。例如,经过滤的列表可指示使用指纹扫描、面部识别和/或语音识别进行验证的选项。用户随后可在用服务器130验证时选择使用这些选项中的一者或多者。

用于在客户端过滤服务器策略的上述技术可在上述一系列交易的各种不同阶段实现(例如,在设备查找、设备注册、设备配置、用户验证等期间)。即,本发明的基本原理不限于图8中阐述的一组特定交易和特定交易排序。

此外,如前所述,不要求浏览器插件架构遵从本发明的基本原理。对于确实涉及浏览器或浏览器插件(例如,独立应用程序或移动设备app)的架构,可简化图8所示的交易图(以及本文所公开的其余交易图),使得浏览器104被移除,并且安全交易服务101与服务器130直接通信。

在多个验证设备上进行有效登记、注册

和验证的系统和方法

本发明的一个实施例能够同时登记、注册和验证多个设备,从而提高效率和用户体验。例如,不是一次请求单个设备的注册和验证,而是可将设备列表发送至客户端。随后可通过在客户端上本地执行的一次操作或一系列顺序操作将对称或非对称密钥注册到多个设备内。为了验证,可针对给定交易同时选择几个令牌/设备。

图9示出了用于实现这些技术的客户端-服务器架构的一个实施例。如图所示,在客户端100上实现的安全交易服务101包括多个设备处理逻辑901,该设备处理逻辑901用于执行指定操作(诸如一次登记和注册多个设备)而无需在登记/注册每个设备时与服务器130进行持续的往复通信。类似地,服务器130包括用于发出针对多个验证设备的命令的多个设备处理逻辑。在一个实施例中,多个设备处理逻辑901实现作为在安全交易服务101的上下文内执行的软件模块。然而,应当注意,多个设备处理逻辑901可以用任何方式实现,同时仍遵从本发明的基本原理,并且可包括软件、硬件或固件组件或者它们的任何组合。

与在上文所述的实施例中一样,图9所示的具体实施方式包括用于建立与服务器130(如所述,该服务器可包括网站服务器131和安全交易服务器132-133)的通信的安全交易插件105。因此,服务器130经由安全交易插件105与安全交易服务101进行通信。然而,如所提及的,不要求基于浏览器的插件架构遵从本发明的基本原理。

服务器130上的多个设备处理逻辑902可传送要由客户端100上的多个设备处理逻辑901执行的命令,所述客户端100对多个验证设备110-112执行操作。以举例的方式,多个设备处理逻辑902可生成要在n个验证设备中的每一者上注册的n个密钥并随后连同注册n个设备的命令安全传输至多个设备处理逻辑901。多个设备处理逻辑901随后可针对所有n个设备(例如,针对验证设备110-112)同时或以一系列顺序操作执行注册而不与服务器进一步交互。随后可将单一响应发送至服务器130以指示所有n个设备的注册完成。

图10a-10c中示出了一系列示例性的多个设备交易。图10a示出了多个设备登记过程,该过程可在不与服务器130进行任何交互的情况下执行(例如,在验证设备上登记用户可在客户端上的安全交易服务101的控制下执行)。在替代实施例中,服务器130可向客户端(未示出)传输请求以在n个设备上登记用户。图10b-10c示出了用于在服务器130上注册多个设备的两个不同实施例。

转向图10a中的登记过程,在1001处,用户指示想要在客户端上的n个验证设备(代表可用验证设备的全部或子集)上登记。作为响应,在1002处调用安全交易插件并且在1003处生成设备专用的图形用户界面(gui)以在过程中引导用户或在验证设备编号1上登记。在登记过程期间,用户与如所指示的安全交易插件进行交互(例如,通过将手指定位在指纹传感器上、对麦克风讲话、用相机快拍图片等)。在一个实施例中,针对n个设备中的每一者执行登记,直至在1004处针对第n个设备完成登记。可将不同的设备专用脚本和/或用户界面呈现给用户以在每个单独的验证设备上登记用户。如前所述,当用户在每个设备上登记时,用户登记数据可存储在客户端100上的安全存储器720内并且只能通过安全交易服务101进行访问。一旦所有n个设备的登记完成,则可经由交易1004-1005向服务器130发送通知。

不论如何执行登记,一旦完成,就可使用图10b中所示的交易图在服务器130上注册n个设备。在1010处,服务器130生成用户专用的随机质询,如前所述,该质询仅在有限的时间段内有效并可包括随机生成的代码,诸如加密临时数。在1011处,连同在服务器130上注册n个验证设备的命令一起传输随机质询。在1012处,安全交易服务101创建与服务器130的安全连接并连同随机质询一起传输n个设备的识别数据。在一个实施例中,安全连接为https连接。然而,本发明的基本原理不限于任何具体的安全连接类型。

在1013处,服务器130对n个设备进行认证,为n个设备中的每一者生成密钥,并通过安全连接将n个密钥发回安全交易服务。在一个实施例中,使用动态对称密钥配置协议(dskpp)通过安全连接与客户端交换密钥。然而,本发明的基本原理不限于任何具体的密钥配置技术。或者,在不依赖于dskpp协议的实施例中,可在每个验证设备中生成密钥并随后传输至服务器130。

在1014-1015处,安全交易服务的多个设备处理逻辑将n个密钥中的每一者注册到n个设备中的每一者内。如前所述,每个密钥可存储并与客户端上的安全存储器720内的其相应设备相关联。一旦针对每个验证设备完成注册,就在1016处通过安全连接向服务器发送通知。

在一个实施例中,注册到每个验证设备内的密钥为对称密钥。因此,每个密钥的相同副本存储在客户端上的安全存储器720以及服务器130上的安全交易数据库120中。在替代实施方式中,可生成非对称密钥对,其中密钥中的一者被保持为服务器上的安全交易数据库120中的公钥以及存储在客户端的安全存储器720中的私钥。然而,应当注意,本发明的基本原理不限于任何具体类型的加密密钥。

图10c中示出了替代实施方式,其中在客户端而非服务器130上生成密钥。在该实施方式中,在1011处接收到借助随机质询注册设备的请求之后,在1120处安全交易服务101的多个设备处理逻辑为n个设备中的每一者生成n个密钥。一旦生成,就在1013-1014处在n个设备中的每一者上注册密钥并且注册存储在如前所述的安全存储器720内。一旦注册了所有密钥,安全交易服务101就在1015处将通知连同随机质询提供给服务器(以验证客户端的身份)。服务器130随后可将注册存储在如上所述的安全交易数据库120中。

处理验证框架内的随机质询

的系统和方法

本发明的一个实施例改进了服务器生成随机质询并进行处理的方式。在一个实施例中,随机质询包括随机生成代码,诸如加密临时数。在当前系统中,在服务器向客户端传输随机质询之后,如果客户端在指定的超时时段内没有响应,则随机质询不再有效并且客户端将响应于后续验证尝试接收到错误(例如,用户将在指纹读取器上扫描手指并遭到拒绝)。

在本发明的一个实施例中,客户端自动检测到质询已过期并且透明地从服务器请求新的质询(即,没有用户干预)。服务器随后生成新的随机质询并将其传输至客户端,该客户端随后可使用该质询建立与服务器的安全通信。终端用户体验得到改进,因为用户不会接收到验证请求的错误或拒绝。

图11a示出了用于注册过程的上下文内的一个此类实施例,并且图11b示出了用于验证过程的上下文内的实施例。然而,应当注意,可在除图11a-11b所示的那些上下文以外的其他上下文中采用本发明的基本原理。例如,本文所述的技术可与其中将时间敏感代码从服务器传送至客户端的任何方法一起使用。

首先转向图11a,在1101处,服务器130生成随机质询和超时时段指示。在一个实施例中,超时时段包括随机质询被视为有效的一段时间。在超时时段过去之后,随机质询不再被服务器130视为有效。在一个实施例中,超时时段仅被指定为随机质询将不再有效的时间点。一旦到达该时间点,随机质询就会无效。在另一个实施例中,通过使用当前时间戳(即,由服务器130生成随机质询的时间)和持续时间指定超时时段。安全交易服务101随后可通过以下过程来计算超时时间:将持续时间值添加至时间戳以计算随机质询变得无效的时间点。然而,应当注意,本发明的基本原理不限于用于计算超时时段的任何特定技术。

无论如何指定或计算超时时段,在1102处,随机质询和超时指示均被传输至安全交易服务101(经由所示例子中的浏览器104和安全交易插件105)。在1103处,安全交易服务101基于从服务器130发送的超时指示检测到随机质询已超时并且不再有效。以举例的方式,用户可能已在完成一系列交易之前关闭了他的/她的客户机或闭合了他的/她的笔记本电脑上的盖子。如果交易为需要用户交互的一个交易,则用户可能只是离开或忽略了显示于gui内的消息。

在1104处,在检测到随机质询不再有效时,安全交易服务101向服务器130传输新的随机质询请求(经由所示例子中的安全交易插件105和浏览器104)。在1105处,服务器130生成新的随机质询和超时时段的新指示。在一个实施例中,超时时段与在操作1101中相同或可经过修改。例如,服务器130可增加超时时段的持续时间以减小与客户端的数据通信量或减少持续时间以增加由随机质询所提供的安全性级别。在1106处,将新的随机质询和超时指示传输至安全交易服务101。

交易的剩余部分如前所述进行。例如,在1107处安全交易服务打开直接通向服务器的安全连接,以便相对于图4、图10b或图10c执行如上所述的设备注册和密钥交换。在1108处,服务器130识别用户(例如,通过用户名或其他id)、认证验证设备并生成设备的密钥。如所提及的,密钥可为对称密钥或非对称密钥。在1109处,经由安全连接将密钥传输至安全交易服务101,并且在1110处,安全交易服务101将密钥注册到验证设备内。在1111处,将注册完成的通知传输至服务器130。

因此,在图11a所示的实施例中,如在图10b所示的实施例中一样,在服务器130处生成用于设备注册的密钥。然而,本发明的基本原理也可用于其中由客户端100上的安全交易服务101生成一个或多个密钥的实施例,诸如以上相对于图10c所述的实施例。

图11b示出了在验证过程的上下文内实现的本发明的一个实施例。在1151处,用户在浏览器104内输入具体网站url并被引导至企业/web目标服务器130内的web服务器131,服务器130包括安全交易服务器132-133。在1152处,将查询发回安全交易服务(经由浏览器和插件)以确定在网站的url上注册了哪一个或多个设备。安全交易服务101查询客户端100上的安全存储器720以识别在1153处发回服务器130的设备列表。在1154处,服务器1154选择要用于验证的设备、生成随机质询和超时指示,并且在1155处将该信息发回安全交易服务101。

在1156处,在到达超时时段的结束时安全交易服务1156自动检测到随机质询不再有效。如上所述,可采用各种不同技术指示并检测超时时段的结束(参见图11a和相关文本)。在检测到随机质询过期时,在1157处,安全交易服务101透明地(即,没有用户干预)通知服务器130并请求新的随机质询。作为响应,在1158处,服务器130生成新的随机质询和超时时段的新指示。如所提及的,新的超时时段可与先前发送至客户端的超时时段相同或可经过修改。在任一种情况下,在1159处,将新的随机质询和超时指示发送至安全交易服务101。

图11b所示的交易图的剩余部分以与上述基本相同的方式操作(参见例如图5)。例如,在1160处,显示验证用户界面(例如,引导用户在指纹传感器上扫描手指)并且在1161处,用户提供验证(例如,在指纹扫描仪上扫描手指)。在1162处,安全交易服务验证用户的身份(例如,将从用户采集的验证数据与存储在安全存储器720中的数据进行比较)并使用与验证设备关联的密钥加密随机质询。在1163处,将用户名(或其他id代码)和加密的随机质询发送至服务器130。最终,在1164处,服务器130使用用户名(或其他id代码)识别安全交易数据库120内的用户,并且使用存储在安全交易数据库120中的密钥解密/验证随机质询以完成验证过程。

用于实现验证框架内的隐私类别的

系统和方法

在一个实施例中,可由终端用户预先定义、选择和/或修改多个隐私保护类别。隐私类别可基于可使用所泄露的信息识别客户端的概率而定义。在具有相对较高隐私级别的隐私类别下,有关客户端设备的相对较少信息被泄露以执行本文所述的验证技术。在一个实施例中,用户可在与不同服务器进行通信时选择公开尽可能少量的信息(即,可针对每个网站或网络服务选择具有可允许的最低隐私影响的交易)。

图12示出了用于实现隐私类别的高级别架构。如图所示,该实施例的安全交易服务101包括隐私管理逻辑1201,以用于分析从服务器130接收的查询以获得客户端信息诸如与验证设备相关的信息,响应于此类查询实现隐私策略,并生成包含基于使用中的具体隐私所收集的客户端信息的响应。在一个实施例中,隐私管理模块1201实现作为在安全交易服务101的上下文内执行的软件模块。然而,应当注意,隐私管理模块1201可以用任何方式实现,同时仍遵从本发明的基本原理,并且可包括软件、硬件、固件或它们的任何组合。

由隐私管理逻辑1201利用的隐私类别可预先指定并存储在客户端100上(例如,存储在安全存储器720内)。在一个实施例中,定义了三个隐私类别:高隐私影响、中隐私影响和低隐私影响。每个隐私类别可基于所泄露信息可用于唯一识别用户/客户端的概率而定义。例如,针对低隐私影响交易泄露的信息可导致通过internet唯一识别用户或机器的概率为10%;中隐私影响交易可导致用户或机器被唯一识别的概率为50%;并且高隐私影响交易可导致用户或机器被唯一识别的概率为100%。可定义各种其他隐私类别级别,同时仍遵从本发明的基本原理。

在一个实施例中,每个依赖方(例如,每个网站131或服务151)可指定所需的隐私类别或其他隐私阈值。例如,需要加强安全性级别的网站和服务仅可允许根据高隐私影响类别的通信,而其他网站/服务可允许使用中隐私影响或低隐私影响类别的交互。在一个实施例中,从服务器130发送的客户端信息的查询包括指定应当检索哪些信息隐私类别(即,低、中和高)的属性。因此,隐私管理逻辑1201将为每个依赖方存储最高批准隐私类别的信息。在一个实施例中,无论何时依赖方请求属于比已批准的隐私类别高的隐私类别的信息,均将提示用户为该依赖方永久性批准(或拒绝)该新的隐私类别。响应于用户的批准,隐私管理逻辑可存储依赖方(例如,经由url识别)与新的隐私类别之间的新关联。

虽然为了简单起见将用户首选项1230直接应用于图12中的隐私管理逻辑,但应当注意,用户可经由基于浏览器的图形用户界面(未示出)指定首选项。在这样的情况下,用户将经由浏览器窗口输入隐私设置。安全交易插件105随后将新设置存储至隐私管理逻辑1201,或存储至可通过隐私管理逻辑1201访问的配置数据文件。简而言之,本发明的基本原理不限于用于配置隐私管理逻辑的任何具体机制。

可在各种隐私类别级别下指定各种类型的客户端数据,包括例如机器型号标识符、客户端软件信息、客户端功能以及与配置于客户端设备上的每个验证设备相关的各种级别信息(例如,设备id代码、供应商id代码、设备类别id等)。可收集该信息的不同组合以确定定义不同隐私类别的上文所指定的百分比。

图13示出了用于使用所定义隐私类别向请求方提供信息的一系列交易。在1301处,服务器130生成包含客户端设备信息查询的通知。在1302处,将查询发送至客户端并最终由安全交易服务101接收。在1303处,安全交易服务的隐私管理逻辑确定响应的隐私类别并收集必要信息。如上所述,可定义n个不同的隐私类别级别并且安全交易服务101可选择遵从请求方的要求同时泄露有关客户端的尽可能少信息的那一个隐私类别级别。在1304处,将所收集信息发送至服务器130,并且在1305处,服务器将该信息用于与客户端的一个或多个后续交易。

用于使用交易签名实现验证框架的

系统和方法

本发明的一个实施例采用在安全交易服务器上签名的交易,以使得无需在服务器上保持任何交易状态来保持与客户端的会话。具体地讲,可将交易详情诸如交易文本发送至由服务器签名的客户端。服务器随后可通过验证签名来验证由客户端所接收的所签名交易响应为有效的。服务器无需永久地存储交易内容,该内容将针对大量客户端占用大量存储空间并且将打开拒绝对服务器的服务类型攻击的可能性。

图14中示出了本发明的一个实施例,其示出了启动与客户端100的交易的网站或其他网络服务(1401)。例如,用户可能已在网站上选择了要购买的物品并且可能准备好结算和付款。在所示例子中,网站或服务1401将交易放手给安全交易服务器1402,该安全交易服务器1402包括用于生成和验证签名(如本文所述)的签名处理逻辑1403以及用于执行客户端验证1404(例如,使用先前所述的验证技术)的验证逻辑。

在一个实施例中,从安全交易服务器1402发送至客户端100的验证请求包括随机质询诸如加密临时数(如上所述)、交易详情(例如,呈现以完成交易的特定文本)以及由签名处理逻辑1403使用私钥(仅为安全交易服务器已知)对随机质询和交易详情生成的签名。

一旦以上信息被客户端接收,用户就可接收指示,表明需要进行验证来完成交易。作为响应,用户可例如在指纹扫描仪上扫描手指、快拍图片、对麦克风讲话或执行给定交易所允许的任何其他类型的验证。在一个实施例中,一旦用户已在客户端100上成功验证,客户端就将以下内容传输回服务器:(1)随机质询和交易文本(两者先前由服务器提供给客户端),(2)证实用户成功完成验证的验证数据,和(3)签名。

安全交易服务器1402上的验证模块1404随后可确认用户已正确验证并且签名处理逻辑1403使用私钥对随机质询和交易文本重新生成签名。如果签名与客户端发送的签名匹配,则服务器可验证交易文本与初始从网站或服务1401接收的文本相同。保存存储和处理资源,因为不需要安全交易服务器1402将交易文本(或其他交易数据)永久存储在安全交易数据库120内。

示例性数据处理设备

图15为示出了可用于本发明一些实施例中的示例性客户端和服务器的框图。应当理解,虽然图15示出了计算机系统的各种组件,但其并非旨在表示将组件互连的任何具体架构或方式,因为此类细节与本发明没有密切关系。应当理解,具有更少组件或更多组件的其他计算机系统也可用于本发明。

如图15所示,数据处理系统形式的计算机系统1500包括一条或多条总线1550,其与处理系统1520、电源1525、存储器1530和非易失性存储器1540(例如,硬盘驱动器、闪存存储器、相变存储器(pcm)等)耦接。一条或多条总线1550可通过如本领域熟知的各种桥接器、控制器和/或适配器彼此连接。处理系统1520可检索来自存储器1530和/或非易失性存储器1540的一个或多个指令,并且执行指令以执行如上所述的操作。总线1550将上述组件互连在一起并且还将那些组件互连至可选对接设备1560、显示控制器和显示设备1570、输入/输出设备1580(例如,nic(网络接口卡)、光标控制(例如,鼠标、触摸屏、触摸垫)、键盘等)以及可选的一个或多个无线收发器1590(例如,蓝牙、wifi、红外等)。

图16为示出了可用于本发明一些实施例中的示例性数据处理系统的框图。例如,数据处理系统1600可为手持式计算机、个人数字助理(pda)、移动电话、便携式游戏系统、便携式媒体播放器、平板电脑或手持式计算设备,该手持式计算设备可包括移动电话、媒体播放器和/或游戏系统。又如,数据处理系统1600可为网络计算机或另一个设备内的嵌入式处理设备。

根据本发明的一个实施例,数据处理系统1600的示例性架构可用于上文所述的移动设备。数据处理系统1600包括处理系统1620,该处理系统1620可包括一个或多个微处理器和/或集成电路上的系统。处理系统1620与存储器1610、电源1625(其包括一块或多块电池)、音频输入/输出1640、显示控制器和显示设备1660、可选输入/输出1650、一个或多个输入设备1670以及一个或多个无线收发器1630耦接。应当理解,在本发明的某些实施例中,图16中未示出的附加组件也可为数据处理系统1600的一部分,并且在本发明的某些实施例中可使用少于图16所示数目的组件。此外,应当理解,图16中未示出的一条或多条总线可用于将本领域熟知的各种组件互连。

存储器1610可存储数据和/或由数据处理系统1600执行的程序。音频输入/输出1640可包括麦克风和/或扬声器以例如播放音乐和/或通过扬声器和麦克风提供电话功能。显示控制器和显示设备1660可包括图形用户界面(gui)。无线(例如rf)收发器1630(例如,wifi收发器、红外收发器、蓝牙收发器、无线蜂窝电话收发器等)可用于与其他数据处理系统进行通信。所述一个或多个输入设备1670允许用户提供对系统的输入。这些输入设备可为小键盘、键盘、触摸面板、多个触摸面板等。可选的其他输入/输出1650可为对接设备的连接器。

本发明的实施例可包括如上所述的各种步骤。步骤可以用机器可执行指令实施,所述指令使得通用或专用处理器执行某些步骤。或者,这些步骤可由包含执行步骤的硬连线逻辑的专用硬件组件执行,或由编程计算机组件和自定义硬件组件的任何组合执行。

本发明的元件也可作为用于存储机器可执行程序代码的机器可读介质提供。机器可读介质可包括但不限于软盘、光盘、cd-rom以及磁光盘、rom、ram、eprom、eeprom、磁卡或光卡或者适用于存储电子程序代码的其他类型的媒体/机器可读介质。

在前述整个描述中,为了说明的目的,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员将显而易见的是,可在没有这些具体细节中的一些的情况下来实践本发明。例如,对于本领域技术人员将显而易见的是,本文所述的功能模块和方法可实现为软件、硬件或它们的任何组合。此外,尽管在本文中在移动计算环境的上下文中描述了本发明的一些实施例,但本发明的基本原理不限于移动计算实施方式。实际上,在一些实施例中可使用任何类型的客户端或对等数据处理设备,包括例如台式或工作站计算机。因此,本发明的范围和精神应当按照所附权利要求来判定。

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