• 沒有找到結果。

CDSASS安全性探討

第四章 跨網域校務單一登入系統(CDSASS)

4.3 CDSASS安全性探討

在使用者進行單一登入過程中,可能會遇到不可預知的攻擊或安全性的問題,我們將 對本系統所提供的安全服務分為身分識別與認證、機密性、完整性、防止重送攻擊、權限 存取控制、稽核、單一登入等七項來逐一探討,並說明本系統如何確保單一登入過程的安 全性。

身分識別與認證(Identification and Authentication)

認證性是讓使用者和伺服器可以互相驗證對方的身分是否合法,並且不會遭受到第三

使用者利用此安全的 Cookie 向伺服器請求服務;伺服器檢查使用者所傳送的 Cookie 是否合法,若合法則回傳使用者請求的資源。

完整性(Integrity) 們將 Hash(ID)、IP、Cookie 過期時間、加密的 Session id 與 Server key 透過 SHA-1 運算後與存放在 Cookie中的Hmac欄位值比對,以保障資料的完整性。

防止重送攻擊(Anti-replay)

重送攻擊是指第三者竊取通訊雙方的認證訊息,並原封不動地將訊息送出,以假扮成 原訊息發送者的身分,進而取得相關服務。

本系統利用IP_cookie來做為防止重送攻擊的第一道防線。只要使用者來源IP與Cookie 中的IP值不符,則無法成功登入;另外,由於使用者每次登入之後,均會派發新的會議金 鑰(Session id),而且登出之後會將該次登入的相關會議金鑰廢止,所以並無法重複使 用上一次所得到的會議金鑰。但並非每位使用者離開時都會點選登出選項,因此我們也提 供使用者暫時性Cookie(Session Cookie)的功能,只要使用者關閉瀏覽器,系統便會刪 除存放在使用者電腦中的Cookie,以防止重送攻擊的事件發生。

存取控制(Access Control)

存取控制(Access Control)[16]是一種管理模式,詳細規定了使用者可以從事哪些 動作,並限制使用者做出危害系統安全的動作。

由於以角色為基礎的存取控制(Role-Base Access Control)具備三個基本安全原 則[2][11][20],因此本系統為了提升存取控制的安全性,以傳統 RBAC 為基礎,整合了 DRBAC和TT-RBAC的優點,利用群組(Group)、團隊(Team)和任務(Task)來簡化角色的權限設 定,讓我們的權限存取控制更具有彈性。由於我們的角色值與角色權限皆儲存在資料庫中,

因此我們設計一個以網頁為基礎(Web-Based)的管理介面,來進行權限存取管控的動作,

以提升管理的效率。

稽核(Audit)

稽核功能是記錄系統的重要訊息,讓管理者可以隨時注意系統是否有任何的異常狀況 或資料庫資料是否被修改。

本系統在使用者進行登入時,便會記錄使用者的IP來源、登入時間以及登入成功或失 敗的訊息。且當使用者異動密碼或惡意攻擊者以管理者身分重新指派角色與權限設定時,

皆會記錄在稽核資料表中。因此管理者可以很快速的察覺系統的問題,進一步採取管制措 施或將資料復原,以確保系統的安全性。

單一登入(Single Sign-On)

單一登入就是讓使用者經過一次身分認證後,而不需要重覆輸入認證資訊,就可以獲 得適當的權限。

使用者第一次要使用系統所提供的服務時,需要在登入頁面輸入合法的帳號、密碼,

這時使用者所得到的認證成功訊息及角色權限都會被儲存在 Session 當中,此後使用者在 有效時間內,如果要登入其他外部服務網站時,就不需要再重新輸入帳號、密碼,因為系 統會去讀取 Session 中的認證訊息及角色權限,以確認使用者身分的合法性,並代替使用 者進行代理登入(Agents sign)的動作,以符合單一登入的特性,並減少資安問題的發生。

相關文件