信息安全概念:
加解密的专业术语
明文也叫明码( plaintext ) | 公钥( public key ) |
密文( ciphertext ) | 私钥( private key ) |
算法( algorithm ) | 数字签名( digital signature ) |
密钥(key ) | 证书 ( certificate ) |
加密(encryption ) | PKI ( Public Key Infrastructure ) |
解密( decryption ) | HASH与HMAC |
发展三个阶段:
- 古典密码学:机械,保密算法
- 电子的,数据的安全基于密钥而不是算法的加密
- 公钥密码使得发送端和接收端无密钥传输的保密通信成为可能
加解密操作:
加密思想:
- 置换:按照规则改变内容的排列顺序
- 移位:打乱字母的排列顺序
- 移位和置换都是可逆的操作,容易恢复信息
- 移位、置换应用于现代密码算法中
- 加密的实现,不只是依赖以上这些基本的思想,同时也依赖于很多巧妙的设计。
- 如军事应用中的加密电报,除了使用安全性很高的编码规则以外,解密还涉及到收发报文双方的约定
编码规则:
ASCII码、BASE64编码、BASE58编码:在64基础上删除6个字符
密码设计的基本公理和前提是算法公开系统的安全性仅依赖与密钥的保密性
加密算法分类:
- 对称密钥密码算法(又称私有密钥算法)
- 非对称密钥密码算法(又称公钥密码算法)
对称加密(私钥加密):使用同一个密钥进行加密和解密、包括传统密码加密、私钥算法加密
优势:加解密速度快,密文是紧凑的,安全。
缺点︰密钥分发、密钥存储和管理。缺乏对数字签名/不可否认的支持。
过程:
著名加密算法:
- DES:太短,可以暴力破解,解密速度快
- 3DES:长,不可暴力破解,速度慢不适合音频
- AES:扩展性,软硬件运行效率高,可用于无线/语音视频加密
- RC系列( RC2、RC4、RC5 ):面向bit操作,流模式加密,速度快,硬件要求低,适合轻量的
- IDEA:软件实现比DES快两倍
- Blowfish:轻量级,存储空间不到5K,适用密钥不常改变的加密
- SM1/SM2:电子政务加密,不允许出口
非对称加密技术(公钥加密技术):时间晚,公钥加密使用两个密钥,一个密钥用于加密信息,另一个密钥用于解密信息。公钥加密私钥解,私钥加密公钥解。
特点:
- 私钥需要安全保存(不通过网络传送)
- 公钥公开
- 加密速度慢密文非紧凑
- 可以与对称加密相结合
过程:
三种用途:
- 加密/解密
- 数字签名∶发送方用自己的私钥签署报文,接收方用对方的公钥验证对方的签名
- 密钥交换∶双方协商会话密钥
非对称加密算法:
- RSA:加密、主要是数字签名、密钥交换(加密散列、密钥)
- DSA、ECC、elgamal、椭圆曲线加密、数字签名算法等
- DH(Diffie-Hellman ):解决了密钥的交换
数字签名:
数字签名过程:用自己私钥加密,对方用自己公钥解出来,完成数字签名
数字证书与CA
问题:如何防止Eve欺骗Alice,Eve的公钥就是Bob的公钥呢,如果这样的话Eve就可以利用自己的公钥来解密出Alice发的信息
数字证书:类似身份证,证明是谁的公钥。
CA:电子商务认证授权机构,相当于公安
哈希和HMAC
哈希hash(散列函数):有MD5、SHA
Hash: online hash value calculator (fileformat.info)
特点:
- 将一段数据(任意长度)经过一道计算,转换为一段定长的数据
- 不可逆性(单向):几乎无法通过Hash结果推导出原文,即无法通过x的Hash值推导出x
- 无碰撞性:几乎没有可能找到一个y,使得y的Hash值等于x的Hash值
- 雪崩效应:输入轻微变化,Hash输出值产生巨大变化
用途:
- 文件的完整性
- 服务器中保存用户的密码
HMAC
增加一个key做哈希。HMAC = Hash (文件+key)
需要双方预先知道这个key
HMAC:消除中间人攻击,源认证+完整性校验(数字签名也能实现)
对称与非对称加密的结合使用:
对称加密算法缺点:密钥分发、密钥存储和管理。缺乏对数字签名的支持。
非对称加密算法:缺点加密速度慢,明文紧密。优点支持数字签名,无需私钥传送。
结合原理:对称加密算法对大文件进行加密,非对称加密算法对密钥加密