我创建了一个应用程序,它可以作为两个不同API之间的桥梁 - WebEx& Exchange Web服务 - 和电子邮件。用户向特殊电子邮件地址发送日历邀请,该应用程序解析ICS并创建WebEx会议,然后连接到Exchange Web服务并将WebEx邀请信息放入原始邀请中。
这是因为WebEx没有Mac电子邮件/日历集成而创建。
这就是使用WebEx API和Exchange API,我显然需要两个API的凭据。我在数据库中使用AES 256位加密安全地存储凭据,但是为了访问API,我需要原始的纯文本凭证(API中没有oAuth或令牌支持)。当然,它们通过SSL安全传输。
安全风险不在于密码被盗,因为加密密钥是安全存储的。我希望解决的问题是,客户担心他们的企业凭据现在以允许有权访问这些密钥的方式存储的方式 - 我或开发团队中的某个人 - 来解密他们的信息并获得对凭据的访问权限
该应用程序的价值很高 - 它节省了大量时间,但我如何能够防止这种恐惧,同时仍然允许这种方法工作?
答案 0 :(得分:0)
现实情况是,如果您的代码需要发送密码,那么如果开发人员拥有源代码和加密密码,他们就可以访问普通测试密码。解决此问题的唯一方法是拒绝开发团队访问加密密码,并拒绝使用加密密码访问源代码的人。您可以通过让开发团队远离生产数据库来实现这一目标。
安全风险在于您可以访问存储密钥的生产数据库。消除访问并消除他们的顾虑。提供可用于配置密钥的实用程序(桌面或基于Web) - 无论如何都是个好主意,因为将来需要更改这些密码。
让客户创建数据库,然后通过连接字符串更改将应用指向数据库。客户可以使用该实用程序设置密码。