一种用于群组通信的密钥管理系统的制作方法

文档序号:15817448发布日期:2018-11-02 22:46阅读:315来源:国知局
一种用于群组通信的密钥管理系统的制作方法

本发明涉及密钥管理领域,更具体的说涉及一种用于群组通信的密钥管理系统。

背景技术

网络安全有赖于密钥管理的有效性,即保证密码的产生,存储,传输和使用的安全性,这就要求对密钥进行有效的管理。然而,在现有的密钥管理方案中,除了用户终端外,密钥管理服务器能够获取密钥。因此,服务器的托管商,或者服务器的管理人员可以利用服务器的根用户权限非授权获取密钥,这对密钥的安全构成了巨大的威胁。

为了避免服务器管理员对密钥的非法访问,应使密钥仅存在于用户终端。鉴于此,本发明提出用于群组通信的密钥管理系统;该系统拥有一个离线的密钥生成器,生成的用户私钥存放在用户终端;密钥管理服务器仅存放用户认证密钥,无法解密用户数据;从而避免恶意用户窃取密钥。



技术实现要素:

本发明的主要目的在于提供一种用于群组通信的密钥管理系统,具体如下述:

用于群组通信的密钥管理系统包括用户终端、用户认证器和密钥生成器;用户终端连接用户认证器;密钥生成器分别连接用户终端和用户认证器;密钥生成器仅在工作时在线,其他时间处于离线状态;初始化时,密钥生成器生成主私钥和主公钥;而后,密钥生成器为每个用户生成用户私钥和用户认证密钥,用户私钥存储在用户终端,用户认证密钥存储在用户认证器;用户终端相互通信时,发起通信的终端任选随机数和主公钥生成密文并广播;任一用户终端收到密文后,提取密文中和用户认证相关的密文发送给用户认证器请求认证;用户认证器接收到来自用户终端的认证请求后,用用户认证密钥计算密文并将结果返回给用户终端;用户终端接收到来自用户认证器的计算结果,结合用户私钥和密文计算出通信密钥;用户终端根据计算出来的通信密钥进行通信;如果用户离职,只需删除保留在用户认证器上的用户认证密钥,即可作废用户私钥;用户认证器如果被攻破,由于没有用户私钥无法计算出通信密钥。

令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)任取两个互不相同的随机数d0、d1;

3)在群g2上计算d0=[d0]p2,d1=[d1]p2;

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

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

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

2)在群g1上计算

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

密钥生成器以下述方式生成用户私钥:任取随机数σ0,有σ0+σ1=t,且σ0≠σ1,则有用户私钥为ku=[σ1]d1,用户认证密钥为kc=[σ0]d0

用户终端以下述方式输出密文:任取随机数s,计算[s]t0和[s]t1,而后输出密文{[s]t0,[s]t1}。

用户认证器存储每个用户的用户认证密钥为kc=[σ0]d0;用户认证器接收来自用户终端的[s]t0,提取出对应用户的kc,并计算:

e0=e(b,[s]t0)=e([σ0]d0,[s]t0)

计算完成后,用户认证器将e0返回给用户终端。

用户终端以下述方式解密文档:用户终端获取密文,提取其中的[s]t0发送给用户认证器;用户终端接收来自用户认证器的e0,通过下述步骤计算通信密钥,

1)根据用户私钥ku=[σ1]d1、e0、[s]t1,计算ets

2)成功获取ets后,将ets、[s]t0和[s]t1转换成二进制序列合并,记为h;对h进行散列运算,获取二进制序列,并从中截取通信密钥k;从而群组中的任意用户均获得相同的通信密钥。

附图说明

图1:用户认证密钥和用户私钥生成系统图

图2:通信密钥生成系统图

具体实施方式

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

一种密钥可立即撤销的加密数据共享系统的具体实施如图1和图2所示,由密钥生成器(1)、用户终端(2)、用户认证器(3)构成。密钥生成器(1)初始化时生成主私钥ks={t,d0,d1}和主公钥kp={e(p2,p1)t,t0,t1}。每个用户终端均有唯一的由密钥生成器(1)生成的用户私钥ku。同时,用户认证器(3)存储所有用户的用户认证密钥kc。发起群组通信的用户终端(2)输出密文{[s]t0,[s]t1}。参与通信的用户终端(2)获取密文,并将密文中的[s]t0发送给用户认证器(3),用户认证器(3)返回认证值e0给用户终端(2)。用户终端(2)根据用户私钥ku=[σ1]d1、e0、[s]t1,计算ets。而后,成功获取ets后,将ets、[s]t0和[s]t1转换成二进制序列合并,记为h;对h进行散列运算,获取二进制序列,并从中截取通信密钥k;从而群组中的任意用户均获得相同的通信密钥。

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

基域特征q为:b640000002a3a6f1d603ab4ff58ec74521f2934b1a7aeedbe56f9b27e351457d;

群g1、g2的阶为:b640000002a3a6f1d603ab4ff58ec74449f2934b18ea8beee56ee19cd69ecf25;

群g1的生成元为

93de051d62bf718ff5ed0704487d01d6e1e4086909dc3280e8c4e4817c66dddd;

21fe8dda4f21e607631065125c395bbc1c1c00cbfa6024350c464cd70a3ea616;

群g2的生成元为

(85aef3d078640c98597b6027b441a01ff1dd2c190f5e93c454806c11d8806141,3722755292130b08d2aab97fd34ec120ee265948d19c17abf9b7213baf82d65b)

(17509b092e845c1266ba0d262cbee6ed0736a96fa347c8bd856dc76b84ebeb96,a7cf28d519be3da65f3170153d278ff247efba98a71a08116215bba5c999a7c7)

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

根据发明内容和前述sm9参数,令通信密钥长度为32字节,可得下述实施例:

t:

1dd21480915c4d3e3bfe59c3a15672a5c695178db4380ee56875677fd969fccc;

d0

9cca3243f53d04ec561048df1d402e1ad6452c6156c26e1285f5e172efb33588;

5b85cb8103ea069cec83ebd472d69b393ee9e4331919875a8dfee51201a129aa;

50bf886edf7e26b5bee76ee45a23459eaee06d4c0131c7aa801f7b3d6b81a73e;

51bd7a41f8f2d53dcf1b619ff53a33efcb6f8b7330f76c89926bc424d32b6b46;

d1

16c9630b1c2cc2c334d121024c8e70ca68635f201819fa88cf3ddf86df48feba;

a19e54c87e042a9bd33a8f1cd41879616e9597bfe516ed65499b6006c8cb15e1;

0277c1834b3320169090ed4ae0c3db3eba82afb794e2a8a46bf67e547dd0c627;

6a74618e41439844a185bd3cfae7070d4f0de051a4196ef9d8ed2c82a3faa6a2;

t0

1d9729253d4d32a3007bc5ca38ed598bf4a5df21e2f039873eed049b5ad68155

a90664c09bbeb7d451d204ec8805cc09050e19bead16f713338b70e7e2c46f4a

t1

41847315ef4755cfc49513f9215a41358c45e689ef3dabbc645ee753d2fc7d0d

9d0d3b0d7e10b439f176d4e92b425da31babed413a94d3e0935c4d1b963837e7

[σ0]d0

8260c1a2df536e3f98e19aa605f324feea9431b400710265de8fef8e1a3b1cff;

58eac0ca71220edf058f827893545de38c0cc5733d5c709480226fc411296d19;

a1c21d2eb8b6e4ad5532c06e2ab59d00371cd36262f607ea7a3aee04a3814cf5;

06fc54f59003b604780cb33845242ef1284275f389d1202e6d09f4a0672df5f5;

[σ1]d1

4bb948fadfdbcab3f0e45dcc0b77a6ca73711ce5d70bd4d2fe7a47f4a4493e17;

0b3daf2b729f6981acbb9ac01ce48694b39d87773feca91890e0801de5944e8a;

88a1fac1fe916ea65b8aa1b37c227d67a31bbb01b942a1f75e8bb91a0133a556;

87b500068a61c9aa4f858f9425cede60ed230e342a24e6b4ec44f68423ec371a;

[s]t0

1d9729253d4d32a3007bc5ca38ed598bf4a5df21e2f039873eed049b5ad68155

a90664c09bbeb7d451d204ec8805cc09050e19bead16f713338b70e7e2c46f4a

[s]t1

41847315ef4755cfc49513f9215a41358c45e689ef3dabbc645ee753d2fc7d0d

9d0d3b0d7e10b439f176d4e92b425da31babed413a94d3e0935c4d1b963837e7

e0

390fa576d712e459f45954cbf0e765c3a8470be993123ba2e2368479a65ba482;

a68001f9cb16e6c4f4d8aebb38a4676edd81046947a3dc4c0279597cddda2381;

4713d9be667e8722f1a07d283e64bf20be5b71b900b73d117eee97f657326178;

2cda28323727129ac96c9e093a444f97b0e8bd232ef74bcc80d7b97d628fa20e;

a2d0b9f7ab21be6c17686361253e2d9429727ead299e50aa4346c0a4ef87873b;

b420ce4405af9f515331ddb6e16050c2335f99b96408c844c251ebfa0dd17230;

0115da071d5652934dbc278cbd2f5235a0a810566835ce3cf046c37c55bcaeaf;

195fb4115f4eeb87355efb0be621174d99b252464357ad20e8e160a39bfc77ca;

6a3605d1e3c8c61ff8c218b172e8e8a75ec706dc03ce244d0e292792e1cea92c;

307218c1cbb19e6ddd6e875888a3ed31f52e153a9557ca07167742e4a3e11b14;

95567dbf2e256344620a79c223ac4e6762232d5c95e132eb6969584a8e4974c7;

227eb5d62d74af62dea71bfaeb551797e4323d934daca1e709dc51ff03907ae0;

令通信密钥的长度为32字节,根据用户终端根据e0、[σ1]d1、[s]t1,则有密钥k:

9abc473de5ee237b70f17afde3768ae3dee5f656344950604ea4f56a301e3cde

所有的通信终端计算出相同的通信密钥k,从而实现群组用户加密通信的密钥管理。

由上述实施例可以发现,本发明所提供的一种用于群组通信的密钥管理系统,解决了群组通信的密钥管理问题,避免传统方案密钥管理服务器存储通信密钥,易遭受黑客攻击的缺陷;一旦有人员离职,可以通过删除密钥管理器中的[σ0]d0来作废改人员手中的私钥。

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

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

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