All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Extend TPM 2.0 PCR banks each with corresponding digest
@ 2017-03-29 10:24 Roberto Sassu
       [not found] ` <20170329102452.32212-1-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 35+ messages in thread
From: Roberto Sassu @ 2017-03-29 10:24 UTC (permalink / raw)
  To: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
  Cc: linux-ima-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

tpm_pcr_extend() was originally designed to extend a TPM 1.2 PCR with
a SHA1 digest. With TPM 2.0, multiple hash algorithms can be supported,
but, at the moment, only one digest can be passed to the function.

Since TCG mandates that all PCR banks must be extended, commit c1f92b4
(tpm: enhance TPM 2.0 PCR extend to support multiple banks) filled
the gap by padding the SHA1 digest passed to tpm_pcr_extend(), to extend
remaining PCR banks.

This patch set adds support for providing a digest for each PCR bank.

The first patch adds an additional check to tpm2_pcr_extend() to ensure
that all digests have been provided (to meet TCG specs).

The second patch provides a mechanism for TPM users to convert a TPM
algorithm ID to a crypto ID and vice-versa, so that they can calculate
the digest of an event data by using the crypto subsystem.

The third patch allows TPM users to know which hash algorithms the TPM
supports. Since the limit of active banks is fixed (the size of the
active_banks array in the tpm_chip structure), the new function
tpm_pcr_algorithms() accepts as input a sized array.

The fourth patch introduces tpm_pcr_extend_digests(), which accepts
as input a sized array of tpm2_digest structures. Each array element
contains the algorithm and the digest for a PCR bank.

Roberto Sassu (4):
  tpm: check whether all digests have been provided for TPM 2.0 extend
  tpm: introduce tpm2_pcr_algo_to_crypto() and
    tpm2_pcr_algo_from_crypto()
  tpm: introduce tpm_pcr_algorithms()
  tpm: introduce tpm_extend_pcr_digests()

 drivers/char/tpm/tpm-interface.c | 121 +++++++++++++++++++++++++++++++++++++++
 drivers/char/tpm/tpm.h           |  19 +-----
 drivers/char/tpm/tpm2-cmd.c      |  65 +++++++++++----------
 include/linux/tpm.h              |  44 ++++++++++++++
 4 files changed, 200 insertions(+), 49 deletions(-)

-- 
2.9.3


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2017-04-12 20:59 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-29 10:24 [PATCH 0/4] Extend TPM 2.0 PCR banks each with corresponding digest Roberto Sassu
     [not found] ` <20170329102452.32212-1-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-03-29 10:24   ` [PATCH 1/4] tpm: check whether all digests have been provided for TPM 2.0 extend Roberto Sassu
     [not found]     ` <20170329102452.32212-2-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 12:12       ` Jarkko Sakkinen
     [not found]         ` <20170405121200.rjbojlwchfw43ted-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 12:25           ` Roberto Sassu
     [not found]             ` <e0c01100-df24-6632-fed5-dfe355470ac6-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 13:38               ` Jarkko Sakkinen
2017-03-29 10:24   ` [PATCH 2/4] tpm: introduce tpm2_pcr_algo_to_crypto() and tpm2_pcr_algo_from_crypto() Roberto Sassu
     [not found]     ` <20170329102452.32212-3-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 12:12       ` Jarkko Sakkinen
     [not found]         ` <20170405121256.jyyj474dux5cb62m-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 13:03           ` Roberto Sassu
     [not found]             ` <96aeb2ef-5b0b-7c10-cbf1-7f51aeb902ae-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 13:43               ` Jarkko Sakkinen
     [not found]                 ` <20170405134316.bnlaqqo2uz5lncau-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 14:24                   ` Roberto Sassu
2017-03-29 10:24   ` [PATCH 3/4] tpm: introduce tpm_pcr_algorithms() Roberto Sassu
     [not found]     ` <20170329102452.32212-4-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 12:13       ` Jarkko Sakkinen
     [not found]         ` <20170405121331.w5njxsf3nrztvlzb-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 13:33           ` Roberto Sassu
     [not found]             ` <f422a7e4-e214-b426-3be0-49d1a5560575-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 13:54               ` Jarkko Sakkinen
     [not found]                 ` <20170405135418.nagoj6s2oi2m67qb-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 13:57                   ` Jarkko Sakkinen
2017-03-29 10:24   ` [PATCH 4/4] tpm: introduce tpm_extend_pcr_digests() Roberto Sassu
     [not found]     ` <20170329102452.32212-5-roberto.sassu-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 12:14       ` Jarkko Sakkinen
     [not found]         ` <20170405121416.2rly5pizs2hll56k-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 13:50           ` Roberto Sassu
     [not found]             ` <259b67e8-216b-ad91-52c3-c4b39a8f3d1c-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05 14:36               ` Roberto Sassu
     [not found]                 ` <88284005-3a53-1b37-e1f2-bfa88987c989-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-07  9:50                   ` Roberto Sassu
     [not found]                     ` <e6444fe7-5726-c763-0fd5-93b1c3ec47f6-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-07 19:31                       ` Jarkko Sakkinen
     [not found]                         ` <20170407193156.thwubykqqleaszrt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-07 20:10                           ` Jarkko Sakkinen
     [not found]                             ` <20170407201037.sarb4mjgfj64hfhr-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-07 20:12                               ` Jarkko Sakkinen
2017-04-10 11:51                               ` Roberto Sassu
     [not found]                                 ` <2f61ea60-6143-3bd4-8b3c-9342625cb326-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-12 20:59                                   ` Jarkko Sakkinen
2017-04-10 11:46                           ` Roberto Sassu
     [not found]                             ` <5be4713f-d34b-f73f-15a4-7a215aeb7ee8-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-12 19:44                               ` Jarkko Sakkinen
2017-04-06  7:51               ` Jarkko Sakkinen
2017-03-30  9:16   ` [PATCH 0/4] Extend TPM 2.0 PCR banks each with corresponding digest Nayna
     [not found]     ` <58DCCCD3.7010300-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-03-30 11:07       ` Roberto Sassu
     [not found]         ` <212fdaf4-f5f3-8615-bb5a-7f21864e33e1-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2017-04-05  9:53           ` Nayna
2017-03-31  8:16   ` Jarkko Sakkinen
2017-04-05 12:16   ` Jarkko Sakkinen
     [not found]     ` <20170405121617.kpdrtuhb5ipj33ea-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-05 12:24       ` [Linux-ima-devel] " Mimi Zohar
     [not found]         ` <1491395052.2898.4.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-04-05 13:39           ` Jarkko Sakkinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.