|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認為是互聯(lián)網(wǎng)發(fā)展的第三階段。 安全性在操作系統(tǒng)中應(yīng)該是相當(dāng)容易實現(xiàn)的,對嗎?就是說,為任意對象指定某個安全級別所需要做的所有工作只是一個簡單的函數(shù)調(diào)用,例如GrantAccessTo或者DenyAccessTo,對嗎? 不幸的是,Windows NT安全性應(yīng)用程序接口(API)看起來并不是那么簡單。它包含了過多的與安全性有關(guān)的函數(shù),并且僅僅為一個用戶打開一個對象的工作就已經(jīng)非常復(fù)雜了。 要正確使用安全性API,需要按照下面幾個層次去理解:
在這些服務(wù)只被第三方應(yīng)用程序使用時,相當(dāng)容易理解安全性是如何工作的。然而,Windows NT是一個安全的操作系統(tǒng),此外,基于Windows NT的網(wǎng)絡(luò)也非常依賴于安全性。因此,安全性結(jié)合到系統(tǒng)的方法就顯得很模糊。 誰需要安全? 在進入任何細節(jié)之前,先要明確為什么會需要安全性。如果不是處于下面的情況,就根本不必為安全性擔(dān)心: 正在寫一個服務(wù)器應(yīng)用程序,即幾個用戶都可以訪問的一個應(yīng)用程序,而且此服務(wù)器應(yīng)用程序只限于為這些用戶的一個子集提供數(shù)據(jù)結(jié)構(gòu)。 注意這是一個相當(dāng)廣泛的定義。下面是滿足條件的幾個例子程序。 對于單機(沒有連網(wǎng)的計算機),編寫一個服務(wù),Windows NT啟動以后一直運行,并且有多個用戶在此計算機上登錄及退出。該服務(wù)提供的信息只對少數(shù)用戶可見。例如,想收集使用模式或者登錄數(shù)據(jù),就可能只限于管理員訪問該數(shù)據(jù)。 許多特權(quán)限制在系統(tǒng)級。例如,系統(tǒng)注冊表受保護,使得只有具有特殊特權(quán)的用戶能夠向系統(tǒng)中添加設(shè)備驅(qū)動程序。這是由于安全性的原因。例如,一個惡意的用戶能夠利用設(shè)備驅(qū)動程序監(jiān)控用戶輸入的能力竊取其它用戶的工作。安全性也有助于系統(tǒng)的穩(wěn)定。設(shè)想一個未經(jīng)授權(quán)的用戶安裝了一個粗制濫造的設(shè)備驅(qū)動程序。當(dāng)其它用戶工作時,這樣的驅(qū)動程序會造成系統(tǒng)崩潰。通過將注冊新設(shè)備驅(qū)動程序的權(quán)利限制給可信賴的用戶,能夠防止Windows NT的計算機上出現(xiàn)這種情況。 許多在網(wǎng)絡(luò)上工作得與單機上同樣好的服務(wù)器程序得益于與安全性系統(tǒng)的某種掛鉤。例如,一個數(shù)據(jù)庫服務(wù)器可能同時為幾個用戶服務(wù),某些用戶不允許查看給定數(shù)據(jù)庫中的某些數(shù)據(jù)。假設(shè)公司內(nèi)的每個人都能夠查詢員工數(shù)據(jù)庫。管理人員需要訪問員工的全部信息,而其他人則應(yīng)該只能看到工作頭銜和辦公室編號。如果將包含工資和獎金信息的字段限制于管理人員訪問,就可以允許公司內(nèi)所有的人使用同一個數(shù)據(jù)庫,而不會危及安全性和機密。 安全性的微觀視圖 安全性的一個問題是使用安全性API毫無新奇刺激可言。其他人編寫的代碼可以旋轉(zhuǎn)茶壺、在窗口中顯示動畫、彈出很酷的Windows 95控件、通過MAPI來回發(fā)送數(shù)據(jù)等等,而安全性編程卻總是令人厭煩的事情。 Windows NT安全性表現(xiàn)的非常復(fù)雜,相比之下,從微觀水平上看則比較簡單。每個Windows NT域(或域組)保存有一個該域所知道的用戶的數(shù)據(jù)庫。用戶想要在Windows NT的域中工作,必須先使用一個用戶名和口令證明自己。一旦安全性系統(tǒng)證明了口令,用戶就會被關(guān)聯(lián)到一個訪問令牌,識別用戶的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。 關(guān)于Windows NT下安全性必須知道的首要事情是它是以用戶為中心的;也就是說,試圖訪問受保護對象的每一行代碼都必須與一個特殊用戶關(guān)聯(lián),該用戶必須用口令向客戶機證明自己的身份。每次安全性檢查都要依靠用戶鑒別。例如,編寫代碼阻止Microsoft Excel訪問一個對象是不可能的?梢员Wo一個對象防止Joe Blow運行Microsoft Excel訪問,但是如果允許Carla Vip訪問該對象,她可以使用Microsoft Excel或者其它喜歡的程序訪問,只要Carla使用只有自己知道的口令向客戶機證明自己的身份就行。
用戶可能不是直接看到錯誤信息,而是一個對話框,上面寫著:“你沒有特權(quán)將雞蛋從紙盒中拿走!睆棾龃藢υ捒虻某绦騼(nèi)部可能包含下面的代碼行: if (!RemoveEggsFromCarton() && GetLastError() == ACCESS_DENIED) AfxMessageBox("You do not have the privilege to remove the eggs from the carton"); 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!