Questions tagged [smartcard]

A smartcard is a card with an embedded chip that may store cryptographic keys and/or perform cryptographic functions. Smartcards are often use as employee ID badges or in contactless credit/debit cards.

Smartcards used for cryptographic functions such as identity verification, signing, and decryption are usually designed so that the cards can generate their own cryptographic public/private key pairs, such that the private key cannot be removed or exported from the card. Using a smartcard to decrypt or sign a piece of data is usually protected by a PIN or passcode.

If you receive a message, whose signature can be validated using the public key, then you know that the message could only have been signed using the private key stored on the smartcard, which means that the message came from someone having physical possession of the smartcard and who knows the PIN or passcode required to use the smartcard. Having the decryption key on the card directly enforces, that without card and PIN knowledge just the encrypted message is available.

SIM cards used in mobile phones are also smart cards, proving an existing account towards network and storing phone numbers and text messages.

EMV cards (also known as "chip and pin") use smartcards to increase security and decrease fraud. The EMV standard, and its test cases, are governed by EMVCo.

Smartcards have a dedicated standard: ISO/IEC 7816 that describes what defines a smartcard from physical characteristics to cryptographic information application, including protocols and commands.

Contactless smart card (such as PayPass and payWave etc) are covered by ISO/IEC 14443; that describe the physical characteristics of the card, power and signal interfaces, transmission and collision detection, and transmission protocols.

EMV cards are also issued with "dual" interfaces that use the same chip on the card and two external interfaces.

1917 questions
5
votes
5 answers

How to choose Secure Channel Protocol to use?

What does it mean that some smart card support SCP 01 and SCP02? And how to choose between those two? Is it predefined in security domain or there is some command to select one or other choice?
Mario Drzic
  • 157
  • 2
  • 10
5
votes
1 answer

Java Card 2.2.2: temporary RSA public key as transient

I'm designing a Java Card (2.2.2 thus Classic) applet that will, at each use, receive a RSA public key (validated using means immaterial to the question), then use that RSA public key to verify an RSA signature. How can I keep that RSA public key in…
fgrieu
  • 2,724
  • 1
  • 23
  • 53
5
votes
1 answer

Android NFC: Exception "transceive failed" when using transceive()

I'm trying to communicate between a Samsung Galaxy S3 and a smartcard that supports NfcA and IsoDep (Mifare DESFire EV1). To do this, I enabled forgeground dispatch and started a task when a tag is discovered. The code in the task looks like…
P. Sherman
  • 135
  • 1
  • 7
5
votes
3 answers

Applet ID's and APDU in Java Card

In my project i want to write biometric data (like fingerprint template) on a smart card. After some good study i chose Java card for my project. But i am new to this platform and know very little about this :( I have read tutorials from Sun also,…
user268758
  • 57
  • 3
  • 8
5
votes
2 answers

What does "has carrier priviliges" means in android 5.1.1

I am trying to develope an android application who communicate with SIM card (Android 5.1.1). When using some methods (example : iccOpenLogicalChannel), they said in documentation that I should have carrier privileges app to use this method, i am…
DGz
  • 109
  • 2
  • 6
5
votes
2 answers

Is it possible to send Pseudo-APDU commands while card is not present?

I am using the javax.smartcardio package for developing smart card related applications. I want to send Pseudo ADPU commands to set my reader's LED / LCD status. I found that the only method to send APDU commands to reader/card is…
Bruce Z
  • 81
  • 6
5
votes
1 answer

remove and insert smartcard using sunpkcs#11 and tomcat

I have a web application running on Tomcat. My application uses a web service which signs (via smartcard) and sends email. The web service itself adds the sunpkcs#11 provider automatically during the first call and before sending email, then can…
ihsan kocak
  • 1,541
  • 1
  • 17
  • 26
5
votes
1 answer

Relation between Security Domain and Applet in Personalization

The Guide to Common Personalization describes the following process for Personlalization: Reset Atr Select AID to personalize initiate Secure Channel multiple Store-data commands The Secure Channel is established with the Security Domain and…
Paul Bastian
  • 2,597
  • 11
  • 26
5
votes
0 answers

Opensc in android

Softwares(such as Mozilla Firefox, Thunderbird) can load opensc module(opensc-pkcs11.so on linux and opensc-pkcs11.dll on windows)and use all smart cards supported by OpenSC for authentication, signing and decryption. My question is how can we do…
5
votes
1 answer

pyscard - windows - How to re-open connection to a smartcard (open/close/open again)

On windows 8.1, Python 2.7, pyscard(latest) i list readers from my software like so: for reader in readers(): print "list of readers:" print readers try: conn = reader.createConnection() …
NoobTom
  • 555
  • 1
  • 9
  • 21
5
votes
1 answer

Windows Server 2012 R2 Smart card limit

Afternoon all We've got an application that runs on Windows Server that requires upto 50 smartcard's to be connected to the host application server. This works without any issues on our existing Server 2003/2008 installations. However when we've…
fatmcgav
  • 431
  • 1
  • 4
  • 8
5
votes
1 answer

Writing and Reading certificates from smartcard

We want to build a module in our application which allows the user to sign pdf/word documents by using a smartcard or usb token. Our application is written in Java so a solution with java would be nice but if it is easier with another language I…
Lars
  • 1,750
  • 2
  • 17
  • 26
5
votes
2 answers

How to read/write synchronous only smart cards like memory cards

I have a IC memory cards that support only Synchronous Interface (like SLE5532,SLE5542...etc) I would like to know how to write an application that read memory contents, verify PSC (PIN) and write the memory. This type of cards cannot accept normal…
5
votes
1 answer

How can I check INITIALIZE UPDATE and EXTERNAL AUTHENTICATE correctness?

I sent 80 50 00 00 08 00 00 00 00 00 00 00 00 [INITILIZE UPDATE Command] via opensc-tool to my java card and received 00 00 11 60 01 00 8A 79 0A F9 FF 02 00 11 79 11 36 5D 71 00 A5 A5 EC 63 BB DC 05 CC [Init Response] as its response from the…
Ebrahim Ghasemi
  • 5,850
  • 10
  • 52
  • 113
5
votes
1 answer

issue with get processing options

I have selected application (A0000000032010) on Visa contactless card and when I issue GPO command: "80A8000002830000" I get error: 67 00 Does anyone have idea what can be causing this?
user2793162