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.178linux.com/86882

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

相关推荐

  • Tomcat基于MSM+Memcached实现Session共享

    前言 在Tomcat集群中,当一个节点出现故障,其他节点该如何接管故障节点的Session信息呢?本文带来的解决方案是基于MSM+Memcached实现Session共享。 相关介绍 MSM MSM–Memcached Session Manager是一个高可用的Tomcat Session共享解决方案,除了可以从本机内存快速读取Session信…

    Linux干货 2015-07-03
  • 非常不错的编程技术教程

    下面是一些非常不错的编程教程,当然,全是英文版的。不过因为是新手教程,所以非常容易阅读,可以在学习技术的同时加强一下自己的英语阅读能力。 如果你是一个新手,建议你把本页设为你的收藏夹。C Introduction to C Programming C Optimization Tutorial Compiling C and C…

    Linux干货 2016-05-10
  • 第四周-grep正则表达式简单应用

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 && chmod 700 -R /home/tuser1 编辑/etc/g…

    Linux干货 2016-08-02
  • 网络管理基础

    什么是网络?    在计算机领域中,网络是信息传输,接受,共享的虚拟平台,通过它把各个点,面体的信息联系到一起, 从而实现这些资源的共享。 网路物理组件     终端:可发送和接受数据的,如计算机。移动设备,打印机,服务器….    互联设备:互联…

    Linux干货 2016-09-06
  • 新的开始

    加入马帮,新的开始,加油!

    Linux干货 2016-09-19
  • httpd功能配置之访问控制

       httpd服务可以实现对资源访问控制,可以根据IP地址和用户两种方式进行控制。    一、用户认证控制      1、在站点根目录下创建一个目录及一个页面文件      2、修改/var/httpd/conf/httpd.conf文件   &n…

    Linux干货 2016-03-11

评论列表(1条)

  • h
    h 2017-09-13 11:14

    内容不错,注意排版,继续加油!