El enlace débil en la mayoría de las aplicaciones de tarjetas inteligentes es la entrada de PIN. Extraer claves privadas directamente de la tarjeta es casi imposible. Con la destrucción de un paquete ácido y el trabajo de microscopía electrónica, un equipo capacitado y el tiempo, el dinero y la suerte suficientes, en teoría puede extraer claves, pero esto implica no solo el acceso físico sino también un escenario en el que la tarjeta se destruirá físicamente.
Sin embargo, si el sistema host está comprometido y la entrada del PIN por parte del usuario está bloqueada y se vuelve a reproducir, la tarjeta inteligente funcionará gustosamente tanto para el atacante como para el usuario. Si le preocupa que el sistema host se vea comprometido, debe consultar la entrada directa de PIN. Al usar un lector de tarjetas inteligentes con un teclado, la comunicación se realiza directamente entre el teclado y el lector. El PIN nunca viaja al host y, por lo tanto, no está disponible para interceptarlo. Si bien en teoría, el lector en sí podría tener fallas, nunca he visto una vulnerabilidad que involucre el ingreso directo de PIN y supongo que probablemente sea específico del hardware. Existen métodos para fortalecer la entrada de PIN sin un teclado dedicado utilizando tarjetas inteligentes programables y OTP en lugar de PIN solo, pero no está seguro de si esa es una alternativa que le interesa.
También ten en cuenta que mucho también depende del caso de uso. ¿Se está utilizando la tarjeta para firmas digitales? ¿Cuál es el daño resultante de que un atacante obtenga una firma fraudulenta frente al robo de la clave privada real? En algunos escenarios, una mitigación significativa en otros escenarios es una distinción sin sentido. El último escenario es mucho más difícil de defender porque proteger las claves es más fácil que proteger el uso no autorizado de las claves.