【问题标题】:SocketAsyncEventArgs Encryption -- SSL vs. Custom Pre-Transmission EncryptionSocketAsyncEventArgs 加密——SSL 与自定义预传输加密
【发布时间】:2011-07-17 18:52:18
【问题描述】:

我正在使用 IOCP 和 SocketAsyncEventArgs 实现高性能服务器。根据我的阅读,使用这种方法获得 SSL 并不“容易”,因为我发现您需要自己实现 SSL,或者以某种方式将使用 SSL 的 NetworkStream 合并到模型中。

我的问题是,合并传输前/后加密模型、加密传输到远程端点的字节数组、然后在接收后解密字节数组对安全性和性能有何影响?

我很想实施 SSL,因为我看到“自定义”加密方案会在服务器上造成巨大的性能开销。

任何建议、指针或资源将不胜感激。

谢谢。

【问题讨论】:

    标签: c# sockets encryption ssl


    【解决方案1】:

    使用 TLS 的另一个好处是它会自动阻止replay attacks。如果您编写自己的传输前加密和身份验证机制,您还需要包括重放攻击检测,这是您的额外工作。

    作为预传输和 TLS 支持的替代方案,您还可以通过应用程序“外部”的 SSH 或 TLS 隧道隧道传输所有流量(调用 ssh -Lstunnel 以在之前启动一些隧道启动您的应用程序),或在您的端点之间配置 IPSec。这些是易于部署的障碍,因此不能掉以轻心,但许多系统管理员已经熟悉 SSH 或 TLS 隧道,如果它在其他良好的环境中显着简化编程,它可能是最少的解决方案烦恼。

    【讨论】:

    • 我真的很想实现 SSL,但我不明白 SocketAsyncEventArgs 是如何实现的。感谢您的信息!
    猜你喜欢
    • 1970-01-01
    • 2010-09-16
    • 2013-06-12
    • 2023-03-07
    • 1970-01-01
    • 2012-04-05
    • 2015-09-26
    • 2010-10-30
    • 2022-01-06
    相关资源
    最近更新 更多