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