SLIDE 1
Extremely Secure Communication Daniel Romo - daniel.romao@os3.nl - - PowerPoint PPT Presentation
Extremely Secure Communication Daniel Romo - daniel.romao@os3.nl - - PowerPoint PPT Presentation
Extremely Secure Communication Daniel Romo - daniel.romao@os3.nl Oil Company Oil Company What (almost) everyone knows: NSA collects traffic Confidential data can be compromised Backdoors in encryption-related software and hardware make it
SLIDE 2
SLIDE 3
SLIDE 4
Oil Company
SLIDE 5
Oil Company
SLIDE 6
What (almost) everyone knows: NSA collects traffic Confidential data can be compromised Backdoors in encryption-related software and hardware make it easier
SLIDE 7
Research Question How can an extremely secure communication
- n the Internet be deployed for work teams and
individuals around the globe?
SLIDE 8
What can we do?
1 - Avoid possible backdoors on RNGs
➢ Use a verifiable HRNG to improve the kernel entropy pool
2 - Avoid having all data going over a single link
SLIDE 9
What can we do?
1 - Avoid possible backdoors on RNGs
➢ Use a verifiable HRNG to improve the kernel entropy pool
2 - Avoid having all data going over a single link
SLIDE 10
What can we do?
1 - Avoid possible backdoors on RNGs
➢ Use a verifiable HRNG to improve the kernel entropy pool
2 - Avoid having all data going over a single link
➢ Use a multipoint VPN!
SLIDE 11
Hardware Random Number Generator
- Multiple devices exist, mostly closed source
○ Big price differences
- Ongoing discussion on noise sources
○ PN junctions, RF noise, clock drift, thermal noise...
SLIDE 12
What if we implement a HRNG that is verifiable and has multiple noise sources?
SLIDE 13
HRNG - Related Work
- Rob Seward implemented a basic HRNG on
Arduino using a single PN junction
○ Calibration on startup ○ XOR and Von Neumann filtering ○ Serial interface for output
SLIDE 14
http://holdenc.altervista.org/avalanche/images/noise.png http://robseward.com/misc/RNG2/RNG_Version_2_images/rng2_circuit_small.png
SLIDE 15
HRNG Implemented
- Extension of the previous work
○ Multiple noise sources ○ Continuous calibration ○ Second serial interface for logging ○ Raw byte output mode for rng-tools
SLIDE 16
SLIDE 17
SLIDE 18
SLIDE 19
HRNG Testing
- Ent
○ Entropy, Optimum compression, Chi square, Arithmetic mean, Monte Carlo Pi, Serial correlation
- RNGtest
○ FIPS-140-2 test ○ To test cryptographic modules for use by the United States federal government
SLIDE 20
SLIDE 21
Ent results Sample size: 2504 bytes
SLIDE 22
Ent results Sample size: 512Kb
SLIDE 23
RNGtest results Sample size: 512Kb
SLIDE 24
Multipoint VPN
- DMVPN
○ Cisco technology ○ Open source implementation exists: OpenNHRP ○ IPSec ○ Hub (server), Spokes (clients)
SLIDE 25
Operating System
- Tails Linux
○ Open source operating system ○ Aimed at privacy and anonymity on the Internet ○ Only traffic over Tor and I2P networks can go ○ Always boots from a clean install state
SLIDE 26
SLIDE 27
How to deploy the DMVPN spoke software on Tails?
SLIDE 28
Conclusion
- HRNG and a Tails DMVPN spoke integrate well
with each other
- Jitter-based noise generator has very low
throughput
- Dual oscillator without filtering was overall the
setting with best performance
SLIDE 29
Future Work
- More experiments with the HRNG
○ Other noise sources and filtering ○ Faster microcontroller
- Optimization of the configuration
SLIDE 30
Thank you!
Go get it: https://github.com/dromao/arduino-rng
https://github.com/dromao/dmvpn-spoke
Pictures without source are under the CC0 Public Domain license