Possible bug or opportunity for user error with admin/user password
Jeremy Drake
jeremydrake+gnuk at eacceleration.com
Wed Jan 30 20:40:34 CET 2019
On a related note, I have found that the process of setting PINs and
loading keys (whether importing or generating) is highly order dependent,
and if I do not do things in exactly the right order, unexpected things
happen and I wind up having to start over. It looks like the order
followed here is almost the same as the order I wrote down to follow that
works for me, except I would have changed the admin pin before importing
the key.
On Tue, 29 Jan 2019, Mike Tsao wrote:
> This is on FSIJ-1.2.13 running on an ST_DONGLE.
>
> 1. Flash using standard method.
> 2. gpg --card-edit
> 3. factory-reset, y, yes
> 4. rm -rf .gnupg, kill gpg-connect-agent, etc. so GnuPG is fresh
> 5. gpg --import my-secret-subkeys.gpg
> 6. gpg --edit-key myname
> 7. key 1
> 8. keytocard
> 9. (answer menu for encryption key)
> 10. when asked for admin PIN, enter 12345678
> 11. when asked again for admin PIN, enter 12345678
> 12. exit
> 13. gpg --card-edit
> 14. admin
> 15. passwd
> 16. enter 1 for user PIN
> 17. *enter 12345678*
> 18. when asked for new password, enter thisismypassword
> 19. when asked again for new password, enter thisismypassword
> 20. exit
> 21. gpg --card-status to confirm that the gnuk device is now loaded with
> the key
> 22. gpg -d something-encrypted-with-this-key.asc
> 23. when prompted, enter thisismypassword
> 24. get "no decryption key"
> 25. try again
> 26. try again
> 27. device is locked
>
> Do you see what I did wrong? At step 17 I entered 12345678 instead of
> 123456. I forgot that the default admin PIN is different from the default
> user PIN. But the messages that GnuPG printed suggested that the password
> change succeeded! (See transcript below.)
>
> Moreover, I went back to step 25 and tried entering 123456. Nope -- the
> password is indeed changed, but it's changed to neither 123456, 12345678,
> or thisismypassword.
>
> The bug I'm reporting is that I don't understand why GnuPG accepted the
> wrong initial user PIN. Why didn't it report that the password change
> failed? Aside from it being obviously frustrating because the only way to
> fix it is to factory-reset and do the whole process over again. But it
> could be a serious issue if a user believes the device is correctly set up,
> and then (foolishly) discards other copies of the secret subkey.
>
> I hope this is something within gnuk's control. If it's just GnuPG being
> silly, then there isn't much this team can do about it.
>
> (transcript of session follows)
>> admin
> Admin commands are allowed
>
> gpg/card> passwd
> gpg: OpenPGP card no. D2760001xxxxxxxx detected
>
> 1 - change PIN
> 2 - unblock PIN
> 3 - change Admin PIN
> 4 - set the Reset Code
> Q - quit
>
> Your selection? 1 [entered 12345678, then thisismypassword twice]
>
> *PIN changed. <===== NOTE REPORT OF SUCCESS*
>
> 1 - change PIN
> 2 - unblock PIN
> 3 - change Admin PIN
> 4 - set the Reset Code
> Q - quit
>
> Your selection? q
>
> gpg/card> verify [entered thisismypassword]
>
> Reader ...........: 234B:0000:FSIJ-1.2.13-xxxxx
> Application ID ...: D2760001xxxxxxx
> Version ..........: 2.0
> Manufacturer .....: unmanaged S/N range
> Serial number ....: xxxxxx
> Name of cardholder: [not set]
> Language prefs ...: [not set]
> Sex ..............: unspecified
> URL of public key : [not set]
> Login data .......: [not set]
> Signature PIN ....: forced
> Key attributes ...: ed25519 rsa2048 rsa2048
> Max. PIN lengths .: 127 127 127
> *PIN retry counter : 2 3 3 <===== NOTE DECREMENT*
>
> (end transcript)
>
More information about the Gnuk-users
mailing list