- 相關(guān)推薦
淺談電子商務(wù)系統(tǒng)開發(fā)過程中的安全設(shè)計
[論文關(guān)鍵詞] 商務(wù)系統(tǒng) 開發(fā) 安全 設(shè)計
[論文摘要] 安全設(shè)計是開發(fā)電子商務(wù)系統(tǒng)的關(guān)鍵問題之一。其核心在于后臺的數(shù)據(jù)訪問控制和前端Web頁面的訪問控制。本文在描述并分析了目前主流的基于角色的數(shù)據(jù)訪問控制和基于ASP.Net技術(shù)的Web頁面訪問控制的基礎(chǔ)上,提出了基于數(shù)據(jù)和Web頁面雙重訪問控制的安全模型——DWACBSM(Data and Web Access Control Based Security Model)。
一、問題的提出
就目前主流B/S(Browser/Server,瀏覽器/服務(wù)器)模式的電子商務(wù)系統(tǒng)開發(fā)設(shè)計而言,其對應(yīng)的安全模塊設(shè)計主要包括兩方面的工作:其一是對后臺數(shù)據(jù)的安全訪問控制;其二是對Web頁面的訪問控制。但在系統(tǒng)的具體開發(fā)過程中,兩者并非孤立而是彼此關(guān)聯(lián)地分布在B/S模式所對應(yīng)的三層結(jié)構(gòu)(表示層、應(yīng)用層、數(shù)據(jù)層)的每一個層次之中。
目前流行的數(shù)據(jù)訪問控制方式是基于角色的訪問控制(RBAC,Role base access control);而微軟的基于.Net技術(shù)的Web認(rèn)證方式可方便地實現(xiàn)對Web頁面的安全訪問控制。在具體的開發(fā)過程中可將兩者有效結(jié)合,實現(xiàn)所謂基于數(shù)據(jù)和Web雙重訪問控制的安全模型——DWACBSM(Data and Web Access Control Based Security Model)。
二、基于角色的數(shù)據(jù)訪問控制(RBAC)
RBAC的核心思想在于:對數(shù)據(jù)訪問的“許可 (Permission)”權(quán)限被分配給特定的角色,而角色可被指派(賦予)給不同的用戶,不允許用戶直接與許可關(guān)聯(lián)。RBAC對數(shù)據(jù)訪問的“許可 (Permission)”權(quán)限由數(shù)據(jù)庫員統(tǒng)一管理,并可根據(jù)實際需要定義不同的角色;用戶根據(jù)其職能和責(zé)任被指派(賦予)給相應(yīng)的角色并取得角色所具有的許可權(quán)限。
RBAC安全策略具有下列優(yōu)點:大大降低了數(shù)據(jù)庫管理員的工作量和工作的復(fù)雜度。數(shù)據(jù)訪問的權(quán)限分配通常是管理員的一項繁重工作,而在RBAC中根據(jù)用戶的實際工作崗位將用戶與角色相關(guān)聯(lián)。一方面,定義、添加、刪除角色中的用戶易于操作。另一方面可以通過更改角色的權(quán)限實現(xiàn)對大批量用戶權(quán)限的更新。在實際系統(tǒng)中,由于用戶角色的數(shù)量總是遠(yuǎn)遠(yuǎn)少于用戶的數(shù)量,而且角色也相對穩(wěn)定,用戶的變化則相對頻繁,所以RBAC的管理代價是很小的。
系統(tǒng)管理員可以通過定義角色、角色分層、角色限制來實現(xiàn)廣泛、復(fù)雜的安全策略。在具體電子商務(wù)系統(tǒng)實現(xiàn)過程中,可設(shè)計下列通用的數(shù)據(jù)庫模型,以配合RBAC安全策略的實施。
數(shù)據(jù)訪問控制的管理可以分兩個層次來設(shè)計,一是用戶和角色的管理,這是系統(tǒng)管理員的工作;二是對用戶及用戶操作合法性的確認(rèn)。
1.用戶與角色的管理
系統(tǒng)管理員的系統(tǒng)操作集可定義為:
SystemOperation={addUser,delUser,updateUser,AddRole,delRole,updateRole,addPermissionAssignment,DelPermissionAssignment,
addRoleAssignment,delRoleAssignment}
[1]
即分別為:添加用戶、刪除用戶、更新用戶、添加角色、刪除角色、更新角色、為角色增加學(xué)科、刪除角色的某個許可、為用戶分配角色、取消用戶的某個角色。在具體數(shù)據(jù)庫設(shè)計時可設(shè)計相應(yīng)函數(shù)來加以實現(xiàn)。
2.用戶及用戶操作合法性的確認(rèn)
對用戶身份的認(rèn)證是通過對“用戶→口令”的檢查來實現(xiàn)的。一旦用戶通過認(rèn)證,就為用戶產(chǎn)生一個有效的“票據(jù)”,該票據(jù)是用戶進行系統(tǒng)訪問的“通行證”。
通過認(rèn)證的用戶,每次訪問敏感數(shù)據(jù)前都要進行許可檢查。這個過程是通過查詢UserRole表和ACL來完成。只有當(dāng)該用戶對應(yīng)的角色具有目標(biāo)數(shù)據(jù)的操作許可,并且角色可以訪問的密級不低于數(shù)據(jù)的固有密級時,認(rèn)證才能通過。這個過程可考慮使用下述自定義的函數(shù)實現(xiàn):
IsPermission(ticket,operation,objiect):確認(rèn)用戶user對目標(biāo)數(shù)據(jù)object是否具有操作operation的許可權(quán)力,其中ticket是用戶的票據(jù)。
在具體實現(xiàn)的過程中,如采用.Net作為開發(fā)平臺,考慮到.Net架構(gòu)的CLR(Common Language Runtime,通用運行)針對SQL Server進行了優(yōu)化,故選用SQL Server數(shù)據(jù)庫是效率很高的一種方式。
三、WEB頁面的訪問控制
對Web頁面訪問控制的目的在于防止敏感頁面的非法訪問。Web頁面訪問控制是在表示層實現(xiàn)的。如采用Asp.Net技術(shù)來設(shè)計系統(tǒng)的表示層時,需分成兩個部分來設(shè)計:其一是用戶的認(rèn)證與授權(quán);其二是根據(jù)用戶權(quán)限定制網(wǎng)頁。
對Web訪問的認(rèn)證方式是和系統(tǒng)選用的開發(fā)標(biāo)準(zhǔn)向關(guān)聯(lián)的?紤]到微軟的Asp.Net技術(shù)提供了更靈活的方式,并易于實現(xiàn)。
四、基于數(shù)據(jù)和Web頁面的雙重訪問控制
上述基于RBAC的數(shù)據(jù)訪問控制策略和Web頁面的認(rèn)證和授權(quán),組成了本文所提出的基于數(shù)據(jù)和Web雙重訪問控制的安全模型——DWACBSM(Data and Web Access Control Based Security Model)。
系統(tǒng)的安全模型由數(shù)據(jù)訪問控制和Web訪問控制兩個部分組成。數(shù)據(jù)訪問控制是安全模型的主要部分,它用戶認(rèn)證、訪問特許權(quán)檢查工作。其中特許權(quán)檢查模塊是數(shù)據(jù)訪問模塊對外的接口。當(dāng)用戶調(diào)用特許權(quán)檢查模塊時,特許權(quán)檢查模塊把用戶票據(jù)、目標(biāo)對象名稱、操作分別傳給用戶管理模塊和目標(biāo)管理模塊,如果口令非法或者目標(biāo)對象不存在,則立即通知特許權(quán)檢查模塊;否則用戶管理模塊將用戶ID、目標(biāo)對象管理模塊、目標(biāo)ID和操作代碼傳給用戶角色管理模塊,用戶角色管理模塊通過檢查用戶所屬角色并查詢ACL來確定用戶是否具有操作許可,完成后把許可信息反饋給特許檢查模塊,特許檢查模塊根據(jù)存取規(guī)則到目標(biāo)對象管理模塊中獲取數(shù)據(jù)。
參考文獻:
[1]吳晨孫少波葉莞:ASP.NET數(shù)據(jù)庫項目案例導(dǎo)航.清華大學(xué)出版社,2004
[2]齊治昌譚慶平寧洪:軟件工程.高等出版社,2004
[3]Joe MartinBrett Tomson:循序漸進 ASP.NET程序設(shè)計.中國青年出版社,2001
[2]
【淺談電子商務(wù)系統(tǒng)開發(fā)過程中的安全設(shè)計】相關(guān)文章:
淺談電子商務(wù)中的安全題目.03-21
淺談安全技術(shù)在電子商務(wù)中的應(yīng)用03-27
淺談設(shè)計美學(xué)03-20
淺談移動電子商務(wù)及其發(fā)展03-01