projects techreports press lab location staff
citi top.2 top.3
citi mid.3
bot.1 bot.2 bot.3

Projects : Smart Cards : Smartcard Filesystem

Smartcard Filesystem (SCFS) Version 2


Smartcard Filesystem (SCFS) allows you to mount ISO 7816-4 smartcards into UNIX file system. We have reimplemented it as a NFS V2 daemon for better portability. This version is called SCFS_V2.

SCFS_V2 has been tested on Linux 2.2 and OpenBSD-2.7. (pwd does not work on OpenBSD). It should run on any UNIX that supports NFS (which most UNIX systems do). Supported cards are Schlumberger's Cyberflex Access, Multiflex, Payflex, and G&D STARCOS.




  • (If you are in CITI, all the software is in /afs/ or /afs/ . So you can skip this section.)
  • Install the sc7816 library in /usr/local/lib
  • Compilation - Linux 2
    1. uncomment Linux part of Makefile
    2. remove -traditional
    3. make cfs. this will fail somewhere.
    4. in nfsproto_svr.c and admproto_svr.c, change
      bool_t (*xdr_argument)(), (*xdr_result)();
      bool_t (*_xdr_argument)(), (*_xdr_result)();
    5. then make cfs again.
  • Compilation - OpenBSD 2.7
    1. uncomment OpenBSD part of Makefile
    2. make admproto_clnt.c
    3. make sure to include this line in make_with_bad_rpcgen
      -Dadmproc_verify_2_svc=admproc_verify_2 \
    4. sh make_with_bad_rpcgen cfs
  • Compilation - Solaris 2
    1. uncomment Solaris 2.3 part of Makefile
    2. make cfs


  • mkdir /null
  • chmod 0 /null
  • mkdir /crypt
  • add
    /null localhost
    in /etc/exports.
  • Starting SCFS_V2 - Linux 2
    1. /usr/sbin/rpc.mountd
    2. cfsd
    3. mount -o port=3049,intr,rsize=16384,wsize=16384 localhost:/null /crypt
    4. cattach
  • Starting SCFS_V2 - OpenBSD 2.7
    1. compile kernel with NFSCLIENT and NFSSERVER
    2. run portmapper
    3. run mountd
    4. run cfsd
    5. mount -o port=3049,nfsv2,intr localhost:/null /crypt
    6. cattach
  • Use UNIX filesystem commands to access files in a smartcard. In addition, use the following SCFS_V2 specific commands.
    • sformat to format a smartcard.
    • screat to create a file.
    • smkdir to create a directory.
    • sverify to verify a key (e.g., AUT0).

Comments, etc

Send them to projects | techreports | press | lab | location | staff Email address
or call +1 734 763 2929
Copyright © 1996-2013
The Regents of the University of Michigan