您好,匿名用户
随意问技术百科期待您的加入

http 服务器 如何判断 客户端 是可信任?

0 投票

我们写了个很简单的http接口服务,接口很简单但传输的信息比较敏感。现在问题是,服务器端如何判断客户端是可信任的?

用户头像 提问 2012年 12月1日 @ Tristana 上等兵 (285 威望)
分享到:

1个回答

0 投票

目前我在涉及人民币网上交易时候的方式是使用 RSA 加密 ...

假设我们现在有两台服务器分别叫子和丑 ... 子准备找丑完成一个操作 ...

则子用丑的公钥加密需要传送的敏感字符串并用自己的私钥签名 ...

之后计算加密后数据的 MD5 放在密文的前面一起发给丑 ...

丑收到之后将收到内容的前 16 字节分拆出来验证后面数据的完整性 ...

如果完整则使用子的公钥验证签名并使用自己的私钥解密数据 ...

不完整则通过另一个协议告知子重发数据 ... 如果解密失败记录 log 并丢弃这个请求 ...

这是效率和安全性同时有保证的办法 ...

如果要最高的安全性可以在 RSA 之前再加一次获得单次令牌的步骤 ...

缺点就是增加交互的次数 ...

如果不需要这么高的安全性也可以用摘要算法来为每一次请求做指纹 ...

计算会快很多 ...

但这些都是在协议层级的控制 ... 保证在通信过程中就算被第三方抓包也无法伪造数据 ...

但如果客户端遭完整破解 ... 密钥和协议泄漏 ...

然后伪造的客户端使用同样的协议向服务端发送数据的话 ...

在我的知识范围内我想不到任何可以区分正常客户端和伪造客户端的办法 ...

就只能人工检查服务端 log 然后禁止那个客户端连接并回滚所有变更了 ...

用户头像 回复 2012年 12月1日 @ Saber 中士 (1,234 威望)
提一个问题:

相关问题

0 投票
1 回复 56 阅读
0 投票
1 回复 24 阅读
用户头像 提问 2013年 11月28日 @ Nautilus 上等兵 (223 威望)
0 投票
1 回复 31 阅读
0 投票
1 回复 45 阅读
用户头像 提问 2012年 12月1日 @ Fiddlesticks 上等兵 (242 威望)
0 投票
0 回复 25 阅读
用户头像 提问 2013年 10月28日 @ mongodb 上等兵 (152 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...