笔记
(1)密码可以分为两大类:序列密码和分组密码
(2)散列函数最常用的场合是以紧凑的方式表示比较大量的数据
(3)散列函数是将任意长度的输入转换为定长输出的算法
密码学散列函数的几个额外的特性:
- 抗原性(单向性):给定一个散列,计算上无法找到或者构造生成他的消息
- 抗第二原性(弱抗碰撞性):给定一个消息和他的散列,计算上无法找到一条不同的消息具有相同的散列
- 强抗碰撞性:计算上无法找到两条散列相同的消息
(4)散列函数经常被称为指纹,消息摘要
(5)散列函数可以用于验证数据完整性
(6)消息验证代码MAC或者使用密钥的散列是以身份验证扩展了散列函数的密码学函数,只有拥有了散列密钥,才能存在合法的MAC
(7)TLS是一种密码学协议,用于保证两个团体之间的会话安全
(8)会话是由任意数量的消息组成
(9)TLS 以记录协议实现,记录协议负责传输连接上交换的所有底层消息,并可以配置加密
(10)记录协议只关注数据传输和加密,而将其他所有特性转交给子协议
(12) 第一次连接会话时,会话ID字段是空的,这表示客户端不希望恢复某个已存在的会话,典型的会话ID包含32字节随机生成的数据,这些数据本身没有什么价值
(13) 服务器必须保证他发送的证书与选择的算法套件一致
(14) 主动网络攻击者利用缓冲机制在首次握手时发送未经验证的警报消息,更可以在开始加密以后破坏真正的警报消息,为了避免更重要的问题,应用数据协议必须等到首次握手完成以后才能开始发送
(15) PRF 伪随机函数,这个函数可以生成任意数量的伪随机数据
(16) http cookie 是一种用来在客户端保存少量数据的扩展机制,对于要设置的每个cookie,服务器必须制定一对名称和值,以及描述其作用范围和生命周期的元数据
(17) 服务器只能获取到cookie的名称和值,没有其他信息了,重要的是,他们不知道cookie的来源
(18)当多个cookie的名称相同的时候,一般服务器端的应用程序只会使用第一个cookie