3、網(wǎng)絡安全技術
網(wǎng)絡安全應包括兩方面:一、網(wǎng)絡用戶資源的不被濫用和破壞;二、網(wǎng)絡自身的安全和可靠性。網(wǎng)絡安全主要解決數(shù)據(jù)保密和認證的問題。數(shù)據(jù)保密就是采取復雜多樣的措施對數(shù)據(jù)加以保護,防止數(shù)據(jù)被有意或無意地泄露給無關人員。認證分為信息認證和用戶認證兩方面。信息認證是指信息從發(fā)送到接收整個通路中沒有被第三者修改和偽造。用戶認證是指用戶雙方都能證實對方是這次通信的合法用戶。通常在一個完備的保密系統(tǒng)中既要求信息認證,也要求用戶認證。
加密后的數(shù)據(jù)稱為密文。未經(jīng)加密數(shù)據(jù)稱為明文。密碼學的基本原則是,必須假定破譯者知道通用的加密方法,也就是加密算法是公開的。而密匙是保密的。
傳統(tǒng)加密技術:替代密碼和換位密碼。它們的弱點是解密密匙必須和加密密匙相同。
在替代密碼中,用一組密文字母來代替一組明文字母以隱藏明文,但保持明文字母的位置不變。例如,將字母a,b,c,d,…,w,x,y,z的自然順序保持不變,但使之與D,E,F(xiàn),G,…,Z,A,B,C分別對應(即相差3個字符)。若明文為student則對應的密文為VWXGHQW(此時密鑰為3)。破譯的訣竅在于猜測密匙的長度。由于英文字母中各字母出現(xiàn)的頻度早已有人進行過統(tǒng)計,所以根據(jù)字母頻度表可以很容易對這種代替密碼進行破譯。
換位密碼:不對明文字母進行變換,只是將明文字母的次序進行重新排列,它的密匙必須是一個不含重復字母的單詞或短語。破譯換位密碼的第一步是判斷密碼類型,檢查密文中常用字母的出現(xiàn)頻率,如果符合自然語言特征,則密文是用換位密碼寫的。第二步是根據(jù)消息的上下文猜測密匙的長度,即列數(shù)。第三步是確定各列的順序。
公開密鑰算法:最主要的特點就是加密和解密使用不同的密鑰,每個用戶保存著一對密鑰--公開密鑰PK和秘密密鑰SK,因此,這種體制又稱為雙鑰或非對稱密鑰密碼體制。在這種體制中,PK是公開信息,用作加密密鑰,而SK需要由用戶自己保密,用作解密密鑰。加密算法E和解密算法D也都是公開的。雖然SK與PK是成對出現(xiàn),但卻不能根據(jù)PK計算出SK。公開密鑰算法的特點如下:用加密密鑰PK對明文X加密后,再用解密密鑰SK解密,即可恢復出明文,或?qū)憺椋篋SK(EPK(X))=X ,加密密鑰不能用來解密,即 DPK(EPK(X))≠X在計算機上可以容易地產(chǎn)生成對的PK和SK。從已知的PK實際上不可能推導出SK。
在公開密鑰密碼體制中,最有名的一種是RSA算法。RSA算法的原理:
· 用戶選擇2個足夠大的秘密的素數(shù) p和 q;
· 計算 n = p * q 和 z = ( p - 1 ) * ( q - 1 );
· 選擇一個與 z 互質(zhì)的數(shù),令其為 d;
· 找到一個 e使?jié)M足 e * d = 1( mod z) ;
若將明文劃分成一個個長度為P的數(shù)據(jù)塊,且 0<=p<=n,用P、C分別表示明文、密文,則以下2式可用于加密和解密:加密:C=P e (mod n) 解密:P=C d (mod n)
對這種體制,只有(e,n)是出現(xiàn)在公開手冊上的公開密匙(即PK)。(d,n)則是需要用戶保密的私人密匙(即SK)。RSA算法的保密性在于對大數(shù)的因數(shù)分解很花時間。因此,當n足夠大時,在目前情況下,對n進行因數(shù)分解實際上是無法實現(xiàn)的。
用戶認證:通信雙方在進行重要的數(shù)據(jù)交換前,需要驗證對方的身份。同時在雙方間建立一個秘密的會話密匙,該會話密匙用于對其后的會話進行加密。每次連接都使用一個新的隨機選擇的會話密匙。
數(shù)字簽名:以往的書信或文件是根據(jù)親筆簽名或印章來證明其真實性的。但在計算機網(wǎng)絡中傳送的報文又如何蓋章呢?這就是數(shù)字簽名所要解決的問題。數(shù)字簽名必須保證以下3點:1.接收者能夠核實發(fā)送者對文件的簽名;2.發(fā)送者事后不能抵賴對文件的簽名;3.接收者不能偽造對文件的簽名。
使用秘密密匙算法的數(shù)字簽名:是通過密鑰分配中心CA來管理和分配公開密鑰。每個用戶事先選擇好一個與CA共享的秘密密鑰,并保證只有用戶和CA知道這個密匙,另外,CA還有一個對所有用戶都保密的秘密密鑰K CA 。A想向B發(fā)送一個簽名的報文P時,首先,A向CA發(fā)出K A (B,R A ,t,P);CA解密后,重新組成新的密文KB(A,R A ,t,P,K CA (A,t,P);B再用密匙K B 解開密文,其中K CA (A,t,P)是B無法偽造的,即表示是由A發(fā)來的。時間戳t的作用是防止重復攻擊。R A 為報文的隨機編號。
使用公開密匙算法的數(shù)字簽名:現(xiàn)在已有多種實現(xiàn)各種數(shù)字簽名的方法,但采用公開密鑰算法要比常規(guī)算法更容易實現(xiàn)。實現(xiàn)方法:發(fā)送者A用其秘密解密密鑰SKA對報文X進行運算,將結(jié)果DSKA(X)傳送給接收者B。B用已知的A的公開加密密鑰得出EPKA(DSKA(X))=X。因為除A外沒有別人能具有A的解密密鑰SKA,所以除A外沒有別人能產(chǎn)生密文DSKA(X)。這樣,報文X就被簽名了。假若A要抵賴曾發(fā)送報文給B。B可將X及DSKA(X)出示給第三者。第三者很容易用PKA去證實A確實發(fā)送消息X給B。反之,如果是B將X偽造成X',則B不能在第三者面前出示DSKA(X')。這樣就證明B偽造了報文?梢钥闯,實現(xiàn)數(shù)字簽名也同時實現(xiàn)了對報文來源的鑒別。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |