ISO/IEC 10373-8:2011
(Main)Identification cards — Test methods — Part 8: USB-ICC
Identification cards — Test methods — Part 8: USB-ICC
ISO/IEC 10373-8:2011 describes a Test Methodology and a list of Test Scenarios to evaluate the compliance of a card with ISO/IEC 7816-12. Specifically, ISO/IEC 10373-8:2011: addresses USB 2.0 physical layer measurements and electrical compliance testing; discusses issues relative to the Test Tools to analyse USB bus traffic and provides guidance for the Test Scenarios given in ISO/IEC 10373-8:2011; proposes a classification of Test Scenarios given in ISO/IEC 10373-8:2011, along with validation criteria; discusses Test Cases for compliance with the USB CCID Class Device.
Cartes d'identification — Méthodes d'essai — Partie 8: USB-ICC
General Information
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 10373-8
First edition
2011-03-15
Identification cards — Test methods —
Part 8:
USB-ICC
Cartes d'identification — Méthodes d'essai —
Partie 8: USB-ICC
Reference number
ISO/IEC 10373-8:2011(E)
©
ISO/IEC 2011
---------------------- Page: 1 ----------------------
ISO/IEC 10373-8:2011(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2011
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2011 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 10373-8:2011(E)
Contents Page
Foreword .v
Introduction.vi
1 Scope.1
2 Normative references.1
3 Terms and definitions .1
4 Symbols and abbreviated terms.3
5 Testing USB Physical and Electrical Characteristics.3
5.1 Introduction.3
6 Test Set-Up.4
6.1 Basic Configuration .4
6.2 USB Protocol Analyzer features .5
6.3 Devices under Test.5
7 Test Classification and Validation Criteria .6
7.1 Test Classification.6
7.2 Test types.6
7.3 Test Targets .7
7.4 Test criticality .7
7.5 Test Acceptance and refusal criteria.7
8 USB Protocol Compliance Test Procedure .8
8.1 USB Protocol Tests Groups .8
8.2 Test Description Framework .8
8.2.1 USB signals management Testing .9
8.2.2 Timing management Test .14
8.2.3 Low level protocol and error recovery Testing .15
8.2.4 Cancel and Abandon Tests .19
8.2.5 USB State Machine.20
8.3 Standard Request management Tests.20
8.3.1 Objectives .20
8.3.2 Requirements.20
8.3.3 Initial condition.20
8.3.4 Nominal cases .20
8.3.5 Test List.21
8.3.6 Error cases.22
8.3.7 Common Test Conditions.22
8.3.8 Test List.23
9 Tests for compliance with CCID Class.24
9.1 Objectives .24
9.2 Control A Transfer Individual Request Test .24
9.2.1 Test Description .24
9.2.2 Objectives .24
9.2.3 Requirements.24
9.2.4 Initial USB-ICC condition:.25
9.2.5 Testing Set-Up .25
9.2.6 Test List: Individual Requests in Nominal and with Error Cases.25
9.3 Control A Transfer State Diagram Test.27
9.3.1 Objectives .27
9.3.2 Requirements.27
© ISO/IEC 2011 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 10373-8:2011(E)
9.3.3 Initial condition . 27
9.3.4 Type of Test. 27
9.3.5 Test Description. 27
9.3.6 Control transfer version A: Test list . 28
Bibliography. 33
iv © ISO/IEC 2011 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 10373-8:2011(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 10373-8 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 17, Cards and personal identification.
ISO/IEC 10373 consists of the following parts, under the general title Identification cards — Test methods:
⎯ Part 1: General characteristics
⎯ Part 2: Cards with magnetic stripes
⎯ Part 3: Integrated circuit cards with contacts and related interface devices
⎯ Part 5: Optical memory cards
⎯ Part 6: Proximity cards
⎯ Part 7: Vicinity cards
⎯ Part 8: USB-ICC
⎯ Part 9: Optical memory cards: Holographic recording method
© ISO/IEC 2011 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 10373-8:2011(E)
Introduction
The USB-ICC is a complex device supporting the USB protocol. The layered structure of the USB protocol
involves setting the USB-ICC in different testing configurations when a card manufacturer needs to set forth a
Validation Plan. In addition, any USB device belongs to a USB Class. Therefore, the comprehensive testing of
any USB device involves carefully developing a Test Plan that includes three different groups of Tests:
1) evaluation of the Electrical, Physical features;
2) effective execution of the USB protocol;
3) execution of Tests designed to prove the compliance of the USB device with its specific Class.
These High-Level Groups of Test are made up of a series of individual Test Scenarios. These scenarios
challenge the device, and are designed so that any non-compliance of the card could be disclosed. The final
objective is to guarantee the compatibility of the USB-ICC with other USB-compliant devices.
Figure 1 summarizes the Validation Test Framework for the USB-ICC that this part of ISO/IEC 10373
suggests for the USB-ICC.
TESTS
PHYSICAL &
USB PROTOCOL USB-ICC 7816-12
ELECTRICAL
CLASS COMPLIANCE
USB
USB-IF
Signal
Timing Standard Class Test
End Point
Requests State Machine
Full and Low Speed
Behaviour
Electrical and
Interoperability
Compliance Test
Procedure
Figure 1 — Compliance test overview
According to ISO/IEC 7816-12, the USB-ICC is required to comply with the USB Specification 2.0 at physical
and electrical levels This specification is common to all USB devices; it is published by the USB Implementers
Forum, which has also published some Compliance Test Procedures that can be used to test some of the
functionalities of the card. Note that ISO/IEC 7816-12 actually describes the USB-ICC Device Class, and
testing procedures specific to the USB-ICC Class are not available.
vi © ISO/IEC 2011 – All rights reserved
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISO/IEC 10373-8:2011(E)
Identification cards — Test methods —
Part 8:
USB-ICC
1 Scope
This part of ISO/IEC 10373 describes a Test Methodology and a list of Test Scenarios to evaluate the
compliance of a card with ISO/IEC 7816-12.
Specifically, this part of ISO/IEC 10373:
⎯ addresses USB 2.0 physical layer measurements and electrical compliance testing;
⎯ discusses issues relative to the Test Tools to analyse USB bus traffic and provides guidance for
the Test Scenarios given in this part of ISO/IEC 10373;
⎯ proposes a classification of Test Scenarios given in this part of ISO/IEC 10373, along with
validation criteria;
⎯ discusses Test Cases for compliance with the USB CCID Class Device.
NOTE Compliance means cards that are called USB-ICC products are designed to match the description in
ISO/IEC 7816-12.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 7816-12:2005, Identification cards — Integrated circuit cards — Part 12: Cards with contacts — USB
electrical interface and operating procedures [RE1 in Test Tags in this part of ISO/IEC 10373]
Universal Serial Bus specification – Revision 2.0, 27 April 2000 [RE2 in this part of ISO/IEC 10373]
3 Terms and definitions
3.1
USB Request
Control Transfer Request
transmission unit for the Control Transfer mode, composed of a Setup Stage (3.5), an optional Data Stage
(3.2) and a Status Stage (3.6)
NOTE 1 Used in particular for the enumeration (3.4) phase.
NOTE 2 The sum of these stages establishes an applicative protocol layer.
NOTE 3 A Request can be either Standard, Class Specific or Vendor Specific.
© ISO/IEC 2011 – All rights reserved 1
---------------------- Page: 7 ----------------------
ISO/IEC 10373-8:2011(E)
3.2
Data Stage
part of the Control Transfer that conveys the data associated with a given Request in one or more Data Bus
Transactions
3.3
endpoint
communication channel established between a host and a device
NOTE An endpoint is generally mono-directional, except for the Control Transfer mode, where the endpoint is
upstream and downstream at the same time.
3.4
enumeration
Standard Procedure for recognition by the host of the USB-ICC for setting up a communication pipe, during
which the host attributes a unique address to the device, and the device driver(s) configure(s) the USB-ICC
properly
NOTE 1 It starts when a device is plugged onto a USB port.
NOTE 2 It allows one or more suitable device drivers to be attributed to the device.
3.5
Setup Stage
part of a request (see Request) containing the request definition
NOTE The Setup Stage contains the target identification of the request, its direction and the length of the next Data
Stage.
3.6
Status Stage
part of a request (see Request) standing for global acknowledge of the request
NOTE Any request (except the SetAddress request) is supposed to be terminated before the Status Stage is
completed.
3.7
transfer
USB transfer
one or more USB transactions
NOTE A transfer is generally mono-directional (downstream – from host to device, or upstream – from device to
host), except for the Control Transfer transfers that are always bi-directional.
3.8
USB mode
mode of transfer used by the USB protocol
NOTE The USB protocol uses four different modes of transfer: The Control Transfer (used for enumeration, and
certain interfaces), the Interrupt Transfer (simulating a hardware interrupt behaviour using a polling mechanism), the Bulk
Transfer (generally used for non-real-time data transfers) and the Isochronous Transfer (used for real-time data transfers).
3.9
USB transaction
sequence of one, two or three phases: Token, Data, Handshake
2 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 10373-8:2011(E)
4 Symbols and abbreviated terms
NA Not applicable
ACK Acknowledged
Integrated Circuit(s) Cards Interface Device conforming to RE5
CCID
NAK Not acknowledged
STALL Indicates that a transfer is out of context or wrongly formatted. May require a host intervention.
5 Testing USB Physical and Electrical Characteristics
5.1 Introduction
Electrical tests are common to any USB device compliant device. This specification has been published by the
USB Implementers Forum. ISO/IEC 10373-3 should refer to this baseline document [RE4].
USB Specification 2.0 defines the following data rates and rise times:
Table 1 — Data rates and rise times
DATA RATES RISE TIMES
Low Speed (LS) 1.5 Mbit/s 75ns-300ns
Full Speed ( FS) 12 Mbit/s 4ns-20ns
High Speed (HS) 480 Mbit/s 500 ps
USB-ICC manufacturers should build a Validation Test Program based on the USB-IF applicable
documentation.
USB 2.0 electrical testing includes:
⎯ Differential signal quality (eye diagram testing, signal rates, EOP width, cross-over voltage
range, paired J-K and K-J as well as consecutive jitter and of course rise and fall times);
⎯ In-Rush current check (current drawn by the CUT) when plugged-in;
⎯ Loaded Vbus power line Drop and droop measurements.
For the tests whose compliance guarantees interoperability at electrical level, either the USB-ICC is directly
attached to a Host or it is sharing the USB bus with other USB devices.
USB 2.0 specification introduced a 40 times increase in data rates, and therefore a high level of complexity to
the chip (Hi-Speed). Specific testing for High-Speed compliant devices include receiver sensitivity, chirp
(special signaling during the High-Speed devices speed detection protocol), monotonicity (smooth increase or
decrease of Hi-speed signal amplitude without reverse response) and impedance measurements (CUT and
cable). The measurement of very short rise times requires use of real-time oscilloscopes with tight
requirements for bandwidth, data sample rates and rising and falling times.
The USB connection device shall establish an electrical connection to C1, C5, C4 and C8 only, following the
electrical characteristics and protocol given in the USB 2.0 specification.
© ISO/IEC 2011 – All rights reserved 3
---------------------- Page: 9 ----------------------
ISO/IEC 10373-8:2011(E)
NOTE 1 Since the publication of ISO/IEC 7816-12, a new relevant USB Specification [RE3] for smart card technology
has been released as a supplement to the USB 2.0 Specification. RE3 or Inter-Chip USB specifies the communication
between devices operating at different voltage classes (3.0V, 1.8V, 1.5V, 1.2V and 1.0V) using USB Data Transfers.
ISO/IEC 7816-12 refers to the USB specification 2.0, requiring the power supply V at 5.0V nominal. However, the
BUS
configurations and data transfers defined in ISO/IEC 7816-12 may be supported by cards compliant with the Inter-Chip
USB. Compliance rules regarding Inter-chip USB products have not been established yet.
NOTE 2 According to ISO/IEC 7816-12, the USB connection device shall establish an electrical connection to C1, C5,
C4 and C8 only, following the electrical characteristics and protocol given in the USB 2.0 specification. This document
does not address the electrical characteristics of these contacts.
6 Test Set-Up
6.1 Basic Configuration
The Basic test set-up enabling the execution of the Test procedures defined in this section typically is made
up of three different devices:
1. The USB Test Platform, a Host PC, embedding all the necessary software to drive the USB protocol
analyzer.
2. The USB Protocol Analyzer configured to capture data transfers between the Host PC and the
device under test (e.g., the USB-ICC) and display information about the recorded packets. It executes
USB software to generate USB traffic.
3. The USB-ICC under test or an USB-ICC chip emulator. The tests detailed can be performed either
using a chip emulator, or a USB-ICC, or another development system (bond-out for instance). Refer
to Clause 6.3 for additional information.
Figure 2 describes the basic Test Configuration:
USB Test
Platform
USB Cable
USB Cable + connector
USB Protocol
Analyzer
Chip emulator
OR
USB Cable + connector
NOTE Other testing configurations are possible.
Figure 2 — Basic test configuration
4 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 10373-8:2011(E)
6.2 USB Protocol Analyzer features
The USB Protocol Analyzer is configured and controlled by the USB Test Platform to which it is connected
through a USB port.
The USB Test Platform configures the USB Protocol Analyzer Unit in traffic generation mode.
Commercial USB Protocol Analyzers usually support enhancements like a USB Data Transfer. Within USB, at
the lowest level analysis view (packet level) individual packets are representative of the mode of
communication taking place. The second higher-level view (Bus Transaction level) combines packets into
USB-ICC Bus transactions (Control, Bulk, Interrupt IN), where the actual functional interaction between the
Host and the USB-ICC takes place. The highest level view (transfer level) is defined by the device class
definitions ( CCID class for the USB-ICC).
USB Data Transfer level decoding allows to displays bus interactions between USB devices being
tested/analyzed at a level that is more illustrative of the functions being performed
The USB Protocol Analyzer usually includes provisions for on-the-fly detection of, and triggering on, numerous
events. Such events include specific user-defined bus conditions, packets matching any Packet Identifier
(PID), packets matching a Token or Setup transaction, data patterns, and many abnormal (error) bus
conditions locate specific data, errors and other desired conditions.
Such pre-selected triggered events may then be recorded and displayed on the USB Test Platform. Real-time
detection of events can also be individually enabled or disabled to allow triggering on events as they happen.
This includes predefined exception or error conditions, and a user-defined set of search conditions.
6.3 Devices under Test
It is recommended that tests defined in Clauses 8 and 9 be completed using at least two different test
platforms:
a) The first one is composed of an emulator of the chip under test; and a card reader interface board
configured for USB communication. A PC using the serial port may be used to drive this emulator. The
card reader interface board (USB type) can be plugged into the USB Protocol Analyzer record port with a
USB connector as shown in Figure 3.
USB
USB connection RS232 connection
To control the to control
Protocol Computer Emulator
analyzer the emulator
Analyzer
Philips
USB Cable
Connector
Card reader
USB Cable
USB Connector
interface board
Figure 3 — Test platform 1
© ISO/IEC 2011 – All rights reserved 5
---------------------- Page: 11 ----------------------
ISO/IEC 10373-8:2011(E)
b) The second test configuration is made up of a sample smartcard (built with the final component) with a
USB connector, plugged into the USB Protocol Analyzer record port with a USB connector as shown in
Figure 4.
USB
USB connection
Protocol Computer
To control the Analyzer
Analyzer
USB Cable
USB-ICC
USB Connector USB Cable
Under test
Figure 4 — Test platform 2
7 Test Classification and Validation Criteria
This chapter proposes a classification of the Test Scenarios detailed in Clause 8.
7.1 Test Classification
Each Test Scenario described in Clause 8 is characterized by Type, Target and Criticality as follows:
⎯ Test Type: Negative (N) or Nominal (P) , according to the criteria defined in 7.2;
⎯ Test Target: Core Feature (C), Prototype (P), Contextual Dependency (D), Security (S) and
Side Effect (E) according to the criteria defined in 7.3;
⎯ Test Criticality: Critical (C), Major (M) or Minor (m) according to the criteria defined in 7.4.
7.2 Test types
The Test Type refers to the context in which the test is performed compared to the real life conditions. Three
types of tests are set out in this section:
⎯ Negative tests (N): These tests challenge the ability of the USB-ICC not to run out of control, or
to reach an undesired state when accidentally facing a non-standard case. Examples include
peer defects, non-compliant USB Hosts devices or drivers. Negative Tests in Clause 8 are
tagged with label N;
⎯ Nominal positive tests (P): They ensure that the card performs properly according to
ISO/IEC 7816-12. Positive tests in Clause 8 are tagged with label P.
Again, in relation with the Nominal Positive Case tests, two types of tests can be differentiated:
⎯ Nominal Case Testing: The Host executes nominal USB Transfers according to USB 2.0 and
expects the USB-ICC to respond in an appropriate way;
⎯ Error Case Testing: The Host introduces deliberately a given USB Protocol Error in the USB
transaction, and expects error detection by the USB-ICC. For instance, a Data Packet error for
an OUT Transaction is expected to result in an irresponsive card and the corresponding Host
Time-Out ( the card doesn’t handshake) resulting in a RETRY initiated by the Host.
6 © ISO/IEC 2011 – All rights reserved
---------------------- Page: 12 ----------------------
ISO/IEC 10373-8:2011(E)
7.3 Test Targets
Each Test Target refers to a particular part of USB-ICC under test. Five Test Classes are identified in this
section:
⎯ Core features (C): Such tests run the card in nominal conditions and check the operation of the
basic services of the USB-ICC. For instance, an algorithm is executed with several input values
and the corresponding output values are checked. These tests are tagged with label C in this
document;
⎯ Prototype (P): Such tests are used to check the boundaries of input parameters of a given
command. These tests are tagged with label P in this document;
⎯ Contextual dependency (D): Such tests ensure that the global context needed to run a
command is provided. These tests are tagged with label D in this document;
⎯ Security tests (S): Such tests check that a given command is executed only if the required
security conditions are met. It is however noted, that such tests may interfere with “contextual
dependency” tests. These tests are tagged with label S in this document;
⎯ Side effects (E): Such tests have been designed to make sure that a command does not alter
its execution context unless it is fully managed. These tests are tagged with label E in this
document.
7.4 Test criticality
The test criticality provides information about the relative significance and the impact of a failure when
executing the test. Three levels can be identified:
⎯ Critical (C): A failure when executing a Test characterized as Critical, denotes a serious USB-
ICC software bug, leading to an end of the validation process according to this document and
possibly requiring the card redesign. These tests are tagged with label C;
⎯ Major (M): A failure when executing a Test characterized as Major; denotes a significant bug,
but which does not prevent other modules of card from working properly. For instance, the
discovery of such a bug once the card has been distributed might Expected Result in the design
of a softmask to fix the bug. These tests are tagged with label M;
⎯ Minor (m): A failure when executing a Test characterized as Minor, denotes a less significant
bug, meaning that the product is satisfactory operated most of the time, in such a way that the
default may be unapparent. These tests are tagged with label m.
7.5 Test Acceptance and refusal criteria
In most test scenarios, to successfully pass the Test Scenario, the USB-ICC is required to send an
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.