首页 / 专利库 / 人工智能 / 翻译管理系统 / 混合认证系统和方法

混合认证系统和方法

阅读:513发布:2020-05-08

专利汇可以提供混合认证系统和方法专利检索,专利查询,专利分析的服务。并且公开了使得用户能够在基于 云 的服务和驻地系统之间无缝地登录的混合认证系统和方法。基于云的认证服务从用户接收登录证书,并且将认证委派给驻地认证服务代理。登录证书可以被基于云的认证服务传递给驻地认证服务代理,例如,在认证头中作为 访问 令牌。访问令牌可以是JavaScript对象标记(JSON)Web令牌(JWT)令牌,该JWT令牌通过使用JSON Web签名被数字签名。一些 实施例 利用隧道连接,基于云的认证服务通过所述隧道连接与驻地认证服务代理进行通信。一些实施例利用驻地身份管理系统进行用户管理和认证。以这种方式,不需要基于云的系统来单独地维护和管理用户身份管理系统和/或必须与驻地身份管理系统同步。,下面是混合认证系统和方法专利的具体信息内容。

1.一种用于通过平台向驻地系统认证用户的方法,包括:
通过在用户装置上运行的浏览器中显示的登录页面从用户接收登录证书,所述接收由基于云的认证服务执行,所述基于云的认证服务在云计算环境中操作的第一计算机上运行;
通过隧道连接调用驻地认证服务,所述驻地认证服务在企业计算环境中操作的第二计算机上运行,所述调用由所述基于云的认证服务执行,所述调用包括通过所述隧道连接将认证请求转发给所述驻地认证服务,所述认证请求包含用户的登录证书,所述驻地认证服务使用用户的登录证书来获得针对用户的用户配置文件;
通过所述隧道连接从所述驻地认证服务接收针对用户的用户配置文件;
由所述基于云的认证服务使用所述用户配置文件来产生认证代码;
将认证代码传送给在用户装置上运行的浏览器,浏览器将由所述基于云的认证服务产生的认证代码转发给在浏览器内运行的基于云的应用;以及
响应于来自所述基于云的应用的请求,通过所述隧道连接将访问令牌传递给所述驻地认证服务,来自所述基于云的应用的请求包含由所述基于云的认证服务产生的认证代码,所述传递由所述基于云的认证服务执行,所述驻地认证服务验证访问令牌并且向驻地内容服务器认证用户。
2.根据权利要求1所述的方法,其中,所述隧道连接由在云计算环境中操作的隧道服务器和在企业计算环境中操作的隧道代理提供。
3.根据权利要求1所述的方法,其中,所述驻地认证服务是充当在云计算环境中操作的所述基于云的认证服务的代理的Web服务。
4.根据权利要求1所述的方法,其中,所述驻地认证服务能够操作来从驻地身份管理系统获得针对用户的用户配置文件。
5.根据权利要求1所述的方法,其中,所述访问令牌通过所述隧道连接在认证头中被传递给所述驻地认证服务。
6.根据权利要求1所述的方法,其中,所述驻地认证服务使用驻地用户认证来认证用户。
7.根据权利要求1所述的方法,其中,所述访问令牌是JavaScript对象标记(JSON)Web令牌(JWT)令牌,JWT令牌通过使用JSON Web签名被数字签名。
8.一种用于通过云平台向驻地系统认证用户的系统,包括:
处理器;
非暂时性计算机可读介质;以及
能够由所述处理器翻译以执行如下操作的存储指令:
通过在用户装置上运行的浏览器中显示的登录页面从用户接收登录证书;
通过隧道连接调用驻地认证服务,所述驻地认证服务在企业计算环境中操作的计算机上运行,所述调用包括通过所述隧道连接将认证请求转发给所述驻地认证服务,所述认证请求包含用户的登录证书,所述驻地认证服务使用用户的登录证书来获得针对用户的用户配置文件;
通过所述隧道连接从所述驻地认证服务接收针对用户的用户配置文件;
使用所述用户配置文件来产生认证代码;
将认证代码传送给在用户装置上运行的浏览器,浏览器将由基于云的认证服务产生的认证代码转发给在浏览器内运行的基于云的应用;以及
响应于来自所述基于云的应用的请求,通过所述隧道连接将访问令牌传递给所述驻地认证服务,来自所述基于云的应用的请求包含由所述基于云的认证服务产生的认证代码,所述驻地认证服务验证访问令牌并且向驻地内容服务器认证用户。
9.根据权利要求8所述的系统,其中,所述隧道连接由在云计算环境中操作的隧道服务器和在企业计算环境中操作的隧道代理提供。
10.根据权利要求8所述的系统,其中,所述驻地认证服务是充当在云计算环境中操作的基于云的认证服务的代理的Web服务。
11.根据权利要求8所述的系统,其中,所述驻地认证服务能够操作来从驻地身份管理系统获得针对用户的用户配置文件。
12.根据权利要求8所述的系统,其中,所述访问令牌通过所述隧道连接在认证头中被传递给所述驻地认证服务。
13.根据权利要求8所述的系统,其中,所述驻地认证服务使用驻地用户认证来认证用户。
14.根据权利要求8所述的系统,其中,所述访问令牌是JavaScript对象标记(JSON)Web令牌(JWT)令牌,JWT令牌通过使用JSON Web签名被数字签名。
15.一种用于通过云平台向驻地系统认证用户的计算机程序产品,所述计算机程序产品包括能够由处理器翻译以执行如下操作的指令:
通过在用户装置上运行的浏览器中显示的登录页面从用户接收登录证书;
通过隧道连接调用驻地认证服务,所述驻地认证服务在企业计算环境中操作的计算机上运行,所述调用包括通过所述隧道连接将认证请求转发给所述驻地认证服务,所述认证请求包含用户的登录证书,所述驻地认证服务使用用户的登录证书来获得针对用户的用户配置文件;
通过所述隧道连接从所述驻地认证服务接收针对用户的用户配置文件;
使用所述用户配置文件来产生认证代码;
将认证代码传送给在用户装置上运行的浏览器,浏览器将由基于云的认证服务产生的认证代码转发给在浏览器内运行的基于云的应用;以及
响应于来自所述基于云的应用的请求,通过所述隧道连接将访问令牌传递给所述驻地认证服务,来自所述基于云的应用的请求包含由所述基于云的认证服务产生的认证代码,所述驻地认证服务验证访问令牌并且向驻地内容服务器认证用户。
16.根据权利要求15所述的计算机程序产品,其中,所述隧道连接由在云计算环境中操作的隧道服务器和在企业计算环境中操作的隧道代理提供。
17.根据权利要求15所述的计算机程序产品,其中,所述驻地认证服务是充当在云计算环境中操作的基于云的认证服务的代理的Web服务。
18.根据权利要求15所述的计算机程序产品,其中,所述驻地认证服务能够操作来从驻地身份管理系统获得针对用户的用户配置文件。
19.根据权利要求15所述的计算机程序产品,其中,所述访问令牌通过所述隧道连接在认证头中被传递给所述驻地认证服务。
20.根据权利要求15所述的计算机程序产品,其中,所述驻地认证服务使用驻地用户认证来认证用户。

说明书全文

混合认证系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请要求2017年6月30日提交的、标题为“HYBRID AUTHENTICATION SYSTEMS AND METHODS”的美国临时申请No.62/527,213在35U.S.C§119(e)下的优先权,该申请出于所有目的整个地通过引用并入本文。

技术领域

[0003] 本公开总体上涉及信息技术领域。更具体地说,本公开涉及用于用户认证的系统和技术。甚至更具体地说,本公开涉及用于混合用户认证的系统和方法,混合用户认证使得用户能够通过在公共网络中操作的基于的应用无缝地访问在私有网络中操作的驻地系统(on-premises system),而不需要多个单独的认证处理。

背景技术

[0004] 用户通常会利用基于互联网的云计算服务,这些服务根据需要向计算机和其他装置提供共享的计算机处理资源和数据。云计算和存储解决方案为用户和企业提供存储和处理他们的数据的各种能,这些数据可以远离用户安置。云计算依赖于共享资源来实现一致性和规模经济。相同的用户可以同时利用在一个人或一个组织的房屋的计算机上而不是在远处的设施(诸如服务器群或云)处、使用软件安装和运行的驻地软件(有时被缩写为“on-prem”或“on-premise”)。有时,可能希望的是将基于云的服务(和应用)与驻地系统整合。在一些例子中,“on-prem”软件也远离用户,例如,在客户房屋处。
[0005] 这样的例子呈现了各种问题和挑战。例如,基于云的服务和应用可能需要与其他驻地系统安全地整合。一个挑战是,将基于云的服务(和应用)与驻地系统整合可能需要共同的用户身份。
[0006] 在传统的分布式计算系统中,没有共同的认证机制。结果,为了访问托管在公共的云计算环境中的基于云的服务和访问在私有的企业计算环境中操作的驻地系统,用户通常具有单独的证书。用户通过单独的认证处理、使用不同的证书登录到不同的基于云的系统和驻地系统中。此外,为了允许任何外部装置(例如,远程工作的用户)或应用(例如,基于云的服务)访问驻地系统,驻地系统的提供商或运营商必须改变它们的网络配置并且通过防火墙打开端口,以允许外部装置或应用向驻地系统认证它的用户。发明内容
[0007] 目前,在基于云的服务和驻地系统之间没有安全的细粒度整合。因此,本发明的目的是提供对于上述问题和挑战的解决方案。
[0008] 在本文中所公开的实施例中,该目的可以通过提供使得用户能够在基于云的服务和驻地系统之间无缝地登录的混合认证系统和方法来实现。在一些实施例中,提供了用于为用户在驻地系统与基于云的服务和应用之间提供无缝的单一登录(SSO)的机制。一些实施例利用驻地身份管理系统来进行用户管理和认证。在一些实施例中,提供了用于可以与各种用户身份系统或协议一起工作的身份协议系统的机制。这样,基于云的系统不需要单独地维护和管理用户身份管理系统和/或必须与驻地身份管理系统同步。
[0009] 一些实施例包括用于为可消耗物(例如,调用方法)提供防火墙限制的机制,防火墙限制使用安全的隧穿能力来执行驻地用户认证。一些实施例包括用于在驻地身份和云平台之间提供无缝用户调配的机制。在一些实施例中,提供了用于启用可共享的用户群的机制。
[0010] 在一些实施例中,一种在网络上认证用户的方法可以包括,响应于用户提供登录证书,在云计算环境或公共网络中操作的基于云的系统上认证用户。所述方法可以进一步包括,响应于用户在基于云的系统上被认证,调用基于云的系统的认证服务,并且将认证请求转发给在企业计算环境或私有网络中操作的驻地系统。驻地系统的认证服务可以认证用户,并且将用户证书返回给基于云的系统的认证服务。基于云的系统的认证服务然后可以产生用于授权用户访问驻地系统的认证代码。
[0011] 实施例包括一种包括处理器和非暂时性计算机可读存储介质的系统,所述非暂时性计算机可读存储介质存储可被处理器翻译以执行基本上如本文中所描述的方法的计算机指令。另一个实施例包括具有非暂时性计算机可读存储介质的计算机程序产品,所述非暂时性计算机可读存储介质存储可被处理器翻译以执行基本上如本文中所描述的方法的计算机指令。许多其他的实施例也是可能的。
[0012] 本公开的这些及其他方面在结合以下描述和附图考虑时将被更好地领会和理解。然而,应理解,以下描述虽然指示了本公开的各种实施例及其许多特定的细节,但是,其是作为例示说明而非限制给出的。在本公开的范围内可以在不脱离本公开的精神的情况下进行许多替换、修改、添加和/或重排,并且本公开包括所有的这样的替换、修改、添加和/或重排。

附图说明

[0013] 附随本说明书并且形成本说明的一部分的附图包括在内是为了描绘本发明的某些方面。本发明和通过本发明提供的系统的组件和操作的更清楚的印象通过参照附图中例示说明的示例性、因此非限制性的实施例,将变得更容易明白,在附图中,相同的标号指定相同的组件。注意,附图中例示说明的特征不一定是按比例绘制的。
[0014] 图1描绘根据一些实施例的混合认证部署拓扑结构的一个例子的框图
[0015] 图2描绘根据一些实施例的混合认证系统的一个例子的框图。
[0016] 图3描绘根据一些实施例的使用隧穿协议的混合认证系统的一个例子的框图。
[0017] 图4描绘根据一些实施例的混合认证系统的另一个例子的框图。
[0018] 图5描绘例示说明根据一些实施例的图3和图4所示的认证服务代理的操作的框图。
[0019] 图6-图8描绘根据一些实施例的示出示例性实现的混合认证流程序列图。
[0020] 图9-图10描绘根据一些实施例的混合认证系统的用户界面的图示。

具体实施方式

[0021] 参照附图中例示说明的并且在以下描述中详述的非限制性实施例来更充分地说明本发明及其各种特征和有利的细节。众所周知的原材料、处理技术、组件和设备的描述被省略以便不会不必要地详细地模糊本发明。然而,应理解,详述的描述和特定的例子虽然指示了本发明的一些实施例,但是仅仅是作为例示说明而非限制给出的。基本的发明构思的精神和/或范围内的各种替换、修改、添加和/或重排对于本领域技术人员来说,从本公开将变得清晰。
[0022] 如上所述,在一些实施例中,混合认证系统和方法使得用户能够在基于云的服务和驻地系统之间无缝地登录。参照总部设在加拿大安大略滑卢的OpenText(开文)提供的非排他性的示例性的基于云的系统或云平台(在本文中被称为“LEAP平台”),这些实施例可以被更好地理解。LEAP平台是具有可容易消耗的表述性状态转移(REST)应用编程接口(API)的灵活的微服务架构。LEAP平台的用户可以构建基于云的内容应用来访问托管在云中的企业内容管理、存储、捕获、变换和搜索服务(在本文中被统称为内容服务)。如本领域技术人员将理解的,本发明可以与任何希望的基于云的服务或应用一起使用。
[0023] 这些实施例也可以参照OpenText提供的非排他性的示例性的驻地系统(在本文中被称为 或DCTM)来更好地理解。DCTM是为所有类型的内容提供管理能力的企业内容管理(ECM)平台。DCTM包括存储库,在该存储库中,内容在遵守规则和统一的环境下被安全地存储,即便内容可以驻留在联网环境内的多个服务器和物理存储装置上。
DCTM提供一套服务,诸如文档管理、协作、搜索、内容分类、输入管理、业务流程管理(BPM)、客户通信管理和Web内容管理。这些功能可以通过API访问,所述API包括web服务、Web分布式创作和版本控制(WebDAV)、文件传送协议(FTP)、Java、DCTM基础类(DFC)、DTM查询语言(DQL)、Web开发工具包API(WDK)、服务器消息(SMB)/公共互联网文件系统(CIFS)和内容管理互操作服务(CMIS)。技术人员理解,可以对其他驻地系统(例如,OpenText内容服务器、SAP等)实现实施例。
[0024] 总的来说,本公开提供了用于使得用户能够在基于云的系统和驻地系统之间无缝地登录的混合认证系统和方法。在上述示例性系统的上下文下,基于云的系统可能需要与驻地系统安全地整合。在这样的整合中,共同的用户身份是希望的。为此,本文中所公开的实施例可以利用驻地身份管理系统进行用户管理和认证。
[0025] 为了使得能够实现混合认证系统的一些实施例,可能需要几个项目来使得能够实现示例性混合代理使用情况。例如:
[0026] ·使现有的驻地系统或应用现代化
[0027] ·云上的用户界面(UI)(移动/web)
[0028] 在一些实施例中,这样的示例性混合认证系统可以包括几个特性,诸如:
[0029] ·由驻地用户身份管理系统管理的用户身份
[0030] ·应用逻辑或数据的大部分被部署在驻地
[0031] ·一些基于云的服务可以被使用
[0032] 为了例示说明基于云的系统可以如何与驻地系统安全地整合,在混合认证使用情况的非排他性的例子中,在基于云的系统上运行的轻量级的基于云的应用可以利用在企业的防火墙后面的企业的驻地上操作的驻地用户身份管理系统。LEAP Express可以是使用LEAP平台构建的轻量级的基于云的应用。基于云的应用可以使用LEAP平台提供的“用户偏好”和“事件存储”服务,并且应用逻辑和数据的大部分可以在驻地。在混合认证使用情况的这个例子中,基于云的应用不使用基于云的身份管理系统。相反,用户身份是在驻地DCTM存储库中管理的。如下面所说明的,这通过本文中所公开的混合认证解决方案而变为可能。
[0033] 在上述示例性系统的上下文下,可以实现对于基于云的认证服务的各种增强。例如,可通过轻量级的基于云的应用访问的内容服务可能需要用户上下文。通常,这样的用户上下文可以包含描述连接到服务器的客户端的姓名-值对。在一些实施例中,用户上下文可以包括每个客户端的唯一上下文,并且它只可以持续客户端连接到服务器那么长时间。
[0034] 作为非限制性例子,用户上下文可以使用HTTP认证头中的JavaScript对象标记(JSON)Web令牌(JWT)通过基于云的认证服务传递。JWT是定义用于在如JSON对象的各方之间安全地传输信息的紧凑且自包含的方式的开放标准。该信息可以被验证并且被信任,因为它被数字签名。当被用于认证目的时,一旦用户登录到系统中,每个后续请求就可以包括访问令牌,使得用户可以接入通过访问令牌允许的路由、服务和资源。访问令牌涉及相对较小的开销,并且可以被容易地跨不同的域使用。
[0035] 对于基于云的认证服务的增强的另一个例子可以涉及在成功认证之后由基于云的认证服务创建令牌。对于基于云的认证服务的增强的进一步的例子可以涉及使用各种认证标准将对于混合认证的支持添加到基于云的认证服务,所述各种认证标准诸如Native(原生)、安全断言标记语言(SAML)、OpenId Connect(OpenId连接)(OIDC)和混合DCTM认证。其他认证标准也可以被使用。
[0036] 当实现混合认证机制(诸如上述混合认证机制)时,可以考虑各种示例性系统约束。例如,可能优选的是,现有的驻地系统不需要被升级或更新。
[0037] 类似地,混合认证机制优选地不需要利用增强的基于云的认证服务的基于云的应用的用户在内联网或虚拟私有网(VPN)上。可能还优选的是,混合认证机制支持多个认证方案。在一些例子中,DCTM Basic(DCTM基本)和Kerberos(麻省理工学院开发的安全认证系统)/NTLM可以用作认证方案。Kerberos是使用“票据”进行工作以允许通过不安全的网络通信的节点以安全的方式互相证明它们的身份的计算机网络认证协议。NT Lan Manager(NT Lan管理器)(NTLM)是一套微软安全协议。其他驻地网络安全和认证方案也可以被使用(例如, Access Manager WebSEAL(访问管理器WebSEAL),其是可以为后端Web应用服务器资源提供单一登录的Web服务器)。优选地,这样的现有的驻地系统不需要只是为了与本文中所公开的混合认证机制一起工作就彻底地改变它们的配置。
[0038] 此外,可能希望的是,用户可以使用混合认证机制来访问基于云的应用和服务,并且这样的应用可以以标准的方式访问驻地服务(例如,由DCTM提供的内容服务)。在这样的情况下,应该不需要有效载荷中的改变。最后,混合认证机制应是安全的。
[0039] 如上所述,总的来说,在一些实施例中,混合认证系统和方法使得用户能够无缝地登录基于云的服务和驻地系统。以下是示例性实施例的更详细的描述。
[0040] 图1是混合认证部署拓扑结构的一个例子的框图。图1示出了浏览器100,浏览器100可以被终端用户用来访问云平台110提供的基于云的服务(例如,通过构建在LEAP平台上并且在浏览器100内运行的基于云的应用(未示出))。在该例子中,云平台110包括增强的基于云的认证服务114、多租户服务(MTS)116、代理服务118和用户偏好服务120。
[0041] 通过云平台110,同一个终端用户还可以访问驻地系统112。物理上,这样的驻地系统可以被安置在云平台110的客户的数据中心处。在该例子中,驻地系统112包括驻地认证服务122、存储库126和用于存储库126的REST API 124。
[0042] 在计算中,REST一般是指万维网的软件架构样式,并且包括基于超文本传送协议(HTTP)的协调的一组架构约束和性质。符合REST架构样式的Web服务或RESTful web服务提供互联网上的计算机系统之间的互操作性。更具体地说,遵守REST的Web服务允许请求系统使用通用的且预定义的一组无状态操作来访问和操纵Web资源的文本表示。其他形式的Web服务也可以被使用,诸如WSDL和SOAP。
[0043] 作为非限制性例子,存储库126可以实现DCTM存储库,REST API 124可以实现DCTM D2 REST API。DCTM D2是DCTM的高级的、直观的且可配置的以内容为中心的基于web的客户端。
[0044] 在一些实施例中,驻地认证服务122可以被部署在驻地系统112上。驻地认证服务122可以是无状态的,并且可以对存储库126实现DCTM  Basic和Kerberos认证方案。
Kerberos认证可以模拟浏览器/Kerberos客户端将做什么。
[0045] 在一些实施例中,可以在公共云非武装地区(DMZ)中实现驻地认证服务122,以使得它可以被终端用户通过云平台110访问。在一些例子中,驻地认证服务122可以是可被终端用户通过隧穿协议(下面描述)访问的。一般来说,隧穿协议允许用户访问或提供底层网络不直接支持或提供的网络服务。隧穿协议的使用使得外来协议可以在可能不支持该特定协议的网络上运行。下面提供更详细的例子。
[0046] 在图1的例子中,用户将用户装置上的浏览器100定向到网络地址(例如,通用资源定位符或URL),在该网络地址处,基于云的应用驻留在云平台110中。浏览器100被基于云的应用重定向到基于云的认证服务114。基于云的认证服务114通过浏览器100向用户显示登陆页面。用户将他们的证书(例如,唯一用户名或电子邮件地址,和密码)录入到登陆页面中,并且点击按钮来提交他们的证书。基于云的认证服务114可操作为确定混合认证是否被启用。如果是,则它调用驻地认证服务122来认证用户提供的证书。如以上所讨论的,可通过基于云的应用访问的内容服务可能需要用户上下文。在这种情况下,用户上下文可以包含描述与用户相关联的客户端装置的姓名-值对。用户上下文被基于云的认证服务114使用HTTP认证头中的令牌(例如,JWT令牌)传递给驻地认证服务122。
[0047] 图2-图5更详细地示出了云平台(在其上,基于云的应用(诸如应用214)和基于云的认证服务(诸如认证服务214)运行)和驻地系统(在其上,内容服务器(诸如内容服务器222)在企业的驻地上操作,在该企业的私有计算机网络的防火墙的后面)的上下文下的混合认证机制的例子。在图2-图5中描绘的例子中,使用他们的现有证书(例如,唯一用户名或电子邮件地址,和密码)向驻地存储库进行认证的用户(例如,操作驻地系统的企业的雇员/租户)还可以无缝地访问基于云的应用,而不必单独地登录到基于云的应用。当用户用租户特定的和/或订阅特定的上下文到访云平台时,并且如果企业/租户已经启动了混合认证(例如,由租户管理员通过如图9-图10所示的管理员界面、仪表盘等与云平台一起使用管理员账户),则基于云的认证服务可以将认证委派给驻地认证服务代理。
[0048] 驻地认证服务代理是基于云的认证服务的代理,该代理被部署在企业的驻地以使用不同的认证方案(诸如DCTM Basic、Kerberos协议等)向驻地内容服务器或存储库认证用户。这种认证设置被称为混合认证。图2-图5示出了根据一些实施例的混合认证部署布置的例子。其他混合认证部署布置也是可能的。
[0049] 图2描绘了示出用户200、云210和企业驻地212的框图。云210包括基于云的认证服务214、基于云的应用“Express”216和基于云的应用“Courier”218。“Express”和“Courier”这二者都是企业类应用。Express是为了使得企业用户不管他们在哪里、都能够快速地访问、审阅和批准企业内容而构建的。Courier是为了使得企业能够收集文件并且与客户、合作伙伴和供应商跨网络和防火墙安全地交换文件而构建的。在该例子中,“Express”和“Courier”是用户可以通过登录到他们在云210中的云账户中而访问的基于云的应用的非限制性例子。其他的基于云的应用也可以被实现。企业驻地212包括内容服务器222和REST API 220。基于云的应用216使用REST API 220与内容服务器222进行通信。REST API 220可以是上述REST API 124的实施例。DCTM存储库可以是内容服务器222的例子。
[0050] 在一些实施例中,REST API 220可以是Web服务。在一些实施例中,REST API 220被增强为接受具有承载访问令牌的HTTP授权头,所述承载访问令牌被编码为使用JSON Web签名(JWS)数字签名的JWT令牌。JWS是所提出的用于签署任意的JSON的标准,并且可以用作各种基于Web的技术(包括JWT)的基础。在认证中,当用户使用他们的证书成功地登录时,JWT令牌被返回,并且被在本地存储在本地储存器或会话储存器中。每当用户想要访问受到保护的路由或资源时,通过使用本领域技术人员已知的承载模式、在HTTP授权头中将JWT令牌传递到受保护的路由或资源。这是无状态认证机制,因为用户状态从来不被保存在服务器存储器中。服务器的受保护的路由将检查HTTP授权头中的有效的JWT令牌,如果它存在,则用户将被允许访问受保护的服务器资源。每个JWT令牌与所有的必要信息自包含在一起。
[0051] JWT令牌一般具有三个部分:头、有效载荷和签名。作为非限制性例子,JWT令牌的头可以具有识别哪个算法用于产生签名(例如,“RS256”)的头参数、识别令牌类型(例如,“JWT”)的头参数、以及用于密钥标识符(例如,“KID”)的头参数,如下所示:
[0052]
[0053] 作为非限制性例子,该JWT令牌可以包含以下有效载荷:
[0054]
[0055] 在一些实施例中,REST API 220可以从如此传递的JWT令牌(例如,本体或有效载荷)得到用户上下文。REST API 220可以从令牌提取用户身份(例如,在以上例子中,“userId”的值),并且与内容服务器222建立网络会话(例如,通过使用管理账户)。REST API 220可以得到头中的密钥标识符的认证服务公共证书,并且验证数字签名。REST API 220可以高度缓存头中的密钥标识符的认证服务公共证书。REST API 220还可以为从令牌提取的用户创建会话(例如,通过使用管理账户所支持的模拟特征),并且使用模拟的会话来进行内容服务器调用(以满足来自基于云的应用216的请求)。在这种情况下,REST API 220充当模拟登陆到基于云的应用216中并且还希望访问内容服务器222的终端用户的管理级用户。
[0056] 在一些实施例中,混合认证处理还可以包括其他步骤。例如,混合认证处理可以包括特定于云平台的用于支持混合认证的要求。支持可以通过使用例插件被添加到基于云的认证服务。对于其他的基于云的服务,类似的步骤可能是期望的。此外,终端用户通过云平台连接到的驻地存储库应支持模拟特征。
[0057] 图3-图4是混合认证系统的图解例子,一个使用隧穿(图3),一个不使用隧穿(图4)。图3示出了用户300、云310和企业驻地312。类似于上述实施例,云310包括基于云的认证服务314、基于云的应用“Express”316、基于云的应用“Courier”318和MTS服务319。企业驻地312包括REST API 320、内容服务器322、驻地认证服务代理324、以及用于活动目录或密钥分发中心(KDC)326的域服务。在密码术中,KDC是意图降低交换密钥中固有的险的密码系统的一部分。KDC通常在以下系统内操作,在这些系统内,一些用户有时可能具有使用某些服务的许可,而在其他时候可能没有该许可。在该例子中,驻地认证服务代理324被部署在企业驻地312以通过使用不同的认证方案(诸如DCTM Basic、Kerberos协议等)向企业驻地312(即,企业的驻地上的网络域)内的内容服务器322认证用户。
[0058] 图3示出了使用隧穿协议(通过在云310中操作的隧道服务器330和在企业驻地312中的防火墙后面操作的隧道代理332)来允许用户300访问企业驻地312的示例性部署选项。隧穿协议提供了底层网络(云310)可能直接支持或提供的或者可能不直接支持或提供的网络服务。在该例子中,隧道服务器330可以与基于云的认证服务314和基于云的应用316进行通信。隧道服务器330还可以与部署在企业驻地312上的隧道代理332进行通信。隧道代理
332与在企业驻地312内操作的驻地认证服务代理324和REST API 320进行通信。下面参照图6来描述示例操作。
[0059] 图4示出了用户400、云410和企业驻地412。类似于上述实施例,云410包括基于云的认证服务414、基于云的应用“Express”416、基于云的应用“Courier”418和MTS服务419。企业驻地412包括REST API 420、内容服务器422、驻地认证服务代理424和KDC 426。在该例子中,驻地认证服务代理424被部署在企业驻地412上以使用不同的认证方案(诸如DCTM Basic、Kerberos协议等)向内容服务器422认证用户。
[0060] 图4示出了不依赖于隧穿协议(即,没有隧道服务器(诸如隧道服务器330)并且没有隧道代理(诸如隧道代理332))的示例性部署选项。在该例子中,基于云的认证服务414和基于云的应用416分别与驻地认证服务代理424和REST API 420进行通信。下面参照图7来描述示例操作。
[0061] 图5描绘了例示说明驻地认证服务代理524(其在一些实施例中可以被实现为驻地认证服务代理324或驻地认证服务代理424)的操作的框图。图5示出了驻地认证服务代理524可以被配置有配置信息544和来自多个认证插件的信息546。作为非限制性例子,配置信息544可以包括以下参数:
[0062]
[0063] 在一些实施例中,驻地认证服务代理524可以是部署在企业的驻地(例如,企业驻地312、企业驻地314等)上的Web服务,并且负责使用不同的驻地认证方案(诸如DCTM Basic、Kerberos协议等)向驻地存储库或内容服务器认证用户(例如,用户300、用户400等)。
[0064] 在一些例子中,可以基于任何新的认证模块可以被插入到的可插入模型来配置驻地认证服务代理524。在一些实施例中,驻地认证服务代理524可以被开发为弹簧靴应用。在一些实施例中,驻地认证服务代理524可以被封装为独立的可运行的软件包(例如,以软件包文件格式,诸如Java档案(JAR)或Web应用档案(WAR))。在一些实施例中,驻地认证服务代理524可以暴露认证用户(例如,用户300或用户400)的端点“/login”。
[0065] 图6-图8描绘了用于上述示例性实施例的混合认证流程序列图。图6-图8所示的各种步骤被顺序地编号。图中的类似的步骤使用相同的标号。注意,为了清晰起见,每个图中的类似的步骤共享相同的编号。因此,虽然可能表现为一些顺序编号丢失(例如,图7中的步骤8等),但是编号仅仅是为了与其他图一致而保持的。序列图例示说明在浏览器、基于云的应用(例如,“Express”)、基于云的认证服务、隧道连接(例如,隧道服务器/隧道代理)、驻地认证服务和驻地D2应用之间发生的处理。
[0066] 在图6中,所述处理从步骤1开始,在步骤1中,用户(例如,企业的雇员)到访基于云的应用,例如,通过将URL录入到浏览器中。基于云的应用将用户的浏览器重定向到基于云的认证服务(步骤2)以获得认证代码(例如,Oauth2 AUTH CODE(Oauth2认证代码))。浏览器然后被定向到基于云的认证服务(步骤3)。基于云的认证服务然后与MTS(例如,MTS 319)一起进行检查以查看租户(例如,用户的雇主、运营驻地系统的企业)是否被配置混合认证(步骤4)。如果是,则通过浏览器向用户显示登陆页面(步骤5)。
[0067] 在步骤6,用户将具有用户证书的登录页面提交给基于云的认证服务。这触发基于云的认证服务调用驻地认证服务以进行认证(步骤7)(例如,经由到驻地认证服务的隧穿协议)(参照图8更详细地描述)。作为响应,认证请求(经由隧穿协议)被转发给驻地认证服务(步骤8)。如果使用基本认证,则使用基于API的认证(例如,DFC API认证)(步骤9)。如果使用KDC(例如,Kerberos认证),则从KDC服务器获得票据授予票据(TGT,或“超级票据”)(步骤10)。注意,企业可以将认证服务配置为使用他们想使用的任何认证方案。所用的认证方案可以取决于用户正在尝试访问的驻地存储库。
[0068] 在步骤11和12,驻地认证服务将适合于用户的用户配置文件返回给基于云的认证服务(例如,通过隧道)。基于云的认证服务然后产生认证代码,并且将浏览器重定向到基于云的应用(步骤13)。浏览器将认证代码转发给基于云的应用(步骤14),该应用使用认证代码从认证服务获得访问令牌(步骤15)。通过访问令牌,浏览器然后调用用于用户正在尝试访问的驻地应用的REST API(步骤16)。作为响应,基于云的应用经由隧穿协议调用驻地REST API,将访问令牌传递给驻地认证服务(步骤17、18)。驻地认证服务验证访问令牌并模拟用户,并且经由驻地应用对请求进行处理(步骤19)。REST API结果然后(例如,通过隧道)被返回给基于云的应用(步骤20)。最后,在浏览器上显示结果(步骤21)。
[0069] 图7描绘了不使用隧穿协议的混合认证流程序列图(比较图3和图4)。在图7中,一些步骤与图6中的步骤是相同的或类似的。虽然图6的一些步骤不是图7的序列的一部分,但是为清晰起见,保持其余的序列步骤的编号,所以与图6中的步骤相同或类似的步骤将共享相同的编号。
[0070] 在图7中,所述处理从步骤1开始,在步骤1中,用户到访基于云的应用,例如,通过将URL录入到浏览器中。基于云的应用将用户的浏览器重定向到基于云的认证服务(步骤2)以获得认证代码。浏览器然后被定向到基于云的认证服务(步骤3)。基于云的认证服务然后与MTS(例如,MTS 419)一起进行检查以查看租户是否被配置混合认证(步骤4)。如果是,则在浏览器上向用户显示登陆页面(步骤5)。
[0071] 在步骤6,用户将具有用户证书的登录页面提交给基于云的认证服务。这触发基于云的认证服务调用驻地认证服务以进行认证(步骤7)。如果使用基本认证,则使用基于API的认证(步骤9)。如果使用KDC,则从KDC服务器获得超级票据(步骤10)。再次,企业可以将认证服务配置为使用他们想使用的任何认证方案。所用的认证方案可以取决于用户正在尝试访问的驻地存储库。
[0072] 在步骤12,驻地认证服务将适合于用户的用户配置文件返回给基于云的认证服务。基于云的认证服务然后产生认证代码,并且将浏览器重定向到基于云的应用(步骤13)。浏览器然后将认证代码转发给基于云的应用(步骤14),该应用使用认证代码从基于云的认证服务获得访问令牌(步骤15)。通过访问令牌,浏览器然后调用用于用户正在尝试访问的驻地应用的REST API(步骤16)。作为响应,基于云的应用调用驻地REST API,将访问令牌传递给驻地认证服务(步骤17)。驻地认证服务验证访问令牌并模拟用户,并且经由驻地应用对请求进行处理(步骤19)。REST API结果然后被返回给基于云的应用(步骤20)。最后,在浏览器上显示结果(步骤21)。
[0073] 图8描绘了类似于图6的混合认证流程序列图,但是示出了云部署的隧道服务器和驻地隧道代理(参见图3)这二者处的步骤。在图8中,所述处理从步骤1开始,在步骤1中,用户到访基于云的应用,例如,通过将URL录入到浏览器中。基于云的应用将用户的浏览器重定向到基于云的认证服务(步骤2)以获得认证代码。浏览器然后被定向到基于云的认证服务(步骤3)。基于云的认证服务然后与MTS(例如,MTS 319)一起进行检查以查看租户是否被配置混合认证(步骤4)。如果是,则在浏览器上向用户显示登陆页面(步骤5)。
[0074] 在步骤6,用户将具有用户证书的登录页面提交给基于云的认证服务。这触发基于云的认证服务经由隧道服务器调用驻地认证服务以进行认证(步骤7)。隧道服务器将请求转发给驻地隧道代理(步骤7.5)。作为响应,认证请求被转发给驻地认证服务(步骤8)。如果使用基本认证,则使用基于API的认证(步骤9)。如果使用KDC,则从KDC服务器获得超级票据(步骤10)。再次,企业可以将认证服务配置为使用他们想使用的任何认证方案。所用的认证方案可以取决于用户正在尝试访问的驻地存储库。
[0075] 在步骤11,隧道代理将适合于用户的用户配置文件返回和转发给隧道服务器(步骤11.5)。用户配置文件然后被隧道服务器返回给基于云的认证服务(步骤12)。基于云的认证服务然后产生认证代码,并且将浏览器重定向到基于云的应用(步骤13)。浏览器将认证代码转发给基于云的应用(步骤14),该应用使用认证代码从基于云的认证服务获得访问令牌(步骤15)。浏览器然后调用用于用户正在尝试访问的驻地应用的REST API(步骤16)。作为响应,基于云的应用调用驻地REST API,将访问令牌传递给隧道服务器(步骤17)。隧道服务器将访问令牌转发给驻地隧道代理(步骤18)。驻地隧道代理然后将访问令牌转发给驻地认证服务(步骤18.5)。驻地认证服务验证访问令牌并模拟用户,并且经由驻地应用对请求进行处理(步骤19)。REST API结果然后经由隧道代理和隧道服务器被返回给基于云的应用(步骤20)。最后,在浏览器上显示结果(步骤21)。
[0076] 上述混合认证系统的实施例还使得基于云的系统能够在云中对一个或多个远程驻地系统配置、认证和存储多个用户的认证信息。因为用户可以属于系统中的多个群,并且相同的群可以在多个云应用中被授权,所以系统可以实现可共享的用户群,这些用户群是共享类似的用户证书的用户的群。
[0077] 图9-图10描绘了根据一些实施例的用于使管理员配置混合认证的用户界面的图示。更具体地说,图9示出了用于使管理员在基于云的应用(企业可以自动地或手动地订阅该应用,以使其用户使用)和驻地存储库之间添加连接的用户界面的非限制性例子。管理员可以导航到图9所示的认证代理服务连接设置页面,并且提供必要的信息(例如,连接的名称、连接的描述、到驻地认证服务代理(例如,驻地认证服务代理324、424、524)的URL)、以及如果隧穿被使用的话主机(例如,隧道服务器330)上的隧穿端口)。一旦连接被添加,管理员就可以选择“混合认证”作为认证方案,并且将基于云的应用设置为在连接到驻地存储库时使用如此配置的连接。在一些实施例中,管理员可以通过使用MTS API与MTS(例如,MTS 116、319、419)进行通信来配置认证方案(例如,其中,管理员选择“混合认证”作为认证方案)。
[0078] 在一些实施例中,关于企业/租户的表被修改以反映方案变化。例如,MTS可以将新的列添加到租户表以存储租户特定的认证方案。在这种情况下,除了SAML、OIDC之外,混合认证方案配置也被添加到租户表。MTS服务应用具有指向驻地认证服务代理(例如,驻地认证服务代理324、424、524)的URL的指针
[0079] 如果连接被配置为使用隧穿,则隧穿代理(例如,隧道代理332)将需要被部署在企业/租户的驻地上。隧穿代理可以被配置有由管理员使用管理员界面配置的连接细节。下面是隧穿代理配置的非限制性例子。
[0080] #leap auth server configuration
[0081] authserver.url=https://authservice...
[0082] authServer.clientID=...
[0083] authServer.clientsecret=...
[0084] #tenant connection setup
[0085] tunnel.names=...
[0086] tunnel.tenant.id=...
[0087] tunnel.agent.name=...
[0088] #leap tunnel server configuration
[0089] tunnel.server.url=https://tunnelservice...
[0090] http.proxy.enabled=false
[0091] http.proxy.host=localhost
[0092] http.proxy.port=80
[0093] http.proxy.username=user
[0094] http.proxy.password=password
[0095] http.proxy.backend.request.enabled=false
[0096] 当终端用户访问基于云的应用(诸如,基于云的应用316、318、416、418)时,对于基于云的认证服务“/authorize”端点的请求可以确定认证类型或选择。例如,基于云的认证服务(例如,基于云的认证服务314、414)可以与MTS(例如,MTS 319、419)进行通信以请求用于与终端用户相关联的租户的认证信息。如果租户已经选择或以其他方式启动混合认证方案,则基于云的认证服务可操作为从MTS获得租户身份、混合认证URL和混合连接名称(其已经由管理员配置,如图9所示,并且被存储在MTS可访问的租户表中),并且相应地继续进行。
[0097] 例如,如果混合认证是可公开访问的,则基于云的认证服务可以使用MTS提供的信息来通过隧道连接到驻地认证服务代理(例如,驻地认证服务代理324)(例如参见图3和图6)。如果混合认证是不可公开访问的,则基于云的认证服务可以使用用户提供的登录信息来调用驻地认证服务代理(例如参见图4和图7)。
[0098] 图10描绘了登录页面1000的图示。在一些实施例中,终端用户可以通过登录页面1000提供用户登录1001和密码1001,并且选择登录按钮1003以登录到基于云的应用中。在该例子中,登录页面1000为终端用户提供使用SSO1005的选择。通常,SSO是使用来自目录服务器(诸如轻量级目录访问协议(LDAP)服务器)的相同的证书实现的。然而,在这种情况下,基于云的认证服务将认证委派给驻地认证服务。如果混合连接已经被配置(以使得MTS可以从租户表检索混合连接名称及其值,并且将该混合连接名称及其值提供给基于云的认证服务),则租户标识符和混合连接名称被基于云的认证服务在HTTP认证头中传递给驻地认证服务。下面是这样的请求和响应的非限制性例子:
[0099]
[0100] 相关领域的技术人员将意识到,本发明可以用其他计算机系统配置(包括,没有限制地,多处理器系统、网络装置、迷你计算机、大型机、数据处理器等)来实现或实施。本发明可以在计算机、或被专编程、配置或构造为执行本文中详述的功能的专用计算机或数据处理器中实施。本发明也可以被用于分布式计算环境中,在分布式计算环境中,任务或模块由远程处理装置执行,这些远程处理装置通过通信网络(诸如局域网(LAN)、广域网(WAN)和/或互联网)链接。在分布式计算环境中,程序模块或子例程可以被安置在本地存储器存储装置和远程存储器存储装置这二者中。这些程序模块或子例程可以例如被存储或分布在计算机可读介质(包括磁盘以及可光学读取的和可移动的计算机盘)上,被存储为芯片中的固件,以及被电子地分布在互联网上或其他网络(包括无线网络)上。示例芯片可以包括可电擦除可编程只读存储器(EEPROM)芯片。本文中所讨论的实施例可以用可以驻留在非暂时性计算机可读介质、硬件电路系统等、或任何组合形式的、以及可以被一个或多个服务器机器翻译的合适的指令来实现。在本公开中,在下面提供非暂时性计算机可读介质的例子。
[0101] ROM、RAM和HD是用于存储CPU可执行的或者能够被编译或解释以可被CPU执行的计算机可执行指令的计算机存储器。合适的计算机可执行指令可以驻留在计算机可读介质(例如,ROM、RAM和/或HD)、硬件电路系统等、或它们的任何组合上。在本公开内,术语“计算机可读介质”不限于ROM、RAM和HD,并且可以包括可以被处理器读取的任何类型的数据存储介质。计算机可读存储介质的例子可以包括,但不限于,易失性和非易失性计算机存储器和存储装置,诸如随机存取存储器、只读存储器、硬盘驱动器、数据盒、直接访问存储装置阵列、磁带、软盘、闪存驱动器、光学数据存储装置、紧凑盘只读存储器、以及其他适当的计算机存储器和数据存储装置。因此,计算机可读介质可以是指数据盒、数据备份磁带、软盘、闪存驱动器、光学数据存储驱动器、CD-ROM、ROM、RAM、HD等。
[0102] 本文中所描述的处理可以用可以驻留在计算机可读介质(例如,磁盘、CD-ROM、存储器等)上的合适的计算机可执行指令来实现。可替代地,所述计算机可执行指令可以被作为软件代码组件存储在直接访问存储装置阵列、磁带、软盘、光学存储装置、或其他适当的计算机可读介质或存储装置上。
[0103] 任何合适的编程语言可以用于实现本文中所描述的本发明的实施例的例程、方法或程序,包括C、C++、Java、JavaScript、HTML、或任何其他的编程或脚本编写代码等。可以使用其他的软件/硬件/网络架构。例如,所公开的实施例的功能可以在一个计算机上实现,或者在网络中的或跨网络的两个或更多个计算机之间共享/分布。实现实施例的计算机之间的通信可以使用任何电子信号、光学信号、射频信号、或遵循已知的网络协议的其他合适的通信方法和工具来实现。
[0104] 可以采用不同的编程技术,诸如过程式或面向对象的。任何特定的例程都可以在单个计算机处理装置或多个计算机处理装置、单个计算机处理器或多个计算机处理器上执行。数据可以被存储在单个存储介质中,或者通过多个存储介质分布,并且可以驻留在单个数据库或多个数据库(或其他数据存储技术)中。尽管步骤、操作或计算可以按特定的次序呈现,但是该次序在不同的实施例中是可以改变的。在一些实施例中,就多个步骤在本说明书中被示为顺序的来说,替代实施例中的这样的步骤的某个组合可以同时执行。本文中所描述的操作的序列可以被中断、暂停、或者要不然由另一个处理(诸如操作系统内核等)控制。例程可以在操作系统环境中操作,或者作为独立的例程操作。本文中所描述的功能、例程、方法、步骤和操作可以用硬件、软件、固件或它们的任何组合来执行。
[0105] 本文中所描述的实施例可以用软件、硬件或这二者的组合、以控制逻辑的形式实现。控制逻辑可以被作为适于指导信息处理装置执行各种实施例中所公开的一组步骤的多个指令,存储在信息存储介质(诸如计算机可读介质)中。基于本文中提供的公开内容和技术,本领域技术人员将意识到实现本发明的其他方式和/或方法。
[0106] 用软件编程或代码实现本文中所描述的步骤、操作、方法、例程或它们的部分中的任何一个也在本发明的精神和范围内,其中,这样的软件编程或代码可以被存储在计算机可读介质中,并且可以被处理器操作以使得计算机可以执行本文中所描述的步骤、操作、方法、例程或它们的部分中的任何一个。本发明可以通过使用一个或多个数字计算机中的软件编程或代码来实现,通过使用专用集成电路可编程逻辑器件现场可编程门阵列来实现,光学、化学、生物、量子或纳米工程系统、组件和机构可以被使用。一般来说,本发明的功能可以通过本领域中已知的任何手段来实现。例如,可以使用分布式或联网系统、组件和电路。在另一个例子中,数据的通信或传送(或者要不然从一个地方移到另一个地方)可以是有线的、无线的、或者通过任何其他的手段。
[0107] “计算机可读介质”可以是可以包含、存储、传送、传播或输送供指令执行系统、设备、系统或装置使用的或者与指令执行系统、设备、系统或装置结合使用的程序的任何介质。所述计算机可读介质可以是,仅举例来说,而非限制,电子、磁性、光学、电磁、红外或半导体系统、设备、系统、装置、传播介质或计算机存储器。这样的计算机可读介质一般应是机器可读的,并且包括可以是人类可读的软件编程或代码(例如,源代码)、或机器可读的软件编程或代码(例如,对象代码)。非暂时性计算机可读介质的例子可以包括随机存取存储器、只读存储器、硬盘驱动器、数据盒、磁带、软盘、闪存驱动器、光学数据存储装置、紧凑盘只读存储器、以及其他适当的计算机存储器和数据存储装置。在说明性实施例中,软件组件中的一些或全部可以驻留在单个服务器计算机上、或单独的服务器计算机的任何组合上。如本领域技术人员可以意识到的,实现本文中所公开的实施例的计算机程序产品可以包括存储可以被计算环境中的一个或多个处理器翻译的计算机指令的一个或多个非暂时性计算机可读介质。
[0108] “处理器”包括对数据、信号或其他信息进行处理的任何硬件系统、机构或组件。处理器可以包括具有通用中央处理单元、多个处理单元、用于实现功能性的专用电路系统的系统、或其他系统。处理无需限于地理位置,或者具有时间限制。例如,处理器可以“实时地”、“离线地”、在“批量模式”下等等执行它的功能。处理的部分可以在不同的时间、不同的地点、由不同的(或相同的)处理系统执行。
[0109] 如本文中所使用的,术语“包括”、“包含”、“有”、“带有”、“具有”、“含有”或它们的任何其他的变化意图涵盖非排他性的包括。例如,包括元素列表的处理、产品、物品或设备不一定仅限于这些元件,而是可以包括没有明确列出的或这样的处理、产品、物品或设备固有的其他元件。
[0110] 此外,如本文中所使用的术语“或”一般意图意指“和/或”,除非另有指示。例如,条件A或B通过以下中的任何一个得到满足:A是真的(或存在的),B是假的(或不存在的);A是假的(或不存在的),B是真的(或存在的);A和B这二者都是真的(或存在的)。如本文中所使用的,前面有“一个”或“一种”的术语(以及当前置基础为“一个”或“一种”时的“所述”)包括这样的术语的单数和复数这二者,除非另有清楚的指示(即,引用“一个”或“一种”明确地指示只有单数或者只有复数)。此外,如本文中的描述中所使用的,“在……中”的意义包括“在……中”和“在……上”,除非上下文另有明确的规定。
[0111] 还将意识到,附图/图形中描绘的元件中的一个或多个也可以以更分开的或更整合的方式实现,或者如根据特定应用有用的,甚至被移除,或者在某些情况下被使得不能操作。另外,附图/图形中的任何信号箭头应被认为仅仅是示例性的,而非限制,除非另有明确指出。本公开的范围应由所附权利要求和它们的法律等同形式确定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈