Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用哪种加密方法?_C_Security_Network Programming_Ssl - Fatal编程技术网

C 使用哪种加密方法?

C 使用哪种加密方法?,c,security,network-programming,ssl,C,Security,Network Programming,Ssl,我想用GnuTLS开发网络客户端和服务器。我有几种选择:x509、PSK、SRP或PGP?以下哪些方法被认为是最安全的,哪些方法不推荐用于需要高级别网络通信安全的应用程序 最好的祝愿如果您同时实现了客户端和服务器,那么这些身份验证方法可能是[几乎同等]安全的,也可能是不安全的,这取决于您如何使用它们。如果该软件供第三方使用,我将支持所有方法,并由用户决定 这取决于谁将使用您的客户机(真正的用户,或某种守护进程/cronjob),以及您需要与其他软件的互操作性 在大多数情况下,X509v3证书是最

我想用GnuTLS开发网络客户端和服务器。我有几种选择:x509、PSK、SRP或PGP?以下哪些方法被认为是最安全的,哪些方法不推荐用于需要高级别网络通信安全的应用程序


最好的祝愿

如果您同时实现了客户端和服务器,那么这些身份验证方法可能是[几乎同等]安全的,也可能是不安全的,这取决于您如何使用它们。如果该软件供第三方使用,我将支持所有方法,并由用户决定

这取决于谁将使用您的客户机(真正的用户,或某种守护进程/cronjob),以及您需要与其他软件的互操作性

在大多数情况下,X509v3证书是最好的选择。到目前为止,它们是在SSL/TLS之上最广泛使用和实现的身份验证方式,并且具有最佳的互操作性。在SSL/TLS环境中,PSK、SRP和PGP是非常奇特的选择

如果您需要客户端身份验证,并且使用证书进行客户端身份验证对于您的场景来说效果不佳,因为非技术用户需要能够使用它,那么SRP是通过SSL/TLS进行基于密码的身份验证的最安全的选择

使用PGP在概念上等同于X509v3证书,但互操作性较差。除非您的环境中已经部署了基于PGP的PKI,否则使用PGP将不是最佳选择

PSK是最有限的选择,仅适用于由于严重的CPU/内存限制而必须避免在客户端上进行公钥计算的情况,而这种情况很可能并非如此