成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

請別再混淆OAuth 2.0和會話管理了

譯文
安全 應用安全
您是否和周圍許多開發人員一樣,時常將OAuth 2.0(以下簡稱OAuth)與Web會話管理相混淆?本文將和您討論何時該使用會話管理解決方案,以及何時該使用OAuth流。

【51CTO.com快譯】朋友,您是否和周圍許多開發人員一樣,時常將OAuth 2.0(以下簡稱OAuth)與Web會話管理相混淆?您是否因為錯誤地使用協議和技術棧,而導致各種安全問題呢?本文將和您討論何時該使用常規的會話管理解決方案,以及何時該使用某種OAuth流。

主要區別

總的說來,用戶會話管理和OAuth之間的區別主要體現在通信雙方之間的信任級別上。

我們在使用用戶會話時,通常假定通信中的一方是不可信任的(例如:您應用程序的前端),而另一方是可以信任的(例如:您應用程序的后端)。而在OAuth流中,通信的雙方都是受到信任的(例如:您應用程序的后端和第三方應用程序的后端)。當然,在某些OAuth流中,通信的某一方可能不受信任。那么在這種情況下,我們會需要“short lived”握手。下面我們主要討論的還是雙方受信任的情況。

可見,會話管理通常是指:您自己應用的后端和前端之間的通信。而OAuth是指:在您的應用(前端或后端)需要與第三方應用(例如:使用Google/Facebook登錄到您自己的應用)的后端通信時,使用Okta/Auth0來管理用戶。

讓我們以全球貿易為例,OAuth可以被看作是允許國家之間進行貿易的系統,而會話管理則是可以在國家內部進行貿易的系統。無論您是否需要與其他國家/地區交換商品(數據),您始終需要進行本地貿易(我們會在“會話管理決定OAuth”部分詳細討論)。

有關信任

通常,我們認為后端往往能夠受到應用開發人員的嚴格管控,值得用戶和其他應用程序的信任。當然,后端也可能發生數據泄露和內部威脅。不過,與諸如最終用戶電腦上的惡意軟件相比,這些安全事件對于應用開發人員來說算是“可控”的。相反,由于前端設備可能會受到社會工程技術、或惡意軟件的工具,應用程序人員無法預見性地采取任何措施來緩解或管控此類情況。因此,我們可以簡單地認為:在任何應用中,前端都是不受信任的,而后端是受信任的??梢?,我們不能夠盲目地信任從前端發送的數據,而必須始終驗證和“消毒”傳入的數據,將風險降至最低。

會話管理決定OAuth

為了說清楚這種依賴關系,讓我們假設有兩個應用程序:YourApp和OtherApp,它們使用授權代碼(Authorisation code)流,來實現彼此通信。為簡便起見,我們省去了通過客戶端密碼、或用于代碼交換的證明密鑰(Proof Key for Code Exchange,PKCE)等授權代碼的步驟。

YourApp具有如下組件:

  • 不受信任的前端
  • 可選的后端服務器

OtherApp具有如下組件:

  • 不受信任的前端
  • 后端

下面,讓我們看看不同的訪問模式:

(1) YourApp擁有一個后端服務器

  • a) YourApp的前端需要訪問YourApp的后端服務器
  • b) YourApp的前/后端需要訪問OtherApp的后端服務器。

(2) YourApp沒有后端服務器

  • a) YourApp的前端需要訪問OtherApp的后端服務器

訪問模式1. a)

如上圖所示,其中的一種方法是在前端和后端之間簡單地使用會話管理。當然,如果您使用到了諸如Okta或Auth0之類的外部身份管理方案,則可以采用如下方法:

  • YourApp的前端將用戶重定向到OtherApp(如圖1.1處)。在此,用戶登錄到OtherApp的前端,該前端通過會話管理(如圖1.2處)與后端進行對話。
  • 驗證成功后,OtherApp的后端會發出一個short lived的訪問令牌(因為它不能確定前端是否能夠安全地存儲不變的long lived刷新令牌),并存儲在YourApp的前端。
  • 接著,YourApp的前端使用該訪問令牌與YourApp的后端進行對話。
  • 該訪問令牌過期后,此用戶將被重定向到OtherApp的前端。如果OtherApp的前端和后端之間的會話還有效,那么YourApp的前端會通過授權碼,立即頒發一個新的訪問令牌。否則,用戶就必須重新登錄。

訪問模式1. b)

  • 用戶通過YourApp的前端登錄到YourApp的后端。兩者之間的數據,通過會話管理來進行交換。
  • 用戶在OtherApp的前端(被重定向到如圖2.1處)進行自我身份驗證。同時,OtherApp的前端通過會話管理(如圖2.2處)與后端進行對話。
  • 驗證成功后,OtherApp的后端會發出一個short lived的訪問令牌(存儲在YourApp的前端和/或后端)、以及一個long lived的刷新令牌(僅存儲在YourApp受信任的后端)。
  • 接著,YourApp的前端/后端可以使用訪問令牌與OtherApp的后端進行對話。
  • 該訪問令牌過期后,YourApp的后端可以使用該刷新令牌來獲取新的訪問令牌,將其發送到YourApp的前端。

訪問模式2. a)

  • YourApp的前端將用戶重定向到OtherApp(如圖1.1處)。在此,用戶登錄到OtherApp的前端,該前端通過會話管理(如圖1.2處)與后端進行對話。
  • 驗證成功后,OtherApp的后端會發出一個short lived的訪問令牌(因為它不能確定前端是否能夠安全地存儲不變的long lived刷新令牌),并存儲在YourApp的前端。
  • 接著,YourApp的前端使用該訪問令牌與OtherApp的后端進行對話。
  • 該訪問令牌過期后,此用戶將被重定向到OtherApp的前端。如果OtherApp的前端和后端之間的會話還有效,那么YourApp的前端會通過授權碼,立即頒發一個新的訪問令牌。否則,用戶就必須重新登錄。

至此,我們不難看出,無論兩個應用如何相互通信,都始終需要會話的管理。

令牌的不同類型

正如上文分析中所提到的,Oauth采用了short lived訪問令牌和long lived刷新令牌。而會話管理只需要“一次性地使用”刷新令牌(也稱為旋轉刷新令牌,請參見--

https://tools.ietf.org/html/rfc6819#section-5.2.2.3),以發送并存儲在前端。有關會話流的安全性分析,請參見--https://bit.ly/2LoHzTT。

此外,OAuth和會話管理還使用到了不同類型的令牌。在OAuth中,如果OtherApp發出的訪問令牌,被用于YourApp的前端和后端之間的通信,則此令牌必須是JWT。據此,YourApp的后端可以驗證該令牌,且不必調用OtherApp的后端。實際上,JWT就是為了滿足這一確切需求而發明的。

在會話管理中,訪問令牌既可以是Opaque(一種長隨機字符串),又可以是JWT。它們在具體使用中的優點和缺點,請參見--《你需要知道的用戶會話安全都在這里!》一文

(https://netsecurity.51cto.com/art/202006/617887.htm)。

總結

OAuth和會話管理之間的核心區別是在信任上。使用會話管理,我們可以在不受信任的一方(前端)和受信任的一方(同一個應用的內部)之間維持長期有效的連接。而使用OAuth,則可以在兩個受信方(通常是不同服務的后端)之間,維持長期的、經過身份驗證的連接。

原標題:OAuth 2.0 vs session Management ,作者: Advait Ruia 

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:趙寧寧 來源: 51CTO
相關推薦

2025-03-04 10:45:19

JVM內存模型Java

2025-05-30 03:15:00

2010-07-19 17:44:26

Telnet命令

2020-06-18 10:48:44

Linux 系統 數據

2025-04-15 02:00:00

API版本項目

2018-03-26 09:17:53

LinuxTlog會話錄制

2025-04-11 05:55:00

2025-02-05 09:28:04

2020-02-05 09:00:00

深度學習機器學習人工智能

2022-08-25 08:00:00

授權框架OAuth 2.0服務器

2017-04-13 17:42:56

華為

2021-08-05 23:15:19

大數據隱私工具

2011-08-19 11:10:54

SQL Server DBCC OPENTR會話查詢事務

2010-06-18 10:00:55

網絡策略管理

2010-04-14 09:56:09

無線網絡AP基礎知識

2019-07-10 10:06:24

面試官三次握手四次揮手

2021-08-02 06:49:46

OIDC認證協議

2024-11-08 13:13:58

2022-04-20 11:03:28

Linux內存管理

2015-01-14 14:02:51

SDN
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av电影手机版 | 国产精品久久久亚洲 | 国产精品视频500部 a久久 | 成人在线视频网址 | 日韩手机在线看片 | 国产精品日韩在线观看 | 一级片在线播放 | 国产一区二区精品在线 | 欧美成人免费在线视频 | 一级片在线观看 | 成人免费视频一区二区 | 精品国产一区二区三区av片 | 精品二三区| 男插女下体视频 | 91一区二区三区 | 韩日在线视频 | 日韩精品免费视频 | 激情五月婷婷丁香 | 欧美日本一区 | 久色一区 | 亚洲欧美日韩电影 | 黄色片在线网站 | 国产亚洲一区精品 | 成人教育av | 国内精品在线视频 | 在线观看免费观看在线91 | 91网站在线看 | 8x国产精品视频一区二区 | 欧美激情在线观看一区二区三区 | 日韩高清中文字幕 | 久久国产欧美一区二区三区精品 | 在线啊v | 久久久国产一区 | 2一3sex性hd | 久久久久亚洲视频 | 国产成人在线视频 | 国产高清视频在线观看播放 | 精品久久久久久中文字幕 | 性国产丰满麻豆videosex | 成人a视频片观看免费 | 成年人免费网站 |