首页 / 专利库 / 电脑零配件 / 计算机系统 / 委托用于WEB服务的认证

委托用于WEB服务的认证

阅读:308发布:2021-05-30

专利汇可以提供委托用于WEB服务的认证专利检索,专利查询,专利分析的服务。并且实施例 包括一种用于向受委托者委托用于web服务的认证的方法。委托包括在委托服务检测的来自web服务的、对于委托者的第一证书的 请求 。第一证书具有用于 访问 web服务的授权。在委托服务检测来自具有第二证书的受委托者的、对于用第一证书使用web服务的请求。委托服务确定第二证书是否授权受委托者用第一证书使用web服务。委托服务授权用第一证书访问web服务,以用于由受委托者的第二证书使用。,下面是委托用于WEB服务的认证专利的具体信息内容。

1.一种向受委托者委托用于web服务的认证的方法,包括:
在委托服务检测来自web服务的、对于委托者的第一证书的请求,其中所述第一证书具有用于访问所述web服务的授权;
在所述委托服务检测来自具有第二证书的受委托者的、对于用所述第一证书使用所述web服务的请求;
确定所述第二证书授权所述受委托者用所述第一证书使用所述web服务;以及当确定所述受委托者被授权访问所述web服务时,所述委托服务使用所述委托者的第一证书使所述受委托者登录到所述web服务,其中所述委托服务对所述受委托者隐藏所述委托者的所述第一证书,以保护所述第一证书。
2.根据权利要求1所述的方法,还包括:
检测所述web服务的第一动作。
3.根据权利要求2所述的方法,还包括:
由所述委托者限制所述受委托者执行对所述web服务的所述第一动作。
4.根据权利要求1所述的方法,还包括:
在满足标准时终止所述受委托者的所述第二证书对所述web服务的所述使用。
5.根据权利要求1所述的方法,还包括:
混淆在所述web服务与所述受委托者之间的数据。
6.根据权利要求1所述的方法,其中所述委托服务对所述web服务不可见。
7.根据权利要求1所述的方法,其中所述委托服务可以在所述第一证书下并发地访问针对所述委托者和所述受委托者的所述web服务。
8.一种包括处理器和用指令编码的存储器计算机系统,其中:
所述指令在所述处理器上被执行时执行以下动作:
在委托服务检测来自web服务的、对于委托者的第一证书的请求,其中所述第一证书具有用于访问所述web服务的授权;
在所述委托服务检测来自具有第二证书的受委托者的、对于用所述第一证书使用所述web服务的请求;
确定所述第二证书授权所述受委托者用所述第一证书使用所述web服务;以及当确定所述受委托者被授权访问所述web服务时,所述委托服务使用所述委托者的第一证书使所述受委托者登录到所述web服务,其中所述委托服务对所述受委托者隐藏所述委托者的所述第一证书,以保护所述第一证书。
9.根据权利要求8所述的计算机系统,还包括:
检测所述web服务的第一动作。
10.根据权利要求9所述的计算机系统,还包括:
由所述委托者限制所述受委托者执行对所述web服务的所述第一动作。
11.根据权利要求8所述的计算机系统,还包括:
在满足标准时终止所述受委托者的所述第二证书对所述web服务的所述使用。
12.根据权利要求8所述的计算机系统,还包括:
混淆在所述web服务与所述受委托者之间的数据。
13.根据权利要求8所述的计算机系统,其中所述委托服务对所述web服务不可见。
14.根据权利要求8所述的计算机系统,其中所述委托服务可以在所述第一证书下并发地访问针对所述委托者和所述受委托者的所述web服务。
15.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现根据权利要求1-7中的任一项所述的方法。

说明书全文

委托用于WEB服务的认证

技术领域

[0001] 本公开内容主要地涉及web服务访问控制并且具体地涉及委托用于web服务的认证。

背景技术

[0002] 取代在客户地点部署的传统可执行驱动软件或者传统客户端-服务器模型的、在基于web的接口中实施的软件服务正在增长。协作工具、比如电子邮件、文档共享或者文件存储可能受这一改变所影响。所有这些服务需要某个程度的认证/授权以完全与它们工作或者获得对所有功能(或者限制的功能集)的访问。通常在每个用户具有单独账户的用户名-密码基础上处理认证。这些账户有时与公司目录服务(比如轻量级目录访问协议(LDAP))同步以实现跨服务的单点登录。发明内容
[0003] 公开内容的实施例提供一种用于向受委托者委托用于web服务的认证的方法、计算机系统和计算机可读介质。委托包括在委托服务检测来自web服务的、对于委托者的第一证书的请求。第一证书具有用于访问web服务的授权。在委托服务检测来自具有第二证书的受委托者的对于用第一证书使用web服务的请求。委托服务确定第二证书是否授权受委托者用第一证书使用web服务。委托服务授权用第一证书访问web服务,以用于由受委托者的第二证书使用。附图说明
[0004] 图1图示根据各种实施例的被配置为执行用于web服务的委托服务的计算基础设施。
[0005] 图2图示根据各种实施例的包括浏览器的图1的客户端计算机系统的更具体视图。
[0006] 图3图示根据各种实施例的包括委托服务的图1的网络节点的更具体视图。
[0007] 图4图示根据各种实施例的包括web服务的图1的服务器计算机系统的更具体视图。
[0008] 图5图示根据各种实施例的委托服务的各种模的更具体框图
[0009] 图6图示根据各种实施例的委托服务的委托票券。
[0010] 图7图示根据各种实施例的在web服务的网页上的示例委托服务接口注入。
[0011] 图8图示根据各种实施例的委托服务的工作流程的流程图
[0012] 图9图示根据一个实施例的执行web服务委托的方法的高级流程图。
[0013] 在各种附图中的相似标号和标示指示相似要素。

具体实施方式

[0014] 基于web的服务跨越所有组织变得越来越普遍。这一技术的常见示例是基于web的电子邮件要约、社交网络、销售生命周期和取代传统可执行受驱动软件的作为web服务而部署的其它软件产品。这些web服务需要某类认证/授权用于用户与它们工作并且具有对web服务赋予的功能中的一些或者所有功能的访问。认证可以按照用户名和密码来处理而每个用户具有单独账户。访问管理可以通过广泛使用基于目录的认证(例如LDAP)或者单点登录产品(Tivoli单点登录、Tivoli身份管理器)来简化。
[0015] 例如在组织中,组织的一些成员可以具有对这些web服务的访问而其他成员可能没有。然而在一些实例中,可能有必要让没有对特定web服务的访问的成员暂时获得对web服务的完全或者部分访问。例如在经理-助手级中,对于在相同部中工作的同事和对于在离开办公室场景期间的后援,可能有必要允许无web服务的证书的其他人具有对web服务的访问。即使许多web服务面向具有多个成员的组织,但是许多web服务未赋予委托。无证书委托可能造成客户避免使用web服务或者如果web服务无备选则退回到账户和密码共享。这可能造成多种安全问题和滥用。例如受委托者(web服务的用户,该用户使用授权的用户证书以访问web服务)可能容易执行不想要的动作或者窃取登录数据用于在公司的网络以外恶意使用。
[0016] 这里的实施例提供委托服务,该委托服务可以允许受委托者使用委托者的证书来访问web服务。委托服务可以对受委托者和web服务二者透明。委托服务可以与web服务独立工作。委托服务可以被配置为允许委托而受委托者未获得委托者的证书。另外,委托服务可以使受委托者的访问限于web服务的某些功能。在其它实施例中,委托服务可以提供用于保护受委托者在web服务上的会话和委托者的证书的安全功能。委托服务也可以允许在相同证书之下并行使用web服务。
[0017] 一般而言,这里的实施例可以提供委托服务,该委托服务允许委托者创建用于委托者具有授权证书的web服务的委托。可以创建委托用于受委托者使用web服务。委托可以具有关于受委托者对web服务的使用范围的限制。受委托者可以无对web服务的授权证书、但是可以具有用于委托服务的证书。受委托者可以向委托服务要求对于web范围的访问。委托服务可以确定受委托者是否具有对web服务的访问。如果受委托者具有,则委托服务可以使用委托者的证书以访问web服务。数据可以被隐藏或者加密以保护委托会话和委托者的证书。另外,委托服务可以监视受委托者在web服务上的动作以保证它们适当。
[0018] 图1图示根据一些实施例的可以被配置为执行委托服务的一个示例计算基础设施100。计算基础设施100可以包括一个或者多个客户端计算系统、比如第一客户端计算机系统105A和第二客户端计算机系统105B。计算基础设施100也可以包括使用这里也称为网络
120的一个或者多个通信网络120来相互通信地耦合的网络节点110和服务器计算机系统
115。通信网络120可以包括一个或者多个服务器、网络、数据库或者网关、比如HTTP/HTTPs并且可以使用特定通信协议以在计算机系统105、110、115之间传送数据。在一个实施例中,网络节点110和它的功能可以是网络120的部分。
[0019] 通信网络120可以包括多个类型的物理通信信道或者“链路”。链路可以是有线、无线、光学或者任何其它适当介质。此外,通信网络120可以包括用于执行路由、切换和其它功能的多种网络硬件和软件、比如路由器、交换机或者网桥。通信网络120可以是任何大小。例如通信网络120可以包括单个局域网或者跨越大型地理区域的网络的广域网、例如因特网。
[0020] 图2是根据各种实施例的图1的第一客户端计算机系统105A的更具体视图。第一客户端计算机系统105A也可以代表第二客户端计算机系统105B。第一和第二客户端计算机系统105A和105B这里可以一般地称为客户端计算机系统105。客户端计算机系统中的任何客户端计算机系统这里可以简称为客户端105。
[0021] 客户端计算机系统105可以包括而不限于一个或者多个处理器(CPU)205、网络接口215、互连220、存储器225和存储装置230。客户端计算机系统105也可以包括用来将I/O设备212、例如键盘、显示器和鼠标设备连接到客户端计算机系统105的I/O设备接口210。
[0022] 每个CPU205取回和执行在存储器225或者存储装置230中存储的编程指令。相似地,CPU205存储和取回在存储器225中驻留的应用数据。互连220用来在每个CPU205、I/O设备接口210、存储装置230、网络接口215和存储器225之间传输编程指令和应用数据。互连220可以是一个或者多个总线。CPU205可以在各种实施例中是单个CPU、多个CPU或者具有多个处理芯的单个CPU。在一个实施例中,处理器205可以是数字信号处理器(DSP)。一个或者多个浏览器235(以下进一步描述)可以被存储于存储器225中。在一个实施例中,浏览器235被指派由CPU205执行。一般包括存储器225以代表随机访问存储器、例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或者闪存。一般包括存储装置230以代表非易失性存储器、比如硬盘驱动、固态设备(SSD)或者可拆除存储器卡、光学存储装置、闪存设备、网络附着存储装置(NAS)或者与存储区域网络(SAN)设备的连接或者可以存储非易失性数据的其它设备。网络接口215被配置为经由通信网络120传输数据。
[0023] 浏览器235是让用户能够显示通常位于在因特网或者局域网上的网站处的web服务的网页上的文本、图像和其它信息并且与它们交互。浏览器235可以允许用户通过遍历这些链接来快速和容易访问在许多网站的许多网页上提供的信息。浏览器可以格式化HTML信息用于显示,因此网页的外观可以在浏览器之间不同。浏览器235可以主要使用HTTP(超文本传送协议)来与也称为服务器计算机系统115的web服务器通信以通过通信网络120取回网页。服务器计算机系统115包括负责接受来自客户端计算机系统105的HTTP请求并且与可选数据内容一起向它们供应HTTP响应的计算机程序,这些数据内容通常是网页、比如HTML文档和链接的对象(图像等)。
[0024] 存储装置230可以包括缓冲器260。虽然示出为在存储装置中,但是缓冲器260可以位于计算节点110的存储器其225中或者两个存储器的组合中。另外,存储装置230可以包括在计算节点110外部的存储空间、比如在“”中。
[0025] 客户端105可以包括一个或者多个操作系统262。操作系统262可以被部分存储于存储器225中并且部分存储于存储装置230中。备选地,操作系统262可以被完全存储于存储器225中或者完全存储于存储装置230中。操作系统262提供在各种硬件资源之间的接口。这些硬件资源包括CPU205以及流计算应用的处理单元和其它部件。此外,操作系统2626可以提供用于应用程序的公共服务、比如提供时间功能。
[0026] 图3是根据一些实施例的图1的网络节点110的更具体视图。网络节点110可以包括而不限于一个或者多个处理器(CPU)305、网络接口315、互连320、存储器325和存储装置330。网络节点110也可以包括将I/O设备312、例如键盘、显示器和鼠标设备连接到网络节点
110的I/O设备。
[0027] 每个CPU305取回和执行在存储器325或者存储装置330中存储的编程指令。相似地,每个CPU305存储和取回在存储器325或者存储装置330中驻留的应用数据。互连320用来在CPU305、I/O设备接口310、存储装置330、网络接口315和存储器325之间移动数据、比如编程指令和应用数据。互连320可以是一个或者多个总线。CPU305可以在各种实施例中是单个CPU、多个CPU或者具有多个处理芯的单个CPU。在一个实施例中,处理器305可以是DSP。一般包括存储器325以代表随机访问存储器、例如SRAM、DRAM或者闪存。一般包括存储装置330以代表非易失性存储器、比如硬盘驱动、固态设备(SSD)、可拆除存储器卡、光学存储装置、闪存设备、网络附着存储装置(NAS)、与存储区域网络(SAN)设备的连接或者云。网络接口315被配置为经由通信网络120传输数据。
[0028] 存储器325可以存储如以下在图5中进一步描述的委托服务334。此外,存储器325或者存储装置330可以存储用户目录335、web服务信元336、委托票券337、委托配置界面338、注入要素339和加密密钥(所有都在以下进一步描述)。
[0029] 网络节点110可以包括一个或者多个操作系统332。操作系统332可以被部分存储于存取325中而部分存储于存储装置330中。备选地,操作系统可以被完全存储于存储器325中或者完全存储于存储装置330中。操作系统提供在各种硬件资源之间的接口,这些硬件资源包括CPU305以及流计算应用的处理单元和其它部件。此外,操作系统提供用于应用程序的公共服务、比如提供时间功能。
[0030] 网络节点110可以是在跨越在客户端105与作为目标的web服务436(图4)、比如在服务器计算机系统115上的web服务436之间的通信网络120的数据流中的web网关、比如HTTP/HTTPS网关或者代理服务器或者任何其它接入点。
[0031] 图4是根据各种实施例的图1的服务器计算机系统115的更具体视图。服务器计算机系统115可以包括而不限于一个或者多个处理器(CPU)405、网络接口415、互连420、存储器425和存储装置430。服务器计算机系统115也可以包括将I/O设备412、例如键盘、显示器和鼠标设备连接到服务器计算机系统115的I/O设备。
[0032] 每个CPU405取回和执行在存储器425或者存储装置430中存储的编程指令。相似地,每个CPU405存储和取回在存储器425或者存储装置430中驻留的应用数据。互连420用来在CPU405、I/O设备接口410、存储单元430、网络接口415和存储器425之间移动数据、比如编程指令和应用数据。互连420可以是一个或者多个总线。CPU405可以在各种实施例中是单个CPU、多个CPU或者具有多个处理芯的单个CPU。在一个实施例中,处理器405可以是DSP。一般包括存储器425以代表随机访问存储器、例如SRAM、DRAM或者闪存。一般包括存储装置430以代表非易失性存储器、比如硬盘驱动、固态设备(SSD)、可拆除存储器卡、光学存储装置、闪存设备、网络附着存储装置(NAS)、与存储区域网络(SAN)设备的连接或者云。网络接口415被配置为经由通信网络120传输数据。
[0033] 服务器计算机系统115可以包括一个或者多个操作系统432和一个或者多个网页437。操作系统432和网页437可以被部分存储于存储器425中而部分存储于存储装置430中。
备选地,操作系统432和网页437可以被完全存储于存储器425中或者完全存储于存储装置
430中。操作系统432提供在各种硬件资源之间的接口,这些硬件资源包括CPU405以及流计算应用的处理单元和其它部件。此外,操作系统432提供用于应用程序的公共服务、比如提供时间功能。
[0034] 存储器425可以存储web服务436。Web服务436可以例如是需要用户账户的任何类型的web服务、比如电子邮件、社交媒体、行和预订服务。Web服务436可以包括网页437,该网页是适合用于因特网并且可以通过web浏览器235访问的信息资源。这一信息通常是以HTML或者XHTML格式并且可以经由超文本链接提供向其它网页的导航。可以从本地计算机或者从远程web服务器、比如服务器计算机系统115取回网页437。服务器计算机系统115可以使访问仅限于专有网络、例如公司内部网,或者它可以在因特网上发布页面。可以使用超文本传送协议(HTTP)来请求并且从服务器计算机系统115供应web服务436的网页437。网页437可以是web文档类型。网页437可以由在服务器计算机系统115的文件系统内存储的静态文本文件(静态网页)构成,或者服务器计算机系统115可以在浏览器235请求每个网页437时为它构造(X)HTML(动态网页)。客户端计算机系统105可以通过通信网络120访问web服务
436。客户端侧脚本化可以使网页436一旦在客户端浏览器235中则更响应于用户输入。在一个实施例中,在图2、图3和图4的设备的各种存储器和存储装置中描述的应用和数据中的一项或者多项可以在设备或者设备组合之一中。
[0035] 图5更具体图示根据一个实施例的委托服务334。如在图3中讨论的委托服务334可以在客户端计算机系统105上的浏览器235与在服务器计算机系统115上的web服务436之间的通信流中。在某些实施例中,委托服务334可以是网关或者代理服务器的部分。委托服务334可以具有执行委托服务的功能的子模块。这些模块可以包括web服务器505、web服务信元模块510和接口注入模块515、web应用控制模块520、会话混淆模块525、目录集成模块530和web客户端模块535。
[0036] 一般而言,委托服务334可以允许将委托者的对web服务436的证书委托给受委托者。委托者可以向受委托者有选择地允许访问web服务436的功能而受委托者在访问web服务436时未获得委托者的证书的具体知识。另外,委托服务334可以与任何web服务436工作并且无需被并入于web服务436中。Web服务436可以未知委托已经出现。委托服务334可以从网络节点110接收请求/响应信息并且与完成实际委托处理的其它部件协调。可以使用标准协议、比如ICAP或者eCAP来完成在网络节点110与委托服务334之间的通信。
[0037] 在一个实施例中,web服务器505可以是委托服务334的部分。Web服务器505可以向客户端计算机系统105A和105B提供委托配置界面338。委托配置界面338可以是用于客户端105录入数据和执行操作的一般图形配置界面。例如有了委托配置界面338,委托者可以创建委托票券337。在图6中进一步描述的委托票券337可以包括将被委托的web服务436和受委托者是谁。例如委托票券337可以给予委托者的证书、陈述受委托者、给予受委托者可以使用委托者的证书的持续时间、受委托者被允许在委托者的证书之下访问的一个或者多个web服务以及受委托者关于web服务436的功能具有什么限制和权限。
[0038] 在一个实施例中,委托服务334可以包括web服务信元模块510。一般而言,web服务信元模块510可以通过收集关于web服务436的信息来确定可以在web服务436上采取的具体动作。Web服务信元模块510可以创建可以在如在图3中讨论的存储器或者存储装置中存储的信元表336。信元表336可以包括关于web服务436的信元、比如web服务436的名称、描述、URL和IP地址,web服务436在这些IP地址之下被托管。信元表336也可以列举可以与web服务436采取的支持的动作。
[0039] 可以对委托服务334特别重要的一些动作是“登录”和“注销”动作以及这样的动作的“成功”和“失败”状态,因为它们与委托最相关。然而可以检测委托服务334的其它动作。这些动作可以包括可以与web服务436采取的动作并且可以是选项列表的部分,委托者可以从该选项列表选择以向受委托者给予权限和限制。例如在电子邮件的示例中,可以有可用动作、比如聊举数例为保存、草稿、存档、发送、打开和删除。Web服务信元模块510可以检测动作并且在信元表336中包括它们。可以在为受委托者设立限制和权限时与委托配置界面
338交互时向委托者呈现这些动作。
[0040] 在一个实施例中,为了检测是否可以采取web服务436的具体动作,可以定义若干标准。这些包括但不限于:
[0041] ·客户端访问的URL的特性/模式
[0042] ·页面要素存在或者不存在
[0043] ·文本在页面上存在或者不存在
[0044] ·cookie和页面参数存在、不存在及其内容
[0045] ·以上组合中的任何组合
[0046] 可以用web服务信元模块510为每个页面和web服务436单独地配置标准中的每个标准并且对于存在或者不存在用(正、负或者中性)分数对每个标准进行加权。也可以定义标准为必需或者可选。此外,可以定义分数限制以在用标准评估分数限制时确定动作是否在web服务436上存在。这可以通过校验是否满足所有必需标准、将所有标准的分数求和并且校验总和是否满足门限分数限制来完成。如果满足,则委托服务334可以确定动作对当前web服务436“可用”。
[0047] 加权和打分考虑web服务436的易失性而网页437频繁地改变内容从而即使作为目标的网页437结构已经改变、仍然允许动作定义长时间起作用而无维护。
[0048] 除了检测动作是否可用之外,web服务信元模块510还可以用动作存储步骤,这些步骤向委托服务334描述采取什么步骤以触发动作。这可以是动作序列、比如向具体页面要素中输入数据、某些执行暂停和页面点击。这些实施例可以例如允许委托服务334模仿委托者的行为并且允许委托服务334对具体条件、比如“登录”、“继续登录”和“校验登录?”做出反应。
[0049] 在另一实施例中,委托服务334可以包括接口注入模块515。接口注入模块515可以允许集成委托服务334与web服务436。接口注入模块515可以与web服务436的用户界面并入注入要素339,这些注入要素是委托服务334的用户界面功能。例如注入模块515可以允许委托服务334向web服务436(例如见图7)的给定的用户界面添加界面要素339“创建委托”或者“使用委托”访问按钮。
[0050] 接口注入可以由接口注入模块515检查在web服务436与客户端计算机系统105的浏览器235之间的数据流来完成。接口注入模块515可以校验是否正在传送界面要素339被确定与其并入的具体页面、例如主概览页面。如果具体页面被定位,则接口注入模块515可以在向客户端计算机系统105递送具体页面之前利用用于界面要素339的代码修改传送的页面的HTML源代码。在一个实施例中,接口注入可以是直接修改HTML代码,或者注入可以是完成即时文档对象模型(DOM)树编辑的活跃Javascript代码。接口注入模块515可以允许客户端105访问委托专属设立和管理选项而无需离开web服务436。
[0051] 在另一实施例中,委托服务334可以包括web应用控制模块520。web应用控制模块520可以例如过滤web服务436以理解在web服务436上可用的具体动作、比如“聊天”、“上传”和“启动应用”。Web应用控制模块520可以能够检查客户端105的给定的请求/响应并且返回访问的应用和采取的动作。Web应用控制模块520如果必要则可以例如通过组织或者批准请求或者响应来比较委托要素票券337的限制和权限与应用或者动作信息和反应。在另一实施例中,web应用控制模块520也可以具有用于对于具体模式扫描访问的文档和下载(甚至在多个压缩或者嵌入级之上)并且如果重建的内容被定位则例如通过拒绝访问文件或者通知IT安全人员来做出反应的能。在示例中,web应用控制模块520可以是计算机程序、比如IBM安全内容分析软件开发工具包。
[0052] 在另一实施例中,委托服务334可以包括会话混淆模块525。会话混淆模块525可以用来保护委托会话免于被延迟或者劫持以防止非既定用户从组织的环境提取有效运行委托会话并且在失控网络中运行它。委托会话的安全可能处于险,因为委托会话的限制的部分是经由可以在网络节点110完成的web应用控制模块520实现的。如果非既定用户能够获取会话并且在网络节点110控制的网络以外运行它,则对委托的限制将不再适用,这可能是不希望的。由于客户端计算机系统105无需知道web服务436用来标识用户的会话的实际会话标识符、比如会话cookie或者ID,因此在向客户端计算机系统105发送委托者的信息之前加密委托者的所有相关信息是可行的。除了加密之外,其它数据混淆方法也可以用来向客户端计算机系统105隐藏委托者的信息、比如替换、混排、数变化、删除和屏蔽。
[0053] 可以仅加密与会话相关的数据。web服务436的在会话劫持的风险之下的实际页面内容、比如文本、图像和链接未被考虑。可以通过应用一般探索和web服务专属模式二者以检测非客户端相关数据(例如会话Id、URL、Cookie)来完成确定什么获得加密而什么未获得加密。可以创建可以对所有发现的非客户端相关数据进行加密的委托服务加密密钥。可以在向客户端计算机系统105发送非客户端相关数据之前用具体模式标注它。使用的加密可以是任何可接受加密/解密过程。所有加密/解密可以在委托服务发生。
[0054] 在某些实施例中,可以在每个会话、每个委托的基础上生成加密密钥以防止未授权用户在单个密钥被击破的情况下获得对所有会话的访问。一旦委托会话的密钥与之关联的会话到期或者达到给定的时间就丢弃委托会话。可以检查网络节点110从客户端计算机系统105接收的数据关于它是否包含特殊模式,然后在向服务器15发送它之前使用会话专属加密密钥来解密它。
[0055] 通过混淆非客户端相关数据,受委托者可以从未看见可用形式的敏感会话数据、因此将不能从保护的网络取出会话。Web服务436也可以未知会话混淆,因为它是在网络节点用委托服务334执行的。在另一实施例中,使用会话混淆可以允许在相同证书之下对于给定的web服务436活跃的与不同用户的多个会话。
[0056] 在另一实施例中,委托服务334可以包括目录集成模块530。目录集成模块530可以向委托服务334中并入用户目录335。用户目录335可以例如包括可以访问委托服务334的所有用户。用户目录可以包括用户的证书或者可以提供来自具体客户端105的证书。例如委托者可以在创建委托要素票券337时从用户目录335选择可以使用委托者的证书的受委托者。在一个实施例中,可以未设立委托服务334以让委托者选择用于受委托者的证书以访问委托要素票券337。因此,在选择具体受委托者时,委托服务334通过目录集成模块530可以确定通过委托要素票券337试着访问委托服务436的客户端计算机系统是否为被授权这样做的受委托者。在某些实施例中,目录集成模块530可以比对试着访问委托要素票券337的委托者的证书和在用户目录335中存储的证书。在其它实施例中,目录集成模块530可以在委托者登录到组织的安全网络、比如LDAP时识别委托者。
[0057] 在另一实施例中,委托服务334可以包括web客户端模块535。web客户端模块535可以是用来有助于在受委托者移交会话之前的登录(或者其它敏感)动作的无页眉浏览器模块。web客户端模块535也可以适用于在会话已经在受委托者的控制之下之时采取的动作、比如在满足委托会话的时间限制之后让受委托者注销。web客户端模块535然后可以在后台中运行并且向web服务436发送请求如同它是委托者一样。Web服务436不应知道创建的会话实际上从委托者被委托给受委托者。这允许委托服务334与任何web服务436使用。
[0058] 在其它实施例中,web客户端模块535可以通过要求安全通信(例如SSL/TLS或者相似加密方法)和完成证书生效二者来完成对受委托者的身份确认。web客户端模块535也可以在继续与证书的任何动作之前对于恶意内容扫描web服务436的网页437的接收的代码。这可以用来保护委托者的证书以防间接钓鱼攻击,这些攻击可以通过将受委托者引向伪造的web服务以希望委托服务334可以填写检测到的登录屏幕而未校验伪造的web服务的有效性来完成。
[0059] 现在参照图6,图示根据一个实施例的示例委托票券337。委托票券337可以是用于具体用户充当另一用户的访问票券。委托票券337可以包括委托要素。委托票券337由委托服务334用来获得分发委托者证书、定义委托的范围并且确定谁是受委托者。图6中的委托票券337可以包括委托要素如下、但是不限于:
[0060] ·作为目标的web服务436(Web邮件)
[0061] ·委托者(客户端A)
[0062] ·登录证书(用户名/密码)
[0063] ·受委托者(客户端B)
[0064] ·委托的持续时间(24小时)
[0065] ·权限(写邮件、读邮件)
[0066] ·限制(查看存档、写给接收者A)
[0067] ·跟踪委托活动(是)
[0068] ·跟踪受委托者的使用(是)
[0069] Web服务436不是URL、但是可以被取自于可用于委托服务334的已知web服务信元列表。登录证书可以包括用户名和密码以及任何两因素认证信息。如果需要这样的设立以访问web服务436,则登录证书也可以包括与令牌服务器或者SMS捕获服务的连接。一个或者多个接收受委托者可以通过目录集成模块530、比如LDAP为委托服务334所知。委托的持续时间可以定义委托何时自动到期。可以与web客户端模块534强制地终止任何活跃会话,并且受委托者可以不再使用委托来认证。限制是基于动作的并且使用委托服务334的web应用控制模块520。限制允许委托者防止受委托者执行动作。它也允许委托者上传某些文件或者阻止包含具体模式的文件被访问/下载(例如具有具体“保密”页眉的任何文件)。跟踪可以包括多个登记和监视选项、例如创建完全活动日志或者对使用委托来访问的具体动作或者URL做出反应。反应可以例如是安全通知、转储会话数据和向受委托者显示通知。
[0070] 参照图7,图示根据一个实施例的注入要素339的示例。图7图示可以包括网页437的web服务436。Web服务437可以是用于示例目的的web邮件服务,该web邮件服务可以包括动作、比如发送、草稿、存档、写邮件和在web服务436的网页437上显示的选项。接口注入模块515可以在委托服务334的用户查看web服务436时将注入要素339注入到网页437上。图7图示注入要素339为“委托”按钮。这可以允许委托者创建用于web服务436的委托。
[0071] 图8图示根据一个实施例的委托服务334的示例工作流程。在操作805中,可以创建委托票券337。使用第一客户端计算机系统105A的委托者可能想要通过委托者的第一证书将委托者的用于使用web服务436的授权委托给没有用于使用web服务436的授权的另一用户(受委托者)。委托者可以通过在通信网络120上的网络节点110上的委托服务334从第一客户端计算机系统105A上的浏览器235访问web服务436。委托服务334可以用接口注入模块515将注入要素339注入到web服务436的网页437上,委托者可以与这些注入要素交互以创建委托票券337。委托票券337可以借助web服务信元模块510和web应用控制模块520描述用于受委托者的委托的范围,该范围可以确定web范围436的可用功能和动作。受委托者可以用被授权使用委托服务337的第二证书通过第二客户端计算机系统105B具有对委托服务
334的访问。
[0072] 在创建委托票券337之后,在操作810中,受委托者可以试着访问web服务436。为了这样做,委托服务334可以向受委托者指示已经为受委托者创建委托票券337。受委托者通过第二客户端105B的浏览器235可以通过委托服务334访问web服务436。委托服务334可以在web服务436的网页437上注入“委托”按钮。在其它实施例中,受委托者可以通过web服务器505的委托配置界面338看见可用委托列表。受委托者可以用按钮请求访问web服务436。
[0073] 在操作815中,一旦受委托者选择“委托”按钮,委托服务334可以比对委托票券校验受委托者的第二证书以确定受委托者是否具有访问。如果受委托者无访问,则委托服务334可以在操作820中拒绝受委托者的对于访问web服务436的请求。在操作825中,在确定有为受委托者创建的委托之后,委托服务334使用web客户端模块535和web服务信元模块510可以使用委托者的第一证书让受委托者登录到web服务436上。在其它实施例中,委托服务
334可以在受委托者访问web服务436时自动识别受委托者。
[0074] 在操作830中,可以使用加密/解密过程的会话混淆模块525可以混淆通过委托会话传送的数据。在操作835中,委托服务334也可以监视受委托者对web服务436的动作、请求和请求响应。在操作837中,委托服务337可以确定受委托者的动作是否被限制或者准许。如果它们被限制,则在操作840中,委托服务可以阻止它们并且执行任何数目的动作以向受委托者提醒他们被阻止、结束受委托者的会话、提醒委托者或者提醒IT人员。在其它实施例中,接口注入模块515可以在被编译用于受委托者时去激活HTML或者JavaScript中的动作。如果受委托者的动作未被限制,则在操作845中,可以允许动作。在操作850中,委托可以在满足标准时、比如在已经达到用于委托的时间限制、委托者撤回委托或者受委托者已经滥用委托时结束。
[0075] 图9图示根据一个实施例的执行web服务436委托的方法900的高级流程图。在操作905中,委托服务334可以检测web服务436对于委托者的第一证书的请求。第一证书具有用于委托者的用于访问web服务436的授权。在操作910中,委托服务334可以检测来自具有第二证书的受委托者的对于用第一证书使用web服务436的请求。在操作915中,委托服务334可以在确定第二证书授权受委托者用第一证书使用web服务时向web服务436发送第一证书。在操作920中,委托服务334可以授权用第一证书访问web服务,以用于由受委托者的第二证书使用。
[0076] 在前文中,参照各种实施例。然而应当理解本公开内容不限于具体描述的实施例。实际上,设想无论是否与不同实施例有关的、描述的功能和单元的任何组合以实施和实现本公开内容。另外,虽然本公开内容的实施例可以实现较其它可能解决方案或者较现有技术而言的优点,但是给定的实施例是否实现特定优点并未限制本公开内容。因此,描述的方面、功能、实施例和优点仅为示例并且除了在权利要求中明确地记载之外未视为所附权利要求的要素或者限制。
[0077] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在任何一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序代码。
[0078] 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置、器件或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0079] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0080] 计算机可读介质上包含的计算机代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。
[0081] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JavaTM、SmalltalkTM、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0082] 将参照根据本发明示例实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0083] 也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0084] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0085] 可以通过云计算基础设施向终端用户提供根据本公开内容的实施例。云计算一般是指通过网络提供可伸缩计算资源作为服务。更正式地可以定义云计算为计算能力,该计算能力提供在计算资源与它的下层技术架构(例如服务器、存储装置、网络)之间的抽象化从而实现对可以用最少管理工作或者服务提供者交互迅速调配和释放的可配置计算资源共享池的方便、按需网络访问。因此,云计算允许用户访问在“云”中的虚拟计算资源(例如存储装置、数据、应用和甚至复杂虚拟化的计算系统)而未考虑用来提供计算资源的下层物理系统(或者那些系统的位置)。
[0086] 通常在按照使用次数付费的基础上向用户提供云计算资源,其中仅对于实际使用的计算资源(例如用户使用的存储空间数量或者用户实例化的多个虚拟化的系统)向用户收费。用户可以在任何时间并且从跨越因特网的任何地方访问在云中驻留的资源中的任何资源。在本公开内容的情境中,用户可以访问在云中可用的应用或者有关数据。例如用来创建流计算应用的节点可以是云服务提供者托管的虚拟机。这样做允许用户从附着到连接到云的网络(例如因特网)的任何计算系统访问这一信息。
[0087] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0088] 虽然在流计算应用的情境内描述实施例,但是这并非与本公开内容相关的仅有情境。取而代之,这样的描述并非限制并且仅用于示例目的。附加实施例可以被配置为与能够执行这里描述的功能的任何计算机系统或者应用操作。例如实施例可以被配置为在具有标准数据库处理应用的群集式环境中操作。多节点环境可以用有效地处理元组流的方式操作。例如一些实施例可以包括大型数据库系统,并且数据库系统的查询可以以与数据流相似的方式返回结果。
[0089] 尽管前文涉及示例实施例,但是可以设计公开内容的其它和更多实施例而未脱离其基本范围,并且其范围由所附权利要求确定。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈