Hi, Mirage now has nice features like TLS[1] and therefore needs a good source of randomness to generate session keys. Mirage VMs are PV, so we can’t use virtio-rng. We've created a prototype entropy server which may be of interest to other people too:
https://github.com/mirage/xentropyd This behaves a bit like xenconsoled: it watches for domains being created and then connects to them via the console protocol. There is a little handshake[2] (to catch accidental screwups with the wrong console) and then the daemon feeds random data into the console through a rate-limiter. Mirage’s entropy driver can read the data from the console fairly easily[3]. I assume we could write a similar thing for linux too. What do you think? (And does anyone know a better way (TM)?) The code is still a bit of a prototype, and contains slightly forked versions of core Mirage libraries-- I need to sort that out before a 1.0. Cheers, Dave [1] http://openmirage.org/blog/introducing-ocaml-tls [2] https://github.com/mirage/xentropyd/blob/master/doc/protocol.md [3] https://github.com/djs55/mirage-entropy/blob/981b070d78ae407015b1e8dedb3141b05454366f/xen/entropy_xen.ml#L130 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel