存储API密钥

问题描述 投票:0回答:1

我正在建立一个拥有与mollie API配合使用的支付系统的网站。特别是网站需要向用户发送其订购产品的付款链接。为此,mollie需要使用api密钥进行身份验证。所以我需要将api密钥安全地存储在某个地方。

所以我的想法是,当管理员注册他的api密钥(CMS)时使用AES对称密码加密。通过这种加密,我只需要一个密钥即可解密和加密api密钥。我当时正在考虑使用管理员的纯文本密码作为密钥,因为我不存储此值(我对密码进行哈希处理),因此只有在管理员键入他的密码时该值才可用。因此,当管理员希望向用户发送付款时,网站将询问他的密码。

所以我的问题是:这是存储api密钥的安全方法吗?

对不起,我的英语不好,这不是我的母语。

api security passwords encryption-symmetric mollie
1个回答
1
投票

首先。 API机密和密码具有不同的生命周期(密钥轮换和密码更改策略),并且可能具有不同的复杂性要求。

第二,管理员的明文密码除了用于登录管理员外,不得用于其他任何用途。请勿将所有鸡蛋都放在一个篮子里,您希望限制损害的范围,以防万一机密被泄露。

您最好为API密钥加密/解密创建一个单独的机密,并将其存储在某些机密管理中,例如保险柜,AWS机密等。

[如果您想避免完全存储API密钥,并且让管理员记住它就可以了,那么您可以让管理员手动输入密码,例如第二个密码,但是在任何情况下,这都是不正确的做法并与管理员的登录密码配对。

© www.soinside.com 2019 - 2024. All rights reserved.