TTCN3 3G/2G Authentication using SIM card/SIM card reader

Harald Welte laforge at
Thu Apr 2 14:12:25 UTC 2020

Hi Mirko,

thanks for reaching out and for your kind words.

On Wed, Apr 01, 2020 at 11:20:38PM +0200, Mirko Kovacevic wrote:
> I ran your TTCN3 tests for OsmoSGSN and get loved on a first sight.
> You did amazing job and made countless possibilities. Thank for that.

Happy to see at least somebody out there recognizes the work we do :)

> I know you have C code support in libosmocore library for 3g/2g auth.
> *Can we use SIM card reader in TTCN3 as an option to evaluate
> authentication ?!*

This is not implemented, as in general the target of our TTCN-3 test suites for
core network interfaces is to run fully virtualized, i.e. not to have a dependency
on any given hardware.

Having said this, TTCN-3 is a programming language, and there are multiple
methods by which a physical card reader could be integrated into a test suite.

a) by means of a "Native Function" (i.e. exposing PC/SC API functions to the
   test).  IMHO a bad choice

b) by means of a test port implemented in C++ which one can send APDUs to,
   and receives APDUs back.  So the message interface between the actual test case
   and the card reader would be a TTCH3 test port sending/receiving ISO7816 APDUs.
   The C++ implementation of that test port would the nin turn use pcsc-lite to
   talk to a card reader.

c) by means of the USB test port I wrote (exposing libusb to TITAN), and the
   TTCN-3 implementation of the USB-CCID protocol on top.  This was originally
   developed to test the CCID compliance of card reader firmware, but it could
   of course also used in this context.  This means more code in TTCN-3 and less
   in C++ compared to method 'b' above.

> *Did you ever tried?!*

No, as stated above, it's quite different from what we are using the code for.

Kind regards,

- Harald Welte <laforge at>  
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)

More information about the osmocom-net-gprs mailing list