一种文档保护方法及系统转让专利

申请号 : CN201110251438.3

文献号 : CN102306255B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陆舟于华章

申请人 : 飞天诚信科技股份有限公司

摘要 :

本发明公开一种文档保护方法及系统,所述方法包括:插件使用生成密钥对当前文档明文数据进行加密得到文档密文数据;插件将生成密钥和配置信息发送给设备进行加密形成配置密文数据;插件按照预设格式将文档密文数据和文档加密标识、配置密文数据和配置密文标识封装组合成数据包;插件将解析得到的配置密文数据发送给与主机连接的设备进行解密;如该设备是预设的解密设备则将解密得到的配置明文数据发送给插件;插件使用配置明文数据中的生成密钥对解析得到的文档密文数据进行解密,解密成功将文档明文数据发送给文档编辑器。所述文档保护方法可对文档进行加密和设置操作权限,进一步地提高了文档的安全性,防止非授权用户进行非法操作。

权利要求 :

1.一种文档保护方法,其特征在于,包括加密过程和解密过程,其中加密过程包括:步骤a:插件截获到第一接口ID信息时,使用生成密钥对获取的当前文档明文数据进行加密得到文档密文数据;所述插件将所述生成密钥和配置信息发送给加密设备;所述配置信息包括解密设备标识及其标识值;

步骤b:所述加密设备接收所述生成密钥和配置信息,使用存储的自身密钥对所述生成密钥和配置信息进行加密得到配置密文数据,将所述配置密文数据发送给所述插件;

步骤c:所述插件根据预设格式将所述文档密文数据和文档加密标识、所述配置密文数据和配置密文标识进行封装组成数据包;所述插件对所述数据包进行处理,将处理结果发送给文档编辑器;

其中,解密过程包括:

步骤d:所述插件截获到第二接口ID信息时,根据当前文档判断能否解析出符合所述预设格式的加密数据,如能则判断是否有解密设备与主机连接,是则将解析得到的配置密文数据发送给解密设备,顺序执行步骤e,否则将所述当前文档的内容发送给文档编辑器;

如不能则将所述当前文档的内容发送给文档编辑器;

步骤e:所述解密设备接收所述配置密文数据,使用自身密钥对所述配置密文数据进行解密,如解密成功则判断所述配置密文数据中的解密设备条件是否与自身信息相符,是则将配置明文数据发送给所述插件,顺序执行步骤g,否则执行步骤f;如解密失败则执行步骤f;

步骤f:所述解密设备给所述插件发送失败信息,所述插件将所述当前文档的内容发送给文档编辑器;

步骤g:所述插件接收所述配置明文数据,并使用所述配置明文数据中的生成密钥对解析得到的文档密文数据进行解密,如解密成功则将解密得到的文档明文数据发送给文档编辑器,如解密失败则结束。

2.如权利要求1所述的文档保护方法,其特征在于,所述第一接口ID信息中包括保存文档触发信息或启动插件触发信息。

3.如权利要求1所述的文档保护方法,其特征在于,在所述步骤a中使用生成密钥对获取的当前文档明文数据进行加密得到文档密文数据之前包括:步骤a1:所述插件生成数值并将其发送给所述加密设备;

步骤a2:所述加密设备接收所述数值,使用预设算法对所述数值进行计算得到生成密钥,所述加密设备将所述生成密钥发送给所述插件。

4.如权利要求3所述的文档保护方法,其特征在于,在所述步骤a1之前包括:插件判断是否有加密设备与主机连接,是则执行步骤a1,否则结束。

5.如权利要求1所述的文档保护方法,其特征在于,所述配置信息还包括操作权限标识。

6.如权利要求5所述的文档保护方法,其特征在于,在所述步骤a中所述插件将所述生成密钥和配置信息发送给加密设备之前包括:步骤a11:所述插件接收配置触发信息,判断是否有对应的配置标识,是则执行步骤a12,否则结束;

步骤a12:所述插件接收确认触发信息生成配置信息;

所述配置标识包括解密设备标识和操作权限标识。

7.如权利要求1所述的文档保护方法,其特征在于,所述步骤c中的所述插件按照预设格式将所述文档密文数据和文档加密标识、所述配置密文数据和配置密文标识进行封装形成数据包,具体包括:所述插件按照预设格式将所述文档密文数据和预设的文档加密标识、所述配置密文数据和预设的配置密文标识分别进行封装,组合成数据包。

8.如权利要求7所述的文档保护方法,其特征在于,所述文档的类型为Word文档,所述步骤c中的所述插件对所述数据包进行处理,具体包括:所述插件按照第一预设方式将所述数据包的内容转化为第一可打印形式文本。

9.如权利要求8所述的文档保护方法,其特征在于,所述插件将处理结果发送给文档编辑器,具体为:所述插件将第一可打印形式文本发送给文档编辑器。

10.如权利要求7所述的文档保护方法,其特征在于,所述文档的类型为Excel文档,所述步骤c中的所述插件对所述数据包进行处理,具体包括:所述插件按照第一预设方式将所述数据包的内容转化为第二可打印形式文本,并按照预设大小将所述第二可打印形式文本进行分割。

11.如权利要求10所述的文档保护方法,其特征在于,所述插件将处理结果发送给文档编辑器,具体为:所述插件将分割得到的所有单元密文数据发送给文档编辑器。

12.如权利要求9或11所述的文档保护方法,其特征在于,在所述解密过程的步骤d中根据当前文档判断能否解析出符合所述预设格式的加密数据之前包括:所述插件获取当前文档显示内容,按照第二预设方式将所述当前文档显示内容还原为原文档内容;

所述第二接口ID信息中包括打开当前文档的触发信息,所述第二预设方式与所述第一预设方式互逆。

13.如权利要求12所述的文档保护方法,其特征在于,所述根据当前文档判断能否解析出符合所述预设格式的加密数据,具体为:判断所述原文档内容中是否有所述文档加密标识和配置密文标识,是则根据所述文档加密标识和配置密文标识从所述原文档内容中解析出文档密文数据和配置密文数据。

14.如权利要求1所述的文档保护方法,其特征在于,所述步骤e中判断所述配置明文数据中的解密设备条件是否与自身信息相符,具体为:所述解密设备判断配置明文数据中的解密设备标识及其标识值是否与自身标识及标识值一致。

15.如权利要求11所述的文档保护方法,其特征在于,所述步骤g中解密成功将解密得到的文档明文数据发送给文档编辑器,具体为:所述插件将解密得到的文档明文数据按照预设大小进行分割,将分割得到的所有单元明文数据发送给文档编辑器。

16.如权利要求6所述的文档保护方法,其特征在于,在所述步骤g之后包括:所述插件截获到第三接口ID信息时,判断是否对当前文档进行预设权限的操作,是则对所述当前文档进行预设权限的操作,否则结束。

17.如权利要求16所述的文档保护方法,其特征在于,所述判断是否对当前文档进行预设权限的操作,具体为:所述插件判断第三接口ID信息中的操作是否与配置明文数据中的操作权限标识相对应。

18.一种文档保护系统,其特征在于,包括插件和设备,其中插件包括:第一接收模块:用于接收所述设备发送的生成密钥、配置密文数据和配置明文数据;

还用于接收用户发送的确认触发信息和配置触发信息;

获取模块,用于截获接口ID信息;还用于获取当前文档明文数据和当前文档显示内容;

生成模块,用于生成配置信息和生成数值;

查找模块,用于在所述第一接收模块接收到所述配置触发信息时,查找是否有对应的配置标识;

第一加密模块,用于使用接收到的所述生成密钥对获取到的所述当前文档明文数据进行加密,形成文档密文数据;

组包模块,用于按照预设格式将预设的文档加密标识和所述文档密文数据、接收到配置密文数据和预设的配置密文标识分别进行封装,组合成数据包;

转化模块,用于在加密过程中按照预设方式将所述数据包的内容转化成可打印形式文本,还用于在解密过程中按照所述预设方式的逆方法将当前文档显示内容还原为原文档内容;

第一判断模块,用于根据当前文档判断能否解析出符合所述预设格式的加密数据,判断是否有设备与主机连接;

第一解密模块,用于使用接收到的所述配置明文数据中的生成密钥对解析得到的所述文档密文数据进行解密;

第一发送模块,用于向所述设备发送所述数值、生成密钥和配置信息、解析得到的所述配置密文数据;还用向文档编辑器发送数据;

其中,设备包括:

第二发送模块,用于向所述第一接收模块发送所述生成密钥、配置密文数据和配置明文数据;

第二接收模块,用于接收所述第一发送模块发送的所述数值、生成密钥和配置信息、解析得到的所述配置密文数据;

存储模块,用于存储自身密钥和预设算法;

第二加密模块,用于使用预设算法对所述数值进行计算得到所述生成密钥,使用所述自身密钥对接收到的所述配置信息和生成密钥进行加密生成所述配置密文数据;

第二解密模块,用于使用所述自身密钥对接收到的所述配置密文数据进行解密,如解密成功得到所述配置明文数据;

第二判断模块,用于判断所述配置明文数据中的解密设备条件是否与设备信息相符。

19.如权利要求18所述的文档保护系统,其特征在于,所述文档的类型为Excel文档,所述转化模块还用于将所述可打印形式文本和解密得到的所述文档明文数据按照预设大小进行分割。

20.如权利要求18所述的文档保护系统,其特征在于,所述第一判断模块包括:第一判断单元:用于判断原文档内容中是否有文档加密标识和配置密文标识;

解析单元:用于根据所述文档加密标识和配置密文标识对所述转化后的原文档内容进行解析得到所述文档密文数据和配置密文数据;

第二判断单元,用于判断是否有设备与主机连接。

21.如权利要求20所述的文档保护系统,其特征在于,所述第一判断模块还包括第三判断单元,用于判断是否对所述当前文档进行预设权限的操作。

22.如权利要求21所述的文档保护系统,其特征在于,所述插件还包括禁止操作模块,用于对所述当前文档进行所述预设权限的操作。

说明书 :

一种文档保护方法及系统

技术领域

[0001] 本发明涉及信息保护领域,尤其涉及一种文档保护方法及系统。

背景技术

[0002] 随着计算机技术的广泛应用,在各行各业中,几乎所有的数据和信息都会被录入计算机中存储成文档。由于计算机一般都会与互联网连接,且具有磁盘驱动器和/或USB接口,存储在计算机中的文档很容易通过互联网被传送到其他计算机上,或者被拷贝到磁盘和/或U盘中,使存储在计算机中的重要文档很容易被非法地泄露,使文档所有者的利益受到威胁。
[0003] 为了防止存储在计算机中的重要文档被非法访问和泄露,现有技术中一般是通过预设密码来保护文档里的内容,需要验证密码后才能打开文档。然而,当所保护的文档需要被多人浏览时密码必须告知每一位浏览者,增加了密码被泄露的危险,且浏览者在每次使用密码打开文档时,黑客也有可能截获密码进行破解,文档安全性存在隐患;其次,当浏览者获取密码打开文档后可能会对其进行编辑、复制、剪切等操作,从而造成文档内容被篡改或泄露,侵犯文档所有者的权益。

发明内容

[0004] 本发明的目的是为了克服现有技术的不足,提供一种文档保护方法及系统,其具有使用安全方便的特点。
[0005] 本发明实施例提供一种文档保护方法,包括加密过程和解密过程,其中加密过程包括:
[0006] 包括加密过程和解密过程,其中加密过程包括:
[0007] 步骤a:插件截获到第一接口ID信息时,使用生成密钥对获取的当前文档明文数据进行加密得到文档密文数据;所述插件将所述生成密钥和配置信息发送给加密设备;所述配置信息包括解密设备标识及其标识值;
[0008] 步骤b:所述加密设备接收所述生成密钥和配置信息,使用存储的自身密钥对所述生成密钥和配置信息进行加密得到配置密文数据,将所述配置密文数据发送给所述插件;
[0009] 步骤c:所述插件根据预设格式将所述文档密文数据和文档加密标识、所述配置密文数据和配置密文标识进行封装组成数据包;所述插件对所述数据包进行处理,将处理结果发送给文档编辑器;
[0010] 其中,解密过程包括:
[0011] 步骤d:所述插件截获到第二接口ID信息时,根据当前文档判断能否解析出符合所述预设格式的加密数据,如能则判断是否有解密设备与主机连接,是则将解析得到的配置密文数据发送给解密设备,顺序执行步骤f,否则将所述当前文档的内容发送给文档编辑器;如不能则将所述当前文档的内容发送给文档编辑器;
[0012] 步骤e:所述解密设备接收所述配置密文数据,使用自身密钥对所述配置密文数据进行解密,如解密成功则判断所述配置密文数据中的解密设备条件是否与自身信息相符,是则将配置明文数据发送给所述插件,顺序执行步骤g,否则执行步骤f;如解密失败则执行步骤f;
[0013] 步骤f:所述解密设备给所述插件发送失败信息,所述插件将所述当前文档的内容发送给文档编辑器;
[0014] 步骤g:所述插件接收所述配置明文数据,并使用所述配置明文数据中的生成密钥对解析得到的文档密文数据进行解密,如解密成功则将解密得到的文档明文数据发送给文档编辑器,如解密失败则结束。
[0015] 所述第一接口ID信息中包括保存文档触发信息或启动插件触发信息。
[0016] 在所述步骤a中使用生成密钥对获取的当前文档明文数据进行加密得到文档密文数据之前包括:步骤a1:所述插件生成数值并将其发送给所述加密设备;步骤a2:所述加密设备接收所述数值,使用预设算法对所述数值进行计算得到生成密钥,所述加密设备将所述生成密钥发送给所述插件。
[0017] 在所述步骤a1之前包括:插件判断是否有加密设备与主机连接,是则执行步骤a1,否则结束。
[0018] 所述配置信息还包括操作权限标识。
[0019] 在所述步骤a中所述插件将所述生成密钥和配置信息发送给加密设备之前包括:步骤a11:所述插件接收配置触发信息,判断是否有对应的配置标识,是则执行步骤a12,否则结束;步骤a12:所述插件接收确认触发信息生成配置信息;所述配置标识包括解密设备标识和操作权限标识。
[0020] 所述步骤c中的所述插件按照预设格式将所述文档密文数据和文档加密标识、所述配置密文数据和配置密文标识进行封装形成数据包,具体包括:所述插件按照预设格式将所述文档密文数据和预设的文档加密标识、所述配置密文数据和预设的配置密文标识分别进行封装,组合成数据包。
[0021] 所述文档的类型为Word文档,所述步骤c中的所述插件对所述数据包进行处理,具体包括:所述插件按照第一预设方式将所述数据包的内容转化为第一可打印形式文本。
[0022] 所述插件将处理结果发送给文档编辑器,具体为:所述插件将第一可打印形式文本发送给文档编辑器。
[0023] 所述文档的类型为Excel文档,所述步骤c中的所述插件对所述数据包进行处理,具体包括:所述插件按照第一预设方式将所述数据包的内容转化为第二可打印形式文本,并按照预设大小将所述第二可打印形式文本进行分割。
[0024] 所述插件将处理结果发送给文档编辑器,具体为:所述插件将分割得到的所有单元密文数据发送给文档编辑器。
[0025] 在所述解密过程的步骤d中根据当前文档判断能否解析出加过密过的数据之前包括:所述插件获取当前文档显示内容,按照第二预设方式将所述当前文档显示内容还原为原文档内容;所述第二接口ID信息中包括打开当前文档的触发信息,所述第二预设方式与所述第一预设方式互逆。
[0026] 所述根据当前文档判断能否解析出所述预设格式数据,具体为:判断所述原文档内容中是否有所述文档加密标识和配置密文标识,是则根据所述文档加密标识和配置密文标识能否解析出文档密文数据和配置密文数据。
[0027] 所述步骤e中判断所述配置明文数据中的解密设备条件是否与自身信息相符,具体为:所述解密设备判断配置明文数据中的解密设备标识及其标识值是否与自身标识及标识值一致。
[0028] 所述步骤g中解密成功将解密得到的文档明文数据发送给文档编辑器,具体为:所述插件将解密得到的文档明文数据按照预设大小进行分割,将分割得到的所有单元明文数据发送给文档编辑器。
[0029] 在所述步骤g之后包括:所述插件截获到第三接口ID信息时,判断是否对当前文档进行预设权限的操作,是则对所述当前文档进行预设权限的操作,否则结束。
[0030] 所述判断是否对当前文档进行预设权限的操作,具体为:所述插件判断第三接口ID信息中的操作是否与配置明文数据中的操作权限标识相对应。
[0031] 本发明实施例又提供一种文档保护系统,包括插件和设备,其中插件包括:
[0032] 第一接收模块:用于接收所述设备发送的生成密钥、配置密文数据和配置明文数据;还用于接收用户发送的确认触发信息和配置触发信息;
[0033] 获取模块,用于截获接口ID信息;还用于获取当前文档明文数据和当前文档显示内容;
[0034] 生成模块,用于生成配置信息和生成数值;
[0035] 查找模块,用于在所述第一接收模块接收到所述配置触发信息时,查找是否有对应的配置标识;
[0036] 第一加密模块,用于使用接收到的所述生成密钥对获取到的所述当前文档明文数据进行加密,形成文档密文数据;
[0037] 组包模块,用于按照预设格式将预设的文档加密标识和所述文档密文数据、接收到配置密文数据和预设的配置密文标识分别进行封装,组合成数据包;
[0038] 转化模块,用于在加密过程中按照预设方式将所述数据包的内容转化成可打印形式文本,还用于在解密过程中按照所述预设方式的逆方法将当前文档显示内容还原为原文档内容;
[0039] 第一判断模块,用于根据当前文档判断能否解析出符合所述预设格式的加密数据,判断是否有设备与主机连接;
[0040] 第一解密模块,用于使用接收到的所述配置明文数据中的生成密钥对解析得到的所述文档密文数据进行解密;
[0041] 第一发送模块,用于向所述设备发送所述数值、生成密钥和配置信息、解析得到的所述配置密文数据;还用向文档编辑器发送数据;
[0042] 其中,设备包括:
[0043] 第二发送模块,用于向所述第一接收模块发送所述生成密钥、配置密文数据和配置明文数据;
[0044] 第二接收模块,用于接收所述第一发送模块发送的所述数值、生成密钥和配置信息、解析得到的所述配置密文数据;
[0045] 存储模块,用于存储自身密钥和预设算法;
[0046] 第二加密模块,用于使用预设算法对所述数值进行计算得到所述生成密钥,使用所述自身密钥对接收到的所述配置信息和生成密钥进行加密生成所述配置密文数据;
[0047] 第二解密模块,用于使用所述自身密钥对接收到的所述配置密文数据进行解密,如解密成功得到所述配置明文数据;
[0048] 第二判断模块,用于判断所述配置明文数据中的解密设备条件是否与设备信息相符。
[0049] 所述文档的类型为Excel文档,所述转化模块还用于将所述可打印形式文本和解密得到的所述文档明文数据按照预设大小进行分割。
[0050] 所述第一判断模块包括:第一判断单元:用于判断原文档内容中是否有文档加密标识和配置密文标识;解析单元:用于根据所述文档加密标识和配置密文标识对所述转化后的原文档内容进行解析得到所述文档密文数据和配置密文数据;第二判断单元,用于判断是否有设备与主机连接。
[0051] 所述第一判断模块还包括第三判断单元,用于判断是否对所述当前文档进行预设权限的操作。
[0052] 所述插件还包括禁止操作模块,用于对所述当前文档进行所述预设权限的操作。
[0053] 本发明与现有技术相比,具有以下优点:
[0054] 本发明提供的文档保护方法是通过设置在主机上的插件和与主机连接的设备结合实现,不仅可对文档进行加密操作,还可以对文档设置一系列的操作权限(如禁止复制、禁止剪切、禁止保存、禁止另存为、禁止作为邮件附件等),进一步地提高了文档的安全性,防止非授权用户进行非法操作,文档所有者的利益受到很好的保护。

附图说明

[0055] 图1为本发明实施例一中提供的插件与文档编辑器建立关联过程的流程图;
[0056] 图2为本发明实施例二提供的一种文档保护方法的流程图;
[0057] 图3为本发明实施例三提供的一种Word文档保护方法的加密过程流程图;
[0058] 图4为本发明实施例三提供的一种Word文档保护方法的解密过程流程图;
[0059] 图5为本发明实施例四提供的一种Excel文档保护方法的加密过程流程图;
[0060] 图6为本发明实施例四提供的一种Excel文档保护方法的解密过程流程图;
[0061] 图7为本发明实施例五提供的一种文档保护方法的补充步骤流程图;
[0062] 图8为本发明实施例六提供的一种文档保护系统的方框示意图。

具体实施方式

[0063] 为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据发明提出的一种文档保护方法及系统,其具体实施方式、特征及其功效,说明如后。
[0064] 实施例一
[0065] 本发明实施例一提供了插件与文档编辑器建立关联的过程,如图1所示,包括:
[0066] 步骤101:将插件特征值和所需函数加载到注册表中;
[0067] 具体的,在本实施例中,所需函数包括重载函数、回调函数、第一函数;注册表中保存有接口ID,不同接口ID对应有不同的信息,例如Word对应的接口ID为{0x000209fe0x0000 0x0000{0xc0 0x00 0x00 0x00 0x00 0x00 0x000x46}},Excel对应的接口ID为{0x00024413 0x0000 0x0000{0xc0 0x00 0x000x00 0x00 0x00 0x00 0x46}};
[0068] 步骤102:当插件的第一函数被调用时,插件自动获得文档事件;
[0069] 具体的,在本实施例中,文档编辑器通过注册表加载插件,插件通过advise函数获得文档事件;文档事件包括:打开、复制、点击按钮、剪切等操作;
[0070] 步骤103:插件按照预先设置的接口,通过注册表调用文档中的工具栏或菜单栏;
[0071] 具体的,文档被打开后,在其工具栏或菜单栏中增添启动插件按钮,文档和插件进行了关联;本实施例中的启动插件按钮为Lable按钮。
[0072] 实施例二
[0073] 本发明实施例二提供的一种文档保护方法,是基于实施例一的基础上实现的,如图2所示,虚线上、下部分分别是加密和解密过程,其中加密过程包括步骤201-步骤207;
[0074] 步骤201:插件截获到第一接口ID信息时,使用生成密钥对获取的当前文档明文数据进行加密得到文档密文数据;
[0075] 步骤202:插件将生成密钥和配置信息发送给加密设备;
[0076] 具体的,本实施例中的所述配置信息包括解密设备标识及其标识值;
[0077] 步骤203:加密设备接收生成密钥和配置信息,使用存储的自身密钥根据预设格式对生成密钥和配置信息进行加密得到配置密文数据;
[0078] 步骤204:加密设备将配置密文数据发送给插件;
[0079] 步骤205:插件根据预设格式将文档密文数据和文档加密标识、配置密文数据和配置密文标识进行封装组成数据包;
[0080] 步骤206:插件对所述数据包进行处理;
[0081] 步骤207:将处理结果发送给文档编辑器;
[0082] 其中,解密过程包括步骤208-步骤217;
[0083] 步骤208:插件截获到第二接口ID信息时,根据当前文档判断能否解析出符合所述预设格式的加密数据,如能则执行步骤209,如不能则将当前文档的内容发送给文档编辑器;
[0084] 步骤209:插件判断是否有解密设备与主机连接,是则执行步骤210,否则将当前文档的内容发送给文档编辑器;
[0085] 步骤210:插件将解析得到的配置密文数据发送给解密设备;
[0086] 步骤211:解密设备接收配置密文数据,使用自身密钥对所述配置密文数据进行解密,如解密成功则执行步骤212,如解密失败则执行步骤214;
[0087] 步骤212:解密设备判断配置明文数据中的解密设备条件是否与自身信息相符,是则执行步骤215,否则执行步骤213;
[0088] 步骤213:解密设备给插件发送失败信息,
[0089] 步骤214:插件将当前文档的内容发送给文档编辑器;
[0090] 步骤215:解密设备将配置明文数据发送给插件;
[0091] 步骤216:插件接收配置明文数据,并使用配置明文数据中的生成密钥对解析得到的文档密文数据进行解密,如解密成功则执行步骤217,如解密失败则结束。
[0092] 步骤217:插件将解密得到的文档明文数据发送给文档编辑器。
[0093] 本实施例提供的文档保护方法是通过设置在主机上的插件和与主机连接的设备结合实现,提高了文档的安全性,防止非授权用户进行非法操作,文档所有者的利益受到很好的保护。
[0094] 实施例三
[0095] 如图3所示为本实施例三提供的一种Word文档保护方法的加密过程,是基于实施例一的基础上实现的,包括:
[0096] 步骤301:插件截获到第一接口ID信息时,调用重载函数注册对话框界面;
[0097] 本实施例中的第一接口ID信息中包括用户点击启动插件按钮的触发信息或用户保存Word的触发信息;具体的,本实施例中的重载函数为GetCustomUI函数;
[0098] 注册对话框界面后在Word中弹出一对话框;弹出的对话框内容包括:操作权限和解密设备标识;操作权限包括:禁止复制、禁止剪切、禁止保存、禁止另存为、禁止作为邮件附件等,不同的操作权限对应于不同的标识,解密设备标识包括:HID(中文名称:硬件序列号)和/或UID(中文名称:用户设置唯一标识);
[0099] 步骤302:插件接收第一配置触发信息,查找是否有对应的配置标识,是则执行步骤303,否则结束;
[0100] 在本实施例中,配置标识包括:操作权限标识和解密设备标识,具体的,操作权限为禁止复制;
[0101] 步骤303:插件接收确认触发信息,生成第一配置信息和第一数值;
[0102] 所述第一配置信息包括解密设备标识及其标识值和操作权限标识;解密设备标识为HID时,可使用唯一的设备对该文档进行解密,解密设备标识为UID时,可使用设置的标识值范围内的任一设备对该文档进行解密,每个设备的HID和UID均不同;具体的,本实施例中禁止复制的标识为m_bEnableMenu1;
[0103] 所述第一数值为真随机数或伪随机数,本实施例中优选的采用真随机数;
[0104] 其中,第一配置信息和第一数值也可在不同时刻生成,如在该步骤中先生成第一数值;对第一数值的操作完成后再对当前文档进行配置,生成第一配置信息;
[0105] 步骤304:插件判断是否有设备与主机连接,是则执行步骤305,否则结束;
[0106] 所述设备中设置有唯一的UID或HID;
[0107] 步骤305:插件将产生的第一数值通过主机发送给设备;
[0108] 步骤306:设备接收第一数值,根据预设算法对其进行计算得到第一生成密钥;
[0109] 优选的,在本实施例中,设备使用存储的自身密钥对接收到的第一数值进行加密得到第一生成密钥,设备还可使用异或运算、拼接运算、组合运算或相加运算对存储的自身密钥和第一数值进行计算得到第一生成密钥;
[0110] 步骤307:设备将第一生成密钥发送给插件;
[0111] 步骤308:插件接收第一生成密钥,使用第一生成密钥对获取到的当前Word明文数据进行加密生成Word密文数据,按照第一预设格式将Word密文数据和预设的Word加密标识封装成第一数据包;
[0112] 具体的,在步骤308之前还包括:所述插件接收到按键触发信息或指令触发信息时获取当前Word明文数据;优选的,在本实施例中,当前Word明文数据是在步骤301中获取的,具体获取过程为:插件调用Get_text函数读出Word明文数据,当Word中有图片时,Get_text函数可替换为cut函数;不同的文档类型对应的文档加密标识不同,本实施例中预设的Word加密标识为m_bEncrypt1;
[0113] 步骤309:插件将第一生成密钥和第一配置信息通过主机发送给设备;
[0114] 步骤310:设备接收第一生成密钥和第一配置信息,使用存储的自身密钥根据预设格式对二者进行加密生成第一配置密文数据;
[0115] 步骤311:设备将第一配置密文数据返回给插件;
[0116] 步骤312:插件接收第一配置密文数据,按照第二预设格式将其与预设的第一配置密文标识封装成第二数据包;
[0117] 步骤313:插件将第一数据包和第二数据包组成第一大数据包,并按照第一预设方式将第一大数据包的内容转化为第一可打印形式文本;
[0118] 优选的,在本实施例中,插件将第一大数据包内容转化为ASCII码;还可以转化为其他可显示字,组合方式为顺序组合或其他组合方式;
[0119] 步骤314:插件将第一可打印形式文本发送给文档编辑器;
[0120] Word编辑器在接收到第一可打印文本后将其显示出来,如Word编辑器可调用Put_text函数将第一可打印文本写入Word中,加密过程结束,Word显示密文;当Word中有图片时,Put_text函数替换为PasteSpecial函数;
[0121] 参考图4,本实施例三提供的一种Word文档保护方法的解密过程,包括:
[0122] 步骤401:插件截获到第二接口ID信息时,获取当前Word显示内容,并按照第二预设方式将当前Word显示内容还原为原Word内容;
[0123] 本实施例中,第二接口ID信息中包括打开当前文档的触发信息,该步骤中的第二预设方式与步骤313中的第一预设方式互逆;步骤401具体为:插件接收打开当前文档的触发信息,调用Get_text函数读出当前Word显示的第一可打印文本,将该第一可打印文本还原为原Word内容;
[0124] 步骤402:插件判断原Word内容中是否有预先约定的Word加密标识,是则执行步骤403,否则将当前Word显示内容发送给文档编辑器;
[0125] 在本实施例中的Word加密标识为m_bEncrypt1;
[0126] 步骤403:插件判断原Word内容中是否有第一配置密文标识,是则执行步骤404,否则将当前Word显示内容发送给文档编辑器;
[0127] 步骤404:插件根据Word加密标识和第一配置密文标识对原Word内容进行解析得到Word密文数据和第一配置密文数据;
[0128] 步骤405:插件判断是否有设备与主机连接,是则执行步骤406,否则将解析得到的Word密文数据发送给文档编辑器;
[0129] 步骤406:插件将第一配置密文数据通过主机发送给设备;
[0130] 步骤407:设备接收第一配置密文数据,并使用存储的自身密钥对其进行解密,解密成功则执行步骤408,否则执行步骤409;
[0131] 步骤408:设备判断第一配置明文数据中的解密设备条件是否与自身信息相符,是则执行步骤411,否则执行步骤409;
[0132] 具体的,在本实施例中,步骤408具体为:设备判断第一配置明文数据中的HID值是否与自身的HID值相同和/或判断第一配置明文数据中的UID值范围是否包含有自身的UID值;
[0133] 步骤409:设备给插件发送失败信息;
[0134] 步骤410:插件接收失败信息,将解析得到的Word密文数据发送给文档编辑器;
[0135] 步骤411:设备将第一配置明文数据发送给插件;
[0136] 本实施例中该第一配置明文数据中包括第一生成密钥和第一配置信息,第一配置信息包括解密设备标识及标识值和操作权限标识;
[0137] 步骤412:插件接收第一配置明文数据,并使用第一配置明文数据中的第一生成密钥对解析得到的Word密文数据进行解密,如解密成功则执行步骤413,如解密失败则将解析得到的Word密文数据发送给文档编辑器;
[0138] 步骤413:插件将解密得到的Word明文数据发送给Word编辑器;
[0139] Word编辑器在接收到Word明文数据,调用Put_text函数将Word明文数据写入Word中,Word显示明文;当Word中有图片时,Put_text函数可替换为PasteSpecial函数;
[0140] 步骤414:插件截获到第三接口ID信息时,判断是否对当前Word进行预设权限的操作,是则执行步骤415,否则结束;
[0141] 判断过程具体为:插件判断第三接口ID信息中的操作是否与第一配置明文数据中的操作权限标识相对应;具体的,本实施例中,第三接口ID信息中的操作为对Word进行复制,插件在第一配置明文数据中查找是否有m_bEnableMenu1;
[0142] 步骤415:插件通过调用注册表中的回调函数禁止对当前Word进行预设权限的操作;
[0143] 具体的,在本实施例中,插件通过调用GetEnable函数禁止对Word进行复制操作。
[0144] 当用户对打开的Word进行其他操作,保存时插件会自动对该Word进行加密。使用本实施一提供的方法,用户可方便地对Word进行加密和设置权限操作,防止非法用户随意打开该Word,并对其进行恶意操作,保护用户隐私与Word的安全。
[0145] 实施例四
[0146] 本实施例四是以excel文档为例详细说明本发明的文档保护方法的具体实现方式,插件与文档编辑器建立关联的过程如图1所示,在此不再赘述,加密过程图5所示,包括:
[0147] 步骤501:插件接收第一触发信息,产生第二数值;
[0148] 具体的,在本实施例中,第一触发信息可以为按键触发或者指令触发插件产生第二数值,所述数值为真随机数或伪随机数,本实施例中优选的采用随机数;
[0149] 步骤502:插件判断是否有设备与主机连接,是则执行步骤503,否则结束;
[0150] 所述设备中设置有唯一的UID或HID;
[0151] 步骤503:插件将产生的第二数值通过主机发送给设备;
[0152] 步骤504:设备接收第二数值,按照预设算法对其进行计算得到第二生成密钥;
[0153] 在本实施例中,优选的设备使用存储的自身密钥对接收到的数值进行加密算法得到第二生成密钥,设备还可使用异或运算、拼接运算、组合运算或相加运算对存储的自身密钥和接收到的数值进行计算生成第二生成密钥;
[0154] 步骤505:设备将第二生成密钥发送给插件;
[0155] 步骤506:插件接收第二生成密钥,并使用第二生成密钥对获取到的当前Excel明文数据进行加密生成Excel密文数据,按照第一预设格式将Excel密文数据和预设的Excel加密标识进行封装成第三数据包;
[0156] 具体的,在步骤506之前还包括:所述插件接收到按键触发信息或指令触发信息时获取当前Excel明文数据,优选的,在本实施例中,获取当前Excel明文数据是在步骤501中执行的;具体获取过程为:插件调用Get_usedRange函数选中Excel中被使用的单元格,再通过Cut函数将选中的单元格内容拷贝到剪切板中;然后插件使用第二生成密钥对存储在剪切板中的单元格内容进行加密生成Excel密文数据;其中,Excel密文数据是二进制的;本实施例中预设的Excel加密标识为m_bEncrypt2;
[0157] 步骤507:插件截获到第一接口ID信息时,调用重载函数注册对话框界面;
[0158] 本实施例中的第一接口ID信息为用户点击启动插件按钮的操作或用户进行保存Excel的操作;具体的,本实施例中的重载函数为GetCustomUI函数;
[0159] 注册对话框界面后在Excel中弹出一对话框;弹出的对话框中包括:操作权限和解密设备标识;操作权限包括:禁止复制、禁止剪切、禁止保存、禁止另存为、禁止作为邮件附件等,不同的操作权限对应于不同的标识,解密设备标识包括:HID和/或UID;
[0160] 步骤508:插件接收第二配置触发信息,查找是否有对应的配置标识;是则执行步骤509,否则结束;
[0161] 具体的,在本实施例中,配置标识包括:操作权限标识和解密设备标识;本实施例中的操作权限为禁止剪切;
[0162] 步骤509:插件接收确认触发信息,生成第二配置信息;
[0163] 所述第二配置信息包括解密设备标识及其标识值和操作权限标识;具体的,本实施例中的禁止剪切的标识为m_bEnableMenu2;
[0164] 步骤510:插件将第二生成密钥和第二配置信息通过主机发送给设备;
[0165] 步骤511:设备接收第二生成密钥和第二配置信息,使用存储的自身密钥根据预设格式对二者进行加密生成第二配置密文数据;
[0166] 步骤512:设备将第二配置密文数据返回给插件;
[0167] 步骤513:插件接收第二配置密文数据,按照第二预设格式将其与预设的第二配置密文标识组成第四数据包;
[0168] 步骤514:插件将第三数据包和第四数据包组成第二大数据包,并按照第一预设方式将第二大数据包内容转化为第二可打印形式文本;
[0169] 优选的,在本实施例中,插件将第二大数据包内容转化为十六进制的ASCII码;还可以转化为其他可显示字,组合方式为顺序组合或其他组合方式;
[0170] 步骤515:插件将第二可打印形式文本按照预设大小进行分割;
[0171] 具体的,在本实施例中的预设大小为一万个字节;
[0172] 步骤516:插件将分割得到的所有单元密文数据发送给Excel编辑器;
[0173] Excel编辑器调用PasteSpecial函数将每个单元密文数据写入到对应的Excel 单元格中,加密过程结束,Excel中显示密文;
[0174] 本实施例四提供的一种Excel文档保护方法的解密过程,如图6所示,包括:
[0175] 步骤601:插件截获到第三接口ID信息时,获取当前Excel显示内容,并按照第二预设方式将获取的当前Excel显示内容还原为原Excel内容;
[0176] 本实施例中,所述第二接口信息中包括打开当前Excel的触发信息;该步骤中的第二预设方式与步骤514中的第一预设方式互逆;获取当前Excel显示内容的过程具体为:插件调用Get_usedRange函数选中Excel中被使用的单元格,再通过Cut函数将选中的单元格内容拷贝到剪切板中;
[0177] 步骤602:插件判断原Excel内容中是否有预先约定的Excel加密标识,是则执行步骤603,否则将当前Excel显示内容发送给文档编辑器;
[0178] 本实施例中,Excel加密标识为m_bEncrypt2;
[0179] 步骤603:插件判断原Excel内容中是否有第二配置密文标识,是则执行步骤604,否则将当前Excel显示内容发送给文档编辑器;
[0180] 步骤604:插件根据Excel加密标识和第二配置密文标识对原Excel内容进行解析得到Excel密文数据和第二配置密文数据;
[0181] 步骤605:插件判断是否有设备与主机连接,是则执行步骤606,否则将解析得到的Excel密文数据发送给文档编辑器;
[0182] 步骤606:插件将第二配置密文数据通过主机发送给设备;
[0183] 步骤607:设备接收第二配置密文数据,使用存储的自身密钥对其进行解密,解密成功则执行步骤608,否则执行步骤609;
[0184] 步骤608:设备判断第二配置明文数据中的解密设备条件是否与自身信息相符,是则执行步骤611,否则执行步骤609;
[0185] 具体的,在本实施例中,步骤608具体为:设备判断第二配置明文数据中的HID值相同是否与自身的HID值相同和/或判断第二配置明文数据中的UID值范围是否包含有自身的UID值;
[0186] 步骤609:设备给插件发送失败信息;
[0187] 步骤610:插件接收失败信息,将解析得到的Excel密文数据发送给文档编辑器;
[0188] 步骤611:设备将第二配置明文数据发送给插件;
[0189] 其中,该第二配置明文数据中包括第二生成密钥和第二配置信息,第二配置信息中包括解密设备标识及标识值和操作权限标识;
[0190] 步骤612:插件接收第二配置明文数据,并使用第二配置明文数据中的第二生成密钥对解析得到的Excel密文数据进行解密,解密成功则执行步骤613,否则结束;
[0191] 步骤613:插件将解密得到的文档明文数据按照预设大小进行分割;
[0192] 具体的,在本实施例中的预设大小为一万个字节;
[0193] 步骤614:插件将所有分割得到的所有单元明文数据发送给Excel编辑器;
[0194] 具体的,本实施例中,Excel编辑器调用PasteSpecial函数将每个单元明文数据写入到对应的Excel单元格中,Excel中显示明文;
[0195] 步骤615:插件截获到第四接口ID信息时,判断是否对当前Excel进行预设权限的操作,是则执行步骤616,否则结束;
[0196] 具体的,在本实施例中,第四接口ID信息中的操作为对Excel进行剪切的操作;判断过程具体为:插件在第二配置明文数据中查找是否有m_bEnableMenu2;
[0197] 步骤616:插件通过调用注册表中的回调函数禁止对当前Excel进行预设权限的操作;
[0198] 具体的,在本实施例中,插件通过调用GetEnable函数禁止对Excel进行剪切。
[0199] 当用户对上述打开的Excel其进行其他操作,保存时插件自动对该Excel进行加密;使用本发明实施例提供的方法,可防止非法用户对Excel进行恶意剪切,提高Excel安全性,也可对Excel设置其他操作权限,提高Excel的安全性。
[0200] 实施例五
[0201] 在本实施例二、实施例三和实施例四提供的所述方法中,为增强插件和与主机连接的设备之间通讯的安全性,本发明实施例五提供了一种文档保护方法的补充步骤,如图7所示,包括;
[0202] 步骤701:插件产生第一随机数并进行备份,将第一随机数通过主机发送给设备;
[0203] 步骤702:设备接收到第一随机数,产生第二随机数并进行备份,将第一随机数和备份的第二随机数按预设规则进行组合成第一新数值并进行存储;
[0204] 步骤703:设备将第二随机数发送给插件;
[0205] 步骤704:插件接收第二随机数,将其与备份的第一随机数按照预设规则组合成第二新数值;
[0206] 步骤705:插件将第二新数值通过主机发送给设备;
[0207] 步骤706:设备接收第二新数值并与存储的第一新数值进行对比,如一致,则给插件返回成功响应信息,插件通过主机与设备开始进行数据通讯;如不一致则给插件返回失败响应信息,结束。
[0208] 具体的,本实施例所提供的方法,应用在图2-图6中插件判断有设备与主机连接后进行,确保插件与设备之间的每次通讯都是安全的,可防止通讯过程中的数据被篡改。
[0209] 实施例六
[0210] 本实施例六提供了一种文档保护系统,如图8所示,包括插件1和设备3;其中插件1是安装在主机中的,通过主机与设备3进行通讯;
[0211] 插件1包括:
[0212] 第一接收模块10:用于接收设备3发送的数据和信息;还用于接收确认触发信息和配置触发信息;
[0213] 具体的,在本实施例中,所述数据和信息包括:生成密钥、配置密文数据、配置明文数据和失败信息;
[0214] 第一发送模块11,用于向设备3发送数据;包括:数值、生成密钥和配置信息、解析得到的配置密文数据;还用向文档编辑器发送数据;
[0215] 获取模块12,用于截获接口ID信息;还用于在加密过程中获取当前文档明文数据,在解密过程中获取当前文档显示内容;
[0216] 组包模块13,用于按照预设格式将预设的文档加密标识和加密后的文档密文数据、接收到配置密文数据和预设的配置密文标识分别进行封装,组合成数据包;
[0217] 转化模块14,用于在加密过程中按照预设方式将数据包的内容转化成可打印形式文本,在解密过程中按照预设方式的逆方法将当前文档显示内容还原为原文档内容;
[0218] 具体的,当文档的类型为Excel文档时,转化模块14还用于将可打印形式文本和解密得到的当前文档明文数据按照预设大小进行分割;
[0219] 生成模块15,用于生成配置信息和数值;
[0220] 具体的,本实施例中,生成模块15在同一时刻接收到触发信息时同时生成配置信息和数值,或者在不同时刻接收到触发信息生成配置信息和数值;触发信息可以是按键触发信息或指令触发信息,配置信息包括解密设备标识及其标识值和操作权限标识;
[0221] 查找模块16,用于在第一接收模块10接收到配置触发信息时,查找是否有对应的配置标识;
[0222] 具体的,在本实施例中,配置标识包括:操作权限标识和解密设备标识;
[0223] 解析模块17,用于在解密过程中根据文档加密标识和配置密文标识对对转化后的原文档内容进行解析得到文档密文数据和配置密文数据;
[0224] 第一判断模块18,用于根据当前文档判断能否解析出符合所述预设格式的加密数据,判断是否有设备与主机连接,具体包括:
[0225] 第一判断单元:用于判断原文档内容中是否有文档加密标识和配置密文标识;
[0226] 解析单元:用于根据文档加密标识和配置密文标识对原文档内容进行解析得到所述文档密文数据和配置密文数据;
[0227] 第二判断单元,用于判断是否有设备与主机连接;
[0228] 第三判断单元,用于在获取模块12截获到第三接口ID信息时,判断是否对当前文档进行预设权限的操作;
[0229] 具体的,在本实施例中,第三判断单元判断第三接口ID信息中的操作是否与接收到的配置明文数据中的操作权限标识相对应;
[0230] 第一加密模块19,用于使用接收到的生成密钥对获取到的当前文档明文数据进行加密,形成文档密文数据;
[0231] 第一解密模块20,用于使用接收到的配置明文数据中的生成密钥对解析得到的文档密文数据进行解密;
[0232] 禁止操作模块21,用于对当前文档进行预设权限的操作;
[0233] 具体的,在本实施例中,禁止操作模块21通过调用回调函数当前文档进行预设权限的操作;回调函数为GetEnable;
[0234] 其中,本实施例四提供的系统中的设备3包括:
[0235] 第二发送模块30,用于向第一接收模块10发送生成密钥、加密得到的配置密文数据、配置明文数据和失败信息;
[0236] 第二接收模块31,用于接收第一发送模块11发送的数值、生成密钥和配置信息,还用于在解密过程中接收解析得到的配置密文数据;
[0237] 存储模块32,用于存储自身密钥和预设算法;
[0238] 第二加密模块33,用于使用预设算法对接收到的数值进行计算得到生成密钥,使用自身密钥对接收到的配置信息和生成密钥进行加密生成配置密文数据;
[0239] 第二解密模块34,用于使用自身密钥对接收到的配置密文数据进行解密,解密成功得到配置明文数据,解密失败生成失败信息;
[0240] 第二判断模块35,用于判断所述配置明文数据中的解密设备条件是否与设备信息相符。
[0241] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。