Estoy trabajando en un pequeño proyecto M2M (unos cientos de nodos conectados a un solo servidor en la nube), y quiero usar la autenticación de certificado de cliente, con cada cliente obteniendo su propio certificado único en el momento de la fabricación. Durante el desarrollo, hemos estado utilizando un .crt y .key autofirmados para generar los certificados de cliente, y todo ha ido bien. Podemos emitir y revocar certificados según sea necesario y nuestro servicio en la nube hace lo correcto con respecto a rechazar la conexión si el certificado del cliente es inválido o revocado.
Ahora nos estamos acercando al tiempo de producción, y me pregunto si este es un enfoque lo suficientemente seguro, o si hay algún valor en comprar un paquete PKI de una CA "real". Los nodos del cliente se distribuirán en todo el mundo y se conectarán a través de conexiones regulares de Internet (sin VPN, probablemente con muchas conexiones NAT), si eso marca una diferencia.