由于电子海图系统中的海图数据和航海日志数据(以下称为航海数据)属于电子信息,很容易复制和修改,因此要保证航海数据在用户计算机上是不能被修改和复制(与航海作业中航海日志不能涂改的要求一样),只有采用软件和硬件相结合的加密技术对航海数据进行高强度加密,使得航海数据不能被用户随意更改,从而保证电子海图系统航海数据成为法律性依据。

一、航海数据加密技术

航海数据加密技术包括三个方面:获取安装有ECDIS的计算机硬件设备唯一性标识信息,作为计算机硬件指纹;对硬件指纹进行处理得到计算机特征码;采用加密算法对航海数据进行加密,使得航海数据在硬盘中以密文形式存储。这样做的优点在于:

①由于计算机特征码是用户计算机唯一性标识,航海数据的密文是唯一的,从而保证航海数据与计算机硬件配置的唯一关联;

②即使用户计算机硬盘丢失并且用户的口令被别人获取,加密后的数据在其它计算机上也不能被正确解密,从而最大程度的保证ECDIS中航海数据的安全。

1、计算机硬件指纹的获取

计算机硬件指纹是包含计算机的唯一性信息。主要包含如下几个方面:

①用户计算机上的每一块网卡在出厂时都有一个唯一的标志——网卡的物理地址,可以通过Win32程序调用NetBIOS中的函数得到网卡的物理地址;

②安装在计算机各种接口上的微狗,存在微狗的唯一性标识——流水号。

由于上述信息具有唯一不可重复性,可以确定用户计算机类似于人体的生物指纹具有唯一性,把该信息称为计算机硬件指纹。硬件指纹与具体的计算机用户设置无关,因此对某一台计算机来说,硬件指纹是唯一的。另外由于硬件指纹不包含计算机硬盘信息,即使用户计算机硬盘进行格式化操作或损坏,硬件指纹也不会改变。但是如果给计算机硬件指纹提供信息的硬件设备损坏或者更换,则需要重新运行检测程序来生成计算机硬件指纹。

(1)计算机网卡物理地址信息的获取

计算机网卡信息可以通过Win32程序调用Net.BIOS中的函数UCHR Netbios,从而得到用户网卡的物理地址。作者开发出获取网卡信息的一段测试程序,把这段程序嵌入到系统中,在软件的运行中进行验
证。

(2)计算机并口上RC—MH微狗流水号的获取

微狗是软件狗的升级换代产品,内部含有单片机。在作者开发的加密软件中,采用了RC-MH微狗开发套件。RC- MH微狗包括硬件和软件部分:硬件由单片机和存储器等组成;软件由对微狗硬件调用的函数组成。 RC-MH微狗有六种功能组成:查询对应的微狗是否存在,读写存储区数据,数据变换,读流水号及禁止共享。作者对航海数据加密采用内外结合加密技术(AS技术,即API函数调用与SHELL外壳加密结合的技术)。

2、计算机特征码的获取

对系统检测程序获取的计算机硬件指纹信息进行单向散列,得到一组特定的二进数,作为计算机特征码。之所以强调使用散列函数产生特征码是因为散列函数具有下列很多无可比拟的优点。

(1)散列函数输入适用于任何大小的数据分组。

(2)散列函数能产生定长的散列值。

(3)对任何给定的输入,散列函数正向计算相对容易,硬件和软件实现也比较容易。

(4)对任何给定的散列值,寻找一组数据输入使得散列值等于给定散列值,在计算上是不可行的,也就是散列函数具有不可逆性,即单向性。

经过散列运算得到的计算机特征码,是不可能被逆向分析得到计算机的硬件指纹信息的,从而最大限度保证计算机特征码的唯一性和可靠性。

3、对航海数据进行加密

大家都知道数据加密的强度不是依赖于算法的保密,而是主要依赖于算法密钥的安全性。基于这点,作者采用IDEA加密算法来实现航海数据的加密,该算法被广泛分析和研究过,公认具有较高的安全性,其加密强度完全可以保证电子海图系统航海数据的安全需求。

二、实例验证

由于加密算法的密钥直接关系到加密的安全性,作者所开发的软件采用MD5加密算法获取计算机特征码。在六台安装有电子海图系统的计算机上测试运行,这些计算机具有相同型号的硬件配置,配置均为:CPU Intel PIII 800EB MHz(133*6.O);BIOS Award Modular Bios v6. OMPG;主板技嘉GA - 60XT;内存KINGMAS PC133 128MB;网卡联想Legend DEF - 530TX PCIFAST Ethernet Adapter( Rev B);硬盘IBM - DTLA - 307030 30G。

从表中可以看出:即使硬件配置相同的计算机,由于硬件内部的标识信息不同,得到的特征码有很大的不同,得到相同特征码的几率非常小,从而保证航海数据的加密强度。

小知识之ECDIS

电子海图显示与信息系统(ECDIS)被认为是继雷达/ARPA之后在船舶导航方面又一项伟大的技术革命。从最初纸海图的简单电子复制品到过渡性的电子海图系统(ENS),ECDIS已发展成为一种新型的船舶导航系统和辅助决策系统,它不仅能连续给出船位,还能提供和综合与航海有关的各种信息,有效地防范各种险情。