java – 持久的Web服务密码

我不是安全人员所以对此有任何帮助将不胜感激.

我有大量具有远程方法的第三方现场设备,可以使用ssl跨xml-rpc调用.对于每个方法调用,用户名和密码必须以纯文本形式作为参数与任何其他方法参数一起传输.我无法控制设备或其实现.

我目前正在编写一个用户登录的Web应用程序,然后可以访问一些这些现场设备.用户不需要知道他们连接的设备,他们只需要数据.因此,我需要在数据库中保留每个设备的用户名和密码,以便在需要进行rpc调用时检索它们.

如何加密设备服务密码,以便在需要进行呼叫时对其进行解密?如何在需要呼叫时解密密码?

我正在使用Java和Spring作为应用程序.

注意,我不是问如何持久保存用户的登录密码.

解决方法:

如果我有这个权利,每个现场设备只有一个用户名/ pswd(虽然每个都是不同的,并且有许多现场设备).

通过访问所有设备密码构建安全代理服务.设备密码可以使用代理服务的公钥加密存储.您的Web应用程序向代理服务提供用户密钥(假设满意)代表他们与现场设备进行通信. CryptoApi或其中一个包装应该是您所需要的.

你不评论数字,但鉴于代理将是无状态的,它应该扩展好.

上一篇:javascript – 查询服务器是否存在记录,而服务器不知道正在查询的记录


下一篇:AtCoder Beginner Contest 211 Solution