CN116108423B - 开放版式文档ofd的权限管理方法及装置 - Google Patents
开放版式文档ofd的权限管理方法及装置 Download PDFInfo
- Publication number
- CN116108423B CN116108423B CN202310385753.8A CN202310385753A CN116108423B CN 116108423 B CN116108423 B CN 116108423B CN 202310385753 A CN202310385753 A CN 202310385753A CN 116108423 B CN116108423 B CN 116108423B
- Authority
- CN
- China
- Prior art keywords
- authority
- node
- target
- sub
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种开放版式文档OFD的权限管理方法及装置,涉及计算机技术领域,该方法包括:获取OFD文档和OFD文档对应的权限节点;权限节点包括至少一个权限子节点;基于各权限子节点和目标口令,确定目标权限;基于目标权限,对OFD文档执行目标权限对应的操作。通过在OFD文档中设置权限节点,且权限节点包括至少一个权限子节点,为满足实际业务需求,用户能够根据各权限子节点调整权限,确定实际需要的目标权限,对OFD文档在目标权限的范围内执行相应的操作,并且在OFD文档的离线传输过程中,可以向接收OFD文档的用户逐级分发调整的目标权限,从而实现对OFD文档权限的细化管理,提升了用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种开放版式文档OFD的权限管理方法及装置。
背景技术
开放版式文档(Open Fixed-layout Document,OFD)规范对OFD文档的权限进行了定义,例如,是否允许编辑(Edit)、是否允许添加或修改标注(Annot)、是否允许导出(Export)等权限,但针对OFD文档权限的修改或设置,OFD规范并未提及。在使用OFD的业务系统中,利用业务系统后台管理端中的权限管理模块设定哪些角色可修改或设置文档权限,该方式的不足之处是这些文档权限被记录在管理端中,权限的控制无法脱离管理端,在一些不便于部署管理端的场景中不能进行权限控制。
在与OFD类似的板式文档PDF中,采用口令或证书加密的方式来部分解决权限的控制无法脱离管理端的问题。以口令为例,PDF中分为用户口令和所有者口令,其中,用户口令决定使用者是否有权限打开PDF文档,所有者口令决定使用者是否有权限修改PDF文档。这样,PDF自身就携带有权限管理的信息,并不依赖管理端。
然而,采用口令或证书加密的方式,PDF文档的权限设置和修改,只能由主级管理者进行设置和修改,在大量有次级管理者的业务模式中,难以对文档权限进行细化管理。因此,如何实现OFD文档权限的细化管理,是亟待解决的技术问题。
发明内容
本发明提供一种开放版式文档OFD的权限管理方法及装置,用以解决如何实现OFD文档权限的细化管理的问题。
本发明提供一种开放版式文档OFD的权限管理方法,包括:
获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;
基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;
基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述基于各所述权限子节点和所述目标口令,确定所述目标权限,包括:
基于各所述权限子节点和所述目标口令,将所述目标口令对应的目标数据依次与各所述权限子节点对应的加密数据进行匹配;
基于匹配的结果,确定所述目标权限。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述基于匹配的结果,确定所述目标权限,包括:
在所述目标数据与所述加密数据匹配失败的情况下,将所述目标数据与下一个权限子节点对应的加密数据进行匹配;
在所述目标数据与所述加密数据匹配成功的情况下,将所述加密数据对应的权限子节点中的权限信息确定为所述目标权限。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述基于各所述权限子节点和所述目标口令,确定所述目标权限,包括:
基于各所述权限子节点,确定目标权限子节点;
基于所述目标权限子节点和所述目标口令,校验所述目标权限子节点;
在所述目标权限子节点校验成功的情况下,基于所述目标权限子节点,生成目标信息;所述目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息;所述新的权限信息对应的权限范围小于所述目标权限子节点的权限信息对应的权限范围;
基于所述目标信息和所述目标权限子节点,确定所述目标权限。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述基于所述目标信息和所述目标权限子节点,确定所述目标权限,包括:
获取用户输入的第一口令;
将所述第一口令分别与所有的权限子节点分别对应的口令进行匹配,确定第二口令;
基于所述第二口令和所述目标权限子节点,生成新的加密数据;
基于所述新的加密数据和所述目标信息,生成新的权限子节点;
将所述新的权限子节点中的新的权限信息确定为所述目标权限。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述方法还包括:
分别对所述目标权限子节点的所述目标口令、所述第二口令、所述目标权限子节点与所述新的权限子节点之间的关系进行校验;
在所述新的权限子节点中的新的指示信息为允许修改的情况下,基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点;所述更新后的权限子节点对应的权限范围小于所述目标权限子节点对应的权限范围;
将所述更新后的权限子节点中的权限信息确定为所述目标权限。
根据本发明提供的一种开放版式文档OFD的权限管理方法,所述基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点,包括:
基于所述目标权限子节点,分别更新所述新的权限子节点中的新的权限信息、新的加密算法和新的指示信息;
基于所述第二口令和更新之后的新的权限信息、更新之后的新的加密算法和更新之后的新的指示信息,更新所述新的权限子节点中的新的加密数据;
基于更新之后的新的权限信息、更新之后的新的加密算法、更新之后的新的指示信息和更新之后的新的加密数据,得到更新后的权限子节点。
本发明还提供一种开放版式文档OFD的权限管理装置,包括:
获取模块,用于获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;
第一确定模块,用于基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;
执行模块,用于基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述开放版式文档OFD的权限管理方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述开放版式文档OFD的权限管理方法。
本发明提供的开放版式文档OFD的权限管理方法及装置,通过获取OFD文档和OFD文档对应的权限节点;权限节点包括至少一个权限子节点;权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改权限子节点;再根据各权限子节点和目标口令,确定目标权限;基于目标权限,对OFD文档执行目标权限对应的操作。通过在OFD文档中设置权限节点,且权限节点包括至少一个权限子节点,权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改所述权限子节点,为满足实际业务需求,用户能够根据各权限子节点调整权限,确定实际需要的目标权限,对OFD文档在目标权限的范围内执行相应的操作,并且在OFD文档的离线传输过程中,可以向接收OFD文档的用户逐级分发调整的目标权限,从而实现对OFD文档权限的细化管理,提升了用户体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之一;
图2是本发明提供的权限节点的示意图;
图3是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之二;
图4是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之三;
图5是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之四;
图6是本发明提供的开放版式文档OFD的权限管理装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本申请各实施例,首先对一些相关背景知识进行如下介绍。
在与OFD类似的板式文档PDF中,采用口令或证书加密的方式来部分解决权限的控制无法脱离管理端的问题。但是,不足是在文档离线传输过程中难以对文档权限进行细化管理。例如,不失一般性,以OFD中的权限条目和PDF口令模式为例进行说明,其中,用户A拥有某文档的用户口令和所有者口令,为文档设置了是否允许编辑(Edit)、是否允许添加或修改标注(Annot)、是否允许导出(Export)和是否标记(Signature)等4个文档权限。用户A将文档拷贝给用户B,同时告知用户B口令,这样B就可以正常浏览该文档,同时可进行Edit、Annot、Export和Signature等4项操作。现用户B将文档拷贝给用户C,并希望在自己拥有的这4项权限的基础上去除Export和Signature权限,使用户C只拥有Edit和Annot等两项权限。
在现有技术下只有两种方式实现,包括:1、用户B向用户A询问所有者口令,从而用户B获得完全管理文档权限的权限,就可任意调整文档权限,当然也就包括去除Export和Signature权限,但与用户A只希望用户B拥有部分文档权限(例如,Edit、Annot、Export和Signature)的初衷不符。2、利用类似PDF公钥安全处理的机制,用户A创建文档时就同时设置好对应所有者口令1(Edit、Annot、Export和Signature权限)以及对应所有者口令2(Edit和Annot权限),将这两个口令都告知用户B,用户B将文档拷贝给用户C时,同时告知用户C对应所有者口令2即可,但该方式的不足是所有文档权限的设置和修改都只能由用户A进行操作,这在大量有次级管理员的业务模式中并不适用,例如,用户B作为次级管理人员,希望能在自己的职责范围内局部设置文档权限,并进行下一步的分发。
当前的技术无法对OFD文档权限进行有效管理,更难以在文档离线传输过程中对文档权限进行细化管理。针对现有技术的不足,本发明提供了一种开放版式文档OFD的权限管理方法,可一定程度上弥补OFD文档权限难以管理的缺陷。
下面结合图1-图5描述本发明的开放版式文档OFD的权限管理方法。
图1是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之一,如图1所示,包括步骤101-步骤103;其中,
步骤101,获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点。
需要说明的是,本发明提供的开放版式文档OFD的权限管理方法适用于OFD文档的分发场景中,该方法的执行主体可以为开放版式文档OFD的权限管理装置,例如电子设备、或者该开放版式文档OFD的权限管理装置中的用于执行开放版式文档OFD的权限管理方法的控制模块。
具体地,用户通过OFD阅读器打开OFD文档,OFD文档中预先配置权限节点,从而OFD阅读器获取到OFD文档和OFD文档对应的权限节点;其中,权限节点(Rights)中包括至少一个权限子节点(Right);所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改权限子节点。
图2是本发明提供的权限节点的示意图,如图2所示,在现有OFD规范的文档(Document)节点下,增加权限节点(Rights)。其中,准许(Permission)节点是现有OFD规范中的节点,记录该OFD文档的操作权限,例如,是否允许编辑(Edit)、是否允许添加或修改标注(Annot)、是否允许导出(Export)和是否允许标记(Signature)等8项权限。
Rights包含有若干个权限子节点Right(1,···,n),其中,Right由标识信息(ID)、父节点信息(Parent)、权限信息(P)、加密数据(O)、加密算法(R)和指示信息(Closed)等元素组成,各元素的含义为:
ID:表示Right的唯一标识,例如,ID=4的Right,在不同场景下,可以用Right4或者节点4表示该Right,用Parent4、P4、R4、O4、Closed4等表示该Right中的元素,用口令4表示用户为该Right设置的口令,口令用于指示Right对应的权限信息,例如,口令为12345。
Parent:表示该Right的父节点的ID,例如,Right4的父节点的ID为2,则Right4的Parent为2。
P:表示该Right对应的权限字符串,例如“0x74,14,2022-01-01-2024-06-29”,表示该Right拥有Annot、Signature和Printable这三类操作权限,打印份数上限为14份,最早可访问文档的时间为2022-01-01,最后可访问文档的时间为2024-06-29。在现有的OFD规范中,文档权限信息用权限字符串明文表示,而在本申请实施例中,将权限信息用一个4字节的整数中的不同位(bit)表示。
具体地,在OFD文档中总共规定了8个权限信息,前7个是“是/否允许”,可用整形的7个位进行编码,其中,0为不允许,1为允许,如表1所示,表1为前7个位进行编码的权限信息。
表1.前7个位进行编码的权限信息
其中,第7个权限信息(Printable)有一个附加参数复制(Copies),Copies表示允许打印时可打印的份数,可用一个4字节的整形表示。
第8个权限信息为有效期,即此文档允许访问的期限,例如,采用如"2015-07-29"的字符串表示。例如,用权限字符串“0x74,14,2022-01-01-2024-06-29”表示该Right拥有Annot、Signature和Printable这三类操作权限,打印份数上限为14份,最早可访问文档的时间为2022-01-01,最后可访问文档的时间为2024-06-29。
O:表示该Right对应的加密数据。具体地,用户为该Right中的权限信息设置口令,用口令生成密钥,再用密钥对该Right中除O外其他元素(ID、Parent、P、R和Closed)加密所得的数据。
需要说明的是,与PDF中用U元素控制文档的可见性不同,本申请实施例保持对现有OFD规范的兼容,不对OFD的文档的可见性做限制,只用O对文档的操作权限和修改操作权限的情况进行规定。
R:表示加密算法,即指定生成密钥及加密的算法,一般包括高级加密标准(Advanced Encryption Standard,AES)和流加密算法(Rivest Cipher 4,RC4)两类。
Closed:表示该Right是否允许修改,其中,0表示该Right未被关闭,允许修改;1表示该Right被关闭,不允许修改;Closed的初始值为0。一般在OFD文档未分发出去之前,用户可以删除或修改自己创建的权限信息,但当OFD文档一旦被分发出去,就不允许再修改权限信息,因此,用户应在OFD文档被分发出去前将Closed置为1。
步骤102,基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的。
具体地,目标权限表示用户需要对OFD文档执行操作的权限,例如,目标权限为编辑、打印、修改、删除或者新增。目标口令是基于各权限子节点的口令确定的,各权限子节点的口令用于指示各权限子节点对应的权限信息。在用户拿到OFD文档之后,并不能够直接对OFD文档进行某些操作,必须在得到操作对应的目标权限之后,才能在OFD阅读器中对OFD文档执行操作。因此,根据获取的OFD文档的各权限子节点和目标口令,可以进一步确定执行操作的目标权限。
步骤103,基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
具体地,在确定目标权限之后,用户根据目标权限在OFD阅读器中可以对OFD文档执行目标权限对应的操作。
本发明提供的开放版式文档OFD的权限管理方法,通过获取OFD文档和OFD文档对应的权限节点;权限节点包括至少一个权限子节点;权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改权限子节点;再根据各权限子节点和目标口令,确定目标权限;基于目标权限,对OFD文档执行目标权限对应的操作。通过在OFD文档中设置权限节点,且权限节点包括至少一个权限子节点,权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改所述权限子节点,为满足实际业务需求,用户能够根据各权限子节点调整权限,确定实际需要的目标权限,对OFD文档在目标权限的范围内执行相应的操作,并且在OFD文档的离线传输过程中,可以向接收OFD文档的用户逐级分发调整的目标权限,从而实现对OFD文档权限的细化管理,提升了用户体验。
进一步地,用户在拿到OFD文档后,可对OFD文档进行浏览、打印或编辑、新增、修改或删除等权限操作。本申请实施例中,不对OFD浏览进行约束,遵从现有的OFD规范进行即可。因此,接下来分别对表1中的权限信息、新增、修改或删除等权限操作进行详细说明。
1、表1中的权限信息
可选地,上述步骤102的具体实现方式包括:
基于各所述权限子节点和所述目标口令,将所述目标口令对应的目标数据依次与各所述权限子节点对应的加密数据进行匹配;基于匹配的结果,确定所述目标权限。
需要说明的是,用户在获取OFD文档时,可以获取OFD文档的各权限子节点中某些权限信息的口令,例如,获取OFD文档的Right2的权限信息对应的打印或编辑操作权限的口令。因此,目标口令为用户获取的各权限子节点中某些权限信息的口令,例如打印或编辑操作权限的口令。在用户需要进行规定范围内的OFD文档权限信息的操作时,用户需要输入OFD文档权限信息的目标口令。目标数据是将目标口令生成密钥,再根据加密算法使用密钥权限子节点中除加密数据之外的其他元素进行加密得到的数据。
具体地,各权限子节点中包括加密数据(O)和加密算法(R)。OFD阅读器读取Document中的Rights,若不存在Rights,则按现有的OFD规范进行权限控制。否则,OFD阅读器基于各权限子节点和目标口令,依次对Rights中的各权限子节点进行遍历,在对各权限子节点进行遍历的过程中,将目标口令对应的目标数据依次与各权限子节点对应的加密数据进行匹配,基于匹配的结果,进一步确定目标权限。例如,针对第一个权限子节点进行遍历,将目标口令生成密钥,根据第一个权限子节点中的加密算法(R),使用密钥对第一个权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和第一个权限子节点中的加密数据(O)进行匹配,基于匹配的结果,进一步确定是否遍历第二个权限子节点。
可选地,所述基于匹配的结果,确定所述目标权限,包括:
在所述目标数据与所述加密数据匹配失败的情况下,将所述目标数据与下一个权限子节点对应的加密数据进行匹配;在所述目标数据与所述加密数据匹配成功的情况下,将所述加密数据对应的权限子节点中的权限信息确定为所述目标权限。
具体地,在目标数据O’和第一个权限子节点中的加密数据(O)匹配失败的情况下,遍历第二个权限子节点,根据第二个权限子节点中的加密算法(R),使用密钥对第二个权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和第二个权限子节点中的加密数据(O)进行匹配。依次类推,直至目标数据O’和加密数据(O)匹配成功。
在目标数据与加密数据匹配成功的情况下,将加密数据对应的权限子节点中的权限信息确定为目标权限。例如,Right2中的权限信息为“0x74,14,2022-01-01-2024-06-29”,表示可对OFD文档进行Annot、Signature和Printable这三种操作,打印最大份数为14,文档可访问的起始时间为2022-01-01至2024-06-29,用户可在该权限信息下进行对应的操作。
需要说明的是,在对各权限子节点遍历的过程中,若所有权限子节点都未匹配成功,则OFD阅读器提醒用户口令错误,需重新输入。
图3是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之二,如图3所示,包括步骤301-步骤312;其中,
步骤301,用户通过OFD阅读器打开OFD文档。
步骤302,用户点击打印或者编辑,向OFD阅读器发起打印或者编辑操作请求。
步骤303,OFD阅读器获取到OFD文档以及OFD文档对应的权限节点。
步骤304,OFD阅读器读取权限节点(Rights)。
步骤305,判断是否存在权限节点。在存在权限节点的情况下,转至步骤306;在不存在权限节点的情况下,转至步骤307。
步骤306,OFD阅读器读取权限节点中的权限子节点,并弹出输入口令的对话框。
步骤307,按照现有OFD规范进行权限控制。
步骤308,用户在对话框中输入目标口令。
步骤309,OFD阅读器校验目标口令。具体地,OFD阅读器获取用户输入的目标口令,将目标口令生成密钥,根据第一个权限子节点中的加密算法(R),使用密钥对第一个权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和第一个权限子节点中的加密数据(O)进行匹配。
步骤310,判断是否匹配成功。在匹配失败的情况下,转至步骤306;在匹配成功的情况下,转至步骤311。
步骤311,确定目标权限。将加密数据对应的权限子节点中的权限信息确定为目标权限。
步骤312,用户对OFD文档执行目标权限对应的操作。
2、新增权限
可选地,上述步骤102的具体实现方式包括:
a)基于各所述权限子节点,确定目标权限子节点。
具体地,用户在获取到OFD文档以及OFD文档中某个权限子节点的口令时,即用户在拥有了某Right节点口令的前提下,可以以该Right节点为基础节点新增新的Right节点。用户通过OFD阅读器打开OFD文档,则OFD阅读器获取到OFD文档以及各权限子节点。用户通过点击新增权限向OFD阅读器发起新增权限请求时,OFD阅读器获取到新增权限请求,OFD阅读器弹出对话框,对话框包括各权限子节点,此时用户从各权限子节点中选择目标权限子节点,可以以该目标权限子节点作为基础权限节点新增权限子节点,从而新增权限信息。在用户选择目标权限子节点之后,OFD阅读器确定目标权限子节点。
b)基于所述目标权限子节点和所述目标口令,校验所述目标权限子节点。
具体地,目标口令为用户预先获取到目标权限子节点对应的口令,在OFD阅读器确定目标权限子节点之后,弹出对话框,用户在该对话框中输入目标口令,OFD阅读器根据目标口令和目标权限子节点,将目标口令生成密钥,根据目标权限子节点中的加密算法(R),使用密钥对目标权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和目标权限子节点中的加密数据(O)进行匹配。在目标数据O’和目标权限子节点中的加密数据(O)匹配的情况下,目标权限子节点校验成功。在目标数据O’和目标权限子节点中的加密数据(O)不匹配的情况下,目标权限子节点校验失败,说明用户输入的目标口令不正确,需要重新获取目标权限子节点的口令。
需要说明的是,用户在新增新的Right节点时,需要先验证基础节点的口令(目标权限子节点的目标口令),在验证通过后才能新增新的Right节点。例如,拥有Right2权限的用户,希望增加Right4,则OFD阅读器应先验证用户是否输入了Right2的正确口令。验证通过后,可新增Right4,验证通过,表明用户获取的基础节点的口令的正确的,一方面可以表明用户身份,另一方面可以表明用户被赋予的权限,从而用户能够在被赋予的权限范围内新增新的Right节点。
c)在所述目标权限子节点校验成功的情况下,基于所述目标权限子节点,生成目标信息;所述目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息;所述新的权限信息对应的权限范围小于所述目标权限子节点的权限信息对应的权限范围。
具体地,在目标权限子节点校验成功的情况下,用户在OFD文档的界面上以目标权限子节点为基础,调整权限,即在目标权限子节点的权限范围内,选择目标权限子节点中的权限信息对应的权限,进而OFD阅读器根据用户调整的目标权限子节点中的权限信息对应的权限,生成目标权限信息;目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息。
其中,新的权限信息对应的权限范围小于目标权限子节点的权限信息对应的权限范围,新的权限信息可以是目标权限子节点中的权限信息的部分权限,即新的权限信息对应的权限范围不能超过目标权限子节点(基础节点)的权限范围。例如,拥有Right2权限的用户,在创建Right4时,只能在“0x74,14,2022-01-01-2024-06-29”的范围内设置权限,例如设置Signature和Printable这两种权限操作,打印最大份数为13,文档可访问的起始时间为2022-03-01至2024-04-29,新的权限信息用P元素可以表达为“0x72,13,2022-03-01-2024-04-29”。可见,权限信息在文档流转的过程中是逐级减小的。
新的加密算法可以是目标权限子节点中的加密算法,也可以是重新设置的加密算法。新的标识信息为新增的新的权限子节点的标识,例如Right4。新的父节点信息为目标权限子节点,例如,目标权限子节点为Right2,则新的权限子节点Right4中的新的父节点信息为Right2。新的指示信息(Closed)为0,在用户分发OFD文档时,将新的指示信息设置为1,表明下级用户不可以对OFD文档进行修改。
d)基于所述目标信息和所述目标权限子节点,确定所述目标权限。
具体地,根据生成的目标信息和目标权限子节点,可以进一步确定目标权限。
可选地,所述基于所述目标信息和所述目标权限子节点,确定所述目标权限,包括:
1)获取用户输入的第一口令。
具体地,用户需要为新增的新的权限子节点设置第一口令,用户在为新的权限子节点设置第一口令时,OFD阅读器弹出对话框,用户在对话框中输入第一口令,OFD阅读器获取到用户输入的第一口令。
2)将所述第一口令分别与所有的权限子节点分别对应的口令进行匹配,确定第二口令。
具体地,OFD阅读器对OFD文档中所有的权限子节点进行遍历,将第一口令分别与所有的权限子节点分别对应的口令进行匹配。
在第一口令与所有的权限子节点分别对应的口令中任一个口令存在匹配的情况下,表明第一口令与该任一个口令重复,需要用户重新设置第一口令,直至与所有的权限子节点分别对应的口令中任一个口令不重复为止,此时设置的不重复的第一口令作为第二口令,从而确定第二口令。
在第一口令与所有的权限子节点分别对应的口令均不匹配的情况下,表明第一口令与所有的权限子节点分别对应的口令不重复,第一口令可以作为新的权限子节点的口令,此时第二口令就是第一口令。
需要说明的是,用户在为新的权限子节点(新的Right)设置口令时,应尽量避免出现同一个口令对应两组不同权限的情况。OFD阅读器应对Rights下的所有的权限子节点(所有Right)进行口令校验,如果新的权限子节点的口令与已存在的任一权限子节点的口令重合,应提示用户重新设置口令。
例如,分别拥有Right2和Right3权限的用户,在拿到的OFD文档中都包含Right1、Right2和Right3这三个权限子节点,则基于Right2创建的Right4的口令,以及基于Right3创建的Right6的口令,均不能与已存在的Right1、Right2和Right3各自对应的口令相同,但无法避免基于Right2创建的Right4的用户为Right4设置的口令与基于Right3创建的Right6的用户为Right6设置的口令可能相同。
3)基于所述第二口令和所述目标权限子节点,生成新的加密数据。
具体地,在设置好新的权限子节点的第二口令之后,OFD阅读器根据第二口令和目标权限子节点中的加密算法,将第二口令生成密钥,根据目标权限子节点中的加密算法(R),使用密钥对新的权限子节点中除加密数据(O)之外的其他元素进行加密,得到新的加密数据。
4)基于所述新的加密数据和所述目标信息,生成新的权限子节点。
具体地,根据新的加密数据和目标信息,可以生成新的权限子节点,其中,新的权限子节点包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息、新的加密数据和新的指示信息。
5)将所述新的权限子节点中的新的权限信息确定为所述目标权限。
具体地,在新的权限子节点新增完成之后,可以将新的权限子节点中的新的权限信息确定为目标权限,用户可以根据目标权限对OFD文档在目标权限范围内进行操作,而且在将OFD文档传输过程中,用户可以将新的权限子节点中的新的权限信息分发至其他用户,从而其他用户能够在新的权限信息的范围内执行对应的操作。
图4是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之三,如图4所示,包括步骤401-步骤417;其中,
步骤401,用户通过OFD阅读器打开OFD文档。
步骤402,用户点击新增权限,向OFD阅读器发起新增权限请求。
步骤403,OFD阅读器弹出对话框,对话框包括各权限子节点。
步骤404,用户从各权限子节点中选择目标权限子节点,可以以该目标权限子节点作为基础权限节点新增权限子节点。
步骤405,在用户选择目标权限子节点之后,OFD阅读器确定目标权限子节点,并弹出对话框。
步骤406,用户在对话框出输入目标权限子节点对应的目标口令。
步骤407,OFD阅读器对目标权限子节点进行校验。OFD阅读器根据目标口令和目标权限子节点,将目标口令生成密钥,根据目标权限子节点中的加密算法(R),使用密钥对目标权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和目标权限子节点中的加密数据(O)进行匹配。在目标数据O’和目标权限子节点中的加密数据(O)匹配的情况下,目标权限子节点校验成功。在目标数据O’和目标权限子节点中的加密数据(O)不匹配的情况下,目标权限子节点校验失败,说明用户输入的目标口令不正确,需要重新获取目标权限子节点的口令。
步骤408,用户在OFD文档的界面上以目标权限子节点为基础调整权限,即选择目标权限子节点中的权限信息对应的权限。
步骤409,OFD阅读器根据用户调整的目标权限子节点中的权限信息对应的权限,生成新的权限信息。
步骤410,用户在OFD文档的界面上设置新的加密算法。
步骤411,OFD阅读器基于用户的设置,生成新的加密算法。
步骤412,OFD阅读器基于目标权限子节点,生成新的父节点信息和新的指示信息。
步骤413,用户在OFD文档界面上为新的权限子节点设置第一口令。
步骤414,OFD阅读器遍历权限子节点。OFD阅读器对OFD文档中所有的权限子节点进行遍历,将第一口令分别与所有的权限子节点分别对应的口令进行匹配,避免新的权限子节点的口令与所有的权限子节点分别对应的口令重复,从而造成统一口令对应不同的权限的情况,最终得到第二口令。
步骤415,OFD阅读器生成新的加密数据(O)。OFD阅读器根据第二口令和目标权限子节点中的加密算法,将第二口令生成密钥,根据目标权限子节点中的加密算法(R),使用密钥对新的权限子节点中除加密数据(O)之外的其他元素进行加密,得到新的加密数据。
步骤416,OFD阅读器生成新的权限子节点。根据新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息、新的加密数据和新的指示信息,生成新的权限子节点。
步骤417,用户保存OFD文档。
3、修改或者删除权限
在有统一的后台管理系统的系统中,一般采用的是“文档相同,对文档操作的权限不同”的策略,即对相同的文档,不同的用户操作文档的权限差异体现在后台管理系统中,由后台管理系统统一管理,而不用修改文档本身;而文档也存储在统一的存储服务中,用户浏览、操作文档时需要从存储服务中下载(或在线浏览),对文档内容的修改也需要同步到存储服务中,从而实现了文档也是统一的,即相同内容的文档,在后台管理系统中只有一份(或只能以存储服务中的这份为准);而对该文档的各种权限设定,都不会影响文档本身。
在本申请的技术方案中,由于没有统一的后台管理系统和统一的存储服务,对文档权限的修改或者删除较为复杂,包括:1)用户没有登录后台密码,因此没有统一的用户身份,OFD阅读器只能判别具体权限子节点(Right)的口令,而无法标识用户的身份;2)文档的权限记录在OFD文档中而不是后台管理系统中,加上没有统一的存储服务,因此,文档除了本身的业务导致正文内容变化外,还会由于权限的变化而导致文档变化;3)文档可被无限拷贝,文档的每个拷贝件中,权限相关的数据都可能被修改,导致权限难以统一管理。
例如,用户1创建了Right2,为Right2设置了对应的口令,并将该OFD文档分别拷贝给用户2和用户2’,并告知用户2和用户2’该OFD文档中Right2的口令,则:1)假设用户2在自己的OFD文档中创建了Right4并为Right4设置了口令,这就导致了文档不同的情况(正文内容相同而权限部分不同);2)假设用户2修改了文档正文内容,这就导致另一种文档不同的情况(权限相同而正文内容不同);3)假设用户2在自己的OFD文档中创建了Right4并为Right4设置了口令,用户2’通过某种方式获得用户2的这个包含Right4的文档拷贝后,虽然他与用户2的初始口令(由用户1告知的Right2口令)和权限完全相同,拿到的文件也相同,但初始口令不能当做用户2’的身份,此时用户2’与用户2的权限不再相同(用户2’不知道Right4的口令)。这些情况在有统一后台管理的情况中是不存在的,只要用户2与用户2’的登录口令相同,则在后台管理系统中用户2与用户2’永远是同一个用户,而对文档的权限修改及正文的修改都记录在统一的后台管理系统中,无论哪个用户进行了任何操作,别的用户使用相同的口令登录后台管理系统后,都会看到相同的结果。
为了应对这样的复杂性,结合OFD文档被逐级分发的业务特点,对复杂情况进行简化。在本申请实施例中,提出OFD文档的权限修改或者删除的方案和原则,需要同时满足口令条件、上下级关系条件、文档未被关闭条件;其中,口令条件为选择的基础节点和待修改节点或者待删除节点有对应的口令,上下级关系条件为选择的基础节点和待修改节点或者待删除节点是父子关系,即不支持父节点对孙节点这样跨越了中间节点的修改或者删除,文档未被关闭条件为文档选择的基础节点和待修改节点的Closed均为0。
可选地,所述方法还包括:
a)分别对所述目标权限子节点的所述目标口令、所述第二口令、所述目标权限子节点与所述新的权限子节点之间的关系进行校验。
需要说明的是,用户不能修改上级用户赋予自己的文档中的权限子节点。此外,由于文档有多份拷贝,包括用户自己的拷贝和上级用户可能将文档分发给多个其他用户,因此,用户自行修改自己拥有的一份文档的权限的意义不大,反而会照成混乱(同一份文档的内容和口令相同,而权限不一致)。例如,拥有Right1权限的用户创建了Right2,并将Right2分发给用户2,则用户2不能修改Right1和Right2。而用户可以修改自己创建的新的Right,一般用于用户创建了下级节点(新的Right),且在OFD文档发布前用户想修改或者删除自己创建的新的Right的权限的业务场景。用户修改或者删除自己创建的新的Right时,需要验证创建的新的Right的上级节点(父节点或者基础节点)的口令,和欲修改或者删除的新的Right的口令。例如,拥有Right1权限的用户1创建了Right2,在将文档分发给用户2之前,用户1可修改Right2的权限,但修改前需要先验证Right1和Right2的口令。
进一步地,下级节点(新的Right)是用户以某个基础节点为参考创建的,修改或者删除时需要校验基础节点和被修改节点的上下级关系。需要注意的是,在本申请实施例中,只支持直接的父节点对子节点的修改或者删除,不支持父节点对孙节点,即跨越了中间节点的修改或者删除。也就是说,即使校验通过了父节点与孙节点的口令,并不允许父节点口令的持有用户修改孙节点。例如,用户基于Right1创建了Right2,基于Right2创建了Right4,则修改Right4时,需要先验证直接的父节点Right2的口令,而不能依靠验证祖父节点Right1的口令获得修改Right4的权力。另一种情况,如果子节点下有孙节点,父节点的持有者已将子节点删除,则无法校验子节点的口令,也就无法满足“删除时需要同时校验直接上级节点(父节点)的口令与被删除节点(子节点)的口令”。这种情况下,该孙节点无法被删除,即使该孙节点的Closed值为0。
具体地,用户在新增新的权限子节点之后,用户获知目标权限子节点的目标口令和新的权限子节点的第二口令,因此,用户在通过OFD阅读器打开OFD文档之后,通过点击修改或者删除权限向OFD阅读器发起修改或者删除权限请求,OFD阅读器获取到修改或者删除权限请求,OFD阅读器弹出对话框,用户在对话框中输入目标权限子节点的目标口令,OFD阅读器将获取的目标权限子节点的目标口令生成密钥,根据OFD文档中第一个权限子节点中的加密算法(R),使用密钥对第一个权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和第一个权限子节点中的加密数据(O)进行匹配。在目标数据O’和第一个权限子节点中的加密数据(O)匹配失败的情况下,遍历第二个权限子节点,根据第二个权限子节点中的加密算法(R),使用密钥对第二个权限子节点中除加密数据(O)之外的其他元素进行加密,得到目标数据O’;再将目标数据O’和第二个权限子节点中的加密数据(O)进行匹配。依次类推,直至目标数据O’和加密数据(O)匹配成功,说明用户输入的目标权限子节点的目标口令校验成功。
采用上述针对目标权限子节点的目标口令校验的方式,OFD阅读器对新的权限子节点的第二口令进行校验,为避免重复,对比不再赘述。
在目标权限子节点的目标口令和新的权限子节点的第二口令校验成功之后,OFD阅读器对目标权限子节点和新的权限子节点之间的关系进行校验,通过判断新的权限子节点中的新的父节点信息与目标权限子节点中的标识信息是否相同,在新的父节点信息与标识信息相同的情况下,目标权限子节点和新的权限子节点之间的关系校验成功。在新的父节点信息与标识信息不相同的情况下,目标权限子节点和新的权限子节点之间的关系校验失败,不能对新的权限子节点进行修改或者删除权限。
b)在所述新的权限子节点中的新的指示信息为允许修改的情况下,基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点;所述更新后的权限子节点对应的权限范围小于所述目标权限子节点对应的权限范围。
具体地,在目标权限子节点和新的权限子节点之间的关系校验成功之后,OFD阅读器对新的权限子节点中的新的指示信息进行判断,在新的权限子节点中的新的指示信息为允许修改的情况下,用户可以基于目标权限子节点修改或者删除新的权限子节点中的权限信息对应的权限,从而可以进一步更新新的权限子节点中的新的权限信息、新的加密算法和新的指示信息,并基于新的权限子节点设置的第二口令,计算加密数据,从而得到更新后的权限子节点。由于更新后的权限子节点是基于目标权限子节点修改或者删除新的权限子节点中的权限信息对应的权限,因此,更新后的权限子节点对应的权限范围小于目标权限子节点对应的权限范围,即只能在目标权限子节点对应的权限范围内进行修改或者删除。
需要说明的是,用户在文档未分发出去之前,可以删除或修改自己创建的权限,典型场景是对误操作的修正或调整。文档一旦被分发出去,就不允许再被修改。因为分发后的文档可被多次拷贝,修改其中一份意义不大,且容易使相同口令对应不同权限的情况扩大化。其中,分发出去就不允许再被修改的具体做法是,在修改或者删除新建的Right前,新建的Right的Closed元素的值为0,此时可对新建的Right的权限信息自由修改,在确定分发文档之前,应注意将新建的Right的Closed的值设置为1,此时该新建的Right被关闭,不能再被修改或者删除。例如,拥有Right2的用户创建了Right4和Right5,此时Right4和Right5的Closed的值为0,用户可以任意修改Right4和Right5(修改前先验证Right2及待修改节点的口令)。在修改或者删除完成之后,用户可以向下级用户分发文档,此时应将Right4和Right5这两个节点的Closed设置为1,后续这两个节点将不能再被任何人修改。
c)将所述更新后的权限子节点中的权限信息确定为所述目标权限。
具体地,在更新得到更新后的权限子节点之后,可以将更新后的权限子节点中的权限信息确定为目标权限,从而用户可以对OFD文档执行目标权限对应的操作。
可选地,所述基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点,包括:
基于所述目标权限子节点,分别更新所述新的权限子节点中的新的权限信息、新的加密算法和新的指示信息;基于所述第二口令和更新之后的新的权限信息、更新之后的新的加密算法和更新之后的新的指示信息,更新所述新的权限子节点中的新的加密数据;基于更新之后的新的权限信息、更新之后的新的加密算法、更新之后的新的指示信息和更新之后的新的加密数据,得到更新后的权限子节点。
具体地,以目标权限子节点为基础节点,根据目标权限子节点中的权限信息,修改或者删除新的权限子节点中的新的权限信息,从而更新新的权限子节点中的新的权限信息;更新新的权限子节点中的新的加密算法可以重新设置加密算法,或者以目标权限子节点中的加密算法更新新的权限子节点中的新的加密算法;将新的权限子节点中的新的指示信息设置为0,表明可以对新的权限子节点进行修改或者删除,在修改或者删除完成之后,将新的权限子节点中的新的指示信息设置为1,表明不能对新的权限子节点进行修改或者删除。
将第二口令生成密钥,根据更新之后的新的加密算法,使用密钥对更新之后的新的权限信息、更新之后的新的加密算法和更新之后的新的指示信息进行加密,得到加密数据,使用该加密数据更新更新新的权限子节点中的新的加密数据,得到更新之后的新的加密数据。从而根据更新之后的新的权限信息、更新之后的新的加密算法、更新之后的新的指示信息和更新之后的新的加密数据,得到更新后的权限子节点。
图5是本发明提供的开放版式文档OFD的权限管理方法的流程示意图之四,如图5所示,包括步骤501-步骤511;其中,
步骤501,用户通过OFD阅读器打开OFD文档。
步骤502,用户点击修改或者删除权限,向OFD阅读器发起修改或者删除权限请求。
步骤503,OFD阅读器弹出对话框,在用户输入目标权限子节点的口令之后,OFD阅读器对目标权限子节点的目标口令进行校验。
步骤504,在目标权限子节点的目标口令校验成功之后,用户在对话框中输入新的权限子节点的第二口令,OFD阅读器对新的权限子节点的第二口令进行校验。
步骤505,在目标权限子节点的目标口令和新的权限子节点的第二口令校验成功之后,OFD阅读器对目标权限子节点和新的权限子节点之间的关系进行校验。
步骤506,在目标权限子节点和新的权限子节点之间的关系校验成功之后,OFD阅读器对新的权限子节点中的新的指示信息进行判断。
步骤507,在新的权限子节点中的新的指示信息为允许修改的情况下,用户基于目标权限子节点修改或者删除新的权限子节点中的权限信息对应的权限。
步骤508,OFD阅读器更新新的权限子节点中的新的权限信息、新的加密算法和新的指示信息。
步骤509,OFD阅读器基于更新之后的新的权限信息、新的加密算法和新的指示信息,计算加密数据,得到更新之后的新的加密数据。
步骤510,基于更新之后的新的权限信息、新的加密算法和新的指示信息、更新之后的新的加密数据,得到更新后的权限子节点。
步骤511,用户保存OFD文档。
4、用户分发文档
具体地,用户在对新增新的权限子节点、修改或者删除新的权限子节点之后,对OFD文档进行检查,在确认OFD文档无误后,将OFD文档的新的权限子节点的Closed值设为1,关闭该新的权限子节点,分发给自己的下级用户。
综上,用户可通过打开OFD文档进行浏览、对OFD文档进行打印或者编辑等操作、新建权限、修改或者删除权限、分发文档等操作,根据实际的需求完成对OFD文档的业务操作、离线流转文档和权限逐级分发的流程,从而实现对OFD文档的细化管理。
下面对本发明提供的开放版式文档OFD的权限管理装置进行描述,下文描述的开放版式文档OFD的权限管理装置与上文描述的开放版式文档OFD的权限管理方法可相互对应参照。
图6是本发明提供的开放版式文档OFD的权限管理装置的结构示意图,如图6所示,开放版式文档OFD的权限管理装置600包括:获取模块601、第一确定模块602和执行模块603;其中,
获取模块601,用于获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;
第一确定模块602,用于基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;
执行模块603,用于基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
本发明提供的开放版式文档OFD的权限管理装置,通过获取OFD文档和OFD文档对应的权限节点;权限节点包括至少一个权限子节点;权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改权限子节点;再根据各权限子节点和目标口令,确定目标权限;基于目标权限,对OFD文档执行目标权限对应的操作。通过在OFD文档中设置权限节点,且权限节点包括至少一个权限子节点,权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;指示信息用于指示是否允许修改权限子节点,为满足实际业务需求,用户能够根据各权限子节点调整权限,确定实际需要的目标权限,对OFD文档在目标权限的范围内执行相应的操作,并且在OFD文档的离线传输过程中,可以向接收OFD文档的用户逐级分发调整的目标权限,从而实现对OFD文档权限的细化管理,提升了用户体验。
可选地,所述第一确定模块602,具体用于:
基于各所述权限子节点和所述目标口令,将所述目标口令对应的目标数据依次与各所述权限子节点对应的加密数据进行匹配;
基于匹配的结果,确定所述目标权限。
可选地,所述第一确定模块602,具体用于:
在所述目标数据与所述加密数据匹配失败的情况下,将所述目标数据与下一个权限子节点对应的加密数据进行匹配;
在所述目标数据与所述加密数据匹配成功的情况下,将所述加密数据对应的权限子节点中的权限信息确定为所述目标权限。
可选地,所述第一确定模块602,具体用于:
基于各所述权限子节点,确定目标权限子节点;
基于所述目标权限子节点和所述目标口令,校验所述目标权限子节点;
在所述目标权限子节点校验成功的情况下,基于所述目标权限子节点,生成目标信息;所述目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息;新的权限信息对应的权限范围小于所述目标权限子节点的权限信息对应的权限范围;
基于所述目标信息和所述目标权限子节点,确定所述目标权限。
可选地,所述第一确定模块602,具体用于:
获取用户输入的第一口令;
将所述第一口令分别与所有的权限子节点分别对应的口令进行匹配,确定第二口令;
基于所述第二口令和所述目标权限子节点,生成新的加密数据;
基于所述新的加密数据和所述目标信息,生成新的权限子节点;
将所述新的权限子节点中的新的权限信息确定为所述目标权限。
可选地,所述开放版式文档OFD的权限管理装置600,还包括:
校验模块,用于分别对所述目标权限子节点的所述目标口令、所述第二口令、所述目标权限子节点与所述新的权限子节点之间的关系进行校验;
更新模块,用于在所述新的权限子节点中的新的指示信息为允许修改的情况下,基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点;所述更新后的权限子节点对应的权限范围小于所述目标权限子节点对应的权限范围;
第二确定模块,用于将所述更新后的权限子节点中的权限信息确定为所述目标权限。
可选地,所述更新模块,具体用于:
基于所述目标权限子节点,分别更新所述新的权限子节点中的新的权限信息、新的加密算法和新的指示信息;
基于所述第二口令和更新之后的新的权限信息、更新之后的新的加密算法和更新之后的新的指示信息,更新所述新的权限子节点中的新的加密数据;
基于更新之后的新的权限信息、更新之后的新的加密算法、更新之后的新的指示信息和更新之后的新的加密数据,得到更新后的权限子节点。
图7是本发明提供的一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行开放版式文档OFD的权限管理方法,该方法包括:获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的开放版式文档OFD的权限管理方法,该方法包括:获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的开放版式文档OFD的权限管理方法,该方法包括:获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种开放版式文档OFD的权限管理方法,其特征在于,包括:
获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;
基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;
基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作;
所述基于各所述权限子节点和所述目标口令,确定所述目标权限,包括:
基于各所述权限子节点,确定目标权限子节点;
基于所述目标权限子节点和所述目标口令,校验所述目标权限子节点;
在所述目标权限子节点校验成功的情况下,基于所述目标权限子节点,生成目标信息;所述目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息;所述新的权限信息对应的权限范围小于所述目标权限子节点的权限信息对应的权限范围;
基于所述目标信息和所述目标权限子节点,确定所述目标权限;
所述基于所述目标信息和所述目标权限子节点,确定所述目标权限,包括:
获取用户输入的第一口令;
将所述第一口令分别与所有的权限子节点分别对应的口令进行匹配,确定第二口令;
基于所述第二口令和所述目标权限子节点,生成新的加密数据;
基于所述新的加密数据和所述目标信息,生成新的权限子节点;
将所述新的权限子节点中的新的权限信息确定为所述目标权限;
分别对所述目标权限子节点的所述目标口令、所述第二口令、所述目标权限子节点与所述新的权限子节点之间的关系进行校验;
在所述新的权限子节点中的新的指示信息为允许修改的情况下,基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点;所述更新后的权限子节点对应的权限范围小于所述目标权限子节点对应的权限范围;
将所述更新后的权限子节点中的权限信息确定为所述目标权限。
2.根据权利要求1所述的开放版式文档OFD的权限管理方法,其特征在于,所述基于各所述权限子节点和所述目标口令,确定所述目标权限,包括:
基于各所述权限子节点和所述目标口令,将所述目标口令对应的目标数据依次与各所述权限子节点对应的加密数据进行匹配;
基于匹配的结果,确定所述目标权限。
3.根据权利要求2所述的开放版式文档OFD的权限管理方法,其特征在于,所述基于匹配的结果,确定所述目标权限,包括:
在所述目标数据与所述加密数据匹配失败的情况下,将所述目标数据与下一个权限子节点对应的加密数据进行匹配;
在所述目标数据与所述加密数据匹配成功的情况下,将所述加密数据对应的权限子节点中的权限信息确定为所述目标权限。
4.根据权利要求1所述的开放版式文档OFD的权限管理方法,其特征在于,所述基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点,包括:
基于所述目标权限子节点,分别更新所述新的权限子节点中的新的权限信息、新的加密算法和新的指示信息;
基于所述第二口令和更新之后的新的权限信息、更新之后的新的加密算法和更新之后的新的指示信息,更新所述新的权限子节点中的新的加密数据;
基于更新之后的新的权限信息、更新之后的新的加密算法、更新之后的新的指示信息和更新之后的新的加密数据,得到更新后的权限子节点。
5.一种开放版式文档OFD的权限管理装置,其特征在于,包括:
获取模块,用于获取OFD文档和所述OFD文档对应的权限节点;所述权限节点包括至少一个权限子节点;所述权限子节点包括标识信息、父节点信息、权限信息、加密数据、加密算法和指示信息;所述指示信息用于指示是否允许修改所述权限子节点;
第一确定模块,用于基于各所述权限子节点和目标口令,确定目标权限;所述目标口令是基于各所述权限子节点的口令确定的;
执行模块,用于基于所述目标权限,对所述OFD文档执行所述目标权限对应的操作;
所述第一确定模块,具体用于:
基于各所述权限子节点,确定目标权限子节点;
基于所述目标权限子节点和所述目标口令,校验所述目标权限子节点;
在所述目标权限子节点校验成功的情况下,基于所述目标权限子节点,生成目标信息;所述目标信息包括新的权限信息、新的加密算法、新的标识信息、新的父节点信息、新的权限信息和新的指示信息;所述新的权限信息对应的权限范围小于所述目标权限子节点的权限信息对应的权限范围;
基于所述目标信息和所述目标权限子节点,确定所述目标权限;
所述第一确定模块,具体用于:
获取用户输入的第一口令;
将所述第一口令分别与所有的权限子节点分别对应的口令进行匹配,确定第二口令;
基于所述第二口令和所述目标权限子节点,生成新的加密数据;
基于所述新的加密数据和所述目标信息,生成新的权限子节点;
将所述新的权限子节点中的新的权限信息确定为所述目标权限;
所述开放版式文档OFD的权限管理装置,还包括:
校验模块,用于分别对所述目标权限子节点的所述目标口令、所述第二口令、所述目标权限子节点与所述新的权限子节点之间的关系进行校验;
更新模块,用于在所述新的权限子节点中的新的指示信息为允许修改的情况下,基于所述目标权限子节点,更新所述新的权限子节点,得到更新后的权限子节点;所述更新后的权限子节点对应的权限范围小于所述目标权限子节点对应的权限范围;
第二确定模块,用于将所述更新后的权限子节点中的权限信息确定为所述目标权限。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述开放版式文档OFD的权限管理方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述开放版式文档OFD的权限管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310385753.8A CN116108423B (zh) | 2023-04-12 | 2023-04-12 | 开放版式文档ofd的权限管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310385753.8A CN116108423B (zh) | 2023-04-12 | 2023-04-12 | 开放版式文档ofd的权限管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116108423A CN116108423A (zh) | 2023-05-12 |
CN116108423B true CN116108423B (zh) | 2023-06-20 |
Family
ID=86265846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310385753.8A Active CN116108423B (zh) | 2023-04-12 | 2023-04-12 | 开放版式文档ofd的权限管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108423B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226573A (zh) * | 2007-01-16 | 2008-07-23 | 北京书生国际信息技术有限公司 | 一种控制电子文档的访问权限的方法 |
CN101938497A (zh) * | 2010-09-26 | 2011-01-05 | 深圳大学 | 多级保密文档组结构及其文件访问控制和密钥管理用户终端、服务终端、系统和方法 |
CN104424335A (zh) * | 2013-09-11 | 2015-03-18 | 方正信息产业控股有限公司 | Xml文档的访问控制方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140379585A1 (en) * | 2013-06-25 | 2014-12-25 | Aliaslab S.P.A. | Electronic signature system for an electronic document using a payment card |
-
2023
- 2023-04-12 CN CN202310385753.8A patent/CN116108423B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226573A (zh) * | 2007-01-16 | 2008-07-23 | 北京书生国际信息技术有限公司 | 一种控制电子文档的访问权限的方法 |
CN101938497A (zh) * | 2010-09-26 | 2011-01-05 | 深圳大学 | 多级保密文档组结构及其文件访问控制和密钥管理用户终端、服务终端、系统和方法 |
CN104424335A (zh) * | 2013-09-11 | 2015-03-18 | 方正信息产业控股有限公司 | Xml文档的访问控制方法和装置 |
Non-Patent Citations (1)
Title |
---|
层次结构文档下支持权限管理的实时协同技术研究;高丽萍;《计算机应用研究》;第29卷(第5期);第1690-1694页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116108423A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2607279C2 (ru) | Устройство обработки информации и способ управления устройством обработки информации | |
US8863305B2 (en) | File-access control apparatus and program | |
US10896262B2 (en) | Document management system and management apparatus | |
CN103974250B (zh) | 配置方法和设备 | |
US11042658B2 (en) | Document management system and processing apparatus | |
KR20080024513A (ko) | 비관리형 네트워크에서의 공통 id를 위한 계정 동기화 | |
WO2008051792A2 (en) | Data file access control | |
JP2005242519A (ja) | デジタル著作権管理のための情報処理装置 | |
CN114760065B (zh) | 一种在线学习平台教学资源共享的访问控制方法及装置 | |
CN111181719B (zh) | 云环境下基于属性加密的分层访问控制方法及系统 | |
DE10228158A1 (de) | Druckerregelung durch Verifizierung eines Benutzers | |
US10657269B2 (en) | Management apparatus and document management system | |
US8051470B2 (en) | Consolidation of user directories | |
CN116108423B (zh) | 开放版式文档ofd的权限管理方法及装置 | |
EP1854260B1 (en) | Access rights control in a device management system | |
US20070067830A1 (en) | System and method for network device administration | |
US20220417032A1 (en) | Distributed signing system | |
CN108064437A (zh) | 安全地共享内容方法及系统 | |
CN113810415B (zh) | 一种通过堡垒机免托管主机账户运维的方法 | |
JP2001202332A (ja) | 認証プログラム管理システム | |
CN114465815A (zh) | 一种基于区块链和sgx的访问权限控制系统及方法 | |
CN116707849A (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
Cisco | Maintaining Cisco Security Manager | |
KR102019507B1 (ko) | 브라우저 인증서 서비스 방법 및 그 시스템 | |
JP2004280236A (ja) | 権限管理装置、権限設定装置、データファイル、権限管理方法、及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |