安全问题
2016-07-19 21:37
120 查看
1.http缺点(所以未加密协议的共同缺点):
(1)通信使用明文,不加密,信息容易被窃听。
(2)不验证通信方身份,通信方身份有可能伪装
(3)无法证明报文的完整性,即信息的准确度,报文可能已经被篡改
分别解决以上三点缺点:
(1)加密处理:分为通信加密和内容加密
通信加密:建立安全的通信线路,开始http通信
内容加密:通信本身不加密,对报文主体进行加密处理,仍有被篡改的风险。
通信加密实现技术:http+SSL+TLS的组合使用达到加密的效果。
SSL:安全套接层协议
TLS:安全传输层协议
(2)身份认证:
http不认证通信方身份,若要认证身份,要利用SSL中的”证书”来确定身份。因为伪造证书在技术上很难实现。利用证书可以减少个人信息泄露的危险性。
(3)防止篡改:
http中常用方法:MDS+SHA-1实现散列值校验,数字签名的方法实现确认文件。
另外,SSL可以提供摘要功能,SSL是最重要的网络安全协议。
(1)公开密钥加密:加密算法公开,但密钥保密,密钥是实现加密和解密必备。非对称密钥,密钥分为私有密钥和公开密钥。用公开密钥证书来验证公开密钥正确性。
(2)共享密钥加密:加密和解密用同一个密钥,密钥在传输过程中可能会被窃听。
SSL缺点:速度慢,大量消耗CPU和内存,导致处理速度偏慢。
2.摘要和签名
(1)数字摘要:数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文。这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要成的密文必定一致。
3.安全认证:确认访问用户身份的认证
登录信息指的是以下五点:
(1)密码:只有本人才能知道的字符串信息
(2)动态令牌:仅限本人持有的设备内显示的一次性密码
(3)数字证书:仅限本人持有的信息
(4)生物认证:指纹和虹膜等本人的生理信息
(5)IC卡等:仅限本人持有的信息
http使用的认证方式:
(1)BASIC认证(基本认证)
(2)DIGEST认证(摘要认证)
(3)SSL客户端认证
(4)FormBase认证(基于表单认证)
(1)通信使用明文,不加密,信息容易被窃听。
(2)不验证通信方身份,通信方身份有可能伪装
(3)无法证明报文的完整性,即信息的准确度,报文可能已经被篡改
分别解决以上三点缺点:
(1)加密处理:分为通信加密和内容加密
通信加密:建立安全的通信线路,开始http通信
内容加密:通信本身不加密,对报文主体进行加密处理,仍有被篡改的风险。
通信加密实现技术:http+SSL+TLS的组合使用达到加密的效果。
SSL:安全套接层协议
TLS:安全传输层协议
(2)身份认证:
http不认证通信方身份,若要认证身份,要利用SSL中的”证书”来确定身份。因为伪造证书在技术上很难实现。利用证书可以减少个人信息泄露的危险性。
(3)防止篡改:
http中常用方法:MDS+SHA-1实现散列值校验,数字签名的方法实现确认文件。
另外,SSL可以提供摘要功能,SSL是最重要的网络安全协议。
Http+加密+认证+完整性保护=Https
SSL协议:公开密钥加密和共享密钥加密(1)公开密钥加密:加密算法公开,但密钥保密,密钥是实现加密和解密必备。非对称密钥,密钥分为私有密钥和公开密钥。用公开密钥证书来验证公开密钥正确性。
(2)共享密钥加密:加密和解密用同一个密钥,密钥在传输过程中可能会被窃听。
HTTPS传输采用 共享密钥加密+公开密钥加密 的混合加密机制。
利用公开密钥加密实现密钥的交换,再利用共享密钥加密建立通讯,交换报文。SSL缺点:速度慢,大量消耗CPU和内存,导致处理速度偏慢。
2.摘要和签名
(1)数字摘要:数字摘要就是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文。这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要成的密文必定一致。
3.安全认证:确认访问用户身份的认证
登录信息指的是以下五点:
(1)密码:只有本人才能知道的字符串信息
(2)动态令牌:仅限本人持有的设备内显示的一次性密码
(3)数字证书:仅限本人持有的信息
(4)生物认证:指纹和虹膜等本人的生理信息
(5)IC卡等:仅限本人持有的信息
http使用的认证方式:
(1)BASIC认证(基本认证)
(2)DIGEST认证(摘要认证)
(3)SSL客户端认证
(4)FormBase认证(基于表单认证)
相关文章推荐
- python3的错误和异常操作
- GitHub for windows使用教程(三)
- Spring mvc+Spring+Mybatis整合
- Hadoop环境搭建(一)
- mysql修改数据库字符集使支持中文输入
- 如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
- NOIPの模拟_2016_7_19_t2_弄提纲
- CentOS中安装JDK与Intellij idea
- Linked List Cycle II
- Java解决java.io.FileNotFoundException: E:\work\work (拒绝访问。)
- 再谈图的存储方式(邻接矩阵,邻接表,前向星)
- hd1084 What Is Your Grade?
- HDOJ 1872 稳定排序
- highcharts
- Android中常用的优秀开源框架
- 浏览器兼容性处理要点
- 五子棋
- HDU5724 Chess
- Windows下两个python版本怎么分别安装库
- Android百度地图(四)如何引入离线地图包