在當今網路的時代中,到底是如何保證資料傳輸的安全的呢?下面在原理上來闡述實現過程。
一、安全標準
網路資訊保安標準由美國國家標準與技術研究院(national institute of standards and technology,nist)制定的,標準有:
二、密碼演算法型別
1、對稱加密
對稱加密是加密和解密使用同一秘鑰。具體如下:
關鍵字說明:
明文:加密之前的文字
秘鑰:其實就是一串字串,在加密和解密時結合密碼演算法實現加密解密
密文:加密和後的字串
加密,解密演算法:des,3des,aes,blowfish,twofish,idea
對稱加密的特性:
加密和解密使用同一秘鑰
將明文分隔成固定大小的塊,逐個進行加密
缺陷:a主機和很多機器在很多機器在通行時,需要獲得每個主機的秘鑰,會導致秘鑰過多,從而導致了秘鑰傳輸不安全,身份認證和資料完整性得不到保證。
2、公鑰加密
加密和解密使用的不同的秘鑰,一般成對出現。分別稱為秘鑰和公鑰。公鑰:長度過長,現在一般都是2048為以上。
常用的加密演算法:
rsa:既可以加密也可以身份認證
dsa:只能做身份認證
elgamal:商業版的對稱加密演算法
使用這種方式的加密是加密速度慢。而且也不能保證資料的完整性,就是在 b 收到 a 的資料之後不能確保資料是否被篡改過。
所以它的應用體現在以下2方面的應用:
1、身份認證
自己私鑰加密特徵碼(指紋),對方公鑰加密,實現驗證身份
2、 ike(internet key exchange,秘鑰交換)
用對方的公鑰加密傳送給對方可能會暴力破解。因此會採用 dh 演算法來實現,類似於銀行的電子口令卡。關於 dh 的詳細介紹可參照:
3、單向加密
單向加密(資料完整性演算法):提取資料指紋,具有不可逆的特性。
常用的單向加密演算法有:md5,sha1,sha384,sha512
演算法的特點:
定長輸出:加密後的指紋是固定長度的。
雪崩效應:原檔案微小的變化都會引起指紋資訊的巨大變化。
三、網路上傳輸資料的加密過程
真正在網路上傳輸的資料時採取每種加密演算法的優點來實現,基本模型如下:
假設 a 主機要向 b 主機傳輸資料,為了保證資料的安全,大致傳輸過程是這樣的:
a主機要將傳輸的明文資訊採取單向加密演算法提取明文資料的指紋,使用 a 的私鑰加密指紋資訊,將加密後的私鑰附加到明文後面,定義這種(筆者自定義)資訊為第一次加密資訊。此時在利用某種演算法生成一串秘鑰(對稱加密的秘鑰),將第一次加密資訊結合生成的秘鑰利用對稱加密演算法生成第二次加密資訊,然後在利用 b 的公鑰資訊加密秘鑰後附加到第二次加密資訊後生成最終的加密資訊。b 主機在接收到 a 主機的加密資訊後,嘗試利用自己的私鑰解密收到的資訊,如果能解密,就會得到對稱加密的秘鑰,然後提取這個秘鈅來解密剩餘的資訊,得到對稱解密後的資料。完成這一步的工作之後,利用 a 的公鑰來驗證身份確定是 a,此時會得到明文和指紋資訊,利用相同的單向加密演算法,將提取的指紋資訊與公鑰解密後的指紋資訊對比來實現資料的完整性。
但是,上面得以實現最重要的一環是 a 如何可靠的獲取 b 的公鑰呢?
所以就出現了第三方機構 ca,通常 ca 是乙個公認的,值得信賴的機構。由它來提供相應的公鑰資訊。大致流程如下:
最重要的一環的實現如上圖,大致的流程是:a 要想獲得 b 的公鑰資訊時,首先 b 的向 ca 機構申請註冊;申請成功後 ca 會向 b 返回乙個證書,證書裡面包括的內容 b 提供的公鑰資訊和組合或者各個的名稱等資訊,有效期,最後附加的是 ca 的簽名等資訊;a 要向 b 傳輸資料時,a 首先向 b 請求獲得證書,在 b 同意後,將證書傳送給 a;a 獲得證書後會去驗證ca 的身份和完整性,此時也會詢問 ca 證書是否吊銷,一切符合條件時,a 就可以向 b 開始傳輸資料了。
四、pki
pki(public key infrastructure,公共秘鑰基礎建設):是一組由硬體、軟體、參與者、管理政策與流程組成的基礎架構,其目的在於創造、管理、分配、使用、儲存以及撤銷數字憑證(摘自維基百科)。是現代電子商務和網路安全的重要基於規範。
以上在網路上的資料傳輸過程以及 ca 認證都可由 pki 實現。
pki的組成包括:
如何保證資料安全性? 討論
1 是資料本身的安全。主要是指採用現代密碼演算法對資料進行主動保護,如資料保密 資料完整性 雙向強身份認證等 2 是資料防護的安全。主要是採用現代資訊儲存手段對資料進行主動防護,如通過磁碟陣列 資料備份 異地容災等手段保證資料的安全,資料安全是一種主動的包含措施,資料本身的安全必須基於可靠的加密演算...
ajax 如何保證資料的安全性
假如跨站偽造請求成功,怎麼保證 ajax 的資料安全性?答主 bumfod 說的確實有道理。crsf的成因在一定程度上確實是由於http有狀態的原因 cookie維持狀態 並不是我之前所說的是http無狀態的原因。在此如果有人被誤導,我表示抱歉。我們如果能驗證請求確實來是使用者確認 自願 發出的,而...
資料傳輸安全性保證
資料傳輸過程中,安全性十分重要,尤其是對於一些敏感的使用者資訊,其安全性保證更應當被重視。現代軟體開發中,無論是基於敏捷式的軟體開發,或者基於前後端分離的軟體開發,都離不開提供對外介面,而請求這些介面資料的安全性應當得到保證。保證傳輸資料的安全性,主要有以下方法 資料加密 資料加密一直是保密資料的重...