¿Cómo puedo encontrar un lector / escritor de tarjetas inteligentes PKI para desarrollo (Microsoft .NET)

3

Me gustaría aprender cómo desarrollar software que aproveche las tarjetas inteligentes PKI. Lo ideal sería utilizar el CSP de la tarjeta inteligente de base de Microsoft, pero realmente solo necesito la capacidad de almacenar de forma segura las claves simétricas y asimétricas de la tarjeta y realizar las funciones asociadas, sin importar los requisitos del software. Necesito la capacidad de escribir claves y de cifrar / descifrar / firmar / verificar en la tarjeta. Esto debería significar un escritor, una tarjeta y un SDK. Sería bueno si las tarjetas son compatibles con ECC secp256k1, ECDSA, RSA 4096, AES, SHA256, etc ... pero necesito comenzar en alguna parte.

Tengo las siguientes preguntas con respecto a la seguridad de la tarjeta inteligente:

  1. Por lo general, los lectores de tarjetas inteligentes también son capaces de escribir en el tarjeta, o realizar cualquier función administrativa soportada por ¿la tarjeta? O necesito una interfaz específica (software o hardware) para escribir en una tarjeta inteligente.
  2. ¿Debo buscar específicamente un criptográfico inteligente ¿O todas las tarjetas son compatibles con algunas funciones criptográficas?
  3. Parece que hay diferentes patrones de contacto en diferentes tarjetas. ¿Existen normas en competencia para la seguridad de las tarjetas inteligentes? Encontré ISO 7816 , pero ningún otro.
pregunta Smack Jack 27.09.2015 - 06:25
fuente

2 respuestas

1

¿Alguna vez has construido alguna infraestructura PKI? Los detalles técnicos son solo una parte de la historia con PKI, algunos de los detalles más importantes se encuentran en las políticas y procedimientos generados para respaldar este sistema.

Entiendo que quiero sumergirme y experimentar el aspecto técnico. Recomendaría crear al menos un PKI de dos niveles con algo como OpenSSL o incluso experimentando con GPG , Ya que son de baja barrera de entrada. Si realmente desea obtener más experiencia con la pila de Microsoft, la PKI y certificado de Windows Server 2008 fueron invaluables. Un recurso para mí cuando instalo mi primera PKI basada en Windows.

Las directrices Infraestructura de clave pública federal son un excelente ejercicio para ver cómo debe verse el aspecto político desde Una mirada de reojo. WARNING No intente emularlos demasiado cerca ya que son tortugas hasta el fondo.

Una vez que entiendes cómo está todo preparado, realmente te estás preparando para las tarjetas inteligentes de Steamrolling. Personalmente, siempre he querido probar los que mantienen una parte de la aplicación en la tarjeta para ver cómo funciona realmente el rendimiento en un entorno real.

Aparte de eso, solo soy un chico en Internet y te animo a que sigas tu pasión. Solo tenga en cuenta que hay una razón por la cual las implementaciones de PKI tienen un alto precio.

    
respondido por el M15K 28.09.2015 - 18:40
fuente
1

Hay muchas cosas que entran en juego cuando tratamos con la integración de tarjetas inteligentes con PKI.

Generación de par de llaves

Un par de llaves puede generarse fuera de la tarjeta inteligente y posteriormente almacenarse en ella. Hay algunas cosas que podrían tenerse en cuenta aquí:

  • ¿Cuál es la entropía utilizada para generar la clave privada?
  • ¿Qué sucede con la clave privada que generó fuera de la tarjeta inteligente?

Si genera el par de llaves desde dentro de la tarjeta inteligente, no tendrá que preocuparse por ninguno de los problemas descritos anteriormente.

Operaciones criptográficas

Para poder utilizar su tarjeta inteligente con las aplicaciones criptográficas disponibles, debe hacerla compatible con PKCS # 11, que es un estándar para la interacción con "tokens criptográficos". Entre otras cosas, determina una API de alto nivel entre las aplicaciones y estos tokens (en nuestro caso, una tarjeta inteligente) para usarla en una amplia gama de operaciones criptográficas:

  • Encriptar
  • Descifrar
  • firmar
  • Verificar firma
  • Ajustar clave
  • Generar par de llaves

Consulte ftp: //ftp.rsasecurity. com / pub / pkcs / pkcs-11 / v2-30 / pkcs-11v2-30b-d6.pdf para la lista completa

Si se enfoca primero en PKCS # 11, abstraerá el hecho de que está tratando con una tarjeta inteligente, pero con un "token criptográfico" que admite un conjunto de operaciones.

Ahora, para responder a sus preguntas:

  1. El nombre del lector de tarjetas inteligentes es engañoso. Lo que hace el lector de tarjetas inteligentes es enviar APDU a la interfaz y esperar respuestas. Estas APDU pueden ser comandos de lectura o escritura;
  2. Si lo que quieres es jugar con PKI, te sugiero encarecidamente las tarjetas inteligentes PKCS # 11. Solo tendría que interactuar con una API de alto nivel en lugar de APDU de bajo nivel;
  3. El estándar más adoptado para tarjetas de contacto es la norma ISO 7816. No tengo conocimiento de ninguna otra.
respondido por el Filipe Rodrigues 21.06.2017 - 01:29
fuente

Lea otras preguntas en las etiquetas