3
votes

For my research project on university I got to implement a subset of ISO 7816-4 filesystem on Java Card based smart card. I read standard and implemented a couple features - dedicated files, transparent and record-oriented elementary files etc, been able to select files, some rudimentary access control.

I am having difficulties to implement tag lists, header and extended header list. Standard is very succinct when describing usage of those data element for indirect data references.

  • Tag list are used to return all objects having their tag in tag list (concatenation of tags without delimitation)
  • header list is list of tag length values without delimitation
  • extended header list also list of tag length values without delimitation used to get data

Can someone explain where would you use these data elements referencing methods and provide some illustrative example of their usage, or point me to some literature where this is explained? Can header list have constructed tags in it? What is the difference between header and extended header list? With which ISO commands do you usually use these lists?

1

1 Answers

2
votes

A use case for a tag list can be found in ISO 7816-9 (resp. part 4): in the Create File command you can specify a protection for contained data objects in tag A0 of the file control information. The data objects to be protected are specified as tag list.

An extended header list is typically used for non-descriptive card verifiable certificates, so the unstructured byte string can be mapped into meaningful data objects.

I can't remember a use for a header list beyond the GET DATA odd instruction variant.

Typically you have to look at application specifications to find the application of such abstract data objects, for instance in EN 419212, health card specifications etc.