使用不同金鑰的旋轉n字元密碼
對稱金鑰加密技術
傳送端和接收端要共享相同的金鑰k才能進行通訊。傳送端用共享的金鑰來加密報文,並將得到的密文傳送給接收端。接收端收到密文,並對其應用解密函式和相同的共享金鑰,恢復出原始的明文對稱金鑰加密演算法為編/解碼使用相同的金鑰
流行的對稱金鑰加密演算法包括:des、triple-des、rc2和rc4。金鑰長度與列舉攻擊金鑰長度取決金鑰值的位數,列舉攻擊方式是通過暴力破解所有金鑰值
建立共享金鑰
對稱金鑰加密技術的缺點之一:傳送者與接收者在互相對話之前,一定要有乙個共享的保密金鑰。
公開金鑰加密技術沒有為每對主機使用單獨的加密/解密金鑰,而是使用了兩個非對稱金鑰:乙個用來對主機報文編碼,另乙個用來對主機報文解碼。加密系統對報文進行簽名(sign),以說明誰編寫的報文並且未被篡改過。這種技術被稱為數字簽名。數字簽名通常是用非對稱公開金鑰技術產生的。因為只有所有者才知道其私有金鑰,所以可以將作者私有金鑰當作一種「指紋」使用
解密的數字簽名流程,如下圖:
數字證書(通過被稱作」certs」)包含了由某個受信任組織擔保的使用者或公司的相關資訊。證書的主要內容:1、物件的名稱;
2、過期時間;
3、證書發布者(由誰為證書擔保);
4、來自證書發布者的數字簽名。
典型的數字簽名格式,如下圖:
x.509 v3證書
「`html
用證書對伺服器進行認證字段 | 描述
版本 這個證書的x.509證書版本號。現在使用的通常都是版本3
序列號 證書頒發機構(ca)生成的唯一整數。ca生成的每個證書都要有乙個唯一的序列號
簽名演算法id 簽名所使用的加密演算法。使用,「用rsa加密的md2摘要」
證書頒發者 發布並簽署這個證書的組織名稱,以x.500格式表示
有效期 此證書何時有效,由乙個起始日期和乙個結束日期來表示
物件名稱 證書中描述的實體,比如乙個人或乙個組織。物件名稱是以x.500格式表示的
物件的公開金鑰資訊 證書物件的公開金鑰,公開金鑰使用的演算法,以及所有附加引數
發布者唯一的id 可選的證書發布者唯一識別符號,這樣就可以重用相同的發布者名稱
物件唯一的id 可選的證書物件唯一識別符號,這樣就可以重用相同的物件名稱
擴充套件 可選的擴充套件欄位集
證書的頒發機構簽名 證書頒發機構用指定的簽名演算法對上述所有字段進行的數字簽名
伺服器證書
基礎方案-完整版:nginx修改配置
https如何加密server
* 特點:加解密快,消耗小於1ms,256位安全
* 分為兩種:
https安全層-ssl && tls* 特點:加解密非常慢,需要消耗9ms,2048位安全
* 加密演算法:rsa
如何確定公鑰的身份?
公鑰基礎設施:public key infrastructure,如下圖:
https握手過程
https加速
https加密套件,如下圖:
keyless方案 - 計算集群
keyless方案 - 金鑰復用
其他優化
tcp fast open
hsts
防止https計算型攻擊
其他優化 - 硬體加速
aes:有加速 小於1ms(1kb - 13mb)
終端:未來也會有
保護HTTP的安全
如果沒有嚴格的限制訪問的許可權,公司放在伺服器上的重要文件就存在隱患,web需要有一些安全的http形式 安全方法 基本認證 摘要認證 報文完整性檢查都是一些輕量級的方法,但還不夠強大,下面介紹更加強大的一些方法 服務端認證 客戶端認證 完整性 客戶端和伺服器的資料不會被修改 加密 客戶端和服務端的...
保護HTTP的安全
如果沒有嚴格的限制訪問的許可權,公司放在伺服器上的重要文件就存在隱患,web需要有一些安全的http形式 安全方法 基本認證 摘要認證 報文完整性檢查都是一些輕量級的方法,但還不夠強大,下面介紹更加強大的一些方法 服務端認證 客戶端認證 完整性 客戶端和伺服器的資料不會被修改 加密 客戶端和服務端的...
介面安全保護策略
開放介面時最基本需要考慮到介面不應該被別人隨意訪問,而我也不能隨意訪問到其他使用者的資料,從而保證使用者與使用者之間的資料隔離。這個時候我們就有必要引入token機制了。具體的做法 在使用者成功登入時,系統可以返回客戶端乙個token,後續客戶端呼叫服務端的介面,都需要帶上token,而服務端需要校...