From: Petko Manolov <sti at nucleusys.com>
To: tpm2@lists.01.org
Subject: Re: [tpm2] facilitating BIOS update with seamless PCR policy change
Date: Wed, 20 Feb 2019 15:05:33 +0200 [thread overview]
Message-ID: <20190220130533.GA1913@p310> (raw)
In-Reply-To: 20190218092026.GA5320@carbon
[-- Attachment #1: Type: text/plain, Size: 5579 bytes --]
Hello,
Just FYI - another fTPM is giving me the same error:
WARNING:esys:src/tss2-esys/api/Esys_Unseal.c:295:Esys_Unseal_Finish() Received TPM Error
ERROR:esys:src/tss2-esys/api/Esys_Unseal.c:101:Esys_Unseal() Esys Finish ErrorCode (0x0000008f)
ERROR: Esys_Unseal(0x8F) - tpm:handle(unk):invalid nonce size or nonce value mismatch
ERROR: Unseal failed!
ERROR: Unable to run tpm2_unseal
The machine is LENOVO P310, BIOS FWKT97A 11/08/2018, Sunrise Point-H chipset.
Could you please give me some pointers as to how this could be worked around?
thanks,
Petko
On 19-02-18 10:20:26, Petko Manolov wrote:
> I am sorry that this didn't go through because of the attached script. I'm
> embedding it to this email so i'd like to apologize about the bloat.
>
> ---
>
> #!/bin/bash
>
> source common.sh
>
> # Create a signing authority
> openssl genrsa -out signing_key_private.pem 2048
> openssl rsa -in signing_key_private.pem -out signing_key_public.pem -pubout
> tpm2_loadexternal -G rsa -a o -u signing_key_public.pem -o signing_key.ctx \
> -n signing_key.name
>
> echo "Signing authority created"
>
> # Create a policy to be authorized like a pcr policy:
> tpm2_pcrlist -L $PCRS -o pcrs.sha256
> tpm2_startauthsession -S session.ctx
> tpm2_policypcr -S session.ctx -L $PCRS -F pcrs.sha256 -f pcr.policy
> tpm2_flushcontext -S session.ctx
> rm -f session.ctx
>
> echo "pcr policy created"
>
> # Sign the policy
> openssl dgst -sha256 -sign signing_key_private.pem -out pcr.signature pcr.policy
>
> echo "policy is signed"
>
> # Authorize the policy in the policy digest:
> tpm2_startauthsession -S session.ctx
> tpm2_policyauthorize -S session.ctx -o authorized.policy -f pcr.policy \
> -n signing_key.name
> tpm2_flushcontext -S session.ctx
> rm -f session.ctx
>
> echo "policy authorized"
>
> # Create a TPM object like a sealing object with the authorized policy
> # based authentication:
> echo "secret to seal 123" > secret_file
> tpm2_createprimary -Q -a o -g sha256 -G rsa -o prim.ctx
> tpm2_create -Q -g sha256 -u sealing_pubkey.pub -r sealing_prikey.pub \
> -I secret_file -C prim.ctx -L authorized.policy
>
> echo "sealing object created"
>
> # Satisfy policy and unseal the secret:
> tpm2_verifysignature -c signing_key.ctx -G sha256 -m pcr.policy \
> -s pcr.signature -t verification.tkt -f rsassa
> tpm2_startauthsession -a -S session.ctx
> tpm2_policypcr -Q -S session.ctx -L $PCRS -f pcr.policy
> tpm2_policyauthorize -S session.ctx -o authorized.policy -f pcr.policy \
> -n signing_key.name -t verification.tkt
> tpm2_load -Q -C prim.ctx -u sealing_pubkey.pub -r sealing_prikey.pub \
> -o sealing_key.ctx
> tpm2_unseal -p "session:session.ctx" -c sealing_key.ctx -o unsealed
> cat unsealed
> tpm2_flushcontext -S session.ctx
> rm -f session.ctx unsealed
>
> echo "the end"
>
> ---
>
>
> thanks,
> Petko
>
>
> On 19-02-18 09:48:37, Petko Manolov wrote:
> > Hello again,
> >
> > I managed to get authorized PCR policies to work for me. The attached script
> > works fine on my thinkpad and on rpi3 with Infineon's SLB9670 SPI TPM2.
> >
> > However, i stumbled upon a problem with an fTPM implementation in a very recent
> > AMI BIOS. Everything seems to be working properly, until i get tpm2_unseal to
> > give me the error below. The tpm2-tools is built with at-the-time tip of git
> > commit id:
> >
> > 872076e1b31f22b18391c6761d47575a93891cd7
> >
> > tpm2_unseal -v:
> >
> > tool="tpm2_unseal" version="3.0.2-858-g88956e75" tctis="dynamic" tcti-default=tabrmd dlclose=enabled
> >
> > tpm-tss is v2.1.0 and tpm-abrmd is v2.0.3. Unfortunately the error message does
> > not mean much for me so any help will be greatly appreciated.
> >
> >
> > thanks,
> > Petko
> >
> >
> >
> > ---
> >
> > Generating RSA private key, 2048 bit long modulus
> > ..............................+++++
> > ...........................................+++++
> > e is 65537 (0x10001)
> > writing RSA key
> > transient-context: signing_key.ctx
> > name: 0x000b5e069ba4b591842c25155d812f635970dabe7cee663aff121088940f88e2da80
> > Signing authority created
> > sha256:
> > 0 : 0x647992CBC9EEBF49D367559D870620C324B1A4307EB2A6166F1ACEC0DC186AEA
> > 1 : 0x519B03509291B643DA7FEC4407FFC47C1C18AF706A611ECA1C159D4608342338
> > 2 : 0x369BB94CEB4A1DF8E76720141B64C57EC70E6C620F07B27E335E70AD2DDC25DB
> > 3 : 0x369BB94CEB4A1DF8E76720141B64C57EC70E6C620F07B27E335E70AD2DDC25DB
> > session-context: session.ctx
> > policy-digest: 0x22035897291FE4681D7800685BFC5C73EBCBB88C7A579AB20C2E345A9815FDFE
> > pcr policy created
> > policy is signed
> > session-context: session.ctx
> > 45a41a53c9f74f09b72151af6ffdd199fe1129eff2b749b8e481b6b21f2281f1
> > policy authorized
> > sealing object created
> > session-context: session.ctx
> > 45a41a53c9f74f09b72151af6ffdd199fe1129eff2b749b8e481b6b21f2281f1
> > WARNING:esys:../tpm2-tss/src/tss2-esys/api/Esys_Unseal.c:295:Esys_Unseal_Finish() Received TPM Error
> > ERROR:esys:../tpm2-tss/src/tss2-esys/api/Esys_Unseal.c:101:Esys_Unseal() Esys Finish ErrorCode (0x0000008f)
> > ERROR: Esys_Unseal(0x8F) - tpm:handle(unk):invalid nonce size or nonce value mismatch
> > ERROR: Unseal failed!
> > ERROR: Unable to run tpm2_unseal
> > cat: unsealed: No such file or directory
> > the end
>
>
> _______________________________________________
> tpm2 mailing list
> tpm2(a)lists.01.org
> https://lists.01.org/mailman/listinfo/tpm2
>
next reply other threads:[~2019-02-20 13:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-20 13:05 Petko Manolov [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-02-21 13:12 [tpm2] facilitating BIOS update with seamless PCR policy change Petko Manolov
2019-02-18 9:20 Petko Manolov
2019-02-18 8:48 Petko Manolov
2019-01-15 19:58 Roberts, William C
2019-01-06 2:47 Desai, Imran
2019-01-05 18:42 Petko Manolov
2019-01-04 21:50 Roberts, William C
2019-01-04 18:20 Petko Manolov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190220130533.GA1913@p310 \
--to=tpm2@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox