舰船科学技术  2023, Vol. 45 Issue (23): 178-181    DOI: 10.3404/j.issn.1672-7649.2023.23.033   PDF    
基于区块链的航海实验室多域访问安全监控方法
张红兵     
江苏航运职业技术学院,江苏 南通 226000
摘要: 为保障航海实验室数据安全,提出基于区块链的航海实验室多域访问安全监控方法。构建基于区块链的航海实验室多域访问安全监控架构,其中用户认证层将以X509数字证书为基础进行改进的区块链证书作为支撑跨域认证过程的信任凭证,写入区块链,结合身份认证服务器组建跨域认证协议,完成航海实验室用户多域访问认证,并在权限管理层和运维层作用下依据认证情况下发多域访问权限决策结果,经区块管理层完成本域区块的完整性保证后,将航海实验室安全监控数据存储于数据储存层。实验结果表明:该方法可以对多域访问用户身份进行认证,避免攻击者盗取数据;设置hash难度值前导为5个0,可提高该方法的区块生成效率,该方法可以有效保障航海实验室在面对多种攻击的安全性。
关键词: 区块链     航海实验室     多域访问     安全监控    
Method for multi domain access security monitoring of navigation laboratorybased on blockchain
ZHANG Hong-bing     
Jiangsu Shipping College, Nantong 226000, China
Abstract: Research on blockchain based multi domain access security monitoring methods for maritime laboratories to ensure data security in maritime laboratories. Build a blockchain based multi domain access security monitoring architecture for navigation laboratories, in which the user authentication layer uses the improved blockchain certificate based on X509 digital certificate as the trust certificate to support the cross domain authentication process, writes it into the blockchain, and combines it with the identity authentication server to form a cross domain authentication protocol to complete the multi domain access authentication for navigation laboratory users, and under the role of the permission management layer and the operation and maintenance layer, the multi domain access permission decision results are issued based on the authentication situation. After the block management layer completes the integrity assurance of the local domain blocks, the navigation laboratory security monitoring data is stored in the data storage layer. The experimental results show that this method can authenticate the identity of users accessing multiple domains, avoiding attackers from stealing data; Setting the hash difficulty value as a leading value of 5 zeros can improve the block generation efficiency of this method, which can effectively ensure the security of navigation laboratories in the face of various attacks.
Key words: blockchain     navigation laboratory     multi domain access     safety monitoring    
0 引 言

在数字化时代,信息安全的重要性日益凸显。航海实验室作为海洋科研与技术创新的重要场所,其信息安全更是关系到国家海洋权益和科研成果的保密与安全。然而,传统的安全监控方式在面对复杂多变的网络环境和跨域访问需求时,显得力不从心。因此,如何确保航海实验室监控数据的安全性成为亟待解决的问题。

近年来,对于安全监控的研究有很多。石兆军等[1]研究通过分析现有的监控数据攻击路径与异常行为,但此方法只对现有的监控数据攻击手段有效,无法对第一次出现的监控数据攻击手段作出反映。龙浩等[2]研究个性化与专业化访问策略的加密机制,但此方法使用条件过于有限,若强行使用在不适用条件中,会被攻击者轻松盗取监控数据。江泽涛等[3]研究利用PKI认证体系管理不同密码体系安全域,使用CA作为公共跨域认证中心对用户进行认证和分配公共跨域身份与身份控制标签,只适用于小型监控数据的储存与保护。

区块链[4]作为一种新兴技术,有助于消除传统中心化机构的干预,提高效率和安全性,为此提出基于区块链的航海实验室多域访问安全监控方法,保障航海实验室访问安全。

1 航海实验室多域访问安全监控 1.1 基于区块链的多域访问安全监控架构

区块链是融合了分布式数据存储、共识机制及加密算法等技术的创新数据记录与跟踪方式,其中数据以块的形式存储,并通过加密算法链接到前一个块,形成链状结构。这种去中心化的管理方式确保数据的安全性、可靠性、透明性及不可篡改性,由区块头与区块体2个部分组成,其中区块头含有前一区块哈希值、时间戳、当前区块哈希值、航海实验室监控视频时段ID;区块体存有航海实验室其他文件与航海实验室监控视频散列值。这些组件共同组成了区块链的区块结构,从而确保了数据的完整性和可验证性,以及区块链技术的信任和透明度。这样的设计使得区块链技术能够广泛应用于各种场景,如航海实验室监控数据安全存储、交易验证等。为此构建基于区块链的航海实验室多域访问安全监控架构,如图1所示。

图 1 基于区块链航海实验室多域访问安全监控架构 Fig. 1 Multi domain access security monitoring architecture based on blockchain navigation laboratory
1.2 用户多域访问认证 1.2.1 基于X509数字证书的区块链证书

对于航海实验室多域访问中的跨域可信认证问题,本文使用区块链的不可篡改特性对PKI(公钥基础设施)体系中的X509数字证书进行改进[5],使改进后的区块链证书作为支撑航海实验室多域访问中跨域认证的信任凭证,具体如图2所示。

图 2 X509数字证书与区块链证书 Fig. 2 X509 digital certificate and blockchain certificate

本文区块链证书在X509证书的基础上,将签名算法进行了省略,生成区块链证书后,将其哈希值记入区块链账本,可在链上可查验证书,确保其安全可信;对X509证书中的URL模块进行了取消,因为区块链证书是直接储存在区块链上的,可以随时对证书状态进行查询,不需要URL模块来提供证书的在线状态。

1.2.2 基于区块链的跨域认证协议

根据区块链证书与安全监控架构,本文使用基于区块链的跨域认证协议实现用户的跨域认。为了更形象对用户认证层的多域访问用户身份跨域认证进行说明,以A域与B域为例,对跨域认证协议进行说明。本文的区块链跨域认证协议由航海实验室的用户、区块链证书与身份认证服务器组成,区块链证书与身份认证服务器作为区块链节点,协同工作生成证书并记入区块链,确保数据安全与不可篡改。同时,也支持对区块链证书的查询与验证,增强航海实验室跨域认证的可信度和效率,跨域认证协议所用符号如表1所示。

表 1 协议符号说明 Tab.1 Protocol symbol description

跨域认证协议内容步骤如下:

1)A域用户UA对B域的认证服务器ASB请求访问: $ {U_A} \to A{S_B} $

2)B域认证服务器ASB对用户UA的请求访问进行接受,并对其进行响应,与此同时对A域的UA发送随机数 $ {N_1} $ $ A{S_B} \to {U_A}:\left\{ {{N_1}} \right\} $

3)A域UA对B域认证服务器ASB的响应进行接收,为了生成签名 $ Sig{n_{s{k_{{U_A}}}}}\left( {{N_1}} \right) $ 对随机数 $ {N_1} $ 使用UA的私钥 $ s{k_{{U_A}}} $ ;在A域UA对B域认证服务器的请求进行响应后,发送消息用户证书 $ Cer{t_{{U_A}}} $ 、签名 $ Sig{n_{s{k_{{U_A}}}}} \left( {{N_1}} \right) $ 与随机数 $ {N_1} $ 至B域认证服务器ASB,具体为: $ {U_A} \to A{S_B}:\left\{ {Cer{t_{{U_A}}},Sig{n_{s{k_{{U_A}}}}}\left( {{N_1}} \right),{N_1}} \right\} $

4)B域认证服务器收到上述消息后,对随机数ASB的有效性进行检查;使用 $ Cer{t_{{U_A}}} $ N1 $ Sig{n_{s{k_{{U_A}}}}}\left( {{N_1}} \right) $ 的正确性进行验证,对证书进行解析,从而获得证书的有效期,通过证书或者证书链对A域信任区块链进行确认,即 $ A{S_B} \to A{S_A}:\left\{ {{N_2}} \right\} $

5)A域认证服务器ASA对随机数N2与请求进行接收,发送 $ BCer{t_{C{A_A}}} $ 与随机数N2至B域认证服务器ASB中,具体为: $ A{S_A} \to A{S_B}:\left\{ {BCer{t_A},{N_2}} \right\} $

6)B域认证服务器对消息进行接收,对随机数N2的有效性进行检查;对 $ BCer{t_{C{A_A}}} $ 进行解析,查看A域信任锚根CAA生成的区块链证书有效期,通过哈希算法对 $ BCer{t_{C{A_A}}} $ 进行哈希运算,获得 $ Hash\left( {BCer{t_{C{A_A}}}} \right) $ ;使用 $ Hash\left( {BCer{t_{C{A_A}}}} \right) $ 在ASB中对区块链进行查询,查询结果有如下:

①若是认证失败,则有2种情况,一种是查询结果无法获取,这是因为A域认证服务器提供的信任锚根CAA区块链证书存在误差;一种是实验查询结果显示issue与revoke,这是因为A域信任锚根CAA的区块链处于撤销状态。

②若是认证成功则是因为A域信任锚根CAA的区块链证书处于正常发布状态,此时获取的查询结果为issue,具体为: $ A{S_B} \to C{A_B}:Cer{t_{{U_A}}} $

7)在成功完成身份认证后B域认证服务器ASB发送用户的证书 $ Cer{t_{{U_A}}} $ 至B域信任锚根CAB

8)B域信任锚根CAB对用户UA证书进行接受,对用户证书 $ Cer{t_{{U_A}}} $ 进行解析,从而生成 $ BCer{t_{{U_A},C{A_B}}} $ ,并将其记入区块链,与此同时将其对 $ A{S_B} $ 进行反馈,即: $ C{A_B} \to A{S_B}:BCer{t_{{U_A},C{A_B}}} $

9)使用B域认证服务器将跨域区块链证书 $ BCer{t_{{U_A},C{A_B}}} $ 发送给用户。

10)通过步骤1~步骤9对A域至B域实现反向认证;

11)再使用步骤1~步骤10对A域与B域的双向认证。

重认证:

再次进行身份认证时,A域用户UA发送 $ BCer{t_{{U_A},C{A_B}}} $ 至B域认证服务器,对ASB使用哈希运算,查询区块链,对证书的有效性进行验证。

2 结果与分析

使用CentOS5.6作为操作系统,MySQL作为实验中的持久化数据库;Redis作为内存数据库;Tomcat8作为服务器,通过部署5台主机,对某航海实验室区块链之间的通信访问进行模拟,同时将基于视频时间段的ID,以及加密且签名的散列值储存在Redis中,将监控区块数据存储在文件系统中,通过MySQL为区块监控数据建立索引。分别使用用户与攻击者的身份进行该航海实验室多域访问,对本文方法跨域认证的应用性进行验证。为了实验的准确性,分别使用2种身份进行100次访问,表2为2种身份访问结果中的10次访问结果。根据表2可以发现,攻击者的航海实验室多域访问结果有2种,分别为无访问结果与issue and revoke,都为身份认证失败结果,攻击者无法访问航海实验室监控数据,用户在10次航海实验室多域访问中的访问结果为issue,都为访问成功结果,用户可以成功对航海实验室监控数据进行访问,说本文方法不仅具有应用性,还可以拦截攻击者,对航海实验室的监控数据安全做出保障。

表 2 两种身份的多域访问结果 Tab.2 Multiple domain access results for two identities

各个域节点间定义了授权规则,授权请求间隔20 min,100 min内全部发送完毕。授权确认时间不做假设。完成后,每分钟发起一次跨域登录请求,超时时间为30 s。CentOS5.6系统运行中,统计前50个区块信息,实验分析hash难度前导为5个0和6个0的数据,如图3所示。根据图3可以发现,区块链区块计算耗时呈现随机分布,且hash难度值为6个前导0时的随机性大于5个前导0时。数据显示,hash难度值为6个0的平均计算耗时约为16 min,而5个0时为10 min左右。因此,为满足每10 min产生一个区块的需求,模型在此实验中更适合设置hash难度值前导为5个0,这一调整将提高区块生成的效率,并使得本文方法的性能得到更好的发挥。

图 3 各个区块计算耗时统计图 Fig. 3 Statistical chart of calculation time for each block

针对跨域访问的攻击手段有很多,使用6种常见的攻击手段对本文方法、多源信息融合方法、属性加密方法、混合密码体系方法安全监控的航海实验室用户访问过程进行攻击,观察4种方法是否能抵抗攻击,对比分析4种方法应用后的各方面安全性,具体如表3所示。观察表3可以发现,多源信息融合方法应用后在遭到重放攻击时无法抵挡,重放攻击会导致密码被截获并重放;遭到欺骗攻击时无法抵抗,此时会导致密码在不安全通道中传输易被篡改,属性加密方法与混合密码体系方法应用后,分别无法抵抗假冒攻击、欺骗攻击与欺骗攻击、双向实体认证,而本文方法可有效对6种攻击手段进行抵抗,说明本文方法的安全性较好,对攻击手段的监控也更加全面。

表 3 不同方法的安全性对比 Tab.3 Safety comparison of different methods
3 结 语

本文设计了基于区块链的航海实验室多域访问安全监控架构,包括用户认证层、权限管理层、运维层、区块链层和数据储存层,实现了航海实验室监控数据的保护、存储和跨域认证。采用区块链证书作为支撑跨域认证的信任凭证,结合跨域认证协议,完成监管者用户身份跨域认证,只有确保通过授权认证的用户才能访问航海实验室的监控数据,实现了航海实验室的多域访问。

参考文献
[1]
石兆军, 周晓俊, 李可, 等. 基于多源信息融合的网络安全监控技术[J]. 计算机工程与设计, 2020, 41(12): 3361-3367.
SHI Zhao-jun, ZHOU Xiao-jun, LI Ke, et al. Cyberspace security monitoring technology based on multi-source information fusion[J]. Computer Engineering and Design, 2020, 41(12): 3361-3367. DOI:10.16208/j.issn1000-7024.2020.12.010
[2]
龙浩, 张书奎, 张力. 基于属性加密的雾协同云数据共享方案[J]. 计算机工程与设计, 2021, 42(01): 31-37.
LONG Hao, ZHANG Shu-kui, ZHANG Li. Fog-assisted cloud data sharing scheme based on attribute-based encryption[J]. Computer Engineering and Design, 2021, 42(01): 31-37. DOI:10.16208/j.issn1000-7024.2021.01.005
[3]
江泽涛, 时晨, 张少钦, 等. 云环境下基于混合密码体系的跨域控制方案[J]. 计算机应用研究, 2020, 37(11): 3387-3391.
JIANG Ze-tao, SHI Chen, ZHANG Shao-qin, et al. Cross-domain control scheme based on hybrid cryptosystem in cloud environment[J]. Application Research of Computers, 2020, 37(11): 3387-3391. DOI:10.19734/j.issn.1001-3695.2019.06.0298
[4]
宋靖文, 张大伟, 韩旭, 等. 区块链中可监管的身份隐私保护方案[J]. 软件学报, 2023, 34(7): 3292-3312.
SONG Jing-Wen, ZHANG Da-Wei, HAN Xu, et al. Supervised i9dentity privacy protection scheme in blockchain[J]. Journal of Software, 2023, 34(7): 3292-3312. DOI:10.13328/j.cnki.jos.006517
[5]
周利峰, 殷新春, 宁建廷. 一种适用于无线医疗传感器网络的基于区块链的无证书聚合签名方案[J]. 小型微型计算机系统, 2022, 43(6): 1128-1135.
ZHOU Li-feng, YIN Xin-chun, NING Jian-ting. Block chain-based certificate less aggregate signature scheme for wireless medical sensor networks[J]. Journal of Chinese Computer Systems, 2022, 43(6): 1128-1135.