bengler / checkpoint

Centralized identity store and authentication broker for web applications. It supports a number of authentication mechanisms and is provided via a http-interface.
MIT License
31 stars 2 forks source link

PSM discussion #2

Open thomax opened 12 years ago

thomax commented 12 years ago

Just some thoughts on PSM

Pebbles Security Model

PSM implementation and organization within checkpoint sounds very good! I'm a little unsure about two points:

1. Data propagation

Using the river for the propagation of access_group_locations data to every pebble which needs access control sounds a bit wobbly. Queuing is fast, but checkpoint will have no guarantee that access updates reach the purveyor of the data.

Say Alice creates a public post in Grove. Then, two minutes later, she realizes that the post must not be readable by all on the Internets. She then tells checkpoint to constrain readability to a certain access_group. Checkpoint then bottles the chmod-like message and puts it in the river. And forgets about it. There is no handshake involved between Checkpoint and Grove, so Sally has no guarantee that the new restriction is in place in Grove. It will most likely be, but she will have to sweat it out and just pray that the gods of queueing and caching are on her side :-)

2. One mirror for every pebble

I probably don't see the whole picture here, but it sounds a bit on the heavy side to have code and persistence in place in all pebbles in order to handle access restrictions. Will usage between pebbles really be that different? Won't it mostly be: What can Bob do with stuff in path a.b.c?

How about this instead...

This solution has the following benefits:

One problem with this solution, though: