Hi all,

As you may or may not know, running the same VIFF program more than
once using the same set of player configuration files is insecure when
the runtime relies on pseudo-random secret sharing. This is the case
for e.g. the PassiveRuntime.

This is not a bug, but rather a consequence of the way in which we use
pseudo-random secret sharing. In order to maintain security, a new set
of player configuration files has to be generated for each run.

In some practical settings this turns out to be inconvenient. So we
recently added a changeset (1538:9d4f9551644c) that fixes this. It
means that one no longer has to use fresh configuration files for each
run. Instead, there's now a command line option called computation-id,

    python my_viff_program.py --computation-id=42 player-1.ini

When using runtimes based on pseudo-random secret sharing, like
PassiveRuntime, one can then safely reuse the configuration files as
long as the computation ids are unique. That is, for each run with a
given set of configuration files, the players should agree on a
computation id that has not been used before for that set of
configuration files.

A consequence of this is that the length of all program counters are
increased by one. This means that the data that needs to be sent
across the network increases a bit, but we expect it to have only
negligible impact on performance.

viff-devel mailing list (http://viff.dk/)

Reply via email to