summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hurd/authentication.mdwn17
1 files changed, 17 insertions, 0 deletions
diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn
new file mode 100644
index 00000000..0d52a0ba
--- /dev/null
+++ b/hurd/authentication.mdwn
@@ -0,0 +1,17 @@
+UIDs on the Hurd are separate from processes. A process has
+[[capabilities]] designating so-called UID vectors that
+are implemented by an [[auth]] server. This
+makes them easily [[virtualizable]].
+
+When a process wishes to gain access to a resource provided by a third
+party (e.g., a file system) and that party wishes to authenticate the client
+so as to implement some identity-based access control ([[IBAC]]) policy,
+the latter initiates a three-way authentication handshake. The server
+and client each then begin an authentication sequence with
+their respective [[trust]]ed auth servers. If they have
+a mutally trusted ancestor and an auth server does not abort the
+transaction, then the client is delivered a new capability
+naming a newly authenticated session with the server
+and the server is delivered the client's designated UID vector.
+
+For more details, see section 2.3 of the [[HurdCritique]].