Security 安全地存储需要用作纯文本的API凭据

Security 安全地存储需要用作纯文本的API凭据,security,Security,我创建了一个应用程序,作为两个不同API(WebEx和Exchange Web服务)和电子邮件之间的桥梁。用户向特定电子邮件地址发送日历邀请,应用程序解析ICS并创建WebEx会议,然后连接到Exchange Web服务并将WebEx邀请信息放入原始邀请中 这是由于WebEx没有Mac电子邮件/日历集成而创建的 问题是要使用WebExAPI和Exchange API,我显然需要这两种API的凭据。我使用AES 256位加密将凭据安全地存储在DB中,但要访问API,我需要原始纯文本凭据(API中不

我创建了一个应用程序,作为两个不同API(WebEx和Exchange Web服务)和电子邮件之间的桥梁。用户向特定电子邮件地址发送日历邀请,应用程序解析ICS并创建WebEx会议,然后连接到Exchange Web服务并将WebEx邀请信息放入原始邀请中

这是由于WebEx没有Mac电子邮件/日历集成而创建的

问题是要使用WebExAPI和Exchange API,我显然需要这两种API的凭据。我使用AES 256位加密将凭据安全地存储在DB中,但要访问API,我需要原始纯文本凭据(API中不支持oAuth或令牌)。当然,它们是通过SSL安全传输的

安全风险不在于密码被盗,因为加密密钥是安全存储的。我希望解决的问题是,客户担心他们的企业凭据现在存储的方式允许有权访问这些密钥的人(我或开发团队中的人)解密他们的信息并访问凭据


该应用程序的价值是巨大的——它节省了大量的时间,但我如何才能避免这种恐惧,同时仍然允许这种方法工作?

事实是,如果您的代码需要发送密码,那么如果开发人员拥有源代码和加密密码,他们将可以访问普通测试密码。唯一的解决方法是拒绝开发团队访问加密密码,并拒绝那些拥有加密密码的团队访问源代码。您可以通过使开发团队远离生产数据库来实现这一点

安全风险在于您可以访问存储密钥的生产数据库。消除这种接触,应该消除他们的担忧。提供一个可用于配置密钥的实用程序(桌面或基于web的),这是一个好主意,因为将来需要更改这些密码


让客户创建一个数据库,然后通过更改连接字符串将应用程序指向数据库。客户可以使用该实用程序设置密码。

您的服务器是否呼叫总部并传递凭据?如果不是,我不明白为什么客户会认为他们输入并存储在设备上的数据对其他任何人都是可用的。凭据存储在web应用程序使用的数据库中,经过加密。收到电子邮件后,会对其进行处理,然后这些存储的凭据将用于代表用户使用WebEx和Exchange API。如果能够以某种方式唯一地标识其电子邮件客户端,并使用作为密钥一部分的任何标识值,那就太好了。。。