MITM

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/.

Tom Schouten tom at zwizwa.be
Thu Aug 1 19:58:20 UTC 2013


Hi List,

Here are some bare-minimum code contributions for iso7816-3 slave side 
protocol.

https://github.com/zwizwa/at91work/tree/apdu_phone

git at github.com:zwizwa/at91work.git
branch apdu_phone

Relevant files are in:

iso7816-slave-cdc-project/
src/


I spent a bit more time on this than expected on low-level platform 
stuff, leaving me with no time to smooth the rough edges at the PC 
interface side.  It's a start, though.



Features:
- non-blocking iso7816-3 state machine for slave-side protocol  
(reusable in COS?)
- low-level AT91 USART is abstracted as iso7816_port.h
- line-oriented ASCII HEX protocol over CDC USB serial, easy to use in 
(python) scripts
- transport is separate from state machine, easy to replace with other 
discussed mechanisms
- works for me on Nexus One and BLU SAMBA JR plus

Non-features:
- hardcoded ATR
- hardcoded power cycle skipping to select correct operating voltage
- not using SIMtrace SIM slot (see mim.py for using a PC card reader to 
complete MITM)
- did not test with DFU but should work (I used Atmel SAM-ICE)
- standalone firmware, not integrated with CCID / sniffer
- git history is messy.  i'd just flatten it for further work











More information about the simtrace mailing list