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