數(shù)據(jù)加密:
潞州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!SSL: Secure Socket Layer安全的套接字層
Openssl:ssl在Linux上實現(xiàn)的一個軟件,開源的
例:使用了ssl協(xié)議就不在是原來的協(xié)議了
http(80) --> ssl --> https (443)
NIST定義數(shù)據(jù)安全性的基本法則:
保密性:
數(shù)據(jù)保密性
隱私性
完整性:
數(shù)據(jù)完整性
系統(tǒng)完整性
可用性:
安全***:
被動***:監(jiān)聽
主動***:偽裝、重放、消息篡改、拒絕服務(wù)
安全機制:
加密/解密、數(shù)字簽名、訪問控制、數(shù)據(jù)完整性、認(rèn)證交換、流量填充、路由控制、公證
安全服務(wù):
認(rèn)證
訪問控制
數(shù)據(jù)保密性
連接保密性
無連接保密性
選擇域保密性
流量保密性
數(shù)據(jù)完整性
不可否認(rèn)性
密碼算法和協(xié)議:
對稱加密
公鑰加密[非對稱加密 ]
單向加密
認(rèn)證協(xié)議
對稱加密:加密和解密使用同一個密鑰;將一種數(shù)據(jù)流結(jié)合加密秘鑰輸出成另一種數(shù)據(jù)流;
常見算法:
DES:Data EncryptionStandard, 56bits
3DES:
AES:Advanced Encrpytion Standard, (128bits, 192, 256, 384, 512bits)
Blowfish
Twofish
IDEA
RC6
CAST5
特性:
1、加密、解密使用同一密鑰;
2、將明文分隔成固定大小的塊,逐個進(jìn)行加密;
3、依賴于:算法和密鑰;
安全性依賴于密鑰,而非算法;
缺陷:
1、密鑰過多;
2、密鑰分發(fā)不便;
非對稱加密:公鑰加密
分為私鑰和公鑰,私鑰僅給個人使用,公鑰是給所有人公開獲取的。常用算法:RSA、DSA(只能實現(xiàn)數(shù)據(jù)簽名)
私鑰:secret key,僅允許個人使用;
公鑰:public key,公開給所有獲取;
公鑰從私鑰中提取而來;使用公鑰加密的數(shù)據(jù),只能使用與此公鑰配對兒的私鑰解密;反之亦然;
用處:
1.身份認(rèn)證:私鑰擁有者用自己的私鑰加密的數(shù)據(jù),只要用其公鑰能解密,即可認(rèn)證其身份;
2. 密鑰交換:與被通信方通信之前,首先獲取到對方的公鑰,自己生成一個加密密碼,用對方的公鑰加密,并發(fā)送給對方;
3. 數(shù)據(jù)加密:但加密時間長,一般不用于數(shù)據(jù)加密
特性:
1、密鑰長度較大,例如512bits, 2048bits,4096bits
2、加密解密分別使用密鑰對兒中的密鑰相對進(jìn)行;
3、常用于數(shù)據(jù)簽名和密鑰交換;
單向加密:提出數(shù)據(jù)的特征碼;
用于數(shù)據(jù)完整性校驗
特性:
1、定長輸出:無論原來的數(shù)據(jù)是多大級別,其加密結(jié)果長度一樣;
2、雪崩效應(yīng):原始數(shù)據(jù)微小改變,將會導(dǎo)致結(jié)果巨大變化;
3、不可逆:
算法:
MD5:128bits定長輸出;
SHA1:160bits定長輸出;
SHA256
SHA384
SHA512:
一次加密通信過程
發(fā)送者:
1、使用單向加密算法提取生成數(shù)據(jù)的特征碼;
2、使用自己的私鑰加密特征碼附加在數(shù)據(jù)后面;
3、生成一個用于對稱加密的臨時密鑰;
4、用此臨時密鑰加密數(shù)據(jù)和已經(jīng)使用私鑰加密后的特征碼;
5、使用接收方的公鑰加密此臨時密鑰,附加在對稱加密后的數(shù)據(jù)后方;
接收方:
1、使用自己的私鑰解密加密的臨時密鑰;從而獲得對稱密鑰;
2、使用對稱密鑰解密對稱加密的數(shù)據(jù)和私鑰加密的特征碼密文;從而獲得數(shù)據(jù)和特征碼密文;
3、使用發(fā)送方的公鑰解密特征碼密文,從而獲得從計算生成的特征碼;
4、使用與對方同樣的單向加密算法計算數(shù)據(jù)的特征碼,并與解密而來的進(jìn)行比較;
數(shù)字證書:
CA:簽證機構(gòu)
功用:保證通信方公鑰信息安全分發(fā);
數(shù)字證書的格式(x.509 v3):
版本號(version)
序列號(serial number):CA用于惟一標(biāo)識此證書;
簽名算法標(biāo)志(Signature algorithm identifier)
發(fā)行者的名稱:即CA自己的名稱;
有效期:兩個日期,起始日期和終止日期;
證書主體名稱:證書擁有者自己的名字
證書主體公鑰信息:證書擁有者自己的公鑰;
發(fā)行商的惟一標(biāo)識:
證書主體的惟一標(biāo)識:
擴展信息:
簽名:CA對此證書的數(shù)字簽名;
證書通常有兩類用途:
用戶證書
主機證書(httpd)
撤消證書:當(dāng)私鑰丟失時
PKI: Public KeyInfrastructure 公鑰基礎(chǔ)設(shè)施
簽證機構(gòu):CA
注冊機構(gòu):RA
證書吊銷列表:CRL
證書存取庫:
openssl的組成部分:
libcrypto:加密、解密庫文件;
libssl: ssl協(xié)議實現(xiàn)
openssl:多用途命令行工具,每種功能都使用專用的子命令來實現(xiàn)
openssl:
子命令分類:
標(biāo)準(zhǔn)命令
消息摘要命令
加密、解密相關(guān)的命令
加密文件(對稱加密):
工具:openssl enc, gpg
算法:des, 3des, aes, blowfish, twofish, idea, cast5
enc工具:
加密:
# openssl enc -e -加密算法 -a -salt -in 要加密的文件 -out 加密后輸出的文件
例: -e -des3 表示指定加密方法為des3 -a表示要用ASCII格式輸出你的內(nèi)容 -salt 加雜質(zhì) -in 加密哪個文件 -out 加密后輸出成哪個文件
解密:
# openssl enc -d -解密算法 -a -salt -in要解密的文件 -out 解密后輸出的文件
例:opensslenc -d -des3 -a -salt -in fstab.drs3 -out fstab2
-d -des3 表示用什么算法解密 -a 表示要用ASCII格式輸出你的內(nèi)容 -salt 加雜質(zhì) -in 解密哪個文件 -out 解密后輸出成哪個文件
單向加密:
算法:md5, sha1
工具:openssl dgst, md5sum, sha1sum, sha224sum, sha256sum, sha384sum,sha512sum
# openssl dgst -加密算法 文件名
例:提取fstab文件的特征碼,會輸出到屏幕
生成用戶密碼:
# openssl passwd -1 -salt 8位隨機數(shù)[做為雜質(zhì)]
例:-1 指定MD5算法
生成隨機數(shù):
# openssl rand -hex[16進(jìn)制]|-base64[文本格式] NUM
例:openssl rand -hex 4
隨機數(shù)生成器:
任何隨機數(shù)都是從這兩個中取得
random,urandom
熵池:保存硬件中斷產(chǎn)生的隨機數(shù)
/dev/random:僅從熵池中返回隨機數(shù),當(dāng)熵池中的隨機數(shù)耗盡時,取隨機數(shù)的進(jìn)程將會被阻塞;
/dev/urandom:先從熵池中取隨機數(shù),當(dāng)熵池中的隨機耗盡時,就通過偽隨機數(shù)生成器生成隨機數(shù);
生成密鑰對兒:
操作過程:生成私鑰,從私鑰中提取公鑰;
# openssl genrsa -out 生成的私鑰文件 密鑰長度[1024 20484096]
例:
注意:在bash命令行上放在小括號中執(zhí)行的命令,其實是通過打開一個子shell進(jìn)程進(jìn)行的;
因為私鑰應(yīng)該僅屬主可以查看,所以權(quán)限應(yīng)為400或600
#(umask277; openssl genrsa -out 生成的私鑰文件密鑰長度[10242048 4096])
例:
從私鑰中手動提取公鑰:
# openssl rsa -in 生成的私鑰文件 -pubout
X.509 v3數(shù)字證書的格式:
證書撤銷鏈:
獲取證書的方法:
向RA注冊申請
建立私有CA:
OpenSSL
OpenCA
使用OpenSSL構(gòu)建私有CA:
1、生成私鑰:私鑰用于簽發(fā)證書時,向證書添加數(shù)字簽名使用
2、生成自簽署證書:每個通信方都導(dǎo)入此證書至“受信任的證書頒發(fā)機構(gòu)”
配置文件:/etc/pki/tls/openssl.cnf
工作目錄:/etc/pki/CA/
建立私有CA:
1、生成私鑰文件:/etc/pki/CA/private/cakey.pem
#(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
2、生成自簽證書
#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out/etc/pki/CA/cacert.pem -days #
-new: 生成新的證書簽署請求;
-key:私鑰文件路徑,用于提取公鑰;
-days N: 證書有效時長,單位為“天”;
-out:輸出文件保存位置;
-x509:直接輸出自簽署的證書文件,通常只有構(gòu)建CA時才這么用;
3、提供輔助文件
# touch /etc/pki/CA/index.txt [即索引文件]
#echo 01 > /etc/pki/CA/serial
給節(jié)點發(fā)證書:
1、節(jié)點申請證書
在證書申請的主機上進(jìn)行如下步驟:
(1) 生成私鑰;
# (umask 077; openssl genrsa -out 私鑰位數(shù)[1024])
(2) 生成證書簽署請求;openssl req -new key 私鑰 -out 請求.csr
# openssl req -new -key httpd.key -out httpd.csr-days #
注意:
(a) 其中的subject信息部分,要與CA的保持一致;
(b) Common Name要使用此主機在通信真實使用名字;
(3) 把請求發(fā)送給CA;
2、CA簽發(fā)證書
(1) 驗正請求者信息
(2) 簽署證書
# openssl ca -in 請求.csr -out 證書.crt -days N
(3) 把簽署好的證書發(fā)還給請求者
吊銷證書:
1、獲取吊銷證書的序列號;
# openssl x509 -in 證書.crt -noout-serial -subject
2、實現(xiàn)證書吊銷
(0) 確保與index.txt中的序列號一致
(1) 吊銷證書
# openssl ca -revoke 證書.crt
(2) 生成吊銷證書的編號
echo 數(shù)字[原有吊銷+1] >/etc/pkie/CA/crlnumber
echo 01 >/etc/pkie/CA/crlnumber
(3) 更新證書吊銷列表
# openssl crl -gencrl -out 正在使用的吊銷鏈文件.crl
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站欄目:數(shù)據(jù)加密和OpenSSL-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.rwnh.cn/article28/cchjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)、移動網(wǎng)站建設(shè)、建站公司、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)