diff --git a/fault_injection/configs/test.yaml b/fault_injection/configs/test.yaml new file mode 100644 index 000000000..51eb675a3 --- /dev/null +++ b/fault_injection/configs/test.yaml @@ -0,0 +1,58 @@ +target: + target_type: chip + fw_bin: "../objs/chip_pen_test_fi_silicon_owner_sival_rom_ext.img" + target_clk_mult: 1 + target_freq: 100000000 + baudrate: 115200 + output_len_bytes: 16 + protocol: "ujson" + port: "/dev/ttyUSB1" + # Trigger source. + # hw: Precise, hardware-generated trigger - FPGA only. + # sw: Fully software-controlled trigger. + trigger: "sw" + usb_serial: "205F355C3236" +fisetup: + fi_gear: "dummy" + fi_type: "voltage_glitch" + # Parameter generation. + parameter_generation: "random" + # Number of randomized iterations for the parameter sweep. + # For parameter_generation: "random", this is the number of iterations. + # For parameter_generation: "deterministic", this is the number of iterations + # per fixed parameter. + num_iterations: 100 + # Voltage glitch width in ns. + glitch_voltage_min: 2.7 + glitch_voltage_max: 3.3 + glitch_voltage_step: 0.05 + # Voltage glitch width in ns. + glitch_width_min: 5 + glitch_width_max: 150 + glitch_width_step: 3 + # Range for trigger delay in ns. + trigger_delay_min: 0 + trigger_delay_max: 500 + trigger_step: 10 +fiproject: + # Project database type and memory threshold. + project_db: "ot_fi_project" + project_mem_threshold: 10000 + # Store FI plot. + show_plot: True + num_plots: 100 + plot_x_axis: "glitch_voltage" + plot_x_axis_legend: "[V]" + plot_y_axis: "glitch_width" + plot_y_axis_legend: "[ns]" +test: + # which_test: "crypto_aes_key" + # which_test: "crypto_aes_plaintext" + which_test: "crypto_aes_encrypt" + # which_test: "crypto_fi_aes_ciphertext" + expected_result: '{"ciphertext":[141,145,88,155,234,129,16,92,221,12,69,21,69,208,99,12],"alerts":0,"err_status":0}' + # Set to true if the test should ignore alerts returned by the test. As the + # alert handler on the device could sometime fire alerts that are not + # related to the FI, ignoring is by default set to true. A manual analysis + # still can be performed as the alerts are stored in the database. + ignore_alerts: True