C 使用哪种加密方法?
我想用GnuTLS开发网络客户端和服务器。我有几种选择:x509、PSK、SRP或PGP?以下哪些方法被认为是最安全的,哪些方法不推荐用于需要高级别网络通信安全的应用程序C 使用哪种加密方法?,c,security,network-programming,ssl,C,Security,Network Programming,Ssl,我想用GnuTLS开发网络客户端和服务器。我有几种选择:x509、PSK、SRP或PGP?以下哪些方法被认为是最安全的,哪些方法不推荐用于需要高级别网络通信安全的应用程序 最好的祝愿如果您同时实现了客户端和服务器,那么这些身份验证方法可能是[几乎同等]安全的,也可能是不安全的,这取决于您如何使用它们。如果该软件供第三方使用,我将支持所有方法,并由用户决定 这取决于谁将使用您的客户机(真正的用户,或某种守护进程/cronjob),以及您需要与其他软件的互操作性 在大多数情况下,X509v3证书是最
最好的祝愿如果您同时实现了客户端和服务器,那么这些身份验证方法可能是[几乎同等]安全的,也可能是不安全的,这取决于您如何使用它们。如果该软件供第三方使用,我将支持所有方法,并由用户决定 这取决于谁将使用您的客户机(真正的用户,或某种守护进程/cronjob),以及您需要与其他软件的互操作性 在大多数情况下,X509v3证书是最好的选择。到目前为止,它们是在SSL/TLS之上最广泛使用和实现的身份验证方式,并且具有最佳的互操作性。在SSL/TLS环境中,PSK、SRP和PGP是非常奇特的选择 如果您需要客户端身份验证,并且使用证书进行客户端身份验证对于您的场景来说效果不佳,因为非技术用户需要能够使用它,那么SRP是通过SSL/TLS进行基于密码的身份验证的最安全的选择 使用PGP在概念上等同于X509v3证书,但互操作性较差。除非您的环境中已经部署了基于PGP的PKI,否则使用PGP将不是最佳选择 PSK是最有限的选择,仅适用于由于严重的CPU/内存限制而必须避免在客户端上进行公钥计算的情况,而这种情况很可能并非如此