自稱Solaris系統管理員的,應了解一下Solaris 密碼體系:
Solaris OS Cryptographic Framework(SCF)密碼體系以無縫透明的形式對用戶提供應用和內核模塊的加密服務,用戶應用很少察覺到,並且很少受到干擾,其中包括命令、用戶程序編程接口、內核編程接口,和其優化加密算法的程序,包括:
AES - Advanced Encryption Standard高級加密標准, 是美國聯邦政府標准,是指定的標准密碼系統,未來將在政府和銀行業用戶使用,因為它的執行速度很快,十分適合於現代需求(如智能卡),而且能夠使用的密鑰大小范圍很廣。
ARC4 - the public implementation of RC4
Blowfish - Bruce Schneier於1995年發表,最大448位可變長密鑰。
DES - Data Encryption Standard, 在 1977 年被美國政府正式采納,是全世界最廣泛使用的加密算法。除政府以外,銀行業是加密的最大用戶,主要問題是其密鑰長度很短,密鑰實際上有 64 位,但密鑰有 8 位是奇偶校驗位,DES 密鑰實際只有 56 位在起作用,完全不適合於當今的形勢,它已由AES高級加密標准算法代替了。
3DES - 即三重 DES,只是以某種特殊的順序使用2個密鑰執行三次 DES,也可以使用三個單獨密鑰。
DH - Diffie-Hellman密鑰協議,由公開密鑰密碼體制的奠基人Diffie和Hellman所提出的一種思想,允許兩名用戶在公開媒體上交換信息以生成"一致"的,可以共享的密鑰
DSA - Digital Signature Algorithm is a United States Federal Government standard for digital signatures,所謂數字簽名就是信息發送者用其私鑰對從所傳報文中提取出的特征數據(或稱數字指紋)進行RSA算法操作,以保證發信人無法抵賴曾發過該信息(即不可抵賴性),同時也確保信息報文在經簽名後末被篡改(即完整性)。當信息接收者收到報文後,就可以用發送者的公鑰對數字簽名進行驗證。
HMAC - Keyed-hash message authentication code,MAC有幾種工作方式。第一種方式是在計算摘要之前,將秘鑰並置到數據末尾。如果沒有秘鑰,則無法確認數據未經改動。另一種計算更復雜的方式是照常計算散列,然後再使用對稱算法(如 DES)加密散列。要認證散列,必須首先對它解密。 HMAC is a type of MAC calculated using a cryptographic hash function in combination with a secret key。
MAC - Message Authentication Code 消息認證代碼,使用一個密鑰生成一個固定大小的小數據塊,並加入到消息中。該密鑰可以用於認證可疑數據,確保加密位流在傳輸中免遭惡意修改。
MD5 - Message-Digest Algorithm由麻省理工學院為開發的用於數字簽名的信息-摘要算法,做Message的Hash變換,將任意長度的Message變換成一個128位的大整數,並且它是一個不可逆的字符串變換算法,MD5的典型應用是對一段Message產生數字指紋,以防止被篡改,即數字簽名應用。2004年8月17日的美國國際密碼學會議,山東大學王小雲教授成功破解MD5算法的報告,發現可以很快的找到MD5的碰撞,即兩個文件可以產生相同的指紋。
PKCS - Public-Key Cryptography Standards是由美國RSA數據安全公司及其合作伙伴制定的一組公鑰密碼學標准,其中包括證書申請、證書更新、證書作廢表發布、擴展證書內容以及數字簽名、數字信封的格式等方面的一系列相關協議。PKCS已經公布了PKCS#1到PKCS#15。
PKCS#5 - 基於口令的加密標准,是一種利用從口令派生出來的安全密鑰加密字符串的方法。使用MD5 從口令中派生密鑰,並采用DES-CBC模式加密。主要用於加密從一個計算機傳送到另一個計算機的私人密鑰,不能用於加密消息。
PKCS#11 - 定義了一套獨立於技術的程序設計接口,用於智能卡和PCMCIA卡之類的加密設備。
RSA- 美國麻省理工學院3個研究人員開發,是最有名的公鑰算法,也是第一個能同時用於加密和數字簽名的算法,出口受限。RSA 背後的一般思想將兩個大素數相乘十分容易,但是想分解它們的乘積卻極端困難,因此可以將乘積公開作為加密密鑰。在 1999 年,用了7個月時間完成了對特定 RSA 512 位數(稱為 RSA-155)的因式分解。由於進行的都是大數計算,使得RSA最快的情況也比DES慢。
RC4 – RSA公司的算法,應用於電子郵件系統,如Lotus Notes等。
SHA-1- 安全散列算法(SHA)是由美國國家標准和技術協會(National Institute of Standards and Technology)開發的,1994年發布了原始算法的修訂版,稱為 SHA-1。與 MD5 相比,SHA-1 生成 160 位的消息摘要,雖然執行更慢,卻被認為更安全。明文消息的最大長度可達到 264 位。
顯示Solaris中的算法:
# cryptoadm list
user-level providers:
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
kernel software providers:
des
aes
arcfour
blowfish
sha1
md5
rsa
swrand
...
# cryptoadm list -m
user-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
no slots presented.
Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC
CKM_DES_KEY_GEN
...
kernel software providers:
==========================
des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
aes: CKM_AES_ECB,CKM_AES_CBC
arcfour: CKM_RC4
blowfish: CKM_BF_ECB,CKM_BF_CBC
sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS
swrand: No mechanisms presented.
# mac -l
Algorithm Keysize: Min Max (bits)
------------------------------------------
des_mac 64 64
sha1_hmac 8 512
md5_hmac 8 512
# encrypt -l
Algorithm Keysize: Min Max (bits)
------------------------------------------
aes 128 128
arcfour 8 128
des 64 64
3des 192 192
使用方法豐富多彩,如用DES加密的方法,做文件系統備份和恢復:
# ufsdump 0f - /var | encrypt -a des -k /etc/mykeys/backup.k | dd of=/dev/rmt/0
# decrypt -a des -k /etc/mykeys/backup -i /dev/rmt/0 | ufsrestore vf -