Desarrollo de una aplicación en Python para el estudio y programación de SmartCards SLE5528 y SLE5542

Bookmark (0)
Please login to bookmark Close

La asignatura de Comercio Electrónico de la ETSISI incluye el estudio y programación de SmartCards, dispositivos que incorporan mecanismos de protección complejos cuyo desconocimiento puede provocar bloqueos permanentes. Este proyecto desarrolla CardSIM, una aplicación de escritorio en Python que facilita el aprendizaje de los mecanismos de funcionamiento y protección de SmartCards SLE5528 y SLE5542.
La herramienta proporciona una vista completa y estructurada del contenido de las tarjetas con sus diferentes zonas de memoria y privilegios de acceso, permite trabajar simultáneamente con múltiples tarjetas virtuales antes de su programación física. El sistema implementa una máquina de estados que replica fielmente el comportamiento de las tarjetas reales, incluyendo sus mecanismos de seguridad basados en PSC (Programmable Security Code), contador de errores y bits de protección permanente.
La interfaz gráfica ofrece un panel de comandos APDU interactivo con validación en tiempo real y un sistema de registro completo de operaciones que facilita la depuración y el aprendizaje. La aplicación utiliza el lector ACR39U y permite tanto la simulación completa como la lectura y escritura de tarjetas físicas, habilitando un flujo de trabajo educativo seguro donde los estudiantes pueden experimentar libremente en un entorno virtual antes de trabajar con hardware real.
CardSIM está diseñada para minimizar los bloqueos de tarjetas mediante validaciones preventivas, advertencias claras sobre operaciones irreversibles y confirmaciones obligatorias en acciones críticas. Esto reduce significativamente los costos educativos y mejora la experiencia de aprendizaje de los estudiantes en el manejo de tarjetas inteligentes.
Abstract:
The Electronic Commerce course at ETSISI includes the study and programming of SmartCards, devices that incorporate complex protection mechanisms whose misunderstanding can cause permanent blocks. This project develops CardSIM, a Python desktop application that facilitates learning the functioning and protection mechanisms of SLE5528 and SLE5542 SmartCards.
The tool provides a complete and structured view of card contents with their different memory zones and access privileges, allows simultaneous work with multiple virtual cards before physical programming. The system implements a state machine that faithfully replicates the behavior of real cards, including their security mechanisms based on PSC (Programmable Security Code), error counter and permanent protection bits.
The graphical interface offers an interactive APDU command panel with realtime validation and a complete operation logging system that facilitates debugging and learning. The application uses the ACR39U reader and supports both complete simulation and physical card reading/writing, enabling a safe educational workflow where students can freely experiment in a virtual environment before working with real hardware.
CardSIM is designed to minimize card blocks through preventive validations, clear warnings about irreversible operations and mandatory confirmationson critical actions. This significantly reduces educational costs and improves students’ learning experience in handling smart card technology.

​La asignatura de Comercio Electrónico de la ETSISI incluye el estudio y programación de SmartCards, dispositivos que incorporan mecanismos de protección complejos cuyo desconocimiento puede provocar bloqueos permanentes. Este proyecto desarrolla CardSIM, una aplicación de escritorio en Python que facilita el aprendizaje de los mecanismos de funcionamiento y protección de SmartCards SLE5528 y SLE5542.
La herramienta proporciona una vista completa y estructurada del contenido de las tarjetas con sus diferentes zonas de memoria y privilegios de acceso, permite trabajar simultáneamente con múltiples tarjetas virtuales antes de su programación física. El sistema implementa una máquina de estados que replica fielmente el comportamiento de las tarjetas reales, incluyendo sus mecanismos de seguridad basados en PSC (Programmable Security Code), contador de errores y bits de protección permanente.
La interfaz gráfica ofrece un panel de comandos APDU interactivo con validación en tiempo real y un sistema de registro completo de operaciones que facilita la depuración y el aprendizaje. La aplicación utiliza el lector ACR39U y permite tanto la simulación completa como la lectura y escritura de tarjetas físicas, habilitando un flujo de trabajo educativo seguro donde los estudiantes pueden experimentar libremente en un entorno virtual antes de trabajar con hardware real.
CardSIM está diseñada para minimizar los bloqueos de tarjetas mediante validaciones preventivas, advertencias claras sobre operaciones irreversibles y confirmaciones obligatorias en acciones críticas. Esto reduce significativamente los costos educativos y mejora la experiencia de aprendizaje de los estudiantes en el manejo de tarjetas inteligentes.
Abstract:
The Electronic Commerce course at ETSISI includes the study and programming of SmartCards, devices that incorporate complex protection mechanisms whose misunderstanding can cause permanent blocks. This project develops CardSIM, a Python desktop application that facilitates learning the functioning and protection mechanisms of SLE5528 and SLE5542 SmartCards.
The tool provides a complete and structured view of card contents with their different memory zones and access privileges, allows simultaneous work with multiple virtual cards before physical programming. The system implements a state machine that faithfully replicates the behavior of real cards, including their security mechanisms based on PSC (Programmable Security Code), error counter and permanent protection bits.
The graphical interface offers an interactive APDU command panel with realtime validation and a complete operation logging system that facilitates debugging and learning. The application uses the ACR39U reader and supports both complete simulation and physical card reading/writing, enabling a safe educational workflow where students can freely experiment in a virtual environment before working with real hardware.
CardSIM is designed to minimize card blocks through preventive validations, clear warnings about irreversible operations and mandatory confirmationson critical actions. This significantly reduces educational costs and improves students’ learning experience in handling smart card technology. Read More