一种通信系统的密钥产生方法与流程

文档序号:30642869发布日期:2022-07-05 22:31阅读:1725来源:国知局
一种通信系统的密钥产生方法与流程

1.本技术涉及网络通信技术领域,尤其涉及一种通信系统的密钥产生方法。


背景技术:

2.基于近年来军队的电子通信化作战能力逐年不断提升,各项系统建设均已朝向全面通信化作战的方向发展,考验军队在各项通信传输时的重要性,必须在现有通信系统架构下建置更安全的资料交换机制,竭需提升基本的安全要求,一种强化军用通信系统的密钥机制能够解决军队通信系统传输之间的安全性,避免地方伪装冒充身份进而获得相关的信息或在传输的时候遭到窃取。
3.针对密钥交换机制,国际上已经有多篇文献提供不同的设计架构,但是也无法满足军队通信系统强调多重安全认证之特殊定制化需求。针对上述的情况,一种强化军用通信系统的密钥机制以军用通信为基础,运用随机包密码系统以及椭圆曲线密码系统之加密密钥短、处理速度快等特性,设计符合基本的密钥交换机机制需求强化身份认证安全性,使其达到下列的优点。
4.1.为使资料传输过程具有不可否认机制,将系统内建置身份认证机制,除可降低第三方认证中心的依赖,系统内经注册的使用者,皆可离线利用公开的参数进行相互的身份认证的能力。
5.2.为了使通信双方在公开的环境传输信息时,数据能以密文的方式进行传输,防止遭到人为的篡改和盗取。一种强化军用通信系统的密钥机制运用随机背包密码系统的通信密钥交换机制,提升密钥的复杂度以及破解难度,强化数据传输间的完整性和安全性。
6.运用椭圆曲线密码系统,具有密钥长度较短与计算复杂度较低的特性,在相同的密钥长度,较其他非对称式几秒算法具有更高安全性以及运行速度快的特点,除了提高人员身份的效益,更强化通信双方数据的完整性和不可否认性。


技术实现要素:

7.本发明公开了一种通信系统的密钥产生方法,属于一种强化通信系统的密钥产生机制,基于椭圆曲线密码系统以及随机背包密码系统,结合强化身份认证即密钥交换传输机制。
8.根据本发明的一个方面,本发明提出了一种通信系统的密钥产生方法,该方法包括:
9.第一阶段为系统初始阶段:
10.设定数据管理凭证中心as各项初始状况,在有限域中选择一条安全的椭圆曲线;
11.第二阶段为注册阶段:
12.每位使用者将自己的身份信息及私钥(ida,da)使用安全的方式或者亲自到数据管理凭证中心(as)办理注册ida的签章,ida为用户ua的身份信息,da为私钥;
13.数据管理凭证中心as收到ua依照系统选取私钥da,数据管理凭证中心as利用背包
密码系统计算ua公开密钥ea;
14.as验证ua和ida之间的关系正确性;
15.第三阶段为验证阶段:
16.用户ua和ub相互验证对方的身份信息和时间戳;
17.第四阶段为密钥交换阶段:
18.用户ua和ub计算它们的通信密钥ska和skb并相互交换。
19.根据本发明的一个方面,所述强化通信系统的密钥产生方法,其中的系统初始阶段具体包括:
20.选择一个大于3的质数q;
21.选择两个小于q的正整数a,b,满足y=x3+ax+b(modq),其中mod为b对q取余运算,其中x大于等于0且小于等于q;
22.假设p是椭圆曲线e上的一点,且p为阶数α上的一点,其中α=4p1·
p2+1,p1=2p3+1、p2=2p4+1,其中p1、p2、p3、p4都是大质数;且p1、p2、p3、p4在计算完后被丢弃;
23.数据管理凭证中心as计算公开密钥q
as
,则q
as
=s
as
·
p,其中s
as
为私密密钥。
24.根据本发明的一个方面,所述强化通信系统的密钥产生方法,其中的注册阶段具体包括:
25.数据管理凭证中心as收到ua依照系统选取私钥da,利用背包密码系统计算ua公开密钥(ea);
26.1)首先随机选取n维向量da,且d
ai
均为正整数,
27.da=(d
a1
,

,d
ai
,

,d
an
)、d
a1
=max(d
ai
);
28.2)接着随机选取两个质数ya和ma,∑
ai=1ndai
《ma《2d
a1
29.3)计算向量ja=(j
a1
,

,j
ai
,

,j
an
),其中j
ai
≡ya*d
ai
(mod ma)、ai=1,

,n;
30.4)将j
ai
进行不对称分组,由左至右在第h位区分左右两部分,形成p
ai
及z
ai

31.5)选取正整数ta,满足(pa+t
a+
*z
ai
)《2
h-1,即表示p
ai
无进位;
32.6)令u
ai
=p
ai
+ta*z
ai
、ai=1,

,n;
33.7)随机选取两质数ra和fa,满足ra》∑
ai=1n u
ai
,fa》∑
ai=1n z
ai
,利用余式定理计算公式:
34.eid(ida)=ea=(e
a1
,e
a2
,

,e
an
),其中0≤e
ai
≤rafa–
1;
35.y
ai
≡u
ai
(mod ra)、y
ai
≡z
ai
(mod fa),其中ai=1,

,n;
36.8)私密密钥为ra,fa,ta,y
a-1
,ma,其中y
a-1
为ya的模反元素,并公布ea。
37.as验证ua和ida之间的关系正确性,计算u
ai
,p
ai
,j
ai
,d
ai

38.1)u
ai
=c(mod ra)、z
ai
=c(mod fa);
39.2)p
ai
=u
ai

ta·zai

40.3)j
ai
=p
ai
·2n-h
+z
ai

41.4)d
ai
=y
a-1
·jai
(mod ma);
42.5)运用初始超增序列s
as
计算求解明文x。
43.根据本发明的一个方面,所述的通信系统的密钥产生方法,验证阶段具体包括:
44.首先,ua选择一个随机二进制向量xa=(x
a1
||

||x
ai
)及一个随机数ba和时间戳ta作为相应的参数,我们可以计算注册证明ya,ta,获得ua的签名sa;
45.1)ya=ida·
da·
p;p是随机质数;
46.2)ta=(∑
j=1l x
ai
·hbj
)
·
p,h
bj
是ub的验证值;
47.ua使用时间戳ta和ub身份信息idb,执行紧凑函数的操作f(ya||ta||ta||idb),计算sa=ga+f(ya||ta||ta||idb)
·
(∑
j=1l x
ai
·hbj
)
·
p,其中,ga是椭圆曲线上阶数为α的基点,p是随机质数;
48.最后,ua发送(ida||ya||ta||sa||ta)至ub;
49.相同地,ub选择一个随机二进制向量xb=(x
b1
||

||x
bi
),时间戳tb作为相应的参数,然后将公共密钥从yb、tb获取签名sb如下:
50.1)yb=idb·
db·
p;
51.2)tb=(∑
j=1l x
bi
·haj
)
·
p,h
aj
是ua的验证值;
52.3)sb=gb+f(yb||tb||tb||ida)
·
(∑
j=1l x
bi
·haj
)
·
p,其中,gb是椭圆曲线上阶数为α的基点,p是随机质数;
53.信息(idb||yb||tb||sb||tb),以相同的方式被发送到ua。
54.根据本发明的一个方面,所述的强化通信系统的密钥产生方法,密钥交换阶段具体包括:
55.产生会话密钥之前,ua和ub需要验证(ida||ya||ta||sa||ta)和(idb||yb||tb||sb||tb),ua向ub发送(ida||ya||ta||sa||ta),ub向ua发送(idb||yb||tb||sb||tb);
56.以下列算式进行验证:
57.1)sb+yb+idb·qas
≡f(yb||tb||tb||ida)
·
tb;
58.2)sa+ya+ida·qas
≡f(ya||ta||ta||idb)
·
ta;
59.因此ua和ub计算它们的通信密钥ska和skb,算式如下:
60.3)ska=(∑
j=1l x
ai
·hbj
)
·
tb;
61.4)skb=(∑
j=1l x
bi
·haj
)
·
ta;
62.并在下列的算式中证明ska和skb是相同的:
63.ska=skb=∑j=1l xai
·
hbj)
·
(∑j=1l xbi
·
haj)
·
p;
64.ua端及ub端分别验证接收到的共享密钥skb及ska是否相等?若相等,则验证成功,若不相等,则放弃当前通信连接。
65.根据本发明的另一个方面,还提出了一种通信系统的密钥产生装置,该密钥产生装置包括:存储器,用于存储计算机执行的指令;处理器,用于执行存储器中存储的计算机指令,以实现如上所述方法的功能步骤。
66.采用本发明的技术方案,能够彻底解决军队通信系统传输之间的安全性,避免地方伪装冒充身份进而获得相关的信息或在传输的时候遭到窃取,还能提高通信效率,降低计算量。
附图说明
67.图1为本技术实施例所提供的一种密钥交换协议示意图;
68.图2为本技术实施例所提供的一种秘钥产生方法的注册阶段示意图;
69.图3为本技术实施例所提供的一种秘钥产生方法的验证阶段示意图;
70.图4为本技术实施例所提供的一种秘钥产生方法的通信密钥交换阶段示例图;
71.图5为本技术实施例所提供的一种密钥交换协议流程图示意图。
72.图6为本技术实施例提供的一种密钥产生装置的结构图。
具体实施方式
73.本技术实施例提供的方案中,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
74.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本技术技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术技术方案的详细的说明,而不是对本技术技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
75.本技术中用到的符号及其物理含义如表1所示。
76.表1
77.序列符号说明1as数据管理中心2ua、ub使用者a以及使用者b3e(fq)椭圆曲线4α椭圆曲线上的阶数(order)5g椭圆曲线上阶数为α的基点6q
as
数据管理凭证中心(as)公开密钥7s
as
数据管理凭证中心(as)私密密钥8ida、idbua、ub的身份信息id9ma,ya,ra,faua的随机参数10mb,yb,rb,fbub的随机参数11ea、ebua、ub公开密钥12ha、hbua、ub验证值13skb、skaua以及ub共享密钥14h》》n-hh位元数大于n-h的位元数
78.椭圆曲线密码学为一种公开加密的算法,基于椭圆曲线数学。椭圆曲线密码学主要比其他公开密钥加密方法所需的系统参数与密钥长度较少。形式上有许多稍微的不同,但是都依赖被广泛承认的必须解决椭圆曲线离散对数学问题的困难上,对应有限域上椭圆曲线群,为现有技术。
79.椭圆曲线的一般公式y2+a xy+by=x3+cx2+dx+e,其中a,b,c,d,e为质数。在椭圆曲线中,点加法运算是经过特别定义的,如果q是大于3的质数,这在galois field e(gq)中,其中x为x轴坐标,y为y轴坐标,椭圆曲线的公式如下:
80.y2=x3+ax+b(mod q),其中x大于等于0且小于等于q,a,b为小于q的正整数且4a3+27b
2 mod q不等于0。除此之外,也另外定义一个无穷原点o,假设一条直线与此椭圆曲线相交于三点,则此三点和为无限远点o。假设两点a(x1,y1)及b(x2,y2)位于椭圆曲线群e(fq)中,其点加法运算如下:
81.a+o=o+a=a
82.若x1=x2,y1=-y2,a=(x1,y1),b=(x2,y2)=(x1–
y1)=-a,则a+b=o
83.若a不等于b则a+b=(x3,y3)。其中(x3,y3)计算如下:
84.x3恒等于λ
2-x1–
x2(mod q)
85.y恒等于λ(x1–
x3)

y1(mod q)
86.密钥交换协议最早于1976年由diffie与hellman两位学者所提出的公开密钥密码系统的概念。透过密钥交换协议,可安全的让双方协商出交谈密钥,确保此次通信信息的私密性,其安全性质基于离散对数学问题上。算法说明如下:、
87.(一)首先设定两个公开参数,假设一个大质数p,且g为模数p之原根,通信双方建立出交谈金钥。
88.1.a随机选取质数x,计算x=g
x mod p后,发送给b。
89.2.b随机选取质数y,计算y=g
y mod p后,发送给a。
90.(二)a收到b发送过来的y,利用选取的质数y计算出交谈的密钥
91.k
xy
=(y)
x
mod p=(gy)
x
mod p=g x
ymod p
92.双方完成密钥协议后,即在不知道对方所选取的质数下获取相同交谈密钥k。
93.即使攻击者窃取x和y,由于解离散对数问题(无法由x和y推导出x和y),因此攻击者想计算交谈密钥k是不可行的,密钥交换协议流程图如图5所示。
94.随机背包系统密码系统是指在给定自然数序列b=(b,

,b,

,b)及一数s,已经被证实是一个np-complete问题,无法在多项式时间内解决,不过在许多特定数列要解开上述背包难题是很简单的,故大部分非属np-complete问题,我们称为易解背包数列。
95.因此,陆续有学者提出新的背包密码系统,首先有学者所提出的随机密码系统,运用加法和模减法运算,在解决超增数列的问题,证明攻击者无法掌握私密密钥的情况下,能抵抗直接求解背包难题的工具,例如低密度攻击等手段,以及运用替代于混淆的技术,降低系统的冗余度。
96.计算法说明如下:
97.(一)密钥生成阶段
98.1.随机选取n维向量b=(b1,

,bi,

,bn),其中b=max(bi)、bi均为正整数且不得重复。
99.2.随机选取两个质数m和w,其中∑
ni=1
b《m《2b1。
100.3.计算向量d=(d1,

,di,

,dn),其中di=w
·bi
(mod m)、i=1,

,n。
101.4.将di进行不对称的分组,由左至右在第j位元区分为左右两部分,形成ei以及vi,分别有就j位元及n

j位元,且j》》n

j,d=e+v。
102.5.选取正整数t,满足(ei+t
·
vi)《2j–
1,即表示e无进位,令ui=ei+t
·
vi、i=1,

,n。
103.6.随机选取两个质数p和q,满足p》∑
ni=1
ui,q》∑
ni=1
vi,利用余数定理公式:
104.(1)a=(a1,a2,

,an),其中0≤ai≤(p
·
q-1)。
105.(2)ai=ui(mod p)=vi(mod q),其中i=1,..,n。
106.(3)私密为p,q,t,w-1
,m,其中w-1
为w的取反元素。
107.(二)加密阶段
108.1.将信息x转换为二元n进位(x)=x1,x2,

,xn,xi∈(0,1)。
109.2.将信息(x)2=x1,x2,

,xn与公钥a=(a1,a2,

,an)加密。
110.3.c=a1x1+a2x2+

+anxn。
111.(三)解密阶段
112.1.计算u=c(mod p),v=c(mod q)。
113.2.计算e=u

t
·
v。
114.3.计算d=e
·2n-j
+v。
115.4.计算y=w-1
·
d(mod m)。
116.5.运用初始超增序列b计算求解明文x。
117.本发明提出的一种强化通信系统的密钥机制如图1所示。包括以下四个阶段,第一阶段为系统初始阶段、第二阶段为注册阶段、第三阶段为验证阶段、第四阶段为密钥交换阶段,符号表为如表1所示。
118.阶段1,系统初始阶段。首先设定数据管理凭证中心as各项初始状况,在有限域中选择一条安全的椭圆曲线e(fq),包括以下内容:
119.1.选择一个大于3的质数q。
120.2.选择两个小于q的正整数a,b,满足y=x3+ax+b(mod q),其中mod为b对q取余运算。其中x大于等于0且小于等于q。
121.3.假设p是椭圆曲线e上的一点且p为阶数α上的一点,其中α=4p1·
p2+1,其中,p1=2p3+1、p2=2p4+1,其中p1、p2、p3、p4都是大质数。
122.4.p1、p2、p3、p4在计算完后被丢弃。
123.5.数据管理凭证中心as计算公开密钥q
as
,则q
as
=s
as
·
p其中s
as
为私密密钥。
124.阶段2,注册阶段
125.注册阶段如图2所示,每位使用者(ua)将自己的身份信息及私钥(ida,da)使用安全的方式或者亲自到数据管理凭证中心(as)办理注册ida的签章,并且每位使用者(ua)都知道数据管理凭证中心as的公钥,只有数据管理凭证中心as知道相应的私钥。
126.数据管理凭证中心as计算使用者(ua)私钥程序,如图2所示(使用者ub方法亦同)。
127.1.数据管理凭证中心as收到ua依照系统选取私钥da,并将(ida,da)传送给数据管理凭证中心as,数据管理凭证中心as利用背包密码系统计算ua公开密钥(ea)。
128.1)首先随机选取n维向量,且d
ai
均为正整数。
129.da=(d
a1
,

,d
ai
,

,d
an
)、d
a1
=max(d
ai
)
130.2)接着随机选取两个质数ya和ma,∑
ai=1ndai
《ma《2d
a1
131.3)计算向量,其中j
ai
≡ya*d
ai
(mod ma)、ai=1,

,n及ja=(j
a1
,

,j
ai
,

,j
an
)
132.4)将j
ai
进行不对称分组,由左至右在第h位区分左右两部分,形成p
ai
及z
ai

133.5)选取正整数ta,满足(pa+t
a+
*z
ai
)《2
h-1,即表示p
ai
无进位。
134.6)令u
ai
=p
ai
+ta*z
ai
、ai=1,

,n
135.7)随机选取两质数ra和fa,满足ra》∑
ai=1n u
ai
,fa》∑
ai=1n z
ai
,利用余式定理计算公式:
136.eid(ida)=ea=(e
a1
,e
a2
,

,e
an
),其中0≤e
ai
≤rafa–1137.y
ai
≡u
ai
(modra)、y
ai
≡z
ai
(mod fa),其中ai=1,

,n
138.8)私密密钥为ra,fa,ta,y
a-1
,ma,其中y
a-1
为ya的模反元素,并公布ea。
139.2.as验证ua和ida之间的关系正确性,计算u
ai
,p
ai
,j
ai
,k
ai
140.1)u
ai
=c(mod ra)、z
ai
=c(mod fa)
141.2)p
ai
=u
ai

ta·zai
142.3)j
ai
=p
ai
·2n-h
+z
ai
143.4)k
ai
=y
a-1
·jai
(mod ma)
144.5)运用初始超增序列s
as
计算求解明文x。
145.阶段3,验证阶段
146.假设ua和ub需要建立秘密通信,如图3示:
147.1.首先,ua选择一个随机二进制向量xa=(x
a1
||

||x
ai
)及一个随机数ba和时间戳ta作为相应的参数。我们可以计算注册证明ya,ta,获得ua的签名sa。
148.5)ya=ida·
da·
p
149.6)ta=(∑
j=1l x
ai
·hbj
)
·
p
150.2.ua使用时间戳ta和ub身份信息idb执行的紧凑函数的操作f(ya||ta||ta||idb),计算sa=ga+f(ya||ta||ta||idb)
·
(∑
j=1l x
ai
·hbj
)
·
p
151.3.最后,ua发送(ida||ya||ta||sa||ta)至ub。
152.4.相同地,ub选择一个随机二进制向量xb=(x
b1
||

||x
bi
),时间戳tb作为相应的参数。然后将公共密钥从yb、tb获取签名sb如下:
153.1)yb=idb·
db·
p
154.2)tb=(∑
j=1l x
bi
·haj
)
·
p
155.3)sb=gb+f(yb||tb||tb||ida)
·
(∑
j=1l x
bi
·haj
)
·
p
156.5.因此,该信息(idb||yb||tb||sb||tb),以及相同的方式被发送到ua。
157.阶段4,通信密钥交换阶段
158.产生会话密钥之前,ua和ub需要验证(ida||ya||ta||sa||ta)和(idb||yb||tb||sb||tb)分别从ua和ub发送。验证算式如图3
159.1.首先以下列算式进行验证:
160.1)sb+yb+idb·qas
≡f(yb||tb||tb||ida)
·
tb161.2)sa+ya+ida·qas
≡f(ya||ta||ta||idb)
·
t
162.2.因此ua和ub计算它们的通信密钥ska和skb。算式如下:
163.5)ska=(∑
j=1l x
ai
·hbj
)
·
tb164.6)skb=(∑
j=1l x
bi
·haj
)
·
ta165.3.并在下列的算式中证明ska和skb是相同的:
166.ska=skb=∑
j=1l x
ai
·hbj
)
·
(∑
j=1l x
bi
·haj
)
·
p
167.ua端及ub端分别验证接收到的共享密钥skb及ska是否相等?若相等,则验证成功,若不相等,则放弃当前通信连接。
168.参见图6,本技术实施例提供的一种密钥产生装置,该密钥产生装置包括:
169.存储器301,用于存储至少一个处理器所执行的指令;
170.处理器302,用于执行存储器中存储的指令执行本发明提出的上述方法步骤。
171.进一步,本技术实施例提供的一种计算机可读存储介质,所述计算机可读存储介
质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明提出的上述方法步骤。
172.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
173.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
174.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
175.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
176.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1