基于上一篇,知道了數(shù)據(jù)加密中所用到的加密方式及算法,還有某些認(rèn)證機(jī)構(gòu);
那么這一篇就用來(lái)實(shí)際操作,如何使用命令來(lái)完成數(shù)據(jù)的加密及解密;
首先,在操作之前,要了解到兩個(gè)關(guān)于安全傳輸?shù)膮f(xié)議即:SSL與TLS
SSL:(Secure Socket Layer,安全套接字層),位于可靠的面向連接的網(wǎng)絡(luò)層協(xié)議和應(yīng)用層協(xié)議之間的一種協(xié)議層。SSL通過互相認(rèn)證、使用數(shù)字簽名確保完整性、使用加密確保私密性,以實(shí)現(xiàn)客戶端和服務(wù)器之間的安全通訊。該協(xié)議由兩層組成:
TLS:(Transport Layer Security,傳輸層安全協(xié)議),用于兩個(gè)應(yīng)用程序之間提供保密性和數(shù)據(jù)完整性。
SSL是Netscape開發(fā)的專門用戶保護(hù)Web通訊的,目前版本為3.0。最新版本的TLS 1.0是IETF(工程任務(wù)組)制定的一種新的協(xié)議,它建立在SSL 3.0協(xié)議規(guī)范之上,是SSL 3.0的后續(xù)版本。
在了解上述兩個(gè)協(xié)議之后,接下來(lái)就是使用OpenSSL程序來(lái)實(shí)現(xiàn)上述的安全協(xié)議;
OpenSSL是一個(gè)開源項(xiàng)目;其組成主要包括以下三個(gè)組件:
openssl;多用途的命令行工具
libcrypto;實(shí)現(xiàn)加解密的算法的庫(kù)
libssl;實(shí)現(xiàn)SSL/TLS功能的庫(kù)
openssl的具體使用方法:
㈠ 對(duì)稱加密
對(duì)稱加密使用了openssl的標(biāo)準(zhǔn)命令是enc。具體用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-e] [-d] [-a/-base64] [-salt]
常用選項(xiàng):
-ciphername:算法名稱;包括des3, des, aes, rc4, ...
-e:加密
-d:解密
-a/-base64:純文本格式編碼
-salt:加隨機(jī)鹽
-in filename:要加密的文件路徑
-out filename:加密之后的文件的輸出路徑
示例:
[root@XZC ~]# mkdir /shiyan
[root@XZC ~]# cd /shiyan/
[root@XZC shiyan]# cp -a /etc/fstab ./
[root@XZC shiyan]# ls
fstab
[root@XZC shiyan]# openssl enc -e -des -a -salt -in ./fstab -out ./fstab.aes
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:
[root@XZC shiyan]# ls
fstab fstab.aes
[root@XZC shiyan]# cat fstab.aes
U2FsdGVkX1/8MReIhI8TC8rl+oSgYbU5+c/bzZut1Kv+JylxuubCqgybgIJafKEe
Db1kH6YeCtU+zoAqrQMPdVGtyQ4X3kMPbyFZSRbnv91Ouj8QJxpjkO3ja5o3/qFk
aJ7HtP8R3cyXiKynOzu7M2zNU4N7uKDz2G1QOCY/ZB1ds7mT7CkM27vnGkisjxTy
3CiFZQZ0xex6P3MGK78IoWPMyv3tYnLb0Bz9vDbfWXWnj8ImEWSg0G1SbkZyTvcm
T13PrzzaRiP11JOSB1isG3Qz9G2r8hp/0SbqduIyeZtvTr2GmsGz5AZpULakT31s
iLmgfHtGtWCN0EGEbVh9zLzS7UsAY4D/r03iePY/BiGnEPY4leFqqOFfuqBL/1ec
8LkiKB2LAvRnQI4LLWzEPXTysk67ETqiXHZrOtKWE744qFkRAK9kliUT7R8KtefQ
gl+0dWI0ODNbbdL+j9s+VZB4YdlFYXacfOhiA5Qb1R69S52RmErx+kvjq1XmwoVx
ld0lcctrEeSsF2jMReSpZ84gmyvMC511VYMlL9QLYn6BFFE65ycXZuQfv43GRQKu
OeYYooaswQJQ5E4SjPQDMfSBgxblZqmIxuhKBH1Mve1FQZLAo9YZsn/CrzpOTSqa
w57DkPY8U9A2Zdz5I4qC05wCQoXhoLcmXmc6f4keHLK4IVtOOHa/7OIKn3bHpUyG
o/Aw4fNXYbwyst4yROvXQEJPKpmg6lD/Som0K6tDGvEyX/BZAgJu+5pInhDGLnaR
+OkEyTN3otEXGytApEW2gxunQS3UFHzK+swVstUzjHYipXvzTBR0C3Aq4NkxWoK2
weSYlDr6FujaqMIY6wbUoMR+gD7WdstDyVfgZtOo+sXMpagB8VEsAXtPHSow50yn
5iQdUrMRCUb70Cda7/JUNreL+cNAc2ufZaQ7FJl1+VvlxytgZf+9gn/68jHq0D6t
CL+7rwAr+7F9hvuq3BLFrBfid1+1PjUuJABiLaArSsUrmOc7iDB08QJrz6arMQuz
CziR6tCkN6SmiVk1j93WyTvYtjo45CMIye4t8uJsXZVOYmNKmEXfutmmw2Cxfaso
2WUjp8c/VdkJ2Oqhx8cmY/ZWg5OmIEPTQvCmbRpbh+GnsfvaoxdbR2mkXEXDnq0+
l6HvgpH/0g0=
㈡單向加密
單向加密使用的openssl的標(biāo)準(zhǔn)命令是dgst。具體用法如下:
openssl dgst -ciphername /PATH/TO/SOME_FILE
示例:
[root@XZC ~]# echo "hello gril" | openssl dgst -md5
(stdin)= 886b7588265e1ddcaeb8f0c025efc167
[root@XZC ~]# openssl dgst -md5 /shiyan/fstab
MD5(/shiyan/fstab)= e05f16e951766776dbb825646b21dae1
㈢生成隨機(jī)數(shù)
生成隨機(jī)數(shù)使用的是openssl的標(biāo)準(zhǔn)命令rand。具體用法如下:
openssl rand [-out file] [ -rand file(s)] [-base64] [-hex] num
示例:
[root@XZC ~]# openssl rand -hex 10
b957e6cd51ff87ef47bd
[root@XZC ~]# openssl rand -hex -out /shiyan/a.rand 10
[root@XZC ~]# cat /shiyan/a.rand
a814ddf429ce79b2f296
㈣生成用戶密碼
生成用戶密碼使用的是openssl標(biāo)準(zhǔn)命令中的passwd
openssl passwd [-1] [-salt string] [-stdin]
常用選項(xiàng):
-1:使用md5加密算法
-salt string:加入隨機(jī)數(shù),最多8位
-stdin:對(duì)標(biāo)準(zhǔn)輸入的內(nèi)容進(jìn)行加密
示例:
[root@XZC ~]# echo "xuzongchao123" | openssl passwd -1 -stdin
$1$kRWLNvyk$HD1pT6kFEzSquqKSyOGeZ0
[root@XZC ~]# openssl passwd -1 -salt `openssl rand -base64 10`
Password:
$1$VY1BfSc9$lkI2LeSIk3Ye5hTBWMvcQ.
㈤生成公鑰加密算法
生成RSA算法的私鑰是:openssl genrsa
從私鑰中提取RSA公鑰是:openssl rsa
openssl genrsa [-out filename] [-des] [-des3] [-idea] [-f4] [-3] [numbits]
-numbits:生成私鑰的大小,默認(rèn)是2048
示例:
[root@XZC ~]# (umask 077; openssl genrsa -out /shiyan/ga.genrsa 4096)
# 括號(hào)的意思是將命令在子shell中運(yùn)行,使用umask掩碼修改生成文件的權(quán)限
Generating RSA private key, 4096 bit long modulus
................................................................................... .............++
.........................................................++
e is 65537 (0x10001)
[root@XZC ~]# ls -dl /shiyan/ga.genrsa
-rw-------. 1 root root 3243 8月 11 15:41 /shiyan/ga.genrsa
[root@XZC ~]# cat /shiyan/ga.genrsa
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEA8+W/qjcEKMnbzLmCHxf2oigkTpuA11eVtD5ZvpMSH78ZtQvU
auyRxrwqnr7Jvge2AawA6F7JvyBEux5v1AImFXFyBZpK9yMe/WUEyjKLrToA151b
ID6KbrT8OGGE0fNdNY+UuR1hvZ1Hz/+rjVZVDYKtnhi8TxrLPuTSaA90tn4WCajh
UtSn9d7tmBhBNmW0AEZIxFc2VnX9HexGGWR1sCcYV6oeojxv+1BZHPmcyB7zeQuB
AH1cB3c/mUKMdXBEgMUXf9BMycJpAZL3qzXpig5GHN6VKsAA6ELNmXmBaCEfDhH1
Bv2jetGAwL8GaImX0I+q6qjKp56NGI3tRfi420Ut7/kDFreqm8wUXykZMRGTaQic
3s0t5Q/jBMFjD6cBEvijzyLVSfhP3C2Tsb9pdEFquj8A7O47NtH0hermujq7ycqz
Dj0CuzjCsWfBooJfn2CIylQixl109gyvYuJ5q6xyNIwKCAQA1AYuaNo4Y/EXZW2Y
m0Fx/RZCrohs2rEcTxSRTvmenH9cGYn+tKmE4PcuyrulYkV88TmpRL12f64v1V3h
-----END RSA PRIVATE KEY-----
openssl rsa [-in filename] [-out filename] [-pubout]
-pubout:根據(jù)私鑰提取出公鑰,不生成文件,在顯示屏輸出結(jié)果;
示例:
[root@XZC ~]# openssl rsa -in /shiyan/ga.genrsa -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8+W/qjcEKMnbzLmCHxf2
oigkTpuA11eVtD5ZvpMSH78ZtQvUauyRxrwqnr7Jvge2AawA6F7JvyBEux5v1AIm
loR7sgFWoRASmiZCyAHPntzQUralQluU5xqinzXigO6CtKoAlyj/GU7xa+jW3aN8
G4NWwel6W9ZB9S6scPd1pj5efUwKZ+4nbzu96upppsmLdTuftDab513IYEA5iiRq
UeHCh6/oCC4ZMSiLSuOLQx8CAwEAAQ==
-----END PUBLIC KEY-----
㈥建立私有CA
①創(chuàng)建CA的私鑰文件
~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
②生成自簽證書
~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3653
-new :生成新證書簽署請(qǐng)求
-x509:生成自簽證書,專用語(yǔ)私有CA的自簽證書的頒發(fā)
-key:指定CA的私鑰文件路徑
-out:生成自簽證書所保存的路徑
-days:設(shè)置證書有效期限;單位是天
③滿足CA所必須的目錄級(jí)文件和文本文件的布局:
~]# touch /etc/pki/CA/index.txt
~]# echo 01 > /etc/pki/CA/serial
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文標(biāo)題:關(guān)于數(shù)據(jù)傳輸中加密解密那點(diǎn)事兒(二)-創(chuàng)新互聯(lián)
文章路徑:http://www.rwnh.cn/article8/pdhop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、建站公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容