Qual è lo stato dell'interoperabilità tra smart card e computer

3

Le smart card sono l'unico dispositivo veramente sicuro che può essere utilizzato, tra le altre cose, per l'identificazione elettronica. Tuttavia, esistono problemi di usabilità derivanti dalla mancanza di standardizzazione.

Di solito, per utilizzare una smartcard, l'utente deve installare alcuni middleware (proprietari). Per poterlo utilizzare in un browser, è necessario disporre di elementi ancora più specifici (ActiveX, Java apllet). Per questo l'usabilità si riduce in modo significativo. Ad esempio, la soluzione estone richiede l'installazione di componenti aggiuntivi del browser e moduli pkcs11 per consentire la comunicazione con il proprio ID nazionale carte.

Ho letto molto, ma onestamente, sono un po 'perso. Quindi vorrei chiedere chiarimenti su molteplici aspetti (standard e progetti). Quale parte dell'intero flusso fa queste cover, qual è il loro stato, quanto sono largamente adottati, ecc.

E un'altra domanda: pensi che ci sarà un modo, nel prossimo futuro, per una smart card di implementazione standard da utilizzare in un browser di implementazione standard su un SO con implementazione standard senza la necessità di installare nulla ?

    
posta Bozho 28.10.2015 - 12:55
fonte

1 risposta

4

Dalla tua domanda sembra che tu chieda solo le smart card PKI, quindi salterò altri tipi di smart card.

Prima una teoria. I computer parlano con tutte le smart card usando comandi APDU . Sono davvero un'interfaccia di basso livello e sono per lo più diverse per tutte le carte. Ci sono ragioni pratiche e politiche per questo. La ragione pratica è che ogni carta può avere funzionalità specifiche difficili da standardizzare. La ragione politica è che il fornitore di smart card non vuole che i clienti siano in grado di cambiare facilmente le carte con quelle più economiche di altri produttori. Ma affinché la smart card sia utilizzabile, deve esserci un'API standard. Quindi ogni fornitore fornisce middleware che esporta API standard (PKCS # 11, CryptoAPI, TokenD) e traduce queste chiamate di funzioni di alto livello in serie di comandi APDU. Poiché questo non è un compito facile, tutti i middleware proprietari hanno bug. Ci sono stati molti tentativi per l'interfaccia o le specifiche di smart card unificate, ma tutti hanno fallito, perché i produttori hanno continuato a creare e vendere carte proprietarie.

Come standard / progetti:

  • ISO / IEC 24727 - Non avevo esperienza personale con questo standard, ma sembra un altro tentativo fallito di standardizzazione dell'API. Come tutti loro ha un'adozione molto limitata. Penso che solo Giesecke & Devrient ha creato le carte che lo implementano.
  • ISO 7816-4 - Questo standard definisce i comandi di basso livello per alcune operazioni con le carte come selezionare file e leggere binari, ma non coprire più comandi utilizzabili come la firma o la generazione di chiavi.
  • PKCS # 11 - Da Wikipedia - Lo standard PKCS # 11 definisce un'API indipendente dalla piattaforma per i token crittografici. Esistono molte applicazioni che possono utilizzare l'interfaccia PKCS # 11 ed è solo l'interfaccia per smart card supportata da Mozilla, quindi ogni smart card PKI ha il middleware che la implementa. Di solito non tutte le funzioni sono implementate e alcune sono implementate in modo non standard. Sembra che i produttori di middleware testano la loro implementazione solo con Firefox, e non c'è alcuna garanzia che altre applicazioni PKCS # 11 funzionino correttamente.
  • PKCS # 15 - Un altro tentativo di risolvere il problema del middleware proprietario. Non l'ho mai usato e AFAIK non ci sono software importanti che lo usano.
  • apri eCard - non importa come nessuna carta lo implementa.
  • OpenSC - questo è il middleware open source per molte carte diverse. Alcune aziende hanno scritto e supportano attivamente i driver OpenSC per le loro schede, alcuni driver di schede sono scritti in base a specifiche pubbliche e alcuni sono in reverse engineering. La maggior parte delle carte con specifiche pubbliche sono carte eID nazionali come IAS-ECC o US PIV card. Alcune piccole aziende come Aventra pubblicano anche i loro comandi APDU.

Informazioni sull'uso della smart card nei browser: tutti i principali browser possono utilizzare i certificati memorizzati su smart card per l'autenticazione del client SSL.

ActiveX, applet Java o estensioni browser sono utilizzati per firme legalmente vincolanti, poiché nessun browser ha il supporto integrato per esse. Ci sono stati alcuni tentativi di aggiungere le funzionalità necessarie a WebCryptoAPI, ma sembra come i venditori di browser sono contrari. Puoi leggere questa discussione per i dettagli - link . Quindi non credo che il documento di firma nel browser senza plug-in aggiuntivi o componenti aggiuntivi sarà possibile nel prossimo futuro.

Modifica

Affinché TLS clientAuth funzioni con smart card, senza un'ulteriore installazione, il sistema operativo o il browser devono includere il middleware per smart card.

Penso che Windows sia dotato di alcuni middleware per smart card preinstallati, ma molte schede diverse hanno il loro middleware nell'aggiornamento di Windows, ed è installato automaticamente quando la scheda è collegata. In questo modo l'autenticazione del client funzionerà con tutti i browser moderni eccetto Firefox. Dato che Firefox non usa l'interfaccia crypto standard di Windows (CryptoAPI) ha bisogno di un'ulteriore installazione o almeno di una configurazione manuale.

Le versioni precedenti di OS X includevano anche il supporto per alcune carte, ma è stato rimosso dopo il 10.6.

    
risposta data 28.10.2015 - 21:24
fonte

Leggi altre domande sui tag