·10 min read·Automotive Ramblings
Rooting the Cadillac Part 3: Infineon EMI Power Side Channels
In part 2 I said we could “Think Really Fast” to get SecOC frames.
Well, TLDR if it wasn’t obvious. I was referring to EMI based power side channels.
It didn’t work. I didn’t get the key :(
But still, a negative result is still a significant result.
The idea
Transistors, clocks, and other traces emit EMI which we can pick up in the open air. So, the theory is that we can ‘pull’ AES keys out of the air simply by looking at the EMI emissions of a target.
My target is the Infineon Tricore TC3xx series of MCUs. These are used on a variety of boards, not just in GM but across OEMs. These are complex MCUs, and have many internal components within their module and of course printed on silicon. Each of these generates its own EMI signature.

‘Where’ a given chip actually emits its EMI is also a complex subject. I.e. the HSM’s EMI may not be from the transistors themselves, but simply from their effect on the clock cycle and power draw… So the location of the noisiest signal can be in a different spot from what produced it… Especially if you are trying to just stick a giant probe over it like I am.
The Infineon Tricore TC3xx series in particular is special. It has an HSM, but its HSM shares a different architecture and notably operates on a different clock cycle. Its HSM is actually an ARM Cortex M series, printed on the silicon. The ARM Cortex M itself has been modified to support a dedicated AES Accelerator.
That AES Accelerator implements AES-CMAC, which is what is used to both sign and validate SecOC CAN frames, and others.
In other words, our target is not the Tricore ‘Cores’ and not the ARM Cortex HSM, but rather the AES Accelerator of unknown origin… But presumably it is of Infineon design.
Why?

That’s a wall of comma devices running openpilot, open source driver assistance that already works on a lot of cars. If you can get the key to leak from EMI, then you can get openpilot to work on modern cars. Not just GM, but Toyota, Honda, Ford, and anyone else who implements a SecOC derivation in the future.
That’s it. That’s the whole motivation :).
The Target Boards
I have a few candidate boards. Each uses an Infineon Tricore CPU.


The bench
The setup for this is a NewAE 15mm probe, a Rigol Oscilloscope, and a NewAE LNA (low noise amplifier).

15mm is massive for a chip this size, so I divided it into regions based on a numpad system. I.e. position 5 (over the silicon) is the direct center.
That’s absolutely brutal placement, but 15mm is what I have to work with. p5 and p9 were the best positions, and that judgement was made entirely by feel. p7 is the most noisy.
One Trace

Most power side channel analyses use unrealistic scenarios such as programming a target chip to loop infinitely and calculate some AES value (which could be thousands of operations a second).
My approach is to instead send a single SecOC frame (or more accurately… wait on a SecOC frame) and observe the result naturally. While this means traces are much slower, it requires 0 exploitation. You just trigger the AES-CMAC operation however you can, and on a vehicle component that is always going to be a CAN Frame.
So, the scope triggers on the CAN SOF. The trace is then downloaded to a computer where it is stored for later processing.
Finding AES-CMAC


The wide trace is simply too much data, so we narrow it down by finding an ‘anchor’ (basically a surge in power). This usually occurs after a CAN frame has arrived in a mailbox, and a future task schedule picks it up.
Because it uses a task scheduler and mailbox, we have the unfortunate situation where the EOF to Anchor is not actually consistent (which is why we align on the anchor). Still, it follows a nice range.
What about clock synchronization?
Normally power side channel analysis will sync to a clock cycle (this is what the iconic chipwhisperer does). Instead of doing this, I just oversampled at 2GS/s (and fix it in post).
Where is AES CMAC?


The 300MHz band line is the only real indicator of HSM work I got in my data. Prior to the identified anchor we see some activity (likely some task scheduling in an RTOS), a spike in processing, and then back to idle.
Is the 300MHz activity the HSM? Probably. It’s really the best I’m going for here…. Removing the die and taking pictures could possibly help identify it but look man I’m working blind here.
Where is my key?
Diving deep into what is ‘probably’ the AES accelerator… It’s just noise.

To be very clear, I threw everything under the sun at the data. Nothing came out. I even varied the key, and nada.
Plaintext Leakage
What DOES LEAK is the plaintext handling by the tricore cores. In fact this is quite loud, and doesn’t take much effort at all to extract.


This isn’t a surprising result, but it’s nice to see it confirms the setup.
Where this leaves things
I believe the problem is the AES accelerator is simply too fast and surrounded by too much noise to lead to a leak at my scale. I don’t think the accelerator is in any particular way hardened or truly constant time (but without engineering notes, I could be wrong).
A smaller probe ‘could’ filter it down further and decrease noise, but this is not proven. Unfortunately, 15mm is all I had on hand and I can’t budget creation of a smaller probe right now.
I also have yet to do this same technique on the RH850x series, which is something I intend to do next if there is time. The RH850x is another common automotive microcontroller.
Try your luck!
While I did not succeed, I built a large dataset of traces which you can analyze yourself, at home. The dataset tells you a payload, and the corresponding AES-CMAC key. Good luck!
https://huggingface.co/datasets/SnipesySpecial/tricore-secoc-emi-traces
110,717 captures across probe positions 5, 6, 8 and 9, two keys, 207 GB. P6 and P8 were a second campaign under a second key, same setup. Every trace comes with the frame on the wire, the freshness, and the key that verified it.
Prior work
- Katsumi Ebina, Rei Ueno, Naofumi Homma. Side-Channel Analysis Against SecOC-Compliant AES-CMAC. IEEE TCAS-II, 2023.
- Takaya Kubota et al. A Side-Channel Attack Method against Truncated MAC. CHES 2018 poster.
- Deep learning side-channel attack against hardware implementations of AES. Microprocessors and Microsystems, 2020.
- Yoo-Seung Won, Shivam Bhasin. On Use of Deep Learning for Side Channel Evaluation of Black Box Hardware AES Engine. 2021.
- Ruize Wang, Huanyu Wang, Elena Dubrova. Far Field EM Side-Channel Attack on AES Using Deep Learning. ASHES 2020.
- Virtual Triggering: a Technique to Segment Cryptographic Processes in Side Channel Traces. 2022.
- Revisiting a Realistic EM Side-Channel Attack on a Complex Modern SoC. IACR ePrint 2024/1322.
- SCATTER: A New Dimension in Side-Channel. IACR ePrint 2017/706.
- Infineon. AURIX Security Solutions.
- AUTOSAR. Specification of Secure Onboard Communication Protocol, FO R20-11.
Disclaimer
Posts in this category are my personal commentary and independent research. They are not official Surreal Development guidance, and they do not represent the views of any current corporation. Nothing here is a support recommendation for Gretio or any other product. If you act on it, you’re doing so at your own risk.