一种基于密文的机密文档访问控制系统的制作方法

文档序号:11729699阅读:2028来源:国知局

本发明涉及文档访问控制领域,更具体的说涉及一种基于密文的机密文档访问控制系统。



背景技术:

企事业单位及政府部门存在大量的秘密文档。这些秘密文档根据重要程度进行分级。以政府部门为例,文档一般称为公文。公文中的密级是指公文的机密等级,是公文格式的项目(要素)标记之一。密级分作三级、划分规则如下:

第一,绝密公文,是指涉及国家核心秘密的内容的文件,一旦泄露会使国家的安全和利益遭受特别严重的损害。

第二,机密公文,是涉及国家重要秘密内容的文件,一旦泄露会使国家的安全和利益遭受较大的损害。

第三,秘密公文,是涉及国家一般秘密内容的文件,一旦泄露会使国家的安全和利益遭受一定的损害。

为了降低行政审批复杂度,提升办事效率,政府正在推广政务云。然而政务上云后,随之而来的是大量公文以明文的方式被放到云端,可能被好奇的云端管理员所查看,从而导致信息泄露。以密文的方式存储可以解决明文被窥探的问题,然而主流的对称和非对称加密算法所加密的密文只能被一个用户打开,不能满足公文阅读对象为多人并且人数不确定的应用场景。鉴于此,本文提出一种基于密文的机密文档访问控制系统。该系统根据机密等级对密文进行加密;每个用户拥有不同的私钥,私钥对应一定的机密等级;当私钥对应的机密等级高于或等于密文对应的机密等级时,私钥可以解密密文获取明文。



技术实现要素:

本发明的主要目的在于提供一种基于密文的机密文档访问控制系统,具体如下述:

基于密文的机密文档访问控制系统包括文档存储区,终端,密钥存储介质和密钥生成器;密钥生成器连接密钥存储介质;密钥存储介质连接终端;终端连接文档存储区;密钥生成器生成主公钥和主私钥,主公钥公开,主私钥秘密存储在密钥生成器中;生成用户私钥时,密钥生成器输入主私钥、用户权限等级等生成用户私钥;用户私钥秘密存储在密钥存储介质中;加密文档时,终端输入主公钥、文档秘密等级等,生成仅可被拥有对应秘密访问权限以上的用户,所解密的加密文档;加密文档存储在文档存储区;终端从文档存储区获取文档;解密文档时,终端输入加密文档和用户私钥等,用户私钥所对应的密级高于或等于文档所指定的密级时,加密文档被解密。密钥生成器、密钥存储介质可以是蓝牙盾、usb盾、音频盾、智能终端、电脑和手机等。终端、文档存储区可以是智能终端、电脑、手机和服务器等。

令g1是阶为素数n的加法循环群,g2是阶为素数n的加法循环群,gt是阶为素数n的乘法循环群,p1是g1的生成元,p2是g2的生成元,双线性对e是g1×g2→gt的映射,对任意的整数i和j有,e([i]p2,[j]p1)=e(p2,p1)ij

密钥生成器以下述方式生成主私钥:

1)任取随机数t作为主密钥;

2)任取a+1个互不相同的随机数di,i∈z,0≤i≤a,其中a是文档密级分级的数量,且a的值越小对应的文档密级越高;

3)在群g2上计算di=[di]p2,i∈z,0≤i≤a;

4)则有主私钥ks={t,d0,d1,d2,…,da};

密钥生成器以下述方式生成主公钥:

1)计算双线性对et=e(p2,p1)t

2)在群g1上计算

3)则有主公钥kp={e(p2,p1)t,t0,t1,t2,…,ta};

密钥生成器以下述方式生成用户私钥:

1)对1级权限用户,任取随机数σ0,有σ0+σ1=t,且σ0≠σ1,则有1级权限用户私钥为ku={[σ0]d0,[σ1]d1};

2)对2级权限用户,任取随机数σ0,σ1,有σ0+σ1+σ2=t,且σ0≠σ1≠σ2,则有2级权限用户私钥为ku={[σ0]d0,[σ1]d1,[σ2]d2};

……;

a)对a级权限用户,任取随机数σ0,σ1,…,σa-1,有σ0+σ1+…+σa=t,且σ0≠σ1≠…≠σa,则有a级权限用户私钥为ku={[σ0]d0,[σ1]d1,…,[σa]da};

上述密钥生成过程中,随机数σ0可以是用户id的散列值,散列算法可以是sha256、sm3等。

令明文为m,其特征在于终端以下述方式加密文档:

将ets、[s]ti和文档id转换成二进制序列合并,记为h;对h进行散列运算,生成一串二进制序列,并从中截取密钥k;进行加密运算,获取c=enc(m,k);加密算法可以是sm4、aes、rc4等加密算法,则有密文:

1)对1级秘密文档,密文{c,[s]t0,[s]t1};

2)对2级秘密文档,密文{c,[s]t0,[s]t1,[s]t2};

……

a)对a级秘密文档,密文{c,[s]t0,[s]t1,[s]t2,…,[s]ta};

终端以下述方式解密文档:

1)对1级秘密文档,具有1级以上权限的用户可以解密,解密步骤为:

2)对2级秘密文档,具有2级以上权限的用户可以解密,解密步骤为:

对1级权限用户,

对2级权限用户,

……

a)对a级秘密文档,具有a级以上权限的用户可以解密,解密步骤为:

对1级权限用户,

对2级权限用户,

……

对a级权限用户,

成功获取ets后,将ets、[s]ti和文档id转换成二进制序列合并,记为h;对h进行散列运算,获取二进制序列,并从中截取密钥k;根据加密算法进行对应的解密运算,获取明文m=dec(c,k)。

附图说明

图1:基于密文的机密文档访问控制系统图

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

一种基于密文的机密文档访问控制系统的具体实施如图1所示,由文档存储区(1)、终端(2)(3)(4)、密钥存储介质(5)(6)(7)、和密钥生成器(8)构成。密钥生成器(8)初始化时生成主私钥ks={t,d0,d1,d2,…,da}和主公钥kp={e(p2,p1)t,t0,t1,t2,…,ta}。每个终端均有唯一的有密钥生成器生成的用户私钥ku,用户私钥根据用户权限等级生成。加密时用户输入文档id号(可选)和文档等级,输出文档加密密钥k,用密钥k加密文档。解密时,用户用私钥和密文计算密钥k,并用密钥k解密文档。

双线性对取自于sm9(国家密码管理局颁发的密码标准),因此有下述参数:椭圆曲线方程为:y2=x3+5

基域特征q为:b640000002a3a6f1d603ab4ff58ec74521f2934b1a7aeedbe56f9b27e351457d;

群g1、g2的阶为:b640000002a3a6f1d603ab4ff58ec74449f2934b18ea8beee56ee19cd69ecf25;

群g1的生成元为

93de051d62bf718ff5ed0704487d01d6e1e4086909dc3280e8c4e4817c66dddd;

21fe8dda4f21e607631065125c395bbc1c1c00cbfa6024350c464cd70a3ea616;

群g2的生成元为

(85aef3d078640c98597b6027b441a01ff1dd2c190f5e93c454806c11d8806141,3722755292130b08d2aab97fd34ec120ee265948d19c17abf9b7213baf82d65b)

(17509b092e845c1266ba0d262cbee6ed0736a96fa347c8bd856dc76b84ebeb96,a7cf28d519be3da65f3170153d278ff247efba98a71a08116215bba5c999a7c7)

双线性对的识别符eid:0x04;

根据发明内容和前述sm9参数,令文档系统的分级数量为3级,用户等级为1级,加密文档等级为二级,可得下述实施例:

t:

670bee54cd91b996f4d3069669f09642a8cc6dd3912a740177ccb5a518d3ef39;

d0

4ef89f6c664e1996ab44ce9fd8241f7b7741ca9d45265d6cb276ab75ae6310e1;

8fc4b7d71a4b03de93872b5934c17c3e6c275dfb6e35b6df981d2b9134530612;

8f70d5775dbe99927e73242e12e8cdd23160e47500eb4bb66d488d9eeb9e2a0c;

7ded25c9e8c7155ef635147287eb887cacda4df26db4ce5e5358b6ac16db9665;

d1

324e4e19daba907bdc365346e860e3585d2483fa782b7a6411305e58be4315ed;

596260eec88559f87671576c96fd8ce0f7631a8289e9a23a61c0c5074daf76aa;

6a797c5b4b9615474a7ccffe78f4de7c7ad28d275c807a0172752a8b25c9f71a;

1e2cf2af72697ea7e41f2c79d4b54f128022a8f754dc58c59d789bb4bca8370f;

d2

1e03da7d5e796afc3b4f597ea08ec7f7b0ddfb2f07c6876f9663a3f7912a69c4;

037f24a24c9305b22a84b04e23b474dbbfea22bb5324fb1e5bf21a60e38442bc;

531c4309ed9daf56e41ee4b55a0475160afc2c8353f1e453fb856cf9ea12ed5d;

69fd32d0a1ca1e31ae9e6aea9dc88e7e5f60e77f99383206cb22442eb19e6b07;

d3

23024298fe3ebaebdef3fc32812b17ab58f3f6d5ed4bf357a6da080bb6db2a4c;

b520463832dfff527085173adc639fda0f91d54bdff4220e5d1bdc8defff0070;

1979939e66dbfea9a1c271b08bd6f430f769709cd50dc59f93d5e5aead0dbc1e;

3280ee7cd95dd7505ab66fb4a6962595ba535c8bb452716622982e8711e9dcb1;

et

93b54cfbb326b9d49a4d98c1f168a0cbb913150195d554b5268dc400d5102561;

17c80027d467858163ec5fc07095291c60d7294d81fad3329b88ad32ce768475;

9273b2e8a6ed258c7ed8b8827d8da5ee8fdc71c84c2b9b4c372c3c1f84283f51;

3b0372237796c1defae37ef90a46e19fe919a16a379712fc2f98468e2ba3e00f;

255d71fae1b26270aabedebefc5b541e183e52e85897ab938f69a83d6f3525d7;

4254465508316360d12ba29ab40b5f4c059fa616c9932f4a824bc1fade515cc4;

2892d3b72c432641676ed335393bb1048202a9aaa1ccdfea20a4221dbe4c99cb;

37870f7615f6343851dbe5812e7ca7a9c2832cfe4a5356957b5289350a0c4ebf;

29c0e1f1f965849295ad16bcb4550654e4ca398daefc7faf6243a8895166f450;

63adb62e5a8657ea099f705706d081f7a26e2c6f801d14b0501488655b718baf;

2e5a0bcbbba9eeac1aa9d35a3d425594f3f1abc7f15daaf5250138a5bb5583b1;

4f4d7e70420b96f9e92d081f8fd1fa4a3137fe4709eeb113d4dc0ce3f2fc7b2e;

t0

00b99c3c6d1e82d32930a421150160e5b66258fcedc60eda9eaf5c539e5c17d8

779b1e12de44cb140bd7a2a01a44bbb2cd414007280db0218f35c14ac6bdb5fd

t1

7536799801e77039e5b531f8125a1bb52cda4e9aaf110c2cd761a1e560ec7ca3

03c1c4517ec2db6285c21a2c23ec95d163856c642f3c1308515e2a0744d55290

t2

ab6defc786d750639d3bbd132fd592689ea1bafd601e20eb5a2734b005c3b667

767818414c70ab4a0e97b0e20f17ab2726ad480c3cfa448bca42467fb285704e

t3

975d6fe97c1fadb828c6dfadb09fe58289aa11fe67d1677c3d4d2c43cd85d2df

70e55f366db4f071a2fc51f326f7af7a2c81f76a6b8dbf68802be4961eb57135

[σ0]d0

03477ab1813a805d98a54368a9a777ebf7c549840950c79f6acc7aaf8660040e;

5e0e5ae67ba8a6157eb19655386edbe85e184b00a2e9f4e19ae37b031ea25a4e;

6bef5cf7ca7d3d5ee7ee30d885c8465e4af1f9aa6ead83ad08b779e59a36c894;

b5b413369533fc0e0fa94f62cacba30020c5b671ce26770c73b001bf2a16376c;

[σ1]d1

4d9a225ac12e7e6ebb93de95274fed0b43bf6c738681877f59e423ff81b6f007;

1132dfb5dac6c91b34939c0e831ed0c5fdeadebcf1d35da3766c980d8069695d;

3fe54c6a9d3dd3ab7a37ff551ca604d2aa8637851ecc3b3428a78b42c7f28bcd;

1ac084ba0a11cb6c32144caa019e3b7ce0334823b81d5f22b3856f40b4bcf5ca;

[s]t0

00b99c3c6d1e82d32930a421150160e5b66258fcedc60eda9eaf5c539e5c17d8

779b1e12de44cb140bd7a2a01a44bbb2cd414007280db0218f35c14ac6bdb5fd

[s]t1

7536799801e77039e5b531f8125a1bb52cda4e9aaf110c2cd761a1e560ec7ca3

03c1c4517ec2db6285c21a2c23ec95d163856c642f3c1308515e2a0744d55290

[s]t2

ab6defc786d750639d3bbd132fd592689ea1bafd601e20eb5a2734b005c3b667

767818414c70ab4a0e97b0e20f17ab2726ad480c3cfa448bca42467fb285704e

令密钥的长度为32字节,则有密钥k:

9f6fe84da5ac7428fd00ac2a325edea2f286492e123a92a744c30543c50580b1

具有权限的解密端算出和加密端相同的密钥k,从而实现基于密文的文档访问控制。

由上述实施例可以发现,本发明所提供的一种基于密文的机密文档访问控制系统,解决了云环境下机密文档的非法访问问题,可以对机密文档进行高效的访问控制。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘、光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1