Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 7255] New: dissector for generic ISO 7816 messages (atr an

Date: Sun, 13 May 2012 05:03:22 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7255

           Summary: dissector for generic ISO 7816 messages (atr and
                    apdus)
           Product: Wireshark
           Version: SVN
          Platform: x86
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: Low
         Component: Wireshark
        AssignedTo: bugzilla-admin@xxxxxxxxxxxxx
        ReportedBy: wireshark@xxxxxxxxx


Build Information:
TShark 1.7.2 (SVN Rev 42609 from /trunk)

Copyright 1998-2012 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GLib 2.24.2, with libpcap, with libz 1.2.3.4, without
POSIX capabilities, without SMI, without c-ares, without ADNS, without Lua,
without Python, with GnuTLS 2.8.6, with Gcrypt 1.4.5, with MIT Kerberos,
without
GeoIP.

Running on Linux 2.6.32-5-amd64, with locale en_US.UTF-8, with libpcap version
1.1.1, with libz 1.2.3.4.

Built using gcc 4.4.5.

--

Dear all,

may I ask you to add the attached dissector for generic ISO 7816 messages
between a terminal and a smartcard?

I'm aware that something similar already exists in the gsm_sim dissector.
However, their 7816 fields are closely tied to gsm data and to the specific
simtrace capturing hardware. The generic dissector helped me when playing with
pay tv cards and usb crypto tokens.

So far, I've coded only the basic apdu structure. When the dissector is merged,
I'll add the apdus and parameters defined in iso7816-4 and other 7816 parts.
I'm also thinking about a flexible approach to add vendor-defined apdus for
specific cards. (Ideally, this should also be able to override the
interpretation of some of the standard fields in the apdus which somtimes have
a special meaning for certain cards).

The caller of this dissector has to supply a direction (to the smartcard or
from the smartcard), this is stored in a frame's private data.

For now, I attached the dissector to usb-ccid as a selectable upper layer. I
tried to get by with as few changes as possible to usb-ccid.

The dissector is fuzz-tested and passes the tool/check... scripts.

The attached sample capture shows an epass2003 usb crypto token that's plugged
in, the usb host sends a query about the pin codes stored on the token.

Thanks for review and merging,

   Martin

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.