当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于区块链的船舶轨迹监测系统技术方案

技术编号:32563282 阅读:11 留言:0更新日期:2022-03-09 16:47
本发明专利技术公开一种基于区块链的船舶轨迹监测系统,包括主通信节点A0和n个副本通信节点;所述主通信节点A0和n个副本通信节点组成区块链;所述区块链存储AIS信息;所述副本通信节点从区块链中获取AIS信息,完成轨迹回溯查询;本发明专利技术是一种基于区块链技术的船舶轨迹监测系统,主要解决航道监管机构对船舶运行轨迹全过程的准确回溯问题,有效防止船舶轨迹数据篡改以及节点异常带来的数据缺失,文中所使用的强碰撞性国密算法保证了数据的安全性和保密性,使用节点边缘化计算汇总的方式降低全节点负荷,减少资源浪费,能够防止黑客攻击。能够防止黑客攻击。能够防止黑客攻击。

【技术实现步骤摘要】
一种基于区块链的船舶轨迹监测系统


[0001]本专利技术涉及数据加密安全通信领域,具体是一种基于区块链的船舶轨迹监测系统。

技术介绍

[0002]内河航运是我国水上交通运输的重要渠道,它具有便捷、快速和运输量大的特点,我国依靠得天独厚的地理环境优势,从19世纪30年代至今,全国内河航道通航里程达12.77万公里,通航货运量也逐年增加,据统计2020年仅单月货运量已高达70659万吨,因此,航道的安全与畅通成为了水上交通运输的重要保障。目前,内河航道基本实现了数字化、智能化和网络化。虽然数字化航道建设带来了一定的成效,但由于航道环境复杂恶劣,比如:水深流急、洲滩演变频繁、河床演变剧烈、通信信号不稳定、信号盲区多等,船舶通行指挥系统容易遭受黑客入侵,以上因素导致接收的AIS数据缺失或被篡改、轨迹回溯不连续、事故取证难等问题。当控制河段内出现海损事故,如:谎报船位导致上下水船舶同时进槽相撞,肇事船舶撞毁航标逃逸导致后船偏航、搁浅或相撞,船舶损坏岸基设备逃逸等,如果该辖区内的信号台无法准确连续地回溯船舶AIS位置信息,航道监管部门因数据证据不充分而无法定位肇事船舶,导致航道监管部门查证困难、权威受到挑衅,国家经济蒙受损失。
[0003]目前,内河航道控制河段船舶轨迹回溯方案仅解决了AIS数据如何在单一节点上的存储问题,不具备轨迹数据防篡改和灾备能力。

技术实现思路

[0004]本专利技术的目的是提供一种基于区块链的船舶轨迹监测系统,包括主通信节点A0和n个副本通信节点。
[0005]所述主通信节点A0和n个副本通信节点组成区块链。
[0006]所述区块链存储AIS信息。
[0007]所述副本通信节点从区块链中获取AIS信息,完成轨迹回溯查询。
[0008]所述区块链存储AIS信息的步骤包括:
[0009]I)任意副本通信节点A接收船舶发送的加密AIS信息R
accA
,并对加密AIS信息R
accA
进行解析,得到AIS信息R
accaA
=Y(R
accA
)。Y表示解析协议。A∈{A1,A2···
A
n
}。{A1,A2···
A
n
}为副本通信节点。
[0010]II)所述副本通信节点A对接收到的AIS信息R
accaA
进行加密,生成数字摘要信息M,并由数字摘要M生成数字签名(r,s)。所述副本通信节点A在区块链中广播数据R
accaA
、数字签名(r,s)、副本通信节点A的公钥P
A

[0011]III)任意副本通信节点B接收到副本通信节点A广播的信息,记为信息M

、数字签名(r

,s

)、副本通信节点A的公钥P
A
。B∈{A1,A2···
A
n
},且B≠A。
[0012]IV)副本通信节点B对信息M

进行验证,若验证通过,则进入步骤V),否则,拒绝接收副本通信节点A广播的信息。
[0013]V)所述副本通信节点B对信息M

进行解密和冗余处理,得到信息R

M
={R

x1
,R

x2
···
R

xk
}。
[0014]VI)所述副本通信节点B对信息R

M
中的每个元素进行Hash运算,得到若干j级Hash块。其中,元素R

xi
对应的j级Hash块Node0
i
=Hash(R

xi
),i=1,2
···
k。j初始值为1。
[0015]VII)所述副本通信节点B将相邻两个j级Hash块串联,并对相邻两个j级Hash块进行Hash运算,得到j+1级Hash块Node1
(i+1)/2
=Hash(Node0
i
+Node0
i+1
),i=1,3,5
···
k

1。若k为为奇数,则末端j+1级Hash块Node1
(i+1)/2
=Hash(Node0
i
)。
[0016]VIII)令j=j+1,并返回步骤VII),直至生成Hash值Merkle Root,记为MT
r

[0017]所述副本通信节点从区块链中获取AIS信息的步骤包括:
[0018]1)副本通信节点A
x
向主节点A0发送请求指令REQUEST。所述请求指令REQUEST携带的信息包括请求操作o、时间戳ts、副本通信节点A
x
的标识Client_id、副本通信节点A
x
的信息msg、副本通信节点A
x
的公钥P
Clientx
、数字签名Sig
Clientx
,x∈{1,2
···
n}。
[0019]2)主节点A0接收到请求指令REQUEST后,利用公钥P
Clientx
校验请求指令REQUEST中的数字签名Sig
Clientx
,若验证通过,则主节点A0为副本通信节点A
x
的请求指令分配编号id∈[h,H],并在区块链中广播PRE

PREPARE请求。所述PRE

PREPARE请求携带的信息包括视图编号viewNum、副本通信节点A
x
的消息摘要d
msg
、副本通信节点A
x
的消息msg、主节点A0公钥P
A0
、主节点A0数字签名Sig
A0
、编号id。
[0020]3)副本通信节点A
y
接收到主节点A0发送的PRE

PREPARE请求后,对PRE

PREPARE请求进行验证,若验证通过,则在区块链中广播PREPARE请求,否则,拒绝PRE

PREPARE请求。所述PREPARE请求携带的信息包括视图编号viewNum、消息摘要d
pre
=d
msg
、当前副本通信节点编号y

>num、编号id、副本通信节点A
y
公钥P
Ay
、副本通信节点A
y
数字签名Sig
Ay
[0021]4)所述主节点A0和副本通信节点接收到PREPARE请求后,对PREPARE请求进行验证,若验证通过,则将验证通过的反馈信息I发送至副本通信节点A
y
。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的船舶轨迹监测系统,其特征在于:包括主通信节点A0和所述n个副本通信节点。所述主通信节点A0和n个副本通信节点组成区块链;所述区块链存储AIS信息;所述副本通信节点从区块链中获取AIS信息,完成轨迹回溯查询;所述区块链存储AIS信息的步骤包括:I)任意副本通信节点A接收船舶发送的加密AIS信息R
accA
,并对加密AIS信息R
accA
进行解析,得到AIS信息R
accaA
=Y(R
accA
);Y表示解析协议;A∈{A1,A2…
A
n
};{A1,A2…
A
n
}为副本通信节点;II)所述副本通信节点A对接收到的AIS信息R
accaA
进行加密,生成数字摘要信息M,并通过摘要M生成数字签名(r,s);所述副本通信节点A在区块链中广播数据R
accaA
、数字签名(r,s)、副本通信节点A的公钥P
A
;III)任意副本通信节点B接收到副本通信节点A广播的信息,记为信息M

、数字签名(r

,s

)、副本通信节点A的公钥P
A
;B∈{A1,A2…
A
n
},且B≠A;IV)副本通信节点B对信息M

进行验证,若验证通过,则进入步骤V,否则,拒绝接收副本通信节点A广播的信息;V)所述副本通信节点B对信息M

进行解密和冗余处理,得到信息R

M
={R

x1
,R

x2

R

xk
};VI)所述副本通信节点B对信息R

M
中的每个元素进行Hash运算,得到若干j级Hash块;其中,元素R

xi
对应的j级Hash块Node0
i
=Hash(R

xi
),i=1,2

k;j初始值为1;VII)所述副本通信节点B将相邻两个j级Hash块串联,并对相邻两个j级Hash块进行Hash运算,得到j+1级Hash块Node1
(i+1)/2
=Hash(Node0
i
+Node0
i+1
),i=1,3,5

k

1;若k为奇数,则末端j+1级Hash块Node1
(i+1)/2
=Hash(Node0
i
);VIII)令j=j+1,并返回步骤VII),直至生成Hash值Merkle Root,记为MT
r
;所述副本通信节点从区块链中获取AIS信息的步骤包括:1)副本通信节点A
x
向主节点A0发送请求指令REQUEST;所述请求指令REQUEST携带的信息包括请求操作o、时间戳ts、副本通信节点A
x
的标识Client_id、副本通信节点A
x
的信息msg、副本通信节点A
x
的公钥P
Clientx
、数字签名Sig
Clientx
,x∈{1,2

n};2)主节点A0接收到请求指令REQUEST后,利用公钥P
Clientx
校验请求指令REQUEST中的数字签名Sig
Clientx
,若验证通过,则主节点A0为副本通信节点A
x
的请求指令分配编号id∈[h,H],并在区块链中广播PRE

PREPARE请求;所述PRE

PREPARE请求携带的信息包括视图编号viewNum、副本通信节点A
x
的消息摘要d
msg
、副本通信节点A
x
的消息msg、主节点A0公钥P
A0
、主节点A0数字签名Sig
A0
、编号id;3)副本通信节点A
y
接收到主节点A0发送的PRE

PREPARE请求后,对PRE

PREPARE请求进行验证,若验证通过,则在区块链中广播PREPARE请求,否则,拒绝PRE

PREPARE请求;所述PREPARE请求携带的信息包括视图编号viewNum、消息摘要d
pre
=d
msg
、当前副本通信节点编号y

>num、编号id、副本通信节点A
y
公钥P
Ay
、副本通信节点A
y
数字签名Sig
Ay
;4)所述主节点A0和副本通信节点接收到PREPARE请求后,对PREPARE请求进行验证,若验证通过,则将验证通过的反馈信息I发送至副本通信节点A
y

5)若副本通信节点A
y
接收到2f+1个验证通过的反馈信息I,则在区块链中广播COMMIT请求;f为系统中失效节点最大个数;COMMIT请求携带的信息包括视图编号viewNum、消息摘要d
com
=d
pre
=d
msg
、当前副本通信节点编号y

>num、副本通信节点A
y
数字签名Sig
Ay
;6)主节点A0和副本通信节点接收到COMMIT请求后,对COMMIT请求进行验证,若验证通过,则将验证通过的反馈信息II发送至副本通信节点A
y
;7)若副本通信节点A
y
接收到2f+1个验证通过的反馈信息II,则运行请求操作o,并向副本通信节点A
x
反馈REPLY信息;所述REPLY信息携带的信息包括视图编号viewNum、时间戳ts、副本通信节点A
x
的标识Client_id、请求操作结果r;8)副本通信节点A
x
判断接收到的REPLY信息数量是否大于等于f+1,若是,则进入步骤9),否则重新向主节点A0发送请求指令,并返回步骤2);9)主节点A0将区块上传至区块链;所述区块包括区块头和区块体;所述区块头携带的信息包括区块版本号V_ID、当前区块哈希值MT
r
、时间戳、前一个区块的哈希值、主节点的数字签名SIG
AviewNum
;所述区块体携带的信息包括历史间隔时间t
AIS
的AIS数据;10)查询方向主节点A0发送查询请求INQUIRE;所述查询请求INQUIRE携带的信息包括请求操作O、时间戳ts、查询方的用户名username、查询方的密码password、查询条件condition
W
、查询方公钥Key
PW
;11)主节点A0利用私钥Key
SW
对查询请求INQUIRE进行解密;解密后,主节点A0根据查询条件condition
W
对区块数据遍历查询,得到查询结果RES
inqdata
,并将查询结果RES
inqdata
发送至查询方;所述查询结果RES
inqdata
携带的信息包括时间戳、AIS数据、查询方公钥Key
PW
;12)查询方接收查询结果RES
inqdata
,并根据查询方公钥Key
PW
对查询结果RES
inqdata
进...

【专利技术属性】
技术研发人员:宋涛李秀华李辉杨正益范琪琳胡春强文俊浩
申请(专利权)人:重庆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1