On Fri, Jan 7, 2011 at 2:04 PM, Neil Horman <nhorman@xxxxxxxxxxxxx> wrote: >> Btw, it doesn't have to be about performance per se. Does this allow >> people to use keys without actually _seeing_ those keys? Your example >> implies that that is not the case, but that's actually one of the few >> reasons to actually support a kernel crypto interface - the ability to >> have private personal keys around, but not having to actually let >> possibly untrusted programs see them. > This actually is an indirect feature of this interface. ÂUsing it, you can open > a algorithm socket, select a specific alg, assign a key, and then pass that > socket descriptor over a unix socket to an another process using an > SCM_RIGHTS ancilliary message. ÂThe receiving process can then use children > acceppted from that passed socket to preform the configured crypto operation > without any knoweldge of the keys used in it. ÂI can write a demo app if you > like. Several things have to be considered when extending an interface like that. For example, do the algorithm implementations protect against timing attacks, or keys can be recovered, using them? What is the purpose of cryptographic key separation? If long term keys are to be protected, then it makes sense to support RSA, DSA keys in addition to symmetric keys (e.g. microsoft only supports assymetric keys for separation, since symmetric ones are rarely used as long term keys - [in TLS-PSK]). Some of these issues are discussed in my report on a user-space crypto interface that specifically targeted separation and speed at [0]. regards, Nikos [0]. https://www.cosic.esat.kuleuven.be/publications/article-1490.pdf -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html