本发明属于信息安全传输技术领域,具体涉及基于国密算法的遥控驾驶船舶通航环境数据保密传输方法及系统。该方法用于遥控驾驶船舶和岸端之间的数据传输,该方法包括:遥控驾驶船舶使用SM4对称密钥#imgabs0#加密通航环境数据#imgabs1#,生成环境数据密文#imgabs2#,使用SM2公钥加密SM4对称密钥#imgabs3#,生成密钥密文#imgabs4#;构造代理重加密密钥#imgabs5#,并把环境数据密文#imgabs6#、密钥密文#imgabs7#和代理重加密密钥#imgabs8#发送到云服务器;云服务器对密钥密文#imgabs9#加密后生成重加密的密钥密文#imgabs10#并存储;根据岸端请求,将#imgabs11#和#imgabs12#发送至岸端;岸端用SM2私钥和解密参数解密#imgabs13#,获取SM4对称密钥#imgabs14#,再用#imgabs15#解密#imgabs16#,得到原始的通航环境数据#imgabs17#。
1.一种国密算法的遥控驾驶船舶通航环境数据保密传输方法,用于遥控驾驶船舶和岸端之间的数据传输,所述方法包括:
遥控驾驶船舶使用SM4对称密钥加密通航环境数据,生成环境数据密文,使用SM2公钥加密SM4对称密钥,生成密钥密文;构造代理重加密密钥,并把环境数据密文、密钥密文和代理重加密密钥发送到云服务器;
云服务器对密钥密文加密后生成重加密的密钥密文并存储;
云服务器根据岸端请求,将重加密的密钥密文和环境数据密文发送至岸端;
岸端用SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥,再用解密环境数据密文,得到原始的通航环境数据;
所述方法还包括:
根据给定的安全参数,得到 bit的素数,其中,表示有限域的规模,表示定义在有限域上的椭圆曲线,表示阶循环群;定义哈希函数组,定义为椭圆曲线上的一点;
根据系统参数,选择随机数,采用SM2算法为遥控驾驶船舶分别生成私钥,公钥;
所述SM4对称密钥为:随机生成SM4对称密钥K;
所述使用SM2公钥加密SM4对称密钥,生成密钥密文;包括:
遥控驾驶船舶将自己的SM2公钥和SM4对称密钥作为SM2公钥加密算法的输入,对SM4对称密钥K进行SM2公钥算法加密,得到密钥密文CT=(C1,C2,C3,C4);
所述构造代理重加密密钥,包括:
遥控驾驶船舶根据公钥和岸端的数据用户B即构造代理重加密密钥参量,即;
根据代理重加密密钥参量以及自身定义的授权参数,计算得到代理重加密密钥,即。
2.根据权利要求1所述的国密算法的遥控驾驶船舶通航环境数据保密传输方法,其特征在于,所述岸端用SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥,包括:
岸端从云服务器获取重加密的密钥密文和环境数据密文后,用岸端的私钥和解密参数进行解密,获取SM4对称密钥。
3.一种国密算法的遥控驾驶船舶通航环境数据保密传输系统,基于权利要求1-2之一所述的方法实现,用于遥控驾驶船舶和岸端之间的数据传输,其特征在于,所述系统包括:部署在遥控驾驶船舶上的数据加密模块和上传模块,部署在云服务器的加密存储模块和发送模块,以及部署在岸端的解密模块,其中,
所述数据加密模块,用于使用SM4对称密钥加密通航环境数据,生成环境数据密文,使用SM2公钥加密SM4对称密钥,生成密钥密文;构造代理重加密密钥;
所述上传模块,用于把环境数据密文、密钥密文和代理重加密密钥发送到云服务器;
所述加密存储模块,用于密钥密文加密后生成重加密的密钥密文并存储;
所述发送模块,用于根据岸端请求,将重加密的密钥密文和环境数据密文发送至岸端;
所述解密模块,用于通过SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥K,再用解密环境数据密文,得到原始的通航环境数据。
4.根据权利要求3所述的国密算法的遥控驾驶船舶通航环境数据保密传输系统,其特征在于,所述系统还包括可信机构,用于智能航行中所有节点的公私密钥对和算法证书的颁发及身份信息存储;所述节点包括遥控驾驶船舶和岸端。
技术领域
[0001]本发明属于信息安全传输技术领域,具体涉及基于国密算法的遥控驾驶船舶通航环境数据保密传输方法及系统。
背景技术
[0002]智能船舶在提升船舶安全管理、能耗管理以及运营效率等方面拥有显著优势,同时降低了船舶运营中的人员成本。然而,在船舶数字化转型过程中,必然伴随着网络风险的扩大和多样化,容易受到一系列网络攻击事件的影响。针对船舶机舱数据的攻击可能干扰智能船舶的远程运维和遥控等业务,对船舶的航行安全构成重大威胁和损失。船舶网络攻击的最终目的是破坏船舶敏感数据的机密性、完整性和可用性,而这些数据是智能船舶实现远程遥控和自主航行的基础和核心要素。
[0003]在远洋航行中,船舶需要实时传输船舶航行状态、航行环境等遥测信息数据至岸基控制中心。若船舶网络通信存在安全问题,将对智能船舶的远程驾驶安全带来潜在风险。为确保船舶的航行安全,对船岸信息交互的数据进行高效加密管理至关重要。在数据交互过程中,必须同时考虑传输速度和安全性。
[0004]数据加密技术是一种可靠的信息保护方法,将数据明文转化为密文可为数据增加一层保护。即使船舶机舱数据因网络攻击非法脱离使用环境,数据本身仍然是安全的,对环境的依赖性较小。因此,船舶通航数据的存储和传输可以实现安全保护。同时,船舶机舱的数据需要上传至云数据库,以为船厂、设备配套商、系统商等机构提供故障诊断与分析的数据支持。不同机构对数据的需求各异,必须对云数据库中的数据访问进行限制,以避免不必要的船舶隐私泄露。
[0005]然而,传统加密方法在网络通信加密过程中存在一些限制。它们仅能对认证数据进行一次密钥密文与明文的交换,并且在此过程中缺乏防护机制,很容易出现加密数据被攻击或密钥明文被窃取的问题。此外,传统加密方法存在易破译、数据加密速度慢和密钥安全性差等问题。同时,网络数据通信平台容易受到无线电干扰和恶意攻击的影响。欺骗攻击以及破坏路由机制的虫洞攻击是海上通信网络恶意攻击的主要手段。
[0006]因此,面向远程驾驶船舶与岸基中心之间的数据保密传输需求,提出一套符合远程驾驶应用场景的数据加密方案,克服数据管理、加密与保密传输安全,加强智能航行船舶远程驾驶的安全性是十分必要的。
发明内容
[0007]本发明的目的在于克服现有技术缺陷,提出了基于国密算法的遥控驾驶船舶通航环境数据保密传输方法及系统。
[0008]为了实现上述目的,本发明提出了一种国密算法的遥控驾驶船舶通航环境数据保密传输方法,用于遥控驾驶船舶和岸端之间的数据传输,所述方法包括:
[0009]遥控驾驶船舶使用SM4对称密钥加密通航环境数据,生成环境数据密文,使用SM2公钥加密SM4对称密钥,生成密钥密文;构造代理重加密密钥,并把环境数据密文、密钥密文和代理重加密密钥发送到云服务器;
[0010]云服务器对密钥密文加密后生成重加密的密钥密文并存储;
[0011]云服务器根据岸端请求,将重加密的密钥密文和环境数据密文发送至岸端;
[0012]岸端用SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥,再用解密环境数据密文,得到原始的通航环境数据。
[0013]优选的,所述方法还包括:
[0014]根据给定的安全参数, 得到 bit的素数,其中,表示有限域的规模,表示定义在有限域 上的椭圆曲线,表示阶循环群;定义哈希函数组,定义为椭圆曲线 上的一点;
[0015]根据系统参数,选择随机数,采用SM2算法为遥控驾驶船舶分别生成私钥,公钥。
[0016]优选的,所述SM4对称密钥为:随机生成SM4对称密钥K。
[0017]优选的,所述使用SM2公钥加密SM4对称密钥,生成密钥密文;包括:
[0018]遥控驾驶船舶将自己的SM2公钥和SM4对称密钥作为SM2公钥加密算法的输入,对SM4对称密钥K进行SM2公钥算法加密得到密钥密文CT=(C1,C2,C3,C4)。
[0019]优选的,所述构造代理重加密密钥,包括:
[0020]遥控驾驶船舶根据公钥和岸端的数据用户B构造代理重加密密钥参量;
[0021]根据代理重加密密钥参量以及自身定义的授权参数,计算得到代理重加密密钥。
[0022]优选的,岸端用SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥,包括:
[0023]岸端从云服务器获取重加密的密钥密文和环境数据密文后,用岸端的私钥和解密参数进行解密获取SM4对称密钥。
[0024]另一方面,本发明提出了一种国密算法的遥控驾驶船舶通航环境数据保密传输系统,用于遥控驾驶船舶和岸端之间的数据传输,所述系统包括:部署在遥控驾驶船舶上的数据加密模块和上传模块,部署在云服务器的加密存储模块和发送模块,以及部署在岸端的解密模块,其中,
[0025]所述数据加密模块,用于使用SM4对称密钥加密通航环境数据,生成环境数据密文,使用SM2公钥加密SM4对称密钥,生成密钥密文;构造代理重加密密钥;
[0026]所述上传模块,用于把环境数据密文、密钥密文和代理重加密密钥发送到云服务器;
[0027]所述加密存储模块,用于密钥密文加密后生成重加密的密钥密文并存储;
[0028]所述发送模块,用于根据岸端请求,将重加密的密钥密文和环境数据密文发送至岸端;
[0029]所述解密模块,用于通过SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥K,再用解密环境数据密文,得到原始的通航环境数据。
[0030]优选的,所述系统还包括可信机构,用于智能航行中所有节点的公私密钥对和算法证书的颁发及身份信息存储;所述节点包括遥控驾驶船舶和岸端。
[0031]与现有技术相比,本发明的优势在于:
[0032]本发明通过对海上通信网络安全问题的分析,将研究重点放在加密算法上,在对一系列商用密码算法进行对比分析的基础上,为了满足“船到岸”能够传输大量数据的需求,采用国产SM2, SM4密码算法作为核心,并结合先进的代理重加密技术,实现数据的安全传输和保护。根据国产密码算法的特点,将 SM4 算法作为通航环境数据加密算法, 将SM2算法作为密钥加密算法。利用 SM2 构造代理重加密算法完成船舶航运环境数据隐私保护,通过对代理重加密对密钥进行管理实现数据访问,实现数据的安全传输和保护,能够有效防止信息泄露和非法操作。此外,该方法还具备高效性和实用性,适用于各种遥控驾驶船舶的通航环境数据保密传输需求。
[0033]本发明通过将国密算法与遥控驾驶船舶应用中的数据保密传输相结合,在兼顾加解密效率的同时安全性得到大幅度提升,解决了数据传输过程中面临的安全问题, 能够帮助智能船舶远程驾驶岸基中心建立健全的网络安全管理体系,提高网络入侵防御能力,从而为智能航运的发展保驾护航,为该领域的技术发展和安全保障做出了重要贡献。
附图说明
[0034]图1是本发明数据安全传输整体模块组成图;
[0035]图2是本发明数据加密流程图;
[0036]图3是本发明数据解密流程图;
[0037]图4是数据安全传输系统架构图。
具体实施方式
[0038]本发明提供了一种基于国密算法的遥控驾驶船舶通航环境数据保密传输方法,用于智能航行中。该方法采取混合加密的方式,将国密标准算法SM2、SM4和代理重加密方案相结合,将对称加密机制与公钥加密机制应用到系统的设计中,并设计了一个基于代理重加密的云存储数据保密传输系统,该系统具有加解密效率高、安全性好、访问控制灵活等特点。
[0039]智能航行(Autonomous navigation,AN):由航行环境态势感知、船舶操纵算法和信息处理等技术装备或系统全部或部分代替人工实现船舶驾驶操作的航行状态,包括辅助驾驶、遥控驾驶和自主驾驶三种主要形式。
[0040]代理重加密:代理重加密是一种可以对密文进行安全转换的加密技术,用于在不泄露明文的情况下,可以将数据拥有者(授权人)公钥加密的密文转换为另一种密文,被转换后的密文可以由数据使用者(被授权人)的私钥进行解密。密文转换过程由一个半可信的代理服务器(proxy)执行,在执行该过程前,代理节点需要持有一个由授权人到被授权人的转换密钥,一般授权人提前生成并发送给代理节点。通过转换密钥无法直接解析密文,需被授权人的私钥才能解密,代理节点无法获取到明文信息。
[0041]如图1所示,该方法包括以下步骤:
[0042]步骤A:在系统建立阶段,可信机构(Trusted authority,TA)注册到智能航行系统内的船舶和岸端控制中心分别生产密钥对和身份证书保存在本地数据库,并发送船舶和岸端,具体执行如下操作:
[0043]步骤A1:系统初始化:;
[0044]给定安全参数,得到 bit的素数表示有限域的规模,表示定义在有限域 上的粗圆曲线,定义为椭圆曲线 上的一点,并将其作为群 的生成元,为阶循环群。定义哈希函数组, 其中,。公布系统参数。
[0045]步骤A2:密钥生成:;
[0046]TA输入系统公开参数,选择随机数,为船舶生成私钥, 公钥。
[0047]步骤B:在船舶通航环境数据加密阶段,遥控驾驶船舶使用SM4对称密钥加密通航环境数据,产生数据密文,随后船舶利用自己的公钥加密SM4对称密钥生成密钥密文。具体执行如下操作:
[0048]步骤B1:遥控驾驶船舶随机生成SM4算法对称密钥K,使用对称密钥K加密环境数据M,生成数据密文=EncryptK(M)。
[0049]步骤B2:船舶将自己的SM2公钥和SM4的对称密钥K作为 SM2公钥加密算法的输入,对SM4密钥K进行SM2公钥算法加密得到密钥密文。选取, 加密运算如下:
[0050]步骤C:在上传船舶通航环境数据阶段,驾驶船舶端生成代理重加密密钥参量,构造代理重加密密钥,并把环境数据密文、代理重加密密钥上传到云服务器存储平台。船端对SM4密钥初始加密和生成代理重加密密钥计算如下:
[0051]步骤C1:代理重加密密钥参量生成:。船端构造针对数据用户B的代理重加密密钥参量,即。
[0052]步骤C2:代理重加密密钥生成: RekeyGen。 船舶通过代理重加密密钥参量 以及自身定义的授权参数, 计算出针对岸端控制中心 的代理重加密密钥上传到云服务器 即。
[0053]步骤D:在代理重加密阶段,云服务器对初始密钥密文进行重加密后,生成重加密密文。具体执行如下操作:
[0054]步骤D1 代理重加密:。对于合法的遥控驾驶船舶,云服务器对密钥密文的代理重加密计算如下:
[0055]
[0056]步骤E:在数据获取阶段,云服务器对初始密钥密文进行重加密后,把重加密密文发送给岸端,具体包括以下步骤:
[0057]步骤E1:数据加密密钥获取:Decrypt,岸端控制中心从云服务器上获取重加密密文和数据密文CK后, 可用其私钥和TA发送的解密参数 进行解密获取船舶环境数据, 岸端解密重加密密文计算如下:
[0058]
[0059]若,则,岸端得到加密密钥明文。
[0060]步骤E2:环境数据解密,岸端用该对称密钥K解密CK,得到原始的明文数据M。
[0061]下面结合附图和实施例对本发明的技术方案进行详细的说明。
[0062]实施例1
[0063]如图1所示,本发明的实施例1提出了一种遥控驾驶船舶通航数据保密传输方法,由五个阶段组成:系统建立阶段、数据初始加密阶段、上传环境数据阶段、代理重加密阶段和数据获取阶段,下面做进一步说明。
[0064]1.系统建立阶段
[0065]在系统建立阶段,TA 为注册到智能航行系统内的船舶和岸端控制中心分别生产密钥对和身份证书保存在本地数据库,并发送船舶和岸端,具体执行如下操作:
[0066](1)系统初始化:;
[0067]给定安全参数,得到 bit 的素数表示有限域的规模,表示定义在有限域上的粗圆曲线,定义 为椭圆曲线 上的一点,并将其作为群 的生成元,为阶循环群. 定义哈希函数组,其中,。公布系统参数。
[0068](2)密钥生成:;
[0069]TA输入系统公开参数, 选择随机数, 为船舶生成私钥, 公钥。
[0070]2.数据加密阶段
[0071]在船舶通航环境数据加密阶段,遥控驾驶船舶使用SM4对称密钥加密通航环境数据, 产生初始密文Ck, 随后船舶利用自己的公钥加密SM4对称密钥生成密钥密文。具体执行如下操作:
[0072](1)遥控驾驶船舶随机生成SM4算法对称密钥K,使用对称密钥K加密环境数据M,生成数据密文=EncryptK(M)。
[0073](2)船舶将自己的SM2公钥和SM4的对称密钥K作为SM2公钥加密算法的输入,对SM4密钥K进行SM2公钥算法加密得到密钥密文。选取,加密运算如下:
[0074]
[0075]3.上传数据阶段
[0076]在上传船舶通航环境数据阶段,驾驶船舶端生成代理重加密密钥参量,构造代理重加密密钥,并把环境数据密文、密钥密文和代理重加密密钥上传到云服务器存储平台。船端对SM4密钥初始加密和生成代理重加密密钥计算如下:
[0077](1) 代理重加密密钥参量生成:。船端构造针对数据用户 的代理重加密密钥参量, 即。
[0078](2)代理重加密密钥生成: RekeyGen。 船舶通过代理重加密密钥参量以及自身定义的授权参数,计算出针对岸端控制中心的代理重加密密钥。
[0079](3)驾驶船舶端把环境数据密文CK、密钥密文和代理重加密密钥上传到云服务器存储平台。
[0080]4.代理重加密阶段
[0081]在代理重加密阶段,云服务器对初始密钥密文C进行重加密后,和数据密文一起进行存储。
[0082]代理重加密:。云服务器对初始密钥密文进行重加密后,生成重加密密文。对于合法的遥控驾驶船舶, 云服务器对密钥密文 的代理重加密计算如下:
[0083]
[0084]如图2所示为数据加密流程图。
[0085]5.数据获取阶段
[0086]在数据获取阶段,岸端想要获取数据时,云服务器经过身份认证后,对初始密钥密文进行重加密后,把重加密密文发送给岸端,具体包括以下步骤:
[0087](1)数据加密密钥获取: Decrypt,岸端控制中心从云服务器上获取重加密密文和数据密文后,可用其私钥和TA发送的解密参数进行解密获取船舶环境数据,岸端解密重加密密文计算如下:
[0088]
[0089]若,则,岸端得到加密密钥明文。
[0090](2)环境数据解密,岸端用该对称密钥K解密CK,得到原始的明文数据M。
[0091]如图3所示为数据解密流程图。
[0092]实施例2
[0093]本发明的实施例2提供了一种基于国密算法的遥控驾驶船舶通航环境数据保密传输系统,基于实施例1的方法实现。如果图4所示为数据安全传输系统架构图。
[0094]包括:
[0095](1)遥控驾驶船舶端: 智能船舶及其驾驶者不断产生数据成为系统的数据拥有者,船端使用船内系统的传感器等模块进行数据的采集,并将采集来的数据进行加处理后与云服务器进行交互。在船舶中,船内的AIS配备了计算能力和通信功能,使驾驶船舶能够对数据进行加解密的同时与云服务器进行通信;包括数据加密模块和上传模块。
[0096]数据加密模块,用于使用SM4对称密钥加密通航环境数据,生成环境数据密文,使用SM2公钥加密SM4对称密钥,生成密钥密文;构造代理重加密密钥;
[0097]上传模块,用于把环境数据密文、密钥密文和代理重加密密钥发送到云服务器;
[0098](2)岸基控制端:系统中的岸基控制端为请求获取数据的岸口,当岸端执行数据查询时,经船端授权后,云服务器返回密文给岸端,岸基控制中心可使用自己的私钥进行解密,并最终获取查询结果;包括解密模块。
[0099]解密模块,用于通过SM2私钥和解密参数解密重加密的密钥密文,获取SM4对称密钥K,再用解密环境数据密文,得到原始的通航环境数据。
[0100](3)云服务器:作为系统中计算和存储功能最强大的实体,为系统中用户提供所需的计算和存储资源, 根据请求双方的私钥生成转化密钥,并对加密数据使用转换密钥进行重加密。最后将重加密数据发送给数据请求方。包括加密存储模块和发送模块。
[0101]加密存储模块,用于密钥密文加密后生成重加密的密钥密文并存储;
[0102]所述发送模块,用于根据岸端请求,将重加密的密钥密文和环境数据密文发送至岸端。
[0103](4)可信机构(Trusted authority,TA):TA 默认作为系统的完全可信实体,负责智能航行中所有节点的注册(密钥、算法证书颁发)和身份信息存储。每当一个新节点加入网络时,TA 会为其登记并根据基本信息提供身份证书和公私密钥对。
[0104]最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。