linux 加密和證書

安全目標:
機密性:明文傳輸的ftp, http,telnet 不安全
數據完整性:
身份驗證:
可用性:
安全技術:認證,授權,安全通信,審計
密碼算法和協議:對稱加密,公鑰加密,單向加密,認證協議

1、對稱加密:加密,解密使用同一個秘鑰,效率高

DES:Data Encrption Standard, 56bit
3DES:
AES:Advanced
Blowfish
缺點:秘鑰過多,分發問題,來源無法確認
gpg實現加密: gpg -c file –>file.gpg
解密:gpg -o file -d file.gpg

2、公鑰加密:非對稱加密

密鑰對:公鑰:P 私鑰:S 信息:M
M=S(P(M))
發送方用自己的私鑰加密數據,可以實現身份驗正
發送方用對方的公鑰加密數據,可以保證數據機密性
公鑰加密算法很少用來加密數據:速度太慢
公鑰加密:(加密/簽名)
數字簽名
數據加密
對稱密鑰交換
算法:RSA: 加密、簽名,DSA:簽名,ElGamal
gpg實現公鑰加密:
gpg –gen-key

3、單向加密:提取數據特征碼

輸入一樣:輸出必然相同
雪崩效應:輸入的微小改變,將會引起結果的巨大改變
定長輸出:無論原始數據是多在,結果大小都是相同的
不可逆:無法根據特征碼還原原來的數據
協商生成密碼:密鑰交換(Internet Key Exchange, IKE)
Diffie-Hellman協議:
A –> B p, g (大素數,生成數)
A: x B: y
A: g^x%p –> B
B: g^y%p –> A
g, p, g^x%p, g^y%p
A: (g^y%p)^x=g^yx%p
B: (g^x%p)^y=g^xy%p
單向加密算法:MD5 SHA1 SHA256

4、CA

PKI: Public Key Infrastructure
簽證機構CA: Certificate Authority
注冊機構:RA
證書吊銷列表:CRL
x509:
公鑰及期有效期限
證書的合法擁有者
證書該如何被使用
CA的信息
CA簽名的校驗碼..

5、OpenSSL: 開源

libcrypto: 加密庫
libssl: TLS/SSL的實現
基于會話的、實現了身份認證、數據機密性和會話完整性的TLS/SSL庫、
openssl: 多用途命令行工具
6、openssl實現私有CA:
1、生成一對密鑰
2、生成自簽署證書
openssl genrsa -out /PATH/TO/KEYFILENAME NUMBITS
openssl rsa -in /PATH/TO/KEYFILENAME -pubout

CA服務器:
1、vim /etc/pki/tls/openssl.cnf
dir=/etc/pki/CA

2、cd /etc/pki/CA
make certs newcerts crl
touch index.txt
echo 01 > serial

3、自簽證書
(umask 077; openssl genrsa -out private/cakey.pem 2048)
openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3000

OpenSSL:
1、創建CA
自己生成一對密鑰;
生成自簽證書;
2、客戶端
生成一對密鑰;
生成證書頒發請求, .csr;
將請求發給CA;
3、CA端
簽署此證書;
傳送給客戶端;
OpenSSL: TLS/SSL, (libcryto, libssl, openssl)

9、OpenSSH:
telnet, TCP/23, 遠程登錄
認證明文
數據傳輸明文

ssh: Secure SHell, TCP/22 C/S
OpenSSH軟件包(開源)
客戶端:Linux: ssh
Windows: SecureCRT xshell
服務器端:sshd
openssh (ssh, sshd)
sshd: 主機密鑰
netstat
-t: tcp connections
-u: udp connections
-l: listening
-p: process
配置文件:
ssh (ssh_config)
sshd (sshd_config)
/etc/ssh
ssh:
ssh -l USERNAME REMOTE_HOST [‘command’]
ssh USERNAME@REMOTE_HOST
-p port

基于密鑰的認證:
一臺主機為客戶端(基于某個用戶實現):
1、生成一對密鑰
ssh-keygen
-t {rsa|dsa}
-f /path/to/keyfile
-N ‘password’
2、將公鑰傳輸至服務器端某用戶的家目錄下的.ssh/authorized_keys文件中
使用文件傳輸工具傳輸(ssh-copy-id, scp)
ssh-copy-id -i /path/to/pubkey USERNAME@REMOTE_HOST

總結:
1、密碼應該經常換且足夠復雜;
2、使用非默認端口;
3、限制登錄客戶地址;
4、禁止管理直接登錄;
5、僅允許有限制用戶登錄;
6、使用基于密鑰的認證;
7、禁止使用版本1

PKI
A –> B:
證書: 用戶信息,公鑰
頒發者的信息,簽名
證書有效期限
A發送方:
1、計算數據的特征碼(單向加密);
2、用自己的私鑰加密特征碼,并附加在數據后面;
3、生成一個臨時對稱密鑰;
4、用此密鑰結合某算法加密數據及加密后的特征碼;
5、對接收方的公鑰加密此對稱密鑰,并附加加密后的數據后面;
6、發送至接收方;
B接收方:
1、用自己的私鑰解密加密的對稱密鑰;
2、用對稱密鑰解密數據;
3、用對方的公鑰解密加密的特征碼;
4、用同樣的算法計算數據的特征碼,并與解密而來的特征碼進行比較;
A –> B:
SSL: Secure Socket Layer, SSLv2, SSLv3
TLS:Transport Layer Security, TLSv1

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86882

(1)
cuicui
上一篇 2017-09-11 01:00
下一篇 2017-09-11 09:56

相關推薦

  • 網絡班N_27第三周作業

    1、   列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who |cut-d” ” -f1 | sort -u 2、   取出左后登錄到當前系統的用戶的相關信息。 [root@localhost ~]# id `l…

    2017-08-11
  • 程序包管理:rpm , yum ,與編譯

    1.RPM,Redhat Package Manager。是Redhat和CentOS等Linux系統上常見的軟件安裝工具。 軟件安裝: 常見選項 -i                #install…

    Linux干貨 2016-03-26
  • MySQL/MariaDB基礎性知識及DDL操作詳解

    前言 MySQL/MariaDB是一個開放源碼的小型關聯式數據庫管理系統,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL/MariaDB作為網站數據庫。 基礎架構 MySQL核心組件 連接池:認證、線程重用、連接數限制、內存檢查、緩存 SQL接口:DDL, DML, 關系型數據庫的基本抽…

    Linux干貨 2015-05-07
  • 創建CA

    創建CA和申請證書 創建私有CA: 首先在CA服務器端創建CA。 先去看openssl的配置文件: /etc/pki/tls/openssl.cnf 一般我們不會去更改這個配置文件,但是要去看一下。我們是根據這個文件創建的CA. 這個文件里是openssl的配置文件,我們打開后只觀察與CA有關的文件。   在文本中可以看出一個主機中可以有多個CA,…

    2017-07-28
  • 關于tar命令的一些方法

    tar 解壓縮文件時只有當文件格式中有tar才能使用,否則使用其他單獨的特定解壓縮工具,例如uncompress,gzip ,bzip2.xz等等 tar壓縮解壓縮命令詳解 tar命令詳解 -c: 建立壓縮檔案 -x:解壓 -t:查看內容 -r:向壓縮歸檔文件末尾追加文件 -u:更新原壓縮包中的文件 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命…

    Linux干貨 2016-08-29

評論列表(1條)

  • h
    h 2017-09-13 11:14

    內容不錯,注意排版,繼續加油!

欧美性久久久久