航海數(shù)據(jù)加密方法

由于電子海圖系統(tǒng)中的海圖數(shù)據(jù)和航海日志數(shù)據(jù)(以下稱為航海數(shù)據(jù))屬于電子信息,很容易復(fù)制和修改,因此要保證航海數(shù)據(jù)在用戶計算機上是不能被修改和復(fù)制(與航海作業(yè)中航海日志不能涂改的要求一樣),只有采用軟件和硬件相結(jié)合的加密技術(shù)對航海數(shù)據(jù)進行高強度加密,使得航海數(shù)據(jù)不能被用戶隨意更改,從而保證電子海圖系統(tǒng)航海數(shù)據(jù)成為法律性依據(jù)。

一、航海數(shù)據(jù)加密技術(shù)

航海數(shù)據(jù)加密技術(shù)包括三個方面:獲取安裝有ECDIS的計算機硬件設(shè)備唯一性標識信息,作為計算機硬件指紋;對硬件指紋進行處理得到計算機特征碼;采用加密算法對航海數(shù)據(jù)進行加密,使得航海數(shù)據(jù)在硬盤中以密文形式存儲。這樣做的優(yōu)點在于:

①由于計算機特征碼是用戶計算機唯一性標識,航海數(shù)據(jù)的密文是唯一的,從而保證航海數(shù)據(jù)與計算機硬件配置的唯一關(guān)聯(lián);

②即使用戶計算機硬盤丟失并且用戶的口令被別人獲取,加密后的數(shù)據(jù)在其它計算機上也不能被正確解密,從而最大程度的保證ECDIS中航海數(shù)據(jù)的安全。

1、計算機硬件指紋的獲取

計算機硬件指紋是包含計算機的唯一性信息。主要包含如下幾個方面:

①用戶計算機上的每一塊網(wǎng)卡在出廠時都有一個唯一的標志——網(wǎng)卡的物理地址,可以通過Win32程序調(diào)用NetBIOS中的函數(shù)得到網(wǎng)卡的物理地址;

②安裝在計算機各種接口上的微狗,存在微狗的唯一性標識——流水號。

由于上述信息具有唯一不可重復(fù)性,可以確定用戶計算機類似于人體的生物指紋具有唯一性,把該信息稱為計算機硬件指紋。硬件指紋與具體的計算機用戶設(shè)置無關(guān),因此對某一臺計算機來說,硬件指紋是唯一的。另外由于硬件指紋不包含計算機硬盤信息,即使用戶計算機硬盤進行格式化操作或損壞,硬件指紋也不會改變。但是如果給計算機硬件指紋提供信息的硬件設(shè)備損壞或者更換,則需要重新運行檢測程序來生成計算機硬件指紋。

(1)計算機網(wǎng)卡物理地址信息的獲取

計算機網(wǎng)卡信息可以通過Win32程序調(diào)用Net.BIOS中的函數(shù)UCHR Netbios,從而得到用戶網(wǎng)卡的物理地址。作者開發(fā)出獲取網(wǎng)卡信息的一段測試程序,把這段程序嵌入到系統(tǒng)中,在軟件的運行中進行驗
證。

(2)計算機并口上RC—MH微狗流水號的獲取

微狗是軟件狗的升級換代產(chǎn)品,內(nèi)部含有單片機。在作者開發(fā)的加密軟件中,采用了RC-MH微狗開發(fā)套件。RC- MH微狗包括硬件和軟件部分:硬件由單片機和存儲器等組成;軟件由對微狗硬件調(diào)用的函數(shù)組成。 RC-MH微狗有六種功能組成:查詢對應(yīng)的微狗是否存在,讀寫存儲區(qū)數(shù)據(jù),數(shù)據(jù)變換,讀流水號及禁止共享。作者對航海數(shù)據(jù)加密采用內(nèi)外結(jié)合加密技術(shù)(AS技術(shù),即API函數(shù)調(diào)用與SHELL外殼加密結(jié)合的技術(shù))。

2、計算機特征碼的獲取

對系統(tǒng)檢測程序獲取的計算機硬件指紋信息進行單向散列,得到一組特定的二進數(shù),作為計算機特征碼。之所以強調(diào)使用散列函數(shù)產(chǎn)生特征碼是因為散列函數(shù)具有下列很多無可比擬的優(yōu)點。

(1)散列函數(shù)輸入適用于任何大小的數(shù)據(jù)分組。

(2)散列函數(shù)能產(chǎn)生定長的散列值。

(3)對任何給定的輸入,散列函數(shù)正向計算相對容易,硬件和軟件實現(xiàn)也比較容易。

(4)對任何給定的散列值,尋找一組數(shù)據(jù)輸入使得散列值等于給定散列值,在計算上是不可行的,也就是散列函數(shù)具有不可逆性,即單向性。

經(jīng)過散列運算得到的計算機特征碼,是不可能被逆向分析得到計算機的硬件指紋信息的,從而最大限度保證計算機特征碼的唯一性和可靠性。

3、對航海數(shù)據(jù)進行加密

大家都知道數(shù)據(jù)加密的強度不是依賴于算法的保密,而是主要依賴于算法密鑰的安全性?;谶@點,作者采用IDEA加密算法來實現(xiàn)航海數(shù)據(jù)的加密,該算法被廣泛分析和研究過,公認具有較高的安全性,其加密強度完全可以保證電子海圖系統(tǒng)航海數(shù)據(jù)的安全需求。

二、實例驗證

由于加密算法的密鑰直接關(guān)系到加密的安全性,作者所開發(fā)的軟件采用MD5加密算法獲取計算機特征碼。在六臺安裝有電子海圖系統(tǒng)的計算機上測試運行,這些計算機具有相同型號的硬件配置,配置均為:CPU Intel PIII 800EB MHz(133*6.O);BIOS Award Modular Bios v6. OMPG;主板技嘉GA - 60XT;內(nèi)存KINGMAS PC133 128MB;網(wǎng)卡聯(lián)想Legend DEF - 530TX PCIFAST Ethernet Adapter( Rev B);硬盤IBM - DTLA - 307030 30G。

從表中可以看出:即使硬件配置相同的計算機,由于硬件內(nèi)部的標識信息不同,得到的特征碼有很大的不同,得到相同特征碼的幾率非常小,從而保證航海數(shù)據(jù)的加密強度。

小知識之ECDIS

電子海圖顯示與信息系統(tǒng)(ECDIS)被認為是繼雷達/ARPA之后在船舶導(dǎo)航方面又一項偉大的技術(shù)革命。從最初紙海圖的簡單電子復(fù)制品到過渡性的電子海圖系統(tǒng)(ENS),ECDIS已發(fā)展成為一種新型的船舶導(dǎo)航系統(tǒng)和輔助決策系統(tǒng),它不僅能連續(xù)給出船位,還能提供和綜合與航海有關(guān)的各種信息,有效地防范各種險情。