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
Wcf 消息存储和传输需要多少安全性?_Wcf_Web Services_Security_Encryption_Https - Fatal编程技术网

Wcf 消息存储和传输需要多少安全性?

Wcf 消息存储和传输需要多少安全性?,wcf,web-services,security,encryption,https,Wcf,Web Services,Security,Encryption,Https,我需要使用WCF实现一个非常安全的Web服务。我已经阅读了很多关于WCF安全性的文档,涉及授权、身份验证和消息加密。web服务将使用https、Windows身份验证来访问WS,SQL Server成员资格/角色提供程序用于用户身份验证和WS操作授权,最后是消息加密 我在一篇文献中读到,考虑到每个层的安全是很好的,即必须考虑传输层安全而不考虑消息层。因此,通过https使用SSL结合使用公钥/私钥加密和签名的消息加密将是一种良好的做法,因为https涉及传输层,而消息加密涉及消息层 但一位朋友告

我需要使用WCF实现一个非常安全的Web服务。我已经阅读了很多关于WCF安全性的文档,涉及授权、身份验证和消息加密。web服务将使用https、Windows身份验证来访问WS,SQL Server成员资格/角色提供程序用于用户身份验证和WS操作授权,最后是消息加密

我在一篇文献中读到,考虑到每个层的安全是很好的,即必须考虑传输层安全而不考虑消息层。因此,通过https使用SSL结合使用公钥/私钥加密和签名的消息加密将是一种良好的做法,因为https涉及传输层,而消息加密涉及消息层

但一位朋友告诉我[https+消息加密]太多了;https就足够了

你觉得怎么样


谢谢。

如果你有SSL,那么你仍然需要加密你的消息,如果你真的不信任存储它们的服务器,那么它的文件可能会被盗,所以这都是很好的做法

这是一个最薄弱环节的问题

你最薄弱的环节是什么

我花了1亿美元保护一个机场不受恐怖分子袭击,所以他们转而去追击一个火车站。金钱和努力都白白浪费了


问问自己什么是威胁模型,并为此设计安全性。TLS对于任何基于Internet的通信来说都是最低要求,但是否有人可以安装击键记录器并不重要。

如果您有SSL,那么如果您不真正信任存储消息的服务器,则仍然需要加密消息,因为它的文件可能被盗,因此这都是一种良好的做法

这是一个最薄弱环节的问题

你最薄弱的环节是什么

我花了1亿美元保护一个机场不受恐怖分子袭击,所以他们转而去追击一个火车站。金钱和努力都白白浪费了


问问自己什么是威胁模型,并为此设计安全性。TLS是任何基于Internet的通信的最低要求,但是否有人可以安装击键记录器并不重要。

正如您所理解的,传输级安全性的作用是确保消息传输的安全,而消息级安全性是确保消息本身的安全

这完全取决于攻击向量,或者更一般地取决于您考虑的目的

在这两种情况下,所涉及的安全模型都有其目的:依靠加密防止窃听,完整性保护最终依靠签名,因为在大多数情况下都是基于公钥加密的

仅具有服务器证书的TLS将为您提供传输的安全性,当然,如果配置正确,客户端将知道通信实际上来自它期望的服务器。此外,如果使用客户机证书,这还将向服务器保证通信来自具有该客户机证书私钥的客户机。 但是,当数据不再传输时,您依赖于使用和存储数据的机器的安全性。例如,您可能不再能够确定地断言数据来自何处


消息级安全性不依赖于通信的方式。消息级签名允许您知道消息在以后的日期从何而来,与消息的传输方式无关。这对于审计目的很有用。如果数据存储在可以获取某些数据的地方,例如某些intranet存储系统,则消息级加密还可以降低有人获取数据的风险。

正如您所理解的,传输级安全的作用是确保消息的传输安全,而消息级安全性是关于保护消息本身的

这完全取决于攻击向量,或者更一般地取决于您考虑的目的

在这两种情况下,所涉及的安全模型都有其目的:依靠加密防止窃听,完整性保护最终依靠签名,因为在大多数情况下都是基于公钥加密的

仅具有服务器证书的TLS将为您提供传输的安全性,当然,如果配置正确,客户端将知道通信实际上来自它期望的服务器。此外,如果使用客户机证书,这还将向服务器保证通信来自具有该客户机证书私钥的客户机。 但是,当数据不再传输时,您依赖于使用和存储数据的机器的安全性。例如,您可能不再能够确定地断言数据来自何处

消息级安全性不依赖于
关于通信是如何进行的。消息级签名允许您知道消息在以后的日期从何而来,与消息的传输方式无关。这对于审计目的很有用。如果数据存储在可以获取某些数据的地方,例如某些intranet存储系统,则消息级加密还可以降低有人获取数据的风险。

基本上,如果用于解密消息的私钥与用于SSL身份验证的私钥具有相同的保护,如果消息的存储时间比连接的时间长,那么这种情况肯定是过分了

OTOH,如果您有不同的服务器,或者如果密钥是使用某种硬件安全性存储的,或者仅通过用户输入才可用,那么最好也保护消息本身。应用程序级安全对于审计目的和防止配置错误也很有意义,尽管我个人认为签署数据完整性保护在这方面更为重要

当然,问题也可能变成:如果您已经在使用使用SOAP/WSDL的web服务,为什么不使用XML加密/签名?配置起来并不难。请注意,它确实需要更多的处理器时间和内存。哦,有一个警告:如果另一方不知道他们在做什么,甚至不要尝试——你会花很长时间解释它,如果你以后想更改一个参数,甚至会遇到麻烦


最后提示:使用标准和标准化软件,否则你肯定会陷入困境。花一些时间了解情况,确保在调用verify时不接受格式错误的消息,例如XML签名错误的节点或接受MD5等。

基本上,如果用于解密消息的私钥与用于SSL身份验证的私钥具有相同的保护,如果消息的存储时间比连接的时间长,那么这种情况肯定是过分了

OTOH,如果您有不同的服务器,或者如果密钥是使用某种硬件安全性存储的,或者仅通过用户输入才可用,那么最好也保护消息本身。应用程序级安全对于审计目的和防止配置错误也很有意义,尽管我个人认为签署数据完整性保护在这方面更为重要

当然,问题也可能变成:如果您已经在使用使用SOAP/WSDL的web服务,为什么不使用XML加密/签名?配置起来并不难。请注意,它确实需要更多的处理器时间和内存。哦,有一个警告:如果另一方不知道他们在做什么,甚至不要尝试——你会花很长时间解释它,如果你以后想更改一个参数,甚至会遇到麻烦


最后提示:使用标准和标准化软件,否则你肯定会陷入困境。花一些时间了解事情的工作原理,并确保在调用verify时不接受格式错误的消息,例如XML签名错误的节点或接受MD5等。

这取决于您所说的“非常安全”是什么意思。您需要保护邮件的内容吗?或者你只需要确保信息来自哪里?或者您是否需要确保您正在与自己的服务器而不是他人的服务器通信?如果你能确定你正试图解决的确切威胁,那么你就能确定合理的保护级别。事实上,将要传输的金融数据非常敏感。我认为,即使在内部网中,员工也不允许捕捉他们。假设消息加密是足够的吗?假设没有任何错误,消息加密就足够了,但是无论如何,假设某些事情出错了,您应该使用单独的TLS。你有三个不错的答案。你愿意接受其中一个吗?这取决于你所说的“非常安全”是什么意思。您需要保护邮件的内容吗?或者你只需要确保信息来自哪里?或者您是否需要确保您正在与自己的服务器而不是他人的服务器通信?如果你能确定你正试图解决的确切威胁,那么你就能确定合理的保护级别。事实上,将要传输的金融数据非常敏感。我认为,即使在内部网中,员工也不允许捕捉他们。假设消息加密是足够的吗?假设没有任何错误,消息加密就足够了,但是无论如何,假设某些事情出错了,您应该使用单独的TLS。你有三个不错的答案。你愿意接受其中一个吗?