數據傳輸加密 構建高效的網絡保密環境
互聯網給人們生活帶來了極大的便利。然而,人們在享受網絡便捷的同時,卻往往容易忽視網絡暗藏著的安全隱患。信息技術的不斷發展使得互聯網的雙刃劍效應日漸顯現。許多不法分子、不法組織或間諜機構也充分利用網絡隱蔽資源的“暗房”,將罪惡的觸角伸向他人、別國的個人隱私、戰略秘密,肆意竊取或非法傳播這些信息,以達到特定的目的。
對于企業來說,企業的財政開支狀況、項目申請及研發文檔等都是非常機密的材料,一些不法的競爭者經常通過技術手段竊取機密,使受害者遭受巨大的經濟損失,因而,我們的網絡管理人員在做好網絡防護和管理的同時,應該注意做好網絡保密工作。本文從數據傳輸保密、Http應用數據保密等多個層面來介紹如何構建高效的網絡保密環境。
SSH助力 企業數據傳輸保密
數據傳輸的保密性是網絡保密的一個重要內容,在企業網絡信息系統中,我們可以采用SSH技術及其軟件來達到這個目的。
SSH的英文全稱是Secure Shell。通過使用SSH,用戶可以把所有傳輸的數據進行加密,這樣,“中間人”這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替Telnet,又可以為FTP、POP,甚至PPP提供一個安全的“通道”。
SSH協議是建立在應用層和傳輸層基礎上的安全協議,其主要由以下三部分組成,共同實現SSH的安全保密機制:
● 傳輸層協議。該協議提供諸如認證、信任和完整性檢驗等安全措施,此外還可以提供數據壓縮功能。通常情況下,這些傳輸層協議都建立在面向連接的TCP數據流之上。
● 用戶認證協議層。用來實現服務器與客戶端用戶之間的身份認證,運行在傳輸層協議之上。
● 連接協議層。分配多個加密通道至一些邏輯通道上,它運行在用戶認證層協議之上。
從客戶端來看,SSH提供兩種級別的安全驗證:
第一種級別是基于口令的安全驗證。只要用戶知道自己的賬號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證用戶正在連接的服務器就是用戶想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。
第二種級別是基于密鑰的安全驗證。需要依靠密鑰,也就是用戶必須為自己創建一對密鑰,并把公用密鑰放在需要訪問的服務器上。如果用戶連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用用戶的密鑰進行安全驗證。服務器收到請求之后,在指定目錄下尋找用戶的公用密鑰,然后把它和用戶發送過來的公用密鑰進行比較。如果兩個密鑰一致,服務器就用公用密鑰加密“質詢”(challenge)并把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用用戶的私人密鑰解密再把它發送給服務器。
用這種方式,必須知道自己密鑰的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。第二種級別由于加密所有傳送的數據,所以“中間人”這種攻擊方式是不可能的(因為他沒有用戶的私人密鑰)。
在用戶使用SSH的過程中,需要注意SSH是由客戶端和服務端的軟件組成的,有兩個不兼容的版本分別是: 1.x和2.x。用SSH 2.x的客戶程序不能連接到SSH 1.x的服務程序上。當前,SSH技術在Windows和Linux平臺互訪及數據交換時應用非常普遍。一般情況是通過使用Linux下的SSH服務器,然后使用Putty、Secure Shell Client等Windows下的客戶端軟件來訪問。
PGP技術 保證數據傳輸安全
隨著網絡與計算機技術的發展,數據存儲與數據交換的安全性、完整性和一致性已經變得越來越重要。網絡信息安全中核心的加密技術也被應用于數據存儲和數據交換。同時,為了確保網絡數據交換時雙方身份的正確性以及不可抵賴性,簽證體系也已經日趨成熟。如何保證在不安全的網絡上安全地傳輸數據是一個難題,而基于PGP(Pretty Good Privacy)機制的加密及簽名機制就可以極大地保證網絡用戶傳輸及使用數據的安全性。
PGP是一個基于RSA公鑰加密體系的郵件加密軟件。它不但可以對用戶的數據保密以防止非授權者閱讀,還能對郵件加上數字簽名從而使收信人確信郵件是所期望的人發出,讓我們可以安全地和從未見過面的人通信,而事先不需要任何保密的渠道用來傳遞密鑰。
PGP采用了審慎的密鑰管理——一種RSA和傳統加密的雜合算法,包括用于數字簽名的郵件文摘算法、加密前壓縮等。它功能強大,速度很快。PGP的創始人PhilZimmermann創造性地把RSA公鑰體系的方便和傳統加密體系的高速度結合起來,并且在數字簽名和密鑰認證管理機制上有非常巧妙的設計,從而使得PGP成為幾乎最流行的公鑰加密軟件包。其中,RSA(Rivest-Shamir-Adleman)算法是一種基于“大數不可能質因數分解假設”的公鑰體系。簡單地說就是找兩個很大的質數,一個公開給世界,一個不告訴任何人。分別稱為“公鑰”和“私鑰”。這兩個密鑰是互補的,就是說用公鑰加密的密文可以用私鑰解密,反過來也一樣。
由于PGP使用了IDEA專利算法,所以使用PGP會有許可證的麻煩。人們想出了一些變通方法,比如在Linux環境下人們使用GnuPG,由于GnuPG并沒有用到IDEA專利算法,所以對用戶來說使用GnuPG沒有任何限制,而在功能上它和PGP是一樣的。GnuPG使用非對稱加密算法,安全程度比較高。所謂非對稱加密算法,就是每一個用戶都擁有一對密鑰: 公鑰和私鑰。其中,密鑰由用戶保存,公鑰則由用戶盡可能地散發給其他人,以便用戶與其他人通信。
使用GnuPG其實非常簡單,Linux系統中已經提供了很多命令來輔助用戶用該軟件來進行加解密以及數字簽名,包括生成公鑰/私鑰對、公鑰的導出、公鑰的導入、加密和解密、對文件進行簽名等命令。
在使用PGP的過程中,需要注意如下幾個問題:
1. 需要根據實際的應用來確定生成密鑰的算法、密鑰的長度以及密鑰的有效期限。
2.需要用戶通過交互移動鼠標、鍵盤來保證生成的密鑰對的隨機性,否則,極有可能被黑客破解。
3. 公鑰的安全是PGP安全的核心,一個成熟的加密體系必然要有一個成熟的密鑰管理機制配套。公鑰體制的提出就是為了解決傳統加密體系的密鑰分配難保密的缺點。但公鑰的發布中仍然存在安全性問題,例如公鑰被篡改,這可能是公鑰密碼體系中最大的漏洞,因為大多數新手不能很快發現這一點。使用者必須確信你拿到的公鑰屬于它看上去屬于的那個人。
4. 私鑰的保密也是決定性的。相對公匙而言,私鑰不存在被篡改的問題,但存在泄露的問題。PGP的辦法是讓用戶為隨機生成的RSA私鑰指定一個口令。只有給出口令才能將私鑰釋放出來使用,用口令加密私鑰的方法保密程度和PGP本身是一樣的,所以私鑰的安全性問題實際上首先是對用戶口令的保密。當然私鑰文件本身失密也很危險,因為破譯者所需要的只是用窮舉法試探出你的口令了,雖說很困難但畢竟損失了一層安全性。最需要注意的是,要像任何隱私一樣保藏你的私鑰,不要讓任何人有機會接觸到它。
5. 在實際的使用過程中,用戶可以將PGP軟件靈活地運用到網絡數據傳輸,包括電子郵件發送、FTP文件傳送等各個應用領域。
SSL技術 保證HTTP應用保密
Web通信通常是以非加密的形式在網絡上傳播的,這就有可能被非法竊聽到,尤其是用于認證的口令信息。為了避免這個安全漏洞,就必須對傳輸過程進行加密。對HTTP傳輸進行加密的協議為HTTP,它是通過SSL進行HTTP傳輸的協議,不但可以通過公用密鑰的算法進行加密保證傳輸的安全性,而且還可以通過獲得認證證書CA,保證客戶連接的服務器沒有被假冒。SSL是一種國際標準的加密及身份認證通信協議,一般瀏覽器都支持此協議。
SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,后來成為了互聯網安全通信與交易的標準。SSL協議使用通信雙方的客戶證書以及CA根證書,允許客戶/服務器應用以一種不能被偷聽的方式通信,在通信雙方間建立起了一條安全的、可信任的通信通道。它具備以下基本特征: 信息保密性、信息完整性、相互鑒定。該協議主要使用Hash編碼、加密技術,這里不再對這些技術進行介紹。
在SSL通信中,首先采用非對稱加密交換信息,使得服務器獲得瀏覽器端提供的對稱加密的密鑰,然后利用該密鑰進行通信過程中信息的加密和解密。為了保證消息在傳遞過程中沒有被篡改,可以加密Hash編碼來確保信息的完整性。
服務器數字證書主要頒發給Web站點或其他需要安全鑒別的服務器,以證明服務器的身份信息,同樣也可以頒發客戶端數字證書用于證明客戶端的身份。
使用公用密鑰的方式可以保證數據傳輸沒有問題,但如果瀏覽器客戶訪問的站點被假冒,這也是一個嚴重的安全問題。這個問題不屬于加密本身,而是要保證密鑰本身的正確性。要保證所獲得的其他站點公用密鑰為其正確的密鑰,而非假冒站點的密鑰,就必須通過一個認證機制,能對站點的密鑰進行認證。當然,即使沒有經過認證,仍然可以保證信息傳輸的安全,只是客戶不能確信訪問的服務器沒有被假冒。如果不是為了提供電子商務等方面對安全性要求很高的服務,一般不需要如此嚴格的考慮。
下面是使用SSL進行通信的過程:
1. 客戶端向服務器端發起對話,協商傳送加密算法。例如: 對稱加密算法有DES、RC5,密鑰交換算法有RSA和DH,摘要算法有MD5和SHA。
2. 服務器向客戶端發送服務器數字證書。比如: 使用DES-RSA-MD5這對組合進行通信。客戶端可以驗證服務器的身份,決定是否需要建立通信。
3. 客戶端向服務器傳送本次對話的密鑰,再檢查服務器的數字證書是否正確通過CA機構頒發的證書,驗證了服務器證書的真實有效性之后,客戶端生成利用服務器的公鑰加密的本次對話的密鑰發送給服務器。
4. 服務器用自己的私鑰解密獲取本次通信的密鑰。
5. 雙方的通信正式開始。
在一般情況下,當客戶端是保密信息的傳遞者時,他不需要數字證書驗證自己身份的真實性,如我們通常使用的網上銀行交易活動,客戶需要將自己的隱秘信息(如賬號和密碼)發送給銀行,因此銀行的服務器需要安裝數字證書來表明自己身份的有效性,否則將會使信息泄露。當然,對某些安全性要求很高的B2B應用,服務器端也需要對客戶端的身份進行驗證,這時客戶端也需要安裝數字證書以保證通信時服務器可以辨別出客戶端的身份,驗證過程類似于服務器身份的驗證過程。而在通常情況下,瀏覽器都會通過交互的方式來完成上述的通信過程。
用戶口令保密
目前,密碼破解程序大多采用字典攻擊以及暴力攻擊手段,如果用戶密碼設定不當,極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設定密碼的過程中,應盡量使用非字典中出現的組合字符,并且采用數字與字符相結合、大小寫相結合的密碼設置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護自己的登錄密碼。具體列出幾條設定安全密碼的參考原則如下:
● 口令長度至少為8個字符: 口令越長越好。若使用MD5口令,它應該至少有15個字符。若使用DES口令,應使用最長長度(8個字符)。
● 混和大小寫字母、混和字母和數字,包括字母和數字以外的字符(如&、$、和 > )等。
● 挑選一個你可以記住的口令。
其次,還有一些原則需要牢記:
● 不要只使用單詞或數字,不要使用現成詞匯,不要使用外語中的詞匯,也不要使用黑客術語以及個人信息。
● 不要倒轉現存詞匯: 優秀的口令破譯者總是倒轉常用詞匯,因此倒轉薄弱口令并不會使它更安全。
● 不要筆錄你的口令,也不要在所有機器上都使用同樣的口令。
另外,我們還可以通過一些工具軟件,用于在已知密文的情況下嘗試破解出明文,從而驗證當前密碼的安全程度,如John the Ripper就是這樣一個軟件。
鏈接 網絡保密的相關原則
網絡管理人員在日常的工作中,應該尤其注意如下幾方面的泄密途徑:
1. 電磁波輻射泄密: 計算機網絡在進行工作時是存在電磁波輻射的,只要有專門的接收裝置,就能接收到輻射信息從而造成泄密。它的輻射主要有四個環節: 連接線路輻射,顯示器輻射,主機輻射,輸出設備輻射。有資料顯示,在開闊地100米左右,用監聽設備就能收到輻射信號。
2. 網絡泄密: 計算機局域網的建立及其三級網、二級網、一級網的逐步建成運行,是當前網絡應用發展的方向,這些網絡的應用使分布在不同位置不同單位的計算機具有了信息傳遞的渠道,擴大了計算機的應用范圍,大大提高了工作效率和降低了行政成本,使得每個用戶終端都可利用各個計算機中存儲的文件、數據。然而,在信息共享的同時,主機與用戶之間、用戶與用戶之間存在很多的漏洞,一些未經授權的非法用戶或竊密分子通過冒名頂替、長期試探或其他辦法進入網絡系統進行竊密。另外,聯網后線路通道分支較多,輸送信息的區域也較廣,截取所送信息的條件就較便利,竊密者在網絡的任何一條分支線路上或某一個節點、終端進行截取,就能獲得整個網絡的輸送信息。
3. 操作人員泄密: 計算機操作人員的泄密是目前泄密的重災區,操作人員有可能從以下幾個方面造成泄密。(1)因無知泄密: 如不知道存儲介質有可提取還原的信息,將曾經儲存過秘密信息的存儲介質交流出去,造成泄密; (2)保密意識不強,違反規章制度泄密: 如計算機出現故障后不按規定程序修理,或者在不能處理秘密信息的計算機上處理秘密信息; 有的甚至交叉使用計算機等; (3)故意泄密,這是極少數人為了個人利益或者個人的其他目的的泄密。這屬于應該受到紀律或法律追究的行為。
4. USB泄密: 工作人員將帶有機密信息、源代碼文件、設計圖紙等重要信息的移動存儲器連接在聯接互聯網的計算機上,不知不覺中可能就被間諜軟件竊取。現在有一種隱蔽性極強的木馬病毒,不但傳染電腦,還傳染存儲盤。用戶的優盤一旦在感染了這種程序的電腦上使用,就會感染上這種病毒。如果這個優盤再用于你的辦公電腦,就會自動秘密地把你電腦上的信息復制到優盤上。下次你再次將這個盤插入上網的電腦時,就會自動將盤上的信息發送到網上指定的地點。整個過程是秘密、自動完成的,用戶很難察覺。
根據這些主要泄密途徑,網絡管理人員可以與企業高層達成共識,采取相應的手段來進行網絡保密工作,比方說采用物理網絡隔離或者GAP來對保密網絡和互聯網進行隔離,對操作人員進行培訓宣講和強調保密技術,對使用USB的安全問題進行分析和制定相關的規章進行約束等等。
另外,對于網管來說,保護系統安全還有一個最簡單有效的方法,那就是到系統發行商那里下載最新的安全補丁(這些補丁的發現極有可能是黑客的功勞,也許是他們發現了系統漏洞所在)。最后,要強調的是,要建立良好的安全意識,從最簡單的安全設置開始,合理利用安全工具。
【編輯推薦】