La razón principal para preferir una tecnología sobre la otra es la usabilidad. Independientemente de las herramientas que utilice, la seguridad del correo electrónico dependerá principalmente de qué tan bien cooperen los usuarios; la mayor parte de la confidencialidad de sus correos electrónicos se basa en su capacidad de no hacer nada estúpido con sus datos y de reaccionar adecuadamente en condiciones inusuales. Obtendrá una seguridad decente solo si las herramientas que utilizan están disponibles, son fáciles de usar y son confiables. Por lo tanto, es difícil comparar S / MIME y OpenPGP in abstracto .
Sin embargo, todavía podemos hacer algunas distinciones en el modelo PKI . S / MIME se basa en X.509 , un gigante de un estándar que debe admitir una jerarquía jerárquica PKI con delegación de confianza controlada de un conjunto limitado de anclajes de confianza y caminos cortos. OpenPGP utiliza una Web of Trust que está descentralizada. Tu expresión "confía ciegamente en un CA" dice mucho sobre tus propias preferencias, pero es bastante subjetiva.
Si observas cómo funcionan X.509 y OpenPGP, verás que en la Web de Trust, todos son CA. Por lo tanto, mientras que en X.509 confías en un puñado de CA, en la Web de confianza confías en ... ¿todos? Eso es porque la mayoría de la gente olvida la mitad del sistema de WoT. En un verdadero WoT, el gráfico de certificación (es decir, quién firma la clave de quién) debe estar excesivamente conectado.
Cuando quiera validar la clave pública de alguien (llamémosle Bob), entonces necesita encontrar rutas de certificación que le guíen a Bob; dicha ruta comienza con su clave pública (que usted conoce "absolutamente") y cada paso es una firma calculada sobre la clave pública de la siguiente persona en la ruta. La seguridad en el modelo de WoT proviene de la verificación de muchas , que comienzan por ti y terminan en Bob, pero sin que ninguna otra persona sea común a ninguna de las dos rutas. Cuando todos pueden actuar como CA, cualquier ruta individual es "potencialmente sospechosa": cuando las personas firman las llaves de otras personas a altas horas de la noche y bajo los auspicios del consumo excesivo de alcohol, no se puede esperar que todas las rutas sean 100% confiables. Un atacante que intente forjar una clave falsa para Bob solo tendrá que encontrar algunos individuos crédulos o intoxicados. El credo de WoT es que "la multitud tiene razón": un atacante puede subvertir a algunas personas, pero no a la mayoría de ellas. Por lo tanto, si puedes encontrar muchos caminos válidos que conducen a Bob, entonces la clave de Bob es probablemente genuina, porque sobornar o engañar a muchas personas habría sido "probablemente demasiado difícil".
La conclusión es que la Web de confianza es difícil . La descripción anterior utiliza los términos difusos "pocos", "muchos", "más" y "probablemente". No sabemos cómo estimar el número de caminos que deben construirse para alcanzar un nivel de seguridad determinado; de hecho, no sabemos cómo cuantificar un "nivel de seguridad". No está claro si WoT puede funcionar en absoluto. Las implementaciones de OpenPGP tienden a usar un "porcentaje de confiabilidad", que es una conjetura totalmente infundada. Por supuesto, en la práctica, nadie pasa tiempo para reconstruir muchas cadenas; ya tienes suerte si encuentras una cadena.
Cuando debo intercambiar datos confidenciales con los clientes , utilizo OpenPGP, pero no la Web of Trust. Utilizo OpenPGP porque las implementaciones habituales tienen la capacidad de vincular las claves para la identidad de forma permanente: si puedo asegurarme una vez de que la clave es genuina, mi software la recordará y Las cosas estarán seguras a partir de entonces. Por lo tanto, el cliente y yo intercambiamos las huellas dactilares cuando nos reunimos en persona o por teléfono (lo que suponemos que está a salvo de las suplantaciones: la intercepción no es un problema aquí).
Este enlace no es compatible con las implementaciones de S / MIME. podrían hacerlo (aunque la caducidad del certificado lo hace un poco más difícil) pero no lo hacen. No es intrínseco a X.509 (el modelo X.509 hace que sea posible cambiar su certificado cada cinco minutos, pero no lo hace obligatorio ); pero implementaciones implementadas funcionan de esa manera. La usabilidad triunfa sobre el modelo PKI, como dije anteriormente, así que eso es OpenPGP para mí.
( Nota: en otro contexto, HTTPS se basa en la PKI jerárquica X.509 con unas cuantas docenas de anclajes de confianza codificados, y también surgen los mismos problemas; por ejemplo, vea Convergencia , que es una propuesta para, de hecho, vincular claves para los servidores de forma semipermanente, y que se basa en el mismo mantra "multitud es lo correcto" que el WoT. Y sin embargo, lo hacen con los certificados X.509, lo que demuestra que el formato real para los certificados no es tan importante.)