訪問控制與加密

任何系統(tǒng),尤其是網(wǎng)絡,都有兩大最重要的安全領(lǐng)域,這就是系統(tǒng)入口和系統(tǒng)信息的完整性。針對第一個領(lǐng)域的最有效辦法是訪問控制;針對第二個領(lǐng)域的最有效辦法是加密。

一、訪問控制

訪問控制系統(tǒng)把每個用戶的個人數(shù)據(jù)存貯在安全保密的計算機內(nèi)。當用戶訪問計算機系統(tǒng)或網(wǎng)絡時,必須檢索這些個人數(shù)據(jù)。為了避免同存貯這種數(shù)據(jù)庫的計算機進行額外通信,脫線系統(tǒng)要求用戶用磁條卡、數(shù)據(jù)鍵或“智能卡”提供這些數(shù)據(jù)。

訪問控制實際上可分成兩個主要方面:鑒別與授權(quán),鑒別指向系統(tǒng)驗證用戶或反之向用戶驗證系統(tǒng)。一旦用戶經(jīng)驗證并允許進入系統(tǒng),再由授權(quán)來處理允許他們做些什么。

1、鑒別

有人把鑒別定義為“以一種可靠的、不能偽造的辦法向通信系統(tǒng)的另一個成員驗證這一個成員”,一般理解為對用戶鑒別之后才允許他們訪問系統(tǒng)。憑三類項目可以確定用戶的身份;

①個人的有關(guān)東西,如指紋、聲波紋、手書簽名、眼掃瞄、甚至DNA密碼等;

②個人所擁有的東西,如身份證(識別卡)、身份鍵(密鑰)或存有個人相關(guān)數(shù)據(jù)的智能卡;

③個人所知道的東西,如通行字或個人專有信息。

當前最通用的鑒別方法是通行字保護。正當用戶都給予專用識別碼字,碼字必須經(jīng)系統(tǒng)認可之后才允許該用戶訪問。雖然通行字不失為一種簡單、可靠和適用的用戶鑒別體制,但能否提供合理水平的安全保密,仍有諸多因素必須加以澄清:

a、用戶容易記住他們自己選定的通行字,但往往都是一些比較簡單的東西,如朋友或家庭的姓名、生日、電話號碼等。這些東西恰恰也很容易被用戶的同事、熟人猜度出來;

b、通行字的長度很重要,它必須長到足以使試錯法或簡單的可能組合試驗法不能推導出來。不過話又說回來,通行字太長又難記住。有的用戶干脆把它寫下來,這樣反使問題變得更糟。理想的通行字應當無個人特點,長到足以阻止猜測推導,短到容易記住。有人提出以8~11個字符為宜,可.為一般用戶所接受;

c、即使是理想通行字,早晚也難免泄漏。這就是說通行字也必須經(jīng)常更換;

d、系統(tǒng)本身不會危及通行字的安全,但應注意不得把通行字打印到屏幕上。最重要的一件事是系統(tǒng)的通行字中央清單應當具有阻止非法或非授權(quán)訪問的保護能力;

e、系統(tǒng)應當具有防止通行字被猜測推導的保護能力。一種比較簡單的保護辦法是限制用戶輸入恰當通行字的嘗試數(shù)量。當然,系統(tǒng)對每次嘗試都必須記錄在案,以便審計追蹤;

f、通行字方案的一個通病是必須通行字才能允許用戶進入系統(tǒng),而用戶一旦進入系統(tǒng),在整個對話過程中便不再要求重傳通行字或發(fā)出停止對話信號。

顯然,通行字算不上最理想的鑒別體制。人們也曾對別的鑒別體制進行過試驗,但由于這樣或那樣的原因沒有成功。嘗試的物理制度包括指紋、聲波紋和編碼卡。雖然指紋值得花精力,不過當人們發(fā)現(xiàn)用一截磁帶,甚至一塊橡皮就能改變指紋時,試驗不得不暫時告終。聲波紋也不太可靠,抽煙、喝酒、過度疲勞,甚至傷風感冒都能引起聲波紋變動。編碼卡則是把獨特的二進制代碼編碼到卡片上,碼子是個人獨家所有,只要用戶不把卡片弄丟或轉(zhuǎn)借給親朋好友,則系統(tǒng)保持良好的工作狀態(tài)。此外,還試驗過鎖和鑰匙等。這些制度都有不盡人意的地方。因此,在更可靠的物理制度設計出來之前,通行字看來是最佳可用制度了。

在保密保安要求十分嚴格的系統(tǒng)中,使通行字方案更安全更可靠也不是辦不到的。如果通行字是隨機的和變化的,則它的許多缺陷都可得到克服。這種方案要求每一次訪問操作都采用不同的碼子組合。每個用戶都給予一套碼子,每個碼子都是一個隨機數(shù)字序列。用過的碼子則刪去,另外啟用新碼子。一次性隨機通行字只有在業(yè)務數(shù)量級較低的場合下使用,其它場合多采用數(shù)據(jù)或某種別的每天變更的嵌入式碼子。這些制度實現(xiàn)起來都比較麻煩,管理也不方便,但對某些系統(tǒng)的安全保密而言,又是值得花這個代價的。

鑒別的定義是對另一個通信成員驗證這一個通信成員,雖然通常把它理解為用戶驗證,但僅此理解是危險的,還必須驗證正在使用中的物理器件。

對網(wǎng)絡系統(tǒng),以及與其有關(guān)的截收、竊聽等的經(jīng)驗,已使比較高級的用戶們相信應當迫使終端自己證明其身份,因此,一旦建立起通信線路,訪問常只限于能提供出某種碼子的終端。換句話說,用戶得證明其終端的合法性,只不過證明的方法可以各異罷了。

在不能“見到”希望與之通信的計算機的網(wǎng)絡中,有必要在每次對話終結(jié)后弄清對方的身份。如果用戶不能確定被執(zhí)行的程序或硬件不妥,則可能傳送虛假數(shù)據(jù)。因此,必須進行相互鑒別。唯一可靠的解決辦法就是基于加密的鑒別協(xié)議,大體上講,是使用一種變化速度極快的獨特數(shù)值,數(shù)值經(jīng)高強度加密算法推導出的預定密鑰加密。這種方案酌工作步驟如下:

①用戶A(裝置)向中央系統(tǒng)發(fā)送一個隨機的獨特數(shù)據(jù)項,如日時;

②中央系統(tǒng)用它自己的鑒別密鑰加密接收到的數(shù)據(jù)項,并把加密后的數(shù)據(jù)項返回給終端;

③終端把信息脫密,并與原信息對比。數(shù)據(jù)是獨特的,即使騙子知道信息內(nèi)容,也無法確定加密的密鑰。

顯然,在數(shù)據(jù)傳輸、數(shù)據(jù)存貯、通行字存貯、其它有關(guān)安全保密的信息及現(xiàn)在的鑒別中,密碼已成為最好的憑藉手段。

2、授權(quán)

系統(tǒng)的內(nèi)部安全保密主要是控制對存貯數(shù)據(jù)的訪問。系統(tǒng)消除非法進入要比限制合法用戶進入非授權(quán)區(qū)域容易得多。一旦用戶被允許進入系統(tǒng),它就可以利用先進的程序“瀏覽’’或查閱被禁止的文件和程序。施加處理限制的硬件和軟件技術(shù),即授權(quán)系統(tǒng)能夠防止這種類型的滲透。

多數(shù)源點都按主體所擁有的對各分系統(tǒng)的訪問權(quán)來規(guī)定授權(quán)。主體這里指用戶、處理、程序等1分系統(tǒng)都是物理性質(zhì)的,如磁盤、磁帶、打印機等,或邏輯性質(zhì)的,如數(shù)據(jù)結(jié)構(gòu)等。主體和分系統(tǒng)互相保護,除非已批準授權(quán),否則沒有哪一方可接觸到另一方。

最普通的訪問權(quán)是READ、WRITE和EXECUTE,有的系統(tǒng)把APPEND和WRITE分開,不提供這些“權(quán)力”的組合。訪問權(quán)通常是在設立某個分系統(tǒng)時確定的,同時嚴格限定和控制這種訪問的能力。

實現(xiàn)訪問權(quán)的方式之一是訪問控制矩陣,它列出系統(tǒng)中的所有用戶和所有文件,并指明每個用戶對每份文件的訪問權(quán)。但在大型設備中,這種矩陣可能太大而不實用。因此,許多設備寧愿用一種分類制度來代替。分類制度把用戶劃分為等級不同的類別,不同的訪問權(quán)批準給不同等級不同類別的用戶。

這種制度的實現(xiàn)方式多種多樣,表格式、文件頭、以及基于容量的選址是其中的三種可能選擇方式。

授權(quán)在所有系統(tǒng)中都是一種保密保安的對策。在分布式系統(tǒng)中,應當把遠距離入口設備視為其訪問應當受到控制的主體。 IBM公司專門為美國國防部開發(fā)的系統(tǒng)使用雙重。ID系統(tǒng)來提供這種安全保密。授權(quán)TD分配給用戶和終端,用戶出示ID,系統(tǒng)檢查用戶和終端的合法性。ID系統(tǒng)有很多優(yōu)點,高授權(quán)限于較好保護的終端,即使對系統(tǒng)的非法訪問獲自使用高授權(quán)用戶ID的另外終端,也不能行使較高的權(quán)利。系統(tǒng)可把最高授權(quán)(即系統(tǒng)管理員地位)只限于控制臺。

當然,所有原則中最重要的是最少特權(quán)原則,這條原則不僅能防止諸多問題,而且還能限制損害。

盡管有這么多安全措施,也不能說哪一種制度就百分之百的安全。非法訪問總是可能發(fā)生,授權(quán)方案可能被利用或繞過以實現(xiàn)非法文件訪問,如果這些文件屬于機密或敏感性質(zhì)的,它們唯一的最終保護辦法,同非安全傳輸、非安全交換、以及通行字這類保密保安信息的編目存貯所提到過的辦法相同,即加密處理。

二、加密

密碼的核心是保密,即防止第三方從不安全通道的通信中獲取信息。密碼一度被認為只具有軍事和外交意義,隨著電子技術(shù)的飛速發(fā)展,密碼對于計算機行業(yè)也變得非常重要,已成為計算機信息保密不可缺少的手段。

通過暴露媒體傳送和存貯數(shù)據(jù)的唯一的通用辦法是采用某種形式的加密。因此,恰當?shù)募用芩惴ㄊ情_發(fā)安全網(wǎng)絡的前提。

密碼是利用數(shù)據(jù)變換使數(shù)據(jù)僅對指定用戶才是可以理解的。希望通過非安全通道發(fā)送信息的地方把明文(未加密的)信息文件傳送給密碼機,密碼機使用某種密鑰把明文變換成“密文”,然后再傳送。到達收方,密文經(jīng)脫密機脫密,提供出原始信息拷貝。密碼分析則是企圖不用密鑰使密文脫密的過程。

加密提供一種沒有加密用“密鑰”便不可能讀懂文電形式的數(shù)據(jù)存貯和傳輸方法。常規(guī)加密可看作是一種加密函數(shù):

C=F(D,K),

式中,D為要加密的數(shù)據(jù),K為要使用的密鑰,所得文電以D形式存貯。每一種密碼函數(shù)都必定存在一個唯一的函數(shù)F’,于是:

D=F‘(e,K)。

換句話說,如果知道原始密鑰,就一定能夠恢復出原始數(shù)據(jù)。只有在無密鑰K的情況下由C恢復D行不通時,使用函數(shù)F和F才有價值。函數(shù)F通常的作用是掩蓋原始數(shù)據(jù)的統(tǒng)計特性,因為正是輸入數(shù)據(jù)的統(tǒng)計特性或結(jié)構(gòu)使密碼分析成為可能。

特定加密算法的強度同密鑰長度與數(shù)據(jù)長度之比有關(guān)口理想的密碼要求密鑰同數(shù)據(jù)一樣長,不過這種長度的密鑰并不實用,原則上要求密鑰必須長到足以使所有可能組合在一定時間范圍內(nèi)不能被試驗出來。如果有大量的文電和大量的時間進行分析,密碼分析的成功率是比較高的。如果設計成經(jīng)常變換算法和密鑰的系統(tǒng),就能大大減少可利用的破譯時間。當然,有些信息有價值的時間長,在敏感形勢下,一次一密可能是唯一的選擇。

理想的密碼體制,如果誤用密鑰且又不知道算法,便不能使數(shù)據(jù)脫密;如果知道算法但不知道密鑰,照樣不能使數(shù)據(jù)脫密。加密通道的端點可有多種選擇。在分組交換網(wǎng)中,數(shù)據(jù)可在交換機中加密,這就是所謂“鏈路加’密”;在高得多的安全級別上,信息可在源點加密,在其目的地脫密,這就是所謂“端一端加密”。加密級別越高,通信越安全,信息越保密。一般是在打算防止的滲透類型確定之后才選定加密技術(shù)。若干比較簡單的技術(shù)可以防止無意的數(shù)據(jù)“瀏覽”,絕密數(shù)據(jù)則需要完全不可破譯的密碼。

小知識之訪問控制

訪問控制可分為自主訪問控制和強制訪問控制兩大類。
自主訪問控制,是指由用戶有權(quán)對自身所創(chuàng)建的訪問對象(文件、數(shù)據(jù)表等)進行訪問,并可將對這些對象的訪問權(quán)授予其他用戶和從授予權(quán)限的用戶收回其訪問權(quán)限
強制訪問控制,是指由系統(tǒng)(通過專門設置的系統(tǒng)安全員)對用戶所創(chuàng)建的對象進行統(tǒng)一的強制性控制,按照規(guī)定的規(guī)則決定哪些用戶可以對哪些對象進行什么樣操作系統(tǒng)類型的訪問,即使是創(chuàng)建者用戶,在創(chuàng)建一個對象后,也可能無權(quán)訪問該對象。