|
你應(yīng)該看到類似下面這樣的輸出:
OpenSSL 0.9.7d 17 Mar 2004
準(zhǔn)確的版本號(hào),日期和其他可能不同的細(xì)節(jié),寫本文的時(shí)候,目前的版本是OpenSSL0.98a,我們正在使用的例子能工作在大部分OpenSSL版本下。
如果你只輸入了openssl,沒有附加任何的參數(shù),你將得到下面這樣的提示符:
OpenSSL>
如果是這樣,只需要輸入quit或按Ctrl-C即可安全地退出,它OpenSSL內(nèi)部命令行提示符,它沒有命令行編輯功能,也沒有明確的幫助功能,但是,如果你輸入一個(gè)它不認(rèn)識(shí)的命令,它會(huì)列出一個(gè)可用的命令列表。
快速整潔的加密
盡管這不是OpenSSL的強(qiáng)項(xiàng),但它也能加密文件,靈活的OpenSSL做這件事要比GnuPG復(fù)雜一些。
OpenSSL默認(rèn)選項(xiàng)比較少,因此要使用更多的選項(xiàng),也有許多算法可供選擇,一些算法如DES和RC4-40,只是為了向后兼容,現(xiàn)在不應(yīng)該再拿來使用了,你應(yīng)該使用強(qiáng)壯的算法如bf(它是Blowfilsh算法的簡稱)和-aes-128-cbc(它是美國NIST高級(jí)加密標(biāo)準(zhǔn)—AES,運(yùn)行在CBS模式下使用128位密鑰)。
這里有一個(gè)例子:
$ openssl enc -aes-128-cbc < filename > filename.aes-128-cbc
enter aes-128-cbc encryption password:
Verifying - enter aes-128-cbc encryption password:
與GnuPG一樣,OpenSSL要求提供2次密語,并且不會(huì)回顯到屏幕上。
解密也比GnuPG更復(fù)雜一點(diǎn):
$ openssl enc -d -aes-128-cbc -in filename.aes-128-cbc > filename
enter aes-128-cbc decryption password:
注意例子中的-d參數(shù),它意味著解密。
OpenSSL與GnuPG不一樣,不能自動(dòng)檢查文件的類型或者使用了什么算法也不知道、也不清楚加密文件使用的密鑰的長度和模式。你需要自己保存一個(gè)跟蹤記錄,在我的例子中,我將這些信息放在文件擴(kuò)展名里了,OpenSSL不能為你管理文件和文件擴(kuò)展名,你不得不指出輸出數(shù)據(jù)寫入的位置。
如果你沒有指定正確的算法,OpenSSL可能輸出一堆垃圾信息也可能產(chǎn)生一個(gè)看不懂的數(shù)字,無論怎樣,沒有正確的給出選項(xiàng),你的數(shù)據(jù)就不能正確地解密。
密語
在我們更進(jìn)一步之前,我們應(yīng)該先討論一下密語的重要性,在大多數(shù)加密系統(tǒng)中,密語是保存了其他機(jī)密的秘密,它通常是最薄弱的點(diǎn),因此,創(chuàng)建一個(gè)強(qiáng)壯的密語是很重要的,但是這也很困難,除非你有好用的工具,使用OpenSSL你就能快速地創(chuàng)建一個(gè)強(qiáng)壯的密語。
一個(gè)對(duì)密語簡單的指導(dǎo)就是長度與優(yōu)勢(shì)的比較表,8個(gè)字符不夠長(表1),目標(biāo)是創(chuàng)建一個(gè)保密性強(qiáng)的而且你又能記住的其他人又不知道的密語,不能靠猜或最后偶爾發(fā)現(xiàn)。
表1 密碼和密語被破解的估計(jì)時(shí)間強(qiáng)度比較,注意:破解時(shí)間是比較粗糙的。

產(chǎn)生一個(gè)密語
OpenSSL能創(chuàng)建非常強(qiáng)壯的隨機(jī)密語:
$ openssl rand 15 -base64
wGcwstkb8Er0g6w1+Dm+
如果你運(yùn)行了這個(gè)例子,你的輸出將與這里的輸出不同,因?yàn)槊苷Z是隨機(jī)產(chǎn)生的。
第一個(gè)參數(shù)15是產(chǎn)生的二進(jìn)制字節(jié)數(shù),第二個(gè)參數(shù)-base64指出那些二進(jìn)制字節(jié)應(yīng)該用基于64位字符編碼,對(duì)于15字節(jié)而言,輸出總是20個(gè)字符,加上一個(gè)新行字符。
基于64位字符設(shè)定了只由大寫和小寫的字母A-Z,數(shù)字1-9和3個(gè)標(biāo)點(diǎn)字符:加號(hào)、斜線號(hào)和等號(hào)。這是一個(gè)有意的字符限制設(shè)置,更復(fù)雜的字符設(shè)置不是必需的,僅僅增加一個(gè)額外的字符使得安全變得不同,例如:一個(gè)8位字符完全可打印的ASCII密碼大約與一個(gè)9位字符基于64位字符編碼的密碼強(qiáng)度相當(dāng)。
盡管可以使用openssl rand快速生成密語,但是專業(yè)的密語生成器生成強(qiáng)壯的并容易記憶的密語,我強(qiáng)烈推薦使用它。
加密密碼
還有一些事情是GnuPg不能做的,OpenSSL內(nèi)置了一個(gè)命令用來創(chuàng)建加密的linux密碼,就象/bin/passwd一樣。 本新聞共 4頁,當(dāng)前在第 2頁 1 2 3 4 |
|
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|