安全加密(使用gpg工具實現(xiàn)公鑰加密)

對稱加密算法

特性:
加密擂橘、解密使用同一個密鑰斑胜,效率高
將原始數(shù)據(jù)分割成固定大小的塊河爹,逐個進(jìn)行加密
缺陷:
密鑰過多
密鑰分發(fā)
數(shù)據(jù)來源無法確認(rèn)
算法
DES     : 是一種使用密鑰加密的塊算法羊瘩,采用56位加密算法杖爽。
3DES    : 三重數(shù)據(jù)加密算法跃闹,進(jìn)行三次DES加密筑公。
AES     : 高級加密標(biāo)準(zhǔn)目前對稱加密中最常用的算法之一喂柒,采用128、192棚放、256枚粘、512位算法馅闽。
Blowfish: 是一個64位分組及可變密鑰長度的對稱密鑰分組密碼算法飘蚯。
 IDEA    : 國際數(shù)據(jù)加密算法馍迄,采用128位加密算法。
 CAST-128: 是類似于DES的置換組合網(wǎng)路加密系統(tǒng)局骤,是一種12或16循環(huán)的Feistel密碼攀圈,塊長度是64位,密碼長度最大128位
查找/etc/sysconfig/下的普通文件進(jìn)行哈希運算(2者效果一樣)
[root@centos7 /app]# find /etc/sysconfig/ -type f -exec sha512sum {} \;
[root@centos7 /app]# find /etc/sysconfig/ -type f |xargs sha512sum
重定向到文件中
[root@centos7 /app]# find /etc/sysconfig/ -type f |xargs sha512sum >/app/f1.log   
[root@centos7 /app]# sha512sum --check /app/f1.log      檢查是否改變

[root@centos7 /app]#openssl passwd -1                   做口令加密  
Password: 
Verifying - Password: 
$1$45Gqame0$DPzKaPrj4ymsi.FJiiVWn0                       #1代表md5

密鑰交換

密鑰交換: IKE(Internet Key Exchange )
公鑰加密:
DH (Deffie-Hellman):生成會話密鑰,參看:
https://en.wikipedia.org/wiki/Diffie%E2%80%93Hel
lman_key_exchange
DH:
1峦甩、 A: a,p 協(xié)商生成公開的整數(shù)a, 大素數(shù)p
B: a,p
2赘来、 A:生成隱私數(shù)據(jù) :x (x<p ),計算得出 a^x%p凯傲,發(fā)送給B
B:生成隱私數(shù)據(jù) :y,計算得出 a^y%p犬辰,發(fā)送給A
3、 A:計算得出 [(a^y%p)^x] %p = a^xy%p冰单, 生成為密鑰
B:計算得出 [(a^x%p)^y] %p = a^xy%p幌缝,生成為密鑰

a=2,p=11
A
x=3 5
B
y=4 8

2^3=8%11=8
2^4=16%11=5

[5^3]%11=4
[8^4]%11=4

應(yīng)用程序: RPM

文件完整性的兩種實施方式
被安裝的文件
? MD5單向散列
? rpm --verify package_name (or -V)
發(fā)行的軟件包文件
? GPG公鑰簽名
? rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEYredhat*
? rpm --checksig pakage_file_name (or -K)

rpm包校驗  文件哈希值變化
5 digest (formerly MD5 sum) differs
T mTime differs

使用gpg實現(xiàn)對稱加密

對稱加密file文件
gpg -c file
ls file.gpg
在另一臺主機(jī)上解密file
gpg -o file -d file.gpg

單向散列Hash

特性
將任意數(shù)據(jù)縮小成固定大小的數(shù)值
任意輸入長度的數(shù)據(jù)。
輸出固定長度是加密數(shù)值诫欠。
若修改數(shù)據(jù)涵卵,生成的數(shù)值也會改變,不會和原來的數(shù)值產(chǎn)生沖突荒叼。
無法從數(shù)值中推算生成數(shù)據(jù)轿偎,不可逆。
功能
驗證數(shù)據(jù)完整性
提高數(shù)字簽名的有效性
常見算法
md5    : 把不同長度的數(shù)據(jù)塊進(jìn)行暗碼運算成一個128位的數(shù)值
sha1   : 對任意長度的數(shù)據(jù)運算生成一個160位的數(shù)值
sha224 : 對任意長度的數(shù)據(jù)運算生成一個224位的數(shù)值
sha256 : 對任意長度的數(shù)據(jù)運算生成一個256位的數(shù)值
sha384 : 對任意長度的數(shù)據(jù)運算生成一個384位的數(shù)值
sha512 : 對任意長度的數(shù)據(jù)運算生成一個512位的數(shù)值
MAC    :是一種使用密鑰的單向函數(shù)被廓,可以用它們在系統(tǒng)上或用戶之間認(rèn)證文件或消息坏晦,常見的是HMAC(用于消
息認(rèn)證的密鑰散列)。
Linux中的常用工具
md5sum 
sha1sum  file伊者、sha1sum --check file 
openssl
gpg
示例
[root@CentOS6.9 ~]#echo "test" > hash              #生成一個文件
[root@CentOS6.9 ~]#ls                              #查看
admin.pubkey  anaconda-ks.cfg  bin  hash  install.log  install.log.syslog  test  test.gpg
[root@CentOS6.9 ~]#md5sum hash                     #md5運算產(chǎn)生hash值
d8e8fca2dc0f896fd7cb4cb0031ba249  hash             #hash值
[root@CentOS6.9 ~]#echo "123" >> hash              #在文件的中加一行123
[root@CentOS6.9 ~]#md5sum hash                     #再用md5運算產(chǎn)生hash值
4145c486d60a3d078fc57ac0e7de44bd  hash             #hash值和原來的已經(jīng)不同了
[root@CentOS6.9 ~]#echo "test" > hash              #把文件重置
[root@CentOS6.9 ~]#md5sum hash                     #再次運算
d8e8fca2dc0f896fd7cb4cb0031ba249  hash             #hash值和原來的相同
[root@CentOS6.9 ~]#md5sum hash > hash.key          #hash運算并把hash值寫入hash.key文件中
[root@CentOS6.9 ~]#md5sum -c hash.key              #用這個文件判斷原文件的數(shù)據(jù)有沒有改變
hash: 確定                                          
[root@CentOS6.9 ~]#echo "123" >> hash              #把123追加到hash文件
[root@CentOS6.9 ~]#md5sum -c hash.key              #再次判斷
hash: 失敗
md5sum: 警告:1/1 生成的校驗和不匹配
[root@CentOS6.9 ~]#

非對稱加密

特點英遭,采用公鑰和私鑰加密和解密
 公鑰:公開給所有人
私鑰:自己留存,必須保證其私密性
用公鑰加密數(shù)據(jù)亦渗,只能使用與之配對的私鑰解密挖诸;反之亦然
功能:
 數(shù)字簽名:主要在于讓接收方確認(rèn)發(fā)送方身份
對稱密鑰交換:發(fā)送方用對方的公鑰加密一個對稱密鑰后發(fā)送給對方
數(shù)據(jù)加密:適合加密較小數(shù)據(jù)
缺點:密鑰長, 加密解密效率低下
算法:
RSA     :RSA是目前最有影響力的公鑰加密算法法精,安全性依賴于大數(shù)分解多律。(數(shù)據(jù)加密,數(shù)字簽名) 
DSA     :是Schnorr和ElGamal簽名算法的變種搂蜓,基于整數(shù)有限域離散對數(shù)難題狼荞,一個重要特點是兩個素數(shù)
 公開,這樣帮碰,當(dāng)使用別人的p和q時相味,即使不知道私鑰,你也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的殉挽,還是
作了手腳丰涉,RSA算法卻做不到拓巧。(數(shù)字簽名)
ELGamal : 公鑰密碼體制和橢圓曲線加密體,其安全性依賴于計算有限域上離散對數(shù)一死。(數(shù)據(jù)加密肛度,數(shù)字簽)

使用gpg工具實現(xiàn)公鑰加密

在hostB主機(jī)上用公鑰加密,在hostA主機(jī)上解密
在hostA主機(jī)上生成公鑰/私鑰對
gpg --gen-key
在hostA主機(jī)上查看公鑰
gpg --list-keys
在hostA主機(jī)上導(dǎo)出公鑰到wang.pubkey
gpg -a --export -o wang.pubkey
從hostA主機(jī)上復(fù)制公鑰文件到需加密的B主機(jī)上
scp wang.pubkey hostB
實驗ctntos7傳給centos6文件(加密到解密)
centos6加密
gpg --gen-key
生成秘鑰
輸入密碼(可以不輸入密碼)
提示密碼簡單
OK
查看秘鑰生成
gpg --list-key 查看秘鑰生成
將centos6公鑰拷貝到centos7主機(jī)
切換到centos7主機(jī)
gpg --gen-key 添加centos7秘鑰
生成秘鑰
把centos6公鑰導(dǎo)入到centos7的 .gnupg
用centos6公鑰給文件加密
把加密文件傳輸?shù)絚entos6主機(jī)上
切換centos6主機(jī)上
刪除centos6的秘鑰
刪除centos7秘鑰
gpg --delete-keys centos7 提示刪除公鑰先刪除私鑰
gpg --ddelete-keys centos7 刪除公鑰
完成
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末投慈,一起剝皮案震驚了整個濱河市承耿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伪煤,老刑警劉巖加袋,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異抱既,居然都是意外死亡锁荔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蝙砌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阳堕,“玉大人,你說我怎么就攤上這事择克√褡埽” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵肚邢,是天一觀的道長壹堰。 經(jīng)常有香客問我,道長骡湖,這世上最難降的妖魔是什么贱纠? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮响蕴,結(jié)果婚禮上谆焊,老公的妹妹穿的比我還像新娘。我一直安慰自己浦夷,他們只是感情好辖试,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劈狐,像睡著了一般罐孝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肥缔,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天莲兢,我揣著相機(jī)與錄音,去河邊找鬼。 笑死改艇,一個胖子當(dāng)著我的面吹牛俗慈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遣耍,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼炮车!你這毒婦竟也來了舵变?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瘦穆,失蹤者是張志新(化名)和其女友劉穎纪隙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扛或,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡绵咱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了熙兔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悲伶。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖住涉,靈堂內(nèi)的尸體忽然破棺而出麸锉,到底是詐尸還是另有隱情,我是刑警寧澤舆声,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布花沉,位于F島的核電站,受9級特大地震影響媳握,放射性物質(zhì)發(fā)生泄漏碱屁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一蛾找、第九天 我趴在偏房一處隱蔽的房頂上張望娩脾。 院中可真熱鬧,春花似錦打毛、人聲如沸晦雨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闹瞧。三九已至,卻和暖如春展辞,著一層夾襖步出監(jiān)牢的瞬間奥邮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留洽腺,地道東北人脚粟。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像蘸朋,于是被迫代替她去往敵國和親核无。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容