摘要:協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法通信密鑰的協(xié)商及服務(wù)器認證工作。數(shù)據(jù)加密之后,只有密鑰要用一個安全的方法傳送。
博文參考
http://sweetpotato.blog.51cto.com/533893/1662061 http://www.cnblogs.com/jasperhsu/p/5107533.html http://www.178linux.com/77188安全機制
>安全的目標(biāo): 保密性:confidentiality 確保通信信息不被任何無關(guān)的人看到 完整性:integrity 實現(xiàn)通信雙方的報文不會產(chǎn)生信息丟失 數(shù)據(jù)完整性 系統(tǒng)完整性 可用性:availability 通信任何一方產(chǎn)生的信息應(yīng)當(dāng)對授權(quán)實體可用 >攻擊類型: 威脅保密性的攻擊:竊聽、通信量分析 威脅完整性的攻擊:更改、偽裝、重放、否認 重放:攻擊者能截獲雙方通信的報文,并開始一遍遍發(fā)送 否認:通信的雙方的某一方發(fā)送的,下訂單說沒下 威脅可用性的攻擊:拒絕服務(wù)(DoS) >解決方案 技術(shù)(加密和解密) 加密和解密: 傳統(tǒng)加密方法:替代加密方法、置換加密方法 現(xiàn)代加密方法:現(xiàn)代塊加密方法 現(xiàn)代塊加密:把發(fā)送的整個數(shù)據(jù)切割固定成塊,每塊多帶帶加密,前后兩個塊建立關(guān)聯(lián)關(guān)系 服務(wù)(用于抵御攻擊的服務(wù),也即是為了上述安全目標(biāo)而特地設(shè)計的安全服務(wù)) >服務(wù): 認證機制 訪問控制機制 密鑰算法和協(xié)議 對稱加密 公鑰加密 單向加密 認證協(xié)議 加密數(shù)據(jù)依賴與算法和密鑰,安全性依賴于密鑰。因為算法是公開的人人都可以得到,但是密鑰只有通信的主機才有 >Linux系統(tǒng)上述功能解決方案: OpenSSL(ssl):OpenSSL是ssl協(xié)議和加密庫的實現(xiàn) GPG(pgp):GPG是gpg協(xié)議的實現(xiàn)對稱加密
對稱加密(私鑰加密):加密和解密使用同一個密鑰 DES:Data Encryption Standard(數(shù)據(jù)加密標(biāo)準(zhǔn)) IBM實驗室研發(fā);加密端64位明文產(chǎn)生64為密文,解密端64位密文還原64位明文,8個字節(jié)為一塊,加密和解密使用56位密鑰,DES使用16個迭代塊實現(xiàn),是現(xiàn)代加密算法 3DES: Triple DES(三重數(shù)據(jù)加密標(biāo)準(zhǔn)) DES的增強版,比DES多3個數(shù)量級 AES: Advanced Data Encryption Standard(高級數(shù)據(jù)加密標(biāo)準(zhǔn));(128bits, 192bits, 256bits, 384bits) AES算法欲取待3DES算法,支持128,192和256位密鑰長度,有效的密鑰長度可達上千位。AES算法采用了更為高效的編寫方法,對CPU的占用率較少,目前廣泛使用。 特性: 1.加密、解密使用同一個密鑰,效率高 2.將原始數(shù)據(jù)分割成固定大小的塊,逐個進行加密 缺陷: 1.密鑰過多 2.密鑰分發(fā)困難 3.數(shù)據(jù)來源無法確認非對稱加密
公鑰加密:密鑰是成對出現(xiàn) 公鑰(public key):從私鑰中提取產(chǎn)生,公開給所有人 私鑰(secret key):通過工具創(chuàng)建,自己留存,必須保證其私密性 特點: 用公鑰加密的數(shù)據(jù),只有私鑰能解密,其保密性能到了保障;性能較差,用私鑰加密的數(shù)據(jù),只能用公鑰解密,任何人都何以獲得公鑰,可以確認發(fā)送方身份(身份認證) 功能: 數(shù)字簽名:主要在于讓接收方確認發(fā)送方身份,完成身份驗證 對稱密鑰交換:發(fā)送方用對方的公鑰加密一個對稱密鑰后發(fā)送給對方 數(shù)據(jù)加密:適合加密較小數(shù)據(jù) 缺點: 密鑰長,加密解密效率低下 算法: RSA:只能實現(xiàn)簽名,加密和解密 DSA:只能加密,只能做數(shù)字簽名 ELGamal:商業(yè)算法 就算法本身的實現(xiàn)來講,公鑰加密技術(shù)比對稱加密技術(shù)的速度慢上差不多3個數(shù)量級,一個數(shù)量級就是10倍,所以3個數(shù)量級不是30倍,而是1000倍。因此,在加密數(shù)據(jù)時是很少用到公鑰去加密的。 非對稱加密: 基于一對公鑰/密鑰對 用密鑰對中的一個加密,另一個解密 實現(xiàn)加密: 接收者 生成公鑰/密鑰對:P和S 公開公鑰P,保密密鑰S 發(fā)送者 使用接收者的公鑰來加密消息M 將P(M)發(fā)送給接收者 接收者 使用密鑰S來解密:M=S(P(M) 實現(xiàn)數(shù)字簽名: 發(fā)送者 生成公鑰/密鑰對:P和S 公開公鑰P,保密密鑰S 使用密鑰S 來加密消息M 發(fā)送給接收者S(M) 接收者 使用發(fā)送者的公鑰來解密M=P(S(M)) 結(jié)合簽名和加密 分離簽名單向加密
即提出數(shù)據(jù)指紋;只能加密,不能解密 特性: 定長輸出:無論原來的數(shù)據(jù)是多大級別,其加密結(jié)果長度一樣 雪崩效應(yīng):只要數(shù)據(jù)有一點不同,結(jié)果就會有巨大的不同 不可逆:不能通過特征碼還原數(shù)據(jù) 算法: md5:Message Digest 5, 128bits sha1(Secure Hash Algorithm安全散列算法):160bits,sha224,sha256,sha384,sha512 功能:確保數(shù)據(jù)完整性 如在一個網(wǎng)站下載軟件,為了驗證軟件在下載過程中沒有被第三方修改,網(wǎng)站會提供一個MD5和軟件的特征碼,只要把MD5碼下載下來和我們下載的軟件進行運算就可以得到軟件的特征碼,只要這個特征碼和網(wǎng)站提供的一樣,說明軟件沒有被修改,如果不一樣,百分之百是被修改了。秘鑰交換
密鑰交換:IKE(Internet Key Exchange) 公鑰加密:通過非對稱加密算法,加密對稱加密算法的密鑰,在用對稱加密算法實際要傳輸?shù)臄?shù)據(jù) DH (Deffie-Hellman) :生成會話密鑰 前提發(fā)送方和接受方協(xié)商使用同一個大素數(shù)p和生成數(shù)g,各自產(chǎn)生的隨機數(shù)X和Y。發(fā)送方將g的X次方mod P產(chǎn)生的數(shù)值發(fā)送給接收方,接受方將g的Y次方mod P產(chǎn)生的數(shù)值發(fā)送給發(fā)送方,發(fā)送方再對接收的結(jié)果做X次方運算,接受方對接收的結(jié)果做Y次方運算,最終密碼形成,密鑰交換完成。 DH: A: p,g B: p,g A: 生成隱私數(shù)據(jù) ? (x安全協(xié)議
SSL: Secure Socket Layer 功能:機密性,認證,完整性,重放保護 兩階段協(xié)議,分為握手階段和應(yīng)用階段 握手階段(協(xié)商階段): 客戶端和服務(wù)器端認證對方身份(依賴于PKI體系,利用數(shù)字證書進行身份認證),并協(xié)商通信中使用的安全參數(shù)、密碼套件以及主密鑰。 后續(xù)通信使用的所有密鑰都是通過MasterSecret 生成。 應(yīng)用階段:在握手階段完成后進入,在應(yīng)用階段通信雙方使用握手階段協(xié)商好的密鑰進行安全通信。 分層設(shè)計: 1、最底層:基礎(chǔ)算法原語的實現(xiàn),aes, rsa, md5 2、向上一層:各種算法的實現(xiàn) 3、再向上一層:組合算法實現(xiàn)的半成品 4、用各種組件拼裝而成的各種成品密碼學(xué)協(xié)議軟件SSL/TLSSSL:Secure sockets Layer 版本:V1.0, V2.0, V3.0 TLS:transport layer Security 版本:V1.0, V1.1, V1.2, V1.3 SSL(Secure Sockets Layer,安全套接層),及其繼任者TLS(Transport Layer Security,傳輸層安全)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。TLS與SSL在傳輸層對網(wǎng)絡(luò)連接進行加密。 Handshake協(xié)議:包括協(xié)商安全參數(shù)和密碼套件、服務(wù)器身份認證(客戶端身份認證可選)、密鑰交換 ChangeCipherSpec協(xié)議:一條消息表明握手協(xié)議已經(jīng)完成Alert協(xié)議:對握手協(xié)議中一些異常的錯誤提醒,分為fatal和warning 兩個級別,fatal 類型錯誤會直接中斷SSL 鏈接,而warning級別的錯誤SSL鏈接仍可繼續(xù),只是會給出錯誤警告 Record協(xié)議:包括對消息的分段、壓縮、消息認證和完整性保護、加密等 HTTPS協(xié)議:就是“HTTP 協(xié)議”和“SSL/TLS 協(xié)議”的組合。HTTP over SSL” 或“HTTP over TLS”,對http 協(xié)議的文本數(shù)據(jù)進行加密處理后,成為二進制形式傳輸OpenSSLOpenSSL由三部分組成:libencrypto庫,libssl庫,openssl多用途命令行工具。 OpenSSL是網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測試或其它目的使用。 OpenSSL是一個強大的安全套接字層密碼庫,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它還是一個多用途的、跨平臺的密碼工具。 SSL是Secure Sockets Layer(安全套接層協(xié)議)的縮寫,可以在Internet上提供秘密性傳輸。Netscape公司在推出第一個Web瀏覽器的同時,提出了SSL協(xié)議標(biāo)準(zhǔn)。其目標(biāo)是保證兩個應(yīng)用間通信的保密性和可靠性,可在服務(wù)器端和用戶端同時實現(xiàn)支持。已成為Internet上保密通訊的工業(yè)標(biāo)準(zhǔn)。安全套接層協(xié)議能使用戶/服務(wù)器應(yīng)用之間的通信不被攻擊者竊聽,并且始終對服務(wù)器進行認證,還可選擇對用戶進行認證。 SSL協(xié)議要求建立在可靠的傳輸層協(xié)議(TCP)之上。SSL協(xié)議的優(yōu)勢在于它是與應(yīng)用層協(xié)議獨立無關(guān)的,高層的應(yīng)用層協(xié)議(例如:HTTP,F(xiàn)TP,TELNET等)能透明地建立于SSL協(xié)議之上。 SSL協(xié)議在應(yīng)用層協(xié)議通信之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商及服務(wù)器認證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會被加密,從而保證通信的私密性。 通過以上敘述,SSL協(xié)議提供的安全信道有以下三個特性: 1、數(shù)據(jù)的保密性信息加密就是把明碼的輸入文件用加密算法轉(zhuǎn)換成加密的文件以實現(xiàn)數(shù)據(jù)的保密。加密的過程需要用到密鑰來加密數(shù)據(jù)然后再解密。沒有了密鑰,就無法解開加密的數(shù)據(jù)。數(shù)據(jù)加密之后,只有密鑰要用一個安全的方法傳送。加密過的數(shù)據(jù)可以公開地傳送。 2、數(shù)據(jù)的完整性加密也能保證數(shù)據(jù)的一致性。例如:消息驗證碼(MAC),能夠校驗用戶提供的加密信息,接收者可以用MAC來校驗加密數(shù)據(jù),保證數(shù)據(jù)在傳輸過程中沒有被篡改過。 3、安全驗證加密的另外一個用途是用來作為個人的標(biāo)識,用戶的密鑰可以作為他的安全驗證的標(biāo)識。SSL是利用公開密鑰的加密技術(shù)(RSA)來作為用戶端與服務(wù)器端在傳送機密資料時的加密通訊協(xié)定。 基本功能: OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協(xié)議庫以及應(yīng)用程序。OpenSSL的目錄結(jié)構(gòu)自然也是圍繞這三個功能部分進行規(guī)劃的。 作為一個基于密碼學(xué)的安全開發(fā)包,OpenSSL提供的功能相當(dāng)強大和全面,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測試或其它目的使用。 OpenSSL的應(yīng)用程序已經(jīng)成為了OpenSSL重要的一個組成部分。如OpenCA,就是完全使用OpenSSL的應(yīng)用程序?qū)崿F(xiàn)的。OpenSSL的應(yīng)用程序是基于OpenSSL的密碼算法庫和SSL協(xié)議庫寫成的。 OpenSSL的應(yīng)用程序主要包括密鑰生成、證書管理、格式轉(zhuǎn)換、數(shù)據(jù)加密和簽名、SSL測試以及其它輔助配置功能。 輔助功能: BIO機制是OpenSSL提供的一種高層IO接口,該接口封裝了幾乎所有類型的IO接口,如內(nèi)存訪問、文件訪問以及Socket等。這使得代碼的重用性大幅度提高,OpenSSL提供API的復(fù)雜性也降低了很多。 OpenSSL對于隨機數(shù)的生成和管理也提供了一整套的解決方法和支持API函數(shù)。隨機數(shù)的好壞是決定一個密鑰是否安全的重要前提。 OpenSSL還提供了其它的一些輔助功能,如從口令生成密鑰的API,證書簽發(fā)和管理中的配置文件機制等等。 特點: OpenSSL采用C語言作為開發(fā)語言,這使得OpenSSL具有優(yōu)秀的跨平臺性能,這對于廣大技術(shù)人員來說是一件非常美妙的事情,可以在不同的平臺使用同樣熟悉的東西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平臺,這使得OpenSSL具有廣泛的適用性。 (1)在通信之前,服務(wù)器端通過加密算法生成一對密鑰,并把其公鑰發(fā)給CA申請數(shù)字證書。 (2)CA審核后,結(jié)合服務(wù)端發(fā)來的相關(guān)信息生成數(shù)字證書,并把該數(shù)字證書發(fā)回給服務(wù)器端。 (3)客戶端和服務(wù)器端經(jīng)tcp三次握手,建立初步連接。 (4)客戶端發(fā)送http報文請求并協(xié)商使用哪種加密算法。 (5)服務(wù)端響應(yīng)報文并把自身的數(shù)字簽名發(fā)給服務(wù)端。 (6)客服端下載CA的公鑰,驗證其數(shù)字證書的擁有者是否是服務(wù)器端(這個過程可以得到服務(wù)器端的公鑰)。(一般是客戶端驗證服務(wù)端的身份,服務(wù)端不用驗證客戶端的身份。) (7)如果驗證通過,客戶端生成一個隨機對稱密鑰,用該密鑰加密要發(fā)送的URL鏈接申請,再用服務(wù)器端的公鑰加密該密鑰. (8)把加密的密鑰和加密的URL鏈接一起發(fā)送到服務(wù)器。 (9)服務(wù)器端使用自身的私鑰解密,獲得一個對稱密鑰,再用該對稱密鑰解密經(jīng)加密的URL鏈接,獲得URL鏈接申請。 (10)服務(wù)器端根據(jù)獲得的URL鏈接取得該鏈接的網(wǎng)頁,并用客戶端發(fā)來的對稱密鑰把該網(wǎng)頁加密后發(fā)給客戶端。 (11)客戶端收到加密的網(wǎng)頁,用自身的對稱密鑰解密,就能獲得網(wǎng)頁的內(nèi)容了。 (12)TCP四次揮手,通信結(jié)束。以上可概括為: 客戶端向服務(wù)器端索要并驗證證書 雙方協(xié)商生成“會話秘鑰” 雙方采用“會話秘鑰”并進行加密通信 第一階段: 支持的協(xié)議版本,如tls1.2 客戶端生成一個隨機數(shù),稍后用戶會生成“會話密匙” 支持的加密算法,如AES 3DES RSA 支持的壓縮算法 第二階段: 確認使用的加密通信協(xié)議版本,如tls1.2 服務(wù)器端生成一個隨機數(shù),稍后用于生成“會話密匙” 確認使用的加密算法 服務(wù)器證書 第三階段: 驗證服務(wù)器證書,在確認無誤后取其公鑰(發(fā)證機構(gòu) 證書完整性 證書持有者 證書有效期 吊銷列表) 發(fā)送以下信息給服務(wù)器端 一個隨機數(shù) 編碼變更通知,表示隨后的信息都將用雙方商定的加密方法和密鑰發(fā)送 客戶端握手結(jié)束通知 第四階段: 收到客戶端發(fā)來的第三個隨機數(shù)后,計算生成本次會話所有的“會話密匙” 向客戶端發(fā)送如下信息 編碼變更通知,表示隨后的信息都將用雙方商定的加密方法和密鑰發(fā)送 服務(wù)端握手結(jié)束通知OpenSSLy開源項目三個組件: openssl:多用途的命令行工具,包openssl libcrypto:加密算法庫,包openssl-libs libssl:加密模塊應(yīng)用庫,實現(xiàn)了ssl及tls,包nss openssl 命令: 兩種運行模式:交互模式和批處理模式 openssl version :程序版本號 標(biāo)準(zhǔn)命令、消息摘要命令、加密命令 標(biāo)準(zhǔn)命令:enc, ca, req, … 對稱加密: 工具:openssl enc, gpg 算法:3des, aes, blowfish, twofish加密解密加密:openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher
-out the output filename, standard output by default. (默認輸出文件名)
單向加密解密:openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile
工具:md5sum, sha1sum, sha224sum,sha256sum… openssl dgst dgst命令: openssl dgst -md5 [-hex 默認] /PATH/SOMEFILE openssl dgst -md5 testfile md5sum /PATH/TO/SOMEFILE生成用戶密碼openssl passwd -1 -salt SALT(最多8 位) openssl passwd -1 -salt centos生成隨機數(shù)openssl rand -base64 | -hex NUM NUM: 表示字節(jié)數(shù);-hex 時,每個字符為十六進制,相當(dāng)于4位二進制,出現(xiàn)的字符數(shù)為NUM*2 -base64 Perform base64 encoding on the output. (進行base64編碼輸出) -hex Show the output as a hex string. (將輸出顯示為十六進制字符串)公鑰加密算法:RSA, ELGamal 工具:gpg, openssl rsautl(man rsautl) 數(shù)字簽名: 算法:RSA, DSA, ELGamal 密鑰交換: 算法:dh DSA: Digital Signature Algorithm (數(shù)字信號運算法則) DSS:Digital Signature Standard (數(shù)字簽名標(biāo)準(zhǔn)) RSA:生成私鑰從私鑰中提取出公鑰openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS(umask 077; openssl genrsa -out test.key -des 2048)
隨機數(shù)生成器:偽隨機數(shù)字openssl rsa -in PRIVATEKEYFILE -pubout -out PUBLICKEYFILE
Openssl rsa -in test.key -pubout -out test.key.pub
CA和證書/dev/random:僅從熵池返回隨機數(shù);隨機數(shù)用盡,阻塞
/dev/urandom:從熵池返回隨機數(shù);隨機數(shù)用盡,會利用軟件生成偽隨機數(shù),非阻塞
PKI: Public Key Infrastructure(公鑰基礎(chǔ)設(shè)施)
是一種遵循既定標(biāo)準(zhǔn)的秘鑰管理平臺,它能夠為所有網(wǎng)絡(luò)應(yīng)用提供加密和數(shù)字簽名等密碼服務(wù)及所必須的密鑰和證書管理體系,PKI就是利用公鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施。PKI技術(shù)是信息安全技術(shù)的核心,也是電子商務(wù)的關(guān)鍵和基礎(chǔ)技術(shù)。 完整的PKI系統(tǒng)必須具有權(quán)威認證機構(gòu)(CA)、數(shù)字證書庫、密鑰備份及恢復(fù)系統(tǒng)、證書作廢系統(tǒng)、應(yīng)用接口(API)等基本構(gòu)成部分,構(gòu)建PKI也將圍繞著這五大系統(tǒng)來著手構(gòu)建。 PKI的基礎(chǔ)技術(shù)包括加密,數(shù)字簽名,數(shù)據(jù)完整機制,數(shù)字信封,雙重數(shù)字簽名等。 簽證機構(gòu):CA (Certification Authority) 用戶在注冊機構(gòu)注冊證書,CA就會簽發(fā)用戶的公鑰認證,并且和申請者的信息綁定在一起并且簽名后,以證書形式發(fā)給申請者,然后在本地的證書存取庫備份。 注冊機構(gòu):RA (Registration Authority) 一般用戶都是在這里注冊證書。 證書吊銷列表:CRL (Certificate Revocation List) 如果用戶私鑰丟失,必須要申請吊銷證書,否則可能會被別人冒名頂替。 證書存取庫: 所有發(fā)出的證書都會在這里存一份,如果丟失證書可以在這里得到,如果丟失私鑰那么只能申請證書撤銷。X.509 :定義了證書的結(jié)構(gòu)以及認證協(xié)議標(biāo)準(zhǔn)版本號:標(biāo)識證書的版本 序列號:標(biāo)識證書的唯一證書,類似于身份證 簽名算法ID:證書的算法標(biāo)識 發(fā)行者名稱:證書頒發(fā)這的可識別名 有效期限:證書有效的時間段 主體名稱:證書擁有著的可識別名 主體公鑰:關(guān)鍵部分 發(fā)行者的唯一標(biāo)識:證書頒發(fā)者的唯一標(biāo)識符 主體的唯一標(biāo)識:證書擁有者的唯一標(biāo)識符 擴展信息 發(fā)行者的簽名:證書頒發(fā)者對證書的簽名,上述整個內(nèi)容做單向加密,得到的特征碼用自己私鑰加密,并附加到后面,用來生產(chǎn)發(fā)行者的簽名證書獲取證書類型: 證書授權(quán)機構(gòu)的證書 服務(wù)器 用戶證書 獲取證書兩種方法: 使用證書授權(quán)機構(gòu) 生成簽名請求(csr) 將csr 發(fā)送給CA 從CA 處接收簽名 自簽名的證書 自已簽發(fā)自己的公鑰搭建CA和申請證書 1.創(chuàng)建私有CA:在確定配置為CA的服務(wù)上生成一個自簽證書,并為CA提供所需要的目錄及文件即可
三種策略:
匹配:申請?zhí)顚懙男畔⒈仨毢虲A設(shè)置信息一致
支持:必須填寫這項申請信息
可選:可寫可不寫
自簽證書,生成私鑰
生成自簽名證書
-new:生成新證書簽署請求 -x509:生成自簽格式證書,專用于創(chuàng)建私有CA時 -key:生成請求時用到的私有文件路徑 -out:生成的請求文件路徑;如果自簽操作將直接生成簽署過的證書 -days:證書的有效時長,單位是天 (不寫默認為365天)[root@www ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ".", the field will be left blank. ----- Country Name (2 letter code) [XX]:CN #國家 State or Province Name (full name) []:HeNan #省份 Locality Name (eg, city) [Default City]:ZZ #城市 Organization Name (eg, company) [Default Company Ltd]:dalong.com #公司 Organizational Unit Name (eg, section) []:Ops #部門 Common Name (eg, your name or your server"s hostname) []:CA.dalong.com #個人或主機名 Email Address []: #郵箱地址 [root@www ~]# ll /etc/pki/CA/cacert.pem #生成的自簽證書 -rw-r--r--. 1 root root 964 Jul 16 17:57 /etc/pki/CA/cacert.pem為CA提供所需的文件
[root@localhost /etc/pki/CA]#touch index.txt 生成證書索引數(shù)據(jù)庫文件 [root@localhost /etc/pki/CA]#echo 01 > /etc/pki/CA/serial 制定第一個頒發(fā)證書的序列號要用到證書進行安全通信的服務(wù)器,需要向CA請求簽署證書
(以httpd為例) [root@localhost /etc/pki/CA]#yum install httpd -y [root@localhost ~]#vim /var/www/html/index.html Test Page [root@localhost ~]#systemctl start httpd.service [root@localhost ~]#ss -tnl LISTEN 0 128 :::80 :::* [root@localhost ~]#mkdir /web/ssl -pv (用來保存證書和私鑰)生成私鑰[root@localhost /web/ssl]#(umask 0077;openssl genrsa -out httpd_ key.pem) Generating RSA private key, 1024 bit long modulus ..........................++++++ ......................++++++ e is 65537 (0x10001)生成證書簽署請求[root@localhost /web/ssl]#openssl req -new -key httpd_key.pem -out httpd.csr Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:BeiJing Locality Name (eg, city) [Default City]:BeiJing Organization Name (eg, company) [Default Company Ltd]:Tencent Organizational Unit Name (eg, section) []:Ops Common Name (eg, your name or your server"s hostname) []:www.tencent.com Email Address []:www.admin@Rookie.com 注意:默認國家,省,公司名稱三項必須和CA一致 Please enter the following "extra" attributes 可輸入以下額外屬性(可省略) to be sent with your certificate request A challenge password []: An optional company name []:將請求通過可靠方式發(fā)送給CA主機 在CA主機上簽署證書[root@localhost /web/ssl]#openssl ca -in httpd.csr -out httpd.crt Certificate is to be certified until May 29 14:04:18 2018 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated[root@localhost ~]#yum -y install mod_ssl [root@localhost ~]#vim /etc/httpd/conf.d/ssl.conf吊銷證書客戶端獲取要吊銷的證書的serial(在使用證書的主機執(zhí)行)
[root@localhost ~]#openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subjectCA主機吊銷證書
先根據(jù)客戶提交的serial和subject信息,對比其與本機數(shù)據(jù)庫index.txt中存儲的是否一致
吊銷
[root@localhost ~]#openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem其中的SERIAL要換成證書真正的序列號;生成吊銷證書的吊銷編號(第一次吊銷證書時執(zhí)行)
[root@localhost ~]#echo 01 > /etc/pki/CA/crlnumber更新證書吊銷列表
[root@localhost ~]## openssl ca -gencrl -out thisca.crl
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/35837.html
摘要:所謂對稱加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點之一。非對稱加密算法由于對稱加密在通信加密領(lǐng)域的缺陷,年和提出了非對稱加密的概念。非對稱加密,其主要缺點之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個動作或者過程,其目的就是將一段明文信息(人類或機器可以直接讀懂的信息)變?yōu)橐欢慰瓷先]有任何意義的字符,必須通過事先約定的解密規(guī)則才能將...
摘要:所謂對稱加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點之一。非對稱加密算法由于對稱加密在通信加密領(lǐng)域的缺陷,年和提出了非對稱加密的概念。非對稱加密,其主要缺點之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個動作或者過程,其目的就是將一段明文信息(人類或機器可以直接讀懂的信息)變?yōu)橐欢慰瓷先]有任何意義的字符,必須通過事先約定的解密規(guī)則才能將...
閱讀 3672·2021-09-22 15:28
閱讀 1296·2021-09-03 10:35
閱讀 878·2021-09-02 15:21
閱讀 3474·2019-08-30 15:53
閱讀 3496·2019-08-29 17:25
閱讀 569·2019-08-29 13:22
閱讀 1555·2019-08-28 18:15
閱讀 2286·2019-08-26 13:57