您好,登錄后才能下訂單哦!
現(xiàn)代網(wǎng)絡(luò)通信中網(wǎng)絡(luò)安全是至關(guān)重要,安全的最基本的當(dāng)然就是加密與解密了,今天跟大家分享一下加密與解密的基礎(chǔ)。
安全的目標(biāo):
保密性:confidentiality
完整性:integrity
可用性:availability
***類型:
威脅保密性的***:竊聽、通信量分析;
威脅完整性的***:更改、偽裝、重放、否認(rèn);
威脅可用性的***:拒絕服務(wù)(DoS);
解決方案:
技術(shù)方面:加密和解密;
傳統(tǒng)加密方法:替代加密方法、置換加密方法
現(xiàn)代加密方法:現(xiàn)代塊加密方法
服務(wù)方面:用于抵御***的服務(wù),也即是為了上述安全目標(biāo)而特地設(shè)計的安全服務(wù);
認(rèn)證機制
訪問控制機制
加密算法和協(xié)議:
1、單向加密:即提出數(shù)據(jù)指紋;
特性:定長輸出、有雪崩效應(yīng);
功能:完整性驗證;
缺陷:只能加密,不能解密;
常用算法:MD5(128bits)、sha1(160bits)、sha224、sha256、sha384、sha512...
2、對稱加密:加密和解密使用同一個密鑰;
特性:(1)加密和解密使用同一個密鑰;(2)將原始數(shù)據(jù)分割成為固定大小的塊,逐個進行加密;
功能:加密性好,加密速度快;
缺陷:(1)密鑰過多;(2)密鑰分發(fā)困難;
常用算法:3DES(Triple DES)、AES(128bits, 192bits, 256bits, 384bits)、Blowfish、RC6...
3、公鑰加密:密鑰分為公鑰與私鑰;
私鑰:secret key,通過工具創(chuàng)建,使用者自己留存,必須保證其私密性;
公鑰:pubkey,從私鑰中提取產(chǎn)生,可公開給所有人;
特性:用公鑰加密的數(shù)據(jù),只能使用與之配對兒的私鑰解密;反之亦然;
功能:
數(shù)字簽名:主要在于讓接收方確認(rèn)發(fā)送方的身份;
密鑰交換:發(fā)送方用對方公鑰加密一個對稱密鑰,并發(fā)送給對方;
數(shù)據(jù)加密:不常用,比對稱加密要慢3個數(shù)量級;
常用算法:RSA(即可簽名,也可加解密)、DSA(只能簽名,不可加解密)、ELGamal...
介紹了以上三種加密算法,下面來具體說一下加密和解密的過程:
加密過程:
1、數(shù)字簽名:
(1)發(fā)送者使用單向加密技術(shù),提取原數(shù)據(jù)特征碼;
(2)發(fā)送者使用自己私鑰加密特征碼,并附加于原數(shù)據(jù)后方;
2、密鑰交換:
(1)發(fā)送者使用對稱加密技術(shù)對附有數(shù)字簽名的數(shù)據(jù)進行加密,并生成一個臨時對稱密鑰;
(2)發(fā)送者使用接收者的公鑰加密生成的臨時對稱密鑰,并附加于加了密的數(shù)據(jù)后方;
解密過程:
1、密鑰交換:
(1)接收者用自己私鑰解密加了密的對稱密鑰,得到臨時密鑰;
(2)接收者使用得到的臨時對稱密鑰,解密數(shù)據(jù),得到附有數(shù)字簽名的數(shù)據(jù);
2、身份認(rèn)證:接收者使用發(fā)送者的公鑰解密數(shù)字簽名,驗證發(fā)送者身份,并得到原特征碼;
3、數(shù)據(jù)完整性驗證:接收者用單向加密技術(shù),提取數(shù)據(jù)特征碼,并與原特征碼比較,驗證數(shù)據(jù)完整性
這種加密和解密的過程即能保證數(shù)據(jù)的安全性與完整性,也能保證通信雙方身份的認(rèn)證。但由于公鑰是所有人可以拿到的,所有這樣的安全機制還是有安全隱患,即中間人欺騙。不過別擔(dān)心,有CA機構(gòu)可以解決此問題,CA機構(gòu)將在后面再做詳細(xì)介紹。下面我們繼續(xù)介紹最后一種加密協(xié)議:密鑰交換。
4、密鑰交換:IKE:Internet Key Exchange
實現(xiàn)方法有兩種:
(1)公鑰加密,在講公鑰加密與加密、解密過程已說到過,不再多說;
(2)DH:Deffie-Hellman
通信雙方無需在網(wǎng)絡(luò)上傳送公鑰,通過協(xié)商生成隨機數(shù)并在網(wǎng)絡(luò)上傳送隨機數(shù),
通過計算隨機數(shù)生成密鑰。下面舉例說明:
(1)A和B為通信雙方,雙方先協(xié)商生成兩個隨機數(shù)m和n,并在網(wǎng)絡(luò)上傳送;
現(xiàn)在狀態(tài):A和B同時擁有兩個隨機數(shù)m和n;
(2)A和B再各自生成一個私有的隨機數(shù),不在網(wǎng)絡(luò)上傳送,只有自己知道自己私有隨機數(shù);
比如:A生成x隨機數(shù),B生成y隨機數(shù),且只有自己知道自己的私有隨機數(shù);
現(xiàn)在狀態(tài):A擁有3個隨機數(shù):m、n、x,其中x只有自己知道,m和n和B共享;
B擁有3個隨機數(shù):m、n、y,其中y只有自己知道,m和n和B共享;
(3)計算隨機數(shù),并將結(jié)果發(fā)送對方。
A: --> m^x%n ==> B
B: --> m^y%n ==> A
(4)收到對方的結(jié)果,再用自己私有的隨機數(shù)和結(jié)果計算,得到相同的密鑰;
A: (m^y%n)^x = m^xy%n
B: (m^x%n)^y = m^xy%n
m^xy%n即為雙方協(xié)商后計算出的密鑰,提高了安全性,即使別人獲取了m和n兩個數(shù)值,
也無法計算出x和y的數(shù)值。
接下來我們再介紹一下防止中間人欺騙CA機構(gòu),CA機構(gòu)是一個第三方可信機構(gòu),為通信方頒發(fā)證書,可讓通信方可靠獲取對方公鑰的基礎(chǔ)保證機制。他是由PKI一套架構(gòu)體系來完成的。
PKI:Public Key Infrastructure
公鑰基礎(chǔ)設(shè)施,以CA為核心生成的一套架構(gòu)體系,提供證書服務(wù),保證證書的合法性。組成部分如下:
簽證機構(gòu):CA
注冊機構(gòu):RA
證書吊銷列表:CRL
證書存取庫:CB
通過X.509v3定義了證書的結(jié)構(gòu)以及認(rèn)證協(xié)議標(biāo)準(zhǔn),結(jié)構(gòu)及標(biāo)準(zhǔn)如下:
版本號
序列號
簽名算法ID
發(fā)行者名稱
有效期限
主體名稱
主體公鑰
發(fā)行者的惟一標(biāo)識
主體的惟一標(biāo)識
擴展
發(fā)行者的簽名
那么CA是如何來保證通信雙方證書的合法性及通信雙方可靠獲取對方公鑰的呢?CA工作過各如下:
1、自簽證書:CA先給自己頒發(fā)一個證書,證書內(nèi)容如X.509v3所規(guī)定,并將證書發(fā)送給有需要的通信方。取得通信方對CA的信任,通信方并可從證書中獲取CA的公鑰;
2、CA頒發(fā)證書:通信方向CA申請注冊證書,CA將簽署好證書并在證書后方加數(shù)字簽名,再將證書頒給申請方;
3、通信方獲取并驗證證書:
(1)通信方獲取自己證書或獲取對方證書后,可用CA公鑰解密證書后方數(shù)字簽名,確認(rèn)證書確實是自己所信任的CA所頒發(fā);
(2)用同樣的單向加密算法計算證書特征碼,對比原特征碼,驗證證書完整性;
(3)檢查證書有效期,看證書是否在有效期內(nèi);
(4)驗證證書內(nèi)主體名稱,是否是通信對方的名稱;
(5)檢查證書是否被吊銷;
至此我們再來總結(jié)一下通信雙方通信過程:
1、通信方獲取CA證書,并申請取得自己證書;
2、通信雙方協(xié)商各加密算法;
3、通信雙方協(xié)商獲取對方公鑰并驗證證書;
4、發(fā)送方加密數(shù)據(jù),并發(fā)送;
5、接收方接收數(shù)據(jù),并解密驗證;
具體過程以上都介紹過,此處不再詳細(xì)說明了。
至此有關(guān)安全加密解密基礎(chǔ)的內(nèi)容就結(jié)束了。只是個人總結(jié),希望相互學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。