[PATCH] implement in-kernel keys & keyring management

From: David Howells
Date: Fri Aug 06 2004 - 19:33:14 EST



Hi Linus, Andrew,

I've made available a patch that does a better job of key and keyring
management for authentication, cryptography, etc.. I've added a good bit of
documentation and I've commented the code more thoroughly.

The patch can be found at:

http://people.redhat.com/~dhowells/keys/keys-268rc2.diff.bz2

Signed-Off-By: David Howells <dhowells@xxxxxxxxxx>

The documentation is patched into Documentation/keys.txt.


The feature set the patch includes:

- Key attributes:
- Key type
- Description (by which a key of a particular type can be selected)
- Payload
- UID, GID and permissions mask
- Expiry time
- Keyrings (just a type of key that holds links to other keys)
- User-defined keys
- Key revokation
- Access controls
- Per user key-count and key-memory consumption quota
- Three std keyrings per task: per-thread, per-process, session
- Two std keyrings per user: per-user and default-user-session
- prctl() functions for key and keyring creation and management
- Kernel interfaces for filesystem, blockdev, net stack access
- JIT key creation by usermode helper

There are also two utility programs available:

(*) http://people.redhat.com/~dhowells/keys/keyctl.c

A comprehensive key management tool, permitting all the interfaces
available to userspace to be exercised.

(*) http://people.redhat.com/~dhowells/keys/request-key

An example shell script (to be installed in /sbin) for instantiating a
key.

David
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/