add manpage for the module
[pam_pcsc_cr.git] / README.md
index 3bad4bf55c2e4f766c0a6ccf6bf090c66e36b410..2ebc86fb2c65d7178de60a01a5640f768d69f047 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+% Challenge-Response PAM Module
 
 ```
 Copyright (c) 2013 Eugene Crosser
@@ -24,7 +25,7 @@ freely, subject to the following restrictions:
 
 ------------------------------------------------------------------------
 
-# Challenge-Response PAM Module for HMAC-SHA1 Hardware Token(s)
+## Challenge-Response PAM Module for HMAC-SHA1 Hardware Token(s)
 
 This package provides a UNIX
 [PAM](http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules)
@@ -72,6 +73,9 @@ period. The downside is that if the token is used against multiple
 hosts, and one of them leaks the secret to an adversary, all hosts are
 compromised. This is not the case with the first approach.
 
+The particular data structure is outlined in the picture:
+![](auth-data-structure.svg)
+
 ## Module Operation
 
 Authentication file, containing nonce, encrypted shared secret,
@@ -80,12 +84,7 @@ according to template that can be provided both to PAM module and to the
 setup program (and must be the same, obviously). In the template string,
 character '~' in the first position is substituted with the userid's
 home directory, '~' in a position other than first - with the userid
-itself, and character '?' - with the "tokenid". This latter is just an
-arbitrary string that is not involved in the authentication process.
-But, if the template contains '?' but not '~', login process can start
-without the knowlege of the userid. Userid will be picked from the file
-and injected into the PAM environment, given that tokenid is known from
-the start.
+itself.
 
 Default template string is `~/.pam_cr/auth`, i.e. the file lives in the
 user's home directory, in the subdirectory `.pam_cr`.
@@ -111,7 +110,7 @@ The only backend option existing is "ykneo:slot=1" or "ykneo:slot=2".
 Slot 2 is the default. Secret must be supplied when creating the file,
 and when modifying the file in the absense of the token. Password is
 used to construct the challenge. If not supplied empty string is used.
-The pam module also used empty string when given "noaskpass" argument,
+The pam module also uses empty string when given "noaskpass" argument,
 so this can be used for "one factor" authentication mode with token
 only. Payload is a string that can be optionally injected as the PAM
 authentication token after successful authentication; subsequent PAM
@@ -135,8 +134,11 @@ PAM module has the following parameters:
 
 ## Getting the Source
 
-Note that as of December 2013, this is a work in progress. You can
-[clone](git://git.average.org/git/pam_pcsc_cr.git) or
+Check the [project homepage](http://www.average.org/chal-resp-auth/).
+
+Pick the source tarball
+[here](http://www.average.org/chal-resp-auth/pam_pcsc_cr-0.9.1.tar.xz),
+or you can [clone](git://git.average.org/git/pam_pcsc_cr.git) or
 [browse](http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=summary)
 the git repo.