commit | 5d8b47d958b580357315d12a913b15b3ddbab9ee | [log] [tgz] |
---|---|---|
author | Ankur Taly <ataly@ataly-linux.mtv.corp.google.com> | Fri Jan 08 13:20:43 2016 -0800 |
committer | Ankur Taly <ataly@ataly-linux.mtv.corp.google.com> | Fri Jan 08 13:20:47 2016 -0800 |
tree | b409a574857390916f5ed02a214796c9ed8d33ef | |
parent | 1e2d389ca4b641c832fb7a96edb5566619f7ceb6 [diff] |
docs/proof": Strengthen authenticity property. The current formalization of the authentication protocol involves both the dialer and acceptor taking in the expected public key of the other end as an input, and then verifying that the blessings received during the protocol are for these public keys. This check is more of an "authorization" check and is not strictly needed for proving the authenticity property. This CL gets rid of the "expected public key" check from the acceptor thus allowing the acceptor to accept a connection from any dialer --- this is indeed the case in practice. (The dialer still retains the expected public key check, more on this below.) Now we change the authenticity property to say that if the acceptor accepts a connection with the dialer's public key then the dialer must have accepted a connection with the acceptor's public key, and vice versa. Note that we allow the acceptor to accept a connection with a public key different from the dialer (e.g., an attacker may open his own connection to the acceptor). The dialer still needs to perform the expected public key check in order to achieve the dialer privacy goal. Essentially, if the dialer does not employ a peer authorization check then it may reveal its blessings to the attacker. Change-Id: I05ba88813996ab630dcc80a3a3696020ea9a4607
Welcome to the Vanadium github repositories! Vanadium is an open source framework created by engineers at Google that is intended to make it much easier to develop secure, distributed applications that can run anywhere and everywhere. It provides:
We believe that the APIs should be well designed and stable and have taken pains to separate our APIs (v.io/v23) from all of our code that implements them. We provide a backwards compatibility guarantee for the APIs and have carried out usability testing on the APIs themselves.