APP下载

基于物联网的跨域通航智能识别算法研究∗

2020-10-30

舰船电子工程 2020年9期
关键词:数字证书跨域密钥

(西安翻译学院 西安 710105)

1 引言

随着信息化进程的加速和经济的高速发展,我国内河航运水上运输装备迅速增长,船舶的通航安全、水上活动、出厂管理成为水上运输管理工作的重点[1~3]。对于跨域通航而言,由于船舶运输的特性,各个航运水域的管理部门均不一致,水上航运的现实安全问题愈加突出,导致内河航运船舶管理认证彼此不能兼容,严重影响船联网的建设发展。因此,如何加强安全管理,提高通航效率,实现船舶身份的智能化高效认证和识别逐渐成为该领域的研究热点[4~6]。为保障各航道间船舶的安全管理,包括船舶出厂、通航、服役等的管理问题,国内外学者进行了大量研究。刘佳等[7]以湖南省海事局监控为研究背景,采用传感器技术实现船舶目标的智能化识别,利用数据产生模块对传感器获取的特征信息进行数据生成,能够为有关部门提供船舶信息。Heeb N V等[8]利用高斯建模法进行背景建模,采用背景差分法对运动区域船舶目标进行提取,但是会出现目标丢失的情况。KeHan等[9]对船舶的监控与异常航行行为进行研究,建立了视觉监控模型,并对异常航行行为进行了分析,在船舶目标检测方面取得了不错的成果。本文基于物联网提出了跨域船舶智能识别算法,通过对系统组成和工作流程进行设计与分析,提出了MD5散列算法、树型信任模式、RSA加密算法以及身份认证算法,将系统进行模块化设计,实现了跨域船舶智能身份识别过程,具有重要的现实意义。

2 关键算法设计

2.1 散列算法研究

MD5算法的输入按512bit的分组处理,算法过程如下[10]:

1)对消息进行填充保证其长度与448模512同余;

2)将初始消息附加在步骤1)的结果后,生成字节信息,字节长度为

3)在运算过程中设置4个长度为32位的链接变量,如下:

链接变量设置后,将链接变量剪切运算到新变量:A→a,B→b,C→c,D→d。每次运算任意选取a、b、c、d中的三个变量输入至非线性函数,几种非线性函数为

式中:⊕为异或运算;~为非运算;∨为或运算;∧为与运算;

余下的变量与计算结果相加作为子分组与常数。

4)完成分组处理计算,输出128 bit值。

在Eclipse 4.5.2环境下对船舶基本信息进行加密。信息摘要算法为单向哈希函数,输出固定长度的哈希值。对船舶类型、识别号、标签号以及船舶所属区域等基本信息进行2×104次加密。MD5算法用时为17ms,运算速度明显优于SHA-1算法。

2.2 RSA算法研究

RSA算法输入明文和输出密文都是0~n-1之间的整数,是一种分组的非对称密码算法[11]。该算法由密钥的生成、加密以及解密三部分组成,其安全性由大数分解素数难易程度来决定。

1)密钥生成

计算欧拉函数Φ(n)=(p-1)(q-1)和n=p·q;p、q为大素数;选取密钥 e(1<e<Φ(n))且gcd(Φ(n),e);计算解密密钥 d,使其满足d·e=1(modΦ(n)),d存在且唯一。输出私钥PR={e,n},公钥PU={e,n}。

2)RSA加密

将明文分为长度为k的组块,k=[log2(n-1)],看作k位二进制整数,取值在0到(n-1)之间。加密算法为:

C为0~n-1之间长度为k的密文分组。

3)RSA 解密

对密文分组C,解密运算为

2.3 身份认证算法研究

用户使用Key Tool将私钥存于本地密钥库,通过数字证书输出公钥。当船舶到达船闸时,RFID电子设备自动读取船舶身份信息,对其身份的准确性和合法性进行验证[12]。船舶管理员身份认证过程如图1所示。

图1 船舶管理员身份认证算法流程图

算法过程如下[4~5]:1)客户端提交身份认证请求以及数字证书;2)服务器提取证书编号,并验证其是否有效;3)若数字证书有效,继续验证用户名和密码是否一致;若数字证书无效,拒绝认证;4)对用户名和密码的一致性进行验证,若二者匹配验证一致,中心服务器产生随机数并传输至客户端;5)客户端通过私钥进行数字签名,将其发送给服务器;6)服务器用公钥来进行验证;若错误,拒绝认证客户端身份;若正确,确认客户端身份。通过散列算法和RSA数字签名使用数字证书的船舶识别算法流程,如图2所示。

图2 跨越通航智能识别算法流程设计

3 系统功能模块设计

系统的设计应完成不同船闸、港口、航道以及流域之间船舶跨域航运过程中的信息安全交换和身份认证工作,实现跨域智能识别的场景需求[6]。跨域通航智能识别系统的功能组成,如图3所示。

图3 跨域通航身份认证系统模块组成

3.1 CA认证模块设计

CA认证是以RA模块提交的用户申请为依据对用户进行服务。密钥对的相关管理包括密钥产生、存储、分发和备份等功能。数字证书和密钥对相互关联地由CA认证模块产生,同时反馈给RA。由于船联网属于横向和纵向分布管理方式,为提高船舶航运管理的效率,CA认证模块采用树状信任模型,如图4所示。

图4 CA信任体系模型

船舶管理机构需要获取证书信息,建立网上公共信息库作为撤销证书和颁发证书列表的集中存放地,供公众开放式查询。数字证书查询和下载设计流程如图5所示。

图5 数字证书查询请求下载设计

3.2 RA模块设计

图6 申请数字证书设计流程

CA服务器收到证书申请后,对证书模板、证书有效参数和证书申请表进行检查。根据系统策略配置,生成授权码和参考号。证书申请设计流程如图6所示。

船舶管理机构在注册数字证书时,提交船户和船舶基础信息,并与船舶识别号相关联。用户注册证书流程如图7所示。

图7 用户注册设计流程

3.3 数据存储模块设计

数据存储模块存储的数据表包括证书表、字证书申请表和船舶基本数据等。船舶管理数据库中记录着船舶的基本信息,对每一个合法船舶进行识别。船舶基本信息表设计如表1所示。

表1 船舶基本信息表设计

数字证书申请表的基本信息如表2所示,包括[8]:处理状态、类别、时间、标识符和流水号。其中处理状态为通过审核和不通过审核,分别用0和1表示。时间和流水号由系统自动生成,申请类别包括三种状态,分别为证书请求、证书撤销、证书更新,分别用0、1和2表示。

表2 数字证书申请表设计

存储证书的基本信息,包括:MD5值、密钥唯一标识符、截止日期、证书有效、证书序列号和证书版本,主键为Serial Number。证书状态分为两种状态:未撤销和已撤销,分别用0、1表示。数字证书基本信息设计,如表3所示。

表3 数字证书基本信息设计

3.4 密钥管理模块设计

密钥管理是归档、删除、分配、存储、产生密钥的应用,通过密钥管理系统实现密钥的可用性要求、保密性要求以及完整性要求。密钥的保密保证了所有的密码技术的安全,密钥长度的选择与具体的应用有关,包括破译者的计算能力、保密期限长短、加密数据的重要性等。不同种类的密钥类型产生的方法不同。在非对称密钥管理中,基于RAS算法生成密钥对,以数字证书的形式传送至船舶管理机构,并记录公钥和私钥信息。

4 跨域通航识别系统验证

以A区域船舶运送货物至B区域为例,利用仿真实验,对跨域通航识别算法的精确性进行验证。跨域通航身份认证验证系统包括信息采集、处理单元和人机交互界面。其中信息采集单元将船舶信息传送至处理端后台,解密、识别后传送到交互界面端,完成船舶身份的识别验证。

船舶通行管理端对船舶基本信息进行注册,通过船舶管理机构访问控制列表的管理,对用户身份信息进行认证。主要工作为系统初始化后,理员通过数字证书、户名和密码实现登录。管理员进入管理端后,对船舶进行身份信息录入以及加密存储。首先,船舶的基本信息用MD5加密后得到摘要值,然后将摘要值通过RSA算法加密并进行保存。以上步骤说明在储存船舶基本信息时,是通过加密之后的密文进行存储的。对于注册过的船舶,可以通过管理端进行删除或修改。

A区域注册登记的船舶进入B区域时,岸基设备对船舶密文信息进行检测。在对称加密方式中,以数字证书的形式将对称密钥发布到A区域CA认证模块,并传输至总部数据库。B区域船舶管理用户下载其数字证书后通过对称密钥对密文信息进行解密。当密文信息是通过RSA算法加密时,私钥相对应的公钥以公钥证书的形式上传至A区域CA认证模块。A区域的船舶在B区域进行解密时,下载相对应的公钥证书,并通过公钥对密文进行解密。

通过MD5方式解密时,客户端对船舶电子标签信息进行MD5加密,得出摘要值后与经过非对称或对称算法的摘要值对比,若二者相等,表明船舶身份验证成功。船舶进入到B区域后,通过识别过程、解密过程,得了船舶的身份信息,通过系统后台运行确认能否通过系统检测,若检测通过,船舶能够进行系统通航。

5 结语

在互联网技术高速发展的背景下,基于物联网提出了跨域船舶智能识别算法,通过对系统进行设计,该系统能够初步识别船舶过闸身份。从安全角度来分析,系统身份认证技术的设计是基于数字证书,具有真实性、保密性和完整性等特点,为安全应用服务提供了保障。数字证书由CA认证模块签发,其他船舶机构无法修改,基于数字证书技术的使用,提高了系统的安全性,能够有效解决船舶拥堵现象,保障了内河航运船舶跨区域身份认证快速、安全的执行,推动了跨域船舶智能识别技术的发展。因此,随着智慧交通的发展,跨域船舶身份识别关键技术将拥有更好的应用前景。

猜你喜欢

数字证书跨域密钥
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
幻中邂逅之金色密钥
幻中邂逅之金色密钥
G-SRv6 Policy在跨域端到端组网中的应用
Android密钥库简析
PKI技术在SSLVPN中的应用
数字签名保护Word文档
“新都市电影”中的男性明星——身体、阶层与跨域想象
一种新的动态批密钥更新算法