如何保护提供私人信息的公共服务信息?保护中间人服务的公共服务信息
该服务根据客户端发送给它的用户名和密码提供一些信息。例如:
请求
<get-my-info>
<username>username</username>
<password>password</password>
</get-my-info>
响应
<your-info>
<private-info-a>private-info-a</private-info-a>
<private-info-b>private-info-b</private-info-b>
</your-info>
服务应该是相当容易使用,并允许新的客户出现,所以迫使客户端注册与它关联的密钥不是一个选项。
将私钥放在服务器上并发送公钥给客户端来加密敏感信息就足够了吗?因此,只有服务器才能解密来自客户端的消息,并且所有客户端都将使用相同的公钥,从而更容易创建新的客户端。
该服务正在连接一个遗留数据库,该数据库提供服务所需的所有信息:用户名/密码和私人信息查询。维护用户名/密码方法并避免数据库更改(例如存储用户的密钥)是首选。
如果您使用标准https,则在中间攻击时您是安全的,只要您具有启动每个对话的某种身份验证和授权步骤即可。您也可以为每个请求发送安全令牌。 – faester 2013-04-27 14:50:11
@faester,能否请您发表有关HTTPS的答案,以便我可以接受它?谢谢。 – 2013-05-02 12:34:46