一、基礎(chǔ)知識(shí):
創(chuàng)新互聯(lián)專注于昌江黎族企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城開發(fā)。昌江黎族網(wǎng)站建設(shè)公司,為昌江黎族等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)1、互聯(lián)網(wǎng)上中間人***通常用的三種方式:1)竊聽 2)數(shù)據(jù)篡改 3)會(huì)話劫持
2、數(shù)據(jù)加密的常用的三種方式有:對(duì)稱加密、非對(duì)稱加密、單向加密。
3、ssl:secure socket layer,安全的套接字層。
4、TLS:Transport Layer Security,功能類似于ssl。
5、隨機(jī)數(shù)生成器:/dev/random 和 /dev/urandom 。 -salt:依賴于隨機(jī)數(shù)生成器。
6、隨機(jī)數(shù)的來源:熵池和偽隨機(jī)數(shù)生成器。熵池中的隨機(jī)數(shù)來自塊設(shè)備中斷和鍵盤和鼠標(biāo)的敲擊時(shí)間間隔;偽隨機(jī)數(shù)生成器中的隨機(jī)數(shù)來自于熵池和軟件產(chǎn)生。
7、openssl rand [base64] num 也可以用來生成隨機(jī)數(shù)。
8、echo –n “QQ”|openssl base64,表示對(duì)QQ做base64編碼。
二、對(duì)稱加密:
1、加密方和解密方使用同一個(gè)密鑰。
2、加密解密的速度比較快,適合數(shù)據(jù)比較長時(shí)的使用。
3、密鑰傳輸?shù)倪^程不安全,且容易被破解,密鑰管理也比較麻煩。
4、加密算法:DES(Data Encryption Standard)、3DES、AES(Advanced Encryption Standard,支持128、192、256、512位密鑰的加密)、Blowfish。
5、加密工具:openssl、gpg(pgp工具)
三、非對(duì)稱加密(公鑰加密):
1、每個(gè)用戶擁用一對(duì)密鑰加密:公鑰和私鑰。
2、公鑰加密,私鑰解密;私鑰加密,公鑰解密。
3、公鑰傳輸?shù)倪^程不安全,易被竊取和替換。
4、由于公鑰使用的密鑰長度非常長,所以公鑰加密速度非常慢,一般不使用其去加密。
5、某一個(gè)用戶用其私鑰加密,其他用戶用其公鑰解密,實(shí)現(xiàn)數(shù)字簽名的作用。
6、公鑰加密的另一個(gè)作用是實(shí)現(xiàn)密鑰交換。
7、加密和簽名算法:RSA、ELGamal。
8、公鑰簽名算法:DSA。
9、加密工具:gpg、openssl
四、單向加密:
1、特征:雪崩效應(yīng)、定長輸出和不可逆。
2、作用是:確保數(shù)據(jù)的完整性。
3、加密算法:md5(標(biāo)準(zhǔn)密鑰長度128位)、sha1(標(biāo)準(zhǔn)密鑰長度160位)、md4、CRC-32
4、加密工具:md5sum、sha1sum、openssl dgst。
5、計(jì)算某個(gè)文件的hash值,例如:md5sum/shalsum FileName,openssl dgst –md5/-sha1 FileName。
五、密鑰交換的兩種機(jī)制:
1、公鑰加密實(shí)現(xiàn):發(fā)送方用接收方的公鑰加密自己的密鑰,接收方用自己的私鑰解密得到發(fā)送方的密鑰,逆過來亦然,從而實(shí)現(xiàn)密鑰交換。
2、使用DH算法:前提發(fā)送方和接受方協(xié)商使用同一個(gè)大素?cái)?shù)P和生成數(shù)g,各自產(chǎn)生的隨機(jī)數(shù)X和Y。發(fā)送方將g的X次方mod P產(chǎn)生的數(shù)值發(fā)送給接收方,接受方將g的Y次方mod P產(chǎn)生的數(shù)值發(fā)送給發(fā)送方,發(fā)送方再對(duì)接收的結(jié)果做X次方運(yùn)算,接受方對(duì)接收的結(jié)果做Y次方運(yùn)算,最終密碼形成,密鑰交換完成。
六、同時(shí)實(shí)現(xiàn)數(shù)據(jù)的完整性、數(shù)據(jù)加密和身份驗(yàn)證所使用到的機(jī)制如下:
假設(shè)Bob和Rose進(jìn)行通信:
1】加密過程:
Bob使用單向加密算法得出發(fā)送數(shù)據(jù)的特征碼(用于數(shù)據(jù)完整性檢測(cè)),Bob用自己的私鑰加密此特征碼(實(shí)現(xiàn)身份驗(yàn)證),并將此特征碼置于數(shù)據(jù)的后面。Bob再生成一個(gè)密碼D,用此密碼加密加密過的特征碼和數(shù)據(jù)(實(shí)現(xiàn)數(shù)據(jù)加密),此時(shí)生成的數(shù)據(jù)我們稱其為Q,最后用Rose的公鑰加密該密碼D,并將D置于Q的后面。
2】解密過程:
Rose用自己的私鑰解密得到D,然后用D解密得到數(shù)據(jù)和加密過得特征碼,再用Bob的公鑰解密此特征碼,如果可以解密,則說明該數(shù)據(jù)是Bob發(fā)送的,反之,則不是。最后用單向加密算法計(jì)算該段數(shù)據(jù)的特征碼,通過比較發(fā)送過來的特征碼和Rose通過計(jì)算得到的特征碼來確定此數(shù)據(jù)是否被篡改掉,如果特征碼一致,則數(shù)據(jù)未發(fā)生改變;如果特征碼不一致,則數(shù)據(jù)發(fā)生過改變。
七、openssl:
1)組件:libcrypto:加密庫。
libssl:實(shí)現(xiàn)ssl功能的庫。
openssl:多用途的加密工具,能夠提供對(duì)稱加密、公鑰加密、單向加密,且可以作為一個(gè)簡單的本地CA用。
2)在對(duì)稱加密中,使用openssl實(shí)現(xiàn)對(duì)某個(gè)文件加密:
openssl enc -des3 -salt -a -in plaintext -out ciphertext.des3
使用openssl實(shí)現(xiàn)解密:
openssl enc -d -des3 -salt -a -in ciphertext.des3 -out plaintext
3)openssl version:查看openssl的版本信息。
4)openssl :進(jìn)入openssl的命令行模式。
5)openssl speed:測(cè)試某種加密算法加密不同長度密鑰的速率。
6)在公鑰加密中,openssl可以用來生成私鑰。
openssl genrsa 指定生成的私鑰長度 > 保存到的文件名
openssl genrsa [des3] -out 保存到的文件名 指定生成的私鑰長度
在生成密鑰文件的同時(shí)修改密鑰文件的權(quán)限:(umask 077; openssl genrsa 指定生成的私鑰長度> 保存到的文件名)
openssl genrsa 指定生成的私鑰長度 [-des3](加密私鑰文件) > 保存到的文件名。
openssl genrsa [-des3] -out 保存到的文件名 指定生成的私鑰長度
當(dāng)私鑰在生成的時(shí)候,文件未加密,則可以使用如下格式對(duì)未加密的私鑰文件進(jìn)行加密并保存:openssl rsa in 未加密私鑰存放的文件 –des3 -out 保存到的文件名
解密私鑰:openssl rsa in 需要解密的私鑰文件 –out 保存到的文件名。
7)公鑰在私鑰中提取出:openssl rsa –in my.key -pubout 指定保存公鑰的文件名。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。