Smartcards and tokens

R. Martinho Fernandes gpg at
Thu Dec 15 10:24:29 CET 2016

There's an important distinction to be made between using this approach
and using a SmartCard. The encrypted USB drive approach leaks the keys
into the machine you're using it from; they're accessible by simply
reading the filesystem (thus the claim that "When you unplug the USB,
your keys are gone." is wrong).  The keys in a SmartCard are write-only;
the SmartCard performs all the encryption on-chip.

You need to have an attack on the SmartCard to get the keys, while with
the USB drive approach, you just need to attack the host machine.

On Thu, Dec 15, 2016, at 08:34 AM, Lou Wynn wrote:

> I've come cross a simple and secure approach at this post:


> In the MAKING BACKUPS section, this method simply places your
> gnupg directory in an encrypted usb drive and make a symlink to it
> like this:

> ln -s /Volumes/EncDrive/gnupg ~/.gnupg
> That's all. As long as you use a good passphrase, this is very secure
> method to me. When you unplug the USB, your keys are gone. If your USB
> drive is lost, its content is encrypted by your passphrase, so no
> worry about it.




> On 12/14/2016 05:35 PM, NIIBE Yutaka wrote:
>> sivmu <sivmu at> wrote:
>>> One question remaining is what is the difference between the openpgp
>>> smartcard and the USB based tokens.
>> I think that the OpenPGP card (the physical smartcard) is included in
>> Nitrokey Pro USB Token.  So, it's exactly same from the view point of
>> smartcard.  When you want to use a smartcard, you need a card reader
>> to access the card.  And the card reader you use would bring another
>> attack vectors. In this point, Nitrokey Pro USB Token is the best
>> approach, I suppose.  IIUC, Yubikey products are JavaCard
>> implementations and somehow emulate OpenPGP card protocol by "app",
>> and they work as CCID card reader + OpenPGP card.  In Nitrokey Start
>> USB Token, there is no OpenPGP card physically, but it is implemented
>> by Gnuk, the software.

>>> Also how much would you trust those vendors and can the use of such
>>> tokens actually decrease security?
>> This is the point.  The hardware OpenPGP card in Nitrokey Pro USB
>> Token could be replaced by man in the middle (or its vendor).  The
>> hardware MCU chip in Nitrokey Start USB Token could be replaced, too.
>> The software (Gnuk) in Nitrokey Start USB Token could be replaced
>> (with JTAG/SWD debugger), too.  Or, we should consider possibility of
>> backdoor of OpenPGP card.  Well, I don't know about Yubikey.  When it
>> is replaced to be malicious one to enable an access by others (to
>> your private keys), or it already has a backdoor in the first place,
>> it kills the purpose of USB security token.  Here, the question is:
>> how can we build up such a "trust"?  It seems for me that there are
>> two different approaches; (1) physical difficulty (for example,
>> plastic molding for "protection"), (2) reproducibility and
>> transparency/openness.  Note that some method of former makes latter
>> difficult.   For myself, I take (2), and I did my best to make my
>> product as reproducible.  (Since I don't manufacture semiconductor
>> things, reproducibility is not 100%, and this part of manufacturing
>> and technology is not open at all.)  And I intentionally deliver my
>> product in a style of "transparent" or "open".  Distribution channel
>> is also difficult.  I do in person, and I ask FSF for my TRNG.  Are
>> there any good method?  Obvious drawback of the apporoach (2) is that
>> people with enough concern/attention have tendency to do it under
>> their control. Reasonable.  Since it's reproducible (somehow), it's
>> possible, by definition.  And then, I can't sell many.

> _________________________________________________

> Gnupg-users mailing list

> Gnupg-users at


-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20161215/7b993b2e/attachment.html>

More information about the Gnupg-users mailing list