Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Corrected links that should have been relative instead of absolute.

...

If we don't trust the network, we'll likely need heavy crypto, which is contrary to our performance goals.

Authentication Proposal

Performance is paramount, so we must ensure that authentication and access control mechanisms are efficient (in time and space).

Two isomorphic proposals work as follows:

  1. Clients authenticate with an authorization service and are returned a >= 64-bit secret.
    1. The secret is passed with each RPC. Masters verify the secrets with the authentication services and cache results in a hash table for speed.
  2. Clients authenticate with an authorization service, but are returned an encrypted or signed token that identifies their principal. The master can verify the self-certifying token and need not contact the authorization service itself.

Trade-offs between the two are size of the secret or tokens and the cost of crypto vs. a hash table lookup (the former may be very fast due to data being in cache and new SSE AES instructions, the latter will likely not miss the cpu cache due to a high level of temporal locality in accesses and a relatively small number of principals accessing each machine).

Protection Granularity

Two obvious choices:

...

  • We were skeptical that any proposed complicated model would be either useful or appropriate for most users. A simple model of having single principals authenticated with full access to a set of tables they own (i.e. like a full access user for each SQL database) would go a long way.
  • For the time being, we will punt access control and accounting and assume a trusted data center / single user model.

Interesting bits

  • BigTable apparently
    • has no delegation
    • does authentication with a Google campus-wide mechanism
    • showed read access permissions more important than write (secrecy valued over integrity)

Questions

  • What does Amazon S3 do?
  • Are our network security assumptions sound?