安全編程基礎
目錄
- 數(shù)據(jù)加密
- 數(shù)字簽名
- 哈希算法
- 數(shù)字簽名
- PKI體系
- 加密通信
一.數(shù)據(jù)加密
分類:
對稱加密,非對稱加密
對稱加密
構成:明文,算法,密鑰
知識點:
- 算法有 DES,AES
- 密鑰只有一個
- 私鑰不能暴露
非對稱加密
構成:明文,算法,私鑰,公鑰
知識點
- 私鑰和公鑰都可以被用作加密或者解密
- 私鑰加密的明文必須用對應的公鑰解密
- 公鑰加密的明文必須用對于的私鑰解密
- 雙密鑰加密算法有RSA等
- 公鑰是公開的,私鑰是保密的
- 任何人可以把自己的信息通過公鑰和算法加密,只有公鑰方才能解開密文
二.數(shù)字簽名
概念:
用于標記數(shù)字文件擁有者,創(chuàng)造者,分發(fā)者身份的字符串。
內(nèi)容:
驗證方提供的公鑰
三.PKI
概念
PKI全稱公鑰基礎設施。是使用非對稱加密理論,提供數(shù)字簽名,加密,數(shù)字證書等服務的體系,一般包括權威認證機構(CA),數(shù)字證書庫,密鑰備份及恢復系統(tǒng),證書作廢系統(tǒng),應用接口(API)等
四.哈希算法
概念:
哈希算法是一種從任意數(shù)據(jù)中創(chuàng)建固定長度摘要信息的辦法,對于不同的數(shù)據(jù),產(chǎn)生的信息是唯一的。常見的哈希算法包括MD5,SHA-1等
五.加密通信
1.SSL協(xié)議
概念
SSL是網(wǎng)景公司開發(fā)的位于TCP與HTTP之間的透明安全協(xié)議,可以把HTTP包數(shù)據(jù)以非對稱加密的形式往返于與瀏覽器和站點之間,從而避免被第三方非法獲取。
組成:
上層協(xié)議包括SSL握手協(xié)議,更改密碼規(guī)格協(xié)議,警報協(xié)議
下次協(xié)議包括SSL記錄協(xié)議
2.TLS協(xié)議
建立于SSL v3.0之上的兼容協(xié)議,它們的主要區(qū)別在于加密算法上
3.加密通信的流程
- 輸入HTTPS協(xié)議的網(wǎng)址
- 服務器向瀏覽器返回證書
- 驗證證書的合法性
- 瀏覽器使用證書中的公鑰加密一個隨機對稱密鑰,并將加密后的沒有和使用沒有加密后的請求URL發(fā)送給服務器
- 服務器用私鑰解密隨機對稱密鑰,并用獲取的密鑰解密加密的請求URL
- 服務器把用戶請求的網(wǎng)頁用密鑰加密,并返回給用戶
- 用戶用密鑰解密服務器發(fā)來的網(wǎng)頁數(shù)據(jù),并將其顯示出來