Skip to the content
2 layers87.6 × 72.6 mmCw isolator powered, the printed circuit board in 3D

Resources to demonstrate phase modulation leakage including over JTAG

Size
87.6 × 72.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
68
Nets
70
Pads
274
Tracks, vias
465, 66
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
11 Apr 2024
Updated
10 Sep 2024

Overview

Cw isolator powered is an open-source printed circuit board by colinoflynn, from the colinoflynn/phase-modulation-sca repository on GitHub. It is a 2-layer board of 87.6 × 72.6 mm with 68 parts on 70 nets, routed with 465 tracks and 66 vias.

It is built around the ADE-1+, TBA 1-0511E and BSS138, with the FDN340P among its other parts. Its parts include 28 resistors, 19 capacitors, 10 connectors, 5 ICs and 2 diodes. It belongs with the interfaces and adapters boards of this library.

Main components

4

README

README.md

Phase Moducation Side Channel Analysis and JTAG Attacks

This repository is a companion for the T-CHES Paper "Phase Modulation Side Channels: Jittery JTAG for On-Chip Voltage Measurements". You can see a current version on the T-CHES Server.

If referencing the paper, please reference the T-CHES publication. As the Volume 4 is not fully published, the following can be used until the full reference is available:

text
@article{PhaseModulationCO24,
     author=  {Colin O'Flynn},
     title =  {Phase Modulation Side Channels: Jittery JTAG for On-Chip Voltage Measurements},
     volume=  {2024},
     url   =  {https://tches.iacr.org/index.php/TCHES/article/view/11797},
     DOI   =  {10.46586/tches.v2024.i4.382-424},
     number=  {4},
     journal= {IACR Transactions on Cryptographic Hardware and Embedded Systems},
     year  =  {2024},
     month =  {Sep.},
     pages =  {382–424} }

What's this Paper About?

The following is a very brief summary of the above paper:

Phase Modulation Measurements

At CHES 2023, a paper entitled JitSCA was presented. This paper presented the idea that because the propogation delay through a digital device depends on the voltage, a signal (such as a clock) transmitted from a digital device actually encodes in the "jitter" of that clock the voltage supply.

The paper in this repo expands on this to first demonstrate that we could call that a simple phase modulation. A demonstration board using isolators (both optical & ic-based are tested) is setup, which looks like this:

The point of this is that all analog signals (should) be removed, leaving only the timing (phase) information (NB: note similar tests were done in the JitSCA work, there are some extensions but this section is primarily confirming the prior work). Because this is all done using the ChipWhisperer hardware, we can easily compare a classic shunt-based measurement (using a normal analog signal) with our phase-based measurement (after the optical isolators). The top waveforms (in green) are using the optical isolator board, the bottom waveforms (in blue) are with a shunt resistor and ADC.

Visually it looks shockingly similar! The phase measurement based test only has optically isolated digital signals. In the paper I described a lot of comparisons done to confirm the leakage is present (and to also compare to prior I/O-pin leakage work).

It is also successful for a CPA attack, being only slightly noisier. You could use any clock source from the device, such as an uSD card SCLK line as the jitter source. But we can go further:

JTAG Side Channel Measurements

The second part of the paper includes another idea: if we can use digital paths for side channels, why not use JTAG? JTAG contains a "bypass mode", which if we enable bypass mode lets us route a clock across the target. The setup is something like this:

Here is an example of a side channel trace measured with a JTAG port, again compared to the same target using a shunt resistor:

This has a few interesting results:

  1. The JTAG port is often exposed, and it means an attacker doesn't need analog probes, just digital signals.
  2. Many devices leave some JTAG functionality enabled - while debug and flash access (should) be turned off, boundary scan mode is often left on. Only certain devices even allow you to fully disable JTAG, on many devices it is always available.
  3. The JTAG port can run a lot faster than the datasheet suggests, meaning you get pretty good sample rates.

JTAG Fault Sensitivity Analysis

Another variation of this uses something called "fault sensitivity analysis". In this case we actually use the fact that if we adjust the timing of our signals such that faults are "about" to occur, we can measure the liklihood of faults at a given instance of time to again create analog (power-like) waveforms.

This is noisier and takes more traces, as you basically have a 1-bit ADC. But again, it is suprisingly effective.

What's in the Repository?

The repository is a companion to the paper, and also includes all the code as well as hardware designs for the tools used.

More details of building the tools is forthcoming, but see the details in the paper for now.

Parts

68
QtyValueFootprintReferences
121RResistor_SMD:R_0603_1608MetricR3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14
8100nResistor_SMD:R_0603_1608MetricC4, C6, C7, C10, C11, C12, C13, C16
62u2Resistor_SMD:R_0603_1608MetricC2, C3, C5, C9, C14, C15
5DNMResistor_SMD:R_0603_1608MetricR16, R20, R21, R22, R24
4SMAConnector_Coaxial:SMA_Molex_73251-1153_EdgeMount_HorizontalJ7, J8, J9, J10
310KResistor_SMD:R_0603_1608MetricR17, R18, R23
310nResistor_SMD:R_0603_1608MetricC17, C18, C19
21KResistor_SMD:R_0603_1608MetricR19, R28
222u/16VCapacitor_SMD:C_0805_2012MetricC1, C8
251RResistor_SMD:R_0603_1608MetricR26, R27
25K1Resistor_SMD:R_0603_1608MetricR1, R2
2Conn_02x03_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ5, J6
2Conn_02x10_Odd_EvenConnector_IDC:IDC-Header_2x10_P2.54mm_VerticalJ3, J4
2LInductor_SMD:L_0805_2012MetricL1, L2
2MAX22164FAEE+TPackage_SO:SSOP-16_3.9x4.9mm_P0.635mmIC1, IC2
1100RResistor_SMD:R_0603_1608MetricR29
1200RResistor_SMD:R_0603_1608MetricR15
1ADE-1+RF_Mini-Circuits:Mini-Circuits_CD542_LandPatternPL-052U3
1BSS138Package_TO_SOT_SMD:SOT-23Q1
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1FDN340PPackage_TO_SOT_SMD:SOT-23Q2
1LD1117S33TR_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1LEDLED_THT:LED_D3.0mmD2
1LEDLED_THT:LED_D5.0mmD1
1TBA1-0511EConverter_DCDC:Converter_DCDC_TRACO_TBA1-xxxxE_Single_THTU1
1USB_C_Receptacle_PowerOnly_6PConnector_USB:USB_C_Receptacle_GCT_USB4125-xx-x_6P_TopMnt_HorizontalJ2

More from colinoflynn/phase-modulation-sca

3
  • 2 layers55.1 × 112.5 mmCw optics cwside, the printed circuit board in 3D

    Cw optics cwside

    colinoflynn/phase-modulation-sca

    Resources to demonstrate phase modulation leakage including over JTAG

    44 parts8
  • 2 layers55.1 × 98.8 mmCw optics targetside, the printed circuit board in 3D

    Cw optics targetside

    colinoflynn/phase-modulation-sca

    Resources to demonstrate phase modulation leakage including over JTAG

    40 parts8
  • 2 layers82.8 × 46.5 mmJtag mixer, the printed circuit board in 3D

    Jtag mixer

    colinoflynn/phase-modulation-sca

    Resources to demonstrate phase modulation leakage including over JTAG

    27 parts8

Similar boards

  • 4 layers54.3 × 76.1 mmPhase interferometer, the printed circuit board in 3D

    Phase interferometer

    mpkendall/phase-interferometer

    A 2(or more)-element phase interferometric direction finder for 433 MHz using a passive phased array

    78 parts3
  • 4 layers99.7 × 99.7 mmDiode tayloe sdr, the printed circuit board in 3D

    Diode tayloe sdr

    SomethingFourier/SDR-Receiver

    Super Heterodyne Direct Conversion Hybrid I/Q SDR Receiver

    279 parts3
  • 4 layers96 × 90.2 mmTransceiver, the printed circuit board in 3D

    Transceiver

    ngrabbs/ember

    Open pvpanel.kicadpro with KiCad 10. The project contains the recovered schematic, routed PCB, project-local footprint libraries, and solar-module STEP model.

    161 parts1CC0-1.0
  • 4 layers74.4 × 57.3 mmMts demod, the printed circuit board in 3D

    Mts demod

    mahdi-kh1265/mts-electronics

    Analog RF, photodetector, and demodulation electronics for POSM's modulation-transfer spectroscopy (MTS) laser-locking system.

    90 partsMIT
  • 2 layers26.2 × 25.8 mmMixer, the printed circuit board in 3D

    Mixer

    kholia/ConsensusBasedTimeSync

    A portable, efficient, passive, consensus based (relative) time synchronization mechanism over radio waves. Cost-effective radio receivers too!

    8 parts7
  • 2 layers74 × 83.8 mmPCB Board, the printed circuit board in 3D

    PCB Board

    RunningJoke/reactionButton

    ReactPod: ESP32-C3 reaction buzzers – firmware, Config App (PWA), tools, hardware

    70 parts
  • 2 layers136.9 × 75.8 mmBrewnode PCB, the printed circuit board in 3D

    Brewnode PCB

    Tobbisch/Brewnode

    PCB Cheap IO node for taking in values to a Siemens PLC

    87 partsGPL-3.0
  • 10 layers224.5 × 160 mmHaasoscope pro adc fpga board, the printed circuit board in 3D

    Haasoscope pro adc fpga board

    drandyhaas/HaasoscopePro

    Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB real-time oscilloscope

    586 parts485MIT

Questions

How big is the Cw isolator powered PCB?

It measures 87.6 × 72.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Cw isolator powered use?

68 parts, built around the ADE-1+, TBA 1-0511E, BSS138 and FDN340P. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Cw isolator powered KiCad files?

From the colinoflynn/phase-modulation-sca repository on GitHub, at the commit this page was made from: the board is hardware_tools/cw_isolator_powered/cw_isolator_powered.kicad_pcb and its schematic hardware_tools/cw_isolator_powered/cw_isolator_powered.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Cw isolator powered design in my own project?

Its repository states no licence, so its author keeps all rights: ask colinoflynn before reusing the design.