Our first implementation, which is described here, is a kernel-level implementation. Of course, we would like the APIs described here to be available on other systems without kernel modifications, particularly for those OSes for which the source code is not available.
We consider here only the client side issues as we would like netAuth services to be usable from any operating system. (Server OS, on the other hand, is under the control of the service provider.) In section 6.2 we describe a proxy implementation which uses netAuth, but which could be easily extended into one which implemented netAuth at the protocol level from user space rather than using netAuth APIs.