我正在测试的移动应用程序的 API 正在发送用于从未加密的 AWS Cognito 服务器签署请求的 AWS AccessKeyId 和 SecretKey(除了常规的 TLS 加密)。可以将所有请求重新签名到他们的 AWS Lambda API,例如使用 Burp 的“AWS Signer”扩展。
有了这个,中间人可以签署所有更改的请求,所以我想知道在这种情况下请求签名的实际用例是什么?
AccessKeyID 和 SecretKey 不应该保密吗?
该应用程序的所有者告诉我这不是问题,因为他们遵循 AWS 指南。
那是对的吗?还是他们做错了什么?
他们为什么会首先在他们的移动应用程序中签署请求?当创建签名的“秘密”通过相同的连接以明文方式分发(TLS 除外)时,签署请求的用例是什么?
在将 AWS Lambda 用于无服务器移动应用程序 API 时,这是否符合最佳实践?在这种情况下,请求签名甚至有用吗?我测试过的大多数应用程序都没有使用请求签名。