Implementation of a HCI based P2P APDU protocol(HWSW Group)

The increased usage of Secure Elements (SEs) in System on Chips asks for more flexible communication protocols between the SE and the single components of the chip. Nowadays, the communication between SEs and other system components is usually solved with a master-slave topology, in which the SE is the slave. This topology is simple, straight forward and well known to developers, but might not be future proof, as it is inflexible. The master-slave topology determines, how the component interprets received messages on the application layer. A well-known protocol in this layer is the APDU protocol. It allows the master to send commands and receive responses, and the slave to send responses and receive commands. To utilize this protocol, which is well established since many years, a peer to peer (P2P) APDU protocol, based on the Host Controller Interface (HCI) was designed. This method allows master and slave to send and receive both APDU commands and responses, transforming them into peers. This design was implemented into a system model, assessing its feasibility. To check, whether the timing estimation of the HCI based P2P APDU protocol is somewhat realistic, the protocol must be implemented using real chips. This implementation should be done within this project/thesis. The project / thesis will be conducted in cooperation with NXP Semiconductors Austria.

Download as PDF

Student Target Groups:

  • Master students in ICE, Computer Engineering ,or SD-BM

Thesis Type:

  • Seminar (Master) Project
  • Master Thesis

Goal:

The goal of this project/thesis is to implement the already designed HCI based P2P APDU protocol, using real hardware. The challenge will be to glue together the single protocols of the three different layers in the protocol stack, to achieve a P2P APDU message exchange. Furthermore, the designed protocol is still optimizable.

Tasks:

  • Get to know the HCI based P2P APDU protocol, and its communication stack. (Think about feasible optimizations).
  • Make a concept about how to implement the protocol on a given hardware (including found optimizations).
  • Implement the protocol and measure its performance.
  • Summarize your findings in a written report.

        Recommended Prior Knowledge:

        • C, Java

          Start:

          • a.s.a.p.

          Contact: