[导读] 本文提出利用计算机硬件指纹信息,处理后得到计算机特征码,作为加密算法密钥,对电子海图系统航海数据加密,从而解决ECDIS中的航海数据安全问题。
由于电子海图系统中的海图数据和航海日志数据(以下称为航海数据)属于电子信息,很容易复制和修改,因此要保证航海数据在用户计算机上是不能被修改和复制(与航海作业中航海日志不能涂改的要求一样),只有采用软件和硬件相结合的数据加密技术对航海数据进行高强度加密,使得航海数据不能被用户随意更改,从而保证电子海图系统航海数据成为法律性依据。
一、航海数据加密技术
航海数据加密技术包括三个方面:获取安装有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加密算法来实现航海数据加密,该算法被广泛分析和研究过,公认具有较高的安全性,其加密强度完全可以保证电子海图系统航海数据安全需求。 |