iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
0
Security

資訊系統安全與 CISSP 的簡單應用系列 第 16

[Day 16] 識別與存取管理 (Managing Identity and Authentication)

  • 分享至 

  • xImage
  •  

今天我們進到 CISSP 八大領域中的第五領域:識別與存取管理。先問大家一個問題,為什麼單一簽入 (Single Sign-On, SOO) 又安全又有效率?效率和安全在這裡沒有矛盾,或是需要權衡嗎?

單一簽入 (Single Sign-On)


Single Sign-On
圖片來源:https://secure.oneallcdn.com/img/services/single_sign_on/single-sign-on.png

公布我的想法,嗯,結論是整局上的安全性是比較提升的。我的論點如下:

  1. 如果各系統自行進行識別與存取管理,那麼有的強度夠、有的強度不夠,對組織而言就形成安全的漏洞和突破點。所以我一直有一句話:「平台服務 (PaaS) 交給專業 IT 做。」
  2. 中央集中管理識別與存取管理後,我們可以透過中間網路的加密、密碼強度政策強制要求、系統 API 介面安全性需求等方法,用更經濟的資源達到更好的綜效,甚至是原本獨立的系統達不到的效果。

效率自然就不在話下了,效率好處如下:

  1. 資料整合、流程整合、使用者介面整合。
  2. 帳密同步管理,使用者體驗變好很多。
  3. 使用者只需輸入一次帳號,所以當有需要 A 系統操作完後,換操作 B 系統之作業時,流程是連貫的。

因為組織內的單一簽入是很基本的,如果您需要實作的話,可以往 Kerberos 來研究。它利用對稱性加密算法和 Tickets 來識別與查驗身份。

安全斷言標記語言 (Security Assertion Markup Language, SAML)


至於組織間的識別與存取,則可以參考 SAML,這個唉呀安總我懶得說了,直接用 CODE 說話吧。
.NET 4.5 的 Windows Identity Foundation 已內建這項功能可用,它支援了 SAML 2.0。

using System.Xml;
using System.IdentityModel.Tokens;

namespace YOUR.SPACE
{
    public class Saml2Serializer : Saml2SecurityTokenHandler
    {
        public Saml2Serializer()
        {
            Configuration = new SecurityTokenHandlerConfiguration(){};
        }
        public void WriteSaml2Assertion(XmlWriter writer, Saml2Assertion data)
        {
            base.WriteAssertion(writer, data);
        }
    }
}

這段 CODE 會將您的斷言轉為 XML 傳出。我貼這段 CODE 的目的是,示意各位 .NET 有現成套件可用,當有客人要求您要用跨組織地使用 SAML 2.0 時,先來從這段 CODE 找方向喔。以下進入重頭戲:開放授權 2.0

開放授權 (OAuth 2.0)


OAuth
現在 OAuth 2.0 被許多大型「授權服務提供商」所使用,像是 Line、Google、Microsoft、Facebook 等。有了這個,我們就能夠用 Facebook ID 去登入其他網站了,好方便啊。

它的運作流程如下:

  1. 用戶向 Web A 請求登入。
  2. Web A 向 Facebook 發出授權請求。
  3. Facebook 和 Web A 溝通了一下,握手握來握去,授權 OK。
  4. Web A 向用戶說,「XXX 您好,登入成功!」

真的,就這麼簡單,除了中間握手握來握去那邊有一些規格要遵從,但是實作完一次就變成共用元件了,對資深工程師來講不會太難。

權限範圍 (Permission Scope)


Web A 拿到我們的 Facebook 授權登入之後,Facebook 還可以提供 Web A 一些額外權限:

  1. 知道用戶的個資
  2. 變更用戶大頭照
  3. 取得用戶上傳的檔案
  4. 幫用戶預訂一個行程

取決於用戶授權 Web A,到底能夠使用 Facebook 中多少資料,也就是要賦予 Web A 多大的權限,來存取該用戶的個資。這就是我們初次授權 Web A 時,會被問的那些問題:「您是否同意...」。


2017 年有幸進入一間精神時光屋裡修練,它叫作「爭奇鬥豔館」,這名字取得好,因為在場的各位無不使出渾身解數,爭奇、鬥豔。會場提供 Open Wi-Fi、Open API、Open Data、Open Platform,有智慧城市的未來感。
hackNTU
圖片來源:https://www.facebook.com/hackNTU


上一篇
[Day 15] 通訊與網路安全 (Intrusion Detection System)
下一篇
[Day 17] 識別與存取管理 (Controlling and Monitoring Access)
系列文
資訊系統安全與 CISSP 的簡單應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言