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
7
votes
2 answers

Convert Java Applet CAP file to *.class for decompilation

Here is a CAP file possible containing a malware code, without source code, and also without an export file. It is a CAP file for old platform version, i.e. GP211. I have a big experience Java reverse-engineering in Classic JVM and Dalvik. But Java…
SmInc
  • 235
  • 3
  • 11
7
votes
2 answers

Get card type from ATR

When I scan my card with springcard reader I need to get if this card is one of those types: CTS or CD_97 or ISO_A or ISO_B or FRD How can I get those types from ATR? Those are some ATR examples, I am getting: Navigo: 3B 88 80 01 00 00 00 00 00 71…
haythem souissi
  • 3,263
  • 7
  • 50
  • 77
7
votes
1 answer

EMV Tag 91 Issuer Authentication Data - How to Determine Format of Tag in Response

If present, EMV Tag 91 Issuer Authentication Data can have several different formats when returned in a transaction response. From my (limited) understanding, this may be determined by the card brand. For example MasterCard Tag 91 includes Card…
jabreu
  • 71
  • 1
  • 1
  • 3
7
votes
2 answers

Parse CV Rule from CVM List for EMV

I have succesfully retrieved the CVM List from EMV card. 0000 0000 0000 0000 4103 4203 1E03 1F02 From the EMV specification book 3, the first 4 bytes and second 4 bytes are amount and rest is CV rules. Making these the CV Rule 4103 4203 1E03…
unknown
  • 207
  • 3
  • 9
7
votes
2 answers

How to read a smart card/ microprocessor card using a smart card reader in android programmatically

So lately I have been working with smart cards that hold some information and what I am trying to achieve here is to fetch this data from these smart card using a smart card reader through any Android Smartphone. I have been using a HID OMNIKEY 3021…
shadygoneinsane
  • 2,226
  • 1
  • 24
  • 47
7
votes
3 answers

How to interact with a smart card in Java?

Is there is a library (API) in Java with which I can interact with a smart card? Similar to the WinSCard library. I need to be able to connect with the smart card and read data from it. I need to implement it in Java so that I can use it under any…
Q8Y
  • 3,801
  • 12
  • 39
  • 38
7
votes
1 answer

Get Data APDU command different tags and response format

As you may know, Gloabal Platform Card Specification defines a command named Get Data to retrieve some information from the smart card. GlobalPlatformPro is one of the popular tools for communication with smart cards. When I list the installed…
EbraHim
  • 2,279
  • 2
  • 16
  • 28
7
votes
1 answer

Is Apple Watch detected by an RFID reader?

I'm new to NFC technology. Apple hasn't yet opened NFC for developers. Does this mean that 3rd party application can't write data or trigger an action on the device? But is it possible to identify the watch using an RFID reader similar to a smart…
Peter
  • 533
  • 1
  • 6
  • 17
7
votes
1 answer

Java Card applet EEPROM vs RAM testing

One of typical bugs in Java Card applets is using the persistent memory for temporary variables which are supposed to be in RAM. These bugs can slow down the applet and cause some serious troubles (e.g. Symptoms of EEPROM damage). Unit tests can…
vojta
  • 5,591
  • 2
  • 24
  • 64
7
votes
1 answer

Read smart card certificate with Javascript

I need to know if there's possible to read smart card certificate with Javascript. NodeJS would be ok solution. I explored and found NodeJS plugin xml-crypto for digital signing xml, it's working great, but I wrote correct path to the…
firstChild
  • 326
  • 2
  • 12
7
votes
2 answers

JavaCard - pure software implementation of ECC over GF(2^n)

I have smartcards by NXP that support ECC over GF(p) and that do not support ECC over GF(2^n). In my project I need to use this particular type of smartcard (thousands of instances are used already). However, I need to add verification of EC…
vojta
  • 5,591
  • 2
  • 24
  • 64
7
votes
1 answer

Reading smartcard from chrome after NPAPI drop

This chromium blog states Chrome is dropping NPAPI for good now. In my current project I need to access a Belgian E-ID card to get data (not authentication). All documentation and examples I found are using Java plugins. This will become imposible…
Boris Callens
  • 90,659
  • 85
  • 207
  • 305
7
votes
5 answers

Why is data duplicated in EMV card?

I am working in EMV card and my new task is to compare Magstripe data with chip data. Data that should be common in Mag and chip is:- PAN, Card Holder Name, Expiry date. Here I don't understand the following:- A single data like PAN is present in…
Arjun
  • 3,491
  • 4
  • 25
  • 47
7
votes
3 answers

How does ISO 7816-3 T=0 work?

I'm trying to understand the communication for sending APDU command-response pair. Could anyone please explain, in a simple way, how T=0 works? What are the differences between APDU and TPDU? For example, the command header is CLA, INS, P1, P2 and…
user3480055
  • 71
  • 1
  • 3
7
votes
3 answers

NXP has Java Cards?

Why there is no search result about "JCOP" or terms like J2A040 and j3d081 in NXP website? I want to start Java Card developement and find Java Cards in market named JCOP21-72 J2A040 NXP JAVA based smart card, 40k EEPROM jcop31 jcop41 ... But the…
Taheri
  • 324
  • 4
  • 15