192.168.1.1-路由器设置 | 192.168.0.1-无线路由器设置

主机加密技术:openss的理论和实操

发布时间:2016-04-09 12:47

 两台主机之间怎样进行安全的数据传输呢?中间没经过hub集线器、路由器或者交换机的,而是直接网线或者无线wifi连接。

 
ssl/TLS 是什么?为什么可以实现数据的加密传输?
 ssl/TLS是安全的套接字层,在应用层和传输层又虚拟了一个层,当http封装完后传输给TCP层时候,调用SSL层来对数据进行加密
 
什么是openssl?
openssl 是SSL的开源的实现。它有三部分构成。
libcrypto:加密库(不通信时候可以单纯加密本地数据)
libssl (ssl/TLS的实现。基于会话的、实现身份认证、数据机密性和会话完整性的ssl/TLS库)openssl 多用途的命令行工具
 
攻击类型:
      威胁保密性的攻击:窃听、通信量分析;
      威胁完整性的攻击:更改、伪装、重放、否认
      威胁可用性的攻击:拒绝服务(DoS)
解决方案:
      技术(加密和解密)、
      服务(用于抵御攻击的服务,也即是为了上述安全目标而特地设计的安全服务)
       
      服务: 认证机制 、访问控制机制
 
密钥算法和协议
   对称加密
       特性:
           1、加密、解密使用同一个密钥;
           2、将原始数据分割成为固定大小的块,逐个进行加密; 注:可以保证数据的机密性
      缺陷:
           1、密钥过多;
           2、密钥分发困难;
      算法:3DES,AES,Blowfish
 
  公钥加密 密钥分为公钥与私钥
    特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
       用途:数字签名:主要在于让接收方确认发送方的身份;
             密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;
             数据加密
     算法:RSA(主要用于密钥交换,也可签名,也可以加密和解密数据), DSA(只能用于签名),           ELGamal
 
    单向加密
          特性:定长输出、雪崩效应;提出数据指纹;只能加密,不能解密;
         http://www.luyouqiwang.com/
          算法:md5: 128bits  sha1 160bits  sha224, sha256, sha384, sha512
你知道怎样保证密钥传输的安全性?密钥交换: IKE
   公钥加密RSA(使用对方的公钥加密)  缺点是:在网上传输了
   Diffie-Hellman(密码不在网上传输)
 
A和B传输数据如何保证数据机密性、完整性、身份验证的呢? 如下图
wKiom1cFDryx3RtdAAYwRgz0fFs086.bmp
1、同理B收到数据后,用自己的私钥解密,得到对称密钥。
2、然后用对称密码解密整个数据,保证了数据的机密性。B用A的公钥能够解密数据特征码,可以验证数据来自于A。
3、B再次用单向加密算法就算出数据特征码进行比对,如果一样表示数据没有改动,验证了数据的完整性。
 
为什么要用到pki?
wKiom1cFG7yS8_aEAApn_nUQVB8887.bmp
PKI: 公钥基础设施:可以用来验证数据来源的合法性
 组成:   签证机构:CA
          注册机构:RA
         证书吊销列表:CRL
         证书存取库:
 
SSL会话主要三步:
     客户端向服务器端索要并验正证书;
     双方协商生成“会话密钥”;
     双方采用“会话密钥”进行加密通信;
 
如图:
 client                         server
A-----------------------------------B
 ------->hello
      hello <---------------              
验证证书,公钥加密随机数--------->
  B计算所有的随机密钥,生成一个对称密钥
  服务端握手结束通知
 
 
 
SSL Handshake Protocol:
第一阶段:ClientHello:
      支持的协议版本,比如tls 1.2;
      客户端生成一个随机数,稍后用户生成“会话密钥”
      支持的加密算法,比如AES、3DES、RSA;
      支持的压缩算法;
 
第二阶段:ServerHello
        确认使用的加密通信协议版本,比如tls 1.2;
        服务器端生成一个随机数,稍后用于生成“会话密钥”
        确认使用的加密方法;
        服务器证书;
 
第三阶段:
        验正服务器证书,在确认无误后取出其公钥;(发证机构、证书完整性、证书持有者、证书有效期、吊销列表)
        发送以下信息给服务器端:一个随机数;
        编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;
        客户端握手结束通知;
 
第四阶段:
        收到客户端发来的第三个随机数pre-master-key后,计算生成本次会话所有到的“会话密钥”;
        向客户端发送如下信息:
        编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送;
        服务端握手结束通知;
关于我们 - RSS地图 - 最近更新 - 友情链接 - 网站地图 - 版权声明