更新時間:2019-09-12 09:39:32 來源:動力節點 瀏覽2692次
API安全機制
為什么要保證API安全
接口的安全性主要圍繞Token、Timestamp和Sign三個機制展開設計,保證接口的數據不會被篡改和重復調用,下面具體來看:
Token授權機制:用戶使用用戶名密碼登錄后服務器給客戶端返回一個Token(通常是UUID),并將Token-UserId以鍵值對的形式存放在緩存服務器中。服務端接收到請求后進行Token驗證,如果Token不存在,說明請求無效。
時間戳超時機制:用戶每次請求都帶上當前時間的時間戳timestamp,服務端接收到timestamp后跟當前時間進行比對,如果時間差大于一定時間(比如5分鐘),則認為該請求失效,這個時間要保證足夠完成本次請求的同時盡量短,可以減少緩存服務器的壓力(見簽名機制)。
簽名機制:將Token和時間戳加上其他請求參數就行MD5或SHA-1算法(可根據情況加點鹽)加密,加密后的數據為本次請求的簽名sign,并將該簽名存放到緩存服務器中,超時時間設定為跟時間戳的超時時間一致(這就是為什么要盡量短,二者時間一致可以保證無論在timestamp規定時間內還是外本URL都只能訪問一次)。服務端接收到請求后以同樣的算法得到簽名,并跟當前的簽名進行比對,如果不一樣,說明參數被更改過,直接返回錯誤標識。同一個簽名只能使用一次,如果發現緩存服務器中已經存在了本次簽名,則拒絕服務。
防止別人隨便調用你的api
保證傳輸數據的安全
前后端分離mvvm模式的N宗罪;
5分鐘搞定密碼學的對稱/非對稱加密;
接口簽名,防止數據篡改之泰斗;
用代碼告訴你,令牌實現身份認證;
優雅處理身份認證,讓業務代碼更6;
數據加密
加密方法
1,對稱加密
AES,3DES,DES等,適合做大量數據或數據文件的加解密。
2,非對稱加密
如RSA,Rabin。公鑰加密,私鑰解密。對大數據量進行加解密時性能較低。
Api有哪些安全問題?http接口—前后端分離mvvm
安全夠了嗎,還有哪些要做?
身份認證—token令牌
身份認證的封裝—cookie隱式攜帶token
傳輸安全
互聯網發展到今天,大家越來越重視自己的隱私,各大公司也越來越重視數據的安全。傳輸過程中的數據安全解決方案主要是“HPPTS”,能夠有效防止中間人攻擊等。但是API中重要的參數還是要進行加密,常用DES或者AES進行加密。有見過API中密碼直接MD5后就行傳輸,但是MD5在2009年謝濤和馮登國僅用了220.96的碰撞算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數秒鐘,引自[維基百科]。
總結
安全是一個永恒的話題,隨著各大網站全站https的推進,安全也越來越被重視。簽名設計大家必須有,HTTPS希望大家有。
以上就是動力節點java培訓機構小編分享的“動力節點IT培訓帶你詳解API接口安全”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分與你。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習