No me gusta que los navegadores, los clientes de correo electrónico, etc. se incluyan en las CA y que no haya un énfasis en un mecanismo de autenticación más descentralizado. Afortunadamente, no está tan mal, porque al menos, sea cual sea nuestra plataforma favorita, podemos crear nuestros propios clientes, digamos un cliente IMAP, usando cualquier lenguaje de programación que nos guste, digamos Python, con cualquier CA combinada que nos guste.
Será muy malo que perdamos esa flexibilidad y comencemos a depender de nuevas plataformas, nuevos dispositivos USB, etc. Claro, es un estándar abierto, pero si es parte de este estándar abierto, los servidores pueden aceptar solo un hardware específico, como dispositivos USB especiales, en la práctica, un programador no podrá programar un cliente en la plataforma que elija. Claro, cualquier empresa grande podría construir un dispositivo que respete el estándar, pero aún así se perdería mucha flexibilidad. No estoy diciendo que esta sea la situación con el nuevo estándar FIDO U2F, pero tengo curiosidad por eso.
Para mí, un buen estándar debe restringir lo menos posible ambos lados. Tan pronto como un "estándar" permite que un lado imponga restricciones a la implementación del otro lado, incluso en nombre de la seguridad, parece que una noción fundamental de libertad, implícita en la idea original de código abierto, está bajo ataque. Esta idea original era permitir a cualquier programador crear un código práctico con la menor cantidad de restricciones posible. Es posible que la situación sea igual que antes con las CA para certificados de sitio web o correo electrónico, y es solo que el énfasis actual en el hardware específico en el lado del cliente no sería tan malo.
Mis preguntas:
- ¿Cómo podemos construir nuestros propios clientes, utilizando la plataforma y el idioma de nuestra elección para conectar con cualquier servidor compatible con U2F?
- ¿Es posible crear, digamos, un cliente IMAP, en la plataforma de nuestra elección, para autenticar con cualquier, digamos servidor IMAP, que respete el estándar U2F?