密码编码学与网络安全
密码算法
3个分支:
- 对称密码
- 非对称密码
- 密码学Hash函数以及相关的消息认证码和数字签名
互相信任
两个范畴:
- 通信双方基于加密密钥建立信任的密钥管理和密钥分配的问题
- 基于通信方身份建立信任的用户认证问题
密码算法与协议
4个领域:
- 对称加密:用于加密任意大小的数据块或数据流的内容,包括消息、文件、加密密钥和口令
- 非对称加密:用于加密小的数据块,如加密密钥或者数字签名中使用的Hash函数值
- 数据完整性算法:用于保护数据块(如一条消息)的内容免于被修改
- 认证协议:有许多基于密码算法的认证方案,用来认证实体的真实性
计算机安全
对于一个自动化的信息系统,采取保护措施保护信息系统资源(包括硬件、软件、固件、信息/数据和通信)的完整性、可用性和保密性:
保密性(Confidentiality):
- 数据保密性:确保隐私或者秘密信息不向非授权者泄漏,也不被非授权者所使用
- 隐私性:确保个人能够控制或者确定与其自身相关的哪些信息是可以被收集、被保存的、这些信息可以由谁来公开以及向谁公开
对信息的访问和公开进行授权限制,包括保护个人隐私和秘密消息。保密性缺失的定义是信息的非授权泄漏
完整性(Integrity):
- 数据完整性:确保信息和程序只能以特定和授权的方式进行改变
- 系统完整性:确保系统以一种正常的方式来执行预定的功能,免于有益或者无益的非授权操纵
防止信息的不恰当修改或破坏,包括确保信息的不可否认性和真实性。完整性缺失的定义是对信息的非授权修改和毁坏 (修改、欺骗和否认,可以用加密Hash函数/Keyed Hash Functions
的方法解决此类问题)可用性(Availability):确保系统能工作迅速,对授权用户不能拒绝服务
确保对信息的及时和可靠的访问和使用。可用性的缺失定义是对信息和信息系统访问和使用的中断
数据保密性
保证收到的数据的确是授权实体所发出的数据(即没有修改、插入、删除或者重播):
- 防止传输的数据遭到被动攻击
- 防止流量分析
不可否认性
不可否认性防止发送方或者接收方否认传输或者接受过某条消息。
- 源不可否认
证明消息是由特定方发出 - 宿不可否认
证明消息被特定方接收
随机数及随机数特性
- 随机数
- 获得随机数的2种方法:
基于物理现象由硬件产生,比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等,得到真随机数;
由数值算法产生,如线性同余法,单向散列函数法,密码法,ANSI X9.17等算法,得到伪随机数。
- 获得随机数的2种方法:
- 随机数特性
- 随机性:不存在统计学偏差,是完全杂乱的数列
分布均匀性
独立性 - 不可预测性:不能从过去的数列推测出下一个出现的数
- 不可重现性:除非将数列本身保存下来,否则不能重现相同的数列
- 随机性:不存在统计学偏差,是完全杂乱的数列
- 随机数的使用
- 密钥分发和相互认证方案
- 会话密钥的产生
- RSA公钥加密算法中密钥的产生
- 用于对称流密码加密的位流的产生