• 沒有找到結果。

以內容為基礎的存取控制

第二章 相關研究

第三節 以內容為基礎的存取控制

CBAM 和傳統的(s,o,p)模型不同之處在於,CBAM 利用(credentials, concepts, privilege)來描述一個授權。使用者身份(Credentials)相當於使用者的特徵

(Characteristics)和資格(Qualifications)。概念(Concepts)指的是使用者期望從數位 物件中找到的抽象概念(Abstractions)或想法(Notions),換句話說,概念是對物件 內容的簡潔敘述;然而,概念不僅僅是關鍵字(Keywords)而已,例如一篇令讀者 心酸的文章可能在文中並沒有任何有關悲傷的字眼出現。權力(Privileges)則分為 瀏覽的(Browsing)和著作的(Authoring)權力。

2.3.1 物件(DL Objects)

一個數位物件包含非結構性的媒體類型資訊(如:文字、圖形、影片)及唯一 的物件識別(Object Identifier)。物件內部不同的部分通常有不同的保護需求,例 如一篇論文中,摘要可以給任何人使用,而其他部分則僅供訂閱的人使用,在 CBAM 中,物件分成數個區段(Slots),區段和物件相似,可以包含不同類型的資 訊,並且可以給定識別資料。物件亦可利用鏈結(Links)來描述其他相關物件。所 以 CBAM 中利用(i, slots, links, concepts)來描述一個物件,其中 i 為物件的識別,

而 concepts 為與物件直接相關的概念。CBAM 利用 C(dlo)來表示物件中所有相關 概念的集合,這個集合包含了在 concepts 所描述的概念及所有比 concepts 更普遍 (General)的概念,正式的定義為 C(dlo) = concepts∪{cp | cp CP such that cp’ concepts, with cp’πCPcp}。通常來說,一個特定領域內的概念(以 CP 表示)互有關 聯性,因此可以建立一個概念階層,階層內的概念具有局部次序(Partial Order) 的關係,以πCP表示,假設兩個屬於 CP 的概念 cp1和 cp2,以cp1 πCP cp2表示 cp1

具有比 cp2更具體(Specific)的概念。圖 10 為一個物件概念階層的例子,其中具 有Imports Tax πCP Import−Export 、Imports Tax πCP GLIN Legal Document ...等 關係。

圖 10: 概念階層

CBAM 利用(credentials, concepts, privilege)來描述一個授權,在 concepts 部 分是以實體(Entity)為授權單位,實體可以是特定的物件(藉由列舉(List)物件的識 別)、包含特定概念的物件(藉由概念表示式(Conceptual Expression)來表達)或物件 中的區段或鍊結。實體的正式定義如下:

定義 2.1 (Entity Specification). An entity specification has one of the following two forms:

1. co-spec.slot-spec, where co-spec is either a conceptual

expression in COEX, or a set, possibly empty, of object identifiers in 2OI, and slot-spec∈2SN is a set, possibly empty, of slot names, or

2. link-spec, where link-spec∈2LI is a set, possibly empty, of link identifiers.

2.3.2 使用者身份(Credentials)

使用者身份為使用者的屬性集合,為了方便使用者身分的描述,CBAM 將 具有相似結構(Structure)的身分群組化,建立使用者身份類型(Credential-types),

用(ct-id, attr)來表示,ct-id 為使用者身份類型的識別;attr 為(a_name, a_dom, a_type)的集合,其中 a_name 為屬性的名稱,a_dom 為屬性的領域(Domain),如

Import-Export -Product -Business Entity -Action -Industry GLIN Legal Document

-Country -LawReference -Provisions -Ameds/Reports

General Concepts

Specific Concepts

整數、字串...等,a_type 表示該屬性是(a_type=”opt”)否(a_type=”mand”)允許空值 (Null),並用 CT 來表示 ct-id 的集合。例如一個職員的身分類型如下:(employee, {(age, string, opt), (address, string, mand), (salary, integer, opt), (nationality, string,

mand), (national origin, string, mand)})。如同概念階層,使用者身份類型亦可建立 階層,階層內的類型具有局部次序的關係,以πCT表示,假設兩個屬於 CT 的類 型 ct1和 ct2,以ct1 πCT ct2表示 ct1為 ct2的一個子類型,ct1繼承(Inherit)ct2的所有 屬性,並可包含額外的屬性。圖 11 為一個使用者身份類型階層的例子,其中具 有 Legal Research AnalystπCTLLoc employee、LLoc employeeπCTemployee...等關 係。

圖 11: 使用者身份類型階層

一個使用者身分為使用者身份類型的個體(Instance),用(c_id, user_id, state, ct_id)來表示,c_id 為使用者身份的識別;user_id為使用者的識別;state為(a1: v1, ...

an: vn)的集合,a1, ... an為屬性名稱,v1, ... vn為對應的值;ct_id 為使用者身份類 型的識別。在下例中,legal research analyst 這個身分類型比 employee 多了 project 這個屬性資料:

(c1, Bob, (age: null, address: Queen Street, salary:2,000, nationality: US, national General

Legal Research Directorate

origin: Italy), employee)

(c2, Ann, (age: 29, address: Broad Street, salary:null, project:P125, nationality:

US, national origin: US), legal research analyst)

CBAM 利用(credentials, concepts, privilege)來描述一個授權,在 credentials 部分是以使用者身份為授權單位,使用者身份可以是特定的使用者(藉由列舉使 用者的識別)或包含特定特徵的使用者(藉由使用者身份表示式(Credential

Expression)來表達)。使用者身份的正式定義如下:

定義 2.2 (Credential Specification). A credential specification is either a set of user identifiers in 2U, or a credential expression in CE.

例如可以限制某些物件為必須大於 18 歲的使用者方可使用,或必須具備 legal research analyst 這個身份且參與 p1這個計畫才能使用,分別用(X.age > 18)和(legal research analyst(X) ^ X.project = p1)來表示大於 18 歲和具備 legal research analyst 身份且參與 p1計畫的人,(X.age > 18)即為一個使用者身份表示式。若某些使用 者作為判斷條件的屬性欄位為空值,以 Undef 來表示,則這些使用者不屬於滿足 該條件的使用者之集合;另外用 Denotes 表示滿足該條件的使用者之集合,以先 前的例子來說:

Denotes(employee) = {Ann, Bob};

Denotes(X.age > 18) = {Ann};

Denotes(legal research analyst(X) ^ X.project = P125) = {Ann};

Undef(X.age > 18) = {Bob};

Undef(employee) =φ.

2.3.3 權力(Privileges)

權力分為瀏覽的和著作的權力,瀏覽的權力有三種不同的類型:觀看 (View)、鏈結(Link)和觀看全部(View-All),著作的權力也有三種不同的類型:參 考(Refer)、附加(Append)、更新(Update),其意義如表 5 所述。觀看全部內含觀

看和鏈結的權力,更新內含參考和附加的權力。

2.3.4 授權模型(Authorization Model)

一個完整的授權包含四個元素:使用者、實體、權力和正/負向符號,定義 如下所述:

定義 2.3 (Authorization). An authorization is a 4-tuple(crd-spec, ent-spec, priv, sign), where crd-spec is a credential specification denoting the users to whom the authorization is granted, ent-spec is an entity specification denoting the contents, objects, and/or the slots or links to which the authorization refers, priv P is the privilege for which the authorization is granted, and sign {+,-} indicates whether the authorization is positive(+) or negative(-).

要表示適用某授權 A 之人及物分別用 Denoted Users 及 Denoted Objects 來表示,

利用 2.3.2 所述 Denotes 及 Undef 來作定義,以 Denoted Users 為例來說明,若已 明確描述所套用使用者識別並不會發生問題;而用使用者身份表示式來描述所套 用的使用者時,假設如下情形:

Denotes(X.age > 18) = {Ann}

Undef(X.age > 18) = {Bob}

則當此授權為十八歲以上方能使用(正向授權)時,只有 Ann 可以使用;當此授權 為十八歲以上禁止使用(負向授權)時,則 Ann 不能使用是無庸置疑的,但 Bob 則因為其年齡為空值,依保守原則,我們也應將此授權套用至 Bob 身上,換句 話說,Bob 亦不能使用該物件。Denoted Users 與 Denoted Objects 的正式定義如

下:

定義 2.4 (Denoted Users). Let A be an authorization. The set of users to which A applies, denoted as UA, is defined as follows:

l If crd-spec(A) ∈ 2U, then UA = crd-spec(A);

l If crd-spec(A) ∈ CE, then:

If sign(A) = “+”, then UA = Denotes(crd-spec(A));

If sign(A) = “-”, then UA = Denotes(crd-spec(A)) ∪ Undef(crd-spec(A)).

定義 2.5 (Denoted Objects). Let A be an authorization. The set of IDs of objects to which A applies, denoted as OA, is defined as follows:

l If co-spec(ent-spec(A)) ∈ 2OI, then OA = co-spec(ent-spec(A));

l If co-spec(ent-spec(A)) is a conceptual expression, then OA = Obj(co-spec(ent-spec(A)));

The Object Base, denoted by OB, is the set of all dlos.

雖然負向授權並非一定要存在,但 使用負向授權可以使存取控制描述更具彈 性,例如一個簡單的授權可以輕易地使用反向授權來描述,如前述十八歲以上方 能使用的授權(正向授權)為例,我們將之改成十八歲以下不能使用(負向授權),

兩者為等意的授權;但一個用來描述例外的授權若使用同樣的方式將會使過程變 得瑣碎,例如有個授權為具 legal research analyst 身份的人不能使用,若不使用負 向授權,則必須使用 n-1 個(假設共有 n 種情形)具有其他身份可以使用的授權來 描述。雖然使用負向授權有很多好處,但相對也帶來問題,當一個使用者對一個 物件作操作時,若同時擁有正向及負向授權,則依據正向授權該使用者可操作該 物件,依據負向授權該使用者卻不能操作該物件,此類衝突必須有效解決,才能 使存取控制機制更有效地運作。在 CBAM 中,定義了較具權威性的授權(Stronger

Authorization) (定義 2.8)作為解決的辦法,所謂較具權威性指的是該授權擁有較高 的優先權,但在這之前,必須先定義較具權威性的使用者描述(Stronger Credential Specification)(定義 2.6)和實體描述(Stronger Entity Specification)(定義 2.7),分別 敘述如下:

定義 2.6 (Stronger Credential Specification). Let u be a user. Let A1 and A2

be two authorizations such that u ∈ UA1 ∩ UA2. crd-spec(A1) is stronger than crd-spec(A2) with regard to user u, written crd-spec(A1) >u crd-spec(A2), iff one of the following conditions holds:

1. crd-spec(A1) ∈ 2U and crd-spec(A2) ∈ CE.

2. crd-spec(A1), crd-spec(A2) ∈ CE and ∀ ct2 ∈ C_types(crd-spec(A2)) ∩ CT(u) ∃ ct1 ∈ C_types(crd-spec(A1)) ∩ CT(u) such that ct1πCTct2.

定義 2.7 (Stronger Entity Specification). Let dlo be an object. Let A1 and A2

be two authorizations such that i(dlo) ∈ OA1 ∩ OA2. ent-spec(A1) is stronger than ent-spec(A2) with regard to object dlo, written ent-spec(A1) >dlo

ent-spec(A2) iff one of the following conditions holds:

1. co-spec(ent-spec(A1)) ∈ 2OI, co-spec(ent-spec(A2)) ∈ 2OI, ent-spec(A1) and ent-spec(A2) are of the form ent-spec.slot-spec and

slot-spec(ent-spec(A1)) ≠φ, whereas slot-spec(ent-spec(A2)) =φ. 2. co-spec(ent-spec(A1)) ∈ 2OI and co-spec(ent-spec(A2)) is a conceptual

expression.

3. co-spec(ent-spec(A1)) and co-spec(ent-spec(A2)) are conceptual expressions and ∀cp2 ∈ Concepts(co-spec(ent-spec(A2))) ∩ C(dlo)

∃cp1∈ Concepts(co-spec(ent-spec(A1))) ∩ C(dlo) such that cp1πCPcp2. 4. co-spec(ent-spec(A1)) and co-spec(ent-spec(A2)) are conceptual

expressions such that the condition in point 3 does not hold, and slot-spec(ent-spec(A1))≠φ, whereas slot-spec(ent-spec(A2)) =φ.

5. ent-spec(A1) is of the form link-spec, whereas ent-spec(A2) is of the form co-spec.slot-spec, with slot-spec =φ.

定義 2.8 (Stronger Authorization). Let u be a user, and let dlo be an object.

Let A1, A2 be two authorizations such that u ∈ UA1 ∩ UA2 and i(dlo) ∈ OA1

∩ OA2. Authorization is stronger than authorization with regard to u and dlo, written A1 >u,dlo A2, iff one of the following conditions holds:

1. crd-spec(A1) >u crd-spec(A2).

2. crd-spec(A1) and crd-spec(A2) are incomparable with regard to the >u

relation and ent-spec(A1) >dlo ent-spec(A2).

3. crd-spec(A1) and crd-spec(A2) are incomparable with regard to the >u

relation, crd-spec(A1) and crd-spec(A2) are incomparable with regard to the >dlo relation, and priv(A1Ppriv(A2).

4. crd-spec(A1) and crd-spec(A2) are incomparable with regard to the >u

relation, crd-spec(A1) and crd-spec(A2) are incomparable with regard to the >dlo relation, priv(A1) and priv(A2) are incomparable with regard to the πP relation and sign(A1)=”-,” whereas sign(A2)=”+.”

相關文件