[tpm2] Re: TPM for SSH authentication

Anthony Arrascue <AArrascue at neuroloop.de>
Newsgroups dev.linux.lists.tpm2
Message-ID <[email protected]>
Hi Scott,

Yes, if you are searching how to re-provision your TPM take a look at this thread (for an older version of the tools though):
https://lists.01.org/hyperkitty/list/tpm2(a)lists.01.org/thread/4LVFPEUGMA5GMQJCZV5N7GW7WMEDYCRO/

I sketched some steps and other users pointed other ways of doing it.

I hope this helps.

Best, 
Anthony


> -----Original Message-----
> From: scott.r.eisele(a)gmail.com <scott.r.eisele(a)gmail.com>
> Sent: Tuesday, 20 July 2021 05:36
> To: tpm2(a)lists.01.org
> Subject: [tpm2] TPM for SSH authentication
> 
> Hi everyone!
> I'm trying to use a TPM to secure ssh keys, following the example here:
> https://incenp.org/notes/2020/tpm-based-ssh-key.html
> First, is this a standard way to secure ssh keys? Or is there another method
> that is preferred?
> 
> Assuming this method is acceptable, I made it to the point of extracting the
> public key from the PKCS11 token but ran into an issue.
> 
> $ ssh-keygen -vvv -D /usr/local/lib/libtpm2_pkcs11.so > tpm2key1.pub
> WARNING:fapi:src/tss2-fapi/api/Fapi_List.c:226:Fapi_List_Finish() Profile of
> path not provisioned: /HS/SRK
> ERROR:fapi:src/tss2-fapi/api/Fapi_List.c:81:Fapi_List() ErrorCode
> (0x00060034) Entities_List
> ERROR: Listing FAPI token objects failed.
> debug1: provider /usr/local/lib/libtpm2_pkcs11.so: manufacturerID <tpm2-
> software.github.io> cryptokiVersion 2.40 libraryDescription <TPM2.0
> Cryptoki> libraryVersion 0.0
> debug1: provider /usr/local/lib/libtpm2_pkcs11.so slot 0: label <firstToken>
> manufacturerID <Infineon> model <SLB9670> serial <000000000000000> flags
> 0x40d
> debug1: have 1 keys
> debug2: pkcs11_register_provider: ignoring uninitialised token in provider
> /usr/local/lib/libtpm2_pkcs11.so slot 1
> debug1: pkcs11_k11_free: parent 0xaaaaf0703630 ptr 0xaaaaf06ed350 idx 1
> debug1: pkcs11_provider_unref: 0xaaaaf0692300 refcount 2
> debug1: pkcs11_provider_finalize: 0xaaaaf0692300 refcount 1 valid 1
> debug1: pkcs11_provider_unref: 0xaaaaf0692300 refcount 1
> 
> I then tried running Fapi_List() directly:
> 
> $ sudo tss2_list
> WARNING:fapi:src/tss2-fapi/api/Fapi_List.c:216:Fapi_List_Finish() Path not
> found:
> ERROR:fapi:src/tss2-fapi/api/Fapi_List.c:81:Fapi_List() ErrorCode
> (0x00060034) Entities_List
> Fapi_List(0x60034) - fapi:Provisioning was not executed.
> 
> And assumed that provisioning was required. So I attempted that:
> 
> $ sudo tss2_provision
> ERROR:fapi:src/tss2-fapi/api/Fapi_Provision.c:520:Fapi_Provision_Finish()
> ErrorCode (0x0006000b) SRK persistent handle already defined
> ERROR:fapi:src/tss2-fapi/api/Fapi_Provision.c:168:Fapi_Provision() ErrorCode
> (0x0006000b) Provision
> Fapi_Provision(0x6000B) - fapi:A parameter has a bad value
> 
> At this point, I'm at a loss as to what the state of the TPM is and how to
> properly provision it and establish the Storage Hierarchy.
> I've looked at https://trustedcomputinggroup.org/wp-
> content/uploads/TCG-TPM-v2.0-Provisioning-Guidance-Published-v1r1.pdf
> but it's not clear to me how to apply it.
> 
> Any help would be great. Thanks!
> 
> My platform configuration is:
> raspberry pi 3b+
> Infineon OPTIGA™ TPM SLx 9670
> ubuntu 20.04
> tpm2-tss-3.1.0
> tpm2-tools-5.1.1
> tpm2-abrmd-2.4.0
> tpm2-pkcs11-1.6.0
> _______________________________________________
> tpm2 mailing list -- tpm2(a)lists.01.org
> To unsubscribe send an email to tpm2-leave(a)lists.01.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.