一. 密碼學原理
1.加密的簡單概念:將明文,即原始資訊或檔案,通過某種手段轉化為密文,以達到資訊保安的目的,這個手段就是加密。
上述過程用公式可以總結如下:
其中p為明文,q為密文,k為加密引數(金鑰),e為加密演算法。
在現代加密技術中,機密演算法本身是公開的,加密的安全性,完全由金鑰來決定,這也叫kerckhoffs準則。
2.加密演算法的大致分類:
私鑰加密技術:通訊雙方根據自己所持的私鑰對資訊進行加密解密。比如單字母替換就是一種私鑰加密技術。單字母替換指26個字母間存在的一種替換規則,如a->e,b->k等。這個替換規則即是金鑰。需要注意的是,這類私鑰加密技術通過加密金鑰可以容易的推出解密金鑰,因此應用不甚廣泛。
公鑰加密技術:即公開加密金鑰,用於解密的金鑰被私密儲存。這個體系之所以能被廣泛採用,基於加密演算法簡單,而解密演算法繁瑣這一特點。比如經典的rsa加密演算法,由加密金鑰推出解密金鑰是極其困難的。它基於這麼乙個數學知識:獲取兩個大質數的乘積很簡單,但從乘積獲取這兩個大質數卻十分困難。公鑰加密技術的問題在於其運算速度較慢。
單向函式機制:基於如此事實:對於
3.數字簽名:
數字簽名本質上用於資訊傳送者告知對方當前資訊由其本人傳送。
數字簽名的基本原理:1)傳送者將資訊(或文件)通過單向雜湊運算(如md5)壓縮為乙個16位元組(或32,64)的值。
2)傳送者將雜湊值與其私鑰加密,得到的簽名塊附加到文件最後傳送。
3)接受方收到資訊,用同樣的雜湊運算(事先約定好)計算文件的雜湊值p。
4)接收方用傳送方的公鑰對簽名塊進行解密,得到雜湊值q。
5)比較p和q,若相等,則證明資訊未被篡改,且傳送者無誤。
為了防止公鑰被篡改,傳送者往往在文件後附加數字證書,其包括了公鑰,傳送者姓名,可信第三方的數字簽名。而後通過上述過程進行識別。
4.可信平台模組:
對於加密演算法來說,金鑰的安全儲存至關重要。為了在不安全的系統中儲存金鑰,設計了一種稱為可信平台模組(tpm)的晶元。該晶元是一種加密處理器,使用內部的非易失性儲存介質來儲存金鑰。所有的加密解密操作都在其上進行。由於其是硬體,因此即使軟體系統不安全,也能保證金鑰安全存放。
二. 作業系統中的保護機制
1.保護域:域是(物件,許可權)的集合,它規定了乙個物件可以進行操作的集合。許可權即是某種操作的執行許可。保護域的作用即是禁止某些程序(或使用者)對未授權物件進行訪問。
2.最低許可權原則:為了使系統安全性越高越好,域的設定十分關鍵,保證域中每個物件的許可權最小且物件數量盡可能小的原則,即使最低許可權原則。
3.為了便於程序跟蹤域及域中物件,構造了乙個矩陣模型。該模型如下:
file1 file2 file3
read
read/write
exec
write
write
read/exec/write
每行表示域1,域2,域3,域4,每列表示物件,方塊給出了許可權集合。比如域1表示其中的程序可以對檔案1讀,對檔案讀/寫
4.從上述矩陣模型可以看出,其中存在大量空隙,如果儲存將十分浪費空間,為此提出了兩種優化策略:
1) 訪問控制列表:按列存放矩陣。對於上述矩陣,按列存放結果如下:
file1--------->[ a:r; c:w ]
file2--------->[ a:rw; b:e ]
file3--------->[ b:w; d:rwe ]
其中域1,2,3,4被簡單視為使用者a,b,c,d。上述錶即被稱為訪問控制列表,其給出了所有可訪問物件以及域如何訪問它們。
2)權能字列表:按行儲存矩陣。對於上述矩陣,按列存放結果如下:
a------>[ file1: r; file2: rw ]
b------->[ file2: e; file3: w ]
c------->[file1: w ]
d------->[ file3: rwe ]
每一行稱為乙個權能字,其給出了域中程序(使用者)對特定物件的許可權。
5.多級安全:
可自由支配的訪問控制和強制性的訪問控制:前者允許使用者來決定誰可以讀取他們的檔案;後者由機構定義誰可以看到什麼檔案,不能被其他人更改。
常見的多級安全模型:
1)bell-la padula模型:(以軍隊為例)
遵循的規定: 簡易安全規則:在密級k上的程序只能讀同一密級或更低階的物件。如將軍可以讀中尉的文件,反過來不行。
*規則:在密級k上執行的程序僅能寫同一密級或更高密級的物件。如中文只能在將軍的信箱新增自己已知的資訊,反過來不行。
通俗的講------------------->該模型可高讀低寫,但不能顛倒。
2)biba模型:(公司為例)
bell模型可以保守機密,但不能保證資料完整性(因為低級別使用者可以寫高階別使用者文件),為此提出了biba模型,該模型遵循兩個基本原則:
簡單完整性原則:在密級k上的程序只能寫同一級別或更低階別的物件。(總裁的文件不能被員工篡改)
完整性*原則:在密級k上的程序只能讀同一級別或更高階別的物件。(經理不能讀下發給員工的任務)
作業系統 安全相關的知識2
一.認證 什麼是認證 確認登陸系統的使用者是否為該系統所許可。黑客與駭客 一般而言,兩者都是企圖非法登入到使用者計算機。前者經常用於形容資深程式設計師,後者通常是一些從事違法行為的人。黑客分為白帽子黑客與黑帽子黑客,後者從事破壞活動,與駭客類似。認證的基本手段 1.使用口令認證 這種認證方式即是我們...
作業系統安全深入
計算機安全原理與實踐 黑客攻防技術寶典.系統實戰篇.第二版.pdf 黑客之道 漏洞發的藝術.jon.erickson.掃瞄版 黑客除錯技術揭密.美.kaspersky.掃瞄版.pdf 0day安全 軟體漏洞分析技術 第2版 shellcoder程式設計揭秘 老碼識途 從機器碼到框架的系統觀逆向修煉之...
作業系統安全認知
阿里雲大學課程 作業系統安全認知 課程介紹 本認證課程旨在幫助學員了解在雲計算環境中作業系統常見的安全問題,以及作業系統具有的安全機制,特別是windows作業系統和linux作業系統的安全機制,只有掌握了這些安全機制,才能更好的做好作業系統安全防護,減少作業系統的威脅。課程目標 了解雲計算場景作業...