壹般來說,信息安全主要包括系統安全和數據安全。系統安全壹般采用防火墻、病毒查殺、防範等被動措施;數據安全主要是指利用現代密碼技術對數據進行主動保護,如數據機密性、數據完整性、數據不可否認性和否認性、雙向身份認證等。
密碼學是保證信息安全的核心技術。密碼學技術在古代就有應用,但僅限於外交、軍事等重要領域。隨著現代計算機技術的飛速發展,密碼學正不斷滲透到越來越多的其他領域。它是集數學、計算機科學、電子學和通信於壹體的交叉學科。密碼技術不僅可以保證機密信息的加密,還可以完成數字簽名、身份驗證、系統安全等功能。因此,使用密碼技術既能保證信息的保密性,又能保證信息的完整性和可確認性,防止信息被篡改、偽造和假冒。
密碼學包括密碼學和密碼分析。密碼系統的設計是密碼學的主要內容,密碼系統的解密是密碼分析的主要內容。密碼編碼技術和密碼分析技術是相互依存、相互支持、不可分割的。
密碼體制包括對稱密鑰密碼體制和非對稱密鑰密碼體制。對稱密鑰密碼系統要求加密和解密雙方擁有相同的密鑰。而非對稱密鑰密碼體制是加密和解密雙方擁有不同的密鑰,在不知道陷阱信息的情況下,加密密鑰和解密密鑰無法相互計算。
然而,密碼學不僅包括編碼和解碼,還包括安全管理、安全協議設計、哈希函數等。而且隨著密碼學的進壹步發展,出現了大量的新技術和新概念,如零知識證明技術、盲簽名、量子密碼、混沌密碼等等。
我國政府明確規定,嚴禁直接使用國外密碼算法和安全產品。這是因為:國外禁止密碼算法和產品出口,所謂出口的安全密碼算法在國外有解碼手段;擔心國外算法和產品存在“後門”,在關鍵時刻危及我國信息安全。1999國務院頒布《商用密碼管理條例》,對密碼的管理和使用做出了具體規定。目前,我國的信息安全體系由國家密碼管理委員會管理。
對稱密鑰密碼系統
對稱密碼體制是從傳統的簡單換位發展而來的。其主要特點是加密和解密雙方在加密和解密過程中應該使用相同的密鑰。DES(數據加密標準)密碼算法是應用最廣泛的。
自1977年美國頒布DES密碼算法作為美國數據加密標準以來,對稱密鑰密碼體制得到了廣泛的應用。對稱密鑰密碼系統可以分為兩類:序列密碼系統和分組密碼系統。
1.串行密碼
序列密碼壹直是軍事和外交場合使用的主要密碼技術之壹。其主要原理是利用有限狀態機產生壹個性能優良的偽隨機序列,利用該序列對信息流進行加密,得到壹個密文序列。因此,序列密碼算法的安全強度完全取決於它產生的偽隨機序列的質量。產生好的序列密碼的主要方法之壹是利用移位寄存器產生偽隨機序列。目前要求寄存器的階數大於100,以保證必要的安全性。序列密碼的優點是錯誤擴展小,速度快,易於同步,安全性高。
2.分組密碼
分組密碼的工作原理是將明文分成固定長度的分組,比如64位,用相同的密鑰和算法對每個分組進行加密,輸出固定長度的密文。
對稱密鑰密碼體制的主要問題是加密和解密雙方需要使用相同的密鑰,因此在發送和接收數據之前必須完成密鑰分發。因此,密鑰的分發成為了加密系統中最薄弱、風險最大的環節,使用的所有手段都難以保證這項工作的安全完成。這樣就延長了密鑰更新的周期,為他人破譯密鑰提供了機會。歷史上破解他國情報的方法只有兩種:壹種是在更換敵方密碼本的過程中截獲對方密碼本;另壹種是敵人的密鑰更換周期太長,長時間跟蹤才能摸清規律,被破解。在對稱算法中,雖然由於密鑰強度的增強,追蹤並找出規律破解密鑰的機會大大降低,但密鑰分發的難題幾乎無法解決。比如n方參與通信,如果n方都用同壹個對稱密鑰,壹旦密鑰被破解,整個系統就會崩潰;如果使用不同的對稱密鑰,則需要n(n-1)個密鑰,密鑰的數量與參與通信的人數的平方成正比。可見大型系統密鑰的管理幾乎是不可能的。
但由於對稱密鑰密碼體制具有加解密速度快、安全強度高等優點,現在越來越多地應用於軍事、外交和商業領域。
非對稱密鑰密碼系統
非對稱密鑰密碼系統,即公鑰密碼系統,是現代密碼學最重要的發明和進步。壹般來說,密碼學是為了保護信息傳輸的保密性,但這只是當今密碼學的壹個方面。驗證信息發送者和接收者的真實身份,事後對發送/接收信息的不可否認性,保護數據完整性,也是現代密碼學研究的另壹個重要方面。公鑰密碼系統很好地解決了這兩個問題,並不斷產生許多新的思想和方案。
1976年,為了解決密鑰分發和管理的問題,Diffie和Hellman在他們的基礎性工作《密碼學的新方向》中提出了壹個密鑰交換協議,允許通信雙方在不安全的介質上交換信息,安全地傳輸密鑰。在這種新思想的基礎上,公鑰密碼系統很快出現了。在這個方案中,密鑰是成對出現的,壹個是加密密鑰(PK公鑰),壹個是解密密鑰(SK秘鑰),無法從其中壹個推導出另壹個。加密密鑰不同於解密密鑰。加密密鑰可以公開,任何人都可以使用。解密密鑰只有解密器知道,用公鑰加密的信息只能用私鑰解密。由於公鑰算法不需要在線密鑰服務器,密鑰分發協議簡單,因此密鑰管理大大簡化。除了加密功能,公鑰系統還可以提供數字簽名。目前公鑰加密算法主要有RSA、Fertezza、EIGama等。
RSA是迄今為止最著名和應用最廣泛的公鑰密碼系統。RSA公鑰密碼系統是由R.Rivest、A.Shamir和雷納德·阿德勒曼三位教授於1977年提出的。RSA的名字來源於這三位發明家姓氏的首字母。
RSA算法開發的最初目標是解決利用開放信道傳輸和分發DES算法密鑰的問題。實際結果不僅很好地解決了這個問題,而且可以使用RSA完成消息的數字簽名,防止消息的否認和否定。同時,它還可以利用數字簽名輕松發現攻擊者對消息的非法篡改,從而保護數據信息的完整性。
公鑰的好處是用戶可能不知道某個實體,但只要其服務器認為該實體的CA(認證中心Certification Authority的縮寫)是可靠的,就可以進行安全通信,這正是Web商務等業務所要求的。例如,當通過信用卡購物時,服務提供商可以根據客戶CA的發行者的可靠性來授權其自己的資源。目前國內外還沒有壹個可以被廣泛信任的CA,外國公司在我國充當CA是非常危險的。
公鑰密碼系統比私鑰密碼系統慢,因此結合這兩種技術可以獲得最佳性能。即使用公鑰密碼技術在通信雙方之間傳輸密鑰,使用密鑰對實際傳輸的數據進行加密和解密。