在安全上下文之间转移经认证会话的制作方法

文档序号:11960154阅读:177来源:国知局
在安全上下文之间转移经认证会话的制作方法与工艺

本申请总体涉及用于在安全上下文之间转移经认证会话的方法和装置(包括计算机程序产品)。



背景技术:

移动设备已成为供客户利用各种计算资源以便为事务和工作流的安全执行建立经认证会话的常用计算工具。通常,客户与移动设备上的原生应用交互以进行事务的部分,随后,客户期望过渡到仅由web资源经由设备上的浏览器应用而提供的附加功能。例如,大多数原生移动应用不能执行与提供经由app商店的应用下载的第三方的条款和条件冲突的某些事务(像慈善捐款),因此,原生应用需要用于安全地将会话转移到web资源以继续工作流的方法。

此外,原生应用的作者和/或提供商可能不是与对应web资源的提供商相同的实体,使得每一个实体可能需要不同的认证要求和上下文以使用相应的计算业务。此外,原生应用在移动设备上在与此移动设备上的web浏览器进程分开的沙盒化的(sandboxed)进程下执行。虽然经由web浏览器在不同实体/进程/上下文/服务提供商之间提供无缝的会话转移的技术(例如,交叉域单点登录(SSO)、安全断言标记语言(SAML))在如今是可用的,但是从原生移动应用至基于web的资源的无缝SSO过渡是具有挑战性的。



技术实现要素:

因此,需要一种用于在移动设备上的原生应用与移动设备上的浏览器应用的安全上下文之间无缝地转移经认证的会话(包括但不限于当原生应用在移动设备上将浏览器应用的启动触发为单独的沙盒化进程)的方法和系统。本文中描述的技术提供连同用于移动web应用的响应设计体验来利用SSO实践和系统的益处以创建模型,从而向用户提供从原生移动app至web上的移动优化体验的无缝的安全上下文转移。此技术还允许用户如与原生应用一起使用那样继续安全地与移动设备浏览器中相同的经认证标识进行交互,而无需再次直接登录。

此技术还使用户能够无缝地查看基于web的应用,此基于web的应用可执行在原生移动应用中不被允许的任务(例如,慈善捐款),或者在相反将显示在默认设备浏览器中的原生移动应用web视图中无法适当地运作。与中断用户以迫使用户从相同的设备多次登录相反,原生app可以无缝且高效地将经认证的会话转移至设备浏览器应用。

一方面,本发明特征为一种在安全上下文之间转移经认证会话的计算机化方法。移动计算设备经由通信网络在原生应用与服务器计算设备之间建立第一经认证会话。所述移动设备请求将所述第一经认证会话转移至所述移动设备上的浏览器应用。在请求了转移之后,所述移动设备从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符。所述移动设备使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用。所述移动设备在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书。所述移动设备使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用,并且将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

另一方面,本发明特征为一种在安全上下文之间转移经认证会话的系统。所述系统包括移动计算设备,所述移动计算设备配置成经由通信网络建立原生应用与服务器计算设备之间的第一经认证会话,并且请求将所述第一经认证会话转移至所述移动设备上的浏览器应用。所述移动设备配置成在请求了转移后,从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符。所述移动设备配置成使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用,并且在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书。所述移动设备配置成使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用,并且将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

又一方面,本发明特征为一种计算机程序产品,有形地具体化在非暂态计算机可读存储设备上,用于在安全上下文之间转移经认证会话的。所述计算机程序产品包括指令,所述指令可操作以使移动计算设备用于:经由通信网络在原生应用与服务器计算设备之间建立第一经认证会话,并且请求将所述第一经认证会话转移至所述移动设备上的浏览器应用。所述计算机程序产品包括指令,所述指令可操作以使移动计算设备用于:在请求了转移之后,从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符。所述计算机程序产品包括指令,所述指令可操作以使移动计算设备用于:使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用,并且在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书。所述计算机程序产品包括指令,所述指令可操作以使移动计算设备用于:使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用,并且将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

以上方面中的任一方面可包括以下特征中的一个或多个。在一些实施例中,所述SAML安全标识符经格式化以用于一次性使用。在一些实施例中,所述web地址指向所述第二SAML认证系统。

在一些实施例中,当在所述第二SAML认证系统处验证所述SAML安全标识符期间,所述移动设备将所述SAML安全标识符传送至所述第二SAML认证系统,并且建立至所述第一SAML认证系统的连接。所述第二SAML认证从所述第一SAML认证系统接收SAML标识,并且基于所述SAML标识,从所述第一SAML认证系统请求对SAML安全标识符的解析。所述第二SAML认证系统将接收到的SAML标识转换为与所述服务器计算设备关联的内部标识,并且基于所述内部标识生成所述认证证书。

在一些实施例中,服务器计算设备和第二SAML认证系统由相同的实体操作。在一些实施例中,所述会话转移参数包括中继参数。在一些实施例中,所述移动设备基于所述中继参数来标识由所述服务器计算设备主管的应用,并且将所述浏览器应用重定向至经标识的应用。

在一些实施例中,所述SAML安全标识符是经编码的令牌。在一些实施例中,基于由所述移动设备接收到的登录证书,在所述原生应用与所述服务器计算设备之间建立所述第一经认证会话。在一些实施例中,如果所述SAML安全标识符未被验证,则所述移动设备从所述移动设备的用户请求附加的证书。

在一些实施例中,所述移动设备基于在验证所述SAML安全标识期间由所述第二SAML认证系统生成的风险记分来从所述移动设备的用户请求附加的证书。在一些实施例中,所述会话转移参数包括移动设备的一个或多个属性,并且所述第二SAML认证系统使用所述移动设备的属性来验证SAML安全标识符。在一些实施例中,所述重定向步骤在所述浏览器应用与所述服务器计算设备之间建立第二经认证会话,并且所述原生应用和所述服务器计算设备经由所述第一经认证会话保持连接。

通过以下具体实施方式并结合所附附图(所附附图仅作为示例说明本发明的原理),本发明的其他方面和优势将变得明显。

附图说明

通过参考以下描述并结合所附附图可更好地理解上文描述的本发明的优势以及进一步的优势。附图不一定是按比例的,相反一般而言强调说明本发明的原理。

图1是用于在安全上下文之间转移经认证会话的系统的框图。

图2是用于在安全上下文之间转移经认证会话的方法的流程图。

图3是用于在安全上下文之间转移经认证会话的方法的详细流程图。

图4是用于验证SAML安全标识符以生成认证证书的方法的详细流程图。

具体实施方式

图1是用于在安全上下文之间转移经认证会话的系统100的框图。系统100包括执行原生应用103a和浏览器应用103b的移动设备102、通信网络104、SAML认证系统106a和应用服务器计算设备106b(统称106)、SAML认证系统108a和web应用服务器计算设备108b(统称108)以及数据库110.

移动设备102连接到通信网络104以与系统100中的其他组件通信,从而提供与如本文中所述的在安全上下文之间转移经认证会话的进程相关的输入并接收与之相关的输出。示例移动设备102可包括但不限于智能电话(例如,苹果)或其他移动通信设备、便携式视频游戏系统、平板计算机、互联网装置、个人计算机,等等。在一些示例中,移动设备102可安装在车辆中。移动设备102可配置为包括嵌入式数码相机装置以及存储模块(例如,闪存),所述存储模块用于保存利用相机捕捉的图片、视频或其他信息。移动设备102包括网络接口组件以使用户能够连接到通信网络104,所述通信网络104诸如,因特网、无线网络(例如,GPRS、CDMA、RF),等等。

移动设备102还包括应用软件103a、103b以使用户能够查看信息并执行与一个或多个应用服务器(例如,服务器106b、服务器108b)相关联的事务。应用软件包括原生应用103a和浏览器应用103b。

在一些实施例中,原生应用103a是在本地安装在移动设备102上并以编程代码写入的软件应用(也称为“app”),所述编程代码设计成与原生于移动设备102的操作系统交互。此类软件可以从例如商店或娱乐商店获取。在一些实施例中,浏览器应用103b是安装在移动设备102上以呈现从web应用服务器106b、108b接收到的基于web的信息(例如,以超文本标记语言(HTML)格式化的信息)且包含用于导航和/或功能执行的链接或其他命令的web浏览软件(例如,可从苹果公司获取的Safari或可从Mozilla公司获取的火狐(Firefox))。在一些实施例中,

通信网络104使系统100的其他组件能够彼此通信以执行如本文中描述的在安全上下文之间转移经认证会话的进程。网络104可以是局域网(诸如,LAN),或广域网(诸如,因特网和/或蜂窝网络)。在一些实施例中,网络104由使系统100的组件能够彼此通信的若干离散网络和/或子网(例如,至因特网的蜂窝)组成。

SAML认证系统106a是将SAML认证业务提供给移动设备102的计算设备或计算设备的集合。SAML认证系统106a可与由原生应用103a用于发送和接收信息并执行事务的应用服务器106b相关联。例如,当移动设备102的用户启动原生应用103a以连接到应用服务器106b时,原生应用103a可以首先连接到SAML认证系统106a以执行认证过程并在移动设备102与应用服务器106b之间建立安全上下文(例如,生成并认证安全证书,建立安全会话,等等)。因此,移动设备102上的原生应用103a与应用服务器106b之间的后续事务和交互可根据由SAML认证系统106a提供的认证得到保护。在一些实施例中,SAML认证系统106a和应用服务器106b也将原生应用103a提供给移动设备102的单个实体操作和/或管理。出于本文档的目的,管理/操作组件106的单个实体可被称作“标识提供商”。

类似地,SAML认证设备108a是将SAML认证服务提供给移动设备102的计算设备或计算设备的集合。SAML认证系统108a可与由浏览器应用103b用于发送和接收信息并执行事务的网络应用服务器108b相关。例如,如下文中将更详细地所解释,当移动设备102的用户执行原生应用103中依赖于由web应用服务器108b提供的应用资源的功能时,原生应用103a可将浏览器应用103b启动为单独的沙盒化进程,并且将使浏览器能够使用SAML认证系统108a进行无缝认证的某些会话转移参数提供给浏览器以在移动设备102与web应用服务器108b之间建立经认证会话的安全上下文,使得此用户可以例如接收由服务器108b提供的附加信息或继续在原生应用103a中发起的事务工作流,而不需要此用户提供单独的认证证书来使用服务器108b。这还被称作单点登录(SSO)过程,因为用户仅需要提供认证证书一次(例如,当首次启动原生应用103a时)。

在一些实施例中,SAML认证系统108a和web应用服务器108b由可与将原生应用103a提供给移动设备102的实体(上述)不同的实体来操作和/或管理,这意味着这些实体对于用户可具有不同的标识/认证证书/过程。例如,提供原生应用103a并管理组件106的实体可以是慈善捐款组织,而管理组件108的实体可以是金融机构。

继续本示例,由于由管理储存库(原生应用从此储存库被下载到移动设备102)的第三方公司强加于原生应用上限制,原生应用103a可能不能够将应用103a某些事务或工作流(例如,慈善捐赠款)包括在应用103a自身内。因此,可能期望调用浏览器应用103b并无缝地将经认证会话转移到浏览器应用,使得用户可以继续进行由web应用服务器108b提供的、在原生应用103a中不支持的所期望的事务或工作流。出于本文档的目的,管理/操作组件108的实体可被弥作“服务提供商”。

当然,应当意识到,单个实体是“标识提供商”和“服务提供商”两者,也就是说,此实体可以操作和/或管理组件106和组件108两者。例如,组件106和108可由提供用于慈善捐款账户管理的app 103a且还提供用于实际上执行连接到此app的慈善捐款事务的web服务(经由服务器108b)的金融机构操作。

此外,虽然图1中将相应的SAML认证系统106a、108a和相应的服务器106b、108b示出为位于分离的计算设备上,但是在一些实施例中,相应的SAML认证系统106a、108a以及相应的服务器106b、108b的功能可位于单个计算设备上。应当意识到,可使用以各种架构、资源和配置布置的任何数量的计算设备(例如,群集计算、虚拟计算、云计算),而不背离本发明的范围。

系统100还包括数据库110。数据库110耦合到系统100的其他组件106、108,并且存储由组件106、108用于执行如本文中所述的在安全上下文之间转移经认证会话的进程的数据。数据库110可与各种组件106、108在其上操作的计算设备中的一个或多个计算设备集成在一起,或可位于单独的计算设备上。可与系统100一起使用的示例数据库是可从加利福尼亚的雷德伍德城的Oracle公司获取的MySQLTM

图2是用于使用图1的系统100在安全上下文之间转移经认证会话的方法200的流程图。移动计算设备(例如,移动设备102)经由通信网络104而在原生应用103a与服务器计算设备(例如,应用服务器106b)之间建立(202)第一经认证会话。移动设备102请求(204)将第一经认证会话转移到此移动设备102上的浏览器应用103b。移动设备102在请求了此转移后,从第一安全标记认证语言(SAML)认证系统106a接收(206)会话转移参数。会话转移参数包括web地址和SAML安全标识符。

移动设备102使用会话转移参数将浏览器应用103b定向(208)至第二SAML认证系统108a以初始化浏览器应用。移动设备102在第二SAML认证系统108a处验证(210)SAML安全标识符以生成用于移动设备102的认证证书。移动设备102使用所生成的认证证书向服务器计算设备(例如,web应用服务器108b)认证(212)此浏览器应用103b。移动设备102将浏览器应用103b重新定向(214)至服务器计算设备(例如,web应用服务器108b)以完成第一经认证会话的转移。

现在将参考图3和图4更详细地描述图2的方法200的实施例。图3是用于在安全上下文之间转移经认证会话的方法300的详细流程图。移动设备102的用户启动(302)原生应用103a,并且将认证证书(例如,用户名、密码)提供给应用103a。在一些实施例中,移动设备102可自动向应用103a认证此用户,而不需要来自此用户的任何输入。原生应用103a连接到配置为提供用于原生应用103a的信息和资源的应用服务器106b,并且建立(304)与应用服务器106b之间的经认证会话。例如,原生应用103a将认证证书供应至应用服务器106b,此应用服务器106b验证此证书(例如,对照存储在数据库110中的用户简档),并且向原生应用103a返回证书已经通过认证且用户经授权来使用原生应用103a的通知。

如先前所述,用户在经认证后可使用原生应用103a的各种功能。例如,如果应用是慈善捐款账户管理应用,则用户可回顾他的捐款账户余额、近期事务、关于新慈善项目的信息,等等。原生应用103a可以经由经认证的会话来与应用服务器106b通信以发送和接收与这些功能相关的信息。

然而,在一些情况下,由于例如由第三方施加于应用的限制,原生应用103a不配置为或不能进行某些事务或工作流(例如,执行慈善捐款事务),所述第三方诸如,储存库的运营商,原生应用103a从此储存库中被下载并被安装在移动设备102上。如上文所述,像苹果公司这样的公司对由它们的App商店提供的app的功能施加了限制,诸如,不允许app在应用本身内原生地执行捐款事务。因此,原生应用103a必须使用web浏览器或类似功能以进行捐款交易。并且,通常提供用于执行捐款事务的服务的实体(即,管理慈善捐款账户的金融机构)与提供原生应用功能(即,慈善)的实体不同。因此,为了向用户提供无缝的体验,期望执行单点登录过程以将经认证会话转移到移动设备102的浏览器上以利用另一实体的资源,全都不需要来自用户的附加的认证证书。

记住此框架并往回参考图3,移动设备102的用户发起(306)原生应用103中必须使用此移动设备102的浏览器功能的功能(例如,从慈善捐款账户将资金捐给慈善机构的请求)以连接到由web应用服务器108b提供的资源。例如,用户点击原生app 103a中的按钮以向特定的慈善机构捐款。

原生应用103a启动安装在移动设备102上的web浏览器软件并同时从与应用服务器106b相关联的第一SAML认证系统106a请求(308)SAML安全标识符(例如,包括SAML断言的SAML伪像)。应当意识到,第一SAML认证系统106a将.此伪像传送至原生应用103a以限制所传送参数的尺寸,并且保护SAML断言免于在移动设备102上暴露。此外,在一些实施例中,SAML伪像经格式化以用于一次性使用。

原生应用103a从第一SAML认证系统106a接收(310)SAML伪像。原生应用103a还从第一SAML认证系统106a接收web地址(例如,统一资源定位符(URL)),所述web地址引用与由用户在原生app 103a中选择的所期望功能相关联的web资源(例如,web应用服务器108b)。例如,URL可以与金融机构的SAML认证系统(或其他web服务)相关联,所述金融机构的SAML认证系统提供在原生app中直接被禁止的慈善捐款事务功能。由URL引用的网络资源还被称作断言客户。在一些实施例中,原生应用103a还从第一SAML认证系统106a接收作为URL的部分的中继状态参数(例如,深链接),其中中继状态参数标识web应用服务器108b中浏览器最终应当被定向到以执行所期望的事务或工作流的特定应用或资源。

浏览器应用103b从原生应用103a接收(312)SAML伪像以及web地址(例如URL以及任选的中继状态参数)。浏览器103b使用此web地址以连接(314)到与web应用服务器108b相关联的第二SAML认证系统108a。例如,第二SAML认证系统108a可以与金融机构相关联,此金融机构提供在原生应用中直接被禁止的慈善捐款事务功能,并且在一些情况下,此金融机构是与提供原生应用103a的实体不同的实体。在一些实施例中,第二SAML认证系统108a可以调用关于移动设备102的附加的认证工作流。示例包括使用令牌或基于知晓的认证(KBA)的问询(challenge)。

第二SAML认证系统108a直接通过经签名的SAMLArtifactResolution(伪像解析)调用,通过例如对照第一SAML认证系统106a来解析SAML伪像以验证(316)SAML伪像。第二SAML认证系统108a处理认证断言,并且将从第一SAML认证系统106a接收到的SAML标识转换为与web应用服务器108b和/或所期望的web资源相关的内部标识。例如,如果移动设备102的用户维护与操作组件108的金融机构之间的慈善捐款账户,则此金融机构对于此用户可以具有其自身的内部标识(例如,用户账户、用户简档、用户ID),此内部标识与由操作组件106的实体维护的标识不同。因此,将SAML标识转换为内部标识对于例如金融机构的部分的安全、标识、顺应性和处理效率目的可能是有益的。

第二SAML认证系统108a基于此内部标识,生成(318)与用于经由浏览器103b执行所期望事务的web应用服务器108b和/或web资源相关联的认证证书。第二SAML认证系统108a随后将浏览器应用103b重定向(320)至网络web服务器108b至合适的资源或应用,以继续所期望的事务(例如,慈善捐款事务)。此刻,在移动设备102上的浏览器应用103b与web应用服务器108b之间无缝地建立了经认证会话。

如上文所述,第二SAML认证系统108a可使用中继状态参数以将浏览器应用103a重定向至web应用服务器108b上的经特定标识的资源。在一些实施例中,一旦在移动设备102上的浏览器应用103b与web应用服务器108b之间建立了经认证的会话,web应用服务器108b可要求移动设备102和/或移动设备的用户执行附加的认证工作流(例如,如果用户呈现高风险记分,则要求KBA;令牌问询)。

并且,应当意识到,虽然描述以上实施例以示出将原生应用103a与服务器106b之间的经认证的会话转移到浏览器应用103b与服务器108b之间,但是在一些实施例中,本文中描述的方法和系统在浏览器应用103b与服务器108b之间建立第二经认证的会话,同时维持原生应用103a与服务器106b之间的第一经认证会话。此外,在一些实施例中,应用服务器106b和web应用服务器108b可位于将资源提供给原生应用103a和浏览器应用103b两者的同一个服务器计算设备上。

图4是用于验证SAML安全标识符(例如,SAML伪像)以生成认证证书的方法400的详细流程图。如上文中参照图3所述,第二SAML认证系统108a验证SAML伪像。移动设备102将SAML伪像发送至第二SAML认证系统108a,并且此第二SAML认证系统建立(404)至例如由标识提供商操作的第一SAML认证系统的连接。第二SAML认证系统108a基于SAML伪像,从第一SAML认证系统106a接收(406)SAML标识。第二SAML认证系统108a例如经由经签名的SAML ArtifactResolution调用、从第一SAML认证系统106a请求(408)对SAML伪像的解析,并且在由第一SAML认证系统106a进行的解析之后,第二系统108a将SAML标识转换(410)为例如用于组件108的操作者的内部标识。第二SAML认证系统108b基于内部标识生成(412)认证证书,其中认证证书用于向用户期望接入的web应用服务器108b/web资源认证此用户。

示例1:一种在安全上下文之间转移经认证会话的计算机化方法,所述方法包括:在移动计算设备上经由通信网络在原生应用与服务器计算设备之间建立第一经认证会话;由所述移动设备请求将所述第一经认证会话转移至所述移动设备上的浏览器应用;在请求了转移之后,由所述移动设备从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符;由所述移动设备使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用;由所述移动设备在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书;由所述移动设备使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用;以及由所述移动设备将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

示例2:示例1所述的方法,其中所述SAML安全标识符经格式化以用于一次性使用。

示例3:示例1所述的方法,其中所述网络地址指向所述第二SAML认证系统。

示例4:示例1所述的方法,其中在所述第二SAML认证系统处验证所述SAML安全标识符的步骤包括:由所述移动设备将所述SAML安全标识符传送至所述第二SAML认证系统;由所述第二SAML认证系统建立至所述第一SAML认证系统的连接;由所述第二SAML认证系统从所述第一SAML认证系统接收SAML标识;由所述第二SAML认证系统基于所述SAML标识从所述第一SAML认证系统请求对SAML安全标识符的解析;由所述第二SAML认证系统将接收到的SAML标识转换为与所述服务器计算设备相关联的内部标识;以及由所述第二SAML认证系统基于所述内部标识生成所述认证证书。

示例5:示例1所述的方法,其中所述服务器计算设备和所述第二SAML认证系统由相同的实体操作。

示例6:示例1所述的方法,其中所述会话转移参数包括中继参数。

示例7:示例6的所述的方法,其中所述重定向步骤包括:基于所述中继参数来标识由所述服务器计算设备主管的应用;以及将所述浏览器应用重定向至所标识的应用。

示例8:示例1所述的方法,其中所述SAML安全标识符是经编码的令牌。

示例9:示例1所述的方法,其中基于由所述移动设备接收的登录证书,在所述原生应用与所述服务器计算设备之间建立所述第一经认证会话。

示例10:示例1所述的方法,进一步包括:如果所述SAML安全标识符未被验证,则由所述移动设备从所述移动设备的用户请求附加的证书。

示例11:示例1所述的方法,进一步包括:由所述移动设备基于在所述SAML安全标识符的验证期间由所述第二SAML认证系统生成的风险记分从所述移动设备的用户请求附加的证书。

示例12:示例1所述的方法,其中所述会话转移参数包括所述移动设备的一个或多个属性,并且所述第二SAML认证系统使用所述移动设备的所述属性来验证所述SAML安全标识符。

示例13:示例1所述的方法,其中所述重定向步骤在所述浏览器应用与所述服务器计算设备之间建立第二经认证会话,并且所述原生应用和所述服务器计算设备经由所述第一经认证会话保持连接。

示例14:一种在安全上下文之间转移经认证会话的系统,所述系统包括移动计算设备,所述移动计算设备配置成用于:经由通信网络在原生应用与服务器计算设备之间建立第一经认证会话;请求将所述第一经认证会话转移至所述移动设备上的浏览器应用;在请求了转移之后,从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符;使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用;在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书;使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用;以及将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

示例15:示例14所述的系统,其中所述SAML安全标识符经格式化以用于一次性使用。

示例16:示例14所述的系统,其中所述网络地址指向所述第二SAML认证系统。

示例17:示例14所述的系统,对于在所述第二SAML认证系统处验证所述SAML安全标识符的步骤,所述移动设备进一步配置成用于:将所述SAML安全标识符传送至所述第二SAML认证系统,并且所述第二SAML认证系统配置成用于:建立至所述第一SAML认证系统的连接;从所述第一SAML认证系统接收SAML标识;基于所述SAML标识从所述第一SAML认证系统请求对SAML安全标识符的解析;将接收到的SAML标识转换为与所述服务器计算设备相关联的内部标识;以及基于所述内部标识生成所述认证证书。

示例18:示例14所述的系统,其中所述服务器计算设备和所述第二SAML认证系统由相同的实体操作。

示例19:示例14所述的系统,其中所述会话转移参数包括中继参数。

示例20:示例19所述的系统,对于所述重定向步骤,所述移动设备进一步配置成用于:基于所述中继参数标识由所述服务器计算设备主管的应用;以及将所述浏览器应用重定向至所标识的应用。

示例21:示例14所述的系统,其中所述SAML安全标识符是经编码的令牌。

示例22:示例14所述的系统,其中基于由所述移动设备接收的登录证书,在所述原生应用与所述服务器计算设备之间建立所述第一经认证会话。

示例23:示例14所述的系统,其中所述移动设备进一步配置成用于:如果所述SAML安全标识符未被验证,则从移动设备的用户请求附加的证书。

示例24:示例14所述的系统,其中所述移动设备进一步配置成用于:基于在所述SAML安全标识符的验证期间由所述第二SAML认证系统生成的风险记分从所述移动设备的用户请求附加的证书。

示例25:示例14所述的系统,其中所述会话转移参数包括所述移动设备的一个或多个属性,并且所述第二SAML认证系统使用所述移动设备的所述属性来验证所述SAML安全标识符。

示例26:示例14所述的系统,其中所述重定向步骤在所述浏览器应用与所述服务器计算设备之间建立第二经认证会话,并且所述原生应用和所述服务器计算设备经由所述第一经认证会话保持连接。

示例27:一种计算机程序产品,有形地具体化在非暂态计算机可读存储设备上,用于在安全上下文之间转移经认证会话,所述计算机程序产品包括指令,所述指令可操作以使移动计算设备:经由通信网络在原生应用与服务器计算设备之间建立第一经认证会话;请求将所述第一经认证会话转移至所述移动设备上的浏览器应用;在请求了转移之后,从与所述第一经认证会话相关联的第一安全断言标记语言(SAML)认证系统接收会话转移参数,所述会话转移参数包括web地址和SAML安全标识符;使用所述会话转移参数将所述浏览器应用定向至第二SAML认证系统,以便初始化所述浏览器应用;在所述第二SAML认证系统处验证所述SAML安全标识符以生成用于所述移动设备的认证证书;使用所生成的认证证书向所述服务器计算设备认证所述浏览器应用;以及将所述浏览器应用重定向至所述服务器计算设备以完成所述第一经认证会话的转移。

上述技术可在数字和/或模拟电子电路、或在计算机硬件、固件、软件或它们的组合中实现。实现方式可以作为计算机程序产品,即,有形地具体化在机器可读存储设备中的计算机程序,用于由数据处理装置(例如,可编程处理器、计算机和/或多个计算机)执行或用于控制数据处理装置的操作。计算机程序能以任何形式的计算机或编程语言(包括源代码、编译码、翻译码和/或机器码)写入,并且此计算机程序能以任何形式部署,包括部署为单机程序或部署为子例程、元件或适于在计算环境中使用的单元。计算机程序可部署为在一台计算机上执行或在一个或多个站处的多台计算机上执行。计算机程序可部署在云计算环境(例如,)中。

方法步骤可由执行用于执行本发明的功能的计算机程序的一个或多个处理器通过对输入数据进行操作和/或生成输出数据来执行。方法步骤还可以由下列专用逻辑执行,或装置可实现为专用逻辑,所述专用逻辑例如,FPGA(现场可编程门阵列)、FPAA(现场可编程模拟阵列)、CPLD(复杂可编程逻辑器件)、PSoC(片上可编程系统)、ASIP(专用指令集处理器)或ASIC(专用集成电路),等等。子例程可以指所存储的计算机程序和/或处理器的多个部分,和/或实现一个或多个功能的专用电路。

作为示例,适于执行计算机程序的处理器包括专门以可执行以执行本文中描述的方法的指令编程的专用微处理器以及任何种类的数字或模拟计算机中的任何一个或多个。一般地,处理器从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和/或数据的一个或多个存储器设备。存储器设备(诸如,高速缓存)可用于暂时地存储数据。存储器设备还可用于长期的数据存储。一般地,计算机还包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或操作地耦合至所述一个或多个大容量存储设备,以便从所述大容量存储设备接收数据或向所述大容量存储设备传送数据或既从所述大容量存储设备接收数据又向所述大容量存储设备传送数据。计算机还可以操作地耦合至通信网络以从所述网络接收指令和/或数据,和/或向所述网络传送指令和/或数据。适于具体化计算机程序指令和数据的计算机可读存储介质包括所有形式的易失性和非易失性存储器,作为示例,包括半导体存储设备例如,DRAM、SRAM、EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移除盘;磁光盘;光盘,例如,CD、DVD、HD-DBD和蓝光盘。处理器和存储器可以由专用逻辑电路补充和/或可合并在专用逻辑电路中。

为了提供与用户的交互,上述技术可以实现在计算设备上,所述计算设备与用于向用户显示信息的显示设备以及用户可通过其向计算机提供输入(例如,与用户接口元件交互)的键盘和指点设备通信,所述显示设备例如,CRT(阴极射线管)、等离子、或LCD(液晶显示)监视器、移动设备显示器或屏幕、全息设备和/或投影仪,所述指点设备例如,鼠标、轨迹球、触摸板或运动传感器。也可使用其他种类的设备以提供与用户的交互;例如,提供给用户的反馈可以是任何形式的知觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能以何形式接收,包括听觉、言语和/或触觉输入。

以上描述的技术可实现在包括后端组件的分布式计算系统中。此后端组件可以例如是数据服务器、中间件组件和/或应用服务器。以上描述的技术可以实现在包括前端组件的分布式计算系统中。此前端组件可以例如是客户端计算机,此客户端计算机具有图形用户界面、用户可以通过其来与示例实现方式交互的Web浏览器、和/或用于发射设备的其他图形用户界面。以上描述的技术可以实现在包括此类后端、中间件或前端组件的任意组合的分布式计算系统中。

计算系统的多个组件可以由传输介质互连,所述传输介质可包括任何形式或介质的数字或模拟数据通信(例如,通信网络)。传输介质可包括按任何配置的一个或多个基于分组的网络和/或一个或多个基于电路的网络。基于分组的网络可包括例如,因特网、载波网际协议(IP)网(例如,局域网(LAN)、广域网(WAN)、校域网(CAN)、城域网(MAN)、家域网(HAN))、私有IP网、IP私有分支交换(IPBX)、无线网落(例如,无线电接入网(RAN)、蓝牙、近场通信(NFC)网、Wi-Fi、WiMAX、通用分组无线业务(GPRS)网、HiperLAN)和/或其他基于分组的网络。基于电路的网络可包括例如,公共交换电话网(PSTN)、旧式私有分支交换(PBX)、无线网络(例如,RAN、码分多址接入(CDMA)网络、时分多址接入(TDMA)网络、全球移动通信系统(GSM)网络)和/或其他基于电路的网络。

传输介质上的信息转移可基于一个或多个通信协议。通信协议可包括例如,以太网协议、网际协议(IP)、IP承载语音(VOIP)、对等(P2P)协议、超文本传输协议(HTTP)、会话发起协议(SIP)、H.323、介质网关控制协议(MGCP)、信令系统#7(SS7)、全球移动通信系统(GSM)协议、一键通(PTT)协议、蜂窝承载一键通(POC)协议、通用移动电信系统(UMTS)、3GPP长期演进(LTE)和/或其他通信协议。

计算系统设备可包括例如,计算机、具有浏览器设备的计算机、电话、IP电话、移动设备(例如,蜂窝电话、个人数字助理(PDA)设备、智能电话、平板、膝上型计算机、电子邮件设备)和/或其他通信设备。浏览器设备包括例如,具有万维网浏览器(例如,来自谷歌公司的ChromeTM、来自微软公司的和/或可从Mozilla公司获取的火狐)的计算机(例如,台式计算机和/或膝上型计算机)。移动计算设备包括例如来自Research in Motion的来自苹果公司的和/或基于AndroidTM的设备。IP电话包括例如可从思科系统公司获取的思科统一IP电话7985G和/或统一无线电话7920。

“包括”、“包含”和/或每一者复数形式是开放式的,并且包括列出的部分,并且可包括未列出的部分。“和/或”是开放式的,并且包括一个或多个列出的部分以及列出部分的组合。

本领域技术人员将实现可具体化在其他特定形式中的主题,而不背离其精神或实质特性。因此,认为前述实施例在所有方面都是说明性的而不是限制本文所述的主题。

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