动态

详情 返回 返回

通過https提供數據加密思路 - 动态 详情

目錄

  1. 概述
  2. 數據加密過程
  3. 項目中參考

    1.概述

    本文不討論https具體協議實現,只是通過分析https背後加密原理,為項目數據加密提供加密思路

    2.我們如何保護我們的數據

    1. 數據傳輸在兩端之間可能會經過很多節點,這些中間過程每一個都可能被抓包,導致要傳輸的數據被查看,篡改
    2. 我們要明白暴露的維度,允許被查看,允許被篡改,還是兩者都不允許,數據保護的越多,傳輸過程中所做的額外開銷越多
    3. 我們如何保護我們的數據-對稱加密:對我們的消息上鎖,加密和解密都用同一把密鑰,安全前提:在服務器分發鎖的中間過程中鎖不泄露,如果鎖被第三者拿到,既可以被查看,也可以被篡改,消息安全成了擺設
    4. 我們如何保護我們的數據-非對稱加密:消息採用公鑰和私鑰加鎖,解鎖,鎖被兩端分別持有,公鑰加密,私鑰解密,私鑰加密,公鑰解密;消息流轉->私鑰加密的信息,公鑰解密;公鑰加密的信息,私鑰解密;因為公鑰大家都可以拿到,所以消息由私鑰加密時,可以被查看,但是當消息被篡改時,無法用私鑰(另一把鑰匙)上鎖,換上鎖鑰匙,對端又無法解開,能發現消息被篡改,所以能避免消息篡改,但消息可以被查看
    5. 我們如何保護我們的數據-雙非對稱加密:上面的非對稱加密在一端通過私鑰加密發送消息時,因為擁有公鑰的都可以解密,導致消息泄露,於是用兩個非對稱密鑰,一段保存一個私鑰+公鑰;消息流轉->一端用公鑰A加密,只有擁有公鑰A的配對私鑰B才能解密,這一端用公鑰C加密,只有擁有公鑰C的配對私鑰D才能解密,只要私鑰不泄露,消息既不會被查看,同時也不會被篡改;!但是又有新的問題出現了,以後每次消息的傳遞都需要 一次非對稱加密和解密,非對稱加密相對於對稱加密算法更加複雜,消息之外的額外開銷更大。
    6. 我們如何保護我們的數據-非對稱加密+對稱加密:非對稱加密服務於對稱加密的密鑰,對稱加密服務於消息;一端用非對稱加密的公鑰鎖住對稱加密的密鑰,只有持有私鑰的另一端才能接口拿到對稱加密的密鑰,對稱加密的密鑰安全到達雙方,服務於以後消息傳遞

    3.項目中應該怎麼做

    評估項目的環境,消息兩方的性質,比如説如果消息發送和接收只有兩台機器,那之間對稱加密,因為密鑰的傳遞可以用物理的方式隔絕泄露;但是絕大部分情況都是服務器和多個不確定的客户端,這種必然涉及到消息密鑰的傳遞,採用第6點非對稱加密+對稱加密就是很好的方式,既可以避免消息泄露,也可以避免消息篡改。

Add a new 评论

Some HTML is okay.