假设我正在写一个聊天服务器和客户端,允许用户使用他们的用户名和密码登录。现在我只能以纯文本格式发送和接收信息,但存在信息可能被拦截的风险。所以插座应该安全以保护用户。我对证书或身份验证不感兴趣,我只是想确保所提供的信息不会被暴露。我也不希望保护发送/接收的后续消息。什么是好的方法?只有安全登录的TCP连接可能/有效,但是不安全的消息?
- 我可以透明地使用安全套接字替换常规套接字吗?
- 有没有与 安全套接字有关的开销,我可能想 避免非秘密信息 消息?
我宁愿java指针/例子,但也对其他语言感兴趣。
我正在寻找一种权衡:有些信息我不想被黑客攻击 - 而且有些信息我并不在意。也许我的例子应该更复杂一点:“聊天消息应该是安全的,但也有一个'按键时间戳'消息经常发送,并不重要,所以我希望尽可能少的开销”。 – 2009-10-19 00:58:45
SSL中的大部分开销都处于初始握手阶段。握手之后使用的对称算法不会增加很多开销(您必须对特定应用程序进行配置以查看其影响有多大)。但是,如果您确实有混合安全和不安全的流量,最好有两个单独的渠道...... SSL连接和不安全的连接,甚至可能使用UDP来进行按键等操作。尽管SSL在恢复SSL握手时避免了昂贵的握手,但在一个连接上开启和关闭SSL的开销会适得其反。 – erickson 2009-10-19 02:58:03