[log]常見的安全算法

摘要算法

是一個唯一對應一個消息或文本的固定長度的值,
由一個單向hash函數對消息進行計算而產生,
將需要計算內容“摘要成固定長度的串,這個串也稱爲數字指紋
同樣的明文其摘要必定一致

  • MD5 Message Digest Algorithm 5 ,是數字摘要算法的一種實現
    長度爲128位

  • SHA Secure Hash Algorithm 安全散列算法
    長度爲160位

  • 十六進制編碼

  • Base64 編碼 ,64個可打印字符來表示二進制數據的方法
    可以通過逆向得出編碼之前的信息
    只是一種編碼算法,將一組二進制信息編碼成可打印的字符
    在網絡上傳輸與展現

對稱加密

加密和解密都依賴同一個密鑰

  • DES Data Encryptin Standard
    獲取密鑰生成器
    這是密鑰位數,就可以生成des算法的密鑰,每次生成的都不相同

  • AES Advance Encyption Standard 高級加密標準

非對稱加密

需要兩個密鑰
一個稱爲公開密鑰
另一個稱爲私有密鑰
公私鑰需要配對使用

  • RSA 算法

數字簽名

簽名認證是對非對稱加密技術與數字摘要技術的綜合運用
將通信內容的摘要信息使用發送者的私鑰進行加密,
然後將密文與原文一起傳輸給信息的接收者,
在這裏插入圖片描述

在這裏插入圖片描述

  • MD5withRSA
    使用md5算法生成需要發送徵文的數字摘要,
    使用RSA算法來對正文進行加密和解密

  • SHA1withRSA
    使用SHA-1算法生成正文的數字摘要,
    使用RSA算法對摘要進行加密和解密

  • 數字證書
    身份證、駕駛證等
    通過和證書機構進行校驗後,確定數字證書的真假

    • X.509
      將證書信息規範地存儲到一系列可解析的字段中

    • 證書籤發
      需要數字證書認證機構Certificate Authority來進行頒發,
      只有經過CA頒發的數字證書在網絡中才具備認證性
      在這裏插入圖片描述

  • 證書校驗
    在這裏插入圖片描述

  • OpenSSl

包含一個開源的SSL協議的實現
包括SSL協議庫、密碼算法庫,以及各種與之相關的應用程序

摘要認證

針對每次請求和響應,
按照一定的規則生成數字摘要,
防止請求信息被篡改
在這裏插入圖片描述

摘要認證的實現

  • 客戶端參數摘要生成
    1. 參數排序
    2. 參數拼接,加上secrte
    3. 使用md5等摘要算法生成摘要
  • 服務端參數摘要檢驗
    1. 參數排序
    2. 參數拼接,加上secret
    3. 生成摘要
    4. 對比摘要串是否篡改
  • 服務端響應摘要生成和客戶端響應摘要校驗

在這裏插入圖片描述

簽名認證

與摘要方式類似,
不過加密的方式使用的是私鑰,
解密時使用的是公開的私鑰

https 協議

就是基於ssl的http協議

https協議能夠確保整個通信過程都是經過加密的
密鑰隨機產生
能夠通過數字證書驗證通信雙方的身份,確保信息安全,
證書中包含了一些基本信息,簽名信息等,
通信的內容使用對稱加密方式進行加密,
通信的兩端約定好通信密碼後,

公鑰加密,私鑰解密。
私鑰數字簽名,公鑰驗證。

  • SSL 安全套接層,是一種網絡安全協議
    在傳輸層與應用層之間進行數據通信的加密

  • TLS Transport Layer Security 傳輸層安全協議

  • 都可以分爲兩層

    • Record Protocol 記錄協議
    • Handshake Protocol 握手協議

記錄協議:建立在可靠的傳輸協議上TCP,對數據封裝、加解密等

握手協議建立在記錄協議上,
在實際數據傳輸開始,進行加密算法的協商,通信密鑰的交換等

在這裏插入圖片描述

在這裏插入圖片描述

真正的數據交換階段,實際上數據是通過對稱加密算法來實現加密的

OAuth授權過程

ISV第三方
consumer 用戶
platform 平臺商
在這裏插入圖片描述

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