Vraag:
Wat is een goede smartcard voor thuisgebruik?
SEJPM
2015-09-12 21:32:28 UTC
view on stackexchange narkive permalink

Ik ben altijd op zoek naar manieren om mijn beveiliging op internet te verbeteren. Omdat ik ook programmeur ben en enigszins actief ben op InfoSec en Crypto, besloot ik dat een smartcard de juiste keuze is.

Ik ben daarbij op zoek naar een smartcard (of een USB-token) die de volgende kwalificaties heeft:

  • Ondersteuning voor elliptische curve-cryptografie (256 bits +)
  • Ondersteuning voor RSA (2048 bits +)
  • Opslag voor minstens 10 sleutels van elk
  • FIPS 140-2 Level 3 certificering (bij voorkeur) of hoge Common Criteria-certificering (EAL 4+)
  • Moet te verkrijgen zijn voor particulieren (niet-bedrijven)
  • Bestuurder ( PKCS # 11 / CSP / CNG) ondersteuning voor Windows 7 en Windows 10 (beide x64), rechtstreeks of via OpenSC.
  • Ondersteuning voor veilige sleutelback-up en sleutelherstel in geval van een ramp (bijv. ingepakte sleutelexport samen met een manier om uit te pakken op een andere fysieke kaart)
  • Voor echte kaarten: standaard fysieke interfaces ( dwz geen leverancierspecifieke kaartlezers nodig)

Niet-verplichte po ints omvatten:

  • Ondersteuning voor aangepaste ECC-curves
  • Native ondersteuning voor Curve25519 / Curve448
  • Ondersteuning voor RSASSA-PSS of ECDSA (zonder dat de software de hashing uitvoert)
  • Voor daadwerkelijke kaarten: contactloze bediening
  • Lage prijs (< $ 100 per piece)
  • Kwalificatie voor gekwalificeerde elektronische handtekeningen (bijv wettelijk bindende handtekeningen), bij voorkeur naar Duits recht
Ik zal ook de Athena SCS IDProtect LASER op een later punt toevoegen, als ik klaar ben met testen, als je overweegt om het te kopen: Houd er rekening mee dat je er geen hardware-toetsenborden (bijvoorbeeld het pinpad van je kaartlezer) mee kunt gebruiken .
Ik wil ook als vereiste de mogelijkheid om de crypto-API ermee te gebruiken.
@Michael Dat wordt gedekt door "driverondersteuning".
Niet per se, sommige producten worden aangeboden met stuurprogramma's die niet ondertekend zijn - voor mij geen optie. @SEJPM
@Michael nou, de Gemaltos en de Athenas hebben ondertekende stuurprogramma's, alleen de SC-HSM die eigenlijk op Linux is gericht en niet op Windows heeft niet de juiste stuurprogramma-handtekening.
Twee antwoorden:
#1
+13
Thomas Pornin
2016-04-19 05:29:03 UTC
view on stackexchange narkive permalink

Met uitzondering van de back-upvereisten, lijkt de Gemalto IDPrime MD aan uw eisen te voldoen. Enkele kanttekeningen:

  • Het is maximaal 2048 bits voor RSA; voor ECC ondersteunt het slechts drie standaard NIST-curves (P-256, P-384 en P-521), geen aangepaste curves.
  • Uit ervaring is op APDU-niveau de handtekeningoperatie in feite een commando een modulaire machtsverheffing doen met de privésleutel; de hardware is dus compatibel met alle soorten RSA (PKCS # 1 v1.5, PSS ...) maar het hashen en opvullen gebeurt op de hostcomputer.
  • De MD 830 is FIPS 140- 2 lvl 3, de MD 840 is EAL 5+. Er lijkt geen model te zijn dat gecertificeerd is voor beide zijden van de Atlantische Oceaan.
  • De kaarten zijn verkrijgbaar als standaard formaat plastic rechthoeken, nominaal compatibel met alle standaard lezers; maar je kunt ze ook krijgen onder het "IDBridge" -formaat, een USB-kaartlezer met een kaart erin, met een klein formaat.
  • Individuele kaarten kunnen worden gekocht bij cryptoshop maar het is een beetje onduidelijk wat je precies krijgt; er zijn IDPrime MD- en IDPrime .NET-kaarten die dezelfde verpakking gebruiken, en deze laatste ondersteunen geen ECC (alleen RSA). Aan de positieve kant zal de individuele prijs ongeveer € 20 zijn.
  • De kaarten zouden herprogrammeerbaar moeten zijn met aangepaste applicaties (in een subset van .NET) maar ik heb dat nooit geprobeerd en ik weet niet of het vereist extra licenties of dat soort dingen. Ik denk dat de certificeringen niet gelden voor kaarten die opnieuw zijn geprogrammeerd.

Wat betreft back-ups, ik ben bereid te beweren dat u geen back-ups wilt voor handtekeningsleutels. In feite kan de aanwezigheid van een back-up voor een handtekeningsleutel alleen de juridische waarde van een handtekening verlagen (maar dit roept de vraag op waarom je iets zou willen ondertekenen; een handtekening die je genereert, is een legaal wapen dat op jezelf is gericht) .

Voor coderingssleutels zijn back-ups nodig om gegevensverlies te voorkomen, en dan is er geen echt goede oplossing met deze kaarten, als u wilt dat privésleutels nooit bestaan ​​buiten de gecertificeerde hardware. Voor persoonlijk gebruik, zelfs voor de paranoïde, zou je een sleutelgeneratieceremonie kunnen organiseren waarin je de sleutels genereert op een offline computer, opgestart via een cd-rom en zonder harde schijf; de computer zou dan de sleutel in 4 of 5 smartcards drukken, wat zoveel back-ups zou zijn.

Opmerking voor de geïnteresseerde koper: een vriend kocht daadwerkelijk een van deze kaarten en hij had enorme problemen om deze goed te laten werken onder Linux, aangezien blijkbaar zelfs de PKCS # 11-bibliotheek niet kon compileren. Alles werkte echter blijkbaar onder Windows. Andere winkels met deze kaarten zijn [SmartCardFocus] (http://www.smartcardfocus.com/) en de [Gemalto Webstore] (https://webstore.gemalto.com/INTERSHOP/web/WFS/GEMALTO-B2CCORP-Site/ en_US / - / EUR / Default-Start).
Ik was geïnteresseerd door deze smartcard te kopen voor gebruik op Linux en Windows. Maar ik kreeg te horen dat de Gemalto SafeNet-licentie vereist is om de driver op Linux te krijgen. De Gemalto-wederverkoper waarmee ik contact had opgenomen, vertelde me dat ik ten minste 25 licenties moest kopen. Ik heb hier een thread gemaakt om te bevestigen of niet wat de reseller me vertelde: https://security.stackexchange.com/questions/206573/does-opensc-required-proprietary-gemalto-safenet-middleware-to-support-gemalto-iSo deze kaart lijkt niet geschikt voor thuisgebruik als hij wordt bevestigd.
#2
  0
SEJPM
2016-06-20 03:10:45 UTC
view on stackexchange narkive permalink

Omdat ik denk dat sommige mensen misschien niet tevreden zijn met Thomas 'aanbeveling van de Gemalto IDPrime-kaarten, wilde ik hier een andere optie geven:

The Smartcard-HSM

  • Het biedt 1024-2048-bits RSA of tot 320-bits ECC waarbij alle NIST- en Brainpool-curves vooraf zijn geladen en ondersteunt mogelijk zelfs aangepaste curves (hoewel ik ' heb hier op dit moment geen bron voor)
  • Het ondersteunt ECDSA- en RSA-handtekeningen en staat SHA-1 toe op basis van hashing op kaarten (ECDSA) en voor op SHA1 / -256 / -384 / -512 gebaseerde RSA pre-hashing ("PKCS", kan PKCS # 1 v1.5 zijn)
  • Het besturingssysteem is CC EAL5 + gecertificeerd, het chipplatform is alleen EAL2 +, de TOE is hier te vinden
  • Het wordt geleverd als een standaard kaartvormfactor (contact, contactloos en dubbele interface), als micro SD met beveiligd element en 1GB normaal geheugen en als USB-token
  • De momenteel is de enige wederverkoper card-o-matic, individuele kaarten kosten ongeveer € 20 per stuk, de tokens kosten ongeveer € 80 en m ore
  • Driverondersteuning is beschikbaar via OpenSC, ondersteunt Windows CAPI en PKCS # 11, het apparaatstuurprogramma (voor Windows) wordt extra geleverd en vereist het uitschakelen van driverhandtekeningcontroles voor de installatie, de OpenSC PKCS # 11-bibliotheek heeft echter zijn beperkingen, zo heeft bijvoorbeeld slechts één applicatie tegelijkertijd toegang tot het token
  • Als u de kaart met een specifieke sleutel (genaamd device-key-encryption-key (DKEK)) hebt geïnitialiseerd, dan kunt u zal in staat zijn om sleutelback-ups buiten de kaart te maken, anders niet

TL; DR: het kan van tijd tot tijd een beetje duur en een beetje onhandig zijn, en enigszins beperkt in beveiligingsniveau, maar als u op zoek bent naar back-ups, brainpool en / of hoge CC-certificering, dan is dit wellicht de juiste keuze.

Opgemerkt moet worden dat ik contact heb opgenomen met de fabrikant over de handtekening van het stuurprogramma en hij antwoordde dat het voor hen niet de moeite waard is omdat ze zich voornamelijk richten op Linux en embedded systemen en niet op Windows.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...