正文 1.4 網絡安全機製(1 / 2)

1.4.1加密

信息存儲和傳輸過程中,存在被非法訪問、嗅探和截獲的可能,為了保障信息的保密性,最好的辦法是對信息進行加密,加密是指用加密算法(E)和密鑰(K1)對明文(P)進行運算,使其成為無法正常識別的密文(Y)的過程。而解密是加密的逆過程,是指用解密算法(D)和密鑰(K2)對密文(Y)進行運算,重新得到明文(P)的過程。

式(1.1)是加密公式,式(1.2)是解密公式,式(1.3)是還原明文過程。如果加密密鑰K1=解密密鑰K2,稱加密解密算法為對稱密鑰算法,如果加密密鑰K1≠解密密鑰K2,稱加密解密算法為不對稱密鑰算法。由於加密和解密運算都是改變信息內容的過程,隻是改變過程互逆,因此,兩者可以互換,即EK1(DK2(P))=DK2(EK1(P))=P。

除非同時獲悉密鑰K2和解密算法,否則,即使獲得密文,也無法解讀密文包含的內容,即無法還原密文對應的明文。

1.4.2身份鑒別

電子商務中,時常需要驗證信息發送者的身份,鑒別就是驗證發送者身份的過程,因此,為了實現鑒別,發送者發送的信息中需要包含用於確認其身份的內容,簡單的鑒別通過檢測封裝信息的IP分組的源IP地址實現,由於存在源IP地址欺騙攻擊,這種檢測方法已經無法鑒別發送者身份,常見的鑒別機製是給發送者分配一個密鑰K,該密鑰K隻有發送者和鑒別發送者身份的鑒別者知道,當發送者給鑒別者發送信息P時,發送給鑒別者的是P‖EK(P),‖表示串接操作符,用於將兩串信息合並在一起,如“123456”‖“ABCD”=“123456ABCD”,E是對稱密鑰算法中的加密算法。鑒別者用加密算法E對應的解密算法D和密鑰K對附在信息P後麵的密文進行解密,如果解密結果等於信息P(DK(EK(P))=P),就表示發送者擁有密鑰K,發送者身份得到確認。

1.4.3完整性檢測

為了防止信息傳輸過程中被篡改,接收端需要能夠檢測出信息是否被篡改的機製,這種機製稱為完整性檢測機製。在構成傳輸信息的幀結構(如MAC幀)時,通常附加檢錯碼,檢錯碼C是需要傳輸的信息P的一種函數,即C=F(P)(F是某種函數),當P發生改變時,C隨之發生改變,好的檢錯碼一是要求長度固定,和信息P長度無關,且為了減少開銷,長度盡可能小;二是能夠檢測出信息P的任意改變,即隻要P‘≠P,F(P’)≠F(P)。事實上,這兩個要求是相悖的,因此,好的檢錯碼隻是在兩者之間取得較好的平衡。發送端發送的消息是P‖C(C=F(P)),如果傳輸過程中P改變為P‘,但C沒有改變,接收端根據F(P’)≠C確定P或者C在傳輸過程中發生改變,這就是檢錯碼的檢錯原理。單純用檢錯碼是無法檢測出信息是否被篡改的,因為,篡改者將P改變為P‘的同時,可以將C改變為C’,且使C‘=F(P’)。 保證接收端能夠檢測出被篡改的信息的前提是使篡改者無法同時改變信息P和檢錯碼C,為了做到這一點,發送端發送的消息是P‖EK(C)(C=F(P),密鑰K隻有發送端和接收端知道),這樣,接收端檢測信息是否被篡改的過程如下:根據接收到的信息重新計算檢錯碼,然後將重新計算的檢錯碼和對密文解密運算後的結果比較,如果兩者相等,表示信息沒有被篡改,如果兩者不相等,表示信息已經被篡改,由於篡改者無法知道密鑰K,因此,篡改者隻能改變信息P,無法重新根據改變後的信息P‘,計算EK(C’)(C‘=F(P’)),導致接收端能夠檢測出被篡改的信息。當然,這種檢測機製必須保證篡改者無法根據P,產生P‘,且使P≠P’,但F(P)=F(P‘),否則,篡改者如果將信息P改變為P’,那麼接收端是無法檢測出這種改變的。簡單的檢錯碼算法很難做到這一點,因此,需要提出一種新的算法F,根據目前的計算能力能夠保證:對於任何長度的P,無法得出P‘,P≠P’,但F(P)=F(P‘)。這種不同於檢錯碼的算法稱為報文摘要算法,也稱哈希函數,用MD(P)表示,其中P表示任意長度的信息。

1.4.4訪問控製

訪問控製保證每一個用戶隻能訪問網絡中授權他訪問的資源。用戶可以通過兩種途徑訪問終端中的信息:一是物理接觸終端,通過將信息複製到移動媒介實現信息的訪問;二是通過網絡實現信息的遠程訪問。訪問控製主要限製後一種的訪問過程。實現訪問控製需要分兩步進行:一是控製終端接入網絡;二是控製用戶對信息的訪問。控製終端接入網絡保證隻允許授權用戶終端接入網絡。

用戶終端接入以太網前,先向鑒別者注冊,由鑒別者對注冊後的用戶分配用戶名和口令,同時在鑒別者的注冊數據庫中記錄下用戶的注冊信息和分配的用戶名和口令。當某個用戶終端接入以太網時,首先向鑒別者發送用戶名和口令,鑒別者在注冊數據庫中檢索接入用戶發送的用戶名和口令,如果檢索到相同的用戶名和口令對,就表示接入用戶是授權用戶,允許他通過以太網訪問網絡中的信息資源,否則,予以拒絕。接入用戶以明文方式向鑒別者傳輸用戶名和口令是不可取的,因為,經過網絡傳輸的任何信息都有可能被截獲或嗅探,因此,必須通過一種安全的方式向鑒別者傳輸用戶名和口令。接入用戶先向鑒別者發送用戶名,鑒別者如果在注冊數據庫中檢索到該用戶名,就用隨機數生成器產生一個隨機數,並將該隨機數發送給接入用戶,接入用戶將該隨機數和自己的口令串接,然後對串接操作後的結果進行報文摘要運算,並將運算結果發送給鑒別者,鑒別者根據保持的隨機數和注冊數據庫中的口令進行同樣的運算,並將運算結果和接入用戶發送的運算結果進行比較,如果相等,就表示是授權用戶,否則,予以拒絕。以太網中往往由交換機充當鑒別者的角色。為了保證接入用戶口令的傳輸安全,報文摘要算法必須是單向的,即無法通過C=MD(P)導出P。