【问题标题】:HMAC Auth Approach in WebAPI / Web ApplicationsWebAPI / Web 应用程序中的 HMAC 身份验证方法
【发布时间】:2017-12-08 23:01:09
【问题描述】:

我最近在做一个 WebAPI 项目,我将为其他 Intranet Web 应用程序打开一些端点,以便在我的 OracleDB 表空间中选择我的一些数据。我现在最关心的问题之一是保护 WebAPI 免受对我的 API 的无效调用。

我正在研究 HMAC 方法,在这种方法中,我与可以调用我的 API 的不同授权 Web 应用程序共享唯一密钥。

我的问题是,
假设我与 WebApp A 共享密钥 A,与 WebApp B 共享密钥 B,WebApp A 的开发人员是否可以将密钥 A 与他的另一个 WebApp C 一起使用来访问我的 API 并进行“授权”调用?共享给他们的密钥很容易在其他应用程序中被滥用。

【问题讨论】:

    标签: c# asp.net-mvc asp.net-web-api oauth hmac


    【解决方案1】:

    当然,您的密钥可以在任何地方使用。通常,HMAC 方法旨在验证消息。换句话说,当您使用 HMAC 时,您 100% 确定密钥所有者(密钥被泄露的情况除外)已向您发送了请求。没有什么可以阻止密钥所有者共享此密钥。但是,主要的是,从您的“host”-API 的角度来看,所有使用特定密钥签名的请求都应该被视为同一个 client,独立于它们在物理上是否相同。

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      • 2018-05-28
      • 2016-03-27
      • 2018-03-05
      • 1970-01-01
      • 2012-08-03
      相关资源
      最近更新 更多