互联网的安全

一、安全防范点

跨站攻击,sql注入,dos攻击,dns劫持,文件上传漏洞


二、安全算法

2.1 数据摘要

目的:防止数据篡改,即验明文真身。

特点:生成摘要串长度固定

算法1:MD5,MD5+SALT(这种好像叫摘要认证),摘要长度128位,现在已不太安全;

算法2:SHA-1,160位,

2.2 对称加密

目的:防止传输的消息内容被坏人看到

特点:加密解密用同一个密钥,加解密速度快,加密后密文长度随明文长度增加而增加。

算法1:DES,密钥长64位

算法二:AES,密钥长128或192或256,比DES更安全

2.3 非对称加密

目的:防止传输的消息内容被坏人看到

特点1:加密和解密用不同的密钥,这2个密钥组成一对密钥。一个公开,一个不公开。

特点2:A生成一对密钥,公钥公开,私钥自己拿着,接收消息,用密钥解密,得到消息。这样消息即使被坏人拿到也看不了。私钥持有者把自己隐藏在丛林深处。

特点3:明文长,密钥也相应变长,加密速度就越慢。

算法1:RSA

2.4 数字签名

目的:防止数据篡改+验证身份,但是不能防止明文泄露

特点:非对称加密+数字摘要。对明文生成摘要,用私钥对摘要加密,然后和明文一起传输,接收方用公钥解密,对明文进度相同的摘要算法,对比。只要用私钥加密就有身份认证的功能。这样就有防止篡改+身份验证的作用了。A要给B发消息,消息在传输过程中被C劫持篡改再发送到B,B收到消息后,用公钥解密后发现改了,会发现篡改了。如果C得到公钥,C会得到明文,但是不能改,因为改了,生成摘要,但是没有私钥,所以加密不了,随便加密,B解密后比对摘要也不一样。太牛了。所以B拿到后如果摘要相同,就一定能确信是A发来的。所以这个安全算法叫数字‘签名’。

算法:MD5+RSA或SHA-1+RSA

2.5 数据证书

还没太了解


三、摘要认证

目的:防止http传输的内容被篡改。

特点:数字摘要加盐


四、签名认证

目的:防止http传输的内容被篡改或伪造。但是不能防止明文泄露

特点:数字摘要+非对称加密。特点同2.4数字签名,但是http的C端和S端都有一个私钥和公钥。谁发送谁先用自己的私钥加密,另一方再用对应的公钥解密。双向认证,也可以单向认证。


五、HTTPS(终于来到https了)

目的:防止明文被看到

特点:对称+非对称。用对称加密算法对明文加密,然后对密码用非对称加密,一起传输。CS通信前先握手就证书及通信方式进行协商。http://www.cnblogs.com/JuneWang/p/3793910.html第二块

疑问:浏览器端如何得到证书,是在协商的过程中传输证书,还是在通信之前人工按上证书。

解答:看今日头条收藏的帖子《HTTPS科普扫盲贴》得到解答,浏览器的证书是服务器传过来的。

六、总结

1.要想明文不被看到,只能对称加密,也可以用公钥加密,只有私钥才能解密。

2.要想验证身份,只能让被验身一方拿着私钥。

3.要想不被篡改,只能MD5,或者再加盐。

4.要想上面任何两个或三个,则组合‘只能’来用。


七、主要参考

《大型分布式网站架构设计与实践》

今日头条《HTTPS科普扫盲贴》

网页http://www.cnblogs.com/JuneWang/p/3793910.html


八、有安全方面的问题可留言!







你可能感兴趣的:(互联网,安全,md5,安全)