Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;“握手”;身份验证WCF_C#_Wcf_Security - Fatal编程技术网

C# &引用;“握手”;身份验证WCF

C# &引用;“握手”;身份验证WCF,c#,wcf,security,C#,Wcf,Security,我想创建一个具有自定义身份验证的服务。我希望对用户进行身份验证的方式如下: 客户端连接到服务 服务生成一个随机数,比如说1234,并将该数字发送给客户端 然后,客户端应该添加数字(后面我将使用更好的散列),以便客户端发送10 服务器执行相同的哈希算法,并期望收到10个 服务器收到10,然后对用户进行身份验证,用户可以开始使用该服务 不过我有一些基本问题。如果我使用security=“none”,那么消息会被加密吗?换句话说,如果我使用security=“none”,我知道用户不必经过身份验证,但

我想创建一个具有自定义身份验证的服务。我希望对用户进行身份验证的方式如下:

  • 客户端连接到服务

  • 服务生成一个随机数,比如说1234,并将该数字发送给客户端

  • 然后,客户端应该添加数字(后面我将使用更好的散列),以便客户端发送10

  • 服务器执行相同的哈希算法,并期望收到10个

  • 服务器收到10,然后对用户进行身份验证,用户可以开始使用该服务


  • 不过我有一些基本问题。如果我使用security=“none”,那么消息会被加密吗?换句话说,如果我使用security=“none”,我知道用户不必经过身份验证,但是消息是否以明文形式发送到服务如何在不验证用户身份的情况下强制加密连接?我希望限制用户嗅探包。我不介意他们连接到服务。如果他们连接到该服务,我只想让他们看到他们发送的消息,而不是其他人的消息。

    对于与服务器的加密通信,无需验证用户,您可以使用传输或消息级别的安全性

    有关详细信息,请参阅以下文章:

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

    您所描述的根本不是握手,因为攻击者现在不知道您的哈希函数,所以它只受到保护。这种假设被认为是加密/身份验证协议非常糟糕的基础