CA:加密解析

爲了實現驗證在傳輸數據時是否被修改和其安全性我們通常對其加密

常見Linux加密方式

對稱加密
公鑰加密(非對稱加密)
單向加密


1.對稱加密

  • 對稱加密算法: DES(56bits) AES(128bits) 3DES  Blowfish Twofish IDEA RC6 CAST5Serpent
  • 對稱加密特性: 加密/解密使用同一口令
  • 將原文分隔成固定大小的數據塊,對這些塊進行加密

對稱加密工具:gpg,openssl


指令:

  • 加密 #openssl enc -des3 -a -salt -in /etc/passwd -out /tmp/passwd.cipher
  • 解密 #openssl enc -d -des3 -a -salt -in /tmp/passwd.cipher/ -out  /tmp/passwd.cleartext
  • 查看 #cat /tmp/passwd.cleartext


2.單向加密

特性:One-Way-顧名思義單向;
雪崩效應-輸入有點區別就會產生巨大的差距
算法:MD5(128bits)SHA1(160bits) SHA512(512bits)
工具:sha1sum,md5sum,cksum,openssl dgst
格式:openssl dgst [-md5|=md4|-md2|-sha1|-sha|-mdc2|ripemd160|- dssl] [-out filename] /path/to/somefile
範例:#openssl dgst -sha1sum passwd.cleartext

以sha1sum算法加密passwd.cleartext明文文件


MAC消息認證碼

特性:單向加密的延伸
應用:消息認證碼是基於密鑰和消息摘要所獲得的一個值,
可用於數據源發認證和完整性校驗
工作機制:發送方首先使用通信雙方協商好的散列函數計
算其摘要值。在 雙方共享的會話密鑰作用下,
由摘要值獲得消息驗證碼。之後,它和數據一起
被髮送。接收方收到報文後,首先利用會話密鑰
還原摘要值,同時利用散列函數在本地計算所收
到數據的摘要值,同時利用散列函數在本地計算
所收到數據的摘要值,並將這兩個數據進行比對。
若兩者相等,則報文通過認證。

算法:HMAC,使用md5和sha1算法

用戶認證

  • 工具:passwd,openssl passwd
  • 舉例:openssl passwd-1 -salt AAABBB 出入密碼後

         1$AAABBB$r42gNYYXUTdXy00ZV0Pr4

3.公鑰加密

特性:公鑰加密,私鑰解密 --非對稱加密
算法:RSA,EIGaml
工具:gpg,openssl reautl
密鑰對:公鑰pkey  私鑰skey

數字簽名

特性:私鑰加密,公鑰解密
算法:RSA,EIGamal,DSA
其中DSA只提供數字認證,不提供加密

密鑰交換

特性:IKE(互聯網密鑰交換)屬於公鑰加密

算法:DH(Diffie-Hellman)

數字證書

證書格式:x509、pkcs
x509格式:公鑰和有效期限
持有者的個人合法身份信息(服務器主機名)
證書的使用方式
CA的信息

CA的數字簽名

4.openssl 實現私有CA

1)配置文件 vim /etc/pki/tls/openssl.conf

wKioL1M1PKyAR-MeAAMXfizDx0Y000.jpg

2) 創建密鑰對兒pkey skey

#(umask 077;openssl genrsa -out private/cakey.pem 2048)

生成自簽證書

#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655


CA簽署證書

將證書傳回給請求者

#openssl ca -in httpd.csr httpd.crt -days 3650

吊銷證書

openssl ca -revoke httpd.crt






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章