跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为什么国内云服务商的 API 鉴权机制往往比较复杂而国外的相对简单?
未分類
6 10 月 2020

为什么国内云服务商的 API 鉴权机制往往比较复杂而国外的相对简单?

为什么国内云服务商的 API 鉴权机制往往比较复杂而国外的相对简单?

資深大佬 : Explr 3

腾讯云和阿里云的 API 鉴权都是公共参数+接口参数排序后计算 HMAC 当作签名。而 Cloudflare,Github,Godaddy 的 API 往往都是直接把凭据写进 HTTP 头,然后直接发请求。

腾讯云 API

阿里云 API

Cloudflare API

Github API

使用 HMAC 的优点是凭据无需通过互联网传输,然而 API Key 的特点就是很长,保存在计算机上而不是用脑子记,可以定期更换,泄露也不会导致撞库攻击,为什么要对 API Key 采取比密码更严格的保护措施?以及 HMAC 方案应对的威胁模型是什么?

另外,阿里云和腾讯云的 API 都单独具有抗重放攻击性,在两端点不被入侵的情况下 HTTPS 已经确保了这一点。如果客户机或服务器被入侵,HMAC 签名似乎也只能增大一点点攻击难度,理论上并不能阻止入侵或非法调用 API 。

再者就是,如果一定要用数字签名,为什么他们不用JWS之类的方案,而要用排序接口参数再签名的方案?文档上也往往没有具体说排序的标准,大写在前还是小写在前也不清晰,尽管接口行为往往和编程语言的排序库行为一致,不过作为 API 文档来说,这是有歧义的。

并且,阿里云 API 接口编码来编码去的,好像也没有比 JWS 简洁多少……

大佬有話說 (5)

  • 資深大佬 : oott123

    你比较的对象错了,你要去看看 AWS 的 API 咋签名的,因为国内这些云也是参考 AWS 之类的东西的

  • 資深大佬 : kangsheng9527

    相互伤害(增加攻击成本,计算消耗了攻击方 cpu 时间),防止低成本攻击。
    正如你说的保护原始 key 。。。增加接触 api 的人员门槛有助于整个圈子的健康。。。
    我是认同国内这一套的。。。
    刚好我也用过阿里云 api 。。。

  • 主 資深大佬 : Explr

    @oott123 有道理,AWS 的方案是相似的,我最近在维护一个 ACME 客户端,从 Let’s encrypt 自动获取数字证书,要用 API 增删 DNS 记录,所以就把阿里云、腾讯云和 Cloudflare 、Godaddy 联系起来了。不过说真的,为啥不用 JWS……

  • 主 資深大佬 : Explr

    @kangsheng9527 对,不过我总不能为了增删一下 DNS 记录,就把整个阿里云 SDK 加进项目依赖吧……API 调用还得自己写……

  • 資深大佬 : lihongming

    安全性和方便性肯定是相对的,但有 SDK 的情况下,自己其实不用处理签名,通过 SDK 发起请求就好

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具