api签名_使用签名保护基于HTTP的API
api簽名
我在EMC上的一個平臺上可以構(gòu)建SaaS解決方案。
與越來越多的其他應(yīng)用程序一樣,該平臺具有基于RESTful HTTP的API。
使用JAX-RS之類的開發(fā)框架,構(gòu)建這樣的API相對容易。
但是, 正確構(gòu)建它們并不容易。
建立基于HTTP的API的問題
問題不僅僅在于功能的發(fā)布。 我們知道如何開發(fā)軟件 ,并且可用的REST / HTTP框架和庫使公開功能變得容易。
但是,那只是故事的一半。 還有更多的-ilities考慮。
在REST架構(gòu)風(fēng)格解決其中的一些,如可擴展性和進(jìn)化能力 。
如今,許多基于HTTP的API都聲稱是RESTful的,但實際上不是 。 這意味著他們并未獲得REST可以帶來的所有好處。
我將在以后的文章中更多地討論如何幫助開發(fā)人員滿足REST體系結(jié)構(gòu)風(fēng)格的所有限制。
今天,我想著重介紹API的另一個非功能性方面: 安全性 。
基于HTTP的API的安全性
在安全方面,我們關(guān)心CIA-triad: 機密性 , 完整性和可用性 。
Web服務(wù)的可用性與Web應(yīng)用程序的可用性并沒有很大的不同,這是眾所周知的。 我們有集群,負(fù)載均衡器,而沒有什么, 通常我們的狀態(tài)很好。
另一方面,機密性和完整性都需要正確的身份驗證 ,在這里事情變得更加有趣。
基于HTTP的API的身份驗證
對于HTTP世界中的身份驗證 ,請看一下HTTP Authentication 。
該RFC描述了基本身份驗證和摘要身份驗證。 兩者都有缺點 ,這就是為什么您看到許多API使用替代方法的原因。
幸運的是,這些替代方案可以使用RFC中定義的相同基本機制。 該機制包括狀態(tài)碼401 Unauthorized以及WWW-Authenticate , Authentication-Info和Authorization標(biāo)頭。 請注意,不幸的是, Authorization標(biāo)頭的名稱錯誤,因為它用于身份驗證,而不是authorization 。
最后一個難題是自定義身份驗證方案 。 例如, Amazon S3身份驗證使用AWS自定義方案。
使用簽名對基于HTTP的API進(jìn)行身份驗證
AWS方案依賴簽名 。 其他服務(wù)(例如EMC Atmos )也使用相同的方法。
因此,很高興看到已經(jīng)提出了新的IETF草案以標(biāo)準(zhǔn)化基于HTTP的API中簽名的使用。
標(biāo)準(zhǔn)化使框架和庫的構(gòu)建成為可能,這將降低實現(xiàn)身份驗證的成本,并使構(gòu)建更安全的API更容易。
翻譯自: https://www.javacodegeeks.com/2013/08/securing-http-based-apis-with-signatures.html
api簽名
總結(jié)
以上是生活随笔為你收集整理的api签名_使用签名保护基于HTTP的API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓换头像的软件叫什么(安卓换头像)
- 下一篇: 用Rocker制作模板