2017.W42 - OAuth 2 - 資安

Andrew avatar
By Andrew
at 2017-10-17T23:43

Table of Contents

2017.W42 - OAuth 2
> 感謝師 (ㄏㄞˋ) 傅 (ㄎㄜˋ) 賜我吃穿

## 前言 ##
認證系統真的很多 每個服務都需要記帳號密碼實在是很煩惱

既擔心 EYNY 論壇的密碼洩漏 影響 gmail 的安全性

又擔心密碼太多 會忘記 FC2 的登入密碼



## 認證 ##
OAuth 2[1] 是一個繼承 OAuth[1] 的一種認證標準

主要讓用戶 (Client) 透過受使用者信任的第三方 (OAuth Provider) 提供認證的服務



在 OAuth 的腳色可以分為三種

- 使用者 (End User)
- 用戶 (Client)
- 服務提供者 (OAuth Provider)

藉由使用者先向提供者認證之後 透過轉址導回到用戶的服務網站

詳細的流程 (Code Grant) [3] 可以分解成以下幾種步驟

而最終用戶透過從使用者獲得的一次性 Code 來跟服務提供者換 Access Token

這個 Access Token 則是代表使用者在服務提供者的一個 Token

可以透過這個 Token 獲得使用者的相關資料


使用者 用戶 服務提供者

登入
---------------->
重導向:登入
------------------>

重導向:Code
<------------------------------------------


重導向:Code
---------------->

背景: Code
------------------->

背景:Access Token
<-------------------




Code Grant 是四種 OAuth 2 定義中換取 Access Token 的方式之一

也是大多數之名 OAuth 2 provider 提供的方式之一

像是 Facebook[4]、Google[5]、GitHub[6] 等



使用 OAuth 2 對於三方面來說都是擁有好處

但在使用 OAuth 2 的過程中需要注意潛在的安全性風險:

過多的資訊請求 與 釣魚網站

過多的資訊請求 代表在用戶跟服務提供者要求過多的權限

正常的權限請求大致包含:名稱、e-mail 等

而過多的請求則是包含發文權限、歷史紀錄查詢等絕大多數不需要的權限







[1]: https://tools.ietf.org/html/rfc6749
[2]: https://zh.wikipedia.org/wiki/OAuth
[3]: https://tools.ietf.org/html/rfc6749#section-4.1
[4]: https://developers.facebook.com/docs/facebook-login/
[5]: https://developers.google.com/identity/protocols/OAuth2
[6]: https://developer.github.com/apps/building-integrations/setting-up-and-registering-oauth-apps/

--
Tags: 資安

All Comments

Rachel avatar
By Rachel
at 2017-10-19T13:06
push

2017.W41 - Bounty Program (賞金計畫)

Ingrid avatar
By Ingrid
at 2017-10-10T20:56
2017.W41 - Bounty Program (賞金計畫) andgt; Bounty 跟新創一樣 第一份報告很重要 ## 前言 ## 處理公司的 Bounty Program 活動都會遇到蠻極端的幾種狀況 1- 寫得很專業 幾乎可以馬上判斷是否是安全問題 2- 寫得很爛 光來回詢 ...

google傳來警訊,這是被駭了嗎?

Isla avatar
By Isla
at 2017-10-09T16:57
昨天下午跑去台北火車站周邊與地下街逛,大約七點回家,晚上10點半gmail傳了訊息說and#34; and#34;警告:有人試圖使用您的密碼登入帳戶,不過 Google 已攔截這項可疑活動。and#34; 立即查看活動紀錄,google攔截到有不明裝置利用我的密碼登錄gmail,但因為我有 開啟二階段認 ...

看電影學資安-CSI Cyber S01E05

Jessica avatar
By Jessica
at 2017-10-06T14:30
喜歡CSI-Cyber的朋友大家好 我們是ISDA(台灣資訊安全聯合發展協會) 為了要讓更多人了解資訊安全,除了基礎資訊安全教育訓練以外 我們將針對CSI-Cyber 系列裡面會提到的技術作一系列的資訊安全解說 也歡迎認同我們的朋友給我們一點鼓勵 到我們的F ...

2017.W40 - SUID (Set User ID)

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2017-10-04T11:32
2017.W40 - SUID (Set User ID) andgt; 中秋烤肉注意飲食安全 不然就會跟我一樣當一整天爛泥 ## 前言 ## 本地提權 (Local Privilege Escalation)[0] 是一個嚴重的安全性問題 可以讓原本低權限的操作環境 因這個漏洞而變成 root 等 ...

2017.W39 - SIEM (資安事件管理平台)

Annie avatar
By Annie
at 2017-09-27T00:31
2017.W39 - SIEM (資安事件管理平台) andgt; 躺平的時候突然驚醒 原來昨天忘記做重要的事情了 ## 前言 ## Log 很重要 Log 很重要 Log 很重要 因為很重要 所以要說三次 有多重要? 駭客做完事情之後都會清 Log 所以 Log 保全很重要 ## 內 ...