ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Sat 7 Sep 2024 17:07 - 17:30 at Orange 2 - OCaml ecosystem and applications Chair(s): Pierre Chambart

Bob is an OCaml software that allows you to transfer a file from one person to another in a secure way. This software is called polyglot, meaning that the resulting executable can run on most systems, as well as on x86_64 and arm64 architectures. Thanks to the Cosmopolitan/APE project (for generating polyglot executables from C code) and Esperanto (a special OCaml toolchain using Cosmopolitan), it is possible to produce such a polyglot binary from OCaml code.

Bob also uses a cryptographic technique for secure exchange called SPAKE2+EE. The latter is implemented in OCaml and the implementer has taken care to describe certain axioms during the exchange between the peers and the relay via the OCaml type system and GADTs.

Finally, the relay that enables peer discovery is a unikernel, i.e. a mini operating system as a service that can only handle requests from Bob, thus drastically reducing the attack surface.

Paper (ocaml2024-paper4.pdf)123KiB

Sat 7 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change