The member can now be built with a substantially reduced code size using a compilation option.
New context lifetime management APIs have been added to member to give callers more control of memory allocation.
New member API EpidClearRegisteredBasenames
has been added to
clear registered basenames without recreating the member.
EpidRegisterBaseName
was renamed to EpidRegisterBasename
because
basename is a single word.
Command-line parsing library used by samples and tools has been replaced by Argtable3.
EpidMemberCreate
has been deprecated. This API has been superseded
by EpidMemberGetSize
and EpidMemberInit
.
EpidMemberDelete
has been deprecated. This API has been superseded
by EpidMemberDeinit
.
size_optimized_release
build configuration has been removed.
Use the compilation option to build member with reduced code size.Only the SHA-256 hash algorithm is supported when using the SDK with the IBM TPM simulator due to a defect in version 532 of the simulator.
Basenames are limited to 124 bytes in TPM mode.
Scons build will not work natively on ARM. You can still build using
make
or cross compile.
Member API updated to unify HW and SW use cases.
ProvisionKey
ProvisionCompressed
ProvisionCredential
Startup
MemberCreate
RequestJoin
WritePrecomp
SignBasic
NrProve
AssemblePrivKey
EpidRequestJoin
was renamed to EpidCreateJoinRequest
to make it
clear that it is not directly communicating with the issuer.
EpidCreateJoinRequest
creates valid join requests. This fixes a
regression in EpidRequestJoin
introduced in 4.0.0.Only the SHA-256 hash algorithm is supported when using the SDK with the IBM TPM simulator due to a defect in version 532 of the simulator.
Basenames are limited to 124 bytes in TPM mode.
The member implementation now provides an internal interface that gives guidance on partitioning member operations between highly sensitive ones that use f value of the private key, and less sensitive operations that can be performed in a host environment.
New member API EpidAssemblePrivKey
was added to help assemble and
validate the new member private key that is created when a member
either joins a group (using the join protocol) or switches to a new
group (as the result of a performance rekey).
Updated Intel(R) IPP Cryptography library to version 2017 (Update 2).
The mechanism to set the signature based revocation list (SigRL)
used for signing was changed. EpidMemberSetSigRl
must be used to
set the SigRL. The SigRL is no longer a parameter to EpidSign
.
This better models typical use case where a device stores a
revocation list and updates it independently of signing operations.
Removed EpidWritePreSigs
API. Serialization of pre-computed
signatures is a risky capability to provide, and simply expanding
the internal pool via EpidAddPreSigs
still provides most of the
optimization benefits.
The EpidIsPrivKeyInGroup
API is no longer exposed to clients. It
is no longer needed because the new member API EpidAssemblePrivKey
performs this check.
When building with commercial version of the Intel(R) IPP Cryptography library, optimized functions are now properly invoked, making signing and verification operations ~2 times faster
SHA-512/256 hash algorithm is now supported.
README for compressed data now correctly documents the number of entries in revocation lists.
The verifysig
sample now reports a more clear error message for
mismatched SigRLs.
The default scons build will now build for a 32-bit target on a 32-bit platform.
make
or cross compile.Support for verification of Intel(R) EPID 1.1 members.
Make-based build system support.
Sample material includes compressed keys.
Enhanced documentation, including step-by-step walkthroughs of example applications.
Validated on additional IoT platforms.
Ostro Linux
Snappy Ubuntu Core
A new verifier API has been added to set the basename to be used for
verification. Verifier APIs that used to accept basenames now use
the basename set via EpidVerifierSetBasename
.
The verifier pre-computation structure has been changed to include
the group ID to allow detection of errors that result from providing
a pre-computation blob from a different group to
EpidVerifierCreate
.
Signed binary issuer material support.
Binary issuer material validation APIs.
Updated sample issuer material.
Updated samples that parse signed binary issuer material.
Compressed member private key support.
Validated on additional IoT platforms.
Windows 10 IoT Core
WindRiver IDP
The default hash algorithm has changed. It is now SHA-512.
Functions that returned EpidNullPtrErr
now return EpidBadArgErr
instead.
Basic sign and verify functionality
Dynamic join support for member
Apache 2.0 License