码迷,mamicode.com
首页 > 其他好文 > 详细

SSL&TLS传输层加密协议实现图解

时间:2016-01-07 01:24:18      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:ssl   tls   

一、SSL&TLS

    1.SSLSecure Sockets Layer 加密套接字协议层

       1)SSL是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密

             Secure Socket Layer为Netscape网景公司1994所研发,用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取及窃听。

       2)SSL协议可分为两层:记录协议、握手协议

           SSL Record Protocol:建立在可靠的传输协议如TCP之上为高层协议提供数据封装、压缩、加密等基本功能

           SSL Handshake Protocol:建立在SSL记录协议之上用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

         3)SSL版本:1.0v  2.0v  3.0v

              1.0版本未公布,2.0版本才发出就被暴出大量漏洞

              主流版为3.0。广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输,但近期被爆出安全漏洞

 

     2.TLSTransport Layer Security,安全传输层协议

           1999年,IETF在仿照SSL发布,为防止SSL一家独大,基本和SSL协议兼容

           (1)版本:V1.0, V1.1, V1.2, V1.3

        V1.3现在为草案支持椭圆曲线算法,现在主流是V1.2

(2)分层设计:

       1)最底层:基础算法原语的实现,aes, rsa, md5

       2)向上一层:各种算法的实现;

       3)再向上一层:组合算法实现的半成品;

      4)用各种组件拼装而成的各种成品密码学协议软件;

 

    3.SSLTLS实现网络安全性:http  -->  SSL/TLS --> https

          传输层协议TCP,UDP,SCTP不同主机上的进程间通信通过socket(ip:port)

          client ip:port <-- --> serverip:port

port:进程地址,进程向内核注册使用某端口(独占)

套接字一般处于监听模式:LISTEN(ip:port),占用端口,发起请求是启用服务

 

 

 

 

二、传输安全性实现:密钥算法协议

    1.网络传输安全性

           (1)安全的目标

       保密性:confidentiality

       完整性:integrity

       可用性:availability

           (2)攻击类型

      威胁保密性的攻击:窃听、通信量分析;

      威胁完整性的攻击:更改、伪装、重放、否认

      威胁可用性的攻击:拒绝服务(DoS)

           (3)解决方案

      技术层面:加密和解密

      服务层面:用于抵御攻击的服务,也即是为了上述安全目标而特地设计的安全服务

    2.密钥算法

         (1)对称加密:加密和解密使用同一个密钥;

                  1)性:加密、解密使用同一个密钥;将原始数据分割成为固定大小的块,逐个进行加密;

                  2)缺陷:密钥过多;密钥分发困难;

                  3)种类:

               DESData Encryption Standard,数据加密标准;算法的入口参数有三个:KeyDataMode

                                              Key7个字节共56,DES算法的工作密钥;

                                              Data8个字节64,是要被加密或被解密的数据;

                                              ModeDES的工作方式,有两种:加密或解密

               3DES:三轮加密的DES

               AESAdvanced Encryption Standard;  (128bits, 192bits, 256bits, 384bits)

               BlowfishTwofishIDEARC6CAST5

         (2)公钥加密:密钥分为公钥与私钥

                  1)公钥:从私钥中提取产生;可公开给所有人;pubkey

       2)私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key;

       3)特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;

       4)用途:身份认证,数字签名:主要在于让接收方确认发送方的身份;

             密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方;

             数据(特征码)加密:其加密速度比对称加密慢三个数量级,所以不能做全数据加密

        5)算法:RSA, DSA, ELGamal

   DSS: Digital Signature Standard

   DSA:Digital Signature Algorithm

         (3)单向加密:即提出数据指纹;只能加密,不能解密

                  1)特性:定长输出、雪崩效应;

       2)功能:完整性校验

       3)算法:md5:Message Digest 5, 128bits,消息摘要算法,版本号为五

           sha1:Secure Hash Algorithm 1, 160bits ,安全的Hash算法

           sha224, sha256, sha384, sha512

    3.密钥交换协议:IKE(Internet Key Exchange)

           (1)公钥加密

           (2)DH(Deffie-Hellman)算法:密码本身无需在互联网上传输,但双方能得到一致的密码

                   扩展:ECDH(椭圆曲线DH)ECDH(临时椭圆曲线DH)

      实现方案简介:

   1)AB生成两个数字:p, gp大素数和g,可以明文可以传输

               2)AB各自自定义一个数字xy,进行阶乘取模操作,将其结果传递给对方

            A私下生成x     --> p^x%g ==> B

            B私下生成y    --> p^y%g ==> A

    3)AB进行解密操作

            A: (p^y%g)^x=p^yx%g  B: (p^x%g)^y=p^xy%g

    4.PKI:Public Key Infrastructure公钥基础设施

          (1)PKI组成

签证机构:CA

注册机构:RA

证书吊销列表:CRL

证书存取库:CB,公共存储证书位置

          (2)X.509v3:定义了证书的结构以及认证协议标准

     版本号序列号签名算法ID发行者名称有效期限主体名称主体公钥发行者的惟一标识

     主体的惟一标识扩展发行者的签名


本文出自 “许鼎的博客” 博客,请务必保留此出处http://xuding.blog.51cto.com/4890434/1732275

SSL&TLS传输层加密协议实现图解

标签:ssl   tls   

原文地址:http://xuding.blog.51cto.com/4890434/1732275

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!