Re: [0/many] Acrypto - asynchronous crypto layer for linux kernel 2.6

Evgeniy Polyakov
2005-03-08T12:44:12Z

On Tue, 8 Mar 2005 07:22:01 -0500
Kyle Moffett <mrmacman_g4@mac.com> wrote:

> On Mar 08, 2005, at 04:37, Evgeniy Polyakov wrote:
> >>
> >> Did you include support for the new key/keyring infrastructure
> >> introduced a couple versions ago by David Howells? It allows
> >> user-space to create and manage various sorts of "keys" in
> >> kernel-space. If you create and register a few keytypes for
> >> various symmetric and asymmetric ciphers, you could then take
> >> advantage of its support for securely passing keys around in
> >> and out of userspace.
> >
> > As far as I know, it has different destination - for example
> > asynchronous block device, which uses acrypto in one of it's
> > filters, may use it.
>
> I'm not exactly familiar with asynchronous block device, but I'm
> guessing that it would need to get its crypto keys from the user
> somehow, no? If so, then the best way of managing them is via
> the key/keyring infrastructure. From the point of view of other
> kernel systems, it's basically a set of BLOB<=>task associations
> that supports a reasonable inheritance and permissions model.

Yes, it is exactly how block device, not crypto layer, may operate,
but it has very limited usage for block devices in given model,
when it only encrypts storage.

Above setup may be implemeted for the userspace/kernelspace application,
which requires continuous access to the key material from
the both sides, but asynchronous block device
(and existing cryptoloop and dm-crypt) use diferent model, when
controlling userspace application only one time provides
required key material(using ioctl) and exits, but key material
remains in kernelspace in device's private area.

> Cheers,
> Kyle Moffett
>
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCM/CS/IT/U d- s++: a18 C++++>$ UB/L/X/*++++(+)>$ P+++(++++)>$
> L++++(+++) E W++(+) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+
> PGP+++ t+(+++) 5 X R? tv-(--) b++++(++) DI+ D+ G e->++++$ h!*()>++$ r
> !y?(-)
> ------END GEEK CODE BLOCK------
>

Evgeniy Polyakov

Only failure makes us experts. -- Theo de Raadt