eurecom-s3 / screaming_channels Goto Github PK
View Code? Open in Web Editor NEWRadio Side-Channels in Mixed-Signal Chips
Home Page: https://eurecom-s3.github.io/screaming_channels/
License: GNU General Public License v3.0
Radio Side-Channels in Mixed-Signal Chips
Home Page: https://eurecom-s3.github.io/screaming_channels/
License: GNU General Public License v3.0
Hello, I am trying to reproduce your work in nordic nrf52840 pca10056, with a HackRF SDR. I made two nrf52840 bluetooth chips communicate with each other on a fixed 2.404GHz channel, and tried to get the leak situation illustrated in Figure 12 in your article, but nothing was found on the leaky frequency band mentioned in your article, which is 4.868Ghz=2*2.402Ghz+64Mhz.
In addition, when I observed the Bluetooth communication waveform, I found that the available frequency of each channel is very wide (22Mhz), so I also wonder how you got a sharp spike image on the frequency map.
I will be very grateful if you can answer my questions, thank you!
Dear Sir,
I am trying to replicate your experiment on nRF52832 board using USRP B210. I am successful in compiling till the 'setup.py' but I am unable to run sc-experiment. It is showing the following errors:
mtlab@mtlab:~/nordic/screaming_channels-master/experiments/src$ sc-experiment --radio=USRP --device=/dev/ttyACM0 collect config/example_collection_plot.json ../traces/ --plot
linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown
Traceback (most recent call last):
File "/home/mtlab/.local/bin/sc-experiment", line 11, in
load_entry_point('ScreamingChannels==1.0', 'console_scripts', 'sc-experiment')()
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2693, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2324, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2330, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/home/mtlab/.local/lib/python2.7/site-packages/ScreamingChannels-1.0-py2.7.egg/screamingchannels/reproduce.py", line 431, in
@click.argument("output_file", click.File(mode='w'))
File "/home/mtlab/.local/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/decorators.py", line 151, in decorator
_param_memo(f, ArgumentClass(param_decls, **attrs))
File "/home/mtlab/.local/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 1808, in init
Parameter.init(self, param_decls, required=required, **attrs)
File "/home/mtlab/.local/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 1338, in init
self._parse_decls(param_decls or (), expose_value)
File "/home/mtlab/.local/lib/python2.7/site-packages/Click-7.0-py2.7.egg/click/core.py", line 1841, in _parse_decls
'parameter declaration, got %d' % len(decls))
TypeError: Arguments take exactly one parameter declaration, got 2
mtlab@mtlab:~/nordic/screaming_channels-master/experiments/src$
I am unable to rectify and solve this issue please tell me solution.
Thank you
Hello,
Sorry to bother you again😂, but I'm in trouble again when I followed the instructions on your website ( https://eurecom-s3.github.io/screaming_channels/#TheSimplestExperiment ).
I cannot observe the obvious AES encryption curve around 2.464Ghz in your figure (above). Instead, all that I can see was a bunch of chaotic curves when I use the 'n' command in the UART menu and run AES encryptions. I tried different power but it didn't work, too. My result is shown below:
Specifically, I used hackrf as the radio receiver, and the development board used was nRF52840 with PCA10056, and my hackrf antenna is about 5cm away from the Bluetooth module. Firmware D was adopted. I am very curious how you got such an obvious AES encryption curve😭... Is the software of the SDR not set correctly or is it the problem of my hardware setting?
I will be very grateful if you can answer my questions, thank you!
Sorry to bother you again.
We have some little trouble when doing the step of 'Configure Trace Collection'. According to your experiment's results, we should be able to see an obivious AES trace in the figure. However, we can just get the fig shown as above.
As you can see, the first subplot is quite different from the right one, and the average of 100 traces is wrong too.
I would be grateful if you can help to solve this problem.
Thank you!
Hi,
I have tried with different values of drop_start, trigger_offset, bandpass_lower, and bandpass_upper
I get the following error often:
[ERROR] [STREAMER] recv packet demuxer unexpected sid 0xfea3fe1c
[ERROR] [STREAMER] recv packet demuxer unexpected sid 0xce016f
[ERROR] [STREAMER] recv packet demuxer unexpected sid 0xfe32fe8f
Traceback (most recent call last):
File "/home/mtlab/.local/bin/sc-experiment", line 11, in <module>
load_entry_point('ScreamingChannels==1.0', 'console_scripts', 'sc-experiment')()
File "/home/mtlab/.local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/mtlab/.local/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/mtlab/.local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/mtlab/.local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/mtlab/.local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/ScreamingChannels-1.0-py2.7.egg/screamingchannels/reproduce.py", line 377, in collect
trace = analyze.extract(OUTFILE, collection_config, average_out, plot)
File "/usr/local/lib/python2.7/dist-packages/ScreamingChannels-1.0-py2.7.egg/screamingchannels/analyze.py", line 106, in extract
assert len(data) != 0, "ERROR, empty data after drop_start"
AssertionError: ERROR, empty data after drop_start
I am using USRPB210 with a Wi-Fi antenna at a distance of 5cm.
The maximum number of traces I could collect was 450 (only once).
Regards
Ateet
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.