一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种共享式文件透明加密方法及系统与流程

2023-01-15 20:42:14 来源:中国专利 TAG:


1.本发明属于计算机信息技术管理行业中的移动互联网身份认证技术领域,具体涉及一种共享式文件透明加密方法及系统。


背景技术:

2.术语定义:钩子程序:操作系统 api hook 钩子程序。
3.操作系统:指windows、linux、unix操作系统用户usb-key:介质为硬件u盾,可插入usb口,用户使用usb-key之前会提前在证书管理平台侧,为usb-key生成公/私钥对,以及证书,最后将植入进usb-key里。
4.用户公钥:usb-key中的证书中的公钥,api hook 钩子程序可利用usb-key接口来获取。
5.用户私钥:usb-key中的私钥,api hook 钩子程序可利用usb-key接口来获取。
6.用户证书:usb-key中的证书,api hook 钩子程序可利用usb-key接口进行获取。
7.非对称加密:利用国密证书中的国密公钥,对原文进行sm2非对称加密。sm2非对称加密,是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,sm2是非对称加密的,基于ecc。该算法已公开,由于该算法基于ecc,故其签名速度与秘钥生成速度都快于rsa。ecc 256位安全强度比rsa 2048位高,且运算速度快于rsa,sm2性能更优更安全,密码复杂度高、处理速度快、机器性能消耗更小。
8.非对称解密:利用用户usb-key的国密sm2私钥,对密文进行国密sm2非对称解密。国密sm2算法的解密流程,是根据随机数的多倍点运算结果,依据该点计算出加密时使用的密钥流,使用密文数据与密钥流进行异或得到数据明文,后续再确认计算出的摘要值与密文中摘要值是否一致,若一致则完成sm2解密,简单说就是sm2非对称加密的逆向运算。
9.对称加密:sm4加密,是无线局域网标准的分组数据加密算法,该对称加密的密钥长度和分组长度均为128位,是我国国家密码管理局在2012年公布出来,无线局域网产品使用的sm4密码算法,也称为商用密码算法,它是分组算法当中的一种,算法特点是设计简沽,结构有特点,安全高效。加密时,对原文进行数据分组,原文数据分组长度为128比特,密钥长度为128 比特。加密算法与密钥扩展算法都采用32轮迭代结构。sm4密码算法以字节(8位)和字(32位)作为单位进行数据处理。
10.对称解密:sm4解密,sm4密码算法是对合运算,因此sm4解密算法与sm4加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
11.对称密钥:sm4对称加解密算法使用到的对称密钥。
12.证书管理平台:平台独立部署,可连接ca,证书管理平台提供用户证书管理、向外提供接口。
13.应用程序:应用程序指操作系统上文档编辑程序,例如windows系统中的word.exe、excel.exe、nodepad.exe,linux上的vim等。
14.随着移动互联网的发展,国家机关、企事业单位、群团组织、社会组织等单位在日常办公工作中需要存储大量重要的数据文件,比如各类机密办公文档、设计图纸、客户名录、财务报表、采购渠道、招标文件、个人隐私信息等。如果这些机密文件被非授权用户访问,会造成信息泄漏,给企事业单位组织带来难以估量的利益损失。通常,人们用压缩软件对文件进行加密,通过设置密码防止非授权访问。但是,用户本人访问时,也需要输入密码解密,给用户日常使用带来不必要的繁琐操作。另外,这种方式也使得多人协同操作文件变得困难,比如第一作者加密后别人就无法访问文件了,反过来,如果第一作者把密码告诉其他人,密钥就可能被泄漏给更多的人,造成文件的保密性无法得到保障。
15.为解决上述问题,计算机信息技术管理行业开展了关于文件的透明加密技术研究工作。
16.基于操作系统api注入技术实现文件透明加密,是业界通常采用的技术路线,常见的实现方式有三类:1)第一类,软件方式,在本机保存用户的密钥,实现对单文件的加解密。
17.2)第二类,托管方式,在远端密钥平台托管用户的密钥,加解密时从远端将密钥传回到本地终端使用。
18.3)第三类,硬件方式,将用户的密码保存硬件usb-key(u盾)中,加密时从usb-key读取密钥,反之解密时必须插入同一个usb-key方能解密,其他用户因拿不到此usb-key,所以无法解密,保证文档的机密性。
19.上述做文件透明加密的厂商,大多都基于操作系统api注入技术实现文件加密的三类实现方式,都存在各种的技术局限性:1) 第一类软件方式,在本机保存公共密钥,使用某种加密算法对原文件进行加解密,由于公共密钥留存本地,存在安全隐患。同时,在跨终端访问的场景下,如多台终端尝试查看此文件时,存在密钥不同步而无法共享文件的问题。
20.2) 第二类托管方式,由于密钥托管在远端密钥管理平台,解密在用户的设备终端完成,这种方式虽然能解决跨多终端访问的问题,但是因为密钥在网络上传输存在安全隐患,例如用户通过代理网关上网,密钥有可能被代理网关窃取,存在密钥被泄露的风险。
21.3) 第三类硬件方式,密钥放置在硬件usb-key中,文件加密时使用usb-key的对称密钥加密,解密时文件只能被持有usb-key的人解密,而usb-key通常是由第一作者持有,因此存在文件无法共享访问的问题。


技术实现要素:

22.为了解决现有技术存在的上述问题,本发明目的在于提供一种共享式文件透明加密方法及系统,能够实现加密文件共享访问,安全系数高,保证每一位授权用户可正常访问文件,并拒绝非授权用户的文件访问。
23.本发明所采用的技术方案为:一种共享式文件透明加密系统,包括有若干用户终端、若干用户usb-key、加解密辅助模块、钩子程序和证书管理平台;所述证书管理平台用于保存授权用户的证书列表,每一张证书分别包含有一个用户usb-key公钥;每个用户usb-key分别包含有一个用户usb-key私钥,每个用户usb-key公
钥和相应用户usb-key私钥互相配合构成用户usb-key公/私钥对;所述证书管理平台还设置有密钥管理功能模块,所述密钥管理功能模块用于生成用户usb-key公/私钥对;每个所述用户终端分别设置有钩子程序、应用程序、操作系统、加解密辅助模块和存储辅助模块;所述钩子程序用于监控用户终端的应用程序执行动作,并在应用程序执行保存和/或读取动作时将其暂停,从而优先处理钩子程序的执行动作;钩子程序的执行动作包括通过用户usb-key进行公钥查询、证书查询、公钥非对称加密和私钥非对称解密、对称加密、对称解密;所述钩子程序还用于通过加解密辅助模块对文档的对称密钥进行非对称加解密,并通过对称密钥对原文档进行sm4对称加解密;所述应用程序用于创作、保存和/或读取原文档;所述操作系统用于支持用户终端常规运行;所述存储辅助模块用于存储操作系统函数;每个所述用户usb-key设置有非对称加密接口、非对称解密接口、对称加密接口、对称解密接口、随机数发生器和usb-key容器,所述非对称加密接口用于非对称加密,所述非对称解密接口用于非对称解密,所述对称加密接口用于对称加密,所述对称解密接口用于对称解密,所述随机数发生器用于产生随机数,所述usb-key容器用于存储用户usb-key公/私钥对和用户ca证书。
24.进一步地,所述用户usb-key为硬件u盾。
25.进一步地,所述钩子程序为api hook 钩子程序。
26.本发明还涉及上述共享式文件透明加密系统的共享式文件透明加密方法,包括有以下步骤:s01,制作用户usb-key;s02,第一作者通过其用户端的应用程序创作原文档,用户端的操作系统收到应用程序的保存消息时,钩子程序暂停应用程序,并先对需要保存的原文档进行预加密,生成sm4对称加解密密钥;s03,对原文档的对sm4对称加解密密钥进行二次加密;s031,钩子程序获取证书管理平台的用户usb-key公钥;s0311,钩子程序向证书管理平台获取待授权用户的用户证书列表;s0312,钩子弹出对话框界面展示用户证书列表,通过复选框单元或者多选,第一作者在列表界面上勾选n授权用户证书,n为大于等于1的正整数;勾选完之后,钩子从证书管理平台获取对应的用户证书,从而获得相应用户usb-key公钥;s032,钩子程序依次通过每个用户usb-key公钥调用第一作者用户端上的加解密辅助模块,通过第一作者的用户usb-key的非对称加密接口进行非对称加密;将每个用户证书的用户usb-key公钥传进非对称加密接口中,对称密钥也传进非对称加密接口中,非对称加密接口中拿到每个用户usb-key公钥之后,分别对sm4对称加解密密钥进行sm2非对称加密,生成与每个用户usb-key相对应的sm2非对称加密密文;s033,sm2非对称加密密文存储;
钩子程序将sm2非对称加密密文作为附加信息存储在存储文件的前n行;s034,钩子程序在存储文件的第n 1行位置设置分隔线;钩子程序使用sm4对称加解密密钥对原文档进行sm4对称加密为密文,密文存储于存储文件的第n 2行以下的位置;s035,钩子程序释放应用程序,返回继续执行保存流程,保存二次加密后的存储文件;s04,用户端解密存储文件;s041,在用户端插入用户usb-key;s042,用户端的操作系统收到应用程序的读取存储文件消息时,钩子程序暂停应用程序,通过加解密辅助模块在存储文件的附加信息中查找与当前用户usb-key的用户证书相对应的sm2非对称加密密文;s043,钩子程序通过加解密辅助模块调用当前用户usb-key中的用户usb-key私钥,进行非对称解密,获得对称密钥明文;s044,钩子程序对密文进行sm4对称解密,得到原文档明文;s045,钩子程序将原文档明文写入应用程序的内存;并释放应用程序,返回继续执行读取流程。
27.进一步地,所述步骤s01中包括以下操作内容:s011, 证书管理平台管理员接收用户usb-key制作信息;s012,证书管理平台管理员确认用户usb-key制作信息;s013,证书管理平台管理员在证书管理平台制作用户usb-key,为每个用户usb-key分别生成公/私钥对;s014,证书平台管理员在密钥管理平台密钥管理功能模块中取出用户usb-key公钥向ca申请证书;s015,证书平台管理员在证书管理平台将证书写入用户usb-key中;s016,证书平台管理员将用户usb-key分发至相应用户;s017,用户收到用户usb-key,并检查用户usb-key是否有效。
28.进一步地,所述步骤s02中包括以下操作内容:s021,当前用户端插入相应用户usb-key,通过操作系统和应用程序进行原文档创作;s022,原文档创作完成后,点击保存按钮,当前用户端的应用程序调用操作系统的存储辅助模块的操作系统函数;s023,当前用户端的操作系统接收应用程序的保存消息时,钩子程序先钩住保存消息勾住,即暂停应用程序,钩子程序优先处理自已的保存流程,为原文档生成随机的sm4对称加解密密钥。
29.进一步地,所述步骤s032中包括以下操作内容:s0321,钩子程序通过加解密辅助模块调取用户usb-key的随机数发生器,产生随机数k;s0322,加解密辅助模块计算椭圆曲线点c1,将c1的数据类型转换为比特串;s0323,加解密辅助模块计算椭圆曲线点s;s0324,加解密辅助模块计算椭圆曲线点[k]pb=(x2,y2),将坐标x2、y2 的 数据类
型转换为比特串;x2和y2是用户公钥的实际坐标点值;s0325,加解密辅助模块计算变量t ;s0326,加解密辅助模块计算椭圆曲线点c2;s0327,加解密辅助模块计算椭圆曲线点c3;s0328,加解密辅助模块计算得到sm2非对称加密密文c,并将计算结果通知钩子程序,完成非对称加密,生成与每个用户usb-key相对应的sm2非对称加密密文。
[0030]
再进一步地,所述步骤s034中包括以下操作内容:s0341,对原文档进行分组;每个组的长度为 128 bit,sm4对称密钥长度也为 128 bit;将原文档拆分为多个长度为128bit的组;s0342,取第一组128bit的数据,将其按位拆分成4个32bit的数据x0,x1,x2,x3;s0343,迭代运算32次;当i=0时为第一次轮变换,一直进行到i=31结束,将xi 1,xi 2,xi 3和轮密钥rki 异或得到一个32bit的数据,即sbox-input=xi 1

xi 2

xi 3

rki,

符号代表异或运算;s0344,进行反序变换;对最后一轮数据进行反序变换并得到密文,将sbox_input拆分成4个8bit数据,分别进行盒变换,之后再将4个8bit输出合并成一个32bit的sbox_output变量;s0345,计算得到密文;将上一步获得的 sbox_output分别循环左移2,10,18,24位,得到4个32bit的结果,记移位结果为y2,y10,y18,y24与盒变换输出的sbox_output和xi异或,得到xi 4,即xi 4=sbox_output

y2

y10

y18

y24

xi,xi 4即得到对称加密的密文。
[0031]
s0346,加解密辅助模块得到usb-key的结果回馈之后,将对称加密的密文通知钩子程序。
[0032]
再进一步地,所述步骤s043的非对称解密包括以下操作内容:a1,通过输入当前用户usb-key的pin码核验用户身份,调取当前用户usb-key中的用户usb-key私钥值,获得sm2非对称加密密文c;a2,加解密辅助模块对sm2非对称加密密文c进行拆分,从sm2非对称加密密文c中提取椭圆曲线点c1;a3,加解密辅助模块计算椭圆曲线点s;a4,加解密辅助模块将变量[db]c1换为比特串;a5,加解密辅助模块计算获得变量t;a6,加解密辅助模块通过比特串计算获得sm4对称加解密密钥的明文m

;a7,加解密辅助模块将明文m

通知钩子程序,完成非对称解密,得到对称密钥明文。
[0033]
最后,所述步骤s044中对存储文档中的分隔线之后的密文进行sm4对称解密,sm4对称解密包括以下操作内容:m1,输入原始密钥key,并按位拆分为4个32bit的数据 k0,k1,k2,k3;m2,加解密辅助模块计算循环密钥,将初始密钥 k0,k1,k2,k3分别异或固定参数
fk0,fk1,fk2,fk3,得到用于循环的密钥 k0,k1,k2,k3,即 k0=k0

fk0,k1=k1

fk1,k2=k2

fk2,k3=k3

fk3;m3,加解密辅助模块生成轮密钥,当i=0 时为第一次轮变换,一直进行到i=31结束,将ki 1,ki 2,ki 3和固定参数cki异或得到一个32bit数据,即sbox_input=ki 1

ki 2

ki 3

cki,将sbox_input拆分成4个8bit数据,分别进行盒变换,之后再将4个8bit数据输出合并成一个32bit的sbox_output变量;m4,加解密辅助模块计算解密后的rki,将sbox_output变量分别循环左移13,23位,得到2个32bit的移位结果,记2个移位结果为 y13,y23,将移位的结果y13,y23与盒变换输出sbox_output和 ki异或,得到ki 4,即rki=ki 4=sbox_output

y13

y23

ki,运算执行32轮,同时使用32个不同的cki,cki为固定参数,执行完 32 轮后,获得解密的rki;m5,加解密辅助模块做轮密钥逆序运算,运算步骤为rk

i=rk31

i;m6,加解密辅助模块计算出sm4对称解密之后的明文,将密文 x35,x34,x33,x32 赋值为 x

0,x

1,x

2,x

3, 把x

0,x

1,x

2,x

3 和 rk

i 做逆序 x

4=x35

t(x34

x33

x32

rk31)=x31

t(

)

t(

)=x31,得出 x

i=x35

i;m7,加解密辅助模块计算32轮函数,得到sm4对称解密之后的的原文档,并通知钩子程序,完成sm4对称解密。
[0034]
本发明的有益效果为:一种共享式文件透明加密方法及系统,建立一套基于密钥保护的共享式安全防护策略,实现安全地文件共享访问,保证每一位授权用户可正常访问文件,并拒绝非授权用户的文件访问,无需在网络上传输加解密密钥,每份文件使用的加解密密钥由每个用户证书的公钥加密,加密后形成密钥密文,将各个用户的证书和使用各个用户公钥加密后的密钥密文作为附加信息嵌入被保护文件中,嵌入的附加信息的格式不限。
[0035]
每个加密后的文件,由加密数据和附加信息组成。加密数据是使用加解密密钥加密后的密文。附加信息中,可以包含多组授权用户的证书和对应的密钥密文,以支持多个授权用户对文件的共享访问。
[0036]
授权用户读取文档时,钩子程序从加密文件中读取附加信息,根据各自用户的证书,找到对应的密钥密文,调取用户usb-key私钥将加解密密钥密文解密为密钥明文,再使用密钥明文对加密数据进行解密。
[0037]
授予权用户将用户usb-key硬件拨出后,则钩子程序无法调取用户usb-key私钥进行密钥密文解密,即可在文件共享方式下最大程度保护对称密钥的安全性,也会阻止非授权用户的文件访问。
[0038]
本发明围绕对内部机密文档进行透明加密,透明加密可做个人私密保护、有限分享保护、二次分享保护,机密文档类型例如设计图纸、客户名录、财务报表、采购渠道、招标文件等。
附图说明
[0039]
图1是本发明共享式文件透明加密方法的证书管理平台制作用户usb-key流程示意图;图2是本发明共享式文件透明加密方法的第一作者创作加密文件流程示意图;
图3是本发明共享式文件透明加密方法的其他读者解密文件流程示意图。
具体实施方式
[0040]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0041]
如图1所示,为解决现有技术中普遍存在的问题,本发明提供一种共享式文件透明加密方法及系统,将解决安全地文件共享访问作为关键目标,建立一套基于密钥保护的共享式安全防护策略,保证每一位授权用户可正常访问文件,并拒绝非授权用户的文件访问。本方案不在网络上传输加解密密钥,每份文件使用的加解密密钥由每个用户证书的公钥加密,加密后形成密钥密文,作为附加信息嵌入被保护文件中,嵌入的附加信息的格式不限,但均需要包含以下关键内容:1)各个用户的证书2)使用各个用户公钥加密后的密钥密文。
[0042]
每个加密后的文件,由加密数据和附加信息组成。加密数据是使用加解密密钥加密后的密文。附加信息中,可以包含多组授权用户的证书和对应的密钥密文,以支持多个授权用户对文件的共享访问。
[0043]
当每个授权用户读取文档时,钩子从加密文件中读取附加信息,根据各自用户的证书,找到对应的密钥密文,调用usb-key私钥将加解密密钥密文解密为密钥明文,再使用密钥明文对加密数据进行解密。
[0044]
假如某一授予权用户将用户usb-key硬件拨出,则钩子程序无法调取用户usb-key私钥进行密钥密文解密,这样即可在文件共享方式下最大程度保护对称密钥的安全性,也会阻止非授权用户的文件访问。
[0045]
上述加密后文件组装方法,不能理解为对本技术的限制,本领域的技术人员可以以不同的组装格式、内容顺序组装加密后的文件。
[0046]
整体策划方案为:一种共享式文件透明加密系统,根据应用场景的使用需求设置若干用户终端、若干用户usb-key、加解密辅助模块、钩子程序和证书管理平台;证书管理平台用于保存授权用户的证书列表,每一张证书分别包含有一个用户usb-key公钥,每个用户usb-key分别包含有一个用户usb-key私钥;每个用户usb-key公钥与相应用户usb-key私钥互相配合构成用户usb-key公/私钥对;证书管理平台还设置有密钥管理功能模块,密钥管理功能椹用于生成用户usb-key公/私钥对;每个用户终端分别设置有钩子程序、应用程序、操作系统、加解密辅助模块和存储辅助模块;钩子程序为api hook 钩子程序;钩子程序用于监控用户终端的应用程序执行动作,并在应用程序执行保存和/或读取动作时将其暂停,从而优先处理钩子程序的执行动作;钩子程序的执行动作包括通过用户usb-key进行公钥查询、证书查询、公钥非对称加密
和私钥非对称解密、对称加密、对称解密;钩子程序还用于通过加解密辅助模块对文档的对称密钥进行非对称加解密,并通过对称密钥对原文档进行sm4对称加解密;应用程序用于创作、保存和/或读取原文档;操作系统用于支持用户终端常规运行;存储辅助模块用于存储操作系统函数;用户usb-key为硬件u盾;每个用户usb-key分别设置非对称加密接口、非对称解密接口、对称加密接口、对称解密接口、随机数发生器和usb-key容器,非对称加密接口用于非对称加密,非对称解密接口用于非对称解密,对称加密接口用于对称加密,对称解密接口用于对称解密,随机数发生器用于产生随机数,usb-key容器用于存储用户usb-key公/私钥对和用户ca证书。
[0047]
本发明还涉及上述共享式文件透明加密系统的共享式文件透明加密方法,具体操作过程包括以下步骤:s01,制作用户usb-key;s011, 证书管理平台管理员接收用户usb-key制作信息;s012,证书管理平台管理员确认用户usb-key制作信息;s013,证书管理平台管理员在证书管理平台制作用户usb-key,为每个用户usb-key分别生成公/私钥对;s014,证书平台管理员在密钥管理平台密钥管理功能模块中取出用户usb-key公钥向ca申请证书;s015,证书平台管理员在证书管理平台将证书写入用户usb-key中;s016,证书平台管理员将用户usb-key分发至相应用户;s017,用户收到用户usb-key,并检查用户usb-key是否有效。
[0048]
s02,第一作者通过其用户端的应用程序创作原文档,用户端的操作系统收到应用程序的保存消息时,钩子程序暂停应用程序,并先对需要保存的原文档进行预加密,生成sm4对称加解密密钥;s021,当前用户端插入相应用户usb-key,通过操作系统和应用程序进行原文档创作;s022,原文档创作完成后,点击保存按钮,当前用户端的应用程序调用操作系统的存储辅助模块的操作系统函数;s023,当前用户端的操作系统接收应用程序的保存消息时,钩子程序先钩住保存消息勾住,即暂停应用程序,钩子程序优先处理自已的保存流程,为原文档生成随机的sm4对称加解密密钥。
[0049]
s03,对原文档的sm4对称加解密密钥进行二次加密;s031,获取证书管理平台的用户usb-key公钥;s0311,钩子程序向证书管理平台获取待授权用户的证书列表;s0312,钩子弹出对话框界面展示证书列表,复选框可多选,第一作者在列表界面上勾选多个授权用户证书,勾选完之后,钩子从证书管理平台获取对应的用户usb-key公钥;
s032,钩子程序依次通过每个用户usb-key公钥调用第一作者用户端上的加解密辅助模块,通过第一作者的用户usb-key的非对称加密接口进行非对称加密;将每个用户证书的用户usb-key公钥传进非对称加密接口中,对称密钥也传进非对称加密接口中(对称密钥例如123),非对称加密接口中拿到每个用户usb-key公钥和对称密钥之后,进行sm2非对称加密,生成与每个用户usb-key相对应的sm2非对称加密密文;s0321,钩子程序通过加解密辅助模块调取用户usb-key的随机数发生器,产生随机数k;s0322,加解密辅助模块计算椭圆曲线点c1,将c1的数据类型转换为比特串;s0323,加解密辅助模块计算椭圆曲线点s;s0324,加解密辅助模块计算椭圆曲线点[k]pb=(x2,y2),将坐标x2、y2 的 数据类型转换为比特串;x2和y2是用户公钥的实际坐标点值;s0325,加解密辅助模块计算变量t ;s0326,加解密辅助模块计算椭圆曲线点c2;s0327,加解密辅助模块计算椭圆曲线点c3;s0328,加解密辅助模块计算得到sm2非对称加密密文c,并将计算结果通知钩子程序,完成非对称加密,生成与每个用户usb-key相对应的sm2非对称加密密文。
[0050]
s033,sm2非对称加密密文存储;钩子程序将sm2非对称加密密文作为附加信息存储在存储文件的前n行;s034,钩子程序在存储文件的第n 1行位置设置分隔线;钩子程序使用sm4对称加解密密钥对原文档进行sm4对称加密为密文,密文存储于存储文件的第n 2行以下的位置;s0341,对原文档进行分组;每个组的长度为 128 bit,sm4对称密钥长度也为 128 bit;将原文档拆分为多个长度为128bit的组;s0342,取第一组128bit的数据,将其按位拆分成4个32bit的数据x0,x1,x2,x3;s0343,迭代运算32次;当i=0时为第一次轮变换,一直进行到i=31结束,将xi 1,xi 2,xi 3和轮密钥rki 异或得到一个32bit的数据,即sbox-input=xi 1

xi 2

xi 3

rki,

符号代表异或运算;s0344,进行反序变换;对最后一轮数据进行反序变换并得到密文,将sbox_input拆分成4个8bit数据,分别进行盒变换,之后再将4个8bit输出合并成一个32bit的sbox_output变量;s0345,计算得到密文;将上一步获得的 sbox_output分别循环左移2,10,18,24位,得到4个32bit的结果,记移位结果为y2,y10,y18,y24与盒变换输出的sbox_output和xi异或,得到xi 4,即xi 4=sbox_output

y2

y10

y18

y24

xi,xi 4即得到对称加密的密文。
[0051]
s0346,加解密辅助模块得到usb-key的结果回馈之后,将对称加密的密文通知钩子程序。
[0052]
s035,钩子程序释放应用程序,返回继续执行保存流程,保存二次加密后的存储文件;
s04,用户端解密存储文件;s041,在用户端插入用户usb-key;s042,用户端的操作系统收到应用程序的读取存储文件消息时,钩子程序暂停应用程序,通过加解密辅助模块在存储文件的附加信息中查找与当前用户usb-key的用户证书相对应的sm2非对称加密密文;s043,钩子程序通过加解密辅助模块调用当前用户usb-key中的用户usb-key私钥,进行非对称解密,获得对称密钥明文;非对称解密包括以下操作内容:a1,通过输入当前用户usb-key的pin码核验用户身份,调取当前用户usb-key中的用户usb-key私钥值,获得sm2非对称加密密文c;a2,加解密辅助模块对sm2非对称加密密文c进行拆分,从sm2非对称加密密文c中提取椭圆曲线点c1;a3,加解密辅助模块计算椭圆曲线点s;a4,加解密辅助模块将变量[db]c1换为比特串;a5,加解密辅助模块计算获得变量t;a6,加解密辅助模块通过比特串计算获得sm4对称加解密密钥的明文m

;a7,加解密辅助模块将明文m

通知钩子程序,完成非对称解密,得到对称密钥明文。
[0053]
s044,钩子程序对密文进行sm4对称解密,得到原文档明文;对存储文档中的分隔线之后的密文进行sm4对称解密,sm4对称解密包括以下操作内容:m1,输入原始密钥key,并按位拆分为4个32bit的数据 k0,k1,k2,k3;m2,加解密辅助模块计算循环密钥,将初始密钥 k0,k1,k2,k3分别异或固定参数fk0,fk1,fk2,fk3,得到用于循环的密钥 k0,k1,k2,k3,即 k0=k0

fk0,k1=k1

fk1,k2=k2

fk2,k3=k3

fk3;m3,加解密辅助模块生成轮密钥,当i=0 时为第一次轮变换,一直进行到i=31结束,将ki 1,ki 2,ki 3和固定参数cki异或得到一个32bit数据,即sbox_input=ki 1

ki 2

ki 3

cki,将sbox_input拆分成4个8bit数据,分别进行盒变换,之后再将4个8bit数据输出合并成一个32bit的sbox_output变量;m4,加解密辅助模块计算解密后的rki,将sbox_output变量分别循环左移13,23位,得到2个32bit的移位结果,记2个移位结果为 y13,y23,将移位的结果y13,y23与盒变换输出sbox_output和 ki异或,得到ki 4,即rki=ki 4=sbox_output

y13

y23

ki,运算执行32轮,同时使用32个不同的cki,cki为固定参数,执行完 32 轮后,获得解密的rki;m5,加解密辅助模块做轮密钥逆序运算,运算步骤为rk

i=rk31

i;m6,加解密辅助模块计算出sm4对称解密之后的明文,将密文 x35,x34,x33,x32 赋值为 x

0,x

1,x

2,x

3, 把x

0,x

1,x

2,x

3 和 rk

i 做逆序 x

4=x35

t(x34

x33

x32

rk31)=x31

t(

)

t(

)=x31,得出 x

i=x35

i;m7,加解密辅助模块计算32轮函数,得到sm4对称解密之后的的原文档,并通知钩子程序,完成sm4对称解密。
[0054]
本发明的共享式文件透明加密方法及系统,建立一套基于密钥保护的共享式安全防护策略,实现安全地文件共享访问,保证每一位授权用户可正常访问文件,并拒绝非授权用户的文件访问,无需在网络上传输加解密密钥,每份文件使用的加解密密钥由每个用户证书的公钥加密,加密后形成密钥密文,将各个用户的证书和使用各个用户公钥加密后的密钥密文作为附加信息嵌入被保护文件中,嵌入的附加信息的格式不限。
[0055]
每个加密后的文件,由加密数据和附加信息组成。加密数据是使用加解密密钥加密后的密文。附加信息中,可以包含多组授权用户的证书和对应的密钥密文,以支持多个授权用户对文件的共享访问。
[0056]
授权用户读取文档时,钩子程序从加密文件中读取附加信息,根据各自用户的证书,找到对应的密钥密文,调用usb-key私钥将加解密密钥密文解密为密钥明文,再使用密钥明文对加密数据进行解密。
[0057]
授予权用户将usb-key硬件拨出后,则钩子程序无法调用usb-key私钥进行密钥密文解密,即可在文件共享方式下最大程度保护对称密钥的安全性,也会阻止非授权用户的文件访问。
[0058]
本发明围绕对内部机密文档进行透明加密,透明加密可做个人私密保护、有限分享保护、二次分享保护,机密文档类型例如设计图纸、客户名录、财务报表、采购渠道、招标文件等。
[0059]
本发明基于操作系统提供的hook钩子消息处理机制,允许自定义程序处理的逻辑加载到应用程序运行过程中,简单来说,就是应用程序保存一个文档时,调用操作系统的savefile(保存文件)操作系统函数。应用程序阅读一个文档时,调用操作系统的readfile(读取文件)操作系统函数。应用程序另存为一个文档时,调用操作系统的saveasfile(另存为文件)的操作系统函数。当消息到达后先处理钩子程序的逻辑,再处理原先应用程序逻辑。本方法通过钩子程序,监控应用程序的保存、读取、另存为动作,下面对三类动作逐一展开描述。
[0060]
当操作系统接收到第一作者发起的保存消息时,钩子程序先把保存消息勾住(可以理解为暂停),不让其执行,然后钩子程序优先处理自已的保存流程,钩子程序为原文件生成随机的加解密密钥(明文),向证书管理平台获取待授权用户的证书列表,钩子弹出对话框界面展示证书列表,复选框可多选,第一作者在列表界面上勾选多个授权用户证书,勾选完之后,从证书管理平台获取对应的用户usb-key公钥,钩子依次使用勾选的证书公钥调用usb-key的非对称加密接口,对上述加解密密钥(明文)进行加密,加密后的加解密密钥(密文)作为附加信息存储在文件里,钩子完成本次保存处理,处理完之后再走回到原来应用程序的保存执行流程。
[0061]
当操作系统接收到用户的读取消息时,钩子程序先把本次消息勾住(可以理解为暂停),不让其执行,然后钩子程序优先处理自已的读取流程,钩子程序处理用户读取文件流程是,操作系统将读取消息推动到钩子程序,钩子在文件附加信息中查找与自已usb-key里证书对应的加解密密钥(密文),并使用usb-key私钥对加解密密钥(密文)进行解密,从而获得加解密密钥(明文)。注意在解密密钥(密文)时会提示用户输入usb-key的pin码来核验用户身份,接下来根据刚刚得到的密钥(明文)对文件密文进行对称解密,最后钩子程序将对称解密后的文件明文写入应用程序的内存。钩子转换明文之后再走回原来应用程序的读
取流程。
[0062]
当操作系统接收到用户发起的另存为消息时,钩子程序先把另存为消息勾住(可以理解为暂停),不让其执行,然后钩子程序优先处理自已的另存为流程,钩子在文件附加信息中查找与自已usb-key里证书对应的加解密密钥(密文),并使用usb-key私钥对加解密密钥(密文)进行解密,获得加解密密钥(明文),注意在解密密钥(密文)时会提示用户输入usb-key的pin码来核验用户身份。接下来钩子向证书管理平台获取已授权和待授权用户的证书列表,钩子弹出对话框界面展示证书列表,已授权用户证书复选框勾选且灰色不可改,待授权用户为复选框可多选,用户在列表界面上勾选多个授权用户证书,勾选完之后,从证书管理平台获取对应的用户usb-key公钥,钩子依次使用勾选的证书公钥调用usb-key的非对称加密接口,对上述加解密密钥(明文)进行加密,加密后的加解密密钥(密文)追加到附加信息存储在文件里,钩子完成本次另存为处理,处理完之后再走回到原来应用程序的另存为处理流程。
[0063]
证书管理平台,负责用户证书(公钥)托管,向外提供证书查询接口。
[0064]
注:上述模块划分只是一种实现方式的示例性参考,不能理解为对本技术的限制,本领域的技术人员可以以不同的方式组合、拆分模块定义,可以合并为一个模块,也可以拆分为多个模块实现。
[0065]
钩子程序透明加密的具体实现:1、 用户在笔记本usb串口上插入usb-key,usb-key里的信息可唯一标识一位用户。
[0066]
a.usb-key中的证书,标明了该用户的姓名、手机号、或身份证号。
[0067]
b.usb-key私钥对原文件签名时,钩子会提示用户输入usb-key的pin码,此pin码只有该用户才知道。若输入pin码错误次数过多,usb-key将会锁定,锁定后需要去证书管理平台进行解锁。
[0068]
2、第一作者保存文档场景,操作系统将消息推动到钩子程序,消息中携带原文档(明文),钩子为原文档生成随机的加解密密钥(明文),向证书管理平台获取待授权用户的证书列表,钩子弹出对话框界面展示证书列表,复选框可多选,第一作者在列表界面上勾选多个授权用户证书,勾选完之后,从证书管理平台获取对应的用户usb-key公钥,钩子依次使用勾选的证书公钥调用usb-key的非对称加密接口,对上述加解密密钥(明文)进行非对称加密(非对称加密参见前文s032的非对称加密描述),加密后的加解密密钥(密文)作为附加信息存储在文档里。
[0069]
每个加密后的文档,由加密数据和附加信息组成。加密数据是使用加解密密钥加密后的密文。附加信息中,可以包含多组授权用户的证书和对应的密钥密文,以支持多个授权用户对文档的共享访问。钩子程序将加密数据和附加信息按照s033进行组合。
[0070]
附加信息的格式为文本格式,多行构成,用户在钩子界面上,依次勾选证书,用勾选的证书调用笔记本插入的usb-key,钩子对上述对称密钥(明文)进行非对称加密,加密后的密钥(密文)存储在多行文本里,每一行的格式为用户证书 分隔符 密钥(密文)组成一行,每个授权用户占一行。
[0071]
加密数据格式也为文本,只有一行,是钩子对对称密钥(明文)将原文件(明文)对称加密后形成密文,该密文只有一行,就是加密数据。
[0072]
组合过程,附件信息放在文件的最上方,加密数据放在文件的最下方,中间以中划线分隔,钩子将附加信息和加密数据进行了组合,钩子将组合后的文件写入到磁盘中。
[0073]
3、 授权用户读取文档场景,操作系统将读取消息推动到钩子程序,钩子在文档附加信息中查找与usb-key里的证书对应的加解密密钥(密文),并使用私钥对加解密密钥(密文)进行非对称解密(非对称解密参见s0362的非对称解密描述,从而获得加解密密钥(明文)。注意在解密密钥(密文)时会提示用户输入usb-key的pin码来核验用户身份,接下来根据刚刚得到的加解密密钥(明文)对文件密文进行解密,最后钩子程序将解密后的文档明文写入应用程序的内存。
[0074]
4、 用户二次分享文档场景,操作系统将读取消息推动到钩子程序,钩子在文档附加信息中查找与用户usb-key里的证书对应的加解密密钥(密文),并使用私钥对加解密密钥(密文)进行非对称解密(非对称解密参见第三章节的非对称解密描述),从而获得加解密密钥(明文)。注意在解密密钥(密文)时会提示用户输入usb-key的pin码来核验用户身份。得到解密密钥钥(明文)之后,钩子向证书管理平台获取待授权用户的证书列表,钩子弹出对话框界面展示证书列表,已授权用户证书复选框勾选且灰色不可改,待授权用户为复选框可多选,用户在列表界面上勾选多个授权用户证书,用户在列表界面上勾选多个授权用户证书,勾选完之后,从证书管理平台获取对应的用户usb-key公钥,钩子依次使用勾选的证书公钥调用usb-key的非对称加密接口,对上述密钥(明文)进行非对称加密(非对称加密参见第三章节的非对称加密描述),加密后的密钥(密文)追加到附加信息里。每个加密后的文件,由加密数据和附加信息组成。加密数据是使用加解密密钥加密后的密文。附加信息中,可以包含多组授权用户的证书和对应的密钥密文,以支持多个授权用户对文件的共享访问。钩子将加密数据和附加信息进行组合,组合过程与”5.1.2第一作者保存文档场景“的组合过程一致。
[0075]
5、证书管理平台的具体实现证书管理平台对用户的证书进行管理,提供用户证书的申请、下载、吊销、冻结、解冻、解锁、邮寄快递跟踪等功能,提供后台管理员web界面,外加对外接口方式。
[0076]
注:本方案中使用的透明加密方法,不能理解为对本技术的限制,本领域的技术人员可以使用不同的加解密算法实现类似的功能,例如,既可以使用我国施行的国密算法,也可以使用国际标准的rsa、aes、3des等算法。
[0077]
本技术提出一种共享式文件透明加密方法,对第一作者的文件进行加密保护,并允许第一作者将文件共享给其他授权用户访问,主要保护点包括:1.本方案基于对共享文件进行透明加密方式,网络上不传输加解密密钥,密钥的保护在用户终端侧完成。密钥加密在硬件usb-key中进行,密钥解密也在硬件usb-key中完成,这样可避免在网络上传输对称密钥,提高了称密钥的防护级别和安全性。
[0078]
2.实现了对授权用户的文件透明访问控制,无需要多个用户之间共享加解密密钥,对于被授权用户而言,没有任何额外操作,与常规文件访问一致,降低了被授权用户的操作复杂度。
[0079]
本技术提出一种共享式文件透明加密方法,在文件共享基础上,将加解密密钥进行了安全性的设计,杜绝在网络上传输对称密钥,加解密密钥的解密都依赖本地硬件usb-key中的私钥进行解密,usb-key即插即用,若拨出usb-key则无法解密,即避免了在网络传
输对称密钥的隐患,也解决了跨终端透明访问的问题。
[0080]
实施例一:1、公司领导发邮件给证书管理平台的管理员,邮件中提出为公司员工申请usb-key,邮件注明员工名字。usb-key是u盾硬件形式。
[0081]
2、证书管理平台管理员收到邮件之后,回复邮件,邮件正文中写明“已授理”。
[0082]
3、证书管理平台管理员开始在证书管理平台操作,进行usb-key制作,分别为每个用户usb-key生成公/私钥对。
[0083]
4、证书平台管理员在密钥管理平台取出用户usb-key公钥向ca申请证书。
[0084]
5、证书平台管理员在密钥管理平台将证书写入用户usb-key中。
[0085]
6、证书平台管理员将usb-key分别邮寄给每一位用户。
[0086]
7、公司员工都收到usb-key,收到usb-key之后,各自分别检查usb-key在邮寄过程中是否损坏,检查过程是,用户将usb-key插入在笔记本usb串口,检查usb-key是否灯亮。
[0087]
8、公司员工笔记本上都安装了钩子程序hook,下文简称钩子。
[0088]
9、公司员工笔记本上都安装了助手exe,即加解密辅助模块,下文称助手exe或者助手。
[0089]
10、第一作者笔记本插入了usb-key,开始创作文档。
[0090]
11、第一作者创作完文档,点击保存按钮,调用操作系统的savefile(保存文件)操作系统函数。
[0091]
12、当操作系统接收到第一作者发起的savefile(保存文件)保存消息时,钩子程序先把保存消息勾住(可以理解为暂停),不让其执行,然后钩子程序优先处理自已的保存流程,这时,钩子程序为原文件生成随机的加解密密钥(例如123)。
[0092]
13、钩子程序向证书管理平台获取待授权用户的证书列表。
[0093]
14、钩子弹出对话框界面展示证书列表,复选框可多选,第一作者在列表界面上勾选多个授权用户证书,勾选完之后,钩子从证书管理平台获取对应的用户usb-key公钥。
[0094]
15、钩子依次使用勾选的证书公钥调用助手exe利用usb-key的非对称加密接口,对上述加解密密钥(123)开始进行非对称加密。开始进行非对称加密,首先钩子利用助手exe调用usb-key的随机数发生器产生随机数k。
[0095]
16、助手exe计算椭圆曲线点c1,计算公式为c1=[k]g=(x1,y1),将c1的数据类型转换为比特串。
[0096]
17、助手exe计算椭圆曲线点s,计算公式为s=[h]pb。
[0097]
18、助手exe计算椭圆曲线点[k]pb=(x2,y2),将坐标x2、y2 的 数据类型转换为比特串。
[0098]
19、助手exe计算变量t=kdf(x2 ∥y2, klen)。
[0099]
20、助手exe计算椭圆曲线点c2 ,计算公式为c2 = m
ꢀ⊕
t。
[0100]
21、助手exe计算椭圆曲线点c3 ,计算公式为c3 = hash(x2 ∥ m ∥ y2)。
[0101]
22、助手exe计算得到sm2非对称加密密文c(例如张三公钥对123非对称加密的密文为aaaa,李四公钥对123非对称加密的密文为bbbb),计算公式为c = c1 ∥ c2 ∥ c3,至此助手exe把计算结果告诉钩子,完成了非对称加密。
[0102]
23、钩子把加密后的加解密密钥(密文,例如aaaa和bbbb)作为附加信息存储在文
件第一行和第二行。
[0103]
24、钩子在中间用分隔线分隔(比如第三行用分隔线分隔)。
[0104]
25、钩子在分隔线下面,是使用密钥(123)对作者原文(第一作者原文例如”一百万“)进行sm4对称加密的密文,钩子开始利用助手进行sm4对称加密。sm4对称加密算法对第一作都原文分组,每个组的长度为 128 bit,密钥长度为 128 bit。将原文长度按 128bit为一组,进行拆分为多个组。
[0105]
26、助手取出第一组128bit 的数据,将其按位拆分成 4 个 32bit 的数据x 0 , x 1 , x 2 , x 3。
[0106]
27、助手做32次迭代运算,当 i=0i=0 时为第一次轮变换,一直进行到 i=31i=31 结束,将x i 1 , x i 2 , x i 3和轮密钥r k i 异或得到一个 32bit 的数据,即sbox-input= x i 1
ꢀ⊕ꢀ
x i 2
ꢀ⊕ꢀ
x i 3
ꢀ⊕ꢀ
r k i ,

符号代表异或运算。
[0107]
28、助手进行反序变换,步骤为对最后一轮数据进行反序变换并得到密文,将 sbox_input拆分成4个 8bit 数据,分别进行盒变换,之后再将4个8bit 输出合并成一个32bit的sbox_output变量。
[0108]
29、助手计算得到密文,步骤为将刚才获得的 sbox_output分别循环左移 2,10,18,24 位,得到 4 个 32bit 的结果,记移位结果为 y2,y10,y18,y24与盒变换输出 sbox_output 和 xi异或,得到 xi 4,即 xi 4=sbox_output

y2

y10

y18

y24

xi,xi 4即为得到对称加密的密文,助手把对称加密的密文告诉钩子。
[0109]
30、钩子完成对称加密后,把密文放在分隔线之后,钩子完成本次保存处理,处理完之后再走回到原来应用程序的保存执行流程,至此,文件加密保存的流程结束。
[0110]
31、用户开始读取加密之后的文件,这时用户笔记本插入了usb-key。
[0111]
32、用户点击打开读取文件,当操作系统接收到用户的读取消息时,钩子程序先把本次消息勾住(可以理解为暂停),不让其执行,然后钩子程序优先处理自已的读取流程,钩子程序处理用户读取文件流程是,操作系统将读取消息推动到钩子程序。
[0112]
33、钩子在文件附加信息中,利用助手查找与自已usb-key里证书对应的对称加密密钥(对称密钥密文,例如aaaa)。
[0113]
34、钩子拿到对称密钥密文之后(对称密钥密文,例如aaaa),利用助手调自已usb-key中的私钥,进行非对称解密,助手非对称解密第一步,提前获得非对称密文变量c(密文例如aaaa)。注意在非对称解密密钥(密文例如aaaa)时会提示用户输入usb-key的pin码来核验用户身份。
[0114]
35、助手对密文进行拆分,拆分公式为,密文c=c1 ∥ c2 ∥ c3,从非对称密文c中取值,从c中取出椭圆曲线点c1。
[0115]
36、助手计算椭圆曲线点s,计算公式为s=[h]c1。
[0116]
37、助手将变量[db]c1换为比特串,计算转换公式为[db]c1=(x2,y2) 。
[0117]
38、助手计算获得变量t,变量t的计算公式为t=kdf(x2 ∥y2, klen)。
[0118]
39、助手计算获得明文m

,获得明文m

的过程为从非对称密文c中取出比特串c2,运用计算公式m
′ꢀ
= c2
ꢀ⊕
t,助手获得明文之后,把明文告诉钩子,至此完成非对称解密(对称密钥明文例如123)。
[0119]
40、钩子得到对称密钥明文之后(对称密钥明文例如123),开始解密中划线之后的
密文,钩子对称解密仍然调用助手的能力进行对称解密,助手sm4对称解密之后方可得到第一作者的原文。
[0120]
41、助手对中划线之后的密文,开始sm4对称解密。sm4非对称解密首先输入的原始密钥 key(对称密钥明文例如123),将其按位拆分成 4个32bit的数据k0,k1,k2,k3。
[0121]
42、助手计算循环密钥,将初始密钥k0,k1,k2,k3分别异或固定参数fk0,fk1,fk2,fk3,得到用于循环的密钥k0,k1,k2,k3,即k0=k0

fk0,k1=k1

fk1,k2=k2

fk2,k3=k3

fk3。
[0122]
43、助手生成轮密钥,轮密钥rki生成步骤为,当i=0时为第一次轮变换,一直进行到i=31结束,将ki 1,ki 2,ki 3和固定参数 cki 异或得到一个32bit的数据,即sbox_input=ki 1

ki 2

ki 3

cki,将sbox_input拆分成4个8bit数据,分别进行盒变换,之后再将4个8bit输出合并成一个32bit的sbox_output变量。
[0123]
44、助手计算解密的rki,步骤为将刚才获得的sbox_output分别循环左移13,23位,得到2个32bit的结果,记移位结果为y13,y23,将移位的结果y13,y23与盒变换输出sbox_output和ki异或,得到 ki 4,即rki=ki 4=sbox_output

y13

y23

ki,运算执行32轮,同时使用32个不同的cki,cki为固定参数,执行完32轮后,获得解密的rki。
[0124]
45、助手做轮密钥逆序运算,运算步骤为rk

i=rk31

i。
[0125]
46、助手计算出sm4对称解密之后的明文,步骤为将密文 x35,x34,x33,x32 赋值为x

0,x

1,x

2,x

3, 把x

0,x

1,x

2,x

3 和 rk

i做逆序x

4=x35

t(x34

x33

x32

rk31)=x31

t(

)

t(

)=x31,得出x

i=x35

i,最后32轮函数结束后得到结果就是sm4解密的第一作者原文(第一作者原文例如一百万),助手把结果告诉钩子,至此完成了sm4对称解密操作。
[0126]
47、钩子程序将对称解密后的文件明文写入应用程序的内存。钩子转换明文之后再走回原来应用程序的读取流程,至此完成了读者打开文件的动作。
[0127]
应用场景一:第一作者对文件进行私有保护的场景:某公司工作电脑安全级别高,拷贝粘贴功能均做过屏蔽,这时有一台公共笔记本电脑,存在有多名员工轮流使用的情况。某一天,其中一名员工对公司的发展提出新的建议,但时机不成熟还不方便公开,所以需要保密,只允许他自已一人才能读取。本发明的场景可满足他的诉求,步骤为,该员工在这台笔记本上插入自已的usb-key,下班之前对文档点击保存按钮,员工在钩子弹出的页面中勾选自已证书的名字,钩子生成加密文件,完成保存动作,该员工拨出usb-key之后回家。他第二天上班要继续编写这份文档时,先插入自已的usb-key,直接打开文档就能继续编写。
[0128]
应用场景二:第一作者对文件做有限分享场景:某公司工作电脑安全级别高,拷贝粘贴功能均做过屏蔽,这时公司领导给公司一位首席设计师安排一份重要任务,任务是对一个老项目进行重构,终于有一天,设计师完成了重构,形成初稿,但蓝图只想让公司的几位具有领导角色的部门经理才能查阅,而不方便开放给所有人,这时本发明的场景可满足他的诉求,步骤为,该设计师在这台笔记本上插入自已的usb-key,点击保存按钮,设计师在钩子弹出的页面中勾选几位部门经理证书的名
字,钩子生成加密文件,完成保存动作。设计师把加密文件通过网络拷贝给几位部门经理。部门经理通过网络收到加密文件之后准备阅读,这时各部门经理分别插入自已的usb-key,直接打开文档就能阅读。其他的人,则无法读取。
[0129]
应用场景三:被授权读者可对文件做二次分享场景:继续实施样例二,其中一位部门经理觉得设计师的重构方案非常有创意,想分享给部门的一名骨干开发人员查阅,但不便开放给所有人,这时本发明的场景可满足他的诉求,步骤为,该部门经理在这台笔记本上插入自已的usb-key,点击另存为按钮,部门经理在钩子弹出的页面中勾选骨干开发人员证书的名字,钩子生成新的加密文件,完成另存为动作。设计师把新的加密文件通过网络拷贝给骨干开发人员。骨干开发人员通过网络收到加密文件之后开始阅读,骨干开发人员插入自已的usb-key,直接打开文档就能阅读。其他没被授权的人,则无法读取。
[0130]
本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献