資訊安全的CAIN原則及其相關技術

Updated : 2005 年 11 月 16 日

作者: 賴榮樞
http://www.goodman-lai.idv.tw

就算不瞭解或沒聽過CAIN原則,但實際上每一位系統或網路管理者的日常工作都與CAIN原則息息相關,因此,如果想要掌握企業的資訊安全,不妨先從掌握CAIN原則開始。

所謂的CAIN原則(CAIN principle),是與資訊安全關係密切的四項基本概念:機密(confidentiality)、存取(access)、完整(integrity)、不可否認(nonrepudiation)。如果能瞭解這四項重要的概念,對資訊安全將能有事半功倍的效果。

本頁內容

CAIN原則
密碼學:保全資料的技術
以密碼學為基礎的應用
影響資訊安全的基礎與技術

CAIN原則

機密

不該看到就不能看到,便是所謂的機密(confidentiality)。在安全的企業環境,不論是資源、通訊、資料或資訊,都只能讓獲得授權的使用者看到(或使用)。

若干方式皆能維持機密,例如將資訊和權限依照機密劃分等級,擁有足夠的權限才能使用機密資訊,也就是利用ACL(access control list)就能達到這類的控制。此外,也可以將機密資料加密,只讓獲得授權的使用者擁有解密金鑰。

存取

資訊安全的存取(access)必須處理兩項因素。首先是資訊的可用性,也就是獲得授權的使用者在需要的時候,就能使用資訊;因此可能需要以備援來加強資訊的可用性。其次,存取還必須控制誰能存取,也就是身分識別,而認證(authentication)可以用來確認要使用網路資源的使用者,已經具備了適當的資源存取權限。基本的認證通常會要求每位使用者擁有使用者識別碼和通行碼(password),比較複雜的認證則還會要求晶片卡、甚至以瞳孔或指紋等生物特徵作為辨識,而每組識別碼和通行碼所能存取的權限(或限制)也各不相同。

通行碼對使用者存取資訊,是重要的關鍵,網路管理者應該要小心留意使用者的通行碼設定方式,因為密碼應該難以猜出,否則資訊安全可能就有漏洞。有一些密碼設定的規則,可以協助使用者產生不易被攻擊者猜出的密碼,而且管理者也應該強制使用者遵守通行碼的設定規定。以下列出了一些設定通行碼的建議:

  • 長度要夠長,至少必須要8個字元

  • 必須包含字母、數字和特殊符號

  • 必須包含大寫和小寫字元

  • 必須定期更換,而且不能重複

  • 不要共用,不同的地方或不同的使用者,都不應該設定相同的通行碼

  • 不要與家人、朋友、或寵物相關的資料當作密碼,例如他們的名字或生日、紀念日、節日

  • 別將密碼寫在或放在他人看得見的地方

完整

完整(integrity)是指資料的完整、不被竄改,也就是資料修改權的約束與限制,因為並非人人都能修改資料,只有擁有權限的人才能修改。

不可否認

資料通訊都有發、收兩端,安全的環境可以讓收到資料的使用者,確定資料是由誰送來的,而且也能確定資料在傳送過程不會遭到竄改,這就是所謂的不可否認(nonrepudiation);不可否認同時也意味著收到的資料是已獲證實。

密碼學:保全資料的技術

密碼學(cryptography)是一門將資訊加密和解密的科學,目的是不輕易的讓資訊內容被未經授權的人瞭解或修改。密碼學可以應用在認證、不可否認、隱私、訊息完整、數位簽章。密碼(cipher)是密碼學的關鍵,好的密碼應該符合兩項規範:首先,不使用金鑰應該難以將密文還原成明文;其次,密文所顯示的字母符號,出現的頻率應該相同。若能符合這兩項規範,就不容易利用統計攻擊的方式找出密文的密碼對映模式。

對稱式密碼和不對稱密碼是密碼的兩種主要類型,收發兩端可以根據需求或配置,擇一或同時使用這兩種類型的密碼,但是這兩種類型也各有優缺點。對稱式密碼(symmetric cipher)的發送端和接收端必須使用相同的金鑰來加密和解密,而不對稱密碼(asymmetric cipher)的發送端和接收端則使用不同的金鑰來加密和解密,但兩端都必須同意對方所用的金鑰。

對稱式密碼

對稱式密碼需要發送端和接收端共用加解密的金鑰資訊,但這共用金鑰的簡單行為,卻會讓對稱式密碼的安全風險大於不對稱密碼,因為共用金鑰就表示很多人都能知道這把金鑰的細節。而且若通訊中的發送端和接收端相隔著實體距離時,要如何安全的在這兩端交換金鑰,就變得困難,因為相隔的實體距離,會增加兩端在交換金鑰時,為攔截或竊取金鑰而被入侵或攻擊的機會。因此,因為對稱式密碼只使用一把金鑰,因此攻擊者就比較容易分辨出兩端所使用的金鑰。

共用同一把金鑰其實也並非完全沒有優點,例如因為只用了一把金鑰,因此運算的速度會比不對稱密碼快,則是對稱式密碼的優點。

不對稱密碼

不對稱密碼使用了兩把不同的金鑰:公開金鑰與私密金鑰,這兩把金鑰也稱為金鑰對(key pair),其中一把用來加密,另一把用來解密。公開金鑰(public key)顧名思義是公開給大家使用,而私密金鑰(private key)就只有擁有者能用,而且是由擁有者自行管理。

當傳送端要傳訊息給接收端,傳送端會以接收端的公開金鑰來加密訊息(接收端的公開金鑰是眾人皆能使用),然後將密文傳給接收端。接收端收到後,就以其的私密金鑰來解密訊息;只有接收端擁有這把私密金鑰,因此也只有接收端能解密訊息。如果換成是接收端要傳訊息給傳送端,整個情況也跟著反過來。

收發兩端隨時都能更換並重新公佈他們的公開金鑰給眾人,而且也能隨時更換私密金鑰。經常更換私密金鑰可以提高安全性,因為這會讓攻擊者難以發現私密金鑰;而公開金鑰可以被任意的散播,完全不會因此而危及安全,因為多方的安全通訊只需要交換公開金鑰。但是不對稱密碼要擔心公開金鑰的使用者認證;此外,因為使用了兩把金鑰,因此不對稱密碼的處理時間較長。

連線金鑰

建立連線金鑰可以兼具對稱式密碼和不對稱密碼的優點。連線金鑰(session key)會使用定期更換、更新的金鑰對,而且當發送端和接收端通訊之際,就會建立雙方的連線(session)。連線金鑰的作法,是以對稱式密碼來傳送訊息(這是佔通訊最大的部分),可以更快的速度完成這部份的傳輸。為了維持通訊的安全,就以不對稱密碼來傳送或更新對稱式密碼所共用的金鑰。在通訊的時候,資料的加解密是由連線金鑰對完成,而當通訊終止時,連線金鑰對也隨之終止;連線金鑰也因為是在發送端和接收端的連線期間被建立、使用。

以密碼學為基礎的應用

公開金鑰基礎建設(Public Key Infrastructure,PKI)是非常重要的基礎技術,因為認證和數位憑證都需要這項基礎技術。PKI會產生建立機密通訊的金鑰對,為此,PKI使用數位憑證來強制達到兩項要求:首先,只有數位憑證的擁有者能夠處理符合公開金鑰認證的私密金鑰;其次,攔截到數位憑證的未經授權使用者,也無法以此憑證找到私密金鑰。PKI是以使用公開金鑰和私密金鑰的不對稱密碼為基礎,諸如Windows 2000/2003等伺服器作業系統,都已經內建了PKI的功能。

數位簽章(digital signature)是以特定使用者的私密金鑰所加密的資料,這可以用來確認訊息的發送者是否真如宣稱的相同,也就是說,訊息的接受者可以利用數位簽章來確認以傳送者公開金鑰所發送的訊息,因為如果訊息內的資料有任何的更改,數位簽章就會失效,接收者就能因此得知此訊息也屬無效。第三方的憑證管理機構(Certificate Authority,CA)通常能管理、使用數位憑證,而且會將私密金鑰包入公開金鑰,以保證安全通訊所用的數位簽章是有效的。

Kerberos是一種廣為使用的認證服務,這是由麻省理工學院(MIT)所發展的加密技術,目的是提供中央控管(通常是透過伺服器)的認證服務,讓伺服器和使用者能夠互相認證。這樣的認證對分散式環境非常有用,因此藉由Kerberos這類的服務,使用者可以從不同的地方登入網路,進而使用網路服務。

PGP(Pretty Good Privacy,PGP)是一種用在電子郵件的加密技術,Paul Zimmerman除了發展了PGP的技術,同時也公開了PGP的原始程式碼和文件,任何人皆能取得PGP的原始資料。PGP非常成功,因為這項技術提供了標準化的電子郵件加密方法。

影響資訊安全的基礎與技術

防火牆或相關產品會影響資訊安全,但資訊安全卻不能只依賴這些產品,還有很多重要的基礎概念,並且延伸出若干重要的技術和產品。CAIN原則雖然只有四項,但卻是四項非常基礎的重要關鍵。這四項原則本身並非技術,反之,需要相關的技術來維護這四項原則以維護資訊安全。

與CAIN原則相關的技術眾多,本文僅約略提及密碼及若干應用。資訊安全是企業的關鍵,優秀的專業IT人員能夠將企業的重要資訊防護在牢固的堡壘之中,並且還能維持良好的網路效能。電腦與網路安全不僅是專門的技術,也是專門的學問,本文重溫CAIN原則,讓IT人員在規劃、檢視資安策略之前,能夠先從基礎的概念著手,以確實掌握資訊安全的具體面向。

參考資料:

  • Allen Dooley(2005), Business Data Communications, Prentice Hall