STANDARD. ISO/IEC. Second edition. Identification cards — Integrated circuit cards —. Part 5: Registration of application providers. ISO is one of most important standards in the smart card industry. Parts of ISO specify physical characteristics, dimensions and location of the. ISO , Section 5 contains basic organizations, data structures, file organization, file referencing methods, data referencing methods, record referencing.
|Published (Last):||21 March 2007|
|PDF File Size:||2.92 Mb|
|ePub File Size:||13.41 Mb|
|Price:||Free* [*Free Regsitration Required]|
ISO part 4, section. This clause contains information on the logical structure of data as seen at the interface, when processing interindustry commands for interchange. Isi logical organization of data in a card consists of following structural 786-5 of dedicated files:. When a file cannot be implicitly selected, it shall be possible to select it by at least one of the following methods:.
Data may be referenced as records, as data units or as data objects. Data is ieo to be stored in a single continuous sequence of records within an EF of record structure or of data units within an EF of transparent structure. Reference to a record or to a data unit outside an EF is an error. Data referencing method, record numbering method and data unit size are EF-dependent features.
When the card provides indications in several places, the indication valid for a given EF is the closest one to that EF within the path from the MF to that EF. Referencing by record identifier shall induce the management of a record pointer. Referencing by record number shall not affect the record pointer.
Within an EF of record structure, records may have the same record identifier, in which case data contained in the records may be used for discriminating between them. Each time a reference is made with a record identifier, an indication shall specify the logical position of the target record the first or last occurrence, the next or previous occurrence relative to the record pointer:. Within each EF of transparent structure, each data unit can be referenced by an offset e.
It is an unsigned integer, limited to either 8 or 15 bits according to an option in the respective command. Valued to 0 for the first data unit of the EF, the offeset is incremented by 1 for every subsequent data unit. Each data object as defined in 1.
The file control information may be present for any file. The security status may also result from the completion of a security procedure related to the identification of the involved entities, if any, e. If the concept of logical channels is applied, the file specify security status may depend on the logical channel see 1.
The security attributes, when they exist, define the allowed actions and the procedures to be performed to complete such actions. Security attibutes may be associated with each file and fix the security conditions that shall be satisfied to allow operations on the file.
The security attributes of file depend on:. The result of an authentication may be logged in an internal EF according to the requirements of the application. A step in an application protocol consists of sending a command, processing it in the receiving entity and sending back the response. Therefore a spcecific response corresponds to a specific command, referred to as a command-response pair. An application protocol data unit APDU contains either a command message or a response message, sent from the interface device to the card or conversely.
F I G U R E 2
The maximum number of bytes expected in the data field of the response APDU is denoted isp Le length of expected data. When the Le field contains only zeros, the maximum number of available data bytes is requested.
Figure 4 shows the 4 structures of command APDUs according to the 4 cases defined in table 4. In case 1, the length Lc is null; therefore the Lc field and the data field are empty. The length Le is also null; therefore the Le field is empty.
Consequently, the body is empty. In case 2, the length Lc is null; therefore the Lc field and the data field are empty. The length of Le is not null; therefore the Le field is present. Consequently, the body consists of the Le field. In case 3, the length Lc is not null; therefore the Lc field is present and the data field consists of the Lc subsequent bytes. The length Le is null; therefore the Le field is empty.
Consequently, the body consists of the Lc field followed by the data field. In case 4, the length Lc is not null; therefore the Lc field is present and the data field consists of the Lc subsequent bytes.
The length Le is also not null; therefore the Le field is also present. Consequently, the body consists of the Lc field followed by the data field and the Le field. Such a body carries 1 or 2 length fields; B1 is [part of] the first length field.
In the card capabilities see 8. Decoding conventions for Le If the value of Le is coded in 1 or 2 byte s where the bits are not all null, then the value of Le is equal to the value of the byte s which lies in the range from 1 to or ; the null value of all the bits means the maximum value of Le: For cards indicating the extension of Lc and Le see 8. The subsequent clauses specify coding conventions for the class byte, the instruction byte, the parameter bytes, the data field bytes and the status byte.
The parameter bytes P1-P2 of a command may have any value. The data fields of some commands e.
The data fields of some other commands e. The status bytes SW1-SW2 of a response denote the processing state in the card. For each command, an appropriate clause provides more detailed meanings. There shall be independence of activity on one logical channel from activity on another one. That is, command interdependencies on one logical channel shall be independent of command interdependencies on another logical channel.
However, logical channels may share application-dependent security status and therefore may have security-related command interdependencies across logical channels e. Logical channels are numbered from 0 to 3. If a card supports the logical channel mechanism, then the maximum number of available logical channels is indicated in the card capabilities see 8.
Command-response pairs work as currently described. The basic logical channel is permanently available. When numbered, its number is 0. After closing the logical channel number will be available for re-use.
The basic logical channel shall not be closed.
The goal of secure messaging SM is to protect [part of] the messages to and from a card by ensuring two basic security functions: Secure messaging is achieved by applying one or more security mechanisms.
Each security mechanism involves an algorithm, a key, an argument and often, initial data. In each message involving security mechanisms based on cryptography, the data field shall comply with the basic encoding rules of ASN.
If present, the data objects of the other classes shall be integrated in such a computation. The algorithm under control of the related key basically transforms a current input block of k bytes typically 8 or 16 into a current output block of the same length. Padding for authentication has no influence on transmission as the padding bytes shall not be transmitted. The first input is the exclusive-or of the initial check block with the first data block.
The first output results from the first data block.
The first output results from the first input. The current input is the exclusive-or of the previous output with the current data block.
The current output results from the current input. The final check block is the last output. The digital signature computation is typically based upon asymmetric iiso techniques. There are two types of digital signatures:.
Data objects for confidentiality are intended for carrying a cryptogram which plain value ixo of one of the following 3 cases:.
When padding is applied but not indicated the rules defined in 1. In the absence of an algorithm reference and when no mechanism is implicitly selected for confidentiality a default mechanism shall apply.
The use of a block cipher may involve padding. Ios for confidentiality has an influence on transmission, the cryptogram one or more blocks is longer than the plain text. For the computation of a cryptogram not preceded by a padding indicator byte, the default mechanism is a stream cipher with exclusive-or of the string of data bytes to be concealed with a concealing string of the same length.
Concealment thus requires no padding and the data objects concealed in the value field are recovered by the same operation. Each command isso may carry a response descriptor template fixing the data objects required in response.
ISO/IEC – Wikipedia
Inside the response descriptor, the security mechanisms are not yet applied: The last possible position of a control reference template is just before the first data object to which the referred mechanism applies.
For example, the last possible position of a template for cryptographic checksum is just before the first data object integrated in the computation. Each control reference remains valid until a new control reference is provided for the same mechanism.
For example, a command may fix control references for the next command. The file reference denotes the file where the key reference is valid.
If no file reference is present, then the key reference is valid in the current DF. The initial data reference, when applied to cryptographic checksums, fixes the initial check block. If no initial data reference is present and no initial check block is implicitly selected, then the null block shall be used. Moreover, before transmitting the first data object for confidentiality using a stream cipher, a template for confidentiality shall provide auxiliary data for initializing the computation of the string of concealing bytes.
The cryptogram contents reference specifies the content of the cryptogram e. The first byte of the value field is named the type cryptogram descriptor byte and is mandatory. The response descriptor template, if present in the data field of the command APDU, shall fix the structure of the corresponding response.
Empty data objects shall list all data needed for producing the response.