数据文件访问控制

申请号 CN200780039305.1 申请日 2007-10-18 公开(公告)号 CN101529412B 公开(公告)日 2011-05-25
申请人 奥多比公司; 发明人 J·D·赫巴克;
摘要 在一种实施方式中,生成数据文件和策略。该策略继而与所述数据文件相关联,其中所述策略包括一个或多个未分配账号以及 访问 控制定义,该控制定义定义了与所述一个或多个未分配账号中的每一个相关联的访问 许可 。
权利要求

1.一种提供对数据文件的访问权的方法,包括:
生成数据文件;
创建策略以及将所述策略与所述数据文件相关联,其中所述策略包括一个或多个未分配账号以及访问控制定义,所述访问控制定义用于定义与所述一个或多个未分配账号中的每一个相关联的访问许可,所述一个或多个未分配账号不与用户或实体相关联;
将目标用户映射至所述一个或多个未分配账号中的第一未分配账号;以及将用于所述第一未分配账号的认证数据传送到所述目标用户,以便根据与所述第一未分配账号相关联的访问许可来访问所述数据文件。
2.根据权利要求1的方法,其中所述访问许可包括以下至少一个:查阅、打印、编辑、分发和复制。
3.根据权利要求1的方法,还包括:
接收允许所述目标用户访问所述数据文件的请求
4.根据权利要求1的方法,还包括:
传送新的认证数据以向所述目标用户提供所述数据文件的新的访问级别。
5.根据权利要求1的方法,还包括:
接收来自所述目标用户的用于延续对所述数据文件的临时访问权的请求。
6.根据权利要求1的方法,其中所述认证数据是对应于所述第一未分配账号的用户名以及用于激活与访问控制定义相关联的访问密钥的口令,所述访问控制定义用于定义与所述一个或多个未分配账号相关联的访问许可。
7.根据权利要求1的方法,还包括:
接收将所述数据文件传送到所述目标用户的请求。
8.根据权利要求1的方法,还包括:
接收来自所述目标用户针对所述数据文件的访问权的请求。
9.根据权利要求1的方法,还包括:
接收联系消息,其指示目标用户在线且具有对所述数据文件的访问权。
10.根据权利要求1的方法,还包括:
基于确定所述目标用户未在离线阈值时间内传送联系消息,撤消所述目标用户对所述数据文件的访问权。
11.根据权利要求1的方法,还包括:
基于所述目标用户超过访问阈值而访问所述数据文件,撤消所述目标用户对所述数据文件的访问权。
12.根据权利要求11的方法,其中所述访问阈值是根据所述数据文件何时被传送到所述目标用户而确定的时间。
13.根据权利要求11的方法,其中所述访问阈值是所述目标用户访问所述数据文件的次数。
14.根据权利要求8的方法,其中所述来自所述目标用户针对所述数据文件的访问权的请求包括用于访问所述数据文件的支付信息。
15.一种提供对数据文件的访问权的设备,包括:
文件创建模,用于生成数据文件;以及
策略创建模块,用于创建策略以及将所述策略与所述数据文件相关联,其中所述策略包括一个或多个未分配账号以及访问控制定义,所述访问控制定义用于定义与所述一个或多个未分配账号中的每一个相关联的访问许可,所述一个或多个未分配账号不与用户或实体相关联;
映射模块,用于将目标用户映射至所述一个或多个未分配账号中的第一未分配账号;
以及
认证模块,用于将用于所述第一未分配账号的认证数据传送到所述目标用户,以便根据与所述第一未分配账号相关联的访问许可来访问所述数据文件。
16.根据权利要求15的设备,其中所述访问许可包括以下至少一个:查阅、打印、编辑、分发和复制。
17.根据权利要求15的设备,还包括:
代理模块,用于接收允许所述目标用户访问所述数据文件的请求。
18.根据权利要求15的设备,其中所述认证模块传送新的认证数据以向所述目标用户提供所述数据文件的新的访问级别。
19.根据权利要求15的设备,还包括代理模块,用于接收来自所述目标用户的用于延续对所述数据文件的临时访问权的请求。
20.根据权利要求15的设备,其中所述认证数据是对应于所述第一未分配账号的用户名以及用于激活与访问控制定义相关联的访问密钥的口令,所述访问控制定义用于定义与所述一个或多个未分配账号相关联的访问许可。
21.根据权利要求15的设备,还包括代理模块,用于接收将所述数据文件传送到所述目标用户的请求。
22.根据权利要求15的设备,还包括代理模块,用于接收来自所述目标用户针对所述数据文件的访问权的请求。
23.根据权利要求15的设备,还包括代理模块,用于接收联系消息,其指示所述目标用户具有对所述数据文件的访问权。
24.根据权利要求17的设备,其中所述代理模块确定所述目标用户未在离线阈值时间内传送联系消息,并且撤消对所述数据文件的访问权。
25.根据权利要求17的设备,其中所述代理模块确定所述目标用户超过访问阈值而访问所述数据文件,并且撤消对所述数据文件的访问权。
26.根据权利要求25的设备,其中所述访问阈值是根据所述数据文件何时被传送到所述目标用户而确定的时间。
27.根据权利要求25的设备,其中所述访问阈值是所述目标用户访问所述数据文件的次数。
28.根据权利要求25的设备,其中所述来自所述目标用户针对所述数据文件的访问权的请求包括用于访问所述数据文件的支付信息。
29.一种提供对数据文件的访问权的方法,包括:
将策略与目标用户将要访问的数据文件相关联,所述数据文件包括一个或多个未分配账号,所述策略包括所述一个或多个未分配账号以及访问控制定义,所述访问控制定义用于定义与所述一个或多个未分配账号中的每一个相关联的访问许可,所述一个或多个未分配账号不与用户或实体相关联;
将所述目标用户与所述一个或多个未分配账号中的第一未分配账号相关联;以及将属于所述第一未分配账号的认证数据传送至所述目标用户。
30.根据权利要求29的方法,其中所述目标用户使用所述认证数据来访问所述数据文件。
31.一种提供对数据文件的访问权的方法,所述方法包括:
生成所述数据文件;
生成策略,所述策略包括一个或多个未分配账号以及访问控制定义,所述访问控制定义用于定义与所述一个或多个未分配账号中的每一个相关联的访问许可,所述一个或多个未分配账号不与用户或实体相关联;
将所述策略与所述数据文件相关联;
将所述策略内嵌在所述数据文件中;
将目标用户与所述一个或多个未分配账号中的第一未分配账号相关联;以及将属于所述第一未分配账号的认证数据传送至所述目标用户,所述目标用户使用所述认证数据来访问所述数据文件。
32.一种提供对数据文件的访问权的方法,所述方法包括:
将策略与目标用户将要访问的数据文件相关联,所述策略内嵌在所述数据文件中,所述策略包括一个或多个未分配账号以及访问控制定义,所述访问控制定义用于定义与所述一个或多个未分配账号中的每一个相关联的访问许可,所述一个或多个未分配账号不与用户或实体相关联;以及
将所述目标用户与所述一个或多个未分配账号中的第一未分配账号相关联。

说明书全文

数据文件访问控制

[0002] 本PCT申请要求享受2006年10月23日提交的、标题为“DATAFILE ACCESS CONTROL”的美国专利申请序列号11/585,418的申请日,根据35U.S.C.§120或365(c)在此要求优先权,并通过引用将其全部内容在此并入。

技术领域

[0003] 本申请涉及控制对数据文件的访问权。

背景技术

[0004] 通常,数据文件的分发者或发布者愿意以安全的方式分发数据文件,并且仅允许选定的目标用户有权访问。传统上,数据文件的分发者在数据文件管理系统内搜索需要包括在与访问数据文件相关联的策略中的目标用户。搜索结果只显示数据文件管理系统已知的目标用户。如果分发者发现目标用户不存在,则分发者可以通过向策略添加目标用户的电子邮件地址来添加目标用户,以及向目标用户发送邀请通知电子邮件来创建账号并将其包含在策略中。然而,一旦数据文件(以及策略)已经创建和分发,则在不创建新的数据文件和相关策略的情况下,其后无法添加新的目标用户。附图说明
[0005] 通过附图中的示例而非限制方式图示了本发明,附图中类似的参考标号指示类似的元件,其中:
[0006] 图1是示出了用于数据管理系统的操作环境的示例实施方式的框图
[0007] 图2A示出了包括嵌入的策略信息的数据文件的示例实施方式;
[0008] 图2B是数据库表格示例形式的访问控制列表(ACL)的实施方式;
[0009] 图3是示出了数据文件管理系统中认证和提供工作流的示例实施方式的框图;
[0010] 图4示出了用于数据文件控制和提供目标用户的示例实施方式的流程图
[0011] 图5是示出了用于提供向目标用户提供数据文件访问权的认证数据的示例实施方式的流程图;
[0012] 图6是示出了用于提供向目标用户提供数据文件访问权的认证数据的示例实施方式的流程图;
[0013] 图7是示出了用于监控数据文件的离线和在线访问权的示例实施方式的流程图;以及
[0014] 图8示出了计算机系统的示例形式的机器的图形化表示,在该计算机系统中可以执行一组指令以使得该机器执行此处所讨论的一个或多个操作。

具体实施方式

[0015] 在下面的描述中,出于解释的目的,阐述了多个具体细节以便提供对本发明的实施方式的全面理解。然而,对于本领域技术人员来说很明显,本发明可以不需要这些具体细节而实施。
[0016] 此处所使用的“数据文件”除其他之外包括“电子文档”以及“电子数据文件”。术语数据文件和电子数据文件包括一组电子数据,其既包括存储在便携式有形介质(例如压缩盘(CD)、闪存驱动等)上的数据文件中的电子数据,又包括通过网络接收以及动态处理或(永久性或临时性)存储以供随后处理的电子数据。电子数据可以包括但不限于,加密的文本文件和非加密的文本文件,音频文件/可视文件(例如,音乐、视频和语音)等等。数据文件可以表示为操作系统(OS)或软件应用的图形目标用户界面(GUI)中的单个数据文件图标。而且,对数据文件的参考不必对应于整个数据文件。例如,在一组协同文件中,数据文件可以是对整个数据文件的一部分的参考,等等。
[0017] “目标用户”是目标用户(个人)、目标用户群组、旨在于接收和访问安全数据文件的过程或实体。例如,目标用户可以是被定义为包括企业内的所有副经理的目标用户群组。为了简单起见,此处将目标用户主要用作目标个人。不过,可以理解,如上所定义的,目标用户可以是目标个人或实体的群组,而不脱离此处所述新颖特征及其等效物。过程可以是应用或程序。例如,对个人不提供访问权,但是对特定目标应用(除了其他应用之外)可以提供对数据文件的访问权。实体可以是一个或多个非个人,诸如机器或虚拟的电子邮件账号。
[0018] 其他术语包括:“目标用户管理系统”,其是包含目标用户账号信息(例如,轻量级目录访问协议(LDAP))的数据库;“提供”可以包括通过自我服务过程(例如,电子邮件注册过程)创建目标用户账号;“发布者”是分发数据文件的个人或实体;“策略”包括(除了其他之外)部分地定义了目标用户可以用来访问数据文件的一个或多个访问许可的访问控制定义,策略可以进一步包括嵌入有数据文件的组件以及服务器上的组件;“访问控制列表”(ACL)是目标用户与许可的映射(例如,Unassignedl(未分配1)和JohnSmith可以打印数据文件,而Unassigned2(未分配2)仅可以查阅数据文件,等等);以及对数据文件的“访问”包括但不限于打开、查阅、编辑、打印以及执行数据文件内的代码。
[0019] 在各种实施方式中,此处所描述的各种系统和技术可以与多种不同类型的数据文件一起使用。例如,便携式文档格式(PDF)数据文件。PDF数据文件的格式是California州San Jose市的 系统公司提出的。PDF数据文件是以平台无关数据文件格式的电子数据文件的一个实例,其可以定义电子数据文件的外观。这种数据文件格式可以是平台无关存储格式,其能够存储多种不同类型的数据,包括图形、动画和声音。所定义的外观可以针对多种类型的显示设备而定义,从而提供控制数据文件的界面格的数据文件创建器/编辑器,而无需考虑最终目的设备。在各种实施方式中,这种格式的数据文件的优点在于:数据文件管理系统不需要绑定在特定软件开发平台上的架构(例如,系统可以设计为在 和.NET上运行)。因此,数据文件管理系统可以容易地跨过各种平台而工作。
[0020] 在各种实施方式中,所描述的系统和技术可以在数据文件管理系统中使用,该数据文件管理系统继而可以由与数据文件管理有关的企业使用。数据文件管理系统可以作为单机系统或者作为另一系统的组件而运行,并且可以通过控制谁可以访问(例如查阅、编辑、打印)数据文件、数据文件是否驻留在服务器上、以及目标用户是在线访问还是以离线模式在本地访问,从而提供持久的数据文件安全。在一种实施方式中,数据文件管理系统的部分可以用于创建与数据文件相关联的策略,该数据文件可以分发给网络架构(诸如客户端-服务器架构)中的一个或多个目标用户(例如,在客户端机器上)。
[0021] 策略可以包括一个或多个未分配账号,这些未分配账号具有相关联的许可,这些许可与数据文件关联的各种权利(例如,打印、查阅、复制等)有关。当目标用户与包括(例如,嵌入)在数据文件的策略部分中的一个或多个未分配账号之一相关联时,该目标用户可以被授予对某些或整个数据文件的访问权。可以通过目标用户的请求或通过数据文件管理员选择(push out)目标用户,来提供将被授予访问权的目标用户。附加地,可以基于与数据文件的访问权相关联的规则来撤消访问权。例如,规则可以要求目标用户定期地在线访问服务器以续订数据文件等。在一种实施方式中,未分配账号可以重新使用。例如,一旦目标用户已经与未分配账号解除关系,则新的目标用户随后可以与该未分配账号相关联。在各种其他实施方式中,通过与不同的未分配账号相关联,目标用户可以请求或者被提供新的数据文件的访问级别。例如,新的访问级别可以采用扩大对数据文件访问的权限的形式。这些权限可以包括打印、保存、分发、编辑,等等。
[0022] 图1是示出用于数据管理系统100的操作环境的示例实施方式的框图。网络102提供在一个或多个客户端机器104、数据文件管理系统107的一个或多个服务器106、以及一个或多个企业系统108之间的通信链路。一个或多个服务器106可以包括数据库110,用于存储和维持与数据文件管理有关的数据,诸如数据文件、数据文件策略信息、认证信息等等。数据文件管理员112可以耦合到数据文件管理系统107和企业系统108中的一个或全部,以提供将要分发给客户端机器104的一个或多个目标用户的数据文件形式的内容。在各种示例实施方式中,数据文件管理员112可以是一个或多个数据文件的单个分发者、大量数据文件的许多分发者、或者第三方数据文件的管理员。
[0023] 网络102可以是现有技术中已知的、用于链接能够使用一个或多个联网协议来通信的机器的任何通信网络,包括但不限于局域网(LAN)、城域网(MAN)、广域网(WAN)、企业网络、虚拟专用网(VPN)、蜂窝网络和/或因特网。客户端机器104可以是通过网络102与数据文件管理系统107(服务器106)通信的任何机器或过程,并且数据文件管理系统107可以通过网络102与一个或多个企业系统108通信。而且,客户端机器104也可以通过网络102与一个或多个企业系统108通信。
[0024] 企业系统108可以配置以包括类似于数据文件管理系统107的单元,包括一个或多个存储系统、认证系统以及通信系统。为了简单起见,此处将数据文件管理系统107的功能描述为单机系统。然而,可以理解,包括其某些或全部功能的数据文件管理系统107可以实现在数据管理系统100的各种其他组件中,包括企业系统108,并且某些情况下包括客户端机器104。
[0025] 服务器106可以设计成与已有企业系统108集成,并且利用已有企业基本设施。例如,服务器106可以为企业中的目标用户和群组信息提供支持,其中此类信息可以来自多个源。服务器106可以提供数据文件(例如电子数据文件)安全。例如,数据文件管理系统107可以分发数据文件,以及有选择性地向目标用户提供可撤消的数据文件访问权。附加地,数据文件管理员112可以在数据文件中包括离线访问机制,该机制允许目标用户离线访问数据文件,即使该目标用户之前未在与数据文件相关联的策略定义中提供过或者对于数据文件管理系统107而言是未知的。
[0026] 图2A示出了包括嵌入的策略信息的数据文件202的示例实施方式。策略包括访问控制定义,该访问控制定义指示对于资源(诸如数据文件202),哪些目标用户可以具有何种访问许可。在各种实施方式中,每个数据文件有其自己特有的策略。例如,尽管某个数据文件在内容方面可以是另一数据文件的副本,但是它可以有自己特有的策略。因此,数据文件(例如数据文件202)的不同副本可以具有或者可以不具有不同的策略信息以提供对数据文件的访问权。
[0027] 在创建数据文件202的策略时,数据文件管理员112可以将嵌入数据204包括在数据文件202中。数据文件202的嵌入数据204包括与提供对数据文件主体206(诸如数据208)的全部或部分的访问相关联的策略数据。数据208可以包括但不限于音频数据、视频数据、文本数据、应用数据等。数据文件202可以由数据文件管理员112经由数据文件管理系统107和/或一个或多个企业系统108而分发。
[0028] 返回到嵌入数据204的示例实施方式,其可以包括一个或多个数据字段,诸如未分配账号210、访问许可212、已分配账号214以及访问密钥216。未分配账号214可以由数据文件管理员112(例如,创建者)来创建,并且初始地不与数据文件202中或数据文件管理系统107上真实的人或实体相关联。可以包括与未分配账号210相关联的访问密钥216,但是其在目标用户在客户端机器104本地或者经由数据文件管理系统107远程地认证之前不激活。在另一实施方式中,访问密钥216可以在客户端机器104接收到数据文件202并且经由数据文件管理系统107认证之后才提供。在又一实施方式中,访问密钥216可以通过数据文件202的可执行部分动态生成,以及可选地被传送到数据文件管理系统并且与未分配账号和目标用户之间的映射相关联。也可以实现这些实施方式的组合来保护数据文件202,以用于临时访问。
[0029] 嵌入数据204还可以包括已分配账号214。已分配账号214包括在数据文件创建中为其提供访问权的真实的目标用户(一个或多个人)或实体。未分配账号210和已分配账号214具有与每个账号相关联的访问许可212。例如,未分配账号“用户001”仅有查阅的访问或许可级别,而已经为对应于人员“John Doe”的已分配账号提供了复制和编辑的访问权。
[0030] 未分配账号210允许数据文件管理员112预留为在数据文件创建时仍未知的未来目标用户所提供的访问权。继而数据文件管理员112经由数据文件管理系统107可以向选定目标用户(例如,客户端机器104)动态提供访问权,而不必发布包括经由已分配账号214提供的新目标用户的新数据文件。例如,数据文件管理员112可以大量邮寄包括数据208和100,000个未分配账号的压缩盘。基于商业模型,诸如订阅模型,目标用户(客户端机器104)可以向数据文件管理系统107提供认证信息(例如,姓名、信用卡数据等等)。在满足与商业模型有关的要求的条件下,数据文件管理系统107继而可以向目标用户提供访问权(例如,经由电子邮件发送未分配的用户名和口令)。在一种实施方式中,条件性要求可以包括与数据文件管理系统107定期在线通信以重新确认认证。若缺少此类通信,则通过来自数据文件管理系统107的通信,或者如果离线则通过数据文件内定义的时限的过期,可以撤消临时访问权并且目标用户将丧失对数据文件的访问权。
[0031] 图2B是数据库表格220示例形式的访问控制列表(ACL)的实施方式。数据库表格220可以存储与未分配账号214相关联的认证和目标用户映射数据。在一种实施方式中,数据库表格220可以作为耦合至服务器106的数据库110的一部分而包含在数据文件管理系统107中。每次数据文件管理员112通过数据文件管理系统107为目标用户(例如,客户端机器104)提供对数据文件202的访问权时,就更新数据库表格220。目标用户可以传送想被提供的请求,或者目标用户可以直接由数据文件管理员112来提供。在前一种情况中,可以要求目标用户在初始请求中或者在与数据文件管理系统107的随后通信中提供认证信息。在后一种情况中,当直接由数据文件管理员112提供时,目标用户可以不必提供认证信息。
[0032] 在一种实施方式中,目标用户的提供被捕获和存储在数据库表格220中。数据库表格220包括标识符222,其唯一地标识其相关联的数据文件,在此示例中其相关联的数据文件是数据文件202。存储在数据库表格220中的未分配账号216(例如,用户001)类似于图2A中分发的数据文件202中的未分配账号214。目标用户映射218被数据文件管理系统107用于维持已经与每个未分配账号相关联的真实的目标用户/实体的映射。附加地,数据库表格220还维持哪些未分配账号216可用于被数据文件管理员112和数据文件管理系统107映射到其他目标用户。条目224通过示出数据库表格220中对应于第N个数据文件的第N个条目,图示了数据库表格220的可扩展性。
[0033] 图3是示出数据文件管理系统107中认证和提供工作流300的示例实施方式的框图。客户端机器104可以经由网络102与服务器106通信。服务器106可以包括代理模302以及认证模块304,以协助服务器106和客户端机器104之间的通信和认证。在一种实施方式中,客户端机器104从数据文件管理员112直接接收或者通过数据文件管理系统107接收数据文件202。在一种实施方式中,数据文件管理员112可以使用文件创建模块316和策略创建模块317来创建数据文件202,该数据文件202包括与控制对数据文件的访问权的策略相关联的嵌入数据204。在其他实施方式中,数据文件被创建在和/或嵌入数据204被附加在远离数据文件管理员112的系统上的数据文件202中,并且其可以由数据文件管理员112远程地或本地地协助。这样,文件创建模块316和策略创建模块317中的一个或二者可以放置在数据文件管理系统107内,诸如服务器106内,服务器可以包括专用策略服务器(未示出)。
[0034] 数据文件202的分发可以通过电子邮件附件、网络下载、计算机可读介质等,并且可以起源于服务器106,诸如代理模块302。代理模块302可以是专用代理服务器(未示出)的一部分,其可以包括另外的服务器功能和资源。例如,代理模块302可以包括策略服务器的功能,策略服务器包括策略创建模块317的功能以及各种客户端-服务器发起的操作(例如,策略数据嵌入、编辑、数据文件查阅、撤消访问、加密和保护数据文件,等等)。简单起见,与提供对数据文件(例如数据文件202)的访问权相关联的所有功能都针对代理模块302和认证模块304来描述。
[0035] 然而,在各种实施方式中,通信组件、代理组件以及认证组件可以全部或者部分驻留在客户端机器104处,驻留在数据文件管理系统107的一个或多个服务器106上,或者驻留在第三方系统(未示出)的一个或多个其他服务器上。客户端机器104和代理模块302可以配置为使用已有企业认证机制(例如,基于web的目标用户名/口令认证)或者实现定制认证机制(例如,定制应用、生物遗传认证、或智能卡系统)。例如,在客户端机器104和代理模块302之间的某些认证操作可以分别使用诸如微软 的产品以及诸如LDAP(轻量级目录访问协议)的协议来实现。可以理解,可以有众多硬件和软件配置来分发和处理与认证和提供对数据文件的访问权相关联的数据。
[0036] 在一种实施方式中,客户端机器104必须被认证以访问所接收的数据文件202。如上所述,术语“访问”可以包括但不限于,下载、打开、查阅、编辑、打印以及执行数据文件202内的代码。在各种实施方式中,认证包括在线或离线的各种操作以提供对数据文件(诸如数据文件202)的访问权。例如,客户端机器104可以通过网络102请求认证以便被提供访问权,或者备选地,可以向客户端机器104提供对数据文件202的访问权而无需请求认证。
[0037] 在一种实施方式中,认证包括:客户端机器104发送用于访问数据文件202的一个或多个客户端信息306至服务器106的代理模块302。例如,客户端机器104可以是首次请求访问数据文件202、传送用于续订当前访问权的续订请求、用于附加的或增加的访问权的请求、或者用于在时间阈值过期之前延续对以前接收到的数据文件的访问(离线或在线访问)的联系消息(例如,心跳消息)。请求可以包括认证数据,认证数据包括但不限于数据文件标识符(例如,文件名称、序列号等)、客户端信息(例如,个人数据、硬件配置数据等)以及访问证书,诸如用户名和口令(如果之前提供给客户端机器104的话)。
[0038] 基于客户端信息306中的信息,代理模块302可以通过向客户端机器104发送一个或多个服务器信息308来响应客户端的请求。客户端信息306和服务器信息308可以是现有技术已知的任何类型的网络通信。例如,客户端信息306和服务器信息308可以是HTML(超文本标记语言)、应用特定的协议、消息收发协议、电子邮件协议等中的任一或任何组合。
[0039] 服务器信息308可以包括以下中的一些或全部:对客户端信息306的拒绝、用户名和口令(如果客户端信息306得到认证的话)、以及可以包括可执行代码以进一步认证和提供目标用户(例如,客户端机器104)的配置数据。在包括可执行代码的实例中,服务器信息308可以是在被接收到后成为客户端机器104的组件、独立的与客户端机器104通信的组件、或者可以是数据文件查阅应用的插件,诸如California州San Jose市的系统公司提供的Adobe 软件。
[0040] 在一种实施方式中,服务器信息308可以结合客户端机器104上的一个或多个应用310提供并操作的接口模块312来使用,以将认证信息传送到代理模块302。例如,应用310可以包括基于服务器信息308与代理模块302通信的安全处理组件314。在其他实施方式中,服务器信息308可以是客户端认证库(例如,动态链接库(DLL))或服务器服务提供方。在各种实施方式中,认证和提供工作流300可以包括,在完成认证过程和提供对数据文件202的访问权之前,客户端机器104的应用310和代理模块302之间的多次反复通信。
[0041] 使用服务器信息308的认证模块304可以在客户端机器104位置处发起认证过程,根据需要来交接和控制任何本地硬件和/或软件(例如,生物遗传认证过程)。附加地,服务器信息308可以使用至少部分地由应用310提供的一个或多个接口,或者被其使用(例如,经由接口模块312)以将认证信息传送回代理模块302。服务器信息308可以实现广泛类型的不同认证过程,包括多级别和/或多因素认证,其可以取决于所请求的访问级别。由于服务器信息308可以响应于每个请求而动态递送,因此组织机构可以很容易地改变认证过程,诸如添加新的安全特征到数据文件管理系统107。
[0042] 服务器信息308可以向客户端机器104处的目标用户查询认证数据(例如,访问证书)。输入信息继而可以被编码并且在客户端信息306中返回给代理模块302或与代理模块302相关联的其他认证组件(例如,策略服务器或认证服务器330)。认证数据可以包括用户名、口令、账单信息(例如,信用卡数据)、第三方支付服务数据、生物遗传数据,等等。
[0043] 在一种实施方式中,认证数据是访问证书,诸如之前响应于目标用户利用客户端机器104传送用于请求对数据文件202的访问权的客户端信息306,而由代理模块302(经由认证模块304)提供的用户名和口令。用户名可以对应于数据文件202的嵌入数据204中的未分配用户名(例如,用户001),口令可以是生成以允许客户端机器104解密数据文件以及根据其策略和为该未分配目标用户所提供的访问权来访问数据文件的密钥。例如参考图2A,未分配目标用户“用户001”以及所提供的口令可以激活密钥“密钥001”,以向客户端机器104(目标用户)提供访问权。
[0044] 在另一实施方式中,数据文件管理员112可以不需要接收(例如,经由客户端信息306)请求而发起经由数据文件管理系统107向目标用户推送认证数据,以及可选地可以要求条件确认或者其他认证数据以完成处理。例如,推送出的认证数据可以是来自数据文件
202的未分配账号210的未分配用户名以及口令(例如,用于访问和/或激活访问密钥)。
客户端机器104继而可以接受与数据文件访问权相关联的各项并且提供确认响应。确认响应可以是用户名和口令,并且包括在客户端信息中,诸如客户端信息306。在另一实例中,推送出的认证数据可以是在时间阈值过期之前以及响应于客户端机器104(目标用户)符合目标用户协定(例如,提供按月支付等)的续订。在又一实例中,推送出的认证数据可以是与不同的未分配账号相关联的新的用户名和口令,因而是不同的访问许可。在各种实施方式中,响应于目标用户的请求或来自数据文件管理员112的选择,新的未分配账号与目标用户的关联可以是扩大或缩小对数据文件的访问权限。
[0045] 如果认证成功,则未分配用户名和口令继而可以使用映射模块318映射到客户端机器104(例如,通过真实的用户名)。例如,如参考图2B所讨论的,映射模块318可以将数据文件202的未分配账号“用户001”映射或关联至与客户端机器104有关的真实的目标用户,在此实例中是“Joe Jackson”。类似地,由于数据文件202被分发给多个目标用户,因此所有与数据文件202相关联的未分配账号216都可以映射到真实的目标用户。尽管示出为用户名,但是真实的目标用户可以有与真实实体有关的任何命名习惯。例如,用户名可以是电子邮件地址、公司名称、屏幕昵称等等。在另一实施方式中,数据库表格220可以包括访问密钥216(图3中未示出),尤其是当由数据文件202动态生成时。
[0046] 在另一实施方式中,全部或者部分认证可以在客户端机器104处执行。例如,认证模块304可以不需要直接解译客户端认证信息。代替客户端机器104直接向认证模块304提供证书,客户端机器104可以首先至少部分地认证临时访问权,继而向认证模块304提供一些作为结果的信息。在另一实例中,使用离线访问模块320的客户端机器104可以认证对数据文件202的临时访问权。离线临时访问权可以在预定的阈值时间后过期,除非经由数据文件管理系统107在线地重新认证。在各种实施方式中,重新认证可以包括续订数据、访问证书或指示目标用户在线且对文档的进行访问的联系消息。
[0047] 客户端机器104处的认证可以是与数据文件(例如数据文件202)相关或包含在其中的程序操作的结果,该程序操作包括在应用310中(例如,离线访问模块320)、第三方认证服务或应用中或其组合中。
[0048] 在各种实施方式中,认证模块304可以使用多个认证服务提供方。认证模块304可以通过传送一个或多个服务器信息308至客户端机器104来发起认证过程。与认证过程有关的服务器信息308可以安全地递送到客户端机器104。例如,使用安全代码库加载可以防止欺骗。如上所述,客户端机器104在本地可以有已经可用的一个或多个默认认证过程,诸如可以捕获目标用户名-口令文本输入的认证库。这种默认的认证过程可以包括对目标用户接口(UI)定制的支持以及用于在认证服务提供方内提取此信息的标准格式。而且,客户端机器104可以将证书保留一段时间,使得目标用户可以离线访问并且不需要在每次请求访问时(例如,打开数据文件202)登录。
[0049] 安全代码库加载可以实现在与数据文件管理系统107相关的任何服务器中,以将一个或多个认证库(例如,DLL、java字节码、java脚本等)推送到客户端(例如,客户端机器104)。认证库可以提供更新或定制客户端而无需目标用户部分的任何动作(或知识),并且还可以防止认证库受到客户端上的欺骗(例如,通过特洛伊木程序,等)。在各种实施方式中,可以提供一个或多个机制来验证从认证模块304下载的认证库的证明。例如,当认证模块304将认证库推送到客户端机器104时,认证模块304可以计算该库的哈希以及将此哈希发送至客户端机器104和/或在将其传送到客户端机器104之前对该认证库进行数字化签名。哈希可以保留在客户端本地,并且客户端机器104可以通过计算认证库的哈希以及针对加载时间时的保留值对其进行验证,从而确保认证库是合法的。附加地,可以由提供方对一组选定的库进行签名,或者可以由提供方对所有库进行签名,并且提供方的公钥可以保留在客户端机器104处(例如,当客户端机器104是包括有Adobe公钥的Adobe 软件时,可以由Adobe对DLL进行签名)。
[0050] 图4示出了用于数据文件控制和提供目标用户的示例实施方式的流程图。在一种实施方式中,在操作402处,创建数据文件(例如数据文件202)以分发至一个或多个客户端(例如,客户端机器104)。数据文件可以包括策略,其具有一个或多个未分配账号、已分配账号、一个或多个访问密钥(例如访问密钥216)以及针对每个账号定义一个或多个访问许可的访问控制定义。在一种实施方式中,当访问密钥被目标用户激活或访问(例如,经由用户名和口令)时,访问密钥可以解数据文件,或者根据与提供给目标用户的未分配用户有关的关联许可来提供对数据文件的访问权。
[0051] 在操作404处,数据文件被传送给客户端(目标用户)。在操作406处,在客户端收到数据文件之后,可以通过将目标用户与一个或多个未分配账号之一相关联,来向目标用户提供对数据文件的访问权。这可以包括提供用户名和口令以访问与数据文件和未分配账号相关的访问密钥。访问密钥安全可以是现有技术中公知的任何类型,诸如私钥/公钥安全、定制生成的,等等。
[0052] 图5是示出了用于提供向目标用户提供数据文件访问权的认证数据的示例实施方式的流程图。在操作502处,数据文件管理员112将数据文件(例如,数据文件202)以及认证数据经由数据文件管理系统107传送到客户端机器104。在一种实施方式中,认证数据包括访问证书,诸如对应于数据文件的嵌入数据(例如,嵌入数据204)中的未分配账号的用户名以及可以激活访问密钥的口令,从而根据与该未分配账号相关的访问控制定义提供对数据文件的访问权。
[0053] 在操作504处,数据文件管理系统107继而可以通过将与数据文件相关的未分配账号映射到接收认证数据以访问数据文件的客户端(目标用户),从而更新数据库表格(例如,数据库表格220)。在操作506处,确定是否已接收到验证,该验证针对目标用户已访问数据文件。如果在操作508处确定是,则在操作510处,数据文件管理系统107记录已接收到验证。如果否,在操作512处,若在阈值时间内访问未被验证,则数据文件管理系统107可以撤消对数据文件的访问权。对访问权的撤消可以基于哪个未分配账号已经分配给目标用户。例如,一个未分配账号可以配置为不要求验证,而其他可能要求验证。在另一实施方式,可以授予目标用户这样的访问权,使得目标用户可以永久地控制数据文件的使用和分发。
[0054] 图6是示出了用于向目标用户提供认证数据的示例实施方式的流程图。在操作602处,在数据文件管理系统107处接收来自目标用户的请求,该目标用户请求提供对分发的数据文件(例如,数据文件202)的访问权。在一种实施方式中,如上所述,该请求可以是认证数据,其包括访问证书,诸如个人数据、信用卡信息、用户名等。
[0055] 在操作604处,检查请求以确定提供响应。例如,可以向目标用户提供配置为对数据文件进行管理类型访问权的未分配账号,或者可以向用户提供要求定期提交以维持访问权(例如,续订)的未分配账号。在操作606处做出决定,以便基于一个或多个参数(诸如在请求中接收的认证数据和/或未分配账号的可用性)确定是否批准提供。如果提供未被批准,则数据文件管理系统107可以忽略该请求或者可以将认证失败消息传送给目标用户。如果提供被批准,则在操作608处,另外的认证数据被传送到目标用户,并且可以更新数据库表格以将与数据文件相关的未分配账号的分配映射到目标用户。如上所述,另外的认证数据可以是用户名和口令,以访问用于访问数据文件的安全(访问)密钥。
[0056] 图7是示出了用于监控对数据文件的离线和在线访问权的示例实施方式的流程图。在操作702和704处,创建数据文件(诸如数据文件202)并将其分发至一个或多个目标用户。数据文件202可以包括嵌入数据(诸如嵌入数据204),嵌入数据包括确定目标用户可以以离线模式访问该文档多长时间的阈值时间。离线访问包括至少一个目标用户或数据文件应用(或其内的可执行代码)没有与数据文件管理系统107至少定期联系的情况。联系可以包括诸如心跳消息、电子邮件、或用于指示对数据文件202继续感兴趣的其他自定义数据传送的信息。
[0057] 在操作706,如果已收到联系消息,则在操作708处数据文件管理系统107允许目标用户继续访问数据文件202。如果在操作710处,由于超出访问阈值而对数据文件202的访问权已经过期,则在操作714处撤消访问权并且根据数据库表格220的映射部分以反映此撤消。如果没有超出访问阈值,则流程返回到操作706。在各种实施方式中,访问阈值与各种过期参数有关。例如,访问阈值可以是基于数据文件管理系统107何时将数据文件传送到目标用户的预定时间期限。在另一实例中,访问阈值可以是如由在与目标用户的定期通信中确定的访问计数所确定的访问次数。
[0058] 如果在操作706处,没有接收到联系消息,则在操作712处,数据文件管理系统107检查是否超出离线阈值时间。如果是,则在操作714处撤消访问权以及更新数据库表格220的映射部分以反映此撤消。如果离线定时器没有到期,则流程返回到操作706,再次检查联系消息。离线定时器可以或者可以不与文档和/或其相关应用有关的内部离线定时器同步。在各种实施方式中,当离线定时器到期后,可以要求目标用户再次提供用于访问数据文件的原始证书,或者可以基于由数据文件管理员112确定的规则和策略来要求目标用户接收或请求用于访问数据文件的新证书。
[0059] 图8示出了计算机系统800的示例形式的机器的图形化表示,其中可以执行一组指令以使得该机器执行此处所讨论的一个或多个操作。在备选实施方式中,机器作为单机设备而运转或者可以连接(例如,联网)至其他机器。在联网的部署中,机器可以作为服务器-客户端网络环境中的服务器或客户端机器而运转,或者可以作为对等(或分布式)网络环境中的对等机器而运转。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、网络路由器、交换机或桥、或能够执行规定机器要采取的动作的一组指令(顺序地或其他方式)的任何机器。而且,尽管只示出了单个机器,但是术语“机器”应当认为包括独立地或联合地执行一组(或多组)指令以执行此处所讨论的任意一个或多个操作的机器的任何集合。
[0060] 示例计算机系统800包括处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)或二者)、主存储器804以及静态存储器806,它们经由总线808相互通信。计算机系统800可以进一步包括视频显示单元810(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统800也包括字母数字输入设备812(例如,键盘)、目标用户界面(UI)导航设备
814(例如,鼠标)、磁盘驱动单元816、信号生成设备818(例如,扬声器)以及网络接口设备
820。
[0061] 磁盘驱动单元816包括机器可读介质822,其上存储有一组或多组指令和数据结构(例如,软件824),这些指令和数据结构实现此处所描述的一个或多个操作或功能,或者被其使用。软件824也可以完全或者至少部分地驻留在主存储器804内和/或在计算机系统800执行软件824的期间驻留在处理器802内,主存储器804和处理器802也构成机器可读介质。
[0062] 软件824可以利用多种公知的传输协议(例如HTTP)中的任一种、经由网络接口设备820、通过网络826来进一步发射或接收。
[0063] 尽管在示例实施方式中示出的机器可读介质822是单个介质,但是术语“机器可读介质”应当认为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关的缓存和服务器)。术语“机器可读介质”应当还认为包括能够存储、编码或携带由机器执行以及使得机器执行本发明的任何一个或多个操作的指令集的任何介质,或者包括能够存储、编码或携带能够被此类指令集使用或与其相关的数据结构的任何介质。术语“机器可读介质”相应地应当认为包括但不限于固态存储器、光介质和磁介质以及载波信号。
[0064] 尽管已经参考具体示例实施方式描述了本发明的实施方式,但是很显然,可以对这些实施方式做出各种变形和改变而不偏离本发明较宽的精神和范围。相应地,说明书和附图应视为示意性的而不是限制性的。
QQ群二维码
意见反馈