php - api接口使用https协议是否安全性很高了?
黄舟
黄舟 2017-04-11 09:01:40
[PHP讨论组]

一直知道https比http安全,传输的数据是加密balalabala。。。
那我的api接口使用https协议是不是就不用再在程序中对消息进行加解密了?
安全性满分一百分的话,下面几种分数会打几分
1,直接使用http
2,使用http,但是自己使用加解密函数对数据进行加解密
3,使用https
4,使用https,又自己使用加解密函数对数据进行加解密

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
PHP中文网

1 = 50分,没有安全性可言,API内容会被明文传输,而且容易被劫持
2 = 60分,加解密函数要考虑的问题会比较多,如果只是对称加密,其实并不比方案1安全多少
3 = 90分,其实应该把这个方法叫做TLS,它已经足够安全,具体的安全机制可以参考这篇文章
4 = 80分,既然已经实现了TLS,再做一次加密对于破解复杂度来说没有提升,反而损失了性能

ringa_lee

HTTPS解决的问题不只是加密,更重要的是认证,证明服务器真的是你要的服务器,自己加密没多大用。
如果假定网络是不安全的,你无论怎么加密都没用,反正从一开始秘钥就被看光了。
非对称加密可能还有点用,交换秘钥完毕就安全了,但是HTTPS已经实现了,还更好,自己还折腾个啥?

有什么办法避免网页被嗅探密码(中间人攻击)?

天蓬老师

低成本的方法肯定是使用 3,https
如果你的 api 真的对安全要求很多,也可以使用 https + 自己实现加解密
我指的是 不要过度优化,真的有必要的时候,这个看你们业务场景了

说明一点 https 本身就牵涉到加解密的过程,牵涉到非对称加密,对称加密,整个过程会耗时
所以相同的接口使用 https 肯定比 http 慢,慢几到几十到几百毫秒,这个你可以自己测试。

大家讲道理

以上各位从加密方面谈了安全程度评测,我将以cracker角度发表下看法:


  1. 直接肉眼分析

  2. 分析客户端解密函数

  3. 伪造证书实现代理转发

  4. 3+2


https只是保证了传输过程的相对安全,但远远谈不谈安全。
只要你的代码运行在客户端,就有被逆向的可能。
你所能做的,就是就是尽量复杂化客户端的加密。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号