【发布时间】:2012-07-04 08:29:27
【问题描述】:
我需要在 SilverLight 应用程序之间发送数据。我有要求说应该使用 SSL/TLS 等安全协议传输数据。由于性能原因,使用 TCP 套接字发送数据。不幸的是 SilverLight 不支持SslStream。如果我想通过 SSL/TLS 传输数据,我需要购买第三方库,例如SecureBlackbox。在处理传输层时,我不想依赖第三方库。
但是,SilverLight 有 CryptoStream 类。我正在考虑使用 WCF over SSL(SilverLight 支持)交换对称加密的密钥,然后使用 CryptoStream 使用 AES 加密数据。
这个解决方案安全吗?在安全性方面可以与使用 SSL/TLS 相比吗?我遗漏了一些明显的安全漏洞吗?
【问题讨论】:
-
SSL 不仅提供加密,还提供了许多其他功能,例如数据包完整性检查、经过身份验证的加密、安全密钥生成、适当的加密模式等、压缩等等。
-
@EugeneMayevski'EldoSCorp 我完全控制了交换信息的双方。密钥是使用 SSL 交换的,我知道双方都可以使用 AES。我想在不知道密钥的情况下,任何人都无法解密数据。我同意有人可以中断传输,但这只是噪音,因为他必须知道用它加密数据的密钥。您是否发现消息安全方面存在任何缺陷(我的意思是未经授权的人将其数据作为传输的一部分发送或从我的传输中读取数据)?
-
应该选择可靠的AES加密方式,密钥和IV都需要协商。但是,如果您可以使用 WCF over SSL 进行连接,是否有理由不使用 WCF 进行进一步通信?
-
@EugeneMayevski'EldoSCorp 我将发送实时视频数据,WCF 开销太大。
标签: c# .net silverlight security ssl