Come trovare un lettore / scrittore di smart card PKI per lo sviluppo (Microsoft .NET)

3

Vorrei imparare come sviluppare software utilizzando le smart card PKI. Idealmente, utilizzerei il CSP Microsoft Base Smart Card, ma ho davvero bisogno solo della possibilità di memorizzare chiavi simmetriche e asimmetriche sulla scheda in modo sicuro e di eseguire le funzioni associate, indipendentemente dai requisiti del software. Ho bisogno della capacità di scrivere chiavi e di criptare / decifrare / firmare / verificare sulla carta. Questo dovrebbe significare uno scrittore, una carta e un SDK. Sarebbe bello se le schede supportassero ECC secp256k1, ECDSA, RSA 4096, AES, SHA256, ecc ... ma ho bisogno di iniziare da qualche parte.

Ho le seguenti domande sulla sicurezza delle smart card:

  1. I lettori di smart card in genere sono anche in grado di scrivere su carta, o eseguire qualsiasi funzione amministrativa supportata da la carta? O ho bisogno di un'interfaccia specifica (software o hardware) per scrivere su una smart card.
  2. Devo cercare specificamente uno crittografico intelligente carta, o tutte le carte supportano alcune funzioni crittografiche?
  3. Sembra che ci siano modelli di contatto diversi su carte diverse. Esistono standard concorrenti per la sicurezza delle smart card? Ho trovato ISO 7816 , ma nessun altro.
posta Smack Jack 27.09.2015 - 06:25
fonte

2 risposte

1

Hai mai costruito un'infrastruttura PKI prima? I dettagli tecnici sono solo una parte della storia con PKI, alcuni dei dettagli più importanti sono le politiche e le procedure generate per supportare questo sistema.

Posso capire di voler tuffarmi e sperimentare l'aspetto tecnico. Vorrei raccomandare di creare almeno un PKI a due livelli con qualcosa come OpenSSL o anche sperimentando con GPG , poiché sono una barriera bassa all'ingresso. Se vuoi davvero acquisire più esperienza con lo stack Microsoft, il PKI di Windows Server 2008 e la sicurezza dei certificati sono stati un valore inestimabile risorsa per me quando ho installato il mio primo PKI basato su Windows.

Le Federal Public Key Infrastructure le linee guida sono un ottimo esercizio per vedere come dovrebbe essere l'aspetto della policy da un'occhiata di sbieco. WARNING Non provate ad emularli troppo da vicino perché sono le tartarughe fino in fondo.

Una volta compreso il modo in cui è stato messo insieme, ti stai preparando per le smart card a vapore. Personalmente, ho sempre voluto provare quelli che mantengono una parte dell'applicazione sulla scheda per vedere come funziona effettivamente le prestazioni in un ambiente reale.

A parte questo, sono solo un ragazzo su Internet e ti incoraggerei a seguire la tua passione. Tieni presente che esiste un motivo per cui le distribuzioni PKI richiedono un prezzo elevato.

    
risposta data 28.09.2015 - 18:40
fonte
1

Ci sono molte cose che entrano in gioco quando ci occupiamo dell'integrazione con smartcard con PKI.

Generazione Keypair

Una coppia di chiavi può essere generata all'esterno della smartcard e successivamente memorizzata su di essa. Ci sono alcune cose che potrebbero essere prese in considerazione qui:

  • Qual è l'entropia utilizzata nella generazione della chiave privata?
  • Che cosa succede con la chiave privata generata all'esterno della smartcard?

Se generi la coppia di chiavi dall'interno della smartcard, non dovresti preoccuparti di nessuno di questi problemi descritti sopra.

Operazioni crittografiche

Per rendere la tua smartcard utilizzabile con applicazioni crittografiche disponibili, devi renderla compatibile con PKCS # 11, che è uno standard per l'interazione con "token crittografici". Tra le altre cose, determina un'API di alto livello tra le applicazioni e questi token (nel nostro caso una smartcard) per utilizzarla per una vasta gamma di operazioni crittografiche:

  • Encrypt
  • Decrypt
  • Accedi
  • Verifica firma
  • Wrap Key
  • Genera Keypair

Vedi ftp: //ftp.rsasecurity. it / pub / pkcs / pkcs-11 / v2-30 / pkcs-11v2-30b-d6.pdf per l'intera lista

Se ti concentri per prima cosa su PKCS # 11, estrai il fatto che hai a che fare con una smartcard, ma con un "token crittografico" che supporta una serie di operazioni.

Ora, per rispondere alle tue domande:

  1. Il nome del lettore di smart card è fuorviante. Quello che fa il lettore di smart card è inviare gli APDU all'interfaccia e aspettarsi le risposte. Questi APDU possono essere comandi di lettura o scrittura;
  2. Se quello che vuoi è giocare con PKI, allora suggerirei vivamente le smart card PKCS # 11. Dovresti solo interagire con un'API di alto livello anziché con APDU di basso livello;
  3. Lo standard più utilizzato per le smart card a contatto è infatti ISO 7816. Non ne conosco altri.
risposta data 21.06.2017 - 01:29
fonte

Leggi altre domande sui tag