Smartcard Secured Cryptographic File System (SC-CFS)
Description
This integrates smartcards into Matt Blaze's Cryptographic File
System. The user's master key is stored in a smartcard. The
smartcard generates a per-file encryption key.
SC-CFS was tested on OpenBSD and Linux. Supported
card is Schlumberger's Cyberflex
Access.
Download
SC-CFS is based on
CFS-1.3.3.
CFS developers allow distribution of
modified code, so this package include the CFS code as well.
Dependencies
Installation
- (If you are in CITI, all the software is in
/afs/citi.umich.edu/projects/smartcards/src/sc-cfs/i386_obsd27
or
/afs/citi.umich.edu/projects/smartcards/src/sc-cfs/i386_linux2
. So you can skip this section.)
- Install the sc7816 library in /usr/local/lib
- Compilation - Linux 2
- uncomment Linux part of Makefile
- remove -traditional
- make cfs. this will fail somewhere.
- in nfsproto_svr.c and admproto_svr.c, change
bool_t (*xdr_argument)(), (*xdr_result)();
to
bool_t (*_xdr_argument)(), (*_xdr_result)();
- then make cfs again.
- Compilation - OpenBSD 2.7
- uncomment OpenBSD part of Makefile
- make admproto_clnt.c
- make sure to include this line in make_with_bad_rpcgen
-Dadmproc_verify_2_svc=admproc_verify_2 \
- sh make_with_bad_rpcgen cfs
- Compilation - Solaris 2
- uncomment Solaris 2.3 part of Makefile
- make cfs
Usage
- mkdir /null
- chmod 0 /null
- mkdir /crypt
- add
/null localhost
in /etc/exports.
- Starting SC-CFS - Linux 2
- /usr/sbin/rpc.mountd
- cfsd
- mount -o port=3049,intr,rsize=16384,wsize=16384 localhost:/null /crypt
- cattach
- Starting SC-CFS - OpenBSD 2.7
- compile kernel with NFSCLIENT and NFSSERVER
- run portmapper
- run mountd
- run cfsd
- mount -o port=3049,nfsv2,intr localhost:/null /crypt
- cattach
- Use UNIX filesystem commands to access files in a smartcard. In
addition, use the following SC-CFS specific commands.
- cmkdir -S port_num dir to create SC-CFS protected directory.
Comments, etc
Send them to
smartcards@umich.edu