2012-11-27 131 views
0

我想创建一个具有自定义身份验证的服务。我想验证用户的方式如下:“握手”身份验证WCF

  1. 客户端连接到服务。

  2. 服务产生一个随机数可以说1234和发送数字到客户

  3. 客户则应该加号(后我会用更好的哈希值),所以客户端发送10

  4. 服务器执行相同的散列算法,并期望接收10然后认证用户并且用户能够开始使用该服务。

虽然我有一些基本的问题。如果我使用security =“none”,那么消息是否会被加密?换句话说,如果我使用security =“none”,我知道用户不需要进行身份验证,而是以纯文本格式发送给服务的消息? 如何强制连接进行加密而不必验证用户身份?我想限制用户嗅探软件包。我不介意他们连接到服务。如果他们连接到该服务,我只想让他们看到他们发送的消息,而不是其他人的消息。

回答

1

对于与服务器进行加密通信而不验证用户,您可以使用传输或消息级安全性。

REFET以了解详细信息下面的文章:

  1. patterns & practices Improving Web Services Security Guide
  2. Transport Level Security
  3. Configuring HTTP and HTTPS
  4. Bindings and Security

,一般性的提醒:不要发明自己的授权/认证/加密协议,除非你是一个世界上最伟大的信息安全/密码学专家。使用市场上已有的协议。

你描述的是什么都不是握手,因为它的保护只有的事实,即攻击者现在不用你的散列函数。这种假设认为密码/认证协议的基础很差。