Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
- To what degree should security and access control be built into the RAMCloud system?
- What level of network security is needed?
- Should every packet be encrypted?
- Can assume that all packets originate and terminate with in the same datacenter
- This issue relates closely to the multi-tenancy issue: there may be applications from mutually-distrustful companies executing in the same datacenter.
-
- Individual server machine (but BFT too expensive)
- Should clients trust data servers?
-
- Servers could disclose private data to other clients in
multi-tenancy setting
-
- Servers could tamper with data
- Should data servers trust clients?
-
- Clients could request data they shouldn't be allowed to see
-
- One client could tamper with another's data
- One possible tool: crypto
-
- Clients can encrypt data before storing it (but still hard to get
any well-specified secrecy properties)
-
- Clients can use a MAC/signature to verify data, but hard to ensure
freshness.
-
- Servers could cryptographically authenticate requests, but expensive
-
-
- 1,280-bit Rabin-Williams: Sign in 1,515 usec, verify in 10 usec
-
-
- 2,048-bit esign: Sign in 67 usec (20 usec if precompute), verify
in 33 usec
-
-
- AES block 150 nsec (mildly optimized C++ code)
-
-
- AES Needham-Schroeder-like protocol 600 nsec
-
-
- Sustained CBC encryption (CMAC should be similar) ~100 MB/sec
-
-
- Poly1305/AES appears to require about 2 usec to verify 256-byte msg
- Suggests we need to do security in the network for performance
-
- Organize network topology so that addresses cannot be forged and
authenticate based on addresses
-
- Can possibly change bindings at medium-term scale
- What access control should be enforced?
-
- Probably want access control based on structure of keys. E.g.,
keys could be <application-id, opaque-bits>, where each
application-id has an ACL of addresses allowed access.
-
-
- But that makes it hard to change permissions at a fine granularity
-
- Might also want delegation--I.e., this third party app can read or
write some of my facebook settings, but this seems much harder to
do without cryptography.
-
- Also, quotas probably very important in multi-tenancy situation
-
-
- Limit amount of space, number of queries, etc.
-
-
- When customer goes away, need to delete all of its data--or
possibly archive somewhere then delete.