最近在思考安全性的问题。情景是:服务器和客户端之间的数据通讯(更确切的是,主要是服务器给客户端传递数据)。
如果使用https的话,不可避免的是每次链接都会有更多的握手步骤,带来的时间开销,会大大的降低移动端的用户体验吧。而且,用经典的ASIHttprequest似乎也不支持https╮(╯_╰)╭。
不知道大侠们有些什么更好的建议?
觉得 @yuanlizbyy 的方案不够靠谱。代码和密钥都在客户端,对于真想要破解的人来说,不是什么难事。LZ嫌https的握手罗嗦,大可自己实现一个,要简单得多,只需要使用一对RSA(或其他非对称加密体系)的公钥、私钥。客户端拿着公钥,服务器拿着私钥。
连接流程:
优点:安全(除非入侵服务器拿到私钥、或者破解久经考验的RSA/AES算法)、快速(只有第一次来回需要RSA解密稍慢)。
缺点:需要一次握手(但可以解决:握手的来回,实际上可以用密钥K来进行加密额外发送数据)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。