通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究.doc_第1頁
通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究.doc_第2頁
通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究.doc_第3頁
通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究.doc_第4頁
通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究.doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

通信學(xué)論文-ASP.NET應(yīng)用系統(tǒng)網(wǎng)絡(luò)架構(gòu)的安全機制研究摘要介紹了基于ASP.NET平臺B/S架構(gòu)的應(yīng)用系統(tǒng)網(wǎng)絡(luò)安全的設(shè)計,分析了B/S三層網(wǎng)絡(luò)架構(gòu)的安全機制,給出了通過身份驗證、權(quán)限控制、數(shù)據(jù)加密、存儲過程訪問數(shù)據(jù)庫等手段實現(xiàn)系統(tǒng)的安全性的技術(shù)要點。關(guān)鍵詞ASP.NET;B/S架構(gòu);身份驗證;存儲過程1引言隨著Internet技術(shù)的發(fā)展和基于Web開發(fā)平臺的推出,B/S結(jié)構(gòu)逐漸取代了傳統(tǒng)的C/S結(jié)構(gòu),成為了主流結(jié)構(gòu)。B/S結(jié)構(gòu)是一種以HTTP為傳輸協(xié)議,客戶端通過瀏覽器訪問Web服務(wù)器以及與之相連的后臺數(shù)據(jù)庫的體系結(jié)構(gòu)。B/S構(gòu)架具有良好的跨平臺性、可擴展性和易更新升級等優(yōu)點,正是B/S架構(gòu)的這種開放性的特點,也對網(wǎng)絡(luò)系統(tǒng)的安全體系的設(shè)計和實現(xiàn)提出了新的要求。本文以應(yīng)用系統(tǒng)的開發(fā)為例,闡述了ASP.NET平臺下開發(fā)B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)的安全設(shè)計,從系統(tǒng)架構(gòu)、角色及用戶權(quán)限控制、數(shù)據(jù)庫訪問等方面分析了如何保障數(shù)據(jù)和系統(tǒng)的安全。2基于ASP.NET的三層網(wǎng)絡(luò)架構(gòu)的安全性系統(tǒng)基于Windows2000Server操作系統(tǒng),采用ASP.NET實現(xiàn)Web服務(wù)器與數(shù)據(jù)庫的連接,后臺數(shù)據(jù)庫為SQLServer2000系統(tǒng),以VisualS為系統(tǒng)開發(fā)平臺,采用B/S的三層架構(gòu)。三層是由顯示層、中間層、數(shù)據(jù)層組成。顯示層是利用瀏覽器為客戶提供應(yīng)用服務(wù)的圖形界面,負(fù)責(zé)直接跟用戶進(jìn)行交互;中間層位于顯示層和數(shù)據(jù)層之間,由應(yīng)用服務(wù)器和Web服務(wù)器實現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯功能;數(shù)據(jù)層是三層中的最底層,負(fù)責(zé)數(shù)據(jù)的存儲和訪問。每層的功能非常清晰,層與層之間不能跨越,客戶端不直接與數(shù)據(jù)庫進(jìn)行交互,而是通過COM/DCOM通訊與中間層建立連接,中間層經(jīng)過ADO.NET實現(xiàn)對數(shù)據(jù)層的數(shù)據(jù)進(jìn)行訪問,實現(xiàn)了顯示、數(shù)據(jù)、邏輯的分開,減少了耦合度。ASP.NET在網(wǎng)頁中使用基于事件的處理,顯示層的頁面代碼和后臺的代碼分離,系統(tǒng)采用C#作為后臺代碼的語言。.NET中可以方便地實現(xiàn)組件的裝配,后臺代碼通過命名控件可以方便地使用自己定義的組件。顯示層放在ASP頁面中,數(shù)據(jù)庫操作和業(yè)務(wù)邏輯用組件來實現(xiàn),方便地實現(xiàn)了三層架構(gòu),減少入口點,防止客戶端被破壞而給數(shù)據(jù)庫帶來損失的風(fēng)險,保證系統(tǒng)的安全。3ASP.NET應(yīng)用的安全性系統(tǒng)利用ASP.Net與MicrosoftInternet信息服務(wù)聯(lián)合起來協(xié)同工作提供了優(yōu)秀的安全控制,包括身份驗證和權(quán)限控制兩部分。身份驗證是對發(fā)送請求信息的用戶進(jìn)行身份識別,一旦驗證通過,權(quán)限控制程序就會決定用戶是否有權(quán)限訪問所調(diào)用的資源。ASP.NET支持三種類型的身份驗證,分別是Windows身份驗證、表單身份驗證、Passport身份驗證?;诒韱蔚尿炞C,是三種驗證方式中最靈活的一種。基于表單的驗證服務(wù)使用Cookies來驗證用戶,Cookie是一小段文本信息,伴隨著用戶請求和頁面在Web服務(wù)器和瀏覽器之間傳遞,用戶每次訪問站點時,Web應(yīng)用程序都可以讀取Cookie包含的信息。在登錄頁面中,用戶輸入用戶名和密碼,提交該頁面送回服務(wù)器,應(yīng)用程序根據(jù)存儲在數(shù)據(jù)庫中的數(shù)據(jù)來驗證請求,用戶通過驗證后,ASP.NET發(fā)出一個Cookie,里面包括了為此用戶產(chǎn)生的一個有效的身份票據(jù),該身份票據(jù)是用戶進(jìn)行系統(tǒng)訪問的“通行證”。在隨后發(fā)出的請求頁面的請求報頭里包含此Cookie,如果沒有通過驗證則用戶被重新定位到登錄頁面。身份票據(jù)的確定可以根據(jù)應(yīng)用需求而設(shè)計。一般系統(tǒng)中身份票據(jù)由用戶名和用戶標(biāo)識號構(gòu)成。系統(tǒng)的權(quán)限控制采用基于角色的訪問控制,權(quán)限賦予角色,角色分配給用戶。一個用戶可擁有多個角色,一個角色可授權(quán)給多個用戶。用戶不直接與權(quán)限相連,而是通過所屬的角色享有權(quán)限,實現(xiàn)了用戶與訪問權(quán)限的邏輯分離,極大地方便了權(quán)限管理。一般來講角色數(shù)要少于用戶數(shù),這樣可以通過更改角色的權(quán)限實現(xiàn)對大批量用戶權(quán)限的更新,不必一個一個地設(shè)定用戶的權(quán)限,從而降低了管理的成本。系統(tǒng)有多個功能模塊,可以根據(jù)需要設(shè)定多個角色,定制角色的權(quán)限就是設(shè)定每個角色針對不同功能的權(quán)限,對每個功能都包括五種權(quán)限:瀏覽權(quán)限、查詢權(quán)限、添加權(quán)限、修改權(quán)限、刪除權(quán)限。分別代表可以對此功能頁面下的數(shù)據(jù)執(zhí)行瀏覽、查詢、添加、修改、刪除操作。角色的權(quán)限設(shè)定后只需給用戶分配角色即可,同一個用戶可屬于多種角色,不過他對某一功能的操作權(quán)限是取此用戶所屬幾個角色中對此功能最高的權(quán)限。系統(tǒng)可以根據(jù)情況添加、刪除、修改角色,定制角色的權(quán)限,通過這種角色的權(quán)限定義可以實現(xiàn)各種復(fù)雜的安全策略。通過權(quán)限控制,保障了合法用戶順利實現(xiàn)系統(tǒng)功能,禁止了非授權(quán)用戶對系統(tǒng)的入侵。在顯示頁面的時候,根據(jù)用戶所屬角色的不同,顯示不同的頁面。在登錄頁面中,用戶輸入憑證用戶名和密碼,系統(tǒng)驗證通過后,根據(jù)輸入的用戶名得到所屬的角色,根據(jù)角色和功能權(quán)限的對應(yīng)關(guān)系進(jìn)而得到此用戶對所有功能模塊的權(quán)限情況,系統(tǒng)據(jù)此加載功能鏈接區(qū)頁面發(fā)送給瀏覽器,用戶就看到了屬于自己的主頁面。在此頁面上只顯示出此用戶有權(quán)限訪問的鏈接,無權(quán)訪問的鏈接不顯示。4數(shù)據(jù)庫訪問的安全性在基于網(wǎng)絡(luò)的系統(tǒng)中,用戶的信息安全是非常重要的,一旦用戶的密碼被盜取后,系統(tǒng)的數(shù)據(jù)和整個數(shù)據(jù)庫也就不安全了,通過對用戶的口令加密可以解決這個問題,用戶密碼不以明文的方式存儲在數(shù)據(jù)庫中,而是存儲它們加密后的版本。當(dāng)需要對用戶進(jìn)行驗證時,只是對用戶的口令再進(jìn)行加密,然后把它與數(shù)據(jù)庫中的加密口令進(jìn)行比較即可。ASP.NET可以方便地實現(xiàn)對密碼的加密,在命名空間System.Web.Security中包含了類FormAuthentication,其中有一個方法HashPasswordForStoringlnConfigFile可解決此問題,它支持用于加密字符串的“SHA1”和“MD5”散列算法,將用戶提供的密碼變更亂碼,然后存儲起來。這樣在數(shù)據(jù)庫中存儲的就不是實際的密碼而是加密后的密碼,保證了用戶、數(shù)據(jù)和數(shù)據(jù)庫的安全。系統(tǒng)采用的是三層架構(gòu)體系,用戶不直接訪問數(shù)據(jù)庫,而是通過中間層的ADO.NET在.NET平臺中提供對數(shù)據(jù)庫的訪問服務(wù)。ADO.NET是全新的數(shù)據(jù)訪問接口,它把訪問數(shù)據(jù)和操縱數(shù)據(jù)徹底隔離,可以在非聯(lián)機狀態(tài)下使用。ADO.NET用兩個核心組件來訪問和處理數(shù)據(jù):.NET數(shù)據(jù)提供程序和DataSet。數(shù)據(jù)提供程序是一組包括Connection、Command、DataReader和DataAdapter對象在內(nèi)的組件,是專門為數(shù)據(jù)處理以及快速地只進(jìn)、只讀訪問數(shù)據(jù)而設(shè)計的組件。DataSet就是數(shù)據(jù)集,是把數(shù)據(jù)庫中的數(shù)據(jù)映射到內(nèi)存緩存中的所構(gòu)成的數(shù)據(jù)器。在我們的系統(tǒng)中數(shù)據(jù)庫用的是SQLServer,數(shù)據(jù)提供程序就是SQLServer數(shù)據(jù)提供程序SqLServer.NET。通過SQLServer數(shù)據(jù)提供程序完成和數(shù)據(jù)庫的連接并將數(shù)據(jù)填充到DataSet對象,然后客戶端再通過讀取DataSet來獲得需要的數(shù)據(jù)。系統(tǒng)通過中間層的組件ADO.NET訪問數(shù)據(jù)庫,采用存儲過程實現(xiàn)對數(shù)據(jù)的操作。通過存儲過程可以實現(xiàn)用戶和數(shù)據(jù)的隔離,通過執(zhí)行存儲過程實現(xiàn)對數(shù)據(jù)表的操作,避免了對數(shù)據(jù)表的直接訪問。存儲過程還可以避免一種叫做SQL注射的攻擊,這種攻擊主要會在合法輸入?yún)?shù)中添加如AND或者OR的操作符。存儲過程還有助于對用戶屏蔽數(shù)據(jù)庫的內(nèi)部實現(xiàn),以減少應(yīng)用程序泄密的危險,保證了數(shù)據(jù)的安全。在應(yīng)用程序中直接調(diào)用存儲過程,相對于直接使用SQL語句,有以下好處:存儲過程可以將多個SQL語句打包在一個存儲過程中,以批處理的方式執(zhí)行,而不是從客戶端發(fā)送多個請求,這樣就減少了網(wǎng)絡(luò)通信量;執(zhí)行的速度更快,存儲過程在調(diào)用時只進(jìn)行一次解析和優(yōu)化,再次調(diào)用這個存儲過程時就可以直接從內(nèi)存中調(diào)用即可,而執(zhí)行SQL語句時每次都要進(jìn)行解析和優(yōu)化;存儲過程還可以使頁面完全獨立于數(shù)據(jù)庫中表的具體實現(xiàn),只要在存儲過程接口不變的情況下開發(fā)人員對數(shù)據(jù)庫的任何改動都不需要對顯示層和中間層的程序作改動,這樣大大方便了系統(tǒng)的修改和維護(hù)。5結(jié)束語對采用基于ASP.NET構(gòu)建的BS結(jié)構(gòu)的應(yīng)用系統(tǒng)的安全設(shè)計進(jìn)行了討論,基于Web的應(yīng)用系統(tǒng)的安全體系設(shè)計相對于傳統(tǒng)的C/S模式,既要考慮數(shù)據(jù)訪問的安全,又要考慮網(wǎng)絡(luò)的安全。Web開發(fā)平臺ASP.NET的安全訪問機制使得Web的安全性和可靠性得到了基本的保障,采

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論