SocketAsyncEventArgs加密 - SSL与自定义预传输加密

时间:2011-03-17 22:16:48

标签: c# sockets encryption ssl

我正在努力使用IOCP& amp;来实现高性能服务器。的SocketAsyncEventArgs。根据我的阅读,使用此方法获取SSL并不“简单”,因为我发现您需要自己实施SSL,或者以某种方式将使用SSL的NetworkStream合并到模型中。

我的问题是,合并前/后传输加密模型,将我传输的字节数组加密到远程端点,然后在收件人之后解密字节数组会带来什么样的安全性和性能影响?

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

非常感谢任何建议,指示或资源。

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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