一种电子文档控制保护方法和装置转让专利

申请号 : CN200910082775.7

文献号 : CN101539979B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 万伟华

申请人 : 北京红旗贰仟软件技术有限公司

摘要 :

本发明提供了一种电子文档控制保护方法,包括:保存文档时,从创建该文档的设备上提取硬件信息,并将提取的硬件信息经过不可逆的摘要算法(SHA1)生成摘要信息,摘要信息参与文档内容加密,从而将硬件信息和文档绑定。打开文档时,从打开该文档的设备上提取硬件信息经过不可逆的摘要算法(SHA1)生成摘要信息,摘要信息参与文档内容的解密,如果打开文档与保存文档是同一台设备,则文档可以正确解密文档,否则不能正确解密文档。本发明还提供了一种电子文档控制保护装置,以实现基于硬件和软件结合的方式对文档的保护,能够限制文档被非法传递,丰富了用户的文档控制保护手段,且文档的保护更实用、更安全。

权利要求 :

1.一种电子文档控制保护方法,其特征在于,该方法包括:

在保存文档时,从创建所述文档的设备上提取硬件信息;

将提取的硬件信息通过摘要算法生成摘要信息,并将所述摘要信息参与文档内容加密,具体包括:根据提取的硬件信息,并通过安全散列算法SHA1生成对应的摘要信息;根据创建所述文档的硬件信息为开放文档文本odt文档生成一个初始向量和盐;根据所述摘要信息和盐,并通过基于密码的密钥派生函数PBKDF2,为文档生成密钥;根据所述密钥和初始向量,并通过在密码反馈CFB模式下的Blowfish算法,为文档内容加密;将文档保存为odt格式文档。

2.根据权利要求1所述电子文档控制保护方法,其特征在于,所述硬件信息包括以下数据中的至少一种:所述设备的中央处理单元CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。

3.一种电子文档控制保护方法,其特征在于,该方法包括:

在打开文档时,获取打开所述文档的设备的硬件信息,并对所述设备的硬件信息经过摘要算法生成对应的摘要信息;

将所述设备对应的摘要信息作为Blowfish算法的输入参数来解密文档,具体包括:根据所述摘要信息生成初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,得到文档的密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法解密文档内容。

4.根据权利要求3所述电子文档控制保护方法,其特征在于,所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。

5.一种电子文档控制保护装置,其特征在于,该装置包括:

信息提取模块,用于在创建文档时,从创建所述文档的设备上提取硬件信息;

摘要生成模块,用于将提取的硬件信息通过摘要算法生成摘要信息;

加密模块,用于根据所生成的摘要信息对文档内容进行加密,具体为:根据创建所述文档的硬件信息为odt文档生成一个初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,为文档生成密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法,为文档内容加密。

6.根据权利要求5所述电子文档控制保护装置,其特征在于,所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。

7.一种电子文档控制保护装置,其特征在于,该装置包括:

信息获取模块,用于在打开文档时,获取打开所述文档的设备的硬件信息,并对所述设备的硬件信息经过摘要算法生成对应的摘要信息;

解密模块,用于将所述设备对应的摘要信息作为Blowfish算法的输入参数来解密文档,具体为:根据所述摘要信息生成初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,得到文档的密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法解密文档内容。

8.根据权利要求7所述电子文档控制保护装置,其特征在于,所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。

说明书 :

一种电子文档控制保护方法和装置

技术领域

[0001] 本发明涉及电子文档的控制保护技术,尤其涉及一种电子文档控制保护方法和装置。

背景技术

[0002] 出于对文档的保护,目前所提供的对于文档的控制保护技术包括:对文档编辑的限制、对文档阅读的限制、对文档复制的限制和对文档权限的限制等等。这些对文档的控制技术,是建立在对文档的访问者加以限制的基础上,其出发点主要集中于文档本身。也就是说,在任何设备上访问该文档都要受到文档创建者所设定的限制,而对不同的用户所施加的限制可以是不同的。
[0003] 上述的文档控制保护技术属于创建者对文档用户的限制保护,然而在实际应用中,有时需要让创建的文档只在某个固定的设备上使用,而限制在其他设备上的使用。例如:用户只想在创建该文档的设备上使用该文档,如果该文档被非法盗用而传递到其他的设备,则限制该文档在其他设备上的使用。基于上述原因,有必要提出一种基于硬件和软件结合的文档控制保护方法,以满足实际应用中的需要。

发明内容

[0004] 有鉴于此,本发明的主要目的在于提供一种电子文档控制保护方法和装置,以实现基于硬件和软件结合的方式对文档的保护。
[0005] 为达到上述目的,本发明的技术方案是这样实现的:
[0006] 本发明提供了一种电子文档控制保护方法,该方法包括:
[0007] 在保存文档时,从创建所述文档的设备上提取硬件信息;
[0008] 将提取的硬件信息通过摘要算法生成摘要信息,并将所述摘要信息参与文档内容加密,具体包括:根据提取的硬件信息,并通过安全散列算法SHA1生成对应的摘要信息;根据创建所述文档的硬件信息为开放文档文本odt文档生成一个初始向量和盐;根据所述摘要信息和盐,并通过基于密码的密钥派生函数PBKDF2,为文档生成密钥;根据所述密钥和初始向量,并通过在密码反馈CFB模式下的Blowfish算法,为文档内容加密;将文档保存为odt格式文档。
[0009] 所述硬件信息包括以下数据中的至少一种:所述设备的中央处理单元CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。 [0010] 本发明还提供了一种电子文档控制保护方法,该方法包括:
[0011] 在打开文档时,获取打开所述文档的设备的硬件信息,并对所述设备的硬件信息经过摘要算法生成对应的摘要信息;
[0012] 将所述设备对应的摘要信息作为Blowfish算法的输入参数来解密文档,具体包括:根据所述摘要信息生成初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,得到文档的密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法解密文档内容。
[0013] 所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。
[0014] 本发明还提供了一种电子文档控制保护装置,该装置包括:
[0015] 信息提取模块,用于在创建文档时,从创建所述文档的设备上提取硬件信息; [0016] 摘要生成模块,用于将提取的硬件信息通过摘要算法生成摘要信息; [0017] 加密模块,用于根据所生成的摘要信息对文档内容进行加密,具体为:根据创建所述文档的硬件信息为odt文档生成一个初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,为文档生成密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法,为文档内容加密。
[0018] 所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。
[0019] 本发明还提供了一种电子文档控制保护装置,该装置包括:
[0020] 信息获取模块,用于在打开文档时,获取打开所述文档的设备的硬件信息,并对所述设备的硬件信息经过摘要算法生成对应的摘要信息;
[0021] 解密模块,用于将所述设备对应的摘要信息作为Blowfish算法的输入参数来解密文档,具体为:根据所述摘要信息生成初始向量和盐;根据所述摘要信息和盐,并通过基于密码的PBKDF2,得到文档的密钥;根据所述密钥和初始向量,并通过在CFB模式下的Blowfish算法解密文档内容。
[0022] 所述硬件信息包括以下数据中的至少一种:所述设备的CPU序列号、内存序列号、硬盘序列号、指纹特征、移动介质信息和充当电子密钥的硬件信息。
[0023] 本发明所提供的一种电子文档控制保护方法和装置,在保存文档时,从创建该文档的设备上提取硬件信息,并将生成的摘要信息和文档绑定在一起加密文档;在打开文档时,将该文档中保存的摘要信息与打开该文档的设备的硬件信息对应生成的摘要信息进行匹配,并根据匹配结果确定是否允许访问该文档,如果匹配正确则进一步解密文档。本发明使得文档创建者对文档的自我控制保护得以实现,丰富了用户的文档控制保护手段,满足了用户的更多需求,扩大了应用领域;本发明的保护不再是仅仅限制文档的用户,而是能够限制文档被非法传递;本发明的保护采用软件与硬件结合的保护方式,由于在软件相同的情况下,硬件却不一定相同,因此本发明对文档的保护更实用、更安全。 [0024] 附图说明
[0025] 图1为本发明一种文档控制保护方法的创建文档流程图;
[0026] 图2为本发明一种文档控制保护方法的保存加密文档示意图一; [0027] 图3为本发明一种文档控制保护方法的保存加密文档示意图二; [0028] 图4为本发明一种文档控制保护方法的打开文档流程图;
[0029] 图5为本发明一种文档控制保护方法的解密打开文档示意图;
[0030] 图6为本发明一种文档控制保护装置的组成结构示意一;
[0031] 图7为本发明一种文档控制保护装置的组成结构示意二。
[0032] 具体实施方式
[0033] 下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。 [0034] 本发明所提供的一种电子文档控制保护方法,在执行文档创建操作时,具体流程如图1所示,主要包括以下步骤:
[0035] 步骤101,在保存文档时,从创建文档的设备上提取硬件信息。 [0036] 步骤102,将提取的硬件信息通过摘要算法生成摘要信息,并将摘要信息参与文档内容加密。
[0037] 其中,生成摘要信息,并将摘要信息参与文档内容加密的具体操作,如图2和图3所示,包括:
[0038] A、根据提取的硬件信息,并通过不可逆的摘要算法,如:安全散列算法(SHA1,Secure Hash Algorithm),得到长度为20字节的摘要信息,将摘要信息传递给打包组件。 [0039] 根据实际应用中不同的安全强度要求和应用环境等待定因素,对硬件信息可以有多种选择。例如:在常规的安全强度要求下,可以选取创建文档的设备的中央处理单元(CPU,Central Process Unit)序列号、内存序列号和硬盘序列号等数据作为硬件信息;在较严格的安全强度要求下,可以选取创建文档的设备的指纹特征、移动介质信息和可以充当电子密钥(如:USBKey)的硬件信息等作为硬件信息。实际应用中,硬件信息也可以是上述多种数据的组合。
[0040] B、打包组件根据创建该文档的硬件信息为开放文档文本(odt,opendocument text)文档生成一个8字节的初始向量和16字节的“盐(Salt)”。
[0041] C、根据20字节的摘要信息和16字节的“盐”,并通过迭代次数为1024的基于密码的密钥派生函数(PBKDF2,Password-Based Key Derivation Function2),为文档产生128位的密钥。
[0042] D、根据上述128位的密钥和8字节的初始向量,并通过在密码反馈(CFB,Cipher Feedback)模式下的Blowfish算法加密文档内容。
[0043] E、将文档打包成一个odt格式文档保存。
[0044] 本发明所提供的一种电子文档控制保护方法,在执行文档打开操作时,具体流程如图4所示,主要包括以下步骤:
[0045] 步骤401,在打开文档时,对文档进行解码,得到文档中保存的摘要信息。 [0046] 步骤402,从打开文档的设备中提取该设备的硬件信息,并对该设备的硬件信息经过SHA1算法生成对应的摘要信息。
[0047] 步骤403,比较文档中保存的摘要信息与打开文档的设备对应的摘要信息进行匹配,判断两者是否一致,如果匹配成功,则执行步骤404;否则,执行步骤405。 [0048] 例如:创建文档的设备为X,执行打开文档操作的设备为Y,则在设备Y打开文档时,根据设备Y的硬件信息并经过SHA1算法生成对应的摘要信息,将设备Y对应的摘要信息与文档中保存的摘要信息进行匹配,判断两者不一致,进而确定匹配失败。当然,该文档在设备X中打开时,是能够匹配成功的。
[0049] 步骤404,在匹配成功的情况下,允许继续解密文档。
[0050] 步骤405,在匹配失败的情况下,禁止继续访问文档。
[0051] 具体的,基于图4所示的方法所实现的解密打开文档操作如图5所示,包括: [0052] a、从打开文档的设备中获取硬件信息,并根据该硬件信息通过SHA1算法得到长度为20字节的摘要信息,将摘要信息传递给解包组件;
[0053] b、解包组件通过Base64算法解密得到文档的摘要信息、根据摘要信息生成一个8字节的初始向量和16字节的“盐(Salt)”。
[0054] c、根据20字节的摘要信息和16字节的“盐”,并通过迭代次数为1024的基于密码的密钥派生函数(PBKDF2,Password-Based Key Derivation Function2),得到文档的128位密钥。
[0055] d、根据上述128位的密钥和8字节的初始向量,并通过在密码反馈(CFB,Cipher Feedback)模式下的Blowfish算法解密文档内容。
[0056] e、打开该文档。
[0057] 不难发现解密过程和加密过程基本类似;需要指出的是,本发明中对摘要 信息进行加密的加密算法,以及进行解密的解密算法不仅限于上述所举,根据实际需要,还可以选择其他可行的加密和解密算法。
[0058] 为实现上述本发明的一种电子文档控制保护方法,本发明还提供了一种电子文档控制保护装置,应用于文档创建过程中,如图6所示,该装置包括:信息提取模块10、摘要生成模块20和加密模块30。信息提取模块10,用于在创建文档时,从创建该文档的设备上提取硬件信息。摘要生成模块20,用于将提取的硬件信息通过摘要算法生成摘要信息。加密模块30,用于根据所生成的摘要信息对文档内容进行加密。
[0059] 本发明还提供了一种电子文档控制保护装置,应用于文档打开过程中,如图7所示,该装置包括:相互连接的信息获取模块40和解密模块50。信息获取模块40,用于在打开文档时,获取打开文档的设备的硬件信息,并对设备的硬件信息经过摘要算法生成对应的摘要信息。解密模块50,用于将设备对应的摘要信息作为Blowfish算法的输入参数来解密文档。
[0060] 需要指出的是,图6和图7所示的两种装置可以合并在一个装置中,则合并后的装置既可以实现文档创建过程中的控制保护操作,也可以实现文档打开过程中的控制保护操作。
[0061] 综上所述,通过本发明的电子文档控制保护方法和装置,使得文档创建者对文档的自我保护得以实现,丰富了用户的文档控制保护手段,满足了用户的更多需求,扩大了应用领域;本发明的保护不再是仅仅限制文档的用户,而是能够限制文档被非法传递;本发明的保护采用软件与硬件结合的保护方式,由于在软件相同的情况下,硬件却不一定相同,因此本发明对文档的保护更实用、更安全。
[0062] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。