淺析現代密碼學和網絡安全協議分析

一、對稱加密算法

在這裏插入圖片描述

1.特點

加密密鑰==解密密鑰

2,加密方法

2.1流密碼
(1)同步流密碼
    指加密時每一次加密一位或一個字節的明文
    同步性 無錯誤傳遞性 主動攻擊性
    音頻/視頻數據提供版權保護
(2)自同步流密碼
    自同步流密碼是一種有記憶變換的密碼。每一個密鑰與已產生的固定數量的密文位有關,*密鑰由已生成的密文決定*
    自同步行 錯誤傳遞有限性 主動攻擊性 明文擴散性

代表:RC4、SEAL

2.2 分組密碼
指加密時將明文分成固定長度的組,用同一密鑰和算法對每一塊加密,輸出也是固定的長度的,*常用於網絡加密*
DES
ESede、3DES、Triple DES
AES
TEA
PBE
2.2.1電子密碼本模式
EBC:每次加密均產生獨立的密文分組,每組的加密結果不會對其他分組產生影響

缺點:
不能隱藏明文的模式,如果明文重複,對應的密文也會重複
優點:    
易於理解,便於實現並行操作,沒
有誤差傳遞問題
用途:
適用於加密密鑰,隨機數等短數據,如DES

在這裏插入圖片描述

CBC:加密前需要先與前面的密文進行異或(XOR)操作後在加密

優點:
只要選擇不同的初始向量(即不同的異或指)即使產生重複的信息也不會產生相同的密文,無法破解還原
缺點:
不利於並行計算,一旦出錯,則會將
錯誤無限放大
用途:
計算機產生檢測數據完整性的消息認證碼MAC
CFB:密文反饋模式
OFB:輸出反饋模式
CTR:計數器模式

二、非對稱加密體系

1介紹

非對稱加密分爲兩個密鑰,一個公開,一個保密。公開的密鑰稱爲++公鑰++,保密的密鑰稱爲++私鑰++
在這裏插入圖片描述
甲方(發送方)用私鑰加密數據向乙方發送數據,乙方(接收方)接收到數據後使用公鑰
解密數據。
乙方(發送方)用公鑰加密數據向甲方發送數據,甲方(接收方)接收到數據後使用私鑰
解密數據。

非對稱密碼算法的安全性完全依賴於基於計算複雜度的難題,例如RSA源於整數因子分解問題

三、散列函數

1前言

在講到對稱密碼體質的流密碼實現方式時,曾經提到過對於信息完整性驗證需要其他技術來支持,這種技術就是散列函數提供的信息認證技術

2 特點

散列函數,也叫做"哈希函數","信息摘要函數","單向函數或者湊雜函數"
作用:
用於驗證數據的完整性的重要技術

消息認證流程
在這裏插入圖片描述

3 特性

(1)消息長度不受限制
(2)對於給定消息,其散列值很容易計算
(3)如果兩個散列值不相同,則這兩個散列值的原始輸入消息也不同,這個特性使得散列函數具有"確定性"的結果
(4)散列函數運算"不可逆"
(5)抗弱碰撞性,防止被僞造
(6)任意兩個不同的消息散列值"一定不同"

例子:
MD ——————> 信息摘要算法
SHA ——————>安全散列算法
MAC ——————>消息認證碼算法

四、數字簽名

1.介紹

散列函數保證數據內容的完整性,數字簽名用來確保數據來源的可認證性發送行爲的不可否認性

2.簽名者和簽名算法概念

簽名者:
執行數字簽名的實體成
簽名算法:
簽名過程中所使用的算法
驗證算法:
驗證簽名真僞的算法

流程:

發送者通過網絡將信息連同其數字簽名一起發送給接受者,接受者在得到消息及其數字簽名後,可以通過驗證算法,來識別簽名者和驗證簽名的真僞

其中:
RSA,是最常用的簽名算法
DSA,算法是典型的數字簽名算法,雖然其本身不具備數據加密和解密的功能

數字簽名滿足一下三個基本要求:

(1)簽名者任何時候都無法否認自己曾經簽發的數字簽名
(2)信息接受者能夠驗證和確認收到的數字簽名,但任何人無法僞造信息發送者的數字簽名
(3)簽名真僞發生爭議是,可以通過仲裁機構進行仲裁

數字簽名認證流程
在這裏插入圖片描述
例如:

假設甲方擁有私鑰,並且甲方將公鑰發佈給乙方;當甲方作爲消息的發送方時,甲方使用私鑰對消息做簽名處理,然後將消息加密後連同
數字簽名發送給乙方。乙方使用已獲得的公鑰對接收到的加密消息做解密處理,然後使用公鑰

安全係數要求比較高的企業會使用雙向認證,即使用兩套公私鑰

五、網絡安全協議解析

1.相應的概念

客戶端和服務器的聯接,實質上都是聯接服務器的"IP地址"和"開放端口"
POST:
客戶端提交數據給服務器
GET:
客戶端獲取服務器的數據
HTTPS協議:
https = http + ssl/tls
socket通信:
socket = tcp/udp = http/ftp

2.不同協議對應抓包工具

(http/https):
fidder/charels

(Socket,tcp):
wireshark/sniffer

(防止代理):
小米wifi+wpe

3.安卓手動抓包方式

adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap   //開始抓包
Ctrl+c                        //結束抓包
adb pull /sdcard/capture.pcap  
//導出文件

4.Http,Https

Http訪問過程:

在這裏插入圖片描述
由於HTTP請求C/S之間沒有任何的身份確認過程,是極不安全的

HTTPS訪問過程

第一步:對傳輸的信息進行加密,服務器和客戶端雙方共享一個密鑰,這也就是之前所研究的對稱加密
在這裏插入圖片描述

第二步:更改繁瑣的對稱加密方式,改用公鑰和私鑰來實現傳輸,即非對稱加密
在這裏插入圖片描述

第三步:非對稱加密的缺陷在於黑客可以通過不安全傳輸過程中獲取公鑰,即 ④中服務器發送的私鑰加密信息也有可能被黑客通過公鑰解密,因此
可以採取對稱加密非對稱加密結合的方式進行安全傳輸
在這裏插入圖片描述
若採取上述的加密方式,存在兩個個問題,
(1)客戶端獲取如何獲取公鑰,(2)客戶端如何確認服務器的正確性

下面就來解決這兩個問題

(1)目前普遍採用獲取公鑰的方式是,客戶端通過申購服務器(已被第三方認證過的)的"SSL"或者"TSL"證書
(2)客戶端獲取到證書後,馬上通過訪問證書相關的信息,來進行確認

最後通過這些實現了HTTPS的安全傳輸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章