Why '90 00' status word is chosen for sucessful response in smart cards?

111 views Asked by At

ISO 7816-3 (Cards with contacts — Electrical interface and transmission protocols) defines that response value of 90 00 as 'Process completed normally'.

It is unlike conventions in programming languages which return value 0 is considered as success and normal termination of applications.

Does anyone know what is the reason for this?

1

There are 1 answers

1
guidot On

ISO 7816-4 (2013) specifies for status bytes:

SW1-SW2 indicates the processing state. Due to the specifications in ISO/IEC 7816-3, any value different from '6XXX' and '9XXX' is invalid.

Note, that 6X and 9X are on the other hand invalid for INS byte with the same reference given.

This issue derives from character-based T=0 protocol, see the section Procedure bytes in 7816-3:

If the value is '6X' or '9X' [...] it is a SW1 byte.

Summary: The first smart card protocol T=0 had the need for characteristic byte values, probably to re-sync after communication problems. Zero is no good choice for that, since it is needed for other purposes as well (Even for an application this applies, e. g. if the card does not send an answer at all).