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

一种基于椭圆曲线的可验证数字签名方法

2023-10-16 22:36:31 来源:中国专利 TAG:


1.本发明涉及数据安全加密与传输领域,具体而言,涉及一种针对基于椭圆曲线的可验证数字签名方法。


背景技术:

2.目前,海洋网络一般由传感器、卫星以及固定平台等设备构成,它们形成了海洋复杂的网络环境,这将使得海洋信息的安全和隐私变得尤其重要,然而这也不会仅局限于身份验证、数据保护和网络安全等方面要求。另一方面,由于设备计算能力和存储能力的限制,传统的网络安全也无法直接用于海洋复杂的网络环境。当前海洋信息安全主要存在以下几个方面问题:设备性能有限,安全能力不够;网络环境开放,易被敌手攻击;安全防护措施少,安全保护等级不够;在身份验证方面,因为海洋信息的收集一般远离陆地,走向深蓝。因此,设备进行数据发送时,难以一次性进行传输与认证需借助中继设备进行转发,然而利用中继设备进行信息传输过程中易受敌手攻击,可能面对的“窃听”、“篡改”、“假冒”、“重放”等安全性隐患容易。为了确保数据的真实性以及合法性,在认证设备的同时也需要确保数据传输过程的安全性以及可追溯性。


技术实现要素:

3.为达到上述目的,本发明在以往的数字签名基础上,提出了一种基于椭圆曲线的可验证数字签名方法,以解决远距离多节点的数据传输问题。
4.所述方法应用于海洋开放网络环境下的数据采集及传输系统,所述系统包括采集设备、若干中继设备和岸基服务器;所述采集设备具有唯一的身份id并且还有与之对应产生的身份凭证,能够执行相关运算操作;所述岸基服务器用于解密源数据和追溯整个认证过程并且能够验证数据来源的真实性以及合法性、管理整个通信网络并初始化公共系统参数,并负责海洋通信环境中采集设备与中继设备的注册;所述中继设备组成至少一条公共信道;
5.所述方法包括系统初始化流程、设备注册与密钥生成流程、认证流程;
6.系统初始化流程用于岸基服务器初始化系统参数;
7.设备注册与密钥生成流程用于实现每个采集设备以及中继设备在岸基服务器上的注册;
8.认证流程用于在采集设备采集到数据后,生成信息,发送给所属公共信道的中继设备,各级中继设备按照级别进行验证、传输,最后传输给岸基服务器,由岸基服务器需要认证信息来源设备的身份。
9.进一步的,所述系统初始化流程包括如下步骤:
10.步骤一:岸基服务器在具有基点p的素数有限域zq={0,1,

,q-1}上选择一个非奇异椭圆曲线eq(u,v),其具体形式为y2=x3 ux v(mod q);q是任一素数;
11.步骤二:岸基服务器选择一个形式为h(
·
):{0,1}
*

{0,1}
l
的抗冲突单向哈希函
数,该函数采用任意长度的输入字符串,并生成固定长度的输出作为消息摘要;
12.步骤三:岸基服务器选择一个随机秘密值并计算t
pub
=s
·
p;然后选择随机数作为系统私钥,并计算相应的系统公钥k
pub
=k
pri
·
p;
13.步骤四:岸基服务器发布公共系统参数:
14.{eq(u,v),h(
·
),p,k
pub
,t
pub
}。
15.进一步的,设备注册与密钥生成流程中包括采集设备注册子流程、中继设备注册子流程;
16.所述采集设备注册子流程具体为:采集设备选择身份id,然后通过安全信道发送给岸基服务器,岸基服务器为采集设备生成身份凭证hid=h(id||s||k
pri
),发送给采集设备;
17.中继设备注册子流程具体为:岸基服务器与中继设备之间进行协商,辅助中继设备生成私钥信息di并保存,并且公布公钥信息qi=di·
p;同时岸基服务器生成信息ai=k
pri
·
qi,岸基服务发送ai给中继设备,所述i为中继设备编号。
18.进一步的,认证流程包括如下步骤:
19.步骤一:采集设备在收集到数据后,选择随机数和获取当前时间戳t1,并计算r=r
·
p,然后混淆身份并计算p,然后混淆身份并计算和身份认证码mac=h(id||hid||t1||r),同时计算密钥key=h(hid||t1||r)用于加密收集到的数据;之后它在时间戳为t1时通过所属公共信道向该信道的i级数据传输设备发送信息m={t1,r,mac,mid};
20.步骤二:i级数据传输设备在时间t2收到上一级数据传输设备传输过来的数据之后,i级数据传输设备判断接收时间与上一级数据传输设备的数据发送时间的差值是否小于预定的时间阔值,如果小于则验证通过,否则不通过;如果不通过,则不接受该次通信数据,如果验证通过,该i级数据传输设备生成随机数并且计算ni=ri·
qj、ri=ri·
p,其中qj为j级数据传输设备的公钥,并且选择临时身份tidi=h(idi||ri)和当前时间戳t3,然后计算auth
ij
=h(tidi||ri||t3||aiqj)、签名信息数据信息其中di为i级数据传输设备的私钥信息;之后它在时间戳为t3时向所属公共信道的j级数据传输设备发送数据{signi、mi、h(m)、ri、aidi、t3};
21.步骤三:j级数据传输设备在时间t4收到请求信息,该数据传输设备通过判断|t
4-t3|《δt是否成立来验证收到的时间戳,如果不成立,则不接受该次通信数据;如果成立则验证通过,j级数据传输设备将计算nj=dj·ri
,其中,dj为该数据传输设备的私钥信息;然后还原接着计算auth'
ij
=h(tid'i||ri||t3||ajqi);最后对比与h(m)
·
qi是否相等,如果相等则验证身份成功;j级数据传输设备生成随机数并且计算n
′j=rj·
qk、rj=rj·
p,其中qk为k级数据传输设备公钥,并且选择临时身份tidj=h(idj||rj)和当前时间戳t5,然后计算和
auth
jk
=h(tidj||rj||t5||ajqk);最后j级数据传输设备计算签名信息和数据信息之后它在时间戳为t5时向公共信道的k级数据传输设备发送数据{signj、mj、h(m)、rj、aidj、t5};最后j级数据传输设备会在计算完自己要发送的数据之后去验证接受到的数据真实性,它会计算发送给上上一级数据传输设备去验证数据,上上一级数据传输设备利用自己产生的数据m
·
qi与进行对比,如果相等,则执行步骤四;
22.步骤四:k级数据传输设备接收j级传输设备传输来的数据,然后作为新的“j级数据传输设备”执行与步骤三中j级数据传输设备相同方式的运算及验证、沿着公共信道依次往下传输数据,后续各级的数据传输设备均重复执行相同的操作,沿着公共信道依次往下传输数据,直到岸基服务器接收到了数据;
23.步骤五:信息传输到岸基服务器,岸基服务器计算得到信息m;
24.步骤六:岸基服务器认证信息m来源设备的身份,认证成功则进行步骤七;
25.步骤七:采集设备通过key加密采集到的数据,通过所属公共信道传输给岸基服务器。
26.进一步的,步骤五中,岸基服务器计算得到信息m的方法为:
27.假定传输消息m的公共信道的最后一级中继设备为步骤三所述的第j级数据传输设备,则岸基服务器首先计算auth

jk
,计算方法如下:
28.首先计算nk=dk·rj
,其中dk为岸基服务器私钥,然后还原接着计算auth

jk
h(tid
′j|||rj||t5||mkqj),由于auth

jk
=auth
jk
,所以由于qj已知,得到mi。然后通过相同的步骤,由于auth

ij
=auth
ij
,所以,所以得到由于qi已知,进而得到m。
29.进一步的,步骤六中,认证方法如下::
30.首先计算然后通过id'找到对应的hid;
31.然后计算mac'=h(id'||hid||t1||ri);
32.通过与身份认证码mac进行比较,相等则认证身份成功。
33.进一步的,步骤三中,上上一级数据传输设备利用自己的产生的数据m
·
qi与进行对比,如果不等,则说明其下一级数据传输设备可能被恶意更改数据,上上一级数据传输设备将该消息通过公共信道传输到服务器。
34.进一步的,数据传输设备为采集设备或者中继设备。
35.本发明的有益效果为:
36.1.能有效保障数据传输的真实性,每次数据接收前,都需要对数据发送方进行身份验证,以保障数据来源的合法性和真实性。
37.2.能有效保障数据的完整性,在传输数据的过程中,数据接收方能确保数据不被未授权的设备篡改或在篡改后能够被迅速发现。
38.3.能有效保障数据传输可追溯,每个实体在接受并认证数据来源的同时,也会向上级数据来源进行通信确认,以便保障数据在传输过程可追溯。
附图说明:
39.图1为本发明流程图。
40.图2为本发明所应用系统示意图。
41.图3为本发明注册阶段的原理图。
具体实施方式:
42.下面结合图1对本实施例进行说明。
43.本发明的设计构思为:本发明提出了一种基于椭圆曲线的可验证数字签名方法,用于设备之间安全通信。由于数据的采集在远洋中进行,采集设备进行数据发送时,难以一次性进行传输需借助中继设备进行转发,所以本方法采用一种多级数据传输的方式,采集设备负责海洋数据的收集以及对数据进行加密,中继设备负责对数据进行转发以及对数据来源进行验证,岸基服务器负责对数据进行解密以及对整个数据传输流程进行验证。该协议适用于多节点传输网络环境下,数据在传输过程中,通过签名技术保障数据的完整性,同时利用验证技术确保数据来源的真实性以及合法性。而且提出的协议通信量开销小。
44.本发明具体应用场景为海洋开放网络环境下,在设备传输数据的同时保障设备之间通信的安全。具体的数据传输模型如图1所示。在该模型中,有采集设备、若干中继设备和岸基服务器。采集设备具有唯一的身份i d并且还有与之对应产生的身份凭证,能够执行方案中设计的相关运算操作。中继设备有着一对公私钥和唯一身份id,同时中继设备的公钥是暴露的。岸基服务器在整个系统中,它能够解密源数据和追溯整个认证过程并且能够验证数据来源的真实性以及合法性,它是可信任并且安全的,同时管理整个通信网络并初始化一些公共系统参数。它负责海洋通信环境中采集设备与中继设备的注册。
45.本实施例将采集设备和中继设备统称为数据传输设备,采集设备在验证流程中,也能执行计算、验证、数据传输任务。
46.如图2所示,本发明包含了以下几个流程:
47.一.系统初始化流程
48.该流程用于岸基服务器初始化系统参数。
49.岸基服务器执行以下操作以初始化系统参数。
50.步骤一:岸基服务器在具有基点p的素数有限域zq={0,1,

,q-1}上选择一个非奇异椭圆曲线eq(u,v),其具体形式为y2=x3 ux v(mod q)。q是任一素数。
51.步骤二:岸基服务器选择一个形式为h(
·
):{0,1}
*

{0,1}
l
的抗冲突单向哈希函数,它采用任意长度的输入字符串,并生成固定长度的输出作为消息摘要。
52.步骤三:岸基服务器选择一个随机秘密值并计算t
pub
=s
·
p。然后选择随机数作为系统私钥,并计算相应的系统公钥k
pub
=k
pri
·
p。
53.步骤四:岸基服务器发布公共系统参数
54.{eq(u,v),h(
·
),p,k
pub
,t
pub
}。
55.二.设备注册与密钥生成流程
56.本流程为每个采集设备以及中继设备的注册过程,该注册过程在安全的信道上进行。具体步骤如下:
57.每个采集设备与中继设备选择它们的身份id,然后分别通过安全信道发送给岸基服务器。岸基服务器为采集设备生成身份凭证hid=h(id||s||k
pri
),同时岸基服务器与中继设备之间进行协商,辅助中继设备生成私钥信息di并保存,并且公布公钥信息qi=di·
p,同时岸基服务器生成信息ai=k
pri
·
qi,岸基服务发送信息hid和ai分别给采集设备和中继设备。具体流程如图3所示(图中id
client
代表采集设备id,id
node
代表中继节点设备id)
58.三.认证流程
59.认证流程用于在采集设备采集到数据后,生成信息,发送给所属公共信道的中继设备,各级中继设备按照级别进行验证、传输,最后传输给岸基服务器,由岸基服务器需要认证信息来源设备的身份。
60.步骤一:采集设备在收集到一定的数据后,会根据如下步骤生成信息:采集设备选择随机数和获取当前时间戳t1,并计算r=r
·
p,然后混淆身份并计算和身份认证码mac=h(id||hid||t1||r),同时它计算密钥key=h(hid||t1||r)用于加密收集到的数据。之后它在时间戳为t1时通过所属公共信道向该信道的i级数据传输设备发送信息m={t1,r,mac,mid}。
61.步骤二:i级数据传输设备在时间t2收到上一个数据传输设备传输过来的数据之后,该数据传输设备判断接收时间与上一级数据传输设备的数据发送时间差是否小于预定的时间阈值,如果小于则验证通过,否则不通过;如果验证不通过,不接受该次通信数据。
62.此处的i级数据传输设备一般为公共传输信道的第一级中继设备。上一级数据传输设备为采集设备,第i级数据传输设备通过判断|t
2-t1|《δt是否成立来验证收到的时间戳,δt为预定的时间差阈值。如果成立则i级数据传输设备生成随机数并且计算ni=ri·
qj(其中qj为下一级数据传输设备即j级数据传输设备的公钥)、ri=ri·
p,并且选择临时身份tidi=h(idi||ri)和当前时间戳t3,然后计算和auth
ij
=h(tidi||ri||t3||aiqj),最后i级数据传输设备计算签名信息和数据信息和数据信息之后它在时间戳为t3时通过公共信道向j级数据传输设备发送数据{signi、mi、h(m)、ri、aidi、t3}。
63.如果|t
2-t1|《δt不成立,则判断此次通信存在危险,不接受该次通信数据,直到满足上述条件为止。
64.如上一级数据传输设备为其余级别中继设备,利用实际时间戳和相关参数计算即可,验证及计算方式相同,此处不再赘述。
65.步骤三:j级数据传输设备在时间t4收到请求信息之后,通过判断|t
4-t3|《δt是否成立来验证收到的时间戳。如成立,j级数据传输设备将计算nj=dj·ri
,然后还原,然后还原接着计算auth

ij
=h(tid'i|||ri||t3||ajqi)。最后对比与h(m)
·
qi是否相等,如果相等则验证身份成功。之后j级数据传
输设备生成随机数并且计算n
′j=rj·
qk(其中qk为下一个接受数据的k级数据传输设备的公钥)、rj=rj·
p,并且选择临时身份tidj=h(idj||rj)和当前时间戳t5。然后计算和auth
jk
=h(tidj||rj||t5||ajqk)。最后j级数据传输设备计算签名信息名信息和数据信息之后它在时间戳为t5时通过公共信道向下一级数据传输设备:k级数据传输设备发送数据{signj、mj、h(m)、rj、aidj、t5}。最后j级数据传输设备会在计算完自己要发送的数据之后去验证接受到的数据真实性,它会计算发送给接受到上上一级数据传输设备上上一级数据传输设备利用自己的产生的数据m
·
qi与进行对比,如果相等,则说明没问题,如果不相等说明产生数据mi的设备篡改了数据,如果不等,则说明其下一级数据传输设备可能被恶意更改数据,上上一级数据传输设备将被篡改的数据传输设备的身份信息通过公共信道传输到岸基服务器。岸基服务器将会采取一些相应的措施,比如通知人员具体查看设备是否出现故障。
66.第二个节点的中继设备在验证时,首先验证第一个节点上的中继设备的身份,然后验证该中继设备在传输过程中数据是否被改变,上述验证成功,则第二个节点的中继设备计算并发送验证数据给采集设备,这时候可以把采集设备当成中继设备,然后采集设备验证第一节点是否更改了数据m,其余节点的中继设备验证方式相同。
67.步骤四:k级数据传输设备接收j级传输设备传输来的数据,然后作为新的“j级数据传输设备”执行与步骤三中j级数据传输设备相同方式的运算及验证、沿着公共信道依次往下传输数据,后续各级的数据传输设备均重复执行相同的操作,沿着公共信道依次往下传输数据,直到岸基服务器接收到了数据。
68.步骤五:信息传输到岸基服务器,岸基服务器计算得到信息m。
69.假定传输消息m的公共信道的最后一级中继设备为步骤三所述的第j级数据传输设备,则岸基服务器首先计算auth

jk
,计算方法如下:
70.首先计算nk=dk·rj
,其中dk为岸基服务器私钥,然后还原接着计算auth

jk
=h(tid
′j||rj||t5||akqj),由于auth

jk
=auth
jk
,所以由于qj已知,得到mi。然后通过相同的步骤,由于auth'
ij
=auth
ij
,所以得到得到由于qi已知,进而得到m。
71.上述假定只是提供了计算方法,如果最后一级中继设备为其他级别的中继设备,则修改计算式对应的下标为对应中继设备的编号即可。
72.步骤六:岸基服务器认证信息m来源设备的身份,认证成功则进行步骤七。
73.在接受到信息m之后岸基服务器需要认证信息m来源设备的身份,所以有如下计算:
74.首先计算然后通过id'找到对应的hid;
75.然后计算mac'=h(id'||hid||t1||ri)。
76.如果mac'与身份认证码mac相等则认证身份成功,否则失败。利用对称加密方式,认证成功之后采集设备可以通过key加密采集到的数据,而岸基服务器可以计算key来解密数据。
77.步骤七:采集设备通过key加密采集到的数据,通过所属公共信道传输给岸基服务器。
再多了解一些

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

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