Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define context formats #89

Open
kathrynfejer opened this issue Nov 7, 2018 · 3 comments
Open

Define context formats #89

kathrynfejer opened this issue Nov 7, 2018 · 3 comments

Comments

@kathrynfejer
Copy link
Contributor

In relation to discussion on #78:

In the client code of the handshake, we have initialize_{daa, certs, tcti}. Each of these must read in multiple pieces of information either from files(software DAA) or from the TPM's nvram. Could we create three different "contexts" or "certificates", so that we only need to read in 1 piece of data and then parse those? Those three being a group_context, a TLS root_cert and a xtt root_cert.

@zanebeckwith
Copy link
Collaborator

Regarding root certificates:

Yes, this should (now) be as simple as:

  • Updating xtt_initialize_server_root_certificate_context_ecdsap256 to take just a xtt_root_certificate, rather than the root id and pub key separately
    • To maintain backward-compatibility, we can leave the old version, taking the two separate pieces, too
  • Once that's done, we should remove the initialize_certs and lookup_certificate functions from client.c, and remove the global root ID and root cert. Instead, just read in the root cert and use it to initialize a root context (which lives in run_client, not as a global), and simply pass it directly to xtt_handshake_client_build_idclientattest without having to "look it up" (which we never actually were doing anyhow).

In the longer term, we can discuss if we want to transition our root cert format away from the current binary concatenation form, to just using a static x.509 (like we're doing with the client certs, except in this case parsing a cert, rather than building it).

@drbild
Copy link
Contributor

drbild commented Nov 28, 2018

In the longer term, we can discuss if we want to transition our root cert format away from the current binary concatenation form, to just using a static x.509 (like we're doing with the client certs, except in this case parsing a cert, rather than building it).

I think we should have a discussion about this soon (maybe later this week). We might not act on that immediately, but should at least decide on the file formats that we want.

@zanebeckwith
Copy link
Collaborator

Regarding the discussion on root cert formats, see the discussion in issue #67

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants