1 Star 0 Fork 7

Lavague / mbedtls

forked from RT-Thread-Mirror / mbedtls 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
principle.md 1.01 KB
一键复制 编辑 原始数据 按行查看 历史
Murphy 提交于 2018-08-03 18:45 . 更新文档

工作原理

mbedtls 软件包是对 SSL/TLS 协议的实现。SSL(安全套接层)和 TLS(传输安全层)均是为了保证传输过程中信息的安全,是在明文传输基础上进行的加密,然后以密文的形式传输数据。

mbedTLS 建立安全通信连接需要经过以下几个步骤:

  • 初始化 SSL/TLS 上下文
  • 建立 SSL/TLS 握手
  • 发送、接收数据
  • 交互完成,关闭连接

其中,最关键的步骤就是 SSL/TLS 握手 连接的建立,这里需要进行证书校验。

SSL/TLS 握手流程

SSL/TLS 握手交互流程

DTLS 握手流程

为了避免拒绝服务攻击,DTLS采用和IKE一样的无状态 cookie 技术。当客户端发送 client hello 消息后,服务器发送 HelloVerifyRequest 消息,这个消息包含了无状态 cookie。客户端收到之后必须重传添加上了 cookie 的 clienthello。

DTLS 握手流程如下图所示:

DTLS 握手流程

1
https://gitee.com/Lavague/mbedtls.git
git@gitee.com:Lavague/mbedtls.git
Lavague
mbedtls
mbedtls
master

搜索帮助