History

[PATCH] selinux: add hooks for key subsystem

Introduce SELinux hooks to support the access key retention subsystem within the kernel. Incorporate new flask headers from a modified version of the SELinux reference policy, with support for the new security class representing retained keys. Extend the "key_alloc" security hook with a task parameter representing the intended ownership context for the key being allocated. Attach security information to root's default keyrings within the SELinux initialization routine. Has passed David's testsuite.

Michael LeMay committed 20 years ago

Commit d7200241 parent f893afb16 files · +155 −27Browse files

Showing the changes to Documentation (1 of 16 files). Show all

Unified · Split

Documentation/keys.txt+29−0
@@ -19,6 +19,7 @@ This document has the following sections: · 18 unmodified lines
1919 - Key overview
2020 - Key service overview
2121 - Key access permissions
22+ - SELinux support
2223 - New procfs files
2324 - Userspace system call interface
2425 - Kernel services
@@ -232,6 +233,34 @@ For changing the ownership, group ID or permissions mask, being the owner of · 207 unmodified lines
232233 the key or having the sysadmin capability is sufficient.
233234
234235
236+===============
237+SELINUX SUPPORT
238+===============
239+
240+The security class "key" has been added to SELinux so that mandatory access
241+controls can be applied to keys created within various contexts. This support
242+is preliminary, and is likely to change quite significantly in the near future.
243+Currently, all of the basic permissions explained above are provided in SELinux
244+as well; SE Linux is simply invoked after all basic permission checks have been
245+performed.
246+
247+Each key is labeled with the same context as the task to which it belongs.
248+Typically, this is the same task that was running when the key was created.
249+The default keyrings are handled differently, but in a way that is very
250+intuitive:
251+
252+ (*) The user and user session keyrings that are created when the user logs in
253+ are currently labeled with the context of the login manager.
254+
255+ (*) The keyrings associated with new threads are each labeled with the context
256+ of their associated thread, and both session and process keyrings are
257+ handled similarly.
258+
259+Note, however, that the default keyrings associated with the root user are
260+labeled with the default kernel context, since they are created early in the
261+boot process, before root has a chance to log in.
262+
263+
235264 ================
236265 NEW PROCFS FILES
237266 ================