I am trying to acquire the power traces from a smartcard when an operation is performed. The problem is when “rising edge” is selected as an option no power trace is displayed.
This is my setup on the victim board:
My software setup is as follows:
Scope Module: ChipWhisperer/OpenADC
Target Module: Smart Card
Trace Format: ChipWhisperer/Native
Reader Hardware: ChipWhisperer-SER
SmartCard Protocol: JCardTest
OpenADC–>Gain–>Setting: 35 OpenADC–>Trigger Setup–>Mode: Rising Edge CW Extra–>Clock Source: TargetIO-IN CW Extra–>Trigger Pins: Uncheck Front Panel A CW Extra–>Trigger Pins: Check Target IO4 (Trigger Line) OpenADC–>Clock Setup–>ADC Clock–>Source: EXTCLK x4 via DCM OpenADC–>Trigger Setup–>Total Samples: 5000
I have modified the JCardTest to look like this:
def go(self): status = self.hw.sendAPDU(0x00, 0xA4, 0x04, 0x00, [0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0x01, 0x01]) if status != 0x9000: raise IOError("Invalid Status: %x" % status) (resp, pay) = self.hw.sendAPDU(0x80, 0x01, 0x09, 0x09 , rxdatalen=18) if resp != 0x9000: raise IOError("Invalid Status: %x" % status) self.resp = pay print self.resp
Using that APDU the app on smartcard will display 18 b’s as you can see in the image the output is “66” which is B in Dec. I am getting the correct output from the smartcard. However, you can see there is no power trace. Do you know why no power trace is displayed and what can I do?