Giter Site home page Giter Site logo

meetings's Introduction

Keylime

Slack CNCF chat Docs Status

Keylime

Keylime is an open-source scalable trust system harnessing TPM Technology.

Keylime provides an end-to-end solution for bootstrapping hardware rooted cryptographic trust for remote machines, the provisioning of encrypted payloads, and run-time system integrity monitoring. It also provides a flexible framework for the remote attestation of any given PCR (Platform Configuration Register). Users can create their own customized actions that will trigger when a machine fails its attested measurements.

Keylime's mission is to make TPM Technology easily accessible to developers and users alike, without the need for a deep understanding of the lower levels of a TPM's operations. Amongst many scenarios, it well suited to tenants who need to remotely attest machines not under their own full control (such as a consumer of hybrid cloud or a remote Edge / IoT device in an insecure physical tamper prone location.)

Keylime can be driven with a CLI application and a set of RESTful APIs.

Keylime consists of three main components; The Verifier, Registrar and the Agent.

  • The Verifier continuously verifies the integrity state of the machine that the agent is running on.

  • The Registrar is a database of all agents registered with Keylime and hosts the public keys of the TPM vendors.

  • The Agent is deployed to the remote machine that is to be measured or provisioned with secrets stored within an encrypted payload released once trust is established.

Rust based Keylime Agent

The verifier, registrar, and agent are all developed in Python and situated in this repository keylime. The agent was ported to the Rust programming language. The code can be found in the rust-keylime repository.

The decision was made to port the agent to Rust, as rust is a low-level performant systems language designed with security as a central tenet, by means of the rust compiler's ownership model.

Starting with the 0.1.0 release of the Rust based Keylime agent, this agent is now the official agent.

IMPORTANT: The Python version is deprecated and will be removed with the next major version (7.0.0)!

TPM Support

Keylime supports TPM version 2.0.

Keylime can be used with a hardware TPM, or a software TPM emulator for development, testing, or demonstration purposes. However, DO NOT USE Keylime in production with a TPM emulator! A software TPM emulator does not provide a hardware root of trust and dramatically lowers the security benefits of using Keylime.

A hardware TPM should always be used when real secrets and trust is required.

Table of Contents

Installation

To install Keylime refer to the instructions found in the documentation.

Usage

Configuring Keylime

Keylime puts its configuration in /etc/keylime/*.conf or /usr/etc/keylime/*.conf. It will also take an alternate location for the config in the environment var keylime_{VERIFIER,REGISTRAR,TENANT,CA,LOGGING}_CONFIG.

Those files are documented with comments and should be self-explanatory in most cases.

Running Keylime

Keylime has three major component services that run: the registrar, verifier, and the agent:

  • The registrar is a simple HTTPS service that accepts TPM public keys. It then presents an interface to obtain these public keys for checking quotes.

  • The verifier is the most important component in Keylime. It does initial and periodic checks of system integrity and supports bootstrapping a cryptographic key securely with the agent. The verifier uses mutual TLS for its control interface.

    By default, the verifier will create appropriate TLS certificates for itself in /var/lib/keylime/cv_ca/. The registrar and tenant will use this as well. If you use the generated TLS certificates then all the processes need to run as root to allow reading of private key files in /var/lib/keylime/.

  • The agent is the target of bootstrapping and integrity measurements. It puts its stuff into /var/lib/keylime/.

Provisioning

To kick everything off you need to tell Keylime to provision a machine. This can be done with the Keylime tenant.

Provisioning with keylime_tenant

The keylime_tenant utility can be used to provision your agent.

As an example, the following command tells Keylime to provision a new agent at 127.0.0.1 with UUID d432fbb3-d2f1-4a97-9ef7-75bd81c00000 and talk to a verifier at 127.0.0.1. Finally, it will encrypt a file called filetosend and send it to the agent allowing it to decrypt it only if the configured TPM policy is satisfied:

keylime_tenant -c add -t 127.0.0.1 -v 127.0.0.1 -u D432fbb3-d2f1-4a97-9ef7-75bd81c00000 -f filetosend

To stop Keylime from requesting attestations:

keylime_tenant -c delete -t 127.0.0.1 -u d432fbb3-d2f1-4a97-9ef7-75bd81c00000

For additional advanced options for the tenant utility run:

keylime_tenant -h

Documentation on how to create runtime and measured boot policies can be found in the Keylime User Guide.

Systemd service support

The directory services/ includes systemd service files for the verifier, agent and registrar.

You can install the services with the following command:

sudo ./services/installer.sh

Once installed, you can run and inspect the services keylime_verifier and keylime_registrar via systemctl. The Rust agent repository also contains a systemd service file for the agent.

Request a feature

Keylime feature requests are tracked as enhancements in the enhancements repository

The enhancement process has been implemented to provide a way to review and assess the impact(s) of significant changes to Keylime.

Security Vulnerability Management Policy

If you have found a security vulnerability in Keylime and would like to report, first of all: thank you.

Please contact us directly at [email protected] for any bug that might impact the security of this project. Do not use a Github issue to report any potential security bugs.

Project Meetings

We meet on the fourth Wednesday each month @ 15:30 GMT to 16:30. Anyone is welcome to join the meeting.

The meeting is normally announced on CNCF chat (Slack)

Meeting agenda are hosted and archived in the meetings repo as GitHub issues.

Contributing: First Timers Support

We welcome new contributors to Keylime of any form, including those of you who maybe new to working in an open source project.

So if you are new to open source development, don't worry, there are a myriad of ways you can get involved in our open source project. As a start, try exploring issues with good first issue label. We understand that the process of creating a Pull Request (PR) can be a barrier for new contributors. These issues are reserved for new contributors like you. If you need any help or advice in making the PR, feel free to jump into our chat room and ask for help there.

Your contribution is our gift to make our project even more robust. Check out CONTRIBUTING.md to find out more about how to contribute to our project.

Keylime uses Semantic Versioning. It is recommended you also read the RELEASE.md file to learn more about it and familiarise yourself with simple of examples of using it.

Testing

Please, see TESTING.md for details.

Additional Reading

Errata from the ACSAC Paper

We discovered a typo in Figure 5 of the published ACSAC paper. The final interaction between the Tenant and Cloud Verifier showed an HMAC of the node's ID using the key K_e. This should be using K_b. The paper in this repository and the ACSAC presentation have been updated to correct this typo.

The software that runs on the system with the TPM is now called the Keylime agent rather than the node. We have made this change in the documentation and code. The ACSAC paper will remain as it was published using node.

Disclaimer

DISTRIBUTION STATEMENT A. Approved for public release: distribution unlimited.

This material is based upon work supported by the Assistant Secretary of Defense for Research and Engineering under Air Force Contract No. FA8721-05-C-0002 and/or FA8702-15-D-0001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Assistant Secretary of Defense for Research and Engineering.

Keylime's license was changed from BSD Clause-2 to Apache 2.0. The original BSD Clause-2 licensed code can be found on the MIT GitHub organization.

meetings's People

Contributors

axelsimon avatar lukehinds avatar mpeters avatar ths-on avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

meetings's Issues

Meeting 04/03/20

Meeting 16/10/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Fedora packaging:

copr

https://copr.fedorainfracloud.org/coprs/lhinds/Keylime/

dnf copr enable lhinds/Keylime
dnf install keylime

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

tools-versions:

f-strings

HW tpm support yaml formatting

Keylime Raspberry Pi

Rust Agent

Documentation help:

vTPM port

Need Help!

Parked

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 11/12/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

vTPM project

prototype is complete:

Fedora packaging:

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

blocked:

Keylime Raspberry Pi

keylime/keylime#190

UI Work

@amylily1011

Rust Agent

working on hooking code together.

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port
** keylime/rust-keylime#75

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 17/04/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Actions

Meeting notes

New Feature

Everyone likes the new feature, but we should be careful we don't break old feature.

Meeting 03/04/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Actions

Meeting notes

New Feature

Everyone likes the new feature, but we should be careful we don't break old feature.

Meeting 04/09/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Implement rhboot keylime/keylime#63 @lukehinds
Fedora packaging (complete py3 first) @lukehinds

Meeting 26/02/20

Meeting time, always every Wednesday @ 15:30 UTC, check below for your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Keylime+Meeting&iso=20200129T1530&p1=1440&am=30

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

UI Work

@amylily1011

https://docs.google.com/document/d/1Sa8ErJwrg8IRD0dMe4VPdHSNmMMt4XFBxt9ixnMsnSQ/edit
keylime/keylime#202

Keylime Auth

https://docs.google.com/document/d/17_4aRxpnLRVJ0P0_bjptujklrL2mr5-gXScSRKF9yKw/edit#
keylime/keylime#130

WIP patch: keylime/keylime#255

Action Levels

@rajdroid keylime/keylime#155

Free BSD port

@nabilschear keylime/keylime#254

Keylime Pi-3

Need help!

Documentation help:

Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

Parked:

vTPM project

prototype is complete:

@galmasi looking to work on this!

Keylime Raspberry Pi

keylime/keylime#190

Need someone to test out.

Rust Port

keylime/keylime#203

Meeting 09/10/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Fedora packaging:

copr

https://copr.fedorainfracloud.org/coprs/lhinds/Keylime/

dnf copr enable lhinds/Keylime
dnf install keylime

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

tools-versions:

f-strings

Documentation help:

vTPM port

Need Help!

Parked

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 24/04/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

pull reviews

Parked

Any other business.

Meeting 07/08/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Implement rhboot keylime/keylime#63 @lukehinds
Fedora packaging (complete py3 first) @lukehinds

Meeting 13/03/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Actions

Meeting notes

TPM 2.0 port

@leonjia0112 commented that the following are required first:

keylime/rust-keylime#28
keylime/rust-keylime#40

@leonjia0112 States progress is 50% after PR#28

vTPM support

@lukehinds to acquire machine for @nabilschear and set up the swtpm

@nabilschear commented:

I think that deepquote won't be very difficult. that change will go into swtpm2 emulator
i need to look at how we can register and manage vtpms that part will be different from kvm and xen

Discuss RPM packaging structure

@leonjia0112 will package separate

@nabilschear mentioned we should make sure folks understand the security context. @nabilschear opened keylime/keylime#78

Implement rhboot

@lukehinds will gather steps to install rhboot shim

Unexpected Get quote

keylime_ima_emulator incorrectly parses token

@jetwhiz has a patch, will supply to @lukehinds to test.

Back-porting the Intel tpm2-tools to the 3.X branch

@lukehinds to contact maintainer

Any other business

@jetwhiz to supply IMA set up steps with @lukehinds

@lukehinds to work on @nabilschear access rights

Meeting 30/10/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

enable provider verifier to run on the same machine as a tenant verifier

keylime/keylime#194

Fedora packaging:

copr

https://copr.fedorainfracloud.org/coprs/lhinds/Keylime/

dnf copr enable lhinds/Keylime
dnf install keylime

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

Keylime Raspberry Pi

keylime/keylime#190

invoke_get_quote fails on tornado 6.0

keylime/keylime#196

f-strings

keylime/keylime#141 @amylily1011

HW tpm support yaml formatting

keylime/keylime#160

Keylime Raspberry Pi

keylime/keylime#190

Rust Agent

config parser keylime/rust-keylime#77
working on hooking code together.

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

vTPM port

keylime/keylime#29 @nabilschear @lukehinds @ozoder @cjustacoder

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port
** keylime/rust-keylime#75

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 15/05/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Any other business.

Actions

Meeting 18/09/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Implement rhboot keylime/keylime#63 @lukehinds
Fedora packaging (complete py3 first) @lukehinds

Meeting 12/06/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 27/03/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Actions

@lukehinds to investigate @frozencemetery 's suggestion of a keylime/infra repo
@lukehinds to meet with @jetwhiz to discuss rhboot implementation
@leonjia0112 to clean up old TPM 1.2 PR's

Meeting minutes

Luke Hinds @lukehinds 15:03
ping @/all

Andrew Toth @atothRedHat 15:03
there we go, I thought my gitter was hosed :-)

Luke Hinds @lukehinds 15:03
agenda: #3

leonjia0112 @leonjia0112 15:04
Hi!

Luke Hinds @lukehinds 15:04
please take a look and if any additions needed, please let me know

Robbie Harwood @frozencemetery 15:04
hello

Luke Hinds @lukehinds 15:05
i just updated TPM 2.0 port with @leonjia0112 PR keylime/rust-keylime#54
Topic: TPM 2.0 port keylime/rust-keylime#44 @mbestavros @leonjia0112
so getting close fellows?

leonjia0112 @leonjia0112 15:06
TPM2.0 porting is partial done with the existing functions of the repo.
Working on implementing the remaining functions in TPM2.0

Luke Hinds @lukehinds 15:07
will those go into the same PR @leonjia0112 ?

leonjia0112 @leonjia0112 15:07
create_deep_quote (vtpm) is set with a placeholder for now

Luke Hinds @lukehinds 15:07
yep, that makes sense

leonjia0112 @leonjia0112 15:07
I think there will be in the same PR as @frozencemetery suggested

Luke Hinds @lukehinds 15:07
great

leonjia0112 @leonjia0112 15:08
Now it is about 30% - 40% done of TPM2.0 functions overall

Luke Hinds @lukehinds 15:08
There are a few old PR's that might be stale now, if we are no longer maintaining TPM .12 in the rust node.

leonjia0112 @leonjia0112 15:09
I will close those stale PRs with TPM1.2

Luke Hinds @lukehinds 15:09
@leonjia0112 - thanks
topic: Cross-project strategy between python-keylime / rust-keylime.

leonjia0112 @leonjia0112 15:10
thx!

Luke Hinds @lukehinds 15:10
so for this one was born out of a discussion around CI testing.
when 2.0 port is complete, it makes sense to test the rust node against the registrar and verififer in CI
so we can be sure we capture anything that breaks either project.

Robbie Harwood @frozencemetery 15:12
agreed
that sounds good

Luke Hinds @lukehinds 15:13
so we need to think about in which repo we test.
I believe it would need to be both...
A PR is made to python-keylime , we build the rust node and test against it.
A PR is made to rust-keylime., the python registrar and verifier is built and we test there.
its seems like duplicate jobs, but I am not sure that can be avoided just because of a how PR works within git

Robbie Harwood @frozencemetery 15:15
we could have a separate repo for infrastructure for that... not having looked very hard at how python-keylime is tested, is that something that can be done in (e.g.) Travis, or do we need a custom VM?

Luke Hinds @lukehinds 15:15
that's not a bad idea.
in python-keylime we have some docker containers which spin up fed 29 with a TPM emu
the part I am not sure of , is travis needs the patch / PR to test against..I don't know if anotgher repo would be able to gran that - if that makes sense?

Charlie @jetwhiz 15:17
I'm here, Nabil will come soon I think

Luke Hinds @lukehinds 15:17
hey @jetwhiz

Robbie Harwood @frozencemetery 15:17
each repo could have a basic travis.yml that clones the infrastructure repo and runs CI out of there?

Charlie @jetwhiz 15:17
hey @lukehinds , just catching up on the chat log

Robbie Harwood @frozencemetery 15:17
or we could do something else entirely :)

Luke Hinds @lukehinds 15:19
I like the idea @frozencemetery , let me investigate. having a keylime/infra would be v useful. As we have ansible CI now, and we might want to do RPM lint checks etc.
that way we can have all our scripts and tricks in a single repo.
the other x-project tasks will be reviewing docs, README etc to make users aware they should use the rust client.
I have a colleage at RH who is interested in looking at early boot introduction of the node as well. She should join us around then I hope/

nabilschear @nabilschear 15:21
i'm here
sorry i'm late

Luke Hinds @lukehinds 15:21
no worries @nabilschear
ok, lets move on and I will play with robbies infra repo idea.
vTPM port keylime/keylime#29 @nabilschear @lukehinds
not much more to report here, I have a doc I am working on with @nabilschear

nabilschear @nabilschear 15:22
I've not been able to look at this yet.

Luke Hinds @lukehinds 15:22
this week I have had some internal stuff to clear off my desk.
me too!

nabilschear @nabilschear 15:23
i'll try to get something very basic written down so that we can get in touch with stefan
i think that once we can get that conversation started, progress will ramp up

Luke Hinds @lukehinds 15:23
I agree. lets revisit next week.
topic: Implement rhboot keylime/keylime#63 @lukehinds
I have done some poking around here and need to sync up with @jetwhiz

Charlie @jetwhiz 15:24
were you able to get a machine up and running with rhboot writing out its PCR values?

Luke Hinds @lukehinds 15:24
Had an email chat with Peter Jones & Javier Martinez Canillas who both work on rhboot
@jetwhiz yep!
turns out its active in RHEL and Fedora already!

Charlie @jetwhiz 15:25
awesome, I'll have to check on our TPM laptop to see

Luke Hinds @lukehinds 15:25
Its writes to the PCRs if UEFI losds the shim..

Charlie @jetwhiz 15:26
i can help you with getting Keylime to attest those PCR values

Luke Hinds @lukehinds 15:26
I am working on seeing if we can use the UEFI OVMF stuff in QEMU to boot a VM with uefi enabled and then have the swtpm running

Charlie @jetwhiz 15:26
we can even update the trusted grub demo script to use rhboot (if any set up is needed)

Luke Hinds @lukehinds 15:26
Peter had a play with this and hit some issues, but it should be doable
@jetwhiz that would be great
I think getting this rhboot in place place puts us in a very strong position then.
we have a trusted boot and trusted run time.

Charlie @jetwhiz 15:28
agree, do you need this ready before your demo meeting?

Luke Hinds @lukehinds 15:29
vtpm is of course important too, but a full protection system availble for bare metal is a great story for when we outreach and do some external evangelism
@jetwhiz that would be great, and happy to do what I can from here.
also @atothRedHat got accepted to demo keylime at the Red Hat Summit
would be great to have it available for there.

Andrew Toth @atothRedHat 15:30
+1

Charlie @jetwhiz 15:30
that's great news, when will that be held?

Andrew Toth @atothRedHat 15:30
May 2-4 I believe
in boston
get your passes now :-)

Robbie Harwood @frozencemetery 15:31
lol

Luke Hinds @lukehinds 15:31
@jetwhiz maybe I could set a meeting up with you, and we can set up an attack plan

Charlie @jetwhiz 15:32
that sounds good, especially to make sure we're ready for @atothRedHat 's demo

Andrew Toth @atothRedHat 15:32
(correction MAY 7-9 https://www.redhat.com/en/summit/2019)

Luke Hinds @lukehinds 15:32
ok, Backport 3.x TPM2-Tools keylime/keylime#92 @jetwhiz
we can skip over the above as @jetwhiz is on the case here, but its fresh from yesterday
mainly have it there to track
Python 3 support keylime/keylime#32
For this, @jetwhiz I would dump the code you have up as a py3 branch and I will take a look at doing the port
or find someone that can help. I don't want you bogged down with stuff like this.

Charlie @jetwhiz 15:34
will do, it's a bit outdated but it will give some guidance on how to resolve some issues

Luke Hinds @lukehinds 15:34
that's fine. I have done a few py2>py3 ports so I should be able to work it out.
ok, speeding on as we are at the 30 min mark
website keylime/keylime#35 @atothRedHat
anything new @atothRedHat , fine if not, as you only recently took it on.

Andrew Toth @atothRedHat 15:37
not yet, redirected to learning for the demo/talk generation

Luke Hinds @lukehinds 15:37
no worries
PRs https://github.com/keylime/python-keylime/pulls
I need to clean up mine, will get onto that.
@jetwhiz , I am fine with your approach for initramfs as long as it all tests out ok for you.
rust PR's: https://github.com/keylime/rust-keylime/pulls

Charlie @jetwhiz 15:38
ok, sounds good

Luke Hinds @lukehinds 15:39
anything key here rust folks, I guess the list will be a little shorter once the 1.2 stuff is pruned?

Robbie Harwood @frozencemetery 15:39
I guess mbestavros isn't here, but he doesn't have anything open right now

Mark Bestavros @mbestavros 15:39
I'm here
I'm working on POST handling for the Rust client

Robbie Harwood @frozencemetery 15:39
oh hello! Sorry :)

Mark Bestavros @mbestavros 15:40
but no PRs up at the moment

Luke Hinds @lukehinds 15:40
ok, sounds good - thanks @mbestavros
so I think we can close now, I will update the meeting minutes and thanks @/all for turning up!
opps.

Meeting 29/01/20

Meeting 29/05/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 26/06/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 11/09/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Implement rhboot keylime/keylime#63 @lukehinds
Fedora packaging (complete py3 first) @lukehinds

Meeting 28/08/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Implement rhboot keylime/keylime#63 @lukehinds
Fedora packaging (complete py3 first) @lukehinds

Meeting 01/05/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

pull reviews

Parked

Any other business.

Meeting 22/05

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 15/04/20

Meeting time, always every Wednesday @ 15:30 UTC, check below for your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Keylime+Meeting&iso=20200129T1530&p1=1440&am=30

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

UI Work

@amylily1011

https://docs.google.com/document/d/1Sa8ErJwrg8IRD0dMe4VPdHSNmMMt4XFBxt9ixnMsnSQ/edit
keylime/keylime#202

ORM Support

merged keylime/keylime#255

Keylime Auth

In Progress.

https://docs.google.com/document/d/17_4aRxpnLRVJ0P0_bjptujklrL2mr5-gXScSRKF9yKw/edit#

Action Levels

@rajdroid keylime/keylime#155

Please review: https://docs.google.com/document/d/13TvF9B6b4gSq_aA6cuDU-_LRqa_RR6K9ZynW8P2m_Us/edit?usp=sharing

CFSSL separation

@bu3alwa
https://docs.google.com/document/d/1a1BRR0fWsKH-hZKa4U9n0zxY9ieJW3eHdtZVX8OIpyw/edit?ts=5e8821c0
keylime/keylime#145
keylime/keylime#268

TSS port

@frozencemetery williamcroberts keylime/keylime#265

CI Issues

@lukehinds keylime/keylime#264

Support more IMA hashing algorithms

@jetwhiz keylime/keylime#30

Free BSD port

@nabilschear keylime/keylime#254

Documentation help:

Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

Parked:

vTPM project

prototype is complete:

@galmasi looking to work on this!

Keylime Raspberry Pi

keylime/keylime#190

Need someone to test out.

Rust Port

keylime/keylime#203

Meeting 05/02/20

Meeting 25/03/20

Meeting time, always every Wednesday @ 15:30 UTC, check below for your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Keylime+Meeting&iso=20200129T1530&p1=1440&am=30

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

UI Work

@amylily1011

https://docs.google.com/document/d/1Sa8ErJwrg8IRD0dMe4VPdHSNmMMt4XFBxt9ixnMsnSQ/edit
keylime/keylime#202

Keylime Auth

Please review keylime/keylime#255

Will merge with 'lazy consensus' on 30/02

https://docs.google.com/document/d/17_4aRxpnLRVJ0P0_bjptujklrL2mr5-gXScSRKF9yKw/edit#

Action Levels

@rajdroid keylime/keylime#155

Please review: https://docs.google.com/document/d/13TvF9B6b4gSq_aA6cuDU-_LRqa_RR6K9ZynW8P2m_Us/edit?usp=sharing

Free BSD port

@nabilschear keylime/keylime#254

Keylime Pi-3

Need help!

Documentation help:

Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

Parked:

vTPM project

prototype is complete:

@galmasi looking to work on this!

Keylime Raspberry Pi

keylime/keylime#190

Need someone to test out.

Rust Port

keylime/keylime#203

Meeting 17/07/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 22/01/20

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

vTPM project

prototype is complete:

Keylime Raspberry Pi

keylime/keylime#190

UI Work

@amylily1011

https://docs.google.com/document/d/1Sa8ErJwrg8IRD0dMe4VPdHSNmMMt4XFBxt9ixnMsnSQ/edit

Keylime Auth

https://docs.google.com/document/d/17_4aRxpnLRVJ0P0_bjptujklrL2mr5-gXScSRKF9yKw/edit#

OpenStack

keylime/keylime#248 @Epiphyll

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port

Rust port

Meeting 10/07/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 03/07/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 13/11/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

enable provider verifier to run on the same machine as a tenant verifier

keylime/keylime#194

Fedora packaging:

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

blocked:

invoke_get_quote fails on tornado 6.0

keylime/keylime#196

Tools issues

HW tpm support yaml formatting

keylime/keylime#160
keylime/keylime#206
keylime/keylime#208
keylime/keylime#204

Keylime Raspberry Pi

keylime/keylime#190

UI Work

@amylily1011

Rust Agent

working on hooking code together.

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

vTPM port

keylime/keylime#29 @nabilschear @lukehinds @ozoder @cjustacoder

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port
** keylime/rust-keylime#75

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 31/07/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 06/11/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

enable provider verifier to run on the same machine as a tenant verifier

keylime/keylime#194

Fedora packaging:

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

blocked:

invoke_get_quote fails on tornado 6.0

keylime/keylime#196

Keylime Raspberry Pi

keylime/keylime#190

HW tpm support yaml formatting

keylime/keylime#160

Rust Agent

working on hooking code together.

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

vTPM port

keylime/keylime#29 @nabilschear @lukehinds @ozoder @cjustacoder

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port
** keylime/rust-keylime#75

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 20/03/2019

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Previous meeting minutes:

#1

Topics

Actions

Meeting notes

New Feature

Meeting 10/04/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Actions

Meeting Log

hi @/all
meeting time!
Andrew Toth @atothRedHat Apr 10 16:01
o/
Robbie Harwood @frozencemetery Apr 10 16:01
hello
Luke Hinds @lukehinds Apr 10 16:01
looks like I have the right time this week!
Mark Bestavros @mbestavros Apr 10 16:02
Hello!
leonjia0112 @leonjia0112 Apr 10 16:02
Hello!
Luke Hinds @lukehinds Apr 10 16:02
ok ,agenda #5
Charlie @jetwhiz Apr 10 16:02
Hey all!
Luke Hinds @lukehinds Apr 10 16:02
apologies, I never sent this out before.
will let you all read over quickly, and just say here if you have an addition
TPM 2.0 port keylime/rust-keylime#44 @mbestavros @leonjia0112
** keylime/rust-keylime#54
leonjia0112 @leonjia0112 Apr 10 16:05
keylime/rust-keylime#54 This should be good for a review by this week.
Luke Hinds @lukehinds Apr 10 16:05
.
that would be good, I would like to help you test this and try it out against an emulator
will keep an eye out for the patch landing
leonjia0112 @leonjia0112 Apr 10 16:06
I have a question for the vtpm though.
Because I asked Charlie about this, he mentioned this is not done yet. Once this is done, would it be another tpm2-tools command?
Charlie @jetwhiz Apr 10 16:08
yeah, there will likely be something along the lines of create_deep_quote and check_deep_quote tpm2-tools
Luke Hinds @lukehinds Apr 10 16:09
ok @leonjia0112 ?
leonjia0112 @leonjia0112 Apr 10 16:09
Got it. Thanks!
Luke Hinds @lukehinds Apr 10 16:09
vTPM port keylime/keylime#29 @nabilschear @lukehinds
no update here, I do plan to get on this and have a doc started with @nabilschear - lets keep it here for tracking though
Implement rhboot keylime/keylime#63 @lukehinds
We now have this working, I will update this with some dressing up I plan to do, will get consensus first in a GH issue.
Backport 3.x TPM2-Tools keylime/keylime#92 @jetwhiz
Charlie @jetwhiz Apr 10 16:11
I worked on that a little bit this week -- I have the attestastion.sh test passing with 3.X tpm2-tools. next step is figuring out how to wire 3.X tools into Keylime (and keep support for master/4.X tpm2-tools)
Luke Hinds @lukehinds Apr 10 16:12
awesome, thx @jetwhiz
nabilschear @nabilschear Apr 10 16:12
i'm finally here
Luke Hinds @lukehinds Apr 10 16:12
hi @nabilschear
what percentage would that put you at @jetwhiz ?
(work done)
Charlie @jetwhiz Apr 10 16:13
the tpm2-tools portion should be complete. wiring it into Keylime hasn't been started yet
Luke Hinds @lukehinds Apr 10 16:13
ok, sounds good
thanks for the update
Python 3 support keylime/keylime#32
ok, so plan to priortise this..I just want to land the agent rename patch first to save getting into merge hell
Two key things I think require this gets expediated attention:
https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal
2nd: I want to get the SPEC work into Fedora. I am an approved maintainer, so can go though the process of getting accepted, but would like to do that work with py3 support in place, in fact I have too.
but first need to sink this bad boy:
instance/node->agent (python / rust) keylime/keylime#97 @lukehinds
Charlie @jetwhiz Apr 10 16:17
Do you still need me to push that old py3 branch @lukehinds ? I think I forgot to do that last time ...
nabilschear @nabilschear Apr 10 16:17
FYI: i'm out on vacation next week, so i'll try to look at #97 before i go and make some progress on the vtpm plan
Luke Hinds @lukehinds Apr 10 16:17
@jetwhiz , you can do - I can use it as a reference, would be intersting to see.
thanks @nabilschear
Charlie @jetwhiz Apr 10 16:18
ok, some of the biggest changes were to installer.sh etc., since I was trying to support both py2 and py3
Luke Hinds @lukehinds Apr 10 16:19
so that should be simple, because we plan to drop py2 (i think))?
<goes to check|>
Charlie @jetwhiz Apr 10 16:19
sorry, not py2. i think the issue was debian vs. fedora
Luke Hinds @lukehinds Apr 10 16:19
ahh ok
I am happy to take that on as part of the patch
nabilschear @nabilschear Apr 10 16:19
i believe we should drop py2 support
Charlie @jetwhiz Apr 10 16:19
yeah it would be a nightmare to support both
Luke Hinds @lukehinds Apr 10 16:19
that's actually a good point, i need to think of not just the code, but installers and requirements.txt
Charlie @jetwhiz Apr 10 16:20
yeah installer.sh was one of the trickier parts if I remember correctly
Luke Hinds @lukehinds Apr 10 16:20
one more point on the node > agent rename, I will take that on for the rust code base. I really need to be more active there, so would be a good motivator
Charlie @jetwhiz Apr 10 16:20
fedora, red hat and debian all have their own python3 ways of doing things
Luke Hinds @lukehinds Apr 10 16:21
@jetwhiz yep, different naming etc..
website keylime/keylime#35 @atothRedHat
so we have a blog now as mentioned last week,
happy to accept content!
just clone https://github.com/keylime/keylime.github.io
Andrew Toth @atothRedHat Apr 10 16:23
yep thanks to the illustrious @lukehinds
Luke Hinds @lukehinds Apr 10 16:23
make an entry into _posts using markdown!
@nabilschear / @jetwhiz , if you have any old scribblings hanging around, post them up.
it could just be thoughts on the general topic of trust and compute
Charlie @jetwhiz Apr 10 16:24
nice, do we want to link the site to the github page, or is it not fully-ready yet?
Luke Hinds @lukehinds Apr 10 16:24
we have it at the top here: https://github.com/keylime
nabilschear @nabilschear Apr 10 16:24
maybe some walkthrough posts that help get the demos up and running?
Luke Hinds @lukehinds Apr 10 16:25
@nabilschear would be great!
@jetwhiz done!
Charlie @jetwhiz Apr 10 16:25
ah i see, isn't it possible to put links and keywords at the top of the GitHub repos as well?
Luke Hinds @lukehinds Apr 10 16:26
just addded the link
Charlie @jetwhiz Apr 10 16:26
thanks, looks good!
on the website, it looks like the "Full Documentation" link needs to be updated (though the docs aren't ready yet)
Luke Hinds @lukehinds Apr 10 16:27
@jetwhiz yep, that will eventually be render of /docs
I could disable the button for now.
Charlie @jetwhiz Apr 10 16:27
i think the docs button is okay, the link under it dumps people to: "https://keylime.github.io/<read-the-docs-link"
Luke Hinds @lukehinds Apr 10 16:28
oh i see!
i will fix that
nabilschear @nabilschear Apr 10 16:28
i gotta run
talk to you all later!
Luke Hinds @lukehinds Apr 10 16:28
np @nabilschear
I think we are at the end now, unless someone has a burning item?
Charlie @jetwhiz Apr 10 16:30
nothing here, i'll check out the node->agent PR this week
is the PR the same as the old one, or has more been changed?
Luke Hinds @lukehinds Apr 10 16:31
Its pretty much the same, I went through all @nabilschear commits and your review about wrong naming in the javascript functions (parentNode)
this time though I did every change manually
It took longer, but more reliable.
thanks a lot for reviewing again, once we land that patch I will get the py3 patch built on top
Charlie @jetwhiz Apr 10 16:32
sounds good, i'll check it out
Luke Hinds @lukehinds Apr 10 16:32
thanks!
Charlie @jetwhiz Apr 10 16:32
it will definitely be good to have py3, too!
Luke Hinds @lukehinds Apr 10 16:32
ok, bye @/all and thanks for attending.
yep, I agree @jetwhiz , we can then get it in Fedoras main repository
Charlie @jetwhiz Apr 10 16:33
when is code freeze? november?
leonjia0112 @leonjia0112 Apr 10 16:34
Thanks!
Luke Hinds @lukehinds Apr 10 16:35
I would have to check again Charlie, i did remember hearing that date
will be sure I check this week

Meeting 12/02/20

Meeting 13/07/22

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Meeting Time and Link

Time: 13/07/22 16:30 BST, 17:30 CEST (https://www.timeanddate.com/worldclock/fixedtime.html?msg=Keylime+Meeting&iso=20220713T1630&p1=769&ah=1)
Link: https://uni-kiel.zoom.us/j/62054657022?pwd=VmdITDRNaE9oRDd2cXhScU8xOVlIUT09

Topics

Actions

  • @lukehinds looks into readthedocs changes required after the move
  • @THS-on adds good first enhancement tag
  • IBM will test the rust agent before end of Q3 at scale
  • Durable attestation proposal moves forward (only needs final checks before merging)
  • Next video meeting is again in two months

Meeting notes

Durable attestation

The proposal is mostly finished. For now the registrar needs to be trusted for the verification that the AK belongs to the EK.
Features will be added to Keylime over a series of PRs.

Rust Agent

The Rust agent has reached main feature parity. Timeline for switching at the end of Q3 is probably going to happen.
If the configuration format is changed to either toml or yaml, then this should happen before the official release.

@galmasi is going to look into Debian packaging for the agent. See also: keylime/rust-keylime#371

General Questions

  • fsverity supports IMA signatures
    • How does it exactly work?
    • Should we support it in Keylime?
  • Using DevID in Keylime
  • Attesting nftables
  • Might require more information about the entire network for online attestation and might not be possible on a agent by agent basis.

Meeting 25/09/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

  • 5.0.0 released!

  • Fedora packaging:

https://copr.fedorainfracloud.org/coprs/lhinds/Keylime/

dnf copr enable lhinds/Keylime
dnf install keylime

Parked

Meeting 05/06/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 08/05/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Any other business.

Meeting 19/06/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 24/07/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

Parked

Meeting 23/10/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

enable provider verifier to run on the same machine as a tenant verifier

keylime/keylime#194

Fedora packaging:

copr

https://copr.fedorainfracloud.org/coprs/lhinds/Keylime/

dnf copr enable lhinds/Keylime
dnf install keylime

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

Keylime Raspberry Pi

invoke_get_quote fails on tornado 6.0

f-strings

HW tpm support yaml formatting

Keylime Raspberry Pi

Rust Agent

Documentation help:

vTPM port

Need Help!

Parked

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 19/11/19

Project Board

https://github.com/orgs/keylime/projects/1

Attendees

Topics

TPM stack and tools assessment

We are seeing a lot of churn having to fix and change tpm code to resolves issues within tpm2-software projects. The past 2 weeks, all the time I have had to work on keylime has been trying to debug breakages with different tool versions or bugs in tpm2-abrmd.

From what I have seen there are two other possible alternatives

go-tpm looks promising, but its a go library and unless we want to create our own bindings, its not the most pragmatic of routes to pursue.

ibm-tss also looks promising, and also provides command line equivalents of the tss stack. It hjas a resource manager and works well with the simulator (as expected).

We can also consider that 3.x tools will be legacy soon, and 4.0 will stabilize.

Another option is to write our own tools that bind round tss, but we might find ourselves having to do a lot of maintenance work to keep up with tss changes.

enable provider verifier to run on the same machine as a tenant verifier

keylime/keylime#194

Fedora packaging:

bugzilla :

https://bugzilla.redhat.com/show_bug.cgi?id=1759276

blocked:

invoke_get_quote fails on tornado 6.0

keylime/keylime#196

Tools issues

HW tpm support yaml formatting

keylime/keylime#160
keylime/keylime#206
keylime/keylime#208
keylime/keylime#204

Keylime Raspberry Pi

keylime/keylime#190

UI Work

@amylily1011

Rust Agent

working on hooking code together.

Documentation help:

@atothRedHat @axelsimon
Three Part Key Derivation: keylime/keylime-docs#33
Introduce documentation on trusted payloads keylime/keylime-docs#41
Trusted Boot: keylime/keylime-docs#32
Secure payloads keylime/keylime-docs#41
System hardening: keylime/keylime-docs#31

vTPM port

keylime/keylime#29 @nabilschear @lukehinds @ozoder @cjustacoder

Need Help!

Validate against CoreOS: keylime/keylime#140
Separate out CFSSL: keylime/keylime#145
Shell exec hardening: keylime/keylime#131
Configurable Databases: keylime/keylime#130
Ansible integration: keylime/keylime#129

Parked

TPM 2.0 port
** keylime/rust-keylime#75

Implement rhboot

keylime/keylime#63 @lukehinds

Meeting 19/02/20

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.