API接口簽名校驗,如何安全保存appsecret? - 知乎 https://www.zhihu.com/question/40855191安全
要保證通常的客戶端-服務器通訊安全,可使用3個密鑰。服務器
初始密鑰是第一個,內置到app,保證最初的通訊安全,用來加密-「主加密密鑰」。此過程當中的傳輸,是最容易被攻擊的環節,能夠採用其餘輔助方式進行加密, 如HTTPS等。網絡
其次是主加密密鑰, 系統初始化以後從服務端獲取生成。保存在客戶端。重複利用。用來加密通訊密鑰。也能夠由用戶主動更新。app
還有第三個是通訊密鑰,每次登錄更新,或者按期更換,用來加密通訊數據。 此密鑰的傳輸過程使用主加密密鑰來加密。通訊密鑰就是用來加密通訊數據的。可是通常這樣使用的成本較高,因此 通常有 auth+token 便可。框架
另外,要防止被惡意攻擊,你應該關注正常的業務邏輯不被破壞, 這樣的方法有不少,大多在應用服務器進行處理。至於被重複攻擊,屬於業務邏輯和通訊框架的範圍,服務器資源不足,別人很容易玩死你。不要想着在防火牆或者網絡層進行處理,那樣的硬件/軟件系統成本過高,你用不起。徹底不被破解的傳輸是沒有的,特別是內部黑客和離職員工等,商用系統/服務須要保證的是通常的安全,以及一段時間內的安全。並積極應用各類安全措施。加密
wtoken
簽名 sign 身份標識 是誰 密鑰key 密碼 經過身份id獲取sign 以後僅經過sign而再也不須要id就能夠獲取key 拿到key後 發生action 接口