成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我們一起聊聊如何設計安全的對外 API?

開發 前端
在 HMAC 簽名中加入時間戳是為了防止重放攻擊(replay attack)。重放攻擊是一種網絡攻擊方式,攻擊者攔截合法的請求并在之后重復發送相同的請求,試圖偽造身份或重復操作。

當向外部服務暴露 API 時,確保安全通信至關重要,以防止未經授權的訪問和數據泄露。

兩種常用的 API 安全方法是基于 Token 的身份認證和基于 HMAC(哈希消息認證碼)的認證。

下面我們來介紹這兩種方法的工作原理,并比較它們的不同之處。

圖片圖片

01 基于令牌

  • 第 1 步 - 用戶在客戶端輸入密碼,客戶端將密碼發送給驗證服務器。
  • 第 2 步 - 驗證服務器驗證憑據并生成一個有有效期的令牌。
  • 第 3 步和第 4 步 - 現在,客戶端可以發送請求,客戶端在每個 API 請求的 Authorization 頭中包含這個Token,訪問服務器資源。這種訪問在令牌過期前一直有效。

優點

  • 無狀態:服務器不需要維護會話狀態,Token 本身包含驗證所需的所有信息。
  • 靈活性:Token 可以包含角色或權限等元數據,支持細粒度的訪問控制。
  • 支持 OAuth 集成:與OAuth 2.0 兼容,適合第三方集成場景。

缺點

  • Token 泄露風險:如果 Token 被攔截,攻擊者可以在 Token 過期前濫用它,除非有其他機制(如 Token 吊銷)在起作用。
  • Token 存儲:客戶端需要安全存儲 Token,對于 Web 或移動應用程序來說,這可能比較復雜。

02 基于 HMAC

該機制使用哈希函數(SHA256 或 MD5)生成消息驗證碼(簽名)。

  • 第 1 和 2 步 - 服務器生成兩個密鑰,一個是公共 APP ID(公鑰),另一個是 API 密鑰(私鑰)。
  • 第 3 步:現在我們在客戶端生成一個 HMAC 簽名(hmac A)。該簽名是根據圖中列出的一組屬性生成的。
  • 第 4 步 - 客戶端發送訪問服務器資源的請求,HTTP 頭中包含 hmac A。
  • 第 5 步 - 服務器收到包含請求數據和身份驗證標頭的請求。它從請求中提取必要的屬性,并使用存儲在服務器端的 API 密鑰生成簽名(hmac B。)
  • 第 6 和 7 步 - 服務器會比較 hmac A(在客戶端生成)和 hmac B(在服務器端生成)。如果兩者匹配,請求的資源將返回給客戶端。

優點

  • 防篡改:HMAC 確保請求在傳輸過程中未被篡改,哪怕只改變一個字節,簽名也會不匹配。
  • 簡單:不需要 Token 的發放或刷新,僅依賴共享密鑰和哈希算法。
  • 無 Token 泄露風險:因為沒有 Token 可被盜取,這種方法天然安全。

缺點

  • 密鑰管理:客戶端和服務器都必須安全地管理和存儲共享密鑰。一旦密鑰泄露,安全性就會受到影響。
  • 無狀態 API 較復雜:HMAC 不提供內嵌元數據的無狀態認證,訪問控制需要單獨處理。

在 HMAC 簽名中加入時間戳是為了防止重放攻擊(replay attack)。重放攻擊是一種網絡攻擊方式,攻擊者攔截合法的請求并在之后重復發送相同的請求,試圖偽造身份或重復操作。通過時間戳,服務器可以驗證請求是否在合理的時間范圍內,從而大大提高系統的安全性。

責任編輯:武曉燕 來源: ByteByteGo
相關推薦

2022-05-24 08:21:16

數據安全API

2024-11-27 08:47:12

2022-02-14 07:03:31

網站安全MFA

2022-01-04 12:08:46

設計接口

2023-11-10 08:04:43

Java 17Java 11JDK

2024-02-02 09:21:57

API性能策略

2023-11-30 07:40:05

URLCMS

2024-10-29 11:19:23

點贊系統同步

2024-02-20 13:00:00

架構設計模塊

2025-04-08 00:16:07

2025-03-17 11:21:08

APISwagger界面

2024-06-17 11:59:39

2022-05-05 12:57:40

架構

2024-02-20 21:34:16

循環GolangGo

2021-08-27 07:06:10

IOJava抽象

2023-04-26 07:30:00

promptUI非結構化

2023-08-10 08:28:46

網絡編程通信

2023-08-04 08:20:56

DockerfileDocker工具

2023-06-30 08:18:51

敏捷開發模式

2023-09-10 21:42:31

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜精品浪潮av一区二区三区 | 一区二区三区四区日韩 | 91.色| 国产精品国产三级国产aⅴ中文 | 黄色大片免费观看 | 久久精品国产99国产 | 国产美女网站 | 成人特区| 国产精品免费在线 | 天天天插| 伊人色综合久久久天天蜜桃 | 午夜影院在线观看 | 亚洲一区二区久久 | 色综合国产 | 国产日韩一区二区三区 | 国产精品久久久久aaaa九色 | 国产精品毛片一区二区三区 | 成人一区二区三区在线 | 91精品国产91久久久久久不卞 | 日韩在线免费 | 久久久久久国产 | 天天草草草 | 亚洲色片网站 | 精品一区电影 | 国产一级毛片精品完整视频版 | 国产三级 | 99re99| 一区二区在线观看免费视频 | 国产一级一片免费播放 | 成人在线观看网址 | 亚洲一区二区三区视频 | 在线观看视频你懂得 | 欧洲亚洲精品久久久久 | 天天躁日日躁狠狠很躁 | 久久中文免费视频 | 欧美性生交大片免费 | www.国产 | 男人av网| 久久久久久久国产精品影院 | 国产综合精品一区二区三区 | 国产精品久久久久久久午夜 |