The entropic principle: dev u?random and NetBSD - Taylor R Campbell
Channel: EuroBSDcon
Date: 2019-10-14

Abstract:

Programs that talk over the internet today require unpredictable secrets to thwart passive eavesdroppers and active men-in-the-middle.Unix folklore teaches that programs must acquire these secrets from a beast called `entropy’ in the pantheon of information theory, who lives in /dev/random, and that in neighbouring /dev/urandom lives only a false idol. The truth, however, is not so mystical.I will discuss what /dev/random and /dev/urandom actually mean, what applications actually need, and how they should attain it. I will also discuss the implementation of /dev/u?random in NetBSD and the kernel’s cryptographic pseudorandom number generation API.

Speaker biography:

Taylor `Riastradh’ Campbell is not a cryptographer, but has spent enough time scrutinizing crypto in the software he relies on to notice when it’s done wrong. In 2011, Taylor found what may be Colin Percival’s most embarrassing bug when he noticed the two missing characters `++’ to increment the AES-CTR nonce in Tarsnap leading to reused — and thereby decidedly predictable — key streams. Taylor became afflicted with a NetBSD commit bit later in 2011 for unrelated reasons, and has since participated in rototilling the NetBSD kernel entropy subsystem.