<备份>10月15日CA ssh ssl 密钥

一,

机密性:TCP/IP,明文传输(ftp,http,smtp,telent)

完整性:不能被篡改

身份验证:确保建立会话是否是它

 

机密性:plaintext -->转换规则-->ciphertext

         转换规则:(1)对称加密

                              公钥加密:

                                     密钥对:

                                       公钥:

                                       私钥:

                                       发送

完整性:

         转换规则:(1)单向加密 ,提取数据特征码

                                输入一样:输出必然相同

                                雪崩效应:

                                定长输出:

                                不可逆:

          密钥交换:Diffie-Hellman协议  (Internet Key Exchange,IKE)

身份验证:

公钥加密算法很少用来加密数据,速度太慢

PKI:Public Key Infrastrucure

CA:Certificate Authority

        x509,pkcs12   证书格式

          公钥,有效期

          证书的合法拥有者

          证书如何使用

          CA信息

          CA签名的校验码

PKI :  OpenGPG

         TLS/SSL:x509      公钥 与有效其

TLS/SSL   Handshake

SSL:Secure Socket Layer

       SSLv2,SSlv3

TLS:Transport Layer Secure   v1 相当于SSLv3

SSL:

 

对称加密:

       DES: Data Encrption  Standard      ,56bit

       3DES:三次DES

       AES: Advance Encrption Standard

                    AES192,AES256,AES512

       Blowfish:

       Linux实现工具:OpenSSL   软件

                            1)libcrypto:加密库

                            2)libssl:TLS/SSL实现

                                 基于会话的,实现了身份认证,数据机密和会话完整

                            3)Openssl:多用途命令行工具,实现私有证书颁发机构

                                  很多子命令:

                                       speed :算法速度测试

                                       enc :加密

                                       dgst:计算校验码

                                  实现私有CA:

                                  1生成一对密钥

                                       openssl genrsa  生成私钥

                                       (umask=077;openl genrsa �Cout file.key bit) 生成并指定权限

                                       openssl �Cin file.key �Cpubout 提取公钥

                                  2生成自签署证书

                                       openssl req �Cnew �Cx509 �Ckey filename.key �Cout file.crt �Cday #

openssl x509 �Ctext �Cin cacert.pem  查看证书信息

openssl rsa �Cin server.key �Cpubout 从私钥得到公钥

        单向加密:

                MD4

                MD5   128

                SHA1 160

                SHA192,SHA256,SHA384

                CRC-32  校验

        公钥加密:

                身份认证(签名)

                数据加密

                密钥交换

              RSA :加密,签名

              DSA :签名  美国安全局

              ElGamal:商业

 

OpenSSH:

telnet ,TCP/23 远程登陆

       认证明文,数据传输明文

ssh:Secure SHell TCP/22

    v1,v2.v1有缺陷,无法避免中间人攻击

客户端:

        linux:ssh

        windows:一个图形界面软件,putty,不要绿色版。SecureCRT,SSHSecureShellClent.Xmanager

服务器端:

         sshd:主机公钥

   基于口令:

   基于密钥:

netstat �Ctunlp

         -r   route

         -t   tcp

         -u   udp

         -n   portnum

         -l    listen

         -p   pid

  客户端:/etc/ssh/ssh_config

  服务端:/etc/ssh/sshd_config

ssh  -l Username  remote_host  ‘command’

           username#(@)remote_host

        -x  信任x11图形界面

基于密钥认证:

   一台主机为客户端:

1,生成一对密钥

       ssh-keygen �Ct 指定算法

                         -f 保存的密钥文件

                         -N 指定密码

2,将公钥传输至服务器端用户家目录下的.ssh/authorized_keys

      文件传输工具(ssh-copy-id,scp)

      ssh-copy-id  -i /path/to/pubkey    username@remotehost 

3,测试登陆

scp:基于ssh的远程复制命令,可以实现在主机之间传输数据

        scp [option] SRC DEST

                          SRC=user@host:/path/file

 

         总结:

1,密码应该经常换

2,使用非默认端口

3,限制登录客户地址

4,禁止管理员直接登录

5,仅允许有限制用户登录

6,使用基于密钥的认证

7,禁止使用v1

   嵌入式ssh软件,dropbear 。。。。 

你可能感兴趣的:(p,性)