存取控制過程

存取控制過程

對一個資料庫,不是所有的用戶都要(能)存取所有的數據。一個用戶必須獲得對所請求的數據的適當授權才能對其進行相應的操作。用來檢查用戶對數據的存取許可權的過程稱為存取控制。存取控制可以在物理層邏輯層進行,可以以“自主”(即用戶可以改變許可權的)方式或“強制”(即不能由單個用戶改變的系統規則的)方式進行。

基本介紹

  • 中文名:存取控制過程
  • 外文名:access control procedure
  • 層次:記憶體層、過程層和邏輯層
  • 實現存取:被授權、許可權施加對象及授予許可權
  • 控制策略:自主控制和強制控制
  • 套用學科:計算機原理
存取控制的層次,記憶體存取控制,過程存取控制,邏輯存取控制,實現存取控制,存取控制策略,自主存取控制,強制存取控制,

存取控制的層次

一般有三個存取控制與保護的層次:記憶體層、過程層邏輯層

記憶體存取控制

這一級存取控制不一定是具體控制用戶關於數據對象的存取許可權,而是控制對象的存儲容器,即控制記憶體單元不被未授權的用戶存取。在容器中的對象收到與容器同一級別的控制保護,使在被保護的容器中的內容都是安全的。具體的實現方法可以是物理的,如採用地址界限暫存器、存儲鑰匙等;也可以用邏輯的方法,即虛擬空間,如頁面/片段控制表。物理方法藉助於作業系統的功能即可實現;邏輯的方法則依其存取控制方案不同而異,僅靠作業系統的“保護圈”(protestion ring)已不能滿足要求。

過程存取控制

過程存取控制就是程式存取控制。程式被授權的用戶執行、並依其創建者的存取權來運算元據。具體地,過程存取控制就是按照程式的調用、返回和參數傳遞來監控其執行。
在過程存取控制中,還有過程之間相互調用問題,通過“同心圓機制” (concentric ring mechanism)控制,凡處於更 外層的過程比更內層的過程具有更少的特權。外層的過程要與內層的過程通信,必須通過一個或多個“安全門”(security gate) ,但內層對外層通信則不需要。所謂安全門就是許可權檢查。
存取控制過程

邏輯存取控制

邏輯存取控制就是控制存取對象的邏輯結構,如檔案、記錄、欄位等,而不管對象在何處,它是是實際的還是虛擬存儲結構,它將用戶的存取許可權和保護措施與邏輯結構相聯。

實現存取控制

為了實現存取控制,安全機構必須維護一個存取控制矩陣。它包含被授權者、許可權施加對象及授予的許可權三要索。圖1中,左標題欄為用戶標識符或口令,上標題行為數據(包括程式)的標識符,矩陣體指明了各用戶對相應數據的存取許可權。空白則表明該用戶對相應數據無任何存取權,授權矩陣的大小與複雜性由安全機構設計與實現而定,並依賴於DBMSOSDCMS提供的軟體支持。存取控制矩陣的開發是DBA的任務,但DBMS必須提供DBA以相應的實用例程來建立、維護(批處理或在線上處理)、在線上存取該矩陣,報告矩陣的內容及違例情況。
存取控制過程
圖1

存取控制策略

自主存取控制

自主(有的也叫“隨意”或“任意”)存取控制(discretionary access control,DAC)基於存取許可權或特權概念及其實現技術與機制,哪個用戶對哪個數據對象具有什麼樣的許可權通過授權來說明。
支持授權說明首先必須提供一種語言,SQL是這種語言的典型代表。
自主存取控制可通過存取控制矩陣來實現。每當一個用戶發出對某數據對象的一種存取請求時,DBMS的安全或存取控制部件針對存取控制矩陣進行檢驗,以決定同意或拒絕其請求。

強制存取控制

一般情況下,自主存取控制是很有效的,可以滿足普通的安全性要求。但它存在一個漏洞,一些別有用心的用戶可以欺騙一個授權用戶,採用一定的手段來獲取敏感數據。
存在這種漏洞的根源在於,自主存取控制機制僅以授權來將主體(用戶)與客體(被存取數據對象)關聯,通過控制許可權來實現安全要求,對主體和客體(對象)本身未作任何安全性標註。強制存取控制(mandatory access control,MAC)就能處理自主存取控制的這種漏洞問題。

相關詞條

熱門詞條

聯絡我們