xaptum / ecdaa

A C implementation of elliptic-curve-based Direct Anonymous Attestation (DAA) signatures. Created to support the Xaptum Edge Network Fabric, an IoT Network Solution.
https://www.xaptum.com
Apache License 2.0
45 stars 8 forks source link

Use `tpm2-software/tpm2-tss` rather than `xaptum-tpm` #134

Closed zanebeckwith closed 4 years ago

zanebeckwith commented 4 years ago

This PR transitions this project from using xaptum-tpm for the "TSS" (TPM Software Stack), to the official tpm2-software/tpm2-tss (this is the implementation available via APT on Debian-based systems, for example).

TEMPORARY: The build is still failing, because Valgrind Memcheck is complaining about some uninitialized memory usage in the tpm2-tss library. I'll track that down (either figure out if it's our fault, or silence the warnings). But I wanted to get your feedback on the CMake stuff UPDATE: The uninitialized memory usage warning from Memcheck is happening in the tpm2-tss library's "mssim" TCTI (this is the TCTI that communicates with the software simulator we run). I checked that it doesn't arise when running against a device TPM, so it appears to be just concerning the mssim TCTI (and, since the device TCTI is OK, any production usage of this library should be OK). And, our code does properly call the "Init" function for the mssim TCTI, so this appears to be a problem in their library. I silenced the warning by explicitly zero-initializing the TCTI buffer in our tests. I'll try to track down the issue and open a PR in their repo if I can, or at least open an issue there.

This PR:

coveralls commented 4 years ago

Coverage Status

Coverage decreased (-3.7%) to 79.902% when pulling d9b1ef7dc9d8ceeb8727bfebb3778757cbbbd1b1 on zanebeckwith/use-tpm2-tss into 15fb9ab6ef1be5cb11bb73242bf1852448ce5737 on master.

zanebeckwith commented 4 years ago

I just pushed two new commits, fixing two issues I found after opening this PR:

zanebeckwith commented 4 years ago

Also, I'll update the documentation (which currently says to use a utility in xaptum-tpm to prepare a TPM for testing) after merging this

zanebeckwith commented 4 years ago

Also, I'll update the documentation (which currently says to use a utility in xaptum-tpm to prepare a TPM for testing) after merging this

Since this PR hadn't been merged, I just pushed these changes to this branch, instead.

It's just an update to the documentation: