美文网首页
数据安全传输

数据安全传输

作者: 知成 | 来源:发表于2022-03-29 11:43 被阅读0次

数据在网络中进行传输,很容易通过抓包工具抓取并分析数据包的数据内容,若一些比较敏感的账号,密码,政治策略,政治言乱,商业机密等信息被有心人随意获取加一利用那么社会必将被网络影响的混乱不堪。因此加快了密码学研究与应用,现如今已成熟的应用于当今的网络通信中。
此处主要以 WebRTC 的数据加密流程举例:
从宏观角度分析网络数据的加密可分为两部分,建立加密通道传输数据、数据加密。此处将以 WebRTC 中的数据安全传输为例加以说明;

建立加密通道传输数据

加密通道建立与数据传输涉及到的协议有 UDP、RTP/SRTP, RTCP/SRTCP,接下来逐一说明;

加密信道建立

加密信道的建立依赖于 DTLS(Datagram Transport Layer Security) 数据报传输层安全协议,DTLS 是在TSL(Transport Layer Security传输层安全协议)协议的基础上衍生的,TSL 又是在 SSL(Secure Sockets Layer,安全套接字层)基础上衍生的。DTLS 与 SSL/DTLS 的主要区别在于,DTLS 是基于 UDP 的安全传输协议,SSL/TLS 是基于 TCP 的安全传输协议。
DTLS,SSL/TLS 主要是为了解决传输的安全风险:

  • 窃听风险:第三方获取通信信息(所有信息加密传输)
  • 篡改风险:第三方修改通信信息(具有校验机制,“数字签名”即加密校验码,利用非对称加密技术,若通信信息被修改,则数字签名校验将会失败)
  • 冒充风险:第三方冒充他人参与通信(通信双方具有身份证书,防止被冒充,证书一般是由专业机构签发,webrtc 使用的是自签名证书)
    “DTLS 可以防止 DOS 攻击:
    1. 攻击者通过传输一系列握手初始化请求,导致服务器维护大量状态和处理能力不断消耗,从而耗尽可用服务资源
    2. 攻击者使用大量跳板机器发送连接初始化信息。服务器然后发送下一条信息(在DTLS中是证书消息,可能非常巨大)给各个跳板机器,然后资源耗尽。”


    image.png

数据传输

在 WebRTC 中对传输实时性要求比较高,因此采用 RTP(Realtime Transport Protocol)实时传输协议来传输音视频数据,RTP 的数据包是通过 UDP 发送的,UDP 协议存在它固有的缺陷。因此 RTCP(RTP Trasport Control Protocol)RTP 传输控制协议,主要用来监控数据传输的质量,并将通信信息反馈给发送方。
SRTP、SRTCP 是在固有的 RTP,RTCP 协议的基础上加了 S(Secure)表示安全传输,具体流程如下:

  • 通信双方通过 DTLS 握手协商生成密钥对
  • 数据发送方将音视频数据封装成 RTP 包,将控制数据封装成 RTCP 包
  • 数据发送方利用加密密钥,对 RTP,RTCP 包进行加密生成 SRTP,SRTCP 包
  • 将 UDP 传输 SRTP,SRTCP

数据加解密

以上描述的安全通道的建立实际上涉及了,两种加解密的方式对称加密与非对称加密;

对称加密

使用相同的算法对数据进行加密和解密,并且使用了相同的加密和解密密钥。
优点:加解密速度快,适合处理较大的数据;
加密算法基本上是确定的,加密密钥与解密密钥相同,若被第三方获取到密钥则被加密的数据和明文没啥区别,密钥的安全性很重要;
常用的对称加密算法有:DES、3DES、TDEA、RC2、RC4、RC5、IDEA等

非对称加密

相对对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。
非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能解密。这两个密钥是数学相关,使用某用户密钥加密后的密文,只能使用该用户的加密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个密钥性质。这里把公开的密钥为公钥,不公开的密钥为私钥。
非对成加密加密算法常用的有:RSA,Elgamal,DSA 等;

国密算法介绍

image.png

参考链接(此篇只是概括描述,详细内容可参考如下文章)

相关文章

  • get/post区别

    数据传输方式不同:GET请求通过URL传输数据,而POST的数据通过请求体传输。 安全性不同:POST的数据因为在...

  • 数据安全传输

    数据在网络中进行传输,很容易通过抓包工具抓取并分析数据包的数据内容,若一些比较敏感的账号,密码,政治策略,政治言乱...

  • PHP加密解密- AES加密算法 -RSA加密算法

    为了保证网络传输数据的安全性,涉及敏感数据的传输,最好对数据预先加密,然后再在网络上进行传输,同时,还要保证数据在...

  • 对iOS数据安全的一次小探索

    一、主流保证数据安全的方式 1、网络传输安全 1.采用HTTPS通信协议 可防止抓包窃取、篡改传输数据,大大增加...

  • 关于ORACLE数据传输加密的介绍

    Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性...

  • 关于ORACLE数据传输加密的介绍

    Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性...

  • 技能tree

    iOS 1、网络通信:socket、网络协议、request 2、安全方案:数据加密、传输加密、代码安全 3、数据...

  • Spring Boot 结合 SSL

    SSL 安全套接字 超文本传输协议(HTTP)是以纯文本形式传输数据,这样并不安全 SSL(安全套接层),及其继任...

  • 数据安全之MD5加密

    一、数据安全 数据本身的安全(现代密码学) 数据保密 数据完整性验证 数据双向认证——网络传输:三次握手,大...

  • 网络

    可靠安全 -> 7层架构 数据链路层 解决两个节点传输,最小传输单位,数据包,可以通过基础验证检查...

网友评论

      本文标题:数据安全传输

      本文链接:https://www.haomeiwen.com/subject/clpvjrtx.html