1.HTTP 可以实现安全传输--腾讯面试题

问题:

HTTP 可以实现安全传输吗?如果可以,怎么操作?思考一下十几年前 HTTPS 没有普及时,网站如何实现安全传输用户名和密码?

 

 

解题思路:

http 在传输 web 内容时确实使用明文形式,但是传输用户的口令时(Password不是密码,称为口令比较正确)是釆取了额外的安全措施的。一般是使用一些加密方式(md5)对口令进行加密即可。但是仅仅对口令加密仍是不够安全的,所以可以在口令中加入一些其他字符,合并之后产生临时口令。

具体做法可以是这样的:

在提交登录表单时,pwd 并不是真的口令,它是口令 pwd 与时间t混合后再加密的字符串。这样的话即便被截获也是一个无效的数据。即便截获后知道了破解方式,还可以在后台程序中再设定一个时效限制。

即如果下面三个条件有一个不满足就报错:

(1)时间超过两分钟

(2)uid 不匹配

(3)pwd 与 t 的组合密码不匹配

所以即使是用 http 方式用户的 pwd(口令)也不是以明文方式在互联网上传输的。

 

当然 http 协议在保护口令方面存在一些安全隐患,对文本内容更缺乏保护,所以才有了今天普遍釆用的 https 协议。

http 和 https 用了各种密码系统保护用户的帐户安全,用户的身份、口令在互联网传送过程中多是以密文形式出现,它们在信道传输过程中是足够安全的。但是用户的身份、口令等信息在用户的终端和服务器端都是以明文形式存在的,互联网的黑客攻击者的贼眼都盯在客户终端和服务器端上。换言之,今日互联网通信安全问题不在信道上,而是主要在信源和信宿上。

作者:Stock
链接:https://leetcode-cn.com/circle/discuss/Yjitxs/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

来自大佬的观点:

这个问题需要从几个方面切入,一个是明文加密问题,第二个是防止篡改,数据有效性验证,三是身份认证,需要传输带签名 其中涉及加密算法,数据采用对称加密,身份签名非对称,数据完整性hash 个人理解

作者:王霖
链接:https://leetcode-cn.com/circle/discuss/Yjitxs/view/AJZs7S/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

1.HTTP 可以实现安全传输--腾讯面试题

上一篇:JSP中动态INCLUDE与静态INCLUDE的区别?


下一篇:http和Tomcat协议