Symmetic Cryptography & Asymmetic Cryptography

对称加密 和 非对称加密:

  • 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。

    对称加密算法 AES 128位 192位 256位

    密钥管理比较难,不适合互联网,一般用于内部系统

    快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理

  • 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

    非对称加密算法 RSA, ECC

    密钥容易管理

    慢,适合小数据量加解密或数据签名

  • 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

为系统而生,为框架而死,为debug奋斗一辈子; 吃符号的亏,上大小写的当,最后死在需求上。


客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤:

  • (1) 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

  • (2) Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

  • (3) 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

  • (4) 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

  • (5) Web服务器利用自己的私钥解密出会话密钥。

  • (6) Web服务器利用会话密钥加密与客户端之间的通信。


OSI 模型: open system interconnection reference model

物理层-> 数据链路层 -> 网络层 -> 传输层 -> 会话层 -> 表达层 ->应用

其中 会话层和表达层 已弃用, 因为应用层的http协议有类似的功能

  • 应用层: (Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信 例如:HTTP,HTTPS,FTP,SSH,SMTP,POP3等

  • 表达层: (Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式,已弃用

  • 会话层: (Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。 已弃用

  • 传输层: (Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等

  • 网络层: (Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

  • 数据链路层: (Data Link Layer)负责网络寻址、错误侦测和改错 .当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等

  • 物理层:(Physical Layer)

    在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等

HTTP : 应用层协议**
TCP : Transmission Control Protocol 传输控制协议
UDP : User Datagram Protocol **用户数据包协议