Security 实现安全套接字服务器的最佳方法?

Security 实现安全套接字服务器的最佳方法?,security,ssl,encryption,Security,Ssl,Encryption,我希望通过SSL客户机和服务器之间的SSL/TLS连接加密数据包数据,并且我希望使用一个简单的密钥,该密钥可以在客户机主机上生成并复制/粘贴到服务器主机,反之亦然。他们只需要使用相同的密钥来加密/解密数据。它需要相当安全,但不能超过顶部。我不关心中间人的攻击,并且可能不需要在这个时候进行身份验证。我只需要加密 我假设我需要一个生成共享私钥的方法。最好的选择是什么 新信息:我正在尝试替换继承的现有实现。现有的实现使用openssl SSL_CTX_set_选项(CTX,SSL_OP_SINGLE_

我希望通过SSL客户机和服务器之间的SSL/TLS连接加密数据包数据,并且我希望使用一个简单的密钥,该密钥可以在客户机主机上生成并复制/粘贴到服务器主机,反之亦然。他们只需要使用相同的密钥来加密/解密数据。它需要相当安全,但不能超过顶部。我不关心中间人的攻击,并且可能不需要在这个时候进行身份验证。我只需要加密

我假设我需要一个生成共享私钥的方法。最好的选择是什么


新信息:我正在尝试替换继承的现有实现。现有的实现使用openssl SSL_CTX_set_选项(CTX,SSL_OP_SINGLE_DH_USE)和SSL_CTX_set_tmp_DH(CTX,get_dh512())对两端的数据进行加密/解密。我想做的是用更灵活的东西取代固定的DH。从回答中,听起来我最好还是坚持使用公钥密码术。

您需要使用中介绍的预共享密钥密码套件。它被称为
TLS-PSK
。2013年9月17日有一份报告声称它已经开始工作了


不过我不知道你为什么要这么做。正确共享密钥需要付出大量努力。

如果您已经在使用SSL连接,为什么还要再次加密数据?您所描述的正是SSL/TLS的功能。您不需要自己实现它。“用户应该能够在一端生成密钥或其他东西,并将其应用到另一端。”那么您可能不需要寻找SSL或TLS,因为该系统基于公共信任证书的基础结构。(您也可以将每个连接的私有证书与SSL一起使用,但这可能有点麻烦,它并不是为此而构建的。)而且我仍然不明白“合理安全但不过分”甚至意味着什么——您试图阻止或不阻止哪种类型的攻击,以及为什么?(首先,我不明白你为什么不担心MITM攻击,因为它们是在最可行的时间点访问数据的最简单方法。)@millimoose您必须阅读有关PSK密码套件和TLS中证书之外的其他替代机制的信息。自发布此博客条目以来,该项目似乎已在BitBucket上重命名: