Está intentando hacer autorización con un dispositivo físico destinado a autenticación . Esto rara vez funciona bien.
Una tarjeta inteligente se usa para autenticar al usuario, ya que contiene una clave privada que permanece bajo el uso exclusivo del propietario. El certificado es un método mediante el cual se distribuye el enlace entre la clave pública y la identidad del propietario; está firmado por una CA para que no importe el medio físico por el cual se transfiere esta información de enlace; y, en la práctica, el certificado también se almacena en la tarjeta porque el certificado es más útil cuando se usa la tarjeta, por lo que es un buen emplazamiento. Sin embargo, el certificado también podría distribuirse por otros medios, por ejemplo, un gran servidor LDAP público (históricamente, los certificados X.509 fueron diseñados para ser distribuidos de esa manera).
Nada de eso le dice a nadie lo que un propietario de clave puede hacer; solo da alguna garantía sobre la identidad de esa persona (no "qué", sino "quién").
En un sistema determinado, una vez que haya determinado la identidad del solicitante (esa es la parte de autenticación), debe decidir si se debe otorgar la solicitud recibida. Esa segunda parte se llama autorización . Los puntos realmente importantes aquí son los siguientes:
- La información de autorización debe estar sujeta a modificaciones rápidas, con una granularidad más corta que las típicas horas de latencia de la revocación del certificado.
- La información de autorización no está necesariamente definida por las mismas personas / entidades que verifican las identidades; es decir, el trabajo de la CA no naturalmente incluye la gestión de derechos.
- La información de autorización es a veces negativa, por lo que no se puede confiar necesariamente en el propietario de una clave para transportar la información que califica (porque el propietario de la clave puede omitir un "archivo de derechos" que lo identifica como un individuo no deseado).
Por estas razones, lo que intentas hacer parece una mala idea. Sin embargo, ser malo nunca impidió que una idea fuera estandarizada . Sin embargo, nunca vi una situación en la que los "certificados de atributo" fueran realmente utilizados.
En un plano más incidental, las tarjetas inteligentes habituales no pueden incrustar muchos datos públicos. Un certificado de 2 KB está bien, pero un archivo de Word de 300 KB no se ajusta.