資訊與網路安全技術 第一章 安全性資訊系統簡介  上一頁      下一頁

 

1-4 系統的安全性

內容:

  • 1-4-1 安全性措施

  • 1-4-2 安全性等級

  • 1-4-3 封閉性用戶認證

  • 1-4-4 開放性用戶認證

ㄧ般所言的『電腦安全』(Computer Security『系統安全』(System Security,大多屬於『作業系統』(Operating System的安全範疇。但目前資訊系統的運用大多透過網路傳輸,與其它系統之間共同處理,因此,安全性並不僅侷限於『本地作業系統』(Local OS),而應該考慮到『網路作業系統』(Network Operating System, NOS領域,以下將介紹其重點。

1-4-1 安全性措施

基本上,作業系統的安全性大多是由廠商所提供,近年來作業系統大多已將網路功能整合進入系統核心之內,成為名符其實的網路作業系統。因此,考量系統安全性之時,也需考量網路的安全性,即是,本書所介紹的各種安全技術大多也涵蓋在作業系統之內。我們將作業系統所需的安全技術歸類如下:

  • 密碼與用戶認證:密碼為使用者進入系統的最後一道關卡,很不幸的,使用者密碼必須儲存在系統的某一個檔案之內(如 /etc/passwd)。當然,我們絕不會將密碼的明文儲存在檔案,而會經過特殊處理(如醃製法)之後,再存入檔案;然而,當客戶登入系統時,會以某一認證協定來判斷客戶的真偽,最簡單的方法是『盤問/回應』,當然有許多系統為了增加它的安全性而採用 Kerberos 認證協定。(第十章說明)

  • 資源授權與分配:針對每一使用者(或群組)使用資源的權限,必須劃分清楚,尤其在分散式處理環境裡,我們很難預測使用者會來自何方。一般系統內都會針對每一個檔案維護一只完整的『存取控制表』(ACL),當使用者存取檔案時,再比對是否在權限範圍之內。

  • 安全稽核:安全的作業系統必須提供稽核檢查哪些檔案被不當存取,此為非常重要的安全機制。管理者必須隨時檢視稽核紀錄,由紀錄中找出隱形的入侵者;這方面本書第十四章會有詳細的介紹。

  • 存取紀錄:可以針對使用者或檔案作存取的紀錄(或稱日誌檔案)。一般來講,此紀錄檔案可能非常的大,必須透過專屬的資料庫系統分析與統計;由統計出來的訊息可以了解檔案被存取的現象,從中也可以找出入侵者的蛛絲馬跡。

  • 資源備份:資源備份是管理者例行的公事。然而安全性作業系統也必須提供每日異動資料備份、與週期性的整體備份之工具。

  • 病毒防範:病毒防範是目前系統最不可或缺的事項,也是入侵者最直接進入系統的工具;這方面本書第十四章會有詳細的介紹。

各家廠商所發行的安全性作業系統,之間的管理方式都大異其趣,管理者必須詳讀他們的操作手冊,才能如魚得水般的順手管理。本書限於篇幅無法再闢一個章節來介紹系統安全,但相關技術也會出現在各章節之中。

1-4-2 安全性等級

許多廠商都將稱其具有安全機制的作業系統為『安全性作業系統』(Secure Operating System,但安全性如何又另當別論了。美國國防部有鑑於此,因此發行一本俗稱為『橘皮書』(The Orange Book)來定義作業系統安全性的等級,其中包含了四個等級,如下:

  • 等級 D最低安全防護。

  • 等級 C隨意性的安全防護。

  • 等級 B強制性的安全防護。

  • 等級 A驗證性的安全防護。

最低等級 D 幾乎沒有什麼安全機制,這類等級的作業系統大多屬於個人電腦(PC),如 Windows Xp 系列。等級 D 的作業系統並不強制使用者遵循安全措施來操作,並且可隨意選擇哪些安全機制。等級 C 包含兩個子分類:C1 C2C1 包括密碼使用、檔案存取限制、與防止意外傷害(如檔案損壞)等能力;C2 除了包含 C1 的能力之外,還增加稽核檢查能力。一般都將 Unix Windows 2000 歸類於 C2 的等級,但從安全稽核的能力來看,Windows 2000 似乎比 Unix 能力強了一點(事實上很難評論)。

等級 B 包含三個子分類,基本上都會要求提供安全文件、主動防護的安全機制、以及系統故障時的安全維護。B1 包含了 C2 所有的功能,並能區分出與安全有關或無關的系統部分;B2 增加了安全系統的數學描述,且必須提供改變架構時的安全措施,並保證新的安全架構不會出現『後門』的現象;B3 系統更進一步,要求系統管理員必須負起安全職責,尤其當系統發生故障時也必須維護系統的安全。等級 A 為最高等級,必須以數學方式來驗證系統的安全性,以及提供安全政策是否合乎安全設計的明細表。

1-4-3 封閉性用戶認證

『用戶認證』(User Authentication表示使用者登入系統時,系統如何去判斷登入者的身份,再授與登入者適當的使用權限。如果以單一主機系統而言,最基本方法是以『帳號 + 密碼』(Account + Password來認證登入者的身份。但當公司內有多只伺服主機時,是否需要在每部主機上建立每位員工帳號?又員工同時存取多部主機上資源時,是否需要登入每部主機呢?尤其目前資訊化蓬勃發展之期,規模稍大的公司內,大多擁有多部主機系統,吾人必須發展一套特殊工具將系統資源與用戶整合管理,這就是用戶認證系統。目前最普遍使用的認證系統為 Kerberos,它使用較複雜的盤問/回應認證協定,來確認登入者的身份,其它運作程序如圖 1-8 所示,說明如下:

  • 步驟 1用戶端向 Kerberos 系統登入,並取得欲通往哪一個伺服器的通行證。

  • 步驟 2:用戶端持著通行證,向伺服器要求給予服務。

  • 步驟 3伺服器向 Kerberos 確認通行證的合法性。

  • 步驟 4伺服器回應給客戶端是否給予服務。

1-8 用戶認證系統

並非每一次客戶要求服務之前,都必須向 Kerberos 系統索取通行證,而是每一張通行證都有註明持有人身分及有效期限。在這有效期限之內,持有人可以向任何系統資源提出服務要求。本書在第十章會詳細介紹到相關技術。

1-4-4 開放性用戶認證

Kerberos 大多運用組織單位內的電子化系統,亦是,用戶端使用之前都必須在管理系統上建立帳號。更清楚的說,使用者都是熟人,多半不是陌生人。但在開放式的電子商務(或電子化公司、電子化政府)環境底下,通訊對象可能來自世界各地的陌生人,或久久才使用一次(如申報綜合所得稅)。如何確認陌生人的身份與交易方法,這可必須仰賴以下介紹的數位憑證。

我們可以回想一下在公開鑰匙系統底下,每一個使用者都擁有一對公開鑰匙與私有鑰匙,並且向外公佈該公開鑰匙所代表持有人的身份;只要收到某一個數位簽章的訊息,如能夠由某一個人的公開鑰匙認證成功的話,則表示該訊息一定被持有人保證並簽署過的。此種現象就好像火車站的儲物櫃一樣,只認識鑰匙而不理會到底是何人持有鑰匙。在電子化的環境裡,僅以擁有鑰匙來確認持有人身分是不夠的,譬如高雄與台北都有一個志明,各擁有一把公開鑰匙,我們很難去區分哪一把鑰匙是高雄志明或台北志明的。再說,任何人都可以公佈它的公開鑰匙的話,也很容易被偽造的;譬如,志明可以在網路上公開一把鑰匙,並宣稱該鑰匙為春嬌所有,我們又如何來辨別它呢?

由此可見,僅利用公開鑰匙來證明身份是不夠的,它必須經過權威單位來證明它的合法性,因此,便誕生了『數位憑證』(Digital Certificate。數位憑證是一張電子性的文件,它裡面記載了持有人的姓名、郵政地址、電子郵遞地址、公開鑰匙、以及有效期限等等;使用者必須持有有效證件向權威單位(譬如內政部)申請,並經過權威單位審核無誤後,才會發憑證給予申請者,發行憑證的單位一般稱之為『憑證授權』(Certificate Authority, CA中心。CA 中心會利用它的私有鑰匙來簽署所發行憑證,以保證該憑證的合法性(有如關防的功能);然而,任何人都可以利用 CA 中心的公開鑰匙來認證所發行憑證的真偽。

簡單的說,數位憑證是虛擬網路上的合法『身分證』,在陌生的開放性環境裏確認身分的主要工具。圖 1-9 即是說明數位憑證如何在網路上顯示身份,與要求服務的運作程序,如下:

1-9 數位憑證與 PKI 系統的運作程序

  • 步驟 1使用者持有效證件向憑證授權中心(CAb)申請數位憑證,並經審核合格後取得憑證。

  • 步驟 2使用者出示憑證向服務機構請求服務。

  • 步驟 3服務機構收到使用者的憑證之後,可由憑證上的數位簽章來認證它的合法性(與確認性),並且觀察憑證內記載的有效期限是否過期;如果服務機構還需要更進一步確認的話,可將該憑證轉送給它直屬的 CA 中心(CAc),請求它幫忙確認;該 CA 中心(CAc)透過認證路徑找到原發行該憑證發行的 CACAb),從中找尋有關該憑證的資料(如註銷或逾期等等),再回應給服務機構。

  • 步驟 4服務機構確認憑證之後,回應訊息給使用者表明是否給予服務。

目前網際網路上大多採用 X.509 v3 數位憑證,關於數位憑證與 PKI 系統,本書將於第七與第九章有更詳細說明

主講人:粘添壽博士

 

資訊與網路安全技術