網路密鑰
指在網路中使用的密鑰
網路密鑰即是指在網路中使用的密鑰。網際網路路是一個開放式的系統,任何人都可以通過它共享自己的資源,獲取需要的信息。當人們在網路上進行信息交流的時候,比如聊天、收發郵件,或者登錄需要提供個人信息的站點,這些包含著重要個人資料的信息包很可能在到達最終目的地前被第三方截獲並破解。所以保護個人隱私是網際網路路的頭等大事,而使用加密密鑰是最簡單、有效的方法。信息在發送前需要按照規則進行數據的重新排列組合,打亂了原有的數據順序,這樣即便數據包被第三方截獲
一般來說密鑰加密的方法有三種類型:對稱加密、非對稱加密和Hash加密。
密鑰的一個重要因素是它的長度——位,使用瀏覽器的時候也許你已經注意到了,在幫助中,我們可以查到某個版本瀏覽器的密鑰長度,比如密鑰長度為128,則表示這個密鑰里包含了2的128次方個密碼規則(如圖),這是一個天文數字。
也許你會問有必要要這麼大的密鑰嗎?要知道,計算機的運算能力在突飛猛進地發展,如果擁有足夠的設備和資金,破解密鑰是不成問題的。比如64位的密鑰在條件許可的情況下,以現有的技術水平,可以在三天內被完全破解。當然破解成本和信息自身價值是有關係的,如果耗費的成本遠遠大於信息內容的價值時,沒有人會願意去做這個虧本買賣的,所以目前128位的密鑰長度還是足夠安全的。
只使用了一個密鑰進行加密解密,所以也可以叫做單密鑰加密。它對密鑰本身沒有特殊的要求,通信雙方只要有一個相同的密鑰就行,一個用戶把自己需要發送的數據通過密鑰加密成混亂的信息,接受方使用相同的密鑰把接受到的信息還原成原始數據,這個方法可以在極短的時間內對大量信息進行加密解密。但是如果密鑰在傳輸過程中就被截獲,那麼以後的加密過程就形同虛設。這個方法的優點是使用同一個密鑰節省了加密解密所需的時間,但是無法保證密鑰的安全性。
目前使用對稱密鑰演演算法的是RC5、RC6、Blowfish和Twofish,其中最後兩種演演算法位數長,而且加密解密速度很快。
在加密和解密中使用了一對密鑰,一個是公用密鑰,它對外公開發布,另一個是私有密鑰,由用戶自己保存。從理論上講,這種加密方式只要是用戶的私有密鑰沒有丟失或者被竊,那麼他們之間加密的信息是絕對不會被破解的。但是它的缺點也非常明顯,就是加密速度非常緩慢。由於要進行大量的數學運算,即使加密少量的信息也需要花費大量的時間。
是通過數學運算,把不同長度的信息轉化到128位編碼中,形成Hash值,通過比較這個數值是否正確,來確定通信雙方的合法性。這也可以說是數字簽名,在數據傳輸后,可以通過比較Hash值來判斷信息途中是否被截獲修改,是否由合法的發送人發送或者合法的接收人接收等。用這種方法,可以防止密鑰丟失的問題,因為它的加密部分是隨機生成的,如果沒有正確的Hash值根本就無法解開加密部分,而且它還具備了數字簽名的能力,可以證明發送方和接收方的合法身份,具有不可抵賴性,很適用於商業信息的傳遞。目前使用的有MD4、MD5和SHA。
目前大部分網路傳輸的工具和軟體都帶有密鑰,可以通過幫助菜單下的“關於…”選項來查看使用工具的密鑰長度。
密鑰對於個人用戶來說重要性低一些,但是大部分網站或者社區論壇會要求登錄詳細的身份信息,為了保護自己的隱私(像用戶密碼、身份證件等還是比較重要,不應輕易泄漏的),還應該使用密鑰位數高的工具,或者通過補丁來增加安全性,防止個人資料的流失。