日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

linux下的加密解密学习

發(fā)布時間:2025/3/20 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下的加密解密学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

linux下的加密解密學(xué)習(xí)

加密/解密:
?? ?????加密協(xié)議:加密解密使用同一秘鑰:3des,aes
?? ?????公鑰加密:公鑰私鑰對
?? ??? ?數(shù)字簽名,密鑰交換
?? ??? ?
?? ??? ?RSA,DSA數(shù)據(jù)簽名算法(DSS數(shù)據(jù)簽名標(biāo)準(zhǔn))

?? ?????單向加密:
?? ??? ?????md5,sha1,sha256,sh512(MD5輸出128bit,SHA1輸出160bit,SHA256輸出256bit)

?? ?????密鑰交換:
?? ??? ?????DH:Deffie-Hellman

?????????????具體過程參照下面的SSL握手

===================================================
????SSLsecure socket layer
?? ?????????ssl:sslv3現(xiàn)版本
?? ?????????IETF:tlsv1.0對位sslv3? tlsv1.2現(xiàn)在



ssl握手:
?? ?????????客戶端->服務(wù)端:客戶端自身支持的算法,請求服務(wù)器數(shù)字證書
?? ?????????服務(wù)端->客戶端:服務(wù)器端支持加密算法,發(fā)送數(shù)字證書(客戶端驗證信息后,數(shù)字證書中得到服務(wù)端公鑰,加密發(fā)送服務(wù)器)

????????????客戶端驗證數(shù)據(jù):1.服務(wù)器名字與證書名字是否一致;2.用本地緩存的對應(yīng)信任CA公鑰,解密證書,查看是否一致;3.檢察證書內(nèi)容是否被篡改,單向加密碼驗證;4.看證書是否到期;5看證書是否到期

?? ???????? 客戶端->服務(wù)端端:加密數(shù)據(jù)發(fā)給客戶端,對稱秘鑰交換,之后對稱秘鑰加密通訊

????????????數(shù)字證書:
?????????????????? ?CA:簽發(fā)安全證書,確保數(shù)據(jù)安全性
?? ?
===============================================
openssl:
?? ?????????組成部分:
?? ??????????????? ?libcrypto:加密解密文件
?? ??????????????? ?libssl:ssl協(xié)議實驗
?? ??? ?????????????openssl:多用途命令行工具,自定義

????????????????gpg:pgp規(guī)范的實現(xiàn)


????openssl加密命令:
?? ?????????加密文件(對稱加密):
?? ??? ?????????????工具:openssl enc,gpg
?? ??? ?????????????算法:des,3des,aes,blowfish,twofish,idea,cast5

?? ??? ?????enc工具:
?? ??? ??? ?????????加密openssl enc -e -算法 -a -salt -in 加密文件 -out 輸出文件 ?
?? ??? ??????????? ?解密openssl enc -d -算法 -a -salt -in 加密文件 -out 輸出文件
?? ??? ??? ??? ??????????????????????? ?可通過openssl ?查看
?? ??? ??? ??? ??? ?????????????????????????????????????-a表示文本編碼輸出
?? ??? ??? ??? ??? ?????????????????????????????????????????????????-salt加隨機(jī)數(shù)


TEST:


?? ??? ????? 單向加密:
?? ??? ?????????????算法:md5,sha1
?? ?????? ????????? 工具:openssl dgst,md5sum,sha1sum,sha224sum,sha256sum,sha384sum,

????????????????????????????????sha512sum
?? ??? ??? ?????????openssl dgst -算法 PATH??此處算法為上述算法且不限于上述算法,但不同于加密算法

?? ??? ?????????????mac碼:用于表示數(shù)據(jù)完整性的值
?? ??? ??? ?????????????機(jī)制:CBC-MAC
?? ??? ??? ?????????????HMAC:md5或者sha1算法

?? ???

??????????????? 生成用戶密碼:
?? ??? ??? ?????????????openssl passwd -1 -salt 8位隨機(jī)數(shù)
?? ??? ??????????????? ?生成隨機(jī)數(shù):openssl rand -hex 4

?? ?????????????公鑰加密:
?? ??? ?????????????????工具:gpg ,openssl rsautl
?? ?
?? ????????? ?? 生成密鑰對:
?? ??? ??? ?????????????操作過程:生成私鑰,從私鑰中提取公鑰
?? ??? ??? ??? ?????????????openssl genrsa -out PATH NUM_BITS
?? ??? ??? ?????????????????括號內(nèi)的命令:通過打開一個子shell進(jìn)程進(jìn)行
?? ??? ??? ??? ?????????????????(umask 077;openssl genrsa -out PATH NUM_BITS)主要為了安全性考慮,子shell運(yùn)行不影響原機(jī)環(huán)境
?? ??? ??? ?????????????從私鑰中提取公鑰:
?? ??? ??? ??? ?????????????openssl rsa -in PATH -pubout
?? ??? ??? ?????????????????????公鑰加密:完成秘鑰交換
?? ??? ??? ?????????????????????私鑰加密:完成身份驗證

????????

????????



?????????隨機(jī)數(shù)生成器:
?? ??? ?????????random(?安全系數(shù)較高), urandom

?? ??? ?????????熵池:保存硬件中斷產(chǎn)生的隨機(jī)數(shù)

?? ??? ?????????????????/dev/random:僅從熵池中返回隨機(jī)數(shù),當(dāng)熵池中的隨機(jī)數(shù)耗盡時,取隨機(jī)數(shù)的進(jìn)程將會被阻塞;
?? ???????????????????? /dev/urandom:先從熵池中取隨機(jī)數(shù),當(dāng)熵池中的隨機(jī)耗盡時,就通過偽隨機(jī)數(shù)生成器生成隨機(jī)數(shù);


?? ?????使用openssl構(gòu)建私有CA:
?? ??? ?????????1.生成秘鑰
?? ??? ?????????2.生成自簽署簽名
????????????????????????(1) 私鑰用于簽發(fā)證書時,向證書添加數(shù)字簽名使用;
?? ??? ?????????????????(2) 證書:每個通信方都導(dǎo)入此證書至“受信任的證書頒發(fā)機(jī)構(gòu)”;?? ??? ??????


????????????????? ????創(chuàng)建CA配置文件 :/etc/pki/tls/openssl.cnf (查看此文件可查看一下配置文件存放位置及相關(guān)信息)

?????????????????? ?? 工作目錄:/etc/pki/CA/


????????????????????? 1.建立私有秘鑰文件:/etc/pki/CA/private/cakey.pem

????????????????????????????(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

????????????????????? 2.生成自簽署簽名:從密鑰從提取公鑰及數(shù)字簽名證書到/etc/pki/tls/openssl.cnf指定的certificate指定位置

????????????????????????????# 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

????????????????????????????

????????????????分發(fā)證書:

????????????????????????



TEST:



????????????????Openssh:

????????????????????????ssh:secure?shell (監(jiān)聽tcp/22) 用于取代talnet(明文傳輸,監(jiān)聽tcp/23)

????????????????????????現(xiàn)在主流版本為V2


????????????????????????兩種驗證方式:

????????????????????????????1.用戶口令

????????????????????????????2.密鑰對驗證


????????Openssh:ssh開源軟件

????????????????????????sshd: 服務(wù)器
?? ??????????????????? ?ssh: 客戶端
?? ??? ?????????????????scp: 安全跨主機(jī)復(fù)制工具,基于ssh協(xié)議實現(xiàn);
?? ??????????????????? ?sftp:安全ftp


????????????????????????服務(wù)器配置文件:sshd: /etc/ssh/sshd_config
?? ??? ?????????????????客戶端配置文件:ssh: /etc/ssh/ssh_config


????????基于密鑰認(rèn)證:
?? ??? ??? ?在客戶端生成一對密鑰,私自己留存;公鑰通過私密方式保存至要登錄的遠(yuǎn)程服務(wù)某用戶的家目錄的專用于ssh通信的文件;

?? ??? ??? ? ????生成秘鑰 :ssh-keygen -t rsa
?? ??? ????????? 傳輸秘鑰:ssh-copy-id -i ~/.ssh/id_rsa.put user@host

????????????????????????????????

????????scp遠(yuǎn)程復(fù)制命令:
?? ??? ?????????push: scp [-rp] /path/from/somefile user@host:/path/to/somewhere
?? ??? ?????????pull: scp [-rp] user@host:/path/from/somefile /path/to/somewhere

????????????????????????????????-P?portnumber(一旦默認(rèn)端口更改需加此參數(shù))

????????

????????sshd服務(wù)器端的配置:
?? ??? ?????????/etc/ssh/sshd_config
?? ??? ??? ?????????directive value
?? ??? ??? ??? ?????????Port 22?? ??? ??? 監(jiān)聽端口
?? ??? ??? ??? ?????????AddressFamily any? 監(jiān)聽地址(通過那個地址對外提供服務(wù))
?? ??? ??? ??? ?????????Protocol 2???????? 版本協(xié)議

?? ??? ??? ??? ?限制可登錄用戶:
?? ??? ??? ??? ??? ?????PermitRootLogin : 是否允許管理員直接登錄;
?? ??? ??? ??? ??? ?????AllowUsers user1 user2 ...允許登陸白名單
?? ??? ??? ??? ??? ?????AllowGroups grp1 grp2 ... 允許登陸組白名單
?? ??? ??? ??? ??? ?????DenyUsers user1 ...?????? 允許登陸黑名單
?? ??? ??? ??? ??? ?????DenyGroups grp1 ...?? ?? 允許登陸黑名單

?? ??? ??? ??? ?僅監(jiān)聽需要監(jiān)聽的IP地址:
?? ??? ??? ??? ??? ?????ListenAddress 0.0.0.0


????????????????最大允許登陸嘗試數(shù):

????????????????????????MaxAuthTries 6

????????????????ssh登陸log日志:

????????????????????????/var/log/secure

轉(zhuǎn)載于:https://blog.51cto.com/610463479/1696934

總結(jié)

以上是生活随笔為你收集整理的linux下的加密解密学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。