一、重要的数据在互联网中进行传输的时候必须保证数据的安全性,从以下四个方面来做:
1.保证数据是从真正的源发送的,而不是其他人(源认证)
2.保证数据在传输的过程中没有被篡改过(数据的完整性)
3.保证数据在传输的过程中别人看不懂(数据的私密性)
4.保证数据的不可否认性(不可否认性)
1.1.1加密算法
Tags:
1.加密算法分类
2.对称算法<原理、特征、算法>
3.非对称算法<原理、特征、算法>
1.加密算法概述
用于对用户数据进行加密,常用算法有DES、3DES、AES、RSA、DH算法。
根据密钥特征,分为对称和非对称算法。
2.对称算法
(1)原理
使用一把密钥来对信息提供安全的保护。只有一个密钥,即用来加密,也用来解密
(2)特征
加密速度快:
数据通信中,运用对称加密可以让数据的传输基本感受不到加解密
紧凑性:
原文在经过加密后得到的密文,不会比原文大太多
安全性:
在没有得到密钥的情况下,对称加密不会被很快破解
(3)算法
DES:Data Encryption Standard数据加密标准
3DES:Triple DES三重数据加密标准算法
AES: Advanced Encryption Standard高级加密标准
3DES:有三个密匙,用第一个密匙加密,用第二个密匙解密,用第三个密匙加密
缺点:密钥的保管和分发是严重的问题
收发双方都需要同一个密钥进行加密和解密,密钥的传递没有好的办法
3.非对称算法
(1)原理
公钥+私钥,公钥大家都知道,私钥只有本地知道,
公钥加密私钥解,私钥加密公钥解。加解密双方各有
一对密钥对。发给谁就用谁的公钥!
(2)特征
速度慢
密文不紧凑
通常只用于数字签名,或加密一些小文件
(3)算法
RSA
DH
缺点:
密文不紧凑:不适用于大量数据的应用
4、对称+非对称算法
对称算法和非对称算法是互补的
安全
紧凑
速度快
密钥管理方便
支持数字签名
支持不可否认性
明文------对称算法(密钥A)--------密文
密钥A--------使用接收方的公钥加密------------加密后的密钥A
密文+加密后的密钥A--------------->接收者
加密后的密钥A----------自己的私钥------------密钥A
密文------------密钥A--------------明文
使用对称加密算法和非对称加密算法的结合,实现了数据的加密和密钥的传输
基本上,通信的过程中,都是使用对称算法对数据进行加密,使用非对称算法对对称算法的密钥进行加密
1、哈希算法(hash)分类
MD5、SHA,用于实现数据完整性校验。
2、哈希算法原理
Hash : 散列 ,散列函数的主要任务是验证数据的完整性。通过散列函数计算得到的结果叫做散列值,这个散列值也常常被称为数据的指纹(Fingerprint)
把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。
特征:
1、雪崩效应:
明文有任何的修改,hash全局改变
2、不可逆向:
无法根据哈希值得到明文
3、固定输出:128bit、160bit
10M----MD5---->128bit散列值
1000M-----MD5----->128bit散列值
10000G-----SHA----->160bit散列值
4、唯一性:
相同的原文通过哈希计算永远得到一样的散列值
1.1.3数字签名
1.数字签名组件
HASH算法
非对称加密算法
2.数字签名原理
发送方使用自己的私钥进行加密,接收方使用发送方的公钥进行解密的过程
(私钥只能由发送方保管,其他人不会有)
解决了数据在传输过程中的源认证问题
3.数字签名功能
不可否认性
用签名者的公钥可以解开HMAC,证明数据是签名者发送的
数据完整性
HASH值相同证明明文没有被篡改
缺点:无法对发送方进行验证(欺骗者可以假装成发送方)
1.1.5数字证书
1、数字证书组成
对等体公钥
对等体姓名,组织,地址
证书有效期
CA的数字签名
注意:数字证书仅仅只是解决“这个公钥的持有者到底是谁”的问题!
2、PKI架构
CA
RA
数字证书
对等体
分发机制
1.仅仅只有一个受信任的介绍者(证书颁发机构)
2.CA签署每一个人的公钥
3.每个人都拥有CA的公钥