diff --git a/doc/bilder/remote-reader.png b/doc/bilder/remote-reader.png new file mode 100644 index 0000000..f873bd2 Binary files /dev/null and b/doc/bilder/remote-reader.png differ diff --git a/doc/bilder/smartcard.pdf b/doc/bilder/smartcard.pdf new file mode 100644 index 0000000..1a8ad5e Binary files /dev/null and b/doc/bilder/smartcard.pdf differ diff --git a/doc/bilder/smartphone.pdf b/doc/bilder/smartphone.pdf new file mode 100644 index 0000000..dcec93e Binary files /dev/null and b/doc/bilder/smartphone.pdf differ diff --git a/doc/index.txt b/doc/index.txt index 98be6b9..c2db5e3 100644 --- a/doc/index.txt +++ b/doc/index.txt @@ -49,6 +49,7 @@ Currently the following projects are part of |vsmartcard|: :titlesonly: virtualsmartcard/README + remote-reader/README pcsc-relay/README ccid/README npa/README diff --git a/doc/remote-reader b/doc/remote-reader new file mode 120000 index 0000000..c8d07e4 --- /dev/null +++ b/doc/remote-reader @@ -0,0 +1 @@ +../remote-reader/doc \ No newline at end of file diff --git a/remote-reader/README b/remote-reader/README new file mode 120000 index 0000000..253de0c --- /dev/null +++ b/remote-reader/README @@ -0,0 +1 @@ +doc/README.txt \ No newline at end of file diff --git a/remote-reader/doc/README.txt b/remote-reader/doc/README.txt new file mode 100644 index 0000000..06fe5ce --- /dev/null +++ b/remote-reader/doc/README.txt @@ -0,0 +1,114 @@ +.. highlight:: sh + +.. |vpcd| replace:: :abbr:`vpcd (virtual smart card reader)` + +.. _remote-reader: + +################################################################################ +Remote Smart Card Reader +################################################################################ + +.. sidebar:: Summary + + Use an Android smartphone with NFC as contact-less smart card reader + + :Author: + `Frank Morgner `_ + :License: + GPL version 3 + :Tested Platform: + Android, CyanogenMod + +The Remote Smart Card Reader allows a host computer to use the smartphone's NFC +hardware as contact-less smart card reader. On the host computer, a special +smart card driver, |vpcd| must be installed. The Remote Smart Card Reader +establishes a connection to |vpcd| over the network when a contact-less card is +detected. Since |vpcd| integrates seamlessly into the PC/SC framework of the +host system, so the contact-less card can be accessed by a typical smart card +application, for example OpenSC_. + +.. tikz:: Remote Smart Card Reader used to access a contact-less card + :stringsubst: + :libs: arrows, calc, fit, patterns, plotmarks, shapes.geometric, shapes.misc, shapes.symbols, shapes.arrows, shapes.callouts, shapes.multipart, shapes.gates.logic.US, shapes.gates.logic.IEC, er, automata, backgrounds, chains, topaths, trees, petri, mindmap, matrix, calendar, folding, fadings, through, positioning, scopes, decorations.fractals, decorations.shapes, decorations.text, decorations.pathmorphing, decorations.pathreplacing, decorations.footprints, decorations.markings, shadows + + \input{%(wd)s/bilder/tikzstyles.tex} + \node (pcsc) [klein, aktivbox, inner xsep=.75cm, align=center] {PC/SC\\Framework}; + \node (sca) [aktivbox, klein, left=.75cm of pcsc, align=center] {Smart Card\\Application}; + \node (vpcd) [box, at=(pcsc.east), kleiner] {\texttt{vpcd}}; + \node (phone) [right=1cm of vpcd] {\includegraphics[width=3cm]{%(wd)s/bilder/smartphone.pdf}}; + \node (app) [at=(phone.center)] {\includegraphics[width=2.8cm, height=4.9cm]{%(wd)s/bilder/remote-reader.png}}; + \node (card) [right=0cm of phone, rotate=45] {\includegraphics[width=2cm]{%(wd)s/bilder/smartcard.pdf}}; + + \begin{pgfonlayer}{background} + \node (box) [box, fit=(pcsc) (sca) (vpcd), inner ysep=1.5em] {}; + \node [at=(box.north west)] {\includegraphics[width=1cm]{%(wd)s/bilder/computer-tango.pdf}}; + \path[linie] + (sca) edge (pcsc) + (vpcd) edge (app) + ; + \draw [rfid] (phone.center) -- (card.center) ; + \end{pgfonlayer} + +The Remote Smart Card Reader has the following dependencies: + +- NFC hardware built into the smartphone +- Android 3.0 "Honeycomb" (or newer) or CyanogenMod 8 (or newer) +- permissions for a data connection (communication with |vpcd|) and for using + NFC (communication to the card) +- |vpcd| :ref:`installed on the host computer` + +For remotely accessing a traditional smart card reader on one computer from an +other computer, the :ref:`vicc` in relay mode can be used: + +.. tikz:: Virtual Smart Card used in relay mode to remotely access a card + :stringsubst: + :libs: arrows, calc, fit, patterns, plotmarks, shapes.geometric, shapes.misc, shapes.symbols, shapes.arrows, shapes.callouts, shapes.multipart, shapes.gates.logic.US, shapes.gates.logic.IEC, er, automata, backgrounds, chains, topaths, trees, petri, mindmap, matrix, calendar, folding, fadings, through, positioning, scopes, decorations.fractals, decorations.shapes, decorations.text, decorations.pathmorphing, decorations.pathreplacing, decorations.footprints, decorations.markings, shadows + + \input{%(wd)s/bilder/tikzstyles.tex} + \node (pcsc) [klein, aktivbox, inner xsep=.75cm, align=center] {PC/SC\\Framework}; + \node (sca) [aktivbox, klein, left=.75cm of pcsc, align=center] {Smart Card\\Application}; + \node (vpcd) [box, at=(pcsc.east), kleiner] {\texttt{vpcd}}; + \node (pcsc2) [klein, aktivbox, inner xsep=.75cm, align=center, below=2.5cm of vpcd] {PC/SC\\Framework}; + \node (vicc) [aktivbox, left=1cm of pcsc2, kleiner] {\texttt{vicc -t relay}}; + \node (reader) [right=1cm of pcsc2] {\includegraphics[width=2cm]{%(wd)s/bilder/my_cardreader.pdf}}; + \node (card) [at=(reader.east), rotate=45] {\includegraphics[width=2cm]{%(wd)s/bilder/smartcard.pdf}}; + + \begin{pgfonlayer}{background} + \node (box) [box, fit=(pcsc) (sca) (vpcd), inner ysep=1.5em] {}; + \node (box2) [box, fit=(vicc) (pcsc2), inner ysep=1.5em] {}; + \node [at=(box.north west)] {\includegraphics[width=1cm]{%(wd)s/bilder/computer-tango.pdf}}; + \node [at=(box2.north west)] {\includegraphics[width=1cm]{%(wd)s/bilder/computer-tango.pdf}}; + \path[linie] + (sca) edge (pcsc) + (vpcd) edge [out=south, in=north] (vicc) + (vicc) edge (pcsc2) + (pcsc2) edge (reader) + ; + \end{pgfonlayer} + + +******************** +Download and Install +******************** + +The Remote Smart Card Reader is not (yet) available in +any App Store. To use it you need to fetch it from source:: + + git clone https://github.com/frankmorgner/vsmartcard.git + +We use `Android Studio`_ to build and deploy the application. Use +:menuselection:`File --> Open` to select :file:`vsmartcard/remote-reader`. +Attach your smartphone and choose :menuselection:`Run --> Run 'app'`. + + +.. include:: questions.txt + + +******************** +Notes and References +******************** + +.. target-notes:: + +.. _OpenSC: https://github.com/OpenSC/OpenSC +.. _Android Studio: http://developer.android.com/sdk/installing/studio.html diff --git a/remote-reader/doc/download.txt b/remote-reader/doc/download.txt new file mode 100644 index 0000000..fb1f889 --- /dev/null +++ b/remote-reader/doc/download.txt @@ -0,0 +1,12 @@ +.. highlight:: sh + +******** +Download +******** + +You can find the latest release of Remote Smart Card Reader on `Sourceforge +`_. + +Alternatively, you can clone our git repository:: + + git clone https://github.com/frankmorgner/vsmartcard.git diff --git a/remote-reader/doc/questions.txt b/remote-reader/doc/questions.txt new file mode 100644 index 0000000..b31d0be --- /dev/null +++ b/remote-reader/doc/questions.txt @@ -0,0 +1,6 @@ +******** +Question +******** + +Do you have questions, suggestions or contributions? Feedback of any kind is +more than welcome! Please use our `project trackers `_. diff --git a/virtualsmartcard/doc/README.txt b/virtualsmartcard/doc/README.txt index 89a5c2d..e9fc455 100644 --- a/virtualsmartcard/doc/README.txt +++ b/virtualsmartcard/doc/README.txt @@ -114,6 +114,8 @@ The file :file:`utils.py` was taken from Henryk Plötz's cyberflex-shell_. .. include:: download.txt +.. _vicc_install: + .. include:: autotools.txt Depending on your usage of the |vpicc| you might or might not need diff --git a/virtualsmartcard/doc/README.txt.in b/virtualsmartcard/doc/README.txt.in index 09b0c49..cc584c3 100644 --- a/virtualsmartcard/doc/README.txt.in +++ b/virtualsmartcard/doc/README.txt.in @@ -114,6 +114,8 @@ The file :file:`utils.py` was taken from Henryk Plötz's cyberflex-shell_. .. include:: download.txt +.. _vicc_install: + .. include:: autotools.txt Depending on your usage of the |vpicc| you might or might not need