版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第4章 通用操作系統(tǒng)保護(hù) 本章要點(diǎn) r 通用操作系統(tǒng)的保護(hù)特性:存儲(chǔ)保護(hù)、 文件保護(hù)和執(zhí)行環(huán)境保護(hù) r 對象訪問控制 r 用戶鑒別 操作系統(tǒng)有兩個(gè)目標(biāo):控制共享訪問控制共享訪問、實(shí)現(xiàn)實(shí)現(xiàn) 允許這種訪問的接口允許這種訪問的接口。在這種目標(biāo)下,操 作系統(tǒng)功能可以分為以下幾類: (1) 訪問控制 (2) 認(rèn)證與信任管理 (3) 管理信息流 (4) 審計(jì)和完整性保護(hù) 所有這些活動(dòng)都與安全有關(guān)。 對于一個(gè)支持多道程序的操作系統(tǒng),操作 系統(tǒng)設(shè)計(jì)者提供了包括存儲(chǔ)保護(hù)、文件保 護(hù)、對象的一般訪問控制和鑒別等方法, 來保護(hù)計(jì)算免受其他用戶無意或惡意的干 擾。 本章僅以兩類操作系統(tǒng)為例:Microsoft Win
2、dows NT, 2000,XP, 2003 Server, 和 Vista;Unix,Linux,和它們的變化版本。 4.1 保護(hù)對象和保護(hù)方法 4.1.1 歷史回顧 第一代操作系統(tǒng)是一種簡單的設(shè)備執(zhí)行執(zhí)行 器器(executive),其設(shè)計(jì)目的是協(xié)助各位程序員 完成各自的工作,以及平穩(wěn)地實(shí)現(xiàn)用戶之間 的切換。執(zhí)行器要求每個(gè)時(shí)刻只有一個(gè)程序 員執(zhí)行程序。 多道程序操作系統(tǒng)也稱為監(jiān)控器監(jiān)控器(monitor),用 以監(jiān)督每個(gè)程序的執(zhí)行。監(jiān)控器充當(dāng)了主動(dòng) 的角色,只要用戶的請求與系統(tǒng)要求一致, 監(jiān)控器就主動(dòng)控制計(jì)算機(jī)系統(tǒng)把資源分配給 用戶。 4.1.2 保護(hù)對象 事實(shí)上,多道程序的出現(xiàn)意味著需要
3、保護(hù)計(jì) 算機(jī)系統(tǒng)的幾個(gè)方面: (1) 內(nèi)存 (2) 可共享的I/O設(shè)備,比如磁盤 (3) 可連續(xù)復(fù)用的I/O設(shè)備,例如打印機(jī)和磁 帶驅(qū)動(dòng)器 (4) 可共享的程序或子程序 (5) 網(wǎng)絡(luò) (6) 可共享的數(shù)據(jù) 4.1.3 操作系統(tǒng)的安全方法 最基本的保護(hù)是分離控制分離控制(separation):保持一 個(gè)用戶的對象獨(dú)立于其他用戶。在操作系統(tǒng) 中分離控制主要有以下4種方式: (1) 物理分離物理分離:指不同的進(jìn)程使用不同的物理 對象。 (2) 時(shí)間分離時(shí)間分離:指有著不同安全要求的進(jìn)程, 在不同時(shí)間執(zhí)行。 (3) 邏輯分離邏輯分離:使程序不能訪問許可域之外的 對象,這樣用戶感覺好象在沒有其他進(jìn)程的
4、 情況下執(zhí)行自己的進(jìn)程。 (4) 密碼分離密碼分離:進(jìn)程對其數(shù)據(jù)和計(jì)算加密,使 其他進(jìn)程無法理解。 4.1.3 操作系統(tǒng)的安全方法(續(xù)) 操作系統(tǒng)也提供了一些共享的保護(hù)措施: (1) 不保護(hù)不保護(hù):當(dāng)敏感進(jìn)程在不同時(shí)間運(yùn)行時(shí)是恰當(dāng)?shù)摹?(2) 隔離隔離:當(dāng)操作系統(tǒng)提供隔離時(shí),各個(gè)進(jìn)程并發(fā)運(yùn) 行,相互之間感覺不到其他進(jìn)程的存在。 (3) 共享一切或不共享共享一切或不共享:對象所有者宣布對象是公有 或私有。 (4) 訪問限制共享訪問限制共享:通過訪問限制保護(hù),操作系統(tǒng)檢 查用戶對象的訪問是否是允許的。操作系統(tǒng)充當(dāng)了用 戶和被訪問對象之間的守衛(wèi),確保只能進(jìn)行已授權(quán)的 訪問。 (5) 訪問權(quán)能共享訪問
5、權(quán)能共享:這種保護(hù)形式擴(kuò)展了訪問限制共 享的概念,它允許動(dòng)態(tài)產(chǎn)生對對象的共享權(quán)限。 (6) 對象的限制使用對象的限制使用:這種保護(hù)形式不僅限制了對對 象的訪問,并同時(shí)限制了獲得訪問后的使用情況。 4.1.3 操作系統(tǒng)的安全方法(續(xù)) 可以在各種級(jí)別實(shí)現(xiàn)訪問控制:比特、字 節(jié)、記錄、文件或卷。我們關(guān)心控制粒度控制粒度 (granularity)。被控制對象的粒度越大,這 種控制越容易實(shí)現(xiàn)。然而,這樣一來操作 系統(tǒng)給用戶的訪問權(quán)限就將多于用戶本身 的需求。 4.2 內(nèi)存及地址保護(hù) 4.2.1 界地址 界地址界地址(fence)是一個(gè)預(yù)定義的內(nèi)存地址,設(shè)置 了用戶的內(nèi)存區(qū)界限。 圖 4.1 固定界地
6、址 4.2.1 界地址(續(xù)) 另一種方法是使用硬件寄存器,稱為界地址界地址 寄存器寄存器(fence register),用于存放操作系統(tǒng)的 尾址。 圖 4.2 可變界地址寄存器 #界地址寄 存器只是 單向保護(hù) 操作系統(tǒng)。 4.2.2 重定位 重定位重定位(relocation)是假定程序地址開始于地 址0,然后改變所有地址以反映程序在內(nèi)存 中的實(shí)際地址。重定位因子重定位因子(relocation factor) 是分配給程序的內(nèi)存首地址。界地址寄存 器可以是硬件重定位設(shè)備。界地址寄存器 的內(nèi)容加上程序的相對地址,不但可以重 定位,而且可以控制用戶訪問操作系統(tǒng)空 間。 4.2.3 基址/范圍寄
7、存器 可變界地址寄存器通常稱為基地址寄存器基地址寄存器(base register)。范圍寄存器范圍寄存器(bounds register)用于存 放上界地址限制。 圖 4.3 基址/范圍寄存器對 # 改變兩個(gè)寄 存器的地址稱 為上下文轉(zhuǎn)換 (context switch) 4.2.3 基址/范圍寄存器(續(xù)) 用戶可能不慎將數(shù)據(jù)存儲(chǔ)在指令存儲(chǔ)區(qū)中??梢允褂?兩對寄存器來解決這一問題,一對用于界定程序指令, 另一對用于界定存儲(chǔ)數(shù)據(jù)空間。這似乎鼓勵(lì)使用更多 對寄存器對,但兩對已經(jīng)是計(jì)算機(jī)設(shè)計(jì)的界限。超過 這一數(shù)量每條代碼需要明確向操作系統(tǒng)指明寄存器對。 圖 4.4 兩對基址/范圍寄存器 4.2.4
8、 標(biāo)記結(jié)構(gòu) 使用基址/范圍寄存器保護(hù)只能提供全部數(shù) 據(jù)的保護(hù),而有時(shí)用戶只希望保護(hù)部分?jǐn)?shù) 據(jù)。此外,有時(shí)還希望實(shí)現(xiàn)對數(shù)據(jù)段和程 序段的共享。一種解決辦法是使用標(biāo)記標(biāo)記結(jié)結(jié) 構(gòu)構(gòu)(tagged architecture),機(jī)器內(nèi)存的每個(gè)字 節(jié)都有一個(gè)或幾個(gè)額外的比特用來表示該 單元訪問權(quán)限,這些訪問比特由操作系統(tǒng) 特權(quán)指令設(shè)置,每次指令訪問某存儲(chǔ)區(qū)時(shí), 都對這些比特進(jìn)行權(quán)限檢查。 4.2.4 標(biāo)記結(jié)構(gòu)(續(xù)) 圖 4.5 標(biāo)記結(jié)構(gòu)示例 4.2.4 標(biāo)記結(jié)構(gòu)(續(xù)) 少數(shù)操作系統(tǒng)采用了這種保護(hù)技術(shù)。Burroughs B6500-7500系統(tǒng)用了3個(gè)比特標(biāo)記區(qū)分?jǐn)?shù)據(jù)字(3 種類型)、說明符(指針)和控
9、制字(堆棧指針和地 址控制字)。IBM操作系統(tǒng)/38用標(biāo)記來控制完 整性和訪問。在一組連續(xù)的地址上應(yīng)用標(biāo)記是 使用標(biāo)記的一種推廣形式,如128或256字節(jié)。 是否使用標(biāo)記結(jié)構(gòu)與代碼的兼容性有關(guān)。標(biāo)記 結(jié)構(gòu)通常要求從根本上改變操作系統(tǒng)的所有實(shí) 際代碼,這個(gè)要求可能因代價(jià)昂貴而不可行。 隨著內(nèi)存價(jià)格下降,標(biāo)記結(jié)構(gòu)實(shí)現(xiàn)變得可行了。 4.2.5 分段式 分段分段(segmentation),即將一個(gè)程序分成幾塊 的簡單方法。 每一塊是一個(gè)邏輯單元,表現(xiàn) 為一組有關(guān)聯(lián)的代碼或數(shù)據(jù)。分段允許程序 分成有不同訪問權(quán)限的幾部分。各段使用對段內(nèi)數(shù)據(jù)項(xiàng)和代碼尋址。各段 可以分別重定位,并且允許把各段分別放在 任何
10、可用的內(nèi)存中。 4.2.5 分段式(續(xù)) 圖4.6 分段的邏輯和物理表示 4.2.5 分段式(續(xù)) 操作系統(tǒng)必須維護(hù)一個(gè)包括段名和段在內(nèi)存 中實(shí)際地址的表。以便進(jìn)程確定數(shù)據(jù)和代碼 在內(nèi)存中的實(shí)際地址。考慮效率,通常每個(gè) 正在執(zhí)行的進(jìn)程有一個(gè)操作系統(tǒng)的段地址表段地址表 (segment address table)。如果有兩個(gè)進(jìn)程共享 訪問同一個(gè)分段,它們段地址表里就有相同 的段名和地址。 4.2.5 分段式(續(xù)) 圖 4.7 段地址轉(zhuǎn)換 4.2.5 分段式(續(xù)) 用戶程序不知道其使用的實(shí)際內(nèi)存地址, 通過程序可以訪問任何數(shù) 據(jù)與程序。地址隱藏給操作系統(tǒng)帶來了三 個(gè)好處: (1) 操作系統(tǒng)可以將
11、任意分段放置或移動(dòng)到 任意位置,甚至在程序開始執(zhí)行后,都可 以這樣做。 操作系統(tǒng)只要不斷更新新分段 地址表即可。 (2) 可將當(dāng)前不使用的分段換出主內(nèi)存(并可 存儲(chǔ)在輔助存儲(chǔ)器中)。 (3) 每個(gè)地址引用都將傳遞給操作系統(tǒng),所 以為了保護(hù)內(nèi)存,操作系統(tǒng)可以檢查每個(gè) 地址引用。 4.2.5 分段式(續(xù)) 操作系統(tǒng)可以把分段和其保護(hù)等級(jí)聯(lián)系起來, 并同時(shí)使用硬件和操作系統(tǒng)檢查每次對段的訪 問,以實(shí)現(xiàn)對不同安全級(jí)別段的不同保護(hù)。分 段可以提供如下安全特性: (1) 為了保護(hù),可檢查每個(gè)地址引用 (2) 可為不同級(jí)別的數(shù)據(jù)項(xiàng)指派不同的保護(hù)級(jí)別 (3) 兩個(gè)或兩個(gè)以上用戶可共享同一個(gè)段,但可 以有不同的
12、訪問權(quán)限 (4) 用戶不能產(chǎn)生地址或訪問未經(jīng)許可的段 4.2.5 分段式(續(xù)) 分段式的缺點(diǎn)在于: (1) 各段有特定的大小,但程序通過段名和偏移量 產(chǎn)生的引用卻可以超出段的范圍。這個(gè)問題在編譯 和裝入程序時(shí)不能被阻止,這是因?yàn)?,為了有效?用分段,要求在程序執(zhí)行過程中能增加段的大小。 因此,分段的安全實(shí)現(xiàn)要求檢查產(chǎn)生的地址不超過 當(dāng)前段的邊界。 (2) 分段的效率存在兩方面的問題:段名在指令中 不便于編碼;操作系統(tǒng)在段表中查找段名速度可能 很慢。因此,編譯程序時(shí),段名被轉(zhuǎn)換數(shù)字,同時(shí), 編譯器還維持一個(gè)聯(lián)系數(shù)字和真正段名的映射。這 為兩個(gè)進(jìn)程共享一個(gè)分段帶來了麻煩。 (3) 內(nèi)存碎片問題。
13、4.2.6 分頁式 用戶程序的地址空間被劃分為若干個(gè)大小相等的 區(qū)域,稱為頁頁(page);并且內(nèi)存空間也分成與頁 相同大小的存儲(chǔ)塊,稱為頁幀頁幀(page frame)。 分 頁式的地址結(jié)構(gòu)包含兩個(gè)部分。 圖 4.8 頁地址轉(zhuǎn)換 # 頁尋址不存 在超頁問題, 偏移量超過 某個(gè)頁邊界 時(shí),將導(dǎo)致 頁號(hào)部分進(jìn) 位。 4.2.6 分頁式(續(xù)) 分段方式中程序員了解各段,但是,分頁方 式中,程序員可以忽略頁的范圍。分頁方式 中頁不是邏輯單位,僅表示程序中相鄰的若 干字節(jié)。 如果考慮保護(hù),這種變化就存在問題。段的 信息為邏輯單位,方便設(shè)定不同的保護(hù)權(quán)限, 地址轉(zhuǎn)換時(shí)可以處理這種變化。但在分頁方 式中,
14、頁內(nèi)每一項(xiàng)不必是邏輯單位。因此, 就不可能對一頁中的所有值建立一種等級(jí)的 保護(hù)。 4.2.7 段頁式 綜合分段和分頁系統(tǒng)的優(yōu)點(diǎn)可以形成段頁式系 統(tǒng)。IBM 390系列、Multics操作系統(tǒng)都采用了 這種方式。程序員先將程序分成邏輯段,每段 再分成固定大小的若干頁。這種方式保留了段 的邏輯單元并允許有不同保護(hù)級(jí)別,但需要額 外的地址轉(zhuǎn)換??梢栽黾佑布砀纳茖?shí)現(xiàn)效率。 4.2.7 段頁式(續(xù)) 圖 4.9 段頁式 4.3 一般對象的訪問控制 在多道程序環(huán)境下,內(nèi)存保護(hù)只是對象保護(hù)對象保護(hù) 的一種特殊情形,需要保護(hù)的對象包括:內(nèi) 存、輔助存儲(chǔ)設(shè)備上的文件或數(shù)據(jù)、內(nèi)存中 正在執(zhí)行的程序、文件目錄、硬
15、件設(shè)備、數(shù) 據(jù)結(jié)構(gòu)、操作系統(tǒng)中的表、指令集特別是特 權(quán)指令集、口令和用戶鑒別機(jī)制、保護(hù)機(jī)制 本身等。 隨著對象數(shù)量的增多,對所有訪問集中授權(quán) 顯然不夠,而且訪問權(quán)限也不能簡單限制為 只讀,只寫或只執(zhí)行。我們用用戶或主體來 描述對一般對象的訪問。用戶和主體用戶和主體可以是 使用計(jì)算機(jī)程序的人、程序員、另一個(gè)對象 或需要使用這個(gè)對象的其他事件。 4.3 一般對象的訪問控制(續(xù)) 保護(hù)對象有幾點(diǎn)補(bǔ)充要求: (1) 檢查每次訪問檢查每次訪問:可以撤消用戶對于對象 的訪問權(quán)限,這需要用戶每次訪問都進(jìn)行 檢查。 (2) 執(zhí)行執(zhí)行最小特權(quán)最小特權(quán):主體應(yīng)該只訪問完成特 定任務(wù)所必須的對象,即使訪問了額外的
16、信息對主體沒有影響,主體也不應(yīng)當(dāng)執(zhí)行 這樣的訪問。 (3) 檢查允許用法檢查允許用法:訪問能力僅決定可或不 可訪問,但是,檢查對訪問對象的操作是 否合法同樣重要。 4.3.1 目錄 簡單的保護(hù)對象的方法是使用如同文件目 錄一樣的保護(hù)機(jī)制。每個(gè)用戶有一個(gè)文件 目錄,該目錄用于記錄用戶可以訪問的文 件。當(dāng)然不允許用戶寫文件目錄,而由操 作系統(tǒng)來維護(hù)所有文件目錄。讀、寫和執(zhí) 行是共享文件的訪問權(quán),另外一個(gè)權(quán)限 “所有者”歸文件所有者,允許其對用戶 進(jìn)行授予或撤消訪問權(quán)限。 4.3.1 目錄(續(xù)) 圖 4.10 訪問目錄 4.3.1 目錄(續(xù)) 為每個(gè)用戶維護(hù)一張文件目錄列表,雖然 比較易于實(shí)現(xiàn),但也
17、存在幾個(gè)困難之處: (1) 如果所有用戶都可以訪問的共享對象很 多,將造成列表很大。在用戶訪問目錄中, 每個(gè)即使不用的共享對象也要占一個(gè)表項(xiàng), 十分浪費(fèi),而刪除共享對象也必須反映到 每個(gè)用戶目錄中。 4.3.1 目錄(續(xù)) (2) 另一個(gè)難點(diǎn)是撤消訪問權(quán)限撤消訪問權(quán)限(revocation of access)。如果用戶A授予用戶B可讀文件F 的權(quán)限,F(xiàn)的權(quán)限將記入用戶B的訪問目錄 中。暗示用戶A和用戶B存在信任關(guān)系。當(dāng) 然,用戶A也可以撤消用戶B對文件F的權(quán)限。 但是如果用戶A要撤消所有用戶對文件F的 權(quán)限,這項(xiàng)工作在大系統(tǒng)中開銷很大。此 外,用戶B可能將文件F的權(quán)限轉(zhuǎn)交給了其 他用戶,造成
18、用戶A不知道存在其他用戶有 權(quán)訪問文件F,而無法撤消,這在網(wǎng)絡(luò)操作 系統(tǒng)中尤其嚴(yán)重。 4.3.1 目錄(續(xù)) (3) 再一個(gè)困難與文件別名有關(guān)。所有者A和B可能 分別有同名的兩個(gè)不同文件F,并且允許用戶S訪問 這兩個(gè)文件。顯然,用戶S的文件目錄不能包含文 件名相同但針對不同文件的兩個(gè)表項(xiàng)。一個(gè)方法是 把文件的所有者名字包含在文件名內(nèi),如A:F(或 B:F)。另一個(gè)辦法是允許用戶S在它的文件目錄中 用另外一個(gè)唯一的名字替文件F。這樣,用戶A的文 件F可能被用戶S稱為文件Q。用戶可能之后忘記文 件Q就是用戶A的文件F,再次向用戶A請求訪問文 件F,用戶A可能更信任用戶S比起初賦予更多權(quán)限, 這樣用
19、戶S就有了對文件F的兩種不同訪問權(quán)限,導(dǎo) 致不一致的多種訪問許可。 4.3.1 目錄(續(xù)) 圖 4.11 兩種訪問路徑 4.3.2 訪問控制列表 每個(gè)對象都有一個(gè)訪問控制列表訪問控制列表 (access control list),其中包含欲訪問該對象的所有主體,以及 主體具有的權(quán)限。訪問控制列表包含默認(rèn)表項(xiàng), 它表示所有用戶可以訪問該對象。特殊用戶可 以顯式說明訪問權(quán)限,而其他用戶則可以有一 組默認(rèn)訪問權(quán)限。在這種結(jié)構(gòu)下,公共文件或 程序可以被系統(tǒng)所有的潛在用戶訪問,而不需 要在每個(gè)用戶各自的訪問目錄為該對象增加表 項(xiàng)。 4.3.2 訪問控制列表(續(xù)) 圖4.12 訪問控制列表 4.3.2
20、訪問控制列表(續(xù)) Multics操作系統(tǒng)采用了這種形式的訪問控 制列表,列表中每個(gè)用戶有三種保護(hù)類: 用戶指一個(gè)特定主體;組將相同利益主體 組織在一起;分隔區(qū)限制了不信任的對象, 在一個(gè)分隔區(qū)中運(yùn)行的程序未經(jīng)許可不能 訪問另一個(gè)分隔區(qū)的對象。 4.3.2 訪問控制列表(續(xù)) 用戶Adams登錄時(shí),其身份是在分組Dec1及分隔區(qū) Art2的用戶。在會(huì)話中允許該用戶訪問的對象需要 在訪問控制列表中包含Adams-Dec1-Art2。這種保護(hù) 不實(shí)用,用戶Adams不能生成一般的文件用于所有 會(huì)話。共享對象、可接受的組和分隔區(qū)都需要明確 列出Adams。 解決辦法是引入通配符*(wild card
21、),它表示任意用 戶(或任意組或任意分隔區(qū)),例如, Adams-*-Art2。 訪問控制列表可以按順序組織,包含“*”的用戶排 列在所有說明了名字表項(xiàng)的后面。在查找規(guī)則中, 所有顯示給定了名字的表總是比表項(xiàng)中的任意位置 包含通配符的表項(xiàng)先檢查,而最后一項(xiàng)用戶可能是 *-*-*,定義所有不指明用戶的權(quán)限。 4.3.3 訪問控制矩陣 訪問控制矩陣訪問控制矩陣(access control matrix)是一張 表格,每行代表一個(gè)主體,每一列代表一 個(gè)對象,表中的每個(gè)元素表示訪問權(quán)限。 一般說來,訪問控制矩陣是一個(gè)稀疏矩陣。 因此,訪問控制矩陣也可以用的三元組表示。 表 4.1 訪問控制矩陣 4.
22、3.4 訪問權(quán)能 訪問權(quán)能訪問權(quán)能(capability),是一種不可偽造的標(biāo)簽 (ticket),代表對某個(gè)對象有某種類型的訪問 權(quán)限。使標(biāo)簽不可偽造的一個(gè)方法是不直接 將它交給用戶,而由操作系統(tǒng)代管。只有用 戶向操作系統(tǒng)發(fā)出特殊請求時(shí),才能生成訪 問權(quán)能。另一個(gè)方法是,使用訪問控制機(jī)制 的密鑰加密包含合法用戶身份的訪問權(quán)能證。 訪問權(quán)能將部分保護(hù)對象的負(fù)擔(dān)交給用戶, 對于對象的可能訪問權(quán)限包括轉(zhuǎn)移或傳播, 每個(gè)訪問權(quán)能都對應(yīng)一個(gè)許可的訪問權(quán)限類 型列表,如果具有轉(zhuǎn)移權(quán)限,用戶才可以將 對象的訪問權(quán)轉(zhuǎn)給第三方。 4.3.4 訪問權(quán)能(續(xù)) 考慮一個(gè)進(jìn)程執(zhí)行時(shí),它運(yùn)行在一個(gè)域域 (domain
23、)或本地名字空間本地名字空間(local name space) 中。域是進(jìn)程要訪問對象的集合。 圖 4.13 進(jìn)程執(zhí)行域 4.3.4 訪問權(quán)能(續(xù)) 而調(diào)用子程序時(shí),需要傳遞一些子程序需 要訪問的對象,主程序可以只傳遞部分對 象訪問權(quán)限給子程序,子程序也可以擁有 主程序沒有的其他對象訪問權(quán)。因?yàn)槊總€(gè) 訪問權(quán)能僅對應(yīng)一個(gè)對象,訪問權(quán)能的集 合定義了域。當(dāng)進(jìn)程調(diào)用子程序時(shí),操作 系統(tǒng)形成一個(gè)目前程序所有訪問權(quán)能堆棧, 之后為子程序產(chǎn)生一個(gè)新的訪問權(quán)能。 4.3.4 訪問權(quán)能(續(xù)) 圖 4.14 將對象傳遞給一個(gè)主體 4.3.4 訪問權(quán)能(續(xù)) 訪問權(quán)能的幾點(diǎn)說明: (1) 在操作上,訪問權(quán)能是跟
24、蹤執(zhí)行主體對于對象 的訪問權(quán)限的直接方法,可以用一張全面的表來 備份訪問權(quán)能。一個(gè)進(jìn)程需要使用新對象時(shí),由 操作系統(tǒng)檢查決定是否賦予新的權(quán)能。 (2) 訪問權(quán)能必須保存在普通用戶不可訪問的內(nèi)存 區(qū),可以存儲(chǔ)在用戶表不能引用的內(nèi)存段,或用 標(biāo)記結(jié)構(gòu)機(jī)制將訪問權(quán)能標(biāo)識(shí)為保護(hù)的數(shù)據(jù)結(jié)構(gòu)。 (3) 在執(zhí)行期間,只有被當(dāng)前進(jìn)程訪問過的對象的 權(quán)能會(huì)被保持可用狀態(tài),這可以改善訪問對象時(shí) 檢查速度。 (4) 訪問權(quán)能可以撤消,撤消后的訪問權(quán)能不允許 包含任何訪問權(quán)限。訪問權(quán)能表用指針形成活動(dòng) 訪問權(quán)能鏈,方便動(dòng)態(tài)管理。 4.3.5 Kerberos Kerberos實(shí)現(xiàn)了通過訪問權(quán)能(稱為票據(jù))的 鑒別與訪
25、問授權(quán),票據(jù)使用對稱加密技術(shù) 保證了安全性。 Kerberos具有兩個(gè)系統(tǒng)鑒別鑒別 服務(wù)器服務(wù)器(AS, authentication server)和票據(jù)授權(quán)票據(jù)授權(quán) 服務(wù)器服務(wù)器(TGS,ticket-granting server)。 它們 都是密鑰分發(fā)中心密鑰分發(fā)中心(KDC, key distribution center)的一部分。 Kerberos實(shí)現(xiàn)了單點(diǎn)登錄單點(diǎn)登錄(single sign-on),即 用戶只需要登錄一次,其后用戶被允許的 所有需要授權(quán)的活動(dòng)都不需要反復(fù)登錄。 4.3.5 Kerberos(續(xù)) 如果用戶需要在不同的域中訪問資源,只 要這兩個(gè)域之間建立了授權(quán),
26、用戶都可直 接訪問而不需要在不同的系統(tǒng)間登錄。 Kerberos實(shí)現(xiàn)了本地與遠(yuǎn)程鑒別和帶共享密 鑰系統(tǒng)的授權(quán),實(shí)際上,每個(gè)用戶的口令 被作為加密密鑰使用。 4.3.6 面向程序的訪問控制 面向程序面向程序(procedure-oriented)的保護(hù),即用 程序來控制訪問的對象(例如,通過執(zhí)行它 的用戶鑒別來加強(qiáng)操作系統(tǒng)提供的基本保 護(hù))。也就是說,程序在對象周圍形成保護(hù) 層,只準(zhǔn)許指定的訪問。 程序可以確保只有通過可信界面可信界面才能訪問對 象。例如,合法用戶表只允許三個(gè)程序訪 問該表:增加用戶程序,刪除用戶程序以 及檢查程序。增加用戶程序、刪除用戶程 序可以使用檢查機(jī)制以確保對它們的調(diào)用
27、是合法的 。 4.3.6 面向程序的訪問控制(續(xù)) 由于只有對象控制程序知道被保護(hù)的對象, 所以面向程序的保護(hù)方法實(shí)現(xiàn)了信息隱藏信息隱藏 的原則。當(dāng)然,保護(hù)的程度是以效率為代 價(jià)的。保護(hù)機(jī)制提供的靈活性越大,為此 付出的代價(jià)也越多。安全科學(xué)中,在簡單 性和功能性之間尋求平衡需要做出不斷的 努力。 4.3.7 基于角色的訪問控制 某些用戶(如系統(tǒng)管理員)具有某種特權(quán),而 其他用戶(普通用戶或客人)具有低一些的權(quán) 限。基于角色的訪問控制基于角色的訪問控制(role-based access control)可以將權(quán)限與分組聯(lián)系在一起。根 據(jù)職責(zé)的改變,用戶的訪問控制也相應(yīng)改 變,系統(tǒng)管理員不必為該
28、用戶重新選擇適 合的訪問權(quán)限。 4.4 文件保護(hù)機(jī)制 4.4.1 基本保護(hù)形式 保證用戶之間不能相互惡意或無意地訪問或 修改文件。隨著用戶的增多,這種保護(hù)方法 的復(fù)雜度也增大了。 完全保護(hù)或完全不保護(hù)完全保護(hù)或完全不保護(hù) 文件被默認(rèn)為公共文件,這里假定用戶只知 道他們有權(quán)訪問的文件名。 口令保護(hù)被認(rèn)為是保護(hù)操作系統(tǒng)最有價(jià)值的 方法。有兩種方法執(zhí)行:口令用于控制所有 的訪問(讀、寫或刪除),所有文件完全由系統(tǒng) 管理員控制;口令僅控制寫、刪除兩種訪問, 因?yàn)橹挥羞@兩種行為會(huì)影響其他用戶。 4.4.1 基本保護(hù)形式(續(xù)) 這種完全保護(hù)或完全不保護(hù)有幾個(gè)原因不切實(shí)際: 缺乏信任缺乏信任 :假定用戶值得
29、信任是不合理的。 過于粗糙過于粗糙 :即使確定了一批可信任的用戶,也沒有 簡單方法只允許這些用戶訪問。 共享的出現(xiàn)共享的出現(xiàn):這種保護(hù)更適合于批處理環(huán)境。在共 享使用環(huán)境下,用戶需要與其他用戶交互使用文件 與程序。 復(fù)雜性復(fù)雜性:因?yàn)槲募Wo(hù)需要機(jī)制干涉,降低了操作 系統(tǒng)的性能。 文件列表文件列表 :通常一些程序可以創(chuàng)建包含所有文件的 列表。因此,用戶不可能一點(diǎn)都不知道系統(tǒng)中駐留 文件情況。 4.4.1 基本保護(hù)形式(續(xù)) 組保護(hù)組保護(hù) 重點(diǎn)集中在識(shí)別有公共聯(lián)系的用戶組上。典 型的UNIX+實(shí)現(xiàn)是,主體世界被劃分為三個(gè) 等級(jí):用戶、相互信任的用戶組和其余用戶。 我們可以將之簡稱為用戶、用戶組和
30、全體用 戶。Windows NT+系列使用的分組是:系統(tǒng) 管理員、有權(quán)用戶、用戶和客人。 所有授權(quán)用戶被分成不同的組。用戶組成員 是基于共享需求而組合起來的,可以與其他 成員共享文件。一個(gè)用戶只能屬于一個(gè)組。 4.4.1 基本保護(hù)形式(續(xù)) 當(dāng)用戶創(chuàng)建一個(gè)文件時(shí),可以定義用戶本身、 組內(nèi)成員以及組外用戶的訪問權(quán)限。通常, 訪問權(quán)限來自一個(gè)有限集合,比如更新、 讀-執(zhí)行、讀、寫-創(chuàng)建-刪除。用戶組保護(hù) 的主要優(yōu)點(diǎn)就是易于實(shí)現(xiàn)。 盡管這種保護(hù)方案彌補(bǔ)了完全保護(hù)或完全不 保護(hù)方法的某些不足,但是也帶來了一些新 的麻煩。 組的從屬性組的從屬性:一個(gè)用戶不能屬于兩個(gè)組。 4.4.1 基本保護(hù)形式(續(xù))
31、多重身份多重身份 :為克服一個(gè)成員只能從屬一個(gè) 組的限制,允許一定數(shù)量的人有多個(gè)帳號(hào), 也就是允許一個(gè)用戶有多個(gè)用戶身份。多 重身份導(dǎo)致了帳號(hào)的增加、文件冗余、對 共同文件的有限保護(hù),以及用戶使用不方 便的問題。 所有組所有組:為了避免多重身份,用戶可以在 訪問執(zhí)行期間屬于多個(gè)組的成員。 限制共享限制共享:用戶希望根據(jù)每個(gè)文件的情況 識(shí)別共享文件的伙伴。 4.4.2 單獨(dú)許可 將單個(gè)文件與訪問許可聯(lián)系起來時(shí),還可 以有更簡單的保護(hù)實(shí)現(xiàn)方法。 持久許可持久許可 持久許可持久許可(persistent permission)通常是使用 一個(gè)名稱和令牌,通過訪問控制列表,決 定可以訪問的資源。 這種
32、方法的困難之處在于,將某用戶從一 個(gè)控制列表中刪除很容易,但找到針對該 用戶的所有控制,并刪除他的權(quán)限,則非 常復(fù)雜。 4.4.2 單獨(dú)許可(續(xù)) 獲得臨時(shí)許可獲得臨時(shí)許可 UNIX+操作系統(tǒng)提供了一個(gè)許可方案,方 案基于:用戶/組/全局。 UNIX的設(shè)計(jì)者增 加了一種 set userid (suid)的訪問許可。如果 對一個(gè)文件的保護(hù)設(shè)置為執(zhí)行保護(hù)設(shè)置為執(zhí)行,則文件的 保護(hù)級(jí)別是文件所有者而不是不是文件的執(zhí)行 者。由于普通用戶只能在規(guī)定的方式下執(zhí) 行系統(tǒng)功能,所以采用這種機(jī)制便于實(shí)現(xiàn) 系統(tǒng)功能。利用suid的特點(diǎn),系統(tǒng)可以擁有 一個(gè)口令修改程序,通過它可以完全訪問 系統(tǒng)的口令表。 4.4.
33、3 每個(gè)對象和每個(gè)用戶的保護(hù) 文件保護(hù)方法的最基本的限制是要求能夠 產(chǎn)生有意義的用戶組,組內(nèi)的用戶對一個(gè) 或多個(gè)數(shù)據(jù)集有相似的訪問權(quán)限。前面提 到的訪問控制表和訪問控制矩陣雖然靈活, 但如果某個(gè)用戶允許很多用戶分別對許多 不同的數(shù)據(jù)集進(jìn)行訪問,則該用戶必須詳 細(xì)說明每個(gè)數(shù)據(jù)集應(yīng)該被哪個(gè)用戶訪問。 當(dāng)增加一個(gè)新用戶時(shí),所有相關(guān)的用戶必 須詳細(xì)說明該用戶的訪問權(quán)限。 4.5 用戶鑒別 操作系統(tǒng)提供的大部分保護(hù)都是以知道用 戶身份為基礎(chǔ)的。生活中有許多鑒別手段, 包括文件、聲音識(shí)別、指紋和視網(wǎng)膜匹配 等可信的識(shí)別方法。但是在計(jì)算機(jī)技術(shù)中 鑒別工具的選擇有許多的局限性,而且安 全性可能更差。大多數(shù)計(jì)算
34、機(jī)系統(tǒng)的鑒別 需要依賴計(jì)算系統(tǒng)和用戶都知道的某些知 識(shí)。 鑒別機(jī)制使用下列三種性質(zhì)中的某種性質(zhì) 來確認(rèn)用戶的身份: (1) 用戶已知的事情用戶已知的事情:如口令、PIN數(shù)字、 口令短語等。 (2) 用戶擁有的東西用戶擁有的東西:如身份徽章、物理鑰 匙、駕駛執(zhí)照等。 (3) 用戶身體的一些特征用戶身體的一些特征:以用戶物理特征 為鑒別的基礎(chǔ),稱為生物特征鑒別生物特征鑒別 (biometrics),如指紋、人的聲音、相貌等。 # 兩種或更多方式結(jié)合起來能形成更穩(wěn)妥的 鑒別服務(wù)。 生物特征鑒別推進(jìn)困難的原因:用戶的接 受程度不高。 Prabhakar等列出了生物特征鑒別與隱私有 關(guān)的三類情況: (1
35、) 不可預(yù)計(jì)的功能范疇不可預(yù)計(jì)的功能范疇:鑒別不僅僅是授 權(quán),還可能具有其他附加的功能。 (2) 不可預(yù)計(jì)的應(yīng)用范疇不可預(yù)計(jì)的應(yīng)用范疇:鑒別例程識(shí)別客 體。例如鑒別例程可以識(shí)別出一個(gè)客體是 否使用的假姓名。 (3) 隱藏的身份識(shí)別隱藏的身份識(shí)別:不必通過識(shí)別或鑒別 就可以識(shí)別一個(gè)客體。 4.5.1 口令鑒別 口令口令(password) 是用戶和計(jì)算機(jī)都知道的一 個(gè)“單詞”??诹畋Wo(hù)可以提供一個(gè)相對 安全的系統(tǒng),但是人們對口令的不恰當(dāng)使 用可能降低安全保護(hù)的質(zhì)量。這里我們將 主要討論口令攻擊、選擇口令的標(biāo)準(zhǔn)和口 令的鑒別方法。 4.5.1 口令鑒別(續(xù)) 口令實(shí)際上是相互達(dá)成一致的字碼,并假定
36、只有用戶 和系統(tǒng)知道這個(gè)字碼??诹羁梢杂捎脩暨x擇也可以是 系統(tǒng)分配??诹罡袷胶烷L度各個(gè)操作系統(tǒng)會(huì)有所不同。 口令也存在一些問題: 丟失丟失 :根據(jù)口令的實(shí)現(xiàn)方法,沒有人能找回原來的口 令。 使用使用:每次訪問文件,都要求提供口令,這種方式非 常不方便。 泄露泄露:如果口令泄露給非授權(quán)個(gè)體,則文件就可能被 非法訪問。更改口令需要通知所有合法用戶。 撤消撤消:為了撤消一個(gè)用戶對文件的訪問權(quán)限,需要更 改口令,將引起與泄露口令相同的問題。 4.5.2 附加的鑒別信息 除用戶名和口令之外,可能還需要授權(quán)用戶 的其他信息來用于鑒別。如Adams工作于會(huì) 計(jì)部門,他允許的登錄辦公計(jì)算機(jī)的時(shí)間可 以是周一至
37、五的上午8:00至下午5:00。這樣做 的好處在于: (1) 阻止外界的某個(gè)人試圖假冒Adams。這種 嘗試由于時(shí)間或訪問端不符合而以失敗告終。 (2) 阻止Adams本人試圖在家或在周末訪問系 統(tǒng),訪問不允許使用的資源或偷偷地干不能 公開的事情。 副作用:使系統(tǒng)復(fù)雜化。 4.5.2 附加的鑒別信息(續(xù)) 使用附加的鑒別信息稱為多因素鑒別多因素鑒別 (multifactor authentication)。兩種形式的鑒別 稱為兩因素鑒別兩因素鑒別(two-factor authentication), 通常認(rèn)為比一種形式的鑒別好,因?yàn)橐话愕?說這樣的鑒別安全性更強(qiáng)。但隨之而來的是 復(fù)雜度增加。
38、 4.5.3 口令攻擊 有幾種方法可以確定用戶口令: (1) 嘗試所有可能的口令 (2) 嘗試經(jīng)常使用的口令 (3) 嘗試一個(gè)用戶可能的口令 (4) 查找系統(tǒng)口令表 (5) 詢問用戶 # 困難程度依次降低,成功可能性依次降低 4.5.3 口令攻擊(續(xù)) 松懈的系統(tǒng)松懈的系統(tǒng) 假設(shè)一個(gè)對系統(tǒng)一無所知的入侵者,如下 登錄設(shè)計(jì)不好: WELCOME TO THE XYZ COMPUTING SYSTEMS ENTER USER NAME: adams INVALID USER NAMEUNKNOWN USER ENTER USER NAME: 4.5.3 口令攻擊(續(xù)) 改進(jìn)的設(shè)計(jì)為: WELCOM
39、E TO THE XYZ COMPUTING SYSTEMS ENTER USER NAME: adams ENTER PASSWORD: john INVALID ACCESS ENTER USER NAME: 4.5.3 口令攻擊(續(xù)) 更好的設(shè)計(jì)為: ENTER USER NAME: adams ENTER PASSWORD: john INVALID ACCESS ENTER USER NAME: adams ENTER PASSWORD: johnq WELCOME TO THE XYZ COMPUTING SYSTEMS 4.5.3 口令攻擊(續(xù)) 窮舉法攻擊窮舉法攻擊 在窮舉法攻
40、擊窮舉法攻擊(exhaustive attack)或暴力攻擊暴力攻擊 (brute force attack)中,攻擊者通過某種自動(dòng) 的方式嘗試所有可能的口令。當(dāng)然,可能 口令的數(shù)量取決于特定計(jì)算系統(tǒng)的實(shí)現(xiàn)情 況。搜索特定的口令不需要嘗試所有口令, 而只需要測試到正確口令為止。如果口令 均勻分布,只需要測試一半的口令。 4.5.3 口令攻擊(續(xù)) 很可能的口令很可能的口令 大多數(shù)用戶都會(huì)選擇短的,常見的,容易 拼寫或發(fā)音的單詞作為口令。攻擊者在搜 索口令時(shí)意識(shí)到這一特點(diǎn),并有效利用它。 許多計(jì)算系統(tǒng)都帶有拼寫檢驗(yàn)程序,用于 檢查文件中拼寫錯(cuò)誤和印刷錯(cuò)誤,通常這 些程序包含最常用的單詞在線詞典,
41、以這 些詞作為搜索集合,通常需要的時(shí)間非常 短。 4.5.3 口令攻擊(續(xù)) 與用戶有關(guān)的可能口令與用戶有關(guān)的可能口令 一般情況下,用戶會(huì)選擇自己認(rèn)為有意義 的字符作為口令,例如,配偶、孩子、兄 弟姐妹、寵物、街道等的名字作為口令, 如果加以限制,這個(gè)口令集合實(shí)際非常小, 可以非??斓赝瓿蓪@個(gè)集合的口令正確 性驗(yàn)證。因此,口令保護(hù)在理論上很強(qiáng)大, 但在實(shí)踐中常常變得很脆弱。 4.5.3 口令攻擊(續(xù)) Morris和Thompson報(bào)道了他們收集的許多用 戶的口令統(tǒng)計(jì)規(guī)律。 表 4.2 實(shí)際口令的分布 統(tǒng)計(jì)人數(shù)統(tǒng)計(jì)人數(shù)百分率百分率口令形式口令形式 150.5%單個(gè)ASCII字符 722%兩個(gè)
42、ASCII字符 46414%三個(gè)ASCII字符 47714%4個(gè)字母 70621%5個(gè)字母(全部是大寫或小寫) 60518%6個(gè)小寫字母 49215%字典中的單詞或人名 283186%以上各類的合計(jì) 4.5.3 口令攻擊(續(xù)) 圖 4.15 用戶選擇的口令 # 在口令選擇方面的進(jìn)步非常有限 4.5.3 口令攻擊(續(xù)) Knight和Hartley依次排列了攻擊者在測試口 令時(shí)可能使用的12個(gè)步驟: (1) 沒有口令 (2) 和用戶ID相同 (3) 是用戶的名字或來源于用戶的名字 (4) 普通的單詞列表加普通的名字和模式 (5) 學(xué)生用字典 (6) 完整的英語單詞列表 (7) 非英語國家的常用字
43、典 4.5.3 口令攻擊(續(xù)) (8) 使用大小寫和替代字符的學(xué)生用字典 (9) 包含大小寫和替代字符的完整英語字典 (10) 包含大小寫和替代字符的非英語字典 (11) 暴力攻擊所有的小寫字母字符 (12) 暴力攻擊所有的字符 4.5.3 口令攻擊(續(xù)) 明文系統(tǒng)口令表明文系統(tǒng)口令表 口令表是一個(gè)包括用戶身份和相應(yīng)口令的 兩列表格??梢杂枚喾N不同的安全方法來 隱藏口令表,以避免無關(guān)用戶發(fā)現(xiàn)。 可以用強(qiáng)訪問控制方法限制對操作系統(tǒng)的 訪問以保護(hù)口令表。但是在一些系統(tǒng)中, 有n+1個(gè)用戶知道口令表,n個(gè)常規(guī)用戶和1 個(gè)操作系統(tǒng),并且操作系統(tǒng)的所有模塊沒 有區(qū)別對待,都有訪問所有信息的特權(quán)。 這使攻
44、擊者潛在可能利用操作系統(tǒng)的缺陷 訪問口令表。更好的方法是只有必要的操 作系統(tǒng)模塊才可以訪問口令表。 4.5.3 口令攻擊(續(xù)) 如果口令以明文方式存儲(chǔ),攻擊者也可以在適 當(dāng)時(shí)間通過遍歷內(nèi)存中的所有內(nèi)容,找到可 能為口令表的文件。 攻擊者利用系統(tǒng)備份也可以獲得口令表。為 了從系統(tǒng)錯(cuò)誤中恢復(fù),系統(tǒng)管理員會(huì)周期性 地把文件備份到一些介質(zhì)上以保證存儲(chǔ)安全。 如果普通用戶可以訪問系統(tǒng)備份,就可能獲 得系統(tǒng)備份的口令表,該表可能包含仍然有 效的口令。 還有可能泄露口令表的情況是其在磁盤上復(fù) 制以便保存。 4.5.3 口令攻擊(續(xù)) 加密口令文件加密口令文件 保護(hù)口令表的簡單辦法是:加密。用傳統(tǒng) 加密技術(shù),
45、既可以隱藏整個(gè)口令表,也可 以隱藏口令表的口令部分。接受用戶輸入 的口令后,系統(tǒng)對口令表中的口令進(jìn)行解 密,然后相互比較。但這種方法的缺點(diǎn)在 于可以在主存中以明文的方式獲取用戶的 口令。 4.5.3 口令攻擊(續(xù)) 另一種方法是使用單向函數(shù)加密技術(shù)??诹畋斫?jīng)過 單向函數(shù)計(jì)算后存儲(chǔ)。當(dāng)用戶輸入口令時(shí),計(jì)算它 的單向函數(shù)值,看是否與存儲(chǔ)值相等。UNIX操作系 統(tǒng)就使用這種訪問控制機(jī)制,所有用戶可以讀存儲(chǔ) 的口令表??偸怯锌赡軆蓚€(gè)人選擇相同的口令值, UNIX+操作系統(tǒng)通過擴(kuò)展口令來繞過這個(gè)弱點(diǎn),稱 為salt 。salt是包含系統(tǒng)時(shí)間和進(jìn)程標(biāo)識(shí)符組成的12 個(gè)比特。salt對于每個(gè)用戶唯一,且公開
46、,這樣即使 用戶選擇相同的口令pw,由于單向函數(shù)計(jì)算的輸入 是 (pw+salt),所以輸出也不會(huì)相等。 # 對于口令文件的保護(hù)與口令提供的保護(hù)具有相同 的重要性。 4.5.3 口令攻擊(續(xù)) 輕率的用戶輕率的用戶 一種簡單的方法是直接獲得口令。人們經(jīng) 常把口令輸入身邊的終端機(jī)中,或是寫在 卡片上放在抽屜里,特別是用戶有幾個(gè)帳 號(hào)的時(shí)候。分擔(dān)工作或共享數(shù)據(jù)時(shí),試圖 共享口令也比共享文件更危險(xiǎn)。 4.5.4 口令選擇標(biāo)準(zhǔn) 盡管口令應(yīng)用有諸多不盡如人意之處,但 可以預(yù)計(jì)在未來一段時(shí)間內(nèi)還將繼續(xù)使用。 其難度應(yīng)該適合環(huán)境的安全需要。我們可 以對口令的使用做如下總結(jié): (1) 用所有字符而不是只用用所
47、有字符而不是只用A Z:應(yīng)該包含 大小寫和數(shù)字。 (2) 選擇長口令選擇長口令:選擇的口令越長,被識(shí)破 的可能就越小。 (3) 避免實(shí)際的名字或單詞避免實(shí)際的名字或單詞:字母的隨機(jī)組 合的數(shù)量遠(yuǎn)遠(yuǎn)多于單詞數(shù)量。 4.5.4 口令選擇標(biāo)準(zhǔn)(續(xù)) (4) 選擇一個(gè)看似無意義的口令選擇一個(gè)看似無意義的口令:口令的選擇為雙 重約束。為了容易記住,需要選擇對用戶具有特別 意義的口令,而這又不能讓其他人猜出其意義。如, 2Brn2B代表“to be or not to be”,但像I10veu已經(jīng) 被收入字典了。 (5) 有規(guī)律地更改口令有規(guī)律地更改口令:即使沒有口令面臨威脅的 證據(jù),也要定期更改口令。
48、(6) 不要寫下口令不要寫下口令:實(shí)踐表明當(dāng)擁有多個(gè)帳戶口令 時(shí),設(shè)置相同口令或者使用不安全但好記的口令要 比將口令記錄在一個(gè)保護(hù)妥當(dāng)?shù)谋砩细kU(xiǎn),但是 在用戶自身安全面臨考驗(yàn)的時(shí)候除外。 (7) 不要告訴任何人不要告訴任何人:最容易的攻擊是使用社會(huì)工社會(huì)工 程學(xué)程學(xué)(social engineering)。 4.5.4 口令選擇標(biāo)準(zhǔn) (續(xù)) 一些系統(tǒng)提供了無字面意義但可發(fā)音的口令。 例如,VAX VMS系統(tǒng)隨機(jī)產(chǎn)生5個(gè)口令供用 戶選擇其中一個(gè)。但這樣產(chǎn)生的口令也容易 出錯(cuò),如,發(fā)音為bliptab和blaptib、blabtip易 混淆。 一些學(xué)者發(fā)現(xiàn)口令短語比口令字有更好的安 全強(qiáng)度。 有
49、些系統(tǒng)鼓勵(lì)用戶有規(guī)律的改變口令。如一 個(gè)系統(tǒng)規(guī)定30天更改一次口令,可以到了30 天后用戶第一次登錄時(shí),要求用戶修改口令。 有時(shí)系統(tǒng)要求周期性更改口令,用戶可以選 擇兩個(gè)口令交替使用,為防止這種情況, Windows 2000系統(tǒng)可以拒絕接受最近k次使用 過的口令。 4.5.4 口令選擇標(biāo)準(zhǔn)(續(xù)) 一次性口令一次性口令 一次性口令一次性口令(one-time password)只能使用一 次,以后不再有效。用戶使用一個(gè)靜態(tài)的數(shù) 學(xué)函數(shù),而不是一個(gè)靜態(tài)的短語。用戶使用 這個(gè)數(shù)學(xué)函數(shù)計(jì)算并把函數(shù)值返回給系統(tǒng)進(jìn) 行認(rèn)證。這樣的系統(tǒng)又稱為挑戰(zhàn)挑戰(zhàn)-響應(yīng)響應(yīng)系統(tǒng) (challenge-response
50、system)。Lamport 一次口 令方案就是此類方案。 4.5.4 口令選擇標(biāo)準(zhǔn) (續(xù)) 。給發(fā)送消息表示用戶:其中 ,: 處理如下操作:次身份識(shí)別,第協(xié)議消息 。開始計(jì)數(shù) 為用戶。真實(shí)的傳給保證最初分享的數(shù)據(jù) 。個(gè)次數(shù)需重新選擇一個(gè)避免重放攻擊,超過這 為定義許可的鑒別次數(shù)。或如固定常量 是單向函數(shù)。開始。令由秘密的用戶 一次性的建立過程 證明自己。用序列的一次口令向摘要:用戶 一次口令基于單向函數(shù)的 BXAXBA )(BA 1. (2) 1 ABB)( (1.3) ) ( )1000100( (1.2) A 1.1)( . (1) BA Lamport 0 wHwiA tii i w
51、Hw w tt Hw it i A t 協(xié)議協(xié)議 4.5.4 口令選擇標(biāo)準(zhǔn)(續(xù)) 。次驗(yàn)證需要的 ,并保存下一接收口令,令若檢驗(yàn)成功,則 。滿足:,且接收的口令效驗(yàn) 。,并將其傳給完成的計(jì)算中保存的中間值 本身或從起先可以由的設(shè)備計(jì)算 執(zhí)行如下操作:證明自己,為了在會(huì)話協(xié)議執(zhí)行 續(xù)一次口令基于單向函數(shù)的 i AA iiiA t it i w ii wwHwii wH wwHw i 1B )(B (3.2) B)( )(A (3.1) A . (3) )(Lamport 1 協(xié)議協(xié)議 4.5.4 口令選擇標(biāo)準(zhǔn)(續(xù)) 一次性口令使得中途截取口令變得毫無用 處。但是人們能夠記憶的算法程度有限, 因而
52、一次口令的實(shí)用性受到限制??诹钌?成設(shè)備,可以實(shí)現(xiàn)更復(fù)雜的函數(shù),價(jià)格合 理的這類設(shè)備已有好幾種型號(hào)了。 4.5.5 鑒別過程 在鑒別過程中,如果用戶錯(cuò)誤輸入口令, 一般的系統(tǒng)會(huì)允許其繼續(xù)輸入直到正確口 令為止。 一些系統(tǒng)可能會(huì)故意延長執(zhí)行時(shí)間,阻止 攻擊者搜索口令。 如果一個(gè)人連續(xù)登錄失敗,他可能不是授 權(quán)用戶。另一些系統(tǒng)會(huì)在幾次登錄失敗后, 斷開與用戶的連接。 更安全的系統(tǒng)中,可能會(huì)因?yàn)橛脩翦e(cuò)誤輸 入指定次數(shù)而將用戶帳戶鎖住。只有系統(tǒng) 管理員才能恢復(fù)其帳號(hào)。這樣系統(tǒng)管理員 可以識(shí)別出成為攻擊者目標(biāo)的賬號(hào)。 4.5.5 鑒別過程(續(xù)) 修復(fù)鑒別過程中的缺陷修復(fù)鑒別過程中的缺陷 口令被認(rèn)為是鑒別
53、用戶身份的最基本或第 一手證據(jù),如果對輸入口令產(chǎn)生懷疑,系 統(tǒng)可以要求更多令人信服的證明??梢圆??。涸黾恿硪惠喛诹畲_認(rèn)或挑戰(zhàn)-響應(yīng)協(xié)議, 實(shí)現(xiàn)第二層保護(hù)。如果有物理設(shè)備輔助可 以實(shí)現(xiàn)更強(qiáng)的挑戰(zhàn)-響應(yīng)協(xié)議。 4.5.5 鑒別過程(續(xù)) 另一個(gè)問題是假扮登錄界面問題。前面的討論都是 用戶向系統(tǒng)的單向鑒別過程。攻擊者也可能編寫出 與登錄程序完全相同的程序來,在目標(biāo)系統(tǒng)上建立 假扮登錄界面,等待無辜受害者輸入身份與口令信 息,之后以看似正常的方式結(jié)束會(huì)話。 為防止這種攻擊,用戶必須確保每次使用系統(tǒng)時(shí)都 要重新初始化。而有些計(jì)算機(jī)系統(tǒng)則通過網(wǎng)絡(luò)進(jìn)行 訪問連接,所以不可能重新初始化。 因此,用戶對 計(jì)算機(jī)系統(tǒng)也必須保持審慎態(tài)度。在相信系統(tǒng)是安 全之前不應(yīng)該輸入任何機(jī)密數(shù)據(jù)。當(dāng)然,在設(shè)計(jì)系 統(tǒng)時(shí)也可使系統(tǒng)在鑒別過程中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024工廠盤讓買賣合同
- 2024商品房買賣合同(預(yù)售)
- 2024不動(dòng)產(chǎn)附負(fù)擔(dān)贈(zèng)與合同下載
- 編程代碼大全(15篇)
- 2024上海市技術(shù)開發(fā)合同
- 2024標(biāo)準(zhǔn)的贈(zèng)與合同格式
- 2024學(xué)校食堂委托經(jīng)營的合同
- 2024勞務(wù)合同模板國際勞務(wù)合同范本
- 2024廣東省甘蔗種植訂購合同范本
- 2024股票轉(zhuǎn)讓合同范本
- 鋼結(jié)構(gòu)工程冬季施工方案
- 2024年宏觀經(jīng)濟(jì)發(fā)展情況分析報(bào)告
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 251直線與圓的位置關(guān)系(第1課時(shí))(導(dǎo)學(xué)案)(原卷版)
- XX有限公司人員分流方案
- 大語言模型賦能自動(dòng)化測試實(shí)踐、挑戰(zhàn)與展望-復(fù)旦大學(xué)(董震)
- 期中模擬檢測(1-3單元)2024-2025學(xué)年度第一學(xué)期西師大版二年級(jí)數(shù)學(xué)
- 追覓科技在線測評邏輯題
- 2024-2030年中國演藝行業(yè)發(fā)展分析及發(fā)展前景與趨勢預(yù)測研究報(bào)告
- 2024年重慶市渝北區(qū)數(shù)據(jù)谷八中小升初數(shù)學(xué)試卷
- 凝中國心鑄中華魂鑄牢中華民族共同體意識(shí)-小學(xué)民族團(tuán)結(jié)愛國主題班會(huì)課件
評論
0/150
提交評論