第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

REST身份驗(yàn)證方案的安全性

REST身份驗(yàn)證方案的安全性

幕布斯6054654 2019-12-07 13:39:45
背景:我正在為REST Web服務(wù)設(shè)計(jì)身份驗(yàn)證方案。這并不是“真正”需要安全的(它更多是一個(gè)個(gè)人項(xiàng)目),但我想使其與練習(xí)/學(xué)習(xí)經(jīng)驗(yàn)一樣安全。我不想使用SSL,因?yàn)槲也幌肼闊?,而且在大多?shù)情況下也不需要設(shè)置它的開銷。這些SO問題對于我入門特別有用:RESTful身份驗(yàn)證保護(hù)REST API / Web服務(wù)的最佳做法最佳SOAP / REST / RPC Web API的示例?你為什么喜歡他們?那他們怎么了?我正在考慮使用Amazon S3身份驗(yàn)證的簡化版本(我喜歡OAuth,但對于我的需求而言似乎太復(fù)雜了)。我在請求中添加了服務(wù)器提供的隨機(jī)生成的隨機(jī)數(shù),以防止重放攻擊。要解決這個(gè)問題:S3和OAuth都依賴于對請求URL以及一些選定的標(biāo)頭進(jìn)行簽名。他們都沒有在 POST或PUT請求的請求主體上簽名。這難道不容易受到中間人攻擊,這種中間人攻擊會保留url和標(biāo)頭并用攻擊者想要的任何數(shù)據(jù)替換請求正文?似乎我可以通過在已簽名的字符串中包含請求正文的哈希值來預(yù)防這種情況。這樣安全嗎?
查看完整描述

3 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊

先前的答案僅在數(shù)據(jù)傳輸?shù)纳舷挛闹刑岬搅薙SL,實(shí)際上并未涵蓋身份驗(yàn)證。


您真的在問有關(guān)安全認(rèn)證REST API客戶端的問題。除非您使用TLS客戶端身份驗(yàn)證,否則單獨(dú)使用SSL 并不是REST API可行的身份驗(yàn)證機(jī)制。沒有客戶端身份驗(yàn)證的SSL僅對服務(wù)器進(jìn)行身份驗(yàn)證,這與大多數(shù)REST API無關(guān),因?yàn)槟_實(shí)要對客戶端進(jìn)行身份驗(yàn)證。


如果您不使用TLS客戶端身份驗(yàn)證,則需要使用基于摘要的身份驗(yàn)證方案(例如Amazon Web Service的自定義方案)或OAuth 1.0a甚至HTTP Basic身份驗(yàn)證(但僅通過SSL)。


這些方案驗(yàn)證請求是由預(yù)期的人發(fā)送的。TLS(SSL)(無客戶端身份驗(yàn)證)可確保通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)保持不受干擾。它們是分開的,但又是互補(bǔ)的。


對于那些感興趣的人,我擴(kuò)展了一個(gè)關(guān)于HTTP身份驗(yàn)證方案及其工作原理的SO問題。


查看完整回答
反對 回復(fù) 2019-12-07
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

REST意味著使用Web標(biāo)準(zhǔn),而Web上“安全”傳輸?shù)臉?biāo)準(zhǔn)是SSL。其他任何事情都會變得很時(shí)髦,并且需要為客戶端進(jìn)行額外的部署工作,這將必須具有可用的加密庫。

原則上,一旦您提交SSL,實(shí)際上就不需要花哨的時(shí)間了。您可以再次使用Web標(biāo)準(zhǔn)并使用HTTP Basic auth(隨每個(gè)請求一起發(fā)送的用戶名和秘密令牌),因?yàn)樗染脑O(shè)計(jì)的簽名協(xié)議要簡單得多,并且在安全連接的情況下仍然有效。您只需要確保密碼永遠(yuǎn)不會覆蓋純文本即可。因此,如果曾經(jīng)通過純文本連接收到密碼,則您甚至可能會禁用密碼并向開發(fā)人員發(fā)送郵件。您還應(yīng)該確保憑據(jù)在收到后不會記錄在任何地方,就像您不會記錄常規(guī)密碼一樣。

HTTP摘要是一種更安全的方法,因?yàn)樗梢苑乐箓鬟f秘密令牌。而是服務(wù)器可以在另一端驗(yàn)證的哈希值。如果您已采取上述預(yù)防措施,對于不太敏感的應(yīng)用程序可能會顯得過高。畢竟,用戶的密碼已經(jīng)在他們登錄時(shí)以純文本格式傳輸(除非您在瀏覽器中進(jìn)行了一些精美的JavaScript加密),并且同樣在每次請求時(shí)都存儲了他們的cookie。

請注意,使用API,客戶端最好傳遞令牌-隨機(jī)生成的字符串-而不是開發(fā)人員使用其登錄網(wǎng)站的密碼。因此,開發(fā)人員應(yīng)該能夠登錄到您的站點(diǎn)并生成可用于API驗(yàn)證的新令牌。

使用令牌的主要原因是,如果令牌被泄露,可以將其替換,而如果密碼被泄露,則所有者可以登錄到開發(fā)者的帳戶,并對其進(jìn)行任何操作。令牌的另一個(gè)優(yōu)點(diǎn)是您可以向同一開發(fā)人員發(fā)行多個(gè)令牌。也許是因?yàn)樗麄儞碛卸鄠€(gè)應(yīng)用程序,或者是因?yàn)樗麄兿胍哂胁煌L問級別的令牌。

(已更新,以涵蓋僅使用SSL進(jìn)行連接的含義。)


查看完整回答
反對 回復(fù) 2019-12-07
  • 3 回答
  • 0 關(guān)注
  • 564 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號