c# - 我可以将 CryptoStream 视为 SslStream 的替代品吗?

标签 c# .net silverlight security ssl

我需要在 SilverLight 应用程序之间发送数据。我有要求说数据应该使用安全协议(protocol)(如 SSL/TLS)传输。由于性能原因,数据使用 TCP 套接字发送。不幸的是 SilverLight 不支持 SslStream .如果我想通过 SSL/TLS 传输数据,我需要购买第三方库,例如SecureBlackbox .在处理传输层时,我不想依赖第三方库。

但是,SilverLight 有 CryptoStream类(class)。我正在考虑使用 WCF over SSL(SilverLight 支持)交换对称加密的 key ,然后使用 CryptoStream 使用 AES 加密数据。

这个解决方案安全吗?就安全性而言,它可以与使用 SSL/TLS 相提并论吗?我是否遗漏了一些明显的安全漏洞?

最佳答案

我猜想 AES 方法的主要问题是 key 管理和 key 验证。我相信您知道 SSL 使用“握手”,它使用 CA 链(证书颁发机构)来验证 SSL 证书的有效性。这一切都发生在为 SSL session 生成 AES key 之前。因此,如果不使用 SSL,您就会错过这一重要步骤。

这意味着您有责任验证 key 是否安全并以安全方式进行交换。

关于c# - 我可以将 CryptoStream 视为 SslStream 的替代品吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325284/

相关文章:

c# - ASP.NET Web API 删除返回 404

c# - 按 Entity Framework 中子列表的第一项对集合进行排序

c# - 比较大文本文件 - 比较散列是否比使用文件的子集更快?

c# - 重新排序数据网格的列后如何获得新的列顺序?

silverlight - 如何在 Windows Phone 7 键盘中仅显示数字键?

c# - 有没有办法将两个 LINQ 查询合并为一个?

c# - 具有完全不相关的静态方法的静态类有什么问题吗?

c# - 使用 .Net 替换现有多页 Tiff 中的图像

c# - .NET(或 C#)中的范围整数

c# - 访问运营商信息 windows phone